diff --git a/c/sqlite3.c b/c/sqlite3.c index 93537eb3..1954637c 100644 --- a/c/sqlite3.c +++ b/c/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.11.0. By combining all the individual C code files into this +** version 3.12.0. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -40,6 +40,14 @@ #ifndef _SQLITEINT_H_ #define _SQLITEINT_H_ +/* +** Make sure that rand_s() is available on Windows systems with MSVC 2005 +** or higher. +*/ +#if defined(_MSC_VER) && _MSC_VER>=1400 +# define _CRT_RAND_S +#endif + /* ** Include the header file used to customize the compiler options for MSVC. ** This should be done first so that it can successfully prevent spurious @@ -328,9 +336,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.11.0" -#define SQLITE_VERSION_NUMBER 3011000 -#define SQLITE_SOURCE_ID "2016-02-15 17:29:24 3d862f207e3adc00f78066799ac5a8c282430a5f" +#define SQLITE_VERSION "3.12.0" +#define SQLITE_VERSION_NUMBER 3012000 +#define SQLITE_SOURCE_ID "2016-03-29 10:14:15 e9bb4cf40f4971974a74468ef922bdee481c988b" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -1445,7 +1453,7 @@ struct sqlite3_vfs { const char *(*xNextSystemCall)(sqlite3_vfs*, const char *zName); /* ** The methods above are in versions 1 through 3 of the sqlite_vfs object. - ** New fields may be appended in figure versions. The iVersion + ** New fields may be appended in future versions. The iVersion ** value will increment whenever this happens. */ }; @@ -2037,6 +2045,20 @@ struct sqlite3_mem_methods { ** is enabled (using the [PRAGMA threads] command) and the amount of content ** to be sorted exceeds the page size times the minimum of the ** [PRAGMA cache_size] setting and this value. +** +** [[SQLITE_CONFIG_STMTJRNL_SPILL]] +**
SQLITE_CONFIG_STMTJRNL_SPILL +**
^The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which +** becomes the [statement journal] spill-to-disk threshold. +** [Statement journals] are held in memory until their size (in bytes) +** exceeds this threshold, at which point they are written to disk. +** Or if the threshold is -1, statement journals are always held +** exclusively in memory. +** Since many statement journals never become large, setting the spill +** threshold to a value such as 64KiB can greatly reduce the amount of +** I/O required to support statement rollback. +** The default value for this setting is controlled by the +** [SQLITE_STMTJRNL_SPILL] compile-time option. ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -2064,6 +2086,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_WIN32_HEAPSIZE 23 /* int nByte */ #define SQLITE_CONFIG_PCACHE_HDRSZ 24 /* int *psz */ #define SQLITE_CONFIG_PMASZ 25 /* unsigned int szPma */ +#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ /* ** CAPI3REF: Database Connection Configuration Options @@ -2121,11 +2144,25 @@ struct sqlite3_mem_methods { ** following this call. The second parameter may be a NULL pointer, in ** which case the trigger setting is not reported back.
** +**
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+**
^This option is used to enable or disable the two-argument +** version of the [fts3_tokenizer()] function which is part of the +** [FTS3] full-text search engine extension. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable fts3_tokenizer() or +** positive to enable fts3_tokenizer() or negative to leave the setting +** unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the new setting is not reported back.
+** ** */ -#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ -#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ -#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ +#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ +#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */ /* @@ -7706,7 +7743,7 @@ SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...) ** previously registered write-ahead log callback. ^Note that the ** [sqlite3_wal_autocheckpoint()] interface and the ** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will -** those overwrite any prior [sqlite3_wal_hook()] settings. +** overwrite any prior [sqlite3_wal_hook()] settings. */ SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( sqlite3*, @@ -8103,6 +8140,18 @@ SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); */ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); +/* +** CAPI3REF: Low-level system error code +** +** ^Attempt to return the underlying operating system error code or error +** number that caused the most reason I/O error or failure to open a file. +** The return value is OS-dependent. For example, on unix systems, after +** [sqlite3_open_v2()] returns [SQLITE_CANTOPEN], this interface could be +** called to get back the underlying "errno" that caused the problem, such +** as ENOSPC, EAUTH, EISDIR, and so forth. +*/ +SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3*); + /* ** CAPI3REF: Database Snapshot ** KEYWORDS: {snapshot} @@ -8171,7 +8220,11 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_get( ** the first operation, apart from other sqlite3_snapshot_open() calls, ** following the [BEGIN] that starts a new read transaction. ** ^A [snapshot] will fail to open if it has been overwritten by a -** [checkpoint]. +** [checkpoint]. +** ^A [snapshot] will fail to open if the database connection D has not +** previously completed at least one read operation against the database +** file. (Hint: Run "[PRAGMA application_id]" against a newly opened +** database connection in order to make it ready to use snapshots.) ** ** The [sqlite3_snapshot_open()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. @@ -9020,13 +9073,13 @@ struct fts5_api { ** The suggested maximum number of in-memory pages to use for ** the main database table and for temporary tables. ** -** IMPLEMENTATION-OF: R-31093-59126 The default suggested cache size -** is 2000 pages. +** IMPLEMENTATION-OF: R-30185-15359 The default suggested cache size is -2000, +** which means the cache size is limited to 2048000 bytes of memory. ** IMPLEMENTATION-OF: R-48205-43578 The default suggested cache size can be ** altered using the SQLITE_DEFAULT_CACHE_SIZE compile-time options. */ #ifndef SQLITE_DEFAULT_CACHE_SIZE -# define SQLITE_DEFAULT_CACHE_SIZE 2000 +# define SQLITE_DEFAULT_CACHE_SIZE -2000 #endif /* @@ -9039,8 +9092,9 @@ struct fts5_api { /* ** The maximum number of attached databases. This must be between 0 -** and 62. The upper bound on 62 is because a 64-bit integer bitmap -** is used internally to track attached databases. +** and 125. The upper bound of 125 is because the attached databases are +** counted using a signed 8-bit integer which has a maximum value of 127 +** and we have to allow 2 extra counts for the "main" and "temp" databases. */ #ifndef SQLITE_MAX_ATTACHED # define SQLITE_MAX_ATTACHED 10 @@ -9075,7 +9129,7 @@ struct fts5_api { ** The default size of a database page. */ #ifndef SQLITE_DEFAULT_PAGE_SIZE -# define SQLITE_DEFAULT_PAGE_SIZE 1024 +# define SQLITE_DEFAULT_PAGE_SIZE 4096 #endif #if SQLITE_DEFAULT_PAGE_SIZE>SQLITE_MAX_PAGE_SIZE # undef SQLITE_DEFAULT_PAGE_SIZE @@ -9156,7 +9210,7 @@ struct fts5_api { ** to the next, so we have developed the following set of #if statements ** to generate appropriate macros for a wide range of compilers. ** -** The correct "ANSI" way to do this is to use the intptr_t type. +** The correct "ANSI" way to do this is to use the intptr_t type. ** Unfortunately, that typedef is not available on all compilers, or ** if it is available, it requires an #include of specific headers ** that vary from one machine to the next. @@ -9180,21 +9234,6 @@ struct fts5_api { # define SQLITE_PTR_TO_INT(X) ((int)(X)) #endif -/* -** The SQLITE_WITHIN(P,S,E) macro checks to see if pointer P points to -** something between S (inclusive) and E (exclusive). -** -** In other words, S is a buffer and E is a pointer to the first byte after -** the end of buffer S. This macro returns true if P points to something -** contained within the buffer S. -*/ -#if defined(HAVE_STDINT_H) -# define SQLITE_WITHIN(P,S,E) \ - ((uintptr_t)(P)>=(uintptr_t)(S) && (uintptr_t)(P)<(uintptr_t)(E)) -#else -# define SQLITE_WITHIN(P,S,E) ((P)>=(S) && (P)<(E)) -#endif - /* ** A macro to hint to the compiler that a function should not be ** inlined. @@ -9323,7 +9362,7 @@ struct fts5_api { ** is set. Thus NDEBUG becomes an opt-in rather than an opt-out ** feature. */ -#if !defined(NDEBUG) && !defined(SQLITE_DEBUG) +#if !defined(NDEBUG) && !defined(SQLITE_DEBUG) # define NDEBUG 1 #endif #if defined(NDEBUG) && defined(SQLITE_DEBUG) @@ -9338,7 +9377,7 @@ struct fts5_api { #endif /* -** The testcase() macro is used to aid in coverage testing. When +** The testcase() macro is used to aid in coverage testing. When ** doing coverage testing, the condition inside the argument to ** testcase() must be evaluated both true and false in order to ** get full branch coverage. The testcase() macro is inserted @@ -9384,7 +9423,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int); #endif /* -** The ALWAYS and NEVER macros surround boolean expressions which +** The ALWAYS and NEVER macros surround boolean expressions which ** are intended to always be true or false, respectively. Such ** expressions could be omitted from the code completely. But they ** are included in a few cases in order to enhance the resilience @@ -9450,6 +9489,13 @@ SQLITE_PRIVATE void sqlite3Coverage(int); # undef SQLITE_NEED_ERR_NAME #endif +/* +** SQLITE_ENABLE_EXPLAIN_COMMENTS is incompatible with SQLITE_OMIT_EXPLAIN +*/ +#ifdef SQLITE_OMIT_EXPLAIN +# undef SQLITE_ENABLE_EXPLAIN_COMMENTS +#endif + /* ** Return true (non-zero) if the input is an integer that is too large ** to fit in 32-bits. This macro is used inside of various testcase() @@ -9728,8 +9774,9 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_UPLUS 156 #define TK_REGISTER 157 #define TK_ASTERISK 158 -#define TK_SPACE 159 -#define TK_ILLEGAL 160 +#define TK_SPAN 159 +#define TK_SPACE 160 +#define TK_ILLEGAL 161 /* The token codes above must all fit in 8 bits */ #define TKFLG_MASK 0xff @@ -9768,7 +9815,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); /* ** OMIT_TEMPDB is set to 1 if SQLITE_OMIT_TEMPDB is defined, or 0 -** afterward. Having this macro allows us to cause the C compiler +** afterward. Having this macro allows us to cause the C compiler ** to omit code used by TEMP tables without messy #ifndef statements. */ #ifdef SQLITE_OMIT_TEMPDB @@ -9807,7 +9854,7 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); /* ** If no value has been provided for SQLITE_MAX_WORKER_THREADS, or if -** SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it +** SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it ** to zero. */ #if SQLITE_TEMP_STORE==3 || SQLITE_THREADSAFE==0 @@ -9846,8 +9893,12 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); /* ** Macros to compute minimum and maximum of two numbers. */ -#define MIN(A,B) ((A)<(B)?(A):(B)) -#define MAX(A,B) ((A)>(B)?(A):(B)) +#ifndef MIN +# define MIN(A,B) ((A)<(B)?(A):(B)) +#endif +#ifndef MAX +# define MAX(A,B) ((A)>(B)?(A):(B)) +#endif /* ** Swap two objects of type TYPE. @@ -9955,7 +10006,7 @@ typedef INT8_TYPE i8; /* 1-byte signed integer */ ** 4 -> 20 1000 -> 99 1048576 -> 200 ** 10 -> 33 1024 -> 100 4294967296 -> 320 ** -** The LogEst can be negative to indicate fractional values. +** The LogEst can be negative to indicate fractional values. ** Examples: ** ** 0.5 -> -10 0.1 -> -33 0.0625 -> -40 @@ -9976,6 +10027,27 @@ typedef INT16_TYPE LogEst; # endif #endif +/* The uptr type is an unsigned integer large enough to hold a pointer +*/ +#if defined(HAVE_STDINT_H) + typedef uintptr_t uptr; +#elif SQLITE_PTRSIZE==4 + typedef u32 uptr; +#else + typedef u64 uptr; +#endif + +/* +** The SQLITE_WITHIN(P,S,E) macro checks to see if pointer P points to +** something between S (inclusive) and E (exclusive). +** +** In other words, S is a buffer and E is a pointer to the first byte after +** the end of buffer S. This macro returns true if P points to something +** contained within the buffer S. +*/ +#define SQLITE_WITHIN(P,S,E) (((uptr)(P)>=(uptr)(S))&&((uptr)(P)<(uptr)(E))) + + /* ** Macros to determine whether the machine is big or little endian, ** and whether or not that determination is run-time or compile-time. @@ -10021,7 +10093,7 @@ typedef INT16_TYPE LogEst; #define LARGEST_INT64 (0xffffffff|(((i64)0x7fffffff)<<32)) #define SMALLEST_INT64 (((i64)-1) - LARGEST_INT64) -/* +/* ** Round up a number to the next larger multiple of 8. This is used ** to force 8-byte alignment on 64-bit architectures. */ @@ -10115,7 +10187,7 @@ typedef INT16_TYPE LogEst; /* ** An instance of the following structure is used to store the busy-handler -** callback for a given sqlite handle. +** callback for a given sqlite handle. ** ** The sqlite.busyHandler member of the sqlite struct contains the busy ** callback for the database handle. Each pager opened via the sqlite @@ -10160,9 +10232,9 @@ struct BusyHandler { /* ** The following value as a destructor means to use sqlite3DbFree(). -** The sqlite3DbFree() routine requires two parameters instead of the -** one parameter that destructors normally want. So we have to introduce -** this magic value that the code knows to handle differently. Any +** The sqlite3DbFree() routine requires two parameters instead of the +** one parameter that destructors normally want. So we have to introduce +** this magic value that the code knows to handle differently. Any ** pointer will work here as long as it is distinct from SQLITE_STATIC ** and SQLITE_TRANSIENT. */ @@ -10189,16 +10261,16 @@ struct BusyHandler { SQLITE_API int SQLITE_STDCALL sqlite3_wsd_init(int N, int J); SQLITE_API void *SQLITE_STDCALL sqlite3_wsd_find(void *K, int L); #else - #define SQLITE_WSD + #define SQLITE_WSD #define GLOBAL(t,v) v #define sqlite3GlobalConfig sqlite3Config #endif /* ** The following macros are used to suppress compiler warnings and to -** make it clear to human readers when a function parameter is deliberately +** make it clear to human readers when a function parameter is deliberately ** left unused within the body of a function. This usually happens when -** a function is called via a function pointer. For example the +** a function is called via a function pointer. For example the ** implementation of an SQL aggregate step callback may not use the ** parameter indicating the number of arguments passed to the aggregate, ** if it knows that this is enforced elsewhere. @@ -10264,7 +10336,7 @@ typedef struct WhereInfo WhereInfo; typedef struct With With; /* -** Defer sourcing vdbe.h and btree.h until after the "u8" and +** Defer sourcing vdbe.h and btree.h until after the "u8" and ** "BusyHandler" typedefs. vdbe.h also requires a few of the opaque ** pointer types (i.e. FuncDef) defined above. */ @@ -10340,7 +10412,6 @@ SQLITE_PRIVATE int sqlite3BtreeSetSpillSize(Btree*,int); SQLITE_PRIVATE int sqlite3BtreeSetMmapLimit(Btree*,sqlite3_int64); #endif SQLITE_PRIVATE int sqlite3BtreeSetPagerFlags(Btree*,unsigned); -SQLITE_PRIVATE int sqlite3BtreeSyncDisabled(Btree*); SQLITE_PRIVATE int sqlite3BtreeSetPageSize(Btree *p, int nPagesize, int nReserve, int eFix); SQLITE_PRIVATE int sqlite3BtreeGetPageSize(Btree*); SQLITE_PRIVATE int sqlite3BtreeMaxPageCount(Btree*,int); @@ -11016,6 +11087,7 @@ SQLITE_PRIVATE void sqlite3VdbeUsesBtree(Vdbe*, int); SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe*, int); SQLITE_PRIVATE int sqlite3VdbeMakeLabel(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeRunOnlyOnce(Vdbe*); +SQLITE_PRIVATE void sqlite3VdbeReusable(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3*,Vdbe*); SQLITE_PRIVATE void sqlite3VdbeMakeReady(Vdbe*,Parse*); @@ -11319,7 +11391,6 @@ SQLITE_PRIVATE sqlite3_vfs *sqlite3PagerVfs(Pager*); SQLITE_PRIVATE sqlite3_file *sqlite3PagerFile(Pager*); SQLITE_PRIVATE sqlite3_file *sqlite3PagerJrnlFile(Pager*); SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager*); -SQLITE_PRIVATE int sqlite3PagerNosync(Pager*); SQLITE_PRIVATE void *sqlite3PagerTempSpace(Pager*); SQLITE_PRIVATE int sqlite3PagerIsMemdb(Pager*); SQLITE_PRIVATE void sqlite3PagerCacheStat(Pager *, int, int, int *); @@ -11535,7 +11606,6 @@ SQLITE_PRIVATE int sqlite3HeaderSizePcache1(void); /************** End of pcache.h **********************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ - /************** Include os.h in the middle of sqliteInt.h ********************/ /************** Begin file os.h **********************************************/ /* @@ -11798,6 +11868,7 @@ SQLITE_PRIVATE void sqlite3OsDlClose(sqlite3_vfs *, void *); #endif /* SQLITE_OMIT_LOAD_EXTENSION */ SQLITE_PRIVATE int sqlite3OsRandomness(sqlite3_vfs *, int, char *); SQLITE_PRIVATE int sqlite3OsSleep(sqlite3_vfs *, int); +SQLITE_PRIVATE int sqlite3OsGetLastError(sqlite3_vfs*); SQLITE_PRIVATE int sqlite3OsCurrentTimeInt64(sqlite3_vfs *, sqlite3_int64*); /* @@ -11887,6 +11958,36 @@ SQLITE_PRIVATE int sqlite3OsCloseFree(sqlite3_file *); /************** End of mutex.h ***********************************************/ /************** Continuing where we left off in sqliteInt.h ******************/ +/* The SQLITE_EXTRA_DURABLE compile-time option used to set the default +** synchronous setting to EXTRA. It is no longer supported. +*/ +#ifdef SQLITE_EXTRA_DURABLE +# warning Use SQLITE_DEFAULT_SYNCHRONOUS=3 instead of SQLITE_EXTRA_DURABLE +# define SQLITE_DEFAULT_SYNCHRONOUS 3 +#endif + +/* +** Default synchronous levels. +** +** Note that (for historcal reasons) the PAGER_SYNCHRONOUS_* macros differ +** from the SQLITE_DEFAULT_SYNCHRONOUS value by 1. +** +** PAGER_SYNCHRONOUS DEFAULT_SYNCHRONOUS +** OFF 1 0 +** NORMAL 2 1 +** FULL 3 2 +** EXTRA 4 3 +** +** The "PRAGMA synchronous" statement also uses the zero-based numbers. +** In other words, the zero-based numbers are used for all external interfaces +** and the one-based values are used internally. +*/ +#ifndef SQLITE_DEFAULT_SYNCHRONOUS +# define SQLITE_DEFAULT_SYNCHRONOUS (PAGER_SYNCHRONOUS_FULL-1) +#endif +#ifndef SQLITE_DEFAULT_WAL_SYNCHRONOUS +# define SQLITE_DEFAULT_WAL_SYNCHRONOUS SQLITE_DEFAULT_SYNCHRONOUS +#endif /* ** Each database file to be accessed by the system is an instance @@ -11899,6 +12000,7 @@ struct Db { char *zName; /* Name of this database */ Btree *pBt; /* The B*Tree structure for this database file */ u8 safety_level; /* How aggressive at syncing data to disk */ + u8 bSyncSet; /* True if "PRAGMA synchronous=N" has been run */ Schema *pSchema; /* Pointer to database schema (possibly shared) */ }; @@ -11909,7 +12011,7 @@ struct Db { ** the Schema for the TEMP databaes (sqlite3.aDb[1]) which is free-standing. ** In shared cache mode, a single Schema object can be shared by multiple ** Btrees that refer to the same underlying BtShared object. -** +** ** Schema objects are automatically deallocated when the last Btree that ** references them is destroyed. The TEMP Schema is manually freed by ** sqlite3_close(). @@ -11934,7 +12036,7 @@ struct Schema { }; /* -** These macros can be used to test, set, or clear bits in the +** These macros can be used to test, set, or clear bits in the ** Db.pSchema->flags field. */ #define DbHasProperty(D,I,P) (((D)->aDb[I].pSchema->schemaFlags&(P))==(P)) @@ -11998,13 +12100,15 @@ struct LookasideSlot { }; /* -** A hash table for function definitions. +** A hash table for built-in function definitions. (Application-defined +** functions use a regular table table from hash.h.) ** ** Hash each FuncDef structure into one of the FuncDefHash.a[] slots. -** Collisions are on the FuncDef.pHash chain. +** Collisions are on the FuncDef.u.pHash chain. */ +#define SQLITE_FUNC_HASH_SZ 23 struct FuncDefHash { - FuncDef *a[23]; /* Hash table for functions */ + FuncDef *a[SQLITE_FUNC_HASH_SZ]; /* Hash table for functions */ }; #ifdef SQLITE_USER_AUTHENTICATION @@ -12062,6 +12166,7 @@ struct sqlite3 { unsigned int openFlags; /* Flags passed to sqlite3_vfs.xOpen() */ int errCode; /* Most recent error code (SQLITE_*) */ int errMask; /* & result codes with this before returning */ + int iSysErrno; /* Errno value from last system error */ u16 dbOptFlags; /* Flags to enable/disable optimizations */ u8 enc; /* Text encoding */ u8 autoCommit; /* The auto-commit flag. */ @@ -12097,9 +12202,9 @@ struct sqlite3 { void *pTraceArg; /* Argument to the trace function */ void (*xProfile)(void*,const char*,u64); /* Profiling function */ void *pProfileArg; /* Argument to profile function */ - void *pCommitArg; /* Argument to xCommitCallback() */ + void *pCommitArg; /* Argument to xCommitCallback() */ int (*xCommitCallback)(void*); /* Invoked at every commit. */ - void *pRollbackArg; /* Argument to xRollbackCallback() */ + void *pRollbackArg; /* Argument to xRollbackCallback() */ void (*xRollbackCallback)(void*); /* Invoked at every commit. */ void *pUpdateArg; void (*xUpdateCallback)(void*,int, const char*,const char*,sqlite_int64); @@ -12132,7 +12237,7 @@ struct sqlite3 { VTable **aVTrans; /* Virtual tables with open transactions */ VTable *pDisconnect; /* Disconnect these in next sqlite3_prepare() */ #endif - FuncDefHash aFunc; /* Hash table of connection functions */ + Hash aFunc; /* Hash table of connection functions */ Hash aCollSeq; /* All collating sequences */ BusyHandler busyHandler; /* Busy callback */ Db aDbStatic[2]; /* Static space for the 2 default backends */ @@ -12144,8 +12249,8 @@ struct sqlite3 { i64 nDeferredImmCons; /* Net deferred immediate constraints */ int *pnBytesFreed; /* If not NULL, increment this in DbFree() */ #ifdef SQLITE_ENABLE_UNLOCK_NOTIFY - /* The following variables are all protected by the STATIC_MASTER - ** mutex, not by sqlite3.mutex. They are used by code in notify.c. + /* The following variables are all protected by the STATIC_MASTER + ** mutex, not by sqlite3.mutex. They are used by code in notify.c. ** ** When X.pUnlockConnection==Y, that means that X is waiting for Y to ** unlock so that it can proceed. @@ -12206,6 +12311,7 @@ struct sqlite3 { #define SQLITE_VdbeEQP 0x04000000 /* Debug EXPLAIN QUERY PLAN */ #define SQLITE_Vacuum 0x08000000 /* Currently in a VACUUM */ #define SQLITE_CellSizeCk 0x10000000 /* Check btree cell sizes on load */ +#define SQLITE_Fts3Tokenizer 0x20000000 /* Enable fts3_tokenizer(2) */ /* @@ -12259,27 +12365,33 @@ struct sqlite3 { /* ** Each SQL function is defined by an instance of the following -** structure. A pointer to this structure is stored in the sqlite.aFunc -** hash table. When multiple functions have the same name, the hash table -** points to a linked list of these structures. +** structure. For global built-in functions (ex: substr(), max(), count()) +** a pointer to this structure is held in the sqlite3BuiltinFunctions object. +** For per-connection application-defined functions, a pointer to this +** structure is held in the db->aHash hash table. +** +** The u.pHash field is used by the global built-ins. The u.pDestructor +** field is used by per-connection app-def functions. */ struct FuncDef { - i16 nArg; /* Number of arguments. -1 means unlimited */ + i8 nArg; /* Number of arguments. -1 means unlimited */ u16 funcFlags; /* Some combination of SQLITE_FUNC_* */ void *pUserData; /* User data parameter */ FuncDef *pNext; /* Next function with same name */ void (*xSFunc)(sqlite3_context*,int,sqlite3_value**); /* func or agg-step */ void (*xFinalize)(sqlite3_context*); /* Agg finalizer */ - char *zName; /* SQL name of the function. */ - FuncDef *pHash; /* Next with a different name but the same hash */ - FuncDestructor *pDestructor; /* Reference counted destructor function */ + const char *zName; /* SQL name of the function. */ + union { + FuncDef *pHash; /* Next with a different name but the same hash */ + FuncDestructor *pDestructor; /* Reference counted destructor function */ + } u; }; /* ** This structure encapsulates a user-function destructor callback (as ** configured using create_function_v2()) and a reference counter. When ** create_function_v2() is called to create a function with a destructor, -** a single object of this type is allocated. FuncDestructor.nRef is set to +** a single object of this type is allocated. FuncDestructor.nRef is set to ** the number of FuncDef objects created (either 1 or 3, depending on whether ** or not the specified encoding is SQLITE_ANY). The FuncDef.pDestructor ** member of each of the new FuncDef objects is set to point to the allocated @@ -12321,10 +12433,10 @@ struct FuncDestructor { ** used to create the initializers for the FuncDef structures. ** ** FUNCTION(zName, nArg, iArg, bNC, xFunc) -** Used to create a scalar function definition of a function zName +** Used to create a scalar function definition of a function zName ** implemented by C function xFunc that accepts nArg arguments. The ** value passed as iArg is cast to a (void*) and made available -** as the user-data (sqlite3_user_data()) for the function. If +** as the user-data (sqlite3_user_data()) for the function. If ** argument bNC is true, then the SQLITE_FUNC_NEEDCOLL flag is set. ** ** VFUNCTION(zName, nArg, iArg, bNC, xFunc) @@ -12343,8 +12455,8 @@ struct FuncDestructor { ** FUNCTION(). ** ** LIKEFUNC(zName, nArg, pArg, flags) -** Used to create a scalar function definition of a function zName -** that accepts nArg arguments and is implemented by a call to C +** Used to create a scalar function definition of a function zName +** that accepts nArg arguments and is implemented by a call to C ** function likeFunc. Argument pArg is cast to a (void *) and made ** available as the function user-data (sqlite3_user_data()). The ** FuncDef.flags variable is set to the value passed as the flags @@ -12352,28 +12464,28 @@ struct FuncDestructor { */ #define FUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } #define VFUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } #define DFUNCTION(zName, nArg, iArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } #define FUNCTION2(zName, nArg, iArg, bNC, xFunc, extraFlags) \ {nArg,SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL)|extraFlags,\ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, 0, 0} + SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } #define STR_FUNCTION(zName, nArg, pArg, bNC, xFunc) \ {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - pArg, 0, xFunc, 0, #zName, 0, 0} + pArg, 0, xFunc, 0, #zName, } #define LIKEFUNC(zName, nArg, arg, flags) \ {nArg, SQLITE_FUNC_CONSTANT|SQLITE_UTF8|flags, \ - (void *)arg, 0, likeFunc, 0, #zName, 0, 0} + (void *)arg, 0, likeFunc, 0, #zName, {0} } #define AGGREGATE(zName, nArg, arg, nc, xStep, xFinal) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName,0,0} + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName, {0}} #define AGGREGATE2(zName, nArg, arg, nc, xStep, xFinal, extraFlags) \ {nArg, SQLITE_UTF8|(nc*SQLITE_FUNC_NEEDCOLL)|extraFlags, \ - SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName,0,0} + SQLITE_INT_TO_PTR(arg), 0, xStep,xFinal,#zName, {0}} /* ** All current savepoints are stored in a linked list starting at @@ -12415,10 +12527,8 @@ struct Module { ** of this structure. */ struct Column { - char *zName; /* Name of this column */ + char *zName; /* Name of this column, \000, then the type */ Expr *pDflt; /* Default value of this column */ - char *zDflt; /* Original text of the default value */ - char *zType; /* Data type for this column */ char *zColl; /* Collating sequence. If NULL, use the default */ u8 notNull; /* An OE_ code for handling a NOT NULL constraint */ char affinity; /* One of the SQLITE_AFF_... values */ @@ -12430,6 +12540,7 @@ struct Column { */ #define COLFLAG_PRIMKEY 0x0001 /* Column is part of the primary key */ #define COLFLAG_HIDDEN 0x0002 /* A hidden column in a virtual table */ +#define COLFLAG_HASTYPE 0x0004 /* Type name follows column name */ /* ** A "Collating Sequence" is defined by an instance of the following @@ -12460,7 +12571,7 @@ struct CollSeq { ** ** These used to have mnemonic name like 'i' for SQLITE_AFF_INTEGER and ** 't' for SQLITE_AFF_TEXT. But we can save a little space and improve -** the speed a little by numbering the values consecutively. +** the speed a little by numbering the values consecutively. ** ** But rather than start with 0 or 1, we begin with 'A'. That way, ** when multiple affinity types are concatenated into a string and @@ -12479,7 +12590,7 @@ struct CollSeq { /* ** The SQLITE_AFF_MASK values masks off the significant bits of an -** affinity value. +** affinity value. */ #define SQLITE_AFF_MASK 0x47 @@ -12499,20 +12610,20 @@ struct CollSeq { /* ** An object of this type is created for each virtual table present in -** the database schema. +** the database schema. ** ** If the database schema is shared, then there is one instance of this ** structure for each database connection (sqlite3*) that uses the shared ** schema. This is because each database connection requires its own unique -** instance of the sqlite3_vtab* handle used to access the virtual table -** implementation. sqlite3_vtab* handles can not be shared between -** database connections, even when the rest of the in-memory database +** instance of the sqlite3_vtab* handle used to access the virtual table +** implementation. sqlite3_vtab* handles can not be shared between +** database connections, even when the rest of the in-memory database ** schema is shared, as the implementation often stores the database ** connection handle passed to it via the xConnect() or xCreate() method ** during initialization internally. This database connection handle may -** then be used by the virtual table implementation to access real tables -** within the database. So that they appear as part of the callers -** transaction, these accesses need to be made via the same database +** then be used by the virtual table implementation to access real tables +** within the database. So that they appear as part of the callers +** transaction, these accesses need to be made via the same database ** connection as that used to execute SQL operations on the virtual table. ** ** All VTable objects that correspond to a single table in a shared @@ -12524,19 +12635,19 @@ struct CollSeq { ** sqlite3_vtab* handle in the compiled query. ** ** When an in-memory Table object is deleted (for example when the -** schema is being reloaded for some reason), the VTable objects are not -** deleted and the sqlite3_vtab* handles are not xDisconnect()ed +** schema is being reloaded for some reason), the VTable objects are not +** deleted and the sqlite3_vtab* handles are not xDisconnect()ed ** immediately. Instead, they are moved from the Table.pVTable list to ** another linked list headed by the sqlite3.pDisconnect member of the -** corresponding sqlite3 structure. They are then deleted/xDisconnected +** corresponding sqlite3 structure. They are then deleted/xDisconnected ** next time a statement is prepared using said sqlite3*. This is done ** to avoid deadlock issues involving multiple sqlite3.mutex mutexes. ** Refer to comments above function sqlite3VtabUnlockList() for an ** explanation as to why it is safe to add an entry to an sqlite3.pDisconnect ** list without holding the corresponding sqlite3.mutex mutex. ** -** The memory for objects of this type is always allocated by -** sqlite3DbMalloc(), using the connection handle stored in VTable.db as +** The memory for objects of this type is always allocated by +** sqlite3DbMalloc(), using the connection handle stored in VTable.db as ** the first argument. */ struct VTable { @@ -12704,7 +12815,7 @@ struct FKey { ** key is set to NULL. CASCADE means that a DELETE or UPDATE of the ** referenced table row is propagated into the row that holds the ** foreign key. -** +** ** The following symbolic values are used to record which type ** of action to take. */ @@ -12725,7 +12836,7 @@ struct FKey { /* ** An instance of the following structure is passed as the first -** argument to sqlite3VdbeKeyCompare and is used to control the +** argument to sqlite3VdbeKeyCompare and is used to control the ** comparison of the two index keys. ** ** Note that aSortOrder[] and aColl[] have nField+1 slots. There @@ -12766,7 +12877,7 @@ struct KeyInfo { ** The key comparison functions actually return default_rc when they find ** an equals comparison. default_rc can be -1, 0, or +1. If there are ** multiple entries in the b-tree with the same key (when only looking -** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to +** at the first pKeyInfo->nFields,) then default_rc can be set to -1 to ** cause the search to find the last match, or +1 to cause the search to ** find the first match. ** @@ -12803,7 +12914,7 @@ struct UnpackedRecord { ** In the Table structure describing Ex1, nCol==3 because there are ** three columns in the table. In the Index structure describing ** Ex2, nColumn==2 since 2 of the 3 columns of Ex1 are indexed. -** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the +** The value of aiColumn is {2, 0}. aiColumn[0]==2 because the ** first column to be indexed (c3) has an index of 2 in Ex1.aCol[]. ** The second column to be indexed (c1) has an index of 0 in ** Ex1.aCol[], hence Ex2.aiColumn[1]==0. @@ -12811,7 +12922,7 @@ struct UnpackedRecord { ** The Index.onError field determines whether or not the indexed columns ** must be unique and what to do if they are not. When Index.onError=OE_None, ** it means this is not a unique index. Otherwise it is a unique index -** and the value of Index.onError indicate the which conflict resolution +** and the value of Index.onError indicate the which conflict resolution ** algorithm to employ whenever an attempt is made to insert a non-unique ** element. ** @@ -12876,7 +12987,7 @@ struct Index { #define XN_EXPR (-2) /* Indexed column is an expression */ /* -** Each sample stored in the sqlite_stat3 table is represented in memory +** Each sample stored in the sqlite_stat3 table is represented in memory ** using a structure of this type. See documentation at the top of the ** analyze.c source file for additional information. */ @@ -12971,9 +13082,9 @@ typedef int ynVar; ** to represent the greater-than-or-equal-to operator in the expression ** tree. ** -** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB, +** If the expression is an SQL literal (TK_INTEGER, TK_FLOAT, TK_BLOB, ** or TK_STRING), then Expr.token contains the text of the SQL literal. If -** the expression is a variable (TK_VARIABLE), then Expr.token contains the +** the expression is a variable (TK_VARIABLE), then Expr.token contains the ** variable name. Finally, if the expression is an SQL function (TK_FUNCTION), ** then Expr.token contains the name of the function. ** @@ -12984,7 +13095,7 @@ typedef int ynVar; ** a CASE expression or an IN expression of the form " IN (, ...)". ** Expr.x.pSelect is used if the expression is a sub-select or an expression of ** the form " IN (SELECT ...)". If the EP_xIsSelect bit is set in the -** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is +** Expr.flags mask, then Expr.x.pSelect is valid. Otherwise, Expr.x.pList is ** valid. ** ** An expression of the form ID or ID.ID refers to a column in a table. @@ -12995,8 +13106,8 @@ typedef int ynVar; ** value is also stored in the Expr.iAgg column in the aggregate so that ** it can be accessed after all aggregates are computed. ** -** If the expression is an unbound variable marker (a question mark -** character '?' in the original SQL) then the Expr.iTable holds the index +** If the expression is an unbound variable marker (a question mark +** character '?' in the original SQL) then the Expr.iTable holds the index ** number for that variable. ** ** If the expression is a subquery then Expr.iColumn holds an integer @@ -13035,7 +13146,7 @@ struct Expr { /* If the EP_TokenOnly flag is set in the Expr.flags mask, then no ** space is allocated for the fields below this point. An attempt to - ** access them will result in a segfault or malfunction. + ** access them will result in a segfault or malfunction. *********************************************************************/ Expr *pLeft; /* Left subnode */ @@ -13101,7 +13212,7 @@ struct Expr { #define EP_Propagate (EP_Collate|EP_Subquery) /* Propagate these bits up tree */ /* -** These macros can be used to test, set, or clear bits in the +** These macros can be used to test, set, or clear bits in the ** Expr.flags field. */ #define ExprHasProperty(E,P) (((E)->flags&(P))!=0) @@ -13120,8 +13231,8 @@ struct Expr { #endif /* -** Macros to determine the number of bytes required by a normal Expr -** struct, an Expr struct with the EP_Reduced flag set in Expr.flags +** Macros to determine the number of bytes required by a normal Expr +** struct, an Expr struct with the EP_Reduced flag set in Expr.flags ** and an Expr struct with the EP_TokenOnly flag set. */ #define EXPR_FULLSIZE sizeof(Expr) /* Full size */ @@ -13129,7 +13240,7 @@ struct Expr { #define EXPR_TOKENONLYSIZE offsetof(Expr,pLeft) /* Fewer features */ /* -** Flags passed to the sqlite3ExprDup() function. See the header comment +** Flags passed to the sqlite3ExprDup() function. See the header comment ** above sqlite3ExprDup() for details. */ #define EXPRDUP_REDUCE 0x0001 /* Used reduced-size Expr nodes */ @@ -13211,7 +13322,11 @@ struct IdList { ** tables in a join to 32 instead of 64. But it also reduces the size ** of the library by 738 bytes on ix86. */ -typedef u64 Bitmask; +#ifdef SQLITE_BITMASK_TYPE + typedef SQLITE_BITMASK_TYPE Bitmask; +#else + typedef u64 Bitmask; +#endif /* ** The number of bits in a Bitmask. "BMS" means "BitMask Size". @@ -13223,6 +13338,7 @@ typedef u64 Bitmask; */ #define MASKBIT(n) (((Bitmask)1)<<(n)) #define MASKBIT32(n) (((unsigned int)1)<<(n)) +#define ALLBITS ((Bitmask)-1) /* ** The following structure describes the FROM clause of a SELECT statement. @@ -13311,6 +13427,7 @@ struct SrcList { #define WHERE_SORTBYGROUP 0x0800 /* Support sqlite3WhereIsSorted() */ #define WHERE_REOPEN_IDX 0x1000 /* Try to use OP_ReopenIdx */ #define WHERE_ONEPASS_MULTIROW 0x2000 /* ONEPASS is ok with multiple rows */ +#define WHERE_USE_LIMIT 0x4000 /* There is a constant LIMIT clause */ /* Allowed return values from sqlite3WhereIsDistinct() */ @@ -13328,12 +13445,12 @@ struct SrcList { ** pEList corresponds to the result set of a SELECT and is NULL for ** other statements. ** -** NameContexts can be nested. When resolving names, the inner-most +** NameContexts can be nested. When resolving names, the inner-most ** context is searched first. If no match is found, the next outer ** context is checked. If there is still no match, the next context ** is checked. This process continues until either a match is found ** or all contexts are check. When a match is found, the nRef member of -** the context containing the match is incremented. +** the context containing the match is incremented. ** ** Each subquery gets a new NameContext. The pNext field points to the ** NameContext in the parent query. Thus the process of scanning the @@ -13356,7 +13473,7 @@ struct NameContext { ** ** Note: NC_MinMaxAgg must have the same value as SF_MinMaxAgg and ** SQLITE_FUNC_MINMAX. -** +** */ #define NC_AllowAgg 0x0001 /* Aggregate functions are allowed here */ #define NC_HasAgg 0x0002 /* One or more aggregate functions seen */ @@ -13389,13 +13506,13 @@ struct NameContext { struct Select { ExprList *pEList; /* The fields of the result */ u8 op; /* One of: TK_UNION TK_ALL TK_INTERSECT TK_EXCEPT */ - u16 selFlags; /* Various SF_* values */ + LogEst nSelectRow; /* Estimated number of result rows */ + u32 selFlags; /* Various SF_* values */ int iLimit, iOffset; /* Memory registers holding LIMIT & OFFSET counters */ #if SELECTTRACE_ENABLED char zSelName[12]; /* Symbolic name of this SELECT use for debugging */ #endif int addrOpenEphm[2]; /* OP_OpenEphem opcodes related to this select */ - u64 nSelectRow; /* Estimated number of result rows */ SrcList *pSrc; /* The FROM clause */ Expr *pWhere; /* The WHERE clause */ ExprList *pGroupBy; /* The GROUP BY clause */ @@ -13412,22 +13529,23 @@ struct Select { ** Allowed values for Select.selFlags. The "SF" prefix stands for ** "Select Flag". */ -#define SF_Distinct 0x0001 /* Output should be DISTINCT */ -#define SF_All 0x0002 /* Includes the ALL keyword */ -#define SF_Resolved 0x0004 /* Identifiers have been resolved */ -#define SF_Aggregate 0x0008 /* Contains aggregate functions */ -#define SF_UsesEphemeral 0x0010 /* Uses the OpenEphemeral opcode */ -#define SF_Expanded 0x0020 /* sqlite3SelectExpand() called on this */ -#define SF_HasTypeInfo 0x0040 /* FROM subqueries have Table metadata */ -#define SF_Compound 0x0080 /* Part of a compound query */ -#define SF_Values 0x0100 /* Synthesized from VALUES clause */ -#define SF_MultiValue 0x0200 /* Single VALUES term with multiple rows */ -#define SF_NestedFrom 0x0400 /* Part of a parenthesized FROM clause */ -#define SF_MaybeConvert 0x0800 /* Need convertCompoundSelectToSubquery() */ -#define SF_MinMaxAgg 0x1000 /* Aggregate containing min() or max() */ -#define SF_Recursive 0x2000 /* The recursive part of a recursive CTE */ -#define SF_Converted 0x4000 /* By convertCompoundSelectToSubquery() */ -#define SF_IncludeHidden 0x8000 /* Include hidden columns in output */ +#define SF_Distinct 0x00001 /* Output should be DISTINCT */ +#define SF_All 0x00002 /* Includes the ALL keyword */ +#define SF_Resolved 0x00004 /* Identifiers have been resolved */ +#define SF_Aggregate 0x00008 /* Contains aggregate functions */ +#define SF_UsesEphemeral 0x00010 /* Uses the OpenEphemeral opcode */ +#define SF_Expanded 0x00020 /* sqlite3SelectExpand() called on this */ +#define SF_HasTypeInfo 0x00040 /* FROM subqueries have Table metadata */ +#define SF_Compound 0x00080 /* Part of a compound query */ +#define SF_Values 0x00100 /* Synthesized from VALUES clause */ +#define SF_MultiValue 0x00200 /* Single VALUES term with multiple rows */ +#define SF_NestedFrom 0x00400 /* Part of a parenthesized FROM clause */ +#define SF_MaybeConvert 0x00800 /* Need convertCompoundSelectToSubquery() */ +#define SF_MinMaxAgg 0x01000 /* Aggregate containing min() or max() */ +#define SF_Recursive 0x02000 /* The recursive part of a recursive CTE */ +#define SF_FixedLimit 0x04000 /* nSelectRow set by a constant LIMIT */ +#define SF_Converted 0x08000 /* By convertCompoundSelectToSubquery() */ +#define SF_IncludeHidden 0x10000 /* Include hidden columns in output */ /* @@ -13435,7 +13553,7 @@ struct Select { ** by one of the following macros. The "SRT" prefix means "SELECT Result ** Type". ** -** SRT_Union Store results as a key in a temporary index +** SRT_Union Store results as a key in a temporary index ** identified by pDest->iSDParm. ** ** SRT_Except Remove results from the temporary index pDest->iSDParm. @@ -13459,7 +13577,7 @@ struct Select { ** of the query. This destination implies "LIMIT 1". ** ** SRT_Set The result must be a single column. Store each -** row of result as the key in table pDest->iSDParm. +** row of result as the key in table pDest->iSDParm. ** Apply the affinity pDest->affSdst before storing ** results. Used to implement "IN (SELECT ...)". ** @@ -13527,7 +13645,7 @@ struct SelectDest { }; /* -** During code generation of statements that do inserts into AUTOINCREMENT +** During code generation of statements that do inserts into AUTOINCREMENT ** tables, the following information is attached to the Table.u.autoInc.p ** pointer of each autoincrement table to record some side information that ** the code generator needs. We have to keep per-table autoincrement @@ -13550,7 +13668,7 @@ struct AutoincInfo { #endif /* -** At least one instance of the following structure is created for each +** At least one instance of the following structure is created for each ** trigger that may be fired while parsing an INSERT, UPDATE or DELETE ** statement. All such objects are stored in the linked list headed at ** Parse.pTriggerPrg and deleted once statement compilation has been @@ -13563,7 +13681,7 @@ struct AutoincInfo { ** values for both pTrigger and orconf. ** ** The TriggerPrg.aColmask[0] variable is set to a mask of old.* columns -** accessed (or set to 0 for triggers fired as a result of INSERT +** accessed (or set to 0 for triggers fired as a result of INSERT ** statements). Similarly, the TriggerPrg.aColmask[1] variable is set to ** a mask of new.* columns used by the program. */ @@ -13604,7 +13722,7 @@ struct TriggerPrg { ** is constant but the second part is reset at the beginning and end of ** each recursion. ** -** The nTableLock and aTableLock variables are only used if the shared-cache +** The nTableLock and aTableLock variables are only used if the shared-cache ** feature is enabled (if sqlite3Tsd()->useSharedData is true). They are ** used to store the set of table-locks required by the statement being ** compiled. Function sqlite3TableLock() is used to add entries to the @@ -13757,10 +13875,10 @@ struct AuthContext { /* * Each trigger present in the database schema is stored as an instance of - * struct Trigger. + * struct Trigger. * * Pointers to instances of struct Trigger are stored in two ways. - * 1. In the "trigHash" hash table (part of the sqlite3* that represents the + * 1. In the "trigHash" hash table (part of the sqlite3* that represents the * database). This allows Trigger structures to be retrieved by name. * 2. All triggers associated with a single table form a linked list, using the * pNext member of struct Trigger. A pointer to the first element of the @@ -13786,7 +13904,7 @@ struct Trigger { /* ** A trigger is either a BEFORE or an AFTER trigger. The following constants -** determine which. +** determine which. ** ** If there are multiple triggers, you might of some BEFORE and some AFTER. ** In that cases, the constants below can be ORed together. @@ -13796,15 +13914,15 @@ struct Trigger { /* * An instance of struct TriggerStep is used to store a single SQL statement - * that is a part of a trigger-program. + * that is a part of a trigger-program. * * Instances of struct TriggerStep are stored in a singly linked list (linked - * using the "pNext" member) referenced by the "step_list" member of the + * using the "pNext" member) referenced by the "step_list" member of the * associated struct Trigger instance. The first element of the linked list is * the first step of the trigger-program. - * + * * The "op" member indicates whether this is a "DELETE", "INSERT", "UPDATE" or - * "SELECT" statement. The meanings of the other members is determined by the + * "SELECT" statement. The meanings of the other members is determined by the * value of "op" as follows: * * (op == TK_INSERT) @@ -13814,7 +13932,7 @@ struct Trigger { * zTarget -> Dequoted name of the table to insert into. * pExprList -> If this is an INSERT INTO ... VALUES ... statement, then * this stores values to be inserted. Otherwise NULL. - * pIdList -> If this is an INSERT INTO ... () VALUES ... + * pIdList -> If this is an INSERT INTO ... () VALUES ... * statement, then this stores the column-names to be * inserted into. * @@ -13822,7 +13940,7 @@ struct Trigger { * zTarget -> Dequoted name of the table to delete from. * pWhere -> The WHERE clause of the DELETE statement if one is specified. * Otherwise NULL. - * + * * (op == TK_UPDATE) * zTarget -> Dequoted name of the table to update. * pWhere -> The WHERE clause of the UPDATE statement if one is specified. @@ -13830,7 +13948,7 @@ struct Trigger { * pExprList -> A list of the columns to update and the expressions to update * them to. See sqlite3Update() documentation of "pChanges" * argument. - * + * */ struct TriggerStep { u8 op; /* One of TK_DELETE, TK_UPDATE, TK_INSERT, TK_SELECT */ @@ -13848,7 +13966,7 @@ struct TriggerStep { /* ** The following structure contains information used by the sqliteFix... ** routines as they walk the parse tree to make database references -** explicit. +** explicit. */ typedef struct DbFixer DbFixer; struct DbFixer { @@ -13909,6 +14027,7 @@ struct Sqlite3Config { int neverCorrupt; /* Database is always well-formed */ int szLookaside; /* Default lookaside buffer size */ int nLookaside; /* Default lookaside buffer count */ + int nStmtSpill; /* Stmt-journal spill-to-disk threshold */ sqlite3_mem_methods m; /* Low-level memory allocation interface */ sqlite3_mutex_methods mutex; /* Low-level mutex interface */ sqlite3_pcache_methods2 pcache2; /* Low-level page-cache interface */ @@ -14058,6 +14177,15 @@ SQLITE_PRIVATE int sqlite3CantopenError(int); #define SQLITE_CORRUPT_BKPT sqlite3CorruptError(__LINE__) #define SQLITE_MISUSE_BKPT sqlite3MisuseError(__LINE__) #define SQLITE_CANTOPEN_BKPT sqlite3CantopenError(__LINE__) +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE int sqlite3NomemError(int); +SQLITE_PRIVATE int sqlite3IoerrnomemError(int); +# define SQLITE_NOMEM_BKPT sqlite3NomemError(__LINE__) +# define SQLITE_IOERR_NOMEM_BKPT sqlite3IoerrnomemError(__LINE__) +#else +# define SQLITE_NOMEM_BKPT SQLITE_NOMEM +# define SQLITE_IOERR_NOMEM_BKPT SQLITE_IOERR_NOMEM +#endif /* ** FTS3 and FTS4 both require virtual table support @@ -14114,8 +14242,9 @@ SQLITE_PRIVATE int sqlite3IsIdChar(u8); /* ** Internal function prototypes */ -#define sqlite3StrICmp sqlite3_stricmp +SQLITE_PRIVATE int sqlite3StrICmp(const char*,const char*); SQLITE_PRIVATE int sqlite3Strlen30(const char*); +SQLITE_PRIVATE char *sqlite3ColumnType(Column*,char*); #define sqlite3StrNICmp sqlite3_strnicmp SQLITE_PRIVATE int sqlite3MallocInit(void); @@ -14154,7 +14283,7 @@ SQLITE_PRIVATE int sqlite3HeapNearlyFull(void); #ifdef SQLITE_USE_ALLOCA # define sqlite3StackAllocRaw(D,N) alloca(N) # define sqlite3StackAllocZero(D,N) memset(alloca(N), 0, N) -# define sqlite3StackFree(D,P) +# define sqlite3StackFree(D,P) #else # define sqlite3StackAllocRaw(D,N) sqlite3DbMallocRaw(D,N) # define sqlite3StackAllocZero(D,N) sqlite3DbMallocZero(D,N) @@ -14238,6 +14367,9 @@ SQLITE_PRIVATE void sqlite3ReleaseTempReg(Parse*,int); SQLITE_PRIVATE int sqlite3GetTempRange(Parse*,int); SQLITE_PRIVATE void sqlite3ReleaseTempRange(Parse*,int,int); SQLITE_PRIVATE void sqlite3ClearTempRegCache(Parse*); +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE int sqlite3NoTempsInRange(Parse*,int,int); +#endif SQLITE_PRIVATE Expr *sqlite3ExprAlloc(sqlite3*,int,const Token*,int); SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*); SQLITE_PRIVATE void sqlite3ExprAttachSubtrees(sqlite3*,Expr*,Expr*,Expr*); @@ -14271,11 +14403,10 @@ SQLITE_PRIVATE void sqlite3ColumnPropertiesFromName(Table*, Column*); #else # define sqlite3ColumnPropertiesFromName(T,C) /* no-op */ #endif -SQLITE_PRIVATE void sqlite3AddColumn(Parse*,Token*); +SQLITE_PRIVATE void sqlite3AddColumn(Parse*,Token*,Token*); SQLITE_PRIVATE void sqlite3AddNotNull(Parse*, int); SQLITE_PRIVATE void sqlite3AddPrimaryKey(Parse*, ExprList*, int, int, int); SQLITE_PRIVATE void sqlite3AddCheckConstraint(Parse*, Expr*); -SQLITE_PRIVATE void sqlite3AddColumnType(Parse*,Token*); SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse*,ExprSpan*); SQLITE_PRIVATE void sqlite3AddCollateType(Parse*, Token*); SQLITE_PRIVATE void sqlite3EndTable(Parse*,Token*,Token*,u8,Select*); @@ -14349,7 +14480,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex(Parse*,Token*,Token*,SrcList*,ExprList* SQLITE_PRIVATE void sqlite3DropIndex(Parse*, SrcList*, int); SQLITE_PRIVATE int sqlite3Select(Parse*, Select*, SelectDest*); SQLITE_PRIVATE Select *sqlite3SelectNew(Parse*,ExprList*,SrcList*,Expr*,ExprList*, - Expr*,ExprList*,u16,Expr*,Expr*); + Expr*,ExprList*,u32,Expr*,Expr*); SQLITE_PRIVATE void sqlite3SelectDelete(sqlite3*, Select*); SQLITE_PRIVATE Table *sqlite3SrcListLookup(Parse*, SrcList*); SQLITE_PRIVATE int sqlite3IsReadOnly(Parse*, Table*, int); @@ -14361,7 +14492,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*); SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int); SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*,SrcList*,Expr*,ExprList*,ExprList*,u16,int); SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo*); -SQLITE_PRIVATE u64 sqlite3WhereOutputRowCount(WhereInfo*); +SQLITE_PRIVATE LogEst sqlite3WhereOutputRowCount(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsDistinct(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsOrdered(WhereInfo*); SQLITE_PRIVATE int sqlite3WhereIsSorted(WhereInfo*); @@ -14461,11 +14592,11 @@ SQLITE_PRIVATE void sqlite3SelectSetName(Select*,const char*); #else # define sqlite3SelectSetName(A,B) #endif -SQLITE_PRIVATE void sqlite3FuncDefInsert(FuncDefHash*, FuncDef*); -SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,int,u8,u8); -SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(sqlite3*); +SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs(FuncDef*,int); +SQLITE_PRIVATE FuncDef *sqlite3FindFunction(sqlite3*,const char*,int,u8,u8); +SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void); SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void); -SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void); +SQLITE_PRIVATE void sqlite3RegisterPerConnectionBuiltinFunctions(sqlite3*); SQLITE_PRIVATE int sqlite3SafetyCheckOk(sqlite3*); SQLITE_PRIVATE int sqlite3SafetyCheckSickOrOk(sqlite3*); SQLITE_PRIVATE void sqlite3ChangeCookie(Parse*, int); @@ -14544,7 +14675,11 @@ SQLITE_PRIVATE LogEst sqlite3LogEstAdd(LogEst,LogEst); #ifndef SQLITE_OMIT_VIRTUALTABLE SQLITE_PRIVATE LogEst sqlite3LogEstFromDouble(double); #endif +#if defined(SQLITE_ENABLE_STMT_SCANSTATUS) || \ + defined(SQLITE_ENABLE_STAT3_OR_STAT4) || \ + defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst); +#endif /* ** Routines to read and write variable-length integers. These used to @@ -14579,6 +14714,7 @@ SQLITE_PRIVATE int sqlite3Atoi64(const char*, i64*, int, u8); SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char*, i64*); SQLITE_PRIVATE void sqlite3ErrorWithMsg(sqlite3*, int, const char*,...); SQLITE_PRIVATE void sqlite3Error(sqlite3*,int); +SQLITE_PRIVATE void sqlite3SystemError(sqlite3*,int); SQLITE_PRIVATE void *sqlite3HexToBlob(sqlite3*, const char *z, int n); SQLITE_PRIVATE u8 sqlite3HexToInt(int h); SQLITE_PRIVATE int sqlite3TwoPartName(Parse *, Token *, Token *, Token **); @@ -14611,7 +14747,7 @@ SQLITE_PRIVATE u8 sqlite3GetBoolean(const char *z,u8); SQLITE_PRIVATE const void *sqlite3ValueText(sqlite3_value*, u8); SQLITE_PRIVATE int sqlite3ValueBytes(sqlite3_value*, u8); -SQLITE_PRIVATE void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, +SQLITE_PRIVATE void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, void(*)(void*)); SQLITE_PRIVATE void sqlite3ValueSetNull(sqlite3_value*); SQLITE_PRIVATE void sqlite3ValueFree(sqlite3_value*); @@ -14626,7 +14762,7 @@ SQLITE_PRIVATE const unsigned char sqlite3UpperToLower[]; SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[]; SQLITE_PRIVATE const Token sqlite3IntTokens[]; SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config; -SQLITE_PRIVATE SQLITE_WSD FuncDefHash sqlite3GlobalFunctions; +SQLITE_PRIVATE FuncDefHash sqlite3BuiltinFunctions; #ifndef SQLITE_OMIT_WSD SQLITE_PRIVATE int sqlite3PendingByte; #endif @@ -14671,7 +14807,7 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse*, Index*); #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3KeyInfoIsWriteable(KeyInfo*); #endif -SQLITE_PRIVATE int sqlite3CreateFunc(sqlite3 *, const char *, int, int, void *, +SQLITE_PRIVATE int sqlite3CreateFunc(sqlite3 *, const char *, int, int, void *, void (*)(sqlite3_context*,int,sqlite3_value **), void (*)(sqlite3_context*,int,sqlite3_value **), void (*)(sqlite3_context*), FuncDestructor *pDestructor @@ -14734,7 +14870,7 @@ SQLITE_PRIVATE int sqlite3Utf8To8(unsigned char*); # define sqlite3VtabRollback(X) # define sqlite3VtabCommit(X) # define sqlite3VtabInSync(db) 0 -# define sqlite3VtabLock(X) +# define sqlite3VtabLock(X) # define sqlite3VtabUnlock(X) # define sqlite3VtabUnlockList(X) # define sqlite3VtabSavepoint(X, Y, Z) SQLITE_OK @@ -14792,7 +14928,7 @@ SQLITE_PRIVATE void sqlite3WithPush(Parse*, With*, u8); ** no-op macros if OMIT_FOREIGN_KEY is defined. In this case no foreign ** key functionality is available. If OMIT_TRIGGER is defined but ** OMIT_FOREIGN_KEY is not, only some of the functions are no-oped. In -** this case foreign keys are parsed, but no other functionality is +** this case foreign keys are parsed, but no other functionality is ** provided (enforcement of FK constraints requires the triggers sub-system). */ #if !defined(SQLITE_OMIT_FOREIGN_KEY) && !defined(SQLITE_OMIT_TRIGGER) @@ -14853,19 +14989,14 @@ SQLITE_PRIVATE void sqlite3EndBenignMalloc(void); #define IN_INDEX_LOOP 0x0004 /* IN operator used as a loop */ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*); +SQLITE_PRIVATE int sqlite3JournalOpen(sqlite3_vfs *, const char *, sqlite3_file *, int, int); +SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *); #ifdef SQLITE_ENABLE_ATOMIC_WRITE -SQLITE_PRIVATE int sqlite3JournalOpen(sqlite3_vfs *, const char *, sqlite3_file *, int, int); -SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *); SQLITE_PRIVATE int sqlite3JournalCreate(sqlite3_file *); -SQLITE_PRIVATE int sqlite3JournalExists(sqlite3_file *p); -#else - #define sqlite3JournalSize(pVfs) ((pVfs)->szOsFile) - #define sqlite3JournalExists(p) 1 #endif +SQLITE_PRIVATE int sqlite3JournalIsInMemory(sqlite3_file *p); SQLITE_PRIVATE void sqlite3MemJournalOpen(sqlite3_file *); -SQLITE_PRIVATE int sqlite3MemJournalSize(void); -SQLITE_PRIVATE int sqlite3IsMemJournal(sqlite3_file *); SQLITE_PRIVATE void sqlite3ExprSetHeightAndFlags(Parse *pParse, Expr *p); #if SQLITE_MAX_EXPR_DEPTH>0 @@ -14896,7 +15027,7 @@ SQLITE_PRIVATE void sqlite3ParserTrace(FILE*, char *); /* ** If the SQLITE_ENABLE IOTRACE exists then the global variable ** sqlite3IoTrace is a pointer to a printf-like routine used to -** print I/O tracing messages. +** print I/O tracing messages. */ #ifdef SQLITE_ENABLE_IOTRACE # define IOTRACE(A) if( sqlite3IoTrace ){ sqlite3IoTrace A; } @@ -14930,7 +15061,7 @@ SQLITE_API SQLITE_EXTERN void (SQLITE_CDECL *sqlite3IoTrace)(const char*,...); ** that allocations that might have been satisfied by lookaside are not ** passed back to non-lookaside free() routines. Asserts such as the ** example above are placed on the non-lookaside free() routines to verify -** this constraint. +** this constraint. ** ** All of this is no-op for a production build. It only comes into ** play when the SQLITE_MEMDEBUG compile-time option is used. @@ -15126,6 +15257,18 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { # define SQLITE_SORTER_PMASZ 250 #endif +/* Statement journals spill to disk when their size exceeds the following +** threashold (in bytes). 0 means that statement journals are created and +** written to disk immediately (the default behavior for SQLite versions +** before 3.12.0). -1 means always keep the entire statement journal in +** memory. (The statement journal is also always held entirely in memory +** if journal_mode=MEMORY or if temp_store=MEMORY, regardless of this +** setting.) +*/ +#ifndef SQLITE_STMTJRNL_SPILL +# define SQLITE_STMTJRNL_SPILL (64*1024) +#endif + /* ** The following singleton contains the global configuration for ** the SQLite library. @@ -15140,6 +15283,7 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { 0, /* neverCorrupt */ 128, /* szLookaside */ 500, /* nLookaside */ + SQLITE_STMTJRNL_SPILL, /* nStmtSpill */ {0,0,0,0,0,0,0,0}, /* m */ {0,0,0,0,0,0,0,0,0}, /* mutex */ {0,0,0,0,0,0,0,0,0,0,0,0,0},/* pcache2 */ @@ -15186,7 +15330,7 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { ** database connections. After initialization, this table is ** read-only. */ -SQLITE_PRIVATE SQLITE_WSD FuncDefHash sqlite3GlobalFunctions; +SQLITE_PRIVATE FuncDefHash sqlite3BuiltinFunctions; /* ** Constant tokens for values 0 and 1. @@ -15787,7 +15931,7 @@ struct VdbeCursor { #endif Bool isEphemeral:1; /* True for an ephemeral table */ Bool useRandomRowid:1;/* Generate new record numbers semi-randomly */ - Bool isOrdered:1; /* True if the underlying table is BTREE_UNORDERED */ + Bool isOrdered:1; /* True if the table is not BTREE_UNORDERED */ Pgno pgnoRoot; /* Root page of the open btree cursor */ i16 nField; /* Number of fields in the header */ u16 nHdrParsed; /* Number of header fields parsed so far */ @@ -15861,6 +16005,7 @@ struct VdbeFrame { VdbeCursor **apCsr; /* Array of Vdbe cursors for parent frame */ void *token; /* Copy of SubProgram.token */ i64 lastRowid; /* Last insert rowid (sqlite3.lastRowid) */ + AuxData *pAuxData; /* Linked list of auxdata allocations */ int nCursor; /* Number of entries in apCsr */ int pc; /* Program Counter in parent (calling) frame */ int nOp; /* Size of aOp array */ @@ -16080,16 +16225,16 @@ struct Vdbe { #endif u16 nResColumn; /* Number of columns in one row of the result set */ u8 errorAction; /* Recovery action to do in case of an error */ + bft expired:1; /* True if the VM needs to be recompiled */ + bft doingRerun:1; /* True if rerunning after an auto-reprepare */ u8 minWriteFileFormat; /* Minimum file format for writable database files */ bft explain:2; /* True if EXPLAIN present on SQL command */ bft changeCntOn:1; /* True to update the change-counter */ - bft expired:1; /* True if the VM needs to be recompiled */ bft runOnlyOnce:1; /* Automatically expire on reset */ bft usesStmtJournal:1; /* True if uses a statement journal */ bft readOnly:1; /* True for statements that do not write */ bft bIsReader:1; /* True for statements that read */ bft isPrepareV2:1; /* True if prepared with prepare_v2() */ - bft doingRerun:1; /* True if rerunning after an auto-reprepare */ int nChange; /* Number of db changes made since last reset */ yDbMask btreeMask; /* Bitmask of db->aDb[] entries referenced */ yDbMask lockMask; /* Subset of btreeMask that requires a lock */ @@ -16143,7 +16288,7 @@ SQLITE_PRIVATE u8 sqlite3VdbeOneByteSerialTypeLen(u8); SQLITE_PRIVATE u32 sqlite3VdbeSerialType(Mem*, int, u32*); SQLITE_PRIVATE u32 sqlite3VdbeSerialPut(unsigned char*, Mem*, u32); SQLITE_PRIVATE u32 sqlite3VdbeSerialGet(const unsigned char*, u32, Mem*); -SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe*, int, int); +SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(sqlite3*, AuxData**, int, int); int sqlite2BtreeKeyCompare(BtCursor *, const void *, int, int, int *); SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare(sqlite3*,VdbeCursor*,UnpackedRecord*,int*); @@ -17709,7 +17854,7 @@ static void currentTimeFunc( ** external linkage. */ SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ - static SQLITE_WSD FuncDef aDateTimeFuncs[] = { + static FuncDef aDateTimeFuncs[] = { #ifndef SQLITE_OMIT_DATETIME_FUNCS DFUNCTION(julianday, -1, 0, 0, juliandayFunc ), DFUNCTION(date, -1, 0, 0, dateFunc ), @@ -17725,13 +17870,7 @@ SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ STR_FUNCTION(current_timestamp, 0, "%Y-%m-%d %H:%M:%S", 0, currentTimeFunc), #endif }; - int i; - FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); - FuncDef *aFunc = (FuncDef*)&GLOBAL(FuncDef, aDateTimeFuncs); - - for(i=0; ixSleep(pVfs, nMicro); } +SQLITE_PRIVATE int sqlite3OsGetLastError(sqlite3_vfs *pVfs){ + return pVfs->xGetLastError ? pVfs->xGetLastError(pVfs, 0, 0) : 0; +} SQLITE_PRIVATE int sqlite3OsCurrentTimeInt64(sqlite3_vfs *pVfs, sqlite3_int64 *pTimeOut){ int rc; /* IMPLEMENTATION-OF: R-49045-42493 SQLite will use the xCurrentTimeInt64() @@ -18025,7 +18167,7 @@ SQLITE_PRIVATE int sqlite3OsOpenMalloc( int flags, int *pOutFlags ){ - int rc = SQLITE_NOMEM; + int rc; sqlite3_file *pFile; pFile = (sqlite3_file *)sqlite3MallocZero(pVfs->szOsFile); if( pFile ){ @@ -18035,6 +18177,8 @@ SQLITE_PRIVATE int sqlite3OsOpenMalloc( }else{ *ppFile = pFile; } + }else{ + rc = SQLITE_NOMEM_BKPT; } return rc; } @@ -18054,7 +18198,7 @@ SQLITE_PRIVATE int sqlite3OsCloseFree(sqlite3_file *pFile){ */ SQLITE_PRIVATE int sqlite3OsInit(void){ void *p = sqlite3_malloc(10); - if( p==0 ) return SQLITE_NOMEM; + if( p==0 ) return SQLITE_NOMEM_BKPT; sqlite3_free(p); return sqlite3_os_init(); } @@ -22676,7 +22820,7 @@ SQLITE_PRIVATE void sqlite3OomClear(sqlite3 *db){ static SQLITE_NOINLINE int apiOomError(sqlite3 *db){ sqlite3OomClear(db); sqlite3Error(db, SQLITE_NOMEM); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } /* @@ -23935,9 +24079,10 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m sqlite3TreeViewPush(pView, 1); } do{ - sqlite3TreeViewLine(pView, "SELECT%s%s (0x%p) selFlags=0x%x", + sqlite3TreeViewLine(pView, "SELECT%s%s (0x%p) selFlags=0x%x nSelectRow=%d", ((p->selFlags & SF_Distinct) ? " DISTINCT" : ""), - ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), p, p->selFlags + ((p->selFlags & SF_Aggregate) ? " agg_flag" : ""), p, p->selFlags, + (int)p->nSelectRow ); if( cnt++ ) sqlite3TreeViewPop(pView); if( p->pPrior ){ @@ -24141,6 +24286,12 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m case TK_ISNULL: zUniOp = "ISNULL"; break; case TK_NOTNULL: zUniOp = "NOTNULL"; break; + case TK_SPAN: { + sqlite3TreeViewLine(pView, "SPAN %Q", pExpr->u.zToken); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); + break; + } + case TK_COLLATE: { sqlite3TreeViewLine(pView, "COLLATE %Q", pExpr->u.zToken); sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); @@ -24492,7 +24643,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate( *ppThread = 0; p = sqlite3Malloc(sizeof(*p)); - if( p==0 ) return SQLITE_NOMEM; + if( p==0 ) return SQLITE_NOMEM_BKPT; memset(p, 0, sizeof(*p)); p->xTask = xTask; p->pIn = pIn; @@ -24518,7 +24669,7 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ int rc; assert( ppOut!=0 ); - if( NEVER(p==0) ) return SQLITE_NOMEM; + if( NEVER(p==0) ) return SQLITE_NOMEM_BKPT; if( p->done ){ *ppOut = p->pOut; rc = SQLITE_OK; @@ -24583,7 +24734,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate( assert( xTask!=0 ); *ppThread = 0; p = sqlite3Malloc(sizeof(*p)); - if( p==0 ) return SQLITE_NOMEM; + if( p==0 ) return SQLITE_NOMEM_BKPT; /* If the SQLITE_TESTCTRL_FAULT_INSTALL callback is registered to a ** function that returns SQLITE_ERROR when passed the argument 200, that ** forces worker threads to run sequentially and deterministically @@ -24615,7 +24766,7 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ BOOL bRc; assert( ppOut!=0 ); - if( NEVER(p==0) ) return SQLITE_NOMEM; + if( NEVER(p==0) ) return SQLITE_NOMEM_BKPT; if( p->xTask==0 ){ /* assert( p->id==GetCurrentThreadId() ); */ rc = WAIT_OBJECT_0; @@ -24663,7 +24814,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate( assert( xTask!=0 ); *ppThread = 0; p = sqlite3Malloc(sizeof(*p)); - if( p==0 ) return SQLITE_NOMEM; + if( p==0 ) return SQLITE_NOMEM_BKPT; if( (SQLITE_PTR_TO_INT(p)/17)&1 ){ p->xTask = xTask; p->pIn = pIn; @@ -24679,7 +24830,7 @@ SQLITE_PRIVATE int sqlite3ThreadCreate( SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ assert( ppOut!=0 ); - if( NEVER(p==0) ) return SQLITE_NOMEM; + if( NEVER(p==0) ) return SQLITE_NOMEM_BKPT; if( p->xTask ){ *ppOut = p->xTask(p->pIn); }else{ @@ -24690,7 +24841,7 @@ SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread *p, void **ppOut){ #if defined(SQLITE_TEST) { void *pTstAlloc = sqlite3Malloc(10); - if (!pTstAlloc) return SQLITE_NOMEM; + if (!pTstAlloc) return SQLITE_NOMEM_BKPT; sqlite3_free(pTstAlloc); } #endif @@ -24937,7 +25088,7 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desired rc = sqlite3VdbeMemMakeWriteable(pMem); if( rc!=SQLITE_OK ){ assert( rc==SQLITE_NOMEM ); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } zIn = (u8*)pMem->z; zTerm = &zIn[pMem->n&~1]; @@ -24979,7 +25130,7 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desired zTerm = &zIn[pMem->n]; zOut = sqlite3DbMallocRaw(pMem->db, len); if( !zOut ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } z = zOut; @@ -25348,13 +25499,49 @@ SQLITE_PRIVATE int sqlite3Strlen30(const char *z){ return 0x3fffffff & (int)strlen(z); } +/* +** Return the declared type of a column. Or return zDflt if the column +** has no declared type. +** +** The column type is an extra string stored after the zero-terminator on +** the column name if and only if the COLFLAG_HASTYPE flag is set. +*/ +SQLITE_PRIVATE char *sqlite3ColumnType(Column *pCol, char *zDflt){ + if( (pCol->colFlags & COLFLAG_HASTYPE)==0 ) return zDflt; + return pCol->zName + strlen(pCol->zName) + 1; +} + +/* +** Helper function for sqlite3Error() - called rarely. Broken out into +** a separate routine to avoid unnecessary register saves on entry to +** sqlite3Error(). +*/ +static SQLITE_NOINLINE void sqlite3ErrorFinish(sqlite3 *db, int err_code){ + if( db->pErr ) sqlite3ValueSetNull(db->pErr); + sqlite3SystemError(db, err_code); +} + /* ** Set the current error code to err_code and clear any prior error message. +** Also set iSysErrno (by calling sqlite3System) if the err_code indicates +** that would be appropriate. */ SQLITE_PRIVATE void sqlite3Error(sqlite3 *db, int err_code){ assert( db!=0 ); db->errCode = err_code; - if( db->pErr ) sqlite3ValueSetNull(db->pErr); + if( err_code || db->pErr ) sqlite3ErrorFinish(db, err_code); +} + +/* +** Load the sqlite3.iSysErrno field if that is an appropriate thing +** to do based on the SQLite error code in rc. +*/ +SQLITE_PRIVATE void sqlite3SystemError(sqlite3 *db, int rc){ + if( rc==SQLITE_IOERR_NOMEM ) return; + rc &= 0xff; + if( rc==SQLITE_CANTOPEN || rc==SQLITE_IOERR ){ + db->iSysErrno = sqlite3OsGetLastError(db->pVfs); + } } /* @@ -25381,6 +25568,7 @@ SQLITE_PRIVATE void sqlite3Error(sqlite3 *db, int err_code){ SQLITE_PRIVATE void sqlite3ErrorWithMsg(sqlite3 *db, int err_code, const char *zFormat, ...){ assert( db!=0 ); db->errCode = err_code; + sqlite3SystemError(db, err_code); if( zFormat==0 ){ sqlite3Error(db, err_code); }else if( db->pErr || (db->pErr = sqlite3ValueNew(db))!=0 ){ @@ -25495,16 +25683,25 @@ SQLITE_PRIVATE void sqlite3TokenInit(Token *p, char *z){ ** independence" that SQLite uses internally when comparing identifiers. */ SQLITE_API int SQLITE_STDCALL sqlite3_stricmp(const char *zLeft, const char *zRight){ - register unsigned char *a, *b; if( zLeft==0 ){ return zRight ? -1 : 0; }else if( zRight==0 ){ return 1; } + return sqlite3StrICmp(zLeft, zRight); +} +SQLITE_PRIVATE int sqlite3StrICmp(const char *zLeft, const char *zRight){ + unsigned char *a, *b; + int c; a = (unsigned char *)zLeft; b = (unsigned char *)zRight; - while( *a!=0 && UpperToLower[*a]==UpperToLower[*b]){ a++; b++; } - return UpperToLower[*a] - UpperToLower[*b]; + for(;;){ + c = (int)UpperToLower[*a] - (int)UpperToLower[*b]; + if( c || *a==0 ) break; + a++; + b++; + } + return c; } SQLITE_API int SQLITE_STDCALL sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){ register unsigned char *a, *b; @@ -26315,7 +26512,7 @@ SQLITE_PRIVATE u8 sqlite3GetVarint32(const unsigned char *p, u32 *v){ */ SQLITE_PRIVATE int sqlite3VarintLen(u64 v){ int i; - for(i=1; (v >>= 7)!=0; i++){ assert( i<9 ); } + for(i=1; (v >>= 7)!=0; i++){ assert( i<10 ); } return i; } @@ -26346,10 +26543,12 @@ SQLITE_PRIVATE u32 sqlite3Get4byte(const u8 *p){ SQLITE_PRIVATE void sqlite3Put4byte(unsigned char *p, u32 v){ #if SQLITE_BYTEORDER==4321 memcpy(p,&v,4); -#elif SQLITE_BYTEORDER==1234 && defined(__GNUC__) && GCC_VERSION>=4003000 +#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ + && defined(__GNUC__) && GCC_VERSION>=4003000 u32 x = __builtin_bswap32(v); memcpy(p,&x,4); -#elif SQLITE_BYTEORDER==1234 && defined(_MSC_VER) && _MSC_VER>=1300 +#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ + && defined(_MSC_VER) && _MSC_VER>=1300 u32 x = _byteswap_ulong(v); memcpy(p,&x,4); #else @@ -26628,8 +26827,14 @@ SQLITE_PRIVATE LogEst sqlite3LogEstFromDouble(double x){ } #endif /* SQLITE_OMIT_VIRTUALTABLE */ +#if defined(SQLITE_ENABLE_STMT_SCANSTATUS) || \ + defined(SQLITE_ENABLE_STAT3_OR_STAT4) || \ + defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) /* ** Convert a LogEst into an integer. +** +** Note that this routine is only used when one or more of various +** non-standard compile-time options is enabled. */ SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst x){ u64 n; @@ -26638,11 +26843,17 @@ SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst x){ x /= 10; if( n>=5 ) n -= 2; else if( n>=1 ) n -= 1; - if( x>=3 ){ - return x>60 ? (u64)LARGEST_INT64 : (n+8)<<(x-3); - } - return (n+8)>>(3-x); +#if defined(SQLITE_ENABLE_STMT_SCANSTATUS) || \ + defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) + if( x>60 ) return (u64)LARGEST_INT64; +#else + /* If only SQLITE_ENABLE_STAT3_OR_STAT4 is on, then the largest input + ** possible to this routine is 310, resulting in a maximum x of 31 */ + assert( x<=60 ); +#endif + return x>=3 ? (n+8)<<(x-3) : (n+8)>>(3-x); } +#endif /* defined SCANSTAT or STAT4 or ESTIMATED_ROWS */ /************** End of util.c ************************************************/ /************** Begin file hash.c ********************************************/ @@ -27170,6 +27381,19 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ # endif #endif +/* Use pread() and pwrite() if they are available */ +#if defined(__APPLE__) +# define HAVE_PREAD 1 +# define HAVE_PWRITE 1 +#endif +#if defined(HAVE_PREAD64) && defined(HAVE_PWRITE64) +# undef USE_PREAD +# define USE_PREAD64 1 +#elif defined(HAVE_PREAD) && defined(HAVE_PWRITE) +# undef USE_PREAD64 +# define USE_PREAD 1 +#endif + /* ** standard include files. */ @@ -28599,7 +28823,7 @@ static int findInodeInfo( if( pInode==0 ){ pInode = sqlite3_malloc64( sizeof(*pInode) ); if( pInode==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset(pInode, 0, sizeof(*pInode)); memcpy(&pInode->fileId, &fileId, sizeof(fileId)); @@ -28641,12 +28865,16 @@ static int fileHasMoved(unixFile *pFile){ static void verifyDbFile(unixFile *pFile){ struct stat buf; int rc; + + /* These verifications occurs for the main database only */ + if( pFile->ctrlFlags & UNIXFILE_NOLOCK ) return; + rc = osFstat(pFile->h, &buf); if( rc!=0 ){ sqlite3_log(SQLITE_WARNING, "cannot fstat db file %s", pFile->zPath); return; } - if( buf.st_nlink==0 && (pFile->ctrlFlags & UNIXFILE_DELETE)==0 ){ + if( buf.st_nlink==0 ){ sqlite3_log(SQLITE_WARNING, "file unlinked while open: %s", pFile->zPath); return; } @@ -31519,7 +31747,7 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ /* Allocate space for the new unixShm object. */ p = sqlite3_malloc64( sizeof(*p) ); - if( p==0 ) return SQLITE_NOMEM; + if( p==0 ) return SQLITE_NOMEM_BKPT; memset(p, 0, sizeof(*p)); assert( pDbFd->pShm==0 ); @@ -31551,7 +31779,7 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ #endif pShmNode = sqlite3_malloc64( sizeof(*pShmNode) + nShmFilename ); if( pShmNode==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto shm_open_err; } memset(pShmNode, 0, sizeof(*pShmNode)+nShmFilename); @@ -31569,7 +31797,7 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ pShmNode->pInode = pDbFd->pInode; pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); if( pShmNode->mutex==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto shm_open_err; } @@ -31742,7 +31970,7 @@ static int unixShmMap( pShmNode->apRegion, nReqRegion*sizeof(char *) ); if( !apNew ){ - rc = SQLITE_IOERR_NOMEM; + rc = SQLITE_IOERR_NOMEM_BKPT; goto shmpage_out; } pShmNode->apRegion = apNew; @@ -31762,7 +31990,7 @@ static int unixShmMap( }else{ pMem = sqlite3_malloc64(szRegion); if( pMem==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto shmpage_out; } memset(pMem, 0, szRegion); @@ -32540,7 +32768,7 @@ static int fillInUnixFile( pNew->pId = vxworksFindFileId(zFilename); if( pNew->pId==0 ){ ctrlFlags |= UNIXFILE_NOLOCK; - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } #endif @@ -32596,7 +32824,7 @@ static int fillInUnixFile( afpLockingContext *pCtx; pNew->lockingContext = pCtx = sqlite3_malloc64( sizeof(*pCtx) ); if( pCtx==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ /* NB: zFilename exists and remains valid until the file is closed ** according to requirement F11141. So we do not need to make a @@ -32626,7 +32854,7 @@ static int fillInUnixFile( nFilename = (int)strlen(zFilename) + 6; zLockFile = (char *)sqlite3_malloc64(nFilename); if( zLockFile==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ sqlite3_snprintf(nFilename, zLockFile, "%s" DOTLOCK_SUFFIX, zFilename); } @@ -32649,7 +32877,7 @@ static int fillInUnixFile( if( zSemName[n]=='/' ) zSemName[n] = '_'; pNew->pInode->pSem = sem_open(zSemName, O_CREAT, 0666, 1); if( pNew->pInode->pSem == SEM_FAILED ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; pNew->pInode->aSemName[0] = '\0'; } } @@ -32990,7 +33218,7 @@ static int unixOpen( }else{ pUnused = sqlite3_malloc64(sizeof(*pUnused)); if( !pUnused ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } } p->pUnused = pUnused; @@ -33076,7 +33304,7 @@ static int unixOpen( zPath = sqlite3_mprintf("%s", zName); if( zPath==0 ){ robust_close(p, fd, __LINE__); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } #else osUnlink(zName); @@ -33087,9 +33315,6 @@ static int unixOpen( p->openFlags = openFlags; } #endif - - noLock = eType!=SQLITE_OPEN_MAIN_DB; - #if defined(__APPLE__) || SQLITE_ENABLE_LOCKING_STYLE if( fstatfs(fd, &fsInfo) == -1 ){ @@ -33108,6 +33333,7 @@ static int unixOpen( /* Set up appropriate ctrlFlags */ if( isDelete ) ctrlFlags |= UNIXFILE_DELETE; if( isReadonly ) ctrlFlags |= UNIXFILE_RDONLY; + noLock = eType!=SQLITE_OPEN_MAIN_DB; if( noLock ) ctrlFlags |= UNIXFILE_NOLOCK; if( syncDir ) ctrlFlags |= UNIXFILE_DIRSYNC; if( flags & SQLITE_OPEN_URI ) ctrlFlags |= UNIXFILE_URI; @@ -33308,7 +33534,7 @@ static int unixFullPathname( if( bLink ){ if( zDel==0 ){ zDel = sqlite3_malloc(nOut); - if( zDel==0 ) rc = SQLITE_NOMEM; + if( zDel==0 ) rc = SQLITE_NOMEM_BKPT; }else if( ++nLink>SQLITE_MAX_SYMLINKS ){ rc = SQLITE_CANTOPEN_BKPT; } @@ -33546,23 +33772,18 @@ static int unixCurrentTime(sqlite3_vfs *NotUsed, double *prNow){ # define unixCurrentTime 0 #endif -#ifndef SQLITE_OMIT_DEPRECATED /* -** We added the xGetLastError() method with the intention of providing -** better low-level error messages when operating-system problems come up -** during SQLite operation. But so far, none of that has been implemented -** in the core. So this routine is never called. For now, it is merely -** a place-holder. +** The xGetLastError() method is designed to return a better +** low-level error message when operating-system problems come up +** during SQLite operation. Only the integer return code is currently +** used. */ static int unixGetLastError(sqlite3_vfs *NotUsed, int NotUsed2, char *NotUsed3){ UNUSED_PARAMETER(NotUsed); UNUSED_PARAMETER(NotUsed2); UNUSED_PARAMETER(NotUsed3); - return 0; + return errno; } -#else -# define unixGetLastError 0 -#endif /* @@ -33852,7 +34073,7 @@ static int proxyCreateUnixFile( }else{ pUnused = sqlite3_malloc64(sizeof(*pUnused)); if( !pUnused ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } } if( fd<0 ){ @@ -33885,7 +34106,7 @@ static int proxyCreateUnixFile( pNew = (unixFile *)sqlite3_malloc64(sizeof(*pNew)); if( pNew==NULL ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto end_create_proxy; } memset(pNew, 0, sizeof(unixFile)); @@ -34298,7 +34519,7 @@ static int proxyTakeConch(unixFile *pFile){ if( tempLockPath ){ pCtx->lockProxyPath = sqlite3DbStrDup(0, tempLockPath); if( !pCtx->lockProxyPath ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } } } @@ -34363,7 +34584,7 @@ static int proxyCreateConchPathname(char *dbPath, char **pConchPath){ ** the name of the original database file. */ *pConchPath = conchPath = (char *)sqlite3_malloc64(len + 8); if( conchPath==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memcpy(conchPath, dbPath, len+1); @@ -34479,7 +34700,7 @@ static int proxyTransformUnixFile(unixFile *pFile, const char *path) { pCtx = sqlite3_malloc64( sizeof(*pCtx) ); if( pCtx==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset(pCtx, 0, sizeof(*pCtx)); @@ -34515,7 +34736,7 @@ static int proxyTransformUnixFile(unixFile *pFile, const char *path) { if( rc==SQLITE_OK ){ pCtx->dbPath = sqlite3DbStrDup(0, dbPath); if( pCtx->dbPath==NULL ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } } if( rc==SQLITE_OK ){ @@ -35413,11 +35634,23 @@ struct winFile { # define SQLITE_WIN32_HEAP_CREATE (TRUE) #endif +/* + * This is cache size used in the calculation of the initial size of the + * Win32-specific heap. It cannot be negative. + */ +#ifndef SQLITE_WIN32_CACHE_SIZE +# if SQLITE_DEFAULT_CACHE_SIZE>=0 +# define SQLITE_WIN32_CACHE_SIZE (SQLITE_DEFAULT_CACHE_SIZE) +# else +# define SQLITE_WIN32_CACHE_SIZE (-(SQLITE_DEFAULT_CACHE_SIZE)) +# endif +#endif + /* * The initial size of the Win32-specific heap. This value may be zero. */ #ifndef SQLITE_WIN32_HEAP_INIT_SIZE -# define SQLITE_WIN32_HEAP_INIT_SIZE ((SQLITE_DEFAULT_CACHE_SIZE) * \ +# define SQLITE_WIN32_HEAP_INIT_SIZE ((SQLITE_WIN32_CACHE_SIZE) * \ (SQLITE_DEFAULT_PAGE_SIZE) + 4194304) #endif @@ -36291,7 +36524,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_win32_compact_heap(LPUINT pnLargest){ if( lastErrno==NO_ERROR ){ sqlite3_log(SQLITE_NOMEM, "failed to HeapCompact (no space), heap=%p", (void*)hHeap); - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ sqlite3_log(SQLITE_ERROR, "failed to HeapCompact (%lu), heap=%p", osGetLastError(), (void*)hHeap); @@ -36611,7 +36844,7 @@ static int winMemInit(void *pAppData){ "failed to HeapCreate (%lu), flags=%u, initSize=%lu, maxSize=%lu", osGetLastError(), SQLITE_WIN32_HEAP_FLAGS, dwInitialSize, dwMaximumSize); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pWinMemData->bOwned = TRUE; assert( pWinMemData->bOwned ); @@ -36621,7 +36854,7 @@ static int winMemInit(void *pAppData){ if( !pWinMemData->hHeap ){ sqlite3_log(SQLITE_NOMEM, "failed to GetProcessHeap (%lu)", osGetLastError()); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pWinMemData->bOwned = FALSE; assert( !pWinMemData->bOwned ); @@ -36858,7 +37091,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_win32_set_directory(DWORD type, LPCWSTR zV if( zValue && zValue[0] ){ zValueUtf8 = winUnicodeToUtf8(zValue); if ( zValueUtf8==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } } sqlite3_free(*ppDirectory); @@ -37135,7 +37368,7 @@ static int winceCreateLock(const char *zFilename, winFile *pFile){ zName = winUtf8ToUnicode(zFilename); if( zName==0 ){ /* out of memory */ - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } /* Initialize the local lockdata */ @@ -38326,7 +38559,7 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){ OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); return SQLITE_OK; } - case SQLITE_LAST_ERRNO: { + case SQLITE_FCNTL_LAST_ERRNO: { *(int*)pArg = (int)pFile->lastErrno; OSTRACE(("FCNTL file=%p, rc=SQLITE_OK\n", pFile->h)); return SQLITE_OK; @@ -38684,12 +38917,12 @@ static int winOpenSharedMemory(winFile *pDbFd){ ** allocate space for a new winShmNode and filename. */ p = sqlite3MallocZero( sizeof(*p) ); - if( p==0 ) return SQLITE_IOERR_NOMEM; + if( p==0 ) return SQLITE_IOERR_NOMEM_BKPT; nName = sqlite3Strlen30(pDbFd->zPath); pNew = sqlite3MallocZero( sizeof(*pShmNode) + nName + 17 ); if( pNew==0 ){ sqlite3_free(p); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } pNew->zFilename = (char*)&pNew[1]; sqlite3_snprintf(nName+15, pNew->zFilename, "%s-shm", pDbFd->zPath); @@ -38716,7 +38949,7 @@ static int winOpenSharedMemory(winFile *pDbFd){ pShmNode->mutex = sqlite3_mutex_alloc(SQLITE_MUTEX_FAST); if( pShmNode->mutex==0 ){ - rc = SQLITE_IOERR_NOMEM; + rc = SQLITE_IOERR_NOMEM_BKPT; goto shm_open_err; } @@ -39021,7 +39254,7 @@ static int winShmMap( pShmNode->aRegion, (iRegion+1)*sizeof(apNew[0]) ); if( !apNew ){ - rc = SQLITE_IOERR_NOMEM; + rc = SQLITE_IOERR_NOMEM_BKPT; goto shmpage_out; } pShmNode->aRegion = apNew; @@ -39451,7 +39684,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ zBuf = sqlite3MallocZero( nBuf ); if( !zBuf ){ OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } /* Figure out the effective temporary directory. First, check if one @@ -39509,7 +39742,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ if( !zConverted ){ sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( winIsDir(zConverted) ){ sqlite3_snprintf(nMax, zBuf, "%s", zDir); @@ -39522,7 +39755,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ if( !zConverted ){ sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( cygwin_conv_path( osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A, zDir, @@ -39543,7 +39776,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ sqlite3_free(zConverted); sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } sqlite3_snprintf(nMax, zBuf, "%s", zUtf8); sqlite3_free(zUtf8); @@ -39561,7 +39794,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ if( !zWidePath ){ sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( osGetTempPathW(nMax, zWidePath)==0 ){ sqlite3_free(zWidePath); @@ -39579,7 +39812,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ sqlite3_free(zWidePath); sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } } #ifdef SQLITE_WIN32_HAS_ANSI @@ -39589,7 +39822,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ if( !zMbcsPath ){ sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( osGetTempPathA(nMax, zMbcsPath)==0 ){ sqlite3_free(zBuf); @@ -39604,7 +39837,7 @@ static int winGetTempname(sqlite3_vfs *pVfs, char **pzBuf){ }else{ sqlite3_free(zBuf); OSTRACE(("TEMP-FILENAME rc=SQLITE_IOERR_NOMEM\n")); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } } #endif /* SQLITE_WIN32_HAS_ANSI */ @@ -39796,7 +40029,7 @@ static int winOpen( if( zConverted==0 ){ sqlite3_free(zTmpname); OSTRACE(("OPEN name=%s, rc=SQLITE_IOERR_NOMEM", zUtf8Name)); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( winIsDir(zConverted) ){ @@ -39996,7 +40229,7 @@ static int winDelete( zConverted = winConvertFromUtf8Filename(zFilename); if( zConverted==0 ){ OSTRACE(("DELETE name=%s, rc=SQLITE_IOERR_NOMEM\n", zFilename)); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( osIsNT() ){ do { @@ -40104,7 +40337,7 @@ static int winAccess( zConverted = winConvertFromUtf8Filename(zFilename); if( zConverted==0 ){ OSTRACE(("ACCESS name=%s, rc=SQLITE_IOERR_NOMEM\n", zFilename)); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( osIsNT() ){ int cnt = 0; @@ -40231,7 +40464,7 @@ static int winFullPathname( */ char *zOut = sqlite3MallocZero( pVfs->mxPathname+1 ); if( !zOut ){ - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( cygwin_conv_path( (osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A) | @@ -40243,7 +40476,7 @@ static int winFullPathname( char *zUtf8 = winConvertToUtf8Filename(zOut); if( !zUtf8 ){ sqlite3_free(zOut); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s%c%s", sqlite3_data_directory, winGetDirSep(), zUtf8); @@ -40253,7 +40486,7 @@ static int winFullPathname( }else{ char *zOut = sqlite3MallocZero( pVfs->mxPathname+1 ); if( !zOut ){ - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( cygwin_conv_path( (osIsNT() ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_A), @@ -40265,7 +40498,7 @@ static int winFullPathname( char *zUtf8 = winConvertToUtf8Filename(zOut); if( !zUtf8 ){ sqlite3_free(zOut); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } sqlite3_snprintf(MIN(nFull, pVfs->mxPathname), zFull, "%s", zUtf8); sqlite3_free(zUtf8); @@ -40325,7 +40558,7 @@ static int winFullPathname( } zConverted = winConvertFromUtf8Filename(zRelative); if( zConverted==0 ){ - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } if( osIsNT() ){ LPWSTR zTemp; @@ -40339,7 +40572,7 @@ static int winFullPathname( zTemp = sqlite3MallocZero( nByte*sizeof(zTemp[0]) ); if( zTemp==0 ){ sqlite3_free(zConverted); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } nByte = osGetFullPathNameW((LPCWSTR)zConverted, nByte, zTemp, 0); if( nByte==0 ){ @@ -40365,7 +40598,7 @@ static int winFullPathname( zTemp = sqlite3MallocZero( nByte*sizeof(zTemp[0]) ); if( zTemp==0 ){ sqlite3_free(zConverted); - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } nByte = osGetFullPathNameA((char*)zConverted, nByte, zTemp, 0); if( nByte==0 ){ @@ -40384,7 +40617,7 @@ static int winFullPathname( sqlite3_free(zOut); return SQLITE_OK; }else{ - return SQLITE_IOERR_NOMEM; + return SQLITE_IOERR_NOMEM_BKPT; } #endif } @@ -40459,65 +40692,85 @@ static void winDlClose(sqlite3_vfs *pVfs, void *pHandle){ #define winDlClose 0 #endif +/* State information for the randomness gatherer. */ +typedef struct EntropyGatherer EntropyGatherer; +struct EntropyGatherer { + unsigned char *a; /* Gather entropy into this buffer */ + int na; /* Size of a[] in bytes */ + int i; /* XOR next input into a[i] */ + int nXor; /* Number of XOR operations done */ +}; + +#if !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS) +/* Mix sz bytes of entropy into p. */ +static void xorMemory(EntropyGatherer *p, unsigned char *x, int sz){ + int j, k; + for(j=0, k=p->i; ja[k++] ^= x[j]; + if( k>=p->na ) k = 0; + } + p->i = k; + p->nXor += sz; +} +#endif /* !defined(SQLITE_TEST) && !defined(SQLITE_OMIT_RANDOMNESS) */ /* ** Write up to nBuf bytes of randomness into zBuf. */ static int winRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){ - int n = 0; - UNUSED_PARAMETER(pVfs); #if defined(SQLITE_TEST) || defined(SQLITE_OMIT_RANDOMNESS) - n = nBuf; + UNUSED_PARAMETER(pVfs); memset(zBuf, 0, nBuf); + return nBuf; #else - if( sizeof(SYSTEMTIME)<=nBuf-n ){ + EntropyGatherer e; + UNUSED_PARAMETER(pVfs); + memset(zBuf, 0, nBuf); +#if defined(_MSC_VER) && _MSC_VER>=1400 && !SQLITE_OS_WINCE + rand_s((unsigned int*)zBuf); /* rand_s() is not available with MinGW */ +#endif /* defined(_MSC_VER) && _MSC_VER>=1400 */ + e.a = (unsigned char*)zBuf; + e.na = nBuf; + e.nXor = 0; + e.i = 0; + { SYSTEMTIME x; osGetSystemTime(&x); - memcpy(&zBuf[n], &x, sizeof(x)); - n += sizeof(x); + xorMemory(&e, (unsigned char*)&x, sizeof(SYSTEMTIME)); } - if( sizeof(DWORD)<=nBuf-n ){ + { DWORD pid = osGetCurrentProcessId(); - memcpy(&zBuf[n], &pid, sizeof(pid)); - n += sizeof(pid); + xorMemory(&e, (unsigned char*)&pid, sizeof(DWORD)); } #if SQLITE_OS_WINRT - if( sizeof(ULONGLONG)<=nBuf-n ){ + { ULONGLONG cnt = osGetTickCount64(); - memcpy(&zBuf[n], &cnt, sizeof(cnt)); - n += sizeof(cnt); + xorMemory(&e, (unsigned char*)&cnt, sizeof(ULONGLONG)); } #else - if( sizeof(DWORD)<=nBuf-n ){ + { DWORD cnt = osGetTickCount(); - memcpy(&zBuf[n], &cnt, sizeof(cnt)); - n += sizeof(cnt); + xorMemory(&e, (unsigned char*)&cnt, sizeof(DWORD)); } -#endif - if( sizeof(LARGE_INTEGER)<=nBuf-n ){ +#endif /* SQLITE_OS_WINRT */ + { LARGE_INTEGER i; osQueryPerformanceCounter(&i); - memcpy(&zBuf[n], &i, sizeof(i)); - n += sizeof(i); + xorMemory(&e, (unsigned char*)&i, sizeof(LARGE_INTEGER)); } #if !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && SQLITE_WIN32_USE_UUID - if( sizeof(UUID)<=nBuf-n ){ + { UUID id; memset(&id, 0, sizeof(UUID)); osUuidCreate(&id); - memcpy(&zBuf[n], &id, sizeof(UUID)); - n += sizeof(UUID); - } - if( sizeof(UUID)<=nBuf-n ){ - UUID id; + xorMemory(&e, (unsigned char*)&id, sizeof(UUID)); memset(&id, 0, sizeof(UUID)); osUuidCreateSequential(&id); - memcpy(&zBuf[n], &id, sizeof(UUID)); - n += sizeof(UUID); + xorMemory(&e, (unsigned char*)&id, sizeof(UUID)); } -#endif -#endif /* defined(SQLITE_TEST) || defined(SQLITE_ZERO_PRNG_SEED) */ - return n; +#endif /* !SQLITE_OS_WINCE && !SQLITE_OS_WINRT && SQLITE_WIN32_USE_UUID */ + return e.nXor>nBuf ? nBuf : e.nXor; +#endif /* defined(SQLITE_TEST) || defined(SQLITE_OMIT_RANDOMNESS) */ } @@ -40633,8 +40886,10 @@ static int winCurrentTime(sqlite3_vfs *pVfs, double *prNow){ ** sqlite3_errmsg(), possibly making IO errors easier to debug. */ static int winGetLastError(sqlite3_vfs *pVfs, int nBuf, char *zBuf){ + DWORD e = osGetLastError(); UNUSED_PARAMETER(pVfs); - return winGetLastErrorMsg(osGetLastError(), nBuf, zBuf); + if( nBuf>0 ) winGetLastErrorMsg(e, nBuf, zBuf); + return e; } /* @@ -40908,7 +41163,7 @@ SQLITE_PRIVATE int sqlite3BitvecSet(Bitvec *p, u32 i){ i = i%p->iDivisor; if( p->u.apSub[bin]==0 ){ p->u.apSub[bin] = sqlite3BitvecCreate( p->iDivisor ); - if( p->u.apSub[bin]==0 ) return SQLITE_NOMEM; + if( p->u.apSub[bin]==0 ) return SQLITE_NOMEM_BKPT; } p = p->u.apSub[bin]; } @@ -40943,7 +41198,7 @@ SQLITE_PRIVATE int sqlite3BitvecSet(Bitvec *p, u32 i){ int rc; u32 *aiValues = sqlite3StackAllocRaw(0, sizeof(p->u.aHash)); if( aiValues==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; }else{ memcpy(aiValues, p->u.aHash, sizeof(p->u.aHash)); memset(p->u.apSub, 0, sizeof(p->u.apSub)); @@ -41336,7 +41591,7 @@ SQLITE_PRIVATE int sqlite3PcacheSetPageSize(PCache *pCache, int szPage){ szPage, pCache->szExtra + ROUND8(sizeof(PgHdr)), pCache->bPurgeable ); - if( pNew==0 ) return SQLITE_NOMEM; + if( pNew==0 ) return SQLITE_NOMEM_BKPT; sqlite3GlobalConfig.pcache2.xCachesize(pNew, numberOfCachePages(pCache)); if( pCache->pCache ){ sqlite3GlobalConfig.pcache2.xDestroy(pCache->pCache); @@ -41446,7 +41701,7 @@ SQLITE_PRIVATE int sqlite3PcacheFetchStress( } } *ppPage = sqlite3GlobalConfig.pcache2.xFetch(pCache->pCache, pgno, 2); - return *ppPage==0 ? SQLITE_NOMEM : SQLITE_OK; + return *ppPage==0 ? SQLITE_NOMEM_BKPT : SQLITE_OK; } /* @@ -42187,7 +42442,6 @@ static void *pcache1Alloc(int nByte){ ** Free an allocated buffer obtained from pcache1Alloc(). */ static void pcache1Free(void *p){ - int nFreed = 0; if( p==0 ) return; if( SQLITE_WITHIN(p, pcache1.pStart, pcache1.pEnd) ){ PgFreeslot *pSlot; @@ -42204,10 +42458,13 @@ static void pcache1Free(void *p){ assert( sqlite3MemdebugHasType(p, MEMTYPE_PCACHE) ); sqlite3MemdebugSetType(p, MEMTYPE_HEAP); #ifndef SQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS - nFreed = sqlite3MallocSize(p); - sqlite3_mutex_enter(pcache1.mutex); - sqlite3StatusDown(SQLITE_STATUS_PAGECACHE_OVERFLOW, nFreed); - sqlite3_mutex_leave(pcache1.mutex); + { + int nFreed = 0; + nFreed = sqlite3MallocSize(p); + sqlite3_mutex_enter(pcache1.mutex); + sqlite3StatusDown(SQLITE_STATUS_PAGECACHE_OVERFLOW, nFreed); + sqlite3_mutex_leave(pcache1.mutex); + } #endif sqlite3_free(p); } @@ -44166,19 +44423,6 @@ int sqlite3PagerTrace=1; /* True to enable tracing */ */ #define MAX_SECTOR_SIZE 0x10000 -/* -** If the option SQLITE_EXTRA_DURABLE option is set at compile-time, then -** SQLite will do extra fsync() operations when synchronous==FULL to help -** ensure that transactions are durable across a power failure. Most -** applications are happy as long as transactions are consistent across -** a power failure, and are perfectly willing to lose the last transaction -** in exchange for the extra performance of avoiding directory syncs. -** And so the default SQLITE_EXTRA_DURABLE setting is off. -*/ -#ifndef SQLITE_EXTRA_DURABLE -# define SQLITE_EXTRA_DURABLE 0 -#endif - /* ** An instance of the following structure is allocated for each active @@ -45081,6 +45325,7 @@ static i64 journalHdrOffset(Pager *pPager){ static int zeroJournalHdr(Pager *pPager, int doTruncate){ int rc = SQLITE_OK; /* Return code */ assert( isOpen(pPager->jfd) ); + assert( !sqlite3JournalIsInMemory(pPager->jfd) ); if( pPager->journalOff ){ const i64 iLimit = pPager->journalSizeLimit; /* Local cache of jsl */ @@ -45462,7 +45707,7 @@ static void releaseAllSavepoints(Pager *pPager){ for(ii=0; iinSavepoint; ii++){ sqlite3BitvecDestroy(pPager->aSavepoint[ii].pInSavepoint); } - if( !pPager->exclusiveMode || sqlite3IsMemJournal(pPager->sjfd) ){ + if( !pPager->exclusiveMode || sqlite3JournalIsInMemory(pPager->sjfd) ){ sqlite3OsClose(pPager->sjfd); } sqlite3_free(pPager->aSavepoint); @@ -45700,8 +45945,8 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ assert( !pagerUseWal(pPager) ); /* Finalize the journal file. */ - if( sqlite3IsMemJournal(pPager->jfd) ){ - assert( pPager->journalMode==PAGER_JOURNALMODE_MEMORY ); + if( sqlite3JournalIsInMemory(pPager->jfd) ){ + /* assert( pPager->journalMode==PAGER_JOURNALMODE_MEMORY ); */ sqlite3OsClose(pPager->jfd); }else if( pPager->journalMode==PAGER_JOURNALMODE_TRUNCATE ){ if( pPager->journalOff==0 ){ @@ -45727,9 +45972,10 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ /* This branch may be executed with Pager.journalMode==MEMORY if ** a hot-journal was just rolled back. In this case the journal ** file should be closed and deleted. If this connection writes to - ** the database file, it will do so using an in-memory journal. + ** the database file, it will do so using an in-memory journal. */ - int bDelete = (!pPager->tempFile && sqlite3JournalExists(pPager->jfd)); + int bDelete = !pPager->tempFile; + assert( sqlite3JournalIsInMemory(pPager->jfd)==0 ); assert( pPager->journalMode==PAGER_JOURNALMODE_DELETE || pPager->journalMode==PAGER_JOURNALMODE_MEMORY || pPager->journalMode==PAGER_JOURNALMODE_WAL @@ -46062,9 +46308,9 @@ static int pager_playback_one_page( pPager->dbFileSize = pgno; } if( pPager->pBackup ){ - CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM); + CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM_BKPT); sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)aData); - CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM, aData); + CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM_BKPT, aData); } }else if( !isMainJrnl && pPg==0 ){ /* If this is a rollback of a savepoint and data was not written to @@ -46136,7 +46382,7 @@ static int pager_playback_one_page( } /* Decode the page just read from disk */ - CODEC1(pPager, pData, pPg->pgno, 3, rc=SQLITE_NOMEM); + CODEC1(pPager, pData, pPg->pgno, 3, rc=SQLITE_NOMEM_BKPT); sqlite3PcacheRelease(pPg); } return rc; @@ -46202,7 +46448,7 @@ static int pager_delmaster(Pager *pPager, const char *zMaster){ pMaster = (sqlite3_file *)sqlite3MallocZero(pVfs->szOsFile * 2); pJournal = (sqlite3_file *)(((u8 *)pMaster) + pVfs->szOsFile); if( !pMaster ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ const int flags = (SQLITE_OPEN_READONLY|SQLITE_OPEN_MASTER_JOURNAL); rc = sqlite3OsOpen(pVfs, zMaster, pMaster, flags, 0); @@ -46219,7 +46465,7 @@ static int pager_delmaster(Pager *pPager, const char *zMaster){ nMasterPtr = pVfs->mxPathname+1; zMasterJournal = sqlite3Malloc(nMasterJournal + nMasterPtr + 1); if( !zMasterJournal ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto delmaster_out; } zMasterPtr = &zMasterJournal[nMasterJournal+1]; @@ -46467,7 +46713,7 @@ static int pager_playback(Pager *pPager, int isHot){ ** TODO: Technically the following is an error because it assumes that ** buffer Pager.pTmpSpace is (mxPathname+1) bytes or larger. i.e. that ** (pPager->pageSize >= pPager->pVfs->mxPathname+1). Using os_unix.c, - ** mxPathname is 512, which is the same as the minimum allowable value + ** mxPathname is 512, which is the same as the minimum allowable value ** for pageSize. */ zMaster = pPager->pTmpSpace; @@ -46689,7 +46935,7 @@ static int readDbPage(PgHdr *pPg, u32 iFrame){ memcpy(&pPager->dbFileVers, dbFileVers, sizeof(pPager->dbFileVers)); } } - CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM); + CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM_BKPT); PAGER_INCR(sqlite3_pager_readdb_count); PAGER_INCR(pPager->nRead); @@ -47049,7 +47295,7 @@ static int pagerPlaybackSavepoint(Pager *pPager, PagerSavepoint *pSavepoint){ if( pSavepoint ){ pDone = sqlite3BitvecCreate(pSavepoint->nOrig); if( !pDone ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } } @@ -47196,7 +47442,7 @@ SQLITE_PRIVATE void sqlite3PagerShrink(Pager *pPager){ ** The "level" in pgFlags & PAGER_SYNCHRONOUS_MASK sets the robustness ** of the database to damage due to OS crashes or power failures by ** changing the number of syncs()s when writing the journals. -** There are three levels: +** There are four levels: ** ** OFF sqlite3OsSync() is never called. This is the default ** for temporary and transient files. @@ -47216,6 +47462,10 @@ SQLITE_PRIVATE void sqlite3PagerShrink(Pager *pPager){ ** assurance that the journal will not be corrupted to the ** point of causing damage to the database during rollback. ** +** EXTRA This is like FULL except that is also syncs the directory +** that contains the rollback journal after the rollback +** journal is unlinked. +** ** The above is for a rollback-journal mode. For WAL mode, OFF continues ** to mean that no syncs ever occur. NORMAL means that the WAL is synced ** prior to the start of checkpoint and that the database file is synced @@ -47223,7 +47473,8 @@ SQLITE_PRIVATE void sqlite3PagerShrink(Pager *pPager){ ** was written back into the database. But no sync operations occur for ** an ordinary commit in NORMAL mode with WAL. FULL means that the WAL ** file is synced following each commit operation, in addition to the -** syncs associated with NORMAL. +** syncs associated with NORMAL. There is no difference between FULL +** and EXTRA for WAL mode. ** ** Do not confuse synchronous=FULL with SQLITE_SYNC_FULL. The ** SQLITE_SYNC_FULL macro means to use the MacOSX-style full-fsync @@ -47412,7 +47663,7 @@ SQLITE_PRIVATE int sqlite3PagerSetPagesize(Pager *pPager, u32 *pPageSize, int nR } if( rc==SQLITE_OK ){ pNew = (char *)sqlite3PageMalloc(pageSize); - if( !pNew ) rc = SQLITE_NOMEM; + if( !pNew ) rc = SQLITE_NOMEM_BKPT; } if( rc==SQLITE_OK ){ @@ -47688,7 +47939,7 @@ static int pagerAcquireMapPage( *ppPage = p = (PgHdr *)sqlite3MallocZero(sizeof(PgHdr) + pPager->nExtra); if( p==0 ){ sqlite3OsUnfetch(pPager->fd, (i64)(pgno-1) * pPager->pageSize, pData); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } p->pExtra = (void *)&p[1]; p->flags = PGHDR_MMAP; @@ -48046,7 +48297,7 @@ static int pager_write_pagelist(Pager *pPager, PgHdr *pList){ if( pList->pgno==1 ) pager_write_changecounter(pList); /* Encode the database */ - CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM, pData); + CODEC2(pPager, pList->pData, pgno, 6, return SQLITE_NOMEM_BKPT, pData); /* Write out the page data. */ rc = sqlite3OsWrite(pPager->fd, pData, pPager->pageSize, offset); @@ -48091,11 +48342,14 @@ static int pager_write_pagelist(Pager *pPager, PgHdr *pList){ static int openSubJournal(Pager *pPager){ int rc = SQLITE_OK; if( !isOpen(pPager->sjfd) ){ + const int flags = SQLITE_OPEN_SUBJOURNAL | SQLITE_OPEN_READWRITE + | SQLITE_OPEN_CREATE | SQLITE_OPEN_EXCLUSIVE + | SQLITE_OPEN_DELETEONCLOSE; + int nStmtSpill = sqlite3Config.nStmtSpill; if( pPager->journalMode==PAGER_JOURNALMODE_MEMORY || pPager->subjInMemory ){ - sqlite3MemJournalOpen(pPager->sjfd); - }else{ - rc = pagerOpentemp(pPager, pPager->sjfd, SQLITE_OPEN_SUBJOURNAL); + nStmtSpill = -1; } + rc = sqlite3JournalOpen(pPager->pVfs, 0, pPager->sjfd, flags, nStmtSpill); } return rc; } @@ -48133,7 +48387,7 @@ static int subjournalPage(PgHdr *pPg){ i64 offset = (i64)pPager->nSubRec*(4+pPager->pageSize); char *pData2; - CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); + CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM_BKPT, pData2); PAGERTRACE(("STMT-JOURNAL %d page %d\n", PAGERID(pPager), pPg->pgno)); rc = write32bits(pPager->sjfd, offset, pPg->pgno); if( rc==SQLITE_OK ){ @@ -48316,18 +48570,8 @@ SQLITE_PRIVATE int sqlite3PagerOpen( int nUri = 0; /* Number of bytes of URI args at *zUri */ /* Figure out how much space is required for each journal file-handle - ** (there are two of them, the main journal and the sub-journal). This - ** is the maximum space required for an in-memory journal file handle - ** and a regular journal file-handle. Note that a "regular journal-handle" - ** may be a wrapper capable of caching the first portion of the journal - ** file in memory to implement the atomic-write optimization (see - ** source file journal.c). - */ - if( sqlite3JournalSize(pVfs)>sqlite3MemJournalSize() ){ - journalFileSize = ROUND8(sqlite3JournalSize(pVfs)); - }else{ - journalFileSize = ROUND8(sqlite3MemJournalSize()); - } + ** (there are two of them, the main journal and the sub-journal). */ + journalFileSize = ROUND8(sqlite3JournalSize(pVfs)); /* Set the output variable to NULL in case an error occurs. */ *ppPager = 0; @@ -48337,7 +48581,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( memDb = 1; if( zFilename && zFilename[0] ){ zPathname = sqlite3DbStrDup(0, zFilename); - if( zPathname==0 ) return SQLITE_NOMEM; + if( zPathname==0 ) return SQLITE_NOMEM_BKPT; nPathname = sqlite3Strlen30(zPathname); zFilename = 0; } @@ -48353,7 +48597,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( nPathname = pVfs->mxPathname+1; zPathname = sqlite3DbMallocRaw(0, nPathname*2); if( zPathname==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } zPathname[0] = 0; /* Make sure initialized even if FullPathname() fails */ rc = sqlite3OsFullPathname(pVfs, zFilename, nPathname, zPathname); @@ -48406,7 +48650,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( assert( EIGHT_BYTE_ALIGNMENT(SQLITE_INT_TO_PTR(journalFileSize)) ); if( !pPtr ){ sqlite3DbFree(0, zPathname); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pPager = (Pager*)(pPtr); pPager->pPCache = (PCache*)(pPtr += ROUND8(sizeof(*pPager))); @@ -48561,11 +48805,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( assert( pPager->ckptSyncFlags==0 ); }else{ pPager->fullSync = 1; -#if SQLITE_EXTRA_DURABLE - pPager->extraSync = 1; -#else pPager->extraSync = 0; -#endif pPager->syncFlags = SQLITE_SYNC_NORMAL; pPager->walSyncFlags = SQLITE_SYNC_NORMAL | WAL_SYNC_TRANSACTIONS; pPager->ckptSyncFlags = SQLITE_SYNC_NORMAL; @@ -49126,7 +49366,7 @@ SQLITE_PRIVATE int sqlite3PagerGet( if( rc!=SQLITE_OK ) goto pager_acquire_err; if( pBase==0 ){ pPg = *ppPage = 0; - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto pager_acquire_err; } } @@ -49300,7 +49540,7 @@ static int pager_open_journal(Pager *pPager){ if( !pagerUseWal(pPager) && pPager->journalMode!=PAGER_JOURNALMODE_OFF ){ pPager->pInJournal = sqlite3BitvecCreate(pPager->dbSize); if( pPager->pInJournal==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } /* Open the journal file if it is not already open. */ @@ -49455,7 +49695,7 @@ static SQLITE_NOINLINE int pagerAddPageToRollbackJournal(PgHdr *pPg){ assert( pPg->pgno!=PAGER_MJ_PGNO(pPager) ); assert( pPager->journalHdr<=pPager->journalOff ); - CODEC2(pPager, pPg->pData, pPg->pgno, 7, return SQLITE_NOMEM, pData2); + CODEC2(pPager, pPg->pData, pPg->pgno, 7, return SQLITE_NOMEM_BKPT, pData2); cksum = pager_cksum(pPager, (u8*)pData2); /* Even if an IO or diskfull error occurs while journalling the @@ -49812,7 +50052,7 @@ static int pager_incr_changecounter(Pager *pPager, int isDirectMode){ if( DIRECT_MODE ){ const void *zBuf; assert( pPager->dbFileSize>0 ); - CODEC2(pPager, pPgHdr->pData, 1, 6, rc=SQLITE_NOMEM, zBuf); + CODEC2(pPager, pPgHdr->pData, 1, 6, rc=SQLITE_NOMEM_BKPT, zBuf); if( rc==SQLITE_OK ){ rc = sqlite3OsWrite(pPager->fd, zBuf, pPager->pageSize, 0); pPager->aStat[PAGER_STAT_WRITE]++; @@ -50311,7 +50551,7 @@ static SQLITE_NOINLINE int pagerOpenSavepoint(Pager *pPager, int nSavepoint){ pPager->aSavepoint, sizeof(PagerSavepoint)*nSavepoint ); if( !aNew ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset(&aNew[nCurrent], 0, (nSavepoint-nCurrent) * sizeof(PagerSavepoint)); pPager->aSavepoint = aNew; @@ -50327,7 +50567,7 @@ static SQLITE_NOINLINE int pagerOpenSavepoint(Pager *pPager, int nSavepoint){ aNew[ii].iSubRec = pPager->nSubRec; aNew[ii].pInSavepoint = sqlite3BitvecCreate(pPager->dbSize); if( !aNew[ii].pInSavepoint ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } if( pagerUseWal(pPager) ){ sqlite3WalSavepoint(pPager->pWal, aNew[ii].aWalData); @@ -50405,7 +50645,7 @@ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint){ if( op==SAVEPOINT_RELEASE ){ if( nNew==0 && isOpen(pPager->sjfd) ){ /* Only truncate if it is an in-memory sub-journal. */ - if( sqlite3IsMemJournal(pPager->sjfd) ){ + if( sqlite3JournalIsInMemory(pPager->sjfd) ){ rc = sqlite3OsTruncate(pPager->sjfd, 0); assert( rc==SQLITE_OK ); } @@ -50476,14 +50716,6 @@ SQLITE_PRIVATE const char *sqlite3PagerJournalname(Pager *pPager){ return pPager->zJournal; } -/* -** Return true if fsync() calls are disabled for this pager. Return FALSE -** if fsync()s are executed normally. -*/ -SQLITE_PRIVATE int sqlite3PagerNosync(Pager *pPager){ - return pPager->noSync; -} - #ifdef SQLITE_HAS_CODEC /* ** Set or retrieve the codec for this pager @@ -50930,6 +51162,7 @@ SQLITE_PRIVATE int sqlite3PagerWalCallback(Pager *pPager){ */ SQLITE_PRIVATE int sqlite3PagerWalSupported(Pager *pPager){ const sqlite3_io_methods *pMethods = pPager->fd->pMethods; + if( pPager->noLock ) return 0; return pPager->exclusiveMode || (pMethods->iVersion>=2 && pMethods->xShmMap); } @@ -51675,7 +51908,7 @@ static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ apNew = (volatile u32 **)sqlite3_realloc64((void *)pWal->apWiData, nByte); if( !apNew ){ *ppPage = 0; - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset((void*)&apNew[pWal->nWiData], 0, sizeof(u32*)*(iPage+1-pWal->nWiData)); @@ -51687,7 +51920,7 @@ static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ if( pWal->apWiData[iPage]==0 ){ if( pWal->exclusiveMode==WAL_HEAPMEMORY_MODE ){ pWal->apWiData[iPage] = (u32 volatile *)sqlite3MallocZero(WALINDEX_PGSZ); - if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM; + if( !pWal->apWiData[iPage] ) rc = SQLITE_NOMEM_BKPT; }else{ rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ, pWal->writeLock, (void volatile **)&pWal->apWiData[iPage] @@ -52302,7 +52535,7 @@ static int walIndexRecover(Wal *pWal){ szFrame = szPage + WAL_FRAME_HDRSIZE; aFrame = (u8 *)sqlite3_malloc64(szFrame); if( !aFrame ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto recovery_error; } aData = &aFrame[WAL_FRAME_HDRSIZE]; @@ -52440,7 +52673,7 @@ SQLITE_PRIVATE int sqlite3WalOpen( *ppWal = 0; pRet = (Wal*)sqlite3MallocZero(sizeof(Wal) + pVfs->szOsFile); if( !pRet ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pRet->pVfs = pVfs; @@ -52704,7 +52937,7 @@ static int walIteratorInit(Wal *pWal, WalIterator **pp){ + iLast*sizeof(ht_slot); p = (WalIterator *)sqlite3_malloc64(nByte); if( !p ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset(p, 0, nByte); p->nSegment = nSegment; @@ -52716,7 +52949,7 @@ static int walIteratorInit(Wal *pWal, WalIterator **pp){ sizeof(ht_slot) * (iLast>HASHTABLE_NPAGE?HASHTABLE_NPAGE:iLast) ); if( !aTmp ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } for(i=0; rc==SQLITE_OK && ipData; #endif @@ -54038,7 +54271,7 @@ static int walRewriteChecksums(Wal *pWal, u32 iLast){ i64 iCksumOff; aBuf = sqlite3_malloc(szPage + WAL_FRAME_HDRSIZE); - if( aBuf==0 ) return SQLITE_NOMEM; + if( aBuf==0 ) return SQLITE_NOMEM_BKPT; /* Find the checksum values to use as input for the recalculating the ** first checksum. If the first frame is frame 1 (implying that the current @@ -54514,7 +54747,7 @@ SQLITE_PRIVATE int sqlite3WalSnapshotGet(Wal *pWal, sqlite3_snapshot **ppSnapsho pRet = (WalIndexHdr*)sqlite3_malloc(sizeof(WalIndexHdr)); if( pRet==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ memcpy(pRet, &pWal->hdr, sizeof(WalIndexHdr)); *ppSnapshot = (sqlite3_snapshot*)pRet; @@ -55917,7 +56150,7 @@ static int setSharedCacheTableLock(Btree *p, Pgno iTable, u8 eLock){ if( !pLock ){ pLock = (BtLock *)sqlite3MallocZero(sizeof(BtLock)); if( !pLock ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pLock->iTable = iTable; pLock->pBtree = p; @@ -56120,7 +56353,7 @@ static int btreeSetHasContent(BtShared *pBt, Pgno pgno){ assert( pgno<=pBt->nPage ); pBt->pHasContent = sqlite3BitvecCreate(pBt->nPage); if( !pBt->pHasContent ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } } if( rc==SQLITE_OK && pgno<=sqlite3BitvecSize(pBt->pHasContent) ){ @@ -56199,7 +56432,7 @@ static int saveCursorKey(BtCursor *pCur){ sqlite3_free(pKey); } }else{ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } } assert( !pCur->curIntKey || !pCur->pKey ); @@ -56331,7 +56564,7 @@ static int btreeMoveto( pIdxKey = sqlite3VdbeAllocUnpackedRecord( pCur->pKeyInfo, aSpace, sizeof(aSpace), &pFree ); - if( pIdxKey==0 ) return SQLITE_NOMEM; + if( pIdxKey==0 ) return SQLITE_NOMEM_BKPT; sqlite3VdbeRecordUnpack(pCur->pKeyInfo, (int)nKey, pKey, pIdxKey); if( pIdxKey->nField==0 ){ sqlite3DbFree(pCur->pKeyInfo->db, pFree); @@ -57743,7 +57976,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( } p = sqlite3MallocZero(sizeof(Btree)); if( !p ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } p->inTrans = TRANS_NONE; p->db = db; @@ -57767,7 +58000,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( p->sharable = 1; if( !zFullPathname ){ sqlite3_free(p); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } if( isMemdb ){ memcpy(zFullPathname, zFilename, nFilename); @@ -57835,7 +58068,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( pBt = sqlite3MallocZero( sizeof(*pBt) ); if( pBt==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto btree_open_out; } rc = sqlite3PagerOpen(pVfs, &pBt->pPager, zFilename, @@ -57904,7 +58137,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( if( SQLITE_THREADSAFE && sqlite3GlobalConfig.bCoreMutex ){ pBt->mutex = sqlite3MutexAlloc(SQLITE_MUTEX_FAST); if( pBt->mutex==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto btree_open_out; } } @@ -57927,12 +58160,12 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( for(i=0; inDb; i++){ if( (pSib = db->aDb[i].pBt)!=0 && pSib->sharable ){ while( pSib->pPrev ){ pSib = pSib->pPrev; } - if( p->pBtpBt ){ + if( (uptr)p->pBt<(uptr)pSib->pBt ){ p->pNext = pSib; p->pPrev = 0; pSib->pPrev = p; }else{ - while( pSib->pNext && pSib->pNext->pBtpBt ){ + while( pSib->pNext && (uptr)pSib->pNext->pBt<(uptr)p->pBt ){ pSib = pSib->pNext; } p->pNext = pSib->pNext; @@ -58186,21 +58419,6 @@ SQLITE_PRIVATE int sqlite3BtreeSetPagerFlags( } #endif -/* -** Return TRUE if the given btree is set to safety level 1. In other -** words, return TRUE if no sync() occurs on the disk files. -*/ -SQLITE_PRIVATE int sqlite3BtreeSyncDisabled(Btree *p){ - BtShared *pBt = p->pBt; - int rc; - assert( sqlite3_mutex_held(p->db->mutex) ); - sqlite3BtreeEnter(p); - assert( pBt && pBt->pPager ); - rc = sqlite3PagerNosync(pBt->pPager); - sqlite3BtreeLeave(p); - return rc; -} - /* ** Change the default pages size and the number of reserved bytes per page. ** Or, if the page size has already been fixed, return SQLITE_READONLY @@ -58446,9 +58664,25 @@ static int lockBtree(BtShared *pBt){ rc = sqlite3PagerOpenWal(pBt->pPager, &isOpen); if( rc!=SQLITE_OK ){ goto page1_init_failed; - }else if( isOpen==0 ){ - releasePage(pPage1); - return SQLITE_OK; + }else{ +#if SQLITE_DEFAULT_SYNCHRONOUS!=SQLITE_DEFAULT_WAL_SYNCHRONOUS + sqlite3 *db; + Db *pDb; + if( (db=pBt->db)!=0 && (pDb=db->aDb)!=0 ){ + while( pDb->pBt==0 || pDb->pBt->pBt!=pBt ){ pDb++; } + if( pDb->bSyncSet==0 + && pDb->safety_level==SQLITE_DEFAULT_SYNCHRONOUS+1 + ){ + pDb->safety_level = SQLITE_DEFAULT_WAL_SYNCHRONOUS+1; + sqlite3PagerSetFlags(pBt->pPager, + pDb->safety_level | (db->flags & PAGER_FLAGS_MASK)); + } + } +#endif + if( isOpen==0 ){ + releasePage(pPage1); + return SQLITE_OK; + } } rc = SQLITE_NOTADB; } @@ -59681,7 +59915,7 @@ static int btreeCursor( if( wrFlag ){ allocateTempSpace(pBt); - if( pBt->pTmpSpace==0 ) return SQLITE_NOMEM; + if( pBt->pTmpSpace==0 ) return SQLITE_NOMEM_BKPT; } if( iTable==1 && btreePagecount(pBt)==0 ){ assert( wrFlag==0 ); @@ -60038,8 +60272,13 @@ static int accessPayload( #endif assert( offset+amt <= pCur->info.nPayload ); - if( &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ){ - /* Trying to read or write past the end of the data is an error */ + assert( aPayload > pPage->aData ); + if( (uptr)(aPayload - pPage->aData) > (pBt->usableSize - pCur->info.nLocal) ){ + /* Trying to read or write past the end of the data is an error. The + ** conditional above is really: + ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] + ** but is recast into its current form to avoid integer overflow problems + */ return SQLITE_CORRUPT_BKPT; } @@ -60079,7 +60318,7 @@ static int accessPayload( pCur->aOverflow, nOvfl*2*sizeof(Pgno) ); if( aNew==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ pCur->nOvflAlloc = nOvfl*2; pCur->aOverflow = aNew; @@ -60784,7 +61023,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( } pCellKey = sqlite3Malloc( nCell+18 ); if( pCellKey==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto moveto_finish; } pCur->aiIdx[pCur->iPage] = (u16)idx; @@ -62603,7 +62842,7 @@ static int balance_nonroot( assert( pParent->nOverflow==0 || pParent->aiOvfl[0]==iParentIdx ); if( !aOvflSpace ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } /* Find the sibling pages to balance. Also locate the cells in pParent @@ -62703,7 +62942,7 @@ static int balance_nonroot( assert( szScratch<=6*(int)pBt->pageSize ); b.apCell = sqlite3ScratchMalloc( szScratch ); if( b.apCell==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto balance_cleanup; } b.szCell = (u16*)&b.apCell[nMaxCells]; @@ -63138,9 +63377,9 @@ static int balance_nonroot( ** any cell). But it is important to pass the correct size to ** insertCell(), so reparse the cell now. ** - ** Note that this can never happen in an SQLite data file, as all - ** cells are at least 4 bytes. It only happens in b-trees used - ** to evaluate "IN (SELECT ...)" and similar clauses. + ** This can only happen for b-trees used to evaluate "IN (SELECT ...)" + ** and WITHOUT ROWID tables with exactly one column which is the + ** primary key. */ if( b.szCell[j]==4 ){ assert(leafCorrection==4); @@ -65359,7 +65598,7 @@ static Btree *findBtree(sqlite3 *pErrorDb, sqlite3 *pDb, const char *zDb){ pParse = sqlite3StackAllocZero(pErrorDb, sizeof(*pParse)); if( pParse==0 ){ sqlite3ErrorWithMsg(pErrorDb, SQLITE_NOMEM, "out of memory"); - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ pParse->db = pDb; if( sqlite3OpenTempDatabase(pParse) ){ @@ -65453,7 +65692,7 @@ SQLITE_API sqlite3_backup *SQLITE_STDCALL sqlite3_backup_init( ** sqlite3_backup_finish(). */ p = (sqlite3_backup *)sqlite3MallocZero(sizeof(sqlite3_backup)); if( !p ){ - sqlite3Error(pDestDb, SQLITE_NOMEM); + sqlite3Error(pDestDb, SQLITE_NOMEM_BKPT); } } @@ -65852,7 +66091,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_backup_step(sqlite3_backup *p, int nPage){ } if( rc==SQLITE_IOERR_NOMEM ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } p->rc = rc; } @@ -66209,7 +66448,7 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPre sqlite3VdbeMemSetNull(pMem); pMem->z = 0; pMem->szMalloc = 0; - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; }else{ pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); } @@ -66267,7 +66506,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ f = pMem->flags; if( (f&(MEM_Str|MEM_Blob)) && (pMem->szMalloc==0 || pMem->z!=pMem->zMalloc) ){ if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pMem->z[pMem->n] = 0; pMem->z[pMem->n+1] = 0; @@ -66299,7 +66538,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ nByte = 1; } if( sqlite3VdbeMemGrow(pMem, nByte, 1) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset(&pMem->z[pMem->n], 0, pMem->u.nZero); @@ -66316,7 +66555,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ */ static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ if( sqlite3VdbeMemGrow(pMem, pMem->n+2, 1) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pMem->z[pMem->n] = 0; pMem->z[pMem->n+1] = 0; @@ -66365,7 +66604,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ if( sqlite3VdbeMemClearAndResize(pMem, nByte) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } /* For a Real or Integer, use sqlite3_snprintf() to produce the UTF-8 @@ -66832,7 +67071,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemTooBig(Mem *p){ SQLITE_PRIVATE void sqlite3VdbeMemAboutToChange(Vdbe *pVdbe, Mem *pMem){ int i; Mem *pX; - for(i=1, pX=&pVdbe->aMem[1]; i<=pVdbe->nMem; i++, pX++){ + for(i=0, pX=pVdbe->aMem; inMem; i++, pX++){ if( pX->pScopyFrom==pMem ){ pX->flags |= MEM_Undefined; pX->pScopyFrom = 0; @@ -66976,7 +67215,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( testcase( nAlloc==31 ); testcase( nAlloc==32 ); if( sqlite3VdbeMemClearAndResize(pMem, MAX(nAlloc,32)) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memcpy(pMem->z, z, nAlloc); }else if( xDel==SQLITE_DYNAMIC ){ @@ -66996,7 +67235,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( #ifndef SQLITE_OMIT_UTF16 if( pMem->enc!=SQLITE_UTF8 && sqlite3VdbeMemHandleBom(pMem) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } #endif @@ -67257,7 +67496,6 @@ static int valueFromFunction( FuncDef *pFunc = 0; /* Function definition */ sqlite3_value *pVal = 0; /* New value */ int rc = SQLITE_OK; /* Return code */ - int nName; /* Size of function name in bytes */ ExprList *pList = 0; /* Function arguments */ int i; /* Iterator variable */ @@ -67265,8 +67503,7 @@ static int valueFromFunction( assert( (p->flags & EP_TokenOnly)==0 ); pList = p->x.pList; if( pList ) nVal = pList->nExpr; - nName = sqlite3Strlen30(p->u.zToken); - pFunc = sqlite3FindFunction(db, p->u.zToken, nName, nVal, enc, 0); + pFunc = sqlite3FindFunction(db, p->u.zToken, nVal, enc, 0); assert( pFunc ); if( (pFunc->funcFlags & (SQLITE_FUNC_CONSTANT|SQLITE_FUNC_SLOCHNG))==0 || (pFunc->funcFlags & SQLITE_FUNC_NEEDCOLL) @@ -67277,7 +67514,7 @@ static int valueFromFunction( if( pList ){ apVal = (sqlite3_value**)sqlite3DbMallocZero(db, sizeof(apVal[0]) * nVal); if( apVal==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto value_from_function_out; } for(i=0; iop)==TK_UPLUS ) pExpr = pExpr->pLeft; + while( (op = pExpr->op)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft; if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; /* Compressed expressions only appear when parsing the DEFAULT clause @@ -67461,7 +67698,7 @@ static int valueFromExpr( #else assert( pCtx==0 ); sqlite3ValueFree(pVal); #endif - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } /* @@ -67528,15 +67765,10 @@ static void recordFunc( ** Register built-in functions used to help read ANALYZE data. */ SQLITE_PRIVATE void sqlite3AnalyzeFunctions(void){ - static SQLITE_WSD FuncDef aAnalyzeTableFuncs[] = { + static FuncDef aAnalyzeTableFuncs[] = { FUNCTION(sqlite_record, 1, 0, 0, recordFunc), }; - int i; - FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); - FuncDef *aFunc = (FuncDef*)&GLOBAL(FuncDef, aAnalyzeTableFuncs); - for(i=0; inRec ) return SQLITE_CORRUPT_BKPT; if( pMem==0 ){ pMem = *ppVal = sqlite3ValueNew(db); - if( pMem==0 ) return SQLITE_NOMEM; + if( pMem==0 ) return SQLITE_NOMEM_BKPT; } sqlite3VdbeSerialGet(&a[iField-szField], t, pMem); pMem->enc = ENC(db); @@ -67922,7 +68154,7 @@ static int growOpArray(Vdbe *v, int nOp){ p->nOpAlloc = p->szOpAlloc/sizeof(Op); v->aOp = pNew; } - return (pNew ? SQLITE_OK : SQLITE_NOMEM); + return (pNew ? SQLITE_OK : SQLITE_NOMEM_BKPT); } #ifdef SQLITE_DEBUG @@ -68184,6 +68416,13 @@ SQLITE_PRIVATE void sqlite3VdbeRunOnlyOnce(Vdbe *p){ p->runOnlyOnce = 1; } +/* +** Mark the VDBE as one that can only be run multiple times. +*/ +SQLITE_PRIVATE void sqlite3VdbeReusable(Vdbe *p){ + p->runOnlyOnce = 0; +} + #ifdef SQLITE_DEBUG /* sqlite3AssertMayAbort() logic */ /* @@ -69281,6 +69520,7 @@ SQLITE_PRIVATE void sqlite3VdbeFrameDelete(VdbeFrame *p){ sqlite3VdbeFreeCursor(p->v, apCsr[i]); } releaseMemArray(aMem, p->nChildMem); + sqlite3VdbeDeleteAuxData(p->v->db, &p->pAuxData, -1, 0); sqlite3DbFree(p->v->db, p); } @@ -69323,7 +69563,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( releaseMemArray(pMem, 8); p->pResultSet = 0; - if( p->rc==SQLITE_NOMEM ){ + if( p->rc==SQLITE_NOMEM_BKPT ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or ** sqlite3_column_text16() failed. */ sqlite3OomFault(db); @@ -69586,7 +69826,7 @@ SQLITE_PRIVATE void sqlite3VdbeRewind(Vdbe *p){ p->magic = VDBE_MAGIC_RUN; #ifdef SQLITE_DEBUG - for(i=1; inMem; i++){ + for(i=0; inMem; i++){ assert( p->aMem[i].db==p->db ); } #endif @@ -69651,16 +69891,13 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( nOnce = pParse->nOnce; if( nOnce==0 ) nOnce = 1; /* Ensure at least one byte in p->aOnceFlag[] */ - /* For each cursor required, also allocate a memory cell. Memory - ** cells (nMem+1-nCursor)..nMem, inclusive, will never be used by - ** the vdbe program. Instead they are used to allocate memory for - ** VdbeCursor/BtCursor structures. The blob of memory associated with - ** cursor 0 is stored in memory cell nMem. Memory cell (nMem-1) - ** stores the blob of memory associated with cursor 1, etc. - ** + /* Each cursor uses a memory cell. The first cursor (cursor 0) can + ** use aMem[0] which is not otherwise used by the VDBE program. Allocate + ** space at the end of aMem[] for cursors 1 and greater. ** See also: allocateCursor(). */ nMem += nCursor; + if( nCursor==0 && nMem>0 ) nMem++; /* Space for aMem[0] even if not used */ /* Figure out how much reusable memory is available at the end of the ** opcode array. This extra memory will be reallocated for other elements @@ -69722,9 +69959,8 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( pParse->nzVar = 0; pParse->azVar = 0; if( p->aMem ){ - p->aMem--; /* aMem[] goes from 1..nMem */ - p->nMem = nMem; /* not from 0..nMem-1 */ - for(n=1; n<=nMem; n++){ + p->nMem = nMem; + for(n=0; naMem[n].flags = MEM_Undefined; p->aMem[n].db = db; } @@ -69809,6 +70045,9 @@ SQLITE_PRIVATE int sqlite3VdbeFrameRestore(VdbeFrame *pFrame){ v->db->lastRowid = pFrame->lastRowid; v->nChange = pFrame->nChange; v->db->nChange = pFrame->nDbChange; + sqlite3VdbeDeleteAuxData(v->db, &v->pAuxData, -1, 0); + v->pAuxData = pFrame->pAuxData; + pFrame->pAuxData = 0; return pFrame->pc; } @@ -69831,7 +70070,7 @@ static void closeAllCursors(Vdbe *p){ assert( p->nFrame==0 ); closeCursorsInFrame(p); if( p->aMem ){ - releaseMemArray(&p->aMem[1], p->nMem); + releaseMemArray(p->aMem, p->nMem); } while( p->pDelFrame ){ VdbeFrame *pDel = p->pDelFrame; @@ -69840,7 +70079,7 @@ static void closeAllCursors(Vdbe *p){ } /* Delete any auxdata allocations made by the VM */ - if( p->pAuxData ) sqlite3VdbeDeleteAuxData(p, -1, 0); + if( p->pAuxData ) sqlite3VdbeDeleteAuxData(p->db, &p->pAuxData, -1, 0); assert( p->pAuxData==0 ); } @@ -69856,7 +70095,7 @@ static void Cleanup(Vdbe *p){ int i; if( p->apCsr ) for(i=0; inCursor; i++) assert( p->apCsr[i]==0 ); if( p->aMem ){ - for(i=1; i<=p->nMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); + for(i=0; inMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); } #endif @@ -69912,7 +70151,7 @@ SQLITE_PRIVATE int sqlite3VdbeSetColName( assert( vardb->mallocFailed ){ assert( !zName || xDel!=SQLITE_DYNAMIC ); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } assert( p->aColName!=0 ); pColName = &(p->aColName[idx+var*p->nResColumn]); @@ -69929,7 +70168,9 @@ SQLITE_PRIVATE int sqlite3VdbeSetColName( */ static int vdbeCommit(sqlite3 *db, Vdbe *p){ int i; - int nTrans = 0; /* Number of databases with an active write-transaction */ + int nTrans = 0; /* Number of databases with an active write-transaction + ** that are candidates for a two-phase commit using a + ** master-journal */ int rc = SQLITE_OK; int needXcommit = 0; @@ -69957,10 +70198,28 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ for(i=0; rc==SQLITE_OK && inDb; i++){ Btree *pBt = db->aDb[i].pBt; if( sqlite3BtreeIsInTrans(pBt) ){ + /* Whether or not a database might need a master journal depends upon + ** its journal mode (among other things). This matrix determines which + ** journal modes use a master journal and which do not */ + static const u8 aMJNeeded[] = { + /* DELETE */ 1, + /* PERSIST */ 1, + /* OFF */ 0, + /* TRUNCATE */ 1, + /* MEMORY */ 0, + /* WAL */ 0 + }; + Pager *pPager; /* Pager associated with pBt */ needXcommit = 1; - if( i!=1 ) nTrans++; sqlite3BtreeEnter(pBt); - rc = sqlite3PagerExclusiveLock(sqlite3BtreePager(pBt)); + pPager = sqlite3BtreePager(pBt); + if( db->aDb[i].safety_level!=PAGER_SYNCHRONOUS_OFF + && aMJNeeded[sqlite3PagerGetJournalMode(pPager)] + ){ + assert( i!=1 ); + nTrans++; + } + rc = sqlite3PagerExclusiveLock(pPager); sqlite3BtreeLeave(pBt); } } @@ -70018,7 +70277,6 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ #ifndef SQLITE_OMIT_DISKIO else{ sqlite3_vfs *pVfs = db->pVfs; - int needSync = 0; char *zMaster = 0; /* File-name for the master journal */ char const *zMainFile = sqlite3BtreeGetFilename(db->aDb[0].pBt); sqlite3_file *pMaster = 0; @@ -70030,7 +70288,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ /* Select a master journal file name */ nMainFile = sqlite3Strlen30(zMainFile); zMaster = sqlite3MPrintf(db, "%s-mjXXXXXX9XXz", zMainFile); - if( zMaster==0 ) return SQLITE_NOMEM; + if( zMaster==0 ) return SQLITE_NOMEM_BKPT; do { u32 iRandom; if( retryCount ){ @@ -70078,9 +70336,6 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ continue; /* Ignore TEMP and :memory: databases */ } assert( zFile[0]!=0 ); - if( !needSync && !sqlite3BtreeSyncDisabled(pBt) ){ - needSync = 1; - } rc = sqlite3OsWrite(pMaster, zFile, sqlite3Strlen30(zFile)+1, offset); offset += sqlite3Strlen30(zFile)+1; if( rc!=SQLITE_OK ){ @@ -70095,8 +70350,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ /* Sync the master journal file. If the IOCAP_SEQUENTIAL device ** flag is set this is not required. */ - if( needSync - && 0==(sqlite3OsDeviceCharacteristics(pMaster)&SQLITE_IOCAP_SEQUENTIAL) + if( 0==(sqlite3OsDeviceCharacteristics(pMaster)&SQLITE_IOCAP_SEQUENTIAL) && SQLITE_OK!=(rc = sqlite3OsSync(pMaster, SQLITE_SYNC_NORMAL)) ){ sqlite3OsCloseFree(pMaster); @@ -70132,7 +70386,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ ** doing this the directory is synced again before any individual ** transaction files are deleted. */ - rc = sqlite3OsDelete(pVfs, zMaster, needSync); + rc = sqlite3OsDelete(pVfs, zMaster, 1); sqlite3DbFree(db, zMaster); zMaster = 0; if( rc ){ @@ -70320,7 +70574,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ */ if( db->mallocFailed ){ - p->rc = SQLITE_NOMEM; + p->rc = SQLITE_NOMEM_BKPT; } if( p->aOnceFlag ) memset(p->aOnceFlag, 0, p->nOnceFlag); closeAllCursors(p); @@ -70481,7 +70735,7 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ p->magic = VDBE_MAGIC_HALT; checkActiveVdbeCnt(db); if( db->mallocFailed ){ - p->rc = SQLITE_NOMEM; + p->rc = SQLITE_NOMEM_BKPT; } /* If the auto-commit flag is set to true, then any locks that were held @@ -70668,8 +70922,7 @@ SQLITE_PRIVATE int sqlite3VdbeFinalize(Vdbe *p){ ** * the corresponding bit in argument mask is clear (where the first ** function parameter corresponds to bit 0 etc.). */ -SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe *pVdbe, int iOp, int mask){ - AuxData **pp = &pVdbe->pAuxData; +SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(sqlite3 *db, AuxData **pp, int iOp, int mask){ while( *pp ){ AuxData *pAux = *pp; if( (iOp<0) @@ -70680,7 +70933,7 @@ SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(Vdbe *pVdbe, int iOp, int mask){ pAux->xDelete(pAux->pAux); } *pp = pAux->pNext; - sqlite3DbFree(pVdbe->db, pAux); + sqlite3DbFree(db, pAux); }else{ pp= &pAux->pNext; } @@ -71459,7 +71712,7 @@ static int vdbeCompareMemString( v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc); n2 = v2==0 ? 0 : c2.n; rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2); - if( (v1==0 || v2==0) && prcErr ) *prcErr = SQLITE_NOMEM; + if( (v1==0 || v2==0) && prcErr ) *prcErr = SQLITE_NOMEM_BKPT; sqlite3VdbeMemRelease(&c1); sqlite3VdbeMemRelease(&c2); return rc; @@ -72734,7 +72987,7 @@ SQLITE_API void SQLITE_STDCALL sqlite3_result_error_toobig(sqlite3_context *pCtx SQLITE_API void SQLITE_STDCALL sqlite3_result_error_nomem(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetNull(pCtx->pOut); - pCtx->isError = SQLITE_NOMEM; + pCtx->isError = SQLITE_NOMEM_BKPT; pCtx->fErrorOrAux = 1; sqlite3OomFault(pCtx->pOut->db); } @@ -72810,7 +73063,7 @@ static int sqlite3Step(Vdbe *p){ db = p->db; if( db->mallocFailed ){ p->rc = SQLITE_NOMEM; - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } if( p->pc<=0 && p->expired ){ @@ -72873,7 +73126,7 @@ static int sqlite3Step(Vdbe *p){ db->errCode = rc; if( SQLITE_NOMEM==sqlite3ApiExit(p->db, p->rc) ){ - p->rc = SQLITE_NOMEM; + p->rc = SQLITE_NOMEM_BKPT; } end_of_step: /* At this point local variable rc holds the value that should be @@ -72940,7 +73193,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_step(sqlite3_stmt *pStmt){ v->rc = rc2; } else { v->zErrMsg = 0; - v->rc = rc = SQLITE_NOMEM; + v->rc = rc = SQLITE_NOMEM_BKPT; } } rc = sqlite3ApiExit(db, rc); @@ -73564,6 +73817,9 @@ SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob( int nData, void (*xDel)(void*) ){ +#ifdef SQLITE_ENABLE_API_ARMOR + if( nData<0 ) return SQLITE_MISUSE_BKPT; +#endif return bindText(pStmt, i, zData, nData, xDel, 0); } SQLITE_API int SQLITE_STDCALL sqlite3_bind_blob64( @@ -74320,11 +74576,11 @@ static VdbeCursor *allocateCursor( ** be freed lazily via the sqlite3_release_memory() API. This ** minimizes the number of malloc calls made by the system. ** - ** Memory cells for cursors are allocated at the top of the address - ** space. Memory cell (p->nMem) corresponds to cursor 0. Space for - ** cursor 1 is managed by memory cell (p->nMem-1), etc. + ** The memory cell for cursor 0 is aMem[0]. The rest are allocated from + ** the top of the register space. Cursor 1 is at Mem[p->nMem-1]. + ** Cursor 2 is at Mem[p->nMem-2]. And so forth. */ - Mem *pMem = &p->aMem[p->nMem-iCur]; + Mem *pMem = iCur>0 ? &p->aMem[p->nMem-iCur] : p->aMem; int nByte; VdbeCursor *pCx = 0; @@ -74332,7 +74588,7 @@ static VdbeCursor *allocateCursor( ROUND8(sizeof(VdbeCursor)) + 2*sizeof(u32)*nField + (eCurType==CURTYPE_BTREE?sqlite3BtreeCursorSize():0); - assert( iCurnCursor ); + assert( iCur>=0 && iCurnCursor ); if( p->apCsr[iCur] ){ sqlite3VdbeFreeCursor(p, p->apCsr[iCur]); p->apCsr[iCur] = 0; @@ -74746,7 +75002,7 @@ static SQLITE_NOINLINE Mem *out2PrereleaseWithClear(Mem *pOut){ static Mem *out2Prerelease(Vdbe *p, VdbeOp *pOp){ Mem *pOut; assert( pOp->p2>0 ); - assert( pOp->p2<=(p->nMem-p->nCursor) ); + assert( pOp->p2<=(p->nMem+1 - p->nCursor) ); pOut = &p->aMem[pOp->p2]; memAboutToChange(p, pOut); if( VdbeMemDynamic(pOut) ){ @@ -74844,7 +75100,11 @@ SQLITE_PRIVATE int sqlite3VdbeExec( } sqlite3EndBenignMalloc(); #endif - for(pOp=&aOp[p->pc]; rc==SQLITE_OK; pOp++){ + for(pOp=&aOp[p->pc]; 1; pOp++){ + /* Errors are detected by individual opcodes, with an immediate + ** jumps to abort_due_to_error. */ + assert( rc==SQLITE_OK ); + assert( pOp>=aOp && pOp<&aOp[p->nOp]); #ifdef VDBE_PROFILE start = sqlite3Hwtime(); @@ -74880,33 +75140,33 @@ SQLITE_PRIVATE int sqlite3VdbeExec( assert( pOp->opflags==sqlite3OpcodeProperty[pOp->opcode] ); if( (pOp->opflags & OPFLG_IN1)!=0 ){ assert( pOp->p1>0 ); - assert( pOp->p1<=(p->nMem-p->nCursor) ); + assert( pOp->p1<=(p->nMem+1 - p->nCursor) ); assert( memIsValid(&aMem[pOp->p1]) ); assert( sqlite3VdbeCheckMemInvariants(&aMem[pOp->p1]) ); REGISTER_TRACE(pOp->p1, &aMem[pOp->p1]); } if( (pOp->opflags & OPFLG_IN2)!=0 ){ assert( pOp->p2>0 ); - assert( pOp->p2<=(p->nMem-p->nCursor) ); + assert( pOp->p2<=(p->nMem+1 - p->nCursor) ); assert( memIsValid(&aMem[pOp->p2]) ); assert( sqlite3VdbeCheckMemInvariants(&aMem[pOp->p2]) ); REGISTER_TRACE(pOp->p2, &aMem[pOp->p2]); } if( (pOp->opflags & OPFLG_IN3)!=0 ){ assert( pOp->p3>0 ); - assert( pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); assert( memIsValid(&aMem[pOp->p3]) ); assert( sqlite3VdbeCheckMemInvariants(&aMem[pOp->p3]) ); REGISTER_TRACE(pOp->p3, &aMem[pOp->p3]); } if( (pOp->opflags & OPFLG_OUT2)!=0 ){ assert( pOp->p2>0 ); - assert( pOp->p2<=(p->nMem-p->nCursor) ); + assert( pOp->p2<=(p->nMem+1 - p->nCursor) ); memAboutToChange(p, &aMem[pOp->p2]); } if( (pOp->opflags & OPFLG_OUT3)!=0 ){ assert( pOp->p3>0 ); - assert( pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); memAboutToChange(p, &aMem[pOp->p3]); } #endif @@ -74991,7 +75251,7 @@ case OP_Goto: { /* jump */ nProgressLimit = nVmStep + db->nProgressOps - (nVmStep%db->nProgressOps); if( db->xProgress(db->pProgressArg) ){ rc = SQLITE_INTERRUPT; - goto vdbe_error_halt; + goto abort_due_to_error; } } #endif @@ -75005,7 +75265,7 @@ case OP_Goto: { /* jump */ ** and then jump to address P2. */ case OP_Gosub: { /* jump */ - assert( pOp->p1>0 && pOp->p1<=(p->nMem-p->nCursor) ); + assert( pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor) ); pIn1 = &aMem[pOp->p1]; assert( VdbeMemDynamic(pIn1)==0 ); memAboutToChange(p, pIn1); @@ -75045,7 +75305,7 @@ case OP_Return: { /* in1 */ ** See also: EndCoroutine */ case OP_InitCoroutine: { /* jump */ - assert( pOp->p1>0 && pOp->p1<=(p->nMem-p->nCursor) ); + assert( pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor) ); assert( pOp->p2>=0 && pOp->p2nOp ); assert( pOp->p3>=0 && pOp->p3nOp ); pOut = &aMem[pOp->p1]; @@ -75270,7 +75530,10 @@ case OP_String8: { /* same as TK_STRING, out2 */ #ifndef SQLITE_OMIT_UTF16 if( encoding!=SQLITE_UTF8 ){ rc = sqlite3VdbeMemSetStr(pOut, pOp->p4.z, -1, SQLITE_UTF8, SQLITE_STATIC); - if( rc==SQLITE_TOOBIG ) goto too_big; + if( rc ){ + assert( rc==SQLITE_TOOBIG ); /* This is the only possible error here */ + goto too_big; + } if( SQLITE_OK!=sqlite3VdbeChangeEncoding(pOut, encoding) ) goto no_mem; assert( pOut->szMalloc>0 && pOut->zMalloc==pOut->z ); assert( VdbeMemDynamic(pOut)==0 ); @@ -75311,7 +75574,7 @@ case OP_String: { /* out2 */ #ifndef SQLITE_LIKE_DOESNT_MATCH_BLOBS if( pOp->p5 ){ assert( pOp->p3>0 ); - assert( pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); pIn3 = &aMem[pOp->p3]; assert( pIn3->flags & MEM_Int ); if( pIn3->u.i ) pOut->flags = MEM_Blob|MEM_Static|MEM_Term; @@ -75337,7 +75600,7 @@ case OP_Null: { /* out2 */ u16 nullFlag; pOut = out2Prerelease(p, pOp); cnt = pOp->p3-pOp->p2; - assert( pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); pOut->flags = nullFlag = pOp->p1 ? (MEM_Null|MEM_Cleared) : MEM_Null; while( cnt>0 ){ pOut++; @@ -75358,7 +75621,7 @@ case OP_Null: { /* out2 */ ** previously copied using OP_SCopy, the copies will continue to be valid. */ case OP_SoftNull: { - assert( pOp->p1>0 && pOp->p1<=(p->nMem-p->nCursor) ); + assert( pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor) ); pOut = &aMem[pOp->p1]; pOut->flags = (pOut->flags|MEM_Null)&~MEM_Undefined; break; @@ -75425,8 +75688,8 @@ case OP_Move: { pIn1 = &aMem[p1]; pOut = &aMem[p2]; do{ - assert( pOut<=&aMem[(p->nMem-p->nCursor)] ); - assert( pIn1<=&aMem[(p->nMem-p->nCursor)] ); + assert( pOut<=&aMem[(p->nMem+1 - p->nCursor)] ); + assert( pIn1<=&aMem[(p->nMem+1 - p->nCursor)] ); assert( memIsValid(pIn1) ); memAboutToChange(p, pOut); sqlite3VdbeMemMove(pOut, pIn1); @@ -75526,7 +75789,7 @@ case OP_ResultRow: { int i; assert( p->nResColumn==pOp->p2 ); assert( pOp->p1>0 ); - assert( pOp->p1+pOp->p2<=(p->nMem-p->nCursor)+1 ); + assert( pOp->p1+pOp->p2<=(p->nMem+1 - p->nCursor)+1 ); #ifndef SQLITE_OMIT_PROGRESS_CALLBACK /* Run the progress counter just before returning. @@ -75536,7 +75799,7 @@ case OP_ResultRow: { && db->xProgress(db->pProgressArg)!=0 ){ rc = SQLITE_INTERRUPT; - goto vdbe_error_halt; + goto abort_due_to_error; } #endif @@ -75546,7 +75809,7 @@ case OP_ResultRow: { if( SQLITE_OK!=(rc = sqlite3VdbeCheckFk(p, 0)) ){ assert( db->flags&SQLITE_CountRows ); assert( p->usesStmtJournal ); - break; + goto abort_due_to_error; } /* If the SQLITE_CountRows flag is set in sqlite3.flags mask, then @@ -75566,9 +75829,7 @@ case OP_ResultRow: { */ assert( p->iStatement==0 || db->flags&SQLITE_CountRows ); rc = sqlite3VdbeCloseStatement(p, SAVEPOINT_RELEASE); - if( NEVER(rc!=SQLITE_OK) ){ - break; - } + assert( rc==SQLITE_OK ); /* Invalidate all ephemeral cursor row caches */ p->cacheCtr = (p->cacheCtr + 2)|1; @@ -75840,8 +76101,8 @@ case OP_Function0: { assert( pOp->p4type==P4_FUNCDEF ); n = pOp->p5; - assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem-p->nCursor)+1) ); + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); + assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem+1 - p->nCursor)+1) ); assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); if( pCtx==0 ) goto no_mem; @@ -75891,7 +76152,8 @@ case OP_Function: { sqlite3VdbeError(p, "%s", sqlite3_value_text(pCtx->pOut)); rc = pCtx->isError; } - sqlite3VdbeDeleteAuxData(p, pCtx->iOp, pOp->p1); + sqlite3VdbeDeleteAuxData(db, &p->pAuxData, pCtx->iOp, pOp->p1); + if( rc ) goto abort_due_to_error; } /* Copy the result of the function into register P3 */ @@ -76075,6 +76337,7 @@ case OP_Cast: { /* in1 */ rc = ExpandBlob(pIn1); sqlite3VdbeMemCast(pIn1, pOp->p2, encoding); UPDATE_MAX_BLOBSIZE(pIn1); + if( rc ) goto abort_due_to_error; break; } #endif /* SQLITE_OMIT_CAST */ @@ -76339,11 +76602,11 @@ case OP_Compare: { if( aPermute ){ int k, mx = 0; for(k=0; kmx ) mx = aPermute[k]; - assert( p1>0 && p1+mx<=(p->nMem-p->nCursor)+1 ); - assert( p2>0 && p2+mx<=(p->nMem-p->nCursor)+1 ); + assert( p1>0 && p1+mx<=(p->nMem+1 - p->nCursor)+1 ); + assert( p2>0 && p2+mx<=(p->nMem+1 - p->nCursor)+1 ); }else{ - assert( p1>0 && p1+n<=(p->nMem-p->nCursor)+1 ); - assert( p2>0 && p2+n<=(p->nMem-p->nCursor)+1 ); + assert( p1>0 && p1+n<=(p->nMem+1 - p->nCursor)+1 ); + assert( p2>0 && p2+n<=(p->nMem+1 - p->nCursor)+1 ); } #endif /* SQLITE_DEBUG */ for(i=0; ip3>0 && pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); pDest = &aMem[pOp->p3]; memAboutToChange(p, pDest); assert( pOp->p1>=0 && pOp->p1nCursor ); @@ -76684,7 +76947,7 @@ case OP_Column: { */ if( offset > 98307 || offset > pC->payloadSize ){ rc = SQLITE_CORRUPT_BKPT; - goto op_column_error; + goto abort_due_to_error; } } @@ -76709,7 +76972,7 @@ case OP_Column: { if( pC->aRow==0 ){ memset(&sMem, 0, sizeof(sMem)); rc = sqlite3VdbeMemFromBtree(pCrsr, 0, aOffset[0], !pC->isTable, &sMem); - if( rc!=SQLITE_OK ) goto op_column_error; + if( rc!=SQLITE_OK ) goto abort_due_to_error; zData = (u8*)sMem.z; }else{ zData = pC->aRow; @@ -76734,7 +76997,6 @@ case OP_Column: { }while( i<=p2 && zHdrnHdrParsed = i; pC->iHdrOffset = (u32)(zHdr - zData); - if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); /* The record is corrupt if any of the following are true: ** (1) the bytes of the header extend past the declared header size @@ -76744,9 +77006,12 @@ case OP_Column: { if( (zHdr>=zEndHdr && (zHdr>zEndHdr || offset64!=pC->payloadSize)) || (offset64 > pC->payloadSize) ){ + if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); rc = SQLITE_CORRUPT_BKPT; - goto op_column_error; + goto abort_due_to_error; } + if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); + }else{ t = 0; } @@ -76818,15 +77083,13 @@ case OP_Column: { }else{ rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable, pDest); - if( rc==SQLITE_OK ){ - sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest); - pDest->flags &= ~MEM_Ephem; - } + if( rc!=SQLITE_OK ) goto abort_due_to_error; + sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest); + pDest->flags &= ~MEM_Ephem; } } op_column_out: -op_column_error: UPDATE_MAX_BLOBSIZE(pDest); REGISTER_TRACE(pOp->p3, pDest); break; @@ -76850,7 +77113,7 @@ case OP_Affinity: { assert( zAffinity[pOp->p2]==0 ); pIn1 = &aMem[pOp->p1]; while( (cAff = *(zAffinity++))!=0 ){ - assert( pIn1 <= &p->aMem[(p->nMem-p->nCursor)] ); + assert( pIn1 <= &p->aMem[(p->nMem+1 - p->nCursor)] ); assert( memIsValid(pIn1) ); applyAffinity(pIn1, cAff, encoding); pIn1++; @@ -76912,7 +77175,7 @@ case OP_MakeRecord: { nZero = 0; /* Number of zero bytes at the end of the record */ nField = pOp->p1; zAffinity = pOp->p4.z; - assert( nField>0 && pOp->p2>0 && pOp->p2+nField<=(p->nMem-p->nCursor)+1 ); + assert( nField>0 && pOp->p2>0 && pOp->p2+nField<=(p->nMem+1 - p->nCursor)+1 ); pData0 = &aMem[nField]; nField = pOp->p2; pLast = &pData0[nField-1]; @@ -77002,7 +77265,7 @@ case OP_MakeRecord: { assert( i==nHdr ); assert( j==nByte ); - assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); pOut->n = (int)nByte; pOut->flags = MEM_Blob; if( nZero ){ @@ -77031,6 +77294,7 @@ case OP_Count: { /* out2 */ assert( pCrsr ); nEntry = 0; /* Not needed. Only used to silence a warning. */ rc = sqlite3BtreeCount(pCrsr, &nEntry); + if( rc ) goto abort_due_to_error; pOut = out2Prerelease(p, pOp); pOut->u.i = nEntry; break; @@ -77208,6 +77472,7 @@ case OP_Savepoint: { } } } + if( rc ) goto abort_due_to_error; break; } @@ -77244,7 +77509,7 @@ case OP_AutoCommit: { sqlite3VdbeError(p, "cannot commit transaction - " "SQL statements in progress"); rc = SQLITE_BUSY; - break; + goto abort_due_to_error; }else if( (rc = sqlite3VdbeCheckFk(p, 1))!=SQLITE_OK ){ goto vdbe_return; }else{ @@ -77271,6 +77536,7 @@ case OP_AutoCommit: { "cannot commit - no transaction is active")); rc = SQLITE_ERROR; + goto abort_due_to_error; } break; } @@ -77393,6 +77659,7 @@ case OP_Transaction: { p->expired = 1; rc = SQLITE_SCHEMA; } + if( rc ) goto abort_due_to_error; break; } @@ -77462,6 +77729,7 @@ case OP_SetCookie: { sqlite3ExpirePreparedStatements(db); p->expired = 0; } + if( rc ) goto abort_due_to_error; break; } @@ -77559,7 +77827,7 @@ case OP_OpenWrite: if( p->expired ){ rc = SQLITE_ABORT_ROLLBACK; - break; + goto abort_due_to_error; } nField = 0; @@ -77583,7 +77851,7 @@ case OP_OpenWrite: } if( pOp->p5 & OPFLAG_P2ISREG ){ assert( p2>0 ); - assert( p2<=(p->nMem-p->nCursor) ); + assert( p2<=(p->nMem+1 - p->nCursor) ); pIn2 = &aMem[p2]; assert( memIsValid(pIn2) ); assert( (pIn2->flags & MEM_Int)!=0 ); @@ -77593,10 +77861,7 @@ case OP_OpenWrite: ** that opcode will always set the p2 value to 2 or more or else fail. ** If there were a failure, the prepared statement would have halted ** before reaching this instruction. */ - if( NEVER(p2<2) ) { - rc = SQLITE_CORRUPT_BKPT; - goto abort_due_to_error; - } + assert( p2>=2 ); } if( pOp->p4type==P4_KEYINFO ){ pKeyInfo = pOp->p4.pKeyInfo; @@ -77634,6 +77899,7 @@ case OP_OpenWrite: #endif sqlite3BtreeCursorHintFlags(pCur->uc.pCursor, (pOp->p5 & (OPFLAG_BULKCSR|OPFLAG_SEEKEQ))); + if( rc ) goto abort_due_to_error; break; } @@ -77710,6 +77976,7 @@ case OP_OpenEphemeral: { pCx->isTable = 1; } } + if( rc ) goto abort_due_to_error; pCx->isOrdered = (pOp->p5!=BTREE_UNORDERED); break; } @@ -77735,6 +78002,7 @@ case OP_SorterOpen: { assert( pCx->pKeyInfo->db==db ); assert( pCx->pKeyInfo->enc==ENC(db) ); rc = sqlite3VdbeSorterInit(db, pOp->p3, pCx); + if( rc ) goto abort_due_to_error; break; } @@ -78197,7 +78465,7 @@ case OP_Found: { /* jump, in3 */ rc = sqlite3BtreeMovetoUnpacked(pC->uc.pCursor, pIdxKey, 0, 0, &res); sqlite3DbFree(db, pFree); if( rc!=SQLITE_OK ){ - break; + goto abort_due_to_error; } pC->seekResult = res; alreadyExists = (res==0); @@ -78269,6 +78537,7 @@ case OP_NotExists: { /* jump, in3 */ goto jump_to_p2; } } + if( rc ) goto abort_due_to_error; break; } @@ -78377,7 +78646,7 @@ case OP_NewRowid: { /* out2 */ pMem = &pFrame->aMem[pOp->p3]; }else{ /* Assert that P3 is a valid memory cell. */ - assert( pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3<=(p->nMem+1 - p->nCursor) ); pMem = &aMem[pOp->p3]; memAboutToChange(p, pMem); } @@ -78411,7 +78680,8 @@ case OP_NewRowid: { /* out2 */ 0, &res))==SQLITE_OK) && (res==0) && (++cnt<100)); - if( rc==SQLITE_OK && res==0 ){ + if( rc ) goto abort_due_to_error; + if( res==0 ){ rc = SQLITE_FULL; /* IMP: R-38219-53002 */ goto abort_due_to_error; } @@ -78525,7 +78795,8 @@ case OP_InsertInt: { pC->cacheStatus = CACHE_STALE; /* Invoke the update-hook if required. */ - if( rc==SQLITE_OK && db->xUpdateCallback && pOp->p4.z ){ + if( rc ) goto abort_due_to_error; + if( db->xUpdateCallback && pOp->p4.z ){ zDb = db->aDb[pC->iDb].zName; zTbl = pOp->p4.z; op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT); @@ -78615,7 +78886,8 @@ case OP_Delete: { pC->cacheStatus = CACHE_STALE; /* Invoke the update-hook if required. */ - if( rc==SQLITE_OK && hasUpdateCallback ){ + if( rc ) goto abort_due_to_error; + if( hasUpdateCallback ){ db->xUpdateCallback(db->pUpdateArg, SQLITE_DELETE, db->aDb[pC->iDb].zName, pOp->p4.z, pC->movetoTarget); assert( pC->iDb>=0 ); @@ -78664,6 +78936,7 @@ case OP_SorterCompare: { res = 0; rc = sqlite3VdbeSorterCompare(pC, pIn3, nKeyCol, &res); VdbeBranchTaken(res!=0,2); + if( rc ) goto abort_due_to_error; if( res ) goto jump_to_p2; break; }; @@ -78689,6 +78962,7 @@ case OP_SorterData: { rc = sqlite3VdbeSorterRowkey(pC, pOut); assert( rc!=SQLITE_OK || (pOut->flags & MEM_Blob) ); assert( pOp->p1>=0 && pOp->p1nCursor ); + if( rc ) goto abort_due_to_error; p->apCsr[pOp->p3]->cacheStatus = CACHE_STALE; break; } @@ -78777,6 +79051,7 @@ case OP_RowData: { }else{ rc = sqlite3BtreeData(pCrsr, 0, n, pOut->z); } + if( rc ) goto abort_due_to_error; pOut->enc = SQLITE_UTF8; /* In case the blob is ever cast to text */ UPDATE_MAX_BLOBSIZE(pOut); REGISTER_TRACE(pOp->p2, pOut); @@ -78817,6 +79092,7 @@ case OP_Rowid: { /* out2 */ assert( pModule->xRowid ); rc = pModule->xRowid(pC->uc.pVCur, &v); sqlite3VtabImportErrmsg(p, pVtab); + if( rc ) goto abort_due_to_error; #endif /* SQLITE_OMIT_VIRTUALTABLE */ }else{ assert( pC->eCurType==CURTYPE_BTREE ); @@ -78887,6 +79163,7 @@ case OP_Last: { /* jump */ #ifdef SQLITE_DEBUG pC->seekOp = OP_Last; #endif + if( rc ) goto abort_due_to_error; if( pOp->p2>0 ){ VdbeBranchTaken(res!=0,2); if( res ) goto jump_to_p2; @@ -78951,6 +79228,7 @@ case OP_Rewind: { /* jump */ pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; } + if( rc ) goto abort_due_to_error; pC->nullRow = (u8)res; assert( pOp->p2>0 && pOp->p2nOp ); VdbeBranchTaken(res!=0,2); @@ -79063,6 +79341,7 @@ case OP_Next: /* jump */ next_tail: pC->cacheStatus = CACHE_STALE; VdbeBranchTaken(res==0,2); + if( rc ) goto abort_due_to_error; if( res==0 ){ pC->nullRow = 0; p->aCounter[pOp->p5]++; @@ -79113,19 +79392,19 @@ case OP_IdxInsert: { /* in2 */ assert( pC->eCurType==CURTYPE_BTREE || pOp->opcode==OP_SorterInsert ); assert( pC->isTable==0 ); rc = ExpandBlob(pIn2); - if( rc==SQLITE_OK ){ - if( pOp->opcode==OP_SorterInsert ){ - rc = sqlite3VdbeSorterWrite(pC, pIn2); - }else{ - nKey = pIn2->n; - zKey = pIn2->z; - rc = sqlite3BtreeInsert(pC->uc.pCursor, zKey, nKey, "", 0, 0, pOp->p3, - ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0) - ); - assert( pC->deferredMoveto==0 ); - pC->cacheStatus = CACHE_STALE; - } + if( rc ) goto abort_due_to_error; + if( pOp->opcode==OP_SorterInsert ){ + rc = sqlite3VdbeSorterWrite(pC, pIn2); + }else{ + nKey = pIn2->n; + zKey = pIn2->z; + rc = sqlite3BtreeInsert(pC->uc.pCursor, zKey, nKey, "", 0, 0, pOp->p3, + ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0) + ); + assert( pC->deferredMoveto==0 ); + pC->cacheStatus = CACHE_STALE; } + if( rc) goto abort_due_to_error; break; } @@ -79143,7 +79422,7 @@ case OP_IdxDelete: { UnpackedRecord r; assert( pOp->p3>0 ); - assert( pOp->p2>0 && pOp->p2+pOp->p3<=(p->nMem-p->nCursor)+1 ); + assert( pOp->p2>0 && pOp->p2+pOp->p3<=(p->nMem+1 - p->nCursor)+1 ); assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); @@ -79156,8 +79435,10 @@ case OP_IdxDelete: { r.default_rc = 0; r.aMem = &aMem[pOp->p2]; rc = sqlite3BtreeMovetoUnpacked(pCrsr, &r, 0, 0, &res); - if( rc==SQLITE_OK && res==0 ){ + if( rc ) goto abort_due_to_error; + if( res==0 ){ rc = sqlite3BtreeDelete(pCrsr, BTREE_AUXDELETE); + if( rc ) goto abort_due_to_error; } assert( pC->deferredMoveto==0 ); pC->cacheStatus = CACHE_STALE; @@ -79332,6 +79613,7 @@ case OP_IdxGE: { /* jump */ res++; } VdbeBranchTaken(res>0,2); + if( rc ) goto abort_due_to_error; if( res>0 ) goto jump_to_p2; break; } @@ -79367,6 +79649,7 @@ case OP_Destroy: { /* out2 */ if( db->nVdbeRead > db->nVDestroy+1 ){ rc = SQLITE_LOCKED; p->errorAction = OE_Abort; + goto abort_due_to_error; }else{ iDb = pOp->p3; assert( DbMaskTest(p->btreeMask, iDb) ); @@ -79374,8 +79657,9 @@ case OP_Destroy: { /* out2 */ rc = sqlite3BtreeDropTable(db->aDb[iDb].pBt, pOp->p1, &iMoved); pOut->flags = MEM_Int; pOut->u.i = iMoved; + if( rc ) goto abort_due_to_error; #ifndef SQLITE_OMIT_AUTOVACUUM - if( rc==SQLITE_OK && iMoved!=0 ){ + if( iMoved!=0 ){ sqlite3RootPageMoved(db, iDb, iMoved, pOp->p1); /* All OP_Destroy operations occur on the same btree */ assert( resetSchemaOnFault==0 || resetSchemaOnFault==iDb+1 ); @@ -79421,6 +79705,7 @@ case OP_Clear: { aMem[pOp->p3].u.i += nChange; } } + if( rc ) goto abort_due_to_error; break; } @@ -79444,6 +79729,7 @@ case OP_ResetSorter: { assert( pC->eCurType==CURTYPE_BTREE ); assert( pC->isEphemeral ); rc = sqlite3BtreeClearTableOfCursor(pC->uc.pCursor); + if( rc ) goto abort_due_to_error; } break; } @@ -79492,6 +79778,7 @@ case OP_CreateTable: { /* out2 */ flags = BTREE_BLOBKEY; } rc = sqlite3BtreeCreateTable(pDb->pBt, &pgno, flags); + if( rc ) goto abort_due_to_error; pOut->u.i = pgno; break; } @@ -79532,7 +79819,7 @@ case OP_ParseSchema: { "SELECT name, rootpage, sql FROM '%q'.%s WHERE %s ORDER BY rowid", db->aDb[iDb].zName, zMaster, pOp->p4.z); if( zSql==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ assert( db->init.busy==0 ); db->init.busy = 1; @@ -79544,9 +79831,12 @@ case OP_ParseSchema: { db->init.busy = 0; } } - if( rc ) sqlite3ResetAllSchemasOfConnection(db); - if( rc==SQLITE_NOMEM ){ - goto no_mem; + if( rc ){ + sqlite3ResetAllSchemasOfConnection(db); + if( rc==SQLITE_NOMEM ){ + goto no_mem; + } + goto abort_due_to_error; } break; } @@ -79561,6 +79851,7 @@ case OP_ParseSchema: { case OP_LoadAnalysis: { assert( pOp->p1>=0 && pOp->p1nDb ); rc = sqlite3AnalysisLoad(db, pOp->p1); + if( rc ) goto abort_due_to_error; break; } #endif /* !defined(SQLITE_OMIT_ANALYZE) */ @@ -79606,7 +79897,7 @@ case OP_DropTrigger: { #ifndef SQLITE_OMIT_INTEGRITY_CHECK -/* Opcode: IntegrityCk P1 P2 P3 * P5 +/* Opcode: IntegrityCk P1 P2 P3 P4 P5 ** ** Do an analysis of the currently open database. Store in ** register P1 the text of an error message describing any problems. @@ -79617,9 +79908,8 @@ case OP_DropTrigger: { ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. ** -** The root page numbers of all tables in the database are integer -** stored in reg(P1), reg(P1+1), reg(P1+2), .... There are P2 tables -** total. +** The root page numbers of all tables in the database are integers +** stored in P4_INTARRAY argument. ** ** If P5 is not zero, the check is done on the auxiliary database ** file, not the main database file. @@ -79629,30 +79919,24 @@ case OP_DropTrigger: { case OP_IntegrityCk: { int nRoot; /* Number of tables to check. (Number of root pages.) */ int *aRoot; /* Array of rootpage numbers for tables to be checked */ - int j; /* Loop counter */ int nErr; /* Number of errors reported */ char *z; /* Text of the error report */ Mem *pnErr; /* Register keeping track of errors remaining */ assert( p->bIsReader ); nRoot = pOp->p2; + aRoot = pOp->p4.ai; assert( nRoot>0 ); - aRoot = sqlite3DbMallocRawNN(db, sizeof(int)*(nRoot+1) ); - if( aRoot==0 ) goto no_mem; - assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); + assert( aRoot[nRoot]==0 ); + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); pnErr = &aMem[pOp->p3]; assert( (pnErr->flags & MEM_Int)!=0 ); assert( (pnErr->flags & (MEM_Str|MEM_Blob))==0 ); pIn1 = &aMem[pOp->p1]; - for(j=0; jp5nDb ); assert( DbMaskTest(p->btreeMask, pOp->p5) ); z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, aRoot, nRoot, (int)pnErr->u.i, &nErr); - sqlite3DbFree(db, aRoot); pnErr->u.i -= nErr; sqlite3VdbeMemSetNull(pIn1); if( nErr==0 ){ @@ -79820,7 +80104,7 @@ case OP_Program: { /* jump */ if( p->nFrame>=db->aLimit[SQLITE_LIMIT_TRIGGER_DEPTH] ){ rc = SQLITE_ERROR; sqlite3VdbeError(p, "too many levels of trigger recursion"); - break; + goto abort_due_to_error; } /* Register pRt is used to store the memory required to save the state @@ -79834,6 +80118,8 @@ case OP_Program: { /* jump */ ** variable nMem (and later, VdbeFrame.nChildMem) to this value. */ nMem = pProgram->nMem + pProgram->nCsr; + assert( nMem>0 ); + if( pProgram->nCsr==0 ) nMem++; nByte = ROUND8(sizeof(VdbeFrame)) + nMem * sizeof(Mem) + pProgram->nCsr * sizeof(VdbeCursor *) @@ -79870,7 +80156,8 @@ case OP_Program: { /* jump */ } }else{ pFrame = pRt->u.pFrame; - assert( pProgram->nMem+pProgram->nCsr==pFrame->nChildMem ); + assert( pProgram->nMem+pProgram->nCsr==pFrame->nChildMem + || (pProgram->nCsr==0 && pProgram->nMem+1==pFrame->nChildMem) ); assert( pProgram->nCsr==pFrame->nChildCsr ); assert( (int)(pOp - aOp)==pFrame->pc ); } @@ -79880,12 +80167,15 @@ case OP_Program: { /* jump */ pFrame->lastRowid = lastRowid; pFrame->nChange = p->nChange; pFrame->nDbChange = p->db->nChange; + assert( pFrame->pAuxData==0 ); + pFrame->pAuxData = p->pAuxData; + p->pAuxData = 0; p->nChange = 0; p->pFrame = pFrame; - p->aMem = aMem = &VdbeFrameMem(pFrame)[-1]; + p->aMem = aMem = VdbeFrameMem(pFrame); p->nMem = pFrame->nChildMem; p->nCursor = (u16)pFrame->nChildCsr; - p->apCsr = (VdbeCursor **)&aMem[p->nMem+1]; + p->apCsr = (VdbeCursor **)&aMem[p->nMem]; p->aOp = aOp = pProgram->aOp; p->nOp = pProgram->nOp; p->aOnceFlag = (u8 *)&p->apCsr[p->nCursor]; @@ -80131,8 +80421,8 @@ case OP_AggStep0: { assert( pOp->p4type==P4_FUNCDEF ); n = pOp->p5; - assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); - assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem-p->nCursor)+1) ); + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); + assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem+1 - p->nCursor)+1) ); assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); if( pCtx==0 ) goto no_mem; @@ -80184,6 +80474,7 @@ case OP_AggStep: { rc = pCtx->isError; } sqlite3VdbeMemRelease(&t); + if( rc ) goto abort_due_to_error; }else{ assert( t.flags==MEM_Null ); } @@ -80210,12 +80501,13 @@ case OP_AggStep: { */ case OP_AggFinal: { Mem *pMem; - assert( pOp->p1>0 && pOp->p1<=(p->nMem-p->nCursor) ); + assert( pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor) ); pMem = &aMem[pOp->p1]; assert( (pMem->flags & ~(MEM_Null|MEM_Agg))==0 ); rc = sqlite3VdbeMemFinalize(pMem, pOp->p4.pFunc); if( rc ){ sqlite3VdbeError(p, "%s", sqlite3_value_text(pMem)); + goto abort_due_to_error; } sqlite3VdbeChangeEncoding(pMem, encoding); UPDATE_MAX_BLOBSIZE(pMem); @@ -80251,7 +80543,8 @@ case OP_Checkpoint: { || pOp->p2==SQLITE_CHECKPOINT_TRUNCATE ); rc = sqlite3Checkpoint(db, pOp->p1, pOp->p2, &aRes[1], &aRes[2]); - if( rc==SQLITE_BUSY ){ + if( rc ){ + if( rc!=SQLITE_BUSY ) goto abort_due_to_error; rc = SQLITE_OK; aRes[0] = 1; } @@ -80324,7 +80617,7 @@ case OP_JournalMode: { /* out2 */ "cannot change %s wal mode from within a transaction", (eNew==PAGER_JOURNALMODE_WAL ? "into" : "out of") ); - break; + goto abort_due_to_error; }else{ if( eOld==PAGER_JOURNALMODE_WAL ){ @@ -80354,9 +80647,7 @@ case OP_JournalMode: { /* out2 */ } #endif /* ifndef SQLITE_OMIT_WAL */ - if( rc ){ - eNew = eOld; - } + if( rc ) eNew = eOld; eNew = sqlite3PagerSetJournalMode(pPager, eNew); pOut->flags = MEM_Str|MEM_Static|MEM_Term; @@ -80364,6 +80655,7 @@ case OP_JournalMode: { /* out2 */ pOut->n = sqlite3Strlen30(pOut->z); pOut->enc = SQLITE_UTF8; sqlite3VdbeChangeEncoding(pOut, encoding); + if( rc ) goto abort_due_to_error; break; }; #endif /* SQLITE_OMIT_PRAGMA */ @@ -80378,6 +80670,7 @@ case OP_JournalMode: { /* out2 */ case OP_Vacuum: { assert( p->readOnly==0 ); rc = sqlite3RunVacuum(&p->zErrMsg, db); + if( rc ) goto abort_due_to_error; break; } #endif @@ -80398,7 +80691,8 @@ case OP_IncrVacuum: { /* jump */ pBt = db->aDb[pOp->p1].pBt; rc = sqlite3BtreeIncrVacuum(pBt); VdbeBranchTaken(rc==SQLITE_DONE,2); - if( rc==SQLITE_DONE ){ + if( rc ){ + if( rc!=SQLITE_DONE ) goto abort_due_to_error; rc = SQLITE_OK; goto jump_to_p2; } @@ -80449,9 +80743,12 @@ case OP_TableLock: { assert( DbMaskTest(p->btreeMask, p1) ); assert( isWriteLock==0 || isWriteLock==1 ); rc = sqlite3BtreeLockTable(db->aDb[p1].pBt, pOp->p2, isWriteLock); - if( (rc&0xFF)==SQLITE_LOCKED ){ - const char *z = pOp->p4.z; - sqlite3VdbeError(p, "database table is locked: %s", z); + if( rc ){ + if( (rc&0xFF)==SQLITE_LOCKED ){ + const char *z = pOp->p4.z; + sqlite3VdbeError(p, "database table is locked: %s", z); + } + goto abort_due_to_error; } } break; @@ -80473,6 +80770,7 @@ case OP_VBegin: { pVTab = pOp->p4.pVtab; rc = sqlite3VtabBegin(db, pVTab); if( pVTab ) sqlite3VtabImportErrmsg(p, pVTab->pVtab); + if( rc ) goto abort_due_to_error; break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -80501,6 +80799,7 @@ case OP_VCreate: { rc = sqlite3VtabCallCreate(db, pOp->p1, zTab, &p->zErrMsg); } sqlite3VdbeMemRelease(&sMem); + if( rc ) goto abort_due_to_error; break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -80515,6 +80814,7 @@ case OP_VDestroy: { db->nVDestroy++; rc = sqlite3VtabCallDestroy(db, pOp->p1, pOp->p4.z); db->nVDestroy--; + if( rc ) goto abort_due_to_error; break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -80538,25 +80838,25 @@ case OP_VOpen: { pVtab = pOp->p4.pVtab->pVtab; if( pVtab==0 || NEVER(pVtab->pModule==0) ){ rc = SQLITE_LOCKED; - break; + goto abort_due_to_error; } pModule = pVtab->pModule; rc = pModule->xOpen(pVtab, &pVCur); sqlite3VtabImportErrmsg(p, pVtab); - if( SQLITE_OK==rc ){ - /* Initialize sqlite3_vtab_cursor base class */ - pVCur->pVtab = pVtab; + if( rc ) goto abort_due_to_error; - /* Initialize vdbe cursor object */ - pCur = allocateCursor(p, pOp->p1, 0, -1, CURTYPE_VTAB); - if( pCur ){ - pCur->uc.pVCur = pVCur; - pVtab->nRef++; - }else{ - assert( db->mallocFailed ); - pModule->xClose(pVCur); - goto no_mem; - } + /* Initialize sqlite3_vtab_cursor base class */ + pVCur->pVtab = pVtab; + + /* Initialize vdbe cursor object */ + pCur = allocateCursor(p, pOp->p1, 0, -1, CURTYPE_VTAB); + if( pCur ){ + pCur->uc.pVCur = pVCur; + pVtab->nRef++; + }else{ + assert( db->mallocFailed ); + pModule->xClose(pVCur); + goto no_mem; } break; } @@ -80618,9 +80918,8 @@ case OP_VFilter: { /* jump */ } rc = pModule->xFilter(pVCur, iQuery, pOp->p4.z, nArg, apArg); sqlite3VtabImportErrmsg(p, pVtab); - if( rc==SQLITE_OK ){ - res = pModule->xEof(pVCur); - } + if( rc ) goto abort_due_to_error; + res = pModule->xEof(pVCur); pCur->nullRow = 0; VdbeBranchTaken(res!=0,2); if( res ) goto jump_to_p2; @@ -80644,7 +80943,7 @@ case OP_VColumn: { VdbeCursor *pCur = p->apCsr[pOp->p1]; assert( pCur->eCurType==CURTYPE_VTAB ); - assert( pOp->p3>0 && pOp->p3<=(p->nMem-p->nCursor) ); + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); pDest = &aMem[pOp->p3]; memAboutToChange(p, pDest); if( pCur->nullRow ){ @@ -80669,6 +80968,7 @@ case OP_VColumn: { if( sqlite3VdbeMemTooBig(pDest) ){ goto too_big; } + if( rc ) goto abort_due_to_error; break; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -80704,9 +81004,8 @@ case OP_VNext: { /* jump */ */ rc = pModule->xNext(pCur->uc.pVCur); sqlite3VtabImportErrmsg(p, pVtab); - if( rc==SQLITE_OK ){ - res = pModule->xEof(pCur->uc.pVCur); - } + if( rc ) goto abort_due_to_error; + res = pModule->xEof(pCur->uc.pVCur); VdbeBranchTaken(!res,2); if( !res ){ /* If there is data, jump to P2 */ @@ -80738,11 +81037,11 @@ case OP_VRename: { testcase( pName->enc==SQLITE_UTF16BE ); testcase( pName->enc==SQLITE_UTF16LE ); rc = sqlite3VdbeChangeEncoding(pName, SQLITE_UTF8); - if( rc==SQLITE_OK ){ - rc = pVtab->pModule->xRename(pVtab, pName->z); - sqlite3VtabImportErrmsg(p, pVtab); - p->expired = 0; - } + if( rc ) goto abort_due_to_error; + rc = pVtab->pModule->xRename(pVtab, pName->z); + sqlite3VtabImportErrmsg(p, pVtab); + p->expired = 0; + if( rc ) goto abort_due_to_error; break; } #endif @@ -80791,7 +81090,7 @@ case OP_VUpdate: { pVtab = pOp->p4.pVtab->pVtab; if( pVtab==0 || NEVER(pVtab->pModule==0) ){ rc = SQLITE_LOCKED; - break; + goto abort_due_to_error; } pModule = pVtab->pModule; nArg = pOp->p2; @@ -80823,6 +81122,7 @@ case OP_VUpdate: { }else{ p->nChange++; } + if( rc ) goto abort_due_to_error; } break; } @@ -80994,9 +81294,14 @@ default: { /* This is really OP_Noop and OP_Explain */ /* If we reach this point, it means that execution is finished with ** an error of some kind. */ -vdbe_error_halt: +abort_due_to_error: + if( db->mallocFailed ) rc = SQLITE_NOMEM_BKPT; assert( rc ); + if( p->zErrMsg==0 && rc!=SQLITE_IOERR_NOMEM ){ + sqlite3VdbeError(p, "%s", sqlite3ErrStr(rc)); + } p->rc = rc; + sqlite3SystemError(db, rc); testcase( sqlite3GlobalConfig.xLog!=0 ); sqlite3_log(rc, "statement aborts at %d: [%s] %s", (int)(pOp - aOp), p->zSql, p->zErrMsg); @@ -81026,36 +81331,25 @@ default: { /* This is really OP_Noop and OP_Explain */ too_big: sqlite3VdbeError(p, "string or blob too big"); rc = SQLITE_TOOBIG; - goto vdbe_error_halt; + goto abort_due_to_error; /* Jump to here if a malloc() fails. */ no_mem: sqlite3OomFault(db); sqlite3VdbeError(p, "out of memory"); - rc = SQLITE_NOMEM; - goto vdbe_error_halt; - - /* Jump to here for any other kind of fatal error. The "rc" variable - ** should hold the error number. - */ -abort_due_to_error: - assert( p->zErrMsg==0 ); - if( db->mallocFailed ) rc = SQLITE_NOMEM; - if( rc!=SQLITE_IOERR_NOMEM ){ - sqlite3VdbeError(p, "%s", sqlite3ErrStr(rc)); - } - goto vdbe_error_halt; + rc = SQLITE_NOMEM_BKPT; + goto abort_due_to_error; /* Jump to here if the sqlite3_interrupt() API sets the interrupt ** flag. */ abort_due_to_interrupt: assert( db->u1.isInterrupted ); - rc = db->mallocFailed ? SQLITE_NOMEM : SQLITE_INTERRUPT; + rc = db->mallocFailed ? SQLITE_NOMEM_BKPT : SQLITE_INTERRUPT; p->rc = rc; sqlite3VdbeError(p, "%s", sqlite3ErrStr(rc)); - goto vdbe_error_halt; + goto abort_due_to_error; } @@ -82083,7 +82377,7 @@ static int vdbePmaReadBlob( int nNew = MAX(128, p->nAlloc*2); while( nByte>nNew ) nNew = nNew*2; aNew = sqlite3Realloc(p->aAlloc, nNew); - if( !aNew ) return SQLITE_NOMEM; + if( !aNew ) return SQLITE_NOMEM_BKPT; p->nAlloc = nNew; p->aAlloc = aNew; } @@ -82195,7 +82489,7 @@ static int vdbePmaReaderSeek( int iBuf = pReadr->iReadOff % pgsz; if( pReadr->aBuffer==0 ){ pReadr->aBuffer = (u8*)sqlite3Malloc(pgsz); - if( pReadr->aBuffer==0 ) rc = SQLITE_NOMEM; + if( pReadr->aBuffer==0 ) rc = SQLITE_NOMEM_BKPT; pReadr->nBuffer = pgsz; } if( rc==SQLITE_OK && iBuf ){ @@ -82511,7 +82805,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( pSorter = (VdbeSorter*)sqlite3DbMallocZero(db, sz + szKeyInfo); pCsr->uc.pSorter = pSorter; if( pSorter==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ pSorter->pKeyInfo = pKeyInfo = (KeyInfo*)((u8*)pSorter + sz); memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo); @@ -82545,7 +82839,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( assert( pSorter->iMemory==0 ); pSorter->nMemory = pgsz; pSorter->list.aMemory = (u8*)sqlite3Malloc(pgsz); - if( !pSorter->list.aMemory ) rc = SQLITE_NOMEM; + if( !pSorter->list.aMemory ) rc = SQLITE_NOMEM_BKPT; } } @@ -82867,7 +83161,7 @@ static int vdbeSortAllocUnpacked(SortSubtask *pTask){ pTask->pSorter->pKeyInfo, 0, 0, &pFree ); assert( pTask->pUnpacked==(UnpackedRecord*)pFree ); - if( pFree==0 ) return SQLITE_NOMEM; + if( pFree==0 ) return SQLITE_NOMEM_BKPT; pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nField; pTask->pUnpacked->errCode = 0; } @@ -82942,7 +83236,7 @@ static int vdbeSorterSort(SortSubtask *pTask, SorterList *pList){ aSlot = (SorterRecord **)sqlite3MallocZero(64 * sizeof(SorterRecord *)); if( !aSlot ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } while( p ){ @@ -82992,7 +83286,7 @@ static void vdbePmaWriterInit( memset(p, 0, sizeof(PmaWriter)); p->aBuffer = (u8*)sqlite3Malloc(nBuf); if( !p->aBuffer ){ - p->eFWErr = SQLITE_NOMEM; + p->eFWErr = SQLITE_NOMEM_BKPT; }else{ p->iBufEnd = p->iBufStart = (iStart % nBuf); p->iWriteOff = iStart - p->iBufStart; @@ -83280,7 +83574,7 @@ static int vdbeSorterFlushPMA(VdbeSorter *pSorter){ pSorter->nMemory = sqlite3MallocSize(aMem); }else if( pSorter->list.aMemory ){ pSorter->list.aMemory = sqlite3Malloc(pSorter->nMemory); - if( !pSorter->list.aMemory ) return SQLITE_NOMEM; + if( !pSorter->list.aMemory ) return SQLITE_NOMEM_BKPT; } rc = vdbeSorterCreateThread(pTask, vdbeSorterFlushThread, pCtx); @@ -83371,7 +83665,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( if( nNew < nMin ) nNew = nMin; aNew = sqlite3Realloc(pSorter->list.aMemory, nNew); - if( !aNew ) return SQLITE_NOMEM; + if( !aNew ) return SQLITE_NOMEM_BKPT; pSorter->list.pList = (SorterRecord*)&aNew[iListOff]; pSorter->list.aMemory = aNew; pSorter->nMemory = nNew; @@ -83385,7 +83679,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterWrite( }else{ pNew = (SorterRecord *)sqlite3Malloc(nReq); if( pNew==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pNew->u.pNext = pSorter->list.pList; } @@ -83532,7 +83826,7 @@ static int vdbeIncrMergerNew( pTask->file2.iEof += pIncr->mxSz; }else{ vdbeMergeEngineFree(pMerger); - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } return rc; } @@ -83837,10 +84131,10 @@ static int vdbeMergeEngineLevel0( int rc = SQLITE_OK; *ppOut = pNew = vdbeMergeEngineNew(nPMA); - if( pNew==0 ) rc = SQLITE_NOMEM; + if( pNew==0 ) rc = SQLITE_NOMEM_BKPT; for(i=0; iaReadr[i]; rc = vdbePmaReaderInit(pTask, &pTask->file, iOff, pReadr, &nDummy); iOff = pReadr->iEof; @@ -83908,7 +84202,7 @@ static int vdbeSorterAddToTree( if( pReadr->pIncr==0 ){ MergeEngine *pNew = vdbeMergeEngineNew(SORTER_MAX_MERGE_COUNT); if( pNew==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ rc = vdbeIncrMergerNew(pTask, pNew, &pReadr->pIncr); } @@ -83953,7 +84247,7 @@ static int vdbeSorterMergeTreeBuild( assert( pSorter->bUseThreads || pSorter->nTask==1 ); if( pSorter->nTask>1 ){ pMain = vdbeMergeEngineNew(pSorter->nTask); - if( pMain==0 ) rc = SQLITE_NOMEM; + if( pMain==0 ) rc = SQLITE_NOMEM_BKPT; } #endif @@ -83971,7 +84265,7 @@ static int vdbeSorterMergeTreeBuild( int i; int iSeq = 0; pRoot = vdbeMergeEngineNew(SORTER_MAX_MERGE_COUNT); - if( pRoot==0 ) rc = SQLITE_NOMEM; + if( pRoot==0 ) rc = SQLITE_NOMEM_BKPT; for(i=0; inPMA && rc==SQLITE_OK; i += SORTER_MAX_MERGE_COUNT){ MergeEngine *pMerger = 0; /* New level-0 PMA merger */ int nReader; /* Number of level-0 PMAs to merge */ @@ -84042,7 +84336,7 @@ static int vdbeSorterSetupMerge(VdbeSorter *pSorter){ if( rc==SQLITE_OK ){ pReadr = (PmaReader*)sqlite3DbMallocZero(db, sizeof(PmaReader)); pSorter->pReader = pReadr; - if( pReadr==0 ) rc = SQLITE_NOMEM; + if( pReadr==0 ) rc = SQLITE_NOMEM_BKPT; } if( rc==SQLITE_OK ){ rc = vdbeIncrMergerNew(pLast, pMain, &pReadr->pIncr); @@ -84219,7 +84513,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *pCsr, Mem *pOut){ pSorter = pCsr->uc.pSorter; pKey = vdbeSorterRowkey(pSorter, &nKey); if( sqlite3VdbeMemClearAndResize(pOut, nKey) ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pOut->n = nKey; MemSetTypeFlag(pOut, MEM_Blob); @@ -84264,7 +84558,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterCompare( char *p; r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo,0,0,&p); assert( pSorter->pUnpacked==(UnpackedRecord*)p ); - if( r2==0 ) return SQLITE_NOMEM; + if( r2==0 ) return SQLITE_NOMEM_BKPT; r2->nField = nKeyCol; } assert( r2->nField==nKeyCol ); @@ -84283,265 +84577,6 @@ SQLITE_PRIVATE int sqlite3VdbeSorterCompare( } /************** End of vdbesort.c ********************************************/ -/************** Begin file journal.c *****************************************/ -/* -** 2007 August 22 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* -** -** This file implements a special kind of sqlite3_file object used -** by SQLite to create journal files if the atomic-write optimization -** is enabled. -** -** The distinctive characteristic of this sqlite3_file is that the -** actual on disk file is created lazily. When the file is created, -** the caller specifies a buffer size for an in-memory buffer to -** be used to service read() and write() requests. The actual file -** on disk is not created or populated until either: -** -** 1) The in-memory representation grows too large for the allocated -** buffer, or -** 2) The sqlite3JournalCreate() function is called. -*/ -#ifdef SQLITE_ENABLE_ATOMIC_WRITE -/* #include "sqliteInt.h" */ - - -/* -** A JournalFile object is a subclass of sqlite3_file used by -** as an open file handle for journal files. -*/ -struct JournalFile { - sqlite3_io_methods *pMethod; /* I/O methods on journal files */ - int nBuf; /* Size of zBuf[] in bytes */ - char *zBuf; /* Space to buffer journal writes */ - int iSize; /* Amount of zBuf[] currently used */ - int flags; /* xOpen flags */ - sqlite3_vfs *pVfs; /* The "real" underlying VFS */ - sqlite3_file *pReal; /* The "real" underlying file descriptor */ - const char *zJournal; /* Name of the journal file */ -}; -typedef struct JournalFile JournalFile; - -/* -** If it does not already exists, create and populate the on-disk file -** for JournalFile p. -*/ -static int createFile(JournalFile *p){ - int rc = SQLITE_OK; - if( !p->pReal ){ - sqlite3_file *pReal = (sqlite3_file *)&p[1]; - rc = sqlite3OsOpen(p->pVfs, p->zJournal, pReal, p->flags, 0); - if( rc==SQLITE_OK ){ - p->pReal = pReal; - if( p->iSize>0 ){ - assert(p->iSize<=p->nBuf); - rc = sqlite3OsWrite(p->pReal, p->zBuf, p->iSize, 0); - } - if( rc!=SQLITE_OK ){ - /* If an error occurred while writing to the file, close it before - ** returning. This way, SQLite uses the in-memory journal data to - ** roll back changes made to the internal page-cache before this - ** function was called. */ - sqlite3OsClose(pReal); - p->pReal = 0; - } - } - } - return rc; -} - -/* -** Close the file. -*/ -static int jrnlClose(sqlite3_file *pJfd){ - JournalFile *p = (JournalFile *)pJfd; - if( p->pReal ){ - sqlite3OsClose(p->pReal); - } - sqlite3_free(p->zBuf); - return SQLITE_OK; -} - -/* -** Read data from the file. -*/ -static int jrnlRead( - sqlite3_file *pJfd, /* The journal file from which to read */ - void *zBuf, /* Put the results here */ - int iAmt, /* Number of bytes to read */ - sqlite_int64 iOfst /* Begin reading at this offset */ -){ - int rc = SQLITE_OK; - JournalFile *p = (JournalFile *)pJfd; - if( p->pReal ){ - rc = sqlite3OsRead(p->pReal, zBuf, iAmt, iOfst); - }else if( (iAmt+iOfst)>p->iSize ){ - rc = SQLITE_IOERR_SHORT_READ; - }else{ - memcpy(zBuf, &p->zBuf[iOfst], iAmt); - } - return rc; -} - -/* -** Write data to the file. -*/ -static int jrnlWrite( - sqlite3_file *pJfd, /* The journal file into which to write */ - const void *zBuf, /* Take data to be written from here */ - int iAmt, /* Number of bytes to write */ - sqlite_int64 iOfst /* Begin writing at this offset into the file */ -){ - int rc = SQLITE_OK; - JournalFile *p = (JournalFile *)pJfd; - if( !p->pReal && (iOfst+iAmt)>p->nBuf ){ - rc = createFile(p); - } - if( rc==SQLITE_OK ){ - if( p->pReal ){ - rc = sqlite3OsWrite(p->pReal, zBuf, iAmt, iOfst); - }else{ - memcpy(&p->zBuf[iOfst], zBuf, iAmt); - if( p->iSize<(iOfst+iAmt) ){ - p->iSize = (iOfst+iAmt); - } - } - } - return rc; -} - -/* -** Truncate the file. -*/ -static int jrnlTruncate(sqlite3_file *pJfd, sqlite_int64 size){ - int rc = SQLITE_OK; - JournalFile *p = (JournalFile *)pJfd; - if( p->pReal ){ - rc = sqlite3OsTruncate(p->pReal, size); - }else if( sizeiSize ){ - p->iSize = size; - } - return rc; -} - -/* -** Sync the file. -*/ -static int jrnlSync(sqlite3_file *pJfd, int flags){ - int rc; - JournalFile *p = (JournalFile *)pJfd; - if( p->pReal ){ - rc = sqlite3OsSync(p->pReal, flags); - }else{ - rc = SQLITE_OK; - } - return rc; -} - -/* -** Query the size of the file in bytes. -*/ -static int jrnlFileSize(sqlite3_file *pJfd, sqlite_int64 *pSize){ - int rc = SQLITE_OK; - JournalFile *p = (JournalFile *)pJfd; - if( p->pReal ){ - rc = sqlite3OsFileSize(p->pReal, pSize); - }else{ - *pSize = (sqlite_int64) p->iSize; - } - return rc; -} - -/* -** Table of methods for JournalFile sqlite3_file object. -*/ -static struct sqlite3_io_methods JournalFileMethods = { - 1, /* iVersion */ - jrnlClose, /* xClose */ - jrnlRead, /* xRead */ - jrnlWrite, /* xWrite */ - jrnlTruncate, /* xTruncate */ - jrnlSync, /* xSync */ - jrnlFileSize, /* xFileSize */ - 0, /* xLock */ - 0, /* xUnlock */ - 0, /* xCheckReservedLock */ - 0, /* xFileControl */ - 0, /* xSectorSize */ - 0, /* xDeviceCharacteristics */ - 0, /* xShmMap */ - 0, /* xShmLock */ - 0, /* xShmBarrier */ - 0 /* xShmUnmap */ -}; - -/* -** Open a journal file. -*/ -SQLITE_PRIVATE int sqlite3JournalOpen( - sqlite3_vfs *pVfs, /* The VFS to use for actual file I/O */ - const char *zName, /* Name of the journal file */ - sqlite3_file *pJfd, /* Preallocated, blank file handle */ - int flags, /* Opening flags */ - int nBuf /* Bytes buffered before opening the file */ -){ - JournalFile *p = (JournalFile *)pJfd; - memset(p, 0, sqlite3JournalSize(pVfs)); - if( nBuf>0 ){ - p->zBuf = sqlite3MallocZero(nBuf); - if( !p->zBuf ){ - return SQLITE_NOMEM; - } - }else{ - return sqlite3OsOpen(pVfs, zName, pJfd, flags, 0); - } - p->pMethod = &JournalFileMethods; - p->nBuf = nBuf; - p->flags = flags; - p->zJournal = zName; - p->pVfs = pVfs; - return SQLITE_OK; -} - -/* -** If the argument p points to a JournalFile structure, and the underlying -** file has not yet been created, create it now. -*/ -SQLITE_PRIVATE int sqlite3JournalCreate(sqlite3_file *p){ - if( p->pMethods!=&JournalFileMethods ){ - return SQLITE_OK; - } - return createFile((JournalFile *)p); -} - -/* -** The file-handle passed as the only argument is guaranteed to be an open -** file. It may or may not be of class JournalFile. If the file is a -** JournalFile, and the underlying file on disk has not yet been opened, -** return 0. Otherwise, return 1. -*/ -SQLITE_PRIVATE int sqlite3JournalExists(sqlite3_file *p){ - return (p->pMethods!=&JournalFileMethods || ((JournalFile *)p)->pReal!=0); -} - -/* -** Return the number of bytes required to store a JournalFile that uses vfs -** pVfs to create the underlying on-disk files. -*/ -SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *pVfs){ - return (pVfs->szOsFile+sizeof(JournalFile)); -} -#endif - -/************** End of journal.c *********************************************/ /************** Begin file memjournal.c **************************************/ /* ** 2008 October 7 @@ -84566,24 +84601,28 @@ typedef struct MemJournal MemJournal; typedef struct FilePoint FilePoint; typedef struct FileChunk FileChunk; -/* Space to hold the rollback journal is allocated in increments of -** this many bytes. -** -** The size chosen is a little less than a power of two. That way, -** the FileChunk object will have a size that almost exactly fills -** a power-of-two allocation. This minimizes wasted space in power-of-two -** memory allocators. -*/ -#define JOURNAL_CHUNKSIZE ((int)(1024-sizeof(FileChunk*))) - /* ** The rollback journal is composed of a linked list of these structures. +** +** The zChunk array is always at least 8 bytes in size - usually much more. +** Its actual size is stored in the MemJournal.nChunkSize variable. */ struct FileChunk { FileChunk *pNext; /* Next chunk in the journal */ - u8 zChunk[JOURNAL_CHUNKSIZE]; /* Content of this chunk */ + u8 zChunk[8]; /* Content of this chunk */ }; +/* +** By default, allocate this many bytes of memory for each FileChunk object. +*/ +#define MEMJOURNAL_DFLT_FILECHUNKSIZE 1024 + +/* +** For chunk size nChunkSize, return the number of bytes that should +** be allocated for each FileChunk structure. +*/ +#define fileChunkSize(nChunkSize) (sizeof(FileChunk) + ((nChunkSize)-8)) + /* ** An instance of this object serves as a cursor into the rollback journal. ** The cursor can be either for reading or writing. @@ -84594,14 +84633,22 @@ struct FilePoint { }; /* -** This subclass is a subclass of sqlite3_file. Each open memory-journal +** This structure is a subclass of sqlite3_file. Each open memory-journal ** is an instance of this class. */ struct MemJournal { - sqlite3_io_methods *pMethod; /* Parent class. MUST BE FIRST */ + const sqlite3_io_methods *pMethod; /* Parent class. MUST BE FIRST */ + int nChunkSize; /* In-memory chunk-size */ + + int nSpill; /* Bytes of data before flushing */ + int nSize; /* Bytes of data currently in memory */ FileChunk *pFirst; /* Head of in-memory chunk-list */ FilePoint endpoint; /* Pointer to the end of the file */ FilePoint readpoint; /* Pointer to the end of the last xRead() */ + + int flags; /* xOpen flags */ + sqlite3_vfs *pVfs; /* The "real" underlying VFS */ + const char *zJournal; /* Name of the journal file */ }; /* @@ -84620,26 +84667,30 @@ static int memjrnlRead( int iChunkOffset; FileChunk *pChunk; - /* SQLite never tries to read past the end of a rollback journal file */ - assert( iOfst+iAmt<=p->endpoint.iOffset ); +#ifdef SQLITE_ENABLE_ATOMIC_WRITE + if( (iAmt+iOfst)>p->endpoint.iOffset ){ + return SQLITE_IOERR_SHORT_READ; + } +#endif + assert( (iAmt+iOfst)<=p->endpoint.iOffset ); if( p->readpoint.iOffset!=iOfst || iOfst==0 ){ sqlite3_int64 iOff = 0; for(pChunk=p->pFirst; - ALWAYS(pChunk) && (iOff+JOURNAL_CHUNKSIZE)<=iOfst; + ALWAYS(pChunk) && (iOff+p->nChunkSize)<=iOfst; pChunk=pChunk->pNext ){ - iOff += JOURNAL_CHUNKSIZE; + iOff += p->nChunkSize; } }else{ pChunk = p->readpoint.pChunk; } - iChunkOffset = (int)(iOfst%JOURNAL_CHUNKSIZE); + iChunkOffset = (int)(iOfst%p->nChunkSize); do { - int iSpace = JOURNAL_CHUNKSIZE - iChunkOffset; - int nCopy = MIN(nRead, (JOURNAL_CHUNKSIZE - iChunkOffset)); - memcpy(zOut, &pChunk->zChunk[iChunkOffset], nCopy); + int iSpace = p->nChunkSize - iChunkOffset; + int nCopy = MIN(nRead, (p->nChunkSize - iChunkOffset)); + memcpy(zOut, (u8*)pChunk->zChunk + iChunkOffset, nCopy); zOut += nCopy; nRead -= iSpace; iChunkOffset = 0; @@ -84650,6 +84701,58 @@ static int memjrnlRead( return SQLITE_OK; } +/* +** Free the list of FileChunk structures headed at MemJournal.pFirst. +*/ +static void memjrnlFreeChunks(MemJournal *p){ + FileChunk *pIter; + FileChunk *pNext; + for(pIter=p->pFirst; pIter; pIter=pNext){ + pNext = pIter->pNext; + sqlite3_free(pIter); + } + p->pFirst = 0; +} + +/* +** Flush the contents of memory to a real file on disk. +*/ +static int memjrnlCreateFile(MemJournal *p){ + int rc; + sqlite3_file *pReal = (sqlite3_file*)p; + MemJournal copy = *p; + + memset(p, 0, sizeof(MemJournal)); + rc = sqlite3OsOpen(copy.pVfs, copy.zJournal, pReal, copy.flags, 0); + if( rc==SQLITE_OK ){ + int nChunk = copy.nChunkSize; + i64 iOff = 0; + FileChunk *pIter; + for(pIter=copy.pFirst; pIter; pIter=pIter->pNext){ + if( iOff + nChunk > copy.endpoint.iOffset ){ + nChunk = copy.endpoint.iOffset - iOff; + } + rc = sqlite3OsWrite(pReal, (u8*)pIter->zChunk, nChunk, iOff); + if( rc ) break; + iOff += nChunk; + } + if( rc==SQLITE_OK ){ + /* No error has occurred. Free the in-memory buffers. */ + memjrnlFreeChunks(©); + } + } + if( rc!=SQLITE_OK ){ + /* If an error occurred while creating or writing to the file, restore + ** the original before returning. This way, SQLite uses the in-memory + ** journal data to roll back changes made to the internal page-cache + ** before this function was called. */ + sqlite3OsClose(pReal); + *p = copy; + } + return rc; +} + + /* ** Write data to the file. */ @@ -84663,38 +84766,62 @@ static int memjrnlWrite( int nWrite = iAmt; u8 *zWrite = (u8 *)zBuf; - /* An in-memory journal file should only ever be appended to. Random - ** access writes are not required by sqlite. - */ - assert( iOfst==p->endpoint.iOffset ); - UNUSED_PARAMETER(iOfst); + /* If the file should be created now, create it and write the new data + ** into the file on disk. */ + if( p->nSpill>0 && (iAmt+iOfst)>p->nSpill ){ + int rc = memjrnlCreateFile(p); + if( rc==SQLITE_OK ){ + rc = sqlite3OsWrite(pJfd, zBuf, iAmt, iOfst); + } + return rc; + } - while( nWrite>0 ){ - FileChunk *pChunk = p->endpoint.pChunk; - int iChunkOffset = (int)(p->endpoint.iOffset%JOURNAL_CHUNKSIZE); - int iSpace = MIN(nWrite, JOURNAL_CHUNKSIZE - iChunkOffset); + /* If the contents of this write should be stored in memory */ + else{ + /* An in-memory journal file should only ever be appended to. Random + ** access writes are not required. The only exception to this is when + ** the in-memory journal is being used by a connection using the + ** atomic-write optimization. In this case the first 28 bytes of the + ** journal file may be written as part of committing the transaction. */ + assert( iOfst==p->endpoint.iOffset || iOfst==0 ); +#ifdef SQLITE_ENABLE_ATOMIC_WRITE + if( iOfst==0 && p->pFirst ){ + assert( p->nChunkSize>iAmt ); + memcpy((u8*)p->pFirst->zChunk, zBuf, iAmt); + }else +#else + assert( iOfst>0 || p->pFirst==0 ); +#endif + { + while( nWrite>0 ){ + FileChunk *pChunk = p->endpoint.pChunk; + int iChunkOffset = (int)(p->endpoint.iOffset%p->nChunkSize); + int iSpace = MIN(nWrite, p->nChunkSize - iChunkOffset); + + if( iChunkOffset==0 ){ + /* New chunk is required to extend the file. */ + FileChunk *pNew = sqlite3_malloc(fileChunkSize(p->nChunkSize)); + if( !pNew ){ + return SQLITE_IOERR_NOMEM_BKPT; + } + pNew->pNext = 0; + if( pChunk ){ + assert( p->pFirst ); + pChunk->pNext = pNew; + }else{ + assert( !p->pFirst ); + p->pFirst = pNew; + } + p->endpoint.pChunk = pNew; + } - if( iChunkOffset==0 ){ - /* New chunk is required to extend the file. */ - FileChunk *pNew = sqlite3_malloc(sizeof(FileChunk)); - if( !pNew ){ - return SQLITE_IOERR_NOMEM; + memcpy((u8*)p->endpoint.pChunk->zChunk + iChunkOffset, zWrite, iSpace); + zWrite += iSpace; + nWrite -= iSpace; + p->endpoint.iOffset += iSpace; } - pNew->pNext = 0; - if( pChunk ){ - assert( p->pFirst ); - pChunk->pNext = pNew; - }else{ - assert( !p->pFirst ); - p->pFirst = pNew; - } - p->endpoint.pChunk = pNew; + p->nSize = iAmt + iOfst; } - - memcpy(&p->endpoint.pChunk->zChunk[iChunkOffset], zWrite, iSpace); - zWrite += iSpace; - nWrite -= iSpace; - p->endpoint.iOffset += iSpace; } return SQLITE_OK; @@ -84702,19 +84829,21 @@ static int memjrnlWrite( /* ** Truncate the file. +** +** If the journal file is already on disk, truncate it there. Or, if it +** is still in main memory but is being truncated to zero bytes in size, +** ignore */ static int memjrnlTruncate(sqlite3_file *pJfd, sqlite_int64 size){ MemJournal *p = (MemJournal *)pJfd; - FileChunk *pChunk; - assert(size==0); - UNUSED_PARAMETER(size); - pChunk = p->pFirst; - while( pChunk ){ - FileChunk *pTmp = pChunk; - pChunk = pChunk->pNext; - sqlite3_free(pTmp); - } - sqlite3MemJournalOpen(pJfd); + if( ALWAYS(size==0) ){ + memjrnlFreeChunks(p); + p->nSize = 0; + p->endpoint.pChunk = 0; + p->endpoint.iOffset = 0; + p->readpoint.pChunk = 0; + p->readpoint.iOffset = 0; + } return SQLITE_OK; } @@ -84722,21 +84851,19 @@ static int memjrnlTruncate(sqlite3_file *pJfd, sqlite_int64 size){ ** Close the file. */ static int memjrnlClose(sqlite3_file *pJfd){ - memjrnlTruncate(pJfd, 0); + MemJournal *p = (MemJournal *)pJfd; + memjrnlFreeChunks(p); return SQLITE_OK; } - /* ** Sync the file. ** -** Syncing an in-memory journal is a no-op. And, in fact, this routine -** is never called in a working implementation. This implementation -** exists purely as a contingency, in case some malfunction in some other -** part of SQLite causes Sync to be called by mistake. +** If the real file has been created, call its xSync method. Otherwise, +** syncing an in-memory journal is a no-op. */ -static int memjrnlSync(sqlite3_file *NotUsed, int NotUsed2){ - UNUSED_PARAMETER2(NotUsed, NotUsed2); +static int memjrnlSync(sqlite3_file *pJfd, int flags){ + UNUSED_PARAMETER2(pJfd, flags); return SQLITE_OK; } @@ -84775,28 +84902,88 @@ static const struct sqlite3_io_methods MemJournalMethods = { }; /* -** Open a journal file. +** Open a journal file. +** +** The behaviour of the journal file depends on the value of parameter +** nSpill. If nSpill is 0, then the journal file is always create and +** accessed using the underlying VFS. If nSpill is less than zero, then +** all content is always stored in main-memory. Finally, if nSpill is a +** positive value, then the journal file is initially created in-memory +** but may be flushed to disk later on. In this case the journal file is +** flushed to disk either when it grows larger than nSpill bytes in size, +** or when sqlite3JournalCreate() is called. +*/ +SQLITE_PRIVATE int sqlite3JournalOpen( + sqlite3_vfs *pVfs, /* The VFS to use for actual file I/O */ + const char *zName, /* Name of the journal file */ + sqlite3_file *pJfd, /* Preallocated, blank file handle */ + int flags, /* Opening flags */ + int nSpill /* Bytes buffered before opening the file */ +){ + MemJournal *p = (MemJournal*)pJfd; + + /* Zero the file-handle object. If nSpill was passed zero, initialize + ** it using the sqlite3OsOpen() function of the underlying VFS. In this + ** case none of the code in this module is executed as a result of calls + ** made on the journal file-handle. */ + memset(p, 0, sizeof(MemJournal)); + if( nSpill==0 ){ + return sqlite3OsOpen(pVfs, zName, pJfd, flags, 0); + } + + if( nSpill>0 ){ + p->nChunkSize = nSpill; + }else{ + p->nChunkSize = 8 + MEMJOURNAL_DFLT_FILECHUNKSIZE - sizeof(FileChunk); + assert( MEMJOURNAL_DFLT_FILECHUNKSIZE==fileChunkSize(p->nChunkSize) ); + } + + p->pMethod = (const sqlite3_io_methods*)&MemJournalMethods; + p->nSpill = nSpill; + p->flags = flags; + p->zJournal = zName; + p->pVfs = pVfs; + return SQLITE_OK; +} + +/* +** Open an in-memory journal file. */ SQLITE_PRIVATE void sqlite3MemJournalOpen(sqlite3_file *pJfd){ - MemJournal *p = (MemJournal *)pJfd; - assert( EIGHT_BYTE_ALIGNMENT(p) ); - memset(p, 0, sqlite3MemJournalSize()); - p->pMethod = (sqlite3_io_methods*)&MemJournalMethods; + sqlite3JournalOpen(0, 0, pJfd, 0, -1); +} + +#ifdef SQLITE_ENABLE_ATOMIC_WRITE +/* +** If the argument p points to a MemJournal structure that is not an +** in-memory-only journal file (i.e. is one that was opened with a +ve +** nSpill parameter), and the underlying file has not yet been created, +** create it now. +*/ +SQLITE_PRIVATE int sqlite3JournalCreate(sqlite3_file *p){ + int rc = SQLITE_OK; + if( p->pMethods==&MemJournalMethods && ((MemJournal*)p)->nSpill>0 ){ + rc = memjrnlCreateFile((MemJournal*)p); + } + return rc; } +#endif /* -** Return true if the file-handle passed as an argument is -** an in-memory journal +** The file-handle passed as the only argument is open on a journal file. +** Return true if this "journal file" is currently stored in heap memory, +** or false otherwise. */ -SQLITE_PRIVATE int sqlite3IsMemJournal(sqlite3_file *pJfd){ - return pJfd->pMethods==&MemJournalMethods; +SQLITE_PRIVATE int sqlite3JournalIsInMemory(sqlite3_file *p){ + return p->pMethods==&MemJournalMethods; } /* -** Return the number of bytes required to store a MemJournal file descriptor. +** Return the number of bytes required to store a JournalFile that uses vfs +** pVfs to create the underlying on-disk files. */ -SQLITE_PRIVATE int sqlite3MemJournalSize(void){ - return sizeof(MemJournal); +SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *pVfs){ + return MAX(pVfs->szOsFile, (int)sizeof(MemJournal)); } /************** End of memjournal.c ******************************************/ @@ -85623,9 +85810,9 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ notValid(pParse, pNC, "functions", NC_PartIdx); zId = pExpr->u.zToken; nId = sqlite3Strlen30(zId); - pDef = sqlite3FindFunction(pParse->db, zId, nId, n, enc, 0); + pDef = sqlite3FindFunction(pParse->db, zId, n, enc, 0); if( pDef==0 ){ - pDef = sqlite3FindFunction(pParse->db, zId, nId, -2, enc, 0); + pDef = sqlite3FindFunction(pParse->db, zId, -2, enc, 0); if( pDef==0 ){ no_such_func = 1; }else{ @@ -87749,7 +87936,8 @@ SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){ if( pList ){ for(i=0; inExpr; i++){ Expr *pExpr = pList->a[i].pExpr; - if( ALWAYS(pExpr) ) m |= pExpr->flags; + assert( pExpr!=0 ); + m |= pExpr->flags; } } return m; @@ -88034,23 +88222,22 @@ SQLITE_PRIVATE int sqlite3IsRowid(const char *z){ } /* -** Return true if we are able to the IN operator optimization on a -** query of the form -** -** x IN (SELECT ...) -** -** Where the SELECT... clause is as specified by the parameter to this -** routine. -** -** The Select object passed in has already been preprocessed and no -** errors have been found. +** pX is the RHS of an IN operator. If pX is a SELECT statement +** that can be simplified to a direct table access, then return +** a pointer to the SELECT statement. If pX is not a SELECT statement, +** or if the SELECT statement needs to be manifested into a transient +** table, then return NULL. */ #ifndef SQLITE_OMIT_SUBQUERY -static int isCandidateForInOpt(Select *p){ +static Select *isCandidateForInOpt(Expr *pX){ + Select *p; SrcList *pSrc; ExprList *pEList; + Expr *pRes; Table *pTab; - if( p==0 ) return 0; /* right-hand side of IN is SELECT */ + if( !ExprHasProperty(pX, EP_xIsSelect) ) return 0; /* Not a subquery */ + if( ExprHasProperty(pX, EP_VarSelect) ) return 0; /* Correlated subq */ + p = pX->x.pSelect; if( p->pPrior ) return 0; /* Not a compound SELECT */ if( p->selFlags & (SF_Distinct|SF_Aggregate) ){ testcase( (p->selFlags & (SF_Distinct|SF_Aggregate))==SF_Distinct ); @@ -88066,13 +88253,15 @@ static int isCandidateForInOpt(Select *p){ if( pSrc->nSrc!=1 ) return 0; /* Single term in FROM clause */ if( pSrc->a[0].pSelect ) return 0; /* FROM is not a subquery or view */ pTab = pSrc->a[0].pTab; - if( NEVER(pTab==0) ) return 0; + assert( pTab!=0 ); assert( pTab->pSelect==0 ); /* FROM clause is not a view */ if( IsVirtual(pTab) ) return 0; /* FROM clause not a virtual table */ pEList = p->pEList; if( pEList->nExpr!=1 ) return 0; /* One column in the result set */ - if( pEList->a[0].pExpr->op!=TK_COLUMN ) return 0; /* Result is a column */ - return 1; + pRes = pEList->a[0].pExpr; + if( pRes->op!=TK_COLUMN ) return 0; /* Result is a column */ + assert( pRes->iTable==pSrc->a[0].iCursor ); /* Not a correlated subquery */ + return p; } #endif /* SQLITE_OMIT_SUBQUERY */ @@ -88204,15 +88393,13 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *pParse, Expr *pX, u32 inFlags, int ** satisfy the query. This is preferable to generating a new ** ephemeral table. */ - p = (ExprHasProperty(pX, EP_xIsSelect) ? pX->x.pSelect : 0); - if( pParse->nErr==0 && isCandidateForInOpt(p) ){ + if( pParse->nErr==0 && (p = isCandidateForInOpt(pX))!=0 ){ sqlite3 *db = pParse->db; /* Database connection */ Table *pTab; /* Table . */ Expr *pExpr; /* Expression */ i16 iCol; /* Index of column */ i16 iDb; /* Database idx for pTab */ - assert( p ); /* Because of isCandidateForInOpt(p) */ assert( p->pEList!=0 ); /* Because of isCandidateForInOpt(p) */ assert( p->pEList->a[0].pExpr!=0 ); /* Because of isCandidateForInOpt(p) */ assert( p->pSrc!=0 ); /* Because of isCandidateForInOpt(p) */ @@ -89354,7 +89541,6 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) ExprList *pFarg; /* List of function arguments */ int nFarg; /* Number of function arguments */ FuncDef *pDef; /* The function definition object */ - int nId; /* Length of the function name in bytes */ const char *zId; /* The function name */ u32 constMask = 0; /* Mask of function arguments that are constant */ int i; /* Loop counter */ @@ -89370,10 +89556,9 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) nFarg = pFarg ? pFarg->nExpr : 0; assert( !ExprHasProperty(pExpr, EP_IntValue) ); zId = pExpr->u.zToken; - nId = sqlite3Strlen30(zId); - pDef = sqlite3FindFunction(db, zId, nId, nFarg, enc, 0); + pDef = sqlite3FindFunction(db, zId, nFarg, enc, 0); if( pDef==0 || pDef->xFinalize!=0 ){ - sqlite3ErrorMsg(pParse, "unknown function: %.*s()", nId, zId); + sqlite3ErrorMsg(pParse, "unknown function: %s()", zId); break; } @@ -89538,6 +89723,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) sqlite3ReleaseTempReg(pParse, r4); break; } + case TK_SPAN: case TK_COLLATE: case TK_UPLUS: { inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); @@ -90016,6 +90202,13 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int sqlite3ExprIfFalse(pParse, pExpr->pLeft, dest, jumpIfNull); break; } + case TK_IS: + case TK_ISNOT: + testcase( op==TK_IS ); + testcase( op==TK_ISNOT ); + op = (op==TK_IS) ? TK_EQ : TK_NE; + jumpIfNull = SQLITE_NULLEQ; + /* Fall thru */ case TK_LT: case TK_LE: case TK_GT: @@ -90031,23 +90224,12 @@ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse *pParse, Expr *pExpr, int dest, int assert(TK_LE==OP_Le); testcase(op==OP_Le); VdbeCoverageIf(v,op==OP_Le); assert(TK_GT==OP_Gt); testcase(op==OP_Gt); VdbeCoverageIf(v,op==OP_Gt); assert(TK_GE==OP_Ge); testcase(op==OP_Ge); VdbeCoverageIf(v,op==OP_Ge); - assert(TK_EQ==OP_Eq); testcase(op==OP_Eq); VdbeCoverageIf(v,op==OP_Eq); - assert(TK_NE==OP_Ne); testcase(op==OP_Ne); VdbeCoverageIf(v,op==OP_Ne); - testcase( regFree1==0 ); - testcase( regFree2==0 ); - break; - } - case TK_IS: - case TK_ISNOT: { - testcase( op==TK_IS ); - testcase( op==TK_ISNOT ); - r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); - r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); - op = (op==TK_IS) ? TK_EQ : TK_NE; - codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, - r1, r2, dest, SQLITE_NULLEQ); - VdbeCoverageIf(v, op==TK_EQ); - VdbeCoverageIf(v, op==TK_NE); + assert(TK_EQ==OP_Eq); testcase(op==OP_Eq); + VdbeCoverageIf(v, op==OP_Eq && jumpIfNull==SQLITE_NULLEQ); + VdbeCoverageIf(v, op==OP_Eq && jumpIfNull!=SQLITE_NULLEQ); + assert(TK_NE==OP_Ne); testcase(op==OP_Ne); + VdbeCoverageIf(v, op==OP_Ne && jumpIfNull==SQLITE_NULLEQ); + VdbeCoverageIf(v, op==OP_Ne && jumpIfNull!=SQLITE_NULLEQ); testcase( regFree1==0 ); testcase( regFree2==0 ); break; @@ -90172,6 +90354,13 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int sqlite3ExprIfTrue(pParse, pExpr->pLeft, dest, jumpIfNull); break; } + case TK_IS: + case TK_ISNOT: + testcase( pExpr->op==TK_IS ); + testcase( pExpr->op==TK_ISNOT ); + op = (pExpr->op==TK_IS) ? TK_NE : TK_EQ; + jumpIfNull = SQLITE_NULLEQ; + /* Fall thru */ case TK_LT: case TK_LE: case TK_GT: @@ -90187,23 +90376,12 @@ SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse *pParse, Expr *pExpr, int dest, int assert(TK_LE==OP_Le); testcase(op==OP_Le); VdbeCoverageIf(v,op==OP_Le); assert(TK_GT==OP_Gt); testcase(op==OP_Gt); VdbeCoverageIf(v,op==OP_Gt); assert(TK_GE==OP_Ge); testcase(op==OP_Ge); VdbeCoverageIf(v,op==OP_Ge); - assert(TK_EQ==OP_Eq); testcase(op==OP_Eq); VdbeCoverageIf(v,op==OP_Eq); - assert(TK_NE==OP_Ne); testcase(op==OP_Ne); VdbeCoverageIf(v,op==OP_Ne); - testcase( regFree1==0 ); - testcase( regFree2==0 ); - break; - } - case TK_IS: - case TK_ISNOT: { - testcase( pExpr->op==TK_IS ); - testcase( pExpr->op==TK_ISNOT ); - r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, ®Free1); - r2 = sqlite3ExprCodeTemp(pParse, pExpr->pRight, ®Free2); - op = (pExpr->op==TK_IS) ? TK_NE : TK_EQ; - codeCompare(pParse, pExpr->pLeft, pExpr->pRight, op, - r1, r2, dest, SQLITE_NULLEQ); - VdbeCoverageIf(v, op==TK_EQ); - VdbeCoverageIf(v, op==TK_NE); + assert(TK_EQ==OP_Eq); testcase(op==OP_Eq); + VdbeCoverageIf(v, op==OP_Eq && jumpIfNull!=SQLITE_NULLEQ); + VdbeCoverageIf(v, op==OP_Eq && jumpIfNull==SQLITE_NULLEQ); + assert(TK_NE==OP_Ne); testcase(op==OP_Ne); + VdbeCoverageIf(v, op==OP_Ne && jumpIfNull!=SQLITE_NULLEQ); + VdbeCoverageIf(v, op==OP_Ne && jumpIfNull==SQLITE_NULLEQ); testcase( regFree1==0 ); testcase( regFree2==0 ); break; @@ -90598,7 +90776,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ pItem->iMem = ++pParse->nMem; assert( !ExprHasProperty(pExpr, EP_IntValue) ); pItem->pFunc = sqlite3FindFunction(pParse->db, - pExpr->u.zToken, sqlite3Strlen30(pExpr->u.zToken), + pExpr->u.zToken, pExpr->x.pList ? pExpr->x.pList->nExpr : 0, enc, 0); if( pExpr->flags & EP_Distinct ){ pItem->iDistinct = pParse->nTab++; @@ -90727,6 +90905,29 @@ SQLITE_PRIVATE void sqlite3ClearTempRegCache(Parse *pParse){ pParse->nRangeReg = 0; } +/* +** Validate that no temporary register falls within the range of +** iFirst..iLast, inclusive. This routine is only call from within assert() +** statements. +*/ +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE int sqlite3NoTempsInRange(Parse *pParse, int iFirst, int iLast){ + int i; + if( pParse->nRangeReg>0 + && pParse->iRangeReg+pParse->nRangeRegiRangeReg>=iFirst + ){ + return 0; + } + for(i=0; inTempReg; i++){ + if( pParse->aTempReg[i]>=iFirst && pParse->aTempReg[i]<=iLast ){ + return 0; + } + } + return 1; +} +#endif /* SQLITE_DEBUG */ + /************** End of expr.c ************************************************/ /************** Begin file alter.c *******************************************/ /* @@ -90960,7 +91161,7 @@ static void renameTriggerFunc( ** Register built-in functions used to help implement ALTER TABLE */ SQLITE_PRIVATE void sqlite3AlterFunctions(void){ - static SQLITE_WSD FuncDef aAlterTableFuncs[] = { + static FuncDef aAlterTableFuncs[] = { FUNCTION(sqlite_rename_table, 2, 0, 0, renameTableFunc), #ifndef SQLITE_OMIT_TRIGGER FUNCTION(sqlite_rename_trigger, 2, 0, 0, renameTriggerFunc), @@ -90969,13 +91170,7 @@ SQLITE_PRIVATE void sqlite3AlterFunctions(void){ FUNCTION(sqlite_rename_parent, 3, 0, 0, renameParentFunc), #endif }; - int i; - FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); - FuncDef *aFunc = (FuncDef*)&GLOBAL(FuncDef, aAlterTableFuncs); - - for(i=0; iop==TK_NULL ){ + assert( pDflt==0 || pDflt->op==TK_SPAN ); + if( pDflt && pDflt->pLeft->op==TK_NULL ){ pDflt = 0; } @@ -91522,9 +91718,7 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ Column *pCol = &pNew->aCol[i]; pCol->zName = sqlite3DbStrDup(db, pCol->zName); pCol->zColl = 0; - pCol->zType = 0; pCol->pDflt = 0; - pCol->zDflt = 0; } pNew->pSchema = db->aDb[iDb].pSchema; pNew->addColOffset = pTab->addColOffset; @@ -92027,8 +92221,7 @@ static const FuncDef statInitFuncdef = { statInit, /* xSFunc */ 0, /* xFinalize */ "stat_init", /* zName */ - 0, /* pHash */ - 0 /* pDestructor */ + {0} }; #ifdef SQLITE_ENABLE_STAT4 @@ -92327,8 +92520,7 @@ static const FuncDef statPushFuncdef = { statPush, /* xSFunc */ 0, /* xFinalize */ "stat_push", /* zName */ - 0, /* pHash */ - 0 /* pDestructor */ + {0} }; #define STAT_GET_STAT1 0 /* "stat" column of stat1 table */ @@ -92473,8 +92665,7 @@ static const FuncDef statGetFuncdef = { statGet, /* xSFunc */ 0, /* xFinalize */ "stat_get", /* zName */ - 0, /* pHash */ - 0 /* pDestructor */ + {0} }; static void callStatGet(Vdbe *v, int regStat4, int iParam, int regOut){ @@ -93219,7 +93410,7 @@ static int loadStatTbl( assert( db->lookaside.bDisable ); zSql = sqlite3MPrintf(db, zSql1, zDb); if( !zSql ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0); sqlite3DbFree(db, zSql); @@ -93259,7 +93450,7 @@ static int loadStatTbl( pIdx->aSample = sqlite3DbMallocZero(db, nByte); if( pIdx->aSample==0 ){ sqlite3_finalize(pStmt); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pSpace = (tRowcnt*)&pIdx->aSample[nSample]; pIdx->aAvgEq = pSpace; pSpace += nIdxCol; @@ -93275,7 +93466,7 @@ static int loadStatTbl( zSql = sqlite3MPrintf(db, zSql2, zDb); if( !zSql ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } rc = sqlite3_prepare(db, zSql, -1, &pStmt, 0); sqlite3DbFree(db, zSql); @@ -93313,7 +93504,7 @@ static int loadStatTbl( pSample->p = sqlite3DbMallocZero(db, pSample->n + 2); if( pSample->p==0 ){ sqlite3_finalize(pStmt); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memcpy(pSample->p, sqlite3_column_blob(pStmt, 4), pSample->n); pIdx->nSample++; @@ -93402,7 +93593,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ zSql = sqlite3MPrintf(db, "SELECT tbl,idx,stat FROM %Q.sqlite_stat1", sInfo.zDatabase); if( zSql==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ rc = sqlite3_exec(db, zSql, analysisLoader, &sInfo, 0); sqlite3DbFree(db, zSql); @@ -93580,7 +93771,7 @@ static void attachFunc( Pager *pPager; aNew->pSchema = sqlite3SchemaGet(db, aNew->pBt); if( !aNew->pSchema ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else if( aNew->pSchema->file_format && aNew->pSchema->enc!=ENC(db) ){ zErrDyn = sqlite3MPrintf(db, "attached databases must use the same text encoding as main database"); @@ -93597,10 +93788,10 @@ static void attachFunc( #endif sqlite3BtreeLeave(aNew->pBt); } - aNew->safety_level = 3; + aNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; aNew->zName = sqlite3DbStrDup(db, zName); if( rc==SQLITE_OK && aNew->zName==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } @@ -93828,8 +94019,7 @@ SQLITE_PRIVATE void sqlite3Detach(Parse *pParse, Expr *pDbname){ detachFunc, /* xSFunc */ 0, /* xFinalize */ "sqlite_detach", /* zName */ - 0, /* pHash */ - 0 /* pDestructor */ + {0} }; codeAttach(pParse, SQLITE_DETACH, &detach_func, pDbname, 0, 0, pDbname); } @@ -93848,8 +94038,7 @@ SQLITE_PRIVATE void sqlite3Attach(Parse *pParse, Expr *p, Expr *pDbname, Expr *p attachFunc, /* xSFunc */ 0, /* xFinalize */ "sqlite_attach", /* zName */ - 0, /* pHash */ - 0 /* pDestructor */ + {0} }; codeAttach(pParse, SQLITE_ATTACH, &attach_func, p, p, pDbname, pKey); } @@ -94856,8 +95045,6 @@ SQLITE_PRIVATE void sqlite3DeleteColumnNames(sqlite3 *db, Table *pTable){ for(i=0; inCol; i++, pCol++){ sqlite3DbFree(db, pCol->zName); sqlite3ExprDelete(db, pCol->pDflt); - sqlite3DbFree(db, pCol->zDflt); - sqlite3DbFree(db, pCol->zType); sqlite3DbFree(db, pCol->zColl); } sqlite3DbFree(db, pTable->aCol); @@ -94995,12 +95182,8 @@ SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *db, const char *zName){ int i = -1; /* Database number */ if( zName ){ Db *pDb; - int n = sqlite3Strlen30(zName); for(i=(db->nDb-1), pDb=&db->aDb[i]; i>=0; i--, pDb--){ - if( (!OMIT_TEMPDB || i!=1 ) && n==sqlite3Strlen30(pDb->zName) && - 0==sqlite3StrICmp(pDb->zName, zName) ){ - break; - } + if( 0==sqlite3StrICmp(pDb->zName, zName) ) break; } } return i; @@ -95212,7 +95395,7 @@ SQLITE_PRIVATE void sqlite3StartTable( pTable = sqlite3DbMallocZero(db, sizeof(Table)); if( pTable==0 ){ assert( db->mallocFailed ); - pParse->rc = SQLITE_NOMEM; + pParse->rc = SQLITE_NOMEM_BKPT; pParse->nErr++; goto begin_table_error; } @@ -95328,10 +95511,11 @@ SQLITE_PRIVATE void sqlite3ColumnPropertiesFromName(Table *pTab, Column *pCol){ ** first to get things going. Then this routine is called for each ** column. */ -SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName){ +SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName, Token *pType){ Table *p; int i; char *z; + char *zType; Column *pCol; sqlite3 *db = pParse->db; if( (p = pParse->pNewTable)==0 ) return; @@ -95341,8 +95525,11 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName){ return; } #endif - z = sqlite3NameFromToken(db, pName); + z = sqlite3DbMallocRaw(db, pName->n + pType->n + 2); if( z==0 ) return; + memcpy(z, pName->z, pName->n); + z[pName->n] = 0; + sqlite3Dequote(z); for(i=0; inCol; i++){ if( sqlite3_stricmp(z, p->aCol[i].zName)==0 ){ sqlite3ErrorMsg(pParse, "duplicate column name: %s", z); @@ -95364,13 +95551,20 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName){ pCol->zName = z; sqlite3ColumnPropertiesFromName(p, pCol); - /* If there is no type specified, columns have the default affinity - ** 'BLOB'. If there is a type specified, then sqlite3AddColumnType() will - ** be called next to set pCol->affinity correctly. - */ - pCol->affinity = SQLITE_AFF_BLOB; - pCol->szEst = 1; + if( pType->n==0 ){ + /* If there is no type specified, columns have the default affinity + ** 'BLOB'. */ + pCol->affinity = SQLITE_AFF_BLOB; + pCol->szEst = 1; + }else{ + zType = z + sqlite3Strlen30(z) + 1; + memcpy(zType, pType->z, pType->n); + zType[pType->n] = 0; + pCol->affinity = sqlite3AffinityType(zType, &pCol->szEst); + pCol->colFlags |= COLFLAG_HASTYPE; + } p->nCol++; + pParse->constraintName.n = 0; } /* @@ -95416,7 +95610,7 @@ SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, u8 *pszEst){ char aff = SQLITE_AFF_NUMERIC; const char *zChar = 0; - if( zIn==0 ) return aff; + assert( zIn!=0 ); while( zIn[0] ){ h = (h<<8) + sqlite3UpperToLower[(*zIn)&0xff]; zIn++; @@ -95473,28 +95667,6 @@ SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, u8 *pszEst){ return aff; } -/* -** This routine is called by the parser while in the middle of -** parsing a CREATE TABLE statement. The pFirst token is the first -** token in the sequence of tokens that describe the type of the -** column currently under construction. pLast is the last token -** in the sequence. Use this information to construct a string -** that contains the typename of the column and store that string -** in zType. -*/ -SQLITE_PRIVATE void sqlite3AddColumnType(Parse *pParse, Token *pType){ - Table *p; - Column *pCol; - - p = pParse->pNewTable; - if( p==0 || NEVER(p->nCol<1) ) return; - pCol = &p->aCol[p->nCol-1]; - assert( pCol->zType==0 || CORRUPT_DB ); - sqlite3DbFree(pParse->db, pCol->zType); - pCol->zType = sqlite3NameFromToken(pParse->db, pType); - pCol->affinity = sqlite3AffinityType(pCol->zType, &pCol->szEst); -} - /* ** The expression is the default value for the most recently added column ** of the table currently under construction. @@ -95520,11 +95692,16 @@ SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse *pParse, ExprSpan *pSpan){ ** tokens that point to volatile memory. The 'span' of the expression ** is required by pragma table_info. */ + Expr x; sqlite3ExprDelete(db, pCol->pDflt); - pCol->pDflt = sqlite3ExprDup(db, pSpan->pExpr, EXPRDUP_REDUCE); - sqlite3DbFree(db, pCol->zDflt); - pCol->zDflt = sqlite3DbStrNDup(db, (char*)pSpan->zStart, - (int)(pSpan->zEnd - pSpan->zStart)); + memset(&x, 0, sizeof(x)); + x.op = TK_SPAN; + x.u.zToken = sqlite3DbStrNDup(db, (char*)pSpan->zStart, + (int)(pSpan->zEnd - pSpan->zStart)); + x.pLeft = pSpan->pExpr; + x.flags = EP_Skip; + pCol->pDflt = sqlite3ExprDup(db, &x, EXPRDUP_REDUCE); + sqlite3DbFree(db, x.u.zToken); } } sqlite3ExprDelete(db, pSpan->pExpr); @@ -95580,7 +95757,7 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( int sortOrder /* SQLITE_SO_ASC or SQLITE_SO_DESC */ ){ Table *pTab = pParse->pNewTable; - char *zType = 0; + Column *pCol = 0; int iCol = -1, i; int nTerm; if( pTab==0 || IN_DECLARE_VTAB ) goto primary_key_exit; @@ -95592,8 +95769,8 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( pTab->tabFlags |= TF_HasPrimaryKey; if( pList==0 ){ iCol = pTab->nCol - 1; - pTab->aCol[iCol].colFlags |= COLFLAG_PRIMKEY; - zType = pTab->aCol[iCol].zType; + pCol = &pTab->aCol[iCol]; + pCol->colFlags |= COLFLAG_PRIMKEY; nTerm = 1; }else{ nTerm = pList->nExpr; @@ -95605,8 +95782,8 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( const char *zCName = pCExpr->u.zToken; for(iCol=0; iColnCol; iCol++){ if( sqlite3StrICmp(zCName, pTab->aCol[iCol].zName)==0 ){ - pTab->aCol[iCol].colFlags |= COLFLAG_PRIMKEY; - zType = pTab->aCol[iCol].zType; + pCol = &pTab->aCol[iCol]; + pCol->colFlags |= COLFLAG_PRIMKEY; break; } } @@ -95614,7 +95791,8 @@ SQLITE_PRIVATE void sqlite3AddPrimaryKey( } } if( nTerm==1 - && zType && sqlite3StrICmp(zType, "INTEGER")==0 + && pCol + && sqlite3StrICmp(sqlite3ColumnType(pCol,""), "INTEGER")==0 && sortOrder!=SQLITE_SO_DESC ){ pTab->iPKey = iCol; @@ -95893,7 +96071,7 @@ static int resizeIndexObject(sqlite3 *db, Index *pIdx, int N){ assert( pIdx->isResized==0 ); nByte = (sizeof(char*) + sizeof(i16) + 1)*N; zExtra = sqlite3DbMallocZero(db, nByte); - if( zExtra==0 ) return SQLITE_NOMEM; + if( zExtra==0 ) return SQLITE_NOMEM_BKPT; memcpy(zExtra, pIdx->azColl, sizeof(char*)*pIdx->nColumn); pIdx->azColl = (const char**)zExtra; zExtra += sizeof(char*)*N; @@ -97485,6 +97663,20 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( sqlite3DefaultRowEst(pIndex); if( pParse->pNewTable==0 ) estimateIndexWidth(pIndex); + /* If this index contains every column of its table, then mark + ** it as a covering index */ + assert( HasRowid(pTab) + || pTab->iPKey<0 || sqlite3ColumnOfIndex(pIndex, pTab->iPKey)>=0 ); + if( pTblName!=0 && pIndex->nColumn>=pTab->nCol ){ + pIndex->isCovering = 1; + for(j=0; jnCol; j++){ + if( j==pTab->iPKey ) continue; + if( sqlite3ColumnOfIndex(pIndex,j)>=0 ) continue; + pIndex->isCovering = 0; + break; + } + } + if( pTab==pParse->pNewTable ){ /* This routine has been called to create an automatic index as a ** result of a PRIMARY KEY or UNIQUE clause on a column definition, or @@ -97522,7 +97714,7 @@ SQLITE_PRIVATE Index *sqlite3CreateIndex( if( pIdx->aiColumn[k]!=pIndex->aiColumn[k] ) break; z1 = pIdx->azColl[k]; z2 = pIndex->azColl[k]; - if( z1!=z2 && sqlite3StrICmp(z1, z2) ) break; + if( sqlite3StrICmp(z1, z2) ) break; } if( k==pIdx->nKeyCol ){ if( pIdx->onError!=pIndex->onError ){ @@ -98975,14 +99167,12 @@ static int matchQuality( ** a pointer to the matching FuncDef if found, or 0 if there is no match. */ static FuncDef *functionSearch( - FuncDefHash *pHash, /* Hash table to search */ int h, /* Hash of the name */ - const char *zFunc, /* Name of function */ - int nFunc /* Number of bytes in zFunc */ + const char *zFunc /* Name of function */ ){ FuncDef *p; - for(p=pHash->a[h]; p; p=p->pHash){ - if( sqlite3StrNICmp(p->zName, zFunc, nFunc)==0 && p->zName[nFunc]==0 ){ + for(p=sqlite3BuiltinFunctions.a[h]; p; p=p->u.pHash){ + if( sqlite3StrICmp(p->zName, zFunc)==0 ){ return p; } } @@ -98992,23 +99182,26 @@ static FuncDef *functionSearch( /* ** Insert a new FuncDef into a FuncDefHash hash table. */ -SQLITE_PRIVATE void sqlite3FuncDefInsert( - FuncDefHash *pHash, /* The hash table into which to insert */ - FuncDef *pDef /* The function definition to insert */ +SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs( + FuncDef *aDef, /* List of global functions to be inserted */ + int nDef /* Length of the apDef[] list */ ){ - FuncDef *pOther; - int nName = sqlite3Strlen30(pDef->zName); - u8 c1 = (u8)pDef->zName[0]; - int h = (sqlite3UpperToLower[c1] + nName) % ArraySize(pHash->a); - pOther = functionSearch(pHash, h, pDef->zName, nName); - if( pOther ){ - assert( pOther!=pDef && pOther->pNext!=pDef ); - pDef->pNext = pOther->pNext; - pOther->pNext = pDef; - }else{ - pDef->pNext = 0; - pDef->pHash = pHash->a[h]; - pHash->a[h] = pDef; + int i; + for(i=0; ipNext!=&aDef[i] ); + aDef[i].pNext = pOther->pNext; + pOther->pNext = &aDef[i]; + }else{ + aDef[i].pNext = 0; + aDef[i].u.pHash = sqlite3BuiltinFunctions.a[h]; + sqlite3BuiltinFunctions.a[h] = &aDef[i]; + } } } @@ -99035,8 +99228,7 @@ SQLITE_PRIVATE void sqlite3FuncDefInsert( */ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( sqlite3 *db, /* An open database */ - const char *zName, /* Name of the function. Not null-terminated */ - int nName, /* Number of characters in the name */ + const char *zName, /* Name of the function. zero-terminated */ int nArg, /* Number of arguments. -1 means any number */ u8 enc, /* Preferred text encoding */ u8 createFlag /* Create new entry if true and does not otherwise exist */ @@ -99045,14 +99237,15 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( FuncDef *pBest = 0; /* Best match found so far */ int bestScore = 0; /* Score of best match */ int h; /* Hash value */ + int nName; /* Length of the name */ assert( nArg>=(-2) ); assert( nArg>=(-1) || createFlag==0 ); - h = (sqlite3UpperToLower[(u8)zName[0]] + nName) % ArraySize(db->aFunc.a); + nName = sqlite3Strlen30(zName); /* First search for a match amongst the application-defined functions. */ - p = functionSearch(&db->aFunc, h, zName, nName); + p = (FuncDef*)sqlite3HashFind(&db->aFunc, zName); while( p ){ int score = matchQuality(p, nArg, enc); if( score>bestScore ){ @@ -99075,9 +99268,9 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( ** So we must not search for built-ins when creating a new function. */ if( !createFlag && (pBest==0 || (db->flags & SQLITE_PreferBuiltin)!=0) ){ - FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); bestScore = 0; - p = functionSearch(pHash, h, zName, nName); + h = (sqlite3UpperToLower[(u8)zName[0]] + nName) % SQLITE_FUNC_HASH_SZ; + p = functionSearch(h, zName); while( p ){ int score = matchQuality(p, nArg, enc); if( score>bestScore ){ @@ -99094,12 +99287,19 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( */ if( createFlag && bestScorezName = (char *)&pBest[1]; + FuncDef *pOther; + pBest->zName = (const char*)&pBest[1]; pBest->nArg = (u16)nArg; pBest->funcFlags = enc; - memcpy(pBest->zName, zName, nName); - pBest->zName[nName] = 0; - sqlite3FuncDefInsert(&db->aFunc, pBest); + memcpy((char*)&pBest[1], zName, nName+1); + pOther = (FuncDef*)sqlite3HashInsert(&db->aFunc, pBest->zName, pBest); + if( pOther==pBest ){ + sqlite3DbFree(db, pBest); + sqlite3OomFault(db); + return 0; + }else{ + pBest->pNext = pOther; + } } if( pBest && (pBest->xSFunc || createFlag) ){ @@ -101683,7 +101883,7 @@ static void groupConcatFinalize(sqlite3_context *context){ ** of the built-in functions above are part of the global function set. ** This routine only deals with those that are not global. */ -SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(sqlite3 *db){ +SQLITE_PRIVATE void sqlite3RegisterPerConnectionBuiltinFunctions(sqlite3 *db){ int rc = sqlite3_overload_function(db, "MATCH", 2); assert( rc==SQLITE_NOMEM || rc==SQLITE_OK ); if( rc==SQLITE_NOMEM ){ @@ -101696,8 +101896,7 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(sqlite3 *db){ */ static void setLikeOptFlag(sqlite3 *db, const char *zName, u8 flagVal){ FuncDef *pDef; - pDef = sqlite3FindFunction(db, zName, sqlite3Strlen30(zName), - 2, SQLITE_UTF8, 0); + pDef = sqlite3FindFunction(db, zName, 2, SQLITE_UTF8, 0); if( ALWAYS(pDef) ){ pDef->funcFlags |= flagVal; } @@ -101745,9 +101944,7 @@ SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocas return 0; } assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); - pDef = sqlite3FindFunction(db, pExpr->u.zToken, - sqlite3Strlen30(pExpr->u.zToken), - 2, SQLITE_UTF8, 0); + pDef = sqlite3FindFunction(db, pExpr->u.zToken, 2, SQLITE_UTF8, 0); if( NEVER(pDef==0) || (pDef->funcFlags & SQLITE_FUNC_LIKE)==0 ){ return 0; } @@ -101771,7 +101968,7 @@ SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocas ** ** After this routine runs */ -SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ +SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ /* ** The following array holds FuncDef structures for all of the functions ** defined in this file. @@ -101779,8 +101976,27 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ ** The array cannot be constant since changes are made to the ** FuncDef.pHash elements at start-time. The elements of this array ** are read-only after initialization is complete. + ** + ** For peak efficiency, put the most frequently used function last. */ - static SQLITE_WSD FuncDef aBuiltinFunc[] = { + static FuncDef aBuiltinFunc[] = { +#ifdef SQLITE_SOUNDEX + FUNCTION(soundex, 1, 0, 0, soundexFunc ), +#endif +#ifndef SQLITE_OMIT_LOAD_EXTENSION + VFUNCTION(load_extension, 1, 0, 0, loadExt ), + VFUNCTION(load_extension, 2, 0, 0, loadExt ), +#endif +#if SQLITE_USER_AUTHENTICATION + FUNCTION(sqlite_crypt, 2, 0, 0, sqlite3CryptFunc ), +#endif +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS + DFUNCTION(sqlite_compileoption_used,1, 0, 0, compileoptionusedFunc ), + DFUNCTION(sqlite_compileoption_get, 1, 0, 0, compileoptiongetFunc ), +#endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ + FUNCTION2(unlikely, 1, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), + FUNCTION2(likelihood, 2, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), + FUNCTION2(likely, 1, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), FUNCTION(ltrim, 1, 1, 0, trimFunc ), FUNCTION(ltrim, 2, 1, 0, trimFunc ), FUNCTION(rtrim, 1, 2, 0, trimFunc ), @@ -101798,8 +102014,6 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ FUNCTION2(typeof, 1, 0, 0, typeofFunc, SQLITE_FUNC_TYPEOF), FUNCTION2(length, 1, 0, 0, lengthFunc, SQLITE_FUNC_LENGTH), FUNCTION(instr, 2, 0, 0, instrFunc ), - FUNCTION(substr, 2, 0, 0, substrFunc ), - FUNCTION(substr, 3, 0, 0, substrFunc ), FUNCTION(printf, -1, 0, 0, printfFunc ), FUNCTION(unicode, 1, 0, 0, unicodeFunc ), FUNCTION(char, -1, 0, 0, charFunc ), @@ -101810,40 +102024,22 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ #endif FUNCTION(upper, 1, 0, 0, upperFunc ), FUNCTION(lower, 1, 0, 0, lowerFunc ), - FUNCTION(coalesce, 1, 0, 0, 0 ), - FUNCTION(coalesce, 0, 0, 0, 0 ), - FUNCTION2(coalesce, -1, 0, 0, noopFunc, SQLITE_FUNC_COALESCE), FUNCTION(hex, 1, 0, 0, hexFunc ), FUNCTION2(ifnull, 2, 0, 0, noopFunc, SQLITE_FUNC_COALESCE), - FUNCTION2(unlikely, 1, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), - FUNCTION2(likelihood, 2, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), - FUNCTION2(likely, 1, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), VFUNCTION(random, 0, 0, 0, randomFunc ), VFUNCTION(randomblob, 1, 0, 0, randomBlob ), FUNCTION(nullif, 2, 0, 1, nullifFunc ), DFUNCTION(sqlite_version, 0, 0, 0, versionFunc ), DFUNCTION(sqlite_source_id, 0, 0, 0, sourceidFunc ), FUNCTION(sqlite_log, 2, 0, 0, errlogFunc ), -#if SQLITE_USER_AUTHENTICATION - FUNCTION(sqlite_crypt, 2, 0, 0, sqlite3CryptFunc ), -#endif -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS - DFUNCTION(sqlite_compileoption_used,1, 0, 0, compileoptionusedFunc ), - DFUNCTION(sqlite_compileoption_get, 1, 0, 0, compileoptiongetFunc ), -#endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ FUNCTION(quote, 1, 0, 0, quoteFunc ), VFUNCTION(last_insert_rowid, 0, 0, 0, last_insert_rowid), VFUNCTION(changes, 0, 0, 0, changes ), VFUNCTION(total_changes, 0, 0, 0, total_changes ), FUNCTION(replace, 3, 0, 0, replaceFunc ), FUNCTION(zeroblob, 1, 0, 0, zeroblobFunc ), - #ifdef SQLITE_SOUNDEX - FUNCTION(soundex, 1, 0, 0, soundexFunc ), - #endif - #ifndef SQLITE_OMIT_LOAD_EXTENSION - VFUNCTION(load_extension, 1, 0, 0, loadExt ), - VFUNCTION(load_extension, 2, 0, 0, loadExt ), - #endif + FUNCTION(substr, 2, 0, 0, substrFunc ), + FUNCTION(substr, 3, 0, 0, substrFunc ), AGGREGATE(sum, 1, 0, 0, sumStep, sumFinalize ), AGGREGATE(total, 1, 0, 0, sumStep, totalFinalize ), AGGREGATE(avg, 1, 0, 0, sumStep, avgFinalize ), @@ -101861,21 +102057,33 @@ SQLITE_PRIVATE void sqlite3RegisterGlobalFunctions(void){ LIKEFUNC(like, 2, &likeInfoNorm, SQLITE_FUNC_LIKE), LIKEFUNC(like, 3, &likeInfoNorm, SQLITE_FUNC_LIKE), #endif + FUNCTION(coalesce, 1, 0, 0, 0 ), + FUNCTION(coalesce, 0, 0, 0, 0 ), + FUNCTION2(coalesce, -1, 0, 0, noopFunc, SQLITE_FUNC_COALESCE), }; - - int i; - FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); - FuncDef *aFunc = (FuncDef*)&GLOBAL(FuncDef, aBuiltinFunc); - - for(i=0; iu.pHash){ + int n = sqlite3Strlen30(p->zName); + int h = p->zName[0] + n; + printf(" %s(%d)", p->zName, h); + } + printf("\n"); + } + } #endif } @@ -103045,6 +103253,10 @@ static Trigger *fkActionTrigger( int iAction = (pChanges!=0); /* 1 for UPDATE, 0 for DELETE */ action = pFKey->aAction[iAction]; + if( action==OE_Restrict && (db->flags & SQLITE_DeferFKs) ){ + return 0; + } + pTrigger = pFKey->apTrigger[iAction]; if( action!=OE_None && !pTrigger ){ @@ -105289,11 +105501,15 @@ static int xferOptimization( return 0; /* tab2 must be NOT NULL if tab1 is */ } /* Default values for second and subsequent columns need to match. */ - if( i>0 - && ((pDestCol->zDflt==0)!=(pSrcCol->zDflt==0) - || (pDestCol->zDflt && strcmp(pDestCol->zDflt, pSrcCol->zDflt)!=0)) - ){ - return 0; /* Default values must be the same for all columns */ + if( i>0 ){ + assert( pDestCol->pDflt==0 || pDestCol->pDflt->op==TK_SPAN ); + assert( pSrcCol->pDflt==0 || pSrcCol->pDflt->op==TK_SPAN ); + if( (pDestCol->pDflt==0)!=(pSrcCol->pDflt==0) + || (pDestCol->pDflt && strcmp(pDestCol->pDflt->u.zToken, + pSrcCol->pDflt->u.zToken)!=0) + ){ + return 0; /* Default values must be the same for all columns */ + } } } for(pDestIdx=pDest->pIndex; pDestIdx; pDestIdx=pDestIdx->pNext){ @@ -105598,7 +105814,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_exec( if( *pzErrMsg ){ memcpy(*pzErrMsg, sqlite3_errmsg(db), nErrMsg); }else{ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; sqlite3Error(db, SQLITE_NOMEM); } }else if( pzErrMsg ){ @@ -105913,6 +106129,8 @@ struct sqlite3_api_routines { int (*status64)(int,sqlite3_int64*,sqlite3_int64*,int); int (*strlike)(const char*,const char*,unsigned int); int (*db_cacheflush)(sqlite3*); + /* Version 3.12.0 and later */ + int (*system_errno)(sqlite3*); }; /* @@ -106156,6 +106374,8 @@ struct sqlite3_api_routines { #define sqlite3_status64 sqlite3_api->status64 #define sqlite3_strlike sqlite3_api->strlike #define sqlite3_db_cacheflush sqlite3_api->db_cacheflush +/* Version 3.12.0 and later */ +#define sqlite3_system_errno sqlite3_api->system_errno #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -106574,7 +106794,9 @@ static const sqlite3_api_routines sqlite3Apis = { /* Version 3.10.0 and later */ sqlite3_status64, sqlite3_strlike, - sqlite3_db_cacheflush + sqlite3_db_cacheflush, + /* Version 3.12.0 and later */ + sqlite3_system_errno }; /* @@ -106638,7 +106860,7 @@ static int sqlite3LoadExtension( #if SQLITE_OS_UNIX || SQLITE_OS_WIN for(ii=0; ii=0 && zFile[iFile]!='/'; iFile--){} @@ -106717,7 +106939,7 @@ static int sqlite3LoadExtension( /* Append the new shared library handle to the db->aExtension array. */ aHandle = sqlite3DbMallocZero(db, sizeof(handle)*(db->nExtension+1)); if( aHandle==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } if( db->nExtension>0 ){ memcpy(aHandle, db->aExtension, sizeof(handle)*db->nExtension); @@ -106839,7 +107061,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_auto_extension(void (*xInit)(void)){ void (**aNew)(void); aNew = sqlite3_realloc64(wsdAutoext.aExt, nByte); if( aNew==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ wsdAutoext.aExt = aNew; wsdAutoext.aExt[wsdAutoext.nExt] = xInit; @@ -108406,6 +108628,7 @@ SQLITE_PRIVATE void sqlite3Pragma( int iLevel = (getSafetyLevel(zRight,0,1)+1) & PAGER_SYNCHRONOUS_MASK; if( iLevel==0 ) iLevel = 1; pDb->safety_level = iLevel; + pDb->bSyncSet = 1; setAllPagerFlags(db); } } @@ -108489,12 +108712,13 @@ SQLITE_PRIVATE void sqlite3Pragma( }else{ for(k=1; k<=pTab->nCol && pPk->aiColumn[k-1]!=i; k++){} } + assert( pCol->pDflt==0 || pCol->pDflt->op==TK_SPAN ); sqlite3VdbeMultiLoad(v, 1, "issisi", i-nHidden, pCol->zName, - pCol->zType ? pCol->zType : "", + sqlite3ColumnType(pCol,""), pCol->notNull ? 1 : 0, - pCol->zDflt, + pCol->pDflt ? pCol->pDflt->u.zToken : 0, k); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 6); } @@ -108515,14 +108739,14 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3VdbeMultiLoad(v, 1, "ssii", pTab->zName, 0, - (int)sqlite3LogEstToInt(pTab->szTabRow), - (int)sqlite3LogEstToInt(pTab->nRowLogEst)); + pTab->szTabRow, + pTab->nRowLogEst); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 4); for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ sqlite3VdbeMultiLoad(v, 2, "sii", pIdx->zName, - (int)sqlite3LogEstToInt(pIdx->szIdxRow), - (int)sqlite3LogEstToInt(pIdx->aiRowLogEst[0])); + pIdx->szIdxRow, + pIdx->aiRowLogEst[0]); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 4); } } @@ -108848,7 +109072,10 @@ SQLITE_PRIVATE void sqlite3Pragma( for(i=0; inDb; i++){ HashElem *x; Hash *pTbls; + int *aRoot; int cnt = 0; + int mxIdx = 0; + int nIdx; if( OMIT_TEMPDB && i==1 ) continue; if( iDb>=0 && i!=iDb ) continue; @@ -108861,31 +109088,35 @@ SQLITE_PRIVATE void sqlite3Pragma( /* Do an integrity check of the B-Tree ** - ** Begin by filling registers 2, 3, ... with the root pages numbers + ** Begin by finding the root pages numbers ** for all tables and indices in the database. */ assert( sqlite3SchemaMutexHeld(db, i, 0) ); pTbls = &db->aDb[i].pSchema->tblHash; - for(x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){ + for(cnt=0, x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){ Table *pTab = sqliteHashData(x); Index *pIdx; - if( HasRowid(pTab) ){ - sqlite3VdbeAddOp2(v, OP_Integer, pTab->tnum, 2+cnt); - VdbeComment((v, "%s", pTab->zName)); - cnt++; - } + if( HasRowid(pTab) ) cnt++; + for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){ cnt++; } + if( nIdx>mxIdx ) mxIdx = nIdx; + } + aRoot = sqlite3DbMallocRawNN(db, sizeof(int)*(cnt+1)); + if( aRoot==0 ) break; + for(cnt=0, x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){ + Table *pTab = sqliteHashData(x); + Index *pIdx; + if( HasRowid(pTab) ) aRoot[cnt++] = pTab->tnum; for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - sqlite3VdbeAddOp2(v, OP_Integer, pIdx->tnum, 2+cnt); - VdbeComment((v, "%s", pIdx->zName)); - cnt++; + aRoot[cnt++] = pIdx->tnum; } } + aRoot[cnt] = 0; /* Make sure sufficient number of registers have been allocated */ - pParse->nMem = MAX( pParse->nMem, cnt+8 ); + pParse->nMem = MAX( pParse->nMem, 8+mxIdx ); /* Do the b-tree integrity checks */ - sqlite3VdbeAddOp3(v, OP_IntegrityCk, 2, cnt, 1); + sqlite3VdbeAddOp4(v, OP_IntegrityCk, 2, cnt, 1, (char*)aRoot,P4_INTARRAY); sqlite3VdbeChangeP5(v, (u8)i); addr = sqlite3VdbeAddOp1(v, OP_IsNull, 2); VdbeCoverage(v); sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, @@ -108919,7 +109150,8 @@ SQLITE_PRIVATE void sqlite3Pragma( for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ sqlite3VdbeAddOp2(v, OP_Integer, 0, 8+j); /* index entries counter */ } - pParse->nMem = MAX(pParse->nMem, 8+j); + assert( pParse->nMem>=8+j ); + assert( sqlite3NoTempsInRange(pParse,1,7+j) ); sqlite3VdbeAddOp2(v, OP_Rewind, iDataCur, 0); VdbeCoverage(v); loopTop = sqlite3VdbeAddOp2(v, OP_AddImm, 7, 1); /* Verify that all NOT NULL columns really are NOT NULL */ @@ -109111,7 +109343,9 @@ SQLITE_PRIVATE void sqlite3Pragma( ** PRAGMA [schema.]user_version ** PRAGMA [schema.]user_version = ** - ** PRAGMA [schema.]freelist_count = + ** PRAGMA [schema.]freelist_count + ** + ** PRAGMA [schema.]data_version ** ** PRAGMA [schema.]application_id ** PRAGMA [schema.]application_id = @@ -109167,6 +109401,7 @@ SQLITE_PRIVATE void sqlite3Pragma( aOp[1].p3 = iCookie; sqlite3VdbeSetNumCols(v, 1); sqlite3VdbeSetColName(v, 0, COLNAME_NAME, zLeft, SQLITE_TRANSIENT); + sqlite3VdbeReusable(v); } } break; @@ -109188,6 +109423,7 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3VdbeLoadString(v, 1, zOpt); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 1); } + sqlite3VdbeReusable(v); } break; #endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ @@ -109427,7 +109663,7 @@ static void corruptSchema( sqlite3DbFree(db, *pData->pzErrMsg); *pData->pzErrMsg = z; } - pData->rc = db->mallocFailed ? SQLITE_NOMEM : SQLITE_CORRUPT_BKPT; + pData->rc = db->mallocFailed ? SQLITE_NOMEM_BKPT : SQLITE_CORRUPT_BKPT; } /* @@ -109701,7 +109937,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ #endif } if( db->mallocFailed ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; sqlite3ResetAllSchemasOfConnection(db); } if( rc==SQLITE_OK || (db->flags&SQLITE_RecoveryMode)){ @@ -109918,7 +110154,7 @@ static int sqlite3Prepare( /* Allocate the parsing context */ pParse = sqlite3StackAllocZero(db, sizeof(*pParse)); if( pParse==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto end_prepare; } pParse->pReprepare = pReprepare; @@ -109995,7 +110231,7 @@ static int sqlite3Prepare( schemaIsValid(pParse); } if( db->mallocFailed ){ - pParse->rc = SQLITE_NOMEM; + pParse->rc = SQLITE_NOMEM_BKPT; } if( pzTail ){ *pzTail = pParse->zTail; @@ -110358,7 +110594,7 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( ExprList *pGroupBy, /* the GROUP BY clause */ Expr *pHaving, /* the HAVING clause */ ExprList *pOrderBy, /* the ORDER BY clause */ - u16 selFlags, /* Flag parameters, such as SF_Distinct */ + u32 selFlags, /* Flag parameters, such as SF_Distinct */ Expr *pLimit, /* LIMIT value. NULL means not used */ Expr *pOffset /* OFFSET value. NULL means no offset */ ){ @@ -111682,8 +111918,8 @@ static const char *columnTypeImpl( zType = "INTEGER"; zOrigCol = "rowid"; }else{ - zType = pTab->aCol[iCol].zType; zOrigCol = pTab->aCol[iCol].zName; + zType = sqlite3ColumnType(&pTab->aCol[iCol],0); estWidth = pTab->aCol[iCol].szEst; } zOrigTab = pTab->zName; @@ -111695,7 +111931,7 @@ static const char *columnTypeImpl( if( iCol<0 ){ zType = "INTEGER"; }else{ - zType = pTab->aCol[iCol].zType; + zType = sqlite3ColumnType(&pTab->aCol[iCol],0); estWidth = pTab->aCol[iCol].szEst; } #endif @@ -111941,7 +112177,7 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( sqlite3DbFree(db, aCol); *paCol = 0; *pnCol = 0; - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } return SQLITE_OK; } @@ -111980,10 +112216,7 @@ static void selectAddColumnTypeAndCollation( a = pSelect->pEList->a; for(i=0, pCol=pTab->aCol; inCol; i++, pCol++){ p = a[i].pExpr; - if( pCol->zType==0 ){ - pCol->zType = sqlite3DbStrDup(db, - columnType(&sNC, p,0,0,0, &pCol->szEst)); - } + columnType(&sNC, p, 0, 0, 0, &pCol->szEst); szAll += pCol->szEst; pCol->affinity = sqlite3ExprAffinity(p); if( pCol->affinity==0 ) pCol->affinity = SQLITE_AFF_BLOB; @@ -112098,8 +112331,9 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){ VdbeComment((v, "LIMIT counter")); if( n==0 ){ sqlite3VdbeGoto(v, iBreak); - }else if( n>=0 && p->nSelectRow>(u64)n ){ - p->nSelectRow = n; + }else if( n>=0 && p->nSelectRow>sqlite3LogEst((u64)n) ){ + p->nSelectRow = sqlite3LogEst((u64)n); + p->selFlags |= SF_FixedLimit; } }else{ sqlite3ExprCode(pParse, p->pLimit, iLimit); @@ -112477,7 +112711,6 @@ static int multiSelect( if( dest.eDest==SRT_EphemTab ){ assert( p->pEList ); sqlite3VdbeAddOp2(v, OP_OpenEphemeral, dest.iSDParm, p->pEList->nExpr); - sqlite3VdbeChangeP5(v, BTREE_UNORDERED); dest.eDest = SRT_Table; } @@ -112540,12 +112773,12 @@ static int multiSelect( testcase( rc!=SQLITE_OK ); pDelete = p->pPrior; p->pPrior = pPrior; - p->nSelectRow += pPrior->nSelectRow; + p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); if( pPrior->pLimit && sqlite3ExprIsInteger(pPrior->pLimit, &nLimit) - && nLimit>0 && p->nSelectRow > (u64)nLimit + && nLimit>0 && p->nSelectRow > sqlite3LogEst((u64)nLimit) ){ - p->nSelectRow = nLimit; + p->nSelectRow = sqlite3LogEst((u64)nLimit); } if( addr ){ sqlite3VdbeJumpHere(v, addr); @@ -112617,7 +112850,9 @@ static int multiSelect( pDelete = p->pPrior; p->pPrior = pPrior; p->pOrderBy = 0; - if( p->op==TK_UNION ) p->nSelectRow += pPrior->nSelectRow; + if( p->op==TK_UNION ){ + p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); + } sqlite3ExprDelete(db, p->pLimit); p->pLimit = pLimit; p->pOffset = pOffset; @@ -112752,7 +112987,7 @@ static int multiSelect( nCol = p->pEList->nExpr; pKeyInfo = sqlite3KeyInfoAlloc(db, nCol, 1); if( !pKeyInfo ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto multi_select_end; } for(i=0, apColl=pKeyInfo->aColl; iflags |= EP_IntValue; pNew->u.iValue = i; pOrderBy = sqlite3ExprListAppend(pParse, pOrderBy, pNew); @@ -113254,7 +113489,7 @@ static int multiSelectOrderBy( addrEofA_noB = sqlite3VdbeAddOp2(v, OP_Yield, regAddrB, labelEnd); VdbeCoverage(v); sqlite3VdbeGoto(v, addrEofA); - p->nSelectRow += pPrior->nSelectRow; + p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); } /* Generate a subroutine to run when the results from select B @@ -114344,7 +114579,7 @@ static int withExpand( pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); pTab->tabFlags |= TF_Ephemeral | TF_NoVisibleRowid; pFrom->pSelect = sqlite3SelectDup(db, pCte->pSelect, 0); - if( db->mallocFailed ) return SQLITE_NOMEM; + if( db->mallocFailed ) return SQLITE_NOMEM_BKPT; assert( pFrom->pSelect ); /* Check if this is a recursive CTE. */ @@ -115224,10 +115459,24 @@ SQLITE_PRIVATE int sqlite3Select( } /* Generate code to implement the subquery + ** + ** The subquery is implemented as a co-routine if all of these are true: + ** (1) The subquery is guaranteed to be the outer loop (so that it + ** does not need to be computed more than once) + ** (2) The ALL keyword after SELECT is omitted. (Applications are + ** allowed to say "SELECT ALL" instead of just "SELECT" to disable + ** the use of co-routines.) + ** (3) Co-routines are not disabled using sqlite3_test_control() + ** with SQLITE_TESTCTRL_OPTIMIZATIONS. + ** + ** TODO: Are there other reasons beside (1) to use a co-routine + ** implementation? */ - if( pTabList->nSrc==1 - && (p->selFlags & SF_All)==0 - && OptimizationEnabled(db, SQLITE_SubqCoroutine) + if( i==0 + && (pTabList->nSrc==1 + || (pTabList->a[1].fg.jointype&(JT_LEFT|JT_CROSS))!=0) /* (1) */ + && (p->selFlags & SF_All)==0 /* (2) */ + && OptimizationEnabled(db, SQLITE_SubqCoroutine) /* (3) */ ){ /* Implement a co-routine that will return a single row of the result ** set on each invocation. @@ -115240,7 +115489,7 @@ SQLITE_PRIVATE int sqlite3Select( sqlite3SelectDestInit(&dest, SRT_Coroutine, pItem->regReturn); explainSetInteger(pItem->iSelectId, (u8)pParse->iNextSelectId); sqlite3Select(pParse, pSub, &dest); - pItem->pTab->nRowLogEst = sqlite3LogEst(pSub->nSelectRow); + pItem->pTab->nRowLogEst = pSub->nSelectRow; pItem->fg.viaCoroutine = 1; pItem->regResult = dest.iSdst; sqlite3VdbeEndCoroutine(v, pItem->regReturn); @@ -115271,7 +115520,7 @@ SQLITE_PRIVATE int sqlite3Select( sqlite3SelectDestInit(&dest, SRT_EphemTab, pItem->iCursor); explainSetInteger(pItem->iSelectId, (u8)pParse->iNextSelectId); sqlite3Select(pParse, pSub, &dest); - pItem->pTab->nRowLogEst = sqlite3LogEst(pSub->nSelectRow); + pItem->pTab->nRowLogEst = pSub->nSelectRow; if( onceAddr ) sqlite3VdbeJumpHere(v, onceAddr); retAddr = sqlite3VdbeAddOp1(v, OP_Return, pItem->regReturn); VdbeComment((v, "end %s", pItem->pTab->zName)); @@ -115354,7 +115603,7 @@ SQLITE_PRIVATE int sqlite3Select( /* Set the limiter. */ iEnd = sqlite3VdbeMakeLabel(v); - p->nSelectRow = LARGEST_INT64; + p->nSelectRow = 320; /* 4 billion rows */ computeLimitRegisters(pParse, p, iEnd); if( p->iLimit==0 && sSort.addrSortIndex>=0 ){ sqlite3VdbeChangeOpcode(v, sSort.addrSortIndex, OP_SorterOpen); @@ -115378,10 +115627,12 @@ SQLITE_PRIVATE int sqlite3Select( if( !isAgg && pGroupBy==0 ){ /* No aggregate functions and no GROUP BY clause */ u16 wctrlFlags = (sDistinct.isTnct ? WHERE_WANT_DISTINCT : 0); + assert( WHERE_USE_LIMIT==SF_FixedLimit ); + wctrlFlags |= p->selFlags & SF_FixedLimit; /* Begin the database scan. */ pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, sSort.pOrderBy, - p->pEList, wctrlFlags, 0); + p->pEList, wctrlFlags, p->nSelectRow); if( pWInfo==0 ) goto select_end; if( sqlite3WhereOutputRowCount(pWInfo) < p->nSelectRow ){ p->nSelectRow = sqlite3WhereOutputRowCount(pWInfo); @@ -115441,9 +115692,11 @@ SQLITE_PRIVATE int sqlite3Select( for(k=pGroupBy->nExpr, pItem=pGroupBy->a; k>0; k--, pItem++){ pItem->u.x.iAlias = 0; } - if( p->nSelectRow>100 ) p->nSelectRow = 100; + assert( 66==sqlite3LogEst(100) ); + if( p->nSelectRow>66 ) p->nSelectRow = 66; }else{ - p->nSelectRow = 1; + assert( 0==sqlite3LogEst(1) ); + p->nSelectRow = 0; } /* If there is both a GROUP BY and an ORDER BY clause and they are @@ -116000,7 +116253,7 @@ static int sqlite3_get_table_cb(void *pArg, int nCol, char **argv, char **colv){ return 0; malloc_failed: - p->rc = SQLITE_NOMEM; + p->rc = SQLITE_NOMEM_BKPT; return 1; } @@ -116041,7 +116294,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_table( res.azResult = sqlite3_malloc64(sizeof(char*)*res.nAlloc ); if( res.azResult==0 ){ db->errCode = SQLITE_NOMEM; - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } res.azResult[0] = 0; rc = sqlite3_exec(db, zSql, sqlite3_get_table_cb, &res, pzErrMsg); @@ -116070,7 +116323,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_table( if( azNew==0 ){ sqlite3_free_table(&res.azResult[1]); db->errCode = SQLITE_NOMEM; - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } res.azResult = azNew; } @@ -117472,7 +117725,7 @@ SQLITE_PRIVATE void sqlite3Update( ** case, set all bits of the colUsed mask (to ensure that the virtual ** table implementation makes all columns available). */ - pTabList->a[0].colUsed = IsVirtual(pTab) ? (Bitmask)-1 : 0; + pTabList->a[0].colUsed = IsVirtual(pTab) ? ALLBITS : 0; hasFK = sqlite3FkRequired(pParse, pTab, aXRef, chngKey); @@ -118055,7 +118308,7 @@ static int execSql(sqlite3 *db, char **pzErrMsg, const char *zSql){ sqlite3_stmt *pStmt; VVA_ONLY( int rc; ) if( !zSql ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } if( SQLITE_OK!=sqlite3_prepare(db, zSql, -1, &pStmt, 0) ){ sqlite3SetString(pzErrMsg, db, sqlite3_errmsg(db)); @@ -118236,7 +118489,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db){ || (!isMemDb && sqlite3BtreeSetPageSize(pTemp, db->nextPagesize, nRes, 0)) || NEVER(db->mallocFailed) ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; goto end_of_vacuum; } @@ -118899,13 +119152,13 @@ static int vtabCallConstructor( zModuleName = sqlite3MPrintf(db, "%s", pTab->zName); if( !zModuleName ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pVTable = sqlite3DbMallocZero(db, sizeof(VTable)); if( !pVTable ){ sqlite3DbFree(db, zModuleName); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } pVTable->db = db; pVTable->pMod = pMod; @@ -118957,22 +119210,16 @@ static int vtabCallConstructor( pTab->pVTable = pVTable; for(iCol=0; iColnCol; iCol++){ - char *zType = pTab->aCol[iCol].zType; + char *zType = sqlite3ColumnType(&pTab->aCol[iCol], ""); int nType; int i = 0; - if( !zType ){ - pTab->tabFlags |= oooHidden; - continue; - } nType = sqlite3Strlen30(zType); - if( sqlite3StrNICmp("hidden", zType, 6)||(zType[6] && zType[6]!=' ') ){ - for(i=0; inVTrans + ARRAY_INCR); aVTrans = sqlite3DbRealloc(db, (void *)db->aVTrans, nBytes); if( !aVTrans ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memset(&aVTrans[db->nVTrans], 0, sizeof(sqlite3_vtab *)*ARRAY_INCR); db->aVTrans = aVTrans; @@ -119140,7 +119387,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_declare_vtab(sqlite3 *db, const char *zCre pParse = sqlite3StackAllocZero(db, sizeof(*pParse)); if( pParse==0 ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; }else{ pParse->declareVtab = 1; pParse->db = db; @@ -119452,8 +119699,8 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( return pDef; } *pNew = *pDef; - pNew->zName = (char *)&pNew[1]; - memcpy(pNew->zName, pDef->zName, sqlite3Strlen30(pDef->zName)+1); + pNew->zName = (const char*)&pNew[1]; + memcpy((char*)&pNew[1], pDef->zName, sqlite3Strlen30(pDef->zName)+1); pNew->xSFunc = xSFunc; pNew->pUserData = pArg; pNew->funcFlags |= SQLITE_FUNC_EPHEM; @@ -120042,6 +120289,7 @@ struct WhereInfo { WhereLoop *pLoops; /* List of all WhereLoop objects */ Bitmask revMask; /* Mask of ORDER BY terms that need reversing */ LogEst nRowOut; /* Estimated number of output rows */ + LogEst iLimit; /* LIMIT if wctrlFlags has WHERE_USE_LIMIT */ u16 wctrlFlags; /* Flags originally passed to sqlite3WhereBegin() */ i8 nOBSat; /* Number of ORDER BY terms satisfied by indices */ u8 sorted; /* True if really sorted (not just grouped) */ @@ -121021,6 +121269,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( int iReg; /* P3 Value for OP_VFilter */ int addrNotFound; int nConstraint = pLoop->nLTerm; + int iIn; /* Counter for IN constraints */ sqlite3ExprCachePush(pParse); iReg = sqlite3GetTempRange(pParse, nConstraint+2); @@ -121028,7 +121277,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( for(j=0; jaLTerm[j]; - if( pTerm==0 ) continue; + if( NEVER(pTerm==0) ) continue; if( pTerm->eOperator & WO_IN ){ codeEqualityTerm(pParse, pTerm, pLevel, j, bRev, iTarget); addrNotFound = pLevel->addrNxt; @@ -121043,14 +121292,50 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pLoop->u.vtab.needFree ? P4_MPRINTF : P4_STATIC); VdbeCoverage(v); pLoop->u.vtab.needFree = 0; - for(j=0; ju.vtab.omitMask>>j)&1 ){ - disableTerm(pLevel, pLoop->aLTerm[j]); - } - } pLevel->p1 = iCur; pLevel->op = pWInfo->eOnePass ? OP_Noop : OP_VNext; pLevel->p2 = sqlite3VdbeCurrentAddr(v); + iIn = pLevel->u.in.nIn; + for(j=nConstraint-1; j>=0; j--){ + pTerm = pLoop->aLTerm[j]; + if( j<16 && (pLoop->u.vtab.omitMask>>j)&1 ){ + disableTerm(pLevel, pTerm); + }else if( (pTerm->eOperator & WO_IN)!=0 ){ + Expr *pCompare; /* The comparison operator */ + Expr *pRight; /* RHS of the comparison */ + VdbeOp *pOp; /* Opcode to access the value of the IN constraint */ + + /* Reload the constraint value into reg[iReg+j+2]. The same value + ** was loaded into the same register prior to the OP_VFilter, but + ** the xFilter implementation might have changed the datatype or + ** encoding of the value in the register, so it *must* be reloaded. */ + assert( pLevel->u.in.aInLoop!=0 || db->mallocFailed ); + if( !db->mallocFailed ){ + assert( iIn>0 ); + pOp = sqlite3VdbeGetOp(v, pLevel->u.in.aInLoop[--iIn].addrInTop); + assert( pOp->opcode==OP_Column || pOp->opcode==OP_Rowid ); + assert( pOp->opcode!=OP_Column || pOp->p3==iReg+j+2 ); + assert( pOp->opcode!=OP_Rowid || pOp->p2==iReg+j+2 ); + testcase( pOp->opcode==OP_Rowid ); + sqlite3VdbeAddOp3(v, pOp->opcode, pOp->p1, pOp->p2, pOp->p3); + } + + /* Generate code that will continue to the next row if + ** the IN constraint is not satisfied */ + pCompare = sqlite3PExpr(pParse, TK_EQ, 0, 0, 0); + assert( pCompare!=0 || db->mallocFailed ); + if( pCompare ){ + pCompare->pLeft = pTerm->pExpr->pLeft; + pCompare->pRight = pRight = sqlite3Expr(db, TK_REGISTER, 0); + if( pRight ){ + pRight->iTable = iReg+j+2; + sqlite3ExprIfFalse(pParse, pCompare, pLevel->addrCont, 0); + } + pCompare->pLeft = 0; + sqlite3ExprDelete(db, pCompare); + } + } + } sqlite3ReleaseTempRange(pParse, iReg, nConstraint+2); sqlite3ExprCachePop(pParse); }else @@ -121359,16 +121644,22 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( start_constraints = 1; } codeApplyAffinity(pParse, regBase, nConstraint - bSeekPastNull, zStartAff); - op = aStartOp[(start_constraints<<2) + (startEq<<1) + bRev]; - assert( op!=0 ); - sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, nConstraint); - VdbeCoverage(v); - VdbeCoverageIf(v, op==OP_Rewind); testcase( op==OP_Rewind ); - VdbeCoverageIf(v, op==OP_Last); testcase( op==OP_Last ); - VdbeCoverageIf(v, op==OP_SeekGT); testcase( op==OP_SeekGT ); - VdbeCoverageIf(v, op==OP_SeekGE); testcase( op==OP_SeekGE ); - VdbeCoverageIf(v, op==OP_SeekLE); testcase( op==OP_SeekLE ); - VdbeCoverageIf(v, op==OP_SeekLT); testcase( op==OP_SeekLT ); + if( pLoop->nSkip>0 && nConstraint==pLoop->nSkip ){ + /* The skip-scan logic inside the call to codeAllEqualityConstraints() + ** above has already left the cursor sitting on the correct row, + ** so no further seeking is needed */ + }else{ + op = aStartOp[(start_constraints<<2) + (startEq<<1) + bRev]; + assert( op!=0 ); + sqlite3VdbeAddOp4Int(v, op, iIdxCur, addrNxt, regBase, nConstraint); + VdbeCoverage(v); + VdbeCoverageIf(v, op==OP_Rewind); testcase( op==OP_Rewind ); + VdbeCoverageIf(v, op==OP_Last); testcase( op==OP_Last ); + VdbeCoverageIf(v, op==OP_SeekGT); testcase( op==OP_SeekGT ); + VdbeCoverageIf(v, op==OP_SeekGE); testcase( op==OP_SeekGE ); + VdbeCoverageIf(v, op==OP_SeekLE); testcase( op==OP_SeekLE ); + VdbeCoverageIf(v, op==OP_SeekLT); testcase( op==OP_SeekLT ); + } /* Load the value for the inequality constraint at the end of the ** range (if any). @@ -122405,6 +122696,7 @@ static void exprAnalyzeOrTerm( if( pOrInfo==0 ) return; pTerm->wtFlags |= TERM_ORINFO; pOrWc = &pOrInfo->wc; + memset(pOrWc->aStatic, 0, sizeof(pOrWc->aStatic)); sqlite3WhereClauseInit(pOrWc, pWInfo); sqlite3WhereSplit(pOrWc, pExpr, TK_OR); sqlite3WhereExprAnalyze(pSrc, pOrWc); @@ -122431,6 +122723,7 @@ static void exprAnalyzeOrTerm( pOrTerm->wtFlags |= TERM_ANDINFO; pOrTerm->eOperator = WO_AND; pAndWC = &pAndInfo->wc; + memset(pAndWC->aStatic, 0, sizeof(pAndWC->aStatic)); sqlite3WhereClauseInit(pAndWC, pWC->pWInfo); sqlite3WhereSplit(pAndWC, pOrTerm->pExpr, TK_AND); sqlite3WhereExprAnalyze(pSrc, pAndWC); @@ -123265,8 +123558,8 @@ static int whereLoopResize(sqlite3*, WhereLoop*, int); /* ** Return the estimated number of output rows from a WHERE clause */ -SQLITE_PRIVATE u64 sqlite3WhereOutputRowCount(WhereInfo *pWInfo){ - return sqlite3LogEstToInt(pWInfo->nRowOut); +SQLITE_PRIVATE LogEst sqlite3WhereOutputRowCount(WhereInfo *pWInfo){ + return pWInfo->nRowOut; } /* @@ -123523,6 +123816,7 @@ static WhereTerm *whereScanInit( j = iColumn; iColumn = pIdx->aiColumn[j]; if( iColumn==XN_EXPR ) pScan->pIdxExpr = pIdx->aColExpr->a[j].pExpr; + if( iColumn==pIdx->pTable->iPKey ) iColumn = XN_ROWID; } if( pIdx && iColumn>=0 ){ pScan->idxaff = pIdx->pTable->aCol[iColumn].affinity; @@ -124168,7 +124462,6 @@ static sqlite3_index_info *allocateIndexInfo( */ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ sqlite3_vtab *pVtab = sqlite3GetVTable(pParse->db, pTab)->pVtab; - int i; int rc; TRACE_IDX_INPUTS(p); @@ -124187,12 +124480,16 @@ static int vtabBestIndex(Parse *pParse, Table *pTab, sqlite3_index_info *p){ sqlite3_free(pVtab->zErrMsg); pVtab->zErrMsg = 0; +#if 0 + /* This error is now caught by the caller. + ** Search for "xBestIndex malfunction" below */ for(i=0; inConstraint; i++){ if( !p->aConstraint[i].usable && p->aConstraintUsage[i].argvIndex>0 ){ sqlite3ErrorMsg(pParse, "table %s: xBestIndex returned an invalid plan", pTab->zName); } } +#endif return pParse->nErr; } @@ -124795,7 +125092,8 @@ static int whereEqualScanEst( pBuilder->nRecValid = nEq; whereKeyStats(pParse, p, pRec, 0, a); - WHERETRACE(0x10,("equality scan regions: %d\n", (int)a[1])); + WHERETRACE(0x10,("equality scan regions %s(%d): %d\n", + p->zName, nEq-1, (int)a[1])); *pnRow = a[1]; return rc; @@ -124970,7 +125268,7 @@ static int whereLoopResize(sqlite3 *db, WhereLoop *p, int n){ if( p->nLSlot>=n ) return SQLITE_OK; n = (n+7)&~7; paNew = sqlite3DbMallocRawNN(db, sizeof(p->aLTerm[0])*n); - if( paNew==0 ) return SQLITE_NOMEM; + if( paNew==0 ) return SQLITE_NOMEM_BKPT; memcpy(paNew, p->aLTerm, sizeof(p->aLTerm[0])*p->nLSlot); if( p->aLTerm!=p->aLTermSpace ) sqlite3DbFree(db, p->aLTerm); p->aLTerm = paNew; @@ -124985,7 +125283,7 @@ static int whereLoopXfer(sqlite3 *db, WhereLoop *pTo, WhereLoop *pFrom){ whereLoopClearUnion(db, pTo); if( whereLoopResize(db, pTo, pFrom->nLTerm) ){ memset(&pTo->u, 0, sizeof(pTo->u)); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } memcpy(pTo, pFrom, WHERE_LOOP_XFER_SZ); memcpy(pTo->aLTerm, pFrom->aLTerm, pTo->nLTerm*sizeof(pTo->aLTerm[0])); @@ -125209,6 +125507,7 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ WhereLoop **ppPrev, *p; WhereInfo *pWInfo = pBuilder->pWInfo; sqlite3 *db = pWInfo->pParse->db; + int rc; /* If pBuilder->pOrSet is defined, then only keep track of the costs ** and prereqs. @@ -125267,7 +125566,7 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ if( p==0 ){ /* Allocate a new WhereLoop to add to the end of the list */ *ppPrev = p = sqlite3DbMallocRawNN(db, sizeof(WhereLoop)); - if( p==0 ) return SQLITE_NOMEM; + if( p==0 ) return SQLITE_NOMEM_BKPT; whereLoopInit(p); p->pNextLoop = 0; }else{ @@ -125291,14 +125590,14 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ whereLoopDelete(db, pToDel); } } - whereLoopXfer(db, p, pTemplate); + rc = whereLoopXfer(db, p, pTemplate); if( (p->wsFlags & WHERE_VIRTUALTABLE)==0 ){ Index *pIndex = p->u.btree.pIndex; if( pIndex && pIndex->tnum==0 ){ p->u.btree.pIndex = 0; } } - return SQLITE_OK; + return rc; } /* @@ -125423,7 +125722,7 @@ static int whereLoopAddBtreeIndex( WhereTerm *pTop = 0, *pBtm = 0; /* Top and bottom range constraints */ pNew = pBuilder->pNew; - if( db->mallocFailed ) return SQLITE_NOMEM; + if( db->mallocFailed ) return SQLITE_NOMEM_BKPT; assert( (pNew->wsFlags & WHERE_VIRTUALTABLE)==0 ); assert( (pNew->wsFlags & WHERE_TOP_LIMIT)==0 ); @@ -125787,7 +126086,7 @@ static int whereUsablePartialIndex(int iTab, WhereClause *pWC, Expr *pWhere){ */ static int whereLoopAddBtree( WhereLoopBuilder *pBuilder, /* WHERE clause information */ - Bitmask mExtra /* Extra prerequesites for using this table */ + Bitmask mPrereq /* Extra prerequesites for using this table */ ){ WhereInfo *pWInfo; /* WHERE analysis context */ Index *pProbe; /* An index we are evaluating */ @@ -125887,7 +126186,7 @@ static int whereLoopAddBtree( pNew->nOut = 43; assert( 43==sqlite3LogEst(20) ); pNew->rRun = sqlite3LogEstAdd(rLogSize,pNew->nOut); pNew->wsFlags = WHERE_AUTO_INDEX; - pNew->prereq = mExtra | pTerm->prereqRight; + pNew->prereq = mPrereq | pTerm->prereqRight; rc = whereLoopInsert(pBuilder, pNew); } } @@ -125908,7 +126207,7 @@ static int whereLoopAddBtree( pNew->nLTerm = 0; pNew->iSortIdx = 0; pNew->rSetup = 0; - pNew->prereq = mExtra; + pNew->prereq = mPrereq; pNew->nOut = rSize; pNew->u.btree.pIndex = pProbe; b = indexMightHelpWithOrderBy(pBuilder, pProbe, pSrc->iCursor); @@ -125981,12 +126280,160 @@ static int whereLoopAddBtree( } #ifndef SQLITE_OMIT_VIRTUALTABLE + +/* +** Argument pIdxInfo is already populated with all constraints that may +** be used by the virtual table identified by pBuilder->pNew->iTab. This +** function marks a subset of those constraints usable, invokes the +** xBestIndex method and adds the returned plan to pBuilder. +** +** A constraint is marked usable if: +** +** * Argument mUsable indicates that its prerequisites are available, and +** +** * It is not one of the operators specified in the mExclude mask passed +** as the fourth argument (which in practice is either WO_IN or 0). +** +** Argument mPrereq is a mask of tables that must be scanned before the +** virtual table in question. These are added to the plans prerequisites +** before it is added to pBuilder. +** +** Output parameter *pbIn is set to true if the plan added to pBuilder +** uses one or more WO_IN terms, or false otherwise. +*/ +static int whereLoopAddVirtualOne( + WhereLoopBuilder *pBuilder, + Bitmask mPrereq, /* Mask of tables that must be used. */ + Bitmask mUsable, /* Mask of usable tables */ + u16 mExclude, /* Exclude terms using these operators */ + sqlite3_index_info *pIdxInfo, /* Populated object for xBestIndex */ + int *pbIn /* OUT: True if plan uses an IN(...) op */ +){ + WhereClause *pWC = pBuilder->pWC; + struct sqlite3_index_constraint *pIdxCons; + struct sqlite3_index_constraint_usage *pUsage = pIdxInfo->aConstraintUsage; + int i; + int mxTerm; + int rc = SQLITE_OK; + WhereLoop *pNew = pBuilder->pNew; + Parse *pParse = pBuilder->pWInfo->pParse; + struct SrcList_item *pSrc = &pBuilder->pWInfo->pTabList->a[pNew->iTab]; + int nConstraint = pIdxInfo->nConstraint; + + assert( (mUsable & mPrereq)==mPrereq ); + *pbIn = 0; + pNew->prereq = mPrereq; + + /* Set the usable flag on the subset of constraints identified by + ** arguments mUsable and mExclude. */ + pIdxCons = *(struct sqlite3_index_constraint**)&pIdxInfo->aConstraint; + for(i=0; ia[pIdxCons->iTermOffset]; + pIdxCons->usable = 0; + if( (pTerm->prereqRight & mUsable)==pTerm->prereqRight + && (pTerm->eOperator & mExclude)==0 + ){ + pIdxCons->usable = 1; + } + } + + /* Initialize the output fields of the sqlite3_index_info structure */ + memset(pUsage, 0, sizeof(pUsage[0])*nConstraint); + assert( pIdxInfo->needToFreeIdxStr==0 ); + pIdxInfo->idxStr = 0; + pIdxInfo->idxNum = 0; + pIdxInfo->orderByConsumed = 0; + pIdxInfo->estimatedCost = SQLITE_BIG_DBL / (double)2; + pIdxInfo->estimatedRows = 25; + pIdxInfo->idxFlags = 0; + pIdxInfo->colUsed = (sqlite3_int64)pSrc->colUsed; + + /* Invoke the virtual table xBestIndex() method */ + rc = vtabBestIndex(pParse, pSrc->pTab, pIdxInfo); + if( rc ) return rc; + + mxTerm = -1; + assert( pNew->nLSlot>=nConstraint ); + for(i=0; iaLTerm[i] = 0; + pNew->u.vtab.omitMask = 0; + pIdxCons = *(struct sqlite3_index_constraint**)&pIdxInfo->aConstraint; + for(i=0; i=0 ){ + WhereTerm *pTerm; + int j = pIdxCons->iTermOffset; + if( iTerm>=nConstraint + || j<0 + || j>=pWC->nTerm + || pNew->aLTerm[iTerm]!=0 + || pIdxCons->usable==0 + ){ + rc = SQLITE_ERROR; + sqlite3ErrorMsg(pParse,"%s.xBestIndex malfunction",pSrc->pTab->zName); + return rc; + } + testcase( iTerm==nConstraint-1 ); + testcase( j==0 ); + testcase( j==pWC->nTerm-1 ); + pTerm = &pWC->a[j]; + pNew->prereq |= pTerm->prereqRight; + assert( iTermnLSlot ); + pNew->aLTerm[iTerm] = pTerm; + if( iTerm>mxTerm ) mxTerm = iTerm; + testcase( iTerm==15 ); + testcase( iTerm==16 ); + if( iTerm<16 && pUsage[i].omit ) pNew->u.vtab.omitMask |= 1<eOperator & WO_IN)!=0 ){ + /* A virtual table that is constrained by an IN clause may not + ** consume the ORDER BY clause because (1) the order of IN terms + ** is not necessarily related to the order of output terms and + ** (2) Multiple outputs from a single IN value will not merge + ** together. */ + pIdxInfo->orderByConsumed = 0; + pIdxInfo->idxFlags &= ~SQLITE_INDEX_SCAN_UNIQUE; + *pbIn = 1; assert( (mExclude & WO_IN)==0 ); + } + } + } + + pNew->nLTerm = mxTerm+1; + assert( pNew->nLTerm<=pNew->nLSlot ); + pNew->u.vtab.idxNum = pIdxInfo->idxNum; + pNew->u.vtab.needFree = pIdxInfo->needToFreeIdxStr; + pIdxInfo->needToFreeIdxStr = 0; + pNew->u.vtab.idxStr = pIdxInfo->idxStr; + pNew->u.vtab.isOrdered = (i8)(pIdxInfo->orderByConsumed ? + pIdxInfo->nOrderBy : 0); + pNew->rSetup = 0; + pNew->rRun = sqlite3LogEstFromDouble(pIdxInfo->estimatedCost); + pNew->nOut = sqlite3LogEst(pIdxInfo->estimatedRows); + + /* Set the WHERE_ONEROW flag if the xBestIndex() method indicated + ** that the scan will visit at most one row. Clear it otherwise. */ + if( pIdxInfo->idxFlags & SQLITE_INDEX_SCAN_UNIQUE ){ + pNew->wsFlags |= WHERE_ONEROW; + }else{ + pNew->wsFlags &= ~WHERE_ONEROW; + } + rc = whereLoopInsert(pBuilder, pNew); + if( pNew->u.vtab.needFree ){ + sqlite3_free(pNew->u.vtab.idxStr); + pNew->u.vtab.needFree = 0; + } + WHERETRACE(0xffff, (" bIn=%d prereqIn=%04llx prereqOut=%04llx\n", + *pbIn, (sqlite3_uint64)mPrereq, + (sqlite3_uint64)(pNew->prereq & ~mPrereq))); + + return rc; +} + + /* ** Add all WhereLoop objects for a table of the join identified by ** pBuilder->pNew->iTab. That table is guaranteed to be a virtual table. ** -** If there are no LEFT or CROSS JOIN joins in the query, both mExtra and -** mUnusable are set to 0. Otherwise, mExtra is a mask of all FROM clause +** If there are no LEFT or CROSS JOIN joins in the query, both mPrereq and +** mUnusable are set to 0. Otherwise, mPrereq is a mask of all FROM clause ** entries that occur before the virtual table in the FROM clause and are ** separated from it by at least one LEFT or CROSS JOIN. Similarly, the ** mUnusable mask contains all FROM clause entries that occur after the @@ -125997,188 +126444,122 @@ static int whereLoopAddBtree( ** ** ... FROM t1, t2 LEFT JOIN t3, t4, vt CROSS JOIN t5, t6; ** -** then mExtra corresponds to (t1, t2) and mUnusable to (t5, t6). +** then mPrereq corresponds to (t1, t2) and mUnusable to (t5, t6). ** -** All the tables in mExtra must be scanned before the current virtual +** All the tables in mPrereq must be scanned before the current virtual ** table. So any terms for which all prerequisites are satisfied by -** mExtra may be specified as "usable" in all calls to xBestIndex. +** mPrereq may be specified as "usable" in all calls to xBestIndex. ** Conversely, all tables in mUnusable must be scanned after the current ** virtual table, so any terms for which the prerequisites overlap with ** mUnusable should always be configured as "not-usable" for xBestIndex. */ static int whereLoopAddVirtual( WhereLoopBuilder *pBuilder, /* WHERE clause information */ - Bitmask mExtra, /* Tables that must be scanned before this one */ + Bitmask mPrereq, /* Tables that must be scanned before this one */ Bitmask mUnusable /* Tables that must be scanned after this one */ ){ + int rc = SQLITE_OK; /* Return code */ WhereInfo *pWInfo; /* WHERE analysis context */ Parse *pParse; /* The parsing context */ WhereClause *pWC; /* The WHERE clause */ struct SrcList_item *pSrc; /* The FROM clause term to search */ - Table *pTab; - sqlite3 *db; - sqlite3_index_info *pIdxInfo; - struct sqlite3_index_constraint *pIdxCons; - struct sqlite3_index_constraint_usage *pUsage; - WhereTerm *pTerm; - int i, j; - int iTerm, mxTerm; - int nConstraint; - int seenIn = 0; /* True if an IN operator is seen */ - int seenVar = 0; /* True if a non-constant constraint is seen */ - int iPhase; /* 0: const w/o IN, 1: const, 2: no IN, 2: IN */ + sqlite3_index_info *p; /* Object to pass to xBestIndex() */ + int nConstraint; /* Number of constraints in p */ + int bIn; /* True if plan uses IN(...) operator */ WhereLoop *pNew; - int rc = SQLITE_OK; + Bitmask mBest; /* Tables used by best possible plan */ - assert( (mExtra & mUnusable)==0 ); + assert( (mPrereq & mUnusable)==0 ); pWInfo = pBuilder->pWInfo; pParse = pWInfo->pParse; - db = pParse->db; pWC = pBuilder->pWC; pNew = pBuilder->pNew; pSrc = &pWInfo->pTabList->a[pNew->iTab]; - pTab = pSrc->pTab; - assert( IsVirtual(pTab) ); - pIdxInfo = allocateIndexInfo(pParse, pWC, mUnusable, pSrc,pBuilder->pOrderBy); - if( pIdxInfo==0 ) return SQLITE_NOMEM; - pNew->prereq = 0; + assert( IsVirtual(pSrc->pTab) ); + p = allocateIndexInfo(pParse, pWC, mUnusable, pSrc, pBuilder->pOrderBy); + if( p==0 ) return SQLITE_NOMEM_BKPT; pNew->rSetup = 0; pNew->wsFlags = WHERE_VIRTUALTABLE; pNew->nLTerm = 0; pNew->u.vtab.needFree = 0; - pUsage = pIdxInfo->aConstraintUsage; - nConstraint = pIdxInfo->nConstraint; - if( whereLoopResize(db, pNew, nConstraint) ){ - sqlite3DbFree(db, pIdxInfo); - return SQLITE_NOMEM; - } - - for(iPhase=0; iPhase<=3; iPhase++){ - if( !seenIn && (iPhase&1)!=0 ){ - iPhase++; - if( iPhase>3 ) break; - } - if( !seenVar && iPhase>1 ) break; - pIdxCons = *(struct sqlite3_index_constraint**)&pIdxInfo->aConstraint; - for(i=0; inConstraint; i++, pIdxCons++){ - j = pIdxCons->iTermOffset; - pTerm = &pWC->a[j]; - switch( iPhase ){ - case 0: /* Constants without IN operator */ - pIdxCons->usable = 0; - if( (pTerm->eOperator & WO_IN)!=0 ){ - seenIn = 1; - } - if( (pTerm->prereqRight & ~mExtra)!=0 ){ - seenVar = 1; - }else if( (pTerm->eOperator & WO_IN)==0 ){ - pIdxCons->usable = 1; - } - break; - case 1: /* Constants with IN operators */ - assert( seenIn ); - pIdxCons->usable = (pTerm->prereqRight & ~mExtra)==0; - break; - case 2: /* Variables without IN */ - assert( seenVar ); - pIdxCons->usable = (pTerm->eOperator & WO_IN)==0; - break; - default: /* Variables with IN */ - assert( seenVar && seenIn ); - pIdxCons->usable = 1; - break; + nConstraint = p->nConstraint; + if( whereLoopResize(pParse->db, pNew, nConstraint) ){ + sqlite3DbFree(pParse->db, p); + return SQLITE_NOMEM_BKPT; + } + + /* First call xBestIndex() with all constraints usable. */ + WHERETRACE(0x40, (" VirtualOne: all usable\n")); + rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, 0, p, &bIn); + + /* If the call to xBestIndex() with all terms enabled produced a plan + ** that does not require any source tables (IOW: a plan with mBest==0), + ** then there is no point in making any further calls to xBestIndex() + ** since they will all return the same result (if the xBestIndex() + ** implementation is sane). */ + if( rc==SQLITE_OK && (mBest = (pNew->prereq & ~mPrereq))!=0 ){ + int seenZero = 0; /* True if a plan with no prereqs seen */ + int seenZeroNoIN = 0; /* Plan with no prereqs and no IN(...) seen */ + Bitmask mPrev = 0; + Bitmask mBestNoIn = 0; + + /* If the plan produced by the earlier call uses an IN(...) term, call + ** xBestIndex again, this time with IN(...) terms disabled. */ + if( bIn ){ + WHERETRACE(0x40, (" VirtualOne: all usable w/o IN\n")); + rc = whereLoopAddVirtualOne(pBuilder, mPrereq, ALLBITS, WO_IN, p, &bIn); + assert( bIn==0 ); + mBestNoIn = pNew->prereq & ~mPrereq; + if( mBestNoIn==0 ){ + seenZero = 1; + seenZeroNoIN = 1; + } + } + + /* Call xBestIndex once for each distinct value of (prereqRight & ~mPrereq) + ** in the set of terms that apply to the current virtual table. */ + while( rc==SQLITE_OK ){ + int i; + Bitmask mNext = ALLBITS; + assert( mNext>0 ); + for(i=0; ia[p->aConstraint[i].iTermOffset].prereqRight & ~mPrereq + ); + if( mThis>mPrev && mThisprereq==mPrereq ){ + seenZero = 1; + if( bIn==0 ) seenZeroNoIN = 1; } } - memset(pUsage, 0, sizeof(pUsage[0])*pIdxInfo->nConstraint); - if( pIdxInfo->needToFreeIdxStr ) sqlite3_free(pIdxInfo->idxStr); - pIdxInfo->idxStr = 0; - pIdxInfo->idxNum = 0; - pIdxInfo->needToFreeIdxStr = 0; - pIdxInfo->orderByConsumed = 0; - pIdxInfo->estimatedCost = SQLITE_BIG_DBL / (double)2; - pIdxInfo->estimatedRows = 25; - pIdxInfo->idxFlags = 0; - pIdxInfo->colUsed = (sqlite3_int64)pSrc->colUsed; - rc = vtabBestIndex(pParse, pTab, pIdxInfo); - if( rc ) goto whereLoopAddVtab_exit; - pIdxCons = *(struct sqlite3_index_constraint**)&pIdxInfo->aConstraint; - pNew->prereq = mExtra; - mxTerm = -1; - assert( pNew->nLSlot>=nConstraint ); - for(i=0; iaLTerm[i] = 0; - pNew->u.vtab.omitMask = 0; - for(i=0; i=0 ){ - j = pIdxCons->iTermOffset; - if( iTerm>=nConstraint - || j<0 - || j>=pWC->nTerm - || pNew->aLTerm[iTerm]!=0 - ){ - rc = SQLITE_ERROR; - sqlite3ErrorMsg(pParse, "%s.xBestIndex() malfunction", pTab->zName); - goto whereLoopAddVtab_exit; - } - testcase( iTerm==nConstraint-1 ); - testcase( j==0 ); - testcase( j==pWC->nTerm-1 ); - pTerm = &pWC->a[j]; - pNew->prereq |= pTerm->prereqRight; - assert( iTermnLSlot ); - pNew->aLTerm[iTerm] = pTerm; - if( iTerm>mxTerm ) mxTerm = iTerm; - testcase( iTerm==15 ); - testcase( iTerm==16 ); - if( iTerm<16 && pUsage[i].omit ) pNew->u.vtab.omitMask |= 1<eOperator & WO_IN)!=0 ){ - if( pUsage[i].omit==0 ){ - /* Do not attempt to use an IN constraint if the virtual table - ** says that the equivalent EQ constraint cannot be safely omitted. - ** If we do attempt to use such a constraint, some rows might be - ** repeated in the output. */ - break; - } - /* A virtual table that is constrained by an IN clause may not - ** consume the ORDER BY clause because (1) the order of IN terms - ** is not necessarily related to the order of output terms and - ** (2) Multiple outputs from a single IN value will not merge - ** together. */ - pIdxInfo->orderByConsumed = 0; - pIdxInfo->idxFlags &= ~SQLITE_INDEX_SCAN_UNIQUE; - } - } - } - if( i>=nConstraint ){ - pNew->nLTerm = mxTerm+1; - assert( pNew->nLTerm<=pNew->nLSlot ); - pNew->u.vtab.idxNum = pIdxInfo->idxNum; - pNew->u.vtab.needFree = pIdxInfo->needToFreeIdxStr; - pIdxInfo->needToFreeIdxStr = 0; - pNew->u.vtab.idxStr = pIdxInfo->idxStr; - pNew->u.vtab.isOrdered = (i8)(pIdxInfo->orderByConsumed ? - pIdxInfo->nOrderBy : 0); - pNew->rSetup = 0; - pNew->rRun = sqlite3LogEstFromDouble(pIdxInfo->estimatedCost); - pNew->nOut = sqlite3LogEst(pIdxInfo->estimatedRows); - /* Set the WHERE_ONEROW flag if the xBestIndex() method indicated - ** that the scan will visit at most one row. Clear it otherwise. */ - if( pIdxInfo->idxFlags & SQLITE_INDEX_SCAN_UNIQUE ){ - pNew->wsFlags |= WHERE_ONEROW; - }else{ - pNew->wsFlags &= ~WHERE_ONEROW; - } - whereLoopInsert(pBuilder, pNew); - if( pNew->u.vtab.needFree ){ - sqlite3_free(pNew->u.vtab.idxStr); - pNew->u.vtab.needFree = 0; - } + /* If the calls to xBestIndex() in the above loop did not find a plan + ** that requires no source tables at all (i.e. one guaranteed to be + ** usable), make a call here with all source tables disabled */ + if( rc==SQLITE_OK && seenZero==0 ){ + WHERETRACE(0x40, (" VirtualOne: all disabled\n")); + rc = whereLoopAddVirtualOne(pBuilder, mPrereq, mPrereq, 0, p, &bIn); + if( bIn==0 ) seenZeroNoIN = 1; } - } -whereLoopAddVtab_exit: - if( pIdxInfo->needToFreeIdxStr ) sqlite3_free(pIdxInfo->idxStr); - sqlite3DbFree(db, pIdxInfo); + /* If the calls to xBestIndex() have so far failed to find a plan + ** that requires no source tables at all and does not use an IN(...) + ** operator, make a final call to obtain one here. */ + if( rc==SQLITE_OK && seenZeroNoIN==0 ){ + WHERETRACE(0x40, (" VirtualOne: all disabled and w/o IN\n")); + rc = whereLoopAddVirtualOne(pBuilder, mPrereq, mPrereq, WO_IN, p, &bIn); + } + } + + if( p->needToFreeIdxStr ) sqlite3_free(p->idxStr); + sqlite3DbFree(pParse->db, p); return rc; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -126189,7 +126570,7 @@ static int whereLoopAddVirtual( */ static int whereLoopAddOr( WhereLoopBuilder *pBuilder, - Bitmask mExtra, + Bitmask mPrereq, Bitmask mUnusable ){ WhereInfo *pWInfo = pBuilder->pWInfo; @@ -126250,14 +126631,14 @@ static int whereLoopAddOr( #endif #ifndef SQLITE_OMIT_VIRTUALTABLE if( IsVirtual(pItem->pTab) ){ - rc = whereLoopAddVirtual(&sSubBuild, mExtra, mUnusable); + rc = whereLoopAddVirtual(&sSubBuild, mPrereq, mUnusable); }else #endif { - rc = whereLoopAddBtree(&sSubBuild, mExtra); + rc = whereLoopAddBtree(&sSubBuild, mPrereq); } if( rc==SQLITE_OK ){ - rc = whereLoopAddOr(&sSubBuild, mExtra, mUnusable); + rc = whereLoopAddOr(&sSubBuild, mPrereq, mUnusable); } assert( rc==SQLITE_OK || sCur.n==0 ); if( sCur.n==0 ){ @@ -126314,7 +126695,7 @@ static int whereLoopAddOr( */ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ WhereInfo *pWInfo = pBuilder->pWInfo; - Bitmask mExtra = 0; + Bitmask mPrereq = 0; Bitmask mPrior = 0; int iTab; SrcList *pTabList = pWInfo->pTabList; @@ -126335,7 +126716,7 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ if( ((pItem->fg.jointype|priorJointype) & (JT_LEFT|JT_CROSS))!=0 ){ /* This condition is true when pItem is the FROM clause term on the ** right-hand-side of a LEFT or CROSS JOIN. */ - mExtra = mPrior; + mPrereq = mPrior; } priorJointype = pItem->fg.jointype; if( IsVirtual(pItem->pTab) ){ @@ -126345,12 +126726,12 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ mUnusable |= sqlite3WhereGetMask(&pWInfo->sMaskSet, p->iCursor); } } - rc = whereLoopAddVirtual(pBuilder, mExtra, mUnusable); + rc = whereLoopAddVirtual(pBuilder, mPrereq, mUnusable); }else{ - rc = whereLoopAddBtree(pBuilder, mExtra); + rc = whereLoopAddBtree(pBuilder, mPrereq); } if( rc==SQLITE_OK ){ - rc = whereLoopAddOr(pBuilder, mExtra, mUnusable); + rc = whereLoopAddOr(pBuilder, mPrereq, mUnusable); } mPrior |= pNew->maskSelf; if( rc || db->mallocFailed ) break; @@ -126672,6 +127053,7 @@ static const char *wherePathName(WherePath *pPath, int nLoop, WhereLoop *pLast){ ** order. */ static LogEst whereSortingCost( + WhereInfo *pWInfo, LogEst nRow, int nOrderBy, int nSorted @@ -126692,7 +127074,14 @@ static LogEst whereSortingCost( LogEst rScale, rSortCost; assert( nOrderBy>0 && 66==sqlite3LogEst(100) ); rScale = sqlite3LogEst((nOrderBy-nSorted)*100/nOrderBy) - 66; - rSortCost = nRow + estLog(nRow) + rScale + 16; + rSortCost = nRow + rScale + 16; + + /* Multiple by log(M) where M is the number of output rows. + ** Use the LIMIT for M if it is smaller */ + if( (pWInfo->wctrlFlags & WHERE_USE_LIMIT)!=0 && pWInfo->iLimitiLimit; + } + rSortCost += estLog(nRow); return rSortCost; } @@ -126755,7 +127144,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ nSpace = (sizeof(WherePath)+sizeof(WhereLoop*)*nLoop)*mxChoice*2; nSpace += sizeof(LogEst) * nOrderBy; pSpace = sqlite3DbMallocRawNN(db, nSpace); - if( pSpace==0 ) return SQLITE_NOMEM; + if( pSpace==0 ) return SQLITE_NOMEM_BKPT; aTo = (WherePath*)pSpace; aFrom = aTo+mxChoice; memset(aFrom, 0, sizeof(aFrom[0])); @@ -126810,6 +127199,12 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ if( (pWLoop->prereq & ~pFrom->maskLoop)!=0 ) continue; if( (pWLoop->maskSelf & pFrom->maskLoop)!=0 ) continue; + if( (pWLoop->wsFlags & WHERE_AUTO_INDEX)!=0 && pFrom->nRow<10 ){ + /* Do not use an automatic index if the this loop is expected + ** to run less than 2 times. */ + assert( 10==sqlite3LogEst(2) ); + continue; + } /* At this point, pWLoop is a candidate to be the next loop. ** Compute its cost */ rUnsorted = sqlite3LogEstAdd(pWLoop->rSetup,pWLoop->rRun + pFrom->nRow); @@ -126826,7 +127221,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ if( isOrdered>=0 && isOrderedpWInfo; if( pWInfo->wctrlFlags & WHERE_FORCE_TABLE ) return 0; assert( pWInfo->pTabList->nSrc>=1 ); @@ -127225,7 +127620,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ExprList *pOrderBy, /* An ORDER BY (or GROUP BY) clause, or NULL */ ExprList *pResultSet, /* Result set of the query */ u16 wctrlFlags, /* One of the WHERE_* flags defined in sqliteInt.h */ - int iIdxCur /* If WHERE_ONETABLE_ONLY is set, index cursor number */ + int iAuxArg /* If WHERE_ONETABLE_ONLY is set, index cursor number, + ** If WHERE_USE_LIMIT, then the limit amount */ ){ int nByteWInfo; /* Num. bytes allocated for WhereInfo struct */ int nTabList; /* Number of elements in pTabList */ @@ -127246,6 +127642,10 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( && (wctrlFlags & WHERE_OMIT_OPEN_CLOSE)==0 )); + /* Only one of WHERE_ONETABLE_ONLY or WHERE_USE_LIMIT */ + assert( (wctrlFlags & WHERE_ONETABLE_ONLY)==0 + || (wctrlFlags & WHERE_USE_LIMIT)==0 ); + /* Variable initialization */ db = pParse->db; memset(&sWLB, 0, sizeof(sWLB)); @@ -127299,6 +127699,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( pWInfo->pResultSet = pResultSet; pWInfo->iBreak = pWInfo->iContinue = sqlite3VdbeMakeLabel(v); pWInfo->wctrlFlags = wctrlFlags; + pWInfo->iLimit = iAuxArg; pWInfo->savedNQueryLoop = pParse->nQueryLoop; assert( pWInfo->eOnePass==ONEPASS_OFF ); /* ONEPASS defaults to OFF */ pMaskSet = &pWInfo->sMaskSet; @@ -127379,9 +127780,14 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } /* Construct the WhereLoop objects */ - WHERETRACE(0xffff,("*** Optimizer Start *** (wctrlFlags: 0x%x)\n", - wctrlFlags)); #if defined(WHERETRACE_ENABLED) + if( sqlite3WhereTrace & 0xffff ){ + sqlite3DebugPrintf("*** Optimizer Start *** (wctrlFlags: 0x%x",wctrlFlags); + if( wctrlFlags & WHERE_USE_LIMIT ){ + sqlite3DebugPrintf(", limit: %d", iAuxArg); + } + sqlite3DebugPrintf(")\n"); + } if( sqlite3WhereTrace & 0x100 ){ /* Display all terms of the WHERE clause */ int i; for(i=0; inTerm; i++){ @@ -127415,7 +127821,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } } if( pWInfo->pOrderBy==0 && (db->flags & SQLITE_ReverseOrder)!=0 ){ - pWInfo->revMask = (Bitmask)(-1); + pWInfo->revMask = ALLBITS; } if( pParse->nErr || NEVER(db->mallocFailed) ){ goto whereBeginError; @@ -127564,8 +127970,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( Index *pIx = pLoop->u.btree.pIndex; int iIndexCur; int op = OP_OpenRead; - /* iIdxCur is always set if to a positive value if ONEPASS is possible */ - assert( iIdxCur!=0 || (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 ); + /* iAuxArg is always set if to a positive value if ONEPASS is possible */ + assert( iAuxArg!=0 || (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 ); if( !HasRowid(pTab) && IsPrimaryKeyIndex(pIx) && (wctrlFlags & WHERE_ONETABLE_ONLY)!=0 ){ @@ -127575,7 +127981,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( op = 0; }else if( pWInfo->eOnePass!=ONEPASS_OFF ){ Index *pJ = pTabItem->pTab->pIndex; - iIndexCur = iIdxCur; + iIndexCur = iAuxArg; assert( wctrlFlags & WHERE_ONEPASS_DESIRED ); while( ALWAYS(pJ) && pJ!=pIx ){ iIndexCur++; @@ -127583,8 +127989,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } op = OP_OpenWrite; pWInfo->aiCurOnePass[1] = iIndexCur; - }else if( iIdxCur && (wctrlFlags & WHERE_ONETABLE_ONLY)!=0 ){ - iIndexCur = iIdxCur; + }else if( iAuxArg && (wctrlFlags & WHERE_ONETABLE_ONLY)!=0 ){ + iIndexCur = iAuxArg; if( wctrlFlags & WHERE_REOPEN_IDX ) op = OP_ReopenIdx; }else{ iIndexCur = pParse->nTab++; @@ -127981,46 +128387,44 @@ static void disableLookaside(Parse *pParse){ ** new Expr to populate pOut. Set the span of pOut to be the identifier ** that created the expression. */ - static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token *pValue){ - pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, pValue); - pOut->zStart = pValue->z; - pOut->zEnd = &pValue->z[pValue->n]; + static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token t){ + pOut->pExpr = sqlite3PExpr(pParse, op, 0, 0, &t); + pOut->zStart = t.z; + pOut->zEnd = &t.z[t.n]; } /* This routine constructs a binary expression node out of two ExprSpan ** objects and uses the result to populate a new ExprSpan object. */ static void spanBinaryExpr( - ExprSpan *pOut, /* Write the result here */ Parse *pParse, /* The parsing context. Errors accumulate here */ int op, /* The binary operation */ - ExprSpan *pLeft, /* The left operand */ + ExprSpan *pLeft, /* The left operand, and output */ ExprSpan *pRight /* The right operand */ ){ - pOut->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0); - pOut->zStart = pLeft->zStart; - pOut->zEnd = pRight->zEnd; + pLeft->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0); + pLeft->zEnd = pRight->zEnd; } /* If doNot is true, then add a TK_NOT Expr-node wrapper around the ** outside of *ppExpr. */ - static void exprNot(Parse *pParse, int doNot, Expr **ppExpr){ - if( doNot ) *ppExpr = sqlite3PExpr(pParse, TK_NOT, *ppExpr, 0, 0); + static void exprNot(Parse *pParse, int doNot, ExprSpan *pSpan){ + if( doNot ){ + pSpan->pExpr = sqlite3PExpr(pParse, TK_NOT, pSpan->pExpr, 0, 0); + } } /* Construct an expression node for a unary postfix operator */ static void spanUnaryPostfix( - ExprSpan *pOut, /* Write the new expression node here */ Parse *pParse, /* Parsing context to record errors */ int op, /* The operator */ - ExprSpan *pOperand, /* The operand */ + ExprSpan *pOperand, /* The operand, and output */ Token *pPostOp /* The operand token for setting the span */ ){ - pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); - pOut->zStart = pOperand->zStart; - pOut->zEnd = &pPostOp->z[pPostOp->n]; + pOperand->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); + pOperand->zEnd = &pPostOp->z[pPostOp->n]; } /* A routine to convert a binary TK_IS or TK_ISNOT expression into a @@ -128043,8 +128447,8 @@ static void disableLookaside(Parse *pParse){ ExprSpan *pOperand, /* The operand */ Token *pPreOp /* The operand token for setting the span */ ){ - pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); pOut->zStart = pPreOp->z; + pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); pOut->zEnd = pOperand->zEnd; } @@ -128129,26 +128533,26 @@ static void disableLookaside(Parse *pParse){ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned char -#define YYNOCODE 253 +#define YYNOCODE 251 #define YYACTIONTYPE unsigned short int #define YYWILDCARD 70 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - int yy4; - struct TrigEvent yy90; - ExprSpan yy118; - TriggerStep* yy203; - struct {int value; int mask;} yy215; - SrcList* yy259; - struct LimitVal yy292; - Expr* yy314; - ExprList* yy322; - struct LikeOp yy342; - IdList* yy384; - Select* yy387; - With* yy451; + struct LimitVal yy64; + Expr* yy122; + Select* yy159; + IdList* yy180; + struct {int value; int mask;} yy207; + struct LikeOp yy318; + TriggerStep* yy327; + With* yy331; + ExprSpan yy342; + SrcList* yy347; + int yy392; + struct TrigEvent yy410; + ExprList* yy442; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -128158,22 +128562,18 @@ typedef union { #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse #define YYFALLBACK 1 -#define YYNSTATE 436 -#define YYNRULE 328 -#define YY_MAX_SHIFT 435 +#define YYNSTATE 440 +#define YYNRULE 326 +#define YY_MAX_SHIFT 439 #define YY_MIN_SHIFTREDUCE 649 -#define YY_MAX_SHIFTREDUCE 976 -#define YY_MIN_REDUCE 977 -#define YY_MAX_REDUCE 1304 -#define YY_ERROR_ACTION 1305 -#define YY_ACCEPT_ACTION 1306 -#define YY_NO_ACTION 1307 +#define YY_MAX_SHIFTREDUCE 974 +#define YY_MIN_REDUCE 975 +#define YY_MAX_REDUCE 1300 +#define YY_ERROR_ACTION 1301 +#define YY_ACCEPT_ACTION 1302 +#define YY_NO_ACTION 1303 /************* End control #defines *******************************************/ -/* The yyzerominor constant is used to initialize instances of -** YYMINORTYPE objects to zero. */ -static const YYMINORTYPE yyzerominor = { 0 }; - /* Define the yytestcase() macro to be a no-op if is not already defined ** otherwise. ** @@ -128239,446 +128639,444 @@ static const YYMINORTYPE yyzerominor = { 0 }; ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (1501) +#define YY_ACTTAB_COUNT (1499) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 311, 1306, 145, 651, 2, 192, 652, 338, 780, 92, - /* 10 */ 92, 92, 92, 85, 90, 90, 90, 90, 89, 89, - /* 20 */ 88, 88, 88, 87, 335, 88, 88, 88, 87, 335, - /* 30 */ 327, 856, 856, 92, 92, 92, 92, 697, 90, 90, - /* 40 */ 90, 90, 89, 89, 88, 88, 88, 87, 335, 76, - /* 50 */ 807, 74, 93, 94, 84, 868, 871, 860, 860, 91, - /* 60 */ 91, 92, 92, 92, 92, 335, 90, 90, 90, 90, - /* 70 */ 89, 89, 88, 88, 88, 87, 335, 311, 780, 90, - /* 80 */ 90, 90, 90, 89, 89, 88, 88, 88, 87, 335, - /* 90 */ 356, 808, 776, 701, 689, 689, 86, 83, 166, 257, - /* 100 */ 809, 715, 430, 86, 83, 166, 324, 697, 856, 856, - /* 110 */ 201, 158, 276, 387, 271, 386, 188, 689, 689, 828, - /* 120 */ 86, 83, 166, 269, 833, 49, 123, 87, 335, 93, - /* 130 */ 94, 84, 868, 871, 860, 860, 91, 91, 92, 92, - /* 140 */ 92, 92, 239, 90, 90, 90, 90, 89, 89, 88, - /* 150 */ 88, 88, 87, 335, 311, 763, 333, 332, 216, 408, - /* 160 */ 394, 69, 231, 393, 690, 691, 396, 910, 251, 354, - /* 170 */ 250, 288, 315, 430, 908, 430, 909, 89, 89, 88, - /* 180 */ 88, 88, 87, 335, 391, 856, 856, 690, 691, 183, - /* 190 */ 95, 123, 384, 381, 380, 833, 31, 833, 49, 912, - /* 200 */ 912, 751, 752, 379, 123, 311, 93, 94, 84, 868, - /* 210 */ 871, 860, 860, 91, 91, 92, 92, 92, 92, 114, - /* 220 */ 90, 90, 90, 90, 89, 89, 88, 88, 88, 87, - /* 230 */ 335, 430, 408, 399, 435, 657, 856, 856, 346, 57, - /* 240 */ 232, 828, 109, 704, 366, 689, 689, 363, 825, 760, - /* 250 */ 97, 749, 752, 833, 49, 708, 708, 93, 94, 84, - /* 260 */ 868, 871, 860, 860, 91, 91, 92, 92, 92, 92, - /* 270 */ 423, 90, 90, 90, 90, 89, 89, 88, 88, 88, - /* 280 */ 87, 335, 311, 114, 22, 361, 688, 58, 408, 390, - /* 290 */ 251, 349, 240, 213, 762, 689, 689, 847, 685, 115, - /* 300 */ 361, 231, 393, 689, 689, 396, 183, 689, 689, 384, - /* 310 */ 381, 380, 361, 856, 856, 690, 691, 160, 159, 223, - /* 320 */ 379, 738, 25, 806, 707, 841, 143, 689, 689, 835, - /* 330 */ 392, 339, 766, 766, 93, 94, 84, 868, 871, 860, - /* 340 */ 860, 91, 91, 92, 92, 92, 92, 914, 90, 90, - /* 350 */ 90, 90, 89, 89, 88, 88, 88, 87, 335, 311, - /* 360 */ 840, 840, 840, 266, 257, 690, 691, 778, 706, 86, - /* 370 */ 83, 166, 219, 690, 691, 737, 1, 690, 691, 689, - /* 380 */ 689, 689, 689, 430, 86, 83, 166, 249, 688, 937, - /* 390 */ 856, 856, 427, 699, 700, 828, 298, 690, 691, 221, - /* 400 */ 686, 115, 123, 944, 795, 833, 48, 342, 305, 970, - /* 410 */ 847, 93, 94, 84, 868, 871, 860, 860, 91, 91, - /* 420 */ 92, 92, 92, 92, 114, 90, 90, 90, 90, 89, - /* 430 */ 89, 88, 88, 88, 87, 335, 311, 940, 841, 679, - /* 440 */ 713, 429, 835, 430, 251, 354, 250, 355, 288, 690, - /* 450 */ 691, 690, 691, 285, 941, 340, 971, 287, 210, 23, - /* 460 */ 174, 793, 832, 430, 353, 833, 10, 856, 856, 24, - /* 470 */ 942, 151, 753, 840, 840, 840, 794, 968, 1290, 321, - /* 480 */ 398, 1290, 356, 352, 754, 833, 49, 935, 93, 94, - /* 490 */ 84, 868, 871, 860, 860, 91, 91, 92, 92, 92, - /* 500 */ 92, 430, 90, 90, 90, 90, 89, 89, 88, 88, - /* 510 */ 88, 87, 335, 311, 376, 114, 907, 705, 430, 907, - /* 520 */ 328, 890, 114, 833, 10, 966, 430, 857, 857, 320, - /* 530 */ 189, 163, 832, 165, 430, 906, 344, 323, 906, 904, - /* 540 */ 833, 10, 965, 306, 856, 856, 187, 419, 833, 10, - /* 550 */ 220, 869, 872, 832, 222, 403, 833, 49, 1219, 793, - /* 560 */ 68, 937, 406, 245, 66, 93, 94, 84, 868, 871, - /* 570 */ 860, 860, 91, 91, 92, 92, 92, 92, 861, 90, - /* 580 */ 90, 90, 90, 89, 89, 88, 88, 88, 87, 335, - /* 590 */ 311, 404, 213, 762, 834, 345, 114, 940, 902, 368, - /* 600 */ 727, 5, 316, 192, 396, 772, 780, 269, 230, 242, - /* 610 */ 771, 244, 397, 164, 941, 385, 123, 347, 55, 355, - /* 620 */ 329, 856, 856, 728, 333, 332, 688, 968, 1291, 724, - /* 630 */ 942, 1291, 413, 214, 833, 9, 362, 286, 955, 115, - /* 640 */ 718, 311, 93, 94, 84, 868, 871, 860, 860, 91, - /* 650 */ 91, 92, 92, 92, 92, 430, 90, 90, 90, 90, - /* 660 */ 89, 89, 88, 88, 88, 87, 335, 912, 912, 1300, - /* 670 */ 1300, 758, 856, 856, 325, 966, 780, 833, 35, 747, - /* 680 */ 720, 334, 699, 700, 977, 652, 338, 243, 745, 920, - /* 690 */ 920, 369, 187, 93, 94, 84, 868, 871, 860, 860, - /* 700 */ 91, 91, 92, 92, 92, 92, 114, 90, 90, 90, - /* 710 */ 90, 89, 89, 88, 88, 88, 87, 335, 311, 430, - /* 720 */ 954, 430, 112, 310, 430, 693, 317, 698, 400, 430, - /* 730 */ 793, 359, 430, 1017, 430, 192, 430, 401, 780, 430, - /* 740 */ 360, 833, 36, 833, 12, 430, 833, 27, 316, 856, - /* 750 */ 856, 833, 37, 20, 833, 38, 833, 39, 833, 28, - /* 760 */ 72, 833, 29, 663, 664, 665, 264, 833, 40, 234, - /* 770 */ 93, 94, 84, 868, 871, 860, 860, 91, 91, 92, - /* 780 */ 92, 92, 92, 430, 90, 90, 90, 90, 89, 89, - /* 790 */ 88, 88, 88, 87, 335, 311, 430, 698, 430, 917, - /* 800 */ 147, 430, 165, 916, 275, 833, 41, 430, 780, 430, - /* 810 */ 21, 430, 259, 430, 262, 274, 430, 367, 833, 42, - /* 820 */ 833, 11, 430, 833, 43, 235, 856, 856, 793, 833, - /* 830 */ 99, 833, 44, 833, 45, 833, 32, 75, 833, 46, - /* 840 */ 305, 967, 257, 257, 833, 47, 311, 93, 94, 84, - /* 850 */ 868, 871, 860, 860, 91, 91, 92, 92, 92, 92, - /* 860 */ 430, 90, 90, 90, 90, 89, 89, 88, 88, 88, - /* 870 */ 87, 335, 430, 186, 185, 184, 238, 856, 856, 650, - /* 880 */ 2, 1064, 833, 33, 739, 217, 218, 257, 971, 257, - /* 890 */ 426, 317, 257, 774, 833, 117, 257, 311, 93, 94, - /* 900 */ 84, 868, 871, 860, 860, 91, 91, 92, 92, 92, - /* 910 */ 92, 430, 90, 90, 90, 90, 89, 89, 88, 88, - /* 920 */ 88, 87, 335, 430, 318, 124, 212, 163, 856, 856, - /* 930 */ 943, 900, 898, 833, 118, 759, 726, 725, 257, 755, - /* 940 */ 289, 289, 733, 734, 961, 833, 119, 682, 311, 93, - /* 950 */ 82, 84, 868, 871, 860, 860, 91, 91, 92, 92, - /* 960 */ 92, 92, 430, 90, 90, 90, 90, 89, 89, 88, - /* 970 */ 88, 88, 87, 335, 430, 716, 246, 322, 331, 856, - /* 980 */ 856, 256, 114, 357, 833, 53, 808, 913, 913, 932, - /* 990 */ 156, 416, 420, 424, 930, 809, 833, 34, 364, 311, - /* 1000 */ 253, 94, 84, 868, 871, 860, 860, 91, 91, 92, - /* 1010 */ 92, 92, 92, 430, 90, 90, 90, 90, 89, 89, - /* 1020 */ 88, 88, 88, 87, 335, 430, 114, 114, 114, 960, - /* 1030 */ 856, 856, 307, 258, 830, 833, 100, 191, 252, 377, - /* 1040 */ 267, 68, 197, 68, 261, 716, 769, 833, 50, 71, - /* 1050 */ 911, 911, 263, 84, 868, 871, 860, 860, 91, 91, - /* 1060 */ 92, 92, 92, 92, 430, 90, 90, 90, 90, 89, - /* 1070 */ 89, 88, 88, 88, 87, 335, 80, 425, 802, 3, - /* 1080 */ 1214, 191, 430, 265, 336, 336, 833, 101, 741, 80, - /* 1090 */ 425, 897, 3, 723, 722, 428, 721, 336, 336, 430, - /* 1100 */ 893, 270, 430, 197, 833, 102, 430, 800, 428, 430, - /* 1110 */ 695, 430, 843, 111, 414, 430, 784, 409, 430, 831, - /* 1120 */ 430, 833, 98, 123, 833, 116, 847, 414, 833, 49, - /* 1130 */ 779, 833, 113, 833, 106, 226, 123, 833, 105, 847, - /* 1140 */ 833, 103, 833, 104, 791, 411, 77, 78, 290, 412, - /* 1150 */ 430, 291, 114, 79, 432, 431, 389, 430, 835, 77, - /* 1160 */ 78, 897, 839, 408, 410, 430, 79, 432, 431, 372, - /* 1170 */ 703, 835, 833, 52, 430, 80, 425, 430, 3, 833, - /* 1180 */ 54, 772, 843, 336, 336, 684, 771, 833, 51, 840, - /* 1190 */ 840, 840, 842, 19, 428, 672, 833, 26, 671, 833, - /* 1200 */ 30, 673, 840, 840, 840, 842, 19, 207, 661, 278, - /* 1210 */ 304, 148, 280, 414, 282, 248, 358, 822, 382, 6, - /* 1220 */ 348, 161, 273, 80, 425, 847, 3, 934, 895, 720, - /* 1230 */ 894, 336, 336, 296, 157, 415, 241, 284, 674, 958, - /* 1240 */ 194, 953, 428, 951, 948, 77, 78, 777, 319, 56, - /* 1250 */ 59, 135, 79, 432, 431, 121, 66, 835, 146, 128, - /* 1260 */ 350, 414, 819, 130, 351, 131, 132, 133, 375, 173, - /* 1270 */ 107, 138, 149, 847, 365, 178, 62, 70, 425, 936, - /* 1280 */ 3, 827, 889, 371, 255, 336, 336, 792, 840, 840, - /* 1290 */ 840, 842, 19, 77, 78, 915, 428, 208, 179, 144, - /* 1300 */ 79, 432, 431, 373, 260, 835, 180, 326, 675, 181, - /* 1310 */ 308, 744, 388, 743, 731, 414, 718, 742, 730, 712, - /* 1320 */ 402, 309, 711, 272, 788, 65, 710, 847, 709, 277, - /* 1330 */ 193, 789, 787, 279, 876, 73, 840, 840, 840, 842, - /* 1340 */ 19, 786, 281, 418, 283, 422, 227, 77, 78, 330, - /* 1350 */ 228, 229, 96, 767, 79, 432, 431, 407, 67, 835, - /* 1360 */ 215, 292, 293, 405, 294, 303, 302, 301, 204, 299, - /* 1370 */ 295, 202, 676, 681, 7, 433, 669, 203, 205, 206, - /* 1380 */ 125, 110, 313, 434, 667, 666, 658, 168, 224, 237, - /* 1390 */ 840, 840, 840, 842, 19, 120, 656, 337, 236, 155, - /* 1400 */ 167, 341, 233, 314, 108, 905, 903, 826, 127, 126, - /* 1410 */ 756, 170, 129, 172, 247, 928, 134, 136, 171, 60, - /* 1420 */ 61, 123, 169, 137, 933, 175, 176, 927, 8, 13, - /* 1430 */ 177, 254, 918, 139, 191, 924, 140, 370, 678, 150, - /* 1440 */ 374, 182, 274, 268, 141, 122, 63, 14, 378, 15, - /* 1450 */ 383, 64, 225, 846, 845, 874, 16, 4, 729, 765, - /* 1460 */ 770, 162, 395, 209, 211, 142, 801, 878, 796, 312, - /* 1470 */ 71, 68, 875, 873, 939, 190, 417, 938, 17, 195, - /* 1480 */ 196, 152, 18, 975, 199, 976, 153, 198, 154, 421, - /* 1490 */ 877, 844, 696, 81, 200, 297, 343, 1019, 1018, 300, - /* 1500 */ 653, + /* 0 */ 315, 1302, 146, 921, 2, 194, 922, 342, 952, 91, + /* 10 */ 91, 91, 91, 84, 89, 89, 89, 89, 88, 88, + /* 20 */ 87, 87, 87, 86, 339, 87, 87, 87, 86, 339, + /* 30 */ 331, 819, 819, 91, 91, 91, 91, 339, 89, 89, + /* 40 */ 89, 89, 88, 88, 87, 87, 87, 86, 339, 319, + /* 50 */ 933, 933, 92, 93, 83, 831, 834, 823, 823, 90, + /* 60 */ 90, 91, 91, 91, 91, 123, 89, 89, 89, 89, + /* 70 */ 88, 88, 87, 87, 87, 86, 339, 315, 952, 89, + /* 80 */ 89, 89, 89, 88, 88, 87, 87, 87, 86, 339, + /* 90 */ 365, 772, 360, 24, 933, 933, 947, 694, 933, 933, + /* 100 */ 773, 937, 933, 933, 434, 715, 328, 434, 819, 819, + /* 110 */ 203, 160, 278, 391, 273, 390, 190, 933, 933, 370, + /* 120 */ 934, 935, 367, 271, 953, 48, 679, 953, 48, 92, + /* 130 */ 93, 83, 831, 834, 823, 823, 90, 90, 91, 91, + /* 140 */ 91, 91, 123, 89, 89, 89, 89, 88, 88, 87, + /* 150 */ 87, 87, 86, 339, 315, 682, 337, 336, 218, 412, + /* 160 */ 398, 68, 412, 403, 934, 935, 743, 959, 934, 935, + /* 170 */ 810, 937, 934, 935, 957, 221, 958, 88, 88, 87, + /* 180 */ 87, 87, 86, 339, 291, 819, 819, 934, 935, 185, + /* 190 */ 94, 792, 388, 385, 384, 1240, 1240, 792, 804, 960, + /* 200 */ 960, 290, 798, 383, 123, 315, 92, 93, 83, 831, + /* 210 */ 834, 823, 823, 90, 90, 91, 91, 91, 91, 326, + /* 220 */ 89, 89, 89, 89, 88, 88, 87, 87, 87, 86, + /* 230 */ 339, 681, 741, 803, 803, 803, 819, 819, 944, 56, + /* 240 */ 253, 353, 242, 85, 82, 168, 253, 358, 252, 110, + /* 250 */ 96, 233, 397, 698, 677, 683, 683, 92, 93, 83, + /* 260 */ 831, 834, 823, 823, 90, 90, 91, 91, 91, 91, + /* 270 */ 433, 89, 89, 89, 89, 88, 88, 87, 87, 87, + /* 280 */ 86, 339, 315, 434, 439, 651, 396, 57, 733, 733, + /* 290 */ 234, 291, 107, 287, 395, 86, 339, 810, 427, 728, + /* 300 */ 933, 933, 185, 953, 30, 388, 385, 384, 215, 949, + /* 310 */ 434, 933, 933, 819, 819, 697, 383, 162, 161, 407, + /* 320 */ 400, 85, 82, 168, 677, 804, 335, 113, 771, 798, + /* 330 */ 953, 48, 22, 351, 92, 93, 83, 831, 834, 823, + /* 340 */ 823, 90, 90, 91, 91, 91, 91, 870, 89, 89, + /* 350 */ 89, 89, 88, 88, 87, 87, 87, 86, 339, 315, + /* 360 */ 803, 803, 803, 268, 123, 412, 394, 1, 933, 933, + /* 370 */ 934, 935, 933, 933, 85, 82, 168, 232, 5, 343, + /* 380 */ 194, 934, 935, 952, 85, 82, 168, 54, 956, 434, + /* 390 */ 819, 819, 431, 938, 939, 792, 67, 759, 350, 144, + /* 400 */ 166, 770, 123, 896, 889, 955, 348, 288, 758, 953, + /* 410 */ 47, 92, 93, 83, 831, 834, 823, 823, 90, 90, + /* 420 */ 91, 91, 91, 91, 892, 89, 89, 89, 89, 88, + /* 430 */ 88, 87, 87, 87, 86, 339, 315, 113, 934, 935, + /* 440 */ 687, 893, 934, 935, 253, 358, 252, 85, 82, 168, + /* 450 */ 820, 820, 956, 952, 338, 938, 939, 894, 701, 721, + /* 460 */ 359, 289, 233, 397, 434, 349, 434, 819, 819, 955, + /* 470 */ 866, 722, 23, 389, 832, 835, 692, 357, 904, 667, + /* 480 */ 194, 702, 402, 952, 953, 48, 953, 48, 92, 93, + /* 490 */ 83, 831, 834, 823, 823, 90, 90, 91, 91, 91, + /* 500 */ 91, 824, 89, 89, 89, 89, 88, 88, 87, 87, + /* 510 */ 87, 86, 339, 315, 434, 113, 434, 680, 434, 332, + /* 520 */ 434, 408, 889, 356, 380, 940, 401, 720, 948, 864, + /* 530 */ 191, 165, 329, 689, 953, 9, 953, 9, 953, 9, + /* 540 */ 953, 9, 718, 948, 819, 819, 953, 8, 325, 111, + /* 550 */ 327, 153, 224, 952, 410, 113, 189, 337, 336, 913, + /* 560 */ 1295, 852, 75, 1295, 73, 92, 93, 83, 831, 834, + /* 570 */ 823, 823, 90, 90, 91, 91, 91, 91, 359, 89, + /* 580 */ 89, 89, 89, 88, 88, 87, 87, 87, 86, 339, + /* 590 */ 315, 730, 148, 236, 797, 366, 789, 892, 1179, 434, + /* 600 */ 960, 960, 400, 148, 314, 212, 873, 911, 757, 404, + /* 610 */ 872, 300, 320, 434, 893, 311, 237, 271, 405, 953, + /* 620 */ 34, 819, 819, 225, 371, 945, 360, 913, 1296, 113, + /* 630 */ 894, 1296, 417, 953, 35, 1245, 922, 342, 259, 247, + /* 640 */ 290, 315, 92, 93, 83, 831, 834, 823, 823, 90, + /* 650 */ 90, 91, 91, 91, 91, 148, 89, 89, 89, 89, + /* 660 */ 88, 88, 87, 87, 87, 86, 339, 310, 434, 796, + /* 670 */ 434, 240, 819, 819, 266, 911, 876, 876, 373, 346, + /* 680 */ 167, 654, 655, 656, 259, 244, 19, 246, 953, 11, + /* 690 */ 953, 26, 222, 92, 93, 83, 831, 834, 823, 823, + /* 700 */ 90, 90, 91, 91, 91, 91, 757, 89, 89, 89, + /* 710 */ 89, 88, 88, 87, 87, 87, 86, 339, 315, 434, + /* 720 */ 261, 434, 264, 696, 434, 241, 434, 344, 971, 308, + /* 730 */ 757, 434, 796, 434, 324, 434, 393, 423, 434, 953, + /* 740 */ 36, 953, 37, 20, 953, 38, 953, 27, 434, 819, + /* 750 */ 819, 953, 28, 953, 39, 953, 40, 738, 953, 41, + /* 760 */ 71, 738, 737, 245, 307, 973, 737, 259, 953, 10, + /* 770 */ 92, 93, 83, 831, 834, 823, 823, 90, 90, 91, + /* 780 */ 91, 91, 91, 434, 89, 89, 89, 89, 88, 88, + /* 790 */ 87, 87, 87, 86, 339, 315, 434, 372, 434, 259, + /* 800 */ 149, 434, 167, 953, 42, 188, 187, 186, 219, 434, + /* 810 */ 748, 434, 974, 434, 796, 434, 953, 98, 953, 43, + /* 820 */ 862, 953, 44, 434, 920, 2, 819, 819, 757, 953, + /* 830 */ 31, 953, 45, 953, 46, 953, 32, 74, 307, 912, + /* 840 */ 220, 259, 259, 953, 115, 909, 315, 92, 93, 83, + /* 850 */ 831, 834, 823, 823, 90, 90, 91, 91, 91, 91, + /* 860 */ 434, 89, 89, 89, 89, 88, 88, 87, 87, 87, + /* 870 */ 86, 339, 434, 248, 434, 215, 949, 819, 819, 333, + /* 880 */ 953, 116, 895, 860, 176, 259, 974, 400, 361, 259, + /* 890 */ 951, 887, 953, 117, 953, 52, 884, 315, 92, 93, + /* 900 */ 83, 831, 834, 823, 823, 90, 90, 91, 91, 91, + /* 910 */ 91, 434, 89, 89, 89, 89, 88, 88, 87, 87, + /* 920 */ 87, 86, 339, 434, 113, 434, 258, 883, 819, 819, + /* 930 */ 727, 953, 33, 363, 259, 673, 321, 189, 430, 321, + /* 940 */ 368, 365, 364, 953, 99, 953, 49, 365, 315, 92, + /* 950 */ 81, 83, 831, 834, 823, 823, 90, 90, 91, 91, + /* 960 */ 91, 91, 434, 89, 89, 89, 89, 88, 88, 87, + /* 970 */ 87, 87, 86, 339, 434, 723, 434, 214, 165, 819, + /* 980 */ 819, 772, 953, 100, 322, 124, 1269, 158, 65, 710, + /* 990 */ 773, 700, 699, 320, 953, 101, 953, 97, 255, 315, + /* 1000 */ 216, 93, 83, 831, 834, 823, 823, 90, 90, 91, + /* 1010 */ 91, 91, 91, 434, 89, 89, 89, 89, 88, 88, + /* 1020 */ 87, 87, 87, 86, 339, 434, 251, 434, 707, 708, + /* 1030 */ 819, 819, 223, 953, 114, 908, 794, 254, 309, 193, + /* 1040 */ 67, 381, 869, 869, 199, 953, 112, 953, 105, 269, + /* 1050 */ 726, 260, 67, 83, 831, 834, 823, 823, 90, 90, + /* 1060 */ 91, 91, 91, 91, 263, 89, 89, 89, 89, 88, + /* 1070 */ 88, 87, 87, 87, 86, 339, 79, 429, 690, 3, + /* 1080 */ 1174, 228, 434, 113, 340, 340, 868, 868, 265, 79, + /* 1090 */ 429, 735, 3, 859, 70, 432, 434, 340, 340, 434, + /* 1100 */ 1259, 434, 953, 104, 434, 670, 416, 766, 432, 434, + /* 1110 */ 193, 434, 413, 434, 418, 806, 953, 102, 420, 953, + /* 1120 */ 103, 953, 48, 123, 953, 51, 810, 418, 424, 953, + /* 1130 */ 53, 953, 50, 953, 25, 267, 123, 711, 113, 810, + /* 1140 */ 428, 277, 695, 272, 764, 113, 76, 77, 690, 434, + /* 1150 */ 795, 113, 276, 78, 436, 435, 412, 414, 798, 76, + /* 1160 */ 77, 113, 855, 859, 376, 199, 78, 436, 435, 953, + /* 1170 */ 29, 798, 744, 113, 755, 79, 429, 675, 3, 415, + /* 1180 */ 109, 292, 293, 340, 340, 806, 802, 678, 672, 803, + /* 1190 */ 803, 803, 805, 18, 432, 661, 660, 662, 927, 209, + /* 1200 */ 150, 352, 803, 803, 803, 805, 18, 6, 306, 280, + /* 1210 */ 282, 284, 786, 418, 250, 386, 243, 886, 694, 362, + /* 1220 */ 286, 163, 275, 79, 429, 810, 3, 857, 856, 159, + /* 1230 */ 419, 340, 340, 298, 930, 968, 126, 196, 965, 903, + /* 1240 */ 901, 323, 432, 136, 55, 76, 77, 742, 147, 58, + /* 1250 */ 121, 129, 78, 436, 435, 65, 783, 798, 354, 131, + /* 1260 */ 355, 418, 379, 132, 133, 134, 175, 139, 151, 369, + /* 1270 */ 888, 180, 791, 810, 61, 851, 871, 69, 429, 375, + /* 1280 */ 3, 756, 210, 257, 181, 340, 340, 145, 803, 803, + /* 1290 */ 803, 805, 18, 76, 77, 377, 432, 262, 182, 183, + /* 1300 */ 78, 436, 435, 663, 312, 798, 392, 714, 713, 712, + /* 1310 */ 330, 705, 692, 313, 704, 418, 686, 406, 752, 685, + /* 1320 */ 274, 684, 942, 64, 279, 195, 281, 810, 753, 839, + /* 1330 */ 751, 283, 72, 750, 285, 422, 803, 803, 803, 805, + /* 1340 */ 18, 334, 426, 95, 411, 229, 409, 76, 77, 230, + /* 1350 */ 734, 66, 231, 294, 78, 436, 435, 204, 295, 798, + /* 1360 */ 217, 296, 297, 669, 21, 305, 304, 303, 206, 301, + /* 1370 */ 437, 928, 664, 205, 208, 207, 438, 658, 657, 652, + /* 1380 */ 118, 108, 119, 226, 650, 341, 157, 170, 169, 239, + /* 1390 */ 803, 803, 803, 805, 18, 125, 120, 235, 238, 317, + /* 1400 */ 318, 345, 106, 790, 867, 127, 865, 128, 130, 724, + /* 1410 */ 249, 172, 174, 882, 135, 137, 59, 138, 173, 60, + /* 1420 */ 885, 123, 171, 177, 178, 881, 7, 12, 179, 256, + /* 1430 */ 874, 140, 193, 962, 374, 141, 666, 152, 378, 276, + /* 1440 */ 184, 382, 142, 122, 62, 13, 387, 703, 270, 14, + /* 1450 */ 63, 227, 809, 808, 837, 732, 15, 841, 736, 4, + /* 1460 */ 765, 211, 399, 164, 213, 143, 760, 201, 70, 316, + /* 1470 */ 67, 838, 836, 891, 198, 192, 16, 197, 890, 917, + /* 1480 */ 154, 17, 202, 421, 918, 155, 200, 156, 425, 840, + /* 1490 */ 807, 1261, 676, 80, 302, 299, 347, 1260, 923, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 19, 144, 145, 146, 147, 24, 1, 2, 27, 80, /* 10 */ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, /* 20 */ 91, 92, 93, 94, 95, 91, 92, 93, 94, 95, - /* 30 */ 19, 50, 51, 80, 81, 82, 83, 27, 85, 86, - /* 40 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 137, - /* 50 */ 177, 139, 71, 72, 73, 74, 75, 76, 77, 78, - /* 60 */ 79, 80, 81, 82, 83, 95, 85, 86, 87, 88, + /* 30 */ 19, 50, 51, 80, 81, 82, 83, 95, 85, 86, + /* 40 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 157, + /* 50 */ 27, 28, 71, 72, 73, 74, 75, 76, 77, 78, + /* 60 */ 79, 80, 81, 82, 83, 66, 85, 86, 87, 88, /* 70 */ 89, 90, 91, 92, 93, 94, 95, 19, 97, 85, /* 80 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - /* 90 */ 152, 33, 212, 173, 27, 28, 223, 224, 225, 152, - /* 100 */ 42, 181, 152, 223, 224, 225, 95, 97, 50, 51, - /* 110 */ 99, 100, 101, 102, 103, 104, 105, 27, 28, 59, - /* 120 */ 223, 224, 225, 112, 174, 175, 66, 94, 95, 71, + /* 90 */ 152, 33, 152, 22, 27, 28, 179, 180, 27, 28, + /* 100 */ 42, 27, 27, 28, 152, 188, 95, 152, 50, 51, + /* 110 */ 99, 100, 101, 102, 103, 104, 105, 27, 28, 227, + /* 120 */ 97, 98, 230, 112, 172, 173, 172, 172, 173, 71, /* 130 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - /* 140 */ 82, 83, 195, 85, 86, 87, 88, 89, 90, 91, - /* 150 */ 92, 93, 94, 95, 19, 197, 89, 90, 220, 209, - /* 160 */ 210, 26, 119, 120, 97, 98, 208, 100, 108, 109, - /* 170 */ 110, 152, 157, 152, 107, 152, 109, 89, 90, 91, - /* 180 */ 92, 93, 94, 95, 163, 50, 51, 97, 98, 99, - /* 190 */ 55, 66, 102, 103, 104, 174, 175, 174, 175, 132, - /* 200 */ 133, 192, 193, 113, 66, 19, 71, 72, 73, 74, - /* 210 */ 75, 76, 77, 78, 79, 80, 81, 82, 83, 198, + /* 140 */ 82, 83, 66, 85, 86, 87, 88, 89, 90, 91, + /* 150 */ 92, 93, 94, 95, 19, 172, 89, 90, 218, 207, + /* 160 */ 208, 26, 207, 208, 97, 98, 91, 100, 97, 98, + /* 170 */ 69, 97, 97, 98, 107, 237, 109, 89, 90, 91, + /* 180 */ 92, 93, 94, 95, 152, 50, 51, 97, 98, 99, + /* 190 */ 55, 59, 102, 103, 104, 119, 120, 59, 97, 132, + /* 200 */ 133, 152, 101, 113, 66, 19, 71, 72, 73, 74, + /* 210 */ 75, 76, 77, 78, 79, 80, 81, 82, 83, 187, /* 220 */ 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, - /* 230 */ 95, 152, 209, 210, 148, 149, 50, 51, 100, 53, - /* 240 */ 154, 59, 156, 174, 229, 27, 28, 232, 163, 163, - /* 250 */ 22, 192, 193, 174, 175, 27, 28, 71, 72, 73, + /* 230 */ 95, 172, 210, 132, 133, 134, 50, 51, 185, 53, + /* 240 */ 108, 109, 110, 221, 222, 223, 108, 109, 110, 22, + /* 250 */ 22, 119, 120, 181, 27, 27, 28, 71, 72, 73, /* 260 */ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - /* 270 */ 251, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 280 */ 94, 95, 19, 198, 198, 152, 152, 24, 209, 210, - /* 290 */ 108, 109, 110, 196, 197, 27, 28, 69, 164, 165, - /* 300 */ 152, 119, 120, 27, 28, 208, 99, 27, 28, 102, - /* 310 */ 103, 104, 152, 50, 51, 97, 98, 89, 90, 185, - /* 320 */ 113, 187, 22, 177, 174, 97, 58, 27, 28, 101, - /* 330 */ 115, 245, 117, 118, 71, 72, 73, 74, 75, 76, + /* 270 */ 152, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 280 */ 94, 95, 19, 152, 148, 149, 115, 24, 117, 118, + /* 290 */ 154, 152, 156, 152, 163, 94, 95, 69, 249, 163, + /* 300 */ 27, 28, 99, 172, 173, 102, 103, 104, 194, 195, + /* 310 */ 152, 27, 28, 50, 51, 181, 113, 89, 90, 152, + /* 320 */ 206, 221, 222, 223, 97, 97, 187, 196, 175, 101, + /* 330 */ 172, 173, 196, 219, 71, 72, 73, 74, 75, 76, /* 340 */ 77, 78, 79, 80, 81, 82, 83, 11, 85, 86, /* 350 */ 87, 88, 89, 90, 91, 92, 93, 94, 95, 19, - /* 360 */ 132, 133, 134, 23, 152, 97, 98, 91, 174, 223, - /* 370 */ 224, 225, 239, 97, 98, 187, 22, 97, 98, 27, - /* 380 */ 28, 27, 28, 152, 223, 224, 225, 239, 152, 163, - /* 390 */ 50, 51, 170, 171, 172, 59, 160, 97, 98, 239, - /* 400 */ 164, 165, 66, 242, 124, 174, 175, 195, 22, 23, - /* 410 */ 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, - /* 420 */ 80, 81, 82, 83, 198, 85, 86, 87, 88, 89, - /* 430 */ 90, 91, 92, 93, 94, 95, 19, 12, 97, 21, - /* 440 */ 23, 152, 101, 152, 108, 109, 110, 221, 152, 97, - /* 450 */ 98, 97, 98, 152, 29, 243, 70, 226, 23, 233, - /* 460 */ 26, 26, 152, 152, 238, 174, 175, 50, 51, 22, - /* 470 */ 45, 24, 47, 132, 133, 134, 124, 22, 23, 188, - /* 480 */ 163, 26, 152, 65, 59, 174, 175, 163, 71, 72, + /* 360 */ 132, 133, 134, 23, 66, 207, 208, 22, 27, 28, + /* 370 */ 97, 98, 27, 28, 221, 222, 223, 199, 22, 243, + /* 380 */ 24, 97, 98, 27, 221, 222, 223, 209, 152, 152, + /* 390 */ 50, 51, 168, 169, 170, 59, 26, 124, 100, 58, + /* 400 */ 152, 175, 66, 240, 163, 169, 170, 152, 124, 172, + /* 410 */ 173, 71, 72, 73, 74, 75, 76, 77, 78, 79, + /* 420 */ 80, 81, 82, 83, 12, 85, 86, 87, 88, 89, + /* 430 */ 90, 91, 92, 93, 94, 95, 19, 196, 97, 98, + /* 440 */ 23, 29, 97, 98, 108, 109, 110, 221, 222, 223, + /* 450 */ 50, 51, 152, 97, 168, 169, 170, 45, 37, 47, + /* 460 */ 219, 224, 119, 120, 152, 229, 152, 50, 51, 169, + /* 470 */ 170, 59, 231, 52, 74, 75, 106, 236, 152, 21, + /* 480 */ 24, 60, 163, 27, 172, 173, 172, 173, 71, 72, /* 490 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - /* 500 */ 83, 152, 85, 86, 87, 88, 89, 90, 91, 92, - /* 510 */ 93, 94, 95, 19, 19, 198, 152, 23, 152, 152, - /* 520 */ 209, 103, 198, 174, 175, 70, 152, 50, 51, 219, - /* 530 */ 213, 214, 152, 98, 152, 171, 172, 188, 171, 172, - /* 540 */ 174, 175, 248, 249, 50, 51, 51, 251, 174, 175, - /* 550 */ 220, 74, 75, 152, 188, 152, 174, 175, 140, 124, - /* 560 */ 26, 163, 188, 16, 130, 71, 72, 73, 74, 75, - /* 570 */ 76, 77, 78, 79, 80, 81, 82, 83, 101, 85, + /* 500 */ 83, 101, 85, 86, 87, 88, 89, 90, 91, 92, + /* 510 */ 93, 94, 95, 19, 152, 196, 152, 23, 152, 207, + /* 520 */ 152, 207, 163, 65, 19, 171, 152, 190, 191, 229, + /* 530 */ 211, 212, 111, 179, 172, 173, 172, 173, 172, 173, + /* 540 */ 172, 173, 190, 191, 50, 51, 172, 173, 186, 22, + /* 550 */ 186, 24, 186, 97, 186, 196, 51, 89, 90, 22, + /* 560 */ 23, 103, 137, 26, 139, 71, 72, 73, 74, 75, + /* 570 */ 76, 77, 78, 79, 80, 81, 82, 83, 219, 85, /* 580 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - /* 590 */ 19, 209, 196, 197, 23, 231, 198, 12, 231, 219, - /* 600 */ 37, 22, 107, 24, 208, 116, 27, 112, 201, 62, - /* 610 */ 121, 64, 152, 152, 29, 52, 66, 221, 211, 221, - /* 620 */ 219, 50, 51, 60, 89, 90, 152, 22, 23, 183, - /* 630 */ 45, 26, 47, 22, 174, 175, 238, 152, 164, 165, - /* 640 */ 106, 19, 71, 72, 73, 74, 75, 76, 77, 78, + /* 590 */ 19, 195, 152, 152, 23, 236, 163, 12, 140, 152, + /* 600 */ 132, 133, 206, 152, 164, 23, 31, 70, 26, 19, + /* 610 */ 35, 160, 107, 152, 29, 164, 152, 112, 28, 172, + /* 620 */ 173, 50, 51, 183, 49, 185, 152, 22, 23, 196, + /* 630 */ 45, 26, 47, 172, 173, 0, 1, 2, 152, 16, + /* 640 */ 152, 19, 71, 72, 73, 74, 75, 76, 77, 78, /* 650 */ 79, 80, 81, 82, 83, 152, 85, 86, 87, 88, - /* 660 */ 89, 90, 91, 92, 93, 94, 95, 132, 133, 119, - /* 670 */ 120, 163, 50, 51, 111, 70, 97, 174, 175, 181, - /* 680 */ 182, 170, 171, 172, 0, 1, 2, 140, 190, 108, - /* 690 */ 109, 110, 51, 71, 72, 73, 74, 75, 76, 77, - /* 700 */ 78, 79, 80, 81, 82, 83, 198, 85, 86, 87, + /* 660 */ 89, 90, 91, 92, 93, 94, 95, 164, 152, 152, + /* 670 */ 152, 152, 50, 51, 16, 70, 108, 109, 110, 193, + /* 680 */ 98, 7, 8, 9, 152, 62, 22, 64, 172, 173, + /* 690 */ 172, 173, 218, 71, 72, 73, 74, 75, 76, 77, + /* 700 */ 78, 79, 80, 81, 82, 83, 124, 85, 86, 87, /* 710 */ 88, 89, 90, 91, 92, 93, 94, 95, 19, 152, - /* 720 */ 152, 152, 22, 166, 152, 168, 169, 27, 19, 152, - /* 730 */ 26, 19, 152, 122, 152, 24, 152, 28, 27, 152, - /* 740 */ 28, 174, 175, 174, 175, 152, 174, 175, 107, 50, - /* 750 */ 51, 174, 175, 22, 174, 175, 174, 175, 174, 175, - /* 760 */ 138, 174, 175, 7, 8, 9, 16, 174, 175, 152, + /* 720 */ 62, 152, 64, 181, 152, 193, 152, 241, 246, 247, + /* 730 */ 26, 152, 152, 152, 217, 152, 91, 249, 152, 172, + /* 740 */ 173, 172, 173, 79, 172, 173, 172, 173, 152, 50, + /* 750 */ 51, 172, 173, 172, 173, 172, 173, 116, 172, 173, + /* 760 */ 138, 116, 121, 140, 22, 23, 121, 152, 172, 173, /* 770 */ 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 780 */ 81, 82, 83, 152, 85, 86, 87, 88, 89, 90, - /* 790 */ 91, 92, 93, 94, 95, 19, 152, 97, 152, 31, - /* 800 */ 24, 152, 98, 35, 101, 174, 175, 152, 97, 152, - /* 810 */ 79, 152, 62, 152, 64, 112, 152, 49, 174, 175, - /* 820 */ 174, 175, 152, 174, 175, 152, 50, 51, 124, 174, - /* 830 */ 175, 174, 175, 174, 175, 174, 175, 138, 174, 175, - /* 840 */ 22, 23, 152, 152, 174, 175, 19, 71, 72, 73, + /* 790 */ 91, 92, 93, 94, 95, 19, 152, 217, 152, 152, + /* 800 */ 24, 152, 98, 172, 173, 108, 109, 110, 193, 152, + /* 810 */ 213, 152, 70, 152, 152, 152, 172, 173, 172, 173, + /* 820 */ 152, 172, 173, 152, 146, 147, 50, 51, 124, 172, + /* 830 */ 173, 172, 173, 172, 173, 172, 173, 138, 22, 23, + /* 840 */ 193, 152, 152, 172, 173, 152, 19, 71, 72, 73, /* 850 */ 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, /* 860 */ 152, 85, 86, 87, 88, 89, 90, 91, 92, 93, - /* 870 */ 94, 95, 152, 108, 109, 110, 152, 50, 51, 146, - /* 880 */ 147, 23, 174, 175, 26, 195, 195, 152, 70, 152, - /* 890 */ 168, 169, 152, 26, 174, 175, 152, 19, 71, 72, + /* 870 */ 94, 95, 152, 152, 152, 194, 195, 50, 51, 217, + /* 880 */ 172, 173, 193, 193, 26, 152, 70, 206, 152, 152, + /* 890 */ 26, 163, 172, 173, 172, 173, 152, 19, 71, 72, /* 900 */ 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, /* 910 */ 83, 152, 85, 86, 87, 88, 89, 90, 91, 92, - /* 920 */ 93, 94, 95, 152, 246, 247, 213, 214, 50, 51, - /* 930 */ 195, 152, 195, 174, 175, 195, 100, 101, 152, 195, - /* 940 */ 152, 152, 7, 8, 152, 174, 175, 163, 19, 71, + /* 920 */ 93, 94, 95, 152, 196, 152, 193, 152, 50, 51, + /* 930 */ 193, 172, 173, 19, 152, 166, 167, 51, 166, 167, + /* 940 */ 152, 152, 28, 172, 173, 172, 173, 152, 19, 71, /* 950 */ 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, /* 960 */ 82, 83, 152, 85, 86, 87, 88, 89, 90, 91, - /* 970 */ 92, 93, 94, 95, 152, 27, 152, 189, 189, 50, - /* 980 */ 51, 195, 198, 152, 174, 175, 33, 132, 133, 152, - /* 990 */ 123, 163, 163, 163, 152, 42, 174, 175, 152, 19, - /* 1000 */ 152, 72, 73, 74, 75, 76, 77, 78, 79, 80, + /* 970 */ 92, 93, 94, 95, 152, 193, 152, 211, 212, 50, + /* 980 */ 51, 33, 172, 173, 244, 245, 23, 123, 130, 26, + /* 990 */ 42, 100, 101, 107, 172, 173, 172, 173, 152, 19, + /* 1000 */ 22, 72, 73, 74, 75, 76, 77, 78, 79, 80, /* 1010 */ 81, 82, 83, 152, 85, 86, 87, 88, 89, 90, - /* 1020 */ 91, 92, 93, 94, 95, 152, 198, 198, 198, 23, - /* 1030 */ 50, 51, 26, 152, 23, 174, 175, 26, 23, 23, - /* 1040 */ 23, 26, 26, 26, 152, 97, 23, 174, 175, 26, - /* 1050 */ 132, 133, 152, 73, 74, 75, 76, 77, 78, 79, + /* 1020 */ 91, 92, 93, 94, 95, 152, 237, 152, 7, 8, + /* 1030 */ 50, 51, 237, 172, 173, 23, 23, 23, 26, 26, + /* 1040 */ 26, 23, 132, 133, 26, 172, 173, 172, 173, 23, + /* 1050 */ 163, 152, 26, 73, 74, 75, 76, 77, 78, 79, /* 1060 */ 80, 81, 82, 83, 152, 85, 86, 87, 88, 89, - /* 1070 */ 90, 91, 92, 93, 94, 95, 19, 20, 23, 22, - /* 1080 */ 23, 26, 152, 152, 27, 28, 174, 175, 152, 19, - /* 1090 */ 20, 27, 22, 183, 183, 38, 152, 27, 28, 152, - /* 1100 */ 23, 152, 152, 26, 174, 175, 152, 152, 38, 152, - /* 1110 */ 23, 152, 27, 26, 57, 152, 215, 163, 152, 152, - /* 1120 */ 152, 174, 175, 66, 174, 175, 69, 57, 174, 175, - /* 1130 */ 152, 174, 175, 174, 175, 212, 66, 174, 175, 69, - /* 1140 */ 174, 175, 174, 175, 152, 152, 89, 90, 152, 193, - /* 1150 */ 152, 152, 198, 96, 97, 98, 91, 152, 101, 89, - /* 1160 */ 90, 97, 152, 209, 210, 152, 96, 97, 98, 235, - /* 1170 */ 152, 101, 174, 175, 152, 19, 20, 152, 22, 174, - /* 1180 */ 175, 116, 97, 27, 28, 152, 121, 174, 175, 132, - /* 1190 */ 133, 134, 135, 136, 38, 152, 174, 175, 152, 174, - /* 1200 */ 175, 152, 132, 133, 134, 135, 136, 234, 152, 212, - /* 1210 */ 150, 199, 212, 57, 212, 240, 240, 203, 178, 200, - /* 1220 */ 216, 186, 177, 19, 20, 69, 22, 203, 177, 182, - /* 1230 */ 177, 27, 28, 202, 200, 228, 216, 216, 155, 39, - /* 1240 */ 122, 159, 38, 159, 41, 89, 90, 91, 159, 241, - /* 1250 */ 241, 22, 96, 97, 98, 71, 130, 101, 222, 191, - /* 1260 */ 18, 57, 203, 194, 159, 194, 194, 194, 18, 158, - /* 1270 */ 244, 191, 222, 69, 159, 158, 137, 19, 20, 203, - /* 1280 */ 22, 191, 203, 46, 236, 27, 28, 159, 132, 133, - /* 1290 */ 134, 135, 136, 89, 90, 237, 38, 159, 158, 22, - /* 1300 */ 96, 97, 98, 179, 159, 101, 158, 48, 159, 158, - /* 1310 */ 179, 176, 107, 176, 184, 57, 106, 176, 184, 176, - /* 1320 */ 125, 179, 178, 176, 218, 107, 176, 69, 176, 217, - /* 1330 */ 159, 218, 218, 217, 159, 137, 132, 133, 134, 135, - /* 1340 */ 136, 218, 217, 179, 217, 179, 227, 89, 90, 95, - /* 1350 */ 230, 230, 129, 207, 96, 97, 98, 126, 128, 101, - /* 1360 */ 5, 206, 205, 127, 204, 10, 11, 12, 13, 14, - /* 1370 */ 203, 25, 17, 162, 26, 161, 13, 153, 153, 6, - /* 1380 */ 247, 180, 250, 151, 151, 151, 151, 32, 180, 34, - /* 1390 */ 132, 133, 134, 135, 136, 167, 4, 3, 43, 22, - /* 1400 */ 15, 68, 142, 250, 16, 23, 23, 120, 111, 131, - /* 1410 */ 20, 56, 123, 125, 16, 1, 123, 131, 63, 79, - /* 1420 */ 79, 66, 67, 111, 28, 36, 122, 1, 5, 22, - /* 1430 */ 107, 140, 54, 54, 26, 61, 107, 44, 20, 24, - /* 1440 */ 19, 105, 112, 23, 22, 40, 22, 22, 53, 22, - /* 1450 */ 53, 22, 53, 23, 23, 23, 22, 22, 30, 116, - /* 1460 */ 23, 122, 26, 23, 23, 22, 28, 11, 124, 114, - /* 1470 */ 26, 26, 23, 23, 23, 36, 24, 23, 36, 26, - /* 1480 */ 22, 22, 36, 23, 122, 23, 22, 26, 22, 24, - /* 1490 */ 23, 23, 23, 22, 122, 23, 141, 122, 122, 15, - /* 1500 */ 1, + /* 1070 */ 90, 91, 92, 93, 94, 95, 19, 20, 27, 22, + /* 1080 */ 23, 210, 152, 196, 27, 28, 132, 133, 152, 19, + /* 1090 */ 20, 23, 22, 27, 26, 38, 152, 27, 28, 152, + /* 1100 */ 122, 152, 172, 173, 152, 163, 191, 23, 38, 152, + /* 1110 */ 26, 152, 163, 152, 57, 27, 172, 173, 163, 172, + /* 1120 */ 173, 172, 173, 66, 172, 173, 69, 57, 163, 172, + /* 1130 */ 173, 172, 173, 172, 173, 152, 66, 152, 196, 69, + /* 1140 */ 163, 101, 152, 152, 152, 196, 89, 90, 97, 152, + /* 1150 */ 152, 196, 112, 96, 97, 98, 207, 208, 101, 89, + /* 1160 */ 90, 196, 23, 97, 233, 26, 96, 97, 98, 172, + /* 1170 */ 173, 101, 152, 196, 152, 19, 20, 23, 22, 152, + /* 1180 */ 26, 152, 152, 27, 28, 97, 152, 152, 152, 132, + /* 1190 */ 133, 134, 135, 136, 38, 152, 152, 152, 152, 232, + /* 1200 */ 197, 214, 132, 133, 134, 135, 136, 198, 150, 210, + /* 1210 */ 210, 210, 201, 57, 238, 176, 214, 201, 180, 238, + /* 1220 */ 214, 184, 175, 19, 20, 69, 22, 175, 175, 198, + /* 1230 */ 226, 27, 28, 200, 155, 39, 242, 122, 41, 159, + /* 1240 */ 159, 159, 38, 22, 239, 89, 90, 91, 220, 239, + /* 1250 */ 71, 189, 96, 97, 98, 130, 201, 101, 18, 192, + /* 1260 */ 159, 57, 18, 192, 192, 192, 158, 189, 220, 159, + /* 1270 */ 201, 158, 189, 69, 137, 201, 235, 19, 20, 46, + /* 1280 */ 22, 159, 159, 234, 158, 27, 28, 22, 132, 133, + /* 1290 */ 134, 135, 136, 89, 90, 177, 38, 159, 158, 158, + /* 1300 */ 96, 97, 98, 159, 177, 101, 107, 174, 174, 174, + /* 1310 */ 48, 182, 106, 177, 182, 57, 174, 125, 216, 176, + /* 1320 */ 174, 174, 174, 107, 215, 159, 215, 69, 216, 159, + /* 1330 */ 216, 215, 137, 216, 215, 177, 132, 133, 134, 135, + /* 1340 */ 136, 95, 177, 129, 126, 225, 127, 89, 90, 228, + /* 1350 */ 205, 128, 228, 204, 96, 97, 98, 25, 203, 101, + /* 1360 */ 5, 202, 201, 162, 26, 10, 11, 12, 13, 14, + /* 1370 */ 161, 13, 17, 153, 6, 153, 151, 151, 151, 151, + /* 1380 */ 165, 178, 165, 178, 4, 3, 22, 32, 15, 34, + /* 1390 */ 132, 133, 134, 135, 136, 245, 165, 142, 43, 248, + /* 1400 */ 248, 68, 16, 120, 23, 131, 23, 111, 123, 20, + /* 1410 */ 16, 56, 125, 1, 123, 131, 79, 111, 63, 79, + /* 1420 */ 28, 66, 67, 36, 122, 1, 5, 22, 107, 140, + /* 1430 */ 54, 54, 26, 61, 44, 107, 20, 24, 19, 112, + /* 1440 */ 105, 53, 22, 40, 22, 22, 53, 30, 23, 22, + /* 1450 */ 22, 53, 23, 23, 23, 116, 22, 11, 23, 22, + /* 1460 */ 28, 23, 26, 122, 23, 22, 124, 122, 26, 114, + /* 1470 */ 26, 23, 23, 23, 22, 36, 36, 26, 23, 23, + /* 1480 */ 22, 36, 122, 24, 23, 22, 26, 22, 24, 23, + /* 1490 */ 23, 122, 23, 22, 15, 23, 141, 122, 1, }; -#define YY_SHIFT_USE_DFLT (-89) -#define YY_SHIFT_COUNT (435) -#define YY_SHIFT_MIN (-88) -#define YY_SHIFT_MAX (1499) +#define YY_SHIFT_USE_DFLT (-72) +#define YY_SHIFT_COUNT (439) +#define YY_SHIFT_MIN (-71) +#define YY_SHIFT_MAX (1497) static const short yy_shift_ofst[] = { - /* 0 */ 5, 1057, 1355, 1070, 1204, 1204, 1204, 90, 60, -19, - /* 10 */ 58, 58, 186, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - /* 20 */ 67, 67, 182, 336, 218, 550, 135, 263, 340, 417, - /* 30 */ 494, 571, 622, 699, 776, 827, 827, 827, 827, 827, - /* 40 */ 827, 827, 827, 827, 827, 827, 827, 827, 827, 827, - /* 50 */ 878, 827, 929, 980, 980, 1156, 1204, 1204, 1204, 1204, + /* 0 */ 5, 1057, 1355, 1070, 1204, 1204, 1204, 138, -19, 58, + /* 10 */ 58, 186, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 67, + /* 20 */ 67, 90, 132, 336, 76, 135, 263, 340, 417, 494, + /* 30 */ 571, 622, 699, 776, 827, 827, 827, 827, 827, 827, + /* 40 */ 827, 827, 827, 827, 827, 827, 827, 827, 827, 878, + /* 50 */ 827, 929, 980, 980, 1156, 1204, 1204, 1204, 1204, 1204, /* 60 */ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, /* 70 */ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - /* 80 */ 1204, 1204, 1204, 1204, 1258, 1204, 1204, 1204, 1204, 1204, - /* 90 */ 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, -71, -47, - /* 100 */ -47, -47, -47, -47, -6, 88, -66, 218, 218, 418, - /* 110 */ 495, 535, 535, 33, 43, 10, -30, -89, -89, -89, - /* 120 */ 11, 425, 425, 268, 455, 605, 218, 218, 218, 218, - /* 130 */ 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - /* 140 */ 218, 218, 218, 218, 218, 684, 138, 10, 43, 125, - /* 150 */ 125, 125, 125, 125, 125, -89, -89, -89, 228, 341, - /* 160 */ 341, 207, 276, 300, 280, 352, 354, 218, 218, 218, - /* 170 */ 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, - /* 180 */ 218, 218, 218, 218, 563, 563, 563, 218, 218, 435, - /* 190 */ 218, 218, 218, 579, 218, 218, 585, 218, 218, 218, - /* 200 */ 218, 218, 218, 218, 218, 218, 218, 581, 768, 711, - /* 210 */ 711, 711, 704, 215, 1065, 756, 434, 709, 709, 712, - /* 220 */ 434, 712, 534, 858, 641, 953, 709, -88, 953, 953, - /* 230 */ 867, 489, 447, 1200, 1118, 1118, 1203, 1203, 1118, 1229, - /* 240 */ 1184, 1126, 1242, 1242, 1242, 1242, 1118, 1250, 1126, 1229, - /* 250 */ 1184, 1184, 1126, 1118, 1250, 1139, 1237, 1118, 1118, 1250, - /* 260 */ 1277, 1118, 1250, 1118, 1250, 1277, 1205, 1205, 1205, 1259, - /* 270 */ 1277, 1205, 1210, 1205, 1259, 1205, 1205, 1195, 1218, 1195, - /* 280 */ 1218, 1195, 1218, 1195, 1218, 1118, 1118, 1198, 1277, 1254, - /* 290 */ 1254, 1277, 1223, 1231, 1230, 1236, 1126, 1346, 1348, 1363, - /* 300 */ 1363, 1373, 1373, 1373, 1373, -89, -89, -89, -89, -89, - /* 310 */ -89, 477, 547, 386, 818, 750, 765, 700, 1006, 731, - /* 320 */ 1011, 1015, 1016, 1017, 948, 836, 935, 703, 1023, 1055, - /* 330 */ 1064, 1077, 855, 918, 1087, 1085, 611, 1392, 1394, 1377, - /* 340 */ 1260, 1385, 1333, 1388, 1382, 1383, 1287, 1278, 1297, 1289, - /* 350 */ 1390, 1288, 1398, 1414, 1293, 1286, 1340, 1341, 1312, 1396, - /* 360 */ 1389, 1304, 1426, 1423, 1407, 1323, 1291, 1378, 1408, 1379, - /* 370 */ 1374, 1393, 1329, 1415, 1418, 1421, 1330, 1336, 1422, 1395, - /* 380 */ 1424, 1425, 1420, 1427, 1397, 1428, 1429, 1399, 1405, 1430, - /* 390 */ 1431, 1432, 1343, 1434, 1437, 1435, 1436, 1339, 1440, 1441, - /* 400 */ 1438, 1439, 1443, 1344, 1444, 1442, 1445, 1446, 1444, 1449, - /* 410 */ 1450, 1451, 1453, 1454, 1458, 1456, 1460, 1459, 1452, 1461, - /* 420 */ 1462, 1464, 1465, 1461, 1467, 1466, 1468, 1469, 1471, 1362, - /* 430 */ 1372, 1375, 1376, 1472, 1484, 1499, + /* 80 */ 1204, 1204, 1204, 1258, 1204, 1204, 1204, 1204, 1204, 1204, + /* 90 */ 1204, 1204, 1204, 1204, 1204, 1204, 1204, -71, -47, -47, + /* 100 */ -47, -47, -47, -6, 88, -66, 23, 458, 505, 468, + /* 110 */ 468, 23, 201, 343, -58, -72, -72, -72, 11, 11, + /* 120 */ 11, 412, 412, 341, 537, 605, 23, 23, 23, 23, + /* 130 */ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + /* 140 */ 23, 23, 23, 23, 23, 23, 635, 298, 74, 74, + /* 150 */ 343, -1, -1, -1, -1, -1, -1, -72, -72, -72, + /* 160 */ 228, 101, 101, 203, 75, 71, 273, 284, 345, 23, + /* 170 */ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + /* 180 */ 23, 23, 23, 23, 23, 23, 421, 421, 421, 23, + /* 190 */ 23, 582, 23, 23, 23, 356, 23, 23, 585, 23, + /* 200 */ 23, 23, 23, 23, 23, 23, 23, 23, 23, 568, + /* 210 */ 575, 456, 456, 456, 704, 171, 645, 674, 858, 590, + /* 220 */ 590, 914, 858, 914, 370, 963, 886, 948, 590, 425, + /* 230 */ 948, 948, 864, 641, 527, 1196, 1115, 1115, 1197, 1197, + /* 240 */ 1115, 1221, 1179, 1125, 1240, 1240, 1240, 1240, 1115, 1244, + /* 250 */ 1125, 1221, 1179, 1179, 1125, 1115, 1244, 1137, 1233, 1115, + /* 260 */ 1115, 1244, 1265, 1115, 1244, 1115, 1244, 1265, 1199, 1199, + /* 270 */ 1199, 1262, 1265, 1199, 1206, 1199, 1262, 1199, 1199, 1192, + /* 280 */ 1216, 1192, 1216, 1192, 1216, 1192, 1216, 1115, 1115, 1195, + /* 290 */ 1265, 1246, 1246, 1265, 1214, 1218, 1223, 1219, 1125, 1332, + /* 300 */ 1338, 1358, 1358, 1368, 1368, 1368, 1368, -72, -72, -72, + /* 310 */ -72, -72, -72, -72, -72, 400, 623, 742, 816, 658, + /* 320 */ 697, 227, 1012, 664, 1013, 1014, 1018, 1026, 1051, 891, + /* 330 */ 1021, 1040, 1068, 1084, 1066, 1139, 910, 954, 1154, 1088, + /* 340 */ 978, 1380, 1382, 1364, 1255, 1373, 1333, 1386, 1381, 1383, + /* 350 */ 1283, 1274, 1296, 1285, 1389, 1287, 1394, 1412, 1291, 1284, + /* 360 */ 1337, 1340, 1306, 1392, 1387, 1302, 1424, 1421, 1405, 1321, + /* 370 */ 1289, 1376, 1406, 1377, 1372, 1390, 1328, 1413, 1416, 1419, + /* 380 */ 1327, 1335, 1420, 1388, 1422, 1423, 1425, 1427, 1393, 1417, + /* 390 */ 1428, 1398, 1403, 1429, 1430, 1431, 1339, 1434, 1435, 1437, + /* 400 */ 1436, 1341, 1438, 1441, 1432, 1439, 1443, 1342, 1442, 1440, + /* 410 */ 1444, 1445, 1442, 1448, 1449, 1450, 1451, 1455, 1452, 1446, + /* 420 */ 1456, 1458, 1459, 1460, 1461, 1463, 1464, 1460, 1466, 1465, + /* 430 */ 1467, 1469, 1471, 1345, 1360, 1369, 1375, 1472, 1479, 1497, }; #define YY_REDUCE_USE_DFLT (-144) -#define YY_REDUCE_COUNT (310) +#define YY_REDUCE_COUNT (314) #define YY_REDUCE_MIN (-143) -#define YY_REDUCE_MAX (1235) +#define YY_REDUCE_MAX (1231) static const short yy_reduce_ofst[] = { - /* 0 */ -143, 954, 86, 21, -50, 23, 79, 134, 226, -120, - /* 10 */ -127, 146, 161, 291, 349, 366, 311, 382, 374, 231, - /* 20 */ 364, 367, 396, 398, 236, 317, -103, -103, -103, -103, - /* 30 */ -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - /* 40 */ -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, - /* 50 */ -103, -103, -103, -103, -103, 460, 503, 567, 569, 572, - /* 60 */ 577, 580, 582, 584, 587, 593, 631, 644, 646, 649, - /* 70 */ 655, 657, 659, 661, 664, 670, 708, 720, 759, 771, - /* 80 */ 810, 822, 861, 873, 912, 930, 947, 950, 957, 959, - /* 90 */ 963, 966, 968, 998, 1005, 1013, 1022, 1025, -103, -103, - /* 100 */ -103, -103, -103, -103, -103, -103, -103, 474, 212, 15, - /* 110 */ 498, 222, 511, -103, 97, 557, -103, -103, -103, -103, - /* 120 */ -80, 9, 59, 19, 294, 294, -53, -62, 690, 691, - /* 130 */ 735, 737, 740, 744, 133, 310, 148, 330, 160, 380, - /* 140 */ 786, 788, 401, 296, 789, 733, 85, 722, -42, 324, - /* 150 */ 508, 784, 828, 829, 830, 678, 713, 407, 69, 150, - /* 160 */ 194, 188, 289, 301, 403, 461, 485, 568, 617, 673, - /* 170 */ 724, 779, 792, 824, 831, 837, 842, 846, 848, 881, - /* 180 */ 892, 900, 931, 936, 446, 910, 911, 944, 949, 901, - /* 190 */ 955, 967, 978, 923, 992, 993, 956, 996, 999, 1010, - /* 200 */ 289, 1018, 1033, 1043, 1046, 1049, 1056, 934, 973, 997, - /* 210 */ 1000, 1002, 901, 1012, 1019, 1060, 1014, 1004, 1020, 975, - /* 220 */ 1024, 976, 1040, 1035, 1047, 1045, 1021, 1007, 1051, 1053, - /* 230 */ 1031, 1034, 1083, 1026, 1082, 1084, 1008, 1009, 1089, 1036, - /* 240 */ 1068, 1059, 1069, 1071, 1072, 1073, 1105, 1111, 1076, 1050, - /* 250 */ 1080, 1090, 1079, 1115, 1117, 1058, 1048, 1128, 1138, 1140, - /* 260 */ 1124, 1145, 1148, 1149, 1151, 1131, 1135, 1137, 1141, 1130, - /* 270 */ 1142, 1143, 1144, 1147, 1134, 1150, 1152, 1106, 1112, 1113, - /* 280 */ 1116, 1114, 1125, 1123, 1127, 1171, 1175, 1119, 1164, 1120, - /* 290 */ 1121, 1166, 1146, 1155, 1157, 1160, 1167, 1211, 1214, 1224, - /* 300 */ 1225, 1232, 1233, 1234, 1235, 1132, 1153, 1133, 1201, 1208, - /* 310 */ 1228, + /* 0 */ -143, 949, 136, 131, -48, -45, 158, 241, 22, 153, + /* 10 */ 226, 163, 362, 364, 366, 312, 314, 368, 237, 236, + /* 20 */ 300, 440, 114, 359, 319, 100, 100, 100, 100, 100, + /* 30 */ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + /* 40 */ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, + /* 50 */ 100, 100, 100, 100, 374, 447, 461, 516, 518, 567, + /* 60 */ 569, 572, 574, 579, 581, 583, 586, 596, 631, 644, + /* 70 */ 646, 649, 657, 659, 661, 663, 671, 708, 720, 722, + /* 80 */ 759, 771, 773, 810, 822, 824, 861, 873, 875, 930, + /* 90 */ 944, 947, 952, 957, 959, 961, 997, 100, 100, 100, + /* 100 */ 100, 100, 100, 100, 100, 100, 486, -108, -83, 224, + /* 110 */ 286, 451, 100, 681, 100, 100, 100, 100, 354, 354, + /* 120 */ 354, 337, 352, 49, 482, 482, 503, 532, -60, 615, + /* 130 */ 647, 689, 690, 737, 782, -62, 517, 789, 474, 795, + /* 140 */ 580, 733, 32, 662, 488, 139, 678, 433, 769, 772, + /* 150 */ 396, 728, 887, 942, 955, 965, 977, 740, 766, 178, + /* 160 */ -46, -17, 59, 53, 118, 141, 167, 248, 255, 326, + /* 170 */ 441, 464, 519, 668, 693, 721, 736, 744, 775, 788, + /* 180 */ 846, 899, 912, 936, 983, 985, 72, 134, 542, 990, + /* 190 */ 991, 597, 992, 998, 1020, 871, 1022, 1027, 915, 1029, + /* 200 */ 1030, 1034, 118, 1035, 1036, 1043, 1044, 1045, 1046, 931, + /* 210 */ 967, 999, 1000, 1001, 597, 1003, 1009, 1058, 1011, 987, + /* 220 */ 1002, 976, 1016, 981, 1039, 1037, 1038, 1047, 1006, 1004, + /* 230 */ 1052, 1053, 1033, 1031, 1079, 994, 1080, 1081, 1005, 1010, + /* 240 */ 1082, 1028, 1062, 1055, 1067, 1071, 1072, 1073, 1101, 1108, + /* 250 */ 1069, 1048, 1078, 1083, 1074, 1110, 1113, 1041, 1049, 1122, + /* 260 */ 1123, 1126, 1118, 1138, 1140, 1144, 1141, 1127, 1133, 1134, + /* 270 */ 1135, 1129, 1136, 1142, 1143, 1146, 1132, 1147, 1148, 1102, + /* 280 */ 1109, 1112, 1111, 1114, 1116, 1117, 1119, 1166, 1170, 1120, + /* 290 */ 1158, 1121, 1124, 1165, 1145, 1149, 1155, 1159, 1161, 1201, + /* 300 */ 1209, 1220, 1222, 1225, 1226, 1227, 1228, 1151, 1152, 1150, + /* 310 */ 1215, 1217, 1203, 1205, 1231, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 982, 1300, 1300, 1300, 1214, 1214, 1214, 1305, 1300, 1109, - /* 10 */ 1138, 1138, 1274, 1305, 1305, 1305, 1305, 1305, 1305, 1212, - /* 20 */ 1305, 1305, 1305, 1300, 1305, 1113, 1144, 1305, 1305, 1305, - /* 30 */ 1305, 1305, 1305, 1305, 1305, 1273, 1275, 1152, 1151, 1254, - /* 40 */ 1125, 1149, 1142, 1146, 1215, 1208, 1209, 1207, 1211, 1216, - /* 50 */ 1305, 1145, 1177, 1192, 1176, 1305, 1305, 1305, 1305, 1305, - /* 60 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 70 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 80 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 90 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1186, 1191, - /* 100 */ 1198, 1190, 1187, 1179, 1178, 1180, 1181, 1305, 1305, 1008, - /* 110 */ 1074, 1305, 1305, 1182, 1305, 1020, 1183, 1195, 1194, 1193, - /* 120 */ 1015, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 130 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 140 */ 1305, 1305, 1305, 1305, 1305, 982, 1300, 1305, 1305, 1300, - /* 150 */ 1300, 1300, 1300, 1300, 1300, 1292, 1113, 1103, 1305, 1305, - /* 160 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1280, 1278, - /* 170 */ 1305, 1227, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 180 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 190 */ 1305, 1305, 1305, 1109, 1305, 1305, 1305, 1305, 1305, 1305, - /* 200 */ 1305, 1305, 1305, 1305, 1305, 1305, 988, 1305, 1247, 1109, - /* 210 */ 1109, 1109, 1111, 1089, 1101, 990, 1148, 1127, 1127, 1259, - /* 220 */ 1148, 1259, 1045, 1068, 1042, 1138, 1127, 1210, 1138, 1138, - /* 230 */ 1110, 1101, 1305, 1285, 1118, 1118, 1277, 1277, 1118, 1157, - /* 240 */ 1078, 1148, 1085, 1085, 1085, 1085, 1118, 1005, 1148, 1157, - /* 250 */ 1078, 1078, 1148, 1118, 1005, 1253, 1251, 1118, 1118, 1005, - /* 260 */ 1220, 1118, 1005, 1118, 1005, 1220, 1076, 1076, 1076, 1060, - /* 270 */ 1220, 1076, 1045, 1076, 1060, 1076, 1076, 1131, 1126, 1131, - /* 280 */ 1126, 1131, 1126, 1131, 1126, 1118, 1118, 1305, 1220, 1224, - /* 290 */ 1224, 1220, 1143, 1132, 1141, 1139, 1148, 1011, 1063, 998, - /* 300 */ 998, 987, 987, 987, 987, 1297, 1297, 1292, 1047, 1047, - /* 310 */ 1030, 1305, 1305, 1305, 1305, 1305, 1305, 1022, 1305, 1229, - /* 320 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 330 */ 1305, 1305, 1305, 1305, 1305, 1305, 1164, 1305, 983, 1287, - /* 340 */ 1305, 1305, 1284, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 350 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 360 */ 1305, 1257, 1305, 1305, 1305, 1305, 1305, 1305, 1250, 1249, - /* 370 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 380 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, - /* 390 */ 1305, 1305, 1092, 1305, 1305, 1305, 1096, 1305, 1305, 1305, - /* 400 */ 1305, 1305, 1305, 1305, 1140, 1305, 1133, 1305, 1213, 1305, - /* 410 */ 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1305, 1302, - /* 420 */ 1305, 1305, 1305, 1301, 1305, 1305, 1305, 1305, 1305, 1166, - /* 430 */ 1305, 1165, 1169, 1305, 996, 1305, + /* 0 */ 1250, 1240, 1240, 1240, 1174, 1174, 1174, 1240, 1071, 1100, + /* 10 */ 1100, 1224, 1301, 1301, 1301, 1301, 1301, 1301, 1173, 1301, + /* 20 */ 1301, 1301, 1301, 1240, 1075, 1106, 1301, 1301, 1301, 1301, + /* 30 */ 1301, 1301, 1301, 1301, 1223, 1225, 1114, 1113, 1206, 1087, + /* 40 */ 1111, 1104, 1108, 1175, 1169, 1170, 1168, 1172, 1176, 1301, + /* 50 */ 1107, 1138, 1153, 1137, 1301, 1301, 1301, 1301, 1301, 1301, + /* 60 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 70 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 80 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 90 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1147, 1152, 1159, + /* 100 */ 1151, 1148, 1140, 1139, 1141, 1142, 1301, 994, 1042, 1301, + /* 110 */ 1301, 1301, 1143, 1301, 1144, 1156, 1155, 1154, 1231, 1258, + /* 120 */ 1257, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 130 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 140 */ 1301, 1301, 1301, 1301, 1301, 1301, 1250, 1240, 1000, 1000, + /* 150 */ 1301, 1240, 1240, 1240, 1240, 1240, 1240, 1236, 1075, 1066, + /* 160 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 170 */ 1228, 1226, 1301, 1187, 1301, 1301, 1301, 1301, 1301, 1301, + /* 180 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 190 */ 1301, 1301, 1301, 1301, 1301, 1071, 1301, 1301, 1301, 1301, + /* 200 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1252, 1301, + /* 210 */ 1201, 1071, 1071, 1071, 1073, 1055, 1065, 979, 1110, 1089, + /* 220 */ 1089, 1290, 1110, 1290, 1017, 1272, 1014, 1100, 1089, 1171, + /* 230 */ 1100, 1100, 1072, 1065, 1301, 1293, 1080, 1080, 1292, 1292, + /* 240 */ 1080, 1119, 1045, 1110, 1051, 1051, 1051, 1051, 1080, 991, + /* 250 */ 1110, 1119, 1045, 1045, 1110, 1080, 991, 1205, 1287, 1080, + /* 260 */ 1080, 991, 1180, 1080, 991, 1080, 991, 1180, 1043, 1043, + /* 270 */ 1043, 1032, 1180, 1043, 1017, 1043, 1032, 1043, 1043, 1093, + /* 280 */ 1088, 1093, 1088, 1093, 1088, 1093, 1088, 1080, 1080, 1301, + /* 290 */ 1180, 1184, 1184, 1180, 1105, 1094, 1103, 1101, 1110, 997, + /* 300 */ 1035, 1255, 1255, 1251, 1251, 1251, 1251, 1298, 1298, 1236, + /* 310 */ 1267, 1267, 1019, 1019, 1267, 1301, 1301, 1301, 1301, 1301, + /* 320 */ 1301, 1262, 1301, 1189, 1301, 1301, 1301, 1301, 1301, 1301, + /* 330 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 340 */ 1125, 1301, 975, 1233, 1301, 1301, 1232, 1301, 1301, 1301, + /* 350 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 360 */ 1301, 1301, 1301, 1301, 1301, 1289, 1301, 1301, 1301, 1301, + /* 370 */ 1301, 1301, 1204, 1203, 1301, 1301, 1301, 1301, 1301, 1301, + /* 380 */ 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 390 */ 1301, 1301, 1301, 1301, 1301, 1301, 1057, 1301, 1301, 1301, + /* 400 */ 1276, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1102, 1301, + /* 410 */ 1095, 1301, 1280, 1301, 1301, 1301, 1301, 1301, 1301, 1301, + /* 420 */ 1301, 1301, 1301, 1242, 1301, 1301, 1301, 1241, 1301, 1301, + /* 430 */ 1301, 1301, 1301, 1127, 1301, 1126, 1130, 1301, 985, 1301, }; /********** End of lemon-generated parsing tables *****************************/ @@ -128803,7 +129201,9 @@ struct yyParser { #ifdef YYTRACKMAXSTACKDEPTH int yyidxMax; /* Maximum value of yyidx */ #endif +#ifndef YYNOERRORRECOVERY int yyerrcnt; /* Shifts left before out of the error */ +#endif sqlite3ParserARG_SDECL /* A place to hold %extra_argument */ #if YYSTACKDEPTH<=0 int yystksz; /* Current side of the stack */ @@ -128891,28 +129291,28 @@ static const char *const yyTokenName[] = { "nm", "savepoint_opt", "create_table", "create_table_args", "createkw", "temp", "ifnotexists", "dbnm", "columnlist", "conslist_opt", "table_options", "select", - "column", "columnid", "type", "carglist", - "typetoken", "typename", "signed", "plus_num", - "minus_num", "ccons", "term", "expr", - "onconf", "sortorder", "autoinc", "eidlist_opt", - "refargs", "defer_subclause", "refarg", "refact", - "init_deferred_pred_opt", "conslist", "tconscomma", "tcons", - "sortlist", "eidlist", "defer_subclause_opt", "orconf", - "resolvetype", "raisetype", "ifexists", "fullname", - "selectnowith", "oneselect", "with", "multiselect_op", - "distinct", "selcollist", "from", "where_opt", - "groupby_opt", "having_opt", "orderby_opt", "limit_opt", - "values", "nexprlist", "exprlist", "sclp", - "as", "seltablist", "stl_prefix", "joinop", - "indexed_opt", "on_opt", "using_opt", "idlist", - "setlist", "insert_cmd", "idlist_opt", "likeop", - "between_op", "in_op", "case_operand", "case_exprlist", - "case_else", "uniqueflag", "collate", "nmnum", - "trigger_decl", "trigger_cmd_list", "trigger_time", "trigger_event", - "foreach_clause", "when_clause", "trigger_cmd", "trnm", - "tridxby", "database_kw_opt", "key_opt", "add_column_fullname", - "kwcolumn_opt", "create_vtab", "vtabarglist", "vtabarg", - "vtabargtoken", "lp", "anylist", "wqlist", + "columnname", "carglist", "typetoken", "typename", + "signed", "plus_num", "minus_num", "ccons", + "term", "expr", "onconf", "sortorder", + "autoinc", "eidlist_opt", "refargs", "defer_subclause", + "refarg", "refact", "init_deferred_pred_opt", "conslist", + "tconscomma", "tcons", "sortlist", "eidlist", + "defer_subclause_opt", "orconf", "resolvetype", "raisetype", + "ifexists", "fullname", "selectnowith", "oneselect", + "with", "multiselect_op", "distinct", "selcollist", + "from", "where_opt", "groupby_opt", "having_opt", + "orderby_opt", "limit_opt", "values", "nexprlist", + "exprlist", "sclp", "as", "seltablist", + "stl_prefix", "joinop", "indexed_opt", "on_opt", + "using_opt", "idlist", "setlist", "insert_cmd", + "idlist_opt", "likeop", "between_op", "in_op", + "case_operand", "case_exprlist", "case_else", "uniqueflag", + "collate", "nmnum", "trigger_decl", "trigger_cmd_list", + "trigger_time", "trigger_event", "foreach_clause", "when_clause", + "trigger_cmd", "trnm", "tridxby", "database_kw_opt", + "key_opt", "add_column_fullname", "kwcolumn_opt", "create_vtab", + "vtabarglist", "vtabarg", "vtabargtoken", "lp", + "anylist", "wqlist", }; #endif /* NDEBUG */ @@ -128920,334 +129320,332 @@ static const char *const yyTokenName[] = { /* For tracing reduce actions, the names of all rules are required. */ static const char *const yyRuleName[] = { - /* 0 */ "input ::= cmdlist", - /* 1 */ "cmdlist ::= cmdlist ecmd", - /* 2 */ "cmdlist ::= ecmd", - /* 3 */ "ecmd ::= SEMI", - /* 4 */ "ecmd ::= explain cmdx SEMI", - /* 5 */ "explain ::=", - /* 6 */ "explain ::= EXPLAIN", - /* 7 */ "explain ::= EXPLAIN QUERY PLAN", - /* 8 */ "cmdx ::= cmd", - /* 9 */ "cmd ::= BEGIN transtype trans_opt", - /* 10 */ "trans_opt ::=", - /* 11 */ "trans_opt ::= TRANSACTION", - /* 12 */ "trans_opt ::= TRANSACTION nm", - /* 13 */ "transtype ::=", - /* 14 */ "transtype ::= DEFERRED", - /* 15 */ "transtype ::= IMMEDIATE", - /* 16 */ "transtype ::= EXCLUSIVE", - /* 17 */ "cmd ::= COMMIT trans_opt", - /* 18 */ "cmd ::= END trans_opt", - /* 19 */ "cmd ::= ROLLBACK trans_opt", - /* 20 */ "savepoint_opt ::= SAVEPOINT", - /* 21 */ "savepoint_opt ::=", - /* 22 */ "cmd ::= SAVEPOINT nm", - /* 23 */ "cmd ::= RELEASE savepoint_opt nm", - /* 24 */ "cmd ::= ROLLBACK trans_opt TO savepoint_opt nm", - /* 25 */ "cmd ::= create_table create_table_args", - /* 26 */ "create_table ::= createkw temp TABLE ifnotexists nm dbnm", - /* 27 */ "createkw ::= CREATE", - /* 28 */ "ifnotexists ::=", - /* 29 */ "ifnotexists ::= IF NOT EXISTS", - /* 30 */ "temp ::= TEMP", - /* 31 */ "temp ::=", - /* 32 */ "create_table_args ::= LP columnlist conslist_opt RP table_options", - /* 33 */ "create_table_args ::= AS select", - /* 34 */ "table_options ::=", - /* 35 */ "table_options ::= WITHOUT nm", - /* 36 */ "columnlist ::= columnlist COMMA column", - /* 37 */ "columnlist ::= column", - /* 38 */ "column ::= columnid type carglist", - /* 39 */ "columnid ::= nm", - /* 40 */ "nm ::= ID|INDEXED", - /* 41 */ "nm ::= STRING", - /* 42 */ "nm ::= JOIN_KW", - /* 43 */ "type ::=", - /* 44 */ "type ::= typetoken", - /* 45 */ "typetoken ::= typename", - /* 46 */ "typetoken ::= typename LP signed RP", - /* 47 */ "typetoken ::= typename LP signed COMMA signed RP", - /* 48 */ "typename ::= ID|STRING", - /* 49 */ "typename ::= typename ID|STRING", - /* 50 */ "signed ::= plus_num", - /* 51 */ "signed ::= minus_num", - /* 52 */ "carglist ::= carglist ccons", - /* 53 */ "carglist ::=", - /* 54 */ "ccons ::= CONSTRAINT nm", - /* 55 */ "ccons ::= DEFAULT term", - /* 56 */ "ccons ::= DEFAULT LP expr RP", - /* 57 */ "ccons ::= DEFAULT PLUS term", - /* 58 */ "ccons ::= DEFAULT MINUS term", - /* 59 */ "ccons ::= DEFAULT ID|INDEXED", - /* 60 */ "ccons ::= NULL onconf", - /* 61 */ "ccons ::= NOT NULL onconf", - /* 62 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", - /* 63 */ "ccons ::= UNIQUE onconf", - /* 64 */ "ccons ::= CHECK LP expr RP", - /* 65 */ "ccons ::= REFERENCES nm eidlist_opt refargs", - /* 66 */ "ccons ::= defer_subclause", - /* 67 */ "ccons ::= COLLATE ID|STRING", - /* 68 */ "autoinc ::=", - /* 69 */ "autoinc ::= AUTOINCR", - /* 70 */ "refargs ::=", - /* 71 */ "refargs ::= refargs refarg", - /* 72 */ "refarg ::= MATCH nm", - /* 73 */ "refarg ::= ON INSERT refact", - /* 74 */ "refarg ::= ON DELETE refact", - /* 75 */ "refarg ::= ON UPDATE refact", - /* 76 */ "refact ::= SET NULL", - /* 77 */ "refact ::= SET DEFAULT", - /* 78 */ "refact ::= CASCADE", - /* 79 */ "refact ::= RESTRICT", - /* 80 */ "refact ::= NO ACTION", - /* 81 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", - /* 82 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", - /* 83 */ "init_deferred_pred_opt ::=", - /* 84 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", - /* 85 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", - /* 86 */ "conslist_opt ::=", - /* 87 */ "conslist_opt ::= COMMA conslist", - /* 88 */ "conslist ::= conslist tconscomma tcons", - /* 89 */ "conslist ::= tcons", - /* 90 */ "tconscomma ::= COMMA", - /* 91 */ "tconscomma ::=", - /* 92 */ "tcons ::= CONSTRAINT nm", - /* 93 */ "tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf", - /* 94 */ "tcons ::= UNIQUE LP sortlist RP onconf", - /* 95 */ "tcons ::= CHECK LP expr RP onconf", - /* 96 */ "tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt", - /* 97 */ "defer_subclause_opt ::=", - /* 98 */ "defer_subclause_opt ::= defer_subclause", - /* 99 */ "onconf ::=", - /* 100 */ "onconf ::= ON CONFLICT resolvetype", - /* 101 */ "orconf ::=", - /* 102 */ "orconf ::= OR resolvetype", - /* 103 */ "resolvetype ::= raisetype", - /* 104 */ "resolvetype ::= IGNORE", - /* 105 */ "resolvetype ::= REPLACE", - /* 106 */ "cmd ::= DROP TABLE ifexists fullname", - /* 107 */ "ifexists ::= IF EXISTS", - /* 108 */ "ifexists ::=", - /* 109 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select", - /* 110 */ "cmd ::= DROP VIEW ifexists fullname", - /* 111 */ "cmd ::= select", - /* 112 */ "select ::= with selectnowith", - /* 113 */ "selectnowith ::= oneselect", - /* 114 */ "selectnowith ::= selectnowith multiselect_op oneselect", - /* 115 */ "multiselect_op ::= UNION", - /* 116 */ "multiselect_op ::= UNION ALL", - /* 117 */ "multiselect_op ::= EXCEPT|INTERSECT", - /* 118 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", - /* 119 */ "oneselect ::= values", - /* 120 */ "values ::= VALUES LP nexprlist RP", - /* 121 */ "values ::= values COMMA LP exprlist RP", - /* 122 */ "distinct ::= DISTINCT", - /* 123 */ "distinct ::= ALL", - /* 124 */ "distinct ::=", - /* 125 */ "sclp ::= selcollist COMMA", - /* 126 */ "sclp ::=", - /* 127 */ "selcollist ::= sclp expr as", - /* 128 */ "selcollist ::= sclp STAR", - /* 129 */ "selcollist ::= sclp nm DOT STAR", - /* 130 */ "as ::= AS nm", - /* 131 */ "as ::= ID|STRING", - /* 132 */ "as ::=", - /* 133 */ "from ::=", - /* 134 */ "from ::= FROM seltablist", - /* 135 */ "stl_prefix ::= seltablist joinop", - /* 136 */ "stl_prefix ::=", - /* 137 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", - /* 138 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", - /* 139 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", - /* 140 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", - /* 141 */ "dbnm ::=", - /* 142 */ "dbnm ::= DOT nm", - /* 143 */ "fullname ::= nm dbnm", - /* 144 */ "joinop ::= COMMA|JOIN", - /* 145 */ "joinop ::= JOIN_KW JOIN", - /* 146 */ "joinop ::= JOIN_KW nm JOIN", - /* 147 */ "joinop ::= JOIN_KW nm nm JOIN", - /* 148 */ "on_opt ::= ON expr", - /* 149 */ "on_opt ::=", - /* 150 */ "indexed_opt ::=", - /* 151 */ "indexed_opt ::= INDEXED BY nm", - /* 152 */ "indexed_opt ::= NOT INDEXED", - /* 153 */ "using_opt ::= USING LP idlist RP", - /* 154 */ "using_opt ::=", - /* 155 */ "orderby_opt ::=", - /* 156 */ "orderby_opt ::= ORDER BY sortlist", - /* 157 */ "sortlist ::= sortlist COMMA expr sortorder", - /* 158 */ "sortlist ::= expr sortorder", - /* 159 */ "sortorder ::= ASC", - /* 160 */ "sortorder ::= DESC", - /* 161 */ "sortorder ::=", - /* 162 */ "groupby_opt ::=", - /* 163 */ "groupby_opt ::= GROUP BY nexprlist", - /* 164 */ "having_opt ::=", - /* 165 */ "having_opt ::= HAVING expr", - /* 166 */ "limit_opt ::=", - /* 167 */ "limit_opt ::= LIMIT expr", - /* 168 */ "limit_opt ::= LIMIT expr OFFSET expr", - /* 169 */ "limit_opt ::= LIMIT expr COMMA expr", - /* 170 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", - /* 171 */ "where_opt ::=", - /* 172 */ "where_opt ::= WHERE expr", - /* 173 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", - /* 174 */ "setlist ::= setlist COMMA nm EQ expr", - /* 175 */ "setlist ::= nm EQ expr", - /* 176 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", - /* 177 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", - /* 178 */ "insert_cmd ::= INSERT orconf", - /* 179 */ "insert_cmd ::= REPLACE", - /* 180 */ "idlist_opt ::=", - /* 181 */ "idlist_opt ::= LP idlist RP", - /* 182 */ "idlist ::= idlist COMMA nm", - /* 183 */ "idlist ::= nm", - /* 184 */ "expr ::= term", - /* 185 */ "expr ::= LP expr RP", - /* 186 */ "term ::= NULL", - /* 187 */ "expr ::= ID|INDEXED", - /* 188 */ "expr ::= JOIN_KW", - /* 189 */ "expr ::= nm DOT nm", - /* 190 */ "expr ::= nm DOT nm DOT nm", - /* 191 */ "term ::= INTEGER|FLOAT|BLOB", - /* 192 */ "term ::= STRING", - /* 193 */ "expr ::= VARIABLE", - /* 194 */ "expr ::= expr COLLATE ID|STRING", - /* 195 */ "expr ::= CAST LP expr AS typetoken RP", - /* 196 */ "expr ::= ID|INDEXED LP distinct exprlist RP", - /* 197 */ "expr ::= ID|INDEXED LP STAR RP", - /* 198 */ "term ::= CTIME_KW", - /* 199 */ "expr ::= expr AND expr", - /* 200 */ "expr ::= expr OR expr", - /* 201 */ "expr ::= expr LT|GT|GE|LE expr", - /* 202 */ "expr ::= expr EQ|NE expr", - /* 203 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 204 */ "expr ::= expr PLUS|MINUS expr", - /* 205 */ "expr ::= expr STAR|SLASH|REM expr", - /* 206 */ "expr ::= expr CONCAT expr", - /* 207 */ "likeop ::= LIKE_KW|MATCH", - /* 208 */ "likeop ::= NOT LIKE_KW|MATCH", - /* 209 */ "expr ::= expr likeop expr", - /* 210 */ "expr ::= expr likeop expr ESCAPE expr", - /* 211 */ "expr ::= expr ISNULL|NOTNULL", - /* 212 */ "expr ::= expr NOT NULL", - /* 213 */ "expr ::= expr IS expr", - /* 214 */ "expr ::= expr IS NOT expr", - /* 215 */ "expr ::= NOT expr", - /* 216 */ "expr ::= BITNOT expr", - /* 217 */ "expr ::= MINUS expr", - /* 218 */ "expr ::= PLUS expr", - /* 219 */ "between_op ::= BETWEEN", - /* 220 */ "between_op ::= NOT BETWEEN", - /* 221 */ "expr ::= expr between_op expr AND expr", - /* 222 */ "in_op ::= IN", - /* 223 */ "in_op ::= NOT IN", - /* 224 */ "expr ::= expr in_op LP exprlist RP", - /* 225 */ "expr ::= LP select RP", - /* 226 */ "expr ::= expr in_op LP select RP", - /* 227 */ "expr ::= expr in_op nm dbnm", - /* 228 */ "expr ::= EXISTS LP select RP", - /* 229 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 230 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 231 */ "case_exprlist ::= WHEN expr THEN expr", - /* 232 */ "case_else ::= ELSE expr", - /* 233 */ "case_else ::=", - /* 234 */ "case_operand ::= expr", - /* 235 */ "case_operand ::=", - /* 236 */ "exprlist ::= nexprlist", - /* 237 */ "exprlist ::=", - /* 238 */ "nexprlist ::= nexprlist COMMA expr", - /* 239 */ "nexprlist ::= expr", - /* 240 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", - /* 241 */ "uniqueflag ::= UNIQUE", - /* 242 */ "uniqueflag ::=", - /* 243 */ "eidlist_opt ::=", - /* 244 */ "eidlist_opt ::= LP eidlist RP", - /* 245 */ "eidlist ::= eidlist COMMA nm collate sortorder", - /* 246 */ "eidlist ::= nm collate sortorder", - /* 247 */ "collate ::=", - /* 248 */ "collate ::= COLLATE ID|STRING", - /* 249 */ "cmd ::= DROP INDEX ifexists fullname", - /* 250 */ "cmd ::= VACUUM", - /* 251 */ "cmd ::= VACUUM nm", - /* 252 */ "cmd ::= PRAGMA nm dbnm", - /* 253 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 254 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 255 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 256 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 257 */ "nmnum ::= plus_num", - /* 258 */ "nmnum ::= nm", - /* 259 */ "nmnum ::= ON", - /* 260 */ "nmnum ::= DELETE", - /* 261 */ "nmnum ::= DEFAULT", - /* 262 */ "plus_num ::= PLUS INTEGER|FLOAT", - /* 263 */ "plus_num ::= INTEGER|FLOAT", - /* 264 */ "minus_num ::= MINUS INTEGER|FLOAT", - /* 265 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 266 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 267 */ "trigger_time ::= BEFORE", - /* 268 */ "trigger_time ::= AFTER", - /* 269 */ "trigger_time ::= INSTEAD OF", - /* 270 */ "trigger_time ::=", - /* 271 */ "trigger_event ::= DELETE|INSERT", - /* 272 */ "trigger_event ::= UPDATE", - /* 273 */ "trigger_event ::= UPDATE OF idlist", - /* 274 */ "foreach_clause ::=", - /* 275 */ "foreach_clause ::= FOR EACH ROW", - /* 276 */ "when_clause ::=", - /* 277 */ "when_clause ::= WHEN expr", - /* 278 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 279 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 280 */ "trnm ::= nm", - /* 281 */ "trnm ::= nm DOT nm", - /* 282 */ "tridxby ::=", - /* 283 */ "tridxby ::= INDEXED BY nm", - /* 284 */ "tridxby ::= NOT INDEXED", - /* 285 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", - /* 286 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", - /* 287 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", - /* 288 */ "trigger_cmd ::= select", - /* 289 */ "expr ::= RAISE LP IGNORE RP", - /* 290 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 291 */ "raisetype ::= ROLLBACK", - /* 292 */ "raisetype ::= ABORT", - /* 293 */ "raisetype ::= FAIL", - /* 294 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 295 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 296 */ "cmd ::= DETACH database_kw_opt expr", - /* 297 */ "key_opt ::=", - /* 298 */ "key_opt ::= KEY expr", - /* 299 */ "database_kw_opt ::= DATABASE", - /* 300 */ "database_kw_opt ::=", - /* 301 */ "cmd ::= REINDEX", - /* 302 */ "cmd ::= REINDEX nm dbnm", - /* 303 */ "cmd ::= ANALYZE", - /* 304 */ "cmd ::= ANALYZE nm dbnm", - /* 305 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 306 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column", - /* 307 */ "add_column_fullname ::= fullname", - /* 308 */ "kwcolumn_opt ::=", - /* 309 */ "kwcolumn_opt ::= COLUMNKW", - /* 310 */ "cmd ::= create_vtab", - /* 311 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 312 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 313 */ "vtabarglist ::= vtabarg", - /* 314 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 315 */ "vtabarg ::=", - /* 316 */ "vtabarg ::= vtabarg vtabargtoken", - /* 317 */ "vtabargtoken ::= ANY", - /* 318 */ "vtabargtoken ::= lp anylist RP", - /* 319 */ "lp ::= LP", - /* 320 */ "anylist ::=", - /* 321 */ "anylist ::= anylist LP anylist RP", - /* 322 */ "anylist ::= anylist ANY", - /* 323 */ "with ::=", - /* 324 */ "with ::= WITH wqlist", - /* 325 */ "with ::= WITH RECURSIVE wqlist", - /* 326 */ "wqlist ::= nm eidlist_opt AS LP select RP", - /* 327 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", + /* 0 */ "explain ::= EXPLAIN", + /* 1 */ "explain ::= EXPLAIN QUERY PLAN", + /* 2 */ "cmdx ::= cmd", + /* 3 */ "cmd ::= BEGIN transtype trans_opt", + /* 4 */ "transtype ::=", + /* 5 */ "transtype ::= DEFERRED", + /* 6 */ "transtype ::= IMMEDIATE", + /* 7 */ "transtype ::= EXCLUSIVE", + /* 8 */ "cmd ::= COMMIT trans_opt", + /* 9 */ "cmd ::= END trans_opt", + /* 10 */ "cmd ::= ROLLBACK trans_opt", + /* 11 */ "cmd ::= SAVEPOINT nm", + /* 12 */ "cmd ::= RELEASE savepoint_opt nm", + /* 13 */ "cmd ::= ROLLBACK trans_opt TO savepoint_opt nm", + /* 14 */ "create_table ::= createkw temp TABLE ifnotexists nm dbnm", + /* 15 */ "createkw ::= CREATE", + /* 16 */ "ifnotexists ::=", + /* 17 */ "ifnotexists ::= IF NOT EXISTS", + /* 18 */ "temp ::= TEMP", + /* 19 */ "temp ::=", + /* 20 */ "create_table_args ::= LP columnlist conslist_opt RP table_options", + /* 21 */ "create_table_args ::= AS select", + /* 22 */ "table_options ::=", + /* 23 */ "table_options ::= WITHOUT nm", + /* 24 */ "columnname ::= nm typetoken", + /* 25 */ "typetoken ::=", + /* 26 */ "typetoken ::= typename LP signed RP", + /* 27 */ "typetoken ::= typename LP signed COMMA signed RP", + /* 28 */ "typename ::= typename ID|STRING", + /* 29 */ "ccons ::= CONSTRAINT nm", + /* 30 */ "ccons ::= DEFAULT term", + /* 31 */ "ccons ::= DEFAULT LP expr RP", + /* 32 */ "ccons ::= DEFAULT PLUS term", + /* 33 */ "ccons ::= DEFAULT MINUS term", + /* 34 */ "ccons ::= DEFAULT ID|INDEXED", + /* 35 */ "ccons ::= NOT NULL onconf", + /* 36 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", + /* 37 */ "ccons ::= UNIQUE onconf", + /* 38 */ "ccons ::= CHECK LP expr RP", + /* 39 */ "ccons ::= REFERENCES nm eidlist_opt refargs", + /* 40 */ "ccons ::= defer_subclause", + /* 41 */ "ccons ::= COLLATE ID|STRING", + /* 42 */ "autoinc ::=", + /* 43 */ "autoinc ::= AUTOINCR", + /* 44 */ "refargs ::=", + /* 45 */ "refargs ::= refargs refarg", + /* 46 */ "refarg ::= MATCH nm", + /* 47 */ "refarg ::= ON INSERT refact", + /* 48 */ "refarg ::= ON DELETE refact", + /* 49 */ "refarg ::= ON UPDATE refact", + /* 50 */ "refact ::= SET NULL", + /* 51 */ "refact ::= SET DEFAULT", + /* 52 */ "refact ::= CASCADE", + /* 53 */ "refact ::= RESTRICT", + /* 54 */ "refact ::= NO ACTION", + /* 55 */ "defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt", + /* 56 */ "defer_subclause ::= DEFERRABLE init_deferred_pred_opt", + /* 57 */ "init_deferred_pred_opt ::=", + /* 58 */ "init_deferred_pred_opt ::= INITIALLY DEFERRED", + /* 59 */ "init_deferred_pred_opt ::= INITIALLY IMMEDIATE", + /* 60 */ "conslist_opt ::=", + /* 61 */ "tconscomma ::= COMMA", + /* 62 */ "tcons ::= CONSTRAINT nm", + /* 63 */ "tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf", + /* 64 */ "tcons ::= UNIQUE LP sortlist RP onconf", + /* 65 */ "tcons ::= CHECK LP expr RP onconf", + /* 66 */ "tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt", + /* 67 */ "defer_subclause_opt ::=", + /* 68 */ "onconf ::=", + /* 69 */ "onconf ::= ON CONFLICT resolvetype", + /* 70 */ "orconf ::=", + /* 71 */ "orconf ::= OR resolvetype", + /* 72 */ "resolvetype ::= IGNORE", + /* 73 */ "resolvetype ::= REPLACE", + /* 74 */ "cmd ::= DROP TABLE ifexists fullname", + /* 75 */ "ifexists ::= IF EXISTS", + /* 76 */ "ifexists ::=", + /* 77 */ "cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select", + /* 78 */ "cmd ::= DROP VIEW ifexists fullname", + /* 79 */ "cmd ::= select", + /* 80 */ "select ::= with selectnowith", + /* 81 */ "selectnowith ::= selectnowith multiselect_op oneselect", + /* 82 */ "multiselect_op ::= UNION", + /* 83 */ "multiselect_op ::= UNION ALL", + /* 84 */ "multiselect_op ::= EXCEPT|INTERSECT", + /* 85 */ "oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt", + /* 86 */ "values ::= VALUES LP nexprlist RP", + /* 87 */ "values ::= values COMMA LP exprlist RP", + /* 88 */ "distinct ::= DISTINCT", + /* 89 */ "distinct ::= ALL", + /* 90 */ "distinct ::=", + /* 91 */ "sclp ::=", + /* 92 */ "selcollist ::= sclp expr as", + /* 93 */ "selcollist ::= sclp STAR", + /* 94 */ "selcollist ::= sclp nm DOT STAR", + /* 95 */ "as ::= AS nm", + /* 96 */ "as ::=", + /* 97 */ "from ::=", + /* 98 */ "from ::= FROM seltablist", + /* 99 */ "stl_prefix ::= seltablist joinop", + /* 100 */ "stl_prefix ::=", + /* 101 */ "seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt", + /* 102 */ "seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt", + /* 103 */ "seltablist ::= stl_prefix LP select RP as on_opt using_opt", + /* 104 */ "seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt", + /* 105 */ "dbnm ::=", + /* 106 */ "dbnm ::= DOT nm", + /* 107 */ "fullname ::= nm dbnm", + /* 108 */ "joinop ::= COMMA|JOIN", + /* 109 */ "joinop ::= JOIN_KW JOIN", + /* 110 */ "joinop ::= JOIN_KW nm JOIN", + /* 111 */ "joinop ::= JOIN_KW nm nm JOIN", + /* 112 */ "on_opt ::= ON expr", + /* 113 */ "on_opt ::=", + /* 114 */ "indexed_opt ::=", + /* 115 */ "indexed_opt ::= INDEXED BY nm", + /* 116 */ "indexed_opt ::= NOT INDEXED", + /* 117 */ "using_opt ::= USING LP idlist RP", + /* 118 */ "using_opt ::=", + /* 119 */ "orderby_opt ::=", + /* 120 */ "orderby_opt ::= ORDER BY sortlist", + /* 121 */ "sortlist ::= sortlist COMMA expr sortorder", + /* 122 */ "sortlist ::= expr sortorder", + /* 123 */ "sortorder ::= ASC", + /* 124 */ "sortorder ::= DESC", + /* 125 */ "sortorder ::=", + /* 126 */ "groupby_opt ::=", + /* 127 */ "groupby_opt ::= GROUP BY nexprlist", + /* 128 */ "having_opt ::=", + /* 129 */ "having_opt ::= HAVING expr", + /* 130 */ "limit_opt ::=", + /* 131 */ "limit_opt ::= LIMIT expr", + /* 132 */ "limit_opt ::= LIMIT expr OFFSET expr", + /* 133 */ "limit_opt ::= LIMIT expr COMMA expr", + /* 134 */ "cmd ::= with DELETE FROM fullname indexed_opt where_opt", + /* 135 */ "where_opt ::=", + /* 136 */ "where_opt ::= WHERE expr", + /* 137 */ "cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt", + /* 138 */ "setlist ::= setlist COMMA nm EQ expr", + /* 139 */ "setlist ::= nm EQ expr", + /* 140 */ "cmd ::= with insert_cmd INTO fullname idlist_opt select", + /* 141 */ "cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES", + /* 142 */ "insert_cmd ::= INSERT orconf", + /* 143 */ "insert_cmd ::= REPLACE", + /* 144 */ "idlist_opt ::=", + /* 145 */ "idlist_opt ::= LP idlist RP", + /* 146 */ "idlist ::= idlist COMMA nm", + /* 147 */ "idlist ::= nm", + /* 148 */ "expr ::= LP expr RP", + /* 149 */ "term ::= NULL", + /* 150 */ "expr ::= ID|INDEXED", + /* 151 */ "expr ::= JOIN_KW", + /* 152 */ "expr ::= nm DOT nm", + /* 153 */ "expr ::= nm DOT nm DOT nm", + /* 154 */ "term ::= INTEGER|FLOAT|BLOB", + /* 155 */ "term ::= STRING", + /* 156 */ "expr ::= VARIABLE", + /* 157 */ "expr ::= expr COLLATE ID|STRING", + /* 158 */ "expr ::= CAST LP expr AS typetoken RP", + /* 159 */ "expr ::= ID|INDEXED LP distinct exprlist RP", + /* 160 */ "expr ::= ID|INDEXED LP STAR RP", + /* 161 */ "term ::= CTIME_KW", + /* 162 */ "expr ::= expr AND expr", + /* 163 */ "expr ::= expr OR expr", + /* 164 */ "expr ::= expr LT|GT|GE|LE expr", + /* 165 */ "expr ::= expr EQ|NE expr", + /* 166 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", + /* 167 */ "expr ::= expr PLUS|MINUS expr", + /* 168 */ "expr ::= expr STAR|SLASH|REM expr", + /* 169 */ "expr ::= expr CONCAT expr", + /* 170 */ "likeop ::= LIKE_KW|MATCH", + /* 171 */ "likeop ::= NOT LIKE_KW|MATCH", + /* 172 */ "expr ::= expr likeop expr", + /* 173 */ "expr ::= expr likeop expr ESCAPE expr", + /* 174 */ "expr ::= expr ISNULL|NOTNULL", + /* 175 */ "expr ::= expr NOT NULL", + /* 176 */ "expr ::= expr IS expr", + /* 177 */ "expr ::= expr IS NOT expr", + /* 178 */ "expr ::= NOT expr", + /* 179 */ "expr ::= BITNOT expr", + /* 180 */ "expr ::= MINUS expr", + /* 181 */ "expr ::= PLUS expr", + /* 182 */ "between_op ::= BETWEEN", + /* 183 */ "between_op ::= NOT BETWEEN", + /* 184 */ "expr ::= expr between_op expr AND expr", + /* 185 */ "in_op ::= IN", + /* 186 */ "in_op ::= NOT IN", + /* 187 */ "expr ::= expr in_op LP exprlist RP", + /* 188 */ "expr ::= LP select RP", + /* 189 */ "expr ::= expr in_op LP select RP", + /* 190 */ "expr ::= expr in_op nm dbnm", + /* 191 */ "expr ::= EXISTS LP select RP", + /* 192 */ "expr ::= CASE case_operand case_exprlist case_else END", + /* 193 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 194 */ "case_exprlist ::= WHEN expr THEN expr", + /* 195 */ "case_else ::= ELSE expr", + /* 196 */ "case_else ::=", + /* 197 */ "case_operand ::= expr", + /* 198 */ "case_operand ::=", + /* 199 */ "exprlist ::=", + /* 200 */ "nexprlist ::= nexprlist COMMA expr", + /* 201 */ "nexprlist ::= expr", + /* 202 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", + /* 203 */ "uniqueflag ::= UNIQUE", + /* 204 */ "uniqueflag ::=", + /* 205 */ "eidlist_opt ::=", + /* 206 */ "eidlist_opt ::= LP eidlist RP", + /* 207 */ "eidlist ::= eidlist COMMA nm collate sortorder", + /* 208 */ "eidlist ::= nm collate sortorder", + /* 209 */ "collate ::=", + /* 210 */ "collate ::= COLLATE ID|STRING", + /* 211 */ "cmd ::= DROP INDEX ifexists fullname", + /* 212 */ "cmd ::= VACUUM", + /* 213 */ "cmd ::= VACUUM nm", + /* 214 */ "cmd ::= PRAGMA nm dbnm", + /* 215 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 216 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 217 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 218 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 219 */ "plus_num ::= PLUS INTEGER|FLOAT", + /* 220 */ "minus_num ::= MINUS INTEGER|FLOAT", + /* 221 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", + /* 222 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", + /* 223 */ "trigger_time ::= BEFORE", + /* 224 */ "trigger_time ::= AFTER", + /* 225 */ "trigger_time ::= INSTEAD OF", + /* 226 */ "trigger_time ::=", + /* 227 */ "trigger_event ::= DELETE|INSERT", + /* 228 */ "trigger_event ::= UPDATE", + /* 229 */ "trigger_event ::= UPDATE OF idlist", + /* 230 */ "when_clause ::=", + /* 231 */ "when_clause ::= WHEN expr", + /* 232 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 233 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 234 */ "trnm ::= nm DOT nm", + /* 235 */ "tridxby ::= INDEXED BY nm", + /* 236 */ "tridxby ::= NOT INDEXED", + /* 237 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", + /* 238 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", + /* 239 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", + /* 240 */ "trigger_cmd ::= select", + /* 241 */ "expr ::= RAISE LP IGNORE RP", + /* 242 */ "expr ::= RAISE LP raisetype COMMA nm RP", + /* 243 */ "raisetype ::= ROLLBACK", + /* 244 */ "raisetype ::= ABORT", + /* 245 */ "raisetype ::= FAIL", + /* 246 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 247 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 248 */ "cmd ::= DETACH database_kw_opt expr", + /* 249 */ "key_opt ::=", + /* 250 */ "key_opt ::= KEY expr", + /* 251 */ "cmd ::= REINDEX", + /* 252 */ "cmd ::= REINDEX nm dbnm", + /* 253 */ "cmd ::= ANALYZE", + /* 254 */ "cmd ::= ANALYZE nm dbnm", + /* 255 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 256 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", + /* 257 */ "add_column_fullname ::= fullname", + /* 258 */ "cmd ::= create_vtab", + /* 259 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 260 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 261 */ "vtabarg ::=", + /* 262 */ "vtabargtoken ::= ANY", + /* 263 */ "vtabargtoken ::= lp anylist RP", + /* 264 */ "lp ::= LP", + /* 265 */ "with ::=", + /* 266 */ "with ::= WITH wqlist", + /* 267 */ "with ::= WITH RECURSIVE wqlist", + /* 268 */ "wqlist ::= nm eidlist_opt AS LP select RP", + /* 269 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", + /* 270 */ "input ::= cmdlist", + /* 271 */ "cmdlist ::= cmdlist ecmd", + /* 272 */ "cmdlist ::= ecmd", + /* 273 */ "ecmd ::= SEMI", + /* 274 */ "ecmd ::= explain cmdx SEMI", + /* 275 */ "explain ::=", + /* 276 */ "trans_opt ::=", + /* 277 */ "trans_opt ::= TRANSACTION", + /* 278 */ "trans_opt ::= TRANSACTION nm", + /* 279 */ "savepoint_opt ::= SAVEPOINT", + /* 280 */ "savepoint_opt ::=", + /* 281 */ "cmd ::= create_table create_table_args", + /* 282 */ "columnlist ::= columnlist COMMA columnname carglist", + /* 283 */ "columnlist ::= columnname carglist", + /* 284 */ "nm ::= ID|INDEXED", + /* 285 */ "nm ::= STRING", + /* 286 */ "nm ::= JOIN_KW", + /* 287 */ "typetoken ::= typename", + /* 288 */ "typename ::= ID|STRING", + /* 289 */ "signed ::= plus_num", + /* 290 */ "signed ::= minus_num", + /* 291 */ "carglist ::= carglist ccons", + /* 292 */ "carglist ::=", + /* 293 */ "ccons ::= NULL onconf", + /* 294 */ "conslist_opt ::= COMMA conslist", + /* 295 */ "conslist ::= conslist tconscomma tcons", + /* 296 */ "conslist ::= tcons", + /* 297 */ "tconscomma ::=", + /* 298 */ "defer_subclause_opt ::= defer_subclause", + /* 299 */ "resolvetype ::= raisetype", + /* 300 */ "selectnowith ::= oneselect", + /* 301 */ "oneselect ::= values", + /* 302 */ "sclp ::= selcollist COMMA", + /* 303 */ "as ::= ID|STRING", + /* 304 */ "expr ::= term", + /* 305 */ "exprlist ::= nexprlist", + /* 306 */ "nmnum ::= plus_num", + /* 307 */ "nmnum ::= nm", + /* 308 */ "nmnum ::= ON", + /* 309 */ "nmnum ::= DELETE", + /* 310 */ "nmnum ::= DEFAULT", + /* 311 */ "plus_num ::= INTEGER|FLOAT", + /* 312 */ "foreach_clause ::=", + /* 313 */ "foreach_clause ::= FOR EACH ROW", + /* 314 */ "trnm ::= nm", + /* 315 */ "tridxby ::=", + /* 316 */ "database_kw_opt ::= DATABASE", + /* 317 */ "database_kw_opt ::=", + /* 318 */ "kwcolumn_opt ::=", + /* 319 */ "kwcolumn_opt ::= COLUMNKW", + /* 320 */ "vtabarglist ::= vtabarg", + /* 321 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 322 */ "vtabarg ::= vtabarg vtabargtoken", + /* 323 */ "anylist ::=", + /* 324 */ "anylist ::= anylist LP anylist RP", + /* 325 */ "anylist ::= anylist ANY", }; #endif /* NDEBUG */ @@ -129339,75 +129737,75 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ case 163: /* select */ - case 196: /* selectnowith */ - case 197: /* oneselect */ - case 208: /* values */ + case 194: /* selectnowith */ + case 195: /* oneselect */ + case 206: /* values */ { -sqlite3SelectDelete(pParse->db, (yypminor->yy387)); +sqlite3SelectDelete(pParse->db, (yypminor->yy159)); } break; - case 174: /* term */ - case 175: /* expr */ + case 172: /* term */ + case 173: /* expr */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy118).pExpr); +sqlite3ExprDelete(pParse->db, (yypminor->yy342).pExpr); } break; - case 179: /* eidlist_opt */ - case 188: /* sortlist */ - case 189: /* eidlist */ - case 201: /* selcollist */ - case 204: /* groupby_opt */ - case 206: /* orderby_opt */ - case 209: /* nexprlist */ - case 210: /* exprlist */ - case 211: /* sclp */ - case 220: /* setlist */ - case 227: /* case_exprlist */ + case 177: /* eidlist_opt */ + case 186: /* sortlist */ + case 187: /* eidlist */ + case 199: /* selcollist */ + case 202: /* groupby_opt */ + case 204: /* orderby_opt */ + case 207: /* nexprlist */ + case 208: /* exprlist */ + case 209: /* sclp */ + case 218: /* setlist */ + case 225: /* case_exprlist */ { -sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); +sqlite3ExprListDelete(pParse->db, (yypminor->yy442)); } break; - case 195: /* fullname */ - case 202: /* from */ - case 213: /* seltablist */ - case 214: /* stl_prefix */ + case 193: /* fullname */ + case 200: /* from */ + case 211: /* seltablist */ + case 212: /* stl_prefix */ { -sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); +sqlite3SrcListDelete(pParse->db, (yypminor->yy347)); } break; - case 198: /* with */ - case 251: /* wqlist */ + case 196: /* with */ + case 249: /* wqlist */ { -sqlite3WithDelete(pParse->db, (yypminor->yy451)); +sqlite3WithDelete(pParse->db, (yypminor->yy331)); } break; - case 203: /* where_opt */ - case 205: /* having_opt */ - case 217: /* on_opt */ - case 226: /* case_operand */ - case 228: /* case_else */ - case 237: /* when_clause */ - case 242: /* key_opt */ + case 201: /* where_opt */ + case 203: /* having_opt */ + case 215: /* on_opt */ + case 224: /* case_operand */ + case 226: /* case_else */ + case 235: /* when_clause */ + case 240: /* key_opt */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy314)); +sqlite3ExprDelete(pParse->db, (yypminor->yy122)); } break; - case 218: /* using_opt */ - case 219: /* idlist */ - case 222: /* idlist_opt */ + case 216: /* using_opt */ + case 217: /* idlist */ + case 220: /* idlist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy384)); +sqlite3IdListDelete(pParse->db, (yypminor->yy180)); } break; - case 233: /* trigger_cmd_list */ - case 238: /* trigger_cmd */ + case 231: /* trigger_cmd_list */ + case 236: /* trigger_cmd */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy327)); } break; - case 235: /* trigger_event */ + case 233: /* trigger_event */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); +sqlite3IdListDelete(pParse->db, (yypminor->yy410).b); } break; /********* End destructor definitions *****************************************/ @@ -129472,7 +129870,7 @@ SQLITE_PRIVATE int sqlite3ParserStackPeak(void *p){ ** Find the appropriate action for a parser given the terminal ** look-ahead token iLookAhead. */ -static int yy_find_shift_action( +static unsigned int yy_find_shift_action( yyParser *pParser, /* The parser */ YYCODETYPE iLookAhead /* The look-ahead token */ ){ @@ -129568,7 +129966,7 @@ static int yy_find_reduce_action( /* ** The following routine is called if the stack overflows. */ -static void yyStackOverflow(yyParser *yypParser, YYMINORTYPE *yypMinor){ +static void yyStackOverflow(yyParser *yypParser){ sqlite3ParserARG_FETCH; yypParser->yyidx--; #ifndef NDEBUG @@ -129581,7 +129979,6 @@ static void yyStackOverflow(yyParser *yypParser, YYMINORTYPE *yypMinor){ ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - UNUSED_PARAMETER(yypMinor); /* Silence some compiler warnings */ sqlite3ErrorMsg(pParse, "parser stack overflow"); /******** End %stack_overflow code ********************************************/ sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument var */ @@ -129614,7 +130011,7 @@ static void yy_shift( yyParser *yypParser, /* The parser to be shifted */ int yyNewState, /* The new state to shift in */ int yyMajor, /* The major token to shift in */ - YYMINORTYPE *yypMinor /* Pointer to the minor token to shift in */ + sqlite3ParserTOKENTYPE yyMinor /* The minor token to shift in */ ){ yyStackEntry *yytos; yypParser->yyidx++; @@ -129625,14 +130022,14 @@ static void yy_shift( #endif #if YYSTACKDEPTH>0 if( yypParser->yyidx>=YYSTACKDEPTH ){ - yyStackOverflow(yypParser, yypMinor); + yyStackOverflow(yypParser); return; } #else if( yypParser->yyidx>=yypParser->yystksz ){ yyGrowStack(yypParser); if( yypParser->yyidx>=yypParser->yystksz ){ - yyStackOverflow(yypParser, yypMinor); + yyStackOverflow(yypParser); return; } } @@ -129640,7 +130037,7 @@ static void yy_shift( yytos = &yypParser->yystack[yypParser->yyidx]; yytos->stateno = (YYACTIONTYPE)yyNewState; yytos->major = (YYCODETYPE)yyMajor; - yytos->minor = *yypMinor; + yytos->minor.yy0 = yyMinor; yyTraceShift(yypParser, yyNewState); } @@ -129651,19 +130048,10 @@ static const struct { YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ unsigned char nrhs; /* Number of right-hand side symbols in the rule */ } yyRuleInfo[] = { - { 144, 1 }, - { 145, 2 }, - { 145, 1 }, - { 146, 1 }, - { 146, 3 }, - { 147, 0 }, { 147, 1 }, { 147, 3 }, { 148, 1 }, { 149, 3 }, - { 151, 0 }, - { 151, 1 }, - { 151, 2 }, { 150, 0 }, { 150, 1 }, { 150, 1 }, @@ -129671,12 +130059,9 @@ static const struct { { 149, 2 }, { 149, 2 }, { 149, 2 }, - { 153, 1 }, - { 153, 0 }, { 149, 2 }, { 149, 3 }, { 149, 5 }, - { 149, 2 }, { 154, 6 }, { 156, 1 }, { 158, 0 }, @@ -129687,219 +130072,193 @@ static const struct { { 155, 2 }, { 162, 0 }, { 162, 2 }, - { 160, 3 }, - { 160, 1 }, - { 164, 3 }, - { 165, 1 }, - { 152, 1 }, - { 152, 1 }, - { 152, 1 }, + { 164, 2 }, { 166, 0 }, - { 166, 1 }, - { 168, 1 }, - { 168, 4 }, - { 168, 6 }, - { 169, 1 }, - { 169, 2 }, - { 170, 1 }, - { 170, 1 }, + { 166, 4 }, + { 166, 6 }, { 167, 2 }, - { 167, 0 }, - { 173, 2 }, - { 173, 2 }, - { 173, 4 }, - { 173, 3 }, - { 173, 3 }, - { 173, 2 }, - { 173, 2 }, - { 173, 3 }, - { 173, 5 }, - { 173, 2 }, - { 173, 4 }, - { 173, 4 }, - { 173, 1 }, - { 173, 2 }, + { 171, 2 }, + { 171, 2 }, + { 171, 4 }, + { 171, 3 }, + { 171, 3 }, + { 171, 2 }, + { 171, 3 }, + { 171, 5 }, + { 171, 2 }, + { 171, 4 }, + { 171, 4 }, + { 171, 1 }, + { 171, 2 }, + { 176, 0 }, + { 176, 1 }, { 178, 0 }, - { 178, 1 }, - { 180, 0 }, + { 178, 2 }, { 180, 2 }, - { 182, 2 }, - { 182, 3 }, - { 182, 3 }, - { 182, 3 }, - { 183, 2 }, - { 183, 2 }, - { 183, 1 }, - { 183, 1 }, - { 183, 2 }, - { 181, 3 }, + { 180, 3 }, + { 180, 3 }, + { 180, 3 }, { 181, 2 }, - { 184, 0 }, - { 184, 2 }, - { 184, 2 }, + { 181, 2 }, + { 181, 1 }, + { 181, 1 }, + { 181, 2 }, + { 179, 3 }, + { 179, 2 }, + { 182, 0 }, + { 182, 2 }, + { 182, 2 }, { 161, 0 }, - { 161, 2 }, - { 185, 3 }, - { 185, 1 }, - { 186, 1 }, - { 186, 0 }, - { 187, 2 }, - { 187, 7 }, - { 187, 5 }, - { 187, 5 }, - { 187, 10 }, - { 190, 0 }, + { 184, 1 }, + { 185, 2 }, + { 185, 7 }, + { 185, 5 }, + { 185, 5 }, + { 185, 10 }, + { 188, 0 }, + { 174, 0 }, + { 174, 3 }, + { 189, 0 }, + { 189, 2 }, + { 190, 1 }, { 190, 1 }, - { 176, 0 }, - { 176, 3 }, - { 191, 0 }, - { 191, 2 }, - { 192, 1 }, - { 192, 1 }, - { 192, 1 }, { 149, 4 }, - { 194, 2 }, - { 194, 0 }, + { 192, 2 }, + { 192, 0 }, { 149, 9 }, { 149, 4 }, { 149, 1 }, { 163, 2 }, - { 196, 1 }, - { 196, 3 }, - { 199, 1 }, - { 199, 2 }, - { 199, 1 }, - { 197, 9 }, + { 194, 3 }, + { 197, 1 }, + { 197, 2 }, { 197, 1 }, - { 208, 4 }, - { 208, 5 }, - { 200, 1 }, - { 200, 1 }, + { 195, 9 }, + { 206, 4 }, + { 206, 5 }, + { 198, 1 }, + { 198, 1 }, + { 198, 0 }, + { 209, 0 }, + { 199, 3 }, + { 199, 2 }, + { 199, 4 }, + { 210, 2 }, + { 210, 0 }, { 200, 0 }, - { 211, 2 }, - { 211, 0 }, - { 201, 3 }, - { 201, 2 }, - { 201, 4 }, + { 200, 2 }, { 212, 2 }, - { 212, 1 }, { 212, 0 }, - { 202, 0 }, - { 202, 2 }, - { 214, 2 }, - { 214, 0 }, - { 213, 7 }, - { 213, 9 }, - { 213, 7 }, - { 213, 7 }, + { 211, 7 }, + { 211, 9 }, + { 211, 7 }, + { 211, 7 }, { 159, 0 }, { 159, 2 }, - { 195, 2 }, - { 215, 1 }, + { 193, 2 }, + { 213, 1 }, + { 213, 2 }, + { 213, 3 }, + { 213, 4 }, { 215, 2 }, - { 215, 3 }, - { 215, 4 }, - { 217, 2 }, - { 217, 0 }, + { 215, 0 }, + { 214, 0 }, + { 214, 3 }, + { 214, 2 }, + { 216, 4 }, { 216, 0 }, - { 216, 3 }, - { 216, 2 }, - { 218, 4 }, - { 218, 0 }, - { 206, 0 }, - { 206, 3 }, - { 188, 4 }, - { 188, 2 }, - { 177, 1 }, - { 177, 1 }, - { 177, 0 }, { 204, 0 }, { 204, 3 }, + { 186, 4 }, + { 186, 2 }, + { 175, 1 }, + { 175, 1 }, + { 175, 0 }, + { 202, 0 }, + { 202, 3 }, + { 203, 0 }, + { 203, 2 }, { 205, 0 }, { 205, 2 }, - { 207, 0 }, - { 207, 2 }, - { 207, 4 }, - { 207, 4 }, + { 205, 4 }, + { 205, 4 }, { 149, 6 }, - { 203, 0 }, - { 203, 2 }, + { 201, 0 }, + { 201, 2 }, { 149, 8 }, - { 220, 5 }, - { 220, 3 }, + { 218, 5 }, + { 218, 3 }, { 149, 6 }, { 149, 7 }, - { 221, 2 }, - { 221, 1 }, - { 222, 0 }, - { 222, 3 }, - { 219, 3 }, + { 219, 2 }, { 219, 1 }, - { 175, 1 }, - { 175, 3 }, - { 174, 1 }, - { 175, 1 }, - { 175, 1 }, - { 175, 3 }, - { 175, 5 }, - { 174, 1 }, - { 174, 1 }, - { 175, 1 }, - { 175, 3 }, - { 175, 6 }, - { 175, 5 }, - { 175, 4 }, - { 174, 1 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, - { 175, 3 }, + { 220, 0 }, + { 220, 3 }, + { 217, 3 }, + { 217, 1 }, + { 173, 3 }, + { 172, 1 }, + { 173, 1 }, + { 173, 1 }, + { 173, 3 }, + { 173, 5 }, + { 172, 1 }, + { 172, 1 }, + { 173, 1 }, + { 173, 3 }, + { 173, 6 }, + { 173, 5 }, + { 173, 4 }, + { 172, 1 }, + { 173, 3 }, + { 173, 3 }, + { 173, 3 }, + { 173, 3 }, + { 173, 3 }, + { 173, 3 }, + { 173, 3 }, + { 173, 3 }, + { 221, 1 }, + { 221, 2 }, + { 173, 3 }, + { 173, 5 }, + { 173, 2 }, + { 173, 3 }, + { 173, 3 }, + { 173, 4 }, + { 173, 2 }, + { 173, 2 }, + { 173, 2 }, + { 173, 2 }, + { 222, 1 }, + { 222, 2 }, + { 173, 5 }, { 223, 1 }, { 223, 2 }, - { 175, 3 }, - { 175, 5 }, - { 175, 2 }, - { 175, 3 }, - { 175, 3 }, - { 175, 4 }, - { 175, 2 }, - { 175, 2 }, - { 175, 2 }, - { 175, 2 }, - { 224, 1 }, - { 224, 2 }, - { 175, 5 }, - { 225, 1 }, - { 225, 2 }, - { 175, 5 }, - { 175, 3 }, - { 175, 5 }, - { 175, 4 }, - { 175, 4 }, - { 175, 5 }, - { 227, 5 }, - { 227, 4 }, - { 228, 2 }, - { 228, 0 }, - { 226, 1 }, + { 173, 5 }, + { 173, 3 }, + { 173, 5 }, + { 173, 4 }, + { 173, 4 }, + { 173, 5 }, + { 225, 5 }, + { 225, 4 }, + { 226, 2 }, { 226, 0 }, - { 210, 1 }, - { 210, 0 }, - { 209, 3 }, - { 209, 1 }, + { 224, 1 }, + { 224, 0 }, + { 208, 0 }, + { 207, 3 }, + { 207, 1 }, { 149, 12 }, - { 229, 1 }, - { 229, 0 }, - { 179, 0 }, - { 179, 3 }, - { 189, 5 }, - { 189, 3 }, - { 230, 0 }, - { 230, 2 }, + { 227, 1 }, + { 227, 0 }, + { 177, 0 }, + { 177, 3 }, + { 187, 5 }, + { 187, 3 }, + { 228, 0 }, + { 228, 2 }, { 149, 4 }, { 149, 1 }, { 149, 2 }, @@ -129908,77 +130267,113 @@ static const struct { { 149, 6 }, { 149, 5 }, { 149, 6 }, - { 231, 1 }, - { 231, 1 }, - { 231, 1 }, - { 231, 1 }, - { 231, 1 }, - { 171, 2 }, - { 171, 1 }, - { 172, 2 }, + { 169, 2 }, + { 170, 2 }, { 149, 5 }, - { 232, 11 }, - { 234, 1 }, - { 234, 1 }, - { 234, 2 }, - { 234, 0 }, - { 235, 1 }, - { 235, 1 }, - { 235, 3 }, - { 236, 0 }, - { 236, 3 }, - { 237, 0 }, - { 237, 2 }, + { 230, 11 }, + { 232, 1 }, + { 232, 1 }, + { 232, 2 }, + { 232, 0 }, + { 233, 1 }, + { 233, 1 }, { 233, 3 }, - { 233, 2 }, - { 239, 1 }, - { 239, 3 }, - { 240, 0 }, - { 240, 3 }, - { 240, 2 }, - { 238, 7 }, - { 238, 5 }, - { 238, 5 }, - { 238, 1 }, - { 175, 4 }, - { 175, 6 }, - { 193, 1 }, - { 193, 1 }, - { 193, 1 }, + { 235, 0 }, + { 235, 2 }, + { 231, 3 }, + { 231, 2 }, + { 237, 3 }, + { 238, 3 }, + { 238, 2 }, + { 236, 7 }, + { 236, 5 }, + { 236, 5 }, + { 236, 1 }, + { 173, 4 }, + { 173, 6 }, + { 191, 1 }, + { 191, 1 }, + { 191, 1 }, { 149, 4 }, { 149, 6 }, { 149, 3 }, - { 242, 0 }, - { 242, 2 }, - { 241, 1 }, - { 241, 0 }, + { 240, 0 }, + { 240, 2 }, { 149, 1 }, { 149, 3 }, { 149, 1 }, { 149, 3 }, { 149, 6 }, - { 149, 6 }, - { 243, 1 }, - { 244, 0 }, - { 244, 1 }, + { 149, 7 }, + { 241, 1 }, { 149, 1 }, { 149, 4 }, - { 245, 8 }, + { 243, 8 }, + { 245, 0 }, { 246, 1 }, { 246, 3 }, - { 247, 0 }, - { 247, 2 }, - { 248, 1 }, - { 248, 3 }, - { 249, 1 }, - { 250, 0 }, - { 250, 4 }, - { 250, 2 }, - { 198, 0 }, - { 198, 2 }, - { 198, 3 }, - { 251, 6 }, - { 251, 8 }, + { 247, 1 }, + { 196, 0 }, + { 196, 2 }, + { 196, 3 }, + { 249, 6 }, + { 249, 8 }, + { 144, 1 }, + { 145, 2 }, + { 145, 1 }, + { 146, 1 }, + { 146, 3 }, + { 147, 0 }, + { 151, 0 }, + { 151, 1 }, + { 151, 2 }, + { 153, 1 }, + { 153, 0 }, + { 149, 2 }, + { 160, 4 }, + { 160, 2 }, + { 152, 1 }, + { 152, 1 }, + { 152, 1 }, + { 166, 1 }, + { 167, 1 }, + { 168, 1 }, + { 168, 1 }, + { 165, 2 }, + { 165, 0 }, + { 171, 2 }, + { 161, 2 }, + { 183, 3 }, + { 183, 1 }, + { 184, 0 }, + { 188, 1 }, + { 190, 1 }, + { 194, 1 }, + { 195, 1 }, + { 209, 2 }, + { 210, 1 }, + { 173, 1 }, + { 208, 1 }, + { 229, 1 }, + { 229, 1 }, + { 229, 1 }, + { 229, 1 }, + { 229, 1 }, + { 169, 1 }, + { 234, 0 }, + { 234, 3 }, + { 237, 1 }, + { 238, 0 }, + { 239, 1 }, + { 239, 0 }, + { 242, 0 }, + { 242, 1 }, + { 244, 1 }, + { 244, 3 }, + { 245, 2 }, + { 248, 0 }, + { 248, 4 }, + { 248, 2 }, }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -129989,24 +130384,46 @@ static void yy_accept(yyParser*); /* Forward Declaration */ */ static void yy_reduce( yyParser *yypParser, /* The parser */ - int yyruleno /* Number of the rule by which to reduce */ + unsigned int yyruleno /* Number of the rule by which to reduce */ ){ int yygoto; /* The next state */ int yyact; /* The next action */ - YYMINORTYPE yygotominor; /* The LHS of the rule reduced */ yyStackEntry *yymsp; /* The top of the parser's stack */ int yysize; /* Amount to pop the stack */ sqlite3ParserARG_FETCH; yymsp = &yypParser->yystack[yypParser->yyidx]; #ifndef NDEBUG - if( yyTraceFILE && yyruleno>=0 - && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ + if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ yysize = yyRuleInfo[yyruleno].nrhs; fprintf(yyTraceFILE, "%sReduce [%s], go to state %d.\n", yyTracePrompt, yyRuleName[yyruleno], yymsp[-yysize].stateno); } #endif /* NDEBUG */ - yygotominor = yyzerominor; + + /* Check that the stack is large enough to grow by a single entry + ** if the RHS of the rule is empty. This ensures that there is room + ** enough on the stack to push the LHS value */ + if( yyRuleInfo[yyruleno].nrhs==0 ){ +#ifdef YYTRACKMAXSTACKDEPTH + if( yypParser->yyidx>yypParser->yyidxMax ){ + yypParser->yyidxMax = yypParser->yyidx; + } +#endif +#if YYSTACKDEPTH>0 + if( yypParser->yyidx>=YYSTACKDEPTH-1 ){ + yyStackOverflow(yypParser); + return; + } +#else + if( yypParser->yyidx>=yypParser->yystksz-1 ){ + yyGrowStack(yypParser); + if( yypParser->yyidx>=yypParser->yystksz-1 ){ + yyStackOverflow(yypParser); + return; + } + } +#endif + } switch( yyruleno ){ /* Beginning here are the reduction cases. A typical example @@ -130018,322 +130435,286 @@ static void yy_reduce( ** break; */ /********** Begin reduce actions **********************************************/ - case 6: /* explain ::= EXPLAIN */ + YYMINORTYPE yylhsminor; + case 0: /* explain ::= EXPLAIN */ { pParse->explain = 1; } break; - case 7: /* explain ::= EXPLAIN QUERY PLAN */ + case 1: /* explain ::= EXPLAIN QUERY PLAN */ { pParse->explain = 2; } break; - case 8: /* cmdx ::= cmd */ + case 2: /* cmdx ::= cmd */ { sqlite3FinishCoding(pParse); } break; - case 9: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy4);} + case 3: /* cmd ::= BEGIN transtype trans_opt */ +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy392);} break; - case 13: /* transtype ::= */ -{yygotominor.yy4 = TK_DEFERRED;} + case 4: /* transtype ::= */ +{yymsp[1].minor.yy392 = TK_DEFERRED;} break; - case 14: /* transtype ::= DEFERRED */ - case 15: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==15); - case 16: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==16); - case 115: /* multiselect_op ::= UNION */ yytestcase(yyruleno==115); - case 117: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==117); -{yygotominor.yy4 = yymsp[0].major;} + case 5: /* transtype ::= DEFERRED */ + case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); + case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); +{yymsp[0].minor.yy392 = yymsp[0].major; /*A-overwrites-X*/} break; - case 17: /* cmd ::= COMMIT trans_opt */ - case 18: /* cmd ::= END trans_opt */ yytestcase(yyruleno==18); + case 8: /* cmd ::= COMMIT trans_opt */ + case 9: /* cmd ::= END trans_opt */ yytestcase(yyruleno==9); {sqlite3CommitTransaction(pParse);} break; - case 19: /* cmd ::= ROLLBACK trans_opt */ + case 10: /* cmd ::= ROLLBACK trans_opt */ {sqlite3RollbackTransaction(pParse);} break; - case 22: /* cmd ::= SAVEPOINT nm */ + case 11: /* cmd ::= SAVEPOINT nm */ { sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0); } break; - case 23: /* cmd ::= RELEASE savepoint_opt nm */ + case 12: /* cmd ::= RELEASE savepoint_opt nm */ { sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0); } break; - case 24: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ + case 13: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ { sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); } break; - case 26: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ + case 14: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy4,0,0,yymsp[-2].minor.yy4); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy392,0,0,yymsp[-2].minor.yy392); } break; - case 27: /* createkw ::= CREATE */ -{ - disableLookaside(pParse); - yygotominor.yy0 = yymsp[0].minor.yy0; -} + case 15: /* createkw ::= CREATE */ +{disableLookaside(pParse);} break; - case 28: /* ifnotexists ::= */ - case 31: /* temp ::= */ yytestcase(yyruleno==31); - case 34: /* table_options ::= */ yytestcase(yyruleno==34); - case 68: /* autoinc ::= */ yytestcase(yyruleno==68); - case 81: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ yytestcase(yyruleno==81); - case 83: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==83); - case 85: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ yytestcase(yyruleno==85); - case 97: /* defer_subclause_opt ::= */ yytestcase(yyruleno==97); - case 108: /* ifexists ::= */ yytestcase(yyruleno==108); - case 124: /* distinct ::= */ yytestcase(yyruleno==124); - case 219: /* between_op ::= BETWEEN */ yytestcase(yyruleno==219); - case 222: /* in_op ::= IN */ yytestcase(yyruleno==222); - case 247: /* collate ::= */ yytestcase(yyruleno==247); -{yygotominor.yy4 = 0;} + case 16: /* ifnotexists ::= */ + case 19: /* temp ::= */ yytestcase(yyruleno==19); + case 22: /* table_options ::= */ yytestcase(yyruleno==22); + case 42: /* autoinc ::= */ yytestcase(yyruleno==42); + case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); + case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); + case 76: /* ifexists ::= */ yytestcase(yyruleno==76); + case 90: /* distinct ::= */ yytestcase(yyruleno==90); + case 209: /* collate ::= */ yytestcase(yyruleno==209); +{yymsp[1].minor.yy392 = 0;} break; - case 29: /* ifnotexists ::= IF NOT EXISTS */ - case 30: /* temp ::= TEMP */ yytestcase(yyruleno==30); - case 69: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==69); - case 84: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ yytestcase(yyruleno==84); - case 107: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==107); - case 220: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==220); - case 223: /* in_op ::= NOT IN */ yytestcase(yyruleno==223); - case 248: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==248); -{yygotominor.yy4 = 1;} + case 17: /* ifnotexists ::= IF NOT EXISTS */ +{yymsp[-2].minor.yy392 = 1;} break; - case 32: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ + case 18: /* temp ::= TEMP */ + case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); +{yymsp[0].minor.yy392 = 1;} + break; + case 20: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ { - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy4,0); + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy392,0); } break; - case 33: /* create_table_args ::= AS select */ + case 21: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy387); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy159); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); } break; - case 35: /* table_options ::= WITHOUT nm */ + case 23: /* table_options ::= WITHOUT nm */ { if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ - yygotominor.yy4 = TF_WithoutRowid | TF_NoVisibleRowid; + yymsp[-1].minor.yy392 = TF_WithoutRowid | TF_NoVisibleRowid; }else{ - yygotominor.yy4 = 0; + yymsp[-1].minor.yy392 = 0; sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); } } break; - case 38: /* column ::= columnid type carglist */ -{ - yygotominor.yy0.z = yymsp[-2].minor.yy0.z; - yygotominor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-2].minor.yy0.z) + pParse->sLastToken.n; -} - break; - case 39: /* columnid ::= nm */ -{ - sqlite3AddColumn(pParse,&yymsp[0].minor.yy0); - yygotominor.yy0 = yymsp[0].minor.yy0; - pParse->constraintName.n = 0; -} - break; - case 40: /* nm ::= ID|INDEXED */ - case 41: /* nm ::= STRING */ yytestcase(yyruleno==41); - case 42: /* nm ::= JOIN_KW */ yytestcase(yyruleno==42); - case 45: /* typetoken ::= typename */ yytestcase(yyruleno==45); - case 48: /* typename ::= ID|STRING */ yytestcase(yyruleno==48); - case 130: /* as ::= AS nm */ yytestcase(yyruleno==130); - case 131: /* as ::= ID|STRING */ yytestcase(yyruleno==131); - case 142: /* dbnm ::= DOT nm */ yytestcase(yyruleno==142); - case 151: /* indexed_opt ::= INDEXED BY nm */ yytestcase(yyruleno==151); - case 257: /* nmnum ::= plus_num */ yytestcase(yyruleno==257); - case 258: /* nmnum ::= nm */ yytestcase(yyruleno==258); - case 259: /* nmnum ::= ON */ yytestcase(yyruleno==259); - case 260: /* nmnum ::= DELETE */ yytestcase(yyruleno==260); - case 261: /* nmnum ::= DEFAULT */ yytestcase(yyruleno==261); - case 262: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==262); - case 263: /* plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==263); - case 264: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==264); - case 280: /* trnm ::= nm */ yytestcase(yyruleno==280); -{yygotominor.yy0 = yymsp[0].minor.yy0;} + case 24: /* columnname ::= nm typetoken */ +{sqlite3AddColumn(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} break; - case 44: /* type ::= typetoken */ -{sqlite3AddColumnType(pParse,&yymsp[0].minor.yy0);} + case 25: /* typetoken ::= */ + case 60: /* conslist_opt ::= */ yytestcase(yyruleno==60); + case 96: /* as ::= */ yytestcase(yyruleno==96); +{yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = 0;} break; - case 46: /* typetoken ::= typename LP signed RP */ + case 26: /* typetoken ::= typename LP signed RP */ { - yygotominor.yy0.z = yymsp[-3].minor.yy0.z; - yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z); + yymsp[-3].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z); } break; - case 47: /* typetoken ::= typename LP signed COMMA signed RP */ + case 27: /* typetoken ::= typename LP signed COMMA signed RP */ { - yygotominor.yy0.z = yymsp[-5].minor.yy0.z; - yygotominor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z); + yymsp[-5].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z); } break; - case 49: /* typename ::= typename ID|STRING */ -{yygotominor.yy0.z=yymsp[-1].minor.yy0.z; yygotominor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} + case 28: /* typename ::= typename ID|STRING */ +{yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} break; - case 54: /* ccons ::= CONSTRAINT nm */ - case 92: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==92); + case 29: /* ccons ::= CONSTRAINT nm */ + case 62: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==62); {pParse->constraintName = yymsp[0].minor.yy0;} break; - case 55: /* ccons ::= DEFAULT term */ - case 57: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==57); -{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy118);} + case 30: /* ccons ::= DEFAULT term */ + case 32: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==32); +{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy342);} break; - case 56: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy118);} + case 31: /* ccons ::= DEFAULT LP expr RP */ +{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy342);} break; - case 58: /* ccons ::= DEFAULT MINUS term */ + case 33: /* ccons ::= DEFAULT MINUS term */ { ExprSpan v; - v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy118.pExpr, 0, 0); + v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy342.pExpr, 0, 0); v.zStart = yymsp[-1].minor.yy0.z; - v.zEnd = yymsp[0].minor.yy118.zEnd; + v.zEnd = yymsp[0].minor.yy342.zEnd; sqlite3AddDefaultValue(pParse,&v); } break; - case 59: /* ccons ::= DEFAULT ID|INDEXED */ + case 34: /* ccons ::= DEFAULT ID|INDEXED */ { ExprSpan v; - spanExpr(&v, pParse, TK_STRING, &yymsp[0].minor.yy0); + spanExpr(&v, pParse, TK_STRING, yymsp[0].minor.yy0); sqlite3AddDefaultValue(pParse,&v); } break; - case 61: /* ccons ::= NOT NULL onconf */ -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy4);} + case 35: /* ccons ::= NOT NULL onconf */ +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy392);} break; - case 62: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy4,yymsp[0].minor.yy4,yymsp[-2].minor.yy4);} + case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy392,yymsp[0].minor.yy392,yymsp[-2].minor.yy392);} break; - case 63: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy4,0,0,0,0);} + case 37: /* ccons ::= UNIQUE onconf */ +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy392,0,0,0,0);} break; - case 64: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy118.pExpr);} + case 38: /* ccons ::= CHECK LP expr RP */ +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy342.pExpr);} break; - case 65: /* ccons ::= REFERENCES nm eidlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy322,yymsp[0].minor.yy4);} + case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy442,yymsp[0].minor.yy392);} break; - case 66: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy4);} + case 40: /* ccons ::= defer_subclause */ +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy392);} break; - case 67: /* ccons ::= COLLATE ID|STRING */ + case 41: /* ccons ::= COLLATE ID|STRING */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; - case 70: /* refargs ::= */ -{ yygotominor.yy4 = OE_None*0x0101; /* EV: R-19803-45884 */} + case 44: /* refargs ::= */ +{ yymsp[1].minor.yy392 = OE_None*0x0101; /* EV: R-19803-45884 */} + break; + case 45: /* refargs ::= refargs refarg */ +{ yymsp[-1].minor.yy392 = (yymsp[-1].minor.yy392 & ~yymsp[0].minor.yy207.mask) | yymsp[0].minor.yy207.value; } + break; + case 46: /* refarg ::= MATCH nm */ +{ yymsp[-1].minor.yy207.value = 0; yymsp[-1].minor.yy207.mask = 0x000000; } break; - case 71: /* refargs ::= refargs refarg */ -{ yygotominor.yy4 = (yymsp[-1].minor.yy4 & ~yymsp[0].minor.yy215.mask) | yymsp[0].minor.yy215.value; } + case 47: /* refarg ::= ON INSERT refact */ +{ yymsp[-2].minor.yy207.value = 0; yymsp[-2].minor.yy207.mask = 0x000000; } break; - case 72: /* refarg ::= MATCH nm */ - case 73: /* refarg ::= ON INSERT refact */ yytestcase(yyruleno==73); -{ yygotominor.yy215.value = 0; yygotominor.yy215.mask = 0x000000; } + case 48: /* refarg ::= ON DELETE refact */ +{ yymsp[-2].minor.yy207.value = yymsp[0].minor.yy392; yymsp[-2].minor.yy207.mask = 0x0000ff; } break; - case 74: /* refarg ::= ON DELETE refact */ -{ yygotominor.yy215.value = yymsp[0].minor.yy4; yygotominor.yy215.mask = 0x0000ff; } + case 49: /* refarg ::= ON UPDATE refact */ +{ yymsp[-2].minor.yy207.value = yymsp[0].minor.yy392<<8; yymsp[-2].minor.yy207.mask = 0x00ff00; } break; - case 75: /* refarg ::= ON UPDATE refact */ -{ yygotominor.yy215.value = yymsp[0].minor.yy4<<8; yygotominor.yy215.mask = 0x00ff00; } + case 50: /* refact ::= SET NULL */ +{ yymsp[-1].minor.yy392 = OE_SetNull; /* EV: R-33326-45252 */} break; - case 76: /* refact ::= SET NULL */ -{ yygotominor.yy4 = OE_SetNull; /* EV: R-33326-45252 */} + case 51: /* refact ::= SET DEFAULT */ +{ yymsp[-1].minor.yy392 = OE_SetDflt; /* EV: R-33326-45252 */} break; - case 77: /* refact ::= SET DEFAULT */ -{ yygotominor.yy4 = OE_SetDflt; /* EV: R-33326-45252 */} + case 52: /* refact ::= CASCADE */ +{ yymsp[0].minor.yy392 = OE_Cascade; /* EV: R-33326-45252 */} break; - case 78: /* refact ::= CASCADE */ -{ yygotominor.yy4 = OE_Cascade; /* EV: R-33326-45252 */} + case 53: /* refact ::= RESTRICT */ +{ yymsp[0].minor.yy392 = OE_Restrict; /* EV: R-33326-45252 */} break; - case 79: /* refact ::= RESTRICT */ -{ yygotominor.yy4 = OE_Restrict; /* EV: R-33326-45252 */} + case 54: /* refact ::= NO ACTION */ +{ yymsp[-1].minor.yy392 = OE_None; /* EV: R-33326-45252 */} break; - case 80: /* refact ::= NO ACTION */ -{ yygotominor.yy4 = OE_None; /* EV: R-33326-45252 */} + case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ +{yymsp[-2].minor.yy392 = 0;} break; - case 82: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ - case 98: /* defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==98); - case 100: /* onconf ::= ON CONFLICT resolvetype */ yytestcase(yyruleno==100); - case 102: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==102); - case 103: /* resolvetype ::= raisetype */ yytestcase(yyruleno==103); - case 178: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==178); -{yygotominor.yy4 = yymsp[0].minor.yy4;} + case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ + case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); + case 142: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==142); +{yymsp[-1].minor.yy392 = yymsp[0].minor.yy392;} break; - case 86: /* conslist_opt ::= */ -{yygotominor.yy0.n = 0; yygotominor.yy0.z = 0;} + case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ + case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); + case 183: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==183); + case 186: /* in_op ::= NOT IN */ yytestcase(yyruleno==186); + case 210: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==210); +{yymsp[-1].minor.yy392 = 1;} break; - case 87: /* conslist_opt ::= COMMA conslist */ -{yygotominor.yy0 = yymsp[-1].minor.yy0;} + case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ +{yymsp[-1].minor.yy392 = 0;} break; - case 90: /* tconscomma ::= COMMA */ + case 61: /* tconscomma ::= COMMA */ {pParse->constraintName.n = 0;} break; - case 93: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy322,yymsp[0].minor.yy4,yymsp[-2].minor.yy4,0);} + case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy442,yymsp[0].minor.yy392,yymsp[-2].minor.yy392,0);} break; - case 94: /* tcons ::= UNIQUE LP sortlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy322,yymsp[0].minor.yy4,0,0,0,0);} + case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy442,yymsp[0].minor.yy392,0,0,0,0);} break; - case 95: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy118.pExpr);} + case 65: /* tcons ::= CHECK LP expr RP onconf */ +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy342.pExpr);} break; - case 96: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ + case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ { - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy322, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy4); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy4); + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy442, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[-1].minor.yy392); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy392); } break; - case 99: /* onconf ::= */ - case 101: /* orconf ::= */ yytestcase(yyruleno==101); -{yygotominor.yy4 = OE_Default;} + case 68: /* onconf ::= */ + case 70: /* orconf ::= */ yytestcase(yyruleno==70); +{yymsp[1].minor.yy392 = OE_Default;} break; - case 104: /* resolvetype ::= IGNORE */ -{yygotominor.yy4 = OE_Ignore;} + case 69: /* onconf ::= ON CONFLICT resolvetype */ +{yymsp[-2].minor.yy392 = yymsp[0].minor.yy392;} break; - case 105: /* resolvetype ::= REPLACE */ - case 179: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==179); -{yygotominor.yy4 = OE_Replace;} + case 72: /* resolvetype ::= IGNORE */ +{yymsp[0].minor.yy392 = OE_Ignore;} break; - case 106: /* cmd ::= DROP TABLE ifexists fullname */ + case 73: /* resolvetype ::= REPLACE */ + case 143: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==143); +{yymsp[0].minor.yy392 = OE_Replace;} + break; + case 74: /* cmd ::= DROP TABLE ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); + sqlite3DropTable(pParse, yymsp[0].minor.yy347, 0, yymsp[-1].minor.yy392); } break; - case 109: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ + case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ { - sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[0].minor.yy387, yymsp[-7].minor.yy4, yymsp[-5].minor.yy4); + sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy442, yymsp[0].minor.yy159, yymsp[-7].minor.yy392, yymsp[-5].minor.yy392); } break; - case 110: /* cmd ::= DROP VIEW ifexists fullname */ + case 78: /* cmd ::= DROP VIEW ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy259, 1, yymsp[-1].minor.yy4); + sqlite3DropTable(pParse, yymsp[0].minor.yy347, 1, yymsp[-1].minor.yy392); } break; - case 111: /* cmd ::= select */ + case 79: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); + sqlite3Select(pParse, yymsp[0].minor.yy159, &dest); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy159); } break; - case 112: /* select ::= with selectnowith */ + case 80: /* select ::= with selectnowith */ { - Select *p = yymsp[0].minor.yy387; + Select *p = yymsp[0].minor.yy159; if( p ){ - p->pWith = yymsp[-1].minor.yy451; + p->pWith = yymsp[-1].minor.yy331; parserDoubleLinkSelect(pParse, p); }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy451); + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy331); } - yygotominor.yy387 = p; + yymsp[-1].minor.yy159 = p; /*A-overwrites-W*/ } break; - case 113: /* selectnowith ::= oneselect */ - case 119: /* oneselect ::= values */ yytestcase(yyruleno==119); -{yygotominor.yy387 = yymsp[0].minor.yy387;} - break; - case 114: /* selectnowith ::= selectnowith multiselect_op oneselect */ + case 81: /* selectnowith ::= selectnowith multiselect_op oneselect */ { - Select *pRhs = yymsp[0].minor.yy387; - Select *pLhs = yymsp[-2].minor.yy387; + Select *pRhs = yymsp[0].minor.yy159; + Select *pLhs = yymsp[-2].minor.yy159; if( pRhs && pRhs->pPrior ){ SrcList *pFrom; Token x; @@ -130343,23 +130724,30 @@ static void yy_reduce( pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0,0); } if( pRhs ){ - pRhs->op = (u8)yymsp[-1].minor.yy4; + pRhs->op = (u8)yymsp[-1].minor.yy392; pRhs->pPrior = pLhs; if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; pRhs->selFlags &= ~SF_MultiValue; - if( yymsp[-1].minor.yy4!=TK_ALL ) pParse->hasCompound = 1; + if( yymsp[-1].minor.yy392!=TK_ALL ) pParse->hasCompound = 1; }else{ sqlite3SelectDelete(pParse->db, pLhs); } - yygotominor.yy387 = pRhs; + yymsp[-2].minor.yy159 = pRhs; } break; - case 116: /* multiselect_op ::= UNION ALL */ -{yygotominor.yy4 = TK_ALL;} + case 82: /* multiselect_op ::= UNION */ + case 84: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==84); +{yymsp[0].minor.yy392 = yymsp[0].major; /*A-overwrites-OP*/} break; - case 118: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ + case 83: /* multiselect_op ::= UNION ALL */ +{yymsp[-1].minor.yy392 = TK_ALL;} + break; + case 85: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { - yygotominor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].minor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-1].minor.yy322,yymsp[-7].minor.yy4,yymsp[0].minor.yy292.pLimit,yymsp[0].minor.yy292.pOffset); +#if SELECTTRACE_ENABLED + Token s = yymsp[-8].minor.yy0; /*A-overwrites-S*/ +#endif + yymsp[-8].minor.yy159 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy442,yymsp[-5].minor.yy347,yymsp[-4].minor.yy122,yymsp[-3].minor.yy442,yymsp[-2].minor.yy122,yymsp[-1].minor.yy442,yymsp[-7].minor.yy392,yymsp[0].minor.yy64.pLimit,yymsp[0].minor.yy64.pOffset); #if SELECTTRACE_ENABLED /* Populate the Select.zSelName[] string that is used to help with ** query planner debugging, to differentiate between multiple Select @@ -130370,446 +130758,448 @@ static void yy_reduce( ** comment to be the zSelName value. Otherwise, the label is #N where ** is an integer that is incremented with each SELECT statement seen. */ - if( yygotominor.yy387!=0 ){ - const char *z = yymsp[-8].minor.yy0.z+6; + if( yymsp[-8].minor.yy159!=0 ){ + const char *z = s.z+6; int i; - sqlite3_snprintf(sizeof(yygotominor.yy387->zSelName), yygotominor.yy387->zSelName, "#%d", + sqlite3_snprintf(sizeof(yymsp[-8].minor.yy159->zSelName), yymsp[-8].minor.yy159->zSelName, "#%d", ++pParse->nSelect); while( z[0]==' ' ) z++; if( z[0]=='/' && z[1]=='*' ){ z += 2; while( z[0]==' ' ) z++; for(i=0; sqlite3Isalnum(z[i]); i++){} - sqlite3_snprintf(sizeof(yygotominor.yy387->zSelName), yygotominor.yy387->zSelName, "%.*s", i, z); + sqlite3_snprintf(sizeof(yymsp[-8].minor.yy159->zSelName), yymsp[-8].minor.yy159->zSelName, "%.*s", i, z); } } #endif /* SELECTRACE_ENABLED */ } break; - case 120: /* values ::= VALUES LP nexprlist RP */ + case 86: /* values ::= VALUES LP nexprlist RP */ { - yygotominor.yy387 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values,0,0); + yymsp[-3].minor.yy159 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values,0,0); } break; - case 121: /* values ::= values COMMA LP exprlist RP */ + case 87: /* values ::= values COMMA LP exprlist RP */ { - Select *pRight, *pLeft = yymsp[-4].minor.yy387; - pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); + Select *pRight, *pLeft = yymsp[-4].minor.yy159; + pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy442,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; if( pRight ){ pRight->op = TK_ALL; - pLeft = yymsp[-4].minor.yy387; pRight->pPrior = pLeft; - yygotominor.yy387 = pRight; + yymsp[-4].minor.yy159 = pRight; }else{ - yygotominor.yy387 = pLeft; + yymsp[-4].minor.yy159 = pLeft; } } break; - case 122: /* distinct ::= DISTINCT */ -{yygotominor.yy4 = SF_Distinct;} - break; - case 123: /* distinct ::= ALL */ -{yygotominor.yy4 = SF_All;} + case 88: /* distinct ::= DISTINCT */ +{yymsp[0].minor.yy392 = SF_Distinct;} break; - case 125: /* sclp ::= selcollist COMMA */ - case 244: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==244); -{yygotominor.yy322 = yymsp[-1].minor.yy322;} + case 89: /* distinct ::= ALL */ +{yymsp[0].minor.yy392 = SF_All;} break; - case 126: /* sclp ::= */ - case 155: /* orderby_opt ::= */ yytestcase(yyruleno==155); - case 162: /* groupby_opt ::= */ yytestcase(yyruleno==162); - case 237: /* exprlist ::= */ yytestcase(yyruleno==237); - case 243: /* eidlist_opt ::= */ yytestcase(yyruleno==243); -{yygotominor.yy322 = 0;} + case 91: /* sclp ::= */ + case 119: /* orderby_opt ::= */ yytestcase(yyruleno==119); + case 126: /* groupby_opt ::= */ yytestcase(yyruleno==126); + case 199: /* exprlist ::= */ yytestcase(yyruleno==199); + case 205: /* eidlist_opt ::= */ yytestcase(yyruleno==205); +{yymsp[1].minor.yy442 = 0;} break; - case 127: /* selcollist ::= sclp expr as */ + case 92: /* selcollist ::= sclp expr as */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, yymsp[-1].minor.yy118.pExpr); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yygotominor.yy322,&yymsp[-1].minor.yy118); + yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy442, yymsp[-1].minor.yy342.pExpr); + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-2].minor.yy442, &yymsp[0].minor.yy0, 1); + sqlite3ExprListSetSpan(pParse,yymsp[-2].minor.yy442,&yymsp[-1].minor.yy342); } break; - case 128: /* selcollist ::= sclp STAR */ + case 93: /* selcollist ::= sclp STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); - yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy322, p); + yymsp[-1].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy442, p); } break; - case 129: /* selcollist ::= sclp nm DOT STAR */ + case 94: /* selcollist ::= sclp nm DOT STAR */ { Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0, &yymsp[0].minor.yy0); Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); - yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, pDot); + yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, pDot); } break; - case 132: /* as ::= */ -{yygotominor.yy0.n = 0;} + case 95: /* as ::= AS nm */ + case 106: /* dbnm ::= DOT nm */ yytestcase(yyruleno==106); + case 219: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==219); + case 220: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==220); +{yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} break; - case 133: /* from ::= */ -{yygotominor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yygotominor.yy259));} + case 97: /* from ::= */ +{yymsp[1].minor.yy347 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy347));} break; - case 134: /* from ::= FROM seltablist */ + case 98: /* from ::= FROM seltablist */ { - yygotominor.yy259 = yymsp[0].minor.yy259; - sqlite3SrcListShiftJoinType(yygotominor.yy259); + yymsp[-1].minor.yy347 = yymsp[0].minor.yy347; + sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy347); } break; - case 135: /* stl_prefix ::= seltablist joinop */ + case 99: /* stl_prefix ::= seltablist joinop */ { - yygotominor.yy259 = yymsp[-1].minor.yy259; - if( ALWAYS(yygotominor.yy259 && yygotominor.yy259->nSrc>0) ) yygotominor.yy259->a[yygotominor.yy259->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy4; + if( ALWAYS(yymsp[-1].minor.yy347 && yymsp[-1].minor.yy347->nSrc>0) ) yymsp[-1].minor.yy347->a[yymsp[-1].minor.yy347->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy392; } break; - case 136: /* stl_prefix ::= */ -{yygotominor.yy259 = 0;} + case 100: /* stl_prefix ::= */ +{yymsp[1].minor.yy347 = 0;} break; - case 137: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ + case 101: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { - yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); - sqlite3SrcListIndexedBy(pParse, yygotominor.yy259, &yymsp[-2].minor.yy0); + yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy347, &yymsp[-2].minor.yy0); } break; - case 138: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ + case 102: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ { - yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy259,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); - sqlite3SrcListFuncArgs(pParse, yygotominor.yy259, yymsp[-4].minor.yy322); + yymsp[-8].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy347,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); + sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy347, yymsp[-4].minor.yy442); } break; - case 139: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ + case 103: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { - yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy159,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); } break; - case 140: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ + case 104: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { - if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy314==0 && yymsp[0].minor.yy384==0 ){ - yygotominor.yy259 = yymsp[-4].minor.yy259; - }else if( yymsp[-4].minor.yy259->nSrc==1 ){ - yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); - if( yygotominor.yy259 ){ - struct SrcList_item *pNew = &yygotominor.yy259->a[yygotominor.yy259->nSrc-1]; - struct SrcList_item *pOld = yymsp[-4].minor.yy259->a; + if( yymsp[-6].minor.yy347==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy122==0 && yymsp[0].minor.yy180==0 ){ + yymsp[-6].minor.yy347 = yymsp[-4].minor.yy347; + }else if( yymsp[-4].minor.yy347->nSrc==1 ){ + yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); + if( yymsp[-6].minor.yy347 ){ + struct SrcList_item *pNew = &yymsp[-6].minor.yy347->a[yymsp[-6].minor.yy347->nSrc-1]; + struct SrcList_item *pOld = yymsp[-4].minor.yy347->a; pNew->zName = pOld->zName; pNew->zDatabase = pOld->zDatabase; pNew->pSelect = pOld->pSelect; pOld->zName = pOld->zDatabase = 0; pOld->pSelect = 0; } - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy259); + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy347); }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy259); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,SF_NestedFrom,0,0); - yygotominor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy347); + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy347,0,0,0,0,SF_NestedFrom,0,0); + yymsp[-6].minor.yy347 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy347,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy122,yymsp[0].minor.yy180); } } break; - case 141: /* dbnm ::= */ - case 150: /* indexed_opt ::= */ yytestcase(yyruleno==150); -{yygotominor.yy0.z=0; yygotominor.yy0.n=0;} + case 105: /* dbnm ::= */ + case 114: /* indexed_opt ::= */ yytestcase(yyruleno==114); +{yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} break; - case 143: /* fullname ::= nm dbnm */ -{yygotominor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} + case 107: /* fullname ::= nm dbnm */ +{yymsp[-1].minor.yy347 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 144: /* joinop ::= COMMA|JOIN */ -{ yygotominor.yy4 = JT_INNER; } + case 108: /* joinop ::= COMMA|JOIN */ +{ yymsp[0].minor.yy392 = JT_INNER; } break; - case 145: /* joinop ::= JOIN_KW JOIN */ -{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); } + case 109: /* joinop ::= JOIN_KW JOIN */ +{yymsp[-1].minor.yy392 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} break; - case 146: /* joinop ::= JOIN_KW nm JOIN */ -{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); } + case 110: /* joinop ::= JOIN_KW nm JOIN */ +{yymsp[-2].minor.yy392 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} break; - case 147: /* joinop ::= JOIN_KW nm nm JOIN */ -{ yygotominor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); } + case 111: /* joinop ::= JOIN_KW nm nm JOIN */ +{yymsp[-3].minor.yy392 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} break; - case 148: /* on_opt ::= ON expr */ - case 165: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==165); - case 172: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==172); - case 232: /* case_else ::= ELSE expr */ yytestcase(yyruleno==232); - case 234: /* case_operand ::= expr */ yytestcase(yyruleno==234); -{yygotominor.yy314 = yymsp[0].minor.yy118.pExpr;} + case 112: /* on_opt ::= ON expr */ + case 129: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==129); + case 136: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==136); + case 195: /* case_else ::= ELSE expr */ yytestcase(yyruleno==195); +{yymsp[-1].minor.yy122 = yymsp[0].minor.yy342.pExpr;} break; - case 149: /* on_opt ::= */ - case 164: /* having_opt ::= */ yytestcase(yyruleno==164); - case 171: /* where_opt ::= */ yytestcase(yyruleno==171); - case 233: /* case_else ::= */ yytestcase(yyruleno==233); - case 235: /* case_operand ::= */ yytestcase(yyruleno==235); -{yygotominor.yy314 = 0;} + case 113: /* on_opt ::= */ + case 128: /* having_opt ::= */ yytestcase(yyruleno==128); + case 135: /* where_opt ::= */ yytestcase(yyruleno==135); + case 196: /* case_else ::= */ yytestcase(yyruleno==196); + case 198: /* case_operand ::= */ yytestcase(yyruleno==198); +{yymsp[1].minor.yy122 = 0;} break; - case 152: /* indexed_opt ::= NOT INDEXED */ -{yygotominor.yy0.z=0; yygotominor.yy0.n=1;} + case 115: /* indexed_opt ::= INDEXED BY nm */ +{yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} break; - case 153: /* using_opt ::= USING LP idlist RP */ - case 181: /* idlist_opt ::= LP idlist RP */ yytestcase(yyruleno==181); -{yygotominor.yy384 = yymsp[-1].minor.yy384;} + case 116: /* indexed_opt ::= NOT INDEXED */ +{yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} break; - case 154: /* using_opt ::= */ - case 180: /* idlist_opt ::= */ yytestcase(yyruleno==180); -{yygotominor.yy384 = 0;} + case 117: /* using_opt ::= USING LP idlist RP */ +{yymsp[-3].minor.yy180 = yymsp[-1].minor.yy180;} break; - case 156: /* orderby_opt ::= ORDER BY sortlist */ - case 163: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==163); - case 236: /* exprlist ::= nexprlist */ yytestcase(yyruleno==236); -{yygotominor.yy322 = yymsp[0].minor.yy322;} + case 118: /* using_opt ::= */ + case 144: /* idlist_opt ::= */ yytestcase(yyruleno==144); +{yymsp[1].minor.yy180 = 0;} break; - case 157: /* sortlist ::= sortlist COMMA expr sortorder */ + case 120: /* orderby_opt ::= ORDER BY sortlist */ + case 127: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==127); +{yymsp[-2].minor.yy442 = yymsp[0].minor.yy442;} + break; + case 121: /* sortlist ::= sortlist COMMA expr sortorder */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-1].minor.yy118.pExpr); - sqlite3ExprListSetSortOrder(yygotominor.yy322,yymsp[0].minor.yy4); + yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442,yymsp[-1].minor.yy342.pExpr); + sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy442,yymsp[0].minor.yy392); } break; - case 158: /* sortlist ::= expr sortorder */ + case 122: /* sortlist ::= expr sortorder */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy118.pExpr); - sqlite3ExprListSetSortOrder(yygotominor.yy322,yymsp[0].minor.yy4); + yymsp[-1].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy342.pExpr); /*A-overwrites-Y*/ + sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy442,yymsp[0].minor.yy392); } break; - case 159: /* sortorder ::= ASC */ -{yygotominor.yy4 = SQLITE_SO_ASC;} + case 123: /* sortorder ::= ASC */ +{yymsp[0].minor.yy392 = SQLITE_SO_ASC;} break; - case 160: /* sortorder ::= DESC */ -{yygotominor.yy4 = SQLITE_SO_DESC;} + case 124: /* sortorder ::= DESC */ +{yymsp[0].minor.yy392 = SQLITE_SO_DESC;} break; - case 161: /* sortorder ::= */ -{yygotominor.yy4 = SQLITE_SO_UNDEFINED;} + case 125: /* sortorder ::= */ +{yymsp[1].minor.yy392 = SQLITE_SO_UNDEFINED;} break; - case 166: /* limit_opt ::= */ -{yygotominor.yy292.pLimit = 0; yygotominor.yy292.pOffset = 0;} + case 130: /* limit_opt ::= */ +{yymsp[1].minor.yy64.pLimit = 0; yymsp[1].minor.yy64.pOffset = 0;} break; - case 167: /* limit_opt ::= LIMIT expr */ -{yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr; yygotominor.yy292.pOffset = 0;} + case 131: /* limit_opt ::= LIMIT expr */ +{yymsp[-1].minor.yy64.pLimit = yymsp[0].minor.yy342.pExpr; yymsp[-1].minor.yy64.pOffset = 0;} break; - case 168: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yygotominor.yy292.pLimit = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pOffset = yymsp[0].minor.yy118.pExpr;} + case 132: /* limit_opt ::= LIMIT expr OFFSET expr */ +{yymsp[-3].minor.yy64.pLimit = yymsp[-2].minor.yy342.pExpr; yymsp[-3].minor.yy64.pOffset = yymsp[0].minor.yy342.pExpr;} break; - case 169: /* limit_opt ::= LIMIT expr COMMA expr */ -{yygotominor.yy292.pOffset = yymsp[-2].minor.yy118.pExpr; yygotominor.yy292.pLimit = yymsp[0].minor.yy118.pExpr;} + case 133: /* limit_opt ::= LIMIT expr COMMA expr */ +{yymsp[-3].minor.yy64.pOffset = yymsp[-2].minor.yy342.pExpr; yymsp[-3].minor.yy64.pLimit = yymsp[0].minor.yy342.pExpr;} break; - case 170: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ + case 134: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314); + sqlite3WithPush(pParse, yymsp[-5].minor.yy331, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy347, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy347,yymsp[0].minor.yy122); } break; - case 173: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ + case 137: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ { - sqlite3WithPush(pParse, yymsp[-7].minor.yy451, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy4); + sqlite3WithPush(pParse, yymsp[-7].minor.yy331, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy347, &yymsp[-3].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy442,"set list"); + sqlite3Update(pParse,yymsp[-4].minor.yy347,yymsp[-1].minor.yy442,yymsp[0].minor.yy122,yymsp[-5].minor.yy392); } break; - case 174: /* setlist ::= setlist COMMA nm EQ expr */ + case 138: /* setlist ::= setlist COMMA nm EQ expr */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy118.pExpr); - sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); + yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); + sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, 1); } break; - case 175: /* setlist ::= nm EQ expr */ + case 139: /* setlist ::= nm EQ expr */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy118.pExpr); - sqlite3ExprListSetName(pParse, yygotominor.yy322, &yymsp[-2].minor.yy0, 1); + yylhsminor.yy442 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy342.pExpr); + sqlite3ExprListSetName(pParse, yylhsminor.yy442, &yymsp[-2].minor.yy0, 1); } + yymsp[-2].minor.yy442 = yylhsminor.yy442; break; - case 176: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ + case 140: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); - sqlite3Insert(pParse, yymsp[-2].minor.yy259, yymsp[0].minor.yy387, yymsp[-1].minor.yy384, yymsp[-4].minor.yy4); + sqlite3WithPush(pParse, yymsp[-5].minor.yy331, 1); + sqlite3Insert(pParse, yymsp[-2].minor.yy347, yymsp[0].minor.yy159, yymsp[-1].minor.yy180, yymsp[-4].minor.yy392); } break; - case 177: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ + case 141: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ { - sqlite3WithPush(pParse, yymsp[-6].minor.yy451, 1); - sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, yymsp[-2].minor.yy384, yymsp[-5].minor.yy4); + sqlite3WithPush(pParse, yymsp[-6].minor.yy331, 1); + sqlite3Insert(pParse, yymsp[-3].minor.yy347, 0, yymsp[-2].minor.yy180, yymsp[-5].minor.yy392); } break; - case 182: /* idlist ::= idlist COMMA nm */ -{yygotominor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp[0].minor.yy0);} + case 145: /* idlist_opt ::= LP idlist RP */ +{yymsp[-2].minor.yy180 = yymsp[-1].minor.yy180;} break; - case 183: /* idlist ::= nm */ -{yygotominor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0);} + case 146: /* idlist ::= idlist COMMA nm */ +{yymsp[-2].minor.yy180 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy180,&yymsp[0].minor.yy0);} break; - case 184: /* expr ::= term */ -{yygotominor.yy118 = yymsp[0].minor.yy118;} + case 147: /* idlist ::= nm */ +{yymsp[0].minor.yy180 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} break; - case 185: /* expr ::= LP expr RP */ -{yygotominor.yy118.pExpr = yymsp[-1].minor.yy118.pExpr; spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0);} + case 148: /* expr ::= LP expr RP */ +{spanSet(&yymsp[-2].minor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ yymsp[-2].minor.yy342.pExpr = yymsp[-1].minor.yy342.pExpr;} break; - case 186: /* term ::= NULL */ - case 191: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==191); - case 192: /* term ::= STRING */ yytestcase(yyruleno==192); -{spanExpr(&yygotominor.yy118, pParse, yymsp[0].major, &yymsp[0].minor.yy0);} + case 149: /* term ::= NULL */ + case 154: /* term ::= INTEGER|FLOAT|BLOB */ yytestcase(yyruleno==154); + case 155: /* term ::= STRING */ yytestcase(yyruleno==155); +{spanExpr(&yymsp[0].minor.yy342,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/} break; - case 187: /* expr ::= ID|INDEXED */ - case 188: /* expr ::= JOIN_KW */ yytestcase(yyruleno==188); -{spanExpr(&yygotominor.yy118, pParse, TK_ID, &yymsp[0].minor.yy0);} + case 150: /* expr ::= ID|INDEXED */ + case 151: /* expr ::= JOIN_KW */ yytestcase(yyruleno==151); +{spanExpr(&yymsp[0].minor.yy342,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 189: /* expr ::= nm DOT nm */ + case 152: /* expr ::= nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); - spanSet(&yygotominor.yy118,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); + spanSet(&yymsp[-2].minor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-2].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); } break; - case 190: /* expr ::= nm DOT nm DOT nm */ + case 153: /* expr ::= nm DOT nm DOT nm */ { Expr *temp1 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-4].minor.yy0); Expr *temp2 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); Expr *temp3 = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[0].minor.yy0); Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); - spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); + spanSet(&yymsp[-4].minor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); } break; - case 193: /* expr ::= VARIABLE */ + case 156: /* expr ::= VARIABLE */ { - if( yymsp[0].minor.yy0.n>=2 && yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1]) ){ + Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ + if( t.n>=2 && t.z[0]=='#' && sqlite3Isdigit(t.z[1]) ){ /* When doing a nested parse, one can include terms in an expression ** that look like this: #1 #2 ... These terms refer to registers ** in the virtual machine. #N is the N-th register. */ + spanSet(&yymsp[0].minor.yy342, &t, &t); if( pParse->nested==0 ){ - sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &yymsp[0].minor.yy0); - yygotominor.yy118.pExpr = 0; + sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); + yymsp[0].minor.yy342.pExpr = 0; }else{ - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &yymsp[0].minor.yy0); - if( yygotominor.yy118.pExpr ) sqlite3GetInt32(&yymsp[0].minor.yy0.z[1], &yygotominor.yy118.pExpr->iTable); + yymsp[0].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, &t); + if( yymsp[0].minor.yy342.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy342.pExpr->iTable); } }else{ - spanExpr(&yygotominor.yy118, pParse, TK_VARIABLE, &yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yygotominor.yy118.pExpr); + spanExpr(&yymsp[0].minor.yy342, pParse, TK_VARIABLE, t); + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy342.pExpr); } - spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } break; - case 194: /* expr ::= expr COLLATE ID|STRING */ + case 157: /* expr ::= expr COLLATE ID|STRING */ { - yygotominor.yy118.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy118.pExpr, &yymsp[0].minor.yy0, 1); - yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-2].minor.yy342.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy342.pExpr, &yymsp[0].minor.yy0, 1); + yymsp[-2].minor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 195: /* expr ::= CAST LP expr AS typetoken RP */ + case 158: /* expr ::= CAST LP expr AS typetoken RP */ { - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy118.pExpr, 0, &yymsp[-1].minor.yy0); - spanSet(&yygotominor.yy118,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); + spanSet(&yymsp[-5].minor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-5].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy342.pExpr, 0, &yymsp[-1].minor.yy0); } break; - case 196: /* expr ::= ID|INDEXED LP distinct exprlist RP */ + case 159: /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + if( yymsp[-1].minor.yy442 && yymsp[-1].minor.yy442->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); } - yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &yymsp[-4].minor.yy0); - spanSet(&yygotominor.yy118,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); - if( yymsp[-2].minor.yy4==SF_Distinct && yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->flags |= EP_Distinct; + yylhsminor.yy342.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy442, &yymsp[-4].minor.yy0); + spanSet(&yylhsminor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); + if( yymsp[-2].minor.yy392==SF_Distinct && yylhsminor.yy342.pExpr ){ + yylhsminor.yy342.pExpr->flags |= EP_Distinct; } } + yymsp[-4].minor.yy342 = yylhsminor.yy342; break; - case 197: /* expr ::= ID|INDEXED LP STAR RP */ + case 160: /* expr ::= ID|INDEXED LP STAR RP */ { - yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); - spanSet(&yygotominor.yy118,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); + yylhsminor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); + spanSet(&yylhsminor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); } + yymsp[-3].minor.yy342 = yylhsminor.yy342; break; - case 198: /* term ::= CTIME_KW */ + case 161: /* term ::= CTIME_KW */ { - yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); - spanSet(&yygotominor.yy118, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy342.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); + spanSet(&yylhsminor.yy342, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); } + yymsp[0].minor.yy342 = yylhsminor.yy342; break; - case 199: /* expr ::= expr AND expr */ - case 200: /* expr ::= expr OR expr */ yytestcase(yyruleno==200); - case 201: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==201); - case 202: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==202); - case 203: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==203); - case 204: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==204); - case 205: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==205); - case 206: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==206); -{spanBinaryExpr(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy118);} + case 162: /* expr ::= expr AND expr */ + case 163: /* expr ::= expr OR expr */ yytestcase(yyruleno==163); + case 164: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==164); + case 165: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==165); + case 166: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==166); + case 167: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==167); + case 168: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==168); + case 169: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==169); +{spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342);} break; - case 207: /* likeop ::= LIKE_KW|MATCH */ -{yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.bNot = 0;} + case 170: /* likeop ::= LIKE_KW|MATCH */ +{yymsp[0].minor.yy318.eOperator = yymsp[0].minor.yy0; yymsp[0].minor.yy318.bNot = 0;/*A-overwrites-X*/} break; - case 208: /* likeop ::= NOT LIKE_KW|MATCH */ -{yygotominor.yy342.eOperator = yymsp[0].minor.yy0; yygotominor.yy342.bNot = 1;} + case 171: /* likeop ::= NOT LIKE_KW|MATCH */ +{yymsp[-1].minor.yy318.eOperator = yymsp[0].minor.yy0; yymsp[-1].minor.yy318.bNot = 1;} break; - case 209: /* expr ::= expr likeop expr */ + case 172: /* expr ::= expr likeop expr */ { ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy118.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy118.pExpr); - yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy342.eOperator); - exprNot(pParse, yymsp[-1].minor.yy342.bNot, &yygotominor.yy118.pExpr); - yygotominor.yy118.zStart = yymsp[-2].minor.yy118.zStart; - yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; - if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy342.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy342.pExpr); + yymsp[-2].minor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy318.eOperator); + exprNot(pParse, yymsp[-1].minor.yy318.bNot, &yymsp[-2].minor.yy342); + yymsp[-2].minor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; + if( yymsp[-2].minor.yy342.pExpr ) yymsp[-2].minor.yy342.pExpr->flags |= EP_InfixFunc; } break; - case 210: /* expr ::= expr likeop expr ESCAPE expr */ + case 173: /* expr ::= expr likeop expr ESCAPE expr */ { ExprList *pList; - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy118.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); - yygotominor.yy118.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy342.eOperator); - exprNot(pParse, yymsp[-3].minor.yy342.bNot, &yygotominor.yy118.pExpr); - yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; - yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; - if( yygotominor.yy118.pExpr ) yygotominor.yy118.pExpr->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy342.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); + yymsp[-4].minor.yy342.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy318.eOperator); + exprNot(pParse, yymsp[-3].minor.yy318.bNot, &yymsp[-4].minor.yy342); + yymsp[-4].minor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; + if( yymsp[-4].minor.yy342.pExpr ) yymsp[-4].minor.yy342.pExpr->flags |= EP_InfixFunc; } break; - case 211: /* expr ::= expr ISNULL|NOTNULL */ -{spanUnaryPostfix(&yygotominor.yy118,pParse,yymsp[0].major,&yymsp[-1].minor.yy118,&yymsp[0].minor.yy0);} + case 174: /* expr ::= expr ISNULL|NOTNULL */ +{spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy342,&yymsp[0].minor.yy0);} break; - case 212: /* expr ::= expr NOT NULL */ -{spanUnaryPostfix(&yygotominor.yy118,pParse,TK_NOTNULL,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy0);} + case 175: /* expr ::= expr NOT NULL */ +{spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy0);} break; - case 213: /* expr ::= expr IS expr */ + case 176: /* expr ::= expr IS expr */ { - spanBinaryExpr(&yygotominor.yy118,pParse,TK_IS,&yymsp[-2].minor.yy118,&yymsp[0].minor.yy118); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExpr, TK_ISNULL); + spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy342,&yymsp[0].minor.yy342); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yymsp[-2].minor.yy342.pExpr, TK_ISNULL); } break; - case 214: /* expr ::= expr IS NOT expr */ + case 177: /* expr ::= expr IS NOT expr */ { - spanBinaryExpr(&yygotominor.yy118,pParse,TK_ISNOT,&yymsp[-3].minor.yy118,&yymsp[0].minor.yy118); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy118.pExpr, yygotominor.yy118.pExpr, TK_NOTNULL); + spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy342,&yymsp[0].minor.yy342); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy342.pExpr, yymsp[-3].minor.yy342.pExpr, TK_NOTNULL); } break; - case 215: /* expr ::= NOT expr */ - case 216: /* expr ::= BITNOT expr */ yytestcase(yyruleno==216); -{spanUnaryPrefix(&yygotominor.yy118,pParse,yymsp[-1].major,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} + case 178: /* expr ::= NOT expr */ + case 179: /* expr ::= BITNOT expr */ yytestcase(yyruleno==179); +{spanUnaryPrefix(&yymsp[-1].minor.yy342,pParse,yymsp[-1].major,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + break; + case 180: /* expr ::= MINUS expr */ +{spanUnaryPrefix(&yymsp[-1].minor.yy342,pParse,TK_UMINUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} break; - case 217: /* expr ::= MINUS expr */ -{spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UMINUS,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} + case 181: /* expr ::= PLUS expr */ +{spanUnaryPrefix(&yymsp[-1].minor.yy342,pParse,TK_UPLUS,&yymsp[0].minor.yy342,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} break; - case 218: /* expr ::= PLUS expr */ -{spanUnaryPrefix(&yygotominor.yy118,pParse,TK_UPLUS,&yymsp[0].minor.yy118,&yymsp[-1].minor.yy0);} + case 182: /* between_op ::= BETWEEN */ + case 185: /* in_op ::= IN */ yytestcase(yyruleno==185); +{yymsp[0].minor.yy392 = 0;} break; - case 221: /* expr ::= expr between_op expr AND expr */ + case 184: /* expr ::= expr between_op expr AND expr */ { - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy118.pExpr); - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy118.pExpr, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->x.pList = pList; + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy342.pExpr); + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy342.pExpr, 0, 0); + if( yymsp[-4].minor.yy342.pExpr ){ + yymsp[-4].minor.yy342.pExpr->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } - exprNot(pParse, yymsp[-3].minor.yy4, &yygotominor.yy118.pExpr); - yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; - yygotominor.yy118.zEnd = yymsp[0].minor.yy118.zEnd; + exprNot(pParse, yymsp[-3].minor.yy392, &yymsp[-4].minor.yy342); + yymsp[-4].minor.yy342.zEnd = yymsp[0].minor.yy342.zEnd; } break; - case 224: /* expr ::= expr in_op LP exprlist RP */ + case 187: /* expr ::= expr in_op LP exprlist RP */ { - if( yymsp[-1].minor.yy322==0 ){ + if( yymsp[-1].minor.yy442==0 ){ /* Expressions of the form ** ** expr1 IN () @@ -130818,9 +131208,9 @@ static void yy_reduce( ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy4]); - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy118.pExpr); - }else if( yymsp[-1].minor.yy322->nExpr==1 ){ + sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy342.pExpr); + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy392]); + }else if( yymsp[-1].minor.yy442->nExpr==1 ){ /* Expressions of the form: ** ** expr1 IN (?1) @@ -130837,423 +131227,436 @@ static void yy_reduce( ** affinity or the collating sequence to use for comparison. Otherwise, ** the semantics would be subtly different from IN or NOT IN. */ - Expr *pRHS = yymsp[-1].minor.yy322->a[0].pExpr; - yymsp[-1].minor.yy322->a[0].pExpr = 0; - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); + Expr *pRHS = yymsp[-1].minor.yy442->a[0].pExpr; + yymsp[-1].minor.yy442->a[0].pExpr = 0; + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); /* pRHS cannot be NULL because a malloc error would have been detected ** before now and control would have never reached this point */ if( ALWAYS(pRHS) ){ pRHS->flags &= ~EP_Collate; pRHS->flags |= EP_Generic; } - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy4 ? TK_NE : TK_EQ, yymsp[-4].minor.yy118.pExpr, pRHS, 0); + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy392 ? TK_NE : TK_EQ, yymsp[-4].minor.yy342.pExpr, pRHS, 0); }else{ - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.pExpr, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->x.pList = yymsp[-1].minor.yy322; - sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy118.pExpr); + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); + if( yymsp[-4].minor.yy342.pExpr ){ + yymsp[-4].minor.yy342.pExpr->x.pList = yymsp[-1].minor.yy442; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy342.pExpr); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy442); } - exprNot(pParse, yymsp[-3].minor.yy4, &yygotominor.yy118.pExpr); + exprNot(pParse, yymsp[-3].minor.yy392, &yymsp[-4].minor.yy342); } - yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-4].minor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 225: /* expr ::= LP select RP */ + case 188: /* expr ::= LP select RP */ { - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; - ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect|EP_Subquery); - sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy118.pExpr); + spanSet(&yymsp[-2].minor.yy342,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ + yymsp[-2].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); + if( yymsp[-2].minor.yy342.pExpr ){ + yymsp[-2].minor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; + ExprSetProperty(yymsp[-2].minor.yy342.pExpr, EP_xIsSelect|EP_Subquery); + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-2].minor.yy342.pExpr); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); } - yygotominor.yy118.zStart = yymsp[-2].minor.yy0.z; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 226: /* expr ::= expr in_op LP select RP */ + case 189: /* expr ::= expr in_op LP select RP */ { - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy118.pExpr, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->x.pSelect = yymsp[-1].minor.yy387; - ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect|EP_Subquery); - sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy118.pExpr); + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy342.pExpr, 0, 0); + if( yymsp[-4].minor.yy342.pExpr ){ + yymsp[-4].minor.yy342.pExpr->x.pSelect = yymsp[-1].minor.yy159; + ExprSetProperty(yymsp[-4].minor.yy342.pExpr, EP_xIsSelect|EP_Subquery); + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy342.pExpr); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); } - exprNot(pParse, yymsp[-3].minor.yy4, &yygotominor.yy118.pExpr); - yygotominor.yy118.zStart = yymsp[-4].minor.yy118.zStart; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + exprNot(pParse, yymsp[-3].minor.yy392, &yymsp[-4].minor.yy342); + yymsp[-4].minor.yy342.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 227: /* expr ::= expr in_op nm dbnm */ + case 190: /* expr ::= expr in_op nm dbnm */ { SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy118.pExpr, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); - ExprSetProperty(yygotominor.yy118.pExpr, EP_xIsSelect|EP_Subquery); - sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy118.pExpr); + yymsp[-3].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-3].minor.yy342.pExpr, 0, 0); + if( yymsp[-3].minor.yy342.pExpr ){ + yymsp[-3].minor.yy342.pExpr->x.pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); + ExprSetProperty(yymsp[-3].minor.yy342.pExpr, EP_xIsSelect|EP_Subquery); + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-3].minor.yy342.pExpr); }else{ sqlite3SrcListDelete(pParse->db, pSrc); } - exprNot(pParse, yymsp[-2].minor.yy4, &yygotominor.yy118.pExpr); - yygotominor.yy118.zStart = yymsp[-3].minor.yy118.zStart; - yygotominor.yy118.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; + exprNot(pParse, yymsp[-2].minor.yy392, &yymsp[-3].minor.yy342); + yymsp[-3].minor.yy342.zEnd = yymsp[0].minor.yy0.z ? &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] : &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n]; } break; - case 228: /* expr ::= EXISTS LP select RP */ + case 191: /* expr ::= EXISTS LP select RP */ { - Expr *p = yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); + Expr *p; + spanSet(&yymsp[-3].minor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ + p = yymsp[-3].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); if( p ){ - p->x.pSelect = yymsp[-1].minor.yy387; + p->x.pSelect = yymsp[-1].minor.yy159; ExprSetProperty(p, EP_xIsSelect|EP_Subquery); sqlite3ExprSetHeightAndFlags(pParse, p); }else{ - sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy387); + sqlite3SelectDelete(pParse->db, yymsp[-1].minor.yy159); } - yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 229: /* expr ::= CASE case_operand case_exprlist case_else END */ + case 192: /* expr ::= CASE case_operand case_exprlist case_else END */ { - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->x.pList = yymsp[-1].minor.yy314 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[-1].minor.yy314) : yymsp[-2].minor.yy322; - sqlite3ExprSetHeightAndFlags(pParse, yygotominor.yy118.pExpr); + spanSet(&yymsp[-4].minor.yy342,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-C*/ + yymsp[-4].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy122, 0, 0); + if( yymsp[-4].minor.yy342.pExpr ){ + yymsp[-4].minor.yy342.pExpr->x.pList = yymsp[-1].minor.yy122 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[-1].minor.yy122) : yymsp[-2].minor.yy442; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy342.pExpr); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy314); + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy442); + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy122); } - yygotominor.yy118.zStart = yymsp[-4].minor.yy0.z; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 230: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 193: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[-2].minor.yy118.pExpr); - yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].minor.yy118.pExpr); + yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[-2].minor.yy342.pExpr); + yymsp[-4].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy442, yymsp[0].minor.yy342.pExpr); } break; - case 231: /* case_exprlist ::= WHEN expr THEN expr */ + case 194: /* case_exprlist ::= WHEN expr THEN expr */ { - yygotominor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy118.pExpr); - yygotominor.yy322 = sqlite3ExprListAppend(pParse,yygotominor.yy322, yymsp[0].minor.yy118.pExpr); + yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy342.pExpr); + yymsp[-3].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy442, yymsp[0].minor.yy342.pExpr); } break; - case 238: /* nexprlist ::= nexprlist COMMA expr */ -{yygotominor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0].minor.yy118.pExpr);} + case 197: /* case_operand ::= expr */ +{yymsp[0].minor.yy122 = yymsp[0].minor.yy342.pExpr; /*A-overwrites-X*/} + break; + case 200: /* nexprlist ::= nexprlist COMMA expr */ +{yymsp[-2].minor.yy442 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy442,yymsp[0].minor.yy342.pExpr);} break; - case 239: /* nexprlist ::= expr */ -{yygotominor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy118.pExpr);} + case 201: /* nexprlist ::= expr */ +{yymsp[0].minor.yy442 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy342.pExpr); /*A-overwrites-Y*/} break; - case 240: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + case 202: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ { sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, - sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy322, yymsp[-10].minor.yy4, - &yymsp[-11].minor.yy0, yymsp[0].minor.yy314, SQLITE_SO_ASC, yymsp[-8].minor.yy4); + sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy442, yymsp[-10].minor.yy392, + &yymsp[-11].minor.yy0, yymsp[0].minor.yy122, SQLITE_SO_ASC, yymsp[-8].minor.yy392); } break; - case 241: /* uniqueflag ::= UNIQUE */ - case 292: /* raisetype ::= ABORT */ yytestcase(yyruleno==292); -{yygotominor.yy4 = OE_Abort;} + case 203: /* uniqueflag ::= UNIQUE */ + case 244: /* raisetype ::= ABORT */ yytestcase(yyruleno==244); +{yymsp[0].minor.yy392 = OE_Abort;} break; - case 242: /* uniqueflag ::= */ -{yygotominor.yy4 = OE_None;} + case 204: /* uniqueflag ::= */ +{yymsp[1].minor.yy392 = OE_None;} break; - case 245: /* eidlist ::= eidlist COMMA nm collate sortorder */ + case 206: /* eidlist_opt ::= LP eidlist RP */ +{yymsp[-2].minor.yy442 = yymsp[-1].minor.yy442;} + break; + case 207: /* eidlist ::= eidlist COMMA nm collate sortorder */ { - yygotominor.yy322 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); + yymsp[-4].minor.yy442 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy442, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy392, yymsp[0].minor.yy392); } break; - case 246: /* eidlist ::= nm collate sortorder */ + case 208: /* eidlist ::= nm collate sortorder */ { - yygotominor.yy322 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); + yymsp[-2].minor.yy442 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy392, yymsp[0].minor.yy392); /*A-overwrites-Y*/ } break; - case 249: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} + case 211: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy347, yymsp[-1].minor.yy392);} break; - case 250: /* cmd ::= VACUUM */ - case 251: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==251); + case 212: /* cmd ::= VACUUM */ + case 213: /* cmd ::= VACUUM nm */ yytestcase(yyruleno==213); {sqlite3Vacuum(pParse);} break; - case 252: /* cmd ::= PRAGMA nm dbnm */ + case 214: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 253: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 215: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 254: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 216: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 255: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 217: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 256: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 218: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; - case 265: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 221: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy203, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy327, &all); } break; - case 266: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 222: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); - yygotominor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy392, yymsp[-4].minor.yy410.a, yymsp[-4].minor.yy410.b, yymsp[-2].minor.yy347, yymsp[0].minor.yy122, yymsp[-10].minor.yy392, yymsp[-8].minor.yy392); + yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ } break; - case 267: /* trigger_time ::= BEFORE */ - case 270: /* trigger_time ::= */ yytestcase(yyruleno==270); -{ yygotominor.yy4 = TK_BEFORE; } + case 223: /* trigger_time ::= BEFORE */ +{ yymsp[0].minor.yy392 = TK_BEFORE; } + break; + case 224: /* trigger_time ::= AFTER */ +{ yymsp[0].minor.yy392 = TK_AFTER; } break; - case 268: /* trigger_time ::= AFTER */ -{ yygotominor.yy4 = TK_AFTER; } + case 225: /* trigger_time ::= INSTEAD OF */ +{ yymsp[-1].minor.yy392 = TK_INSTEAD;} break; - case 269: /* trigger_time ::= INSTEAD OF */ -{ yygotominor.yy4 = TK_INSTEAD;} + case 226: /* trigger_time ::= */ +{ yymsp[1].minor.yy392 = TK_BEFORE; } break; - case 271: /* trigger_event ::= DELETE|INSERT */ - case 272: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==272); -{yygotominor.yy90.a = yymsp[0].major; yygotominor.yy90.b = 0;} + case 227: /* trigger_event ::= DELETE|INSERT */ + case 228: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==228); +{yymsp[0].minor.yy410.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy410.b = 0;} break; - case 273: /* trigger_event ::= UPDATE OF idlist */ -{yygotominor.yy90.a = TK_UPDATE; yygotominor.yy90.b = yymsp[0].minor.yy384;} + case 229: /* trigger_event ::= UPDATE OF idlist */ +{yymsp[-2].minor.yy410.a = TK_UPDATE; yymsp[-2].minor.yy410.b = yymsp[0].minor.yy180;} break; - case 276: /* when_clause ::= */ - case 297: /* key_opt ::= */ yytestcase(yyruleno==297); -{ yygotominor.yy314 = 0; } + case 230: /* when_clause ::= */ + case 249: /* key_opt ::= */ yytestcase(yyruleno==249); +{ yymsp[1].minor.yy122 = 0; } break; - case 277: /* when_clause ::= WHEN expr */ - case 298: /* key_opt ::= KEY expr */ yytestcase(yyruleno==298); -{ yygotominor.yy314 = yymsp[0].minor.yy118.pExpr; } + case 231: /* when_clause ::= WHEN expr */ + case 250: /* key_opt ::= KEY expr */ yytestcase(yyruleno==250); +{ yymsp[-1].minor.yy122 = yymsp[0].minor.yy342.pExpr; } break; - case 278: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 232: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { - assert( yymsp[-2].minor.yy203!=0 ); - yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; - yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; - yygotominor.yy203 = yymsp[-2].minor.yy203; + assert( yymsp[-2].minor.yy327!=0 ); + yymsp[-2].minor.yy327->pLast->pNext = yymsp[-1].minor.yy327; + yymsp[-2].minor.yy327->pLast = yymsp[-1].minor.yy327; } break; - case 279: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 233: /* trigger_cmd_list ::= trigger_cmd SEMI */ { - assert( yymsp[-1].minor.yy203!=0 ); - yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; - yygotominor.yy203 = yymsp[-1].minor.yy203; + assert( yymsp[-1].minor.yy327!=0 ); + yymsp[-1].minor.yy327->pLast = yymsp[-1].minor.yy327; } break; - case 281: /* trnm ::= nm DOT nm */ + case 234: /* trnm ::= nm DOT nm */ { - yygotominor.yy0 = yymsp[0].minor.yy0; + yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, "qualified table names are not allowed on INSERT, UPDATE, and DELETE " "statements within triggers"); } break; - case 283: /* tridxby ::= INDEXED BY nm */ + case 235: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 284: /* tridxby ::= NOT INDEXED */ + case 236: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 285: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ -{ yygotominor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy322, yymsp[0].minor.yy314, yymsp[-5].minor.yy4); } + case 237: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ +{yymsp[-6].minor.yy327 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy442, yymsp[0].minor.yy122, yymsp[-5].minor.yy392);} break; - case 286: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ -{yygotominor.yy203 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy384, yymsp[0].minor.yy387, yymsp[-4].minor.yy4);} + case 238: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ +{yymsp[-4].minor.yy327 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy180, yymsp[0].minor.yy159, yymsp[-4].minor.yy392);/*A-overwrites-R*/} break; - case 287: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ -{yygotominor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy314);} + case 239: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ +{yymsp[-4].minor.yy327 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy122);} break; - case 288: /* trigger_cmd ::= select */ -{yygotominor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy387); } + case 240: /* trigger_cmd ::= select */ +{yymsp[0].minor.yy327 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy159); /*A-overwrites-X*/} break; - case 289: /* expr ::= RAISE LP IGNORE RP */ + case 241: /* expr ::= RAISE LP IGNORE RP */ { - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); - if( yygotominor.yy118.pExpr ){ - yygotominor.yy118.pExpr->affinity = OE_Ignore; + spanSet(&yymsp[-3].minor.yy342,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-3].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); + if( yymsp[-3].minor.yy342.pExpr ){ + yymsp[-3].minor.yy342.pExpr->affinity = OE_Ignore; } - yygotominor.yy118.zStart = yymsp[-3].minor.yy0.z; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 290: /* expr ::= RAISE LP raisetype COMMA nm RP */ + case 242: /* expr ::= RAISE LP raisetype COMMA nm RP */ { - yygotominor.yy118.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); - if( yygotominor.yy118.pExpr ) { - yygotominor.yy118.pExpr->affinity = (char)yymsp[-3].minor.yy4; + spanSet(&yymsp[-5].minor.yy342,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ + yymsp[-5].minor.yy342.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); + if( yymsp[-5].minor.yy342.pExpr ) { + yymsp[-5].minor.yy342.pExpr->affinity = (char)yymsp[-3].minor.yy392; } - yygotominor.yy118.zStart = yymsp[-5].minor.yy0.z; - yygotominor.yy118.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 291: /* raisetype ::= ROLLBACK */ -{yygotominor.yy4 = OE_Rollback;} + case 243: /* raisetype ::= ROLLBACK */ +{yymsp[0].minor.yy392 = OE_Rollback;} break; - case 293: /* raisetype ::= FAIL */ -{yygotominor.yy4 = OE_Fail;} + case 245: /* raisetype ::= FAIL */ +{yymsp[0].minor.yy392 = OE_Fail;} break; - case 294: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 246: /* cmd ::= DROP TRIGGER ifexists fullname */ { - sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); + sqlite3DropTrigger(pParse,yymsp[0].minor.yy347,yymsp[-1].minor.yy392); } break; - case 295: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 247: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { - sqlite3Attach(pParse, yymsp[-3].minor.yy118.pExpr, yymsp[-1].minor.yy118.pExpr, yymsp[0].minor.yy314); + sqlite3Attach(pParse, yymsp[-3].minor.yy342.pExpr, yymsp[-1].minor.yy342.pExpr, yymsp[0].minor.yy122); } break; - case 296: /* cmd ::= DETACH database_kw_opt expr */ + case 248: /* cmd ::= DETACH database_kw_opt expr */ { - sqlite3Detach(pParse, yymsp[0].minor.yy118.pExpr); + sqlite3Detach(pParse, yymsp[0].minor.yy342.pExpr); } break; - case 301: /* cmd ::= REINDEX */ + case 251: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 302: /* cmd ::= REINDEX nm dbnm */ + case 252: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 303: /* cmd ::= ANALYZE */ + case 253: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 304: /* cmd ::= ANALYZE nm dbnm */ + case 254: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 305: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 255: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy347,&yymsp[0].minor.yy0); } break; - case 306: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt column */ + case 256: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ { - sqlite3AlterFinishAddColumn(pParse, &yymsp[0].minor.yy0); + yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; + sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); } break; - case 307: /* add_column_fullname ::= fullname */ + case 257: /* add_column_fullname ::= fullname */ { disableLookaside(pParse); - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy347); } break; - case 310: /* cmd ::= create_vtab */ + case 258: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 311: /* cmd ::= create_vtab LP vtabarglist RP */ + case 259: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 312: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 260: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy4); + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy392); } break; - case 315: /* vtabarg ::= */ + case 261: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 317: /* vtabargtoken ::= ANY */ - case 318: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==318); - case 319: /* lp ::= LP */ yytestcase(yyruleno==319); + case 262: /* vtabargtoken ::= ANY */ + case 263: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==263); + case 264: /* lp ::= LP */ yytestcase(yyruleno==264); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; - case 323: /* with ::= */ -{yygotominor.yy451 = 0;} + case 265: /* with ::= */ +{yymsp[1].minor.yy331 = 0;} break; - case 324: /* with ::= WITH wqlist */ - case 325: /* with ::= WITH RECURSIVE wqlist */ yytestcase(yyruleno==325); -{ yygotominor.yy451 = yymsp[0].minor.yy451; } + case 266: /* with ::= WITH wqlist */ +{ yymsp[-1].minor.yy331 = yymsp[0].minor.yy331; } break; - case 326: /* wqlist ::= nm eidlist_opt AS LP select RP */ + case 267: /* with ::= WITH RECURSIVE wqlist */ +{ yymsp[-2].minor.yy331 = yymsp[0].minor.yy331; } + break; + case 268: /* wqlist ::= nm eidlist_opt AS LP select RP */ { - yygotominor.yy451 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); + yymsp[-5].minor.yy331 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy159); /*A-overwrites-X*/ } break; - case 327: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + case 269: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ { - yygotominor.yy451 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy451, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); + yymsp[-7].minor.yy331 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy331, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy442, yymsp[-1].minor.yy159); } break; default: - /* (0) input ::= cmdlist */ yytestcase(yyruleno==0); - /* (1) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==1); - /* (2) cmdlist ::= ecmd */ yytestcase(yyruleno==2); - /* (3) ecmd ::= SEMI */ yytestcase(yyruleno==3); - /* (4) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==4); - /* (5) explain ::= */ yytestcase(yyruleno==5); - /* (10) trans_opt ::= */ yytestcase(yyruleno==10); - /* (11) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==11); - /* (12) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==12); - /* (20) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==20); - /* (21) savepoint_opt ::= */ yytestcase(yyruleno==21); - /* (25) cmd ::= create_table create_table_args */ yytestcase(yyruleno==25); - /* (36) columnlist ::= columnlist COMMA column */ yytestcase(yyruleno==36); - /* (37) columnlist ::= column */ yytestcase(yyruleno==37); - /* (43) type ::= */ yytestcase(yyruleno==43); - /* (50) signed ::= plus_num */ yytestcase(yyruleno==50); - /* (51) signed ::= minus_num */ yytestcase(yyruleno==51); - /* (52) carglist ::= carglist ccons */ yytestcase(yyruleno==52); - /* (53) carglist ::= */ yytestcase(yyruleno==53); - /* (60) ccons ::= NULL onconf */ yytestcase(yyruleno==60); - /* (88) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==88); - /* (89) conslist ::= tcons */ yytestcase(yyruleno==89); - /* (91) tconscomma ::= */ yytestcase(yyruleno==91); - /* (274) foreach_clause ::= */ yytestcase(yyruleno==274); - /* (275) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==275); - /* (282) tridxby ::= */ yytestcase(yyruleno==282); - /* (299) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==299); - /* (300) database_kw_opt ::= */ yytestcase(yyruleno==300); - /* (308) kwcolumn_opt ::= */ yytestcase(yyruleno==308); - /* (309) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==309); - /* (313) vtabarglist ::= vtabarg */ yytestcase(yyruleno==313); - /* (314) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==314); - /* (316) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==316); - /* (320) anylist ::= */ yytestcase(yyruleno==320); - /* (321) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==321); - /* (322) anylist ::= anylist ANY */ yytestcase(yyruleno==322); + /* (270) input ::= cmdlist */ yytestcase(yyruleno==270); + /* (271) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==271); + /* (272) cmdlist ::= ecmd */ yytestcase(yyruleno==272); + /* (273) ecmd ::= SEMI */ yytestcase(yyruleno==273); + /* (274) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==274); + /* (275) explain ::= */ yytestcase(yyruleno==275); + /* (276) trans_opt ::= */ yytestcase(yyruleno==276); + /* (277) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==277); + /* (278) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==278); + /* (279) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==279); + /* (280) savepoint_opt ::= */ yytestcase(yyruleno==280); + /* (281) cmd ::= create_table create_table_args */ yytestcase(yyruleno==281); + /* (282) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==282); + /* (283) columnlist ::= columnname carglist */ yytestcase(yyruleno==283); + /* (284) nm ::= ID|INDEXED */ yytestcase(yyruleno==284); + /* (285) nm ::= STRING */ yytestcase(yyruleno==285); + /* (286) nm ::= JOIN_KW */ yytestcase(yyruleno==286); + /* (287) typetoken ::= typename */ yytestcase(yyruleno==287); + /* (288) typename ::= ID|STRING */ yytestcase(yyruleno==288); + /* (289) signed ::= plus_num */ yytestcase(yyruleno==289); + /* (290) signed ::= minus_num */ yytestcase(yyruleno==290); + /* (291) carglist ::= carglist ccons */ yytestcase(yyruleno==291); + /* (292) carglist ::= */ yytestcase(yyruleno==292); + /* (293) ccons ::= NULL onconf */ yytestcase(yyruleno==293); + /* (294) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==294); + /* (295) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==295); + /* (296) conslist ::= tcons */ yytestcase(yyruleno==296); + /* (297) tconscomma ::= */ yytestcase(yyruleno==297); + /* (298) defer_subclause_opt ::= defer_subclause */ yytestcase(yyruleno==298); + /* (299) resolvetype ::= raisetype */ yytestcase(yyruleno==299); + /* (300) selectnowith ::= oneselect */ yytestcase(yyruleno==300); + /* (301) oneselect ::= values */ yytestcase(yyruleno==301); + /* (302) sclp ::= selcollist COMMA */ yytestcase(yyruleno==302); + /* (303) as ::= ID|STRING */ yytestcase(yyruleno==303); + /* (304) expr ::= term */ yytestcase(yyruleno==304); + /* (305) exprlist ::= nexprlist */ yytestcase(yyruleno==305); + /* (306) nmnum ::= plus_num */ yytestcase(yyruleno==306); + /* (307) nmnum ::= nm */ yytestcase(yyruleno==307); + /* (308) nmnum ::= ON */ yytestcase(yyruleno==308); + /* (309) nmnum ::= DELETE */ yytestcase(yyruleno==309); + /* (310) nmnum ::= DEFAULT */ yytestcase(yyruleno==310); + /* (311) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==311); + /* (312) foreach_clause ::= */ yytestcase(yyruleno==312); + /* (313) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==313); + /* (314) trnm ::= nm */ yytestcase(yyruleno==314); + /* (315) tridxby ::= */ yytestcase(yyruleno==315); + /* (316) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==316); + /* (317) database_kw_opt ::= */ yytestcase(yyruleno==317); + /* (318) kwcolumn_opt ::= */ yytestcase(yyruleno==318); + /* (319) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==319); + /* (320) vtabarglist ::= vtabarg */ yytestcase(yyruleno==320); + /* (321) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==321); + /* (322) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==322); + /* (323) anylist ::= */ yytestcase(yyruleno==323); + /* (324) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==324); + /* (325) anylist ::= anylist ANY */ yytestcase(yyruleno==325); break; /********** End reduce actions ************************************************/ }; - assert( yyruleno>=0 && yyrulenoyyidx -= yysize; yyact = yy_find_reduce_action(yymsp[-yysize].stateno,(YYCODETYPE)yygoto); if( yyact <= YY_MAX_SHIFTREDUCE ){ if( yyact>YY_MAX_SHIFT ) yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; - /* If the reduce action popped at least - ** one element off the stack, then we can push the new element back - ** onto the stack here, and skip the stack overflow test in yy_shift(). - ** That gives a significant speed improvement. */ - if( yysize ){ - yypParser->yyidx++; - yymsp -= yysize-1; - yymsp->stateno = (YYACTIONTYPE)yyact; - yymsp->major = (YYCODETYPE)yygoto; - yymsp->minor = yygotominor; - yyTraceShift(yypParser, yyact); - }else{ - yy_shift(yypParser,yyact,yygoto,&yygotominor); - } + yypParser->yyidx -= yysize - 1; + yymsp -= yysize-1; + yymsp->stateno = (YYACTIONTYPE)yyact; + yymsp->major = (YYCODETYPE)yygoto; + yyTraceShift(yypParser, yyact); }else{ assert( yyact == YY_ACCEPT_ACTION ); + yypParser->yyidx -= yysize; yy_accept(yypParser); } } @@ -131286,10 +131689,10 @@ static void yy_parse_failed( static void yy_syntax_error( yyParser *yypParser, /* The parser */ int yymajor, /* The major type of the error token */ - YYMINORTYPE yyminor /* The minor type of the error token */ + sqlite3ParserTOKENTYPE yyminor /* The minor type of the error token */ ){ sqlite3ParserARG_FETCH; -#define TOKEN (yyminor.yy0) +#define TOKEN yyminor /************ Begin %syntax_error code ****************************************/ UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */ @@ -131345,7 +131748,7 @@ SQLITE_PRIVATE void sqlite3Parser( sqlite3ParserARG_PDECL /* Optional %extra_argument parameter */ ){ YYMINORTYPE yyminorunion; - int yyact; /* The parser action. */ + unsigned int yyact; /* The parser action. */ #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) int yyendofinput; /* True if we are at the end of input */ #endif @@ -131359,14 +131762,14 @@ SQLITE_PRIVATE void sqlite3Parser( if( yypParser->yyidx<0 ){ #if YYSTACKDEPTH<=0 if( yypParser->yystksz <=0 ){ - /*memset(&yyminorunion, 0, sizeof(yyminorunion));*/ - yyminorunion = yyzerominor; - yyStackOverflow(yypParser, &yyminorunion); + yyStackOverflow(yypParser); return; } #endif yypParser->yyidx = 0; +#ifndef YYNOERRORRECOVERY yypParser->yyerrcnt = -1; +#endif yypParser->yystack[0].stateno = 0; yypParser->yystack[0].major = 0; #ifndef NDEBUG @@ -131376,7 +131779,6 @@ SQLITE_PRIVATE void sqlite3Parser( } #endif } - yyminorunion.yy0 = yyminor; #if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) yyendofinput = (yymajor==0); #endif @@ -131392,13 +131794,16 @@ SQLITE_PRIVATE void sqlite3Parser( yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); if( yyact <= YY_MAX_SHIFTREDUCE ){ if( yyact > YY_MAX_SHIFT ) yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; - yy_shift(yypParser,yyact,yymajor,&yyminorunion); + yy_shift(yypParser,yyact,yymajor,yyminor); +#ifndef YYNOERRORRECOVERY yypParser->yyerrcnt--; +#endif yymajor = YYNOCODE; }else if( yyact <= YY_MAX_REDUCE ){ yy_reduce(yypParser,yyact-YY_MIN_REDUCE); }else{ assert( yyact == YY_ERROR_ACTION ); + yyminorunion.yy0 = yyminor; #ifdef YYERRORSYMBOL int yymx; #endif @@ -131428,7 +131833,7 @@ SQLITE_PRIVATE void sqlite3Parser( ** */ if( yypParser->yyerrcnt<0 ){ - yy_syntax_error(yypParser,yymajor,yyminorunion); + yy_syntax_error(yypParser,yymajor,yyminor); } yymx = yypParser->yystack[yypParser->yyidx].major; if( yymx==YYERRORSYMBOL || yyerrorhit ){ @@ -131438,10 +131843,10 @@ SQLITE_PRIVATE void sqlite3Parser( yyTracePrompt,yyTokenName[yymajor]); } #endif - yy_destructor(yypParser, (YYCODETYPE)yymajor,&yyminorunion); + yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); yymajor = YYNOCODE; }else{ - while( + while( yypParser->yyidx >= 0 && yymx != YYERRORSYMBOL && (yyact = yy_find_reduce_action( @@ -131455,9 +131860,7 @@ SQLITE_PRIVATE void sqlite3Parser( yy_parse_failed(yypParser); yymajor = YYNOCODE; }else if( yymx!=YYERRORSYMBOL ){ - YYMINORTYPE u2; - u2.YYERRSYMDT = 0; - yy_shift(yypParser,yyact,YYERRORSYMBOL,&u2); + yy_shift(yypParser,yyact,YYERRORSYMBOL,yyminor); } } yypParser->yyerrcnt = 3; @@ -131470,7 +131873,7 @@ SQLITE_PRIVATE void sqlite3Parser( ** Applications can set this macro (for example inside %include) if ** they intend to abandon the parse upon the first syntax error seen. */ - yy_syntax_error(yypParser,yymajor,yyminorunion); + yy_syntax_error(yypParser,yymajor, yyminor); yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); yymajor = YYNOCODE; @@ -131485,7 +131888,7 @@ SQLITE_PRIVATE void sqlite3Parser( ** three input tokens have been successfully shifted. */ if( yypParser->yyerrcnt<=0 ){ - yy_syntax_error(yypParser,yymajor,yyminorunion); + yy_syntax_error(yypParser,yymajor, yyminor); } yypParser->yyerrcnt = 3; yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); @@ -132087,7 +132490,7 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ case CC_BANG: { if( z[1]!='=' ){ *tokenType = TK_ILLEGAL; - return 2; + return 1; }else{ *tokenType = TK_NE; return 2; @@ -132237,8 +132640,8 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ *tokenType = TK_ID; return keywordCode((char*)z, i, tokenType); } -#ifndef SQLITE_OMIT_BLOB_LITERAL case CC_X: { +#ifndef SQLITE_OMIT_BLOB_LITERAL testcase( z[0]=='x' ); testcase( z[0]=='X' ); if( z[1]=='\'' ){ *tokenType = TK_BLOB; @@ -132250,10 +132653,10 @@ SQLITE_PRIVATE int sqlite3GetToken(const unsigned char *z, int *tokenType){ if( z[i] ) i++; return i; } +#endif /* If it is not a BLOB literal, then it must be an ID, since no ** SQL keywords start with the letter 'x'. Fall through */ } -#endif case CC_ID: { i = 1; break; @@ -132297,7 +132700,7 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr pEngine = sqlite3ParserAlloc(sqlite3Malloc); if( pEngine==0 ){ sqlite3OomFault(db); - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } assert( pParse->pNewTable==0 ); assert( pParse->pNewTrigger==0 ); @@ -132325,18 +132728,17 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr break; } }else{ - if( tokenType==TK_SEMI ) pParse->zTail = &zSql[i]; sqlite3Parser(pEngine, tokenType, pParse->sLastToken, pParse); lastTokenParsed = tokenType; if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break; } } assert( nErr==0 ); + pParse->zTail = &zSql[i]; if( pParse->rc==SQLITE_OK && db->mallocFailed==0 ){ assert( zSql[i]==0 ); if( lastTokenParsed!=TK_SEMI ){ sqlite3Parser(pEngine, TK_SEMI, pParse->sLastToken, pParse); - pParse->zTail = &zSql[i]; } if( pParse->rc==SQLITE_OK && db->mallocFailed==0 ){ sqlite3Parser(pEngine, 0, pParse->sLastToken, pParse); @@ -132351,7 +132753,7 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr #endif /* YYDEBUG */ sqlite3ParserFree(pEngine, sqlite3_free); if( db->mallocFailed ){ - pParse->rc = SQLITE_NOMEM; + pParse->rc = SQLITE_NOMEM_BKPT; } if( pParse->rc!=SQLITE_OK && pParse->rc!=SQLITE_DONE && pParse->zErrMsg==0 ){ pParse->zErrMsg = sqlite3MPrintf(db, "%s", sqlite3ErrStr(pParse->rc)); @@ -132689,7 +133091,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_complete16(const void *zSql){ if( zSql8 ){ rc = sqlite3_complete(zSql8); }else{ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } sqlite3ValueFree(pVal); return rc & 0xff; @@ -132979,7 +133381,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void){ sqlite3GlobalConfig.pInitMutex = sqlite3MutexAlloc(SQLITE_MUTEX_RECURSIVE); if( sqlite3GlobalConfig.bCoreMutex && !sqlite3GlobalConfig.pInitMutex ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } } } @@ -133010,7 +133412,6 @@ SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void){ */ sqlite3_mutex_enter(sqlite3GlobalConfig.pInitMutex); if( sqlite3GlobalConfig.isInit==0 && sqlite3GlobalConfig.inProgress==0 ){ - FuncDefHash *pHash = &GLOBAL(FuncDefHash, sqlite3GlobalFunctions); sqlite3GlobalConfig.inProgress = 1; #ifdef SQLITE_ENABLE_SQLLOG { @@ -133018,8 +133419,8 @@ SQLITE_API int SQLITE_STDCALL sqlite3_initialize(void){ sqlite3_init_sqllog(); } #endif - memset(pHash, 0, sizeof(sqlite3GlobalFunctions)); - sqlite3RegisterGlobalFunctions(); + memset(&sqlite3BuiltinFunctions, 0, sizeof(sqlite3BuiltinFunctions)); + sqlite3RegisterBuiltinFunctions(); if( sqlite3GlobalConfig.isPCacheInit==0 ){ rc = sqlite3PcacheInitialize(); } @@ -133426,6 +133827,11 @@ SQLITE_API int SQLITE_CDECL sqlite3_config(int op, ...){ break; } + case SQLITE_CONFIG_STMTJRNL_SPILL: { + sqlite3GlobalConfig.nStmtSpill = va_arg(ap, int); + break; + } + default: { rc = SQLITE_ERROR; break; @@ -133589,8 +133995,9 @@ SQLITE_API int SQLITE_CDECL sqlite3_db_config(sqlite3 *db, int op, ...){ int op; /* The opcode */ u32 mask; /* Mask of the bit in sqlite3.flags to set/clear */ } aFlagOp[] = { - { SQLITE_DBCONFIG_ENABLE_FKEY, SQLITE_ForeignKeys }, - { SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLITE_EnableTrigger }, + { SQLITE_DBCONFIG_ENABLE_FKEY, SQLITE_ForeignKeys }, + { SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLITE_EnableTrigger }, + { SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, SQLITE_Fts3Tokenizer }, }; unsigned int i; rc = SQLITE_ERROR; /* IMP: R-42790-23372 */ @@ -133750,7 +134157,7 @@ SQLITE_PRIVATE void sqlite3CloseSavepoints(sqlite3 *db){ ** with SQLITE_ANY as the encoding. */ static void functionDestroy(sqlite3 *db, FuncDef *p){ - FuncDestructor *pDestructor = p->pDestructor; + FuncDestructor *pDestructor = p->u.pDestructor; if( pDestructor ){ pDestructor->nRef--; if( pDestructor->nRef==0 ){ @@ -133932,18 +134339,17 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){ */ sqlite3ConnectionClosed(db); - for(j=0; jaFunc.a); j++){ - FuncDef *pNext, *pHash, *p; - for(p=db->aFunc.a[j]; p; p=pHash){ - pHash = p->pHash; - while( p ){ - functionDestroy(db, p); - pNext = p->pNext; - sqlite3DbFree(db, p); - p = pNext; - } - } + for(i=sqliteHashFirst(&db->aFunc); i; i=sqliteHashNext(i)){ + FuncDef *pNext, *p; + p = sqliteHashData(i); + do{ + functionDestroy(db, p); + pNext = p->pNext; + sqlite3DbFree(db, p); + p = pNext; + }while( p ); } + sqlite3HashClear(&db->aFunc); for(i=sqliteHashFirst(&db->aCollSeq); i; i=sqliteHashNext(i)){ CollSeq *pColl = (CollSeq *)sqliteHashData(i); /* Invoke any destructors registered for collation sequence user data. */ @@ -134422,7 +134828,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( ** is being overridden/deleted but there are no active VMs, allow the ** operation to continue but invalidate all precompiled statements. */ - p = sqlite3FindFunction(db, zFunctionName, nName, nArg, (u8)enc, 0); + p = sqlite3FindFunction(db, zFunctionName, nArg, (u8)enc, 0); if( p && (p->funcFlags & SQLITE_FUNC_ENCMASK)==enc && p->nArg==nArg ){ if( db->nVdbeActive ){ sqlite3ErrorWithMsg(db, SQLITE_BUSY, @@ -134434,10 +134840,10 @@ SQLITE_PRIVATE int sqlite3CreateFunc( } } - p = sqlite3FindFunction(db, zFunctionName, nName, nArg, (u8)enc, 1); + p = sqlite3FindFunction(db, zFunctionName, nArg, (u8)enc, 1); assert(p || db->mallocFailed); if( !p ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } /* If an older version of the function with a configured destructor is @@ -134447,7 +134853,7 @@ SQLITE_PRIVATE int sqlite3CreateFunc( if( pDestructor ){ pDestructor->nRef++; } - p->pDestructor = pDestructor; + p->u.pDestructor = pDestructor; p->funcFlags = (p->funcFlags & SQLITE_FUNC_ENCMASK) | extraFlags; testcase( p->funcFlags & SQLITE_DETERMINISTIC ); p->xSFunc = xSFunc ? xSFunc : xStep; @@ -134562,7 +134968,6 @@ SQLITE_API int SQLITE_STDCALL sqlite3_overload_function( const char *zName, int nArg ){ - int nName = sqlite3Strlen30(zName); int rc = SQLITE_OK; #ifdef SQLITE_ENABLE_API_ARMOR @@ -134571,7 +134976,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_overload_function( } #endif sqlite3_mutex_enter(db->mutex); - if( sqlite3FindFunction(db, zName, nName, nArg, SQLITE_UTF8, 0)==0 ){ + if( sqlite3FindFunction(db, zName, nArg, SQLITE_UTF8, 0)==0 ){ rc = sqlite3CreateFunc(db, zName, nArg, SQLITE_UTF8, 0, sqlite3InvalidFunction, 0, 0, 0); } @@ -134941,14 +135346,14 @@ SQLITE_PRIVATE int sqlite3TempInMemory(const sqlite3 *db){ SQLITE_API const char *SQLITE_STDCALL sqlite3_errmsg(sqlite3 *db){ const char *z; if( !db ){ - return sqlite3ErrStr(SQLITE_NOMEM); + return sqlite3ErrStr(SQLITE_NOMEM_BKPT); } if( !sqlite3SafetyCheckSickOrOk(db) ){ return sqlite3ErrStr(SQLITE_MISUSE_BKPT); } sqlite3_mutex_enter(db->mutex); if( db->mallocFailed ){ - z = sqlite3ErrStr(SQLITE_NOMEM); + z = sqlite3ErrStr(SQLITE_NOMEM_BKPT); }else{ testcase( db->pErr==0 ); z = (char*)sqlite3_value_text(db->pErr); @@ -135016,7 +135421,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_errcode(sqlite3 *db){ return SQLITE_MISUSE_BKPT; } if( !db || db->mallocFailed ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } return db->errCode & db->errMask; } @@ -135025,10 +135430,13 @@ SQLITE_API int SQLITE_STDCALL sqlite3_extended_errcode(sqlite3 *db){ return SQLITE_MISUSE_BKPT; } if( !db || db->mallocFailed ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; } return db->errCode; } +SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3 *db){ + return db ? db->iSysErrno : 0; +} /* ** Return a string that describes the kind of error specified in the @@ -135105,7 +135513,7 @@ static int createCollation( } pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 1); - if( pColl==0 ) return SQLITE_NOMEM; + if( pColl==0 ) return SQLITE_NOMEM_BKPT; pColl->xCmp = xCompare; pColl->pUser = pCtx; pColl->xDel = xDel; @@ -135153,8 +135561,8 @@ static const int aHardLimit[] = { #if SQLITE_MAX_VDBE_OP<40 # error SQLITE_MAX_VDBE_OP must be at least 40 #endif -#if SQLITE_MAX_FUNCTION_ARG<0 || SQLITE_MAX_FUNCTION_ARG>1000 -# error SQLITE_MAX_FUNCTION_ARG must be between 0 and 1000 +#if SQLITE_MAX_FUNCTION_ARG<0 || SQLITE_MAX_FUNCTION_ARG>127 +# error SQLITE_MAX_FUNCTION_ARG must be between 0 and 127 #endif #if SQLITE_MAX_ATTACHED<0 || SQLITE_MAX_ATTACHED>125 # error SQLITE_MAX_ATTACHED must be between 0 and 125 @@ -135284,7 +135692,7 @@ SQLITE_PRIVATE int sqlite3ParseUri( for(iIn=0; iInaCollSeq); @@ -135649,7 +136060,7 @@ static int openDatabase( flags | SQLITE_OPEN_MAIN_DB); if( rc!=SQLITE_OK ){ if( rc==SQLITE_IOERR_NOMEM ){ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } sqlite3Error(db, rc); goto opendb_out; @@ -135660,13 +136071,13 @@ static int openDatabase( sqlite3BtreeLeave(db->aDb[0].pBt); db->aDb[1].pSchema = sqlite3SchemaGet(db, 0); - /* The default safety_level for the main database is 'full'; for the temp - ** database it is 'NONE'. This matches the pager layer defaults. + /* The default safety_level for the main database is FULL; for the temp + ** database it is OFF. This matches the pager layer defaults. */ db->aDb[0].zName = "main"; - db->aDb[0].safety_level = 3; + db->aDb[0].safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; db->aDb[1].zName = "temp"; - db->aDb[1].safety_level = 1; + db->aDb[1].safety_level = PAGER_SYNCHRONOUS_OFF; db->magic = SQLITE_MAGIC_OPEN; if( db->mallocFailed ){ @@ -135678,7 +136089,7 @@ static int openDatabase( ** is accessed. */ sqlite3Error(db, SQLITE_OK); - sqlite3RegisterBuiltinFunctions(db); + sqlite3RegisterPerConnectionBuiltinFunctions(db); /* Load automatic extensions - extensions that have been registered ** using the sqlite3_automatic_extension() API. @@ -135852,7 +136263,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_open16( SCHEMA_ENC(*ppDb) = ENC(*ppDb) = SQLITE_UTF16NATIVE; } }else{ - rc = SQLITE_NOMEM; + rc = SQLITE_NOMEM_BKPT; } sqlite3ValueFree(pVal); @@ -135997,7 +136408,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3 *db){ /* ** The following routines are substitutes for constants SQLITE_CORRUPT, -** SQLITE_MISUSE, SQLITE_CANTOPEN, SQLITE_IOERR and possibly other error +** SQLITE_MISUSE, SQLITE_CANTOPEN, SQLITE_NOMEM and possibly other error ** constants. They serve two purposes: ** ** 1. Serve as a convenient place to set a breakpoint in a debugger @@ -136006,28 +136417,33 @@ SQLITE_API int SQLITE_STDCALL sqlite3_get_autocommit(sqlite3 *db){ ** 2. Invoke sqlite3_log() to provide the source code location where ** a low-level error is first detected. */ +static int reportError(int iErr, int lineno, const char *zType){ + sqlite3_log(iErr, "%s at line %d of [%.10s]", + zType, lineno, 20+sqlite3_sourceid()); + return iErr; +} SQLITE_PRIVATE int sqlite3CorruptError(int lineno){ testcase( sqlite3GlobalConfig.xLog!=0 ); - sqlite3_log(SQLITE_CORRUPT, - "database corruption at line %d of [%.10s]", - lineno, 20+sqlite3_sourceid()); - return SQLITE_CORRUPT; + return reportError(SQLITE_CORRUPT, lineno, "database corruption"); } SQLITE_PRIVATE int sqlite3MisuseError(int lineno){ testcase( sqlite3GlobalConfig.xLog!=0 ); - sqlite3_log(SQLITE_MISUSE, - "misuse at line %d of [%.10s]", - lineno, 20+sqlite3_sourceid()); - return SQLITE_MISUSE; + return reportError(SQLITE_MISUSE, lineno, "misuse"); } SQLITE_PRIVATE int sqlite3CantopenError(int lineno){ testcase( sqlite3GlobalConfig.xLog!=0 ); - sqlite3_log(SQLITE_CANTOPEN, - "cannot open file at line %d of [%.10s]", - lineno, 20+sqlite3_sourceid()); - return SQLITE_CANTOPEN; + return reportError(SQLITE_CANTOPEN, lineno, "cannot open file"); } - +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE int sqlite3NomemError(int lineno){ + testcase( sqlite3GlobalConfig.xLog!=0 ); + return reportError(SQLITE_NOMEM, lineno, "OOM"); +} +SQLITE_PRIVATE int sqlite3IoerrnomemError(int lineno){ + testcase( sqlite3GlobalConfig.xLog!=0 ); + return reportError(SQLITE_IOERR_NOMEM, lineno, "I/O OOM error"); +} +#endif #ifndef SQLITE_OMIT_DEPRECATED /* @@ -136121,7 +136537,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_table_column_metadata( ** explicitly declared column. Copy meta information from *pCol. */ if( pCol ){ - zDataType = pCol->zType; + zDataType = sqlite3ColumnType(pCol,0); zCollSeq = pCol->zColl; notnull = pCol->notNull!=0; primarykey = (pCol->colFlags & COLFLAG_PRIMKEY)!=0; @@ -146856,6 +147272,18 @@ SQLITE_PRIVATE void sqlite3Fts3PorterTokenizerModule( /* #include */ /* #include */ +/* +** Return true if the two-argument version of fts3_tokenizer() +** has been activated via a prior call to sqlite3_db_config(db, +** SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, 1, 0); +*/ +static int fts3TokenizerEnabled(sqlite3_context *context){ + sqlite3 *db = sqlite3_context_db_handle(context); + int isEnabled = 0; + sqlite3_db_config(db,SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER,-1,&isEnabled); + return isEnabled; +} + /* ** Implementation of the SQL scalar function for accessing the underlying ** hash table. This function may be called as follows: @@ -146876,7 +147304,7 @@ SQLITE_PRIVATE void sqlite3Fts3PorterTokenizerModule( ** is a blob containing the pointer stored as the hash data corresponding ** to string (after the hash-table is updated, if applicable). */ -static void scalarFunc( +static void fts3TokenizerFunc( sqlite3_context *context, int argc, sqlite3_value **argv @@ -146894,27 +147322,23 @@ static void scalarFunc( nName = sqlite3_value_bytes(argv[0])+1; if( argc==2 ){ -#ifdef SQLITE_ENABLE_FTS3_TOKENIZER - void *pOld; - int n = sqlite3_value_bytes(argv[1]); - if( zName==0 || n!=sizeof(pPtr) ){ - sqlite3_result_error(context, "argument type mismatch", -1); - return; - } - pPtr = *(void **)sqlite3_value_blob(argv[1]); - pOld = sqlite3Fts3HashInsert(pHash, (void *)zName, nName, pPtr); - if( pOld==pPtr ){ - sqlite3_result_error(context, "out of memory", -1); + if( fts3TokenizerEnabled(context) ){ + void *pOld; + int n = sqlite3_value_bytes(argv[1]); + if( zName==0 || n!=sizeof(pPtr) ){ + sqlite3_result_error(context, "argument type mismatch", -1); + return; + } + pPtr = *(void **)sqlite3_value_blob(argv[1]); + pOld = sqlite3Fts3HashInsert(pHash, (void *)zName, nName, pPtr); + if( pOld==pPtr ){ + sqlite3_result_error(context, "out of memory", -1); + } + }else{ + sqlite3_result_error(context, "fts3tokenize disabled", -1); return; } -#else - sqlite3_result_error(context, "fts3tokenize: " - "disabled - rebuild with -DSQLITE_ENABLE_FTS3_TOKENIZER", -1 - ); - return; -#endif /* SQLITE_ENABLE_FTS3_TOKENIZER */ - }else - { + }else{ if( zName ){ pPtr = sqlite3Fts3HashFind(pHash, zName, nName); } @@ -146925,7 +147349,6 @@ static void scalarFunc( return; } } - sqlite3_result_blob(context, (void *)&pPtr, sizeof(pPtr), SQLITE_TRANSIENT); } @@ -147163,7 +147586,6 @@ static void testFunc( Tcl_DecrRefCount(pRet); } -#ifdef SQLITE_ENABLE_FTS3_TOKENIZER static int registerTokenizer( sqlite3 *db, @@ -147185,7 +147607,6 @@ int registerTokenizer( return sqlite3_finalize(pStmt); } -#endif /* SQLITE_ENABLE_FTS3_TOKENIZER */ static @@ -147258,13 +147679,13 @@ static void intTestFunc( assert( 0==strcmp(sqlite3_errmsg(db), "unknown tokenizer: nosuchtokenizer") ); /* Test the storage function */ -#ifdef SQLITE_ENABLE_FTS3_TOKENIZER - rc = registerTokenizer(db, "nosuchtokenizer", p1); - assert( rc==SQLITE_OK ); - rc = queryTokenizer(db, "nosuchtokenizer", &p2); - assert( rc==SQLITE_OK ); - assert( p2==p1 ); -#endif + if( fts3TokenizerEnabled(context) ){ + rc = registerTokenizer(db, "nosuchtokenizer", p1); + assert( rc==SQLITE_OK ); + rc = queryTokenizer(db, "nosuchtokenizer", &p2); + assert( rc==SQLITE_OK ); + assert( p2==p1 ); + } sqlite3_result_text(context, "ok", -1, SQLITE_STATIC); } @@ -147280,7 +147701,7 @@ static void intTestFunc( ** sqlite3Fts3HashInit(pHash, FTS3_HASH_STRING, 1); ** ** This function adds a scalar function (see header comment above -** scalarFunc() in this file for details) and, if ENABLE_TABLE is +** fts3TokenizerFunc() in this file for details) and, if ENABLE_TABLE is ** defined at compilation time, a temporary virtual table (see header ** comment above struct HashTableVtab) to the database schema. Both ** provide read/write access to the contents of *pHash. @@ -147309,10 +147730,10 @@ SQLITE_PRIVATE int sqlite3Fts3InitHashTable( #endif if( SQLITE_OK==rc ){ - rc = sqlite3_create_function(db, zName, 1, any, p, scalarFunc, 0, 0); + rc = sqlite3_create_function(db, zName, 1, any, p, fts3TokenizerFunc, 0, 0); } if( SQLITE_OK==rc ){ - rc = sqlite3_create_function(db, zName, 2, any, p, scalarFunc, 0, 0); + rc = sqlite3_create_function(db, zName, 2, any, p, fts3TokenizerFunc, 0, 0); } #ifdef SQLITE_TEST if( SQLITE_OK==rc ){ @@ -148364,7 +148785,8 @@ static int fts3SqlStmt( ** of the oldest level in the db that contains at least ? segments. Or, ** if no level in the FTS index contains more than ? segments, the statement ** returns zero rows. */ -/* 28 */ "SELECT level FROM %Q.'%q_segdir' GROUP BY level HAVING count(*)>=?" +/* 28 */ "SELECT level, count(*) AS cnt FROM %Q.'%q_segdir' " + " GROUP BY level HAVING cnt>=?" " ORDER BY (level %% 1024) ASC LIMIT 1", /* Estimate the upper limit on the number of leaf nodes in a new segment @@ -151225,7 +151647,7 @@ static int fts3SegmentMerge( ** segment. The level of the new segment is equal to the numerically ** greatest segment level currently present in the database for this ** index. The idx of the new segment is always 0. */ - if( csr.nSegment==1 ){ + if( csr.nSegment==1 && 0==fts3SegReaderIsPending(csr.apSegment[0]) ){ rc = SQLITE_DONE; goto finished; } @@ -152867,10 +153289,11 @@ SQLITE_PRIVATE int sqlite3Fts3Incrmerge(Fts3Table *p, int nMerge, int nMin){ ** set nSeg to -1. */ rc = fts3SqlStmt(p, SQL_FIND_MERGE_LEVEL, &pFindLevel, 0); - sqlite3_bind_int(pFindLevel, 1, nMin); + sqlite3_bind_int(pFindLevel, 1, MAX(2, nMin)); if( sqlite3_step(pFindLevel)==SQLITE_ROW ){ iAbsLevel = sqlite3_column_int64(pFindLevel, 0); - nSeg = nMin; + nSeg = sqlite3_column_int(pFindLevel, 1); + assert( nSeg>=2 ); }else{ nSeg = -1; } @@ -157924,7 +158347,7 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ return SQLITE_NOMEM; } - nRow = pRtree->nRowEst / (iIdx + 1); + nRow = pRtree->nRowEst >> (iIdx/2); pIdxInfo->estimatedCost = (double)6.0 * (double)nRow; setEstimatedRows(pIdxInfo, nRow); @@ -159758,6 +160181,38 @@ static void xFree(void *p){ sqlite3_free(p); } +/* +** This lookup table is used to help decode the first byte of +** a multi-byte UTF8 character. It is copied here from SQLite source +** code file utf8.c. +*/ +static const unsigned char icuUtf8Trans1[] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x00, 0x01, 0x02, 0x03, 0x00, 0x01, 0x00, 0x00, +}; + +#define SQLITE_ICU_READ_UTF8(zIn, c) \ + c = *(zIn++); \ + if( c>=0xc0 ){ \ + c = icuUtf8Trans1[c-0xc0]; \ + while( (*zIn & 0xc0)==0x80 ){ \ + c = (c<<6) + (0x3f & *(zIn++)); \ + } \ + } + +#define SQLITE_ICU_SKIP_UTF8(zIn) \ + assert( *zIn ); \ + if( *(zIn++)>=0xc0 ){ \ + while( (*zIn & 0xc0)==0x80 ){zIn++;} \ + } + + /* ** Compare two UTF-8 strings for equality where the first string is ** a "LIKE" expression. Return true (1) if they are the same and @@ -159771,16 +160226,14 @@ static int icuLikeCompare( static const int MATCH_ONE = (UChar32)'_'; static const int MATCH_ALL = (UChar32)'%'; - int iPattern = 0; /* Current byte index in zPattern */ - int iString = 0; /* Current byte index in zString */ - int prevEscape = 0; /* True if the previous character was uEsc */ - while( zPattern[iPattern]!=0 ){ + while( 1 ){ /* Read (and consume) the next character from the input pattern. */ UChar32 uPattern; - U8_NEXT_UNSAFE(zPattern, iPattern, uPattern); + SQLITE_ICU_READ_UTF8(zPattern, uPattern); + if( uPattern==0 ) break; /* There are now 4 possibilities: ** @@ -159797,28 +160250,28 @@ static int icuLikeCompare( ** MATCH_ALL. For each MATCH_ONE, skip one character in the ** test string. */ - while( (c=zPattern[iPattern]) == MATCH_ALL || c == MATCH_ONE ){ + while( (c=*zPattern) == MATCH_ALL || c == MATCH_ONE ){ if( c==MATCH_ONE ){ - if( zString[iString]==0 ) return 0; - U8_FWD_1_UNSAFE(zString, iString); + if( *zString==0 ) return 0; + SQLITE_ICU_SKIP_UTF8(zString); } - iPattern++; + zPattern++; } - if( zPattern[iPattern]==0 ) return 1; + if( *zPattern==0 ) return 1; - while( zString[iString] ){ - if( icuLikeCompare(&zPattern[iPattern], &zString[iString], uEsc) ){ + while( *zString ){ + if( icuLikeCompare(zPattern, zString, uEsc) ){ return 1; } - U8_FWD_1_UNSAFE(zString, iString); + SQLITE_ICU_SKIP_UTF8(zString); } return 0; }else if( !prevEscape && uPattern==MATCH_ONE ){ /* Case 2. */ - if( zString[iString]==0 ) return 0; - U8_FWD_1_UNSAFE(zString, iString); + if( *zString==0 ) return 0; + SQLITE_ICU_SKIP_UTF8(zString); }else if( !prevEscape && uPattern==uEsc){ /* Case 3. */ @@ -159827,7 +160280,7 @@ static int icuLikeCompare( }else{ /* Case 4. */ UChar32 uString; - U8_NEXT_UNSAFE(zString, iString, uString); + SQLITE_ICU_READ_UTF8(zString, uString); uString = u_foldCase(uString, U_FOLD_CASE_DEFAULT); uPattern = u_foldCase(uPattern, U_FOLD_CASE_DEFAULT); if( uString!=uPattern ){ @@ -159837,7 +160290,7 @@ static int icuLikeCompare( } } - return zString[iString]==0; + return *zString==0; } /* @@ -160023,11 +160476,11 @@ static void icuRegexpFunc(sqlite3_context *p, int nArg, sqlite3_value **apArg){ */ static void icuCaseFunc16(sqlite3_context *p, int nArg, sqlite3_value **apArg){ const UChar *zInput; - UChar *zOutput; + UChar *zOutput = 0; int nInput; - int nOutput; - - UErrorCode status = U_ZERO_ERROR; + int nOut; + int cnt; + UErrorCode status; const char *zLocale = 0; assert(nArg==1 || nArg==2); @@ -160039,26 +160492,34 @@ static void icuCaseFunc16(sqlite3_context *p, int nArg, sqlite3_value **apArg){ if( !zInput ){ return; } - nInput = sqlite3_value_bytes16(apArg[0]); - - nOutput = nInput * 2 + 2; - zOutput = sqlite3_malloc(nOutput); - if( !zOutput ){ + nOut = nInput = sqlite3_value_bytes16(apArg[0]); + if( nOut==0 ){ + sqlite3_result_text16(p, "", 0, SQLITE_STATIC); return; } - if( sqlite3_user_data(p) ){ - u_strToUpper(zOutput, nOutput/2, zInput, nInput/2, zLocale, &status); - }else{ - u_strToLower(zOutput, nOutput/2, zInput, nInput/2, zLocale, &status); - } - - if( !U_SUCCESS(status) ){ - icuFunctionError(p, "u_strToLower()/u_strToUpper", status); - return; + for(cnt=0; cnt<2; cnt++){ + UChar *zNew = sqlite3_realloc(zOutput, nOut); + if( zNew==0 ){ + sqlite3_free(zOutput); + sqlite3_result_error_nomem(p); + return; + } + zOutput = zNew; + status = U_ZERO_ERROR; + if( sqlite3_user_data(p) ){ + nOut = 2*u_strToUpper(zOutput,nOut/2,zInput,nInput/2,zLocale,&status); + }else{ + nOut = 2*u_strToLower(zOutput,nOut/2,zInput,nInput/2,zLocale,&status); + } + if( !U_SUCCESS(status) ){ + if( status==U_BUFFER_OVERFLOW_ERROR ) continue; + icuFunctionError(p, + sqlite3_user_data(p) ? "u_strToUpper" : "u_strToLower", status); + return; + } } - - sqlite3_result_text16(p, zOutput, -1, xFree); + sqlite3_result_text16(p, zOutput, nOut, xFree); } /* @@ -160961,6 +161422,48 @@ SQLITE_API int SQLITE_STDCALL sqlite3rbu_close(sqlite3rbu *pRbu, char **pzErrmsg */ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3rbu_progress(sqlite3rbu *pRbu); +/* +** Obtain permyriadage (permyriadage is to 10000 as percentage is to 100) +** progress indications for the two stages of an RBU update. This API may +** be useful for driving GUI progress indicators and similar. +** +** An RBU update is divided into two stages: +** +** * Stage 1, in which changes are accumulated in an oal/wal file, and +** * Stage 2, in which the contents of the wal file are copied into the +** main database. +** +** The update is visible to non-RBU clients during stage 2. During stage 1 +** non-RBU reader clients may see the original database. +** +** If this API is called during stage 2 of the update, output variable +** (*pnOne) is set to 10000 to indicate that stage 1 has finished and (*pnTwo) +** to a value between 0 and 10000 to indicate the permyriadage progress of +** stage 2. A value of 5000 indicates that stage 2 is half finished, +** 9000 indicates that it is 90% finished, and so on. +** +** If this API is called during stage 1 of the update, output variable +** (*pnTwo) is set to 0 to indicate that stage 2 has not yet started. The +** value to which (*pnOne) is set depends on whether or not the RBU +** database contains an "rbu_count" table. The rbu_count table, if it +** exists, must contain the same columns as the following: +** +** CREATE TABLE rbu_count(tbl TEXT PRIMARY KEY, cnt INTEGER) WITHOUT ROWID; +** +** There must be one row in the table for each source (data_xxx) table within +** the RBU database. The 'tbl' column should contain the name of the source +** table. The 'cnt' column should contain the number of rows within the +** source table. +** +** If the rbu_count table is present and populated correctly and this +** API is called during stage 1, the *pnOne output variable is set to the +** permyriadage progress of the same stage. If the rbu_count table does +** not exist, then (*pnOne) is set to -1 during stage 1. If the rbu_count +** table exists but is not correctly populated, the value of the *pnOne +** output variable during stage 1 is undefined. +*/ +SQLITE_API void SQLITE_STDCALL sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int *pnTwo); + /* ** Create an RBU VFS named zName that accesses the underlying file-system ** via existing VFS zParent. Or, if the zParent parameter is passed NULL, @@ -161082,14 +161585,15 @@ SQLITE_API void SQLITE_STDCALL sqlite3rbu_destroy_vfs(const char *zName); ** RBU_STATE_OALSZ: ** Valid if STAGE==1. The size in bytes of the *-oal file. */ -#define RBU_STATE_STAGE 1 -#define RBU_STATE_TBL 2 -#define RBU_STATE_IDX 3 -#define RBU_STATE_ROW 4 -#define RBU_STATE_PROGRESS 5 -#define RBU_STATE_CKPT 6 -#define RBU_STATE_COOKIE 7 -#define RBU_STATE_OALSZ 8 +#define RBU_STATE_STAGE 1 +#define RBU_STATE_TBL 2 +#define RBU_STATE_IDX 3 +#define RBU_STATE_ROW 4 +#define RBU_STATE_PROGRESS 5 +#define RBU_STATE_CKPT 6 +#define RBU_STATE_COOKIE 7 +#define RBU_STATE_OALSZ 8 +#define RBU_STATE_PHASEONESTEP 9 #define RBU_STAGE_OAL 1 #define RBU_STAGE_MOVE 2 @@ -161135,6 +161639,7 @@ struct RbuState { i64 nProgress; u32 iCookie; i64 iOalSz; + i64 nPhaseOneStep; }; struct RbuUpdateStmt { @@ -161179,6 +161684,7 @@ struct RbuObjIter { int iTnum; /* Root page of current object */ int iPkTnum; /* If eType==EXTERNAL, root of PK index */ int bUnique; /* Current index is unique */ + int nIndex; /* Number of aux. indexes on table zTbl */ /* Statements created by rbuObjIterPrepareAll() */ int nCol; /* Number of columns in current object */ @@ -161215,10 +161721,11 @@ struct RbuObjIter { */ #define RBU_INSERT 1 /* Insert on a main table b-tree */ #define RBU_DELETE 2 /* Delete a row from a main table b-tree */ -#define RBU_IDX_DELETE 3 /* Delete a row from an aux. index b-tree */ -#define RBU_IDX_INSERT 4 /* Insert on an aux. index b-tree */ -#define RBU_UPDATE 5 /* Update a row in a main table b-tree */ +#define RBU_REPLACE 3 /* Delete and then insert a row */ +#define RBU_IDX_DELETE 4 /* Delete a row from an aux. index b-tree */ +#define RBU_IDX_INSERT 5 /* Insert on an aux. index b-tree */ +#define RBU_UPDATE 6 /* Update a row in a main table b-tree */ /* ** A single step of an incremental checkpoint - frame iWalFrame of the wal @@ -161231,6 +161738,43 @@ struct RbuFrame { /* ** RBU handle. +** +** nPhaseOneStep: +** If the RBU database contains an rbu_count table, this value is set to +** a running estimate of the number of b-tree operations required to +** finish populating the *-oal file. This allows the sqlite3_bp_progress() +** API to calculate the permyriadage progress of populating the *-oal file +** using the formula: +** +** permyriadage = (10000 * nProgress) / nPhaseOneStep +** +** nPhaseOneStep is initialized to the sum of: +** +** nRow * (nIndex + 1) +** +** for all source tables in the RBU database, where nRow is the number +** of rows in the source table and nIndex the number of indexes on the +** corresponding target database table. +** +** This estimate is accurate if the RBU update consists entirely of +** INSERT operations. However, it is inaccurate if: +** +** * the RBU update contains any UPDATE operations. If the PK specified +** for an UPDATE operation does not exist in the target table, then +** no b-tree operations are required on index b-trees. Or if the +** specified PK does exist, then (nIndex*2) such operations are +** required (one delete and one insert on each index b-tree). +** +** * the RBU update contains any DELETE operations for which the specified +** PK does not exist. In this case no operations are required on index +** b-trees. +** +** * the RBU update contains REPLACE operations. These are similar to +** UPDATE operations. +** +** nPhaseOneStep is updated to account for the conditions above during the +** first pass of each source table. The updated nPhaseOneStep value is +** stored in the rbu_state table if the RBU update is suspended. */ struct sqlite3rbu { int eStage; /* Value of RBU_STATE_STAGE field */ @@ -161248,6 +161792,7 @@ struct sqlite3rbu { const char *zVfsName; /* Name of automatically created rbu vfs */ rbu_file *pTargetFd; /* File handle open on target db */ i64 iOalSz; + i64 nPhaseOneStep; /* The following state variables are used as part of the incremental ** checkpoint stage (eStage==RBU_STAGE_CKPT). See comments surrounding @@ -162078,6 +162623,7 @@ static void rbuObjIterCacheIndexedCols(sqlite3rbu *p, RbuObjIter *pIter){ ); } + pIter->nIndex = 0; while( p->rc==SQLITE_OK && SQLITE_ROW==sqlite3_step(pList) ){ const char *zIdx = (const char*)sqlite3_column_text(pList, 1); sqlite3_stmt *pXInfo = 0; @@ -162091,6 +162637,12 @@ static void rbuObjIterCacheIndexedCols(sqlite3rbu *p, RbuObjIter *pIter){ } rbuFinalize(p, pXInfo); bIndex = 1; + pIter->nIndex++; + } + + if( pIter->eType==RBU_PK_WITHOUT_ROWID ){ + /* "PRAGMA index_list" includes the main PK b-tree */ + pIter->nIndex--; } rbuFinalize(p, pList); @@ -162204,6 +162756,7 @@ static int rbuObjIterCacheTableInfo(sqlite3rbu *p, RbuObjIter *pIter){ rbuFinalize(p, pStmt); rbuObjIterCacheIndexedCols(p, pIter); assert( pIter->eType!=RBU_PK_VTAB || pIter->abIndexed==0 ); + assert( pIter->eType!=RBU_PK_VTAB || pIter->nIndex==0 ); } return p->rc; @@ -162757,6 +163310,14 @@ static void rbuTmpInsertFunc( int rc = SQLITE_OK; int i; + assert( sqlite3_value_int(apVal[0])!=0 + || p->objiter.eType==RBU_PK_EXTERNAL + || p->objiter.eType==RBU_PK_NONE + ); + if( sqlite3_value_int(apVal[0])!=0 ){ + p->nPhaseOneStep += p->objiter.nIndex; + } + for(i=0; rc==SQLITE_OK && iobjiter.pTmpInsert, i+1, apVal[i]); } @@ -162844,13 +163405,13 @@ static int rbuObjIterPrepareAll( ); }else{ zSql = sqlite3_mprintf( + "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' " + "UNION ALL " "SELECT %s, rbu_control FROM '%q' " "WHERE typeof(rbu_control)='integer' AND rbu_control!=1 " - "UNION ALL " - "SELECT %s, rbu_control FROM %s.'rbu_tmp_%q' " "ORDER BY %s%s", - zCollist, pIter->zDataTbl, zCollist, p->zStateDb, pIter->zDataTbl, + zCollist, pIter->zDataTbl, zCollist, zLimit ); } @@ -162916,17 +163477,17 @@ static int rbuObjIterPrepareAll( rbuMPrintfExec(p, p->dbMain, "CREATE TEMP TRIGGER rbu_delete_tr BEFORE DELETE ON \"%s%w\" " "BEGIN " - " SELECT rbu_tmp_insert(2, %s);" + " SELECT rbu_tmp_insert(3, %s);" "END;" "CREATE TEMP TRIGGER rbu_update1_tr BEFORE UPDATE ON \"%s%w\" " "BEGIN " - " SELECT rbu_tmp_insert(2, %s);" + " SELECT rbu_tmp_insert(3, %s);" "END;" "CREATE TEMP TRIGGER rbu_update2_tr AFTER UPDATE ON \"%s%w\" " "BEGIN " - " SELECT rbu_tmp_insert(3, %s);" + " SELECT rbu_tmp_insert(4, %s);" "END;", zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, @@ -163444,14 +164005,12 @@ static int rbuStepType(sqlite3rbu *p, const char **pzMask){ switch( sqlite3_column_type(p->objiter.pSelect, iCol) ){ case SQLITE_INTEGER: { int iVal = sqlite3_column_int(p->objiter.pSelect, iCol); - if( iVal==0 ){ - res = RBU_INSERT; - }else if( iVal==1 ){ - res = RBU_DELETE; - }else if( iVal==2 ){ - res = RBU_IDX_DELETE; - }else if( iVal==3 ){ - res = RBU_IDX_INSERT; + switch( iVal ){ + case 0: res = RBU_INSERT; break; + case 1: res = RBU_DELETE; break; + case 2: res = RBU_REPLACE; break; + case 3: res = RBU_IDX_DELETE; break; + case 4: res = RBU_IDX_INSERT; break; } break; } @@ -163490,6 +164049,78 @@ static void assertColumnName(sqlite3_stmt *pStmt, int iCol, const char *zName){ # define assertColumnName(x,y,z) #endif +/* +** Argument eType must be one of RBU_INSERT, RBU_DELETE, RBU_IDX_INSERT or +** RBU_IDX_DELETE. This function performs the work of a single +** sqlite3rbu_step() call for the type of operation specified by eType. +*/ +static void rbuStepOneOp(sqlite3rbu *p, int eType){ + RbuObjIter *pIter = &p->objiter; + sqlite3_value *pVal; + sqlite3_stmt *pWriter; + int i; + + assert( p->rc==SQLITE_OK ); + assert( eType!=RBU_DELETE || pIter->zIdx==0 ); + assert( eType==RBU_DELETE || eType==RBU_IDX_DELETE + || eType==RBU_INSERT || eType==RBU_IDX_INSERT + ); + + /* If this is a delete, decrement nPhaseOneStep by nIndex. If the DELETE + ** statement below does actually delete a row, nPhaseOneStep will be + ** incremented by the same amount when SQL function rbu_tmp_insert() + ** is invoked by the trigger. */ + if( eType==RBU_DELETE ){ + p->nPhaseOneStep -= p->objiter.nIndex; + } + + if( eType==RBU_IDX_DELETE || eType==RBU_DELETE ){ + pWriter = pIter->pDelete; + }else{ + pWriter = pIter->pInsert; + } + + for(i=0; inCol; i++){ + /* If this is an INSERT into a table b-tree and the table has an + ** explicit INTEGER PRIMARY KEY, check that this is not an attempt + ** to write a NULL into the IPK column. That is not permitted. */ + if( eType==RBU_INSERT + && pIter->zIdx==0 && pIter->eType==RBU_PK_IPK && pIter->abTblPk[i] + && sqlite3_column_type(pIter->pSelect, i)==SQLITE_NULL + ){ + p->rc = SQLITE_MISMATCH; + p->zErrmsg = sqlite3_mprintf("datatype mismatch"); + return; + } + + if( eType==RBU_DELETE && pIter->abTblPk[i]==0 ){ + continue; + } + + pVal = sqlite3_column_value(pIter->pSelect, i); + p->rc = sqlite3_bind_value(pWriter, i+1, pVal); + if( p->rc ) return; + } + if( pIter->zIdx==0 + && (pIter->eType==RBU_PK_VTAB || pIter->eType==RBU_PK_NONE) + ){ + /* For a virtual table, or a table with no primary key, the + ** SELECT statement is: + ** + ** SELECT , rbu_control, rbu_rowid FROM .... + ** + ** Hence column_value(pIter->nCol+1). + */ + assertColumnName(pIter->pSelect, pIter->nCol+1, "rbu_rowid"); + pVal = sqlite3_column_value(pIter->pSelect, pIter->nCol+1); + p->rc = sqlite3_bind_value(pWriter, pIter->nCol+1, pVal); + } + if( p->rc==SQLITE_OK ){ + sqlite3_step(pWriter); + p->rc = resetAndCollectError(pWriter, &p->zErrmsg); + } +} + /* ** This function does the work for an sqlite3rbu_step() call. ** @@ -163504,78 +164135,36 @@ static void assertColumnName(sqlite3_stmt *pStmt, int iCol, const char *zName){ static int rbuStep(sqlite3rbu *p){ RbuObjIter *pIter = &p->objiter; const char *zMask = 0; - int i; int eType = rbuStepType(p, &zMask); if( eType ){ + assert( eType==RBU_INSERT || eType==RBU_DELETE + || eType==RBU_REPLACE || eType==RBU_IDX_DELETE + || eType==RBU_IDX_INSERT || eType==RBU_UPDATE + ); assert( eType!=RBU_UPDATE || pIter->zIdx==0 ); - if( pIter->zIdx==0 && eType==RBU_IDX_DELETE ){ + if( pIter->zIdx==0 && (eType==RBU_IDX_DELETE || eType==RBU_IDX_INSERT) ){ rbuBadControlError(p); } - else if( - eType==RBU_INSERT - || eType==RBU_DELETE - || eType==RBU_IDX_DELETE - || eType==RBU_IDX_INSERT - ){ - sqlite3_value *pVal; - sqlite3_stmt *pWriter; - - assert( eType!=RBU_UPDATE ); - assert( eType!=RBU_DELETE || pIter->zIdx==0 ); - - if( eType==RBU_IDX_DELETE || eType==RBU_DELETE ){ - pWriter = pIter->pDelete; - }else{ - pWriter = pIter->pInsert; - } - - for(i=0; inCol; i++){ - /* If this is an INSERT into a table b-tree and the table has an - ** explicit INTEGER PRIMARY KEY, check that this is not an attempt - ** to write a NULL into the IPK column. That is not permitted. */ - if( eType==RBU_INSERT - && pIter->zIdx==0 && pIter->eType==RBU_PK_IPK && pIter->abTblPk[i] - && sqlite3_column_type(pIter->pSelect, i)==SQLITE_NULL - ){ - p->rc = SQLITE_MISMATCH; - p->zErrmsg = sqlite3_mprintf("datatype mismatch"); - goto step_out; - } - - if( eType==RBU_DELETE && pIter->abTblPk[i]==0 ){ - continue; - } - - pVal = sqlite3_column_value(pIter->pSelect, i); - p->rc = sqlite3_bind_value(pWriter, i+1, pVal); - if( p->rc ) goto step_out; + else if( eType==RBU_REPLACE ){ + if( pIter->zIdx==0 ){ + p->nPhaseOneStep += p->objiter.nIndex; + rbuStepOneOp(p, RBU_DELETE); } - if( pIter->zIdx==0 - && (pIter->eType==RBU_PK_VTAB || pIter->eType==RBU_PK_NONE) - ){ - /* For a virtual table, or a table with no primary key, the - ** SELECT statement is: - ** - ** SELECT , rbu_control, rbu_rowid FROM .... - ** - ** Hence column_value(pIter->nCol+1). - */ - assertColumnName(pIter->pSelect, pIter->nCol+1, "rbu_rowid"); - pVal = sqlite3_column_value(pIter->pSelect, pIter->nCol+1); - p->rc = sqlite3_bind_value(pWriter, pIter->nCol+1, pVal); - } - if( p->rc==SQLITE_OK ){ - sqlite3_step(pWriter); - p->rc = resetAndCollectError(pWriter, &p->zErrmsg); - } - }else{ + if( p->rc==SQLITE_OK ) rbuStepOneOp(p, RBU_INSERT); + } + else if( eType!=RBU_UPDATE ){ + rbuStepOneOp(p, eType); + } + else{ sqlite3_value *pVal; sqlite3_stmt *pUpdate = 0; assert( eType==RBU_UPDATE ); + p->nPhaseOneStep -= p->objiter.nIndex; rbuGetUpdateStmt(p, pIter, zMask, &pUpdate); if( pUpdate ){ + int i; for(i=0; p->rc==SQLITE_OK && inCol; i++){ char c = zMask[pIter->aiSrcOrder[i]]; pVal = sqlite3_column_value(pIter->pSelect, i); @@ -163598,8 +164187,6 @@ static int rbuStep(sqlite3rbu *p){ } } } - - step_out: return p->rc; } @@ -163652,6 +164239,7 @@ static void rbuSaveState(sqlite3rbu *p, int eStage){ "(%d, %d), " "(%d, %lld), " "(%d, %lld), " + "(%d, %lld), " "(%d, %lld) ", p->zStateDb, RBU_STATE_STAGE, eStage, @@ -163661,7 +164249,8 @@ static void rbuSaveState(sqlite3rbu *p, int eStage){ RBU_STATE_PROGRESS, p->nProgress, RBU_STATE_CKPT, p->iWalCksum, RBU_STATE_COOKIE, (i64)p->pTargetFd->iCookie, - RBU_STATE_OALSZ, p->iOalSz + RBU_STATE_OALSZ, p->iOalSz, + RBU_STATE_PHASEONESTEP, p->nPhaseOneStep ) ); assert( pInsert==0 || rc==SQLITE_OK ); @@ -163848,6 +164437,10 @@ static RbuState *rbuLoadState(sqlite3rbu *p){ pRet->iOalSz = (u32)sqlite3_column_int64(pStmt, 1); break; + case RBU_STATE_PHASEONESTEP: + pRet->nPhaseOneStep = sqlite3_column_int64(pStmt, 1); + break; + default: rc = SQLITE_CORRUPT; break; @@ -163955,6 +164548,100 @@ static void rbuDeleteVfs(sqlite3rbu *p){ } } +/* +** This user-defined SQL function is invoked with a single argument - the +** name of a table expected to appear in the target database. It returns +** the number of auxilliary indexes on the table. +*/ +static void rbuIndexCntFunc( + sqlite3_context *pCtx, + int nVal, + sqlite3_value **apVal +){ + sqlite3rbu *p = (sqlite3rbu*)sqlite3_user_data(pCtx); + sqlite3_stmt *pStmt = 0; + char *zErrmsg = 0; + int rc; + + assert( nVal==1 ); + + rc = prepareFreeAndCollectError(p->dbMain, &pStmt, &zErrmsg, + sqlite3_mprintf("SELECT count(*) FROM sqlite_master " + "WHERE type='index' AND tbl_name = %Q", sqlite3_value_text(apVal[0])) + ); + if( rc!=SQLITE_OK ){ + sqlite3_result_error(pCtx, zErrmsg, -1); + }else{ + int nIndex = 0; + if( SQLITE_ROW==sqlite3_step(pStmt) ){ + nIndex = sqlite3_column_int(pStmt, 0); + } + rc = sqlite3_finalize(pStmt); + if( rc==SQLITE_OK ){ + sqlite3_result_int(pCtx, nIndex); + }else{ + sqlite3_result_error(pCtx, sqlite3_errmsg(p->dbMain), -1); + } + } + + sqlite3_free(zErrmsg); +} + +/* +** If the RBU database contains the rbu_count table, use it to initialize +** the sqlite3rbu.nPhaseOneStep variable. The schema of the rbu_count table +** is assumed to contain the same columns as: +** +** CREATE TABLE rbu_count(tbl TEXT PRIMARY KEY, cnt INTEGER) WITHOUT ROWID; +** +** There should be one row in the table for each data_xxx table in the +** database. The 'tbl' column should contain the name of a data_xxx table, +** and the cnt column the number of rows it contains. +** +** sqlite3rbu.nPhaseOneStep is initialized to the sum of (1 + nIndex) * cnt +** for all rows in the rbu_count table, where nIndex is the number of +** indexes on the corresponding target database table. +*/ +static void rbuInitPhaseOneSteps(sqlite3rbu *p){ + if( p->rc==SQLITE_OK ){ + sqlite3_stmt *pStmt = 0; + int bExists = 0; /* True if rbu_count exists */ + + p->nPhaseOneStep = -1; + + p->rc = sqlite3_create_function(p->dbRbu, + "rbu_index_cnt", 1, SQLITE_UTF8, (void*)p, rbuIndexCntFunc, 0, 0 + ); + + /* Check for the rbu_count table. If it does not exist, or if an error + ** occurs, nPhaseOneStep will be left set to -1. */ + if( p->rc==SQLITE_OK ){ + p->rc = prepareAndCollectError(p->dbRbu, &pStmt, &p->zErrmsg, + "SELECT 1 FROM sqlite_master WHERE tbl_name = 'rbu_count'" + ); + } + if( p->rc==SQLITE_OK ){ + if( SQLITE_ROW==sqlite3_step(pStmt) ){ + bExists = 1; + } + p->rc = sqlite3_finalize(pStmt); + } + + if( p->rc==SQLITE_OK && bExists ){ + p->rc = prepareAndCollectError(p->dbRbu, &pStmt, &p->zErrmsg, + "SELECT sum(cnt * (1 + rbu_index_cnt(rbu_target_name(tbl))))" + "FROM rbu_count" + ); + if( p->rc==SQLITE_OK ){ + if( SQLITE_ROW==sqlite3_step(pStmt) ){ + p->nPhaseOneStep = sqlite3_column_int64(pStmt, 0); + } + p->rc = sqlite3_finalize(pStmt); + } + } + } +} + /* ** Open and return a new RBU handle. */ @@ -164000,9 +164687,11 @@ SQLITE_API sqlite3rbu *SQLITE_STDCALL sqlite3rbu_open( if( pState->eStage==0 ){ rbuDeleteOalFile(p); + rbuInitPhaseOneSteps(p); p->eStage = RBU_STAGE_OAL; }else{ p->eStage = pState->eStage; + p->nPhaseOneStep = pState->nPhaseOneStep; } p->nProgress = pState->nProgress; p->iOalSz = pState->iOalSz; @@ -164166,6 +164855,42 @@ SQLITE_API sqlite3_int64 SQLITE_STDCALL sqlite3rbu_progress(sqlite3rbu *pRbu){ return pRbu->nProgress; } +/* +** Return permyriadage progress indications for the two main stages of +** an RBU update. +*/ +SQLITE_API void SQLITE_STDCALL sqlite3rbu_bp_progress(sqlite3rbu *p, int *pnOne, int *pnTwo){ + const int MAX_PROGRESS = 10000; + switch( p->eStage ){ + case RBU_STAGE_OAL: + if( p->nPhaseOneStep>0 ){ + *pnOne = (int)(MAX_PROGRESS * (i64)p->nProgress/(i64)p->nPhaseOneStep); + }else{ + *pnOne = -1; + } + *pnTwo = 0; + break; + + case RBU_STAGE_MOVE: + *pnOne = MAX_PROGRESS; + *pnTwo = 0; + break; + + case RBU_STAGE_CKPT: + *pnOne = MAX_PROGRESS; + *pnTwo = (int)(MAX_PROGRESS * (i64)p->nStep / (i64)p->nFrame); + break; + + case RBU_STAGE_DONE: + *pnOne = MAX_PROGRESS; + *pnTwo = MAX_PROGRESS; + break; + + default: + assert( 0 ); + } +} + SQLITE_API int SQLITE_STDCALL sqlite3rbu_savestate(sqlite3rbu *p){ int rc = p->rc; @@ -164639,7 +165364,7 @@ static int rbuVfsShmUnmap(sqlite3_file *pFile, int delFlag){ static rbu_file *rbuFindMaindb(rbu_vfs *pRbuVfs, const char *zWal){ rbu_file *pDb; sqlite3_mutex_enter(pRbuVfs->mutex); - for(pDb=pRbuVfs->pMain; pDb && pDb->zWal!=zWal; pDb=pDb->pMainNext); + for(pDb=pRbuVfs->pMain; pDb && pDb->zWal!=zWal; pDb=pDb->pMainNext){} sqlite3_mutex_leave(pRbuVfs->mutex); return pDb; } @@ -165160,7 +165885,7 @@ static int statConnect( rc = sqlite3_declare_vtab(db, VTAB_SCHEMA); if( rc==SQLITE_OK ){ pTab = (StatTable *)sqlite3_malloc64(sizeof(StatTable)); - if( pTab==0 ) rc = SQLITE_NOMEM; + if( pTab==0 ) rc = SQLITE_NOMEM_BKPT; } assert( rc==SQLITE_OK || pTab==0 ); @@ -165241,7 +165966,7 @@ static int statOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ pCsr = (StatCursor *)sqlite3_malloc64(sizeof(StatCursor)); if( pCsr==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; }else{ memset(pCsr, 0, sizeof(StatCursor)); pCsr->base.pVtab = pVTab; @@ -165347,7 +166072,7 @@ static int statDecodePage(Btree *pBt, StatPage *p){ nUsable = szPage - sqlite3BtreeGetReserveNoMutex(pBt); sqlite3BtreeLeave(pBt); p->aCell = sqlite3_malloc64((p->nCell+1) * sizeof(StatCell)); - if( p->aCell==0 ) return SQLITE_NOMEM; + if( p->aCell==0 ) return SQLITE_NOMEM_BKPT; memset(p->aCell, 0, (p->nCell+1) * sizeof(StatCell)); for(i=0; inCell; i++){ @@ -165380,7 +166105,7 @@ static int statDecodePage(Btree *pBt, StatPage *p){ pCell->nLastOvfl = (nPayload-nLocal) - (nOvfl-1) * (nUsable-4); pCell->nOvfl = nOvfl; pCell->aOvfl = sqlite3_malloc64(sizeof(u32)*nOvfl); - if( pCell->aOvfl==0 ) return SQLITE_NOMEM; + if( pCell->aOvfl==0 ) return SQLITE_NOMEM_BKPT; pCell->aOvfl[0] = sqlite3Get4byte(&aData[iOff+nLocal]); for(j=1; jaPage[0].iCell = 0; pCsr->aPage[0].zPath = z = sqlite3_mprintf("/"); pCsr->iPage = 0; - if( z==0 ) rc = SQLITE_NOMEM; + if( z==0 ) rc = SQLITE_NOMEM_BKPT; }else{ pCsr->isEof = 1; return sqlite3_reset(pCsr->pStmt); @@ -165494,7 +166219,7 @@ static int statNext(sqlite3_vtab_cursor *pCursor){ } pCell->iOvfl++; statSizeAndOffset(pCsr); - return z==0 ? SQLITE_NOMEM : SQLITE_OK; + return z==0 ? SQLITE_NOMEM_BKPT : SQLITE_OK; } if( p->iRightChildPg ) break; p->iCell++; @@ -165518,7 +166243,7 @@ static int statNext(sqlite3_vtab_cursor *pCursor){ p[1].iCell = 0; p[1].zPath = z = sqlite3_mprintf("%s%.3x/", p->zPath, p->iCell); p->iCell++; - if( z==0 ) rc = SQLITE_NOMEM; + if( z==0 ) rc = SQLITE_NOMEM_BKPT; } @@ -165552,7 +166277,7 @@ static int statNext(sqlite3_vtab_cursor *pCursor){ pCsr->nUnused = p->nUnused; pCsr->nMxPayload = p->nMxPayload; pCsr->zPath = z = sqlite3_mprintf("%s", p->zPath); - if( z==0 ) rc = SQLITE_NOMEM; + if( z==0 ) rc = SQLITE_NOMEM_BKPT; nPayload = 0; for(i=0; inCell; i++){ nPayload += p->aCell[i].nLocal; @@ -165586,7 +166311,7 @@ static int statFilter( if( pCsr->iDb<0 ){ sqlite3_free(pCursor->pVtab->zErrMsg); pCursor->pVtab->zErrMsg = sqlite3_mprintf("no such schema: %s", zDbase); - return pCursor->pVtab->zErrMsg ? SQLITE_ERROR : SQLITE_NOMEM; + return pCursor->pVtab->zErrMsg ? SQLITE_ERROR : SQLITE_NOMEM_BKPT; } }else{ pCsr->iDb = pTab->iDb; @@ -165602,7 +166327,7 @@ static int statFilter( " FROM \"%w\".%s WHERE rootpage!=0" " ORDER BY name", pTab->db->aDb[pCsr->iDb].zName, zMaster); if( zSql==0 ){ - return SQLITE_NOMEM; + return SQLITE_NOMEM_BKPT; }else{ rc = sqlite3_prepare_v2(pTab->db, zSql, -1, &pCsr->pStmt, 0); sqlite3_free(zSql); @@ -168535,6 +169260,10 @@ typedef sqlite3_uint64 u64; #endif +/* Truncate very long tokens to this many bytes. Hard limit is +** (65536-1-1-4-9)==65521 bytes. The limiting factor is the 16-bit offset +** field that occurs at the start of each leaf page (see fts5_index.c). */ +#define FTS5_MAX_TOKEN_SIZE 32768 /* ** Maximum number of prefix indexes on single FTS5 table. This must be @@ -168660,6 +169389,7 @@ struct Fts5Config { int pgsz; /* Approximate page size used in %_data */ int nAutomerge; /* 'automerge' setting */ int nCrisisMerge; /* Maximum allowed segments per level */ + int nUsermerge; /* 'usermerge' setting */ int nHashSize; /* Bytes of memory for in-memory hash */ char *zRank; /* Name of rank function */ char *zRankArgs; /* Arguments to rank function */ @@ -168967,6 +169697,7 @@ static int sqlite3Fts5IndexReads(Fts5Index *p); static int sqlite3Fts5IndexReinit(Fts5Index *p); static int sqlite3Fts5IndexOptimize(Fts5Index *p); static int sqlite3Fts5IndexMerge(Fts5Index *p, int nMerge); +static int sqlite3Fts5IndexReset(Fts5Index *p); static int sqlite3Fts5IndexLoadConfig(Fts5Index *p); @@ -169109,6 +169840,7 @@ static int sqlite3Fts5StorageDeleteAll(Fts5Storage *p); static int sqlite3Fts5StorageRebuild(Fts5Storage *p); static int sqlite3Fts5StorageOptimize(Fts5Storage *p); static int sqlite3Fts5StorageMerge(Fts5Storage *p, int nMerge); +static int sqlite3Fts5StorageReset(Fts5Storage *p); /* ** End of interface to code in fts5_storage.c. @@ -169188,6 +169920,12 @@ static Fts5ExprNode *sqlite3Fts5ParseNode( Fts5ExprNearset *pNear ); +static Fts5ExprNode *sqlite3Fts5ParseImplicitAnd( + Fts5Parse *pParse, + Fts5ExprNode *pLeft, + Fts5ExprNode *pRight +); + static Fts5ExprPhrase *sqlite3Fts5ParseTerm( Fts5Parse *pParse, Fts5ExprPhrase *pPhrase, @@ -169420,10 +170158,6 @@ typedef union { #define fts5YY_NO_ACTION 90 /************* End control #defines *******************************************/ -/* The fts5yyzerominor constant is used to initialize instances of -** fts5YYMINORTYPE objects to zero. */ -static const fts5YYMINORTYPE fts5yyzerominor = { 0 }; - /* Define the fts5yytestcase() macro to be a no-op if is not already defined ** otherwise. ** @@ -169585,7 +170319,9 @@ struct fts5yyParser { #ifdef fts5YYTRACKMAXSTACKDEPTH int fts5yyidxMax; /* Maximum value of fts5yyidx */ #endif +#ifndef fts5YYNOERRORRECOVERY int fts5yyerrcnt; /* Shifts left before out of the error */ +#endif sqlite3Fts5ParserARG_SDECL /* A place to hold %extra_argument */ #if fts5YYSTACKDEPTH<=0 int fts5yystksz; /* Current side of the stack */ @@ -169851,7 +170587,7 @@ static int sqlite3Fts5ParserStackPeak(void *p){ ** Find the appropriate action for a parser given the terminal ** look-ahead token iLookAhead. */ -static int fts5yy_find_shift_action( +static unsigned int fts5yy_find_shift_action( fts5yyParser *pParser, /* The parser */ fts5YYCODETYPE iLookAhead /* The look-ahead token */ ){ @@ -169947,7 +170683,7 @@ static int fts5yy_find_reduce_action( /* ** The following routine is called if the stack overflows. */ -static void fts5yyStackOverflow(fts5yyParser *fts5yypParser, fts5YYMINORTYPE *fts5yypMinor){ +static void fts5yyStackOverflow(fts5yyParser *fts5yypParser){ sqlite3Fts5ParserARG_FETCH; fts5yypParser->fts5yyidx--; #ifndef NDEBUG @@ -169960,7 +170696,6 @@ static void fts5yyStackOverflow(fts5yyParser *fts5yypParser, fts5YYMINORTYPE *ft ** stack every overflows */ /******** Begin %stack_overflow code ******************************************/ - UNUSED_PARAM(fts5yypMinor); /* Silence a compiler warning */ sqlite3Fts5ParseError(pParse, "fts5: parser stack overflow"); /******** End %stack_overflow code ********************************************/ sqlite3Fts5ParserARG_STORE; /* Suppress warning about unused %extra_argument var */ @@ -169993,7 +170728,7 @@ static void fts5yy_shift( fts5yyParser *fts5yypParser, /* The parser to be shifted */ int fts5yyNewState, /* The new state to shift in */ int fts5yyMajor, /* The major token to shift in */ - fts5YYMINORTYPE *fts5yypMinor /* Pointer to the minor token to shift in */ + sqlite3Fts5ParserFTS5TOKENTYPE fts5yyMinor /* The minor token to shift in */ ){ fts5yyStackEntry *fts5yytos; fts5yypParser->fts5yyidx++; @@ -170004,14 +170739,14 @@ static void fts5yy_shift( #endif #if fts5YYSTACKDEPTH>0 if( fts5yypParser->fts5yyidx>=fts5YYSTACKDEPTH ){ - fts5yyStackOverflow(fts5yypParser, fts5yypMinor); + fts5yyStackOverflow(fts5yypParser); return; } #else if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz ){ fts5yyGrowStack(fts5yypParser); if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz ){ - fts5yyStackOverflow(fts5yypParser, fts5yypMinor); + fts5yyStackOverflow(fts5yypParser); return; } } @@ -170019,7 +170754,7 @@ static void fts5yy_shift( fts5yytos = &fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx]; fts5yytos->stateno = (fts5YYACTIONTYPE)fts5yyNewState; fts5yytos->major = (fts5YYCODETYPE)fts5yyMajor; - fts5yytos->minor = *fts5yypMinor; + fts5yytos->minor.fts5yy0 = fts5yyMinor; fts5yyTraceShift(fts5yypParser, fts5yyNewState); } @@ -170064,24 +170799,46 @@ static void fts5yy_accept(fts5yyParser*); /* Forward Declaration */ */ static void fts5yy_reduce( fts5yyParser *fts5yypParser, /* The parser */ - int fts5yyruleno /* Number of the rule by which to reduce */ + unsigned int fts5yyruleno /* Number of the rule by which to reduce */ ){ int fts5yygoto; /* The next state */ int fts5yyact; /* The next action */ - fts5YYMINORTYPE fts5yygotominor; /* The LHS of the rule reduced */ fts5yyStackEntry *fts5yymsp; /* The top of the parser's stack */ int fts5yysize; /* Amount to pop the stack */ sqlite3Fts5ParserARG_FETCH; fts5yymsp = &fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx]; #ifndef NDEBUG - if( fts5yyTraceFILE && fts5yyruleno>=0 - && fts5yyruleno<(int)(sizeof(fts5yyRuleName)/sizeof(fts5yyRuleName[0])) ){ + if( fts5yyTraceFILE && fts5yyruleno<(int)(sizeof(fts5yyRuleName)/sizeof(fts5yyRuleName[0])) ){ fts5yysize = fts5yyRuleInfo[fts5yyruleno].nrhs; fprintf(fts5yyTraceFILE, "%sReduce [%s], go to state %d.\n", fts5yyTracePrompt, fts5yyRuleName[fts5yyruleno], fts5yymsp[-fts5yysize].stateno); } #endif /* NDEBUG */ - fts5yygotominor = fts5yyzerominor; + + /* Check that the stack is large enough to grow by a single entry + ** if the RHS of the rule is empty. This ensures that there is room + ** enough on the stack to push the LHS value */ + if( fts5yyRuleInfo[fts5yyruleno].nrhs==0 ){ +#ifdef fts5YYTRACKMAXSTACKDEPTH + if( fts5yypParser->fts5yyidx>fts5yypParser->fts5yyidxMax ){ + fts5yypParser->fts5yyidxMax = fts5yypParser->fts5yyidx; + } +#endif +#if fts5YYSTACKDEPTH>0 + if( fts5yypParser->fts5yyidx>=fts5YYSTACKDEPTH-1 ){ + fts5yyStackOverflow(fts5yypParser); + return; + } +#else + if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz-1 ){ + fts5yyGrowStack(fts5yypParser); + if( fts5yypParser->fts5yyidx>=fts5yypParser->fts5yystksz-1 ){ + fts5yyStackOverflow(fts5yypParser); + return; + } + } +#endif + } switch( fts5yyruleno ){ /* Beginning here are the reduction cases. A typical example @@ -170093,133 +170850,141 @@ static void fts5yy_reduce( ** break; */ /********** Begin reduce actions **********************************************/ + fts5YYMINORTYPE fts5yylhsminor; case 0: /* input ::= expr */ { sqlite3Fts5ParseFinished(pParse, fts5yymsp[0].minor.fts5yy18); } break; case 1: /* expr ::= expr AND expr */ { - fts5yygotominor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); } + fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 2: /* expr ::= expr OR expr */ { - fts5yygotominor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_OR, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_OR, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); } + fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 3: /* expr ::= expr NOT expr */ { - fts5yygotominor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_NOT, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_NOT, fts5yymsp[-2].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); } + fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 4: /* expr ::= LP expr RP */ -{fts5yygotominor.fts5yy18 = fts5yymsp[-1].minor.fts5yy18;} +{fts5yymsp[-2].minor.fts5yy18 = fts5yymsp[-1].minor.fts5yy18;} break; case 5: /* expr ::= exprlist */ case 6: /* exprlist ::= cnearset */ fts5yytestcase(fts5yyruleno==6); -{fts5yygotominor.fts5yy18 = fts5yymsp[0].minor.fts5yy18;} +{fts5yylhsminor.fts5yy18 = fts5yymsp[0].minor.fts5yy18;} + fts5yymsp[0].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 7: /* exprlist ::= exprlist cnearset */ { - fts5yygotominor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-1].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18, 0); + fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseImplicitAnd(pParse, fts5yymsp[-1].minor.fts5yy18, fts5yymsp[0].minor.fts5yy18); } + fts5yymsp[-1].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 8: /* cnearset ::= nearset */ { - fts5yygotominor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy26); + fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy26); } + fts5yymsp[0].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 9: /* cnearset ::= colset COLON nearset */ { sqlite3Fts5ParseSetColset(pParse, fts5yymsp[0].minor.fts5yy26, fts5yymsp[-2].minor.fts5yy3); - fts5yygotominor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy26); + fts5yylhsminor.fts5yy18 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy26); } + fts5yymsp[-2].minor.fts5yy18 = fts5yylhsminor.fts5yy18; break; case 10: /* colset ::= LCP colsetlist RCP */ -{ fts5yygotominor.fts5yy3 = fts5yymsp[-1].minor.fts5yy3; } +{ fts5yymsp[-2].minor.fts5yy3 = fts5yymsp[-1].minor.fts5yy3; } break; case 11: /* colset ::= STRING */ { - fts5yygotominor.fts5yy3 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yylhsminor.fts5yy3 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); } + fts5yymsp[0].minor.fts5yy3 = fts5yylhsminor.fts5yy3; break; case 12: /* colsetlist ::= colsetlist STRING */ { - fts5yygotominor.fts5yy3 = sqlite3Fts5ParseColset(pParse, fts5yymsp[-1].minor.fts5yy3, &fts5yymsp[0].minor.fts5yy0); } + fts5yylhsminor.fts5yy3 = sqlite3Fts5ParseColset(pParse, fts5yymsp[-1].minor.fts5yy3, &fts5yymsp[0].minor.fts5yy0); } + fts5yymsp[-1].minor.fts5yy3 = fts5yylhsminor.fts5yy3; break; case 13: /* colsetlist ::= STRING */ { - fts5yygotominor.fts5yy3 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yylhsminor.fts5yy3 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); } + fts5yymsp[0].minor.fts5yy3 = fts5yylhsminor.fts5yy3; break; case 14: /* nearset ::= phrase */ -{ fts5yygotominor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); } +{ fts5yylhsminor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); } + fts5yymsp[0].minor.fts5yy26 = fts5yylhsminor.fts5yy26; break; case 15: /* nearset ::= STRING LP nearphrases neardist_opt RP */ { sqlite3Fts5ParseNear(pParse, &fts5yymsp[-4].minor.fts5yy0); sqlite3Fts5ParseSetDistance(pParse, fts5yymsp[-2].minor.fts5yy26, &fts5yymsp[-1].minor.fts5yy0); - fts5yygotominor.fts5yy26 = fts5yymsp[-2].minor.fts5yy26; + fts5yylhsminor.fts5yy26 = fts5yymsp[-2].minor.fts5yy26; } + fts5yymsp[-4].minor.fts5yy26 = fts5yylhsminor.fts5yy26; break; case 16: /* nearphrases ::= phrase */ { - fts5yygotominor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); + fts5yylhsminor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); } + fts5yymsp[0].minor.fts5yy26 = fts5yylhsminor.fts5yy26; break; case 17: /* nearphrases ::= nearphrases phrase */ { - fts5yygotominor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, fts5yymsp[-1].minor.fts5yy26, fts5yymsp[0].minor.fts5yy11); + fts5yylhsminor.fts5yy26 = sqlite3Fts5ParseNearset(pParse, fts5yymsp[-1].minor.fts5yy26, fts5yymsp[0].minor.fts5yy11); } + fts5yymsp[-1].minor.fts5yy26 = fts5yylhsminor.fts5yy26; break; case 18: /* neardist_opt ::= */ -{ fts5yygotominor.fts5yy0.p = 0; fts5yygotominor.fts5yy0.n = 0; } +{ fts5yymsp[1].minor.fts5yy0.p = 0; fts5yymsp[1].minor.fts5yy0.n = 0; } break; case 19: /* neardist_opt ::= COMMA STRING */ -{ fts5yygotominor.fts5yy0 = fts5yymsp[0].minor.fts5yy0; } +{ fts5yymsp[-1].minor.fts5yy0 = fts5yymsp[0].minor.fts5yy0; } break; case 20: /* phrase ::= phrase PLUS STRING star_opt */ { - fts5yygotominor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, fts5yymsp[-3].minor.fts5yy11, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy20); + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, fts5yymsp[-3].minor.fts5yy11, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy20); } + fts5yymsp[-3].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; case 21: /* phrase ::= STRING star_opt */ { - fts5yygotominor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, 0, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy20); + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, 0, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy20); } + fts5yymsp[-1].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; case 22: /* star_opt ::= STAR */ -{ fts5yygotominor.fts5yy20 = 1; } +{ fts5yymsp[0].minor.fts5yy20 = 1; } break; case 23: /* star_opt ::= */ -{ fts5yygotominor.fts5yy20 = 0; } +{ fts5yymsp[1].minor.fts5yy20 = 0; } break; default: break; /********** End reduce actions ************************************************/ }; - assert( fts5yyruleno>=0 && fts5yyrulenofts5yyidx -= fts5yysize; fts5yyact = fts5yy_find_reduce_action(fts5yymsp[-fts5yysize].stateno,(fts5YYCODETYPE)fts5yygoto); if( fts5yyact <= fts5YY_MAX_SHIFTREDUCE ){ if( fts5yyact>fts5YY_MAX_SHIFT ) fts5yyact += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; - /* If the reduce action popped at least - ** one element off the stack, then we can push the new element back - ** onto the stack here, and skip the stack overflow test in fts5yy_shift(). - ** That gives a significant speed improvement. */ - if( fts5yysize ){ - fts5yypParser->fts5yyidx++; - fts5yymsp -= fts5yysize-1; - fts5yymsp->stateno = (fts5YYACTIONTYPE)fts5yyact; - fts5yymsp->major = (fts5YYCODETYPE)fts5yygoto; - fts5yymsp->minor = fts5yygotominor; - fts5yyTraceShift(fts5yypParser, fts5yyact); - }else{ - fts5yy_shift(fts5yypParser,fts5yyact,fts5yygoto,&fts5yygotominor); - } + fts5yypParser->fts5yyidx -= fts5yysize - 1; + fts5yymsp -= fts5yysize-1; + fts5yymsp->stateno = (fts5YYACTIONTYPE)fts5yyact; + fts5yymsp->major = (fts5YYCODETYPE)fts5yygoto; + fts5yyTraceShift(fts5yypParser, fts5yyact); }else{ assert( fts5yyact == fts5YY_ACCEPT_ACTION ); + fts5yypParser->fts5yyidx -= fts5yysize; fts5yy_accept(fts5yypParser); } } @@ -170252,10 +171017,10 @@ static void fts5yy_parse_failed( static void fts5yy_syntax_error( fts5yyParser *fts5yypParser, /* The parser */ int fts5yymajor, /* The major type of the error token */ - fts5YYMINORTYPE fts5yyminor /* The minor type of the error token */ + sqlite3Fts5ParserFTS5TOKENTYPE fts5yyminor /* The minor type of the error token */ ){ sqlite3Fts5ParserARG_FETCH; -#define FTS5TOKEN (fts5yyminor.fts5yy0) +#define FTS5TOKEN fts5yyminor /************ Begin %syntax_error code ****************************************/ UNUSED_PARAM(fts5yymajor); /* Silence a compiler warning */ @@ -170312,7 +171077,7 @@ static void sqlite3Fts5Parser( sqlite3Fts5ParserARG_PDECL /* Optional %extra_argument parameter */ ){ fts5YYMINORTYPE fts5yyminorunion; - int fts5yyact; /* The parser action. */ + unsigned int fts5yyact; /* The parser action. */ #if !defined(fts5YYERRORSYMBOL) && !defined(fts5YYNOERRORRECOVERY) int fts5yyendofinput; /* True if we are at the end of input */ #endif @@ -170326,14 +171091,14 @@ static void sqlite3Fts5Parser( if( fts5yypParser->fts5yyidx<0 ){ #if fts5YYSTACKDEPTH<=0 if( fts5yypParser->fts5yystksz <=0 ){ - /*memset(&fts5yyminorunion, 0, sizeof(fts5yyminorunion));*/ - fts5yyminorunion = fts5yyzerominor; - fts5yyStackOverflow(fts5yypParser, &fts5yyminorunion); + fts5yyStackOverflow(fts5yypParser); return; } #endif fts5yypParser->fts5yyidx = 0; +#ifndef fts5YYNOERRORRECOVERY fts5yypParser->fts5yyerrcnt = -1; +#endif fts5yypParser->fts5yystack[0].stateno = 0; fts5yypParser->fts5yystack[0].major = 0; #ifndef NDEBUG @@ -170343,7 +171108,6 @@ static void sqlite3Fts5Parser( } #endif } - fts5yyminorunion.fts5yy0 = fts5yyminor; #if !defined(fts5YYERRORSYMBOL) && !defined(fts5YYNOERRORRECOVERY) fts5yyendofinput = (fts5yymajor==0); #endif @@ -170359,13 +171123,16 @@ static void sqlite3Fts5Parser( fts5yyact = fts5yy_find_shift_action(fts5yypParser,(fts5YYCODETYPE)fts5yymajor); if( fts5yyact <= fts5YY_MAX_SHIFTREDUCE ){ if( fts5yyact > fts5YY_MAX_SHIFT ) fts5yyact += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; - fts5yy_shift(fts5yypParser,fts5yyact,fts5yymajor,&fts5yyminorunion); + fts5yy_shift(fts5yypParser,fts5yyact,fts5yymajor,fts5yyminor); +#ifndef fts5YYNOERRORRECOVERY fts5yypParser->fts5yyerrcnt--; +#endif fts5yymajor = fts5YYNOCODE; }else if( fts5yyact <= fts5YY_MAX_REDUCE ){ fts5yy_reduce(fts5yypParser,fts5yyact-fts5YY_MIN_REDUCE); }else{ assert( fts5yyact == fts5YY_ERROR_ACTION ); + fts5yyminorunion.fts5yy0 = fts5yyminor; #ifdef fts5YYERRORSYMBOL int fts5yymx; #endif @@ -170395,7 +171162,7 @@ static void sqlite3Fts5Parser( ** */ if( fts5yypParser->fts5yyerrcnt<0 ){ - fts5yy_syntax_error(fts5yypParser,fts5yymajor,fts5yyminorunion); + fts5yy_syntax_error(fts5yypParser,fts5yymajor,fts5yyminor); } fts5yymx = fts5yypParser->fts5yystack[fts5yypParser->fts5yyidx].major; if( fts5yymx==fts5YYERRORSYMBOL || fts5yyerrorhit ){ @@ -170405,10 +171172,10 @@ static void sqlite3Fts5Parser( fts5yyTracePrompt,fts5yyTokenName[fts5yymajor]); } #endif - fts5yy_destructor(fts5yypParser, (fts5YYCODETYPE)fts5yymajor,&fts5yyminorunion); + fts5yy_destructor(fts5yypParser, (fts5YYCODETYPE)fts5yymajor, &fts5yyminorunion); fts5yymajor = fts5YYNOCODE; }else{ - while( + while( fts5yypParser->fts5yyidx >= 0 && fts5yymx != fts5YYERRORSYMBOL && (fts5yyact = fts5yy_find_reduce_action( @@ -170422,9 +171189,7 @@ static void sqlite3Fts5Parser( fts5yy_parse_failed(fts5yypParser); fts5yymajor = fts5YYNOCODE; }else if( fts5yymx!=fts5YYERRORSYMBOL ){ - fts5YYMINORTYPE u2; - u2.fts5YYERRSYMDT = 0; - fts5yy_shift(fts5yypParser,fts5yyact,fts5YYERRORSYMBOL,&u2); + fts5yy_shift(fts5yypParser,fts5yyact,fts5YYERRORSYMBOL,fts5yyminor); } } fts5yypParser->fts5yyerrcnt = 3; @@ -170437,7 +171202,7 @@ static void sqlite3Fts5Parser( ** Applications can set this macro (for example inside %include) if ** they intend to abandon the parse upon the first syntax error seen. */ - fts5yy_syntax_error(fts5yypParser,fts5yymajor,fts5yyminorunion); + fts5yy_syntax_error(fts5yypParser,fts5yymajor, fts5yyminor); fts5yy_destructor(fts5yypParser,(fts5YYCODETYPE)fts5yymajor,&fts5yyminorunion); fts5yymajor = fts5YYNOCODE; @@ -170452,7 +171217,7 @@ static void sqlite3Fts5Parser( ** three input tokens have been successfully shifted. */ if( fts5yypParser->fts5yyerrcnt<=0 ){ - fts5yy_syntax_error(fts5yypParser,fts5yymajor,fts5yyminorunion); + fts5yy_syntax_error(fts5yypParser,fts5yymajor, fts5yyminor); } fts5yypParser->fts5yyerrcnt = 3; fts5yy_destructor(fts5yypParser,(fts5YYCODETYPE)fts5yymajor,&fts5yyminorunion); @@ -171452,6 +172217,7 @@ static void sqlite3Fts5TermsetFree(Fts5Termset *p){ #define FTS5_DEFAULT_PAGE_SIZE 4050 #define FTS5_DEFAULT_AUTOMERGE 4 +#define FTS5_DEFAULT_USERMERGE 4 #define FTS5_DEFAULT_CRISISMERGE 16 #define FTS5_DEFAULT_HASHSIZE (1024*1024) @@ -171875,7 +172641,9 @@ static const char *fts5ConfigGobbleWord( *pbQuoted = 1; }else{ zRet = fts5ConfigSkipBareword(zIn); - zOut[zRet-zIn] = '\0'; + if( zRet ){ + zOut[zRet-zIn] = '\0'; + } } } @@ -172291,6 +173059,18 @@ static int sqlite3Fts5ConfigSetValue( } } + else if( 0==sqlite3_stricmp(zKey, "usermerge") ){ + int nUsermerge = -1; + if( SQLITE_INTEGER==sqlite3_value_numeric_type(pVal) ){ + nUsermerge = sqlite3_value_int(pVal); + } + if( nUsermerge<2 || nUsermerge>16 ){ + *pbBadkey = 1; + }else{ + pConfig->nUsermerge = nUsermerge; + } + } + else if( 0==sqlite3_stricmp(zKey, "crisismerge") ){ int nCrisisMerge = -1; if( SQLITE_INTEGER==sqlite3_value_numeric_type(pVal) ){ @@ -172337,6 +173117,7 @@ static int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){ /* Set default values */ pConfig->pgsz = FTS5_DEFAULT_PAGE_SIZE; pConfig->nAutomerge = FTS5_DEFAULT_AUTOMERGE; + pConfig->nUsermerge = FTS5_DEFAULT_USERMERGE; pConfig->nCrisisMerge = FTS5_DEFAULT_CRISISMERGE; pConfig->nHashSize = FTS5_DEFAULT_HASHSIZE; @@ -172638,6 +173419,8 @@ static int sqlite3Fts5ExprNew( pNew->nPhrase = sParse.nPhrase; sParse.apPhrase = 0; } + }else{ + sqlite3Fts5ParseNodeFree(sParse.pExpr); } sqlite3_free(sParse.apPhrase); @@ -173648,6 +174431,8 @@ static int fts5ExprNodeFirst(Fts5Expr *pExpr, Fts5ExprNode *pNode){ if( Fts5NodeIsString(pNode) ){ /* Initialize all term iterators in the NEAR object. */ rc = fts5ExprNearInitAll(pExpr, pNode); + }else if( pNode->xNext==0 ){ + pNode->bEof = 1; }else{ int i; int nEof = 0; @@ -173699,23 +174484,22 @@ static int fts5ExprNodeFirst(Fts5Expr *pExpr, Fts5ExprNode *pNode){ */ static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bDesc){ Fts5ExprNode *pRoot = p->pRoot; - int rc = SQLITE_OK; - if( pRoot->xNext ){ - p->pIndex = pIdx; - p->bDesc = bDesc; - rc = fts5ExprNodeFirst(p, pRoot); + int rc; /* Return code */ - /* If not at EOF but the current rowid occurs earlier than iFirst in - ** the iteration order, move to document iFirst or later. */ - if( pRoot->bEof==0 && fts5RowidCmp(p, pRoot->iRowid, iFirst)<0 ){ - rc = fts5ExprNodeNext(p, pRoot, 1, iFirst); - } + p->pIndex = pIdx; + p->bDesc = bDesc; + rc = fts5ExprNodeFirst(p, pRoot); - /* If the iterator is not at a real match, skip forward until it is. */ - while( pRoot->bNomatch ){ - assert( pRoot->bEof==0 && rc==SQLITE_OK ); - rc = fts5ExprNodeNext(p, pRoot, 0, 0); - } + /* If not at EOF but the current rowid occurs earlier than iFirst in + ** the iteration order, move to document iFirst or later. */ + if( pRoot->bEof==0 && fts5RowidCmp(p, pRoot->iRowid, iFirst)<0 ){ + rc = fts5ExprNodeNext(p, pRoot, 1, iFirst); + } + + /* If the iterator is not at a real match, skip forward until it is. */ + while( pRoot->bNomatch ){ + assert( pRoot->bEof==0 && rc==SQLITE_OK ); + rc = fts5ExprNodeNext(p, pRoot, 0, 0); } return rc; } @@ -173824,6 +174608,21 @@ static Fts5ExprNearset *sqlite3Fts5ParseNearset( sqlite3Fts5ParseNearsetFree(pNear); sqlite3Fts5ParsePhraseFree(pPhrase); }else{ + if( pRet->nPhrase>0 ){ + Fts5ExprPhrase *pLast = pRet->apPhrase[pRet->nPhrase-1]; + assert( pLast==pParse->apPhrase[pParse->nPhrase-2] ); + if( pPhrase->nTerm==0 ){ + fts5ExprPhraseFree(pPhrase); + pRet->nPhrase--; + pParse->nPhrase--; + pPhrase = pLast; + }else if( pLast->nTerm==0 ){ + fts5ExprPhraseFree(pLast); + pParse->apPhrase[pParse->nPhrase-2] = pPhrase; + pParse->nPhrase--; + pRet->nPhrase--; + } + } pRet->apPhrase[pRet->nPhrase++] = pPhrase; } return pRet; @@ -173855,9 +174654,9 @@ static int fts5ParseTokenize( /* If an error has already occurred, this is a no-op */ if( pCtx->rc!=SQLITE_OK ) return pCtx->rc; + if( nToken>FTS5_MAX_TOKEN_SIZE ) nToken = FTS5_MAX_TOKEN_SIZE; - assert( pPhrase==0 || pPhrase->nTerm>0 ); - if( pPhrase && (tflags & FTS5_TOKEN_COLOCATED) ){ + if( pPhrase && pPhrase->nTerm>0 && (tflags & FTS5_TOKEN_COLOCATED) ){ Fts5ExprTerm *pSyn; int nByte = sizeof(Fts5ExprTerm) + sizeof(Fts5Buffer) + nToken+1; pSyn = (Fts5ExprTerm*)sqlite3_malloc(nByte); @@ -173958,7 +174757,7 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm( pParse->rc = rc; fts5ExprPhraseFree(sCtx.pPhrase); sCtx.pPhrase = 0; - }else if( sCtx.pPhrase ){ + }else{ if( pAppend==0 ){ if( (pParse->nPhrase % 8)==0 ){ @@ -173975,9 +174774,14 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm( pParse->nPhrase++; } + if( sCtx.pPhrase==0 ){ + /* This happens when parsing a token or quoted phrase that contains + ** no token characters at all. (e.g ... MATCH '""'). */ + sCtx.pPhrase = sqlite3Fts5MallocZero(&pParse->rc, sizeof(Fts5ExprPhrase)); + }else if( sCtx.pPhrase->nTerm ){ + sCtx.pPhrase->aTerm[sCtx.pPhrase->nTerm-1].bPrefix = bPrefix; + } pParse->apPhrase[pParse->nPhrase-1] = sCtx.pPhrase; - assert( sCtx.pPhrase->nTerm>0 ); - sCtx.pPhrase->aTerm[sCtx.pPhrase->nTerm-1].bPrefix = bPrefix; } return sCtx.pPhrase; @@ -174073,23 +174877,25 @@ static void sqlite3Fts5ParseSetDistance( Fts5ExprNearset *pNear, Fts5Token *p ){ - int nNear = 0; - int i; - if( p->n ){ - for(i=0; in; i++){ - char c = (char)p->p[i]; - if( c<'0' || c>'9' ){ - sqlite3Fts5ParseError( - pParse, "expected integer, got \"%.*s\"", p->n, p->p - ); - return; + if( pNear ){ + int nNear = 0; + int i; + if( p->n ){ + for(i=0; in; i++){ + char c = (char)p->p[i]; + if( c<'0' || c>'9' ){ + sqlite3Fts5ParseError( + pParse, "expected integer, got \"%.*s\"", p->n, p->p + ); + return; + } + nNear = nNear * 10 + (p->p[i] - '0'); } - nNear = nNear * 10 + (p->p[i] - '0'); + }else{ + nNear = FTS5_DEFAULT_NEARDIST; } - }else{ - nNear = FTS5_DEFAULT_NEARDIST; + pNear->nNear = nNear; } - pNear->nNear = nNear; } /* @@ -174276,10 +175082,14 @@ static Fts5ExprNode *sqlite3Fts5ParseNode( int iPhrase; for(iPhrase=0; iPhrasenPhrase; iPhrase++){ pNear->apPhrase[iPhrase]->pNode = pRet; + if( pNear->apPhrase[iPhrase]->nTerm==0 ){ + pRet->xNext = 0; + pRet->eType = FTS5_EOF; + } } if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL - && (pNear->nPhrase!=1 || pNear->apPhrase[0]->nTerm!=1) + && (pNear->nPhrase!=1 || pNear->apPhrase[0]->nTerm>1) ){ assert( pParse->rc==SQLITE_OK ); pParse->rc = SQLITE_ERROR; @@ -174308,6 +175118,70 @@ static Fts5ExprNode *sqlite3Fts5ParseNode( return pRet; } +static Fts5ExprNode *sqlite3Fts5ParseImplicitAnd( + Fts5Parse *pParse, /* Parse context */ + Fts5ExprNode *pLeft, /* Left hand child expression */ + Fts5ExprNode *pRight /* Right hand child expression */ +){ + Fts5ExprNode *pRet = 0; + Fts5ExprNode *pPrev; + + if( pParse->rc ){ + sqlite3Fts5ParseNodeFree(pLeft); + sqlite3Fts5ParseNodeFree(pRight); + }else{ + + assert( pLeft->eType==FTS5_STRING + || pLeft->eType==FTS5_TERM + || pLeft->eType==FTS5_EOF + || pLeft->eType==FTS5_AND + ); + assert( pRight->eType==FTS5_STRING + || pRight->eType==FTS5_TERM + || pRight->eType==FTS5_EOF + ); + + if( pLeft->eType==FTS5_AND ){ + pPrev = pLeft->apChild[pLeft->nChild-1]; + }else{ + pPrev = pLeft; + } + assert( pPrev->eType==FTS5_STRING + || pPrev->eType==FTS5_TERM + || pPrev->eType==FTS5_EOF + ); + + if( pRight->eType==FTS5_EOF ){ + assert( pParse->apPhrase[pParse->nPhrase-1]==pRight->pNear->apPhrase[0] ); + sqlite3Fts5ParseNodeFree(pRight); + pRet = pLeft; + pParse->nPhrase--; + } + else if( pPrev->eType==FTS5_EOF ){ + Fts5ExprPhrase **ap; + + if( pPrev==pLeft ){ + pRet = pRight; + }else{ + pLeft->apChild[pLeft->nChild-1] = pRight; + pRet = pLeft; + } + + ap = &pParse->apPhrase[pParse->nPhrase-1-pRight->pNear->nPhrase]; + assert( ap[0]==pPrev->pNear->apPhrase[0] ); + memmove(ap, &ap[1], sizeof(Fts5ExprPhrase*)*pRight->pNear->nPhrase); + pParse->nPhrase--; + + sqlite3Fts5ParseNodeFree(pPrev); + } + else{ + pRet = sqlite3Fts5ParseNode(pParse, FTS5_AND, pLeft, pRight, 0); + } + } + + return pRet; +} + static char *fts5ExprTermPrint(Fts5ExprTerm *pTerm){ int nByte = 0; Fts5ExprTerm *p; @@ -174442,6 +175316,9 @@ static char *fts5ExprPrintTcl( static char *fts5ExprPrint(Fts5Config *pConfig, Fts5ExprNode *pExpr){ char *zRet = 0; + if( pExpr->eType==0 ){ + return sqlite3_mprintf("\"\""); + }else if( pExpr->eType==FTS5_STRING || pExpr->eType==FTS5_TERM ){ Fts5ExprNearset *pNear = pExpr->pNear; int i; @@ -174502,7 +175379,7 @@ static char *fts5ExprPrint(Fts5Config *pConfig, Fts5ExprNode *pExpr){ zRet = 0; }else{ int e = pExpr->apChild[i]->eType; - int b = (e!=FTS5_STRING && e!=FTS5_TERM); + int b = (e!=FTS5_STRING && e!=FTS5_TERM && e!=FTS5_EOF); zRet = fts5PrintfAppend(zRet, "%s%s%z%s", (i==0 ? "" : zOp), (b?"(":""), z, (b?")":"") @@ -174780,12 +175657,13 @@ static int fts5ExprPopulatePoslistsCb( UNUSED_PARAM2(iUnused1, iUnused2); + if( nToken>FTS5_MAX_TOKEN_SIZE ) nToken = FTS5_MAX_TOKEN_SIZE; if( (tflags & FTS5_TOKEN_COLOCATED)==0 ) p->iOff++; for(i=0; inPhrase; i++){ Fts5ExprTerm *pTerm; if( p->aPopulator[i].bOk==0 ) continue; for(pTerm=&pExpr->apExprPhrase[i]->aTerm[0]; pTerm; pTerm=pTerm->pSynonym){ - int nTerm = strlen(pTerm->zTerm); + int nTerm = (int)strlen(pTerm->zTerm); if( (nTerm==nToken || (nTermbPrefix)) && memcmp(pTerm->zTerm, pToken, nTerm)==0 ){ @@ -175773,6 +176651,10 @@ struct Fts5Index { sqlite3_stmt *pIdxDeleter; /* "DELETE FROM %_idx WHERE segid=? */ sqlite3_stmt *pIdxSelect; int nRead; /* Total number of blocks read */ + + sqlite3_stmt *pDataVersion; + i64 iStructVersion; /* data_version when pStruct read */ + Fts5Structure *pStruct; /* Current db structure (or NULL) */ }; struct Fts5DoclistIter { @@ -176167,6 +177049,7 @@ static Fts5Data *fts5DataRead(Fts5Index *p, i64 iRowid){ return pRet; } + /* ** Release a reference to data record returned by an earlier call to ** fts5DataRead(). @@ -176334,7 +177217,7 @@ static int fts5StructureDecode( for(iLvl=0; rc==SQLITE_OK && iLvlaLevel[iLvl]; - int nTotal; + int nTotal = 0; int iSeg; if( i>=nData ){ @@ -176427,6 +177310,50 @@ static void fts5StructureExtendLevel( } } +static Fts5Structure *fts5StructureReadUncached(Fts5Index *p){ + Fts5Structure *pRet = 0; + Fts5Config *pConfig = p->pConfig; + int iCookie; /* Configuration cookie */ + Fts5Data *pData; + + pData = fts5DataRead(p, FTS5_STRUCTURE_ROWID); + if( p->rc==SQLITE_OK ){ + /* TODO: Do we need this if the leaf-index is appended? Probably... */ + memset(&pData->p[pData->nn], 0, FTS5_DATA_PADDING); + p->rc = fts5StructureDecode(pData->p, pData->nn, &iCookie, &pRet); + if( p->rc==SQLITE_OK && pConfig->iCookie!=iCookie ){ + p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie); + } + fts5DataRelease(pData); + if( p->rc!=SQLITE_OK ){ + fts5StructureRelease(pRet); + pRet = 0; + } + } + + return pRet; +} + +static i64 fts5IndexDataVersion(Fts5Index *p){ + i64 iVersion = 0; + + if( p->rc==SQLITE_OK ){ + if( p->pDataVersion==0 ){ + p->rc = fts5IndexPrepareStmt(p, &p->pDataVersion, + sqlite3_mprintf("PRAGMA %Q.data_version", p->pConfig->zDb) + ); + if( p->rc ) return 0; + } + + if( SQLITE_ROW==sqlite3_step(p->pDataVersion) ){ + iVersion = sqlite3_column_int64(p->pDataVersion, 0); + } + p->rc = sqlite3_reset(p->pDataVersion); + } + + return iVersion; +} + /* ** Read, deserialize and return the structure record. ** @@ -176439,26 +177366,49 @@ static void fts5StructureExtendLevel( ** is called, it is a no-op. */ static Fts5Structure *fts5StructureRead(Fts5Index *p){ - Fts5Config *pConfig = p->pConfig; - Fts5Structure *pRet = 0; /* Object to return */ - int iCookie; /* Configuration cookie */ - Fts5Data *pData; - pData = fts5DataRead(p, FTS5_STRUCTURE_ROWID); - if( p->rc ) return 0; - /* TODO: Do we need this if the leaf-index is appended? Probably... */ - memset(&pData->p[pData->nn], 0, FTS5_DATA_PADDING); - p->rc = fts5StructureDecode(pData->p, pData->nn, &iCookie, &pRet); - if( p->rc==SQLITE_OK && pConfig->iCookie!=iCookie ){ - p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie); + if( p->pStruct==0 ){ + p->iStructVersion = fts5IndexDataVersion(p); + if( p->rc==SQLITE_OK ){ + p->pStruct = fts5StructureReadUncached(p); + } } - fts5DataRelease(pData); - if( p->rc!=SQLITE_OK ){ - fts5StructureRelease(pRet); - pRet = 0; +#if 0 + else{ + Fts5Structure *pTest = fts5StructureReadUncached(p); + if( pTest ){ + int i, j; + assert_nc( p->pStruct->nSegment==pTest->nSegment ); + assert_nc( p->pStruct->nLevel==pTest->nLevel ); + for(i=0; inLevel; i++){ + assert_nc( p->pStruct->aLevel[i].nMerge==pTest->aLevel[i].nMerge ); + assert_nc( p->pStruct->aLevel[i].nSeg==pTest->aLevel[i].nSeg ); + for(j=0; jaLevel[i].nSeg; j++){ + Fts5StructureSegment *p1 = &pTest->aLevel[i].aSeg[j]; + Fts5StructureSegment *p2 = &p->pStruct->aLevel[i].aSeg[j]; + assert_nc( p1->iSegid==p2->iSegid ); + assert_nc( p1->pgnoFirst==p2->pgnoFirst ); + assert_nc( p1->pgnoLast==p2->pgnoLast ); + } + } + fts5StructureRelease(pTest); + } + } +#endif + + if( p->rc!=SQLITE_OK ) return 0; + assert( p->iStructVersion!=0 ); + assert( p->pStruct!=0 ); + fts5StructureRef(p->pStruct); + return p->pStruct; +} + +static void fts5StructureInvalidate(Fts5Index *p){ + if( p->pStruct ){ + fts5StructureRelease(p->pStruct); + p->pStruct = 0; } - return pRet; } /* @@ -177623,6 +178573,10 @@ static void fts5LeafSeek( iPgidx = szLeaf; iPgidx += fts5GetVarint32(&a[iPgidx], iTermOff); iOff = iTermOff; + if( iOff>n ){ + p->rc = FTS5_CORRUPT; + return; + } while( 1 ){ @@ -177714,6 +178668,18 @@ static void fts5LeafSeek( fts5SegIterLoadNPos(p, pIter); } +static sqlite3_stmt *fts5IdxSelectStmt(Fts5Index *p){ + if( p->pIdxSelect==0 ){ + Fts5Config *pConfig = p->pConfig; + fts5IndexPrepareStmt(p, &p->pIdxSelect, sqlite3_mprintf( + "SELECT pgno FROM '%q'.'%q_idx' WHERE " + "segid=? AND term<=? ORDER BY term DESC LIMIT 1", + pConfig->zDb, pConfig->zName + )); + } + return p->pIdxSelect; +} + /* ** Initialize the object pIter to point to term pTerm/nTerm within segment ** pSeg. If there is no such term in the index, the iterator is set to EOF. @@ -177731,6 +178697,7 @@ static void fts5SegIterSeekInit( int iPg = 1; int bGe = (flags & FTS5INDEX_QUERY_SCAN); int bDlidx = 0; /* True if there is a doclist-index */ + sqlite3_stmt *pIdxSelect = 0; assert( bGe==0 || (flags & FTS5INDEX_QUERY_DESC)==0 ); assert( pTerm && nTerm ); @@ -177739,23 +178706,16 @@ static void fts5SegIterSeekInit( /* This block sets stack variable iPg to the leaf page number that may ** contain term (pTerm/nTerm), if it is present in the segment. */ - if( p->pIdxSelect==0 ){ - Fts5Config *pConfig = p->pConfig; - fts5IndexPrepareStmt(p, &p->pIdxSelect, sqlite3_mprintf( - "SELECT pgno FROM '%q'.'%q_idx' WHERE " - "segid=? AND term<=? ORDER BY term DESC LIMIT 1", - pConfig->zDb, pConfig->zName - )); - } + pIdxSelect = fts5IdxSelectStmt(p); if( p->rc ) return; - sqlite3_bind_int(p->pIdxSelect, 1, pSeg->iSegid); - sqlite3_bind_blob(p->pIdxSelect, 2, pTerm, nTerm, SQLITE_STATIC); - if( SQLITE_ROW==sqlite3_step(p->pIdxSelect) ){ - i64 val = sqlite3_column_int(p->pIdxSelect, 0); + sqlite3_bind_int(pIdxSelect, 1, pSeg->iSegid); + sqlite3_bind_blob(pIdxSelect, 2, pTerm, nTerm, SQLITE_STATIC); + if( SQLITE_ROW==sqlite3_step(pIdxSelect) ){ + i64 val = sqlite3_column_int(pIdxSelect, 0); iPg = (int)(val>>1); bDlidx = (val & 0x0001); } - p->rc = sqlite3_reset(p->pIdxSelect); + p->rc = sqlite3_reset(pIdxSelect); if( iPgpgnoFirst ){ iPg = pSeg->pgnoFirst; @@ -178917,18 +179877,46 @@ static int fts5AllocateSegid(Fts5Index *p, Fts5Structure *pStruct){ if( pStruct->nSegment>=FTS5_MAX_SEGMENT ){ p->rc = SQLITE_FULL; }else{ - while( iSegid==0 ){ - int iLvl, iSeg; - sqlite3_randomness(sizeof(u32), (void*)&iSegid); - iSegid = iSegid & ((1 << FTS5_DATA_ID_B)-1); - for(iLvl=0; iLvlnLevel; iLvl++){ - for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ - if( iSegid==pStruct->aLevel[iLvl].aSeg[iSeg].iSegid ){ - iSegid = 0; - } + /* FTS5_MAX_SEGMENT is currently defined as 2000. So the following + ** array is 63 elements, or 252 bytes, in size. */ + u32 aUsed[(FTS5_MAX_SEGMENT+31) / 32]; + int iLvl, iSeg; + int i; + u32 mask; + memset(aUsed, 0, sizeof(aUsed)); + for(iLvl=0; iLvlnLevel; iLvl++){ + for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ + int iId = pStruct->aLevel[iLvl].aSeg[iSeg].iSegid; + if( iId<=FTS5_MAX_SEGMENT ){ + aUsed[(iId-1) / 32] |= 1 << ((iId-1) % 32); } } } + + for(i=0; aUsed[i]==0xFFFFFFFF; i++); + mask = aUsed[i]; + for(iSegid=0; mask & (1 << iSegid); iSegid++); + iSegid += 1 + i*32; + +#ifdef SQLITE_DEBUG + for(iLvl=0; iLvlnLevel; iLvl++){ + for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ + assert( iSegid!=pStruct->aLevel[iLvl].aSeg[iSeg].iSegid ); + } + } + assert( iSegid>0 && iSegid<=FTS5_MAX_SEGMENT ); + + { + sqlite3_stmt *pIdxSelect = fts5IdxSelectStmt(p); + if( p->rc==SQLITE_OK ){ + u8 aBlob[2] = {0xff, 0xff}; + sqlite3_bind_int(pIdxSelect, 1, iSegid); + sqlite3_bind_blob(pIdxSelect, 2, aBlob, 2, SQLITE_STATIC); + assert( sqlite3_step(pIdxSelect)!=SQLITE_ROW ); + p->rc = sqlite3_reset(pIdxSelect); + } + } +#endif } } @@ -179174,6 +180162,9 @@ static void fts5WriteFlushLeaf(Fts5Index *p, Fts5SegWriter *pWriter){ Fts5PageWriter *pPage = &pWriter->writer; i64 iRowid; +static int nCall = 0; +nCall++; + assert( (pPage->pgidx.n==0)==(pWriter->bFirstTermInPage) ); /* Set the szLeaf header field. */ @@ -179373,7 +180364,9 @@ static void fts5WriteFinish( fts5WriteFlushLeaf(p, pWriter); } *pnLeaf = pLeaf->pgno-1; - fts5WriteFlushBtree(p, pWriter); + if( pLeaf->pgno>1 ){ + fts5WriteFlushBtree(p, pWriter); + } } fts5BufferFree(&pLeaf->term); fts5BufferFree(&pLeaf->buf); @@ -179643,13 +180636,17 @@ static void fts5IndexMergeLevel( /* ** Do up to nPg pages of automerge work on the index. +** +** Return true if any changes were actually made, or false otherwise. */ -static void fts5IndexMerge( +static int fts5IndexMerge( Fts5Index *p, /* FTS5 backend object */ Fts5Structure **ppStruct, /* IN/OUT: Current structure of index */ - int nPg /* Pages of work to do */ + int nPg, /* Pages of work to do */ + int nMin /* Minimum number of segments to merge */ ){ int nRem = nPg; + int bRet = 0; Fts5Structure *pStruct = *ppStruct; while( nRem>0 && p->rc==SQLITE_OK ){ int iLvl; /* To iterate through levels */ @@ -179680,17 +180677,17 @@ static void fts5IndexMerge( } #endif - if( nBestpConfig->nAutomerge - && pStruct->aLevel[iBestLvl].nMerge==0 - ){ + if( nBestaLevel[iBestLvl].nMerge==0 ){ break; } + bRet = 1; fts5IndexMergeLevel(p, &pStruct, iBestLvl, &nRem); if( p->rc==SQLITE_OK && pStruct->aLevel[iBestLvl].nMerge==0 ){ fts5StructurePromote(p, iBestLvl+1, pStruct); } } *ppStruct = pStruct; + return bRet; } /* @@ -179718,7 +180715,7 @@ static void fts5IndexAutomerge( pStruct->nWriteCounter += nLeaf; nRem = (int)(p->nWorkUnit * nWork * pStruct->nLevel); - fts5IndexMerge(p, ppStruct, nRem); + fts5IndexMerge(p, ppStruct, nRem, p->pConfig->nAutomerge); } } @@ -179788,6 +180785,7 @@ static void fts5FlushOneHash(Fts5Index *p){ ** for the new level-0 segment. */ pStruct = fts5StructureRead(p); iSegid = fts5AllocateSegid(p, pStruct); + fts5StructureInvalidate(p); if( iSegid ){ const int pgsz = p->pConfig->pgsz; @@ -179938,28 +180936,41 @@ static void fts5IndexFlush(Fts5Index *p){ } } - -static int sqlite3Fts5IndexOptimize(Fts5Index *p){ - Fts5Structure *pStruct; +static Fts5Structure *fts5IndexOptimizeStruct( + Fts5Index *p, + Fts5Structure *pStruct +){ Fts5Structure *pNew = 0; - int nSeg = 0; - - assert( p->rc==SQLITE_OK ); - fts5IndexFlush(p); - pStruct = fts5StructureRead(p); + int nByte = sizeof(Fts5Structure); + int nSeg = pStruct->nSegment; + int i; - if( pStruct ){ - assert( pStruct->nSegment==fts5StructureCountSegments(pStruct) ); - nSeg = pStruct->nSegment; - if( nSeg>1 ){ - int nByte = sizeof(Fts5Structure); - nByte += (pStruct->nLevel+1) * sizeof(Fts5StructureLevel); - pNew = (Fts5Structure*)sqlite3Fts5MallocZero(&p->rc, nByte); + /* Figure out if this structure requires optimization. A structure does + ** not require optimization if either: + ** + ** + it consists of fewer than two segments, or + ** + all segments are on the same level, or + ** + all segments except one are currently inputs to a merge operation. + ** + ** In the first case, return NULL. In the second, increment the ref-count + ** on *pStruct and return a copy of the pointer to it. + */ + if( nSeg<2 ) return 0; + for(i=0; inLevel; i++){ + int nThis = pStruct->aLevel[i].nSeg; + if( nThis==nSeg || (nThis==nSeg-1 && pStruct->aLevel[i].nMerge==nThis) ){ + fts5StructureRef(pStruct); + return pStruct; } + assert( pStruct->aLevel[i].nMerge<=nThis ); } + + nByte += (pStruct->nLevel+1) * sizeof(Fts5StructureLevel); + pNew = (Fts5Structure*)sqlite3Fts5MallocZero(&p->rc, nByte); + if( pNew ){ Fts5StructureLevel *pLvl; - int nByte = nSeg * sizeof(Fts5StructureSegment); + nByte = nSeg * sizeof(Fts5StructureSegment); pNew->nLevel = pStruct->nLevel+1; pNew->nRef = 1; pNew->nWriteCounter = pStruct->nWriteCounter; @@ -179968,7 +180979,10 @@ static int sqlite3Fts5IndexOptimize(Fts5Index *p){ if( pLvl->aSeg ){ int iLvl, iSeg; int iSegOut = 0; - for(iLvl=0; iLvlnLevel; iLvl++){ + /* Iterate through all segments, from oldest to newest. Add them to + ** the new Fts5Level object so that pLvl->aSeg[0] is the oldest + ** segment in the data structure. */ + for(iLvl=pStruct->nLevel-1; iLvl>=0; iLvl--){ for(iSeg=0; iSegaLevel[iLvl].nSeg; iSeg++){ pLvl->aSeg[iSegOut] = pStruct->aLevel[iLvl].aSeg[iSeg]; iSegOut++; @@ -179981,8 +180995,27 @@ static int sqlite3Fts5IndexOptimize(Fts5Index *p){ } } + return pNew; +} + +static int sqlite3Fts5IndexOptimize(Fts5Index *p){ + Fts5Structure *pStruct; + Fts5Structure *pNew = 0; + + assert( p->rc==SQLITE_OK ); + fts5IndexFlush(p); + pStruct = fts5StructureRead(p); + fts5StructureInvalidate(p); + + if( pStruct ){ + pNew = fts5IndexOptimizeStruct(p, pStruct); + } + fts5StructureRelease(pStruct); + + assert( pNew==0 || pNew->nSegment>0 ); if( pNew ){ - int iLvl = pNew->nLevel-1; + int iLvl; + for(iLvl=0; pNew->aLevel[iLvl].nSeg==0; iLvl++){} while( p->rc==SQLITE_OK && pNew->aLevel[iLvl].nSeg>0 ){ int nRem = FTS5_OPT_WORK_UNIT; fts5IndexMergeLevel(p, &pNew, iLvl, &nRem); @@ -179992,20 +181025,32 @@ static int sqlite3Fts5IndexOptimize(Fts5Index *p){ fts5StructureRelease(pNew); } - fts5StructureRelease(pStruct); return fts5IndexReturn(p); } +/* +** This is called to implement the special "VALUES('merge', $nMerge)" +** INSERT command. +*/ static int sqlite3Fts5IndexMerge(Fts5Index *p, int nMerge){ - Fts5Structure *pStruct; - - pStruct = fts5StructureRead(p); - if( pStruct && pStruct->nLevel ){ - fts5IndexMerge(p, &pStruct, nMerge); - fts5StructureWrite(p, pStruct); + Fts5Structure *pStruct = fts5StructureRead(p); + if( pStruct ){ + int nMin = p->pConfig->nUsermerge; + fts5StructureInvalidate(p); + if( nMerge<0 ){ + Fts5Structure *pNew = fts5IndexOptimizeStruct(p, pStruct); + fts5StructureRelease(pStruct); + pStruct = pNew; + nMin = 2; + nMerge = nMerge*-1; + } + if( pStruct && pStruct->nLevel ){ + if( fts5IndexMerge(p, &pStruct, nMerge, nMin) ){ + fts5StructureWrite(p, pStruct); + } + } + fts5StructureRelease(pStruct); } - fts5StructureRelease(pStruct); - return fts5IndexReturn(p); } @@ -180419,6 +181464,7 @@ static int sqlite3Fts5IndexSync(Fts5Index *p, int bCommit){ static int sqlite3Fts5IndexRollback(Fts5Index *p){ fts5CloseReader(p); fts5IndexDiscardData(p); + fts5StructureInvalidate(p); /* assert( p->rc==SQLITE_OK ); */ return SQLITE_OK; } @@ -180430,6 +181476,7 @@ static int sqlite3Fts5IndexRollback(Fts5Index *p){ */ static int sqlite3Fts5IndexReinit(Fts5Index *p){ Fts5Structure s; + fts5StructureInvalidate(p); memset(&s, 0, sizeof(Fts5Structure)); fts5DataWrite(p, FTS5_AVERAGES_ROWID, (const u8*)"", 0); fts5StructureWrite(p, &s); @@ -180488,11 +181535,13 @@ static int sqlite3Fts5IndexClose(Fts5Index *p){ int rc = SQLITE_OK; if( p ){ assert( p->pReader==0 ); + fts5StructureInvalidate(p); sqlite3_finalize(p->pWriter); sqlite3_finalize(p->pDeleter); sqlite3_finalize(p->pIdxWriter); sqlite3_finalize(p->pIdxDeleter); sqlite3_finalize(p->pIdxSelect); + sqlite3_finalize(p->pDataVersion); sqlite3Fts5HashFree(p->pHash); sqlite3_free(p->zDataTbl); sqlite3_free(p); @@ -181749,6 +182798,15 @@ static int sqlite3Fts5IndexInit(sqlite3 *db){ return rc; } + +static int sqlite3Fts5IndexReset(Fts5Index *p){ + assert( p->pStruct==0 || p->iStructVersion!=0 ); + if( fts5IndexDataVersion(p)!=p->iStructVersion ){ + fts5StructureInvalidate(p); + } + return fts5IndexReturn(p); +} + /* ** 2014 Jun 09 ** @@ -182348,27 +183406,38 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){ return SQLITE_OK; } +static int fts5NewTransaction(Fts5Table *pTab){ + Fts5Cursor *pCsr; + for(pCsr=pTab->pGlobal->pCsr; pCsr; pCsr=pCsr->pNext){ + if( pCsr->base.pVtab==(sqlite3_vtab*)pTab ) return SQLITE_OK; + } + return sqlite3Fts5StorageReset(pTab->pStorage); +} + /* ** Implementation of xOpen method. */ static int fts5OpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){ Fts5Table *pTab = (Fts5Table*)pVTab; Fts5Config *pConfig = pTab->pConfig; - Fts5Cursor *pCsr; /* New cursor object */ + Fts5Cursor *pCsr = 0; /* New cursor object */ int nByte; /* Bytes of space to allocate */ - int rc = SQLITE_OK; /* Return code */ + int rc; /* Return code */ - nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int); - pCsr = (Fts5Cursor*)sqlite3_malloc(nByte); - if( pCsr ){ - Fts5Global *pGlobal = pTab->pGlobal; - memset(pCsr, 0, nByte); - pCsr->aColumnSize = (int*)&pCsr[1]; - pCsr->pNext = pGlobal->pCsr; - pGlobal->pCsr = pCsr; - pCsr->iCsrId = ++pGlobal->iNextId; - }else{ - rc = SQLITE_NOMEM; + rc = fts5NewTransaction(pTab); + if( rc==SQLITE_OK ){ + nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int); + pCsr = (Fts5Cursor*)sqlite3_malloc(nByte); + if( pCsr ){ + Fts5Global *pGlobal = pTab->pGlobal; + memset(pCsr, 0, nByte); + pCsr->aColumnSize = (int*)&pCsr[1]; + pCsr->pNext = pGlobal->pCsr; + pGlobal->pCsr = pCsr; + pCsr->iCsrId = ++pGlobal->iNextId; + }else{ + rc = SQLITE_NOMEM; + } } *ppCsr = (sqlite3_vtab_cursor*)pCsr; return rc; @@ -183262,13 +184331,13 @@ static int fts5UpdateMethod( rc = SQLITE_ERROR; } - /* Case 1: DELETE */ + /* DELETE */ else if( nArg==1 ){ i64 iDel = sqlite3_value_int64(apVal[0]); /* Rowid to delete */ rc = sqlite3Fts5StorageDelete(pTab->pStorage, iDel, 0); } - /* Case 2: INSERT */ + /* INSERT */ else if( eType0!=SQLITE_INTEGER ){ /* If this is a REPLACE, first remove the current entry (if any) */ if( eConflict==SQLITE_REPLACE @@ -183280,7 +184349,7 @@ static int fts5UpdateMethod( fts5StorageInsert(&rc, pTab, apVal, pRowid); } - /* Case 2: UPDATE */ + /* UPDATE */ else{ i64 iOld = sqlite3_value_int64(apVal[0]); /* Old rowid */ i64 iNew = sqlite3_value_int64(apVal[1]); /* New rowid */ @@ -183329,8 +184398,8 @@ static int fts5SyncMethod(sqlite3_vtab *pVtab){ ** Implementation of xBegin() method. */ static int fts5BeginMethod(sqlite3_vtab *pVtab){ - UNUSED_PARAM(pVtab); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState((Fts5Table*)pVtab, FTS5_BEGIN, 0); + fts5NewTransaction((Fts5Table*)pVtab); return SQLITE_OK; } @@ -184355,7 +185424,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2016-02-15 17:29:24 3d862f207e3adc00f78066799ac5a8c282430a5f", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2016-03-29 10:14:15 e9bb4cf40f4971974a74468ef922bdee481c988b", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ @@ -184416,6 +185485,17 @@ static int fts5Init(sqlite3 *db){ ); } } + + /* If SQLITE_FTS5_ENABLE_TEST_MI is defined, assume that the file + ** fts5_test_mi.c is compiled and linked into the executable. And call + ** its entry point to enable the matchinfo() demo. */ +#ifdef SQLITE_FTS5_ENABLE_TEST_MI + if( rc==SQLITE_OK ){ + extern int sqlite3Fts5TestRegisterMatchinfo(sqlite3*); + rc = sqlite3Fts5TestRegisterMatchinfo(db); + } +#endif + return rc; } @@ -184607,6 +185687,7 @@ static int fts5StorageGetStmt( } *ppStmt = p->aStmt[eStmt]; + sqlite3_reset(*ppStmt); return rc; } @@ -184830,6 +185911,7 @@ static int fts5StorageInsertCallback( Fts5InsertCtx *pCtx = (Fts5InsertCtx*)pContext; Fts5Index *pIdx = pCtx->pStorage->pIndex; UNUSED_PARAM2(iUnused1, iUnused2); + if( nToken>FTS5_MAX_TOKEN_SIZE ) nToken = FTS5_MAX_TOKEN_SIZE; if( (tflags & FTS5_TOKEN_COLOCATED)==0 || pCtx->szCol==0 ){ pCtx->szCol++; } @@ -185101,6 +186183,10 @@ static int sqlite3Fts5StorageMerge(Fts5Storage *p, int nMerge){ return sqlite3Fts5IndexMerge(p->pIndex, nMerge); } +static int sqlite3Fts5StorageReset(Fts5Storage *p){ + return sqlite3Fts5IndexReset(p->pIndex); +} + /* ** Allocate a new rowid. This is used for "external content" tables when ** a NULL value is inserted into the rowid column. The new rowid is allocated @@ -185272,6 +186358,7 @@ static int fts5StorageIntegrityCallback( int iCol; UNUSED_PARAM2(iUnused1, iUnused2); + if( nToken>FTS5_MAX_TOKEN_SIZE ) nToken = FTS5_MAX_TOKEN_SIZE; if( (tflags & FTS5_TOKEN_COLOCATED)==0 || pCtx->szCol==0 ){ pCtx->szCol++; @@ -185584,8 +186671,6 @@ static int sqlite3Fts5StorageConfigValue( return rc; } - - /* ** 2014 May 31 ** diff --git a/c/sqlite3.h b/c/sqlite3.h index 4372029a..71b1b01e 100644 --- a/c/sqlite3.h +++ b/c/sqlite3.h @@ -111,9 +111,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.11.0" -#define SQLITE_VERSION_NUMBER 3011000 -#define SQLITE_SOURCE_ID "2016-02-15 17:29:24 3d862f207e3adc00f78066799ac5a8c282430a5f" +#define SQLITE_VERSION "3.12.0" +#define SQLITE_VERSION_NUMBER 3012000 +#define SQLITE_SOURCE_ID "2016-03-29 10:14:15 e9bb4cf40f4971974a74468ef922bdee481c988b" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -1228,7 +1228,7 @@ struct sqlite3_vfs { const char *(*xNextSystemCall)(sqlite3_vfs*, const char *zName); /* ** The methods above are in versions 1 through 3 of the sqlite_vfs object. - ** New fields may be appended in figure versions. The iVersion + ** New fields may be appended in future versions. The iVersion ** value will increment whenever this happens. */ }; @@ -1820,6 +1820,20 @@ struct sqlite3_mem_methods { ** is enabled (using the [PRAGMA threads] command) and the amount of content ** to be sorted exceeds the page size times the minimum of the ** [PRAGMA cache_size] setting and this value. +** +** [[SQLITE_CONFIG_STMTJRNL_SPILL]] +**
SQLITE_CONFIG_STMTJRNL_SPILL +**
^The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which +** becomes the [statement journal] spill-to-disk threshold. +** [Statement journals] are held in memory until their size (in bytes) +** exceeds this threshold, at which point they are written to disk. +** Or if the threshold is -1, statement journals are always held +** exclusively in memory. +** Since many statement journals never become large, setting the spill +** threshold to a value such as 64KiB can greatly reduce the amount of +** I/O required to support statement rollback. +** The default value for this setting is controlled by the +** [SQLITE_STMTJRNL_SPILL] compile-time option. ** */ #define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ @@ -1847,6 +1861,7 @@ struct sqlite3_mem_methods { #define SQLITE_CONFIG_WIN32_HEAPSIZE 23 /* int nByte */ #define SQLITE_CONFIG_PCACHE_HDRSZ 24 /* int *psz */ #define SQLITE_CONFIG_PMASZ 25 /* unsigned int szPma */ +#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ /* ** CAPI3REF: Database Connection Configuration Options @@ -1904,11 +1919,25 @@ struct sqlite3_mem_methods { ** following this call. The second parameter may be a NULL pointer, in ** which case the trigger setting is not reported back.
** +**
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+**
^This option is used to enable or disable the two-argument +** version of the [fts3_tokenizer()] function which is part of the +** [FTS3] full-text search engine extension. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable fts3_tokenizer() or +** positive to enable fts3_tokenizer() or negative to leave the setting +** unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the new setting is not reported back.
+** ** */ -#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ -#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ -#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ +#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ +#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */ /* @@ -7489,7 +7518,7 @@ SQLITE_API void SQLITE_CDECL sqlite3_log(int iErrCode, const char *zFormat, ...) ** previously registered write-ahead log callback. ^Note that the ** [sqlite3_wal_autocheckpoint()] interface and the ** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will -** those overwrite any prior [sqlite3_wal_hook()] settings. +** overwrite any prior [sqlite3_wal_hook()] settings. */ SQLITE_API void *SQLITE_STDCALL sqlite3_wal_hook( sqlite3*, @@ -7886,6 +7915,18 @@ SQLITE_API void SQLITE_STDCALL sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); */ SQLITE_API int SQLITE_STDCALL sqlite3_db_cacheflush(sqlite3*); +/* +** CAPI3REF: Low-level system error code +** +** ^Attempt to return the underlying operating system error code or error +** number that caused the most reason I/O error or failure to open a file. +** The return value is OS-dependent. For example, on unix systems, after +** [sqlite3_open_v2()] returns [SQLITE_CANTOPEN], this interface could be +** called to get back the underlying "errno" that caused the problem, such +** as ENOSPC, EAUTH, EISDIR, and so forth. +*/ +SQLITE_API int SQLITE_STDCALL sqlite3_system_errno(sqlite3*); + /* ** CAPI3REF: Database Snapshot ** KEYWORDS: {snapshot} @@ -7954,7 +7995,11 @@ SQLITE_API SQLITE_EXPERIMENTAL int SQLITE_STDCALL sqlite3_snapshot_get( ** the first operation, apart from other sqlite3_snapshot_open() calls, ** following the [BEGIN] that starts a new read transaction. ** ^A [snapshot] will fail to open if it has been overwritten by a -** [checkpoint]. +** [checkpoint]. +** ^A [snapshot] will fail to open if the database connection D has not +** previously completed at least one read operation against the database +** file. (Hint: Run "[PRAGMA application_id]" against a newly opened +** database connection in order to make it ready to use snapshots.) ** ** The [sqlite3_snapshot_open()] interface is only available when the ** SQLITE_ENABLE_SNAPSHOT compile-time option is used. diff --git a/c/sqlite3ext.h b/c/sqlite3ext.h index 2e1c764a..20a2fcdf 100644 --- a/c/sqlite3ext.h +++ b/c/sqlite3ext.h @@ -279,6 +279,8 @@ struct sqlite3_api_routines { int (*status64)(int,sqlite3_int64*,sqlite3_int64*,int); int (*strlike)(const char*,const char*,unsigned int); int (*db_cacheflush)(sqlite3*); + /* Version 3.12.0 and later */ + int (*system_errno)(sqlite3*); }; /* @@ -522,6 +524,8 @@ struct sqlite3_api_routines { #define sqlite3_status64 sqlite3_api->status64 #define sqlite3_strlike sqlite3_api->strlike #define sqlite3_db_cacheflush sqlite3_api->db_cacheflush +/* Version 3.12.0 and later */ +#define sqlite3_system_errno sqlite3_api->system_errno #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) diff --git a/js/sql-debug.js b/js/sql-debug.js index 05d39a8d..de16b5a4 100644 --- a/js/sql-debug.js +++ b/js/sql-debug.js @@ -1521,15 +1521,15 @@ var ASM_CONSTS = []; STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 50112; +STATICTOP = STATIC_BASE + 49760; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,67,0,0,1,0,1,0,130,0,0,0,151,67,0,0,1,0,1,0,131,0,0,0,156,67,0,0,1,0,1,0,132,0,0,0,161,67,0,0,2,0,1,0,133,0,0,0,166,67,0,0,2,0,1,0,133,0,0,0,172,67,0,0,1,0,1,0,134,0,0,0,178,67,0,0,1,0,1,0,135,0,0,0,184,67,0,0,1,0,1,0,136,0,0,0,190,67,0,0,2,0,1,0,137,0,0,0,201,67,0,0,1,0,1,0,138,0,0,0,209,67,0,0,1,0,1,0,139,0,0,0,217,67,0,0,1,0,1,0,140,0,0,0,221,67,0,0,1,0,1,0,141,0,0,0,225,67,0,0,1,0,1,0,142,0,0,0,229,67,0,0,1,0,1,0,143,0,0,0,233,67,0,0,1,0,1,0,144,0,0,0,238,67,0,0,1,0,1,0,145,0,0,0,243,67,0,0,1,0,1,0,146,0,0,0,248,67,0,0,1,0,1,0,147,0,0,0,253,67,0,0,1,0,1,0,148,0,0,0,232,101,0,0,1,0,1,0,149,0,0,0,1,68,0,0,1,0,1,0,150,0,0,0,7,68,0,0,2,0,1,0,151,0,0,0,13,68,0,0,1,0,1,0,152,0,0,0,18,68,0,0,1,0,1,0,153,0,0,0,23,68,0,0,1,0,1,0,154,0,0,0,30,68,0,0,1,0,1,0,155,0,0,0,35,68,0,0,1,0,1,0,156,0,0,0,41,68,0,0,0,0,1,1,157,0,0,0,44,68,0,0,2,0,1,0,158,0,0,0,54,68,0,0,2,0,1,0,159,0,0,0,54,68,0,0,3,0,1,0,159,0,0,0,64,68,0,0,2,0,1,0,160,0,0,0,72,68,0,0,2,0,1,0,161,0,0,0,81,68,0,0,1,0,1,0,162,0,0,0,89,68,0,0,1,0,1,0,163,0,0,0,96,68,0,0,2,0,1,0,164,0,0,0,101,68,0,0,2,0,1,0,165,0,0,0,106,68,0,0,2,0,1,0,166,0,0,0,111,68,0,0,2,0,1,0,167,0,0,0,121,68,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,68,0,0,1,0,0,0,168,0,0,0,131,0,0,0,76,105,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,68,0,0,1,0,0,0,169,0,0,0,133,0,0,0,143,68,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,68,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,223,183,0,0,235,183,0,0,247,183,0,0,15,184,0,0,26,184,0,0,46,184,0,0,60,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,184,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,189,177,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,199,177,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,212,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,84,0,0,21,85,0,0,89,85,0,0,117,85,0,0,146,85,0,0,173,85,0,0,201,85,0,0,226,85,0,0,250,85,0,0,59,86,0,0,118,86,0,0,186,86,0,0,234,86,0,0,90,87,0,0,225,87,0,0,21,88,0,0,87,88,0,0,130,88,0,0,189,88,0,0,228,88,0,0,16,89,0,0,57,89,0,0,104,89,0,0,146,89,0,0,66,75,0,0,66,75,0,0,184,89,0,0,239,89,0,0,44,90,0,0,149,90,0,0,252,90,0,0,51,91,0,0,109,91,0,0,216,91,0,0,39,92,0,0,104,92,0,0,164,92,0,0,212,92,0,0,62,93,0,0,135,93,0,0,99,83,0,0,170,0,0,0,107,83,0,0,171,0,0,0,125,83,0,0,172,0,0,0,115,83,0,0,173,0,0,0,79,96,0,0,2,0,4,0,82,96,0,0,3,1,3,0,86,96,0,0,3,1,2,0,90,96,0,0,4,0,1,0,115,83,0,0,9,0,0,0,59,100,0,0,6,0,0,0,178,97,0,0,8,0,0,0,187,97,0,0,10,0,0,0,66,100,0,0,5,0,0,0,116,97,0,0,7,0,0,0,72,100,0,0,10,0,0,0,83,100,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,105,0,0,0,0,2,0,172,105,0,0,0,0,4,0,0,0,0,0,0,0,0,0,148,105,0,0,1,0,0,0,151,105,0,0,2,0,0,0,154,105,0,0,6,0,0,0,158,105,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,136,0,0,1,0,0,0,66,81,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,32,124,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,22,124,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,2,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,82,0,0,95,124,0,0,108,124,0,0,0,0,0,0,121,124,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,115,125,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,240,125,0,0,0,0,0,0,0,0,0,0,67,133,0,0,0,0,0,0,8,0,0,0,35,129,0,0,1,1,0,0,0,0,0,0,82,133,0,0,2,0,0,0,0,0,16,0,98,133,0,0,3,0,0,0,0,0,0,0,158,128,0,0,4,1,0,0,0,0,0,0,67,129,0,0,5,0,0,0,0,0,0,0,111,133,0,0,6,0,0,0,0,0,0,0,131,133,0,0,2,0,0,0,0,0,0,16,147,133,0,0,2,0,0,0,16,0,0,0,168,133,0,0,7,0,0,0,0,0,0,0,183,133,0,0,8,0,0,0,0,0,0,0,199,133,0,0,2,0,0,0,128,0,0,0,213,133,0,0,0,2,0,0,15,0,0,0,226,133,0,0,10,1,0,0,0,0,0,0,240,133,0,0,11,1,0,0,0,0,0,0,3,134,0,0,2,0,0,0,0,0,0,1,22,134,0,0,2,0,0,0,0,1,0,0,170,130,0,0,12,0,0,0,0,0,0,0,45,134,0,0,13,1,0,0,0,0,0,0,63,134,0,0,14,1,0,0,0,0,0,0,80,134,0,0,2,0,0,0,0,0,8,0,93,134,0,0,0,2,0,0,0,0,0,0,108,134,0,0,2,0,0,0,4,0,0,0,126,134,0,0,2,0,0,0,8,0,0,0,136,134,0,0,2,0,0,0,0,32,0,0,161,134,0,0,15,1,0,0,0,0,0,0,180,134,0,0,16,1,0,0,0,0,0,0,191,134,0,0,17,1,0,0,0,0,0,0,202,134,0,0,16,1,0,0,1,0,0,0,9,130,0,0,18,1,0,0,0,0,0,0,3,129,0,0,19,1,0,0,0,0,0,0,16,129,0,0,20,0,0,0,0,0,0,0,214,134,0,0,2,0,0,0,0,128,0,0,246,128,0,0,22,0,0,0,0,0,0,0,233,134,0,0,23,1,0,0,0,0,0,0,79,129,0,0,24,0,0,0,0,0,0,0,248,134,0,0,23,1,0,0,0,0,0,0,205,128,0,0,25,0,0,0,0,0,0,0,3,135,0,0,2,0,0,0,0,0,0,2,14,135,0,0,18,1,0,0,0,0,0,0,26,135,0,0,2,0,0,0,0,64,0,0,43,135,0,0,2,0,0,0,0,0,4,0,62,135,0,0,2,0,0,0,0,0,2,0,88,135,0,0,0,0,0,0,1,0,0,0,215,128,0,0,26,0,0,0,0,0,0,0,103,135,0,0,2,0,0,0,64,0,0,0,122,135,0,0,27,0,0,0,0,0,0,0,32,131,0,0,28,0,0,0,0,0,0,0,136,135,0,0,29,1,0,0,0,0,0,0,146,129,0,0,30,1,0,0,0,0,0,0,142,135,0,0,31,1,0,0,0,0,0,0,89,129,0,0,32,0,0,0,0,0,0,0,100,129,0,0,33,0,0,0,0,0,0,0,48,131,0,0,34,0,0,0,0,0,0,0,153,135,0,0,0,0,0,0,6,0,0,0,5,131,0,0,35,0,0,0,0,0,0,0,166,135,0,0,36,1,0,0,0,0,0,0,181,135,0,0,2,0,0,0,0,8,1,0,165,132,0,0,120,132,0,0,197,132,0,0,202,132,0,0,210,132,0,0,134,132,0,0,13,132,0,0,178,132,0,0,184,132,0,0,190,132,0,0,159,132,0,0,165,132,0,0,120,132,0,0,88,97,0,0,169,132,0,0,174,132,0,0,82,132,0,0,120,132,0,0,137,132,0,0,144,132,0,0,151,132,0,0,130,132,0,0,132,132,0,0,134,132,0,0,82,132,0,0,120,132,0,0,125,132,0,0,82,132,0,0,120,132,0,0,79,132,0,0,82,132,0,0,13,132,0,0,86,132,0,0,91,132,0,0,94,132,0,0,104,132,0,0,114,132,0,0,13,132,0,0,248,99,0,0,19,132,0,0,26,132,0,0,74,131,0,0,1,0,0,0,79,131,0,0,1,0,0,0,85,131,0,0,2,0,0,0,94,131,0,0,3,0,0,0,103,131,0,0,2,0,0,0,111,131,0,0,3,0,0,0,119,131,0,0,0,0,0,0,126,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,131,0,0,232,101,0,0,61,131,0,0,44,133,0,0,51,133,0,0,59,133,0,0,252,130,0,0,158,105,0,0,63,133,0,0,114,132,0,0,64,0,0,0,141,131,0,0,66,0,0,0,136,131,0,0,65,0,0,0,113,139,0,0,67,0,0,0,79,120,0,0,3,0,0,0,75,120,0,0,3,0,0,0,66,75,0,0,150,149,0,0,156,149,0,0,161,149,0,0,166,149,0,0,26,150,0,0,32,150,0,0,40,150,0,0,255,157,0,0,4,158,0,0,11,158,0,0,14,158,0,0,17,158,0,0,20,158,0,0,23,158,0,0,26,158,0,0,34,158,0,0,66,100,0,0,86,132,0,0,43,158,0,0,62,169,0,0,71,169,0,0,78,169,0,0,84,169,0,0,167,169,0,0,177,169,0,0,188,169,0,0,200,169,0,0,211,169,0,0,222,169,0,0,233,169,0,0,238,169,0,0,243,169,0,0,254,169,0,0,10,170,0,0,17,170,0,0,25,170,0,0,33,170,0,0,38,170,0,0,44,170,0,0,51,170,0,0,65,170,0,0,78,170,0,0,84,170,0,0,88,170,0,0,99,170,0,0,104,170,0,0,112,170,0,0,118,170,0,0,125,170,0,0,130,170,0,0,139,170,0,0,144,170,0,0,153,170,0,0,158,170,0,0,163,170,0,0,169,170,0,0,177,170,0,0,187,170,0,0,195,170,0,0,205,170,0,0,214,170,0,0,221,170,0,0,231,170,0,0,244,170,0,0,249,170,0,0,5,171,0,0,13,171,0,0,18,171,0,0,23,171,0,0,26,171,0,0,32,171,0,0,39,171,0,0,48,171,0,0,59,171,0,0,65,171,0,0,76,171,0,0,86,171,0,0,96,171,0,0,105,171,0,0,115,171,0,0,129,171,0,0,143,171,0,0,154,171,0,0,167,171,0,0,178,171,0,0,184,171,0,0,196,171,0,0,203,171,0,0,210,171,0,0,217,171,0,0,224,171,0,0,235,171,0,0,244,171,0,0,250,171,0,0,4,172,0,0,7,172,0,0,11,172,0,0,20,172,0,0,29,172,0,0,36,172,0,0,43,172,0,0,51,172,0,0,54,172,0,0,57,172,0,0,60,172,0,0,63,172,0,0,66,172,0,0,69,172,0,0,79,172,0,0,86,172,0,0,92,172,0,0,102,172,0,0,113,172,0,0,117,172,0,0,126,172,0,0,135,172,0,0,142,172,0,0,152,172,0,0,159,172,0,0,166,172,0,0,173,172,0,0,181,172,0,0,192,172,0,0,206,172,0,0,217,172,0,0,224,172,0,0,232,172,0,0,238,172,0,0,246,172,0,0,251,172,0,0,6,173,0,0,11,173,0,0,18,173,0,0,31,173,0,0,41,173,0,0,51,173,0,0,56,173,0,0,65,173,0,0,71,173,0,0,77,173,0,0,83,173,0,0,89,173,0,0,97,173,0,0,103,173,0,0,115,173,0,0,127,173,0,0,139,173,0,0,151,173,0,0,164,173,0,0,174,173,0,0,184,173,0,0,196,173,0,0,208,173,0,0,218,173,0,0,229,173,0,0,240,173,0,0,248,173,0,0,253,173,0,0,3,174,0,0,13,174,0,0,22,174,0,0,29,174,0,0,35,174,0,0,47,174,0,0,57,174,0,0,70,174,0,0,83,174,0,0,92,174,0,0,100,174,0,0,109,174,0,0,120,174,0,0,127,174,0,0,137,174,0,0,144,174,0,0,152,174,0,0,161,174,0,0,167,174,0,0,175,174,0,0,181,174,0,0,189,174,0,0,199,174,0,0,208,174,0,0,213,174,0,0,224,174,0,0,229,174,0,0,57,175,0,0,70,175,0,0,0,0,0,0,106,175,0,0,131,175,0,0,162,175,0,0,181,175,0,0,136,126,0,0,206,175,0,0,243,175,0,0,255,175,0,0,14,176,0,0,47,176,0,0,65,176,0,0,90,176,0,0,119,176,0,0,136,176,0,0,96,160,0,0,90,74,0,0,159,176,0,0,177,176,0,0,195,176,0,0,234,176,0,0,9,177,0,0,30,177,0,0,62,177,0,0,96,177,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,3,178,0,0,145,0,0,0,0,0,0,0,222,177,0,0,163,0,0,0,0,0,0,0,81,105,0,0,160,0,0,0,0,0,0,0,8,178,0,0,161,0,0,0,0,0,0,0,15,178,0,0,162,0,0,0,0,0,0,0,20,178,0,0,163,0,0,0,0,0,0,0,26,178,0,0,164,0,0,0,0,0,0,0,36,178,0,0,146,0,0,0,0,0,0,0,42,178,0,0,147,0,0,0,0,0,0,0,47,178,0,0,0,0,0,0,0,0,0,0,53,178,0,0,0,0,0,0,0,0,0,0,61,178,0,0,148,0,0,0,0,0,0,0,67,178,0,0,0,0,0,0,0,0,0,0,74,178,0,0,0,0,0,0,0,0,0,0,83,178,0,0,165,0,0,0,0,0,0,0,90,178,0,0,0,0,0,0,0,0,0,0,100,178,0,0,164,0,0,0,0,0,0,0,107,178,0,0,166,0,0,0,0,0,0,0,121,178,0,0,167,0,0,0,0,0,0,0,127,178,0,0,165,0,0,0,0,0,0,0,133,178,0,0,149,0,0,0,0,0,0,0,140,178,0,0,130,0,0,0,0,0,0,0,148,178,0,0,137,0,0,0,0,0,0,0,153,178,0,0,168,0,0,0,0,0,0,0,160,178,0,0,0,0,0,0,0,0,0,0,167,178,0,0,131,0,0,0,0,0,0,0,179,178,0,0,150,0,0,0,0,0,0,0,188,178,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,179,0,0,38,179,0,0,47,179,0,0,52,179,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0,0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,63,182,0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,70,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,77,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,90,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,97,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,105,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,110,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,120,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,126,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,255,255,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,141,182,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,145,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,152,182,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,161,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,172,182,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,179,182,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,186,182,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,197,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,204,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,219,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,236,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,247,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,17,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,42,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,48,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,66,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,74,183,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,88,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,96,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,105,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,109,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,115,183,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,13,8,58,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,141,131,0,0,0,0,0,0,0,0,0,0,2,0,5,8,62,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,3,0,5,8,62,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,193,180,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,215,180,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,12,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,17,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,22,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,31,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,40,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,53,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,71,181,0,0,0,0,0,0,0,0,0,0,158,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,39,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,196,191,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,186,3,86,0,21,0,206,255,23,0,79,0,134,0,226,0,136,255,129,255,146,0,161,0,35,1,93,1,110,1,55,1,126,1,118,1,231,0,108,1,111,1,140,1,142,1,236,0,61,1,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,204,1,247,1,55,2,57,2,60,2,65,2,68,2,70,2,72,2,75,2,81,2,119,2,132,2,134,2,137,2,143,2,145,2,147,2,149,2,152,2,158,2,196,2,208,2,247,2,3,3,42,3,54,3,93,3,105,3,144,3,162,3,179,3,182,3,189,3,191,3,195,3,198,3,200,3,230,3,237,3,245,3,254,3,1,4,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,218,1,212,0,15,0,242,1,222,0,255,1,153,255,97,0,45,2,153,255,153,255,153,255,153,255,176,255,9,0,59,0,19,0,38,1,38,1,203,255,194,255,178,2,179,2,223,2,225,2,228,2,232,2,133,0,54,1,148,0,74,1,160,0,124,1,18,3,20,3,145,1,40,1,21,3,221,2,85,0,210,2,214,255,68,1,252,1,16,3,60,3,61,3,62,3,166,2,201,2,151,1,69,0,150,0,194,0,188,0,33,1,45,1,147,1,205,1,229,1,56,2,105,2,161,2,212,2,11,3,24,3,56,3,63,3,69,3,74,3,78,3,80,3,113,3,124,3,132,3,163,3,168,3,190,1,142,3,143,3,176,3,181,3,133,3,187,3,199,3,210,3,155,3,224,3,225,3,188,3,228,3,231,3,242,3,33,1,250,3,9,4,19,4,22,4,25,4,32,4,166,3,205,3,229,3,232,3,234,3,133,3,244,3,251,3,36,4,246,3,236,3,252,3,207,3,0,4,208,3,16,4,11,4,23,4,21,4,253,3,239,3,27,4,29,4,7,4,10,4,59,4,2,4,58,4,60,4,240,3,241,3,65,4,12,4,44,4,35,4,45,4,47,4,48,4,49,4,81,4,87,4,52,4,26,4,56,4,66,4,55,4,91,4,93,4,34,4,24,4,104,4,114,4,116,4,100,4,121,4,124,4,125,4,127,4,107,4,111,4,113,4,117,4,106,4,118,4,119,4,120,4,123,4,110,4,126,4,128,4,82,4,88,4,89,4,92,4,90,4,101,4,99,4,103,4,147,4,151,4,95,4,140,4,96,4,97,4,142,4,122,4,131,4,133,4,136,4,143,4,187,4,190,4,200,4,201,4,208,4,209,4,210,4,211,4,108,4,129,4,109,4,177,4,184,4,204,4,55,1,26,5,145,0,139,2,2,0,192,0,140,2,82,1,12,3,92,0,92,0,92,0,92,0,85,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,88,0,88,0,88,0,87,0,79,1,71,1,88,3,88,3,92,0,92,0,92,0,92,0,185,2,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,76,0,39,3,74,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,79,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,12,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,100,1,40,3,8,3,189,2,177,2,177,2,86,0,83,0,166,0,1,1,41,3,203,2,174,1,86,0,83,0,166,0,68,1,185,2,88,3,88,3,201,0,158,0,20,1,131,1,15,1,130,1,188,0,177,2,177,2,60,3,86,0,83,0,166,0,13,1,65,3,49,0,123,0,87,0,79,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,239,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,251,2,77,1,76,1,216,0,152,1,138,1,69,0,231,0,137,1,178,2,179,2,140,1,142,3,251,0,98,1,250,0,32,1,59,1,174,1,140,3,174,1,141,3,89,0,89,0,88,0,88,0,88,0,87,0,79,1,135,1,88,3,88,3,178,2,179,2,183,0,95,0,123,0,128,1,125,1,124,1,65,3,31,0,65,3,49,0,144,3,144,3,239,2,240,2,123,1,123,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,152,1,143,1,179,1,145,2,88,3,88,3,90,1,57,0,232,0,60,3,109,0,192,2,110,1,177,2,177,2,107,1,57,3,248,2,97,0,237,2,240,2,65,3,49,0,196,2,196,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,167,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,114,0,22,0,105,1,176,2,58,0,152,1,134,1,251,0,93,1,240,0,213,0,250,2,177,2,177,2,79,3,173,2,115,0,105,1,231,0,137,1,177,2,177,2,140,1,183,0,177,2,177,2,128,1,125,1,124,1,105,1,88,3,88,3,178,2,179,2,160,0,159,0,223,0,123,1,226,2,25,0,38,3,195,2,73,3,143,0,177,2,177,2,67,3,136,1,83,1,254,2,254,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,146,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,72,3,72,3,72,3,10,1,1,1,178,2,179,2,10,3,194,2,86,0,83,0,166,0,219,0,178,2,179,2,225,2,1,0,178,2,179,2,177,2,177,2,177,2,177,2,174,1,86,0,83,0,166,0,249,0,176,2,169,3,88,3,88,3,171,1,187,2,188,2,60,3,42,1,178,2,179,2,221,0,174,2,115,0,123,0,176,3,27,3,65,3,48,0,86,1,49,1,202,3,79,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,172,3,73,3,167,2,201,2,173,1,67,3,174,1,251,0,98,1,250,0,99,1,32,1,178,2,179,2,178,2,179,2,29,1,173,3,84,1,203,3,31,1,210,0,23,0,174,0,25,3,64,3,174,1,97,1,65,3,10,0,88,3,88,3,24,0,174,3,151,0,241,2,72,3,72,3,72,3,26,3,200,3,10,5,65,1,142,1,10,5,100,1,96,1,242,2,65,3,49,0,167,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,120,1,114,0,139,3,193,2,174,1,139,3,72,1,122,3,114,0,65,3,10,0,198,3,174,1,89,3,89,3,64,1,189,0,163,0,64,3,165,0,174,1,138,3,88,1,67,1,138,3,136,3,65,3,10,0,197,3,50,1,88,3,88,3,187,0,163,1,65,3,10,0,220,0,101,3,104,3,64,3,222,0,147,1,65,3,49,0,195,4,25,3,68,0,169,3,150,1,245,0,66,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,93,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,148,1,213,0,250,2,66,3,89,1,114,0,172,3,134,3,112,1,215,2,5,0,60,1,192,0,140,1,4,3,12,3,13,1,230,0,242,0,3,3,244,0,141,1,164,0,173,3,129,1,123,0,91,1,55,0,99,1,73,1,88,3,88,3,216,2,77,1,76,1,176,2,200,3,11,5,212,2,174,3,11,5,157,1,214,0,65,3,9,0,106,1,30,1,187,3,115,0,206,2,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,144,3,144,3,20,5,20,5,246,2,88,3,88,3,69,1,198,3,12,3,65,3,35,0,235,2,208,2,78,1,187,2,188,2,209,3,140,2,82,1,243,0,233,2,152,3,152,3,113,1,187,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,3,174,1,112,0,54,1,174,1,181,2,61,1,186,2,144,1,174,1,25,3,103,1,174,1,249,3,174,1,192,0,174,1,145,1,12,3,174,1,104,1,65,3,36,0,65,3,12,0,174,1,65,3,27,0,60,1,88,3,88,3,65,3,37,0,20,0,65,3,38,0,65,3,39,0,65,3,28,0,72,0,65,3,29,0,151,2,152,2,153,2,8,1,65,3,40,0,234,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,2,174,1,149,3,147,0,174,1,165,0,148,3,19,1,65,3,41,0,174,1,12,3,174,1,21,0,174,1,3,1,174,1,6,1,18,1,174,1,111,1,65,3,42,0,65,3,11,0,174,1,65,3,43,0,235,0,88,3,88,3,25,3,65,3,99,0,65,3,44,0,65,3,45,0,65,3,32,0,75,0,65,3,46,0,49,1,199,3,1,1,1,1,65,3,47,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,186,0,185,0,184,0,238,0,88,3,88,3,138,2,2,0,40,4,65,3,33,0,227,2,217,0,218,0,1,1,203,3,1,1,170,1,61,1,1,1,6,3,65,3,117,0,1,1,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,62,1,124,0,212,0,163,0,88,3,88,3,175,3,132,3,130,3,65,3,118,0,247,2,214,2,213,2,1,1,243,2,33,1,33,1,221,2,222,2,193,3,65,3,119,0,170,2,55,1,93,0,82,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,204,2,246,0,66,1,75,1,88,3,88,3,0,1,114,0,101,1,65,3,53,0,40,3,145,3,145,3,164,3,156,0,160,1,164,1,168,1,162,3,41,3,65,3,34,0,108,1,55,1,253,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,114,0,114,0,114,0,192,3,88,3,88,3,51,1,2,1,62,3,65,3,100,0,191,0,252,0,121,1,11,1,68,0,197,0,68,0,5,1,204,2,1,3,65,3,50,0,71,0,143,3,143,3,7,1,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,80,0,169,1,34,3,3,0,190,4,191,0,174,1,9,1,80,1,80,1,65,3,101,0,229,2,80,0,169,1,129,3,3,0,211,2,210,2,172,1,209,2,80,1,80,1,174,1,125,3,14,1,174,1,197,0,65,3,102,0,174,1,32,3,172,1,174,1,183,2,174,1,75,3,111,0,158,1,174,1,16,3,153,1,174,1,63,3,174,1,65,3,98,0,123,0,65,3,116,0,79,3,158,1,65,3,49,0,11,3,65,3,113,0,65,3,106,0,226,0,123,0,65,3,105,0,79,3,65,3,103,0,65,3,104,0,23,3,155,1,77,0,78,0,34,1,156,1,174,1,35,1,114,0,79,0,176,1,175,1,133,1,174,1,67,3,77,0,78,0,129,3,71,3,152,1,154,1,174,1,79,0,176,1,175,1,116,1,191,2,67,3,65,3,52,0,174,1,80,0,169,1,174,1,3,0,65,3,54,0,4,3,75,3,80,1,80,1,172,2,3,3,65,3,51,0,72,3,72,3,72,3,74,3,19,0,172,1,160,2,65,3,26,0,159,2,65,3,30,0,161,2,72,3,72,3,72,3,74,3,19,0,207,0,149,2,22,1,48,1,148,0,24,1,158,1,26,1,248,0,102,1,54,3,126,1,6,0,92,1,161,0,17,1,80,0,169,1,79,3,3,0,166,3,127,3,208,2,126,3,80,1,80,1,40,1,157,0,159,1,241,0,28,1,162,2,190,3,194,0,185,3,172,1,183,3,180,3,77,0,78,0,9,3,63,1,56,0,59,0,135,0,79,0,176,1,175,1,121,0,66,0,67,3,146,0,128,0,94,1,158,1,51,3,130,0,95,1,131,0,132,0,133,0,119,1,173,0,107,0,138,0,149,0,79,3,109,1,178,0,62,0,70,0,169,1,168,3,3,0,59,3,121,3,115,1,255,0,80,1,80,1,24,3,72,3,72,3,72,3,74,3,19,0,77,0,78,0,147,3,172,1,208,0,179,0,144,0,79,0,176,1,175,1,117,1,4,1,67,3,180,0,70,1,163,2,181,0,52,1,232,2,132,1,231,2,219,2,158,1,206,2,230,2,218,2,200,2,146,1,53,1,199,2,16,1,20,3,65,0,198,2,79,3,197,2,21,1,193,0,21,3,19,3,23,1,108,3,73,0,72,3,72,3,72,3,74,3,19,0,18,3,25,1,162,1,27,1,166,1,227,0,77,0,78,0,74,1,228,0,229,0,96,0,255,2,79,0,176,1,175,1,151,1,67,0,67,3,215,0,36,1,37,1,149,1,38,1,47,1,46,1,45,1,204,0,43,1,39,1,202,0,164,2,169,2,7,0,177,1,157,2,203,0,205,0,206,0,125,0,110,0,57,1,178,1,155,2,154,2,146,2,168,0,224,0,237,0,72,3,72,3,72,3,74,3,19,0,120,0,144,2,81,1,236,0,155,0,167,0,85,1,233,0,58,1,108,0,137,3,135,3,58,3,127,0,126,0,244,2,170,0,129,0,172,0,247,0,160,3,134,0,136,0,171,0,60,0,61,0,123,0,169,0,137,0,165,3,175,0,176,0,159,3,8,0,13,0,177,0,254,0,150,3,139,0,191,0,156,3,140,0,114,1,166,2,150,0,118,1,182,0,18,1,12,1,141,0,122,0,63,0,14,0,122,1,15,0,127,1,64,0,225,0,78,3,77,3,106,3,16,0,4,0,217,2,253,2,2,3,162,0,139,1,209,0,211,0,142,0,33,3,110,3,28,3,56,1,71,0,68,0,107,3,105,3,171,3,190,0,161,1,170,3,17,0,195,0,196,0,152,0,18,0,207,3,199,0,208,3,153,0,198,0,154,0,165,1,109,3,76,3,184,2,81,0,200,0,41,1,87,1,251,3,250,3,44,1,141,2,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,90,0,60,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,182,0,80,1,218,0,38,2,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,218,0,218,0,162,1,239,1,23,2,23,2,33,0,43,0,10,0,226,255,167,255,167,255,167,255,11,0,169,1,169,1,12,1,199,1,93,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,172,2,138,0,10,0,43,0,125,0,125,0,125,0,125,0,125,0,125,0,167,255,167,255,167,255,228,0,85,1,85,1,207,0,20,1,44,1,24,1,96,1,98,1,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,51,2,51,2,51,2,218,0,218,0,179,1,218,0,218,0,218,0,67,2,218,0,218,0,73,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,69,2,0,3,199,2,199,2,199,2,192,2,215,0,41,4,244,2,178,1,197,2,197,2,200,2,178,1,200,2,22,2,90,3,129,2,185,3,197,2,168,255,185,3,185,3,99,3,233,1,191,1,176,4,94,4,94,4,179,4,179,4,94,4,205,4,160,4,102,4,218,4,218,4,218,4,218,4,94,4,226,4,102,4,205,4,160,4,160,4,102,4,94,4,226,4,115,4,213,4,94,4,94,4,226,4,253,4,94,4,226,4,94,4,226,4,253,4,181,4,181,4,181,4,235,4,253,4,181,4,186,4,181,4,235,4,181,4,181,4,171,4,194,4,171,4,194,4,171,4,194,4,171,4,194,4,94,4,94,4,174,4,253,4,230,4,230,4,253,4,199,4,207,4,206,4,212,4,102,4,66,5,68,5,83,5,83,5,93,5,93,5,93,5,93,5,167,255,167,255,167,255,167,255,167,255,167,255,221,1,35,2,130,1,50,3,238,2,253,2,188,2,238,3,219,2,243,3,247,3,248,3,249,3,180,3,68,3,167,3,191,2,255,3,31,4,40,4,53,4,87,3,150,3,63,4,61,4,99,2,112,5,114,5,97,5,236,4,105,5,53,5,108,5,102,5,103,5,7,5,254,4,17,5,9,5,110,5,8,5,118,5,134,5,13,5,6,5,60,5,61,5,32,5,116,5,109,5,24,5,146,5,143,5,127,5,43,5,11,5,98,5,128,5,99,5,94,5,113,5,49,5,135,5,138,5,141,5,50,5,56,5,142,5,115,5,144,5,145,5,140,5,147,5,117,5,148,5,149,5,119,5,125,5,150,5,151,5,152,5,63,5,154,5,157,5,155,5,156,5,59,5,160,5,161,5,158,5,159,5,163,5,64,5,164,5,162,5,165,5,166,5,164,5,169,5,170,5,171,5,173,5,174,5,178,5,176,5,180,5,179,5,172,5,181,5,182,5,184,5,185,5,181,5,187,5,186,5,188,5,189,5,191,5,82,5,92,5,95,5,96,5,192,5,204,5,219,5,214,3,20,5,20,5,20,5,190,4,190,4,190,4,25,5,20,5,85,4,114,4,114,4,250,4,25,5,25,5,25,5,25,5,25,5,25,5,188,4,25,5,25,5,25,5,20,5,25,5,89,4,120,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,249,4,251,4,128,4,127,4,230,4,101,4,125,4,118,4,122,4,191,4,184,4,185,4,183,4,187,4,192,4,25,5,121,4,153,4,168,4,152,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,162,4,167,4,174,4,166,4,163,4,155,4,154,4,156,4,157,4,25,5,25,5,240,3,50,4,25,5,25,5,158,4,25,5,252,3,159,4,171,4,170,4,169,4,247,3,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,214,3,20,5,25,5,25,5,20,5,20,5,20,5,20,5,20,5,20,5,12,5,89,4,79,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,0,5,254,4,25,5,203,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,85,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,220,3,25,5,223,4,85,4,85,4,85,4,87,4,65,4,77,4,222,3,124,4,103,4,103,4,235,4,124,4,235,4,21,4,44,4,18,4,114,4,103,4,186,4,114,4,114,4,86,4,77,4,25,5,5,5,94,4,94,4,253,4,253,4,94,4,133,4,54,4,124,4,61,4,61,4,61,4,61,4,94,4,237,3,124,4,133,4,54,4,54,4,124,4,94,4,237,3,229,4,227,4,94,4,94,4,237,3,196,4,94,4,237,3,94,4,237,3,196,4,52,4,52,4,52,4,36,4,196,4,52,4,21,4,52,4,36,4,52,4,52,4,107,4,102,4,107,4,102,4,107,4,102,4,107,4,102,4,94,4,94,4,25,5,196,4,200,4,200,4,196,4,119,4,108,4,117,4,115,4,124,4,243,3,39,4,230,3,230,3,219,3,219,3,219,3,219,3,17,5,17,5,12,5,23,4,23,4,6,4,25,5,25,5,25,5,25,5,25,5,25,5,254,3,25,5,205,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,140,4,25,5,215,3,7,5,25,5,25,5,4,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,233,4,25,5,25,5,25,5,25,5,25,5,25,5,226,4,225,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,68,4,25,5,25,5,25,5,72,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,116,4,25,5,109,4,25,5,189,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,22,5,25,5,25,5,25,5,21,5,25,5,25,5,25,5,25,5,25,5,142,4,25,5,141,4,145,4,25,5,228,3,25,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,49,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,50,45,49,53,32,49,55,58,50,57,58,50,52,32,51,100,56,54,50,102,50,48,55,101,51,97,100,99,48,48,102,55,56,48,54,54,55,57,57,97,99,53,97,56,99,50,56,50,52,51,48,97,53,102,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10622); -/* memory initializer */ allocate([115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,111,117,110,116,40,42,41,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,102,116,115,51,116,111,107,101,110,105,122,101,58,32,100,105,115,97,98,108,101,100,32,45,32,114,101,98,117,105,108,100,32,119,105,116,104,32,45,68,83,81,76,73,84,69,95,69,78,65,66,76,69,95,70,84,83,51,95,84,79,75,69,78,73,90,69,82,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173,2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,190,0,190,1,176,0,176,3,191,0,191,2,192,1,192,1,192,1,149,4,194,2,194,0,149,9,149,4,149,1,163,2,196,1,196,3,199,1,199,2,199,1,197,9,197,1,208,4,208,5,200,1,200,1,200,0,211,2,211,0,201,3,201,2,201,4,212,2,212,1,212,0,202,0,202,2,214,2,214,0,213,7,213,9,213,7,213,7,159,0,159,2,195,2,215,1,215,2,215,3,215,4,217,2,217,0,216,0,216,3,216,2,218,4,218,0,206,0,206,3,188,4,188,2,177,1,177,1,177,0,204,0,204,3,205,0,205,2,207,0,207,2,207,4,207,4,149,6,203,0,203,2,149,8,220,5,220,3,149,6,149,7,221,2,221,1,222,0,222,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,223,1,223,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,224,1,224,2,175,5,225,1,225,2,175,5,175,3,175,5,175,4,175,4,175,5,227,5,227,4,228,2,228,0,226,1,226,0,210,1,210,0,209,3,209,1,149,12,229,1,229,0,179,0,179,3,189,5,189,3,230,0,230,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,231,1,231,1,231,1,231,1,231,1,171,2,171,1,172,2,149,5,232,11,234,1,234,1,234,2,234,0,235,1,235,1,235,3,236,0,236,3,237,0,237,2,233,3,233,2,239,1,239,3,240,0,240,3,240,2,238,7,238,5,238,5,238,1,175,4,175,6,193,1,193,1,193,1,149,4,149,6,149,3,242,0,242,2,241,1,241,0,149,1,149,3,149,1,149,3,149,6,149,6,243,1,244,0,244,1,149,1,149,4,245,8,246,1,246,3,247,0,247,2,248,1,248,3,249,1,250,0,250,4,250,2,198,0,198,2,198,3,251,6,251,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20862); -/* memory initializer */ allocate([106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0,16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25,0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95,19,50,51,80,81,82,83,27,85,86,87,88,89,90,91,92,93,94,95,137,177,139,71,72,73,74,75,76,77,78,79,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,212,173,27,28,223,224,225,152,42,181,152,223,224,225,95,97,50,51,99,100,101,102,103,104,105,27,28,59,223,224,225,112,174,175,66,94,95,71,72,73,74,75,76,77,78,79,80,81,82,83,195,85,86,87,88,89,90,91,92,93,94,95,19,197,89,90,220,209,210,26,119,120,97,98,208,100,108,109,110,152,157,152,107,152,109,89,90,91,92,93,94,95,163,50,51,97,98,99,55,66,102,103,104,174,175,174,175,132,133,192,193,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,152,209,210,148,149,50,51,100,53,154,59,156,174,229,27,28,232,163,163,22,192,193,174,175,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,251,85,86,87,88,89,90,91,92,93,94,95,19,198,198,152,152,24,209,210,108,109,110,196,197,27,28,69,164,165,152,119,120,27,28,208,99,27,28,102,103,104,152,50,51,97,98,89,90,185,113,187,22,177,174,97,58,27,28,101,115,245,117,118,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,97,98,91,174,223,224,225,239,97,98,187,22,97,98,27,28,27,28,152,223,224,225,239,152,163,50,51,170,171,172,59,160,97,98,239,164,165,66,242,124,174,175,195,22,23,69,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,12,97,21,23,152,101,152,108,109,110,221,152,97,98,97,98,152,29,243,70,226,23,233,26,26,152,152,238,174,175,50,51,22,45,24,47,132,133,134,124,22,23,188,163,26,152,65,59,174,175,163,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,19,198,152,23,152,152,209,103,198,174,175,70,152,50,51,219,213,214,152,98,152,171,172,188,171,172,174,175,248,249,50,51,51,251,174,175,220,74,75,152,188,152,174,175,140,124,26,163,188,16,130,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,209,196,197,23,231,198,12,231,219,37,22,107,24,208,116,27,112,201,62,121,64,152,152,29,52,66,221,211,221,219,50,51,60,89,90,152,22,23,183,45,26,47,22,174,175,238,152,164,165,106,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,132,133,119,120,163,50,51,111,70,97,174,175,181,182,170,171,172,0,1,2,140,190,108,109,110,51,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,152,152,152,22,166,152,168,169,27,19,152,26,19,152,122,152,24,152,28,27,152,28,174,175,174,175,152,174,175,107,50,51,174,175,22,174,175,174,175,174,175,138,174,175,7,8,9,16,174,175,152,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,97,152,31,24,152,98,35,101,174,175,152,97,152,79,152,62,152,64,112,152,49,174,175,174,175,152,174,175,152,50,51,124,174,175,174,175,174,175,174,175,138,174,175,22,23,152,152,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,108,109,110,152,50,51,146,147,23,174,175,26,195,195,152,70,152,168,169,152,26,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,246,247,213,214,50,51,195,152,195,174,175,195,100,101,152,195,152,152,7,8,152,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,27,152,189,189,50,51,195,198,152,174,175,33,132,133,152,123,163,163,163,152,42,174,175,152,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,198,198,198,23,50,51,26,152,23,174,175,26,23,23,23,26,26,26,152,97,23,174,175,26,132,133,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,23,22,23,26,152,152,27,28,174,175,152,19,20,27,22,183,183,38,152,27,28,152,23,152,152,26,174,175,152,152,38,152,23,152,27,26,57,152,215,163,152,152,152,174,175,66,174,175,69,57,174,175,152,174,175,174,175,212,66,174,175,69,174,175,174,175,152,152,89,90,152,193,152,152,198,96,97,98,91,152,101,89,90,97,152,209,210,152,96,97,98,235,152,101,174,175,152,19,20,152,22,174,175,116,97,27,28,152,121,174,175,132,133,134,135,136,38,152,174,175,152,174,175,152,132,133,134,135,136,234,152,212,150,199,212,57,212,240,240,203,178,200,216,186,177,19,20,69,22,203,177,182,177,27,28,202,200,228,216,216,155,39,122,159,38,159,41,89,90,91,159,241,241,22,96,97,98,71,130,101,222,191,18,57,203,194,159,194,194,194,18,158,244,191,222,69,159,158,137,19,20,203,22,191,203,46,236,27,28,159,132,133,134,135,136,89,90,237,38,159,158,22,96,97,98,179,159,101,158,48,159,158,179,176,107,176,184,57,106,176,184,176,125,179,178,176,218,107,176,69,176,217,159,218,218,217,159,137,132,133,134,135,136,218,217,179,217,179,227,89,90,95,230,230,129,207,96,97,98,126,128,101,5,206,205,127,204,10,11,12,13,14,203,25,17,162,26,161,13,153,153,6,247,180,250,151,151,151,151,32,180,34,132,133,134,135,136,167,4,3,43,22,15,68,142,250,16,23,23,120,111,131,20,56,123,125,16,1,123,131,63,79,79,66,67,111,28,36,122,1,5,22,107,140,54,54,26,61,107,44,20,24,19,105,112,23,22,40,22,22,53,22,53,22,53,23,23,23,22,22,30,116,23,122,26,23,23,22,28,11,124,114,26,26,23,23,23,36,24,23,36,26,22,22,36,23,122,23,22,26,22,24,23,23,23,22,122,23,141,122,122,15,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+31102); -/* memory initializer */ allocate([32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114,111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+41342); +/* memory initializer */ allocate([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,66,0,0,1,0,1,0,130,0,0,0,151,66,0,0,1,0,1,0,131,0,0,0,156,66,0,0,1,0,1,0,132,0,0,0,161,66,0,0,2,0,1,0,133,0,0,0,166,66,0,0,2,0,1,0,133,0,0,0,172,66,0,0,1,0,1,0,134,0,0,0,178,66,0,0,1,0,1,0,135,0,0,0,184,66,0,0,1,0,1,0,136,0,0,0,190,66,0,0,2,0,1,0,137,0,0,0,201,66,0,0,1,0,1,0,138,0,0,0,209,66,0,0,1,0,1,0,139,0,0,0,217,66,0,0,1,0,1,0,140,0,0,0,221,66,0,0,1,0,1,0,141,0,0,0,225,66,0,0,1,0,1,0,142,0,0,0,229,66,0,0,1,0,1,0,143,0,0,0,233,66,0,0,1,0,1,0,144,0,0,0,238,66,0,0,1,0,1,0,145,0,0,0,243,66,0,0,1,0,1,0,146,0,0,0,248,66,0,0,1,0,1,0,147,0,0,0,253,66,0,0,1,0,1,0,148,0,0,0,239,100,0,0,1,0,1,0,149,0,0,0,1,67,0,0,1,0,1,0,150,0,0,0,7,67,0,0,2,0,1,0,151,0,0,0,13,67,0,0,1,0,1,0,152,0,0,0,18,67,0,0,1,0,1,0,153,0,0,0,23,67,0,0,1,0,1,0,154,0,0,0,30,67,0,0,1,0,1,0,155,0,0,0,35,67,0,0,1,0,1,0,156,0,0,0,41,67,0,0,0,0,1,1,157,0,0,0,44,67,0,0,2,0,1,0,158,0,0,0,54,67,0,0,2,0,1,0,159,0,0,0,54,67,0,0,3,0,1,0,159,0,0,0,64,67,0,0,2,0,1,0,160,0,0,0,72,67,0,0,2,0,1,0,161,0,0,0,81,67,0,0,1,0,1,0,162,0,0,0,89,67,0,0,1,0,1,0,163,0,0,0,96,67,0,0,2,0,1,0,164,0,0,0,101,67,0,0,2,0,1,0,165,0,0,0,106,67,0,0,2,0,1,0,166,0,0,0,111,67,0,0,2,0,1,0,167,0,0,0,121,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,61,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0,143,67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,114,182,0,0,126,182,0,0,138,182,0,0,162,182,0,0,173,182,0,0,193,182,0,0,207,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,97,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,102,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,112,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,125,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,128,0,236,3,0,0,0,0,0,32,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,83,0,0,24,84,0,0,92,84,0,0,120,84,0,0,149,84,0,0,176,84,0,0,204,84,0,0,229,84,0,0,253,84,0,0,62,85,0,0,121,85,0,0,189,85,0,0,237,85,0,0,93,86,0,0,228,86,0,0,24,87,0,0,90,87,0,0,133,87,0,0,192,87,0,0,231,87,0,0,19,88,0,0,60,88,0,0,107,88,0,0,149,88,0,0,66,74,0,0,66,74,0,0,187,88,0,0,242,88,0,0,47,89,0,0,166,89,0,0,13,90,0,0,68,90,0,0,126,90,0,0,233,90,0,0,56,91,0,0,121,91,0,0,181,91,0,0,229,91,0,0,79,92,0,0,152,92,0,0,102,82,0,0,170,0,0,0,110,82,0,0,171,0,0,0,128,82,0,0,172,0,0,0,118,82,0,0,173,0,0,0,96,95,0,0,2,0,4,0,99,95,0,0,3,1,3,0,103,95,0,0,3,1,2,0,107,95,0,0,4,0,1,0,118,82,0,0,9,0,0,0,76,99,0,0,6,0,0,0,195,96,0,0,8,0,0,0,204,96,0,0,10,0,0,0,83,99,0,0,5,0,0,0,133,96,0,0,7,0,0,0,89,99,0,0,10,0,0,0,100,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,104,0,0,0,0,2,0,157,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,133,104,0,0,1,0,0,0,136,104,0,0,2,0,0,0,139,104,0,0,6,0,0,0,143,104,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,135,0,0,1,0,0,0,66,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,5,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,251,122,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,231,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,81,0,0,68,123,0,0,81,123,0,0,0,0,0,0,94,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,86,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,211,124,0,0,0,0,0,0,24,132,0,0,0,0,0,0,8,0,0,0,248,127,0,0,1,1,0,0,0,0,0,0,39,132,0,0,2,0,0,0,0,0,16,0,55,132,0,0,3,0,0,0,0,0,0,0,115,127,0,0,4,1,0,0,0,0,0,0,24,128,0,0,5,0,0,0,0,0,0,0,68,132,0,0,6,0,0,0,0,0,0,0,88,132,0,0,2,0,0,0,0,0,0,16,104,132,0,0,2,0,0,0,16,0,0,0,125,132,0,0,7,0,0,0,0,0,0,0,140,132,0,0,8,0,0,0,0,0,0,0,156,132,0,0,2,0,0,0,128,0,0,0,170,132,0,0,0,2,0,0,15,0,0,0,183,132,0,0,10,1,0,0,0,0,0,0,197,132,0,0,11,1,0,0,0,0,0,0,216,132,0,0,2,0,0,0,0,0,0,1,235,132,0,0,2,0,0,0,0,1,0,0,127,129,0,0,12,0,0,0,0,0,0,0,2,133,0,0,13,1,0,0,0,0,0,0,20,133,0,0,14,1,0,0,0,0,0,0,37,133,0,0,2,0,0,0,0,0,8,0,50,133,0,0,0,2,0,0,0,0,0,0,65,133,0,0,2,0,0,0,4,0,0,0,83,133,0,0,2,0,0,0,8,0,0,0,93,133,0,0,2,0,0,0,0,32,0,0,118,133,0,0,15,1,0,0,0,0,0,0,137,133,0,0,16,1,0,0,0,0,0,0,148,133,0,0,17,1,0,0,0,0,0,0,159,133,0,0,16,1,0,0,1,0,0,0,222,128,0,0,18,1,0,0,0,0,0,0,216,127,0,0,19,1,0,0,0,0,0,0,229,127,0,0,20,0,0,0,0,0,0,0,171,133,0,0,2,0,0,0,0,128,0,0,203,127,0,0,22,0,0,0,0,0,0,0,190,133,0,0,23,1,0,0,0,0,0,0,36,128,0,0,24,0,0,0,0,0,0,0,205,133,0,0,23,1,0,0,0,0,0,0,162,127,0,0,25,0,0,0,0,0,0,0,216,133,0,0,2,0,0,0,0,0,0,2,227,133,0,0,18,1,0,0,0,0,0,0,239,133,0,0,2,0,0,0,0,64,0,0,0,134,0,0,2,0,0,0,0,0,4,0,19,134,0,0,2,0,0,0,0,0,2,0,45,134,0,0,0,0,0,0,1,0,0,0,172,127,0,0,26,0,0,0,0,0,0,0,60,134,0,0,2,0,0,0,64,0,0,0,79,134,0,0,27,0,0,0,0,0,0,0,245,129,0,0,28,0,0,0,0,0,0,0,93,134,0,0,29,1,0,0,0,0,0,0,103,128,0,0,30,1,0,0,0,0,0,0,99,134,0,0,31,1,0,0,0,0,0,0,46,128,0,0,32,0,0,0,0,0,0,0,57,128,0,0,33,0,0,0,0,0,0,0,5,130,0,0,34,0,0,0,0,0,0,0,110,134,0,0,0,0,0,0,6,0,0,0,218,129,0,0,35,0,0,0,0,0,0,0,123,134,0,0,36,1,0,0,0,0,0,0,138,134,0,0,2,0,0,0,0,8,1,0,122,131,0,0,77,131,0,0,154,131,0,0,159,131,0,0,167,131,0,0,91,131,0,0,226,130,0,0,135,131,0,0,141,131,0,0,147,131,0,0,116,131,0,0,122,131,0,0,77,131,0,0,105,96,0,0,126,131,0,0,131,131,0,0,39,131,0,0,77,131,0,0,94,131,0,0,101,131,0,0,108,131,0,0,87,131,0,0,89,131,0,0,91,131,0,0,39,131,0,0,77,131,0,0,82,131,0,0,39,131,0,0,77,131,0,0,36,131,0,0,39,131,0,0,226,130,0,0,43,131,0,0,48,131,0,0,51,131,0,0,61,131,0,0,71,131,0,0,226,130,0,0,9,99,0,0,232,130,0,0,239,130,0,0,31,130,0,0,1,0,0,0,36,130,0,0,1,0,0,0,42,130,0,0,2,0,0,0,51,130,0,0,3,0,0,0,60,130,0,0,2,0,0,0,68,130,0,0,3,0,0,0,76,130,0,0,0,0,0,0,83,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,130,0,0,239,100,0,0,18,130,0,0,1,132,0,0,8,132,0,0,16,132,0,0,209,129,0,0,143,104,0,0,20,132,0,0,71,131,0,0,64,0,0,0,98,130,0,0,66,0,0,0,93,130,0,0,65,0,0,0,22,138,0,0,67,0,0,0,60,119,0,0,3,0,0,0,56,119,0,0,3,0,0,0,66,74,0,0,59,148,0,0,65,148,0,0,70,148,0,0,75,148,0,0,191,148,0,0,197,148,0,0,205,148,0,0,162,156,0,0,167,156,0,0,174,156,0,0,177,156,0,0,180,156,0,0,183,156,0,0,186,156,0,0,189,156,0,0,197,156,0,0,83,99,0,0,43,131,0,0,206,156,0,0,231,167,0,0,240,167,0,0,247,167,0,0,253,167,0,0,80,168,0,0,90,168,0,0,101,168,0,0,113,168,0,0,124,168,0,0,135,168,0,0,146,168,0,0,151,168,0,0,156,168,0,0,167,168,0,0,179,168,0,0,186,168,0,0,194,168,0,0,202,168,0,0,207,168,0,0,213,168,0,0,220,168,0,0,234,168,0,0,247,168,0,0,253,168,0,0,1,169,0,0,12,169,0,0,17,169,0,0,25,169,0,0,31,169,0,0,38,169,0,0,43,169,0,0,52,169,0,0,57,169,0,0,66,169,0,0,71,169,0,0,76,169,0,0,82,169,0,0,90,169,0,0,100,169,0,0,108,169,0,0,118,169,0,0,127,169,0,0,134,169,0,0,144,169,0,0,157,169,0,0,162,169,0,0,174,169,0,0,182,169,0,0,187,169,0,0,192,169,0,0,195,169,0,0,201,169,0,0,208,169,0,0,217,169,0,0,228,169,0,0,234,169,0,0,245,169,0,0,255,169,0,0,9,170,0,0,18,170,0,0,28,170,0,0,42,170,0,0,56,170,0,0,67,170,0,0,80,170,0,0,91,170,0,0,97,170,0,0,109,170,0,0,116,170,0,0,123,170,0,0,130,170,0,0,137,170,0,0,148,170,0,0,157,170,0,0,163,170,0,0,173,170,0,0,176,170,0,0,180,170,0,0,189,170,0,0,198,170,0,0,205,170,0,0,212,170,0,0,220,170,0,0,223,170,0,0,226,170,0,0,229,170,0,0,232,170,0,0,235,170,0,0,238,170,0,0,248,170,0,0,255,170,0,0,5,171,0,0,15,171,0,0,26,171,0,0,30,171,0,0,39,171,0,0,48,171,0,0,55,171,0,0,65,171,0,0,72,171,0,0,79,171,0,0,86,171,0,0,94,171,0,0,105,171,0,0,119,171,0,0,130,171,0,0,137,171,0,0,145,171,0,0,151,171,0,0,159,171,0,0,164,171,0,0,175,171,0,0,180,171,0,0,187,171,0,0,200,171,0,0,210,171,0,0,220,171,0,0,225,171,0,0,234,171,0,0,240,171,0,0,246,171,0,0,252,171,0,0,2,172,0,0,10,172,0,0,16,172,0,0,28,172,0,0,40,172,0,0,52,172,0,0,64,172,0,0,77,172,0,0,87,172,0,0,97,172,0,0,109,172,0,0,121,172,0,0,131,172,0,0,142,172,0,0,153,172,0,0,161,172,0,0,166,172,0,0,172,172,0,0,182,172,0,0,191,172,0,0,198,172,0,0,204,172,0,0,216,172,0,0,226,172,0,0,239,172,0,0,252,172,0,0,5,173,0,0,13,173,0,0,22,173,0,0,33,173,0,0,40,173,0,0,50,173,0,0,57,173,0,0,65,173,0,0,74,173,0,0,80,173,0,0,88,173,0,0,94,173,0,0,102,173,0,0,112,173,0,0,121,173,0,0,126,173,0,0,137,173,0,0,142,173,0,0,226,173,0,0,239,173,0,0,0,0,0,0,19,174,0,0,44,174,0,0,75,174,0,0,94,174,0,0,24,100,0,0,119,174,0,0,156,174,0,0,168,174,0,0,183,174,0,0,216,174,0,0,234,174,0,0,3,175,0,0,32,175,0,0,49,175,0,0,3,159,0,0,90,73,0,0,72,175,0,0,90,175,0,0,108,175,0,0,147,175,0,0,178,175,0,0,199,175,0,0,231,175,0,0,9,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,172,176,0,0,145,0,0,0,0,0,0,0,135,176,0,0,163,0,0,0,0,0,0,0,66,104,0,0,160,0,0,0,0,0,0,0,177,176,0,0,161,0,0,0,0,0,0,0,184,176,0,0,162,0,0,0,0,0,0,0,189,176,0,0,163,0,0,0,0,0,0,0,195,176,0,0,164,0,0,0,0,0,0,0,205,176,0,0,146,0,0,0,0,0,0,0,211,176,0,0,147,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,0,0,222,176,0,0,0,0,0,0,0,0,0,0,230,176,0,0,148,0,0,0,0,0,0,0,236,176,0,0,0,0,0,0,0,0,0,0,243,176,0,0,0,0,0,0,0,0,0,0,252,176,0,0,165,0,0,0,0,0,0,0,3,177,0,0,0,0,0,0,0,0,0,0,13,177,0,0,164,0,0,0,0,0,0,0,20,177,0,0,166,0,0,0,0,0,0,0,34,177,0,0,167,0,0,0,0,0,0,0,40,177,0,0,165,0,0,0,0,0,0,0,46,177,0,0,149,0,0,0,0,0,0,0,53,177,0,0,130,0,0,0,0,0,0,0,61,177,0,0,137,0,0,0,0,0,0,0,66,177,0,0,168,0,0,0,0,0,0,0,73,177,0,0,0,0,0,0,0,0,0,0,80,177,0,0,131,0,0,0,0,0,0,0,92,177,0,0,150,0,0,0,0,0,0,0,101,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,177,0,0,207,177,0,0,216,177,0,0,221,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,86,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,112,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,137,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,146,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,157,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,90,141,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,94,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,181,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,188,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,195,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,201,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,208,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,216,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,221,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,231,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,237,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,243,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,254,179,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,5,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,16,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,23,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,38,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,55,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,66,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,72,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,90,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,98,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,112,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,120,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,136,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,146,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,13,8,58,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,98,130,0,0,0,0,0,0,2,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,3,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,67,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,234,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,244,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,249,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,254,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,7,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,16,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,29,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,47,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,22,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,42,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,64,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,38,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,87,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31,150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,181,3,136,0,131,0,208,255,211,255,158,0,241,0,22,0,153,0,226,0,163,0,106,1,108,1,110,1,56,1,58,1,112,1,237,0,236,0,44,1,184,1,114,0,103,1,63,1,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,118,1,191,1,205,1,4,2,6,2,55,2,57,2,60,2,62,2,67,2,69,2,71,2,74,2,84,2,119,2,132,2,134,2,137,2,145,2,147,2,149,2,151,2,159,2,196,2,208,2,210,2,247,2,3,3,5,3,42,3,54,3,56,3,93,3,105,3,107,3,162,3,176,3,179,3,184,3,189,3,191,3,193,3,229,3,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,230,1,148,255,173,255,224,0,30,1,195,1,100,0,169,2,100,0,100,0,100,0,100,0,98,1,98,1,98,1,81,1,96,1,49,0,226,1,226,1,247,1,20,2,196,255,103,2,135,2,177,2,178,2,225,2,14,3,194,255,5,2,21,3,218,1,27,3,68,2,221,2,32,0,150,2,232,1,139,0,166,2,177,1,1,3,4,3,140,1,216,2,119,3,174,3,187,3,197,3,209,3,228,2,254,2,178,0,210,255,239,255,59,0,53,0,118,0,141,0,167,0,248,0,255,0,70,1,185,1,208,1,7,2,156,2,181,2,209,2,224,2,232,2,7,3,20,3,78,3,131,3,144,3,168,3,215,3,217,3,72,0,134,0,30,2,222,3,223,3,85,2,224,3,230,3,252,3,103,3,254,3,3,4,147,3,5,4,6,4,10,4,118,0,11,4,12,4,19,4,20,4,21,4,22,4,163,3,199,3,231,3,232,3,233,3,85,2,235,3,241,3,34,4,243,3,219,3,234,3,208,3,248,3,213,3,15,4,13,4,14,4,23,4,238,3,236,3,28,4,29,4,9,4,7,4,55,4,226,3,56,4,57,4,237,3,242,3,58,4,4,4,38,4,31,4,43,4,47,4,48,4,49,4,77,4,84,4,45,4,24,4,54,4,59,4,50,4,86,4,89,4,17,4,25,4,98,4,99,4,102,4,94,4,114,4,116,4,120,4,117,4,103,4,109,4,110,4,111,4,105,4,112,4,118,4,119,4,122,4,108,4,123,4,124,4,78,4,85,4,88,4,87,4,90,4,92,4,93,4,95,4,142,4,146,4,96,4,134,4,97,4,100,4,141,4,121,4,125,4,131,4,135,4,137,4,177,4,185,4,196,4,198,4,201,4,202,4,203,4,204,4,127,4,128,4,126,4,191,4,193,4,179,4,181,4,207,4,59,1,22,5,146,0,153,3,2,0,194,0,154,3,86,1,184,3,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,87,0,87,0,87,0,86,0,83,1,75,1,51,3,51,3,91,0,91,0,91,0,91,0,83,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,63,1,165,3,165,3,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,109,1,4,3,104,1,24,0,165,3,165,3,179,3,182,2,165,3,165,3,5,3,169,3,165,3,165,3,178,1,203,2,72,1,178,1,51,3,51,3,203,0,160,0,22,1,135,1,17,1,134,1,190,0,165,3,165,3,114,1,166,3,167,3,111,1,15,1,185,3,48,0,167,2,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,170,2,81,1,80,1,218,0,156,1,142,1,68,0,156,1,147,1,166,3,167,3,231,2,191,3,166,3,167,3,42,3,169,3,166,3,167,3,189,3,221,0,190,3,88,0,88,0,87,0,87,0,87,0,86,0,83,1,35,1,51,3,51,3,166,3,167,3,185,0,94,0,24,3,132,1,129,1,128,1,216,4,216,4,24,3,36,3,192,3,192,3,34,1,30,3,127,1,123,0,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,169,2,229,2,35,3,35,3,35,3,51,3,51,3,176,3,56,0,253,0,97,1,242,0,85,0,82,0,168,0,253,0,102,1,252,0,110,0,96,0,233,0,141,1,186,2,165,2,171,2,171,2,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,177,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,183,1,139,2,140,1,57,0,221,2,221,2,234,0,35,1,107,0,31,1,139,1,86,0,83,1,42,3,171,1,216,2,165,3,165,3,185,0,185,3,30,0,132,1,129,1,128,1,215,0,181,3,178,1,165,3,165,3,51,3,51,3,185,2,127,1,162,0,161,0,151,1,144,1,85,0,82,0,168,0,165,2,36,3,79,1,113,0,3,3,30,3,185,3,48,0,22,0,95,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,102,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,35,3,35,3,35,3,12,1,123,0,156,1,138,1,1,0,165,3,165,3,166,3,167,3,165,3,165,3,85,0,82,0,168,0,232,0,5,0,87,1,194,0,166,3,167,3,184,3,85,0,82,0,168,0,54,0,188,3,178,1,51,3,51,3,175,1,170,3,171,3,24,3,67,0,247,2,94,1,144,0,166,0,2,3,123,0,128,3,121,3,187,3,92,1,32,1,246,2,185,3,47,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,124,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,113,0,166,3,167,3,175,2,125,3,166,3,167,3,253,0,102,1,252,0,85,0,82,0,168,0,52,3,52,3,188,3,184,3,82,1,170,3,171,3,126,3,189,2,209,2,103,1,33,1,233,0,141,1,178,1,93,1,178,1,51,3,51,3,187,3,98,3,210,2,23,0,133,1,64,3,67,3,180,2,101,1,136,3,155,2,194,0,190,2,146,1,184,3,185,3,48,0,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,113,0,178,1,168,2,178,1,76,1,178,1,152,1,121,3,100,1,124,1,172,3,145,1,208,2,180,3,96,3,191,0,165,0,73,1,177,2,185,3,9,0,185,3,9,0,185,3,9,0,185,3,9,0,206,2,180,3,51,3,51,3,185,3,8,0,69,1,111,0,71,1,153,0,224,0,184,3,154,1,113,0,189,0,81,1,80,1,145,3,15,5,84,3,75,0,15,5,73,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,103,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,218,2,148,0,236,0,29,3,110,1,21,3,124,3,155,4,178,1,192,3,192,3,144,1,148,0,58,1,212,0,105,3,143,3,245,2,148,1,104,3,44,1,64,1,178,1,125,3,55,1,237,0,15,1,149,1,185,3,34,0,51,3,51,3,225,0,115,1,177,3,104,1,145,3,16,5,113,0,126,3,16,5,161,1,185,3,35,0,221,4,154,3,86,1,3,1,247,0,34,1,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,148,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,54,1,178,1,28,3,178,1,240,0,51,3,51,3,10,1,143,3,108,3,108,3,117,1,90,1,167,0,142,2,143,2,144,2,3,1,244,0,19,0,246,0,185,3,11,0,185,3,26,0,222,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,245,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,5,1,178,1,8,1,184,2,178,1,241,0,178,1,88,1,203,3,52,1,245,2,178,1,28,3,178,1,68,1,178,1,137,1,167,1,178,1,185,3,36,0,185,3,37,0,20,0,185,3,38,0,185,3,27,0,178,1,51,3,51,3,185,3,28,0,185,3,39,0,185,3,40,0,226,2,185,3,41,0,71,0,226,2,225,2,245,0,51,1,205,3,225,2,3,1,185,3,10,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,116,1,178,1,3,1,149,0,178,1,167,0,185,3,42,0,188,0,187,0,186,0,219,0,178,1,236,2,178,1,206,3,178,1,28,3,178,1,185,3,98,0,185,3,43,0,94,3,185,3,44,0,178,1,152,3,2,0,51,3,51,3,245,2,185,3,31,0,185,3,45,0,185,3,46,0,185,3,32,0,74,0,51,1,144,3,220,0,3,1,3,1,185,3,115,0,141,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,248,0,178,1,215,0,181,3,51,3,51,3,77,1,185,3,116,0,127,3,92,3,176,0,3,1,206,3,144,1,105,1,3,1,183,3,119,3,185,3,117,0,185,3,52,0,116,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,113,0,178,1,2,1,115,3,51,3,51,3,215,2,185,3,33,0,107,1,3,1,161,2,65,1,189,0,174,1,65,1,112,1,109,1,108,1,185,3,99,0,185,3,49,0,109,1,59,1,92,0,81,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,211,2,178,1,214,0,165,0,51,3,51,3,4,3,185,3,100,0,66,1,124,0,245,4,158,0,65,0,198,2,5,3,188,2,187,2,64,1,185,3,101,0,185,3,97,0,255,0,59,1,216,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,251,0,178,1,195,2,196,2,51,3,51,3,223,0,185,3,114,0,140,3,26,3,254,0,53,1,193,0,67,0,125,1,101,3,101,3,199,0,185,3,112,0,185,3,105,0,13,1,214,2,4,1,67,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,7,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,178,2,3,0,150,4,228,0,178,1,113,0,84,1,84,1,100,3,100,3,9,1,79,0,173,1,223,2,3,0,91,3,70,0,176,1,178,1,84,1,84,1,178,1,235,4,178,1,185,3,104,0,178,1,158,2,160,1,254,2,176,1,178,1,193,0,178,1,157,1,178,1,162,1,38,3,185,3,102,0,164,1,185,3,103,0,185,3,48,0,123,0,185,3,51,0,42,3,162,1,168,1,185,3,53,0,185,3,50,0,185,3,25,0,11,1,123,0,199,2,113,0,42,3,172,1,21,1,183,2,16,1,252,2,113,0,76,0,77,0,178,2,178,1,27,3,113,0,20,1,78,0,180,1,179,1,156,1,158,1,30,3,76,0,77,0,113,0,87,3,91,3,120,1,199,0,78,0,180,1,179,1,185,3,29,0,30,3,232,2,113,0,243,2,79,0,173,1,163,2,3,0,159,1,109,0,36,1,37,1,84,1,84,1,38,3,34,3,166,2,160,2,35,3,35,3,35,3,37,3,18,0,176,1,149,2,148,2,150,2,159,3,209,0,150,0,96,1,35,3,35,3,35,3,37,3,18,0,6,0,50,1,24,1,26,1,28,1,18,3,162,1,250,0,130,1,243,0,118,3,182,2,106,1,30,1,163,0,19,1,79,0,173,1,42,3,3,0,89,3,88,3,159,0,163,1,84,1,84,1,42,1,162,3,200,3,126,0,196,0,197,3,135,3,133,3,67,1,176,1,136,0,55,0,76,0,77,0,230,2,147,0,58,0,121,0,129,0,78,0,180,1,179,1,65,0,15,3,30,3,98,1,131,0,99,1,162,1,123,1,132,0,133,0,134,0,175,0,139,0,151,0,113,1,120,3,180,0,23,3,42,3,61,0,83,3,103,3,69,0,173,1,119,1,3,0,244,2,210,0,1,1,181,0,84,1,84,1,145,0,35,3,35,3,35,3,37,3,18,0,76,0,77,0,121,1,176,1,6,1,182,0,183,0,78,0,180,1,179,1,151,2,56,1,30,3,136,1,202,2,201,2,200,2,74,1,193,2,180,2,57,1,192,2,162,1,174,2,150,1,240,2,173,2,18,1,172,2,174,3,64,0,23,1,195,0,25,1,42,3,241,2,71,3,239,2,27,1,72,0,238,2,29,1,166,1,35,3,35,3,35,3,37,3,18,0,78,1,170,1,95,0,155,1,229,0,153,1,76,0,77,0,230,0,222,2,66,0,231,0,38,1,78,0,180,1,179,1,204,0,39,1,30,3,217,0,40,1,41,1,157,2,21,0,49,1,48,1,47,1,206,0,45,1,181,1,160,3,152,2,205,0,208,0,207,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,170,0,169,0,239,0,35,3,35,3,35,3,37,3,18,0,125,0,120,0,235,0,238,0,61,1,62,1,89,1,106,0,22,3,99,3,127,0,97,3,128,0,130,0,212,2,249,0,172,0,174,0,114,3,135,0,137,0,59,0,138,0,173,0,60,0,117,3,123,0,171,0,177,0,178,0,113,3,7,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,154,2,152,0,122,1,20,1,184,0,126,1,142,0,122,0,62,0,13,0,131,1,191,2,14,1,14,0,63,0,227,0,41,3,40,3,69,3,220,2,15,0,73,3,224,2,4,0,253,2,211,0,143,1,164,0,213,0,143,0,248,2,201,0,70,0,60,1,67,0,70,3,68,3,123,3,198,0,192,0,16,0,197,0,122,3,149,3,154,0,17,0,202,0,165,1,150,3,155,0,200,0,156,0,169,1,72,3,39,3,237,4,164,2,80,0,46,1,43,1,91,1,236,4,155,3,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,138,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,90,0,132,0,80,1,76,0,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,23,0,202,1,249,1,212,1,212,1,23,0,201,0,87,1,198,255,184,255,184,255,184,255,11,0,11,0,11,0,156,1,156,1,85,1,25,2,93,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,123,2,42,1,74,0,74,0,87,1,255,255,255,255,255,255,255,255,255,255,255,255,184,255,184,255,184,255,228,0,101,0,101,0,203,0,75,0,71,0,17,1,28,1,89,1,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,165,1,165,1,165,1,23,0,23,0,70,2,23,0,23,0,23,0,100,1,23,0,23,0,73,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,56,2,63,2,200,1,200,1,200,1,192,2,171,0,133,2,162,2,90,3,78,2,78,2,146,3,90,3,146,3,114,1,195,3,118,3,180,3,78,2,169,1,180,3,180,3,96,3,129,2,15,2,172,4,91,4,91,4,173,4,173,4,91,4,197,4,155,4,101,4,216,4,216,4,216,4,216,4,91,4,220,4,101,4,197,4,155,4,155,4,101,4,91,4,220,4,113,4,209,4,91,4,91,4,220,4,241,4,91,4,220,4,91,4,220,4,241,4,175,4,175,4,175,4,238,4,241,4,175,4,182,4,175,4,238,4,175,4,175,4,168,4,192,4,168,4,192,4,168,4,192,4,168,4,192,4,91,4,91,4,171,4,241,4,222,4,222,4,241,4,190,4,194,4,199,4,195,4,101,4,52,5,58,5,78,5,78,5,88,5,88,5,88,5,88,5,184,255,184,255,184,255,184,255,184,255,184,255,184,255,184,255,144,1,111,2,230,2,48,3,146,2,185,2,227,0,244,3,152,2,245,3,246,3,250,3,2,4,27,4,123,3,253,3,16,4,44,4,60,4,42,4,115,4,142,3,186,3,130,4,64,4,210,3,100,5,102,5,84,5,231,4,93,5,53,5,106,5,101,5,103,5,3,5,250,4,16,5,5,5,109,5,7,5,114,5,132,5,11,5,4,5,57,5,60,5,26,5,112,5,107,5,22,5,144,5,141,5,125,5,41,5,9,5,96,5,126,5,97,5,92,5,110,5,48,5,133,5,136,5,139,5,47,5,55,5,140,5,108,5,142,5,143,5,145,5,147,5,113,5,137,5,148,5,118,5,123,5,149,5,150,5,151,5,59,5,154,5,155,5,157,5,156,5,61,5,158,5,161,5,152,5,159,5,163,5,62,5,162,5,160,5,164,5,165,5,162,5,168,5,169,5,170,5,171,5,175,5,172,5,166,5,176,5,178,5,179,5,180,5,181,5,183,5,184,5,180,5,186,5,185,5,187,5,189,5,191,5,65,5,80,5,89,5,95,5,192,5,199,5,217,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223,3,156,4,56,4,223,3,56,4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,50,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,51,45,50,57,32,49,48,58,49,52,58,49,53,32,101,57,98,98,52,99,102,52,48,102,52,57,55,49,57,55,52,97,55,52,52,54,56,101,102,57,50,50,98,100,101,101,52,56,49,99,57,56,56,98,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10346); +/* memory initializer */ allocate([120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0,240,2,149,1,149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20586); +/* memory initializer */ allocate([32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0,16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25,0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95,19,50,51,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,157,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,152,22,27,28,179,180,27,28,42,27,27,28,152,188,95,152,50,51,99,100,101,102,103,104,105,27,28,227,97,98,230,112,172,173,172,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,172,89,90,218,207,208,26,207,208,97,98,91,100,97,98,69,97,97,98,107,237,109,89,90,91,92,93,94,95,152,50,51,97,98,99,55,59,102,103,104,119,120,59,97,132,133,152,101,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,187,85,86,87,88,89,90,91,92,93,94,95,172,210,132,133,134,50,51,185,53,108,109,110,221,222,223,108,109,110,22,22,119,120,181,27,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,148,149,115,24,117,118,154,152,156,152,163,94,95,69,249,163,27,28,99,172,173,102,103,104,194,195,152,27,28,50,51,181,113,89,90,152,206,221,222,223,97,97,187,196,175,101,172,173,196,219,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,66,207,208,22,27,28,97,98,27,28,221,222,223,199,22,243,24,97,98,27,221,222,223,209,152,152,50,51,168,169,170,59,26,124,100,58,152,175,66,240,163,169,170,152,124,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,12,85,86,87,88,89,90,91,92,93,94,95,19,196,97,98,23,29,97,98,108,109,110,221,222,223,50,51,152,97,168,169,170,45,37,47,219,224,119,120,152,229,152,50,51,169,170,59,231,52,74,75,106,236,152,21,24,60,163,27,172,173,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,152,196,152,23,152,207,152,207,163,65,19,171,152,190,191,229,211,212,111,179,172,173,172,173,172,173,172,173,190,191,50,51,172,173,186,22,186,24,186,97,186,196,51,89,90,22,23,103,137,26,139,71,72,73,74,75,76,77,78,79,80,81,82,83,219,85,86,87,88,89,90,91,92,93,94,95,19,195,152,152,23,236,163,12,140,152,132,133,206,152,164,23,31,70,26,19,35,160,107,152,29,164,152,112,28,172,173,50,51,183,49,185,152,22,23,196,45,26,47,172,173,0,1,2,152,16,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,152,152,152,152,50,51,16,70,108,109,110,193,98,7,8,9,152,62,22,64,172,173,172,173,218,71,72,73,74,75,76,77,78,79,80,81,82,83,124,85,86,87,88,89,90,91,92,93,94,95,19,152,62,152,64,181,152,193,152,241,246,247,26,152,152,152,217,152,91,249,152,172,173,172,173,79,172,173,172,173,152,50,51,172,173,172,173,172,173,116,172,173,138,116,121,140,22,23,121,152,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,217,152,152,24,152,98,172,173,108,109,110,193,152,213,152,70,152,152,152,172,173,172,173,152,172,173,152,146,147,50,51,124,172,173,172,173,172,173,172,173,138,22,23,193,152,152,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,152,152,194,195,50,51,217,172,173,193,193,26,152,70,206,152,152,26,163,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,196,152,193,152,50,51,193,172,173,19,152,166,167,51,166,167,152,152,28,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,193,152,211,212,50,51,33,172,173,244,245,23,123,130,26,42,100,101,107,172,173,172,173,152,19,22,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,237,152,7,8,50,51,237,172,173,23,23,23,26,26,26,23,132,133,26,172,173,172,173,23,163,152,26,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,27,22,23,210,152,196,27,28,132,133,152,19,20,23,22,27,26,38,152,27,28,152,122,152,172,173,152,163,191,23,38,152,26,152,163,152,57,27,172,173,163,172,173,172,173,66,172,173,69,57,163,172,173,172,173,172,173,152,66,152,196,69,163,101,152,152,152,196,89,90,97,152,152,196,112,96,97,98,207,208,101,89,90,196,23,97,233,26,96,97,98,172,173,101,152,196,152,19,20,23,22,152,26,152,152,27,28,97,152,152,152,132,133,134,135,136,38,152,152,152,152,232,197,214,132,133,134,135,136,198,150,210,210,210,201,57,238,176,214,201,180,238,214,184,175,19,20,69,22,175,175,198,226,27,28,200,155,39,242,122,41,159,159,159,38,22,239,89,90,91,220,239,71,189,96,97,98,130,201,101,18,192,159,57,18,192,192,192,158,189,220,159,201,158,189,69,137,201,235,19,20,46,22,159,159,234,158,27,28,22,132,133,134,135,136,89,90,177,38,159,158,158,96,97,98,159,177,101,107,174,174,174,48,182,106,177,182,57,174,125,216,176,174,174,174,107,215,159,215,69,216,159,216,215,137,216,215,177,132,133,134,135,136,95,177,129,126,225,127,89,90,228,205,128,228,204,96,97,98,25,203,101,5,202,201,162,26,10,11,12,13,14,161,13,17,153,6,153,151,151,151,151,165,178,165,178,4,3,22,32,15,34,132,133,134,135,136,245,165,142,43,248,248,68,16,120,23,131,23,111,123,20,16,56,125,1,123,131,79,111,63,79,28,66,67,36,122,1,5,22,107,140,54,54,26,61,44,107,20,24,19,112,105,53,22,40,22,22,53,30,23,22,22,53,23,23,23,116,22,11,23,22,28,23,26,122,23,22,124,122,26,114,26,23,23,23,22,36,36,26,23,23,22,36,122,24,23,22,26,22,24,23,23,122,23,22,15,23,141,122,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30826); +/* memory initializer */ allocate([101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114,111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+41066); @@ -6706,7 +6706,7 @@ function _acosFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),378,(17622|0)); + ___assert_fail((17334|0),(17342|0),378,(17366|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6765,7 +6765,7 @@ function _asinFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),379,(17631|0)); + ___assert_fail((17334|0),(17342|0),379,(17375|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6824,7 +6824,7 @@ function _atanFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),380,(17640|0)); + ___assert_fail((17334|0),(17342|0),380,(17384|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6884,7 +6884,7 @@ function _atn2Func($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),570,(17657|0)); + ___assert_fail((17393|0),(17342|0),570,(17401|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6939,7 +6939,7 @@ function _acoshFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),394,(17666|0)); + ___assert_fail((17334|0),(17342|0),394,(17410|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -6998,7 +6998,7 @@ function _asinhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),402,(17676|0)); + ___assert_fail((17334|0),(17342|0),402,(17420|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7057,7 +7057,7 @@ function _atanhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),410,(17686|0)); + ___assert_fail((17334|0),(17342|0),410,(17430|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7127,7 +7127,7 @@ function _differenceFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),1680,(17696|0)); + ___assert_fail((17393|0),(17342|0),1680,(17440|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7231,7 +7231,7 @@ function _rad2degFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),498,(18100|0)); + ___assert_fail((17334|0),(17342|0),498,(17844|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7290,7 +7290,7 @@ function _deg2radFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),499,(18112|0)); + ___assert_fail((17334|0),(17342|0),499,(17856|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7349,7 +7349,7 @@ function _cosFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),420,(18124|0)); + ___assert_fail((17334|0),(17342|0),420,(17868|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7408,7 +7408,7 @@ function _sinFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),419,(18132|0)); + ___assert_fail((17334|0),(17342|0),419,(17876|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7467,7 +7467,7 @@ function _tanFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),421,(18140|0)); + ___assert_fail((17334|0),(17342|0),421,(17884|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7526,7 +7526,7 @@ function _cotFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),422,(18148|0)); + ___assert_fail((17334|0),(17342|0),422,(17892|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7585,7 +7585,7 @@ function _coshFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),446,(18156|0)); + ___assert_fail((17334|0),(17342|0),446,(17900|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7644,7 +7644,7 @@ function _sinhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),438,(18165|0)); + ___assert_fail((17334|0),(17342|0),438,(17909|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7703,7 +7703,7 @@ function _tanhFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),454,(18174|0)); + ___assert_fail((17334|0),(17342|0),454,(17918|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7762,7 +7762,7 @@ function _cothFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),456,(18183|0)); + ___assert_fail((17334|0),(17342|0),456,(17927|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7821,7 +7821,7 @@ function _expFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),474,(18192|0)); + ___assert_fail((17334|0),(17342|0),474,(17936|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7880,7 +7880,7 @@ function _logFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),472,(18200|0)); + ___assert_fail((17334|0),(17342|0),472,(17944|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -7939,7 +7939,7 @@ function _log10Func($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),473,(18208|0)); + ___assert_fail((17334|0),(17342|0),473,(17952|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8001,7 +8001,7 @@ function _powerFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),546,(18218|0)); + ___assert_fail((17393|0),(17342|0),546,(17962|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8081,7 +8081,7 @@ function _signFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17590|0),(17598|0),590,(18228|0)); + ___assert_fail((17334|0),(17342|0),590,(17972|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8192,7 +8192,7 @@ function _sqrtFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),375,(18237|0)); + ___assert_fail((17334|0),(17342|0),375,(17981|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8258,7 +8258,7 @@ function _squareFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17590|0),(17598|0),514,(18246|0)); + ___assert_fail((17334|0),(17342|0),514,(17990|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8343,7 +8343,7 @@ function _ceilFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17590|0),(17598|0),620,(18257|0)); + ___assert_fail((17334|0),(17342|0),620,(18001|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8421,7 +8421,7 @@ function _floorFunc($context,$argc,$argv) { $7 = HEAP32[$1>>2]|0; $8 = ($7|0)==(1); if (!($8)) { - ___assert_fail((17590|0),(17598|0),645,(18266|0)); + ___assert_fail((17334|0),(17342|0),645,(18010|0)); // unreachable; } $9 = HEAP32[$2>>2]|0; @@ -8552,7 +8552,7 @@ function _replicateFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18276,-1); + _sqlite3_result_error($29,18020,-1); STACKTOP = sp;return; } $30 = HEAP32[$2>>2]|0; @@ -8730,7 +8730,7 @@ function _charindexFunc($context,$argc,$argv) { $6 = ($5|0)==(2); $or$cond = $4 | $6; if (!($or$cond)) { - ___assert_fail((18289|0),(17598|0),1038,(18307|0)); + ___assert_fail((18033|0),(17342|0),1038,(18051|0)); // unreachable; } $7 = HEAP32[$2>>2]|0; @@ -8818,7 +8818,7 @@ function _leftFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),1073,(18321|0)); + ___assert_fail((17393|0),(17342|0),1073,(18065|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -8946,7 +8946,7 @@ function _rightFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),1113,(18330|0)); + ___assert_fail((17393|0),(17342|0),1113,(18074|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9085,7 +9085,7 @@ function _reverseFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = (1)==($3|0); if (!($4)) { - ___assert_fail((18340|0),(17598|0),1323,(18348|0)); + ___assert_fail((18084|0),(17342|0),1323,(18092|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9202,7 +9202,7 @@ function _properFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),724,(18360|0)); + ___assert_fail((17334|0),(17342|0),724,(18104|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9307,7 +9307,7 @@ function _padlFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),771,(18371|0)); + ___assert_fail((17393|0),(17342|0),771,(18115|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9343,7 +9343,7 @@ function _padlFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18276,-1); + _sqlite3_result_error($29,18020,-1); STACKTOP = sp;return; } $30 = HEAP32[$zi>>2]|0; @@ -9496,7 +9496,7 @@ function _padrFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),825,(18408|0)); + ___assert_fail((17393|0),(17342|0),825,(18152|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9532,7 +9532,7 @@ function _padrFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18276,-1); + _sqlite3_result_error($29,18020,-1); STACKTOP = sp;return; } $30 = HEAP32[$zi>>2]|0; @@ -9706,7 +9706,7 @@ function _padcFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),880,(18417|0)); + ___assert_fail((17393|0),(17342|0),880,(18161|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -9742,7 +9742,7 @@ function _padcFunc($context,$argc,$argv) { $28 = ($27|0)<(0); if ($28) { $29 = HEAP32[$0>>2]|0; - _sqlite3_result_error($29,18276,-1); + _sqlite3_result_error($29,18020,-1); STACKTOP = sp;return; } $30 = HEAP32[$zi>>2]|0; @@ -9952,7 +9952,7 @@ function _strfilterFunc($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(2); if (!($4)) { - ___assert_fail((17649|0),(17598|0),939,(18426|0)); + ___assert_fail((17393|0),(17342|0),939,(18170|0)); // unreachable; } $5 = HEAP32[$2>>2]|0; @@ -10111,7 +10111,7 @@ function _varianceStep($context,$argc,$argv) { $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(1); if (!($4)) { - ___assert_fail((17590|0),(17598|0),1395,(18440|0)); + ___assert_fail((17334|0),(17342|0),1395,(18184|0)); // unreachable; } $5 = HEAP32[$0>>2]|0; @@ -10320,7 +10320,7 @@ function _modeStep($context,$argc,$argv) { $9 = HEAP32[$1>>2]|0; $10 = ($9|0)==(1); if (!($10)) { - ___assert_fail((17590|0),(17598|0),1418,(18453|0)); + ___assert_fail((17334|0),(17342|0),1418,(18197|0)); // unreachable; } $11 = HEAP32[$2>>2]|0; @@ -10708,7 +10708,7 @@ function _node_insert($n,$cmp,$e) { $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - $6 = (_xcalloc(1,24,17581)|0); + $6 = (_xcalloc(1,24,17325)|0); HEAP32[$nn>>2] = $6; $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$nn>>2]|0; @@ -11103,7 +11103,7 @@ function _soundex($zIn,$zResult) { $22 = ($21<<24>>24)!=(0); if (!($22)) { $67 = HEAP32[$1>>2]|0; - (_strcpy($67,17839)|0); + (_strcpy($67,17583)|0); STACKTOP = sp;return; } $23 = HEAP32[$i>>2]|0; @@ -11137,7 +11137,7 @@ function _soundex($zIn,$zResult) { $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = $43 & 127; - $45 = (17711 + ($44)|0); + $45 = (17455 + ($44)|0); $46 = HEAP8[$45>>0]|0; $47 = $46&255; HEAP32[$code>>2] = $47; @@ -11194,7 +11194,7 @@ function _sqlite3ReadUtf8($z) { $4 = $3&255; HEAP32[$c>>2] = $4; $5 = HEAP32[$c>>2]|0; - $6 = (17844 + ($5)|0); + $6 = (17588 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; HEAP32[$xtra>>2] = $8; @@ -11540,7 +11540,7 @@ function _sqlite3Utf8CharLen($z,$nByte) { $8 = HEAP32[$zTerm>>2]|0; $9 = ($7>>>0)<=($8>>>0); if (!($9)) { - ___assert_fail((18380|0),(17598|0),316,(18389|0)); + ___assert_fail((18124|0),(17342|0),316,(18133|0)); // unreachable; } while(1) { @@ -11562,7 +11562,7 @@ function _sqlite3Utf8CharLen($z,$nByte) { $17 = HEAP32[$0>>2]|0; $18 = HEAP8[$17>>0]|0; $19 = $18&255; - $20 = (17844 + ($19)|0); + $20 = (17588 + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = (($22) + 1)|0; @@ -12146,7 +12146,7 @@ function _sqlite3_compileoption_used($zOptName) { $n = sp; HEAP32[$1>>2] = $zOptName; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_strnicmp($2,18469,7)|0); + $3 = (_sqlite3_strnicmp($2,18213,7)|0); $4 = ($3|0)==(0); if ($4) { $5 = HEAP32[$1>>2]|0; @@ -12257,13 +12257,13 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { $19 = HEAP32[$a>>2]|0; $20 = HEAP8[$19>>0]|0; $21 = $20&255; - $22 = (18477 + ($21)|0); + $22 = (18221 + ($21)|0); $23 = HEAP8[$22>>0]|0; $24 = $23&255; $25 = HEAP32[$b>>2]|0; $26 = HEAP8[$25>>0]|0; $27 = $26&255; - $28 = (18477 + ($27)|0); + $28 = (18221 + ($27)|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = ($24|0)==($30|0); @@ -12285,13 +12285,13 @@ function _sqlite3_strnicmp($zLeft,$zRight,$N) { $38 = HEAP32[$a>>2]|0; $39 = HEAP8[$38>>0]|0; $40 = $39&255; - $41 = (18477 + ($40)|0); + $41 = (18221 + ($40)|0); $42 = HEAP8[$41>>0]|0; $43 = $42&255; $44 = HEAP32[$b>>2]|0; $45 = HEAP8[$44>>0]|0; $46 = $45&255; - $47 = (18477 + ($46)|0); + $47 = (18221 + ($46)|0); $48 = HEAP8[$47>>0]|0; $49 = $48&255; $50 = (($43) - ($49))|0; @@ -12354,13 +12354,13 @@ function _sqlite3_status64($op,$pCurrent,$pHighwater,$resetFlag) { $8 = ($7|0)>=(10); $or$cond = $6 | $8; if ($or$cond) { - $9 = (_sqlite3MisuseError(16368)|0); + $9 = (_sqlite3MisuseError(16513)|0); HEAP32[$0>>2] = $9; $41 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($41|0); } $10 = HEAP32[$1>>2]|0; - $11 = (18733 + ($10)|0); + $11 = (18477 + ($10)|0); $12 = HEAP8[$11>>0]|0; $13 = $12 << 24 >> 24; $14 = ($13|0)!=(0); @@ -12460,18 +12460,17 @@ function _sqlite3_vfs_find($zVfs) { function _sqlite3_initialize() { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $pHash = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $pHash = sp; + $0 = sp + 4|0; + $rc = sp; $1 = HEAP32[(236)>>2]|0; $2 = ($1|0)!=(0); if ($2) { HEAP32[$0>>2] = 0; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); } HEAP32[$rc>>2] = 0; $3 = HEAP32[$rc>>2]|0; @@ -12479,8 +12478,8 @@ function _sqlite3_initialize() { if ($4) { $5 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $5; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); } HEAP32[(244)>>2] = 1; $6 = HEAP32[(248)>>2]|0; @@ -12519,8 +12518,8 @@ function _sqlite3_initialize() { if ($22) { $23 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $23; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); } $24 = HEAP32[(236)>>2]|0; $25 = ($24|0)==(0); @@ -12528,47 +12527,45 @@ function _sqlite3_initialize() { $27 = ($26|0)==(0); $or$cond3 = $25 & $27; if ($or$cond3) { - HEAP32[$pHash>>2] = 1080; HEAP32[(240)>>2] = 1; - $28 = HEAP32[$pHash>>2]|0; - dest=$28; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _sqlite3RegisterGlobalFunctions(); - $29 = HEAP32[(252)>>2]|0; - $30 = ($29|0)==(0); - if ($30) { - $31 = (_sqlite3PcacheInitialize()|0); - HEAP32[$rc>>2] = $31; + dest=1080; stop=dest+92|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _sqlite3RegisterBuiltinFunctions(); + $28 = HEAP32[(252)>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + $30 = (_sqlite3PcacheInitialize()|0); + HEAP32[$rc>>2] = $30; } - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)==(0); - if ($33) { + $31 = HEAP32[$rc>>2]|0; + $32 = ($31|0)==(0); + if ($32) { HEAP32[(252)>>2] = 1; - $34 = (_sqlite3OsInit()|0); - HEAP32[$rc>>2] = $34; + $33 = (_sqlite3OsInit()|0); + HEAP32[$rc>>2] = $33; } - $35 = HEAP32[$rc>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $37 = HEAP32[(212)>>2]|0; - $38 = HEAP32[(216)>>2]|0; - $39 = HEAP32[(220)>>2]|0; - _sqlite3PCacheBufferSetup($37,$38,$39); + $34 = HEAP32[$rc>>2]|0; + $35 = ($34|0)==(0); + if ($35) { + $36 = HEAP32[(212)>>2]|0; + $37 = HEAP32[(216)>>2]|0; + $38 = HEAP32[(220)>>2]|0; + _sqlite3PCacheBufferSetup($36,$37,$38); HEAP32[(236)>>2] = 1; } HEAP32[(240)>>2] = 0; } - $40 = HEAP32[(256)>>2]|0; - $41 = (($40) + -1)|0; - HEAP32[(256)>>2] = $41; - $42 = HEAP32[(256)>>2]|0; - $43 = ($42|0)<=(0); - if ($43) { + $39 = HEAP32[(256)>>2]|0; + $40 = (($39) + -1)|0; + HEAP32[(256)>>2] = $40; + $41 = HEAP32[(256)>>2]|0; + $42 = ($41|0)<=(0); + if ($42) { HEAP32[(260)>>2] = 0; } - $44 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $44; - $45 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($45|0); + $43 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $43; + $44 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($44|0); } function _sqlite3_vfs_register($pVfs,$makeDflt) { $pVfs = $pVfs|0; @@ -12928,12 +12925,12 @@ function _sqlite3_free($p) { $6 = (_sqlite3MallocSize($5)|0); _sqlite3StatusDown(0,$6); _sqlite3StatusDown(9,1); - $7 = HEAP32[(48)>>2]|0; + $7 = HEAP32[(52)>>2]|0; $8 = HEAP32[$0>>2]|0; FUNCTION_TABLE_vi[$7 & 255]($8); STACKTOP = sp;return; } else { - $9 = HEAP32[(48)>>2]|0; + $9 = HEAP32[(52)>>2]|0; $10 = HEAP32[$0>>2]|0; FUNCTION_TABLE_vi[$9 & 255]($10); STACKTOP = sp;return; @@ -13189,14 +13186,14 @@ function _sqlite3_randomness($N,$pBuf) { $8 = ($7|0)==(0|0); $or$cond = $6 | $8; if ($or$cond) { - HEAP8[18743>>0] = 0; + HEAP8[18487>>0] = 0; STACKTOP = sp;return; } - $9 = HEAP8[18743>>0]|0; + $9 = HEAP8[18487>>0]|0; $10 = ($9<<24>>24)!=(0); if (!($10)) { - HEAP8[(18745)>>0] = 0; - HEAP8[(18744)>>0] = 0; + HEAP8[(18489)>>0] = 0; + HEAP8[(18488)>>0] = 0; $11 = (_sqlite3_vfs_find(0)|0); (_sqlite3OsRandomness($11,256,$k)|0); HEAP32[$i>>2] = 0; @@ -13209,7 +13206,7 @@ function _sqlite3_randomness($N,$pBuf) { $14 = HEAP32[$i>>2]|0; $15 = $14&255; $16 = HEAP32[$i>>2]|0; - $17 = ((18746) + ($16)|0); + $17 = ((18490) + ($16)|0); HEAP8[$17>>0] = $15; $18 = HEAP32[$i>>2]|0; $19 = (($18) + 1)|0; @@ -13223,7 +13220,7 @@ function _sqlite3_randomness($N,$pBuf) { break; } $22 = HEAP32[$i>>2]|0; - $23 = ((18746) + ($22)|0); + $23 = ((18490) + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; $26 = HEAP32[$i>>2]|0; @@ -13231,65 +13228,65 @@ function _sqlite3_randomness($N,$pBuf) { $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = (($25) + ($29))|0; - $31 = HEAP8[(18745)>>0]|0; + $31 = HEAP8[(18489)>>0]|0; $32 = $31&255; $33 = (($32) + ($30))|0; $34 = $33&255; - HEAP8[(18745)>>0] = $34; - $35 = HEAP8[(18745)>>0]|0; + HEAP8[(18489)>>0] = $34; + $35 = HEAP8[(18489)>>0]|0; $36 = $35&255; - $37 = ((18746) + ($36)|0); + $37 = ((18490) + ($36)|0); $38 = HEAP8[$37>>0]|0; HEAP8[$t>>0] = $38; $39 = HEAP32[$i>>2]|0; - $40 = ((18746) + ($39)|0); + $40 = ((18490) + ($39)|0); $41 = HEAP8[$40>>0]|0; - $42 = HEAP8[(18745)>>0]|0; + $42 = HEAP8[(18489)>>0]|0; $43 = $42&255; - $44 = ((18746) + ($43)|0); + $44 = ((18490) + ($43)|0); HEAP8[$44>>0] = $41; $45 = HEAP8[$t>>0]|0; $46 = HEAP32[$i>>2]|0; - $47 = ((18746) + ($46)|0); + $47 = ((18490) + ($46)|0); HEAP8[$47>>0] = $45; $48 = HEAP32[$i>>2]|0; $49 = (($48) + 1)|0; HEAP32[$i>>2] = $49; } - HEAP8[18743>>0] = 1; + HEAP8[18487>>0] = 1; } while(1) { - $50 = HEAP8[(18744)>>0]|0; + $50 = HEAP8[(18488)>>0]|0; $51 = (($50) + 1)<<24>>24; - HEAP8[(18744)>>0] = $51; - $52 = HEAP8[(18744)>>0]|0; + HEAP8[(18488)>>0] = $51; + $52 = HEAP8[(18488)>>0]|0; $53 = $52&255; - $54 = ((18746) + ($53)|0); + $54 = ((18490) + ($53)|0); $55 = HEAP8[$54>>0]|0; HEAP8[$t>>0] = $55; $56 = HEAP8[$t>>0]|0; $57 = $56&255; - $58 = HEAP8[(18745)>>0]|0; + $58 = HEAP8[(18489)>>0]|0; $59 = $58&255; $60 = (($59) + ($57))|0; $61 = $60&255; - HEAP8[(18745)>>0] = $61; - $62 = HEAP8[(18745)>>0]|0; + HEAP8[(18489)>>0] = $61; + $62 = HEAP8[(18489)>>0]|0; $63 = $62&255; - $64 = ((18746) + ($63)|0); + $64 = ((18490) + ($63)|0); $65 = HEAP8[$64>>0]|0; - $66 = HEAP8[(18744)>>0]|0; + $66 = HEAP8[(18488)>>0]|0; $67 = $66&255; - $68 = ((18746) + ($67)|0); + $68 = ((18490) + ($67)|0); HEAP8[$68>>0] = $65; $69 = HEAP8[$t>>0]|0; - $70 = HEAP8[(18745)>>0]|0; + $70 = HEAP8[(18489)>>0]|0; $71 = $70&255; - $72 = ((18746) + ($71)|0); + $72 = ((18490) + ($71)|0); HEAP8[$72>>0] = $69; - $73 = HEAP8[(18744)>>0]|0; + $73 = HEAP8[(18488)>>0]|0; $74 = $73&255; - $75 = ((18746) + ($74)|0); + $75 = ((18490) + ($74)|0); $76 = HEAP8[$75>>0]|0; $77 = $76&255; $78 = HEAP8[$t>>0]|0; @@ -13299,7 +13296,7 @@ function _sqlite3_randomness($N,$pBuf) { HEAP8[$t>>0] = $81; $82 = HEAP8[$t>>0]|0; $83 = $82&255; - $84 = ((18746) + ($83)|0); + $84 = ((18490) + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = HEAP32[$zBuf>>2]|0; $87 = ((($86)) + 1|0); @@ -13318,86 +13315,38 @@ function _sqlite3_randomness($N,$pBuf) { function _sqlite3_stricmp($zLeft,$zRight) { $zLeft = $zLeft|0; $zRight = $zRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $b = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $a = sp + 4|0; - $b = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$1>>2] = $zLeft; HEAP32[$2>>2] = $zRight; $3 = HEAP32[$1>>2]|0; $4 = ($3|0)==(0|0); $5 = HEAP32[$2>>2]|0; - if ($4) { - $6 = ($5|0)!=(0|0); - $7 = $6 ? -1 : 0; - HEAP32[$0>>2] = $7; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - $8 = ($5|0)==(0|0); - if ($8) { - HEAP32[$0>>2] = 1; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); - } - $9 = HEAP32[$1>>2]|0; - HEAP32[$a>>2] = $9; - $10 = HEAP32[$2>>2]|0; - HEAP32[$b>>2] = $10; - while(1) { - $11 = HEAP32[$a>>2]|0; - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($13|0)!=(0); - if ($14) { - $15 = HEAP32[$a>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = (18477 + ($17)|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = HEAP32[$b>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $24 = (18477 + ($23)|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($20|0)==($26|0); - $45 = $27; + do { + if ($4) { + $6 = ($5|0)!=(0|0); + $7 = $6 ? -1 : 0; + HEAP32[$0>>2] = $7; } else { - $45 = 0; - } - $28 = HEAP32[$a>>2]|0; - if (!($45)) { - break; + $8 = ($5|0)==(0|0); + if ($8) { + HEAP32[$0>>2] = 1; + break; + } else { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3StrICmp($9,$10)|0); + HEAP32[$0>>2] = $11; + break; + } } - $29 = ((($28)) + 1|0); - HEAP32[$a>>2] = $29; - $30 = HEAP32[$b>>2]|0; - $31 = ((($30)) + 1|0); - HEAP32[$b>>2] = $31; - } - $32 = HEAP8[$28>>0]|0; - $33 = $32&255; - $34 = (18477 + ($33)|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = HEAP32[$b>>2]|0; - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = (18477 + ($39)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = (($36) - ($42))|0; - HEAP32[$0>>2] = $43; - $44 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($44|0); + } while(0); + $12 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($12|0); } function _sqlite3_os_init() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $i = 0, label = 0, sp = 0; @@ -14245,7 +14194,7 @@ function _sqlite3_finalize($pStmt) { $8 = (_vdbeSafety($7)|0); $9 = ($8|0)!=(0); if ($9) { - $10 = (_sqlite3MisuseError(72362)|0); + $10 = (_sqlite3MisuseError(72615)|0); HEAP32[$0>>2] = $10; $33 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($33|0); @@ -14339,8 +14288,8 @@ function _sqlite3_reset($pStmt) { function _sqlite3_clear_bindings($pStmt) { $pStmt = $pStmt|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0; - var $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $p = 0, $rc = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -14380,32 +14329,31 @@ function _sqlite3_clear_bindings($pStmt) { HEAP32[$i>>2] = $20; } $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 88|0); - $23 = HEAP16[$22>>1]|0; - $24 = ($23&65535) >>> 8; - $25 = $24 & 1; - $26 = $25&65535; - $27 = ($26|0)!=(0); - if (!($27)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $22 = ((($21)) + 89|0); + $23 = HEAP8[$22>>0]|0; + $24 = ($23&255) >>> 7; + $25 = $24&255; + $26 = ($25|0)!=(0); + if (!($26)) { + $36 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($36|0); } - $28 = HEAP32[$p>>2]|0; - $29 = ((($28)) + 188|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0); - if (!($31)) { - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $27 = HEAP32[$p>>2]|0; + $28 = ((($27)) + 188|0); + $29 = HEAP32[$28>>2]|0; + $30 = ($29|0)!=(0); + if (!($30)) { + $36 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($36|0); } - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 88|0); - $34 = HEAP16[$33>>1]|0; - $35 = $34 & -9; - $36 = $35 | 8; - HEAP16[$33>>1] = $36; - $37 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($37|0); + $31 = HEAP32[$p>>2]|0; + $32 = ((($31)) + 87|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 & -2; + $35 = $34 | 1; + HEAP8[$32>>0] = $35; + $36 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($36|0); } function _sqlite3_value_blob($pVal) { $pVal = $pVal|0; @@ -14533,7 +14481,7 @@ function _sqlite3_value_type($pVal) { $3 = HEAP16[$2>>1]|0; $4 = $3&65535; $5 = $4 & 31; - $6 = (19002 + ($5)|0); + $6 = (18746 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -14854,7 +14802,7 @@ function _sqlite3_result_zeroblob64($pCtx,$0,$1) { $17 = HEAP32[$pOut>>2]|0; $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; - $20 = ((($19)) + 88|0); + $20 = ((($19)) + 92|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)<(0); $23 = $22 << 31 >> 31; @@ -14932,7 +14880,7 @@ function _sqlite3_result_error_toobig($pCtx) { HEAP8[$4>>0] = 1; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; - (_sqlite3VdbeMemSetStr($6,19034,-1,1,0)|0); + (_sqlite3VdbeMemSetStr($6,18778,-1,1,0)|0); STACKTOP = sp;return; } function _sqlite3_result_error_nomem($pCtx) { @@ -14985,7 +14933,7 @@ function _sqlite3_step($pStmt) { $4 = (_vdbeSafetyNotNull($3)|0); $5 = ($4|0)!=(0); if ($5) { - $6 = (_sqlite3MisuseError(72913)|0); + $6 = (_sqlite3MisuseError(73166)|0); HEAP32[$0>>2] = $6; $64 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($64|0); @@ -14994,10 +14942,10 @@ function _sqlite3_step($pStmt) { $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; $9 = HEAP32[$v>>2]|0; - $10 = ((($9)) + 88|0); - $11 = HEAP16[$10>>1]|0; - $12 = $11 & -513; - HEAP16[$10>>1] = $12; + $10 = ((($9)) + 87|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 & -3; + HEAP8[$10>>0] = $12; while(1) { $13 = HEAP32[$v>>2]|0; $14 = (_sqlite3Step($13)|0); @@ -15034,18 +14982,18 @@ function _sqlite3_step($pStmt) { continue; } $29 = HEAP32[$v>>2]|0; - $30 = ((($29)) + 88|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31 & -513; - $33 = $32 | 512; - HEAP16[$30>>1] = $33; + $30 = ((($29)) + 87|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 & -3; + $33 = $32 | 2; + HEAP8[$30>>0] = $33; } $34 = HEAP32[$rc2>>2]|0; $35 = ($34|0)!=(0); do { if ($35) { $36 = HEAP32[$db>>2]|0; - $37 = ((($36)) + 236|0); + $37 = ((($36)) + 240|0); $38 = HEAP32[$37>>2]|0; $39 = (_sqlite3_value_text($38)|0); HEAP32[$zErr>>2] = $39; @@ -15055,7 +15003,7 @@ function _sqlite3_step($pStmt) { $43 = HEAP32[$42>>2]|0; _sqlite3DbFree($40,$43); $44 = HEAP32[$db>>2]|0; - $45 = ((($44)) + 65|0); + $45 = ((($44)) + 69|0); $46 = HEAP8[$45>>0]|0; $47 = ($46<<24>>24)!=(0); if ($47) { @@ -15956,7 +15904,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $45 = HEAP32[$pParse>>2]|0; $46 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer>>2] = $46; - _sqlite3ErrorMsg($45,19057,$vararg_buffer); + _sqlite3ErrorMsg($45,18801,$vararg_buffer); } } $47 = HEAP32[$pTab>>2]|0; @@ -15973,7 +15921,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $55 = HEAP32[$pParse>>2]|0; $56 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _sqlite3ErrorMsg($55,19087,$vararg_buffer1); + _sqlite3ErrorMsg($55,18831,$vararg_buffer1); } } $57 = HEAP32[$pTab>>2]|0; @@ -15988,7 +15936,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $63 = HEAP32[$pParse>>2]|0; $64 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer4>>2] = $64; - _sqlite3ErrorMsg($63,19123,$vararg_buffer4); + _sqlite3ErrorMsg($63,18867,$vararg_buffer4); } } $65 = HEAP32[$pTab>>2]|0; @@ -16012,10 +15960,10 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $85 = HEAP32[$pTab>>2]|0; $86 = ((($85)) + 4|0); $87 = HEAP32[$86>>2]|0; - $88 = (($87) + (($84*24)|0)|0); + $88 = (($87) + ($84<<4)|0); $89 = HEAP32[$88>>2]|0; $90 = HEAP32[$5>>2]|0; - $91 = (_sqlite3_stricmp($89,$90)|0); + $91 = (_sqlite3StrICmp($89,$90)|0); $92 = ($91|0)==(0); if ($92) { break; @@ -16073,7 +16021,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $128 = HEAP32[$iCol>>2]|0; $129 = ($127|0)==($128|0); if ($129) { - HEAP32[$zFault>>2] = 19165; + HEAP32[$zFault>>2] = 18909; } $130 = HEAP32[$j>>2]|0; $131 = (($130) + 1)|0; @@ -16133,7 +16081,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { } if ((label|0) == 38) { label = 0; - HEAP32[$zFault>>2] = 19177; + HEAP32[$zFault>>2] = 18921; } $163 = HEAP32[$j1>>2]|0; $164 = (($163) + 1)|0; @@ -16187,13 +16135,13 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $203 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($203,1); $204 = HEAP32[$v>>2]|0; - $205 = (_sqlite3VdbeAddOpList($204,9,19219,0)|0); + $205 = (_sqlite3VdbeAddOpList($204,9,18963,0)|0); HEAP32[$aOp>>2] = $205; $206 = HEAP32[$v>>2]|0; $207 = HEAP32[$iDb>>2]|0; _sqlite3VdbeUsesBtree($206,$207); $208 = HEAP32[$2>>2]|0; - $209 = ((($208)) + 65|0); + $209 = ((($208)) + 69|0); $210 = HEAP8[$209>>0]|0; $211 = $210&255; $212 = ($211|0)==(0); @@ -16218,7 +16166,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { _sqlite3VdbeChangeP4($224,1,$226,0); } $227 = HEAP32[$2>>2]|0; - $228 = ((($227)) + 65|0); + $228 = ((($227)) + 69|0); $229 = HEAP8[$228>>0]|0; $230 = $229&255; $231 = ($230|0)==(0); @@ -16289,7 +16237,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $279 = ((($278)) + 24|0); HEAP32[$279>>2] = $277; $280 = HEAP32[$2>>2]|0; - $281 = ((($280)) + 65|0); + $281 = ((($280)) + 69|0); $282 = HEAP8[$281>>0]|0; $283 = ($282<<24>>24)!=(0); if ($283) { @@ -16352,7 +16300,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $103 = HEAP32[$2>>2]|0; $104 = HEAP32[$5>>2]|0; HEAP32[$vararg_buffer7>>2] = $104; - $105 = (_sqlite3MPrintf($103,19144,$vararg_buffer7)|0); + $105 = (_sqlite3MPrintf($103,18888,$vararg_buffer7)|0); HEAP32[$zErr>>2] = $105; HEAP32[$rc>>2] = 1; break; @@ -16364,7 +16312,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $172 = HEAP32[$2>>2]|0; $173 = HEAP32[$zFault>>2]|0; HEAP32[$vararg_buffer10>>2] = $173; - $174 = (_sqlite3MPrintf($172,19185,$vararg_buffer10)|0); + $174 = (_sqlite3MPrintf($172,18929,$vararg_buffer10)|0); HEAP32[$zErr>>2] = $174; HEAP32[$rc>>2] = 1; break; @@ -16376,7 +16324,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $308 = ($307|0)==(0); if ($308) { $309 = HEAP32[$2>>2]|0; - $310 = ((($309)) + 65|0); + $310 = ((($309)) + 69|0); $311 = HEAP8[$310>>0]|0; $312 = $311&255; $313 = ($312|0)==(0); @@ -16388,7 +16336,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $328 = HEAP32[$rc>>2]|0; $329 = HEAP32[$zErr>>2]|0; $330 = ($329|0)!=(0|0); - $331 = $330 ? 19255 : 0; + $331 = $330 ? 18999 : 0; $332 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer13>>2] = $332; _sqlite3ErrorWithMsg($327,$328,$331,$vararg_buffer13); @@ -16429,7 +16377,7 @@ function _sqlite3_blob_open($db,$zDb,$zTable,$zColumn,$0,$1,$flags,$ppBlob) { $328 = HEAP32[$rc>>2]|0; $329 = HEAP32[$zErr>>2]|0; $330 = ($329|0)!=(0|0); - $331 = $330 ? 19255 : 0; + $331 = $330 ? 18999 : 0; $332 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer13>>2] = $332; _sqlite3ErrorWithMsg($327,$328,$331,$vararg_buffer13); @@ -16566,7 +16514,7 @@ function _sqlite3_blob_reopen($pBlob,$0,$1) { $10 = HEAP32[$p>>2]|0; $11 = ($10|0)==(0|0); if ($11) { - $12 = (_sqlite3MisuseError(81515)|0); + $12 = (_sqlite3MisuseError(81809)|0); HEAP32[$2>>2] = $12; $42 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($42|0); @@ -16598,7 +16546,7 @@ function _sqlite3_blob_reopen($pBlob,$0,$1) { $31 = HEAP32[$rc>>2]|0; $32 = HEAP32[$zErr>>2]|0; $33 = ($32|0)!=(0|0); - $34 = $33 ? 19255 : 0; + $34 = $33 ? 18999 : 0; $35 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer>>2] = $35; _sqlite3ErrorWithMsg($30,$31,$34,$vararg_buffer); @@ -16628,7 +16576,7 @@ function _sqlite3_strglob($zGlobPattern,$zString) { HEAP32[$1>>2] = $zString; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (_patternCompare($2,$3,19258,91)|0); + $4 = (_patternCompare($2,$3,19002,91)|0); $5 = ($4|0)==(0); $6 = $5&1; STACKTOP = sp;return ($6|0); @@ -16649,7 +16597,7 @@ function _sqlite3_strlike($zPattern,$zStr,$esc) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$2>>2]|0; - $6 = (_patternCompare($3,$4,19262,$5)|0); + $6 = (_patternCompare($3,$4,19006,$5)|0); $7 = ($6|0)==(0); $8 = $7&1; STACKTOP = sp;return ($8|0); @@ -16698,7 +16646,7 @@ function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { $7 = (_sqlite3SafetyCheckOk($6)|0); $8 = ($7|0)!=(0); if (!($8)) { - $9 = (_sqlite3MisuseError(105510)|0); + $9 = (_sqlite3MisuseError(105726)|0); HEAP32[$0>>2] = $9; $151 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($151|0); @@ -16706,7 +16654,7 @@ function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { $10 = HEAP32[$2>>2]|0; $11 = ($10|0)==(0|0); if ($11) { - HEAP32[$2>>2] = 19266; + HEAP32[$2>>2] = 19010; } $12 = HEAP32[$1>>2]|0; _sqlite3Error($12,0); @@ -16882,7 +16830,7 @@ function _sqlite3_exec($db,$zSql,$xCallback,$pArg,$pzErrMsg) { $105 = HEAP32[$2>>2]|0; $106 = HEAP8[$105>>0]|0; $107 = $106&255; - $108 = (19267 + ($107)|0); + $108 = (19011 + ($107)|0); $109 = HEAP8[$108>>0]|0; $110 = $109&255; $111 = $110 & 1; @@ -17025,14 +16973,14 @@ function _sqlite3_errmsg($db) { $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); $7 = ($6|0)!=(0); if (!($7)) { - $8 = (_sqlite3MisuseError(134947)|0); + $8 = (_sqlite3MisuseError(135352)|0); $9 = (_sqlite3ErrStr($8)|0); HEAP32[$0>>2] = $9; $26 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($26|0); } $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 65|0); + $11 = ((($10)) + 69|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); if ($13) { @@ -17040,7 +16988,7 @@ function _sqlite3_errmsg($db) { HEAP32[$z>>2] = $14; } else { $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 236|0); + $16 = ((($15)) + 240|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3_value_text($17)|0); HEAP32[$z>>2] = $18; @@ -17164,7 +17112,7 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { HEAP32[$rc>>2] = 0; HEAP32[$zErr>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 328|0); + $4 = ((($3)) + 336|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pCtx>>2] = $5; $6 = HEAP32[$pCtx>>2]|0; @@ -17207,7 +17155,7 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { $34 = ($33|0)!=(0|0); if ($34) { $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 65|0); + $36 = ((($35)) + 69|0); $37 = HEAP8[$36>>0]|0; $38 = ($37<<24>>24)!=(0); if ($38) { @@ -17281,7 +17229,7 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { $81 = HEAP32[$1>>2]|0; $82 = HEAP32[$zErr>>2]|0; $83 = ($82|0)!=(0|0); - $84 = $83 ? 19255 : 0; + $84 = $83 ? 18999 : 0; $85 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer>>2] = $85; _sqlite3ErrorWithMsg($81,1,$84,$vararg_buffer); @@ -17326,7 +17274,7 @@ function _sqlite3_declare_vtab($db,$zCreateTable) { } $12 = HEAP32[$1>>2]|0; _sqlite3Error($12,21); - $13 = (_sqlite3MisuseError(119136)|0); + $13 = (_sqlite3MisuseError(119383)|0); HEAP32[$0>>2] = $13; $108 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($108|0); @@ -17339,11 +17287,11 @@ function _sqlite3_vtab_on_conflict($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 70|0); + $2 = ((($1)) + 74|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = (($4) - 1)|0; - $6 = (19523 + ($5)|0); + $6 = (19267 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -17370,7 +17318,7 @@ function _sqlite3_vtab_config($db,$op,$varargs) { do { if ($cond) { $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 328|0); + $4 = ((($3)) + 336|0); $5 = HEAP32[$4>>2]|0; HEAP32[$p>>2] = $5; $6 = HEAP32[$p>>2]|0; @@ -17398,12 +17346,12 @@ function _sqlite3_vtab_config($db,$op,$varargs) { HEAP8[$19>>0] = $16; break; } else { - $8 = (_sqlite3MisuseError(119587)|0); + $8 = (_sqlite3MisuseError(119834)|0); HEAP32[$rc>>2] = $8; break; } } else { - $20 = (_sqlite3MisuseError(119595)|0); + $20 = (_sqlite3MisuseError(119842)|0); HEAP32[$rc>>2] = $20; } } while(0); @@ -17422,17 +17370,17 @@ function _sqlite3_vtab_config($db,$op,$varargs) { function _sqlite3_libversion() { var label = 0, sp = 0; sp = STACKTOP; - return (18462|0); + return (18206|0); } function _sqlite3_sourceid() { var label = 0, sp = 0; sp = STACKTOP; - return (19541|0); + return (19285|0); } function _sqlite3_libversion_number() { var label = 0, sp = 0; sp = STACKTOP; - return 3011000; + return 3012000; } function _sqlite3_config($op,$varargs) { $op = $op|0; @@ -17446,19 +17394,19 @@ function _sqlite3_config($op,$varargs) { var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0, $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0; - var $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current60 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0; - var $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next61 = 0, $arglist_next7 = 0, $expanded = 0, $expanded100 = 0, $expanded102 = 0, $expanded103 = 0, $expanded104 = 0, $expanded106 = 0, $expanded107 = 0, $expanded109 = 0, $expanded11 = 0, $expanded110 = 0, $expanded111 = 0, $expanded113 = 0, $expanded114 = 0; - var $expanded116 = 0, $expanded117 = 0, $expanded118 = 0, $expanded12 = 0, $expanded120 = 0, $expanded121 = 0, $expanded123 = 0, $expanded124 = 0, $expanded125 = 0, $expanded127 = 0, $expanded128 = 0, $expanded13 = 0, $expanded130 = 0, $expanded131 = 0, $expanded132 = 0, $expanded134 = 0, $expanded135 = 0, $expanded137 = 0, $expanded138 = 0, $expanded139 = 0; - var $expanded141 = 0, $expanded142 = 0, $expanded144 = 0, $expanded145 = 0, $expanded146 = 0, $expanded15 = 0, $expanded16 = 0, $expanded18 = 0, $expanded19 = 0, $expanded2 = 0, $expanded20 = 0, $expanded22 = 0, $expanded23 = 0, $expanded25 = 0, $expanded26 = 0, $expanded27 = 0, $expanded29 = 0, $expanded30 = 0, $expanded32 = 0, $expanded33 = 0; - var $expanded34 = 0, $expanded36 = 0, $expanded37 = 0, $expanded39 = 0, $expanded4 = 0, $expanded40 = 0, $expanded41 = 0, $expanded43 = 0, $expanded44 = 0, $expanded46 = 0, $expanded47 = 0, $expanded48 = 0, $expanded5 = 0, $expanded50 = 0, $expanded51 = 0, $expanded53 = 0, $expanded54 = 0, $expanded55 = 0, $expanded57 = 0, $expanded58 = 0; - var $expanded6 = 0, $expanded60 = 0, $expanded61 = 0, $expanded62 = 0, $expanded64 = 0, $expanded65 = 0, $expanded67 = 0, $expanded68 = 0, $expanded69 = 0, $expanded71 = 0, $expanded72 = 0, $expanded74 = 0, $expanded75 = 0, $expanded76 = 0, $expanded78 = 0, $expanded79 = 0, $expanded8 = 0, $expanded81 = 0, $expanded82 = 0, $expanded83 = 0; - var $expanded85 = 0, $expanded86 = 0, $expanded88 = 0, $expanded89 = 0, $expanded9 = 0, $expanded90 = 0, $expanded92 = 0, $expanded93 = 0, $expanded95 = 0, $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $mxMmap = 0, $or$cond = 0, $rc = 0, $szMmap = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $ap = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0; + var $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current60 = 0, $arglist_current63 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0; + var $arglist_next25 = 0, $arglist_next28 = 0, $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next61 = 0, $arglist_next64 = 0, $arglist_next7 = 0, $expanded = 0, $expanded100 = 0, $expanded102 = 0, $expanded103 = 0; + var $expanded104 = 0, $expanded106 = 0, $expanded107 = 0, $expanded109 = 0, $expanded11 = 0, $expanded110 = 0, $expanded111 = 0, $expanded113 = 0, $expanded114 = 0, $expanded116 = 0, $expanded117 = 0, $expanded118 = 0, $expanded12 = 0, $expanded120 = 0, $expanded121 = 0, $expanded123 = 0, $expanded124 = 0, $expanded125 = 0, $expanded127 = 0, $expanded128 = 0; + var $expanded13 = 0, $expanded130 = 0, $expanded131 = 0, $expanded132 = 0, $expanded134 = 0, $expanded135 = 0, $expanded137 = 0, $expanded138 = 0, $expanded139 = 0, $expanded141 = 0, $expanded142 = 0, $expanded144 = 0, $expanded145 = 0, $expanded146 = 0, $expanded148 = 0, $expanded149 = 0, $expanded15 = 0, $expanded151 = 0, $expanded152 = 0, $expanded153 = 0; + var $expanded16 = 0, $expanded18 = 0, $expanded19 = 0, $expanded2 = 0, $expanded20 = 0, $expanded22 = 0, $expanded23 = 0, $expanded25 = 0, $expanded26 = 0, $expanded27 = 0, $expanded29 = 0, $expanded30 = 0, $expanded32 = 0, $expanded33 = 0, $expanded34 = 0, $expanded36 = 0, $expanded37 = 0, $expanded39 = 0, $expanded4 = 0, $expanded40 = 0; + var $expanded41 = 0, $expanded43 = 0, $expanded44 = 0, $expanded46 = 0, $expanded47 = 0, $expanded48 = 0, $expanded5 = 0, $expanded50 = 0, $expanded51 = 0, $expanded53 = 0, $expanded54 = 0, $expanded55 = 0, $expanded57 = 0, $expanded58 = 0, $expanded6 = 0, $expanded60 = 0, $expanded61 = 0, $expanded62 = 0, $expanded64 = 0, $expanded65 = 0; + var $expanded67 = 0, $expanded68 = 0, $expanded69 = 0, $expanded71 = 0, $expanded72 = 0, $expanded74 = 0, $expanded75 = 0, $expanded76 = 0, $expanded78 = 0, $expanded79 = 0, $expanded8 = 0, $expanded81 = 0, $expanded82 = 0, $expanded83 = 0, $expanded85 = 0, $expanded86 = 0, $expanded88 = 0, $expanded89 = 0, $expanded9 = 0, $expanded90 = 0; + var $expanded92 = 0, $expanded93 = 0, $expanded95 = 0, $expanded96 = 0, $expanded97 = 0, $expanded99 = 0, $mxMmap = 0, $or$cond = 0, $rc = 0, $szMmap = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -17472,10 +17420,10 @@ function _sqlite3_config($op,$varargs) { $2 = HEAP32[(236)>>2]|0; $3 = ($2|0)!=(0); if ($3) { - $4 = (_sqlite3MisuseError(133154)|0); + $4 = (_sqlite3MisuseError(133555)|0); HEAP32[$0>>2] = $4; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + $270 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($270|0); } HEAP32[$ap>>2] = $varargs; $5 = HEAP32[$1>>2]|0; @@ -17497,11 +17445,11 @@ function _sqlite3_config($op,$varargs) { $12 = HEAP32[$11>>2]|0; $arglist_next = ((($11)) + 4|0); HEAP32[$ap>>2] = $arglist_next; - ;HEAP32[(44)>>2]=HEAP32[$12>>2]|0;HEAP32[(44)+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[(44)+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[(44)+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[(44)+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[(44)+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[(44)+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[(44)+28>>2]=HEAP32[$12+28>>2]|0; + ;HEAP32[(48)>>2]=HEAP32[$12>>2]|0;HEAP32[(48)+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[(48)+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[(48)+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[(48)+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[(48)+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[(48)+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[(48)+28>>2]=HEAP32[$12+28>>2]|0; break; } case 5: { - $13 = HEAP32[(44)>>2]|0; + $13 = HEAP32[(48)>>2]|0; $14 = ($13|0)==(0|0); if ($14) { _sqlite3MemSetDefault(); @@ -17521,7 +17469,7 @@ function _sqlite3_config($op,$varargs) { $21 = HEAP32[$20>>2]|0; $arglist_next4 = ((($20)) + 4|0); HEAP32[$ap>>2] = $arglist_next4; - ;HEAP32[$21>>2]=HEAP32[(44)>>2]|0;HEAP32[$21+4>>2]=HEAP32[(44)+4>>2]|0;HEAP32[$21+8>>2]=HEAP32[(44)+8>>2]|0;HEAP32[$21+12>>2]=HEAP32[(44)+12>>2]|0;HEAP32[$21+16>>2]=HEAP32[(44)+16>>2]|0;HEAP32[$21+20>>2]=HEAP32[(44)+20>>2]|0;HEAP32[$21+24>>2]=HEAP32[(44)+24>>2]|0;HEAP32[$21+28>>2]=HEAP32[(44)+28>>2]|0; + ;HEAP32[$21>>2]=HEAP32[(48)>>2]|0;HEAP32[$21+4>>2]=HEAP32[(48)+4>>2]|0;HEAP32[$21+8>>2]=HEAP32[(48)+8>>2]|0;HEAP32[$21+12>>2]=HEAP32[(48)+12>>2]|0;HEAP32[$21+16>>2]=HEAP32[(48)+16>>2]|0;HEAP32[$21+20>>2]=HEAP32[(48)+20>>2]|0;HEAP32[$21+24>>2]=HEAP32[(48)+24>>2]|0;HEAP32[$21+28>>2]=HEAP32[(48)+28>>2]|0; break; } case 9: { @@ -17692,11 +17640,11 @@ function _sqlite3_config($op,$varargs) { $89 = HEAP32[$88>>2]|0; $arglist_next31 = ((($88)) + 4|0); HEAP32[$ap>>2] = $arglist_next31; - dest=(112); src=$89; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(116); src=$89; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); break; } case 19: { - $90 = HEAP32[(120)>>2]|0; + $90 = HEAP32[(124)>>2]|0; $91 = ($90|0)==(0|0); if ($91) { _sqlite3PCacheSetDefault(); @@ -17716,7 +17664,7 @@ function _sqlite3_config($op,$varargs) { $98 = HEAP32[$97>>2]|0; $arglist_next34 = ((($97)) + 4|0); HEAP32[$ap>>2] = $arglist_next34; - dest=$98; src=(112); stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$98; src=(116); stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); break; } case 13: { @@ -17998,15 +17946,34 @@ function _sqlite3_config($op,$varargs) { HEAP32[(232)>>2] = $261; break; } + case 26: { + $arglist_current63 = HEAP32[$ap>>2]|0; + $262 = $arglist_current63; + $263 = ((0) + 4|0); + $expanded149 = $263; + $expanded148 = (($expanded149) - 1)|0; + $264 = (($262) + ($expanded148))|0; + $265 = ((0) + 4|0); + $expanded153 = $265; + $expanded152 = (($expanded153) - 1)|0; + $expanded151 = $expanded152 ^ -1; + $266 = $264 & $expanded151; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $arglist_next64 = ((($267)) + 4|0); + HEAP32[$ap>>2] = $arglist_next64; + HEAP32[(44)>>2] = $268; + break; + } default: { HEAP32[$rc>>2] = 1; } } } while(0); - $262 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $262; - $263 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($263|0); + $269 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $269; + $270 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($270|0); } function _sqlite3_db_release_memory($db) { $db = $db|0; @@ -18054,6 +18021,212 @@ function _sqlite3_db_release_memory($db) { } STACKTOP = sp;return 0; } +function _sqlite3_db_config($db,$op,$varargs) { + $db = $db|0; + $op = $op|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $ap = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current2 = 0; + var $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $cnt = 0, $cond = 0, $expanded = 0, $expanded10 = 0, $expanded12 = 0, $expanded13 = 0, $expanded14 = 0, $expanded16 = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, $expanded23 = 0; + var $expanded24 = 0, $expanded26 = 0, $expanded27 = 0, $expanded28 = 0, $expanded3 = 0, $expanded30 = 0, $expanded31 = 0, $expanded33 = 0, $expanded34 = 0, $expanded35 = 0, $expanded5 = 0, $expanded6 = 0, $expanded7 = 0, $expanded9 = 0, $i = 0, $oldFlags = 0, $onoff = 0, $pBuf = 0, $pRes = 0, $rc = 0; + var $sz = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $ap = sp + 32|0; + $rc = sp + 28|0; + $pBuf = sp + 24|0; + $sz = sp + 20|0; + $cnt = sp + 16|0; + $i = sp + 12|0; + $onoff = sp + 8|0; + $pRes = sp + 4|0; + $oldFlags = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $op; + HEAP32[$ap>>2] = $varargs; + $2 = HEAP32[$1>>2]|0; + $cond = ($2|0)==(1001); + if ($cond) { + $arglist_current = HEAP32[$ap>>2]|0; + $3 = $arglist_current; + $4 = ((0) + 4|0); + $expanded3 = $4; + $expanded = (($expanded3) - 1)|0; + $5 = (($3) + ($expanded))|0; + $6 = ((0) + 4|0); + $expanded7 = $6; + $expanded6 = (($expanded7) - 1)|0; + $expanded5 = $expanded6 ^ -1; + $7 = $5 & $expanded5; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $arglist_next = ((($8)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + HEAP32[$pBuf>>2] = $9; + $arglist_current2 = HEAP32[$ap>>2]|0; + $10 = $arglist_current2; + $11 = ((0) + 4|0); + $expanded10 = $11; + $expanded9 = (($expanded10) - 1)|0; + $12 = (($10) + ($expanded9))|0; + $13 = ((0) + 4|0); + $expanded14 = $13; + $expanded13 = (($expanded14) - 1)|0; + $expanded12 = $expanded13 ^ -1; + $14 = $12 & $expanded12; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $arglist_next3 = ((($15)) + 4|0); + HEAP32[$ap>>2] = $arglist_next3; + HEAP32[$sz>>2] = $16; + $arglist_current5 = HEAP32[$ap>>2]|0; + $17 = $arglist_current5; + $18 = ((0) + 4|0); + $expanded17 = $18; + $expanded16 = (($expanded17) - 1)|0; + $19 = (($17) + ($expanded16))|0; + $20 = ((0) + 4|0); + $expanded21 = $20; + $expanded20 = (($expanded21) - 1)|0; + $expanded19 = $expanded20 ^ -1; + $21 = $19 & $expanded19; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $arglist_next6 = ((($22)) + 4|0); + HEAP32[$ap>>2] = $arglist_next6; + HEAP32[$cnt>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = HEAP32[$pBuf>>2]|0; + $26 = HEAP32[$sz>>2]|0; + $27 = HEAP32[$cnt>>2]|0; + $28 = (_setupLookaside($24,$25,$26,$27)|0); + HEAP32[$rc>>2] = $28; + $95 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($95|0); + } + HEAP32[$rc>>2] = 1; + HEAP32[$i>>2] = 0; + while(1) { + $29 = HEAP32[$i>>2]|0; + $30 = ($29>>>0)<(3); + if (!($30)) { + label = 16; + break; + } + $31 = HEAP32[$i>>2]|0; + $32 = (1536 + ($31<<3)|0); + $33 = HEAP32[$32>>2]|0; + $34 = HEAP32[$1>>2]|0; + $35 = ($33|0)==($34|0); + if ($35) { + break; + } + $93 = HEAP32[$i>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$i>>2] = $94; + } + if ((label|0) == 16) { + $95 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($95|0); + } + $arglist_current8 = HEAP32[$ap>>2]|0; + $36 = $arglist_current8; + $37 = ((0) + 4|0); + $expanded24 = $37; + $expanded23 = (($expanded24) - 1)|0; + $38 = (($36) + ($expanded23))|0; + $39 = ((0) + 4|0); + $expanded28 = $39; + $expanded27 = (($expanded28) - 1)|0; + $expanded26 = $expanded27 ^ -1; + $40 = $38 & $expanded26; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $arglist_next9 = ((($41)) + 4|0); + HEAP32[$ap>>2] = $arglist_next9; + HEAP32[$onoff>>2] = $42; + $arglist_current11 = HEAP32[$ap>>2]|0; + $43 = $arglist_current11; + $44 = ((0) + 4|0); + $expanded31 = $44; + $expanded30 = (($expanded31) - 1)|0; + $45 = (($43) + ($expanded30))|0; + $46 = ((0) + 4|0); + $expanded35 = $46; + $expanded34 = (($expanded35) - 1)|0; + $expanded33 = $expanded34 ^ -1; + $47 = $45 & $expanded33; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $arglist_next12 = ((($48)) + 4|0); + HEAP32[$ap>>2] = $arglist_next12; + HEAP32[$pRes>>2] = $49; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 24|0); + $52 = HEAP32[$51>>2]|0; + HEAP32[$oldFlags>>2] = $52; + $53 = HEAP32[$onoff>>2]|0; + $54 = ($53|0)>(0); + if ($54) { + $55 = HEAP32[$i>>2]|0; + $56 = (1536 + ($55<<3)|0); + $57 = ((($56)) + 4|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$0>>2]|0; + $60 = ((($59)) + 24|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 | $58; + HEAP32[$60>>2] = $62; + } else { + $63 = HEAP32[$onoff>>2]|0; + $64 = ($63|0)==(0); + if ($64) { + $65 = HEAP32[$i>>2]|0; + $66 = (1536 + ($65<<3)|0); + $67 = ((($66)) + 4|0); + $68 = HEAP32[$67>>2]|0; + $69 = $68 ^ -1; + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 24|0); + $72 = HEAP32[$71>>2]|0; + $73 = $72 & $69; + HEAP32[$71>>2] = $73; + } + } + $74 = HEAP32[$oldFlags>>2]|0; + $75 = HEAP32[$0>>2]|0; + $76 = ((($75)) + 24|0); + $77 = HEAP32[$76>>2]|0; + $78 = ($74|0)!=($77|0); + if ($78) { + $79 = HEAP32[$0>>2]|0; + _sqlite3ExpirePreparedStatements($79); + } + $80 = HEAP32[$pRes>>2]|0; + $81 = ($80|0)!=(0|0); + if ($81) { + $82 = HEAP32[$0>>2]|0; + $83 = ((($82)) + 24|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$i>>2]|0; + $86 = (1536 + ($85<<3)|0); + $87 = ((($86)) + 4|0); + $88 = HEAP32[$87>>2]|0; + $89 = $84 & $88; + $90 = ($89|0)!=(0); + $91 = $90&1; + $92 = HEAP32[$pRes>>2]|0; + HEAP32[$92>>2] = $91; + } + HEAP32[$rc>>2] = 0; + $95 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($95|0); +} function _sqlite3_last_insert_rowid($db) { $db = $db|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; @@ -18080,7 +18253,7 @@ function _sqlite3_changes($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 80|0); + $2 = ((($1)) + 84|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -18092,7 +18265,7 @@ function _sqlite3_total_changes($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 84|0); + $2 = ((($1)) + 88|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -18133,19 +18306,19 @@ function _sqlite3_busy_handler($db,$xBusy,$pArg) { HEAP32[$2>>2] = $pArg; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 448|0); + $5 = ((($4)) + 380|0); HEAP32[$5>>2] = $3; $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 448|0); + $8 = ((($7)) + 380|0); $9 = ((($8)) + 4|0); HEAP32[$9>>2] = $6; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 448|0); + $11 = ((($10)) + 380|0); $12 = ((($11)) + 8|0); HEAP32[$12>>2] = 0; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 496|0); + $14 = ((($13)) + 428|0); HEAP32[$14>>2] = 0; STACKTOP = sp;return 0; } @@ -18167,7 +18340,7 @@ function _sqlite3_busy_timeout($db,$ms) { (_sqlite3_busy_handler($4,178,$5)|0); $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 496|0); + $8 = ((($7)) + 428|0); HEAP32[$8>>2] = $6; STACKTOP = sp;return 0; } else { @@ -18320,41 +18493,35 @@ function _sqlite3_overload_function($db,$zName,$nArg) { $db = $db|0; $zName = $zName|0; $nArg = $nArg|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0; - var $rc = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $nName = sp + 4|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; $rc = sp; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $zName; HEAP32[$2>>2] = $nArg; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3Strlen30($3)|0); - HEAP32[$nName>>2] = $4; HEAP32[$rc>>2] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = HEAP32[$nName>>2]|0; - $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3FindFunction($5,$6,$7,$8,1,0)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$2>>2]|0; - $14 = (_sqlite3CreateFunc($11,$12,$13,1,0,224,0,0,0)|0); - HEAP32[$rc>>2] = $14; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_sqlite3FindFunction($3,$4,$5,1,0)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3CreateFunc($8,$9,$10,1,0,224,0,0,0)|0); + HEAP32[$rc>>2] = $11; } - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$rc>>2]|0; - $17 = (_sqlite3ApiExit($15,$16)|0); - HEAP32[$rc>>2] = $17; - $18 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($18|0); + $12 = HEAP32[$0>>2]|0; + $13 = HEAP32[$rc>>2]|0; + $14 = (_sqlite3ApiExit($12,$13)|0); + HEAP32[$rc>>2] = $14; + $15 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($15|0); } function _sqlite3_wal_autocheckpoint($db,$nFrame) { $db = $db|0; @@ -18395,16 +18562,16 @@ function _sqlite3_wal_hook($db,$xCallback,$pArg) { HEAP32[$1>>2] = $xCallback; HEAP32[$2>>2] = $pArg; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 220|0); + $4 = ((($3)) + 224|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pRet>>2] = $5; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 216|0); + $8 = ((($7)) + 220|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$2>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 220|0); + $11 = ((($10)) + 224|0); HEAP32[$11>>2] = $9; $12 = HEAP32[$pRet>>2]|0; STACKTOP = sp;return ($12|0); @@ -18478,10 +18645,10 @@ function _sqlite3_wal_checkpoint_v2($db,$zDb,$eMode,$pnLog,$pnCkpt) { $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorWithMsg($27,1,19602,$vararg_buffer); + _sqlite3ErrorWithMsg($27,1,19346,$vararg_buffer); } else { $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 448|0); + $30 = ((($29)) + 380|0); $31 = ((($30)) + 8|0); HEAP32[$31>>2] = 0; $32 = HEAP32[$1>>2]|0; @@ -18535,7 +18702,7 @@ function _sqlite3_errcode($db) { $5 = (_sqlite3SafetyCheckSickOrOk($4)|0); $6 = ($5|0)!=(0); if (!($6)) { - $7 = (_sqlite3MisuseError(135016)|0); + $7 = (_sqlite3MisuseError(135421)|0); HEAP32[$0>>2] = $7; $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); @@ -18545,7 +18712,7 @@ function _sqlite3_errcode($db) { $9 = ($8|0)!=(0|0); if ($9) { $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 65|0); + $11 = ((($10)) + 69|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); @@ -18594,7 +18761,7 @@ function _sqlite3_limit($db,$limitId,$newLimit) { } $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 88|0); + $10 = ((($9)) + 92|0); $11 = (($10) + ($8<<2)|0); $12 = HEAP32[$11>>2]|0; HEAP32[$oldLimit>>2] = $12; @@ -18603,19 +18770,19 @@ function _sqlite3_limit($db,$limitId,$newLimit) { if ($14) { $15 = HEAP32[$3>>2]|0; $16 = HEAP32[$2>>2]|0; - $17 = (1536 + ($16<<2)|0); + $17 = (1560 + ($16<<2)|0); $18 = HEAP32[$17>>2]|0; $19 = ($15|0)>($18|0); if ($19) { $20 = HEAP32[$2>>2]|0; - $21 = (1536 + ($20<<2)|0); + $21 = (1560 + ($20<<2)|0); $22 = HEAP32[$21>>2]|0; HEAP32[$3>>2] = $22; } $23 = HEAP32[$3>>2]|0; $24 = HEAP32[$2>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 88|0); + $26 = ((($25)) + 92|0); $27 = (($26) + ($24<<2)|0); HEAP32[$27>>2] = $23; } @@ -18872,7 +19039,7 @@ function _sqlite3IsIdChar($c) { HEAP8[$0>>0] = $c; $1 = HEAP8[$0>>0]|0; $2 = $1&255; - $3 = (19267 + ($2)|0); + $3 = (19011 + ($2)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = $5 & 70; @@ -18882,25 +19049,19 @@ function _sqlite3IsIdChar($c) { } function _sqlite3MisuseError($lineno) { $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; + $0 = sp; HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_sourceid()|0); - $3 = ((($2)) + 20|0); - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $3; - _sqlite3_log(21,47042,$vararg_buffer); - STACKTOP = sp;return 21; + $2 = (_reportError(21,$1,46699)|0); + STACKTOP = sp;return ($2|0); } function _sqlite3Pcache1Mutex() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(1668)>>2]|0; + $0 = HEAP32[(1692)>>2]|0; return ($0|0); } function _sqlite3MallocMutex() { @@ -19037,7 +19198,7 @@ function _sqlite3DeleteTable($db,$pTable) { $5 = ($4|0)!=(0|0); if ($5) { $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 528|0); + $7 = ((($6)) + 456|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if ($9) { @@ -19076,7 +19237,7 @@ function _sqlite3DeleteTable($db,$pTable) { $25 = ($24|0)!=(0|0); if ($25) { $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 528|0); + $27 = ((($26)) + 456|0); $28 = HEAP32[$27>>2]|0; $29 = ($28|0)==(0|0); if ($29) { @@ -19270,7 +19431,7 @@ function _sqlite3DbFree($db,$p) { $5 = ($4|0)!=(0|0); if ($5) { $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 528|0); + $7 = ((($6)) + 456|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)!=(0|0); $10 = HEAP32[$0>>2]|0; @@ -19285,18 +19446,18 @@ function _sqlite3DbFree($db,$p) { $14 = HEAP32[$1>>2]|0; HEAP32[$pBuf>>2] = $14; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 248|0); + $16 = ((($15)) + 256|0); $17 = ((($16)) + 28|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$pBuf>>2]|0; HEAP32[$19>>2] = $18; $20 = HEAP32[$pBuf>>2]|0; $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 248|0); + $22 = ((($21)) + 256|0); $23 = ((($22)) + 28|0); HEAP32[$23>>2] = $20; $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 248|0); + $25 = ((($24)) + 256|0); $26 = ((($25)) + 8|0); $27 = HEAP32[$26>>2]|0; $28 = (($27) + -1)|0; @@ -19319,7 +19480,7 @@ function _sqlite3MallocInit() { $n = sp + 8|0; $sz = sp + 4|0; $pSlot = sp; - $0 = HEAP32[(44)>>2]|0; + $0 = HEAP32[(48)>>2]|0; $1 = ($0|0)==(0|0); if ($1) { _sqlite3MemSetDefault(); @@ -19392,8 +19553,8 @@ function _sqlite3MallocInit() { HEAP32[(212)>>2] = 0; HEAP32[(216)>>2] = 0; } - $36 = HEAP32[(64)>>2]|0; - $37 = HEAP32[(72)>>2]|0; + $36 = HEAP32[(68)>>2]|0; + $37 = HEAP32[(76)>>2]|0; $38 = (FUNCTION_TABLE_ii[$36 & 255]($37)|0); HEAP32[$rc>>2] = $38; $39 = HEAP32[$rc>>2]|0; @@ -19406,45 +19567,24 @@ function _sqlite3MallocInit() { $41 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($41|0); } -function _sqlite3RegisterGlobalFunctions() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; +function _sqlite3RegisterBuiltinFunctions() { + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $i = sp + 8|0; - $pHash = sp + 4|0; - $aFunc = sp; - HEAP32[$pHash>>2] = 1080; - HEAP32[$aFunc>>2] = 7788; - HEAP32[$i>>2] = 0; - while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0|0)<(57); - if (!($1)) { - break; - } - $2 = HEAP32[$pHash>>2]|0; - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$aFunc>>2]|0; - $5 = (($4) + ($3<<5)|0); - _sqlite3FuncDefInsert($2,$5); - $6 = HEAP32[$i>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$i>>2] = $7; - } - _sqlite3RegisterDateTimeFunctions(); _sqlite3AlterFunctions(); - STACKTOP = sp;return; + _sqlite3RegisterDateTimeFunctions(); + _sqlite3InsertBuiltinFuncs(7784,57); + return; } function _sqlite3PcacheInitialize() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(120)>>2]|0; + $0 = HEAP32[(124)>>2]|0; $1 = ($0|0)==(0|0); if ($1) { _sqlite3PCacheSetDefault(); } - $2 = HEAP32[(120)>>2]|0; - $3 = HEAP32[(116)>>2]|0; + $2 = HEAP32[(124)>>2]|0; + $3 = HEAP32[(120)>>2]|0; $4 = (FUNCTION_TABLE_ii[$2 & 255]($3)|0); return ($4|0); } @@ -19487,7 +19627,7 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { HEAP32[$0>>2] = $pBuf; HEAP32[$1>>2] = $sz; HEAP32[$2>>2] = $n; - $3 = HEAP32[(1636)>>2]|0; + $3 = HEAP32[(1660)>>2]|0; $4 = ($3|0)!=(0); if (!($4)) { STACKTOP = sp;return; @@ -19502,10 +19642,10 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { $8 = $7 & -8; HEAP32[$1>>2] = $8; $9 = HEAP32[$1>>2]|0; - HEAP32[(1648)>>2] = $9; + HEAP32[(1672)>>2] = $9; $10 = HEAP32[$2>>2]|0; + HEAP32[(1700)>>2] = $10; HEAP32[(1676)>>2] = $10; - HEAP32[(1652)>>2] = $10; $11 = HEAP32[$2>>2]|0; $12 = ($11|0)>(90); if ($12) { @@ -19516,11 +19656,11 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { $15 = (($14) + 1)|0; $16 = $15; } - HEAP32[(1656)>>2] = $16; + HEAP32[(1680)>>2] = $16; $17 = HEAP32[$0>>2]|0; - HEAP32[(1660)>>2] = $17; - HEAP32[(1672)>>2] = 0; - HEAP32[(1680)>>2] = 0; + HEAP32[(1684)>>2] = $17; + HEAP32[(1696)>>2] = 0; + HEAP32[(1704)>>2] = 0; while(1) { $18 = HEAP32[$2>>2]|0; $19 = (($18) + -1)|0; @@ -19531,17 +19671,17 @@ function _sqlite3PCacheBufferSetup($pBuf,$sz,$n) { break; } HEAP32[$p>>2] = $21; - $22 = HEAP32[(1672)>>2]|0; + $22 = HEAP32[(1696)>>2]|0; $23 = HEAP32[$p>>2]|0; HEAP32[$23>>2] = $22; $24 = HEAP32[$p>>2]|0; - HEAP32[(1672)>>2] = $24; + HEAP32[(1696)>>2] = $24; $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$0>>2]|0; $27 = (($26) + ($25)|0); HEAP32[$0>>2] = $27; } - HEAP32[(1664)>>2] = $21; + HEAP32[(1688)>>2] = $21; STACKTOP = sp;return; } function _vfsUnlink($pVfs) { @@ -19679,7 +19819,7 @@ function _sqlite3Malloc($0,$1) { $43 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($43|0); } else { - $35 = HEAP32[(44)>>2]|0; + $35 = HEAP32[(48)>>2]|0; $36 = $2; $37 = $36; $38 = HEAP32[$37>>2]|0; @@ -19700,7 +19840,7 @@ function _sqlite3MallocSize($p) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $p; - $1 = HEAP32[(56)>>2]|0; + $1 = HEAP32[(60)>>2]|0; $2 = HEAP32[$0>>2]|0; $3 = (FUNCTION_TABLE_ii[$1 & 255]($2)|0); STACKTOP = sp;return ($3|0); @@ -19793,7 +19933,7 @@ function _sqlite3Realloc($pOld,$0,$1) { $33 = HEAP32[$3>>2]|0; $34 = (_sqlite3MallocSize($33)|0); HEAP32[$nOld>>2] = $34; - $35 = HEAP32[(60)>>2]|0; + $35 = HEAP32[(64)>>2]|0; $36 = $4; $37 = $36; $38 = HEAP32[$37>>2]|0; @@ -19813,7 +19953,7 @@ function _sqlite3Realloc($pOld,$0,$1) { $47 = HEAP32[8>>2]|0; $48 = ($47|0)!=(0); if (!($48)) { - $111 = HEAP32[(52)>>2]|0; + $111 = HEAP32[(56)>>2]|0; $112 = HEAP32[$3>>2]|0; $113 = HEAP32[$nNew>>2]|0; $114 = (FUNCTION_TABLE_iii[$111 & 255]($112,$113)|0); @@ -19853,7 +19993,7 @@ function _sqlite3Realloc($pOld,$0,$1) { $76 = HEAP32[$nDiff>>2]|0; _sqlite3MallocAlarm($76); } - $77 = HEAP32[(52)>>2]|0; + $77 = HEAP32[(56)>>2]|0; $78 = HEAP32[$3>>2]|0; $79 = HEAP32[$nNew>>2]|0; $80 = (FUNCTION_TABLE_iii[$77 & 255]($78,$79)|0); @@ -19880,7 +20020,7 @@ function _sqlite3Realloc($pOld,$0,$1) { $98 = $97; $99 = HEAP32[$98>>2]|0; _sqlite3MallocAlarm($96); - $100 = HEAP32[(52)>>2]|0; + $100 = HEAP32[(56)>>2]|0; $101 = HEAP32[$3>>2]|0; $102 = HEAP32[$nNew>>2]|0; $103 = (FUNCTION_TABLE_iii[$100 & 255]($101,$102)|0); @@ -20440,7 +20580,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { HEAP8[$flag_long>>0] = 0; } } while(0); - HEAP32[$infop>>2] = 46051; + HEAP32[$infop>>2] = 45708; HEAP8[$xtype>>0] = 0; HEAP32[$idx>>2] = 0; while(1) { @@ -20451,7 +20591,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { } $173 = HEAP32[$c>>2]|0; $174 = HEAP32[$idx>>2]|0; - $175 = (46051 + (($174*6)|0)|0); + $175 = (45708 + (($174*6)|0)|0); $176 = HEAP8[$175>>0]|0; $177 = $176 << 24 >> 24; $178 = ($173|0)==($177|0); @@ -20465,7 +20605,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { } if ((label|0) == 56) { label = 0; - $180 = (46051 + (($179*6)|0)|0); + $180 = (45708 + (($179*6)|0)|0); HEAP32[$infop>>2] = $180; $181 = HEAP8[$useIntern>>0]|0; $182 = $181&255; @@ -20600,7 +20740,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $544 = (_sqlite3IsNaN($543)|0); $545 = ($544|0)!=(0); if ($545) { - HEAP32[$bufpt>>2] = 46238; + HEAP32[$bufpt>>2] = 45895; HEAP32[$length>>2] = 3; break L79; } @@ -20702,7 +20842,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $600 = ($599|0)!=(0); $601 = $600&1; $602 = (($buf) + ($601)|0); - ;HEAP8[$602>>0]=HEAP8[46242>>0]|0;HEAP8[$602+1>>0]=HEAP8[46242+1>>0]|0;HEAP8[$602+2>>0]=HEAP8[46242+2>>0]|0;HEAP8[$602+3>>0]=HEAP8[46242+3>>0]|0; + ;HEAP8[$602>>0]=HEAP8[45899>>0]|0;HEAP8[$602+1>>0]=HEAP8[45899+1>>0]|0;HEAP8[$602+2>>0]=HEAP8[45899+2>>0]|0;HEAP8[$602+3>>0]=HEAP8[45899+3>>0]|0; $603 = HEAP8[$prefix>>0]|0; $604 = $603 << 24 >> 24; $605 = ($604|0)!=(0); @@ -20976,7 +21116,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $760 = ((($759)) + 4|0); $761 = HEAP8[$760>>0]|0; $762 = $761&255; - $763 = (46198 + ($762)|0); + $763 = (45855 + ($762)|0); $764 = HEAP8[$763>>0]|0; $765 = HEAP32[$bufpt>>2]|0; $766 = ((($765)) + 1|0); @@ -21239,7 +21379,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $903 = HEAP32[$bufpt>>2]|0; $904 = ($903|0)==(0|0); if ($904) { - HEAP32[$bufpt>>2] = 19266; + HEAP32[$bufpt>>2] = 19010; } else { $905 = HEAP8[$xtype>>0]|0; $906 = $905&255; @@ -21322,7 +21462,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $946 = HEAP8[$xtype>>0]|0; $947 = $946&255; $948 = ($947|0)==(11); - $949 = $948 ? 40498 : 46246; + $949 = $948 ? 40149 : 45903; HEAP32[$escarg>>2] = $949; } $950 = HEAP32[$precision>>2]|0; @@ -21557,7 +21697,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $1079 = HEAP32[$1078>>2]|0; _sqlite3StrAccumAppendAll($1076,$1079); $1080 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($1080,45876,1); + _sqlite3StrAccumAppend($1080,45533,1); } $1081 = HEAP32[$0>>2]|0; $1082 = HEAP32[$pItem>>2]|0; @@ -21897,7 +22037,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $387 = HEAP32[$x>>2]|0; $388 = $387<<1; $389 = (($388) + 1)|0; - $390 = (46189 + ($389)|0); + $390 = (45846 + ($389)|0); $391 = HEAP8[$390>>0]|0; $392 = HEAP32[$bufpt>>2]|0; $393 = ((($392)) + -1|0); @@ -21905,7 +22045,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { HEAP8[$393>>0] = $391; $394 = HEAP32[$x>>2]|0; $395 = $394<<1; - $396 = (46189 + ($395)|0); + $396 = (45846 + ($395)|0); $397 = HEAP8[$396>>0]|0; $398 = HEAP32[$bufpt>>2]|0; $399 = ((($398)) + -1|0); @@ -21916,7 +22056,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $401 = ((($400)) + 4|0); $402 = HEAP8[$401>>0]|0; $403 = $402&255; - $404 = (46198 + ($403)|0); + $404 = (45855 + ($403)|0); HEAP32[$cset>>2] = $404; $405 = HEAP32[$infop>>2]|0; $406 = ((($405)) + 1|0); @@ -22022,7 +22162,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { $479 = ((($478)) + 5|0); $480 = HEAP8[$479>>0]|0; $481 = $480&255; - $482 = (46231 + ($481)|0); + $482 = (45888 + ($481)|0); HEAP32[$pre>>2] = $482; while(1) { $483 = HEAP32[$pre>>2]|0; @@ -22100,7 +22240,7 @@ function _sqlite3VXPrintf($pAccum,$fmt,$ap) { } if ((label|0) == 13) { $62 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($62,46049,1); + _sqlite3StrAccumAppend($62,45706,1); STACKTOP = sp;return; } else if ((label|0) == 92) { @@ -22252,13 +22392,73 @@ function _sqlite3OsRandomness($pVfs,$nByte,$zBufOut) { $9 = (FUNCTION_TABLE_iiii[$5 & 255]($6,$7,$8)|0); STACKTOP = sp;return ($9|0); } +function _sqlite3StrICmp($zLeft,$zRight) { + $zLeft = $zLeft|0; + $zRight = $zRight|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $a = 0, $b = 0, $c = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $a = sp + 8|0; + $b = sp + 4|0; + $c = sp; + HEAP32[$0>>2] = $zLeft; + HEAP32[$1>>2] = $zRight; + $2 = HEAP32[$0>>2]|0; + HEAP32[$a>>2] = $2; + $3 = HEAP32[$1>>2]|0; + HEAP32[$b>>2] = $3; + while(1) { + $4 = HEAP32[$a>>2]|0; + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = (18221 + ($6)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8&255; + $10 = HEAP32[$b>>2]|0; + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = (18221 + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (($9) - ($15))|0; + HEAP32[$c>>2] = $16; + $17 = HEAP32[$c>>2]|0; + $18 = ($17|0)!=(0); + if ($18) { + label = 5; + break; + } + $19 = HEAP32[$a>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20&255; + $22 = ($21|0)==(0); + if ($22) { + label = 5; + break; + } + $23 = HEAP32[$a>>2]|0; + $24 = ((($23)) + 1|0); + HEAP32[$a>>2] = $24; + $25 = HEAP32[$b>>2]|0; + $26 = ((($25)) + 1|0); + HEAP32[$b>>2] = $26; + } + if ((label|0) == 5) { + $27 = HEAP32[$c>>2]|0; + STACKTOP = sp;return ($27|0); + } + return (0)|0; +} function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { $db = $db|0; $err_code = $err_code|0; $zFormat = $zFormat|0; $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $z = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ap = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; @@ -22273,38 +22473,41 @@ function _sqlite3ErrorWithMsg($db,$err_code,$zFormat,$varargs) { $4 = HEAP32[$0>>2]|0; $5 = ((($4)) + 52|0); HEAP32[$5>>2] = $3; - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0|0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - $9 = HEAP32[$1>>2]|0; - _sqlite3Error($8,$9); + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$1>>2]|0; + _sqlite3SystemError($6,$7); + $8 = HEAP32[$2>>2]|0; + $9 = ($8|0)==(0|0); + $10 = HEAP32[$0>>2]|0; + if ($9) { + $11 = HEAP32[$1>>2]|0; + _sqlite3Error($10,$11); STACKTOP = sp;return; } - $10 = ((($8)) + 236|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)!=(0|0); - if (!($12)) { - $13 = HEAP32[$0>>2]|0; - $14 = (_sqlite3ValueNew($13)|0); + $12 = ((($10)) + 240|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 236|0); - HEAP32[$16>>2] = $14; - $17 = ($14|0)!=(0|0); - if (!($17)) { + $16 = (_sqlite3ValueNew($15)|0); + $17 = HEAP32[$0>>2]|0; + $18 = ((($17)) + 240|0); + HEAP32[$18>>2] = $16; + $19 = ($16|0)!=(0|0); + if (!($19)) { STACKTOP = sp;return; } } HEAP32[$ap>>2] = $varargs; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3VMPrintf($18,$19,$ap)|0); - HEAP32[$z>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 236|0); - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$z>>2]|0; - _sqlite3ValueSetStr($23,-1,$24,1,170); + $20 = HEAP32[$0>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = (_sqlite3VMPrintf($20,$21,$ap)|0); + HEAP32[$z>>2] = $22; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 240|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$z>>2]|0; + _sqlite3ValueSetStr($25,-1,$26,1,170); STACKTOP = sp;return; } function _sqlite3MallocZero($0,$1) { @@ -22350,7 +22553,7 @@ function _sqlite3MallocZero($0,$1) { function _sqlite3Error($db,$err_code) { $db = $db|0; $err_code = $err_code|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -22361,17 +22564,20 @@ function _sqlite3Error($db,$err_code) { $3 = HEAP32[$0>>2]|0; $4 = ((($3)) + 52|0); HEAP32[$4>>2] = $2; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 236|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - STACKTOP = sp;return; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)!=(0); + if (!($6)) { + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 240|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } } - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 236|0); - $11 = HEAP32[$10>>2]|0; - _sqlite3ValueSetNull($11); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$1>>2]|0; + _sqlite3ErrorFinish($11,$12); STACKTOP = sp;return; } function _sqlite3BtreeEnter($p) { @@ -22788,7 +22994,7 @@ function _sqlite3BtreeBeginTrans($p,$wrflag) { $222 = HEAP32[$221>>2]|0; $223 = HEAP32[$0>>2]|0; $224 = HEAP32[$223>>2]|0; - $225 = ((($224)) + 500|0); + $225 = ((($224)) + 432|0); $226 = HEAP32[$225>>2]|0; $227 = (_sqlite3PagerOpenSavepoint($222,$226)|0); HEAP32[$rc>>2] = $227; @@ -22949,7 +23155,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { $11 = ($10|0)==(0); $or$cond = $9 & $11; if ($or$cond) { - $12 = (_sqlite3CorruptError(49076)|0); + $12 = (_sqlite3CorruptError(49316)|0); HEAP32[$0>>2] = $12; $206 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($206|0); @@ -23257,7 +23463,7 @@ function _sqlite3PagerGet($pPager,$pgno,$ppPage,$flags) { STACKTOP = sp;return ($206|0); } } - $136 = (_sqlite3CorruptError(49165)|0); + $136 = (_sqlite3CorruptError(49405)|0); HEAP32[$rc>>2] = $136; } } while(0); @@ -24591,26 +24797,25 @@ function _sqlite3LeaveMutexAndCloseZombie($db) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $i = 0, $j = 0, $p = 0, $pColl = 0, $pDb = 0, $pHash = 0, $pMod = 0, $pNext = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $i = 0, $j = 0, $p = 0, $pColl = 0, $pDb = 0, $pMod = 0, $pNext = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $i = sp + 28|0; - $j = sp + 24|0; - $pDb = sp + 20|0; - $pNext = sp + 16|0; - $pHash = sp + 12|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $i = sp + 24|0; + $j = sp + 20|0; + $pDb = sp + 16|0; + $pNext = sp + 12|0; $p = sp + 8|0; $pColl = sp + 4|0; $pMod = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 76|0); + $2 = ((($1)) + 80|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(1691352191); if ($4) { @@ -24686,185 +24891,177 @@ function _sqlite3LeaveMutexAndCloseZombie($db) { _sqlite3VtabUnlockList($48); $49 = HEAP32[$0>>2]|0; _sqlite3CollapseDatabaseArray($49); - HEAP32[$j>>2] = 0; + $50 = HEAP32[$0>>2]|0; + $51 = ((($50)) + 348|0); + $52 = ((($51)) + 8|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$i>>2] = $53; while(1) { - $50 = HEAP32[$j>>2]|0; - $51 = ($50|0)<(23); - if (!($51)) { + $54 = HEAP32[$i>>2]|0; + $55 = ($54|0)!=(0|0); + if (!($55)) { break; } - $52 = HEAP32[$j>>2]|0; - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 340|0); - $55 = (($54) + ($52<<2)|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$p>>2] = $56; + $56 = HEAP32[$i>>2]|0; + $57 = ((($56)) + 8|0); + $58 = HEAP32[$57>>2]|0; + HEAP32[$p>>2] = $58; while(1) { - $57 = HEAP32[$p>>2]|0; - $58 = ($57|0)!=(0|0); - if (!($58)) { + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$p>>2]|0; + _functionDestroy($59,$60); + $61 = HEAP32[$p>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + HEAP32[$pNext>>2] = $63; + $64 = HEAP32[$0>>2]|0; + $65 = HEAP32[$p>>2]|0; + _sqlite3DbFree($64,$65); + $66 = HEAP32[$pNext>>2]|0; + HEAP32[$p>>2] = $66; + $67 = HEAP32[$p>>2]|0; + $68 = ($67|0)!=(0|0); + if (!($68)) { break; } - $59 = HEAP32[$p>>2]|0; - $60 = ((($59)) + 24|0); - $61 = HEAP32[$60>>2]|0; - HEAP32[$pHash>>2] = $61; - while(1) { - $62 = HEAP32[$p>>2]|0; - $63 = ($62|0)!=(0|0); - if (!($63)) { - break; - } - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$p>>2]|0; - _functionDestroy($64,$65); - $66 = HEAP32[$p>>2]|0; - $67 = ((($66)) + 8|0); - $68 = HEAP32[$67>>2]|0; - HEAP32[$pNext>>2] = $68; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$p>>2]|0; - _sqlite3DbFree($69,$70); - $71 = HEAP32[$pNext>>2]|0; - HEAP32[$p>>2] = $71; - } - $72 = HEAP32[$pHash>>2]|0; - HEAP32[$p>>2] = $72; } - $73 = HEAP32[$j>>2]|0; - $74 = (($73) + 1)|0; - HEAP32[$j>>2] = $74; + $69 = HEAP32[$i>>2]|0; + $70 = HEAP32[$69>>2]|0; + HEAP32[$i>>2] = $70; } - $75 = HEAP32[$0>>2]|0; - $76 = ((($75)) + 432|0); - $77 = ((($76)) + 8|0); - $78 = HEAP32[$77>>2]|0; - HEAP32[$i>>2] = $78; + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 348|0); + _sqlite3HashClear($72); + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 364|0); + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + HEAP32[$i>>2] = $76; while(1) { - $79 = HEAP32[$i>>2]|0; - $80 = ($79|0)!=(0|0); - if (!($80)) { + $77 = HEAP32[$i>>2]|0; + $78 = ($77|0)!=(0|0); + if (!($78)) { break; } - $81 = HEAP32[$i>>2]|0; - $82 = ((($81)) + 8|0); - $83 = HEAP32[$82>>2]|0; - HEAP32[$pColl>>2] = $83; + $79 = HEAP32[$i>>2]|0; + $80 = ((($79)) + 8|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$pColl>>2] = $81; HEAP32[$j>>2] = 0; while(1) { - $84 = HEAP32[$j>>2]|0; - $85 = ($84|0)<(3); - if (!($85)) { + $82 = HEAP32[$j>>2]|0; + $83 = ($82|0)<(3); + if (!($83)) { break; } - $86 = HEAP32[$j>>2]|0; - $87 = HEAP32[$pColl>>2]|0; - $88 = (($87) + (($86*20)|0)|0); - $89 = ((($88)) + 16|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)!=(0|0); - if ($91) { - $92 = HEAP32[$j>>2]|0; - $93 = HEAP32[$pColl>>2]|0; - $94 = (($93) + (($92*20)|0)|0); - $95 = ((($94)) + 16|0); - $96 = HEAP32[$95>>2]|0; - $97 = HEAP32[$j>>2]|0; - $98 = HEAP32[$pColl>>2]|0; - $99 = (($98) + (($97*20)|0)|0); - $100 = ((($99)) + 8|0); - $101 = HEAP32[$100>>2]|0; - FUNCTION_TABLE_vi[$96 & 255]($101); + $84 = HEAP32[$j>>2]|0; + $85 = HEAP32[$pColl>>2]|0; + $86 = (($85) + (($84*20)|0)|0); + $87 = ((($86)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)!=(0|0); + if ($89) { + $90 = HEAP32[$j>>2]|0; + $91 = HEAP32[$pColl>>2]|0; + $92 = (($91) + (($90*20)|0)|0); + $93 = ((($92)) + 16|0); + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$j>>2]|0; + $96 = HEAP32[$pColl>>2]|0; + $97 = (($96) + (($95*20)|0)|0); + $98 = ((($97)) + 8|0); + $99 = HEAP32[$98>>2]|0; + FUNCTION_TABLE_vi[$94 & 255]($99); } - $102 = HEAP32[$j>>2]|0; - $103 = (($102) + 1)|0; - HEAP32[$j>>2] = $103; + $100 = HEAP32[$j>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$j>>2] = $101; } - $104 = HEAP32[$0>>2]|0; - $105 = HEAP32[$pColl>>2]|0; - _sqlite3DbFree($104,$105); - $106 = HEAP32[$i>>2]|0; - $107 = HEAP32[$106>>2]|0; - HEAP32[$i>>2] = $107; + $102 = HEAP32[$0>>2]|0; + $103 = HEAP32[$pColl>>2]|0; + _sqlite3DbFree($102,$103); + $104 = HEAP32[$i>>2]|0; + $105 = HEAP32[$104>>2]|0; + HEAP32[$i>>2] = $105; } + $106 = HEAP32[$0>>2]|0; + $107 = ((($106)) + 364|0); + _sqlite3HashClear($107); $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 432|0); - _sqlite3HashClear($109); - $110 = HEAP32[$0>>2]|0; - $111 = ((($110)) + 312|0); - $112 = ((($111)) + 8|0); - $113 = HEAP32[$112>>2]|0; - HEAP32[$i>>2] = $113; + $109 = ((($108)) + 320|0); + $110 = ((($109)) + 8|0); + $111 = HEAP32[$110>>2]|0; + HEAP32[$i>>2] = $111; while(1) { - $114 = HEAP32[$i>>2]|0; - $115 = ($114|0)!=(0|0); - if (!($115)) { + $112 = HEAP32[$i>>2]|0; + $113 = ($112|0)!=(0|0); + if (!($113)) { break; } - $116 = HEAP32[$i>>2]|0; - $117 = ((($116)) + 8|0); - $118 = HEAP32[$117>>2]|0; - HEAP32[$pMod>>2] = $118; - $119 = HEAP32[$pMod>>2]|0; - $120 = ((($119)) + 12|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)!=(0|0); - if ($122) { - $123 = HEAP32[$pMod>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = HEAP32[$pMod>>2]|0; - $127 = ((($126)) + 8|0); - $128 = HEAP32[$127>>2]|0; - FUNCTION_TABLE_vi[$125 & 255]($128); + $114 = HEAP32[$i>>2]|0; + $115 = ((($114)) + 8|0); + $116 = HEAP32[$115>>2]|0; + HEAP32[$pMod>>2] = $116; + $117 = HEAP32[$pMod>>2]|0; + $118 = ((($117)) + 12|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)!=(0|0); + if ($120) { + $121 = HEAP32[$pMod>>2]|0; + $122 = ((($121)) + 12|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$pMod>>2]|0; + $125 = ((($124)) + 8|0); + $126 = HEAP32[$125>>2]|0; + FUNCTION_TABLE_vi[$123 & 255]($126); } + $127 = HEAP32[$0>>2]|0; + $128 = HEAP32[$pMod>>2]|0; + _sqlite3VtabEponymousTableClear($127,$128); $129 = HEAP32[$0>>2]|0; $130 = HEAP32[$pMod>>2]|0; - _sqlite3VtabEponymousTableClear($129,$130); - $131 = HEAP32[$0>>2]|0; - $132 = HEAP32[$pMod>>2]|0; - _sqlite3DbFree($131,$132); - $133 = HEAP32[$i>>2]|0; - $134 = HEAP32[$133>>2]|0; - HEAP32[$i>>2] = $134; + _sqlite3DbFree($129,$130); + $131 = HEAP32[$i>>2]|0; + $132 = HEAP32[$131>>2]|0; + HEAP32[$i>>2] = $132; } + $133 = HEAP32[$0>>2]|0; + $134 = ((($133)) + 320|0); + _sqlite3HashClear($134); $135 = HEAP32[$0>>2]|0; - $136 = ((($135)) + 312|0); - _sqlite3HashClear($136); - $137 = HEAP32[$0>>2]|0; - _sqlite3Error($137,0); - $138 = HEAP32[$0>>2]|0; - $139 = ((($138)) + 236|0); - $140 = HEAP32[$139>>2]|0; - _sqlite3ValueFree($140); + _sqlite3Error($135,0); + $136 = HEAP32[$0>>2]|0; + $137 = ((($136)) + 240|0); + $138 = HEAP32[$137>>2]|0; + _sqlite3ValueFree($138); + $139 = HEAP32[$0>>2]|0; + $140 = ((($139)) + 80|0); + HEAP32[$140>>2] = -1254786768; $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 76|0); - HEAP32[$142>>2] = -1254786768; - $143 = HEAP32[$0>>2]|0; - $144 = HEAP32[$0>>2]|0; + $142 = HEAP32[$0>>2]|0; + $143 = ((($142)) + 16|0); + $144 = HEAP32[$143>>2]|0; $145 = ((($144)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ((($146)) + 16|0); - $148 = ((($147)) + 12|0); - $149 = HEAP32[$148>>2]|0; - _sqlite3DbFree($143,$149); + $146 = ((($145)) + 12|0); + $147 = HEAP32[$146>>2]|0; + _sqlite3DbFree($141,$147); + $148 = HEAP32[$0>>2]|0; + $149 = ((($148)) + 80|0); + HEAP32[$149>>2] = -1623446221; $150 = HEAP32[$0>>2]|0; - $151 = ((($150)) + 76|0); - HEAP32[$151>>2] = -1623446221; - $152 = HEAP32[$0>>2]|0; - $153 = ((($152)) + 248|0); - $154 = ((($153)) + 6|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)!=(0); - if ($156) { - $157 = HEAP32[$0>>2]|0; - $158 = ((($157)) + 248|0); - $159 = ((($158)) + 32|0); - $160 = HEAP32[$159>>2]|0; - _sqlite3_free($160); + $151 = ((($150)) + 256|0); + $152 = ((($151)) + 6|0); + $153 = HEAP8[$152>>0]|0; + $154 = ($153<<24>>24)!=(0); + if ($154) { + $155 = HEAP32[$0>>2]|0; + $156 = ((($155)) + 256|0); + $157 = ((($156)) + 32|0); + $158 = HEAP32[$157>>2]|0; + _sqlite3_free($158); } - $161 = HEAP32[$0>>2]|0; - _sqlite3_free($161); + $159 = HEAP32[$0>>2]|0; + _sqlite3_free($159); STACKTOP = sp;return; } function _vdbeSafety($p) { @@ -24880,7 +25077,7 @@ function _vdbeSafety($p) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0|0); if ($4) { - _sqlite3_log(21,45447,$vararg_buffer); + _sqlite3_log(21,45104,$vararg_buffer); HEAP32[$0>>2] = 1; $5 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($5|0); @@ -24907,10 +25104,10 @@ function _invokeProfileCallback($db,$p) { $3 = HEAP32[$2>>2]|0; (_sqlite3OsCurrentTimeInt64($3,$iNow)|0); $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 184|0); + $5 = ((($4)) + 188|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 188|0); + $8 = ((($7)) + 192|0); $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$1>>2]|0; $11 = ((($10)) + 168|0); @@ -24991,7 +25188,7 @@ function _sqlite3ApiExit($db,$rc) { HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $rc; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 65|0); + $4 = ((($3)) + 69|0); $5 = HEAP8[$4>>0]|0; $6 = $5&255; $7 = ($6|0)!=(0); @@ -25021,7 +25218,7 @@ function _sqlite3VdbeReset($p) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; @@ -25049,19 +25246,19 @@ function _sqlite3VdbeReset($p) { $14 = ((($13)) + 44|0); HEAP32[$14>>2] = 0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 88|0); - $17 = HEAP16[$16>>1]|0; - $18 = ($17&65535) >>> 4; + $16 = ((($15)) + 89|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17&255) >>> 3; $19 = $18 & 1; - $20 = $19&65535; + $20 = $19&255; $21 = ($20|0)!=(0); if ($21) { $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 88|0); - $24 = HEAP16[$23>>1]|0; - $25 = $24 & -9; - $26 = $25 | 8; - HEAP16[$23>>1] = $26; + $23 = ((($22)) + 87|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24 & -2; + $26 = $25 | 1; + HEAP8[$23>>0] = $26; } } else { $27 = ((($8)) + 80|0); @@ -25069,59 +25266,58 @@ function _sqlite3VdbeReset($p) { $29 = ($28|0)!=(0); if ($29) { $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 88|0); - $32 = HEAP16[$31>>1]|0; - $33 = ($32&65535) >>> 3; - $34 = $33 & 1; - $35 = $34&65535; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 80|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 44|0); - $43 = HEAP32[$42>>2]|0; - $44 = ($43|0)!=(0|0); - $45 = $44 ? 19255 : 0; - $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 44|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$vararg_buffer>>2] = $48; - _sqlite3ErrorWithMsg($37,$40,$45,$vararg_buffer); - $49 = HEAP32[$db>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 44|0); - $52 = HEAP32[$51>>2]|0; - _sqlite3DbFree($49,$52); - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 44|0); - HEAP32[$54>>2] = 0; + $31 = ((($30)) + 87|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32 & 1; + $34 = $33&255; + $35 = ($34|0)!=(0); + if ($35) { + $36 = HEAP32[$db>>2]|0; + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 80|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 44|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + $44 = $43 ? 18999 : 0; + $45 = HEAP32[$0>>2]|0; + $46 = ((($45)) + 44|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$vararg_buffer>>2] = $47; + _sqlite3ErrorWithMsg($36,$39,$44,$vararg_buffer); + $48 = HEAP32[$db>>2]|0; + $49 = HEAP32[$0>>2]|0; + $50 = ((($49)) + 44|0); + $51 = HEAP32[$50>>2]|0; + _sqlite3DbFree($48,$51); + $52 = HEAP32[$0>>2]|0; + $53 = ((($52)) + 44|0); + HEAP32[$53>>2] = 0; } } } + $54 = HEAP32[$0>>2]|0; + _Cleanup($54); $55 = HEAP32[$0>>2]|0; - _Cleanup($55); - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 136|0); + $56 = ((($55)) + 136|0); + $57 = $56; $58 = $57; - $59 = $58; - HEAP32[$59>>2] = 0; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = 0; - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 40|0); - HEAP32[$63>>2] = 649915045; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 80|0); - $66 = HEAP32[$65>>2]|0; - $67 = HEAP32[$db>>2]|0; - $68 = ((($67)) + 56|0); - $69 = HEAP32[$68>>2]|0; - $70 = $66 & $69; - STACKTOP = sp;return ($70|0); + HEAP32[$58>>2] = 0; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = 0; + $61 = HEAP32[$0>>2]|0; + $62 = ((($61)) + 40|0); + HEAP32[$62>>2] = 649915045; + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 80|0); + $65 = HEAP32[$64>>2]|0; + $66 = HEAP32[$db>>2]|0; + $67 = ((($66)) + 56|0); + $68 = HEAP32[$67>>2]|0; + $69 = $65 & $68; + STACKTOP = sp;return ($69|0); } function _sqlite3VdbeRewind($p) { $p = $p|0; @@ -25150,7 +25346,7 @@ function _sqlite3VdbeRewind($p) { $12 = ((($11)) + 72|0); HEAP32[$12>>2] = 1; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 87|0); + $14 = ((($13)) + 88|0); HEAP8[$14>>0] = -1; $15 = HEAP32[$0>>2]|0; $16 = ((($15)) + 104|0); @@ -25844,7 +26040,7 @@ function _sqlite3VdbeMemSetStr($pMem,$z,$n,$enc,$xDel) { $13 = HEAP32[$1>>2]|0; $14 = ((($13)) + 32|0); $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 88|0); + $16 = ((($15)) + 92|0); $17 = HEAP32[$16>>2]|0; HEAP32[$iLimit>>2] = $17; } else { @@ -26232,11 +26428,11 @@ function _sqlite3ErrStr($rc) { $0 = sp + 4|0; $zErr = sp; HEAP32[$0>>2] = $rc; - HEAP32[$zErr>>2] = 44821; + HEAP32[$zErr>>2] = 44478; $1 = HEAP32[$0>>2]|0; $cond = ($1|0)==(516); if ($cond) { - HEAP32[$zErr>>2] = 44835; + HEAP32[$zErr>>2] = 44492; } else { $2 = HEAP32[$0>>2]|0; $3 = $2 & 255; @@ -26248,12 +26444,12 @@ function _sqlite3ErrStr($rc) { $or$cond = $5 & $7; if ($or$cond) { $8 = HEAP32[$0>>2]|0; - $9 = (7072 + ($8<<2)|0); + $9 = (7068 + ($8<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$0>>2]|0; - $13 = (7072 + ($12<<2)|0); + $13 = (7068 + ($12<<2)|0); $14 = HEAP32[$13>>2]|0; HEAP32[$zErr>>2] = $14; } @@ -26271,7 +26467,7 @@ function _sqlite3OomFault($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 65|0); + $2 = ((($1)) + 69|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ($4|0)==(0); @@ -26279,7 +26475,7 @@ function _sqlite3OomFault($db) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 66|0); + $7 = ((($6)) + 70|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = ($9|0)==(0); @@ -26287,19 +26483,19 @@ function _sqlite3OomFault($db) { STACKTOP = sp;return; } $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 65|0); + $12 = ((($11)) + 69|0); HEAP8[$12>>0] = 1; $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 160|0); + $14 = ((($13)) + 164|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)>(0); if ($16) { $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 240|0); + $18 = ((($17)) + 248|0); HEAP32[$18>>2] = 1; } $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 248|0); + $20 = ((($19)) + 256|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) + 1)|0; HEAP32[$20>>2] = $22; @@ -26317,7 +26513,7 @@ function _vdbeSafetyNotNull($p) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)==(0|0); if ($3) { - _sqlite3_log(21,44781,$vararg_buffer); + _sqlite3_log(21,44438,$vararg_buffer); HEAP32[$0>>2] = 1; $6 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($6|0); @@ -26335,12 +26531,12 @@ function _sqlite3Step($p) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $or$cond = 0; - var $or$cond3 = 0, $rc = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $or$cond = 0, $or$cond3 = 0, $rc = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -26360,7 +26556,7 @@ function _sqlite3Step($p) { $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 65|0); + $10 = ((($9)) + 69|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); $13 = HEAP32[$1>>2]|0; @@ -26368,24 +26564,23 @@ function _sqlite3Step($p) { $14 = ((($13)) + 80|0); HEAP32[$14>>2] = 7; HEAP32[$0>>2] = 7; - $157 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($157|0); + $155 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($155|0); } $15 = ((($13)) + 76|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)<=(0); if ($17) { $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 88|0); - $20 = HEAP16[$19>>1]|0; - $21 = ($20&65535) >>> 3; - $22 = $21 & 1; - $23 = $22&65535; - $24 = ($23|0)!=(0); - if ($24) { - $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 80|0); - HEAP32[$26>>2] = 17; + $19 = ((($18)) + 87|0); + $20 = HEAP8[$19>>0]|0; + $21 = $20 & 1; + $22 = $21&255; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$1>>2]|0; + $25 = ((($24)) + 80|0); + HEAP32[$25>>2] = 17; HEAP32[$rc>>2] = 1; } else { label = 8; @@ -26394,187 +26589,186 @@ function _sqlite3Step($p) { label = 8; } if ((label|0) == 8) { - $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 76|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)<(0); - if ($30) { - $31 = HEAP32[$db>>2]|0; - $32 = ((($31)) + 148|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$db>>2]|0; - $36 = ((($35)) + 240|0); - HEAP32[$36>>2] = 0; + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 76|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)<(0); + if ($29) { + $30 = HEAP32[$db>>2]|0; + $31 = ((($30)) + 152|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==(0); + if ($33) { + $34 = HEAP32[$db>>2]|0; + $35 = ((($34)) + 248|0); + HEAP32[$35>>2] = 0; } - $37 = HEAP32[$db>>2]|0; - $38 = ((($37)) + 184|0); - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$db>>2]|0; - $42 = ((($41)) + 140|0); - $43 = ((($42)) + 5|0); - $44 = HEAP8[$43>>0]|0; - $45 = ($44<<24>>24)!=(0); - if (!($45)) { - $46 = HEAP32[$1>>2]|0; - $47 = ((($46)) + 168|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)!=(0|0); - if ($49) { - $50 = HEAP32[$db>>2]|0; - $51 = HEAP32[$50>>2]|0; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 128|0); - (_sqlite3OsCurrentTimeInt64($51,$53)|0); + $36 = HEAP32[$db>>2]|0; + $37 = ((($36)) + 188|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + if ($39) { + $40 = HEAP32[$db>>2]|0; + $41 = ((($40)) + 144|0); + $42 = ((($41)) + 5|0); + $43 = HEAP8[$42>>0]|0; + $44 = ($43<<24>>24)!=(0); + if (!($44)) { + $45 = HEAP32[$1>>2]|0; + $46 = ((($45)) + 168|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)!=(0|0); + if ($48) { + $49 = HEAP32[$db>>2]|0; + $50 = HEAP32[$49>>2]|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 128|0); + (_sqlite3OsCurrentTimeInt64($50,$52)|0); } } } - $54 = HEAP32[$db>>2]|0; - $55 = ((($54)) + 148|0); - $56 = HEAP32[$55>>2]|0; - $57 = (($56) + 1)|0; - HEAP32[$55>>2] = $57; - $58 = HEAP32[$1>>2]|0; - $59 = ((($58)) + 88|0); - $60 = HEAP16[$59>>1]|0; - $61 = ($60&65535) >>> 6; - $62 = $61 & 1; - $63 = $62&65535; - $64 = ($63|0)==(0); - if ($64) { - $65 = HEAP32[$db>>2]|0; - $66 = ((($65)) + 156|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; + $53 = HEAP32[$db>>2]|0; + $54 = ((($53)) + 152|0); + $55 = HEAP32[$54>>2]|0; + $56 = (($55) + 1)|0; + HEAP32[$54>>2] = $56; + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 89|0); + $59 = HEAP8[$58>>0]|0; + $60 = ($59&255) >>> 5; + $61 = $60 & 1; + $62 = $61&255; + $63 = ($62|0)==(0); + if ($63) { + $64 = HEAP32[$db>>2]|0; + $65 = ((($64)) + 160|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$65>>2] = $67; } - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 88|0); - $71 = HEAP16[$70>>1]|0; - $72 = ($71&65535) >>> 7; - $73 = $72 & 1; - $74 = $73&65535; - $75 = ($74|0)!=(0); - if ($75) { - $76 = HEAP32[$db>>2]|0; - $77 = ((($76)) + 152|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) + 1)|0; - HEAP32[$77>>2] = $79; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 89|0); + $70 = HEAP8[$69>>0]|0; + $71 = ($70&255) >>> 6; + $72 = $71 & 1; + $73 = $72&255; + $74 = ($73|0)!=(0); + if ($74) { + $75 = HEAP32[$db>>2]|0; + $76 = ((($75)) + 156|0); + $77 = HEAP32[$76>>2]|0; + $78 = (($77) + 1)|0; + HEAP32[$76>>2] = $78; } - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 76|0); - HEAP32[$81>>2] = 0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 76|0); + HEAP32[$80>>2] = 0; } - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 88|0); - $84 = HEAP16[$83>>1]|0; - $85 = $84 & 3; - $86 = $85&65535; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$1>>2]|0; - $89 = (_sqlite3VdbeList($88)|0); - HEAP32[$rc>>2] = $89; + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 89|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83 & 3; + $85 = $84&255; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$1>>2]|0; + $88 = (_sqlite3VdbeList($87)|0); + HEAP32[$rc>>2] = $88; } else { - $90 = HEAP32[$db>>2]|0; - $91 = ((($90)) + 160|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($92) + 1)|0; - HEAP32[$91>>2] = $93; - $94 = HEAP32[$1>>2]|0; - $95 = (_sqlite3VdbeExec($94)|0); - HEAP32[$rc>>2] = $95; - $96 = HEAP32[$db>>2]|0; - $97 = ((($96)) + 160|0); - $98 = HEAP32[$97>>2]|0; - $99 = (($98) + -1)|0; - HEAP32[$97>>2] = $99; + $89 = HEAP32[$db>>2]|0; + $90 = ((($89)) + 164|0); + $91 = HEAP32[$90>>2]|0; + $92 = (($91) + 1)|0; + HEAP32[$90>>2] = $92; + $93 = HEAP32[$1>>2]|0; + $94 = (_sqlite3VdbeExec($93)|0); + HEAP32[$rc>>2] = $94; + $95 = HEAP32[$db>>2]|0; + $96 = ((($95)) + 164|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($97) + -1)|0; + HEAP32[$96>>2] = $98; } - $100 = HEAP32[$rc>>2]|0; - $101 = ($100|0)!=(100); - if ($101) { - $102 = HEAP32[$1>>2]|0; - $103 = ((($102)) + 128|0); + $99 = HEAP32[$rc>>2]|0; + $100 = ($99|0)!=(100); + if ($100) { + $101 = HEAP32[$1>>2]|0; + $102 = ((($101)) + 128|0); + $103 = $102; $104 = $103; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = ($109|0)>(0); - $111 = ($106>>>0)>(0); - $112 = ($109|0)==(0); - $113 = $112 & $111; - $114 = $110 | $113; - if ($114) { - $115 = HEAP32[$db>>2]|0; - $116 = HEAP32[$1>>2]|0; - _invokeProfileCallback($115,$116); + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)>(0); + $110 = ($105>>>0)>(0); + $111 = ($108|0)==(0); + $112 = $111 & $110; + $113 = $109 | $112; + if ($113) { + $114 = HEAP32[$db>>2]|0; + $115 = HEAP32[$1>>2]|0; + _invokeProfileCallback($114,$115); } } - $117 = HEAP32[$rc>>2]|0; - $118 = ($117|0)==(101); - if ($118) { - $119 = HEAP32[$db>>2]|0; - $120 = (_doWalCallbacks($119)|0); - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 80|0); - HEAP32[$122>>2] = $120; - $123 = HEAP32[$1>>2]|0; - $124 = ((($123)) + 80|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)!=(0); - if ($126) { + $116 = HEAP32[$rc>>2]|0; + $117 = ($116|0)==(101); + if ($117) { + $118 = HEAP32[$db>>2]|0; + $119 = (_doWalCallbacks($118)|0); + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 80|0); + HEAP32[$121>>2] = $119; + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 80|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { HEAP32[$rc>>2] = 1; } } - $127 = HEAP32[$rc>>2]|0; - $128 = HEAP32[$db>>2]|0; - $129 = ((($128)) + 52|0); - HEAP32[$129>>2] = $127; - $130 = HEAP32[$1>>2]|0; - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 80|0); - $134 = HEAP32[$133>>2]|0; - $135 = (_sqlite3ApiExit($131,$134)|0); - $136 = (7)==($135|0); - if ($136) { - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 80|0); - HEAP32[$138>>2] = 7; - } - } - $139 = HEAP32[$1>>2]|0; - $140 = ((($139)) + 88|0); - $141 = HEAP16[$140>>1]|0; - $142 = ($141&65535) >>> 8; - $143 = $142 & 1; - $144 = $143&65535; - $145 = ($144|0)!=(0); + $126 = HEAP32[$rc>>2]|0; + $127 = HEAP32[$db>>2]|0; + $128 = ((($127)) + 52|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$1>>2]|0; + $130 = HEAP32[$129>>2]|0; + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 80|0); + $133 = HEAP32[$132>>2]|0; + $134 = (_sqlite3ApiExit($130,$133)|0); + $135 = (7)==($134|0); + if ($135) { + $136 = HEAP32[$1>>2]|0; + $137 = ((($136)) + 80|0); + HEAP32[$137>>2] = 7; + } + } + $138 = HEAP32[$1>>2]|0; + $139 = ((($138)) + 89|0); + $140 = HEAP8[$139>>0]|0; + $141 = ($140&255) >>> 7; + $142 = $141&255; + $143 = ($142|0)!=(0); + $144 = HEAP32[$rc>>2]|0; + $145 = ($144|0)!=(100); + $or$cond = $143 & $145; $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)!=(100); - $or$cond = $145 & $147; - $148 = HEAP32[$rc>>2]|0; - $149 = ($148|0)!=(101); - $or$cond3 = $or$cond & $149; + $147 = ($146|0)!=(101); + $or$cond3 = $or$cond & $147; if ($or$cond3) { - $150 = HEAP32[$1>>2]|0; - $151 = (_sqlite3VdbeTransferError($150)|0); - HEAP32[$rc>>2] = $151; + $148 = HEAP32[$1>>2]|0; + $149 = (_sqlite3VdbeTransferError($148)|0); + HEAP32[$rc>>2] = $149; } - $152 = HEAP32[$rc>>2]|0; - $153 = HEAP32[$db>>2]|0; - $154 = ((($153)) + 56|0); - $155 = HEAP32[$154>>2]|0; - $156 = $152 & $155; - HEAP32[$0>>2] = $156; - $157 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($157|0); + $150 = HEAP32[$rc>>2]|0; + $151 = HEAP32[$db>>2]|0; + $152 = ((($151)) + 56|0); + $153 = HEAP32[$152>>2]|0; + $154 = $150 & $153; + HEAP32[$0>>2] = $154; + $155 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($155|0); } function _sqlite3Reprepare($p) { $p = $p|0; @@ -26910,7 +27104,7 @@ function _columnName($pStmt,$N,$xFunc,$useType) { $25 = (FUNCTION_TABLE_ii[$19 & 255]($24)|0); HEAP32[$ret>>2] = $25; $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 65|0); + $27 = ((($26)) + 69|0); $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)!=(0); if (!($29)) { @@ -27004,7 +27198,7 @@ function _bindText($pStmt,$i,$zData,$nData,$xDel,$encoding) { $31 = HEAP32[$pVar>>2]|0; $32 = HEAP32[$p>>2]|0; $33 = HEAP32[$32>>2]|0; - $34 = ((($33)) + 62|0); + $34 = ((($33)) + 66|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = (_sqlite3VdbeChangeEncoding($31,$36)|0); @@ -27029,7 +27223,7 @@ function _vdbeUnbind($p,$i) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $pVar = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; @@ -27043,10 +27237,10 @@ function _vdbeUnbind($p,$i) { $4 = (_vdbeSafetyNotNull($3)|0); $5 = ($4|0)!=(0); if ($5) { - $6 = (_sqlite3MisuseError(73485)|0); + $6 = (_sqlite3MisuseError(73738)|0); HEAP32[$0>>2] = $6; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); } $7 = HEAP32[$1>>2]|0; $8 = ((($7)) + 40|0); @@ -27086,58 +27280,57 @@ function _vdbeUnbind($p,$i) { $42 = HEAP32[$41>>2]|0; _sqlite3Error($42,0); $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 88|0); - $45 = HEAP16[$44>>1]|0; - $46 = ($45&65535) >>> 8; - $47 = $46 & 1; - $48 = $47&65535; - $49 = ($48|0)!=(0); + $44 = ((($43)) + 89|0); + $45 = HEAP8[$44>>0]|0; + $46 = ($45&255) >>> 7; + $47 = $46&255; + $48 = ($47|0)!=(0); do { - if ($49) { - $50 = HEAP32[$2>>2]|0; - $51 = ($50|0)<(32); - if ($51) { - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 188|0); - $54 = HEAP32[$53>>2]|0; - $55 = HEAP32[$2>>2]|0; - $56 = 1 << $55; - $57 = $54 & $56; - $58 = ($57|0)!=(0); - if (!($58)) { + if ($48) { + $49 = HEAP32[$2>>2]|0; + $50 = ($49|0)<(32); + if ($50) { + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 188|0); + $53 = HEAP32[$52>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = 1 << $54; + $56 = $53 & $55; + $57 = ($56|0)!=(0); + if (!($57)) { label = 12; } } else { label = 12; } if ((label|0) == 12) { - $59 = HEAP32[$1>>2]|0; - $60 = ((($59)) + 188|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(-1); - if (!($62)) { + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 188|0); + $60 = HEAP32[$59>>2]|0; + $61 = ($60|0)==(-1); + if (!($61)) { break; } } - $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 88|0); - $65 = HEAP16[$64>>1]|0; - $66 = $65 & -9; - $67 = $66 | 8; - HEAP16[$64>>1] = $67; + $62 = HEAP32[$1>>2]|0; + $63 = ((($62)) + 87|0); + $64 = HEAP8[$63>>0]|0; + $65 = $64 & -2; + $66 = $65 | 1; + HEAP8[$63>>0] = $66; } } while(0); HEAP32[$0>>2] = 0; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); } } $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$29>>2]|0; _sqlite3Error($30,25); HEAP32[$0>>2] = 25; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); } } $15 = HEAP32[$1>>2]|0; @@ -27147,11 +27340,11 @@ function _vdbeUnbind($p,$i) { $18 = ((($17)) + 168|0); $19 = HEAP32[$18>>2]|0; HEAP32[$vararg_buffer>>2] = $19; - _sqlite3_log(21,40606,$vararg_buffer); - $20 = (_sqlite3MisuseError(73493)|0); + _sqlite3_log(21,40257,$vararg_buffer); + $20 = (_sqlite3MisuseError(73746)|0); HEAP32[$0>>2] = $20; - $68 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($68|0); + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); } function _sqlite3VdbeParameterIndex($p,$zName,$nName) { $p = $p|0; @@ -27455,7 +27648,7 @@ function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { if ($14) { $15 = HEAP32[$2>>2]|0; $16 = ($15|0)!=(0); - $17 = $16 ? 40579 : 40592; + $17 = $16 ? 40230 : 40243; HEAP32[$zMsg>>2] = $17; $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$18>>2]|0; @@ -27465,7 +27658,7 @@ function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { if ($22) { $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 312|0); + $25 = ((($24)) + 320|0); $26 = HEAP32[$3>>2]|0; $27 = (_sqlite3HashFind($25,$26)|0); HEAP32[$pMod>>2] = $27; @@ -27498,13 +27691,13 @@ function _sqlite3LocateTable($pParse,$isView,$zName,$zDbase) { HEAP32[$vararg_ptr1>>2] = $41; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $42; - _sqlite3ErrorMsg($39,30884,$vararg_buffer); + _sqlite3ErrorMsg($39,30609,$vararg_buffer); } else { $43 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer3>>2] = $40; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $43; - _sqlite3ErrorMsg($39,30894,$vararg_buffer3); + _sqlite3ErrorMsg($39,30619,$vararg_buffer3); } $44 = HEAP32[$1>>2]|0; $45 = ((($44)) + 17|0); @@ -27539,7 +27732,7 @@ function _sqlite3ErrorMsg($pParse,$zFormat,$varargs) { $6 = (_sqlite3VMPrintf($4,$5,$ap)|0); HEAP32[$zMsg>>2] = $6; $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 69|0); + $8 = ((($7)) + 73|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if ($10) { @@ -27756,7 +27949,7 @@ function _sqlite3VdbeChangeP5($p,$p5) { HEAP8[$1>>0] = $p5; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 65|0); + $4 = ((($3)) + 69|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if ($6) { @@ -27859,7 +28052,7 @@ function _sqlite3VdbeAddOpList($p,$nOp,$aOp,$iLineno) { $45 = HEAP32[$3>>2]|0; $46 = HEAP8[$45>>0]|0; $47 = $46&255; - $48 = (35754 + ($47)|0); + $48 = (35407 + ($47)|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = $50 & 1; @@ -27987,7 +28180,7 @@ function _sqlite3VdbeChangeP4($p,$addr,$zP4,$n) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 65|0); + $7 = ((($6)) + 69|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); if ($9) { @@ -28079,12 +28272,12 @@ function _sqlite3VdbeMakeReady($p,$pParse) { var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $n = 0, $nArg = 0, $nCursor = 0, $nMem = 0, $nOnce = 0, $nVar = 0, $or$cond = 0, $x = 0; - var label = 0, sp = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $n = 0, $nArg = 0, $nCursor = 0, $nMem = 0, $nOnce = 0, $nVar = 0; + var $or$cond = 0, $or$cond3 = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -28131,295 +28324,300 @@ function _sqlite3VdbeMakeReady($p,$pParse) { $23 = HEAP32[$nMem>>2]|0; $24 = (($23) + ($22))|0; HEAP32[$nMem>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = ((($25)) + 32|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27*20)|0; - $29 = (($28) + 7)|0; - $30 = $29 & -8; - HEAP32[$n>>2] = $30; - $31 = HEAP32[$n>>2]|0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31)|0); - HEAP32[$x>>2] = $35; - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 92|0); - $38 = HEAP32[$37>>2]|0; - $39 = HEAP32[$n>>2]|0; - $40 = (($38) - ($39))|0; - $41 = $40 & -8; - $42 = ((($x)) + 4|0); - HEAP32[$42>>2] = $41; - $43 = ((($x)) + 4|0); + $25 = HEAP32[$nCursor>>2]|0; + $26 = ($25|0)==(0); + $27 = HEAP32[$nMem>>2]|0; + $28 = ($27|0)>(0); + $or$cond = $26 & $28; + if ($or$cond) { + $29 = HEAP32[$nMem>>2]|0; + $30 = (($29) + 1)|0; + HEAP32[$nMem>>2] = $30; + } + $31 = HEAP32[$0>>2]|0; + $32 = ((($31)) + 32|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33*20)|0; + $35 = (($34) + 7)|0; + $36 = $35 & -8; + HEAP32[$n>>2] = $36; + $37 = HEAP32[$n>>2]|0; + $38 = HEAP32[$0>>2]|0; + $39 = ((($38)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (($40) + ($37)|0); + HEAP32[$x>>2] = $41; + $42 = HEAP32[$1>>2]|0; + $43 = ((($42)) + 92|0); $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)>(0); - if ($45) { - $46 = HEAP32[$x>>2]|0; - $47 = ((($x)) + 4|0); - $48 = HEAP32[$47>>2]|0; - _memset(($46|0),0,($48|0))|0; + $45 = HEAP32[$n>>2]|0; + $46 = (($44) - ($45))|0; + $47 = $46 & -8; + $48 = ((($x)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = ((($x)) + 4|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)>(0); + if ($51) { + $52 = HEAP32[$x>>2]|0; + $53 = ((($x)) + 4|0); + $54 = HEAP32[$53>>2]|0; + _memset(($52|0),0,($54|0))|0; } - $49 = HEAP32[$0>>2]|0; - _resolveP2Values($49,$nArg); - $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 20|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = ($53|0)!=(0); - if ($54) { - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 21|0); - $57 = HEAP8[$56>>0]|0; - $58 = $57&255; - $59 = ($58|0)!=(0); - $61 = $59; + $55 = HEAP32[$0>>2]|0; + _resolveP2Values($55,$nArg); + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 20|0); + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = ($59|0)!=(0); + if ($60) { + $61 = HEAP32[$1>>2]|0; + $62 = ((($61)) + 21|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = ($64|0)!=(0); + $67 = $65; } else { - $61 = 0; + $67 = 0; } - $60 = $61&1; - $62 = $60&255; - $63 = $62&255; - $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 88|0); - $66 = $63&65535; - $67 = HEAP16[$65>>1]|0; - $68 = $66 & 1; - $69 = ($68 << 5)&65535; - $70 = $67 & -33; - $71 = $70 | $69; - HEAP16[$65>>1] = $71; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 453|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($75|0)!=(0); - $77 = HEAP32[$nMem>>2]|0; - $78 = ($77|0)<(10); - $or$cond = $76 & $78; - if ($or$cond) { + $66 = $67&1; + $68 = $66&255; + $69 = $68&255; + $70 = HEAP32[$0>>2]|0; + $71 = ((($70)) + 89|0); + $72 = $69&255; + $73 = HEAP8[$71>>0]|0; + $74 = $72 & 1; + $75 = ($74 << 4)&255; + $76 = $73 & -17; + $77 = $76 | $75; + HEAP8[$71>>0] = $77; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 453|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ($81|0)!=(0); + $83 = HEAP32[$nMem>>2]|0; + $84 = ($83|0)<(10); + $or$cond3 = $82 & $84; + if ($or$cond3) { HEAP32[$nMem>>2] = 10; } - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 88|0); - $81 = HEAP16[$80>>1]|0; - $82 = $81 & -9; - HEAP16[$80>>1] = $82; + $85 = HEAP32[$0>>2]|0; + $86 = ((($85)) + 87|0); + $87 = HEAP8[$86>>0]|0; + $88 = $87 & -2; + HEAP8[$86>>0] = $88; while(1) { - $83 = ((($x)) + 8|0); - HEAP32[$83>>2] = 0; - $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 8|0); - $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$nMem>>2]|0; - $88 = ($87*40)|0; - $89 = (_allocSpace($x,$86,$88)|0); + $89 = ((($x)) + 8|0); + HEAP32[$89>>2] = 0; $90 = HEAP32[$0>>2]|0; $91 = ((($90)) + 8|0); - HEAP32[$91>>2] = $89; - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 60|0); - $94 = HEAP32[$93>>2]|0; - $95 = HEAP32[$nVar>>2]|0; - $96 = ($95*40)|0; - $97 = (_allocSpace($x,$94,$96)|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$nMem>>2]|0; + $94 = ($93*40)|0; + $95 = (_allocSpace($x,$92,$94)|0); + $96 = HEAP32[$0>>2]|0; + $97 = ((($96)) + 8|0); + HEAP32[$97>>2] = $95; $98 = HEAP32[$0>>2]|0; $99 = ((($98)) + 60|0); - HEAP32[$99>>2] = $97; - $100 = HEAP32[$0>>2]|0; - $101 = ((($100)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$nArg>>2]|0; - $104 = $103<<2; - $105 = (_allocSpace($x,$102,$104)|0); + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$nVar>>2]|0; + $102 = ($101*40)|0; + $103 = (_allocSpace($x,$100,$102)|0); + $104 = HEAP32[$0>>2]|0; + $105 = ((($104)) + 60|0); + HEAP32[$105>>2] = $103; $106 = HEAP32[$0>>2]|0; $107 = ((($106)) + 12|0); - HEAP32[$107>>2] = $105; - $108 = HEAP32[$0>>2]|0; - $109 = ((($108)) + 56|0); - $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$nCursor>>2]|0; - $112 = $111<<2; - $113 = (_allocSpace($x,$110,$112)|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$nArg>>2]|0; + $110 = $109<<2; + $111 = (_allocSpace($x,$108,$110)|0); + $112 = HEAP32[$0>>2]|0; + $113 = ((($112)) + 12|0); + HEAP32[$113>>2] = $111; $114 = HEAP32[$0>>2]|0; $115 = ((($114)) + 56|0); - HEAP32[$115>>2] = $113; - $116 = HEAP32[$0>>2]|0; - $117 = ((($116)) + 200|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$nOnce>>2]|0; - $120 = (_allocSpace($x,$118,$119)|0); - $121 = HEAP32[$0>>2]|0; - $122 = ((($121)) + 200|0); - HEAP32[$122>>2] = $120; - $123 = ((($x)) + 8|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$nCursor>>2]|0; + $118 = $117<<2; + $119 = (_allocSpace($x,$116,$118)|0); + $120 = HEAP32[$0>>2]|0; + $121 = ((($120)) + 56|0); + HEAP32[$121>>2] = $119; + $122 = HEAP32[$0>>2]|0; + $123 = ((($122)) + 200|0); $124 = HEAP32[$123>>2]|0; - $125 = ($124|0)==(0); - if ($125) { + $125 = HEAP32[$nOnce>>2]|0; + $126 = (_allocSpace($x,$124,$125)|0); + $127 = HEAP32[$0>>2]|0; + $128 = ((($127)) + 200|0); + HEAP32[$128>>2] = $126; + $129 = ((($x)) + 8|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($130|0)==(0); + if ($131) { break; } - $126 = HEAP32[$db>>2]|0; - $127 = ((($x)) + 8|0); - $128 = HEAP32[$127>>2]|0; - $129 = ($128|0)<(0); - $130 = $129 << 31 >> 31; - $131 = (_sqlite3DbMallocZero($126,$128,$130)|0); - $132 = HEAP32[$0>>2]|0; - $133 = ((($132)) + 172|0); - HEAP32[$133>>2] = $131; - HEAP32[$x>>2] = $131; - $134 = ((($x)) + 8|0); - $135 = HEAP32[$134>>2]|0; - $136 = ((($x)) + 4|0); - HEAP32[$136>>2] = $135; - $137 = HEAP32[$db>>2]|0; - $138 = ((($137)) + 65|0); - $139 = HEAP8[$138>>0]|0; - $140 = ($139<<24>>24)!=(0); - $141 = $140 ^ 1; - if (!($141)) { + $132 = HEAP32[$db>>2]|0; + $133 = ((($x)) + 8|0); + $134 = HEAP32[$133>>2]|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = (_sqlite3DbMallocZero($132,$134,$136)|0); + $138 = HEAP32[$0>>2]|0; + $139 = ((($138)) + 172|0); + HEAP32[$139>>2] = $137; + HEAP32[$x>>2] = $137; + $140 = ((($x)) + 8|0); + $141 = HEAP32[$140>>2]|0; + $142 = ((($x)) + 4|0); + HEAP32[$142>>2] = $141; + $143 = HEAP32[$db>>2]|0; + $144 = ((($143)) + 69|0); + $145 = HEAP8[$144>>0]|0; + $146 = ($145<<24>>24)!=(0); + $147 = $146 ^ 1; + if (!($147)) { break; } } - $142 = HEAP32[$nCursor>>2]|0; - $143 = HEAP32[$0>>2]|0; - $144 = ((($143)) + 36|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$nOnce>>2]|0; - $146 = HEAP32[$0>>2]|0; - $147 = ((($146)) + 196|0); - HEAP32[$147>>2] = $145; - $148 = HEAP32[$0>>2]|0; - $149 = ((($148)) + 60|0); - $150 = HEAP32[$149>>2]|0; - $151 = ($150|0)!=(0|0); - L14: do { - if ($151) { - $152 = HEAP32[$nVar>>2]|0; - $153 = $152&65535; - $154 = HEAP32[$0>>2]|0; - $155 = ((($154)) + 68|0); - HEAP16[$155>>1] = $153; + $148 = HEAP32[$nCursor>>2]|0; + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 36|0); + HEAP32[$150>>2] = $148; + $151 = HEAP32[$nOnce>>2]|0; + $152 = HEAP32[$0>>2]|0; + $153 = ((($152)) + 196|0); + HEAP32[$153>>2] = $151; + $154 = HEAP32[$0>>2]|0; + $155 = ((($154)) + 60|0); + $156 = HEAP32[$155>>2]|0; + $157 = ($156|0)!=(0|0); + L17: do { + if ($157) { + $158 = HEAP32[$nVar>>2]|0; + $159 = $158&65535; + $160 = HEAP32[$0>>2]|0; + $161 = ((($160)) + 68|0); + HEAP16[$161>>1] = $159; HEAP32[$n>>2] = 0; while(1) { - $156 = HEAP32[$n>>2]|0; - $157 = HEAP32[$nVar>>2]|0; - $158 = ($156|0)<($157|0); - if (!($158)) { - break L14; - } - $159 = HEAP32[$n>>2]|0; - $160 = HEAP32[$0>>2]|0; - $161 = ((($160)) + 60|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($162) + (($159*40)|0)|0); - $164 = ((($163)) + 8|0); - HEAP16[$164>>1] = 1; - $165 = HEAP32[$db>>2]|0; - $166 = HEAP32[$n>>2]|0; - $167 = HEAP32[$0>>2]|0; - $168 = ((($167)) + 60|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($169) + (($166*40)|0)|0); - $171 = ((($170)) + 32|0); - HEAP32[$171>>2] = $165; + $162 = HEAP32[$n>>2]|0; + $163 = HEAP32[$nVar>>2]|0; + $164 = ($162|0)<($163|0); + if (!($164)) { + break L17; + } + $165 = HEAP32[$n>>2]|0; + $166 = HEAP32[$0>>2]|0; + $167 = ((($166)) + 60|0); + $168 = HEAP32[$167>>2]|0; + $169 = (($168) + (($165*40)|0)|0); + $170 = ((($169)) + 8|0); + HEAP16[$170>>1] = 1; + $171 = HEAP32[$db>>2]|0; $172 = HEAP32[$n>>2]|0; - $173 = (($172) + 1)|0; - HEAP32[$n>>2] = $173; + $173 = HEAP32[$0>>2]|0; + $174 = ((($173)) + 60|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) + (($172*40)|0)|0); + $177 = ((($176)) + 32|0); + HEAP32[$177>>2] = $171; + $178 = HEAP32[$n>>2]|0; + $179 = (($178) + 1)|0; + HEAP32[$n>>2] = $179; } } } while(0); - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 448|0); - $176 = HEAP32[$175>>2]|0; - $177 = $176&65535; - $178 = HEAP32[$0>>2]|0; - $179 = ((($178)) + 70|0); - HEAP16[$179>>1] = $177; $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 476|0); + $181 = ((($180)) + 448|0); $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$0>>2]|0; - $184 = ((($183)) + 64|0); - HEAP32[$184>>2] = $182; - $185 = HEAP32[$1>>2]|0; - $186 = ((($185)) + 448|0); - HEAP32[$186>>2] = 0; - $187 = HEAP32[$1>>2]|0; - $188 = ((($187)) + 476|0); - HEAP32[$188>>2] = 0; + $183 = $182&65535; + $184 = HEAP32[$0>>2]|0; + $185 = ((($184)) + 70|0); + HEAP16[$185>>1] = $183; + $186 = HEAP32[$1>>2]|0; + $187 = ((($186)) + 476|0); + $188 = HEAP32[$187>>2]|0; $189 = HEAP32[$0>>2]|0; - $190 = ((($189)) + 8|0); - $191 = HEAP32[$190>>2]|0; - $192 = ($191|0)!=(0|0); - if (!($192)) { - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 453|0); - $220 = HEAP8[$219>>0]|0; - $221 = $220&255; - $222 = HEAP32[$0>>2]|0; - $223 = ((($222)) + 88|0); - $224 = $221&65535; - $225 = HEAP16[$223>>1]|0; - $226 = $224 & 3; - $227 = $225 & -4; - $228 = $227 | $226; - HEAP16[$223>>1] = $228; - $229 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($229); + $190 = ((($189)) + 64|0); + HEAP32[$190>>2] = $188; + $191 = HEAP32[$1>>2]|0; + $192 = ((($191)) + 448|0); + HEAP32[$192>>2] = 0; + $193 = HEAP32[$1>>2]|0; + $194 = ((($193)) + 476|0); + HEAP32[$194>>2] = 0; + $195 = HEAP32[$0>>2]|0; + $196 = ((($195)) + 8|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)!=(0|0); + if (!($198)) { + $220 = HEAP32[$1>>2]|0; + $221 = ((($220)) + 453|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222&255; + $224 = HEAP32[$0>>2]|0; + $225 = ((($224)) + 89|0); + $226 = $223&255; + $227 = HEAP8[$225>>0]|0; + $228 = $226 & 3; + $229 = $227 & -4; + $230 = $229 | $228; + HEAP8[$225>>0] = $230; + $231 = HEAP32[$0>>2]|0; + _sqlite3VdbeRewind($231); STACKTOP = sp;return; } - $193 = HEAP32[$0>>2]|0; - $194 = ((($193)) + 8|0); - $195 = HEAP32[$194>>2]|0; - $196 = ((($195)) + -40|0); - HEAP32[$194>>2] = $196; - $197 = HEAP32[$nMem>>2]|0; - $198 = HEAP32[$0>>2]|0; - $199 = ((($198)) + 28|0); - HEAP32[$199>>2] = $197; - HEAP32[$n>>2] = 1; + $199 = HEAP32[$nMem>>2]|0; + $200 = HEAP32[$0>>2]|0; + $201 = ((($200)) + 28|0); + HEAP32[$201>>2] = $199; + HEAP32[$n>>2] = 0; while(1) { - $200 = HEAP32[$n>>2]|0; - $201 = HEAP32[$nMem>>2]|0; - $202 = ($200|0)<=($201|0); - if (!($202)) { + $202 = HEAP32[$n>>2]|0; + $203 = HEAP32[$nMem>>2]|0; + $204 = ($202|0)<($203|0); + if (!($204)) { break; } - $203 = HEAP32[$n>>2]|0; - $204 = HEAP32[$0>>2]|0; - $205 = ((($204)) + 8|0); - $206 = HEAP32[$205>>2]|0; - $207 = (($206) + (($203*40)|0)|0); - $208 = ((($207)) + 8|0); - HEAP16[$208>>1] = 128; - $209 = HEAP32[$db>>2]|0; - $210 = HEAP32[$n>>2]|0; - $211 = HEAP32[$0>>2]|0; - $212 = ((($211)) + 8|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($213) + (($210*40)|0)|0); - $215 = ((($214)) + 32|0); - HEAP32[$215>>2] = $209; - $216 = HEAP32[$n>>2]|0; - $217 = (($216) + 1)|0; - HEAP32[$n>>2] = $217; - } - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 453|0); - $220 = HEAP8[$219>>0]|0; - $221 = $220&255; - $222 = HEAP32[$0>>2]|0; - $223 = ((($222)) + 88|0); - $224 = $221&65535; - $225 = HEAP16[$223>>1]|0; - $226 = $224 & 3; - $227 = $225 & -4; - $228 = $227 | $226; - HEAP16[$223>>1] = $228; - $229 = HEAP32[$0>>2]|0; - _sqlite3VdbeRewind($229); + $205 = HEAP32[$n>>2]|0; + $206 = HEAP32[$0>>2]|0; + $207 = ((($206)) + 8|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($208) + (($205*40)|0)|0); + $210 = ((($209)) + 8|0); + HEAP16[$210>>1] = 128; + $211 = HEAP32[$db>>2]|0; + $212 = HEAP32[$n>>2]|0; + $213 = HEAP32[$0>>2]|0; + $214 = ((($213)) + 8|0); + $215 = HEAP32[$214>>2]|0; + $216 = (($215) + (($212*40)|0)|0); + $217 = ((($216)) + 32|0); + HEAP32[$217>>2] = $211; + $218 = HEAP32[$n>>2]|0; + $219 = (($218) + 1)|0; + HEAP32[$n>>2] = $219; + } + $220 = HEAP32[$1>>2]|0; + $221 = ((($220)) + 453|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222&255; + $224 = HEAP32[$0>>2]|0; + $225 = ((($224)) + 89|0); + $226 = $223&255; + $227 = HEAP8[$225>>0]|0; + $228 = $226 & 3; + $229 = $227 & -4; + $230 = $229 | $228; + HEAP8[$225>>0] = $230; + $231 = HEAP32[$0>>2]|0; + _sqlite3VdbeRewind($231); STACKTOP = sp;return; } function _blobSeekToRow($p,$0,$1,$pzErr) { @@ -28537,15 +28735,15 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $47 = HEAP32[$type>>2]|0; $48 = ($47|0)==(0); if ($48) { - $52 = 40525; + $52 = 40176; } else { $49 = HEAP32[$type>>2]|0; $50 = ($49|0)==(7); - $51 = $50 ? 40512 : 40517; + $51 = $50 ? 40163 : 40168; $52 = $51; } HEAP32[$vararg_buffer>>2] = $52; - $53 = (_sqlite3MPrintf($46,40530,$vararg_buffer)|0); + $53 = (_sqlite3MPrintf($46,40181,$vararg_buffer)|0); HEAP32[$zErr>>2] = $53; HEAP32[$rc>>2] = 1; $54 = HEAP32[$2>>2]|0; @@ -28604,7 +28802,7 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $109 = (($107) + 4)|0; $110 = $109; HEAP32[$110>>2] = $106; - $111 = (_sqlite3MPrintf($100,40559,$vararg_buffer1)|0); + $111 = (_sqlite3MPrintf($100,40210,$vararg_buffer1)|0); HEAP32[$zErr>>2] = $111; HEAP32[$rc>>2] = 1; $117 = HEAP32[$zErr>>2]|0; @@ -28618,7 +28816,7 @@ function _blobSeekToRow($p,$0,$1,$pzErr) { $114 = HEAP32[$113>>2]|0; $115 = (_sqlite3_errmsg($114)|0); HEAP32[$vararg_buffer4>>2] = $115; - $116 = (_sqlite3MPrintf($100,19255,$vararg_buffer4)|0); + $116 = (_sqlite3MPrintf($100,18999,$vararg_buffer4)|0); HEAP32[$zErr>>2] = $116; $117 = HEAP32[$zErr>>2]|0; $118 = HEAP32[$4>>2]|0; @@ -28663,7 +28861,7 @@ function _sqlite3ParserReset($pParse) { $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 248|0); + $20 = ((($19)) + 256|0); $21 = HEAP32[$20>>2]|0; $22 = (($21) - ($18))|0; HEAP32[$20>>2] = $22; @@ -28762,7 +28960,7 @@ function _blobReadWrite($pBlob,$z,$n,$iOffset,$xCall) { $7 = HEAP32[$p>>2]|0; $8 = ($7|0)==(0|0); if ($8) { - $9 = (_sqlite3MisuseError(81441)|0); + $9 = (_sqlite3MisuseError(81735)|0); HEAP32[$0>>2] = $9; $69 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($69|0); @@ -28881,11 +29079,11 @@ function _sqlite3ExpirePreparedStatements($db) { break; } $6 = HEAP32[$p>>2]|0; - $7 = ((($6)) + 88|0); - $8 = HEAP16[$7>>1]|0; - $9 = $8 & -9; - $10 = $9 | 8; - HEAP16[$7>>1] = $10; + $7 = ((($6)) + 87|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8 & -2; + $10 = $9 | 1; + HEAP8[$7>>0] = $10; $11 = HEAP32[$p>>2]|0; $12 = ((($11)) + 52|0); $13 = HEAP32[$12>>2]|0; @@ -29144,13 +29342,13 @@ function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { $223 = HEAP32[$c>>2]|0; $224 = $223&255; $225 = $224&255; - $226 = (18477 + ($225)|0); + $226 = (18221 + ($225)|0); $227 = HEAP8[$226>>0]|0; $228 = $227&255; $229 = HEAP32[$c2>>2]|0; $230 = $229&255; $231 = $230&255; - $232 = (18477 + ($231)|0); + $232 = (18221 + ($231)|0); $233 = HEAP8[$232>>0]|0; $234 = $233&255; $235 = ($228|0)==($234|0); @@ -29320,7 +29518,7 @@ function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { $93 = HEAP32[$c>>2]|0; $94 = $93&255; $95 = $94&255; - $96 = (19267 + ($95)|0); + $96 = (19011 + ($95)|0); $97 = HEAP8[$96>>0]|0; $98 = $97&255; $99 = $98 & 32; @@ -29330,7 +29528,7 @@ function _patternCompare($zPattern,$zString,$pInfo,$matchOther) { $102 = HEAP32[$c>>2]|0; $103 = $102&255; $104 = $103&255; - $105 = (18477 + ($104)|0); + $105 = (18221 + ($104)|0); $106 = HEAP8[$105>>0]|0; $107 = $106&255; HEAP32[$c>>2] = $107; @@ -29464,11 +29662,11 @@ function _sqlite3SafetyCheckOk($db) { $3 = ($2|0)==(0|0); do { if ($3) { - _logBadConnection(40498); + _logBadConnection(40149); HEAP32[$0>>2] = 0; } else { $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 76|0); + $5 = ((($4)) + 80|0); $6 = HEAP32[$5>>2]|0; HEAP32[$magic>>2] = $6; $7 = HEAP32[$magic>>2]|0; @@ -29481,7 +29679,7 @@ function _sqlite3SafetyCheckOk($db) { $10 = (_sqlite3SafetyCheckSickOrOk($9)|0); $11 = ($10|0)!=(0); if ($11) { - _logBadConnection(40503); + _logBadConnection(40154); } HEAP32[$0>>2] = 0; } @@ -29527,7 +29725,7 @@ function _sqlite3LockAndPrepare($db,$zSql,$nBytes,$saveSqlFlag,$pOld,$ppStmt,$pz $13 = ($12|0)==(0|0); $or$cond = $11 | $13; if ($or$cond) { - $14 = (_sqlite3MisuseError(110077)|0); + $14 = (_sqlite3MisuseError(110313)|0); HEAP32[$0>>2] = $14; $37 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($37|0); @@ -29574,7 +29772,7 @@ function _sqlite3SafetyCheckSickOrOk($db) { $magic = sp; HEAP32[$1>>2] = $db; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 76|0); + $3 = ((($2)) + 80|0); $4 = HEAP32[$3>>2]|0; HEAP32[$magic>>2] = $4; $5 = HEAP32[$magic>>2]|0; @@ -29586,7 +29784,7 @@ function _sqlite3SafetyCheckSickOrOk($db) { $10 = ($9|0)!=(-264537850); $or$cond3 = $or$cond & $10; if ($or$cond3) { - _logBadConnection(40345); + _logBadConnection(39996); HEAP32[$0>>2] = 0; $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); @@ -29629,12 +29827,12 @@ function _createModule($db,$zName,$pModule,$pAux,$xDestroy) { $6 = (_sqlite3Strlen30($5)|0); HEAP32[$nName>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 312|0); + $8 = ((($7)) + 320|0); $9 = HEAP32[$1>>2]|0; $10 = (_sqlite3HashFind($8,$9)|0); $11 = ($10|0)!=(0|0); if ($11) { - $12 = (_sqlite3MisuseError(118442)|0); + $12 = (_sqlite3MisuseError(118695)|0); HEAP32[$rc>>2] = $12; } else { $13 = HEAP32[$0>>2]|0; @@ -29673,7 +29871,7 @@ function _createModule($db,$zName,$pModule,$pAux,$xDestroy) { $38 = ((($37)) + 16|0); HEAP32[$38>>2] = 0; $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 312|0); + $40 = ((($39)) + 320|0); $41 = HEAP32[$zCopy>>2]|0; $42 = HEAP32[$pMod>>2]|0; $43 = (_sqlite3HashInsert($40,$41,$42)|0); @@ -29720,12 +29918,12 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $lastTokenParsed = 0, $mxSqlLen = 0, $nErr = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $lastTokenParsed = 0; + var $mxSqlLen = 0, $nErr = 0, $p = 0, $p1 = 0, $pEngine = 0, $tokenType = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $$byval_copy8 = sp + 72|0; @@ -29754,17 +29952,17 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 88|0); + $7 = ((($6)) + 92|0); $8 = ((($7)) + 4|0); $9 = HEAP32[$8>>2]|0; HEAP32[$mxSqlLen>>2] = $9; $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 148|0); + $11 = ((($10)) + 152|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)==(0); if ($13) { $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 240|0); + $15 = ((($14)) + 248|0); HEAP32[$15>>2] = 0; } $16 = HEAP32[$1>>2]|0; @@ -29783,8 +29981,8 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $24 = HEAP32[$db>>2]|0; _sqlite3OomFault($24); HEAP32[$0>>2] = 7; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $255 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($255|0); } while(1) { $25 = HEAP32[$i>>2]|0; @@ -29825,10 +30023,10 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { break; } $54 = HEAP32[$tokenType>>2]|0; - $55 = ($54|0)>=(159); + $55 = ($54|0)>=(160); if ($55) { $56 = HEAP32[$db>>2]|0; - $57 = ((($56)) + 240|0); + $57 = ((($56)) + 248|0); $58 = HEAP32[$57>>2]|0; $59 = ($58|0)!=(0); if ($59) { @@ -29836,47 +30034,40 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { break; } $62 = HEAP32[$tokenType>>2]|0; - $63 = ($62|0)==(160); + $63 = ($62|0)==(161); if ($63) { label = 12; break; } else { continue; } - } - $67 = HEAP32[$tokenType>>2]|0; - $68 = ($67|0)==(1); - if ($68) { - $69 = HEAP32[$i>>2]|0; - $70 = HEAP32[$2>>2]|0; - $71 = (($70) + ($69)|0); - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 484|0); - HEAP32[$73>>2] = $71; - } - $74 = HEAP32[$pEngine>>2]|0; - $75 = HEAP32[$tokenType>>2]|0; - $76 = HEAP32[$1>>2]|0; - $77 = ((($76)) + 508|0); - $78 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$77>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$77+4>>2]|0; - _sqlite3Parser($74,$75,$$byval_copy8,$78); - $79 = HEAP32[$tokenType>>2]|0; - HEAP32[$lastTokenParsed>>2] = $79; - $80 = HEAP32[$1>>2]|0; - $81 = ((($80)) + 12|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0); - if ($83) { - break; - } - $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 65|0); - $86 = HEAP8[$85>>0]|0; - $87 = $86&255; - $88 = ($87|0)!=(0); - if ($88) { - break; + } else { + $67 = HEAP32[$pEngine>>2]|0; + $68 = HEAP32[$tokenType>>2]|0; + $69 = HEAP32[$1>>2]|0; + $70 = ((($69)) + 508|0); + $71 = HEAP32[$1>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$70>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$70+4>>2]|0; + _sqlite3Parser($67,$68,$$byval_copy8,$71); + $72 = HEAP32[$tokenType>>2]|0; + HEAP32[$lastTokenParsed>>2] = $72; + $73 = HEAP32[$1>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)!=(0); + if ($76) { + break; + } + $77 = HEAP32[$db>>2]|0; + $78 = ((($77)) + 69|0); + $79 = HEAP8[$78>>0]|0; + $80 = $79&255; + $81 = ($80|0)!=(0); + if ($81) { + break; + } else { + continue; + } } } if ((label|0) == 7) { @@ -29894,262 +30085,262 @@ function _sqlite3RunParser($pParse,$zSql,$pzErrMsg) { $65 = HEAP32[$1>>2]|0; $66 = ((($65)) + 508|0); HEAP32[$vararg_buffer>>2] = $66; - _sqlite3ErrorMsg($64,27316,$vararg_buffer); + _sqlite3ErrorMsg($64,27045,$vararg_buffer); } - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 12|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(0); - if ($92) { - $93 = HEAP32[$db>>2]|0; - $94 = ((($93)) + 65|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = ($96|0)==(0); - if ($97) { - $98 = HEAP32[$lastTokenParsed>>2]|0; - $99 = ($98|0)!=(1); - if ($99) { - $100 = HEAP32[$pEngine>>2]|0; + $82 = HEAP32[$i>>2]|0; + $83 = HEAP32[$2>>2]|0; + $84 = (($83) + ($82)|0); + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 484|0); + HEAP32[$86>>2] = $84; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP32[$88>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$db>>2]|0; + $92 = ((($91)) + 69|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = ($94|0)==(0); + if ($95) { + $96 = HEAP32[$lastTokenParsed>>2]|0; + $97 = ($96|0)!=(1); + if ($97) { + $98 = HEAP32[$pEngine>>2]|0; + $99 = HEAP32[$1>>2]|0; + $100 = ((($99)) + 508|0); $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 508|0); - $103 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$102>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$102+4>>2]|0; - _sqlite3Parser($100,1,$$byval_copy8,$103); - $104 = HEAP32[$i>>2]|0; - $105 = HEAP32[$2>>2]|0; - $106 = (($105) + ($104)|0); - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 484|0); - HEAP32[$108>>2] = $106; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$100>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$100+4>>2]|0; + _sqlite3Parser($98,1,$$byval_copy8,$101); } - $109 = HEAP32[$1>>2]|0; - $110 = ((($109)) + 12|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==(0); - if ($112) { - $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 65|0); - $115 = HEAP8[$114>>0]|0; - $116 = $115&255; - $117 = ($116|0)==(0); - if ($117) { - $118 = HEAP32[$pEngine>>2]|0; - $119 = HEAP32[$1>>2]|0; - $120 = ((($119)) + 508|0); - $121 = HEAP32[$1>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$120>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$120+4>>2]|0; - _sqlite3Parser($118,0,$$byval_copy8,$121); + $102 = HEAP32[$1>>2]|0; + $103 = ((($102)) + 12|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$db>>2]|0; + $107 = ((($106)) + 69|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = ($109|0)==(0); + if ($110) { + $111 = HEAP32[$pEngine>>2]|0; + $112 = HEAP32[$1>>2]|0; + $113 = ((($112)) + 508|0); + $114 = HEAP32[$1>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$113>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$113+4>>2]|0; + _sqlite3Parser($111,0,$$byval_copy8,$114); } } } } - $122 = HEAP32[$pEngine>>2]|0; - _sqlite3ParserFree($122,148); - $123 = HEAP32[$db>>2]|0; - $124 = ((($123)) + 65|0); - $125 = HEAP8[$124>>0]|0; - $126 = ($125<<24>>24)!=(0); - if ($126) { - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 12|0); - HEAP32[$128>>2] = 7; + $115 = HEAP32[$pEngine>>2]|0; + _sqlite3ParserFree($115,148); + $116 = HEAP32[$db>>2]|0; + $117 = ((($116)) + 69|0); + $118 = HEAP8[$117>>0]|0; + $119 = ($118<<24>>24)!=(0); + if ($119) { + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 12|0); + HEAP32[$121>>2] = 7; } - $129 = HEAP32[$1>>2]|0; - $130 = ((($129)) + 12|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)!=(0); - if ($132) { - $133 = HEAP32[$1>>2]|0; - $134 = ((($133)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)!=(101); - if ($136) { - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0|0); - if ($140) { - $141 = HEAP32[$db>>2]|0; - $142 = HEAP32[$1>>2]|0; - $143 = ((($142)) + 12|0); - $144 = HEAP32[$143>>2]|0; - $145 = (_sqlite3ErrStr($144)|0); - HEAP32[$vararg_buffer1>>2] = $145; - $146 = (_sqlite3MPrintf($141,19255,$vararg_buffer1)|0); - $147 = HEAP32[$1>>2]|0; - $148 = ((($147)) + 4|0); - HEAP32[$148>>2] = $146; + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 12|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { + $126 = HEAP32[$1>>2]|0; + $127 = ((($126)) + 12|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)!=(101); + if ($129) { + $130 = HEAP32[$1>>2]|0; + $131 = ((($130)) + 4|0); + $132 = HEAP32[$131>>2]|0; + $133 = ($132|0)==(0|0); + if ($133) { + $134 = HEAP32[$db>>2]|0; + $135 = HEAP32[$1>>2]|0; + $136 = ((($135)) + 12|0); + $137 = HEAP32[$136>>2]|0; + $138 = (_sqlite3ErrStr($137)|0); + HEAP32[$vararg_buffer1>>2] = $138; + $139 = (_sqlite3MPrintf($134,18999,$vararg_buffer1)|0); + $140 = HEAP32[$1>>2]|0; + $141 = ((($140)) + 4|0); + HEAP32[$141>>2] = $139; } } } - $149 = HEAP32[$1>>2]|0; - $150 = ((($149)) + 4|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)!=(0|0); - if ($152) { - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 4|0); - $155 = HEAP32[$154>>2]|0; - $156 = HEAP32[$3>>2]|0; - HEAP32[$156>>2] = $155; - $157 = HEAP32[$1>>2]|0; - $158 = ((($157)) + 12|0); - $159 = HEAP32[$158>>2]|0; - $160 = HEAP32[$3>>2]|0; - $161 = HEAP32[$160>>2]|0; - HEAP32[$vararg_buffer4>>2] = $161; - _sqlite3_log($159,19255,$vararg_buffer4); - $162 = HEAP32[$1>>2]|0; - $163 = ((($162)) + 4|0); - HEAP32[$163>>2] = 0; - $164 = HEAP32[$nErr>>2]|0; - $165 = (($164) + 1)|0; - HEAP32[$nErr>>2] = $165; + $142 = HEAP32[$1>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = ($144|0)!=(0|0); + if ($145) { + $146 = HEAP32[$1>>2]|0; + $147 = ((($146)) + 4|0); + $148 = HEAP32[$147>>2]|0; + $149 = HEAP32[$3>>2]|0; + HEAP32[$149>>2] = $148; + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 12|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$3>>2]|0; + $154 = HEAP32[$153>>2]|0; + HEAP32[$vararg_buffer4>>2] = $154; + _sqlite3_log($152,18999,$vararg_buffer4); + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 4|0); + HEAP32[$156>>2] = 0; + $157 = HEAP32[$nErr>>2]|0; + $158 = (($157) + 1)|0; + HEAP32[$nErr>>2] = $158; } - $166 = HEAP32[$1>>2]|0; - $167 = ((($166)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)!=(0|0); - if ($169) { - $170 = HEAP32[$1>>2]|0; - $171 = ((($170)) + 68|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)>(0); - if ($173) { - $174 = HEAP32[$1>>2]|0; - $175 = ((($174)) + 18|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = ($177|0)==(0); - if ($178) { - $179 = HEAP32[$1>>2]|0; - $180 = ((($179)) + 8|0); - $181 = HEAP32[$180>>2]|0; - _sqlite3VdbeDelete($181); - $182 = HEAP32[$1>>2]|0; - $183 = ((($182)) + 8|0); - HEAP32[$183>>2] = 0; + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 8|0); + $161 = HEAP32[$160>>2]|0; + $162 = ($161|0)!=(0|0); + if ($162) { + $163 = HEAP32[$1>>2]|0; + $164 = ((($163)) + 68|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)>(0); + if ($166) { + $167 = HEAP32[$1>>2]|0; + $168 = ((($167)) + 18|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169&255; + $171 = ($170|0)==(0); + if ($171) { + $172 = HEAP32[$1>>2]|0; + $173 = ((($172)) + 8|0); + $174 = HEAP32[$173>>2]|0; + _sqlite3VdbeDelete($174); + $175 = HEAP32[$1>>2]|0; + $176 = ((($175)) + 8|0); + HEAP32[$176>>2] = 0; } } } - $184 = HEAP32[$1>>2]|0; - $185 = ((($184)) + 18|0); - $186 = HEAP8[$185>>0]|0; - $187 = $186&255; - $188 = ($187|0)==(0); - if ($188) { - $189 = HEAP32[$db>>2]|0; - $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 408|0); - $192 = HEAP32[$191>>2]|0; - _sqlite3DbFree($189,$192); - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 408|0); - HEAP32[$194>>2] = 0; - $195 = HEAP32[$1>>2]|0; - $196 = ((($195)) + 404|0); - HEAP32[$196>>2] = 0; - } - $197 = HEAP32[$1>>2]|0; - $198 = ((($197)) + 524|0); - $199 = HEAP32[$198>>2]|0; - _sqlite3_free($199); - $200 = HEAP32[$1>>2]|0; - $201 = ((($200)) + 454|0); - $202 = HEAP8[$201>>0]|0; - $203 = ($202<<24>>24)!=(0); - if (!($203)) { - $204 = HEAP32[$db>>2]|0; - $205 = HEAP32[$1>>2]|0; - $206 = ((($205)) + 488|0); - $207 = HEAP32[$206>>2]|0; - _sqlite3DeleteTable($204,$207); + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 18|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180|0)==(0); + if ($181) { + $182 = HEAP32[$db>>2]|0; + $183 = HEAP32[$1>>2]|0; + $184 = ((($183)) + 408|0); + $185 = HEAP32[$184>>2]|0; + _sqlite3DbFree($182,$185); + $186 = HEAP32[$1>>2]|0; + $187 = ((($186)) + 408|0); + HEAP32[$187>>2] = 0; + $188 = HEAP32[$1>>2]|0; + $189 = ((($188)) + 404|0); + HEAP32[$189>>2] = 0; } - $208 = HEAP32[$db>>2]|0; + $190 = HEAP32[$1>>2]|0; + $191 = ((($190)) + 524|0); + $192 = HEAP32[$191>>2]|0; + _sqlite3_free($192); + $193 = HEAP32[$1>>2]|0; + $194 = ((($193)) + 454|0); + $195 = HEAP8[$194>>0]|0; + $196 = ($195<<24>>24)!=(0); + if (!($196)) { + $197 = HEAP32[$db>>2]|0; + $198 = HEAP32[$1>>2]|0; + $199 = ((($198)) + 488|0); + $200 = HEAP32[$199>>2]|0; + _sqlite3DeleteTable($197,$200); + } + $201 = HEAP32[$db>>2]|0; + $202 = HEAP32[$1>>2]|0; + $203 = ((($202)) + 540|0); + $204 = HEAP32[$203>>2]|0; + _sqlite3WithDelete($201,$204); + $205 = HEAP32[$db>>2]|0; + $206 = HEAP32[$1>>2]|0; + $207 = ((($206)) + 492|0); + $208 = HEAP32[$207>>2]|0; + _sqlite3DeleteTrigger($205,$208); $209 = HEAP32[$1>>2]|0; - $210 = ((($209)) + 540|0); + $210 = ((($209)) + 448|0); $211 = HEAP32[$210>>2]|0; - _sqlite3WithDelete($208,$211); - $212 = HEAP32[$db>>2]|0; - $213 = HEAP32[$1>>2]|0; - $214 = ((($213)) + 492|0); - $215 = HEAP32[$214>>2]|0; - _sqlite3DeleteTrigger($212,$215); - $216 = HEAP32[$1>>2]|0; - $217 = ((($216)) + 448|0); - $218 = HEAP32[$217>>2]|0; - $219 = (($218) - 1)|0; - HEAP32[$i>>2] = $219; + $212 = (($211) - 1)|0; + HEAP32[$i>>2] = $212; while(1) { - $220 = HEAP32[$i>>2]|0; - $221 = ($220|0)>=(0); - $222 = HEAP32[$db>>2]|0; - if (!($221)) { + $213 = HEAP32[$i>>2]|0; + $214 = ($213|0)>=(0); + $215 = HEAP32[$db>>2]|0; + if (!($214)) { break; } - $223 = HEAP32[$i>>2]|0; - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + 476|0); - $226 = HEAP32[$225>>2]|0; - $227 = (($226) + ($223<<2)|0); - $228 = HEAP32[$227>>2]|0; - _sqlite3DbFree($222,$228); - $229 = HEAP32[$i>>2]|0; - $230 = (($229) + -1)|0; - HEAP32[$i>>2] = $230; + $216 = HEAP32[$i>>2]|0; + $217 = HEAP32[$1>>2]|0; + $218 = ((($217)) + 476|0); + $219 = HEAP32[$218>>2]|0; + $220 = (($219) + ($216<<2)|0); + $221 = HEAP32[$220>>2]|0; + _sqlite3DbFree($215,$221); + $222 = HEAP32[$i>>2]|0; + $223 = (($222) + -1)|0; + HEAP32[$i>>2] = $223; } - $231 = HEAP32[$1>>2]|0; - $232 = ((($231)) + 476|0); - $233 = HEAP32[$232>>2]|0; - _sqlite3DbFree($222,$233); + $224 = HEAP32[$1>>2]|0; + $225 = ((($224)) + 476|0); + $226 = HEAP32[$225>>2]|0; + _sqlite3DbFree($215,$226); while(1) { - $234 = HEAP32[$1>>2]|0; - $235 = ((($234)) + 412|0); - $236 = HEAP32[$235>>2]|0; - $237 = ($236|0)!=(0|0); - if (!($237)) { + $227 = HEAP32[$1>>2]|0; + $228 = ((($227)) + 412|0); + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)!=(0|0); + if (!($230)) { break; } - $238 = HEAP32[$1>>2]|0; - $239 = ((($238)) + 412|0); - $240 = HEAP32[$239>>2]|0; - HEAP32[$p>>2] = $240; - $241 = HEAP32[$p>>2]|0; - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[$1>>2]|0; - $244 = ((($243)) + 412|0); - HEAP32[$244>>2] = $242; - $245 = HEAP32[$db>>2]|0; - $246 = HEAP32[$p>>2]|0; - _sqlite3DbFree($245,$246); + $231 = HEAP32[$1>>2]|0; + $232 = ((($231)) + 412|0); + $233 = HEAP32[$232>>2]|0; + HEAP32[$p>>2] = $233; + $234 = HEAP32[$p>>2]|0; + $235 = HEAP32[$234>>2]|0; + $236 = HEAP32[$1>>2]|0; + $237 = ((($236)) + 412|0); + HEAP32[$237>>2] = $235; + $238 = HEAP32[$db>>2]|0; + $239 = HEAP32[$p>>2]|0; + _sqlite3DbFree($238,$239); } while(1) { - $247 = HEAP32[$1>>2]|0; - $248 = ((($247)) + 528|0); - $249 = HEAP32[$248>>2]|0; - $250 = ($249|0)!=(0|0); - if (!($250)) { + $240 = HEAP32[$1>>2]|0; + $241 = ((($240)) + 528|0); + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)!=(0|0); + if (!($243)) { break; } - $251 = HEAP32[$1>>2]|0; - $252 = ((($251)) + 528|0); - $253 = HEAP32[$252>>2]|0; - HEAP32[$p1>>2] = $253; - $254 = HEAP32[$p1>>2]|0; - $255 = ((($254)) + 68|0); - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$1>>2]|0; - $258 = ((($257)) + 528|0); - HEAP32[$258>>2] = $256; - $259 = HEAP32[$db>>2]|0; - $260 = HEAP32[$p1>>2]|0; - _sqlite3DeleteTable($259,$260); + $244 = HEAP32[$1>>2]|0; + $245 = ((($244)) + 528|0); + $246 = HEAP32[$245>>2]|0; + HEAP32[$p1>>2] = $246; + $247 = HEAP32[$p1>>2]|0; + $248 = ((($247)) + 68|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$1>>2]|0; + $251 = ((($250)) + 528|0); + HEAP32[$251>>2] = $249; + $252 = HEAP32[$db>>2]|0; + $253 = HEAP32[$p1>>2]|0; + _sqlite3DeleteTable($252,$253); } - $261 = HEAP32[$nErr>>2]|0; - HEAP32[$0>>2] = $261; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $254 = HEAP32[$nErr>>2]|0; + HEAP32[$0>>2] = $254; + $255 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($255|0); } function _sqlite3ValueNew($db) { $db = $db|0; @@ -30215,7 +30406,7 @@ function _sqlite3MemSetDefault() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 5028; + HEAP32[$vararg_buffer>>2] = 5056; (_sqlite3_config(4,$vararg_buffer)|0); STACKTOP = sp;return; } @@ -30239,7 +30430,7 @@ function _sqlite3PCacheSetDefault() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = 4976; + HEAP32[$vararg_buffer>>2] = 5004; (_sqlite3_config(18,$vararg_buffer)|0); STACKTOP = sp;return; } @@ -30305,7 +30496,7 @@ function _setupLookaside($db,$pBuf,$sz,$cnt) { HEAP32[$3>>2] = $sz; HEAP32[$4>>2] = $cnt; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 248|0); + $6 = ((($5)) + 256|0); $7 = ((($6)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)!=(0); @@ -30315,13 +30506,13 @@ function _setupLookaside($db,$pBuf,$sz,$cnt) { STACKTOP = sp;return ($103|0); } $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 248|0); + $11 = ((($10)) + 256|0); $12 = ((($11)) + 6|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)!=(0); if ($14) { $15 = HEAP32[$1>>2]|0; - $16 = ((($15)) + 248|0); + $16 = ((($15)) + 256|0); $17 = ((($16)) + 32|0); $18 = HEAP32[$17>>2]|0; _sqlite3_free($18); @@ -30377,17 +30568,17 @@ function _setupLookaside($db,$pBuf,$sz,$cnt) { } while(0); $44 = HEAP32[$pStart>>2]|0; $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 248|0); + $46 = ((($45)) + 256|0); $47 = ((($46)) + 32|0); HEAP32[$47>>2] = $44; $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 248|0); + $49 = ((($48)) + 256|0); $50 = ((($49)) + 28|0); HEAP32[$50>>2] = 0; $51 = HEAP32[$3>>2]|0; $52 = $51&65535; $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 248|0); + $54 = ((($53)) + 256|0); $55 = ((($54)) + 4|0); HEAP16[$55>>1] = $52; $56 = HEAP32[$pStart>>2]|0; @@ -30405,14 +30596,14 @@ function _setupLookaside($db,$pBuf,$sz,$cnt) { break; } $63 = HEAP32[$1>>2]|0; - $64 = ((($63)) + 248|0); + $64 = ((($63)) + 256|0); $65 = ((($64)) + 28|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$p>>2]|0; HEAP32[$67>>2] = $66; $68 = HEAP32[$p>>2]|0; $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 248|0); + $70 = ((($69)) + 256|0); $71 = ((($70)) + 28|0); HEAP32[$71>>2] = $68; $72 = HEAP32[$3>>2]|0; @@ -30425,36 +30616,36 @@ function _setupLookaside($db,$pBuf,$sz,$cnt) { } $77 = HEAP32[$p>>2]|0; $78 = HEAP32[$1>>2]|0; - $79 = ((($78)) + 248|0); + $79 = ((($78)) + 256|0); $80 = ((($79)) + 36|0); HEAP32[$80>>2] = $77; $81 = HEAP32[$1>>2]|0; - $82 = ((($81)) + 248|0); + $82 = ((($81)) + 256|0); HEAP32[$82>>2] = 0; $83 = HEAP32[$2>>2]|0; $84 = ($83|0)==(0|0); $85 = $84 ? 1 : 0; $86 = $85&255; $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 248|0); + $88 = ((($87)) + 256|0); $89 = ((($88)) + 6|0); HEAP8[$89>>0] = $86; } else { $90 = HEAP32[$1>>2]|0; $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 248|0); + $92 = ((($91)) + 256|0); $93 = ((($92)) + 32|0); HEAP32[$93>>2] = $90; $94 = HEAP32[$1>>2]|0; $95 = HEAP32[$1>>2]|0; - $96 = ((($95)) + 248|0); + $96 = ((($95)) + 256|0); $97 = ((($96)) + 36|0); HEAP32[$97>>2] = $94; $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 248|0); + $99 = ((($98)) + 256|0); HEAP32[$99>>2] = 1; $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 248|0); + $101 = ((($100)) + 256|0); $102 = ((($101)) + 6|0); HEAP8[$102>>0] = 0; } @@ -30486,7 +30677,7 @@ function _sqlite3Close($db,$forceZombie) { $6 = (_sqlite3SafetyCheckSickOrOk($5)|0); $7 = ($6|0)!=(0); if (!($7)) { - $8 = (_sqlite3MisuseError(133819)|0); + $8 = (_sqlite3MisuseError(134226)|0); HEAP32[$0>>2] = $8; $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); @@ -30503,14 +30694,14 @@ function _sqlite3Close($db,$forceZombie) { $15 = ($14|0)!=(0); if ($15) { $16 = HEAP32[$1>>2]|0; - _sqlite3ErrorWithMsg($16,5,27174,$vararg_buffer); + _sqlite3ErrorWithMsg($16,5,26903,$vararg_buffer); HEAP32[$0>>2] = 5; $20 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($20|0); } } $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 76|0); + $18 = ((($17)) + 80|0); HEAP32[$18>>2] = 1691352191; $19 = HEAP32[$1>>2]|0; _sqlite3LeaveMutexAndCloseZombie($19); @@ -30534,7 +30725,7 @@ function _sqliteDefaultBusyCallback($ptr,$count) { $3 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 496|0); + $5 = ((($4)) + 428|0); $6 = HEAP32[$5>>2]|0; HEAP32[$timeout>>2] = $6; $7 = HEAP32[$2>>2]|0; @@ -30568,13 +30759,13 @@ function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xS $pDestructor = $pDestructor|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extraFlags = 0, $nName = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond7$not = 0, $or$cond9 = 0; - var $p = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $extraFlags = 0, $nName = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond3 = 0, $or$cond3$not = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond7$not = 0, $or$cond9 = 0, $p = 0; + var $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; @@ -30703,330 +30894,345 @@ function _sqlite3CreateFunc($db,$zFunctionName,$nArg,$enc,$pUserData,$xSFunc,$xS } $76 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $76; - $148 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($148|0); + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); } } } while(0); $77 = HEAP32[$1>>2]|0; $78 = HEAP32[$2>>2]|0; - $79 = HEAP32[$nName>>2]|0; - $80 = HEAP32[$3>>2]|0; - $81 = HEAP32[$4>>2]|0; - $82 = $81&255; - $83 = (_sqlite3FindFunction($77,$78,$79,$80,$82,0)|0); - HEAP32[$p>>2] = $83; - $84 = HEAP32[$p>>2]|0; - $85 = ($84|0)!=(0|0); + $79 = HEAP32[$3>>2]|0; + $80 = HEAP32[$4>>2]|0; + $81 = $80&255; + $82 = (_sqlite3FindFunction($77,$78,$79,$81,0)|0); + HEAP32[$p>>2] = $82; + $83 = HEAP32[$p>>2]|0; + $84 = ($83|0)!=(0|0); do { - if ($85) { - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 2|0); - $88 = HEAP16[$87>>1]|0; - $89 = $88&65535; - $90 = $89 & 3; - $91 = HEAP32[$4>>2]|0; - $92 = ($90|0)==($91|0); - if ($92) { - $93 = HEAP32[$p>>2]|0; - $94 = HEAP16[$93>>1]|0; - $95 = $94 << 16 >> 16; - $96 = HEAP32[$3>>2]|0; - $97 = ($95|0)==($96|0); - if ($97) { - $98 = HEAP32[$1>>2]|0; - $99 = ((($98)) + 148|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)!=(0); - $102 = HEAP32[$1>>2]|0; - if (!($101)) { - _sqlite3ExpirePreparedStatements($102); + if ($84) { + $85 = HEAP32[$p>>2]|0; + $86 = ((($85)) + 2|0); + $87 = HEAP16[$86>>1]|0; + $88 = $87&65535; + $89 = $88 & 3; + $90 = HEAP32[$4>>2]|0; + $91 = ($89|0)==($90|0); + if ($91) { + $92 = HEAP32[$p>>2]|0; + $93 = HEAP8[$92>>0]|0; + $94 = $93 << 24 >> 24; + $95 = HEAP32[$3>>2]|0; + $96 = ($94|0)==($95|0); + if ($96) { + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 152|0); + $99 = HEAP32[$98>>2]|0; + $100 = ($99|0)!=(0); + $101 = HEAP32[$1>>2]|0; + if (!($100)) { + _sqlite3ExpirePreparedStatements($101); break; } - _sqlite3ErrorWithMsg($102,5,27111,$vararg_buffer); + _sqlite3ErrorWithMsg($101,5,26840,$vararg_buffer); HEAP32[$0>>2] = 5; - $148 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($148|0); + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); } } } } while(0); - $103 = HEAP32[$1>>2]|0; - $104 = HEAP32[$2>>2]|0; - $105 = HEAP32[$nName>>2]|0; - $106 = HEAP32[$3>>2]|0; - $107 = HEAP32[$4>>2]|0; - $108 = $107&255; - $109 = (_sqlite3FindFunction($103,$104,$105,$106,$108,1)|0); - HEAP32[$p>>2] = $109; - $110 = HEAP32[$p>>2]|0; - $111 = ($110|0)!=(0|0); - if (!($111)) { + $102 = HEAP32[$1>>2]|0; + $103 = HEAP32[$2>>2]|0; + $104 = HEAP32[$3>>2]|0; + $105 = HEAP32[$4>>2]|0; + $106 = $105&255; + $107 = (_sqlite3FindFunction($102,$103,$104,$106,1)|0); + HEAP32[$p>>2] = $107; + $108 = HEAP32[$p>>2]|0; + $109 = ($108|0)!=(0|0); + if (!($109)) { HEAP32[$0>>2] = 7; - $148 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($148|0); + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); } - $112 = HEAP32[$1>>2]|0; - $113 = HEAP32[$p>>2]|0; - _functionDestroy($112,$113); - $114 = HEAP32[$9>>2]|0; - $115 = ($114|0)!=(0|0); - if ($115) { - $116 = HEAP32[$9>>2]|0; - $117 = HEAP32[$116>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$116>>2] = $118; + $110 = HEAP32[$1>>2]|0; + $111 = HEAP32[$p>>2]|0; + _functionDestroy($110,$111); + $112 = HEAP32[$9>>2]|0; + $113 = ($112|0)!=(0|0); + if ($113) { + $114 = HEAP32[$9>>2]|0; + $115 = HEAP32[$114>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$114>>2] = $116; } - $119 = HEAP32[$9>>2]|0; + $117 = HEAP32[$9>>2]|0; + $118 = HEAP32[$p>>2]|0; + $119 = ((($118)) + 24|0); + HEAP32[$119>>2] = $117; $120 = HEAP32[$p>>2]|0; - $121 = ((($120)) + 28|0); - HEAP32[$121>>2] = $119; - $122 = HEAP32[$p>>2]|0; - $123 = ((($122)) + 2|0); - $124 = HEAP16[$123>>1]|0; - $125 = $124&65535; - $126 = $125 & 3; - $127 = HEAP32[$extraFlags>>2]|0; - $128 = $126 | $127; - $129 = $128&65535; - $130 = HEAP32[$p>>2]|0; - $131 = ((($130)) + 2|0); - HEAP16[$131>>1] = $129; + $121 = ((($120)) + 2|0); + $122 = HEAP16[$121>>1]|0; + $123 = $122&65535; + $124 = $123 & 3; + $125 = HEAP32[$extraFlags>>2]|0; + $126 = $124 | $125; + $127 = $126&65535; + $128 = HEAP32[$p>>2]|0; + $129 = ((($128)) + 2|0); + HEAP16[$129>>1] = $127; + $130 = HEAP32[$6>>2]|0; + $131 = ($130|0)!=(0|0); $132 = HEAP32[$6>>2]|0; - $133 = ($132|0)!=(0|0); - $134 = HEAP32[$6>>2]|0; - $135 = HEAP32[$7>>2]|0; - $136 = $133 ? $134 : $135; - $137 = HEAP32[$p>>2]|0; - $138 = ((($137)) + 12|0); - HEAP32[$138>>2] = $136; - $139 = HEAP32[$8>>2]|0; - $140 = HEAP32[$p>>2]|0; - $141 = ((($140)) + 16|0); - HEAP32[$141>>2] = $139; - $142 = HEAP32[$5>>2]|0; - $143 = HEAP32[$p>>2]|0; - $144 = ((($143)) + 4|0); - HEAP32[$144>>2] = $142; - $145 = HEAP32[$3>>2]|0; - $146 = $145&65535; - $147 = HEAP32[$p>>2]|0; - HEAP16[$147>>1] = $146; + $133 = HEAP32[$7>>2]|0; + $134 = $131 ? $132 : $133; + $135 = HEAP32[$p>>2]|0; + $136 = ((($135)) + 12|0); + HEAP32[$136>>2] = $134; + $137 = HEAP32[$8>>2]|0; + $138 = HEAP32[$p>>2]|0; + $139 = ((($138)) + 16|0); + HEAP32[$139>>2] = $137; + $140 = HEAP32[$5>>2]|0; + $141 = HEAP32[$p>>2]|0; + $142 = ((($141)) + 4|0); + HEAP32[$142>>2] = $140; + $143 = HEAP32[$3>>2]|0; + $144 = $143&65535; + $145 = $144&255; + $146 = HEAP32[$p>>2]|0; + HEAP8[$146>>0] = $145; HEAP32[$0>>2] = 0; - $148 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($148|0); + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); } } } } } while(0); - $37 = (_sqlite3MisuseError(134386)|0); + $37 = (_sqlite3MisuseError(134792)|0); HEAP32[$0>>2] = $37; - $148 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($148|0); + $147 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($147|0); } -function _sqlite3FindFunction($db,$zName,$nName,$nArg,$enc,$createFlag) { +function _sqlite3FindFunction($db,$zName,$nArg,$enc,$createFlag) { $db = $db|0; $zName = $zName|0; - $nName = $nName|0; $nArg = $nArg|0; $enc = $enc|0; $createFlag = $createFlag|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bestScore = 0, $h = 0, $or$cond = 0, $p = 0, $pBest = 0, $pHash = 0, $score = 0, $score1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0; + var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0; + var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bestScore = 0, $h = 0, $nName = 0, $or$cond = 0; + var $p = 0, $pBest = 0, $pOther = 0, $score = 0, $score1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 44|0; $1 = sp + 40|0; $2 = sp + 36|0; $3 = sp + 32|0; - $4 = sp + 28|0; - $5 = sp + 49|0; - $6 = sp + 48|0; - $p = sp + 24|0; - $pBest = sp + 20|0; - $bestScore = sp + 16|0; - $h = sp + 12|0; + $4 = sp + 49|0; + $5 = sp + 48|0; + $p = sp + 28|0; + $pBest = sp + 24|0; + $bestScore = sp + 20|0; + $h = sp + 16|0; + $nName = sp + 12|0; $score = sp + 8|0; - $pHash = sp + 4|0; - $score1 = sp; + $score1 = sp + 4|0; + $pOther = sp; HEAP32[$1>>2] = $db; HEAP32[$2>>2] = $zName; - HEAP32[$3>>2] = $nName; - HEAP32[$4>>2] = $nArg; - HEAP8[$5>>0] = $enc; - HEAP8[$6>>0] = $createFlag; + HEAP32[$3>>2] = $nArg; + HEAP8[$4>>0] = $enc; + HEAP8[$5>>0] = $createFlag; HEAP32[$pBest>>2] = 0; HEAP32[$bestScore>>2] = 0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = (18477 + ($9)|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = HEAP32[$3>>2]|0; - $14 = (($12) + ($13))|0; - $15 = (($14|0) % 23)&-1; - HEAP32[$h>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 340|0); - $18 = HEAP32[$h>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = HEAP32[$3>>2]|0; - $21 = (_functionSearch($17,$18,$19,$20)|0); - HEAP32[$p>>2] = $21; + $6 = HEAP32[$2>>2]|0; + $7 = (_sqlite3Strlen30($6)|0); + HEAP32[$nName>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 348|0); + $10 = HEAP32[$2>>2]|0; + $11 = (_sqlite3HashFind($9,$10)|0); + HEAP32[$p>>2] = $11; while(1) { - $22 = HEAP32[$p>>2]|0; - $23 = ($22|0)!=(0|0); - if (!($23)) { + $12 = HEAP32[$p>>2]|0; + $13 = ($12|0)!=(0|0); + if (!($13)) { break; } - $24 = HEAP32[$p>>2]|0; - $25 = HEAP32[$4>>2]|0; - $26 = HEAP8[$5>>0]|0; - $27 = (_matchQuality($24,$25,$26)|0); - HEAP32[$score>>2] = $27; - $28 = HEAP32[$score>>2]|0; - $29 = HEAP32[$bestScore>>2]|0; - $30 = ($28|0)>($29|0); - if ($30) { - $31 = HEAP32[$p>>2]|0; - HEAP32[$pBest>>2] = $31; - $32 = HEAP32[$score>>2]|0; - HEAP32[$bestScore>>2] = $32; + $14 = HEAP32[$p>>2]|0; + $15 = HEAP32[$3>>2]|0; + $16 = HEAP8[$4>>0]|0; + $17 = (_matchQuality($14,$15,$16)|0); + HEAP32[$score>>2] = $17; + $18 = HEAP32[$score>>2]|0; + $19 = HEAP32[$bestScore>>2]|0; + $20 = ($18|0)>($19|0); + if ($20) { + $21 = HEAP32[$p>>2]|0; + HEAP32[$pBest>>2] = $21; + $22 = HEAP32[$score>>2]|0; + HEAP32[$bestScore>>2] = $22; } - $33 = HEAP32[$p>>2]|0; - $34 = ((($33)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$p>>2] = $35; + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 8|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$p>>2] = $25; } - $36 = HEAP8[$6>>0]|0; - $37 = ($36<<24>>24)!=(0); + $26 = HEAP8[$5>>0]|0; + $27 = ($26<<24>>24)!=(0); L8: do { - if (!($37)) { - $38 = HEAP32[$pBest>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = $42 & 2097152; - $44 = ($43|0)!=(0); - if (!($44)) { + if (!($27)) { + $28 = HEAP32[$pBest>>2]|0; + $29 = ($28|0)==(0|0); + if (!($29)) { + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 24|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 & 2097152; + $34 = ($33|0)!=(0); + if (!($34)) { break; } } - HEAP32[$pHash>>2] = 1080; HEAP32[$bestScore>>2] = 0; - $45 = HEAP32[$pHash>>2]|0; - $46 = HEAP32[$h>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$3>>2]|0; - $49 = (_functionSearch($45,$46,$47,$48)|0); - HEAP32[$p>>2] = $49; + $35 = HEAP32[$2>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = (18221 + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = HEAP32[$nName>>2]|0; + $42 = (($40) + ($41))|0; + $43 = (($42|0) % 23)&-1; + HEAP32[$h>>2] = $43; + $44 = HEAP32[$h>>2]|0; + $45 = HEAP32[$2>>2]|0; + $46 = (_functionSearch($44,$45)|0); + HEAP32[$p>>2] = $46; while(1) { - $50 = HEAP32[$p>>2]|0; - $51 = ($50|0)!=(0|0); - if (!($51)) { + $47 = HEAP32[$p>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { break L8; } - $52 = HEAP32[$p>>2]|0; - $53 = HEAP32[$4>>2]|0; - $54 = HEAP8[$5>>0]|0; - $55 = (_matchQuality($52,$53,$54)|0); - HEAP32[$score1>>2] = $55; - $56 = HEAP32[$score1>>2]|0; - $57 = HEAP32[$bestScore>>2]|0; - $58 = ($56|0)>($57|0); - if ($58) { - $59 = HEAP32[$p>>2]|0; - HEAP32[$pBest>>2] = $59; - $60 = HEAP32[$score1>>2]|0; - HEAP32[$bestScore>>2] = $60; + $49 = HEAP32[$p>>2]|0; + $50 = HEAP32[$3>>2]|0; + $51 = HEAP8[$4>>0]|0; + $52 = (_matchQuality($49,$50,$51)|0); + HEAP32[$score1>>2] = $52; + $53 = HEAP32[$score1>>2]|0; + $54 = HEAP32[$bestScore>>2]|0; + $55 = ($53|0)>($54|0); + if ($55) { + $56 = HEAP32[$p>>2]|0; + HEAP32[$pBest>>2] = $56; + $57 = HEAP32[$score1>>2]|0; + HEAP32[$bestScore>>2] = $57; } - $61 = HEAP32[$p>>2]|0; - $62 = ((($61)) + 8|0); - $63 = HEAP32[$62>>2]|0; - HEAP32[$p>>2] = $63; + $58 = HEAP32[$p>>2]|0; + $59 = ((($58)) + 8|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$p>>2] = $60; } } } while(0); - $64 = HEAP8[$6>>0]|0; - $65 = $64&255; - $66 = ($65|0)!=(0); - $67 = HEAP32[$bestScore>>2]|0; - $68 = ($67|0)<(6); - $or$cond = $66 & $68; - if ($or$cond) { - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = (32 + ($70))|0; - $72 = (($71) + 1)|0; - $73 = (_sqlite3DbMallocZero($69,$72,0)|0); - HEAP32[$pBest>>2] = $73; - $74 = ($73|0)!=(0|0); - if ($74) { - $75 = HEAP32[$pBest>>2]|0; - $76 = ((($75)) + 32|0); - $77 = HEAP32[$pBest>>2]|0; - $78 = ((($77)) + 20|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$4>>2]|0; - $80 = $79&65535; - $81 = HEAP32[$pBest>>2]|0; - HEAP16[$81>>1] = $80; - $82 = HEAP8[$5>>0]|0; - $83 = $82&255; - $84 = HEAP32[$pBest>>2]|0; - $85 = ((($84)) + 2|0); - HEAP16[$85>>1] = $83; - $86 = HEAP32[$pBest>>2]|0; - $87 = ((($86)) + 20|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$2>>2]|0; - $90 = HEAP32[$3>>2]|0; - _memcpy(($88|0),($89|0),($90|0))|0; - $91 = HEAP32[$3>>2]|0; - $92 = HEAP32[$pBest>>2]|0; - $93 = ((($92)) + 20|0); - $94 = HEAP32[$93>>2]|0; - $95 = (($94) + ($91)|0); - HEAP8[$95>>0] = 0; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 340|0); - $98 = HEAP32[$pBest>>2]|0; - _sqlite3FuncDefInsert($97,$98); + $61 = HEAP8[$5>>0]|0; + $62 = $61&255; + $63 = ($62|0)!=(0); + $64 = HEAP32[$bestScore>>2]|0; + $65 = ($64|0)<(6); + $or$cond = $63 & $65; + do { + if ($or$cond) { + $66 = HEAP32[$1>>2]|0; + $67 = HEAP32[$nName>>2]|0; + $68 = (28 + ($67))|0; + $69 = (($68) + 1)|0; + $70 = (_sqlite3DbMallocZero($66,$69,0)|0); + HEAP32[$pBest>>2] = $70; + $71 = ($70|0)!=(0|0); + if ($71) { + $72 = HEAP32[$pBest>>2]|0; + $73 = ((($72)) + 28|0); + $74 = HEAP32[$pBest>>2]|0; + $75 = ((($74)) + 20|0); + HEAP32[$75>>2] = $73; + $76 = HEAP32[$3>>2]|0; + $77 = $76&65535; + $78 = $77&255; + $79 = HEAP32[$pBest>>2]|0; + HEAP8[$79>>0] = $78; + $80 = HEAP8[$4>>0]|0; + $81 = $80&255; + $82 = HEAP32[$pBest>>2]|0; + $83 = ((($82)) + 2|0); + HEAP16[$83>>1] = $81; + $84 = HEAP32[$pBest>>2]|0; + $85 = ((($84)) + 28|0); + $86 = HEAP32[$2>>2]|0; + $87 = HEAP32[$nName>>2]|0; + $88 = (($87) + 1)|0; + _memcpy(($85|0),($86|0),($88|0))|0; + $89 = HEAP32[$1>>2]|0; + $90 = ((($89)) + 348|0); + $91 = HEAP32[$pBest>>2]|0; + $92 = ((($91)) + 20|0); + $93 = HEAP32[$92>>2]|0; + $94 = HEAP32[$pBest>>2]|0; + $95 = (_sqlite3HashInsert($90,$93,$94)|0); + HEAP32[$pOther>>2] = $95; + $96 = HEAP32[$pOther>>2]|0; + $97 = HEAP32[$pBest>>2]|0; + $98 = ($96|0)==($97|0); + if (!($98)) { + $102 = HEAP32[$pOther>>2]|0; + $103 = HEAP32[$pBest>>2]|0; + $104 = ((($103)) + 8|0); + HEAP32[$104>>2] = $102; + break; + } + $99 = HEAP32[$1>>2]|0; + $100 = HEAP32[$pBest>>2]|0; + _sqlite3DbFree($99,$100); + $101 = HEAP32[$1>>2]|0; + _sqlite3OomFault($101); + HEAP32[$0>>2] = 0; + $115 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($115|0); + } } - } - $99 = HEAP32[$pBest>>2]|0; - $100 = ($99|0)!=(0|0); + } while(0); + $105 = HEAP32[$pBest>>2]|0; + $106 = ($105|0)!=(0|0); do { - if ($100) { - $101 = HEAP32[$pBest>>2]|0; - $102 = ((($101)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)!=(0|0); - if (!($104)) { - $105 = HEAP8[$6>>0]|0; - $106 = $105&255; - $107 = ($106|0)!=(0); - if (!($107)) { + if ($106) { + $107 = HEAP32[$pBest>>2]|0; + $108 = ((($107)) + 12|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)!=(0|0); + if (!($110)) { + $111 = HEAP8[$5>>0]|0; + $112 = $111&255; + $113 = ($112|0)!=(0); + if (!($113)) { break; } } - $108 = HEAP32[$pBest>>2]|0; - HEAP32[$0>>2] = $108; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $114 = HEAP32[$pBest>>2]|0; + HEAP32[$0>>2] = $114; + $115 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($115|0); } } while(0); HEAP32[$0>>2] = 0; - $109 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($109|0); + $115 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($115|0); } function _sqlite3InvalidFunction($context,$NotUsed,$NotUsed2) { $context = $context|0; @@ -31052,7 +31258,7 @@ function _sqlite3InvalidFunction($context,$NotUsed,$NotUsed2) { HEAP32[$zName>>2] = $7; $8 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $8; - $9 = (_sqlite3_mprintf(27060,$vararg_buffer)|0); + $9 = (_sqlite3_mprintf(26789,$vararg_buffer)|0); HEAP32[$zErr>>2] = $9; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$zErr>>2]|0; @@ -31094,71 +31300,60 @@ function _sqlite3WalDefaultHook($pClientData,$db,$zDb,$nFrame) { function _sqlite3FindDbName($db,$zName) { $db = $db|0; $zName = $zName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $pDb = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pDb = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $i = sp + 8|0; - $pDb = sp + 4|0; - $n = sp; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $i = sp + 4|0; + $pDb = sp; HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $zName; HEAP32[$i>>2] = -1; $2 = HEAP32[$1>>2]|0; $3 = ($2|0)!=(0|0); if (!($3)) { - $31 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($31|0); + $24 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($24|0); } - $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = (($8) - 1)|0; - HEAP32[$i>>2] = $9; - $10 = HEAP32[$i>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($10<<4)|0); - HEAP32[$pDb>>2] = $14; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = (($6) - 1)|0; + HEAP32[$i>>2] = $7; + $8 = HEAP32[$i>>2]|0; + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 16|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($8<<4)|0); + HEAP32[$pDb>>2] = $12; while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = ($15|0)>=(0); - if (!($16)) { - label = 7; + $13 = HEAP32[$i>>2]|0; + $14 = ($13|0)>=(0); + if (!($14)) { + label = 6; break; } - $17 = HEAP32[$n>>2]|0; - $18 = HEAP32[$pDb>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3Strlen30($19)|0); - $21 = ($17|0)==($20|0); - if ($21) { - $22 = HEAP32[$pDb>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = HEAP32[$1>>2]|0; - $25 = (_sqlite3_stricmp($23,$24)|0); - $26 = (0)==($25|0); - if ($26) { - label = 7; - break; - } + $15 = HEAP32[$pDb>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = (_sqlite3StrICmp($16,$17)|0); + $19 = (0)==($18|0); + if ($19) { + label = 6; + break; } - $27 = HEAP32[$i>>2]|0; - $28 = (($27) + -1)|0; - HEAP32[$i>>2] = $28; - $29 = HEAP32[$pDb>>2]|0; - $30 = ((($29)) + -16|0); - HEAP32[$pDb>>2] = $30; + $20 = HEAP32[$i>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$i>>2] = $21; + $22 = HEAP32[$pDb>>2]|0; + $23 = ((($22)) + -16|0); + HEAP32[$pDb>>2] = $23; } - if ((label|0) == 7) { - $31 = HEAP32[$i>>2]|0; - STACKTOP = sp;return ($31|0); + if ((label|0) == 6) { + $24 = HEAP32[$i>>2]|0; + STACKTOP = sp;return ($24|0); } return (0)|0; } @@ -31250,7 +31445,7 @@ function _sqlite3OomClear($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 65|0); + $2 = ((($1)) + 69|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ($4|0)!=(0); @@ -31258,20 +31453,20 @@ function _sqlite3OomClear($db) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 160|0); + $7 = ((($6)) + 164|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0); if (!($9)) { STACKTOP = sp;return; } $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 65|0); + $11 = ((($10)) + 69|0); HEAP8[$11>>0] = 0; $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 240|0); + $13 = ((($12)) + 248|0); HEAP32[$13>>2] = 0; $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 248|0); + $15 = ((($14)) + 256|0); $16 = HEAP32[$15>>2]|0; $17 = (($16) + -1)|0; HEAP32[$15>>2] = $17; @@ -31332,7 +31527,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $13 = $12 & 70; $14 = ($13|0)==(0); if ($14) { - $15 = (_sqlite3MisuseError(135519)|0); + $15 = (_sqlite3MisuseError(135927)|0); HEAP32[$0>>2] = $15; $239 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($239|0); @@ -31382,7 +31577,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $34 = HEAP32[$3>>2]|0; $35 = $34 & -655129; HEAP32[$3>>2] = $35; - $36 = (_sqlite3MallocZero(536,0)|0); + $36 = (_sqlite3MallocZero(464,0)|0); HEAP32[$db>>2] = $36; $37 = HEAP32[$db>>2]|0; $38 = ($37|0)==(0|0); @@ -31412,25 +31607,25 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $51 = ((($50)) + 20|0); HEAP32[$51>>2] = 2; $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 76|0); + $53 = ((($52)) + 80|0); HEAP32[$53>>2] = -264537850; $54 = HEAP32[$db>>2]|0; - $55 = ((($54)) + 460|0); + $55 = ((($54)) + 392|0); $56 = HEAP32[$db>>2]|0; $57 = ((($56)) + 16|0); HEAP32[$57>>2] = $55; $58 = HEAP32[$db>>2]|0; - $59 = ((($58)) + 88|0); - dest=$59; src=1536; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $59 = ((($58)) + 92|0); + dest=$59; src=1560; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $60 = HEAP32[$db>>2]|0; - $61 = ((($60)) + 88|0); + $61 = ((($60)) + 92|0); $62 = ((($61)) + 44|0); HEAP32[$62>>2] = 0; $63 = HEAP32[$db>>2]|0; - $64 = ((($63)) + 63|0); + $64 = ((($63)) + 67|0); HEAP8[$64>>0] = 1; $65 = HEAP32[$db>>2]|0; - $66 = ((($65)) + 68|0); + $66 = ((($65)) + 72|0); HEAP8[$66>>0] = -1; $67 = (184); $68 = $67; @@ -31447,10 +31642,10 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $78 = $77; HEAP32[$78>>2] = $72; $79 = HEAP32[$db>>2]|0; - $80 = ((($79)) + 72|0); + $80 = ((($79)) + 76|0); HEAP32[$80>>2] = 0; $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 136|0); + $82 = ((($81)) + 140|0); HEAP32[$82>>2] = 2147483647; $83 = HEAP32[$db>>2]|0; $84 = ((($83)) + 24|0); @@ -31458,28 +31653,28 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $86 = $85 | 9437280; HEAP32[$84>>2] = $86; $87 = HEAP32[$db>>2]|0; - $88 = ((($87)) + 432|0); + $88 = ((($87)) + 364|0); _sqlite3HashInit($88); $89 = HEAP32[$db>>2]|0; - $90 = ((($89)) + 312|0); + $90 = ((($89)) + 320|0); _sqlite3HashInit($90); $91 = HEAP32[$db>>2]|0; - (_createCollation($91,35690,1,0,141,0)|0); + (_createCollation($91,35343,1,0,141,0)|0); $92 = HEAP32[$db>>2]|0; - (_createCollation($92,35690,3,0,141,0)|0); + (_createCollation($92,35343,3,0,141,0)|0); $93 = HEAP32[$db>>2]|0; - (_createCollation($93,35690,2,0,141,0)|0); + (_createCollation($93,35343,2,0,141,0)|0); $94 = HEAP32[$db>>2]|0; - (_createCollation($94,21290,1,0,142,0)|0); + (_createCollation($94,21037,1,0,142,0)|0); $95 = HEAP32[$db>>2]|0; - (_createCollation($95,21297,1,(1),141,0)|0); + (_createCollation($95,21044,1,(1),141,0)|0); $96 = HEAP32[$db>>2]|0; - $97 = ((($96)) + 65|0); + $97 = ((($96)) + 69|0); $98 = HEAP8[$97>>0]|0; $99 = ($98<<24>>24)!=(0); if (!($99)) { $100 = HEAP32[$db>>2]|0; - $101 = (_sqlite3FindCollSeq($100,1,35690,0)|0); + $101 = (_sqlite3FindCollSeq($100,1,35343,0)|0); $102 = HEAP32[$db>>2]|0; $103 = ((($102)) + 8|0); HEAP32[$103>>2] = $101; @@ -31505,7 +31700,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $117 = HEAP32[$rc>>2]|0; $118 = HEAP32[$zErrMsg>>2]|0; $119 = ($118|0)!=(0|0); - $120 = $119 ? 19255 : 0; + $120 = $119 ? 18999 : 0; $121 = HEAP32[$zErrMsg>>2]|0; HEAP32[$vararg_buffer>>2] = $121; _sqlite3ErrorWithMsg($116,$117,$120,$vararg_buffer); @@ -31557,7 +31752,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $155 = ((($154)) + 12|0); HEAP32[$155>>2] = $151; $156 = HEAP32[$db>>2]|0; - $157 = ((($156)) + 65|0); + $157 = ((($156)) + 69|0); $158 = HEAP8[$157>>0]|0; $159 = ($158<<24>>24)!=(0); if (!($159)) { @@ -31569,7 +31764,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $165 = ((($164)) + 77|0); $166 = HEAP8[$165>>0]|0; $167 = HEAP32[$db>>2]|0; - $168 = ((($167)) + 62|0); + $168 = ((($167)) + 66|0); HEAP8[$168>>0] = $166; } $169 = HEAP32[$db>>2]|0; @@ -31583,7 +31778,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $176 = HEAP32[$db>>2]|0; $177 = ((($176)) + 16|0); $178 = HEAP32[$177>>2]|0; - HEAP32[$178>>2] = 21303; + HEAP32[$178>>2] = 21050; $179 = HEAP32[$db>>2]|0; $180 = ((($179)) + 16|0); $181 = HEAP32[$180>>2]|0; @@ -31593,7 +31788,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $184 = ((($183)) + 16|0); $185 = HEAP32[$184>>2]|0; $186 = ((($185)) + 16|0); - HEAP32[$186>>2] = 19536; + HEAP32[$186>>2] = 19280; $187 = HEAP32[$db>>2]|0; $188 = ((($187)) + 16|0); $189 = HEAP32[$188>>2]|0; @@ -31601,17 +31796,17 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $191 = ((($190)) + 8|0); HEAP8[$191>>0] = 1; $192 = HEAP32[$db>>2]|0; - $193 = ((($192)) + 76|0); + $193 = ((($192)) + 80|0); HEAP32[$193>>2] = -1607883113; $194 = HEAP32[$db>>2]|0; - $195 = ((($194)) + 65|0); + $195 = ((($194)) + 69|0); $196 = HEAP8[$195>>0]|0; $197 = ($196<<24>>24)!=(0); if (!($197)) { $198 = HEAP32[$db>>2]|0; _sqlite3Error($198,0); $199 = HEAP32[$db>>2]|0; - _sqlite3RegisterBuiltinFunctions($199); + _sqlite3RegisterPerConnectionBuiltinFunctions($199); $200 = HEAP32[$db>>2]|0; $201 = (_sqlite3_errcode($200)|0); HEAP32[$rc>>2] = $201; @@ -31630,7 +31825,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { } } $209 = HEAP32[$db>>2]|0; - $210 = ((($209)) + 65|0); + $210 = ((($209)) + 69|0); $211 = HEAP8[$210>>0]|0; $212 = ($211<<24>>24)==(0); $213 = HEAP32[$rc>>2]|0; @@ -31672,7 +31867,7 @@ function _openDatabase($zFilename,$ppDb,$flags,$zVfs) { $231 = ($230|0)!=(0); if ($231) { $232 = HEAP32[$db>>2]|0; - $233 = ((($232)) + 76|0); + $233 = ((($232)) + 80|0); HEAP32[$233>>2] = 1266094736; } } @@ -31742,7 +31937,7 @@ function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { $20 = ($19|0)>(3); $or$cond3 = $18 | $20; if ($or$cond3) { - $21 = (_sqlite3MisuseError(135070)|0); + $21 = (_sqlite3MisuseError(135478)|0); HEAP32[$0>>2] = $21; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -31763,12 +31958,12 @@ function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { $32 = ($31|0)!=(0|0); if ($32) { $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 148|0); + $34 = ((($33)) + 152|0); $35 = HEAP32[$34>>2]|0; $36 = ($35|0)!=(0); $37 = HEAP32[$1>>2]|0; if ($36) { - _sqlite3ErrorWithMsg($37,5,21222,$vararg_buffer); + _sqlite3ErrorWithMsg($37,5,20969,$vararg_buffer); HEAP32[$0>>2] = 5; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -31783,7 +31978,7 @@ function _createCollation($db,$zName,$enc,$pCtx,$xCompare,$xDel) { $44 = ($42|0)==($43|0); if ($44) { $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 432|0); + $46 = ((($45)) + 364|0); $47 = HEAP32[$2>>2]|0; $48 = (_sqlite3HashFind($46,$47)|0); HEAP32[$aColl>>2] = $48; @@ -31902,7 +32097,7 @@ function _sqlite3Init($db,$pzErrMsg) { HEAP32[$commit_internal>>2] = $8; HEAP32[$rc>>2] = 0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 140|0); + $10 = ((($9)) + 144|0); $11 = ((($10)) + 5|0); HEAP8[$11>>0] = 1; $12 = HEAP32[$0>>2]|0; @@ -31913,7 +32108,7 @@ function _sqlite3Init($db,$pzErrMsg) { $17 = ((($16)) + 77|0); $18 = HEAP8[$17>>0]|0; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 62|0); + $20 = ((($19)) + 66|0); HEAP8[$20>>0] = $18; HEAP32[$i>>2] = 0; while(1) { @@ -31991,7 +32186,7 @@ function _sqlite3Init($db,$pzErrMsg) { } } $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 140|0); + $72 = ((($71)) + 144|0); $73 = ((($72)) + 5|0); HEAP8[$73>>0] = 0; $74 = HEAP32[$rc>>2]|0; @@ -32054,7 +32249,7 @@ function _sqlite3FindTable($db,$zName,$zDatabase) { $19 = HEAP32[$18>>2]|0; $20 = (($19) + ($16<<4)|0); $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3_stricmp($15,$21)|0); + $22 = (_sqlite3StrICmp($15,$21)|0); $23 = ($22|0)!=(0); if (!($23)) { label = 5; @@ -32101,21 +32296,21 @@ function _sqlite3IsRowid($z) { $1 = sp; HEAP32[$1>>2] = $z; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_stricmp($2,20751)|0); + $3 = (_sqlite3StrICmp($2,20495)|0); $4 = ($3|0)==(0); do { if ($4) { HEAP32[$0>>2] = 1; } else { $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3_stricmp($5,20759)|0); + $6 = (_sqlite3StrICmp($5,20503)|0); $7 = ($6|0)==(0); if ($7) { HEAP32[$0>>2] = 1; break; } $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3_stricmp($8,20765)|0); + $9 = (_sqlite3StrICmp($8,20509)|0); $10 = ($9|0)==(0); if ($10) { HEAP32[$0>>2] = 1; @@ -32129,6 +32324,42 @@ function _sqlite3IsRowid($z) { $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); } +function _sqlite3ColumnType($pCol,$zDflt) { + $pCol = $pCol|0; + $zDflt = $zDflt|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$1>>2] = $pCol; + HEAP32[$2>>2] = $zDflt; + $3 = HEAP32[$1>>2]|0; + $4 = ((($3)) + 15|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 & 4; + $8 = ($7|0)==(0); + if ($8) { + $9 = HEAP32[$2>>2]|0; + HEAP32[$0>>2] = $9; + $17 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($17|0); + } else { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$1>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_strlen($13)|0); + $15 = (($11) + ($14)|0); + $16 = ((($15)) + 1|0); + HEAP32[$0>>2] = $16; + $17 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($17|0); + } + return (0)|0; +} function _sqlite3OsSleep($pVfs,$nMicro) { $pVfs = $pVfs|0; $nMicro = $nMicro|0; @@ -32193,7 +32424,7 @@ function _sqlite3DbNameToBtree($db,$zDbName) { $22 = HEAP32[$21>>2]|0; $23 = (($22) + ($19<<4)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_stricmp($18,$24)|0); + $25 = (_sqlite3StrICmp($18,$24)|0); $26 = ($25|0)==(0); if ($26) { label = 6; @@ -32481,8 +32712,8 @@ function _sqlite3ScratchMalloc($n) { } function _sqlite3ScratchFree($p) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iSize = 0, $pSlot = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $iSize = 0, $pSlot = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -32495,46 +32726,50 @@ function _sqlite3ScratchFree($p) { STACKTOP = sp;return; } $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[(200)>>2]|0; - $5 = ($3>>>0)>=($4>>>0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[(296)>>2]|0; - $8 = ($6>>>0)<($7>>>0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - HEAP32[$pSlot>>2] = $9; - $10 = HEAP32[(300)>>2]|0; - $11 = HEAP32[$pSlot>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$pSlot>>2]|0; - HEAP32[(300)>>2] = $12; - $13 = HEAP32[(304)>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[(304)>>2] = $14; + $4 = $3; + $5 = HEAP32[(200)>>2]|0; + $6 = $5; + $7 = ($4>>>0)>=($6>>>0); + if ($7) { + $8 = HEAP32[$0>>2]|0; + $9 = $8; + $10 = HEAP32[(296)>>2]|0; + $11 = $10; + $12 = ($9>>>0)<($11>>>0); + if ($12) { + $13 = HEAP32[$0>>2]|0; + HEAP32[$pSlot>>2] = $13; + $14 = HEAP32[(300)>>2]|0; + $15 = HEAP32[$pSlot>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$pSlot>>2]|0; + HEAP32[(300)>>2] = $16; + $17 = HEAP32[(304)>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[(304)>>2] = $18; _sqlite3StatusDown(3,1); STACKTOP = sp;return; } } - $15 = HEAP32[8>>2]|0; - $16 = ($15|0)!=(0); - if ($16) { - $17 = HEAP32[$0>>2]|0; - $18 = (_sqlite3MallocSize($17)|0); - HEAP32[$iSize>>2] = $18; - $19 = HEAP32[$iSize>>2]|0; - _sqlite3StatusDown(4,$19); - $20 = HEAP32[$iSize>>2]|0; - _sqlite3StatusDown(0,$20); + $19 = HEAP32[8>>2]|0; + $20 = ($19|0)!=(0); + if ($20) { + $21 = HEAP32[$0>>2]|0; + $22 = (_sqlite3MallocSize($21)|0); + HEAP32[$iSize>>2] = $22; + $23 = HEAP32[$iSize>>2]|0; + _sqlite3StatusDown(4,$23); + $24 = HEAP32[$iSize>>2]|0; + _sqlite3StatusDown(0,$24); _sqlite3StatusDown(9,1); - $21 = HEAP32[(48)>>2]|0; - $22 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$21 & 255]($22); + $25 = HEAP32[(52)>>2]|0; + $26 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_vi[$25 & 255]($26); STACKTOP = sp;return; } else { - $23 = HEAP32[(48)>>2]|0; - $24 = HEAP32[$0>>2]|0; - FUNCTION_TABLE_vi[$23 & 255]($24); + $27 = HEAP32[(52)>>2]|0; + $28 = HEAP32[$0>>2]|0; + FUNCTION_TABLE_vi[$27 & 255]($28); STACKTOP = sp;return; } } @@ -32600,7 +32835,7 @@ function _sqlite3DecOrHexToI64($z,$pOut) { $18 = ((($17)) + 2|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; - $21 = (19267 + ($20)|0); + $21 = (19011 + ($20)|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; $24 = $23 & 8; @@ -32634,7 +32869,7 @@ function _sqlite3DecOrHexToI64($z,$pOut) { $40 = (($39) + ($38)|0); $41 = HEAP8[$40>>0]|0; $42 = $41&255; - $43 = (19267 + ($42)|0); + $43 = (19011 + ($42)|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; $46 = $45 & 8; @@ -32753,7 +32988,7 @@ function _sqlite3PagerFilename($pPager,$nullIfMemDb) { $7 = $6&255; $8 = ($7|0)!=(0); if ($8) { - $12 = 19266; + $12 = 19010; STACKTOP = sp;return ($12|0); } } @@ -32890,7 +33125,7 @@ function _sqlite3Atoi64($zNum,$pNum,$length,$enc) { $48 = HEAP32[$1>>2]|0; $49 = HEAP8[$48>>0]|0; $50 = $49&255; - $51 = (19267 + ($50)|0); + $51 = (19011 + ($50)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; $54 = $53 & 1; @@ -33145,7 +33380,7 @@ function _compare2pow63($zNum,$incr) { HEAP32[$0>>2] = $zNum; HEAP32[$1>>2] = $incr; HEAP32[$c>>2] = 0; - HEAP32[$pow63>>2] = 19631; + HEAP32[$pow63>>2] = 19375; HEAP32[$i>>2] = 0; while(1) { $2 = HEAP32[$c>>2]|0; @@ -33213,7 +33448,7 @@ function _getSafetyLevel($z,$omitFull,$dflt) { $4 = HEAP32[$1>>2]|0; $5 = HEAP8[$4>>0]|0; $6 = $5&255; - $7 = (19267 + ($6)|0); + $7 = (19011 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; $10 = $9 & 4; @@ -33237,17 +33472,17 @@ function _getSafetyLevel($z,$omitFull,$dflt) { break; } $18 = HEAP32[$i>>2]|0; - $19 = (19650 + ($18)|0); + $19 = (19394 + ($18)|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; $22 = HEAP32[$n>>2]|0; $23 = ($21|0)==($22|0); if ($23) { $24 = HEAP32[$i>>2]|0; - $25 = (19658 + ($24)|0); + $25 = (19402 + ($24)|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; - $28 = (19666 + ($27)|0); + $28 = (19410 + ($27)|0); $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$n>>2]|0; $31 = (_sqlite3_strnicmp($28,$29,$30)|0); @@ -33260,7 +33495,7 @@ function _getSafetyLevel($z,$omitFull,$dflt) { break; } $35 = HEAP32[$i>>2]|0; - $36 = (19691 + ($35)|0); + $36 = (19435 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = ($38|0)<=(1); @@ -33276,7 +33511,7 @@ function _getSafetyLevel($z,$omitFull,$dflt) { } if ((label|0) == 9) { $40 = HEAP32[$i>>2]|0; - $41 = (19691 + ($40)|0); + $41 = (19435 + ($40)|0); $42 = HEAP8[$41>>0]|0; HEAP8[$0>>0] = $42; $46 = HEAP8[$0>>0]|0; @@ -33383,7 +33618,7 @@ function _sqlite3GetInt32($zNum,$pValue) { $33 = ((($32)) + 2|0); $34 = HEAP8[$33>>0]|0; $35 = $34&255; - $36 = (19267 + ($35)|0); + $36 = (19011 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; $39 = $38 & 8; @@ -33412,7 +33647,7 @@ function _sqlite3GetInt32($zNum,$pValue) { $51 = (($50) + ($49)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; - $54 = (19267 + ($53)|0); + $54 = (19011 + ($53)|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; $57 = $56 & 8; @@ -33446,7 +33681,7 @@ function _sqlite3GetInt32($zNum,$pValue) { $78 = (($77) + ($76)|0); $79 = HEAP8[$78>>0]|0; $80 = $79&255; - $81 = (19267 + ($80)|0); + $81 = (19011 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 & 8; @@ -33670,7 +33905,7 @@ function _keywordCode($z,$n,$pType) { $5 = HEAP32[$0>>2]|0; $6 = HEAP8[$5>>0]|0; $7 = $6&255; - $8 = (18477 + ($7)|0); + $8 = (18221 + ($7)|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = $10<<2; @@ -33680,7 +33915,7 @@ function _keywordCode($z,$n,$pType) { $15 = (($14) + ($13)|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; - $18 = (18477 + ($17)|0); + $18 = (18221 + ($17)|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20*3)|0; @@ -33690,7 +33925,7 @@ function _keywordCode($z,$n,$pType) { $25 = (($24|0) % 127)&-1; HEAP32[$i>>2] = $25; $26 = HEAP32[$i>>2]|0; - $27 = (19699 + ($26)|0); + $27 = (19443 + ($26)|0); $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = (($29) - 1)|0; @@ -33703,7 +33938,7 @@ function _keywordCode($z,$n,$pType) { break; } $33 = HEAP32[$i>>2]|0; - $34 = (19826 + ($33)|0); + $34 = (19570 + ($33)|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = HEAP32[$1>>2]|0; @@ -33711,10 +33946,10 @@ function _keywordCode($z,$n,$pType) { if (!($38)) { HEAP32[$j>>2] = 0; $39 = HEAP32[$i>>2]|0; - $40 = (10628 + ($39<<1)|0); + $40 = (10352 + ($39<<1)|0); $41 = HEAP16[$40>>1]|0; $42 = $41&65535; - $43 = (19950 + ($42)|0); + $43 = (19694 + ($42)|0); HEAP32[$zKW>>2] = $43; while(1) { $44 = HEAP32[$j>>2]|0; @@ -33751,7 +33986,7 @@ function _keywordCode($z,$n,$pType) { } } $68 = HEAP32[$i>>2]|0; - $69 = (20627 + ($68)|0); + $69 = (20371 + ($68)|0); $70 = HEAP8[$69>>0]|0; $71 = $70&255; $72 = (($71) - 1)|0; @@ -33762,7 +33997,7 @@ function _keywordCode($z,$n,$pType) { STACKTOP = sp;return ($73|0); } $63 = HEAP32[$i>>2]|0; - $64 = (20503 + ($63)|0); + $64 = (20247 + ($63)|0); $65 = HEAP8[$64>>0]|0; $66 = $65&255; $67 = HEAP32[$2>>2]|0; @@ -34062,7 +34297,7 @@ function _sqlite3PcacheSetPageSize($pCache,$szPage) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0); if ($6) { - $7 = HEAP32[(128)>>2]|0; + $7 = HEAP32[(132)>>2]|0; $8 = HEAP32[$2>>2]|0; $9 = HEAP32[$1>>2]|0; $10 = ((($9)) + 28|0); @@ -34081,7 +34316,7 @@ function _sqlite3PcacheSetPageSize($pCache,$szPage) { $38 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($38|0); } - $20 = HEAP32[(132)>>2]|0; + $20 = HEAP32[(136)>>2]|0; $21 = HEAP32[$pNew>>2]|0; $22 = HEAP32[$1>>2]|0; $23 = (_numberOfCachePages($22)|0); @@ -34091,7 +34326,7 @@ function _sqlite3PcacheSetPageSize($pCache,$szPage) { $26 = HEAP32[$25>>2]|0; $27 = ($26|0)!=(0|0); if ($27) { - $28 = HEAP32[(156)>>2]|0; + $28 = HEAP32[(160)>>2]|0; $29 = HEAP32[$1>>2]|0; $30 = ((($29)) + 44|0); $31 = HEAP32[$30>>2]|0; @@ -34132,54 +34367,58 @@ function _pagerFixMaplimit($pPager) { } function _pcache1Free($p) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $nFreed = 0, $pSlot = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nFreed = 0, $pSlot = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; - $nFreed = sp + 4|0; - $pSlot = sp; + $pSlot = sp + 4|0; + $nFreed = sp; HEAP32[$0>>2] = $p; - HEAP32[$nFreed>>2] = 0; $1 = HEAP32[$0>>2]|0; $2 = ($1|0)==(0|0); if ($2) { STACKTOP = sp;return; } $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[(1660)>>2]|0; - $5 = ($3>>>0)>=($4>>>0); - if ($5) { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[(1664)>>2]|0; - $8 = ($6>>>0)<($7>>>0); - if ($8) { + $4 = $3; + $5 = HEAP32[(1684)>>2]|0; + $6 = $5; + $7 = ($4>>>0)>=($6>>>0); + if ($7) { + $8 = HEAP32[$0>>2]|0; + $9 = $8; + $10 = HEAP32[(1688)>>2]|0; + $11 = $10; + $12 = ($9>>>0)<($11>>>0); + if ($12) { _sqlite3StatusDown(1,1); - $9 = HEAP32[$0>>2]|0; - HEAP32[$pSlot>>2] = $9; - $10 = HEAP32[(1672)>>2]|0; - $11 = HEAP32[$pSlot>>2]|0; - HEAP32[$11>>2] = $10; - $12 = HEAP32[$pSlot>>2]|0; - HEAP32[(1672)>>2] = $12; - $13 = HEAP32[(1676)>>2]|0; - $14 = (($13) + 1)|0; - HEAP32[(1676)>>2] = $14; - $15 = HEAP32[(1676)>>2]|0; - $16 = HEAP32[(1656)>>2]|0; - $17 = ($15|0)<($16|0); - $18 = $17&1; - HEAP32[(1680)>>2] = $18; + $13 = HEAP32[$0>>2]|0; + HEAP32[$pSlot>>2] = $13; + $14 = HEAP32[(1696)>>2]|0; + $15 = HEAP32[$pSlot>>2]|0; + HEAP32[$15>>2] = $14; + $16 = HEAP32[$pSlot>>2]|0; + HEAP32[(1696)>>2] = $16; + $17 = HEAP32[(1700)>>2]|0; + $18 = (($17) + 1)|0; + HEAP32[(1700)>>2] = $18; + $19 = HEAP32[(1700)>>2]|0; + $20 = HEAP32[(1680)>>2]|0; + $21 = ($19|0)<($20|0); + $22 = $21&1; + HEAP32[(1704)>>2] = $22; STACKTOP = sp;return; } } - $19 = HEAP32[$0>>2]|0; - $20 = (_sqlite3MallocSize($19)|0); - HEAP32[$nFreed>>2] = $20; - $21 = HEAP32[$nFreed>>2]|0; - _sqlite3StatusDown(2,$21); - $22 = HEAP32[$0>>2]|0; - _sqlite3_free($22); + HEAP32[$nFreed>>2] = 0; + $23 = HEAP32[$0>>2]|0; + $24 = (_sqlite3MallocSize($23)|0); + HEAP32[$nFreed>>2] = $24; + $25 = HEAP32[$nFreed>>2]|0; + _sqlite3StatusDown(2,$25); + $26 = HEAP32[$0>>2]|0; + _sqlite3_free($26); STACKTOP = sp;return; } function _numberOfCachePages($p) { @@ -34316,7 +34555,7 @@ function _sqlite3PcacheTruncate($pCache,$pgno) { $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0); if ($25) { - $26 = HEAP32[(140)>>2]|0; + $26 = HEAP32[(144)>>2]|0; $27 = HEAP32[$0>>2]|0; $28 = ((($27)) + 44|0); $29 = HEAP32[$28>>2]|0; @@ -34335,7 +34574,7 @@ function _sqlite3PcacheTruncate($pCache,$pgno) { } } } - $38 = HEAP32[(152)>>2]|0; + $38 = HEAP32[(156)>>2]|0; $39 = HEAP32[$0>>2]|0; $40 = ((($39)) + 44|0); $41 = HEAP32[$40>>2]|0; @@ -34586,7 +34825,7 @@ function _pcacheUnpin($p) { if (!($6)) { STACKTOP = sp;return; } - $7 = HEAP32[(144)>>2]|0; + $7 = HEAP32[(148)>>2]|0; $8 = HEAP32[$0>>2]|0; $9 = ((($8)) + 28|0); $10 = HEAP32[$9>>2]|0; @@ -34609,25 +34848,25 @@ function _pcache1Alloc($nByte) { HEAP32[$0>>2] = $nByte; HEAP32[$p>>2] = 0; $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[(1648)>>2]|0; + $2 = HEAP32[(1672)>>2]|0; $3 = ($1|0)<=($2|0); if ($3) { - $4 = HEAP32[(1672)>>2]|0; + $4 = HEAP32[(1696)>>2]|0; HEAP32[$p>>2] = $4; $5 = HEAP32[$p>>2]|0; $6 = ($5|0)!=(0|0); if ($6) { - $7 = HEAP32[(1672)>>2]|0; + $7 = HEAP32[(1696)>>2]|0; $8 = HEAP32[$7>>2]|0; - HEAP32[(1672)>>2] = $8; - $9 = HEAP32[(1676)>>2]|0; + HEAP32[(1696)>>2] = $8; + $9 = HEAP32[(1700)>>2]|0; $10 = (($9) + -1)|0; - HEAP32[(1676)>>2] = $10; - $11 = HEAP32[(1676)>>2]|0; - $12 = HEAP32[(1656)>>2]|0; + HEAP32[(1700)>>2] = $10; + $11 = HEAP32[(1700)>>2]|0; + $12 = HEAP32[(1680)>>2]|0; $13 = ($11|0)<($12|0); $14 = $13&1; - HEAP32[(1680)>>2] = $14; + HEAP32[(1704)>>2] = $14; $15 = HEAP32[$0>>2]|0; _sqlite3StatusHighwater(7,$15); _sqlite3StatusUp(1,1); @@ -35427,7 +35666,7 @@ function _findElementWithHash($pH,$pKey,$pHash) { $35 = ((($34)) + 12|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; - $38 = (_sqlite3_stricmp($36,$37)|0); + $38 = (_sqlite3StrICmp($36,$37)|0); $39 = ($38|0)==(0); $40 = HEAP32[$elem>>2]|0; if ($39) { @@ -35476,7 +35715,7 @@ function _strHash($z) { $9 = $7 ^ $8; $10 = HEAP8[$c>>0]|0; $11 = $10&255; - $12 = (18477 + ($11)|0); + $12 = (18221 + ($11)|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = $9 ^ $14; @@ -35527,13 +35766,13 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$openedTransaction>>2] = 0; $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(1); - $6 = $5 ? 20769 : 20788; + $6 = $5 ? 20513 : 20532; HEAP32[$zMasterName>>2] = $6; HEAP32[$azArg>>2] = $6; $7 = ((($azArg)) + 4|0); - HEAP32[$7>>2] = 20802; + HEAP32[$7>>2] = 20546; $8 = ((($azArg)) + 8|0); - HEAP32[$8>>2] = 20804; + HEAP32[$8>>2] = 20548; $9 = ((($azArg)) + 12|0); HEAP32[$9>>2] = 0; $10 = HEAP32[$1>>2]|0; @@ -35668,19 +35907,19 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP8[$encoding>>0] = $$; $90 = HEAP8[$encoding>>0]|0; $91 = HEAP32[$1>>2]|0; - $92 = ((($91)) + 62|0); + $92 = ((($91)) + 66|0); HEAP8[$92>>0] = $90; break; } $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 62|0); + $94 = ((($93)) + 66|0); $95 = HEAP8[$94>>0]|0; $96 = $95&255; $97 = ($82|0)!=($96|0); if ($97) { $98 = HEAP32[$3>>2]|0; $99 = HEAP32[$1>>2]|0; - _sqlite3SetString($98,$99,20880); + _sqlite3SetString($98,$99,20624); HEAP32[$rc>>2] = 1; break L16; } @@ -35700,7 +35939,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { } } while(0); $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 62|0); + $112 = ((($111)) + 66|0); $113 = HEAP8[$112>>0]|0; $114 = HEAP32[$pDb>>2]|0; $115 = ((($114)) + 12|0); @@ -35720,7 +35959,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$size>>2] = $126; $127 = HEAP32[$size>>2]|0; $128 = ($127|0)==(0); - $$1 = $128 ? 2000 : $126; + $$1 = $128 ? -2000 : $126; HEAP32[$size>>2] = $$1; $129 = HEAP32[$size>>2]|0; $130 = HEAP32[$pDb>>2]|0; @@ -35770,7 +36009,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { if ($166) { $167 = HEAP32[$3>>2]|0; $168 = HEAP32[$1>>2]|0; - _sqlite3SetString($167,$168,20948); + _sqlite3SetString($167,$168,20692); HEAP32[$rc>>2] = 1; break; } @@ -35799,14 +36038,14 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$vararg_buffer>>2] = $184; $vararg_ptr3 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr3>>2] = $185; - $186 = (_sqlite3MPrintf($178,20972,$vararg_buffer)|0); + $186 = (_sqlite3MPrintf($178,20716,$vararg_buffer)|0); HEAP32[$zSql>>2] = $186; $187 = HEAP32[$1>>2]|0; - $188 = ((($187)) + 288|0); + $188 = ((($187)) + 296|0); $189 = HEAP32[$188>>2]|0; HEAP32[$xAuth>>2] = $189; $190 = HEAP32[$1>>2]|0; - $191 = ((($190)) + 288|0); + $191 = ((($190)) + 296|0); HEAP32[$191>>2] = 0; $192 = HEAP32[$1>>2]|0; $193 = HEAP32[$zSql>>2]|0; @@ -35814,7 +36053,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { HEAP32[$rc>>2] = $194; $195 = HEAP32[$xAuth>>2]|0; $196 = HEAP32[$1>>2]|0; - $197 = ((($196)) + 288|0); + $197 = ((($196)) + 296|0); HEAP32[$197>>2] = $195; $198 = HEAP32[$rc>>2]|0; $199 = ($198|0)==(0); @@ -35834,7 +36073,7 @@ function _sqlite3InitOne($db,$iDb,$pzErrMsg) { (_sqlite3AnalysisLoad($206,$207)|0); } $208 = HEAP32[$1>>2]|0; - $209 = ((($208)) + 65|0); + $209 = ((($208)) + 69|0); $210 = HEAP8[$209>>0]|0; $211 = ($210<<24>>24)!=(0); if ($211) { @@ -36160,7 +36399,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $22 = $21&65535; HEAP16[$18>>1] = $22; $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 65|0); + $24 = ((($23)) + 69|0); $25 = HEAP8[$24>>0]|0; $26 = ($25<<24>>24)!=(0); if ($26) { @@ -36193,7 +36432,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $39 = HEAP32[$3>>2]|0; $40 = ((($39)) + 8|0); $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3_strnicmp($41,21114,7)|0); + $42 = (_sqlite3_strnicmp($41,20858,7)|0); $43 = ($42|0)==(0); if (!($43)) { $92 = HEAP32[$3>>2]|0; @@ -36245,7 +36484,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $127 = HEAP32[$pData>>2]|0; $128 = HEAP32[$3>>2]|0; $129 = HEAP32[$128>>2]|0; - _corruptSchema($127,$129,21122); + _corruptSchema($127,$129,20866); break L9; } } while(0); @@ -36258,7 +36497,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $44 = HEAP32[$iDb>>2]|0; $45 = $44&255; $46 = HEAP32[$db>>2]|0; - $47 = ((($46)) + 140|0); + $47 = ((($46)) + 144|0); $48 = ((($47)) + 4|0); HEAP8[$48>>0] = $45; $49 = HEAP32[$3>>2]|0; @@ -36266,10 +36505,10 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $51 = HEAP32[$50>>2]|0; $52 = (_sqlite3Atoi($51)|0); $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 140|0); + $54 = ((($53)) + 144|0); HEAP32[$54>>2] = $52; $55 = HEAP32[$db>>2]|0; - $56 = ((($55)) + 140|0); + $56 = ((($55)) + 144|0); $57 = ((($56)) + 6|0); HEAP8[$57>>0] = 0; $58 = HEAP32[$db>>2]|0; @@ -36282,7 +36521,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { $64 = HEAP32[$63>>2]|0; HEAP32[$rc>>2] = $64; $65 = HEAP32[$db>>2]|0; - $66 = ((($65)) + 140|0); + $66 = ((($65)) + 144|0); $67 = ((($66)) + 4|0); HEAP8[$67>>0] = 0; $68 = HEAP32[$rc>>2]|0; @@ -36290,7 +36529,7 @@ function _sqlite3InitCallback($pInit,$argc,$argv,$NotUsed) { do { if ($69) { $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 140|0); + $71 = ((($70)) + 144|0); $72 = ((($71)) + 6|0); $73 = HEAP8[$72>>0]|0; $74 = ($73<<24>>24)!=(0); @@ -36468,7 +36707,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { $29 = HEAP32[$1>>2]|0; $30 = ((($sInfo)) + 4|0); $31 = HEAP32[$30>>2]|0; - $32 = (_sqlite3FindTable($29,21027,$31)|0); + $32 = (_sqlite3FindTable($29,20771,$31)|0); $33 = ($32|0)==(0|0); if ($33) { HEAP32[$0>>2] = 1; @@ -36479,7 +36718,7 @@ function _sqlite3AnalysisLoad($db,$iDb) { $35 = ((($sInfo)) + 4|0); $36 = HEAP32[$35>>2]|0; HEAP32[$vararg_buffer>>2] = $36; - $37 = (_sqlite3MPrintf($34,21040,$vararg_buffer)|0); + $37 = (_sqlite3MPrintf($34,20784,$vararg_buffer)|0); HEAP32[$zSql>>2] = $37; $38 = HEAP32[$zSql>>2]|0; $39 = ($38|0)==(0|0); @@ -36543,7 +36782,7 @@ function _sqlite3DefaultRowEst($pIdx) { $nCopy = sp + 4|0; $i = sp; HEAP32[$0>>2] = $pIdx; - ;HEAP16[$aVal>>1]=HEAP16[10892>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[10892+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[10892+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[10892+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[10892+8>>1]|0; + ;HEAP16[$aVal>>1]=HEAP16[10616>>1]|0;HEAP16[$aVal+2>>1]=HEAP16[10616+2>>1]|0;HEAP16[$aVal+4>>1]=HEAP16[10616+4>>1]|0;HEAP16[$aVal+6>>1]=HEAP16[10616+6>>1]|0;HEAP16[$aVal+8>>1]=HEAP16[10616+8>>1]|0; $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 8|0); $3 = HEAP32[$2>>2]|0; @@ -36876,7 +37115,7 @@ function _sqlite3FindIndex($db,$zName,$zDb) { $26 = HEAP32[$25>>2]|0; $27 = (($26) + ($23<<4)|0); $28 = HEAP32[$27>>2]|0; - $29 = (_sqlite3_stricmp($22,$28)|0); + $29 = (_sqlite3StrICmp($22,$28)|0); $30 = ($29|0)!=(0); if (!($30)) { label = 5; @@ -37012,7 +37251,7 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { break; } $51 = HEAP32[$z>>2]|0; - $52 = (_sqlite3_strglob(21081,$51)|0); + $52 = (_sqlite3_strglob(20825,$51)|0); $53 = ($52|0)==(0); do { if ($53) { @@ -37024,7 +37263,7 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { HEAP8[$55>>0] = $58; } else { $59 = HEAP32[$z>>2]|0; - $60 = (_sqlite3_strglob(21092,$59)|0); + $60 = (_sqlite3_strglob(20836,$59)|0); $61 = ($60|0)==(0); $62 = HEAP32[$z>>2]|0; if ($61) { @@ -37038,7 +37277,7 @@ function _decodeIntArray($zIntArray,$nOut,$aOut,$aLog,$pIndex) { HEAP16[$69>>1] = $67; break; } - $70 = (_sqlite3_strglob(21102,$62)|0); + $70 = (_sqlite3_strglob(20846,$62)|0); $71 = ($70|0)==(0); if ($71) { $72 = HEAP32[$4>>2]|0; @@ -37251,7 +37490,7 @@ function _sqlite3LogEst($0,$1) { $115 = $114; $116 = HEAP32[$115>>2]|0; $117 = $113 & 7; - $118 = (10876 + ($117<<1)|0); + $118 = (10600 + ($117<<1)|0); $119 = HEAP16[$118>>1]|0; $120 = $119 << 16 >> 16; $121 = HEAP16[$y>>1]|0; @@ -37294,7 +37533,7 @@ function _sqlite3PcacheSetCachesize($pCache,$mxPage) { $3 = HEAP32[$0>>2]|0; $4 = ((($3)) + 16|0); HEAP32[$4>>2] = $2; - $5 = HEAP32[(132)>>2]|0; + $5 = HEAP32[(136)>>2]|0; $6 = HEAP32[$0>>2]|0; $7 = ((($6)) + 44|0); $8 = HEAP32[$7>>2]|0; @@ -37326,7 +37565,7 @@ function _corruptSchema($pData,$zObj,$zExtra) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 65|0); + $6 = ((($5)) + 69|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if (!($8)) { @@ -37339,12 +37578,12 @@ function _corruptSchema($pData,$zObj,$zExtra) { $14 = HEAP32[$1>>2]|0; $15 = ($14|0)==(0|0); if ($15) { - HEAP32[$1>>2] = 21139; + HEAP32[$1>>2] = 20883; } $16 = HEAP32[$db>>2]|0; $17 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $17; - $18 = (_sqlite3MPrintf($16,21141,$vararg_buffer)|0); + $18 = (_sqlite3MPrintf($16,20885,$vararg_buffer)|0); HEAP32[$z>>2] = $18; $19 = HEAP32[$2>>2]|0; $20 = ($19|0)!=(0|0); @@ -37355,7 +37594,7 @@ function _corruptSchema($pData,$zObj,$zExtra) { HEAP32[$vararg_buffer1>>2] = $22; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $23; - $24 = (_sqlite3MPrintf($21,21172,$vararg_buffer1)|0); + $24 = (_sqlite3MPrintf($21,20916,$vararg_buffer1)|0); HEAP32[$z>>2] = $24; } $25 = HEAP32[$db>>2]|0; @@ -37372,7 +37611,7 @@ function _corruptSchema($pData,$zObj,$zExtra) { } } $34 = HEAP32[$db>>2]|0; - $35 = ((($34)) + 65|0); + $35 = ((($34)) + 69|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; $38 = ($37|0)!=(0); @@ -37383,7 +37622,7 @@ function _corruptSchema($pData,$zObj,$zExtra) { HEAP32[$41>>2] = $42; STACKTOP = sp;return; } - $39 = (_sqlite3CorruptError(109430)|0); + $39 = (_sqlite3CorruptError(109666)|0); $42 = $39; $40 = HEAP32[$0>>2]|0; $41 = ((($40)) + 12|0); @@ -37392,20 +37631,42 @@ function _corruptSchema($pData,$zObj,$zExtra) { } function _sqlite3CorruptError($lineno) { $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; + $0 = sp; HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_sourceid()|0); - $3 = ((($2)) + 20|0); - HEAP32[$vararg_buffer>>2] = $1; + $2 = (_reportError(11,$1,20924)|0); + STACKTOP = sp;return ($2|0); +} +function _reportError($iErr,$lineno,$zType) { + $iErr = $iErr|0; + $lineno = $lineno|0; + $zType = $zType|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + HEAP32[$0>>2] = $iErr; + HEAP32[$1>>2] = $lineno; + HEAP32[$2>>2] = $zType; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$1>>2]|0; + $6 = (_sqlite3_sourceid()|0); + $7 = ((($6)) + 20|0); + HEAP32[$vararg_buffer>>2] = $4; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $3; - _sqlite3_log(11,21180,$vararg_buffer); - STACKTOP = sp;return 11; + HEAP32[$vararg_ptr1>>2] = $5; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $7; + _sqlite3_log($3,20944,$vararg_buffer); + $8 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($8|0); } function _sqlite3FindCollSeq($db,$enc,$zName,$create) { $db = $db|0; @@ -37473,7 +37734,7 @@ function _findCollSeqEntry($db,$zName,$create) { HEAP32[$1>>2] = $zName; HEAP32[$2>>2] = $create; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 432|0); + $4 = ((($3)) + 364|0); $5 = HEAP32[$1>>2]|0; $6 = (_sqlite3HashFind($4,$5)|0); HEAP32[$pColl>>2] = $6; @@ -37538,7 +37799,7 @@ function _findCollSeqEntry($db,$zName,$create) { $46 = (($45) + ($43)|0); HEAP8[$46>>0] = 0; $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 432|0); + $48 = ((($47)) + 364|0); $49 = HEAP32[$pColl>>2]|0; $50 = HEAP32[$49>>2]|0; $51 = HEAP32[$pColl>>2]|0; @@ -37988,24 +38249,24 @@ function _insertElement($pH,$pEntry,$pNew) { function _sqlite3BeginBenignMalloc() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[1684>>2]|0; + $0 = HEAP32[1708>>2]|0; $1 = ($0|0)!=(0|0); if (!($1)) { return; } - $2 = HEAP32[1684>>2]|0; + $2 = HEAP32[1708>>2]|0; FUNCTION_TABLE_v[$2 & 255](); return; } function _sqlite3EndBenignMalloc() { var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[(1688)>>2]|0; + $0 = HEAP32[(1712)>>2]|0; $1 = ($0|0)!=(0|0); if (!($1)) { return; } - $2 = HEAP32[(1688)>>2]|0; + $2 = HEAP32[(1712)>>2]|0; FUNCTION_TABLE_v[$2 & 255](); return; } @@ -38218,7 +38479,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { L1: do { if ($or$cond3) { $19 = HEAP32[$2>>2]|0; - $20 = (_memcmp($19,26902,5)|0); + $20 = (_memcmp($19,26631,5)|0); $21 = ($20|0)==(0); if ($21) { HEAP32[$iOut>>2] = 0; @@ -38332,7 +38593,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { if (!($93)) { $94 = HEAP32[$2>>2]|0; $95 = ((($94)) + 7|0); - $96 = (_memcmp(26908,$95,9)|0); + $96 = (_memcmp(26637,$95,9)|0); $97 = ($96|0)!=(0); if (!($97)) { break; @@ -38345,7 +38606,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$vararg_buffer>>2] = $99; $vararg_ptr12 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr12>>2] = $101; - $102 = (_sqlite3_mprintf(26918,$vararg_buffer)|0); + $102 = (_sqlite3_mprintf(26647,$vararg_buffer)|0); $103 = HEAP32[$6>>2]|0; HEAP32[$103>>2] = $102; HEAP32[$rc>>2] = 1; @@ -38385,7 +38646,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $120 = (($119) + ($118)|0); $121 = HEAP8[$120>>0]|0; $122 = $121&255; - $123 = (19267 + ($122)|0); + $123 = (19011 + ($122)|0); $124 = HEAP8[$123>>0]|0; $125 = $124&255; $126 = $125 & 8; @@ -38397,7 +38658,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $131 = (($130) + ($129)|0); $132 = HEAP8[$131>>0]|0; $133 = $132&255; - $134 = (19267 + ($133)|0); + $134 = (19011 + ($133)|0); $135 = HEAP8[$134>>0]|0; $136 = $135&255; $137 = $136 & 8; @@ -38668,7 +38929,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $280 = ($279|0)==(3); if ($280) { $281 = HEAP32[$zOpt>>2]|0; - $282 = (_memcmp(26946,$281,3)|0); + $282 = (_memcmp(26675,$281,3)|0); $283 = ($282|0)==(0); if ($283) { $284 = HEAP32[$zVal>>2]|0; @@ -38689,30 +38950,30 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { $286 = ($285|0)==(5); if ($286) { $287 = HEAP32[$zOpt>>2]|0; - $288 = (_memcmp(26950,$287,5)|0); + $288 = (_memcmp(26679,$287,5)|0); $289 = ($288|0)==(0); if ($289) { HEAP32[$mask>>2] = 393216; - HEAP32[$aMode>>2] = 4912; + HEAP32[$aMode>>2] = 4940; $290 = HEAP32[$mask>>2]|0; HEAP32[$limit>>2] = $290; - HEAP32[$zModeType>>2] = 26950; + HEAP32[$zModeType>>2] = 26679; } } $291 = HEAP32[$nOpt>>2]|0; $292 = ($291|0)==(4); if ($292) { $293 = HEAP32[$zOpt>>2]|0; - $294 = (_memcmp(26956,$293,4)|0); + $294 = (_memcmp(26685,$293,4)|0); $295 = ($294|0)==(0); if ($295) { HEAP32[$mask>>2] = 135; - HEAP32[$aMode>>2] = 4936; + HEAP32[$aMode>>2] = 4964; $296 = HEAP32[$mask>>2]|0; $297 = HEAP32[$flags>>2]|0; $298 = $296 & $297; HEAP32[$limit>>2] = $298; - HEAP32[$zModeType>>2] = 26961; + HEAP32[$zModeType>>2] = 26690; } } $299 = HEAP32[$aMode>>2]|0; @@ -38797,7 +39058,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$vararg_buffer13>>2] = $328; $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); HEAP32[$vararg_ptr16>>2] = $329; - $330 = (_sqlite3_mprintf(26968,$vararg_buffer13)|0); + $330 = (_sqlite3_mprintf(26697,$vararg_buffer13)|0); $331 = HEAP32[$6>>2]|0; HEAP32[$331>>2] = $330; HEAP32[$rc>>2] = 1; @@ -38809,7 +39070,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { HEAP32[$vararg_buffer17>>2] = $336; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $337; - $338 = (_sqlite3_mprintf(26988,$vararg_buffer17)|0); + $338 = (_sqlite3_mprintf(26717,$vararg_buffer17)|0); $339 = HEAP32[$6>>2]|0; HEAP32[$339>>2] = $338; HEAP32[$rc>>2] = 3; @@ -38868,7 +39129,7 @@ function _sqlite3ParseUri($zDefaultVfs,$zUri,$pFlags,$ppVfs,$pzFile,$pzErrMsg) { if ($374) { $375 = HEAP32[$zVfs>>2]|0; HEAP32[$vararg_buffer21>>2] = $375; - $376 = (_sqlite3_mprintf(27012,$vararg_buffer21)|0); + $376 = (_sqlite3_mprintf(26741,$vararg_buffer21)|0); $377 = HEAP32[$6>>2]|0; HEAP32[$377>>2] = $376; HEAP32[$rc>>2] = 1; @@ -38915,11 +39176,11 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iDb = 0, $isMemdb = 0; - var $isTempDb = 0, $mutexOpen = 0, $nFilename = 0, $nFullPathname = 0, $nReserve = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pExisting = 0, $pSib = 0, $rc = 0, $zDbHeader = 0, $zFullPathname = 0, label = 0, sp = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $i = 0, $iDb = 0, $isMemdb = 0, $isTempDb = 0, $mutexOpen = 0, $nFilename = 0, $nFullPathname = 0, $nReserve = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pExisting = 0, $pSib = 0, $rc = 0, $zDbHeader = 0, $zFullPathname = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; $0 = sp + 76|0; @@ -38970,7 +39231,7 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $16 = ($15|0)!=(0|0); if ($16) { $17 = HEAP32[$2>>2]|0; - $18 = (_strcmp($17,26694)|0); + $18 = (_strcmp($17,26445)|0); $19 = ($18|0)==(0); if ($19) { $29 = 1; @@ -39030,8 +39291,8 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $46 = ($45|0)!=(0|0); if (!($46)) { HEAP32[$0>>2] = 7; - $395 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($395|0); + $399 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($399|0); } $47 = HEAP32[$p>>2]|0; $48 = ((($47)) + 8|0); @@ -39093,8 +39354,8 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $87 = HEAP32[$p>>2]|0; _sqlite3_free($87); HEAP32[$0>>2] = 7; - $395 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($395|0); + $399 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($399|0); } $88 = HEAP32[$isMemdb>>2]|0; $89 = ($88|0)!=(0); @@ -39119,11 +39380,11 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { _sqlite3_free($101); $102 = HEAP32[$rc>>2]|0; HEAP32[$0>>2] = $102; - $395 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($395|0); + $399 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($399|0); } } - $103 = HEAP32[4832>>2]|0; + $103 = HEAP32[4860>>2]|0; HEAP32[$pBt>>2] = $103; while(1) { $104 = HEAP32[$pBt>>2]|0; @@ -39208,8 +39469,8 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $138 = HEAP32[$p>>2]|0; _sqlite3_free($138); HEAP32[$0>>2] = 19; - $395 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($395|0); + $399 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($399|0); } } while(0); $151 = HEAP32[$zFullPathname>>2]|0; @@ -39408,12 +39669,12 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $288 = HEAP32[$pBt>>2]|0; $289 = ((($288)) + 64|0); HEAP32[$289>>2] = 1; - $290 = HEAP32[4832>>2]|0; + $290 = HEAP32[4860>>2]|0; $291 = HEAP32[$pBt>>2]|0; $292 = ((($291)) + 68|0); HEAP32[$292>>2] = $290; $293 = HEAP32[$pBt>>2]|0; - HEAP32[4832>>2] = $293; + HEAP32[4860>>2] = $293; label = 56; } else { label = 56; @@ -39460,9 +39721,9 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { break; } } - $371 = HEAP32[$i>>2]|0; - $372 = (($371) + 1)|0; - HEAP32[$i>>2] = $372; + $375 = HEAP32[$i>>2]|0; + $376 = (($375) + 1)|0; + HEAP32[$i>>2] = $376; } while(1) { $316 = HEAP32[$pSib>>2]|0; @@ -39480,117 +39741,121 @@ function _sqlite3BtreeOpen($pVfs,$zFilename,$db,$ppBtree,$flags,$vfsFlags) { $323 = HEAP32[$p>>2]|0; $324 = ((($323)) + 4|0); $325 = HEAP32[$324>>2]|0; - $326 = HEAP32[$pSib>>2]|0; - $327 = ((($326)) + 4|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($325>>>0)<($328>>>0); - if ($329) { - $330 = HEAP32[$pSib>>2]|0; - $331 = HEAP32[$p>>2]|0; - $332 = ((($331)) + 24|0); - HEAP32[$332>>2] = $330; + $326 = $325; + $327 = HEAP32[$pSib>>2]|0; + $328 = ((($327)) + 4|0); + $329 = HEAP32[$328>>2]|0; + $330 = $329; + $331 = ($326>>>0)<($330>>>0); + if ($331) { + $332 = HEAP32[$pSib>>2]|0; $333 = HEAP32[$p>>2]|0; - $334 = ((($333)) + 28|0); - HEAP32[$334>>2] = 0; + $334 = ((($333)) + 24|0); + HEAP32[$334>>2] = $332; $335 = HEAP32[$p>>2]|0; - $336 = HEAP32[$pSib>>2]|0; - $337 = ((($336)) + 28|0); - HEAP32[$337>>2] = $335; + $336 = ((($335)) + 28|0); + HEAP32[$336>>2] = 0; + $337 = HEAP32[$p>>2]|0; + $338 = HEAP32[$pSib>>2]|0; + $339 = ((($338)) + 28|0); + HEAP32[$339>>2] = $337; break; } while(1) { - $338 = HEAP32[$pSib>>2]|0; - $339 = ((($338)) + 24|0); - $340 = HEAP32[$339>>2]|0; - $341 = ($340|0)!=(0|0); - if ($341) { - $342 = HEAP32[$pSib>>2]|0; - $343 = ((($342)) + 24|0); - $344 = HEAP32[$343>>2]|0; - $345 = ((($344)) + 4|0); + $340 = HEAP32[$pSib>>2]|0; + $341 = ((($340)) + 24|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)!=(0|0); + if ($343) { + $344 = HEAP32[$pSib>>2]|0; + $345 = ((($344)) + 24|0); $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$p>>2]|0; - $348 = ((($347)) + 4|0); - $349 = HEAP32[$348>>2]|0; - $350 = ($346>>>0)<($349>>>0); - $396 = $350; + $347 = ((($346)) + 4|0); + $348 = HEAP32[$347>>2]|0; + $349 = $348; + $350 = HEAP32[$p>>2]|0; + $351 = ((($350)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352; + $354 = ($349>>>0)<($353>>>0); + $400 = $354; } else { - $396 = 0; + $400 = 0; } - $351 = HEAP32[$pSib>>2]|0; - $352 = ((($351)) + 24|0); - $353 = HEAP32[$352>>2]|0; - if (!($396)) { + $355 = HEAP32[$pSib>>2]|0; + $356 = ((($355)) + 24|0); + $357 = HEAP32[$356>>2]|0; + if (!($400)) { break; } - HEAP32[$pSib>>2] = $353; - } - $354 = HEAP32[$p>>2]|0; - $355 = ((($354)) + 24|0); - HEAP32[$355>>2] = $353; - $356 = HEAP32[$pSib>>2]|0; - $357 = HEAP32[$p>>2]|0; - $358 = ((($357)) + 28|0); - HEAP32[$358>>2] = $356; - $359 = HEAP32[$p>>2]|0; - $360 = ((($359)) + 24|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)!=(0|0); - if ($362) { - $363 = HEAP32[$p>>2]|0; - $364 = HEAP32[$p>>2]|0; - $365 = ((($364)) + 24|0); - $366 = HEAP32[$365>>2]|0; - $367 = ((($366)) + 28|0); - HEAP32[$367>>2] = $363; - } - $368 = HEAP32[$p>>2]|0; - $369 = HEAP32[$pSib>>2]|0; - $370 = ((($369)) + 24|0); - HEAP32[$370>>2] = $368; + HEAP32[$pSib>>2] = $357; + } + $358 = HEAP32[$p>>2]|0; + $359 = ((($358)) + 24|0); + HEAP32[$359>>2] = $357; + $360 = HEAP32[$pSib>>2]|0; + $361 = HEAP32[$p>>2]|0; + $362 = ((($361)) + 28|0); + HEAP32[$362>>2] = $360; + $363 = HEAP32[$p>>2]|0; + $364 = ((($363)) + 24|0); + $365 = HEAP32[$364>>2]|0; + $366 = ($365|0)!=(0|0); + if ($366) { + $367 = HEAP32[$p>>2]|0; + $368 = HEAP32[$p>>2]|0; + $369 = ((($368)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($370)) + 28|0); + HEAP32[$371>>2] = $367; + } + $372 = HEAP32[$p>>2]|0; + $373 = HEAP32[$pSib>>2]|0; + $374 = ((($373)) + 24|0); + HEAP32[$374>>2] = $372; } } while(0); - $373 = HEAP32[$p>>2]|0; - $374 = HEAP32[$4>>2]|0; - HEAP32[$374>>2] = $373; - } - $375 = HEAP32[$rc>>2]|0; - $376 = ($375|0)!=(0); - if ($376) { - $377 = HEAP32[$pBt>>2]|0; - $378 = ($377|0)!=(0|0); - if ($378) { - $379 = HEAP32[$pBt>>2]|0; - $380 = HEAP32[$379>>2]|0; - $381 = ($380|0)!=(0|0); - if ($381) { - $382 = HEAP32[$pBt>>2]|0; - $383 = HEAP32[$382>>2]|0; - (_sqlite3PagerClose($383)|0); - } - } - $384 = HEAP32[$pBt>>2]|0; - _sqlite3_free($384); - $385 = HEAP32[$p>>2]|0; - _sqlite3_free($385); - $386 = HEAP32[$4>>2]|0; - HEAP32[$386>>2] = 0; + $377 = HEAP32[$p>>2]|0; + $378 = HEAP32[$4>>2]|0; + HEAP32[$378>>2] = $377; + } + $379 = HEAP32[$rc>>2]|0; + $380 = ($379|0)!=(0); + if ($380) { + $381 = HEAP32[$pBt>>2]|0; + $382 = ($381|0)!=(0|0); + if ($382) { + $383 = HEAP32[$pBt>>2]|0; + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)!=(0|0); + if ($385) { + $386 = HEAP32[$pBt>>2]|0; + $387 = HEAP32[$386>>2]|0; + (_sqlite3PagerClose($387)|0); + } + } + $388 = HEAP32[$pBt>>2]|0; + _sqlite3_free($388); + $389 = HEAP32[$p>>2]|0; + _sqlite3_free($389); + $390 = HEAP32[$4>>2]|0; + HEAP32[$390>>2] = 0; } else { - $387 = HEAP32[$p>>2]|0; - $388 = (_sqlite3BtreeSchema($387,0,0)|0); - $389 = ($388|0)==(0|0); - if ($389) { - $390 = HEAP32[$p>>2]|0; - $391 = ((($390)) + 4|0); - $392 = HEAP32[$391>>2]|0; - $393 = HEAP32[$392>>2]|0; - _sqlite3PagerSetCachesize($393,2000); - } - } - $394 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $394; - $395 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($395|0); + $391 = HEAP32[$p>>2]|0; + $392 = (_sqlite3BtreeSchema($391,0,0)|0); + $393 = ($392|0)==(0|0); + if ($393) { + $394 = HEAP32[$p>>2]|0; + $395 = ((($394)) + 4|0); + $396 = HEAP32[$395>>2]|0; + $397 = HEAP32[$396>>2]|0; + _sqlite3PagerSetCachesize($397,-2000); + } + } + $398 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $398; + $399 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($399|0); } function _sqlite3SchemaGet($db,$pBt) { $db = $db|0; @@ -39649,7 +39914,7 @@ function _sqlite3SchemaGet($db,$pBt) { $25 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($25|0); } -function _sqlite3RegisterBuiltinFunctions($db) { +function _sqlite3RegisterPerConnectionBuiltinFunctions($db) { $db = $db|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; @@ -39658,7 +39923,7 @@ function _sqlite3RegisterBuiltinFunctions($db) { $rc = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_overload_function($1,26688,2)|0); + $2 = (_sqlite3_overload_function($1,26439,2)|0); HEAP32[$rc>>2] = $2; $3 = HEAP32[$rc>>2]|0; $4 = ($3|0)==(7); @@ -39715,7 +39980,7 @@ function _sqlite3AutoLoadExtensions($db) { if ($13) { $14 = HEAP32[$xInit>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = (FUNCTION_TABLE_iiii[$14 & 255]($15,$zErrmsg,3980)|0); + $16 = (FUNCTION_TABLE_iiii[$14 & 255]($15,$zErrmsg,4004)|0); HEAP32[$rc>>2] = $16; $17 = ($16|0)!=(0); if ($17) { @@ -39723,7 +39988,7 @@ function _sqlite3AutoLoadExtensions($db) { $19 = HEAP32[$rc>>2]|0; $20 = HEAP32[$zErrmsg>>2]|0; HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorWithMsg($18,$19,26649,$vararg_buffer); + _sqlite3ErrorWithMsg($18,$19,26400,$vararg_buffer); HEAP32[$go>>2] = 0; } } @@ -39786,17 +40051,17 @@ function _sqlite3Fts3Init($db) { if ($12) { $13 = HEAP32[$pHash>>2]|0; $14 = HEAP32[$pSimple>>2]|0; - $15 = (_sqlite3Fts3HashInsert($13,21308,7,$14)|0); + $15 = (_sqlite3Fts3HashInsert($13,21055,7,$14)|0); $16 = ($15|0)!=(0|0); if (!($16)) { $17 = HEAP32[$pHash>>2]|0; $18 = HEAP32[$pPorter>>2]|0; - $19 = (_sqlite3Fts3HashInsert($17,21315,7,$18)|0); + $19 = (_sqlite3Fts3HashInsert($17,21062,7,$18)|0); $20 = ($19|0)!=(0|0); if (!($20)) { $21 = HEAP32[$pHash>>2]|0; $22 = HEAP32[$pUnicode>>2]|0; - $23 = (_sqlite3Fts3HashInsert($21,21322,10,$22)|0); + $23 = (_sqlite3Fts3HashInsert($21,21069,10,$22)|0); $24 = ($23|0)!=(0|0); if (!($24)) { break; @@ -39811,45 +40076,45 @@ function _sqlite3Fts3Init($db) { if ($26) { $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$pHash>>2]|0; - $29 = (_sqlite3Fts3InitHashTable($27,$28,21332)|0); + $29 = (_sqlite3Fts3InitHashTable($27,$28,21079)|0); HEAP32[$rc>>2] = $29; $30 = (0)==($29|0); if ($30) { $31 = HEAP32[$1>>2]|0; - $32 = (_sqlite3_overload_function($31,21347,-1)|0); + $32 = (_sqlite3_overload_function($31,21094,-1)|0); HEAP32[$rc>>2] = $32; $33 = (0)==($32|0); if ($33) { $34 = HEAP32[$1>>2]|0; - $35 = (_sqlite3_overload_function($34,21355,1)|0); + $35 = (_sqlite3_overload_function($34,21102,1)|0); HEAP32[$rc>>2] = $35; $36 = (0)==($35|0); if ($36) { $37 = HEAP32[$1>>2]|0; - $38 = (_sqlite3_overload_function($37,21363,1)|0); + $38 = (_sqlite3_overload_function($37,21110,1)|0); HEAP32[$rc>>2] = $38; $39 = (0)==($38|0); if ($39) { $40 = HEAP32[$1>>2]|0; - $41 = (_sqlite3_overload_function($40,21363,2)|0); + $41 = (_sqlite3_overload_function($40,21110,2)|0); HEAP32[$rc>>2] = $41; $42 = (0)==($41|0); if ($42) { $43 = HEAP32[$1>>2]|0; - $44 = (_sqlite3_overload_function($43,21373,1)|0); + $44 = (_sqlite3_overload_function($43,21120,1)|0); HEAP32[$rc>>2] = $44; $45 = (0)==($44|0); if ($45) { $46 = HEAP32[$1>>2]|0; $47 = HEAP32[$pHash>>2]|0; - $48 = (_sqlite3_create_module_v2($46,21382,1692,$47,151)|0); + $48 = (_sqlite3_create_module_v2($46,21129,1716,$47,151)|0); HEAP32[$rc>>2] = $48; $49 = HEAP32[$rc>>2]|0; $50 = ($49|0)==(0); if ($50) { $51 = HEAP32[$1>>2]|0; $52 = HEAP32[$pHash>>2]|0; - $53 = (_sqlite3_create_module_v2($51,21387,1692,$52,0)|0); + $53 = (_sqlite3_create_module_v2($51,21134,1716,$52,0)|0); HEAP32[$rc>>2] = $53; } $54 = HEAP32[$rc>>2]|0; @@ -39892,7 +40157,7 @@ function _sqlite3Fts3UnicodeTokenizer($ppModule) { $0 = sp; HEAP32[$0>>2] = $ppModule; $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2312; + HEAP32[$1>>2] = 2336; STACKTOP = sp;return; } function _sqlite3Fts3InitAux($db) { @@ -39904,7 +40169,7 @@ function _sqlite3Fts3InitAux($db) { $rc = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_create_module($1,26300,2220,0)|0); + $2 = (_sqlite3_create_module($1,26051,2244,0)|0); HEAP32[$rc>>2] = $2; $3 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($3|0); @@ -39917,7 +40182,7 @@ function _sqlite3Fts3SimpleTokenizerModule($ppModule) { $0 = sp; HEAP32[$0>>2] = $ppModule; $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2192; + HEAP32[$1>>2] = 2216; STACKTOP = sp;return; } function _sqlite3Fts3PorterTokenizerModule($ppModule) { @@ -39928,7 +40193,7 @@ function _sqlite3Fts3PorterTokenizerModule($ppModule) { $0 = sp; HEAP32[$0>>2] = $ppModule; $1 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = 2164; + HEAP32[$1>>2] = 2188; STACKTOP = sp;return; } function _sqlite3Fts3HashInit($pNew,$keyClass,$copyKey) { @@ -40248,7 +40513,7 @@ function _sqlite3Fts3InitTok($db,$pHash) { HEAP32[$1>>2] = $pHash; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3_create_module($2,21392,1784,$3)|0); + $4 = (_sqlite3_create_module($2,21139,1808,$3)|0); HEAP32[$rc>>2] = $4; $5 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($5|0); @@ -40366,7 +40631,7 @@ function _fts3tokConnectMethod($db,$pHash,$argc,$argv,$ppVtab,$pzErr) { HEAP32[$pTok>>2] = 0; HEAP32[$azDequote>>2] = 0; $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3_declare_vtab($7,21405)|0); + $8 = (_sqlite3_declare_vtab($7,21152)|0); HEAP32[$rc>>2] = $8; $9 = HEAP32[$rc>>2]|0; $10 = ($9|0)!=(0); @@ -40390,7 +40655,7 @@ function _fts3tokConnectMethod($db,$pHash,$argc,$argv,$ppVtab,$pzErr) { $20 = HEAP32[$nDequote>>2]|0; $21 = ($20|0)<(1); if ($21) { - HEAP32[$zModule>>2] = 21308; + HEAP32[$zModule>>2] = 21055; } else { $22 = HEAP32[$azDequote>>2]|0; $23 = HEAP32[$22>>2]|0; @@ -41135,7 +41400,7 @@ function _fts3tokQueryTokenizer($pHash,$zName,$pp,$pzErr) { $14 = HEAP32[$4>>2]|0; $15 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $15; - _sqlite3Fts3ErrMsg($14,21456,$vararg_buffer); + _sqlite3Fts3ErrMsg($14,21203,$vararg_buffer); HEAP32[$0>>2] = 1; $18 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($18|0); @@ -42011,9 +42276,9 @@ function _fts3BestIndexMethod($pVTab,$pInfo) { $182 = HEAP32[$2>>2]|0; $183 = ((($182)) + 24|0); if ($181) { - HEAP32[$183>>2] = 24471; + HEAP32[$183>>2] = 24232; } else { - HEAP32[$183>>2] = 24476; + HEAP32[$183>>2] = 24237; } $184 = HEAP32[$2>>2]|0; $185 = ((($184)) + 32|0); @@ -42129,7 +42394,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer>>2] = $13; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $16; - _fts3DbExec($rc,$12,24671,$vararg_buffer); + _fts3DbExec($rc,$12,24432,$vararg_buffer); } $17 = HEAP32[$db>>2]|0; $18 = HEAP32[$zDb>>2]|0; @@ -42139,7 +42404,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer2>>2] = $18; $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); HEAP32[$vararg_ptr5>>2] = $21; - _fts3DbExec($rc,$17,24708,$vararg_buffer2); + _fts3DbExec($rc,$17,24469,$vararg_buffer2); $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$zDb>>2]|0; $24 = HEAP32[$p>>2]|0; @@ -42148,7 +42413,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer6>>2] = $23; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $26; - _fts3DbExec($rc,$22,24746,$vararg_buffer6); + _fts3DbExec($rc,$22,24507,$vararg_buffer6); $27 = HEAP32[$db>>2]|0; $28 = HEAP32[$zDb>>2]|0; $29 = HEAP32[$p>>2]|0; @@ -42157,7 +42422,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer10>>2] = $28; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $31; - _fts3DbExec($rc,$27,24782,$vararg_buffer10); + _fts3DbExec($rc,$27,24543,$vararg_buffer10); $32 = HEAP32[$db>>2]|0; $33 = HEAP32[$zDb>>2]|0; $34 = HEAP32[$p>>2]|0; @@ -42166,7 +42431,7 @@ function _fts3DestroyMethod($pVtab) { HEAP32[$vararg_buffer14>>2] = $33; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $36; - _fts3DbExec($rc,$32,24819,$vararg_buffer14); + _fts3DbExec($rc,$32,24580,$vararg_buffer14); $37 = HEAP32[$rc>>2]|0; $38 = ($37|0)==(0); if ($38) { @@ -42550,7 +42815,7 @@ function _fts3FilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { $184 = HEAP8[$183>>0]|0; $185 = $184&255; $186 = ($185|0)!=(0); - $187 = $186 ? 24471 : 24476; + $187 = $186 ? 24232 : 24237; HEAP32[$vararg_buffer>>2] = $165; $vararg_ptr4 = ((($vararg_buffer)) + 8|0); $188 = $vararg_ptr4; @@ -42568,18 +42833,18 @@ function _fts3FilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { HEAP32[$195>>2] = $181; $vararg_ptr6 = ((($vararg_buffer)) + 24|0); HEAP32[$vararg_ptr6>>2] = $187; - $196 = (_sqlite3_mprintf(24480,$vararg_buffer)|0); + $196 = (_sqlite3_mprintf(24241,$vararg_buffer)|0); HEAP32[$zSql>>2] = $196; } else { $197 = ((($166)) + 52|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199|0)!=(0); - $201 = $200 ? 24471 : 24476; + $201 = $200 ? 24232 : 24237; HEAP32[$vararg_buffer7>>2] = $165; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $201; - $202 = (_sqlite3_mprintf(24542,$vararg_buffer7)|0); + $202 = (_sqlite3_mprintf(24303,$vararg_buffer7)|0); HEAP32[$zSql>>2] = $202; } $203 = HEAP32[$zSql>>2]|0; @@ -43052,7 +43317,7 @@ function _fts3FindFunctionMethod($pVtab,$nArg,$zName,$pxFunc$coerce,$ppArg) { HEAP32[$4>>2] = $zName; HEAP32[$5>>2] = $pxFunc; HEAP32[$6>>2] = $ppArg; - ;HEAP32[$aOverload>>2]=HEAP32[2036>>2]|0;HEAP32[$aOverload+4>>2]=HEAP32[2036+4>>2]|0;HEAP32[$aOverload+8>>2]=HEAP32[2036+8>>2]|0;HEAP32[$aOverload+12>>2]=HEAP32[2036+12>>2]|0;HEAP32[$aOverload+16>>2]=HEAP32[2036+16>>2]|0;HEAP32[$aOverload+20>>2]=HEAP32[2036+20>>2]|0;HEAP32[$aOverload+24>>2]=HEAP32[2036+24>>2]|0;HEAP32[$aOverload+28>>2]=HEAP32[2036+28>>2]|0; + ;HEAP32[$aOverload>>2]=HEAP32[2060>>2]|0;HEAP32[$aOverload+4>>2]=HEAP32[2060+4>>2]|0;HEAP32[$aOverload+8>>2]=HEAP32[2060+8>>2]|0;HEAP32[$aOverload+12>>2]=HEAP32[2060+12>>2]|0;HEAP32[$aOverload+16>>2]=HEAP32[2060+16>>2]|0;HEAP32[$aOverload+20>>2]=HEAP32[2060+20>>2]|0;HEAP32[$aOverload+24>>2]=HEAP32[2060+24>>2]|0;HEAP32[$aOverload+28>>2]=HEAP32[2060+28>>2]|0; HEAP32[$i>>2] = 0; while(1) { $7 = HEAP32[$i>>2]|0; @@ -43148,7 +43413,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr1>>2] = $22; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $23; - _fts3DbExec($rc,$16,21478,$vararg_buffer); + _fts3DbExec($rc,$16,21225,$vararg_buffer); } $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 230|0); @@ -43168,7 +43433,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr6>>2] = $34; $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); HEAP32[$vararg_ptr7>>2] = $35; - _fts3DbExec($rc,$28,21531,$vararg_buffer3); + _fts3DbExec($rc,$28,21278,$vararg_buffer3); } $36 = HEAP32[$p>>2]|0; $37 = ((($36)) + 229|0); @@ -43188,7 +43453,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr11>>2] = $46; $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); HEAP32[$vararg_ptr12>>2] = $47; - _fts3DbExec($rc,$40,21584,$vararg_buffer8); + _fts3DbExec($rc,$40,21331,$vararg_buffer8); } $48 = HEAP32[$db>>2]|0; $49 = HEAP32[$p>>2]|0; @@ -43203,7 +43468,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr16>>2] = $54; $vararg_ptr17 = ((($vararg_buffer13)) + 8|0); HEAP32[$vararg_ptr17>>2] = $55; - _fts3DbExec($rc,$48,21631,$vararg_buffer13); + _fts3DbExec($rc,$48,21378,$vararg_buffer13); $56 = HEAP32[$db>>2]|0; $57 = HEAP32[$p>>2]|0; $58 = ((($57)) + 16|0); @@ -43217,7 +43482,7 @@ function _fts3RenameMethod($pVtab,$zName) { HEAP32[$vararg_ptr21>>2] = $62; $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); HEAP32[$vararg_ptr22>>2] = $63; - _fts3DbExec($rc,$56,21685,$vararg_buffer18); + _fts3DbExec($rc,$56,21432,$vararg_buffer18); $64 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($64|0); } @@ -43373,7 +43638,7 @@ function _fts3SetHasStat($p) { $36 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($36|0); } - HEAP32[$zFmt>>2] = 24028; + HEAP32[$zFmt>>2] = 23789; $6 = HEAP32[$zFmt>>2]|0; $7 = HEAP32[$0>>2]|0; $8 = ((($7)) + 16|0); @@ -43603,12 +43868,12 @@ function _fts3SegmentMerge($p,$iLangid,$iIndex,$iLevel) { var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIgnoreEmpty = 0, $csr = 0, $filter = 0; - var $iIdx = 0, $iMaxLevel = 0, $iNewLevel = 0, $or$cond = 0, $pWriter = 0, $rc = 0, label = 0, sp = 0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIgnoreEmpty = 0, $csr = 0, $filter = 0, $iIdx = 0, $iMaxLevel = 0, $iNewLevel = 0, $or$cond = 0, $pWriter = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 120|0; @@ -43650,7 +43915,7 @@ function _fts3SegmentMerge($p,$iLangid,$iIndex,$iLevel) { HEAP32[$rc>>2] = $16; $17 = HEAP32[$rc>>2]|0; $18 = ($17|0)!=(0); - L1: do { + do { if (!($18)) { $19 = ((($csr)) + 4|0); $20 = HEAP32[$19>>2]|0; @@ -43672,141 +43937,146 @@ function _fts3SegmentMerge($p,$iLangid,$iIndex,$iLevel) { } $30 = HEAP32[$3>>2]|0; $31 = ($30|0)==(-2); - do { - if ($31) { - $32 = ((($csr)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(1); - if ($34) { + if ($31) { + $32 = ((($csr)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)==(1); + if ($34) { + $35 = HEAP32[$csr>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 56|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)!=(0|0); + $40 = $39&1; + $41 = (0)==($40|0); + if ($41) { HEAP32[$rc>>2] = 101; - break L1; - } else { - $35 = $iMaxLevel; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = (($35) + 4)|0; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = $iNewLevel; - $42 = $41; - HEAP32[$42>>2] = $37; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - HEAP32[$bIgnoreEmpty>>2] = 1; break; } + } + $42 = $iMaxLevel; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $iNewLevel; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + HEAP32[$bIgnoreEmpty>>2] = 1; + } else { + $52 = HEAP32[$0>>2]|0; + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$2>>2]|0; + $55 = HEAP32[$3>>2]|0; + $56 = (($55) + 1)|0; + $57 = (_getAbsoluteLevel($52,$53,$54,$56)|0); + $58 = tempRet0; + $59 = $iNewLevel; + $60 = $59; + HEAP32[$60>>2] = $57; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$1>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = HEAP32[$3>>2]|0; + $67 = (($66) + 1)|0; + $68 = (_fts3AllocateSegdirIdx($63,$64,$65,$67,$iIdx)|0); + HEAP32[$rc>>2] = $68; + $69 = HEAP32[$3>>2]|0; + $70 = ($69|0)!=(-1); + if ($70) { + $71 = $iNewLevel; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = $iMaxLevel; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = ($76|0)>($82|0); + $84 = ($73>>>0)>($79>>>0); + $85 = ($76|0)==($82|0); + $86 = $85 & $84; + $87 = $83 | $86; + $89 = $87; } else { - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = HEAP32[$3>>2]|0; - $49 = (($48) + 1)|0; - $50 = (_getAbsoluteLevel($45,$46,$47,$49)|0); - $51 = tempRet0; - $52 = $iNewLevel; - $53 = $52; - HEAP32[$53>>2] = $50; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $51; - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$2>>2]|0; - $59 = HEAP32[$3>>2]|0; - $60 = (($59) + 1)|0; - $61 = (_fts3AllocateSegdirIdx($56,$57,$58,$60,$iIdx)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$3>>2]|0; - $63 = ($62|0)!=(-1); - if ($63) { - $64 = $iNewLevel; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = $iMaxLevel; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = ($69|0)>($75|0); - $77 = ($66>>>0)>($72>>>0); - $78 = ($69|0)==($75|0); - $79 = $78 & $77; - $80 = $76 | $79; - $82 = $80; - } else { - $82 = 0; - } - $81 = $82&1; - HEAP32[$bIgnoreEmpty>>2] = $81; + $89 = 0; } - } while(0); - $83 = HEAP32[$rc>>2]|0; - $84 = ($83|0)!=(0); - if (!($84)) { + $88 = $89&1; + HEAP32[$bIgnoreEmpty>>2] = $88; + } + $90 = HEAP32[$rc>>2]|0; + $91 = ($90|0)!=(0); + if (!($91)) { ;HEAP32[$filter>>2]=0|0;HEAP32[$filter+4>>2]=0|0;HEAP32[$filter+8>>2]=0|0;HEAP32[$filter+12>>2]=0|0; - $85 = ((($filter)) + 12|0); - HEAP32[$85>>2] = 1; - $86 = HEAP32[$bIgnoreEmpty>>2]|0; - $87 = ($86|0)!=(0); - $88 = $87 ? 2 : 0; - $89 = ((($filter)) + 12|0); - $90 = HEAP32[$89>>2]|0; - $91 = $90 | $88; - HEAP32[$89>>2] = $91; - $92 = HEAP32[$0>>2]|0; - $93 = (_sqlite3Fts3SegReaderStart($92,$csr,$filter)|0); - HEAP32[$rc>>2] = $93; + $92 = ((($filter)) + 12|0); + HEAP32[$92>>2] = 1; + $93 = HEAP32[$bIgnoreEmpty>>2]|0; + $94 = ($93|0)!=(0); + $95 = $94 ? 2 : 0; + $96 = ((($filter)) + 12|0); + $97 = HEAP32[$96>>2]|0; + $98 = $97 | $95; + HEAP32[$96>>2] = $98; + $99 = HEAP32[$0>>2]|0; + $100 = (_sqlite3Fts3SegReaderStart($99,$csr,$filter)|0); + HEAP32[$rc>>2] = $100; while(1) { - $94 = HEAP32[$rc>>2]|0; - $95 = (0)==($94|0); - if (!($95)) { + $101 = HEAP32[$rc>>2]|0; + $102 = (0)==($101|0); + if (!($102)) { break; } - $96 = HEAP32[$0>>2]|0; - $97 = (_sqlite3Fts3SegReaderStep($96,$csr)|0); - HEAP32[$rc>>2] = $97; - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)!=(100); - if ($99) { + $103 = HEAP32[$0>>2]|0; + $104 = (_sqlite3Fts3SegReaderStep($103,$csr)|0); + HEAP32[$rc>>2] = $104; + $105 = HEAP32[$rc>>2]|0; + $106 = ($105|0)!=(100); + if ($106) { break; } - $100 = HEAP32[$0>>2]|0; - $101 = ((($csr)) + 40|0); - $102 = HEAP32[$101>>2]|0; - $103 = ((($csr)) + 44|0); - $104 = HEAP32[$103>>2]|0; - $105 = ((($csr)) + 48|0); - $106 = HEAP32[$105>>2]|0; - $107 = ((($csr)) + 52|0); - $108 = HEAP32[$107>>2]|0; - $109 = (_fts3SegWriterAdd($100,$pWriter,1,$102,$104,$106,$108)|0); - HEAP32[$rc>>2] = $109; + $107 = HEAP32[$0>>2]|0; + $108 = ((($csr)) + 40|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($csr)) + 44|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($csr)) + 48|0); + $113 = HEAP32[$112>>2]|0; + $114 = ((($csr)) + 52|0); + $115 = HEAP32[$114>>2]|0; + $116 = (_fts3SegWriterAdd($107,$pWriter,1,$109,$111,$113,$115)|0); + HEAP32[$rc>>2] = $116; } - $110 = HEAP32[$rc>>2]|0; - $111 = ($110|0)!=(0); - if (!($111)) { - $112 = HEAP32[$3>>2]|0; - $113 = ($112|0)!=(-1); - if ($113) { - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$1>>2]|0; - $116 = HEAP32[$2>>2]|0; - $117 = HEAP32[$3>>2]|0; - $118 = HEAP32[$csr>>2]|0; - $119 = ((($csr)) + 4|0); - $120 = HEAP32[$119>>2]|0; - $121 = (_fts3DeleteSegdir($114,$115,$116,$117,$118,$120)|0); - HEAP32[$rc>>2] = $121; - $122 = HEAP32[$rc>>2]|0; - $123 = ($122|0)==(0); - $124 = HEAP32[$pWriter>>2]|0; - $125 = ($124|0)!=(0|0); - $or$cond = $123 & $125; + $117 = HEAP32[$rc>>2]|0; + $118 = ($117|0)!=(0); + if (!($118)) { + $119 = HEAP32[$3>>2]|0; + $120 = ($119|0)!=(-1); + if ($120) { + $121 = HEAP32[$0>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = HEAP32[$2>>2]|0; + $124 = HEAP32[$3>>2]|0; + $125 = HEAP32[$csr>>2]|0; + $126 = ((($csr)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = (_fts3DeleteSegdir($121,$122,$123,$124,$125,$127)|0); + HEAP32[$rc>>2] = $128; + $129 = HEAP32[$rc>>2]|0; + $130 = ($129|0)==(0); + $131 = HEAP32[$pWriter>>2]|0; + $132 = ($131|0)!=(0|0); + $or$cond = $130 & $132; if (!($or$cond)) { break; } @@ -43817,72 +44087,72 @@ function _fts3SegmentMerge($p,$iLangid,$iIndex,$iLevel) { break; } } - $126 = HEAP32[$0>>2]|0; - $127 = HEAP32[$pWriter>>2]|0; - $128 = $iNewLevel; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = HEAP32[$iIdx>>2]|0; - $135 = (_fts3SegWriterFlush($126,$127,$130,$133,$134)|0); - HEAP32[$rc>>2] = $135; - $136 = HEAP32[$rc>>2]|0; - $137 = ($136|0)==(0); - if ($137) { - $138 = HEAP32[$3>>2]|0; - $139 = ($138|0)==(-1); - if (!($139)) { - $140 = $iNewLevel; - $141 = $140; - $142 = HEAP32[$141>>2]|0; - $143 = (($140) + 4)|0; - $144 = $143; - $145 = HEAP32[$144>>2]|0; - $146 = $iMaxLevel; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = ($145|0)<($151|0); - $153 = ($142>>>0)<($148>>>0); - $154 = ($145|0)==($151|0); - $155 = $154 & $153; - $156 = $152 | $155; - if (!($156)) { + $133 = HEAP32[$0>>2]|0; + $134 = HEAP32[$pWriter>>2]|0; + $135 = $iNewLevel; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = (($135) + 4)|0; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = HEAP32[$iIdx>>2]|0; + $142 = (_fts3SegWriterFlush($133,$134,$137,$140,$141)|0); + HEAP32[$rc>>2] = $142; + $143 = HEAP32[$rc>>2]|0; + $144 = ($143|0)==(0); + if ($144) { + $145 = HEAP32[$3>>2]|0; + $146 = ($145|0)==(-1); + if (!($146)) { + $147 = $iNewLevel; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = (($147) + 4)|0; + $151 = $150; + $152 = HEAP32[$151>>2]|0; + $153 = $iMaxLevel; + $154 = $153; + $155 = HEAP32[$154>>2]|0; + $156 = (($153) + 4)|0; + $157 = $156; + $158 = HEAP32[$157>>2]|0; + $159 = ($152|0)<($158|0); + $160 = ($149>>>0)<($155>>>0); + $161 = ($152|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if (!($163)) { break; } } - $157 = HEAP32[$0>>2]|0; - $158 = $iNewLevel; - $159 = $158; - $160 = HEAP32[$159>>2]|0; - $161 = (($158) + 4)|0; - $162 = $161; - $163 = HEAP32[$162>>2]|0; - $164 = HEAP32[$pWriter>>2]|0; - $165 = ((($164)) + 56|0); + $164 = HEAP32[$0>>2]|0; + $165 = $iNewLevel; $166 = $165; - $167 = $166; - $168 = HEAP32[$167>>2]|0; - $169 = (($166) + 4)|0; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (_fts3PromoteSegments($157,$160,$163,$168,$171)|0); - HEAP32[$rc>>2] = $172; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$pWriter>>2]|0; + $172 = ((($171)) + 56|0); + $173 = $172; + $174 = $173; + $175 = HEAP32[$174>>2]|0; + $176 = (($173) + 4)|0; + $177 = $176; + $178 = HEAP32[$177>>2]|0; + $179 = (_fts3PromoteSegments($164,$167,$170,$175,$178)|0); + HEAP32[$rc>>2] = $179; } } } } } } while(0); - $173 = HEAP32[$pWriter>>2]|0; - _fts3SegWriterFree($173); + $180 = HEAP32[$pWriter>>2]|0; + _fts3SegWriterFree($180); _sqlite3Fts3SegReaderFinish($csr); - $174 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($174|0); + $181 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($181|0); } function _fts3SqlStmt($p,$eStmt,$pp,$apVal) { $p = $p|0; @@ -43913,7 +44183,7 @@ function _fts3SqlStmt($p,$eStmt,$pp,$apVal) { HEAP32[$1>>2] = $eStmt; HEAP32[$2>>2] = $pp; HEAP32[$3>>2] = $apVal; - _memcpy(($azSql|0),(1876|0),160)|0; + _memcpy(($azSql|0),(1900|0),160)|0; HEAP32[$rc>>2] = 0; $4 = HEAP32[$1>>2]|0; $5 = HEAP32[$0>>2]|0; @@ -46922,7 +47192,7 @@ function _fts3WriteSegdir($p,$0,$1,$iIdx,$2,$3,$4,$5,$6,$7,$8,$9,$zRoot,$nRoot) $101 = (($99) + 4)|0; $102 = $101; HEAP32[$102>>2] = $94; - $103 = (_sqlite3_mprintf(24000,$vararg_buffer)|0); + $103 = (_sqlite3_mprintf(23761,$vararg_buffer)|0); HEAP32[$zEnd>>2] = $103; $104 = HEAP32[$zEnd>>2]|0; $105 = ($104|0)!=(0|0); @@ -50229,7 +50499,7 @@ function _sqlite3Fts3ReadBlock($p,$0,$1,$paBlob,$pnBlob,$pnLoad) { $30 = ((($29)) + 20|0); $31 = HEAP32[$30>>2]|0; HEAP32[$vararg_buffer>>2] = $31; - $32 = (_sqlite3_mprintf(24010,$vararg_buffer)|0); + $32 = (_sqlite3_mprintf(23771,$vararg_buffer)|0); $33 = HEAP32[$3>>2]|0; $34 = ((($33)) + 240|0); HEAP32[$34>>2] = $32; @@ -50260,7 +50530,7 @@ function _sqlite3Fts3ReadBlock($p,$0,$1,$paBlob,$pnBlob,$pnLoad) { $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$3>>2]|0; $55 = ((($54)) + 244|0); - $56 = (_sqlite3_blob_open($41,$44,$47,24022,$50,$53,0,$55)|0); + $56 = (_sqlite3_blob_open($41,$44,$47,23783,$50,$53,0,$55)|0); HEAP32[$rc>>2] = $56; } $57 = HEAP32[$rc>>2]|0; @@ -51843,21 +52113,21 @@ function _fts3SnippetFunc($pContext,$nVal,$apVal) { HEAP32[$0>>2] = $pContext; HEAP32[$1>>2] = $nVal; HEAP32[$2>>2] = $apVal; - HEAP32[$zStart>>2] = 24274; - HEAP32[$zEnd>>2] = 24278; - HEAP32[$zEllipsis>>2] = 24283; + HEAP32[$zStart>>2] = 24035; + HEAP32[$zEnd>>2] = 24039; + HEAP32[$zEllipsis>>2] = 24044; HEAP32[$iCol>>2] = -1; HEAP32[$nToken>>2] = 15; $3 = HEAP32[$1>>2]|0; $4 = ($3|0)>(6); $5 = HEAP32[$0>>2]|0; if ($4) { - _sqlite3_result_error($5,24294,-1); + _sqlite3_result_error($5,24055,-1); STACKTOP = sp;return; } $6 = HEAP32[$2>>2]|0; $7 = HEAP32[$6>>2]|0; - $8 = (_fts3FunctionArg($5,21347,$7,$pCsr)|0); + $8 = (_fts3FunctionArg($5,21094,$7,$pCsr)|0); $9 = ($8|0)!=(0); if ($9) { STACKTOP = sp;return; @@ -51940,7 +52210,7 @@ function _fts3SnippetFunc($pContext,$nVal,$apVal) { $39 = ($38|0)==(0); $40 = HEAP32[$0>>2]|0; if ($39) { - _sqlite3_result_text($40,19266,-1,0); + _sqlite3_result_text($40,19010,-1,0); STACKTOP = sp;return; } $41 = HEAP32[$pCsr>>2]|0; @@ -51976,7 +52246,7 @@ function _fts3OffsetsFunc($pContext,$nVal,$apVal) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,21355,$5,$pCsr)|0); + $6 = (_fts3FunctionArg($3,21102,$5,$pCsr)|0); $7 = ($6|0)!=(0); if ($7) { STACKTOP = sp;return; @@ -52013,7 +52283,7 @@ function _fts3OptimizeFunc($pContext,$nVal,$apVal) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,21373,$5,$pCursor)|0); + $6 = (_fts3FunctionArg($3,21120,$5,$pCursor)|0); $7 = ($6|0)!=(0); if ($7) { STACKTOP = sp;return; @@ -52028,13 +52298,13 @@ function _fts3OptimizeFunc($pContext,$nVal,$apVal) { switch ($12|0) { case 0: { $13 = HEAP32[$0>>2]|0; - _sqlite3_result_text($13,24178,-1,0); + _sqlite3_result_text($13,23939,-1,0); STACKTOP = sp;return; break; } case 101: { $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,24194,-1,0); + _sqlite3_result_text($14,23955,-1,0); STACKTOP = sp;return; break; } @@ -52065,7 +52335,7 @@ function _fts3MatchinfoFunc($pContext,$nVal,$apVal) { $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$2>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = (_fts3FunctionArg($3,21363,$5,$pCsr)|0); + $6 = (_fts3FunctionArg($3,21110,$5,$pCsr)|0); $7 = (0)==($6|0); if (!($7)) { STACKTOP = sp;return; @@ -52128,7 +52398,7 @@ function _fts3FunctionArg($pContext,$zFunc,$pVal,$ppCsr) { } $11 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - $12 = (_sqlite3_mprintf(24149,$vararg_buffer)|0); + $12 = (_sqlite3_mprintf(23910,$vararg_buffer)|0); HEAP32[$zErr>>2] = $12; $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$zErr>>2]|0; @@ -52163,7 +52433,7 @@ function _sqlite3Fts3Matchinfo($pContext,$pCsr,$zArg) { $7 = HEAP32[$2>>2]|0; HEAP32[$zFormat>>2] = $7; } else { - HEAP32[$zFormat>>2] = 24084; + HEAP32[$zFormat>>2] = 23845; } $8 = HEAP32[$1>>2]|0; $9 = ((($8)) + 12|0); @@ -52178,7 +52448,7 @@ function _sqlite3Fts3Matchinfo($pContext,$pCsr,$zArg) { _sqlite3Fts3SegmentsClose($15); STACKTOP = sp;return; } else { - _sqlite3_result_blob($12,19266,0,0); + _sqlite3_result_blob($12,19010,0,0); STACKTOP = sp;return; } } @@ -52553,7 +52823,7 @@ function _fts3MatchinfoCheck($pTab,$cArg,$pzErr) { $47 = HEAP8[$2>>0]|0; $48 = $47 << 24 >> 24; HEAP32[$vararg_buffer>>2] = $48; - _sqlite3Fts3ErrMsg($46,24114,$vararg_buffer); + _sqlite3Fts3ErrMsg($46,23875,$vararg_buffer); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -61484,7 +61754,7 @@ function _fts3CursorSeekStmt($pCsr,$ppStmt) { $10 = ((($9)) + 216|0); $11 = HEAP32[$10>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - $12 = (_sqlite3_mprintf(24088,$vararg_buffer)|0); + $12 = (_sqlite3_mprintf(23849,$vararg_buffer)|0); HEAP32[$zSql>>2] = $12; $13 = HEAP32[$zSql>>2]|0; $14 = ($13|0)!=(0|0); @@ -62660,7 +62930,7 @@ function _sqlite3Fts3Optimize($p) { $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 12|0); $3 = HEAP32[$2>>2]|0; - $4 = (_sqlite3_exec($3,24216,0,0,0)|0); + $4 = (_sqlite3_exec($3,23977,0,0,0)|0); HEAP32[$rc>>2] = $4; $5 = HEAP32[$rc>>2]|0; $6 = ($5|0)==(0); @@ -62678,14 +62948,14 @@ function _sqlite3Fts3Optimize($p) { $14 = ((($13)) + 12|0); $15 = HEAP32[$14>>2]|0; if (!($or$cond)) { - (_sqlite3_exec($15,24244,0,0,0)|0); + (_sqlite3_exec($15,24005,0,0,0)|0); $20 = HEAP32[$0>>2]|0; $21 = ((($20)) + 12|0); $22 = HEAP32[$21>>2]|0; - (_sqlite3_exec($22,24231,0,0,0)|0); + (_sqlite3_exec($22,23992,0,0,0)|0); break; } - $16 = (_sqlite3_exec($15,24231,0,0,0)|0); + $16 = (_sqlite3_exec($15,23992,0,0,0)|0); HEAP32[$rc2>>2] = $16; $17 = HEAP32[$rc2>>2]|0; $18 = ($17|0)!=(0); @@ -62858,7 +63128,7 @@ function _sqlite3Fts3Offsets($pCtx,$pCsr) { $11 = ($10|0)!=(0|0); if (!($11)) { $12 = HEAP32[$0>>2]|0; - _sqlite3_result_text($12,19266,0,0); + _sqlite3_result_text($12,19010,0,0); STACKTOP = sp;return; } ;HEAP32[$sCtx>>2]=0|0;HEAP32[$sCtx+4>>2]=0|0;HEAP32[$sCtx+8>>2]=0|0;HEAP32[$sCtx+12>>2]=0|0;HEAP32[$sCtx+16>>2]=0|0;HEAP32[$sCtx+20>>2]=0|0;HEAP32[$sCtx+24>>2]=0|0;HEAP32[$sCtx+28>>2]=0|0; @@ -63082,7 +63352,7 @@ function _sqlite3Fts3Offsets($pCtx,$pCsr) { HEAP32[$vararg_ptr2>>2] = $148; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $151; - (_sqlite3_snprintf(64,$aBuffer,24261,$vararg_buffer)|0); + (_sqlite3_snprintf(64,$aBuffer,24022,$vararg_buffer)|0); $152 = (_fts3StringAppend($res,$aBuffer,-1)|0); HEAP32[$rc>>2] = $152; continue; @@ -63423,7 +63693,7 @@ function _sqlite3Fts3Snippet($pCtx,$pCsr,$zStart,$zEnd,$zEllipsis,$iCol,$nToken) $12 = ($11|0)!=(0|0); if (!($12)) { $13 = HEAP32[$0>>2]|0; - _sqlite3_result_text($13,19266,0,0); + _sqlite3_result_text($13,19010,0,0); STACKTOP = sp;return; } HEAP32[$nSnippet>>2] = 1; @@ -65011,12 +65281,13 @@ function _sqlite3Fts3Incrmerge($p,$nMerge,$nMin) { var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bDirtyHint = 0, $bIgnore = 0, $bUseHint = 0, $hint = 0, $iAbsLevel = 0, $iHintAbsLevel = 0, $iIdx = 0; - var $nAlloc = 0, $nHint = 0, $nHintSeg = 0, $nKey = 0, $nMod = 0, $nRem = 0, $nSeg = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pCsr = 0, $pFilter = 0, $pFindLevel = 0, $pWriter = 0, $rc = 0, $zKey = 0, label = 0, sp = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bDirtyHint = 0, $bIgnore = 0, $bUseHint = 0; + var $hint = 0, $iAbsLevel = 0, $iHintAbsLevel = 0, $iIdx = 0, $nAlloc = 0, $nHint = 0, $nHintSeg = 0, $nKey = 0, $nMod = 0, $nRem = 0, $nSeg = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pCsr = 0, $pFilter = 0, $pFindLevel = 0, $pWriter = 0, $rc = 0; + var $zKey = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 112|0; @@ -65064,8 +65335,8 @@ function _sqlite3Fts3Incrmerge($p,$nMerge,$nMin) { $11 = ($10|0)!=(0|0); if (!($11)) { HEAP32[$0>>2] = 7; - $312 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($312|0); + $316 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($316|0); } $12 = HEAP32[$pWriter>>2]|0; $13 = ((($12)) + 568|0); @@ -65105,400 +65376,404 @@ function _sqlite3Fts3Incrmerge($p,$nMerge,$nMin) { HEAP32[$rc>>2] = $34; $35 = HEAP32[$pFindLevel>>2]|0; $36 = HEAP32[$3>>2]|0; - (_sqlite3_bind_int($35,1,$36)|0); - $37 = HEAP32[$pFindLevel>>2]|0; - $38 = (_sqlite3_step($37)|0); - $39 = ($38|0)==(100); - if ($39) { - $40 = HEAP32[$pFindLevel>>2]|0; - $41 = (_sqlite3_column_int64($40,0)|0); - $42 = tempRet0; - $43 = $iAbsLevel; - $44 = $43; - HEAP32[$44>>2] = $41; - $45 = (($43) + 4)|0; - $46 = $45; - HEAP32[$46>>2] = $42; - $47 = HEAP32[$3>>2]|0; - HEAP32[$nSeg>>2] = $47; + $37 = (2)>($36|0); + $38 = HEAP32[$3>>2]|0; + $39 = $37 ? 2 : $38; + (_sqlite3_bind_int($35,1,$39)|0); + $40 = HEAP32[$pFindLevel>>2]|0; + $41 = (_sqlite3_step($40)|0); + $42 = ($41|0)==(100); + if ($42) { + $43 = HEAP32[$pFindLevel>>2]|0; + $44 = (_sqlite3_column_int64($43,0)|0); + $45 = tempRet0; + $46 = $iAbsLevel; + $47 = $46; + HEAP32[$47>>2] = $44; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$pFindLevel>>2]|0; + $51 = (_sqlite3_column_int($50,1)|0); + HEAP32[$nSeg>>2] = $51; } else { HEAP32[$nSeg>>2] = -1; } - $48 = HEAP32[$pFindLevel>>2]|0; - $49 = (_sqlite3_reset($48)|0); - HEAP32[$rc>>2] = $49; - $50 = HEAP32[$rc>>2]|0; - $51 = ($50|0)==(0); + $52 = HEAP32[$pFindLevel>>2]|0; + $53 = (_sqlite3_reset($52)|0); + HEAP32[$rc>>2] = $53; + $54 = HEAP32[$rc>>2]|0; + $55 = ($54|0)==(0); do { - if ($51) { - $52 = ((($hint)) + 4|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)!=(0); - if ($54) { - $55 = ((($hint)) + 4|0); - $56 = HEAP32[$55>>2]|0; - HEAP32[$nHint>>2] = $56; - $57 = $iHintAbsLevel; - $58 = $57; - HEAP32[$58>>2] = 0; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = 0; + if ($55) { + $56 = ((($hint)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)!=(0); + if ($58) { + $59 = ((($hint)) + 4|0); + $60 = HEAP32[$59>>2]|0; + HEAP32[$nHint>>2] = $60; + $61 = $iHintAbsLevel; + $62 = $61; + HEAP32[$62>>2] = 0; + $63 = (($61) + 4)|0; + $64 = $63; + HEAP32[$64>>2] = 0; HEAP32[$nHintSeg>>2] = 0; - $61 = (_fts3IncrmergeHintPop($hint,$iHintAbsLevel,$nHintSeg)|0); - HEAP32[$rc>>2] = $61; - $62 = HEAP32[$nSeg>>2]|0; - $63 = ($62|0)<(0); - if (!($63)) { - $64 = $iAbsLevel; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = $nMod; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (($70) + 4)|0; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (___remdi3(($66|0),($69|0),($72|0),($75|0))|0); - $77 = tempRet0; - $78 = $iHintAbsLevel; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = $nMod; - $85 = $84; - $86 = HEAP32[$85>>2]|0; - $87 = (($84) + 4)|0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (___remdi3(($80|0),($83|0),($86|0),($89|0))|0); - $91 = tempRet0; - $92 = ($77|0)>($91|0); - $93 = ($76>>>0)>=($90>>>0); - $94 = ($77|0)==($91|0); - $95 = $94 & $93; - $96 = $92 | $95; - if (!($96)) { - $108 = HEAP32[$nHint>>2]|0; - $109 = ((($hint)) + 4|0); - HEAP32[$109>>2] = $108; + $65 = (_fts3IncrmergeHintPop($hint,$iHintAbsLevel,$nHintSeg)|0); + HEAP32[$rc>>2] = $65; + $66 = HEAP32[$nSeg>>2]|0; + $67 = ($66|0)<(0); + if (!($67)) { + $68 = $iAbsLevel; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $nMod; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = (($74) + 4)|0; + $78 = $77; + $79 = HEAP32[$78>>2]|0; + $80 = (___remdi3(($70|0),($73|0),($76|0),($79|0))|0); + $81 = tempRet0; + $82 = $iHintAbsLevel; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $nMod; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (___remdi3(($84|0),($87|0),($90|0),($93|0))|0); + $95 = tempRet0; + $96 = ($81|0)>($95|0); + $97 = ($80>>>0)>=($94>>>0); + $98 = ($81|0)==($95|0); + $99 = $98 & $97; + $100 = $96 | $99; + if (!($100)) { + $112 = HEAP32[$nHint>>2]|0; + $113 = ((($hint)) + 4|0); + HEAP32[$113>>2] = $112; break; } } - $97 = $iHintAbsLevel; - $98 = $97; - $99 = HEAP32[$98>>2]|0; - $100 = (($97) + 4)|0; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = $iAbsLevel; - $104 = $103; - HEAP32[$104>>2] = $99; - $105 = (($103) + 4)|0; - $106 = $105; - HEAP32[$106>>2] = $102; - $107 = HEAP32[$nHintSeg>>2]|0; - HEAP32[$nSeg>>2] = $107; + $101 = $iHintAbsLevel; + $102 = $101; + $103 = HEAP32[$102>>2]|0; + $104 = (($101) + 4)|0; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = $iAbsLevel; + $108 = $107; + HEAP32[$108>>2] = $103; + $109 = (($107) + 4)|0; + $110 = $109; + HEAP32[$110>>2] = $106; + $111 = HEAP32[$nHintSeg>>2]|0; + HEAP32[$nSeg>>2] = $111; HEAP32[$bUseHint>>2] = 1; HEAP32[$bDirtyHint>>2] = 1; } } } while(0); - $110 = HEAP32[$nSeg>>2]|0; - $111 = ($110|0)<(0); - if ($111) { + $114 = HEAP32[$nSeg>>2]|0; + $115 = ($114|0)<(0); + if ($115) { break; } - $112 = HEAP32[$pWriter>>2]|0; - _memset(($112|0),0,640)|0; - $113 = HEAP32[$pFilter>>2]|0; - $114 = ((($113)) + 12|0); - HEAP32[$114>>2] = 1; - $115 = HEAP32[$rc>>2]|0; - $116 = ($115|0)==(0); + $116 = HEAP32[$pWriter>>2]|0; + _memset(($116|0),0,640)|0; + $117 = HEAP32[$pFilter>>2]|0; + $118 = ((($117)) + 12|0); + HEAP32[$118>>2] = 1; + $119 = HEAP32[$rc>>2]|0; + $120 = ($119|0)==(0); do { - if ($116) { - $117 = HEAP32[$1>>2]|0; - $118 = $iAbsLevel; - $119 = $118; - $120 = HEAP32[$119>>2]|0; - $121 = (($118) + 4)|0; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (_fts3IncrmergeOutputIdx($117,$120,$123,$iIdx)|0); - HEAP32[$rc>>2] = $124; - $125 = HEAP32[$iIdx>>2]|0; - $126 = ($125|0)==(0); - if (!($126)) { - $127 = HEAP32[$bUseHint>>2]|0; - $128 = ($127|0)!=(0); - $129 = HEAP32[$iIdx>>2]|0; - $130 = ($129|0)==(1); - $or$cond = $128 & $130; + if ($120) { + $121 = HEAP32[$1>>2]|0; + $122 = $iAbsLevel; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $125 = (($122) + 4)|0; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (_fts3IncrmergeOutputIdx($121,$124,$127,$iIdx)|0); + HEAP32[$rc>>2] = $128; + $129 = HEAP32[$iIdx>>2]|0; + $130 = ($129|0)==(0); + if (!($130)) { + $131 = HEAP32[$bUseHint>>2]|0; + $132 = ($131|0)!=(0); + $133 = HEAP32[$iIdx>>2]|0; + $134 = ($133|0)==(1); + $or$cond = $132 & $134; if (!($or$cond)) { break; } } HEAP32[$bIgnore>>2] = 0; - $131 = HEAP32[$1>>2]|0; - $132 = $iAbsLevel; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = (_i64Add(($134|0),($137|0),1,0)|0); - $139 = tempRet0; - $140 = (_fts3SegmentIsMaxLevel($131,$138,$139,$bIgnore)|0); - HEAP32[$rc>>2] = $140; - $141 = HEAP32[$bIgnore>>2]|0; - $142 = ($141|0)!=(0); - if ($142) { - $143 = HEAP32[$pFilter>>2]|0; - $144 = ((($143)) + 12|0); - $145 = HEAP32[$144>>2]|0; - $146 = $145 | 2; - HEAP32[$144>>2] = $146; + $135 = HEAP32[$1>>2]|0; + $136 = $iAbsLevel; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = (_i64Add(($138|0),($141|0),1,0)|0); + $143 = tempRet0; + $144 = (_fts3SegmentIsMaxLevel($135,$142,$143,$bIgnore)|0); + HEAP32[$rc>>2] = $144; + $145 = HEAP32[$bIgnore>>2]|0; + $146 = ($145|0)!=(0); + if ($146) { + $147 = HEAP32[$pFilter>>2]|0; + $148 = ((($147)) + 12|0); + $149 = HEAP32[$148>>2]|0; + $150 = $149 | 2; + HEAP32[$148>>2] = $150; } } } while(0); - $147 = HEAP32[$rc>>2]|0; - $148 = ($147|0)==(0); - if ($148) { - $149 = HEAP32[$1>>2]|0; - $150 = $iAbsLevel; - $151 = $150; - $152 = HEAP32[$151>>2]|0; - $153 = (($150) + 4)|0; - $154 = $153; - $155 = HEAP32[$154>>2]|0; - $156 = HEAP32[$nSeg>>2]|0; - $157 = HEAP32[$pCsr>>2]|0; - $158 = (_fts3IncrmergeCsr($149,$152,$155,$156,$157)|0); - HEAP32[$rc>>2] = $158; - } - $159 = HEAP32[$rc>>2]|0; - $160 = (0)==($159|0); - if ($160) { + $151 = HEAP32[$rc>>2]|0; + $152 = ($151|0)==(0); + if ($152) { + $153 = HEAP32[$1>>2]|0; + $154 = $iAbsLevel; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$nSeg>>2]|0; $161 = HEAP32[$pCsr>>2]|0; - $162 = ((($161)) + 4|0); - $163 = HEAP32[$162>>2]|0; - $164 = HEAP32[$nSeg>>2]|0; - $165 = ($163|0)==($164|0); - if ($165) { - $166 = HEAP32[$1>>2]|0; - $167 = HEAP32[$pCsr>>2]|0; - $168 = HEAP32[$pFilter>>2]|0; - $169 = (_sqlite3Fts3SegReaderStart($166,$167,$168)|0); - HEAP32[$rc>>2] = $169; - $170 = (0)==($169|0); - if ($170) { - $171 = HEAP32[$1>>2]|0; - $172 = HEAP32[$pCsr>>2]|0; - $173 = (_sqlite3Fts3SegReaderStep($171,$172)|0); - HEAP32[$rc>>2] = $173; - $174 = (100)==($173|0); - if ($174) { - $175 = HEAP32[$bUseHint>>2]|0; - $176 = ($175|0)!=(0); - $177 = HEAP32[$iIdx>>2]|0; - $178 = ($177|0)>(0); - $or$cond3 = $176 & $178; + $162 = (_fts3IncrmergeCsr($153,$156,$159,$160,$161)|0); + HEAP32[$rc>>2] = $162; + } + $163 = HEAP32[$rc>>2]|0; + $164 = (0)==($163|0); + if ($164) { + $165 = HEAP32[$pCsr>>2]|0; + $166 = ((($165)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$nSeg>>2]|0; + $169 = ($167|0)==($168|0); + if ($169) { + $170 = HEAP32[$1>>2]|0; + $171 = HEAP32[$pCsr>>2]|0; + $172 = HEAP32[$pFilter>>2]|0; + $173 = (_sqlite3Fts3SegReaderStart($170,$171,$172)|0); + HEAP32[$rc>>2] = $173; + $174 = (0)==($173|0); + if ($174) { + $175 = HEAP32[$1>>2]|0; + $176 = HEAP32[$pCsr>>2]|0; + $177 = (_sqlite3Fts3SegReaderStep($175,$176)|0); + HEAP32[$rc>>2] = $177; + $178 = (100)==($177|0); + if ($178) { + $179 = HEAP32[$bUseHint>>2]|0; + $180 = ($179|0)!=(0); + $181 = HEAP32[$iIdx>>2]|0; + $182 = ($181|0)>(0); + $or$cond3 = $180 & $182; if ($or$cond3) { - $179 = HEAP32[$pCsr>>2]|0; - $180 = ((($179)) + 40|0); - $181 = HEAP32[$180>>2]|0; - HEAP32[$zKey>>2] = $181; - $182 = HEAP32[$pCsr>>2]|0; - $183 = ((($182)) + 44|0); - $184 = HEAP32[$183>>2]|0; - HEAP32[$nKey>>2] = $184; - $185 = HEAP32[$1>>2]|0; - $186 = $iAbsLevel; - $187 = $186; + $183 = HEAP32[$pCsr>>2]|0; + $184 = ((($183)) + 40|0); + $185 = HEAP32[$184>>2]|0; + HEAP32[$zKey>>2] = $185; + $186 = HEAP32[$pCsr>>2]|0; + $187 = ((($186)) + 44|0); $188 = HEAP32[$187>>2]|0; - $189 = (($186) + 4)|0; - $190 = $189; - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$iIdx>>2]|0; - $193 = (($192) - 1)|0; - $194 = HEAP32[$zKey>>2]|0; - $195 = HEAP32[$nKey>>2]|0; - $196 = HEAP32[$pWriter>>2]|0; - $197 = (_fts3IncrmergeLoad($185,$188,$191,$193,$194,$195,$196)|0); - HEAP32[$rc>>2] = $197; + HEAP32[$nKey>>2] = $188; + $189 = HEAP32[$1>>2]|0; + $190 = $iAbsLevel; + $191 = $190; + $192 = HEAP32[$191>>2]|0; + $193 = (($190) + 4)|0; + $194 = $193; + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$iIdx>>2]|0; + $197 = (($196) - 1)|0; + $198 = HEAP32[$zKey>>2]|0; + $199 = HEAP32[$nKey>>2]|0; + $200 = HEAP32[$pWriter>>2]|0; + $201 = (_fts3IncrmergeLoad($189,$192,$195,$197,$198,$199,$200)|0); + HEAP32[$rc>>2] = $201; } else { - $198 = HEAP32[$1>>2]|0; - $199 = $iAbsLevel; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (($199) + 4)|0; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = HEAP32[$iIdx>>2]|0; - $206 = HEAP32[$pCsr>>2]|0; - $207 = HEAP32[$pWriter>>2]|0; - $208 = (_fts3IncrmergeWriter($198,$201,$204,$205,$206,$207)|0); - HEAP32[$rc>>2] = $208; - } - $209 = HEAP32[$rc>>2]|0; - $210 = ($209|0)==(0); - if ($210) { + $202 = HEAP32[$1>>2]|0; + $203 = $iAbsLevel; + $204 = $203; + $205 = HEAP32[$204>>2]|0; + $206 = (($203) + 4)|0; + $207 = $206; + $208 = HEAP32[$207>>2]|0; + $209 = HEAP32[$iIdx>>2]|0; + $210 = HEAP32[$pCsr>>2]|0; $211 = HEAP32[$pWriter>>2]|0; - $212 = HEAP32[$211>>2]|0; - $213 = ($212|0)!=(0); - if ($213) { + $212 = (_fts3IncrmergeWriter($202,$205,$208,$209,$210,$211)|0); + HEAP32[$rc>>2] = $212; + } + $213 = HEAP32[$rc>>2]|0; + $214 = ($213|0)==(0); + if ($214) { + $215 = HEAP32[$pWriter>>2]|0; + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)!=(0); + if ($217) { while(1) { - $214 = HEAP32[$1>>2]|0; - $215 = HEAP32[$pWriter>>2]|0; - $216 = HEAP32[$pCsr>>2]|0; - $217 = (_fts3IncrmergeAppend($214,$215,$216)|0); - HEAP32[$rc>>2] = $217; - $218 = HEAP32[$rc>>2]|0; - $219 = ($218|0)==(0); - if ($219) { - $220 = HEAP32[$1>>2]|0; - $221 = HEAP32[$pCsr>>2]|0; - $222 = (_sqlite3Fts3SegReaderStep($220,$221)|0); - HEAP32[$rc>>2] = $222; + $218 = HEAP32[$1>>2]|0; + $219 = HEAP32[$pWriter>>2]|0; + $220 = HEAP32[$pCsr>>2]|0; + $221 = (_fts3IncrmergeAppend($218,$219,$220)|0); + HEAP32[$rc>>2] = $221; + $222 = HEAP32[$rc>>2]|0; + $223 = ($222|0)==(0); + if ($223) { + $224 = HEAP32[$1>>2]|0; + $225 = HEAP32[$pCsr>>2]|0; + $226 = (_sqlite3Fts3SegReaderStep($224,$225)|0); + HEAP32[$rc>>2] = $226; } - $223 = HEAP32[$pWriter>>2]|0; - $224 = ((($223)) + 4|0); - $225 = HEAP32[$224>>2]|0; - $226 = HEAP32[$nRem>>2]|0; - $227 = ($225|0)>=($226|0); - $228 = HEAP32[$rc>>2]|0; - $229 = ($228|0)==(100); - $or$cond5 = $227 & $229; + $227 = HEAP32[$pWriter>>2]|0; + $228 = ((($227)) + 4|0); + $229 = HEAP32[$228>>2]|0; + $230 = HEAP32[$nRem>>2]|0; + $231 = ($229|0)>=($230|0); + $232 = HEAP32[$rc>>2]|0; + $233 = ($232|0)==(100); + $or$cond5 = $231 & $233; if ($or$cond5) { HEAP32[$rc>>2] = 0; } - $230 = HEAP32[$rc>>2]|0; - $231 = ($230|0)==(100); - if (!($231)) { + $234 = HEAP32[$rc>>2]|0; + $235 = ($234|0)==(100); + if (!($235)) { break; } } - $232 = HEAP32[$rc>>2]|0; - $233 = ($232|0)==(0); - if ($233) { - $234 = HEAP32[$pWriter>>2]|0; - $235 = ((($234)) + 4|0); - $236 = HEAP32[$235>>2]|0; - $237 = (1 + ($236))|0; - $238 = HEAP32[$nRem>>2]|0; - $239 = (($238) - ($237))|0; - HEAP32[$nRem>>2] = $239; - $240 = HEAP32[$1>>2]|0; - $241 = $iAbsLevel; - $242 = $241; - $243 = HEAP32[$242>>2]|0; - $244 = (($241) + 4)|0; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = HEAP32[$pCsr>>2]|0; - $248 = (_fts3IncrmergeChomp($240,$243,$246,$247,$nSeg)|0); - HEAP32[$rc>>2] = $248; - $249 = HEAP32[$nSeg>>2]|0; - $250 = ($249|0)!=(0); - if ($250) { + $236 = HEAP32[$rc>>2]|0; + $237 = ($236|0)==(0); + if ($237) { + $238 = HEAP32[$pWriter>>2]|0; + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = (1 + ($240))|0; + $242 = HEAP32[$nRem>>2]|0; + $243 = (($242) - ($241))|0; + HEAP32[$nRem>>2] = $243; + $244 = HEAP32[$1>>2]|0; + $245 = $iAbsLevel; + $246 = $245; + $247 = HEAP32[$246>>2]|0; + $248 = (($245) + 4)|0; + $249 = $248; + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$pCsr>>2]|0; + $252 = (_fts3IncrmergeChomp($244,$247,$250,$251,$nSeg)|0); + HEAP32[$rc>>2] = $252; + $253 = HEAP32[$nSeg>>2]|0; + $254 = ($253|0)!=(0); + if ($254) { HEAP32[$bDirtyHint>>2] = 1; - $251 = $iAbsLevel; - $252 = $251; - $253 = HEAP32[$252>>2]|0; - $254 = (($251) + 4)|0; - $255 = $254; - $256 = HEAP32[$255>>2]|0; - $257 = HEAP32[$nSeg>>2]|0; - _fts3IncrmergeHintPush($hint,$253,$256,$257,$rc); + $255 = $iAbsLevel; + $256 = $255; + $257 = HEAP32[$256>>2]|0; + $258 = (($255) + 4)|0; + $259 = $258; + $260 = HEAP32[$259>>2]|0; + $261 = HEAP32[$nSeg>>2]|0; + _fts3IncrmergeHintPush($hint,$257,$260,$261,$rc); } } } } - $258 = HEAP32[$nSeg>>2]|0; - $259 = ($258|0)!=(0); - if ($259) { - $260 = HEAP32[$pWriter>>2]|0; - $261 = ((($260)) + 40|0); - $262 = $261; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = (($262) + 4)|0; + $262 = HEAP32[$nSeg>>2]|0; + $263 = ($262|0)!=(0); + if ($263) { + $264 = HEAP32[$pWriter>>2]|0; + $265 = ((($264)) + 40|0); $266 = $265; - $267 = HEAP32[$266>>2]|0; - $268 = (___muldi3(($264|0),($267|0),-1,-1)|0); - $269 = tempRet0; - $270 = HEAP32[$pWriter>>2]|0; - $271 = ((($270)) + 40|0); - $272 = $271; - $273 = $272; - HEAP32[$273>>2] = $268; - $274 = (($272) + 4)|0; - $275 = $274; - HEAP32[$275>>2] = $269; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $269 = (($266) + 4)|0; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = (___muldi3(($268|0),($271|0),-1,-1)|0); + $273 = tempRet0; + $274 = HEAP32[$pWriter>>2]|0; + $275 = ((($274)) + 40|0); + $276 = $275; + $277 = $276; + HEAP32[$277>>2] = $272; + $278 = (($276) + 4)|0; + $279 = $278; + HEAP32[$279>>2] = $273; } - $276 = HEAP32[$1>>2]|0; - $277 = HEAP32[$pWriter>>2]|0; - _fts3IncrmergeRelease($276,$277,$rc); - $278 = HEAP32[$nSeg>>2]|0; - $279 = ($278|0)==(0); - if ($279) { - $280 = HEAP32[$pWriter>>2]|0; - $281 = ((($280)) + 48|0); - $282 = HEAP8[$281>>0]|0; - $283 = $282&255; - $284 = ($283|0)==(0); - if ($284) { - $285 = HEAP32[$1>>2]|0; - $286 = $iAbsLevel; - $287 = $286; - $288 = HEAP32[$287>>2]|0; - $289 = (($286) + 4)|0; - $290 = $289; - $291 = HEAP32[$290>>2]|0; - $292 = (_i64Add(($288|0),($291|0),1,0)|0); - $293 = tempRet0; - $294 = HEAP32[$pWriter>>2]|0; - $295 = ((($294)) + 40|0); - $296 = $295; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = (($296) + 4)|0; + $280 = HEAP32[$1>>2]|0; + $281 = HEAP32[$pWriter>>2]|0; + _fts3IncrmergeRelease($280,$281,$rc); + $282 = HEAP32[$nSeg>>2]|0; + $283 = ($282|0)==(0); + if ($283) { + $284 = HEAP32[$pWriter>>2]|0; + $285 = ((($284)) + 48|0); + $286 = HEAP8[$285>>0]|0; + $287 = $286&255; + $288 = ($287|0)==(0); + if ($288) { + $289 = HEAP32[$1>>2]|0; + $290 = $iAbsLevel; + $291 = $290; + $292 = HEAP32[$291>>2]|0; + $293 = (($290) + 4)|0; + $294 = $293; + $295 = HEAP32[$294>>2]|0; + $296 = (_i64Add(($292|0),($295|0),1,0)|0); + $297 = tempRet0; + $298 = HEAP32[$pWriter>>2]|0; + $299 = ((($298)) + 40|0); $300 = $299; - $301 = HEAP32[$300>>2]|0; - (_fts3PromoteSegments($285,$292,$293,$298,$301)|0); + $301 = $300; + $302 = HEAP32[$301>>2]|0; + $303 = (($300) + 4)|0; + $304 = $303; + $305 = HEAP32[$304>>2]|0; + (_fts3PromoteSegments($289,$296,$297,$302,$305)|0); } } } } } } - $302 = HEAP32[$pCsr>>2]|0; - _sqlite3Fts3SegReaderFinish($302); + $306 = HEAP32[$pCsr>>2]|0; + _sqlite3Fts3SegReaderFinish($306); } - $303 = HEAP32[$bDirtyHint>>2]|0; - $304 = ($303|0)!=(0); - $305 = HEAP32[$rc>>2]|0; - $306 = ($305|0)==(0); - $or$cond7 = $304 & $306; + $307 = HEAP32[$bDirtyHint>>2]|0; + $308 = ($307|0)!=(0); + $309 = HEAP32[$rc>>2]|0; + $310 = ($309|0)==(0); + $or$cond7 = $308 & $310; if ($or$cond7) { - $307 = HEAP32[$1>>2]|0; - $308 = (_fts3IncrmergeHintStore($307,$hint)|0); - HEAP32[$rc>>2] = $308; - } - $309 = HEAP32[$pWriter>>2]|0; - _sqlite3_free($309); - $310 = HEAP32[$hint>>2]|0; - _sqlite3_free($310); - $311 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $311; - $312 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($312|0); + $311 = HEAP32[$1>>2]|0; + $312 = (_fts3IncrmergeHintStore($311,$hint)|0); + HEAP32[$rc>>2] = $312; + } + $313 = HEAP32[$pWriter>>2]|0; + _sqlite3_free($313); + $314 = HEAP32[$hint>>2]|0; + _sqlite3_free($314); + $315 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $315; + $316 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($316|0); } function _fts3IncrmergeHintLoad($p,$pHint) { $p = $p|0; @@ -69710,7 +69985,7 @@ function _fts3SpecialInsert($p,$pVal) { $10 = ($9|0)==(8); if ($10) { $11 = HEAP32[$zVal>>2]|0; - $12 = (_sqlite3_strnicmp($11,21373,8)|0); + $12 = (_sqlite3_strnicmp($11,21120,8)|0); $13 = (0)==($12|0); if ($13) { $14 = HEAP32[$1>>2]|0; @@ -69728,7 +70003,7 @@ function _fts3SpecialInsert($p,$pVal) { $17 = ($16|0)==(7); if ($17) { $18 = HEAP32[$zVal>>2]|0; - $19 = (_sqlite3_strnicmp($18,24342,7)|0); + $19 = (_sqlite3_strnicmp($18,24103,7)|0); $20 = (0)==($19|0); if ($20) { $21 = HEAP32[$1>>2]|0; @@ -69741,7 +70016,7 @@ function _fts3SpecialInsert($p,$pVal) { $24 = ($23|0)==(15); if ($24) { $25 = HEAP32[$zVal>>2]|0; - $26 = (_sqlite3_strnicmp($25,24350,15)|0); + $26 = (_sqlite3_strnicmp($25,24111,15)|0); $27 = (0)==($26|0); if ($27) { $28 = HEAP32[$1>>2]|0; @@ -69754,7 +70029,7 @@ function _fts3SpecialInsert($p,$pVal) { $31 = ($30|0)>(6); if ($31) { $32 = HEAP32[$zVal>>2]|0; - $33 = (_sqlite3_strnicmp($32,24366,6)|0); + $33 = (_sqlite3_strnicmp($32,24127,6)|0); $34 = (0)==($33|0); if ($34) { $35 = HEAP32[$1>>2]|0; @@ -69769,7 +70044,7 @@ function _fts3SpecialInsert($p,$pVal) { $40 = ($39|0)>(10); if ($40) { $41 = HEAP32[$zVal>>2]|0; - $42 = (_sqlite3_strnicmp($41,24373,10)|0); + $42 = (_sqlite3_strnicmp($41,24134,10)|0); $43 = (0)==($42|0); if ($43) { $44 = HEAP32[$1>>2]|0; @@ -71365,7 +71640,7 @@ function _fts3DoRebuild($p) { $6 = ((($5)) + 216|0); $7 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer>>2] = $7; - $8 = (_sqlite3_mprintf(24461,$vararg_buffer)|0); + $8 = (_sqlite3_mprintf(24222,$vararg_buffer)|0); HEAP32[$zSql>>2] = $8; $9 = HEAP32[$zSql>>2]|0; $10 = ($9|0)!=(0|0); @@ -71847,7 +72122,7 @@ function _sqlite3Fts3CreateStatTable($pRc,$p) { HEAP32[$vararg_buffer>>2] = $8; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $11; - _fts3DbExec($2,$5,24384,$vararg_buffer); + _fts3DbExec($2,$5,24145,$vararg_buffer); $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$12>>2]|0; $14 = ($13|0)==(0); @@ -72028,7 +72303,7 @@ function _fts3IntegrityCheck($p,$pbOk) { $64 = ((($63)) + 216|0); $65 = HEAP32[$64>>2]|0; HEAP32[$vararg_buffer>>2] = $65; - $66 = (_sqlite3_mprintf(24461,$vararg_buffer)|0); + $66 = (_sqlite3_mprintf(24222,$vararg_buffer)|0); HEAP32[$zSql>>2] = $66; $67 = HEAP32[$zSql>>2]|0; $68 = ($67|0)!=(0|0); @@ -73207,7 +73482,7 @@ function _sqlite3Fts3ExprParse($pTokenizer,$iLangid,$azCol,$bFts4,$nCol,$iDefaul if ($38) { $39 = HEAP32[$9>>2]|0; HEAP32[$vararg_buffer>>2] = 12; - _sqlite3Fts3ErrMsg($39,24570,$vararg_buffer); + _sqlite3Fts3ErrMsg($39,24331,$vararg_buffer); HEAP32[$rc>>2] = 1; $44 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($44|0); @@ -73221,7 +73496,7 @@ function _sqlite3Fts3ExprParse($pTokenizer,$iLangid,$azCol,$bFts4,$nCol,$iDefaul $42 = HEAP32[$9>>2]|0; $43 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer1>>2] = $43; - _sqlite3Fts3ErrMsg($42,24622,$vararg_buffer1); + _sqlite3Fts3ErrMsg($42,24383,$vararg_buffer1); $44 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($44|0); } @@ -75656,7 +75931,7 @@ function _getNextNode($pParse,$z,$n,$ppExpr,$pnConsumed) { break; } $23 = HEAP32[$ii>>2]|0; - $24 = (2068 + ($23<<3)|0); + $24 = (2092 + ($23<<3)|0); HEAP32[$pKey>>2] = $24; $25 = HEAP32[$pKey>>2]|0; $26 = ((($25)) + 5|0); @@ -77164,7 +77439,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $57 = ($56>>>0)>(8); if ($57) { $58 = HEAP32[$z>>2]|0; - $59 = (_sqlite3_strnicmp($58,24853,8)|0); + $59 = (_sqlite3_strnicmp($58,24614,8)|0); $60 = (0)==($59|0); if ($60) { $61 = HEAP32[$z>>2]|0; @@ -77199,7 +77474,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $74 = (_fts3IsSpecialColumn($73,$nKey,$zVal)|0); $75 = ($74|0)!=(0); if ($75) { - dest=$aFts4Opt; src=2100; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$aFts4Opt; src=2124; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $76 = HEAP32[$zVal>>2]|0; $77 = ($76|0)!=(0|0); if (!($77)) { @@ -77245,7 +77520,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $99 = HEAP32[$6>>2]|0; $100 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $100; - _sqlite3Fts3ErrMsg($99,24862,$vararg_buffer); + _sqlite3Fts3ErrMsg($99,24623,$vararg_buffer); HEAP32[$rc>>2] = 1; } else { $101 = HEAP32[$iOpt>>2]|0; @@ -77258,7 +77533,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { label = 29; } else { $105 = HEAP32[$zVal>>2]|0; - $106 = (_sqlite3_strnicmp($105,21382,4)|0); + $106 = (_sqlite3_strnicmp($105,21129,4)|0); $107 = ($106|0)!=(0); if ($107) { label = 29; @@ -77269,7 +77544,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $108 = HEAP32[$6>>2]|0; $109 = HEAP32[$zVal>>2]|0; HEAP32[$vararg_buffer8>>2] = $109; - _sqlite3Fts3ErrMsg($108,24889,$vararg_buffer8); + _sqlite3Fts3ErrMsg($108,24650,$vararg_buffer8); HEAP32[$rc>>2] = 1; } HEAP32[$bNoDocsize>>2] = 1; @@ -77311,7 +77586,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { label = 36; } else { $119 = HEAP32[$zVal>>2]|0; - $120 = (_sqlite3_strnicmp($119,24916,3)|0); + $120 = (_sqlite3_strnicmp($119,24677,3)|0); $121 = ($120|0)!=(0); if ($121) { label = 36; @@ -77325,7 +77600,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $124 = ($123|0)!=(4); if (!($124)) { $125 = HEAP32[$zVal>>2]|0; - $126 = (_sqlite3_strnicmp($125,24920,4)|0); + $126 = (_sqlite3_strnicmp($125,24681,4)|0); $127 = ($126|0)!=(0); if (!($127)) { break; @@ -77334,7 +77609,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $128 = HEAP32[$6>>2]|0; $129 = HEAP32[$zVal>>2]|0; HEAP32[$vararg_buffer11>>2] = $129; - _sqlite3Fts3ErrMsg($128,24925,$vararg_buffer11); + _sqlite3Fts3ErrMsg($128,24686,$vararg_buffer11); HEAP32[$rc>>2] = 1; } } while(0); @@ -77506,7 +77781,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $212 = ($211|0)==(0); if ($212) { $213 = HEAP32[$aCol>>2]|0; - HEAP32[$213>>2] = 24948; + HEAP32[$213>>2] = 24709; HEAP32[$nString>>2] = 8; HEAP32[$nCol>>2] = 1; } @@ -77515,7 +77790,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { if ($215) { $216 = HEAP32[$pHash>>2]|0; $217 = HEAP32[$6>>2]|0; - $218 = (_sqlite3Fts3InitTokenizer($216,21308,$pTokenizer,$217)|0); + $218 = (_sqlite3Fts3InitTokenizer($216,21055,$pTokenizer,$217)|0); HEAP32[$rc>>2] = $218; $219 = HEAP32[$rc>>2]|0; $220 = ($219|0)!=(0); @@ -77532,7 +77807,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $225 = HEAP32[$6>>2]|0; $226 = HEAP32[$zPrefix>>2]|0; HEAP32[$vararg_buffer14>>2] = $226; - _sqlite3Fts3ErrMsg($225,24956,$vararg_buffer14); + _sqlite3Fts3ErrMsg($225,24717,$vararg_buffer14); } $227 = HEAP32[$rc>>2]|0; $228 = ($227|0)!=(0); @@ -77838,7 +78113,7 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { $441 = (($440) + ($439<<2)|0); $442 = HEAP32[$441>>2]|0; HEAP32[$vararg_buffer17>>2] = $442; - _sqlite3Fts3ErrMsg($438,24991,$vararg_buffer17); + _sqlite3Fts3ErrMsg($438,24752,$vararg_buffer17); HEAP32[$rc>>2] = 1; } $443 = HEAP32[$i>>2]|0; @@ -77858,13 +78133,13 @@ function _fts3InitVtab($isCreate,$db,$pAux,$argc,$argv,$ppVTab,$pzErr) { if ($453) { $454 = HEAP32[$zCompress>>2]|0; $455 = ($454|0)==(0|0); - $456 = $455 ? 25010 : 25019; + $456 = $455 ? 24771 : 24780; HEAP32[$zMiss>>2] = $456; HEAP32[$rc>>2] = 1; $457 = HEAP32[$6>>2]|0; $458 = HEAP32[$zMiss>>2]|0; HEAP32[$vararg_buffer20>>2] = $458; - _sqlite3Fts3ErrMsg($457,25030,$vararg_buffer20); + _sqlite3Fts3ErrMsg($457,24791,$vararg_buffer20); } } $459 = HEAP32[$p>>2]|0; @@ -77999,7 +78274,7 @@ function _sqlite3Fts3IsIdChar($c) { } $5 = HEAP8[$0>>0]|0; $6 = $5 << 24 >> 24; - $7 = (25712 + ($6)|0); + $7 = (25473 + ($6)|0); $8 = HEAP8[$7>>0]|0; $9 = $8 << 24 >> 24; $10 = ($9|0)!=(0); @@ -78046,7 +78321,7 @@ function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { HEAP32[$n>>2] = 0; $6 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $6; - $7 = (_sqlite3_mprintf(19255,$vararg_buffer)|0); + $7 = (_sqlite3_mprintf(18999,$vararg_buffer)|0); HEAP32[$zCopy>>2] = $7; $8 = HEAP32[$zCopy>>2]|0; $9 = ($8|0)!=(0|0); @@ -78162,7 +78437,7 @@ function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$4>>2]|0; - _sqlite3Fts3ErrMsg($76,25694,$vararg_buffer4); + _sqlite3Fts3ErrMsg($76,25455,$vararg_buffer4); } else { $77 = HEAP32[$m>>2]|0; $78 = HEAP32[$3>>2]|0; @@ -78175,7 +78450,7 @@ function _sqlite3Fts3InitTokenizer($pHash,$zArg,$ppTok,$pzErr) { $31 = HEAP32[$4>>2]|0; $32 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer1>>2] = $32; - _sqlite3Fts3ErrMsg($31,21456,$vararg_buffer1); + _sqlite3Fts3ErrMsg($31,21203,$vararg_buffer1); HEAP32[$rc>>2] = 1; } $81 = HEAP32[$zCopy>>2]|0; @@ -78239,7 +78514,7 @@ function _fts3IsSpecialColumn($z,$pnKey,$pzValue) { $20 = HEAP32[$zCsr>>2]|0; $21 = ((($20)) + 1|0); HEAP32[$vararg_buffer>>2] = $21; - $22 = (_sqlite3_mprintf(19255,$vararg_buffer)|0); + $22 = (_sqlite3_mprintf(18999,$vararg_buffer)|0); HEAP32[$zValue>>2] = $22; $23 = HEAP32[$zValue>>2]|0; $24 = ($23|0)!=(0|0); @@ -78303,7 +78578,7 @@ function _fts3ContentColumns($db,$zDb,$zTbl,$pazCol,$pnCol,$pnStr,$pzErr) { HEAP32[$vararg_buffer>>2] = $7; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $8; - $9 = (_sqlite3_mprintf(25639,$vararg_buffer)|0); + $9 = (_sqlite3_mprintf(25400,$vararg_buffer)|0); HEAP32[$zSql>>2] = $9; $10 = HEAP32[$zSql>>2]|0; $11 = ($10|0)!=(0|0); @@ -78319,7 +78594,7 @@ function _fts3ContentColumns($db,$zDb,$zTbl,$pazCol,$pnCol,$pnStr,$pzErr) { $18 = HEAP32[$0>>2]|0; $19 = (_sqlite3_errmsg($18)|0); HEAP32[$vararg_buffer2>>2] = $19; - _sqlite3Fts3ErrMsg($17,19255,$vararg_buffer2); + _sqlite3Fts3ErrMsg($17,18999,$vararg_buffer2); } } else { HEAP32[$rc>>2] = 7; @@ -78757,10 +79032,10 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { HEAP32[$zFunction>>2] = $10; HEAP32[$zFree>>2] = $10; } else { - HEAP32[$zFunction>>2] = 19266; + HEAP32[$zFunction>>2] = 19010; } $11 = HEAP32[$2>>2]|0; - _fts3Appendf($11,$zRet,25557,$vararg_buffer); + _fts3Appendf($11,$zRet,25318,$vararg_buffer); HEAP32[$i>>2] = 0; while(1) { $12 = HEAP32[$i>>2]|0; @@ -78785,7 +79060,7 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { HEAP32[$vararg_ptr3>>2] = $19; $vararg_ptr4 = ((($vararg_buffer1)) + 8|0); HEAP32[$vararg_ptr4>>2] = $25; - _fts3Appendf($17,$zRet,25563,$vararg_buffer1); + _fts3Appendf($17,$zRet,25324,$vararg_buffer1); $26 = HEAP32[$i>>2]|0; $27 = (($26) + 1)|0; HEAP32[$i>>2] = $27; @@ -78796,14 +79071,14 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $31 = ($30|0)!=(0|0); if ($31) { $32 = HEAP32[$2>>2]|0; - HEAP32[$vararg_buffer5>>2] = 25585; - _fts3Appendf($32,$zRet,25578,$vararg_buffer5); + HEAP32[$vararg_buffer5>>2] = 25346; + _fts3Appendf($32,$zRet,25339,$vararg_buffer5); } $33 = HEAP32[$zFree>>2]|0; _sqlite3_free($33); } else { $34 = HEAP32[$2>>2]|0; - _fts3Appendf($34,$zRet,25592,$vararg_buffer8); + _fts3Appendf($34,$zRet,25353,$vararg_buffer8); HEAP32[$i>>2] = 0; while(1) { $35 = HEAP32[$i>>2]|0; @@ -78822,7 +79097,7 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $45 = (($44) + ($41<<2)|0); $46 = HEAP32[$45>>2]|0; HEAP32[$vararg_buffer10>>2] = $46; - _fts3Appendf($40,$zRet,25598,$vararg_buffer10); + _fts3Appendf($40,$zRet,25359,$vararg_buffer10); $47 = HEAP32[$i>>2]|0; $48 = (($47) + 1)|0; HEAP32[$i>>2] = $48; @@ -78837,7 +79112,7 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $55 = ((($54)) + 44|0); $56 = HEAP32[$55>>2]|0; HEAP32[$vararg_buffer13>>2] = $56; - _fts3Appendf($53,$zRet,25578,$vararg_buffer13); + _fts3Appendf($53,$zRet,25339,$vararg_buffer13); } } $57 = HEAP32[$2>>2]|0; @@ -78857,13 +79132,13 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $71 = ((($70)) + 40|0); $72 = HEAP32[$71>>2]|0; $73 = ($72|0)!=(0|0); - $74 = $73 ? 19266 : 25607; + $74 = $73 ? 19010 : 25368; HEAP32[$vararg_buffer16>>2] = $60; $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); HEAP32[$vararg_ptr19>>2] = $75; $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); HEAP32[$vararg_ptr20>>2] = $74; - _fts3Appendf($57,$zRet,25616,$vararg_buffer16); + _fts3Appendf($57,$zRet,25377,$vararg_buffer16); $76 = HEAP32[$zRet>>2]|0; STACKTOP = sp;return ($76|0); } else { @@ -78874,13 +79149,13 @@ function _fts3ReadExprList($p,$zFunc,$pRc) { $71 = ((($70)) + 40|0); $72 = HEAP32[$71>>2]|0; $73 = ($72|0)!=(0|0); - $74 = $73 ? 19266 : 25607; + $74 = $73 ? 19010 : 25368; HEAP32[$vararg_buffer16>>2] = $60; $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); HEAP32[$vararg_ptr19>>2] = $75; $vararg_ptr20 = ((($vararg_buffer16)) + 8|0); HEAP32[$vararg_ptr20>>2] = $74; - _fts3Appendf($57,$zRet,25616,$vararg_buffer16); + _fts3Appendf($57,$zRet,25377,$vararg_buffer16); $76 = HEAP32[$zRet>>2]|0; STACKTOP = sp;return ($76|0); } @@ -78917,10 +79192,10 @@ function _fts3WriteExprList($p,$zFunc,$pRc) { HEAP32[$zFunction>>2] = $6; HEAP32[$zFree>>2] = $6; } else { - HEAP32[$zFunction>>2] = 19266; + HEAP32[$zFunction>>2] = 19010; } $7 = HEAP32[$2>>2]|0; - _fts3Appendf($7,$zRet,21139,$vararg_buffer); + _fts3Appendf($7,$zRet,20883,$vararg_buffer); HEAP32[$i>>2] = 0; while(1) { $8 = HEAP32[$i>>2]|0; @@ -78934,7 +79209,7 @@ function _fts3WriteExprList($p,$zFunc,$pRc) { $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$zFunction>>2]|0; HEAP32[$vararg_buffer1>>2] = $14; - _fts3Appendf($13,$zRet,25541,$vararg_buffer1); + _fts3Appendf($13,$zRet,25302,$vararg_buffer1); $15 = HEAP32[$i>>2]|0; $16 = (($15) + 1)|0; HEAP32[$i>>2] = $16; @@ -78950,7 +79225,7 @@ function _fts3WriteExprList($p,$zFunc,$pRc) { STACKTOP = sp;return ($23|0); } $21 = HEAP32[$2>>2]|0; - _fts3Appendf($21,$zRet,25548,$vararg_buffer3); + _fts3Appendf($21,$zRet,25309,$vararg_buffer3); $22 = HEAP32[$zFree>>2]|0; _sqlite3_free($22); $23 = HEAP32[$zRet>>2]|0; @@ -78995,7 +79270,7 @@ function _fts3CreateTables($p) { $9 = ((($8)) + 44|0); $10 = HEAP32[$9>>2]|0; HEAP32[$zLanguageid>>2] = $10; - $11 = (_sqlite3_mprintf(25166,$vararg_buffer)|0); + $11 = (_sqlite3_mprintf(24927,$vararg_buffer)|0); HEAP32[$zContentCols>>2] = $11; HEAP32[$i>>2] = 0; while(1) { @@ -79027,7 +79302,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_ptr4>>2] = $26; $vararg_ptr5 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr5>>2] = $27; - $28 = (_sqlite3_mprintf(25192,$vararg_buffer2)|0); + $28 = (_sqlite3_mprintf(24953,$vararg_buffer2)|0); HEAP32[$zContentCols>>2] = $28; $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; @@ -79044,7 +79319,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer6>>2] = $35; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $36; - $37 = (_sqlite3_mprintf(25204,$vararg_buffer6)|0); + $37 = (_sqlite3_mprintf(24965,$vararg_buffer6)|0); HEAP32[$zContentCols>>2] = $37; } $38 = HEAP32[$zContentCols>>2]|0; @@ -79065,7 +79340,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_ptr13>>2] = $46; $vararg_ptr14 = ((($vararg_buffer10)) + 8|0); HEAP32[$vararg_ptr14>>2] = $47; - _fts3DbExec($rc,$40,25215,$vararg_buffer10); + _fts3DbExec($rc,$40,24976,$vararg_buffer10); $48 = HEAP32[$zContentCols>>2]|0; _sqlite3_free($48); } @@ -79079,7 +79354,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer15>>2] = $52; $vararg_ptr18 = ((($vararg_buffer15)) + 4|0); HEAP32[$vararg_ptr18>>2] = $55; - _fts3DbExec($rc,$49,25248,$vararg_buffer15); + _fts3DbExec($rc,$49,25009,$vararg_buffer15); $56 = HEAP32[$db>>2]|0; $57 = HEAP32[$0>>2]|0; $58 = ((($57)) + 16|0); @@ -79090,7 +79365,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer19>>2] = $59; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $62; - _fts3DbExec($rc,$56,25320,$vararg_buffer19); + _fts3DbExec($rc,$56,25081,$vararg_buffer19); $63 = HEAP32[$0>>2]|0; $64 = ((($63)) + 230|0); $65 = HEAP8[$64>>0]|0; @@ -79106,7 +79381,7 @@ function _fts3CreateTables($p) { HEAP32[$vararg_buffer23>>2] = $70; $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); HEAP32[$vararg_ptr26>>2] = $73; - _fts3DbExec($rc,$67,25473,$vararg_buffer23); + _fts3DbExec($rc,$67,25234,$vararg_buffer23); } $74 = HEAP32[$0>>2]|0; $75 = ((($74)) + 229|0); @@ -79146,7 +79421,7 @@ function _fts3DatabasePageSize($pRc,$p) { $6 = ((($5)) + 16|0); $7 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer>>2] = $7; - $8 = (_sqlite3_mprintf(25146,$vararg_buffer)|0); + $8 = (_sqlite3_mprintf(24907,$vararg_buffer)|0); HEAP32[$zSql>>2] = $8; $9 = HEAP32[$zSql>>2]|0; $10 = ($9|0)!=(0|0); @@ -79230,7 +79505,7 @@ function _fts3DeclareVtab($pRc,$p) { $11 = HEAP32[$10>>2]|0; $12 = $11; } else { - $12 = 25071; + $12 = 24832; } HEAP32[$zLanguageid>>2] = $12; $13 = HEAP32[$1>>2]|0; @@ -79243,7 +79518,7 @@ function _fts3DeclareVtab($pRc,$p) { $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$18>>2]|0; HEAP32[$vararg_buffer2>>2] = $19; - $20 = (_sqlite3_mprintf(25080,$vararg_buffer2)|0); + $20 = (_sqlite3_mprintf(24841,$vararg_buffer2)|0); HEAP32[$zCols>>2] = $20; HEAP32[$i>>2] = 1; while(1) { @@ -79272,7 +79547,7 @@ function _fts3DeclareVtab($pRc,$p) { HEAP32[$vararg_buffer5>>2] = $28; $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); HEAP32[$vararg_ptr8>>2] = $34; - $35 = (_sqlite3_mprintf(25085,$vararg_buffer5)|0); + $35 = (_sqlite3_mprintf(24846,$vararg_buffer5)|0); HEAP32[$zCols>>2] = $35; $36 = HEAP32[$i>>2]|0; $37 = (($36) + 1)|0; @@ -79287,7 +79562,7 @@ function _fts3DeclareVtab($pRc,$p) { HEAP32[$vararg_ptr12>>2] = $40; $vararg_ptr13 = ((($vararg_buffer9)) + 8|0); HEAP32[$vararg_ptr13>>2] = $41; - $42 = (_sqlite3_mprintf(25092,$vararg_buffer9)|0); + $42 = (_sqlite3_mprintf(24853,$vararg_buffer9)|0); HEAP32[$zSql>>2] = $42; $43 = HEAP32[$zCols>>2]|0; $44 = ($43|0)!=(0|0); @@ -79434,7 +79709,7 @@ function _fts3Appendf($pRc,$pz,$zFormat,$varargs) { HEAP32[$vararg_buffer>>2] = $14; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $15; - $16 = (_sqlite3_mprintf(25552,$vararg_buffer)|0); + $16 = (_sqlite3_mprintf(25313,$vararg_buffer)|0); HEAP32[$z2>>2] = $16; $17 = HEAP32[$z>>2]|0; _sqlite3_free($17); @@ -79533,22 +79808,26 @@ function _fts3GobbleInt($pp,$pnOut) { } return (0)|0; } -function _scalarFunc($context,$argc,$argv) { +function _fts3TokenizerFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nName = 0, $pHash = 0, $pPtr = 0, $vararg_buffer = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $nName = 0, $or$cond = 0, $pHash = 0, $pOld = 0; + var $pPtr = 0, $vararg_buffer = 0, $zErr = 0, $zName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $pHash = sp + 20|0; - $pPtr = sp + 16|0; - $zName = sp + 12|0; - $nName = sp + 8|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $pHash = sp + 28|0; + $pPtr = sp + 24|0; + $zName = sp + 20|0; + $nName = sp + 16|0; + $pOld = sp + 12|0; + $n = sp + 8|0; $zErr = sp + 4|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; @@ -79568,38 +79847,104 @@ function _scalarFunc($context,$argc,$argv) { HEAP32[$nName>>2] = $11; $12 = HEAP32[$1>>2]|0; $13 = ($12|0)==(2); - if ($13) { - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_error($14,25840,-1); - STACKTOP = sp;return; - } - $15 = HEAP32[$zName>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { - $17 = HEAP32[$pHash>>2]|0; - $18 = HEAP32[$zName>>2]|0; - $19 = HEAP32[$nName>>2]|0; - $20 = (_sqlite3Fts3HashFind($17,$18,$19)|0); - HEAP32[$pPtr>>2] = $20; - } - $21 = HEAP32[$pPtr>>2]|0; - $22 = ($21|0)!=(0|0); - if ($22) { - $28 = HEAP32[$0>>2]|0; - _sqlite3_result_blob($28,$pPtr,4,(-1)); - STACKTOP = sp;return; - } else { - $23 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer>>2] = $23; - $24 = (_sqlite3_mprintf(21456,$vararg_buffer)|0); - HEAP32[$zErr>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = HEAP32[$zErr>>2]|0; - _sqlite3_result_error($25,$26,-1); - $27 = HEAP32[$zErr>>2]|0; - _sqlite3_free($27); - STACKTOP = sp;return; - } + do { + if ($13) { + $14 = HEAP32[$0>>2]|0; + $15 = (_fts3TokenizerEnabled($14)|0); + $16 = ($15|0)!=(0); + if (!($16)) { + $40 = HEAP32[$0>>2]|0; + _sqlite3_result_error($40,25638,-1); + STACKTOP = sp;return; + } + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_bytes($19)|0); + HEAP32[$n>>2] = $20; + $21 = HEAP32[$zName>>2]|0; + $22 = ($21|0)==(0|0); + $23 = HEAP32[$n>>2]|0; + $24 = ($23|0)!=(4); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = HEAP32[$0>>2]|0; + _sqlite3_result_error($25,25601,-1); + STACKTOP = sp;return; + } else { + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = (_sqlite3_value_blob($28)|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$pPtr>>2] = $30; + $31 = HEAP32[$pHash>>2]|0; + $32 = HEAP32[$zName>>2]|0; + $33 = HEAP32[$nName>>2]|0; + $34 = HEAP32[$pPtr>>2]|0; + $35 = (_sqlite3Fts3HashInsert($31,$32,$33,$34)|0); + HEAP32[$pOld>>2] = $35; + $36 = HEAP32[$pOld>>2]|0; + $37 = HEAP32[$pPtr>>2]|0; + $38 = ($36|0)==($37|0); + if (!($38)) { + break; + } + $39 = HEAP32[$0>>2]|0; + _sqlite3_result_error($39,25624,-1); + break; + } + } else { + $41 = HEAP32[$zName>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { + $43 = HEAP32[$pHash>>2]|0; + $44 = HEAP32[$zName>>2]|0; + $45 = HEAP32[$nName>>2]|0; + $46 = (_sqlite3Fts3HashFind($43,$44,$45)|0); + HEAP32[$pPtr>>2] = $46; + } + $47 = HEAP32[$pPtr>>2]|0; + $48 = ($47|0)!=(0|0); + if (!($48)) { + $49 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer>>2] = $49; + $50 = (_sqlite3_mprintf(21203,$vararg_buffer)|0); + HEAP32[$zErr>>2] = $50; + $51 = HEAP32[$0>>2]|0; + $52 = HEAP32[$zErr>>2]|0; + _sqlite3_result_error($51,$52,-1); + $53 = HEAP32[$zErr>>2]|0; + _sqlite3_free($53); + STACKTOP = sp;return; + } + } + } while(0); + $54 = HEAP32[$0>>2]|0; + _sqlite3_result_blob($54,$pPtr,4,(-1)); + STACKTOP = sp;return; +} +function _fts3TokenizerEnabled($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $db = 0, $isEnabled = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $vararg_buffer = sp; + $0 = sp + 16|0; + $db = sp + 12|0; + $isEnabled = sp + 8|0; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_context_db_handle($1)|0); + HEAP32[$db>>2] = $2; + HEAP32[$isEnabled>>2] = 0; + $3 = HEAP32[$db>>2]|0; + HEAP32[$vararg_buffer>>2] = -1; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $isEnabled; + (_sqlite3_db_config($3,1004,$vararg_buffer)|0); + $4 = HEAP32[$isEnabled>>2]|0; + STACKTOP = sp;return ($4|0); } function _fts3RemoveElementByHash($pH,$elem,$h) { $pH = $pH|0; @@ -80137,7 +80482,7 @@ function _porterNext($pCursor,$pzToken,$pnBytes,$piStartOffset,$piEndOffset,$piP } else { $36 = HEAP32[$ch>>2]|0; $37 = (($36) - 48)|0; - $38 = (25909 + ($37)|0); + $38 = (25660 + ($37)|0); $39 = HEAP8[$38>>0]|0; $40 = ($39<<24>>24)!=(0); $41 = $40 ^ 1; @@ -80186,7 +80531,7 @@ function _porterNext($pCursor,$pzToken,$pnBytes,$piStartOffset,$piEndOffset,$piP } else { $64 = HEAP32[$ch>>2]|0; $65 = (($64) - 48)|0; - $66 = (25909 + ($65)|0); + $66 = (25660 + ($65)|0); $67 = HEAP8[$66>>0]|0; $68 = ($67<<24>>24)!=(0); $69 = $68 ^ 1; @@ -80430,13 +80775,13 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $55 = $54 << 24 >> 24; $56 = ($55|0)==(115); if ($56) { - $57 = (_stem($z,25989,25994,0)|0); + $57 = (_stem($z,25740,25745,0)|0); $58 = ($57|0)!=(0); if (!($58)) { - $59 = (_stem($z,25997,26001,0)|0); + $59 = (_stem($z,25748,25752,0)|0); $60 = ($59|0)!=(0); if (!($60)) { - $61 = (_stem($z,25994,25994,0)|0); + $61 = (_stem($z,25745,25745,0)|0); $62 = ($61|0)!=(0); if (!($62)) { $63 = HEAP32[$z>>2]|0; @@ -80448,14 +80793,14 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { } $65 = HEAP32[$z>>2]|0; HEAP32[$z2>>2] = $65; - $66 = (_stem($z,26003,26007,172)|0); + $66 = (_stem($z,25754,25758,172)|0); $67 = ($66|0)!=(0); do { if (!($67)) { - $68 = (_stem($z,26010,19266,173)|0); + $68 = (_stem($z,25761,19010,173)|0); $69 = ($68|0)!=(0); if (!($69)) { - $70 = (_stem($z,26014,19266,173)|0); + $70 = (_stem($z,25765,19010,173)|0); $71 = ($70|0)!=(0); if (!($71)) { break; @@ -80465,13 +80810,13 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $73 = HEAP32[$z2>>2]|0; $74 = ($72|0)!=($73|0); if ($74) { - $75 = (_stem($z,26017,26020,0)|0); + $75 = (_stem($z,25768,25771,0)|0); $76 = ($75|0)!=(0); if (!($76)) { - $77 = (_stem($z,26024,26027,0)|0); + $77 = (_stem($z,25775,25778,0)|0); $78 = ($77|0)!=(0); if (!($78)) { - $79 = (_stem($z,26031,26034,0)|0); + $79 = (_stem($z,25782,25785,0)|0); $80 = ($79|0)!=(0); if (!($80)) { $81 = HEAP32[$z>>2]|0; @@ -80541,43 +80886,43 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $118 = $117 << 24 >> 24; switch ($118|0) { case 97: { - $119 = (_stem($z,26038,26020,172)|0); + $119 = (_stem($z,25789,25771,172)|0); $120 = ($119|0)!=(0); if (!($120)) { - (_stem($z,26046,26053,172)|0); + (_stem($z,25797,25804,172)|0); } break; } case 99: { - $121 = (_stem($z,26058,26063,172)|0); + $121 = (_stem($z,25809,25814,172)|0); $122 = ($121|0)!=(0); if (!($122)) { - (_stem($z,26068,26073,172)|0); + (_stem($z,25819,25824,172)|0); } break; } case 101: { - (_stem($z,26078,26034,172)|0); + (_stem($z,25829,25785,172)|0); break; } case 103: { - (_stem($z,26083,26088,172)|0); + (_stem($z,25834,25839,172)|0); break; } case 108: { - $123 = (_stem($z,26092,26027,172)|0); + $123 = (_stem($z,25843,25778,172)|0); $124 = ($123|0)!=(0); if (!($124)) { - $125 = (_stem($z,26096,26101,172)|0); + $125 = (_stem($z,25847,25852,172)|0); $126 = ($125|0)!=(0); if (!($126)) { - $127 = (_stem($z,26104,26110,172)|0); + $127 = (_stem($z,25855,25861,172)|0); $128 = ($127|0)!=(0); if (!($128)) { - $129 = (_stem($z,26114,26118,172)|0); + $129 = (_stem($z,25865,25869,172)|0); $130 = ($129|0)!=(0); if (!($130)) { - (_stem($z,26120,26126,172)|0); + (_stem($z,25871,25877,172)|0); } } } @@ -80585,41 +80930,41 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { break; } case 111: { - $131 = (_stem($z,26130,26034,172)|0); + $131 = (_stem($z,25881,25785,172)|0); $132 = ($131|0)!=(0); if (!($132)) { - $133 = (_stem($z,26138,26020,172)|0); + $133 = (_stem($z,25889,25771,172)|0); $134 = ($133|0)!=(0); if (!($134)) { - (_stem($z,26144,26020,172)|0); + (_stem($z,25895,25771,172)|0); } } break; } case 115: { - $135 = (_stem($z,26149,26101,172)|0); + $135 = (_stem($z,25900,25852,172)|0); $136 = ($135|0)!=(0); if (!($136)) { - $137 = (_stem($z,26155,26163,172)|0); + $137 = (_stem($z,25906,25914,172)|0); $138 = ($137|0)!=(0); if (!($138)) { - $139 = (_stem($z,26167,26175,172)|0); + $139 = (_stem($z,25918,25926,172)|0); $140 = ($139|0)!=(0); if (!($140)) { - (_stem($z,26179,26126,172)|0); + (_stem($z,25930,25877,172)|0); } } } break; } case 116: { - $141 = (_stem($z,26187,26101,172)|0); + $141 = (_stem($z,25938,25852,172)|0); $142 = ($141|0)!=(0); if (!($142)) { - $143 = (_stem($z,26193,26163,172)|0); + $143 = (_stem($z,25944,25914,172)|0); $144 = ($143|0)!=(0); if (!($144)) { - (_stem($z,26199,26027,172)|0); + (_stem($z,25950,25778,172)|0); } } break; @@ -80632,31 +80977,31 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $147 = $146 << 24 >> 24; switch ($147|0) { case 101: { - $148 = (_stem($z,26206,26212,172)|0); + $148 = (_stem($z,25957,25963,172)|0); $149 = ($148|0)!=(0); if (!($149)) { - $150 = (_stem($z,26215,19266,172)|0); + $150 = (_stem($z,25966,19010,172)|0); $151 = ($150|0)!=(0); if (!($151)) { - (_stem($z,26221,26101,172)|0); + (_stem($z,25972,25852,172)|0); } } break; } case 105: { - (_stem($z,26227,26212,172)|0); + (_stem($z,25978,25963,172)|0); break; } case 108: { - $152 = (_stem($z,26233,26212,172)|0); + $152 = (_stem($z,25984,25963,172)|0); $153 = ($152|0)!=(0); if (!($153)) { - (_stem($z,26238,19266,172)|0); + (_stem($z,25989,19010,172)|0); } break; } case 115: { - (_stem($z,26242,19266,172)|0); + (_stem($z,25993,19010,172)|0); break; } default: { @@ -80831,13 +81176,13 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { $255 = $254 << 24 >> 24; $256 = ($255|0)==(101); if ($256) { - $257 = (_stem($z,26247,19266,174)|0); + $257 = (_stem($z,25998,19010,174)|0); $258 = ($257|0)!=(0); if (!($258)) { - $259 = (_stem($z,26253,19266,174)|0); + $259 = (_stem($z,26004,19010,174)|0); $260 = ($259|0)!=(0); if (!($260)) { - (_stem($z,26258,19266,174)|0); + (_stem($z,26009,19010,174)|0); } } } @@ -80876,7 +81221,7 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { break L80; } } - (_stem($z,26262,19266,174)|0); + (_stem($z,26013,19010,174)|0); break; } case 115: { @@ -80905,10 +81250,10 @@ function _porter_stemmer($zIn,$nIn,$zOut,$pnOut) { break; } case 116: { - $295 = (_stem($z,26266,19266,174)|0); + $295 = (_stem($z,26017,19010,174)|0); $296 = ($295|0)!=(0); if (!($296)) { - (_stem($z,26270,19266,174)|0); + (_stem($z,26021,19010,174)|0); } break; } @@ -81629,7 +81974,7 @@ function _isVowel($z) { $7 = HEAP8[$x>>0]|0; $8 = $7 << 24 >> 24; $9 = (($8) - 97)|0; - $10 = (26274 + ($9)|0); + $10 = (26025 + ($9)|0); $11 = HEAP8[$10>>0]|0; $12 = $11 << 24 >> 24; HEAP32[$j>>2] = $12; @@ -81676,7 +82021,7 @@ function _isConsonant($z) { $7 = HEAP8[$x>>0]|0; $8 = $7 << 24 >> 24; $9 = (($8) - 97)|0; - $10 = (26274 + ($9)|0); + $10 = (26025 + ($9)|0); $11 = HEAP8[$10>>0]|0; $12 = $11 << 24 >> 24; HEAP32[$j>>2] = $12; @@ -82297,7 +82642,7 @@ function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { break; } $20 = HEAP32[$zDb>>2]|0; - $21 = (_sqlite3_strnicmp(19536,$20,4)|0); + $21 = (_sqlite3_strnicmp(19280,$20,4)|0); $22 = (0)==($21|0); if (!($22)) { break; @@ -82323,7 +82668,7 @@ function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { $35 = (_strlen($34)|0); HEAP32[$nFts3>>2] = $35; $36 = HEAP32[$1>>2]|0; - $37 = (_sqlite3_declare_vtab($36,26310)|0); + $37 = (_sqlite3_declare_vtab($36,26061)|0); HEAP32[$rc>>2] = $37; $38 = HEAP32[$rc>>2]|0; $39 = ($38|0)!=(0); @@ -82422,7 +82767,7 @@ function _fts3auxConnectMethod($db,$pUnused,$argc,$argv,$ppVtab,$pzErr) { } } while(0); $106 = HEAP32[$6>>2]|0; - _sqlite3Fts3ErrMsg($106,26379,$vararg_buffer); + _sqlite3Fts3ErrMsg($106,26130,$vararg_buffer); HEAP32[$0>>2] = 1; $107 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($107|0); @@ -82908,7 +83253,7 @@ function _fts3auxFilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { if ($65) { $66 = HEAP32[$zStr>>2]|0; HEAP32[$vararg_buffer>>2] = $66; - $67 = (_sqlite3_mprintf(19255,$vararg_buffer)|0); + $67 = (_sqlite3_mprintf(18999,$vararg_buffer)|0); $68 = HEAP32[$pCsr>>2]|0; $69 = ((($68)) + 60|0); HEAP32[$69>>2] = $67; @@ -82939,7 +83284,7 @@ function _fts3auxFilterMethod($pCursor,$idxNum,$idxStr,$nVal,$apVal) { $85 = HEAP32[$84>>2]|0; $86 = (_sqlite3_value_text($85)|0); HEAP32[$vararg_buffer2>>2] = $86; - $87 = (_sqlite3_mprintf(19255,$vararg_buffer2)|0); + $87 = (_sqlite3_mprintf(18999,$vararg_buffer2)|0); $88 = HEAP32[$pCsr>>2]|0; $89 = ((($88)) + 76|0); HEAP32[$89>>2] = $87; @@ -83498,7 +83843,7 @@ function _fts3auxColumnMethod($pCursor,$pCtx,$iCol) { _sqlite3_result_int($18,$22); STACKTOP = sp;return 0; } else { - _sqlite3_result_text($18,26308,-1,0); + _sqlite3_result_text($18,26059,-1,0); STACKTOP = sp;return 0; } break; @@ -83706,7 +84051,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $22 = ($21|0)==(19); if ($22) { $23 = HEAP32[$z>>2]|0; - $24 = (_memcmp(26585,$23,19)|0); + $24 = (_memcmp(26336,$23,19)|0); $25 = ($24|0)==(0); if ($25) { $26 = HEAP32[$pNew>>2]|0; @@ -83725,7 +84070,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $29 = ($28|0)==(19); if ($29) { $30 = HEAP32[$z>>2]|0; - $31 = (_memcmp(26605,$30,19)|0); + $31 = (_memcmp(26356,$30,19)|0); $32 = ($31|0)==(0); if ($32) { $33 = HEAP32[$pNew>>2]|0; @@ -83738,7 +84083,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $36 = ($35|0)>=(11); if ($36) { $37 = HEAP32[$z>>2]|0; - $38 = (_memcmp(26625,$37,11)|0); + $38 = (_memcmp(26376,$37,11)|0); $39 = ($38|0)==(0); if ($39) { $40 = HEAP32[$pNew>>2]|0; @@ -83755,7 +84100,7 @@ function _unicodeCreate($nArg,$azArg,$pp) { $47 = ($46|0)>=(11); if ($47) { $48 = HEAP32[$z>>2]|0; - $49 = (_memcmp(26637,$48,11)|0); + $49 = (_memcmp(26388,$48,11)|0); $50 = ($49|0)==(0); if ($50) { $51 = HEAP32[$pNew>>2]|0; @@ -83989,7 +84334,7 @@ function _unicodeNext($pC,$paToken,$pnToken,$piStart,$piEnd,$piPos) { if ($33) { $34 = HEAP32[$iCode>>2]|0; $35 = (($34) - 192)|0; - $36 = (26420 + ($35)|0); + $36 = (26171 + ($35)|0); $37 = HEAP8[$36>>0]|0; $38 = $37&255; HEAP32[$iCode>>2] = $38; @@ -84259,7 +84604,7 @@ function _unicodeNext($pC,$paToken,$pnToken,$piStart,$piEnd,$piPos) { if ($213) { $214 = HEAP32[$iCode>>2]|0; $215 = (($214) - 192)|0; - $216 = (26420 + ($215)|0); + $216 = (26171 + ($215)|0); $217 = HEAP8[$216>>0]|0; $218 = $217&255; HEAP32[$iCode>>2] = $218; @@ -84477,7 +84822,7 @@ function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { HEAP32[$iTest>>2] = $18; $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$iTest>>2]|0; - $21 = (10902 + ($20<<2)|0); + $21 = (10626 + ($20<<2)|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = (($19) - ($23))|0; @@ -84501,7 +84846,7 @@ function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { $32 = ($31|0)>=(0); if ($32) { $33 = HEAP32[$iRes>>2]|0; - $34 = (10902 + ($33<<2)|0); + $34 = (10626 + ($33<<2)|0); HEAP32[$p>>2] = $34; $35 = HEAP32[$0>>2]|0; $36 = HEAP32[$p>>2]|0; @@ -84533,7 +84878,7 @@ function _sqlite3FtsUnicodeFold($c,$bRemoveDiacritic) { $60 = HEAP8[$59>>0]|0; $61 = $60&255; $62 = $61 >> 1; - $63 = (11554 + ($62<<1)|0); + $63 = (11278 + ($62<<1)|0); $64 = HEAP16[$63>>1]|0; $65 = $64&65535; $66 = (($57) + ($65))|0; @@ -84615,8 +84960,8 @@ function _remove_diacritic($c) { $iLo = sp + 4|0; $iTest = sp; HEAP32[$0>>2] = $c; - _memcpy(($aDia|0),(11708|0),202)|0; - dest=$aChar; src=26484; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + _memcpy(($aDia|0),(11432|0),202)|0; + dest=$aChar; src=26235; stop=dest+101|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $1 = HEAP32[$0>>2]|0; $2 = $1 << 3; $3 = $2 | 7; @@ -84702,7 +85047,7 @@ function _sqlite3FtsUnicodeIsalnum($c) { $4 = HEAP32[$1>>2]|0; if ($3) { $5 = $4 >> 5; - $6 = (2340 + ($5<<2)|0); + $6 = (2364 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = $8 & 31; @@ -84741,7 +85086,7 @@ function _sqlite3FtsUnicodeIsalnum($c) { HEAP32[$iTest>>2] = $24; $25 = HEAP32[$key>>2]|0; $26 = HEAP32[$iTest>>2]|0; - $27 = (2356 + ($26<<2)|0); + $27 = (2380 + ($26<<2)|0); $28 = HEAP32[$27>>2]|0; $29 = ($25>>>0)>=($28>>>0); $30 = HEAP32[$iTest>>2]|0; @@ -84759,11 +85104,11 @@ function _sqlite3FtsUnicodeIsalnum($c) { } $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$iRes>>2]|0; - $36 = (2356 + ($35<<2)|0); + $36 = (2380 + ($35<<2)|0); $37 = HEAP32[$36>>2]|0; $38 = $37 >>> 10; $39 = HEAP32[$iRes>>2]|0; - $40 = (2356 + ($39<<2)|0); + $40 = (2380 + ($39<<2)|0); $41 = HEAP32[$40>>2]|0; $42 = $41 & 1023; $43 = (($38) + ($42))|0; @@ -84912,7 +85257,7 @@ function _unicodeAddExceptions($p,$bAlnum,$zIn,$nIn) { if ($17) { $18 = HEAP32[$iCode>>2]|0; $19 = (($18) - 192)|0; - $20 = (26420 + ($19)|0); + $20 = (26171 + ($19)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; HEAP32[$iCode>>2] = $22; @@ -85024,7 +85369,7 @@ function _unicodeAddExceptions($p,$bAlnum,$zIn,$nIn) { if ($81) { $82 = HEAP32[$iCode>>2]|0; $83 = (($82) - 192)|0; - $84 = (26420 + ($83)|0); + $84 = (26171 + ($83)|0); $85 = HEAP8[$84>>0]|0; $86 = $85&255; HEAP32[$iCode>>2] = $86; @@ -85209,7 +85554,7 @@ function _sqlite3TempInMemory($db) { $0 = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); + $2 = ((($1)) + 68|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; $5 = ($4|0)==(2); @@ -85296,12 +85641,12 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fout = 0, $iDc = 0, $journalFileSize = 0, $memDb = 0, $nPathname = 0, $nUri = 0, $pPager = 0, $pPtr = 0, $pcacheSize = 0, $rc = 0, $readOnly = 0, $szPageDflt = 0; - var $tempFile = 0, $useJournal = 0, $z = 0, $zPathname = 0, $zUri = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fout = 0; + var $iDc = 0, $journalFileSize = 0, $memDb = 0, $nPathname = 0, $nUri = 0, $pPager = 0, $pPtr = 0, $pcacheSize = 0, $rc = 0, $readOnly = 0, $szPageDflt = 0, $tempFile = 0, $useJournal = 0, $z = 0, $zPathname = 0, $zUri = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; $0 = sp + 96|0; @@ -85350,567 +85695,554 @@ function _sqlite3PagerOpen($pVfs,$ppPager,$zFilename,$nExtra,$flags,$vfsFlags,$x HEAP32[$useJournal>>2] = $11; $12 = (_sqlite3PcacheSize()|0); HEAP32[$pcacheSize>>2] = $12; - HEAP32[$szPageDflt>>2] = 1024; + HEAP32[$szPageDflt>>2] = 4096; HEAP32[$zUri>>2] = 0; HEAP32[$nUri>>2] = 0; $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3MemJournalSize()|0); - $17 = ($15|0)>($16|0); - if ($17) { - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + 7)|0; - $22 = $21 & -8; - HEAP32[$journalFileSize>>2] = $22; - } else { - $23 = (_sqlite3MemJournalSize()|0); - $24 = (($23) + 7)|0; - $25 = $24 & -8; - HEAP32[$journalFileSize>>2] = $25; - } - $26 = HEAP32[$2>>2]|0; - HEAP32[$26>>2] = 0; - $27 = HEAP32[$5>>2]|0; - $28 = $27 & 2; - $29 = ($28|0)!=(0); + $14 = (_sqlite3JournalSize($13)|0); + $15 = (($14) + 7)|0; + $16 = $15 & -8; + HEAP32[$journalFileSize>>2] = $16; + $17 = HEAP32[$2>>2]|0; + HEAP32[$17>>2] = 0; + $18 = HEAP32[$5>>2]|0; + $19 = $18 & 2; + $20 = ($19|0)!=(0); do { - if ($29) { + if ($20) { HEAP32[$memDb>>2] = 1; - $30 = HEAP32[$3>>2]|0; - $31 = ($30|0)!=(0|0); - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP8[$32>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($34|0)!=(0); - if ($35) { - $36 = HEAP32[$3>>2]|0; - $37 = (_sqlite3DbStrDup(0,$36)|0); - HEAP32[$zPathname>>2] = $37; - $38 = HEAP32[$zPathname>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = HEAP32[$zPathname>>2]|0; - $41 = (_sqlite3Strlen30($40)|0); - HEAP32[$nPathname>>2] = $41; + $21 = HEAP32[$3>>2]|0; + $22 = ($21|0)!=(0|0); + if ($22) { + $23 = HEAP32[$3>>2]|0; + $24 = HEAP8[$23>>0]|0; + $25 = $24 << 24 >> 24; + $26 = ($25|0)!=(0); + if ($26) { + $27 = HEAP32[$3>>2]|0; + $28 = (_sqlite3DbStrDup(0,$27)|0); + HEAP32[$zPathname>>2] = $28; + $29 = HEAP32[$zPathname>>2]|0; + $30 = ($29|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$zPathname>>2]|0; + $32 = (_sqlite3Strlen30($31)|0); + HEAP32[$nPathname>>2] = $32; HEAP32[$3>>2] = 0; break; } HEAP32[$0>>2] = 7; - $387 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($387|0); + $378 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($378|0); } } } } while(0); - $42 = HEAP32[$3>>2]|0; - $43 = ($42|0)!=(0|0); - if ($43) { - $44 = HEAP32[$3>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = ($46|0)!=(0); - if ($47) { - $48 = HEAP32[$1>>2]|0; - $49 = ((($48)) + 8|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + 1)|0; - HEAP32[$nPathname>>2] = $51; - $52 = HEAP32[$nPathname>>2]|0; - $53 = $52<<1; - $54 = ($53|0)<(0); - $55 = $54 << 31 >> 31; - $56 = (_sqlite3DbMallocRaw(0,$53,$55)|0); - HEAP32[$zPathname>>2] = $56; - $57 = HEAP32[$zPathname>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { + $33 = HEAP32[$3>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$3>>2]|0; + $36 = HEAP8[$35>>0]|0; + $37 = $36 << 24 >> 24; + $38 = ($37|0)!=(0); + if ($38) { + $39 = HEAP32[$1>>2]|0; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$nPathname>>2] = $42; + $43 = HEAP32[$nPathname>>2]|0; + $44 = $43<<1; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = (_sqlite3DbMallocRaw(0,$44,$46)|0); + HEAP32[$zPathname>>2] = $47; + $48 = HEAP32[$zPathname>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { HEAP32[$0>>2] = 7; - $387 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($387|0); + $378 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($378|0); } - $59 = HEAP32[$zPathname>>2]|0; - HEAP8[$59>>0] = 0; - $60 = HEAP32[$1>>2]|0; + $50 = HEAP32[$zPathname>>2]|0; + HEAP8[$50>>0] = 0; + $51 = HEAP32[$1>>2]|0; + $52 = HEAP32[$3>>2]|0; + $53 = HEAP32[$nPathname>>2]|0; + $54 = HEAP32[$zPathname>>2]|0; + $55 = (_sqlite3OsFullPathname($51,$52,$53,$54)|0); + HEAP32[$rc>>2] = $55; + $56 = HEAP32[$zPathname>>2]|0; + $57 = (_sqlite3Strlen30($56)|0); + HEAP32[$nPathname>>2] = $57; + $58 = HEAP32[$3>>2]|0; + $59 = (_sqlite3Strlen30($58)|0); + $60 = (($59) + 1)|0; $61 = HEAP32[$3>>2]|0; - $62 = HEAP32[$nPathname>>2]|0; - $63 = HEAP32[$zPathname>>2]|0; - $64 = (_sqlite3OsFullPathname($60,$61,$62,$63)|0); - HEAP32[$rc>>2] = $64; - $65 = HEAP32[$zPathname>>2]|0; - $66 = (_sqlite3Strlen30($65)|0); - HEAP32[$nPathname>>2] = $66; - $67 = HEAP32[$3>>2]|0; - $68 = (_sqlite3Strlen30($67)|0); - $69 = (($68) + 1)|0; - $70 = HEAP32[$3>>2]|0; - $71 = (($70) + ($69)|0); - HEAP32[$zUri>>2] = $71; - HEAP32[$z>>2] = $71; + $62 = (($61) + ($60)|0); + HEAP32[$zUri>>2] = $62; + HEAP32[$z>>2] = $62; while(1) { - $72 = HEAP32[$z>>2]|0; - $73 = HEAP8[$72>>0]|0; - $74 = ($73<<24>>24)!=(0); - $75 = HEAP32[$z>>2]|0; - if (!($74)) { + $63 = HEAP32[$z>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = ($64<<24>>24)!=(0); + $66 = HEAP32[$z>>2]|0; + if (!($65)) { break; } - $76 = (_sqlite3Strlen30($75)|0); - $77 = (($76) + 1)|0; - $78 = HEAP32[$z>>2]|0; - $79 = (($78) + ($77)|0); - HEAP32[$z>>2] = $79; - $80 = HEAP32[$z>>2]|0; - $81 = (_sqlite3Strlen30($80)|0); - $82 = (($81) + 1)|0; - $83 = HEAP32[$z>>2]|0; - $84 = (($83) + ($82)|0); - HEAP32[$z>>2] = $84; - } - $85 = ((($75)) + 1|0); - $86 = HEAP32[$zUri>>2]|0; - $87 = $85; - $88 = $86; - $89 = (($87) - ($88))|0; - HEAP32[$nUri>>2] = $89; - $90 = HEAP32[$rc>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - $92 = HEAP32[$nPathname>>2]|0; - $93 = (($92) + 8)|0; - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($93|0)>($96|0); - if ($97) { - $98 = (_sqlite3CantopenError(48375)|0); - HEAP32[$rc>>2] = $98; + $67 = (_sqlite3Strlen30($66)|0); + $68 = (($67) + 1)|0; + $69 = HEAP32[$z>>2]|0; + $70 = (($69) + ($68)|0); + HEAP32[$z>>2] = $70; + $71 = HEAP32[$z>>2]|0; + $72 = (_sqlite3Strlen30($71)|0); + $73 = (($72) + 1)|0; + $74 = HEAP32[$z>>2]|0; + $75 = (($74) + ($73)|0); + HEAP32[$z>>2] = $75; + } + $76 = ((($66)) + 1|0); + $77 = HEAP32[$zUri>>2]|0; + $78 = $76; + $79 = $77; + $80 = (($78) - ($79))|0; + HEAP32[$nUri>>2] = $80; + $81 = HEAP32[$rc>>2]|0; + $82 = ($81|0)==(0); + if ($82) { + $83 = HEAP32[$nPathname>>2]|0; + $84 = (($83) + 8)|0; + $85 = HEAP32[$1>>2]|0; + $86 = ((($85)) + 8|0); + $87 = HEAP32[$86>>2]|0; + $88 = ($84|0)>($87|0); + if ($88) { + $89 = (_sqlite3CantopenError(48619)|0); + HEAP32[$rc>>2] = $89; } } - $99 = HEAP32[$rc>>2]|0; - $100 = ($99|0)!=(0); - if ($100) { - $101 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$101); - $102 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $102; - $387 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($387|0); + $90 = HEAP32[$rc>>2]|0; + $91 = ($90|0)!=(0); + if ($91) { + $92 = HEAP32[$zPathname>>2]|0; + _sqlite3DbFree(0,$92); + $93 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $93; + $378 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($378|0); } } } - $103 = HEAP32[$pcacheSize>>2]|0; - $104 = (($103) + 7)|0; - $105 = $104 & -8; - $106 = (224 + ($105))|0; - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + 7)|0; - $111 = $110 & -8; - $112 = (($106) + ($111))|0; - $113 = HEAP32[$journalFileSize>>2]|0; - $114 = $113<<1; - $115 = (($112) + ($114))|0; + $94 = HEAP32[$pcacheSize>>2]|0; + $95 = (($94) + 7)|0; + $96 = $95 & -8; + $97 = (224 + ($96))|0; + $98 = HEAP32[$1>>2]|0; + $99 = ((($98)) + 4|0); + $100 = HEAP32[$99>>2]|0; + $101 = (($100) + 7)|0; + $102 = $101 & -8; + $103 = (($97) + ($102))|0; + $104 = HEAP32[$journalFileSize>>2]|0; + $105 = $104<<1; + $106 = (($103) + ($105))|0; + $107 = HEAP32[$nPathname>>2]|0; + $108 = (($106) + ($107))|0; + $109 = (($108) + 1)|0; + $110 = HEAP32[$nUri>>2]|0; + $111 = (($109) + ($110))|0; + $112 = HEAP32[$nPathname>>2]|0; + $113 = (($111) + ($112))|0; + $114 = (($113) + 8)|0; + $115 = (($114) + 2)|0; $116 = HEAP32[$nPathname>>2]|0; $117 = (($115) + ($116))|0; - $118 = (($117) + 1)|0; - $119 = HEAP32[$nUri>>2]|0; - $120 = (($118) + ($119))|0; - $121 = HEAP32[$nPathname>>2]|0; - $122 = (($120) + ($121))|0; - $123 = (($122) + 8)|0; - $124 = (($123) + 2)|0; - $125 = HEAP32[$nPathname>>2]|0; - $126 = (($124) + ($125))|0; - $127 = (($126) + 4)|0; - $128 = (($127) + 2)|0; - $129 = (_sqlite3MallocZero($128,0)|0); - HEAP32[$pPtr>>2] = $129; - $130 = HEAP32[$pPtr>>2]|0; - $131 = ($130|0)!=(0|0); - if (!($131)) { - $132 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$132); + $118 = (($117) + 4)|0; + $119 = (($118) + 2)|0; + $120 = (_sqlite3MallocZero($119,0)|0); + HEAP32[$pPtr>>2] = $120; + $121 = HEAP32[$pPtr>>2]|0; + $122 = ($121|0)!=(0|0); + if (!($122)) { + $123 = HEAP32[$zPathname>>2]|0; + _sqlite3DbFree(0,$123); HEAP32[$0>>2] = 7; - $387 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($387|0); - } - $133 = HEAP32[$pPtr>>2]|0; - HEAP32[$pPager>>2] = $133; - $134 = HEAP32[$pPtr>>2]|0; - $135 = ((($134)) + 224|0); - HEAP32[$pPtr>>2] = $135; - $136 = HEAP32[$pPager>>2]|0; - $137 = ((($136)) + 212|0); - HEAP32[$137>>2] = $135; - $138 = HEAP32[$pcacheSize>>2]|0; + $378 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($378|0); + } + $124 = HEAP32[$pPtr>>2]|0; + HEAP32[$pPager>>2] = $124; + $125 = HEAP32[$pPtr>>2]|0; + $126 = ((($125)) + 224|0); + HEAP32[$pPtr>>2] = $126; + $127 = HEAP32[$pPager>>2]|0; + $128 = ((($127)) + 212|0); + HEAP32[$128>>2] = $126; + $129 = HEAP32[$pcacheSize>>2]|0; + $130 = (($129) + 7)|0; + $131 = $130 & -8; + $132 = HEAP32[$pPtr>>2]|0; + $133 = (($132) + ($131)|0); + HEAP32[$pPtr>>2] = $133; + $134 = HEAP32[$pPager>>2]|0; + $135 = ((($134)) + 64|0); + HEAP32[$135>>2] = $133; + $136 = HEAP32[$1>>2]|0; + $137 = ((($136)) + 4|0); + $138 = HEAP32[$137>>2]|0; $139 = (($138) + 7)|0; $140 = $139 & -8; $141 = HEAP32[$pPtr>>2]|0; $142 = (($141) + ($140)|0); HEAP32[$pPtr>>2] = $142; $143 = HEAP32[$pPager>>2]|0; - $144 = ((($143)) + 64|0); + $144 = ((($143)) + 72|0); HEAP32[$144>>2] = $142; - $145 = HEAP32[$1>>2]|0; - $146 = ((($145)) + 4|0); - $147 = HEAP32[$146>>2]|0; - $148 = (($147) + 7)|0; - $149 = $148 & -8; - $150 = HEAP32[$pPtr>>2]|0; - $151 = (($150) + ($149)|0); - HEAP32[$pPtr>>2] = $151; - $152 = HEAP32[$pPager>>2]|0; - $153 = ((($152)) + 72|0); - HEAP32[$153>>2] = $151; - $154 = HEAP32[$journalFileSize>>2]|0; - $155 = HEAP32[$pPtr>>2]|0; - $156 = (($155) + ($154)|0); - HEAP32[$pPtr>>2] = $156; - $157 = HEAP32[$pPager>>2]|0; - $158 = ((($157)) + 68|0); - HEAP32[$158>>2] = $156; - $159 = HEAP32[$journalFileSize>>2]|0; - $160 = HEAP32[$pPtr>>2]|0; - $161 = (($160) + ($159)|0); - HEAP32[$pPtr>>2] = $161; - $162 = HEAP32[$pPager>>2]|0; - $163 = ((($162)) + 176|0); - HEAP32[$163>>2] = $161; - $164 = HEAP32[$zPathname>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$nPathname>>2]|0; - $167 = (($166) + 1)|0; - $168 = HEAP32[$nUri>>2]|0; - $169 = (($167) + ($168))|0; - $170 = HEAP32[$pPtr>>2]|0; - $171 = (($170) + ($169)|0); - HEAP32[$pPtr>>2] = $171; - $172 = HEAP32[$pPager>>2]|0; - $173 = ((($172)) + 180|0); - HEAP32[$173>>2] = $171; - $174 = HEAP32[$pPager>>2]|0; - $175 = ((($174)) + 176|0); - $176 = HEAP32[$175>>2]|0; - $177 = HEAP32[$zPathname>>2]|0; - $178 = HEAP32[$nPathname>>2]|0; - _memcpy(($176|0),($177|0),($178|0))|0; - $179 = HEAP32[$nUri>>2]|0; - $180 = ($179|0)!=(0); - if ($180) { - $181 = HEAP32[$nPathname>>2]|0; - $182 = (($181) + 1)|0; - $183 = HEAP32[$pPager>>2]|0; - $184 = ((($183)) + 176|0); - $185 = HEAP32[$184>>2]|0; - $186 = (($185) + ($182)|0); - $187 = HEAP32[$zUri>>2]|0; - $188 = HEAP32[$nUri>>2]|0; - _memcpy(($186|0),($187|0),($188|0))|0; - } - $189 = HEAP32[$pPager>>2]|0; - $190 = ((($189)) + 180|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$zPathname>>2]|0; - $193 = HEAP32[$nPathname>>2]|0; - _memcpy(($191|0),($192|0),($193|0))|0; - $194 = HEAP32[$nPathname>>2]|0; - $195 = HEAP32[$pPager>>2]|0; - $196 = ((($195)) + 180|0); - $197 = HEAP32[$196>>2]|0; - $198 = (($197) + ($194)|0); - dest=$198; src=26868; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $199 = HEAP32[$nPathname>>2]|0; - $200 = (($199) + 8)|0; - $201 = (($200) + 1)|0; - $202 = HEAP32[$pPager>>2]|0; - $203 = ((($202)) + 180|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + ($201)|0); - $206 = HEAP32[$pPager>>2]|0; - $207 = ((($206)) + 220|0); - HEAP32[$207>>2] = $205; - $208 = HEAP32[$pPager>>2]|0; - $209 = ((($208)) + 220|0); - $210 = HEAP32[$209>>2]|0; - $211 = HEAP32[$zPathname>>2]|0; - $212 = HEAP32[$nPathname>>2]|0; - _memcpy(($210|0),($211|0),($212|0))|0; - $213 = HEAP32[$nPathname>>2]|0; - $214 = HEAP32[$pPager>>2]|0; - $215 = ((($214)) + 220|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($216) + ($213)|0); - ;HEAP8[$217>>0]=HEAP8[26878>>0]|0;HEAP8[$217+1>>0]=HEAP8[26878+1>>0]|0;HEAP8[$217+2>>0]=HEAP8[26878+2>>0]|0;HEAP8[$217+3>>0]=HEAP8[26878+3>>0]|0;HEAP8[$217+4>>0]=HEAP8[26878+4>>0]|0; - $218 = HEAP32[$zPathname>>2]|0; - _sqlite3DbFree(0,$218); - } - $219 = HEAP32[$1>>2]|0; - $220 = HEAP32[$pPager>>2]|0; - HEAP32[$220>>2] = $219; - $221 = HEAP32[$6>>2]|0; - $222 = HEAP32[$pPager>>2]|0; - $223 = ((($222)) + 152|0); - HEAP32[$223>>2] = $221; - $224 = HEAP32[$3>>2]|0; - $225 = ($224|0)!=(0|0); + $145 = HEAP32[$journalFileSize>>2]|0; + $146 = HEAP32[$pPtr>>2]|0; + $147 = (($146) + ($145)|0); + HEAP32[$pPtr>>2] = $147; + $148 = HEAP32[$pPager>>2]|0; + $149 = ((($148)) + 68|0); + HEAP32[$149>>2] = $147; + $150 = HEAP32[$journalFileSize>>2]|0; + $151 = HEAP32[$pPtr>>2]|0; + $152 = (($151) + ($150)|0); + HEAP32[$pPtr>>2] = $152; + $153 = HEAP32[$pPager>>2]|0; + $154 = ((($153)) + 176|0); + HEAP32[$154>>2] = $152; + $155 = HEAP32[$zPathname>>2]|0; + $156 = ($155|0)!=(0|0); + if ($156) { + $157 = HEAP32[$nPathname>>2]|0; + $158 = (($157) + 1)|0; + $159 = HEAP32[$nUri>>2]|0; + $160 = (($158) + ($159))|0; + $161 = HEAP32[$pPtr>>2]|0; + $162 = (($161) + ($160)|0); + HEAP32[$pPtr>>2] = $162; + $163 = HEAP32[$pPager>>2]|0; + $164 = ((($163)) + 180|0); + HEAP32[$164>>2] = $162; + $165 = HEAP32[$pPager>>2]|0; + $166 = ((($165)) + 176|0); + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$zPathname>>2]|0; + $169 = HEAP32[$nPathname>>2]|0; + _memcpy(($167|0),($168|0),($169|0))|0; + $170 = HEAP32[$nUri>>2]|0; + $171 = ($170|0)!=(0); + if ($171) { + $172 = HEAP32[$nPathname>>2]|0; + $173 = (($172) + 1)|0; + $174 = HEAP32[$pPager>>2]|0; + $175 = ((($174)) + 176|0); + $176 = HEAP32[$175>>2]|0; + $177 = (($176) + ($173)|0); + $178 = HEAP32[$zUri>>2]|0; + $179 = HEAP32[$nUri>>2]|0; + _memcpy(($177|0),($178|0),($179|0))|0; + } + $180 = HEAP32[$pPager>>2]|0; + $181 = ((($180)) + 180|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$zPathname>>2]|0; + $184 = HEAP32[$nPathname>>2]|0; + _memcpy(($182|0),($183|0),($184|0))|0; + $185 = HEAP32[$nPathname>>2]|0; + $186 = HEAP32[$pPager>>2]|0; + $187 = ((($186)) + 180|0); + $188 = HEAP32[$187>>2]|0; + $189 = (($188) + ($185)|0); + dest=$189; src=26597; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $190 = HEAP32[$nPathname>>2]|0; + $191 = (($190) + 8)|0; + $192 = (($191) + 1)|0; + $193 = HEAP32[$pPager>>2]|0; + $194 = ((($193)) + 180|0); + $195 = HEAP32[$194>>2]|0; + $196 = (($195) + ($192)|0); + $197 = HEAP32[$pPager>>2]|0; + $198 = ((($197)) + 220|0); + HEAP32[$198>>2] = $196; + $199 = HEAP32[$pPager>>2]|0; + $200 = ((($199)) + 220|0); + $201 = HEAP32[$200>>2]|0; + $202 = HEAP32[$zPathname>>2]|0; + $203 = HEAP32[$nPathname>>2]|0; + _memcpy(($201|0),($202|0),($203|0))|0; + $204 = HEAP32[$nPathname>>2]|0; + $205 = HEAP32[$pPager>>2]|0; + $206 = ((($205)) + 220|0); + $207 = HEAP32[$206>>2]|0; + $208 = (($207) + ($204)|0); + ;HEAP8[$208>>0]=HEAP8[26607>>0]|0;HEAP8[$208+1>>0]=HEAP8[26607+1>>0]|0;HEAP8[$208+2>>0]=HEAP8[26607+2>>0]|0;HEAP8[$208+3>>0]=HEAP8[26607+3>>0]|0;HEAP8[$208+4>>0]=HEAP8[26607+4>>0]|0; + $209 = HEAP32[$zPathname>>2]|0; + _sqlite3DbFree(0,$209); + } + $210 = HEAP32[$1>>2]|0; + $211 = HEAP32[$pPager>>2]|0; + HEAP32[$211>>2] = $210; + $212 = HEAP32[$6>>2]|0; + $213 = HEAP32[$pPager>>2]|0; + $214 = ((($213)) + 152|0); + HEAP32[$214>>2] = $212; + $215 = HEAP32[$3>>2]|0; + $216 = ($215|0)!=(0|0); do { - if ($225) { - $226 = HEAP32[$3>>2]|0; - $227 = HEAP8[$226>>0]|0; - $228 = $227 << 24 >> 24; - $229 = ($228|0)!=(0); - if ($229) { + if ($216) { + $217 = HEAP32[$3>>2]|0; + $218 = HEAP8[$217>>0]|0; + $219 = $218 << 24 >> 24; + $220 = ($219|0)!=(0); + if ($220) { HEAP32[$fout>>2] = 0; - $230 = HEAP32[$1>>2]|0; - $231 = HEAP32[$pPager>>2]|0; - $232 = ((($231)) + 176|0); - $233 = HEAP32[$232>>2]|0; - $234 = HEAP32[$pPager>>2]|0; - $235 = ((($234)) + 64|0); - $236 = HEAP32[$235>>2]|0; - $237 = HEAP32[$6>>2]|0; - $238 = (_sqlite3OsOpen($230,$233,$236,$237,$fout)|0); - HEAP32[$rc>>2] = $238; - $239 = HEAP32[$fout>>2]|0; - $240 = $239 & 1; - HEAP32[$readOnly>>2] = $240; - $241 = HEAP32[$rc>>2]|0; - $242 = ($241|0)==(0); - if ($242) { - $243 = HEAP32[$pPager>>2]|0; - $244 = ((($243)) + 64|0); - $245 = HEAP32[$244>>2]|0; - $246 = (_sqlite3OsDeviceCharacteristics($245)|0); - HEAP32[$iDc>>2] = $246; - $247 = HEAP32[$readOnly>>2]|0; - $248 = ($247|0)!=(0); + $221 = HEAP32[$1>>2]|0; + $222 = HEAP32[$pPager>>2]|0; + $223 = ((($222)) + 176|0); + $224 = HEAP32[$223>>2]|0; + $225 = HEAP32[$pPager>>2]|0; + $226 = ((($225)) + 64|0); + $227 = HEAP32[$226>>2]|0; + $228 = HEAP32[$6>>2]|0; + $229 = (_sqlite3OsOpen($221,$224,$227,$228,$fout)|0); + HEAP32[$rc>>2] = $229; + $230 = HEAP32[$fout>>2]|0; + $231 = $230 & 1; + HEAP32[$readOnly>>2] = $231; + $232 = HEAP32[$rc>>2]|0; + $233 = ($232|0)==(0); + if ($233) { + $234 = HEAP32[$pPager>>2]|0; + $235 = ((($234)) + 64|0); + $236 = HEAP32[$235>>2]|0; + $237 = (_sqlite3OsDeviceCharacteristics($236)|0); + HEAP32[$iDc>>2] = $237; + $238 = HEAP32[$readOnly>>2]|0; + $239 = ($238|0)!=(0); do { - if (!($248)) { - $249 = HEAP32[$pPager>>2]|0; - _setSectorSize($249); - $250 = HEAP32[$szPageDflt>>2]|0; - $251 = HEAP32[$pPager>>2]|0; - $252 = ((($251)) + 156|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($250>>>0)<($253>>>0); - if ($254) { - $255 = HEAP32[$pPager>>2]|0; - $256 = ((($255)) + 156|0); - $257 = HEAP32[$256>>2]|0; - $258 = ($257>>>0)>(8192); - if ($258) { + if (!($239)) { + $240 = HEAP32[$pPager>>2]|0; + _setSectorSize($240); + $241 = HEAP32[$szPageDflt>>2]|0; + $242 = HEAP32[$pPager>>2]|0; + $243 = ((($242)) + 156|0); + $244 = HEAP32[$243>>2]|0; + $245 = ($241>>>0)<($244>>>0); + if ($245) { + $246 = HEAP32[$pPager>>2]|0; + $247 = ((($246)) + 156|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248>>>0)>(8192); + if ($249) { HEAP32[$szPageDflt>>2] = 8192; break; } else { - $259 = HEAP32[$pPager>>2]|0; - $260 = ((($259)) + 156|0); - $261 = HEAP32[$260>>2]|0; - HEAP32[$szPageDflt>>2] = $261; + $250 = HEAP32[$pPager>>2]|0; + $251 = ((($250)) + 156|0); + $252 = HEAP32[$251>>2]|0; + HEAP32[$szPageDflt>>2] = $252; break; } } } } while(0); - $262 = HEAP32[$3>>2]|0; - $263 = (_sqlite3_uri_boolean($262,26884,0)|0); - $264 = $263&255; - $265 = HEAP32[$pPager>>2]|0; - $266 = ((($265)) + 14|0); - HEAP8[$266>>0] = $264; - $267 = HEAP32[$iDc>>2]|0; - $268 = $267 & 8192; - $269 = ($268|0)!=(0); - if (!($269)) { - $270 = HEAP32[$3>>2]|0; - $271 = (_sqlite3_uri_boolean($270,26891,0)|0); - $272 = ($271|0)!=(0); - if (!($272)) { + $253 = HEAP32[$3>>2]|0; + $254 = (_sqlite3_uri_boolean($253,26613,0)|0); + $255 = $254&255; + $256 = HEAP32[$pPager>>2]|0; + $257 = ((($256)) + 14|0); + HEAP8[$257>>0] = $255; + $258 = HEAP32[$iDc>>2]|0; + $259 = $258 & 8192; + $260 = ($259|0)!=(0); + if (!($260)) { + $261 = HEAP32[$3>>2]|0; + $262 = (_sqlite3_uri_boolean($261,26620,0)|0); + $263 = ($262|0)!=(0); + if (!($263)) { break; } } - $273 = HEAP32[$6>>2]|0; - $274 = $273 | 1; - HEAP32[$6>>2] = $274; - label = 39; + $264 = HEAP32[$6>>2]|0; + $265 = $264 | 1; + HEAP32[$6>>2] = $265; + label = 36; } } else { - label = 39; + label = 36; } } else { - label = 39; + label = 36; } } while(0); - if ((label|0) == 39) { + if ((label|0) == 36) { HEAP32[$tempFile>>2] = 1; - $275 = HEAP32[$pPager>>2]|0; - $276 = ((($275)) + 17|0); - HEAP8[$276>>0] = 1; - $277 = HEAP32[$pPager>>2]|0; - $278 = ((($277)) + 18|0); - HEAP8[$278>>0] = 4; - $279 = HEAP32[$pPager>>2]|0; - $280 = ((($279)) + 14|0); - HEAP8[$280>>0] = 1; - $281 = HEAP32[$6>>2]|0; - $282 = $281 & 1; - HEAP32[$readOnly>>2] = $282; - } - $283 = HEAP32[$rc>>2]|0; - $284 = ($283|0)==(0); - if ($284) { - $285 = HEAP32[$pPager>>2]|0; - $286 = (_sqlite3PagerSetPagesize($285,$szPageDflt,-1)|0); - HEAP32[$rc>>2] = $286; - } - $287 = HEAP32[$rc>>2]|0; - $288 = ($287|0)==(0); - if ($288) { - $289 = HEAP32[$4>>2]|0; - $290 = (($289) + 7)|0; - $291 = $290 & -8; - HEAP32[$4>>2] = $291; - $292 = HEAP32[$szPageDflt>>2]|0; - $293 = HEAP32[$4>>2]|0; - $294 = HEAP32[$memDb>>2]|0; - $295 = ($294|0)!=(0); - $296 = $295 ^ 1; - $297 = $296&1; - $298 = HEAP32[$memDb>>2]|0; - $299 = ($298|0)!=(0); - $300 = $299 ^ 1; - $301 = $300 ? 186 : 0; - $302 = HEAP32[$pPager>>2]|0; + $266 = HEAP32[$pPager>>2]|0; + $267 = ((($266)) + 17|0); + HEAP8[$267>>0] = 1; + $268 = HEAP32[$pPager>>2]|0; + $269 = ((($268)) + 18|0); + HEAP8[$269>>0] = 4; + $270 = HEAP32[$pPager>>2]|0; + $271 = ((($270)) + 14|0); + HEAP8[$271>>0] = 1; + $272 = HEAP32[$6>>2]|0; + $273 = $272 & 1; + HEAP32[$readOnly>>2] = $273; + } + $274 = HEAP32[$rc>>2]|0; + $275 = ($274|0)==(0); + if ($275) { + $276 = HEAP32[$pPager>>2]|0; + $277 = (_sqlite3PagerSetPagesize($276,$szPageDflt,-1)|0); + HEAP32[$rc>>2] = $277; + } + $278 = HEAP32[$rc>>2]|0; + $279 = ($278|0)==(0); + if ($279) { + $280 = HEAP32[$4>>2]|0; + $281 = (($280) + 7)|0; + $282 = $281 & -8; + HEAP32[$4>>2] = $282; + $283 = HEAP32[$szPageDflt>>2]|0; + $284 = HEAP32[$4>>2]|0; + $285 = HEAP32[$memDb>>2]|0; + $286 = ($285|0)!=(0); + $287 = $286 ^ 1; + $288 = $287&1; + $289 = HEAP32[$memDb>>2]|0; + $290 = ($289|0)!=(0); + $291 = $290 ^ 1; + $292 = $291 ? 186 : 0; + $293 = HEAP32[$pPager>>2]|0; + $294 = HEAP32[$pPager>>2]|0; + $295 = ((($294)) + 212|0); + $296 = HEAP32[$295>>2]|0; + $297 = (_sqlite3PcacheOpen($283,$284,$288,$292,$293,$296)|0); + HEAP32[$rc>>2] = $297; + } + $298 = HEAP32[$rc>>2]|0; + $299 = ($298|0)!=(0); + if ($299) { + $300 = HEAP32[$pPager>>2]|0; + $301 = ((($300)) + 64|0); + $302 = HEAP32[$301>>2]|0; + (_sqlite3OsClose($302)|0); $303 = HEAP32[$pPager>>2]|0; - $304 = ((($303)) + 212|0); + $304 = ((($303)) + 208|0); $305 = HEAP32[$304>>2]|0; - $306 = (_sqlite3PcacheOpen($292,$293,$297,$301,$302,$305)|0); - HEAP32[$rc>>2] = $306; - } - $307 = HEAP32[$rc>>2]|0; - $308 = ($307|0)!=(0); - if ($308) { - $309 = HEAP32[$pPager>>2]|0; - $310 = ((($309)) + 64|0); - $311 = HEAP32[$310>>2]|0; - (_sqlite3OsClose($311)|0); - $312 = HEAP32[$pPager>>2]|0; - $313 = ((($312)) + 208|0); - $314 = HEAP32[$313>>2]|0; - _sqlite3PageFree($314); - $315 = HEAP32[$pPager>>2]|0; - _sqlite3_free($315); - $316 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $316; - $387 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($387|0); - } - $317 = HEAP32[$useJournal>>2]|0; - $318 = $317&255; - $319 = HEAP32[$pPager>>2]|0; - $320 = ((($319)) + 6|0); - HEAP8[$320>>0] = $318; - $321 = HEAP32[$pPager>>2]|0; - $322 = ((($321)) + 164|0); - HEAP32[$322>>2] = 1073741823; - $323 = HEAP32[$tempFile>>2]|0; - $324 = $323&255; + _sqlite3PageFree($305); + $306 = HEAP32[$pPager>>2]|0; + _sqlite3_free($306); + $307 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $307; + $378 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($378|0); + } + $308 = HEAP32[$useJournal>>2]|0; + $309 = $308&255; + $310 = HEAP32[$pPager>>2]|0; + $311 = ((($310)) + 6|0); + HEAP8[$311>>0] = $309; + $312 = HEAP32[$pPager>>2]|0; + $313 = ((($312)) + 164|0); + HEAP32[$313>>2] = 1073741823; + $314 = HEAP32[$tempFile>>2]|0; + $315 = $314&255; + $316 = HEAP32[$pPager>>2]|0; + $317 = ((($316)) + 13|0); + HEAP8[$317>>0] = $315; + $318 = HEAP32[$tempFile>>2]|0; + $319 = $318&255; + $320 = HEAP32[$pPager>>2]|0; + $321 = ((($320)) + 4|0); + HEAP8[$321>>0] = $319; + $322 = HEAP32[$pPager>>2]|0; + $323 = ((($322)) + 13|0); + $324 = HEAP8[$323>>0]|0; $325 = HEAP32[$pPager>>2]|0; - $326 = ((($325)) + 13|0); + $326 = ((($325)) + 19|0); HEAP8[$326>>0] = $324; - $327 = HEAP32[$tempFile>>2]|0; + $327 = HEAP32[$memDb>>2]|0; $328 = $327&255; $329 = HEAP32[$pPager>>2]|0; - $330 = ((($329)) + 4|0); + $330 = ((($329)) + 16|0); HEAP8[$330>>0] = $328; - $331 = HEAP32[$pPager>>2]|0; - $332 = ((($331)) + 13|0); - $333 = HEAP8[$332>>0]|0; - $334 = HEAP32[$pPager>>2]|0; - $335 = ((($334)) + 19|0); - HEAP8[$335>>0] = $333; - $336 = HEAP32[$memDb>>2]|0; - $337 = $336&255; + $331 = HEAP32[$readOnly>>2]|0; + $332 = $331&255; + $333 = HEAP32[$pPager>>2]|0; + $334 = ((($333)) + 15|0); + HEAP8[$334>>0] = $332; + $335 = HEAP32[$pPager>>2]|0; + $336 = ((($335)) + 13|0); + $337 = HEAP8[$336>>0]|0; $338 = HEAP32[$pPager>>2]|0; - $339 = ((($338)) + 16|0); + $339 = ((($338)) + 7|0); HEAP8[$339>>0] = $337; - $340 = HEAP32[$readOnly>>2]|0; - $341 = $340&255; - $342 = HEAP32[$pPager>>2]|0; - $343 = ((($342)) + 15|0); - HEAP8[$343>>0] = $341; - $344 = HEAP32[$pPager>>2]|0; - $345 = ((($344)) + 13|0); - $346 = HEAP8[$345>>0]|0; - $347 = HEAP32[$pPager>>2]|0; - $348 = ((($347)) + 7|0); - HEAP8[$348>>0] = $346; - $349 = HEAP32[$pPager>>2]|0; - $350 = ((($349)) + 7|0); - $351 = HEAP8[$350>>0]|0; - $352 = ($351<<24>>24)!=(0); - if (!($352)) { - $353 = HEAP32[$pPager>>2]|0; - $354 = ((($353)) + 8|0); - HEAP8[$354>>0] = 1; - $355 = HEAP32[$pPager>>2]|0; - $356 = ((($355)) + 9|0); - HEAP8[$356>>0] = 0; - $357 = HEAP32[$pPager>>2]|0; - $358 = ((($357)) + 12|0); - HEAP8[$358>>0] = 2; - $359 = HEAP32[$pPager>>2]|0; - $360 = ((($359)) + 11|0); - HEAP8[$360>>0] = 34; - $361 = HEAP32[$pPager>>2]|0; - $362 = ((($361)) + 10|0); - HEAP8[$362>>0] = 2; - } - $363 = HEAP32[$4>>2]|0; - $364 = $363&65535; - $365 = HEAP32[$pPager>>2]|0; - $366 = ((($365)) + 148|0); - HEAP16[$366>>1] = $364; - $367 = HEAP32[$pPager>>2]|0; - $368 = ((($367)) + 168|0); - $369 = $368; - $370 = $369; - HEAP32[$370>>2] = -1; - $371 = (($369) + 4)|0; - $372 = $371; - HEAP32[$372>>2] = -1; - $373 = HEAP32[$pPager>>2]|0; - _setSectorSize($373); - $374 = HEAP32[$useJournal>>2]|0; - $375 = ($374|0)!=(0); - if ($375) { - $378 = HEAP32[$memDb>>2]|0; - $379 = ($378|0)!=(0); - if ($379) { - $380 = HEAP32[$pPager>>2]|0; - $381 = ((($380)) + 5|0); - HEAP8[$381>>0] = 4; + $340 = HEAP32[$pPager>>2]|0; + $341 = ((($340)) + 7|0); + $342 = HEAP8[$341>>0]|0; + $343 = ($342<<24>>24)!=(0); + if (!($343)) { + $344 = HEAP32[$pPager>>2]|0; + $345 = ((($344)) + 8|0); + HEAP8[$345>>0] = 1; + $346 = HEAP32[$pPager>>2]|0; + $347 = ((($346)) + 9|0); + HEAP8[$347>>0] = 0; + $348 = HEAP32[$pPager>>2]|0; + $349 = ((($348)) + 12|0); + HEAP8[$349>>0] = 2; + $350 = HEAP32[$pPager>>2]|0; + $351 = ((($350)) + 11|0); + HEAP8[$351>>0] = 34; + $352 = HEAP32[$pPager>>2]|0; + $353 = ((($352)) + 10|0); + HEAP8[$353>>0] = 2; + } + $354 = HEAP32[$4>>2]|0; + $355 = $354&65535; + $356 = HEAP32[$pPager>>2]|0; + $357 = ((($356)) + 148|0); + HEAP16[$357>>1] = $355; + $358 = HEAP32[$pPager>>2]|0; + $359 = ((($358)) + 168|0); + $360 = $359; + $361 = $360; + HEAP32[$361>>2] = -1; + $362 = (($360) + 4)|0; + $363 = $362; + HEAP32[$363>>2] = -1; + $364 = HEAP32[$pPager>>2]|0; + _setSectorSize($364); + $365 = HEAP32[$useJournal>>2]|0; + $366 = ($365|0)!=(0); + if ($366) { + $369 = HEAP32[$memDb>>2]|0; + $370 = ($369|0)!=(0); + if ($370) { + $371 = HEAP32[$pPager>>2]|0; + $372 = ((($371)) + 5|0); + HEAP8[$372>>0] = 4; } } else { - $376 = HEAP32[$pPager>>2]|0; - $377 = ((($376)) + 5|0); - HEAP8[$377>>0] = 2; - } - $382 = HEAP32[$7>>2]|0; - $383 = HEAP32[$pPager>>2]|0; - $384 = ((($383)) + 204|0); - HEAP32[$384>>2] = $382; - $385 = HEAP32[$pPager>>2]|0; - $386 = HEAP32[$2>>2]|0; - HEAP32[$386>>2] = $385; + $367 = HEAP32[$pPager>>2]|0; + $368 = ((($367)) + 5|0); + HEAP8[$368>>0] = 2; + } + $373 = HEAP32[$7>>2]|0; + $374 = HEAP32[$pPager>>2]|0; + $375 = ((($374)) + 204|0); + HEAP32[$375>>2] = $373; + $376 = HEAP32[$pPager>>2]|0; + $377 = HEAP32[$2>>2]|0; + HEAP32[$377>>2] = $376; HEAP32[$0>>2] = 0; - $387 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($387|0); + $378 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($378|0); } function _sqlite3PagerSetMmapLimit($pPager,$0,$1) { $pPager = $pPager|0; @@ -86002,7 +86334,7 @@ function _btreeInvokeBusyHandler($pArg) { $2 = HEAP32[$pBt>>2]|0; $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 448|0); + $5 = ((($4)) + 380|0); $6 = (_sqlite3InvokeBusyHandler($5)|0); STACKTOP = sp;return ($6|0); } @@ -86628,7 +86960,7 @@ function _sqlite3PcacheClose($pCache) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $pCache; - $1 = HEAP32[(156)>>2]|0; + $1 = HEAP32[(160)>>2]|0; $2 = HEAP32[$0>>2]|0; $3 = ((($2)) + 44|0); $4 = HEAP32[$3>>2]|0; @@ -86751,12 +87083,12 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { $pPager = $pPager|0; $hasMaster = $hasMaster|0; $bCommit = $bCommit|0; - var $$ = 0, $$4 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0; - var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; @@ -86788,8 +87120,8 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { $13 = ($12|0)<(2); if ($13) { HEAP32[$0>>2] = 0; - $190 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($190|0); + $191 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($191|0); } } $14 = HEAP32[$1>>2]|0; @@ -86804,7 +87136,7 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { $20 = HEAP32[$1>>2]|0; $21 = ((($20)) + 68|0); $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3IsMemJournal($22)|0); + $23 = (_sqlite3JournalIsInMemory($22)|0); $24 = ($23|0)!=(0); $25 = HEAP32[$1>>2]|0; if ($24) { @@ -86893,29 +87225,29 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { $92 = ((($91)) + 13|0); $93 = HEAP8[$92>>0]|0; $94 = ($93<<24>>24)!=(0); - $$ = $94 ? 0 : 1; - $95 = $$&1; - HEAP32[$bDelete>>2] = $95; - $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 68|0); - $98 = HEAP32[$97>>2]|0; - (_sqlite3OsClose($98)|0); - $99 = HEAP32[$bDelete>>2]|0; - $100 = ($99|0)!=(0); - if (!($100)) { + $95 = $94 ^ 1; + $96 = $95&1; + HEAP32[$bDelete>>2] = $96; + $97 = HEAP32[$1>>2]|0; + $98 = ((($97)) + 68|0); + $99 = HEAP32[$98>>2]|0; + (_sqlite3OsClose($99)|0); + $100 = HEAP32[$bDelete>>2]|0; + $101 = ($100|0)!=(0); + if (!($101)) { break L6; } - $101 = HEAP32[$1>>2]|0; - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$1>>2]|0; - $104 = ((($103)) + 180|0); - $105 = HEAP32[$104>>2]|0; - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 9|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_sqlite3OsDelete($102,$105,$109)|0); - HEAP32[$rc>>2] = $110; + $102 = HEAP32[$1>>2]|0; + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$1>>2]|0; + $105 = ((($104)) + 180|0); + $106 = HEAP32[$105>>2]|0; + $107 = HEAP32[$1>>2]|0; + $108 = ((($107)) + 9|0); + $109 = HEAP8[$108>>0]|0; + $110 = $109&255; + $111 = (_sqlite3OsDelete($103,$106,$110)|0); + HEAP32[$rc>>2] = $111; break L6; } } while(0); @@ -86935,124 +87267,124 @@ function _pager_end_transaction($pPager,$hasMaster,$bCommit) { } } } while(0); - $111 = HEAP32[$1>>2]|0; - $112 = ((($111)) + 60|0); - $113 = HEAP32[$112>>2]|0; - _sqlite3BitvecDestroy($113); - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 60|0); - HEAP32[$115>>2] = 0; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 48|0); - HEAP32[$117>>2] = 0; - $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 212|0); - $120 = HEAP32[$119>>2]|0; - _sqlite3PcacheCleanAll($120); - $121 = HEAP32[$1>>2]|0; - $122 = ((($121)) + 212|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 28|0); - $126 = HEAP32[$125>>2]|0; - _sqlite3PcacheTruncate($123,$126); - $127 = HEAP32[$1>>2]|0; - $128 = (_pagerUseWal($127)|0); - $129 = ($128|0)!=(0); - if ($129) { - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 216|0); - $132 = HEAP32[$131>>2]|0; - $133 = (_sqlite3WalEndWriteTransaction($132)|0); - HEAP32[$rc2>>2] = $133; + $112 = HEAP32[$1>>2]|0; + $113 = ((($112)) + 60|0); + $114 = HEAP32[$113>>2]|0; + _sqlite3BitvecDestroy($114); + $115 = HEAP32[$1>>2]|0; + $116 = ((($115)) + 60|0); + HEAP32[$116>>2] = 0; + $117 = HEAP32[$1>>2]|0; + $118 = ((($117)) + 48|0); + HEAP32[$118>>2] = 0; + $119 = HEAP32[$1>>2]|0; + $120 = ((($119)) + 212|0); + $121 = HEAP32[$120>>2]|0; + _sqlite3PcacheCleanAll($121); + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 212|0); + $124 = HEAP32[$123>>2]|0; + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 28|0); + $127 = HEAP32[$126>>2]|0; + _sqlite3PcacheTruncate($124,$127); + $128 = HEAP32[$1>>2]|0; + $129 = (_pagerUseWal($128)|0); + $130 = ($129|0)!=(0); + if ($130) { + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 216|0); + $133 = HEAP32[$132>>2]|0; + $134 = (_sqlite3WalEndWriteTransaction($133)|0); + HEAP32[$rc2>>2] = $134; } else { - $134 = HEAP32[$rc>>2]|0; - $135 = ($134|0)==(0); - $136 = HEAP32[$3>>2]|0; - $137 = ($136|0)!=(0); - $or$cond = $135 & $137; + $135 = HEAP32[$rc>>2]|0; + $136 = ($135|0)==(0); + $137 = HEAP32[$3>>2]|0; + $138 = ($137|0)!=(0); + $or$cond = $136 & $138; if ($or$cond) { - $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 36|0); - $140 = HEAP32[$139>>2]|0; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 28|0); - $143 = HEAP32[$142>>2]|0; - $144 = ($140>>>0)>($143>>>0); - if ($144) { - $145 = HEAP32[$1>>2]|0; + $139 = HEAP32[$1>>2]|0; + $140 = ((($139)) + 36|0); + $141 = HEAP32[$140>>2]|0; + $142 = HEAP32[$1>>2]|0; + $143 = ((($142)) + 28|0); + $144 = HEAP32[$143>>2]|0; + $145 = ($141>>>0)>($144>>>0); + if ($145) { $146 = HEAP32[$1>>2]|0; - $147 = ((($146)) + 28|0); - $148 = HEAP32[$147>>2]|0; - $149 = (_pager_truncate($145,$148)|0); - HEAP32[$rc>>2] = $149; + $147 = HEAP32[$1>>2]|0; + $148 = ((($147)) + 28|0); + $149 = HEAP32[$148>>2]|0; + $150 = (_pager_truncate($146,$149)|0); + HEAP32[$rc>>2] = $150; } } } - $150 = HEAP32[$rc>>2]|0; - $151 = ($150|0)==(0); - $152 = HEAP32[$3>>2]|0; - $153 = ($152|0)!=(0); - $or$cond3 = $151 & $153; + $151 = HEAP32[$rc>>2]|0; + $152 = ($151|0)==(0); + $153 = HEAP32[$3>>2]|0; + $154 = ($153|0)!=(0); + $or$cond3 = $152 & $154; if ($or$cond3) { - $154 = HEAP32[$1>>2]|0; - $155 = ((($154)) + 64|0); - $156 = HEAP32[$155>>2]|0; + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 64|0); $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)!=(0|0); - if ($158) { - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 64|0); - $161 = HEAP32[$160>>2]|0; - $162 = (_sqlite3OsFileControl($161,22,0)|0); - HEAP32[$rc>>2] = $162; - $163 = HEAP32[$rc>>2]|0; - $164 = ($163|0)==(12); - $$4 = $164 ? 0 : $162; - HEAP32[$rc>>2] = $$4; + $158 = HEAP32[$157>>2]|0; + $159 = ($158|0)!=(0|0); + if ($159) { + $160 = HEAP32[$1>>2]|0; + $161 = ((($160)) + 64|0); + $162 = HEAP32[$161>>2]|0; + $163 = (_sqlite3OsFileControl($162,22,0)|0); + HEAP32[$rc>>2] = $163; + $164 = HEAP32[$rc>>2]|0; + $165 = ($164|0)==(12); + $$ = $165 ? 0 : $163; + HEAP32[$rc>>2] = $$; } } - $165 = HEAP32[$1>>2]|0; - $166 = ((($165)) + 4|0); - $167 = HEAP8[$166>>0]|0; - $168 = ($167<<24>>24)!=(0); + $166 = HEAP32[$1>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)!=(0); do { - if (!($168)) { - $169 = HEAP32[$1>>2]|0; - $170 = (_pagerUseWal($169)|0); - $171 = ($170|0)!=(0); - if ($171) { - $172 = HEAP32[$1>>2]|0; - $173 = ((($172)) + 216|0); - $174 = HEAP32[$173>>2]|0; - $175 = (_sqlite3WalExclusiveMode($174,0)|0); - $176 = ($175|0)!=(0); - if (!($176)) { + if (!($169)) { + $170 = HEAP32[$1>>2]|0; + $171 = (_pagerUseWal($170)|0); + $172 = ($171|0)!=(0); + if ($172) { + $173 = HEAP32[$1>>2]|0; + $174 = ((($173)) + 216|0); + $175 = HEAP32[$174>>2]|0; + $176 = (_sqlite3WalExclusiveMode($175,0)|0); + $177 = ($176|0)!=(0); + if (!($177)) { break; } } - $177 = HEAP32[$1>>2]|0; - $178 = (_pagerUnlockDb($177,1)|0); - HEAP32[$rc2>>2] = $178; - $179 = HEAP32[$1>>2]|0; - $180 = ((($179)) + 19|0); - HEAP8[$180>>0] = 0; + $178 = HEAP32[$1>>2]|0; + $179 = (_pagerUnlockDb($178,1)|0); + HEAP32[$rc2>>2] = $179; + $180 = HEAP32[$1>>2]|0; + $181 = ((($180)) + 19|0); + HEAP8[$181>>0] = 0; } } while(0); - $181 = HEAP32[$1>>2]|0; - $182 = ((($181)) + 17|0); - HEAP8[$182>>0] = 1; - $183 = HEAP32[$1>>2]|0; - $184 = ((($183)) + 20|0); - HEAP8[$184>>0] = 0; - $185 = HEAP32[$rc>>2]|0; - $186 = ($185|0)==(0); - $187 = HEAP32[$rc2>>2]|0; - $188 = HEAP32[$rc>>2]|0; - $189 = $186 ? $187 : $188; - HEAP32[$0>>2] = $189; - $190 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($190|0); + $182 = HEAP32[$1>>2]|0; + $183 = ((($182)) + 17|0); + HEAP8[$183>>0] = 1; + $184 = HEAP32[$1>>2]|0; + $185 = ((($184)) + 20|0); + HEAP8[$185>>0] = 0; + $186 = HEAP32[$rc>>2]|0; + $187 = ($186|0)==(0); + $188 = HEAP32[$rc2>>2]|0; + $189 = HEAP32[$rc>>2]|0; + $190 = $187 ? $188 : $189; + HEAP32[$0>>2] = $190; + $191 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($191|0); } function _releaseAllSavepoints($pPager) { $pPager = $pPager|0; @@ -87093,7 +87425,7 @@ function _releaseAllSavepoints($pPager) { $19 = HEAP32[$0>>2]|0; $20 = ((($19)) + 72|0); $21 = HEAP32[$20>>2]|0; - $22 = (_sqlite3IsMemJournal($21)|0); + $22 = (_sqlite3JournalIsInMemory($21)|0); $23 = ($22|0)!=(0); if ($23) { label = 6; @@ -87122,16 +87454,16 @@ function _releaseAllSavepoints($pPager) { HEAP32[$35>>2] = 0; STACKTOP = sp;return; } -function _sqlite3IsMemJournal($pJfd) { - $pJfd = $pJfd|0; +function _sqlite3JournalIsInMemory($p) { + $p = $p|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; - HEAP32[$0>>2] = $pJfd; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(4836|0); + $3 = ($2|0)==(4864|0); $4 = $3&1; STACKTOP = sp;return ($4|0); } @@ -87251,7 +87583,7 @@ function _zeroJournalHdr($pPager,$doTruncate) { $39 = (_sqlite3OsTruncate($38,0,0)|0); HEAP32[$rc>>2] = $39; } else { - $40 = (_sqlite3OsWrite($38,26703,28,0,0)|0); + $40 = (_sqlite3OsWrite($38,26454,28,0,0)|0); HEAP32[$rc>>2] = $40; } $41 = HEAP32[$rc>>2]|0; @@ -87875,13 +88207,16 @@ function _walUnlockExclusive($pWal,$lockIdx,$n) { } function _memjrnlClose($pJfd) { $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; + $0 = sp + 4|0; + $p = sp; HEAP32[$0>>2] = $pJfd; $1 = HEAP32[$0>>2]|0; - (_memjrnlTruncate($1,0,0)|0); + HEAP32[$p>>2] = $1; + $2 = HEAP32[$p>>2]|0; + _memjrnlFreeChunks($2); STACKTOP = sp;return 0; } function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { @@ -87892,12 +88227,13 @@ function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { $1 = $1|0; var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; - var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $iChunkOffset = 0, $iOff = 0, $iSpace = 0, $nCopy = 0, $nRead = 0, $or$cond = 0, $or$cond5 = 0, $p = 0, $pChunk = 0, $zOut = 0, label = 0, sp = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iChunkOffset = 0, $iOff = 0, $iSpace = 0, $nCopy = 0, $nRead = 0, $or$cond = 0, $or$cond5 = 0, $p = 0, $pChunk = 0, $zOut = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $2 = sp + 52|0; @@ -87928,7 +88264,7 @@ function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { $12 = HEAP32[$4>>2]|0; HEAP32[$nRead>>2] = $12; $13 = HEAP32[$p>>2]|0; - $14 = ((($13)) + 24|0); + $14 = ((($13)) + 40|0); $15 = $14; $16 = $15; $17 = HEAP32[$16>>2]|0; @@ -87963,7 +88299,7 @@ function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { $42 = $41; HEAP32[$42>>2] = 0; $43 = HEAP32[$p>>2]|0; - $44 = ((($43)) + 4|0); + $44 = ((($43)) + 16|0); $45 = HEAP32[$44>>2]|0; HEAP32[$pChunk>>2] = $45; while(1) { @@ -87978,129 +88314,157 @@ function _memjrnlRead($pJfd,$zBuf,$iAmt,$0,$1) { $51 = (($48) + 4)|0; $52 = $51; $53 = HEAP32[$52>>2]|0; - $54 = (_i64Add(($50|0),($53|0),1020,0)|0); - $55 = tempRet0; - $56 = $5; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = ($55|0)<($61|0); - $63 = ($54>>>0)<=($58>>>0); - $64 = ($55|0)==($61|0); - $65 = $64 & $63; - $66 = $62 | $65; - if (!($66)) { + $54 = HEAP32[$p>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)<(0); + $58 = $57 << 31 >> 31; + $59 = (_i64Add(($50|0),($53|0),($56|0),($58|0))|0); + $60 = tempRet0; + $61 = $5; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = ($60|0)<($66|0); + $68 = ($59>>>0)<=($63>>>0); + $69 = ($60|0)==($66|0); + $70 = $69 & $68; + $71 = $67 | $70; + if (!($71)) { break L1; } - $67 = $iOff; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (($67) + 4)|0; - $71 = $70; - $72 = HEAP32[$71>>2]|0; - $73 = (_i64Add(($69|0),($72|0),1020,0)|0); - $74 = tempRet0; - $75 = $iOff; - $76 = $75; - HEAP32[$76>>2] = $73; - $77 = (($75) + 4)|0; + $72 = HEAP32[$p>>2]|0; + $73 = ((($72)) + 4|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)<(0); + $76 = $75 << 31 >> 31; + $77 = $iOff; $78 = $77; - HEAP32[$78>>2] = $74; - $79 = HEAP32[$pChunk>>2]|0; - $80 = HEAP32[$79>>2]|0; - HEAP32[$pChunk>>2] = $80; + $79 = HEAP32[$78>>2]|0; + $80 = (($77) + 4)|0; + $81 = $80; + $82 = HEAP32[$81>>2]|0; + $83 = (_i64Add(($79|0),($82|0),($74|0),($76|0))|0); + $84 = tempRet0; + $85 = $iOff; + $86 = $85; + HEAP32[$86>>2] = $83; + $87 = (($85) + 4)|0; + $88 = $87; + HEAP32[$88>>2] = $84; + $89 = HEAP32[$pChunk>>2]|0; + $90 = HEAP32[$89>>2]|0; + HEAP32[$pChunk>>2] = $90; } } else { - $81 = HEAP32[$p>>2]|0; - $82 = ((($81)) + 24|0); - $83 = ((($82)) + 8|0); - $84 = HEAP32[$83>>2]|0; - HEAP32[$pChunk>>2] = $84; + $91 = HEAP32[$p>>2]|0; + $92 = ((($91)) + 40|0); + $93 = ((($92)) + 8|0); + $94 = HEAP32[$93>>2]|0; + HEAP32[$pChunk>>2] = $94; } } while(0); - $85 = $5; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (___remdi3(($87|0),($90|0),1020,0)|0); - $92 = tempRet0; - HEAP32[$iChunkOffset>>2] = $91; + $95 = $5; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = HEAP32[$p>>2]|0; + $102 = ((($101)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)<(0); + $105 = $104 << 31 >> 31; + $106 = (___remdi3(($97|0),($100|0),($103|0),($105|0))|0); + $107 = tempRet0; + HEAP32[$iChunkOffset>>2] = $106; while(1) { - $93 = HEAP32[$iChunkOffset>>2]|0; - $94 = (1020 - ($93))|0; - HEAP32[$iSpace>>2] = $94; - $95 = HEAP32[$nRead>>2]|0; - $96 = HEAP32[$iChunkOffset>>2]|0; - $97 = (1020 - ($96))|0; - $98 = ($95|0)<($97|0); - $99 = HEAP32[$nRead>>2]|0; - $100 = HEAP32[$iChunkOffset>>2]|0; - $101 = (1020 - ($100))|0; - $102 = $98 ? $99 : $101; - HEAP32[$nCopy>>2] = $102; - $103 = HEAP32[$zOut>>2]|0; - $104 = HEAP32[$iChunkOffset>>2]|0; - $105 = HEAP32[$pChunk>>2]|0; - $106 = ((($105)) + 4|0); - $107 = (($106) + ($104)|0); - $108 = HEAP32[$nCopy>>2]|0; - _memcpy(($103|0),($107|0),($108|0))|0; - $109 = HEAP32[$nCopy>>2]|0; - $110 = HEAP32[$zOut>>2]|0; - $111 = (($110) + ($109)|0); - HEAP32[$zOut>>2] = $111; - $112 = HEAP32[$iSpace>>2]|0; + $108 = HEAP32[$p>>2]|0; + $109 = ((($108)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = HEAP32[$iChunkOffset>>2]|0; + $112 = (($110) - ($111))|0; + HEAP32[$iSpace>>2] = $112; $113 = HEAP32[$nRead>>2]|0; - $114 = (($113) - ($112))|0; - HEAP32[$nRead>>2] = $114; + $114 = HEAP32[$p>>2]|0; + $115 = ((($114)) + 4|0); + $116 = HEAP32[$115>>2]|0; + $117 = HEAP32[$iChunkOffset>>2]|0; + $118 = (($116) - ($117))|0; + $119 = ($113|0)<($118|0); + if ($119) { + $120 = HEAP32[$nRead>>2]|0; + $126 = $120; + } else { + $121 = HEAP32[$p>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$iChunkOffset>>2]|0; + $125 = (($123) - ($124))|0; + $126 = $125; + } + HEAP32[$nCopy>>2] = $126; + $127 = HEAP32[$zOut>>2]|0; + $128 = HEAP32[$pChunk>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$iChunkOffset>>2]|0; + $131 = (($129) + ($130)|0); + $132 = HEAP32[$nCopy>>2]|0; + _memcpy(($127|0),($131|0),($132|0))|0; + $133 = HEAP32[$nCopy>>2]|0; + $134 = HEAP32[$zOut>>2]|0; + $135 = (($134) + ($133)|0); + HEAP32[$zOut>>2] = $135; + $136 = HEAP32[$iSpace>>2]|0; + $137 = HEAP32[$nRead>>2]|0; + $138 = (($137) - ($136))|0; + HEAP32[$nRead>>2] = $138; HEAP32[$iChunkOffset>>2] = 0; - $115 = HEAP32[$nRead>>2]|0; - $116 = ($115|0)>=(0); - if (!($116)) { - label = 10; + $139 = HEAP32[$nRead>>2]|0; + $140 = ($139|0)>=(0); + if (!($140)) { + label = 13; break; } - $117 = HEAP32[$pChunk>>2]|0; - $118 = HEAP32[$117>>2]|0; - HEAP32[$pChunk>>2] = $118; - $119 = ($118|0)!=(0|0); - $120 = HEAP32[$nRead>>2]|0; - $121 = ($120|0)>(0); - $or$cond5 = $119 & $121; + $141 = HEAP32[$pChunk>>2]|0; + $142 = HEAP32[$141>>2]|0; + HEAP32[$pChunk>>2] = $142; + $143 = ($142|0)!=(0|0); + $144 = HEAP32[$nRead>>2]|0; + $145 = ($144|0)>(0); + $or$cond5 = $143 & $145; if (!($or$cond5)) { - label = 10; + label = 13; break; } } - if ((label|0) == 10) { - $122 = $5; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = HEAP32[$4>>2]|0; - $129 = ($128|0)<(0); - $130 = $129 << 31 >> 31; - $131 = (_i64Add(($124|0),($127|0),($128|0),($130|0))|0); - $132 = tempRet0; - $133 = HEAP32[$p>>2]|0; - $134 = ((($133)) + 24|0); - $135 = $134; - $136 = $135; - HEAP32[$136>>2] = $131; - $137 = (($135) + 4)|0; - $138 = $137; - HEAP32[$138>>2] = $132; - $139 = HEAP32[$pChunk>>2]|0; - $140 = HEAP32[$p>>2]|0; - $141 = ((($140)) + 24|0); - $142 = ((($141)) + 8|0); - HEAP32[$142>>2] = $139; + if ((label|0) == 13) { + $146 = $5; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = HEAP32[$4>>2]|0; + $153 = ($152|0)<(0); + $154 = $153 << 31 >> 31; + $155 = (_i64Add(($148|0),($151|0),($152|0),($154|0))|0); + $156 = tempRet0; + $157 = HEAP32[$p>>2]|0; + $158 = ((($157)) + 40|0); + $159 = $158; + $160 = $159; + HEAP32[$160>>2] = $155; + $161 = (($159) + 4)|0; + $162 = $161; + HEAP32[$162>>2] = $156; + $163 = HEAP32[$pChunk>>2]|0; + $164 = HEAP32[$p>>2]|0; + $165 = ((($164)) + 40|0); + $166 = ((($165)) + 8|0); + HEAP32[$166>>2] = $163; STACKTOP = sp;return 0; } return (0)|0; @@ -88111,21 +88475,26 @@ function _memjrnlWrite($pJfd,$zBuf,$iAmt,$0,$1) { $iAmt = $iAmt|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $iChunkOffset = 0, $iSpace = 0, $nWrite = 0, $p = 0, $pChunk = 0, $pNew = 0, $zWrite = 0, label = 0, sp = 0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $iChunkOffset = 0, $iSpace = 0, $nWrite = 0, $p = 0, $pChunk = 0, $pNew = 0; + var $rc = 0, $zWrite = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; + $2 = sp + 52|0; + $3 = sp + 48|0; + $4 = sp + 44|0; + $5 = sp + 40|0; $6 = sp; - $p = sp + 32|0; - $nWrite = sp + 28|0; - $zWrite = sp + 24|0; + $p = sp + 36|0; + $nWrite = sp + 32|0; + $zWrite = sp + 28|0; + $rc = sp + 24|0; $pChunk = sp + 20|0; $iChunkOffset = sp + 16|0; $iSpace = sp + 12|0; @@ -88145,115 +88514,200 @@ function _memjrnlWrite($pJfd,$zBuf,$iAmt,$0,$1) { HEAP32[$nWrite>>2] = $12; $13 = HEAP32[$4>>2]|0; HEAP32[$zWrite>>2] = $13; + $14 = HEAP32[$p>>2]|0; + $15 = ((($14)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>(0); + if ($17) { + $18 = HEAP32[$5>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = $6; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (_i64Add(($18|0),($20|0),($23|0),($26|0))|0); + $28 = tempRet0; + $29 = HEAP32[$p>>2]|0; + $30 = ((($29)) + 8|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<(0); + $33 = $32 << 31 >> 31; + $34 = ($28|0)>($33|0); + $35 = ($27>>>0)>($31>>>0); + $36 = ($28|0)==($33|0); + $37 = $36 & $35; + $38 = $34 | $37; + if ($38) { + $39 = HEAP32[$p>>2]|0; + $40 = (_memjrnlCreateFile($39)|0); + HEAP32[$rc>>2] = $40; + $41 = HEAP32[$rc>>2]|0; + $42 = ($41|0)==(0); + if ($42) { + $43 = HEAP32[$3>>2]|0; + $44 = HEAP32[$4>>2]|0; + $45 = HEAP32[$5>>2]|0; + $46 = $6; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (_sqlite3OsWrite($43,$44,$45,$48,$51)|0); + HEAP32[$rc>>2] = $52; + } + $53 = HEAP32[$rc>>2]|0; + HEAP32[$2>>2] = $53; + $155 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($155|0); + } + } while(1) { - $14 = HEAP32[$nWrite>>2]|0; - $15 = ($14|0)>(0); - if (!($15)) { - label = 11; + $54 = HEAP32[$nWrite>>2]|0; + $55 = ($54|0)>(0); + if (!($55)) { + label = 18; break; } - $16 = HEAP32[$p>>2]|0; - $17 = ((($16)) + 8|0); - $18 = ((($17)) + 8|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[$pChunk>>2] = $19; - $20 = HEAP32[$p>>2]|0; - $21 = ((($20)) + 8|0); - $22 = $21; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (___remdi3(($24|0),($27|0),1020,0)|0); - $29 = tempRet0; - HEAP32[$iChunkOffset>>2] = $28; - $30 = HEAP32[$nWrite>>2]|0; - $31 = HEAP32[$iChunkOffset>>2]|0; - $32 = (1020 - ($31))|0; - $33 = ($30|0)<($32|0); - $34 = HEAP32[$nWrite>>2]|0; - $35 = HEAP32[$iChunkOffset>>2]|0; - $36 = (1020 - ($35))|0; - $37 = $33 ? $34 : $36; - HEAP32[$iSpace>>2] = $37; - $38 = HEAP32[$iChunkOffset>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = (_sqlite3_malloc(1024)|0); - HEAP32[$pNew>>2] = $40; - $41 = HEAP32[$pNew>>2]|0; - $42 = ($41|0)!=(0|0); - if (!($42)) { - label = 5; + $56 = HEAP32[$p>>2]|0; + $57 = ((($56)) + 24|0); + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + HEAP32[$pChunk>>2] = $59; + $60 = HEAP32[$p>>2]|0; + $61 = ((($60)) + 24|0); + $62 = $61; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (($62) + 4)|0; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $68 = HEAP32[$p>>2]|0; + $69 = ((($68)) + 4|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)<(0); + $72 = $71 << 31 >> 31; + $73 = (___remdi3(($64|0),($67|0),($70|0),($72|0))|0); + $74 = tempRet0; + HEAP32[$iChunkOffset>>2] = $73; + $75 = HEAP32[$nWrite>>2]|0; + $76 = HEAP32[$p>>2]|0; + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$iChunkOffset>>2]|0; + $80 = (($78) - ($79))|0; + $81 = ($75|0)<($80|0); + if ($81) { + $82 = HEAP32[$nWrite>>2]|0; + $88 = $82; + } else { + $83 = HEAP32[$p>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = HEAP32[$iChunkOffset>>2]|0; + $87 = (($85) - ($86))|0; + $88 = $87; + } + HEAP32[$iSpace>>2] = $88; + $89 = HEAP32[$iChunkOffset>>2]|0; + $90 = ($89|0)==(0); + if ($90) { + $91 = HEAP32[$p>>2]|0; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + $94 = (($93) - 8)|0; + $95 = (12 + ($94))|0; + $96 = (_sqlite3_malloc($95)|0); + HEAP32[$pNew>>2] = $96; + $97 = HEAP32[$pNew>>2]|0; + $98 = ($97|0)!=(0|0); + if (!($98)) { + label = 12; break; } - $43 = HEAP32[$pNew>>2]|0; - HEAP32[$43>>2] = 0; - $44 = HEAP32[$pChunk>>2]|0; - $45 = ($44|0)!=(0|0); - $46 = HEAP32[$pNew>>2]|0; - if ($45) { - $47 = HEAP32[$pChunk>>2]|0; - HEAP32[$47>>2] = $46; + $99 = HEAP32[$pNew>>2]|0; + HEAP32[$99>>2] = 0; + $100 = HEAP32[$pChunk>>2]|0; + $101 = ($100|0)!=(0|0); + $102 = HEAP32[$pNew>>2]|0; + if ($101) { + $103 = HEAP32[$pChunk>>2]|0; + HEAP32[$103>>2] = $102; } else { - $48 = HEAP32[$p>>2]|0; - $49 = ((($48)) + 4|0); - HEAP32[$49>>2] = $46; + $104 = HEAP32[$p>>2]|0; + $105 = ((($104)) + 16|0); + HEAP32[$105>>2] = $102; } - $50 = HEAP32[$pNew>>2]|0; - $51 = HEAP32[$p>>2]|0; - $52 = ((($51)) + 8|0); - $53 = ((($52)) + 8|0); - HEAP32[$53>>2] = $50; + $106 = HEAP32[$pNew>>2]|0; + $107 = HEAP32[$p>>2]|0; + $108 = ((($107)) + 24|0); + $109 = ((($108)) + 8|0); + HEAP32[$109>>2] = $106; } - $54 = HEAP32[$iChunkOffset>>2]|0; - $55 = HEAP32[$p>>2]|0; - $56 = ((($55)) + 8|0); - $57 = ((($56)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = ((($58)) + 4|0); - $60 = (($59) + ($54)|0); - $61 = HEAP32[$zWrite>>2]|0; - $62 = HEAP32[$iSpace>>2]|0; - _memcpy(($60|0),($61|0),($62|0))|0; - $63 = HEAP32[$iSpace>>2]|0; - $64 = HEAP32[$zWrite>>2]|0; - $65 = (($64) + ($63)|0); - HEAP32[$zWrite>>2] = $65; - $66 = HEAP32[$iSpace>>2]|0; - $67 = HEAP32[$nWrite>>2]|0; - $68 = (($67) - ($66))|0; - HEAP32[$nWrite>>2] = $68; - $69 = HEAP32[$iSpace>>2]|0; - $70 = ($69|0)<(0); - $71 = $70 << 31 >> 31; - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 8|0); - $74 = $73; - $75 = $74; - $76 = HEAP32[$75>>2]|0; - $77 = (($74) + 4)|0; - $78 = $77; - $79 = HEAP32[$78>>2]|0; - $80 = (_i64Add(($76|0),($79|0),($69|0),($71|0))|0); - $81 = tempRet0; - $82 = $73; - $83 = $82; - HEAP32[$83>>2] = $80; - $84 = (($82) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $81; + $110 = HEAP32[$p>>2]|0; + $111 = ((($110)) + 24|0); + $112 = ((($111)) + 8|0); + $113 = HEAP32[$112>>2]|0; + $114 = ((($113)) + 4|0); + $115 = HEAP32[$iChunkOffset>>2]|0; + $116 = (($114) + ($115)|0); + $117 = HEAP32[$zWrite>>2]|0; + $118 = HEAP32[$iSpace>>2]|0; + _memcpy(($116|0),($117|0),($118|0))|0; + $119 = HEAP32[$iSpace>>2]|0; + $120 = HEAP32[$zWrite>>2]|0; + $121 = (($120) + ($119)|0); + HEAP32[$zWrite>>2] = $121; + $122 = HEAP32[$iSpace>>2]|0; + $123 = HEAP32[$nWrite>>2]|0; + $124 = (($123) - ($122))|0; + HEAP32[$nWrite>>2] = $124; + $125 = HEAP32[$iSpace>>2]|0; + $126 = ($125|0)<(0); + $127 = $126 << 31 >> 31; + $128 = HEAP32[$p>>2]|0; + $129 = ((($128)) + 24|0); + $130 = $129; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = (_i64Add(($132|0),($135|0),($125|0),($127|0))|0); + $137 = tempRet0; + $138 = $129; + $139 = $138; + HEAP32[$139>>2] = $136; + $140 = (($138) + 4)|0; + $141 = $140; + HEAP32[$141>>2] = $137; } - if ((label|0) == 5) { + if ((label|0) == 12) { HEAP32[$2>>2] = 3082; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); + $155 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($155|0); } - else if ((label|0) == 11) { + else if ((label|0) == 18) { + $142 = HEAP32[$5>>2]|0; + $143 = ($142|0)<(0); + $144 = $143 << 31 >> 31; + $145 = $6; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = (_i64Add(($142|0),($144|0),($147|0),($150|0))|0); + $152 = tempRet0; + $153 = HEAP32[$p>>2]|0; + $154 = ((($153)) + 12|0); + HEAP32[$154>>2] = $151; HEAP32[$2>>2] = 0; - $86 = HEAP32[$2>>2]|0; - STACKTOP = sp;return ($86|0); + $155 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($155|0); } return (0)|0; } @@ -88261,15 +88715,13 @@ function _memjrnlTruncate($pJfd,$0,$1) { $pJfd = $pJfd|0; $0 = $0|0; $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pChunk = 0, $pTmp = 0; - var label = 0, sp = 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 20|0; + STACKTOP = STACKTOP + 16|0; + $2 = sp + 12|0; $3 = sp; - $p = sp + 16|0; - $pChunk = sp + 12|0; - $pTmp = sp + 8|0; + $p = sp + 8|0; HEAP32[$2>>2] = $pJfd; $4 = $3; $5 = $4; @@ -88279,38 +88731,59 @@ function _memjrnlTruncate($pJfd,$0,$1) { HEAP32[$7>>2] = $1; $8 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $8; - $9 = HEAP32[$p>>2]|0; - $10 = ((($9)) + 4|0); + $9 = $3; + $10 = $9; $11 = HEAP32[$10>>2]|0; - HEAP32[$pChunk>>2] = $11; - while(1) { - $12 = HEAP32[$pChunk>>2]|0; - $13 = ($12|0)!=(0|0); - if (!($13)) { - break; - } - $14 = HEAP32[$pChunk>>2]|0; - HEAP32[$pTmp>>2] = $14; - $15 = HEAP32[$pChunk>>2]|0; - $16 = HEAP32[$15>>2]|0; - HEAP32[$pChunk>>2] = $16; - $17 = HEAP32[$pTmp>>2]|0; - _sqlite3_free($17); + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = ($11|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + if (!($17)) { + STACKTOP = sp;return 0; } - $18 = HEAP32[$2>>2]|0; - _sqlite3MemJournalOpen($18); + $18 = HEAP32[$p>>2]|0; + _memjrnlFreeChunks($18); + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 12|0); + HEAP32[$20>>2] = 0; + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 24|0); + $23 = ((($22)) + 8|0); + HEAP32[$23>>2] = 0; + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 24|0); + $26 = $25; + $27 = $26; + HEAP32[$27>>2] = 0; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = HEAP32[$p>>2]|0; + $31 = ((($30)) + 40|0); + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = 0; + $33 = HEAP32[$p>>2]|0; + $34 = ((($33)) + 40|0); + $35 = $34; + $36 = $35; + HEAP32[$36>>2] = 0; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = 0; STACKTOP = sp;return 0; } -function _memjrnlSync($NotUsed,$NotUsed2) { - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; +function _memjrnlSync($pJfd,$flags) { + $pJfd = $pJfd|0; + $flags = $flags|0; var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; $1 = sp; - HEAP32[$0>>2] = $NotUsed; - HEAP32[$1>>2] = $NotUsed2; + HEAP32[$0>>2] = $pJfd; + HEAP32[$1>>2] = $flags; STACKTOP = sp;return 0; } function _memjrnlFileSize($pJfd,$pSize) { @@ -88327,7 +88800,7 @@ function _memjrnlFileSize($pJfd,$pSize) { $2 = HEAP32[$0>>2]|0; HEAP32[$p>>2] = $2; $3 = HEAP32[$p>>2]|0; - $4 = ((($3)) + 8|0); + $4 = ((($3)) + 24|0); $5 = $4; $6 = $5; $7 = HEAP32[$6>>2]|0; @@ -88343,27 +88816,223 @@ function _memjrnlFileSize($pJfd,$pSize) { HEAP32[$15>>2] = $10; STACKTOP = sp;return 0; } -function _sqlite3MemJournalOpen($pJfd) { - $pJfd = $pJfd|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $p = 0, label = 0, sp = 0; +function _memjrnlFreeChunks($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pIter = 0, $pNext = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $pJfd; + $0 = sp + 8|0; + $pIter = sp + 4|0; + $pNext = sp; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - HEAP32[$p>>2] = $1; - $2 = HEAP32[$p>>2]|0; - $3 = (_sqlite3MemJournalSize()|0); - _memset(($2|0),0,($3|0))|0; - $4 = HEAP32[$p>>2]|0; - HEAP32[$4>>2] = 4836; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pIter>>2] = $3; + while(1) { + $4 = HEAP32[$pIter>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + break; + } + $6 = HEAP32[$pIter>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$pNext>>2] = $7; + $8 = HEAP32[$pIter>>2]|0; + _sqlite3_free($8); + $9 = HEAP32[$pNext>>2]|0; + HEAP32[$pIter>>2] = $9; + } + $10 = HEAP32[$0>>2]|0; + $11 = ((($10)) + 16|0); + HEAP32[$11>>2] = 0; STACKTOP = sp;return; } -function _sqlite3MemJournalSize() { - var label = 0, sp = 0; +function _memjrnlCreateFile($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $copy = 0; + var $iOff = 0, $nChunk = 0, $pIter = 0, $pReal = 0, $rc = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - return 40; + STACKTOP = STACKTOP + 112|0; + $0 = sp + 96|0; + $rc = sp + 92|0; + $pReal = sp + 88|0; + $copy = sp + 8|0; + $nChunk = sp + 84|0; + $iOff = sp; + $pIter = sp + 80|0; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + HEAP32[$pReal>>2] = $1; + $2 = HEAP32[$0>>2]|0; + dest=$copy; src=$2; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[$0>>2]|0; + dest=$3; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($copy)) + 60|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($copy)) + 64|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$pReal>>2]|0; + $9 = ((($copy)) + 56|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3OsOpen($5,$7,$8,$10,0)|0); + HEAP32[$rc>>2] = $11; + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)==(0); + if ($13) { + $14 = ((($copy)) + 4|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$nChunk>>2] = $15; + $16 = $iOff; + $17 = $16; + HEAP32[$17>>2] = 0; + $18 = (($16) + 4)|0; + $19 = $18; + HEAP32[$19>>2] = 0; + $20 = ((($copy)) + 16|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$pIter>>2] = $21; + while(1) { + $22 = HEAP32[$pIter>>2]|0; + $23 = ($22|0)!=(0|0); + if (!($23)) { + break; + } + $24 = $iOff; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$nChunk>>2]|0; + $31 = ($30|0)<(0); + $32 = $31 << 31 >> 31; + $33 = (_i64Add(($26|0),($29|0),($30|0),($32|0))|0); + $34 = tempRet0; + $35 = ((($copy)) + 24|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = ($34|0)>($41|0); + $43 = ($33>>>0)>($38>>>0); + $44 = ($34|0)==($41|0); + $45 = $44 & $43; + $46 = $42 | $45; + if ($46) { + $47 = ((($copy)) + 24|0); + $48 = $47; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = $iOff; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = (_i64Subtract(($50|0),($53|0),($56|0),($59|0))|0); + $61 = tempRet0; + HEAP32[$nChunk>>2] = $60; + } + $62 = HEAP32[$pReal>>2]|0; + $63 = HEAP32[$pIter>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP32[$nChunk>>2]|0; + $66 = $iOff; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (_sqlite3OsWrite($62,$64,$65,$68,$71)|0); + HEAP32[$rc>>2] = $72; + $73 = HEAP32[$rc>>2]|0; + $74 = ($73|0)!=(0); + if ($74) { + break; + } + $75 = HEAP32[$nChunk>>2]|0; + $76 = ($75|0)<(0); + $77 = $76 << 31 >> 31; + $78 = $iOff; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = (_i64Add(($80|0),($83|0),($75|0),($77|0))|0); + $85 = tempRet0; + $86 = $iOff; + $87 = $86; + HEAP32[$87>>2] = $84; + $88 = (($86) + 4)|0; + $89 = $88; + HEAP32[$89>>2] = $85; + $90 = HEAP32[$pIter>>2]|0; + $91 = HEAP32[$90>>2]|0; + HEAP32[$pIter>>2] = $91; + } + $92 = HEAP32[$rc>>2]|0; + $93 = ($92|0)==(0); + if ($93) { + _memjrnlFreeChunks($copy); + } + } + $94 = HEAP32[$rc>>2]|0; + $95 = ($94|0)!=(0); + if (!($95)) { + $98 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($98|0); + } + $96 = HEAP32[$pReal>>2]|0; + (_sqlite3OsClose($96)|0); + $97 = HEAP32[$0>>2]|0; + dest=$97; src=$copy; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $98 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($98|0); +} +function _sqlite3OsOpen($pVfs,$zPath,$pFile,$flags,$pFlagsOut) { + $pVfs = $pVfs|0; + $zPath = $zPath|0; + $pFile = $pFile|0; + $flags = $flags|0; + $pFlagsOut = $pFlagsOut|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $4 = sp + 4|0; + $rc = sp; + HEAP32[$0>>2] = $pVfs; + HEAP32[$1>>2] = $zPath; + HEAP32[$2>>2] = $pFile; + HEAP32[$3>>2] = $flags; + HEAP32[$4>>2] = $pFlagsOut; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; + $12 = $11 & 556927; + $13 = HEAP32[$4>>2]|0; + $14 = (FUNCTION_TABLE_iiiiii[$7 & 255]($8,$9,$10,$12,$13)|0); + HEAP32[$rc>>2] = $14; + $15 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($15|0); } function _sqlite3PagerSavepoint($pPager,$op,$iSavepoint) { $pPager = $pPager|0; @@ -88494,7 +89163,7 @@ function _sqlite3PagerSavepoint($pPager,$op,$iSavepoint) { $45 = HEAP32[$0>>2]|0; $46 = ((($45)) + 72|0); $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3IsMemJournal($47)|0); + $48 = (_sqlite3JournalIsInMemory($47)|0); $49 = ($48|0)!=(0); if ($49) { $50 = HEAP32[$0>>2]|0; @@ -88903,7 +89572,7 @@ function _pager_playback($pPager,$isHot) { HEAP32[$vararg_buffer>>2] = $241; $vararg_ptr8 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr8>>2] = $244; - _sqlite3_log(539,26731,$vararg_buffer); + _sqlite3_log(539,26482,$vararg_buffer); $245 = HEAP32[$0>>2]|0; _setSectorSize($245); $246 = HEAP32[$rc>>2]|0; @@ -88999,7 +89668,7 @@ function _readMasterJournal($pJrnl,$zMaster,$nMaster) { HEAP32[$rc>>2] = $55; $56 = (0)!=($55|0); if (!($56)) { - $57 = (_memcmp($aMagic,26758,8)|0); + $57 = (_memcmp($aMagic,26509,8)|0); $58 = ($57|0)!=(0); if (!($58)) { $59 = HEAP32[$1>>2]|0; @@ -89232,7 +89901,7 @@ function _readJournalHdr($pPager,$isHot,$0,$1,$pNRec,$pDbSize) { $219 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($219|0); } - $89 = (_memcmp($aMagic,26758,8)|0); + $89 = (_memcmp($aMagic,26509,8)|0); $90 = ($89|0)!=(0); if ($90) { HEAP32[$2>>2] = 101; @@ -90268,40 +90937,6 @@ function _sqlite3OsSectorSize($id) { $10 = $9; STACKTOP = sp;return ($10|0); } -function _sqlite3OsOpen($pVfs,$zPath,$pFile,$flags,$pFlagsOut) { - $pVfs = $pVfs|0; - $zPath = $zPath|0; - $pFile = $pFile|0; - $flags = $flags|0; - $pFlagsOut = $pFlagsOut|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $pVfs; - HEAP32[$1>>2] = $zPath; - HEAP32[$2>>2] = $pFile; - HEAP32[$3>>2] = $flags; - HEAP32[$4>>2] = $pFlagsOut; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$3>>2]|0; - $12 = $11 & 556927; - $13 = HEAP32[$4>>2]|0; - $14 = (FUNCTION_TABLE_iiiiii[$7 & 255]($8,$9,$10,$12,$13)|0); - HEAP32[$rc>>2] = $14; - $15 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($15|0); -} function _sqlite3OsRead($id,$pBuf,$amt,$0,$1) { $id = $id|0; $pBuf = $pBuf|0; @@ -90653,7 +91288,7 @@ function _sqlite3PcacheFetch($pCache,$pgno,$createFlag) { $7 = $6&255; $8 = $3 & $7; HEAP32[$eCreate>>2] = $8; - $9 = HEAP32[(140)>>2]|0; + $9 = HEAP32[(144)>>2]|0; $10 = HEAP32[$0>>2]|0; $11 = ((($10)) + 44|0); $12 = HEAP32[$11>>2]|0; @@ -92234,7 +92869,7 @@ function _sqlite3PcacheDrop($p) { $12 = HEAP32[$11>>2]|0; $13 = (($12) + -1)|0; HEAP32[$11>>2] = $13; - $14 = HEAP32[(144)>>2]|0; + $14 = HEAP32[(148)>>2]|0; $15 = HEAP32[$0>>2]|0; $16 = ((($15)) + 28|0); $17 = HEAP32[$16>>2]|0; @@ -92388,7 +93023,7 @@ function _sqlite3WalFindFrame($pWal,$pgno,$piRead) { STACKTOP = sp;return ($77|0); } else if ((label|0) == 15) { - $70 = (_sqlite3CorruptError(53690)|0); + $70 = (_sqlite3CorruptError(53923)|0); HEAP32[$0>>2] = $70; $77 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($77|0); @@ -92919,7 +93554,7 @@ function _sqlite3WalCheckpoint($pWal,$eMode,$xBusy,$pBusyArg,$sync_flags,$nBuf,$ $59 = HEAP32[$6>>2]|0; $60 = ($58|0)!=($59|0); if ($60) { - $61 = (_sqlite3CorruptError(54390)|0); + $61 = (_sqlite3CorruptError(54623)|0); HEAP32[$rc>>2] = $61; } else { label = 18; @@ -93095,7 +93730,7 @@ function _walLimitSize($pWal,$0,$1) { $45 = ((($44)) + 108|0); $46 = HEAP32[$45>>2]|0; HEAP32[$vararg_buffer>>2] = $46; - _sqlite3_log($43,26766,$vararg_buffer); + _sqlite3_log($43,26517,$vararg_buffer); STACKTOP = sp;return; } function _walIndexClose($pWal,$isDelete) { @@ -93363,7 +93998,7 @@ function _walIndexReadHdr($pWal,$pChanged) { $48 = HEAP32[$47>>2]|0; $49 = ($48|0)!=(3007000); if ($49) { - $50 = (_sqlite3CantopenError(53243)|0); + $50 = (_sqlite3CantopenError(53476)|0); HEAP32[$rc>>2] = $50; } } @@ -95090,7 +95725,7 @@ function _walIndexRecover($pWal) { $104 = HEAP32[$version>>2]|0; $105 = ($104|0)!=(3007000); if ($105) { - $106 = (_sqlite3CantopenError(52297)|0); + $106 = (_sqlite3CantopenError(52530)|0); HEAP32[$rc>>2] = $106; break; } @@ -95326,7 +95961,7 @@ function _walIndexRecover($pWal) { HEAP32[$vararg_buffer>>2] = $268; $vararg_ptr4 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr4>>2] = $271; - _sqlite3_log(283,26831,$vararg_buffer); + _sqlite3_log(283,26560,$vararg_buffer); } } } @@ -95342,20 +95977,14 @@ function _walIndexRecover($pWal) { } function _sqlite3CantopenError($lineno) { $lineno = $lineno|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 8|0; + $0 = sp; HEAP32[$0>>2] = $lineno; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_sourceid()|0); - $3 = ((($2)) + 20|0); - HEAP32[$vararg_buffer>>2] = $1; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $3; - _sqlite3_log(14,26792,$vararg_buffer); - STACKTOP = sp;return 14; + $2 = (_reportError(14,$1,26543)|0); + STACKTOP = sp;return ($2|0); } function _walDecodeFrame($pWal,$piPage,$pnTruncate,$aData,$aFrame) { $pWal = $pWal|0; @@ -95572,7 +96201,7 @@ function _walIndexAppend($pWal,$iFrame,$iPage) { HEAP16[$53>>1] = $50; break; } - $42 = (_sqlite3CorruptError(52166)|0); + $42 = (_sqlite3CorruptError(52399)|0); HEAP32[$0>>2] = $42; $55 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($55|0); @@ -95642,6 +96271,27 @@ function _sqlite3PcacheSize() { sp = STACKTOP; return 48; } +function _sqlite3JournalSize($pVfs) { + $pVfs = $pVfs|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVfs; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(72); + if (!($4)) { + $8 = 72; + STACKTOP = sp;return ($8|0); + } + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7; + STACKTOP = sp;return ($8|0); +} function _pagerStress($p,$pPg) { $p = $p|0; $pPg = $pPg|0; @@ -96038,7 +96688,7 @@ function _syncJournal($pPager,$newHdr) { $27 = $26 & 512; $28 = (0)==($27|0); if ($28) { - ;HEAP8[$zHeader>>0]=HEAP8[26758>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[26758+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[26758+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[26758+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[26758+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[26758+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[26758+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[26758+7>>0]|0; + ;HEAP8[$zHeader>>0]=HEAP8[26509>>0]|0;HEAP8[$zHeader+1>>0]=HEAP8[26509+1>>0]|0;HEAP8[$zHeader+2>>0]=HEAP8[26509+2>>0]|0;HEAP8[$zHeader+3>>0]=HEAP8[26509+3>>0]|0;HEAP8[$zHeader+4>>0]=HEAP8[26509+4>>0]|0;HEAP8[$zHeader+5>>0]=HEAP8[26509+5>>0]|0;HEAP8[$zHeader+6>>0]=HEAP8[26509+6>>0]|0;HEAP8[$zHeader+7>>0]=HEAP8[26509+7>>0]|0; $29 = ((($zHeader)) + 8|0); $30 = HEAP32[$1>>2]|0; $31 = ((($30)) + 48|0); @@ -96067,7 +96717,7 @@ function _syncJournal($pPager,$newHdr) { $50 = HEAP32[$rc>>2]|0; $51 = ($50|0)==(0); if ($51) { - $52 = (_memcmp($aMagic,26758,8)|0); + $52 = (_memcmp($aMagic,26509,8)|0); $53 = (0)==($52|0); if ($53) { $54 = HEAP32[$1>>2]|0; @@ -96079,7 +96729,7 @@ function _syncJournal($pPager,$newHdr) { $60 = (($57) + 4)|0; $61 = $60; $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3OsWrite($56,26901,1,$59,$62)|0); + $63 = (_sqlite3OsWrite($56,26630,1,$59,$62)|0); HEAP32[$rc>>2] = $63; } } @@ -96513,7 +97163,7 @@ function _pager_write_changecounter($pPg) { $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; $20 = ((($19)) + 96|0); - _sqlite3Put4byte($20,3011000); + _sqlite3Put4byte($20,3012000); STACKTOP = sp;return; } function _sqlite3PagerExclusiveLock($pPager) { @@ -96685,7 +97335,7 @@ function _writeJournalHdr($pPager) { } if ((label|0) == 11) { $86 = HEAP32[$zHeader>>2]|0; - ;HEAP8[$86>>0]=HEAP8[26758>>0]|0;HEAP8[$86+1>>0]=HEAP8[26758+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[26758+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[26758+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[26758+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[26758+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[26758+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[26758+7>>0]|0; + ;HEAP8[$86>>0]=HEAP8[26509>>0]|0;HEAP8[$86+1>>0]=HEAP8[26509+1>>0]|0;HEAP8[$86+2>>0]=HEAP8[26509+2>>0]|0;HEAP8[$86+3>>0]=HEAP8[26509+3>>0]|0;HEAP8[$86+4>>0]=HEAP8[26509+4>>0]|0;HEAP8[$86+5>>0]=HEAP8[26509+5>>0]|0;HEAP8[$86+6>>0]=HEAP8[26509+6>>0]|0;HEAP8[$86+7>>0]=HEAP8[26509+7>>0]|0; $87 = HEAP32[$zHeader>>2]|0; $88 = ((($87)) + 8|0); _sqlite3Put4byte($88,-1); @@ -98860,11 +99510,13 @@ function _subjournalPage($pPg) { function _openSubJournal($pPager) { $pPager = $pPager|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rc = 0, label = 0, sp = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $flags = 0, $nStmtSpill = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $rc = sp; + $0 = sp + 12|0; + $rc = sp + 8|0; + $flags = sp + 4|0; + $nStmtSpill = sp; HEAP32[$0>>2] = $pPager; HEAP32[$rc>>2] = 0; $1 = HEAP32[$0>>2]|0; @@ -98876,32 +99528,37 @@ function _openSubJournal($pPager) { $24 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($24|0); } - $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 5|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($9|0)==(4); - if (!($10)) { - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 22|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)!=(0); - if (!($15)) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 72|0); - $22 = HEAP32[$21>>2]|0; - $23 = (_pagerOpentemp($19,$22,8192)|0); - HEAP32[$rc>>2] = $23; - $24 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($24|0); + HEAP32[$flags>>2] = 8222; + $6 = HEAP32[(44)>>2]|0; + HEAP32[$nStmtSpill>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 5|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)==(4); + if ($11) { + label = 4; + } else { + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 22|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)!=(0); + if ($16) { + label = 4; } } - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 72|0); + if ((label|0) == 4) { + HEAP32[$nStmtSpill>>2] = -1; + } + $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$17>>2]|0; - _sqlite3MemJournalOpen($18); + $19 = HEAP32[$0>>2]|0; + $20 = ((($19)) + 72|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[$nStmtSpill>>2]|0; + $23 = (_sqlite3JournalOpen($18,0,$21,8222,$22)|0); + HEAP32[$rc>>2] = $23; $24 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($24|0); } @@ -98990,6 +99647,79 @@ function _addToSavepointBitvecs($pPager,$pgno) { $26 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($26|0); } +function _sqlite3JournalOpen($pVfs,$zName,$pJfd,$flags,$nSpill) { + $pVfs = $pVfs|0; + $zName = $zName|0; + $pJfd = $pJfd|0; + $flags = $flags|0; + $nSpill = $nSpill|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $3 = sp + 12|0; + $4 = sp + 8|0; + $5 = sp + 4|0; + $p = sp; + HEAP32[$1>>2] = $pVfs; + HEAP32[$2>>2] = $zName; + HEAP32[$3>>2] = $pJfd; + HEAP32[$4>>2] = $flags; + HEAP32[$5>>2] = $nSpill; + $6 = HEAP32[$3>>2]|0; + HEAP32[$p>>2] = $6; + $7 = HEAP32[$p>>2]|0; + dest=$7; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $10 = HEAP32[$1>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$4>>2]|0; + $14 = (_sqlite3OsOpen($10,$11,$12,$13,0)|0); + HEAP32[$0>>2] = $14; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $15 = HEAP32[$5>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$5>>2]|0; + $18 = HEAP32[$p>>2]|0; + $19 = ((($18)) + 4|0); + HEAP32[$19>>2] = $17; + } else { + $20 = HEAP32[$p>>2]|0; + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = 1020; + } + $22 = HEAP32[$p>>2]|0; + HEAP32[$22>>2] = 4864; + $23 = HEAP32[$5>>2]|0; + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 8|0); + HEAP32[$25>>2] = $23; + $26 = HEAP32[$4>>2]|0; + $27 = HEAP32[$p>>2]|0; + $28 = ((($27)) + 56|0); + HEAP32[$28>>2] = $26; + $29 = HEAP32[$2>>2]|0; + $30 = HEAP32[$p>>2]|0; + $31 = ((($30)) + 64|0); + HEAP32[$31>>2] = $29; + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$p>>2]|0; + $34 = ((($33)) + 60|0); + HEAP32[$34>>2] = $32; + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); +} function _sqlite3PagerGetExtra($pPg) { $pPg = $pPg|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; @@ -99078,7 +99808,7 @@ function _btreeInitPage($pPage) { $21 = (_decodeFlags($14,$20)|0); $22 = ($21|0)!=(0); if ($22) { - $23 = (_sqlite3CorruptError(57320)|0); + $23 = (_sqlite3CorruptError(57553)|0); HEAP32[$0>>2] = $23; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -99186,7 +99916,7 @@ function _btreeInitPage($pPage) { $114 = (($113>>>0) / 6)&-1; $115 = ($109>>>0)>($114>>>0); if ($115) { - $116 = (_sqlite3CorruptError(57338)|0); + $116 = (_sqlite3CorruptError(57571)|0); HEAP32[$0>>2] = $116; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -99298,13 +100028,13 @@ function _btreeInitPage($pPage) { HEAP32[$i>>2] = $195; } if ((label|0) == 13) { - $176 = (_sqlite3CorruptError(57366)|0); + $176 = (_sqlite3CorruptError(57599)|0); HEAP32[$0>>2] = $176; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); } else if ((label|0) == 15) { - $193 = (_sqlite3CorruptError(57371)|0); + $193 = (_sqlite3CorruptError(57604)|0); HEAP32[$0>>2] = $193; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -99451,13 +100181,13 @@ function _btreeInitPage($pPage) { HEAP16[$pc>>1] = $299; } if ((label|0) == 23) { - $240 = (_sqlite3CorruptError(57391)|0); + $240 = (_sqlite3CorruptError(57624)|0); HEAP32[$0>>2] = $240; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); } else if ((label|0) == 27) { - $294 = (_sqlite3CorruptError(57398)|0); + $294 = (_sqlite3CorruptError(57631)|0); HEAP32[$0>>2] = $294; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -99478,7 +100208,7 @@ function _btreeInitPage($pPage) { HEAP8[$310>>0] = 1; break; } - $303 = (_sqlite3CorruptError(57412)|0); + $303 = (_sqlite3CorruptError(57645)|0); HEAP32[$0>>2] = $303; $311 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($311|0); @@ -99596,7 +100326,7 @@ function _decodeFlags($pPage,$flagByte) { HEAP16[$67>>1] = $65; break; } - $68 = (_sqlite3CorruptError(57278)|0); + $68 = (_sqlite3CorruptError(57511)|0); HEAP32[$0>>2] = $68; $74 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($74|0); @@ -100846,76 +101576,6 @@ function _sqlite3PagerCheckpoint($pPager,$eMode,$pnLog,$pnCkpt) { $34 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($34|0); } -function _functionSearch($pHash,$h,$zFunc,$nFunc) { - $pHash = $pHash|0; - $h = $h|0; - $zFunc = $zFunc|0; - $nFunc = $nFunc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $4 = sp + 4|0; - $p = sp; - HEAP32[$1>>2] = $pHash; - HEAP32[$2>>2] = $h; - HEAP32[$3>>2] = $zFunc; - HEAP32[$4>>2] = $nFunc; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + ($5<<2)|0); - $8 = HEAP32[$7>>2]|0; - HEAP32[$p>>2] = $8; - while(1) { - $9 = HEAP32[$p>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - label = 7; - break; - } - $11 = HEAP32[$p>>2]|0; - $12 = ((($11)) + 20|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$3>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = (_sqlite3_strnicmp($13,$14,$15)|0); - $17 = ($16|0)==(0); - if ($17) { - $18 = HEAP32[$4>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = (($21) + ($18)|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23 << 24 >> 24; - $25 = ($24|0)==(0); - if ($25) { - label = 5; - break; - } - } - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 24|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[$p>>2] = $29; - } - if ((label|0) == 5) { - $26 = HEAP32[$p>>2]|0; - HEAP32[$0>>2] = $26; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - else if ((label|0) == 7) { - HEAP32[$0>>2] = 0; - $30 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($30|0); - } - return (0)|0; -} function _matchQuality($p,$nArg,$enc) { $p = $p|0; $nArg = $nArg|0; @@ -100945,14 +101605,14 @@ function _matchQuality($p,$nArg,$enc) { $46 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($46|0); } - $11 = HEAP16[$6>>1]|0; - $12 = $11 << 16 >> 16; + $11 = HEAP8[$6>>0]|0; + $12 = $11 << 24 >> 24; $13 = HEAP32[$2>>2]|0; $14 = ($12|0)!=($13|0); if ($14) { $15 = HEAP32[$1>>2]|0; - $16 = HEAP16[$15>>1]|0; - $17 = $16 << 16 >> 16; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; $18 = ($17|0)>=(0); if ($18) { HEAP32[$0>>2] = 0; @@ -100961,8 +101621,8 @@ function _matchQuality($p,$nArg,$enc) { } } $19 = HEAP32[$1>>2]|0; - $20 = HEAP16[$19>>1]|0; - $21 = $20 << 16 >> 16; + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; $22 = HEAP32[$2>>2]|0; $23 = ($21|0)==($22|0); if ($23) { @@ -101003,81 +101663,56 @@ function _matchQuality($p,$nArg,$enc) { $46 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($46|0); } -function _sqlite3FuncDefInsert($pHash,$pDef) { - $pHash = $pHash|0; - $pDef = $pDef|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c1 = 0, $h = 0, $nName = 0, $pOther = 0, label = 0, sp = 0; +function _functionSearch($h,$zFunc) { + $h = $h|0; + $zFunc = $zFunc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pOther = sp + 8|0; - $nName = sp + 4|0; - $c1 = sp + 20|0; - $h = sp; - HEAP32[$0>>2] = $pHash; - HEAP32[$1>>2] = $pDef; - $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 20|0); - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3Strlen30($4)|0); - HEAP32[$nName>>2] = $5; - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP8[$8>>0]|0; - HEAP8[$c1>>0] = $9; - $10 = HEAP8[$c1>>0]|0; - $11 = $10&255; - $12 = (18477 + ($11)|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = HEAP32[$nName>>2]|0; - $16 = (($14) + ($15))|0; - $17 = (($16|0) % 23)&-1; - HEAP32[$h>>2] = $17; - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$h>>2]|0; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 20|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$nName>>2]|0; - $24 = (_functionSearch($18,$19,$22,$23)|0); - HEAP32[$pOther>>2] = $24; - $25 = HEAP32[$pOther>>2]|0; - $26 = ($25|0)!=(0|0); - if ($26) { - $27 = HEAP32[$pOther>>2]|0; - $28 = ((($27)) + 8|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$1>>2]|0; - $31 = ((($30)) + 8|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$1>>2]|0; - $33 = HEAP32[$pOther>>2]|0; - $34 = ((($33)) + 8|0); - HEAP32[$34>>2] = $32; - STACKTOP = sp;return; - } else { - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 8|0); - HEAP32[$36>>2] = 0; - $37 = HEAP32[$h>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = (($38) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 24|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$1>>2]|0; - $44 = HEAP32[$h>>2]|0; - $45 = HEAP32[$0>>2]|0; - $46 = (($45) + ($44<<2)|0); - HEAP32[$46>>2] = $43; - STACKTOP = sp;return; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $p = sp; + HEAP32[$1>>2] = $h; + HEAP32[$2>>2] = $zFunc; + $3 = HEAP32[$1>>2]|0; + $4 = (1080 + ($3<<2)|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$p>>2] = $5; + while(1) { + $6 = HEAP32[$p>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { + label = 6; + break; + } + $8 = HEAP32[$p>>2]|0; + $9 = ((($8)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$2>>2]|0; + $12 = (_sqlite3StrICmp($10,$11)|0); + $13 = ($12|0)==(0); + $14 = HEAP32[$p>>2]|0; + if ($13) { + label = 4; + break; + } + $15 = ((($14)) + 24|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$p>>2] = $16; + } + if ((label|0) == 4) { + HEAP32[$0>>2] = $14; + $17 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($17|0); + } + else if ((label|0) == 6) { + HEAP32[$0>>2] = 0; + $17 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($17|0); } + return (0)|0; } function _sqlite3VdbeChangeEncoding($pMem,$desiredEnc) { $pMem = $pMem|0; @@ -101313,7 +101948,7 @@ function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { if ($89) { $90 = HEAP32[$c>>2]|0; $91 = (($90) - 192)|0; - $92 = (26420 + ($91)|0); + $92 = (26171 + ($91)|0); $93 = HEAP8[$92>>0]|0; $94 = $93&255; HEAP32[$c>>2] = $94; @@ -101443,7 +102078,7 @@ function _sqlite3VdbeMemTranslate($pMem,$desiredEnc) { if ($169) { $170 = HEAP32[$c>>2]|0; $171 = (($170) - 192)|0; - $172 = (26420 + ($171)|0); + $172 = (26171 + ($171)|0); $173 = HEAP8[$172>>0]|0; $174 = $173&255; HEAP32[$c>>2] = $174; @@ -102010,7 +102645,7 @@ function _sqlite3DbMallocSize($db,$p) { $8 = ($7|0)!=(0); if ($8) { $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 248|0); + $13 = ((($12)) + 256|0); $14 = ((($13)) + 4|0); $15 = HEAP16[$14>>1]|0; $16 = $15&65535; @@ -102019,7 +102654,7 @@ function _sqlite3DbMallocSize($db,$p) { STACKTOP = sp;return ($17|0); } } - $9 = HEAP32[(56)>>2]|0; + $9 = HEAP32[(60)>>2]|0; $10 = HEAP32[$2>>2]|0; $11 = (FUNCTION_TABLE_ii[$9 & 255]($10)|0); HEAP32[$0>>2] = $11; @@ -102029,7 +102664,8 @@ function _sqlite3DbMallocSize($db,$p) { function _isLookaside($db,$p) { $db = $db|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -102037,25 +102673,29 @@ function _isLookaside($db,$p) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 248|0); - $5 = ((($4)) + 32|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($2>>>0)>=($6>>>0); - if (!($7)) { - $15 = 0; - $14 = $15&1; - STACKTOP = sp;return ($14|0); + $3 = $2; + $4 = HEAP32[$0>>2]|0; + $5 = ((($4)) + 256|0); + $6 = ((($5)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = $7; + $9 = ($3>>>0)>=($8>>>0); + if (!($9)) { + $19 = 0; + $18 = $19&1; + STACKTOP = sp;return ($18|0); } - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 248|0); - $11 = ((($10)) + 36|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($8>>>0)<($12>>>0); - $15 = $13; - $14 = $15&1; - STACKTOP = sp;return ($14|0); + $10 = HEAP32[$1>>2]|0; + $11 = $10; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 256|0); + $14 = ((($13)) + 36|0); + $15 = HEAP32[$14>>2]|0; + $16 = $15; + $17 = ($11>>>0)<($16>>>0); + $19 = $17; + $18 = $19&1; + STACKTOP = sp;return ($18|0); } function _functionDestroy($db,$p) { $db = $db|0; @@ -102070,7 +102710,7 @@ function _functionDestroy($db,$p) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 28|0); + $3 = ((($2)) + 24|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pDestructor>>2] = $4; $5 = HEAP32[$pDestructor>>2]|0; @@ -102182,7 +102822,7 @@ function _disconnectAllVtab($db) { HEAP32[$i>>2] = $42; } $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 312|0); + $44 = ((($43)) + 320|0); $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; HEAP32[$p>>2] = $46; @@ -102324,24 +102964,24 @@ function _callFinaliser($db,$offset) { HEAP32[$0>>2] = $db; HEAP32[$1>>2] = $offset; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 332|0); + $3 = ((($2)) + 340|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); if (!($5)) { STACKTOP = sp;return; } $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 332|0); + $7 = ((($6)) + 340|0); $8 = HEAP32[$7>>2]|0; HEAP32[$aVTrans>>2] = $8; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 332|0); + $10 = ((($9)) + 340|0); HEAP32[$10>>2] = 0; HEAP32[$i>>2] = 0; while(1) { $11 = HEAP32[$i>>2]|0; $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 308|0); + $13 = ((($12)) + 316|0); $14 = HEAP32[$13>>2]|0; $15 = ($11|0)<($14|0); if (!($15)) { @@ -102386,7 +103026,7 @@ function _callFinaliser($db,$offset) { $40 = HEAP32[$aVTrans>>2]|0; _sqlite3DbFree($39,$40); $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 308|0); + $42 = ((($41)) + 316|0); HEAP32[$42>>2] = 0; STACKTOP = sp;return; } @@ -102494,11 +103134,11 @@ function _sqlite3VtabUnlockList($db) { $pNext = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 336|0); + $2 = ((($1)) + 344|0); $3 = HEAP32[$2>>2]|0; HEAP32[$p>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 336|0); + $5 = ((($4)) + 344|0); HEAP32[$5>>2] = 0; $6 = HEAP32[$p>>2]|0; $7 = ($6|0)!=(0|0); @@ -102531,7 +103171,7 @@ function _sqlite3PcacheShrink($pCache) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $pCache; - $1 = HEAP32[(160)>>2]|0; + $1 = HEAP32[(164)>>2]|0; $2 = HEAP32[$0>>2]|0; $3 = ((($2)) + 44|0); $4 = HEAP32[$3>>2]|0; @@ -102545,12 +103185,12 @@ function _pcache1Init($NotUsed) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $NotUsed; - dest=1584; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=1608; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $1 = HEAP32[(212)>>2]|0; $2 = ($1|0)==(0|0); $3 = $2&1; - HEAP32[(1640)>>2] = $3; - $4 = HEAP32[(1640)>>2]|0; + HEAP32[(1664)>>2] = $3; + $4 = HEAP32[(1664)>>2]|0; $5 = ($4|0)!=(0); $6 = HEAP32[(220)>>2]|0; $7 = ($6|0)!=(0); @@ -102560,14 +103200,14 @@ function _pcache1Init($NotUsed) { $or$cond3 = $or$cond & $9; if ($or$cond3) { $10 = HEAP32[(220)>>2]|0; - HEAP32[(1644)>>2] = $10; - HEAP32[(1596)>>2] = 10; - HEAP32[(1636)>>2] = 1; + HEAP32[(1668)>>2] = $10; + HEAP32[(1620)>>2] = 10; + HEAP32[(1660)>>2] = 1; STACKTOP = sp;return 0; } else { - HEAP32[(1644)>>2] = 0; - HEAP32[(1596)>>2] = 10; - HEAP32[(1636)>>2] = 1; + HEAP32[(1668)>>2] = 0; + HEAP32[(1620)>>2] = 10; + HEAP32[(1660)>>2] = 1; STACKTOP = sp;return 0; } return (0)|0; @@ -102579,7 +103219,7 @@ function _pcache1Shutdown($NotUsed) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $NotUsed; - dest=1584; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + dest=1608; stop=dest+100|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _pcache1Create($szPage,$szExtra,$bPurgeable) { @@ -102602,7 +103242,7 @@ function _pcache1Create($szPage,$szExtra,$bPurgeable) { HEAP32[$0>>2] = $szPage; HEAP32[$1>>2] = $szExtra; HEAP32[$2>>2] = $bPurgeable; - $3 = HEAP32[(1640)>>2]|0; + $3 = HEAP32[(1664)>>2]|0; $4 = ($3*52)|0; $5 = (60 + ($4))|0; HEAP32[$sz>>2] = $5; @@ -102617,7 +103257,7 @@ function _pcache1Create($szPage,$szExtra,$bPurgeable) { $81 = HEAP32[$pCache>>2]|0; STACKTOP = sp;return ($81|0); } - $12 = HEAP32[(1640)>>2]|0; + $12 = HEAP32[(1664)>>2]|0; $13 = ($12|0)!=(0); if ($13) { $14 = HEAP32[$pCache>>2]|0; @@ -102627,7 +103267,7 @@ function _pcache1Create($szPage,$szExtra,$bPurgeable) { $17 = ((($16)) + 12|0); HEAP32[$17>>2] = 10; } else { - HEAP32[$pGroup>>2] = 1584; + HEAP32[$pGroup>>2] = 1608; } $18 = HEAP32[$pGroup>>2]|0; $19 = ((($18)) + 20|0); @@ -103748,7 +104388,7 @@ function _pcache1UnderMemoryPressure($pCache) { $0 = sp + 4|0; $1 = sp; HEAP32[$1>>2] = $pCache; - $2 = HEAP32[(1652)>>2]|0; + $2 = HEAP32[(1676)>>2]|0; $3 = ($2|0)!=(0); if ($3) { $4 = HEAP32[$1>>2]|0; @@ -103758,10 +104398,10 @@ function _pcache1UnderMemoryPressure($pCache) { $8 = ((($7)) + 8|0); $9 = HEAP32[$8>>2]|0; $10 = (($6) + ($9))|0; - $11 = HEAP32[(1648)>>2]|0; + $11 = HEAP32[(1672)>>2]|0; $12 = ($10|0)<=($11|0); if ($12) { - $13 = HEAP32[(1680)>>2]|0; + $13 = HEAP32[(1704)>>2]|0; HEAP32[$0>>2] = $13; $15 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($15|0); @@ -104019,7 +104659,7 @@ function _pcache1InitBulk($pCache) { $i = sp + 12|0; $pX = sp + 8|0; HEAP32[$1>>2] = $pCache; - $2 = HEAP32[(1644)>>2]|0; + $2 = HEAP32[(1668)>>2]|0; $3 = ($2|0)==(0); if ($3) { HEAP32[$0>>2] = 0; @@ -104036,7 +104676,7 @@ function _pcache1InitBulk($pCache) { STACKTOP = sp;return ($120|0); } _sqlite3BeginBenignMalloc(); - $8 = HEAP32[(1644)>>2]|0; + $8 = HEAP32[(1668)>>2]|0; $9 = ($8|0)>(0); if ($9) { $10 = HEAP32[$1>>2]|0; @@ -104044,7 +104684,7 @@ function _pcache1InitBulk($pCache) { $12 = HEAP32[$11>>2]|0; $13 = ($12|0)<(0); $14 = $13 << 31 >> 31; - $15 = HEAP32[(1644)>>2]|0; + $15 = HEAP32[(1668)>>2]|0; $16 = ($15|0)<(0); $17 = $16 << 31 >> 31; $18 = (___muldi3(($12|0),($14|0),($15|0),($17|0))|0); @@ -104056,7 +104696,7 @@ function _pcache1InitBulk($pCache) { $23 = $22; HEAP32[$23>>2] = $19; } else { - $24 = HEAP32[(1644)>>2]|0; + $24 = HEAP32[(1668)>>2]|0; $25 = ($24|0)<(0); $26 = $25 << 31 >> 31; $27 = (___muldi3(-1024,-1,($24|0),($26|0))|0); @@ -104230,7 +104870,7 @@ function _sqlite3MemMalloc($nByte) { STACKTOP = sp;return ($19|0); } else { HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log(7,27278,$vararg_buffer); + _sqlite3_log(7,27007,$vararg_buffer); $19 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($19|0); } @@ -104301,7 +104941,7 @@ function _sqlite3MemRealloc($pPrior,$nByte) { HEAP32[$vararg_buffer>>2] = $22; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $23; - _sqlite3_log(7,27242,$vararg_buffer); + _sqlite3_log(7,26971,$vararg_buffer); $24 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($24|0); } @@ -104368,7 +105008,7 @@ function _sqlite3ParserAlloc($mallocProc) { $pParser = sp; HEAP32[$0>>2] = $mallocProc; $1 = HEAP32[$0>>2]|0; - $2 = (FUNCTION_TABLE_iii[$1 & 255](1612,0)|0); + $2 = (FUNCTION_TABLE_iii[$1 & 255](1608,0)|0); HEAP32[$pParser>>2] = $2; $3 = HEAP32[$pParser>>2]|0; $4 = ($3|0)!=(0|0); @@ -104424,7 +105064,7 @@ function _sqlite3GetToken($z,$tokenType) { $3 = HEAP32[$1>>2]|0; $4 = HEAP8[$3>>0]|0; $5 = $4&255; - $6 = (40089 + ($5)|0); + $6 = (39740 + ($5)|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; L1: do { @@ -104437,7 +105077,7 @@ function _sqlite3GetToken($z,$tokenType) { $11 = (($10) + ($9)|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; - $14 = (19267 + ($13)|0); + $14 = (19011 + ($13)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = $16 & 1; @@ -104450,7 +105090,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $20; } $21 = HEAP32[$2>>2]|0; - HEAP32[$21>>2] = 159; + HEAP32[$21>>2] = 160; $22 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $22; $502 = HEAP32[$0>>2]|0; @@ -104490,7 +105130,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $38; } $39 = HEAP32[$2>>2]|0; - HEAP32[$39>>2] = 159; + HEAP32[$39>>2] = 160; $40 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $40; $502 = HEAP32[$0>>2]|0; @@ -104592,7 +105232,7 @@ function _sqlite3GetToken($z,$tokenType) { HEAP32[$i>>2] = $81; } $82 = HEAP32[$2>>2]|0; - HEAP32[$82>>2] = 159; + HEAP32[$82>>2] = 160; $83 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $83; $502 = HEAP32[$0>>2]|0; @@ -104706,8 +105346,8 @@ function _sqlite3GetToken($z,$tokenType) { $118 = ($117|0)!=(61); $119 = HEAP32[$2>>2]|0; if ($118) { - HEAP32[$119>>2] = 160; - HEAP32[$0>>2] = 2; + HEAP32[$119>>2] = 161; + HEAP32[$0>>2] = 1; $502 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($502|0); } else { @@ -104824,7 +105464,7 @@ function _sqlite3GetToken($z,$tokenType) { $502 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($502|0); } else { - HEAP32[$160>>2] = 160; + HEAP32[$160>>2] = 161; $163 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $163; $502 = HEAP32[$0>>2]|0; @@ -104837,7 +105477,7 @@ function _sqlite3GetToken($z,$tokenType) { $165 = ((($164)) + 1|0); $166 = HEAP8[$165>>0]|0; $167 = $166&255; - $168 = (19267 + ($167)|0); + $168 = (19011 + ($167)|0); $169 = HEAP8[$168>>0]|0; $170 = $169&255; $171 = $170 & 4; @@ -104885,7 +105525,7 @@ function _sqlite3GetToken($z,$tokenType) { } $332 = HEAP32[$c>>2]|0; $333 = ($332|0)==(93); - $334 = $333 ? 27 : 160; + $334 = $333 ? 27 : 161; $335 = HEAP32[$2>>2]|0; HEAP32[$335>>2] = $334; $336 = HEAP32[$i>>2]|0; @@ -104904,7 +105544,7 @@ function _sqlite3GetToken($z,$tokenType) { $340 = (($339) + ($338)|0); $341 = HEAP8[$340>>0]|0; $342 = $341&255; - $343 = (19267 + ($342)|0); + $343 = (19011 + ($342)|0); $344 = HEAP8[$343>>0]|0; $345 = $344&255; $346 = $345 & 4; @@ -104940,7 +105580,7 @@ function _sqlite3GetToken($z,$tokenType) { $357 = HEAP32[$c>>2]|0; $358 = $357&255; $359 = $358&255; - $360 = (19267 + ($359)|0); + $360 = (19011 + ($359)|0); $361 = HEAP8[$360>>0]|0; $362 = $361&255; $363 = $362 & 70; @@ -105002,7 +105642,7 @@ function _sqlite3GetToken($z,$tokenType) { $379 = HEAP32[$c>>2]|0; $380 = $379&255; $381 = $380&255; - $382 = (19267 + ($381)|0); + $382 = (19011 + ($381)|0); $383 = HEAP8[$382>>0]|0; $384 = $383&255; $385 = $384 & 1; @@ -105025,7 +105665,7 @@ function _sqlite3GetToken($z,$tokenType) { break; } else { $393 = HEAP32[$2>>2]|0; - HEAP32[$393>>2] = 160; + HEAP32[$393>>2] = 161; break; } } @@ -105034,7 +105674,7 @@ function _sqlite3GetToken($z,$tokenType) { $408 = ($407|0)==(0); if ($408) { $409 = HEAP32[$2>>2]|0; - HEAP32[$409>>2] = 160; + HEAP32[$409>>2] = 161; } $410 = HEAP32[$i>>2]|0; HEAP32[$0>>2] = $410; @@ -105050,7 +105690,7 @@ function _sqlite3GetToken($z,$tokenType) { $413 = (($412) + ($411)|0); $414 = HEAP8[$413>>0]|0; $415 = $414&255; - $416 = (40089 + ($415)|0); + $416 = (39740 + ($415)|0); $417 = HEAP8[$416>>0]|0; $418 = $417&255; $419 = ($418|0)<=(1); @@ -105065,7 +105705,7 @@ function _sqlite3GetToken($z,$tokenType) { $423 = (($422) + ($420)|0); $424 = HEAP8[$423>>0]|0; $425 = $424&255; - $426 = (19267 + ($425)|0); + $426 = (19011 + ($425)|0); $427 = HEAP8[$426>>0]|0; $428 = $427&255; $429 = $428 & 70; @@ -105103,7 +105743,7 @@ function _sqlite3GetToken($z,$tokenType) { $446 = (($445) + ($444)|0); $447 = HEAP8[$446>>0]|0; $448 = $447&255; - $449 = (19267 + ($448)|0); + $449 = (19011 + ($448)|0); $450 = HEAP8[$449>>0]|0; $451 = $450&255; $452 = $451 & 8; @@ -105133,7 +105773,7 @@ function _sqlite3GetToken($z,$tokenType) { L168: do { if ((label|0) == 131) { $464 = HEAP32[$2>>2]|0; - HEAP32[$464>>2] = 160; + HEAP32[$464>>2] = 161; while(1) { $465 = HEAP32[$i>>2]|0; $466 = HEAP32[$1>>2]|0; @@ -105184,7 +105824,7 @@ function _sqlite3GetToken($z,$tokenType) { } default: { $487 = HEAP32[$2>>2]|0; - HEAP32[$487>>2] = 160; + HEAP32[$487>>2] = 161; HEAP32[$0>>2] = 1; $502 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($502|0); @@ -105219,7 +105859,7 @@ function _sqlite3GetToken($z,$tokenType) { $190 = ((($189)) + 2|0); $191 = HEAP8[$190>>0]|0; $192 = $191&255; - $193 = (19267 + ($192)|0); + $193 = (19011 + ($192)|0); $194 = HEAP8[$193>>0]|0; $195 = $194&255; $196 = $195 & 8; @@ -105232,7 +105872,7 @@ function _sqlite3GetToken($z,$tokenType) { $200 = (($199) + ($198)|0); $201 = HEAP8[$200>>0]|0; $202 = $201&255; - $203 = (19267 + ($202)|0); + $203 = (19011 + ($202)|0); $204 = HEAP8[$203>>0]|0; $205 = $204&255; $206 = $205 & 8; @@ -105257,7 +105897,7 @@ function _sqlite3GetToken($z,$tokenType) { $212 = (($211) + ($210)|0); $213 = HEAP8[$212>>0]|0; $214 = $213&255; - $215 = (19267 + ($214)|0); + $215 = (19011 + ($214)|0); $216 = HEAP8[$215>>0]|0; $217 = $216&255; $218 = $217 & 4; @@ -105284,7 +105924,7 @@ function _sqlite3GetToken($z,$tokenType) { $231 = (($230) + ($229)|0); $232 = HEAP8[$231>>0]|0; $233 = $232&255; - $234 = (19267 + ($233)|0); + $234 = (19011 + ($233)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = $236 & 4; @@ -105326,7 +105966,7 @@ function _sqlite3GetToken($z,$tokenType) { $257 = (($256) + ($255)|0); $258 = HEAP8[$257>>0]|0; $259 = $258&255; - $260 = (19267 + ($259)|0); + $260 = (19011 + ($259)|0); $261 = HEAP8[$260>>0]|0; $262 = $261&255; $263 = $262 & 4; @@ -105357,7 +105997,7 @@ function _sqlite3GetToken($z,$tokenType) { $282 = (($281) + ($280)|0); $283 = HEAP8[$282>>0]|0; $284 = $283&255; - $285 = (19267 + ($284)|0); + $285 = (19011 + ($284)|0); $286 = HEAP8[$285>>0]|0; $287 = $286&255; $288 = $287 & 4; @@ -105375,7 +106015,7 @@ function _sqlite3GetToken($z,$tokenType) { $294 = (($293) + ($292)|0); $295 = HEAP8[$294>>0]|0; $296 = $295&255; - $297 = (19267 + ($296)|0); + $297 = (19011 + ($296)|0); $298 = HEAP8[$297>>0]|0; $299 = $298&255; $300 = $299 & 4; @@ -105397,7 +106037,7 @@ function _sqlite3GetToken($z,$tokenType) { $307 = (($306) + ($305)|0); $308 = HEAP8[$307>>0]|0; $309 = $308&255; - $310 = (19267 + ($309)|0); + $310 = (19011 + ($309)|0); $311 = HEAP8[$310>>0]|0; $312 = $311&255; $313 = $312 & 70; @@ -105406,7 +106046,7 @@ function _sqlite3GetToken($z,$tokenType) { break; } $315 = HEAP32[$2>>2]|0; - HEAP32[$315>>2] = 160; + HEAP32[$315>>2] = 161; $316 = HEAP32[$i>>2]|0; $317 = (($316) + 1)|0; HEAP32[$i>>2] = $317; @@ -105425,7 +106065,7 @@ function _sqlite3GetToken($z,$tokenType) { $490 = (($489) + ($488)|0); $491 = HEAP8[$490>>0]|0; $492 = $491&255; - $493 = (19267 + ($492)|0); + $493 = (19011 + ($492)|0); $494 = HEAP8[$493>>0]|0; $495 = $494&255; $496 = $495 & 70; @@ -105450,11 +106090,11 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { $yyminor = $yyminor|0; $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yyact = 0, $yyminorunion = 0, $yyminorunion$byval_copy = 0, $yypParser = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $yyact = 0, $yyminor$byval_copy1 = 0, $yyminorunion = 0, $yypParser = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $yyminorunion$byval_copy = sp + 32|0; + $yyminor$byval_copy1 = sp + 32|0; $0 = sp + 28|0; $1 = sp + 24|0; $2 = sp + 20|0; @@ -105473,79 +106113,73 @@ function _sqlite3Parser($yyp,$yymajor,$yyminor,$pParse) { $7 = HEAP32[$yypParser>>2]|0; HEAP32[$7>>2] = 0; $8 = HEAP32[$yypParser>>2]|0; - $9 = ((($8)) + 4|0); - HEAP32[$9>>2] = -1; + $9 = ((($8)) + 8|0); + HEAP16[$9>>1] = 0; $10 = HEAP32[$yypParser>>2]|0; - $11 = ((($10)) + 12|0); - HEAP16[$11>>1] = 0; - $12 = HEAP32[$yypParser>>2]|0; - $13 = ((($12)) + 12|0); - $14 = ((($13)) + 2|0); - HEAP8[$14>>0] = 0; + $11 = ((($10)) + 8|0); + $12 = ((($11)) + 2|0); + HEAP8[$12>>0] = 0; } - ;HEAP32[$yyminorunion>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminorunion+4>>2]=HEAP32[$yyminor+4>>2]|0; - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$yypParser>>2]|0; - $17 = ((($16)) + 8|0); - HEAP32[$17>>2] = $15; + $13 = HEAP32[$2>>2]|0; + $14 = HEAP32[$yypParser>>2]|0; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = $13; while(1) { - $18 = HEAP32[$yypParser>>2]|0; - $19 = HEAP32[$1>>2]|0; - $20 = $19&255; - $21 = (_yy_find_shift_action($18,$20)|0); - HEAP32[$yyact>>2] = $21; + $16 = HEAP32[$yypParser>>2]|0; + $17 = HEAP32[$1>>2]|0; + $18 = $17&255; + $19 = (_yy_find_shift_action($16,$18)|0); + HEAP32[$yyact>>2] = $19; + $20 = HEAP32[$yyact>>2]|0; + $21 = ($20>>>0)<=(974); $22 = HEAP32[$yyact>>2]|0; - $23 = ($22|0)<=(976); - $24 = HEAP32[$yyact>>2]|0; do { - if ($23) { - $25 = ($24|0)>(435); - if ($25) { - $26 = HEAP32[$yyact>>2]|0; - $27 = (($26) + 328)|0; - HEAP32[$yyact>>2] = $27; + if ($21) { + $23 = ($22>>>0)>(439); + if ($23) { + $24 = HEAP32[$yyact>>2]|0; + $25 = (($24) + 326)|0; + HEAP32[$yyact>>2] = $25; } - $28 = HEAP32[$yypParser>>2]|0; - $29 = HEAP32[$yyact>>2]|0; - $30 = HEAP32[$1>>2]|0; - _yy_shift($28,$29,$30,$yyminorunion); - $31 = HEAP32[$yypParser>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($33) + -1)|0; - HEAP32[$32>>2] = $34; - HEAP32[$1>>2] = 253; + $26 = HEAP32[$yypParser>>2]|0; + $27 = HEAP32[$yyact>>2]|0; + $28 = HEAP32[$1>>2]|0; + ;HEAP32[$yyminor$byval_copy1>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminor$byval_copy1+4>>2]=HEAP32[$yyminor+4>>2]|0; + _yy_shift($26,$27,$28,$yyminor$byval_copy1); + HEAP32[$1>>2] = 251; } else { - $35 = ($24|0)<=(1304); - $36 = HEAP32[$yypParser>>2]|0; - if ($35) { - $37 = HEAP32[$yyact>>2]|0; - $38 = (($37) - 977)|0; - _yy_reduce($36,$38); + $29 = ($22>>>0)<=(1300); + if ($29) { + $30 = HEAP32[$yypParser>>2]|0; + $31 = HEAP32[$yyact>>2]|0; + $32 = (($31) - 975)|0; + _yy_reduce($30,$32); break; } else { - $39 = HEAP32[$1>>2]|0; - ;HEAP32[$yyminorunion$byval_copy>>2]=HEAP32[$yyminorunion>>2]|0;HEAP32[$yyminorunion$byval_copy+4>>2]=HEAP32[$yyminorunion+4>>2]|0;HEAP32[$yyminorunion$byval_copy+8>>2]=HEAP32[$yyminorunion+8>>2]|0; - _yy_syntax_error($36,$39,$yyminorunion$byval_copy); - $40 = HEAP32[$yypParser>>2]|0; - $41 = HEAP32[$1>>2]|0; - $42 = $41&255; - _yy_destructor($40,$42,$yyminorunion); - HEAP32[$1>>2] = 253; + ;HEAP32[$yyminorunion>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminorunion+4>>2]=HEAP32[$yyminor+4>>2]|0; + $33 = HEAP32[$yypParser>>2]|0; + $34 = HEAP32[$1>>2]|0; + ;HEAP32[$yyminor$byval_copy1>>2]=HEAP32[$yyminor>>2]|0;HEAP32[$yyminor$byval_copy1+4>>2]=HEAP32[$yyminor+4>>2]|0; + _yy_syntax_error($33,$34,$yyminor$byval_copy1); + $35 = HEAP32[$yypParser>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = $36&255; + _yy_destructor($35,$37,$yyminorunion); + HEAP32[$1>>2] = 251; break; } } } while(0); - $43 = HEAP32[$1>>2]|0; - $44 = ($43|0)!=(253); - if (!($44)) { + $38 = HEAP32[$1>>2]|0; + $39 = ($38|0)!=(251); + if (!($39)) { label = 13; break; } - $45 = HEAP32[$yypParser>>2]|0; - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)>=(0); - if (!($47)) { + $40 = HEAP32[$yypParser>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)>=(0); + if (!($42)) { label = 13; break; } @@ -105798,7 +106432,7 @@ function _clearSelect($db,$p,$bFree) { break; } $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 52|0); + $6 = ((($5)) + 48|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pPrior>>2] = $7; $8 = HEAP32[$0>>2]|0; @@ -105807,42 +106441,42 @@ function _clearSelect($db,$p,$bFree) { _sqlite3ExprListDelete($8,$10); $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 32|0); + $13 = ((($12)) + 28|0); $14 = HEAP32[$13>>2]|0; _sqlite3SrcListDelete($11,$14); $15 = HEAP32[$0>>2]|0; $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 36|0); + $17 = ((($16)) + 32|0); $18 = HEAP32[$17>>2]|0; _sqlite3ExprDelete($15,$18); $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 40|0); + $21 = ((($20)) + 36|0); $22 = HEAP32[$21>>2]|0; _sqlite3ExprListDelete($19,$22); $23 = HEAP32[$0>>2]|0; $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 44|0); + $25 = ((($24)) + 40|0); $26 = HEAP32[$25>>2]|0; _sqlite3ExprDelete($23,$26); $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 48|0); + $29 = ((($28)) + 44|0); $30 = HEAP32[$29>>2]|0; _sqlite3ExprListDelete($27,$30); $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 60|0); + $33 = ((($32)) + 56|0); $34 = HEAP32[$33>>2]|0; _sqlite3ExprDelete($31,$34); $35 = HEAP32[$0>>2]|0; $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 64|0); + $37 = ((($36)) + 60|0); $38 = HEAP32[$37>>2]|0; _sqlite3ExprDelete($35,$38); $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 68|0); + $41 = ((($40)) + 64|0); $42 = HEAP32[$41>>2]|0; _sqlite3WithDelete($39,$42); $43 = HEAP32[$2>>2]|0; @@ -106103,7 +106737,7 @@ function _yy_pop_parser_stack($pParser) { $3 = (($2) + -1)|0; HEAP32[$1>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 12|0); + $5 = ((($4)) + 8|0); $6 = (($5) + ($2<<4)|0); HEAP32[$yytos>>2] = $6; $7 = HEAP32[$0>>2]|0; @@ -106132,14 +106766,14 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { HEAP8[$1>>0] = $yymajor; HEAP32[$2>>2] = $yypminor; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 8|0); + $4 = ((($3)) + 4|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pParse>>2] = $5; $6 = HEAP8[$1>>0]|0; $7 = $6&255; do { switch ($7|0) { - case 208: case 197: case 196: case 163: { + case 206: case 195: case 194: case 163: { $8 = HEAP32[$pParse>>2]|0; $9 = HEAP32[$8>>2]|0; $10 = HEAP32[$2>>2]|0; @@ -106148,7 +106782,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 175: case 174: { + case 173: case 172: { $12 = HEAP32[$pParse>>2]|0; $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$2>>2]|0; @@ -106157,7 +106791,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 227: case 220: case 211: case 210: case 209: case 206: case 204: case 201: case 189: case 188: case 179: { + case 225: case 218: case 209: case 208: case 207: case 204: case 202: case 199: case 187: case 186: case 177: { $16 = HEAP32[$pParse>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$2>>2]|0; @@ -106166,7 +106800,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 214: case 213: case 202: case 195: { + case 212: case 211: case 200: case 193: { $20 = HEAP32[$pParse>>2]|0; $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$2>>2]|0; @@ -106175,7 +106809,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 251: case 198: { + case 249: case 196: { $24 = HEAP32[$pParse>>2]|0; $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$2>>2]|0; @@ -106184,7 +106818,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 242: case 237: case 228: case 226: case 217: case 205: case 203: { + case 240: case 235: case 226: case 224: case 215: case 203: case 201: { $28 = HEAP32[$pParse>>2]|0; $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$2>>2]|0; @@ -106193,7 +106827,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 222: case 219: case 218: { + case 220: case 217: case 216: { $32 = HEAP32[$pParse>>2]|0; $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$2>>2]|0; @@ -106202,7 +106836,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 238: case 233: { + case 236: case 231: { $36 = HEAP32[$pParse>>2]|0; $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; @@ -106211,7 +106845,7 @@ function _yy_destructor($yypParser,$yymajor,$yypminor) { STACKTOP = sp;return; break; } - case 235: { + case 233: { $40 = HEAP32[$pParse>>2]|0; $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$2>>2]|0; @@ -106299,13 +106933,13 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 12|0); + $6 = ((($5)) + 8|0); $7 = (($6) + ($4<<4)|0); $8 = HEAP16[$7>>1]|0; $9 = $8&65535; HEAP32[$stateno>>2] = $9; $10 = HEAP32[$stateno>>2]|0; - $11 = ($10|0)>=(977); + $11 = ($10|0)>=(975); if ($11) { $12 = HEAP32[$stateno>>2]|0; HEAP32[$0>>2] = $12; @@ -106314,12 +106948,12 @@ function _yy_find_shift_action($pParser,$iLookAhead) { } while(1) { $13 = HEAP32[$stateno>>2]|0; - $14 = (15538 + ($13<<1)|0); + $14 = (15266 + ($13<<1)|0); $15 = HEAP16[$14>>1]|0; $16 = $15 << 16 >> 16; HEAP32[$i>>2] = $16; $17 = HEAP32[$i>>2]|0; - $18 = ($17|0)==(-89); + $18 = ($17|0)==(-72); if ($18) { label = 4; break; @@ -106332,11 +106966,11 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $27 = HEAP32[$i>>2]|0; $28 = ($27|0)<(0); $29 = HEAP32[$i>>2]|0; - $30 = ($29|0)>=(1501); + $30 = ($29|0)>=(1499); $or$cond = $28 | $30; if (!($or$cond)) { $31 = HEAP32[$i>>2]|0; - $32 = (38518 + ($31)|0); + $32 = (38171 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = HEAP8[$2>>0]|0; @@ -106362,7 +106996,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { } $44 = HEAP8[$2>>0]|0; $45 = $44&255; - $46 = (40019 + ($45)|0); + $46 = (39670 + ($45)|0); $47 = HEAP8[$46>>0]|0; HEAP8[$iFallback>>0] = $47; $48 = $47&255; @@ -106376,7 +107010,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { } if ((label|0) == 4) { $19 = HEAP32[$stateno>>2]|0; - $20 = (16410 + ($19<<1)|0); + $20 = (16146 + ($19<<1)|0); $21 = HEAP16[$20>>1]|0; $22 = $21&65535; HEAP32[$0>>2] = $22; @@ -106393,17 +107027,17 @@ function _yy_find_shift_action($pParser,$iLookAhead) { $56 = HEAP32[$j>>2]|0; $57 = ($56|0)>=(0); $58 = HEAP32[$j>>2]|0; - $59 = ($58|0)<(1501); + $59 = ($58|0)<(1499); $or$cond3 = $57 & $59; if ($or$cond3) { $60 = HEAP32[$j>>2]|0; - $61 = (38518 + ($60)|0); + $61 = (38171 + ($60)|0); $62 = HEAP8[$61>>0]|0; $63 = $62&255; $64 = ($63|0)==(70); if ($64) { $65 = HEAP32[$j>>2]|0; - $66 = (12532 + ($65<<1)|0); + $66 = (12264 + ($65<<1)|0); $67 = HEAP16[$66>>1]|0; $68 = $67&65535; HEAP32[$0>>2] = $68; @@ -106414,7 +107048,7 @@ function _yy_find_shift_action($pParser,$iLookAhead) { } else if ((label|0) == 15) { $73 = HEAP32[$i>>2]|0; - $74 = (12532 + ($73<<1)|0); + $74 = (12264 + ($73<<1)|0); $75 = HEAP16[$74>>1]|0; $76 = $75&65535; HEAP32[$0>>2] = $76; @@ -106422,62 +107056,58 @@ function _yy_find_shift_action($pParser,$iLookAhead) { STACKTOP = sp;return ($77|0); } $69 = HEAP32[$stateno>>2]|0; - $70 = (16410 + ($69<<1)|0); + $70 = (16146 + ($69<<1)|0); $71 = HEAP16[$70>>1]|0; $72 = $71&65535; HEAP32[$0>>2] = $72; $77 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($77|0); } -function _yy_shift($yypParser,$yyNewState,$yyMajor,$yypMinor) { +function _yy_shift($yypParser,$yyNewState,$yyMajor,$yyMinor) { $yypParser = $yypParser|0; $yyNewState = $yyNewState|0; $yyMajor = $yyMajor|0; - $yypMinor = $yypMinor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; + $yyMinor = $yyMinor|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $yytos = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; $yytos = sp; HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yyNewState; HEAP32[$2>>2] = $yyMajor; - HEAP32[$3>>2] = $yypMinor; - $4 = HEAP32[$0>>2]|0; - $5 = HEAP32[$4>>2]|0; - $6 = (($5) + 1)|0; - HEAP32[$4>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>=(100); - $10 = HEAP32[$0>>2]|0; - if ($9) { - $11 = HEAP32[$3>>2]|0; - _yyStackOverflow($10,$11); + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (($4) + 1)|0; + HEAP32[$3>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)>=(100); + $9 = HEAP32[$0>>2]|0; + if ($8) { + _yyStackOverflow($9); STACKTOP = sp;return; } else { - $12 = HEAP32[$10>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 12|0); - $15 = (($14) + ($12<<4)|0); - HEAP32[$yytos>>2] = $15; - $16 = HEAP32[$1>>2]|0; - $17 = $16&65535; - $18 = HEAP32[$yytos>>2]|0; - HEAP16[$18>>1] = $17; - $19 = HEAP32[$2>>2]|0; - $20 = $19&255; + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 8|0); + $13 = (($12) + ($10<<4)|0); + HEAP32[$yytos>>2] = $13; + $14 = HEAP32[$1>>2]|0; + $15 = $14&65535; + $16 = HEAP32[$yytos>>2]|0; + HEAP16[$16>>1] = $15; + $17 = HEAP32[$2>>2]|0; + $18 = $17&255; + $19 = HEAP32[$yytos>>2]|0; + $20 = ((($19)) + 2|0); + HEAP8[$20>>0] = $18; $21 = HEAP32[$yytos>>2]|0; - $22 = ((($21)) + 2|0); - HEAP8[$22>>0] = $20; - $23 = HEAP32[$yytos>>2]|0; - $24 = ((($23)) + 4|0); - $25 = HEAP32[$3>>2]|0; - ;HEAP32[$24>>2]=HEAP32[$25>>2]|0;HEAP32[$24+4>>2]=HEAP32[$25+4>>2]|0;HEAP32[$24+8>>2]=HEAP32[$25+8>>2]|0; + $22 = ((($21)) + 4|0); + ;HEAP32[$22>>2]=HEAP32[$yyMinor>>2]|0;HEAP32[$22+4>>2]=HEAP32[$yyMinor+4>>2]|0; STACKTOP = sp;return; } } @@ -106558,91 +107188,120 @@ function _yy_reduce($yypParser,$yyruleno) { var $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0; var $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0; var $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0; - var $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0; - var $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0; - var $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0; - var $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0; - var $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0; - var $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0; - var $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0; - var $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0; - var $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0; - var $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0; - var $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0; - var $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0; - var $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0; - var $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0; - var $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0; - var $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0; - var $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0; - var $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0; - var $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0; - var $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0; - var $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0; - var $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0; - var $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0; - var $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0; - var $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0; - var $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0; - var $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0; - var $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0; - var $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0; - var $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0; - var $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0; - var $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0; - var $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0; - var $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0; - var $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0; - var $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0; - var $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0; - var $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0; - var $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0; - var $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0; - var $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0; - var $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0; - var $996 = 0, $997 = 0, $998 = 0, $999 = 0, $all = 0, $dest = 0, $p = 0, $p2 = 0, $p9 = 0, $pDot = 0, $pFrom = 0, $pLeft = 0, $pLeft4 = 0, $pLhs = 0, $pList = 0, $pList7 = 0, $pList8 = 0, $pNew = 0, $pOld = 0, $pParse = 0; - var $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSrc = 0, $pSubquery = 0, $temp1 = 0, $temp15 = 0, $temp2 = 0, $temp26 = 0, $temp3 = 0, $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0; - var $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yygotominor = 0, $yymsp = 0, $yysize = 0, label = 0, sp = 0; + var $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0; + var $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0; + var $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0; + var $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0; + var $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0; + var $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0; + var $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0; + var $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0; + var $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0; + var $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0; + var $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0; + var $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0; + var $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0; + var $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0; + var $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0; + var $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0; + var $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0; + var $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0; + var $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0; + var $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0; + var $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0; + var $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0; + var $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0; + var $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0; + var $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0; + var $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0; + var $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0; + var $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0; + var $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0; + var $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0; + var $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0; + var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0; + var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0; + var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0; + var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0; + var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0; + var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0; + var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0; + var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0; + var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0; + var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0; + var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0; + var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0; + var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0; + var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0; + var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0; + var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0; + var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0; + var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0; + var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0; + var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0; + var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0; + var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; + var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; + var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; + var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; + var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; + var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; + var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; + var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; + var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; + var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; + var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; + var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; + var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; + var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $all = 0, $dest = 0, $p = 0, $p2 = 0, $p9 = 0, $pDot = 0, $pFrom = 0, $pLeft = 0, $pLeft4 = 0, $pLhs = 0, $pList = 0, $pList7 = 0, $pList8 = 0, $pNew = 0, $pOld = 0; + var $pParse = 0, $pRHS = 0, $pRhs = 0, $pRight = 0, $pRight3 = 0, $pSrc = 0, $pSubquery = 0, $t = 0, $t$byval_copy = 0, $temp1 = 0, $temp15 = 0, $temp2 = 0, $temp26 = 0, $temp3 = 0, $temp4 = 0, $v = 0, $v1 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0; + var $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $x = 0, $yyact = 0, $yygoto = 0, $yylhsminor = 0, $yymsp = 0, $yysize = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; + STACKTOP = STACKTOP + 272|0; + $t$byval_copy = sp + 264|0; $vararg_buffer12 = sp + 40|0; $vararg_buffer10 = sp + 32|0; $vararg_buffer8 = sp + 24|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer2 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 248|0; - $1 = sp + 244|0; - $yygoto = sp + 240|0; - $yyact = sp + 236|0; - $yygotominor = sp + 224|0; - $yymsp = sp + 220|0; - $yysize = sp + 216|0; - $pParse = sp + 212|0; - $v = sp + 200|0; - $v1 = sp + 188|0; - $dest = sp + 168|0; - $p = sp + 164|0; - $pRhs = sp + 160|0; - $pLhs = sp + 156|0; - $pFrom = sp + 152|0; - $x = sp + 144|0; - $pRight = sp + 136|0; - $pLeft = sp + 132|0; - $p2 = sp + 128|0; - $pRight3 = sp + 124|0; - $pLeft4 = sp + 120|0; - $pDot = sp + 116|0; - $pNew = sp + 112|0; - $pOld = sp + 108|0; - $pSubquery = sp + 104|0; - $temp1 = sp + 100|0; - $temp2 = sp + 96|0; - $temp15 = sp + 92|0; - $temp26 = sp + 88|0; - $temp3 = sp + 84|0; - $temp4 = sp + 80|0; + $0 = sp + 256|0; + $1 = sp + 252|0; + $yygoto = sp + 248|0; + $yyact = sp + 244|0; + $yymsp = sp + 240|0; + $yysize = sp + 236|0; + $pParse = sp + 232|0; + $yylhsminor = sp + 220|0; + $v = sp + 208|0; + $v1 = sp + 196|0; + $dest = sp + 176|0; + $p = sp + 172|0; + $pRhs = sp + 168|0; + $pLhs = sp + 164|0; + $pFrom = sp + 160|0; + $x = sp + 152|0; + $pRight = sp + 144|0; + $pLeft = sp + 140|0; + $p2 = sp + 136|0; + $pRight3 = sp + 132|0; + $pLeft4 = sp + 128|0; + $pDot = sp + 124|0; + $pNew = sp + 120|0; + $pOld = sp + 116|0; + $pSubquery = sp + 112|0; + $temp1 = sp + 108|0; + $temp2 = sp + 104|0; + $temp15 = sp + 100|0; + $temp26 = sp + 96|0; + $temp3 = sp + 92|0; + $temp4 = sp + 88|0; + $t = sp + 80|0; $pList = sp + 76|0; $pList7 = sp + 72|0; $pList8 = sp + 68|0; @@ -106653,3516 +107312,4068 @@ function _yy_reduce($yypParser,$yyruleno) { HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yyruleno; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pParse>>2] = $4; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 12|0); + $8 = ((($7)) + 8|0); $9 = (($8) + ($6<<4)|0); HEAP32[$yymsp>>2] = $9; - ;HEAP32[$yygotominor>>2]=HEAP32[5060>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[5060+4>>2]|0;HEAP32[$yygotominor+8>>2]=HEAP32[5060+8>>2]|0; $10 = HEAP32[$1>>2]|0; - L1: do { - switch ($10|0) { - case 6: { - $11 = HEAP32[$pParse>>2]|0; - $12 = ((($11)) + 453|0); - HEAP8[$12>>0] = 1; - break; - } - case 7: { - $13 = HEAP32[$pParse>>2]|0; - $14 = ((($13)) + 453|0); - HEAP8[$14>>0] = 2; - break; - } - case 8: { - $15 = HEAP32[$pParse>>2]|0; - _sqlite3FinishCoding($15); - break; - } - case 9: { - $16 = HEAP32[$pParse>>2]|0; - $17 = HEAP32[$yymsp>>2]|0; - $18 = ((($17)) + -16|0); - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - _sqlite3BeginTransaction($16,$20); - break; + $11 = (27094 + ($10<<1)|0); + $12 = ((($11)) + 1|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(0); + if ($15) { + $16 = HEAP32[$0>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>=(99); + if ($18) { + $19 = HEAP32[$0>>2]|0; + _yyStackOverflow($19); + STACKTOP = sp;return; } - case 13: { - HEAP32[$yygotominor>>2] = 7; + } + $20 = HEAP32[$1>>2]|0; + L6: do { + switch ($20|0) { + case 0: { + $21 = HEAP32[$pParse>>2]|0; + $22 = ((($21)) + 453|0); + HEAP8[$22>>0] = 1; break; } - case 117: case 115: case 16: case 15: case 14: { - $21 = HEAP32[$yymsp>>2]|0; - $22 = ((($21)) + 2|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - HEAP32[$yygotominor>>2] = $24; + case 1: { + $23 = HEAP32[$pParse>>2]|0; + $24 = ((($23)) + 453|0); + HEAP8[$24>>0] = 2; break; } - case 18: case 17: { + case 2: { $25 = HEAP32[$pParse>>2]|0; - _sqlite3CommitTransaction($25); + _sqlite3FinishCoding($25); break; } - case 19: { + case 3: { $26 = HEAP32[$pParse>>2]|0; - _sqlite3RollbackTransaction($26); - break; - } - case 22: { - $27 = HEAP32[$pParse>>2]|0; - $28 = HEAP32[$yymsp>>2]|0; + $27 = HEAP32[$yymsp>>2]|0; + $28 = ((($27)) + -16|0); $29 = ((($28)) + 4|0); - _sqlite3Savepoint($27,0,$29); + $30 = HEAP32[$29>>2]|0; + _sqlite3BeginTransaction($26,$30); break; } - case 23: { - $30 = HEAP32[$pParse>>2]|0; + case 4: { $31 = HEAP32[$yymsp>>2]|0; - $32 = ((($31)) + 4|0); - _sqlite3Savepoint($30,1,$32); + $32 = ((($31)) + 16|0); + $33 = ((($32)) + 4|0); + HEAP32[$33>>2] = 7; break; } - case 24: { - $33 = HEAP32[$pParse>>2]|0; + case 7: case 6: case 5: { $34 = HEAP32[$yymsp>>2]|0; - $35 = ((($34)) + 4|0); - _sqlite3Savepoint($33,2,$35); + $35 = ((($34)) + 2|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = HEAP32[$yymsp>>2]|0; + $39 = ((($38)) + 4|0); + HEAP32[$39>>2] = $37; break; } - case 26: { - $36 = HEAP32[$pParse>>2]|0; - $37 = HEAP32[$yymsp>>2]|0; - $38 = ((($37)) + -16|0); - $39 = ((($38)) + 4|0); - $40 = HEAP32[$yymsp>>2]|0; - $41 = ((($40)) + 4|0); - $42 = HEAP32[$yymsp>>2]|0; - $43 = ((($42)) + -64|0); - $44 = ((($43)) + 4|0); - $45 = HEAP32[$44>>2]|0; - $46 = HEAP32[$yymsp>>2]|0; - $47 = ((($46)) + -32|0); - $48 = ((($47)) + 4|0); - $49 = HEAP32[$48>>2]|0; - _sqlite3StartTable($36,$39,$41,$45,0,0,$49); + case 9: case 8: { + $40 = HEAP32[$pParse>>2]|0; + _sqlite3CommitTransaction($40); break; } - case 27: { - $50 = HEAP32[$pParse>>2]|0; - _disableLookaside($50); - $51 = HEAP32[$yymsp>>2]|0; - $52 = ((($51)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$52>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$52+4>>2]|0; + case 10: { + $41 = HEAP32[$pParse>>2]|0; + _sqlite3RollbackTransaction($41); + break; + } + case 11: { + $42 = HEAP32[$pParse>>2]|0; + $43 = HEAP32[$yymsp>>2]|0; + $44 = ((($43)) + 4|0); + _sqlite3Savepoint($42,0,$44); break; } - case 247: case 222: case 219: case 124: case 108: case 97: case 85: case 83: case 81: case 68: case 34: case 31: case 28: { - HEAP32[$yygotominor>>2] = 0; + case 12: { + $45 = HEAP32[$pParse>>2]|0; + $46 = HEAP32[$yymsp>>2]|0; + $47 = ((($46)) + 4|0); + _sqlite3Savepoint($45,1,$47); break; } - case 248: case 223: case 220: case 107: case 84: case 69: case 30: case 29: { - HEAP32[$yygotominor>>2] = 1; + case 13: { + $48 = HEAP32[$pParse>>2]|0; + $49 = HEAP32[$yymsp>>2]|0; + $50 = ((($49)) + 4|0); + _sqlite3Savepoint($48,2,$50); break; } - case 32: { - $53 = HEAP32[$pParse>>2]|0; - $54 = HEAP32[$yymsp>>2]|0; - $55 = ((($54)) + -32|0); + case 14: { + $51 = HEAP32[$pParse>>2]|0; + $52 = HEAP32[$yymsp>>2]|0; + $53 = ((($52)) + -16|0); + $54 = ((($53)) + 4|0); + $55 = HEAP32[$yymsp>>2]|0; $56 = ((($55)) + 4|0); $57 = HEAP32[$yymsp>>2]|0; - $58 = ((($57)) + -16|0); + $58 = ((($57)) + -64|0); $59 = ((($58)) + 4|0); - $60 = HEAP32[$yymsp>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = $62&255; - _sqlite3EndTable($53,$56,$59,$63,0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$yymsp>>2]|0; + $62 = ((($61)) + -32|0); + $63 = ((($62)) + 4|0); + $64 = HEAP32[$63>>2]|0; + _sqlite3StartTable($51,$54,$56,$60,0,0,$64); break; } - case 33: { - $64 = HEAP32[$pParse>>2]|0; - $65 = HEAP32[$yymsp>>2]|0; - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - _sqlite3EndTable($64,0,0,0,$67); - $68 = HEAP32[$pParse>>2]|0; - $69 = HEAP32[$68>>2]|0; - $70 = HEAP32[$yymsp>>2]|0; + case 15: { + $65 = HEAP32[$pParse>>2]|0; + _disableLookaside($65); + break; + } + case 209: case 90: case 76: case 67: case 57: case 42: case 22: case 19: case 16: { + $66 = HEAP32[$yymsp>>2]|0; + $67 = ((($66)) + 16|0); + $68 = ((($67)) + 4|0); + HEAP32[$68>>2] = 0; + break; + } + case 17: { + $69 = HEAP32[$yymsp>>2]|0; + $70 = ((($69)) + -32|0); $71 = ((($70)) + 4|0); - $72 = HEAP32[$71>>2]|0; - _sqlite3SelectDelete($69,$72); + HEAP32[$71>>2] = 1; break; } - case 35: { - $73 = HEAP32[$yymsp>>2]|0; - $74 = ((($73)) + 4|0); - $75 = ((($74)) + 4|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)==(5); - if ($77) { - $78 = HEAP32[$yymsp>>2]|0; - $79 = ((($78)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = (_sqlite3_strnicmp($80,25592,5)|0); - $82 = ($81|0)==(0); - if ($82) { - HEAP32[$yygotominor>>2] = 96; - break L1; - } - } - HEAP32[$yygotominor>>2] = 0; - $83 = HEAP32[$pParse>>2]|0; - $84 = HEAP32[$yymsp>>2]|0; - $85 = ((($84)) + 4|0); - $86 = ((($85)) + 4|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$yymsp>>2]|0; - $89 = ((($88)) + 4|0); - $90 = HEAP32[$89>>2]|0; - HEAP32[$vararg_buffer>>2] = $87; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $90; - _sqlite3ErrorMsg($83,27365,$vararg_buffer); + case 43: case 18: { + $72 = HEAP32[$yymsp>>2]|0; + $73 = ((($72)) + 4|0); + HEAP32[$73>>2] = 1; break; } - case 38: { + case 20: { + $74 = HEAP32[$pParse>>2]|0; + $75 = HEAP32[$yymsp>>2]|0; + $76 = ((($75)) + -32|0); + $77 = ((($76)) + 4|0); + $78 = HEAP32[$yymsp>>2]|0; + $79 = ((($78)) + -16|0); + $80 = ((($79)) + 4|0); + $81 = HEAP32[$yymsp>>2]|0; + $82 = ((($81)) + 4|0); + $83 = HEAP32[$82>>2]|0; + $84 = $83&255; + _sqlite3EndTable($74,$77,$80,$84,0); + break; + } + case 21: { + $85 = HEAP32[$pParse>>2]|0; + $86 = HEAP32[$yymsp>>2]|0; + $87 = ((($86)) + 4|0); + $88 = HEAP32[$87>>2]|0; + _sqlite3EndTable($85,0,0,0,$88); + $89 = HEAP32[$pParse>>2]|0; + $90 = HEAP32[$89>>2]|0; $91 = HEAP32[$yymsp>>2]|0; - $92 = ((($91)) + -32|0); - $93 = ((($92)) + 4|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$yygotominor>>2] = $94; - $95 = HEAP32[$pParse>>2]|0; - $96 = ((($95)) + 508|0); - $97 = HEAP32[$96>>2]|0; - $98 = HEAP32[$yymsp>>2]|0; - $99 = ((($98)) + -32|0); - $100 = ((($99)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $97; - $103 = $101; - $104 = (($102) - ($103))|0; - $105 = HEAP32[$pParse>>2]|0; - $106 = ((($105)) + 508|0); - $107 = ((($106)) + 4|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($104) + ($108))|0; - $110 = ((($yygotominor)) + 4|0); - HEAP32[$110>>2] = $109; + $92 = ((($91)) + 4|0); + $93 = HEAP32[$92>>2]|0; + _sqlite3SelectDelete($90,$93); break; } - case 39: { - $111 = HEAP32[$pParse>>2]|0; - $112 = HEAP32[$yymsp>>2]|0; + case 23: { + $94 = HEAP32[$yymsp>>2]|0; + $95 = ((($94)) + 4|0); + $96 = ((($95)) + 4|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(5); + if ($98) { + $99 = HEAP32[$yymsp>>2]|0; + $100 = ((($99)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = (_sqlite3_strnicmp($101,25353,5)|0); + $103 = ($102|0)==(0); + if ($103) { + $104 = HEAP32[$yymsp>>2]|0; + $105 = ((($104)) + -16|0); + $106 = ((($105)) + 4|0); + HEAP32[$106>>2] = 96; + break L6; + } + } + $107 = HEAP32[$yymsp>>2]|0; + $108 = ((($107)) + -16|0); + $109 = ((($108)) + 4|0); + HEAP32[$109>>2] = 0; + $110 = HEAP32[$pParse>>2]|0; + $111 = HEAP32[$yymsp>>2]|0; + $112 = ((($111)) + 4|0); $113 = ((($112)) + 4|0); - _sqlite3AddColumn($111,$113); - $114 = HEAP32[$yymsp>>2]|0; - $115 = ((($114)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$115>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$115+4>>2]|0; - $116 = HEAP32[$pParse>>2]|0; - $117 = ((($116)) + 328|0); - $118 = ((($117)) + 4|0); - HEAP32[$118>>2] = 0; + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$yymsp>>2]|0; + $116 = ((($115)) + 4|0); + $117 = HEAP32[$116>>2]|0; + HEAP32[$vararg_buffer>>2] = $114; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $117; + _sqlite3ErrorMsg($110,27746,$vararg_buffer); break; } - case 280: case 264: case 263: case 262: case 261: case 260: case 259: case 258: case 257: case 151: case 142: case 131: case 130: case 48: case 45: case 42: case 41: case 40: { + case 24: { + $118 = HEAP32[$pParse>>2]|0; $119 = HEAP32[$yymsp>>2]|0; - $120 = ((($119)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$120>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$120+4>>2]|0; - break; - } - case 44: { - $121 = HEAP32[$pParse>>2]|0; + $120 = ((($119)) + -16|0); + $121 = ((($120)) + 4|0); $122 = HEAP32[$yymsp>>2]|0; $123 = ((($122)) + 4|0); - _sqlite3AddColumnType($121,$123); + _sqlite3AddColumn($118,$121,$123); break; } - case 46: { + case 96: case 60: case 25: { $124 = HEAP32[$yymsp>>2]|0; - $125 = ((($124)) + -48|0); + $125 = ((($124)) + 16|0); $126 = ((($125)) + 4|0); - $127 = HEAP32[$126>>2]|0; - HEAP32[$yygotominor>>2] = $127; + $127 = ((($126)) + 4|0); + HEAP32[$127>>2] = 0; $128 = HEAP32[$yymsp>>2]|0; - $129 = ((($128)) + 4|0); + $129 = ((($128)) + 16|0); $130 = ((($129)) + 4|0); - $131 = HEAP32[$130>>2]|0; - $132 = HEAP32[$yymsp>>2]|0; - $133 = ((($132)) + 4|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + ($131)|0); - $136 = HEAP32[$yymsp>>2]|0; - $137 = ((($136)) + -48|0); - $138 = ((($137)) + 4|0); - $139 = HEAP32[$138>>2]|0; - $140 = $135; - $141 = $139; - $142 = (($140) - ($141))|0; - $143 = ((($yygotominor)) + 4|0); - HEAP32[$143>>2] = $142; + HEAP32[$130>>2] = 0; break; } - case 47: { - $144 = HEAP32[$yymsp>>2]|0; - $145 = ((($144)) + -80|0); - $146 = ((($145)) + 4|0); - $147 = HEAP32[$146>>2]|0; - HEAP32[$yygotominor>>2] = $147; - $148 = HEAP32[$yymsp>>2]|0; + case 26: { + $131 = HEAP32[$yymsp>>2]|0; + $132 = ((($131)) + 4|0); + $133 = ((($132)) + 4|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$yymsp>>2]|0; + $136 = ((($135)) + 4|0); + $137 = HEAP32[$136>>2]|0; + $138 = (($137) + ($134)|0); + $139 = HEAP32[$yymsp>>2]|0; + $140 = ((($139)) + -48|0); + $141 = ((($140)) + 4|0); + $142 = HEAP32[$141>>2]|0; + $143 = $138; + $144 = $142; + $145 = (($143) - ($144))|0; + $146 = HEAP32[$yymsp>>2]|0; + $147 = ((($146)) + -48|0); + $148 = ((($147)) + 4|0); $149 = ((($148)) + 4|0); - $150 = ((($149)) + 4|0); - $151 = HEAP32[$150>>2]|0; - $152 = HEAP32[$yymsp>>2]|0; - $153 = ((($152)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = (($154) + ($151)|0); - $156 = HEAP32[$yymsp>>2]|0; - $157 = ((($156)) + -80|0); - $158 = ((($157)) + 4|0); - $159 = HEAP32[$158>>2]|0; - $160 = $155; - $161 = $159; - $162 = (($160) - ($161))|0; - $163 = ((($yygotominor)) + 4|0); - HEAP32[$163>>2] = $162; + HEAP32[$149>>2] = $145; break; } - case 49: { - $164 = HEAP32[$yymsp>>2]|0; - $165 = ((($164)) + -16|0); - $166 = ((($165)) + 4|0); - $167 = HEAP32[$166>>2]|0; - HEAP32[$yygotominor>>2] = $167; - $168 = HEAP32[$yymsp>>2]|0; - $169 = ((($168)) + 4|0); + case 27: { + $150 = HEAP32[$yymsp>>2]|0; + $151 = ((($150)) + 4|0); + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = HEAP32[$yymsp>>2]|0; + $155 = ((($154)) + 4|0); + $156 = HEAP32[$155>>2]|0; + $157 = (($156) + ($153)|0); + $158 = HEAP32[$yymsp>>2]|0; + $159 = ((($158)) + -80|0); + $160 = ((($159)) + 4|0); + $161 = HEAP32[$160>>2]|0; + $162 = $157; + $163 = $161; + $164 = (($162) - ($163))|0; + $165 = HEAP32[$yymsp>>2]|0; + $166 = ((($165)) + -80|0); + $167 = ((($166)) + 4|0); + $168 = ((($167)) + 4|0); + HEAP32[$168>>2] = $164; + break; + } + case 28: { + $169 = HEAP32[$yymsp>>2]|0; $170 = ((($169)) + 4|0); - $171 = HEAP32[$170>>2]|0; - $172 = HEAP32[$yymsp>>2]|0; - $173 = ((($172)) + 4|0); - $174 = HEAP32[$173>>2]|0; - $175 = HEAP32[$yymsp>>2]|0; - $176 = ((($175)) + -16|0); - $177 = ((($176)) + 4|0); - $178 = HEAP32[$177>>2]|0; - $179 = $174; - $180 = $178; - $181 = (($179) - ($180))|0; - $182 = (($171) + ($181))|0; - $183 = ((($yygotominor)) + 4|0); - HEAP32[$183>>2] = $182; - break; - } - case 92: case 54: { - $184 = HEAP32[$pParse>>2]|0; - $185 = ((($184)) + 328|0); - $186 = HEAP32[$yymsp>>2]|0; + $171 = ((($170)) + 4|0); + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$yymsp>>2]|0; + $174 = ((($173)) + 4|0); + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$yymsp>>2]|0; + $177 = ((($176)) + -16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = $175; + $181 = $179; + $182 = (($180) - ($181))|0; + $183 = (($172) + ($182))|0; + $184 = HEAP32[$yymsp>>2]|0; + $185 = ((($184)) + -16|0); + $186 = ((($185)) + 4|0); $187 = ((($186)) + 4|0); - ;HEAP32[$185>>2]=HEAP32[$187>>2]|0;HEAP32[$185+4>>2]=HEAP32[$187+4>>2]|0; + HEAP32[$187>>2] = $183; break; } - case 57: case 55: { + case 62: case 29: { $188 = HEAP32[$pParse>>2]|0; - $189 = HEAP32[$yymsp>>2]|0; - $190 = ((($189)) + 4|0); - _sqlite3AddDefaultValue($188,$190); + $189 = ((($188)) + 328|0); + $190 = HEAP32[$yymsp>>2]|0; + $191 = ((($190)) + 4|0); + ;HEAP32[$189>>2]=HEAP32[$191>>2]|0;HEAP32[$189+4>>2]=HEAP32[$191+4>>2]|0; break; } - case 56: { - $191 = HEAP32[$pParse>>2]|0; - $192 = HEAP32[$yymsp>>2]|0; - $193 = ((($192)) + -16|0); + case 32: case 30: { + $192 = HEAP32[$pParse>>2]|0; + $193 = HEAP32[$yymsp>>2]|0; $194 = ((($193)) + 4|0); - _sqlite3AddDefaultValue($191,$194); + _sqlite3AddDefaultValue($192,$194); break; } - case 58: { + case 31: { $195 = HEAP32[$pParse>>2]|0; $196 = HEAP32[$yymsp>>2]|0; - $197 = ((($196)) + 4|0); - $198 = HEAP32[$197>>2]|0; - $199 = (_sqlite3PExpr($195,155,$198,0,0)|0); - HEAP32[$v>>2] = $199; - $200 = HEAP32[$yymsp>>2]|0; - $201 = ((($200)) + -16|0); - $202 = ((($201)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($v)) + 4|0); - HEAP32[$204>>2] = $203; - $205 = HEAP32[$yymsp>>2]|0; - $206 = ((($205)) + 4|0); - $207 = ((($206)) + 8|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($v)) + 8|0); - HEAP32[$209>>2] = $208; - $210 = HEAP32[$pParse>>2]|0; - _sqlite3AddDefaultValue($210,$v); + $197 = ((($196)) + -16|0); + $198 = ((($197)) + 4|0); + _sqlite3AddDefaultValue($195,$198); break; } - case 59: { - $211 = HEAP32[$pParse>>2]|0; - $212 = HEAP32[$yymsp>>2]|0; - $213 = ((($212)) + 4|0); - _spanExpr($v1,$211,97,$213); + case 33: { + $199 = HEAP32[$pParse>>2]|0; + $200 = HEAP32[$yymsp>>2]|0; + $201 = ((($200)) + 4|0); + $202 = HEAP32[$201>>2]|0; + $203 = (_sqlite3PExpr($199,155,$202,0,0)|0); + HEAP32[$v>>2] = $203; + $204 = HEAP32[$yymsp>>2]|0; + $205 = ((($204)) + -16|0); + $206 = ((($205)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ((($v)) + 4|0); + HEAP32[$208>>2] = $207; + $209 = HEAP32[$yymsp>>2]|0; + $210 = ((($209)) + 4|0); + $211 = ((($210)) + 8|0); + $212 = HEAP32[$211>>2]|0; + $213 = ((($v)) + 8|0); + HEAP32[$213>>2] = $212; $214 = HEAP32[$pParse>>2]|0; - _sqlite3AddDefaultValue($214,$v1); + _sqlite3AddDefaultValue($214,$v); break; } - case 61: { + case 34: { $215 = HEAP32[$pParse>>2]|0; $216 = HEAP32[$yymsp>>2]|0; $217 = ((($216)) + 4|0); - $218 = HEAP32[$217>>2]|0; - _sqlite3AddNotNull($215,$218); + ;HEAP32[$t$byval_copy>>2]=HEAP32[$217>>2]|0;HEAP32[$t$byval_copy+4>>2]=HEAP32[$217+4>>2]|0; + _spanExpr($v1,$215,97,$t$byval_copy); + $218 = HEAP32[$pParse>>2]|0; + _sqlite3AddDefaultValue($218,$v1); break; } - case 62: { + case 35: { $219 = HEAP32[$pParse>>2]|0; $220 = HEAP32[$yymsp>>2]|0; - $221 = ((($220)) + -16|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; + $221 = ((($220)) + 4|0); + $222 = HEAP32[$221>>2]|0; + _sqlite3AddNotNull($219,$222); + break; + } + case 36: { + $223 = HEAP32[$pParse>>2]|0; $224 = HEAP32[$yymsp>>2]|0; - $225 = ((($224)) + 4|0); - $226 = HEAP32[$225>>2]|0; - $227 = HEAP32[$yymsp>>2]|0; - $228 = ((($227)) + -32|0); + $225 = ((($224)) + -16|0); + $226 = ((($225)) + 4|0); + $227 = HEAP32[$226>>2]|0; + $228 = HEAP32[$yymsp>>2]|0; $229 = ((($228)) + 4|0); $230 = HEAP32[$229>>2]|0; - _sqlite3AddPrimaryKey($219,0,$223,$226,$230); - break; - } - case 63: { - $231 = HEAP32[$pParse>>2]|0; - $232 = HEAP32[$yymsp>>2]|0; + $231 = HEAP32[$yymsp>>2]|0; + $232 = ((($231)) + -32|0); $233 = ((($232)) + 4|0); $234 = HEAP32[$233>>2]|0; - (_sqlite3CreateIndex($231,0,0,0,0,$234,0,0,0,0)|0); + _sqlite3AddPrimaryKey($223,0,$227,$230,$234); break; } - case 64: { + case 37: { $235 = HEAP32[$pParse>>2]|0; $236 = HEAP32[$yymsp>>2]|0; - $237 = ((($236)) + -16|0); - $238 = ((($237)) + 4|0); - $239 = HEAP32[$238>>2]|0; - _sqlite3AddCheckConstraint($235,$239); + $237 = ((($236)) + 4|0); + $238 = HEAP32[$237>>2]|0; + (_sqlite3CreateIndex($235,0,0,0,0,$238,0,0,0,0)|0); break; } - case 65: { - $240 = HEAP32[$pParse>>2]|0; - $241 = HEAP32[$yymsp>>2]|0; - $242 = ((($241)) + -32|0); - $243 = ((($242)) + 4|0); - $244 = HEAP32[$yymsp>>2]|0; - $245 = ((($244)) + -16|0); - $246 = ((($245)) + 4|0); - $247 = HEAP32[$246>>2]|0; - $248 = HEAP32[$yymsp>>2]|0; - $249 = ((($248)) + 4|0); - $250 = HEAP32[$249>>2]|0; - _sqlite3CreateForeignKey($240,0,$243,$247,$250); + case 38: { + $239 = HEAP32[$pParse>>2]|0; + $240 = HEAP32[$yymsp>>2]|0; + $241 = ((($240)) + -16|0); + $242 = ((($241)) + 4|0); + $243 = HEAP32[$242>>2]|0; + _sqlite3AddCheckConstraint($239,$243); break; } - case 66: { - $251 = HEAP32[$pParse>>2]|0; + case 39: { + $244 = HEAP32[$pParse>>2]|0; + $245 = HEAP32[$yymsp>>2]|0; + $246 = ((($245)) + -32|0); + $247 = ((($246)) + 4|0); + $248 = HEAP32[$yymsp>>2]|0; + $249 = ((($248)) + -16|0); + $250 = ((($249)) + 4|0); + $251 = HEAP32[$250>>2]|0; $252 = HEAP32[$yymsp>>2]|0; $253 = ((($252)) + 4|0); $254 = HEAP32[$253>>2]|0; - _sqlite3DeferForeignKey($251,$254); + _sqlite3CreateForeignKey($244,0,$247,$251,$254); break; } - case 67: { + case 40: { $255 = HEAP32[$pParse>>2]|0; $256 = HEAP32[$yymsp>>2]|0; $257 = ((($256)) + 4|0); - _sqlite3AddCollateType($255,$257); + $258 = HEAP32[$257>>2]|0; + _sqlite3DeferForeignKey($255,$258); break; } - case 70: { - HEAP32[$yygotominor>>2] = 0; + case 41: { + $259 = HEAP32[$pParse>>2]|0; + $260 = HEAP32[$yymsp>>2]|0; + $261 = ((($260)) + 4|0); + _sqlite3AddCollateType($259,$261); break; } - case 71: { - $258 = HEAP32[$yymsp>>2]|0; - $259 = ((($258)) + -16|0); - $260 = ((($259)) + 4|0); - $261 = HEAP32[$260>>2]|0; + case 44: { $262 = HEAP32[$yymsp>>2]|0; - $263 = ((($262)) + 4|0); + $263 = ((($262)) + 16|0); $264 = ((($263)) + 4|0); - $265 = HEAP32[$264>>2]|0; - $266 = $265 ^ -1; - $267 = $261 & $266; - $268 = HEAP32[$yymsp>>2]|0; - $269 = ((($268)) + 4|0); - $270 = HEAP32[$269>>2]|0; - $271 = $267 | $270; - HEAP32[$yygotominor>>2] = $271; + HEAP32[$264>>2] = 0; break; } - case 73: case 72: { - HEAP32[$yygotominor>>2] = 0; - $272 = ((($yygotominor)) + 4|0); - HEAP32[$272>>2] = 0; + case 45: { + $265 = HEAP32[$yymsp>>2]|0; + $266 = ((($265)) + -16|0); + $267 = ((($266)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = HEAP32[$yymsp>>2]|0; + $270 = ((($269)) + 4|0); + $271 = ((($270)) + 4|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 ^ -1; + $274 = $268 & $273; + $275 = HEAP32[$yymsp>>2]|0; + $276 = ((($275)) + 4|0); + $277 = HEAP32[$276>>2]|0; + $278 = $274 | $277; + $279 = HEAP32[$yymsp>>2]|0; + $280 = ((($279)) + -16|0); + $281 = ((($280)) + 4|0); + HEAP32[$281>>2] = $278; break; } - case 74: { - $273 = HEAP32[$yymsp>>2]|0; - $274 = ((($273)) + 4|0); - $275 = HEAP32[$274>>2]|0; - HEAP32[$yygotominor>>2] = $275; - $276 = ((($yygotominor)) + 4|0); - HEAP32[$276>>2] = 255; + case 46: { + $282 = HEAP32[$yymsp>>2]|0; + $283 = ((($282)) + -16|0); + $284 = ((($283)) + 4|0); + HEAP32[$284>>2] = 0; + $285 = HEAP32[$yymsp>>2]|0; + $286 = ((($285)) + -16|0); + $287 = ((($286)) + 4|0); + $288 = ((($287)) + 4|0); + HEAP32[$288>>2] = 0; break; } - case 75: { - $277 = HEAP32[$yymsp>>2]|0; - $278 = ((($277)) + 4|0); - $279 = HEAP32[$278>>2]|0; - $280 = $279 << 8; - HEAP32[$yygotominor>>2] = $280; - $281 = ((($yygotominor)) + 4|0); - HEAP32[$281>>2] = 65280; + case 47: { + $289 = HEAP32[$yymsp>>2]|0; + $290 = ((($289)) + -32|0); + $291 = ((($290)) + 4|0); + HEAP32[$291>>2] = 0; + $292 = HEAP32[$yymsp>>2]|0; + $293 = ((($292)) + -32|0); + $294 = ((($293)) + 4|0); + $295 = ((($294)) + 4|0); + HEAP32[$295>>2] = 0; break; } - case 76: { - HEAP32[$yygotominor>>2] = 7; + case 48: { + $296 = HEAP32[$yymsp>>2]|0; + $297 = ((($296)) + 4|0); + $298 = HEAP32[$297>>2]|0; + $299 = HEAP32[$yymsp>>2]|0; + $300 = ((($299)) + -32|0); + $301 = ((($300)) + 4|0); + HEAP32[$301>>2] = $298; + $302 = HEAP32[$yymsp>>2]|0; + $303 = ((($302)) + -32|0); + $304 = ((($303)) + 4|0); + $305 = ((($304)) + 4|0); + HEAP32[$305>>2] = 255; break; } - case 77: { - HEAP32[$yygotominor>>2] = 8; + case 49: { + $306 = HEAP32[$yymsp>>2]|0; + $307 = ((($306)) + 4|0); + $308 = HEAP32[$307>>2]|0; + $309 = $308 << 8; + $310 = HEAP32[$yymsp>>2]|0; + $311 = ((($310)) + -32|0); + $312 = ((($311)) + 4|0); + HEAP32[$312>>2] = $309; + $313 = HEAP32[$yymsp>>2]|0; + $314 = ((($313)) + -32|0); + $315 = ((($314)) + 4|0); + $316 = ((($315)) + 4|0); + HEAP32[$316>>2] = 65280; break; } - case 78: { - HEAP32[$yygotominor>>2] = 9; + case 50: { + $317 = HEAP32[$yymsp>>2]|0; + $318 = ((($317)) + -16|0); + $319 = ((($318)) + 4|0); + HEAP32[$319>>2] = 7; break; } - case 79: { - HEAP32[$yygotominor>>2] = 6; + case 51: { + $320 = HEAP32[$yymsp>>2]|0; + $321 = ((($320)) + -16|0); + $322 = ((($321)) + 4|0); + HEAP32[$322>>2] = 8; break; } - case 80: { - HEAP32[$yygotominor>>2] = 0; + case 52: { + $323 = HEAP32[$yymsp>>2]|0; + $324 = ((($323)) + 4|0); + HEAP32[$324>>2] = 9; break; } - case 178: case 103: case 102: case 100: case 98: case 82: { - $282 = HEAP32[$yymsp>>2]|0; - $283 = ((($282)) + 4|0); - $284 = HEAP32[$283>>2]|0; - HEAP32[$yygotominor>>2] = $284; + case 53: { + $325 = HEAP32[$yymsp>>2]|0; + $326 = ((($325)) + 4|0); + HEAP32[$326>>2] = 6; break; } - case 86: { - $285 = ((($yygotominor)) + 4|0); - HEAP32[$285>>2] = 0; - HEAP32[$yygotominor>>2] = 0; + case 54: { + $327 = HEAP32[$yymsp>>2]|0; + $328 = ((($327)) + -16|0); + $329 = ((($328)) + 4|0); + HEAP32[$329>>2] = 0; break; } - case 87: { - $286 = HEAP32[$yymsp>>2]|0; - $287 = ((($286)) + -16|0); - $288 = ((($287)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$288>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$288+4>>2]|0; + case 55: { + $330 = HEAP32[$yymsp>>2]|0; + $331 = ((($330)) + -32|0); + $332 = ((($331)) + 4|0); + HEAP32[$332>>2] = 0; break; } - case 90: { - $289 = HEAP32[$pParse>>2]|0; - $290 = ((($289)) + 328|0); - $291 = ((($290)) + 4|0); - HEAP32[$291>>2] = 0; + case 142: case 71: case 56: { + $333 = HEAP32[$yymsp>>2]|0; + $334 = ((($333)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = HEAP32[$yymsp>>2]|0; + $337 = ((($336)) + -16|0); + $338 = ((($337)) + 4|0); + HEAP32[$338>>2] = $335; break; } - case 93: { - $292 = HEAP32[$pParse>>2]|0; - $293 = HEAP32[$yymsp>>2]|0; - $294 = ((($293)) + -48|0); - $295 = ((($294)) + 4|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[$yymsp>>2]|0; - $298 = ((($297)) + 4|0); - $299 = HEAP32[$298>>2]|0; - $300 = HEAP32[$yymsp>>2]|0; - $301 = ((($300)) + -32|0); - $302 = ((($301)) + 4|0); - $303 = HEAP32[$302>>2]|0; - _sqlite3AddPrimaryKey($292,$296,$299,$303,0); + case 210: case 186: case 183: case 75: case 58: { + $339 = HEAP32[$yymsp>>2]|0; + $340 = ((($339)) + -16|0); + $341 = ((($340)) + 4|0); + HEAP32[$341>>2] = 1; break; } - case 94: { - $304 = HEAP32[$pParse>>2]|0; - $305 = HEAP32[$yymsp>>2]|0; - $306 = ((($305)) + -32|0); - $307 = ((($306)) + 4|0); - $308 = HEAP32[$307>>2]|0; - $309 = HEAP32[$yymsp>>2]|0; - $310 = ((($309)) + 4|0); - $311 = HEAP32[$310>>2]|0; - (_sqlite3CreateIndex($304,0,0,0,$308,$311,0,0,0,0)|0); + case 59: { + $342 = HEAP32[$yymsp>>2]|0; + $343 = ((($342)) + -16|0); + $344 = ((($343)) + 4|0); + HEAP32[$344>>2] = 0; break; } - case 95: { - $312 = HEAP32[$pParse>>2]|0; - $313 = HEAP32[$yymsp>>2]|0; - $314 = ((($313)) + -32|0); - $315 = ((($314)) + 4|0); - $316 = HEAP32[$315>>2]|0; - _sqlite3AddCheckConstraint($312,$316); + case 61: { + $345 = HEAP32[$pParse>>2]|0; + $346 = ((($345)) + 328|0); + $347 = ((($346)) + 4|0); + HEAP32[$347>>2] = 0; break; } - case 96: { - $317 = HEAP32[$pParse>>2]|0; - $318 = HEAP32[$yymsp>>2]|0; - $319 = ((($318)) + -96|0); - $320 = ((($319)) + 4|0); - $321 = HEAP32[$320>>2]|0; - $322 = HEAP32[$yymsp>>2]|0; - $323 = ((($322)) + -48|0); - $324 = ((($323)) + 4|0); - $325 = HEAP32[$yymsp>>2]|0; - $326 = ((($325)) + -32|0); - $327 = ((($326)) + 4|0); - $328 = HEAP32[$327>>2]|0; - $329 = HEAP32[$yymsp>>2]|0; - $330 = ((($329)) + -16|0); - $331 = ((($330)) + 4|0); - $332 = HEAP32[$331>>2]|0; - _sqlite3CreateForeignKey($317,$321,$324,$328,$332); - $333 = HEAP32[$pParse>>2]|0; - $334 = HEAP32[$yymsp>>2]|0; - $335 = ((($334)) + 4|0); - $336 = HEAP32[$335>>2]|0; - _sqlite3DeferForeignKey($333,$336); + case 63: { + $348 = HEAP32[$pParse>>2]|0; + $349 = HEAP32[$yymsp>>2]|0; + $350 = ((($349)) + -48|0); + $351 = ((($350)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = HEAP32[$yymsp>>2]|0; + $354 = ((($353)) + 4|0); + $355 = HEAP32[$354>>2]|0; + $356 = HEAP32[$yymsp>>2]|0; + $357 = ((($356)) + -32|0); + $358 = ((($357)) + 4|0); + $359 = HEAP32[$358>>2]|0; + _sqlite3AddPrimaryKey($348,$352,$355,$359,0); break; } - case 101: case 99: { - HEAP32[$yygotominor>>2] = 10; + case 64: { + $360 = HEAP32[$pParse>>2]|0; + $361 = HEAP32[$yymsp>>2]|0; + $362 = ((($361)) + -32|0); + $363 = ((($362)) + 4|0); + $364 = HEAP32[$363>>2]|0; + $365 = HEAP32[$yymsp>>2]|0; + $366 = ((($365)) + 4|0); + $367 = HEAP32[$366>>2]|0; + (_sqlite3CreateIndex($360,0,0,0,$364,$367,0,0,0,0)|0); break; } - case 104: { - HEAP32[$yygotominor>>2] = 4; + case 65: { + $368 = HEAP32[$pParse>>2]|0; + $369 = HEAP32[$yymsp>>2]|0; + $370 = ((($369)) + -32|0); + $371 = ((($370)) + 4|0); + $372 = HEAP32[$371>>2]|0; + _sqlite3AddCheckConstraint($368,$372); break; } - case 179: case 105: { - HEAP32[$yygotominor>>2] = 5; + case 66: { + $373 = HEAP32[$pParse>>2]|0; + $374 = HEAP32[$yymsp>>2]|0; + $375 = ((($374)) + -96|0); + $376 = ((($375)) + 4|0); + $377 = HEAP32[$376>>2]|0; + $378 = HEAP32[$yymsp>>2]|0; + $379 = ((($378)) + -48|0); + $380 = ((($379)) + 4|0); + $381 = HEAP32[$yymsp>>2]|0; + $382 = ((($381)) + -32|0); + $383 = ((($382)) + 4|0); + $384 = HEAP32[$383>>2]|0; + $385 = HEAP32[$yymsp>>2]|0; + $386 = ((($385)) + -16|0); + $387 = ((($386)) + 4|0); + $388 = HEAP32[$387>>2]|0; + _sqlite3CreateForeignKey($373,$377,$380,$384,$388); + $389 = HEAP32[$pParse>>2]|0; + $390 = HEAP32[$yymsp>>2]|0; + $391 = ((($390)) + 4|0); + $392 = HEAP32[$391>>2]|0; + _sqlite3DeferForeignKey($389,$392); break; } - case 106: { - $337 = HEAP32[$pParse>>2]|0; - $338 = HEAP32[$yymsp>>2]|0; - $339 = ((($338)) + 4|0); - $340 = HEAP32[$339>>2]|0; - $341 = HEAP32[$yymsp>>2]|0; - $342 = ((($341)) + -16|0); - $343 = ((($342)) + 4|0); - $344 = HEAP32[$343>>2]|0; - _sqlite3DropTable($337,$340,0,$344); + case 70: case 68: { + $393 = HEAP32[$yymsp>>2]|0; + $394 = ((($393)) + 16|0); + $395 = ((($394)) + 4|0); + HEAP32[$395>>2] = 10; break; } - case 109: { - $345 = HEAP32[$pParse>>2]|0; - $346 = HEAP32[$yymsp>>2]|0; - $347 = ((($346)) + -128|0); - $348 = ((($347)) + 4|0); - $349 = HEAP32[$yymsp>>2]|0; - $350 = ((($349)) + -64|0); - $351 = ((($350)) + 4|0); - $352 = HEAP32[$yymsp>>2]|0; - $353 = ((($352)) + -48|0); - $354 = ((($353)) + 4|0); - $355 = HEAP32[$yymsp>>2]|0; - $356 = ((($355)) + -32|0); - $357 = ((($356)) + 4|0); - $358 = HEAP32[$357>>2]|0; - $359 = HEAP32[$yymsp>>2]|0; - $360 = ((($359)) + 4|0); - $361 = HEAP32[$360>>2]|0; - $362 = HEAP32[$yymsp>>2]|0; - $363 = ((($362)) + -112|0); - $364 = ((($363)) + 4|0); - $365 = HEAP32[$364>>2]|0; - $366 = HEAP32[$yymsp>>2]|0; - $367 = ((($366)) + -80|0); - $368 = ((($367)) + 4|0); - $369 = HEAP32[$368>>2]|0; - _sqlite3CreateView($345,$348,$351,$354,$358,$361,$365,$369); + case 69: { + $396 = HEAP32[$yymsp>>2]|0; + $397 = ((($396)) + 4|0); + $398 = HEAP32[$397>>2]|0; + $399 = HEAP32[$yymsp>>2]|0; + $400 = ((($399)) + -32|0); + $401 = ((($400)) + 4|0); + HEAP32[$401>>2] = $398; break; } - case 110: { - $370 = HEAP32[$pParse>>2]|0; - $371 = HEAP32[$yymsp>>2]|0; - $372 = ((($371)) + 4|0); - $373 = HEAP32[$372>>2]|0; - $374 = HEAP32[$yymsp>>2]|0; - $375 = ((($374)) + -16|0); - $376 = ((($375)) + 4|0); - $377 = HEAP32[$376>>2]|0; - _sqlite3DropTable($370,$373,1,$377); + case 72: { + $402 = HEAP32[$yymsp>>2]|0; + $403 = ((($402)) + 4|0); + HEAP32[$403>>2] = 4; break; } - case 111: { - ;HEAP32[$dest>>2]=HEAP32[5072>>2]|0;HEAP32[$dest+4>>2]=HEAP32[5072+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[5072+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[5072+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[5072+16>>2]|0; - $378 = HEAP32[$pParse>>2]|0; - $379 = HEAP32[$yymsp>>2]|0; - $380 = ((($379)) + 4|0); - $381 = HEAP32[$380>>2]|0; - (_sqlite3Select($378,$381,$dest)|0); - $382 = HEAP32[$pParse>>2]|0; - $383 = HEAP32[$382>>2]|0; - $384 = HEAP32[$yymsp>>2]|0; - $385 = ((($384)) + 4|0); - $386 = HEAP32[$385>>2]|0; - _sqlite3SelectDelete($383,$386); - break; - } - case 112: { - $387 = HEAP32[$yymsp>>2]|0; - $388 = ((($387)) + 4|0); - $389 = HEAP32[$388>>2]|0; - HEAP32[$p>>2] = $389; - $390 = HEAP32[$p>>2]|0; - $391 = ($390|0)!=(0|0); - if ($391) { - $392 = HEAP32[$yymsp>>2]|0; - $393 = ((($392)) + -16|0); - $394 = ((($393)) + 4|0); - $395 = HEAP32[$394>>2]|0; - $396 = HEAP32[$p>>2]|0; - $397 = ((($396)) + 68|0); - HEAP32[$397>>2] = $395; - $398 = HEAP32[$pParse>>2]|0; - $399 = HEAP32[$p>>2]|0; - _parserDoubleLinkSelect($398,$399); - } else { - $400 = HEAP32[$pParse>>2]|0; - $401 = HEAP32[$400>>2]|0; - $402 = HEAP32[$yymsp>>2]|0; - $403 = ((($402)) + -16|0); - $404 = ((($403)) + 4|0); - $405 = HEAP32[$404>>2]|0; - _sqlite3WithDelete($401,$405); - } - $406 = HEAP32[$p>>2]|0; - HEAP32[$yygotominor>>2] = $406; + case 143: case 73: { + $404 = HEAP32[$yymsp>>2]|0; + $405 = ((($404)) + 4|0); + HEAP32[$405>>2] = 5; break; } - case 119: case 113: { + case 74: { + $406 = HEAP32[$pParse>>2]|0; $407 = HEAP32[$yymsp>>2]|0; $408 = ((($407)) + 4|0); $409 = HEAP32[$408>>2]|0; - HEAP32[$yygotominor>>2] = $409; + $410 = HEAP32[$yymsp>>2]|0; + $411 = ((($410)) + -16|0); + $412 = ((($411)) + 4|0); + $413 = HEAP32[$412>>2]|0; + _sqlite3DropTable($406,$409,0,$413); break; } - case 114: { - $410 = HEAP32[$yymsp>>2]|0; - $411 = ((($410)) + 4|0); - $412 = HEAP32[$411>>2]|0; - HEAP32[$pRhs>>2] = $412; - $413 = HEAP32[$yymsp>>2]|0; - $414 = ((($413)) + -32|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - HEAP32[$pLhs>>2] = $416; - $417 = HEAP32[$pRhs>>2]|0; - $418 = ($417|0)!=(0|0); - if ($418) { - $419 = HEAP32[$pRhs>>2]|0; - $420 = ((($419)) + 52|0); - $421 = HEAP32[$420>>2]|0; - $422 = ($421|0)!=(0|0); - if ($422) { - $423 = ((($x)) + 4|0); - HEAP32[$423>>2] = 0; - $424 = HEAP32[$pParse>>2]|0; - $425 = HEAP32[$pRhs>>2]|0; - _parserDoubleLinkSelect($424,$425); - $426 = HEAP32[$pParse>>2]|0; - $427 = HEAP32[$pRhs>>2]|0; - $428 = (_sqlite3SrcListAppendFromTerm($426,0,0,0,$x,$427,0,0)|0); - HEAP32[$pFrom>>2] = $428; - $429 = HEAP32[$pParse>>2]|0; - $430 = HEAP32[$pFrom>>2]|0; - $431 = (_sqlite3SelectNew($429,0,$430,0,0,0,0,0,0,0)|0); - HEAP32[$pRhs>>2] = $431; - } - } - $432 = HEAP32[$pRhs>>2]|0; - $433 = ($432|0)!=(0|0); - if ($433) { - $434 = HEAP32[$yymsp>>2]|0; - $435 = ((($434)) + -16|0); - $436 = ((($435)) + 4|0); - $437 = HEAP32[$436>>2]|0; - $438 = $437&255; - $439 = HEAP32[$pRhs>>2]|0; - $440 = ((($439)) + 4|0); - HEAP8[$440>>0] = $438; - $441 = HEAP32[$pLhs>>2]|0; - $442 = HEAP32[$pRhs>>2]|0; - $443 = ((($442)) + 52|0); - HEAP32[$443>>2] = $441; - $444 = HEAP32[$pLhs>>2]|0; - $445 = ($444|0)!=(0|0); - if ($445) { - $446 = HEAP32[$pLhs>>2]|0; - $447 = ((($446)) + 6|0); - $448 = HEAP16[$447>>1]|0; - $449 = $448&65535; - $450 = $449 & -513; - $451 = $450&65535; - HEAP16[$447>>1] = $451; - } - $452 = HEAP32[$pRhs>>2]|0; - $453 = ((($452)) + 6|0); - $454 = HEAP16[$453>>1]|0; - $455 = $454&65535; - $456 = $455 & -513; - $457 = $456&65535; - HEAP16[$453>>1] = $457; - $458 = HEAP32[$yymsp>>2]|0; - $459 = ((($458)) + -16|0); - $460 = ((($459)) + 4|0); - $461 = HEAP32[$460>>2]|0; - $462 = ($461|0)!=(116); - if ($462) { - $463 = HEAP32[$pParse>>2]|0; - $464 = ((($463)) + 22|0); - HEAP8[$464>>0] = 1; - } - } else { - $465 = HEAP32[$pParse>>2]|0; - $466 = HEAP32[$465>>2]|0; - $467 = HEAP32[$pLhs>>2]|0; - _sqlite3SelectDelete($466,$467); - } - $468 = HEAP32[$pRhs>>2]|0; - HEAP32[$yygotominor>>2] = $468; + case 77: { + $414 = HEAP32[$pParse>>2]|0; + $415 = HEAP32[$yymsp>>2]|0; + $416 = ((($415)) + -128|0); + $417 = ((($416)) + 4|0); + $418 = HEAP32[$yymsp>>2]|0; + $419 = ((($418)) + -64|0); + $420 = ((($419)) + 4|0); + $421 = HEAP32[$yymsp>>2]|0; + $422 = ((($421)) + -48|0); + $423 = ((($422)) + 4|0); + $424 = HEAP32[$yymsp>>2]|0; + $425 = ((($424)) + -32|0); + $426 = ((($425)) + 4|0); + $427 = HEAP32[$426>>2]|0; + $428 = HEAP32[$yymsp>>2]|0; + $429 = ((($428)) + 4|0); + $430 = HEAP32[$429>>2]|0; + $431 = HEAP32[$yymsp>>2]|0; + $432 = ((($431)) + -112|0); + $433 = ((($432)) + 4|0); + $434 = HEAP32[$433>>2]|0; + $435 = HEAP32[$yymsp>>2]|0; + $436 = ((($435)) + -80|0); + $437 = ((($436)) + 4|0); + $438 = HEAP32[$437>>2]|0; + _sqlite3CreateView($414,$417,$420,$423,$427,$430,$434,$438); break; } - case 116: { - HEAP32[$yygotominor>>2] = 116; - break; - } - case 118: { - $469 = HEAP32[$pParse>>2]|0; - $470 = HEAP32[$yymsp>>2]|0; - $471 = ((($470)) + -96|0); - $472 = ((($471)) + 4|0); - $473 = HEAP32[$472>>2]|0; - $474 = HEAP32[$yymsp>>2]|0; - $475 = ((($474)) + -80|0); - $476 = ((($475)) + 4|0); - $477 = HEAP32[$476>>2]|0; - $478 = HEAP32[$yymsp>>2]|0; - $479 = ((($478)) + -64|0); + case 78: { + $439 = HEAP32[$pParse>>2]|0; + $440 = HEAP32[$yymsp>>2]|0; + $441 = ((($440)) + 4|0); + $442 = HEAP32[$441>>2]|0; + $443 = HEAP32[$yymsp>>2]|0; + $444 = ((($443)) + -16|0); + $445 = ((($444)) + 4|0); + $446 = HEAP32[$445>>2]|0; + _sqlite3DropTable($439,$442,1,$446); + break; + } + case 79: { + ;HEAP32[$dest>>2]=HEAP32[5088>>2]|0;HEAP32[$dest+4>>2]=HEAP32[5088+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[5088+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[5088+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[5088+16>>2]|0; + $447 = HEAP32[$pParse>>2]|0; + $448 = HEAP32[$yymsp>>2]|0; + $449 = ((($448)) + 4|0); + $450 = HEAP32[$449>>2]|0; + (_sqlite3Select($447,$450,$dest)|0); + $451 = HEAP32[$pParse>>2]|0; + $452 = HEAP32[$451>>2]|0; + $453 = HEAP32[$yymsp>>2]|0; + $454 = ((($453)) + 4|0); + $455 = HEAP32[$454>>2]|0; + _sqlite3SelectDelete($452,$455); + break; + } + case 80: { + $456 = HEAP32[$yymsp>>2]|0; + $457 = ((($456)) + 4|0); + $458 = HEAP32[$457>>2]|0; + HEAP32[$p>>2] = $458; + $459 = HEAP32[$p>>2]|0; + $460 = ($459|0)!=(0|0); + if ($460) { + $461 = HEAP32[$yymsp>>2]|0; + $462 = ((($461)) + -16|0); + $463 = ((($462)) + 4|0); + $464 = HEAP32[$463>>2]|0; + $465 = HEAP32[$p>>2]|0; + $466 = ((($465)) + 64|0); + HEAP32[$466>>2] = $464; + $467 = HEAP32[$pParse>>2]|0; + $468 = HEAP32[$p>>2]|0; + _parserDoubleLinkSelect($467,$468); + } else { + $469 = HEAP32[$pParse>>2]|0; + $470 = HEAP32[$469>>2]|0; + $471 = HEAP32[$yymsp>>2]|0; + $472 = ((($471)) + -16|0); + $473 = ((($472)) + 4|0); + $474 = HEAP32[$473>>2]|0; + _sqlite3WithDelete($470,$474); + } + $475 = HEAP32[$p>>2]|0; + $476 = HEAP32[$yymsp>>2]|0; + $477 = ((($476)) + -16|0); + $478 = ((($477)) + 4|0); + HEAP32[$478>>2] = $475; + break; + } + case 81: { + $479 = HEAP32[$yymsp>>2]|0; $480 = ((($479)) + 4|0); $481 = HEAP32[$480>>2]|0; + HEAP32[$pRhs>>2] = $481; $482 = HEAP32[$yymsp>>2]|0; - $483 = ((($482)) + -48|0); + $483 = ((($482)) + -32|0); $484 = ((($483)) + 4|0); $485 = HEAP32[$484>>2]|0; - $486 = HEAP32[$yymsp>>2]|0; - $487 = ((($486)) + -32|0); - $488 = ((($487)) + 4|0); - $489 = HEAP32[$488>>2]|0; - $490 = HEAP32[$yymsp>>2]|0; - $491 = ((($490)) + -16|0); - $492 = ((($491)) + 4|0); - $493 = HEAP32[$492>>2]|0; - $494 = HEAP32[$yymsp>>2]|0; - $495 = ((($494)) + -112|0); - $496 = ((($495)) + 4|0); - $497 = HEAP32[$496>>2]|0; - $498 = $497&65535; - $499 = HEAP32[$yymsp>>2]|0; - $500 = ((($499)) + 4|0); - $501 = HEAP32[$500>>2]|0; - $502 = HEAP32[$yymsp>>2]|0; - $503 = ((($502)) + 4|0); - $504 = ((($503)) + 4|0); - $505 = HEAP32[$504>>2]|0; - $506 = (_sqlite3SelectNew($469,$473,$477,$481,$485,$489,$493,$498,$501,$505)|0); - HEAP32[$yygotominor>>2] = $506; + HEAP32[$pLhs>>2] = $485; + $486 = HEAP32[$pRhs>>2]|0; + $487 = ($486|0)!=(0|0); + if ($487) { + $488 = HEAP32[$pRhs>>2]|0; + $489 = ((($488)) + 48|0); + $490 = HEAP32[$489>>2]|0; + $491 = ($490|0)!=(0|0); + if ($491) { + $492 = ((($x)) + 4|0); + HEAP32[$492>>2] = 0; + $493 = HEAP32[$pParse>>2]|0; + $494 = HEAP32[$pRhs>>2]|0; + _parserDoubleLinkSelect($493,$494); + $495 = HEAP32[$pParse>>2]|0; + $496 = HEAP32[$pRhs>>2]|0; + $497 = (_sqlite3SrcListAppendFromTerm($495,0,0,0,$x,$496,0,0)|0); + HEAP32[$pFrom>>2] = $497; + $498 = HEAP32[$pParse>>2]|0; + $499 = HEAP32[$pFrom>>2]|0; + $500 = (_sqlite3SelectNew($498,0,$499,0,0,0,0,0,0,0)|0); + HEAP32[$pRhs>>2] = $500; + } + } + $501 = HEAP32[$pRhs>>2]|0; + $502 = ($501|0)!=(0|0); + if ($502) { + $503 = HEAP32[$yymsp>>2]|0; + $504 = ((($503)) + -16|0); + $505 = ((($504)) + 4|0); + $506 = HEAP32[$505>>2]|0; + $507 = $506&255; + $508 = HEAP32[$pRhs>>2]|0; + $509 = ((($508)) + 4|0); + HEAP8[$509>>0] = $507; + $510 = HEAP32[$pLhs>>2]|0; + $511 = HEAP32[$pRhs>>2]|0; + $512 = ((($511)) + 48|0); + HEAP32[$512>>2] = $510; + $513 = HEAP32[$pLhs>>2]|0; + $514 = ($513|0)!=(0|0); + if ($514) { + $515 = HEAP32[$pLhs>>2]|0; + $516 = ((($515)) + 8|0); + $517 = HEAP32[$516>>2]|0; + $518 = $517 & -513; + HEAP32[$516>>2] = $518; + } + $519 = HEAP32[$pRhs>>2]|0; + $520 = ((($519)) + 8|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 & -513; + HEAP32[$520>>2] = $522; + $523 = HEAP32[$yymsp>>2]|0; + $524 = ((($523)) + -16|0); + $525 = ((($524)) + 4|0); + $526 = HEAP32[$525>>2]|0; + $527 = ($526|0)!=(116); + if ($527) { + $528 = HEAP32[$pParse>>2]|0; + $529 = ((($528)) + 22|0); + HEAP8[$529>>0] = 1; + } + } else { + $530 = HEAP32[$pParse>>2]|0; + $531 = HEAP32[$530>>2]|0; + $532 = HEAP32[$pLhs>>2]|0; + _sqlite3SelectDelete($531,$532); + } + $533 = HEAP32[$pRhs>>2]|0; + $534 = HEAP32[$yymsp>>2]|0; + $535 = ((($534)) + -32|0); + $536 = ((($535)) + 4|0); + HEAP32[$536>>2] = $533; break; } - case 120: { - $507 = HEAP32[$pParse>>2]|0; - $508 = HEAP32[$yymsp>>2]|0; - $509 = ((($508)) + -16|0); - $510 = ((($509)) + 4|0); - $511 = HEAP32[$510>>2]|0; - $512 = (_sqlite3SelectNew($507,$511,0,0,0,0,0,256,0,0)|0); - HEAP32[$yygotominor>>2] = $512; + case 84: case 82: { + $537 = HEAP32[$yymsp>>2]|0; + $538 = ((($537)) + 2|0); + $539 = HEAP8[$538>>0]|0; + $540 = $539&255; + $541 = HEAP32[$yymsp>>2]|0; + $542 = ((($541)) + 4|0); + HEAP32[$542>>2] = $540; break; } - case 121: { - $513 = HEAP32[$yymsp>>2]|0; - $514 = ((($513)) + -64|0); - $515 = ((($514)) + 4|0); - $516 = HEAP32[$515>>2]|0; - HEAP32[$pLeft>>2] = $516; - $517 = HEAP32[$pParse>>2]|0; - $518 = HEAP32[$yymsp>>2]|0; - $519 = ((($518)) + -16|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = (_sqlite3SelectNew($517,$521,0,0,0,0,0,768,0,0)|0); - HEAP32[$pRight>>2] = $522; - $523 = HEAP32[$pLeft>>2]|0; - $524 = ($523|0)!=(0|0); - if ($524) { - $525 = HEAP32[$pLeft>>2]|0; - $526 = ((($525)) + 6|0); - $527 = HEAP16[$526>>1]|0; - $528 = $527&65535; - $529 = $528 & -513; - $530 = $529&65535; - HEAP16[$526>>1] = $530; - } - $531 = HEAP32[$pRight>>2]|0; - $532 = ($531|0)!=(0|0); - if ($532) { - $533 = HEAP32[$pRight>>2]|0; - $534 = ((($533)) + 4|0); - HEAP8[$534>>0] = 116; - $535 = HEAP32[$yymsp>>2]|0; - $536 = ((($535)) + -64|0); - $537 = ((($536)) + 4|0); - $538 = HEAP32[$537>>2]|0; - HEAP32[$pLeft>>2] = $538; - $539 = HEAP32[$pLeft>>2]|0; - $540 = HEAP32[$pRight>>2]|0; - $541 = ((($540)) + 52|0); - HEAP32[$541>>2] = $539; - $542 = HEAP32[$pRight>>2]|0; - HEAP32[$yygotominor>>2] = $542; - break L1; - } else { - $543 = HEAP32[$pLeft>>2]|0; - HEAP32[$yygotominor>>2] = $543; - break L1; - } + case 83: { + $543 = HEAP32[$yymsp>>2]|0; + $544 = ((($543)) + -16|0); + $545 = ((($544)) + 4|0); + HEAP32[$545>>2] = 116; break; } - case 122: { - HEAP32[$yygotominor>>2] = 1; + case 85: { + $546 = HEAP32[$pParse>>2]|0; + $547 = HEAP32[$yymsp>>2]|0; + $548 = ((($547)) + -96|0); + $549 = ((($548)) + 4|0); + $550 = HEAP32[$549>>2]|0; + $551 = HEAP32[$yymsp>>2]|0; + $552 = ((($551)) + -80|0); + $553 = ((($552)) + 4|0); + $554 = HEAP32[$553>>2]|0; + $555 = HEAP32[$yymsp>>2]|0; + $556 = ((($555)) + -64|0); + $557 = ((($556)) + 4|0); + $558 = HEAP32[$557>>2]|0; + $559 = HEAP32[$yymsp>>2]|0; + $560 = ((($559)) + -48|0); + $561 = ((($560)) + 4|0); + $562 = HEAP32[$561>>2]|0; + $563 = HEAP32[$yymsp>>2]|0; + $564 = ((($563)) + -32|0); + $565 = ((($564)) + 4|0); + $566 = HEAP32[$565>>2]|0; + $567 = HEAP32[$yymsp>>2]|0; + $568 = ((($567)) + -16|0); + $569 = ((($568)) + 4|0); + $570 = HEAP32[$569>>2]|0; + $571 = HEAP32[$yymsp>>2]|0; + $572 = ((($571)) + -112|0); + $573 = ((($572)) + 4|0); + $574 = HEAP32[$573>>2]|0; + $575 = HEAP32[$yymsp>>2]|0; + $576 = ((($575)) + 4|0); + $577 = HEAP32[$576>>2]|0; + $578 = HEAP32[$yymsp>>2]|0; + $579 = ((($578)) + 4|0); + $580 = ((($579)) + 4|0); + $581 = HEAP32[$580>>2]|0; + $582 = (_sqlite3SelectNew($546,$550,$554,$558,$562,$566,$570,$574,$577,$581)|0); + $583 = HEAP32[$yymsp>>2]|0; + $584 = ((($583)) + -128|0); + $585 = ((($584)) + 4|0); + HEAP32[$585>>2] = $582; break; } - case 123: { - HEAP32[$yygotominor>>2] = 2; - break; - } - case 244: case 125: { - $544 = HEAP32[$yymsp>>2]|0; - $545 = ((($544)) + -16|0); - $546 = ((($545)) + 4|0); - $547 = HEAP32[$546>>2]|0; - HEAP32[$yygotominor>>2] = $547; - break; - } - case 243: case 237: case 162: case 155: case 126: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 127: { - $548 = HEAP32[$pParse>>2]|0; - $549 = HEAP32[$yymsp>>2]|0; - $550 = ((($549)) + -32|0); - $551 = ((($550)) + 4|0); - $552 = HEAP32[$551>>2]|0; - $553 = HEAP32[$yymsp>>2]|0; - $554 = ((($553)) + -16|0); - $555 = ((($554)) + 4|0); - $556 = HEAP32[$555>>2]|0; - $557 = (_sqlite3ExprListAppend($548,$552,$556)|0); - HEAP32[$yygotominor>>2] = $557; - $558 = HEAP32[$yymsp>>2]|0; - $559 = ((($558)) + 4|0); - $560 = ((($559)) + 4|0); - $561 = HEAP32[$560>>2]|0; - $562 = ($561>>>0)>(0); - if ($562) { - $563 = HEAP32[$pParse>>2]|0; - $564 = HEAP32[$yygotominor>>2]|0; - $565 = HEAP32[$yymsp>>2]|0; - $566 = ((($565)) + 4|0); - _sqlite3ExprListSetName($563,$564,$566,1); - } - $567 = HEAP32[$pParse>>2]|0; - $568 = HEAP32[$yygotominor>>2]|0; - $569 = HEAP32[$yymsp>>2]|0; - $570 = ((($569)) + -16|0); - $571 = ((($570)) + 4|0); - _sqlite3ExprListSetSpan($567,$568,$571); - break; - } - case 128: { - $572 = HEAP32[$pParse>>2]|0; - $573 = HEAP32[$572>>2]|0; - $574 = (_sqlite3Expr($573,158,0)|0); - HEAP32[$p2>>2] = $574; - $575 = HEAP32[$pParse>>2]|0; - $576 = HEAP32[$yymsp>>2]|0; - $577 = ((($576)) + -16|0); - $578 = ((($577)) + 4|0); - $579 = HEAP32[$578>>2]|0; - $580 = HEAP32[$p2>>2]|0; - $581 = (_sqlite3ExprListAppend($575,$579,$580)|0); - HEAP32[$yygotominor>>2] = $581; - break; - } - case 129: { - $582 = HEAP32[$pParse>>2]|0; - $583 = HEAP32[$yymsp>>2]|0; - $584 = ((($583)) + 4|0); - $585 = (_sqlite3PExpr($582,158,0,0,$584)|0); - HEAP32[$pRight3>>2] = $585; + case 86: { $586 = HEAP32[$pParse>>2]|0; $587 = HEAP32[$yymsp>>2]|0; - $588 = ((($587)) + -32|0); + $588 = ((($587)) + -16|0); $589 = ((($588)) + 4|0); - $590 = (_sqlite3PExpr($586,27,0,0,$589)|0); - HEAP32[$pLeft4>>2] = $590; - $591 = HEAP32[$pParse>>2]|0; - $592 = HEAP32[$pLeft4>>2]|0; - $593 = HEAP32[$pRight3>>2]|0; - $594 = (_sqlite3PExpr($591,122,$592,$593,0)|0); - HEAP32[$pDot>>2] = $594; - $595 = HEAP32[$pParse>>2]|0; - $596 = HEAP32[$yymsp>>2]|0; - $597 = ((($596)) + -48|0); - $598 = ((($597)) + 4|0); - $599 = HEAP32[$598>>2]|0; - $600 = HEAP32[$pDot>>2]|0; - $601 = (_sqlite3ExprListAppend($595,$599,$600)|0); - HEAP32[$yygotominor>>2] = $601; + $590 = HEAP32[$589>>2]|0; + $591 = (_sqlite3SelectNew($586,$590,0,0,0,0,0,256,0,0)|0); + $592 = HEAP32[$yymsp>>2]|0; + $593 = ((($592)) + -48|0); + $594 = ((($593)) + 4|0); + HEAP32[$594>>2] = $591; break; } - case 132: { - $602 = ((($yygotominor)) + 4|0); - HEAP32[$602>>2] = 0; + case 87: { + $595 = HEAP32[$yymsp>>2]|0; + $596 = ((($595)) + -64|0); + $597 = ((($596)) + 4|0); + $598 = HEAP32[$597>>2]|0; + HEAP32[$pLeft>>2] = $598; + $599 = HEAP32[$pParse>>2]|0; + $600 = HEAP32[$yymsp>>2]|0; + $601 = ((($600)) + -16|0); + $602 = ((($601)) + 4|0); + $603 = HEAP32[$602>>2]|0; + $604 = (_sqlite3SelectNew($599,$603,0,0,0,0,0,768,0,0)|0); + HEAP32[$pRight>>2] = $604; + $605 = HEAP32[$pLeft>>2]|0; + $606 = ($605|0)!=(0|0); + if ($606) { + $607 = HEAP32[$pLeft>>2]|0; + $608 = ((($607)) + 8|0); + $609 = HEAP32[$608>>2]|0; + $610 = $609 & -513; + HEAP32[$608>>2] = $610; + } + $611 = HEAP32[$pRight>>2]|0; + $612 = ($611|0)!=(0|0); + if ($612) { + $613 = HEAP32[$pRight>>2]|0; + $614 = ((($613)) + 4|0); + HEAP8[$614>>0] = 116; + $615 = HEAP32[$pLeft>>2]|0; + $616 = HEAP32[$pRight>>2]|0; + $617 = ((($616)) + 48|0); + HEAP32[$617>>2] = $615; + $618 = HEAP32[$pRight>>2]|0; + $619 = HEAP32[$yymsp>>2]|0; + $620 = ((($619)) + -64|0); + $621 = ((($620)) + 4|0); + HEAP32[$621>>2] = $618; + break L6; + } else { + $622 = HEAP32[$pLeft>>2]|0; + $623 = HEAP32[$yymsp>>2]|0; + $624 = ((($623)) + -64|0); + $625 = ((($624)) + 4|0); + HEAP32[$625>>2] = $622; + break L6; + } break; } - case 133: { - $603 = HEAP32[$pParse>>2]|0; - $604 = HEAP32[$603>>2]|0; - $605 = (_sqlite3DbMallocZero($604,80,0)|0); - HEAP32[$yygotominor>>2] = $605; + case 88: { + $626 = HEAP32[$yymsp>>2]|0; + $627 = ((($626)) + 4|0); + HEAP32[$627>>2] = 1; break; } - case 134: { - $606 = HEAP32[$yymsp>>2]|0; - $607 = ((($606)) + 4|0); - $608 = HEAP32[$607>>2]|0; - HEAP32[$yygotominor>>2] = $608; - $609 = HEAP32[$yygotominor>>2]|0; - _sqlite3SrcListShiftJoinType($609); + case 89: { + $628 = HEAP32[$yymsp>>2]|0; + $629 = ((($628)) + 4|0); + HEAP32[$629>>2] = 2; break; } - case 135: { - $610 = HEAP32[$yymsp>>2]|0; - $611 = ((($610)) + -16|0); - $612 = ((($611)) + 4|0); - $613 = HEAP32[$612>>2]|0; - HEAP32[$yygotominor>>2] = $613; - $614 = HEAP32[$yygotominor>>2]|0; - $615 = ($614|0)!=(0|0); - if ($615) { - $616 = HEAP32[$yygotominor>>2]|0; - $617 = HEAP32[$616>>2]|0; - $618 = ($617|0)>(0); - if ($618) { - $619 = HEAP32[$yymsp>>2]|0; - $620 = ((($619)) + 4|0); - $621 = HEAP32[$620>>2]|0; - $622 = $621&255; - $623 = HEAP32[$yygotominor>>2]|0; - $624 = HEAP32[$623>>2]|0; - $625 = (($624) - 1)|0; - $626 = HEAP32[$yygotominor>>2]|0; - $627 = ((($626)) + 8|0); - $628 = (($627) + (($625*72)|0)|0); - $629 = ((($628)) + 36|0); - HEAP8[$629>>0] = $622; - } - } - break; - } - case 136: { - HEAP32[$yygotominor>>2] = 0; + case 205: case 199: case 126: case 119: case 91: { + $630 = HEAP32[$yymsp>>2]|0; + $631 = ((($630)) + 16|0); + $632 = ((($631)) + 4|0); + HEAP32[$632>>2] = 0; break; } - case 137: { - $630 = HEAP32[$pParse>>2]|0; - $631 = HEAP32[$yymsp>>2]|0; - $632 = ((($631)) + -96|0); - $633 = ((($632)) + 4|0); - $634 = HEAP32[$633>>2]|0; - $635 = HEAP32[$yymsp>>2]|0; - $636 = ((($635)) + -80|0); - $637 = ((($636)) + 4|0); + case 92: { + $633 = HEAP32[$pParse>>2]|0; + $634 = HEAP32[$yymsp>>2]|0; + $635 = ((($634)) + -32|0); + $636 = ((($635)) + 4|0); + $637 = HEAP32[$636>>2]|0; $638 = HEAP32[$yymsp>>2]|0; - $639 = ((($638)) + -64|0); + $639 = ((($638)) + -16|0); $640 = ((($639)) + 4|0); - $641 = HEAP32[$yymsp>>2]|0; - $642 = ((($641)) + -48|0); - $643 = ((($642)) + 4|0); - $644 = HEAP32[$yymsp>>2]|0; - $645 = ((($644)) + -16|0); - $646 = ((($645)) + 4|0); - $647 = HEAP32[$646>>2]|0; - $648 = HEAP32[$yymsp>>2]|0; - $649 = ((($648)) + 4|0); - $650 = HEAP32[$649>>2]|0; - $651 = (_sqlite3SrcListAppendFromTerm($630,$634,$637,$640,$643,0,$647,$650)|0); - HEAP32[$yygotominor>>2] = $651; - $652 = HEAP32[$pParse>>2]|0; - $653 = HEAP32[$yygotominor>>2]|0; - $654 = HEAP32[$yymsp>>2]|0; - $655 = ((($654)) + -32|0); - $656 = ((($655)) + 4|0); - _sqlite3SrcListIndexedBy($652,$653,$656); + $641 = HEAP32[$640>>2]|0; + $642 = (_sqlite3ExprListAppend($633,$637,$641)|0); + $643 = HEAP32[$yymsp>>2]|0; + $644 = ((($643)) + -32|0); + $645 = ((($644)) + 4|0); + HEAP32[$645>>2] = $642; + $646 = HEAP32[$yymsp>>2]|0; + $647 = ((($646)) + 4|0); + $648 = ((($647)) + 4|0); + $649 = HEAP32[$648>>2]|0; + $650 = ($649>>>0)>(0); + if ($650) { + $651 = HEAP32[$pParse>>2]|0; + $652 = HEAP32[$yymsp>>2]|0; + $653 = ((($652)) + -32|0); + $654 = ((($653)) + 4|0); + $655 = HEAP32[$654>>2]|0; + $656 = HEAP32[$yymsp>>2]|0; + $657 = ((($656)) + 4|0); + _sqlite3ExprListSetName($651,$655,$657,1); + } + $658 = HEAP32[$pParse>>2]|0; + $659 = HEAP32[$yymsp>>2]|0; + $660 = ((($659)) + -32|0); + $661 = ((($660)) + 4|0); + $662 = HEAP32[$661>>2]|0; + $663 = HEAP32[$yymsp>>2]|0; + $664 = ((($663)) + -16|0); + $665 = ((($664)) + 4|0); + _sqlite3ExprListSetSpan($658,$662,$665); break; } - case 138: { - $657 = HEAP32[$pParse>>2]|0; - $658 = HEAP32[$yymsp>>2]|0; - $659 = ((($658)) + -128|0); - $660 = ((($659)) + 4|0); - $661 = HEAP32[$660>>2]|0; - $662 = HEAP32[$yymsp>>2]|0; - $663 = ((($662)) + -112|0); - $664 = ((($663)) + 4|0); - $665 = HEAP32[$yymsp>>2]|0; - $666 = ((($665)) + -96|0); - $667 = ((($666)) + 4|0); - $668 = HEAP32[$yymsp>>2]|0; - $669 = ((($668)) + -32|0); - $670 = ((($669)) + 4|0); - $671 = HEAP32[$yymsp>>2]|0; - $672 = ((($671)) + -16|0); - $673 = ((($672)) + 4|0); - $674 = HEAP32[$673>>2]|0; - $675 = HEAP32[$yymsp>>2]|0; - $676 = ((($675)) + 4|0); - $677 = HEAP32[$676>>2]|0; - $678 = (_sqlite3SrcListAppendFromTerm($657,$661,$664,$667,$670,0,$674,$677)|0); - HEAP32[$yygotominor>>2] = $678; - $679 = HEAP32[$pParse>>2]|0; - $680 = HEAP32[$yygotominor>>2]|0; - $681 = HEAP32[$yymsp>>2]|0; - $682 = ((($681)) + -64|0); - $683 = ((($682)) + 4|0); - $684 = HEAP32[$683>>2]|0; - _sqlite3SrcListFuncArgs($679,$680,$684); + case 93: { + $666 = HEAP32[$pParse>>2]|0; + $667 = HEAP32[$666>>2]|0; + $668 = (_sqlite3Expr($667,158,0)|0); + HEAP32[$p2>>2] = $668; + $669 = HEAP32[$pParse>>2]|0; + $670 = HEAP32[$yymsp>>2]|0; + $671 = ((($670)) + -16|0); + $672 = ((($671)) + 4|0); + $673 = HEAP32[$672>>2]|0; + $674 = HEAP32[$p2>>2]|0; + $675 = (_sqlite3ExprListAppend($669,$673,$674)|0); + $676 = HEAP32[$yymsp>>2]|0; + $677 = ((($676)) + -16|0); + $678 = ((($677)) + 4|0); + HEAP32[$678>>2] = $675; break; } - case 139: { - $685 = HEAP32[$pParse>>2]|0; - $686 = HEAP32[$yymsp>>2]|0; - $687 = ((($686)) + -96|0); - $688 = ((($687)) + 4|0); - $689 = HEAP32[$688>>2]|0; - $690 = HEAP32[$yymsp>>2]|0; - $691 = ((($690)) + -32|0); - $692 = ((($691)) + 4|0); + case 94: { + $679 = HEAP32[$pParse>>2]|0; + $680 = HEAP32[$yymsp>>2]|0; + $681 = ((($680)) + 4|0); + $682 = (_sqlite3PExpr($679,158,0,0,$681)|0); + HEAP32[$pRight3>>2] = $682; + $683 = HEAP32[$pParse>>2]|0; + $684 = HEAP32[$yymsp>>2]|0; + $685 = ((($684)) + -32|0); + $686 = ((($685)) + 4|0); + $687 = (_sqlite3PExpr($683,27,0,0,$686)|0); + HEAP32[$pLeft4>>2] = $687; + $688 = HEAP32[$pParse>>2]|0; + $689 = HEAP32[$pLeft4>>2]|0; + $690 = HEAP32[$pRight3>>2]|0; + $691 = (_sqlite3PExpr($688,122,$689,$690,0)|0); + HEAP32[$pDot>>2] = $691; + $692 = HEAP32[$pParse>>2]|0; $693 = HEAP32[$yymsp>>2]|0; - $694 = ((($693)) + -64|0); + $694 = ((($693)) + -48|0); $695 = ((($694)) + 4|0); $696 = HEAP32[$695>>2]|0; - $697 = HEAP32[$yymsp>>2]|0; - $698 = ((($697)) + -16|0); - $699 = ((($698)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = HEAP32[$yymsp>>2]|0; - $702 = ((($701)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (_sqlite3SrcListAppendFromTerm($685,$689,0,0,$692,$696,$700,$703)|0); - HEAP32[$yygotominor>>2] = $704; + $697 = HEAP32[$pDot>>2]|0; + $698 = (_sqlite3ExprListAppend($692,$696,$697)|0); + $699 = HEAP32[$yymsp>>2]|0; + $700 = ((($699)) + -48|0); + $701 = ((($700)) + 4|0); + HEAP32[$701>>2] = $698; + break; + } + case 220: case 219: case 106: case 95: { + $702 = HEAP32[$yymsp>>2]|0; + $703 = ((($702)) + -16|0); + $704 = ((($703)) + 4|0); + $705 = HEAP32[$yymsp>>2]|0; + $706 = ((($705)) + 4|0); + ;HEAP32[$704>>2]=HEAP32[$706>>2]|0;HEAP32[$704+4>>2]=HEAP32[$706+4>>2]|0; break; } - case 140: { - $705 = HEAP32[$yymsp>>2]|0; - $706 = ((($705)) + -96|0); - $707 = ((($706)) + 4|0); + case 97: { + $707 = HEAP32[$pParse>>2]|0; $708 = HEAP32[$707>>2]|0; - $709 = ($708|0)==(0|0); - if ($709) { - $710 = HEAP32[$yymsp>>2]|0; - $711 = ((($710)) + -32|0); - $712 = ((($711)) + 4|0); - $713 = ((($712)) + 4|0); - $714 = HEAP32[$713>>2]|0; - $715 = ($714|0)==(0); - if ($715) { - $716 = HEAP32[$yymsp>>2]|0; - $717 = ((($716)) + -16|0); - $718 = ((($717)) + 4|0); - $719 = HEAP32[$718>>2]|0; - $720 = ($719|0)==(0|0); - if ($720) { - $721 = HEAP32[$yymsp>>2]|0; - $722 = ((($721)) + 4|0); - $723 = HEAP32[$722>>2]|0; - $724 = ($723|0)==(0|0); - if ($724) { - $725 = HEAP32[$yymsp>>2]|0; - $726 = ((($725)) + -64|0); - $727 = ((($726)) + 4|0); - $728 = HEAP32[$727>>2]|0; - HEAP32[$yygotominor>>2] = $728; - break L1; - } - } + $709 = (_sqlite3DbMallocZero($708,80,0)|0); + $710 = HEAP32[$yymsp>>2]|0; + $711 = ((($710)) + 16|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = $709; + break; + } + case 98: { + $713 = HEAP32[$yymsp>>2]|0; + $714 = ((($713)) + 4|0); + $715 = HEAP32[$714>>2]|0; + $716 = HEAP32[$yymsp>>2]|0; + $717 = ((($716)) + -16|0); + $718 = ((($717)) + 4|0); + HEAP32[$718>>2] = $715; + $719 = HEAP32[$yymsp>>2]|0; + $720 = ((($719)) + -16|0); + $721 = ((($720)) + 4|0); + $722 = HEAP32[$721>>2]|0; + _sqlite3SrcListShiftJoinType($722); + break; + } + case 99: { + $723 = HEAP32[$yymsp>>2]|0; + $724 = ((($723)) + -16|0); + $725 = ((($724)) + 4|0); + $726 = HEAP32[$725>>2]|0; + $727 = ($726|0)!=(0|0); + if ($727) { + $728 = HEAP32[$yymsp>>2]|0; + $729 = ((($728)) + -16|0); + $730 = ((($729)) + 4|0); + $731 = HEAP32[$730>>2]|0; + $732 = HEAP32[$731>>2]|0; + $733 = ($732|0)>(0); + if ($733) { + $734 = HEAP32[$yymsp>>2]|0; + $735 = ((($734)) + 4|0); + $736 = HEAP32[$735>>2]|0; + $737 = $736&255; + $738 = HEAP32[$yymsp>>2]|0; + $739 = ((($738)) + -16|0); + $740 = ((($739)) + 4|0); + $741 = HEAP32[$740>>2]|0; + $742 = HEAP32[$741>>2]|0; + $743 = (($742) - 1)|0; + $744 = HEAP32[$yymsp>>2]|0; + $745 = ((($744)) + -16|0); + $746 = ((($745)) + 4|0); + $747 = HEAP32[$746>>2]|0; + $748 = ((($747)) + 8|0); + $749 = (($748) + (($743*72)|0)|0); + $750 = ((($749)) + 36|0); + HEAP8[$750>>0] = $737; } } - $729 = HEAP32[$yymsp>>2]|0; - $730 = ((($729)) + -64|0); - $731 = ((($730)) + 4|0); - $732 = HEAP32[$731>>2]|0; - $733 = HEAP32[$732>>2]|0; - $734 = ($733|0)==(1); - if (!($734)) { - $791 = HEAP32[$yymsp>>2]|0; - $792 = ((($791)) + -64|0); - $793 = ((($792)) + 4|0); - $794 = HEAP32[$793>>2]|0; - _sqlite3SrcListShiftJoinType($794); - $795 = HEAP32[$pParse>>2]|0; - $796 = HEAP32[$yymsp>>2]|0; - $797 = ((($796)) + -64|0); - $798 = ((($797)) + 4|0); - $799 = HEAP32[$798>>2]|0; - $800 = (_sqlite3SelectNew($795,0,$799,0,0,0,0,1024,0,0)|0); - HEAP32[$pSubquery>>2] = $800; - $801 = HEAP32[$pParse>>2]|0; - $802 = HEAP32[$yymsp>>2]|0; - $803 = ((($802)) + -96|0); - $804 = ((($803)) + 4|0); - $805 = HEAP32[$804>>2]|0; - $806 = HEAP32[$yymsp>>2]|0; - $807 = ((($806)) + -32|0); - $808 = ((($807)) + 4|0); - $809 = HEAP32[$pSubquery>>2]|0; - $810 = HEAP32[$yymsp>>2]|0; - $811 = ((($810)) + -16|0); - $812 = ((($811)) + 4|0); - $813 = HEAP32[$812>>2]|0; - $814 = HEAP32[$yymsp>>2]|0; - $815 = ((($814)) + 4|0); - $816 = HEAP32[$815>>2]|0; - $817 = (_sqlite3SrcListAppendFromTerm($801,$805,0,0,$808,$809,$813,$816)|0); - HEAP32[$yygotominor>>2] = $817; - break L1; - } - $735 = HEAP32[$pParse>>2]|0; - $736 = HEAP32[$yymsp>>2]|0; - $737 = ((($736)) + -96|0); - $738 = ((($737)) + 4|0); - $739 = HEAP32[$738>>2]|0; - $740 = HEAP32[$yymsp>>2]|0; - $741 = ((($740)) + -32|0); - $742 = ((($741)) + 4|0); - $743 = HEAP32[$yymsp>>2]|0; - $744 = ((($743)) + -16|0); - $745 = ((($744)) + 4|0); - $746 = HEAP32[$745>>2]|0; - $747 = HEAP32[$yymsp>>2]|0; - $748 = ((($747)) + 4|0); - $749 = HEAP32[$748>>2]|0; - $750 = (_sqlite3SrcListAppendFromTerm($735,$739,0,0,$742,0,$746,$749)|0); - HEAP32[$yygotominor>>2] = $750; - $751 = HEAP32[$yygotominor>>2]|0; - $752 = ($751|0)!=(0|0); - if ($752) { - $753 = HEAP32[$yygotominor>>2]|0; - $754 = HEAP32[$753>>2]|0; - $755 = (($754) - 1)|0; - $756 = HEAP32[$yygotominor>>2]|0; - $757 = ((($756)) + 8|0); - $758 = (($757) + (($755*72)|0)|0); - HEAP32[$pNew>>2] = $758; - $759 = HEAP32[$yymsp>>2]|0; - $760 = ((($759)) + -64|0); - $761 = ((($760)) + 4|0); - $762 = HEAP32[$761>>2]|0; - $763 = ((($762)) + 8|0); - HEAP32[$pOld>>2] = $763; - $764 = HEAP32[$pOld>>2]|0; - $765 = ((($764)) + 8|0); - $766 = HEAP32[$765>>2]|0; - $767 = HEAP32[$pNew>>2]|0; - $768 = ((($767)) + 8|0); - HEAP32[$768>>2] = $766; - $769 = HEAP32[$pOld>>2]|0; - $770 = ((($769)) + 4|0); - $771 = HEAP32[$770>>2]|0; - $772 = HEAP32[$pNew>>2]|0; - $773 = ((($772)) + 4|0); - HEAP32[$773>>2] = $771; - $774 = HEAP32[$pOld>>2]|0; - $775 = ((($774)) + 20|0); - $776 = HEAP32[$775>>2]|0; - $777 = HEAP32[$pNew>>2]|0; - $778 = ((($777)) + 20|0); - HEAP32[$778>>2] = $776; - $779 = HEAP32[$pOld>>2]|0; - $780 = ((($779)) + 4|0); - HEAP32[$780>>2] = 0; - $781 = HEAP32[$pOld>>2]|0; - $782 = ((($781)) + 8|0); - HEAP32[$782>>2] = 0; - $783 = HEAP32[$pOld>>2]|0; - $784 = ((($783)) + 20|0); - HEAP32[$784>>2] = 0; - } - $785 = HEAP32[$pParse>>2]|0; - $786 = HEAP32[$785>>2]|0; - $787 = HEAP32[$yymsp>>2]|0; - $788 = ((($787)) + -64|0); - $789 = ((($788)) + 4|0); - $790 = HEAP32[$789>>2]|0; - _sqlite3SrcListDelete($786,$790); - break; - } - case 150: case 141: { - HEAP32[$yygotominor>>2] = 0; - $818 = ((($yygotominor)) + 4|0); - HEAP32[$818>>2] = 0; - break; - } - case 143: { - $819 = HEAP32[$pParse>>2]|0; - $820 = HEAP32[$819>>2]|0; - $821 = HEAP32[$yymsp>>2]|0; - $822 = ((($821)) + -16|0); - $823 = ((($822)) + 4|0); - $824 = HEAP32[$yymsp>>2]|0; - $825 = ((($824)) + 4|0); - $826 = (_sqlite3SrcListAppend($820,0,$823,$825)|0); - HEAP32[$yygotominor>>2] = $826; break; } - case 144: { - HEAP32[$yygotominor>>2] = 1; + case 100: { + $751 = HEAP32[$yymsp>>2]|0; + $752 = ((($751)) + 16|0); + $753 = ((($752)) + 4|0); + HEAP32[$753>>2] = 0; break; } - case 145: { - $827 = HEAP32[$pParse>>2]|0; - $828 = HEAP32[$yymsp>>2]|0; - $829 = ((($828)) + -16|0); - $830 = ((($829)) + 4|0); - $831 = (_sqlite3JoinType($827,$830,0,0)|0); - HEAP32[$yygotominor>>2] = $831; - break; - } - case 146: { - $832 = HEAP32[$pParse>>2]|0; + case 101: { + $754 = HEAP32[$pParse>>2]|0; + $755 = HEAP32[$yymsp>>2]|0; + $756 = ((($755)) + -96|0); + $757 = ((($756)) + 4|0); + $758 = HEAP32[$757>>2]|0; + $759 = HEAP32[$yymsp>>2]|0; + $760 = ((($759)) + -80|0); + $761 = ((($760)) + 4|0); + $762 = HEAP32[$yymsp>>2]|0; + $763 = ((($762)) + -64|0); + $764 = ((($763)) + 4|0); + $765 = HEAP32[$yymsp>>2]|0; + $766 = ((($765)) + -48|0); + $767 = ((($766)) + 4|0); + $768 = HEAP32[$yymsp>>2]|0; + $769 = ((($768)) + -16|0); + $770 = ((($769)) + 4|0); + $771 = HEAP32[$770>>2]|0; + $772 = HEAP32[$yymsp>>2]|0; + $773 = ((($772)) + 4|0); + $774 = HEAP32[$773>>2]|0; + $775 = (_sqlite3SrcListAppendFromTerm($754,$758,$761,$764,$767,0,$771,$774)|0); + $776 = HEAP32[$yymsp>>2]|0; + $777 = ((($776)) + -96|0); + $778 = ((($777)) + 4|0); + HEAP32[$778>>2] = $775; + $779 = HEAP32[$pParse>>2]|0; + $780 = HEAP32[$yymsp>>2]|0; + $781 = ((($780)) + -96|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = HEAP32[$yymsp>>2]|0; + $785 = ((($784)) + -32|0); + $786 = ((($785)) + 4|0); + _sqlite3SrcListIndexedBy($779,$783,$786); + break; + } + case 102: { + $787 = HEAP32[$pParse>>2]|0; + $788 = HEAP32[$yymsp>>2]|0; + $789 = ((($788)) + -128|0); + $790 = ((($789)) + 4|0); + $791 = HEAP32[$790>>2]|0; + $792 = HEAP32[$yymsp>>2]|0; + $793 = ((($792)) + -112|0); + $794 = ((($793)) + 4|0); + $795 = HEAP32[$yymsp>>2]|0; + $796 = ((($795)) + -96|0); + $797 = ((($796)) + 4|0); + $798 = HEAP32[$yymsp>>2]|0; + $799 = ((($798)) + -32|0); + $800 = ((($799)) + 4|0); + $801 = HEAP32[$yymsp>>2]|0; + $802 = ((($801)) + -16|0); + $803 = ((($802)) + 4|0); + $804 = HEAP32[$803>>2]|0; + $805 = HEAP32[$yymsp>>2]|0; + $806 = ((($805)) + 4|0); + $807 = HEAP32[$806>>2]|0; + $808 = (_sqlite3SrcListAppendFromTerm($787,$791,$794,$797,$800,0,$804,$807)|0); + $809 = HEAP32[$yymsp>>2]|0; + $810 = ((($809)) + -128|0); + $811 = ((($810)) + 4|0); + HEAP32[$811>>2] = $808; + $812 = HEAP32[$pParse>>2]|0; + $813 = HEAP32[$yymsp>>2]|0; + $814 = ((($813)) + -128|0); + $815 = ((($814)) + 4|0); + $816 = HEAP32[$815>>2]|0; + $817 = HEAP32[$yymsp>>2]|0; + $818 = ((($817)) + -64|0); + $819 = ((($818)) + 4|0); + $820 = HEAP32[$819>>2]|0; + _sqlite3SrcListFuncArgs($812,$816,$820); + break; + } + case 103: { + $821 = HEAP32[$pParse>>2]|0; + $822 = HEAP32[$yymsp>>2]|0; + $823 = ((($822)) + -96|0); + $824 = ((($823)) + 4|0); + $825 = HEAP32[$824>>2]|0; + $826 = HEAP32[$yymsp>>2]|0; + $827 = ((($826)) + -32|0); + $828 = ((($827)) + 4|0); + $829 = HEAP32[$yymsp>>2]|0; + $830 = ((($829)) + -64|0); + $831 = ((($830)) + 4|0); + $832 = HEAP32[$831>>2]|0; $833 = HEAP32[$yymsp>>2]|0; - $834 = ((($833)) + -32|0); + $834 = ((($833)) + -16|0); $835 = ((($834)) + 4|0); - $836 = HEAP32[$yymsp>>2]|0; - $837 = ((($836)) + -16|0); + $836 = HEAP32[$835>>2]|0; + $837 = HEAP32[$yymsp>>2]|0; $838 = ((($837)) + 4|0); - $839 = (_sqlite3JoinType($832,$835,$838,0)|0); - HEAP32[$yygotominor>>2] = $839; - break; - } - case 147: { - $840 = HEAP32[$pParse>>2]|0; + $839 = HEAP32[$838>>2]|0; + $840 = (_sqlite3SrcListAppendFromTerm($821,$825,0,0,$828,$832,$836,$839)|0); $841 = HEAP32[$yymsp>>2]|0; - $842 = ((($841)) + -48|0); + $842 = ((($841)) + -96|0); $843 = ((($842)) + 4|0); - $844 = HEAP32[$yymsp>>2]|0; - $845 = ((($844)) + -32|0); - $846 = ((($845)) + 4|0); - $847 = HEAP32[$yymsp>>2]|0; - $848 = ((($847)) + -16|0); - $849 = ((($848)) + 4|0); - $850 = (_sqlite3JoinType($840,$843,$846,$849)|0); - HEAP32[$yygotominor>>2] = $850; - break; - } - case 234: case 232: case 172: case 165: case 148: { - $851 = HEAP32[$yymsp>>2]|0; - $852 = ((($851)) + 4|0); - $853 = HEAP32[$852>>2]|0; - HEAP32[$yygotominor>>2] = $853; - break; - } - case 235: case 233: case 171: case 164: case 149: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 152: { - HEAP32[$yygotominor>>2] = 0; - $854 = ((($yygotominor)) + 4|0); - HEAP32[$854>>2] = 1; - break; - } - case 181: case 153: { - $855 = HEAP32[$yymsp>>2]|0; - $856 = ((($855)) + -16|0); - $857 = ((($856)) + 4|0); - $858 = HEAP32[$857>>2]|0; - HEAP32[$yygotominor>>2] = $858; - break; - } - case 180: case 154: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 236: case 163: case 156: { - $859 = HEAP32[$yymsp>>2]|0; - $860 = ((($859)) + 4|0); - $861 = HEAP32[$860>>2]|0; - HEAP32[$yygotominor>>2] = $861; + HEAP32[$843>>2] = $840; break; } - case 157: { - $862 = HEAP32[$pParse>>2]|0; - $863 = HEAP32[$yymsp>>2]|0; - $864 = ((($863)) + -48|0); - $865 = ((($864)) + 4|0); - $866 = HEAP32[$865>>2]|0; - $867 = HEAP32[$yymsp>>2]|0; - $868 = ((($867)) + -16|0); - $869 = ((($868)) + 4|0); - $870 = HEAP32[$869>>2]|0; - $871 = (_sqlite3ExprListAppend($862,$866,$870)|0); - HEAP32[$yygotominor>>2] = $871; - $872 = HEAP32[$yygotominor>>2]|0; - $873 = HEAP32[$yymsp>>2]|0; - $874 = ((($873)) + 4|0); + case 104: { + $844 = HEAP32[$yymsp>>2]|0; + $845 = ((($844)) + -96|0); + $846 = ((($845)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + $849 = HEAP32[$yymsp>>2]|0; + $850 = ((($849)) + -32|0); + $851 = ((($850)) + 4|0); + $852 = ((($851)) + 4|0); + $853 = HEAP32[$852>>2]|0; + $854 = ($853|0)==(0); + if ($854) { + $855 = HEAP32[$yymsp>>2]|0; + $856 = ((($855)) + -16|0); + $857 = ((($856)) + 4|0); + $858 = HEAP32[$857>>2]|0; + $859 = ($858|0)==(0|0); + if ($859) { + $860 = HEAP32[$yymsp>>2]|0; + $861 = ((($860)) + 4|0); + $862 = HEAP32[$861>>2]|0; + $863 = ($862|0)==(0|0); + if ($863) { + $864 = HEAP32[$yymsp>>2]|0; + $865 = ((($864)) + -64|0); + $866 = ((($865)) + 4|0); + $867 = HEAP32[$866>>2]|0; + $868 = HEAP32[$yymsp>>2]|0; + $869 = ((($868)) + -96|0); + $870 = ((($869)) + 4|0); + HEAP32[$870>>2] = $867; + break L6; + } + } + } + } + $871 = HEAP32[$yymsp>>2]|0; + $872 = ((($871)) + -64|0); + $873 = ((($872)) + 4|0); + $874 = HEAP32[$873>>2]|0; $875 = HEAP32[$874>>2]|0; - _sqlite3ExprListSetSortOrder($872,$875); - break; - } - case 158: { - $876 = HEAP32[$pParse>>2]|0; - $877 = HEAP32[$yymsp>>2]|0; - $878 = ((($877)) + -16|0); - $879 = ((($878)) + 4|0); - $880 = HEAP32[$879>>2]|0; - $881 = (_sqlite3ExprListAppend($876,0,$880)|0); - HEAP32[$yygotominor>>2] = $881; - $882 = HEAP32[$yygotominor>>2]|0; - $883 = HEAP32[$yymsp>>2]|0; + $876 = ($875|0)==(1); + if (!($876)) { + $945 = HEAP32[$yymsp>>2]|0; + $946 = ((($945)) + -64|0); + $947 = ((($946)) + 4|0); + $948 = HEAP32[$947>>2]|0; + _sqlite3SrcListShiftJoinType($948); + $949 = HEAP32[$pParse>>2]|0; + $950 = HEAP32[$yymsp>>2]|0; + $951 = ((($950)) + -64|0); + $952 = ((($951)) + 4|0); + $953 = HEAP32[$952>>2]|0; + $954 = (_sqlite3SelectNew($949,0,$953,0,0,0,0,1024,0,0)|0); + HEAP32[$pSubquery>>2] = $954; + $955 = HEAP32[$pParse>>2]|0; + $956 = HEAP32[$yymsp>>2]|0; + $957 = ((($956)) + -96|0); + $958 = ((($957)) + 4|0); + $959 = HEAP32[$958>>2]|0; + $960 = HEAP32[$yymsp>>2]|0; + $961 = ((($960)) + -32|0); + $962 = ((($961)) + 4|0); + $963 = HEAP32[$pSubquery>>2]|0; + $964 = HEAP32[$yymsp>>2]|0; + $965 = ((($964)) + -16|0); + $966 = ((($965)) + 4|0); + $967 = HEAP32[$966>>2]|0; + $968 = HEAP32[$yymsp>>2]|0; + $969 = ((($968)) + 4|0); + $970 = HEAP32[$969>>2]|0; + $971 = (_sqlite3SrcListAppendFromTerm($955,$959,0,0,$962,$963,$967,$970)|0); + $972 = HEAP32[$yymsp>>2]|0; + $973 = ((($972)) + -96|0); + $974 = ((($973)) + 4|0); + HEAP32[$974>>2] = $971; + break L6; + } + $877 = HEAP32[$pParse>>2]|0; + $878 = HEAP32[$yymsp>>2]|0; + $879 = ((($878)) + -96|0); + $880 = ((($879)) + 4|0); + $881 = HEAP32[$880>>2]|0; + $882 = HEAP32[$yymsp>>2]|0; + $883 = ((($882)) + -32|0); $884 = ((($883)) + 4|0); - $885 = HEAP32[$884>>2]|0; - _sqlite3ExprListSetSortOrder($882,$885); - break; - } - case 159: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 160: { - HEAP32[$yygotominor>>2] = 1; - break; - } - case 161: { - HEAP32[$yygotominor>>2] = -1; - break; - } - case 166: { - HEAP32[$yygotominor>>2] = 0; - $886 = ((($yygotominor)) + 4|0); - HEAP32[$886>>2] = 0; - break; - } - case 167: { - $887 = HEAP32[$yymsp>>2]|0; - $888 = ((($887)) + 4|0); - $889 = HEAP32[$888>>2]|0; - HEAP32[$yygotominor>>2] = $889; - $890 = ((($yygotominor)) + 4|0); - HEAP32[$890>>2] = 0; - break; - } - case 168: { - $891 = HEAP32[$yymsp>>2]|0; - $892 = ((($891)) + -32|0); - $893 = ((($892)) + 4|0); - $894 = HEAP32[$893>>2]|0; - HEAP32[$yygotominor>>2] = $894; - $895 = HEAP32[$yymsp>>2]|0; - $896 = ((($895)) + 4|0); - $897 = HEAP32[$896>>2]|0; - $898 = ((($yygotominor)) + 4|0); - HEAP32[$898>>2] = $897; - break; - } - case 169: { - $899 = HEAP32[$yymsp>>2]|0; - $900 = ((($899)) + -32|0); - $901 = ((($900)) + 4|0); - $902 = HEAP32[$901>>2]|0; - $903 = ((($yygotominor)) + 4|0); - HEAP32[$903>>2] = $902; - $904 = HEAP32[$yymsp>>2]|0; - $905 = ((($904)) + 4|0); - $906 = HEAP32[$905>>2]|0; - HEAP32[$yygotominor>>2] = $906; - break; - } - case 170: { - $907 = HEAP32[$pParse>>2]|0; - $908 = HEAP32[$yymsp>>2]|0; - $909 = ((($908)) + -80|0); - $910 = ((($909)) + 4|0); - $911 = HEAP32[$910>>2]|0; - _sqlite3WithPush($907,$911,1); - $912 = HEAP32[$pParse>>2]|0; - $913 = HEAP32[$yymsp>>2]|0; - $914 = ((($913)) + -32|0); - $915 = ((($914)) + 4|0); - $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[$yymsp>>2]|0; - $918 = ((($917)) + -16|0); - $919 = ((($918)) + 4|0); - _sqlite3SrcListIndexedBy($912,$916,$919); - $920 = HEAP32[$pParse>>2]|0; - $921 = HEAP32[$yymsp>>2]|0; - $922 = ((($921)) + -32|0); - $923 = ((($922)) + 4|0); - $924 = HEAP32[$923>>2]|0; - $925 = HEAP32[$yymsp>>2]|0; - $926 = ((($925)) + 4|0); - $927 = HEAP32[$926>>2]|0; - _sqlite3DeleteFrom($920,$924,$927); - break; - } - case 173: { - $928 = HEAP32[$pParse>>2]|0; - $929 = HEAP32[$yymsp>>2]|0; - $930 = ((($929)) + -112|0); - $931 = ((($930)) + 4|0); - $932 = HEAP32[$931>>2]|0; - _sqlite3WithPush($928,$932,1); - $933 = HEAP32[$pParse>>2]|0; - $934 = HEAP32[$yymsp>>2]|0; - $935 = ((($934)) + -64|0); - $936 = ((($935)) + 4|0); - $937 = HEAP32[$936>>2]|0; - $938 = HEAP32[$yymsp>>2]|0; - $939 = ((($938)) + -48|0); - $940 = ((($939)) + 4|0); - _sqlite3SrcListIndexedBy($933,$937,$940); - $941 = HEAP32[$pParse>>2]|0; - $942 = HEAP32[$yymsp>>2]|0; - $943 = ((($942)) + -16|0); - $944 = ((($943)) + 4|0); - $945 = HEAP32[$944>>2]|0; - _sqlite3ExprListCheckLength($941,$945,27392); - $946 = HEAP32[$pParse>>2]|0; - $947 = HEAP32[$yymsp>>2]|0; - $948 = ((($947)) + -64|0); - $949 = ((($948)) + 4|0); - $950 = HEAP32[$949>>2]|0; - $951 = HEAP32[$yymsp>>2]|0; - $952 = ((($951)) + -16|0); - $953 = ((($952)) + 4|0); - $954 = HEAP32[$953>>2]|0; - $955 = HEAP32[$yymsp>>2]|0; - $956 = ((($955)) + 4|0); - $957 = HEAP32[$956>>2]|0; - $958 = HEAP32[$yymsp>>2]|0; - $959 = ((($958)) + -80|0); - $960 = ((($959)) + 4|0); - $961 = HEAP32[$960>>2]|0; - _sqlite3Update($946,$950,$954,$957,$961); + $885 = HEAP32[$yymsp>>2]|0; + $886 = ((($885)) + -16|0); + $887 = ((($886)) + 4|0); + $888 = HEAP32[$887>>2]|0; + $889 = HEAP32[$yymsp>>2]|0; + $890 = ((($889)) + 4|0); + $891 = HEAP32[$890>>2]|0; + $892 = (_sqlite3SrcListAppendFromTerm($877,$881,0,0,$884,0,$888,$891)|0); + $893 = HEAP32[$yymsp>>2]|0; + $894 = ((($893)) + -96|0); + $895 = ((($894)) + 4|0); + HEAP32[$895>>2] = $892; + $896 = HEAP32[$yymsp>>2]|0; + $897 = ((($896)) + -96|0); + $898 = ((($897)) + 4|0); + $899 = HEAP32[$898>>2]|0; + $900 = ($899|0)!=(0|0); + if ($900) { + $901 = HEAP32[$yymsp>>2]|0; + $902 = ((($901)) + -96|0); + $903 = ((($902)) + 4|0); + $904 = HEAP32[$903>>2]|0; + $905 = HEAP32[$904>>2]|0; + $906 = (($905) - 1)|0; + $907 = HEAP32[$yymsp>>2]|0; + $908 = ((($907)) + -96|0); + $909 = ((($908)) + 4|0); + $910 = HEAP32[$909>>2]|0; + $911 = ((($910)) + 8|0); + $912 = (($911) + (($906*72)|0)|0); + HEAP32[$pNew>>2] = $912; + $913 = HEAP32[$yymsp>>2]|0; + $914 = ((($913)) + -64|0); + $915 = ((($914)) + 4|0); + $916 = HEAP32[$915>>2]|0; + $917 = ((($916)) + 8|0); + HEAP32[$pOld>>2] = $917; + $918 = HEAP32[$pOld>>2]|0; + $919 = ((($918)) + 8|0); + $920 = HEAP32[$919>>2]|0; + $921 = HEAP32[$pNew>>2]|0; + $922 = ((($921)) + 8|0); + HEAP32[$922>>2] = $920; + $923 = HEAP32[$pOld>>2]|0; + $924 = ((($923)) + 4|0); + $925 = HEAP32[$924>>2]|0; + $926 = HEAP32[$pNew>>2]|0; + $927 = ((($926)) + 4|0); + HEAP32[$927>>2] = $925; + $928 = HEAP32[$pOld>>2]|0; + $929 = ((($928)) + 20|0); + $930 = HEAP32[$929>>2]|0; + $931 = HEAP32[$pNew>>2]|0; + $932 = ((($931)) + 20|0); + HEAP32[$932>>2] = $930; + $933 = HEAP32[$pOld>>2]|0; + $934 = ((($933)) + 4|0); + HEAP32[$934>>2] = 0; + $935 = HEAP32[$pOld>>2]|0; + $936 = ((($935)) + 8|0); + HEAP32[$936>>2] = 0; + $937 = HEAP32[$pOld>>2]|0; + $938 = ((($937)) + 20|0); + HEAP32[$938>>2] = 0; + } + $939 = HEAP32[$pParse>>2]|0; + $940 = HEAP32[$939>>2]|0; + $941 = HEAP32[$yymsp>>2]|0; + $942 = ((($941)) + -64|0); + $943 = ((($942)) + 4|0); + $944 = HEAP32[$943>>2]|0; + _sqlite3SrcListDelete($940,$944); + break; + } + case 114: case 105: { + $975 = HEAP32[$yymsp>>2]|0; + $976 = ((($975)) + 16|0); + $977 = ((($976)) + 4|0); + HEAP32[$977>>2] = 0; + $978 = HEAP32[$yymsp>>2]|0; + $979 = ((($978)) + 16|0); + $980 = ((($979)) + 4|0); + $981 = ((($980)) + 4|0); + HEAP32[$981>>2] = 0; + break; + } + case 107: { + $982 = HEAP32[$pParse>>2]|0; + $983 = HEAP32[$982>>2]|0; + $984 = HEAP32[$yymsp>>2]|0; + $985 = ((($984)) + -16|0); + $986 = ((($985)) + 4|0); + $987 = HEAP32[$yymsp>>2]|0; + $988 = ((($987)) + 4|0); + $989 = (_sqlite3SrcListAppend($983,0,$986,$988)|0); + $990 = HEAP32[$yymsp>>2]|0; + $991 = ((($990)) + -16|0); + $992 = ((($991)) + 4|0); + HEAP32[$992>>2] = $989; break; } - case 174: { - $962 = HEAP32[$pParse>>2]|0; - $963 = HEAP32[$yymsp>>2]|0; - $964 = ((($963)) + -64|0); - $965 = ((($964)) + 4|0); - $966 = HEAP32[$965>>2]|0; - $967 = HEAP32[$yymsp>>2]|0; - $968 = ((($967)) + 4|0); - $969 = HEAP32[$968>>2]|0; - $970 = (_sqlite3ExprListAppend($962,$966,$969)|0); - HEAP32[$yygotominor>>2] = $970; - $971 = HEAP32[$pParse>>2]|0; - $972 = HEAP32[$yygotominor>>2]|0; - $973 = HEAP32[$yymsp>>2]|0; - $974 = ((($973)) + -32|0); - $975 = ((($974)) + 4|0); - _sqlite3ExprListSetName($971,$972,$975,1); + case 108: { + $993 = HEAP32[$yymsp>>2]|0; + $994 = ((($993)) + 4|0); + HEAP32[$994>>2] = 1; break; } - case 175: { - $976 = HEAP32[$pParse>>2]|0; - $977 = HEAP32[$yymsp>>2]|0; - $978 = ((($977)) + 4|0); - $979 = HEAP32[$978>>2]|0; - $980 = (_sqlite3ExprListAppend($976,0,$979)|0); - HEAP32[$yygotominor>>2] = $980; - $981 = HEAP32[$pParse>>2]|0; - $982 = HEAP32[$yygotominor>>2]|0; - $983 = HEAP32[$yymsp>>2]|0; - $984 = ((($983)) + -32|0); - $985 = ((($984)) + 4|0); - _sqlite3ExprListSetName($981,$982,$985,1); + case 109: { + $995 = HEAP32[$pParse>>2]|0; + $996 = HEAP32[$yymsp>>2]|0; + $997 = ((($996)) + -16|0); + $998 = ((($997)) + 4|0); + $999 = (_sqlite3JoinType($995,$998,0,0)|0); + $1000 = HEAP32[$yymsp>>2]|0; + $1001 = ((($1000)) + -16|0); + $1002 = ((($1001)) + 4|0); + HEAP32[$1002>>2] = $999; break; } - case 176: { - $986 = HEAP32[$pParse>>2]|0; - $987 = HEAP32[$yymsp>>2]|0; - $988 = ((($987)) + -80|0); - $989 = ((($988)) + 4|0); - $990 = HEAP32[$989>>2]|0; - _sqlite3WithPush($986,$990,1); - $991 = HEAP32[$pParse>>2]|0; - $992 = HEAP32[$yymsp>>2]|0; - $993 = ((($992)) + -32|0); - $994 = ((($993)) + 4|0); - $995 = HEAP32[$994>>2]|0; - $996 = HEAP32[$yymsp>>2]|0; - $997 = ((($996)) + 4|0); - $998 = HEAP32[$997>>2]|0; - $999 = HEAP32[$yymsp>>2]|0; - $1000 = ((($999)) + -16|0); - $1001 = ((($1000)) + 4|0); - $1002 = HEAP32[$1001>>2]|0; - $1003 = HEAP32[$yymsp>>2]|0; - $1004 = ((($1003)) + -64|0); - $1005 = ((($1004)) + 4|0); - $1006 = HEAP32[$1005>>2]|0; - _sqlite3Insert($991,$995,$998,$1002,$1006); + case 110: { + $1003 = HEAP32[$pParse>>2]|0; + $1004 = HEAP32[$yymsp>>2]|0; + $1005 = ((($1004)) + -32|0); + $1006 = ((($1005)) + 4|0); + $1007 = HEAP32[$yymsp>>2]|0; + $1008 = ((($1007)) + -16|0); + $1009 = ((($1008)) + 4|0); + $1010 = (_sqlite3JoinType($1003,$1006,$1009,0)|0); + $1011 = HEAP32[$yymsp>>2]|0; + $1012 = ((($1011)) + -32|0); + $1013 = ((($1012)) + 4|0); + HEAP32[$1013>>2] = $1010; break; } - case 177: { - $1007 = HEAP32[$pParse>>2]|0; - $1008 = HEAP32[$yymsp>>2]|0; - $1009 = ((($1008)) + -96|0); - $1010 = ((($1009)) + 4|0); - $1011 = HEAP32[$1010>>2]|0; - _sqlite3WithPush($1007,$1011,1); - $1012 = HEAP32[$pParse>>2]|0; - $1013 = HEAP32[$yymsp>>2]|0; - $1014 = ((($1013)) + -48|0); - $1015 = ((($1014)) + 4|0); - $1016 = HEAP32[$1015>>2]|0; - $1017 = HEAP32[$yymsp>>2]|0; - $1018 = ((($1017)) + -32|0); - $1019 = ((($1018)) + 4|0); - $1020 = HEAP32[$1019>>2]|0; + case 111: { + $1014 = HEAP32[$pParse>>2]|0; + $1015 = HEAP32[$yymsp>>2]|0; + $1016 = ((($1015)) + -48|0); + $1017 = ((($1016)) + 4|0); + $1018 = HEAP32[$yymsp>>2]|0; + $1019 = ((($1018)) + -32|0); + $1020 = ((($1019)) + 4|0); $1021 = HEAP32[$yymsp>>2]|0; - $1022 = ((($1021)) + -80|0); + $1022 = ((($1021)) + -16|0); $1023 = ((($1022)) + 4|0); - $1024 = HEAP32[$1023>>2]|0; - _sqlite3Insert($1012,$1016,0,$1020,$1024); + $1024 = (_sqlite3JoinType($1014,$1017,$1020,$1023)|0); + $1025 = HEAP32[$yymsp>>2]|0; + $1026 = ((($1025)) + -48|0); + $1027 = ((($1026)) + 4|0); + HEAP32[$1027>>2] = $1024; break; } - case 182: { - $1025 = HEAP32[$pParse>>2]|0; - $1026 = HEAP32[$1025>>2]|0; - $1027 = HEAP32[$yymsp>>2]|0; - $1028 = ((($1027)) + -32|0); + case 195: case 136: case 129: case 112: { + $1028 = HEAP32[$yymsp>>2]|0; $1029 = ((($1028)) + 4|0); $1030 = HEAP32[$1029>>2]|0; $1031 = HEAP32[$yymsp>>2]|0; - $1032 = ((($1031)) + 4|0); - $1033 = (_sqlite3IdListAppend($1026,$1030,$1032)|0); - HEAP32[$yygotominor>>2] = $1033; + $1032 = ((($1031)) + -16|0); + $1033 = ((($1032)) + 4|0); + HEAP32[$1033>>2] = $1030; break; } - case 183: { - $1034 = HEAP32[$pParse>>2]|0; - $1035 = HEAP32[$1034>>2]|0; - $1036 = HEAP32[$yymsp>>2]|0; - $1037 = ((($1036)) + 4|0); - $1038 = (_sqlite3IdListAppend($1035,0,$1037)|0); - HEAP32[$yygotominor>>2] = $1038; + case 198: case 196: case 135: case 128: case 113: { + $1034 = HEAP32[$yymsp>>2]|0; + $1035 = ((($1034)) + 16|0); + $1036 = ((($1035)) + 4|0); + HEAP32[$1036>>2] = 0; break; } - case 184: { - $1039 = HEAP32[$yymsp>>2]|0; - $1040 = ((($1039)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$1040>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1040+4>>2]|0;HEAP32[$yygotominor+8>>2]=HEAP32[$1040+8>>2]|0; + case 115: { + $1037 = HEAP32[$yymsp>>2]|0; + $1038 = ((($1037)) + -32|0); + $1039 = ((($1038)) + 4|0); + $1040 = HEAP32[$yymsp>>2]|0; + $1041 = ((($1040)) + 4|0); + ;HEAP32[$1039>>2]=HEAP32[$1041>>2]|0;HEAP32[$1039+4>>2]=HEAP32[$1041+4>>2]|0; break; } - case 185: { - $1041 = HEAP32[$yymsp>>2]|0; - $1042 = ((($1041)) + -16|0); - $1043 = ((($1042)) + 4|0); - $1044 = HEAP32[$1043>>2]|0; - HEAP32[$yygotominor>>2] = $1044; + case 116: { + $1042 = HEAP32[$yymsp>>2]|0; + $1043 = ((($1042)) + -16|0); + $1044 = ((($1043)) + 4|0); + HEAP32[$1044>>2] = 0; $1045 = HEAP32[$yymsp>>2]|0; - $1046 = ((($1045)) + -32|0); + $1046 = ((($1045)) + -16|0); $1047 = ((($1046)) + 4|0); - $1048 = HEAP32[$yymsp>>2]|0; - $1049 = ((($1048)) + 4|0); - _spanSet($yygotominor,$1047,$1049); + $1048 = ((($1047)) + 4|0); + HEAP32[$1048>>2] = 1; break; } - case 192: case 191: case 186: { - $1050 = HEAP32[$pParse>>2]|0; - $1051 = HEAP32[$yymsp>>2]|0; - $1052 = ((($1051)) + 2|0); - $1053 = HEAP8[$1052>>0]|0; - $1054 = $1053&255; - $1055 = HEAP32[$yymsp>>2]|0; - $1056 = ((($1055)) + 4|0); - _spanExpr($yygotominor,$1050,$1054,$1056); + case 117: { + $1049 = HEAP32[$yymsp>>2]|0; + $1050 = ((($1049)) + -16|0); + $1051 = ((($1050)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = HEAP32[$yymsp>>2]|0; + $1054 = ((($1053)) + -48|0); + $1055 = ((($1054)) + 4|0); + HEAP32[$1055>>2] = $1052; break; } - case 188: case 187: { - $1057 = HEAP32[$pParse>>2]|0; - $1058 = HEAP32[$yymsp>>2]|0; - $1059 = ((($1058)) + 4|0); - _spanExpr($yygotominor,$1057,27,$1059); + case 144: case 118: { + $1056 = HEAP32[$yymsp>>2]|0; + $1057 = ((($1056)) + 16|0); + $1058 = ((($1057)) + 4|0); + HEAP32[$1058>>2] = 0; break; } - case 189: { - $1060 = HEAP32[$pParse>>2]|0; - $1061 = HEAP32[$yymsp>>2]|0; - $1062 = ((($1061)) + -32|0); - $1063 = ((($1062)) + 4|0); - $1064 = (_sqlite3PExpr($1060,27,0,0,$1063)|0); - HEAP32[$temp1>>2] = $1064; + case 127: case 120: { + $1059 = HEAP32[$yymsp>>2]|0; + $1060 = ((($1059)) + 4|0); + $1061 = HEAP32[$1060>>2]|0; + $1062 = HEAP32[$yymsp>>2]|0; + $1063 = ((($1062)) + -32|0); + $1064 = ((($1063)) + 4|0); + HEAP32[$1064>>2] = $1061; + break; + } + case 121: { $1065 = HEAP32[$pParse>>2]|0; $1066 = HEAP32[$yymsp>>2]|0; - $1067 = ((($1066)) + 4|0); - $1068 = (_sqlite3PExpr($1065,27,0,0,$1067)|0); - HEAP32[$temp2>>2] = $1068; - $1069 = HEAP32[$pParse>>2]|0; - $1070 = HEAP32[$temp1>>2]|0; - $1071 = HEAP32[$temp2>>2]|0; - $1072 = (_sqlite3PExpr($1069,122,$1070,$1071,0)|0); - HEAP32[$yygotominor>>2] = $1072; - $1073 = HEAP32[$yymsp>>2]|0; - $1074 = ((($1073)) + -32|0); - $1075 = ((($1074)) + 4|0); - $1076 = HEAP32[$yymsp>>2]|0; + $1067 = ((($1066)) + -48|0); + $1068 = ((($1067)) + 4|0); + $1069 = HEAP32[$1068>>2]|0; + $1070 = HEAP32[$yymsp>>2]|0; + $1071 = ((($1070)) + -16|0); + $1072 = ((($1071)) + 4|0); + $1073 = HEAP32[$1072>>2]|0; + $1074 = (_sqlite3ExprListAppend($1065,$1069,$1073)|0); + $1075 = HEAP32[$yymsp>>2]|0; + $1076 = ((($1075)) + -48|0); $1077 = ((($1076)) + 4|0); - _spanSet($yygotominor,$1075,$1077); + HEAP32[$1077>>2] = $1074; + $1078 = HEAP32[$yymsp>>2]|0; + $1079 = ((($1078)) + -48|0); + $1080 = ((($1079)) + 4|0); + $1081 = HEAP32[$1080>>2]|0; + $1082 = HEAP32[$yymsp>>2]|0; + $1083 = ((($1082)) + 4|0); + $1084 = HEAP32[$1083>>2]|0; + _sqlite3ExprListSetSortOrder($1081,$1084); break; } - case 190: { - $1078 = HEAP32[$pParse>>2]|0; - $1079 = HEAP32[$yymsp>>2]|0; - $1080 = ((($1079)) + -64|0); - $1081 = ((($1080)) + 4|0); - $1082 = (_sqlite3PExpr($1078,27,0,0,$1081)|0); - HEAP32[$temp15>>2] = $1082; - $1083 = HEAP32[$pParse>>2]|0; - $1084 = HEAP32[$yymsp>>2]|0; - $1085 = ((($1084)) + -32|0); - $1086 = ((($1085)) + 4|0); - $1087 = (_sqlite3PExpr($1083,27,0,0,$1086)|0); - HEAP32[$temp26>>2] = $1087; - $1088 = HEAP32[$pParse>>2]|0; - $1089 = HEAP32[$yymsp>>2]|0; - $1090 = ((($1089)) + 4|0); - $1091 = (_sqlite3PExpr($1088,27,0,0,$1090)|0); - HEAP32[$temp3>>2] = $1091; - $1092 = HEAP32[$pParse>>2]|0; - $1093 = HEAP32[$temp26>>2]|0; - $1094 = HEAP32[$temp3>>2]|0; - $1095 = (_sqlite3PExpr($1092,122,$1093,$1094,0)|0); - HEAP32[$temp4>>2] = $1095; - $1096 = HEAP32[$pParse>>2]|0; - $1097 = HEAP32[$temp15>>2]|0; - $1098 = HEAP32[$temp4>>2]|0; - $1099 = (_sqlite3PExpr($1096,122,$1097,$1098,0)|0); - HEAP32[$yygotominor>>2] = $1099; - $1100 = HEAP32[$yymsp>>2]|0; - $1101 = ((($1100)) + -64|0); + case 122: { + $1085 = HEAP32[$pParse>>2]|0; + $1086 = HEAP32[$yymsp>>2]|0; + $1087 = ((($1086)) + -16|0); + $1088 = ((($1087)) + 4|0); + $1089 = HEAP32[$1088>>2]|0; + $1090 = (_sqlite3ExprListAppend($1085,0,$1089)|0); + $1091 = HEAP32[$yymsp>>2]|0; + $1092 = ((($1091)) + -16|0); + $1093 = ((($1092)) + 4|0); + HEAP32[$1093>>2] = $1090; + $1094 = HEAP32[$yymsp>>2]|0; + $1095 = ((($1094)) + -16|0); + $1096 = ((($1095)) + 4|0); + $1097 = HEAP32[$1096>>2]|0; + $1098 = HEAP32[$yymsp>>2]|0; + $1099 = ((($1098)) + 4|0); + $1100 = HEAP32[$1099>>2]|0; + _sqlite3ExprListSetSortOrder($1097,$1100); + break; + } + case 123: { + $1101 = HEAP32[$yymsp>>2]|0; $1102 = ((($1101)) + 4|0); + HEAP32[$1102>>2] = 0; + break; + } + case 124: { $1103 = HEAP32[$yymsp>>2]|0; $1104 = ((($1103)) + 4|0); - _spanSet($yygotominor,$1102,$1104); + HEAP32[$1104>>2] = 1; break; } - case 193: { + case 125: { $1105 = HEAP32[$yymsp>>2]|0; - $1106 = ((($1105)) + 4|0); + $1106 = ((($1105)) + 16|0); $1107 = ((($1106)) + 4|0); - $1108 = HEAP32[$1107>>2]|0; - $1109 = ($1108>>>0)>=(2); - do { - if ($1109) { - $1110 = HEAP32[$yymsp>>2]|0; - $1111 = ((($1110)) + 4|0); - $1112 = HEAP32[$1111>>2]|0; - $1113 = HEAP8[$1112>>0]|0; - $1114 = $1113 << 24 >> 24; - $1115 = ($1114|0)==(35); - if ($1115) { - $1116 = HEAP32[$yymsp>>2]|0; - $1117 = ((($1116)) + 4|0); - $1118 = HEAP32[$1117>>2]|0; - $1119 = ((($1118)) + 1|0); - $1120 = HEAP8[$1119>>0]|0; - $1121 = $1120&255; - $1122 = (19267 + ($1121)|0); - $1123 = HEAP8[$1122>>0]|0; - $1124 = $1123&255; - $1125 = $1124 & 4; - $1126 = ($1125|0)!=(0); - if ($1126) { - $1127 = HEAP32[$pParse>>2]|0; - $1128 = ((($1127)) + 18|0); - $1129 = HEAP8[$1128>>0]|0; - $1130 = $1129&255; - $1131 = ($1130|0)==(0); - $1132 = HEAP32[$pParse>>2]|0; - $1133 = HEAP32[$yymsp>>2]|0; - $1134 = ((($1133)) + 4|0); - if ($1131) { - HEAP32[$vararg_buffer2>>2] = $1134; - _sqlite3ErrorMsg($1132,27341,$vararg_buffer2); - HEAP32[$yygotominor>>2] = 0; - break; - } - $1135 = (_sqlite3PExpr($1132,157,0,0,$1134)|0); - HEAP32[$yygotominor>>2] = $1135; - $1136 = HEAP32[$yygotominor>>2]|0; - $1137 = ($1136|0)!=(0|0); - if ($1137) { - $1138 = HEAP32[$yymsp>>2]|0; - $1139 = ((($1138)) + 4|0); - $1140 = HEAP32[$1139>>2]|0; - $1141 = ((($1140)) + 1|0); - $1142 = HEAP32[$yygotominor>>2]|0; - $1143 = ((($1142)) + 28|0); - (_sqlite3GetInt32($1141,$1143)|0); - } - } else { - label = 161; - } - } else { - label = 161; - } - } else { - label = 161; - } - } while(0); - if ((label|0) == 161) { - $1144 = HEAP32[$pParse>>2]|0; - $1145 = HEAP32[$yymsp>>2]|0; - $1146 = ((($1145)) + 4|0); - _spanExpr($yygotominor,$1144,135,$1146); - $1147 = HEAP32[$pParse>>2]|0; - $1148 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprAssignVarNumber($1147,$1148); - } - $1149 = HEAP32[$yymsp>>2]|0; - $1150 = ((($1149)) + 4|0); - $1151 = HEAP32[$yymsp>>2]|0; + HEAP32[$1107>>2] = -1; + break; + } + case 130: { + $1108 = HEAP32[$yymsp>>2]|0; + $1109 = ((($1108)) + 16|0); + $1110 = ((($1109)) + 4|0); + HEAP32[$1110>>2] = 0; + $1111 = HEAP32[$yymsp>>2]|0; + $1112 = ((($1111)) + 16|0); + $1113 = ((($1112)) + 4|0); + $1114 = ((($1113)) + 4|0); + HEAP32[$1114>>2] = 0; + break; + } + case 131: { + $1115 = HEAP32[$yymsp>>2]|0; + $1116 = ((($1115)) + 4|0); + $1117 = HEAP32[$1116>>2]|0; + $1118 = HEAP32[$yymsp>>2]|0; + $1119 = ((($1118)) + -16|0); + $1120 = ((($1119)) + 4|0); + HEAP32[$1120>>2] = $1117; + $1121 = HEAP32[$yymsp>>2]|0; + $1122 = ((($1121)) + -16|0); + $1123 = ((($1122)) + 4|0); + $1124 = ((($1123)) + 4|0); + HEAP32[$1124>>2] = 0; + break; + } + case 132: { + $1125 = HEAP32[$yymsp>>2]|0; + $1126 = ((($1125)) + -32|0); + $1127 = ((($1126)) + 4|0); + $1128 = HEAP32[$1127>>2]|0; + $1129 = HEAP32[$yymsp>>2]|0; + $1130 = ((($1129)) + -48|0); + $1131 = ((($1130)) + 4|0); + HEAP32[$1131>>2] = $1128; + $1132 = HEAP32[$yymsp>>2]|0; + $1133 = ((($1132)) + 4|0); + $1134 = HEAP32[$1133>>2]|0; + $1135 = HEAP32[$yymsp>>2]|0; + $1136 = ((($1135)) + -48|0); + $1137 = ((($1136)) + 4|0); + $1138 = ((($1137)) + 4|0); + HEAP32[$1138>>2] = $1134; + break; + } + case 133: { + $1139 = HEAP32[$yymsp>>2]|0; + $1140 = ((($1139)) + -32|0); + $1141 = ((($1140)) + 4|0); + $1142 = HEAP32[$1141>>2]|0; + $1143 = HEAP32[$yymsp>>2]|0; + $1144 = ((($1143)) + -48|0); + $1145 = ((($1144)) + 4|0); + $1146 = ((($1145)) + 4|0); + HEAP32[$1146>>2] = $1142; + $1147 = HEAP32[$yymsp>>2]|0; + $1148 = ((($1147)) + 4|0); + $1149 = HEAP32[$1148>>2]|0; + $1150 = HEAP32[$yymsp>>2]|0; + $1151 = ((($1150)) + -48|0); $1152 = ((($1151)) + 4|0); - _spanSet($yygotominor,$1150,$1152); + HEAP32[$1152>>2] = $1149; break; } - case 194: { + case 134: { $1153 = HEAP32[$pParse>>2]|0; $1154 = HEAP32[$yymsp>>2]|0; - $1155 = ((($1154)) + -32|0); + $1155 = ((($1154)) + -80|0); $1156 = ((($1155)) + 4|0); $1157 = HEAP32[$1156>>2]|0; - $1158 = HEAP32[$yymsp>>2]|0; - $1159 = ((($1158)) + 4|0); - $1160 = (_sqlite3ExprAddCollateToken($1153,$1157,$1159,1)|0); - HEAP32[$yygotominor>>2] = $1160; - $1161 = HEAP32[$yymsp>>2]|0; - $1162 = ((($1161)) + -32|0); - $1163 = ((($1162)) + 4|0); - $1164 = ((($1163)) + 4|0); - $1165 = HEAP32[$1164>>2]|0; - $1166 = ((($yygotominor)) + 4|0); - HEAP32[$1166>>2] = $1165; + _sqlite3WithPush($1153,$1157,1); + $1158 = HEAP32[$pParse>>2]|0; + $1159 = HEAP32[$yymsp>>2]|0; + $1160 = ((($1159)) + -32|0); + $1161 = ((($1160)) + 4|0); + $1162 = HEAP32[$1161>>2]|0; + $1163 = HEAP32[$yymsp>>2]|0; + $1164 = ((($1163)) + -16|0); + $1165 = ((($1164)) + 4|0); + _sqlite3SrcListIndexedBy($1158,$1162,$1165); + $1166 = HEAP32[$pParse>>2]|0; $1167 = HEAP32[$yymsp>>2]|0; - $1168 = ((($1167)) + 4|0); + $1168 = ((($1167)) + -32|0); $1169 = ((($1168)) + 4|0); $1170 = HEAP32[$1169>>2]|0; $1171 = HEAP32[$yymsp>>2]|0; $1172 = ((($1171)) + 4|0); $1173 = HEAP32[$1172>>2]|0; - $1174 = (($1173) + ($1170)|0); - $1175 = ((($yygotominor)) + 8|0); - HEAP32[$1175>>2] = $1174; - break; - } - case 195: { - $1176 = HEAP32[$pParse>>2]|0; - $1177 = HEAP32[$yymsp>>2]|0; - $1178 = ((($1177)) + -48|0); - $1179 = ((($1178)) + 4|0); - $1180 = HEAP32[$1179>>2]|0; - $1181 = HEAP32[$yymsp>>2]|0; - $1182 = ((($1181)) + -16|0); - $1183 = ((($1182)) + 4|0); - $1184 = (_sqlite3PExpr($1176,38,$1180,0,$1183)|0); - HEAP32[$yygotominor>>2] = $1184; - $1185 = HEAP32[$yymsp>>2]|0; - $1186 = ((($1185)) + -80|0); - $1187 = ((($1186)) + 4|0); + _sqlite3DeleteFrom($1166,$1170,$1173); + break; + } + case 137: { + $1174 = HEAP32[$pParse>>2]|0; + $1175 = HEAP32[$yymsp>>2]|0; + $1176 = ((($1175)) + -112|0); + $1177 = ((($1176)) + 4|0); + $1178 = HEAP32[$1177>>2]|0; + _sqlite3WithPush($1174,$1178,1); + $1179 = HEAP32[$pParse>>2]|0; + $1180 = HEAP32[$yymsp>>2]|0; + $1181 = ((($1180)) + -64|0); + $1182 = ((($1181)) + 4|0); + $1183 = HEAP32[$1182>>2]|0; + $1184 = HEAP32[$yymsp>>2]|0; + $1185 = ((($1184)) + -48|0); + $1186 = ((($1185)) + 4|0); + _sqlite3SrcListIndexedBy($1179,$1183,$1186); + $1187 = HEAP32[$pParse>>2]|0; $1188 = HEAP32[$yymsp>>2]|0; - $1189 = ((($1188)) + 4|0); - _spanSet($yygotominor,$1187,$1189); - break; - } - case 196: { - $1190 = HEAP32[$yymsp>>2]|0; - $1191 = ((($1190)) + -16|0); - $1192 = ((($1191)) + 4|0); - $1193 = HEAP32[$1192>>2]|0; - $1194 = ($1193|0)!=(0|0); - if ($1194) { - $1195 = HEAP32[$yymsp>>2]|0; - $1196 = ((($1195)) + -16|0); - $1197 = ((($1196)) + 4|0); - $1198 = HEAP32[$1197>>2]|0; - $1199 = HEAP32[$1198>>2]|0; - $1200 = HEAP32[$pParse>>2]|0; - $1201 = HEAP32[$1200>>2]|0; - $1202 = ((($1201)) + 88|0); - $1203 = ((($1202)) + 24|0); - $1204 = HEAP32[$1203>>2]|0; - $1205 = ($1199|0)>($1204|0); - if ($1205) { - $1206 = HEAP32[$pParse>>2]|0; - $1207 = HEAP32[$yymsp>>2]|0; - $1208 = ((($1207)) + -64|0); - $1209 = ((($1208)) + 4|0); - HEAP32[$vararg_buffer5>>2] = $1209; - _sqlite3ErrorMsg($1206,27401,$vararg_buffer5); - } - } - $1210 = HEAP32[$pParse>>2]|0; - $1211 = HEAP32[$yymsp>>2]|0; - $1212 = ((($1211)) + -16|0); - $1213 = ((($1212)) + 4|0); - $1214 = HEAP32[$1213>>2]|0; - $1215 = HEAP32[$yymsp>>2]|0; - $1216 = ((($1215)) + -64|0); - $1217 = ((($1216)) + 4|0); - $1218 = (_sqlite3ExprFunction($1210,$1214,$1217)|0); - HEAP32[$yygotominor>>2] = $1218; - $1219 = HEAP32[$yymsp>>2]|0; - $1220 = ((($1219)) + -64|0); - $1221 = ((($1220)) + 4|0); - $1222 = HEAP32[$yymsp>>2]|0; + $1189 = ((($1188)) + -16|0); + $1190 = ((($1189)) + 4|0); + $1191 = HEAP32[$1190>>2]|0; + _sqlite3ExprListCheckLength($1187,$1191,27773); + $1192 = HEAP32[$pParse>>2]|0; + $1193 = HEAP32[$yymsp>>2]|0; + $1194 = ((($1193)) + -64|0); + $1195 = ((($1194)) + 4|0); + $1196 = HEAP32[$1195>>2]|0; + $1197 = HEAP32[$yymsp>>2]|0; + $1198 = ((($1197)) + -16|0); + $1199 = ((($1198)) + 4|0); + $1200 = HEAP32[$1199>>2]|0; + $1201 = HEAP32[$yymsp>>2]|0; + $1202 = ((($1201)) + 4|0); + $1203 = HEAP32[$1202>>2]|0; + $1204 = HEAP32[$yymsp>>2]|0; + $1205 = ((($1204)) + -80|0); + $1206 = ((($1205)) + 4|0); + $1207 = HEAP32[$1206>>2]|0; + _sqlite3Update($1192,$1196,$1200,$1203,$1207); + break; + } + case 138: { + $1208 = HEAP32[$pParse>>2]|0; + $1209 = HEAP32[$yymsp>>2]|0; + $1210 = ((($1209)) + -64|0); + $1211 = ((($1210)) + 4|0); + $1212 = HEAP32[$1211>>2]|0; + $1213 = HEAP32[$yymsp>>2]|0; + $1214 = ((($1213)) + 4|0); + $1215 = HEAP32[$1214>>2]|0; + $1216 = (_sqlite3ExprListAppend($1208,$1212,$1215)|0); + $1217 = HEAP32[$yymsp>>2]|0; + $1218 = ((($1217)) + -64|0); + $1219 = ((($1218)) + 4|0); + HEAP32[$1219>>2] = $1216; + $1220 = HEAP32[$pParse>>2]|0; + $1221 = HEAP32[$yymsp>>2]|0; + $1222 = ((($1221)) + -64|0); $1223 = ((($1222)) + 4|0); - _spanSet($yygotominor,$1221,$1223); - $1224 = HEAP32[$yymsp>>2]|0; - $1225 = ((($1224)) + -32|0); - $1226 = ((($1225)) + 4|0); - $1227 = HEAP32[$1226>>2]|0; - $1228 = ($1227|0)==(1); - if ($1228) { - $1229 = HEAP32[$yygotominor>>2]|0; - $1230 = ($1229|0)!=(0|0); - if ($1230) { - $1231 = HEAP32[$yygotominor>>2]|0; - $1232 = ((($1231)) + 4|0); - $1233 = HEAP32[$1232>>2]|0; - $1234 = $1233 | 16; - HEAP32[$1232>>2] = $1234; - } - } + $1224 = HEAP32[$1223>>2]|0; + $1225 = HEAP32[$yymsp>>2]|0; + $1226 = ((($1225)) + -32|0); + $1227 = ((($1226)) + 4|0); + _sqlite3ExprListSetName($1220,$1224,$1227,1); break; } - case 197: { - $1235 = HEAP32[$pParse>>2]|0; - $1236 = HEAP32[$yymsp>>2]|0; - $1237 = ((($1236)) + -48|0); - $1238 = ((($1237)) + 4|0); - $1239 = (_sqlite3ExprFunction($1235,0,$1238)|0); - HEAP32[$yygotominor>>2] = $1239; - $1240 = HEAP32[$yymsp>>2]|0; - $1241 = ((($1240)) + -48|0); - $1242 = ((($1241)) + 4|0); - $1243 = HEAP32[$yymsp>>2]|0; - $1244 = ((($1243)) + 4|0); - _spanSet($yygotominor,$1242,$1244); + case 139: { + $1228 = HEAP32[$pParse>>2]|0; + $1229 = HEAP32[$yymsp>>2]|0; + $1230 = ((($1229)) + 4|0); + $1231 = HEAP32[$1230>>2]|0; + $1232 = (_sqlite3ExprListAppend($1228,0,$1231)|0); + HEAP32[$yylhsminor>>2] = $1232; + $1233 = HEAP32[$pParse>>2]|0; + $1234 = HEAP32[$yylhsminor>>2]|0; + $1235 = HEAP32[$yymsp>>2]|0; + $1236 = ((($1235)) + -32|0); + $1237 = ((($1236)) + 4|0); + _sqlite3ExprListSetName($1233,$1234,$1237,1); + $1238 = HEAP32[$yylhsminor>>2]|0; + $1239 = HEAP32[$yymsp>>2]|0; + $1240 = ((($1239)) + -32|0); + $1241 = ((($1240)) + 4|0); + HEAP32[$1241>>2] = $1238; break; } - case 198: { - $1245 = HEAP32[$pParse>>2]|0; - $1246 = HEAP32[$yymsp>>2]|0; - $1247 = ((($1246)) + 4|0); - $1248 = (_sqlite3ExprFunction($1245,0,$1247)|0); - HEAP32[$yygotominor>>2] = $1248; - $1249 = HEAP32[$yymsp>>2]|0; + case 140: { + $1242 = HEAP32[$pParse>>2]|0; + $1243 = HEAP32[$yymsp>>2]|0; + $1244 = ((($1243)) + -80|0); + $1245 = ((($1244)) + 4|0); + $1246 = HEAP32[$1245>>2]|0; + _sqlite3WithPush($1242,$1246,1); + $1247 = HEAP32[$pParse>>2]|0; + $1248 = HEAP32[$yymsp>>2]|0; + $1249 = ((($1248)) + -32|0); $1250 = ((($1249)) + 4|0); - $1251 = HEAP32[$yymsp>>2]|0; - $1252 = ((($1251)) + 4|0); - _spanSet($yygotominor,$1250,$1252); - break; - } - case 206: case 205: case 204: case 203: case 202: case 201: case 200: case 199: { - $1253 = HEAP32[$pParse>>2]|0; - $1254 = HEAP32[$yymsp>>2]|0; - $1255 = ((($1254)) + -16|0); - $1256 = ((($1255)) + 2|0); - $1257 = HEAP8[$1256>>0]|0; - $1258 = $1257&255; + $1251 = HEAP32[$1250>>2]|0; + $1252 = HEAP32[$yymsp>>2]|0; + $1253 = ((($1252)) + 4|0); + $1254 = HEAP32[$1253>>2]|0; + $1255 = HEAP32[$yymsp>>2]|0; + $1256 = ((($1255)) + -16|0); + $1257 = ((($1256)) + 4|0); + $1258 = HEAP32[$1257>>2]|0; $1259 = HEAP32[$yymsp>>2]|0; - $1260 = ((($1259)) + -32|0); + $1260 = ((($1259)) + -64|0); $1261 = ((($1260)) + 4|0); - $1262 = HEAP32[$yymsp>>2]|0; - $1263 = ((($1262)) + 4|0); - _spanBinaryExpr($yygotominor,$1253,$1258,$1261,$1263); + $1262 = HEAP32[$1261>>2]|0; + _sqlite3Insert($1247,$1251,$1254,$1258,$1262); break; } - case 207: { + case 141: { + $1263 = HEAP32[$pParse>>2]|0; $1264 = HEAP32[$yymsp>>2]|0; - $1265 = ((($1264)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$1265>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1265+4>>2]|0; - $1266 = ((($yygotominor)) + 8|0); - HEAP32[$1266>>2] = 0; - break; - } - case 208: { - $1267 = HEAP32[$yymsp>>2]|0; - $1268 = ((($1267)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$1268>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$1268+4>>2]|0; - $1269 = ((($yygotominor)) + 8|0); - HEAP32[$1269>>2] = 1; - break; - } - case 209: { - $1270 = HEAP32[$pParse>>2]|0; - $1271 = HEAP32[$yymsp>>2]|0; - $1272 = ((($1271)) + 4|0); - $1273 = HEAP32[$1272>>2]|0; - $1274 = (_sqlite3ExprListAppend($1270,0,$1273)|0); - HEAP32[$pList>>2] = $1274; - $1275 = HEAP32[$pParse>>2]|0; - $1276 = HEAP32[$pList>>2]|0; + $1265 = ((($1264)) + -96|0); + $1266 = ((($1265)) + 4|0); + $1267 = HEAP32[$1266>>2]|0; + _sqlite3WithPush($1263,$1267,1); + $1268 = HEAP32[$pParse>>2]|0; + $1269 = HEAP32[$yymsp>>2]|0; + $1270 = ((($1269)) + -48|0); + $1271 = ((($1270)) + 4|0); + $1272 = HEAP32[$1271>>2]|0; + $1273 = HEAP32[$yymsp>>2]|0; + $1274 = ((($1273)) + -32|0); + $1275 = ((($1274)) + 4|0); + $1276 = HEAP32[$1275>>2]|0; $1277 = HEAP32[$yymsp>>2]|0; - $1278 = ((($1277)) + -32|0); + $1278 = ((($1277)) + -80|0); $1279 = ((($1278)) + 4|0); $1280 = HEAP32[$1279>>2]|0; - $1281 = (_sqlite3ExprListAppend($1275,$1276,$1280)|0); - HEAP32[$pList>>2] = $1281; - $1282 = HEAP32[$pParse>>2]|0; - $1283 = HEAP32[$pList>>2]|0; - $1284 = HEAP32[$yymsp>>2]|0; - $1285 = ((($1284)) + -16|0); - $1286 = ((($1285)) + 4|0); - $1287 = (_sqlite3ExprFunction($1282,$1283,$1286)|0); - HEAP32[$yygotominor>>2] = $1287; + _sqlite3Insert($1268,$1272,0,$1276,$1280); + break; + } + case 145: { + $1281 = HEAP32[$yymsp>>2]|0; + $1282 = ((($1281)) + -16|0); + $1283 = ((($1282)) + 4|0); + $1284 = HEAP32[$1283>>2]|0; + $1285 = HEAP32[$yymsp>>2]|0; + $1286 = ((($1285)) + -32|0); + $1287 = ((($1286)) + 4|0); + HEAP32[$1287>>2] = $1284; + break; + } + case 146: { $1288 = HEAP32[$pParse>>2]|0; - $1289 = HEAP32[$yymsp>>2]|0; - $1290 = ((($1289)) + -16|0); - $1291 = ((($1290)) + 4|0); - $1292 = ((($1291)) + 8|0); + $1289 = HEAP32[$1288>>2]|0; + $1290 = HEAP32[$yymsp>>2]|0; + $1291 = ((($1290)) + -32|0); + $1292 = ((($1291)) + 4|0); $1293 = HEAP32[$1292>>2]|0; - _exprNot($1288,$1293,$yygotominor); $1294 = HEAP32[$yymsp>>2]|0; - $1295 = ((($1294)) + -32|0); - $1296 = ((($1295)) + 4|0); - $1297 = ((($1296)) + 4|0); - $1298 = HEAP32[$1297>>2]|0; - $1299 = ((($yygotominor)) + 4|0); - HEAP32[$1299>>2] = $1298; - $1300 = HEAP32[$yymsp>>2]|0; - $1301 = ((($1300)) + 4|0); - $1302 = ((($1301)) + 8|0); - $1303 = HEAP32[$1302>>2]|0; - $1304 = ((($yygotominor)) + 8|0); - HEAP32[$1304>>2] = $1303; - $1305 = HEAP32[$yygotominor>>2]|0; - $1306 = ($1305|0)!=(0|0); - if ($1306) { - $1307 = HEAP32[$yygotominor>>2]|0; - $1308 = ((($1307)) + 4|0); - $1309 = HEAP32[$1308>>2]|0; - $1310 = $1309 | 128; - HEAP32[$1308>>2] = $1310; - } - break; - } - case 210: { - $1311 = HEAP32[$pParse>>2]|0; - $1312 = HEAP32[$yymsp>>2]|0; - $1313 = ((($1312)) + -32|0); + $1295 = ((($1294)) + 4|0); + $1296 = (_sqlite3IdListAppend($1289,$1293,$1295)|0); + $1297 = HEAP32[$yymsp>>2]|0; + $1298 = ((($1297)) + -32|0); + $1299 = ((($1298)) + 4|0); + HEAP32[$1299>>2] = $1296; + break; + } + case 147: { + $1300 = HEAP32[$pParse>>2]|0; + $1301 = HEAP32[$1300>>2]|0; + $1302 = HEAP32[$yymsp>>2]|0; + $1303 = ((($1302)) + 4|0); + $1304 = (_sqlite3IdListAppend($1301,0,$1303)|0); + $1305 = HEAP32[$yymsp>>2]|0; + $1306 = ((($1305)) + 4|0); + HEAP32[$1306>>2] = $1304; + break; + } + case 148: { + $1307 = HEAP32[$yymsp>>2]|0; + $1308 = ((($1307)) + -32|0); + $1309 = ((($1308)) + 4|0); + $1310 = HEAP32[$yymsp>>2]|0; + $1311 = ((($1310)) + -32|0); + $1312 = ((($1311)) + 4|0); + $1313 = HEAP32[$yymsp>>2]|0; $1314 = ((($1313)) + 4|0); - $1315 = HEAP32[$1314>>2]|0; - $1316 = (_sqlite3ExprListAppend($1311,0,$1315)|0); - HEAP32[$pList7>>2] = $1316; - $1317 = HEAP32[$pParse>>2]|0; - $1318 = HEAP32[$pList7>>2]|0; + _spanSet($1309,$1312,$1314); + $1315 = HEAP32[$yymsp>>2]|0; + $1316 = ((($1315)) + -16|0); + $1317 = ((($1316)) + 4|0); + $1318 = HEAP32[$1317>>2]|0; $1319 = HEAP32[$yymsp>>2]|0; - $1320 = ((($1319)) + -64|0); + $1320 = ((($1319)) + -32|0); $1321 = ((($1320)) + 4|0); - $1322 = HEAP32[$1321>>2]|0; - $1323 = (_sqlite3ExprListAppend($1317,$1318,$1322)|0); - HEAP32[$pList7>>2] = $1323; + HEAP32[$1321>>2] = $1318; + break; + } + case 155: case 154: case 149: { + $1322 = HEAP32[$yymsp>>2]|0; + $1323 = ((($1322)) + 4|0); $1324 = HEAP32[$pParse>>2]|0; - $1325 = HEAP32[$pList7>>2]|0; - $1326 = HEAP32[$yymsp>>2]|0; - $1327 = ((($1326)) + 4|0); - $1328 = HEAP32[$1327>>2]|0; - $1329 = (_sqlite3ExprListAppend($1324,$1325,$1328)|0); - HEAP32[$pList7>>2] = $1329; - $1330 = HEAP32[$pParse>>2]|0; - $1331 = HEAP32[$pList7>>2]|0; - $1332 = HEAP32[$yymsp>>2]|0; - $1333 = ((($1332)) + -48|0); - $1334 = ((($1333)) + 4|0); - $1335 = (_sqlite3ExprFunction($1330,$1331,$1334)|0); - HEAP32[$yygotominor>>2] = $1335; + $1325 = HEAP32[$yymsp>>2]|0; + $1326 = ((($1325)) + 2|0); + $1327 = HEAP8[$1326>>0]|0; + $1328 = $1327&255; + $1329 = HEAP32[$yymsp>>2]|0; + $1330 = ((($1329)) + 4|0); + ;HEAP32[$t$byval_copy>>2]=HEAP32[$1330>>2]|0;HEAP32[$t$byval_copy+4>>2]=HEAP32[$1330+4>>2]|0; + _spanExpr($1323,$1324,$1328,$t$byval_copy); + break; + } + case 151: case 150: { + $1331 = HEAP32[$yymsp>>2]|0; + $1332 = ((($1331)) + 4|0); + $1333 = HEAP32[$pParse>>2]|0; + $1334 = HEAP32[$yymsp>>2]|0; + $1335 = ((($1334)) + 4|0); + ;HEAP32[$t$byval_copy>>2]=HEAP32[$1335>>2]|0;HEAP32[$t$byval_copy+4>>2]=HEAP32[$1335+4>>2]|0; + _spanExpr($1332,$1333,27,$t$byval_copy); + break; + } + case 152: { $1336 = HEAP32[$pParse>>2]|0; $1337 = HEAP32[$yymsp>>2]|0; - $1338 = ((($1337)) + -48|0); + $1338 = ((($1337)) + -32|0); $1339 = ((($1338)) + 4|0); - $1340 = ((($1339)) + 8|0); - $1341 = HEAP32[$1340>>2]|0; - _exprNot($1336,$1341,$yygotominor); + $1340 = (_sqlite3PExpr($1336,27,0,0,$1339)|0); + HEAP32[$temp1>>2] = $1340; + $1341 = HEAP32[$pParse>>2]|0; $1342 = HEAP32[$yymsp>>2]|0; - $1343 = ((($1342)) + -64|0); - $1344 = ((($1343)) + 4|0); - $1345 = ((($1344)) + 4|0); - $1346 = HEAP32[$1345>>2]|0; - $1347 = ((($yygotominor)) + 4|0); - HEAP32[$1347>>2] = $1346; + $1343 = ((($1342)) + 4|0); + $1344 = (_sqlite3PExpr($1341,27,0,0,$1343)|0); + HEAP32[$temp2>>2] = $1344; + $1345 = HEAP32[$yymsp>>2]|0; + $1346 = ((($1345)) + -32|0); + $1347 = ((($1346)) + 4|0); $1348 = HEAP32[$yymsp>>2]|0; - $1349 = ((($1348)) + 4|0); - $1350 = ((($1349)) + 8|0); - $1351 = HEAP32[$1350>>2]|0; - $1352 = ((($yygotominor)) + 8|0); - HEAP32[$1352>>2] = $1351; - $1353 = HEAP32[$yygotominor>>2]|0; - $1354 = ($1353|0)!=(0|0); - if ($1354) { - $1355 = HEAP32[$yygotominor>>2]|0; - $1356 = ((($1355)) + 4|0); - $1357 = HEAP32[$1356>>2]|0; - $1358 = $1357 | 128; - HEAP32[$1356>>2] = $1358; - } + $1349 = ((($1348)) + -32|0); + $1350 = ((($1349)) + 4|0); + $1351 = HEAP32[$yymsp>>2]|0; + $1352 = ((($1351)) + 4|0); + _spanSet($1347,$1350,$1352); + $1353 = HEAP32[$pParse>>2]|0; + $1354 = HEAP32[$temp1>>2]|0; + $1355 = HEAP32[$temp2>>2]|0; + $1356 = (_sqlite3PExpr($1353,122,$1354,$1355,0)|0); + $1357 = HEAP32[$yymsp>>2]|0; + $1358 = ((($1357)) + -32|0); + $1359 = ((($1358)) + 4|0); + HEAP32[$1359>>2] = $1356; break; } - case 211: { - $1359 = HEAP32[$pParse>>2]|0; - $1360 = HEAP32[$yymsp>>2]|0; - $1361 = ((($1360)) + 2|0); - $1362 = HEAP8[$1361>>0]|0; - $1363 = $1362&255; - $1364 = HEAP32[$yymsp>>2]|0; - $1365 = ((($1364)) + -16|0); - $1366 = ((($1365)) + 4|0); - $1367 = HEAP32[$yymsp>>2]|0; + case 153: { + $1360 = HEAP32[$pParse>>2]|0; + $1361 = HEAP32[$yymsp>>2]|0; + $1362 = ((($1361)) + -64|0); + $1363 = ((($1362)) + 4|0); + $1364 = (_sqlite3PExpr($1360,27,0,0,$1363)|0); + HEAP32[$temp15>>2] = $1364; + $1365 = HEAP32[$pParse>>2]|0; + $1366 = HEAP32[$yymsp>>2]|0; + $1367 = ((($1366)) + -32|0); $1368 = ((($1367)) + 4|0); - _spanUnaryPostfix($yygotominor,$1359,$1363,$1366,$1368); - break; - } - case 212: { - $1369 = HEAP32[$pParse>>2]|0; - $1370 = HEAP32[$yymsp>>2]|0; - $1371 = ((($1370)) + -32|0); + $1369 = (_sqlite3PExpr($1365,27,0,0,$1368)|0); + HEAP32[$temp26>>2] = $1369; + $1370 = HEAP32[$pParse>>2]|0; + $1371 = HEAP32[$yymsp>>2]|0; $1372 = ((($1371)) + 4|0); - $1373 = HEAP32[$yymsp>>2]|0; - $1374 = ((($1373)) + 4|0); - _spanUnaryPostfix($yygotominor,$1369,77,$1372,$1374); - break; - } - case 213: { - $1375 = HEAP32[$pParse>>2]|0; - $1376 = HEAP32[$yymsp>>2]|0; - $1377 = ((($1376)) + -32|0); - $1378 = ((($1377)) + 4|0); - $1379 = HEAP32[$yymsp>>2]|0; + $1373 = (_sqlite3PExpr($1370,27,0,0,$1372)|0); + HEAP32[$temp3>>2] = $1373; + $1374 = HEAP32[$pParse>>2]|0; + $1375 = HEAP32[$temp26>>2]|0; + $1376 = HEAP32[$temp3>>2]|0; + $1377 = (_sqlite3PExpr($1374,122,$1375,$1376,0)|0); + HEAP32[$temp4>>2] = $1377; + $1378 = HEAP32[$yymsp>>2]|0; + $1379 = ((($1378)) + -64|0); $1380 = ((($1379)) + 4|0); - _spanBinaryExpr($yygotominor,$1375,73,$1378,$1380); - $1381 = HEAP32[$pParse>>2]|0; - $1382 = HEAP32[$yymsp>>2]|0; + $1381 = HEAP32[$yymsp>>2]|0; + $1382 = ((($1381)) + -64|0); $1383 = ((($1382)) + 4|0); - $1384 = HEAP32[$1383>>2]|0; - $1385 = HEAP32[$yygotominor>>2]|0; - _binaryToUnaryIfNull($1381,$1384,$1385,76); - break; - } - case 214: { + $1384 = HEAP32[$yymsp>>2]|0; + $1385 = ((($1384)) + 4|0); + _spanSet($1380,$1383,$1385); $1386 = HEAP32[$pParse>>2]|0; - $1387 = HEAP32[$yymsp>>2]|0; - $1388 = ((($1387)) + -48|0); - $1389 = ((($1388)) + 4|0); + $1387 = HEAP32[$temp15>>2]|0; + $1388 = HEAP32[$temp4>>2]|0; + $1389 = (_sqlite3PExpr($1386,122,$1387,$1388,0)|0); $1390 = HEAP32[$yymsp>>2]|0; - $1391 = ((($1390)) + 4|0); - _spanBinaryExpr($yygotominor,$1386,148,$1389,$1391); - $1392 = HEAP32[$pParse>>2]|0; - $1393 = HEAP32[$yymsp>>2]|0; - $1394 = ((($1393)) + 4|0); - $1395 = HEAP32[$1394>>2]|0; - $1396 = HEAP32[$yygotominor>>2]|0; - _binaryToUnaryIfNull($1392,$1395,$1396,77); - break; - } - case 216: case 215: { - $1397 = HEAP32[$pParse>>2]|0; - $1398 = HEAP32[$yymsp>>2]|0; - $1399 = ((($1398)) + -16|0); - $1400 = ((($1399)) + 2|0); - $1401 = HEAP8[$1400>>0]|0; - $1402 = $1401&255; - $1403 = HEAP32[$yymsp>>2]|0; - $1404 = ((($1403)) + 4|0); - $1405 = HEAP32[$yymsp>>2]|0; - $1406 = ((($1405)) + -16|0); - $1407 = ((($1406)) + 4|0); - _spanUnaryPrefix($yygotominor,$1397,$1402,$1404,$1407); - break; - } - case 217: { - $1408 = HEAP32[$pParse>>2]|0; - $1409 = HEAP32[$yymsp>>2]|0; - $1410 = ((($1409)) + 4|0); - $1411 = HEAP32[$yymsp>>2]|0; - $1412 = ((($1411)) + -16|0); - $1413 = ((($1412)) + 4|0); - _spanUnaryPrefix($yygotominor,$1408,155,$1410,$1413); + $1391 = ((($1390)) + -64|0); + $1392 = ((($1391)) + 4|0); + HEAP32[$1392>>2] = $1389; break; } - case 218: { - $1414 = HEAP32[$pParse>>2]|0; - $1415 = HEAP32[$yymsp>>2]|0; - $1416 = ((($1415)) + 4|0); - $1417 = HEAP32[$yymsp>>2]|0; - $1418 = ((($1417)) + -16|0); - $1419 = ((($1418)) + 4|0); - _spanUnaryPrefix($yygotominor,$1414,156,$1416,$1419); + case 156: { + $1393 = HEAP32[$yymsp>>2]|0; + $1394 = ((($1393)) + 4|0); + ;HEAP32[$t>>2]=HEAP32[$1394>>2]|0;HEAP32[$t+4>>2]=HEAP32[$1394+4>>2]|0; + $1395 = ((($t)) + 4|0); + $1396 = HEAP32[$1395>>2]|0; + $1397 = ($1396>>>0)>=(2); + if ($1397) { + $1398 = HEAP32[$t>>2]|0; + $1399 = HEAP8[$1398>>0]|0; + $1400 = $1399 << 24 >> 24; + $1401 = ($1400|0)==(35); + if ($1401) { + $1402 = HEAP32[$t>>2]|0; + $1403 = ((($1402)) + 1|0); + $1404 = HEAP8[$1403>>0]|0; + $1405 = $1404&255; + $1406 = (19011 + ($1405)|0); + $1407 = HEAP8[$1406>>0]|0; + $1408 = $1407&255; + $1409 = $1408 & 4; + $1410 = ($1409|0)!=(0); + if ($1410) { + $1411 = HEAP32[$yymsp>>2]|0; + $1412 = ((($1411)) + 4|0); + _spanSet($1412,$t,$t); + $1413 = HEAP32[$pParse>>2]|0; + $1414 = ((($1413)) + 18|0); + $1415 = HEAP8[$1414>>0]|0; + $1416 = $1415&255; + $1417 = ($1416|0)==(0); + $1418 = HEAP32[$pParse>>2]|0; + if ($1417) { + HEAP32[$vararg_buffer2>>2] = $t; + _sqlite3ErrorMsg($1418,27070,$vararg_buffer2); + $1419 = HEAP32[$yymsp>>2]|0; + $1420 = ((($1419)) + 4|0); + HEAP32[$1420>>2] = 0; + break L6; + } + $1421 = (_sqlite3PExpr($1418,157,0,0,$t)|0); + $1422 = HEAP32[$yymsp>>2]|0; + $1423 = ((($1422)) + 4|0); + HEAP32[$1423>>2] = $1421; + $1424 = HEAP32[$yymsp>>2]|0; + $1425 = ((($1424)) + 4|0); + $1426 = HEAP32[$1425>>2]|0; + $1427 = ($1426|0)!=(0|0); + if (!($1427)) { + break L6; + } + $1428 = HEAP32[$t>>2]|0; + $1429 = ((($1428)) + 1|0); + $1430 = HEAP32[$yymsp>>2]|0; + $1431 = ((($1430)) + 4|0); + $1432 = HEAP32[$1431>>2]|0; + $1433 = ((($1432)) + 28|0); + (_sqlite3GetInt32($1429,$1433)|0); + break L6; + } + } + } + $1434 = HEAP32[$yymsp>>2]|0; + $1435 = ((($1434)) + 4|0); + $1436 = HEAP32[$pParse>>2]|0; + ;HEAP32[$t$byval_copy>>2]=HEAP32[$t>>2]|0;HEAP32[$t$byval_copy+4>>2]=HEAP32[$t+4>>2]|0; + _spanExpr($1435,$1436,135,$t$byval_copy); + $1437 = HEAP32[$pParse>>2]|0; + $1438 = HEAP32[$yymsp>>2]|0; + $1439 = ((($1438)) + 4|0); + $1440 = HEAP32[$1439>>2]|0; + _sqlite3ExprAssignVarNumber($1437,$1440); break; } - case 221: { - $1420 = HEAP32[$pParse>>2]|0; - $1421 = HEAP32[$yymsp>>2]|0; - $1422 = ((($1421)) + -32|0); - $1423 = ((($1422)) + 4|0); - $1424 = HEAP32[$1423>>2]|0; - $1425 = (_sqlite3ExprListAppend($1420,0,$1424)|0); - HEAP32[$pList8>>2] = $1425; - $1426 = HEAP32[$pParse>>2]|0; - $1427 = HEAP32[$pList8>>2]|0; - $1428 = HEAP32[$yymsp>>2]|0; - $1429 = ((($1428)) + 4|0); - $1430 = HEAP32[$1429>>2]|0; - $1431 = (_sqlite3ExprListAppend($1426,$1427,$1430)|0); - HEAP32[$pList8>>2] = $1431; - $1432 = HEAP32[$pParse>>2]|0; - $1433 = HEAP32[$yymsp>>2]|0; - $1434 = ((($1433)) + -64|0); - $1435 = ((($1434)) + 4|0); - $1436 = HEAP32[$1435>>2]|0; - $1437 = (_sqlite3PExpr($1432,74,$1436,0,0)|0); - HEAP32[$yygotominor>>2] = $1437; - $1438 = HEAP32[$yygotominor>>2]|0; - $1439 = ($1438|0)!=(0|0); - if ($1439) { - $1440 = HEAP32[$pList8>>2]|0; - $1441 = HEAP32[$yygotominor>>2]|0; - $1442 = ((($1441)) + 20|0); - HEAP32[$1442>>2] = $1440; - } else { - $1443 = HEAP32[$pParse>>2]|0; - $1444 = HEAP32[$1443>>2]|0; - $1445 = HEAP32[$pList8>>2]|0; - _sqlite3ExprListDelete($1444,$1445); - } - $1446 = HEAP32[$pParse>>2]|0; - $1447 = HEAP32[$yymsp>>2]|0; - $1448 = ((($1447)) + -48|0); - $1449 = ((($1448)) + 4|0); - $1450 = HEAP32[$1449>>2]|0; - _exprNot($1446,$1450,$yygotominor); - $1451 = HEAP32[$yymsp>>2]|0; - $1452 = ((($1451)) + -64|0); + case 157: { + $1441 = HEAP32[$pParse>>2]|0; + $1442 = HEAP32[$yymsp>>2]|0; + $1443 = ((($1442)) + -32|0); + $1444 = ((($1443)) + 4|0); + $1445 = HEAP32[$1444>>2]|0; + $1446 = HEAP32[$yymsp>>2]|0; + $1447 = ((($1446)) + 4|0); + $1448 = (_sqlite3ExprAddCollateToken($1441,$1445,$1447,1)|0); + $1449 = HEAP32[$yymsp>>2]|0; + $1450 = ((($1449)) + -32|0); + $1451 = ((($1450)) + 4|0); + HEAP32[$1451>>2] = $1448; + $1452 = HEAP32[$yymsp>>2]|0; $1453 = ((($1452)) + 4|0); $1454 = ((($1453)) + 4|0); $1455 = HEAP32[$1454>>2]|0; - $1456 = ((($yygotominor)) + 4|0); - HEAP32[$1456>>2] = $1455; - $1457 = HEAP32[$yymsp>>2]|0; - $1458 = ((($1457)) + 4|0); - $1459 = ((($1458)) + 8|0); - $1460 = HEAP32[$1459>>2]|0; - $1461 = ((($yygotominor)) + 8|0); - HEAP32[$1461>>2] = $1460; + $1456 = HEAP32[$yymsp>>2]|0; + $1457 = ((($1456)) + 4|0); + $1458 = HEAP32[$1457>>2]|0; + $1459 = (($1458) + ($1455)|0); + $1460 = HEAP32[$yymsp>>2]|0; + $1461 = ((($1460)) + -32|0); + $1462 = ((($1461)) + 4|0); + $1463 = ((($1462)) + 8|0); + HEAP32[$1463>>2] = $1459; break; } - case 224: { - $1462 = HEAP32[$yymsp>>2]|0; - $1463 = ((($1462)) + -16|0); - $1464 = ((($1463)) + 4|0); - $1465 = HEAP32[$1464>>2]|0; - $1466 = ($1465|0)==(0|0); - do { - if ($1466) { - $1467 = HEAP32[$pParse>>2]|0; - $1468 = HEAP32[$yymsp>>2]|0; - $1469 = ((($1468)) + -48|0); - $1470 = ((($1469)) + 4|0); - $1471 = HEAP32[$1470>>2]|0; - $1472 = (5092 + ($1471<<3)|0); - $1473 = (_sqlite3PExpr($1467,132,0,0,$1472)|0); - HEAP32[$yygotominor>>2] = $1473; - $1474 = HEAP32[$pParse>>2]|0; - $1475 = HEAP32[$1474>>2]|0; - $1476 = HEAP32[$yymsp>>2]|0; - $1477 = ((($1476)) + -64|0); - $1478 = ((($1477)) + 4|0); - $1479 = HEAP32[$1478>>2]|0; - _sqlite3ExprDelete($1475,$1479); - } else { - $1480 = HEAP32[$yymsp>>2]|0; - $1481 = ((($1480)) + -16|0); - $1482 = ((($1481)) + 4|0); - $1483 = HEAP32[$1482>>2]|0; - $1484 = HEAP32[$1483>>2]|0; - $1485 = ($1484|0)==(1); - if ($1485) { - $1486 = HEAP32[$yymsp>>2]|0; - $1487 = ((($1486)) + -16|0); - $1488 = ((($1487)) + 4|0); - $1489 = HEAP32[$1488>>2]|0; - $1490 = ((($1489)) + 4|0); - $1491 = HEAP32[$1490>>2]|0; - $1492 = HEAP32[$1491>>2]|0; - HEAP32[$pRHS>>2] = $1492; - $1493 = HEAP32[$yymsp>>2]|0; - $1494 = ((($1493)) + -16|0); - $1495 = ((($1494)) + 4|0); - $1496 = HEAP32[$1495>>2]|0; - $1497 = ((($1496)) + 4|0); - $1498 = HEAP32[$1497>>2]|0; - HEAP32[$1498>>2] = 0; - $1499 = HEAP32[$pParse>>2]|0; - $1500 = HEAP32[$1499>>2]|0; - $1501 = HEAP32[$yymsp>>2]|0; - $1502 = ((($1501)) + -16|0); - $1503 = ((($1502)) + 4|0); - $1504 = HEAP32[$1503>>2]|0; - _sqlite3ExprListDelete($1500,$1504); - $1505 = HEAP32[$pRHS>>2]|0; - $1506 = ($1505|0)!=(0|0); - if ($1506) { - $1507 = HEAP32[$pRHS>>2]|0; - $1508 = ((($1507)) + 4|0); - $1509 = HEAP32[$1508>>2]|0; - $1510 = $1509 & -257; - HEAP32[$1508>>2] = $1510; - $1511 = HEAP32[$pRHS>>2]|0; - $1512 = ((($1511)) + 4|0); - $1513 = HEAP32[$1512>>2]|0; - $1514 = $1513 | 512; - HEAP32[$1512>>2] = $1514; - } - $1515 = HEAP32[$pParse>>2]|0; - $1516 = HEAP32[$yymsp>>2]|0; - $1517 = ((($1516)) + -48|0); - $1518 = ((($1517)) + 4|0); - $1519 = HEAP32[$1518>>2]|0; - $1520 = ($1519|0)!=(0); - $1521 = $1520 ? 78 : 79; - $1522 = HEAP32[$yymsp>>2]|0; - $1523 = ((($1522)) + -64|0); - $1524 = ((($1523)) + 4|0); - $1525 = HEAP32[$1524>>2]|0; - $1526 = HEAP32[$pRHS>>2]|0; - $1527 = (_sqlite3PExpr($1515,$1521,$1525,$1526,0)|0); - HEAP32[$yygotominor>>2] = $1527; - break; - } - $1528 = HEAP32[$pParse>>2]|0; - $1529 = HEAP32[$yymsp>>2]|0; - $1530 = ((($1529)) + -64|0); - $1531 = ((($1530)) + 4|0); - $1532 = HEAP32[$1531>>2]|0; - $1533 = (_sqlite3PExpr($1528,75,$1532,0,0)|0); - HEAP32[$yygotominor>>2] = $1533; - $1534 = HEAP32[$yygotominor>>2]|0; - $1535 = ($1534|0)!=(0|0); - if ($1535) { - $1536 = HEAP32[$yymsp>>2]|0; - $1537 = ((($1536)) + -16|0); - $1538 = ((($1537)) + 4|0); - $1539 = HEAP32[$1538>>2]|0; - $1540 = HEAP32[$yygotominor>>2]|0; - $1541 = ((($1540)) + 20|0); - HEAP32[$1541>>2] = $1539; - $1542 = HEAP32[$pParse>>2]|0; - $1543 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprSetHeightAndFlags($1542,$1543); - } else { - $1544 = HEAP32[$pParse>>2]|0; - $1545 = HEAP32[$1544>>2]|0; - $1546 = HEAP32[$yymsp>>2]|0; - $1547 = ((($1546)) + -16|0); - $1548 = ((($1547)) + 4|0); - $1549 = HEAP32[$1548>>2]|0; - _sqlite3ExprListDelete($1545,$1549); - } - $1550 = HEAP32[$pParse>>2]|0; - $1551 = HEAP32[$yymsp>>2]|0; - $1552 = ((($1551)) + -48|0); - $1553 = ((($1552)) + 4|0); - $1554 = HEAP32[$1553>>2]|0; - _exprNot($1550,$1554,$yygotominor); + case 158: { + $1464 = HEAP32[$yymsp>>2]|0; + $1465 = ((($1464)) + -80|0); + $1466 = ((($1465)) + 4|0); + $1467 = HEAP32[$yymsp>>2]|0; + $1468 = ((($1467)) + -80|0); + $1469 = ((($1468)) + 4|0); + $1470 = HEAP32[$yymsp>>2]|0; + $1471 = ((($1470)) + 4|0); + _spanSet($1466,$1469,$1471); + $1472 = HEAP32[$pParse>>2]|0; + $1473 = HEAP32[$yymsp>>2]|0; + $1474 = ((($1473)) + -48|0); + $1475 = ((($1474)) + 4|0); + $1476 = HEAP32[$1475>>2]|0; + $1477 = HEAP32[$yymsp>>2]|0; + $1478 = ((($1477)) + -16|0); + $1479 = ((($1478)) + 4|0); + $1480 = (_sqlite3PExpr($1472,38,$1476,0,$1479)|0); + $1481 = HEAP32[$yymsp>>2]|0; + $1482 = ((($1481)) + -80|0); + $1483 = ((($1482)) + 4|0); + HEAP32[$1483>>2] = $1480; + break; + } + case 159: { + $1484 = HEAP32[$yymsp>>2]|0; + $1485 = ((($1484)) + -16|0); + $1486 = ((($1485)) + 4|0); + $1487 = HEAP32[$1486>>2]|0; + $1488 = ($1487|0)!=(0|0); + if ($1488) { + $1489 = HEAP32[$yymsp>>2]|0; + $1490 = ((($1489)) + -16|0); + $1491 = ((($1490)) + 4|0); + $1492 = HEAP32[$1491>>2]|0; + $1493 = HEAP32[$1492>>2]|0; + $1494 = HEAP32[$pParse>>2]|0; + $1495 = HEAP32[$1494>>2]|0; + $1496 = ((($1495)) + 92|0); + $1497 = ((($1496)) + 24|0); + $1498 = HEAP32[$1497>>2]|0; + $1499 = ($1493|0)>($1498|0); + if ($1499) { + $1500 = HEAP32[$pParse>>2]|0; + $1501 = HEAP32[$yymsp>>2]|0; + $1502 = ((($1501)) + -64|0); + $1503 = ((($1502)) + 4|0); + HEAP32[$vararg_buffer5>>2] = $1503; + _sqlite3ErrorMsg($1500,27782,$vararg_buffer5); + } + } + $1504 = HEAP32[$pParse>>2]|0; + $1505 = HEAP32[$yymsp>>2]|0; + $1506 = ((($1505)) + -16|0); + $1507 = ((($1506)) + 4|0); + $1508 = HEAP32[$1507>>2]|0; + $1509 = HEAP32[$yymsp>>2]|0; + $1510 = ((($1509)) + -64|0); + $1511 = ((($1510)) + 4|0); + $1512 = (_sqlite3ExprFunction($1504,$1508,$1511)|0); + HEAP32[$yylhsminor>>2] = $1512; + $1513 = HEAP32[$yymsp>>2]|0; + $1514 = ((($1513)) + -64|0); + $1515 = ((($1514)) + 4|0); + $1516 = HEAP32[$yymsp>>2]|0; + $1517 = ((($1516)) + 4|0); + _spanSet($yylhsminor,$1515,$1517); + $1518 = HEAP32[$yymsp>>2]|0; + $1519 = ((($1518)) + -32|0); + $1520 = ((($1519)) + 4|0); + $1521 = HEAP32[$1520>>2]|0; + $1522 = ($1521|0)==(1); + if ($1522) { + $1523 = HEAP32[$yylhsminor>>2]|0; + $1524 = ($1523|0)!=(0|0); + if ($1524) { + $1525 = HEAP32[$yylhsminor>>2]|0; + $1526 = ((($1525)) + 4|0); + $1527 = HEAP32[$1526>>2]|0; + $1528 = $1527 | 16; + HEAP32[$1526>>2] = $1528; } - } while(0); - $1555 = HEAP32[$yymsp>>2]|0; - $1556 = ((($1555)) + -64|0); - $1557 = ((($1556)) + 4|0); - $1558 = ((($1557)) + 4|0); - $1559 = HEAP32[$1558>>2]|0; - $1560 = ((($yygotominor)) + 4|0); - HEAP32[$1560>>2] = $1559; + } + $1529 = HEAP32[$yymsp>>2]|0; + $1530 = ((($1529)) + -64|0); + $1531 = ((($1530)) + 4|0); + ;HEAP32[$1531>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1531+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1531+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 160: { + $1532 = HEAP32[$pParse>>2]|0; + $1533 = HEAP32[$yymsp>>2]|0; + $1534 = ((($1533)) + -48|0); + $1535 = ((($1534)) + 4|0); + $1536 = (_sqlite3ExprFunction($1532,0,$1535)|0); + HEAP32[$yylhsminor>>2] = $1536; + $1537 = HEAP32[$yymsp>>2]|0; + $1538 = ((($1537)) + -48|0); + $1539 = ((($1538)) + 4|0); + $1540 = HEAP32[$yymsp>>2]|0; + $1541 = ((($1540)) + 4|0); + _spanSet($yylhsminor,$1539,$1541); + $1542 = HEAP32[$yymsp>>2]|0; + $1543 = ((($1542)) + -48|0); + $1544 = ((($1543)) + 4|0); + ;HEAP32[$1544>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1544+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1544+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 161: { + $1545 = HEAP32[$pParse>>2]|0; + $1546 = HEAP32[$yymsp>>2]|0; + $1547 = ((($1546)) + 4|0); + $1548 = (_sqlite3ExprFunction($1545,0,$1547)|0); + HEAP32[$yylhsminor>>2] = $1548; + $1549 = HEAP32[$yymsp>>2]|0; + $1550 = ((($1549)) + 4|0); + $1551 = HEAP32[$yymsp>>2]|0; + $1552 = ((($1551)) + 4|0); + _spanSet($yylhsminor,$1550,$1552); + $1553 = HEAP32[$yymsp>>2]|0; + $1554 = ((($1553)) + 4|0); + ;HEAP32[$1554>>2]=HEAP32[$yylhsminor>>2]|0;HEAP32[$1554+4>>2]=HEAP32[$yylhsminor+4>>2]|0;HEAP32[$1554+8>>2]=HEAP32[$yylhsminor+8>>2]|0; + break; + } + case 169: case 168: case 167: case 166: case 165: case 164: case 163: case 162: { + $1555 = HEAP32[$pParse>>2]|0; + $1556 = HEAP32[$yymsp>>2]|0; + $1557 = ((($1556)) + -16|0); + $1558 = ((($1557)) + 2|0); + $1559 = HEAP8[$1558>>0]|0; + $1560 = $1559&255; $1561 = HEAP32[$yymsp>>2]|0; - $1562 = ((($1561)) + 4|0); + $1562 = ((($1561)) + -32|0); $1563 = ((($1562)) + 4|0); - $1564 = HEAP32[$1563>>2]|0; - $1565 = HEAP32[$yymsp>>2]|0; - $1566 = ((($1565)) + 4|0); - $1567 = HEAP32[$1566>>2]|0; - $1568 = (($1567) + ($1564)|0); - $1569 = ((($yygotominor)) + 8|0); - HEAP32[$1569>>2] = $1568; + $1564 = HEAP32[$yymsp>>2]|0; + $1565 = ((($1564)) + 4|0); + _spanBinaryExpr($1555,$1560,$1563,$1565); break; } - case 225: { - $1570 = HEAP32[$pParse>>2]|0; - $1571 = (_sqlite3PExpr($1570,119,0,0,0)|0); - HEAP32[$yygotominor>>2] = $1571; - $1572 = HEAP32[$yygotominor>>2]|0; - $1573 = ($1572|0)!=(0|0); - if ($1573) { - $1574 = HEAP32[$yymsp>>2]|0; - $1575 = ((($1574)) + -16|0); - $1576 = ((($1575)) + 4|0); - $1577 = HEAP32[$1576>>2]|0; - $1578 = HEAP32[$yygotominor>>2]|0; - $1579 = ((($1578)) + 20|0); - HEAP32[$1579>>2] = $1577; - $1580 = HEAP32[$yygotominor>>2]|0; - $1581 = ((($1580)) + 4|0); - $1582 = HEAP32[$1581>>2]|0; - $1583 = $1582 | 2099200; - HEAP32[$1581>>2] = $1583; - $1584 = HEAP32[$pParse>>2]|0; - $1585 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprSetHeightAndFlags($1584,$1585); - } else { - $1586 = HEAP32[$pParse>>2]|0; - $1587 = HEAP32[$1586>>2]|0; - $1588 = HEAP32[$yymsp>>2]|0; - $1589 = ((($1588)) + -16|0); - $1590 = ((($1589)) + 4|0); - $1591 = HEAP32[$1590>>2]|0; - _sqlite3SelectDelete($1587,$1591); - } - $1592 = HEAP32[$yymsp>>2]|0; - $1593 = ((($1592)) + -32|0); - $1594 = ((($1593)) + 4|0); - $1595 = HEAP32[$1594>>2]|0; - $1596 = ((($yygotominor)) + 4|0); - HEAP32[$1596>>2] = $1595; - $1597 = HEAP32[$yymsp>>2]|0; + case 170: { + $1566 = HEAP32[$yymsp>>2]|0; + $1567 = ((($1566)) + 4|0); + $1568 = HEAP32[$yymsp>>2]|0; + $1569 = ((($1568)) + 4|0); + ;HEAP32[$1567>>2]=HEAP32[$1569>>2]|0;HEAP32[$1567+4>>2]=HEAP32[$1569+4>>2]|0; + $1570 = HEAP32[$yymsp>>2]|0; + $1571 = ((($1570)) + 4|0); + $1572 = ((($1571)) + 8|0); + HEAP32[$1572>>2] = 0; + break; + } + case 171: { + $1573 = HEAP32[$yymsp>>2]|0; + $1574 = ((($1573)) + -16|0); + $1575 = ((($1574)) + 4|0); + $1576 = HEAP32[$yymsp>>2]|0; + $1577 = ((($1576)) + 4|0); + ;HEAP32[$1575>>2]=HEAP32[$1577>>2]|0;HEAP32[$1575+4>>2]=HEAP32[$1577+4>>2]|0; + $1578 = HEAP32[$yymsp>>2]|0; + $1579 = ((($1578)) + -16|0); + $1580 = ((($1579)) + 4|0); + $1581 = ((($1580)) + 8|0); + HEAP32[$1581>>2] = 1; + break; + } + case 172: { + $1582 = HEAP32[$pParse>>2]|0; + $1583 = HEAP32[$yymsp>>2]|0; + $1584 = ((($1583)) + 4|0); + $1585 = HEAP32[$1584>>2]|0; + $1586 = (_sqlite3ExprListAppend($1582,0,$1585)|0); + HEAP32[$pList>>2] = $1586; + $1587 = HEAP32[$pParse>>2]|0; + $1588 = HEAP32[$pList>>2]|0; + $1589 = HEAP32[$yymsp>>2]|0; + $1590 = ((($1589)) + -32|0); + $1591 = ((($1590)) + 4|0); + $1592 = HEAP32[$1591>>2]|0; + $1593 = (_sqlite3ExprListAppend($1587,$1588,$1592)|0); + HEAP32[$pList>>2] = $1593; + $1594 = HEAP32[$pParse>>2]|0; + $1595 = HEAP32[$pList>>2]|0; + $1596 = HEAP32[$yymsp>>2]|0; + $1597 = ((($1596)) + -16|0); $1598 = ((($1597)) + 4|0); - $1599 = ((($1598)) + 4|0); - $1600 = HEAP32[$1599>>2]|0; - $1601 = HEAP32[$yymsp>>2]|0; + $1599 = (_sqlite3ExprFunction($1594,$1595,$1598)|0); + $1600 = HEAP32[$yymsp>>2]|0; + $1601 = ((($1600)) + -32|0); $1602 = ((($1601)) + 4|0); - $1603 = HEAP32[$1602>>2]|0; - $1604 = (($1603) + ($1600)|0); - $1605 = ((($yygotominor)) + 8|0); - HEAP32[$1605>>2] = $1604; + HEAP32[$1602>>2] = $1599; + $1603 = HEAP32[$pParse>>2]|0; + $1604 = HEAP32[$yymsp>>2]|0; + $1605 = ((($1604)) + -16|0); + $1606 = ((($1605)) + 4|0); + $1607 = ((($1606)) + 8|0); + $1608 = HEAP32[$1607>>2]|0; + $1609 = HEAP32[$yymsp>>2]|0; + $1610 = ((($1609)) + -32|0); + $1611 = ((($1610)) + 4|0); + _exprNot($1603,$1608,$1611); + $1612 = HEAP32[$yymsp>>2]|0; + $1613 = ((($1612)) + 4|0); + $1614 = ((($1613)) + 8|0); + $1615 = HEAP32[$1614>>2]|0; + $1616 = HEAP32[$yymsp>>2]|0; + $1617 = ((($1616)) + -32|0); + $1618 = ((($1617)) + 4|0); + $1619 = ((($1618)) + 8|0); + HEAP32[$1619>>2] = $1615; + $1620 = HEAP32[$yymsp>>2]|0; + $1621 = ((($1620)) + -32|0); + $1622 = ((($1621)) + 4|0); + $1623 = HEAP32[$1622>>2]|0; + $1624 = ($1623|0)!=(0|0); + if ($1624) { + $1625 = HEAP32[$yymsp>>2]|0; + $1626 = ((($1625)) + -32|0); + $1627 = ((($1626)) + 4|0); + $1628 = HEAP32[$1627>>2]|0; + $1629 = ((($1628)) + 4|0); + $1630 = HEAP32[$1629>>2]|0; + $1631 = $1630 | 128; + HEAP32[$1629>>2] = $1631; + } break; } - case 226: { - $1606 = HEAP32[$pParse>>2]|0; - $1607 = HEAP32[$yymsp>>2]|0; - $1608 = ((($1607)) + -64|0); - $1609 = ((($1608)) + 4|0); - $1610 = HEAP32[$1609>>2]|0; - $1611 = (_sqlite3PExpr($1606,75,$1610,0,0)|0); - HEAP32[$yygotominor>>2] = $1611; - $1612 = HEAP32[$yygotominor>>2]|0; - $1613 = ($1612|0)!=(0|0); - if ($1613) { - $1614 = HEAP32[$yymsp>>2]|0; - $1615 = ((($1614)) + -16|0); - $1616 = ((($1615)) + 4|0); - $1617 = HEAP32[$1616>>2]|0; - $1618 = HEAP32[$yygotominor>>2]|0; - $1619 = ((($1618)) + 20|0); - HEAP32[$1619>>2] = $1617; - $1620 = HEAP32[$yygotominor>>2]|0; - $1621 = ((($1620)) + 4|0); - $1622 = HEAP32[$1621>>2]|0; - $1623 = $1622 | 2099200; - HEAP32[$1621>>2] = $1623; - $1624 = HEAP32[$pParse>>2]|0; - $1625 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprSetHeightAndFlags($1624,$1625); - } else { - $1626 = HEAP32[$pParse>>2]|0; - $1627 = HEAP32[$1626>>2]|0; - $1628 = HEAP32[$yymsp>>2]|0; - $1629 = ((($1628)) + -16|0); - $1630 = ((($1629)) + 4|0); - $1631 = HEAP32[$1630>>2]|0; - _sqlite3SelectDelete($1627,$1631); - } + case 173: { $1632 = HEAP32[$pParse>>2]|0; $1633 = HEAP32[$yymsp>>2]|0; - $1634 = ((($1633)) + -48|0); + $1634 = ((($1633)) + -32|0); $1635 = ((($1634)) + 4|0); $1636 = HEAP32[$1635>>2]|0; - _exprNot($1632,$1636,$yygotominor); - $1637 = HEAP32[$yymsp>>2]|0; - $1638 = ((($1637)) + -64|0); - $1639 = ((($1638)) + 4|0); - $1640 = ((($1639)) + 4|0); - $1641 = HEAP32[$1640>>2]|0; - $1642 = ((($yygotominor)) + 4|0); - HEAP32[$1642>>2] = $1641; - $1643 = HEAP32[$yymsp>>2]|0; - $1644 = ((($1643)) + 4|0); - $1645 = ((($1644)) + 4|0); - $1646 = HEAP32[$1645>>2]|0; + $1637 = (_sqlite3ExprListAppend($1632,0,$1636)|0); + HEAP32[$pList7>>2] = $1637; + $1638 = HEAP32[$pParse>>2]|0; + $1639 = HEAP32[$pList7>>2]|0; + $1640 = HEAP32[$yymsp>>2]|0; + $1641 = ((($1640)) + -64|0); + $1642 = ((($1641)) + 4|0); + $1643 = HEAP32[$1642>>2]|0; + $1644 = (_sqlite3ExprListAppend($1638,$1639,$1643)|0); + HEAP32[$pList7>>2] = $1644; + $1645 = HEAP32[$pParse>>2]|0; + $1646 = HEAP32[$pList7>>2]|0; $1647 = HEAP32[$yymsp>>2]|0; $1648 = ((($1647)) + 4|0); $1649 = HEAP32[$1648>>2]|0; - $1650 = (($1649) + ($1646)|0); - $1651 = ((($yygotominor)) + 8|0); - HEAP32[$1651>>2] = $1650; - break; - } - case 227: { - $1652 = HEAP32[$pParse>>2]|0; - $1653 = HEAP32[$1652>>2]|0; - $1654 = HEAP32[$yymsp>>2]|0; - $1655 = ((($1654)) + -16|0); - $1656 = ((($1655)) + 4|0); + $1650 = (_sqlite3ExprListAppend($1645,$1646,$1649)|0); + HEAP32[$pList7>>2] = $1650; + $1651 = HEAP32[$pParse>>2]|0; + $1652 = HEAP32[$pList7>>2]|0; + $1653 = HEAP32[$yymsp>>2]|0; + $1654 = ((($1653)) + -48|0); + $1655 = ((($1654)) + 4|0); + $1656 = (_sqlite3ExprFunction($1651,$1652,$1655)|0); $1657 = HEAP32[$yymsp>>2]|0; - $1658 = ((($1657)) + 4|0); - $1659 = (_sqlite3SrcListAppend($1653,0,$1656,$1658)|0); - HEAP32[$pSrc>>2] = $1659; + $1658 = ((($1657)) + -64|0); + $1659 = ((($1658)) + 4|0); + HEAP32[$1659>>2] = $1656; $1660 = HEAP32[$pParse>>2]|0; $1661 = HEAP32[$yymsp>>2]|0; $1662 = ((($1661)) + -48|0); $1663 = ((($1662)) + 4|0); - $1664 = HEAP32[$1663>>2]|0; - $1665 = (_sqlite3PExpr($1660,75,$1664,0,0)|0); - HEAP32[$yygotominor>>2] = $1665; - $1666 = HEAP32[$yygotominor>>2]|0; - $1667 = ($1666|0)!=(0|0); - $1668 = HEAP32[$pParse>>2]|0; - if ($1667) { - $1669 = HEAP32[$pSrc>>2]|0; - $1670 = (_sqlite3SelectNew($1668,0,$1669,0,0,0,0,0,0,0)|0); - $1671 = HEAP32[$yygotominor>>2]|0; - $1672 = ((($1671)) + 20|0); - HEAP32[$1672>>2] = $1670; - $1673 = HEAP32[$yygotominor>>2]|0; - $1674 = ((($1673)) + 4|0); - $1675 = HEAP32[$1674>>2]|0; - $1676 = $1675 | 2099200; - HEAP32[$1674>>2] = $1676; - $1677 = HEAP32[$pParse>>2]|0; - $1678 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprSetHeightAndFlags($1677,$1678); - } else { - $1679 = HEAP32[$1668>>2]|0; - $1680 = HEAP32[$pSrc>>2]|0; - _sqlite3SrcListDelete($1679,$1680); - } - $1681 = HEAP32[$pParse>>2]|0; - $1682 = HEAP32[$yymsp>>2]|0; - $1683 = ((($1682)) + -32|0); - $1684 = ((($1683)) + 4|0); - $1685 = HEAP32[$1684>>2]|0; - _exprNot($1681,$1685,$yygotominor); - $1686 = HEAP32[$yymsp>>2]|0; - $1687 = ((($1686)) + -48|0); - $1688 = ((($1687)) + 4|0); - $1689 = ((($1688)) + 4|0); - $1690 = HEAP32[$1689>>2]|0; - $1691 = ((($yygotominor)) + 4|0); - HEAP32[$1691>>2] = $1690; - $1692 = HEAP32[$yymsp>>2]|0; - $1693 = ((($1692)) + 4|0); - $1694 = HEAP32[$1693>>2]|0; - $1695 = ($1694|0)!=(0|0); - $1696 = HEAP32[$yymsp>>2]|0; - if ($1695) { - $1697 = ((($1696)) + 4|0); - $1698 = ((($1697)) + 4|0); - $1699 = HEAP32[$1698>>2]|0; - $1700 = HEAP32[$yymsp>>2]|0; - $1701 = ((($1700)) + 4|0); - $1702 = HEAP32[$1701>>2]|0; - $1703 = (($1702) + ($1699)|0); - $1714 = $1703; - } else { - $1704 = ((($1696)) + -16|0); - $1705 = ((($1704)) + 4|0); - $1706 = ((($1705)) + 4|0); - $1707 = HEAP32[$1706>>2]|0; - $1708 = HEAP32[$yymsp>>2]|0; - $1709 = ((($1708)) + -16|0); - $1710 = ((($1709)) + 4|0); - $1711 = HEAP32[$1710>>2]|0; - $1712 = (($1711) + ($1707)|0); - $1714 = $1712; - } - $1713 = ((($yygotominor)) + 8|0); - HEAP32[$1713>>2] = $1714; - break; - } - case 228: { - $1715 = HEAP32[$pParse>>2]|0; - $1716 = (_sqlite3PExpr($1715,20,0,0,0)|0); - HEAP32[$yygotominor>>2] = $1716; - HEAP32[$p9>>2] = $1716; - $1717 = HEAP32[$p9>>2]|0; - $1718 = ($1717|0)!=(0|0); - if ($1718) { - $1719 = HEAP32[$yymsp>>2]|0; - $1720 = ((($1719)) + -16|0); - $1721 = ((($1720)) + 4|0); - $1722 = HEAP32[$1721>>2]|0; - $1723 = HEAP32[$p9>>2]|0; - $1724 = ((($1723)) + 20|0); - HEAP32[$1724>>2] = $1722; - $1725 = HEAP32[$p9>>2]|0; - $1726 = ((($1725)) + 4|0); - $1727 = HEAP32[$1726>>2]|0; - $1728 = $1727 | 2099200; - HEAP32[$1726>>2] = $1728; - $1729 = HEAP32[$pParse>>2]|0; - $1730 = HEAP32[$p9>>2]|0; - _sqlite3ExprSetHeightAndFlags($1729,$1730); - } else { - $1731 = HEAP32[$pParse>>2]|0; - $1732 = HEAP32[$1731>>2]|0; - $1733 = HEAP32[$yymsp>>2]|0; - $1734 = ((($1733)) + -16|0); - $1735 = ((($1734)) + 4|0); - $1736 = HEAP32[$1735>>2]|0; - _sqlite3SelectDelete($1732,$1736); + $1664 = ((($1663)) + 8|0); + $1665 = HEAP32[$1664>>2]|0; + $1666 = HEAP32[$yymsp>>2]|0; + $1667 = ((($1666)) + -64|0); + $1668 = ((($1667)) + 4|0); + _exprNot($1660,$1665,$1668); + $1669 = HEAP32[$yymsp>>2]|0; + $1670 = ((($1669)) + 4|0); + $1671 = ((($1670)) + 8|0); + $1672 = HEAP32[$1671>>2]|0; + $1673 = HEAP32[$yymsp>>2]|0; + $1674 = ((($1673)) + -64|0); + $1675 = ((($1674)) + 4|0); + $1676 = ((($1675)) + 8|0); + HEAP32[$1676>>2] = $1672; + $1677 = HEAP32[$yymsp>>2]|0; + $1678 = ((($1677)) + -64|0); + $1679 = ((($1678)) + 4|0); + $1680 = HEAP32[$1679>>2]|0; + $1681 = ($1680|0)!=(0|0); + if ($1681) { + $1682 = HEAP32[$yymsp>>2]|0; + $1683 = ((($1682)) + -64|0); + $1684 = ((($1683)) + 4|0); + $1685 = HEAP32[$1684>>2]|0; + $1686 = ((($1685)) + 4|0); + $1687 = HEAP32[$1686>>2]|0; + $1688 = $1687 | 128; + HEAP32[$1686>>2] = $1688; } + break; + } + case 174: { + $1689 = HEAP32[$pParse>>2]|0; + $1690 = HEAP32[$yymsp>>2]|0; + $1691 = ((($1690)) + 2|0); + $1692 = HEAP8[$1691>>0]|0; + $1693 = $1692&255; + $1694 = HEAP32[$yymsp>>2]|0; + $1695 = ((($1694)) + -16|0); + $1696 = ((($1695)) + 4|0); + $1697 = HEAP32[$yymsp>>2]|0; + $1698 = ((($1697)) + 4|0); + _spanUnaryPostfix($1689,$1693,$1696,$1698); + break; + } + case 175: { + $1699 = HEAP32[$pParse>>2]|0; + $1700 = HEAP32[$yymsp>>2]|0; + $1701 = ((($1700)) + -32|0); + $1702 = ((($1701)) + 4|0); + $1703 = HEAP32[$yymsp>>2]|0; + $1704 = ((($1703)) + 4|0); + _spanUnaryPostfix($1699,77,$1702,$1704); + break; + } + case 176: { + $1705 = HEAP32[$pParse>>2]|0; + $1706 = HEAP32[$yymsp>>2]|0; + $1707 = ((($1706)) + -32|0); + $1708 = ((($1707)) + 4|0); + $1709 = HEAP32[$yymsp>>2]|0; + $1710 = ((($1709)) + 4|0); + _spanBinaryExpr($1705,73,$1708,$1710); + $1711 = HEAP32[$pParse>>2]|0; + $1712 = HEAP32[$yymsp>>2]|0; + $1713 = ((($1712)) + 4|0); + $1714 = HEAP32[$1713>>2]|0; + $1715 = HEAP32[$yymsp>>2]|0; + $1716 = ((($1715)) + -32|0); + $1717 = ((($1716)) + 4|0); + $1718 = HEAP32[$1717>>2]|0; + _binaryToUnaryIfNull($1711,$1714,$1718,76); + break; + } + case 177: { + $1719 = HEAP32[$pParse>>2]|0; + $1720 = HEAP32[$yymsp>>2]|0; + $1721 = ((($1720)) + -48|0); + $1722 = ((($1721)) + 4|0); + $1723 = HEAP32[$yymsp>>2]|0; + $1724 = ((($1723)) + 4|0); + _spanBinaryExpr($1719,148,$1722,$1724); + $1725 = HEAP32[$pParse>>2]|0; + $1726 = HEAP32[$yymsp>>2]|0; + $1727 = ((($1726)) + 4|0); + $1728 = HEAP32[$1727>>2]|0; + $1729 = HEAP32[$yymsp>>2]|0; + $1730 = ((($1729)) + -48|0); + $1731 = ((($1730)) + 4|0); + $1732 = HEAP32[$1731>>2]|0; + _binaryToUnaryIfNull($1725,$1728,$1732,77); + break; + } + case 179: case 178: { + $1733 = HEAP32[$yymsp>>2]|0; + $1734 = ((($1733)) + -16|0); + $1735 = ((($1734)) + 4|0); + $1736 = HEAP32[$pParse>>2]|0; $1737 = HEAP32[$yymsp>>2]|0; - $1738 = ((($1737)) + -48|0); - $1739 = ((($1738)) + 4|0); - $1740 = HEAP32[$1739>>2]|0; - $1741 = ((($yygotominor)) + 4|0); - HEAP32[$1741>>2] = $1740; + $1738 = ((($1737)) + -16|0); + $1739 = ((($1738)) + 2|0); + $1740 = HEAP8[$1739>>0]|0; + $1741 = $1740&255; $1742 = HEAP32[$yymsp>>2]|0; $1743 = ((($1742)) + 4|0); - $1744 = ((($1743)) + 4|0); - $1745 = HEAP32[$1744>>2]|0; - $1746 = HEAP32[$yymsp>>2]|0; - $1747 = ((($1746)) + 4|0); - $1748 = HEAP32[$1747>>2]|0; - $1749 = (($1748) + ($1745)|0); - $1750 = ((($yygotominor)) + 8|0); - HEAP32[$1750>>2] = $1749; + $1744 = HEAP32[$yymsp>>2]|0; + $1745 = ((($1744)) + -16|0); + $1746 = ((($1745)) + 4|0); + _spanUnaryPrefix($1735,$1736,$1741,$1743,$1746); + break; + } + case 180: { + $1747 = HEAP32[$yymsp>>2]|0; + $1748 = ((($1747)) + -16|0); + $1749 = ((($1748)) + 4|0); + $1750 = HEAP32[$pParse>>2]|0; + $1751 = HEAP32[$yymsp>>2]|0; + $1752 = ((($1751)) + 4|0); + $1753 = HEAP32[$yymsp>>2]|0; + $1754 = ((($1753)) + -16|0); + $1755 = ((($1754)) + 4|0); + _spanUnaryPrefix($1749,$1750,155,$1752,$1755); + break; + } + case 181: { + $1756 = HEAP32[$yymsp>>2]|0; + $1757 = ((($1756)) + -16|0); + $1758 = ((($1757)) + 4|0); + $1759 = HEAP32[$pParse>>2]|0; + $1760 = HEAP32[$yymsp>>2]|0; + $1761 = ((($1760)) + 4|0); + $1762 = HEAP32[$yymsp>>2]|0; + $1763 = ((($1762)) + -16|0); + $1764 = ((($1763)) + 4|0); + _spanUnaryPrefix($1758,$1759,156,$1761,$1764); + break; + } + case 185: case 182: { + $1765 = HEAP32[$yymsp>>2]|0; + $1766 = ((($1765)) + 4|0); + HEAP32[$1766>>2] = 0; break; } - case 229: { - $1751 = HEAP32[$pParse>>2]|0; - $1752 = HEAP32[$yymsp>>2]|0; - $1753 = ((($1752)) + -48|0); - $1754 = ((($1753)) + 4|0); - $1755 = HEAP32[$1754>>2]|0; - $1756 = (_sqlite3PExpr($1751,136,$1755,0,0)|0); - HEAP32[$yygotominor>>2] = $1756; - $1757 = HEAP32[$yygotominor>>2]|0; - $1758 = ($1757|0)!=(0|0); - if ($1758) { - $1759 = HEAP32[$yymsp>>2]|0; - $1760 = ((($1759)) + -16|0); - $1761 = ((($1760)) + 4|0); - $1762 = HEAP32[$1761>>2]|0; - $1763 = ($1762|0)!=(0|0); - if ($1763) { - $1764 = HEAP32[$pParse>>2]|0; - $1765 = HEAP32[$yymsp>>2]|0; - $1766 = ((($1765)) + -32|0); - $1767 = ((($1766)) + 4|0); - $1768 = HEAP32[$1767>>2]|0; - $1769 = HEAP32[$yymsp>>2]|0; - $1770 = ((($1769)) + -16|0); - $1771 = ((($1770)) + 4|0); - $1772 = HEAP32[$1771>>2]|0; - $1773 = (_sqlite3ExprListAppend($1764,$1768,$1772)|0); - $1780 = $1773; - } else { - $1774 = HEAP32[$yymsp>>2]|0; - $1775 = ((($1774)) + -32|0); - $1776 = ((($1775)) + 4|0); - $1777 = HEAP32[$1776>>2]|0; - $1780 = $1777; - } - $1778 = HEAP32[$yygotominor>>2]|0; - $1779 = ((($1778)) + 20|0); - HEAP32[$1779>>2] = $1780; - $1781 = HEAP32[$pParse>>2]|0; - $1782 = HEAP32[$yygotominor>>2]|0; - _sqlite3ExprSetHeightAndFlags($1781,$1782); + case 184: { + $1767 = HEAP32[$pParse>>2]|0; + $1768 = HEAP32[$yymsp>>2]|0; + $1769 = ((($1768)) + -32|0); + $1770 = ((($1769)) + 4|0); + $1771 = HEAP32[$1770>>2]|0; + $1772 = (_sqlite3ExprListAppend($1767,0,$1771)|0); + HEAP32[$pList8>>2] = $1772; + $1773 = HEAP32[$pParse>>2]|0; + $1774 = HEAP32[$pList8>>2]|0; + $1775 = HEAP32[$yymsp>>2]|0; + $1776 = ((($1775)) + 4|0); + $1777 = HEAP32[$1776>>2]|0; + $1778 = (_sqlite3ExprListAppend($1773,$1774,$1777)|0); + HEAP32[$pList8>>2] = $1778; + $1779 = HEAP32[$pParse>>2]|0; + $1780 = HEAP32[$yymsp>>2]|0; + $1781 = ((($1780)) + -64|0); + $1782 = ((($1781)) + 4|0); + $1783 = HEAP32[$1782>>2]|0; + $1784 = (_sqlite3PExpr($1779,74,$1783,0,0)|0); + $1785 = HEAP32[$yymsp>>2]|0; + $1786 = ((($1785)) + -64|0); + $1787 = ((($1786)) + 4|0); + HEAP32[$1787>>2] = $1784; + $1788 = HEAP32[$yymsp>>2]|0; + $1789 = ((($1788)) + -64|0); + $1790 = ((($1789)) + 4|0); + $1791 = HEAP32[$1790>>2]|0; + $1792 = ($1791|0)!=(0|0); + if ($1792) { + $1793 = HEAP32[$pList8>>2]|0; + $1794 = HEAP32[$yymsp>>2]|0; + $1795 = ((($1794)) + -64|0); + $1796 = ((($1795)) + 4|0); + $1797 = HEAP32[$1796>>2]|0; + $1798 = ((($1797)) + 20|0); + HEAP32[$1798>>2] = $1793; } else { - $1783 = HEAP32[$pParse>>2]|0; - $1784 = HEAP32[$1783>>2]|0; - $1785 = HEAP32[$yymsp>>2]|0; - $1786 = ((($1785)) + -32|0); - $1787 = ((($1786)) + 4|0); - $1788 = HEAP32[$1787>>2]|0; - _sqlite3ExprListDelete($1784,$1788); - $1789 = HEAP32[$pParse>>2]|0; - $1790 = HEAP32[$1789>>2]|0; - $1791 = HEAP32[$yymsp>>2]|0; - $1792 = ((($1791)) + -16|0); - $1793 = ((($1792)) + 4|0); - $1794 = HEAP32[$1793>>2]|0; - _sqlite3ExprDelete($1790,$1794); - } - $1795 = HEAP32[$yymsp>>2]|0; - $1796 = ((($1795)) + -64|0); - $1797 = ((($1796)) + 4|0); - $1798 = HEAP32[$1797>>2]|0; - $1799 = ((($yygotominor)) + 4|0); - HEAP32[$1799>>2] = $1798; - $1800 = HEAP32[$yymsp>>2]|0; - $1801 = ((($1800)) + 4|0); - $1802 = ((($1801)) + 4|0); - $1803 = HEAP32[$1802>>2]|0; - $1804 = HEAP32[$yymsp>>2]|0; + $1799 = HEAP32[$pParse>>2]|0; + $1800 = HEAP32[$1799>>2]|0; + $1801 = HEAP32[$pList8>>2]|0; + _sqlite3ExprListDelete($1800,$1801); + } + $1802 = HEAP32[$pParse>>2]|0; + $1803 = HEAP32[$yymsp>>2]|0; + $1804 = ((($1803)) + -48|0); $1805 = ((($1804)) + 4|0); $1806 = HEAP32[$1805>>2]|0; - $1807 = (($1806) + ($1803)|0); - $1808 = ((($yygotominor)) + 8|0); - HEAP32[$1808>>2] = $1807; - break; - } - case 230: { - $1809 = HEAP32[$pParse>>2]|0; + $1807 = HEAP32[$yymsp>>2]|0; + $1808 = ((($1807)) + -64|0); + $1809 = ((($1808)) + 4|0); + _exprNot($1802,$1806,$1809); $1810 = HEAP32[$yymsp>>2]|0; - $1811 = ((($1810)) + -64|0); - $1812 = ((($1811)) + 4|0); + $1811 = ((($1810)) + 4|0); + $1812 = ((($1811)) + 8|0); $1813 = HEAP32[$1812>>2]|0; $1814 = HEAP32[$yymsp>>2]|0; - $1815 = ((($1814)) + -32|0); + $1815 = ((($1814)) + -64|0); $1816 = ((($1815)) + 4|0); - $1817 = HEAP32[$1816>>2]|0; - $1818 = (_sqlite3ExprListAppend($1809,$1813,$1817)|0); - HEAP32[$yygotominor>>2] = $1818; - $1819 = HEAP32[$pParse>>2]|0; - $1820 = HEAP32[$yygotominor>>2]|0; - $1821 = HEAP32[$yymsp>>2]|0; - $1822 = ((($1821)) + 4|0); - $1823 = HEAP32[$1822>>2]|0; - $1824 = (_sqlite3ExprListAppend($1819,$1820,$1823)|0); - HEAP32[$yygotominor>>2] = $1824; - break; - } - case 231: { - $1825 = HEAP32[$pParse>>2]|0; - $1826 = HEAP32[$yymsp>>2]|0; - $1827 = ((($1826)) + -32|0); - $1828 = ((($1827)) + 4|0); - $1829 = HEAP32[$1828>>2]|0; - $1830 = (_sqlite3ExprListAppend($1825,0,$1829)|0); - HEAP32[$yygotominor>>2] = $1830; - $1831 = HEAP32[$pParse>>2]|0; - $1832 = HEAP32[$yygotominor>>2]|0; - $1833 = HEAP32[$yymsp>>2]|0; - $1834 = ((($1833)) + 4|0); - $1835 = HEAP32[$1834>>2]|0; - $1836 = (_sqlite3ExprListAppend($1831,$1832,$1835)|0); - HEAP32[$yygotominor>>2] = $1836; - break; - } - case 238: { - $1837 = HEAP32[$pParse>>2]|0; - $1838 = HEAP32[$yymsp>>2]|0; - $1839 = ((($1838)) + -32|0); - $1840 = ((($1839)) + 4|0); - $1841 = HEAP32[$1840>>2]|0; - $1842 = HEAP32[$yymsp>>2]|0; - $1843 = ((($1842)) + 4|0); - $1844 = HEAP32[$1843>>2]|0; - $1845 = (_sqlite3ExprListAppend($1837,$1841,$1844)|0); - HEAP32[$yygotominor>>2] = $1845; - break; - } - case 239: { - $1846 = HEAP32[$pParse>>2]|0; - $1847 = HEAP32[$yymsp>>2]|0; - $1848 = ((($1847)) + 4|0); - $1849 = HEAP32[$1848>>2]|0; - $1850 = (_sqlite3ExprListAppend($1846,0,$1849)|0); - HEAP32[$yygotominor>>2] = $1850; + $1817 = ((($1816)) + 8|0); + HEAP32[$1817>>2] = $1813; break; } - case 240: { - $1851 = HEAP32[$pParse>>2]|0; - $1852 = HEAP32[$yymsp>>2]|0; - $1853 = ((($1852)) + -112|0); - $1854 = ((($1853)) + 4|0); - $1855 = HEAP32[$yymsp>>2]|0; - $1856 = ((($1855)) + -96|0); - $1857 = ((($1856)) + 4|0); - $1858 = HEAP32[$pParse>>2]|0; - $1859 = HEAP32[$1858>>2]|0; - $1860 = HEAP32[$yymsp>>2]|0; - $1861 = ((($1860)) + -64|0); - $1862 = ((($1861)) + 4|0); - $1863 = (_sqlite3SrcListAppend($1859,0,$1862,0)|0); - $1864 = HEAP32[$yymsp>>2]|0; - $1865 = ((($1864)) + -32|0); - $1866 = ((($1865)) + 4|0); - $1867 = HEAP32[$1866>>2]|0; - $1868 = HEAP32[$yymsp>>2]|0; - $1869 = ((($1868)) + -160|0); - $1870 = ((($1869)) + 4|0); - $1871 = HEAP32[$1870>>2]|0; - $1872 = HEAP32[$yymsp>>2]|0; - $1873 = ((($1872)) + -176|0); - $1874 = ((($1873)) + 4|0); - $1875 = HEAP32[$yymsp>>2]|0; - $1876 = ((($1875)) + 4|0); - $1877 = HEAP32[$1876>>2]|0; - $1878 = HEAP32[$yymsp>>2]|0; - $1879 = ((($1878)) + -128|0); - $1880 = ((($1879)) + 4|0); - $1881 = HEAP32[$1880>>2]|0; - (_sqlite3CreateIndex($1851,$1854,$1857,$1863,$1867,$1871,$1874,$1877,0,$1881)|0); - break; - } - case 292: case 241: { - HEAP32[$yygotominor>>2] = 2; - break; - } - case 242: { - HEAP32[$yygotominor>>2] = 0; - break; - } - case 245: { - $1882 = HEAP32[$pParse>>2]|0; - $1883 = HEAP32[$yymsp>>2]|0; - $1884 = ((($1883)) + -64|0); - $1885 = ((($1884)) + 4|0); - $1886 = HEAP32[$1885>>2]|0; - $1887 = HEAP32[$yymsp>>2]|0; - $1888 = ((($1887)) + -32|0); - $1889 = ((($1888)) + 4|0); - $1890 = HEAP32[$yymsp>>2]|0; - $1891 = ((($1890)) + -16|0); - $1892 = ((($1891)) + 4|0); - $1893 = HEAP32[$1892>>2]|0; - $1894 = HEAP32[$yymsp>>2]|0; - $1895 = ((($1894)) + 4|0); - $1896 = HEAP32[$1895>>2]|0; - $1897 = (_parserAddExprIdListTerm($1882,$1886,$1889,$1893,$1896)|0); - HEAP32[$yygotominor>>2] = $1897; + case 187: { + $1818 = HEAP32[$yymsp>>2]|0; + $1819 = ((($1818)) + -16|0); + $1820 = ((($1819)) + 4|0); + $1821 = HEAP32[$1820>>2]|0; + $1822 = ($1821|0)==(0|0); + do { + if ($1822) { + $1823 = HEAP32[$pParse>>2]|0; + $1824 = HEAP32[$1823>>2]|0; + $1825 = HEAP32[$yymsp>>2]|0; + $1826 = ((($1825)) + -64|0); + $1827 = ((($1826)) + 4|0); + $1828 = HEAP32[$1827>>2]|0; + _sqlite3ExprDelete($1824,$1828); + $1829 = HEAP32[$pParse>>2]|0; + $1830 = HEAP32[$yymsp>>2]|0; + $1831 = ((($1830)) + -48|0); + $1832 = ((($1831)) + 4|0); + $1833 = HEAP32[$1832>>2]|0; + $1834 = (5108 + ($1833<<3)|0); + $1835 = (_sqlite3PExpr($1829,132,0,0,$1834)|0); + $1836 = HEAP32[$yymsp>>2]|0; + $1837 = ((($1836)) + -64|0); + $1838 = ((($1837)) + 4|0); + HEAP32[$1838>>2] = $1835; + } else { + $1839 = HEAP32[$yymsp>>2]|0; + $1840 = ((($1839)) + -16|0); + $1841 = ((($1840)) + 4|0); + $1842 = HEAP32[$1841>>2]|0; + $1843 = HEAP32[$1842>>2]|0; + $1844 = ($1843|0)==(1); + if ($1844) { + $1845 = HEAP32[$yymsp>>2]|0; + $1846 = ((($1845)) + -16|0); + $1847 = ((($1846)) + 4|0); + $1848 = HEAP32[$1847>>2]|0; + $1849 = ((($1848)) + 4|0); + $1850 = HEAP32[$1849>>2]|0; + $1851 = HEAP32[$1850>>2]|0; + HEAP32[$pRHS>>2] = $1851; + $1852 = HEAP32[$yymsp>>2]|0; + $1853 = ((($1852)) + -16|0); + $1854 = ((($1853)) + 4|0); + $1855 = HEAP32[$1854>>2]|0; + $1856 = ((($1855)) + 4|0); + $1857 = HEAP32[$1856>>2]|0; + HEAP32[$1857>>2] = 0; + $1858 = HEAP32[$pParse>>2]|0; + $1859 = HEAP32[$1858>>2]|0; + $1860 = HEAP32[$yymsp>>2]|0; + $1861 = ((($1860)) + -16|0); + $1862 = ((($1861)) + 4|0); + $1863 = HEAP32[$1862>>2]|0; + _sqlite3ExprListDelete($1859,$1863); + $1864 = HEAP32[$pRHS>>2]|0; + $1865 = ($1864|0)!=(0|0); + if ($1865) { + $1866 = HEAP32[$pRHS>>2]|0; + $1867 = ((($1866)) + 4|0); + $1868 = HEAP32[$1867>>2]|0; + $1869 = $1868 & -257; + HEAP32[$1867>>2] = $1869; + $1870 = HEAP32[$pRHS>>2]|0; + $1871 = ((($1870)) + 4|0); + $1872 = HEAP32[$1871>>2]|0; + $1873 = $1872 | 512; + HEAP32[$1871>>2] = $1873; + } + $1874 = HEAP32[$pParse>>2]|0; + $1875 = HEAP32[$yymsp>>2]|0; + $1876 = ((($1875)) + -48|0); + $1877 = ((($1876)) + 4|0); + $1878 = HEAP32[$1877>>2]|0; + $1879 = ($1878|0)!=(0); + $1880 = $1879 ? 78 : 79; + $1881 = HEAP32[$yymsp>>2]|0; + $1882 = ((($1881)) + -64|0); + $1883 = ((($1882)) + 4|0); + $1884 = HEAP32[$1883>>2]|0; + $1885 = HEAP32[$pRHS>>2]|0; + $1886 = (_sqlite3PExpr($1874,$1880,$1884,$1885,0)|0); + $1887 = HEAP32[$yymsp>>2]|0; + $1888 = ((($1887)) + -64|0); + $1889 = ((($1888)) + 4|0); + HEAP32[$1889>>2] = $1886; + break; + } + $1890 = HEAP32[$pParse>>2]|0; + $1891 = HEAP32[$yymsp>>2]|0; + $1892 = ((($1891)) + -64|0); + $1893 = ((($1892)) + 4|0); + $1894 = HEAP32[$1893>>2]|0; + $1895 = (_sqlite3PExpr($1890,75,$1894,0,0)|0); + $1896 = HEAP32[$yymsp>>2]|0; + $1897 = ((($1896)) + -64|0); + $1898 = ((($1897)) + 4|0); + HEAP32[$1898>>2] = $1895; + $1899 = HEAP32[$yymsp>>2]|0; + $1900 = ((($1899)) + -64|0); + $1901 = ((($1900)) + 4|0); + $1902 = HEAP32[$1901>>2]|0; + $1903 = ($1902|0)!=(0|0); + if ($1903) { + $1904 = HEAP32[$yymsp>>2]|0; + $1905 = ((($1904)) + -16|0); + $1906 = ((($1905)) + 4|0); + $1907 = HEAP32[$1906>>2]|0; + $1908 = HEAP32[$yymsp>>2]|0; + $1909 = ((($1908)) + -64|0); + $1910 = ((($1909)) + 4|0); + $1911 = HEAP32[$1910>>2]|0; + $1912 = ((($1911)) + 20|0); + HEAP32[$1912>>2] = $1907; + $1913 = HEAP32[$pParse>>2]|0; + $1914 = HEAP32[$yymsp>>2]|0; + $1915 = ((($1914)) + -64|0); + $1916 = ((($1915)) + 4|0); + $1917 = HEAP32[$1916>>2]|0; + _sqlite3ExprSetHeightAndFlags($1913,$1917); + } else { + $1918 = HEAP32[$pParse>>2]|0; + $1919 = HEAP32[$1918>>2]|0; + $1920 = HEAP32[$yymsp>>2]|0; + $1921 = ((($1920)) + -16|0); + $1922 = ((($1921)) + 4|0); + $1923 = HEAP32[$1922>>2]|0; + _sqlite3ExprListDelete($1919,$1923); + } + $1924 = HEAP32[$pParse>>2]|0; + $1925 = HEAP32[$yymsp>>2]|0; + $1926 = ((($1925)) + -48|0); + $1927 = ((($1926)) + 4|0); + $1928 = HEAP32[$1927>>2]|0; + $1929 = HEAP32[$yymsp>>2]|0; + $1930 = ((($1929)) + -64|0); + $1931 = ((($1930)) + 4|0); + _exprNot($1924,$1928,$1931); + } + } while(0); + $1932 = HEAP32[$yymsp>>2]|0; + $1933 = ((($1932)) + 4|0); + $1934 = ((($1933)) + 4|0); + $1935 = HEAP32[$1934>>2]|0; + $1936 = HEAP32[$yymsp>>2]|0; + $1937 = ((($1936)) + 4|0); + $1938 = HEAP32[$1937>>2]|0; + $1939 = (($1938) + ($1935)|0); + $1940 = HEAP32[$yymsp>>2]|0; + $1941 = ((($1940)) + -64|0); + $1942 = ((($1941)) + 4|0); + $1943 = ((($1942)) + 8|0); + HEAP32[$1943>>2] = $1939; + break; + } + case 188: { + $1944 = HEAP32[$yymsp>>2]|0; + $1945 = ((($1944)) + -32|0); + $1946 = ((($1945)) + 4|0); + $1947 = HEAP32[$yymsp>>2]|0; + $1948 = ((($1947)) + -32|0); + $1949 = ((($1948)) + 4|0); + $1950 = HEAP32[$yymsp>>2]|0; + $1951 = ((($1950)) + 4|0); + _spanSet($1946,$1949,$1951); + $1952 = HEAP32[$pParse>>2]|0; + $1953 = (_sqlite3PExpr($1952,119,0,0,0)|0); + $1954 = HEAP32[$yymsp>>2]|0; + $1955 = ((($1954)) + -32|0); + $1956 = ((($1955)) + 4|0); + HEAP32[$1956>>2] = $1953; + $1957 = HEAP32[$yymsp>>2]|0; + $1958 = ((($1957)) + -32|0); + $1959 = ((($1958)) + 4|0); + $1960 = HEAP32[$1959>>2]|0; + $1961 = ($1960|0)!=(0|0); + if ($1961) { + $1962 = HEAP32[$yymsp>>2]|0; + $1963 = ((($1962)) + -16|0); + $1964 = ((($1963)) + 4|0); + $1965 = HEAP32[$1964>>2]|0; + $1966 = HEAP32[$yymsp>>2]|0; + $1967 = ((($1966)) + -32|0); + $1968 = ((($1967)) + 4|0); + $1969 = HEAP32[$1968>>2]|0; + $1970 = ((($1969)) + 20|0); + HEAP32[$1970>>2] = $1965; + $1971 = HEAP32[$yymsp>>2]|0; + $1972 = ((($1971)) + -32|0); + $1973 = ((($1972)) + 4|0); + $1974 = HEAP32[$1973>>2]|0; + $1975 = ((($1974)) + 4|0); + $1976 = HEAP32[$1975>>2]|0; + $1977 = $1976 | 2099200; + HEAP32[$1975>>2] = $1977; + $1978 = HEAP32[$pParse>>2]|0; + $1979 = HEAP32[$yymsp>>2]|0; + $1980 = ((($1979)) + -32|0); + $1981 = ((($1980)) + 4|0); + $1982 = HEAP32[$1981>>2]|0; + _sqlite3ExprSetHeightAndFlags($1978,$1982); + break L6; + } else { + $1983 = HEAP32[$pParse>>2]|0; + $1984 = HEAP32[$1983>>2]|0; + $1985 = HEAP32[$yymsp>>2]|0; + $1986 = ((($1985)) + -16|0); + $1987 = ((($1986)) + 4|0); + $1988 = HEAP32[$1987>>2]|0; + _sqlite3SelectDelete($1984,$1988); + break L6; + } break; } - case 246: { - $1898 = HEAP32[$pParse>>2]|0; - $1899 = HEAP32[$yymsp>>2]|0; - $1900 = ((($1899)) + -32|0); - $1901 = ((($1900)) + 4|0); - $1902 = HEAP32[$yymsp>>2]|0; - $1903 = ((($1902)) + -16|0); - $1904 = ((($1903)) + 4|0); - $1905 = HEAP32[$1904>>2]|0; - $1906 = HEAP32[$yymsp>>2]|0; - $1907 = ((($1906)) + 4|0); - $1908 = HEAP32[$1907>>2]|0; - $1909 = (_parserAddExprIdListTerm($1898,0,$1901,$1905,$1908)|0); - HEAP32[$yygotominor>>2] = $1909; - break; - } - case 249: { - $1910 = HEAP32[$pParse>>2]|0; - $1911 = HEAP32[$yymsp>>2]|0; - $1912 = ((($1911)) + 4|0); - $1913 = HEAP32[$1912>>2]|0; - $1914 = HEAP32[$yymsp>>2]|0; - $1915 = ((($1914)) + -16|0); - $1916 = ((($1915)) + 4|0); - $1917 = HEAP32[$1916>>2]|0; - _sqlite3DropIndex($1910,$1913,$1917); - break; - } - case 251: case 250: { - $1918 = HEAP32[$pParse>>2]|0; - _sqlite3Vacuum($1918); + case 189: { + $1989 = HEAP32[$pParse>>2]|0; + $1990 = HEAP32[$yymsp>>2]|0; + $1991 = ((($1990)) + -64|0); + $1992 = ((($1991)) + 4|0); + $1993 = HEAP32[$1992>>2]|0; + $1994 = (_sqlite3PExpr($1989,75,$1993,0,0)|0); + $1995 = HEAP32[$yymsp>>2]|0; + $1996 = ((($1995)) + -64|0); + $1997 = ((($1996)) + 4|0); + HEAP32[$1997>>2] = $1994; + $1998 = HEAP32[$yymsp>>2]|0; + $1999 = ((($1998)) + -64|0); + $2000 = ((($1999)) + 4|0); + $2001 = HEAP32[$2000>>2]|0; + $2002 = ($2001|0)!=(0|0); + if ($2002) { + $2003 = HEAP32[$yymsp>>2]|0; + $2004 = ((($2003)) + -16|0); + $2005 = ((($2004)) + 4|0); + $2006 = HEAP32[$2005>>2]|0; + $2007 = HEAP32[$yymsp>>2]|0; + $2008 = ((($2007)) + -64|0); + $2009 = ((($2008)) + 4|0); + $2010 = HEAP32[$2009>>2]|0; + $2011 = ((($2010)) + 20|0); + HEAP32[$2011>>2] = $2006; + $2012 = HEAP32[$yymsp>>2]|0; + $2013 = ((($2012)) + -64|0); + $2014 = ((($2013)) + 4|0); + $2015 = HEAP32[$2014>>2]|0; + $2016 = ((($2015)) + 4|0); + $2017 = HEAP32[$2016>>2]|0; + $2018 = $2017 | 2099200; + HEAP32[$2016>>2] = $2018; + $2019 = HEAP32[$pParse>>2]|0; + $2020 = HEAP32[$yymsp>>2]|0; + $2021 = ((($2020)) + -64|0); + $2022 = ((($2021)) + 4|0); + $2023 = HEAP32[$2022>>2]|0; + _sqlite3ExprSetHeightAndFlags($2019,$2023); + } else { + $2024 = HEAP32[$pParse>>2]|0; + $2025 = HEAP32[$2024>>2]|0; + $2026 = HEAP32[$yymsp>>2]|0; + $2027 = ((($2026)) + -16|0); + $2028 = ((($2027)) + 4|0); + $2029 = HEAP32[$2028>>2]|0; + _sqlite3SelectDelete($2025,$2029); + } + $2030 = HEAP32[$pParse>>2]|0; + $2031 = HEAP32[$yymsp>>2]|0; + $2032 = ((($2031)) + -48|0); + $2033 = ((($2032)) + 4|0); + $2034 = HEAP32[$2033>>2]|0; + $2035 = HEAP32[$yymsp>>2]|0; + $2036 = ((($2035)) + -64|0); + $2037 = ((($2036)) + 4|0); + _exprNot($2030,$2034,$2037); + $2038 = HEAP32[$yymsp>>2]|0; + $2039 = ((($2038)) + 4|0); + $2040 = ((($2039)) + 4|0); + $2041 = HEAP32[$2040>>2]|0; + $2042 = HEAP32[$yymsp>>2]|0; + $2043 = ((($2042)) + 4|0); + $2044 = HEAP32[$2043>>2]|0; + $2045 = (($2044) + ($2041)|0); + $2046 = HEAP32[$yymsp>>2]|0; + $2047 = ((($2046)) + -64|0); + $2048 = ((($2047)) + 4|0); + $2049 = ((($2048)) + 8|0); + HEAP32[$2049>>2] = $2045; break; } - case 252: { - $1919 = HEAP32[$pParse>>2]|0; - $1920 = HEAP32[$yymsp>>2]|0; - $1921 = ((($1920)) + -16|0); - $1922 = ((($1921)) + 4|0); - $1923 = HEAP32[$yymsp>>2]|0; - $1924 = ((($1923)) + 4|0); - _sqlite3Pragma($1919,$1922,$1924,0,0); + case 190: { + $2050 = HEAP32[$pParse>>2]|0; + $2051 = HEAP32[$2050>>2]|0; + $2052 = HEAP32[$yymsp>>2]|0; + $2053 = ((($2052)) + -16|0); + $2054 = ((($2053)) + 4|0); + $2055 = HEAP32[$yymsp>>2]|0; + $2056 = ((($2055)) + 4|0); + $2057 = (_sqlite3SrcListAppend($2051,0,$2054,$2056)|0); + HEAP32[$pSrc>>2] = $2057; + $2058 = HEAP32[$pParse>>2]|0; + $2059 = HEAP32[$yymsp>>2]|0; + $2060 = ((($2059)) + -48|0); + $2061 = ((($2060)) + 4|0); + $2062 = HEAP32[$2061>>2]|0; + $2063 = (_sqlite3PExpr($2058,75,$2062,0,0)|0); + $2064 = HEAP32[$yymsp>>2]|0; + $2065 = ((($2064)) + -48|0); + $2066 = ((($2065)) + 4|0); + HEAP32[$2066>>2] = $2063; + $2067 = HEAP32[$yymsp>>2]|0; + $2068 = ((($2067)) + -48|0); + $2069 = ((($2068)) + 4|0); + $2070 = HEAP32[$2069>>2]|0; + $2071 = ($2070|0)!=(0|0); + $2072 = HEAP32[$pParse>>2]|0; + if ($2071) { + $2073 = HEAP32[$pSrc>>2]|0; + $2074 = (_sqlite3SelectNew($2072,0,$2073,0,0,0,0,0,0,0)|0); + $2075 = HEAP32[$yymsp>>2]|0; + $2076 = ((($2075)) + -48|0); + $2077 = ((($2076)) + 4|0); + $2078 = HEAP32[$2077>>2]|0; + $2079 = ((($2078)) + 20|0); + HEAP32[$2079>>2] = $2074; + $2080 = HEAP32[$yymsp>>2]|0; + $2081 = ((($2080)) + -48|0); + $2082 = ((($2081)) + 4|0); + $2083 = HEAP32[$2082>>2]|0; + $2084 = ((($2083)) + 4|0); + $2085 = HEAP32[$2084>>2]|0; + $2086 = $2085 | 2099200; + HEAP32[$2084>>2] = $2086; + $2087 = HEAP32[$pParse>>2]|0; + $2088 = HEAP32[$yymsp>>2]|0; + $2089 = ((($2088)) + -48|0); + $2090 = ((($2089)) + 4|0); + $2091 = HEAP32[$2090>>2]|0; + _sqlite3ExprSetHeightAndFlags($2087,$2091); + } else { + $2092 = HEAP32[$2072>>2]|0; + $2093 = HEAP32[$pSrc>>2]|0; + _sqlite3SrcListDelete($2092,$2093); + } + $2094 = HEAP32[$pParse>>2]|0; + $2095 = HEAP32[$yymsp>>2]|0; + $2096 = ((($2095)) + -32|0); + $2097 = ((($2096)) + 4|0); + $2098 = HEAP32[$2097>>2]|0; + $2099 = HEAP32[$yymsp>>2]|0; + $2100 = ((($2099)) + -48|0); + $2101 = ((($2100)) + 4|0); + _exprNot($2094,$2098,$2101); + $2102 = HEAP32[$yymsp>>2]|0; + $2103 = ((($2102)) + 4|0); + $2104 = HEAP32[$2103>>2]|0; + $2105 = ($2104|0)!=(0|0); + $2106 = HEAP32[$yymsp>>2]|0; + if ($2105) { + $2107 = ((($2106)) + 4|0); + $2108 = ((($2107)) + 4|0); + $2109 = HEAP32[$2108>>2]|0; + $2110 = HEAP32[$yymsp>>2]|0; + $2111 = ((($2110)) + 4|0); + $2112 = HEAP32[$2111>>2]|0; + $2113 = (($2112) + ($2109)|0); + $2127 = $2113; + } else { + $2114 = ((($2106)) + -16|0); + $2115 = ((($2114)) + 4|0); + $2116 = ((($2115)) + 4|0); + $2117 = HEAP32[$2116>>2]|0; + $2118 = HEAP32[$yymsp>>2]|0; + $2119 = ((($2118)) + -16|0); + $2120 = ((($2119)) + 4|0); + $2121 = HEAP32[$2120>>2]|0; + $2122 = (($2121) + ($2117)|0); + $2127 = $2122; + } + $2123 = HEAP32[$yymsp>>2]|0; + $2124 = ((($2123)) + -48|0); + $2125 = ((($2124)) + 4|0); + $2126 = ((($2125)) + 8|0); + HEAP32[$2126>>2] = $2127; + break; + } + case 191: { + $2128 = HEAP32[$yymsp>>2]|0; + $2129 = ((($2128)) + -48|0); + $2130 = ((($2129)) + 4|0); + $2131 = HEAP32[$yymsp>>2]|0; + $2132 = ((($2131)) + -48|0); + $2133 = ((($2132)) + 4|0); + $2134 = HEAP32[$yymsp>>2]|0; + $2135 = ((($2134)) + 4|0); + _spanSet($2130,$2133,$2135); + $2136 = HEAP32[$pParse>>2]|0; + $2137 = (_sqlite3PExpr($2136,20,0,0,0)|0); + $2138 = HEAP32[$yymsp>>2]|0; + $2139 = ((($2138)) + -48|0); + $2140 = ((($2139)) + 4|0); + HEAP32[$2140>>2] = $2137; + HEAP32[$p9>>2] = $2137; + $2141 = HEAP32[$p9>>2]|0; + $2142 = ($2141|0)!=(0|0); + if ($2142) { + $2143 = HEAP32[$yymsp>>2]|0; + $2144 = ((($2143)) + -16|0); + $2145 = ((($2144)) + 4|0); + $2146 = HEAP32[$2145>>2]|0; + $2147 = HEAP32[$p9>>2]|0; + $2148 = ((($2147)) + 20|0); + HEAP32[$2148>>2] = $2146; + $2149 = HEAP32[$p9>>2]|0; + $2150 = ((($2149)) + 4|0); + $2151 = HEAP32[$2150>>2]|0; + $2152 = $2151 | 2099200; + HEAP32[$2150>>2] = $2152; + $2153 = HEAP32[$pParse>>2]|0; + $2154 = HEAP32[$p9>>2]|0; + _sqlite3ExprSetHeightAndFlags($2153,$2154); + break L6; + } else { + $2155 = HEAP32[$pParse>>2]|0; + $2156 = HEAP32[$2155>>2]|0; + $2157 = HEAP32[$yymsp>>2]|0; + $2158 = ((($2157)) + -16|0); + $2159 = ((($2158)) + 4|0); + $2160 = HEAP32[$2159>>2]|0; + _sqlite3SelectDelete($2156,$2160); + break L6; + } + break; + } + case 192: { + $2161 = HEAP32[$yymsp>>2]|0; + $2162 = ((($2161)) + -64|0); + $2163 = ((($2162)) + 4|0); + $2164 = HEAP32[$yymsp>>2]|0; + $2165 = ((($2164)) + -64|0); + $2166 = ((($2165)) + 4|0); + $2167 = HEAP32[$yymsp>>2]|0; + $2168 = ((($2167)) + 4|0); + _spanSet($2163,$2166,$2168); + $2169 = HEAP32[$pParse>>2]|0; + $2170 = HEAP32[$yymsp>>2]|0; + $2171 = ((($2170)) + -48|0); + $2172 = ((($2171)) + 4|0); + $2173 = HEAP32[$2172>>2]|0; + $2174 = (_sqlite3PExpr($2169,136,$2173,0,0)|0); + $2175 = HEAP32[$yymsp>>2]|0; + $2176 = ((($2175)) + -64|0); + $2177 = ((($2176)) + 4|0); + HEAP32[$2177>>2] = $2174; + $2178 = HEAP32[$yymsp>>2]|0; + $2179 = ((($2178)) + -64|0); + $2180 = ((($2179)) + 4|0); + $2181 = HEAP32[$2180>>2]|0; + $2182 = ($2181|0)!=(0|0); + if (!($2182)) { + $2213 = HEAP32[$pParse>>2]|0; + $2214 = HEAP32[$2213>>2]|0; + $2215 = HEAP32[$yymsp>>2]|0; + $2216 = ((($2215)) + -32|0); + $2217 = ((($2216)) + 4|0); + $2218 = HEAP32[$2217>>2]|0; + _sqlite3ExprListDelete($2214,$2218); + $2219 = HEAP32[$pParse>>2]|0; + $2220 = HEAP32[$2219>>2]|0; + $2221 = HEAP32[$yymsp>>2]|0; + $2222 = ((($2221)) + -16|0); + $2223 = ((($2222)) + 4|0); + $2224 = HEAP32[$2223>>2]|0; + _sqlite3ExprDelete($2220,$2224); + break L6; + } + $2183 = HEAP32[$yymsp>>2]|0; + $2184 = ((($2183)) + -16|0); + $2185 = ((($2184)) + 4|0); + $2186 = HEAP32[$2185>>2]|0; + $2187 = ($2186|0)!=(0|0); + if ($2187) { + $2188 = HEAP32[$pParse>>2]|0; + $2189 = HEAP32[$yymsp>>2]|0; + $2190 = ((($2189)) + -32|0); + $2191 = ((($2190)) + 4|0); + $2192 = HEAP32[$2191>>2]|0; + $2193 = HEAP32[$yymsp>>2]|0; + $2194 = ((($2193)) + -16|0); + $2195 = ((($2194)) + 4|0); + $2196 = HEAP32[$2195>>2]|0; + $2197 = (_sqlite3ExprListAppend($2188,$2192,$2196)|0); + $2207 = $2197; + } else { + $2198 = HEAP32[$yymsp>>2]|0; + $2199 = ((($2198)) + -32|0); + $2200 = ((($2199)) + 4|0); + $2201 = HEAP32[$2200>>2]|0; + $2207 = $2201; + } + $2202 = HEAP32[$yymsp>>2]|0; + $2203 = ((($2202)) + -64|0); + $2204 = ((($2203)) + 4|0); + $2205 = HEAP32[$2204>>2]|0; + $2206 = ((($2205)) + 20|0); + HEAP32[$2206>>2] = $2207; + $2208 = HEAP32[$pParse>>2]|0; + $2209 = HEAP32[$yymsp>>2]|0; + $2210 = ((($2209)) + -64|0); + $2211 = ((($2210)) + 4|0); + $2212 = HEAP32[$2211>>2]|0; + _sqlite3ExprSetHeightAndFlags($2208,$2212); break; } - case 253: { - $1925 = HEAP32[$pParse>>2]|0; - $1926 = HEAP32[$yymsp>>2]|0; - $1927 = ((($1926)) + -48|0); - $1928 = ((($1927)) + 4|0); - $1929 = HEAP32[$yymsp>>2]|0; - $1930 = ((($1929)) + -32|0); - $1931 = ((($1930)) + 4|0); - $1932 = HEAP32[$yymsp>>2]|0; - $1933 = ((($1932)) + 4|0); - _sqlite3Pragma($1925,$1928,$1931,$1933,0); + case 193: { + $2225 = HEAP32[$pParse>>2]|0; + $2226 = HEAP32[$yymsp>>2]|0; + $2227 = ((($2226)) + -64|0); + $2228 = ((($2227)) + 4|0); + $2229 = HEAP32[$2228>>2]|0; + $2230 = HEAP32[$yymsp>>2]|0; + $2231 = ((($2230)) + -32|0); + $2232 = ((($2231)) + 4|0); + $2233 = HEAP32[$2232>>2]|0; + $2234 = (_sqlite3ExprListAppend($2225,$2229,$2233)|0); + $2235 = HEAP32[$yymsp>>2]|0; + $2236 = ((($2235)) + -64|0); + $2237 = ((($2236)) + 4|0); + HEAP32[$2237>>2] = $2234; + $2238 = HEAP32[$pParse>>2]|0; + $2239 = HEAP32[$yymsp>>2]|0; + $2240 = ((($2239)) + -64|0); + $2241 = ((($2240)) + 4|0); + $2242 = HEAP32[$2241>>2]|0; + $2243 = HEAP32[$yymsp>>2]|0; + $2244 = ((($2243)) + 4|0); + $2245 = HEAP32[$2244>>2]|0; + $2246 = (_sqlite3ExprListAppend($2238,$2242,$2245)|0); + $2247 = HEAP32[$yymsp>>2]|0; + $2248 = ((($2247)) + -64|0); + $2249 = ((($2248)) + 4|0); + HEAP32[$2249>>2] = $2246; break; } - case 254: { - $1934 = HEAP32[$pParse>>2]|0; - $1935 = HEAP32[$yymsp>>2]|0; - $1936 = ((($1935)) + -64|0); - $1937 = ((($1936)) + 4|0); - $1938 = HEAP32[$yymsp>>2]|0; - $1939 = ((($1938)) + -48|0); - $1940 = ((($1939)) + 4|0); - $1941 = HEAP32[$yymsp>>2]|0; - $1942 = ((($1941)) + -16|0); - $1943 = ((($1942)) + 4|0); - _sqlite3Pragma($1934,$1937,$1940,$1943,0); + case 194: { + $2250 = HEAP32[$pParse>>2]|0; + $2251 = HEAP32[$yymsp>>2]|0; + $2252 = ((($2251)) + -32|0); + $2253 = ((($2252)) + 4|0); + $2254 = HEAP32[$2253>>2]|0; + $2255 = (_sqlite3ExprListAppend($2250,0,$2254)|0); + $2256 = HEAP32[$yymsp>>2]|0; + $2257 = ((($2256)) + -48|0); + $2258 = ((($2257)) + 4|0); + HEAP32[$2258>>2] = $2255; + $2259 = HEAP32[$pParse>>2]|0; + $2260 = HEAP32[$yymsp>>2]|0; + $2261 = ((($2260)) + -48|0); + $2262 = ((($2261)) + 4|0); + $2263 = HEAP32[$2262>>2]|0; + $2264 = HEAP32[$yymsp>>2]|0; + $2265 = ((($2264)) + 4|0); + $2266 = HEAP32[$2265>>2]|0; + $2267 = (_sqlite3ExprListAppend($2259,$2263,$2266)|0); + $2268 = HEAP32[$yymsp>>2]|0; + $2269 = ((($2268)) + -48|0); + $2270 = ((($2269)) + 4|0); + HEAP32[$2270>>2] = $2267; break; } - case 255: { - $1944 = HEAP32[$pParse>>2]|0; - $1945 = HEAP32[$yymsp>>2]|0; - $1946 = ((($1945)) + -48|0); - $1947 = ((($1946)) + 4|0); - $1948 = HEAP32[$yymsp>>2]|0; - $1949 = ((($1948)) + -32|0); - $1950 = ((($1949)) + 4|0); - $1951 = HEAP32[$yymsp>>2]|0; - $1952 = ((($1951)) + 4|0); - _sqlite3Pragma($1944,$1947,$1950,$1952,1); + case 197: { + $2271 = HEAP32[$yymsp>>2]|0; + $2272 = ((($2271)) + 4|0); + $2273 = HEAP32[$2272>>2]|0; + $2274 = HEAP32[$yymsp>>2]|0; + $2275 = ((($2274)) + 4|0); + HEAP32[$2275>>2] = $2273; + break; + } + case 200: { + $2276 = HEAP32[$pParse>>2]|0; + $2277 = HEAP32[$yymsp>>2]|0; + $2278 = ((($2277)) + -32|0); + $2279 = ((($2278)) + 4|0); + $2280 = HEAP32[$2279>>2]|0; + $2281 = HEAP32[$yymsp>>2]|0; + $2282 = ((($2281)) + 4|0); + $2283 = HEAP32[$2282>>2]|0; + $2284 = (_sqlite3ExprListAppend($2276,$2280,$2283)|0); + $2285 = HEAP32[$yymsp>>2]|0; + $2286 = ((($2285)) + -32|0); + $2287 = ((($2286)) + 4|0); + HEAP32[$2287>>2] = $2284; break; } - case 256: { - $1953 = HEAP32[$pParse>>2]|0; - $1954 = HEAP32[$yymsp>>2]|0; - $1955 = ((($1954)) + -64|0); - $1956 = ((($1955)) + 4|0); - $1957 = HEAP32[$yymsp>>2]|0; - $1958 = ((($1957)) + -48|0); - $1959 = ((($1958)) + 4|0); - $1960 = HEAP32[$yymsp>>2]|0; - $1961 = ((($1960)) + -16|0); - $1962 = ((($1961)) + 4|0); - _sqlite3Pragma($1953,$1956,$1959,$1962,1); + case 201: { + $2288 = HEAP32[$pParse>>2]|0; + $2289 = HEAP32[$yymsp>>2]|0; + $2290 = ((($2289)) + 4|0); + $2291 = HEAP32[$2290>>2]|0; + $2292 = (_sqlite3ExprListAppend($2288,0,$2291)|0); + $2293 = HEAP32[$yymsp>>2]|0; + $2294 = ((($2293)) + 4|0); + HEAP32[$2294>>2] = $2292; + break; + } + case 202: { + $2295 = HEAP32[$pParse>>2]|0; + $2296 = HEAP32[$yymsp>>2]|0; + $2297 = ((($2296)) + -112|0); + $2298 = ((($2297)) + 4|0); + $2299 = HEAP32[$yymsp>>2]|0; + $2300 = ((($2299)) + -96|0); + $2301 = ((($2300)) + 4|0); + $2302 = HEAP32[$pParse>>2]|0; + $2303 = HEAP32[$2302>>2]|0; + $2304 = HEAP32[$yymsp>>2]|0; + $2305 = ((($2304)) + -64|0); + $2306 = ((($2305)) + 4|0); + $2307 = (_sqlite3SrcListAppend($2303,0,$2306,0)|0); + $2308 = HEAP32[$yymsp>>2]|0; + $2309 = ((($2308)) + -32|0); + $2310 = ((($2309)) + 4|0); + $2311 = HEAP32[$2310>>2]|0; + $2312 = HEAP32[$yymsp>>2]|0; + $2313 = ((($2312)) + -160|0); + $2314 = ((($2313)) + 4|0); + $2315 = HEAP32[$2314>>2]|0; + $2316 = HEAP32[$yymsp>>2]|0; + $2317 = ((($2316)) + -176|0); + $2318 = ((($2317)) + 4|0); + $2319 = HEAP32[$yymsp>>2]|0; + $2320 = ((($2319)) + 4|0); + $2321 = HEAP32[$2320>>2]|0; + $2322 = HEAP32[$yymsp>>2]|0; + $2323 = ((($2322)) + -128|0); + $2324 = ((($2323)) + 4|0); + $2325 = HEAP32[$2324>>2]|0; + (_sqlite3CreateIndex($2295,$2298,$2301,$2307,$2311,$2315,$2318,$2321,0,$2325)|0); + break; + } + case 244: case 203: { + $2326 = HEAP32[$yymsp>>2]|0; + $2327 = ((($2326)) + 4|0); + HEAP32[$2327>>2] = 2; + break; + } + case 204: { + $2328 = HEAP32[$yymsp>>2]|0; + $2329 = ((($2328)) + 16|0); + $2330 = ((($2329)) + 4|0); + HEAP32[$2330>>2] = 0; + break; + } + case 206: { + $2331 = HEAP32[$yymsp>>2]|0; + $2332 = ((($2331)) + -16|0); + $2333 = ((($2332)) + 4|0); + $2334 = HEAP32[$2333>>2]|0; + $2335 = HEAP32[$yymsp>>2]|0; + $2336 = ((($2335)) + -32|0); + $2337 = ((($2336)) + 4|0); + HEAP32[$2337>>2] = $2334; break; } - case 265: { - $1963 = HEAP32[$yymsp>>2]|0; - $1964 = ((($1963)) + -48|0); - $1965 = ((($1964)) + 4|0); - $1966 = HEAP32[$1965>>2]|0; - HEAP32[$all>>2] = $1966; - $1967 = HEAP32[$yymsp>>2]|0; - $1968 = ((($1967)) + 4|0); - $1969 = HEAP32[$1968>>2]|0; - $1970 = HEAP32[$yymsp>>2]|0; - $1971 = ((($1970)) + -48|0); - $1972 = ((($1971)) + 4|0); - $1973 = HEAP32[$1972>>2]|0; - $1974 = $1969; - $1975 = $1973; - $1976 = (($1974) - ($1975))|0; - $1977 = HEAP32[$yymsp>>2]|0; - $1978 = ((($1977)) + 4|0); - $1979 = ((($1978)) + 4|0); - $1980 = HEAP32[$1979>>2]|0; - $1981 = (($1976) + ($1980))|0; - $1982 = ((($all)) + 4|0); - HEAP32[$1982>>2] = $1981; - $1983 = HEAP32[$pParse>>2]|0; - $1984 = HEAP32[$yymsp>>2]|0; - $1985 = ((($1984)) + -16|0); - $1986 = ((($1985)) + 4|0); - $1987 = HEAP32[$1986>>2]|0; - _sqlite3FinishTrigger($1983,$1987,$all); + case 207: { + $2338 = HEAP32[$pParse>>2]|0; + $2339 = HEAP32[$yymsp>>2]|0; + $2340 = ((($2339)) + -64|0); + $2341 = ((($2340)) + 4|0); + $2342 = HEAP32[$2341>>2]|0; + $2343 = HEAP32[$yymsp>>2]|0; + $2344 = ((($2343)) + -32|0); + $2345 = ((($2344)) + 4|0); + $2346 = HEAP32[$yymsp>>2]|0; + $2347 = ((($2346)) + -16|0); + $2348 = ((($2347)) + 4|0); + $2349 = HEAP32[$2348>>2]|0; + $2350 = HEAP32[$yymsp>>2]|0; + $2351 = ((($2350)) + 4|0); + $2352 = HEAP32[$2351>>2]|0; + $2353 = (_parserAddExprIdListTerm($2338,$2342,$2345,$2349,$2352)|0); + $2354 = HEAP32[$yymsp>>2]|0; + $2355 = ((($2354)) + -64|0); + $2356 = ((($2355)) + 4|0); + HEAP32[$2356>>2] = $2353; break; } - case 266: { - $1988 = HEAP32[$pParse>>2]|0; - $1989 = HEAP32[$yymsp>>2]|0; - $1990 = ((($1989)) + -112|0); - $1991 = ((($1990)) + 4|0); - $1992 = HEAP32[$yymsp>>2]|0; - $1993 = ((($1992)) + -96|0); - $1994 = ((($1993)) + 4|0); - $1995 = HEAP32[$yymsp>>2]|0; - $1996 = ((($1995)) + -80|0); - $1997 = ((($1996)) + 4|0); - $1998 = HEAP32[$1997>>2]|0; - $1999 = HEAP32[$yymsp>>2]|0; - $2000 = ((($1999)) + -64|0); - $2001 = ((($2000)) + 4|0); - $2002 = HEAP32[$2001>>2]|0; - $2003 = HEAP32[$yymsp>>2]|0; - $2004 = ((($2003)) + -64|0); - $2005 = ((($2004)) + 4|0); - $2006 = ((($2005)) + 4|0); - $2007 = HEAP32[$2006>>2]|0; - $2008 = HEAP32[$yymsp>>2]|0; - $2009 = ((($2008)) + -32|0); - $2010 = ((($2009)) + 4|0); - $2011 = HEAP32[$2010>>2]|0; - $2012 = HEAP32[$yymsp>>2]|0; - $2013 = ((($2012)) + 4|0); - $2014 = HEAP32[$2013>>2]|0; - $2015 = HEAP32[$yymsp>>2]|0; - $2016 = ((($2015)) + -160|0); - $2017 = ((($2016)) + 4|0); - $2018 = HEAP32[$2017>>2]|0; - $2019 = HEAP32[$yymsp>>2]|0; - $2020 = ((($2019)) + -128|0); - $2021 = ((($2020)) + 4|0); - $2022 = HEAP32[$2021>>2]|0; - _sqlite3BeginTrigger($1988,$1991,$1994,$1998,$2002,$2007,$2011,$2014,$2018,$2022); - $2023 = HEAP32[$yymsp>>2]|0; - $2024 = ((($2023)) + -96|0); - $2025 = ((($2024)) + 4|0); - $2026 = ((($2025)) + 4|0); - $2027 = HEAP32[$2026>>2]|0; - $2028 = ($2027|0)==(0); - $2029 = HEAP32[$yymsp>>2]|0; - if ($2028) { - $2030 = ((($2029)) + -112|0); - $2031 = ((($2030)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$2031>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2031+4>>2]|0; - break L1; - } else { - $2032 = ((($2029)) + -96|0); - $2033 = ((($2032)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$2033>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2033+4>>2]|0; - break L1; - } + case 208: { + $2357 = HEAP32[$pParse>>2]|0; + $2358 = HEAP32[$yymsp>>2]|0; + $2359 = ((($2358)) + -32|0); + $2360 = ((($2359)) + 4|0); + $2361 = HEAP32[$yymsp>>2]|0; + $2362 = ((($2361)) + -16|0); + $2363 = ((($2362)) + 4|0); + $2364 = HEAP32[$2363>>2]|0; + $2365 = HEAP32[$yymsp>>2]|0; + $2366 = ((($2365)) + 4|0); + $2367 = HEAP32[$2366>>2]|0; + $2368 = (_parserAddExprIdListTerm($2357,0,$2360,$2364,$2367)|0); + $2369 = HEAP32[$yymsp>>2]|0; + $2370 = ((($2369)) + -32|0); + $2371 = ((($2370)) + 4|0); + HEAP32[$2371>>2] = $2368; break; } - case 270: case 267: { - HEAP32[$yygotominor>>2] = 35; + case 211: { + $2372 = HEAP32[$pParse>>2]|0; + $2373 = HEAP32[$yymsp>>2]|0; + $2374 = ((($2373)) + 4|0); + $2375 = HEAP32[$2374>>2]|0; + $2376 = HEAP32[$yymsp>>2]|0; + $2377 = ((($2376)) + -16|0); + $2378 = ((($2377)) + 4|0); + $2379 = HEAP32[$2378>>2]|0; + _sqlite3DropIndex($2372,$2375,$2379); break; } - case 268: { - HEAP32[$yygotominor>>2] = 31; + case 213: case 212: { + $2380 = HEAP32[$pParse>>2]|0; + _sqlite3Vacuum($2380); break; } - case 269: { - HEAP32[$yygotominor>>2] = 49; + case 214: { + $2381 = HEAP32[$pParse>>2]|0; + $2382 = HEAP32[$yymsp>>2]|0; + $2383 = ((($2382)) + -16|0); + $2384 = ((($2383)) + 4|0); + $2385 = HEAP32[$yymsp>>2]|0; + $2386 = ((($2385)) + 4|0); + _sqlite3Pragma($2381,$2384,$2386,0,0); + break; + } + case 215: { + $2387 = HEAP32[$pParse>>2]|0; + $2388 = HEAP32[$yymsp>>2]|0; + $2389 = ((($2388)) + -48|0); + $2390 = ((($2389)) + 4|0); + $2391 = HEAP32[$yymsp>>2]|0; + $2392 = ((($2391)) + -32|0); + $2393 = ((($2392)) + 4|0); + $2394 = HEAP32[$yymsp>>2]|0; + $2395 = ((($2394)) + 4|0); + _sqlite3Pragma($2387,$2390,$2393,$2395,0); + break; + } + case 216: { + $2396 = HEAP32[$pParse>>2]|0; + $2397 = HEAP32[$yymsp>>2]|0; + $2398 = ((($2397)) + -64|0); + $2399 = ((($2398)) + 4|0); + $2400 = HEAP32[$yymsp>>2]|0; + $2401 = ((($2400)) + -48|0); + $2402 = ((($2401)) + 4|0); + $2403 = HEAP32[$yymsp>>2]|0; + $2404 = ((($2403)) + -16|0); + $2405 = ((($2404)) + 4|0); + _sqlite3Pragma($2396,$2399,$2402,$2405,0); break; } - case 272: case 271: { - $2034 = HEAP32[$yymsp>>2]|0; - $2035 = ((($2034)) + 2|0); - $2036 = HEAP8[$2035>>0]|0; - $2037 = $2036&255; - HEAP32[$yygotominor>>2] = $2037; - $2038 = ((($yygotominor)) + 4|0); - HEAP32[$2038>>2] = 0; + case 217: { + $2406 = HEAP32[$pParse>>2]|0; + $2407 = HEAP32[$yymsp>>2]|0; + $2408 = ((($2407)) + -48|0); + $2409 = ((($2408)) + 4|0); + $2410 = HEAP32[$yymsp>>2]|0; + $2411 = ((($2410)) + -32|0); + $2412 = ((($2411)) + 4|0); + $2413 = HEAP32[$yymsp>>2]|0; + $2414 = ((($2413)) + 4|0); + _sqlite3Pragma($2406,$2409,$2412,$2414,1); break; } - case 273: { - HEAP32[$yygotominor>>2] = 110; - $2039 = HEAP32[$yymsp>>2]|0; - $2040 = ((($2039)) + 4|0); - $2041 = HEAP32[$2040>>2]|0; - $2042 = ((($yygotominor)) + 4|0); - HEAP32[$2042>>2] = $2041; + case 218: { + $2415 = HEAP32[$pParse>>2]|0; + $2416 = HEAP32[$yymsp>>2]|0; + $2417 = ((($2416)) + -64|0); + $2418 = ((($2417)) + 4|0); + $2419 = HEAP32[$yymsp>>2]|0; + $2420 = ((($2419)) + -48|0); + $2421 = ((($2420)) + 4|0); + $2422 = HEAP32[$yymsp>>2]|0; + $2423 = ((($2422)) + -16|0); + $2424 = ((($2423)) + 4|0); + _sqlite3Pragma($2415,$2418,$2421,$2424,1); break; } - case 297: case 276: { - HEAP32[$yygotominor>>2] = 0; + case 221: { + $2425 = HEAP32[$yymsp>>2]|0; + $2426 = ((($2425)) + -48|0); + $2427 = ((($2426)) + 4|0); + $2428 = HEAP32[$2427>>2]|0; + HEAP32[$all>>2] = $2428; + $2429 = HEAP32[$yymsp>>2]|0; + $2430 = ((($2429)) + 4|0); + $2431 = HEAP32[$2430>>2]|0; + $2432 = HEAP32[$yymsp>>2]|0; + $2433 = ((($2432)) + -48|0); + $2434 = ((($2433)) + 4|0); + $2435 = HEAP32[$2434>>2]|0; + $2436 = $2431; + $2437 = $2435; + $2438 = (($2436) - ($2437))|0; + $2439 = HEAP32[$yymsp>>2]|0; + $2440 = ((($2439)) + 4|0); + $2441 = ((($2440)) + 4|0); + $2442 = HEAP32[$2441>>2]|0; + $2443 = (($2438) + ($2442))|0; + $2444 = ((($all)) + 4|0); + HEAP32[$2444>>2] = $2443; + $2445 = HEAP32[$pParse>>2]|0; + $2446 = HEAP32[$yymsp>>2]|0; + $2447 = ((($2446)) + -16|0); + $2448 = ((($2447)) + 4|0); + $2449 = HEAP32[$2448>>2]|0; + _sqlite3FinishTrigger($2445,$2449,$all); + break; + } + case 222: { + $2450 = HEAP32[$pParse>>2]|0; + $2451 = HEAP32[$yymsp>>2]|0; + $2452 = ((($2451)) + -112|0); + $2453 = ((($2452)) + 4|0); + $2454 = HEAP32[$yymsp>>2]|0; + $2455 = ((($2454)) + -96|0); + $2456 = ((($2455)) + 4|0); + $2457 = HEAP32[$yymsp>>2]|0; + $2458 = ((($2457)) + -80|0); + $2459 = ((($2458)) + 4|0); + $2460 = HEAP32[$2459>>2]|0; + $2461 = HEAP32[$yymsp>>2]|0; + $2462 = ((($2461)) + -64|0); + $2463 = ((($2462)) + 4|0); + $2464 = HEAP32[$2463>>2]|0; + $2465 = HEAP32[$yymsp>>2]|0; + $2466 = ((($2465)) + -64|0); + $2467 = ((($2466)) + 4|0); + $2468 = ((($2467)) + 4|0); + $2469 = HEAP32[$2468>>2]|0; + $2470 = HEAP32[$yymsp>>2]|0; + $2471 = ((($2470)) + -32|0); + $2472 = ((($2471)) + 4|0); + $2473 = HEAP32[$2472>>2]|0; + $2474 = HEAP32[$yymsp>>2]|0; + $2475 = ((($2474)) + 4|0); + $2476 = HEAP32[$2475>>2]|0; + $2477 = HEAP32[$yymsp>>2]|0; + $2478 = ((($2477)) + -160|0); + $2479 = ((($2478)) + 4|0); + $2480 = HEAP32[$2479>>2]|0; + $2481 = HEAP32[$yymsp>>2]|0; + $2482 = ((($2481)) + -128|0); + $2483 = ((($2482)) + 4|0); + $2484 = HEAP32[$2483>>2]|0; + _sqlite3BeginTrigger($2450,$2453,$2456,$2460,$2464,$2469,$2473,$2476,$2480,$2484); + $2485 = HEAP32[$yymsp>>2]|0; + $2486 = ((($2485)) + -160|0); + $2487 = ((($2486)) + 4|0); + $2488 = HEAP32[$yymsp>>2]|0; + $2489 = ((($2488)) + -96|0); + $2490 = ((($2489)) + 4|0); + $2491 = ((($2490)) + 4|0); + $2492 = HEAP32[$2491>>2]|0; + $2493 = ($2492|0)==(0); + $2494 = HEAP32[$yymsp>>2]|0; + if ($2493) { + $2495 = ((($2494)) + -112|0); + $2496 = ((($2495)) + 4|0); + ;HEAP32[$2487>>2]=HEAP32[$2496>>2]|0;HEAP32[$2487+4>>2]=HEAP32[$2496+4>>2]|0; + break L6; + } else { + $2497 = ((($2494)) + -96|0); + $2498 = ((($2497)) + 4|0); + ;HEAP32[$2487>>2]=HEAP32[$2498>>2]|0;HEAP32[$2487+4>>2]=HEAP32[$2498+4>>2]|0; + break L6; + } break; } - case 298: case 277: { - $2043 = HEAP32[$yymsp>>2]|0; - $2044 = ((($2043)) + 4|0); - $2045 = HEAP32[$2044>>2]|0; - HEAP32[$yygotominor>>2] = $2045; + case 223: { + $2499 = HEAP32[$yymsp>>2]|0; + $2500 = ((($2499)) + 4|0); + HEAP32[$2500>>2] = 35; break; } - case 278: { - $2046 = HEAP32[$yymsp>>2]|0; - $2047 = ((($2046)) + -16|0); - $2048 = ((($2047)) + 4|0); - $2049 = HEAP32[$2048>>2]|0; - $2050 = HEAP32[$yymsp>>2]|0; - $2051 = ((($2050)) + -32|0); - $2052 = ((($2051)) + 4|0); - $2053 = HEAP32[$2052>>2]|0; - $2054 = ((($2053)) + 32|0); - $2055 = HEAP32[$2054>>2]|0; - $2056 = ((($2055)) + 28|0); - HEAP32[$2056>>2] = $2049; - $2057 = HEAP32[$yymsp>>2]|0; - $2058 = ((($2057)) + -16|0); - $2059 = ((($2058)) + 4|0); - $2060 = HEAP32[$2059>>2]|0; - $2061 = HEAP32[$yymsp>>2]|0; - $2062 = ((($2061)) + -32|0); - $2063 = ((($2062)) + 4|0); - $2064 = HEAP32[$2063>>2]|0; - $2065 = ((($2064)) + 32|0); - HEAP32[$2065>>2] = $2060; - $2066 = HEAP32[$yymsp>>2]|0; - $2067 = ((($2066)) + -32|0); - $2068 = ((($2067)) + 4|0); - $2069 = HEAP32[$2068>>2]|0; - HEAP32[$yygotominor>>2] = $2069; - break; - } - case 279: { - $2070 = HEAP32[$yymsp>>2]|0; - $2071 = ((($2070)) + -16|0); - $2072 = ((($2071)) + 4|0); - $2073 = HEAP32[$2072>>2]|0; - $2074 = HEAP32[$yymsp>>2]|0; - $2075 = ((($2074)) + -16|0); - $2076 = ((($2075)) + 4|0); - $2077 = HEAP32[$2076>>2]|0; - $2078 = ((($2077)) + 32|0); - HEAP32[$2078>>2] = $2073; - $2079 = HEAP32[$yymsp>>2]|0; - $2080 = ((($2079)) + -16|0); - $2081 = ((($2080)) + 4|0); - $2082 = HEAP32[$2081>>2]|0; - HEAP32[$yygotominor>>2] = $2082; - break; - } - case 281: { - $2083 = HEAP32[$yymsp>>2]|0; - $2084 = ((($2083)) + 4|0); - ;HEAP32[$yygotominor>>2]=HEAP32[$2084>>2]|0;HEAP32[$yygotominor+4>>2]=HEAP32[$2084+4>>2]|0; - $2085 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2085,27435,$vararg_buffer8); - break; - } - case 283: { - $2086 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2086,27530,$vararg_buffer10); - break; - } - case 284: { - $2087 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($2087,27614,$vararg_buffer12); - break; - } - case 285: { - $2088 = HEAP32[$pParse>>2]|0; - $2089 = HEAP32[$2088>>2]|0; - $2090 = HEAP32[$yymsp>>2]|0; - $2091 = ((($2090)) + -64|0); - $2092 = ((($2091)) + 4|0); - $2093 = HEAP32[$yymsp>>2]|0; - $2094 = ((($2093)) + -16|0); - $2095 = ((($2094)) + 4|0); - $2096 = HEAP32[$2095>>2]|0; - $2097 = HEAP32[$yymsp>>2]|0; - $2098 = ((($2097)) + 4|0); - $2099 = HEAP32[$2098>>2]|0; - $2100 = HEAP32[$yymsp>>2]|0; - $2101 = ((($2100)) + -80|0); - $2102 = ((($2101)) + 4|0); - $2103 = HEAP32[$2102>>2]|0; - $2104 = $2103&255; - $2105 = (_sqlite3TriggerUpdateStep($2089,$2092,$2096,$2099,$2104)|0); - HEAP32[$yygotominor>>2] = $2105; - break; - } - case 286: { - $2106 = HEAP32[$pParse>>2]|0; - $2107 = HEAP32[$2106>>2]|0; - $2108 = HEAP32[$yymsp>>2]|0; - $2109 = ((($2108)) + -32|0); - $2110 = ((($2109)) + 4|0); - $2111 = HEAP32[$yymsp>>2]|0; - $2112 = ((($2111)) + -16|0); - $2113 = ((($2112)) + 4|0); - $2114 = HEAP32[$2113>>2]|0; - $2115 = HEAP32[$yymsp>>2]|0; - $2116 = ((($2115)) + 4|0); - $2117 = HEAP32[$2116>>2]|0; - $2118 = HEAP32[$yymsp>>2]|0; - $2119 = ((($2118)) + -64|0); - $2120 = ((($2119)) + 4|0); - $2121 = HEAP32[$2120>>2]|0; - $2122 = $2121&255; - $2123 = (_sqlite3TriggerInsertStep($2107,$2110,$2114,$2117,$2122)|0); - HEAP32[$yygotominor>>2] = $2123; - break; - } - case 287: { - $2124 = HEAP32[$pParse>>2]|0; - $2125 = HEAP32[$2124>>2]|0; - $2126 = HEAP32[$yymsp>>2]|0; - $2127 = ((($2126)) + -32|0); - $2128 = ((($2127)) + 4|0); - $2129 = HEAP32[$yymsp>>2]|0; - $2130 = ((($2129)) + 4|0); - $2131 = HEAP32[$2130>>2]|0; - $2132 = (_sqlite3TriggerDeleteStep($2125,$2128,$2131)|0); - HEAP32[$yygotominor>>2] = $2132; - break; - } - case 288: { - $2133 = HEAP32[$pParse>>2]|0; - $2134 = HEAP32[$2133>>2]|0; - $2135 = HEAP32[$yymsp>>2]|0; - $2136 = ((($2135)) + 4|0); - $2137 = HEAP32[$2136>>2]|0; - $2138 = (_sqlite3TriggerSelectStep($2134,$2137)|0); - HEAP32[$yygotominor>>2] = $2138; - break; - } - case 289: { - $2139 = HEAP32[$pParse>>2]|0; - $2140 = (_sqlite3PExpr($2139,57,0,0,0)|0); - HEAP32[$yygotominor>>2] = $2140; - $2141 = HEAP32[$yygotominor>>2]|0; - $2142 = ($2141|0)!=(0|0); - if ($2142) { - $2143 = HEAP32[$yygotominor>>2]|0; - $2144 = ((($2143)) + 1|0); - HEAP8[$2144>>0] = 4; - } - $2145 = HEAP32[$yymsp>>2]|0; - $2146 = ((($2145)) + -48|0); - $2147 = ((($2146)) + 4|0); - $2148 = HEAP32[$2147>>2]|0; - $2149 = ((($yygotominor)) + 4|0); - HEAP32[$2149>>2] = $2148; - $2150 = HEAP32[$yymsp>>2]|0; - $2151 = ((($2150)) + 4|0); - $2152 = ((($2151)) + 4|0); - $2153 = HEAP32[$2152>>2]|0; - $2154 = HEAP32[$yymsp>>2]|0; - $2155 = ((($2154)) + 4|0); - $2156 = HEAP32[$2155>>2]|0; - $2157 = (($2156) + ($2153)|0); - $2158 = ((($yygotominor)) + 8|0); - HEAP32[$2158>>2] = $2157; - break; - } - case 290: { - $2159 = HEAP32[$pParse>>2]|0; - $2160 = HEAP32[$yymsp>>2]|0; - $2161 = ((($2160)) + -16|0); - $2162 = ((($2161)) + 4|0); - $2163 = (_sqlite3PExpr($2159,57,0,0,$2162)|0); - HEAP32[$yygotominor>>2] = $2163; - $2164 = HEAP32[$yygotominor>>2]|0; - $2165 = ($2164|0)!=(0|0); - if ($2165) { - $2166 = HEAP32[$yymsp>>2]|0; - $2167 = ((($2166)) + -48|0); - $2168 = ((($2167)) + 4|0); - $2169 = HEAP32[$2168>>2]|0; - $2170 = $2169&255; - $2171 = HEAP32[$yygotominor>>2]|0; - $2172 = ((($2171)) + 1|0); - HEAP8[$2172>>0] = $2170; - } - $2173 = HEAP32[$yymsp>>2]|0; - $2174 = ((($2173)) + -80|0); - $2175 = ((($2174)) + 4|0); - $2176 = HEAP32[$2175>>2]|0; - $2177 = ((($yygotominor)) + 4|0); - HEAP32[$2177>>2] = $2176; - $2178 = HEAP32[$yymsp>>2]|0; - $2179 = ((($2178)) + 4|0); - $2180 = ((($2179)) + 4|0); - $2181 = HEAP32[$2180>>2]|0; - $2182 = HEAP32[$yymsp>>2]|0; - $2183 = ((($2182)) + 4|0); - $2184 = HEAP32[$2183>>2]|0; - $2185 = (($2184) + ($2181)|0); - $2186 = ((($yygotominor)) + 8|0); - HEAP32[$2186>>2] = $2185; + case 224: { + $2501 = HEAP32[$yymsp>>2]|0; + $2502 = ((($2501)) + 4|0); + HEAP32[$2502>>2] = 31; break; } - case 291: { - HEAP32[$yygotominor>>2] = 1; + case 225: { + $2503 = HEAP32[$yymsp>>2]|0; + $2504 = ((($2503)) + -16|0); + $2505 = ((($2504)) + 4|0); + HEAP32[$2505>>2] = 49; break; } - case 293: { - HEAP32[$yygotominor>>2] = 3; + case 226: { + $2506 = HEAP32[$yymsp>>2]|0; + $2507 = ((($2506)) + 16|0); + $2508 = ((($2507)) + 4|0); + HEAP32[$2508>>2] = 35; + break; + } + case 228: case 227: { + $2509 = HEAP32[$yymsp>>2]|0; + $2510 = ((($2509)) + 2|0); + $2511 = HEAP8[$2510>>0]|0; + $2512 = $2511&255; + $2513 = HEAP32[$yymsp>>2]|0; + $2514 = ((($2513)) + 4|0); + HEAP32[$2514>>2] = $2512; + $2515 = HEAP32[$yymsp>>2]|0; + $2516 = ((($2515)) + 4|0); + $2517 = ((($2516)) + 4|0); + HEAP32[$2517>>2] = 0; break; } - case 294: { - $2187 = HEAP32[$pParse>>2]|0; - $2188 = HEAP32[$yymsp>>2]|0; - $2189 = ((($2188)) + 4|0); - $2190 = HEAP32[$2189>>2]|0; - $2191 = HEAP32[$yymsp>>2]|0; - $2192 = ((($2191)) + -16|0); - $2193 = ((($2192)) + 4|0); - $2194 = HEAP32[$2193>>2]|0; - _sqlite3DropTrigger($2187,$2190,$2194); + case 229: { + $2518 = HEAP32[$yymsp>>2]|0; + $2519 = ((($2518)) + -32|0); + $2520 = ((($2519)) + 4|0); + HEAP32[$2520>>2] = 110; + $2521 = HEAP32[$yymsp>>2]|0; + $2522 = ((($2521)) + 4|0); + $2523 = HEAP32[$2522>>2]|0; + $2524 = HEAP32[$yymsp>>2]|0; + $2525 = ((($2524)) + -32|0); + $2526 = ((($2525)) + 4|0); + $2527 = ((($2526)) + 4|0); + HEAP32[$2527>>2] = $2523; + break; + } + case 249: case 230: { + $2528 = HEAP32[$yymsp>>2]|0; + $2529 = ((($2528)) + 16|0); + $2530 = ((($2529)) + 4|0); + HEAP32[$2530>>2] = 0; + break; + } + case 250: case 231: { + $2531 = HEAP32[$yymsp>>2]|0; + $2532 = ((($2531)) + 4|0); + $2533 = HEAP32[$2532>>2]|0; + $2534 = HEAP32[$yymsp>>2]|0; + $2535 = ((($2534)) + -16|0); + $2536 = ((($2535)) + 4|0); + HEAP32[$2536>>2] = $2533; + break; + } + case 232: { + $2537 = HEAP32[$yymsp>>2]|0; + $2538 = ((($2537)) + -16|0); + $2539 = ((($2538)) + 4|0); + $2540 = HEAP32[$2539>>2]|0; + $2541 = HEAP32[$yymsp>>2]|0; + $2542 = ((($2541)) + -32|0); + $2543 = ((($2542)) + 4|0); + $2544 = HEAP32[$2543>>2]|0; + $2545 = ((($2544)) + 32|0); + $2546 = HEAP32[$2545>>2]|0; + $2547 = ((($2546)) + 28|0); + HEAP32[$2547>>2] = $2540; + $2548 = HEAP32[$yymsp>>2]|0; + $2549 = ((($2548)) + -16|0); + $2550 = ((($2549)) + 4|0); + $2551 = HEAP32[$2550>>2]|0; + $2552 = HEAP32[$yymsp>>2]|0; + $2553 = ((($2552)) + -32|0); + $2554 = ((($2553)) + 4|0); + $2555 = HEAP32[$2554>>2]|0; + $2556 = ((($2555)) + 32|0); + HEAP32[$2556>>2] = $2551; + break; + } + case 233: { + $2557 = HEAP32[$yymsp>>2]|0; + $2558 = ((($2557)) + -16|0); + $2559 = ((($2558)) + 4|0); + $2560 = HEAP32[$2559>>2]|0; + $2561 = HEAP32[$yymsp>>2]|0; + $2562 = ((($2561)) + -16|0); + $2563 = ((($2562)) + 4|0); + $2564 = HEAP32[$2563>>2]|0; + $2565 = ((($2564)) + 32|0); + HEAP32[$2565>>2] = $2560; + break; + } + case 234: { + $2566 = HEAP32[$yymsp>>2]|0; + $2567 = ((($2566)) + -32|0); + $2568 = ((($2567)) + 4|0); + $2569 = HEAP32[$yymsp>>2]|0; + $2570 = ((($2569)) + 4|0); + ;HEAP32[$2568>>2]=HEAP32[$2570>>2]|0;HEAP32[$2568+4>>2]=HEAP32[$2570+4>>2]|0; + $2571 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2571,27816,$vararg_buffer8); break; } - case 295: { - $2195 = HEAP32[$pParse>>2]|0; - $2196 = HEAP32[$yymsp>>2]|0; - $2197 = ((($2196)) + -48|0); - $2198 = ((($2197)) + 4|0); - $2199 = HEAP32[$2198>>2]|0; - $2200 = HEAP32[$yymsp>>2]|0; - $2201 = ((($2200)) + -16|0); - $2202 = ((($2201)) + 4|0); - $2203 = HEAP32[$2202>>2]|0; - $2204 = HEAP32[$yymsp>>2]|0; - $2205 = ((($2204)) + 4|0); - $2206 = HEAP32[$2205>>2]|0; - _sqlite3Attach($2195,$2199,$2203,$2206); + case 235: { + $2572 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2572,27911,$vararg_buffer10); + break; + } + case 236: { + $2573 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($2573,27995,$vararg_buffer12); + break; + } + case 237: { + $2574 = HEAP32[$pParse>>2]|0; + $2575 = HEAP32[$2574>>2]|0; + $2576 = HEAP32[$yymsp>>2]|0; + $2577 = ((($2576)) + -64|0); + $2578 = ((($2577)) + 4|0); + $2579 = HEAP32[$yymsp>>2]|0; + $2580 = ((($2579)) + -16|0); + $2581 = ((($2580)) + 4|0); + $2582 = HEAP32[$2581>>2]|0; + $2583 = HEAP32[$yymsp>>2]|0; + $2584 = ((($2583)) + 4|0); + $2585 = HEAP32[$2584>>2]|0; + $2586 = HEAP32[$yymsp>>2]|0; + $2587 = ((($2586)) + -80|0); + $2588 = ((($2587)) + 4|0); + $2589 = HEAP32[$2588>>2]|0; + $2590 = $2589&255; + $2591 = (_sqlite3TriggerUpdateStep($2575,$2578,$2582,$2585,$2590)|0); + $2592 = HEAP32[$yymsp>>2]|0; + $2593 = ((($2592)) + -96|0); + $2594 = ((($2593)) + 4|0); + HEAP32[$2594>>2] = $2591; break; } - case 296: { - $2207 = HEAP32[$pParse>>2]|0; - $2208 = HEAP32[$yymsp>>2]|0; - $2209 = ((($2208)) + 4|0); - $2210 = HEAP32[$2209>>2]|0; - _sqlite3Detach($2207,$2210); + case 238: { + $2595 = HEAP32[$pParse>>2]|0; + $2596 = HEAP32[$2595>>2]|0; + $2597 = HEAP32[$yymsp>>2]|0; + $2598 = ((($2597)) + -32|0); + $2599 = ((($2598)) + 4|0); + $2600 = HEAP32[$yymsp>>2]|0; + $2601 = ((($2600)) + -16|0); + $2602 = ((($2601)) + 4|0); + $2603 = HEAP32[$2602>>2]|0; + $2604 = HEAP32[$yymsp>>2]|0; + $2605 = ((($2604)) + 4|0); + $2606 = HEAP32[$2605>>2]|0; + $2607 = HEAP32[$yymsp>>2]|0; + $2608 = ((($2607)) + -64|0); + $2609 = ((($2608)) + 4|0); + $2610 = HEAP32[$2609>>2]|0; + $2611 = $2610&255; + $2612 = (_sqlite3TriggerInsertStep($2596,$2599,$2603,$2606,$2611)|0); + $2613 = HEAP32[$yymsp>>2]|0; + $2614 = ((($2613)) + -64|0); + $2615 = ((($2614)) + 4|0); + HEAP32[$2615>>2] = $2612; break; } - case 301: { - $2211 = HEAP32[$pParse>>2]|0; - _sqlite3Reindex($2211,0,0); + case 239: { + $2616 = HEAP32[$pParse>>2]|0; + $2617 = HEAP32[$2616>>2]|0; + $2618 = HEAP32[$yymsp>>2]|0; + $2619 = ((($2618)) + -32|0); + $2620 = ((($2619)) + 4|0); + $2621 = HEAP32[$yymsp>>2]|0; + $2622 = ((($2621)) + 4|0); + $2623 = HEAP32[$2622>>2]|0; + $2624 = (_sqlite3TriggerDeleteStep($2617,$2620,$2623)|0); + $2625 = HEAP32[$yymsp>>2]|0; + $2626 = ((($2625)) + -64|0); + $2627 = ((($2626)) + 4|0); + HEAP32[$2627>>2] = $2624; break; } - case 302: { - $2212 = HEAP32[$pParse>>2]|0; - $2213 = HEAP32[$yymsp>>2]|0; - $2214 = ((($2213)) + -16|0); - $2215 = ((($2214)) + 4|0); - $2216 = HEAP32[$yymsp>>2]|0; - $2217 = ((($2216)) + 4|0); - _sqlite3Reindex($2212,$2215,$2217); + case 240: { + $2628 = HEAP32[$pParse>>2]|0; + $2629 = HEAP32[$2628>>2]|0; + $2630 = HEAP32[$yymsp>>2]|0; + $2631 = ((($2630)) + 4|0); + $2632 = HEAP32[$2631>>2]|0; + $2633 = (_sqlite3TriggerSelectStep($2629,$2632)|0); + $2634 = HEAP32[$yymsp>>2]|0; + $2635 = ((($2634)) + 4|0); + HEAP32[$2635>>2] = $2633; + break; + } + case 241: { + $2636 = HEAP32[$yymsp>>2]|0; + $2637 = ((($2636)) + -48|0); + $2638 = ((($2637)) + 4|0); + $2639 = HEAP32[$yymsp>>2]|0; + $2640 = ((($2639)) + -48|0); + $2641 = ((($2640)) + 4|0); + $2642 = HEAP32[$yymsp>>2]|0; + $2643 = ((($2642)) + 4|0); + _spanSet($2638,$2641,$2643); + $2644 = HEAP32[$pParse>>2]|0; + $2645 = (_sqlite3PExpr($2644,57,0,0,0)|0); + $2646 = HEAP32[$yymsp>>2]|0; + $2647 = ((($2646)) + -48|0); + $2648 = ((($2647)) + 4|0); + HEAP32[$2648>>2] = $2645; + $2649 = HEAP32[$yymsp>>2]|0; + $2650 = ((($2649)) + -48|0); + $2651 = ((($2650)) + 4|0); + $2652 = HEAP32[$2651>>2]|0; + $2653 = ($2652|0)!=(0|0); + if ($2653) { + $2654 = HEAP32[$yymsp>>2]|0; + $2655 = ((($2654)) + -48|0); + $2656 = ((($2655)) + 4|0); + $2657 = HEAP32[$2656>>2]|0; + $2658 = ((($2657)) + 1|0); + HEAP8[$2658>>0] = 4; + } break; } - case 303: { - $2218 = HEAP32[$pParse>>2]|0; - _sqlite3Analyze($2218,0,0); + case 242: { + $2659 = HEAP32[$yymsp>>2]|0; + $2660 = ((($2659)) + -80|0); + $2661 = ((($2660)) + 4|0); + $2662 = HEAP32[$yymsp>>2]|0; + $2663 = ((($2662)) + -80|0); + $2664 = ((($2663)) + 4|0); + $2665 = HEAP32[$yymsp>>2]|0; + $2666 = ((($2665)) + 4|0); + _spanSet($2661,$2664,$2666); + $2667 = HEAP32[$pParse>>2]|0; + $2668 = HEAP32[$yymsp>>2]|0; + $2669 = ((($2668)) + -16|0); + $2670 = ((($2669)) + 4|0); + $2671 = (_sqlite3PExpr($2667,57,0,0,$2670)|0); + $2672 = HEAP32[$yymsp>>2]|0; + $2673 = ((($2672)) + -80|0); + $2674 = ((($2673)) + 4|0); + HEAP32[$2674>>2] = $2671; + $2675 = HEAP32[$yymsp>>2]|0; + $2676 = ((($2675)) + -80|0); + $2677 = ((($2676)) + 4|0); + $2678 = HEAP32[$2677>>2]|0; + $2679 = ($2678|0)!=(0|0); + if ($2679) { + $2680 = HEAP32[$yymsp>>2]|0; + $2681 = ((($2680)) + -48|0); + $2682 = ((($2681)) + 4|0); + $2683 = HEAP32[$2682>>2]|0; + $2684 = $2683&255; + $2685 = HEAP32[$yymsp>>2]|0; + $2686 = ((($2685)) + -80|0); + $2687 = ((($2686)) + 4|0); + $2688 = HEAP32[$2687>>2]|0; + $2689 = ((($2688)) + 1|0); + HEAP8[$2689>>0] = $2684; + } + break; + } + case 243: { + $2690 = HEAP32[$yymsp>>2]|0; + $2691 = ((($2690)) + 4|0); + HEAP32[$2691>>2] = 1; break; } - case 304: { - $2219 = HEAP32[$pParse>>2]|0; - $2220 = HEAP32[$yymsp>>2]|0; - $2221 = ((($2220)) + -16|0); - $2222 = ((($2221)) + 4|0); - $2223 = HEAP32[$yymsp>>2]|0; - $2224 = ((($2223)) + 4|0); - _sqlite3Analyze($2219,$2222,$2224); + case 245: { + $2692 = HEAP32[$yymsp>>2]|0; + $2693 = ((($2692)) + 4|0); + HEAP32[$2693>>2] = 3; break; } - case 305: { - $2225 = HEAP32[$pParse>>2]|0; - $2226 = HEAP32[$yymsp>>2]|0; - $2227 = ((($2226)) + -48|0); - $2228 = ((($2227)) + 4|0); - $2229 = HEAP32[$2228>>2]|0; - $2230 = HEAP32[$yymsp>>2]|0; - $2231 = ((($2230)) + 4|0); - _sqlite3AlterRenameTable($2225,$2229,$2231); + case 246: { + $2694 = HEAP32[$pParse>>2]|0; + $2695 = HEAP32[$yymsp>>2]|0; + $2696 = ((($2695)) + 4|0); + $2697 = HEAP32[$2696>>2]|0; + $2698 = HEAP32[$yymsp>>2]|0; + $2699 = ((($2698)) + -16|0); + $2700 = ((($2699)) + 4|0); + $2701 = HEAP32[$2700>>2]|0; + _sqlite3DropTrigger($2694,$2697,$2701); + break; + } + case 247: { + $2702 = HEAP32[$pParse>>2]|0; + $2703 = HEAP32[$yymsp>>2]|0; + $2704 = ((($2703)) + -48|0); + $2705 = ((($2704)) + 4|0); + $2706 = HEAP32[$2705>>2]|0; + $2707 = HEAP32[$yymsp>>2]|0; + $2708 = ((($2707)) + -16|0); + $2709 = ((($2708)) + 4|0); + $2710 = HEAP32[$2709>>2]|0; + $2711 = HEAP32[$yymsp>>2]|0; + $2712 = ((($2711)) + 4|0); + $2713 = HEAP32[$2712>>2]|0; + _sqlite3Attach($2702,$2706,$2710,$2713); + break; + } + case 248: { + $2714 = HEAP32[$pParse>>2]|0; + $2715 = HEAP32[$yymsp>>2]|0; + $2716 = ((($2715)) + 4|0); + $2717 = HEAP32[$2716>>2]|0; + _sqlite3Detach($2714,$2717); + break; + } + case 251: { + $2718 = HEAP32[$pParse>>2]|0; + _sqlite3Reindex($2718,0,0); break; } - case 306: { - $2232 = HEAP32[$pParse>>2]|0; - $2233 = HEAP32[$yymsp>>2]|0; - $2234 = ((($2233)) + 4|0); - _sqlite3AlterFinishAddColumn($2232,$2234); + case 252: { + $2719 = HEAP32[$pParse>>2]|0; + $2720 = HEAP32[$yymsp>>2]|0; + $2721 = ((($2720)) + -16|0); + $2722 = ((($2721)) + 4|0); + $2723 = HEAP32[$yymsp>>2]|0; + $2724 = ((($2723)) + 4|0); + _sqlite3Reindex($2719,$2722,$2724); break; } - case 307: { - $2235 = HEAP32[$pParse>>2]|0; - _disableLookaside($2235); - $2236 = HEAP32[$pParse>>2]|0; - $2237 = HEAP32[$yymsp>>2]|0; - $2238 = ((($2237)) + 4|0); - $2239 = HEAP32[$2238>>2]|0; - _sqlite3AlterBeginAddColumn($2236,$2239); + case 253: { + $2725 = HEAP32[$pParse>>2]|0; + _sqlite3Analyze($2725,0,0); break; } - case 310: { - $2240 = HEAP32[$pParse>>2]|0; - _sqlite3VtabFinishParse($2240,0); + case 254: { + $2726 = HEAP32[$pParse>>2]|0; + $2727 = HEAP32[$yymsp>>2]|0; + $2728 = ((($2727)) + -16|0); + $2729 = ((($2728)) + 4|0); + $2730 = HEAP32[$yymsp>>2]|0; + $2731 = ((($2730)) + 4|0); + _sqlite3Analyze($2726,$2729,$2731); break; } - case 311: { - $2241 = HEAP32[$pParse>>2]|0; - $2242 = HEAP32[$yymsp>>2]|0; - $2243 = ((($2242)) + 4|0); - _sqlite3VtabFinishParse($2241,$2243); + case 255: { + $2732 = HEAP32[$pParse>>2]|0; + $2733 = HEAP32[$yymsp>>2]|0; + $2734 = ((($2733)) + -48|0); + $2735 = ((($2734)) + 4|0); + $2736 = HEAP32[$2735>>2]|0; + $2737 = HEAP32[$yymsp>>2]|0; + $2738 = ((($2737)) + 4|0); + _sqlite3AlterRenameTable($2732,$2736,$2738); break; } - case 312: { - $2244 = HEAP32[$pParse>>2]|0; - $2245 = HEAP32[$yymsp>>2]|0; - $2246 = ((($2245)) + -48|0); - $2247 = ((($2246)) + 4|0); - $2248 = HEAP32[$yymsp>>2]|0; - $2249 = ((($2248)) + -32|0); - $2250 = ((($2249)) + 4|0); - $2251 = HEAP32[$yymsp>>2]|0; - $2252 = ((($2251)) + 4|0); - $2253 = HEAP32[$yymsp>>2]|0; - $2254 = ((($2253)) + -64|0); - $2255 = ((($2254)) + 4|0); - $2256 = HEAP32[$2255>>2]|0; - _sqlite3VtabBeginParse($2244,$2247,$2250,$2252,$2256); + case 256: { + $2739 = HEAP32[$pParse>>2]|0; + $2740 = ((($2739)) + 508|0); + $2741 = HEAP32[$2740>>2]|0; + $2742 = HEAP32[$yymsp>>2]|0; + $2743 = ((($2742)) + -16|0); + $2744 = ((($2743)) + 4|0); + $2745 = HEAP32[$2744>>2]|0; + $2746 = $2741; + $2747 = $2745; + $2748 = (($2746) - ($2747))|0; + $2749 = HEAP32[$pParse>>2]|0; + $2750 = ((($2749)) + 508|0); + $2751 = ((($2750)) + 4|0); + $2752 = HEAP32[$2751>>2]|0; + $2753 = (($2748) + ($2752))|0; + $2754 = HEAP32[$yymsp>>2]|0; + $2755 = ((($2754)) + -16|0); + $2756 = ((($2755)) + 4|0); + $2757 = ((($2756)) + 4|0); + HEAP32[$2757>>2] = $2753; + $2758 = HEAP32[$pParse>>2]|0; + $2759 = HEAP32[$yymsp>>2]|0; + $2760 = ((($2759)) + -16|0); + $2761 = ((($2760)) + 4|0); + _sqlite3AlterFinishAddColumn($2758,$2761); + break; + } + case 257: { + $2762 = HEAP32[$pParse>>2]|0; + _disableLookaside($2762); + $2763 = HEAP32[$pParse>>2]|0; + $2764 = HEAP32[$yymsp>>2]|0; + $2765 = ((($2764)) + 4|0); + $2766 = HEAP32[$2765>>2]|0; + _sqlite3AlterBeginAddColumn($2763,$2766); + break; + } + case 258: { + $2767 = HEAP32[$pParse>>2]|0; + _sqlite3VtabFinishParse($2767,0); + break; + } + case 259: { + $2768 = HEAP32[$pParse>>2]|0; + $2769 = HEAP32[$yymsp>>2]|0; + $2770 = ((($2769)) + 4|0); + _sqlite3VtabFinishParse($2768,$2770); + break; + } + case 260: { + $2771 = HEAP32[$pParse>>2]|0; + $2772 = HEAP32[$yymsp>>2]|0; + $2773 = ((($2772)) + -48|0); + $2774 = ((($2773)) + 4|0); + $2775 = HEAP32[$yymsp>>2]|0; + $2776 = ((($2775)) + -32|0); + $2777 = ((($2776)) + 4|0); + $2778 = HEAP32[$yymsp>>2]|0; + $2779 = ((($2778)) + 4|0); + $2780 = HEAP32[$yymsp>>2]|0; + $2781 = ((($2780)) + -64|0); + $2782 = ((($2781)) + 4|0); + $2783 = HEAP32[$2782>>2]|0; + _sqlite3VtabBeginParse($2771,$2774,$2777,$2779,$2783); + break; + } + case 261: { + $2784 = HEAP32[$pParse>>2]|0; + _sqlite3VtabArgInit($2784); + break; + } + case 264: case 263: case 262: { + $2785 = HEAP32[$pParse>>2]|0; + $2786 = HEAP32[$yymsp>>2]|0; + $2787 = ((($2786)) + 4|0); + _sqlite3VtabArgExtend($2785,$2787); break; } - case 315: { - $2257 = HEAP32[$pParse>>2]|0; - _sqlite3VtabArgInit($2257); + case 265: { + $2788 = HEAP32[$yymsp>>2]|0; + $2789 = ((($2788)) + 16|0); + $2790 = ((($2789)) + 4|0); + HEAP32[$2790>>2] = 0; break; } - case 319: case 318: case 317: { - $2258 = HEAP32[$pParse>>2]|0; - $2259 = HEAP32[$yymsp>>2]|0; - $2260 = ((($2259)) + 4|0); - _sqlite3VtabArgExtend($2258,$2260); + case 266: { + $2791 = HEAP32[$yymsp>>2]|0; + $2792 = ((($2791)) + 4|0); + $2793 = HEAP32[$2792>>2]|0; + $2794 = HEAP32[$yymsp>>2]|0; + $2795 = ((($2794)) + -16|0); + $2796 = ((($2795)) + 4|0); + HEAP32[$2796>>2] = $2793; break; } - case 323: { - HEAP32[$yygotominor>>2] = 0; + case 267: { + $2797 = HEAP32[$yymsp>>2]|0; + $2798 = ((($2797)) + 4|0); + $2799 = HEAP32[$2798>>2]|0; + $2800 = HEAP32[$yymsp>>2]|0; + $2801 = ((($2800)) + -32|0); + $2802 = ((($2801)) + 4|0); + HEAP32[$2802>>2] = $2799; break; } - case 325: case 324: { - $2261 = HEAP32[$yymsp>>2]|0; - $2262 = ((($2261)) + 4|0); - $2263 = HEAP32[$2262>>2]|0; - HEAP32[$yygotominor>>2] = $2263; + case 268: { + $2803 = HEAP32[$pParse>>2]|0; + $2804 = HEAP32[$yymsp>>2]|0; + $2805 = ((($2804)) + -80|0); + $2806 = ((($2805)) + 4|0); + $2807 = HEAP32[$yymsp>>2]|0; + $2808 = ((($2807)) + -64|0); + $2809 = ((($2808)) + 4|0); + $2810 = HEAP32[$2809>>2]|0; + $2811 = HEAP32[$yymsp>>2]|0; + $2812 = ((($2811)) + -16|0); + $2813 = ((($2812)) + 4|0); + $2814 = HEAP32[$2813>>2]|0; + $2815 = (_sqlite3WithAdd($2803,0,$2806,$2810,$2814)|0); + $2816 = HEAP32[$yymsp>>2]|0; + $2817 = ((($2816)) + -80|0); + $2818 = ((($2817)) + 4|0); + HEAP32[$2818>>2] = $2815; break; } - case 326: { - $2264 = HEAP32[$pParse>>2]|0; - $2265 = HEAP32[$yymsp>>2]|0; - $2266 = ((($2265)) + -80|0); - $2267 = ((($2266)) + 4|0); - $2268 = HEAP32[$yymsp>>2]|0; - $2269 = ((($2268)) + -64|0); - $2270 = ((($2269)) + 4|0); - $2271 = HEAP32[$2270>>2]|0; - $2272 = HEAP32[$yymsp>>2]|0; - $2273 = ((($2272)) + -16|0); - $2274 = ((($2273)) + 4|0); - $2275 = HEAP32[$2274>>2]|0; - $2276 = (_sqlite3WithAdd($2264,0,$2267,$2271,$2275)|0); - HEAP32[$yygotominor>>2] = $2276; - break; - } - case 327: { - $2277 = HEAP32[$pParse>>2]|0; - $2278 = HEAP32[$yymsp>>2]|0; - $2279 = ((($2278)) + -112|0); - $2280 = ((($2279)) + 4|0); - $2281 = HEAP32[$2280>>2]|0; - $2282 = HEAP32[$yymsp>>2]|0; - $2283 = ((($2282)) + -80|0); - $2284 = ((($2283)) + 4|0); - $2285 = HEAP32[$yymsp>>2]|0; - $2286 = ((($2285)) + -64|0); - $2287 = ((($2286)) + 4|0); - $2288 = HEAP32[$2287>>2]|0; - $2289 = HEAP32[$yymsp>>2]|0; - $2290 = ((($2289)) + -16|0); - $2291 = ((($2290)) + 4|0); - $2292 = HEAP32[$2291>>2]|0; - $2293 = (_sqlite3WithAdd($2277,$2281,$2284,$2288,$2292)|0); - HEAP32[$yygotominor>>2] = $2293; + case 269: { + $2819 = HEAP32[$pParse>>2]|0; + $2820 = HEAP32[$yymsp>>2]|0; + $2821 = ((($2820)) + -112|0); + $2822 = ((($2821)) + 4|0); + $2823 = HEAP32[$2822>>2]|0; + $2824 = HEAP32[$yymsp>>2]|0; + $2825 = ((($2824)) + -80|0); + $2826 = ((($2825)) + 4|0); + $2827 = HEAP32[$yymsp>>2]|0; + $2828 = ((($2827)) + -64|0); + $2829 = ((($2828)) + 4|0); + $2830 = HEAP32[$2829>>2]|0; + $2831 = HEAP32[$yymsp>>2]|0; + $2832 = ((($2831)) + -16|0); + $2833 = ((($2832)) + 4|0); + $2834 = HEAP32[$2833>>2]|0; + $2835 = (_sqlite3WithAdd($2819,$2823,$2826,$2830,$2834)|0); + $2836 = HEAP32[$yymsp>>2]|0; + $2837 = ((($2836)) + -112|0); + $2838 = ((($2837)) + 4|0); + HEAP32[$2838>>2] = $2835; break; } default: { } } } while(0); - $2294 = HEAP32[$1>>2]|0; - $2295 = (27699 + ($2294<<1)|0); - $2296 = HEAP8[$2295>>0]|0; - $2297 = $2296&255; - HEAP32[$yygoto>>2] = $2297; - $2298 = HEAP32[$1>>2]|0; - $2299 = (27699 + ($2298<<1)|0); - $2300 = ((($2299)) + 1|0); - $2301 = HEAP8[$2300>>0]|0; - $2302 = $2301&255; - HEAP32[$yysize>>2] = $2302; - $2303 = HEAP32[$yysize>>2]|0; - $2304 = HEAP32[$0>>2]|0; - $2305 = HEAP32[$2304>>2]|0; - $2306 = (($2305) - ($2303))|0; - HEAP32[$2304>>2] = $2306; - $2307 = HEAP32[$yysize>>2]|0; - $2308 = (0 - ($2307))|0; - $2309 = HEAP32[$yymsp>>2]|0; - $2310 = (($2309) + ($2308<<4)|0); - $2311 = HEAP16[$2310>>1]|0; - $2312 = $2311&65535; - $2313 = HEAP32[$yygoto>>2]|0; - $2314 = $2313&255; - $2315 = (_yy_find_reduce_action($2312,$2314)|0); - HEAP32[$yyact>>2] = $2315; - $2316 = HEAP32[$yyact>>2]|0; - $2317 = ($2316|0)<=(976); - if (!($2317)) { - $2343 = HEAP32[$0>>2]|0; - _yy_accept($2343); - STACKTOP = sp;return; - } - $2318 = HEAP32[$yyact>>2]|0; - $2319 = ($2318|0)>(435); - if ($2319) { - $2320 = HEAP32[$yyact>>2]|0; - $2321 = (($2320) + 328)|0; - HEAP32[$yyact>>2] = $2321; - } - $2322 = HEAP32[$yysize>>2]|0; - $2323 = ($2322|0)!=(0); - $2324 = HEAP32[$0>>2]|0; - if ($2323) { - $2325 = HEAP32[$2324>>2]|0; - $2326 = (($2325) + 1)|0; - HEAP32[$2324>>2] = $2326; - $2327 = HEAP32[$yysize>>2]|0; - $2328 = (($2327) - 1)|0; - $2329 = HEAP32[$yymsp>>2]|0; - $2330 = (0 - ($2328))|0; - $2331 = (($2329) + ($2330<<4)|0); - HEAP32[$yymsp>>2] = $2331; - $2332 = HEAP32[$yyact>>2]|0; - $2333 = $2332&65535; - $2334 = HEAP32[$yymsp>>2]|0; - HEAP16[$2334>>1] = $2333; - $2335 = HEAP32[$yygoto>>2]|0; - $2336 = $2335&255; - $2337 = HEAP32[$yymsp>>2]|0; - $2338 = ((($2337)) + 2|0); - HEAP8[$2338>>0] = $2336; - $2339 = HEAP32[$yymsp>>2]|0; - $2340 = ((($2339)) + 4|0); - ;HEAP32[$2340>>2]=HEAP32[$yygotominor>>2]|0;HEAP32[$2340+4>>2]=HEAP32[$yygotominor+4>>2]|0;HEAP32[$2340+8>>2]=HEAP32[$yygotominor+8>>2]|0; - STACKTOP = sp;return; - } else { - $2341 = HEAP32[$yyact>>2]|0; - $2342 = HEAP32[$yygoto>>2]|0; - _yy_shift($2324,$2341,$2342,$yygotominor); + $2839 = HEAP32[$1>>2]|0; + $2840 = (27094 + ($2839<<1)|0); + $2841 = HEAP8[$2840>>0]|0; + $2842 = $2841&255; + HEAP32[$yygoto>>2] = $2842; + $2843 = HEAP32[$1>>2]|0; + $2844 = (27094 + ($2843<<1)|0); + $2845 = ((($2844)) + 1|0); + $2846 = HEAP8[$2845>>0]|0; + $2847 = $2846&255; + HEAP32[$yysize>>2] = $2847; + $2848 = HEAP32[$yysize>>2]|0; + $2849 = (0 - ($2848))|0; + $2850 = HEAP32[$yymsp>>2]|0; + $2851 = (($2850) + ($2849<<4)|0); + $2852 = HEAP16[$2851>>1]|0; + $2853 = $2852&65535; + $2854 = HEAP32[$yygoto>>2]|0; + $2855 = $2854&255; + $2856 = (_yy_find_reduce_action($2853,$2855)|0); + HEAP32[$yyact>>2] = $2856; + $2857 = HEAP32[$yyact>>2]|0; + $2858 = ($2857|0)<=(974); + if (!($2858)) { + $2880 = HEAP32[$yysize>>2]|0; + $2881 = HEAP32[$0>>2]|0; + $2882 = HEAP32[$2881>>2]|0; + $2883 = (($2882) - ($2880))|0; + HEAP32[$2881>>2] = $2883; + $2884 = HEAP32[$0>>2]|0; + _yy_accept($2884); STACKTOP = sp;return; } + $2859 = HEAP32[$yyact>>2]|0; + $2860 = ($2859|0)>(439); + if ($2860) { + $2861 = HEAP32[$yyact>>2]|0; + $2862 = (($2861) + 326)|0; + HEAP32[$yyact>>2] = $2862; + } + $2863 = HEAP32[$yysize>>2]|0; + $2864 = (($2863) - 1)|0; + $2865 = HEAP32[$0>>2]|0; + $2866 = HEAP32[$2865>>2]|0; + $2867 = (($2866) - ($2864))|0; + HEAP32[$2865>>2] = $2867; + $2868 = HEAP32[$yysize>>2]|0; + $2869 = (($2868) - 1)|0; + $2870 = HEAP32[$yymsp>>2]|0; + $2871 = (0 - ($2869))|0; + $2872 = (($2870) + ($2871<<4)|0); + HEAP32[$yymsp>>2] = $2872; + $2873 = HEAP32[$yyact>>2]|0; + $2874 = $2873&65535; + $2875 = HEAP32[$yymsp>>2]|0; + HEAP16[$2875>>1] = $2874; + $2876 = HEAP32[$yygoto>>2]|0; + $2877 = $2876&255; + $2878 = HEAP32[$yymsp>>2]|0; + $2879 = ((($2878)) + 2|0); + HEAP8[$2879>>0] = $2877; + STACKTOP = sp;return; } function _yy_syntax_error($yypParser,$yymajor,$yyminor) { $yypParser = $yypParser|0; @@ -110178,18 +111389,53 @@ function _yy_syntax_error($yypParser,$yymajor,$yyminor) { HEAP32[$0>>2] = $yypParser; HEAP32[$1>>2] = $yymajor; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); + $3 = ((($2)) + 4|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pParse>>2] = $4; $5 = HEAP32[$pParse>>2]|0; HEAP32[$vararg_buffer>>2] = $yyminor; - _sqlite3ErrorMsg($5,27341,$vararg_buffer); + _sqlite3ErrorMsg($5,27070,$vararg_buffer); $6 = HEAP32[$pParse>>2]|0; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 8|0); + $8 = ((($7)) + 4|0); HEAP32[$8>>2] = $6; STACKTOP = sp;return; } +function _yyStackOverflow($yypParser) { + $yypParser = $yypParser|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 8|0; + $pParse = sp + 4|0; + HEAP32[$0>>2] = $yypParser; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$pParse>>2] = $3; + $4 = HEAP32[$0>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + -1)|0; + HEAP32[$4>>2] = $6; + while(1) { + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>=(0); + if (!($9)) { + break; + } + $10 = HEAP32[$0>>2]|0; + _yy_pop_parser_stack($10); + } + $11 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($11,38149,$vararg_buffer); + $12 = HEAP32[$pParse>>2]|0; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 4|0); + HEAP32[$14>>2] = $12; + STACKTOP = sp;return; +} function _sqlite3FinishCoding($pParse) { $pParse = $pParse|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; @@ -110222,7 +111468,7 @@ function _sqlite3FinishCoding($pParse) { STACKTOP = sp;return; } $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 65|0); + $8 = ((($7)) + 69|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = ($10|0)!=(0); @@ -110250,7 +111496,7 @@ function _sqlite3FinishCoding($pParse) { $29 = HEAP32[$v>>2]|0; (_sqlite3VdbeAddOp0($29,21)|0); $30 = HEAP32[$db>>2]|0; - $31 = ((($30)) + 65|0); + $31 = ((($30)) + 69|0); $32 = HEAP8[$31>>0]|0; $33 = $32&255; $34 = ($33|0)==(0); @@ -110319,7 +111565,7 @@ function _sqlite3FinishCoding($pParse) { $83 = HEAP32[$82>>2]|0; (_sqlite3VdbeAddOp4Int($60,2,$61,$69,$74,$83)|0); $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 140|0); + $85 = ((($84)) + 144|0); $86 = ((($85)) + 5|0); $87 = HEAP8[$86>>0]|0; $88 = $87&255; @@ -110423,7 +111669,7 @@ function _sqlite3FinishCoding($pParse) { $149 = ($148|0)==(0); if ($149) { $150 = HEAP32[$db>>2]|0; - $151 = ((($150)) + 65|0); + $151 = ((($150)) + 69|0); $152 = HEAP8[$151>>0]|0; $153 = ($152<<24>>24)!=(0); if (!($153)) { @@ -110488,7 +111734,7 @@ function _sqlite3BeginTransaction($pParse,$type) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$0>>2]|0; - $5 = (_sqlite3AuthCheck($4,22,38426,0,0)|0); + $5 = (_sqlite3AuthCheck($4,22,38079,0,0)|0); $6 = ($5|0)!=(0); if ($6) { STACKTOP = sp;return; @@ -110544,7 +111790,7 @@ function _sqlite3CommitTransaction($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,38449,0,0)|0); + $2 = (_sqlite3AuthCheck($1,22,38102,0,0)|0); $3 = ($2|0)!=(0); if ($3) { STACKTOP = sp;return; @@ -110570,7 +111816,7 @@ function _sqlite3RollbackTransaction($pParse) { $v = sp; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3AuthCheck($1,22,38440,0,0)|0); + $2 = (_sqlite3AuthCheck($1,22,38093,0,0)|0); $3 = ($2|0)!=(0); if ($3) { STACKTOP = sp;return; @@ -110621,7 +111867,7 @@ function _sqlite3Savepoint($pParse,$op,$pName) { if ($12) { $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$1>>2]|0; - $15 = (6348 + ($14<<2)|0); + $15 = (6344 + ($14<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$zName>>2]|0; $18 = (_sqlite3AuthCheck($13,32,$16,$17,0)|0); @@ -110699,19 +111945,19 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $8 = HEAP32[$7>>2]|0; HEAP32[$db>>2] = $8; $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 140|0); + $10 = ((($9)) + 144|0); $11 = ((($10)) + 5|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); if ($14) { $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 140|0); + $16 = ((($15)) + 144|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==(1); if ($18) { $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 140|0); + $20 = ((($19)) + 144|0); $21 = ((($20)) + 4|0); $22 = HEAP8[$21>>0]|0; $23 = $22&255; @@ -110719,7 +111965,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $24 = HEAP32[$db>>2]|0; $25 = HEAP32[$iDb>>2]|0; $26 = ($25|0)==(1); - $27 = $26 ? 20769 : 20788; + $27 = $26 ? 20513 : 20532; $28 = (_sqlite3DbStrDup($24,$27)|0); HEAP32[$zName>>2] = $28; $29 = HEAP32[$1>>2]|0; @@ -110753,7 +111999,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $or$cond = $41 & $43; if ($or$cond) { $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,38316,$vararg_buffer); + _sqlite3ErrorMsg($44,37969,$vararg_buffer); STACKTOP = sp;return; } } @@ -110783,7 +112029,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ L21: do { if (!($58)) { $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 140|0); + $60 = ((($59)) + 144|0); $61 = ((($60)) + 4|0); $62 = HEAP8[$61>>0]|0; $63 = $62&255; @@ -110801,7 +112047,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $71 = HEAP32[$0>>2]|0; $72 = HEAP32[$3>>2]|0; $73 = ($72|0)==(1); - $74 = $73 ? 20769 : 20788; + $74 = $73 ? 20513 : 20532; $75 = HEAP32[$zDb>>2]|0; $76 = (_sqlite3AuthCheck($71,18,$74,0,$75)|0); $77 = ($76|0)!=(0); @@ -110814,7 +112060,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $82 = HEAP32[$4>>2]|0; $83 = $82<<1; $84 = (($81) + ($83))|0; - $85 = (38357 + ($84)|0); + $85 = (38010 + ($84)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; $88 = HEAP32[$zName>>2]|0; @@ -110863,7 +112109,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $121 = HEAP32[$0>>2]|0; $122 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $122; - _sqlite3ErrorMsg($121,38385,$vararg_buffer6); + _sqlite3ErrorMsg($121,38038,$vararg_buffer6); break L21; } $111 = HEAP32[$6>>2]|0; @@ -110876,7 +112122,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } else { $114 = HEAP32[$pName>>2]|0; HEAP32[$vararg_buffer4>>2] = $114; - _sqlite3ErrorMsg($113,38361,$vararg_buffer4); + _sqlite3ErrorMsg($113,38014,$vararg_buffer4); break L21; } } @@ -110929,7 +112175,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $156 = ($155<<24>>24)!=(0); if (!($156)) { $157 = HEAP32[$zName>>2]|0; - $158 = (_strcmp($157,29688)|0); + $158 = (_strcmp($157,29413)|0); $159 = ($158|0)==(0); if ($159) { $160 = HEAP32[$pTable>>2]|0; @@ -110941,7 +112187,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ } } $165 = HEAP32[$db>>2]|0; - $166 = ((($165)) + 140|0); + $166 = ((($165)) + 144|0); $167 = ((($166)) + 5|0); $168 = HEAP8[$167>>0]|0; $169 = ($168<<24>>24)!=(0); @@ -111013,7 +112259,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ $211 = HEAP32[$v>>2]|0; $212 = HEAP32[$iDb>>2]|0; $213 = HEAP32[$db>>2]|0; - $214 = ((($213)) + 62|0); + $214 = ((($213)) + 66|0); $215 = HEAP8[$214>>0]|0; $216 = $215&255; (_sqlite3VdbeAddOp3($211,52,$212,5,$216)|0); @@ -111045,7 +112291,7 @@ function _sqlite3StartTable($pParse,$pName1,$pName2,$isTemp,$isView,$isVirtual,$ (_sqlite3VdbeAddOp2($232,74,0,$233)|0); $234 = HEAP32[$v>>2]|0; $235 = HEAP32[$reg3>>2]|0; - (_sqlite3VdbeAddOp4($234,27,6,$235,0,38420,-2)|0); + (_sqlite3VdbeAddOp4($234,27,6,$235,0,38073,-2)|0); $236 = HEAP32[$v>>2]|0; $237 = HEAP32[$reg3>>2]|0; $238 = HEAP32[$reg1>>2]|0; @@ -111077,7 +112323,7 @@ function _disableLookaside($pParse) { HEAP8[$2>>0] = $4; $5 = HEAP32[$0>>2]|0; $6 = HEAP32[$5>>2]|0; - $7 = ((($6)) + 248|0); + $7 = ((($6)) + 256|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + 1)|0; HEAP32[$7>>2] = $9; @@ -111169,13 +112415,13 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { STACKTOP = sp;return; } $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 140|0); + $17 = ((($16)) + 144|0); $18 = ((($17)) + 5|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)!=(0); if ($20) { $21 = HEAP32[$db>>2]|0; - $22 = ((($21)) + 140|0); + $22 = ((($21)) + 144|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 28|0); @@ -111208,7 +112454,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $45 = ($44|0)!=(0); if ($45) { $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,37995,$vararg_buffer); + _sqlite3ErrorMsg($46,37648,$vararg_buffer); STACKTOP = sp;return; } $47 = HEAP32[$p>>2]|0; @@ -111222,7 +112468,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $54 = HEAP32[$p>>2]|0; $55 = HEAP32[$54>>2]|0; HEAP32[$vararg_buffer2>>2] = $55; - _sqlite3ErrorMsg($53,38045,$vararg_buffer2); + _sqlite3ErrorMsg($53,37698,$vararg_buffer2); break; } else { $56 = HEAP32[$p>>2]|0; @@ -111277,7 +112523,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { HEAP32[$pIdx>>2] = $87; } $88 = HEAP32[$db>>2]|0; - $89 = ((($88)) + 140|0); + $89 = ((($88)) + 144|0); $90 = ((($89)) + 5|0); $91 = HEAP8[$90>>0]|0; $92 = ($91<<24>>24)!=(0); @@ -111297,11 +112543,11 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $100 = HEAP32[$99>>2]|0; $101 = ($100|0)==(0|0); if ($101) { - HEAP32[$zType>>2] = 33805; - HEAP32[$zType2>>2] = 38077; + HEAP32[$zType>>2] = 33506; + HEAP32[$zType2>>2] = 37730; } else { - HEAP32[$zType>>2] = 36955; - HEAP32[$zType2>>2] = 38083; + HEAP32[$zType>>2] = 36608; + HEAP32[$zType2>>2] = 37736; } $102 = HEAP32[$4>>2]|0; $103 = ($102|0)!=(0|0); @@ -111478,7 +112724,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { HEAP32[$vararg_ptr7>>2] = $218; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $221; - $222 = (_sqlite3MPrintf($216,38088,$vararg_buffer4)|0); + $222 = (_sqlite3MPrintf($216,37741,$vararg_buffer4)|0); HEAP32[$zStmt>>2] = $222; } $223 = HEAP32[$0>>2]|0; @@ -111490,7 +112736,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $229 = HEAP32[$228>>2]|0; $230 = HEAP32[$iDb>>2]|0; $231 = ($230|0)==(1); - $232 = $231 ? 20769 : 20788; + $232 = $231 ? 20513 : 20532; $233 = HEAP32[$zType>>2]|0; $234 = HEAP32[$p>>2]|0; $235 = HEAP32[$234>>2]|0; @@ -111518,7 +112764,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { HEAP32[$vararg_ptr17>>2] = $241; $vararg_ptr18 = ((($vararg_buffer9)) + 28|0); HEAP32[$vararg_ptr18>>2] = $244; - _sqlite3NestedParse($223,38103,$vararg_buffer9); + _sqlite3NestedParse($223,37756,$vararg_buffer9); $245 = HEAP32[$db>>2]|0; $246 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($245,$246); @@ -111549,7 +112795,7 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $267 = HEAP32[$pDb>>2]|0; $268 = HEAP32[$267>>2]|0; HEAP32[$vararg_buffer19>>2] = $268; - _sqlite3NestedParse($266,38190,$vararg_buffer19); + _sqlite3NestedParse($266,37843,$vararg_buffer19); } } $269 = HEAP32[$v>>2]|0; @@ -111558,11 +112804,11 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { $272 = HEAP32[$p>>2]|0; $273 = HEAP32[$272>>2]|0; HEAP32[$vararg_buffer22>>2] = $273; - $274 = (_sqlite3MPrintf($271,38232,$vararg_buffer22)|0); + $274 = (_sqlite3MPrintf($271,37885,$vararg_buffer22)|0); _sqlite3VdbeAddParseSchemaOp($269,$270,$274); } $275 = HEAP32[$db>>2]|0; - $276 = ((($275)) + 140|0); + $276 = ((($275)) + 144|0); $277 = ((($276)) + 5|0); $278 = HEAP8[$277>>0]|0; $279 = ($278<<24>>24)!=(0); @@ -111629,229 +112875,237 @@ function _sqlite3EndTable($pParse,$pCons,$pEnd,$tabOpts,$pSelect) { HEAP32[$320>>2] = $318; STACKTOP = sp;return; } -function _sqlite3AddColumn($pParse,$pName) { +function _sqlite3AddColumn($pParse,$pName,$pType) { $pParse = $pParse|0; $pName = $pName|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $aNew = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $z = 0, label = 0, sp = 0; + $pType = $pType|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; + var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; + var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aNew = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $z = 0, $zType = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 64|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $p = sp + 32|0; - $i = sp + 28|0; - $z = sp + 24|0; + $0 = sp + 48|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $p = sp + 36|0; + $i = sp + 32|0; + $z = sp + 28|0; + $zType = sp + 24|0; $pCol = sp + 20|0; $db = sp + 16|0; $aNew = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pName; - $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[$2>>2]|0; - HEAP32[$db>>2] = $3; - $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 488|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$p>>2] = $6; - $7 = ($6|0)==(0|0); - if ($7) { + HEAP32[$2>>2] = $pType; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$db>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 488|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[$p>>2] = $7; + $8 = ($7|0)==(0|0); + if ($8) { STACKTOP = sp;return; } - $8 = HEAP32[$p>>2]|0; - $9 = ((($8)) + 34|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10 << 16 >> 16; - $12 = (($11) + 1)|0; - $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 88|0); - $15 = ((($14)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($12|0)>($16|0); - if ($17) { - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = HEAP32[$19>>2]|0; - HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorMsg($18,37946,$vararg_buffer); + $9 = HEAP32[$p>>2]|0; + $10 = ((($9)) + 34|0); + $11 = HEAP16[$10>>1]|0; + $12 = $11 << 16 >> 16; + $13 = (($12) + 1)|0; + $14 = HEAP32[$db>>2]|0; + $15 = ((($14)) + 92|0); + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($13|0)>($17|0); + if ($18) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$p>>2]|0; + $21 = HEAP32[$20>>2]|0; + HEAP32[$vararg_buffer>>2] = $21; + _sqlite3ErrorMsg($19,37599,$vararg_buffer); STACKTOP = sp;return; } - $21 = HEAP32[$db>>2]|0; - $22 = HEAP32[$1>>2]|0; - $23 = (_sqlite3NameFromToken($21,$22)|0); - HEAP32[$z>>2] = $23; - $24 = HEAP32[$z>>2]|0; - $25 = ($24|0)==(0|0); - if ($25) { + $22 = HEAP32[$db>>2]|0; + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$2>>2]|0; + $27 = ((($26)) + 4|0); + $28 = HEAP32[$27>>2]|0; + $29 = (($25) + ($28))|0; + $30 = (($29) + 2)|0; + $31 = (_sqlite3DbMallocRaw($22,$30,0)|0); + HEAP32[$z>>2] = $31; + $32 = HEAP32[$z>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { STACKTOP = sp;return; } + $34 = HEAP32[$z>>2]|0; + $35 = HEAP32[$1>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + _memcpy(($34|0),($36|0),($39|0))|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 4|0); + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$z>>2]|0; + $44 = (($43) + ($42)|0); + HEAP8[$44>>0] = 0; + $45 = HEAP32[$z>>2]|0; + (_sqlite3Dequote($45)|0); HEAP32[$i>>2] = 0; while(1) { - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$p>>2]|0; - $28 = ((($27)) + 34|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29 << 16 >> 16; - $31 = ($26|0)<($30|0); - if (!($31)) { + $46 = HEAP32[$i>>2]|0; + $47 = HEAP32[$p>>2]|0; + $48 = ((($47)) + 34|0); + $49 = HEAP16[$48>>1]|0; + $50 = $49 << 16 >> 16; + $51 = ($46|0)<($50|0); + if (!($51)) { break; } - $32 = HEAP32[$z>>2]|0; - $33 = HEAP32[$i>>2]|0; - $34 = HEAP32[$p>>2]|0; - $35 = ((($34)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = (($36) + (($33*24)|0)|0); - $38 = HEAP32[$37>>2]|0; - $39 = (_sqlite3_stricmp($32,$38)|0); - $40 = ($39|0)==(0); - if ($40) { + $52 = HEAP32[$z>>2]|0; + $53 = HEAP32[$i>>2]|0; + $54 = HEAP32[$p>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($56) + ($53<<4)|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3_stricmp($52,$58)|0); + $60 = ($59|0)==(0); + if ($60) { label = 8; break; } - $45 = HEAP32[$i>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$i>>2] = $46; + $65 = HEAP32[$i>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$i>>2] = $66; } if ((label|0) == 8) { - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$z>>2]|0; - HEAP32[$vararg_buffer1>>2] = $42; - _sqlite3ErrorMsg($41,37969,$vararg_buffer1); - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$z>>2]|0; - _sqlite3DbFree($43,$44); + $61 = HEAP32[$0>>2]|0; + $62 = HEAP32[$z>>2]|0; + HEAP32[$vararg_buffer1>>2] = $62; + _sqlite3ErrorMsg($61,37622,$vararg_buffer1); + $63 = HEAP32[$db>>2]|0; + $64 = HEAP32[$z>>2]|0; + _sqlite3DbFree($63,$64); STACKTOP = sp;return; } - $47 = HEAP32[$p>>2]|0; - $48 = ((($47)) + 34|0); - $49 = HEAP16[$48>>1]|0; - $50 = $49 << 16 >> 16; - $51 = $50 & 7; - $52 = ($51|0)==(0); + $67 = HEAP32[$p>>2]|0; + $68 = ((($67)) + 34|0); + $69 = HEAP16[$68>>1]|0; + $70 = $69 << 16 >> 16; + $71 = $70 & 7; + $72 = ($71|0)==(0); do { - if ($52) { - $53 = HEAP32[$db>>2]|0; - $54 = HEAP32[$p>>2]|0; - $55 = ((($54)) + 4|0); - $56 = HEAP32[$55>>2]|0; - $57 = HEAP32[$p>>2]|0; - $58 = ((($57)) + 34|0); - $59 = HEAP16[$58>>1]|0; - $60 = $59 << 16 >> 16; - $61 = (($60) + 8)|0; - $62 = ($61*24)|0; - $63 = (_sqlite3DbRealloc($53,$56,$62,0)|0); - HEAP32[$aNew>>2] = $63; - $64 = HEAP32[$aNew>>2]|0; - $65 = ($64|0)==(0|0); - if (!($65)) { - $68 = HEAP32[$aNew>>2]|0; - $69 = HEAP32[$p>>2]|0; - $70 = ((($69)) + 4|0); - HEAP32[$70>>2] = $68; + if ($72) { + $73 = HEAP32[$db>>2]|0; + $74 = HEAP32[$p>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$p>>2]|0; + $78 = ((($77)) + 34|0); + $79 = HEAP16[$78>>1]|0; + $80 = $79 << 16 >> 16; + $81 = (($80) + 8)|0; + $82 = $81<<4; + $83 = (_sqlite3DbRealloc($73,$76,$82,0)|0); + HEAP32[$aNew>>2] = $83; + $84 = HEAP32[$aNew>>2]|0; + $85 = ($84|0)==(0|0); + if (!($85)) { + $88 = HEAP32[$aNew>>2]|0; + $89 = HEAP32[$p>>2]|0; + $90 = ((($89)) + 4|0); + HEAP32[$90>>2] = $88; break; } - $66 = HEAP32[$db>>2]|0; - $67 = HEAP32[$z>>2]|0; - _sqlite3DbFree($66,$67); + $86 = HEAP32[$db>>2]|0; + $87 = HEAP32[$z>>2]|0; + _sqlite3DbFree($86,$87); STACKTOP = sp;return; } } while(0); - $71 = HEAP32[$p>>2]|0; - $72 = ((($71)) + 34|0); - $73 = HEAP16[$72>>1]|0; - $74 = $73 << 16 >> 16; - $75 = HEAP32[$p>>2]|0; - $76 = ((($75)) + 4|0); - $77 = HEAP32[$76>>2]|0; - $78 = (($77) + (($74*24)|0)|0); - HEAP32[$pCol>>2] = $78; - $79 = HEAP32[$pCol>>2]|0; - ;HEAP32[$79>>2]=0|0;HEAP32[$79+4>>2]=0|0;HEAP32[$79+8>>2]=0|0;HEAP32[$79+12>>2]=0|0;HEAP32[$79+16>>2]=0|0;HEAP32[$79+20>>2]=0|0; - $80 = HEAP32[$z>>2]|0; - $81 = HEAP32[$pCol>>2]|0; - HEAP32[$81>>2] = $80; - $82 = HEAP32[$pCol>>2]|0; - $83 = ((($82)) + 21|0); - HEAP8[$83>>0] = 65; - $84 = HEAP32[$pCol>>2]|0; - $85 = ((($84)) + 22|0); - HEAP8[$85>>0] = 1; - $86 = HEAP32[$p>>2]|0; - $87 = ((($86)) + 34|0); - $88 = HEAP16[$87>>1]|0; - $89 = (($88) + 1)<<16>>16; - HEAP16[$87>>1] = $89; - STACKTOP = sp;return; -} -function _sqlite3AddColumnType($pParse,$pType) { - $pParse = $pParse|0; - $pType = $pType|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $p = 0, $pCol = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $p = sp + 4|0; - $pCol = sp; - HEAP32[$0>>2] = $pParse; - HEAP32[$1>>2] = $pType; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 488|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$p>>2] = $4; - $5 = HEAP32[$p>>2]|0; - $6 = ($5|0)==(0|0); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$p>>2]|0; - $8 = ((($7)) + 34|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9 << 16 >> 16; - $11 = ($10|0)<(1); - if ($11) { - STACKTOP = sp;return; + $91 = HEAP32[$p>>2]|0; + $92 = ((($91)) + 34|0); + $93 = HEAP16[$92>>1]|0; + $94 = $93 << 16 >> 16; + $95 = HEAP32[$p>>2]|0; + $96 = ((($95)) + 4|0); + $97 = HEAP32[$96>>2]|0; + $98 = (($97) + ($94<<4)|0); + HEAP32[$pCol>>2] = $98; + $99 = HEAP32[$pCol>>2]|0; + ;HEAP32[$99>>2]=0|0;HEAP32[$99+4>>2]=0|0;HEAP32[$99+8>>2]=0|0;HEAP32[$99+12>>2]=0|0; + $100 = HEAP32[$z>>2]|0; + $101 = HEAP32[$pCol>>2]|0; + HEAP32[$101>>2] = $100; + $102 = HEAP32[$2>>2]|0; + $103 = ((($102)) + 4|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0); + if ($105) { + $106 = HEAP32[$pCol>>2]|0; + $107 = ((($106)) + 13|0); + HEAP8[$107>>0] = 65; + $108 = HEAP32[$pCol>>2]|0; + $109 = ((($108)) + 14|0); + HEAP8[$109>>0] = 1; + } else { + $110 = HEAP32[$z>>2]|0; + $111 = HEAP32[$z>>2]|0; + $112 = (_sqlite3Strlen30($111)|0); + $113 = (($110) + ($112)|0); + $114 = ((($113)) + 1|0); + HEAP32[$zType>>2] = $114; + $115 = HEAP32[$zType>>2]|0; + $116 = HEAP32[$2>>2]|0; + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$2>>2]|0; + $119 = ((($118)) + 4|0); + $120 = HEAP32[$119>>2]|0; + _memcpy(($115|0),($117|0),($120|0))|0; + $121 = HEAP32[$2>>2]|0; + $122 = ((($121)) + 4|0); + $123 = HEAP32[$122>>2]|0; + $124 = HEAP32[$zType>>2]|0; + $125 = (($124) + ($123)|0); + HEAP8[$125>>0] = 0; + $126 = HEAP32[$zType>>2]|0; + $127 = HEAP32[$pCol>>2]|0; + $128 = ((($127)) + 14|0); + $129 = (_sqlite3AffinityType($126,$128)|0); + $130 = HEAP32[$pCol>>2]|0; + $131 = ((($130)) + 13|0); + HEAP8[$131>>0] = $129; + $132 = HEAP32[$pCol>>2]|0; + $133 = ((($132)) + 15|0); + $134 = HEAP8[$133>>0]|0; + $135 = $134&255; + $136 = $135 | 4; + $137 = $136&255; + HEAP8[$133>>0] = $137; } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 34|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14 << 16 >> 16; - $16 = (($15) - 1)|0; - $17 = HEAP32[$p>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($16*24)|0)|0); - HEAP32[$pCol>>2] = $20; - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$pCol>>2]|0; - $24 = ((($23)) + 12|0); - $25 = HEAP32[$24>>2]|0; - _sqlite3DbFree($22,$25); - $26 = HEAP32[$0>>2]|0; - $27 = HEAP32[$26>>2]|0; - $28 = HEAP32[$1>>2]|0; - $29 = (_sqlite3NameFromToken($27,$28)|0); - $30 = HEAP32[$pCol>>2]|0; - $31 = ((($30)) + 12|0); - HEAP32[$31>>2] = $29; - $32 = HEAP32[$pCol>>2]|0; - $33 = ((($32)) + 12|0); - $34 = HEAP32[$33>>2]|0; - $35 = HEAP32[$pCol>>2]|0; - $36 = ((($35)) + 22|0); - $37 = (_sqlite3AffinityType($34,$36)|0); - $38 = HEAP32[$pCol>>2]|0; - $39 = ((($38)) + 21|0); - HEAP8[$39>>0] = $37; + $138 = HEAP32[$p>>2]|0; + $139 = ((($138)) + 34|0); + $140 = HEAP16[$139>>1]|0; + $141 = (($140) + 1)<<16>>16; + HEAP16[$139>>1] = $141; + $142 = HEAP32[$0>>2]|0; + $143 = ((($142)) + 328|0); + $144 = ((($143)) + 4|0); + HEAP32[$144>>2] = 0; STACKTOP = sp;return; } function _sqlite3AddDefaultValue($pParse,$pSpan) { @@ -111860,15 +113114,16 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $p = 0, $pCol = 0, $vararg_buffer = 0, $x = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; + STACKTOP = STACKTOP + 80|0; $vararg_buffer = sp; - $0 = sp + 20|0; - $1 = sp + 16|0; - $p = sp + 12|0; - $pCol = sp + 8|0; - $db = sp + 4|0; + $0 = sp + 72|0; + $1 = sp + 68|0; + $p = sp + 64|0; + $pCol = sp + 60|0; + $db = sp + 56|0; + $x = sp + 8|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pSpan; $2 = HEAP32[$0>>2]|0; @@ -111895,12 +113150,12 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $14 = HEAP32[$p>>2]|0; $15 = ((($14)) + 4|0); $16 = HEAP32[$15>>2]|0; - $17 = (($16) + (($13*24)|0)|0); + $17 = (($16) + ($13<<4)|0); HEAP32[$pCol>>2] = $17; $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 140|0); + $21 = ((($20)) + 144|0); $22 = ((($21)) + 5|0); $23 = HEAP8[$22>>0]|0; $24 = (_sqlite3ExprIsConstantOrFunction($19,$23)|0); @@ -111911,37 +113166,41 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $31 = ((($30)) + 4|0); $32 = HEAP32[$31>>2]|0; _sqlite3ExprDelete($29,$32); + dest=$x; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP8[$x>>0] = -97; $33 = HEAP32[$db>>2]|0; $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3ExprDup($33,$35,1)|0); - $37 = HEAP32[$pCol>>2]|0; - $38 = ((($37)) + 4|0); - HEAP32[$38>>2] = $36; - $39 = HEAP32[$db>>2]|0; - $40 = HEAP32[$pCol>>2]|0; - $41 = ((($40)) + 8|0); + $35 = ((($34)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = HEAP32[$1>>2]|0; + $38 = ((($37)) + 8|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$1>>2]|0; + $41 = ((($40)) + 4|0); $42 = HEAP32[$41>>2]|0; - _sqlite3DbFree($39,$42); - $43 = HEAP32[$db>>2]|0; - $44 = HEAP32[$1>>2]|0; - $45 = ((($44)) + 4|0); - $46 = HEAP32[$45>>2]|0; - $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 8|0); - $49 = HEAP32[$48>>2]|0; + $43 = $39; + $44 = $42; + $45 = (($43) - ($44))|0; + $46 = ($45|0)<(0); + $47 = $46 << 31 >> 31; + $48 = (_sqlite3DbStrNDup($33,$36,$45,$47)|0); + $49 = ((($x)) + 8|0); + HEAP32[$49>>2] = $48; $50 = HEAP32[$1>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = $49; - $54 = $52; - $55 = (($53) - ($54))|0; - $56 = ($55|0)<(0); - $57 = $56 << 31 >> 31; - $58 = (_sqlite3DbStrNDup($43,$46,$55,$57)|0); - $59 = HEAP32[$pCol>>2]|0; - $60 = ((($59)) + 8|0); - HEAP32[$60>>2] = $58; + $51 = HEAP32[$50>>2]|0; + $52 = ((($x)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = ((($x)) + 4|0); + HEAP32[$53>>2] = 4096; + $54 = HEAP32[$db>>2]|0; + $55 = (_sqlite3ExprDup($54,$x,1)|0); + $56 = HEAP32[$pCol>>2]|0; + $57 = ((($56)) + 4|0); + HEAP32[$57>>2] = $55; + $58 = HEAP32[$db>>2]|0; + $59 = ((($x)) + 8|0); + $60 = HEAP32[$59>>2]|0; + _sqlite3DbFree($58,$60); $61 = HEAP32[$db>>2]|0; $62 = HEAP32[$1>>2]|0; $63 = HEAP32[$62>>2]|0; @@ -111952,7 +113211,7 @@ function _sqlite3AddDefaultValue($pParse,$pSpan) { $27 = HEAP32[$pCol>>2]|0; $28 = HEAP32[$27>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,37901,$vararg_buffer); + _sqlite3ErrorMsg($26,37554,$vararg_buffer); $61 = HEAP32[$db>>2]|0; $62 = HEAP32[$1>>2]|0; $63 = HEAP32[$62>>2]|0; @@ -112030,43 +113289,36 @@ function _sqlite3PExpr($pParse,$op,$pLeft,$pRight,$pToken) { $33 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($33|0); } -function _spanExpr($pOut,$pParse,$op,$pValue) { +function _spanExpr($pOut,$pParse,$op,$t) { $pOut = $pOut|0; $pParse = $pParse|0; $op = $op|0; - $pValue = $pValue|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; + $t = $t|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $3 = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$0>>2] = $pOut; HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pValue; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$3>>2]|0; - $7 = (_sqlite3PExpr($4,$5,0,0,$6)|0); + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = (_sqlite3PExpr($3,$4,0,0,$t)|0); + $6 = HEAP32[$0>>2]|0; + HEAP32[$6>>2] = $5; + $7 = HEAP32[$t>>2]|0; $8 = HEAP32[$0>>2]|0; - HEAP32[$8>>2] = $7; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 4|0); - HEAP32[$12>>2] = $10; - $13 = HEAP32[$3>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = (($17) + ($15)|0); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 8|0); - HEAP32[$20>>2] = $18; + $9 = ((($8)) + 4|0); + HEAP32[$9>>2] = $7; + $10 = ((($t)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = HEAP32[$t>>2]|0; + $13 = (($12) + ($11)|0); + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 8|0); + HEAP32[$15>>2] = $13; STACKTOP = sp;return; } function _sqlite3AddNotNull($pParse,$onError) { @@ -112108,8 +113360,8 @@ function _sqlite3AddNotNull($pParse,$onError) { $19 = HEAP32[$p>>2]|0; $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; - $22 = (($21) + (($18*24)|0)|0); - $23 = ((($22)) + 20|0); + $22 = (($21) + ($18<<4)|0); + $23 = ((($22)) + 12|0); HEAP8[$23>>0] = $13; STACKTOP = sp;return; } @@ -112121,13 +113373,13 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $sortOrder = $sortOrder|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; - var $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pCExpr = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $zCName = 0, $zType = 0, label = 0, sp = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iCol = 0, $nTerm = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pCExpr = 0, $pCol = 0, $pTab = 0, $vararg_buffer = 0, $vararg_buffer4 = 0; + var $zCName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer4 = sp + 8|0; @@ -112138,7 +113390,7 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $3 = sp + 48|0; $4 = sp + 44|0; $pTab = sp + 40|0; - $zType = sp + 36|0; + $pCol = sp + 36|0; $iCol = sp + 32|0; $i = sp + 28|0; $nTerm = sp + 24|0; @@ -112154,15 +113406,15 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $6 = ((($5)) + 488|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pTab>>2] = $7; - HEAP32[$zType>>2] = 0; + HEAP32[$pCol>>2] = 0; HEAP32[$iCol>>2] = -1; $8 = HEAP32[$pTab>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } $10 = HEAP32[$0>>2]|0; @@ -112171,10 +113423,10 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $13 = $12&255; $14 = ($13|0)!=(0); if ($14) { - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } $15 = HEAP32[$pTab>>2]|0; @@ -112188,11 +113440,11 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $22 = HEAP32[$pTab>>2]|0; $23 = HEAP32[$22>>2]|0; HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($21,37804,$vararg_buffer); - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + _sqlite3ErrorMsg($21,37457,$vararg_buffer); + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } $24 = HEAP32[$pTab>>2]|0; @@ -112216,194 +113468,183 @@ function _sqlite3AddPrimaryKey($pParse,$pList,$onError,$autoInc,$sortOrder) { $38 = HEAP32[$pTab>>2]|0; $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; - $41 = (($40) + (($37*24)|0)|0); - $42 = ((($41)) + 23|0); - $43 = HEAP8[$42>>0]|0; - $44 = $43&255; - $45 = $44 | 1; - $46 = $45&255; - HEAP8[$42>>0] = $46; - $47 = HEAP32[$iCol>>2]|0; - $48 = HEAP32[$pTab>>2]|0; - $49 = ((($48)) + 4|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + (($47*24)|0)|0); - $52 = ((($51)) + 12|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$zType>>2] = $53; + $41 = (($40) + ($37<<4)|0); + HEAP32[$pCol>>2] = $41; + $42 = HEAP32[$pCol>>2]|0; + $43 = ((($42)) + 15|0); + $44 = HEAP8[$43>>0]|0; + $45 = $44&255; + $46 = $45 | 1; + $47 = $46&255; + HEAP8[$43>>0] = $47; HEAP32[$nTerm>>2] = 1; } else { - $54 = HEAP32[$1>>2]|0; - $55 = HEAP32[$54>>2]|0; - HEAP32[$nTerm>>2] = $55; + $48 = HEAP32[$1>>2]|0; + $49 = HEAP32[$48>>2]|0; + HEAP32[$nTerm>>2] = $49; HEAP32[$i>>2] = 0; while(1) { - $56 = HEAP32[$i>>2]|0; - $57 = HEAP32[$nTerm>>2]|0; - $58 = ($56|0)<($57|0); - if (!($58)) { + $50 = HEAP32[$i>>2]|0; + $51 = HEAP32[$nTerm>>2]|0; + $52 = ($50|0)<($51|0); + if (!($52)) { break L11; } - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 4|0); - $62 = HEAP32[$61>>2]|0; - $63 = (($62) + (($59*20)|0)|0); - $64 = HEAP32[$63>>2]|0; - $65 = (_sqlite3ExprSkipCollate($64)|0); - HEAP32[$pCExpr>>2] = $65; - $66 = HEAP32[$pCExpr>>2]|0; - _sqlite3StringToId($66); - $67 = HEAP32[$pCExpr>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = ($69|0)==(27); + $53 = HEAP32[$i>>2]|0; + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 4|0); + $56 = HEAP32[$55>>2]|0; + $57 = (($56) + (($53*20)|0)|0); + $58 = HEAP32[$57>>2]|0; + $59 = (_sqlite3ExprSkipCollate($58)|0); + HEAP32[$pCExpr>>2] = $59; + $60 = HEAP32[$pCExpr>>2]|0; + _sqlite3StringToId($60); + $61 = HEAP32[$pCExpr>>2]|0; + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = ($63|0)==(27); L17: do { - if ($70) { - $71 = HEAP32[$pCExpr>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - HEAP32[$zCName>>2] = $73; + if ($64) { + $65 = HEAP32[$pCExpr>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$zCName>>2] = $67; HEAP32[$iCol>>2] = 0; while(1) { - $74 = HEAP32[$iCol>>2]|0; - $75 = HEAP32[$pTab>>2]|0; - $76 = ((($75)) + 34|0); - $77 = HEAP16[$76>>1]|0; - $78 = $77 << 16 >> 16; - $79 = ($74|0)<($78|0); - if (!($79)) { + $68 = HEAP32[$iCol>>2]|0; + $69 = HEAP32[$pTab>>2]|0; + $70 = ((($69)) + 34|0); + $71 = HEAP16[$70>>1]|0; + $72 = $71 << 16 >> 16; + $73 = ($68|0)<($72|0); + if (!($73)) { break L17; } - $80 = HEAP32[$zCName>>2]|0; - $81 = HEAP32[$iCol>>2]|0; - $82 = HEAP32[$pTab>>2]|0; - $83 = ((($82)) + 4|0); - $84 = HEAP32[$83>>2]|0; - $85 = (($84) + (($81*24)|0)|0); - $86 = HEAP32[$85>>2]|0; - $87 = (_sqlite3_stricmp($80,$86)|0); - $88 = ($87|0)==(0); - $89 = HEAP32[$iCol>>2]|0; - if ($88) { + $74 = HEAP32[$zCName>>2]|0; + $75 = HEAP32[$iCol>>2]|0; + $76 = HEAP32[$pTab>>2]|0; + $77 = ((($76)) + 4|0); + $78 = HEAP32[$77>>2]|0; + $79 = (($78) + ($75<<4)|0); + $80 = HEAP32[$79>>2]|0; + $81 = (_sqlite3StrICmp($74,$80)|0); + $82 = ($81|0)==(0); + $83 = HEAP32[$iCol>>2]|0; + if ($82) { break; } - $106 = (($89) + 1)|0; - HEAP32[$iCol>>2] = $106; + $94 = (($83) + 1)|0; + HEAP32[$iCol>>2] = $94; } - $90 = HEAP32[$pTab>>2]|0; - $91 = ((($90)) + 4|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($92) + (($89*24)|0)|0); - $94 = ((($93)) + 23|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = $96 | 1; - $98 = $97&255; - HEAP8[$94>>0] = $98; - $99 = HEAP32[$iCol>>2]|0; - $100 = HEAP32[$pTab>>2]|0; - $101 = ((($100)) + 4|0); - $102 = HEAP32[$101>>2]|0; - $103 = (($102) + (($99*24)|0)|0); - $104 = ((($103)) + 12|0); - $105 = HEAP32[$104>>2]|0; - HEAP32[$zType>>2] = $105; + $84 = HEAP32[$pTab>>2]|0; + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + $87 = (($86) + ($83<<4)|0); + HEAP32[$pCol>>2] = $87; + $88 = HEAP32[$pCol>>2]|0; + $89 = ((($88)) + 15|0); + $90 = HEAP8[$89>>0]|0; + $91 = $90&255; + $92 = $91 | 1; + $93 = $92&255; + HEAP8[$89>>0] = $93; } } while(0); - $107 = HEAP32[$i>>2]|0; - $108 = (($107) + 1)|0; - HEAP32[$i>>2] = $108; + $95 = HEAP32[$i>>2]|0; + $96 = (($95) + 1)|0; + HEAP32[$i>>2] = $96; } } } while(0); - $109 = HEAP32[$nTerm>>2]|0; - $110 = ($109|0)==(1); - $111 = HEAP32[$zType>>2]|0; - $112 = ($111|0)!=(0|0); - $or$cond = $110 & $112; + $97 = HEAP32[$nTerm>>2]|0; + $98 = ($97|0)==(1); + $99 = HEAP32[$pCol>>2]|0; + $100 = ($99|0)!=(0|0); + $or$cond = $98 & $100; if ($or$cond) { - $113 = HEAP32[$zType>>2]|0; - $114 = (_sqlite3_stricmp($113,19623)|0); - $115 = ($114|0)==(0); - $116 = HEAP32[$4>>2]|0; - $117 = ($116|0)!=(1); - $or$cond3 = $115 & $117; + $101 = HEAP32[$pCol>>2]|0; + $102 = (_sqlite3ColumnType($101,19010)|0); + $103 = (_sqlite3StrICmp($102,19367)|0); + $104 = ($103|0)==(0); + $105 = HEAP32[$4>>2]|0; + $106 = ($105|0)!=(1); + $or$cond3 = $104 & $106; if ($or$cond3) { - $118 = HEAP32[$iCol>>2]|0; - $119 = $118&65535; - $120 = HEAP32[$pTab>>2]|0; - $121 = ((($120)) + 32|0); - HEAP16[$121>>1] = $119; - $122 = HEAP32[$2>>2]|0; - $123 = $122&255; - $124 = HEAP32[$pTab>>2]|0; - $125 = ((($124)) + 43|0); - HEAP8[$125>>0] = $123; - $126 = HEAP32[$3>>2]|0; - $127 = $126<<3; - $128 = HEAP32[$pTab>>2]|0; - $129 = ((($128)) + 42|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = $131 | $127; - $133 = $132&255; - HEAP8[$129>>0] = $133; - $134 = HEAP32[$1>>2]|0; - $135 = ($134|0)!=(0|0); - if (!($135)) { - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + $107 = HEAP32[$iCol>>2]|0; + $108 = $107&65535; + $109 = HEAP32[$pTab>>2]|0; + $110 = ((($109)) + 32|0); + HEAP16[$110>>1] = $108; + $111 = HEAP32[$2>>2]|0; + $112 = $111&255; + $113 = HEAP32[$pTab>>2]|0; + $114 = ((($113)) + 43|0); + HEAP8[$114>>0] = $112; + $115 = HEAP32[$3>>2]|0; + $116 = $115<<3; + $117 = HEAP32[$pTab>>2]|0; + $118 = ((($117)) + 42|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = $120 | $116; + $122 = $121&255; + HEAP8[$118>>0] = $122; + $123 = HEAP32[$1>>2]|0; + $124 = ($123|0)!=(0|0); + if (!($124)) { + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } - $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 4|0); - $138 = HEAP32[$137>>2]|0; - $139 = ((($138)) + 12|0); - $140 = HEAP8[$139>>0]|0; - $141 = HEAP32[$0>>2]|0; - $142 = ((($141)) + 452|0); - HEAP8[$142>>0] = $140; - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + $125 = HEAP32[$1>>2]|0; + $126 = ((($125)) + 4|0); + $127 = HEAP32[$126>>2]|0; + $128 = ((($127)) + 12|0); + $129 = HEAP8[$128>>0]|0; + $130 = HEAP32[$0>>2]|0; + $131 = ((($130)) + 452|0); + HEAP8[$131>>0] = $129; + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } } - $143 = HEAP32[$3>>2]|0; - $144 = ($143|0)!=(0); - $145 = HEAP32[$0>>2]|0; - if ($144) { - _sqlite3ErrorMsg($145,37845,$vararg_buffer4); - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + $132 = HEAP32[$3>>2]|0; + $133 = ($132|0)!=(0); + $134 = HEAP32[$0>>2]|0; + if ($133) { + _sqlite3ErrorMsg($134,37498,$vararg_buffer4); + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } - $146 = HEAP32[$1>>2]|0; - $147 = HEAP32[$2>>2]|0; - $148 = HEAP32[$4>>2]|0; - $149 = (_sqlite3CreateIndex($145,0,0,0,$146,$147,0,0,$148,0)|0); - HEAP32[$p>>2] = $149; - $150 = HEAP32[$p>>2]|0; - $151 = ($150|0)!=(0|0); - if ($151) { - $152 = HEAP32[$p>>2]|0; - $153 = ((($152)) + 55|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154 & -4; - $156 = $155 | 2; - HEAP8[$153>>0] = $156; + $135 = HEAP32[$1>>2]|0; + $136 = HEAP32[$2>>2]|0; + $137 = HEAP32[$4>>2]|0; + $138 = (_sqlite3CreateIndex($134,0,0,0,$135,$136,0,0,$137,0)|0); + HEAP32[$p>>2] = $138; + $139 = HEAP32[$p>>2]|0; + $140 = ($139|0)!=(0|0); + if ($140) { + $141 = HEAP32[$p>>2]|0; + $142 = ((($141)) + 55|0); + $143 = HEAP8[$142>>0]|0; + $144 = $143 & -4; + $145 = $144 | 2; + HEAP8[$142>>0] = $145; } HEAP32[$1>>2] = 0; - $157 = HEAP32[$0>>2]|0; - $158 = HEAP32[$157>>2]|0; - $159 = HEAP32[$1>>2]|0; - _sqlite3ExprListDelete($158,$159); + $146 = HEAP32[$0>>2]|0; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$1>>2]|0; + _sqlite3ExprListDelete($147,$148); STACKTOP = sp;return; } function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$pStart,$pPIWhere,$sortOrder,$ifNotExist) { @@ -112459,11 +113700,13 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ var $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0; var $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0; var $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0; - var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $iMem = 0, $j = 0, $k = 0, $n = 0, $n1 = 0, $nColl = 0, $nExtra = 0, $nExtraCol = 0, $nName = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $p = 0; - var $pCExpr = 0, $pCopy = 0, $pDb = 0, $pExpr = 0, $pIdx = 0, $pIndex = 0, $pListItem = 0, $pLoop = 0, $pName = 0, $pOther = 0, $pPk = 0, $pRet = 0, $pTab = 0, $prevCol = 0, $requestedSortOrder = 0, $sFix = 0, $sortOrderMask = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0; - var $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer33 = 0, $vararg_buffer41 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr22 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $x = 0, $z1 = 0; - var $z2 = 0, $zColl = 0, $zDb = 0, $zExtra = 0, $zName = 0, $zStmt = 0, label = 0, sp = 0; + var $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0; + var $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0; + var $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $db = 0, $i = 0, $iDb = 0, $iMem = 0, $j = 0, $k = 0, $n = 0, $n1 = 0, $nColl = 0, $nExtra = 0, $nExtraCol = 0, $nName = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $p = 0, $pCExpr = 0, $pCopy = 0, $pDb = 0; + var $pExpr = 0, $pIdx = 0, $pIndex = 0, $pListItem = 0, $pLoop = 0, $pName = 0, $pOther = 0, $pPk = 0, $pRet = 0, $pTab = 0, $prevCol = 0, $requestedSortOrder = 0, $sFix = 0, $sortOrderMask = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0; + var $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer33 = 0, $vararg_buffer41 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, $vararg_ptr22 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $x = 0, $z1 = 0, $z2 = 0, $zColl = 0, $zDb = 0; + var $zExtra = 0, $zName = 0, $zStmt = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 352|0; $vararg_buffer41 = sp + 112|0; @@ -112549,7 +113792,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$zExtra>>2] = 0; HEAP32[$pPk>>2] = 0; $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 65|0); + $13 = ((($12)) + 69|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = ($15|0)!=(0); @@ -112584,7 +113827,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $37 = HEAP32[$db>>2]|0; - $38 = ((($37)) + 140|0); + $38 = ((($37)) + 144|0); $39 = ((($38)) + 5|0); $40 = HEAP8[$39>>0]|0; $41 = ($40<<24>>24)!=(0); @@ -112619,7 +113862,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $61 = HEAP32[$0>>2]|0; $62 = HEAP32[$iDb>>2]|0; $63 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$61,$62,33970,$63); + _sqlite3FixInit($sFix,$61,$62,33671,$63); $64 = HEAP32[$3>>2]|0; (_sqlite3FixSrcList($sFix,$64)|0); $65 = HEAP32[$0>>2]|0; @@ -112651,7 +113894,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $85 = HEAP32[$pTab>>2]|0; $86 = HEAP32[$85>>2]|0; HEAP32[$vararg_buffer>>2] = $86; - _sqlite3ErrorMsg($84,37370,$vararg_buffer); + _sqlite3ErrorMsg($84,37023,$vararg_buffer); break; } } @@ -112690,11 +113933,11 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$pDb>>2] = $108; $109 = HEAP32[$pTab>>2]|0; $110 = HEAP32[$109>>2]|0; - $111 = (_sqlite3_strnicmp($110,28715,7)|0); + $111 = (_sqlite3_strnicmp($110,28440,7)|0); $112 = ($111|0)==(0); if ($112) { $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 140|0); + $114 = ((($113)) + 144|0); $115 = ((($114)) + 5|0); $116 = HEAP8[$115>>0]|0; $117 = $116&255; @@ -112703,14 +113946,14 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $119 = HEAP32[$pTab>>2]|0; $120 = HEAP32[$119>>2]|0; $121 = ((($120)) + 7|0); - $122 = (_sqlite3_strnicmp($121,37420,9)|0); + $122 = (_sqlite3_strnicmp($121,37073,9)|0); $123 = ($122|0)!=(0); if ($123) { $124 = HEAP32[$0>>2]|0; $125 = HEAP32[$pTab>>2]|0; $126 = HEAP32[$125>>2]|0; HEAP32[$vararg_buffer6>>2] = $126; - _sqlite3ErrorMsg($124,37430,$vararg_buffer6); + _sqlite3ErrorMsg($124,37083,$vararg_buffer6); break; } } @@ -112721,7 +113964,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $130 = ($129|0)!=(0|0); if ($130) { $131 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($131,37458,$vararg_buffer9); + _sqlite3ErrorMsg($131,37111,$vararg_buffer9); break; } $132 = HEAP32[$pTab>>2]|0; @@ -112732,7 +113975,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $137 = ($136|0)!=(0); if ($137) { $138 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($138,37483,$vararg_buffer11); + _sqlite3ErrorMsg($138,37136,$vararg_buffer11); break; } $139 = HEAP32[$pName>>2]|0; @@ -112755,7 +113998,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ break; } $150 = HEAP32[$db>>2]|0; - $151 = ((($150)) + 140|0); + $151 = ((($150)) + 144|0); $152 = ((($151)) + 5|0); $153 = HEAP8[$152>>0]|0; $154 = ($153<<24>>24)!=(0); @@ -112768,7 +114011,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $159 = HEAP32[$0>>2]|0; $160 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer13>>2] = $160; - _sqlite3ErrorMsg($159,37517,$vararg_buffer13); + _sqlite3ErrorMsg($159,37170,$vararg_buffer13); break; } } @@ -112789,7 +114032,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } else { $170 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer16>>2] = $170; - _sqlite3ErrorMsg($169,37551,$vararg_buffer16); + _sqlite3ErrorMsg($169,37204,$vararg_buffer16); break; } } @@ -112820,7 +114063,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ HEAP32[$vararg_buffer19>>2] = $184; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $185; - $186 = (_sqlite3MPrintf($182,37575,$vararg_buffer19)|0); + $186 = (_sqlite3MPrintf($182,37228,$vararg_buffer19)|0); HEAP32[$zName>>2] = $186; $187 = HEAP32[$zName>>2]|0; $188 = ($187|0)==(0|0); @@ -112834,7 +114077,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $191 = HEAP32[$0>>2]|0; $192 = HEAP32[$iDb>>2]|0; $193 = ($192|0)==(1); - $194 = $193 ? 20769 : 20788; + $194 = $193 ? 20513 : 20532; $195 = HEAP32[$zDb>>2]|0; $196 = (_sqlite3AuthCheck($191,18,$194,0,$195)|0); $197 = ($196|0)!=(0); @@ -112864,7 +114107,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $215 = HEAP32[$pTab>>2]|0; $216 = ((($215)) + 4|0); $217 = HEAP32[$216>>2]|0; - $218 = (($217) + (($214*24)|0)|0); + $218 = (($217) + ($214<<4)|0); $219 = HEAP32[$218>>2]|0; _sqlite3TokenInit($prevCol,$219); $220 = HEAP32[$0>>2]|0; @@ -112883,7 +114126,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } else { $228 = HEAP32[$0>>2]|0; $229 = HEAP32[$4>>2]|0; - _sqlite3ExprListCheckLength($228,$229,33970); + _sqlite3ExprListCheckLength($228,$229,33671); } HEAP32[$i>>2] = 0; while(1) { @@ -112947,7 +114190,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $272 = (_sqlite3AllocateIndexObject($262,$267,$271,$zExtra)|0); HEAP32[$pIndex>>2] = $272; $273 = HEAP32[$db>>2]|0; - $274 = ((($273)) + 65|0); + $274 = ((($273)) + 69|0); $275 = HEAP8[$274>>0]|0; $276 = ($275<<24>>24)!=(0); if (!($276)) { @@ -113099,7 +114342,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $384 = ((($383)) + 40|0); HEAP32[$384>>2] = $382; $385 = HEAP32[$db>>2]|0; - $386 = ((($385)) + 65|0); + $386 = ((($385)) + 69|0); $387 = HEAP8[$386>>0]|0; $388 = ($387<<24>>24)!=(0); if ($388) { @@ -113145,8 +114388,8 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $414 = HEAP32[$pTab>>2]|0; $415 = ((($414)) + 4|0); $416 = HEAP32[$415>>2]|0; - $417 = (($416) + (($413*24)|0)|0); - $418 = ((($417)) + 20|0); + $417 = (($416) + ($413<<4)|0); + $418 = ((($417)) + 12|0); $419 = HEAP8[$418>>0]|0; $420 = $419&255; $421 = ($420|0)==(0); @@ -113210,8 +114453,8 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $458 = HEAP32[$pTab>>2]|0; $459 = ((($458)) + 4|0); $460 = HEAP32[$459>>2]|0; - $461 = (($460) + (($457*24)|0)|0); - $462 = ((($461)) + 16|0); + $461 = (($460) + ($457<<4)|0); + $462 = ((($461)) + 8|0); $463 = HEAP32[$462>>2]|0; HEAP32[$zColl>>2] = $463; } @@ -113219,10 +114462,10 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $464 = HEAP32[$zColl>>2]|0; $465 = ($464|0)!=(0|0); if (!($465)) { - HEAP32[$zColl>>2] = 35690; + HEAP32[$zColl>>2] = 35343; } $466 = HEAP32[$db>>2]|0; - $467 = ((($466)) + 140|0); + $467 = ((($466)) + 144|0); $468 = ((($467)) + 5|0); $469 = HEAP8[$468>>0]|0; $470 = ($469<<24>>24)!=(0); @@ -113266,7 +114509,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } if ((label|0) == 65) { $374 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($374,37598,$vararg_buffer23); + _sqlite3ErrorMsg($374,37251,$vararg_buffer23); break; } $498 = HEAP32[$pPk>>2]|0; @@ -113361,7 +114604,7 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $567 = ((($566)) + 32|0); $568 = HEAP32[$567>>2]|0; $569 = (($568) + ($565<<2)|0); - HEAP32[$569>>2] = 35690; + HEAP32[$569>>2] = 35343; } } while(0); $570 = HEAP32[$pIndex>>2]|0; @@ -113374,431 +114617,487 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ $575 = HEAP32[$pIndex>>2]|0; _estimateIndexWidth($575); } - $576 = HEAP32[$pTab>>2]|0; - $577 = HEAP32[$0>>2]|0; - $578 = ((($577)) + 488|0); - $579 = HEAP32[$578>>2]|0; - $580 = ($576|0)==($579|0); + $576 = HEAP32[$3>>2]|0; + $577 = ($576|0)!=(0|0); L123: do { - if ($580) { - $581 = HEAP32[$pTab>>2]|0; - $582 = ((($581)) + 8|0); - $583 = HEAP32[$582>>2]|0; - HEAP32[$pIdx>>2] = $583; + if ($577) { + $578 = HEAP32[$pIndex>>2]|0; + $579 = ((($578)) + 52|0); + $580 = HEAP16[$579>>1]|0; + $581 = $580&65535; + $582 = HEAP32[$pTab>>2]|0; + $583 = ((($582)) + 34|0); + $584 = HEAP16[$583>>1]|0; + $585 = $584 << 16 >> 16; + $586 = ($581|0)>=($585|0); + if (!($586)) { + break; + } + $587 = HEAP32[$pIndex>>2]|0; + $588 = ((($587)) + 55|0); + $589 = HEAP8[$588>>0]|0; + $590 = $589 & -33; + $591 = $590 | 32; + HEAP8[$588>>0] = $591; + HEAP32[$j>>2] = 0; while(1) { - $584 = HEAP32[$pIdx>>2]|0; - $585 = ($584|0)!=(0|0); - if (!($585)) { + $592 = HEAP32[$j>>2]|0; + $593 = HEAP32[$pTab>>2]|0; + $594 = ((($593)) + 34|0); + $595 = HEAP16[$594>>1]|0; + $596 = $595 << 16 >> 16; + $597 = ($592|0)<($596|0); + if (!($597)) { break L123; } - $586 = HEAP32[$pIdx>>2]|0; - $587 = ((($586)) + 50|0); - $588 = HEAP16[$587>>1]|0; - $589 = $588&65535; - $590 = HEAP32[$pIndex>>2]|0; - $591 = ((($590)) + 50|0); - $592 = HEAP16[$591>>1]|0; - $593 = $592&65535; - $594 = ($589|0)!=($593|0); - if (!($594)) { + $598 = HEAP32[$j>>2]|0; + $599 = HEAP32[$pTab>>2]|0; + $600 = ((($599)) + 32|0); + $601 = HEAP16[$600>>1]|0; + $602 = $601 << 16 >> 16; + $603 = ($598|0)==($602|0); + if (!($603)) { + $604 = HEAP32[$pIndex>>2]|0; + $605 = HEAP32[$j>>2]|0; + $606 = $605&65535; + $607 = (_sqlite3ColumnOfIndex($604,$606)|0); + $608 = $607 << 16 >> 16; + $609 = ($608|0)>=(0); + if (!($609)) { + break; + } + } + $614 = HEAP32[$j>>2]|0; + $615 = (($614) + 1)|0; + HEAP32[$j>>2] = $615; + } + $610 = HEAP32[$pIndex>>2]|0; + $611 = ((($610)) + 55|0); + $612 = HEAP8[$611>>0]|0; + $613 = $612 & -33; + HEAP8[$611>>0] = $613; + } + } while(0); + $616 = HEAP32[$pTab>>2]|0; + $617 = HEAP32[$0>>2]|0; + $618 = ((($617)) + 488|0); + $619 = HEAP32[$618>>2]|0; + $620 = ($616|0)==($619|0); + L134: do { + if ($620) { + $621 = HEAP32[$pTab>>2]|0; + $622 = ((($621)) + 8|0); + $623 = HEAP32[$622>>2]|0; + HEAP32[$pIdx>>2] = $623; + while(1) { + $624 = HEAP32[$pIdx>>2]|0; + $625 = ($624|0)!=(0|0); + if (!($625)) { + break L134; + } + $626 = HEAP32[$pIdx>>2]|0; + $627 = ((($626)) + 50|0); + $628 = HEAP16[$627>>1]|0; + $629 = $628&65535; + $630 = HEAP32[$pIndex>>2]|0; + $631 = ((($630)) + 50|0); + $632 = HEAP16[$631>>1]|0; + $633 = $632&65535; + $634 = ($629|0)!=($633|0); + if (!($634)) { HEAP32[$k>>2] = 0; while(1) { - $595 = HEAP32[$k>>2]|0; - $596 = HEAP32[$pIdx>>2]|0; - $597 = ((($596)) + 50|0); - $598 = HEAP16[$597>>1]|0; - $599 = $598&65535; - $600 = ($595|0)<($599|0); - if (!($600)) { + $635 = HEAP32[$k>>2]|0; + $636 = HEAP32[$pIdx>>2]|0; + $637 = ((($636)) + 50|0); + $638 = HEAP16[$637>>1]|0; + $639 = $638&65535; + $640 = ($635|0)<($639|0); + if (!($640)) { break; } - $601 = HEAP32[$k>>2]|0; - $602 = HEAP32[$pIdx>>2]|0; - $603 = ((($602)) + 4|0); - $604 = HEAP32[$603>>2]|0; - $605 = (($604) + ($601<<1)|0); - $606 = HEAP16[$605>>1]|0; - $607 = $606 << 16 >> 16; - $608 = HEAP32[$k>>2]|0; - $609 = HEAP32[$pIndex>>2]|0; - $610 = ((($609)) + 4|0); - $611 = HEAP32[$610>>2]|0; - $612 = (($611) + ($608<<1)|0); - $613 = HEAP16[$612>>1]|0; - $614 = $613 << 16 >> 16; - $615 = ($607|0)!=($614|0); - if ($615) { + $641 = HEAP32[$k>>2]|0; + $642 = HEAP32[$pIdx>>2]|0; + $643 = ((($642)) + 4|0); + $644 = HEAP32[$643>>2]|0; + $645 = (($644) + ($641<<1)|0); + $646 = HEAP16[$645>>1]|0; + $647 = $646 << 16 >> 16; + $648 = HEAP32[$k>>2]|0; + $649 = HEAP32[$pIndex>>2]|0; + $650 = ((($649)) + 4|0); + $651 = HEAP32[$650>>2]|0; + $652 = (($651) + ($648<<1)|0); + $653 = HEAP16[$652>>1]|0; + $654 = $653 << 16 >> 16; + $655 = ($647|0)!=($654|0); + if ($655) { break; } - $616 = HEAP32[$k>>2]|0; - $617 = HEAP32[$pIdx>>2]|0; - $618 = ((($617)) + 32|0); - $619 = HEAP32[$618>>2]|0; - $620 = (($619) + ($616<<2)|0); - $621 = HEAP32[$620>>2]|0; - HEAP32[$z1>>2] = $621; - $622 = HEAP32[$k>>2]|0; - $623 = HEAP32[$pIndex>>2]|0; - $624 = ((($623)) + 32|0); - $625 = HEAP32[$624>>2]|0; - $626 = (($625) + ($622<<2)|0); - $627 = HEAP32[$626>>2]|0; - HEAP32[$z2>>2] = $627; - $628 = HEAP32[$z1>>2]|0; - $629 = HEAP32[$z2>>2]|0; - $630 = ($628|0)!=($629|0); - if ($630) { - $631 = HEAP32[$z1>>2]|0; - $632 = HEAP32[$z2>>2]|0; - $633 = (_sqlite3_stricmp($631,$632)|0); - $634 = ($633|0)!=(0); - if ($634) { - break; - } + $656 = HEAP32[$k>>2]|0; + $657 = HEAP32[$pIdx>>2]|0; + $658 = ((($657)) + 32|0); + $659 = HEAP32[$658>>2]|0; + $660 = (($659) + ($656<<2)|0); + $661 = HEAP32[$660>>2]|0; + HEAP32[$z1>>2] = $661; + $662 = HEAP32[$k>>2]|0; + $663 = HEAP32[$pIndex>>2]|0; + $664 = ((($663)) + 32|0); + $665 = HEAP32[$664>>2]|0; + $666 = (($665) + ($662<<2)|0); + $667 = HEAP32[$666>>2]|0; + HEAP32[$z2>>2] = $667; + $668 = HEAP32[$z1>>2]|0; + $669 = HEAP32[$z2>>2]|0; + $670 = (_sqlite3StrICmp($668,$669)|0); + $671 = ($670|0)!=(0); + if ($671) { + break; } - $635 = HEAP32[$k>>2]|0; - $636 = (($635) + 1)|0; - HEAP32[$k>>2] = $636; + $672 = HEAP32[$k>>2]|0; + $673 = (($672) + 1)|0; + HEAP32[$k>>2] = $673; } - $637 = HEAP32[$k>>2]|0; - $638 = HEAP32[$pIdx>>2]|0; - $639 = ((($638)) + 50|0); - $640 = HEAP16[$639>>1]|0; - $641 = $640&65535; - $642 = ($637|0)==($641|0); - if ($642) { + $674 = HEAP32[$k>>2]|0; + $675 = HEAP32[$pIdx>>2]|0; + $676 = ((($675)) + 50|0); + $677 = HEAP16[$676>>1]|0; + $678 = $677&65535; + $679 = ($674|0)==($678|0); + if ($679) { break; } } - $674 = HEAP32[$pIdx>>2]|0; - $675 = ((($674)) + 20|0); - $676 = HEAP32[$675>>2]|0; - HEAP32[$pIdx>>2] = $676; + $711 = HEAP32[$pIdx>>2]|0; + $712 = ((($711)) + 20|0); + $713 = HEAP32[$712>>2]|0; + HEAP32[$pIdx>>2] = $713; } - $643 = HEAP32[$pIdx>>2]|0; - $644 = ((($643)) + 54|0); - $645 = HEAP8[$644>>0]|0; - $646 = $645&255; - $647 = HEAP32[$pIndex>>2]|0; - $648 = ((($647)) + 54|0); - $649 = HEAP8[$648>>0]|0; - $650 = $649&255; - $651 = ($646|0)!=($650|0); + $680 = HEAP32[$pIdx>>2]|0; + $681 = ((($680)) + 54|0); + $682 = HEAP8[$681>>0]|0; + $683 = $682&255; + $684 = HEAP32[$pIndex>>2]|0; + $685 = ((($684)) + 54|0); + $686 = HEAP8[$685>>0]|0; + $687 = $686&255; + $688 = ($683|0)!=($687|0); do { - if ($651) { - $652 = HEAP32[$pIdx>>2]|0; - $653 = ((($652)) + 54|0); - $654 = HEAP8[$653>>0]|0; - $655 = $654&255; - $656 = ($655|0)==(10); + if ($688) { + $689 = HEAP32[$pIdx>>2]|0; + $690 = ((($689)) + 54|0); + $691 = HEAP8[$690>>0]|0; + $692 = $691&255; + $693 = ($692|0)==(10); do { - if (!($656)) { - $657 = HEAP32[$pIndex>>2]|0; - $658 = ((($657)) + 54|0); - $659 = HEAP8[$658>>0]|0; - $660 = $659&255; - $661 = ($660|0)==(10); - if ($661) { + if (!($693)) { + $694 = HEAP32[$pIndex>>2]|0; + $695 = ((($694)) + 54|0); + $696 = HEAP8[$695>>0]|0; + $697 = $696&255; + $698 = ($697|0)==(10); + if ($698) { break; } - $662 = HEAP32[$0>>2]|0; + $699 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer25>>2] = 0; - _sqlite3ErrorMsg($662,37659,$vararg_buffer25); + _sqlite3ErrorMsg($699,37312,$vararg_buffer25); } } while(0); - $663 = HEAP32[$pIdx>>2]|0; - $664 = ((($663)) + 54|0); - $665 = HEAP8[$664>>0]|0; - $666 = $665&255; - $667 = ($666|0)==(10); - if (!($667)) { + $700 = HEAP32[$pIdx>>2]|0; + $701 = ((($700)) + 54|0); + $702 = HEAP8[$701>>0]|0; + $703 = $702&255; + $704 = ($703|0)==(10); + if (!($704)) { break; } - $668 = HEAP32[$pIndex>>2]|0; - $669 = ((($668)) + 54|0); - $670 = HEAP8[$669>>0]|0; - $671 = HEAP32[$pIdx>>2]|0; - $672 = ((($671)) + 54|0); - HEAP8[$672>>0] = $670; + $705 = HEAP32[$pIndex>>2]|0; + $706 = ((($705)) + 54|0); + $707 = HEAP8[$706>>0]|0; + $708 = HEAP32[$pIdx>>2]|0; + $709 = ((($708)) + 54|0); + HEAP8[$709>>0] = $707; } } while(0); - $673 = HEAP32[$pIdx>>2]|0; - HEAP32[$pRet>>2] = $673; + $710 = HEAP32[$pIdx>>2]|0; + HEAP32[$pRet>>2] = $710; break L1; } } while(0); - $677 = HEAP32[$db>>2]|0; - $678 = ((($677)) + 140|0); - $679 = ((($678)) + 5|0); - $680 = HEAP8[$679>>0]|0; - $681 = ($680<<24>>24)!=(0); + $714 = HEAP32[$db>>2]|0; + $715 = ((($714)) + 144|0); + $716 = ((($715)) + 5|0); + $717 = HEAP8[$716>>0]|0; + $718 = ($717<<24>>24)!=(0); do { - if ($681) { - $682 = HEAP32[$pIndex>>2]|0; - $683 = ((($682)) + 24|0); - $684 = HEAP32[$683>>2]|0; - $685 = ((($684)) + 24|0); - $686 = HEAP32[$pIndex>>2]|0; - $687 = HEAP32[$686>>2]|0; - $688 = HEAP32[$pIndex>>2]|0; - $689 = (_sqlite3HashInsert($685,$687,$688)|0); - HEAP32[$p>>2] = $689; - $690 = HEAP32[$p>>2]|0; - $691 = ($690|0)!=(0|0); - $692 = HEAP32[$db>>2]|0; - if ($691) { - _sqlite3OomFault($692); + if ($718) { + $719 = HEAP32[$pIndex>>2]|0; + $720 = ((($719)) + 24|0); + $721 = HEAP32[$720>>2]|0; + $722 = ((($721)) + 24|0); + $723 = HEAP32[$pIndex>>2]|0; + $724 = HEAP32[$723>>2]|0; + $725 = HEAP32[$pIndex>>2]|0; + $726 = (_sqlite3HashInsert($722,$724,$725)|0); + HEAP32[$p>>2] = $726; + $727 = HEAP32[$p>>2]|0; + $728 = ($727|0)!=(0|0); + $729 = HEAP32[$db>>2]|0; + if ($728) { + _sqlite3OomFault($729); break L1; } - $693 = ((($692)) + 24|0); - $694 = HEAP32[$693>>2]|0; - $695 = $694 | 2; - HEAP32[$693>>2] = $695; - $696 = HEAP32[$3>>2]|0; - $697 = ($696|0)!=(0|0); - if (!($697)) { + $730 = ((($729)) + 24|0); + $731 = HEAP32[$730>>2]|0; + $732 = $731 | 2; + HEAP32[$730>>2] = $732; + $733 = HEAP32[$3>>2]|0; + $734 = ($733|0)!=(0|0); + if (!($734)) { break; } - $698 = HEAP32[$db>>2]|0; - $699 = ((($698)) + 140|0); - $700 = HEAP32[$699>>2]|0; - $701 = HEAP32[$pIndex>>2]|0; - $702 = ((($701)) + 44|0); - HEAP32[$702>>2] = $700; + $735 = HEAP32[$db>>2]|0; + $736 = ((($735)) + 144|0); + $737 = HEAP32[$736>>2]|0; + $738 = HEAP32[$pIndex>>2]|0; + $739 = ((($738)) + 44|0); + HEAP32[$739>>2] = $737; } else { - $703 = HEAP32[$pTab>>2]|0; - $704 = ((($703)) + 42|0); - $705 = HEAP8[$704>>0]|0; - $706 = $705&255; - $707 = $706 & 32; - $708 = ($707|0)==(0); - $709 = HEAP32[$3>>2]|0; - $710 = ($709|0)!=(0|0); - $or$cond3 = $708 | $710; + $740 = HEAP32[$pTab>>2]|0; + $741 = ((($740)) + 42|0); + $742 = HEAP8[$741>>0]|0; + $743 = $742&255; + $744 = $743 & 32; + $745 = ($744|0)==(0); + $746 = HEAP32[$3>>2]|0; + $747 = ($746|0)!=(0|0); + $or$cond3 = $745 | $747; if (!($or$cond3)) { break; } - $711 = HEAP32[$0>>2]|0; - $712 = ((($711)) + 76|0); - $713 = HEAP32[$712>>2]|0; - $714 = (($713) + 1)|0; - HEAP32[$712>>2] = $714; - HEAP32[$iMem>>2] = $714; - $715 = HEAP32[$0>>2]|0; - $716 = (_sqlite3GetVdbe($715)|0); - HEAP32[$v>>2] = $716; - $717 = HEAP32[$v>>2]|0; - $718 = ($717|0)==(0|0); - if ($718) { + $748 = HEAP32[$0>>2]|0; + $749 = ((($748)) + 76|0); + $750 = HEAP32[$749>>2]|0; + $751 = (($750) + 1)|0; + HEAP32[$749>>2] = $751; + HEAP32[$iMem>>2] = $751; + $752 = HEAP32[$0>>2]|0; + $753 = (_sqlite3GetVdbe($752)|0); + HEAP32[$v>>2] = $753; + $754 = HEAP32[$v>>2]|0; + $755 = ($754|0)==(0|0); + if ($755) { break L1; } - $719 = HEAP32[$0>>2]|0; - $720 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($719,1,$720); - $721 = HEAP32[$v>>2]|0; - $722 = (_sqlite3VdbeAddOp0($721,160)|0); - $723 = HEAP32[$pIndex>>2]|0; - $724 = ((($723)) + 44|0); - HEAP32[$724>>2] = $722; - $725 = HEAP32[$v>>2]|0; - $726 = HEAP32[$iDb>>2]|0; - $727 = HEAP32[$iMem>>2]|0; - (_sqlite3VdbeAddOp2($725,121,$726,$727)|0); - $728 = HEAP32[$6>>2]|0; - $729 = ($728|0)!=(0|0); - if ($729) { - $730 = HEAP32[$0>>2]|0; - $731 = ((($730)) + 508|0); - $732 = HEAP32[$731>>2]|0; - $733 = HEAP32[$pName>>2]|0; - $734 = HEAP32[$733>>2]|0; - $735 = $732; - $736 = $734; - $737 = (($735) - ($736))|0; - $738 = HEAP32[$0>>2]|0; - $739 = ((($738)) + 508|0); - $740 = ((($739)) + 4|0); - $741 = HEAP32[$740>>2]|0; - $742 = (($737) + ($741))|0; - HEAP32[$n1>>2] = $742; - $743 = HEAP32[$n1>>2]|0; - $744 = (($743) - 1)|0; - $745 = HEAP32[$pName>>2]|0; - $746 = HEAP32[$745>>2]|0; - $747 = (($746) + ($744)|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748 << 24 >> 24; - $750 = ($749|0)==(59); - if ($750) { - $751 = HEAP32[$n1>>2]|0; - $752 = (($751) + -1)|0; - HEAP32[$n1>>2] = $752; + $756 = HEAP32[$0>>2]|0; + $757 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($756,1,$757); + $758 = HEAP32[$v>>2]|0; + $759 = (_sqlite3VdbeAddOp0($758,160)|0); + $760 = HEAP32[$pIndex>>2]|0; + $761 = ((($760)) + 44|0); + HEAP32[$761>>2] = $759; + $762 = HEAP32[$v>>2]|0; + $763 = HEAP32[$iDb>>2]|0; + $764 = HEAP32[$iMem>>2]|0; + (_sqlite3VdbeAddOp2($762,121,$763,$764)|0); + $765 = HEAP32[$6>>2]|0; + $766 = ($765|0)!=(0|0); + if ($766) { + $767 = HEAP32[$0>>2]|0; + $768 = ((($767)) + 508|0); + $769 = HEAP32[$768>>2]|0; + $770 = HEAP32[$pName>>2]|0; + $771 = HEAP32[$770>>2]|0; + $772 = $769; + $773 = $771; + $774 = (($772) - ($773))|0; + $775 = HEAP32[$0>>2]|0; + $776 = ((($775)) + 508|0); + $777 = ((($776)) + 4|0); + $778 = HEAP32[$777>>2]|0; + $779 = (($774) + ($778))|0; + HEAP32[$n1>>2] = $779; + $780 = HEAP32[$n1>>2]|0; + $781 = (($780) - 1)|0; + $782 = HEAP32[$pName>>2]|0; + $783 = HEAP32[$782>>2]|0; + $784 = (($783) + ($781)|0); + $785 = HEAP8[$784>>0]|0; + $786 = $785 << 24 >> 24; + $787 = ($786|0)==(59); + if ($787) { + $788 = HEAP32[$n1>>2]|0; + $789 = (($788) + -1)|0; + HEAP32[$n1>>2] = $789; } - $753 = HEAP32[$db>>2]|0; - $754 = HEAP32[$5>>2]|0; - $755 = ($754|0)==(0); - $756 = $755 ? 19266 : 37701; - $757 = HEAP32[$n1>>2]|0; - $758 = HEAP32[$pName>>2]|0; - $759 = HEAP32[$758>>2]|0; - HEAP32[$vararg_buffer28>>2] = $756; + $790 = HEAP32[$db>>2]|0; + $791 = HEAP32[$5>>2]|0; + $792 = ($791|0)==(0); + $793 = $792 ? 19010 : 37354; + $794 = HEAP32[$n1>>2]|0; + $795 = HEAP32[$pName>>2]|0; + $796 = HEAP32[$795>>2]|0; + HEAP32[$vararg_buffer28>>2] = $793; $vararg_ptr31 = ((($vararg_buffer28)) + 4|0); - HEAP32[$vararg_ptr31>>2] = $757; + HEAP32[$vararg_ptr31>>2] = $794; $vararg_ptr32 = ((($vararg_buffer28)) + 8|0); - HEAP32[$vararg_ptr32>>2] = $759; - $760 = (_sqlite3MPrintf($753,37709,$vararg_buffer28)|0); - HEAP32[$zStmt>>2] = $760; + HEAP32[$vararg_ptr32>>2] = $796; + $797 = (_sqlite3MPrintf($790,37362,$vararg_buffer28)|0); + HEAP32[$zStmt>>2] = $797; } else { HEAP32[$zStmt>>2] = 0; } - $761 = HEAP32[$0>>2]|0; - $762 = HEAP32[$iDb>>2]|0; - $763 = HEAP32[$db>>2]|0; - $764 = ((($763)) + 16|0); - $765 = HEAP32[$764>>2]|0; - $766 = (($765) + ($762<<4)|0); - $767 = HEAP32[$766>>2]|0; - $768 = HEAP32[$iDb>>2]|0; - $769 = ($768|0)==(1); - $770 = $769 ? 20769 : 20788; - $771 = HEAP32[$pIndex>>2]|0; - $772 = HEAP32[$771>>2]|0; - $773 = HEAP32[$pTab>>2]|0; - $774 = HEAP32[$773>>2]|0; - $775 = HEAP32[$iMem>>2]|0; - $776 = HEAP32[$zStmt>>2]|0; - HEAP32[$vararg_buffer33>>2] = $767; + $798 = HEAP32[$0>>2]|0; + $799 = HEAP32[$iDb>>2]|0; + $800 = HEAP32[$db>>2]|0; + $801 = ((($800)) + 16|0); + $802 = HEAP32[$801>>2]|0; + $803 = (($802) + ($799<<4)|0); + $804 = HEAP32[$803>>2]|0; + $805 = HEAP32[$iDb>>2]|0; + $806 = ($805|0)==(1); + $807 = $806 ? 20513 : 20532; + $808 = HEAP32[$pIndex>>2]|0; + $809 = HEAP32[$808>>2]|0; + $810 = HEAP32[$pTab>>2]|0; + $811 = HEAP32[$810>>2]|0; + $812 = HEAP32[$iMem>>2]|0; + $813 = HEAP32[$zStmt>>2]|0; + HEAP32[$vararg_buffer33>>2] = $804; $vararg_ptr36 = ((($vararg_buffer33)) + 4|0); - HEAP32[$vararg_ptr36>>2] = $770; + HEAP32[$vararg_ptr36>>2] = $807; $vararg_ptr37 = ((($vararg_buffer33)) + 8|0); - HEAP32[$vararg_ptr37>>2] = $772; + HEAP32[$vararg_ptr37>>2] = $809; $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); - HEAP32[$vararg_ptr38>>2] = $774; + HEAP32[$vararg_ptr38>>2] = $811; $vararg_ptr39 = ((($vararg_buffer33)) + 16|0); - HEAP32[$vararg_ptr39>>2] = $775; + HEAP32[$vararg_ptr39>>2] = $812; $vararg_ptr40 = ((($vararg_buffer33)) + 20|0); - HEAP32[$vararg_ptr40>>2] = $776; - _sqlite3NestedParse($761,37729,$vararg_buffer33); - $777 = HEAP32[$db>>2]|0; - $778 = HEAP32[$zStmt>>2]|0; - _sqlite3DbFree($777,$778); - $779 = HEAP32[$3>>2]|0; - $780 = ($779|0)!=(0|0); - if ($780) { - $781 = HEAP32[$0>>2]|0; - $782 = HEAP32[$pIndex>>2]|0; - $783 = HEAP32[$iMem>>2]|0; - _sqlite3RefillIndex($781,$782,$783); - $784 = HEAP32[$0>>2]|0; - $785 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($784,$785); - $786 = HEAP32[$v>>2]|0; - $787 = HEAP32[$iDb>>2]|0; - $788 = HEAP32[$db>>2]|0; - $789 = HEAP32[$pIndex>>2]|0; - $790 = HEAP32[$789>>2]|0; - HEAP32[$vararg_buffer41>>2] = $790; - $791 = (_sqlite3MPrintf($788,37777,$vararg_buffer41)|0); - _sqlite3VdbeAddParseSchemaOp($786,$787,$791); - $792 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp1($792,147,0)|0); + HEAP32[$vararg_ptr40>>2] = $813; + _sqlite3NestedParse($798,37382,$vararg_buffer33); + $814 = HEAP32[$db>>2]|0; + $815 = HEAP32[$zStmt>>2]|0; + _sqlite3DbFree($814,$815); + $816 = HEAP32[$3>>2]|0; + $817 = ($816|0)!=(0|0); + if ($817) { + $818 = HEAP32[$0>>2]|0; + $819 = HEAP32[$pIndex>>2]|0; + $820 = HEAP32[$iMem>>2]|0; + _sqlite3RefillIndex($818,$819,$820); + $821 = HEAP32[$0>>2]|0; + $822 = HEAP32[$iDb>>2]|0; + _sqlite3ChangeCookie($821,$822); + $823 = HEAP32[$v>>2]|0; + $824 = HEAP32[$iDb>>2]|0; + $825 = HEAP32[$db>>2]|0; + $826 = HEAP32[$pIndex>>2]|0; + $827 = HEAP32[$826>>2]|0; + HEAP32[$vararg_buffer41>>2] = $827; + $828 = (_sqlite3MPrintf($825,37430,$vararg_buffer41)|0); + _sqlite3VdbeAddParseSchemaOp($823,$824,$828); + $829 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp1($829,147,0)|0); } - $793 = HEAP32[$v>>2]|0; - $794 = HEAP32[$pIndex>>2]|0; - $795 = ((($794)) + 44|0); - $796 = HEAP32[$795>>2]|0; - _sqlite3VdbeJumpHere($793,$796); + $830 = HEAP32[$v>>2]|0; + $831 = HEAP32[$pIndex>>2]|0; + $832 = ((($831)) + 44|0); + $833 = HEAP32[$832>>2]|0; + _sqlite3VdbeJumpHere($830,$833); } } while(0); - $797 = HEAP32[$db>>2]|0; - $798 = ((($797)) + 140|0); - $799 = ((($798)) + 5|0); - $800 = HEAP8[$799>>0]|0; - $801 = $800&255; - $802 = ($801|0)!=(0); - $803 = HEAP32[$3>>2]|0; - $804 = ($803|0)==(0|0); - $or$cond5 = $802 | $804; + $834 = HEAP32[$db>>2]|0; + $835 = ((($834)) + 144|0); + $836 = ((($835)) + 5|0); + $837 = HEAP8[$836>>0]|0; + $838 = $837&255; + $839 = ($838|0)!=(0); + $840 = HEAP32[$3>>2]|0; + $841 = ($840|0)==(0|0); + $or$cond5 = $839 | $841; if (!($or$cond5)) { break; } - $805 = HEAP32[$5>>2]|0; - $806 = ($805|0)!=(5); + $842 = HEAP32[$5>>2]|0; + $843 = ($842|0)!=(5); do { - if ($806) { - label = 132; + if ($843) { + label = 139; } else { - $807 = HEAP32[$pTab>>2]|0; - $808 = ((($807)) + 8|0); - $809 = HEAP32[$808>>2]|0; - $810 = ($809|0)==(0|0); - if ($810) { - label = 132; + $844 = HEAP32[$pTab>>2]|0; + $845 = ((($844)) + 8|0); + $846 = HEAP32[$845>>2]|0; + $847 = ($846|0)==(0|0); + if ($847) { + label = 139; break; } - $811 = HEAP32[$pTab>>2]|0; - $812 = ((($811)) + 8|0); - $813 = HEAP32[$812>>2]|0; - $814 = ((($813)) + 54|0); - $815 = HEAP8[$814>>0]|0; - $816 = $815&255; - $817 = ($816|0)==(5); - if ($817) { - label = 132; + $848 = HEAP32[$pTab>>2]|0; + $849 = ((($848)) + 8|0); + $850 = HEAP32[$849>>2]|0; + $851 = ((($850)) + 54|0); + $852 = HEAP8[$851>>0]|0; + $853 = $852&255; + $854 = ($853|0)==(5); + if ($854) { + label = 139; break; } - $826 = HEAP32[$pTab>>2]|0; - $827 = ((($826)) + 8|0); - $828 = HEAP32[$827>>2]|0; - HEAP32[$pOther>>2] = $828; + $863 = HEAP32[$pTab>>2]|0; + $864 = ((($863)) + 8|0); + $865 = HEAP32[$864>>2]|0; + HEAP32[$pOther>>2] = $865; while(1) { - $829 = HEAP32[$pOther>>2]|0; - $830 = ((($829)) + 20|0); - $831 = HEAP32[$830>>2]|0; - $832 = ($831|0)!=(0|0); - if ($832) { - $833 = HEAP32[$pOther>>2]|0; - $834 = ((($833)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = ((($835)) + 54|0); - $837 = HEAP8[$836>>0]|0; - $838 = $837&255; - $839 = ($838|0)!=(5); - $862 = $839; + $866 = HEAP32[$pOther>>2]|0; + $867 = ((($866)) + 20|0); + $868 = HEAP32[$867>>2]|0; + $869 = ($868|0)!=(0|0); + if ($869) { + $870 = HEAP32[$pOther>>2]|0; + $871 = ((($870)) + 20|0); + $872 = HEAP32[$871>>2]|0; + $873 = ((($872)) + 54|0); + $874 = HEAP8[$873>>0]|0; + $875 = $874&255; + $876 = ($875|0)!=(5); + $899 = $876; } else { - $862 = 0; + $899 = 0; } - $840 = HEAP32[$pOther>>2]|0; - $841 = ((($840)) + 20|0); - $842 = HEAP32[$841>>2]|0; - if (!($862)) { + $877 = HEAP32[$pOther>>2]|0; + $878 = ((($877)) + 20|0); + $879 = HEAP32[$878>>2]|0; + if (!($899)) { break; } - HEAP32[$pOther>>2] = $842; + HEAP32[$pOther>>2] = $879; } - $843 = HEAP32[$pIndex>>2]|0; - $844 = ((($843)) + 20|0); - HEAP32[$844>>2] = $842; - $845 = HEAP32[$pIndex>>2]|0; - $846 = HEAP32[$pOther>>2]|0; - $847 = ((($846)) + 20|0); - HEAP32[$847>>2] = $845; + $880 = HEAP32[$pIndex>>2]|0; + $881 = ((($880)) + 20|0); + HEAP32[$881>>2] = $879; + $882 = HEAP32[$pIndex>>2]|0; + $883 = HEAP32[$pOther>>2]|0; + $884 = ((($883)) + 20|0); + HEAP32[$884>>2] = $882; } } while(0); - if ((label|0) == 132) { - $818 = HEAP32[$pTab>>2]|0; - $819 = ((($818)) + 8|0); - $820 = HEAP32[$819>>2]|0; - $821 = HEAP32[$pIndex>>2]|0; - $822 = ((($821)) + 20|0); - HEAP32[$822>>2] = $820; - $823 = HEAP32[$pIndex>>2]|0; - $824 = HEAP32[$pTab>>2]|0; - $825 = ((($824)) + 8|0); - HEAP32[$825>>2] = $823; + if ((label|0) == 139) { + $855 = HEAP32[$pTab>>2]|0; + $856 = ((($855)) + 8|0); + $857 = HEAP32[$856>>2]|0; + $858 = HEAP32[$pIndex>>2]|0; + $859 = ((($858)) + 20|0); + HEAP32[$859>>2] = $857; + $860 = HEAP32[$pIndex>>2]|0; + $861 = HEAP32[$pTab>>2]|0; + $862 = ((($861)) + 8|0); + HEAP32[$862>>2] = $860; } - $848 = HEAP32[$pIndex>>2]|0; - HEAP32[$pRet>>2] = $848; + $885 = HEAP32[$pIndex>>2]|0; + HEAP32[$pRet>>2] = $885; HEAP32[$pIndex>>2] = 0; } } @@ -113808,41 +115107,41 @@ function _sqlite3CreateIndex($pParse,$pName1,$pName2,$pTblName,$pList,$onError,$ } } } while(0); - $849 = HEAP32[$pIndex>>2]|0; - $850 = ($849|0)!=(0|0); - if (!($850)) { - $853 = HEAP32[$db>>2]|0; - $854 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($853,$854); - $855 = HEAP32[$db>>2]|0; - $856 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($855,$856); - $857 = HEAP32[$db>>2]|0; - $858 = HEAP32[$3>>2]|0; - _sqlite3SrcListDelete($857,$858); - $859 = HEAP32[$db>>2]|0; - $860 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($859,$860); - $861 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($861|0); - } - $851 = HEAP32[$db>>2]|0; - $852 = HEAP32[$pIndex>>2]|0; - _freeIndex($851,$852); - $853 = HEAP32[$db>>2]|0; - $854 = HEAP32[$7>>2]|0; - _sqlite3ExprDelete($853,$854); - $855 = HEAP32[$db>>2]|0; - $856 = HEAP32[$4>>2]|0; - _sqlite3ExprListDelete($855,$856); - $857 = HEAP32[$db>>2]|0; - $858 = HEAP32[$3>>2]|0; - _sqlite3SrcListDelete($857,$858); - $859 = HEAP32[$db>>2]|0; - $860 = HEAP32[$zName>>2]|0; - _sqlite3DbFree($859,$860); - $861 = HEAP32[$pRet>>2]|0; - STACKTOP = sp;return ($861|0); + $886 = HEAP32[$pIndex>>2]|0; + $887 = ($886|0)!=(0|0); + if (!($887)) { + $890 = HEAP32[$db>>2]|0; + $891 = HEAP32[$7>>2]|0; + _sqlite3ExprDelete($890,$891); + $892 = HEAP32[$db>>2]|0; + $893 = HEAP32[$4>>2]|0; + _sqlite3ExprListDelete($892,$893); + $894 = HEAP32[$db>>2]|0; + $895 = HEAP32[$3>>2]|0; + _sqlite3SrcListDelete($894,$895); + $896 = HEAP32[$db>>2]|0; + $897 = HEAP32[$zName>>2]|0; + _sqlite3DbFree($896,$897); + $898 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($898|0); + } + $888 = HEAP32[$db>>2]|0; + $889 = HEAP32[$pIndex>>2]|0; + _freeIndex($888,$889); + $890 = HEAP32[$db>>2]|0; + $891 = HEAP32[$7>>2]|0; + _sqlite3ExprDelete($890,$891); + $892 = HEAP32[$db>>2]|0; + $893 = HEAP32[$4>>2]|0; + _sqlite3ExprListDelete($892,$893); + $894 = HEAP32[$db>>2]|0; + $895 = HEAP32[$3>>2]|0; + _sqlite3SrcListDelete($894,$895); + $896 = HEAP32[$db>>2]|0; + $897 = HEAP32[$zName>>2]|0; + _sqlite3DbFree($896,$897); + $898 = HEAP32[$pRet>>2]|0; + STACKTOP = sp;return ($898|0); } function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $pParse = $pParse|0; @@ -113874,7 +115173,7 @@ function _sqlite3AddCheckConstraint($pParse,$pCheckExpr) { $12 = ($11<<24>>24)!=(0); if (!($12)) { $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 140|0); + $14 = ((($13)) + 144|0); $15 = ((($14)) + 4|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; @@ -114011,13 +115310,13 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $33 = HEAP32[$p>>2]|0; $34 = ((($33)) + 4|0); $35 = HEAP32[$34>>2]|0; - $36 = (($35) + (($32*24)|0)|0); + $36 = (($35) + ($32<<4)|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $37; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $38; - _sqlite3ErrorMsg($31,37167,$vararg_buffer); + _sqlite3ErrorMsg($31,36820,$vararg_buffer); break; } } @@ -114033,7 +115332,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $45 = ($42|0)!=($44|0); if ($45) { $46 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($46,37230,$vararg_buffer2); + _sqlite3ErrorMsg($46,36883,$vararg_buffer2); break; } } @@ -114171,7 +115470,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $138 = HEAP32[$p>>2]|0; $139 = ((($138)) + 4|0); $140 = HEAP32[$139>>2]|0; - $141 = (($140) + (($137*24)|0)|0); + $141 = (($140) + ($137<<4)|0); $142 = HEAP32[$141>>2]|0; $143 = HEAP32[$i>>2]|0; $144 = HEAP32[$1>>2]|0; @@ -114180,7 +115479,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $147 = (($146) + (($143*20)|0)|0); $148 = ((($147)) + 4|0); $149 = HEAP32[$148>>2]|0; - $150 = (_sqlite3_stricmp($142,$149)|0); + $150 = (_sqlite3StrICmp($142,$149)|0); $151 = ($150|0)==(0); $152 = HEAP32[$j>>2]|0; if ($151) { @@ -114220,7 +115519,7 @@ function _sqlite3CreateForeignKey($pParse,$pFromCol,$pTo,$pToCol,$flags) { $170 = ((($169)) + 4|0); $171 = HEAP32[$170>>2]|0; HEAP32[$vararg_buffer4>>2] = $171; - _sqlite3ErrorMsg($164,37324,$vararg_buffer4); + _sqlite3ErrorMsg($164,36977,$vararg_buffer4); break L1; } } while(0); @@ -114437,8 +115736,8 @@ function _sqlite3AddCollateType($pParse,$pToken) { $24 = HEAP32[$p>>2]|0; $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; - $27 = (($26) + (($23*24)|0)|0); - $28 = ((($27)) + 16|0); + $27 = (($26) + ($23<<4)|0); + $28 = ((($27)) + 8|0); $29 = HEAP32[$28>>2]|0; _sqlite3DbFree($22,$29); $30 = HEAP32[$zColl>>2]|0; @@ -114446,8 +115745,8 @@ function _sqlite3AddCollateType($pParse,$pToken) { $32 = HEAP32[$p>>2]|0; $33 = ((($32)) + 4|0); $34 = HEAP32[$33>>2]|0; - $35 = (($34) + (($31*24)|0)|0); - $36 = ((($35)) + 16|0); + $35 = (($34) + ($31<<4)|0); + $36 = ((($35)) + 8|0); HEAP32[$36>>2] = $30; $37 = HEAP32[$p>>2]|0; $38 = ((($37)) + 8|0); @@ -114471,8 +115770,8 @@ function _sqlite3AddCollateType($pParse,$pToken) { $50 = HEAP32[$p>>2]|0; $51 = ((($50)) + 4|0); $52 = HEAP32[$51>>2]|0; - $53 = (($52) + (($49*24)|0)|0); - $54 = ((($53)) + 16|0); + $53 = (($52) + ($49<<4)|0); + $54 = ((($53)) + 8|0); $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$pIdx>>2]|0; $57 = ((($56)) + 32|0); @@ -114525,7 +115824,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 65|0); + $7 = ((($6)) + 69|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)!=(0); do { @@ -114538,7 +115837,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $14 = ($13|0)!=(0); if ($14) { $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 69|0); + $16 = ((($15)) + 73|0); $17 = HEAP8[$16>>0]|0; $18 = (($17) + 1)<<24>>24; HEAP8[$16>>0] = $18; @@ -114553,7 +115852,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $25 = ($24|0)!=(0); if ($25) { $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 69|0); + $27 = ((($26)) + 73|0); $28 = HEAP8[$27>>0]|0; $29 = (($28) + -1)<<24>>24; HEAP8[$27>>0] = $29; @@ -114597,7 +115896,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { } $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 20769 : 20788; + $56 = $55 ? 20513 : 20532; HEAP32[$zTab>>2] = $56; $57 = HEAP32[$iDb>>2]|0; $58 = HEAP32[$db>>2]|0; @@ -114674,19 +115973,19 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { if (!($100)) { $101 = HEAP32[$pTab>>2]|0; $102 = HEAP32[$101>>2]|0; - $103 = (_sqlite3_strnicmp($102,28715,7)|0); + $103 = (_sqlite3_strnicmp($102,28440,7)|0); $104 = ($103|0)==(0); if ($104) { $105 = HEAP32[$pTab>>2]|0; $106 = HEAP32[$105>>2]|0; - $107 = (_sqlite3_strnicmp($106,36960,11)|0); + $107 = (_sqlite3_strnicmp($106,36613,11)|0); $108 = ($107|0)!=(0); if ($108) { $109 = HEAP32[$0>>2]|0; $110 = HEAP32[$pTab>>2]|0; $111 = HEAP32[$110>>2]|0; HEAP32[$vararg_buffer>>2] = $111; - _sqlite3ErrorMsg($109,36972,$vararg_buffer); + _sqlite3ErrorMsg($109,36625,$vararg_buffer); break; } } @@ -114702,7 +116001,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $119 = HEAP32[$pTab>>2]|0; $120 = HEAP32[$119>>2]|0; HEAP32[$vararg_buffer1>>2] = $120; - _sqlite3ErrorMsg($118,37000,$vararg_buffer1); + _sqlite3ErrorMsg($118,36653,$vararg_buffer1); break; } } @@ -114718,7 +116017,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $128 = HEAP32[$pTab>>2]|0; $129 = HEAP32[$128>>2]|0; HEAP32[$vararg_buffer4>>2] = $129; - _sqlite3ErrorMsg($127,37034,$vararg_buffer4); + _sqlite3ErrorMsg($127,36687,$vararg_buffer4); break; } } @@ -114735,7 +116034,7 @@ function _sqlite3DropTable($pParse,$pName,$isView,$noErr) { $137 = HEAP32[$iDb>>2]|0; $138 = HEAP32[$pTab>>2]|0; $139 = HEAP32[$138>>2]|0; - _sqlite3ClearStatTables($136,$137,31729,$139); + _sqlite3ClearStatTables($136,$137,31446,$139); $140 = HEAP32[$0>>2]|0; $141 = HEAP32[$1>>2]|0; $142 = HEAP32[$pTab>>2]|0; @@ -114810,7 +116109,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $14 = ($13|0)>(0); $15 = HEAP32[$0>>2]|0; if ($14) { - _sqlite3ErrorMsg($15,36919,$vararg_buffer); + _sqlite3ErrorMsg($15,36572,$vararg_buffer); } else { $16 = HEAP32[$2>>2]|0; $17 = HEAP32[$3>>2]|0; @@ -114842,7 +116141,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $37 = HEAP32[$0>>2]|0; $38 = HEAP32[$iDb>>2]|0; $39 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$37,$38,36955,$39); + _sqlite3FixInit($sFix,$37,$38,36608,$39); $40 = HEAP32[$5>>2]|0; $41 = (_sqlite3FixSelect($sFix,$40)|0); $42 = ($41|0)!=(0); @@ -114860,7 +116159,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $52 = ((($51)) + 24|0); HEAP32[$52>>2] = $50; $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 65|0); + $54 = ((($53)) + 69|0); $55 = HEAP8[$54>>0]|0; $56 = ($55<<24>>24)!=(0); if (!($56)) { @@ -114897,7 +116196,7 @@ function _sqlite3CreateView($pParse,$pBegin,$pName1,$pName2,$pCNames,$pSelect,$i $79 = (($78) + ($77)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; - $82 = (19267 + ($81)|0); + $82 = (19011 + ($81)|0); $83 = HEAP8[$82>>0]|0; $84 = $83&255; $85 = $84 & 1; @@ -114944,62 +116243,60 @@ function _sqlite3Select($pParse,$p,$pDest) { var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0; var $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0; var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0; - var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0; - var $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0; - var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; - var $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; - var $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; - var $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; - var $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; - var $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; - var $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; - var $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; - var $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0; - var $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0; - var $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0; - var $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0; - var $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0; - var $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0; - var $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0; - var $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0; - var $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0; - var $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0; - var $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0; - var $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0; - var $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0; - var $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0; - var $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0; - var $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0; - var $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0; - var $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0; - var $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0; - var $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0; - var $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0; - var $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0; - var $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0; - var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; - var $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0; - var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; - var $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0; - var $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0; - var $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0; - var $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0; - var $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0; - var $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0; - var $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0; - var $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0; - var $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0; - var $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0; - var $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addr1 = 0, $addrEnd = 0, $addrOutputRow = 0, $addrReset = 0, $addrSetAbort = 0, $addrSortingIdx = 0, $addrTop = 0, $addrTopOfLoop = 0, $db = 0, $dest = 0, $flag = 0, $groupBySort = 0, $i = 0, $iAMem = 0; - var $iAbortFlag = 0, $iBMem = 0, $iCsr = 0, $iDb = 0, $iEnd = 0, $iRestoreSelectId = 0, $iRoot = 0, $iUseFlag = 0, $isAgg = 0, $isAggSub = 0, $j = 0, $k = 0, $nCol = 0, $nGroupBy = 0, $onceAddr = 0, $or$cond = 0, $orderByGrp = 0, $pBest = 0, $pCol = 0, $pDel = 0; - var $pEList = 0, $pGroupBy = 0, $pHaving = 0, $pIdx = 0, $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pKeyInfo = 0, $pKeyInfo4 = 0, $pKeyInfo6 = 0, $pMinMax = 0, $pSub = 0, $pSub2 = 0, $pTab = 0, $pTab5 = 0, $pTabList = 0, $pWInfo = 0, $pWhere = 0, $r1 = 0, $rc = 0; - var $regBase = 0, $regOutputRow = 0, $regRecord = 0, $regReset = 0, $retAddr = 0, $sAggInfo = 0, $sDistinct = 0, $sNC = 0, $sSort = 0, $sortOut = 0, $sortPTab = 0, $topAddr = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $wctrlFlags = 0, dest = 0, label = 0, sp = 0; - var stop = 0; + var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; + var $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0; + var $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0; + var $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0; + var $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; + var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; + var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; + var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; + var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; + var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; + var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; + var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; + var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0; + var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; + var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; + var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; + var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; + var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; + var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; + var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; + var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; + var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; + var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; + var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; + var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; + var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; + var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; + var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; + var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; + var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; + var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; + var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0; + var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0; + var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0; + var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0; + var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0; + var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0; + var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0; + var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0; + var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0; + var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0; + var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addr1 = 0, $addrEnd = 0, $addrOutputRow = 0, $addrReset = 0, $addrSetAbort = 0, $addrSortingIdx = 0, $addrTop = 0, $addrTopOfLoop = 0, $db = 0, $dest = 0; + var $flag = 0, $groupBySort = 0, $i = 0, $iAMem = 0, $iAbortFlag = 0, $iBMem = 0, $iCsr = 0, $iDb = 0, $iEnd = 0, $iRestoreSelectId = 0, $iRoot = 0, $iUseFlag = 0, $isAgg = 0, $isAggSub = 0, $j = 0, $k = 0, $nCol = 0, $nGroupBy = 0, $onceAddr = 0, $or$cond = 0; + var $orderByGrp = 0, $pBest = 0, $pCol = 0, $pDel = 0, $pEList = 0, $pGroupBy = 0, $pHaving = 0, $pIdx = 0, $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pKeyInfo = 0, $pKeyInfo4 = 0, $pKeyInfo6 = 0, $pMinMax = 0, $pSub = 0, $pSub2 = 0, $pTab = 0, $pTab5 = 0, $pTabList = 0; + var $pWInfo = 0, $pWhere = 0, $r1 = 0, $rc = 0, $regBase = 0, $regOutputRow = 0, $regRecord = 0, $regReset = 0, $retAddr = 0, $sAggInfo = 0, $sDistinct = 0, $sNC = 0, $sSort = 0, $sortOut = 0, $sortPTab = 0, $topAddr = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0; + var $wctrlFlags = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 432|0; $vararg_buffer = sp; @@ -115098,7 +116395,7 @@ function _sqlite3Select($pParse,$p,$pDest) { $16 = ($15|0)==(0|0); if (!($16)) { $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 65|0); + $18 = ((($17)) + 69|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)!=(0); @@ -115113,8 +116410,8 @@ function _sqlite3Select($pParse,$p,$pDest) { $28 = ($27|0)!=(0); if ($28) { HEAP32[$0>>2] = 1; - $1225 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1225|0); + $1189 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1189|0); } dest=$sAggInfo; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $29 = HEAP32[$3>>2]|0; @@ -115124,1759 +116421,1726 @@ function _sqlite3Select($pParse,$p,$pDest) { if ($32) { $33 = HEAP32[$db>>2]|0; $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 48|0); + $35 = ((($34)) + 44|0); $36 = HEAP32[$35>>2]|0; _sqlite3ExprListDelete($33,$36); $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 48|0); + $38 = ((($37)) + 44|0); HEAP32[$38>>2] = 0; $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 6|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 & -2; - $44 = $43&65535; - HEAP16[$40>>1] = $44; + $40 = ((($39)) + 8|0); + $41 = HEAP32[$40>>2]|0; + $42 = $41 & -2; + HEAP32[$40>>2] = $42; } - $45 = HEAP32[$1>>2]|0; - $46 = HEAP32[$2>>2]|0; - _sqlite3SelectPrep($45,$46,0); + $43 = HEAP32[$1>>2]|0; + $44 = HEAP32[$2>>2]|0; + _sqlite3SelectPrep($43,$44,0); ;HEAP32[$sSort>>2]=0|0;HEAP32[$sSort+4>>2]=0|0;HEAP32[$sSort+8>>2]=0|0;HEAP32[$sSort+12>>2]=0|0;HEAP32[$sSort+16>>2]=0|0;HEAP32[$sSort+20>>2]=0|0;HEAP32[$sSort+24>>2]=0|0;HEAP32[$sSort+28>>2]=0|0; - $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 48|0); - $49 = HEAP32[$48>>2]|0; - HEAP32[$sSort>>2] = $49; - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 32|0); - $52 = HEAP32[$51>>2]|0; - HEAP32[$pTabList>>2] = $52; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 68|0); - $55 = HEAP32[$54>>2]|0; - $56 = ($55|0)!=(0); + $45 = HEAP32[$2>>2]|0; + $46 = ((($45)) + 44|0); + $47 = HEAP32[$46>>2]|0; + HEAP32[$sSort>>2] = $47; + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 28|0); + $50 = HEAP32[$49>>2]|0; + HEAP32[$pTabList>>2] = $50; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 68|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)!=(0); L12: do { - if (!($56)) { - $57 = HEAP32[$db>>2]|0; - $58 = ((($57)) + 65|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)!=(0); - if (!($61)) { - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 6|0); - $64 = HEAP16[$63>>1]|0; - $65 = $64&65535; - $66 = $65 & 8; - $67 = ($66|0)!=(0); - $68 = $67&1; - HEAP32[$isAgg>>2] = $68; - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$3>>2]|0; - $71 = HEAP32[$2>>2]|0; - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$72>>2]|0; - $74 = (_checkForMultiColumnSelectError($69,$70,$73)|0); - $75 = ($74|0)!=(0); - if (!($75)) { + if (!($54)) { + $55 = HEAP32[$db>>2]|0; + $56 = ((($55)) + 69|0); + $57 = HEAP8[$56>>0]|0; + $58 = $57&255; + $59 = ($58|0)!=(0); + if (!($59)) { + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = $62 & 8; + $64 = ($63|0)!=(0); + $65 = $64&1; + HEAP32[$isAgg>>2] = $65; + $66 = HEAP32[$1>>2]|0; + $67 = HEAP32[$3>>2]|0; + $68 = HEAP32[$2>>2]|0; + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$69>>2]|0; + $71 = (_checkForMultiColumnSelectError($66,$67,$70)|0); + $72 = ($71|0)!=(0); + if (!($72)) { HEAP32[$i>>2] = 0; while(1) { - $76 = HEAP32[$2>>2]|0; - $77 = ((($76)) + 52|0); - $78 = HEAP32[$77>>2]|0; - $79 = ($78|0)!=(0|0); - if ($79) { + $73 = HEAP32[$2>>2]|0; + $74 = ((($73)) + 48|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)!=(0|0); + if ($76) { break; } - $80 = HEAP32[$i>>2]|0; - $81 = HEAP32[$pTabList>>2]|0; - $82 = HEAP32[$81>>2]|0; - $83 = ($80|0)<($82|0); - if (!($83)) { + $77 = HEAP32[$i>>2]|0; + $78 = HEAP32[$pTabList>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = ($77|0)<($79|0); + if (!($80)) { break; } - $84 = HEAP32[$i>>2]|0; - $85 = HEAP32[$pTabList>>2]|0; - $86 = ((($85)) + 8|0); - $87 = (($86) + (($84*72)|0)|0); - HEAP32[$pItem>>2] = $87; + $81 = HEAP32[$i>>2]|0; + $82 = HEAP32[$pTabList>>2]|0; + $83 = ((($82)) + 8|0); + $84 = (($83) + (($81*72)|0)|0); + HEAP32[$pItem>>2] = $84; + $85 = HEAP32[$pItem>>2]|0; + $86 = ((($85)) + 20|0); + $87 = HEAP32[$86>>2]|0; + HEAP32[$pSub>>2] = $87; $88 = HEAP32[$pItem>>2]|0; - $89 = ((($88)) + 20|0); + $89 = ((($88)) + 16|0); $90 = HEAP32[$89>>2]|0; - HEAP32[$pSub>>2] = $90; - $91 = HEAP32[$pItem>>2]|0; - $92 = ((($91)) + 16|0); - $93 = HEAP32[$92>>2]|0; - HEAP32[$pTab>>2] = $93; - $94 = HEAP32[$pSub>>2]|0; - $95 = ($94|0)==(0|0); - if (!($95)) { - $96 = HEAP32[$pTab>>2]|0; - $97 = ((($96)) + 34|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98 << 16 >> 16; - $100 = HEAP32[$pSub>>2]|0; - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$101>>2]|0; - $103 = ($99|0)!=($102|0); - if ($103) { + HEAP32[$pTab>>2] = $90; + $91 = HEAP32[$pSub>>2]|0; + $92 = ($91|0)==(0|0); + if (!($92)) { + $93 = HEAP32[$pTab>>2]|0; + $94 = ((($93)) + 34|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95 << 16 >> 16; + $97 = HEAP32[$pSub>>2]|0; + $98 = HEAP32[$97>>2]|0; + $99 = HEAP32[$98>>2]|0; + $100 = ($96|0)!=($99|0); + if ($100) { label = 17; break; } - $114 = HEAP32[$pSub>>2]|0; - $115 = ((($114)) + 6|0); - $116 = HEAP16[$115>>1]|0; - $117 = $116&65535; - $118 = $117 & 8; - $119 = ($118|0)!=(0); - $120 = $119&1; - HEAP32[$isAggSub>>2] = $120; - $121 = HEAP32[$1>>2]|0; - $122 = HEAP32[$2>>2]|0; - $123 = HEAP32[$i>>2]|0; - $124 = HEAP32[$isAgg>>2]|0; - $125 = HEAP32[$isAggSub>>2]|0; - $126 = (_flattenSubquery($121,$122,$123,$124,$125)|0); - $127 = ($126|0)!=(0); - if ($127) { - $128 = HEAP32[$isAggSub>>2]|0; - $129 = ($128|0)!=(0); - if ($129) { + $111 = HEAP32[$pSub>>2]|0; + $112 = ((($111)) + 8|0); + $113 = HEAP32[$112>>2]|0; + $114 = $113 & 8; + $115 = ($114|0)!=(0); + $116 = $115&1; + HEAP32[$isAggSub>>2] = $116; + $117 = HEAP32[$1>>2]|0; + $118 = HEAP32[$2>>2]|0; + $119 = HEAP32[$i>>2]|0; + $120 = HEAP32[$isAgg>>2]|0; + $121 = HEAP32[$isAggSub>>2]|0; + $122 = (_flattenSubquery($117,$118,$119,$120,$121)|0); + $123 = ($122|0)!=(0); + if ($123) { + $124 = HEAP32[$isAggSub>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { HEAP32[$isAgg>>2] = 1; - $130 = HEAP32[$2>>2]|0; - $131 = ((($130)) + 6|0); - $132 = HEAP16[$131>>1]|0; - $133 = $132&65535; - $134 = $133 | 8; - $135 = $134&65535; - HEAP16[$131>>1] = $135; + $126 = HEAP32[$2>>2]|0; + $127 = ((($126)) + 8|0); + $128 = HEAP32[$127>>2]|0; + $129 = $128 | 8; + HEAP32[$127>>2] = $129; } HEAP32[$i>>2] = -1; } - $136 = HEAP32[$2>>2]|0; - $137 = ((($136)) + 32|0); - $138 = HEAP32[$137>>2]|0; - HEAP32[$pTabList>>2] = $138; - $139 = HEAP32[$db>>2]|0; - $140 = ((($139)) + 65|0); - $141 = HEAP8[$140>>0]|0; - $142 = ($141<<24>>24)!=(0); - if ($142) { + $130 = HEAP32[$2>>2]|0; + $131 = ((($130)) + 28|0); + $132 = HEAP32[$131>>2]|0; + HEAP32[$pTabList>>2] = $132; + $133 = HEAP32[$db>>2]|0; + $134 = ((($133)) + 69|0); + $135 = HEAP8[$134>>0]|0; + $136 = ($135<<24>>24)!=(0); + if ($136) { break L12; } - $143 = HEAP32[$3>>2]|0; - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = ($145|0)<=(8); - if (!($146)) { - $147 = HEAP32[$2>>2]|0; - $148 = ((($147)) + 48|0); - $149 = HEAP32[$148>>2]|0; - HEAP32[$sSort>>2] = $149; + $137 = HEAP32[$3>>2]|0; + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = ($139|0)<=(8); + if (!($140)) { + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 44|0); + $143 = HEAP32[$142>>2]|0; + HEAP32[$sSort>>2] = $143; } } - $150 = HEAP32[$i>>2]|0; - $151 = (($150) + 1)|0; - HEAP32[$i>>2] = $151; + $144 = HEAP32[$i>>2]|0; + $145 = (($144) + 1)|0; + HEAP32[$i>>2] = $145; } if ((label|0) == 17) { - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$pTab>>2]|0; - $106 = ((($105)) + 34|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107 << 16 >> 16; - $109 = HEAP32[$pTab>>2]|0; + $101 = HEAP32[$1>>2]|0; + $102 = HEAP32[$pTab>>2]|0; + $103 = ((($102)) + 34|0); + $104 = HEAP16[$103>>1]|0; + $105 = $104 << 16 >> 16; + $106 = HEAP32[$pTab>>2]|0; + $107 = HEAP32[$106>>2]|0; + $108 = HEAP32[$pSub>>2]|0; + $109 = HEAP32[$108>>2]|0; $110 = HEAP32[$109>>2]|0; - $111 = HEAP32[$pSub>>2]|0; - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$112>>2]|0; - HEAP32[$vararg_buffer>>2] = $108; + HEAP32[$vararg_buffer>>2] = $105; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $110; + HEAP32[$vararg_ptr2>>2] = $107; $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $113; - _sqlite3ErrorMsg($104,36434,$vararg_buffer); + HEAP32[$vararg_ptr3>>2] = $110; + _sqlite3ErrorMsg($101,36087,$vararg_buffer); break; } - $152 = HEAP32[$1>>2]|0; - $153 = (_sqlite3GetVdbe($152)|0); - HEAP32[$v>>2] = $153; - $154 = HEAP32[$v>>2]|0; - $155 = ($154|0)==(0|0); - if (!($155)) { - $156 = HEAP32[$2>>2]|0; - $157 = ((($156)) + 52|0); - $158 = HEAP32[$157>>2]|0; - $159 = ($158|0)!=(0|0); - if ($159) { - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$2>>2]|0; - $162 = HEAP32[$3>>2]|0; - $163 = (_multiSelect($160,$161,$162)|0); - HEAP32[$rc>>2] = $163; - $164 = HEAP32[$iRestoreSelectId>>2]|0; - $165 = HEAP32[$1>>2]|0; - $166 = ((($165)) + 468|0); - HEAP32[$166>>2] = $164; - $167 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $167; - $1225 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1225|0); + $146 = HEAP32[$1>>2]|0; + $147 = (_sqlite3GetVdbe($146)|0); + HEAP32[$v>>2] = $147; + $148 = HEAP32[$v>>2]|0; + $149 = ($148|0)==(0|0); + if (!($149)) { + $150 = HEAP32[$2>>2]|0; + $151 = ((($150)) + 48|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)!=(0|0); + if ($153) { + $154 = HEAP32[$1>>2]|0; + $155 = HEAP32[$2>>2]|0; + $156 = HEAP32[$3>>2]|0; + $157 = (_multiSelect($154,$155,$156)|0); + HEAP32[$rc>>2] = $157; + $158 = HEAP32[$iRestoreSelectId>>2]|0; + $159 = HEAP32[$1>>2]|0; + $160 = ((($159)) + 468|0); + HEAP32[$160>>2] = $158; + $161 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $161; + $1189 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1189|0); } HEAP32[$i>>2] = 0; while(1) { - $168 = HEAP32[$i>>2]|0; - $169 = HEAP32[$pTabList>>2]|0; - $170 = HEAP32[$169>>2]|0; - $171 = ($168|0)<($170|0); - if (!($171)) { + $162 = HEAP32[$i>>2]|0; + $163 = HEAP32[$pTabList>>2]|0; + $164 = HEAP32[$163>>2]|0; + $165 = ($162|0)<($164|0); + if (!($165)) { break; } - $172 = HEAP32[$i>>2]|0; - $173 = HEAP32[$pTabList>>2]|0; - $174 = ((($173)) + 8|0); - $175 = (($174) + (($172*72)|0)|0); - HEAP32[$pItem1>>2] = $175; - $176 = HEAP32[$pItem1>>2]|0; - $177 = ((($176)) + 20|0); - $178 = HEAP32[$177>>2]|0; - HEAP32[$pSub2>>2] = $178; - $179 = HEAP32[$pSub2>>2]|0; - $180 = ($179|0)==(0|0); + $166 = HEAP32[$i>>2]|0; + $167 = HEAP32[$pTabList>>2]|0; + $168 = ((($167)) + 8|0); + $169 = (($168) + (($166*72)|0)|0); + HEAP32[$pItem1>>2] = $169; + $170 = HEAP32[$pItem1>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP32[$171>>2]|0; + HEAP32[$pSub2>>2] = $172; + $173 = HEAP32[$pSub2>>2]|0; + $174 = ($173|0)==(0|0); do { - if (!($180)) { - $181 = HEAP32[$pItem1>>2]|0; - $182 = ((($181)) + 24|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)!=(0); - if ($184) { - $185 = HEAP32[$pItem1>>2]|0; - $186 = ((($185)) + 36|0); - $187 = ((($186)) + 1|0); - $188 = HEAP8[$187>>0]|0; - $189 = ($188&255) >>> 4; - $190 = $189 & 1; - $191 = $190&255; - $192 = ($191|0)==(0); - if (!($192)) { + if (!($174)) { + $175 = HEAP32[$pItem1>>2]|0; + $176 = ((($175)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)!=(0); + if ($178) { + $179 = HEAP32[$pItem1>>2]|0; + $180 = ((($179)) + 36|0); + $181 = ((($180)) + 1|0); + $182 = HEAP8[$181>>0]|0; + $183 = ($182&255) >>> 4; + $184 = $183 & 1; + $185 = $184&255; + $186 = ($185|0)==(0); + if (!($186)) { break; } - $193 = HEAP32[$v>>2]|0; - $194 = HEAP32[$pItem1>>2]|0; - $195 = ((($194)) + 28|0); - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$pItem1>>2]|0; - $198 = ((($197)) + 24|0); - $199 = HEAP32[$198>>2]|0; - (_sqlite3VdbeAddOp2($193,14,$196,$199)|0); + $187 = HEAP32[$v>>2]|0; + $188 = HEAP32[$pItem1>>2]|0; + $189 = ((($188)) + 28|0); + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$pItem1>>2]|0; + $192 = ((($191)) + 24|0); + $193 = HEAP32[$192>>2]|0; + (_sqlite3VdbeAddOp2($187,14,$190,$193)|0); break; } - $200 = HEAP32[$2>>2]|0; - $201 = (_sqlite3SelectExprHeight($200)|0); - $202 = HEAP32[$1>>2]|0; - $203 = ((($202)) + 464|0); - $204 = HEAP32[$203>>2]|0; - $205 = (($204) + ($201))|0; - HEAP32[$203>>2] = $205; - $206 = HEAP32[$pItem1>>2]|0; - $207 = ((($206)) + 36|0); - $208 = HEAP8[$207>>0]|0; - $209 = $208&255; - $210 = $209 & 32; - $211 = ($210|0)==(0); - if ($211) { - $212 = HEAP32[$db>>2]|0; - $213 = HEAP32[$pSub2>>2]|0; - $214 = HEAP32[$2>>2]|0; - $215 = ((($214)) + 36|0); - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$pItem1>>2]|0; - $218 = ((($217)) + 44|0); - $219 = HEAP32[$218>>2]|0; - (_pushDownWhereTerms($212,$213,$216,$219)|0); + $194 = HEAP32[$2>>2]|0; + $195 = (_sqlite3SelectExprHeight($194)|0); + $196 = HEAP32[$1>>2]|0; + $197 = ((($196)) + 464|0); + $198 = HEAP32[$197>>2]|0; + $199 = (($198) + ($195))|0; + HEAP32[$197>>2] = $199; + $200 = HEAP32[$pItem1>>2]|0; + $201 = ((($200)) + 36|0); + $202 = HEAP8[$201>>0]|0; + $203 = $202&255; + $204 = $203 & 32; + $205 = ($204|0)==(0); + if ($205) { + $206 = HEAP32[$db>>2]|0; + $207 = HEAP32[$pSub2>>2]|0; + $208 = HEAP32[$2>>2]|0; + $209 = ((($208)) + 32|0); + $210 = HEAP32[$209>>2]|0; + $211 = HEAP32[$pItem1>>2]|0; + $212 = ((($211)) + 44|0); + $213 = HEAP32[$212>>2]|0; + (_pushDownWhereTerms($206,$207,$210,$213)|0); } - $220 = HEAP32[$pTabList>>2]|0; - $221 = HEAP32[$220>>2]|0; - $222 = ($221|0)==(1); + $214 = HEAP32[$i>>2]|0; + $215 = ($214|0)==(0); do { - if ($222) { - $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 6|0); - $225 = HEAP16[$224>>1]|0; - $226 = $225&65535; - $227 = $226 & 2; - $228 = ($227|0)==(0); - if (!($228)) { - label = 41; + if ($215) { + $216 = HEAP32[$pTabList>>2]|0; + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(1); + if (!($218)) { + $219 = HEAP32[$pTabList>>2]|0; + $220 = ((($219)) + 8|0); + $221 = ((($220)) + 72|0); + $222 = ((($221)) + 36|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = $224 & 10; + $226 = ($225|0)!=(0); + if (!($226)) { + label = 43; + break; + } + } + $227 = HEAP32[$2>>2]|0; + $228 = ((($227)) + 8|0); + $229 = HEAP32[$228>>2]|0; + $230 = $229 & 2; + $231 = ($230|0)==(0); + if (!($231)) { + label = 43; break; } - $229 = HEAP32[$db>>2]|0; - $230 = ((($229)) + 60|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231&65535; - $233 = $232 & 256; - $234 = ($233|0)==(0); - if (!($234)) { - label = 41; + $232 = HEAP32[$db>>2]|0; + $233 = ((($232)) + 64|0); + $234 = HEAP16[$233>>1]|0; + $235 = $234&65535; + $236 = $235 & 256; + $237 = ($236|0)==(0); + if (!($237)) { + label = 43; break; } - $235 = HEAP32[$v>>2]|0; - $236 = (_sqlite3VdbeCurrentAddr($235)|0); - $237 = (($236) + 1)|0; - HEAP32[$addrTop>>2] = $237; - $238 = HEAP32[$1>>2]|0; - $239 = ((($238)) + 76|0); - $240 = HEAP32[$239>>2]|0; - $241 = (($240) + 1)|0; - HEAP32[$239>>2] = $241; - $242 = HEAP32[$pItem1>>2]|0; - $243 = ((($242)) + 28|0); - HEAP32[$243>>2] = $241; - $244 = HEAP32[$v>>2]|0; + $238 = HEAP32[$v>>2]|0; + $239 = (_sqlite3VdbeCurrentAddr($238)|0); + $240 = (($239) + 1)|0; + HEAP32[$addrTop>>2] = $240; + $241 = HEAP32[$1>>2]|0; + $242 = ((($241)) + 76|0); + $243 = HEAP32[$242>>2]|0; + $244 = (($243) + 1)|0; + HEAP32[$242>>2] = $244; $245 = HEAP32[$pItem1>>2]|0; $246 = ((($245)) + 28|0); - $247 = HEAP32[$246>>2]|0; - $248 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($244,16,$247,0,$248)|0); - $249 = HEAP32[$addrTop>>2]|0; - $250 = HEAP32[$pItem1>>2]|0; - $251 = ((($250)) + 24|0); - HEAP32[$251>>2] = $249; - $252 = HEAP32[$pItem1>>2]|0; - $253 = ((($252)) + 28|0); - $254 = HEAP32[$253>>2]|0; - _sqlite3SelectDestInit($dest,13,$254); - $255 = HEAP32[$1>>2]|0; - $256 = ((($255)) + 472|0); + HEAP32[$246>>2] = $244; + $247 = HEAP32[$v>>2]|0; + $248 = HEAP32[$pItem1>>2]|0; + $249 = ((($248)) + 28|0); + $250 = HEAP32[$249>>2]|0; + $251 = HEAP32[$addrTop>>2]|0; + (_sqlite3VdbeAddOp3($247,16,$250,0,$251)|0); + $252 = HEAP32[$addrTop>>2]|0; + $253 = HEAP32[$pItem1>>2]|0; + $254 = ((($253)) + 24|0); + HEAP32[$254>>2] = $252; + $255 = HEAP32[$pItem1>>2]|0; + $256 = ((($255)) + 28|0); $257 = HEAP32[$256>>2]|0; - $258 = $257&255; - $259 = HEAP32[$pItem1>>2]|0; - $260 = ((($259)) + 40|0); - HEAP8[$260>>0] = $258; - $261 = HEAP32[$1>>2]|0; - $262 = HEAP32[$pSub2>>2]|0; - (_sqlite3Select($261,$262,$dest)|0); - $263 = HEAP32[$pSub2>>2]|0; - $264 = ((($263)) + 24|0); - $265 = $264; - $266 = $265; - $267 = HEAP32[$266>>2]|0; - $268 = (($265) + 4)|0; - $269 = $268; - $270 = HEAP32[$269>>2]|0; - $271 = (_sqlite3LogEst($267,$270)|0); - $272 = HEAP32[$pItem1>>2]|0; - $273 = ((($272)) + 16|0); - $274 = HEAP32[$273>>2]|0; - $275 = ((($274)) + 38|0); - HEAP16[$275>>1] = $271; - $276 = HEAP32[$pItem1>>2]|0; - $277 = ((($276)) + 36|0); - $278 = ((($277)) + 1|0); - $279 = HEAP8[$278>>0]|0; - $280 = $279 & -17; - $281 = $280 | 16; - HEAP8[$278>>0] = $281; - $282 = ((($dest)) + 8|0); - $283 = HEAP32[$282>>2]|0; + _sqlite3SelectDestInit($dest,13,$257); + $258 = HEAP32[$1>>2]|0; + $259 = ((($258)) + 472|0); + $260 = HEAP32[$259>>2]|0; + $261 = $260&255; + $262 = HEAP32[$pItem1>>2]|0; + $263 = ((($262)) + 40|0); + HEAP8[$263>>0] = $261; + $264 = HEAP32[$1>>2]|0; + $265 = HEAP32[$pSub2>>2]|0; + (_sqlite3Select($264,$265,$dest)|0); + $266 = HEAP32[$pSub2>>2]|0; + $267 = ((($266)) + 6|0); + $268 = HEAP16[$267>>1]|0; + $269 = HEAP32[$pItem1>>2]|0; + $270 = ((($269)) + 16|0); + $271 = HEAP32[$270>>2]|0; + $272 = ((($271)) + 38|0); + HEAP16[$272>>1] = $268; + $273 = HEAP32[$pItem1>>2]|0; + $274 = ((($273)) + 36|0); + $275 = ((($274)) + 1|0); + $276 = HEAP8[$275>>0]|0; + $277 = $276 & -17; + $278 = $277 | 16; + HEAP8[$275>>0] = $278; + $279 = ((($dest)) + 8|0); + $280 = HEAP32[$279>>2]|0; + $281 = HEAP32[$pItem1>>2]|0; + $282 = ((($281)) + 32|0); + HEAP32[$282>>2] = $280; + $283 = HEAP32[$v>>2]|0; $284 = HEAP32[$pItem1>>2]|0; - $285 = ((($284)) + 32|0); - HEAP32[$285>>2] = $283; - $286 = HEAP32[$v>>2]|0; - $287 = HEAP32[$pItem1>>2]|0; - $288 = ((($287)) + 28|0); - $289 = HEAP32[$288>>2]|0; - _sqlite3VdbeEndCoroutine($286,$289); - $290 = HEAP32[$v>>2]|0; - $291 = HEAP32[$addrTop>>2]|0; - $292 = (($291) - 1)|0; - _sqlite3VdbeJumpHere($290,$292); - $293 = HEAP32[$1>>2]|0; - _sqlite3ClearTempRegCache($293); + $285 = ((($284)) + 28|0); + $286 = HEAP32[$285>>2]|0; + _sqlite3VdbeEndCoroutine($283,$286); + $287 = HEAP32[$v>>2]|0; + $288 = HEAP32[$addrTop>>2]|0; + $289 = (($288) - 1)|0; + _sqlite3VdbeJumpHere($287,$289); + $290 = HEAP32[$1>>2]|0; + _sqlite3ClearTempRegCache($290); } else { - label = 41; + label = 43; } } while(0); - if ((label|0) == 41) { + if ((label|0) == 43) { label = 0; HEAP32[$onceAddr>>2] = 0; - $294 = HEAP32[$1>>2]|0; - $295 = ((($294)) + 76|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + 1)|0; - HEAP32[$295>>2] = $297; + $291 = HEAP32[$1>>2]|0; + $292 = ((($291)) + 76|0); + $293 = HEAP32[$292>>2]|0; + $294 = (($293) + 1)|0; + HEAP32[$292>>2] = $294; + $295 = HEAP32[$pItem1>>2]|0; + $296 = ((($295)) + 28|0); + HEAP32[$296>>2] = $294; + $297 = HEAP32[$v>>2]|0; $298 = HEAP32[$pItem1>>2]|0; $299 = ((($298)) + 28|0); - HEAP32[$299>>2] = $297; - $300 = HEAP32[$v>>2]|0; - $301 = HEAP32[$pItem1>>2]|0; - $302 = ((($301)) + 28|0); - $303 = HEAP32[$302>>2]|0; - $304 = (_sqlite3VdbeAddOp2($300,22,0,$303)|0); - HEAP32[$topAddr>>2] = $304; - $305 = HEAP32[$topAddr>>2]|0; - $306 = (($305) + 1)|0; - $307 = HEAP32[$pItem1>>2]|0; - $308 = ((($307)) + 24|0); - HEAP32[$308>>2] = $306; - $309 = HEAP32[$pItem1>>2]|0; - $310 = ((($309)) + 36|0); - $311 = ((($310)) + 1|0); - $312 = HEAP8[$311>>0]|0; - $313 = ($312&255) >>> 3; - $314 = $313 & 1; - $315 = $314&255; - $316 = ($315|0)==(0); - if ($316) { - $317 = HEAP32[$1>>2]|0; - $318 = (_sqlite3CodeOnce($317)|0); - HEAP32[$onceAddr>>2] = $318; + $300 = HEAP32[$299>>2]|0; + $301 = (_sqlite3VdbeAddOp2($297,22,0,$300)|0); + HEAP32[$topAddr>>2] = $301; + $302 = HEAP32[$topAddr>>2]|0; + $303 = (($302) + 1)|0; + $304 = HEAP32[$pItem1>>2]|0; + $305 = ((($304)) + 24|0); + HEAP32[$305>>2] = $303; + $306 = HEAP32[$pItem1>>2]|0; + $307 = ((($306)) + 36|0); + $308 = ((($307)) + 1|0); + $309 = HEAP8[$308>>0]|0; + $310 = ($309&255) >>> 3; + $311 = $310 & 1; + $312 = $311&255; + $313 = ($312|0)==(0); + if ($313) { + $314 = HEAP32[$1>>2]|0; + $315 = (_sqlite3CodeOnce($314)|0); + HEAP32[$onceAddr>>2] = $315; } - $319 = HEAP32[$pItem1>>2]|0; - $320 = ((($319)) + 44|0); + $316 = HEAP32[$pItem1>>2]|0; + $317 = ((($316)) + 44|0); + $318 = HEAP32[$317>>2]|0; + _sqlite3SelectDestInit($dest,12,$318); + $319 = HEAP32[$1>>2]|0; + $320 = ((($319)) + 472|0); $321 = HEAP32[$320>>2]|0; - _sqlite3SelectDestInit($dest,12,$321); - $322 = HEAP32[$1>>2]|0; - $323 = ((($322)) + 472|0); - $324 = HEAP32[$323>>2]|0; - $325 = $324&255; - $326 = HEAP32[$pItem1>>2]|0; - $327 = ((($326)) + 40|0); - HEAP8[$327>>0] = $325; - $328 = HEAP32[$1>>2]|0; - $329 = HEAP32[$pSub2>>2]|0; - (_sqlite3Select($328,$329,$dest)|0); - $330 = HEAP32[$pSub2>>2]|0; - $331 = ((($330)) + 24|0); - $332 = $331; - $333 = $332; - $334 = HEAP32[$333>>2]|0; - $335 = (($332) + 4)|0; - $336 = $335; - $337 = HEAP32[$336>>2]|0; - $338 = (_sqlite3LogEst($334,$337)|0); + $322 = $321&255; + $323 = HEAP32[$pItem1>>2]|0; + $324 = ((($323)) + 40|0); + HEAP8[$324>>0] = $322; + $325 = HEAP32[$1>>2]|0; + $326 = HEAP32[$pSub2>>2]|0; + (_sqlite3Select($325,$326,$dest)|0); + $327 = HEAP32[$pSub2>>2]|0; + $328 = ((($327)) + 6|0); + $329 = HEAP16[$328>>1]|0; + $330 = HEAP32[$pItem1>>2]|0; + $331 = ((($330)) + 16|0); + $332 = HEAP32[$331>>2]|0; + $333 = ((($332)) + 38|0); + HEAP16[$333>>1] = $329; + $334 = HEAP32[$onceAddr>>2]|0; + $335 = ($334|0)!=(0); + if ($335) { + $336 = HEAP32[$v>>2]|0; + $337 = HEAP32[$onceAddr>>2]|0; + _sqlite3VdbeJumpHere($336,$337); + } + $338 = HEAP32[$v>>2]|0; $339 = HEAP32[$pItem1>>2]|0; - $340 = ((($339)) + 16|0); + $340 = ((($339)) + 28|0); $341 = HEAP32[$340>>2]|0; - $342 = ((($341)) + 38|0); - HEAP16[$342>>1] = $338; - $343 = HEAP32[$onceAddr>>2]|0; - $344 = ($343|0)!=(0); - if ($344) { - $345 = HEAP32[$v>>2]|0; - $346 = HEAP32[$onceAddr>>2]|0; - _sqlite3VdbeJumpHere($345,$346); - } - $347 = HEAP32[$v>>2]|0; - $348 = HEAP32[$pItem1>>2]|0; - $349 = ((($348)) + 28|0); - $350 = HEAP32[$349>>2]|0; - $351 = (_sqlite3VdbeAddOp1($347,15,$350)|0); - HEAP32[$retAddr>>2] = $351; - $352 = HEAP32[$v>>2]|0; - $353 = HEAP32[$topAddr>>2]|0; - $354 = HEAP32[$retAddr>>2]|0; - _sqlite3VdbeChangeP1($352,$353,$354); - $355 = HEAP32[$1>>2]|0; - _sqlite3ClearTempRegCache($355); + $342 = (_sqlite3VdbeAddOp1($338,15,$341)|0); + HEAP32[$retAddr>>2] = $342; + $343 = HEAP32[$v>>2]|0; + $344 = HEAP32[$topAddr>>2]|0; + $345 = HEAP32[$retAddr>>2]|0; + _sqlite3VdbeChangeP1($343,$344,$345); + $346 = HEAP32[$1>>2]|0; + _sqlite3ClearTempRegCache($346); } - $356 = HEAP32[$db>>2]|0; - $357 = ((($356)) + 65|0); - $358 = HEAP8[$357>>0]|0; - $359 = ($358<<24>>24)!=(0); - if ($359) { + $347 = HEAP32[$db>>2]|0; + $348 = ((($347)) + 69|0); + $349 = HEAP8[$348>>0]|0; + $350 = ($349<<24>>24)!=(0); + if ($350) { break L12; } - $360 = HEAP32[$2>>2]|0; - $361 = (_sqlite3SelectExprHeight($360)|0); - $362 = HEAP32[$1>>2]|0; - $363 = ((($362)) + 464|0); - $364 = HEAP32[$363>>2]|0; - $365 = (($364) - ($361))|0; - HEAP32[$363>>2] = $365; + $351 = HEAP32[$2>>2]|0; + $352 = (_sqlite3SelectExprHeight($351)|0); + $353 = HEAP32[$1>>2]|0; + $354 = ((($353)) + 464|0); + $355 = HEAP32[$354>>2]|0; + $356 = (($355) - ($352))|0; + HEAP32[$354>>2] = $356; } } while(0); - $366 = HEAP32[$i>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$i>>2] = $367; + $357 = HEAP32[$i>>2]|0; + $358 = (($357) + 1)|0; + HEAP32[$i>>2] = $358; } - $368 = HEAP32[$2>>2]|0; + $359 = HEAP32[$2>>2]|0; + $360 = HEAP32[$359>>2]|0; + HEAP32[$pEList>>2] = $360; + $361 = HEAP32[$2>>2]|0; + $362 = ((($361)) + 32|0); + $363 = HEAP32[$362>>2]|0; + HEAP32[$pWhere>>2] = $363; + $364 = HEAP32[$2>>2]|0; + $365 = ((($364)) + 36|0); + $366 = HEAP32[$365>>2]|0; + HEAP32[$pGroupBy>>2] = $366; + $367 = HEAP32[$2>>2]|0; + $368 = ((($367)) + 40|0); $369 = HEAP32[$368>>2]|0; - HEAP32[$pEList>>2] = $369; + HEAP32[$pHaving>>2] = $369; $370 = HEAP32[$2>>2]|0; - $371 = ((($370)) + 36|0); + $371 = ((($370)) + 8|0); $372 = HEAP32[$371>>2]|0; - HEAP32[$pWhere>>2] = $372; - $373 = HEAP32[$2>>2]|0; - $374 = ((($373)) + 40|0); - $375 = HEAP32[$374>>2]|0; - HEAP32[$pGroupBy>>2] = $375; - $376 = HEAP32[$2>>2]|0; - $377 = ((($376)) + 44|0); - $378 = HEAP32[$377>>2]|0; - HEAP32[$pHaving>>2] = $378; - $379 = HEAP32[$2>>2]|0; - $380 = ((($379)) + 6|0); - $381 = HEAP16[$380>>1]|0; - $382 = $381&65535; - $383 = $382 & 1; - $384 = ($383|0)!=(0); - $385 = $384&1; - $386 = $385&255; - HEAP8[$sDistinct>>0] = $386; - $387 = HEAP32[$2>>2]|0; - $388 = ((($387)) + 6|0); - $389 = HEAP16[$388>>1]|0; - $390 = $389&65535; - $391 = $390 & 9; - $392 = ($391|0)==(1); - if ($392) { - $393 = HEAP32[$sSort>>2]|0; - $394 = HEAP32[$pEList>>2]|0; - $395 = (_sqlite3ExprListCompare($393,$394,-1)|0); - $396 = ($395|0)==(0); - if ($396) { - $397 = HEAP32[$2>>2]|0; - $398 = ((($397)) + 6|0); - $399 = HEAP16[$398>>1]|0; - $400 = $399&65535; - $401 = $400 & -2; - $402 = $401&65535; - HEAP16[$398>>1] = $402; - $403 = HEAP32[$db>>2]|0; - $404 = HEAP32[$pEList>>2]|0; - $405 = (_sqlite3ExprListDup($403,$404,0)|0); - $406 = HEAP32[$2>>2]|0; - $407 = ((($406)) + 40|0); - HEAP32[$407>>2] = $405; - HEAP32[$pGroupBy>>2] = $405; + $373 = $372 & 1; + $374 = ($373|0)!=(0); + $375 = $374&1; + $376 = $375&255; + HEAP8[$sDistinct>>0] = $376; + $377 = HEAP32[$2>>2]|0; + $378 = ((($377)) + 8|0); + $379 = HEAP32[$378>>2]|0; + $380 = $379 & 9; + $381 = ($380|0)==(1); + if ($381) { + $382 = HEAP32[$sSort>>2]|0; + $383 = HEAP32[$pEList>>2]|0; + $384 = (_sqlite3ExprListCompare($382,$383,-1)|0); + $385 = ($384|0)==(0); + if ($385) { + $386 = HEAP32[$2>>2]|0; + $387 = ((($386)) + 8|0); + $388 = HEAP32[$387>>2]|0; + $389 = $388 & -2; + HEAP32[$387>>2] = $389; + $390 = HEAP32[$db>>2]|0; + $391 = HEAP32[$pEList>>2]|0; + $392 = (_sqlite3ExprListDup($390,$391,0)|0); + $393 = HEAP32[$2>>2]|0; + $394 = ((($393)) + 36|0); + HEAP32[$394>>2] = $392; + HEAP32[$pGroupBy>>2] = $392; } } - $408 = HEAP32[$sSort>>2]|0; - $409 = ($408|0)!=(0|0); - if ($409) { - $410 = HEAP32[$1>>2]|0; - $411 = HEAP32[$sSort>>2]|0; - $412 = HEAP32[$pEList>>2]|0; - $413 = HEAP32[$412>>2]|0; - $414 = (_keyInfoFromExprList($410,$411,0,$413)|0); - HEAP32[$pKeyInfo>>2] = $414; - $415 = HEAP32[$1>>2]|0; - $416 = ((($415)) + 72|0); - $417 = HEAP32[$416>>2]|0; - $418 = (($417) + 1)|0; - HEAP32[$416>>2] = $418; - $419 = ((($sSort)) + 8|0); - HEAP32[$419>>2] = $417; - $420 = HEAP32[$v>>2]|0; - $421 = ((($sSort)) + 8|0); - $422 = HEAP32[$421>>2]|0; - $423 = HEAP32[$sSort>>2]|0; - $424 = HEAP32[$423>>2]|0; - $425 = (($424) + 1)|0; - $426 = HEAP32[$pEList>>2]|0; - $427 = HEAP32[$426>>2]|0; - $428 = (($425) + ($427))|0; - $429 = HEAP32[$pKeyInfo>>2]|0; - $430 = (_sqlite3VdbeAddOp4($420,57,$422,$428,0,$429,-6)|0); - $431 = ((($sSort)) + 20|0); - HEAP32[$431>>2] = $430; + $395 = HEAP32[$sSort>>2]|0; + $396 = ($395|0)!=(0|0); + if ($396) { + $397 = HEAP32[$1>>2]|0; + $398 = HEAP32[$sSort>>2]|0; + $399 = HEAP32[$pEList>>2]|0; + $400 = HEAP32[$399>>2]|0; + $401 = (_keyInfoFromExprList($397,$398,0,$400)|0); + HEAP32[$pKeyInfo>>2] = $401; + $402 = HEAP32[$1>>2]|0; + $403 = ((($402)) + 72|0); + $404 = HEAP32[$403>>2]|0; + $405 = (($404) + 1)|0; + HEAP32[$403>>2] = $405; + $406 = ((($sSort)) + 8|0); + HEAP32[$406>>2] = $404; + $407 = HEAP32[$v>>2]|0; + $408 = ((($sSort)) + 8|0); + $409 = HEAP32[$408>>2]|0; + $410 = HEAP32[$sSort>>2]|0; + $411 = HEAP32[$410>>2]|0; + $412 = (($411) + 1)|0; + $413 = HEAP32[$pEList>>2]|0; + $414 = HEAP32[$413>>2]|0; + $415 = (($412) + ($414))|0; + $416 = HEAP32[$pKeyInfo>>2]|0; + $417 = (_sqlite3VdbeAddOp4($407,57,$409,$415,0,$416,-6)|0); + $418 = ((($sSort)) + 20|0); + HEAP32[$418>>2] = $417; } else { - $432 = ((($sSort)) + 20|0); - HEAP32[$432>>2] = -1; + $419 = ((($sSort)) + 20|0); + HEAP32[$419>>2] = -1; } - $433 = HEAP32[$3>>2]|0; - $434 = HEAP8[$433>>0]|0; - $435 = $434&255; - $436 = ($435|0)==(12); - if ($436) { - $437 = HEAP32[$v>>2]|0; - $438 = HEAP32[$3>>2]|0; - $439 = ((($438)) + 4|0); - $440 = HEAP32[$439>>2]|0; - $441 = HEAP32[$pEList>>2]|0; + $420 = HEAP32[$3>>2]|0; + $421 = HEAP8[$420>>0]|0; + $422 = $421&255; + $423 = ($422|0)==(12); + if ($423) { + $424 = HEAP32[$v>>2]|0; + $425 = HEAP32[$3>>2]|0; + $426 = ((($425)) + 4|0); + $427 = HEAP32[$426>>2]|0; + $428 = HEAP32[$pEList>>2]|0; + $429 = HEAP32[$428>>2]|0; + (_sqlite3VdbeAddOp2($424,57,$427,$429)|0); + } + $430 = HEAP32[$v>>2]|0; + $431 = (_sqlite3VdbeMakeLabel($430)|0); + HEAP32[$iEnd>>2] = $431; + $432 = HEAP32[$2>>2]|0; + $433 = ((($432)) + 6|0); + HEAP16[$433>>1] = 320; + $434 = HEAP32[$1>>2]|0; + $435 = HEAP32[$2>>2]|0; + $436 = HEAP32[$iEnd>>2]|0; + _computeLimitRegisters($434,$435,$436); + $437 = HEAP32[$2>>2]|0; + $438 = ((($437)) + 12|0); + $439 = HEAP32[$438>>2]|0; + $440 = ($439|0)==(0); + if ($440) { + $441 = ((($sSort)) + 20|0); $442 = HEAP32[$441>>2]|0; - (_sqlite3VdbeAddOp2($437,57,$440,$442)|0); + $443 = ($442|0)>=(0); + if ($443) { + $444 = HEAP32[$v>>2]|0; + $445 = ((($sSort)) + 20|0); + $446 = HEAP32[$445>>2]|0; + _sqlite3VdbeChangeOpcode($444,$446,58); + $447 = ((($sSort)) + 28|0); + $448 = HEAP8[$447>>0]|0; + $449 = $448&255; + $450 = $449 | 1; + $451 = $450&255; + HEAP8[$447>>0] = $451; + } } - $443 = HEAP32[$v>>2]|0; - $444 = (_sqlite3VdbeMakeLabel($443)|0); - HEAP32[$iEnd>>2] = $444; - $445 = HEAP32[$2>>2]|0; - $446 = ((($445)) + 24|0); - $447 = $446; - $448 = $447; - HEAP32[$448>>2] = -1; - $449 = (($447) + 4)|0; - $450 = $449; - HEAP32[$450>>2] = 2147483647; - $451 = HEAP32[$1>>2]|0; $452 = HEAP32[$2>>2]|0; - $453 = HEAP32[$iEnd>>2]|0; - _computeLimitRegisters($451,$452,$453); - $454 = HEAP32[$2>>2]|0; - $455 = ((($454)) + 8|0); - $456 = HEAP32[$455>>2]|0; - $457 = ($456|0)==(0); - if ($457) { - $458 = ((($sSort)) + 20|0); + $453 = ((($452)) + 8|0); + $454 = HEAP32[$453>>2]|0; + $455 = $454 & 1; + $456 = ($455|0)!=(0); + if ($456) { + $457 = HEAP32[$1>>2]|0; + $458 = ((($457)) + 72|0); $459 = HEAP32[$458>>2]|0; - $460 = ($459|0)>=(0); - if ($460) { - $461 = HEAP32[$v>>2]|0; - $462 = ((($sSort)) + 20|0); - $463 = HEAP32[$462>>2]|0; - _sqlite3VdbeChangeOpcode($461,$463,58); - $464 = ((($sSort)) + 28|0); - $465 = HEAP8[$464>>0]|0; - $466 = $465&255; - $467 = $466 | 1; - $468 = $467&255; - HEAP8[$464>>0] = $468; - } - } - $469 = HEAP32[$2>>2]|0; - $470 = ((($469)) + 6|0); - $471 = HEAP16[$470>>1]|0; - $472 = $471&65535; - $473 = $472 & 1; - $474 = ($473|0)!=(0); - if ($474) { - $475 = HEAP32[$1>>2]|0; - $476 = ((($475)) + 72|0); - $477 = HEAP32[$476>>2]|0; - $478 = (($477) + 1)|0; - HEAP32[$476>>2] = $478; - $479 = ((($sDistinct)) + 4|0); - HEAP32[$479>>2] = $477; - $480 = HEAP32[$v>>2]|0; - $481 = ((($sDistinct)) + 4|0); - $482 = HEAP32[$481>>2]|0; - $483 = HEAP32[$1>>2]|0; - $484 = HEAP32[$2>>2]|0; - $485 = HEAP32[$484>>2]|0; - $486 = (_keyInfoFromExprList($483,$485,0,0)|0); - $487 = (_sqlite3VdbeAddOp4($480,57,$482,0,0,$486,-6)|0); - $488 = ((($sDistinct)) + 8|0); - HEAP32[$488>>2] = $487; - $489 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($489,8); - $490 = ((($sDistinct)) + 1|0); - HEAP8[$490>>0] = 3; + $460 = (($459) + 1)|0; + HEAP32[$458>>2] = $460; + $461 = ((($sDistinct)) + 4|0); + HEAP32[$461>>2] = $459; + $462 = HEAP32[$v>>2]|0; + $463 = ((($sDistinct)) + 4|0); + $464 = HEAP32[$463>>2]|0; + $465 = HEAP32[$1>>2]|0; + $466 = HEAP32[$2>>2]|0; + $467 = HEAP32[$466>>2]|0; + $468 = (_keyInfoFromExprList($465,$467,0,0)|0); + $469 = (_sqlite3VdbeAddOp4($462,57,$464,0,0,$468,-6)|0); + $470 = ((($sDistinct)) + 8|0); + HEAP32[$470>>2] = $469; + $471 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($471,8); + $472 = ((($sDistinct)) + 1|0); + HEAP8[$472>>0] = 3; } else { - $491 = ((($sDistinct)) + 1|0); - HEAP8[$491>>0] = 0; + $473 = ((($sDistinct)) + 1|0); + HEAP8[$473>>0] = 0; } - $492 = HEAP32[$isAgg>>2]|0; - $493 = ($492|0)==(0); - $494 = HEAP32[$pGroupBy>>2]|0; - $495 = ($494|0)==(0|0); - $or$cond = $493 & $495; + $474 = HEAP32[$isAgg>>2]|0; + $475 = ($474|0)==(0); + $476 = HEAP32[$pGroupBy>>2]|0; + $477 = ($476|0)==(0|0); + $or$cond = $475 & $477; if ($or$cond) { - $496 = HEAP8[$sDistinct>>0]|0; - $497 = $496&255; - $498 = ($497|0)!=(0); - $499 = $498 ? 1024 : 0; - $500 = $499&65535; - HEAP16[$wctrlFlags>>1] = $500; - $501 = HEAP32[$1>>2]|0; - $502 = HEAP32[$pTabList>>2]|0; - $503 = HEAP32[$pWhere>>2]|0; - $504 = HEAP32[$sSort>>2]|0; - $505 = HEAP32[$2>>2]|0; - $506 = HEAP32[$505>>2]|0; - $507 = HEAP16[$wctrlFlags>>1]|0; - $508 = (_sqlite3WhereBegin($501,$502,$503,$504,$506,$507,0)|0); - HEAP32[$pWInfo>>2] = $508; - $509 = HEAP32[$pWInfo>>2]|0; - $510 = ($509|0)==(0|0); - if ($510) { + $478 = HEAP8[$sDistinct>>0]|0; + $479 = $478&255; + $480 = ($479|0)!=(0); + $481 = $480 ? 1024 : 0; + $482 = $481&65535; + HEAP16[$wctrlFlags>>1] = $482; + $483 = HEAP32[$2>>2]|0; + $484 = ((($483)) + 8|0); + $485 = HEAP32[$484>>2]|0; + $486 = $485 & 16384; + $487 = HEAP16[$wctrlFlags>>1]|0; + $488 = $487&65535; + $489 = $488 | $486; + $490 = $489&65535; + HEAP16[$wctrlFlags>>1] = $490; + $491 = HEAP32[$1>>2]|0; + $492 = HEAP32[$pTabList>>2]|0; + $493 = HEAP32[$pWhere>>2]|0; + $494 = HEAP32[$sSort>>2]|0; + $495 = HEAP32[$2>>2]|0; + $496 = HEAP32[$495>>2]|0; + $497 = HEAP16[$wctrlFlags>>1]|0; + $498 = HEAP32[$2>>2]|0; + $499 = ((($498)) + 6|0); + $500 = HEAP16[$499>>1]|0; + $501 = $500 << 16 >> 16; + $502 = (_sqlite3WhereBegin($491,$492,$493,$494,$496,$497,$501)|0); + HEAP32[$pWInfo>>2] = $502; + $503 = HEAP32[$pWInfo>>2]|0; + $504 = ($503|0)==(0|0); + if ($504) { break; } - $511 = HEAP32[$pWInfo>>2]|0; - $512 = (_sqlite3WhereOutputRowCount($511)|0); - $513 = tempRet0; - $514 = HEAP32[$2>>2]|0; - $515 = ((($514)) + 24|0); - $516 = $515; - $517 = $516; - $518 = HEAP32[$517>>2]|0; - $519 = (($516) + 4)|0; - $520 = $519; - $521 = HEAP32[$520>>2]|0; - $522 = ($513>>>0)<($521>>>0); - $523 = ($512>>>0)<($518>>>0); - $524 = ($513|0)==($521|0); - $525 = $524 & $523; - $526 = $522 | $525; - if ($526) { - $527 = HEAP32[$pWInfo>>2]|0; - $528 = (_sqlite3WhereOutputRowCount($527)|0); - $529 = tempRet0; - $530 = HEAP32[$2>>2]|0; - $531 = ((($530)) + 24|0); - $532 = $531; - $533 = $532; - HEAP32[$533>>2] = $528; - $534 = (($532) + 4)|0; - $535 = $534; - HEAP32[$535>>2] = $529; + $505 = HEAP32[$pWInfo>>2]|0; + $506 = (_sqlite3WhereOutputRowCount($505)|0); + $507 = $506 << 16 >> 16; + $508 = HEAP32[$2>>2]|0; + $509 = ((($508)) + 6|0); + $510 = HEAP16[$509>>1]|0; + $511 = $510 << 16 >> 16; + $512 = ($507|0)<($511|0); + if ($512) { + $513 = HEAP32[$pWInfo>>2]|0; + $514 = (_sqlite3WhereOutputRowCount($513)|0); + $515 = HEAP32[$2>>2]|0; + $516 = ((($515)) + 6|0); + HEAP16[$516>>1] = $514; } - $536 = HEAP8[$sDistinct>>0]|0; - $537 = $536&255; - $538 = ($537|0)!=(0); + $517 = HEAP8[$sDistinct>>0]|0; + $518 = $517&255; + $519 = ($518|0)!=(0); do { - if ($538) { - $539 = HEAP32[$pWInfo>>2]|0; - $540 = (_sqlite3WhereIsDistinct($539)|0); - $541 = ($540|0)!=(0); - if (!($541)) { + if ($519) { + $520 = HEAP32[$pWInfo>>2]|0; + $521 = (_sqlite3WhereIsDistinct($520)|0); + $522 = ($521|0)!=(0); + if (!($522)) { break; } - $542 = HEAP32[$pWInfo>>2]|0; - $543 = (_sqlite3WhereIsDistinct($542)|0); - $544 = $543&255; - $545 = ((($sDistinct)) + 1|0); - HEAP8[$545>>0] = $544; + $523 = HEAP32[$pWInfo>>2]|0; + $524 = (_sqlite3WhereIsDistinct($523)|0); + $525 = $524&255; + $526 = ((($sDistinct)) + 1|0); + HEAP8[$526>>0] = $525; } } while(0); - $546 = HEAP32[$sSort>>2]|0; - $547 = ($546|0)!=(0|0); + $527 = HEAP32[$sSort>>2]|0; + $528 = ($527|0)!=(0|0); do { - if ($547) { - $548 = HEAP32[$pWInfo>>2]|0; - $549 = (_sqlite3WhereIsOrdered($548)|0); - $550 = ((($sSort)) + 4|0); - HEAP32[$550>>2] = $549; - $551 = ((($sSort)) + 4|0); - $552 = HEAP32[$551>>2]|0; - $553 = HEAP32[$sSort>>2]|0; - $554 = HEAP32[$553>>2]|0; - $555 = ($552|0)==($554|0); - if (!($555)) { + if ($528) { + $529 = HEAP32[$pWInfo>>2]|0; + $530 = (_sqlite3WhereIsOrdered($529)|0); + $531 = ((($sSort)) + 4|0); + HEAP32[$531>>2] = $530; + $532 = ((($sSort)) + 4|0); + $533 = HEAP32[$532>>2]|0; + $534 = HEAP32[$sSort>>2]|0; + $535 = HEAP32[$534>>2]|0; + $536 = ($533|0)==($535|0); + if (!($536)) { break; } HEAP32[$sSort>>2] = 0; } } while(0); - $556 = ((($sSort)) + 20|0); - $557 = HEAP32[$556>>2]|0; - $558 = ($557|0)>=(0); + $537 = ((($sSort)) + 20|0); + $538 = HEAP32[$537>>2]|0; + $539 = ($538|0)>=(0); do { - if ($558) { - $559 = HEAP32[$sSort>>2]|0; - $560 = ($559|0)==(0|0); - if (!($560)) { + if ($539) { + $540 = HEAP32[$sSort>>2]|0; + $541 = ($540|0)==(0|0); + if (!($541)) { break; } - $561 = HEAP32[$v>>2]|0; - $562 = ((($sSort)) + 20|0); - $563 = HEAP32[$562>>2]|0; - (_sqlite3VdbeChangeToNoop($561,$563)|0); + $542 = HEAP32[$v>>2]|0; + $543 = ((($sSort)) + 20|0); + $544 = HEAP32[$543>>2]|0; + (_sqlite3VdbeChangeToNoop($542,$544)|0); } } while(0); - $564 = HEAP32[$1>>2]|0; - $565 = HEAP32[$2>>2]|0; - $566 = HEAP32[$pEList>>2]|0; - $567 = HEAP32[$3>>2]|0; - $568 = HEAP32[$pWInfo>>2]|0; - $569 = (_sqlite3WhereContinueLabel($568)|0); - $570 = HEAP32[$pWInfo>>2]|0; - $571 = (_sqlite3WhereBreakLabel($570)|0); - _selectInnerLoop($564,$565,$566,-1,$sSort,$sDistinct,$567,$569,$571); - $572 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($572); + $545 = HEAP32[$1>>2]|0; + $546 = HEAP32[$2>>2]|0; + $547 = HEAP32[$pEList>>2]|0; + $548 = HEAP32[$3>>2]|0; + $549 = HEAP32[$pWInfo>>2]|0; + $550 = (_sqlite3WhereContinueLabel($549)|0); + $551 = HEAP32[$pWInfo>>2]|0; + $552 = (_sqlite3WhereBreakLabel($551)|0); + _selectInnerLoop($545,$546,$547,-1,$sSort,$sDistinct,$548,$550,$552); + $553 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($553); } else { HEAP32[$sortPTab>>2] = 0; HEAP32[$sortOut>>2] = 0; HEAP32[$orderByGrp>>2] = 0; - $573 = HEAP32[$pGroupBy>>2]|0; - $574 = ($573|0)!=(0|0); - $575 = HEAP32[$2>>2]|0; + $554 = HEAP32[$pGroupBy>>2]|0; + $555 = ($554|0)!=(0|0); + $556 = HEAP32[$2>>2]|0; do { - if ($574) { - $576 = HEAP32[$575>>2]|0; - $577 = HEAP32[$576>>2]|0; - HEAP32[$k>>2] = $577; - $578 = HEAP32[$2>>2]|0; - $579 = HEAP32[$578>>2]|0; - $580 = ((($579)) + 4|0); - $581 = HEAP32[$580>>2]|0; - HEAP32[$pItem3>>2] = $581; + if ($555) { + $557 = HEAP32[$556>>2]|0; + $558 = HEAP32[$557>>2]|0; + HEAP32[$k>>2] = $558; + $559 = HEAP32[$2>>2]|0; + $560 = HEAP32[$559>>2]|0; + $561 = ((($560)) + 4|0); + $562 = HEAP32[$561>>2]|0; + HEAP32[$pItem3>>2] = $562; while(1) { - $582 = HEAP32[$k>>2]|0; - $583 = ($582|0)>(0); - if (!($583)) { + $563 = HEAP32[$k>>2]|0; + $564 = ($563|0)>(0); + if (!($564)) { break; } - $584 = HEAP32[$pItem3>>2]|0; - $585 = ((($584)) + 16|0); - $586 = ((($585)) + 2|0); - HEAP16[$586>>1] = 0; - $587 = HEAP32[$k>>2]|0; - $588 = (($587) + -1)|0; - HEAP32[$k>>2] = $588; - $589 = HEAP32[$pItem3>>2]|0; - $590 = ((($589)) + 20|0); - HEAP32[$pItem3>>2] = $590; + $565 = HEAP32[$pItem3>>2]|0; + $566 = ((($565)) + 16|0); + $567 = ((($566)) + 2|0); + HEAP16[$567>>1] = 0; + $568 = HEAP32[$k>>2]|0; + $569 = (($568) + -1)|0; + HEAP32[$k>>2] = $569; + $570 = HEAP32[$pItem3>>2]|0; + $571 = ((($570)) + 20|0); + HEAP32[$pItem3>>2] = $571; } - $591 = HEAP32[$pGroupBy>>2]|0; - $592 = HEAP32[$591>>2]|0; - HEAP32[$k>>2] = $592; - $593 = HEAP32[$pGroupBy>>2]|0; - $594 = ((($593)) + 4|0); - $595 = HEAP32[$594>>2]|0; - HEAP32[$pItem3>>2] = $595; + $572 = HEAP32[$pGroupBy>>2]|0; + $573 = HEAP32[$572>>2]|0; + HEAP32[$k>>2] = $573; + $574 = HEAP32[$pGroupBy>>2]|0; + $575 = ((($574)) + 4|0); + $576 = HEAP32[$575>>2]|0; + HEAP32[$pItem3>>2] = $576; while(1) { - $596 = HEAP32[$k>>2]|0; - $597 = ($596|0)>(0); - if (!($597)) { + $577 = HEAP32[$k>>2]|0; + $578 = ($577|0)>(0); + if (!($578)) { break; } - $598 = HEAP32[$pItem3>>2]|0; - $599 = ((($598)) + 16|0); - $600 = ((($599)) + 2|0); - HEAP16[$600>>1] = 0; - $601 = HEAP32[$k>>2]|0; - $602 = (($601) + -1)|0; - HEAP32[$k>>2] = $602; - $603 = HEAP32[$pItem3>>2]|0; - $604 = ((($603)) + 20|0); - HEAP32[$pItem3>>2] = $604; + $579 = HEAP32[$pItem3>>2]|0; + $580 = ((($579)) + 16|0); + $581 = ((($580)) + 2|0); + HEAP16[$581>>1] = 0; + $582 = HEAP32[$k>>2]|0; + $583 = (($582) + -1)|0; + HEAP32[$k>>2] = $583; + $584 = HEAP32[$pItem3>>2]|0; + $585 = ((($584)) + 20|0); + HEAP32[$pItem3>>2] = $585; } - $605 = HEAP32[$2>>2]|0; - $606 = ((($605)) + 24|0); - $607 = $606; - $608 = $607; - $609 = HEAP32[$608>>2]|0; - $610 = (($607) + 4)|0; - $611 = $610; - $612 = HEAP32[$611>>2]|0; - $613 = ($612>>>0)>(0); - $614 = ($609>>>0)>(100); - $615 = ($612|0)==(0); - $616 = $615 & $614; - $617 = $613 | $616; - if (!($617)) { + $586 = HEAP32[$2>>2]|0; + $587 = ((($586)) + 6|0); + $588 = HEAP16[$587>>1]|0; + $589 = $588 << 16 >> 16; + $590 = ($589|0)>(66); + if (!($590)) { break; } - $618 = HEAP32[$2>>2]|0; - $619 = ((($618)) + 24|0); - $620 = $619; - $621 = $620; - HEAP32[$621>>2] = 100; - $622 = (($620) + 4)|0; - $623 = $622; - HEAP32[$623>>2] = 0; + $591 = HEAP32[$2>>2]|0; + $592 = ((($591)) + 6|0); + HEAP16[$592>>1] = 66; } else { - $624 = ((($575)) + 24|0); - $625 = $624; - $626 = $625; - HEAP32[$626>>2] = 1; - $627 = (($625) + 4)|0; - $628 = $627; - HEAP32[$628>>2] = 0; + $593 = ((($556)) + 6|0); + HEAP16[$593>>1] = 0; } } while(0); - $629 = HEAP32[$pGroupBy>>2]|0; - $630 = HEAP32[$sSort>>2]|0; - $631 = (_sqlite3ExprListCompare($629,$630,-1)|0); - $632 = ($631|0)==(0); - if ($632) { + $594 = HEAP32[$pGroupBy>>2]|0; + $595 = HEAP32[$sSort>>2]|0; + $596 = (_sqlite3ExprListCompare($594,$595,-1)|0); + $597 = ($596|0)==(0); + if ($597) { HEAP32[$orderByGrp>>2] = 1; } - $633 = HEAP32[$v>>2]|0; - $634 = (_sqlite3VdbeMakeLabel($633)|0); - HEAP32[$addrEnd>>2] = $634; + $598 = HEAP32[$v>>2]|0; + $599 = (_sqlite3VdbeMakeLabel($598)|0); + HEAP32[$addrEnd>>2] = $599; ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $635 = HEAP32[$1>>2]|0; - HEAP32[$sNC>>2] = $635; - $636 = HEAP32[$pTabList>>2]|0; - $637 = ((($sNC)) + 4|0); - HEAP32[$637>>2] = $636; - $638 = ((($sNC)) + 12|0); - HEAP32[$638>>2] = $sAggInfo; - $639 = HEAP32[$1>>2]|0; - $640 = ((($639)) + 76|0); - $641 = HEAP32[$640>>2]|0; - $642 = (($641) + 1)|0; - $643 = ((($sAggInfo)) + 16|0); - HEAP32[$643>>2] = $642; - $644 = HEAP32[$pGroupBy>>2]|0; - $645 = ($644|0)!=(0|0); - if ($645) { - $646 = HEAP32[$pGroupBy>>2]|0; - $647 = HEAP32[$646>>2]|0; - $649 = $647; + $600 = HEAP32[$1>>2]|0; + HEAP32[$sNC>>2] = $600; + $601 = HEAP32[$pTabList>>2]|0; + $602 = ((($sNC)) + 4|0); + HEAP32[$602>>2] = $601; + $603 = ((($sNC)) + 12|0); + HEAP32[$603>>2] = $sAggInfo; + $604 = HEAP32[$1>>2]|0; + $605 = ((($604)) + 76|0); + $606 = HEAP32[$605>>2]|0; + $607 = (($606) + 1)|0; + $608 = ((($sAggInfo)) + 16|0); + HEAP32[$608>>2] = $607; + $609 = HEAP32[$pGroupBy>>2]|0; + $610 = ($609|0)!=(0|0); + if ($610) { + $611 = HEAP32[$pGroupBy>>2]|0; + $612 = HEAP32[$611>>2]|0; + $614 = $612; } else { - $649 = 0; + $614 = 0; } - $648 = ((($sAggInfo)) + 12|0); - HEAP32[$648>>2] = $649; - $650 = HEAP32[$pGroupBy>>2]|0; - $651 = ((($sAggInfo)) + 24|0); - HEAP32[$651>>2] = $650; - $652 = HEAP32[$pEList>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$652); - $653 = HEAP32[$sSort>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$653); - $654 = HEAP32[$pHaving>>2]|0; - $655 = ($654|0)!=(0|0); - if ($655) { - $656 = HEAP32[$pHaving>>2]|0; - _sqlite3ExprAnalyzeAggregates($sNC,$656); + $613 = ((($sAggInfo)) + 12|0); + HEAP32[$613>>2] = $614; + $615 = HEAP32[$pGroupBy>>2]|0; + $616 = ((($sAggInfo)) + 24|0); + HEAP32[$616>>2] = $615; + $617 = HEAP32[$pEList>>2]|0; + _sqlite3ExprAnalyzeAggList($sNC,$617); + $618 = HEAP32[$sSort>>2]|0; + _sqlite3ExprAnalyzeAggList($sNC,$618); + $619 = HEAP32[$pHaving>>2]|0; + $620 = ($619|0)!=(0|0); + if ($620) { + $621 = HEAP32[$pHaving>>2]|0; + _sqlite3ExprAnalyzeAggregates($sNC,$621); } - $657 = ((($sAggInfo)) + 32|0); - $658 = HEAP32[$657>>2]|0; - $659 = ((($sAggInfo)) + 36|0); - HEAP32[$659>>2] = $658; + $622 = ((($sAggInfo)) + 32|0); + $623 = HEAP32[$622>>2]|0; + $624 = ((($sAggInfo)) + 36|0); + HEAP32[$624>>2] = $623; HEAP32[$i>>2] = 0; while(1) { - $660 = HEAP32[$i>>2]|0; - $661 = ((($sAggInfo)) + 44|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($660|0)<($662|0); - if (!($663)) { + $625 = HEAP32[$i>>2]|0; + $626 = ((($sAggInfo)) + 44|0); + $627 = HEAP32[$626>>2]|0; + $628 = ($625|0)<($627|0); + if (!($628)) { break; } - $664 = ((($sNC)) + 28|0); - $665 = HEAP16[$664>>1]|0; - $666 = $665&65535; - $667 = $666 | 8; - $668 = $667&65535; - HEAP16[$664>>1] = $668; - $669 = HEAP32[$i>>2]|0; - $670 = ((($sAggInfo)) + 40|0); - $671 = HEAP32[$670>>2]|0; - $672 = (($671) + ($669<<4)|0); - $673 = HEAP32[$672>>2]|0; - $674 = ((($673)) + 20|0); - $675 = HEAP32[$674>>2]|0; - _sqlite3ExprAnalyzeAggList($sNC,$675); - $676 = ((($sNC)) + 28|0); - $677 = HEAP16[$676>>1]|0; - $678 = $677&65535; - $679 = $678 & -9; - $680 = $679&65535; - HEAP16[$676>>1] = $680; - $681 = HEAP32[$i>>2]|0; - $682 = (($681) + 1)|0; - HEAP32[$i>>2] = $682; + $629 = ((($sNC)) + 28|0); + $630 = HEAP16[$629>>1]|0; + $631 = $630&65535; + $632 = $631 | 8; + $633 = $632&65535; + HEAP16[$629>>1] = $633; + $634 = HEAP32[$i>>2]|0; + $635 = ((($sAggInfo)) + 40|0); + $636 = HEAP32[$635>>2]|0; + $637 = (($636) + ($634<<4)|0); + $638 = HEAP32[$637>>2]|0; + $639 = ((($638)) + 20|0); + $640 = HEAP32[$639>>2]|0; + _sqlite3ExprAnalyzeAggList($sNC,$640); + $641 = ((($sNC)) + 28|0); + $642 = HEAP16[$641>>1]|0; + $643 = $642&65535; + $644 = $643 & -9; + $645 = $644&65535; + HEAP16[$641>>1] = $645; + $646 = HEAP32[$i>>2]|0; + $647 = (($646) + 1)|0; + HEAP32[$i>>2] = $647; } - $683 = HEAP32[$1>>2]|0; - $684 = ((($683)) + 76|0); - $685 = HEAP32[$684>>2]|0; - $686 = ((($sAggInfo)) + 20|0); - HEAP32[$686>>2] = $685; - $687 = HEAP32[$db>>2]|0; - $688 = ((($687)) + 65|0); - $689 = HEAP8[$688>>0]|0; - $690 = ($689<<24>>24)!=(0); - if ($690) { + $648 = HEAP32[$1>>2]|0; + $649 = ((($648)) + 76|0); + $650 = HEAP32[$649>>2]|0; + $651 = ((($sAggInfo)) + 20|0); + HEAP32[$651>>2] = $650; + $652 = HEAP32[$db>>2]|0; + $653 = ((($652)) + 69|0); + $654 = HEAP8[$653>>0]|0; + $655 = ($654<<24>>24)!=(0); + if ($655) { break; } - $691 = HEAP32[$pGroupBy>>2]|0; - $692 = ($691|0)!=(0|0); - if ($692) { - $693 = HEAP32[$1>>2]|0; - $694 = ((($693)) + 72|0); - $695 = HEAP32[$694>>2]|0; - $696 = (($695) + 1)|0; - HEAP32[$694>>2] = $696; - $697 = ((($sAggInfo)) + 4|0); - HEAP32[$697>>2] = $695; - $698 = HEAP32[$1>>2]|0; + $656 = HEAP32[$pGroupBy>>2]|0; + $657 = ($656|0)!=(0|0); + if ($657) { + $658 = HEAP32[$1>>2]|0; + $659 = ((($658)) + 72|0); + $660 = HEAP32[$659>>2]|0; + $661 = (($660) + 1)|0; + HEAP32[$659>>2] = $661; + $662 = ((($sAggInfo)) + 4|0); + HEAP32[$662>>2] = $660; + $663 = HEAP32[$1>>2]|0; + $664 = HEAP32[$pGroupBy>>2]|0; + $665 = ((($sAggInfo)) + 32|0); + $666 = HEAP32[$665>>2]|0; + $667 = (_keyInfoFromExprList($663,$664,0,$666)|0); + HEAP32[$pKeyInfo4>>2] = $667; + $668 = HEAP32[$v>>2]|0; + $669 = ((($sAggInfo)) + 4|0); + $670 = HEAP32[$669>>2]|0; + $671 = ((($sAggInfo)) + 12|0); + $672 = HEAP32[$671>>2]|0; + $673 = HEAP32[$pKeyInfo4>>2]|0; + $674 = (_sqlite3VdbeAddOp4($668,58,$670,$672,0,$673,-6)|0); + HEAP32[$addrSortingIdx>>2] = $674; + $675 = HEAP32[$1>>2]|0; + $676 = ((($675)) + 76|0); + $677 = HEAP32[$676>>2]|0; + $678 = (($677) + 1)|0; + HEAP32[$676>>2] = $678; + HEAP32[$iUseFlag>>2] = $678; + $679 = HEAP32[$1>>2]|0; + $680 = ((($679)) + 76|0); + $681 = HEAP32[$680>>2]|0; + $682 = (($681) + 1)|0; + HEAP32[$680>>2] = $682; + HEAP32[$iAbortFlag>>2] = $682; + $683 = HEAP32[$1>>2]|0; + $684 = ((($683)) + 76|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($685) + 1)|0; + HEAP32[$684>>2] = $686; + HEAP32[$regOutputRow>>2] = $686; + $687 = HEAP32[$v>>2]|0; + $688 = (_sqlite3VdbeMakeLabel($687)|0); + HEAP32[$addrOutputRow>>2] = $688; + $689 = HEAP32[$1>>2]|0; + $690 = ((($689)) + 76|0); + $691 = HEAP32[$690>>2]|0; + $692 = (($691) + 1)|0; + HEAP32[$690>>2] = $692; + HEAP32[$regReset>>2] = $692; + $693 = HEAP32[$v>>2]|0; + $694 = (_sqlite3VdbeMakeLabel($693)|0); + HEAP32[$addrReset>>2] = $694; + $695 = HEAP32[$1>>2]|0; + $696 = ((($695)) + 76|0); + $697 = HEAP32[$696>>2]|0; + $698 = (($697) + 1)|0; + HEAP32[$iAMem>>2] = $698; $699 = HEAP32[$pGroupBy>>2]|0; - $700 = ((($sAggInfo)) + 32|0); - $701 = HEAP32[$700>>2]|0; - $702 = (_keyInfoFromExprList($698,$699,0,$701)|0); - HEAP32[$pKeyInfo4>>2] = $702; - $703 = HEAP32[$v>>2]|0; - $704 = ((($sAggInfo)) + 4|0); - $705 = HEAP32[$704>>2]|0; - $706 = ((($sAggInfo)) + 12|0); + $700 = HEAP32[$699>>2]|0; + $701 = HEAP32[$1>>2]|0; + $702 = ((($701)) + 76|0); + $703 = HEAP32[$702>>2]|0; + $704 = (($703) + ($700))|0; + HEAP32[$702>>2] = $704; + $705 = HEAP32[$1>>2]|0; + $706 = ((($705)) + 76|0); $707 = HEAP32[$706>>2]|0; - $708 = HEAP32[$pKeyInfo4>>2]|0; - $709 = (_sqlite3VdbeAddOp4($703,58,$705,$707,0,$708,-6)|0); - HEAP32[$addrSortingIdx>>2] = $709; - $710 = HEAP32[$1>>2]|0; - $711 = ((($710)) + 76|0); - $712 = HEAP32[$711>>2]|0; - $713 = (($712) + 1)|0; - HEAP32[$711>>2] = $713; - HEAP32[$iUseFlag>>2] = $713; - $714 = HEAP32[$1>>2]|0; - $715 = ((($714)) + 76|0); - $716 = HEAP32[$715>>2]|0; - $717 = (($716) + 1)|0; - HEAP32[$715>>2] = $717; - HEAP32[$iAbortFlag>>2] = $717; - $718 = HEAP32[$1>>2]|0; - $719 = ((($718)) + 76|0); - $720 = HEAP32[$719>>2]|0; - $721 = (($720) + 1)|0; - HEAP32[$719>>2] = $721; - HEAP32[$regOutputRow>>2] = $721; - $722 = HEAP32[$v>>2]|0; - $723 = (_sqlite3VdbeMakeLabel($722)|0); - HEAP32[$addrOutputRow>>2] = $723; - $724 = HEAP32[$1>>2]|0; - $725 = ((($724)) + 76|0); - $726 = HEAP32[$725>>2]|0; - $727 = (($726) + 1)|0; - HEAP32[$725>>2] = $727; - HEAP32[$regReset>>2] = $727; - $728 = HEAP32[$v>>2]|0; - $729 = (_sqlite3VdbeMakeLabel($728)|0); - HEAP32[$addrReset>>2] = $729; - $730 = HEAP32[$1>>2]|0; - $731 = ((($730)) + 76|0); - $732 = HEAP32[$731>>2]|0; - $733 = (($732) + 1)|0; - HEAP32[$iAMem>>2] = $733; - $734 = HEAP32[$pGroupBy>>2]|0; - $735 = HEAP32[$734>>2]|0; - $736 = HEAP32[$1>>2]|0; - $737 = ((($736)) + 76|0); - $738 = HEAP32[$737>>2]|0; - $739 = (($738) + ($735))|0; - HEAP32[$737>>2] = $739; - $740 = HEAP32[$1>>2]|0; - $741 = ((($740)) + 76|0); - $742 = HEAP32[$741>>2]|0; - $743 = (($742) + 1)|0; - HEAP32[$iBMem>>2] = $743; - $744 = HEAP32[$pGroupBy>>2]|0; - $745 = HEAP32[$744>>2]|0; - $746 = HEAP32[$1>>2]|0; - $747 = ((($746)) + 76|0); - $748 = HEAP32[$747>>2]|0; - $749 = (($748) + ($745))|0; - HEAP32[$747>>2] = $749; - $750 = HEAP32[$v>>2]|0; - $751 = HEAP32[$iAbortFlag>>2]|0; - (_sqlite3VdbeAddOp2($750,22,0,$751)|0); - $752 = HEAP32[$v>>2]|0; - $753 = HEAP32[$iUseFlag>>2]|0; - (_sqlite3VdbeAddOp2($752,22,0,$753)|0); - $754 = HEAP32[$v>>2]|0; - $755 = HEAP32[$iAMem>>2]|0; - $756 = HEAP32[$iAMem>>2]|0; - $757 = HEAP32[$pGroupBy>>2]|0; - $758 = HEAP32[$757>>2]|0; - $759 = (($756) + ($758))|0; - $760 = (($759) - 1)|0; - (_sqlite3VdbeAddOp3($754,25,0,$755,$760)|0); - $761 = HEAP32[$v>>2]|0; - $762 = HEAP32[$regReset>>2]|0; - $763 = HEAP32[$addrReset>>2]|0; - (_sqlite3VdbeAddOp2($761,14,$762,$763)|0); - $764 = HEAP32[$1>>2]|0; - $765 = HEAP32[$pTabList>>2]|0; - $766 = HEAP32[$pWhere>>2]|0; - $767 = HEAP32[$pGroupBy>>2]|0; - $768 = HEAP32[$orderByGrp>>2]|0; - $769 = ($768|0)!=(0); - $770 = $769 ? 2048 : 0; - $771 = 256 | $770; - $772 = $771&65535; - $773 = (_sqlite3WhereBegin($764,$765,$766,$767,0,$772,0)|0); - HEAP32[$pWInfo>>2] = $773; - $774 = HEAP32[$pWInfo>>2]|0; - $775 = ($774|0)==(0|0); - if ($775) { + $708 = (($707) + 1)|0; + HEAP32[$iBMem>>2] = $708; + $709 = HEAP32[$pGroupBy>>2]|0; + $710 = HEAP32[$709>>2]|0; + $711 = HEAP32[$1>>2]|0; + $712 = ((($711)) + 76|0); + $713 = HEAP32[$712>>2]|0; + $714 = (($713) + ($710))|0; + HEAP32[$712>>2] = $714; + $715 = HEAP32[$v>>2]|0; + $716 = HEAP32[$iAbortFlag>>2]|0; + (_sqlite3VdbeAddOp2($715,22,0,$716)|0); + $717 = HEAP32[$v>>2]|0; + $718 = HEAP32[$iUseFlag>>2]|0; + (_sqlite3VdbeAddOp2($717,22,0,$718)|0); + $719 = HEAP32[$v>>2]|0; + $720 = HEAP32[$iAMem>>2]|0; + $721 = HEAP32[$iAMem>>2]|0; + $722 = HEAP32[$pGroupBy>>2]|0; + $723 = HEAP32[$722>>2]|0; + $724 = (($721) + ($723))|0; + $725 = (($724) - 1)|0; + (_sqlite3VdbeAddOp3($719,25,0,$720,$725)|0); + $726 = HEAP32[$v>>2]|0; + $727 = HEAP32[$regReset>>2]|0; + $728 = HEAP32[$addrReset>>2]|0; + (_sqlite3VdbeAddOp2($726,14,$727,$728)|0); + $729 = HEAP32[$1>>2]|0; + $730 = HEAP32[$pTabList>>2]|0; + $731 = HEAP32[$pWhere>>2]|0; + $732 = HEAP32[$pGroupBy>>2]|0; + $733 = HEAP32[$orderByGrp>>2]|0; + $734 = ($733|0)!=(0); + $735 = $734 ? 2048 : 0; + $736 = 256 | $735; + $737 = $736&65535; + $738 = (_sqlite3WhereBegin($729,$730,$731,$732,0,$737,0)|0); + HEAP32[$pWInfo>>2] = $738; + $739 = HEAP32[$pWInfo>>2]|0; + $740 = ($739|0)==(0|0); + if ($740) { break; } - $776 = HEAP32[$pWInfo>>2]|0; - $777 = (_sqlite3WhereIsOrdered($776)|0); - $778 = HEAP32[$pGroupBy>>2]|0; - $779 = HEAP32[$778>>2]|0; - $780 = ($777|0)==($779|0); - if ($780) { + $741 = HEAP32[$pWInfo>>2]|0; + $742 = (_sqlite3WhereIsOrdered($741)|0); + $743 = HEAP32[$pGroupBy>>2]|0; + $744 = HEAP32[$743>>2]|0; + $745 = ($742|0)==($744|0); + if ($745) { HEAP32[$groupBySort>>2] = 0; } else { - $781 = HEAP32[$1>>2]|0; - $782 = HEAP8[$sDistinct>>0]|0; - $783 = $782&255; - $784 = ($783|0)!=(0); - if ($784) { - $785 = HEAP32[$2>>2]|0; - $786 = ((($785)) + 6|0); - $787 = HEAP16[$786>>1]|0; - $788 = $787&65535; - $789 = $788 & 1; - $790 = ($789|0)==(0); - $792 = $790; + $746 = HEAP32[$1>>2]|0; + $747 = HEAP8[$sDistinct>>0]|0; + $748 = $747&255; + $749 = ($748|0)!=(0); + if ($749) { + $750 = HEAP32[$2>>2]|0; + $751 = ((($750)) + 8|0); + $752 = HEAP32[$751>>2]|0; + $753 = $752 & 1; + $754 = ($753|0)==(0); + $756 = $754; } else { - $792 = 0; + $756 = 0; } - $791 = $792 ? 36474 : 36483; - _explainTempTable($781,$791); + $755 = $756 ? 36127 : 36136; + _explainTempTable($746,$755); HEAP32[$groupBySort>>2] = 1; - $793 = HEAP32[$pGroupBy>>2]|0; - $794 = HEAP32[$793>>2]|0; - HEAP32[$nGroupBy>>2] = $794; - $795 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$nCol>>2] = $795; - $796 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$j>>2] = $796; + $757 = HEAP32[$pGroupBy>>2]|0; + $758 = HEAP32[$757>>2]|0; + HEAP32[$nGroupBy>>2] = $758; + $759 = HEAP32[$nGroupBy>>2]|0; + HEAP32[$nCol>>2] = $759; + $760 = HEAP32[$nGroupBy>>2]|0; + HEAP32[$j>>2] = $760; HEAP32[$i>>2] = 0; while(1) { - $797 = HEAP32[$i>>2]|0; - $798 = ((($sAggInfo)) + 32|0); - $799 = HEAP32[$798>>2]|0; - $800 = ($797|0)<($799|0); - if (!($800)) { + $761 = HEAP32[$i>>2]|0; + $762 = ((($sAggInfo)) + 32|0); + $763 = HEAP32[$762>>2]|0; + $764 = ($761|0)<($763|0); + if (!($764)) { break; } - $801 = HEAP32[$i>>2]|0; - $802 = ((($sAggInfo)) + 28|0); - $803 = HEAP32[$802>>2]|0; - $804 = (($803) + (($801*24)|0)|0); - $805 = ((($804)) + 12|0); - $806 = HEAP32[$805>>2]|0; - $807 = HEAP32[$j>>2]|0; - $808 = ($806|0)>=($807|0); - if ($808) { - $809 = HEAP32[$nCol>>2]|0; - $810 = (($809) + 1)|0; - HEAP32[$nCol>>2] = $810; - $811 = HEAP32[$j>>2]|0; - $812 = (($811) + 1)|0; - HEAP32[$j>>2] = $812; + $765 = HEAP32[$i>>2]|0; + $766 = ((($sAggInfo)) + 28|0); + $767 = HEAP32[$766>>2]|0; + $768 = (($767) + (($765*24)|0)|0); + $769 = ((($768)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = HEAP32[$j>>2]|0; + $772 = ($770|0)>=($771|0); + if ($772) { + $773 = HEAP32[$nCol>>2]|0; + $774 = (($773) + 1)|0; + HEAP32[$nCol>>2] = $774; + $775 = HEAP32[$j>>2]|0; + $776 = (($775) + 1)|0; + HEAP32[$j>>2] = $776; } - $813 = HEAP32[$i>>2]|0; - $814 = (($813) + 1)|0; - HEAP32[$i>>2] = $814; + $777 = HEAP32[$i>>2]|0; + $778 = (($777) + 1)|0; + HEAP32[$i>>2] = $778; } - $815 = HEAP32[$1>>2]|0; - $816 = HEAP32[$nCol>>2]|0; - $817 = (_sqlite3GetTempRange($815,$816)|0); - HEAP32[$regBase>>2] = $817; - $818 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($818); - $819 = HEAP32[$1>>2]|0; - $820 = HEAP32[$pGroupBy>>2]|0; - $821 = HEAP32[$regBase>>2]|0; - (_sqlite3ExprCodeExprList($819,$820,$821,0,0)|0); - $822 = HEAP32[$nGroupBy>>2]|0; - HEAP32[$j>>2] = $822; + $779 = HEAP32[$1>>2]|0; + $780 = HEAP32[$nCol>>2]|0; + $781 = (_sqlite3GetTempRange($779,$780)|0); + HEAP32[$regBase>>2] = $781; + $782 = HEAP32[$1>>2]|0; + _sqlite3ExprCacheClear($782); + $783 = HEAP32[$1>>2]|0; + $784 = HEAP32[$pGroupBy>>2]|0; + $785 = HEAP32[$regBase>>2]|0; + (_sqlite3ExprCodeExprList($783,$784,$785,0,0)|0); + $786 = HEAP32[$nGroupBy>>2]|0; + HEAP32[$j>>2] = $786; HEAP32[$i>>2] = 0; while(1) { - $823 = HEAP32[$i>>2]|0; - $824 = ((($sAggInfo)) + 32|0); - $825 = HEAP32[$824>>2]|0; - $826 = ($823|0)<($825|0); - if (!($826)) { + $787 = HEAP32[$i>>2]|0; + $788 = ((($sAggInfo)) + 32|0); + $789 = HEAP32[$788>>2]|0; + $790 = ($787|0)<($789|0); + if (!($790)) { break; } - $827 = HEAP32[$i>>2]|0; - $828 = ((($sAggInfo)) + 28|0); - $829 = HEAP32[$828>>2]|0; - $830 = (($829) + (($827*24)|0)|0); - HEAP32[$pCol>>2] = $830; - $831 = HEAP32[$pCol>>2]|0; - $832 = ((($831)) + 12|0); - $833 = HEAP32[$832>>2]|0; - $834 = HEAP32[$j>>2]|0; - $835 = ($833|0)>=($834|0); - if ($835) { - $836 = HEAP32[$j>>2]|0; - $837 = HEAP32[$regBase>>2]|0; - $838 = (($836) + ($837))|0; - HEAP32[$r1>>2] = $838; - $839 = HEAP32[$1>>2]|0; - $840 = HEAP32[$pCol>>2]|0; - $841 = HEAP32[$840>>2]|0; - $842 = HEAP32[$pCol>>2]|0; - $843 = ((($842)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[$pCol>>2]|0; - $846 = ((($845)) + 4|0); - $847 = HEAP32[$846>>2]|0; - $848 = HEAP32[$r1>>2]|0; - _sqlite3ExprCodeGetColumnToReg($839,$841,$844,$847,$848); - $849 = HEAP32[$j>>2]|0; - $850 = (($849) + 1)|0; - HEAP32[$j>>2] = $850; + $791 = HEAP32[$i>>2]|0; + $792 = ((($sAggInfo)) + 28|0); + $793 = HEAP32[$792>>2]|0; + $794 = (($793) + (($791*24)|0)|0); + HEAP32[$pCol>>2] = $794; + $795 = HEAP32[$pCol>>2]|0; + $796 = ((($795)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = HEAP32[$j>>2]|0; + $799 = ($797|0)>=($798|0); + if ($799) { + $800 = HEAP32[$j>>2]|0; + $801 = HEAP32[$regBase>>2]|0; + $802 = (($800) + ($801))|0; + HEAP32[$r1>>2] = $802; + $803 = HEAP32[$1>>2]|0; + $804 = HEAP32[$pCol>>2]|0; + $805 = HEAP32[$804>>2]|0; + $806 = HEAP32[$pCol>>2]|0; + $807 = ((($806)) + 8|0); + $808 = HEAP32[$807>>2]|0; + $809 = HEAP32[$pCol>>2]|0; + $810 = ((($809)) + 4|0); + $811 = HEAP32[$810>>2]|0; + $812 = HEAP32[$r1>>2]|0; + _sqlite3ExprCodeGetColumnToReg($803,$805,$808,$811,$812); + $813 = HEAP32[$j>>2]|0; + $814 = (($813) + 1)|0; + HEAP32[$j>>2] = $814; } - $851 = HEAP32[$i>>2]|0; - $852 = (($851) + 1)|0; - HEAP32[$i>>2] = $852; + $815 = HEAP32[$i>>2]|0; + $816 = (($815) + 1)|0; + HEAP32[$i>>2] = $816; } - $853 = HEAP32[$1>>2]|0; - $854 = (_sqlite3GetTempReg($853)|0); - HEAP32[$regRecord>>2] = $854; - $855 = HEAP32[$v>>2]|0; - $856 = HEAP32[$regBase>>2]|0; - $857 = HEAP32[$nCol>>2]|0; - $858 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp3($855,49,$856,$857,$858)|0); - $859 = HEAP32[$v>>2]|0; - $860 = ((($sAggInfo)) + 4|0); - $861 = HEAP32[$860>>2]|0; - $862 = HEAP32[$regRecord>>2]|0; - (_sqlite3VdbeAddOp2($859,109,$861,$862)|0); - $863 = HEAP32[$1>>2]|0; - $864 = HEAP32[$regRecord>>2]|0; - _sqlite3ReleaseTempReg($863,$864); - $865 = HEAP32[$1>>2]|0; - $866 = HEAP32[$regBase>>2]|0; - $867 = HEAP32[$nCol>>2]|0; - _sqlite3ReleaseTempRange($865,$866,$867); - $868 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($868); - $869 = HEAP32[$1>>2]|0; - $870 = ((($869)) + 72|0); - $871 = HEAP32[$870>>2]|0; - $872 = (($871) + 1)|0; - HEAP32[$870>>2] = $872; - HEAP32[$sortPTab>>2] = $871; - $873 = ((($sAggInfo)) + 8|0); - HEAP32[$873>>2] = $871; - $874 = HEAP32[$1>>2]|0; - $875 = (_sqlite3GetTempReg($874)|0); - HEAP32[$sortOut>>2] = $875; - $876 = HEAP32[$v>>2]|0; - $877 = HEAP32[$sortPTab>>2]|0; - $878 = HEAP32[$sortOut>>2]|0; - $879 = HEAP32[$nCol>>2]|0; - (_sqlite3VdbeAddOp3($876,60,$877,$878,$879)|0); - $880 = HEAP32[$v>>2]|0; - $881 = ((($sAggInfo)) + 4|0); - $882 = HEAP32[$881>>2]|0; - $883 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeAddOp2($880,106,$882,$883)|0); - $884 = ((($sAggInfo)) + 1|0); - HEAP8[$884>>0] = 1; - $885 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($885); + $817 = HEAP32[$1>>2]|0; + $818 = (_sqlite3GetTempReg($817)|0); + HEAP32[$regRecord>>2] = $818; + $819 = HEAP32[$v>>2]|0; + $820 = HEAP32[$regBase>>2]|0; + $821 = HEAP32[$nCol>>2]|0; + $822 = HEAP32[$regRecord>>2]|0; + (_sqlite3VdbeAddOp3($819,49,$820,$821,$822)|0); + $823 = HEAP32[$v>>2]|0; + $824 = ((($sAggInfo)) + 4|0); + $825 = HEAP32[$824>>2]|0; + $826 = HEAP32[$regRecord>>2]|0; + (_sqlite3VdbeAddOp2($823,109,$825,$826)|0); + $827 = HEAP32[$1>>2]|0; + $828 = HEAP32[$regRecord>>2]|0; + _sqlite3ReleaseTempReg($827,$828); + $829 = HEAP32[$1>>2]|0; + $830 = HEAP32[$regBase>>2]|0; + $831 = HEAP32[$nCol>>2]|0; + _sqlite3ReleaseTempRange($829,$830,$831); + $832 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($832); + $833 = HEAP32[$1>>2]|0; + $834 = ((($833)) + 72|0); + $835 = HEAP32[$834>>2]|0; + $836 = (($835) + 1)|0; + HEAP32[$834>>2] = $836; + HEAP32[$sortPTab>>2] = $835; + $837 = ((($sAggInfo)) + 8|0); + HEAP32[$837>>2] = $835; + $838 = HEAP32[$1>>2]|0; + $839 = (_sqlite3GetTempReg($838)|0); + HEAP32[$sortOut>>2] = $839; + $840 = HEAP32[$v>>2]|0; + $841 = HEAP32[$sortPTab>>2]|0; + $842 = HEAP32[$sortOut>>2]|0; + $843 = HEAP32[$nCol>>2]|0; + (_sqlite3VdbeAddOp3($840,60,$841,$842,$843)|0); + $844 = HEAP32[$v>>2]|0; + $845 = ((($sAggInfo)) + 4|0); + $846 = HEAP32[$845>>2]|0; + $847 = HEAP32[$addrEnd>>2]|0; + (_sqlite3VdbeAddOp2($844,106,$846,$847)|0); + $848 = ((($sAggInfo)) + 1|0); + HEAP8[$848>>0] = 1; + $849 = HEAP32[$1>>2]|0; + _sqlite3ExprCacheClear($849); } - $886 = HEAP32[$orderByGrp>>2]|0; - $887 = ($886|0)!=(0); + $850 = HEAP32[$orderByGrp>>2]|0; + $851 = ($850|0)!=(0); do { - if ($887) { - $888 = HEAP32[$db>>2]|0; - $889 = ((($888)) + 60|0); - $890 = HEAP16[$889>>1]|0; - $891 = $890&65535; - $892 = $891 & 4; - $893 = ($892|0)==(0); - if (!($893)) { + if ($851) { + $852 = HEAP32[$db>>2]|0; + $853 = ((($852)) + 64|0); + $854 = HEAP16[$853>>1]|0; + $855 = $854&65535; + $856 = $855 & 4; + $857 = ($856|0)==(0); + if (!($857)) { break; } - $894 = HEAP32[$groupBySort>>2]|0; - $895 = ($894|0)!=(0); - if (!($895)) { - $896 = HEAP32[$pWInfo>>2]|0; - $897 = (_sqlite3WhereIsSorted($896)|0); - $898 = ($897|0)!=(0); - if (!($898)) { + $858 = HEAP32[$groupBySort>>2]|0; + $859 = ($858|0)!=(0); + if (!($859)) { + $860 = HEAP32[$pWInfo>>2]|0; + $861 = (_sqlite3WhereIsSorted($860)|0); + $862 = ($861|0)!=(0); + if (!($862)) { break; } } HEAP32[$sSort>>2] = 0; - $899 = HEAP32[$v>>2]|0; - $900 = ((($sSort)) + 20|0); - $901 = HEAP32[$900>>2]|0; - (_sqlite3VdbeChangeToNoop($899,$901)|0); + $863 = HEAP32[$v>>2]|0; + $864 = ((($sSort)) + 20|0); + $865 = HEAP32[$864>>2]|0; + (_sqlite3VdbeChangeToNoop($863,$865)|0); } } while(0); - $902 = HEAP32[$v>>2]|0; - $903 = (_sqlite3VdbeCurrentAddr($902)|0); - HEAP32[$addrTopOfLoop>>2] = $903; - $904 = HEAP32[$1>>2]|0; - _sqlite3ExprCacheClear($904); - $905 = HEAP32[$groupBySort>>2]|0; - $906 = ($905|0)!=(0); - if ($906) { - $907 = HEAP32[$v>>2]|0; - $908 = ((($sAggInfo)) + 4|0); - $909 = HEAP32[$908>>2]|0; - $910 = HEAP32[$sortOut>>2]|0; - $911 = HEAP32[$sortPTab>>2]|0; - (_sqlite3VdbeAddOp3($907,100,$909,$910,$911)|0); + $866 = HEAP32[$v>>2]|0; + $867 = (_sqlite3VdbeCurrentAddr($866)|0); + HEAP32[$addrTopOfLoop>>2] = $867; + $868 = HEAP32[$1>>2]|0; + _sqlite3ExprCacheClear($868); + $869 = HEAP32[$groupBySort>>2]|0; + $870 = ($869|0)!=(0); + if ($870) { + $871 = HEAP32[$v>>2]|0; + $872 = ((($sAggInfo)) + 4|0); + $873 = HEAP32[$872>>2]|0; + $874 = HEAP32[$sortOut>>2]|0; + $875 = HEAP32[$sortPTab>>2]|0; + (_sqlite3VdbeAddOp3($871,100,$873,$874,$875)|0); } HEAP32[$j>>2] = 0; while(1) { - $912 = HEAP32[$j>>2]|0; - $913 = HEAP32[$pGroupBy>>2]|0; - $914 = HEAP32[$913>>2]|0; - $915 = ($912|0)<($914|0); - if (!($915)) { + $876 = HEAP32[$j>>2]|0; + $877 = HEAP32[$pGroupBy>>2]|0; + $878 = HEAP32[$877>>2]|0; + $879 = ($876|0)<($878|0); + if (!($879)) { break; } - $916 = HEAP32[$groupBySort>>2]|0; - $917 = ($916|0)!=(0); - if ($917) { - $918 = HEAP32[$v>>2]|0; - $919 = HEAP32[$sortPTab>>2]|0; - $920 = HEAP32[$j>>2]|0; - $921 = HEAP32[$iBMem>>2]|0; - $922 = HEAP32[$j>>2]|0; - $923 = (($921) + ($922))|0; - (_sqlite3VdbeAddOp3($918,47,$919,$920,$923)|0); + $880 = HEAP32[$groupBySort>>2]|0; + $881 = ($880|0)!=(0); + if ($881) { + $882 = HEAP32[$v>>2]|0; + $883 = HEAP32[$sortPTab>>2]|0; + $884 = HEAP32[$j>>2]|0; + $885 = HEAP32[$iBMem>>2]|0; + $886 = HEAP32[$j>>2]|0; + $887 = (($885) + ($886))|0; + (_sqlite3VdbeAddOp3($882,47,$883,$884,$887)|0); } else { HEAP8[$sAggInfo>>0] = 1; - $924 = HEAP32[$1>>2]|0; - $925 = HEAP32[$j>>2]|0; - $926 = HEAP32[$pGroupBy>>2]|0; - $927 = ((($926)) + 4|0); - $928 = HEAP32[$927>>2]|0; - $929 = (($928) + (($925*20)|0)|0); - $930 = HEAP32[$929>>2]|0; - $931 = HEAP32[$iBMem>>2]|0; - $932 = HEAP32[$j>>2]|0; - $933 = (($931) + ($932))|0; - _sqlite3ExprCode($924,$930,$933); + $888 = HEAP32[$1>>2]|0; + $889 = HEAP32[$j>>2]|0; + $890 = HEAP32[$pGroupBy>>2]|0; + $891 = ((($890)) + 4|0); + $892 = HEAP32[$891>>2]|0; + $893 = (($892) + (($889*20)|0)|0); + $894 = HEAP32[$893>>2]|0; + $895 = HEAP32[$iBMem>>2]|0; + $896 = HEAP32[$j>>2]|0; + $897 = (($895) + ($896))|0; + _sqlite3ExprCode($888,$894,$897); } - $934 = HEAP32[$j>>2]|0; - $935 = (($934) + 1)|0; - HEAP32[$j>>2] = $935; + $898 = HEAP32[$j>>2]|0; + $899 = (($898) + 1)|0; + HEAP32[$j>>2] = $899; } - $936 = HEAP32[$v>>2]|0; - $937 = HEAP32[$iAMem>>2]|0; - $938 = HEAP32[$iBMem>>2]|0; - $939 = HEAP32[$pGroupBy>>2]|0; - $940 = HEAP32[$939>>2]|0; - $941 = HEAP32[$pKeyInfo4>>2]|0; - $942 = (_sqlite3KeyInfoRef($941)|0); - (_sqlite3VdbeAddOp4($936,42,$937,$938,$940,$942,-6)|0); - $943 = HEAP32[$v>>2]|0; - $944 = (_sqlite3VdbeCurrentAddr($943)|0); - HEAP32[$addr1>>2] = $944; + $900 = HEAP32[$v>>2]|0; + $901 = HEAP32[$iAMem>>2]|0; + $902 = HEAP32[$iBMem>>2]|0; + $903 = HEAP32[$pGroupBy>>2]|0; + $904 = HEAP32[$903>>2]|0; + $905 = HEAP32[$pKeyInfo4>>2]|0; + $906 = (_sqlite3KeyInfoRef($905)|0); + (_sqlite3VdbeAddOp4($900,42,$901,$902,$904,$906,-6)|0); + $907 = HEAP32[$v>>2]|0; + $908 = (_sqlite3VdbeCurrentAddr($907)|0); + HEAP32[$addr1>>2] = $908; + $909 = HEAP32[$v>>2]|0; + $910 = HEAP32[$addr1>>2]|0; + $911 = (($910) + 1)|0; + $912 = HEAP32[$addr1>>2]|0; + $913 = (($912) + 1)|0; + (_sqlite3VdbeAddOp3($909,43,$911,0,$913)|0); + $914 = HEAP32[$1>>2]|0; + $915 = HEAP32[$iBMem>>2]|0; + $916 = HEAP32[$iAMem>>2]|0; + $917 = HEAP32[$pGroupBy>>2]|0; + $918 = HEAP32[$917>>2]|0; + _sqlite3ExprCodeMove($914,$915,$916,$918); + $919 = HEAP32[$v>>2]|0; + $920 = HEAP32[$regOutputRow>>2]|0; + $921 = HEAP32[$addrOutputRow>>2]|0; + (_sqlite3VdbeAddOp2($919,14,$920,$921)|0); + $922 = HEAP32[$v>>2]|0; + $923 = HEAP32[$iAbortFlag>>2]|0; + $924 = HEAP32[$addrEnd>>2]|0; + (_sqlite3VdbeAddOp2($922,138,$923,$924)|0); + $925 = HEAP32[$v>>2]|0; + $926 = HEAP32[$regReset>>2]|0; + $927 = HEAP32[$addrReset>>2]|0; + (_sqlite3VdbeAddOp2($925,14,$926,$927)|0); + $928 = HEAP32[$v>>2]|0; + $929 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($928,$929); + $930 = HEAP32[$1>>2]|0; + _updateAccumulator($930,$sAggInfo); + $931 = HEAP32[$v>>2]|0; + $932 = HEAP32[$iUseFlag>>2]|0; + (_sqlite3VdbeAddOp2($931,22,1,$932)|0); + $933 = HEAP32[$groupBySort>>2]|0; + $934 = ($933|0)!=(0); + if ($934) { + $935 = HEAP32[$v>>2]|0; + $936 = ((($sAggInfo)) + 4|0); + $937 = HEAP32[$936>>2]|0; + $938 = HEAP32[$addrTopOfLoop>>2]|0; + (_sqlite3VdbeAddOp2($935,3,$937,$938)|0); + } else { + $939 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($939); + $940 = HEAP32[$v>>2]|0; + $941 = HEAP32[$addrSortingIdx>>2]|0; + (_sqlite3VdbeChangeToNoop($940,$941)|0); + } + $942 = HEAP32[$v>>2]|0; + $943 = HEAP32[$regOutputRow>>2]|0; + $944 = HEAP32[$addrOutputRow>>2]|0; + (_sqlite3VdbeAddOp2($942,14,$943,$944)|0); $945 = HEAP32[$v>>2]|0; - $946 = HEAP32[$addr1>>2]|0; - $947 = (($946) + 1)|0; - $948 = HEAP32[$addr1>>2]|0; - $949 = (($948) + 1)|0; - (_sqlite3VdbeAddOp3($945,43,$947,0,$949)|0); - $950 = HEAP32[$1>>2]|0; - $951 = HEAP32[$iBMem>>2]|0; - $952 = HEAP32[$iAMem>>2]|0; - $953 = HEAP32[$pGroupBy>>2]|0; - $954 = HEAP32[$953>>2]|0; - _sqlite3ExprCodeMove($950,$951,$952,$954); + $946 = HEAP32[$addrEnd>>2]|0; + (_sqlite3VdbeGoto($945,$946)|0); + $947 = HEAP32[$v>>2]|0; + $948 = (_sqlite3VdbeCurrentAddr($947)|0); + HEAP32[$addrSetAbort>>2] = $948; + $949 = HEAP32[$v>>2]|0; + $950 = HEAP32[$iAbortFlag>>2]|0; + (_sqlite3VdbeAddOp2($949,22,1,$950)|0); + $951 = HEAP32[$v>>2]|0; + $952 = HEAP32[$regOutputRow>>2]|0; + (_sqlite3VdbeAddOp1($951,15,$952)|0); + $953 = HEAP32[$v>>2]|0; + $954 = HEAP32[$addrOutputRow>>2]|0; + _sqlite3VdbeResolveLabel($953,$954); $955 = HEAP32[$v>>2]|0; - $956 = HEAP32[$regOutputRow>>2]|0; - $957 = HEAP32[$addrOutputRow>>2]|0; - (_sqlite3VdbeAddOp2($955,14,$956,$957)|0); - $958 = HEAP32[$v>>2]|0; - $959 = HEAP32[$iAbortFlag>>2]|0; - $960 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeAddOp2($958,138,$959,$960)|0); + $956 = (_sqlite3VdbeCurrentAddr($955)|0); + HEAP32[$addrOutputRow>>2] = $956; + $957 = HEAP32[$v>>2]|0; + $958 = HEAP32[$iUseFlag>>2]|0; + $959 = HEAP32[$addrOutputRow>>2]|0; + $960 = (($959) + 2)|0; + (_sqlite3VdbeAddOp2($957,138,$958,$960)|0); $961 = HEAP32[$v>>2]|0; - $962 = HEAP32[$regReset>>2]|0; - $963 = HEAP32[$addrReset>>2]|0; - (_sqlite3VdbeAddOp2($961,14,$962,$963)|0); - $964 = HEAP32[$v>>2]|0; - $965 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($964,$965); - $966 = HEAP32[$1>>2]|0; - _updateAccumulator($966,$sAggInfo); - $967 = HEAP32[$v>>2]|0; - $968 = HEAP32[$iUseFlag>>2]|0; - (_sqlite3VdbeAddOp2($967,22,1,$968)|0); - $969 = HEAP32[$groupBySort>>2]|0; - $970 = ($969|0)!=(0); - if ($970) { - $971 = HEAP32[$v>>2]|0; - $972 = ((($sAggInfo)) + 4|0); - $973 = HEAP32[$972>>2]|0; - $974 = HEAP32[$addrTopOfLoop>>2]|0; - (_sqlite3VdbeAddOp2($971,3,$973,$974)|0); - } else { - $975 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($975); - $976 = HEAP32[$v>>2]|0; - $977 = HEAP32[$addrSortingIdx>>2]|0; - (_sqlite3VdbeChangeToNoop($976,$977)|0); - } + $962 = HEAP32[$regOutputRow>>2]|0; + (_sqlite3VdbeAddOp1($961,15,$962)|0); + $963 = HEAP32[$1>>2]|0; + _finalizeAggFunctions($963,$sAggInfo); + $964 = HEAP32[$1>>2]|0; + $965 = HEAP32[$pHaving>>2]|0; + $966 = HEAP32[$addrOutputRow>>2]|0; + $967 = (($966) + 1)|0; + _sqlite3ExprIfFalse($964,$965,$967,16); + $968 = HEAP32[$1>>2]|0; + $969 = HEAP32[$2>>2]|0; + $970 = HEAP32[$2>>2]|0; + $971 = HEAP32[$970>>2]|0; + $972 = HEAP32[$3>>2]|0; + $973 = HEAP32[$addrOutputRow>>2]|0; + $974 = (($973) + 1)|0; + $975 = HEAP32[$addrSetAbort>>2]|0; + _selectInnerLoop($968,$969,$971,-1,$sSort,$sDistinct,$972,$974,$975); + $976 = HEAP32[$v>>2]|0; + $977 = HEAP32[$regOutputRow>>2]|0; + (_sqlite3VdbeAddOp1($976,15,$977)|0); $978 = HEAP32[$v>>2]|0; - $979 = HEAP32[$regOutputRow>>2]|0; - $980 = HEAP32[$addrOutputRow>>2]|0; - (_sqlite3VdbeAddOp2($978,14,$979,$980)|0); + $979 = HEAP32[$addrReset>>2]|0; + _sqlite3VdbeResolveLabel($978,$979); + $980 = HEAP32[$1>>2]|0; + _resetAccumulator($980,$sAggInfo); $981 = HEAP32[$v>>2]|0; - $982 = HEAP32[$addrEnd>>2]|0; - (_sqlite3VdbeGoto($981,$982)|0); - $983 = HEAP32[$v>>2]|0; - $984 = (_sqlite3VdbeCurrentAddr($983)|0); - HEAP32[$addrSetAbort>>2] = $984; - $985 = HEAP32[$v>>2]|0; - $986 = HEAP32[$iAbortFlag>>2]|0; - (_sqlite3VdbeAddOp2($985,22,1,$986)|0); - $987 = HEAP32[$v>>2]|0; - $988 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($987,15,$988)|0); - $989 = HEAP32[$v>>2]|0; - $990 = HEAP32[$addrOutputRow>>2]|0; - _sqlite3VdbeResolveLabel($989,$990); - $991 = HEAP32[$v>>2]|0; - $992 = (_sqlite3VdbeCurrentAddr($991)|0); - HEAP32[$addrOutputRow>>2] = $992; - $993 = HEAP32[$v>>2]|0; - $994 = HEAP32[$iUseFlag>>2]|0; - $995 = HEAP32[$addrOutputRow>>2]|0; - $996 = (($995) + 2)|0; - (_sqlite3VdbeAddOp2($993,138,$994,$996)|0); - $997 = HEAP32[$v>>2]|0; - $998 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($997,15,$998)|0); - $999 = HEAP32[$1>>2]|0; - _finalizeAggFunctions($999,$sAggInfo); - $1000 = HEAP32[$1>>2]|0; - $1001 = HEAP32[$pHaving>>2]|0; - $1002 = HEAP32[$addrOutputRow>>2]|0; - $1003 = (($1002) + 1)|0; - _sqlite3ExprIfFalse($1000,$1001,$1003,16); - $1004 = HEAP32[$1>>2]|0; - $1005 = HEAP32[$2>>2]|0; - $1006 = HEAP32[$2>>2]|0; - $1007 = HEAP32[$1006>>2]|0; - $1008 = HEAP32[$3>>2]|0; - $1009 = HEAP32[$addrOutputRow>>2]|0; - $1010 = (($1009) + 1)|0; - $1011 = HEAP32[$addrSetAbort>>2]|0; - _selectInnerLoop($1004,$1005,$1007,-1,$sSort,$sDistinct,$1008,$1010,$1011); - $1012 = HEAP32[$v>>2]|0; - $1013 = HEAP32[$regOutputRow>>2]|0; - (_sqlite3VdbeAddOp1($1012,15,$1013)|0); - $1014 = HEAP32[$v>>2]|0; - $1015 = HEAP32[$addrReset>>2]|0; - _sqlite3VdbeResolveLabel($1014,$1015); - $1016 = HEAP32[$1>>2]|0; - _resetAccumulator($1016,$sAggInfo); - $1017 = HEAP32[$v>>2]|0; - $1018 = HEAP32[$regReset>>2]|0; - (_sqlite3VdbeAddOp1($1017,15,$1018)|0); + $982 = HEAP32[$regReset>>2]|0; + (_sqlite3VdbeAddOp1($981,15,$982)|0); } else { HEAP32[$pDel>>2] = 0; - $1019 = HEAP32[$2>>2]|0; - $1020 = (_isSimpleCount($1019,$sAggInfo)|0); - HEAP32[$pTab5>>2] = $1020; - $1021 = ($1020|0)!=(0|0); - if ($1021) { - $1022 = HEAP32[$1>>2]|0; - $1023 = HEAP32[$1022>>2]|0; - $1024 = HEAP32[$pTab5>>2]|0; - $1025 = ((($1024)) + 64|0); - $1026 = HEAP32[$1025>>2]|0; - $1027 = (_sqlite3SchemaToIndex($1023,$1026)|0); - HEAP32[$iDb>>2] = $1027; - $1028 = HEAP32[$1>>2]|0; - $1029 = ((($1028)) + 72|0); - $1030 = HEAP32[$1029>>2]|0; - $1031 = (($1030) + 1)|0; - HEAP32[$1029>>2] = $1031; - HEAP32[$iCsr>>2] = $1030; + $983 = HEAP32[$2>>2]|0; + $984 = (_isSimpleCount($983,$sAggInfo)|0); + HEAP32[$pTab5>>2] = $984; + $985 = ($984|0)!=(0|0); + if ($985) { + $986 = HEAP32[$1>>2]|0; + $987 = HEAP32[$986>>2]|0; + $988 = HEAP32[$pTab5>>2]|0; + $989 = ((($988)) + 64|0); + $990 = HEAP32[$989>>2]|0; + $991 = (_sqlite3SchemaToIndex($987,$990)|0); + HEAP32[$iDb>>2] = $991; + $992 = HEAP32[$1>>2]|0; + $993 = ((($992)) + 72|0); + $994 = HEAP32[$993>>2]|0; + $995 = (($994) + 1)|0; + HEAP32[$993>>2] = $995; + HEAP32[$iCsr>>2] = $994; HEAP32[$pKeyInfo6>>2] = 0; HEAP32[$pBest>>2] = 0; - $1032 = HEAP32[$pTab5>>2]|0; - $1033 = ((($1032)) + 28|0); - $1034 = HEAP32[$1033>>2]|0; - HEAP32[$iRoot>>2] = $1034; - $1035 = HEAP32[$1>>2]|0; - $1036 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($1035,$1036); - $1037 = HEAP32[$1>>2]|0; - $1038 = HEAP32[$iDb>>2]|0; - $1039 = HEAP32[$pTab5>>2]|0; - $1040 = ((($1039)) + 28|0); - $1041 = HEAP32[$1040>>2]|0; - $1042 = HEAP32[$pTab5>>2]|0; - $1043 = HEAP32[$1042>>2]|0; - _sqlite3TableLock($1037,$1038,$1041,0,$1043); - $1044 = HEAP32[$pTab5>>2]|0; - $1045 = ((($1044)) + 42|0); - $1046 = HEAP8[$1045>>0]|0; - $1047 = $1046&255; - $1048 = $1047 & 32; - $1049 = ($1048|0)==(0); - if (!($1049)) { - $1050 = HEAP32[$pTab5>>2]|0; - $1051 = (_sqlite3PrimaryKeyIndex($1050)|0); - HEAP32[$pBest>>2] = $1051; + $996 = HEAP32[$pTab5>>2]|0; + $997 = ((($996)) + 28|0); + $998 = HEAP32[$997>>2]|0; + HEAP32[$iRoot>>2] = $998; + $999 = HEAP32[$1>>2]|0; + $1000 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($999,$1000); + $1001 = HEAP32[$1>>2]|0; + $1002 = HEAP32[$iDb>>2]|0; + $1003 = HEAP32[$pTab5>>2]|0; + $1004 = ((($1003)) + 28|0); + $1005 = HEAP32[$1004>>2]|0; + $1006 = HEAP32[$pTab5>>2]|0; + $1007 = HEAP32[$1006>>2]|0; + _sqlite3TableLock($1001,$1002,$1005,0,$1007); + $1008 = HEAP32[$pTab5>>2]|0; + $1009 = ((($1008)) + 42|0); + $1010 = HEAP8[$1009>>0]|0; + $1011 = $1010&255; + $1012 = $1011 & 32; + $1013 = ($1012|0)==(0); + if (!($1013)) { + $1014 = HEAP32[$pTab5>>2]|0; + $1015 = (_sqlite3PrimaryKeyIndex($1014)|0); + HEAP32[$pBest>>2] = $1015; } - $1052 = HEAP32[$pTab5>>2]|0; - $1053 = ((($1052)) + 8|0); - $1054 = HEAP32[$1053>>2]|0; - HEAP32[$pIdx>>2] = $1054; + $1016 = HEAP32[$pTab5>>2]|0; + $1017 = ((($1016)) + 8|0); + $1018 = HEAP32[$1017>>2]|0; + HEAP32[$pIdx>>2] = $1018; while(1) { - $1055 = HEAP32[$pIdx>>2]|0; - $1056 = ($1055|0)!=(0|0); - if (!($1056)) { + $1019 = HEAP32[$pIdx>>2]|0; + $1020 = ($1019|0)!=(0|0); + if (!($1020)) { break; } - $1057 = HEAP32[$pIdx>>2]|0; - $1058 = ((($1057)) + 55|0); - $1059 = HEAP8[$1058>>0]|0; - $1060 = ($1059&255) >>> 2; - $1061 = $1060 & 1; - $1062 = $1061&255; - $1063 = ($1062|0)==(0); + $1021 = HEAP32[$pIdx>>2]|0; + $1022 = ((($1021)) + 55|0); + $1023 = HEAP8[$1022>>0]|0; + $1024 = ($1023&255) >>> 2; + $1025 = $1024 & 1; + $1026 = $1025&255; + $1027 = ($1026|0)==(0); do { - if ($1063) { - $1064 = HEAP32[$pIdx>>2]|0; - $1065 = ((($1064)) + 48|0); - $1066 = HEAP16[$1065>>1]|0; - $1067 = $1066 << 16 >> 16; - $1068 = HEAP32[$pTab5>>2]|0; - $1069 = ((($1068)) + 40|0); - $1070 = HEAP16[$1069>>1]|0; - $1071 = $1070 << 16 >> 16; - $1072 = ($1067|0)<($1071|0); - if (!($1072)) { + if ($1027) { + $1028 = HEAP32[$pIdx>>2]|0; + $1029 = ((($1028)) + 48|0); + $1030 = HEAP16[$1029>>1]|0; + $1031 = $1030 << 16 >> 16; + $1032 = HEAP32[$pTab5>>2]|0; + $1033 = ((($1032)) + 40|0); + $1034 = HEAP16[$1033>>1]|0; + $1035 = $1034 << 16 >> 16; + $1036 = ($1031|0)<($1035|0); + if (!($1036)) { break; } - $1073 = HEAP32[$pIdx>>2]|0; - $1074 = ((($1073)) + 36|0); - $1075 = HEAP32[$1074>>2]|0; - $1076 = ($1075|0)==(0|0); - if (!($1076)) { + $1037 = HEAP32[$pIdx>>2]|0; + $1038 = ((($1037)) + 36|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = ($1039|0)==(0|0); + if (!($1040)) { break; } - $1077 = HEAP32[$pBest>>2]|0; - $1078 = ($1077|0)!=(0|0); - if ($1078) { - $1079 = HEAP32[$pIdx>>2]|0; - $1080 = ((($1079)) + 48|0); - $1081 = HEAP16[$1080>>1]|0; - $1082 = $1081 << 16 >> 16; - $1083 = HEAP32[$pBest>>2]|0; - $1084 = ((($1083)) + 48|0); - $1085 = HEAP16[$1084>>1]|0; - $1086 = $1085 << 16 >> 16; - $1087 = ($1082|0)<($1086|0); - if (!($1087)) { + $1041 = HEAP32[$pBest>>2]|0; + $1042 = ($1041|0)!=(0|0); + if ($1042) { + $1043 = HEAP32[$pIdx>>2]|0; + $1044 = ((($1043)) + 48|0); + $1045 = HEAP16[$1044>>1]|0; + $1046 = $1045 << 16 >> 16; + $1047 = HEAP32[$pBest>>2]|0; + $1048 = ((($1047)) + 48|0); + $1049 = HEAP16[$1048>>1]|0; + $1050 = $1049 << 16 >> 16; + $1051 = ($1046|0)<($1050|0); + if (!($1051)) { break; } } - $1088 = HEAP32[$pIdx>>2]|0; - HEAP32[$pBest>>2] = $1088; + $1052 = HEAP32[$pIdx>>2]|0; + HEAP32[$pBest>>2] = $1052; } } while(0); - $1089 = HEAP32[$pIdx>>2]|0; - $1090 = ((($1089)) + 20|0); - $1091 = HEAP32[$1090>>2]|0; - HEAP32[$pIdx>>2] = $1091; + $1053 = HEAP32[$pIdx>>2]|0; + $1054 = ((($1053)) + 20|0); + $1055 = HEAP32[$1054>>2]|0; + HEAP32[$pIdx>>2] = $1055; } - $1092 = HEAP32[$pBest>>2]|0; - $1093 = ($1092|0)!=(0|0); - if ($1093) { - $1094 = HEAP32[$pBest>>2]|0; - $1095 = ((($1094)) + 44|0); - $1096 = HEAP32[$1095>>2]|0; - HEAP32[$iRoot>>2] = $1096; - $1097 = HEAP32[$1>>2]|0; - $1098 = HEAP32[$pBest>>2]|0; - $1099 = (_sqlite3KeyInfoOfIndex($1097,$1098)|0); - HEAP32[$pKeyInfo6>>2] = $1099; + $1056 = HEAP32[$pBest>>2]|0; + $1057 = ($1056|0)!=(0|0); + if ($1057) { + $1058 = HEAP32[$pBest>>2]|0; + $1059 = ((($1058)) + 44|0); + $1060 = HEAP32[$1059>>2]|0; + HEAP32[$iRoot>>2] = $1060; + $1061 = HEAP32[$1>>2]|0; + $1062 = HEAP32[$pBest>>2]|0; + $1063 = (_sqlite3KeyInfoOfIndex($1061,$1062)|0); + HEAP32[$pKeyInfo6>>2] = $1063; } - $1100 = HEAP32[$v>>2]|0; - $1101 = HEAP32[$iCsr>>2]|0; - $1102 = HEAP32[$iRoot>>2]|0; - $1103 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp4Int($1100,54,$1101,$1102,$1103,1)|0); - $1104 = HEAP32[$pKeyInfo6>>2]|0; - $1105 = ($1104|0)!=(0|0); - if ($1105) { - $1106 = HEAP32[$v>>2]|0; - $1107 = HEAP32[$pKeyInfo6>>2]|0; - _sqlite3VdbeChangeP4($1106,-1,$1107,-6); + $1064 = HEAP32[$v>>2]|0; + $1065 = HEAP32[$iCsr>>2]|0; + $1066 = HEAP32[$iRoot>>2]|0; + $1067 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp4Int($1064,54,$1065,$1066,$1067,1)|0); + $1068 = HEAP32[$pKeyInfo6>>2]|0; + $1069 = ($1068|0)!=(0|0); + if ($1069) { + $1070 = HEAP32[$v>>2]|0; + $1071 = HEAP32[$pKeyInfo6>>2]|0; + _sqlite3VdbeChangeP4($1070,-1,$1071,-6); } - $1108 = HEAP32[$v>>2]|0; - $1109 = HEAP32[$iCsr>>2]|0; - $1110 = ((($sAggInfo)) + 40|0); - $1111 = HEAP32[$1110>>2]|0; - $1112 = ((($1111)) + 8|0); - $1113 = HEAP32[$1112>>2]|0; - (_sqlite3VdbeAddOp2($1108,50,$1109,$1113)|0); - $1114 = HEAP32[$v>>2]|0; - $1115 = HEAP32[$iCsr>>2]|0; - (_sqlite3VdbeAddOp1($1114,61,$1115)|0); - $1116 = HEAP32[$1>>2]|0; - $1117 = HEAP32[$pTab5>>2]|0; - $1118 = HEAP32[$pBest>>2]|0; - _explainSimpleCount($1116,$1117,$1118); + $1072 = HEAP32[$v>>2]|0; + $1073 = HEAP32[$iCsr>>2]|0; + $1074 = ((($sAggInfo)) + 40|0); + $1075 = HEAP32[$1074>>2]|0; + $1076 = ((($1075)) + 8|0); + $1077 = HEAP32[$1076>>2]|0; + (_sqlite3VdbeAddOp2($1072,50,$1073,$1077)|0); + $1078 = HEAP32[$v>>2]|0; + $1079 = HEAP32[$iCsr>>2]|0; + (_sqlite3VdbeAddOp1($1078,61,$1079)|0); + $1080 = HEAP32[$1>>2]|0; + $1081 = HEAP32[$pTab5>>2]|0; + $1082 = HEAP32[$pBest>>2]|0; + _explainSimpleCount($1080,$1081,$1082); } else { HEAP32[$pMinMax>>2] = 0; HEAP8[$flag>>0] = 0; - $1119 = HEAP32[$2>>2]|0; - $1120 = ((($1119)) + 44|0); - $1121 = HEAP32[$1120>>2]|0; - $1122 = ($1121|0)==(0|0); - if ($1122) { - $1123 = (_minMaxQuery($sAggInfo,$pMinMax)|0); - HEAP8[$flag>>0] = $1123; + $1083 = HEAP32[$2>>2]|0; + $1084 = ((($1083)) + 40|0); + $1085 = HEAP32[$1084>>2]|0; + $1086 = ($1085|0)==(0|0); + if ($1086) { + $1087 = (_minMaxQuery($sAggInfo,$pMinMax)|0); + HEAP8[$flag>>0] = $1087; } - $1124 = HEAP8[$flag>>0]|0; - $1125 = ($1124<<24>>24)!=(0); + $1088 = HEAP8[$flag>>0]|0; + $1089 = ($1088<<24>>24)!=(0); do { - if ($1125) { - $1126 = HEAP32[$db>>2]|0; - $1127 = HEAP32[$pMinMax>>2]|0; - $1128 = (_sqlite3ExprListDup($1126,$1127,0)|0); - HEAP32[$pMinMax>>2] = $1128; - $1129 = HEAP32[$pMinMax>>2]|0; - HEAP32[$pDel>>2] = $1129; - $1130 = HEAP32[$db>>2]|0; - $1131 = ((($1130)) + 65|0); - $1132 = HEAP8[$1131>>0]|0; - $1133 = ($1132<<24>>24)!=(0); - if ($1133) { + if ($1089) { + $1090 = HEAP32[$db>>2]|0; + $1091 = HEAP32[$pMinMax>>2]|0; + $1092 = (_sqlite3ExprListDup($1090,$1091,0)|0); + HEAP32[$pMinMax>>2] = $1092; + $1093 = HEAP32[$pMinMax>>2]|0; + HEAP32[$pDel>>2] = $1093; + $1094 = HEAP32[$db>>2]|0; + $1095 = ((($1094)) + 69|0); + $1096 = HEAP8[$1095>>0]|0; + $1097 = ($1096<<24>>24)!=(0); + if ($1097) { break; } - $1134 = HEAP8[$flag>>0]|0; - $1135 = $1134&255; - $1136 = ($1135|0)!=(1); - $1137 = $1136 ? 1 : 0; - $1138 = $1137&255; - $1139 = HEAP32[$pMinMax>>2]|0; - $1140 = ((($1139)) + 4|0); - $1141 = HEAP32[$1140>>2]|0; - $1142 = ((($1141)) + 12|0); - HEAP8[$1142>>0] = $1138; - $1143 = HEAP32[$pMinMax>>2]|0; - $1144 = ((($1143)) + 4|0); - $1145 = HEAP32[$1144>>2]|0; - $1146 = HEAP32[$1145>>2]|0; - HEAP8[$1146>>0] = -104; + $1098 = HEAP8[$flag>>0]|0; + $1099 = $1098&255; + $1100 = ($1099|0)!=(1); + $1101 = $1100 ? 1 : 0; + $1102 = $1101&255; + $1103 = HEAP32[$pMinMax>>2]|0; + $1104 = ((($1103)) + 4|0); + $1105 = HEAP32[$1104>>2]|0; + $1106 = ((($1105)) + 12|0); + HEAP8[$1106>>0] = $1102; + $1107 = HEAP32[$pMinMax>>2]|0; + $1108 = ((($1107)) + 4|0); + $1109 = HEAP32[$1108>>2]|0; + $1110 = HEAP32[$1109>>2]|0; + HEAP8[$1110>>0] = -104; } } while(0); - $1147 = HEAP32[$1>>2]|0; - _resetAccumulator($1147,$sAggInfo); - $1148 = HEAP32[$1>>2]|0; - $1149 = HEAP32[$pTabList>>2]|0; - $1150 = HEAP32[$pWhere>>2]|0; - $1151 = HEAP32[$pMinMax>>2]|0; - $1152 = HEAP8[$flag>>0]|0; - $1153 = $1152&255; - $1154 = (_sqlite3WhereBegin($1148,$1149,$1150,$1151,0,$1153,0)|0); - HEAP32[$pWInfo>>2] = $1154; - $1155 = HEAP32[$pWInfo>>2]|0; - $1156 = ($1155|0)==(0|0); - if ($1156) { - $1157 = HEAP32[$db>>2]|0; - $1158 = HEAP32[$pDel>>2]|0; - _sqlite3ExprListDelete($1157,$1158); + $1111 = HEAP32[$1>>2]|0; + _resetAccumulator($1111,$sAggInfo); + $1112 = HEAP32[$1>>2]|0; + $1113 = HEAP32[$pTabList>>2]|0; + $1114 = HEAP32[$pWhere>>2]|0; + $1115 = HEAP32[$pMinMax>>2]|0; + $1116 = HEAP8[$flag>>0]|0; + $1117 = $1116&255; + $1118 = (_sqlite3WhereBegin($1112,$1113,$1114,$1115,0,$1117,0)|0); + HEAP32[$pWInfo>>2] = $1118; + $1119 = HEAP32[$pWInfo>>2]|0; + $1120 = ($1119|0)==(0|0); + if ($1120) { + $1121 = HEAP32[$db>>2]|0; + $1122 = HEAP32[$pDel>>2]|0; + _sqlite3ExprListDelete($1121,$1122); break; } - $1159 = HEAP32[$1>>2]|0; - _updateAccumulator($1159,$sAggInfo); - $1160 = HEAP32[$pWInfo>>2]|0; - $1161 = (_sqlite3WhereIsOrdered($1160)|0); - $1162 = ($1161|0)>(0); - if ($1162) { - $1163 = HEAP32[$v>>2]|0; - $1164 = HEAP32[$pWInfo>>2]|0; - $1165 = (_sqlite3WhereBreakLabel($1164)|0); - (_sqlite3VdbeGoto($1163,$1165)|0); + $1123 = HEAP32[$1>>2]|0; + _updateAccumulator($1123,$sAggInfo); + $1124 = HEAP32[$pWInfo>>2]|0; + $1125 = (_sqlite3WhereIsOrdered($1124)|0); + $1126 = ($1125|0)>(0); + if ($1126) { + $1127 = HEAP32[$v>>2]|0; + $1128 = HEAP32[$pWInfo>>2]|0; + $1129 = (_sqlite3WhereBreakLabel($1128)|0); + (_sqlite3VdbeGoto($1127,$1129)|0); } - $1166 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereEnd($1166); - $1167 = HEAP32[$1>>2]|0; - _finalizeAggFunctions($1167,$sAggInfo); + $1130 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereEnd($1130); + $1131 = HEAP32[$1>>2]|0; + _finalizeAggFunctions($1131,$sAggInfo); } HEAP32[$sSort>>2] = 0; - $1168 = HEAP32[$1>>2]|0; - $1169 = HEAP32[$pHaving>>2]|0; - $1170 = HEAP32[$addrEnd>>2]|0; - _sqlite3ExprIfFalse($1168,$1169,$1170,16); - $1171 = HEAP32[$1>>2]|0; - $1172 = HEAP32[$2>>2]|0; - $1173 = HEAP32[$2>>2]|0; - $1174 = HEAP32[$1173>>2]|0; - $1175 = HEAP32[$3>>2]|0; - $1176 = HEAP32[$addrEnd>>2]|0; - $1177 = HEAP32[$addrEnd>>2]|0; - _selectInnerLoop($1171,$1172,$1174,-1,0,0,$1175,$1176,$1177); - $1178 = HEAP32[$db>>2]|0; - $1179 = HEAP32[$pDel>>2]|0; - _sqlite3ExprListDelete($1178,$1179); + $1132 = HEAP32[$1>>2]|0; + $1133 = HEAP32[$pHaving>>2]|0; + $1134 = HEAP32[$addrEnd>>2]|0; + _sqlite3ExprIfFalse($1132,$1133,$1134,16); + $1135 = HEAP32[$1>>2]|0; + $1136 = HEAP32[$2>>2]|0; + $1137 = HEAP32[$2>>2]|0; + $1138 = HEAP32[$1137>>2]|0; + $1139 = HEAP32[$3>>2]|0; + $1140 = HEAP32[$addrEnd>>2]|0; + $1141 = HEAP32[$addrEnd>>2]|0; + _selectInnerLoop($1135,$1136,$1138,-1,0,0,$1139,$1140,$1141); + $1142 = HEAP32[$db>>2]|0; + $1143 = HEAP32[$pDel>>2]|0; + _sqlite3ExprListDelete($1142,$1143); } - $1180 = HEAP32[$v>>2]|0; - $1181 = HEAP32[$addrEnd>>2]|0; - _sqlite3VdbeResolveLabel($1180,$1181); + $1144 = HEAP32[$v>>2]|0; + $1145 = HEAP32[$addrEnd>>2]|0; + _sqlite3VdbeResolveLabel($1144,$1145); } - $1182 = ((($sDistinct)) + 1|0); - $1183 = HEAP8[$1182>>0]|0; - $1184 = $1183&255; - $1185 = ($1184|0)==(3); - if ($1185) { - $1186 = HEAP32[$1>>2]|0; - _explainTempTable($1186,36474); + $1146 = ((($sDistinct)) + 1|0); + $1147 = HEAP8[$1146>>0]|0; + $1148 = $1147&255; + $1149 = ($1148|0)==(3); + if ($1149) { + $1150 = HEAP32[$1>>2]|0; + _explainTempTable($1150,36127); } - $1187 = HEAP32[$sSort>>2]|0; - $1188 = ($1187|0)!=(0|0); - if ($1188) { - $1189 = HEAP32[$1>>2]|0; - $1190 = ((($sSort)) + 4|0); - $1191 = HEAP32[$1190>>2]|0; - $1192 = ($1191|0)>(0); - $1193 = $1192 ? 36492 : 36515; - _explainTempTable($1189,$1193); - $1194 = HEAP32[$1>>2]|0; - $1195 = HEAP32[$2>>2]|0; - $1196 = HEAP32[$pEList>>2]|0; - $1197 = HEAP32[$1196>>2]|0; - $1198 = HEAP32[$3>>2]|0; - _generateSortTail($1194,$1195,$sSort,$1197,$1198); + $1151 = HEAP32[$sSort>>2]|0; + $1152 = ($1151|0)!=(0|0); + if ($1152) { + $1153 = HEAP32[$1>>2]|0; + $1154 = ((($sSort)) + 4|0); + $1155 = HEAP32[$1154>>2]|0; + $1156 = ($1155|0)>(0); + $1157 = $1156 ? 36145 : 36168; + _explainTempTable($1153,$1157); + $1158 = HEAP32[$1>>2]|0; + $1159 = HEAP32[$2>>2]|0; + $1160 = HEAP32[$pEList>>2]|0; + $1161 = HEAP32[$1160>>2]|0; + $1162 = HEAP32[$3>>2]|0; + _generateSortTail($1158,$1159,$sSort,$1161,$1162); } - $1199 = HEAP32[$v>>2]|0; - $1200 = HEAP32[$iEnd>>2]|0; - _sqlite3VdbeResolveLabel($1199,$1200); - $1201 = HEAP32[$1>>2]|0; - $1202 = ((($1201)) + 68|0); - $1203 = HEAP32[$1202>>2]|0; - $1204 = ($1203|0)>(0); - $1205 = $1204&1; - HEAP32[$rc>>2] = $1205; + $1163 = HEAP32[$v>>2]|0; + $1164 = HEAP32[$iEnd>>2]|0; + _sqlite3VdbeResolveLabel($1163,$1164); + $1165 = HEAP32[$1>>2]|0; + $1166 = ((($1165)) + 68|0); + $1167 = HEAP32[$1166>>2]|0; + $1168 = ($1167|0)>(0); + $1169 = $1168&1; + HEAP32[$rc>>2] = $1169; } } } } } while(0); - $1206 = HEAP32[$iRestoreSelectId>>2]|0; - $1207 = HEAP32[$1>>2]|0; - $1208 = ((($1207)) + 468|0); - HEAP32[$1208>>2] = $1206; - $1209 = HEAP32[$rc>>2]|0; - $1210 = ($1209|0)==(0); - if ($1210) { - $1211 = HEAP32[$3>>2]|0; - $1212 = HEAP8[$1211>>0]|0; - $1213 = $1212&255; - $1214 = ($1213|0)==(9); - if ($1214) { - $1215 = HEAP32[$1>>2]|0; - $1216 = HEAP32[$pTabList>>2]|0; - $1217 = HEAP32[$pEList>>2]|0; - _generateColumnNames($1215,$1216,$1217); - } - } - $1218 = HEAP32[$db>>2]|0; - $1219 = ((($sAggInfo)) + 28|0); - $1220 = HEAP32[$1219>>2]|0; - _sqlite3DbFree($1218,$1220); - $1221 = HEAP32[$db>>2]|0; - $1222 = ((($sAggInfo)) + 40|0); - $1223 = HEAP32[$1222>>2]|0; - _sqlite3DbFree($1221,$1223); - $1224 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1224; - $1225 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1225|0); + $1170 = HEAP32[$iRestoreSelectId>>2]|0; + $1171 = HEAP32[$1>>2]|0; + $1172 = ((($1171)) + 468|0); + HEAP32[$1172>>2] = $1170; + $1173 = HEAP32[$rc>>2]|0; + $1174 = ($1173|0)==(0); + if ($1174) { + $1175 = HEAP32[$3>>2]|0; + $1176 = HEAP8[$1175>>0]|0; + $1177 = $1176&255; + $1178 = ($1177|0)==(9); + if ($1178) { + $1179 = HEAP32[$1>>2]|0; + $1180 = HEAP32[$pTabList>>2]|0; + $1181 = HEAP32[$pEList>>2]|0; + _generateColumnNames($1179,$1180,$1181); + } + } + $1182 = HEAP32[$db>>2]|0; + $1183 = ((($sAggInfo)) + 28|0); + $1184 = HEAP32[$1183>>2]|0; + _sqlite3DbFree($1182,$1184); + $1185 = HEAP32[$db>>2]|0; + $1186 = ((($sAggInfo)) + 40|0); + $1187 = HEAP32[$1186>>2]|0; + _sqlite3DbFree($1185,$1187); + $1188 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $1188; + $1189 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1189|0); } } } HEAP32[$0>>2] = 1; - $1225 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1225|0); + $1189 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1189|0); } function _parserDoubleLinkSelect($pParse,$p) { $pParse = $pParse|0; $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $cnt = 0, $mxSelect = 0, $pLoop = 0, $pNext = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cnt = 0, $mxSelect = 0, $pLoop = 0; + var $pNext = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer = sp; @@ -116889,7 +118153,7 @@ function _parserDoubleLinkSelect($pParse,$p) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 52|0); + $3 = ((($2)) + 48|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0|0); if (!($5)) { @@ -116907,52 +118171,49 @@ function _parserDoubleLinkSelect($pParse,$p) { } $9 = HEAP32[$pNext>>2]|0; $10 = HEAP32[$pLoop>>2]|0; - $11 = ((($10)) + 56|0); + $11 = ((($10)) + 52|0); HEAP32[$11>>2] = $9; $12 = HEAP32[$pLoop>>2]|0; - $13 = ((($12)) + 6|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = $15 | 128; - $17 = $16&65535; - HEAP16[$13>>1] = $17; - $18 = HEAP32[$pLoop>>2]|0; - HEAP32[$pNext>>2] = $18; - $19 = HEAP32[$pLoop>>2]|0; - $20 = ((($19)) + 52|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pLoop>>2] = $21; - $22 = HEAP32[$cnt>>2]|0; - $23 = (($22) + 1)|0; - HEAP32[$cnt>>2] = $23; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = $14 | 128; + HEAP32[$13>>2] = $15; + $16 = HEAP32[$pLoop>>2]|0; + HEAP32[$pNext>>2] = $16; + $17 = HEAP32[$pLoop>>2]|0; + $18 = ((($17)) + 48|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pLoop>>2] = $19; + $20 = HEAP32[$cnt>>2]|0; + $21 = (($20) + 1)|0; + HEAP32[$cnt>>2] = $21; } - $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 6|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = $27 & 512; - $29 = ($28|0)==(0); - if (!($29)) { + $22 = HEAP32[$1>>2]|0; + $23 = ((($22)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = $24 & 512; + $26 = ($25|0)==(0); + if (!($26)) { STACKTOP = sp;return; } - $30 = HEAP32[$0>>2]|0; + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$27>>2]|0; + $29 = ((($28)) + 92|0); + $30 = ((($29)) + 16|0); $31 = HEAP32[$30>>2]|0; - $32 = ((($31)) + 88|0); - $33 = ((($32)) + 16|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$mxSelect>>2] = $34; - $35 = ($34|0)>(0); - if (!($35)) { + HEAP32[$mxSelect>>2] = $31; + $32 = ($31|0)>(0); + if (!($32)) { STACKTOP = sp;return; } - $36 = HEAP32[$cnt>>2]|0; - $37 = HEAP32[$mxSelect>>2]|0; - $38 = ($36|0)>($37|0); - if (!($38)) { + $33 = HEAP32[$cnt>>2]|0; + $34 = HEAP32[$mxSelect>>2]|0; + $35 = ($33|0)>($34|0); + if (!($35)) { STACKTOP = sp;return; } - $39 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($39,36400,$vararg_buffer); + $36 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($36,36053,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pSubquery,$pOn,$pUsing) { @@ -117007,9 +118268,9 @@ function _sqlite3SrcListAppendFromTerm($pParse,$p,$pTable,$pDatabase,$pAlias,$pS $17 = HEAP32[$1>>2]|0; $18 = HEAP32[$7>>2]|0; $19 = ($18|0)!=(0|0); - $20 = $19 ? 36355 : 36358; + $20 = $19 ? 36008 : 36011; HEAP32[$vararg_buffer>>2] = $20; - _sqlite3ErrorMsg($17,36364,$vararg_buffer); + _sqlite3ErrorMsg($17,36017,$vararg_buffer); } else { label = 4; } @@ -117094,7 +118355,7 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $db = 0, $pNew = 0, $standin = 0, $standin$ = 0, label = 0, sp = 0; + var $9 = 0, $db = 0, $pNew = 0, $standin = 0, $standin$ = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 112|0; @@ -117104,12 +118365,12 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr $4 = sp + 96|0; $5 = sp + 92|0; $6 = sp + 88|0; - $7 = sp + 116|0; - $8 = sp + 84|0; - $9 = sp + 80|0; - $pNew = sp + 76|0; - $standin = sp; - $db = sp + 72|0; + $7 = sp + 84|0; + $8 = sp + 80|0; + $9 = sp + 76|0; + $pNew = sp + 72|0; + $standin = sp + 4|0; + $db = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pEList; HEAP32[$2>>2] = $pSrc; @@ -117117,14 +118378,14 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr HEAP32[$4>>2] = $pGroupBy; HEAP32[$5>>2] = $pHaving; HEAP32[$6>>2] = $pOrderBy; - HEAP16[$7>>1] = $selFlags; + HEAP32[$7>>2] = $selFlags; HEAP32[$8>>2] = $pLimit; HEAP32[$9>>2] = $pOffset; $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$10>>2]|0; HEAP32[$db>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = (_sqlite3DbMallocRawNN($12,72,0)|0); + $13 = (_sqlite3DbMallocRawNN($12,68,0)|0); HEAP32[$pNew>>2] = $13; $14 = HEAP32[$pNew>>2]|0; $15 = ($14|0)==(0|0); @@ -117145,92 +118406,87 @@ function _sqlite3SelectNew($pParse,$pEList,$pSrc,$pWhere,$pGroupBy,$pHaving,$pOr $24 = HEAP32[$pNew>>2]|0; $25 = ((($24)) + 4|0); HEAP8[$25>>0] = 119; - $26 = HEAP16[$7>>1]|0; + $26 = HEAP32[$7>>2]|0; $27 = HEAP32[$pNew>>2]|0; - $28 = ((($27)) + 6|0); - HEAP16[$28>>1] = $26; + $28 = ((($27)) + 8|0); + HEAP32[$28>>2] = $26; $29 = HEAP32[$pNew>>2]|0; - $30 = ((($29)) + 8|0); + $30 = ((($29)) + 12|0); HEAP32[$30>>2] = 0; $31 = HEAP32[$pNew>>2]|0; - $32 = ((($31)) + 12|0); + $32 = ((($31)) + 16|0); HEAP32[$32>>2] = 0; $33 = HEAP32[$pNew>>2]|0; - $34 = ((($33)) + 16|0); + $34 = ((($33)) + 20|0); HEAP32[$34>>2] = -1; $35 = HEAP32[$pNew>>2]|0; - $36 = ((($35)) + 16|0); + $36 = ((($35)) + 20|0); $37 = ((($36)) + 4|0); HEAP32[$37>>2] = -1; $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 24|0); - $40 = $39; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = 0; - $44 = HEAP32[$2>>2]|0; - $45 = ($44|0)==(0|0); - if ($45) { - $46 = HEAP32[$db>>2]|0; - $47 = (_sqlite3DbMallocZero($46,80,0)|0); - HEAP32[$2>>2] = $47; + $39 = ((($38)) + 6|0); + HEAP16[$39>>1] = 0; + $40 = HEAP32[$2>>2]|0; + $41 = ($40|0)==(0|0); + if ($41) { + $42 = HEAP32[$db>>2]|0; + $43 = (_sqlite3DbMallocZero($42,80,0)|0); + HEAP32[$2>>2] = $43; } - $48 = HEAP32[$2>>2]|0; - $49 = HEAP32[$pNew>>2]|0; - $50 = ((($49)) + 32|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$3>>2]|0; - $52 = HEAP32[$pNew>>2]|0; - $53 = ((($52)) + 36|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$4>>2]|0; - $55 = HEAP32[$pNew>>2]|0; - $56 = ((($55)) + 40|0); - HEAP32[$56>>2] = $54; - $57 = HEAP32[$5>>2]|0; - $58 = HEAP32[$pNew>>2]|0; - $59 = ((($58)) + 44|0); - HEAP32[$59>>2] = $57; - $60 = HEAP32[$6>>2]|0; + $44 = HEAP32[$2>>2]|0; + $45 = HEAP32[$pNew>>2]|0; + $46 = ((($45)) + 28|0); + HEAP32[$46>>2] = $44; + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$pNew>>2]|0; + $49 = ((($48)) + 32|0); + HEAP32[$49>>2] = $47; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$pNew>>2]|0; + $52 = ((($51)) + 36|0); + HEAP32[$52>>2] = $50; + $53 = HEAP32[$5>>2]|0; + $54 = HEAP32[$pNew>>2]|0; + $55 = ((($54)) + 40|0); + HEAP32[$55>>2] = $53; + $56 = HEAP32[$6>>2]|0; + $57 = HEAP32[$pNew>>2]|0; + $58 = ((($57)) + 44|0); + HEAP32[$58>>2] = $56; + $59 = HEAP32[$pNew>>2]|0; + $60 = ((($59)) + 48|0); + HEAP32[$60>>2] = 0; $61 = HEAP32[$pNew>>2]|0; - $62 = ((($61)) + 48|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$pNew>>2]|0; - $64 = ((($63)) + 52|0); - HEAP32[$64>>2] = 0; - $65 = HEAP32[$pNew>>2]|0; - $66 = ((($65)) + 56|0); - HEAP32[$66>>2] = 0; - $67 = HEAP32[$8>>2]|0; - $68 = HEAP32[$pNew>>2]|0; - $69 = ((($68)) + 60|0); - HEAP32[$69>>2] = $67; - $70 = HEAP32[$9>>2]|0; - $71 = HEAP32[$pNew>>2]|0; - $72 = ((($71)) + 64|0); - HEAP32[$72>>2] = $70; - $73 = HEAP32[$pNew>>2]|0; - $74 = ((($73)) + 68|0); - HEAP32[$74>>2] = 0; - $75 = HEAP32[$db>>2]|0; - $76 = ((($75)) + 65|0); - $77 = HEAP8[$76>>0]|0; - $78 = ($77<<24>>24)!=(0); - if (!($78)) { - $84 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($84|0); + $62 = ((($61)) + 52|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[$8>>2]|0; + $64 = HEAP32[$pNew>>2]|0; + $65 = ((($64)) + 56|0); + HEAP32[$65>>2] = $63; + $66 = HEAP32[$9>>2]|0; + $67 = HEAP32[$pNew>>2]|0; + $68 = ((($67)) + 60|0); + HEAP32[$68>>2] = $66; + $69 = HEAP32[$pNew>>2]|0; + $70 = ((($69)) + 64|0); + HEAP32[$70>>2] = 0; + $71 = HEAP32[$db>>2]|0; + $72 = ((($71)) + 69|0); + $73 = HEAP8[$72>>0]|0; + $74 = ($73<<24>>24)!=(0); + if (!($74)) { + $80 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($80|0); } - $79 = HEAP32[$db>>2]|0; - $80 = HEAP32[$pNew>>2]|0; - $81 = HEAP32[$pNew>>2]|0; - $82 = ($81|0)!=($standin|0); - $83 = $82&1; - _clearSelect($79,$80,$83); + $75 = HEAP32[$db>>2]|0; + $76 = HEAP32[$pNew>>2]|0; + $77 = HEAP32[$pNew>>2]|0; + $78 = ($77|0)!=($standin|0); + $79 = $78&1; + _clearSelect($75,$76,$79); HEAP32[$pNew>>2] = 0; - $84 = HEAP32[$pNew>>2]|0; - STACKTOP = sp;return ($84|0); + $80 = HEAP32[$pNew>>2]|0; + STACKTOP = sp;return ($80|0); } function _sqlite3ExprListAppend($pParse,$pList,$pExpr) { $pParse = $pParse|0; @@ -117719,7 +118975,7 @@ function _sqlite3SrcListAppend($db,$pList,$pTable,$pDatabase) { $18 = (_sqlite3SrcListEnlarge($14,$15,1,$17)|0); HEAP32[$2>>2] = $18; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 65|0); + $20 = ((($19)) + 69|0); $21 = HEAP8[$20>>0]|0; $22 = ($21<<24>>24)!=(0); if ($22) { @@ -117840,7 +119096,7 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = HEAP32[$j>>2]|0; - $24 = (36199 + (($23*3)|0)|0); + $24 = (35852 + (($23*3)|0)|0); $25 = ((($24)) + 1|0); $26 = HEAP8[$25>>0]|0; $27 = $26&255; @@ -117849,10 +119105,10 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { $29 = HEAP32[$p>>2]|0; $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$j>>2]|0; - $32 = (36199 + (($31*3)|0)|0); + $32 = (35852 + (($31*3)|0)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; - $35 = (36220 + ($34)|0); + $35 = (35873 + ($34)|0); $36 = HEAP32[$p>>2]|0; $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; @@ -117870,7 +119126,7 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { if ((label|0) == 8) { label = 0; $41 = HEAP32[$j>>2]|0; - $42 = (36199 + (($41*3)|0)|0); + $42 = (35852 + (($41*3)|0)|0); $43 = ((($42)) + 2|0); $44 = HEAP8[$43>>0]|0; $45 = $44&255; @@ -117916,13 +119172,13 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { STACKTOP = sp;return ($78|0); } $77 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($77,36300,$vararg_buffer4); + _sqlite3ErrorMsg($77,35953,$vararg_buffer4); HEAP32[$jointype>>2] = 1; $78 = HEAP32[$jointype>>2]|0; STACKTOP = sp;return ($78|0); } } - HEAP32[$zSp>>2] = 36254; + HEAP32[$zSp>>2] = 35907; $62 = HEAP32[$3>>2]|0; $63 = ($62|0)==(0|0); if ($63) { @@ -117942,7 +119198,7 @@ function _sqlite3JoinType($pParse,$pA,$pB,$pC) { HEAP32[$vararg_ptr2>>2] = $69; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $70; - _sqlite3ErrorMsg($66,36256,$vararg_buffer); + _sqlite3ErrorMsg($66,35909,$vararg_buffer); HEAP32[$jointype>>2] = 1; $78 = HEAP32[$jointype>>2]|0; STACKTOP = sp;return ($78|0); @@ -118116,7 +119372,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { L1: do { if (!($8)) { $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 65|0); + $10 = ((($9)) + 69|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)!=(0); @@ -118886,7 +120142,7 @@ function _sqlite3DeleteFrom($pParse,$pTabList,$pWhere) { $505 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($505,1); $506 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($506,0,0,36186,0)|0); + (_sqlite3VdbeSetColName($506,0,0,35839,0)|0); } } } @@ -118928,7 +120184,7 @@ function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { HEAP32[$2>>2] = $zObject; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 88|0); + $5 = ((($4)) + 92|0); $6 = ((($5)) + 8|0); $7 = HEAP32[$6>>2]|0; HEAP32[$mx>>2] = $7; @@ -118947,7 +120203,7 @@ function _sqlite3ExprListCheckLength($pParse,$pEList,$zObject) { $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $15; - _sqlite3ErrorMsg($14,36163,$vararg_buffer); + _sqlite3ErrorMsg($14,35816,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { @@ -119111,7 +120367,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { STACKTOP = sp;return; } $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 65|0); + $12 = ((($11)) + 69|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($14|0)!=(0); @@ -119399,7 +120655,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $155 = HEAP32[$pTab>>2]|0; $156 = ((($155)) + 4|0); $157 = HEAP32[$156>>2]|0; - $158 = (($157) + (($154*24)|0)|0); + $158 = (($157) + ($154<<4)|0); $159 = HEAP32[$158>>2]|0; $160 = HEAP32[$i>>2]|0; $161 = HEAP32[$2>>2]|0; @@ -119408,7 +120664,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $164 = (($163) + (($160*20)|0)|0); $165 = ((($164)) + 4|0); $166 = HEAP32[$165>>2]|0; - $167 = (_sqlite3_stricmp($159,$166)|0); + $167 = (_sqlite3StrICmp($159,$166)|0); $168 = ($167|0)==(0); $169 = HEAP32[$j>>2]|0; if ($168) { @@ -119442,8 +120698,8 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $184 = HEAP32[$pTab>>2]|0; $185 = ((($184)) + 4|0); $186 = HEAP32[$185>>2]|0; - $187 = (($186) + (($183*24)|0)|0); - $188 = ((($187)) + 23|0); + $187 = (($186) + ($183<<4)|0); + $188 = ((($187)) + 15|0); $189 = HEAP8[$188>>0]|0; $190 = $189&255; $191 = $190 & 1; @@ -119501,13 +120757,13 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $234 = HEAP32[$j>>2]|0; $235 = ($234|0)<(0); if ($235) { - $248 = 20759; + $248 = 20503; } else { $236 = HEAP32[$j>>2]|0; $237 = HEAP32[$pTab>>2]|0; $238 = ((($237)) + 4|0); $239 = HEAP32[$238>>2]|0; - $240 = (($239) + (($236*24)|0)|0); + $240 = (($239) + ($236<<4)|0); $241 = HEAP32[$240>>2]|0; $248 = $241; } @@ -119547,7 +120803,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $227 = ((($226)) + 4|0); $228 = HEAP32[$227>>2]|0; HEAP32[$vararg_buffer>>2] = $228; - _sqlite3ErrorMsg($221,24991,$vararg_buffer); + _sqlite3ErrorMsg($221,24752,$vararg_buffer); $229 = HEAP32[$0>>2]|0; $230 = ((($229)) + 17|0); HEAP8[$230>>0] = 1; @@ -120312,8 +121568,8 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $704 = HEAP32[$pTab>>2]|0; $705 = ((($704)) + 4|0); $706 = HEAP32[$705>>2]|0; - $707 = (($706) + (($703*24)|0)|0); - $708 = ((($707)) + 23|0); + $707 = (($706) + ($703<<4)|0); + $708 = ((($707)) + 15|0); $709 = HEAP8[$708>>0]|0; $710 = $709&255; $711 = $710 & 1; @@ -120837,7 +122093,7 @@ function _sqlite3Update($pParse,$pTabList,$pChanges,$pWhere,$onError) { $1001 = HEAP32[$v>>2]|0; _sqlite3VdbeSetNumCols($1001,1); $1002 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($1002,0,0,36150,0)|0); + (_sqlite3VdbeSetColName($1002,0,0,35803,0)|0); _sqlite3AuthContextPop($sContext); $1003 = HEAP32[$db>>2]|0; $1004 = HEAP32[$aXRef>>2]|0; @@ -120922,10 +122178,10 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { var $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0; var $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0; var $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0; - var $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aRegIdx = 0, $addr1 = 0, $addr11 = 0, $addrCont = 0, $addrInsTop = 0, $addrL = 0, $addrTop = 0, $appendFlag = 0, $bIdListInOrder = 0; - var $db = 0, $dest = 0, $endOfLoop = 0, $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iRegStore = 0, $idx = 0, $ipkColumn = 0, $isReplace = 0, $isView = 0, $j = 0, $nColumn = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0; - var $or$cond7 = 0, $or$cond9 = 0, $pDb = 0, $pIdx = 0, $pList = 0, $pOp = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $rc = 0, $regAutoinc = 0, $regCols = 0, $regData = 0, $regFromSelect = 0, $regIns = 0, $regRec = 0, $regRowCount = 0, $regRowid = 0, $regTempRowid = 0, $regYield = 0; - var $sNC = 0, $srcTab = 0, $tmask = 0, $useTempTable = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; + var $927 = 0, $928 = 0, $929 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aRegIdx = 0, $addr1 = 0, $addr11 = 0, $addrCont = 0, $addrInsTop = 0, $addrL = 0, $addrTop = 0, $appendFlag = 0, $bIdListInOrder = 0, $db = 0; + var $dest = 0, $endOfLoop = 0, $i = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iRegStore = 0, $idx = 0, $ipkColumn = 0, $isReplace = 0, $isView = 0, $j = 0, $nColumn = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0; + var $or$cond9 = 0, $pDb = 0, $pIdx = 0, $pList = 0, $pOp = 0, $pTab = 0, $pTrigger = 0, $pVTab = 0, $rc = 0, $regAutoinc = 0, $regCols = 0, $regData = 0, $regFromSelect = 0, $regIns = 0, $regRec = 0, $regRowCount = 0, $regRowid = 0, $regTempRowid = 0, $regYield = 0, $sNC = 0; + var $srcTab = 0, $tmask = 0, $useTempTable = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer14 = 0, $vararg_buffer20 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $vararg_ptr23 = 0, $withoutRowid = 0, $zDb = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 304|0; $vararg_buffer20 = sp + 32|0; @@ -121017,7 +122273,7 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { L1: do { if (!($10)) { $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 65|0); + $12 = ((($11)) + 69|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($14|0)!=(0); @@ -121026,132 +122282,131 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { $17 = ($16|0)!=(0|0); if ($17) { $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 6|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = $21 & 256; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 52|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if ($27) { - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - HEAP32[$pList>>2] = $29; - $30 = HEAP32[$2>>2]|0; - HEAP32[$30>>2] = 0; - $31 = HEAP32[$db>>2]|0; - $32 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($31,$32); + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20 & 256; + $22 = ($21|0)!=(0); + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 48|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = HEAP32[$27>>2]|0; + HEAP32[$pList>>2] = $28; + $29 = HEAP32[$2>>2]|0; + HEAP32[$29>>2] = 0; + $30 = HEAP32[$db>>2]|0; + $31 = HEAP32[$2>>2]|0; + _sqlite3SelectDelete($30,$31); HEAP32[$2>>2] = 0; } } } - $33 = HEAP32[$1>>2]|0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 8|0); $34 = ((($33)) + 8|0); - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$zTab>>2] = $36; - $37 = HEAP32[$zTab>>2]|0; - $38 = ($37|0)==(0|0); - if (!($38)) { - $39 = HEAP32[$0>>2]|0; - $40 = HEAP32[$1>>2]|0; - $41 = (_sqlite3SrcListLookup($39,$40)|0); - HEAP32[$pTab>>2] = $41; - $42 = HEAP32[$pTab>>2]|0; - $43 = ($42|0)==(0|0); - if (!($43)) { - $44 = HEAP32[$db>>2]|0; - $45 = HEAP32[$pTab>>2]|0; - $46 = ((($45)) + 64|0); - $47 = HEAP32[$46>>2]|0; - $48 = (_sqlite3SchemaToIndex($44,$47)|0); - HEAP32[$iDb>>2] = $48; - $49 = HEAP32[$iDb>>2]|0; - $50 = HEAP32[$db>>2]|0; - $51 = ((($50)) + 16|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($49<<4)|0); - HEAP32[$pDb>>2] = $53; - $54 = HEAP32[$pDb>>2]|0; - $55 = HEAP32[$54>>2]|0; - HEAP32[$zDb>>2] = $55; - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$pTab>>2]|0; - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$zDb>>2]|0; - $60 = (_sqlite3AuthCheck($56,18,$58,0,$59)|0); - $61 = ($60|0)!=(0); - if (!($61)) { - $62 = HEAP32[$pTab>>2]|0; - $63 = ((($62)) + 42|0); - $64 = HEAP8[$63>>0]|0; - $65 = $64&255; - $66 = $65 & 32; - $67 = ($66|0)==(0); - $68 = $67 ^ 1; - $69 = $68&1; - $70 = $69&255; - HEAP8[$withoutRowid>>0] = $70; - $71 = HEAP32[$0>>2]|0; - $72 = HEAP32[$pTab>>2]|0; - $73 = (_sqlite3TriggersExist($71,$72,108,0,$tmask)|0); - HEAP32[$pTrigger>>2] = $73; - $74 = HEAP32[$pTab>>2]|0; - $75 = ((($74)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)!=(0|0); - $78 = $77&1; - HEAP32[$isView>>2] = $78; - $79 = HEAP32[$0>>2]|0; - $80 = HEAP32[$pTab>>2]|0; - $81 = (_sqlite3ViewGetColumnNames($79,$80)|0); - $82 = ($81|0)!=(0); - if (!($82)) { - $83 = HEAP32[$0>>2]|0; - $84 = HEAP32[$pTab>>2]|0; - $85 = HEAP32[$tmask>>2]|0; - $86 = (_sqlite3IsReadOnly($83,$84,$85)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - $88 = HEAP32[$0>>2]|0; - $89 = (_sqlite3GetVdbe($88)|0); - HEAP32[$v>>2] = $89; - $90 = HEAP32[$v>>2]|0; - $91 = ($90|0)==(0|0); - if (!($91)) { - $92 = HEAP32[$0>>2]|0; - $93 = ((($92)) + 18|0); - $94 = HEAP8[$93>>0]|0; - $95 = $94&255; - $96 = ($95|0)==(0); - if ($96) { - $97 = HEAP32[$v>>2]|0; - _sqlite3VdbeCountChanges($97); + $35 = HEAP32[$34>>2]|0; + HEAP32[$zTab>>2] = $35; + $36 = HEAP32[$zTab>>2]|0; + $37 = ($36|0)==(0|0); + if (!($37)) { + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$1>>2]|0; + $40 = (_sqlite3SrcListLookup($38,$39)|0); + HEAP32[$pTab>>2] = $40; + $41 = HEAP32[$pTab>>2]|0; + $42 = ($41|0)==(0|0); + if (!($42)) { + $43 = HEAP32[$db>>2]|0; + $44 = HEAP32[$pTab>>2]|0; + $45 = ((($44)) + 64|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_sqlite3SchemaToIndex($43,$46)|0); + HEAP32[$iDb>>2] = $47; + $48 = HEAP32[$iDb>>2]|0; + $49 = HEAP32[$db>>2]|0; + $50 = ((($49)) + 16|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) + ($48<<4)|0); + HEAP32[$pDb>>2] = $52; + $53 = HEAP32[$pDb>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$zDb>>2] = $54; + $55 = HEAP32[$0>>2]|0; + $56 = HEAP32[$pTab>>2]|0; + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$zDb>>2]|0; + $59 = (_sqlite3AuthCheck($55,18,$57,0,$58)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + $61 = HEAP32[$pTab>>2]|0; + $62 = ((($61)) + 42|0); + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = $64 & 32; + $66 = ($65|0)==(0); + $67 = $66 ^ 1; + $68 = $67&1; + $69 = $68&255; + HEAP8[$withoutRowid>>0] = $69; + $70 = HEAP32[$0>>2]|0; + $71 = HEAP32[$pTab>>2]|0; + $72 = (_sqlite3TriggersExist($70,$71,108,0,$tmask)|0); + HEAP32[$pTrigger>>2] = $72; + $73 = HEAP32[$pTab>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)!=(0|0); + $77 = $76&1; + HEAP32[$isView>>2] = $77; + $78 = HEAP32[$0>>2]|0; + $79 = HEAP32[$pTab>>2]|0; + $80 = (_sqlite3ViewGetColumnNames($78,$79)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + $82 = HEAP32[$0>>2]|0; + $83 = HEAP32[$pTab>>2]|0; + $84 = HEAP32[$tmask>>2]|0; + $85 = (_sqlite3IsReadOnly($82,$83,$84)|0); + $86 = ($85|0)!=(0); + if (!($86)) { + $87 = HEAP32[$0>>2]|0; + $88 = (_sqlite3GetVdbe($87)|0); + HEAP32[$v>>2] = $88; + $89 = HEAP32[$v>>2]|0; + $90 = ($89|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$0>>2]|0; + $92 = ((($91)) + 18|0); + $93 = HEAP8[$92>>0]|0; + $94 = $93&255; + $95 = ($94|0)==(0); + if ($95) { + $96 = HEAP32[$v>>2]|0; + _sqlite3VdbeCountChanges($96); } - $98 = HEAP32[$0>>2]|0; - $99 = HEAP32[$2>>2]|0; - $100 = ($99|0)!=(0|0); - $101 = HEAP32[$pTrigger>>2]|0; - $102 = ($101|0)!=(0|0); - $103 = $100 ? 1 : $102; - $104 = $103&1; - $105 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($98,$104,$105); - $106 = HEAP32[$3>>2]|0; - $107 = ($106|0)==(0|0); - if ($107) { - $108 = HEAP32[$0>>2]|0; - $109 = HEAP32[$pTab>>2]|0; - $110 = HEAP32[$2>>2]|0; - $111 = HEAP32[$4>>2]|0; - $112 = HEAP32[$iDb>>2]|0; - $113 = (_xferOptimization($108,$109,$110,$111,$112)|0); - $114 = ($113|0)!=(0); - if (!($114)) { + $97 = HEAP32[$0>>2]|0; + $98 = HEAP32[$2>>2]|0; + $99 = ($98|0)!=(0|0); + $100 = HEAP32[$pTrigger>>2]|0; + $101 = ($100|0)!=(0|0); + $102 = $99 ? 1 : $101; + $103 = $102&1; + $104 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($97,$103,$104); + $105 = HEAP32[$3>>2]|0; + $106 = ($105|0)==(0|0); + if ($106) { + $107 = HEAP32[$0>>2]|0; + $108 = HEAP32[$pTab>>2]|0; + $109 = HEAP32[$2>>2]|0; + $110 = HEAP32[$4>>2]|0; + $111 = HEAP32[$iDb>>2]|0; + $112 = (_xferOptimization($107,$108,$109,$110,$111)|0); + $113 = ($112|0)!=(0); + if (!($113)) { label = 17; } } else { @@ -121159,351 +122414,351 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } L20: do { if ((label|0) == 17) { - $115 = HEAP32[$0>>2]|0; - $116 = HEAP32[$iDb>>2]|0; - $117 = HEAP32[$pTab>>2]|0; - $118 = (_autoIncBegin($115,$116,$117)|0); - HEAP32[$regAutoinc>>2] = $118; - $119 = HEAP32[$0>>2]|0; - $120 = ((($119)) + 76|0); - $121 = HEAP32[$120>>2]|0; - $122 = (($121) + 1)|0; - HEAP32[$regIns>>2] = $122; - HEAP32[$regRowid>>2] = $122; - $123 = HEAP32[$pTab>>2]|0; - $124 = ((($123)) + 34|0); - $125 = HEAP16[$124>>1]|0; - $126 = $125 << 16 >> 16; - $127 = (($126) + 1)|0; - $128 = HEAP32[$0>>2]|0; - $129 = ((($128)) + 76|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($130) + ($127))|0; - HEAP32[$129>>2] = $131; - $132 = HEAP32[$pTab>>2]|0; - $133 = ((($132)) + 42|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = $135 & 16; - $137 = ($136|0)!=(0); - if ($137) { - $138 = HEAP32[$regRowid>>2]|0; - $139 = (($138) + 1)|0; - HEAP32[$regRowid>>2] = $139; - $140 = HEAP32[$0>>2]|0; - $141 = ((($140)) + 76|0); - $142 = HEAP32[$141>>2]|0; - $143 = (($142) + 1)|0; - HEAP32[$141>>2] = $143; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$iDb>>2]|0; + $116 = HEAP32[$pTab>>2]|0; + $117 = (_autoIncBegin($114,$115,$116)|0); + HEAP32[$regAutoinc>>2] = $117; + $118 = HEAP32[$0>>2]|0; + $119 = ((($118)) + 76|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($120) + 1)|0; + HEAP32[$regIns>>2] = $121; + HEAP32[$regRowid>>2] = $121; + $122 = HEAP32[$pTab>>2]|0; + $123 = ((($122)) + 34|0); + $124 = HEAP16[$123>>1]|0; + $125 = $124 << 16 >> 16; + $126 = (($125) + 1)|0; + $127 = HEAP32[$0>>2]|0; + $128 = ((($127)) + 76|0); + $129 = HEAP32[$128>>2]|0; + $130 = (($129) + ($126))|0; + HEAP32[$128>>2] = $130; + $131 = HEAP32[$pTab>>2]|0; + $132 = ((($131)) + 42|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = $134 & 16; + $136 = ($135|0)!=(0); + if ($136) { + $137 = HEAP32[$regRowid>>2]|0; + $138 = (($137) + 1)|0; + HEAP32[$regRowid>>2] = $138; + $139 = HEAP32[$0>>2]|0; + $140 = ((($139)) + 76|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($141) + 1)|0; + HEAP32[$140>>2] = $142; } - $144 = HEAP32[$regRowid>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$regData>>2] = $145; - $146 = HEAP32[$pTab>>2]|0; - $147 = ((($146)) + 42|0); - $148 = HEAP8[$147>>0]|0; - $149 = $148&255; - $150 = $149 & 128; - $151 = ($150|0)==(0); - $152 = $151&1; - $153 = $152&255; - HEAP8[$bIdListInOrder>>0] = $153; - $154 = HEAP32[$3>>2]|0; - $155 = ($154|0)!=(0|0); + $143 = HEAP32[$regRowid>>2]|0; + $144 = (($143) + 1)|0; + HEAP32[$regData>>2] = $144; + $145 = HEAP32[$pTab>>2]|0; + $146 = ((($145)) + 42|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = $148 & 128; + $150 = ($149|0)==(0); + $151 = $150&1; + $152 = $151&255; + HEAP8[$bIdListInOrder>>0] = $152; + $153 = HEAP32[$3>>2]|0; + $154 = ($153|0)!=(0|0); L25: do { - if ($155) { + if ($154) { HEAP32[$i>>2] = 0; while(1) { - $156 = HEAP32[$i>>2]|0; - $157 = HEAP32[$3>>2]|0; - $158 = ((($157)) + 4|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($156|0)<($159|0); - if (!($160)) { + $155 = HEAP32[$i>>2]|0; + $156 = HEAP32[$3>>2]|0; + $157 = ((($156)) + 4|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($155|0)<($158|0); + if (!($159)) { break; } - $161 = HEAP32[$i>>2]|0; - $162 = HEAP32[$3>>2]|0; - $163 = HEAP32[$162>>2]|0; - $164 = (($163) + ($161<<3)|0); - $165 = ((($164)) + 4|0); - HEAP32[$165>>2] = -1; - $166 = HEAP32[$i>>2]|0; - $167 = (($166) + 1)|0; - HEAP32[$i>>2] = $167; + $160 = HEAP32[$i>>2]|0; + $161 = HEAP32[$3>>2]|0; + $162 = HEAP32[$161>>2]|0; + $163 = (($162) + ($160<<3)|0); + $164 = ((($163)) + 4|0); + HEAP32[$164>>2] = -1; + $165 = HEAP32[$i>>2]|0; + $166 = (($165) + 1)|0; + HEAP32[$i>>2] = $166; } HEAP32[$i>>2] = 0; while(1) { - $168 = HEAP32[$i>>2]|0; - $169 = HEAP32[$3>>2]|0; - $170 = ((($169)) + 4|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($168|0)<($171|0); - if (!($172)) { + $167 = HEAP32[$i>>2]|0; + $168 = HEAP32[$3>>2]|0; + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($167|0)<($170|0); + if (!($171)) { break L25; } HEAP32[$j>>2] = 0; while(1) { - $173 = HEAP32[$j>>2]|0; - $174 = HEAP32[$pTab>>2]|0; - $175 = ((($174)) + 34|0); - $176 = HEAP16[$175>>1]|0; - $177 = $176 << 16 >> 16; - $178 = ($173|0)<($177|0); - if (!($178)) { + $172 = HEAP32[$j>>2]|0; + $173 = HEAP32[$pTab>>2]|0; + $174 = ((($173)) + 34|0); + $175 = HEAP16[$174>>1]|0; + $176 = $175 << 16 >> 16; + $177 = ($172|0)<($176|0); + if (!($177)) { break; } - $179 = HEAP32[$i>>2]|0; - $180 = HEAP32[$3>>2]|0; - $181 = HEAP32[$180>>2]|0; - $182 = (($181) + ($179<<3)|0); - $183 = HEAP32[$182>>2]|0; - $184 = HEAP32[$j>>2]|0; - $185 = HEAP32[$pTab>>2]|0; - $186 = ((($185)) + 4|0); - $187 = HEAP32[$186>>2]|0; - $188 = (($187) + (($184*24)|0)|0); - $189 = HEAP32[$188>>2]|0; - $190 = (_sqlite3_stricmp($183,$189)|0); - $191 = ($190|0)==(0); - $192 = HEAP32[$j>>2]|0; - if ($191) { + $178 = HEAP32[$i>>2]|0; + $179 = HEAP32[$3>>2]|0; + $180 = HEAP32[$179>>2]|0; + $181 = (($180) + ($178<<3)|0); + $182 = HEAP32[$181>>2]|0; + $183 = HEAP32[$j>>2]|0; + $184 = HEAP32[$pTab>>2]|0; + $185 = ((($184)) + 4|0); + $186 = HEAP32[$185>>2]|0; + $187 = (($186) + ($183<<4)|0); + $188 = HEAP32[$187>>2]|0; + $189 = (_sqlite3StrICmp($182,$188)|0); + $190 = ($189|0)==(0); + $191 = HEAP32[$j>>2]|0; + if ($190) { label = 28; break; } - $208 = (($192) + 1)|0; - HEAP32[$j>>2] = $208; + $207 = (($191) + 1)|0; + HEAP32[$j>>2] = $207; } do { if ((label|0) == 28) { label = 0; - $193 = HEAP32[$i>>2]|0; - $194 = HEAP32[$3>>2]|0; - $195 = HEAP32[$194>>2]|0; - $196 = (($195) + ($193<<3)|0); - $197 = ((($196)) + 4|0); - HEAP32[$197>>2] = $192; - $198 = HEAP32[$i>>2]|0; - $199 = HEAP32[$j>>2]|0; - $200 = ($198|0)!=($199|0); - if ($200) { + $192 = HEAP32[$i>>2]|0; + $193 = HEAP32[$3>>2]|0; + $194 = HEAP32[$193>>2]|0; + $195 = (($194) + ($192<<3)|0); + $196 = ((($195)) + 4|0); + HEAP32[$196>>2] = $191; + $197 = HEAP32[$i>>2]|0; + $198 = HEAP32[$j>>2]|0; + $199 = ($197|0)!=($198|0); + if ($199) { HEAP8[$bIdListInOrder>>0] = 0; } - $201 = HEAP32[$j>>2]|0; - $202 = HEAP32[$pTab>>2]|0; - $203 = ((($202)) + 32|0); - $204 = HEAP16[$203>>1]|0; - $205 = $204 << 16 >> 16; - $206 = ($201|0)==($205|0); - if (!($206)) { + $200 = HEAP32[$j>>2]|0; + $201 = HEAP32[$pTab>>2]|0; + $202 = ((($201)) + 32|0); + $203 = HEAP16[$202>>1]|0; + $204 = $203 << 16 >> 16; + $205 = ($200|0)==($204|0); + if (!($205)) { break; } - $207 = HEAP32[$i>>2]|0; - HEAP32[$ipkColumn>>2] = $207; + $206 = HEAP32[$i>>2]|0; + HEAP32[$ipkColumn>>2] = $206; } } while(0); - $209 = HEAP32[$j>>2]|0; - $210 = HEAP32[$pTab>>2]|0; - $211 = ((($210)) + 34|0); - $212 = HEAP16[$211>>1]|0; - $213 = $212 << 16 >> 16; - $214 = ($209|0)>=($213|0); - if ($214) { - $215 = HEAP32[$i>>2]|0; - $216 = HEAP32[$3>>2]|0; - $217 = HEAP32[$216>>2]|0; - $218 = (($217) + ($215<<3)|0); - $219 = HEAP32[$218>>2]|0; - $220 = (_sqlite3IsRowid($219)|0); - $221 = ($220|0)==(0); - $222 = HEAP8[$withoutRowid>>0]|0; - $223 = ($222<<24>>24)!=(0); - $or$cond = $221 | $223; + $208 = HEAP32[$j>>2]|0; + $209 = HEAP32[$pTab>>2]|0; + $210 = ((($209)) + 34|0); + $211 = HEAP16[$210>>1]|0; + $212 = $211 << 16 >> 16; + $213 = ($208|0)>=($212|0); + if ($213) { + $214 = HEAP32[$i>>2]|0; + $215 = HEAP32[$3>>2]|0; + $216 = HEAP32[$215>>2]|0; + $217 = (($216) + ($214<<3)|0); + $218 = HEAP32[$217>>2]|0; + $219 = (_sqlite3IsRowid($218)|0); + $220 = ($219|0)==(0); + $221 = HEAP8[$withoutRowid>>0]|0; + $222 = ($221<<24>>24)!=(0); + $or$cond = $220 | $222; if ($or$cond) { break; } - $224 = HEAP32[$i>>2]|0; - HEAP32[$ipkColumn>>2] = $224; + $223 = HEAP32[$i>>2]|0; + HEAP32[$ipkColumn>>2] = $223; HEAP8[$bIdListInOrder>>0] = 0; } - $234 = HEAP32[$i>>2]|0; - $235 = (($234) + 1)|0; - HEAP32[$i>>2] = $235; + $233 = HEAP32[$i>>2]|0; + $234 = (($233) + 1)|0; + HEAP32[$i>>2] = $234; } - $225 = HEAP32[$0>>2]|0; - $226 = HEAP32[$1>>2]|0; - $227 = HEAP32[$i>>2]|0; - $228 = HEAP32[$3>>2]|0; - $229 = HEAP32[$228>>2]|0; - $230 = (($229) + ($227<<3)|0); - $231 = HEAP32[$230>>2]|0; - HEAP32[$vararg_buffer>>2] = $226; + $224 = HEAP32[$0>>2]|0; + $225 = HEAP32[$1>>2]|0; + $226 = HEAP32[$i>>2]|0; + $227 = HEAP32[$3>>2]|0; + $228 = HEAP32[$227>>2]|0; + $229 = (($228) + ($226<<3)|0); + $230 = HEAP32[$229>>2]|0; + HEAP32[$vararg_buffer>>2] = $225; $vararg_ptr12 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr12>>2] = 0; $vararg_ptr13 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr13>>2] = $231; - _sqlite3ErrorMsg($225,35073,$vararg_buffer); - $232 = HEAP32[$0>>2]|0; - $233 = ((($232)) + 17|0); - HEAP8[$233>>0] = 1; + HEAP32[$vararg_ptr13>>2] = $230; + _sqlite3ErrorMsg($224,34774,$vararg_buffer); + $231 = HEAP32[$0>>2]|0; + $232 = ((($231)) + 17|0); + HEAP8[$232>>0] = 1; break L1; } } while(0); - $236 = HEAP32[$2>>2]|0; - $237 = ($236|0)!=(0|0); + $235 = HEAP32[$2>>2]|0; + $236 = ($235|0)!=(0|0); do { - if ($237) { - $238 = HEAP32[$0>>2]|0; - $239 = ((($238)) + 76|0); - $240 = HEAP32[$239>>2]|0; - $241 = (($240) + 1)|0; - HEAP32[$239>>2] = $241; - HEAP32[$regYield>>2] = $241; - $242 = HEAP32[$v>>2]|0; - $243 = (_sqlite3VdbeCurrentAddr($242)|0); - $244 = (($243) + 1)|0; - HEAP32[$addrTop>>2] = $244; - $245 = HEAP32[$v>>2]|0; - $246 = HEAP32[$regYield>>2]|0; - $247 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeAddOp3($245,16,$246,0,$247)|0); - $248 = HEAP32[$regYield>>2]|0; - _sqlite3SelectDestInit($dest,13,$248); - $249 = HEAP8[$bIdListInOrder>>0]|0; - $250 = $249&255; - $251 = ($250|0)!=(0); - $252 = HEAP32[$regData>>2]|0; - $253 = $251 ? $252 : 0; - $254 = ((($dest)) + 8|0); - HEAP32[$254>>2] = $253; - $255 = HEAP32[$pTab>>2]|0; - $256 = ((($255)) + 34|0); - $257 = HEAP16[$256>>1]|0; - $258 = $257 << 16 >> 16; - $259 = ((($dest)) + 12|0); - HEAP32[$259>>2] = $258; - $260 = HEAP32[$0>>2]|0; - $261 = HEAP32[$2>>2]|0; - $262 = (_sqlite3Select($260,$261,$dest)|0); - HEAP32[$rc>>2] = $262; - $263 = ((($dest)) + 8|0); - $264 = HEAP32[$263>>2]|0; - HEAP32[$regFromSelect>>2] = $264; - $265 = HEAP32[$rc>>2]|0; - $266 = ($265|0)!=(0); - if ($266) { + if ($236) { + $237 = HEAP32[$0>>2]|0; + $238 = ((($237)) + 76|0); + $239 = HEAP32[$238>>2]|0; + $240 = (($239) + 1)|0; + HEAP32[$238>>2] = $240; + HEAP32[$regYield>>2] = $240; + $241 = HEAP32[$v>>2]|0; + $242 = (_sqlite3VdbeCurrentAddr($241)|0); + $243 = (($242) + 1)|0; + HEAP32[$addrTop>>2] = $243; + $244 = HEAP32[$v>>2]|0; + $245 = HEAP32[$regYield>>2]|0; + $246 = HEAP32[$addrTop>>2]|0; + (_sqlite3VdbeAddOp3($244,16,$245,0,$246)|0); + $247 = HEAP32[$regYield>>2]|0; + _sqlite3SelectDestInit($dest,13,$247); + $248 = HEAP8[$bIdListInOrder>>0]|0; + $249 = $248&255; + $250 = ($249|0)!=(0); + $251 = HEAP32[$regData>>2]|0; + $252 = $250 ? $251 : 0; + $253 = ((($dest)) + 8|0); + HEAP32[$253>>2] = $252; + $254 = HEAP32[$pTab>>2]|0; + $255 = ((($254)) + 34|0); + $256 = HEAP16[$255>>1]|0; + $257 = $256 << 16 >> 16; + $258 = ((($dest)) + 12|0); + HEAP32[$258>>2] = $257; + $259 = HEAP32[$0>>2]|0; + $260 = HEAP32[$2>>2]|0; + $261 = (_sqlite3Select($259,$260,$dest)|0); + HEAP32[$rc>>2] = $261; + $262 = ((($dest)) + 8|0); + $263 = HEAP32[$262>>2]|0; + HEAP32[$regFromSelect>>2] = $263; + $264 = HEAP32[$rc>>2]|0; + $265 = ($264|0)!=(0); + if ($265) { break L1; } - $267 = HEAP32[$db>>2]|0; - $268 = ((($267)) + 65|0); - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = ($270|0)!=(0); - if ($271) { + $266 = HEAP32[$db>>2]|0; + $267 = ((($266)) + 69|0); + $268 = HEAP8[$267>>0]|0; + $269 = $268&255; + $270 = ($269|0)!=(0); + if ($270) { break L1; } - $272 = HEAP32[$0>>2]|0; - $273 = ((($272)) + 68|0); - $274 = HEAP32[$273>>2]|0; - $275 = ($274|0)!=(0); - if ($275) { + $271 = HEAP32[$0>>2]|0; + $272 = ((($271)) + 68|0); + $273 = HEAP32[$272>>2]|0; + $274 = ($273|0)!=(0); + if ($274) { break L1; } - $276 = HEAP32[$v>>2]|0; - $277 = HEAP32[$regYield>>2]|0; - _sqlite3VdbeEndCoroutine($276,$277); - $278 = HEAP32[$v>>2]|0; - $279 = HEAP32[$addrTop>>2]|0; - $280 = (($279) - 1)|0; - _sqlite3VdbeJumpHere($278,$280); - $281 = HEAP32[$2>>2]|0; + $275 = HEAP32[$v>>2]|0; + $276 = HEAP32[$regYield>>2]|0; + _sqlite3VdbeEndCoroutine($275,$276); + $277 = HEAP32[$v>>2]|0; + $278 = HEAP32[$addrTop>>2]|0; + $279 = (($278) - 1)|0; + _sqlite3VdbeJumpHere($277,$279); + $280 = HEAP32[$2>>2]|0; + $281 = HEAP32[$280>>2]|0; $282 = HEAP32[$281>>2]|0; - $283 = HEAP32[$282>>2]|0; - HEAP32[$nColumn>>2] = $283; - $284 = HEAP32[$pTrigger>>2]|0; - $285 = ($284|0)!=(0|0); - if ($285) { + HEAP32[$nColumn>>2] = $282; + $283 = HEAP32[$pTrigger>>2]|0; + $284 = ($283|0)!=(0|0); + if ($284) { label = 44; } else { - $286 = HEAP32[$0>>2]|0; - $287 = HEAP32[$iDb>>2]|0; - $288 = HEAP32[$pTab>>2]|0; - $289 = (_readsTable($286,$287,$288)|0); - $290 = ($289|0)!=(0); - if ($290) { + $285 = HEAP32[$0>>2]|0; + $286 = HEAP32[$iDb>>2]|0; + $287 = HEAP32[$pTab>>2]|0; + $288 = (_readsTable($285,$286,$287)|0); + $289 = ($288|0)!=(0); + if ($289) { label = 44; } } if ((label|0) == 44) { HEAP8[$useTempTable>>0] = 1; } - $291 = HEAP8[$useTempTable>>0]|0; - $292 = ($291<<24>>24)!=(0); - if (!($292)) { + $290 = HEAP8[$useTempTable>>0]|0; + $291 = ($290<<24>>24)!=(0); + if (!($291)) { break; } - $293 = HEAP32[$0>>2]|0; - $294 = ((($293)) + 72|0); - $295 = HEAP32[$294>>2]|0; - $296 = (($295) + 1)|0; - HEAP32[$294>>2] = $296; - HEAP32[$srcTab>>2] = $295; - $297 = HEAP32[$0>>2]|0; - $298 = (_sqlite3GetTempReg($297)|0); - HEAP32[$regRec>>2] = $298; - $299 = HEAP32[$0>>2]|0; - $300 = (_sqlite3GetTempReg($299)|0); - HEAP32[$regTempRowid>>2] = $300; - $301 = HEAP32[$v>>2]|0; - $302 = HEAP32[$srcTab>>2]|0; - $303 = HEAP32[$nColumn>>2]|0; - (_sqlite3VdbeAddOp2($301,57,$302,$303)|0); - $304 = HEAP32[$v>>2]|0; - $305 = ((($dest)) + 4|0); - $306 = HEAP32[$305>>2]|0; - $307 = (_sqlite3VdbeAddOp1($304,18,$306)|0); - HEAP32[$addrL>>2] = $307; - $308 = HEAP32[$v>>2]|0; - $309 = HEAP32[$regFromSelect>>2]|0; - $310 = HEAP32[$nColumn>>2]|0; - $311 = HEAP32[$regRec>>2]|0; - (_sqlite3VdbeAddOp3($308,49,$309,$310,$311)|0); - $312 = HEAP32[$v>>2]|0; - $313 = HEAP32[$srcTab>>2]|0; - $314 = HEAP32[$regTempRowid>>2]|0; - (_sqlite3VdbeAddOp2($312,74,$313,$314)|0); - $315 = HEAP32[$v>>2]|0; - $316 = HEAP32[$srcTab>>2]|0; - $317 = HEAP32[$regRec>>2]|0; - $318 = HEAP32[$regTempRowid>>2]|0; - (_sqlite3VdbeAddOp3($315,75,$316,$317,$318)|0); - $319 = HEAP32[$v>>2]|0; - $320 = HEAP32[$addrL>>2]|0; - (_sqlite3VdbeGoto($319,$320)|0); - $321 = HEAP32[$v>>2]|0; - $322 = HEAP32[$addrL>>2]|0; - _sqlite3VdbeJumpHere($321,$322); - $323 = HEAP32[$0>>2]|0; - $324 = HEAP32[$regRec>>2]|0; - _sqlite3ReleaseTempReg($323,$324); - $325 = HEAP32[$0>>2]|0; - $326 = HEAP32[$regTempRowid>>2]|0; - _sqlite3ReleaseTempReg($325,$326); + $292 = HEAP32[$0>>2]|0; + $293 = ((($292)) + 72|0); + $294 = HEAP32[$293>>2]|0; + $295 = (($294) + 1)|0; + HEAP32[$293>>2] = $295; + HEAP32[$srcTab>>2] = $294; + $296 = HEAP32[$0>>2]|0; + $297 = (_sqlite3GetTempReg($296)|0); + HEAP32[$regRec>>2] = $297; + $298 = HEAP32[$0>>2]|0; + $299 = (_sqlite3GetTempReg($298)|0); + HEAP32[$regTempRowid>>2] = $299; + $300 = HEAP32[$v>>2]|0; + $301 = HEAP32[$srcTab>>2]|0; + $302 = HEAP32[$nColumn>>2]|0; + (_sqlite3VdbeAddOp2($300,57,$301,$302)|0); + $303 = HEAP32[$v>>2]|0; + $304 = ((($dest)) + 4|0); + $305 = HEAP32[$304>>2]|0; + $306 = (_sqlite3VdbeAddOp1($303,18,$305)|0); + HEAP32[$addrL>>2] = $306; + $307 = HEAP32[$v>>2]|0; + $308 = HEAP32[$regFromSelect>>2]|0; + $309 = HEAP32[$nColumn>>2]|0; + $310 = HEAP32[$regRec>>2]|0; + (_sqlite3VdbeAddOp3($307,49,$308,$309,$310)|0); + $311 = HEAP32[$v>>2]|0; + $312 = HEAP32[$srcTab>>2]|0; + $313 = HEAP32[$regTempRowid>>2]|0; + (_sqlite3VdbeAddOp2($311,74,$312,$313)|0); + $314 = HEAP32[$v>>2]|0; + $315 = HEAP32[$srcTab>>2]|0; + $316 = HEAP32[$regRec>>2]|0; + $317 = HEAP32[$regTempRowid>>2]|0; + (_sqlite3VdbeAddOp3($314,75,$315,$316,$317)|0); + $318 = HEAP32[$v>>2]|0; + $319 = HEAP32[$addrL>>2]|0; + (_sqlite3VdbeGoto($318,$319)|0); + $320 = HEAP32[$v>>2]|0; + $321 = HEAP32[$addrL>>2]|0; + _sqlite3VdbeJumpHere($320,$321); + $322 = HEAP32[$0>>2]|0; + $323 = HEAP32[$regRec>>2]|0; + _sqlite3ReleaseTempReg($322,$323); + $324 = HEAP32[$0>>2]|0; + $325 = HEAP32[$regTempRowid>>2]|0; + _sqlite3ReleaseTempReg($324,$325); } else { ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $327 = HEAP32[$0>>2]|0; - HEAP32[$sNC>>2] = $327; + $326 = HEAP32[$0>>2]|0; + HEAP32[$sNC>>2] = $326; HEAP32[$srcTab>>2] = -1; - $328 = HEAP32[$pList>>2]|0; - $329 = ($328|0)!=(0|0); - if ($329) { - $330 = HEAP32[$pList>>2]|0; - $331 = HEAP32[$330>>2]|0; - HEAP32[$nColumn>>2] = $331; - $332 = HEAP32[$pList>>2]|0; - $333 = (_sqlite3ResolveExprListNames($sNC,$332)|0); - $334 = ($333|0)!=(0); - if ($334) { + $327 = HEAP32[$pList>>2]|0; + $328 = ($327|0)!=(0|0); + if ($328) { + $329 = HEAP32[$pList>>2]|0; + $330 = HEAP32[$329>>2]|0; + HEAP32[$nColumn>>2] = $330; + $331 = HEAP32[$pList>>2]|0; + $332 = (_sqlite3ResolveExprListNames($sNC,$331)|0); + $333 = ($332|0)!=(0); + if ($333) { break L1; } else { break; @@ -121514,332 +122769,332 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } } while(0); - $335 = HEAP32[$3>>2]|0; - $336 = ($335|0)==(0|0); - $337 = HEAP32[$nColumn>>2]|0; - $338 = ($337|0)>(0); - $or$cond3 = $336 & $338; + $334 = HEAP32[$3>>2]|0; + $335 = ($334|0)==(0|0); + $336 = HEAP32[$nColumn>>2]|0; + $337 = ($336|0)>(0); + $or$cond3 = $335 & $337; if ($or$cond3) { - $339 = HEAP32[$pTab>>2]|0; - $340 = ((($339)) + 32|0); - $341 = HEAP16[$340>>1]|0; - $342 = $341 << 16 >> 16; - HEAP32[$ipkColumn>>2] = $342; + $338 = HEAP32[$pTab>>2]|0; + $339 = ((($338)) + 32|0); + $340 = HEAP16[$339>>1]|0; + $341 = $340 << 16 >> 16; + HEAP32[$ipkColumn>>2] = $341; } HEAP32[$i>>2] = 0; while(1) { - $343 = HEAP32[$i>>2]|0; - $344 = HEAP32[$pTab>>2]|0; - $345 = ((($344)) + 34|0); - $346 = HEAP16[$345>>1]|0; - $347 = $346 << 16 >> 16; - $348 = ($343|0)<($347|0); - if (!($348)) { + $342 = HEAP32[$i>>2]|0; + $343 = HEAP32[$pTab>>2]|0; + $344 = ((($343)) + 34|0); + $345 = HEAP16[$344>>1]|0; + $346 = $345 << 16 >> 16; + $347 = ($342|0)<($346|0); + if (!($347)) { break; } - $349 = HEAP32[$i>>2]|0; - $350 = HEAP32[$pTab>>2]|0; - $351 = ((($350)) + 4|0); - $352 = HEAP32[$351>>2]|0; - $353 = (($352) + (($349*24)|0)|0); - $354 = ((($353)) + 23|0); - $355 = HEAP8[$354>>0]|0; - $356 = $355&255; - $357 = $356 & 2; - $358 = ($357|0)!=(0); - $359 = $358 ? 1 : 0; - $360 = HEAP32[$nHidden>>2]|0; - $361 = (($360) + ($359))|0; - HEAP32[$nHidden>>2] = $361; - $362 = HEAP32[$i>>2]|0; - $363 = (($362) + 1)|0; - HEAP32[$i>>2] = $363; + $348 = HEAP32[$i>>2]|0; + $349 = HEAP32[$pTab>>2]|0; + $350 = ((($349)) + 4|0); + $351 = HEAP32[$350>>2]|0; + $352 = (($351) + ($348<<4)|0); + $353 = ((($352)) + 15|0); + $354 = HEAP8[$353>>0]|0; + $355 = $354&255; + $356 = $355 & 2; + $357 = ($356|0)!=(0); + $358 = $357 ? 1 : 0; + $359 = HEAP32[$nHidden>>2]|0; + $360 = (($359) + ($358))|0; + HEAP32[$nHidden>>2] = $360; + $361 = HEAP32[$i>>2]|0; + $362 = (($361) + 1)|0; + HEAP32[$i>>2] = $362; } - $364 = HEAP32[$3>>2]|0; - $365 = ($364|0)==(0|0); - $366 = HEAP32[$nColumn>>2]|0; - $367 = ($366|0)!=(0); - $or$cond5 = $365 & $367; + $363 = HEAP32[$3>>2]|0; + $364 = ($363|0)==(0|0); + $365 = HEAP32[$nColumn>>2]|0; + $366 = ($365|0)!=(0); + $or$cond5 = $364 & $366; if ($or$cond5) { - $368 = HEAP32[$nColumn>>2]|0; - $369 = HEAP32[$pTab>>2]|0; - $370 = ((($369)) + 34|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371 << 16 >> 16; - $373 = HEAP32[$nHidden>>2]|0; - $374 = (($372) - ($373))|0; - $375 = ($368|0)!=($374|0); - if ($375) { - $376 = HEAP32[$0>>2]|0; - $377 = HEAP32[$1>>2]|0; - $378 = HEAP32[$pTab>>2]|0; - $379 = ((($378)) + 34|0); - $380 = HEAP16[$379>>1]|0; - $381 = $380 << 16 >> 16; - $382 = HEAP32[$nHidden>>2]|0; - $383 = (($381) - ($382))|0; - $384 = HEAP32[$nColumn>>2]|0; - HEAP32[$vararg_buffer14>>2] = $377; + $367 = HEAP32[$nColumn>>2]|0; + $368 = HEAP32[$pTab>>2]|0; + $369 = ((($368)) + 34|0); + $370 = HEAP16[$369>>1]|0; + $371 = $370 << 16 >> 16; + $372 = HEAP32[$nHidden>>2]|0; + $373 = (($371) - ($372))|0; + $374 = ($367|0)!=($373|0); + if ($374) { + $375 = HEAP32[$0>>2]|0; + $376 = HEAP32[$1>>2]|0; + $377 = HEAP32[$pTab>>2]|0; + $378 = ((($377)) + 34|0); + $379 = HEAP16[$378>>1]|0; + $380 = $379 << 16 >> 16; + $381 = HEAP32[$nHidden>>2]|0; + $382 = (($380) - ($381))|0; + $383 = HEAP32[$nColumn>>2]|0; + HEAP32[$vararg_buffer14>>2] = $376; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = 0; $vararg_ptr18 = ((($vararg_buffer14)) + 8|0); - HEAP32[$vararg_ptr18>>2] = $383; + HEAP32[$vararg_ptr18>>2] = $382; $vararg_ptr19 = ((($vararg_buffer14)) + 12|0); - HEAP32[$vararg_ptr19>>2] = $384; - _sqlite3ErrorMsg($376,35105,$vararg_buffer14); + HEAP32[$vararg_ptr19>>2] = $383; + _sqlite3ErrorMsg($375,34806,$vararg_buffer14); break L1; } } - $385 = HEAP32[$3>>2]|0; - $386 = ($385|0)!=(0|0); + $384 = HEAP32[$3>>2]|0; + $385 = ($384|0)!=(0|0); do { - if ($386) { - $387 = HEAP32[$nColumn>>2]|0; - $388 = HEAP32[$3>>2]|0; - $389 = ((($388)) + 4|0); - $390 = HEAP32[$389>>2]|0; - $391 = ($387|0)!=($390|0); - if (!($391)) { + if ($385) { + $386 = HEAP32[$nColumn>>2]|0; + $387 = HEAP32[$3>>2]|0; + $388 = ((($387)) + 4|0); + $389 = HEAP32[$388>>2]|0; + $390 = ($386|0)!=($389|0); + if (!($390)) { break; } - $392 = HEAP32[$0>>2]|0; - $393 = HEAP32[$nColumn>>2]|0; - $394 = HEAP32[$3>>2]|0; - $395 = ((($394)) + 4|0); - $396 = HEAP32[$395>>2]|0; - HEAP32[$vararg_buffer20>>2] = $393; + $391 = HEAP32[$0>>2]|0; + $392 = HEAP32[$nColumn>>2]|0; + $393 = HEAP32[$3>>2]|0; + $394 = ((($393)) + 4|0); + $395 = HEAP32[$394>>2]|0; + HEAP32[$vararg_buffer20>>2] = $392; $vararg_ptr23 = ((($vararg_buffer20)) + 4|0); - HEAP32[$vararg_ptr23>>2] = $396; - _sqlite3ErrorMsg($392,35157,$vararg_buffer20); + HEAP32[$vararg_ptr23>>2] = $395; + _sqlite3ErrorMsg($391,34858,$vararg_buffer20); break L1; } } while(0); - $397 = HEAP32[$db>>2]|0; - $398 = ((($397)) + 24|0); - $399 = HEAP32[$398>>2]|0; - $400 = $399 & 128; - $401 = ($400|0)!=(0); - if ($401) { - $402 = HEAP32[$0>>2]|0; - $403 = ((($402)) + 76|0); - $404 = HEAP32[$403>>2]|0; - $405 = (($404) + 1)|0; - HEAP32[$403>>2] = $405; - HEAP32[$regRowCount>>2] = $405; - $406 = HEAP32[$v>>2]|0; - $407 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($406,22,0,$407)|0); + $396 = HEAP32[$db>>2]|0; + $397 = ((($396)) + 24|0); + $398 = HEAP32[$397>>2]|0; + $399 = $398 & 128; + $400 = ($399|0)!=(0); + if ($400) { + $401 = HEAP32[$0>>2]|0; + $402 = ((($401)) + 76|0); + $403 = HEAP32[$402>>2]|0; + $404 = (($403) + 1)|0; + HEAP32[$402>>2] = $404; + HEAP32[$regRowCount>>2] = $404; + $405 = HEAP32[$v>>2]|0; + $406 = HEAP32[$regRowCount>>2]|0; + (_sqlite3VdbeAddOp2($405,22,0,$406)|0); } - $408 = HEAP32[$isView>>2]|0; - $409 = ($408|0)!=(0); + $407 = HEAP32[$isView>>2]|0; + $408 = ($407|0)!=(0); L85: do { - if (!($409)) { - $410 = HEAP32[$0>>2]|0; - $411 = HEAP32[$pTab>>2]|0; - $412 = (_sqlite3OpenTableAndIndices($410,$411,55,0,-1,0,$iDataCur,$iIdxCur)|0); - HEAP32[$nIdx>>2] = $412; - $413 = HEAP32[$db>>2]|0; - $414 = HEAP32[$nIdx>>2]|0; - $415 = (($414) + 1)|0; - $416 = $415<<2; - $417 = (_sqlite3DbMallocRawNN($413,$416,0)|0); - HEAP32[$aRegIdx>>2] = $417; - $418 = HEAP32[$aRegIdx>>2]|0; - $419 = ($418|0)==(0|0); - if ($419) { + if (!($408)) { + $409 = HEAP32[$0>>2]|0; + $410 = HEAP32[$pTab>>2]|0; + $411 = (_sqlite3OpenTableAndIndices($409,$410,55,0,-1,0,$iDataCur,$iIdxCur)|0); + HEAP32[$nIdx>>2] = $411; + $412 = HEAP32[$db>>2]|0; + $413 = HEAP32[$nIdx>>2]|0; + $414 = (($413) + 1)|0; + $415 = $414<<2; + $416 = (_sqlite3DbMallocRawNN($412,$415,0)|0); + HEAP32[$aRegIdx>>2] = $416; + $417 = HEAP32[$aRegIdx>>2]|0; + $418 = ($417|0)==(0|0); + if ($418) { break L1; } HEAP32[$i>>2] = 0; while(1) { - $420 = HEAP32[$i>>2]|0; - $421 = HEAP32[$nIdx>>2]|0; - $422 = ($420|0)<($421|0); - if (!($422)) { + $419 = HEAP32[$i>>2]|0; + $420 = HEAP32[$nIdx>>2]|0; + $421 = ($419|0)<($420|0); + if (!($421)) { break L85; } - $423 = HEAP32[$0>>2]|0; - $424 = ((($423)) + 76|0); - $425 = HEAP32[$424>>2]|0; - $426 = (($425) + 1)|0; - HEAP32[$424>>2] = $426; - $427 = HEAP32[$i>>2]|0; - $428 = HEAP32[$aRegIdx>>2]|0; - $429 = (($428) + ($427<<2)|0); - HEAP32[$429>>2] = $426; - $430 = HEAP32[$i>>2]|0; - $431 = (($430) + 1)|0; - HEAP32[$i>>2] = $431; + $422 = HEAP32[$0>>2]|0; + $423 = ((($422)) + 76|0); + $424 = HEAP32[$423>>2]|0; + $425 = (($424) + 1)|0; + HEAP32[$423>>2] = $425; + $426 = HEAP32[$i>>2]|0; + $427 = HEAP32[$aRegIdx>>2]|0; + $428 = (($427) + ($426<<2)|0); + HEAP32[$428>>2] = $425; + $429 = HEAP32[$i>>2]|0; + $430 = (($429) + 1)|0; + HEAP32[$i>>2] = $430; } } } while(0); - $432 = HEAP8[$useTempTable>>0]|0; - $433 = ($432<<24>>24)!=(0); + $431 = HEAP8[$useTempTable>>0]|0; + $432 = ($431<<24>>24)!=(0); do { - if ($433) { - $434 = HEAP32[$v>>2]|0; - $435 = HEAP32[$srcTab>>2]|0; - $436 = (_sqlite3VdbeAddOp1($434,108,$435)|0); - HEAP32[$addrInsTop>>2] = $436; - $437 = HEAP32[$v>>2]|0; - $438 = (_sqlite3VdbeCurrentAddr($437)|0); - HEAP32[$addrCont>>2] = $438; + if ($432) { + $433 = HEAP32[$v>>2]|0; + $434 = HEAP32[$srcTab>>2]|0; + $435 = (_sqlite3VdbeAddOp1($433,108,$434)|0); + HEAP32[$addrInsTop>>2] = $435; + $436 = HEAP32[$v>>2]|0; + $437 = (_sqlite3VdbeCurrentAddr($436)|0); + HEAP32[$addrCont>>2] = $437; } else { - $439 = HEAP32[$2>>2]|0; - $440 = ($439|0)!=(0|0); - if (!($440)) { + $438 = HEAP32[$2>>2]|0; + $439 = ($438|0)!=(0|0); + if (!($439)) { break; } - $441 = HEAP32[$v>>2]|0; - $442 = ((($dest)) + 4|0); - $443 = HEAP32[$442>>2]|0; - $444 = (_sqlite3VdbeAddOp1($441,18,$443)|0); - HEAP32[$addrCont>>2] = $444; - HEAP32[$addrInsTop>>2] = $444; + $440 = HEAP32[$v>>2]|0; + $441 = ((($dest)) + 4|0); + $442 = HEAP32[$441>>2]|0; + $443 = (_sqlite3VdbeAddOp1($440,18,$442)|0); + HEAP32[$addrCont>>2] = $443; + HEAP32[$addrInsTop>>2] = $443; } } while(0); - $445 = HEAP32[$v>>2]|0; - $446 = (_sqlite3VdbeMakeLabel($445)|0); - HEAP32[$endOfLoop>>2] = $446; - $447 = HEAP32[$tmask>>2]|0; - $448 = $447 & 1; - $449 = ($448|0)!=(0); - if ($449) { - $450 = HEAP32[$0>>2]|0; - $451 = HEAP32[$pTab>>2]|0; - $452 = ((($451)) + 34|0); - $453 = HEAP16[$452>>1]|0; - $454 = $453 << 16 >> 16; - $455 = (($454) + 1)|0; - $456 = (_sqlite3GetTempRange($450,$455)|0); - HEAP32[$regCols>>2] = $456; - $457 = HEAP32[$ipkColumn>>2]|0; - $458 = ($457|0)<(0); - if ($458) { - $459 = HEAP32[$v>>2]|0; - $460 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp2($459,22,-1,$460)|0); + $444 = HEAP32[$v>>2]|0; + $445 = (_sqlite3VdbeMakeLabel($444)|0); + HEAP32[$endOfLoop>>2] = $445; + $446 = HEAP32[$tmask>>2]|0; + $447 = $446 & 1; + $448 = ($447|0)!=(0); + if ($448) { + $449 = HEAP32[$0>>2]|0; + $450 = HEAP32[$pTab>>2]|0; + $451 = ((($450)) + 34|0); + $452 = HEAP16[$451>>1]|0; + $453 = $452 << 16 >> 16; + $454 = (($453) + 1)|0; + $455 = (_sqlite3GetTempRange($449,$454)|0); + HEAP32[$regCols>>2] = $455; + $456 = HEAP32[$ipkColumn>>2]|0; + $457 = ($456|0)<(0); + if ($457) { + $458 = HEAP32[$v>>2]|0; + $459 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp2($458,22,-1,$459)|0); } else { - $461 = HEAP8[$useTempTable>>0]|0; - $462 = ($461<<24>>24)!=(0); - if ($462) { - $463 = HEAP32[$v>>2]|0; - $464 = HEAP32[$srcTab>>2]|0; - $465 = HEAP32[$ipkColumn>>2]|0; - $466 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp3($463,47,$464,$465,$466)|0); + $460 = HEAP8[$useTempTable>>0]|0; + $461 = ($460<<24>>24)!=(0); + if ($461) { + $462 = HEAP32[$v>>2]|0; + $463 = HEAP32[$srcTab>>2]|0; + $464 = HEAP32[$ipkColumn>>2]|0; + $465 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp3($462,47,$463,$464,$465)|0); } else { - $467 = HEAP32[$0>>2]|0; - $468 = HEAP32[$ipkColumn>>2]|0; - $469 = HEAP32[$pList>>2]|0; - $470 = ((($469)) + 4|0); - $471 = HEAP32[$470>>2]|0; - $472 = (($471) + (($468*20)|0)|0); - $473 = HEAP32[$472>>2]|0; - $474 = HEAP32[$regCols>>2]|0; - _sqlite3ExprCode($467,$473,$474); + $466 = HEAP32[$0>>2]|0; + $467 = HEAP32[$ipkColumn>>2]|0; + $468 = HEAP32[$pList>>2]|0; + $469 = ((($468)) + 4|0); + $470 = HEAP32[$469>>2]|0; + $471 = (($470) + (($467*20)|0)|0); + $472 = HEAP32[$471>>2]|0; + $473 = HEAP32[$regCols>>2]|0; + _sqlite3ExprCode($466,$472,$473); } - $475 = HEAP32[$v>>2]|0; - $476 = HEAP32[$regCols>>2]|0; - $477 = (_sqlite3VdbeAddOp1($475,77,$476)|0); - HEAP32[$addr1>>2] = $477; - $478 = HEAP32[$v>>2]|0; - $479 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp2($478,22,-1,$479)|0); - $480 = HEAP32[$v>>2]|0; - $481 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($480,$481); - $482 = HEAP32[$v>>2]|0; - $483 = HEAP32[$regCols>>2]|0; - (_sqlite3VdbeAddOp1($482,38,$483)|0); + $474 = HEAP32[$v>>2]|0; + $475 = HEAP32[$regCols>>2]|0; + $476 = (_sqlite3VdbeAddOp1($474,77,$475)|0); + HEAP32[$addr1>>2] = $476; + $477 = HEAP32[$v>>2]|0; + $478 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp2($477,22,-1,$478)|0); + $479 = HEAP32[$v>>2]|0; + $480 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($479,$480); + $481 = HEAP32[$v>>2]|0; + $482 = HEAP32[$regCols>>2]|0; + (_sqlite3VdbeAddOp1($481,38,$482)|0); } HEAP32[$j>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $484 = HEAP32[$i>>2]|0; - $485 = HEAP32[$pTab>>2]|0; - $486 = ((($485)) + 34|0); - $487 = HEAP16[$486>>1]|0; - $488 = $487 << 16 >> 16; - $489 = ($484|0)<($488|0); - if (!($489)) { + $483 = HEAP32[$i>>2]|0; + $484 = HEAP32[$pTab>>2]|0; + $485 = ((($484)) + 34|0); + $486 = HEAP16[$485>>1]|0; + $487 = $486 << 16 >> 16; + $488 = ($483|0)<($487|0); + if (!($488)) { break; } - $490 = HEAP32[$3>>2]|0; - $491 = ($490|0)!=(0|0); + $489 = HEAP32[$3>>2]|0; + $490 = ($489|0)!=(0|0); L110: do { - if ($491) { + if ($490) { HEAP32[$j>>2] = 0; while(1) { - $492 = HEAP32[$j>>2]|0; - $493 = HEAP32[$3>>2]|0; - $494 = ((($493)) + 4|0); - $495 = HEAP32[$494>>2]|0; - $496 = ($492|0)<($495|0); - if (!($496)) { + $491 = HEAP32[$j>>2]|0; + $492 = HEAP32[$3>>2]|0; + $493 = ((($492)) + 4|0); + $494 = HEAP32[$493>>2]|0; + $495 = ($491|0)<($494|0); + if (!($495)) { break L110; } - $497 = HEAP32[$j>>2]|0; - $498 = HEAP32[$3>>2]|0; - $499 = HEAP32[$498>>2]|0; - $500 = (($499) + ($497<<3)|0); - $501 = ((($500)) + 4|0); - $502 = HEAP32[$501>>2]|0; - $503 = HEAP32[$i>>2]|0; - $504 = ($502|0)==($503|0); - if ($504) { + $496 = HEAP32[$j>>2]|0; + $497 = HEAP32[$3>>2]|0; + $498 = HEAP32[$497>>2]|0; + $499 = (($498) + ($496<<3)|0); + $500 = ((($499)) + 4|0); + $501 = HEAP32[$500>>2]|0; + $502 = HEAP32[$i>>2]|0; + $503 = ($501|0)==($502|0); + if ($503) { break L110; } - $505 = HEAP32[$j>>2]|0; - $506 = (($505) + 1)|0; - HEAP32[$j>>2] = $506; + $504 = HEAP32[$j>>2]|0; + $505 = (($504) + 1)|0; + HEAP32[$j>>2] = $505; } } } while(0); - $507 = HEAP8[$useTempTable>>0]|0; - $508 = ($507<<24>>24)!=(0); - $509 = HEAP32[$pList>>2]|0; - $510 = ($509|0)!=(0|0); - $or$cond7 = $508 | $510; + $506 = HEAP8[$useTempTable>>0]|0; + $507 = ($506<<24>>24)!=(0); + $508 = HEAP32[$pList>>2]|0; + $509 = ($508|0)!=(0|0); + $or$cond7 = $507 | $509; do { if ($or$cond7) { - $511 = HEAP32[$3>>2]|0; - $512 = ($511|0)!=(0|0); - if ($512) { - $513 = HEAP32[$j>>2]|0; - $514 = HEAP32[$3>>2]|0; - $515 = ((($514)) + 4|0); - $516 = HEAP32[$515>>2]|0; - $517 = ($513|0)>=($516|0); - if ($517) { + $510 = HEAP32[$3>>2]|0; + $511 = ($510|0)!=(0|0); + if ($511) { + $512 = HEAP32[$j>>2]|0; + $513 = HEAP32[$3>>2]|0; + $514 = ((($513)) + 4|0); + $515 = HEAP32[$514>>2]|0; + $516 = ($512|0)>=($515|0); + if ($516) { label = 90; break; } } - $518 = HEAP8[$useTempTable>>0]|0; - $519 = ($518<<24>>24)!=(0); - if ($519) { - $532 = HEAP32[$v>>2]|0; - $533 = HEAP32[$srcTab>>2]|0; - $534 = HEAP32[$j>>2]|0; - $535 = HEAP32[$regCols>>2]|0; - $536 = HEAP32[$i>>2]|0; - $537 = (($535) + ($536))|0; - $538 = (($537) + 1)|0; - (_sqlite3VdbeAddOp3($532,47,$533,$534,$538)|0); + $517 = HEAP8[$useTempTable>>0]|0; + $518 = ($517<<24>>24)!=(0); + if ($518) { + $531 = HEAP32[$v>>2]|0; + $532 = HEAP32[$srcTab>>2]|0; + $533 = HEAP32[$j>>2]|0; + $534 = HEAP32[$regCols>>2]|0; + $535 = HEAP32[$i>>2]|0; + $536 = (($534) + ($535))|0; + $537 = (($536) + 1)|0; + (_sqlite3VdbeAddOp3($531,47,$532,$533,$537)|0); break; } else { - $539 = HEAP32[$0>>2]|0; - $540 = HEAP32[$j>>2]|0; - $541 = HEAP32[$pList>>2]|0; - $542 = ((($541)) + 4|0); - $543 = HEAP32[$542>>2]|0; - $544 = (($543) + (($540*20)|0)|0); - $545 = HEAP32[$544>>2]|0; - $546 = HEAP32[$regCols>>2]|0; - $547 = HEAP32[$i>>2]|0; - $548 = (($546) + ($547))|0; - $549 = (($548) + 1)|0; - _sqlite3ExprCodeAndCache($539,$545,$549); + $538 = HEAP32[$0>>2]|0; + $539 = HEAP32[$j>>2]|0; + $540 = HEAP32[$pList>>2]|0; + $541 = ((($540)) + 4|0); + $542 = HEAP32[$541>>2]|0; + $543 = (($542) + (($539*20)|0)|0); + $544 = HEAP32[$543>>2]|0; + $545 = HEAP32[$regCols>>2]|0; + $546 = HEAP32[$i>>2]|0; + $547 = (($545) + ($546))|0; + $548 = (($547) + 1)|0; + _sqlite3ExprCodeAndCache($538,$544,$548); break; } } else { @@ -121848,589 +123103,589 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } while(0); if ((label|0) == 90) { label = 0; - $520 = HEAP32[$0>>2]|0; - $521 = HEAP32[$i>>2]|0; - $522 = HEAP32[$pTab>>2]|0; - $523 = ((($522)) + 4|0); - $524 = HEAP32[$523>>2]|0; - $525 = (($524) + (($521*24)|0)|0); - $526 = ((($525)) + 4|0); - $527 = HEAP32[$526>>2]|0; - $528 = HEAP32[$regCols>>2]|0; - $529 = HEAP32[$i>>2]|0; - $530 = (($528) + ($529))|0; - $531 = (($530) + 1)|0; - _sqlite3ExprCode($520,$527,$531); + $519 = HEAP32[$0>>2]|0; + $520 = HEAP32[$i>>2]|0; + $521 = HEAP32[$pTab>>2]|0; + $522 = ((($521)) + 4|0); + $523 = HEAP32[$522>>2]|0; + $524 = (($523) + ($520<<4)|0); + $525 = ((($524)) + 4|0); + $526 = HEAP32[$525>>2]|0; + $527 = HEAP32[$regCols>>2]|0; + $528 = HEAP32[$i>>2]|0; + $529 = (($527) + ($528))|0; + $530 = (($529) + 1)|0; + _sqlite3ExprCode($519,$526,$530); } - $550 = HEAP32[$3>>2]|0; - $551 = ($550|0)==(0|0); - if ($551) { - $552 = HEAP32[$j>>2]|0; - $553 = (($552) + 1)|0; - HEAP32[$j>>2] = $553; + $549 = HEAP32[$3>>2]|0; + $550 = ($549|0)==(0|0); + if ($550) { + $551 = HEAP32[$j>>2]|0; + $552 = (($551) + 1)|0; + HEAP32[$j>>2] = $552; } - $554 = HEAP32[$i>>2]|0; - $555 = (($554) + 1)|0; - HEAP32[$i>>2] = $555; + $553 = HEAP32[$i>>2]|0; + $554 = (($553) + 1)|0; + HEAP32[$i>>2] = $554; } - $556 = HEAP32[$isView>>2]|0; - $557 = ($556|0)!=(0); - if (!($557)) { - $558 = HEAP32[$v>>2]|0; - $559 = HEAP32[$pTab>>2]|0; - $560 = HEAP32[$regCols>>2]|0; - $561 = (($560) + 1)|0; - _sqlite3TableAffinity($558,$559,$561); + $555 = HEAP32[$isView>>2]|0; + $556 = ($555|0)!=(0); + if (!($556)) { + $557 = HEAP32[$v>>2]|0; + $558 = HEAP32[$pTab>>2]|0; + $559 = HEAP32[$regCols>>2]|0; + $560 = (($559) + 1)|0; + _sqlite3TableAffinity($557,$558,$560); } - $562 = HEAP32[$0>>2]|0; - $563 = HEAP32[$pTrigger>>2]|0; - $564 = HEAP32[$pTab>>2]|0; - $565 = HEAP32[$regCols>>2]|0; - $566 = HEAP32[$pTab>>2]|0; - $567 = ((($566)) + 34|0); - $568 = HEAP16[$567>>1]|0; - $569 = $568 << 16 >> 16; - $570 = (($565) - ($569))|0; - $571 = (($570) - 1)|0; - $572 = HEAP32[$4>>2]|0; - $573 = HEAP32[$endOfLoop>>2]|0; - _sqlite3CodeRowTrigger($562,$563,108,0,1,$564,$571,$572,$573); - $574 = HEAP32[$0>>2]|0; - $575 = HEAP32[$regCols>>2]|0; - $576 = HEAP32[$pTab>>2]|0; - $577 = ((($576)) + 34|0); - $578 = HEAP16[$577>>1]|0; - $579 = $578 << 16 >> 16; - $580 = (($579) + 1)|0; - _sqlite3ReleaseTempRange($574,$575,$580); + $561 = HEAP32[$0>>2]|0; + $562 = HEAP32[$pTrigger>>2]|0; + $563 = HEAP32[$pTab>>2]|0; + $564 = HEAP32[$regCols>>2]|0; + $565 = HEAP32[$pTab>>2]|0; + $566 = ((($565)) + 34|0); + $567 = HEAP16[$566>>1]|0; + $568 = $567 << 16 >> 16; + $569 = (($564) - ($568))|0; + $570 = (($569) - 1)|0; + $571 = HEAP32[$4>>2]|0; + $572 = HEAP32[$endOfLoop>>2]|0; + _sqlite3CodeRowTrigger($561,$562,108,0,1,$563,$570,$571,$572); + $573 = HEAP32[$0>>2]|0; + $574 = HEAP32[$regCols>>2]|0; + $575 = HEAP32[$pTab>>2]|0; + $576 = ((($575)) + 34|0); + $577 = HEAP16[$576>>1]|0; + $578 = $577 << 16 >> 16; + $579 = (($578) + 1)|0; + _sqlite3ReleaseTempRange($573,$574,$579); } - $581 = HEAP32[$isView>>2]|0; - $582 = ($581|0)!=(0); + $580 = HEAP32[$isView>>2]|0; + $581 = ($580|0)!=(0); do { - if (!($582)) { - $583 = HEAP32[$pTab>>2]|0; - $584 = ((($583)) + 42|0); - $585 = HEAP8[$584>>0]|0; - $586 = $585&255; - $587 = $586 & 16; - $588 = ($587|0)!=(0); - if ($588) { - $589 = HEAP32[$v>>2]|0; - $590 = HEAP32[$regIns>>2]|0; - (_sqlite3VdbeAddOp2($589,25,0,$590)|0); + if (!($581)) { + $582 = HEAP32[$pTab>>2]|0; + $583 = ((($582)) + 42|0); + $584 = HEAP8[$583>>0]|0; + $585 = $584&255; + $586 = $585 & 16; + $587 = ($586|0)!=(0); + if ($587) { + $588 = HEAP32[$v>>2]|0; + $589 = HEAP32[$regIns>>2]|0; + (_sqlite3VdbeAddOp2($588,25,0,$589)|0); } - $591 = HEAP32[$ipkColumn>>2]|0; - $592 = ($591|0)>=(0); + $590 = HEAP32[$ipkColumn>>2]|0; + $591 = ($590|0)>=(0); L141: do { - if ($592) { - $593 = HEAP8[$useTempTable>>0]|0; - $594 = ($593<<24>>24)!=(0); + if ($591) { + $592 = HEAP8[$useTempTable>>0]|0; + $593 = ($592<<24>>24)!=(0); do { - if ($594) { - $595 = HEAP32[$v>>2]|0; - $596 = HEAP32[$srcTab>>2]|0; - $597 = HEAP32[$ipkColumn>>2]|0; - $598 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($595,47,$596,$597,$598)|0); + if ($593) { + $594 = HEAP32[$v>>2]|0; + $595 = HEAP32[$srcTab>>2]|0; + $596 = HEAP32[$ipkColumn>>2]|0; + $597 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($594,47,$595,$596,$597)|0); } else { - $599 = HEAP32[$2>>2]|0; - $600 = ($599|0)!=(0|0); - if ($600) { - $601 = HEAP32[$v>>2]|0; - $602 = HEAP32[$regFromSelect>>2]|0; - $603 = HEAP32[$ipkColumn>>2]|0; - $604 = (($602) + ($603))|0; - $605 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($601,30,$604,$605)|0); + $598 = HEAP32[$2>>2]|0; + $599 = ($598|0)!=(0|0); + if ($599) { + $600 = HEAP32[$v>>2]|0; + $601 = HEAP32[$regFromSelect>>2]|0; + $602 = HEAP32[$ipkColumn>>2]|0; + $603 = (($601) + ($602))|0; + $604 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp2($600,30,$603,$604)|0); break; } - $606 = HEAP32[$0>>2]|0; - $607 = HEAP32[$ipkColumn>>2]|0; - $608 = HEAP32[$pList>>2]|0; - $609 = ((($608)) + 4|0); - $610 = HEAP32[$609>>2]|0; - $611 = (($610) + (($607*20)|0)|0); - $612 = HEAP32[$611>>2]|0; - $613 = HEAP32[$regRowid>>2]|0; - _sqlite3ExprCode($606,$612,$613); - $614 = HEAP32[$v>>2]|0; - $615 = (_sqlite3VdbeGetOp($614,-1)|0); - HEAP32[$pOp>>2] = $615; - $616 = HEAP32[$pOp>>2]|0; - $617 = ($616|0)!=(0|0); - if (!($617)) { + $605 = HEAP32[$0>>2]|0; + $606 = HEAP32[$ipkColumn>>2]|0; + $607 = HEAP32[$pList>>2]|0; + $608 = ((($607)) + 4|0); + $609 = HEAP32[$608>>2]|0; + $610 = (($609) + (($606*20)|0)|0); + $611 = HEAP32[$610>>2]|0; + $612 = HEAP32[$regRowid>>2]|0; + _sqlite3ExprCode($605,$611,$612); + $613 = HEAP32[$v>>2]|0; + $614 = (_sqlite3VdbeGetOp($613,-1)|0); + HEAP32[$pOp>>2] = $614; + $615 = HEAP32[$pOp>>2]|0; + $616 = ($615|0)!=(0|0); + if (!($616)) { break; } - $618 = HEAP32[$pOp>>2]|0; - $619 = HEAP8[$618>>0]|0; - $620 = $619&255; - $621 = ($620|0)==(25); - if (!($621)) { + $617 = HEAP32[$pOp>>2]|0; + $618 = HEAP8[$617>>0]|0; + $619 = $618&255; + $620 = ($619|0)==(25); + if (!($620)) { break; } - $622 = HEAP32[$pTab>>2]|0; - $623 = ((($622)) + 42|0); - $624 = HEAP8[$623>>0]|0; - $625 = $624&255; - $626 = $625 & 16; - $627 = ($626|0)!=(0); - if ($627) { + $621 = HEAP32[$pTab>>2]|0; + $622 = ((($621)) + 42|0); + $623 = HEAP8[$622>>0]|0; + $624 = $623&255; + $625 = $624 & 16; + $626 = ($625|0)!=(0); + if ($626) { break; } HEAP8[$appendFlag>>0] = 1; - $628 = HEAP32[$pOp>>2]|0; - HEAP8[$628>>0] = 74; - $629 = HEAP32[$iDataCur>>2]|0; - $630 = HEAP32[$pOp>>2]|0; - $631 = ((($630)) + 4|0); - HEAP32[$631>>2] = $629; - $632 = HEAP32[$regRowid>>2]|0; - $633 = HEAP32[$pOp>>2]|0; - $634 = ((($633)) + 8|0); - HEAP32[$634>>2] = $632; - $635 = HEAP32[$regAutoinc>>2]|0; - $636 = HEAP32[$pOp>>2]|0; - $637 = ((($636)) + 12|0); - HEAP32[$637>>2] = $635; + $627 = HEAP32[$pOp>>2]|0; + HEAP8[$627>>0] = 74; + $628 = HEAP32[$iDataCur>>2]|0; + $629 = HEAP32[$pOp>>2]|0; + $630 = ((($629)) + 4|0); + HEAP32[$630>>2] = $628; + $631 = HEAP32[$regRowid>>2]|0; + $632 = HEAP32[$pOp>>2]|0; + $633 = ((($632)) + 8|0); + HEAP32[$633>>2] = $631; + $634 = HEAP32[$regAutoinc>>2]|0; + $635 = HEAP32[$pOp>>2]|0; + $636 = ((($635)) + 12|0); + HEAP32[$636>>2] = $634; } } while(0); - $638 = HEAP8[$appendFlag>>0]|0; - $639 = ($638<<24>>24)!=(0); - if ($639) { + $637 = HEAP8[$appendFlag>>0]|0; + $638 = ($637<<24>>24)!=(0); + if ($638) { break; } - $640 = HEAP32[$pTab>>2]|0; - $641 = ((($640)) + 42|0); - $642 = HEAP8[$641>>0]|0; - $643 = $642&255; - $644 = $643 & 16; - $645 = ($644|0)!=(0); - $646 = HEAP32[$v>>2]|0; - if ($645) { - $655 = (_sqlite3VdbeCurrentAddr($646)|0); - HEAP32[$addr11>>2] = $655; - $656 = HEAP32[$v>>2]|0; - $657 = HEAP32[$regRowid>>2]|0; - $658 = HEAP32[$addr11>>2]|0; - $659 = (($658) + 2)|0; - (_sqlite3VdbeAddOp2($656,76,$657,$659)|0); + $639 = HEAP32[$pTab>>2]|0; + $640 = ((($639)) + 42|0); + $641 = HEAP8[$640>>0]|0; + $642 = $641&255; + $643 = $642 & 16; + $644 = ($643|0)!=(0); + $645 = HEAP32[$v>>2]|0; + if ($644) { + $654 = (_sqlite3VdbeCurrentAddr($645)|0); + HEAP32[$addr11>>2] = $654; + $655 = HEAP32[$v>>2]|0; + $656 = HEAP32[$regRowid>>2]|0; + $657 = HEAP32[$addr11>>2]|0; + $658 = (($657) + 2)|0; + (_sqlite3VdbeAddOp2($655,76,$656,$658)|0); } else { - $647 = HEAP32[$regRowid>>2]|0; - $648 = (_sqlite3VdbeAddOp1($646,77,$647)|0); - HEAP32[$addr11>>2] = $648; - $649 = HEAP32[$v>>2]|0; - $650 = HEAP32[$iDataCur>>2]|0; - $651 = HEAP32[$regRowid>>2]|0; - $652 = HEAP32[$regAutoinc>>2]|0; - (_sqlite3VdbeAddOp3($649,74,$650,$651,$652)|0); - $653 = HEAP32[$v>>2]|0; - $654 = HEAP32[$addr11>>2]|0; - _sqlite3VdbeJumpHere($653,$654); + $646 = HEAP32[$regRowid>>2]|0; + $647 = (_sqlite3VdbeAddOp1($645,77,$646)|0); + HEAP32[$addr11>>2] = $647; + $648 = HEAP32[$v>>2]|0; + $649 = HEAP32[$iDataCur>>2]|0; + $650 = HEAP32[$regRowid>>2]|0; + $651 = HEAP32[$regAutoinc>>2]|0; + (_sqlite3VdbeAddOp3($648,74,$649,$650,$651)|0); + $652 = HEAP32[$v>>2]|0; + $653 = HEAP32[$addr11>>2]|0; + _sqlite3VdbeJumpHere($652,$653); } - $660 = HEAP32[$v>>2]|0; - $661 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp1($660,38,$661)|0); + $659 = HEAP32[$v>>2]|0; + $660 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp1($659,38,$660)|0); } else { - $662 = HEAP32[$pTab>>2]|0; - $663 = ((($662)) + 42|0); - $664 = HEAP8[$663>>0]|0; - $665 = $664&255; - $666 = $665 & 16; - $667 = ($666|0)!=(0); + $661 = HEAP32[$pTab>>2]|0; + $662 = ((($661)) + 42|0); + $663 = HEAP8[$662>>0]|0; + $664 = $663&255; + $665 = $664 & 16; + $666 = ($665|0)!=(0); do { - if (!($667)) { - $668 = HEAP8[$withoutRowid>>0]|0; - $669 = $668&255; - $670 = ($669|0)!=(0); - if ($670) { + if (!($666)) { + $667 = HEAP8[$withoutRowid>>0]|0; + $668 = $667&255; + $669 = ($668|0)!=(0); + if ($669) { break; } - $673 = HEAP32[$v>>2]|0; - $674 = HEAP32[$iDataCur>>2]|0; - $675 = HEAP32[$regRowid>>2]|0; - $676 = HEAP32[$regAutoinc>>2]|0; - (_sqlite3VdbeAddOp3($673,74,$674,$675,$676)|0); + $672 = HEAP32[$v>>2]|0; + $673 = HEAP32[$iDataCur>>2]|0; + $674 = HEAP32[$regRowid>>2]|0; + $675 = HEAP32[$regAutoinc>>2]|0; + (_sqlite3VdbeAddOp3($672,74,$673,$674,$675)|0); HEAP8[$appendFlag>>0] = 1; break L141; } } while(0); - $671 = HEAP32[$v>>2]|0; - $672 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp2($671,25,0,$672)|0); + $670 = HEAP32[$v>>2]|0; + $671 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp2($670,25,0,$671)|0); } } while(0); - $677 = HEAP32[$0>>2]|0; - $678 = HEAP32[$regAutoinc>>2]|0; - $679 = HEAP32[$regRowid>>2]|0; - _autoIncStep($677,$678,$679); + $676 = HEAP32[$0>>2]|0; + $677 = HEAP32[$regAutoinc>>2]|0; + $678 = HEAP32[$regRowid>>2]|0; + _autoIncStep($676,$677,$678); HEAP32[$nHidden>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $680 = HEAP32[$i>>2]|0; - $681 = HEAP32[$pTab>>2]|0; - $682 = ((($681)) + 34|0); - $683 = HEAP16[$682>>1]|0; - $684 = $683 << 16 >> 16; - $685 = ($680|0)<($684|0); - if (!($685)) { + $679 = HEAP32[$i>>2]|0; + $680 = HEAP32[$pTab>>2]|0; + $681 = ((($680)) + 34|0); + $682 = HEAP16[$681>>1]|0; + $683 = $682 << 16 >> 16; + $684 = ($679|0)<($683|0); + if (!($684)) { break; } - $686 = HEAP32[$regRowid>>2]|0; - $687 = (($686) + 1)|0; - $688 = HEAP32[$i>>2]|0; - $689 = (($687) + ($688))|0; - HEAP32[$iRegStore>>2] = $689; - $690 = HEAP32[$i>>2]|0; - $691 = HEAP32[$pTab>>2]|0; - $692 = ((($691)) + 32|0); - $693 = HEAP16[$692>>1]|0; - $694 = $693 << 16 >> 16; - $695 = ($690|0)==($694|0); + $685 = HEAP32[$regRowid>>2]|0; + $686 = (($685) + 1)|0; + $687 = HEAP32[$i>>2]|0; + $688 = (($686) + ($687))|0; + HEAP32[$iRegStore>>2] = $688; + $689 = HEAP32[$i>>2]|0; + $690 = HEAP32[$pTab>>2]|0; + $691 = ((($690)) + 32|0); + $692 = HEAP16[$691>>1]|0; + $693 = $692 << 16 >> 16; + $694 = ($689|0)==($693|0); L167: do { - if ($695) { - $696 = HEAP32[$v>>2]|0; - $697 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp1($696,26,$697)|0); + if ($694) { + $695 = HEAP32[$v>>2]|0; + $696 = HEAP32[$iRegStore>>2]|0; + (_sqlite3VdbeAddOp1($695,26,$696)|0); } else { - $698 = HEAP32[$3>>2]|0; - $699 = ($698|0)==(0|0); + $697 = HEAP32[$3>>2]|0; + $698 = ($697|0)==(0|0); L170: do { - if ($699) { - $700 = HEAP32[$i>>2]|0; - $701 = HEAP32[$pTab>>2]|0; - $702 = ((($701)) + 4|0); - $703 = HEAP32[$702>>2]|0; - $704 = (($703) + (($700*24)|0)|0); - $705 = ((($704)) + 23|0); - $706 = HEAP8[$705>>0]|0; - $707 = $706&255; - $708 = $707 & 2; - $709 = ($708|0)!=(0); - if ($709) { + if ($698) { + $699 = HEAP32[$i>>2]|0; + $700 = HEAP32[$pTab>>2]|0; + $701 = ((($700)) + 4|0); + $702 = HEAP32[$701>>2]|0; + $703 = (($702) + ($699<<4)|0); + $704 = ((($703)) + 15|0); + $705 = HEAP8[$704>>0]|0; + $706 = $705&255; + $707 = $706 & 2; + $708 = ($707|0)!=(0); + if ($708) { HEAP32[$j>>2] = -1; - $710 = HEAP32[$nHidden>>2]|0; - $711 = (($710) + 1)|0; - HEAP32[$nHidden>>2] = $711; + $709 = HEAP32[$nHidden>>2]|0; + $710 = (($709) + 1)|0; + HEAP32[$nHidden>>2] = $710; break; } else { - $712 = HEAP32[$i>>2]|0; - $713 = HEAP32[$nHidden>>2]|0; - $714 = (($712) - ($713))|0; - HEAP32[$j>>2] = $714; + $711 = HEAP32[$i>>2]|0; + $712 = HEAP32[$nHidden>>2]|0; + $713 = (($711) - ($712))|0; + HEAP32[$j>>2] = $713; break; } } else { HEAP32[$j>>2] = 0; while(1) { - $715 = HEAP32[$j>>2]|0; - $716 = HEAP32[$3>>2]|0; - $717 = ((($716)) + 4|0); - $718 = HEAP32[$717>>2]|0; - $719 = ($715|0)<($718|0); - if (!($719)) { + $714 = HEAP32[$j>>2]|0; + $715 = HEAP32[$3>>2]|0; + $716 = ((($715)) + 4|0); + $717 = HEAP32[$716>>2]|0; + $718 = ($714|0)<($717|0); + if (!($718)) { break L170; } - $720 = HEAP32[$j>>2]|0; - $721 = HEAP32[$3>>2]|0; - $722 = HEAP32[$721>>2]|0; - $723 = (($722) + ($720<<3)|0); - $724 = ((($723)) + 4|0); - $725 = HEAP32[$724>>2]|0; - $726 = HEAP32[$i>>2]|0; - $727 = ($725|0)==($726|0); - if ($727) { + $719 = HEAP32[$j>>2]|0; + $720 = HEAP32[$3>>2]|0; + $721 = HEAP32[$720>>2]|0; + $722 = (($721) + ($719<<3)|0); + $723 = ((($722)) + 4|0); + $724 = HEAP32[$723>>2]|0; + $725 = HEAP32[$i>>2]|0; + $726 = ($724|0)==($725|0); + if ($726) { break L170; } - $728 = HEAP32[$j>>2]|0; - $729 = (($728) + 1)|0; - HEAP32[$j>>2] = $729; + $727 = HEAP32[$j>>2]|0; + $728 = (($727) + 1)|0; + HEAP32[$j>>2] = $728; } } } while(0); - $730 = HEAP32[$j>>2]|0; - $731 = ($730|0)<(0); - $732 = HEAP32[$nColumn>>2]|0; - $733 = ($732|0)==(0); - $or$cond9 = $731 | $733; + $729 = HEAP32[$j>>2]|0; + $730 = ($729|0)<(0); + $731 = HEAP32[$nColumn>>2]|0; + $732 = ($731|0)==(0); + $or$cond9 = $730 | $732; do { if (!($or$cond9)) { - $734 = HEAP32[$3>>2]|0; - $735 = ($734|0)!=(0|0); - if ($735) { - $736 = HEAP32[$j>>2]|0; - $737 = HEAP32[$3>>2]|0; - $738 = ((($737)) + 4|0); - $739 = HEAP32[$738>>2]|0; - $740 = ($736|0)>=($739|0); - if ($740) { + $733 = HEAP32[$3>>2]|0; + $734 = ($733|0)!=(0|0); + if ($734) { + $735 = HEAP32[$j>>2]|0; + $736 = HEAP32[$3>>2]|0; + $737 = ((($736)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = ($735|0)>=($738|0); + if ($739) { break; } } - $750 = HEAP8[$useTempTable>>0]|0; - $751 = ($750<<24>>24)!=(0); - if ($751) { - $752 = HEAP32[$v>>2]|0; - $753 = HEAP32[$srcTab>>2]|0; - $754 = HEAP32[$j>>2]|0; - $755 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp3($752,47,$753,$754,$755)|0); + $749 = HEAP8[$useTempTable>>0]|0; + $750 = ($749<<24>>24)!=(0); + if ($750) { + $751 = HEAP32[$v>>2]|0; + $752 = HEAP32[$srcTab>>2]|0; + $753 = HEAP32[$j>>2]|0; + $754 = HEAP32[$iRegStore>>2]|0; + (_sqlite3VdbeAddOp3($751,47,$752,$753,$754)|0); break L167; } - $756 = HEAP32[$2>>2]|0; - $757 = ($756|0)!=(0|0); - if (!($757)) { - $766 = HEAP32[$0>>2]|0; - $767 = HEAP32[$j>>2]|0; - $768 = HEAP32[$pList>>2]|0; - $769 = ((($768)) + 4|0); - $770 = HEAP32[$769>>2]|0; - $771 = (($770) + (($767*20)|0)|0); - $772 = HEAP32[$771>>2]|0; - $773 = HEAP32[$iRegStore>>2]|0; - _sqlite3ExprCode($766,$772,$773); + $755 = HEAP32[$2>>2]|0; + $756 = ($755|0)!=(0|0); + if (!($756)) { + $765 = HEAP32[$0>>2]|0; + $766 = HEAP32[$j>>2]|0; + $767 = HEAP32[$pList>>2]|0; + $768 = ((($767)) + 4|0); + $769 = HEAP32[$768>>2]|0; + $770 = (($769) + (($766*20)|0)|0); + $771 = HEAP32[$770>>2]|0; + $772 = HEAP32[$iRegStore>>2]|0; + _sqlite3ExprCode($765,$771,$772); break L167; } - $758 = HEAP32[$regFromSelect>>2]|0; - $759 = HEAP32[$regData>>2]|0; - $760 = ($758|0)!=($759|0); - if (!($760)) { + $757 = HEAP32[$regFromSelect>>2]|0; + $758 = HEAP32[$regData>>2]|0; + $759 = ($757|0)!=($758|0); + if (!($759)) { break L167; } - $761 = HEAP32[$v>>2]|0; - $762 = HEAP32[$regFromSelect>>2]|0; - $763 = HEAP32[$j>>2]|0; - $764 = (($762) + ($763))|0; - $765 = HEAP32[$iRegStore>>2]|0; - (_sqlite3VdbeAddOp2($761,31,$764,$765)|0); + $760 = HEAP32[$v>>2]|0; + $761 = HEAP32[$regFromSelect>>2]|0; + $762 = HEAP32[$j>>2]|0; + $763 = (($761) + ($762))|0; + $764 = HEAP32[$iRegStore>>2]|0; + (_sqlite3VdbeAddOp2($760,31,$763,$764)|0); break L167; } } while(0); - $741 = HEAP32[$0>>2]|0; - $742 = HEAP32[$i>>2]|0; - $743 = HEAP32[$pTab>>2]|0; - $744 = ((($743)) + 4|0); - $745 = HEAP32[$744>>2]|0; - $746 = (($745) + (($742*24)|0)|0); - $747 = ((($746)) + 4|0); - $748 = HEAP32[$747>>2]|0; - $749 = HEAP32[$iRegStore>>2]|0; - _sqlite3ExprCodeFactorable($741,$748,$749); + $740 = HEAP32[$0>>2]|0; + $741 = HEAP32[$i>>2]|0; + $742 = HEAP32[$pTab>>2]|0; + $743 = ((($742)) + 4|0); + $744 = HEAP32[$743>>2]|0; + $745 = (($744) + ($741<<4)|0); + $746 = ((($745)) + 4|0); + $747 = HEAP32[$746>>2]|0; + $748 = HEAP32[$iRegStore>>2]|0; + _sqlite3ExprCodeFactorable($740,$747,$748); } } while(0); - $774 = HEAP32[$i>>2]|0; - $775 = (($774) + 1)|0; - HEAP32[$i>>2] = $775; + $773 = HEAP32[$i>>2]|0; + $774 = (($773) + 1)|0; + HEAP32[$i>>2] = $774; } - $776 = HEAP32[$pTab>>2]|0; - $777 = ((($776)) + 42|0); - $778 = HEAP8[$777>>0]|0; - $779 = $778&255; - $780 = $779 & 16; - $781 = ($780|0)!=(0); - if ($781) { - $782 = HEAP32[$db>>2]|0; - $783 = HEAP32[$pTab>>2]|0; - $784 = (_sqlite3GetVTable($782,$783)|0); - HEAP32[$pVTab>>2] = $784; - $785 = HEAP32[$0>>2]|0; - $786 = HEAP32[$pTab>>2]|0; - _sqlite3VtabMakeWritable($785,$786); - $787 = HEAP32[$v>>2]|0; - $788 = HEAP32[$pTab>>2]|0; - $789 = ((($788)) + 34|0); - $790 = HEAP16[$789>>1]|0; - $791 = $790 << 16 >> 16; - $792 = (($791) + 2)|0; - $793 = HEAP32[$regIns>>2]|0; - $794 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($787,12,1,$792,$793,$794,-10)|0); - $795 = HEAP32[$v>>2]|0; - $796 = HEAP32[$4>>2]|0; - $797 = ($796|0)==(10); - $798 = HEAP32[$4>>2]|0; - $799 = $797 ? 2 : $798; - $800 = $799&255; - _sqlite3VdbeChangeP5($795,$800); - $801 = HEAP32[$0>>2]|0; - _sqlite3MayAbort($801); + $775 = HEAP32[$pTab>>2]|0; + $776 = ((($775)) + 42|0); + $777 = HEAP8[$776>>0]|0; + $778 = $777&255; + $779 = $778 & 16; + $780 = ($779|0)!=(0); + if ($780) { + $781 = HEAP32[$db>>2]|0; + $782 = HEAP32[$pTab>>2]|0; + $783 = (_sqlite3GetVTable($781,$782)|0); + HEAP32[$pVTab>>2] = $783; + $784 = HEAP32[$0>>2]|0; + $785 = HEAP32[$pTab>>2]|0; + _sqlite3VtabMakeWritable($784,$785); + $786 = HEAP32[$v>>2]|0; + $787 = HEAP32[$pTab>>2]|0; + $788 = ((($787)) + 34|0); + $789 = HEAP16[$788>>1]|0; + $790 = $789 << 16 >> 16; + $791 = (($790) + 2)|0; + $792 = HEAP32[$regIns>>2]|0; + $793 = HEAP32[$pVTab>>2]|0; + (_sqlite3VdbeAddOp4($786,12,1,$791,$792,$793,-10)|0); + $794 = HEAP32[$v>>2]|0; + $795 = HEAP32[$4>>2]|0; + $796 = ($795|0)==(10); + $797 = HEAP32[$4>>2]|0; + $798 = $796 ? 2 : $797; + $799 = $798&255; + _sqlite3VdbeChangeP5($794,$799); + $800 = HEAP32[$0>>2]|0; + _sqlite3MayAbort($800); break; } else { - $802 = HEAP32[$0>>2]|0; - $803 = HEAP32[$pTab>>2]|0; - $804 = HEAP32[$aRegIdx>>2]|0; - $805 = HEAP32[$iDataCur>>2]|0; - $806 = HEAP32[$iIdxCur>>2]|0; - $807 = HEAP32[$regIns>>2]|0; - $808 = HEAP32[$ipkColumn>>2]|0; - $809 = ($808|0)>=(0); - $810 = $809&1; - $811 = $810&255; - $812 = HEAP32[$4>>2]|0; - $813 = $812&255; - $814 = HEAP32[$endOfLoop>>2]|0; - _sqlite3GenerateConstraintChecks($802,$803,$804,$805,$806,$807,0,$811,$813,$814,$isReplace,0); - $815 = HEAP32[$0>>2]|0; - $816 = HEAP32[$pTab>>2]|0; - $817 = HEAP32[$regIns>>2]|0; - _sqlite3FkCheck($815,$816,0,$817,0,0); - $818 = HEAP32[$0>>2]|0; - $819 = HEAP32[$pTab>>2]|0; - $820 = HEAP32[$iDataCur>>2]|0; - $821 = HEAP32[$iIdxCur>>2]|0; - $822 = HEAP32[$regIns>>2]|0; - $823 = HEAP32[$aRegIdx>>2]|0; - $824 = HEAP8[$appendFlag>>0]|0; - $825 = $824&255; - $826 = HEAP32[$isReplace>>2]|0; - $827 = ($826|0)==(0); - $828 = $827&1; - _sqlite3CompleteInsertion($818,$819,$820,$821,$822,$823,0,$825,$828); + $801 = HEAP32[$0>>2]|0; + $802 = HEAP32[$pTab>>2]|0; + $803 = HEAP32[$aRegIdx>>2]|0; + $804 = HEAP32[$iDataCur>>2]|0; + $805 = HEAP32[$iIdxCur>>2]|0; + $806 = HEAP32[$regIns>>2]|0; + $807 = HEAP32[$ipkColumn>>2]|0; + $808 = ($807|0)>=(0); + $809 = $808&1; + $810 = $809&255; + $811 = HEAP32[$4>>2]|0; + $812 = $811&255; + $813 = HEAP32[$endOfLoop>>2]|0; + _sqlite3GenerateConstraintChecks($801,$802,$803,$804,$805,$806,0,$810,$812,$813,$isReplace,0); + $814 = HEAP32[$0>>2]|0; + $815 = HEAP32[$pTab>>2]|0; + $816 = HEAP32[$regIns>>2]|0; + _sqlite3FkCheck($814,$815,0,$816,0,0); + $817 = HEAP32[$0>>2]|0; + $818 = HEAP32[$pTab>>2]|0; + $819 = HEAP32[$iDataCur>>2]|0; + $820 = HEAP32[$iIdxCur>>2]|0; + $821 = HEAP32[$regIns>>2]|0; + $822 = HEAP32[$aRegIdx>>2]|0; + $823 = HEAP8[$appendFlag>>0]|0; + $824 = $823&255; + $825 = HEAP32[$isReplace>>2]|0; + $826 = ($825|0)==(0); + $827 = $826&1; + _sqlite3CompleteInsertion($817,$818,$819,$820,$821,$822,0,$824,$827); break; } } } while(0); - $829 = HEAP32[$db>>2]|0; - $830 = ((($829)) + 24|0); - $831 = HEAP32[$830>>2]|0; - $832 = $831 & 128; - $833 = ($832|0)!=(0); - if ($833) { - $834 = HEAP32[$v>>2]|0; - $835 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($834,37,$835,1)|0); + $828 = HEAP32[$db>>2]|0; + $829 = ((($828)) + 24|0); + $830 = HEAP32[$829>>2]|0; + $831 = $830 & 128; + $832 = ($831|0)!=(0); + if ($832) { + $833 = HEAP32[$v>>2]|0; + $834 = HEAP32[$regRowCount>>2]|0; + (_sqlite3VdbeAddOp2($833,37,$834,1)|0); } - $836 = HEAP32[$pTrigger>>2]|0; - $837 = ($836|0)!=(0|0); - if ($837) { - $838 = HEAP32[$0>>2]|0; - $839 = HEAP32[$pTrigger>>2]|0; - $840 = HEAP32[$pTab>>2]|0; - $841 = HEAP32[$regData>>2]|0; - $842 = (($841) - 2)|0; - $843 = HEAP32[$pTab>>2]|0; - $844 = ((($843)) + 34|0); - $845 = HEAP16[$844>>1]|0; - $846 = $845 << 16 >> 16; - $847 = (($842) - ($846))|0; - $848 = HEAP32[$4>>2]|0; - $849 = HEAP32[$endOfLoop>>2]|0; - _sqlite3CodeRowTrigger($838,$839,108,0,2,$840,$847,$848,$849); + $835 = HEAP32[$pTrigger>>2]|0; + $836 = ($835|0)!=(0|0); + if ($836) { + $837 = HEAP32[$0>>2]|0; + $838 = HEAP32[$pTrigger>>2]|0; + $839 = HEAP32[$pTab>>2]|0; + $840 = HEAP32[$regData>>2]|0; + $841 = (($840) - 2)|0; + $842 = HEAP32[$pTab>>2]|0; + $843 = ((($842)) + 34|0); + $844 = HEAP16[$843>>1]|0; + $845 = $844 << 16 >> 16; + $846 = (($841) - ($845))|0; + $847 = HEAP32[$4>>2]|0; + $848 = HEAP32[$endOfLoop>>2]|0; + _sqlite3CodeRowTrigger($837,$838,108,0,2,$839,$846,$847,$848); } - $850 = HEAP32[$v>>2]|0; - $851 = HEAP32[$endOfLoop>>2]|0; - _sqlite3VdbeResolveLabel($850,$851); - $852 = HEAP8[$useTempTable>>0]|0; - $853 = ($852<<24>>24)!=(0); + $849 = HEAP32[$v>>2]|0; + $850 = HEAP32[$endOfLoop>>2]|0; + _sqlite3VdbeResolveLabel($849,$850); + $851 = HEAP8[$useTempTable>>0]|0; + $852 = ($851<<24>>24)!=(0); do { - if ($853) { - $854 = HEAP32[$v>>2]|0; - $855 = HEAP32[$srcTab>>2]|0; - $856 = HEAP32[$addrCont>>2]|0; - (_sqlite3VdbeAddOp2($854,7,$855,$856)|0); - $857 = HEAP32[$v>>2]|0; - $858 = HEAP32[$addrInsTop>>2]|0; - _sqlite3VdbeJumpHere($857,$858); - $859 = HEAP32[$v>>2]|0; - $860 = HEAP32[$srcTab>>2]|0; - (_sqlite3VdbeAddOp1($859,61,$860)|0); + if ($852) { + $853 = HEAP32[$v>>2]|0; + $854 = HEAP32[$srcTab>>2]|0; + $855 = HEAP32[$addrCont>>2]|0; + (_sqlite3VdbeAddOp2($853,7,$854,$855)|0); + $856 = HEAP32[$v>>2]|0; + $857 = HEAP32[$addrInsTop>>2]|0; + _sqlite3VdbeJumpHere($856,$857); + $858 = HEAP32[$v>>2]|0; + $859 = HEAP32[$srcTab>>2]|0; + (_sqlite3VdbeAddOp1($858,61,$859)|0); } else { - $861 = HEAP32[$2>>2]|0; - $862 = ($861|0)!=(0|0); - if (!($862)) { + $860 = HEAP32[$2>>2]|0; + $861 = ($860|0)!=(0|0); + if (!($861)) { break; } - $863 = HEAP32[$v>>2]|0; - $864 = HEAP32[$addrCont>>2]|0; - (_sqlite3VdbeGoto($863,$864)|0); - $865 = HEAP32[$v>>2]|0; - $866 = HEAP32[$addrInsTop>>2]|0; - _sqlite3VdbeJumpHere($865,$866); + $862 = HEAP32[$v>>2]|0; + $863 = HEAP32[$addrCont>>2]|0; + (_sqlite3VdbeGoto($862,$863)|0); + $864 = HEAP32[$v>>2]|0; + $865 = HEAP32[$addrInsTop>>2]|0; + _sqlite3VdbeJumpHere($864,$865); } } while(0); - $867 = HEAP32[$pTab>>2]|0; - $868 = ((($867)) + 42|0); - $869 = HEAP8[$868>>0]|0; - $870 = $869&255; - $871 = $870 & 16; - $872 = ($871|0)!=(0); - $873 = HEAP32[$isView>>2]|0; - $874 = ($873|0)!=(0); - $or$cond11 = $872 | $874; + $866 = HEAP32[$pTab>>2]|0; + $867 = ((($866)) + 42|0); + $868 = HEAP8[$867>>0]|0; + $869 = $868&255; + $870 = $869 & 16; + $871 = ($870|0)!=(0); + $872 = HEAP32[$isView>>2]|0; + $873 = ($872|0)!=(0); + $or$cond11 = $871 | $873; if ($or$cond11) { break; } - $875 = HEAP32[$iDataCur>>2]|0; - $876 = HEAP32[$iIdxCur>>2]|0; - $877 = ($875|0)<($876|0); - if ($877) { - $878 = HEAP32[$v>>2]|0; - $879 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp1($878,61,$879)|0); + $874 = HEAP32[$iDataCur>>2]|0; + $875 = HEAP32[$iIdxCur>>2]|0; + $876 = ($874|0)<($875|0); + if ($876) { + $877 = HEAP32[$v>>2]|0; + $878 = HEAP32[$iDataCur>>2]|0; + (_sqlite3VdbeAddOp1($877,61,$878)|0); } HEAP32[$idx>>2] = 0; - $880 = HEAP32[$pTab>>2]|0; - $881 = ((($880)) + 8|0); - $882 = HEAP32[$881>>2]|0; - HEAP32[$pIdx>>2] = $882; + $879 = HEAP32[$pTab>>2]|0; + $880 = ((($879)) + 8|0); + $881 = HEAP32[$880>>2]|0; + HEAP32[$pIdx>>2] = $881; while(1) { - $883 = HEAP32[$pIdx>>2]|0; - $884 = ($883|0)!=(0|0); - if (!($884)) { + $882 = HEAP32[$pIdx>>2]|0; + $883 = ($882|0)!=(0|0); + if (!($883)) { break L20; } - $885 = HEAP32[$v>>2]|0; - $886 = HEAP32[$idx>>2]|0; - $887 = HEAP32[$iIdxCur>>2]|0; - $888 = (($886) + ($887))|0; - (_sqlite3VdbeAddOp1($885,61,$888)|0); - $889 = HEAP32[$pIdx>>2]|0; - $890 = ((($889)) + 20|0); - $891 = HEAP32[$890>>2]|0; - HEAP32[$pIdx>>2] = $891; - $892 = HEAP32[$idx>>2]|0; - $893 = (($892) + 1)|0; - HEAP32[$idx>>2] = $893; + $884 = HEAP32[$v>>2]|0; + $885 = HEAP32[$idx>>2]|0; + $886 = HEAP32[$iIdxCur>>2]|0; + $887 = (($885) + ($886))|0; + (_sqlite3VdbeAddOp1($884,61,$887)|0); + $888 = HEAP32[$pIdx>>2]|0; + $889 = ((($888)) + 20|0); + $890 = HEAP32[$889>>2]|0; + HEAP32[$pIdx>>2] = $890; + $891 = HEAP32[$idx>>2]|0; + $892 = (($891) + 1)|0; + HEAP32[$idx>>2] = $892; } } } while(0); - $894 = HEAP32[$0>>2]|0; - $895 = ((($894)) + 18|0); - $896 = HEAP8[$895>>0]|0; - $897 = $896&255; - $898 = ($897|0)==(0); - if ($898) { - $899 = HEAP32[$0>>2]|0; - $900 = ((($899)) + 420|0); - $901 = HEAP32[$900>>2]|0; - $902 = ($901|0)==(0|0); - if ($902) { - $903 = HEAP32[$0>>2]|0; - _sqlite3AutoincrementEnd($903); + $893 = HEAP32[$0>>2]|0; + $894 = ((($893)) + 18|0); + $895 = HEAP8[$894>>0]|0; + $896 = $895&255; + $897 = ($896|0)==(0); + if ($897) { + $898 = HEAP32[$0>>2]|0; + $899 = ((($898)) + 420|0); + $900 = HEAP32[$899>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + $902 = HEAP32[$0>>2]|0; + _sqlite3AutoincrementEnd($902); } } - $904 = HEAP32[$db>>2]|0; - $905 = ((($904)) + 24|0); - $906 = HEAP32[$905>>2]|0; - $907 = $906 & 128; - $908 = ($907|0)!=(0); - if ($908) { - $909 = HEAP32[$0>>2]|0; - $910 = ((($909)) + 18|0); - $911 = HEAP8[$910>>0]|0; - $912 = ($911<<24>>24)!=(0); - if (!($912)) { - $913 = HEAP32[$0>>2]|0; - $914 = ((($913)) + 420|0); - $915 = HEAP32[$914>>2]|0; - $916 = ($915|0)!=(0|0); - if (!($916)) { - $917 = HEAP32[$v>>2]|0; - $918 = HEAP32[$regRowCount>>2]|0; - (_sqlite3VdbeAddOp2($917,33,$918,1)|0); + $903 = HEAP32[$db>>2]|0; + $904 = ((($903)) + 24|0); + $905 = HEAP32[$904>>2]|0; + $906 = $905 & 128; + $907 = ($906|0)!=(0); + if ($907) { + $908 = HEAP32[$0>>2]|0; + $909 = ((($908)) + 18|0); + $910 = HEAP8[$909>>0]|0; + $911 = ($910<<24>>24)!=(0); + if (!($911)) { + $912 = HEAP32[$0>>2]|0; + $913 = ((($912)) + 420|0); + $914 = HEAP32[$913>>2]|0; + $915 = ($914|0)!=(0|0); + if (!($915)) { + $916 = HEAP32[$v>>2]|0; + $917 = HEAP32[$regRowCount>>2]|0; + (_sqlite3VdbeAddOp2($916,33,$917,1)|0); + $918 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($918,1); $919 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($919,1); - $920 = HEAP32[$v>>2]|0; - (_sqlite3VdbeSetColName($920,0,0,35182,0)|0); + (_sqlite3VdbeSetColName($919,0,0,34883,0)|0); } } } @@ -122443,21 +123698,21 @@ function _sqlite3Insert($pParse,$pTabList,$pSelect,$pColumn,$onError) { } } } while(0); - $921 = HEAP32[$db>>2]|0; - $922 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($921,$922); - $923 = HEAP32[$db>>2]|0; - $924 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($923,$924); - $925 = HEAP32[$db>>2]|0; - $926 = HEAP32[$2>>2]|0; - _sqlite3SelectDelete($925,$926); - $927 = HEAP32[$db>>2]|0; - $928 = HEAP32[$3>>2]|0; - _sqlite3IdListDelete($927,$928); - $929 = HEAP32[$db>>2]|0; - $930 = HEAP32[$aRegIdx>>2]|0; - _sqlite3DbFree($929,$930); + $920 = HEAP32[$db>>2]|0; + $921 = HEAP32[$1>>2]|0; + _sqlite3SrcListDelete($920,$921); + $922 = HEAP32[$db>>2]|0; + $923 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($922,$923); + $924 = HEAP32[$db>>2]|0; + $925 = HEAP32[$2>>2]|0; + _sqlite3SelectDelete($924,$925); + $926 = HEAP32[$db>>2]|0; + $927 = HEAP32[$3>>2]|0; + _sqlite3IdListDelete($926,$927); + $928 = HEAP32[$db>>2]|0; + $929 = HEAP32[$aRegIdx>>2]|0; + _sqlite3DbFree($928,$929); STACKTOP = sp;return; } function _sqlite3IdListAppend($db,$pList,$pToken) { @@ -122663,7 +123918,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $59 = $58; $60 = HEAP32[$59>>2]|0; $61 = HEAP32[$db>>2]|0; - $62 = ((($61)) + 88|0); + $62 = ((($61)) + 92|0); $63 = ((($62)) + 36|0); $64 = HEAP32[$63>>2]|0; $65 = ($64|0)<(0); @@ -122680,11 +123935,11 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { if ((label|0) == 7) { $72 = HEAP32[$0>>2]|0; $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 88|0); + $74 = ((($73)) + 92|0); $75 = ((($74)) + 36|0); $76 = HEAP32[$75>>2]|0; HEAP32[$vararg_buffer>>2] = $76; - _sqlite3ErrorMsg($72,35007,$vararg_buffer); + _sqlite3ErrorMsg($72,34708,$vararg_buffer); HEAP16[$x>>1] = 0; } $77 = $i; @@ -122888,7 +124143,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { $221 = HEAP16[$220>>1]|0; $222 = $221 << 16 >> 16; $223 = HEAP32[$db>>2]|0; - $224 = ((($223)) + 88|0); + $224 = ((($223)) + 92|0); $225 = ((($224)) + 36|0); $226 = HEAP32[$225>>2]|0; $227 = ($222|0)>($226|0); @@ -122896,7 +124151,7 @@ function _sqlite3ExprAssignVarNumber($pParse,$pExpr) { STACKTOP = sp;return; } $228 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($228,35050,$vararg_buffer2); + _sqlite3ErrorMsg($228,34751,$vararg_buffer2); STACKTOP = sp;return; } function _sqlite3ExprAddCollateToken($pParse,$pExpr,$pCollName,$dequote) { @@ -122999,53 +124254,43 @@ function _sqlite3ExprFunction($pParse,$pList,$pToken) { } return (0)|0; } -function _spanBinaryExpr($pOut,$pParse,$op,$pLeft,$pRight) { - $pOut = $pOut|0; +function _spanBinaryExpr($pParse,$op,$pLeft,$pRight) { $pParse = $pParse|0; $op = $op|0; $pLeft = $pLeft|0; $pRight = $pRight|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $pOut; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pLeft; - HEAP32[$4>>2] = $pRight; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $pLeft; + HEAP32[$3>>2] = $pRight; + $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3PExpr($5,$6,$8,$10,0)|0); - $12 = HEAP32[$0>>2]|0; - HEAP32[$12>>2] = $11; - $13 = HEAP32[$3>>2]|0; - $14 = ((($13)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 4|0); - HEAP32[$17>>2] = $15; - $18 = HEAP32[$4>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$0>>2]|0; - $22 = ((($21)) + 8|0); - HEAP32[$22>>2] = $20; + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$3>>2]|0; + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3PExpr($4,$5,$7,$9,0)|0); + $11 = HEAP32[$2>>2]|0; + HEAP32[$11>>2] = $10; + $12 = HEAP32[$3>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 8|0); + HEAP32[$16>>2] = $14; STACKTOP = sp;return; } -function _exprNot($pParse,$doNot,$ppExpr) { +function _exprNot($pParse,$doNot,$pSpan) { $pParse = $pParse|0; $doNot = $doNot|0; - $ppExpr = $ppExpr|0; + $pSpan = $pSpan|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; @@ -123054,7 +124299,7 @@ function _exprNot($pParse,$doNot,$ppExpr) { $2 = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $doNot; - HEAP32[$2>>2] = $ppExpr; + HEAP32[$2>>2] = $pSpan; $3 = HEAP32[$1>>2]|0; $4 = ($3|0)!=(0); if (!($4)) { @@ -123068,48 +124313,38 @@ function _exprNot($pParse,$doNot,$ppExpr) { HEAP32[$9>>2] = $8; STACKTOP = sp;return; } -function _spanUnaryPostfix($pOut,$pParse,$op,$pOperand,$pPostOp) { - $pOut = $pOut|0; +function _spanUnaryPostfix($pParse,$op,$pOperand,$pPostOp) { $pParse = $pParse|0; $op = $op|0; $pOperand = $pOperand|0; $pPostOp = $pPostOp|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$0>>2] = $pOut; - HEAP32[$1>>2] = $pParse; - HEAP32[$2>>2] = $op; - HEAP32[$3>>2] = $pOperand; - HEAP32[$4>>2] = $pPostOp; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $3 = sp; + HEAP32[$0>>2] = $pParse; + HEAP32[$1>>2] = $op; + HEAP32[$2>>2] = $pOperand; + HEAP32[$3>>2] = $pPostOp; + $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3PExpr($5,$6,$8,0,0)|0); - $10 = HEAP32[$0>>2]|0; - HEAP32[$10>>2] = $9; - $11 = HEAP32[$3>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 4|0); - HEAP32[$15>>2] = $13; - $16 = HEAP32[$4>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$4>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($18)|0); - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 8|0); - HEAP32[$23>>2] = $21; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3PExpr($4,$5,$7,0,0)|0); + $9 = HEAP32[$2>>2]|0; + HEAP32[$9>>2] = $8; + $10 = HEAP32[$3>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + ($12)|0); + $16 = HEAP32[$2>>2]|0; + $17 = ((($16)) + 8|0); + HEAP32[$17>>2] = $15; STACKTOP = sp;return; } function _binaryToUnaryIfNull($pParse,$pY,$pA,$op) { @@ -123182,18 +124417,18 @@ function _spanUnaryPrefix($pOut,$pParse,$op,$pOperand,$pPreOp) { HEAP32[$2>>2] = $op; HEAP32[$3>>2] = $pOperand; HEAP32[$4>>2] = $pPreOp; - $5 = HEAP32[$1>>2]|0; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$3>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3PExpr($5,$6,$8,0,0)|0); - $10 = HEAP32[$0>>2]|0; - HEAP32[$10>>2] = $9; - $11 = HEAP32[$4>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$0>>2]|0; + $8 = ((($7)) + 4|0); + HEAP32[$8>>2] = $6; + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$3>>2]|0; $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 4|0); - HEAP32[$14>>2] = $12; + $13 = (_sqlite3PExpr($9,$10,$12,0,0)|0); + $14 = HEAP32[$0>>2]|0; + HEAP32[$14>>2] = $13; $15 = HEAP32[$3>>2]|0; $16 = ((($15)) + 8|0); $17 = HEAP32[$16>>2]|0; @@ -123262,7 +124497,7 @@ function _parserAddExprIdListTerm($pParse,$pPrior,$pIdToken,$hasCollate,$sortOrd if ($or$cond) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$12>>2]|0; - $14 = ((($13)) + 140|0); + $14 = ((($13)) + 144|0); $15 = ((($14)) + 5|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; @@ -123277,7 +124512,7 @@ function _parserAddExprIdListTerm($pParse,$pPrior,$pIdToken,$hasCollate,$sortOrd HEAP32[$vararg_buffer>>2] = $22; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $24; - _sqlite3ErrorMsg($19,34967,$vararg_buffer); + _sqlite3ErrorMsg($19,34668,$vararg_buffer); } } $25 = HEAP32[$0>>2]|0; @@ -123321,7 +124556,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 65|0); + $6 = ((($5)) + 69|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { @@ -123366,7 +124601,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { HEAP32[$vararg_buffer>>2] = $27; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($26,34757,$vararg_buffer); + _sqlite3ErrorMsg($26,34458,$vararg_buffer); } $31 = HEAP32[$0>>2]|0; $32 = ((($31)) + 17|0); @@ -123385,7 +124620,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { if ($38) { $39 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer2>>2] = 0; - _sqlite3ErrorMsg($39,34775,$vararg_buffer2); + _sqlite3ErrorMsg($39,34476,$vararg_buffer2); $106 = HEAP32[$db>>2]|0; $107 = HEAP32[$1>>2]|0; _sqlite3SrcListDelete($106,$107); @@ -123411,7 +124646,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { HEAP32[$zDb>>2] = $53; $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 20769 : 20788; + $56 = $55 ? 20513 : 20532; HEAP32[$zTab>>2] = $56; $57 = HEAP32[$0>>2]|0; $58 = HEAP32[$zTab>>2]|0; @@ -123467,7 +124702,7 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { $85 = HEAP32[$84>>2]|0; $86 = HEAP32[$iDb>>2]|0; $87 = ($86|0)==(1); - $88 = $87 ? 20769 : 20788; + $88 = $87 ? 20513 : 20532; $89 = HEAP32[$pIndex>>2]|0; $90 = HEAP32[$89>>2]|0; HEAP32[$vararg_buffer5>>2] = $85; @@ -123475,12 +124710,12 @@ function _sqlite3DropIndex($pParse,$pName,$ifExists) { HEAP32[$vararg_ptr8>>2] = $88; $vararg_ptr9 = ((($vararg_buffer5)) + 8|0); HEAP32[$vararg_ptr9>>2] = $90; - _sqlite3NestedParse($79,34848,$vararg_buffer5); + _sqlite3NestedParse($79,34549,$vararg_buffer5); $91 = HEAP32[$0>>2]|0; $92 = HEAP32[$iDb>>2]|0; $93 = HEAP32[$pIndex>>2]|0; $94 = HEAP32[$93>>2]|0; - _sqlite3ClearStatTables($91,$92,31725,$94); + _sqlite3ClearStatTables($91,$92,31442,$94); $95 = HEAP32[$0>>2]|0; $96 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($95,$96); @@ -123582,63 +124817,64 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { var $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0; var $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0; var $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0; - var $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0; - var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0; - var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0; - var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0; - var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0; - var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0; - var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0; - var $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0; - var $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0; - var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0; - var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0; - var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0; - var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0; - var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0; - var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0; - var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0; - var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0; - var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0; - var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0; - var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0; - var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0; - var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0; - var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0; - var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0; - var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0; - var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0; - var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0; - var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0; - var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0; - var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0; - var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0; - var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0; - var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0; - var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0; - var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0; - var $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0; - var $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0; - var $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0; - var $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0; - var $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0; - var $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0; - var $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0; - var $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0; - var $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0; - var $998 = 0, $999 = 0, $N = 0, $N46 = 0, $aFcntl = 0, $aOp = 0, $aOp41 = 0, $aOp42 = 0, $aOp43 = 0, $aOp8 = 0, $addr = 0, $addr32 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $azOrigin = 0, $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0; - var $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode45 = 0, $i = 0, $i12 = 0, $i16 = 0, $i19 = 0, $i20 = 0, $i21 = 0, $i23 = 0, $i27 = 0, $i30 = 0, $i44 = 0, $iAddr = 0, $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0; - var $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLevel = 0, $iLimit = 0, $iLimit9 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0, $isQuick = 0, $j = 0, $j28 = 0, $j31 = 0, $jmp2 = 0, $jmp239 = 0, $jmp3 = 0, $jmp340 = 0, $jmp4 = 0, $jmp5 = 0; - var $jmp6 = 0, $k = 0, $k29 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mid = 0, $mx = 0, $mxErr = 0, $n = 0, $nHidden = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0; - var $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK24 = 0, $pId = 0, $pIdx = 0, $pIdx14 = 0, $pIdx17 = 0, $pIdx26 = 0, $pIdx35 = 0, $pIdx37 = 0, $pPager = 0, $pPager6 = 0, $pParent = 0, $pPk = 0; - var $pPk38 = 0, $pPragma = 0, $pPrior = 0, $pTab = 0, $pTab13 = 0, $pTab15 = 0, $pTab18 = 0, $pTab22 = 0, $pTab25 = 0, $pTab34 = 0, $pTab36 = 0, $pTbls = 0, $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0; - var $size10 = 0, $size11 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer33 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer54 = 0, $vararg_buffer61 = 0, $vararg_buffer66 = 0, $vararg_buffer70 = 0; - var $vararg_buffer80 = 0, $vararg_buffer84 = 0, $vararg_buffer87 = 0, $vararg_buffer91 = 0, $vararg_ptr28 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0, $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0; - var $vararg_ptr59 = 0, $vararg_ptr60 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr69 = 0, $vararg_ptr73 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0, $vararg_ptr83 = 0, $vararg_ptr90 = 0, $x = 0, $x33 = 0, $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0; - var $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 800|0; + var $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0; + var $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0; + var $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0; + var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0; + var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0; + var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0; + var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0; + var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0; + var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0; + var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0; + var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0; + var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0; + var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0; + var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0; + var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0; + var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0; + var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0; + var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0; + var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0; + var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0; + var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0; + var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0; + var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0; + var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0; + var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0; + var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0; + var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0; + var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0; + var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0; + var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0; + var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0; + var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0; + var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0; + var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0; + var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0; + var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0; + var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0; + var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0; + var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0; + var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0; + var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0; + var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0; + var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $N = 0, $N48 = 0, $aFcntl = 0, $aOp = 0, $aOp43 = 0, $aOp44 = 0, $aOp45 = 0, $aOp8 = 0, $aRoot = 0, $addr = 0; + var $addr32 = 0, $addrOk = 0, $addrTop = 0, $aiCols = 0, $azOrigin = 0, $b = 0, $ckUniq = 0, $cnt = 0, $cnum = 0, $db = 0, $eAuto = 0, $eMode = 0, $eMode4 = 0, $eMode47 = 0, $i = 0, $i12 = 0, $i16 = 0, $i19 = 0, $i20 = 0, $i21 = 0; + var $i23 = 0, $i27 = 0, $i30 = 0, $i46 = 0, $iAddr = 0, $iBt = 0, $iCol = 0, $iCookie = 0, $iDataCur = 0, $iDb = 0, $iIdxCur = 0, $iKey = 0, $iLevel = 0, $iLimit = 0, $iLimit9 = 0, $iReg = 0, $ii = 0, $ii3 = 0, $ii5 = 0, $isQuick = 0; + var $j = 0, $j28 = 0, $j31 = 0, $jmp2 = 0, $jmp241 = 0, $jmp3 = 0, $jmp342 = 0, $jmp4 = 0, $jmp5 = 0, $jmp6 = 0, $k = 0, $k29 = 0, $kk = 0, $loopTop = 0, $lwr = 0, $mask = 0, $mid = 0, $mx = 0, $mxErr = 0, $mxIdx = 0; + var $n = 0, $nHidden = 0, $nIdx = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $p = 0, $pBt = 0, $pBt2 = 0, $pBt7 = 0, $pCol = 0, $pColl = 0, $pDb = 0, $pEnc = 0, $pFK = 0, $pFK24 = 0; + var $pId = 0, $pIdx = 0, $pIdx14 = 0, $pIdx17 = 0, $pIdx26 = 0, $pIdx35 = 0, $pIdx37 = 0, $pIdx39 = 0, $pPager = 0, $pPager6 = 0, $pParent = 0, $pPk = 0, $pPk40 = 0, $pPragma = 0, $pPrior = 0, $pTab = 0, $pTab13 = 0, $pTab15 = 0, $pTab18 = 0, $pTab22 = 0; + var $pTab25 = 0, $pTab34 = 0, $pTab36 = 0, $pTab38 = 0, $pTbls = 0, $r1 = 0, $rc = 0, $regKey = 0, $regResult = 0, $regRow = 0, $res = 0, $size = 0, $size1 = 0, $size10 = 0, $size11 = 0, $sz = 0, $uniqOk = 0, $upr = 0, $v = 0, $vararg_buffer = 0; + var $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer20 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer33 = 0, $vararg_buffer39 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer54 = 0, $vararg_buffer61 = 0, $vararg_buffer66 = 0, $vararg_buffer70 = 0, $vararg_buffer80 = 0, $vararg_buffer84 = 0, $vararg_buffer87 = 0, $vararg_buffer91 = 0, $vararg_ptr28 = 0, $vararg_ptr29 = 0, $vararg_ptr30 = 0; + var $vararg_ptr31 = 0, $vararg_ptr32 = 0, $vararg_ptr36 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr47 = 0, $vararg_ptr48 = 0, $vararg_ptr52 = 0, $vararg_ptr53 = 0, $vararg_ptr57 = 0, $vararg_ptr58 = 0, $vararg_ptr59 = 0, $vararg_ptr60 = 0, $vararg_ptr64 = 0, $vararg_ptr65 = 0, $vararg_ptr69 = 0, $vararg_ptr73 = 0, $vararg_ptr74 = 0; + var $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr79 = 0, $vararg_ptr83 = 0, $vararg_ptr90 = 0, $x = 0, $x33 = 0, $zDb = 0, $zErr = 0, $zLeft = 0, $zMode = 0, $zOpt = 0, $zRet = 0, $zRight = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 816|0; $vararg_buffer91 = sp + 264|0; $vararg_buffer87 = sp + 256|0; $vararg_buffer84 = sp + 248|0; @@ -123657,109 +124893,114 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $vararg_buffer18 = sp + 48|0; $vararg_buffer15 = sp + 40|0; $vararg_buffer = sp + 32|0; - $0 = sp + 792|0; - $1 = sp + 788|0; - $2 = sp + 784|0; - $3 = sp + 780|0; - $4 = sp + 776|0; - $zLeft = sp + 772|0; - $zRight = sp + 768|0; - $zDb = sp + 764|0; - $pId = sp + 760|0; - $aFcntl = sp + 744|0; - $iDb = sp + 736|0; - $lwr = sp + 732|0; - $upr = sp + 728|0; - $mid = sp + 724|0; - $rc = sp + 720|0; - $db = sp + 716|0; - $pDb = sp + 712|0; - $v = sp + 708|0; - $pPragma = sp + 704|0; - $aOp = sp + 700|0; - $size = sp + 696|0; - $pBt = sp + 692|0; - $size1 = sp + 688|0; - $pBt2 = sp + 684|0; - $b = sp + 680|0; - $ii = sp + 676|0; - $iReg = sp + 672|0; - $zRet = sp + 668|0; - $eMode = sp + 664|0; - $pPager = sp + 660|0; - $ii3 = sp + 656|0; - $eMode4 = sp + 652|0; - $ii5 = sp + 648|0; - $zMode = sp + 644|0; - $n = sp + 640|0; - $pPager6 = sp + 636|0; + $0 = sp + 808|0; + $1 = sp + 804|0; + $2 = sp + 800|0; + $3 = sp + 796|0; + $4 = sp + 792|0; + $zLeft = sp + 788|0; + $zRight = sp + 784|0; + $zDb = sp + 780|0; + $pId = sp + 776|0; + $aFcntl = sp + 760|0; + $iDb = sp + 756|0; + $lwr = sp + 752|0; + $upr = sp + 748|0; + $mid = sp + 744|0; + $rc = sp + 740|0; + $db = sp + 736|0; + $pDb = sp + 732|0; + $v = sp + 728|0; + $pPragma = sp + 724|0; + $aOp = sp + 720|0; + $size = sp + 716|0; + $pBt = sp + 712|0; + $size1 = sp + 708|0; + $pBt2 = sp + 704|0; + $b = sp + 700|0; + $ii = sp + 696|0; + $iReg = sp + 692|0; + $zRet = sp + 688|0; + $eMode = sp + 684|0; + $pPager = sp + 680|0; + $ii3 = sp + 676|0; + $eMode4 = sp + 672|0; + $ii5 = sp + 668|0; + $zMode = sp + 664|0; + $n = sp + 660|0; + $pPager6 = sp + 656|0; $iLimit = sp + 24|0; - $pBt7 = sp + 632|0; - $eAuto = sp + 628|0; - $aOp8 = sp + 624|0; - $iAddr = sp + 620|0; - $iLimit9 = sp + 616|0; - $addr = sp + 612|0; - $size10 = sp + 608|0; - $size11 = sp + 604|0; + $pBt7 = sp + 652|0; + $eAuto = sp + 648|0; + $aOp8 = sp + 644|0; + $iAddr = sp + 640|0; + $iLimit9 = sp + 636|0; + $addr = sp + 632|0; + $size10 = sp + 628|0; + $size11 = sp + 624|0; $sz = sp + 16|0; - $res = sp + 600|0; - $iLevel = sp + 596|0; - $mask = sp + 592|0; - $pTab = sp + 588|0; - $i = sp + 584|0; - $k = sp + 580|0; - $nHidden = sp + 576|0; - $pCol = sp + 572|0; - $pPk = sp + 568|0; - $pIdx = sp + 564|0; - $i12 = sp + 560|0; - $pTab13 = sp + 556|0; - $pIdx14 = sp + 552|0; - $pTab15 = sp + 548|0; - $i16 = sp + 544|0; - $mx = sp + 540|0; - $cnum = sp + 796|0; - $pIdx17 = sp + 536|0; - $pTab18 = sp + 532|0; - $i19 = sp + 528|0; - $azOrigin = sp + 516|0; - $i20 = sp + 512|0; - $i21 = sp + 508|0; - $p = sp + 504|0; - $pColl = sp + 500|0; - $pFK = sp + 496|0; - $pTab22 = sp + 492|0; - $i23 = sp + 488|0; - $j = sp + 484|0; - $pFK24 = sp + 480|0; - $pTab25 = sp + 476|0; - $pParent = sp + 472|0; - $pIdx26 = sp + 468|0; - $i27 = sp + 464|0; - $j28 = sp + 460|0; - $k29 = sp + 456|0; - $x = sp + 452|0; - $regResult = sp + 448|0; - $regKey = sp + 444|0; - $regRow = sp + 440|0; - $addrTop = sp + 436|0; - $addrOk = sp + 432|0; - $aiCols = sp + 428|0; - $iKey = sp + 424|0; - $i30 = sp + 420|0; - $j31 = sp + 416|0; - $addr32 = sp + 412|0; - $mxErr = sp + 408|0; - $isQuick = sp + 404|0; - $x33 = sp + 400|0; - $pTbls = sp + 396|0; - $cnt = sp + 392|0; - $pTab34 = sp + 388|0; - $pIdx35 = sp + 384|0; - $pTab36 = sp + 380|0; - $pIdx37 = sp + 376|0; - $pPk38 = sp + 372|0; + $res = sp + 620|0; + $iLevel = sp + 616|0; + $mask = sp + 612|0; + $pTab = sp + 608|0; + $i = sp + 604|0; + $k = sp + 600|0; + $nHidden = sp + 596|0; + $pCol = sp + 592|0; + $pPk = sp + 588|0; + $pIdx = sp + 584|0; + $i12 = sp + 580|0; + $pTab13 = sp + 576|0; + $pIdx14 = sp + 572|0; + $pTab15 = sp + 568|0; + $i16 = sp + 564|0; + $mx = sp + 560|0; + $cnum = sp + 812|0; + $pIdx17 = sp + 556|0; + $pTab18 = sp + 552|0; + $i19 = sp + 548|0; + $azOrigin = sp + 536|0; + $i20 = sp + 532|0; + $i21 = sp + 528|0; + $p = sp + 524|0; + $pColl = sp + 520|0; + $pFK = sp + 516|0; + $pTab22 = sp + 512|0; + $i23 = sp + 508|0; + $j = sp + 504|0; + $pFK24 = sp + 500|0; + $pTab25 = sp + 496|0; + $pParent = sp + 492|0; + $pIdx26 = sp + 488|0; + $i27 = sp + 484|0; + $j28 = sp + 480|0; + $k29 = sp + 476|0; + $x = sp + 472|0; + $regResult = sp + 468|0; + $regKey = sp + 464|0; + $regRow = sp + 460|0; + $addrTop = sp + 456|0; + $addrOk = sp + 452|0; + $aiCols = sp + 448|0; + $iKey = sp + 444|0; + $i30 = sp + 440|0; + $j31 = sp + 436|0; + $addr32 = sp + 432|0; + $mxErr = sp + 428|0; + $isQuick = sp + 424|0; + $x33 = sp + 420|0; + $pTbls = sp + 416|0; + $aRoot = sp + 412|0; + $cnt = sp + 408|0; + $mxIdx = sp + 404|0; + $nIdx = sp + 400|0; + $pTab34 = sp + 396|0; + $pIdx35 = sp + 392|0; + $pTab36 = sp + 388|0; + $pIdx37 = sp + 384|0; + $pTab38 = sp + 380|0; + $pIdx39 = sp + 376|0; + $pPk40 = sp + 372|0; $pPrior = sp + 368|0; $loopTop = sp + 364|0; $iDataCur = sp + 360|0; @@ -123768,8 +125009,8 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $zErr = sp + 348|0; $jmp2 = sp + 344|0; $jmp3 = sp + 340|0; - $jmp239 = sp + 336|0; - $jmp340 = sp + 332|0; + $jmp241 = sp + 336|0; + $jmp342 = sp + 332|0; $jmp4 = sp + 328|0; $jmp5 = sp + 324|0; $ckUniq = sp + 320|0; @@ -123777,17 +125018,17 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $jmp6 = sp + 312|0; $kk = sp + 308|0; $iCol = sp + 304|0; - $aOp41 = sp + 300|0; + $aOp43 = sp + 300|0; $pEnc = sp + 296|0; $iCookie = sp + 292|0; - $aOp42 = sp + 288|0; - $aOp43 = sp + 284|0; - $i44 = sp + 280|0; + $aOp44 = sp + 288|0; + $aOp45 = sp + 284|0; + $i46 = sp + 280|0; $zOpt = sp + 276|0; $iBt = sp + 272|0; - $eMode45 = sp + 268|0; + $eMode47 = sp + 268|0; $N = sp + 8|0; - $N46 = sp; + $N48 = sp; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pId1; HEAP32[$2>>2] = $pId2; @@ -123854,7 +125095,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $38 = HEAP32[$3>>2]|0; if ($36) { HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,32915,$vararg_buffer)|0); + $39 = (_sqlite3MPrintf($37,32616,$vararg_buffer)|0); HEAP32[$zRight>>2] = $39; } else { $40 = (_sqlite3NameFromToken($37,$38)|0); @@ -123890,7 +125131,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $58 = ((($aFcntl)) + 12|0); HEAP32[$58>>2] = 0; $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 448|0); + $60 = ((($59)) + 380|0); $61 = ((($60)) + 8|0); HEAP32[$61>>2] = 0; $62 = HEAP32[$db>>2]|0; @@ -123902,7 +125143,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($66) { $67 = HEAP32[$v>>2]|0; $68 = HEAP32[$aFcntl>>2]|0; - _returnSingleText($67,32919,$68); + _returnSingleText($67,32620,$68); $69 = HEAP32[$aFcntl>>2]|0; _sqlite3_free($69); break; @@ -123916,7 +125157,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $74 = HEAP32[$0>>2]|0; $75 = HEAP32[$aFcntl>>2]|0; HEAP32[$vararg_buffer15>>2] = $75; - _sqlite3ErrorMsg($74,19255,$vararg_buffer15); + _sqlite3ErrorMsg($74,18999,$vararg_buffer15); $76 = HEAP32[$aFcntl>>2]|0; _sqlite3_free($76); } @@ -123947,7 +125188,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { HEAP32[$mid>>2] = $90; $91 = HEAP32[$zLeft>>2]|0; $92 = HEAP32[$mid>>2]|0; - $93 = (5312 + (($92*12)|0)|0); + $93 = (5308 + (($92*12)|0)|0); $94 = HEAP32[$93>>2]|0; $95 = (_sqlite3_stricmp($91,$94)|0); HEAP32[$rc>>2] = $95; @@ -123974,7 +125215,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $105 = ($103|0)>($104|0); if (!($105)) { $106 = HEAP32[$mid>>2]|0; - $107 = (5312 + (($106*12)|0)|0); + $107 = (5308 + (($106*12)|0)|0); HEAP32[$pPragma>>2] = $107; $108 = HEAP32[$pPragma>>2]|0; $109 = ((($108)) + 5|0); @@ -124032,14 +125273,14 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break L21; } else { $125 = HEAP32[$v>>2]|0; - _setOneColumnName($125,32926); + _setOneColumnName($125,32627); $126 = HEAP32[$0>>2]|0; $127 = ((($126)) + 76|0); $128 = HEAP32[$127>>2]|0; $129 = (($128) + 2)|0; HEAP32[$127>>2] = $129; $130 = HEAP32[$v>>2]|0; - $131 = (_sqlite3VdbeAddOpList($130,9,32937,0)|0); + $131 = (_sqlite3VdbeAddOpList($130,9,32638,0)|0); HEAP32[$aOp>>2] = $131; $132 = HEAP32[$iDb>>2]|0; $133 = HEAP32[$aOp>>2]|0; @@ -124053,7 +125294,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $139 = HEAP32[$aOp>>2]|0; $140 = ((($139)) + 120|0); $141 = ((($140)) + 4|0); - HEAP32[$141>>2] = 2000; + HEAP32[$141>>2] = -2000; break L21; } break; @@ -124069,11 +125310,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $177 = HEAP32[$zRight>>2]|0; $178 = (_sqlite3Atoi($177)|0); $179 = HEAP32[$db>>2]|0; - $180 = ((($179)) + 72|0); + $180 = ((($179)) + 76|0); HEAP32[$180>>2] = $178; $181 = HEAP32[$pBt>>2]|0; $182 = HEAP32[$db>>2]|0; - $183 = ((($182)) + 72|0); + $183 = ((($182)) + 76|0); $184 = HEAP32[$183>>2]|0; $185 = (_sqlite3BtreeSetPageSize($181,$184,-1,0)|0); $186 = (7)==($185|0); @@ -124098,7 +125339,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $174 = HEAP32[$size1>>2]|0; $175 = ($174|0)<(0); $176 = $175 << 31 >> 31; - _returnSingleInt($173,32973,$174,$176); + _returnSingleInt($173,32674,$174,$176); break L21; break; } @@ -124158,7 +125399,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $221 = HEAP32[$b>>2]|0; $222 = ($221|0)<(0); $223 = $222 << 31 >> 31; - _returnSingleInt($220,32983,$221,$223); + _returnSingleInt($220,32684,$221,$223); break L21; break; } @@ -124175,7 +125416,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $230 = HEAP32[$zLeft>>2]|0; $231 = HEAP8[$230>>0]|0; $232 = $231&255; - $233 = (18477 + ($232)|0); + $233 = (18221 + ($232)|0); $234 = HEAP8[$233>>0]|0; $235 = $234&255; $236 = ($235|0)==(112); @@ -124202,7 +125443,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { break; } case 22: { - HEAP32[$zRet>>2] = 32997; + HEAP32[$zRet>>2] = 32698; $248 = HEAP32[$zRight>>2]|0; $249 = (_getLockingMode($248)|0); HEAP32[$eMode>>2] = $249; @@ -124215,7 +125456,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $or$cond3 = $253 & $255; if ($or$cond3) { $256 = HEAP32[$db>>2]|0; - $257 = ((($256)) + 67|0); + $257 = ((($256)) + 71|0); $258 = HEAP8[$257>>0]|0; $259 = $258&255; HEAP32[$eMode>>2] = $259; @@ -124254,7 +125495,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $281 = HEAP32[$eMode>>2]|0; $282 = $281&255; $283 = HEAP32[$db>>2]|0; - $284 = ((($283)) + 67|0); + $284 = ((($283)) + 71|0); HEAP8[$284>>0] = $282; } $285 = HEAP32[$pDb>>2]|0; @@ -124270,17 +125511,17 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $292 = HEAP32[$eMode>>2]|0; $293 = ($292|0)==(1); if ($293) { - HEAP32[$zRet>>2] = 33004; + HEAP32[$zRet>>2] = 32705; } $294 = HEAP32[$v>>2]|0; $295 = HEAP32[$zRet>>2]|0; - _returnSingleText($294,33014,$295); + _returnSingleText($294,32715,$295); break L21; break; } case 19: { $296 = HEAP32[$v>>2]|0; - _setOneColumnName($296,33027); + _setOneColumnName($296,32728); $297 = HEAP32[$zRight>>2]|0; $298 = ($297|0)==(0|0); if ($298) { @@ -124440,7 +125681,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $393 = (($390) + 4)|0; $394 = $393; $395 = HEAP32[$394>>2]|0; - _returnSingleInt($389,33040,$392,$395); + _returnSingleInt($389,32741,$392,$395); break L21; break; } @@ -124457,7 +125698,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $403 = (_sqlite3BtreeGetAutoVacuum($402)|0); $404 = ($403|0)<(0); $405 = $404 << 31 >> 31; - _returnSingleInt($401,33059,$403,$405); + _returnSingleInt($401,32760,$403,$405); break L21; } $406 = HEAP32[$zRight>>2]|0; @@ -124466,7 +125707,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $408 = HEAP32[$eAuto>>2]|0; $409 = $408&255; $410 = HEAP32[$db>>2]|0; - $411 = ((($410)) + 68|0); + $411 = ((($410)) + 72|0); HEAP8[$411>>0] = $409; $412 = HEAP32[$pBt7>>2]|0; $413 = HEAP32[$eAuto>>2]|0; @@ -124489,7 +125730,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $422 = (_sqlite3VdbeCurrentAddr($421)|0); HEAP32[$iAddr>>2] = $422; $423 = HEAP32[$v>>2]|0; - $424 = (_sqlite3VdbeAddOpList($423,5,33071,0)|0); + $424 = (_sqlite3VdbeAddOpList($423,5,32772,0)|0); HEAP32[$aOp8>>2] = $424; $425 = HEAP32[$iDb>>2]|0; $426 = HEAP32[$aOp8>>2]|0; @@ -124597,7 +125838,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $475 = HEAP32[$474>>2]|0; $476 = ($475|0)<(0); $477 = $476 << 31 >> 31; - _returnSingleInt($470,32926,$475,$477); + _returnSingleInt($470,32627,$475,$477); break L21; } break; @@ -124623,7 +125864,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } $505 = ($506|0)<(0); $507 = $505 << 31 >> 31; - _returnSingleInt($495,33091,$506,$507); + _returnSingleInt($495,32792,$506,$507); break L21; } HEAP32[$size11>>2] = 1; @@ -124677,7 +125918,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $538 = (($535) + 4)|0; $539 = $538; $540 = HEAP32[$539>>2]|0; - _returnSingleInt($534,33103,$537,$540); + _returnSingleInt($534,32804,$537,$540); break L21; } $541 = HEAP32[$rc>>2]|0; @@ -124708,10 +125949,10 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } else { $552 = HEAP32[$v>>2]|0; $553 = HEAP32[$db>>2]|0; - $554 = ((($553)) + 64|0); + $554 = ((($553)) + 68|0); $555 = HEAP8[$554>>0]|0; $556 = $555&255; - _returnSingleInt($552,33113,$556,0); + _returnSingleInt($552,32814,$556,0); break L21; } break; @@ -124722,7 +125963,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if (!($560)) { $561 = HEAP32[$v>>2]|0; $562 = HEAP32[964>>2]|0; - _returnSingleText($561,33124,$562); + _returnSingleText($561,32825,$562); break L21; } $563 = HEAP32[$zRight>>2]|0; @@ -124741,12 +125982,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $or$cond9 = $571 | $573; if ($or$cond9) { $574 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($574,33145,$vararg_buffer18); + _sqlite3ErrorMsg($574,32846,$vararg_buffer18); break L21; } } $575 = HEAP32[$db>>2]|0; - $576 = ((($575)) + 64|0); + $576 = ((($575)) + 68|0); $577 = HEAP8[$576>>0]|0; $578 = $577&255; $579 = ($578|0)<=(1); @@ -124762,7 +126003,7 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { if ($584) { $585 = HEAP32[$zRight>>2]|0; HEAP32[$vararg_buffer20>>2] = $585; - $586 = (_sqlite3_mprintf(19255,$vararg_buffer20)|0); + $586 = (_sqlite3_mprintf(18999,$vararg_buffer20)|0); HEAP32[964>>2] = $586; break L21; } else { @@ -124783,11 +126024,11 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $594 = (($593) - 1)|0; $595 = ($594|0)<(0); $596 = $595 << 31 >> 31; - _returnSingleInt($589,33170,$594,$596); + _returnSingleInt($589,32871,$594,$596); break L21; } $597 = HEAP32[$db>>2]|0; - $598 = ((($597)) + 63|0); + $598 = ((($597)) + 67|0); $599 = HEAP8[$598>>0]|0; $600 = ($599<<24>>24)!=(0); if ($600) { @@ -124806,1242 +126047,1243 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { $611 = HEAP32[$pDb>>2]|0; $612 = ((($611)) + 8|0); HEAP8[$612>>0] = $610; - $613 = HEAP32[$db>>2]|0; - _setAllPagerFlags($613); + $613 = HEAP32[$pDb>>2]|0; + $614 = ((($613)) + 9|0); + HEAP8[$614>>0] = 1; + $615 = HEAP32[$db>>2]|0; + _setAllPagerFlags($615); break L21; } else { $601 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($601,33182,$vararg_buffer23); + _sqlite3ErrorMsg($601,32883,$vararg_buffer23); break L21; } break; } case 2: { - $614 = HEAP32[$zRight>>2]|0; - $615 = ($614|0)==(0|0); - if ($615) { - $616 = HEAP32[$v>>2]|0; - $617 = HEAP32[$pPragma>>2]|0; - $618 = HEAP32[$617>>2]|0; - $619 = HEAP32[$db>>2]|0; - $620 = ((($619)) + 24|0); - $621 = HEAP32[$620>>2]|0; - $622 = HEAP32[$pPragma>>2]|0; - $623 = ((($622)) + 8|0); - $624 = HEAP32[$623>>2]|0; - $625 = $621 & $624; - $626 = ($625|0)!=(0); - $627 = $626&1; - $628 = ($627|0)<(0); - $629 = $628 << 31 >> 31; - _returnSingleInt($616,$618,$627,$629); + $616 = HEAP32[$zRight>>2]|0; + $617 = ($616|0)==(0|0); + if ($617) { + $618 = HEAP32[$v>>2]|0; + $619 = HEAP32[$pPragma>>2]|0; + $620 = HEAP32[$619>>2]|0; + $621 = HEAP32[$db>>2]|0; + $622 = ((($621)) + 24|0); + $623 = HEAP32[$622>>2]|0; + $624 = HEAP32[$pPragma>>2]|0; + $625 = ((($624)) + 8|0); + $626 = HEAP32[$625>>2]|0; + $627 = $623 & $626; + $628 = ($627|0)!=(0); + $629 = $628&1; + $630 = ($629|0)<(0); + $631 = $630 << 31 >> 31; + _returnSingleInt($618,$620,$629,$631); break L21; } - $630 = HEAP32[$pPragma>>2]|0; - $631 = ((($630)) + 8|0); - $632 = HEAP32[$631>>2]|0; - HEAP32[$mask>>2] = $632; - $633 = HEAP32[$db>>2]|0; - $634 = ((($633)) + 63|0); - $635 = HEAP8[$634>>0]|0; - $636 = $635&255; - $637 = ($636|0)==(0); - if ($637) { - $638 = HEAP32[$mask>>2]|0; - $639 = $638 & -524289; - HEAP32[$mask>>2] = $639; + $632 = HEAP32[$pPragma>>2]|0; + $633 = ((($632)) + 8|0); + $634 = HEAP32[$633>>2]|0; + HEAP32[$mask>>2] = $634; + $635 = HEAP32[$db>>2]|0; + $636 = ((($635)) + 67|0); + $637 = HEAP8[$636>>0]|0; + $638 = $637&255; + $639 = ($638|0)==(0); + if ($639) { + $640 = HEAP32[$mask>>2]|0; + $641 = $640 & -524289; + HEAP32[$mask>>2] = $641; } - $640 = HEAP32[$zRight>>2]|0; - $641 = (_sqlite3GetBoolean($640,0)|0); - $642 = ($641<<24>>24)!=(0); - $643 = HEAP32[$mask>>2]|0; - if ($642) { - $644 = HEAP32[$db>>2]|0; - $645 = ((($644)) + 24|0); - $646 = HEAP32[$645>>2]|0; - $647 = $646 | $643; - HEAP32[$645>>2] = $647; + $642 = HEAP32[$zRight>>2]|0; + $643 = (_sqlite3GetBoolean($642,0)|0); + $644 = ($643<<24>>24)!=(0); + $645 = HEAP32[$mask>>2]|0; + if ($644) { + $646 = HEAP32[$db>>2]|0; + $647 = ((($646)) + 24|0); + $648 = HEAP32[$647>>2]|0; + $649 = $648 | $645; + HEAP32[$647>>2] = $649; } else { - $648 = $643 ^ -1; - $649 = HEAP32[$db>>2]|0; - $650 = ((($649)) + 24|0); - $651 = HEAP32[$650>>2]|0; - $652 = $651 & $648; - HEAP32[$650>>2] = $652; - $653 = HEAP32[$mask>>2]|0; - $654 = ($653|0)==(16777216); - if ($654) { - $655 = HEAP32[$db>>2]|0; - $656 = ((($655)) + 520|0); - $657 = $656; - $658 = $657; - HEAP32[$658>>2] = 0; - $659 = (($657) + 4)|0; + $650 = $645 ^ -1; + $651 = HEAP32[$db>>2]|0; + $652 = ((($651)) + 24|0); + $653 = HEAP32[$652>>2]|0; + $654 = $653 & $650; + HEAP32[$652>>2] = $654; + $655 = HEAP32[$mask>>2]|0; + $656 = ($655|0)==(16777216); + if ($656) { + $657 = HEAP32[$db>>2]|0; + $658 = ((($657)) + 448|0); + $659 = $658; $660 = $659; HEAP32[$660>>2] = 0; + $661 = (($659) + 4)|0; + $662 = $661; + HEAP32[$662>>2] = 0; } } - $661 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($661,147,0,0)|0); - $662 = HEAP32[$db>>2]|0; - _setAllPagerFlags($662); + $663 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($663,147,0,0)|0); + $664 = HEAP32[$db>>2]|0; + _setAllPagerFlags($664); break L21; break; } case 31: { - $663 = HEAP32[$zRight>>2]|0; - $664 = ($663|0)!=(0|0); - if (!($664)) { + $665 = HEAP32[$zRight>>2]|0; + $666 = ($665|0)!=(0|0); + if (!($666)) { break L21; } - $665 = HEAP32[$db>>2]|0; - $666 = HEAP32[$zRight>>2]|0; - $667 = HEAP32[$zDb>>2]|0; - $668 = (_sqlite3FindTable($665,$666,$667)|0); - HEAP32[$pTab>>2] = $668; - $669 = HEAP32[$pTab>>2]|0; - $670 = ($669|0)!=(0|0); - if (!($670)) { + $667 = HEAP32[$db>>2]|0; + $668 = HEAP32[$zRight>>2]|0; + $669 = HEAP32[$zDb>>2]|0; + $670 = (_sqlite3FindTable($667,$668,$669)|0); + HEAP32[$pTab>>2] = $670; + $671 = HEAP32[$pTab>>2]|0; + $672 = ($671|0)!=(0|0); + if (!($672)) { break L21; } HEAP32[$nHidden>>2] = 0; - $671 = HEAP32[$pTab>>2]|0; - $672 = (_sqlite3PrimaryKeyIndex($671)|0); - HEAP32[$pPk>>2] = $672; - $673 = HEAP32[$0>>2]|0; - $674 = ((($673)) + 76|0); - HEAP32[$674>>2] = 6; + $673 = HEAP32[$pTab>>2]|0; + $674 = (_sqlite3PrimaryKeyIndex($673)|0); + HEAP32[$pPk>>2] = $674; $675 = HEAP32[$0>>2]|0; - $676 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($675,$676); - $677 = HEAP32[$v>>2]|0; - _setAllColumnNames($677,6,6008); - $678 = HEAP32[$0>>2]|0; - $679 = HEAP32[$pTab>>2]|0; - (_sqlite3ViewGetColumnNames($678,$679)|0); + $676 = ((($675)) + 76|0); + HEAP32[$676>>2] = 6; + $677 = HEAP32[$0>>2]|0; + $678 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($677,$678); + $679 = HEAP32[$v>>2]|0; + _setAllColumnNames($679,6,6004); + $680 = HEAP32[$0>>2]|0; + $681 = HEAP32[$pTab>>2]|0; + (_sqlite3ViewGetColumnNames($680,$681)|0); HEAP32[$i>>2] = 0; - $680 = HEAP32[$pTab>>2]|0; - $681 = ((($680)) + 4|0); - $682 = HEAP32[$681>>2]|0; - HEAP32[$pCol>>2] = $682; + $682 = HEAP32[$pTab>>2]|0; + $683 = ((($682)) + 4|0); + $684 = HEAP32[$683>>2]|0; + HEAP32[$pCol>>2] = $684; while(1) { - $683 = HEAP32[$i>>2]|0; - $684 = HEAP32[$pTab>>2]|0; - $685 = ((($684)) + 34|0); - $686 = HEAP16[$685>>1]|0; - $687 = $686 << 16 >> 16; - $688 = ($683|0)<($687|0); - if (!($688)) { + $685 = HEAP32[$i>>2]|0; + $686 = HEAP32[$pTab>>2]|0; + $687 = ((($686)) + 34|0); + $688 = HEAP16[$687>>1]|0; + $689 = $688 << 16 >> 16; + $690 = ($685|0)<($689|0); + if (!($690)) { break L21; } - $689 = HEAP32[$pCol>>2]|0; - $690 = ((($689)) + 23|0); - $691 = HEAP8[$690>>0]|0; - $692 = $691&255; - $693 = $692 & 2; - $694 = ($693|0)!=(0); - if ($694) { - $695 = HEAP32[$nHidden>>2]|0; - $696 = (($695) + 1)|0; - HEAP32[$nHidden>>2] = $696; + $691 = HEAP32[$pCol>>2]|0; + $692 = ((($691)) + 15|0); + $693 = HEAP8[$692>>0]|0; + $694 = $693&255; + $695 = $694 & 2; + $696 = ($695|0)!=(0); + if ($696) { + $697 = HEAP32[$nHidden>>2]|0; + $698 = (($697) + 1)|0; + HEAP32[$nHidden>>2] = $698; } else { - $697 = HEAP32[$pCol>>2]|0; - $698 = ((($697)) + 23|0); - $699 = HEAP8[$698>>0]|0; - $700 = $699&255; - $701 = $700 & 1; - $702 = ($701|0)==(0); + $699 = HEAP32[$pCol>>2]|0; + $700 = ((($699)) + 15|0); + $701 = HEAP8[$700>>0]|0; + $702 = $701&255; + $703 = $702 & 1; + $704 = ($703|0)==(0); L202: do { - if ($702) { + if ($704) { HEAP32[$k>>2] = 0; } else { - $703 = HEAP32[$pPk>>2]|0; - $704 = ($703|0)==(0|0); + $705 = HEAP32[$pPk>>2]|0; + $706 = ($705|0)==(0|0); HEAP32[$k>>2] = 1; - if ($704) { + if ($706) { break; } while(1) { - $705 = HEAP32[$k>>2]|0; - $706 = HEAP32[$pTab>>2]|0; - $707 = ((($706)) + 34|0); - $708 = HEAP16[$707>>1]|0; - $709 = $708 << 16 >> 16; - $710 = ($705|0)<=($709|0); - if (!($710)) { + $707 = HEAP32[$k>>2]|0; + $708 = HEAP32[$pTab>>2]|0; + $709 = ((($708)) + 34|0); + $710 = HEAP16[$709>>1]|0; + $711 = $710 << 16 >> 16; + $712 = ($707|0)<=($711|0); + if (!($712)) { break L202; } - $711 = HEAP32[$k>>2]|0; - $712 = (($711) - 1)|0; - $713 = HEAP32[$pPk>>2]|0; - $714 = ((($713)) + 4|0); - $715 = HEAP32[$714>>2]|0; - $716 = (($715) + ($712<<1)|0); - $717 = HEAP16[$716>>1]|0; - $718 = $717 << 16 >> 16; - $719 = HEAP32[$i>>2]|0; - $720 = ($718|0)!=($719|0); - if (!($720)) { + $713 = HEAP32[$k>>2]|0; + $714 = (($713) - 1)|0; + $715 = HEAP32[$pPk>>2]|0; + $716 = ((($715)) + 4|0); + $717 = HEAP32[$716>>2]|0; + $718 = (($717) + ($714<<1)|0); + $719 = HEAP16[$718>>1]|0; + $720 = $719 << 16 >> 16; + $721 = HEAP32[$i>>2]|0; + $722 = ($720|0)!=($721|0); + if (!($722)) { break L202; } - $721 = HEAP32[$k>>2]|0; - $722 = (($721) + 1)|0; - HEAP32[$k>>2] = $722; + $723 = HEAP32[$k>>2]|0; + $724 = (($723) + 1)|0; + HEAP32[$k>>2] = $724; } } } while(0); - $723 = HEAP32[$v>>2]|0; - $724 = HEAP32[$i>>2]|0; - $725 = HEAP32[$nHidden>>2]|0; - $726 = (($724) - ($725))|0; - $727 = HEAP32[$pCol>>2]|0; - $728 = HEAP32[$727>>2]|0; + $725 = HEAP32[$v>>2]|0; + $726 = HEAP32[$i>>2]|0; + $727 = HEAP32[$nHidden>>2]|0; + $728 = (($726) - ($727))|0; $729 = HEAP32[$pCol>>2]|0; - $730 = ((($729)) + 12|0); - $731 = HEAP32[$730>>2]|0; - $732 = ($731|0)!=(0|0); - if ($732) { - $733 = HEAP32[$pCol>>2]|0; - $734 = ((($733)) + 12|0); - $735 = HEAP32[$734>>2]|0; - $746 = $735; + $730 = HEAP32[$729>>2]|0; + $731 = HEAP32[$pCol>>2]|0; + $732 = (_sqlite3ColumnType($731,19010)|0); + $733 = HEAP32[$pCol>>2]|0; + $734 = ((($733)) + 12|0); + $735 = HEAP8[$734>>0]|0; + $736 = $735&255; + $737 = ($736|0)!=(0); + $738 = $737 ? 1 : 0; + $739 = HEAP32[$pCol>>2]|0; + $740 = ((($739)) + 4|0); + $741 = HEAP32[$740>>2]|0; + $742 = ($741|0)!=(0|0); + if ($742) { + $743 = HEAP32[$pCol>>2]|0; + $744 = ((($743)) + 4|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($745)) + 8|0); + $747 = HEAP32[$746>>2]|0; + $749 = $747; } else { - $746 = 19266; + $749 = 0; } - $736 = HEAP32[$pCol>>2]|0; - $737 = ((($736)) + 20|0); - $738 = HEAP8[$737>>0]|0; - $739 = $738&255; - $740 = ($739|0)!=(0); - $741 = $740 ? 1 : 0; - $742 = HEAP32[$pCol>>2]|0; - $743 = ((($742)) + 8|0); - $744 = HEAP32[$743>>2]|0; - $745 = HEAP32[$k>>2]|0; - HEAP32[$vararg_buffer25>>2] = $726; + $748 = HEAP32[$k>>2]|0; + HEAP32[$vararg_buffer25>>2] = $728; $vararg_ptr28 = ((($vararg_buffer25)) + 4|0); - HEAP32[$vararg_ptr28>>2] = $728; + HEAP32[$vararg_ptr28>>2] = $730; $vararg_ptr29 = ((($vararg_buffer25)) + 8|0); - HEAP32[$vararg_ptr29>>2] = $746; + HEAP32[$vararg_ptr29>>2] = $732; $vararg_ptr30 = ((($vararg_buffer25)) + 12|0); - HEAP32[$vararg_ptr30>>2] = $741; + HEAP32[$vararg_ptr30>>2] = $738; $vararg_ptr31 = ((($vararg_buffer25)) + 16|0); - HEAP32[$vararg_ptr31>>2] = $744; + HEAP32[$vararg_ptr31>>2] = $749; $vararg_ptr32 = ((($vararg_buffer25)) + 20|0); - HEAP32[$vararg_ptr32>>2] = $745; - _sqlite3VdbeMultiLoad($723,1,33235,$vararg_buffer25); - $747 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($747,33,1,6)|0); + HEAP32[$vararg_ptr32>>2] = $748; + _sqlite3VdbeMultiLoad($725,1,32936,$vararg_buffer25); + $750 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($750,33,1,6)|0); } - $748 = HEAP32[$i>>2]|0; - $749 = (($748) + 1)|0; - HEAP32[$i>>2] = $749; - $750 = HEAP32[$pCol>>2]|0; - $751 = ((($750)) + 24|0); - HEAP32[$pCol>>2] = $751; + $751 = HEAP32[$i>>2]|0; + $752 = (($751) + 1)|0; + HEAP32[$i>>2] = $752; + $753 = HEAP32[$pCol>>2]|0; + $754 = ((($753)) + 16|0); + HEAP32[$pCol>>2] = $754; } break; } case 29: { - $752 = HEAP32[$0>>2]|0; - $753 = (_sqlite3GetVdbe($752)|0); - HEAP32[$v>>2] = $753; - $754 = HEAP32[$0>>2]|0; - $755 = ((($754)) + 76|0); - HEAP32[$755>>2] = 4; - $756 = HEAP32[$0>>2]|0; - $757 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($756,$757); - $758 = HEAP32[$v>>2]|0; - _setAllColumnNames($758,4,6032); - $759 = HEAP32[$pDb>>2]|0; - $760 = ((($759)) + 12|0); - $761 = HEAP32[$760>>2]|0; - $762 = ((($761)) + 8|0); - $763 = ((($762)) + 8|0); + $755 = HEAP32[$0>>2]|0; + $756 = (_sqlite3GetVdbe($755)|0); + HEAP32[$v>>2] = $756; + $757 = HEAP32[$0>>2]|0; + $758 = ((($757)) + 76|0); + HEAP32[$758>>2] = 4; + $759 = HEAP32[$0>>2]|0; + $760 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($759,$760); + $761 = HEAP32[$v>>2]|0; + _setAllColumnNames($761,4,6028); + $762 = HEAP32[$pDb>>2]|0; + $763 = ((($762)) + 12|0); $764 = HEAP32[$763>>2]|0; - HEAP32[$i12>>2] = $764; + $765 = ((($764)) + 8|0); + $766 = ((($765)) + 8|0); + $767 = HEAP32[$766>>2]|0; + HEAP32[$i12>>2] = $767; while(1) { - $765 = HEAP32[$i12>>2]|0; - $766 = ($765|0)!=(0|0); - if (!($766)) { + $768 = HEAP32[$i12>>2]|0; + $769 = ($768|0)!=(0|0); + if (!($769)) { break L21; } - $767 = HEAP32[$i12>>2]|0; - $768 = ((($767)) + 8|0); - $769 = HEAP32[$768>>2]|0; - HEAP32[$pTab13>>2] = $769; - $770 = HEAP32[$v>>2]|0; - $771 = HEAP32[$pTab13>>2]|0; + $770 = HEAP32[$i12>>2]|0; + $771 = ((($770)) + 8|0); $772 = HEAP32[$771>>2]|0; - $773 = HEAP32[$pTab13>>2]|0; - $774 = ((($773)) + 40|0); - $775 = HEAP16[$774>>1]|0; - $776 = (_sqlite3LogEstToInt($775)|0); - $777 = tempRet0; - $778 = HEAP32[$pTab13>>2]|0; - $779 = ((($778)) + 38|0); - $780 = HEAP16[$779>>1]|0; - $781 = (_sqlite3LogEstToInt($780)|0); - $782 = tempRet0; - HEAP32[$vararg_buffer33>>2] = $772; + HEAP32[$pTab13>>2] = $772; + $773 = HEAP32[$v>>2]|0; + $774 = HEAP32[$pTab13>>2]|0; + $775 = HEAP32[$774>>2]|0; + $776 = HEAP32[$pTab13>>2]|0; + $777 = ((($776)) + 40|0); + $778 = HEAP16[$777>>1]|0; + $779 = $778 << 16 >> 16; + $780 = HEAP32[$pTab13>>2]|0; + $781 = ((($780)) + 38|0); + $782 = HEAP16[$781>>1]|0; + $783 = $782 << 16 >> 16; + HEAP32[$vararg_buffer33>>2] = $775; $vararg_ptr36 = ((($vararg_buffer33)) + 4|0); HEAP32[$vararg_ptr36>>2] = 0; $vararg_ptr37 = ((($vararg_buffer33)) + 8|0); - HEAP32[$vararg_ptr37>>2] = $776; + HEAP32[$vararg_ptr37>>2] = $779; $vararg_ptr38 = ((($vararg_buffer33)) + 12|0); - HEAP32[$vararg_ptr38>>2] = $781; - _sqlite3VdbeMultiLoad($770,1,33242,$vararg_buffer33); - $783 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($783,33,1,4)|0); - $784 = HEAP32[$pTab13>>2]|0; - $785 = ((($784)) + 8|0); - $786 = HEAP32[$785>>2]|0; - HEAP32[$pIdx>>2] = $786; + HEAP32[$vararg_ptr38>>2] = $783; + _sqlite3VdbeMultiLoad($773,1,32943,$vararg_buffer33); + $784 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($784,33,1,4)|0); + $785 = HEAP32[$pTab13>>2]|0; + $786 = ((($785)) + 8|0); + $787 = HEAP32[$786>>2]|0; + HEAP32[$pIdx>>2] = $787; while(1) { - $787 = HEAP32[$pIdx>>2]|0; - $788 = ($787|0)!=(0|0); - if (!($788)) { + $788 = HEAP32[$pIdx>>2]|0; + $789 = ($788|0)!=(0|0); + if (!($789)) { break; } - $789 = HEAP32[$v>>2]|0; - $790 = HEAP32[$pIdx>>2]|0; - $791 = HEAP32[$790>>2]|0; - $792 = HEAP32[$pIdx>>2]|0; - $793 = ((($792)) + 48|0); - $794 = HEAP16[$793>>1]|0; - $795 = (_sqlite3LogEstToInt($794)|0); - $796 = tempRet0; + $790 = HEAP32[$v>>2]|0; + $791 = HEAP32[$pIdx>>2]|0; + $792 = HEAP32[$791>>2]|0; + $793 = HEAP32[$pIdx>>2]|0; + $794 = ((($793)) + 48|0); + $795 = HEAP16[$794>>1]|0; + $796 = $795 << 16 >> 16; $797 = HEAP32[$pIdx>>2]|0; $798 = ((($797)) + 8|0); $799 = HEAP32[$798>>2]|0; $800 = HEAP16[$799>>1]|0; - $801 = (_sqlite3LogEstToInt($800)|0); - $802 = tempRet0; - HEAP32[$vararg_buffer39>>2] = $791; + $801 = $800 << 16 >> 16; + HEAP32[$vararg_buffer39>>2] = $792; $vararg_ptr42 = ((($vararg_buffer39)) + 4|0); - HEAP32[$vararg_ptr42>>2] = $795; + HEAP32[$vararg_ptr42>>2] = $796; $vararg_ptr43 = ((($vararg_buffer39)) + 8|0); HEAP32[$vararg_ptr43>>2] = $801; - _sqlite3VdbeMultiLoad($789,2,33247,$vararg_buffer39); - $803 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($803,33,1,4)|0); - $804 = HEAP32[$pIdx>>2]|0; - $805 = ((($804)) + 20|0); - $806 = HEAP32[$805>>2]|0; - HEAP32[$pIdx>>2] = $806; + _sqlite3VdbeMultiLoad($790,2,32948,$vararg_buffer39); + $802 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($802,33,1,4)|0); + $803 = HEAP32[$pIdx>>2]|0; + $804 = ((($803)) + 20|0); + $805 = HEAP32[$804>>2]|0; + HEAP32[$pIdx>>2] = $805; } - $807 = HEAP32[$i12>>2]|0; - $808 = HEAP32[$807>>2]|0; - HEAP32[$i12>>2] = $808; + $806 = HEAP32[$i12>>2]|0; + $807 = HEAP32[$806>>2]|0; + HEAP32[$i12>>2] = $807; } break; } case 16: { - $809 = HEAP32[$zRight>>2]|0; - $810 = ($809|0)!=(0|0); - if (!($810)) { + $808 = HEAP32[$zRight>>2]|0; + $809 = ($808|0)!=(0|0); + if (!($809)) { break L21; } - $811 = HEAP32[$db>>2]|0; - $812 = HEAP32[$zRight>>2]|0; - $813 = HEAP32[$zDb>>2]|0; - $814 = (_sqlite3FindIndex($811,$812,$813)|0); - HEAP32[$pIdx14>>2] = $814; - $815 = HEAP32[$pIdx14>>2]|0; - $816 = ($815|0)!=(0|0); - if (!($816)) { + $810 = HEAP32[$db>>2]|0; + $811 = HEAP32[$zRight>>2]|0; + $812 = HEAP32[$zDb>>2]|0; + $813 = (_sqlite3FindIndex($810,$811,$812)|0); + HEAP32[$pIdx14>>2] = $813; + $814 = HEAP32[$pIdx14>>2]|0; + $815 = ($814|0)!=(0|0); + if (!($815)) { break L21; } - $817 = HEAP32[$pPragma>>2]|0; - $818 = ((($817)) + 8|0); - $819 = HEAP32[$818>>2]|0; - $820 = ($819|0)!=(0); - $821 = HEAP32[$pIdx14>>2]|0; - if ($820) { - $822 = ((($821)) + 52|0); - $823 = HEAP16[$822>>1]|0; - $824 = $823&65535; - HEAP32[$mx>>2] = $824; - $825 = HEAP32[$0>>2]|0; - $826 = ((($825)) + 76|0); - HEAP32[$826>>2] = 6; + $816 = HEAP32[$pPragma>>2]|0; + $817 = ((($816)) + 8|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)!=(0); + $820 = HEAP32[$pIdx14>>2]|0; + if ($819) { + $821 = ((($820)) + 52|0); + $822 = HEAP16[$821>>1]|0; + $823 = $822&65535; + HEAP32[$mx>>2] = $823; + $824 = HEAP32[$0>>2]|0; + $825 = ((($824)) + 76|0); + HEAP32[$825>>2] = 6; } else { - $827 = ((($821)) + 50|0); - $828 = HEAP16[$827>>1]|0; - $829 = $828&65535; - HEAP32[$mx>>2] = $829; - $830 = HEAP32[$0>>2]|0; - $831 = ((($830)) + 76|0); - HEAP32[$831>>2] = 3; + $826 = ((($820)) + 50|0); + $827 = HEAP16[$826>>1]|0; + $828 = $827&65535; + HEAP32[$mx>>2] = $828; + $829 = HEAP32[$0>>2]|0; + $830 = ((($829)) + 76|0); + HEAP32[$830>>2] = 3; } - $832 = HEAP32[$pIdx14>>2]|0; - $833 = ((($832)) + 12|0); - $834 = HEAP32[$833>>2]|0; - HEAP32[$pTab15>>2] = $834; - $835 = HEAP32[$0>>2]|0; - $836 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($835,$836); - $837 = HEAP32[$v>>2]|0; - $838 = HEAP32[$0>>2]|0; - $839 = ((($838)) + 76|0); - $840 = HEAP32[$839>>2]|0; - _setAllColumnNames($837,$840,6048); + $831 = HEAP32[$pIdx14>>2]|0; + $832 = ((($831)) + 12|0); + $833 = HEAP32[$832>>2]|0; + HEAP32[$pTab15>>2] = $833; + $834 = HEAP32[$0>>2]|0; + $835 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($834,$835); + $836 = HEAP32[$v>>2]|0; + $837 = HEAP32[$0>>2]|0; + $838 = ((($837)) + 76|0); + $839 = HEAP32[$838>>2]|0; + _setAllColumnNames($836,$839,6044); HEAP32[$i16>>2] = 0; while(1) { - $841 = HEAP32[$i16>>2]|0; - $842 = HEAP32[$mx>>2]|0; - $843 = ($841|0)<($842|0); - if (!($843)) { + $840 = HEAP32[$i16>>2]|0; + $841 = HEAP32[$mx>>2]|0; + $842 = ($840|0)<($841|0); + if (!($842)) { break L21; } - $844 = HEAP32[$i16>>2]|0; - $845 = HEAP32[$pIdx14>>2]|0; - $846 = ((($845)) + 4|0); - $847 = HEAP32[$846>>2]|0; - $848 = (($847) + ($844<<1)|0); - $849 = HEAP16[$848>>1]|0; - HEAP16[$cnum>>1] = $849; - $850 = HEAP32[$v>>2]|0; - $851 = HEAP32[$i16>>2]|0; - $852 = HEAP16[$cnum>>1]|0; - $853 = $852 << 16 >> 16; - $854 = HEAP16[$cnum>>1]|0; - $855 = $854 << 16 >> 16; - $856 = ($855|0)<(0); - if ($856) { - $864 = 0; + $843 = HEAP32[$i16>>2]|0; + $844 = HEAP32[$pIdx14>>2]|0; + $845 = ((($844)) + 4|0); + $846 = HEAP32[$845>>2]|0; + $847 = (($846) + ($843<<1)|0); + $848 = HEAP16[$847>>1]|0; + HEAP16[$cnum>>1] = $848; + $849 = HEAP32[$v>>2]|0; + $850 = HEAP32[$i16>>2]|0; + $851 = HEAP16[$cnum>>1]|0; + $852 = $851 << 16 >> 16; + $853 = HEAP16[$cnum>>1]|0; + $854 = $853 << 16 >> 16; + $855 = ($854|0)<(0); + if ($855) { + $863 = 0; } else { - $857 = HEAP16[$cnum>>1]|0; - $858 = $857 << 16 >> 16; - $859 = HEAP32[$pTab15>>2]|0; - $860 = ((($859)) + 4|0); - $861 = HEAP32[$860>>2]|0; - $862 = (($861) + (($858*24)|0)|0); - $863 = HEAP32[$862>>2]|0; - $864 = $863; + $856 = HEAP16[$cnum>>1]|0; + $857 = $856 << 16 >> 16; + $858 = HEAP32[$pTab15>>2]|0; + $859 = ((($858)) + 4|0); + $860 = HEAP32[$859>>2]|0; + $861 = (($860) + ($857<<4)|0); + $862 = HEAP32[$861>>2]|0; + $863 = $862; } - HEAP32[$vararg_buffer44>>2] = $851; + HEAP32[$vararg_buffer44>>2] = $850; $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); - HEAP32[$vararg_ptr47>>2] = $853; + HEAP32[$vararg_ptr47>>2] = $852; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); - HEAP32[$vararg_ptr48>>2] = $864; - _sqlite3VdbeMultiLoad($850,1,33251,$vararg_buffer44); - $865 = HEAP32[$pPragma>>2]|0; - $866 = ((($865)) + 8|0); - $867 = HEAP32[$866>>2]|0; - $868 = ($867|0)!=(0); - if ($868) { - $869 = HEAP32[$v>>2]|0; - $870 = HEAP32[$i16>>2]|0; - $871 = HEAP32[$pIdx14>>2]|0; - $872 = ((($871)) + 28|0); - $873 = HEAP32[$872>>2]|0; - $874 = (($873) + ($870)|0); - $875 = HEAP8[$874>>0]|0; - $876 = $875&255; - $877 = HEAP32[$i16>>2]|0; - $878 = HEAP32[$pIdx14>>2]|0; - $879 = ((($878)) + 32|0); - $880 = HEAP32[$879>>2]|0; - $881 = (($880) + ($877<<2)|0); - $882 = HEAP32[$881>>2]|0; - $883 = HEAP32[$i16>>2]|0; - $884 = HEAP32[$pIdx14>>2]|0; - $885 = ((($884)) + 50|0); - $886 = HEAP16[$885>>1]|0; - $887 = $886&65535; - $888 = ($883|0)<($887|0); - $889 = $888&1; - HEAP32[$vararg_buffer49>>2] = $876; + HEAP32[$vararg_ptr48>>2] = $863; + _sqlite3VdbeMultiLoad($849,1,32952,$vararg_buffer44); + $864 = HEAP32[$pPragma>>2]|0; + $865 = ((($864)) + 8|0); + $866 = HEAP32[$865>>2]|0; + $867 = ($866|0)!=(0); + if ($867) { + $868 = HEAP32[$v>>2]|0; + $869 = HEAP32[$i16>>2]|0; + $870 = HEAP32[$pIdx14>>2]|0; + $871 = ((($870)) + 28|0); + $872 = HEAP32[$871>>2]|0; + $873 = (($872) + ($869)|0); + $874 = HEAP8[$873>>0]|0; + $875 = $874&255; + $876 = HEAP32[$i16>>2]|0; + $877 = HEAP32[$pIdx14>>2]|0; + $878 = ((($877)) + 32|0); + $879 = HEAP32[$878>>2]|0; + $880 = (($879) + ($876<<2)|0); + $881 = HEAP32[$880>>2]|0; + $882 = HEAP32[$i16>>2]|0; + $883 = HEAP32[$pIdx14>>2]|0; + $884 = ((($883)) + 50|0); + $885 = HEAP16[$884>>1]|0; + $886 = $885&65535; + $887 = ($882|0)<($886|0); + $888 = $887&1; + HEAP32[$vararg_buffer49>>2] = $875; $vararg_ptr52 = ((($vararg_buffer49)) + 4|0); - HEAP32[$vararg_ptr52>>2] = $882; + HEAP32[$vararg_ptr52>>2] = $881; $vararg_ptr53 = ((($vararg_buffer49)) + 8|0); - HEAP32[$vararg_ptr53>>2] = $889; - _sqlite3VdbeMultiLoad($869,4,33255,$vararg_buffer49); + HEAP32[$vararg_ptr53>>2] = $888; + _sqlite3VdbeMultiLoad($868,4,32956,$vararg_buffer49); } - $890 = HEAP32[$v>>2]|0; - $891 = HEAP32[$0>>2]|0; - $892 = ((($891)) + 76|0); - $893 = HEAP32[$892>>2]|0; - (_sqlite3VdbeAddOp2($890,33,1,$893)|0); - $894 = HEAP32[$i16>>2]|0; - $895 = (($894) + 1)|0; - HEAP32[$i16>>2] = $895; + $889 = HEAP32[$v>>2]|0; + $890 = HEAP32[$0>>2]|0; + $891 = ((($890)) + 76|0); + $892 = HEAP32[$891>>2]|0; + (_sqlite3VdbeAddOp2($889,33,1,$892)|0); + $893 = HEAP32[$i16>>2]|0; + $894 = (($893) + 1)|0; + HEAP32[$i16>>2] = $894; } break; } case 17: { - $896 = HEAP32[$zRight>>2]|0; - $897 = ($896|0)!=(0|0); - if (!($897)) { + $895 = HEAP32[$zRight>>2]|0; + $896 = ($895|0)!=(0|0); + if (!($896)) { break L21; } - $898 = HEAP32[$db>>2]|0; - $899 = HEAP32[$zRight>>2]|0; - $900 = HEAP32[$zDb>>2]|0; - $901 = (_sqlite3FindTable($898,$899,$900)|0); - HEAP32[$pTab18>>2] = $901; - $902 = HEAP32[$pTab18>>2]|0; - $903 = ($902|0)!=(0|0); - if (!($903)) { + $897 = HEAP32[$db>>2]|0; + $898 = HEAP32[$zRight>>2]|0; + $899 = HEAP32[$zDb>>2]|0; + $900 = (_sqlite3FindTable($897,$898,$899)|0); + HEAP32[$pTab18>>2] = $900; + $901 = HEAP32[$pTab18>>2]|0; + $902 = ($901|0)!=(0|0); + if (!($902)) { break L21; } - $904 = HEAP32[$0>>2]|0; - $905 = (_sqlite3GetVdbe($904)|0); - HEAP32[$v>>2] = $905; - $906 = HEAP32[$0>>2]|0; - $907 = ((($906)) + 76|0); - HEAP32[$907>>2] = 5; - $908 = HEAP32[$0>>2]|0; - $909 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($908,$909); - $910 = HEAP32[$v>>2]|0; - _setAllColumnNames($910,5,6072); - $911 = HEAP32[$pTab18>>2]|0; - $912 = ((($911)) + 8|0); - $913 = HEAP32[$912>>2]|0; - HEAP32[$pIdx17>>2] = $913; + $903 = HEAP32[$0>>2]|0; + $904 = (_sqlite3GetVdbe($903)|0); + HEAP32[$v>>2] = $904; + $905 = HEAP32[$0>>2]|0; + $906 = ((($905)) + 76|0); + HEAP32[$906>>2] = 5; + $907 = HEAP32[$0>>2]|0; + $908 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($907,$908); + $909 = HEAP32[$v>>2]|0; + _setAllColumnNames($909,5,6068); + $910 = HEAP32[$pTab18>>2]|0; + $911 = ((($910)) + 8|0); + $912 = HEAP32[$911>>2]|0; + HEAP32[$pIdx17>>2] = $912; HEAP32[$i19>>2] = 0; while(1) { - $914 = HEAP32[$pIdx17>>2]|0; - $915 = ($914|0)!=(0|0); - if (!($915)) { + $913 = HEAP32[$pIdx17>>2]|0; + $914 = ($913|0)!=(0|0); + if (!($914)) { break L21; } - ;HEAP32[$azOrigin>>2]=HEAP32[6092>>2]|0;HEAP32[$azOrigin+4>>2]=HEAP32[6092+4>>2]|0;HEAP32[$azOrigin+8>>2]=HEAP32[6092+8>>2]|0; - $916 = HEAP32[$v>>2]|0; - $917 = HEAP32[$i19>>2]|0; - $918 = HEAP32[$pIdx17>>2]|0; - $919 = HEAP32[$918>>2]|0; - $920 = HEAP32[$pIdx17>>2]|0; - $921 = ((($920)) + 54|0); - $922 = HEAP8[$921>>0]|0; - $923 = $922&255; - $924 = ($923|0)!=(0); - $925 = $924&1; - $926 = HEAP32[$pIdx17>>2]|0; - $927 = ((($926)) + 55|0); - $928 = HEAP8[$927>>0]|0; - $929 = $928 & 3; - $930 = $929&255; - $931 = (($azOrigin) + ($930<<2)|0); - $932 = HEAP32[$931>>2]|0; - $933 = HEAP32[$pIdx17>>2]|0; - $934 = ((($933)) + 36|0); - $935 = HEAP32[$934>>2]|0; - $936 = ($935|0)!=(0|0); - $937 = $936&1; - HEAP32[$vararg_buffer54>>2] = $917; + ;HEAP32[$azOrigin>>2]=HEAP32[6088>>2]|0;HEAP32[$azOrigin+4>>2]=HEAP32[6088+4>>2]|0;HEAP32[$azOrigin+8>>2]=HEAP32[6088+8>>2]|0; + $915 = HEAP32[$v>>2]|0; + $916 = HEAP32[$i19>>2]|0; + $917 = HEAP32[$pIdx17>>2]|0; + $918 = HEAP32[$917>>2]|0; + $919 = HEAP32[$pIdx17>>2]|0; + $920 = ((($919)) + 54|0); + $921 = HEAP8[$920>>0]|0; + $922 = $921&255; + $923 = ($922|0)!=(0); + $924 = $923&1; + $925 = HEAP32[$pIdx17>>2]|0; + $926 = ((($925)) + 55|0); + $927 = HEAP8[$926>>0]|0; + $928 = $927 & 3; + $929 = $928&255; + $930 = (($azOrigin) + ($929<<2)|0); + $931 = HEAP32[$930>>2]|0; + $932 = HEAP32[$pIdx17>>2]|0; + $933 = ((($932)) + 36|0); + $934 = HEAP32[$933>>2]|0; + $935 = ($934|0)!=(0|0); + $936 = $935&1; + HEAP32[$vararg_buffer54>>2] = $916; $vararg_ptr57 = ((($vararg_buffer54)) + 4|0); - HEAP32[$vararg_ptr57>>2] = $919; + HEAP32[$vararg_ptr57>>2] = $918; $vararg_ptr58 = ((($vararg_buffer54)) + 8|0); - HEAP32[$vararg_ptr58>>2] = $925; + HEAP32[$vararg_ptr58>>2] = $924; $vararg_ptr59 = ((($vararg_buffer54)) + 12|0); - HEAP32[$vararg_ptr59>>2] = $932; + HEAP32[$vararg_ptr59>>2] = $931; $vararg_ptr60 = ((($vararg_buffer54)) + 16|0); - HEAP32[$vararg_ptr60>>2] = $937; - _sqlite3VdbeMultiLoad($916,1,33259,$vararg_buffer54); - $938 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($938,33,1,5)|0); - $939 = HEAP32[$pIdx17>>2]|0; - $940 = ((($939)) + 20|0); - $941 = HEAP32[$940>>2]|0; - HEAP32[$pIdx17>>2] = $941; - $942 = HEAP32[$i19>>2]|0; - $943 = (($942) + 1)|0; - HEAP32[$i19>>2] = $943; + HEAP32[$vararg_ptr60>>2] = $936; + _sqlite3VdbeMultiLoad($915,1,32960,$vararg_buffer54); + $937 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($937,33,1,5)|0); + $938 = HEAP32[$pIdx17>>2]|0; + $939 = ((($938)) + 20|0); + $940 = HEAP32[$939>>2]|0; + HEAP32[$pIdx17>>2] = $940; + $941 = HEAP32[$i19>>2]|0; + $942 = (($941) + 1)|0; + HEAP32[$i19>>2] = $942; } break; } case 10: { - $944 = HEAP32[$0>>2]|0; - $945 = ((($944)) + 76|0); - HEAP32[$945>>2] = 3; - $946 = HEAP32[$v>>2]|0; - _setAllColumnNames($946,3,6104); + $943 = HEAP32[$0>>2]|0; + $944 = ((($943)) + 76|0); + HEAP32[$944>>2] = 3; + $945 = HEAP32[$v>>2]|0; + _setAllColumnNames($945,3,6100); HEAP32[$i20>>2] = 0; while(1) { - $947 = HEAP32[$i20>>2]|0; - $948 = HEAP32[$db>>2]|0; - $949 = ((($948)) + 20|0); - $950 = HEAP32[$949>>2]|0; - $951 = ($947|0)<($950|0); - if (!($951)) { + $946 = HEAP32[$i20>>2]|0; + $947 = HEAP32[$db>>2]|0; + $948 = ((($947)) + 20|0); + $949 = HEAP32[$948>>2]|0; + $950 = ($946|0)<($949|0); + if (!($950)) { break L21; } - $952 = HEAP32[$i20>>2]|0; - $953 = HEAP32[$db>>2]|0; - $954 = ((($953)) + 16|0); - $955 = HEAP32[$954>>2]|0; - $956 = (($955) + ($952<<4)|0); - $957 = ((($956)) + 4|0); - $958 = HEAP32[$957>>2]|0; - $959 = ($958|0)==(0|0); - if (!($959)) { - $960 = HEAP32[$v>>2]|0; + $951 = HEAP32[$i20>>2]|0; + $952 = HEAP32[$db>>2]|0; + $953 = ((($952)) + 16|0); + $954 = HEAP32[$953>>2]|0; + $955 = (($954) + ($951<<4)|0); + $956 = ((($955)) + 4|0); + $957 = HEAP32[$956>>2]|0; + $958 = ($957|0)==(0|0); + if (!($958)) { + $959 = HEAP32[$v>>2]|0; + $960 = HEAP32[$i20>>2]|0; $961 = HEAP32[$i20>>2]|0; - $962 = HEAP32[$i20>>2]|0; - $963 = HEAP32[$db>>2]|0; - $964 = ((($963)) + 16|0); - $965 = HEAP32[$964>>2]|0; - $966 = (($965) + ($962<<4)|0); - $967 = HEAP32[$966>>2]|0; - $968 = HEAP32[$i20>>2]|0; - $969 = HEAP32[$db>>2]|0; - $970 = ((($969)) + 16|0); - $971 = HEAP32[$970>>2]|0; - $972 = (($971) + ($968<<4)|0); - $973 = ((($972)) + 4|0); - $974 = HEAP32[$973>>2]|0; - $975 = (_sqlite3BtreeGetFilename($974)|0); - HEAP32[$vararg_buffer61>>2] = $961; + $962 = HEAP32[$db>>2]|0; + $963 = ((($962)) + 16|0); + $964 = HEAP32[$963>>2]|0; + $965 = (($964) + ($961<<4)|0); + $966 = HEAP32[$965>>2]|0; + $967 = HEAP32[$i20>>2]|0; + $968 = HEAP32[$db>>2]|0; + $969 = ((($968)) + 16|0); + $970 = HEAP32[$969>>2]|0; + $971 = (($970) + ($967<<4)|0); + $972 = ((($971)) + 4|0); + $973 = HEAP32[$972>>2]|0; + $974 = (_sqlite3BtreeGetFilename($973)|0); + HEAP32[$vararg_buffer61>>2] = $960; $vararg_ptr64 = ((($vararg_buffer61)) + 4|0); - HEAP32[$vararg_ptr64>>2] = $967; + HEAP32[$vararg_ptr64>>2] = $966; $vararg_ptr65 = ((($vararg_buffer61)) + 8|0); - HEAP32[$vararg_ptr65>>2] = $975; - _sqlite3VdbeMultiLoad($960,1,33265,$vararg_buffer61); - $976 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($976,33,1,3)|0); + HEAP32[$vararg_ptr65>>2] = $974; + _sqlite3VdbeMultiLoad($959,1,32966,$vararg_buffer61); + $975 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($975,33,1,3)|0); } - $977 = HEAP32[$i20>>2]|0; - $978 = (($977) + 1)|0; - HEAP32[$i20>>2] = $978; + $976 = HEAP32[$i20>>2]|0; + $977 = (($976) + 1)|0; + HEAP32[$i20>>2] = $977; } break; } case 7: { HEAP32[$i21>>2] = 0; - $979 = HEAP32[$0>>2]|0; - $980 = ((($979)) + 76|0); - HEAP32[$980>>2] = 2; - $981 = HEAP32[$v>>2]|0; - _setAllColumnNames($981,2,6116); - $982 = HEAP32[$db>>2]|0; - $983 = ((($982)) + 432|0); - $984 = ((($983)) + 8|0); - $985 = HEAP32[$984>>2]|0; - HEAP32[$p>>2] = $985; + $978 = HEAP32[$0>>2]|0; + $979 = ((($978)) + 76|0); + HEAP32[$979>>2] = 2; + $980 = HEAP32[$v>>2]|0; + _setAllColumnNames($980,2,6112); + $981 = HEAP32[$db>>2]|0; + $982 = ((($981)) + 364|0); + $983 = ((($982)) + 8|0); + $984 = HEAP32[$983>>2]|0; + HEAP32[$p>>2] = $984; while(1) { - $986 = HEAP32[$p>>2]|0; - $987 = ($986|0)!=(0|0); - if (!($987)) { + $985 = HEAP32[$p>>2]|0; + $986 = ($985|0)!=(0|0); + if (!($986)) { break L21; } - $988 = HEAP32[$p>>2]|0; - $989 = ((($988)) + 8|0); - $990 = HEAP32[$989>>2]|0; - HEAP32[$pColl>>2] = $990; - $991 = HEAP32[$v>>2]|0; - $992 = HEAP32[$i21>>2]|0; - $993 = (($992) + 1)|0; - HEAP32[$i21>>2] = $993; - $994 = HEAP32[$pColl>>2]|0; - $995 = HEAP32[$994>>2]|0; - HEAP32[$vararg_buffer66>>2] = $992; + $987 = HEAP32[$p>>2]|0; + $988 = ((($987)) + 8|0); + $989 = HEAP32[$988>>2]|0; + HEAP32[$pColl>>2] = $989; + $990 = HEAP32[$v>>2]|0; + $991 = HEAP32[$i21>>2]|0; + $992 = (($991) + 1)|0; + HEAP32[$i21>>2] = $992; + $993 = HEAP32[$pColl>>2]|0; + $994 = HEAP32[$993>>2]|0; + HEAP32[$vararg_buffer66>>2] = $991; $vararg_ptr69 = ((($vararg_buffer66)) + 4|0); - HEAP32[$vararg_ptr69>>2] = $995; - _sqlite3VdbeMultiLoad($991,1,33269,$vararg_buffer66); - $996 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($996,33,1,2)|0); - $997 = HEAP32[$p>>2]|0; - $998 = HEAP32[$997>>2]|0; - HEAP32[$p>>2] = $998; + HEAP32[$vararg_ptr69>>2] = $994; + _sqlite3VdbeMultiLoad($990,1,32970,$vararg_buffer66); + $995 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($995,33,1,2)|0); + $996 = HEAP32[$p>>2]|0; + $997 = HEAP32[$996>>2]|0; + HEAP32[$p>>2] = $997; } break; } case 14: { - $999 = HEAP32[$zRight>>2]|0; - $1000 = ($999|0)!=(0|0); - if (!($1000)) { + $998 = HEAP32[$zRight>>2]|0; + $999 = ($998|0)!=(0|0); + if (!($999)) { break L21; } - $1001 = HEAP32[$db>>2]|0; - $1002 = HEAP32[$zRight>>2]|0; - $1003 = HEAP32[$zDb>>2]|0; - $1004 = (_sqlite3FindTable($1001,$1002,$1003)|0); - HEAP32[$pTab22>>2] = $1004; - $1005 = HEAP32[$pTab22>>2]|0; - $1006 = ($1005|0)!=(0|0); - if (!($1006)) { + $1000 = HEAP32[$db>>2]|0; + $1001 = HEAP32[$zRight>>2]|0; + $1002 = HEAP32[$zDb>>2]|0; + $1003 = (_sqlite3FindTable($1000,$1001,$1002)|0); + HEAP32[$pTab22>>2] = $1003; + $1004 = HEAP32[$pTab22>>2]|0; + $1005 = ($1004|0)!=(0|0); + if (!($1005)) { break L21; } - $1007 = HEAP32[$0>>2]|0; - $1008 = (_sqlite3GetVdbe($1007)|0); - HEAP32[$v>>2] = $1008; - $1009 = HEAP32[$pTab22>>2]|0; - $1010 = ((($1009)) + 16|0); - $1011 = HEAP32[$1010>>2]|0; - HEAP32[$pFK>>2] = $1011; - $1012 = HEAP32[$pFK>>2]|0; - $1013 = ($1012|0)!=(0|0); - if (!($1013)) { + $1006 = HEAP32[$0>>2]|0; + $1007 = (_sqlite3GetVdbe($1006)|0); + HEAP32[$v>>2] = $1007; + $1008 = HEAP32[$pTab22>>2]|0; + $1009 = ((($1008)) + 16|0); + $1010 = HEAP32[$1009>>2]|0; + HEAP32[$pFK>>2] = $1010; + $1011 = HEAP32[$pFK>>2]|0; + $1012 = ($1011|0)!=(0|0); + if (!($1012)) { break L21; } HEAP32[$i23>>2] = 0; - $1014 = HEAP32[$0>>2]|0; - $1015 = ((($1014)) + 76|0); - HEAP32[$1015>>2] = 8; - $1016 = HEAP32[$0>>2]|0; - $1017 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($1016,$1017); - $1018 = HEAP32[$v>>2]|0; - _setAllColumnNames($1018,8,6124); + $1013 = HEAP32[$0>>2]|0; + $1014 = ((($1013)) + 76|0); + HEAP32[$1014>>2] = 8; + $1015 = HEAP32[$0>>2]|0; + $1016 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($1015,$1016); + $1017 = HEAP32[$v>>2]|0; + _setAllColumnNames($1017,8,6120); while(1) { - $1019 = HEAP32[$pFK>>2]|0; - $1020 = ($1019|0)!=(0|0); - if (!($1020)) { + $1018 = HEAP32[$pFK>>2]|0; + $1019 = ($1018|0)!=(0|0); + if (!($1019)) { break L21; } HEAP32[$j>>2] = 0; while(1) { - $1021 = HEAP32[$j>>2]|0; - $1022 = HEAP32[$pFK>>2]|0; - $1023 = ((($1022)) + 20|0); - $1024 = HEAP32[$1023>>2]|0; - $1025 = ($1021|0)<($1024|0); - if (!($1025)) { + $1020 = HEAP32[$j>>2]|0; + $1021 = HEAP32[$pFK>>2]|0; + $1022 = ((($1021)) + 20|0); + $1023 = HEAP32[$1022>>2]|0; + $1024 = ($1020|0)<($1023|0); + if (!($1024)) { break; } - $1026 = HEAP32[$v>>2]|0; - $1027 = HEAP32[$i23>>2]|0; - $1028 = HEAP32[$j>>2]|0; - $1029 = HEAP32[$pFK>>2]|0; - $1030 = ((($1029)) + 8|0); - $1031 = HEAP32[$1030>>2]|0; - $1032 = HEAP32[$j>>2]|0; - $1033 = HEAP32[$pFK>>2]|0; - $1034 = ((($1033)) + 36|0); - $1035 = (($1034) + ($1032<<3)|0); - $1036 = HEAP32[$1035>>2]|0; - $1037 = HEAP32[$pTab22>>2]|0; - $1038 = ((($1037)) + 4|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = (($1039) + (($1036*24)|0)|0); - $1041 = HEAP32[$1040>>2]|0; - $1042 = HEAP32[$j>>2]|0; - $1043 = HEAP32[$pFK>>2]|0; - $1044 = ((($1043)) + 36|0); - $1045 = (($1044) + ($1042<<3)|0); - $1046 = ((($1045)) + 4|0); - $1047 = HEAP32[$1046>>2]|0; - $1048 = HEAP32[$pFK>>2]|0; - $1049 = ((($1048)) + 25|0); - $1050 = ((($1049)) + 1|0); - $1051 = HEAP8[$1050>>0]|0; - $1052 = (_actionName($1051)|0); - $1053 = HEAP32[$pFK>>2]|0; - $1054 = ((($1053)) + 25|0); - $1055 = HEAP8[$1054>>0]|0; - $1056 = (_actionName($1055)|0); - HEAP32[$vararg_buffer70>>2] = $1027; + $1025 = HEAP32[$v>>2]|0; + $1026 = HEAP32[$i23>>2]|0; + $1027 = HEAP32[$j>>2]|0; + $1028 = HEAP32[$pFK>>2]|0; + $1029 = ((($1028)) + 8|0); + $1030 = HEAP32[$1029>>2]|0; + $1031 = HEAP32[$j>>2]|0; + $1032 = HEAP32[$pFK>>2]|0; + $1033 = ((($1032)) + 36|0); + $1034 = (($1033) + ($1031<<3)|0); + $1035 = HEAP32[$1034>>2]|0; + $1036 = HEAP32[$pTab22>>2]|0; + $1037 = ((($1036)) + 4|0); + $1038 = HEAP32[$1037>>2]|0; + $1039 = (($1038) + ($1035<<4)|0); + $1040 = HEAP32[$1039>>2]|0; + $1041 = HEAP32[$j>>2]|0; + $1042 = HEAP32[$pFK>>2]|0; + $1043 = ((($1042)) + 36|0); + $1044 = (($1043) + ($1041<<3)|0); + $1045 = ((($1044)) + 4|0); + $1046 = HEAP32[$1045>>2]|0; + $1047 = HEAP32[$pFK>>2]|0; + $1048 = ((($1047)) + 25|0); + $1049 = ((($1048)) + 1|0); + $1050 = HEAP8[$1049>>0]|0; + $1051 = (_actionName($1050)|0); + $1052 = HEAP32[$pFK>>2]|0; + $1053 = ((($1052)) + 25|0); + $1054 = HEAP8[$1053>>0]|0; + $1055 = (_actionName($1054)|0); + HEAP32[$vararg_buffer70>>2] = $1026; $vararg_ptr73 = ((($vararg_buffer70)) + 4|0); - HEAP32[$vararg_ptr73>>2] = $1028; + HEAP32[$vararg_ptr73>>2] = $1027; $vararg_ptr74 = ((($vararg_buffer70)) + 8|0); - HEAP32[$vararg_ptr74>>2] = $1031; + HEAP32[$vararg_ptr74>>2] = $1030; $vararg_ptr75 = ((($vararg_buffer70)) + 12|0); - HEAP32[$vararg_ptr75>>2] = $1041; + HEAP32[$vararg_ptr75>>2] = $1040; $vararg_ptr76 = ((($vararg_buffer70)) + 16|0); - HEAP32[$vararg_ptr76>>2] = $1047; + HEAP32[$vararg_ptr76>>2] = $1046; $vararg_ptr77 = ((($vararg_buffer70)) + 20|0); - HEAP32[$vararg_ptr77>>2] = $1052; + HEAP32[$vararg_ptr77>>2] = $1051; $vararg_ptr78 = ((($vararg_buffer70)) + 24|0); - HEAP32[$vararg_ptr78>>2] = $1056; + HEAP32[$vararg_ptr78>>2] = $1055; $vararg_ptr79 = ((($vararg_buffer70)) + 28|0); - HEAP32[$vararg_ptr79>>2] = 33281; - _sqlite3VdbeMultiLoad($1026,1,33272,$vararg_buffer70); - $1057 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1057,33,1,8)|0); - $1058 = HEAP32[$j>>2]|0; - $1059 = (($1058) + 1)|0; - HEAP32[$j>>2] = $1059; + HEAP32[$vararg_ptr79>>2] = 32982; + _sqlite3VdbeMultiLoad($1025,1,32973,$vararg_buffer70); + $1056 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1056,33,1,8)|0); + $1057 = HEAP32[$j>>2]|0; + $1058 = (($1057) + 1)|0; + HEAP32[$j>>2] = $1058; } - $1060 = HEAP32[$i23>>2]|0; - $1061 = (($1060) + 1)|0; - HEAP32[$i23>>2] = $1061; - $1062 = HEAP32[$pFK>>2]|0; - $1063 = ((($1062)) + 4|0); - $1064 = HEAP32[$1063>>2]|0; - HEAP32[$pFK>>2] = $1064; + $1059 = HEAP32[$i23>>2]|0; + $1060 = (($1059) + 1)|0; + HEAP32[$i23>>2] = $1060; + $1061 = HEAP32[$pFK>>2]|0; + $1062 = ((($1061)) + 4|0); + $1063 = HEAP32[$1062>>2]|0; + HEAP32[$pFK>>2] = $1063; } break; } case 13: { - $1065 = HEAP32[$0>>2]|0; - $1066 = ((($1065)) + 76|0); - $1067 = HEAP32[$1066>>2]|0; - $1068 = (($1067) + 1)|0; - HEAP32[$regResult>>2] = $1068; - $1069 = HEAP32[$0>>2]|0; - $1070 = ((($1069)) + 76|0); - $1071 = HEAP32[$1070>>2]|0; - $1072 = (($1071) + 4)|0; - HEAP32[$1070>>2] = $1072; - $1073 = HEAP32[$0>>2]|0; - $1074 = ((($1073)) + 76|0); - $1075 = HEAP32[$1074>>2]|0; - $1076 = (($1075) + 1)|0; - HEAP32[$1074>>2] = $1076; - HEAP32[$regKey>>2] = $1076; - $1077 = HEAP32[$0>>2]|0; - $1078 = ((($1077)) + 76|0); - $1079 = HEAP32[$1078>>2]|0; - $1080 = (($1079) + 1)|0; - HEAP32[$1078>>2] = $1080; - HEAP32[$regRow>>2] = $1080; - $1081 = HEAP32[$0>>2]|0; - $1082 = (_sqlite3GetVdbe($1081)|0); - HEAP32[$v>>2] = $1082; - $1083 = HEAP32[$v>>2]|0; - _setAllColumnNames($1083,4,6156); - $1084 = HEAP32[$0>>2]|0; + $1064 = HEAP32[$0>>2]|0; + $1065 = ((($1064)) + 76|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = (($1066) + 1)|0; + HEAP32[$regResult>>2] = $1067; + $1068 = HEAP32[$0>>2]|0; + $1069 = ((($1068)) + 76|0); + $1070 = HEAP32[$1069>>2]|0; + $1071 = (($1070) + 4)|0; + HEAP32[$1069>>2] = $1071; + $1072 = HEAP32[$0>>2]|0; + $1073 = ((($1072)) + 76|0); + $1074 = HEAP32[$1073>>2]|0; + $1075 = (($1074) + 1)|0; + HEAP32[$1073>>2] = $1075; + HEAP32[$regKey>>2] = $1075; + $1076 = HEAP32[$0>>2]|0; + $1077 = ((($1076)) + 76|0); + $1078 = HEAP32[$1077>>2]|0; + $1079 = (($1078) + 1)|0; + HEAP32[$1077>>2] = $1079; + HEAP32[$regRow>>2] = $1079; + $1080 = HEAP32[$0>>2]|0; + $1081 = (_sqlite3GetVdbe($1080)|0); + HEAP32[$v>>2] = $1081; + $1082 = HEAP32[$v>>2]|0; + _setAllColumnNames($1082,4,6152); + $1083 = HEAP32[$0>>2]|0; + $1084 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($1083,$1084); $1085 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($1084,$1085); - $1086 = HEAP32[$iDb>>2]|0; - $1087 = HEAP32[$db>>2]|0; - $1088 = ((($1087)) + 16|0); - $1089 = HEAP32[$1088>>2]|0; - $1090 = (($1089) + ($1086<<4)|0); - $1091 = ((($1090)) + 12|0); - $1092 = HEAP32[$1091>>2]|0; + $1086 = HEAP32[$db>>2]|0; + $1087 = ((($1086)) + 16|0); + $1088 = HEAP32[$1087>>2]|0; + $1089 = (($1088) + ($1085<<4)|0); + $1090 = ((($1089)) + 12|0); + $1091 = HEAP32[$1090>>2]|0; + $1092 = ((($1091)) + 8|0); $1093 = ((($1092)) + 8|0); - $1094 = ((($1093)) + 8|0); - $1095 = HEAP32[$1094>>2]|0; - HEAP32[$k29>>2] = $1095; + $1094 = HEAP32[$1093>>2]|0; + HEAP32[$k29>>2] = $1094; while(1) { - $1096 = HEAP32[$k29>>2]|0; - $1097 = ($1096|0)!=(0|0); - if (!($1097)) { + $1095 = HEAP32[$k29>>2]|0; + $1096 = ($1095|0)!=(0|0); + if (!($1096)) { break L21; } - $1098 = HEAP32[$zRight>>2]|0; - $1099 = ($1098|0)!=(0|0); - if ($1099) { - $1100 = HEAP32[$0>>2]|0; - $1101 = HEAP32[$zRight>>2]|0; - $1102 = HEAP32[$zDb>>2]|0; - $1103 = (_sqlite3LocateTable($1100,0,$1101,$1102)|0); - HEAP32[$pTab25>>2] = $1103; + $1097 = HEAP32[$zRight>>2]|0; + $1098 = ($1097|0)!=(0|0); + if ($1098) { + $1099 = HEAP32[$0>>2]|0; + $1100 = HEAP32[$zRight>>2]|0; + $1101 = HEAP32[$zDb>>2]|0; + $1102 = (_sqlite3LocateTable($1099,0,$1100,$1101)|0); + HEAP32[$pTab25>>2] = $1102; HEAP32[$k29>>2] = 0; } else { - $1104 = HEAP32[$k29>>2]|0; - $1105 = ((($1104)) + 8|0); - $1106 = HEAP32[$1105>>2]|0; - HEAP32[$pTab25>>2] = $1106; - $1107 = HEAP32[$k29>>2]|0; - $1108 = HEAP32[$1107>>2]|0; - HEAP32[$k29>>2] = $1108; + $1103 = HEAP32[$k29>>2]|0; + $1104 = ((($1103)) + 8|0); + $1105 = HEAP32[$1104>>2]|0; + HEAP32[$pTab25>>2] = $1105; + $1106 = HEAP32[$k29>>2]|0; + $1107 = HEAP32[$1106>>2]|0; + HEAP32[$k29>>2] = $1107; } - $1109 = HEAP32[$pTab25>>2]|0; - $1110 = ($1109|0)==(0|0); - if ($1110) { + $1108 = HEAP32[$pTab25>>2]|0; + $1109 = ($1108|0)==(0|0); + if ($1109) { continue; } - $1111 = HEAP32[$pTab25>>2]|0; - $1112 = ((($1111)) + 16|0); - $1113 = HEAP32[$1112>>2]|0; - $1114 = ($1113|0)==(0|0); - if ($1114) { + $1110 = HEAP32[$pTab25>>2]|0; + $1111 = ((($1110)) + 16|0); + $1112 = HEAP32[$1111>>2]|0; + $1113 = ($1112|0)==(0|0); + if ($1113) { continue; } - $1115 = HEAP32[$0>>2]|0; - $1116 = HEAP32[$iDb>>2]|0; - $1117 = HEAP32[$pTab25>>2]|0; - $1118 = ((($1117)) + 28|0); - $1119 = HEAP32[$1118>>2]|0; - $1120 = HEAP32[$pTab25>>2]|0; - $1121 = HEAP32[$1120>>2]|0; - _sqlite3TableLock($1115,$1116,$1119,0,$1121); - $1122 = HEAP32[$pTab25>>2]|0; - $1123 = ((($1122)) + 34|0); - $1124 = HEAP16[$1123>>1]|0; - $1125 = $1124 << 16 >> 16; - $1126 = HEAP32[$regRow>>2]|0; - $1127 = (($1125) + ($1126))|0; - $1128 = HEAP32[$0>>2]|0; - $1129 = ((($1128)) + 76|0); - $1130 = HEAP32[$1129>>2]|0; - $1131 = ($1127|0)>($1130|0); - if ($1131) { - $1132 = HEAP32[$pTab25>>2]|0; - $1133 = ((($1132)) + 34|0); - $1134 = HEAP16[$1133>>1]|0; - $1135 = $1134 << 16 >> 16; - $1136 = HEAP32[$regRow>>2]|0; - $1137 = (($1135) + ($1136))|0; - $1138 = HEAP32[$0>>2]|0; - $1139 = ((($1138)) + 76|0); - HEAP32[$1139>>2] = $1137; + $1114 = HEAP32[$0>>2]|0; + $1115 = HEAP32[$iDb>>2]|0; + $1116 = HEAP32[$pTab25>>2]|0; + $1117 = ((($1116)) + 28|0); + $1118 = HEAP32[$1117>>2]|0; + $1119 = HEAP32[$pTab25>>2]|0; + $1120 = HEAP32[$1119>>2]|0; + _sqlite3TableLock($1114,$1115,$1118,0,$1120); + $1121 = HEAP32[$pTab25>>2]|0; + $1122 = ((($1121)) + 34|0); + $1123 = HEAP16[$1122>>1]|0; + $1124 = $1123 << 16 >> 16; + $1125 = HEAP32[$regRow>>2]|0; + $1126 = (($1124) + ($1125))|0; + $1127 = HEAP32[$0>>2]|0; + $1128 = ((($1127)) + 76|0); + $1129 = HEAP32[$1128>>2]|0; + $1130 = ($1126|0)>($1129|0); + if ($1130) { + $1131 = HEAP32[$pTab25>>2]|0; + $1132 = ((($1131)) + 34|0); + $1133 = HEAP16[$1132>>1]|0; + $1134 = $1133 << 16 >> 16; + $1135 = HEAP32[$regRow>>2]|0; + $1136 = (($1134) + ($1135))|0; + $1137 = HEAP32[$0>>2]|0; + $1138 = ((($1137)) + 76|0); + HEAP32[$1138>>2] = $1136; } - $1140 = HEAP32[$0>>2]|0; - $1141 = HEAP32[$iDb>>2]|0; - $1142 = HEAP32[$pTab25>>2]|0; - _sqlite3OpenTable($1140,0,$1141,$1142,54); - $1143 = HEAP32[$v>>2]|0; - $1144 = HEAP32[$regResult>>2]|0; - $1145 = HEAP32[$pTab25>>2]|0; - $1146 = HEAP32[$1145>>2]|0; - (_sqlite3VdbeLoadString($1143,$1144,$1146)|0); + $1139 = HEAP32[$0>>2]|0; + $1140 = HEAP32[$iDb>>2]|0; + $1141 = HEAP32[$pTab25>>2]|0; + _sqlite3OpenTable($1139,0,$1140,$1141,54); + $1142 = HEAP32[$v>>2]|0; + $1143 = HEAP32[$regResult>>2]|0; + $1144 = HEAP32[$pTab25>>2]|0; + $1145 = HEAP32[$1144>>2]|0; + (_sqlite3VdbeLoadString($1142,$1143,$1145)|0); HEAP32[$i27>>2] = 1; - $1147 = HEAP32[$pTab25>>2]|0; - $1148 = ((($1147)) + 16|0); - $1149 = HEAP32[$1148>>2]|0; - HEAP32[$pFK24>>2] = $1149; + $1146 = HEAP32[$pTab25>>2]|0; + $1147 = ((($1146)) + 16|0); + $1148 = HEAP32[$1147>>2]|0; + HEAP32[$pFK24>>2] = $1148; L279: while(1) { - $1150 = HEAP32[$pFK24>>2]|0; - $1151 = ($1150|0)!=(0|0); - if (!($1151)) { + $1149 = HEAP32[$pFK24>>2]|0; + $1150 = ($1149|0)!=(0|0); + if (!($1150)) { break; } - $1152 = HEAP32[$db>>2]|0; - $1153 = HEAP32[$pFK24>>2]|0; - $1154 = ((($1153)) + 8|0); - $1155 = HEAP32[$1154>>2]|0; - $1156 = HEAP32[$zDb>>2]|0; - $1157 = (_sqlite3FindTable($1152,$1155,$1156)|0); - HEAP32[$pParent>>2] = $1157; - $1158 = HEAP32[$pParent>>2]|0; - $1159 = ($1158|0)==(0|0); + $1151 = HEAP32[$db>>2]|0; + $1152 = HEAP32[$pFK24>>2]|0; + $1153 = ((($1152)) + 8|0); + $1154 = HEAP32[$1153>>2]|0; + $1155 = HEAP32[$zDb>>2]|0; + $1156 = (_sqlite3FindTable($1151,$1154,$1155)|0); + HEAP32[$pParent>>2] = $1156; + $1157 = HEAP32[$pParent>>2]|0; + $1158 = ($1157|0)==(0|0); do { - if (!($1159)) { + if (!($1158)) { HEAP32[$pIdx26>>2] = 0; - $1160 = HEAP32[$0>>2]|0; - $1161 = HEAP32[$iDb>>2]|0; - $1162 = HEAP32[$pParent>>2]|0; - $1163 = ((($1162)) + 28|0); - $1164 = HEAP32[$1163>>2]|0; - $1165 = HEAP32[$pParent>>2]|0; - $1166 = HEAP32[$1165>>2]|0; - _sqlite3TableLock($1160,$1161,$1164,0,$1166); - $1167 = HEAP32[$0>>2]|0; - $1168 = HEAP32[$pParent>>2]|0; - $1169 = HEAP32[$pFK24>>2]|0; - $1170 = (_sqlite3FkLocateIndex($1167,$1168,$1169,$pIdx26,0)|0); - HEAP32[$x>>2] = $1170; - $1171 = HEAP32[$x>>2]|0; - $1172 = ($1171|0)==(0); - if (!($1172)) { + $1159 = HEAP32[$0>>2]|0; + $1160 = HEAP32[$iDb>>2]|0; + $1161 = HEAP32[$pParent>>2]|0; + $1162 = ((($1161)) + 28|0); + $1163 = HEAP32[$1162>>2]|0; + $1164 = HEAP32[$pParent>>2]|0; + $1165 = HEAP32[$1164>>2]|0; + _sqlite3TableLock($1159,$1160,$1163,0,$1165); + $1166 = HEAP32[$0>>2]|0; + $1167 = HEAP32[$pParent>>2]|0; + $1168 = HEAP32[$pFK24>>2]|0; + $1169 = (_sqlite3FkLocateIndex($1166,$1167,$1168,$pIdx26,0)|0); + HEAP32[$x>>2] = $1169; + $1170 = HEAP32[$x>>2]|0; + $1171 = ($1170|0)==(0); + if (!($1171)) { label = 207; break L279; } - $1173 = HEAP32[$pIdx26>>2]|0; - $1174 = ($1173|0)==(0|0); - if ($1174) { - $1175 = HEAP32[$0>>2]|0; - $1176 = HEAP32[$i27>>2]|0; - $1177 = HEAP32[$iDb>>2]|0; - $1178 = HEAP32[$pParent>>2]|0; - _sqlite3OpenTable($1175,$1176,$1177,$1178,54); + $1172 = HEAP32[$pIdx26>>2]|0; + $1173 = ($1172|0)==(0|0); + if ($1173) { + $1174 = HEAP32[$0>>2]|0; + $1175 = HEAP32[$i27>>2]|0; + $1176 = HEAP32[$iDb>>2]|0; + $1177 = HEAP32[$pParent>>2]|0; + _sqlite3OpenTable($1174,$1175,$1176,$1177,54); break; } else { - $1179 = HEAP32[$v>>2]|0; - $1180 = HEAP32[$i27>>2]|0; - $1181 = HEAP32[$pIdx26>>2]|0; - $1182 = ((($1181)) + 44|0); - $1183 = HEAP32[$1182>>2]|0; - $1184 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($1179,54,$1180,$1183,$1184)|0); - $1185 = HEAP32[$0>>2]|0; - $1186 = HEAP32[$pIdx26>>2]|0; - _sqlite3VdbeSetP4KeyInfo($1185,$1186); + $1178 = HEAP32[$v>>2]|0; + $1179 = HEAP32[$i27>>2]|0; + $1180 = HEAP32[$pIdx26>>2]|0; + $1181 = ((($1180)) + 44|0); + $1182 = HEAP32[$1181>>2]|0; + $1183 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($1178,54,$1179,$1182,$1183)|0); + $1184 = HEAP32[$0>>2]|0; + $1185 = HEAP32[$pIdx26>>2]|0; + _sqlite3VdbeSetP4KeyInfo($1184,$1185); break; } } } while(0); - $1187 = HEAP32[$i27>>2]|0; - $1188 = (($1187) + 1)|0; - HEAP32[$i27>>2] = $1188; - $1189 = HEAP32[$pFK24>>2]|0; - $1190 = ((($1189)) + 4|0); - $1191 = HEAP32[$1190>>2]|0; - HEAP32[$pFK24>>2] = $1191; + $1186 = HEAP32[$i27>>2]|0; + $1187 = (($1186) + 1)|0; + HEAP32[$i27>>2] = $1187; + $1188 = HEAP32[$pFK24>>2]|0; + $1189 = ((($1188)) + 4|0); + $1190 = HEAP32[$1189>>2]|0; + HEAP32[$pFK24>>2] = $1190; } if ((label|0) == 207) { label = 0; HEAP32[$k29>>2] = 0; } - $1192 = HEAP32[$pFK24>>2]|0; - $1193 = ($1192|0)!=(0|0); - if ($1193) { + $1191 = HEAP32[$pFK24>>2]|0; + $1192 = ($1191|0)!=(0|0); + if ($1192) { break L21; } - $1194 = HEAP32[$0>>2]|0; - $1195 = ((($1194)) + 72|0); - $1196 = HEAP32[$1195>>2]|0; - $1197 = HEAP32[$i27>>2]|0; - $1198 = ($1196|0)<($1197|0); - if ($1198) { - $1199 = HEAP32[$i27>>2]|0; - $1200 = HEAP32[$0>>2]|0; - $1201 = ((($1200)) + 72|0); - HEAP32[$1201>>2] = $1199; + $1193 = HEAP32[$0>>2]|0; + $1194 = ((($1193)) + 72|0); + $1195 = HEAP32[$1194>>2]|0; + $1196 = HEAP32[$i27>>2]|0; + $1197 = ($1195|0)<($1196|0); + if ($1197) { + $1198 = HEAP32[$i27>>2]|0; + $1199 = HEAP32[$0>>2]|0; + $1200 = ((($1199)) + 72|0); + HEAP32[$1200>>2] = $1198; } - $1202 = HEAP32[$v>>2]|0; - $1203 = (_sqlite3VdbeAddOp1($1202,108,0)|0); - HEAP32[$addrTop>>2] = $1203; + $1201 = HEAP32[$v>>2]|0; + $1202 = (_sqlite3VdbeAddOp1($1201,108,0)|0); + HEAP32[$addrTop>>2] = $1202; HEAP32[$i27>>2] = 1; - $1204 = HEAP32[$pTab25>>2]|0; - $1205 = ((($1204)) + 16|0); - $1206 = HEAP32[$1205>>2]|0; - HEAP32[$pFK24>>2] = $1206; + $1203 = HEAP32[$pTab25>>2]|0; + $1204 = ((($1203)) + 16|0); + $1205 = HEAP32[$1204>>2]|0; + HEAP32[$pFK24>>2] = $1205; while(1) { - $1207 = HEAP32[$pFK24>>2]|0; - $1208 = ($1207|0)!=(0|0); - if (!($1208)) { + $1206 = HEAP32[$pFK24>>2]|0; + $1207 = ($1206|0)!=(0|0); + if (!($1207)) { break; } - $1209 = HEAP32[$db>>2]|0; - $1210 = HEAP32[$pFK24>>2]|0; - $1211 = ((($1210)) + 8|0); - $1212 = HEAP32[$1211>>2]|0; - $1213 = HEAP32[$zDb>>2]|0; - $1214 = (_sqlite3FindTable($1209,$1212,$1213)|0); - HEAP32[$pParent>>2] = $1214; + $1208 = HEAP32[$db>>2]|0; + $1209 = HEAP32[$pFK24>>2]|0; + $1210 = ((($1209)) + 8|0); + $1211 = HEAP32[$1210>>2]|0; + $1212 = HEAP32[$zDb>>2]|0; + $1213 = (_sqlite3FindTable($1208,$1211,$1212)|0); + HEAP32[$pParent>>2] = $1213; HEAP32[$pIdx26>>2] = 0; HEAP32[$aiCols>>2] = 0; - $1215 = HEAP32[$pParent>>2]|0; - $1216 = ($1215|0)!=(0|0); - if ($1216) { - $1217 = HEAP32[$0>>2]|0; - $1218 = HEAP32[$pParent>>2]|0; - $1219 = HEAP32[$pFK24>>2]|0; - $1220 = (_sqlite3FkLocateIndex($1217,$1218,$1219,$pIdx26,$aiCols)|0); - HEAP32[$x>>2] = $1220; + $1214 = HEAP32[$pParent>>2]|0; + $1215 = ($1214|0)!=(0|0); + if ($1215) { + $1216 = HEAP32[$0>>2]|0; + $1217 = HEAP32[$pParent>>2]|0; + $1218 = HEAP32[$pFK24>>2]|0; + $1219 = (_sqlite3FkLocateIndex($1216,$1217,$1218,$pIdx26,$aiCols)|0); + HEAP32[$x>>2] = $1219; } - $1221 = HEAP32[$v>>2]|0; - $1222 = (_sqlite3VdbeMakeLabel($1221)|0); - HEAP32[$addrOk>>2] = $1222; - $1223 = HEAP32[$pParent>>2]|0; - $1224 = ($1223|0)!=(0|0); - $1225 = HEAP32[$pIdx26>>2]|0; - $1226 = ($1225|0)==(0|0); - $or$cond11 = $1224 & $1226; + $1220 = HEAP32[$v>>2]|0; + $1221 = (_sqlite3VdbeMakeLabel($1220)|0); + HEAP32[$addrOk>>2] = $1221; + $1222 = HEAP32[$pParent>>2]|0; + $1223 = ($1222|0)!=(0|0); + $1224 = HEAP32[$pIdx26>>2]|0; + $1225 = ($1224|0)==(0|0); + $or$cond11 = $1223 & $1225; do { if ($or$cond11) { - $1227 = HEAP32[$pFK24>>2]|0; - $1228 = ((($1227)) + 36|0); - $1229 = HEAP32[$1228>>2]|0; - HEAP32[$iKey>>2] = $1229; - $1230 = HEAP32[$iKey>>2]|0; - $1231 = HEAP32[$pTab25>>2]|0; - $1232 = ((($1231)) + 32|0); - $1233 = HEAP16[$1232>>1]|0; - $1234 = $1233 << 16 >> 16; - $1235 = ($1230|0)!=($1234|0); - $1236 = HEAP32[$v>>2]|0; - if ($1235) { - $1237 = HEAP32[$iKey>>2]|0; - $1238 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp3($1236,47,0,$1237,$1238)|0); - $1239 = HEAP32[$v>>2]|0; - $1240 = HEAP32[$pTab25>>2]|0; - $1241 = HEAP32[$iKey>>2]|0; - $1242 = HEAP32[$regRow>>2]|0; - _sqlite3ColumnDefault($1239,$1240,$1241,$1242); - $1243 = HEAP32[$v>>2]|0; - $1244 = HEAP32[$regRow>>2]|0; - $1245 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeAddOp2($1243,76,$1244,$1245)|0); - $1246 = HEAP32[$v>>2]|0; - $1247 = HEAP32[$regRow>>2]|0; - $1248 = HEAP32[$v>>2]|0; - $1249 = (_sqlite3VdbeCurrentAddr($1248)|0); - $1250 = (($1249) + 3)|0; - (_sqlite3VdbeAddOp2($1246,38,$1247,$1250)|0); + $1226 = HEAP32[$pFK24>>2]|0; + $1227 = ((($1226)) + 36|0); + $1228 = HEAP32[$1227>>2]|0; + HEAP32[$iKey>>2] = $1228; + $1229 = HEAP32[$iKey>>2]|0; + $1230 = HEAP32[$pTab25>>2]|0; + $1231 = ((($1230)) + 32|0); + $1232 = HEAP16[$1231>>1]|0; + $1233 = $1232 << 16 >> 16; + $1234 = ($1229|0)!=($1233|0); + $1235 = HEAP32[$v>>2]|0; + if ($1234) { + $1236 = HEAP32[$iKey>>2]|0; + $1237 = HEAP32[$regRow>>2]|0; + (_sqlite3VdbeAddOp3($1235,47,0,$1236,$1237)|0); + $1238 = HEAP32[$v>>2]|0; + $1239 = HEAP32[$pTab25>>2]|0; + $1240 = HEAP32[$iKey>>2]|0; + $1241 = HEAP32[$regRow>>2]|0; + _sqlite3ColumnDefault($1238,$1239,$1240,$1241); + $1242 = HEAP32[$v>>2]|0; + $1243 = HEAP32[$regRow>>2]|0; + $1244 = HEAP32[$addrOk>>2]|0; + (_sqlite3VdbeAddOp2($1242,76,$1243,$1244)|0); + $1245 = HEAP32[$v>>2]|0; + $1246 = HEAP32[$regRow>>2]|0; + $1247 = HEAP32[$v>>2]|0; + $1248 = (_sqlite3VdbeCurrentAddr($1247)|0); + $1249 = (($1248) + 3)|0; + (_sqlite3VdbeAddOp2($1245,38,$1246,$1249)|0); } else { - $1251 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp2($1236,103,0,$1251)|0); + $1250 = HEAP32[$regRow>>2]|0; + (_sqlite3VdbeAddOp2($1235,103,0,$1250)|0); } - $1252 = HEAP32[$v>>2]|0; - $1253 = HEAP32[$i27>>2]|0; - $1254 = HEAP32[$regRow>>2]|0; - (_sqlite3VdbeAddOp3($1252,70,$1253,0,$1254)|0); - $1255 = HEAP32[$v>>2]|0; - $1256 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeGoto($1255,$1256)|0); + $1251 = HEAP32[$v>>2]|0; + $1252 = HEAP32[$i27>>2]|0; + $1253 = HEAP32[$regRow>>2]|0; + (_sqlite3VdbeAddOp3($1251,70,$1252,0,$1253)|0); + $1254 = HEAP32[$v>>2]|0; + $1255 = HEAP32[$addrOk>>2]|0; + (_sqlite3VdbeGoto($1254,$1255)|0); + $1256 = HEAP32[$v>>2]|0; $1257 = HEAP32[$v>>2]|0; - $1258 = HEAP32[$v>>2]|0; - $1259 = (_sqlite3VdbeCurrentAddr($1258)|0); - $1260 = (($1259) - 2)|0; - _sqlite3VdbeJumpHere($1257,$1260); + $1258 = (_sqlite3VdbeCurrentAddr($1257)|0); + $1259 = (($1258) - 2)|0; + _sqlite3VdbeJumpHere($1256,$1259); } else { HEAP32[$j28>>2] = 0; while(1) { - $1261 = HEAP32[$j28>>2]|0; - $1262 = HEAP32[$pFK24>>2]|0; - $1263 = ((($1262)) + 20|0); - $1264 = HEAP32[$1263>>2]|0; - $1265 = ($1261|0)<($1264|0); - if (!($1265)) { + $1260 = HEAP32[$j28>>2]|0; + $1261 = HEAP32[$pFK24>>2]|0; + $1262 = ((($1261)) + 20|0); + $1263 = HEAP32[$1262>>2]|0; + $1264 = ($1260|0)<($1263|0); + if (!($1264)) { break; } - $1266 = HEAP32[$v>>2]|0; - $1267 = HEAP32[$pTab25>>2]|0; - $1268 = HEAP32[$aiCols>>2]|0; - $1269 = ($1268|0)!=(0|0); - $1270 = HEAP32[$j28>>2]|0; - if ($1269) { - $1271 = HEAP32[$aiCols>>2]|0; - $1272 = (($1271) + ($1270<<2)|0); - $1273 = HEAP32[$1272>>2]|0; - $1281 = $1273; + $1265 = HEAP32[$v>>2]|0; + $1266 = HEAP32[$pTab25>>2]|0; + $1267 = HEAP32[$aiCols>>2]|0; + $1268 = ($1267|0)!=(0|0); + $1269 = HEAP32[$j28>>2]|0; + if ($1268) { + $1270 = HEAP32[$aiCols>>2]|0; + $1271 = (($1270) + ($1269<<2)|0); + $1272 = HEAP32[$1271>>2]|0; + $1280 = $1272; } else { - $1274 = HEAP32[$pFK24>>2]|0; - $1275 = ((($1274)) + 36|0); - $1276 = (($1275) + ($1270<<3)|0); - $1277 = HEAP32[$1276>>2]|0; - $1281 = $1277; + $1273 = HEAP32[$pFK24>>2]|0; + $1274 = ((($1273)) + 36|0); + $1275 = (($1274) + ($1269<<3)|0); + $1276 = HEAP32[$1275>>2]|0; + $1280 = $1276; } - $1278 = HEAP32[$regRow>>2]|0; - $1279 = HEAP32[$j28>>2]|0; - $1280 = (($1278) + ($1279))|0; - _sqlite3ExprCodeGetColumnOfTable($1266,$1267,0,$1281,$1280); - $1282 = HEAP32[$v>>2]|0; - $1283 = HEAP32[$regRow>>2]|0; - $1284 = HEAP32[$j28>>2]|0; - $1285 = (($1283) + ($1284))|0; - $1286 = HEAP32[$addrOk>>2]|0; - (_sqlite3VdbeAddOp2($1282,76,$1285,$1286)|0); - $1287 = HEAP32[$j28>>2]|0; - $1288 = (($1287) + 1)|0; - HEAP32[$j28>>2] = $1288; + $1277 = HEAP32[$regRow>>2]|0; + $1278 = HEAP32[$j28>>2]|0; + $1279 = (($1277) + ($1278))|0; + _sqlite3ExprCodeGetColumnOfTable($1265,$1266,0,$1280,$1279); + $1281 = HEAP32[$v>>2]|0; + $1282 = HEAP32[$regRow>>2]|0; + $1283 = HEAP32[$j28>>2]|0; + $1284 = (($1282) + ($1283))|0; + $1285 = HEAP32[$addrOk>>2]|0; + (_sqlite3VdbeAddOp2($1281,76,$1284,$1285)|0); + $1286 = HEAP32[$j28>>2]|0; + $1287 = (($1286) + 1)|0; + HEAP32[$j28>>2] = $1287; } - $1289 = HEAP32[$pParent>>2]|0; - $1290 = ($1289|0)!=(0|0); - if (!($1290)) { + $1288 = HEAP32[$pParent>>2]|0; + $1289 = ($1288|0)!=(0|0); + if (!($1289)) { break; } - $1291 = HEAP32[$v>>2]|0; - $1292 = HEAP32[$regRow>>2]|0; - $1293 = HEAP32[$pFK24>>2]|0; - $1294 = ((($1293)) + 20|0); - $1295 = HEAP32[$1294>>2]|0; - $1296 = HEAP32[$regKey>>2]|0; - $1297 = HEAP32[$db>>2]|0; - $1298 = HEAP32[$pIdx26>>2]|0; - $1299 = (_sqlite3IndexAffinityStr($1297,$1298)|0); - $1300 = HEAP32[$pFK24>>2]|0; - $1301 = ((($1300)) + 20|0); - $1302 = HEAP32[$1301>>2]|0; - (_sqlite3VdbeAddOp4($1291,49,$1292,$1295,$1296,$1299,$1302)|0); - $1303 = HEAP32[$v>>2]|0; - $1304 = HEAP32[$i27>>2]|0; - $1305 = HEAP32[$addrOk>>2]|0; - $1306 = HEAP32[$regKey>>2]|0; - (_sqlite3VdbeAddOp4Int($1303,69,$1304,$1305,$1306,0)|0); + $1290 = HEAP32[$v>>2]|0; + $1291 = HEAP32[$regRow>>2]|0; + $1292 = HEAP32[$pFK24>>2]|0; + $1293 = ((($1292)) + 20|0); + $1294 = HEAP32[$1293>>2]|0; + $1295 = HEAP32[$regKey>>2]|0; + $1296 = HEAP32[$db>>2]|0; + $1297 = HEAP32[$pIdx26>>2]|0; + $1298 = (_sqlite3IndexAffinityStr($1296,$1297)|0); + $1299 = HEAP32[$pFK24>>2]|0; + $1300 = ((($1299)) + 20|0); + $1301 = HEAP32[$1300>>2]|0; + (_sqlite3VdbeAddOp4($1290,49,$1291,$1294,$1295,$1298,$1301)|0); + $1302 = HEAP32[$v>>2]|0; + $1303 = HEAP32[$i27>>2]|0; + $1304 = HEAP32[$addrOk>>2]|0; + $1305 = HEAP32[$regKey>>2]|0; + (_sqlite3VdbeAddOp4Int($1302,69,$1303,$1304,$1305,0)|0); } } while(0); - $1307 = HEAP32[$v>>2]|0; - $1308 = HEAP32[$regResult>>2]|0; - $1309 = (($1308) + 1)|0; - (_sqlite3VdbeAddOp2($1307,103,0,$1309)|0); - $1310 = HEAP32[$v>>2]|0; - $1311 = HEAP32[$regResult>>2]|0; - $1312 = (($1311) + 2)|0; - $1313 = HEAP32[$pFK24>>2]|0; - $1314 = ((($1313)) + 8|0); - $1315 = HEAP32[$1314>>2]|0; - $1316 = HEAP32[$i27>>2]|0; - $1317 = (($1316) - 1)|0; - HEAP32[$vararg_buffer80>>2] = $1315; + $1306 = HEAP32[$v>>2]|0; + $1307 = HEAP32[$regResult>>2]|0; + $1308 = (($1307) + 1)|0; + (_sqlite3VdbeAddOp2($1306,103,0,$1308)|0); + $1309 = HEAP32[$v>>2]|0; + $1310 = HEAP32[$regResult>>2]|0; + $1311 = (($1310) + 2)|0; + $1312 = HEAP32[$pFK24>>2]|0; + $1313 = ((($1312)) + 8|0); + $1314 = HEAP32[$1313>>2]|0; + $1315 = HEAP32[$i27>>2]|0; + $1316 = (($1315) - 1)|0; + HEAP32[$vararg_buffer80>>2] = $1314; $vararg_ptr83 = ((($vararg_buffer80)) + 4|0); - HEAP32[$vararg_ptr83>>2] = $1317; - _sqlite3VdbeMultiLoad($1310,$1312,33286,$vararg_buffer80); - $1318 = HEAP32[$v>>2]|0; - $1319 = HEAP32[$regResult>>2]|0; - (_sqlite3VdbeAddOp2($1318,33,$1319,4)|0); - $1320 = HEAP32[$v>>2]|0; - $1321 = HEAP32[$addrOk>>2]|0; - _sqlite3VdbeResolveLabel($1320,$1321); - $1322 = HEAP32[$db>>2]|0; - $1323 = HEAP32[$aiCols>>2]|0; - _sqlite3DbFree($1322,$1323); - $1324 = HEAP32[$i27>>2]|0; - $1325 = (($1324) + 1)|0; - HEAP32[$i27>>2] = $1325; - $1326 = HEAP32[$pFK24>>2]|0; - $1327 = ((($1326)) + 4|0); - $1328 = HEAP32[$1327>>2]|0; - HEAP32[$pFK24>>2] = $1328; + HEAP32[$vararg_ptr83>>2] = $1316; + _sqlite3VdbeMultiLoad($1309,$1311,32987,$vararg_buffer80); + $1317 = HEAP32[$v>>2]|0; + $1318 = HEAP32[$regResult>>2]|0; + (_sqlite3VdbeAddOp2($1317,33,$1318,4)|0); + $1319 = HEAP32[$v>>2]|0; + $1320 = HEAP32[$addrOk>>2]|0; + _sqlite3VdbeResolveLabel($1319,$1320); + $1321 = HEAP32[$db>>2]|0; + $1322 = HEAP32[$aiCols>>2]|0; + _sqlite3DbFree($1321,$1322); + $1323 = HEAP32[$i27>>2]|0; + $1324 = (($1323) + 1)|0; + HEAP32[$i27>>2] = $1324; + $1325 = HEAP32[$pFK24>>2]|0; + $1326 = ((($1325)) + 4|0); + $1327 = HEAP32[$1326>>2]|0; + HEAP32[$pFK24>>2] = $1327; } - $1329 = HEAP32[$v>>2]|0; - $1330 = HEAP32[$addrTop>>2]|0; - $1331 = (($1330) + 1)|0; - (_sqlite3VdbeAddOp2($1329,7,0,$1331)|0); - $1332 = HEAP32[$v>>2]|0; - $1333 = HEAP32[$addrTop>>2]|0; - _sqlite3VdbeJumpHere($1332,$1333); + $1328 = HEAP32[$v>>2]|0; + $1329 = HEAP32[$addrTop>>2]|0; + $1330 = (($1329) + 1)|0; + (_sqlite3VdbeAddOp2($1328,7,0,$1330)|0); + $1331 = HEAP32[$v>>2]|0; + $1332 = HEAP32[$addrTop>>2]|0; + _sqlite3VdbeJumpHere($1331,$1332); } break; } case 6: { - $1334 = HEAP32[$zRight>>2]|0; - $1335 = ($1334|0)!=(0|0); - if (!($1335)) { + $1333 = HEAP32[$zRight>>2]|0; + $1334 = ($1333|0)!=(0|0); + if (!($1334)) { break L21; } - $1336 = HEAP32[$db>>2]|0; - $1337 = HEAP32[$zRight>>2]|0; - $1338 = (_sqlite3GetBoolean($1337,0)|0); - $1339 = $1338&255; - _sqlite3RegisterLikeFunctions($1336,$1339); + $1335 = HEAP32[$db>>2]|0; + $1336 = HEAP32[$zRight>>2]|0; + $1337 = (_sqlite3GetBoolean($1336,0)|0); + $1338 = $1337&255; + _sqlite3RegisterLikeFunctions($1335,$1338); break L21; break; } case 18: { - $1340 = HEAP32[$zLeft>>2]|0; - $1341 = HEAP8[$1340>>0]|0; - $1342 = $1341&255; - $1343 = (18477 + ($1342)|0); - $1344 = HEAP8[$1343>>0]|0; - $1345 = $1344&255; - $1346 = ($1345|0)==(113); - $1347 = $1346&1; - HEAP32[$isQuick>>2] = $1347; - $1348 = HEAP32[$2>>2]|0; - $1349 = HEAP32[$1348>>2]|0; - $1350 = ($1349|0)==(0|0); - if ($1350) { + $1339 = HEAP32[$zLeft>>2]|0; + $1340 = HEAP8[$1339>>0]|0; + $1341 = $1340&255; + $1342 = (18221 + ($1341)|0); + $1343 = HEAP8[$1342>>0]|0; + $1344 = $1343&255; + $1345 = ($1344|0)==(113); + $1346 = $1345&1; + HEAP32[$isQuick>>2] = $1346; + $1347 = HEAP32[$2>>2]|0; + $1348 = HEAP32[$1347>>2]|0; + $1349 = ($1348|0)==(0|0); + if ($1349) { HEAP32[$iDb>>2] = -1; } - $1351 = HEAP32[$0>>2]|0; - $1352 = ((($1351)) + 76|0); - HEAP32[$1352>>2] = 6; - $1353 = HEAP32[$v>>2]|0; - _setOneColumnName($1353,33289); + $1350 = HEAP32[$0>>2]|0; + $1351 = ((($1350)) + 76|0); + HEAP32[$1351>>2] = 6; + $1352 = HEAP32[$v>>2]|0; + _setOneColumnName($1352,32990); HEAP32[$mxErr>>2] = 100; - $1354 = HEAP32[$zRight>>2]|0; - $1355 = ($1354|0)!=(0|0); - if ($1355) { - $1356 = HEAP32[$zRight>>2]|0; - (_sqlite3GetInt32($1356,$mxErr)|0); - $1357 = HEAP32[$mxErr>>2]|0; - $1358 = ($1357|0)<=(0); - if ($1358) { + $1353 = HEAP32[$zRight>>2]|0; + $1354 = ($1353|0)!=(0|0); + if ($1354) { + $1355 = HEAP32[$zRight>>2]|0; + (_sqlite3GetInt32($1355,$mxErr)|0); + $1356 = HEAP32[$mxErr>>2]|0; + $1357 = ($1356|0)<=(0); + if ($1357) { HEAP32[$mxErr>>2] = 100; } } - $1359 = HEAP32[$v>>2]|0; - $1360 = HEAP32[$mxErr>>2]|0; - (_sqlite3VdbeAddOp2($1359,22,$1360,1)|0); + $1358 = HEAP32[$v>>2]|0; + $1359 = HEAP32[$mxErr>>2]|0; + (_sqlite3VdbeAddOp2($1358,22,$1359,1)|0); HEAP32[$i30>>2] = 0; - while(1) { - $1361 = HEAP32[$i30>>2]|0; - $1362 = HEAP32[$db>>2]|0; - $1363 = ((($1362)) + 20|0); - $1364 = HEAP32[$1363>>2]|0; - $1365 = ($1361|0)<($1364|0); - if (!($1365)) { + L330: while(1) { + $1360 = HEAP32[$i30>>2]|0; + $1361 = HEAP32[$db>>2]|0; + $1362 = ((($1361)) + 20|0); + $1363 = HEAP32[$1362>>2]|0; + $1364 = ($1360|0)<($1363|0); + if (!($1364)) { break; } HEAP32[$cnt>>2] = 0; - $1366 = HEAP32[$iDb>>2]|0; - $1367 = ($1366|0)>=(0); - if ($1367) { - $1368 = HEAP32[$i30>>2]|0; - $1369 = HEAP32[$iDb>>2]|0; - $1370 = ($1368|0)!=($1369|0); - if (!($1370)) { + HEAP32[$mxIdx>>2] = 0; + $1365 = HEAP32[$iDb>>2]|0; + $1366 = ($1365|0)>=(0); + if ($1366) { + $1367 = HEAP32[$i30>>2]|0; + $1368 = HEAP32[$iDb>>2]|0; + $1369 = ($1367|0)!=($1368|0); + if (!($1369)) { label = 242; } } else { @@ -126050,967 +127292,1025 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { L335: do { if ((label|0) == 242) { label = 0; - $1371 = HEAP32[$0>>2]|0; - $1372 = HEAP32[$i30>>2]|0; - _sqlite3CodeVerifySchema($1371,$1372); - $1373 = HEAP32[$v>>2]|0; - $1374 = (_sqlite3VdbeAddOp1($1373,138,1)|0); - HEAP32[$addr32>>2] = $1374; + $1370 = HEAP32[$0>>2]|0; + $1371 = HEAP32[$i30>>2]|0; + _sqlite3CodeVerifySchema($1370,$1371); + $1372 = HEAP32[$v>>2]|0; + $1373 = (_sqlite3VdbeAddOp1($1372,138,1)|0); + HEAP32[$addr32>>2] = $1373; + $1374 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1374,21,0,0)|0); $1375 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1375,21,0,0)|0); - $1376 = HEAP32[$v>>2]|0; - $1377 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1376,$1377); - $1378 = HEAP32[$i30>>2]|0; - $1379 = HEAP32[$db>>2]|0; - $1380 = ((($1379)) + 16|0); - $1381 = HEAP32[$1380>>2]|0; - $1382 = (($1381) + ($1378<<4)|0); - $1383 = ((($1382)) + 12|0); - $1384 = HEAP32[$1383>>2]|0; - $1385 = ((($1384)) + 8|0); - HEAP32[$pTbls>>2] = $1385; - $1386 = HEAP32[$pTbls>>2]|0; - $1387 = ((($1386)) + 8|0); - $1388 = HEAP32[$1387>>2]|0; - HEAP32[$x33>>2] = $1388; + $1376 = HEAP32[$addr32>>2]|0; + _sqlite3VdbeJumpHere($1375,$1376); + $1377 = HEAP32[$i30>>2]|0; + $1378 = HEAP32[$db>>2]|0; + $1379 = ((($1378)) + 16|0); + $1380 = HEAP32[$1379>>2]|0; + $1381 = (($1380) + ($1377<<4)|0); + $1382 = ((($1381)) + 12|0); + $1383 = HEAP32[$1382>>2]|0; + $1384 = ((($1383)) + 8|0); + HEAP32[$pTbls>>2] = $1384; + HEAP32[$cnt>>2] = 0; + $1385 = HEAP32[$pTbls>>2]|0; + $1386 = ((($1385)) + 8|0); + $1387 = HEAP32[$1386>>2]|0; + HEAP32[$x33>>2] = $1387; while(1) { - $1389 = HEAP32[$x33>>2]|0; - $1390 = ($1389|0)!=(0|0); - if (!($1390)) { + $1388 = HEAP32[$x33>>2]|0; + $1389 = ($1388|0)!=(0|0); + if (!($1389)) { break; } - $1391 = HEAP32[$x33>>2]|0; - $1392 = ((($1391)) + 8|0); - $1393 = HEAP32[$1392>>2]|0; - HEAP32[$pTab34>>2] = $1393; - $1394 = HEAP32[$pTab34>>2]|0; - $1395 = ((($1394)) + 42|0); - $1396 = HEAP8[$1395>>0]|0; - $1397 = $1396&255; - $1398 = $1397 & 32; - $1399 = ($1398|0)==(0); - if ($1399) { - $1400 = HEAP32[$v>>2]|0; - $1401 = HEAP32[$pTab34>>2]|0; - $1402 = ((($1401)) + 28|0); - $1403 = HEAP32[$1402>>2]|0; - $1404 = HEAP32[$cnt>>2]|0; - $1405 = (2 + ($1404))|0; - (_sqlite3VdbeAddOp2($1400,22,$1403,$1405)|0); + $1390 = HEAP32[$x33>>2]|0; + $1391 = ((($1390)) + 8|0); + $1392 = HEAP32[$1391>>2]|0; + HEAP32[$pTab34>>2] = $1392; + $1393 = HEAP32[$pTab34>>2]|0; + $1394 = ((($1393)) + 42|0); + $1395 = HEAP8[$1394>>0]|0; + $1396 = $1395&255; + $1397 = $1396 & 32; + $1398 = ($1397|0)==(0); + if ($1398) { + $1399 = HEAP32[$cnt>>2]|0; + $1400 = (($1399) + 1)|0; + HEAP32[$cnt>>2] = $1400; + } + HEAP32[$nIdx>>2] = 0; + $1401 = HEAP32[$pTab34>>2]|0; + $1402 = ((($1401)) + 8|0); + $1403 = HEAP32[$1402>>2]|0; + HEAP32[$pIdx35>>2] = $1403; + while(1) { + $1404 = HEAP32[$pIdx35>>2]|0; + $1405 = ($1404|0)!=(0|0); + if (!($1405)) { + break; + } $1406 = HEAP32[$cnt>>2]|0; $1407 = (($1406) + 1)|0; HEAP32[$cnt>>2] = $1407; + $1408 = HEAP32[$pIdx35>>2]|0; + $1409 = ((($1408)) + 20|0); + $1410 = HEAP32[$1409>>2]|0; + HEAP32[$pIdx35>>2] = $1410; + $1411 = HEAP32[$nIdx>>2]|0; + $1412 = (($1411) + 1)|0; + HEAP32[$nIdx>>2] = $1412; + } + $1413 = HEAP32[$nIdx>>2]|0; + $1414 = HEAP32[$mxIdx>>2]|0; + $1415 = ($1413|0)>($1414|0); + if ($1415) { + $1416 = HEAP32[$nIdx>>2]|0; + HEAP32[$mxIdx>>2] = $1416; } - $1408 = HEAP32[$pTab34>>2]|0; - $1409 = ((($1408)) + 8|0); - $1410 = HEAP32[$1409>>2]|0; - HEAP32[$pIdx35>>2] = $1410; + $1417 = HEAP32[$x33>>2]|0; + $1418 = HEAP32[$1417>>2]|0; + HEAP32[$x33>>2] = $1418; + } + $1419 = HEAP32[$db>>2]|0; + $1420 = HEAP32[$cnt>>2]|0; + $1421 = (($1420) + 1)|0; + $1422 = $1421<<2; + $1423 = (_sqlite3DbMallocRawNN($1419,$1422,0)|0); + HEAP32[$aRoot>>2] = $1423; + $1424 = HEAP32[$aRoot>>2]|0; + $1425 = ($1424|0)==(0|0); + if ($1425) { + break L330; + } + HEAP32[$cnt>>2] = 0; + $1426 = HEAP32[$pTbls>>2]|0; + $1427 = ((($1426)) + 8|0); + $1428 = HEAP32[$1427>>2]|0; + HEAP32[$x33>>2] = $1428; + while(1) { + $1429 = HEAP32[$x33>>2]|0; + $1430 = ($1429|0)!=(0|0); + if (!($1430)) { + break; + } + $1431 = HEAP32[$x33>>2]|0; + $1432 = ((($1431)) + 8|0); + $1433 = HEAP32[$1432>>2]|0; + HEAP32[$pTab36>>2] = $1433; + $1434 = HEAP32[$pTab36>>2]|0; + $1435 = ((($1434)) + 42|0); + $1436 = HEAP8[$1435>>0]|0; + $1437 = $1436&255; + $1438 = $1437 & 32; + $1439 = ($1438|0)==(0); + if ($1439) { + $1440 = HEAP32[$pTab36>>2]|0; + $1441 = ((($1440)) + 28|0); + $1442 = HEAP32[$1441>>2]|0; + $1443 = HEAP32[$cnt>>2]|0; + $1444 = (($1443) + 1)|0; + HEAP32[$cnt>>2] = $1444; + $1445 = HEAP32[$aRoot>>2]|0; + $1446 = (($1445) + ($1443<<2)|0); + HEAP32[$1446>>2] = $1442; + } + $1447 = HEAP32[$pTab36>>2]|0; + $1448 = ((($1447)) + 8|0); + $1449 = HEAP32[$1448>>2]|0; + HEAP32[$pIdx37>>2] = $1449; while(1) { - $1411 = HEAP32[$pIdx35>>2]|0; - $1412 = ($1411|0)!=(0|0); - if (!($1412)) { + $1450 = HEAP32[$pIdx37>>2]|0; + $1451 = ($1450|0)!=(0|0); + if (!($1451)) { break; } - $1413 = HEAP32[$v>>2]|0; - $1414 = HEAP32[$pIdx35>>2]|0; - $1415 = ((($1414)) + 44|0); - $1416 = HEAP32[$1415>>2]|0; - $1417 = HEAP32[$cnt>>2]|0; - $1418 = (2 + ($1417))|0; - (_sqlite3VdbeAddOp2($1413,22,$1416,$1418)|0); - $1419 = HEAP32[$cnt>>2]|0; - $1420 = (($1419) + 1)|0; - HEAP32[$cnt>>2] = $1420; - $1421 = HEAP32[$pIdx35>>2]|0; - $1422 = ((($1421)) + 20|0); - $1423 = HEAP32[$1422>>2]|0; - HEAP32[$pIdx35>>2] = $1423; + $1452 = HEAP32[$pIdx37>>2]|0; + $1453 = ((($1452)) + 44|0); + $1454 = HEAP32[$1453>>2]|0; + $1455 = HEAP32[$cnt>>2]|0; + $1456 = (($1455) + 1)|0; + HEAP32[$cnt>>2] = $1456; + $1457 = HEAP32[$aRoot>>2]|0; + $1458 = (($1457) + ($1455<<2)|0); + HEAP32[$1458>>2] = $1454; + $1459 = HEAP32[$pIdx37>>2]|0; + $1460 = ((($1459)) + 20|0); + $1461 = HEAP32[$1460>>2]|0; + HEAP32[$pIdx37>>2] = $1461; } - $1424 = HEAP32[$x33>>2]|0; - $1425 = HEAP32[$1424>>2]|0; - HEAP32[$x33>>2] = $1425; + $1462 = HEAP32[$x33>>2]|0; + $1463 = HEAP32[$1462>>2]|0; + HEAP32[$x33>>2] = $1463; } - $1426 = HEAP32[$0>>2]|0; - $1427 = ((($1426)) + 76|0); - $1428 = HEAP32[$1427>>2]|0; - $1429 = HEAP32[$cnt>>2]|0; - $1430 = (($1429) + 8)|0; - $1431 = ($1428|0)>($1430|0); - if ($1431) { - $1432 = HEAP32[$0>>2]|0; - $1433 = ((($1432)) + 76|0); - $1434 = HEAP32[$1433>>2]|0; - $1439 = $1434; + $1464 = HEAP32[$cnt>>2]|0; + $1465 = HEAP32[$aRoot>>2]|0; + $1466 = (($1465) + ($1464<<2)|0); + HEAP32[$1466>>2] = 0; + $1467 = HEAP32[$0>>2]|0; + $1468 = ((($1467)) + 76|0); + $1469 = HEAP32[$1468>>2]|0; + $1470 = HEAP32[$mxIdx>>2]|0; + $1471 = (8 + ($1470))|0; + $1472 = ($1469|0)>($1471|0); + if ($1472) { + $1473 = HEAP32[$0>>2]|0; + $1474 = ((($1473)) + 76|0); + $1475 = HEAP32[$1474>>2]|0; + $1480 = $1475; } else { - $1435 = HEAP32[$cnt>>2]|0; - $1436 = (($1435) + 8)|0; - $1439 = $1436; + $1476 = HEAP32[$mxIdx>>2]|0; + $1477 = (8 + ($1476))|0; + $1480 = $1477; } - $1437 = HEAP32[$0>>2]|0; - $1438 = ((($1437)) + 76|0); - HEAP32[$1438>>2] = $1439; - $1440 = HEAP32[$v>>2]|0; - $1441 = HEAP32[$cnt>>2]|0; - (_sqlite3VdbeAddOp3($1440,128,2,$1441,1)|0); - $1442 = HEAP32[$v>>2]|0; - $1443 = HEAP32[$i30>>2]|0; - $1444 = $1443&255; - _sqlite3VdbeChangeP5($1442,$1444); - $1445 = HEAP32[$v>>2]|0; - $1446 = (_sqlite3VdbeAddOp1($1445,76,2)|0); - HEAP32[$addr32>>2] = $1446; - $1447 = HEAP32[$v>>2]|0; - $1448 = HEAP32[$db>>2]|0; - $1449 = HEAP32[$i30>>2]|0; - $1450 = HEAP32[$db>>2]|0; - $1451 = ((($1450)) + 16|0); - $1452 = HEAP32[$1451>>2]|0; - $1453 = (($1452) + ($1449<<4)|0); - $1454 = HEAP32[$1453>>2]|0; - HEAP32[$vararg_buffer84>>2] = $1454; - $1455 = (_sqlite3MPrintf($1448,33305,$vararg_buffer84)|0); - (_sqlite3VdbeAddOp4($1447,97,0,3,0,$1455,-1)|0); - $1456 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1456,29,2,4,1)|0); - $1457 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1457,94,4,3,2)|0); - $1458 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1458,33,2,1)|0); - $1459 = HEAP32[$v>>2]|0; - $1460 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1459,$1460); - $1461 = HEAP32[$pTbls>>2]|0; - $1462 = ((($1461)) + 8|0); - $1463 = HEAP32[$1462>>2]|0; - HEAP32[$x33>>2] = $1463; + $1478 = HEAP32[$0>>2]|0; + $1479 = ((($1478)) + 76|0); + HEAP32[$1479>>2] = $1480; + $1481 = HEAP32[$v>>2]|0; + $1482 = HEAP32[$cnt>>2]|0; + $1483 = HEAP32[$aRoot>>2]|0; + (_sqlite3VdbeAddOp4($1481,128,2,$1482,1,$1483,-15)|0); + $1484 = HEAP32[$v>>2]|0; + $1485 = HEAP32[$i30>>2]|0; + $1486 = $1485&255; + _sqlite3VdbeChangeP5($1484,$1486); + $1487 = HEAP32[$v>>2]|0; + $1488 = (_sqlite3VdbeAddOp1($1487,76,2)|0); + HEAP32[$addr32>>2] = $1488; + $1489 = HEAP32[$v>>2]|0; + $1490 = HEAP32[$db>>2]|0; + $1491 = HEAP32[$i30>>2]|0; + $1492 = HEAP32[$db>>2]|0; + $1493 = ((($1492)) + 16|0); + $1494 = HEAP32[$1493>>2]|0; + $1495 = (($1494) + ($1491<<4)|0); + $1496 = HEAP32[$1495>>2]|0; + HEAP32[$vararg_buffer84>>2] = $1496; + $1497 = (_sqlite3MPrintf($1490,33006,$vararg_buffer84)|0); + (_sqlite3VdbeAddOp4($1489,97,0,3,0,$1497,-1)|0); + $1498 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1498,29,2,4,1)|0); + $1499 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1499,94,4,3,2)|0); + $1500 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1500,33,2,1)|0); + $1501 = HEAP32[$v>>2]|0; + $1502 = HEAP32[$addr32>>2]|0; + _sqlite3VdbeJumpHere($1501,$1502); + $1503 = HEAP32[$pTbls>>2]|0; + $1504 = ((($1503)) + 8|0); + $1505 = HEAP32[$1504>>2]|0; + HEAP32[$x33>>2] = $1505; while(1) { - $1464 = HEAP32[$x33>>2]|0; - $1465 = ($1464|0)!=(0|0); - if (!($1465)) { + $1506 = HEAP32[$x33>>2]|0; + $1507 = ($1506|0)!=(0|0); + if (!($1507)) { break L335; } - $1466 = HEAP32[$isQuick>>2]|0; - $1467 = ($1466|0)!=(0); - $1468 = $1467 ^ 1; - if (!($1468)) { + $1508 = HEAP32[$isQuick>>2]|0; + $1509 = ($1508|0)!=(0); + $1510 = $1509 ^ 1; + if (!($1510)) { break L335; } - $1469 = HEAP32[$x33>>2]|0; - $1470 = ((($1469)) + 8|0); - $1471 = HEAP32[$1470>>2]|0; - HEAP32[$pTab36>>2] = $1471; + $1511 = HEAP32[$x33>>2]|0; + $1512 = ((($1511)) + 8|0); + $1513 = HEAP32[$1512>>2]|0; + HEAP32[$pTab38>>2] = $1513; HEAP32[$pPrior>>2] = 0; HEAP32[$r1>>2] = -1; - $1472 = HEAP32[$pTab36>>2]|0; - $1473 = ((($1472)) + 8|0); - $1474 = HEAP32[$1473>>2]|0; - $1475 = ($1474|0)==(0|0); - L356: do { - if (!($1475)) { - $1476 = HEAP32[$pTab36>>2]|0; - $1477 = ((($1476)) + 42|0); - $1478 = HEAP8[$1477>>0]|0; - $1479 = $1478&255; - $1480 = $1479 & 32; - $1481 = ($1480|0)==(0); - if ($1481) { - $1484 = 0; + $1514 = HEAP32[$pTab38>>2]|0; + $1515 = ((($1514)) + 8|0); + $1516 = HEAP32[$1515>>2]|0; + $1517 = ($1516|0)==(0|0); + L371: do { + if (!($1517)) { + $1518 = HEAP32[$pTab38>>2]|0; + $1519 = ((($1518)) + 42|0); + $1520 = HEAP8[$1519>>0]|0; + $1521 = $1520&255; + $1522 = $1521 & 32; + $1523 = ($1522|0)==(0); + if ($1523) { + $1526 = 0; } else { - $1482 = HEAP32[$pTab36>>2]|0; - $1483 = (_sqlite3PrimaryKeyIndex($1482)|0); - $1484 = $1483; + $1524 = HEAP32[$pTab38>>2]|0; + $1525 = (_sqlite3PrimaryKeyIndex($1524)|0); + $1526 = $1525; } - HEAP32[$pPk38>>2] = $1484; - $1485 = HEAP32[$v>>2]|0; - $1486 = (_sqlite3VdbeAddOp1($1485,138,1)|0); - HEAP32[$addr32>>2] = $1486; - $1487 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1487,21,0,0)|0); - $1488 = HEAP32[$v>>2]|0; - $1489 = HEAP32[$addr32>>2]|0; - _sqlite3VdbeJumpHere($1488,$1489); - $1490 = HEAP32[$0>>2]|0; - _sqlite3ExprCacheClear($1490); - $1491 = HEAP32[$0>>2]|0; - $1492 = HEAP32[$pTab36>>2]|0; - (_sqlite3OpenTableAndIndices($1491,$1492,54,0,1,0,$iDataCur,$iIdxCur)|0); - $1493 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1493,22,0,7)|0); + HEAP32[$pPk40>>2] = $1526; + $1527 = HEAP32[$v>>2]|0; + $1528 = (_sqlite3VdbeAddOp1($1527,138,1)|0); + HEAP32[$addr32>>2] = $1528; + $1529 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1529,21,0,0)|0); + $1530 = HEAP32[$v>>2]|0; + $1531 = HEAP32[$addr32>>2]|0; + _sqlite3VdbeJumpHere($1530,$1531); + $1532 = HEAP32[$0>>2]|0; + _sqlite3ExprCacheClear($1532); + $1533 = HEAP32[$0>>2]|0; + $1534 = HEAP32[$pTab38>>2]|0; + (_sqlite3OpenTableAndIndices($1533,$1534,54,0,1,0,$iDataCur,$iIdxCur)|0); + $1535 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1535,22,0,7)|0); HEAP32[$j31>>2] = 0; - $1494 = HEAP32[$pTab36>>2]|0; - $1495 = ((($1494)) + 8|0); - $1496 = HEAP32[$1495>>2]|0; - HEAP32[$pIdx37>>2] = $1496; + $1536 = HEAP32[$pTab38>>2]|0; + $1537 = ((($1536)) + 8|0); + $1538 = HEAP32[$1537>>2]|0; + HEAP32[$pIdx39>>2] = $1538; while(1) { - $1497 = HEAP32[$pIdx37>>2]|0; - $1498 = ($1497|0)!=(0|0); - if (!($1498)) { + $1539 = HEAP32[$pIdx39>>2]|0; + $1540 = ($1539|0)!=(0|0); + $1541 = HEAP32[$v>>2]|0; + if (!($1540)) { break; } - $1499 = HEAP32[$v>>2]|0; - $1500 = HEAP32[$j31>>2]|0; - $1501 = (8 + ($1500))|0; - (_sqlite3VdbeAddOp2($1499,22,0,$1501)|0); - $1502 = HEAP32[$pIdx37>>2]|0; - $1503 = ((($1502)) + 20|0); - $1504 = HEAP32[$1503>>2]|0; - HEAP32[$pIdx37>>2] = $1504; - $1505 = HEAP32[$j31>>2]|0; - $1506 = (($1505) + 1)|0; - HEAP32[$j31>>2] = $1506; + $1542 = HEAP32[$j31>>2]|0; + $1543 = (8 + ($1542))|0; + (_sqlite3VdbeAddOp2($1541,22,0,$1543)|0); + $1544 = HEAP32[$pIdx39>>2]|0; + $1545 = ((($1544)) + 20|0); + $1546 = HEAP32[$1545>>2]|0; + HEAP32[$pIdx39>>2] = $1546; + $1547 = HEAP32[$j31>>2]|0; + $1548 = (($1547) + 1)|0; + HEAP32[$j31>>2] = $1548; } - $1507 = HEAP32[$0>>2]|0; - $1508 = ((($1507)) + 76|0); - $1509 = HEAP32[$1508>>2]|0; - $1510 = HEAP32[$j31>>2]|0; - $1511 = (8 + ($1510))|0; - $1512 = ($1509|0)>($1511|0); - if ($1512) { - $1513 = HEAP32[$0>>2]|0; - $1514 = ((($1513)) + 76|0); - $1515 = HEAP32[$1514>>2]|0; - $1520 = $1515; - } else { - $1516 = HEAP32[$j31>>2]|0; - $1517 = (8 + ($1516))|0; - $1520 = $1517; - } - $1518 = HEAP32[$0>>2]|0; - $1519 = ((($1518)) + 76|0); - HEAP32[$1519>>2] = $1520; - $1521 = HEAP32[$v>>2]|0; - $1522 = HEAP32[$iDataCur>>2]|0; - (_sqlite3VdbeAddOp2($1521,108,$1522,0)|0); - $1523 = HEAP32[$v>>2]|0; - $1524 = (_sqlite3VdbeAddOp2($1523,37,7,1)|0); - HEAP32[$loopTop>>2] = $1524; + $1549 = HEAP32[$iDataCur>>2]|0; + (_sqlite3VdbeAddOp2($1541,108,$1549,0)|0); + $1550 = HEAP32[$v>>2]|0; + $1551 = (_sqlite3VdbeAddOp2($1550,37,7,1)|0); + HEAP32[$loopTop>>2] = $1551; HEAP32[$j31>>2] = 0; while(1) { - $1525 = HEAP32[$j31>>2]|0; - $1526 = HEAP32[$pTab36>>2]|0; - $1527 = ((($1526)) + 34|0); - $1528 = HEAP16[$1527>>1]|0; - $1529 = $1528 << 16 >> 16; - $1530 = ($1525|0)<($1529|0); - if (!($1530)) { + $1552 = HEAP32[$j31>>2]|0; + $1553 = HEAP32[$pTab38>>2]|0; + $1554 = ((($1553)) + 34|0); + $1555 = HEAP16[$1554>>1]|0; + $1556 = $1555 << 16 >> 16; + $1557 = ($1552|0)<($1556|0); + if (!($1557)) { break; } - $1531 = HEAP32[$j31>>2]|0; - $1532 = HEAP32[$pTab36>>2]|0; - $1533 = ((($1532)) + 32|0); - $1534 = HEAP16[$1533>>1]|0; - $1535 = $1534 << 16 >> 16; - $1536 = ($1531|0)==($1535|0); + $1558 = HEAP32[$j31>>2]|0; + $1559 = HEAP32[$pTab38>>2]|0; + $1560 = ((($1559)) + 32|0); + $1561 = HEAP16[$1560>>1]|0; + $1562 = $1561 << 16 >> 16; + $1563 = ($1558|0)==($1562|0); do { - if (!($1536)) { - $1537 = HEAP32[$j31>>2]|0; - $1538 = HEAP32[$pTab36>>2]|0; - $1539 = ((($1538)) + 4|0); - $1540 = HEAP32[$1539>>2]|0; - $1541 = (($1540) + (($1537*24)|0)|0); - $1542 = ((($1541)) + 20|0); - $1543 = HEAP8[$1542>>0]|0; - $1544 = $1543&255; - $1545 = ($1544|0)==(0); - if ($1545) { + if (!($1563)) { + $1564 = HEAP32[$j31>>2]|0; + $1565 = HEAP32[$pTab38>>2]|0; + $1566 = ((($1565)) + 4|0); + $1567 = HEAP32[$1566>>2]|0; + $1568 = (($1567) + ($1564<<4)|0); + $1569 = ((($1568)) + 12|0); + $1570 = HEAP8[$1569>>0]|0; + $1571 = $1570&255; + $1572 = ($1571|0)==(0); + if ($1572) { break; } - $1546 = HEAP32[$v>>2]|0; - $1547 = HEAP32[$pTab36>>2]|0; - $1548 = HEAP32[$iDataCur>>2]|0; - $1549 = HEAP32[$j31>>2]|0; - _sqlite3ExprCodeGetColumnOfTable($1546,$1547,$1548,$1549,3); - $1550 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1550,-128); - $1551 = HEAP32[$v>>2]|0; - $1552 = (_sqlite3VdbeAddOp1($1551,77,3)|0); - HEAP32[$jmp2>>2] = $1552; - $1553 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1553,37,1,-1)|0); - $1554 = HEAP32[$db>>2]|0; - $1555 = HEAP32[$pTab36>>2]|0; - $1556 = HEAP32[$1555>>2]|0; - $1557 = HEAP32[$j31>>2]|0; - $1558 = HEAP32[$pTab36>>2]|0; - $1559 = ((($1558)) + 4|0); - $1560 = HEAP32[$1559>>2]|0; - $1561 = (($1560) + (($1557*24)|0)|0); - $1562 = HEAP32[$1561>>2]|0; - HEAP32[$vararg_buffer87>>2] = $1556; + $1573 = HEAP32[$v>>2]|0; + $1574 = HEAP32[$pTab38>>2]|0; + $1575 = HEAP32[$iDataCur>>2]|0; + $1576 = HEAP32[$j31>>2]|0; + _sqlite3ExprCodeGetColumnOfTable($1573,$1574,$1575,$1576,3); + $1577 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($1577,-128); + $1578 = HEAP32[$v>>2]|0; + $1579 = (_sqlite3VdbeAddOp1($1578,77,3)|0); + HEAP32[$jmp2>>2] = $1579; + $1580 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1580,37,1,-1)|0); + $1581 = HEAP32[$db>>2]|0; + $1582 = HEAP32[$pTab38>>2]|0; + $1583 = HEAP32[$1582>>2]|0; + $1584 = HEAP32[$j31>>2]|0; + $1585 = HEAP32[$pTab38>>2]|0; + $1586 = ((($1585)) + 4|0); + $1587 = HEAP32[$1586>>2]|0; + $1588 = (($1587) + ($1584<<4)|0); + $1589 = HEAP32[$1588>>2]|0; + HEAP32[$vararg_buffer87>>2] = $1583; $vararg_ptr90 = ((($vararg_buffer87)) + 4|0); - HEAP32[$vararg_ptr90>>2] = $1562; - $1563 = (_sqlite3MPrintf($1554,33329,$vararg_buffer87)|0); - HEAP32[$zErr>>2] = $1563; - $1564 = HEAP32[$v>>2]|0; - $1565 = HEAP32[$zErr>>2]|0; - (_sqlite3VdbeAddOp4($1564,97,0,3,0,$1565,-1)|0); - $1566 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1566,33,3,1)|0); - $1567 = HEAP32[$v>>2]|0; - $1568 = (_sqlite3VdbeAddOp1($1567,138,1)|0); - HEAP32[$jmp3>>2] = $1568; - $1569 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1569,21)|0); - $1570 = HEAP32[$v>>2]|0; - $1571 = HEAP32[$jmp2>>2]|0; - _sqlite3VdbeJumpHere($1570,$1571); - $1572 = HEAP32[$v>>2]|0; - $1573 = HEAP32[$jmp3>>2]|0; - _sqlite3VdbeJumpHere($1572,$1573); + HEAP32[$vararg_ptr90>>2] = $1589; + $1590 = (_sqlite3MPrintf($1581,33030,$vararg_buffer87)|0); + HEAP32[$zErr>>2] = $1590; + $1591 = HEAP32[$v>>2]|0; + $1592 = HEAP32[$zErr>>2]|0; + (_sqlite3VdbeAddOp4($1591,97,0,3,0,$1592,-1)|0); + $1593 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1593,33,3,1)|0); + $1594 = HEAP32[$v>>2]|0; + $1595 = (_sqlite3VdbeAddOp1($1594,138,1)|0); + HEAP32[$jmp3>>2] = $1595; + $1596 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp0($1596,21)|0); + $1597 = HEAP32[$v>>2]|0; + $1598 = HEAP32[$jmp2>>2]|0; + _sqlite3VdbeJumpHere($1597,$1598); + $1599 = HEAP32[$v>>2]|0; + $1600 = HEAP32[$jmp3>>2]|0; + _sqlite3VdbeJumpHere($1599,$1600); } } while(0); - $1574 = HEAP32[$j31>>2]|0; - $1575 = (($1574) + 1)|0; - HEAP32[$j31>>2] = $1575; + $1601 = HEAP32[$j31>>2]|0; + $1602 = (($1601) + 1)|0; + HEAP32[$j31>>2] = $1602; } HEAP32[$j31>>2] = 0; - $1576 = HEAP32[$pTab36>>2]|0; - $1577 = ((($1576)) + 8|0); - $1578 = HEAP32[$1577>>2]|0; - HEAP32[$pIdx37>>2] = $1578; + $1603 = HEAP32[$pTab38>>2]|0; + $1604 = ((($1603)) + 8|0); + $1605 = HEAP32[$1604>>2]|0; + HEAP32[$pIdx39>>2] = $1605; while(1) { - $1579 = HEAP32[$pIdx37>>2]|0; - $1580 = ($1579|0)!=(0|0); - $1581 = HEAP32[$v>>2]|0; - if (!($1580)) { + $1606 = HEAP32[$pIdx39>>2]|0; + $1607 = ($1606|0)!=(0|0); + $1608 = HEAP32[$v>>2]|0; + if (!($1607)) { break; } - $1582 = (_sqlite3VdbeMakeLabel($1581)|0); - HEAP32[$ckUniq>>2] = $1582; - $1583 = HEAP32[$pPk38>>2]|0; - $1584 = HEAP32[$pIdx37>>2]|0; - $1585 = ($1583|0)==($1584|0); - if (!($1585)) { - $1586 = HEAP32[$0>>2]|0; - $1587 = HEAP32[$pIdx37>>2]|0; - $1588 = HEAP32[$iDataCur>>2]|0; - $1589 = HEAP32[$pPrior>>2]|0; - $1590 = HEAP32[$r1>>2]|0; - $1591 = (_sqlite3GenerateIndexKey($1586,$1587,$1588,0,0,$jmp340,$1589,$1590)|0); - HEAP32[$r1>>2] = $1591; - $1592 = HEAP32[$pIdx37>>2]|0; - HEAP32[$pPrior>>2] = $1592; - $1593 = HEAP32[$v>>2]|0; - $1594 = HEAP32[$j31>>2]|0; - $1595 = (8 + ($1594))|0; - (_sqlite3VdbeAddOp2($1593,37,$1595,1)|0); - $1596 = HEAP32[$v>>2]|0; - $1597 = HEAP32[$iIdxCur>>2]|0; - $1598 = HEAP32[$j31>>2]|0; - $1599 = (($1597) + ($1598))|0; - $1600 = HEAP32[$ckUniq>>2]|0; - $1601 = HEAP32[$r1>>2]|0; - $1602 = HEAP32[$pIdx37>>2]|0; - $1603 = ((($1602)) + 52|0); - $1604 = HEAP16[$1603>>1]|0; - $1605 = $1604&65535; - $1606 = (_sqlite3VdbeAddOp4Int($1596,69,$1599,$1600,$1601,$1605)|0); - HEAP32[$jmp239>>2] = $1606; - $1607 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1607,37,1,-1)|0); - $1608 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1608,3,33349)|0); - $1609 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1609,94,7,3,3)|0); - $1610 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1610,4,33354)|0); - $1611 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1611,94,4,3,3)|0); - $1612 = HEAP32[$v>>2]|0; - $1613 = HEAP32[$pIdx37>>2]|0; - $1614 = HEAP32[$1613>>2]|0; - $1615 = (_sqlite3VdbeLoadString($1612,4,$1614)|0); - HEAP32[$jmp5>>2] = $1615; - $1616 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1616,94,4,3,3)|0); - $1617 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1617,33,3,1)|0); - $1618 = HEAP32[$v>>2]|0; - $1619 = (_sqlite3VdbeAddOp1($1618,138,1)|0); - HEAP32[$jmp4>>2] = $1619; + $1609 = (_sqlite3VdbeMakeLabel($1608)|0); + HEAP32[$ckUniq>>2] = $1609; + $1610 = HEAP32[$pPk40>>2]|0; + $1611 = HEAP32[$pIdx39>>2]|0; + $1612 = ($1610|0)==($1611|0); + if (!($1612)) { + $1613 = HEAP32[$0>>2]|0; + $1614 = HEAP32[$pIdx39>>2]|0; + $1615 = HEAP32[$iDataCur>>2]|0; + $1616 = HEAP32[$pPrior>>2]|0; + $1617 = HEAP32[$r1>>2]|0; + $1618 = (_sqlite3GenerateIndexKey($1613,$1614,$1615,0,0,$jmp342,$1616,$1617)|0); + HEAP32[$r1>>2] = $1618; + $1619 = HEAP32[$pIdx39>>2]|0; + HEAP32[$pPrior>>2] = $1619; $1620 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp0($1620,21)|0); - $1621 = HEAP32[$v>>2]|0; - $1622 = HEAP32[$jmp239>>2]|0; - _sqlite3VdbeJumpHere($1621,$1622); - $1623 = HEAP32[$pIdx37>>2]|0; - $1624 = ((($1623)) + 54|0); - $1625 = HEAP8[$1624>>0]|0; - $1626 = $1625&255; - $1627 = ($1626|0)!=(0); - if ($1627) { - $1628 = HEAP32[$v>>2]|0; - $1629 = (_sqlite3VdbeMakeLabel($1628)|0); - HEAP32[$uniqOk>>2] = $1629; + $1621 = HEAP32[$j31>>2]|0; + $1622 = (8 + ($1621))|0; + (_sqlite3VdbeAddOp2($1620,37,$1622,1)|0); + $1623 = HEAP32[$v>>2]|0; + $1624 = HEAP32[$iIdxCur>>2]|0; + $1625 = HEAP32[$j31>>2]|0; + $1626 = (($1624) + ($1625))|0; + $1627 = HEAP32[$ckUniq>>2]|0; + $1628 = HEAP32[$r1>>2]|0; + $1629 = HEAP32[$pIdx39>>2]|0; + $1630 = ((($1629)) + 52|0); + $1631 = HEAP16[$1630>>1]|0; + $1632 = $1631&65535; + $1633 = (_sqlite3VdbeAddOp4Int($1623,69,$1626,$1627,$1628,$1632)|0); + HEAP32[$jmp241>>2] = $1633; + $1634 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1634,37,1,-1)|0); + $1635 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1635,3,33050)|0); + $1636 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1636,94,7,3,3)|0); + $1637 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1637,4,33055)|0); + $1638 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1638,94,4,3,3)|0); + $1639 = HEAP32[$v>>2]|0; + $1640 = HEAP32[$pIdx39>>2]|0; + $1641 = HEAP32[$1640>>2]|0; + $1642 = (_sqlite3VdbeLoadString($1639,4,$1641)|0); + HEAP32[$jmp5>>2] = $1642; + $1643 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1643,94,4,3,3)|0); + $1644 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1644,33,3,1)|0); + $1645 = HEAP32[$v>>2]|0; + $1646 = (_sqlite3VdbeAddOp1($1645,138,1)|0); + HEAP32[$jmp4>>2] = $1646; + $1647 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp0($1647,21)|0); + $1648 = HEAP32[$v>>2]|0; + $1649 = HEAP32[$jmp241>>2]|0; + _sqlite3VdbeJumpHere($1648,$1649); + $1650 = HEAP32[$pIdx39>>2]|0; + $1651 = ((($1650)) + 54|0); + $1652 = HEAP8[$1651>>0]|0; + $1653 = $1652&255; + $1654 = ($1653|0)!=(0); + if ($1654) { + $1655 = HEAP32[$v>>2]|0; + $1656 = (_sqlite3VdbeMakeLabel($1655)|0); + HEAP32[$uniqOk>>2] = $1656; HEAP32[$kk>>2] = 0; while(1) { - $1630 = HEAP32[$kk>>2]|0; - $1631 = HEAP32[$pIdx37>>2]|0; - $1632 = ((($1631)) + 50|0); - $1633 = HEAP16[$1632>>1]|0; - $1634 = $1633&65535; - $1635 = ($1630|0)<($1634|0); - if (!($1635)) { + $1657 = HEAP32[$kk>>2]|0; + $1658 = HEAP32[$pIdx39>>2]|0; + $1659 = ((($1658)) + 50|0); + $1660 = HEAP16[$1659>>1]|0; + $1661 = $1660&65535; + $1662 = ($1657|0)<($1661|0); + if (!($1662)) { break; } - $1636 = HEAP32[$kk>>2]|0; - $1637 = HEAP32[$pIdx37>>2]|0; - $1638 = ((($1637)) + 4|0); - $1639 = HEAP32[$1638>>2]|0; - $1640 = (($1639) + ($1636<<1)|0); - $1641 = HEAP16[$1640>>1]|0; - $1642 = $1641 << 16 >> 16; - HEAP32[$iCol>>2] = $1642; - $1643 = HEAP32[$iCol>>2]|0; - $1644 = ($1643|0)>=(0); - if ($1644) { - $1645 = HEAP32[$iCol>>2]|0; - $1646 = HEAP32[$pTab36>>2]|0; - $1647 = ((($1646)) + 4|0); - $1648 = HEAP32[$1647>>2]|0; - $1649 = (($1648) + (($1645*24)|0)|0); - $1650 = ((($1649)) + 20|0); - $1651 = HEAP8[$1650>>0]|0; - $1652 = $1651&255; - $1653 = ($1652|0)!=(0); - if (!($1653)) { - label = 279; + $1663 = HEAP32[$kk>>2]|0; + $1664 = HEAP32[$pIdx39>>2]|0; + $1665 = ((($1664)) + 4|0); + $1666 = HEAP32[$1665>>2]|0; + $1667 = (($1666) + ($1663<<1)|0); + $1668 = HEAP16[$1667>>1]|0; + $1669 = $1668 << 16 >> 16; + HEAP32[$iCol>>2] = $1669; + $1670 = HEAP32[$iCol>>2]|0; + $1671 = ($1670|0)>=(0); + if ($1671) { + $1672 = HEAP32[$iCol>>2]|0; + $1673 = HEAP32[$pTab38>>2]|0; + $1674 = ((($1673)) + 4|0); + $1675 = HEAP32[$1674>>2]|0; + $1676 = (($1675) + ($1672<<4)|0); + $1677 = ((($1676)) + 12|0); + $1678 = HEAP8[$1677>>0]|0; + $1679 = $1678&255; + $1680 = ($1679|0)!=(0); + if (!($1680)) { + label = 287; } } else { - label = 279; + label = 287; } - if ((label|0) == 279) { + if ((label|0) == 287) { label = 0; - $1654 = HEAP32[$v>>2]|0; - $1655 = HEAP32[$r1>>2]|0; - $1656 = HEAP32[$kk>>2]|0; - $1657 = (($1655) + ($1656))|0; - $1658 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeAddOp2($1654,76,$1657,$1658)|0); + $1681 = HEAP32[$v>>2]|0; + $1682 = HEAP32[$r1>>2]|0; + $1683 = HEAP32[$kk>>2]|0; + $1684 = (($1682) + ($1683))|0; + $1685 = HEAP32[$uniqOk>>2]|0; + (_sqlite3VdbeAddOp2($1681,76,$1684,$1685)|0); } - $1659 = HEAP32[$kk>>2]|0; - $1660 = (($1659) + 1)|0; - HEAP32[$kk>>2] = $1660; + $1686 = HEAP32[$kk>>2]|0; + $1687 = (($1686) + 1)|0; + HEAP32[$kk>>2] = $1687; } - $1661 = HEAP32[$v>>2]|0; - $1662 = HEAP32[$iIdxCur>>2]|0; - $1663 = HEAP32[$j31>>2]|0; - $1664 = (($1662) + ($1663))|0; - $1665 = (_sqlite3VdbeAddOp1($1661,7,$1664)|0); - HEAP32[$jmp6>>2] = $1665; - $1666 = HEAP32[$v>>2]|0; - $1667 = HEAP32[$uniqOk>>2]|0; - (_sqlite3VdbeGoto($1666,$1667)|0); - $1668 = HEAP32[$v>>2]|0; - $1669 = HEAP32[$jmp6>>2]|0; - _sqlite3VdbeJumpHere($1668,$1669); - $1670 = HEAP32[$v>>2]|0; - $1671 = HEAP32[$iIdxCur>>2]|0; - $1672 = HEAP32[$j31>>2]|0; - $1673 = (($1671) + ($1672))|0; - $1674 = HEAP32[$uniqOk>>2]|0; - $1675 = HEAP32[$r1>>2]|0; - $1676 = HEAP32[$pIdx37>>2]|0; - $1677 = ((($1676)) + 50|0); - $1678 = HEAP16[$1677>>1]|0; - $1679 = $1678&65535; - (_sqlite3VdbeAddOp4Int($1670,115,$1673,$1674,$1675,$1679)|0); - $1680 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1680,37,1,-1)|0); - $1681 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1681,3,33375)|0); - $1682 = HEAP32[$v>>2]|0; - $1683 = HEAP32[$jmp5>>2]|0; - (_sqlite3VdbeGoto($1682,$1683)|0); - $1684 = HEAP32[$v>>2]|0; - $1685 = HEAP32[$uniqOk>>2]|0; - _sqlite3VdbeResolveLabel($1684,$1685); + $1688 = HEAP32[$v>>2]|0; + $1689 = HEAP32[$iIdxCur>>2]|0; + $1690 = HEAP32[$j31>>2]|0; + $1691 = (($1689) + ($1690))|0; + $1692 = (_sqlite3VdbeAddOp1($1688,7,$1691)|0); + HEAP32[$jmp6>>2] = $1692; + $1693 = HEAP32[$v>>2]|0; + $1694 = HEAP32[$uniqOk>>2]|0; + (_sqlite3VdbeGoto($1693,$1694)|0); + $1695 = HEAP32[$v>>2]|0; + $1696 = HEAP32[$jmp6>>2]|0; + _sqlite3VdbeJumpHere($1695,$1696); + $1697 = HEAP32[$v>>2]|0; + $1698 = HEAP32[$iIdxCur>>2]|0; + $1699 = HEAP32[$j31>>2]|0; + $1700 = (($1698) + ($1699))|0; + $1701 = HEAP32[$uniqOk>>2]|0; + $1702 = HEAP32[$r1>>2]|0; + $1703 = HEAP32[$pIdx39>>2]|0; + $1704 = ((($1703)) + 50|0); + $1705 = HEAP16[$1704>>1]|0; + $1706 = $1705&65535; + (_sqlite3VdbeAddOp4Int($1697,115,$1700,$1701,$1702,$1706)|0); + $1707 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1707,37,1,-1)|0); + $1708 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1708,3,33076)|0); + $1709 = HEAP32[$v>>2]|0; + $1710 = HEAP32[$jmp5>>2]|0; + (_sqlite3VdbeGoto($1709,$1710)|0); + $1711 = HEAP32[$v>>2]|0; + $1712 = HEAP32[$uniqOk>>2]|0; + _sqlite3VdbeResolveLabel($1711,$1712); } - $1686 = HEAP32[$v>>2]|0; - $1687 = HEAP32[$jmp4>>2]|0; - _sqlite3VdbeJumpHere($1686,$1687); - $1688 = HEAP32[$0>>2]|0; - $1689 = HEAP32[$jmp340>>2]|0; - _sqlite3ResolvePartIdxLabel($1688,$1689); + $1713 = HEAP32[$v>>2]|0; + $1714 = HEAP32[$jmp4>>2]|0; + _sqlite3VdbeJumpHere($1713,$1714); + $1715 = HEAP32[$0>>2]|0; + $1716 = HEAP32[$jmp342>>2]|0; + _sqlite3ResolvePartIdxLabel($1715,$1716); } - $1690 = HEAP32[$pIdx37>>2]|0; - $1691 = ((($1690)) + 20|0); - $1692 = HEAP32[$1691>>2]|0; - HEAP32[$pIdx37>>2] = $1692; - $1693 = HEAP32[$j31>>2]|0; - $1694 = (($1693) + 1)|0; - HEAP32[$j31>>2] = $1694; + $1717 = HEAP32[$pIdx39>>2]|0; + $1718 = ((($1717)) + 20|0); + $1719 = HEAP32[$1718>>2]|0; + HEAP32[$pIdx39>>2] = $1719; + $1720 = HEAP32[$j31>>2]|0; + $1721 = (($1720) + 1)|0; + HEAP32[$j31>>2] = $1721; } - $1695 = HEAP32[$iDataCur>>2]|0; - $1696 = HEAP32[$loopTop>>2]|0; - (_sqlite3VdbeAddOp2($1581,7,$1695,$1696)|0); - $1697 = HEAP32[$v>>2]|0; - $1698 = HEAP32[$loopTop>>2]|0; - $1699 = (($1698) - 1)|0; - _sqlite3VdbeJumpHere($1697,$1699); - $1700 = HEAP32[$v>>2]|0; - (_sqlite3VdbeLoadString($1700,2,33402)|0); + $1722 = HEAP32[$iDataCur>>2]|0; + $1723 = HEAP32[$loopTop>>2]|0; + (_sqlite3VdbeAddOp2($1608,7,$1722,$1723)|0); + $1724 = HEAP32[$v>>2]|0; + $1725 = HEAP32[$loopTop>>2]|0; + $1726 = (($1725) - 1)|0; + _sqlite3VdbeJumpHere($1724,$1726); + $1727 = HEAP32[$v>>2]|0; + (_sqlite3VdbeLoadString($1727,2,33103)|0); HEAP32[$j31>>2] = 0; - $1701 = HEAP32[$pTab36>>2]|0; - $1702 = ((($1701)) + 8|0); - $1703 = HEAP32[$1702>>2]|0; - HEAP32[$pIdx37>>2] = $1703; + $1728 = HEAP32[$pTab38>>2]|0; + $1729 = ((($1728)) + 8|0); + $1730 = HEAP32[$1729>>2]|0; + HEAP32[$pIdx39>>2] = $1730; while(1) { - $1704 = HEAP32[$pIdx37>>2]|0; - $1705 = ($1704|0)!=(0|0); - if (!($1705)) { - break L356; + $1731 = HEAP32[$pIdx39>>2]|0; + $1732 = ($1731|0)!=(0|0); + if (!($1732)) { + break L371; } - $1706 = HEAP32[$pPk38>>2]|0; - $1707 = HEAP32[$pIdx37>>2]|0; - $1708 = ($1706|0)==($1707|0); - if (!($1708)) { - $1709 = HEAP32[$v>>2]|0; - $1710 = (_sqlite3VdbeCurrentAddr($1709)|0); - HEAP32[$addr32>>2] = $1710; - $1711 = HEAP32[$v>>2]|0; - $1712 = HEAP32[$addr32>>2]|0; - $1713 = (($1712) + 2)|0; - (_sqlite3VdbeAddOp2($1711,138,1,$1713)|0); - $1714 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1714,21,0,0)|0); - $1715 = HEAP32[$v>>2]|0; - $1716 = HEAP32[$iIdxCur>>2]|0; - $1717 = HEAP32[$j31>>2]|0; - $1718 = (($1716) + ($1717))|0; - (_sqlite3VdbeAddOp2($1715,50,$1718,3)|0); - $1719 = HEAP32[$v>>2]|0; - $1720 = HEAP32[$j31>>2]|0; - $1721 = (8 + ($1720))|0; - $1722 = HEAP32[$addr32>>2]|0; - $1723 = (($1722) + 8)|0; - (_sqlite3VdbeAddOp3($1719,79,$1721,$1723,3)|0); - $1724 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1724,-112); - $1725 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1725,37,1,-1)|0); - $1726 = HEAP32[$v>>2]|0; - $1727 = HEAP32[$pIdx37>>2]|0; - $1728 = HEAP32[$1727>>2]|0; - (_sqlite3VdbeLoadString($1726,3,$1728)|0); - $1729 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp3($1729,94,3,2,7)|0); - $1730 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1730,33,7,1)|0); + $1733 = HEAP32[$pPk40>>2]|0; + $1734 = HEAP32[$pIdx39>>2]|0; + $1735 = ($1733|0)==($1734|0); + if (!($1735)) { + $1736 = HEAP32[$v>>2]|0; + $1737 = (_sqlite3VdbeCurrentAddr($1736)|0); + HEAP32[$addr32>>2] = $1737; + $1738 = HEAP32[$v>>2]|0; + $1739 = HEAP32[$addr32>>2]|0; + $1740 = (($1739) + 2)|0; + (_sqlite3VdbeAddOp2($1738,138,1,$1740)|0); + $1741 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1741,21,0,0)|0); + $1742 = HEAP32[$v>>2]|0; + $1743 = HEAP32[$iIdxCur>>2]|0; + $1744 = HEAP32[$j31>>2]|0; + $1745 = (($1743) + ($1744))|0; + (_sqlite3VdbeAddOp2($1742,50,$1745,3)|0); + $1746 = HEAP32[$v>>2]|0; + $1747 = HEAP32[$j31>>2]|0; + $1748 = (8 + ($1747))|0; + $1749 = HEAP32[$addr32>>2]|0; + $1750 = (($1749) + 8)|0; + (_sqlite3VdbeAddOp3($1746,79,$1748,$1750,3)|0); + $1751 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($1751,-112); + $1752 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1752,37,1,-1)|0); + $1753 = HEAP32[$v>>2]|0; + $1754 = HEAP32[$pIdx39>>2]|0; + $1755 = HEAP32[$1754>>2]|0; + (_sqlite3VdbeLoadString($1753,3,$1755)|0); + $1756 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp3($1756,94,3,2,7)|0); + $1757 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1757,33,7,1)|0); } - $1731 = HEAP32[$pIdx37>>2]|0; - $1732 = ((($1731)) + 20|0); - $1733 = HEAP32[$1732>>2]|0; - HEAP32[$pIdx37>>2] = $1733; - $1734 = HEAP32[$j31>>2]|0; - $1735 = (($1734) + 1)|0; - HEAP32[$j31>>2] = $1735; + $1758 = HEAP32[$pIdx39>>2]|0; + $1759 = ((($1758)) + 20|0); + $1760 = HEAP32[$1759>>2]|0; + HEAP32[$pIdx39>>2] = $1760; + $1761 = HEAP32[$j31>>2]|0; + $1762 = (($1761) + 1)|0; + HEAP32[$j31>>2] = $1762; } } } while(0); - $1736 = HEAP32[$x33>>2]|0; - $1737 = HEAP32[$1736>>2]|0; - HEAP32[$x33>>2] = $1737; + $1763 = HEAP32[$x33>>2]|0; + $1764 = HEAP32[$1763>>2]|0; + HEAP32[$x33>>2] = $1764; } } } while(0); - $1738 = HEAP32[$i30>>2]|0; - $1739 = (($1738) + 1)|0; - HEAP32[$i30>>2] = $1739; + $1765 = HEAP32[$i30>>2]|0; + $1766 = (($1765) + 1)|0; + HEAP32[$i30>>2] = $1766; } - $1740 = HEAP32[$v>>2]|0; - $1741 = (_sqlite3VdbeAddOpList($1740,4,33431,0)|0); - HEAP32[$aOp41>>2] = $1741; - $1742 = HEAP32[$aOp41>>2]|0; - $1743 = ($1742|0)!=(0|0); - if (!($1743)) { + $1767 = HEAP32[$v>>2]|0; + $1768 = (_sqlite3VdbeAddOpList($1767,4,33132,0)|0); + HEAP32[$aOp43>>2] = $1768; + $1769 = HEAP32[$aOp43>>2]|0; + $1770 = ($1769|0)!=(0|0); + if (!($1770)) { break L21; } - $1744 = HEAP32[$mxErr>>2]|0; - $1745 = (0 - ($1744))|0; - $1746 = HEAP32[$aOp41>>2]|0; - $1747 = ((($1746)) + 8|0); - HEAP32[$1747>>2] = $1745; - $1748 = HEAP32[$aOp41>>2]|0; - $1749 = ((($1748)) + 40|0); - $1750 = ((($1749)) + 1|0); - HEAP8[$1750>>0] = -2; - $1751 = HEAP32[$aOp41>>2]|0; - $1752 = ((($1751)) + 40|0); - $1753 = ((($1752)) + 16|0); - HEAP32[$1753>>2] = 33447; + $1771 = HEAP32[$mxErr>>2]|0; + $1772 = (0 - ($1771))|0; + $1773 = HEAP32[$aOp43>>2]|0; + $1774 = ((($1773)) + 8|0); + HEAP32[$1774>>2] = $1772; + $1775 = HEAP32[$aOp43>>2]|0; + $1776 = ((($1775)) + 40|0); + $1777 = ((($1776)) + 1|0); + HEAP8[$1777>>0] = -2; + $1778 = HEAP32[$aOp43>>2]|0; + $1779 = ((($1778)) + 40|0); + $1780 = ((($1779)) + 16|0); + HEAP32[$1780>>2] = 33148; break L21; break; } case 12: { - $1754 = HEAP32[$zRight>>2]|0; - $1755 = ($1754|0)!=(0|0); - if (!($1755)) { - $1756 = HEAP32[$0>>2]|0; - $1757 = (_sqlite3ReadSchema($1756)|0); - $1758 = ($1757|0)!=(0); - if ($1758) { + $1781 = HEAP32[$zRight>>2]|0; + $1782 = ($1781|0)!=(0|0); + if (!($1782)) { + $1783 = HEAP32[$0>>2]|0; + $1784 = (_sqlite3ReadSchema($1783)|0); + $1785 = ($1784|0)!=(0); + if ($1785) { break L21; } - $1759 = HEAP32[$v>>2]|0; - $1760 = HEAP32[$0>>2]|0; - $1761 = HEAP32[$1760>>2]|0; - $1762 = ((($1761)) + 62|0); - $1763 = HEAP8[$1762>>0]|0; - $1764 = $1763&255; - $1765 = (6172 + ($1764<<3)|0); - $1766 = HEAP32[$1765>>2]|0; - _returnSingleText($1759,33450,$1766); + $1786 = HEAP32[$v>>2]|0; + $1787 = HEAP32[$0>>2]|0; + $1788 = HEAP32[$1787>>2]|0; + $1789 = ((($1788)) + 66|0); + $1790 = HEAP8[$1789>>0]|0; + $1791 = $1790&255; + $1792 = (6168 + ($1791<<3)|0); + $1793 = HEAP32[$1792>>2]|0; + _returnSingleText($1786,33151,$1793); break L21; } - $1767 = HEAP32[$db>>2]|0; - $1768 = ((($1767)) + 16|0); - $1769 = HEAP32[$1768>>2]|0; - $1770 = ((($1769)) + 12|0); - $1771 = HEAP32[$1770>>2]|0; - $1772 = ((($1771)) + 78|0); - $1773 = HEAP16[$1772>>1]|0; - $1774 = $1773&65535; - $1775 = $1774 & 1; - $1776 = ($1775|0)==(1); - if ($1776) { - $1777 = HEAP32[$db>>2]|0; - $1778 = ((($1777)) + 16|0); - $1779 = HEAP32[$1778>>2]|0; - $1780 = ((($1779)) + 12|0); - $1781 = HEAP32[$1780>>2]|0; - $1782 = ((($1781)) + 78|0); - $1783 = HEAP16[$1782>>1]|0; - $1784 = $1783&65535; - $1785 = $1784 & 4; - $1786 = ($1785|0)==(4); - if (!($1786)) { + $1794 = HEAP32[$db>>2]|0; + $1795 = ((($1794)) + 16|0); + $1796 = HEAP32[$1795>>2]|0; + $1797 = ((($1796)) + 12|0); + $1798 = HEAP32[$1797>>2]|0; + $1799 = ((($1798)) + 78|0); + $1800 = HEAP16[$1799>>1]|0; + $1801 = $1800&65535; + $1802 = $1801 & 1; + $1803 = ($1802|0)==(1); + if ($1803) { + $1804 = HEAP32[$db>>2]|0; + $1805 = ((($1804)) + 16|0); + $1806 = HEAP32[$1805>>2]|0; + $1807 = ((($1806)) + 12|0); + $1808 = HEAP32[$1807>>2]|0; + $1809 = ((($1808)) + 78|0); + $1810 = HEAP16[$1809>>1]|0; + $1811 = $1810&65535; + $1812 = $1811 & 4; + $1813 = ($1812|0)==(4); + if (!($1813)) { break L21; } } - HEAP32[$pEnc>>2] = 6172; + HEAP32[$pEnc>>2] = 6168; while(1) { - $1787 = HEAP32[$pEnc>>2]|0; - $1788 = HEAP32[$1787>>2]|0; - $1789 = ($1788|0)!=(0|0); - if (!($1789)) { + $1814 = HEAP32[$pEnc>>2]|0; + $1815 = HEAP32[$1814>>2]|0; + $1816 = ($1815|0)!=(0|0); + if (!($1816)) { break; } - $1790 = HEAP32[$zRight>>2]|0; - $1791 = HEAP32[$pEnc>>2]|0; - $1792 = HEAP32[$1791>>2]|0; - $1793 = (_sqlite3_stricmp($1790,$1792)|0); - $1794 = (0)==($1793|0); - $1795 = HEAP32[$pEnc>>2]|0; - if ($1794) { - label = 301; + $1817 = HEAP32[$zRight>>2]|0; + $1818 = HEAP32[$pEnc>>2]|0; + $1819 = HEAP32[$1818>>2]|0; + $1820 = (_sqlite3StrICmp($1817,$1819)|0); + $1821 = (0)==($1820|0); + $1822 = HEAP32[$pEnc>>2]|0; + if ($1821) { + label = 309; break; } - $1818 = ((($1795)) + 8|0); - HEAP32[$pEnc>>2] = $1818; + $1845 = ((($1822)) + 8|0); + HEAP32[$pEnc>>2] = $1845; } - if ((label|0) == 301) { - $1796 = ((($1795)) + 4|0); - $1797 = HEAP8[$1796>>0]|0; - $1798 = $1797&255; - $1799 = ($1798|0)!=(0); - if ($1799) { - $1800 = HEAP32[$pEnc>>2]|0; - $1801 = ((($1800)) + 4|0); - $1802 = HEAP8[$1801>>0]|0; - $1803 = $1802&255; - $1809 = $1803; + if ((label|0) == 309) { + $1823 = ((($1822)) + 4|0); + $1824 = HEAP8[$1823>>0]|0; + $1825 = $1824&255; + $1826 = ($1825|0)!=(0); + if ($1826) { + $1827 = HEAP32[$pEnc>>2]|0; + $1828 = ((($1827)) + 4|0); + $1829 = HEAP8[$1828>>0]|0; + $1830 = $1829&255; + $1836 = $1830; } else { - $1804 = HEAP8[960>>0]|0; - $1805 = $1804 << 24 >> 24; - $1806 = ($1805|0)==(0); - $1807 = $1806 ? 3 : 2; - $1809 = $1807; + $1831 = HEAP8[960>>0]|0; + $1832 = $1831 << 24 >> 24; + $1833 = ($1832|0)==(0); + $1834 = $1833 ? 3 : 2; + $1836 = $1834; } - $1808 = $1809&255; - $1810 = HEAP32[$db>>2]|0; - $1811 = ((($1810)) + 62|0); - HEAP8[$1811>>0] = $1808; - $1812 = HEAP32[$db>>2]|0; - $1813 = ((($1812)) + 16|0); - $1814 = HEAP32[$1813>>2]|0; - $1815 = ((($1814)) + 12|0); - $1816 = HEAP32[$1815>>2]|0; - $1817 = ((($1816)) + 77|0); - HEAP8[$1817>>0] = $1808; + $1835 = $1836&255; + $1837 = HEAP32[$db>>2]|0; + $1838 = ((($1837)) + 66|0); + HEAP8[$1838>>0] = $1835; + $1839 = HEAP32[$db>>2]|0; + $1840 = ((($1839)) + 16|0); + $1841 = HEAP32[$1840>>2]|0; + $1842 = ((($1841)) + 12|0); + $1843 = HEAP32[$1842>>2]|0; + $1844 = ((($1843)) + 77|0); + HEAP8[$1844>>0] = $1835; } - $1819 = HEAP32[$pEnc>>2]|0; - $1820 = HEAP32[$1819>>2]|0; - $1821 = ($1820|0)!=(0|0); - if ($1821) { + $1846 = HEAP32[$pEnc>>2]|0; + $1847 = HEAP32[$1846>>2]|0; + $1848 = ($1847|0)!=(0|0); + if ($1848) { break L21; } - $1822 = HEAP32[$0>>2]|0; - $1823 = HEAP32[$zRight>>2]|0; - HEAP32[$vararg_buffer91>>2] = $1823; - _sqlite3ErrorMsg($1822,33459,$vararg_buffer91); + $1849 = HEAP32[$0>>2]|0; + $1850 = HEAP32[$zRight>>2]|0; + HEAP32[$vararg_buffer91>>2] = $1850; + _sqlite3ErrorMsg($1849,33160,$vararg_buffer91); break L21; break; } case 0: { - $1824 = HEAP32[$pPragma>>2]|0; - $1825 = ((($1824)) + 8|0); - $1826 = HEAP32[$1825>>2]|0; - HEAP32[$iCookie>>2] = $1826; - $1827 = HEAP32[$v>>2]|0; - $1828 = HEAP32[$iDb>>2]|0; - _sqlite3VdbeUsesBtree($1827,$1828); - $1829 = HEAP32[$zRight>>2]|0; - $1830 = ($1829|0)!=(0|0); - if ($1830) { - $1831 = HEAP32[$pPragma>>2]|0; - $1832 = ((($1831)) + 5|0); - $1833 = HEAP8[$1832>>0]|0; - $1834 = $1833&255; - $1835 = $1834 & 2; - $1836 = ($1835|0)==(0); - if ($1836) { - $1837 = HEAP32[$v>>2]|0; - $1838 = (_sqlite3VdbeAddOpList($1837,2,33484,0)|0); - HEAP32[$aOp42>>2] = $1838; - $1839 = HEAP32[$iDb>>2]|0; - $1840 = HEAP32[$aOp42>>2]|0; - $1841 = ((($1840)) + 4|0); - HEAP32[$1841>>2] = $1839; - $1842 = HEAP32[$iDb>>2]|0; - $1843 = HEAP32[$aOp42>>2]|0; - $1844 = ((($1843)) + 20|0); - $1845 = ((($1844)) + 4|0); - HEAP32[$1845>>2] = $1842; - $1846 = HEAP32[$iCookie>>2]|0; - $1847 = HEAP32[$aOp42>>2]|0; - $1848 = ((($1847)) + 20|0); - $1849 = ((($1848)) + 8|0); - HEAP32[$1849>>2] = $1846; - $1850 = HEAP32[$zRight>>2]|0; - $1851 = (_sqlite3Atoi($1850)|0); - $1852 = HEAP32[$aOp42>>2]|0; - $1853 = ((($1852)) + 20|0); - $1854 = ((($1853)) + 12|0); - HEAP32[$1854>>2] = $1851; + $1851 = HEAP32[$pPragma>>2]|0; + $1852 = ((($1851)) + 8|0); + $1853 = HEAP32[$1852>>2]|0; + HEAP32[$iCookie>>2] = $1853; + $1854 = HEAP32[$v>>2]|0; + $1855 = HEAP32[$iDb>>2]|0; + _sqlite3VdbeUsesBtree($1854,$1855); + $1856 = HEAP32[$zRight>>2]|0; + $1857 = ($1856|0)!=(0|0); + if ($1857) { + $1858 = HEAP32[$pPragma>>2]|0; + $1859 = ((($1858)) + 5|0); + $1860 = HEAP8[$1859>>0]|0; + $1861 = $1860&255; + $1862 = $1861 & 2; + $1863 = ($1862|0)==(0); + if ($1863) { + $1864 = HEAP32[$v>>2]|0; + $1865 = (_sqlite3VdbeAddOpList($1864,2,33185,0)|0); + HEAP32[$aOp44>>2] = $1865; + $1866 = HEAP32[$iDb>>2]|0; + $1867 = HEAP32[$aOp44>>2]|0; + $1868 = ((($1867)) + 4|0); + HEAP32[$1868>>2] = $1866; + $1869 = HEAP32[$iDb>>2]|0; + $1870 = HEAP32[$aOp44>>2]|0; + $1871 = ((($1870)) + 20|0); + $1872 = ((($1871)) + 4|0); + HEAP32[$1872>>2] = $1869; + $1873 = HEAP32[$iCookie>>2]|0; + $1874 = HEAP32[$aOp44>>2]|0; + $1875 = ((($1874)) + 20|0); + $1876 = ((($1875)) + 8|0); + HEAP32[$1876>>2] = $1873; + $1877 = HEAP32[$zRight>>2]|0; + $1878 = (_sqlite3Atoi($1877)|0); + $1879 = HEAP32[$aOp44>>2]|0; + $1880 = ((($1879)) + 20|0); + $1881 = ((($1880)) + 12|0); + HEAP32[$1881>>2] = $1878; break L21; } } - $1855 = HEAP32[$v>>2]|0; - $1856 = (_sqlite3VdbeAddOpList($1855,3,33492,0)|0); - HEAP32[$aOp43>>2] = $1856; - $1857 = HEAP32[$iDb>>2]|0; - $1858 = HEAP32[$aOp43>>2]|0; - $1859 = ((($1858)) + 4|0); - HEAP32[$1859>>2] = $1857; - $1860 = HEAP32[$iDb>>2]|0; - $1861 = HEAP32[$aOp43>>2]|0; - $1862 = ((($1861)) + 20|0); - $1863 = ((($1862)) + 4|0); - HEAP32[$1863>>2] = $1860; - $1864 = HEAP32[$iCookie>>2]|0; - $1865 = HEAP32[$aOp43>>2]|0; - $1866 = ((($1865)) + 20|0); - $1867 = ((($1866)) + 12|0); - HEAP32[$1867>>2] = $1864; - $1868 = HEAP32[$v>>2]|0; - _sqlite3VdbeSetNumCols($1868,1); - $1869 = HEAP32[$v>>2]|0; - $1870 = HEAP32[$zLeft>>2]|0; - (_sqlite3VdbeSetColName($1869,0,0,$1870,(-1))|0); + $1882 = HEAP32[$v>>2]|0; + $1883 = (_sqlite3VdbeAddOpList($1882,3,33193,0)|0); + HEAP32[$aOp45>>2] = $1883; + $1884 = HEAP32[$iDb>>2]|0; + $1885 = HEAP32[$aOp45>>2]|0; + $1886 = ((($1885)) + 4|0); + HEAP32[$1886>>2] = $1884; + $1887 = HEAP32[$iDb>>2]|0; + $1888 = HEAP32[$aOp45>>2]|0; + $1889 = ((($1888)) + 20|0); + $1890 = ((($1889)) + 4|0); + HEAP32[$1890>>2] = $1887; + $1891 = HEAP32[$iCookie>>2]|0; + $1892 = HEAP32[$aOp45>>2]|0; + $1893 = ((($1892)) + 20|0); + $1894 = ((($1893)) + 12|0); + HEAP32[$1894>>2] = $1891; + $1895 = HEAP32[$v>>2]|0; + _sqlite3VdbeSetNumCols($1895,1); + $1896 = HEAP32[$v>>2]|0; + $1897 = HEAP32[$zLeft>>2]|0; + (_sqlite3VdbeSetColName($1896,0,0,$1897,(-1))|0); + $1898 = HEAP32[$v>>2]|0; + _sqlite3VdbeReusable($1898); break L21; break; } case 8: { - HEAP32[$i44>>2] = 0; - $1871 = HEAP32[$0>>2]|0; - $1872 = ((($1871)) + 76|0); - HEAP32[$1872>>2] = 1; - $1873 = HEAP32[$v>>2]|0; - _setOneColumnName($1873,33504); + HEAP32[$i46>>2] = 0; + $1899 = HEAP32[$0>>2]|0; + $1900 = ((($1899)) + 76|0); + HEAP32[$1900>>2] = 1; + $1901 = HEAP32[$v>>2]|0; + _setOneColumnName($1901,33205); while(1) { - $1874 = HEAP32[$i44>>2]|0; - $1875 = (($1874) + 1)|0; - HEAP32[$i44>>2] = $1875; - $1876 = (_sqlite3_compileoption_get($1874)|0); - HEAP32[$zOpt>>2] = $1876; - $1877 = ($1876|0)!=(0|0); - if (!($1877)) { - break L21; + $1902 = HEAP32[$i46>>2]|0; + $1903 = (($1902) + 1)|0; + HEAP32[$i46>>2] = $1903; + $1904 = (_sqlite3_compileoption_get($1902)|0); + HEAP32[$zOpt>>2] = $1904; + $1905 = ($1904|0)!=(0|0); + $1906 = HEAP32[$v>>2]|0; + if (!($1905)) { + break; } - $1878 = HEAP32[$v>>2]|0; - $1879 = HEAP32[$zOpt>>2]|0; - (_sqlite3VdbeLoadString($1878,1,$1879)|0); - $1880 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1880,33,1,1)|0); + $1907 = HEAP32[$zOpt>>2]|0; + (_sqlite3VdbeLoadString($1906,1,$1907)|0); + $1908 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1908,33,1,1)|0); } + _sqlite3VdbeReusable($1906); + break L21; break; } case 36: { - $1881 = HEAP32[$2>>2]|0; - $1882 = HEAP32[$1881>>2]|0; - $1883 = ($1882|0)!=(0|0); - $1884 = HEAP32[$iDb>>2]|0; - $1885 = $1883 ? $1884 : 10; - HEAP32[$iBt>>2] = $1885; - HEAP32[$eMode45>>2] = 0; - $1886 = HEAP32[$zRight>>2]|0; - $1887 = ($1886|0)!=(0|0); + $1909 = HEAP32[$2>>2]|0; + $1910 = HEAP32[$1909>>2]|0; + $1911 = ($1910|0)!=(0|0); + $1912 = HEAP32[$iDb>>2]|0; + $1913 = $1911 ? $1912 : 10; + HEAP32[$iBt>>2] = $1913; + HEAP32[$eMode47>>2] = 0; + $1914 = HEAP32[$zRight>>2]|0; + $1915 = ($1914|0)!=(0|0); do { - if ($1887) { - $1888 = HEAP32[$zRight>>2]|0; - $1889 = (_sqlite3_stricmp($1888,33519)|0); - $1890 = ($1889|0)==(0); - if ($1890) { - HEAP32[$eMode45>>2] = 1; + if ($1915) { + $1916 = HEAP32[$zRight>>2]|0; + $1917 = (_sqlite3StrICmp($1916,33220)|0); + $1918 = ($1917|0)==(0); + if ($1918) { + HEAP32[$eMode47>>2] = 1; break; } - $1891 = HEAP32[$zRight>>2]|0; - $1892 = (_sqlite3_stricmp($1891,33524)|0); - $1893 = ($1892|0)==(0); - if ($1893) { - HEAP32[$eMode45>>2] = 2; + $1919 = HEAP32[$zRight>>2]|0; + $1920 = (_sqlite3StrICmp($1919,33225)|0); + $1921 = ($1920|0)==(0); + if ($1921) { + HEAP32[$eMode47>>2] = 2; break; } - $1894 = HEAP32[$zRight>>2]|0; - $1895 = (_sqlite3_stricmp($1894,33532)|0); - $1896 = ($1895|0)==(0); - if ($1896) { - HEAP32[$eMode45>>2] = 3; + $1922 = HEAP32[$zRight>>2]|0; + $1923 = (_sqlite3StrICmp($1922,33233)|0); + $1924 = ($1923|0)==(0); + if ($1924) { + HEAP32[$eMode47>>2] = 3; } } } while(0); - $1897 = HEAP32[$v>>2]|0; - _setAllColumnNames($1897,3,6244); - $1898 = HEAP32[$0>>2]|0; - $1899 = ((($1898)) + 76|0); - HEAP32[$1899>>2] = 3; - $1900 = HEAP32[$v>>2]|0; - $1901 = HEAP32[$iBt>>2]|0; - $1902 = HEAP32[$eMode45>>2]|0; - (_sqlite3VdbeAddOp3($1900,8,$1901,$1902,1)|0); - $1903 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($1903,33,1,3)|0); + $1925 = HEAP32[$v>>2]|0; + _setAllColumnNames($1925,3,6240); + $1926 = HEAP32[$0>>2]|0; + $1927 = ((($1926)) + 76|0); + HEAP32[$1927>>2] = 3; + $1928 = HEAP32[$v>>2]|0; + $1929 = HEAP32[$iBt>>2]|0; + $1930 = HEAP32[$eMode47>>2]|0; + (_sqlite3VdbeAddOp3($1928,8,$1929,$1930,1)|0); + $1931 = HEAP32[$v>>2]|0; + (_sqlite3VdbeAddOp2($1931,33,1,3)|0); break L21; break; } case 35: { - $1904 = HEAP32[$zRight>>2]|0; - $1905 = ($1904|0)!=(0|0); - if ($1905) { - $1906 = HEAP32[$db>>2]|0; - $1907 = HEAP32[$zRight>>2]|0; - $1908 = (_sqlite3Atoi($1907)|0); - (_sqlite3_wal_autocheckpoint($1906,$1908)|0); + $1932 = HEAP32[$zRight>>2]|0; + $1933 = ($1932|0)!=(0|0); + if ($1933) { + $1934 = HEAP32[$db>>2]|0; + $1935 = HEAP32[$zRight>>2]|0; + $1936 = (_sqlite3Atoi($1935)|0); + (_sqlite3_wal_autocheckpoint($1934,$1936)|0); } - $1909 = HEAP32[$v>>2]|0; - $1910 = HEAP32[$db>>2]|0; - $1911 = ((($1910)) + 216|0); - $1912 = HEAP32[$1911>>2]|0; - $1913 = ($1912|0)==(139|0); - if ($1913) { - $1914 = HEAP32[$db>>2]|0; - $1915 = ((($1914)) + 220|0); - $1916 = HEAP32[$1915>>2]|0; - $1917 = $1916; - $1919 = $1917; + $1937 = HEAP32[$v>>2]|0; + $1938 = HEAP32[$db>>2]|0; + $1939 = ((($1938)) + 220|0); + $1940 = HEAP32[$1939>>2]|0; + $1941 = ($1940|0)==(139|0); + if ($1941) { + $1942 = HEAP32[$db>>2]|0; + $1943 = ((($1942)) + 224|0); + $1944 = HEAP32[$1943>>2]|0; + $1945 = $1944; + $1947 = $1945; } else { - $1919 = 0; + $1947 = 0; } - $1918 = ($1919|0)<(0); - $1920 = $1918 << 31 >> 31; - _returnSingleInt($1909,33541,$1919,$1920); + $1946 = ($1947|0)<(0); + $1948 = $1946 << 31 >> 31; + _returnSingleInt($1937,33242,$1947,$1948); break L21; break; } case 27: { - $1921 = HEAP32[$db>>2]|0; - (_sqlite3_db_release_memory($1921)|0); + $1949 = HEAP32[$db>>2]|0; + (_sqlite3_db_release_memory($1949)|0); break L21; break; } case 28: { - $1933 = HEAP32[$zRight>>2]|0; - $1934 = ($1933|0)!=(0|0); - if ($1934) { - $1935 = HEAP32[$zRight>>2]|0; - $1936 = (_sqlite3DecOrHexToI64($1935,$N)|0); - $1937 = ($1936|0)==(0); - if ($1937) { - $1938 = $N; - $1939 = $1938; - $1940 = HEAP32[$1939>>2]|0; - $1941 = (($1938) + 4)|0; - $1942 = $1941; - $1943 = HEAP32[$1942>>2]|0; - (_sqlite3_soft_heap_limit64($1940,$1943)|0); - $1944 = tempRet0; + $1961 = HEAP32[$zRight>>2]|0; + $1962 = ($1961|0)!=(0|0); + if ($1962) { + $1963 = HEAP32[$zRight>>2]|0; + $1964 = (_sqlite3DecOrHexToI64($1963,$N)|0); + $1965 = ($1964|0)==(0); + if ($1965) { + $1966 = $N; + $1967 = $1966; + $1968 = HEAP32[$1967>>2]|0; + $1969 = (($1966) + 4)|0; + $1970 = $1969; + $1971 = HEAP32[$1970>>2]|0; + (_sqlite3_soft_heap_limit64($1968,$1971)|0); + $1972 = tempRet0; } } - $1945 = HEAP32[$v>>2]|0; - $1946 = (_sqlite3_soft_heap_limit64(-1,-1)|0); - $1947 = tempRet0; - _returnSingleInt($1945,33568,$1946,$1947); + $1973 = HEAP32[$v>>2]|0; + $1974 = (_sqlite3_soft_heap_limit64(-1,-1)|0); + $1975 = tempRet0; + _returnSingleInt($1973,33269,$1974,$1975); break L21; break; } case 34: { - $1948 = HEAP32[$zRight>>2]|0; - $1949 = ($1948|0)!=(0|0); - if ($1949) { - $1950 = HEAP32[$zRight>>2]|0; - $1951 = (_sqlite3DecOrHexToI64($1950,$N46)|0); - $1952 = ($1951|0)==(0); - $1953 = $N46; - $1954 = $1953; - $1955 = HEAP32[$1954>>2]|0; - $1956 = (($1953) + 4)|0; - $1957 = $1956; - $1958 = HEAP32[$1957>>2]|0; - $1959 = ($1958|0)>(0); - $1960 = ($1955>>>0)>=(0); - $1961 = ($1958|0)==(0); - $1962 = $1961 & $1960; - $1963 = $1959 | $1962; - $or$cond14 = $1952 & $1963; + $1976 = HEAP32[$zRight>>2]|0; + $1977 = ($1976|0)!=(0|0); + if ($1977) { + $1978 = HEAP32[$zRight>>2]|0; + $1979 = (_sqlite3DecOrHexToI64($1978,$N48)|0); + $1980 = ($1979|0)==(0); + $1981 = $N48; + $1982 = $1981; + $1983 = HEAP32[$1982>>2]|0; + $1984 = (($1981) + 4)|0; + $1985 = $1984; + $1986 = HEAP32[$1985>>2]|0; + $1987 = ($1986|0)>(0); + $1988 = ($1983>>>0)>=(0); + $1989 = ($1986|0)==(0); + $1990 = $1989 & $1988; + $1991 = $1987 | $1990; + $or$cond14 = $1980 & $1991; if ($or$cond14) { - $1964 = HEAP32[$db>>2]|0; - $1965 = $N46; - $1966 = $1965; - $1967 = HEAP32[$1966>>2]|0; - $1968 = (($1965) + 4)|0; - $1969 = $1968; - $1970 = HEAP32[$1969>>2]|0; - $1971 = $1967 & 2147483647; - (_sqlite3_limit($1964,11,$1971)|0); + $1992 = HEAP32[$db>>2]|0; + $1993 = $N48; + $1994 = $1993; + $1995 = HEAP32[$1994>>2]|0; + $1996 = (($1993) + 4)|0; + $1997 = $1996; + $1998 = HEAP32[$1997>>2]|0; + $1999 = $1995 & 2147483647; + (_sqlite3_limit($1992,11,$1999)|0); } } - $1972 = HEAP32[$v>>2]|0; - $1973 = HEAP32[$db>>2]|0; - $1974 = (_sqlite3_limit($1973,11,-1)|0); - $1975 = ($1974|0)<(0); - $1976 = $1975 << 31 >> 31; - _returnSingleInt($1972,33584,$1974,$1976); + $2000 = HEAP32[$v>>2]|0; + $2001 = HEAP32[$db>>2]|0; + $2002 = (_sqlite3_limit($2001,11,-1)|0); + $2003 = ($2002|0)<(0); + $2004 = $2003 << 31 >> 31; + _returnSingleInt($2000,33285,$2002,$2004); break L21; break; } default: { - $1922 = HEAP32[$zRight>>2]|0; - $1923 = ($1922|0)!=(0|0); - if ($1923) { - $1924 = HEAP32[$db>>2]|0; - $1925 = HEAP32[$zRight>>2]|0; - $1926 = (_sqlite3Atoi($1925)|0); - (_sqlite3_busy_timeout($1924,$1926)|0); + $1950 = HEAP32[$zRight>>2]|0; + $1951 = ($1950|0)!=(0|0); + if ($1951) { + $1952 = HEAP32[$db>>2]|0; + $1953 = HEAP32[$zRight>>2]|0; + $1954 = (_sqlite3Atoi($1953)|0); + (_sqlite3_busy_timeout($1952,$1954)|0); } - $1927 = HEAP32[$v>>2]|0; - $1928 = HEAP32[$db>>2]|0; - $1929 = ((($1928)) + 496|0); - $1930 = HEAP32[$1929>>2]|0; - $1931 = ($1930|0)<(0); - $1932 = $1931 << 31 >> 31; - _returnSingleInt($1927,33560,$1930,$1932); + $1955 = HEAP32[$v>>2]|0; + $1956 = HEAP32[$db>>2]|0; + $1957 = ((($1956)) + 428|0); + $1958 = HEAP32[$1957>>2]|0; + $1959 = ($1958|0)<(0); + $1960 = $1959 << 31 >> 31; + _returnSingleInt($1955,33261,$1958,$1960); break L21; } } @@ -127018,12 +128318,12 @@ function _sqlite3Pragma($pParse,$pId1,$pId2,$pValue,$minusFlag) { } } } while(0); - $1977 = HEAP32[$db>>2]|0; - $1978 = HEAP32[$zLeft>>2]|0; - _sqlite3DbFree($1977,$1978); - $1979 = HEAP32[$db>>2]|0; - $1980 = HEAP32[$zRight>>2]|0; - _sqlite3DbFree($1979,$1980); + $2005 = HEAP32[$db>>2]|0; + $2006 = HEAP32[$zLeft>>2]|0; + _sqlite3DbFree($2005,$2006); + $2007 = HEAP32[$db>>2]|0; + $2008 = HEAP32[$zRight>>2]|0; + _sqlite3DbFree($2007,$2008); STACKTOP = sp;return; } function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { @@ -127111,7 +128411,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { _sqlite3TokenInit($nameToken,$35); $36 = HEAP32[$0>>2]|0; $37 = HEAP32[$iDb>>2]|0; - _sqlite3FixInit($sFix,$36,$37,19528,$nameToken); + _sqlite3FixInit($sFix,$36,$37,19272,$nameToken); $38 = HEAP32[$pTrig>>2]|0; $39 = ((($38)) + 28|0); $40 = HEAP32[$39>>2]|0; @@ -127125,7 +128425,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $47 = ($46|0)!=(0); if (!($47)) { $48 = HEAP32[$db>>2]|0; - $49 = ((($48)) + 140|0); + $49 = ((($48)) + 144|0); $50 = ((($49)) + 5|0); $51 = HEAP8[$50>>0]|0; $52 = ($51<<24>>24)!=(0); @@ -127158,7 +128458,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $72 = HEAP32[$71>>2]|0; $73 = HEAP32[$iDb>>2]|0; $74 = ($73|0)==(1); - $75 = $74 ? 20769 : 20788; + $75 = $74 ? 20513 : 20532; $76 = HEAP32[$zName>>2]|0; $77 = HEAP32[$pTrig>>2]|0; $78 = ((($77)) + 4|0); @@ -127173,7 +128473,7 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { HEAP32[$vararg_ptr4>>2] = $79; $vararg_ptr5 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr5>>2] = $80; - _sqlite3NestedParse($66,32822,$vararg_buffer); + _sqlite3NestedParse($66,32523,$vararg_buffer); $81 = HEAP32[$db>>2]|0; $82 = HEAP32[$z>>2]|0; _sqlite3DbFree($81,$82); @@ -127185,11 +128485,11 @@ function _sqlite3FinishTrigger($pParse,$pStepList,$pAll) { $87 = HEAP32[$db>>2]|0; $88 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $88; - $89 = (_sqlite3MPrintf($87,32886,$vararg_buffer6)|0); + $89 = (_sqlite3MPrintf($87,32587,$vararg_buffer6)|0); _sqlite3VdbeAddParseSchemaOp($85,$86,$89); } $90 = HEAP32[$db>>2]|0; - $91 = ((($90)) + 140|0); + $91 = ((($90)) + 144|0); $92 = ((($91)) + 5|0); $93 = HEAP8[$92>>0]|0; $94 = ($93<<24>>24)!=(0); @@ -127338,7 +128638,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $17 = ($16>>>0)>(0); if ($17) { $18 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($18,32505,$vararg_buffer); + _sqlite3ErrorMsg($18,32206,$vararg_buffer); break; } else { HEAP32[$iDb>>2] = 1; @@ -127372,13 +128672,13 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab do { if ((label|0) == 6) { $28 = HEAP32[$db>>2]|0; - $29 = ((($28)) + 65|0); + $29 = ((($28)) + 69|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = ($31|0)!=(0); if (!($32)) { $33 = HEAP32[$db>>2]|0; - $34 = ((($33)) + 140|0); + $34 = ((($33)) + 144|0); $35 = ((($34)) + 5|0); $36 = HEAP8[$35>>0]|0; $37 = $36&255; @@ -127403,7 +128703,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $51 = (_sqlite3SrcListLookup($49,$50)|0); HEAP32[$pTab>>2] = $51; $52 = HEAP32[$db>>2]|0; - $53 = ((($52)) + 140|0); + $53 = ((($52)) + 144|0); $54 = ((($53)) + 5|0); $55 = HEAP8[$54>>0]|0; $56 = $55&255; @@ -127433,14 +128733,14 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } } $74 = HEAP32[$db>>2]|0; - $75 = ((($74)) + 65|0); + $75 = ((($74)) + 69|0); $76 = HEAP8[$75>>0]|0; $77 = ($76<<24>>24)!=(0); if (!($77)) { $78 = HEAP32[$0>>2]|0; $79 = HEAP32[$iDb>>2]|0; $80 = HEAP32[$pName>>2]|0; - _sqlite3FixInit($sFix,$78,$79,19528,$80); + _sqlite3FixInit($sFix,$78,$79,19272,$80); $81 = HEAP32[$6>>2]|0; $82 = (_sqlite3FixSrcList($sFix,$81)|0); $83 = ($82|0)!=(0); @@ -127453,7 +128753,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $88 = ($87|0)!=(0|0); if (!($88)) { $89 = HEAP32[$db>>2]|0; - $90 = ((($89)) + 140|0); + $90 = ((($89)) + 144|0); $91 = ((($90)) + 4|0); $92 = HEAP8[$91>>0]|0; $93 = $92&255; @@ -127462,7 +128762,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab break; } $95 = HEAP32[$db>>2]|0; - $96 = ((($95)) + 140|0); + $96 = ((($95)) + 144|0); $97 = ((($96)) + 6|0); HEAP8[$97>>0] = 1; break; @@ -127475,7 +128775,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $103 = ($102|0)!=(0); if ($103) { $104 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($104,32551,$vararg_buffer12); + _sqlite3ErrorMsg($104,32252,$vararg_buffer12); break; } $105 = HEAP32[$db>>2]|0; @@ -127512,17 +128812,17 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab } else { $128 = HEAP32[$pName>>2]|0; HEAP32[$vararg_buffer14>>2] = $128; - _sqlite3ErrorMsg($127,32592,$vararg_buffer14); + _sqlite3ErrorMsg($127,32293,$vararg_buffer14); break; } } $130 = HEAP32[$pTab>>2]|0; $131 = HEAP32[$130>>2]|0; - $132 = (_sqlite3_strnicmp($131,28715,7)|0); + $132 = (_sqlite3_strnicmp($131,28440,7)|0); $133 = ($132|0)==(0); if ($133) { $134 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($134,32618,$vararg_buffer16); + _sqlite3ErrorMsg($134,32319,$vararg_buffer16); break; } $135 = HEAP32[$pTab>>2]|0; @@ -127536,14 +128836,14 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $141 = HEAP32[$0>>2]|0; $142 = HEAP32[$3>>2]|0; $143 = ($142|0)==(35); - $144 = $143 ? 32656 : 32663; + $144 = $143 ? 32357 : 32364; $145 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer18>>2] = $144; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $145; $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); HEAP32[$vararg_ptr22>>2] = 0; - _sqlite3ErrorMsg($141,32669,$vararg_buffer18); + _sqlite3ErrorMsg($141,32370,$vararg_buffer18); break; } $146 = HEAP32[$pTab>>2]|0; @@ -127559,7 +128859,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab HEAP32[$vararg_buffer23>>2] = $153; $vararg_ptr26 = ((($vararg_buffer23)) + 4|0); HEAP32[$vararg_ptr26>>2] = 0; - _sqlite3ErrorMsg($152,32706,$vararg_buffer23); + _sqlite3ErrorMsg($152,32407,$vararg_buffer23); break; } $154 = HEAP32[$db>>2]|0; @@ -127610,7 +128910,7 @@ function _sqlite3BeginTrigger($pParse,$pName1,$pName2,$tr_tm,$op,$pColumns,$pTab $186 = HEAP32[$0>>2]|0; $187 = HEAP32[$iTabDb>>2]|0; $188 = ($187|0)==(1); - $189 = $188 ? 20769 : 20788; + $189 = $188 ? 20513 : 20532; $190 = HEAP32[$zDb>>2]|0; $191 = (_sqlite3AuthCheck($186,18,$189,0,$190)|0); $192 = ($191|0)!=(0); @@ -127937,7 +129237,7 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { $4 = HEAP32[$3>>2]|0; HEAP32[$db>>2] = $4; $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 65|0); + $6 = ((($5)) + 69|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); if ($8) { @@ -127991,7 +129291,7 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { $36 = (($35) + ($32<<4)|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$zDb>>2]|0; - $39 = (_sqlite3_stricmp($37,$38)|0); + $39 = (_sqlite3StrICmp($37,$38)|0); $40 = ($39|0)!=(0); if (!($40)) { label = 7; @@ -128044,7 +129344,7 @@ function _sqlite3DropTrigger($pParse,$pName,$noErr) { HEAP32[$vararg_buffer>>2] = $60; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($59,32434,$vararg_buffer); + _sqlite3ErrorMsg($59,32135,$vararg_buffer); } $62 = HEAP32[$0>>2]|0; $63 = ((($62)) + 17|0); @@ -128091,7 +129391,7 @@ function _sqlite3Detach($pParse,$pDbname) { $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$1>>2]|0; - _codeAttach($2,25,5248,$3,0,0,$4); + _codeAttach($2,25,5252,$3,0,0,$4); STACKTOP = sp;return; } function _sqlite3Reindex($pParse,$pName1,$pName2) { @@ -128163,7 +129463,7 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { } $22 = HEAP32[$db>>2]|0; $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 62|0); + $24 = ((($23)) + 66|0); $25 = HEAP8[$24>>0]|0; $26 = HEAP32[$zColl>>2]|0; $27 = (_sqlite3FindCollSeq($22,$25,$26,0)|0); @@ -128246,7 +129546,7 @@ function _sqlite3Reindex($pParse,$pName1,$pName2) { _sqlite3RefillIndex($73,$74,-1); STACKTOP = sp;return; } else { - _sqlite3ErrorMsg($71,31878,$vararg_buffer); + _sqlite3ErrorMsg($71,31595,$vararg_buffer); STACKTOP = sp;return; } } @@ -128488,7 +129788,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $7 = HEAP32[$6>>2]|0; HEAP32[$savedDbFlags>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 65|0); + $9 = ((($8)) + 69|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)!=(0); do { @@ -128563,7 +129863,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $65 = HEAP32[$pTab>>2]|0; $66 = HEAP32[$65>>2]|0; HEAP32[$vararg_buffer1>>2] = $66; - _sqlite3ErrorMsg($64,29208,$vararg_buffer1); + _sqlite3ErrorMsg($64,28933,$vararg_buffer1); break; } $67 = HEAP32[$zDb>>2]|0; @@ -128662,7 +129962,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $130 = HEAP32[$zDb>>2]|0; $131 = HEAP32[$iDb>>2]|0; $132 = ($131|0)==(1); - $133 = $132 ? 20769 : 20788; + $133 = $132 ? 20513 : 20532; $134 = HEAP32[$zTabName>>2]|0; $135 = HEAP32[$zName>>2]|0; $136 = HEAP32[$zWhere>>2]|0; @@ -128675,7 +129975,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr9>>2] = $135; $vararg_ptr10 = ((($vararg_buffer4)) + 16|0); HEAP32[$vararg_ptr10>>2] = $136; - _sqlite3NestedParse($129,29235,$vararg_buffer4); + _sqlite3NestedParse($129,28960,$vararg_buffer4); $137 = HEAP32[$db>>2]|0; $138 = HEAP32[$zWhere>>2]|0; _sqlite3DbFree($137,$138); @@ -128685,7 +129985,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $140 = HEAP32[$zDb>>2]|0; $141 = HEAP32[$iDb>>2]|0; $142 = ($141|0)==(1); - $143 = $142 ? 20769 : 20788; + $143 = $142 ? 20513 : 20532; $144 = HEAP32[$zName>>2]|0; $145 = HEAP32[$zName>>2]|0; $146 = HEAP32[$zName>>2]|0; @@ -128710,10 +130010,10 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr20>>2] = $149; $vararg_ptr21 = ((($vararg_buffer11)) + 32|0); HEAP32[$vararg_ptr21>>2] = $150; - _sqlite3NestedParse($139,29304,$vararg_buffer11); + _sqlite3NestedParse($139,29029,$vararg_buffer11); $151 = HEAP32[$db>>2]|0; $152 = HEAP32[$zDb>>2]|0; - $153 = (_sqlite3FindTable($151,29688,$152)|0); + $153 = (_sqlite3FindTable($151,29413,$152)|0); $154 = ($153|0)!=(0|0); if ($154) { $155 = HEAP32[$0>>2]|0; @@ -128726,7 +130026,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr25>>2] = $157; $vararg_ptr26 = ((($vararg_buffer22)) + 8|0); HEAP32[$vararg_ptr26>>2] = $159; - _sqlite3NestedParse($155,29704,$vararg_buffer22); + _sqlite3NestedParse($155,29429,$vararg_buffer22); } $160 = HEAP32[$0>>2]|0; $161 = HEAP32[$pTab>>2]|0; @@ -128743,7 +130043,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { HEAP32[$vararg_ptr30>>2] = $166; $vararg_ptr31 = ((($vararg_buffer27)) + 8|0); HEAP32[$vararg_ptr31>>2] = $167; - _sqlite3NestedParse($164,29762,$vararg_buffer27); + _sqlite3NestedParse($164,29487,$vararg_buffer27); $168 = HEAP32[$db>>2]|0; $169 = HEAP32[$zWhere>>2]|0; _sqlite3DbFree($168,$169); @@ -128795,7 +130095,7 @@ function _sqlite3AlterRenameTable($pParse,$pSrc,$pName) { $49 = HEAP32[$0>>2]|0; $50 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $50; - _sqlite3ErrorMsg($49,29149,$vararg_buffer); + _sqlite3ErrorMsg($49,28874,$vararg_buffer); } } } @@ -128818,13 +130118,13 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $rc = 0, $savedDbFlags = 0, $v = 0; - var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iDb = 0, $or$cond = 0, $or$cond3 = 0, $pCol = 0, $pDflt = 0, $pNew = 0, $pTab = 0, $pVal = 0, $rc = 0; + var $savedDbFlags = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr19 = 0, $zCol = 0, $zDb = 0, $zEnd = 0, $zTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $vararg_buffer13 = sp + 40|0; @@ -128866,7 +130166,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { STACKTOP = sp;return; } $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 65|0); + $12 = ((($11)) + 69|0); $13 = HEAP8[$12>>0]|0; $14 = $13&255; $15 = ($14|0)!=(0); @@ -128902,7 +130202,7 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $38 = HEAP32[$pNew>>2]|0; $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; - $41 = (($40) + (($37*24)|0)|0); + $41 = (($40) + ($37<<4)|0); HEAP32[$pCol>>2] = $41; $42 = HEAP32[$pCol>>2]|0; $43 = ((($42)) + 4|0); @@ -128926,189 +130226,191 @@ function _sqlite3AlterFinishAddColumn($pParse,$pColDef) { $56 = ($55|0)!=(0|0); if ($56) { $57 = HEAP32[$pDflt>>2]|0; - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = ($59|0)==(101); - if ($60) { + $58 = ((($57)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($61|0)==(101); + if ($62) { HEAP32[$pDflt>>2] = 0; } } - $61 = HEAP32[$pCol>>2]|0; - $62 = ((($61)) + 23|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 & 1; - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($67,28751,$vararg_buffer); + $63 = HEAP32[$pCol>>2]|0; + $64 = ((($63)) + 15|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = $66 & 1; + $68 = ($67|0)!=(0); + if ($68) { + $69 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($69,28476,$vararg_buffer); STACKTOP = sp;return; } - $68 = HEAP32[$pNew>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)!=(0|0); - if ($71) { - $72 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($72,28783,$vararg_buffer5); + $70 = HEAP32[$pNew>>2]|0; + $71 = ((($70)) + 8|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($72|0)!=(0|0); + if ($73) { + $74 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($74,28508,$vararg_buffer5); STACKTOP = sp;return; } - $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 24|0); - $75 = HEAP32[$74>>2]|0; - $76 = $75 & 524288; - $77 = ($76|0)!=(0); - if ($77) { - $78 = HEAP32[$pNew>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)!=(0|0); - $82 = HEAP32[$pDflt>>2]|0; + $75 = HEAP32[$db>>2]|0; + $76 = ((($75)) + 24|0); + $77 = HEAP32[$76>>2]|0; + $78 = $77 & 524288; + $79 = ($78|0)!=(0); + if ($79) { + $80 = HEAP32[$pNew>>2]|0; + $81 = ((($80)) + 16|0); + $82 = HEAP32[$81>>2]|0; $83 = ($82|0)!=(0|0); - $or$cond = $81 & $83; + $84 = HEAP32[$pDflt>>2]|0; + $85 = ($84|0)!=(0|0); + $or$cond = $83 & $85; if ($or$cond) { - $84 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($84,28810,$vararg_buffer7); + $86 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($86,28535,$vararg_buffer7); STACKTOP = sp;return; } } - $85 = HEAP32[$pCol>>2]|0; - $86 = ((($85)) + 20|0); - $87 = HEAP8[$86>>0]|0; - $88 = $87&255; - $89 = ($88|0)==(0); - $90 = HEAP32[$pDflt>>2]|0; - $91 = ($90|0)!=(0|0); - $or$cond3 = $89 | $91; + $87 = HEAP32[$pCol>>2]|0; + $88 = ((($87)) + 12|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = ($90|0)==(0); + $92 = HEAP32[$pDflt>>2]|0; + $93 = ($92|0)!=(0|0); + $or$cond3 = $91 | $93; if (!($or$cond3)) { - $92 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($92,28869,$vararg_buffer9); + $94 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($94,28594,$vararg_buffer9); STACKTOP = sp;return; } - $93 = HEAP32[$pDflt>>2]|0; - $94 = ($93|0)!=(0|0); + $95 = HEAP32[$pDflt>>2]|0; + $96 = ($95|0)!=(0|0); do { - if ($94) { + if ($96) { HEAP32[$pVal>>2] = 0; - $95 = HEAP32[$db>>2]|0; - $96 = HEAP32[$pDflt>>2]|0; - $97 = (_sqlite3ValueFromExpr($95,$96,1,65,$pVal)|0); - HEAP32[$rc>>2] = $97; - $98 = HEAP32[$rc>>2]|0; - $99 = ($98|0)!=(0); - if ($99) { + $97 = HEAP32[$db>>2]|0; + $98 = HEAP32[$pDflt>>2]|0; + $99 = (_sqlite3ValueFromExpr($97,$98,1,65,$pVal)|0); + HEAP32[$rc>>2] = $99; + $100 = HEAP32[$rc>>2]|0; + $101 = ($100|0)!=(0); + if ($101) { STACKTOP = sp;return; } - $100 = HEAP32[$pVal>>2]|0; - $101 = ($100|0)!=(0|0); - if ($101) { - $103 = HEAP32[$pVal>>2]|0; - _sqlite3ValueFree($103); + $102 = HEAP32[$pVal>>2]|0; + $103 = ($102|0)!=(0|0); + if ($103) { + $105 = HEAP32[$pVal>>2]|0; + _sqlite3ValueFree($105); break; } - $102 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($102,28922,$vararg_buffer11); + $104 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($104,28647,$vararg_buffer11); STACKTOP = sp;return; } } while(0); - $104 = HEAP32[$db>>2]|0; - $105 = HEAP32[$1>>2]|0; - $106 = HEAP32[$105>>2]|0; + $106 = HEAP32[$db>>2]|0; $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 4|0); - $109 = HEAP32[$108>>2]|0; - $110 = (_sqlite3DbStrNDup($104,$106,$109,0)|0); - HEAP32[$zCol>>2] = $110; - $111 = HEAP32[$zCol>>2]|0; - $112 = ($111|0)!=(0|0); - if ($112) { - $113 = HEAP32[$1>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($115) - 1)|0; - $117 = HEAP32[$zCol>>2]|0; - $118 = (($117) + ($116)|0); - HEAP32[$zEnd>>2] = $118; - $119 = HEAP32[$db>>2]|0; - $120 = ((($119)) + 24|0); - $121 = HEAP32[$120>>2]|0; - HEAP32[$savedDbFlags>>2] = $121; + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$1>>2]|0; + $110 = ((($109)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = (_sqlite3DbStrNDup($106,$108,$111,0)|0); + HEAP32[$zCol>>2] = $112; + $113 = HEAP32[$zCol>>2]|0; + $114 = ($113|0)!=(0|0); + if ($114) { + $115 = HEAP32[$1>>2]|0; + $116 = ((($115)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = (($117) - 1)|0; + $119 = HEAP32[$zCol>>2]|0; + $120 = (($119) + ($118)|0); + HEAP32[$zEnd>>2] = $120; + $121 = HEAP32[$db>>2]|0; + $122 = ((($121)) + 24|0); + $123 = HEAP32[$122>>2]|0; + HEAP32[$savedDbFlags>>2] = $123; while(1) { - $122 = HEAP32[$zEnd>>2]|0; - $123 = HEAP32[$zCol>>2]|0; - $124 = ($122>>>0)>($123>>>0); - if (!($124)) { + $124 = HEAP32[$zEnd>>2]|0; + $125 = HEAP32[$zCol>>2]|0; + $126 = ($124>>>0)>($125>>>0); + if (!($126)) { break; } - $125 = HEAP32[$zEnd>>2]|0; - $126 = HEAP8[$125>>0]|0; - $127 = $126 << 24 >> 24; - $128 = ($127|0)==(59); - if (!($128)) { - $129 = HEAP32[$zEnd>>2]|0; - $130 = HEAP8[$129>>0]|0; - $131 = $130&255; - $132 = (19267 + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = $134 & 1; - $136 = ($135|0)!=(0); - if (!($136)) { + $127 = HEAP32[$zEnd>>2]|0; + $128 = HEAP8[$127>>0]|0; + $129 = $128 << 24 >> 24; + $130 = ($129|0)==(59); + if (!($130)) { + $131 = HEAP32[$zEnd>>2]|0; + $132 = HEAP8[$131>>0]|0; + $133 = $132&255; + $134 = (19011 + ($133)|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = $136 & 1; + $138 = ($137|0)!=(0); + if (!($138)) { break; } } - $137 = HEAP32[$zEnd>>2]|0; - $138 = ((($137)) + -1|0); - HEAP32[$zEnd>>2] = $138; - HEAP8[$137>>0] = 0; + $139 = HEAP32[$zEnd>>2]|0; + $140 = ((($139)) + -1|0); + HEAP32[$zEnd>>2] = $140; + HEAP8[$139>>0] = 0; } - $139 = HEAP32[$db>>2]|0; - $140 = ((($139)) + 24|0); - $141 = HEAP32[$140>>2]|0; - $142 = $141 | 2097152; - HEAP32[$140>>2] = $142; - $143 = HEAP32[$0>>2]|0; - $144 = HEAP32[$zDb>>2]|0; - $145 = HEAP32[$iDb>>2]|0; - $146 = ($145|0)==(1); - $147 = $146 ? 20769 : 20788; - $148 = HEAP32[$pNew>>2]|0; - $149 = ((($148)) + 44|0); - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$zCol>>2]|0; - $152 = HEAP32[$pNew>>2]|0; - $153 = ((($152)) + 44|0); - $154 = HEAP32[$153>>2]|0; - $155 = (($154) + 1)|0; - $156 = HEAP32[$zTab>>2]|0; - HEAP32[$vararg_buffer13>>2] = $144; + $141 = HEAP32[$db>>2]|0; + $142 = ((($141)) + 24|0); + $143 = HEAP32[$142>>2]|0; + $144 = $143 | 2097152; + HEAP32[$142>>2] = $144; + $145 = HEAP32[$0>>2]|0; + $146 = HEAP32[$zDb>>2]|0; + $147 = HEAP32[$iDb>>2]|0; + $148 = ($147|0)==(1); + $149 = $148 ? 20513 : 20532; + $150 = HEAP32[$pNew>>2]|0; + $151 = ((($150)) + 44|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$zCol>>2]|0; + $154 = HEAP32[$pNew>>2]|0; + $155 = ((($154)) + 44|0); + $156 = HEAP32[$155>>2]|0; + $157 = (($156) + 1)|0; + $158 = HEAP32[$zTab>>2]|0; + HEAP32[$vararg_buffer13>>2] = $146; $vararg_ptr15 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr15>>2] = $147; + HEAP32[$vararg_ptr15>>2] = $149; $vararg_ptr16 = ((($vararg_buffer13)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $150; + HEAP32[$vararg_ptr16>>2] = $152; $vararg_ptr17 = ((($vararg_buffer13)) + 12|0); - HEAP32[$vararg_ptr17>>2] = $151; + HEAP32[$vararg_ptr17>>2] = $153; $vararg_ptr18 = ((($vararg_buffer13)) + 16|0); - HEAP32[$vararg_ptr18>>2] = $155; + HEAP32[$vararg_ptr18>>2] = $157; $vararg_ptr19 = ((($vararg_buffer13)) + 20|0); - HEAP32[$vararg_ptr19>>2] = $156; - _sqlite3NestedParse($143,28968,$vararg_buffer13); - $157 = HEAP32[$db>>2]|0; - $158 = HEAP32[$zCol>>2]|0; - _sqlite3DbFree($157,$158); - $159 = HEAP32[$savedDbFlags>>2]|0; - $160 = HEAP32[$db>>2]|0; - $161 = ((($160)) + 24|0); - HEAP32[$161>>2] = $159; - } - $162 = HEAP32[$v>>2]|0; - $163 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($162,52,$163,2,4)|0); - $164 = HEAP32[$0>>2]|0; - $165 = HEAP32[$pTab>>2]|0; - $166 = HEAP32[$pTab>>2]|0; - $167 = HEAP32[$166>>2]|0; - _reloadTableSchema($164,$165,$167); + HEAP32[$vararg_ptr19>>2] = $158; + _sqlite3NestedParse($145,28693,$vararg_buffer13); + $159 = HEAP32[$db>>2]|0; + $160 = HEAP32[$zCol>>2]|0; + _sqlite3DbFree($159,$160); + $161 = HEAP32[$savedDbFlags>>2]|0; + $162 = HEAP32[$db>>2]|0; + $163 = ((($162)) + 24|0); + HEAP32[$163>>2] = $161; + } + $164 = HEAP32[$v>>2]|0; + $165 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($164,52,$165,2,4)|0); + $166 = HEAP32[$0>>2]|0; + $167 = HEAP32[$pTab>>2]|0; + $168 = HEAP32[$pTab>>2]|0; + $169 = HEAP32[$168>>2]|0; + _reloadTableSchema($166,$167,$169); STACKTOP = sp;return; } function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { @@ -129116,12 +130418,12 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $pSrc = $pSrc|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0; - var $iDb = 0, $nAlloc = 0, $pCol = 0, $pNew = 0, $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iDb = 0, $nAlloc = 0, $pCol = 0, $pNew = 0; + var $pTab = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer3 = sp + 16|0; @@ -129143,7 +130445,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 65|0); + $5 = ((($4)) + 69|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); do { @@ -129164,7 +130466,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $19 = ($18|0)!=(0); if ($19) { $20 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($20,28562,$vararg_buffer); + _sqlite3ErrorMsg($20,28287,$vararg_buffer); break; } $21 = HEAP32[$pTab>>2]|0; @@ -129173,7 +130475,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $24 = ($23|0)!=(0|0); $25 = HEAP32[$0>>2]|0; if ($24) { - _sqlite3ErrorMsg($25,28596,$vararg_buffer1); + _sqlite3ErrorMsg($25,28321,$vararg_buffer1); break; } $26 = HEAP32[$pTab>>2]|0; @@ -129217,7 +130519,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { HEAP32[$nAlloc>>2] = $56; $57 = HEAP32[$db>>2]|0; $58 = HEAP32[$nAlloc>>2]|0; - $59 = ($58*24)|0; + $59 = $58<<4; $60 = (_sqlite3DbMallocZero($57,$59,0)|0); $61 = HEAP32[$pNew>>2]|0; $62 = ((($61)) + 4|0); @@ -129226,7 +130528,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $64 = HEAP32[$pTab>>2]|0; $65 = HEAP32[$64>>2]|0; HEAP32[$vararg_buffer3>>2] = $65; - $66 = (_sqlite3MPrintf($63,28626,$vararg_buffer3)|0); + $66 = (_sqlite3MPrintf($63,28351,$vararg_buffer3)|0); $67 = HEAP32[$pNew>>2]|0; HEAP32[$67>>2] = $66; $68 = HEAP32[$pNew>>2]|0; @@ -129248,7 +130550,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $82 = ((($81)) + 34|0); $83 = HEAP16[$82>>1]|0; $84 = $83 << 16 >> 16; - $85 = ($84*24)|0; + $85 = $84<<4; _memcpy(($77|0),($80|0),($85|0))|0; HEAP32[$i>>2] = 0; while(1) { @@ -129265,7 +130567,7 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $93 = HEAP32[$pNew>>2]|0; $94 = ((($93)) + 4|0); $95 = HEAP32[$94>>2]|0; - $96 = (($95) + (($92*24)|0)|0); + $96 = (($95) + ($92<<4)|0); HEAP32[$pCol>>2] = $96; $97 = HEAP32[$db>>2]|0; $98 = HEAP32[$pCol>>2]|0; @@ -129274,52 +130576,46 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { $101 = HEAP32[$pCol>>2]|0; HEAP32[$101>>2] = $100; $102 = HEAP32[$pCol>>2]|0; - $103 = ((($102)) + 16|0); + $103 = ((($102)) + 8|0); HEAP32[$103>>2] = 0; $104 = HEAP32[$pCol>>2]|0; - $105 = ((($104)) + 12|0); + $105 = ((($104)) + 4|0); HEAP32[$105>>2] = 0; - $106 = HEAP32[$pCol>>2]|0; - $107 = ((($106)) + 4|0); - HEAP32[$107>>2] = 0; - $108 = HEAP32[$pCol>>2]|0; - $109 = ((($108)) + 8|0); - HEAP32[$109>>2] = 0; - $110 = HEAP32[$i>>2]|0; - $111 = (($110) + 1)|0; - HEAP32[$i>>2] = $111; + $106 = HEAP32[$i>>2]|0; + $107 = (($106) + 1)|0; + HEAP32[$i>>2] = $107; } - $112 = HEAP32[$iDb>>2]|0; - $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 16|0); - $115 = HEAP32[$114>>2]|0; - $116 = (($115) + ($112<<4)|0); - $117 = ((($116)) + 12|0); - $118 = HEAP32[$117>>2]|0; - $119 = HEAP32[$pNew>>2]|0; - $120 = ((($119)) + 64|0); - HEAP32[$120>>2] = $118; - $121 = HEAP32[$pTab>>2]|0; - $122 = ((($121)) + 44|0); - $123 = HEAP32[$122>>2]|0; - $124 = HEAP32[$pNew>>2]|0; - $125 = ((($124)) + 44|0); - HEAP32[$125>>2] = $123; - $126 = HEAP32[$pNew>>2]|0; - $127 = ((($126)) + 36|0); - HEAP16[$127>>1] = 1; - $128 = HEAP32[$0>>2]|0; - $129 = HEAP32[$iDb>>2]|0; - _sqlite3BeginWriteOperation($128,0,$129); - $130 = HEAP32[$0>>2]|0; - $131 = (_sqlite3GetVdbe($130)|0); - HEAP32[$v>>2] = $131; - $132 = HEAP32[$v>>2]|0; - $133 = ($132|0)!=(0|0); - if ($133) { - $134 = HEAP32[$0>>2]|0; - $135 = HEAP32[$iDb>>2]|0; - _sqlite3ChangeCookie($134,$135); + $108 = HEAP32[$iDb>>2]|0; + $109 = HEAP32[$db>>2]|0; + $110 = ((($109)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = (($111) + ($108<<4)|0); + $113 = ((($112)) + 12|0); + $114 = HEAP32[$113>>2]|0; + $115 = HEAP32[$pNew>>2]|0; + $116 = ((($115)) + 64|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$pTab>>2]|0; + $118 = ((($117)) + 44|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[$pNew>>2]|0; + $121 = ((($120)) + 44|0); + HEAP32[$121>>2] = $119; + $122 = HEAP32[$pNew>>2]|0; + $123 = ((($122)) + 36|0); + HEAP16[$123>>1] = 1; + $124 = HEAP32[$0>>2]|0; + $125 = HEAP32[$iDb>>2]|0; + _sqlite3BeginWriteOperation($124,0,$125); + $126 = HEAP32[$0>>2]|0; + $127 = (_sqlite3GetVdbe($126)|0); + HEAP32[$v>>2] = $127; + $128 = HEAP32[$v>>2]|0; + $129 = ($128|0)!=(0|0); + if ($129) { + $130 = HEAP32[$0>>2]|0; + $131 = HEAP32[$iDb>>2]|0; + _sqlite3ChangeCookie($130,$131); } } } @@ -129328,9 +130624,9 @@ function _sqlite3AlterBeginAddColumn($pParse,$pSrc) { } } } while(0); - $136 = HEAP32[$db>>2]|0; - $137 = HEAP32[$1>>2]|0; - _sqlite3SrcListDelete($136,$137); + $132 = HEAP32[$db>>2]|0; + $133 = HEAP32[$1>>2]|0; + _sqlite3SrcListDelete($132,$133); STACKTOP = sp;return; } function _sqlite3VtabFinishParse($pParse,$pEnd) { @@ -129387,7 +130683,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { STACKTOP = sp;return; } $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 140|0); + $17 = ((($16)) + 144|0); $18 = ((($17)) + 5|0); $19 = HEAP8[$18>>0]|0; $20 = ($19<<24>>24)!=(0); @@ -129416,7 +130712,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $39 = HEAP32[$0>>2]|0; $40 = ((($39)) + 500|0); HEAP32[$vararg_buffer>>2] = $40; - $41 = (_sqlite3MPrintf($38,28423,$vararg_buffer)|0); + $41 = (_sqlite3MPrintf($38,28148,$vararg_buffer)|0); HEAP32[$zStmt>>2] = $41; $42 = HEAP32[$db>>2]|0; $43 = HEAP32[$pTab>>2]|0; @@ -129433,7 +130729,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $53 = HEAP32[$52>>2]|0; $54 = HEAP32[$iDb>>2]|0; $55 = ($54|0)==(1); - $56 = $55 ? 20769 : 20788; + $56 = $55 ? 20513 : 20532; $57 = HEAP32[$pTab>>2]|0; $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$pTab>>2]|0; @@ -129453,7 +130749,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { HEAP32[$vararg_ptr7>>2] = $61; $vararg_ptr8 = ((($vararg_buffer1)) + 20|0); HEAP32[$vararg_ptr8>>2] = $64; - _sqlite3NestedParse($47,28447,$vararg_buffer1); + _sqlite3NestedParse($47,28172,$vararg_buffer1); $65 = HEAP32[$db>>2]|0; $66 = HEAP32[$zStmt>>2]|0; _sqlite3DbFree($65,$66); @@ -129469,7 +130765,7 @@ function _sqlite3VtabFinishParse($pParse,$pEnd) { $73 = HEAP32[$pTab>>2]|0; $74 = HEAP32[$73>>2]|0; HEAP32[$vararg_buffer9>>2] = $74; - $75 = (_sqlite3MPrintf($72,28535,$vararg_buffer9)|0); + $75 = (_sqlite3MPrintf($72,28260,$vararg_buffer9)|0); HEAP32[$zWhere>>2] = $75; $76 = HEAP32[$v>>2]|0; $77 = HEAP32[$iDb>>2]|0; @@ -129756,13 +131052,13 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { $22 = ((($21)) + 8|0); $23 = (($22) + ($20<<4)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_stricmp($19,$24)|0); + $25 = (_sqlite3StrICmp($19,$24)|0); $26 = ($25|0)==(0); if ($26) { $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($27,28355,$vararg_buffer); + _sqlite3ErrorMsg($27,28080,$vararg_buffer); } $29 = HEAP32[$i>>2]|0; $30 = (($29) + 1)|0; @@ -129791,7 +131087,7 @@ function _sqlite3WithAdd($pParse,$pWith,$pName,$pArglist,$pQuery) { HEAP32[$pNew>>2] = $44; } $45 = HEAP32[$db>>2]|0; - $46 = ((($45)) + 65|0); + $46 = ((($45)) + 69|0); $47 = HEAP8[$46>>0]|0; $48 = ($47<<24>>24)!=(0); if ($48) { @@ -129860,7 +131156,7 @@ function _yy_find_reduce_action($stateno,$iLookAhead) { HEAP32[$0>>2] = $stateno; HEAP8[$1>>0] = $iLookAhead; $2 = HEAP32[$0>>2]|0; - $3 = (11910 + ($2<<1)|0); + $3 = (11634 + ($2<<1)|0); $4 = HEAP16[$3>>1]|0; $5 = $4 << 16 >> 16; HEAP32[$i>>2] = $5; @@ -129870,7 +131166,7 @@ function _yy_find_reduce_action($stateno,$iLookAhead) { $9 = (($8) + ($7))|0; HEAP32[$i>>2] = $9; $10 = HEAP32[$i>>2]|0; - $11 = (12532 + ($10<<1)|0); + $11 = (12264 + ($10<<1)|0); $12 = HEAP16[$11>>1]|0; $13 = $12&65535; STACKTOP = sp;return ($13|0); @@ -129884,7 +131180,7 @@ function _yy_accept($yypParser) { $pParse = sp; HEAP32[$0>>2] = $yypParser; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 8|0); + $2 = ((($1)) + 4|0); $3 = HEAP32[$2>>2]|0; HEAP32[$pParse>>2] = $3; while(1) { @@ -129899,7 +131195,7 @@ function _yy_accept($yypParser) { } $8 = HEAP32[$pParse>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); + $10 = ((($9)) + 4|0); HEAP32[$10>>2] = $8; STACKTOP = sp;return; } @@ -129984,7 +131280,7 @@ function _sqlite3DbRealloc($db,$p,$0,$1) { $27 = $26; $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$3>>2]|0; - $30 = ((($29)) + 248|0); + $30 = ((($29)) + 256|0); $31 = ((($30)) + 4|0); $32 = HEAP16[$31>>1]|0; $33 = $32&65535; @@ -130036,7 +131332,7 @@ function _sqlite3DbMallocRawNN($db,$0,$1) { $8 = $7; HEAP32[$8>>2] = $1; $9 = HEAP32[$3>>2]|0; - $10 = ((($9)) + 248|0); + $10 = ((($9)) + 256|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0); do { @@ -130048,7 +131344,7 @@ function _sqlite3DbMallocRawNN($db,$0,$1) { $17 = $16; $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$3>>2]|0; - $20 = ((($19)) + 248|0); + $20 = ((($19)) + 256|0); $21 = ((($20)) + 4|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; @@ -130058,7 +131354,7 @@ function _sqlite3DbMallocRawNN($db,$0,$1) { $27 = $26 & $25; $28 = $24 | $27; $29 = HEAP32[$3>>2]|0; - $30 = ((($29)) + 248|0); + $30 = ((($29)) + 256|0); if ($28) { $31 = ((($30)) + 16|0); $32 = ((($31)) + 4|0); @@ -130073,7 +131369,7 @@ function _sqlite3DbMallocRawNN($db,$0,$1) { $37 = ($36|0)==(0|0); if ($37) { $38 = HEAP32[$3>>2]|0; - $39 = ((($38)) + 248|0); + $39 = ((($38)) + 256|0); $40 = ((($39)) + 16|0); $41 = ((($40)) + 8|0); $42 = HEAP32[$41>>2]|0; @@ -130084,37 +131380,37 @@ function _sqlite3DbMallocRawNN($db,$0,$1) { $44 = HEAP32[$pBuf>>2]|0; $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 248|0); + $47 = ((($46)) + 256|0); $48 = ((($47)) + 28|0); HEAP32[$48>>2] = $45; $49 = HEAP32[$3>>2]|0; - $50 = ((($49)) + 248|0); + $50 = ((($49)) + 256|0); $51 = ((($50)) + 8|0); $52 = HEAP32[$51>>2]|0; $53 = (($52) + 1)|0; HEAP32[$51>>2] = $53; $54 = HEAP32[$3>>2]|0; - $55 = ((($54)) + 248|0); + $55 = ((($54)) + 256|0); $56 = ((($55)) + 16|0); $57 = HEAP32[$56>>2]|0; $58 = (($57) + 1)|0; HEAP32[$56>>2] = $58; $59 = HEAP32[$3>>2]|0; - $60 = ((($59)) + 248|0); + $60 = ((($59)) + 256|0); $61 = ((($60)) + 8|0); $62 = HEAP32[$61>>2]|0; $63 = HEAP32[$3>>2]|0; - $64 = ((($63)) + 248|0); + $64 = ((($63)) + 256|0); $65 = ((($64)) + 12|0); $66 = HEAP32[$65>>2]|0; $67 = ($62|0)>($66|0); if ($67) { $68 = HEAP32[$3>>2]|0; - $69 = ((($68)) + 248|0); + $69 = ((($68)) + 256|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = HEAP32[$3>>2]|0; - $73 = ((($72)) + 248|0); + $73 = ((($72)) + 256|0); $74 = ((($73)) + 12|0); HEAP32[$74>>2] = $71; } @@ -130124,7 +131420,7 @@ function _sqlite3DbMallocRawNN($db,$0,$1) { STACKTOP = sp;return ($88|0); } else { $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 65|0); + $77 = ((($76)) + 69|0); $78 = HEAP8[$77>>0]|0; $79 = ($78<<24>>24)!=(0); if ($79) { @@ -130170,7 +131466,7 @@ function _dbReallocFinish($db,$p,$0,$1) { HEAP32[$8>>2] = $1; HEAP32[$pNew>>2] = 0; $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 65|0); + $10 = ((($9)) + 69|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)==(0); @@ -130201,7 +131497,7 @@ function _dbReallocFinish($db,$p,$0,$1) { $28 = HEAP32[$pNew>>2]|0; $29 = HEAP32[$3>>2]|0; $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 248|0); + $31 = ((($30)) + 256|0); $32 = ((($31)) + 4|0); $33 = HEAP16[$32>>1]|0; $34 = $33&65535; @@ -130577,7 +131873,7 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $7 = HEAP32[$6>>2]|0; HEAP32[$db>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 140|0); + $9 = ((($8)) + 144|0); $10 = ((($9)) + 5|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; @@ -130590,7 +131886,7 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $18 = ($17|0)!=(0); if (!($18)) { $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 288|0); + $20 = ((($19)) + 296|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)==(0|0); if ($22) { @@ -130599,10 +131895,10 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { STACKTOP = sp;return ($48|0); } $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 288|0); + $24 = ((($23)) + 296|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 292|0); + $27 = ((($26)) + 300|0); $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$2>>2]|0; $30 = HEAP32[$3>>2]|0; @@ -130617,7 +131913,7 @@ function _sqlite3AuthCheck($pParse,$code,$zArg1,$zArg2,$zArg3) { $38 = ($37|0)==(1); if ($38) { $39 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($39,28385,$vararg_buffer); + _sqlite3ErrorMsg($39,28110,$vararg_buffer); $40 = HEAP32[$1>>2]|0; $41 = ((($40)) + 12|0); HEAP32[$41>>2] = 23; @@ -130652,7 +131948,7 @@ function _sqliteAuthBadReturnCode($pParse) { $0 = sp + 4|0; HEAP32[$0>>2] = $pParse; $1 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($1,28400,$vararg_buffer); + _sqlite3ErrorMsg($1,28125,$vararg_buffer); $2 = HEAP32[$0>>2]|0; $3 = ((($2)) + 12|0); HEAP32[$3>>2] = 1; @@ -130762,7 +132058,7 @@ function _sqlite3GetVdbe($pParse) { if ($16) { $17 = HEAP32[$0>>2]|0; $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 60|0); + $19 = ((($18)) + 64|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 8; @@ -131168,7 +132464,7 @@ function _sqlite3VMPrintf($db,$zFormat,$ap) { HEAP32[$2>>2] = $ap; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 88|0); + $5 = ((($4)) + 92|0); $6 = HEAP32[$5>>2]|0; _sqlite3StrAccumInit($acc,$3,$zBase,70,$6); $7 = ((($acc)) + 25|0); @@ -131257,13 +132553,13 @@ function _isSystemTable($pParse,$zName) { $5 = ($4|0)>(6); if ($5) { $6 = HEAP32[$2>>2]|0; - $7 = (_sqlite3_strnicmp($6,28715,7)|0); + $7 = (_sqlite3_strnicmp($6,28440,7)|0); $8 = (0)==($7|0); if ($8) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $10; - _sqlite3ErrorMsg($9,28723,$vararg_buffer); + _sqlite3ErrorMsg($9,28448,$vararg_buffer); HEAP32[$0>>2] = 1; $11 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($11|0); @@ -131431,7 +132727,7 @@ function _sqlite3OpenTempDatabase($pParse) { $20 = ($19|0)!=(0); if ($20) { $21 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($21,28645,$vararg_buffer); + _sqlite3ErrorMsg($21,28370,$vararg_buffer); $22 = HEAP32[$rc>>2]|0; $23 = HEAP32[$1>>2]|0; $24 = ((($23)) + 12|0); @@ -131449,7 +132745,7 @@ function _sqlite3OpenTempDatabase($pParse) { HEAP32[$30>>2] = $25; $31 = HEAP32[$pBt>>2]|0; $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 72|0); + $33 = ((($32)) + 76|0); $34 = HEAP32[$33>>2]|0; $35 = (_sqlite3BtreeSetPageSize($31,$34,-1,0)|0); $36 = (7)==($35|0); @@ -131565,7 +132861,7 @@ function _reloadTableSchema($pParse,$pTab,$zName) { $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3MPrintf($36,29077,$vararg_buffer)|0); + $38 = (_sqlite3MPrintf($36,28802,$vararg_buffer)|0); HEAP32[$zWhere>>2] = $38; $39 = HEAP32[$zWhere>>2]|0; $40 = ($39|0)!=(0|0); @@ -131660,7 +132956,7 @@ function _sqlite3TriggerList($pParse,$pTab) { $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3_stricmp($37,$39)|0); + $40 = (_sqlite3StrICmp($37,$39)|0); $41 = (0)==($40|0); if ($41) { $42 = HEAP32[$pList>>2]|0; @@ -131779,7 +133075,7 @@ function _whereTempTriggers($pParse,$pTab) { $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$zWhere>>2]|0; HEAP32[$vararg_buffer>>2] = $38; - $39 = (_sqlite3MPrintf($37,29089,$vararg_buffer)|0); + $39 = (_sqlite3MPrintf($37,28814,$vararg_buffer)|0); HEAP32[$zNew>>2] = $39; $40 = HEAP32[$0>>2]|0; $41 = HEAP32[$40>>2]|0; @@ -131815,7 +133111,7 @@ function _whereOrName($db,$zWhere,$zConstant) { HEAP32[$vararg_buffer1>>2] = $8; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; - $10 = (_sqlite3MPrintf($5,29121,$vararg_buffer1)|0); + $10 = (_sqlite3MPrintf($5,28846,$vararg_buffer1)|0); HEAP32[$zNew>>2] = $10; $11 = HEAP32[$0>>2]|0; $12 = HEAP32[$1>>2]|0; @@ -131825,7 +133121,7 @@ function _whereOrName($db,$zWhere,$zConstant) { } else { $6 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $6; - $7 = (_sqlite3MPrintf($5,29113,$vararg_buffer)|0); + $7 = (_sqlite3MPrintf($5,28838,$vararg_buffer)|0); HEAP32[$zNew>>2] = $7; $13 = HEAP32[$zNew>>2]|0; STACKTOP = sp;return ($13|0); @@ -131842,16 +133138,16 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aff = 0, $nVal = 0, $negInt = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVal = 0, $rc = 0, $vararg_buffer = 0, $vararg_ptr8 = 0; - var $zNeg = 0, $zVal = 0, label = 0, sp = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aff = 0, $nVal = 0, $negInt = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pVal = 0; + var $rc = 0, $vararg_buffer = 0, $vararg_ptr8 = 0, $zNeg = 0, $zVal = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $vararg_buffer = sp; @@ -131879,7 +133175,7 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { HEAP32[$zVal>>2] = 0; HEAP32[$pVal>>2] = 0; HEAP32[$negInt>>2] = 1; - HEAP32[$zNeg>>2] = 19266; + HEAP32[$zNeg>>2] = 19010; HEAP32[$rc>>2] = 0; $7 = HEAP32[$2>>2]|0; $8 = ($7|0)!=(0|0); @@ -131887,8 +133183,8 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $9 = HEAP32[$5>>2]|0; HEAP32[$9>>2] = 0; HEAP32[$0>>2] = 0; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); + $230 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($230|0); } while(1) { $10 = HEAP32[$2>>2]|0; @@ -131896,162 +133192,165 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { $12 = $11&255; HEAP32[$op>>2] = $12; $13 = ($12|0)==(156); - if (!($13)) { + $14 = HEAP32[$op>>2]|0; + $15 = ($14|0)==(159); + $16 = $13 ? 1 : $15; + if (!($16)) { break; } - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 12|0); - $16 = HEAP32[$15>>2]|0; - HEAP32[$2>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 12|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$2>>2] = $19; } - $17 = HEAP32[$op>>2]|0; - $18 = ($17|0)==(157); - if ($18) { - $19 = HEAP32[$2>>2]|0; - $20 = ((($19)) + 38|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - HEAP32[$op>>2] = $22; + $20 = HEAP32[$op>>2]|0; + $21 = ($20|0)==(157); + if ($21) { + $22 = HEAP32[$2>>2]|0; + $23 = ((($22)) + 38|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + HEAP32[$op>>2] = $25; } - $23 = HEAP32[$op>>2]|0; - $24 = ($23|0)==(38); - if ($24) { - $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_sqlite3AffinityType($27,0)|0); - HEAP8[$aff>>0] = $28; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$2>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = HEAP8[$3>>0]|0; - $34 = HEAP8[$aff>>0]|0; - $35 = HEAP32[$5>>2]|0; - $36 = HEAP32[$6>>2]|0; - $37 = (_valueFromExpr($29,$32,$33,$34,$35,$36)|0); - HEAP32[$rc>>2] = $37; + $26 = HEAP32[$op>>2]|0; + $27 = ($26|0)==(38); + if ($27) { + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3AffinityType($30,0)|0); + HEAP8[$aff>>0] = $31; + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 12|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP8[$3>>0]|0; + $37 = HEAP8[$aff>>0]|0; $38 = HEAP32[$5>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ($39|0)!=(0|0); - if ($40) { - $41 = HEAP32[$5>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP8[$aff>>0]|0; - _sqlite3VdbeMemCast($42,$43,1); + $39 = HEAP32[$6>>2]|0; + $40 = (_valueFromExpr($32,$35,$36,$37,$38,$39)|0); + HEAP32[$rc>>2] = $40; + $41 = HEAP32[$5>>2]|0; + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { $44 = HEAP32[$5>>2]|0; $45 = HEAP32[$44>>2]|0; - $46 = HEAP8[$4>>0]|0; - _sqlite3ValueApplyAffinity($45,$46,1); + $46 = HEAP8[$aff>>0]|0; + _sqlite3VdbeMemCast($45,$46,1); + $47 = HEAP32[$5>>2]|0; + $48 = HEAP32[$47>>2]|0; + $49 = HEAP8[$4>>0]|0; + _sqlite3ValueApplyAffinity($48,$49,1); } - $47 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $47; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); + $50 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $50; + $230 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($230|0); } - $48 = HEAP32[$op>>2]|0; - $49 = ($48|0)==(155); + $51 = HEAP32[$op>>2]|0; + $52 = ($51|0)==(155); do { - if ($49) { - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 12|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP8[$52>>0]|0; - $54 = $53&255; - $55 = ($54|0)==(132); - if (!($55)) { - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 12|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $61 = ($60|0)==(133); - if (!($61)) { + if ($52) { + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 12|0); + $55 = HEAP32[$54>>2]|0; + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = ($57|0)==(132); + if (!($58)) { + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 12|0); + $61 = HEAP32[$60>>2]|0; + $62 = HEAP8[$61>>0]|0; + $63 = $62&255; + $64 = ($63|0)==(133); + if (!($64)) { break; } } - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 12|0); - $64 = HEAP32[$63>>2]|0; - HEAP32[$2>>2] = $64; $65 = HEAP32[$2>>2]|0; - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - HEAP32[$op>>2] = $67; + $66 = ((($65)) + 12|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$2>>2] = $67; + $68 = HEAP32[$2>>2]|0; + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + HEAP32[$op>>2] = $70; HEAP32[$negInt>>2] = -1; - HEAP32[$zNeg>>2] = 29135; + HEAP32[$zNeg>>2] = 28860; } } while(0); - $68 = HEAP32[$op>>2]|0; - $69 = ($68|0)==(97); - $70 = HEAP32[$op>>2]|0; - $71 = ($70|0)==(133); - $or$cond = $69 | $71; - $72 = HEAP32[$op>>2]|0; - $73 = ($72|0)==(132); - $or$cond3 = $or$cond | $73; + $71 = HEAP32[$op>>2]|0; + $72 = ($71|0)==(97); + $73 = HEAP32[$op>>2]|0; + $74 = ($73|0)==(133); + $or$cond = $72 | $74; + $75 = HEAP32[$op>>2]|0; + $76 = ($75|0)==(132); + $or$cond3 = $or$cond | $76; do { if ($or$cond3) { - $74 = HEAP32[$1>>2]|0; - $75 = HEAP32[$6>>2]|0; - $76 = (_valueNew($74,$75)|0); - HEAP32[$pVal>>2] = $76; - $77 = HEAP32[$pVal>>2]|0; - $78 = ($77|0)==(0|0); - if ($78) { + $77 = HEAP32[$1>>2]|0; + $78 = HEAP32[$6>>2]|0; + $79 = (_valueNew($77,$78)|0); + HEAP32[$pVal>>2] = $79; + $80 = HEAP32[$pVal>>2]|0; + $81 = ($80|0)==(0|0); + if ($81) { label = 43; } else { - $79 = HEAP32[$2>>2]|0; - $80 = ((($79)) + 4|0); - $81 = HEAP32[$80>>2]|0; - $82 = $81 & 1024; - $83 = ($82|0)!=(0); - if ($83) { - $84 = HEAP32[$pVal>>2]|0; - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 8|0); - $87 = HEAP32[$86>>2]|0; - $88 = ($87|0)<(0); - $89 = $88 << 31 >> 31; - $90 = HEAP32[$negInt>>2]|0; + $82 = HEAP32[$2>>2]|0; + $83 = ((($82)) + 4|0); + $84 = HEAP32[$83>>2]|0; + $85 = $84 & 1024; + $86 = ($85|0)!=(0); + if ($86) { + $87 = HEAP32[$pVal>>2]|0; + $88 = HEAP32[$2>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; $91 = ($90|0)<(0); $92 = $91 << 31 >> 31; - $93 = (___muldi3(($87|0),($89|0),($90|0),($92|0))|0); - $94 = tempRet0; - _sqlite3VdbeMemSetInt64($84,$93,$94); + $93 = HEAP32[$negInt>>2]|0; + $94 = ($93|0)<(0); + $95 = $94 << 31 >> 31; + $96 = (___muldi3(($90|0),($92|0),($93|0),($95|0))|0); + $97 = tempRet0; + _sqlite3VdbeMemSetInt64($87,$96,$97); } else { - $95 = HEAP32[$1>>2]|0; - $96 = HEAP32[$zNeg>>2]|0; - $97 = HEAP32[$2>>2]|0; - $98 = ((($97)) + 8|0); - $99 = HEAP32[$98>>2]|0; - HEAP32[$vararg_buffer>>2] = $96; + $98 = HEAP32[$1>>2]|0; + $99 = HEAP32[$zNeg>>2]|0; + $100 = HEAP32[$2>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + HEAP32[$vararg_buffer>>2] = $99; $vararg_ptr8 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $99; - $100 = (_sqlite3MPrintf($95,25552,$vararg_buffer)|0); - HEAP32[$zVal>>2] = $100; - $101 = HEAP32[$zVal>>2]|0; - $102 = ($101|0)==(0|0); - if ($102) { + HEAP32[$vararg_ptr8>>2] = $102; + $103 = (_sqlite3MPrintf($98,25313,$vararg_buffer)|0); + HEAP32[$zVal>>2] = $103; + $104 = HEAP32[$zVal>>2]|0; + $105 = ($104|0)==(0|0); + if ($105) { label = 43; break; } - $103 = HEAP32[$pVal>>2]|0; - $104 = HEAP32[$zVal>>2]|0; - _sqlite3ValueSetStr($103,-1,$104,1,170); + $106 = HEAP32[$pVal>>2]|0; + $107 = HEAP32[$zVal>>2]|0; + _sqlite3ValueSetStr($106,-1,$107,1,170); } - $105 = HEAP32[$op>>2]|0; - $106 = ($105|0)==(132); - $107 = HEAP32[$op>>2]|0; - $108 = ($107|0)==(133); - $or$cond5 = $106 | $108; + $108 = HEAP32[$op>>2]|0; + $109 = ($108|0)==(132); + $110 = HEAP32[$op>>2]|0; + $111 = ($110|0)==(133); + $or$cond5 = $109 | $111; if ($or$cond5) { - $109 = HEAP8[$4>>0]|0; - $110 = $109&255; - $111 = ($110|0)==(65); - if ($111) { - $112 = HEAP32[$pVal>>2]|0; - _sqlite3ValueApplyAffinity($112,67,1); + $112 = HEAP8[$4>>0]|0; + $113 = $112&255; + $114 = ($113|0)==(65); + if ($114) { + $115 = HEAP32[$pVal>>2]|0; + _sqlite3ValueApplyAffinity($115,67,1); } else { label = 24; } @@ -132059,53 +133358,53 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { label = 24; } if ((label|0) == 24) { - $113 = HEAP32[$pVal>>2]|0; - $114 = HEAP8[$4>>0]|0; - _sqlite3ValueApplyAffinity($113,$114,1); + $116 = HEAP32[$pVal>>2]|0; + $117 = HEAP8[$4>>0]|0; + _sqlite3ValueApplyAffinity($116,$117,1); } - $115 = HEAP32[$pVal>>2]|0; - $116 = ((($115)) + 8|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117&65535; - $119 = $118 & 12; - $120 = ($119|0)!=(0); - if ($120) { - $121 = HEAP32[$pVal>>2]|0; - $122 = ((($121)) + 8|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = $124 & -3; - $126 = $125&65535; - HEAP16[$122>>1] = $126; - } - $127 = HEAP8[$3>>0]|0; - $128 = $127&255; - $129 = ($128|0)!=(1); - if ($129) { - $130 = HEAP32[$pVal>>2]|0; - $131 = HEAP8[$3>>0]|0; - $132 = $131&255; - $133 = (_sqlite3VdbeChangeEncoding($130,$132)|0); - HEAP32[$rc>>2] = $133; + $118 = HEAP32[$pVal>>2]|0; + $119 = ((($118)) + 8|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = $121 & 12; + $123 = ($122|0)!=(0); + if ($123) { + $124 = HEAP32[$pVal>>2]|0; + $125 = ((($124)) + 8|0); + $126 = HEAP16[$125>>1]|0; + $127 = $126&65535; + $128 = $127 & -3; + $129 = $128&65535; + HEAP16[$125>>1] = $129; + } + $130 = HEAP8[$3>>0]|0; + $131 = $130&255; + $132 = ($131|0)!=(1); + if ($132) { + $133 = HEAP32[$pVal>>2]|0; + $134 = HEAP8[$3>>0]|0; + $135 = $134&255; + $136 = (_sqlite3VdbeChangeEncoding($133,$135)|0); + HEAP32[$rc>>2] = $136; label = 42; } else { label = 42; } } } else { - $134 = HEAP32[$op>>2]|0; - $135 = ($134|0)==(155); - if (!($135)) { - $192 = HEAP32[$op>>2]|0; - $193 = ($192|0)==(101); - if ($193) { - $194 = HEAP32[$1>>2]|0; - $195 = HEAP32[$6>>2]|0; - $196 = (_valueNew($194,$195)|0); - HEAP32[$pVal>>2] = $196; - $197 = HEAP32[$pVal>>2]|0; - $198 = ($197|0)==(0|0); - if ($198) { + $137 = HEAP32[$op>>2]|0; + $138 = ($137|0)==(155); + if (!($138)) { + $195 = HEAP32[$op>>2]|0; + $196 = ($195|0)==(101); + if ($196) { + $197 = HEAP32[$1>>2]|0; + $198 = HEAP32[$6>>2]|0; + $199 = (_valueNew($197,$198)|0); + HEAP32[$pVal>>2] = $199; + $200 = HEAP32[$pVal>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { label = 43; break; } else { @@ -132113,117 +133412,117 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { break; } } - $199 = HEAP32[$op>>2]|0; - $200 = ($199|0)==(134); - if (!($200)) { + $202 = HEAP32[$op>>2]|0; + $203 = ($202|0)==(134); + if (!($203)) { label = 42; break; } - $201 = HEAP32[$1>>2]|0; - $202 = HEAP32[$6>>2]|0; - $203 = (_valueNew($201,$202)|0); - HEAP32[$pVal>>2] = $203; - $204 = HEAP32[$pVal>>2]|0; - $205 = ($204|0)!=(0|0); - if (!($205)) { + $204 = HEAP32[$1>>2]|0; + $205 = HEAP32[$6>>2]|0; + $206 = (_valueNew($204,$205)|0); + HEAP32[$pVal>>2] = $206; + $207 = HEAP32[$pVal>>2]|0; + $208 = ($207|0)!=(0|0); + if (!($208)) { label = 43; break; } - $206 = HEAP32[$2>>2]|0; - $207 = ((($206)) + 8|0); - $208 = HEAP32[$207>>2]|0; - $209 = ((($208)) + 2|0); - HEAP32[$zVal>>2] = $209; - $210 = HEAP32[$zVal>>2]|0; - $211 = (_sqlite3Strlen30($210)|0); - $212 = (($211) - 1)|0; - HEAP32[$nVal>>2] = $212; - $213 = HEAP32[$pVal>>2]|0; - $214 = HEAP32[$1>>2]|0; - $215 = HEAP32[$zVal>>2]|0; - $216 = HEAP32[$nVal>>2]|0; - $217 = (_sqlite3HexToBlob($214,$215,$216)|0); - $218 = HEAP32[$nVal>>2]|0; - $219 = (($218|0) / 2)&-1; - (_sqlite3VdbeMemSetStr($213,$217,$219,0,170)|0); + $209 = HEAP32[$2>>2]|0; + $210 = ((($209)) + 8|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($211)) + 2|0); + HEAP32[$zVal>>2] = $212; + $213 = HEAP32[$zVal>>2]|0; + $214 = (_sqlite3Strlen30($213)|0); + $215 = (($214) - 1)|0; + HEAP32[$nVal>>2] = $215; + $216 = HEAP32[$pVal>>2]|0; + $217 = HEAP32[$1>>2]|0; + $218 = HEAP32[$zVal>>2]|0; + $219 = HEAP32[$nVal>>2]|0; + $220 = (_sqlite3HexToBlob($217,$218,$219)|0); + $221 = HEAP32[$nVal>>2]|0; + $222 = (($221|0) / 2)&-1; + (_sqlite3VdbeMemSetStr($216,$220,$222,0,170)|0); label = 42; break; } - $136 = HEAP32[$1>>2]|0; - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 12|0); - $139 = HEAP32[$138>>2]|0; - $140 = HEAP8[$3>>0]|0; - $141 = HEAP8[$4>>0]|0; - $142 = (_sqlite3ValueFromExpr($136,$139,$140,$141,$pVal)|0); - $143 = (0)==($142|0); - $144 = HEAP32[$pVal>>2]|0; - $145 = ($144|0)!=(0|0); - $or$cond7 = $143 & $145; + $139 = HEAP32[$1>>2]|0; + $140 = HEAP32[$2>>2]|0; + $141 = ((($140)) + 12|0); + $142 = HEAP32[$141>>2]|0; + $143 = HEAP8[$3>>0]|0; + $144 = HEAP8[$4>>0]|0; + $145 = (_sqlite3ValueFromExpr($139,$142,$143,$144,$pVal)|0); + $146 = (0)==($145|0); + $147 = HEAP32[$pVal>>2]|0; + $148 = ($147|0)!=(0|0); + $or$cond7 = $146 & $148; if ($or$cond7) { - $146 = HEAP32[$pVal>>2]|0; - (_sqlite3VdbeMemNumerify($146)|0); - $147 = HEAP32[$pVal>>2]|0; - $148 = ((($147)) + 8|0); - $149 = HEAP16[$148>>1]|0; - $150 = $149&65535; - $151 = $150 & 8; - $152 = ($151|0)!=(0); - $153 = HEAP32[$pVal>>2]|0; + $149 = HEAP32[$pVal>>2]|0; + (_sqlite3VdbeMemNumerify($149)|0); + $150 = HEAP32[$pVal>>2]|0; + $151 = ((($150)) + 8|0); + $152 = HEAP16[$151>>1]|0; + $153 = $152&65535; + $154 = $153 & 8; + $155 = ($154|0)!=(0); + $156 = HEAP32[$pVal>>2]|0; do { - if ($152) { - $154 = +HEAPF64[$153>>3]; - $155 = -$154; - $156 = HEAP32[$pVal>>2]|0; - HEAPF64[$156>>3] = $155; + if ($155) { + $157 = +HEAPF64[$156>>3]; + $158 = -$157; + $159 = HEAP32[$pVal>>2]|0; + HEAPF64[$159>>3] = $158; } else { - $157 = $153; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; + $160 = $156; $161 = $160; $162 = HEAP32[$161>>2]|0; - $163 = ($159|0)==(0); - $164 = ($162|0)==(-2147483648); - $165 = $163 & $164; - $166 = HEAP32[$pVal>>2]|0; - if ($165) { - HEAPF64[$166>>3] = 9.2233720368547758E+18; - $167 = HEAP32[$pVal>>2]|0; - $168 = ((($167)) + 8|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169&65535; - $171 = $170 & -49664; - $172 = $171 | 8; + $163 = (($160) + 4)|0; + $164 = $163; + $165 = HEAP32[$164>>2]|0; + $166 = ($162|0)==(0); + $167 = ($165|0)==(-2147483648); + $168 = $166 & $167; + $169 = HEAP32[$pVal>>2]|0; + if ($168) { + HEAPF64[$169>>3] = 9.2233720368547758E+18; + $170 = HEAP32[$pVal>>2]|0; + $171 = ((($170)) + 8|0); + $172 = HEAP16[$171>>1]|0; $173 = $172&65535; - $174 = HEAP32[$pVal>>2]|0; - $175 = ((($174)) + 8|0); - HEAP16[$175>>1] = $173; + $174 = $173 & -49664; + $175 = $174 | 8; + $176 = $175&65535; + $177 = HEAP32[$pVal>>2]|0; + $178 = ((($177)) + 8|0); + HEAP16[$178>>1] = $176; break; } else { - $176 = $166; - $177 = $176; - $178 = HEAP32[$177>>2]|0; - $179 = (($176) + 4)|0; + $179 = $169; $180 = $179; $181 = HEAP32[$180>>2]|0; - $182 = (_i64Subtract(0,0,($178|0),($181|0))|0); - $183 = tempRet0; - $184 = HEAP32[$pVal>>2]|0; - $185 = $184; - $186 = $185; - HEAP32[$186>>2] = $182; - $187 = (($185) + 4)|0; + $182 = (($179) + 4)|0; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (_i64Subtract(0,0,($181|0),($184|0))|0); + $186 = tempRet0; + $187 = HEAP32[$pVal>>2]|0; $188 = $187; - HEAP32[$188>>2] = $183; + $189 = $188; + HEAP32[$189>>2] = $185; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; break; } } } while(0); - $189 = HEAP32[$pVal>>2]|0; - $190 = HEAP8[$4>>0]|0; - $191 = HEAP8[$3>>0]|0; - _sqlite3ValueApplyAffinity($189,$190,$191); + $192 = HEAP32[$pVal>>2]|0; + $193 = HEAP8[$4>>0]|0; + $194 = HEAP8[$3>>0]|0; + _sqlite3ValueApplyAffinity($192,$193,$194); label = 42; } else { label = 42; @@ -132231,25 +133530,25 @@ function _valueFromExpr($db,$pExpr,$enc,$affinity,$ppVal,$pCtx) { } } while(0); if ((label|0) == 42) { - $220 = HEAP32[$pVal>>2]|0; - $221 = HEAP32[$5>>2]|0; - HEAP32[$221>>2] = $220; - $222 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $222; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); + $223 = HEAP32[$pVal>>2]|0; + $224 = HEAP32[$5>>2]|0; + HEAP32[$224>>2] = $223; + $225 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $225; + $230 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($230|0); } else if ((label|0) == 43) { - $223 = HEAP32[$1>>2]|0; - _sqlite3OomFault($223); - $224 = HEAP32[$1>>2]|0; - $225 = HEAP32[$zVal>>2]|0; - _sqlite3DbFree($224,$225); - $226 = HEAP32[$pVal>>2]|0; - _sqlite3ValueFree($226); + $226 = HEAP32[$1>>2]|0; + _sqlite3OomFault($226); + $227 = HEAP32[$1>>2]|0; + $228 = HEAP32[$zVal>>2]|0; + _sqlite3DbFree($227,$228); + $229 = HEAP32[$pVal>>2]|0; + _sqlite3ValueFree($229); HEAP32[$0>>2] = 7; - $227 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($227|0); + $230 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($230|0); } return (0)|0; } @@ -132260,203 +133559,200 @@ function _sqlite3AffinityType($zIn,$pszEst) { var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $aff = 0, $h = 0, $v = 0, $zChar = 0, label = 0, sp = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $aff = 0, $h = 0, $v = 0, $zChar = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 21|0; - $1 = sp + 16|0; - $2 = sp + 12|0; + $0 = sp + 16|0; + $1 = sp + 12|0; $h = sp + 8|0; $aff = sp + 20|0; $zChar = sp + 4|0; $v = sp; - HEAP32[$1>>2] = $zIn; - HEAP32[$2>>2] = $pszEst; + HEAP32[$0>>2] = $zIn; + HEAP32[$1>>2] = $pszEst; HEAP32[$h>>2] = 0; HEAP8[$aff>>0] = 67; HEAP32[$zChar>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $5 = HEAP8[$aff>>0]|0; - HEAP8[$0>>0] = $5; - $91 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($91|0); - } - L4: while(1) { - $6 = HEAP32[$1>>2]|0; - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if (!($8)) { + L1: while(1) { + $2 = HEAP32[$0>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if (!($4)) { break; } - $9 = HEAP32[$h>>2]|0; - $10 = $9 << 8; - $11 = HEAP32[$1>>2]|0; + $5 = HEAP32[$h>>2]|0; + $6 = $5 << 8; + $7 = HEAP32[$0>>2]|0; + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = $9 & 255; + $11 = (18221 + ($10)|0); $12 = HEAP8[$11>>0]|0; - $13 = $12 << 24 >> 24; - $14 = $13 & 255; - $15 = (18477 + ($14)|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = (($10) + ($17))|0; - HEAP32[$h>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 1|0); - HEAP32[$1>>2] = $20; - $21 = HEAP32[$h>>2]|0; - $22 = ($21|0)==(1667785074); - if ($22) { + $13 = $12&255; + $14 = (($6) + ($13))|0; + HEAP32[$h>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 1|0); + HEAP32[$0>>2] = $16; + $17 = HEAP32[$h>>2]|0; + $18 = ($17|0)==(1667785074); + if ($18) { HEAP8[$aff>>0] = 66; - $23 = HEAP32[$1>>2]|0; - HEAP32[$zChar>>2] = $23; + $19 = HEAP32[$0>>2]|0; + HEAP32[$zChar>>2] = $19; continue; } - $24 = HEAP32[$h>>2]|0; - $25 = ($24|0)==(1668050786); - if ($25) { + $20 = HEAP32[$h>>2]|0; + $21 = ($20|0)==(1668050786); + if ($21) { HEAP8[$aff>>0] = 66; continue; } - $26 = HEAP32[$h>>2]|0; - $27 = ($26|0)==(1952807028); - if ($27) { + $22 = HEAP32[$h>>2]|0; + $23 = ($22|0)==(1952807028); + if ($23) { HEAP8[$aff>>0] = 66; continue; } - $28 = HEAP32[$h>>2]|0; - $29 = ($28|0)==(1651273570); + $24 = HEAP32[$h>>2]|0; + $25 = ($24|0)==(1651273570); do { - if ($29) { - $30 = HEAP8[$aff>>0]|0; - $31 = $30 << 24 >> 24; - $32 = ($31|0)==(67); - if (!($32)) { - $33 = HEAP8[$aff>>0]|0; - $34 = $33 << 24 >> 24; - $35 = ($34|0)==(69); - if (!($35)) { + if ($25) { + $26 = HEAP8[$aff>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($27|0)==(67); + if (!($28)) { + $29 = HEAP8[$aff>>0]|0; + $30 = $29 << 24 >> 24; + $31 = ($30|0)==(69); + if (!($31)) { break; } } HEAP8[$aff>>0] = 65; - $36 = HEAP32[$1>>2]|0; - $37 = HEAP8[$36>>0]|0; - $38 = $37 << 24 >> 24; - $39 = ($38|0)==(40); - if (!($39)) { - continue L4; + $32 = HEAP32[$0>>2]|0; + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = ($34|0)==(40); + if (!($35)) { + continue L1; } - $40 = HEAP32[$1>>2]|0; - HEAP32[$zChar>>2] = $40; - continue L4; + $36 = HEAP32[$0>>2]|0; + HEAP32[$zChar>>2] = $36; + continue L1; } } while(0); - $41 = HEAP32[$h>>2]|0; - $42 = ($41|0)==(1919246700); - if ($42) { - $43 = HEAP8[$aff>>0]|0; - $44 = $43 << 24 >> 24; - $45 = ($44|0)==(67); - if ($45) { + $37 = HEAP32[$h>>2]|0; + $38 = ($37|0)==(1919246700); + if ($38) { + $39 = HEAP8[$aff>>0]|0; + $40 = $39 << 24 >> 24; + $41 = ($40|0)==(67); + if ($41) { HEAP8[$aff>>0] = 69; continue; } } - $46 = HEAP32[$h>>2]|0; - $47 = ($46|0)==(1718382433); - if ($47) { - $48 = HEAP8[$aff>>0]|0; - $49 = $48 << 24 >> 24; - $50 = ($49|0)==(67); - if ($50) { + $42 = HEAP32[$h>>2]|0; + $43 = ($42|0)==(1718382433); + if ($43) { + $44 = HEAP8[$aff>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($45|0)==(67); + if ($46) { HEAP8[$aff>>0] = 69; continue; } } - $51 = HEAP32[$h>>2]|0; - $52 = ($51|0)==(1685026146); - if ($52) { - $53 = HEAP8[$aff>>0]|0; - $54 = $53 << 24 >> 24; - $55 = ($54|0)==(67); - if ($55) { + $47 = HEAP32[$h>>2]|0; + $48 = ($47|0)==(1685026146); + if ($48) { + $49 = HEAP8[$aff>>0]|0; + $50 = $49 << 24 >> 24; + $51 = ($50|0)==(67); + if ($51) { HEAP8[$aff>>0] = 69; continue; } } - $56 = HEAP32[$h>>2]|0; - $57 = $56 & 16777215; - $58 = ($57|0)==(6909556); - if ($58) { - label = 25; + $52 = HEAP32[$h>>2]|0; + $53 = $52 & 16777215; + $54 = ($53|0)==(6909556); + if ($54) { + label = 24; break; } } - if ((label|0) == 25) { + if ((label|0) == 24) { HEAP8[$aff>>0] = 68; } - $59 = HEAP32[$2>>2]|0; - $60 = ($59|0)!=(0|0); - L38: do { - if ($60) { - $61 = HEAP32[$2>>2]|0; - HEAP8[$61>>0] = 1; - $62 = HEAP8[$aff>>0]|0; - $63 = $62 << 24 >> 24; - $64 = ($63|0)<(67); - if ($64) { - $65 = HEAP32[$zChar>>2]|0; - $66 = ($65|0)!=(0|0); - if (!($66)) { - $89 = HEAP32[$2>>2]|0; - HEAP8[$89>>0] = 5; - break; - } - while(1) { - $67 = HEAP32[$zChar>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = ($68<<24>>24)!=(0); - if (!($69)) { - break L38; - } - $70 = HEAP32[$zChar>>2]|0; - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = (19267 + ($72)|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = $75 & 4; - $77 = ($76|0)!=(0); - if ($77) { - break; - } - $87 = HEAP32[$zChar>>2]|0; - $88 = ((($87)) + 1|0); - HEAP32[$zChar>>2] = $88; - } - HEAP32[$v>>2] = 0; - $78 = HEAP32[$zChar>>2]|0; - (_sqlite3GetInt32($78,$v)|0); - $79 = HEAP32[$v>>2]|0; - $80 = (($79|0) / 4)&-1; - $81 = (($80) + 1)|0; - HEAP32[$v>>2] = $81; - $82 = HEAP32[$v>>2]|0; - $83 = ($82|0)>(255); - $$ = $83 ? 255 : $81; - HEAP32[$v>>2] = $$; - $84 = HEAP32[$v>>2]|0; - $85 = $84&255; - $86 = HEAP32[$2>>2]|0; - HEAP8[$86>>0] = $85; - } + $55 = HEAP32[$1>>2]|0; + $56 = ($55|0)!=(0|0); + if (!($56)) { + $86 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($86|0); + } + $57 = HEAP32[$1>>2]|0; + HEAP8[$57>>0] = 1; + $58 = HEAP8[$aff>>0]|0; + $59 = $58 << 24 >> 24; + $60 = ($59|0)<(67); + if (!($60)) { + $86 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($86|0); + } + $61 = HEAP32[$zChar>>2]|0; + $62 = ($61|0)!=(0|0); + if (!($62)) { + $85 = HEAP32[$1>>2]|0; + HEAP8[$85>>0] = 5; + $86 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($86|0); + } + while(1) { + $63 = HEAP32[$zChar>>2]|0; + $64 = HEAP8[$63>>0]|0; + $65 = ($64<<24>>24)!=(0); + if (!($65)) { + label = 33; + break; } - } while(0); - $90 = HEAP8[$aff>>0]|0; - HEAP8[$0>>0] = $90; - $91 = HEAP8[$0>>0]|0; - STACKTOP = sp;return ($91|0); + $66 = HEAP32[$zChar>>2]|0; + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = (19011 + ($68)|0); + $70 = HEAP8[$69>>0]|0; + $71 = $70&255; + $72 = $71 & 4; + $73 = ($72|0)!=(0); + if ($73) { + break; + } + $83 = HEAP32[$zChar>>2]|0; + $84 = ((($83)) + 1|0); + HEAP32[$zChar>>2] = $84; + } + if ((label|0) == 33) { + $86 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($86|0); + } + HEAP32[$v>>2] = 0; + $74 = HEAP32[$zChar>>2]|0; + (_sqlite3GetInt32($74,$v)|0); + $75 = HEAP32[$v>>2]|0; + $76 = (($75|0) / 4)&-1; + $77 = (($76) + 1)|0; + HEAP32[$v>>2] = $77; + $78 = HEAP32[$v>>2]|0; + $79 = ($78|0)>(255); + $$ = $79 ? 255 : $77; + HEAP32[$v>>2] = $$; + $80 = HEAP32[$v>>2]|0; + $81 = $80&255; + $82 = HEAP32[$1>>2]|0; + HEAP8[$82>>0] = $81; + $86 = HEAP8[$aff>>0]|0; + STACKTOP = sp;return ($86|0); } function _sqlite3VdbeMemCast($pMem,$aff,$encoding) { $pMem = $pMem|0; @@ -133019,11 +134315,11 @@ function _sqlite3VdbeMemStringify($pMem,$enc,$bForce) { $26 = (($24) + 4)|0; $27 = $26; HEAP32[$27>>2] = $23; - (_sqlite3_snprintf(32,$16,29137,$vararg_buffer)|0); + (_sqlite3_snprintf(32,$16,28862,$vararg_buffer)|0); } else { $28 = +HEAPF64[$17>>3]; HEAPF64[$vararg_buffer1>>3] = $28; - (_sqlite3_snprintf(32,$16,29142,$vararg_buffer1)|0); + (_sqlite3_snprintf(32,$16,28867,$vararg_buffer1)|0); } $29 = HEAP32[$1>>2]|0; $30 = ((($29)) + 16|0); @@ -133403,7 +134699,7 @@ function _sqlite3CheckObjectName($pParse,$zName) { HEAP32[$2>>2] = $zName; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 140|0); + $5 = ((($4)) + 144|0); $6 = ((($5)) + 5|0); $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)!=(0); @@ -133422,13 +134718,13 @@ function _sqlite3CheckObjectName($pParse,$zName) { $19 = ($18|0)==(0); if ($19) { $20 = HEAP32[$2>>2]|0; - $21 = (_sqlite3_strnicmp($20,28715,7)|0); + $21 = (_sqlite3_strnicmp($20,28440,7)|0); $22 = (0)==($21|0); if ($22) { $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer>>2] = $24; - _sqlite3ErrorMsg($23,31646,$vararg_buffer); + _sqlite3ErrorMsg($23,31363,$vararg_buffer); HEAP32[$0>>2] = 1; $25 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($25|0); @@ -133508,7 +134804,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $26 = HEAP32[$2>>2]|0; $27 = HEAP32[$26>>2]|0; HEAP32[$vararg_buffer>>2] = $27; - _sqlite3ErrorMsg($25,29854,$vararg_buffer); + _sqlite3ErrorMsg($25,29579,$vararg_buffer); HEAP32[$0>>2] = 1; $120 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($120|0); @@ -133520,7 +134816,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $32 = HEAP32[$db>>2]|0; do { if ($31) { - $33 = ((($32)) + 248|0); + $33 = ((($32)) + 256|0); $34 = HEAP32[$33>>2]|0; $35 = (($34) + 1)|0; HEAP32[$33>>2] = $35; @@ -133534,7 +134830,7 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { $43 = ((($42)) + 4|0); (_sqlite3ColumnsFromExprList($36,$39,$41,$43)|0); $44 = HEAP32[$db>>2]|0; - $45 = ((($44)) + 248|0); + $45 = ((($44)) + 256|0); $46 = HEAP32[$45>>2]|0; $47 = (($46) + -1)|0; HEAP32[$45>>2] = $47; @@ -133558,23 +134854,23 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { HEAP32[$n>>2] = $56; $57 = HEAP32[$1>>2]|0; $58 = HEAP32[$pSel>>2]|0; - $59 = ((($58)) + 32|0); + $59 = ((($58)) + 28|0); $60 = HEAP32[$59>>2]|0; _sqlite3SrcListAssignCursors($57,$60); $61 = HEAP32[$2>>2]|0; $62 = ((($61)) + 34|0); HEAP16[$62>>1] = -1; $63 = HEAP32[$db>>2]|0; - $64 = ((($63)) + 248|0); + $64 = ((($63)) + 256|0); $65 = HEAP32[$64>>2]|0; $66 = (($65) + 1)|0; HEAP32[$64>>2] = $66; $67 = HEAP32[$db>>2]|0; - $68 = ((($67)) + 288|0); + $68 = ((($67)) + 296|0); $69 = HEAP32[$68>>2]|0; HEAP32[$xAuth>>2] = $69; $70 = HEAP32[$db>>2]|0; - $71 = ((($70)) + 288|0); + $71 = ((($70)) + 296|0); HEAP32[$71>>2] = 0; $72 = HEAP32[$1>>2]|0; $73 = HEAP32[$pSel>>2]|0; @@ -133582,10 +134878,10 @@ function _sqlite3ViewGetColumnNames($pParse,$pTable) { HEAP32[$pSelTab>>2] = $74; $75 = HEAP32[$xAuth>>2]|0; $76 = HEAP32[$db>>2]|0; - $77 = ((($76)) + 288|0); + $77 = ((($76)) + 296|0); HEAP32[$77>>2] = $75; $78 = HEAP32[$db>>2]|0; - $79 = ((($78)) + 248|0); + $79 = ((($78)) + 256|0); $80 = HEAP32[$79>>2]|0; $81 = (($80) + -1)|0; HEAP32[$79>>2] = $81; @@ -133884,7 +135180,7 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $18 = HEAP32[$17>>2]|0; HEAP32[$zMod>>2] = $18; $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 312|0); + $20 = ((($19)) + 320|0); $21 = HEAP32[$zMod>>2]|0; $22 = (_sqlite3HashFind($20,$21)|0); HEAP32[$pMod>>2] = $22; @@ -133907,7 +135203,7 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $41 = HEAP32[$1>>2]|0; $42 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer1>>2] = $42; - _sqlite3ErrorMsg($41,19255,$vararg_buffer1); + _sqlite3ErrorMsg($41,18999,$vararg_buffer1); } $43 = HEAP32[$db>>2]|0; $44 = HEAP32[$zErr>>2]|0; @@ -133921,7 +135217,7 @@ function _sqlite3VtabCallConnect($pParse,$pTab) { $29 = HEAP32[$1>>2]|0; $30 = HEAP32[$zModule>>2]|0; HEAP32[$vararg_buffer>>2] = $30; - _sqlite3ErrorMsg($29,31494,$vararg_buffer); + _sqlite3ErrorMsg($29,31219,$vararg_buffer); HEAP32[$rc>>2] = 1; } $45 = HEAP32[$rc>>2]|0; @@ -133988,7 +135284,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { HEAP32[$nCol>>2] = $10; $11 = HEAP32[$db>>2]|0; $12 = HEAP32[$nCol>>2]|0; - $13 = ($12*24)|0; + $13 = $12<<4; $14 = (_sqlite3DbMallocZero($11,$13,0)|0); HEAP32[$aCol>>2] = $14; } else { @@ -134013,7 +135309,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { break; } $24 = HEAP32[$db>>2]|0; - $25 = ((($24)) + 65|0); + $25 = ((($24)) + 69|0); $26 = HEAP8[$25>>0]|0; $27 = ($26<<24>>24)!=(0); $28 = $27 ^ 1; @@ -134088,11 +135384,11 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $75 = HEAP32[$pTab>>2]|0; $76 = ((($75)) + 4|0); $77 = HEAP32[$76>>2]|0; - $78 = (($77) + (($74*24)|0)|0); + $78 = (($77) + ($74<<4)|0); $79 = HEAP32[$78>>2]|0; $80 = $79; } else { - $80 = 25592; + $80 = 25353; } HEAP32[$zName>>2] = $80; break; @@ -134124,7 +135420,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $95 = HEAP32[$db>>2]|0; $96 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $96; - $97 = (_sqlite3MPrintf($95,19255,$vararg_buffer)|0); + $97 = (_sqlite3MPrintf($95,18999,$vararg_buffer)|0); HEAP32[$zName>>2] = $97; HEAP32[$cnt>>2] = 0; while(1) { @@ -134161,7 +135457,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $113 = (($112) + ($111)|0); $114 = HEAP8[$113>>0]|0; $115 = $114&255; - $116 = (19267 + ($115)|0); + $116 = (19011 + ($115)|0); $117 = HEAP8[$116>>0]|0; $118 = $117&255; $119 = $118 & 4; @@ -134195,7 +135491,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { HEAP32[$vararg_ptr5>>2] = $132; $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr6>>2] = $134; - $135 = (_sqlite3MPrintf($130,31486,$vararg_buffer2)|0); + $135 = (_sqlite3MPrintf($130,31211,$vararg_buffer2)|0); HEAP32[$zName>>2] = $135; $136 = HEAP32[$cnt>>2]|0; $137 = ($136>>>0)>(3); @@ -134223,12 +135519,12 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { $148 = (($147) + 1)|0; HEAP32[$i>>2] = $148; $149 = HEAP32[$pCol>>2]|0; - $150 = ((($149)) + 24|0); + $150 = ((($149)) + 16|0); HEAP32[$pCol>>2] = $150; } _sqlite3HashClear($ht); $151 = HEAP32[$db>>2]|0; - $152 = ((($151)) + 65|0); + $152 = ((($151)) + 69|0); $153 = HEAP8[$152>>0]|0; $154 = ($153<<24>>24)!=(0); if (!($154)) { @@ -134247,7 +135543,7 @@ function _sqlite3ColumnsFromExprList($pParse,$pEList,$pnCol,$paCol) { } $159 = HEAP32[$j>>2]|0; $160 = HEAP32[$aCol>>2]|0; - $161 = (($160) + (($159*24)|0)|0); + $161 = (($160) + ($159<<4)|0); $162 = HEAP32[$161>>2]|0; _sqlite3DbFree($158,$162); $163 = HEAP32[$j>>2]|0; @@ -134269,12 +135565,12 @@ function _sqlite3SelectDup($db,$p,$flags) { $p = $p|0; $flags = $flags|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pNew = 0, $pPrior = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $pNew = 0, $pPrior = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 20|0; @@ -134290,18 +135586,18 @@ function _sqlite3SelectDup($db,$p,$flags) { $5 = ($4|0)==(0|0); if ($5) { HEAP32[$0>>2] = 0; - $131 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($131|0); + $120 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($120|0); } $6 = HEAP32[$1>>2]|0; - $7 = (_sqlite3DbMallocRawNN($6,72,0)|0); + $7 = (_sqlite3DbMallocRawNN($6,68,0)|0); HEAP32[$pNew>>2] = $7; $8 = HEAP32[$pNew>>2]|0; $9 = ($8|0)==(0|0); if ($9) { HEAP32[$0>>2] = 0; - $131 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($131|0); + $120 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($120|0); } $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$2>>2]|0; @@ -134312,48 +135608,48 @@ function _sqlite3SelectDup($db,$p,$flags) { HEAP32[$15>>2] = $14; $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 32|0); + $18 = ((($17)) + 28|0); $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$3>>2]|0; $21 = (_sqlite3SrcListDup($16,$19,$20)|0); $22 = HEAP32[$pNew>>2]|0; - $23 = ((($22)) + 32|0); + $23 = ((($22)) + 28|0); HEAP32[$23>>2] = $21; $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$2>>2]|0; - $26 = ((($25)) + 36|0); + $26 = ((($25)) + 32|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$3>>2]|0; $29 = (_sqlite3ExprDup($24,$27,$28)|0); $30 = HEAP32[$pNew>>2]|0; - $31 = ((($30)) + 36|0); + $31 = ((($30)) + 32|0); HEAP32[$31>>2] = $29; $32 = HEAP32[$1>>2]|0; $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 40|0); + $34 = ((($33)) + 36|0); $35 = HEAP32[$34>>2]|0; $36 = HEAP32[$3>>2]|0; $37 = (_sqlite3ExprListDup($32,$35,$36)|0); $38 = HEAP32[$pNew>>2]|0; - $39 = ((($38)) + 40|0); + $39 = ((($38)) + 36|0); HEAP32[$39>>2] = $37; $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 44|0); + $42 = ((($41)) + 40|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$3>>2]|0; $45 = (_sqlite3ExprDup($40,$43,$44)|0); $46 = HEAP32[$pNew>>2]|0; - $47 = ((($46)) + 44|0); + $47 = ((($46)) + 40|0); HEAP32[$47>>2] = $45; $48 = HEAP32[$1>>2]|0; $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 48|0); + $50 = ((($49)) + 44|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$3>>2]|0; $53 = (_sqlite3ExprListDup($48,$51,$52)|0); $54 = HEAP32[$pNew>>2]|0; - $55 = ((($54)) + 48|0); + $55 = ((($54)) + 44|0); HEAP32[$55>>2] = $53; $56 = HEAP32[$2>>2]|0; $57 = ((($56)) + 4|0); @@ -134363,93 +135659,81 @@ function _sqlite3SelectDup($db,$p,$flags) { HEAP8[$60>>0] = $58; $61 = HEAP32[$1>>2]|0; $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 52|0); + $63 = ((($62)) + 48|0); $64 = HEAP32[$63>>2]|0; $65 = HEAP32[$3>>2]|0; $66 = (_sqlite3SelectDup($61,$64,$65)|0); HEAP32[$pPrior>>2] = $66; $67 = HEAP32[$pNew>>2]|0; - $68 = ((($67)) + 52|0); + $68 = ((($67)) + 48|0); HEAP32[$68>>2] = $66; $69 = HEAP32[$pPrior>>2]|0; $70 = ($69|0)!=(0|0); if ($70) { $71 = HEAP32[$pNew>>2]|0; $72 = HEAP32[$pPrior>>2]|0; - $73 = ((($72)) + 56|0); + $73 = ((($72)) + 52|0); HEAP32[$73>>2] = $71; } $74 = HEAP32[$pNew>>2]|0; - $75 = ((($74)) + 56|0); + $75 = ((($74)) + 52|0); HEAP32[$75>>2] = 0; $76 = HEAP32[$1>>2]|0; $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 60|0); + $78 = ((($77)) + 56|0); $79 = HEAP32[$78>>2]|0; $80 = HEAP32[$3>>2]|0; $81 = (_sqlite3ExprDup($76,$79,$80)|0); $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 60|0); + $83 = ((($82)) + 56|0); HEAP32[$83>>2] = $81; $84 = HEAP32[$1>>2]|0; $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 64|0); + $86 = ((($85)) + 60|0); $87 = HEAP32[$86>>2]|0; $88 = HEAP32[$3>>2]|0; $89 = (_sqlite3ExprDup($84,$87,$88)|0); $90 = HEAP32[$pNew>>2]|0; - $91 = ((($90)) + 64|0); + $91 = ((($90)) + 60|0); HEAP32[$91>>2] = $89; $92 = HEAP32[$pNew>>2]|0; - $93 = ((($92)) + 8|0); + $93 = ((($92)) + 12|0); HEAP32[$93>>2] = 0; $94 = HEAP32[$pNew>>2]|0; - $95 = ((($94)) + 12|0); + $95 = ((($94)) + 16|0); HEAP32[$95>>2] = 0; $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 6|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = $99 & -17; - $101 = $100&65535; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = $98 & -17; + $100 = HEAP32[$pNew>>2]|0; + $101 = ((($100)) + 8|0); + HEAP32[$101>>2] = $99; $102 = HEAP32[$pNew>>2]|0; - $103 = ((($102)) + 6|0); - HEAP16[$103>>1] = $101; + $103 = ((($102)) + 20|0); + HEAP32[$103>>2] = -1; $104 = HEAP32[$pNew>>2]|0; - $105 = ((($104)) + 16|0); - HEAP32[$105>>2] = -1; - $106 = HEAP32[$pNew>>2]|0; - $107 = ((($106)) + 16|0); - $108 = ((($107)) + 4|0); - HEAP32[$108>>2] = -1; - $109 = HEAP32[$2>>2]|0; - $110 = ((($109)) + 24|0); - $111 = $110; - $112 = $111; - $113 = HEAP32[$112>>2]|0; - $114 = (($111) + 4)|0; - $115 = $114; - $116 = HEAP32[$115>>2]|0; + $105 = ((($104)) + 20|0); + $106 = ((($105)) + 4|0); + HEAP32[$106>>2] = -1; + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 6|0); + $109 = HEAP16[$108>>1]|0; + $110 = HEAP32[$pNew>>2]|0; + $111 = ((($110)) + 6|0); + HEAP16[$111>>1] = $109; + $112 = HEAP32[$1>>2]|0; + $113 = HEAP32[$2>>2]|0; + $114 = ((($113)) + 64|0); + $115 = HEAP32[$114>>2]|0; + $116 = (_withDup($112,$115)|0); $117 = HEAP32[$pNew>>2]|0; - $118 = ((($117)) + 24|0); - $119 = $118; - $120 = $119; - HEAP32[$120>>2] = $113; - $121 = (($119) + 4)|0; - $122 = $121; - HEAP32[$122>>2] = $116; - $123 = HEAP32[$1>>2]|0; - $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 68|0); - $126 = HEAP32[$125>>2]|0; - $127 = (_withDup($123,$126)|0); - $128 = HEAP32[$pNew>>2]|0; - $129 = ((($128)) + 68|0); - HEAP32[$129>>2] = $127; - $130 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $130; - $131 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($131|0); + $118 = ((($117)) + 64|0); + HEAP32[$118>>2] = $116; + $119 = HEAP32[$pNew>>2]|0; + HEAP32[$0>>2] = $119; + $120 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($120|0); } function _sqlite3SrcListAssignCursors($pParse,$pList) { $pParse = $pParse|0; @@ -134507,7 +135791,7 @@ function _sqlite3SrcListAssignCursors($pParse,$pList) { $25 = HEAP32[$pItem>>2]|0; $26 = ((($25)) + 20|0); $27 = HEAP32[$26>>2]|0; - $28 = ((($27)) + 32|0); + $28 = ((($27)) + 28|0); $29 = HEAP32[$28>>2]|0; _sqlite3SrcListAssignCursors($24,$29); } @@ -134570,14 +135854,14 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { } while(1) { $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 52|0); + $23 = ((($22)) + 48|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)!=(0|0); if (!($25)) { break; } $26 = HEAP32[$2>>2]|0; - $27 = ((($26)) + 52|0); + $27 = ((($26)) + 48|0); $28 = HEAP32[$27>>2]|0; HEAP32[$2>>2] = $28; } @@ -134619,7 +135903,7 @@ function _sqlite3ResultSetOfSelect($pParse,$pSelect) { $52 = ((($51)) + 32|0); HEAP16[$52>>1] = -1; $53 = HEAP32[$db>>2]|0; - $54 = ((($53)) + 65|0); + $54 = ((($53)) + 69|0); $55 = HEAP8[$54>>0]|0; $56 = ($55<<24>>24)!=(0); if ($56) { @@ -134642,8 +135926,8 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $p = $p|0; $pOuterNC = $pOuterNC|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $db = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $db = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -134662,73 +135946,72 @@ function _sqlite3SelectPrep($pParse,$p,$pOuterNC) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 65|0); + $8 = ((($7)) + 69|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if ($10) { STACKTOP = sp;return; } $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 6|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 64; - $16 = ($15|0)!=(0); - if ($16) { + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 & 64; + $15 = ($14|0)!=(0); + if ($15) { STACKTOP = sp;return; } - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$1>>2]|0; - _sqlite3SelectExpand($17,$18); - $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 68|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)!=(0); - if ($22) { + $16 = HEAP32[$0>>2]|0; + $17 = HEAP32[$1>>2]|0; + _sqlite3SelectExpand($16,$17); + $18 = HEAP32[$0>>2]|0; + $19 = ((($18)) + 68|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0); + if ($21) { STACKTOP = sp;return; } - $23 = HEAP32[$db>>2]|0; - $24 = ((($23)) + 65|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = ($26|0)!=(0); - if ($27) { + $22 = HEAP32[$db>>2]|0; + $23 = ((($22)) + 69|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = ($25|0)!=(0); + if ($26) { STACKTOP = sp;return; } - $28 = HEAP32[$0>>2]|0; - $29 = HEAP32[$1>>2]|0; - $30 = HEAP32[$2>>2]|0; - _sqlite3ResolveSelectNames($28,$29,$30); - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 68|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$2>>2]|0; + _sqlite3ResolveSelectNames($27,$28,$29); + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 68|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0); + if ($33) { STACKTOP = sp;return; } - $35 = HEAP32[$db>>2]|0; - $36 = ((($35)) + 65|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = ($38|0)!=(0); - if ($39) { + $34 = HEAP32[$db>>2]|0; + $35 = ((($34)) + 69|0); + $36 = HEAP8[$35>>0]|0; + $37 = $36&255; + $38 = ($37|0)!=(0); + if ($38) { STACKTOP = sp;return; } - $40 = HEAP32[$0>>2]|0; - $41 = HEAP32[$1>>2]|0; - _sqlite3SelectAddTypeInfo($40,$41); + $39 = HEAP32[$0>>2]|0; + $40 = HEAP32[$1>>2]|0; + _sqlite3SelectAddTypeInfo($39,$40); STACKTOP = sp;return; } function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $pParse = $pParse|0; $pTab = $pTab|0; $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $pColl = 0, $sNC = 0, $szAll = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $a = 0, $db = 0, $i = 0, $p = 0, $pCol = 0, $pColl = 0; + var $sNC = 0, $szAll = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 76|0; @@ -134755,7 +136038,7 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $8 = $7; HEAP32[$8>>2] = 0; $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 65|0); + $10 = ((($9)) + 69|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); if ($12) { @@ -134763,7 +136046,7 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { } ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 32|0); + $14 = ((($13)) + 28|0); $15 = HEAP32[$14>>2]|0; $16 = ((($sNC)) + 4|0); HEAP32[$16>>2] = $15; @@ -134792,94 +136075,83 @@ function _selectAddColumnTypeAndCollation($pParse,$pTab,$pSelect) { $32 = (($31) + (($30*20)|0)|0); $33 = HEAP32[$32>>2]|0; HEAP32[$p>>2] = $33; - $34 = HEAP32[$pCol>>2]|0; - $35 = ((($34)) + 12|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - $38 = HEAP32[$db>>2]|0; - $39 = HEAP32[$p>>2]|0; - $40 = HEAP32[$pCol>>2]|0; - $41 = ((($40)) + 22|0); - $42 = (_columnTypeImpl($sNC,$39,$41)|0); - $43 = (_sqlite3DbStrDup($38,$42)|0); - $44 = HEAP32[$pCol>>2]|0; - $45 = ((($44)) + 12|0); - HEAP32[$45>>2] = $43; - } - $46 = HEAP32[$pCol>>2]|0; - $47 = ((($46)) + 22|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = $szAll; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_i64Add(($52|0),($55|0),($49|0),0)|0); - $57 = tempRet0; - $58 = $szAll; - $59 = $58; - HEAP32[$59>>2] = $56; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = $57; - $62 = HEAP32[$p>>2]|0; - $63 = (_sqlite3ExprAffinity($62)|0); - $64 = HEAP32[$pCol>>2]|0; - $65 = ((($64)) + 21|0); - HEAP8[$65>>0] = $63; - $66 = HEAP32[$pCol>>2]|0; - $67 = ((($66)) + 21|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68 << 24 >> 24; - $70 = ($69|0)==(0); - if ($70) { - $71 = HEAP32[$pCol>>2]|0; - $72 = ((($71)) + 21|0); - HEAP8[$72>>0] = 65; + $34 = HEAP32[$p>>2]|0; + $35 = HEAP32[$pCol>>2]|0; + $36 = ((($35)) + 14|0); + (_columnTypeImpl($sNC,$34,$36)|0); + $37 = HEAP32[$pCol>>2]|0; + $38 = ((($37)) + 14|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $szAll; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (_i64Add(($43|0),($46|0),($40|0),0)|0); + $48 = tempRet0; + $49 = $szAll; + $50 = $49; + HEAP32[$50>>2] = $47; + $51 = (($49) + 4)|0; + $52 = $51; + HEAP32[$52>>2] = $48; + $53 = HEAP32[$p>>2]|0; + $54 = (_sqlite3ExprAffinity($53)|0); + $55 = HEAP32[$pCol>>2]|0; + $56 = ((($55)) + 13|0); + HEAP8[$56>>0] = $54; + $57 = HEAP32[$pCol>>2]|0; + $58 = ((($57)) + 13|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($60|0)==(0); + if ($61) { + $62 = HEAP32[$pCol>>2]|0; + $63 = ((($62)) + 13|0); + HEAP8[$63>>0] = 65; } - $73 = HEAP32[$0>>2]|0; - $74 = HEAP32[$p>>2]|0; - $75 = (_sqlite3ExprCollSeq($73,$74)|0); - HEAP32[$pColl>>2] = $75; - $76 = HEAP32[$pColl>>2]|0; - $77 = ($76|0)!=(0|0); - if ($77) { - $78 = HEAP32[$pCol>>2]|0; - $79 = ((($78)) + 16|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($80|0)==(0|0); - if ($81) { - $82 = HEAP32[$db>>2]|0; - $83 = HEAP32[$pColl>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3DbStrDup($82,$84)|0); - $86 = HEAP32[$pCol>>2]|0; - $87 = ((($86)) + 16|0); - HEAP32[$87>>2] = $85; + $64 = HEAP32[$0>>2]|0; + $65 = HEAP32[$p>>2]|0; + $66 = (_sqlite3ExprCollSeq($64,$65)|0); + HEAP32[$pColl>>2] = $66; + $67 = HEAP32[$pColl>>2]|0; + $68 = ($67|0)!=(0|0); + if ($68) { + $69 = HEAP32[$pCol>>2]|0; + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if ($72) { + $73 = HEAP32[$db>>2]|0; + $74 = HEAP32[$pColl>>2]|0; + $75 = HEAP32[$74>>2]|0; + $76 = (_sqlite3DbStrDup($73,$75)|0); + $77 = HEAP32[$pCol>>2]|0; + $78 = ((($77)) + 8|0); + HEAP32[$78>>2] = $76; } } - $88 = HEAP32[$i>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[$i>>2] = $89; - $90 = HEAP32[$pCol>>2]|0; - $91 = ((($90)) + 24|0); - HEAP32[$pCol>>2] = $91; + $79 = HEAP32[$i>>2]|0; + $80 = (($79) + 1)|0; + HEAP32[$i>>2] = $80; + $81 = HEAP32[$pCol>>2]|0; + $82 = ((($81)) + 16|0); + HEAP32[$pCol>>2] = $82; } - $92 = $szAll; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = (($92) + 4)|0; - $96 = $95; - $97 = HEAP32[$96>>2]|0; - $98 = (___muldi3(($94|0),($97|0),4,0)|0); - $99 = tempRet0; - $100 = (_sqlite3LogEst($98,$99)|0); - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 40|0); - HEAP16[$102>>1] = $100; + $83 = $szAll; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (___muldi3(($85|0),($88|0),4,0)|0); + $90 = tempRet0; + $91 = (_sqlite3LogEst($89,$90)|0); + $92 = HEAP32[$1>>2]|0; + $93 = ((($92)) + 40|0); + HEAP16[$93>>1] = $91; STACKTOP = sp;return; } function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { @@ -134887,13 +136159,13 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $pExpr = $pExpr|0; $pEstWidth = $pEstWidth|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $estWidth = 0, $iCol = 0, $j = 0, $p = 0, $p3 = 0, $pS = 0, $pS2 = 0, $pTab = 0, $pTabList = 0, $sNC = 0; - var $sNC1 = 0, $zType = 0, label = 0, sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $estWidth = 0, $iCol = 0, $j = 0, $p = 0, $p3 = 0, $pS = 0, $pS2 = 0, $pTab = 0, $pTabList = 0, $sNC = 0, $sNC1 = 0; + var $zType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 112|0; @@ -135027,7 +136299,7 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $70 = HEAP32[$69>>2]|0; HEAP32[$p>>2] = $70; $71 = HEAP32[$pS>>2]|0; - $72 = ((($71)) + 32|0); + $72 = ((($71)) + 28|0); $73 = HEAP32[$72>>2]|0; $74 = ((($sNC)) + 4|0); HEAP32[$74>>2] = $73; @@ -135059,25 +136331,24 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { $91 = HEAP32[$iCol>>2]|0; $92 = ($91|0)<(0); if ($92) { - HEAP32[$zType>>2] = 19623; + HEAP32[$zType>>2] = 19367; break L1; } else { $93 = HEAP32[$iCol>>2]|0; $94 = HEAP32[$pTab>>2]|0; $95 = ((($94)) + 4|0); $96 = HEAP32[$95>>2]|0; - $97 = (($96) + (($93*24)|0)|0); - $98 = ((($97)) + 12|0); - $99 = HEAP32[$98>>2]|0; - HEAP32[$zType>>2] = $99; - $100 = HEAP32[$iCol>>2]|0; - $101 = HEAP32[$pTab>>2]|0; - $102 = ((($101)) + 4|0); - $103 = HEAP32[$102>>2]|0; - $104 = (($103) + (($100*24)|0)|0); - $105 = ((($104)) + 22|0); - $106 = HEAP8[$105>>0]|0; - HEAP8[$estWidth>>0] = $106; + $97 = (($96) + ($93<<4)|0); + $98 = (_sqlite3ColumnType($97,0)|0); + HEAP32[$zType>>2] = $98; + $99 = HEAP32[$iCol>>2]|0; + $100 = HEAP32[$pTab>>2]|0; + $101 = ((($100)) + 4|0); + $102 = HEAP32[$101>>2]|0; + $103 = (($102) + ($99<<4)|0); + $104 = ((($103)) + 14|0); + $105 = HEAP8[$104>>0]|0; + HEAP8[$estWidth>>0] = $105; break L1; } } @@ -135085,47 +136356,47 @@ function _columnTypeImpl($pNC,$pExpr,$pEstWidth) { break; } case 119: { - $107 = HEAP32[$1>>2]|0; - $108 = ((($107)) + 20|0); - $109 = HEAP32[$108>>2]|0; - HEAP32[$pS2>>2] = $109; - $110 = HEAP32[$pS2>>2]|0; - $111 = HEAP32[$110>>2]|0; - $112 = ((($111)) + 4|0); + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 20|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$pS2>>2] = $108; + $109 = HEAP32[$pS2>>2]|0; + $110 = HEAP32[$109>>2]|0; + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$113>>2]|0; - HEAP32[$p3>>2] = $114; - $115 = HEAP32[$pS2>>2]|0; - $116 = ((($115)) + 32|0); - $117 = HEAP32[$116>>2]|0; - $118 = ((($sNC1)) + 4|0); - HEAP32[$118>>2] = $117; - $119 = HEAP32[$0>>2]|0; - $120 = ((($sNC1)) + 16|0); - HEAP32[$120>>2] = $119; - $121 = HEAP32[$0>>2]|0; - $122 = HEAP32[$121>>2]|0; - HEAP32[$sNC1>>2] = $122; - $123 = HEAP32[$p3>>2]|0; - $124 = (_columnTypeImpl($sNC1,$123,$estWidth)|0); - HEAP32[$zType>>2] = $124; + HEAP32[$p3>>2] = $113; + $114 = HEAP32[$pS2>>2]|0; + $115 = ((($114)) + 28|0); + $116 = HEAP32[$115>>2]|0; + $117 = ((($sNC1)) + 4|0); + HEAP32[$117>>2] = $116; + $118 = HEAP32[$0>>2]|0; + $119 = ((($sNC1)) + 16|0); + HEAP32[$119>>2] = $118; + $120 = HEAP32[$0>>2]|0; + $121 = HEAP32[$120>>2]|0; + HEAP32[$sNC1>>2] = $121; + $122 = HEAP32[$p3>>2]|0; + $123 = (_columnTypeImpl($sNC1,$122,$estWidth)|0); + HEAP32[$zType>>2] = $123; break; } default: { } } } while(0); - $125 = HEAP32[$2>>2]|0; - $126 = ($125|0)!=(0|0); - if (!($126)) { - $129 = HEAP32[$zType>>2]|0; - STACKTOP = sp;return ($129|0); + $124 = HEAP32[$2>>2]|0; + $125 = ($124|0)!=(0|0); + if (!($125)) { + $128 = HEAP32[$zType>>2]|0; + STACKTOP = sp;return ($128|0); } - $127 = HEAP8[$estWidth>>0]|0; - $128 = HEAP32[$2>>2]|0; - HEAP8[$128>>0] = $127; - $129 = HEAP32[$zType>>2]|0; - STACKTOP = sp;return ($129|0); + $126 = HEAP8[$estWidth>>0]|0; + $127 = HEAP32[$2>>2]|0; + HEAP8[$127>>0] = $126; + $128 = HEAP32[$zType>>2]|0; + STACKTOP = sp;return ($128|0); } function _sqlite3ExprAffinity($pExpr) { $pExpr = $pExpr|0; @@ -135215,8 +136486,8 @@ function _sqlite3ExprAffinity($pExpr) { $47 = HEAP32[$46>>2]|0; $48 = ((($47)) + 4|0); $49 = HEAP32[$48>>2]|0; - $50 = (($49) + (($44*24)|0)|0); - $51 = ((($50)) + 21|0); + $50 = (($49) + ($44<<4)|0); + $51 = ((($50)) + 13|0); $52 = HEAP8[$51>>0]|0; HEAP8[$0>>0] = $52; $56 = HEAP8[$0>>0]|0; @@ -135423,7 +136694,7 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { if ((label|0) == 9) { $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$db>>2]|0; - $33 = ((($32)) + 62|0); + $33 = ((($32)) + 66|0); $34 = HEAP8[$33>>0]|0; $35 = HEAP32[$p>>2]|0; $36 = ((($35)) + 8|0); @@ -135446,13 +136717,13 @@ function _sqlite3ExprCollSeq($pParse,$pExpr) { $60 = HEAP32[$59>>2]|0; $61 = ((($60)) + 4|0); $62 = HEAP32[$61>>2]|0; - $63 = (($62) + (($57*24)|0)|0); - $64 = ((($63)) + 16|0); + $63 = (($62) + ($57<<4)|0); + $64 = ((($63)) + 8|0); $65 = HEAP32[$64>>2]|0; HEAP32[$zColl>>2] = $65; $66 = HEAP32[$db>>2]|0; $67 = HEAP32[$db>>2]|0; - $68 = ((($67)) + 62|0); + $68 = ((($67)) + 66|0); $69 = HEAP8[$68>>0]|0; $70 = HEAP32[$zColl>>2]|0; $71 = (_sqlite3FindCollSeq($66,$69,$70,0)|0); @@ -135557,7 +136828,7 @@ function _sqlite3GetCollSeq($pParse,$enc,$pColl,$zName) { $39 = HEAP32[$0>>2]|0; $40 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $40; - _sqlite3ErrorMsg($39,29884,$vararg_buffer); + _sqlite3ErrorMsg($39,29609,$vararg_buffer); $41 = HEAP32[$p>>2]|0; STACKTOP = sp;return ($41|0); } @@ -135587,7 +136858,7 @@ function _sqlite3CheckCollSeq($pParse,$pColl) { HEAP32[$db>>2] = $8; $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$db>>2]|0; - $11 = ((($10)) + 62|0); + $11 = ((($10)) + 66|0); $12 = HEAP8[$11>>0]|0; $13 = HEAP32[$2>>2]|0; $14 = HEAP32[$zName>>2]|0; @@ -135624,7 +136895,7 @@ function _callCollNeeded($db,$enc,$zName) { HEAP32[$1>>2] = $enc; HEAP32[$2>>2] = $zName; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 224|0); + $4 = ((($3)) + 228|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); do { @@ -135637,10 +136908,10 @@ function _callCollNeeded($db,$enc,$zName) { $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 224|0); + $13 = ((($12)) + 228|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 232|0); + $16 = ((($15)) + 236|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$1>>2]|0; @@ -135656,7 +136927,7 @@ function _callCollNeeded($db,$enc,$zName) { } } while(0); $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 228|0); + $24 = ((($23)) + 232|0); $25 = HEAP32[$24>>2]|0; $26 = ($25|0)!=(0|0); if (!($26)) { @@ -135680,14 +136951,14 @@ function _callCollNeeded($db,$enc,$zName) { $39 = ($38|0)!=(0|0); if ($39) { $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 228|0); + $41 = ((($40)) + 232|0); $42 = HEAP32[$41>>2]|0; $43 = HEAP32[$0>>2]|0; - $44 = ((($43)) + 232|0); + $44 = ((($43)) + 236|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 62|0); + $48 = ((($47)) + 66|0); $49 = HEAP8[$48>>0]|0; $50 = $49&255; $51 = HEAP32[$zExternal1>>2]|0; @@ -135725,7 +136996,7 @@ function _synthCollSeq($db,$pColl) { } $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$i>>2]|0; - $9 = (29915 + ($8)|0); + $9 = (29640 + ($8)|0); $10 = HEAP8[$9>>0]|0; $11 = HEAP32[$z>>2]|0; $12 = (_sqlite3FindCollSeq($7,$10,$11,0)|0); @@ -135810,8 +137081,8 @@ function _sqlite3ExprSkipCollate($pExpr) { function _sqlite3SelectExpand($pParse,$pSelect) { $pParse = $pParse|0; $pSelect = $pSelect|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w = 0; - var label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $w = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 32|0; @@ -135837,20 +137108,19 @@ function _sqlite3SelectExpand($pParse,$pSelect) { $10 = ((($w)) + 8|0); HEAP32[$10>>2] = 192; $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 6|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = $14 & 512; - $16 = ($15|0)==(0); - if (!($16)) { - $18 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$18)|0); + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = $13 & 512; + $15 = ($14|0)==(0); + if (!($15)) { + $17 = HEAP32[$1>>2]|0; + (_sqlite3WalkSelect($w,$17)|0); STACKTOP = sp;return; } - $17 = ((($w)) + 12|0); - HEAP32[$17>>2] = 132; - $18 = HEAP32[$1>>2]|0; - (_sqlite3WalkSelect($w,$18)|0); + $16 = ((($w)) + 12|0); + HEAP32[$16>>2] = 132; + $17 = HEAP32[$1>>2]|0; + (_sqlite3WalkSelect($w,$17)|0); STACKTOP = sp;return; } function _sqlite3ResolveSelectNames($pParse,$p,$pOuterNC) { @@ -135908,7 +137178,7 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pFrom = 0, $pParse = 0, $pSel = 0, $pTab = 0, $pTabList = 0, label = 0, sp = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pFrom = 0, $pParse = 0, $pSel = 0, $pTab = 0, $pTabList = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; @@ -135922,74 +137192,72 @@ function _selectAddSubqueryTypeInfo($pWalker,$p) { HEAP32[$0>>2] = $pWalker; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 6|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 | 64; - $7 = $6&65535; - HEAP16[$3>>1] = $7; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pParse>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ((($10)) + 32|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$pTabList>>2] = $12; + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 | 64; + HEAP32[$3>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$6>>2]|0; + HEAP32[$pParse>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 28|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pTabList>>2] = $10; HEAP32[$i>>2] = 0; - $13 = HEAP32[$pTabList>>2]|0; - $14 = ((($13)) + 8|0); - HEAP32[$pFrom>>2] = $14; + $11 = HEAP32[$pTabList>>2]|0; + $12 = ((($11)) + 8|0); + HEAP32[$pFrom>>2] = $12; while(1) { - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$pTabList>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ($15|0)<($17|0); - if (!($18)) { + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$pTabList>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = ($13|0)<($15|0); + if (!($16)) { break; } - $19 = HEAP32[$pFrom>>2]|0; - $20 = ((($19)) + 16|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$pTab>>2] = $21; - $22 = HEAP32[$pTab>>2]|0; - $23 = ((($22)) + 42|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 & 2; - $27 = ($26|0)!=(0); - if ($27) { - $28 = HEAP32[$pFrom>>2]|0; - $29 = ((($28)) + 20|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pSel>>2] = $30; - $31 = HEAP32[$pSel>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { + $17 = HEAP32[$pFrom>>2]|0; + $18 = ((($17)) + 16|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[$pTab>>2] = $19; + $20 = HEAP32[$pTab>>2]|0; + $21 = ((($20)) + 42|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $24 = $23 & 2; + $25 = ($24|0)!=(0); + if ($25) { + $26 = HEAP32[$pFrom>>2]|0; + $27 = ((($26)) + 20|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$pSel>>2] = $28; + $29 = HEAP32[$pSel>>2]|0; + $30 = ($29|0)!=(0|0); + if ($30) { while(1) { - $33 = HEAP32[$pSel>>2]|0; - $34 = ((($33)) + 52|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)!=(0|0); - if (!($36)) { + $31 = HEAP32[$pSel>>2]|0; + $32 = ((($31)) + 48|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { break; } - $37 = HEAP32[$pSel>>2]|0; - $38 = ((($37)) + 52|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$pSel>>2] = $39; + $35 = HEAP32[$pSel>>2]|0; + $36 = ((($35)) + 48|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$pSel>>2] = $37; } - $40 = HEAP32[$pParse>>2]|0; - $41 = HEAP32[$pTab>>2]|0; - $42 = HEAP32[$pSel>>2]|0; - _selectAddColumnTypeAndCollation($40,$41,$42); + $38 = HEAP32[$pParse>>2]|0; + $39 = HEAP32[$pTab>>2]|0; + $40 = HEAP32[$pSel>>2]|0; + _selectAddColumnTypeAndCollation($38,$39,$40); } } - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; - $45 = HEAP32[$pFrom>>2]|0; - $46 = ((($45)) + 72|0); - HEAP32[$pFrom>>2] = $46; + $41 = HEAP32[$i>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$i>>2] = $42; + $43 = HEAP32[$pFrom>>2]|0; + $44 = ((($43)) + 72|0); + HEAP32[$pFrom>>2] = $44; } STACKTOP = sp;return; } @@ -136098,7 +137366,7 @@ function _sqlite3WalkSelect($pWalker,$p) { FUNCTION_TABLE_vii[$49 & 255]($50,$51); } $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 52|0); + $53 = ((($52)) + 48|0); $54 = HEAP32[$53>>2]|0; HEAP32[$2>>2] = $54; } @@ -136154,7 +137422,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } else { $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 36|0); + $10 = ((($9)) + 32|0); $11 = HEAP32[$10>>2]|0; $12 = (_sqlite3WalkExpr($8,$11)|0); $13 = ($12|0)!=(0); @@ -136164,7 +137432,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $14 = HEAP32[$1>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = ((($15)) + 40|0); + $16 = ((($15)) + 36|0); $17 = HEAP32[$16>>2]|0; $18 = (_sqlite3WalkExprList($14,$17)|0); $19 = ($18|0)!=(0); @@ -136174,7 +137442,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 44|0); + $22 = ((($21)) + 40|0); $23 = HEAP32[$22>>2]|0; $24 = (_sqlite3WalkExpr($20,$23)|0); $25 = ($24|0)!=(0); @@ -136184,7 +137452,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 48|0); + $28 = ((($27)) + 44|0); $29 = HEAP32[$28>>2]|0; $30 = (_sqlite3WalkExprList($26,$29)|0); $31 = ($30|0)!=(0); @@ -136194,7 +137462,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $32 = HEAP32[$1>>2]|0; $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 60|0); + $34 = ((($33)) + 56|0); $35 = HEAP32[$34>>2]|0; $36 = (_sqlite3WalkExpr($32,$35)|0); $37 = ($36|0)!=(0); @@ -136204,7 +137472,7 @@ function _sqlite3WalkSelectExpr($pWalker,$p) { } $38 = HEAP32[$1>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 64|0); + $40 = ((($39)) + 60|0); $41 = HEAP32[$40>>2]|0; $42 = (_sqlite3WalkExpr($38,$41)|0); $43 = ($42|0)!=(0); @@ -136237,7 +137505,7 @@ function _sqlite3WalkSelectFrom($pWalker,$p) { HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); + $4 = ((($3)) + 28|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSrc>>2] = $5; $6 = HEAP32[$pSrc>>2]|0; @@ -136491,12 +137759,12 @@ function _resolveExprStep($pWalker,$pExpr) { var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $auth = 0, $enc = 0, $is_agg = 0, $n = 0, $nId = 0, $nRef = 0, $no_such_func = 0, $pDef = 0, $pList = 0; - var $pNC = 0, $pNC2 = 0, $pParse = 0, $pRight = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0, $zTable = 0, label = 0, sp = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; + var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; + var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $auth = 0, $enc = 0, $is_agg = 0, $n = 0, $nId = 0, $nRef = 0, $no_such_func = 0, $pDef = 0, $pList = 0, $pNC = 0, $pNC2 = 0; + var $pParse = 0, $pRight = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr6 = 0, $wrong_num_args = 0, $zColumn = 0, $zDb = 0, $zId = 0, $zTable = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $vararg_buffer11 = sp + 32|0; @@ -136541,8 +137809,8 @@ function _resolveExprStep($pWalker,$pExpr) { $12 = ($11|0)!=(0); if ($12) { HEAP32[$0>>2] = 1; - $310 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($310|0); + $308 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($308|0); } $13 = HEAP32[$2>>2]|0; $14 = ((($13)) + 4|0); @@ -136562,14 +137830,14 @@ function _resolveExprStep($pWalker,$pExpr) { $25 = HEAP32[$2>>2]|0; $26 = (_lookupName($20,0,0,$23,$24,$25)|0); HEAP32[$0>>2] = $26; - $310 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($310|0); + $308 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($308|0); break; } case 122: { $27 = HEAP32[$pParse>>2]|0; $28 = HEAP32[$pNC>>2]|0; - _notValid($27,$28,30424,32); + _notValid($27,$28,30149,32); $29 = HEAP32[$2>>2]|0; $30 = ((($29)) + 16|0); $31 = HEAP32[$30>>2]|0; @@ -136618,8 +137886,8 @@ function _resolveExprStep($pWalker,$pExpr) { $64 = HEAP32[$2>>2]|0; $65 = (_lookupName($59,$60,$61,$62,$63,$64)|0); HEAP32[$0>>2] = $65; - $310 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($310|0); + $308 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($308|0); break; } case 151: { @@ -136642,12 +137910,12 @@ function _resolveExprStep($pWalker,$pExpr) { HEAP32[$is_agg>>2] = 0; $74 = HEAP32[$pParse>>2]|0; $75 = HEAP32[$74>>2]|0; - $76 = ((($75)) + 62|0); + $76 = ((($75)) + 66|0); $77 = HEAP8[$76>>0]|0; HEAP8[$enc>>0] = $77; $78 = HEAP32[$pParse>>2]|0; $79 = HEAP32[$pNC>>2]|0; - _notValid($78,$79,30441,16); + _notValid($78,$79,30166,16); $80 = HEAP32[$2>>2]|0; $81 = ((($80)) + 8|0); $82 = HEAP32[$81>>2]|0; @@ -136658,25 +137926,23 @@ function _resolveExprStep($pWalker,$pExpr) { $85 = HEAP32[$pParse>>2]|0; $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$zId>>2]|0; - $88 = HEAP32[$nId>>2]|0; - $89 = HEAP32[$n>>2]|0; - $90 = HEAP8[$enc>>0]|0; - $91 = (_sqlite3FindFunction($86,$87,$88,$89,$90,0)|0); - HEAP32[$pDef>>2] = $91; - $92 = HEAP32[$pDef>>2]|0; - $93 = ($92|0)==(0|0); + $88 = HEAP32[$n>>2]|0; + $89 = HEAP8[$enc>>0]|0; + $90 = (_sqlite3FindFunction($86,$87,$88,$89,0)|0); + HEAP32[$pDef>>2] = $90; + $91 = HEAP32[$pDef>>2]|0; + $92 = ($91|0)==(0|0); do { - if ($93) { - $94 = HEAP32[$pParse>>2]|0; - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$zId>>2]|0; - $97 = HEAP32[$nId>>2]|0; - $98 = HEAP8[$enc>>0]|0; - $99 = (_sqlite3FindFunction($95,$96,$97,-2,$98,0)|0); - HEAP32[$pDef>>2] = $99; - $100 = HEAP32[$pDef>>2]|0; - $101 = ($100|0)==(0|0); - if ($101) { + if ($92) { + $93 = HEAP32[$pParse>>2]|0; + $94 = HEAP32[$93>>2]|0; + $95 = HEAP32[$zId>>2]|0; + $96 = HEAP8[$enc>>0]|0; + $97 = (_sqlite3FindFunction($94,$95,-2,$96,0)|0); + HEAP32[$pDef>>2] = $97; + $98 = HEAP32[$pDef>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { HEAP32[$no_such_func>>2] = 1; break; } else { @@ -136684,145 +137950,145 @@ function _resolveExprStep($pWalker,$pExpr) { break; } } else { - $102 = HEAP32[$pDef>>2]|0; - $103 = ((($102)) + 16|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($104|0)!=(0|0); - $106 = $105&1; - HEAP32[$is_agg>>2] = $106; - $107 = HEAP32[$pDef>>2]|0; - $108 = ((($107)) + 2|0); - $109 = HEAP16[$108>>1]|0; - $110 = $109&65535; - $111 = $110 & 1024; - $112 = ($111|0)!=(0); + $100 = HEAP32[$pDef>>2]|0; + $101 = ((($100)) + 16|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)!=(0|0); + $104 = $103&1; + HEAP32[$is_agg>>2] = $104; + $105 = HEAP32[$pDef>>2]|0; + $106 = ((($105)) + 2|0); + $107 = HEAP16[$106>>1]|0; + $108 = $107&65535; + $109 = $108 & 1024; + $110 = ($109|0)!=(0); do { - if ($112) { - $113 = HEAP32[$2>>2]|0; - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 | 266240; - HEAP32[$114>>2] = $116; - $117 = HEAP32[$n>>2]|0; - $118 = ($117|0)==(2); - if (!($118)) { - $136 = HEAP32[$pDef>>2]|0; - $137 = ((($136)) + 20|0); - $138 = HEAP32[$137>>2]|0; - $139 = HEAP8[$138>>0]|0; - $140 = $139 << 24 >> 24; - $141 = ($140|0)==(117); - $142 = $141 ? 8388608 : 125829120; - $143 = HEAP32[$2>>2]|0; - $144 = ((($143)) + 28|0); - HEAP32[$144>>2] = $142; + if ($110) { + $111 = HEAP32[$2>>2]|0; + $112 = ((($111)) + 4|0); + $113 = HEAP32[$112>>2]|0; + $114 = $113 | 266240; + HEAP32[$112>>2] = $114; + $115 = HEAP32[$n>>2]|0; + $116 = ($115|0)==(2); + if (!($116)) { + $134 = HEAP32[$pDef>>2]|0; + $135 = ((($134)) + 20|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP8[$136>>0]|0; + $138 = $137 << 24 >> 24; + $139 = ($138|0)==(117); + $140 = $139 ? 8388608 : 125829120; + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 28|0); + HEAP32[$142>>2] = $140; break; } - $119 = HEAP32[$pList>>2]|0; - $120 = ((($119)) + 4|0); + $117 = HEAP32[$pList>>2]|0; + $118 = ((($117)) + 4|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($119)) + 20|0); $121 = HEAP32[$120>>2]|0; - $122 = ((($121)) + 20|0); - $123 = HEAP32[$122>>2]|0; - $124 = (_exprProbability($123)|0); + $122 = (_exprProbability($121)|0); + $123 = HEAP32[$2>>2]|0; + $124 = ((($123)) + 28|0); + HEAP32[$124>>2] = $122; $125 = HEAP32[$2>>2]|0; $126 = ((($125)) + 28|0); - HEAP32[$126>>2] = $124; - $127 = HEAP32[$2>>2]|0; - $128 = ((($127)) + 28|0); - $129 = HEAP32[$128>>2]|0; - $130 = ($129|0)<(0); - if ($130) { - $131 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($131,30451,$vararg_buffer); - $132 = HEAP32[$pNC>>2]|0; - $133 = ((($132)) + 24|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) + 1)|0; - HEAP32[$133>>2] = $135; + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)<(0); + if ($128) { + $129 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($129,30176,$vararg_buffer); + $130 = HEAP32[$pNC>>2]|0; + $131 = ((($130)) + 24|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($132) + 1)|0; + HEAP32[$131>>2] = $133; } } } while(0); - $145 = HEAP32[$pParse>>2]|0; - $146 = HEAP32[$pDef>>2]|0; - $147 = ((($146)) + 20|0); - $148 = HEAP32[$147>>2]|0; - $149 = (_sqlite3AuthCheck($145,31,0,$148,0)|0); - HEAP32[$auth>>2] = $149; - $150 = HEAP32[$auth>>2]|0; - $151 = ($150|0)!=(0); - if ($151) { - $152 = HEAP32[$auth>>2]|0; - $153 = ($152|0)==(1); - if ($153) { - $154 = HEAP32[$pParse>>2]|0; - $155 = HEAP32[$pDef>>2]|0; - $156 = ((($155)) + 20|0); - $157 = HEAP32[$156>>2]|0; - HEAP32[$vararg_buffer1>>2] = $157; - _sqlite3ErrorMsg($154,30522,$vararg_buffer1); - $158 = HEAP32[$pNC>>2]|0; - $159 = ((($158)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$159>>2] = $161; - } - $162 = HEAP32[$2>>2]|0; - HEAP8[$162>>0] = 101; + $143 = HEAP32[$pParse>>2]|0; + $144 = HEAP32[$pDef>>2]|0; + $145 = ((($144)) + 20|0); + $146 = HEAP32[$145>>2]|0; + $147 = (_sqlite3AuthCheck($143,31,0,$146,0)|0); + HEAP32[$auth>>2] = $147; + $148 = HEAP32[$auth>>2]|0; + $149 = ($148|0)!=(0); + if ($149) { + $150 = HEAP32[$auth>>2]|0; + $151 = ($150|0)==(1); + if ($151) { + $152 = HEAP32[$pParse>>2]|0; + $153 = HEAP32[$pDef>>2]|0; + $154 = ((($153)) + 20|0); + $155 = HEAP32[$154>>2]|0; + HEAP32[$vararg_buffer1>>2] = $155; + _sqlite3ErrorMsg($152,30247,$vararg_buffer1); + $156 = HEAP32[$pNC>>2]|0; + $157 = ((($156)) + 24|0); + $158 = HEAP32[$157>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$157>>2] = $159; + } + $160 = HEAP32[$2>>2]|0; + HEAP8[$160>>0] = 101; HEAP32[$0>>2] = 1; - $310 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($310|0); + $308 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($308|0); } else { - $163 = HEAP32[$pDef>>2]|0; - $164 = ((($163)) + 2|0); - $165 = HEAP16[$164>>1]|0; - $166 = $165&65535; - $167 = $166 & 10240; - $168 = ($167|0)!=(0); - if ($168) { - $169 = HEAP32[$2>>2]|0; - $170 = ((($169)) + 4|0); - $171 = HEAP32[$170>>2]|0; - $172 = $171 | 524288; - HEAP32[$170>>2] = $172; - } - $173 = HEAP32[$pDef>>2]|0; - $174 = ((($173)) + 2|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175&65535; - $177 = $176 & 2048; - $178 = ($177|0)==(0); - if (!($178)) { + $161 = HEAP32[$pDef>>2]|0; + $162 = ((($161)) + 2|0); + $163 = HEAP16[$162>>1]|0; + $164 = $163&65535; + $165 = $164 & 10240; + $166 = ($165|0)!=(0); + if ($166) { + $167 = HEAP32[$2>>2]|0; + $168 = ((($167)) + 4|0); + $169 = HEAP32[$168>>2]|0; + $170 = $169 | 524288; + HEAP32[$168>>2] = $170; + } + $171 = HEAP32[$pDef>>2]|0; + $172 = ((($171)) + 2|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173&65535; + $175 = $174 & 2048; + $176 = ($175|0)==(0); + if (!($176)) { break; } - $179 = HEAP32[$pParse>>2]|0; - $180 = HEAP32[$pNC>>2]|0; - _notValid($179,$180,30557,32); + $177 = HEAP32[$pParse>>2]|0; + $178 = HEAP32[$pNC>>2]|0; + _notValid($177,$178,30282,32); break; } } } while(0); - $181 = HEAP32[$is_agg>>2]|0; - $182 = ($181|0)!=(0); - if ($182) { - $183 = HEAP32[$pNC>>2]|0; - $184 = ((($183)) + 28|0); - $185 = HEAP16[$184>>1]|0; - $186 = $185&65535; - $187 = $186 & 1; - $188 = ($187|0)==(0); - if ($188) { - $189 = HEAP32[$pParse>>2]|0; - $190 = HEAP32[$nId>>2]|0; - $191 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer3>>2] = $190; + $179 = HEAP32[$is_agg>>2]|0; + $180 = ($179|0)!=(0); + if ($180) { + $181 = HEAP32[$pNC>>2]|0; + $182 = ((($181)) + 28|0); + $183 = HEAP16[$182>>1]|0; + $184 = $183&65535; + $185 = $184 & 1; + $186 = ($185|0)==(0); + if ($186) { + $187 = HEAP32[$pParse>>2]|0; + $188 = HEAP32[$nId>>2]|0; + $189 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer3>>2] = $188; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $191; - _sqlite3ErrorMsg($189,30585,$vararg_buffer3); - $192 = HEAP32[$pNC>>2]|0; - $193 = ((($192)) + 24|0); - $194 = HEAP32[$193>>2]|0; - $195 = (($194) + 1)|0; - HEAP32[$193>>2] = $195; + HEAP32[$vararg_ptr6>>2] = $189; + _sqlite3ErrorMsg($187,30310,$vararg_buffer3); + $190 = HEAP32[$pNC>>2]|0; + $191 = ((($190)) + 24|0); + $192 = HEAP32[$191>>2]|0; + $193 = (($192) + 1)|0; + HEAP32[$191>>2] = $193; HEAP32[$is_agg>>2] = 0; } else { label = 31; @@ -136832,192 +138098,192 @@ function _resolveExprStep($pWalker,$pExpr) { } do { if ((label|0) == 31) { - $196 = HEAP32[$no_such_func>>2]|0; - $197 = ($196|0)!=(0); - if ($197) { - $198 = HEAP32[$pParse>>2]|0; - $199 = HEAP32[$198>>2]|0; - $200 = ((($199)) + 140|0); - $201 = ((($200)) + 5|0); - $202 = HEAP8[$201>>0]|0; - $203 = $202&255; - $204 = ($203|0)==(0); - if ($204) { - $205 = HEAP32[$pParse>>2]|0; - $206 = HEAP32[$nId>>2]|0; - $207 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer7>>2] = $206; + $194 = HEAP32[$no_such_func>>2]|0; + $195 = ($194|0)!=(0); + if ($195) { + $196 = HEAP32[$pParse>>2]|0; + $197 = HEAP32[$196>>2]|0; + $198 = ((($197)) + 144|0); + $199 = ((($198)) + 5|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200&255; + $202 = ($201|0)==(0); + if ($202) { + $203 = HEAP32[$pParse>>2]|0; + $204 = HEAP32[$nId>>2]|0; + $205 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer7>>2] = $204; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $207; - _sqlite3ErrorMsg($205,30621,$vararg_buffer7); - $208 = HEAP32[$pNC>>2]|0; - $209 = ((($208)) + 24|0); - $210 = HEAP32[$209>>2]|0; - $211 = (($210) + 1)|0; - HEAP32[$209>>2] = $211; + HEAP32[$vararg_ptr10>>2] = $205; + _sqlite3ErrorMsg($203,30346,$vararg_buffer7); + $206 = HEAP32[$pNC>>2]|0; + $207 = ((($206)) + 24|0); + $208 = HEAP32[$207>>2]|0; + $209 = (($208) + 1)|0; + HEAP32[$207>>2] = $209; break; } } - $212 = HEAP32[$wrong_num_args>>2]|0; - $213 = ($212|0)!=(0); - if ($213) { - $214 = HEAP32[$pParse>>2]|0; - $215 = HEAP32[$nId>>2]|0; - $216 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer11>>2] = $215; + $210 = HEAP32[$wrong_num_args>>2]|0; + $211 = ($210|0)!=(0); + if ($211) { + $212 = HEAP32[$pParse>>2]|0; + $213 = HEAP32[$nId>>2]|0; + $214 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer11>>2] = $213; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $216; - _sqlite3ErrorMsg($214,30644,$vararg_buffer11); - $217 = HEAP32[$pNC>>2]|0; - $218 = ((($217)) + 24|0); - $219 = HEAP32[$218>>2]|0; - $220 = (($219) + 1)|0; - HEAP32[$218>>2] = $220; + HEAP32[$vararg_ptr14>>2] = $214; + _sqlite3ErrorMsg($212,30369,$vararg_buffer11); + $215 = HEAP32[$pNC>>2]|0; + $216 = ((($215)) + 24|0); + $217 = HEAP32[$216>>2]|0; + $218 = (($217) + 1)|0; + HEAP32[$216>>2] = $218; } } } while(0); - $221 = HEAP32[$is_agg>>2]|0; - $222 = ($221|0)!=(0); - if ($222) { - $223 = HEAP32[$pNC>>2]|0; - $224 = ((($223)) + 28|0); - $225 = HEAP16[$224>>1]|0; + $219 = HEAP32[$is_agg>>2]|0; + $220 = ($219|0)!=(0); + if ($220) { + $221 = HEAP32[$pNC>>2]|0; + $222 = ((($221)) + 28|0); + $223 = HEAP16[$222>>1]|0; + $224 = $223&65535; + $225 = $224 & -2; $226 = $225&65535; - $227 = $226 & -2; - $228 = $227&65535; - HEAP16[$224>>1] = $228; + HEAP16[$222>>1] = $226; } - $229 = HEAP32[$1>>2]|0; - $230 = HEAP32[$pList>>2]|0; - (_sqlite3WalkExprList($229,$230)|0); - $231 = HEAP32[$is_agg>>2]|0; - $232 = ($231|0)!=(0); - if ($232) { - $233 = HEAP32[$pNC>>2]|0; - HEAP32[$pNC2>>2] = $233; - $234 = HEAP32[$2>>2]|0; - HEAP8[$234>>0] = -103; - $235 = HEAP32[$2>>2]|0; - $236 = ((($235)) + 38|0); - HEAP8[$236>>0] = 0; + $227 = HEAP32[$1>>2]|0; + $228 = HEAP32[$pList>>2]|0; + (_sqlite3WalkExprList($227,$228)|0); + $229 = HEAP32[$is_agg>>2]|0; + $230 = ($229|0)!=(0); + if ($230) { + $231 = HEAP32[$pNC>>2]|0; + HEAP32[$pNC2>>2] = $231; + $232 = HEAP32[$2>>2]|0; + HEAP8[$232>>0] = -103; + $233 = HEAP32[$2>>2]|0; + $234 = ((($233)) + 38|0); + HEAP8[$234>>0] = 0; while(1) { - $237 = HEAP32[$pNC2>>2]|0; - $238 = ($237|0)!=(0|0); - if (!($238)) { + $235 = HEAP32[$pNC2>>2]|0; + $236 = ($235|0)!=(0|0); + if (!($236)) { break; } - $239 = HEAP32[$2>>2]|0; - $240 = HEAP32[$pNC2>>2]|0; - $241 = ((($240)) + 4|0); - $242 = HEAP32[$241>>2]|0; - $243 = (_sqlite3FunctionUsesThisSrc($239,$242)|0); - $244 = ($243|0)!=(0); - $245 = $244 ^ 1; - if (!($245)) { + $237 = HEAP32[$2>>2]|0; + $238 = HEAP32[$pNC2>>2]|0; + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = (_sqlite3FunctionUsesThisSrc($237,$240)|0); + $242 = ($241|0)!=(0); + $243 = $242 ^ 1; + if (!($243)) { break; } - $246 = HEAP32[$2>>2]|0; - $247 = ((($246)) + 38|0); - $248 = HEAP8[$247>>0]|0; - $249 = (($248) + 1)<<24>>24; - HEAP8[$247>>0] = $249; - $250 = HEAP32[$pNC2>>2]|0; - $251 = ((($250)) + 16|0); - $252 = HEAP32[$251>>2]|0; - HEAP32[$pNC2>>2] = $252; - } - $253 = HEAP32[$pNC2>>2]|0; - $254 = ($253|0)!=(0|0); - if ($254) { - $255 = HEAP32[$pDef>>2]|0; - $256 = ((($255)) + 2|0); - $257 = HEAP16[$256>>1]|0; - $258 = $257&65535; - $259 = $258 & 4096; - $260 = 2 | $259; - $261 = HEAP32[$pNC2>>2]|0; - $262 = ((($261)) + 28|0); - $263 = HEAP16[$262>>1]|0; + $244 = HEAP32[$2>>2]|0; + $245 = ((($244)) + 38|0); + $246 = HEAP8[$245>>0]|0; + $247 = (($246) + 1)<<24>>24; + HEAP8[$245>>0] = $247; + $248 = HEAP32[$pNC2>>2]|0; + $249 = ((($248)) + 16|0); + $250 = HEAP32[$249>>2]|0; + HEAP32[$pNC2>>2] = $250; + } + $251 = HEAP32[$pNC2>>2]|0; + $252 = ($251|0)!=(0|0); + if ($252) { + $253 = HEAP32[$pDef>>2]|0; + $254 = ((($253)) + 2|0); + $255 = HEAP16[$254>>1]|0; + $256 = $255&65535; + $257 = $256 & 4096; + $258 = 2 | $257; + $259 = HEAP32[$pNC2>>2]|0; + $260 = ((($259)) + 28|0); + $261 = HEAP16[$260>>1]|0; + $262 = $261&65535; + $263 = $262 | $258; $264 = $263&65535; - $265 = $264 | $260; - $266 = $265&65535; - HEAP16[$262>>1] = $266; + HEAP16[$260>>1] = $264; } - $267 = HEAP32[$pNC>>2]|0; - $268 = ((($267)) + 28|0); - $269 = HEAP16[$268>>1]|0; + $265 = HEAP32[$pNC>>2]|0; + $266 = ((($265)) + 28|0); + $267 = HEAP16[$266>>1]|0; + $268 = $267&65535; + $269 = $268 | 1; $270 = $269&65535; - $271 = $270 | 1; - $272 = $271&65535; - HEAP16[$268>>1] = $272; + HEAP16[$266>>1] = $270; } HEAP32[$0>>2] = 1; - $310 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($310|0); + $308 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($308|0); break; } case 75: case 20: case 119: { - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 4|0); - $275 = HEAP32[$274>>2]|0; - $276 = $275 & 2048; - $277 = ($276|0)!=(0); - if ($277) { - $278 = HEAP32[$pNC>>2]|0; - $279 = ((($278)) + 20|0); - $280 = HEAP32[$279>>2]|0; - HEAP32[$nRef>>2] = $280; - $281 = HEAP32[$pParse>>2]|0; - $282 = HEAP32[$pNC>>2]|0; - _notValid($281,$282,30689,52); - $283 = HEAP32[$1>>2]|0; - $284 = HEAP32[$2>>2]|0; - $285 = ((($284)) + 20|0); - $286 = HEAP32[$285>>2]|0; - (_sqlite3WalkSelect($283,$286)|0); - $287 = HEAP32[$nRef>>2]|0; - $288 = HEAP32[$pNC>>2]|0; - $289 = ((($288)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = ($287|0)!=($290|0); - if ($291) { - $292 = HEAP32[$2>>2]|0; - $293 = ((($292)) + 4|0); - $294 = HEAP32[$293>>2]|0; - $295 = $294 | 32; - HEAP32[$293>>2] = $295; + $271 = HEAP32[$2>>2]|0; + $272 = ((($271)) + 4|0); + $273 = HEAP32[$272>>2]|0; + $274 = $273 & 2048; + $275 = ($274|0)!=(0); + if ($275) { + $276 = HEAP32[$pNC>>2]|0; + $277 = ((($276)) + 20|0); + $278 = HEAP32[$277>>2]|0; + HEAP32[$nRef>>2] = $278; + $279 = HEAP32[$pParse>>2]|0; + $280 = HEAP32[$pNC>>2]|0; + _notValid($279,$280,30414,52); + $281 = HEAP32[$1>>2]|0; + $282 = HEAP32[$2>>2]|0; + $283 = ((($282)) + 20|0); + $284 = HEAP32[$283>>2]|0; + (_sqlite3WalkSelect($281,$284)|0); + $285 = HEAP32[$nRef>>2]|0; + $286 = HEAP32[$pNC>>2]|0; + $287 = ((($286)) + 20|0); + $288 = HEAP32[$287>>2]|0; + $289 = ($285|0)!=($288|0); + if ($289) { + $290 = HEAP32[$2>>2]|0; + $291 = ((($290)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 | 32; + HEAP32[$291>>2] = $293; } } break; } case 135: { - $296 = HEAP32[$pParse>>2]|0; - $297 = HEAP32[$pNC>>2]|0; - _notValid($296,$297,30700,52); + $294 = HEAP32[$pParse>>2]|0; + $295 = HEAP32[$pNC>>2]|0; + _notValid($294,$295,30425,52); break; } default: { } } - $298 = HEAP32[$pParse>>2]|0; - $299 = ((($298)) + 68|0); - $300 = HEAP32[$299>>2]|0; - $301 = ($300|0)!=(0); - if ($301) { - $309 = 1; + $296 = HEAP32[$pParse>>2]|0; + $297 = ((($296)) + 68|0); + $298 = HEAP32[$297>>2]|0; + $299 = ($298|0)!=(0); + if ($299) { + $307 = 1; } else { - $302 = HEAP32[$pParse>>2]|0; - $303 = HEAP32[$302>>2]|0; - $304 = ((($303)) + 65|0); - $305 = HEAP8[$304>>0]|0; - $306 = $305&255; - $307 = ($306|0)!=(0); - $309 = $307; - } - $308 = $309 ? 2 : 0; - HEAP32[$0>>2] = $308; - $310 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($310|0); + $300 = HEAP32[$pParse>>2]|0; + $301 = HEAP32[$300>>2]|0; + $302 = ((($301)) + 69|0); + $303 = HEAP8[$302>>0]|0; + $304 = $303&255; + $305 = ($304|0)!=(0); + $307 = $305; + } + $306 = $307 ? 2 : 0; + HEAP32[$0>>2] = $306; + $308 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($308|0); } function _resolveSelectStep($pWalker,$p) { $pWalker = $pWalker|0; @@ -137035,12 +138301,11 @@ function _resolveSelectStep($pWalker,$p) { var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $db = 0, $i = 0, $isCompound = 0, $nCompound = 0, $nRef = 0, $or$cond = 0, $pGroupBy = 0, $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pLeftmost = 0, $pNC = 0, $pOuterNC = 0, $pParse = 0, $pSub = 0, $pSub2 = 0, $sNC = 0, $vararg_buffer = 0, $vararg_buffer2 = 0; - var $zSavedContext = 0, label = 0, sp = 0; + var $332 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $isCompound = 0, $nCompound = 0, $nRef = 0, $or$cond = 0, $pGroupBy = 0; + var $pItem = 0, $pItem1 = 0, $pItem3 = 0, $pLeftmost = 0, $pNC = 0, $pOuterNC = 0, $pParse = 0, $pSub = 0, $pSub2 = 0, $sNC = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $zSavedContext = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $vararg_buffer2 = sp + 8|0; @@ -137068,613 +138333,605 @@ function _resolveSelectStep($pWalker,$p) { HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 6|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = $6 & 4; - $8 = ($7|0)!=(0); - if ($8) { + $4 = ((($3)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = $5 & 4; + $7 = ($6|0)!=(0); + if ($7) { HEAP32[$0>>2] = 1; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); } - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 24|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$pOuterNC>>2] = $11; - $12 = HEAP32[$1>>2]|0; - $13 = HEAP32[$12>>2]|0; - HEAP32[$pParse>>2] = $13; - $14 = HEAP32[$pParse>>2]|0; - $15 = HEAP32[$14>>2]|0; - HEAP32[$db>>2] = $15; - $16 = HEAP32[$2>>2]|0; - $17 = ((($16)) + 6|0); - $18 = HEAP16[$17>>1]|0; - $19 = $18&65535; - $20 = $19 & 32; - $21 = ($20|0)==(0); - if ($21) { - $22 = HEAP32[$pParse>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = HEAP32[$pOuterNC>>2]|0; - _sqlite3SelectPrep($22,$23,$24); - $25 = HEAP32[$pParse>>2]|0; - $26 = ((($25)) + 68|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)!=(0); - if ($28) { - $35 = 1; + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 24|0); + $10 = HEAP32[$9>>2]|0; + HEAP32[$pOuterNC>>2] = $10; + $11 = HEAP32[$1>>2]|0; + $12 = HEAP32[$11>>2]|0; + HEAP32[$pParse>>2] = $12; + $13 = HEAP32[$pParse>>2]|0; + $14 = HEAP32[$13>>2]|0; + HEAP32[$db>>2] = $14; + $15 = HEAP32[$2>>2]|0; + $16 = ((($15)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & 32; + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$pParse>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$pOuterNC>>2]|0; + _sqlite3SelectPrep($20,$21,$22); + $23 = HEAP32[$pParse>>2]|0; + $24 = ((($23)) + 68|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)!=(0); + if ($26) { + $33 = 1; } else { - $29 = HEAP32[$db>>2]|0; - $30 = ((($29)) + 65|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = ($32|0)!=(0); - $35 = $33; + $27 = HEAP32[$db>>2]|0; + $28 = ((($27)) + 69|0); + $29 = HEAP8[$28>>0]|0; + $30 = $29&255; + $31 = ($30|0)!=(0); + $33 = $31; } - $34 = $35 ? 2 : 1; - HEAP32[$0>>2] = $34; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $32 = $33 ? 2 : 1; + HEAP32[$0>>2] = $32; + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); } - $36 = HEAP32[$2>>2]|0; - $37 = ((($36)) + 52|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)!=(0|0); - $40 = $39&1; - HEAP32[$isCompound>>2] = $40; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 48|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)!=(0|0); + $38 = $37&1; + HEAP32[$isCompound>>2] = $38; HEAP32[$nCompound>>2] = 0; - $41 = HEAP32[$2>>2]|0; - HEAP32[$pLeftmost>>2] = $41; + $39 = HEAP32[$2>>2]|0; + HEAP32[$pLeftmost>>2] = $39; L12: while(1) { - $42 = HEAP32[$2>>2]|0; - $43 = ($42|0)!=(0|0); - if (!($43)) { + $40 = HEAP32[$2>>2]|0; + $41 = ($40|0)!=(0|0); + if (!($41)) { label = 68; break; } - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 6|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = $47 | 4; - $49 = $48&65535; - HEAP16[$45>>1] = $49; + $42 = HEAP32[$2>>2]|0; + $43 = ((($42)) + 8|0); + $44 = HEAP32[$43>>2]|0; + $45 = $44 | 4; + HEAP32[$43>>2] = $45; ;HEAP32[$sNC>>2]=0|0;HEAP32[$sNC+4>>2]=0|0;HEAP32[$sNC+8>>2]=0|0;HEAP32[$sNC+12>>2]=0|0;HEAP32[$sNC+16>>2]=0|0;HEAP32[$sNC+20>>2]=0|0;HEAP32[$sNC+24>>2]=0|0;HEAP32[$sNC+28>>2]=0|0; - $50 = HEAP32[$pParse>>2]|0; - HEAP32[$sNC>>2] = $50; - $51 = HEAP32[$2>>2]|0; - $52 = ((($51)) + 60|0); - $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3ResolveExprNames($sNC,$53)|0); - $55 = ($54|0)!=(0); - if ($55) { + $46 = HEAP32[$pParse>>2]|0; + HEAP32[$sNC>>2] = $46; + $47 = HEAP32[$2>>2]|0; + $48 = ((($47)) + 56|0); + $49 = HEAP32[$48>>2]|0; + $50 = (_sqlite3ResolveExprNames($sNC,$49)|0); + $51 = ($50|0)!=(0); + if ($51) { label = 11; break; } - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 64|0); - $58 = HEAP32[$57>>2]|0; - $59 = (_sqlite3ResolveExprNames($sNC,$58)|0); - $60 = ($59|0)!=(0); - if ($60) { + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 60|0); + $54 = HEAP32[$53>>2]|0; + $55 = (_sqlite3ResolveExprNames($sNC,$54)|0); + $56 = ($55|0)!=(0); + if ($56) { label = 11; break; } - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 6|0); - $63 = HEAP16[$62>>1]|0; - $64 = $63&65535; - $65 = $64 & 16384; - $66 = ($65|0)!=(0); - if ($66) { - $67 = HEAP32[$2>>2]|0; - $68 = ((($67)) + 32|0); - $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 8|0); - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$pSub>>2] = $72; + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 8|0); + $59 = HEAP32[$58>>2]|0; + $60 = $59 & 32768; + $61 = ($60|0)!=(0); + if ($61) { + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 28|0); + $64 = HEAP32[$63>>2]|0; + $65 = ((($64)) + 8|0); + $66 = ((($65)) + 20|0); + $67 = HEAP32[$66>>2]|0; + HEAP32[$pSub>>2] = $67; + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 44|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$pSub>>2]|0; + $72 = ((($71)) + 44|0); + HEAP32[$72>>2] = $70; $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 48|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$pSub>>2]|0; - $77 = ((($76)) + 48|0); - HEAP32[$77>>2] = $75; - $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 48|0); - HEAP32[$79>>2] = 0; + $74 = ((($73)) + 44|0); + HEAP32[$74>>2] = 0; } HEAP32[$i>>2] = 0; while(1) { - $80 = HEAP32[$i>>2]|0; - $81 = HEAP32[$2>>2]|0; - $82 = ((($81)) + 32|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = ($80|0)<($84|0); - if (!($85)) { + $75 = HEAP32[$i>>2]|0; + $76 = HEAP32[$2>>2]|0; + $77 = ((($76)) + 28|0); + $78 = HEAP32[$77>>2]|0; + $79 = HEAP32[$78>>2]|0; + $80 = ($75|0)<($79|0); + if (!($80)) { break; } - $86 = HEAP32[$i>>2]|0; - $87 = HEAP32[$2>>2]|0; - $88 = ((($87)) + 32|0); + $81 = HEAP32[$i>>2]|0; + $82 = HEAP32[$2>>2]|0; + $83 = ((($82)) + 28|0); + $84 = HEAP32[$83>>2]|0; + $85 = ((($84)) + 8|0); + $86 = (($85) + (($81*72)|0)|0); + HEAP32[$pItem>>2] = $86; + $87 = HEAP32[$pItem>>2]|0; + $88 = ((($87)) + 20|0); $89 = HEAP32[$88>>2]|0; - $90 = ((($89)) + 8|0); - $91 = (($90) + (($86*72)|0)|0); - HEAP32[$pItem>>2] = $91; - $92 = HEAP32[$pItem>>2]|0; - $93 = ((($92)) + 20|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)!=(0|0); - if ($95) { + $90 = ($89|0)!=(0|0); + if ($90) { HEAP32[$nRef>>2] = 0; - $96 = HEAP32[$pParse>>2]|0; - $97 = ((($96)) + 496|0); - $98 = HEAP32[$97>>2]|0; - HEAP32[$zSavedContext>>2] = $98; - $99 = HEAP32[$pOuterNC>>2]|0; - HEAP32[$pNC>>2] = $99; + $91 = HEAP32[$pParse>>2]|0; + $92 = ((($91)) + 496|0); + $93 = HEAP32[$92>>2]|0; + HEAP32[$zSavedContext>>2] = $93; + $94 = HEAP32[$pOuterNC>>2]|0; + HEAP32[$pNC>>2] = $94; while(1) { - $100 = HEAP32[$pNC>>2]|0; - $101 = ($100|0)!=(0|0); - if (!($101)) { + $95 = HEAP32[$pNC>>2]|0; + $96 = ($95|0)!=(0|0); + if (!($96)) { break; } + $97 = HEAP32[$pNC>>2]|0; + $98 = ((($97)) + 20|0); + $99 = HEAP32[$98>>2]|0; + $100 = HEAP32[$nRef>>2]|0; + $101 = (($100) + ($99))|0; + HEAP32[$nRef>>2] = $101; $102 = HEAP32[$pNC>>2]|0; - $103 = ((($102)) + 20|0); + $103 = ((($102)) + 16|0); $104 = HEAP32[$103>>2]|0; - $105 = HEAP32[$nRef>>2]|0; - $106 = (($105) + ($104))|0; - HEAP32[$nRef>>2] = $106; - $107 = HEAP32[$pNC>>2]|0; - $108 = ((($107)) + 16|0); - $109 = HEAP32[$108>>2]|0; - HEAP32[$pNC>>2] = $109; + HEAP32[$pNC>>2] = $104; } - $110 = HEAP32[$pItem>>2]|0; - $111 = ((($110)) + 8|0); - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)!=(0|0); - if ($113) { - $114 = HEAP32[$pItem>>2]|0; - $115 = ((($114)) + 8|0); - $116 = HEAP32[$115>>2]|0; - $117 = HEAP32[$pParse>>2]|0; - $118 = ((($117)) + 496|0); - HEAP32[$118>>2] = $116; + $105 = HEAP32[$pItem>>2]|0; + $106 = ((($105)) + 8|0); + $107 = HEAP32[$106>>2]|0; + $108 = ($107|0)!=(0|0); + if ($108) { + $109 = HEAP32[$pItem>>2]|0; + $110 = ((($109)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$pParse>>2]|0; + $113 = ((($112)) + 496|0); + HEAP32[$113>>2] = $111; } - $119 = HEAP32[$pParse>>2]|0; - $120 = HEAP32[$pItem>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP32[$121>>2]|0; - $123 = HEAP32[$pOuterNC>>2]|0; - _sqlite3ResolveSelectNames($119,$122,$123); - $124 = HEAP32[$zSavedContext>>2]|0; - $125 = HEAP32[$pParse>>2]|0; - $126 = ((($125)) + 496|0); - HEAP32[$126>>2] = $124; - $127 = HEAP32[$pParse>>2]|0; - $128 = ((($127)) + 68|0); - $129 = HEAP32[$128>>2]|0; - $130 = ($129|0)!=(0); - if ($130) { + $114 = HEAP32[$pParse>>2]|0; + $115 = HEAP32[$pItem>>2]|0; + $116 = ((($115)) + 20|0); + $117 = HEAP32[$116>>2]|0; + $118 = HEAP32[$pOuterNC>>2]|0; + _sqlite3ResolveSelectNames($114,$117,$118); + $119 = HEAP32[$zSavedContext>>2]|0; + $120 = HEAP32[$pParse>>2]|0; + $121 = ((($120)) + 496|0); + HEAP32[$121>>2] = $119; + $122 = HEAP32[$pParse>>2]|0; + $123 = ((($122)) + 68|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($124|0)!=(0); + if ($125) { label = 24; break L12; } - $131 = HEAP32[$db>>2]|0; - $132 = ((($131)) + 65|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134|0)!=(0); - if ($135) { + $126 = HEAP32[$db>>2]|0; + $127 = ((($126)) + 69|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ($129|0)!=(0); + if ($130) { label = 24; break L12; } - $136 = HEAP32[$pOuterNC>>2]|0; - HEAP32[$pNC>>2] = $136; + $131 = HEAP32[$pOuterNC>>2]|0; + HEAP32[$pNC>>2] = $131; while(1) { - $137 = HEAP32[$pNC>>2]|0; - $138 = ($137|0)!=(0|0); - if (!($138)) { + $132 = HEAP32[$pNC>>2]|0; + $133 = ($132|0)!=(0|0); + if (!($133)) { break; } + $134 = HEAP32[$pNC>>2]|0; + $135 = ((($134)) + 20|0); + $136 = HEAP32[$135>>2]|0; + $137 = HEAP32[$nRef>>2]|0; + $138 = (($137) - ($136))|0; + HEAP32[$nRef>>2] = $138; $139 = HEAP32[$pNC>>2]|0; - $140 = ((($139)) + 20|0); + $140 = ((($139)) + 16|0); $141 = HEAP32[$140>>2]|0; - $142 = HEAP32[$nRef>>2]|0; - $143 = (($142) - ($141))|0; - HEAP32[$nRef>>2] = $143; - $144 = HEAP32[$pNC>>2]|0; - $145 = ((($144)) + 16|0); - $146 = HEAP32[$145>>2]|0; - HEAP32[$pNC>>2] = $146; + HEAP32[$pNC>>2] = $141; } - $147 = HEAP32[$nRef>>2]|0; - $148 = ($147|0)!=(0); - $149 = $148&1; - $150 = HEAP32[$pItem>>2]|0; - $151 = ((($150)) + 36|0); - $152 = ((($151)) + 1|0); - $153 = $149&255; - $154 = HEAP8[$152>>0]|0; - $155 = $153 & 1; - $156 = ($155 << 3)&255; - $157 = $154 & -9; - $158 = $157 | $156; - HEAP8[$152>>0] = $158; - } - $159 = HEAP32[$i>>2]|0; - $160 = (($159) + 1)|0; - HEAP32[$i>>2] = $160; - } - $161 = ((($sNC)) + 28|0); - HEAP16[$161>>1] = 1; - $162 = HEAP32[$2>>2]|0; - $163 = ((($162)) + 32|0); + $142 = HEAP32[$nRef>>2]|0; + $143 = ($142|0)!=(0); + $144 = $143&1; + $145 = HEAP32[$pItem>>2]|0; + $146 = ((($145)) + 36|0); + $147 = ((($146)) + 1|0); + $148 = $144&255; + $149 = HEAP8[$147>>0]|0; + $150 = $148 & 1; + $151 = ($150 << 3)&255; + $152 = $149 & -9; + $153 = $152 | $151; + HEAP8[$147>>0] = $153; + } + $154 = HEAP32[$i>>2]|0; + $155 = (($154) + 1)|0; + HEAP32[$i>>2] = $155; + } + $156 = ((($sNC)) + 28|0); + HEAP16[$156>>1] = 1; + $157 = HEAP32[$2>>2]|0; + $158 = ((($157)) + 28|0); + $159 = HEAP32[$158>>2]|0; + $160 = ((($sNC)) + 4|0); + HEAP32[$160>>2] = $159; + $161 = HEAP32[$pOuterNC>>2]|0; + $162 = ((($sNC)) + 16|0); + HEAP32[$162>>2] = $161; + $163 = HEAP32[$2>>2]|0; $164 = HEAP32[$163>>2]|0; - $165 = ((($sNC)) + 4|0); - HEAP32[$165>>2] = $164; - $166 = HEAP32[$pOuterNC>>2]|0; - $167 = ((($sNC)) + 16|0); - HEAP32[$167>>2] = $166; - $168 = HEAP32[$2>>2]|0; - $169 = HEAP32[$168>>2]|0; - $170 = (_sqlite3ResolveExprListNames($sNC,$169)|0); - $171 = ($170|0)!=(0); - if ($171) { + $165 = (_sqlite3ResolveExprListNames($sNC,$164)|0); + $166 = ($165|0)!=(0); + if ($166) { label = 31; break; } - $172 = HEAP32[$2>>2]|0; - $173 = ((($172)) + 40|0); - $174 = HEAP32[$173>>2]|0; - HEAP32[$pGroupBy>>2] = $174; - $175 = HEAP32[$pGroupBy>>2]|0; - $176 = ($175|0)!=(0|0); - if ($176) { + $167 = HEAP32[$2>>2]|0; + $168 = ((($167)) + 36|0); + $169 = HEAP32[$168>>2]|0; + HEAP32[$pGroupBy>>2] = $169; + $170 = HEAP32[$pGroupBy>>2]|0; + $171 = ($170|0)!=(0|0); + if ($171) { label = 34; } else { - $177 = ((($sNC)) + 28|0); - $178 = HEAP16[$177>>1]|0; - $179 = $178&65535; - $180 = $179 & 2; - $181 = ($180|0)!=(0); - if ($181) { + $172 = ((($sNC)) + 28|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173&65535; + $175 = $174 & 2; + $176 = ($175|0)!=(0); + if ($176) { label = 34; } else { - $193 = ((($sNC)) + 28|0); - $194 = HEAP16[$193>>1]|0; - $195 = $194&65535; - $196 = $195 & -2; - $197 = $196&65535; - HEAP16[$193>>1] = $197; + $186 = ((($sNC)) + 28|0); + $187 = HEAP16[$186>>1]|0; + $188 = $187&65535; + $189 = $188 & -2; + $190 = $189&65535; + HEAP16[$186>>1] = $190; } } if ((label|0) == 34) { label = 0; - $182 = ((($sNC)) + 28|0); - $183 = HEAP16[$182>>1]|0; - $184 = $183&65535; - $185 = $184 & 4096; - $186 = 8 | $185; - $187 = HEAP32[$2>>2]|0; - $188 = ((($187)) + 6|0); - $189 = HEAP16[$188>>1]|0; - $190 = $189&65535; - $191 = $190 | $186; - $192 = $191&65535; - HEAP16[$188>>1] = $192; + $177 = ((($sNC)) + 28|0); + $178 = HEAP16[$177>>1]|0; + $179 = $178&65535; + $180 = $179 & 4096; + $181 = 8 | $180; + $182 = HEAP32[$2>>2]|0; + $183 = ((($182)) + 8|0); + $184 = HEAP32[$183>>2]|0; + $185 = $184 | $181; + HEAP32[$183>>2] = $185; } - $198 = HEAP32[$2>>2]|0; - $199 = ((($198)) + 44|0); - $200 = HEAP32[$199>>2]|0; - $201 = ($200|0)==(0|0); - $202 = HEAP32[$pGroupBy>>2]|0; - $203 = ($202|0)!=(0|0); - $or$cond = $201 | $203; + $191 = HEAP32[$2>>2]|0; + $192 = ((($191)) + 40|0); + $193 = HEAP32[$192>>2]|0; + $194 = ($193|0)==(0|0); + $195 = HEAP32[$pGroupBy>>2]|0; + $196 = ($195|0)!=(0|0); + $or$cond = $194 | $196; if (!($or$cond)) { label = 37; break; } - $205 = HEAP32[$2>>2]|0; - $206 = HEAP32[$205>>2]|0; - $207 = ((($sNC)) + 8|0); - HEAP32[$207>>2] = $206; - $208 = HEAP32[$2>>2]|0; - $209 = ((($208)) + 44|0); - $210 = HEAP32[$209>>2]|0; - $211 = (_sqlite3ResolveExprNames($sNC,$210)|0); - $212 = ($211|0)!=(0); - if ($212) { + $198 = HEAP32[$2>>2]|0; + $199 = HEAP32[$198>>2]|0; + $200 = ((($sNC)) + 8|0); + HEAP32[$200>>2] = $199; + $201 = HEAP32[$2>>2]|0; + $202 = ((($201)) + 40|0); + $203 = HEAP32[$202>>2]|0; + $204 = (_sqlite3ResolveExprNames($sNC,$203)|0); + $205 = ($204|0)!=(0); + if ($205) { label = 39; break; } - $213 = HEAP32[$2>>2]|0; - $214 = ((($213)) + 36|0); - $215 = HEAP32[$214>>2]|0; - $216 = (_sqlite3ResolveExprNames($sNC,$215)|0); - $217 = ($216|0)!=(0); - if ($217) { + $206 = HEAP32[$2>>2]|0; + $207 = ((($206)) + 32|0); + $208 = HEAP32[$207>>2]|0; + $209 = (_sqlite3ResolveExprNames($sNC,$208)|0); + $210 = ($209|0)!=(0); + if ($210) { label = 41; break; } HEAP32[$i>>2] = 0; while(1) { - $218 = HEAP32[$i>>2]|0; - $219 = HEAP32[$2>>2]|0; - $220 = ((($219)) + 32|0); - $221 = HEAP32[$220>>2]|0; - $222 = HEAP32[$221>>2]|0; - $223 = ($218|0)<($222|0); - if (!($223)) { + $211 = HEAP32[$i>>2]|0; + $212 = HEAP32[$2>>2]|0; + $213 = ((($212)) + 28|0); + $214 = HEAP32[$213>>2]|0; + $215 = HEAP32[$214>>2]|0; + $216 = ($211|0)<($215|0); + if (!($216)) { break; } - $224 = HEAP32[$i>>2]|0; - $225 = HEAP32[$2>>2]|0; - $226 = ((($225)) + 32|0); - $227 = HEAP32[$226>>2]|0; - $228 = ((($227)) + 8|0); - $229 = (($228) + (($224*72)|0)|0); - HEAP32[$pItem1>>2] = $229; - $230 = HEAP32[$pItem1>>2]|0; - $231 = ((($230)) + 36|0); - $232 = ((($231)) + 1|0); - $233 = HEAP8[$232>>0]|0; - $234 = ($233&255) >>> 2; - $235 = $234 & 1; - $236 = $235&255; - $237 = ($236|0)!=(0); - if ($237) { - $238 = HEAP32[$pItem1>>2]|0; - $239 = ((($238)) + 64|0); - $240 = HEAP32[$239>>2]|0; - $241 = (_sqlite3ResolveExprListNames($sNC,$240)|0); - $242 = ($241|0)!=(0); - if ($242) { + $217 = HEAP32[$i>>2]|0; + $218 = HEAP32[$2>>2]|0; + $219 = ((($218)) + 28|0); + $220 = HEAP32[$219>>2]|0; + $221 = ((($220)) + 8|0); + $222 = (($221) + (($217*72)|0)|0); + HEAP32[$pItem1>>2] = $222; + $223 = HEAP32[$pItem1>>2]|0; + $224 = ((($223)) + 36|0); + $225 = ((($224)) + 1|0); + $226 = HEAP8[$225>>0]|0; + $227 = ($226&255) >>> 2; + $228 = $227 & 1; + $229 = $228&255; + $230 = ($229|0)!=(0); + if ($230) { + $231 = HEAP32[$pItem1>>2]|0; + $232 = ((($231)) + 64|0); + $233 = HEAP32[$232>>2]|0; + $234 = (_sqlite3ResolveExprListNames($sNC,$233)|0); + $235 = ($234|0)!=(0); + if ($235) { label = 46; break L12; } } - $243 = HEAP32[$i>>2]|0; - $244 = (($243) + 1)|0; - HEAP32[$i>>2] = $244; - } - $245 = ((($sNC)) + 16|0); - HEAP32[$245>>2] = 0; - $246 = ((($sNC)) + 28|0); - $247 = HEAP16[$246>>1]|0; - $248 = $247&65535; - $249 = $248 | 1; - $250 = $249&65535; - HEAP16[$246>>1] = $250; - $251 = HEAP32[$2>>2]|0; - $252 = ((($251)) + 6|0); - $253 = HEAP16[$252>>1]|0; - $254 = $253&65535; - $255 = $254 & 16384; - $256 = ($255|0)!=(0); - if ($256) { - $257 = HEAP32[$2>>2]|0; - $258 = ((($257)) + 32|0); - $259 = HEAP32[$258>>2]|0; - $260 = ((($259)) + 8|0); - $261 = ((($260)) + 20|0); - $262 = HEAP32[$261>>2]|0; - HEAP32[$pSub2>>2] = $262; - $263 = HEAP32[$pSub2>>2]|0; - $264 = ((($263)) + 48|0); - $265 = HEAP32[$264>>2]|0; + $236 = HEAP32[$i>>2]|0; + $237 = (($236) + 1)|0; + HEAP32[$i>>2] = $237; + } + $238 = ((($sNC)) + 16|0); + HEAP32[$238>>2] = 0; + $239 = ((($sNC)) + 28|0); + $240 = HEAP16[$239>>1]|0; + $241 = $240&65535; + $242 = $241 | 1; + $243 = $242&65535; + HEAP16[$239>>1] = $243; + $244 = HEAP32[$2>>2]|0; + $245 = ((($244)) + 8|0); + $246 = HEAP32[$245>>2]|0; + $247 = $246 & 32768; + $248 = ($247|0)!=(0); + if ($248) { + $249 = HEAP32[$2>>2]|0; + $250 = ((($249)) + 28|0); + $251 = HEAP32[$250>>2]|0; + $252 = ((($251)) + 8|0); + $253 = ((($252)) + 20|0); + $254 = HEAP32[$253>>2]|0; + HEAP32[$pSub2>>2] = $254; + $255 = HEAP32[$pSub2>>2]|0; + $256 = ((($255)) + 44|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[$2>>2]|0; + $259 = ((($258)) + 44|0); + HEAP32[$259>>2] = $257; + $260 = HEAP32[$pSub2>>2]|0; + $261 = ((($260)) + 44|0); + HEAP32[$261>>2] = 0; + } + $262 = HEAP32[$isCompound>>2]|0; + $263 = HEAP32[$nCompound>>2]|0; + $264 = ($262|0)<=($263|0); + if ($264) { + $265 = HEAP32[$2>>2]|0; $266 = HEAP32[$2>>2]|0; - $267 = ((($266)) + 48|0); - HEAP32[$267>>2] = $265; - $268 = HEAP32[$pSub2>>2]|0; - $269 = ((($268)) + 48|0); - HEAP32[$269>>2] = 0; - } - $270 = HEAP32[$isCompound>>2]|0; - $271 = HEAP32[$nCompound>>2]|0; - $272 = ($270|0)<=($271|0); - if ($272) { - $273 = HEAP32[$2>>2]|0; - $274 = HEAP32[$2>>2]|0; - $275 = ((($274)) + 48|0); - $276 = HEAP32[$275>>2]|0; - $277 = (_resolveOrderGroupBy($sNC,$273,$276,29962)|0); - $278 = ($277|0)!=(0); - if ($278) { + $267 = ((($266)) + 44|0); + $268 = HEAP32[$267>>2]|0; + $269 = (_resolveOrderGroupBy($sNC,$265,$268,29687)|0); + $270 = ($269|0)!=(0); + if ($270) { label = 52; break; } } - $279 = HEAP32[$db>>2]|0; - $280 = ((($279)) + 65|0); - $281 = HEAP8[$280>>0]|0; - $282 = ($281<<24>>24)!=(0); - if ($282) { + $271 = HEAP32[$db>>2]|0; + $272 = ((($271)) + 69|0); + $273 = HEAP8[$272>>0]|0; + $274 = ($273<<24>>24)!=(0); + if ($274) { label = 54; break; } - $283 = HEAP32[$pGroupBy>>2]|0; - $284 = ($283|0)!=(0|0); + $275 = HEAP32[$pGroupBy>>2]|0; + $276 = ($275|0)!=(0|0); L64: do { - if ($284) { - $285 = HEAP32[$2>>2]|0; - $286 = HEAP32[$pGroupBy>>2]|0; - $287 = (_resolveOrderGroupBy($sNC,$285,$286,29968)|0); - $288 = ($287|0)!=(0); - if ($288) { + if ($276) { + $277 = HEAP32[$2>>2]|0; + $278 = HEAP32[$pGroupBy>>2]|0; + $279 = (_resolveOrderGroupBy($sNC,$277,$278,29693)|0); + $280 = ($279|0)!=(0); + if ($280) { label = 58; break L12; } - $289 = HEAP32[$db>>2]|0; - $290 = ((($289)) + 65|0); - $291 = HEAP8[$290>>0]|0; - $292 = $291&255; - $293 = ($292|0)!=(0); - if ($293) { + $281 = HEAP32[$db>>2]|0; + $282 = ((($281)) + 69|0); + $283 = HEAP8[$282>>0]|0; + $284 = $283&255; + $285 = ($284|0)!=(0); + if ($285) { label = 58; break L12; } HEAP32[$i>>2] = 0; - $294 = HEAP32[$pGroupBy>>2]|0; - $295 = ((($294)) + 4|0); - $296 = HEAP32[$295>>2]|0; - HEAP32[$pItem3>>2] = $296; + $286 = HEAP32[$pGroupBy>>2]|0; + $287 = ((($286)) + 4|0); + $288 = HEAP32[$287>>2]|0; + HEAP32[$pItem3>>2] = $288; while(1) { - $297 = HEAP32[$i>>2]|0; - $298 = HEAP32[$pGroupBy>>2]|0; - $299 = HEAP32[$298>>2]|0; - $300 = ($297|0)<($299|0); - if (!($300)) { + $289 = HEAP32[$i>>2]|0; + $290 = HEAP32[$pGroupBy>>2]|0; + $291 = HEAP32[$290>>2]|0; + $292 = ($289|0)<($291|0); + if (!($292)) { break L64; } - $301 = HEAP32[$pItem3>>2]|0; - $302 = HEAP32[$301>>2]|0; - $303 = ((($302)) + 4|0); - $304 = HEAP32[$303>>2]|0; - $305 = $304 & 2; - $306 = ($305|0)!=(0); - if ($306) { + $293 = HEAP32[$pItem3>>2]|0; + $294 = HEAP32[$293>>2]|0; + $295 = ((($294)) + 4|0); + $296 = HEAP32[$295>>2]|0; + $297 = $296 & 2; + $298 = ($297|0)!=(0); + if ($298) { label = 62; break L12; } - $308 = HEAP32[$i>>2]|0; - $309 = (($308) + 1)|0; - HEAP32[$i>>2] = $309; - $310 = HEAP32[$pItem3>>2]|0; - $311 = ((($310)) + 20|0); - HEAP32[$pItem3>>2] = $311; + $300 = HEAP32[$i>>2]|0; + $301 = (($300) + 1)|0; + HEAP32[$i>>2] = $301; + $302 = HEAP32[$pItem3>>2]|0; + $303 = ((($302)) + 20|0); + HEAP32[$pItem3>>2] = $303; } } } while(0); - $312 = HEAP32[$2>>2]|0; - $313 = ((($312)) + 56|0); - $314 = HEAP32[$313>>2]|0; - $315 = ($314|0)!=(0|0); - if ($315) { - $316 = HEAP32[$2>>2]|0; - $317 = HEAP32[$316>>2]|0; - $318 = HEAP32[$317>>2]|0; - $319 = HEAP32[$2>>2]|0; - $320 = ((($319)) + 56|0); - $321 = HEAP32[$320>>2]|0; - $322 = HEAP32[$321>>2]|0; - $323 = HEAP32[$322>>2]|0; - $324 = ($318|0)!=($323|0); - if ($324) { + $304 = HEAP32[$2>>2]|0; + $305 = ((($304)) + 52|0); + $306 = HEAP32[$305>>2]|0; + $307 = ($306|0)!=(0|0); + if ($307) { + $308 = HEAP32[$2>>2]|0; + $309 = HEAP32[$308>>2]|0; + $310 = HEAP32[$309>>2]|0; + $311 = HEAP32[$2>>2]|0; + $312 = ((($311)) + 52|0); + $313 = HEAP32[$312>>2]|0; + $314 = HEAP32[$313>>2]|0; + $315 = HEAP32[$314>>2]|0; + $316 = ($310|0)!=($315|0); + if ($316) { label = 66; break; } } - $329 = HEAP32[$2>>2]|0; - $330 = ((($329)) + 52|0); - $331 = HEAP32[$330>>2]|0; - HEAP32[$2>>2] = $331; - $332 = HEAP32[$nCompound>>2]|0; - $333 = (($332) + 1)|0; - HEAP32[$nCompound>>2] = $333; + $321 = HEAP32[$2>>2]|0; + $322 = ((($321)) + 48|0); + $323 = HEAP32[$322>>2]|0; + HEAP32[$2>>2] = $323; + $324 = HEAP32[$nCompound>>2]|0; + $325 = (($324) + 1)|0; + HEAP32[$nCompound>>2] = $325; } switch (label|0) { case 11: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 24: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 31: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 37: { - $204 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($204,29918,$vararg_buffer); + $197 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($197,29643,$vararg_buffer); HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 39: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 41: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 46: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 52: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 54: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 58: { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 62: { - $307 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($307,29974,$vararg_buffer2); + $299 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($299,29699,$vararg_buffer2); HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 66: { - $325 = HEAP32[$pParse>>2]|0; - $326 = HEAP32[$2>>2]|0; - $327 = ((($326)) + 56|0); - $328 = HEAP32[$327>>2]|0; - _sqlite3SelectWrongNumTermsError($325,$328); + $317 = HEAP32[$pParse>>2]|0; + $318 = HEAP32[$2>>2]|0; + $319 = ((($318)) + 52|0); + $320 = HEAP32[$319>>2]|0; + _sqlite3SelectWrongNumTermsError($317,$320); HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } case 68: { - $334 = HEAP32[$isCompound>>2]|0; - $335 = ($334|0)!=(0); - if ($335) { - $336 = HEAP32[$pParse>>2]|0; - $337 = HEAP32[$pLeftmost>>2]|0; - $338 = (_resolveCompoundOrderBy($336,$337)|0); - $339 = ($338|0)!=(0); - if ($339) { + $326 = HEAP32[$isCompound>>2]|0; + $327 = ($326|0)!=(0); + if ($327) { + $328 = HEAP32[$pParse>>2]|0; + $329 = HEAP32[$pLeftmost>>2]|0; + $330 = (_resolveCompoundOrderBy($328,$329)|0); + $331 = ($330|0)!=(0); + if ($331) { HEAP32[$0>>2] = 2; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); } } HEAP32[$0>>2] = 1; - $340 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($340|0); + $332 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($332|0); break; } } @@ -138073,7 +139330,7 @@ function _resolveOrderGroupBy($pNC,$pSelect,$pOrderBy,$zType) { function _sqlite3SelectWrongNumTermsError($pParse,$p) { $pParse = $pParse|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $vararg_buffer1 = sp + 8|0; @@ -138083,23 +139340,22 @@ function _sqlite3SelectWrongNumTermsError($pParse,$p) { HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $p; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 6|0); - $4 = HEAP16[$3>>1]|0; - $5 = $4&65535; - $6 = $5 & 256; - $7 = ($6|0)!=(0); - $8 = HEAP32[$0>>2]|0; - if ($7) { - _sqlite3ErrorMsg($8,30184,$vararg_buffer); + $3 = ((($2)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 256; + $6 = ($5|0)!=(0); + $7 = HEAP32[$0>>2]|0; + if ($6) { + _sqlite3ErrorMsg($7,29909,$vararg_buffer); STACKTOP = sp;return; } else { - $9 = HEAP32[$1>>2]|0; - $10 = ((($9)) + 4|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = (_selectOpName($12)|0); - HEAP32[$vararg_buffer1>>2] = $13; - _sqlite3ErrorMsg($8,30230,$vararg_buffer1); + $8 = HEAP32[$1>>2]|0; + $9 = ((($8)) + 4|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = (_selectOpName($11)|0); + HEAP32[$vararg_buffer1>>2] = $12; + _sqlite3ErrorMsg($7,29955,$vararg_buffer1); STACKTOP = sp;return; } } @@ -138138,7 +139394,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { HEAP32[$2>>2] = $pSelect; HEAP32[$moreToDo>>2] = 1; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 48|0); + $4 = ((($3)) + 44|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pOrderBy>>2] = $5; $6 = HEAP32[$pOrderBy>>2]|0; @@ -138154,13 +139410,13 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $10 = HEAP32[$pOrderBy>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 88|0); + $13 = ((($12)) + 92|0); $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = ($11|0)>($15|0); if ($16) { $17 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($17,30033,$vararg_buffer); + _sqlite3ErrorMsg($17,29758,$vararg_buffer); HEAP32[$0>>2] = 1; $172 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($172|0); @@ -138188,11 +139444,11 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { HEAP32[$i>>2] = $31; } $32 = HEAP32[$2>>2]|0; - $33 = ((($32)) + 56|0); + $33 = ((($32)) + 52|0); HEAP32[$33>>2] = 0; while(1) { $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 52|0); + $35 = ((($34)) + 48|0); $36 = HEAP32[$35>>2]|0; $37 = ($36|0)!=(0|0); if (!($37)) { @@ -138200,12 +139456,12 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { } $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 52|0); + $40 = ((($39)) + 48|0); $41 = HEAP32[$40>>2]|0; - $42 = ((($41)) + 56|0); + $42 = ((($41)) + 52|0); HEAP32[$42>>2] = $38; $43 = HEAP32[$2>>2]|0; - $44 = ((($43)) + 52|0); + $44 = ((($43)) + 48|0); $45 = HEAP32[$44>>2]|0; HEAP32[$2>>2] = $45; } @@ -138281,7 +139537,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $91 = (_sqlite3ExprDup($89,$90,0)|0); HEAP32[$pDup>>2] = $91; $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 65|0); + $93 = ((($92)) + 69|0); $94 = HEAP8[$93>>0]|0; $95 = ($94<<24>>24)!=(0); if (!($95)) { @@ -138376,7 +139632,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { HEAP32[$pItem>>2] = $149; } $150 = HEAP32[$2>>2]|0; - $151 = ((($150)) + 56|0); + $151 = ((($150)) + 52|0); $152 = HEAP32[$151>>2]|0; HEAP32[$2>>2] = $152; } @@ -138386,7 +139642,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $80 = (($79) + 1)|0; $81 = HEAP32[$pEList>>2]|0; $82 = HEAP32[$81>>2]|0; - _resolveOutOfRangeError($78,29962,$80,$82); + _resolveOutOfRangeError($78,29687,$80,$82); HEAP32[$0>>2] = 1; $172 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($172|0); @@ -138430,7 +139686,7 @@ function _resolveCompoundOrderBy($pParse,$pSelect) { $168 = HEAP32[$i>>2]|0; $169 = (($168) + 1)|0; HEAP32[$vararg_buffer1>>2] = $169; - _sqlite3ErrorMsg($167,30067,$vararg_buffer1); + _sqlite3ErrorMsg($167,29792,$vararg_buffer1); HEAP32[$0>>2] = 1; $172 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($172|0); @@ -138534,7 +139790,7 @@ function _resolveOutOfRangeError($pParse,$zType,$i,$mx) { HEAP32[$vararg_ptr1>>2] = $6; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $7; - _sqlite3ErrorMsg($4,30128,$vararg_buffer); + _sqlite3ErrorMsg($4,29853,$vararg_buffer); STACKTOP = sp;return; } function _resolveAsName($pParse,$pEList,$pE) { @@ -138587,7 +139843,7 @@ function _resolveAsName($pParse,$pEList,$pE) { if ($23) { $24 = HEAP32[$zAs>>2]|0; $25 = HEAP32[$zCol>>2]|0; - $26 = (_sqlite3_stricmp($24,$25)|0); + $26 = (_sqlite3StrICmp($24,$25)|0); $27 = ($26|0)==(0); if ($27) { break; @@ -138656,7 +139912,7 @@ function _resolveOrderByTermToExprList($pParse,$pSelect,$pE) { $6 = HEAP32[$1>>2]|0; HEAP32[$nc>>2] = $6; $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 32|0); + $8 = ((($7)) + 28|0); $9 = HEAP32[$8>>2]|0; $10 = ((($nc)) + 4|0); HEAP32[$10>>2] = $9; @@ -138671,18 +139927,18 @@ function _resolveOrderByTermToExprList($pParse,$pSelect,$pE) { $16 = HEAP32[$15>>2]|0; HEAP32[$db>>2] = $16; $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 69|0); + $18 = ((($17)) + 73|0); $19 = HEAP8[$18>>0]|0; HEAP8[$savedSuppErr>>0] = $19; $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 69|0); + $21 = ((($20)) + 73|0); HEAP8[$21>>0] = 1; $22 = HEAP32[$3>>2]|0; $23 = (_sqlite3ResolveExprNames($nc,$22)|0); HEAP32[$rc>>2] = $23; $24 = HEAP8[$savedSuppErr>>0]|0; $25 = HEAP32[$db>>2]|0; - $26 = ((($25)) + 69|0); + $26 = ((($25)) + 73|0); HEAP8[$26>>0] = $24; $27 = HEAP32[$rc>>2]|0; $28 = ($27|0)!=(0); @@ -138877,7 +140133,7 @@ function _sqlite3ExprCompare($pA,$pB,$iTab) { $83 = ((($82)) + 8|0); $84 = HEAP32[$83>>2]|0; if ($78) { - $85 = (_sqlite3_stricmp($81,$84)|0); + $85 = (_sqlite3StrICmp($81,$84)|0); $86 = ($85|0)!=(0); if (!($86)) { break; @@ -139772,19 +141028,19 @@ function _selectOpName($id) { $1 = HEAP32[$0>>2]|0; switch ($1|0) { case 116: { - HEAP32[$z>>2] = 30312; + HEAP32[$z>>2] = 30037; break; } case 118: { - HEAP32[$z>>2] = 30322; + HEAP32[$z>>2] = 30047; break; } case 117: { - HEAP32[$z>>2] = 30332; + HEAP32[$z>>2] = 30057; break; } default: { - HEAP32[$z>>2] = 30339; + HEAP32[$z>>2] = 30064; } } $2 = HEAP32[$z>>2]|0; @@ -139823,7 +141079,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { if (!($8)) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 65|0); + $11 = ((($10)) + 69|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = ($13|0)!=(0); @@ -139831,7 +141087,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { $15 = HEAP32[$3>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 88|0); + $18 = ((($17)) + 92|0); $19 = ((($18)) + 8|0); $20 = HEAP32[$19>>2]|0; $21 = ($16|0)>($20|0); @@ -139839,7 +141095,7 @@ function _sqlite3ResolveOrderGroupBy($pParse,$pSelect,$pOrderBy,$zType) { $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer>>2] = $23; - _sqlite3ErrorMsg($22,30345,$vararg_buffer); + _sqlite3ErrorMsg($22,30070,$vararg_buffer); HEAP32[$0>>2] = 1; $63 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($63|0); @@ -140146,7 +141402,7 @@ function _sqlite3ExprCheckHeight($pParse,$nHeight) { HEAP32[$rc>>2] = 0; $2 = HEAP32[$0>>2]|0; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 88|0); + $4 = ((($3)) + 92|0); $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; HEAP32[$mxHeight>>2] = $6; @@ -140160,7 +141416,7 @@ function _sqlite3ExprCheckHeight($pParse,$nHeight) { $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$mxHeight>>2]|0; HEAP32[$vararg_buffer>>2] = $11; - _sqlite3ErrorMsg($10,30376,$vararg_buffer); + _sqlite3ErrorMsg($10,30101,$vararg_buffer); HEAP32[$rc>>2] = 1; $12 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($12|0); @@ -140195,12 +141451,12 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0; var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $cnt = 0, $cntTab = 0, $db = 0, $hit = 0, $i = 0, $iCol = 0, $isTrigger = 0, $j = 0, $n = 0, $nSubquery = 0, $op = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0; - var $or$cond9 = 0, $pCol = 0, $pEList = 0, $pItem = 0, $pMatch = 0, $pOrig = 0, $pSchema = 0, $pSrcList = 0, $pTab = 0, $pTopNC = 0, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer24 = 0, $vararg_buffer29 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0; - var $zAs = 0, $zErr = 0, $zTabName = 0, label = 0, sp = 0; + var $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0; + var $cnt = 0, $cntTab = 0, $db = 0, $hit = 0, $i = 0, $iCol = 0, $isTrigger = 0, $j = 0, $n = 0, $nSubquery = 0, $op = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0; + var $pCol = 0, $pEList = 0, $pItem = 0, $pMatch = 0, $pOrig = 0, $pSchema = 0, $pSrcList = 0, $pTab = 0, $pTopNC = 0, $vararg_buffer = 0, $vararg_buffer18 = 0, $vararg_buffer24 = 0, $vararg_buffer29 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr23 = 0, $vararg_ptr27 = 0, $vararg_ptr28 = 0, $vararg_ptr32 = 0, $zAs = 0; + var $zErr = 0, $zTabName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 176|0; $vararg_buffer29 = sp + 40|0; @@ -140292,7 +141548,7 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $31 = (($30) + ($27<<4)|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$2>>2]|0; - $34 = (_sqlite3_stricmp($32,$33)|0); + $34 = (_sqlite3StrICmp($32,$33)|0); $35 = ($34|0)==(0); $36 = HEAP32[$i>>2]|0; if ($35) { @@ -140351,62 +141607,61 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { $67 = HEAP32[$pItem>>2]|0; $68 = ((($67)) + 20|0); $69 = HEAP32[$68>>2]|0; - $70 = ((($69)) + 6|0); - $71 = HEAP16[$70>>1]|0; - $72 = $71&65535; - $73 = $72 & 1024; - $74 = ($73|0)!=(0); - if ($74) { + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = $71 & 1024; + $73 = ($72|0)!=(0); + if ($73) { HEAP32[$hit>>2] = 0; - $75 = HEAP32[$pItem>>2]|0; - $76 = ((($75)) + 20|0); + $74 = HEAP32[$pItem>>2]|0; + $75 = ((($74)) + 20|0); + $76 = HEAP32[$75>>2]|0; $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$77>>2]|0; - HEAP32[$pEList>>2] = $78; + HEAP32[$pEList>>2] = $77; HEAP32[$j>>2] = 0; while(1) { - $79 = HEAP32[$j>>2]|0; - $80 = HEAP32[$pEList>>2]|0; - $81 = HEAP32[$80>>2]|0; - $82 = ($79|0)<($81|0); - if (!($82)) { + $78 = HEAP32[$j>>2]|0; + $79 = HEAP32[$pEList>>2]|0; + $80 = HEAP32[$79>>2]|0; + $81 = ($78|0)<($80|0); + if (!($81)) { break; } - $83 = HEAP32[$j>>2]|0; - $84 = HEAP32[$pEList>>2]|0; - $85 = ((($84)) + 4|0); - $86 = HEAP32[$85>>2]|0; - $87 = (($86) + (($83*20)|0)|0); - $88 = ((($87)) + 8|0); - $89 = HEAP32[$88>>2]|0; - $90 = HEAP32[$4>>2]|0; - $91 = HEAP32[$3>>2]|0; - $92 = HEAP32[$2>>2]|0; - $93 = (_sqlite3MatchSpanName($89,$90,$91,$92)|0); - $94 = ($93|0)!=(0); - if ($94) { - $95 = HEAP32[$cnt>>2]|0; - $96 = (($95) + 1)|0; - HEAP32[$cnt>>2] = $96; + $82 = HEAP32[$j>>2]|0; + $83 = HEAP32[$pEList>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($85) + (($82*20)|0)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = HEAP32[$4>>2]|0; + $90 = HEAP32[$3>>2]|0; + $91 = HEAP32[$2>>2]|0; + $92 = (_sqlite3MatchSpanName($88,$89,$90,$91)|0); + $93 = ($92|0)!=(0); + if ($93) { + $94 = HEAP32[$cnt>>2]|0; + $95 = (($94) + 1)|0; + HEAP32[$cnt>>2] = $95; HEAP32[$cntTab>>2] = 2; - $97 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $97; - $98 = HEAP32[$j>>2]|0; - $99 = $98&65535; - $100 = HEAP32[$6>>2]|0; - $101 = ((($100)) + 32|0); - HEAP16[$101>>1] = $99; + $96 = HEAP32[$pItem>>2]|0; + HEAP32[$pMatch>>2] = $96; + $97 = HEAP32[$j>>2]|0; + $98 = $97&65535; + $99 = HEAP32[$6>>2]|0; + $100 = ((($99)) + 32|0); + HEAP16[$100>>1] = $98; HEAP32[$hit>>2] = 1; } - $102 = HEAP32[$j>>2]|0; - $103 = (($102) + 1)|0; - HEAP32[$j>>2] = $103; + $101 = HEAP32[$j>>2]|0; + $102 = (($101) + 1)|0; + HEAP32[$j>>2] = $102; } - $104 = HEAP32[$hit>>2]|0; - $105 = ($104|0)!=(0); - $106 = HEAP32[$3>>2]|0; - $107 = ($106|0)==(0|0); - $or$cond = $105 | $107; + $103 = HEAP32[$hit>>2]|0; + $104 = ($103|0)!=(0); + $105 = HEAP32[$3>>2]|0; + $106 = ($105|0)==(0|0); + $or$cond = $104 | $106; if (!($or$cond)) { label = 21; } @@ -140419,204 +141674,204 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { L29: do { if ((label|0) == 21) { label = 0; - $108 = HEAP32[$2>>2]|0; - $109 = ($108|0)!=(0|0); - if ($109) { - $110 = HEAP32[$pTab>>2]|0; - $111 = ((($110)) + 64|0); - $112 = HEAP32[$111>>2]|0; - $113 = HEAP32[$pSchema>>2]|0; - $114 = ($112|0)!=($113|0); - if ($114) { + $107 = HEAP32[$2>>2]|0; + $108 = ($107|0)!=(0|0); + if ($108) { + $109 = HEAP32[$pTab>>2]|0; + $110 = ((($109)) + 64|0); + $111 = HEAP32[$110>>2]|0; + $112 = HEAP32[$pSchema>>2]|0; + $113 = ($111|0)!=($112|0); + if ($113) { break; } } - $115 = HEAP32[$3>>2]|0; - $116 = ($115|0)!=(0|0); - if ($116) { - $117 = HEAP32[$pItem>>2]|0; - $118 = ((($117)) + 12|0); - $119 = HEAP32[$118>>2]|0; - $120 = ($119|0)!=(0|0); - if ($120) { - $121 = HEAP32[$pItem>>2]|0; - $122 = ((($121)) + 12|0); - $123 = HEAP32[$122>>2]|0; - $126 = $123; + $114 = HEAP32[$3>>2]|0; + $115 = ($114|0)!=(0|0); + if ($115) { + $116 = HEAP32[$pItem>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + $119 = ($118|0)!=(0|0); + if ($119) { + $120 = HEAP32[$pItem>>2]|0; + $121 = ((($120)) + 12|0); + $122 = HEAP32[$121>>2]|0; + $125 = $122; } else { - $124 = HEAP32[$pTab>>2]|0; - $125 = HEAP32[$124>>2]|0; - $126 = $125; + $123 = HEAP32[$pTab>>2]|0; + $124 = HEAP32[$123>>2]|0; + $125 = $124; } - HEAP32[$zTabName>>2] = $126; - $127 = HEAP32[$zTabName>>2]|0; - $128 = HEAP32[$3>>2]|0; - $129 = (_sqlite3_stricmp($127,$128)|0); - $130 = ($129|0)!=(0); - if ($130) { + HEAP32[$zTabName>>2] = $125; + $126 = HEAP32[$zTabName>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = (_sqlite3StrICmp($126,$127)|0); + $129 = ($128|0)!=(0); + if ($129) { break; } } - $131 = HEAP32[$cntTab>>2]|0; - $132 = (($131) + 1)|0; - HEAP32[$cntTab>>2] = $132; - $133 = (0)==($131|0); - if ($133) { - $134 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $134; + $130 = HEAP32[$cntTab>>2]|0; + $131 = (($130) + 1)|0; + HEAP32[$cntTab>>2] = $131; + $132 = (0)==($130|0); + if ($132) { + $133 = HEAP32[$pItem>>2]|0; + HEAP32[$pMatch>>2] = $133; } HEAP32[$j>>2] = 0; - $135 = HEAP32[$pTab>>2]|0; - $136 = ((($135)) + 4|0); - $137 = HEAP32[$136>>2]|0; - HEAP32[$pCol>>2] = $137; + $134 = HEAP32[$pTab>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + HEAP32[$pCol>>2] = $136; while(1) { - $138 = HEAP32[$j>>2]|0; - $139 = HEAP32[$pTab>>2]|0; - $140 = ((($139)) + 34|0); - $141 = HEAP16[$140>>1]|0; - $142 = $141 << 16 >> 16; - $143 = ($138|0)<($142|0); - if (!($143)) { + $137 = HEAP32[$j>>2]|0; + $138 = HEAP32[$pTab>>2]|0; + $139 = ((($138)) + 34|0); + $140 = HEAP16[$139>>1]|0; + $141 = $140 << 16 >> 16; + $142 = ($137|0)<($141|0); + if (!($142)) { break L29; } - $144 = HEAP32[$pCol>>2]|0; - $145 = HEAP32[$144>>2]|0; - $146 = HEAP32[$4>>2]|0; - $147 = (_sqlite3_stricmp($145,$146)|0); - $148 = ($147|0)==(0); - if ($148) { - $149 = HEAP32[$cnt>>2]|0; - $150 = ($149|0)==(1); - if (!($150)) { + $143 = HEAP32[$pCol>>2]|0; + $144 = HEAP32[$143>>2]|0; + $145 = HEAP32[$4>>2]|0; + $146 = (_sqlite3StrICmp($144,$145)|0); + $147 = ($146|0)==(0); + if ($147) { + $148 = HEAP32[$cnt>>2]|0; + $149 = ($148|0)==(1); + if (!($149)) { break; } - $151 = HEAP32[$pItem>>2]|0; - $152 = ((($151)) + 36|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = $154 & 4; - $156 = ($155|0)!=(0); - if (!($156)) { - $157 = HEAP32[$pItem>>2]|0; - $158 = ((($157)) + 52|0); - $159 = HEAP32[$158>>2]|0; - $160 = HEAP32[$4>>2]|0; - $161 = (_nameInUsingClause($159,$160)|0); - $162 = ($161|0)!=(0); - if (!($162)) { + $150 = HEAP32[$pItem>>2]|0; + $151 = ((($150)) + 36|0); + $152 = HEAP8[$151>>0]|0; + $153 = $152&255; + $154 = $153 & 4; + $155 = ($154|0)!=(0); + if (!($155)) { + $156 = HEAP32[$pItem>>2]|0; + $157 = ((($156)) + 52|0); + $158 = HEAP32[$157>>2]|0; + $159 = HEAP32[$4>>2]|0; + $160 = (_nameInUsingClause($158,$159)|0); + $161 = ($160|0)!=(0); + if (!($161)) { break; } } } - $179 = HEAP32[$j>>2]|0; - $180 = (($179) + 1)|0; - HEAP32[$j>>2] = $180; - $181 = HEAP32[$pCol>>2]|0; - $182 = ((($181)) + 24|0); - HEAP32[$pCol>>2] = $182; + $178 = HEAP32[$j>>2]|0; + $179 = (($178) + 1)|0; + HEAP32[$j>>2] = $179; + $180 = HEAP32[$pCol>>2]|0; + $181 = ((($180)) + 16|0); + HEAP32[$pCol>>2] = $181; } - $163 = HEAP32[$cnt>>2]|0; - $164 = (($163) + 1)|0; - HEAP32[$cnt>>2] = $164; - $165 = HEAP32[$pItem>>2]|0; - HEAP32[$pMatch>>2] = $165; - $166 = HEAP32[$j>>2]|0; - $167 = HEAP32[$pTab>>2]|0; - $168 = ((($167)) + 32|0); - $169 = HEAP16[$168>>1]|0; - $170 = $169 << 16 >> 16; - $171 = ($166|0)==($170|0); - if ($171) { - $176 = -1; + $162 = HEAP32[$cnt>>2]|0; + $163 = (($162) + 1)|0; + HEAP32[$cnt>>2] = $163; + $164 = HEAP32[$pItem>>2]|0; + HEAP32[$pMatch>>2] = $164; + $165 = HEAP32[$j>>2]|0; + $166 = HEAP32[$pTab>>2]|0; + $167 = ((($166)) + 32|0); + $168 = HEAP16[$167>>1]|0; + $169 = $168 << 16 >> 16; + $170 = ($165|0)==($169|0); + if ($170) { + $175 = -1; } else { - $172 = HEAP32[$j>>2]|0; - $173 = $172&65535; - $174 = $173 << 16 >> 16; - $176 = $174; + $171 = HEAP32[$j>>2]|0; + $172 = $171&65535; + $173 = $172 << 16 >> 16; + $175 = $173; } - $175 = $176&65535; - $177 = HEAP32[$6>>2]|0; - $178 = ((($177)) + 32|0); - HEAP16[$178>>1] = $175; + $174 = $175&65535; + $176 = HEAP32[$6>>2]|0; + $177 = ((($176)) + 32|0); + HEAP16[$177>>1] = $174; } } while(0); - $183 = HEAP32[$i>>2]|0; - $184 = (($183) + 1)|0; - HEAP32[$i>>2] = $184; - $185 = HEAP32[$pItem>>2]|0; - $186 = ((($185)) + 72|0); - HEAP32[$pItem>>2] = $186; - } - $187 = HEAP32[$pMatch>>2]|0; - $188 = ($187|0)!=(0|0); - if ($188) { - $189 = HEAP32[$pMatch>>2]|0; - $190 = ((($189)) + 44|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$6>>2]|0; - $193 = ((($192)) + 28|0); - HEAP32[$193>>2] = $191; - $194 = HEAP32[$pMatch>>2]|0; - $195 = ((($194)) + 16|0); - $196 = HEAP32[$195>>2]|0; - $197 = HEAP32[$6>>2]|0; - $198 = ((($197)) + 44|0); - HEAP32[$198>>2] = $196; - $199 = HEAP32[$pMatch>>2]|0; - $200 = ((($199)) + 36|0); - $201 = HEAP8[$200>>0]|0; - $202 = $201&255; - $203 = $202 & 8; - $204 = ($203|0)!=(0); - if ($204) { - $205 = HEAP32[$6>>2]|0; - $206 = ((($205)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = $207 | 1048576; - HEAP32[$206>>2] = $208; + $182 = HEAP32[$i>>2]|0; + $183 = (($182) + 1)|0; + HEAP32[$i>>2] = $183; + $184 = HEAP32[$pItem>>2]|0; + $185 = ((($184)) + 72|0); + HEAP32[$pItem>>2] = $185; + } + $186 = HEAP32[$pMatch>>2]|0; + $187 = ($186|0)!=(0|0); + if ($187) { + $188 = HEAP32[$pMatch>>2]|0; + $189 = ((($188)) + 44|0); + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$6>>2]|0; + $192 = ((($191)) + 28|0); + HEAP32[$192>>2] = $190; + $193 = HEAP32[$pMatch>>2]|0; + $194 = ((($193)) + 16|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$6>>2]|0; + $197 = ((($196)) + 44|0); + HEAP32[$197>>2] = $195; + $198 = HEAP32[$pMatch>>2]|0; + $199 = ((($198)) + 36|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200&255; + $202 = $201 & 8; + $203 = ($202|0)!=(0); + if ($203) { + $204 = HEAP32[$6>>2]|0; + $205 = ((($204)) + 4|0); + $206 = HEAP32[$205>>2]|0; + $207 = $206 | 1048576; + HEAP32[$205>>2] = $207; } - $209 = HEAP32[$6>>2]|0; - $210 = ((($209)) + 44|0); - $211 = HEAP32[$210>>2]|0; - $212 = ((($211)) + 64|0); - $213 = HEAP32[$212>>2]|0; - HEAP32[$pSchema>>2] = $213; + $208 = HEAP32[$6>>2]|0; + $209 = ((($208)) + 44|0); + $210 = HEAP32[$209>>2]|0; + $211 = ((($210)) + 64|0); + $212 = HEAP32[$211>>2]|0; + HEAP32[$pSchema>>2] = $212; } } - $214 = HEAP32[$2>>2]|0; - $215 = ($214|0)==(0|0); - $216 = HEAP32[$3>>2]|0; - $217 = ($216|0)!=(0|0); - $or$cond3 = $215 & $217; - $218 = HEAP32[$cntTab>>2]|0; - $219 = ($218|0)==(0); - $or$cond5 = $or$cond3 & $219; + $213 = HEAP32[$2>>2]|0; + $214 = ($213|0)==(0|0); + $215 = HEAP32[$3>>2]|0; + $216 = ($215|0)!=(0|0); + $or$cond3 = $214 & $216; + $217 = HEAP32[$cntTab>>2]|0; + $218 = ($217|0)==(0); + $or$cond5 = $or$cond3 & $218; if ($or$cond5) { - $220 = HEAP32[$1>>2]|0; - $221 = ((($220)) + 420|0); - $222 = HEAP32[$221>>2]|0; - $223 = ($222|0)!=(0|0); - if ($223) { - $224 = HEAP32[$1>>2]|0; - $225 = ((($224)) + 440|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - HEAP32[$op>>2] = $227; - $228 = HEAP32[$op>>2]|0; - $229 = ($228|0)!=(109); - if ($229) { - $230 = HEAP32[$3>>2]|0; - $231 = (_sqlite3_stricmp(30795,$230)|0); - $232 = ($231|0)==(0); - if ($232) { - $233 = HEAP32[$6>>2]|0; - $234 = ((($233)) + 28|0); - HEAP32[$234>>2] = 1; - $235 = HEAP32[$1>>2]|0; - $236 = ((($235)) + 420|0); - $237 = HEAP32[$236>>2]|0; - HEAP32[$pTab>>2] = $237; + $219 = HEAP32[$1>>2]|0; + $220 = ((($219)) + 420|0); + $221 = HEAP32[$220>>2]|0; + $222 = ($221|0)!=(0|0); + if ($222) { + $223 = HEAP32[$1>>2]|0; + $224 = ((($223)) + 440|0); + $225 = HEAP8[$224>>0]|0; + $226 = $225&255; + HEAP32[$op>>2] = $226; + $227 = HEAP32[$op>>2]|0; + $228 = ($227|0)!=(109); + if ($228) { + $229 = HEAP32[$3>>2]|0; + $230 = (_sqlite3StrICmp(30520,$229)|0); + $231 = ($230|0)==(0); + if ($231) { + $232 = HEAP32[$6>>2]|0; + $233 = ((($232)) + 28|0); + HEAP32[$233>>2] = 1; + $234 = HEAP32[$1>>2]|0; + $235 = ((($234)) + 420|0); + $236 = HEAP32[$235>>2]|0; + HEAP32[$pTab>>2] = $236; } else { label = 50; } @@ -140626,479 +141881,479 @@ function _lookupName($pParse,$zDb,$zTab,$zCol,$pNC,$pExpr) { do { if ((label|0) == 50) { label = 0; - $238 = HEAP32[$op>>2]|0; - $239 = ($238|0)!=(108); - if ($239) { - $240 = HEAP32[$3>>2]|0; - $241 = (_sqlite3_stricmp(30799,$240)|0); - $242 = ($241|0)==(0); - if ($242) { - $243 = HEAP32[$6>>2]|0; - $244 = ((($243)) + 28|0); - HEAP32[$244>>2] = 0; - $245 = HEAP32[$1>>2]|0; - $246 = ((($245)) + 420|0); - $247 = HEAP32[$246>>2]|0; - HEAP32[$pTab>>2] = $247; + $237 = HEAP32[$op>>2]|0; + $238 = ($237|0)!=(108); + if ($238) { + $239 = HEAP32[$3>>2]|0; + $240 = (_sqlite3StrICmp(30524,$239)|0); + $241 = ($240|0)==(0); + if ($241) { + $242 = HEAP32[$6>>2]|0; + $243 = ((($242)) + 28|0); + HEAP32[$243>>2] = 0; + $244 = HEAP32[$1>>2]|0; + $245 = ((($244)) + 420|0); + $246 = HEAP32[$245>>2]|0; + HEAP32[$pTab>>2] = $246; break; } } HEAP32[$pTab>>2] = 0; } } while(0); - $248 = HEAP32[$pTab>>2]|0; - $249 = ($248|0)!=(0|0); - if ($249) { - $250 = HEAP32[$pTab>>2]|0; - $251 = ((($250)) + 64|0); - $252 = HEAP32[$251>>2]|0; - HEAP32[$pSchema>>2] = $252; - $253 = HEAP32[$cntTab>>2]|0; - $254 = (($253) + 1)|0; - HEAP32[$cntTab>>2] = $254; + $247 = HEAP32[$pTab>>2]|0; + $248 = ($247|0)!=(0|0); + if ($248) { + $249 = HEAP32[$pTab>>2]|0; + $250 = ((($249)) + 64|0); + $251 = HEAP32[$250>>2]|0; + HEAP32[$pSchema>>2] = $251; + $252 = HEAP32[$cntTab>>2]|0; + $253 = (($252) + 1)|0; + HEAP32[$cntTab>>2] = $253; HEAP32[$iCol>>2] = 0; - $255 = HEAP32[$pTab>>2]|0; - $256 = ((($255)) + 4|0); - $257 = HEAP32[$256>>2]|0; - HEAP32[$pCol>>2] = $257; + $254 = HEAP32[$pTab>>2]|0; + $255 = ((($254)) + 4|0); + $256 = HEAP32[$255>>2]|0; + HEAP32[$pCol>>2] = $256; while(1) { - $258 = HEAP32[$iCol>>2]|0; - $259 = HEAP32[$pTab>>2]|0; - $260 = ((($259)) + 34|0); - $261 = HEAP16[$260>>1]|0; - $262 = $261 << 16 >> 16; - $263 = ($258|0)<($262|0); - if (!($263)) { + $257 = HEAP32[$iCol>>2]|0; + $258 = HEAP32[$pTab>>2]|0; + $259 = ((($258)) + 34|0); + $260 = HEAP16[$259>>1]|0; + $261 = $260 << 16 >> 16; + $262 = ($257|0)<($261|0); + if (!($262)) { break; } - $264 = HEAP32[$pCol>>2]|0; - $265 = HEAP32[$264>>2]|0; - $266 = HEAP32[$4>>2]|0; - $267 = (_sqlite3_stricmp($265,$266)|0); - $268 = ($267|0)==(0); - $269 = HEAP32[$iCol>>2]|0; - if ($268) { + $263 = HEAP32[$pCol>>2]|0; + $264 = HEAP32[$263>>2]|0; + $265 = HEAP32[$4>>2]|0; + $266 = (_sqlite3StrICmp($264,$265)|0); + $267 = ($266|0)==(0); + $268 = HEAP32[$iCol>>2]|0; + if ($267) { label = 58; break; } - $275 = (($269) + 1)|0; - HEAP32[$iCol>>2] = $275; - $276 = HEAP32[$pCol>>2]|0; - $277 = ((($276)) + 24|0); - HEAP32[$pCol>>2] = $277; + $274 = (($268) + 1)|0; + HEAP32[$iCol>>2] = $274; + $275 = HEAP32[$pCol>>2]|0; + $276 = ((($275)) + 16|0); + HEAP32[$pCol>>2] = $276; } if ((label|0) == 58) { label = 0; - $270 = HEAP32[$pTab>>2]|0; - $271 = ((($270)) + 32|0); - $272 = HEAP16[$271>>1]|0; - $273 = $272 << 16 >> 16; - $274 = ($269|0)==($273|0); - if ($274) { + $269 = HEAP32[$pTab>>2]|0; + $270 = ((($269)) + 32|0); + $271 = HEAP16[$270>>1]|0; + $272 = $271 << 16 >> 16; + $273 = ($268|0)==($272|0); + if ($273) { HEAP32[$iCol>>2] = -1; } } - $278 = HEAP32[$iCol>>2]|0; - $279 = HEAP32[$pTab>>2]|0; - $280 = ((($279)) + 34|0); - $281 = HEAP16[$280>>1]|0; - $282 = $281 << 16 >> 16; - $283 = ($278|0)>=($282|0); - if ($283) { - $284 = HEAP32[$4>>2]|0; - $285 = (_sqlite3IsRowid($284)|0); - $286 = ($285|0)!=(0); - if ($286) { - $287 = HEAP32[$pTab>>2]|0; - $288 = ((($287)) + 42|0); - $289 = HEAP8[$288>>0]|0; - $290 = $289&255; - $291 = $290 & 64; - $292 = ($291|0)==(0); - if ($292) { + $277 = HEAP32[$iCol>>2]|0; + $278 = HEAP32[$pTab>>2]|0; + $279 = ((($278)) + 34|0); + $280 = HEAP16[$279>>1]|0; + $281 = $280 << 16 >> 16; + $282 = ($277|0)>=($281|0); + if ($282) { + $283 = HEAP32[$4>>2]|0; + $284 = (_sqlite3IsRowid($283)|0); + $285 = ($284|0)!=(0); + if ($285) { + $286 = HEAP32[$pTab>>2]|0; + $287 = ((($286)) + 42|0); + $288 = HEAP8[$287>>0]|0; + $289 = $288&255; + $290 = $289 & 64; + $291 = ($290|0)==(0); + if ($291) { HEAP32[$iCol>>2] = -1; } } } - $293 = HEAP32[$iCol>>2]|0; - $294 = HEAP32[$pTab>>2]|0; - $295 = ((($294)) + 34|0); - $296 = HEAP16[$295>>1]|0; - $297 = $296 << 16 >> 16; - $298 = ($293|0)<($297|0); - if ($298) { - $299 = HEAP32[$cnt>>2]|0; - $300 = (($299) + 1)|0; - HEAP32[$cnt>>2] = $300; - $301 = HEAP32[$iCol>>2]|0; - $302 = ($301|0)<(0); - $303 = HEAP32[$6>>2]|0; + $292 = HEAP32[$iCol>>2]|0; + $293 = HEAP32[$pTab>>2]|0; + $294 = ((($293)) + 34|0); + $295 = HEAP16[$294>>1]|0; + $296 = $295 << 16 >> 16; + $297 = ($292|0)<($296|0); + if ($297) { + $298 = HEAP32[$cnt>>2]|0; + $299 = (($298) + 1)|0; + HEAP32[$cnt>>2] = $299; + $300 = HEAP32[$iCol>>2]|0; + $301 = ($300|0)<(0); + $302 = HEAP32[$6>>2]|0; do { - if ($302) { - $304 = ((($303)) + 1|0); - HEAP8[$304>>0] = 68; + if ($301) { + $303 = ((($302)) + 1|0); + HEAP8[$303>>0] = 68; } else { - $305 = ((($303)) + 28|0); - $306 = HEAP32[$305>>2]|0; - $307 = ($306|0)==(0); - $308 = HEAP32[$iCol>>2]|0; - $309 = ($308|0)>=(32); - $310 = HEAP32[$iCol>>2]|0; - $311 = 1 << $310; - $312 = $309 ? -1 : $311; - $313 = HEAP32[$1>>2]|0; - if ($307) { - $314 = ((($313)) + 432|0); - $315 = HEAP32[$314>>2]|0; - $316 = $315 | $312; - HEAP32[$314>>2] = $316; + $304 = ((($302)) + 28|0); + $305 = HEAP32[$304>>2]|0; + $306 = ($305|0)==(0); + $307 = HEAP32[$iCol>>2]|0; + $308 = ($307|0)>=(32); + $309 = HEAP32[$iCol>>2]|0; + $310 = 1 << $309; + $311 = $308 ? -1 : $310; + $312 = HEAP32[$1>>2]|0; + if ($306) { + $313 = ((($312)) + 432|0); + $314 = HEAP32[$313>>2]|0; + $315 = $314 | $311; + HEAP32[$313>>2] = $315; break; } else { - $317 = ((($313)) + 436|0); - $318 = HEAP32[$317>>2]|0; - $319 = $318 | $312; - HEAP32[$317>>2] = $319; + $316 = ((($312)) + 436|0); + $317 = HEAP32[$316>>2]|0; + $318 = $317 | $311; + HEAP32[$316>>2] = $318; break; } } } while(0); - $320 = HEAP32[$iCol>>2]|0; - $321 = $320&65535; - $322 = HEAP32[$6>>2]|0; - $323 = ((($322)) + 32|0); - HEAP16[$323>>1] = $321; - $324 = HEAP32[$pTab>>2]|0; - $325 = HEAP32[$6>>2]|0; - $326 = ((($325)) + 44|0); - HEAP32[$326>>2] = $324; + $319 = HEAP32[$iCol>>2]|0; + $320 = $319&65535; + $321 = HEAP32[$6>>2]|0; + $322 = ((($321)) + 32|0); + HEAP16[$322>>1] = $320; + $323 = HEAP32[$pTab>>2]|0; + $324 = HEAP32[$6>>2]|0; + $325 = ((($324)) + 44|0); + HEAP32[$325>>2] = $323; HEAP32[$isTrigger>>2] = 1; } } } } - $327 = HEAP32[$cnt>>2]|0; - $328 = ($327|0)==(0); - $329 = HEAP32[$cntTab>>2]|0; - $330 = ($329|0)==(1); - $or$cond7 = $328 & $330; - $331 = HEAP32[$pMatch>>2]|0; - $332 = ($331|0)!=(0|0); - $or$cond9 = $or$cond7 & $332; + $326 = HEAP32[$cnt>>2]|0; + $327 = ($326|0)==(0); + $328 = HEAP32[$cntTab>>2]|0; + $329 = ($328|0)==(1); + $or$cond7 = $327 & $329; + $330 = HEAP32[$pMatch>>2]|0; + $331 = ($330|0)!=(0|0); + $or$cond9 = $or$cond7 & $331; if ($or$cond9) { - $333 = HEAP32[$5>>2]|0; - $334 = ((($333)) + 28|0); - $335 = HEAP16[$334>>1]|0; - $336 = $335&65535; - $337 = $336 & 32; - $338 = ($337|0)==(0); - if ($338) { - $339 = HEAP32[$4>>2]|0; - $340 = (_sqlite3IsRowid($339)|0); - $341 = ($340|0)!=(0); - if ($341) { - $342 = HEAP32[$pMatch>>2]|0; - $343 = ((($342)) + 16|0); - $344 = HEAP32[$343>>2]|0; - $345 = ((($344)) + 42|0); - $346 = HEAP8[$345>>0]|0; - $347 = $346&255; - $348 = $347 & 64; - $349 = ($348|0)==(0); - if ($349) { + $332 = HEAP32[$5>>2]|0; + $333 = ((($332)) + 28|0); + $334 = HEAP16[$333>>1]|0; + $335 = $334&65535; + $336 = $335 & 32; + $337 = ($336|0)==(0); + if ($337) { + $338 = HEAP32[$4>>2]|0; + $339 = (_sqlite3IsRowid($338)|0); + $340 = ($339|0)!=(0); + if ($340) { + $341 = HEAP32[$pMatch>>2]|0; + $342 = ((($341)) + 16|0); + $343 = HEAP32[$342>>2]|0; + $344 = ((($343)) + 42|0); + $345 = HEAP8[$344>>0]|0; + $346 = $345&255; + $347 = $346 & 64; + $348 = ($347|0)==(0); + if ($348) { HEAP32[$cnt>>2] = 1; - $350 = HEAP32[$6>>2]|0; - $351 = ((($350)) + 32|0); - HEAP16[$351>>1] = -1; - $352 = HEAP32[$6>>2]|0; - $353 = ((($352)) + 1|0); - HEAP8[$353>>0] = 68; + $349 = HEAP32[$6>>2]|0; + $350 = ((($349)) + 32|0); + HEAP16[$350>>1] = -1; + $351 = HEAP32[$6>>2]|0; + $352 = ((($351)) + 1|0); + HEAP8[$352>>0] = 68; } } } } - $354 = HEAP32[$5>>2]|0; - $355 = ((($354)) + 8|0); - $356 = HEAP32[$355>>2]|0; - HEAP32[$pEList>>2] = $356; - $357 = ($356|0)!=(0|0); - $358 = HEAP32[$3>>2]|0; - $359 = ($358|0)==(0|0); - $or$cond11 = $357 & $359; - $360 = HEAP32[$cnt>>2]|0; - $361 = ($360|0)==(0); - $or$cond13 = $or$cond11 & $361; + $353 = HEAP32[$5>>2]|0; + $354 = ((($353)) + 8|0); + $355 = HEAP32[$354>>2]|0; + HEAP32[$pEList>>2] = $355; + $356 = ($355|0)!=(0|0); + $357 = HEAP32[$3>>2]|0; + $358 = ($357|0)==(0|0); + $or$cond11 = $356 & $358; + $359 = HEAP32[$cnt>>2]|0; + $360 = ($359|0)==(0); + $or$cond13 = $or$cond11 & $360; L105: do { if ($or$cond13) { HEAP32[$j>>2] = 0; while(1) { - $362 = HEAP32[$j>>2]|0; - $363 = HEAP32[$pEList>>2]|0; - $364 = HEAP32[$363>>2]|0; - $365 = ($362|0)<($364|0); - if (!($365)) { + $361 = HEAP32[$j>>2]|0; + $362 = HEAP32[$pEList>>2]|0; + $363 = HEAP32[$362>>2]|0; + $364 = ($361|0)<($363|0); + if (!($364)) { break L105; } - $366 = HEAP32[$j>>2]|0; - $367 = HEAP32[$pEList>>2]|0; - $368 = ((($367)) + 4|0); - $369 = HEAP32[$368>>2]|0; - $370 = (($369) + (($366*20)|0)|0); - $371 = ((($370)) + 4|0); - $372 = HEAP32[$371>>2]|0; - HEAP32[$zAs>>2] = $372; - $373 = HEAP32[$zAs>>2]|0; - $374 = ($373|0)!=(0|0); - if ($374) { - $375 = HEAP32[$zAs>>2]|0; - $376 = HEAP32[$4>>2]|0; - $377 = (_sqlite3_stricmp($375,$376)|0); - $378 = ($377|0)==(0); - if ($378) { + $365 = HEAP32[$j>>2]|0; + $366 = HEAP32[$pEList>>2]|0; + $367 = ((($366)) + 4|0); + $368 = HEAP32[$367>>2]|0; + $369 = (($368) + (($365*20)|0)|0); + $370 = ((($369)) + 4|0); + $371 = HEAP32[$370>>2]|0; + HEAP32[$zAs>>2] = $371; + $372 = HEAP32[$zAs>>2]|0; + $373 = ($372|0)!=(0|0); + if ($373) { + $374 = HEAP32[$zAs>>2]|0; + $375 = HEAP32[$4>>2]|0; + $376 = (_sqlite3StrICmp($374,$375)|0); + $377 = ($376|0)==(0); + if ($377) { label = 82; break L11; } } - $403 = HEAP32[$j>>2]|0; - $404 = (($403) + 1)|0; - HEAP32[$j>>2] = $404; + $402 = HEAP32[$j>>2]|0; + $403 = (($402) + 1)|0; + HEAP32[$j>>2] = $403; } } } while(0); - $405 = HEAP32[$cnt>>2]|0; - $406 = ($405|0)==(0); - if (!($406)) { + $404 = HEAP32[$cnt>>2]|0; + $405 = ($404|0)==(0); + if (!($405)) { continue; } - $407 = HEAP32[$5>>2]|0; - $408 = ((($407)) + 16|0); - $409 = HEAP32[$408>>2]|0; - HEAP32[$5>>2] = $409; - $410 = HEAP32[$nSubquery>>2]|0; - $411 = (($410) + 1)|0; - HEAP32[$nSubquery>>2] = $411; + $406 = HEAP32[$5>>2]|0; + $407 = ((($406)) + 16|0); + $408 = HEAP32[$407>>2]|0; + HEAP32[$5>>2] = $408; + $409 = HEAP32[$nSubquery>>2]|0; + $410 = (($409) + 1)|0; + HEAP32[$nSubquery>>2] = $410; } if ((label|0) == 82) { - $379 = HEAP32[$j>>2]|0; - $380 = HEAP32[$pEList>>2]|0; - $381 = ((($380)) + 4|0); - $382 = HEAP32[$381>>2]|0; - $383 = (($382) + (($379*20)|0)|0); - $384 = HEAP32[$383>>2]|0; - HEAP32[$pOrig>>2] = $384; - $385 = HEAP32[$5>>2]|0; - $386 = ((($385)) + 28|0); - $387 = HEAP16[$386>>1]|0; - $388 = $387&65535; - $389 = $388 & 1; - $390 = ($389|0)==(0); - if ($390) { - $391 = HEAP32[$pOrig>>2]|0; - $392 = ((($391)) + 4|0); - $393 = HEAP32[$392>>2]|0; - $394 = $393 & 2; - $395 = ($394|0)!=(0); - if ($395) { - $396 = HEAP32[$1>>2]|0; - $397 = HEAP32[$zAs>>2]|0; - HEAP32[$vararg_buffer>>2] = $397; - _sqlite3ErrorMsg($396,30803,$vararg_buffer); + $378 = HEAP32[$j>>2]|0; + $379 = HEAP32[$pEList>>2]|0; + $380 = ((($379)) + 4|0); + $381 = HEAP32[$380>>2]|0; + $382 = (($381) + (($378*20)|0)|0); + $383 = HEAP32[$382>>2]|0; + HEAP32[$pOrig>>2] = $383; + $384 = HEAP32[$5>>2]|0; + $385 = ((($384)) + 28|0); + $386 = HEAP16[$385>>1]|0; + $387 = $386&65535; + $388 = $387 & 1; + $389 = ($388|0)==(0); + if ($389) { + $390 = HEAP32[$pOrig>>2]|0; + $391 = ((($390)) + 4|0); + $392 = HEAP32[$391>>2]|0; + $393 = $392 & 2; + $394 = ($393|0)!=(0); + if ($394) { + $395 = HEAP32[$1>>2]|0; + $396 = HEAP32[$zAs>>2]|0; + HEAP32[$vararg_buffer>>2] = $396; + _sqlite3ErrorMsg($395,30528,$vararg_buffer); HEAP32[$0>>2] = 2; - $519 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($519|0); + $518 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($518|0); } } - $398 = HEAP32[$1>>2]|0; - $399 = HEAP32[$pEList>>2]|0; - $400 = HEAP32[$j>>2]|0; - $401 = HEAP32[$6>>2]|0; - $402 = HEAP32[$nSubquery>>2]|0; - _resolveAlias($398,$399,$400,$401,19266,$402); + $397 = HEAP32[$1>>2]|0; + $398 = HEAP32[$pEList>>2]|0; + $399 = HEAP32[$j>>2]|0; + $400 = HEAP32[$6>>2]|0; + $401 = HEAP32[$nSubquery>>2]|0; + _resolveAlias($397,$398,$399,$400,19010,$401); HEAP32[$cnt>>2] = 1; HEAP32[$pMatch>>2] = 0; } else if ((label|0) == 89) { - $412 = HEAP32[$cnt>>2]|0; - $413 = ($412|0)==(0); - $414 = HEAP32[$3>>2]|0; - $415 = ($414|0)==(0|0); - $or$cond15 = $413 & $415; + $411 = HEAP32[$cnt>>2]|0; + $412 = ($411|0)==(0); + $413 = HEAP32[$3>>2]|0; + $414 = ($413|0)==(0|0); + $or$cond15 = $412 & $414; if ($or$cond15) { - $416 = HEAP32[$6>>2]|0; - $417 = ((($416)) + 4|0); - $418 = HEAP32[$417>>2]|0; - $419 = $418 & 64; - $420 = ($419|0)!=(0); - if ($420) { + $415 = HEAP32[$6>>2]|0; + $416 = ((($415)) + 4|0); + $417 = HEAP32[$416>>2]|0; + $418 = $417 & 64; + $419 = ($418|0)!=(0); + if ($419) { + $420 = HEAP32[$6>>2]|0; + HEAP8[$420>>0] = 97; $421 = HEAP32[$6>>2]|0; - HEAP8[$421>>0] = 97; - $422 = HEAP32[$6>>2]|0; - $423 = ((($422)) + 44|0); - HEAP32[$423>>2] = 0; + $422 = ((($421)) + 44|0); + HEAP32[$422>>2] = 0; HEAP32[$0>>2] = 1; - $519 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($519|0); - } - } - $424 = HEAP32[$cnt>>2]|0; - $425 = ($424|0)!=(1); - if ($425) { - $426 = HEAP32[$cnt>>2]|0; - $427 = ($426|0)==(0); - $428 = $427 ? 30834 : 30849; - HEAP32[$zErr>>2] = $428; - $429 = HEAP32[$2>>2]|0; - $430 = ($429|0)!=(0|0); + $518 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($518|0); + } + } + $423 = HEAP32[$cnt>>2]|0; + $424 = ($423|0)!=(1); + if ($424) { + $425 = HEAP32[$cnt>>2]|0; + $426 = ($425|0)==(0); + $427 = $426 ? 30559 : 30574; + HEAP32[$zErr>>2] = $427; + $428 = HEAP32[$2>>2]|0; + $429 = ($428|0)!=(0|0); do { - if ($430) { - $431 = HEAP32[$1>>2]|0; - $432 = HEAP32[$zErr>>2]|0; - $433 = HEAP32[$2>>2]|0; - $434 = HEAP32[$3>>2]|0; - $435 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer18>>2] = $432; + if ($429) { + $430 = HEAP32[$1>>2]|0; + $431 = HEAP32[$zErr>>2]|0; + $432 = HEAP32[$2>>2]|0; + $433 = HEAP32[$3>>2]|0; + $434 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer18>>2] = $431; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $433; + HEAP32[$vararg_ptr21>>2] = $432; $vararg_ptr22 = ((($vararg_buffer18)) + 8|0); - HEAP32[$vararg_ptr22>>2] = $434; + HEAP32[$vararg_ptr22>>2] = $433; $vararg_ptr23 = ((($vararg_buffer18)) + 12|0); - HEAP32[$vararg_ptr23>>2] = $435; - _sqlite3ErrorMsg($431,30871,$vararg_buffer18); + HEAP32[$vararg_ptr23>>2] = $434; + _sqlite3ErrorMsg($430,30596,$vararg_buffer18); } else { - $436 = HEAP32[$3>>2]|0; - $437 = ($436|0)!=(0|0); - $438 = HEAP32[$1>>2]|0; - $439 = HEAP32[$zErr>>2]|0; - if ($437) { - $440 = HEAP32[$3>>2]|0; - $441 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer24>>2] = $439; + $435 = HEAP32[$3>>2]|0; + $436 = ($435|0)!=(0|0); + $437 = HEAP32[$1>>2]|0; + $438 = HEAP32[$zErr>>2]|0; + if ($436) { + $439 = HEAP32[$3>>2]|0; + $440 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer24>>2] = $438; $vararg_ptr27 = ((($vararg_buffer24)) + 4|0); - HEAP32[$vararg_ptr27>>2] = $440; + HEAP32[$vararg_ptr27>>2] = $439; $vararg_ptr28 = ((($vararg_buffer24)) + 8|0); - HEAP32[$vararg_ptr28>>2] = $441; - _sqlite3ErrorMsg($438,30884,$vararg_buffer24); + HEAP32[$vararg_ptr28>>2] = $440; + _sqlite3ErrorMsg($437,30609,$vararg_buffer24); break; } else { - $442 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer29>>2] = $439; + $441 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer29>>2] = $438; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $442; - _sqlite3ErrorMsg($438,30894,$vararg_buffer29); + HEAP32[$vararg_ptr32>>2] = $441; + _sqlite3ErrorMsg($437,30619,$vararg_buffer29); break; } } } while(0); - $443 = HEAP32[$1>>2]|0; - $444 = ((($443)) + 17|0); - HEAP8[$444>>0] = 1; - $445 = HEAP32[$pTopNC>>2]|0; - $446 = ((($445)) + 24|0); - $447 = HEAP32[$446>>2]|0; - $448 = (($447) + 1)|0; - HEAP32[$446>>2] = $448; - } - $449 = HEAP32[$6>>2]|0; - $450 = ((($449)) + 32|0); - $451 = HEAP16[$450>>1]|0; - $452 = $451 << 16 >> 16; - $453 = ($452|0)>=(0); - $454 = HEAP32[$pMatch>>2]|0; - $455 = ($454|0)!=(0|0); - $or$cond17 = $453 & $455; + $442 = HEAP32[$1>>2]|0; + $443 = ((($442)) + 17|0); + HEAP8[$443>>0] = 1; + $444 = HEAP32[$pTopNC>>2]|0; + $445 = ((($444)) + 24|0); + $446 = HEAP32[$445>>2]|0; + $447 = (($446) + 1)|0; + HEAP32[$445>>2] = $447; + } + $448 = HEAP32[$6>>2]|0; + $449 = ((($448)) + 32|0); + $450 = HEAP16[$449>>1]|0; + $451 = $450 << 16 >> 16; + $452 = ($451|0)>=(0); + $453 = HEAP32[$pMatch>>2]|0; + $454 = ($453|0)!=(0|0); + $or$cond17 = $452 & $454; if ($or$cond17) { - $456 = HEAP32[$6>>2]|0; - $457 = ((($456)) + 32|0); - $458 = HEAP16[$457>>1]|0; - $459 = $458 << 16 >> 16; - HEAP32[$n>>2] = $459; - $460 = HEAP32[$n>>2]|0; - $461 = ($460|0)>=(64); - $$ = $461 ? 63 : $459; + $455 = HEAP32[$6>>2]|0; + $456 = ((($455)) + 32|0); + $457 = HEAP16[$456>>1]|0; + $458 = $457 << 16 >> 16; + HEAP32[$n>>2] = $458; + $459 = HEAP32[$n>>2]|0; + $460 = ($459|0)>=(64); + $$ = $460 ? 63 : $458; HEAP32[$n>>2] = $$; - $462 = HEAP32[$n>>2]|0; - $463 = (_bitshift64Shl(1,0,($462|0))|0); - $464 = tempRet0; - $465 = HEAP32[$pMatch>>2]|0; - $466 = ((($465)) + 56|0); + $461 = HEAP32[$n>>2]|0; + $462 = (_bitshift64Shl(1,0,($461|0))|0); + $463 = tempRet0; + $464 = HEAP32[$pMatch>>2]|0; + $465 = ((($464)) + 56|0); + $466 = $465; $467 = $466; - $468 = $467; - $469 = HEAP32[$468>>2]|0; - $470 = (($467) + 4)|0; - $471 = $470; - $472 = HEAP32[$471>>2]|0; - $473 = $469 | $463; - $474 = $472 | $464; - $475 = $466; - $476 = $475; - HEAP32[$476>>2] = $473; - $477 = (($475) + 4)|0; - $478 = $477; - HEAP32[$478>>2] = $474; - } - $479 = HEAP32[$db>>2]|0; - $480 = HEAP32[$6>>2]|0; - $481 = ((($480)) + 12|0); - $482 = HEAP32[$481>>2]|0; - _sqlite3ExprDelete($479,$482); - $483 = HEAP32[$6>>2]|0; - $484 = ((($483)) + 12|0); - HEAP32[$484>>2] = 0; - $485 = HEAP32[$db>>2]|0; - $486 = HEAP32[$6>>2]|0; - $487 = ((($486)) + 16|0); - $488 = HEAP32[$487>>2]|0; - _sqlite3ExprDelete($485,$488); - $489 = HEAP32[$6>>2]|0; - $490 = ((($489)) + 16|0); - HEAP32[$490>>2] = 0; - $491 = HEAP32[$isTrigger>>2]|0; - $492 = ($491|0)!=(0); - $493 = $492 ? 62 : 152; - $494 = $493&255; - $495 = HEAP32[$6>>2]|0; - HEAP8[$495>>0] = $494; - } - $496 = HEAP32[$cnt>>2]|0; - $497 = ($496|0)==(1); - if (!($497)) { + $468 = HEAP32[$467>>2]|0; + $469 = (($466) + 4)|0; + $470 = $469; + $471 = HEAP32[$470>>2]|0; + $472 = $468 | $462; + $473 = $471 | $463; + $474 = $465; + $475 = $474; + HEAP32[$475>>2] = $472; + $476 = (($474) + 4)|0; + $477 = $476; + HEAP32[$477>>2] = $473; + } + $478 = HEAP32[$db>>2]|0; + $479 = HEAP32[$6>>2]|0; + $480 = ((($479)) + 12|0); + $481 = HEAP32[$480>>2]|0; + _sqlite3ExprDelete($478,$481); + $482 = HEAP32[$6>>2]|0; + $483 = ((($482)) + 12|0); + HEAP32[$483>>2] = 0; + $484 = HEAP32[$db>>2]|0; + $485 = HEAP32[$6>>2]|0; + $486 = ((($485)) + 16|0); + $487 = HEAP32[$486>>2]|0; + _sqlite3ExprDelete($484,$487); + $488 = HEAP32[$6>>2]|0; + $489 = ((($488)) + 16|0); + HEAP32[$489>>2] = 0; + $490 = HEAP32[$isTrigger>>2]|0; + $491 = ($490|0)!=(0); + $492 = $491 ? 62 : 152; + $493 = $492&255; + $494 = HEAP32[$6>>2]|0; + HEAP8[$494>>0] = $493; + } + $495 = HEAP32[$cnt>>2]|0; + $496 = ($495|0)==(1); + if (!($496)) { HEAP32[$0>>2] = 2; - $519 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($519|0); + $518 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($518|0); } - $498 = HEAP32[$6>>2]|0; - $499 = ((($498)) + 4|0); - $500 = HEAP32[$499>>2]|0; - $501 = $500 & 4194304; - $502 = ($501|0)!=(0); - if (!($502)) { - $503 = HEAP32[$1>>2]|0; - $504 = HEAP32[$6>>2]|0; - $505 = HEAP32[$pSchema>>2]|0; - $506 = HEAP32[$5>>2]|0; - $507 = ((($506)) + 4|0); - $508 = HEAP32[$507>>2]|0; - _sqlite3AuthRead($503,$504,$505,$508); + $497 = HEAP32[$6>>2]|0; + $498 = ((($497)) + 4|0); + $499 = HEAP32[$498>>2]|0; + $500 = $499 & 4194304; + $501 = ($500|0)!=(0); + if (!($501)) { + $502 = HEAP32[$1>>2]|0; + $503 = HEAP32[$6>>2]|0; + $504 = HEAP32[$pSchema>>2]|0; + $505 = HEAP32[$5>>2]|0; + $506 = ((($505)) + 4|0); + $507 = HEAP32[$506>>2]|0; + _sqlite3AuthRead($502,$503,$504,$507); } while(1) { - $509 = HEAP32[$pTopNC>>2]|0; - $510 = ((($509)) + 20|0); - $511 = HEAP32[$510>>2]|0; - $512 = (($511) + 1)|0; - HEAP32[$510>>2] = $512; - $513 = HEAP32[$pTopNC>>2]|0; - $514 = HEAP32[$5>>2]|0; - $515 = ($513|0)==($514|0); - if ($515) { - break; - } - $516 = HEAP32[$pTopNC>>2]|0; - $517 = ((($516)) + 16|0); - $518 = HEAP32[$517>>2]|0; - HEAP32[$pTopNC>>2] = $518; + $508 = HEAP32[$pTopNC>>2]|0; + $509 = ((($508)) + 20|0); + $510 = HEAP32[$509>>2]|0; + $511 = (($510) + 1)|0; + HEAP32[$509>>2] = $511; + $512 = HEAP32[$pTopNC>>2]|0; + $513 = HEAP32[$5>>2]|0; + $514 = ($512|0)==($513|0); + if ($514) { + break; + } + $515 = HEAP32[$pTopNC>>2]|0; + $516 = ((($515)) + 16|0); + $517 = HEAP32[$516>>2]|0; + HEAP32[$pTopNC>>2] = $517; } HEAP32[$0>>2] = 1; - $519 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($519|0); + $518 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($518|0); } function _notValid($pParse,$pNC,$zMsg,$validMask) { $pParse = $pParse|0; @@ -141129,7 +142384,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { if (!($10)) { STACKTOP = sp;return; } - HEAP32[$zIn>>2] = 30711; + HEAP32[$zIn>>2] = 30436; $11 = HEAP32[$1>>2]|0; $12 = ((($11)) + 28|0); $13 = HEAP16[$12>>1]|0; @@ -141137,7 +142392,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { $15 = $14 & 32; $16 = ($15|0)!=(0); if ($16) { - HEAP32[$zIn>>2] = 30739; + HEAP32[$zIn>>2] = 30464; } else { $17 = HEAP32[$1>>2]|0; $18 = ((($17)) + 28|0); @@ -141146,7 +142401,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { $21 = $20 & 4; $22 = ($21|0)!=(0); if ($22) { - HEAP32[$zIn>>2] = 30757; + HEAP32[$zIn>>2] = 30482; } } $23 = HEAP32[$0>>2]|0; @@ -141155,7 +142410,7 @@ function _notValid($pParse,$pNC,$zMsg,$validMask) { HEAP32[$vararg_buffer>>2] = $24; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $25; - _sqlite3ErrorMsg($23,30775,$vararg_buffer); + _sqlite3ErrorMsg($23,30500,$vararg_buffer); STACKTOP = sp;return; } function _exprProbability($p) { @@ -141465,7 +142720,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $49 = HEAP32[$1>>2]|0; $50 = HEAP8[$49>>0]|0; $51 = $50&255; - $52 = (19267 + ($51)|0); + $52 = (19011 + ($51)|0); $53 = HEAP8[$52>>0]|0; $54 = $53&255; $55 = $54 & 1; @@ -141540,7 +142795,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $92 = HEAP32[$1>>2]|0; $93 = HEAP8[$92>>0]|0; $94 = $93&255; - $95 = (19267 + ($94)|0); + $95 = (19011 + ($94)|0); $96 = HEAP8[$95>>0]|0; $97 = $96&255; $98 = $97 & 4; @@ -141600,7 +142855,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $139 = HEAP32[$1>>2]|0; $140 = HEAP8[$139>>0]|0; $141 = $140&255; - $142 = (19267 + ($141)|0); + $142 = (19011 + ($141)|0); $143 = HEAP8[$142>>0]|0; $144 = $143&255; $145 = $144 & 4; @@ -141644,7 +142899,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $167 = HEAP32[$1>>2]|0; $168 = HEAP8[$167>>0]|0; $169 = $168&255; - $170 = (19267 + ($169)|0); + $170 = (19011 + ($169)|0); $171 = HEAP8[$170>>0]|0; $172 = $171&255; $173 = $172 & 4; @@ -141707,7 +142962,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $216 = HEAP32[$1>>2]|0; $217 = HEAP8[$216>>0]|0; $218 = $217&255; - $219 = (19267 + ($218)|0); + $219 = (19011 + ($218)|0); $220 = HEAP8[$219>>0]|0; $221 = $220&255; $222 = $221 & 4; @@ -141789,7 +143044,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $263 = HEAP32[$1>>2]|0; $264 = HEAP8[$263>>0]|0; $265 = $264&255; - $266 = (19267 + ($265)|0); + $266 = (19011 + ($265)|0); $267 = HEAP8[$266>>0]|0; $268 = $267&255; $269 = $268 & 4; @@ -141836,7 +143091,7 @@ function _sqlite3AtoF($z,$pResult,$length,$enc) { $291 = HEAP32[$1>>2]|0; $292 = HEAP8[$291>>0]|0; $293 = $292&255; - $294 = (19267 + ($293)|0); + $294 = (19011 + ($293)|0); $295 = HEAP8[$294>>0]|0; $296 = $295&255; $297 = $296 & 1; @@ -142273,7 +143528,7 @@ function _sqlite3MatchSpanName($zSpan,$zCol,$zTab,$zDb) { if ($68) { $69 = HEAP32[$1>>2]|0; $70 = HEAP32[$2>>2]|0; - $71 = (_sqlite3_stricmp($69,$70)|0); + $71 = (_sqlite3StrICmp($69,$70)|0); $72 = ($71|0)!=(0); if ($72) { HEAP32[$0>>2] = 0; @@ -142318,7 +143573,7 @@ function _nameInUsingClause($pUsing,$zCol) { $13 = (($12) + ($10<<3)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3_stricmp($14,$15)|0); + $16 = (_sqlite3StrICmp($14,$15)|0); $17 = ($16|0)==(0); if ($17) { break; @@ -142367,7 +143622,7 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { HEAP32[$db>>2] = $5; HEAP32[$pTab>>2] = 0; $6 = HEAP32[$db>>2]|0; - $7 = ((($6)) + 288|0); + $7 = ((($6)) + 296|0); $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==(0|0); if ($9) { @@ -142446,7 +143701,7 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { $53 = HEAP32[$pTab>>2]|0; $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; - $56 = (($55) + (($52*24)|0)|0); + $56 = (($55) + ($52<<4)|0); $57 = HEAP32[$56>>2]|0; HEAP32[$zCol>>2] = $57; } else { @@ -142463,12 +143718,12 @@ function _sqlite3AuthRead($pParse,$pExpr,$pSchema,$pTabList) { $67 = HEAP32[$pTab>>2]|0; $68 = ((($67)) + 4|0); $69 = HEAP32[$68>>2]|0; - $70 = (($69) + (($66*24)|0)|0); + $70 = (($69) + ($66<<4)|0); $71 = HEAP32[$70>>2]|0; HEAP32[$zCol>>2] = $71; break; } else { - HEAP32[$zCol>>2] = 20759; + HEAP32[$zCol>>2] = 20503; break; } } @@ -142521,10 +143776,10 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { $11 = HEAP32[$10>>2]|0; HEAP32[$zDb>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 288|0); + $13 = ((($12)) + 296|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 292|0); + $16 = ((($15)) + 300|0); $17 = HEAP32[$16>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = HEAP32[$2>>2]|0; @@ -142568,14 +143823,14 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { HEAP32[$vararg_ptr4>>2] = $35; $vararg_ptr5 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr5>>2] = $36; - _sqlite3ErrorMsg($33,30901,$vararg_buffer); + _sqlite3ErrorMsg($33,30626,$vararg_buffer); } else { $37 = HEAP32[$1>>2]|0; $38 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer6>>2] = $37; $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); HEAP32[$vararg_ptr9>>2] = $38; - _sqlite3ErrorMsg($33,30934,$vararg_buffer6); + _sqlite3ErrorMsg($33,30659,$vararg_buffer6); } $39 = HEAP32[$0>>2]|0; $40 = ((($39)) + 12|0); @@ -142586,13 +143841,13 @@ function _sqlite3AuthReadCol($pParse,$zTab,$zCol,$iDb) { function _convertCompoundSelectToSubquery($pWalker,$p) { $pWalker = $pWalker|0; $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0; - var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $dummy = 0, $i = 0, $pNew = 0, $pNewSrc = 0; - var $pParse = 0, $pX = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $dummy = 0, $i = 0, $pNew = 0, $pNewSrc = 0, $pParse = 0, $pX = 0, dest = 0, label = 0; + var sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -142609,22 +143864,22 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { HEAP32[$1>>2] = $pWalker; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 52|0); + $4 = ((($3)) + 48|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if ($6) { HEAP32[$0>>2] = 0; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 48|0); + $8 = ((($7)) + 44|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { HEAP32[$0>>2] = 0; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } $11 = HEAP32[$2>>2]|0; HEAP32[$pX>>2] = $11; @@ -142650,7 +143905,7 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { } } $24 = HEAP32[$pX>>2]|0; - $25 = ((($24)) + 52|0); + $25 = ((($24)) + 48|0); $26 = HEAP32[$25>>2]|0; HEAP32[$pX>>2] = $26; } @@ -142658,17 +143913,17 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $28 = ($27|0)==(0|0); if ($28) { HEAP32[$0>>2] = 0; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 48|0); + $30 = ((($29)) + 44|0); $31 = HEAP32[$30>>2]|0; $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; HEAP32[$a>>2] = $33; $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 48|0); + $35 = ((($34)) + 44|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$36>>2]|0; $38 = (($37) - 1)|0; @@ -142698,8 +143953,8 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $52 = ($51|0)<(0); if ($52) { HEAP32[$0>>2] = 0; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } $53 = HEAP32[$1>>2]|0; $54 = HEAP32[$53>>2]|0; @@ -142708,14 +143963,14 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $56 = HEAP32[$55>>2]|0; HEAP32[$db>>2] = $56; $57 = HEAP32[$db>>2]|0; - $58 = (_sqlite3DbMallocZero($57,72,0)|0); + $58 = (_sqlite3DbMallocZero($57,68,0)|0); HEAP32[$pNew>>2] = $58; $59 = HEAP32[$pNew>>2]|0; $60 = ($59|0)==(0|0); if ($60) { HEAP32[$0>>2] = 2; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } ;HEAP32[$dummy>>2]=0|0;HEAP32[$dummy+4>>2]=0|0; $61 = HEAP32[$pParse>>2]|0; @@ -142726,15 +143981,15 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $65 = ($64|0)==(0|0); if ($65) { HEAP32[$0>>2] = 2; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } else { $66 = HEAP32[$pNew>>2]|0; $67 = HEAP32[$2>>2]|0; - dest=$66; src=$67; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$66; src=$67; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $68 = HEAP32[$pNewSrc>>2]|0; $69 = HEAP32[$2>>2]|0; - $70 = ((($69)) + 32|0); + $70 = ((($69)) + 28|0); HEAP32[$70>>2] = $68; $71 = HEAP32[$pParse>>2]|0; $72 = HEAP32[$db>>2]|0; @@ -142746,55 +144001,51 @@ function _convertCompoundSelectToSubquery($pWalker,$p) { $77 = ((($76)) + 4|0); HEAP8[$77>>0] = 119; $78 = HEAP32[$2>>2]|0; - $79 = ((($78)) + 36|0); + $79 = ((($78)) + 32|0); HEAP32[$79>>2] = 0; $80 = HEAP32[$pNew>>2]|0; - $81 = ((($80)) + 40|0); + $81 = ((($80)) + 36|0); HEAP32[$81>>2] = 0; $82 = HEAP32[$pNew>>2]|0; - $83 = ((($82)) + 44|0); + $83 = ((($82)) + 40|0); HEAP32[$83>>2] = 0; $84 = HEAP32[$pNew>>2]|0; - $85 = ((($84)) + 48|0); + $85 = ((($84)) + 44|0); HEAP32[$85>>2] = 0; $86 = HEAP32[$2>>2]|0; - $87 = ((($86)) + 52|0); + $87 = ((($86)) + 48|0); HEAP32[$87>>2] = 0; $88 = HEAP32[$2>>2]|0; - $89 = ((($88)) + 56|0); + $89 = ((($88)) + 52|0); HEAP32[$89>>2] = 0; $90 = HEAP32[$2>>2]|0; - $91 = ((($90)) + 68|0); + $91 = ((($90)) + 64|0); HEAP32[$91>>2] = 0; $92 = HEAP32[$2>>2]|0; - $93 = ((($92)) + 6|0); - $94 = HEAP16[$93>>1]|0; - $95 = $94&65535; - $96 = $95 & -129; - $97 = $96&65535; - HEAP16[$93>>1] = $97; - $98 = HEAP32[$2>>2]|0; - $99 = ((($98)) + 6|0); - $100 = HEAP16[$99>>1]|0; - $101 = $100&65535; - $102 = $101 | 16384; - $103 = $102&65535; - HEAP16[$99>>1] = $103; - $104 = HEAP32[$pNew>>2]|0; + $93 = ((($92)) + 8|0); + $94 = HEAP32[$93>>2]|0; + $95 = $94 & -129; + HEAP32[$93>>2] = $95; + $96 = HEAP32[$2>>2]|0; + $97 = ((($96)) + 8|0); + $98 = HEAP32[$97>>2]|0; + $99 = $98 | 32768; + HEAP32[$97>>2] = $99; + $100 = HEAP32[$pNew>>2]|0; + $101 = HEAP32[$pNew>>2]|0; + $102 = ((($101)) + 48|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($103)) + 52|0); + HEAP32[$104>>2] = $100; $105 = HEAP32[$pNew>>2]|0; - $106 = ((($105)) + 52|0); - $107 = HEAP32[$106>>2]|0; - $108 = ((($107)) + 56|0); - HEAP32[$108>>2] = $104; - $109 = HEAP32[$pNew>>2]|0; - $110 = ((($109)) + 60|0); - HEAP32[$110>>2] = 0; - $111 = HEAP32[$pNew>>2]|0; - $112 = ((($111)) + 64|0); - HEAP32[$112>>2] = 0; + $106 = ((($105)) + 56|0); + HEAP32[$106>>2] = 0; + $107 = HEAP32[$pNew>>2]|0; + $108 = ((($107)) + 60|0); + HEAP32[$108>>2] = 0; HEAP32[$0>>2] = 0; - $113 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($113|0); + $109 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($109|0); } return (0)|0; } @@ -142825,12 +144076,12 @@ function _selectExpander($pWalker,$p) { var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; - var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $j = 0, $k = 0, $longNames = 0, $nCol = 0, $or$cond = 0, $or$cond3 = 0, $pE = 0, $pEList = 0, $pExpr = 0, $pFrom = 0; - var $pLeft = 0, $pNew = 0, $pParse = 0, $pRight = 0, $pSel = 0, $pSub = 0, $pTab = 0, $pTab1 = 0, $pTabList = 0, $pX = 0, $sColname = 0, $selFlags = 0, $tableSeen = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0; - var $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $zColname = 0, $zName = 0, $zSchemaName = 0, $zTName = 0, $zTabName = 0, $zToFree = 0, label = 0, sp = 0; + var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $a = 0, $db = 0, $flags = 0, $i = 0, $iDb = 0, $j = 0, $k = 0, $longNames = 0, $nCol = 0, $or$cond = 0, $or$cond3 = 0, $pE = 0, $pEList = 0, $pExpr = 0, $pFrom = 0, $pLeft = 0, $pNew = 0, $pParse = 0, $pRight = 0; + var $pSel = 0, $pSub = 0, $pTab = 0, $pTab1 = 0, $pTabList = 0, $pX = 0, $sColname = 0, $selFlags = 0, $tableSeen = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr15 = 0, $zColname = 0; + var $zName = 0, $zSchemaName = 0, $zTName = 0, $zTabName = 0, $zToFree = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 208|0; $vararg_buffer21 = sp + 56|0; @@ -142884,497 +144135,496 @@ function _selectExpander($pWalker,$p) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 6|0); - $9 = HEAP16[$8>>1]|0; - HEAP16[$selFlags>>1] = $9; - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 6|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12&65535; + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9&65535; + HEAP16[$selFlags>>1] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 8|0); + $13 = HEAP32[$12>>2]|0; $14 = $13 | 32; - $15 = $14&65535; - HEAP16[$11>>1] = $15; - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 65|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)!=(0); - if ($19) { + HEAP32[$12>>2] = $14; + $15 = HEAP32[$db>>2]|0; + $16 = ((($15)) + 69|0); + $17 = HEAP8[$16>>0]|0; + $18 = ($17<<24>>24)!=(0); + if ($18) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } - $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(0|0); - if (!($23)) { - $24 = HEAP16[$selFlags>>1]|0; - $25 = $24&65535; - $26 = $25 & 32; - $27 = ($26|0)!=(0); - if (!($27)) { - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 32|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$pTabList>>2] = $30; - $31 = HEAP32[$2>>2]|0; - $32 = HEAP32[$31>>2]|0; - HEAP32[$pEList>>2] = $32; - $33 = HEAP32[$1>>2]|0; - $34 = ((($33)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(132|0); - if ($36) { - $37 = HEAP32[$pParse>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = (_findRightmost($38)|0); - $40 = ((($39)) + 68|0); - $41 = HEAP32[$40>>2]|0; - _sqlite3WithPush($37,$41,0); + $19 = HEAP32[$2>>2]|0; + $20 = ((($19)) + 28|0); + $21 = HEAP32[$20>>2]|0; + $22 = ($21|0)==(0|0); + if (!($22)) { + $23 = HEAP16[$selFlags>>1]|0; + $24 = $23&65535; + $25 = $24 & 32; + $26 = ($25|0)!=(0); + if (!($26)) { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[$pTabList>>2] = $29; + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$30>>2]|0; + HEAP32[$pEList>>2] = $31; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 12|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(132|0); + if ($35) { + $36 = HEAP32[$pParse>>2]|0; + $37 = HEAP32[$2>>2]|0; + $38 = (_findRightmost($37)|0); + $39 = ((($38)) + 64|0); + $40 = HEAP32[$39>>2]|0; + _sqlite3WithPush($36,$40,0); } - $42 = HEAP32[$pParse>>2]|0; - $43 = HEAP32[$pTabList>>2]|0; - _sqlite3SrcListAssignCursors($42,$43); + $41 = HEAP32[$pParse>>2]|0; + $42 = HEAP32[$pTabList>>2]|0; + _sqlite3SrcListAssignCursors($41,$42); HEAP32[$i>>2] = 0; - $44 = HEAP32[$pTabList>>2]|0; - $45 = ((($44)) + 8|0); - HEAP32[$pFrom>>2] = $45; + $43 = HEAP32[$pTabList>>2]|0; + $44 = ((($43)) + 8|0); + HEAP32[$pFrom>>2] = $44; L11: while(1) { - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$pTabList>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = ($46|0)<($48|0); - if (!($49)) { + $45 = HEAP32[$i>>2]|0; + $46 = HEAP32[$pTabList>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = ($45|0)<($47|0); + if (!($48)) { label = 38; break; } - $50 = HEAP32[$pFrom>>2]|0; - $51 = ((($50)) + 36|0); - $52 = ((($51)) + 1|0); - $53 = HEAP8[$52>>0]|0; - $54 = ($53&255) >>> 5; - $55 = $54 & 1; - $56 = $55&255; - $57 = ($56|0)!=(0); - if (!($57)) { - $58 = HEAP32[$1>>2]|0; - $59 = HEAP32[$pFrom>>2]|0; - $60 = (_withExpand($58,$59)|0); - $61 = ($60|0)!=(0); - if ($61) { + $49 = HEAP32[$pFrom>>2]|0; + $50 = ((($49)) + 36|0); + $51 = ((($50)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52&255) >>> 5; + $54 = $53 & 1; + $55 = $54&255; + $56 = ($55|0)!=(0); + if (!($56)) { + $57 = HEAP32[$1>>2]|0; + $58 = HEAP32[$pFrom>>2]|0; + $59 = (_withExpand($57,$58)|0); + $60 = ($59|0)!=(0); + if ($60) { label = 12; break; } - $62 = HEAP32[$pFrom>>2]|0; - $63 = ((($62)) + 16|0); - $64 = HEAP32[$63>>2]|0; - $65 = ($64|0)!=(0|0); + $61 = HEAP32[$pFrom>>2]|0; + $62 = ((($61)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ($63|0)!=(0|0); do { - if (!($65)) { - $66 = HEAP32[$pFrom>>2]|0; - $67 = ((($66)) + 8|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68|0)==(0|0); - if ($69) { - $70 = HEAP32[$pFrom>>2]|0; - $71 = ((($70)) + 20|0); - $72 = HEAP32[$71>>2]|0; - HEAP32[$pSel>>2] = $72; - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$pSel>>2]|0; - $75 = (_sqlite3WalkSelect($73,$74)|0); - $76 = ($75|0)!=(0); - if ($76) { + if (!($64)) { + $65 = HEAP32[$pFrom>>2]|0; + $66 = ((($65)) + 8|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67|0)==(0|0); + if ($68) { + $69 = HEAP32[$pFrom>>2]|0; + $70 = ((($69)) + 20|0); + $71 = HEAP32[$70>>2]|0; + HEAP32[$pSel>>2] = $71; + $72 = HEAP32[$1>>2]|0; + $73 = HEAP32[$pSel>>2]|0; + $74 = (_sqlite3WalkSelect($72,$73)|0); + $75 = ($74|0)!=(0); + if ($75) { label = 16; break L11; } - $77 = HEAP32[$db>>2]|0; - $78 = (_sqlite3DbMallocZero($77,72,0)|0); - HEAP32[$pTab>>2] = $78; - $79 = HEAP32[$pFrom>>2]|0; - $80 = ((($79)) + 16|0); - HEAP32[$80>>2] = $78; - $81 = HEAP32[$pTab>>2]|0; - $82 = ($81|0)==(0|0); - if ($82) { + $76 = HEAP32[$db>>2]|0; + $77 = (_sqlite3DbMallocZero($76,72,0)|0); + HEAP32[$pTab>>2] = $77; + $78 = HEAP32[$pFrom>>2]|0; + $79 = ((($78)) + 16|0); + HEAP32[$79>>2] = $77; + $80 = HEAP32[$pTab>>2]|0; + $81 = ($80|0)==(0|0); + if ($81) { label = 18; break L11; } - $83 = HEAP32[$pTab>>2]|0; - $84 = ((($83)) + 36|0); - HEAP16[$84>>1] = 1; - $85 = HEAP32[$db>>2]|0; - $86 = HEAP32[$pTab>>2]|0; - HEAP32[$vararg_buffer>>2] = $86; - $87 = (_sqlite3MPrintf($85,30964,$vararg_buffer)|0); - $88 = HEAP32[$pTab>>2]|0; - HEAP32[$88>>2] = $87; + $82 = HEAP32[$pTab>>2]|0; + $83 = ((($82)) + 36|0); + HEAP16[$83>>1] = 1; + $84 = HEAP32[$db>>2]|0; + $85 = HEAP32[$pTab>>2]|0; + HEAP32[$vararg_buffer>>2] = $85; + $86 = (_sqlite3MPrintf($84,30689,$vararg_buffer)|0); + $87 = HEAP32[$pTab>>2]|0; + HEAP32[$87>>2] = $86; while(1) { - $89 = HEAP32[$pSel>>2]|0; - $90 = ((($89)) + 52|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)!=(0|0); - if (!($92)) { + $88 = HEAP32[$pSel>>2]|0; + $89 = ((($88)) + 48|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($90|0)!=(0|0); + if (!($91)) { break; } - $93 = HEAP32[$pSel>>2]|0; - $94 = ((($93)) + 52|0); - $95 = HEAP32[$94>>2]|0; - HEAP32[$pSel>>2] = $95; + $92 = HEAP32[$pSel>>2]|0; + $93 = ((($92)) + 48|0); + $94 = HEAP32[$93>>2]|0; + HEAP32[$pSel>>2] = $94; } - $96 = HEAP32[$pParse>>2]|0; - $97 = HEAP32[$pSel>>2]|0; - $98 = HEAP32[$97>>2]|0; - $99 = HEAP32[$pTab>>2]|0; - $100 = ((($99)) + 34|0); - $101 = HEAP32[$pTab>>2]|0; - $102 = ((($101)) + 4|0); - (_sqlite3ColumnsFromExprList($96,$98,$100,$102)|0); - $103 = HEAP32[$pTab>>2]|0; - $104 = ((($103)) + 32|0); - HEAP16[$104>>1] = -1; - $105 = HEAP32[$pTab>>2]|0; - $106 = ((($105)) + 38|0); - HEAP16[$106>>1] = 200; - $107 = HEAP32[$pTab>>2]|0; - $108 = ((($107)) + 42|0); - $109 = HEAP8[$108>>0]|0; - $110 = $109&255; - $111 = $110 | 2; - $112 = $111&255; - HEAP8[$108>>0] = $112; + $95 = HEAP32[$pParse>>2]|0; + $96 = HEAP32[$pSel>>2]|0; + $97 = HEAP32[$96>>2]|0; + $98 = HEAP32[$pTab>>2]|0; + $99 = ((($98)) + 34|0); + $100 = HEAP32[$pTab>>2]|0; + $101 = ((($100)) + 4|0); + (_sqlite3ColumnsFromExprList($95,$97,$99,$101)|0); + $102 = HEAP32[$pTab>>2]|0; + $103 = ((($102)) + 32|0); + HEAP16[$103>>1] = -1; + $104 = HEAP32[$pTab>>2]|0; + $105 = ((($104)) + 38|0); + HEAP16[$105>>1] = 200; + $106 = HEAP32[$pTab>>2]|0; + $107 = ((($106)) + 42|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = $109 | 2; + $111 = $110&255; + HEAP8[$107>>0] = $111; break; } - $113 = HEAP32[$pParse>>2]|0; - $114 = HEAP32[$pFrom>>2]|0; - $115 = (_sqlite3LocateTableItem($113,0,$114)|0); - HEAP32[$pTab>>2] = $115; - $116 = HEAP32[$pFrom>>2]|0; - $117 = ((($116)) + 16|0); - HEAP32[$117>>2] = $115; - $118 = HEAP32[$pTab>>2]|0; - $119 = ($118|0)==(0|0); - if ($119) { + $112 = HEAP32[$pParse>>2]|0; + $113 = HEAP32[$pFrom>>2]|0; + $114 = (_sqlite3LocateTableItem($112,0,$113)|0); + HEAP32[$pTab>>2] = $114; + $115 = HEAP32[$pFrom>>2]|0; + $116 = ((($115)) + 16|0); + HEAP32[$116>>2] = $114; + $117 = HEAP32[$pTab>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { label = 24; break L11; } - $120 = HEAP32[$pTab>>2]|0; - $121 = ((($120)) + 36|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = ($123|0)==(65535); - if ($124) { + $119 = HEAP32[$pTab>>2]|0; + $120 = ((($119)) + 36|0); + $121 = HEAP16[$120>>1]|0; + $122 = $121&65535; + $123 = ($122|0)==(65535); + if ($123) { label = 26; break L11; } - $130 = HEAP32[$pTab>>2]|0; - $131 = ((($130)) + 36|0); - $132 = HEAP16[$131>>1]|0; - $133 = (($132) + 1)<<16>>16; - HEAP16[$131>>1] = $133; - $134 = HEAP32[$pTab>>2]|0; - $135 = ((($134)) + 42|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = $137 & 16; - $139 = ($138|0)!=(0); - if (!($139)) { - $140 = HEAP32[$pParse>>2]|0; - $141 = HEAP32[$pFrom>>2]|0; - $142 = (_cannotBeFunction($140,$141)|0); - $143 = ($142|0)!=(0); - if ($143) { + $129 = HEAP32[$pTab>>2]|0; + $130 = ((($129)) + 36|0); + $131 = HEAP16[$130>>1]|0; + $132 = (($131) + 1)<<16>>16; + HEAP16[$130>>1] = $132; + $133 = HEAP32[$pTab>>2]|0; + $134 = ((($133)) + 42|0); + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = $136 & 16; + $138 = ($137|0)!=(0); + if (!($138)) { + $139 = HEAP32[$pParse>>2]|0; + $140 = HEAP32[$pFrom>>2]|0; + $141 = (_cannotBeFunction($139,$140)|0); + $142 = ($141|0)!=(0); + if ($142) { label = 29; break L11; } } - $144 = HEAP32[$pTab>>2]|0; - $145 = ((($144)) + 42|0); - $146 = HEAP8[$145>>0]|0; - $147 = $146&255; - $148 = $147 & 16; - $149 = ($148|0)!=(0); - if (!($149)) { - $150 = HEAP32[$pTab>>2]|0; - $151 = ((($150)) + 12|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)!=(0|0); - if (!($153)) { + $143 = HEAP32[$pTab>>2]|0; + $144 = ((($143)) + 42|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = $146 & 16; + $148 = ($147|0)!=(0); + if (!($148)) { + $149 = HEAP32[$pTab>>2]|0; + $150 = ((($149)) + 12|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)!=(0|0); + if (!($152)) { break; } } - $154 = HEAP32[$pParse>>2]|0; - $155 = HEAP32[$pTab>>2]|0; - $156 = (_sqlite3ViewGetColumnNames($154,$155)|0); - $157 = ($156|0)!=(0); - if ($157) { + $153 = HEAP32[$pParse>>2]|0; + $154 = HEAP32[$pTab>>2]|0; + $155 = (_sqlite3ViewGetColumnNames($153,$154)|0); + $156 = ($155|0)!=(0); + if ($156) { label = 33; break L11; } - $158 = HEAP32[$db>>2]|0; - $159 = HEAP32[$pTab>>2]|0; - $160 = ((($159)) + 12|0); - $161 = HEAP32[$160>>2]|0; - $162 = (_sqlite3SelectDup($158,$161,0)|0); - $163 = HEAP32[$pFrom>>2]|0; - $164 = ((($163)) + 20|0); - HEAP32[$164>>2] = $162; - $165 = HEAP32[$pTab>>2]|0; - $166 = ((($165)) + 34|0); - $167 = HEAP16[$166>>1]|0; - HEAP16[$nCol>>1] = $167; - $168 = HEAP32[$pTab>>2]|0; - $169 = ((($168)) + 34|0); - HEAP16[$169>>1] = -1; - $170 = HEAP32[$1>>2]|0; - $171 = HEAP32[$pFrom>>2]|0; - $172 = ((($171)) + 20|0); - $173 = HEAP32[$172>>2]|0; - (_sqlite3WalkSelect($170,$173)|0); - $174 = HEAP16[$nCol>>1]|0; - $175 = HEAP32[$pTab>>2]|0; - $176 = ((($175)) + 34|0); - HEAP16[$176>>1] = $174; + $157 = HEAP32[$db>>2]|0; + $158 = HEAP32[$pTab>>2]|0; + $159 = ((($158)) + 12|0); + $160 = HEAP32[$159>>2]|0; + $161 = (_sqlite3SelectDup($157,$160,0)|0); + $162 = HEAP32[$pFrom>>2]|0; + $163 = ((($162)) + 20|0); + HEAP32[$163>>2] = $161; + $164 = HEAP32[$pTab>>2]|0; + $165 = ((($164)) + 34|0); + $166 = HEAP16[$165>>1]|0; + HEAP16[$nCol>>1] = $166; + $167 = HEAP32[$pTab>>2]|0; + $168 = ((($167)) + 34|0); + HEAP16[$168>>1] = -1; + $169 = HEAP32[$1>>2]|0; + $170 = HEAP32[$pFrom>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP32[$171>>2]|0; + (_sqlite3WalkSelect($169,$172)|0); + $173 = HEAP16[$nCol>>1]|0; + $174 = HEAP32[$pTab>>2]|0; + $175 = ((($174)) + 34|0); + HEAP16[$175>>1] = $173; } } while(0); - $177 = HEAP32[$pParse>>2]|0; - $178 = HEAP32[$pFrom>>2]|0; - $179 = (_sqlite3IndexedByLookup($177,$178)|0); - $180 = ($179|0)!=(0); - if ($180) { + $176 = HEAP32[$pParse>>2]|0; + $177 = HEAP32[$pFrom>>2]|0; + $178 = (_sqlite3IndexedByLookup($176,$177)|0); + $179 = ($178|0)!=(0); + if ($179) { label = 36; break; } } - $181 = HEAP32[$i>>2]|0; - $182 = (($181) + 1)|0; - HEAP32[$i>>2] = $182; - $183 = HEAP32[$pFrom>>2]|0; - $184 = ((($183)) + 72|0); - HEAP32[$pFrom>>2] = $184; + $180 = HEAP32[$i>>2]|0; + $181 = (($180) + 1)|0; + HEAP32[$i>>2] = $181; + $182 = HEAP32[$pFrom>>2]|0; + $183 = ((($182)) + 72|0); + HEAP32[$pFrom>>2] = $183; } if ((label|0) == 12) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 16) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 18) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 24) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 26) { - $125 = HEAP32[$pParse>>2]|0; - $126 = HEAP32[$pTab>>2]|0; - $127 = HEAP32[$126>>2]|0; - HEAP32[$vararg_buffer4>>2] = $127; - _sqlite3ErrorMsg($125,30977,$vararg_buffer4); - $128 = HEAP32[$pFrom>>2]|0; - $129 = ((($128)) + 16|0); - HEAP32[$129>>2] = 0; + $124 = HEAP32[$pParse>>2]|0; + $125 = HEAP32[$pTab>>2]|0; + $126 = HEAP32[$125>>2]|0; + HEAP32[$vararg_buffer4>>2] = $126; + _sqlite3ErrorMsg($124,30702,$vararg_buffer4); + $127 = HEAP32[$pFrom>>2]|0; + $128 = ((($127)) + 16|0); + HEAP32[$128>>2] = 0; HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 29) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 33) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 36) { HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } else if ((label|0) == 38) { - $185 = HEAP32[$db>>2]|0; - $186 = ((($185)) + 65|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187&255; - $189 = ($188|0)!=(0); - if (!($189)) { - $190 = HEAP32[$pParse>>2]|0; - $191 = HEAP32[$2>>2]|0; - $192 = (_sqliteProcessJoin($190,$191)|0); - $193 = ($192|0)!=(0); - if (!($193)) { + $184 = HEAP32[$db>>2]|0; + $185 = ((($184)) + 69|0); + $186 = HEAP8[$185>>0]|0; + $187 = $186&255; + $188 = ($187|0)!=(0); + if (!($188)) { + $189 = HEAP32[$pParse>>2]|0; + $190 = HEAP32[$2>>2]|0; + $191 = (_sqliteProcessJoin($189,$190)|0); + $192 = ($191|0)!=(0); + if (!($192)) { HEAP32[$k>>2] = 0; while(1) { - $194 = HEAP32[$k>>2]|0; - $195 = HEAP32[$pEList>>2]|0; - $196 = HEAP32[$195>>2]|0; - $197 = ($194|0)<($196|0); - if (!($197)) { + $193 = HEAP32[$k>>2]|0; + $194 = HEAP32[$pEList>>2]|0; + $195 = HEAP32[$194>>2]|0; + $196 = ($193|0)<($195|0); + if (!($196)) { break; } - $198 = HEAP32[$k>>2]|0; - $199 = HEAP32[$pEList>>2]|0; - $200 = ((($199)) + 4|0); - $201 = HEAP32[$200>>2]|0; - $202 = (($201) + (($198*20)|0)|0); - $203 = HEAP32[$202>>2]|0; - HEAP32[$pE>>2] = $203; - $204 = HEAP32[$pE>>2]|0; - $205 = HEAP8[$204>>0]|0; - $206 = $205&255; - $207 = ($206|0)==(158); - if ($207) { + $197 = HEAP32[$k>>2]|0; + $198 = HEAP32[$pEList>>2]|0; + $199 = ((($198)) + 4|0); + $200 = HEAP32[$199>>2]|0; + $201 = (($200) + (($197*20)|0)|0); + $202 = HEAP32[$201>>2]|0; + HEAP32[$pE>>2] = $202; + $203 = HEAP32[$pE>>2]|0; + $204 = HEAP8[$203>>0]|0; + $205 = $204&255; + $206 = ($205|0)==(158); + if ($206) { break; } - $208 = HEAP32[$pE>>2]|0; - $209 = HEAP8[$208>>0]|0; - $210 = $209&255; - $211 = ($210|0)==(122); - if ($211) { - $212 = HEAP32[$pE>>2]|0; - $213 = ((($212)) + 16|0); - $214 = HEAP32[$213>>2]|0; - $215 = HEAP8[$214>>0]|0; - $216 = $215&255; - $217 = ($216|0)==(158); - if ($217) { + $207 = HEAP32[$pE>>2]|0; + $208 = HEAP8[$207>>0]|0; + $209 = $208&255; + $210 = ($209|0)==(122); + if ($210) { + $211 = HEAP32[$pE>>2]|0; + $212 = ((($211)) + 16|0); + $213 = HEAP32[$212>>2]|0; + $214 = HEAP8[$213>>0]|0; + $215 = $214&255; + $216 = ($215|0)==(158); + if ($216) { break; } } - $218 = HEAP32[$k>>2]|0; - $219 = (($218) + 1)|0; - HEAP32[$k>>2] = $219; + $217 = HEAP32[$k>>2]|0; + $218 = (($217) + 1)|0; + HEAP32[$k>>2] = $218; } - $220 = HEAP32[$k>>2]|0; - $221 = HEAP32[$pEList>>2]|0; - $222 = HEAP32[$221>>2]|0; - $223 = ($220|0)<($222|0); - if ($223) { - $224 = HEAP32[$pEList>>2]|0; - $225 = ((($224)) + 4|0); - $226 = HEAP32[$225>>2]|0; - HEAP32[$a>>2] = $226; + $219 = HEAP32[$k>>2]|0; + $220 = HEAP32[$pEList>>2]|0; + $221 = HEAP32[$220>>2]|0; + $222 = ($219|0)<($221|0); + if ($222) { + $223 = HEAP32[$pEList>>2]|0; + $224 = ((($223)) + 4|0); + $225 = HEAP32[$224>>2]|0; + HEAP32[$a>>2] = $225; HEAP32[$pNew>>2] = 0; - $227 = HEAP32[$pParse>>2]|0; - $228 = HEAP32[$227>>2]|0; - $229 = ((($228)) + 24|0); - $230 = HEAP32[$229>>2]|0; - HEAP32[$flags>>2] = $230; - $231 = HEAP32[$flags>>2]|0; - $232 = $231 & 4; - $233 = ($232|0)!=(0); - if ($233) { - $234 = HEAP32[$flags>>2]|0; - $235 = $234 & 64; - $236 = ($235|0)==(0); - $238 = $236; + $226 = HEAP32[$pParse>>2]|0; + $227 = HEAP32[$226>>2]|0; + $228 = ((($227)) + 24|0); + $229 = HEAP32[$228>>2]|0; + HEAP32[$flags>>2] = $229; + $230 = HEAP32[$flags>>2]|0; + $231 = $230 & 4; + $232 = ($231|0)!=(0); + if ($232) { + $233 = HEAP32[$flags>>2]|0; + $234 = $233 & 64; + $235 = ($234|0)==(0); + $237 = $235; } else { - $238 = 0; + $237 = 0; } - $237 = $238&1; - HEAP32[$longNames>>2] = $237; + $236 = $237&1; + HEAP32[$longNames>>2] = $236; HEAP32[$k>>2] = 0; while(1) { - $239 = HEAP32[$k>>2]|0; - $240 = HEAP32[$pEList>>2]|0; - $241 = HEAP32[$240>>2]|0; - $242 = ($239|0)<($241|0); - if (!($242)) { + $238 = HEAP32[$k>>2]|0; + $239 = HEAP32[$pEList>>2]|0; + $240 = HEAP32[$239>>2]|0; + $241 = ($238|0)<($240|0); + if (!($241)) { break; } - $243 = HEAP32[$k>>2]|0; - $244 = HEAP32[$a>>2]|0; - $245 = (($244) + (($243*20)|0)|0); - $246 = HEAP32[$245>>2]|0; - HEAP32[$pE>>2] = $246; - $247 = HEAP32[$pE>>2]|0; - $248 = ((($247)) + 16|0); - $249 = HEAP32[$248>>2]|0; - HEAP32[$pRight>>2] = $249; - $250 = HEAP32[$pE>>2]|0; - $251 = HEAP8[$250>>0]|0; - $252 = $251&255; - $253 = ($252|0)!=(158); + $242 = HEAP32[$k>>2]|0; + $243 = HEAP32[$a>>2]|0; + $244 = (($243) + (($242*20)|0)|0); + $245 = HEAP32[$244>>2]|0; + HEAP32[$pE>>2] = $245; + $246 = HEAP32[$pE>>2]|0; + $247 = ((($246)) + 16|0); + $248 = HEAP32[$247>>2]|0; + HEAP32[$pRight>>2] = $248; + $249 = HEAP32[$pE>>2]|0; + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251|0)!=(158); do { - if ($253) { - $254 = HEAP32[$pE>>2]|0; - $255 = HEAP8[$254>>0]|0; - $256 = $255&255; - $257 = ($256|0)!=(122); - if (!($257)) { - $258 = HEAP32[$pRight>>2]|0; - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = ($260|0)!=(158); - if (!($261)) { + if ($252) { + $253 = HEAP32[$pE>>2]|0; + $254 = HEAP8[$253>>0]|0; + $255 = $254&255; + $256 = ($255|0)!=(122); + if (!($256)) { + $257 = HEAP32[$pRight>>2]|0; + $258 = HEAP8[$257>>0]|0; + $259 = $258&255; + $260 = ($259|0)!=(158); + if (!($260)) { label = 58; break; } } - $262 = HEAP32[$pParse>>2]|0; - $263 = HEAP32[$pNew>>2]|0; - $264 = HEAP32[$k>>2]|0; - $265 = HEAP32[$a>>2]|0; - $266 = (($265) + (($264*20)|0)|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_sqlite3ExprListAppend($262,$263,$267)|0); - HEAP32[$pNew>>2] = $268; - $269 = HEAP32[$pNew>>2]|0; - $270 = ($269|0)!=(0|0); - if ($270) { - $271 = HEAP32[$k>>2]|0; - $272 = HEAP32[$a>>2]|0; - $273 = (($272) + (($271*20)|0)|0); - $274 = ((($273)) + 4|0); - $275 = HEAP32[$274>>2]|0; - $276 = HEAP32[$pNew>>2]|0; - $277 = HEAP32[$276>>2]|0; - $278 = (($277) - 1)|0; - $279 = HEAP32[$pNew>>2]|0; - $280 = ((($279)) + 4|0); - $281 = HEAP32[$280>>2]|0; - $282 = (($281) + (($278*20)|0)|0); - $283 = ((($282)) + 4|0); - HEAP32[$283>>2] = $275; - $284 = HEAP32[$k>>2]|0; - $285 = HEAP32[$a>>2]|0; - $286 = (($285) + (($284*20)|0)|0); - $287 = ((($286)) + 8|0); - $288 = HEAP32[$287>>2]|0; - $289 = HEAP32[$pNew>>2]|0; - $290 = HEAP32[$289>>2]|0; - $291 = (($290) - 1)|0; - $292 = HEAP32[$pNew>>2]|0; - $293 = ((($292)) + 4|0); - $294 = HEAP32[$293>>2]|0; - $295 = (($294) + (($291*20)|0)|0); - $296 = ((($295)) + 8|0); - HEAP32[$296>>2] = $288; - $297 = HEAP32[$k>>2]|0; - $298 = HEAP32[$a>>2]|0; - $299 = (($298) + (($297*20)|0)|0); - $300 = ((($299)) + 4|0); - HEAP32[$300>>2] = 0; - $301 = HEAP32[$k>>2]|0; - $302 = HEAP32[$a>>2]|0; - $303 = (($302) + (($301*20)|0)|0); - $304 = ((($303)) + 8|0); - HEAP32[$304>>2] = 0; + $261 = HEAP32[$pParse>>2]|0; + $262 = HEAP32[$pNew>>2]|0; + $263 = HEAP32[$k>>2]|0; + $264 = HEAP32[$a>>2]|0; + $265 = (($264) + (($263*20)|0)|0); + $266 = HEAP32[$265>>2]|0; + $267 = (_sqlite3ExprListAppend($261,$262,$266)|0); + HEAP32[$pNew>>2] = $267; + $268 = HEAP32[$pNew>>2]|0; + $269 = ($268|0)!=(0|0); + if ($269) { + $270 = HEAP32[$k>>2]|0; + $271 = HEAP32[$a>>2]|0; + $272 = (($271) + (($270*20)|0)|0); + $273 = ((($272)) + 4|0); + $274 = HEAP32[$273>>2]|0; + $275 = HEAP32[$pNew>>2]|0; + $276 = HEAP32[$275>>2]|0; + $277 = (($276) - 1)|0; + $278 = HEAP32[$pNew>>2]|0; + $279 = ((($278)) + 4|0); + $280 = HEAP32[$279>>2]|0; + $281 = (($280) + (($277*20)|0)|0); + $282 = ((($281)) + 4|0); + HEAP32[$282>>2] = $274; + $283 = HEAP32[$k>>2]|0; + $284 = HEAP32[$a>>2]|0; + $285 = (($284) + (($283*20)|0)|0); + $286 = ((($285)) + 8|0); + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$pNew>>2]|0; + $289 = HEAP32[$288>>2]|0; + $290 = (($289) - 1)|0; + $291 = HEAP32[$pNew>>2]|0; + $292 = ((($291)) + 4|0); + $293 = HEAP32[$292>>2]|0; + $294 = (($293) + (($290*20)|0)|0); + $295 = ((($294)) + 8|0); + HEAP32[$295>>2] = $287; + $296 = HEAP32[$k>>2]|0; + $297 = HEAP32[$a>>2]|0; + $298 = (($297) + (($296*20)|0)|0); + $299 = ((($298)) + 4|0); + HEAP32[$299>>2] = 0; + $300 = HEAP32[$k>>2]|0; + $301 = HEAP32[$a>>2]|0; + $302 = (($301) + (($300*20)|0)|0); + $303 = ((($302)) + 8|0); + HEAP32[$303>>2] = 0; } - $305 = HEAP32[$k>>2]|0; - $306 = HEAP32[$a>>2]|0; - $307 = (($306) + (($305*20)|0)|0); - HEAP32[$307>>2] = 0; + $304 = HEAP32[$k>>2]|0; + $305 = HEAP32[$a>>2]|0; + $306 = (($305) + (($304*20)|0)|0); + HEAP32[$306>>2] = 0; } else { label = 58; } @@ -143384,69 +144634,68 @@ function _selectExpander($pWalker,$p) { label = 0; HEAP32[$tableSeen>>2] = 0; HEAP32[$zTName>>2] = 0; - $308 = HEAP32[$pE>>2]|0; - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = ($310|0)==(122); - if ($311) { - $312 = HEAP32[$pE>>2]|0; - $313 = ((($312)) + 12|0); - $314 = HEAP32[$313>>2]|0; - $315 = ((($314)) + 8|0); - $316 = HEAP32[$315>>2]|0; - HEAP32[$zTName>>2] = $316; + $307 = HEAP32[$pE>>2]|0; + $308 = HEAP8[$307>>0]|0; + $309 = $308&255; + $310 = ($309|0)==(122); + if ($310) { + $311 = HEAP32[$pE>>2]|0; + $312 = ((($311)) + 12|0); + $313 = HEAP32[$312>>2]|0; + $314 = ((($313)) + 8|0); + $315 = HEAP32[$314>>2]|0; + HEAP32[$zTName>>2] = $315; } HEAP32[$i>>2] = 0; - $317 = HEAP32[$pTabList>>2]|0; - $318 = ((($317)) + 8|0); - HEAP32[$pFrom>>2] = $318; + $316 = HEAP32[$pTabList>>2]|0; + $317 = ((($316)) + 8|0); + HEAP32[$pFrom>>2] = $317; while(1) { - $319 = HEAP32[$i>>2]|0; - $320 = HEAP32[$pTabList>>2]|0; - $321 = HEAP32[$320>>2]|0; - $322 = ($319|0)<($321|0); - if (!($322)) { + $318 = HEAP32[$i>>2]|0; + $319 = HEAP32[$pTabList>>2]|0; + $320 = HEAP32[$319>>2]|0; + $321 = ($318|0)<($320|0); + if (!($321)) { break; } - $323 = HEAP32[$pFrom>>2]|0; - $324 = ((($323)) + 16|0); - $325 = HEAP32[$324>>2]|0; - HEAP32[$pTab1>>2] = $325; - $326 = HEAP32[$pFrom>>2]|0; - $327 = ((($326)) + 20|0); - $328 = HEAP32[$327>>2]|0; - HEAP32[$pSub>>2] = $328; - $329 = HEAP32[$pFrom>>2]|0; - $330 = ((($329)) + 12|0); - $331 = HEAP32[$330>>2]|0; - HEAP32[$zTabName>>2] = $331; + $322 = HEAP32[$pFrom>>2]|0; + $323 = ((($322)) + 16|0); + $324 = HEAP32[$323>>2]|0; + HEAP32[$pTab1>>2] = $324; + $325 = HEAP32[$pFrom>>2]|0; + $326 = ((($325)) + 20|0); + $327 = HEAP32[$326>>2]|0; + HEAP32[$pSub>>2] = $327; + $328 = HEAP32[$pFrom>>2]|0; + $329 = ((($328)) + 12|0); + $330 = HEAP32[$329>>2]|0; + HEAP32[$zTabName>>2] = $330; HEAP32[$zSchemaName>>2] = 0; - $332 = HEAP32[$zTabName>>2]|0; - $333 = ($332|0)==(0|0); - if ($333) { - $334 = HEAP32[$pTab1>>2]|0; - $335 = HEAP32[$334>>2]|0; - HEAP32[$zTabName>>2] = $335; + $331 = HEAP32[$zTabName>>2]|0; + $332 = ($331|0)==(0|0); + if ($332) { + $333 = HEAP32[$pTab1>>2]|0; + $334 = HEAP32[$333>>2]|0; + HEAP32[$zTabName>>2] = $334; } - $336 = HEAP32[$db>>2]|0; - $337 = ((($336)) + 65|0); - $338 = HEAP8[$337>>0]|0; - $339 = ($338<<24>>24)!=(0); - if ($339) { + $335 = HEAP32[$db>>2]|0; + $336 = ((($335)) + 69|0); + $337 = HEAP8[$336>>0]|0; + $338 = ($337<<24>>24)!=(0); + if ($338) { break; } - $340 = HEAP32[$pSub>>2]|0; - $341 = ($340|0)==(0|0); - if ($341) { + $339 = HEAP32[$pSub>>2]|0; + $340 = ($339|0)==(0|0); + if ($340) { label = 67; } else { - $342 = HEAP32[$pSub>>2]|0; - $343 = ((($342)) + 6|0); - $344 = HEAP16[$343>>1]|0; - $345 = $344&65535; - $346 = $345 & 1024; - $347 = ($346|0)==(0); - if ($347) { + $341 = HEAP32[$pSub>>2]|0; + $342 = ((($341)) + 8|0); + $343 = HEAP32[$342>>2]|0; + $344 = $343 & 1024; + $345 = ($344|0)==(0); + if ($345) { label = 67; } else { label = 72; @@ -143456,37 +144705,37 @@ function _selectExpander($pWalker,$p) { if ((label|0) == 67) { label = 0; HEAP32[$pSub>>2] = 0; - $348 = HEAP32[$zTName>>2]|0; - $349 = ($348|0)!=(0|0); - if ($349) { - $350 = HEAP32[$zTName>>2]|0; - $351 = HEAP32[$zTabName>>2]|0; - $352 = (_sqlite3_stricmp($350,$351)|0); - $353 = ($352|0)!=(0); - if ($353) { + $346 = HEAP32[$zTName>>2]|0; + $347 = ($346|0)!=(0|0); + if ($347) { + $348 = HEAP32[$zTName>>2]|0; + $349 = HEAP32[$zTabName>>2]|0; + $350 = (_sqlite3StrICmp($348,$349)|0); + $351 = ($350|0)!=(0); + if ($351) { break; } } - $354 = HEAP32[$db>>2]|0; - $355 = HEAP32[$pTab1>>2]|0; - $356 = ((($355)) + 64|0); - $357 = HEAP32[$356>>2]|0; - $358 = (_sqlite3SchemaToIndex($354,$357)|0); - HEAP32[$iDb>>2] = $358; - $359 = HEAP32[$iDb>>2]|0; - $360 = ($359|0)>=(0); - if ($360) { - $361 = HEAP32[$iDb>>2]|0; - $362 = HEAP32[$db>>2]|0; - $363 = ((($362)) + 16|0); + $352 = HEAP32[$db>>2]|0; + $353 = HEAP32[$pTab1>>2]|0; + $354 = ((($353)) + 64|0); + $355 = HEAP32[$354>>2]|0; + $356 = (_sqlite3SchemaToIndex($352,$355)|0); + HEAP32[$iDb>>2] = $356; + $357 = HEAP32[$iDb>>2]|0; + $358 = ($357|0)>=(0); + if ($358) { + $359 = HEAP32[$iDb>>2]|0; + $360 = HEAP32[$db>>2]|0; + $361 = ((($360)) + 16|0); + $362 = HEAP32[$361>>2]|0; + $363 = (($362) + ($359<<4)|0); $364 = HEAP32[$363>>2]|0; - $365 = (($364) + ($361<<4)|0); - $366 = HEAP32[$365>>2]|0; - $367 = $366; + $365 = $364; } else { - $367 = 26308; + $365 = 26059; } - HEAP32[$zSchemaName>>2] = $367; + HEAP32[$zSchemaName>>2] = $365; label = 72; } } while(0); @@ -143495,40 +144744,40 @@ function _selectExpander($pWalker,$p) { label = 0; HEAP32[$j>>2] = 0; while(1) { - $368 = HEAP32[$j>>2]|0; - $369 = HEAP32[$pTab1>>2]|0; - $370 = ((($369)) + 34|0); - $371 = HEAP16[$370>>1]|0; - $372 = $371 << 16 >> 16; - $373 = ($368|0)<($372|0); - if (!($373)) { + $366 = HEAP32[$j>>2]|0; + $367 = HEAP32[$pTab1>>2]|0; + $368 = ((($367)) + 34|0); + $369 = HEAP16[$368>>1]|0; + $370 = $369 << 16 >> 16; + $371 = ($366|0)<($370|0); + if (!($371)) { break L90; } - $374 = HEAP32[$j>>2]|0; - $375 = HEAP32[$pTab1>>2]|0; - $376 = ((($375)) + 4|0); + $372 = HEAP32[$j>>2]|0; + $373 = HEAP32[$pTab1>>2]|0; + $374 = ((($373)) + 4|0); + $375 = HEAP32[$374>>2]|0; + $376 = (($375) + ($372<<4)|0); $377 = HEAP32[$376>>2]|0; - $378 = (($377) + (($374*24)|0)|0); - $379 = HEAP32[$378>>2]|0; - HEAP32[$zName>>2] = $379; - $380 = HEAP32[$zTName>>2]|0; + HEAP32[$zName>>2] = $377; + $378 = HEAP32[$zTName>>2]|0; + $379 = ($378|0)!=(0|0); + $380 = HEAP32[$pSub>>2]|0; $381 = ($380|0)!=(0|0); - $382 = HEAP32[$pSub>>2]|0; - $383 = ($382|0)!=(0|0); - $or$cond = $381 & $383; + $or$cond = $379 & $381; if ($or$cond) { - $384 = HEAP32[$j>>2]|0; - $385 = HEAP32[$pSub>>2]|0; + $382 = HEAP32[$j>>2]|0; + $383 = HEAP32[$pSub>>2]|0; + $384 = HEAP32[$383>>2]|0; + $385 = ((($384)) + 4|0); $386 = HEAP32[$385>>2]|0; - $387 = ((($386)) + 4|0); - $388 = HEAP32[$387>>2]|0; - $389 = (($388) + (($384*20)|0)|0); - $390 = ((($389)) + 8|0); - $391 = HEAP32[$390>>2]|0; - $392 = HEAP32[$zTName>>2]|0; - $393 = (_sqlite3MatchSpanName($391,0,$392,0)|0); - $394 = ($393|0)==(0); - if (!($394)) { + $387 = (($386) + (($382*20)|0)|0); + $388 = ((($387)) + 8|0); + $389 = HEAP32[$388>>2]|0; + $390 = HEAP32[$zTName>>2]|0; + $391 = (_sqlite3MatchSpanName($389,0,$390,0)|0); + $392 = ($391|0)==(0); + if (!($392)) { label = 76; } } else { @@ -143537,276 +144786,274 @@ function _selectExpander($pWalker,$p) { do { if ((label|0) == 76) { label = 0; - $395 = HEAP32[$2>>2]|0; - $396 = ((($395)) + 6|0); - $397 = HEAP16[$396>>1]|0; - $398 = $397&65535; - $399 = $398 & 32768; - $400 = ($399|0)==(0); - if ($400) { - $401 = HEAP32[$j>>2]|0; - $402 = HEAP32[$pTab1>>2]|0; - $403 = ((($402)) + 4|0); - $404 = HEAP32[$403>>2]|0; - $405 = (($404) + (($401*24)|0)|0); - $406 = ((($405)) + 23|0); - $407 = HEAP8[$406>>0]|0; - $408 = $407&255; - $409 = $408 & 2; - $410 = ($409|0)!=(0); - if ($410) { + $393 = HEAP32[$2>>2]|0; + $394 = ((($393)) + 8|0); + $395 = HEAP32[$394>>2]|0; + $396 = $395 & 65536; + $397 = ($396|0)==(0); + if ($397) { + $398 = HEAP32[$j>>2]|0; + $399 = HEAP32[$pTab1>>2]|0; + $400 = ((($399)) + 4|0); + $401 = HEAP32[$400>>2]|0; + $402 = (($401) + ($398<<4)|0); + $403 = ((($402)) + 15|0); + $404 = HEAP8[$403>>0]|0; + $405 = $404&255; + $406 = $405 & 2; + $407 = ($406|0)!=(0); + if ($407) { break; } } HEAP32[$tableSeen>>2] = 1; - $411 = HEAP32[$i>>2]|0; - $412 = ($411|0)>(0); - $413 = HEAP32[$zTName>>2]|0; - $414 = ($413|0)==(0|0); - $or$cond3 = $412 & $414; + $408 = HEAP32[$i>>2]|0; + $409 = ($408|0)>(0); + $410 = HEAP32[$zTName>>2]|0; + $411 = ($410|0)==(0|0); + $or$cond3 = $409 & $411; if ($or$cond3) { - $415 = HEAP32[$pFrom>>2]|0; - $416 = ((($415)) + 36|0); - $417 = HEAP8[$416>>0]|0; - $418 = $417&255; - $419 = $418 & 4; - $420 = ($419|0)!=(0); - if ($420) { - $421 = HEAP32[$pTabList>>2]|0; - $422 = HEAP32[$i>>2]|0; - $423 = HEAP32[$zName>>2]|0; - $424 = (_tableAndColumnIndex($421,$422,$423,0,0)|0); - $425 = ($424|0)!=(0); - if ($425) { + $412 = HEAP32[$pFrom>>2]|0; + $413 = ((($412)) + 36|0); + $414 = HEAP8[$413>>0]|0; + $415 = $414&255; + $416 = $415 & 4; + $417 = ($416|0)!=(0); + if ($417) { + $418 = HEAP32[$pTabList>>2]|0; + $419 = HEAP32[$i>>2]|0; + $420 = HEAP32[$zName>>2]|0; + $421 = (_tableAndColumnIndex($418,$419,$420,0,0)|0); + $422 = ($421|0)!=(0); + if ($422) { break; } } - $426 = HEAP32[$pFrom>>2]|0; - $427 = ((($426)) + 52|0); - $428 = HEAP32[$427>>2]|0; - $429 = HEAP32[$zName>>2]|0; - $430 = (_sqlite3IdListIndex($428,$429)|0); - $431 = ($430|0)>=(0); - if ($431) { + $423 = HEAP32[$pFrom>>2]|0; + $424 = ((($423)) + 52|0); + $425 = HEAP32[$424>>2]|0; + $426 = HEAP32[$zName>>2]|0; + $427 = (_sqlite3IdListIndex($425,$426)|0); + $428 = ($427|0)>=(0); + if ($428) { break; } } - $432 = HEAP32[$db>>2]|0; - $433 = HEAP32[$zName>>2]|0; - $434 = (_sqlite3Expr($432,27,$433)|0); - HEAP32[$pRight>>2] = $434; - $435 = HEAP32[$zName>>2]|0; - HEAP32[$zColname>>2] = $435; + $429 = HEAP32[$db>>2]|0; + $430 = HEAP32[$zName>>2]|0; + $431 = (_sqlite3Expr($429,27,$430)|0); + HEAP32[$pRight>>2] = $431; + $432 = HEAP32[$zName>>2]|0; + HEAP32[$zColname>>2] = $432; HEAP32[$zToFree>>2] = 0; - $436 = HEAP32[$longNames>>2]|0; - $437 = ($436|0)!=(0); + $433 = HEAP32[$longNames>>2]|0; + $434 = ($433|0)!=(0); do { - if ($437) { + if ($434) { label = 84; } else { - $438 = HEAP32[$pTabList>>2]|0; - $439 = HEAP32[$438>>2]|0; - $440 = ($439|0)>(1); - if ($440) { + $435 = HEAP32[$pTabList>>2]|0; + $436 = HEAP32[$435>>2]|0; + $437 = ($436|0)>(1); + if ($437) { label = 84; break; } - $464 = HEAP32[$pRight>>2]|0; - HEAP32[$pExpr>>2] = $464; + $461 = HEAP32[$pRight>>2]|0; + HEAP32[$pExpr>>2] = $461; } } while(0); do { if ((label|0) == 84) { label = 0; - $441 = HEAP32[$db>>2]|0; - $442 = HEAP32[$zTabName>>2]|0; - $443 = (_sqlite3Expr($441,27,$442)|0); - HEAP32[$pLeft>>2] = $443; - $444 = HEAP32[$pParse>>2]|0; - $445 = HEAP32[$pLeft>>2]|0; - $446 = HEAP32[$pRight>>2]|0; - $447 = (_sqlite3PExpr($444,122,$445,$446,0)|0); - HEAP32[$pExpr>>2] = $447; - $448 = HEAP32[$zSchemaName>>2]|0; - $449 = ($448|0)!=(0|0); - if ($449) { - $450 = HEAP32[$db>>2]|0; - $451 = HEAP32[$zSchemaName>>2]|0; - $452 = (_sqlite3Expr($450,27,$451)|0); - HEAP32[$pLeft>>2] = $452; - $453 = HEAP32[$pParse>>2]|0; - $454 = HEAP32[$pLeft>>2]|0; - $455 = HEAP32[$pExpr>>2]|0; - $456 = (_sqlite3PExpr($453,122,$454,$455,0)|0); - HEAP32[$pExpr>>2] = $456; + $438 = HEAP32[$db>>2]|0; + $439 = HEAP32[$zTabName>>2]|0; + $440 = (_sqlite3Expr($438,27,$439)|0); + HEAP32[$pLeft>>2] = $440; + $441 = HEAP32[$pParse>>2]|0; + $442 = HEAP32[$pLeft>>2]|0; + $443 = HEAP32[$pRight>>2]|0; + $444 = (_sqlite3PExpr($441,122,$442,$443,0)|0); + HEAP32[$pExpr>>2] = $444; + $445 = HEAP32[$zSchemaName>>2]|0; + $446 = ($445|0)!=(0|0); + if ($446) { + $447 = HEAP32[$db>>2]|0; + $448 = HEAP32[$zSchemaName>>2]|0; + $449 = (_sqlite3Expr($447,27,$448)|0); + HEAP32[$pLeft>>2] = $449; + $450 = HEAP32[$pParse>>2]|0; + $451 = HEAP32[$pLeft>>2]|0; + $452 = HEAP32[$pExpr>>2]|0; + $453 = (_sqlite3PExpr($450,122,$451,$452,0)|0); + HEAP32[$pExpr>>2] = $453; } - $457 = HEAP32[$longNames>>2]|0; - $458 = ($457|0)!=(0); - if (!($458)) { + $454 = HEAP32[$longNames>>2]|0; + $455 = ($454|0)!=(0); + if (!($455)) { break; } - $459 = HEAP32[$db>>2]|0; - $460 = HEAP32[$zTabName>>2]|0; - $461 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer7>>2] = $460; + $456 = HEAP32[$db>>2]|0; + $457 = HEAP32[$zTabName>>2]|0; + $458 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer7>>2] = $457; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $461; - $462 = (_sqlite3MPrintf($459,31016,$vararg_buffer7)|0); - HEAP32[$zColname>>2] = $462; - $463 = HEAP32[$zColname>>2]|0; - HEAP32[$zToFree>>2] = $463; + HEAP32[$vararg_ptr10>>2] = $458; + $459 = (_sqlite3MPrintf($456,30741,$vararg_buffer7)|0); + HEAP32[$zColname>>2] = $459; + $460 = HEAP32[$zColname>>2]|0; + HEAP32[$zToFree>>2] = $460; } } while(0); - $465 = HEAP32[$pParse>>2]|0; - $466 = HEAP32[$pNew>>2]|0; - $467 = HEAP32[$pExpr>>2]|0; - $468 = (_sqlite3ExprListAppend($465,$466,$467)|0); - HEAP32[$pNew>>2] = $468; - $469 = HEAP32[$zColname>>2]|0; - _sqlite3TokenInit($sColname,$469); - $470 = HEAP32[$pParse>>2]|0; - $471 = HEAP32[$pNew>>2]|0; - _sqlite3ExprListSetName($470,$471,$sColname,0); - $472 = HEAP32[$pNew>>2]|0; - $473 = ($472|0)!=(0|0); + $462 = HEAP32[$pParse>>2]|0; + $463 = HEAP32[$pNew>>2]|0; + $464 = HEAP32[$pExpr>>2]|0; + $465 = (_sqlite3ExprListAppend($462,$463,$464)|0); + HEAP32[$pNew>>2] = $465; + $466 = HEAP32[$zColname>>2]|0; + _sqlite3TokenInit($sColname,$466); + $467 = HEAP32[$pParse>>2]|0; + $468 = HEAP32[$pNew>>2]|0; + _sqlite3ExprListSetName($467,$468,$sColname,0); + $469 = HEAP32[$pNew>>2]|0; + $470 = ($469|0)!=(0|0); do { - if ($473) { - $474 = HEAP32[$2>>2]|0; - $475 = ((($474)) + 6|0); - $476 = HEAP16[$475>>1]|0; - $477 = $476&65535; - $478 = $477 & 1024; - $479 = ($478|0)!=(0); - if (!($479)) { + if ($470) { + $471 = HEAP32[$2>>2]|0; + $472 = ((($471)) + 8|0); + $473 = HEAP32[$472>>2]|0; + $474 = $473 & 1024; + $475 = ($474|0)!=(0); + if (!($475)) { break; } - $480 = HEAP32[$pNew>>2]|0; + $476 = HEAP32[$pNew>>2]|0; + $477 = HEAP32[$476>>2]|0; + $478 = (($477) - 1)|0; + $479 = HEAP32[$pNew>>2]|0; + $480 = ((($479)) + 4|0); $481 = HEAP32[$480>>2]|0; - $482 = (($481) - 1)|0; - $483 = HEAP32[$pNew>>2]|0; - $484 = ((($483)) + 4|0); - $485 = HEAP32[$484>>2]|0; - $486 = (($485) + (($482*20)|0)|0); - HEAP32[$pX>>2] = $486; - $487 = HEAP32[$pSub>>2]|0; - $488 = ($487|0)!=(0|0); - $489 = HEAP32[$db>>2]|0; - if ($488) { - $490 = HEAP32[$j>>2]|0; - $491 = HEAP32[$pSub>>2]|0; - $492 = HEAP32[$491>>2]|0; - $493 = ((($492)) + 4|0); - $494 = HEAP32[$493>>2]|0; - $495 = (($494) + (($490*20)|0)|0); + $482 = (($481) + (($478*20)|0)|0); + HEAP32[$pX>>2] = $482; + $483 = HEAP32[$pSub>>2]|0; + $484 = ($483|0)!=(0|0); + $485 = HEAP32[$db>>2]|0; + if ($484) { + $486 = HEAP32[$j>>2]|0; + $487 = HEAP32[$pSub>>2]|0; + $488 = HEAP32[$487>>2]|0; + $489 = ((($488)) + 4|0); + $490 = HEAP32[$489>>2]|0; + $491 = (($490) + (($486*20)|0)|0); + $492 = ((($491)) + 8|0); + $493 = HEAP32[$492>>2]|0; + $494 = (_sqlite3DbStrDup($485,$493)|0); + $495 = HEAP32[$pX>>2]|0; $496 = ((($495)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = (_sqlite3DbStrDup($489,$497)|0); - $499 = HEAP32[$pX>>2]|0; - $500 = ((($499)) + 8|0); - HEAP32[$500>>2] = $498; + HEAP32[$496>>2] = $494; } else { - $501 = HEAP32[$zSchemaName>>2]|0; - $502 = HEAP32[$zTabName>>2]|0; - $503 = HEAP32[$zColname>>2]|0; - HEAP32[$vararg_buffer11>>2] = $501; + $497 = HEAP32[$zSchemaName>>2]|0; + $498 = HEAP32[$zTabName>>2]|0; + $499 = HEAP32[$zColname>>2]|0; + HEAP32[$vararg_buffer11>>2] = $497; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $502; + HEAP32[$vararg_ptr14>>2] = $498; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $503; - $504 = (_sqlite3MPrintf($489,31022,$vararg_buffer11)|0); - $505 = HEAP32[$pX>>2]|0; - $506 = ((($505)) + 8|0); - HEAP32[$506>>2] = $504; + HEAP32[$vararg_ptr15>>2] = $499; + $500 = (_sqlite3MPrintf($485,30747,$vararg_buffer11)|0); + $501 = HEAP32[$pX>>2]|0; + $502 = ((($501)) + 8|0); + HEAP32[$502>>2] = $500; } - $507 = HEAP32[$pX>>2]|0; - $508 = ((($507)) + 13|0); - $509 = HEAP8[$508>>0]|0; - $510 = $509 & -3; - $511 = $510 | 2; - HEAP8[$508>>0] = $511; + $503 = HEAP32[$pX>>2]|0; + $504 = ((($503)) + 13|0); + $505 = HEAP8[$504>>0]|0; + $506 = $505 & -3; + $507 = $506 | 2; + HEAP8[$504>>0] = $507; } } while(0); - $512 = HEAP32[$db>>2]|0; - $513 = HEAP32[$zToFree>>2]|0; - _sqlite3DbFree($512,$513); + $508 = HEAP32[$db>>2]|0; + $509 = HEAP32[$zToFree>>2]|0; + _sqlite3DbFree($508,$509); } } while(0); - $514 = HEAP32[$j>>2]|0; - $515 = (($514) + 1)|0; - HEAP32[$j>>2] = $515; + $510 = HEAP32[$j>>2]|0; + $511 = (($510) + 1)|0; + HEAP32[$j>>2] = $511; } } } while(0); - $516 = HEAP32[$i>>2]|0; - $517 = (($516) + 1)|0; - HEAP32[$i>>2] = $517; - $518 = HEAP32[$pFrom>>2]|0; - $519 = ((($518)) + 72|0); - HEAP32[$pFrom>>2] = $519; + $512 = HEAP32[$i>>2]|0; + $513 = (($512) + 1)|0; + HEAP32[$i>>2] = $513; + $514 = HEAP32[$pFrom>>2]|0; + $515 = ((($514)) + 72|0); + HEAP32[$pFrom>>2] = $515; } - $520 = HEAP32[$tableSeen>>2]|0; - $521 = ($520|0)!=(0); - if (!($521)) { - $522 = HEAP32[$zTName>>2]|0; - $523 = ($522|0)!=(0|0); - $524 = HEAP32[$pParse>>2]|0; - if ($523) { - $525 = HEAP32[$zTName>>2]|0; - HEAP32[$vararg_buffer16>>2] = $525; - _sqlite3ErrorMsg($524,31031,$vararg_buffer16); + $516 = HEAP32[$tableSeen>>2]|0; + $517 = ($516|0)!=(0); + if (!($517)) { + $518 = HEAP32[$zTName>>2]|0; + $519 = ($518|0)!=(0|0); + $520 = HEAP32[$pParse>>2]|0; + if ($519) { + $521 = HEAP32[$zTName>>2]|0; + HEAP32[$vararg_buffer16>>2] = $521; + _sqlite3ErrorMsg($520,30756,$vararg_buffer16); break; } else { - _sqlite3ErrorMsg($524,31049,$vararg_buffer19); + _sqlite3ErrorMsg($520,30774,$vararg_buffer19); break; } } } } while(0); - $526 = HEAP32[$k>>2]|0; - $527 = (($526) + 1)|0; - HEAP32[$k>>2] = $527; + $522 = HEAP32[$k>>2]|0; + $523 = (($522) + 1)|0; + HEAP32[$k>>2] = $523; } - $528 = HEAP32[$db>>2]|0; - $529 = HEAP32[$pEList>>2]|0; - _sqlite3ExprListDelete($528,$529); - $530 = HEAP32[$pNew>>2]|0; - $531 = HEAP32[$2>>2]|0; - HEAP32[$531>>2] = $530; + $524 = HEAP32[$db>>2]|0; + $525 = HEAP32[$pEList>>2]|0; + _sqlite3ExprListDelete($524,$525); + $526 = HEAP32[$pNew>>2]|0; + $527 = HEAP32[$2>>2]|0; + HEAP32[$527>>2] = $526; } - $532 = HEAP32[$2>>2]|0; - $533 = HEAP32[$532>>2]|0; - $534 = ($533|0)!=(0|0); - if ($534) { - $535 = HEAP32[$2>>2]|0; - $536 = HEAP32[$535>>2]|0; + $528 = HEAP32[$2>>2]|0; + $529 = HEAP32[$528>>2]|0; + $530 = ($529|0)!=(0|0); + if ($530) { + $531 = HEAP32[$2>>2]|0; + $532 = HEAP32[$531>>2]|0; + $533 = HEAP32[$532>>2]|0; + $534 = HEAP32[$db>>2]|0; + $535 = ((($534)) + 92|0); + $536 = ((($535)) + 8|0); $537 = HEAP32[$536>>2]|0; - $538 = HEAP32[$db>>2]|0; - $539 = ((($538)) + 88|0); - $540 = ((($539)) + 8|0); - $541 = HEAP32[$540>>2]|0; - $542 = ($537|0)>($541|0); - if ($542) { - $543 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($543,31069,$vararg_buffer21); + $538 = ($533|0)>($537|0); + if ($538) { + $539 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($539,30794,$vararg_buffer21); HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } } HEAP32[$0>>2] = 0; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } } HEAP32[$0>>2] = 2; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } } } HEAP32[$0>>2] = 1; - $544 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($544|0); + $540 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($540|0); } function _selectPopWith($pWalker,$p) { $pWalker = $pWalker|0; @@ -143825,7 +145072,7 @@ function _selectPopWith($pWalker,$p) { HEAP32[$pParse>>2] = $3; $4 = HEAP32[$1>>2]|0; $5 = (_findRightmost($4)|0); - $6 = ((($5)) + 68|0); + $6 = ((($5)) + 64|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pWith>>2] = $7; $8 = HEAP32[$pWith>>2]|0; @@ -143850,14 +145097,14 @@ function _findRightmost($p) { HEAP32[$0>>2] = $p; while(1) { $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 56|0); + $2 = ((($1)) + 52|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if (!($4)) { break; } - $6 = ((($5)) + 56|0); + $6 = ((($5)) + 52|0); $7 = HEAP32[$6>>2]|0; HEAP32[$0>>2] = $7; } @@ -143872,12 +145119,12 @@ function _withExpand($pWalker,$pFrom) { var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMayRecursive = 0, $db = 0, $i = 0, $pCte = 0, $pEList = 0, $pItem = 0; - var $pLeft = 0, $pParse = 0, $pSavedWith = 0, $pSel = 0, $pSrc = 0, $pTab = 0, $pWith = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bMayRecursive = 0, $db = 0, $i = 0, $pCte = 0, $pEList = 0, $pItem = 0, $pLeft = 0, $pParse = 0, $pSavedWith = 0; + var $pSel = 0, $pSrc = 0, $pTab = 0, $pWith = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 96|0; $vararg_buffer4 = sp + 16|0; @@ -143930,16 +145177,16 @@ function _withExpand($pWalker,$pFrom) { HEAP32[$vararg_buffer>>2] = $23; _sqlite3ErrorMsg($18,$21,$vararg_buffer); HEAP32[$0>>2] = 1; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); } $24 = HEAP32[$2>>2]|0; $25 = (_cannotBeFunction($18,$24)|0); $26 = ($25|0)!=(0); if ($26) { HEAP32[$0>>2] = 1; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); } $27 = HEAP32[$db>>2]|0; $28 = (_sqlite3DbMallocZero($27,72,0)|0); @@ -143951,8 +145198,8 @@ function _withExpand($pWalker,$pFrom) { $32 = ($31|0)==(0|0); if ($32) { HEAP32[$0>>2] = 2; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); } $33 = HEAP32[$pTab>>2]|0; $34 = ((($33)) + 36|0); @@ -143985,13 +145232,13 @@ function _withExpand($pWalker,$pFrom) { $56 = ((($55)) + 20|0); HEAP32[$56>>2] = $54; $57 = HEAP32[$db>>2]|0; - $58 = ((($57)) + 65|0); + $58 = ((($57)) + 69|0); $59 = HEAP8[$58>>0]|0; $60 = ($59<<24>>24)!=(0); if ($60) { HEAP32[$0>>2] = 7; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); } $61 = HEAP32[$2>>2]|0; $62 = ((($61)) + 20|0); @@ -144021,7 +145268,7 @@ function _withExpand($pWalker,$pFrom) { $78 = HEAP32[$2>>2]|0; $79 = ((($78)) + 20|0); $80 = HEAP32[$79>>2]|0; - $81 = ((($80)) + 32|0); + $81 = ((($80)) + 28|0); $82 = HEAP32[$81>>2]|0; HEAP32[$pSrc>>2] = $82; HEAP32[$i>>2] = 0; @@ -144053,7 +145300,7 @@ function _withExpand($pWalker,$pFrom) { $101 = HEAP32[$100>>2]|0; $102 = HEAP32[$pCte>>2]|0; $103 = HEAP32[$102>>2]|0; - $104 = (_sqlite3_stricmp($101,$103)|0); + $104 = (_sqlite3StrICmp($101,$103)|0); $105 = (0)==($104|0); if ($105) { $106 = HEAP32[$pTab>>2]|0; @@ -144073,163 +145320,160 @@ function _withExpand($pWalker,$pFrom) { $118 = (($117) + 1)<<16>>16; HEAP16[$116>>1] = $118; $119 = HEAP32[$pSel>>2]|0; - $120 = ((($119)) + 6|0); - $121 = HEAP16[$120>>1]|0; - $122 = $121&65535; - $123 = $122 | 8192; - $124 = $123&65535; - HEAP16[$120>>1] = $124; + $120 = ((($119)) + 8|0); + $121 = HEAP32[$120>>2]|0; + $122 = $121 | 8192; + HEAP32[$120>>2] = $122; } } } - $125 = HEAP32[$i>>2]|0; - $126 = (($125) + 1)|0; - HEAP32[$i>>2] = $126; + $123 = HEAP32[$i>>2]|0; + $124 = (($123) + 1)|0; + HEAP32[$i>>2] = $124; } } } while(0); - $127 = HEAP32[$pTab>>2]|0; - $128 = ((($127)) + 36|0); - $129 = HEAP16[$128>>1]|0; - $130 = $129&65535; - $131 = ($130|0)>(2); - if ($131) { - $132 = HEAP32[$pParse>>2]|0; - $133 = HEAP32[$pCte>>2]|0; - $134 = HEAP32[$133>>2]|0; - HEAP32[$vararg_buffer1>>2] = $134; - _sqlite3ErrorMsg($132,31310,$vararg_buffer1); + $125 = HEAP32[$pTab>>2]|0; + $126 = ((($125)) + 36|0); + $127 = HEAP16[$126>>1]|0; + $128 = $127&65535; + $129 = ($128|0)>(2); + if ($129) { + $130 = HEAP32[$pParse>>2]|0; + $131 = HEAP32[$pCte>>2]|0; + $132 = HEAP32[$131>>2]|0; + HEAP32[$vararg_buffer1>>2] = $132; + _sqlite3ErrorMsg($130,31035,$vararg_buffer1); HEAP32[$0>>2] = 1; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); - } - $135 = HEAP32[$pCte>>2]|0; - $136 = ((($135)) + 12|0); - HEAP32[$136>>2] = 31353; - $137 = HEAP32[$pParse>>2]|0; - $138 = ((($137)) + 536|0); - $139 = HEAP32[$138>>2]|0; - HEAP32[$pSavedWith>>2] = $139; - $140 = HEAP32[$pWith>>2]|0; - $141 = HEAP32[$pParse>>2]|0; - $142 = ((($141)) + 536|0); - HEAP32[$142>>2] = $140; - $143 = HEAP32[$1>>2]|0; - $144 = HEAP32[$bMayRecursive>>2]|0; - $145 = ($144|0)!=(0); - $146 = HEAP32[$pSel>>2]|0; - if ($145) { - $147 = ((($146)) + 52|0); - $148 = HEAP32[$147>>2]|0; - $149 = $148; + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); + } + $133 = HEAP32[$pCte>>2]|0; + $134 = ((($133)) + 12|0); + HEAP32[$134>>2] = 31078; + $135 = HEAP32[$pParse>>2]|0; + $136 = ((($135)) + 536|0); + $137 = HEAP32[$136>>2]|0; + HEAP32[$pSavedWith>>2] = $137; + $138 = HEAP32[$pWith>>2]|0; + $139 = HEAP32[$pParse>>2]|0; + $140 = ((($139)) + 536|0); + HEAP32[$140>>2] = $138; + $141 = HEAP32[$1>>2]|0; + $142 = HEAP32[$bMayRecursive>>2]|0; + $143 = ($142|0)!=(0); + $144 = HEAP32[$pSel>>2]|0; + if ($143) { + $145 = ((($144)) + 48|0); + $146 = HEAP32[$145>>2]|0; + $147 = $146; } else { - $149 = $146; - } - (_sqlite3WalkSelect($143,$149)|0); - $150 = HEAP32[$pWith>>2]|0; - $151 = HEAP32[$pParse>>2]|0; - $152 = ((($151)) + 536|0); - HEAP32[$152>>2] = $150; - $153 = HEAP32[$pSel>>2]|0; - HEAP32[$pLeft>>2] = $153; + $147 = $144; + } + (_sqlite3WalkSelect($141,$147)|0); + $148 = HEAP32[$pWith>>2]|0; + $149 = HEAP32[$pParse>>2]|0; + $150 = ((($149)) + 536|0); + HEAP32[$150>>2] = $148; + $151 = HEAP32[$pSel>>2]|0; + HEAP32[$pLeft>>2] = $151; while(1) { - $154 = HEAP32[$pLeft>>2]|0; - $155 = ((($154)) + 52|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)!=(0|0); - $158 = HEAP32[$pLeft>>2]|0; - if (!($157)) { + $152 = HEAP32[$pLeft>>2]|0; + $153 = ((($152)) + 48|0); + $154 = HEAP32[$153>>2]|0; + $155 = ($154|0)!=(0|0); + $156 = HEAP32[$pLeft>>2]|0; + if (!($155)) { break; } - $159 = ((($158)) + 52|0); - $160 = HEAP32[$159>>2]|0; - HEAP32[$pLeft>>2] = $160; + $157 = ((($156)) + 48|0); + $158 = HEAP32[$157>>2]|0; + HEAP32[$pLeft>>2] = $158; } - $161 = HEAP32[$158>>2]|0; - HEAP32[$pEList>>2] = $161; - $162 = HEAP32[$pCte>>2]|0; - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$pEList>>2]|0; - $167 = ($166|0)!=(0|0); - if ($167) { - $168 = HEAP32[$pEList>>2]|0; - $169 = HEAP32[$168>>2]|0; - $170 = HEAP32[$pCte>>2]|0; - $171 = ((($170)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = HEAP32[$172>>2]|0; - $174 = ($169|0)!=($173|0); - if ($174) { - $175 = HEAP32[$pParse>>2]|0; - $176 = HEAP32[$pCte>>2]|0; + $159 = HEAP32[$156>>2]|0; + HEAP32[$pEList>>2] = $159; + $160 = HEAP32[$pCte>>2]|0; + $161 = ((($160)) + 4|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)!=(0|0); + if ($163) { + $164 = HEAP32[$pEList>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$pEList>>2]|0; + $167 = HEAP32[$166>>2]|0; + $168 = HEAP32[$pCte>>2]|0; + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = HEAP32[$170>>2]|0; + $172 = ($167|0)!=($171|0); + if ($172) { + $173 = HEAP32[$pParse>>2]|0; + $174 = HEAP32[$pCte>>2]|0; + $175 = HEAP32[$174>>2]|0; + $176 = HEAP32[$pEList>>2]|0; $177 = HEAP32[$176>>2]|0; - $178 = HEAP32[$pEList>>2]|0; - $179 = HEAP32[$178>>2]|0; - $180 = HEAP32[$pCte>>2]|0; - $181 = ((($180)) + 4|0); - $182 = HEAP32[$181>>2]|0; - $183 = HEAP32[$182>>2]|0; - HEAP32[$vararg_buffer4>>2] = $177; + $178 = HEAP32[$pCte>>2]|0; + $179 = ((($178)) + 4|0); + $180 = HEAP32[$179>>2]|0; + $181 = HEAP32[$180>>2]|0; + HEAP32[$vararg_buffer4>>2] = $175; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $179; + HEAP32[$vararg_ptr7>>2] = $177; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $183; - _sqlite3ErrorMsg($175,31376,$vararg_buffer4); - $184 = HEAP32[$pSavedWith>>2]|0; - $185 = HEAP32[$pParse>>2]|0; - $186 = ((($185)) + 536|0); - HEAP32[$186>>2] = $184; + HEAP32[$vararg_ptr8>>2] = $181; + _sqlite3ErrorMsg($173,31101,$vararg_buffer4); + $182 = HEAP32[$pSavedWith>>2]|0; + $183 = HEAP32[$pParse>>2]|0; + $184 = ((($183)) + 536|0); + HEAP32[$184>>2] = $182; HEAP32[$0>>2] = 1; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); } } - $187 = HEAP32[$pCte>>2]|0; - $188 = ((($187)) + 4|0); - $189 = HEAP32[$188>>2]|0; - HEAP32[$pEList>>2] = $189; + $185 = HEAP32[$pCte>>2]|0; + $186 = ((($185)) + 4|0); + $187 = HEAP32[$186>>2]|0; + HEAP32[$pEList>>2] = $187; } - $190 = HEAP32[$pParse>>2]|0; - $191 = HEAP32[$pEList>>2]|0; + $188 = HEAP32[$pParse>>2]|0; + $189 = HEAP32[$pEList>>2]|0; + $190 = HEAP32[$pTab>>2]|0; + $191 = ((($190)) + 34|0); $192 = HEAP32[$pTab>>2]|0; - $193 = ((($192)) + 34|0); - $194 = HEAP32[$pTab>>2]|0; - $195 = ((($194)) + 4|0); - (_sqlite3ColumnsFromExprList($190,$191,$193,$195)|0); - $196 = HEAP32[$bMayRecursive>>2]|0; - $197 = ($196|0)!=(0); - if ($197) { - $198 = HEAP32[$pSel>>2]|0; - $199 = ((($198)) + 6|0); - $200 = HEAP16[$199>>1]|0; - $201 = $200&65535; - $202 = $201 & 8192; - $203 = ($202|0)!=(0); - $204 = HEAP32[$pCte>>2]|0; - $205 = ((($204)) + 12|0); - if ($203) { - HEAP32[$205>>2] = 31414; + $193 = ((($192)) + 4|0); + (_sqlite3ColumnsFromExprList($188,$189,$191,$193)|0); + $194 = HEAP32[$bMayRecursive>>2]|0; + $195 = ($194|0)!=(0); + if ($195) { + $196 = HEAP32[$pSel>>2]|0; + $197 = ((($196)) + 8|0); + $198 = HEAP32[$197>>2]|0; + $199 = $198 & 8192; + $200 = ($199|0)!=(0); + $201 = HEAP32[$pCte>>2]|0; + $202 = ((($201)) + 12|0); + if ($200) { + HEAP32[$202>>2] = 31139; } else { - HEAP32[$205>>2] = 31448; + HEAP32[$202>>2] = 31173; } - $206 = HEAP32[$1>>2]|0; - $207 = HEAP32[$pSel>>2]|0; - (_sqlite3WalkSelect($206,$207)|0); + $203 = HEAP32[$1>>2]|0; + $204 = HEAP32[$pSel>>2]|0; + (_sqlite3WalkSelect($203,$204)|0); } - $208 = HEAP32[$pCte>>2]|0; - $209 = ((($208)) + 12|0); - HEAP32[$209>>2] = 0; - $210 = HEAP32[$pSavedWith>>2]|0; - $211 = HEAP32[$pParse>>2]|0; - $212 = ((($211)) + 536|0); - HEAP32[$212>>2] = $210; + $205 = HEAP32[$pCte>>2]|0; + $206 = ((($205)) + 12|0); + HEAP32[$206>>2] = 0; + $207 = HEAP32[$pSavedWith>>2]|0; + $208 = HEAP32[$pParse>>2]|0; + $209 = ((($208)) + 536|0); + HEAP32[$209>>2] = $207; } HEAP32[$0>>2] = 0; - $213 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($213|0); + $210 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($210|0); } function _cannotBeFunction($pParse,$pFrom) { $pParse = $pParse|0; @@ -144257,7 +145501,7 @@ function _cannotBeFunction($pParse,$pFrom) { $13 = ((($12)) + 8|0); $14 = HEAP32[$13>>2]|0; HEAP32[$vararg_buffer>>2] = $14; - _sqlite3ErrorMsg($11,31287,$vararg_buffer); + _sqlite3ErrorMsg($11,31012,$vararg_buffer); HEAP32[$0>>2] = 1; $15 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($15|0); @@ -144321,7 +145565,7 @@ function _sqlite3IndexedByLookup($pParse,$pFrom) { $26 = HEAP32[$pIdx>>2]|0; $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$zIndexedBy>>2]|0; - $29 = (_sqlite3_stricmp($27,$28)|0); + $29 = (_sqlite3StrICmp($27,$28)|0); $30 = ($29|0)!=(0); if (!($30)) { break; @@ -144345,7 +145589,7 @@ function _sqlite3IndexedByLookup($pParse,$pFrom) { HEAP32[$vararg_buffer>>2] = $37; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = 0; - _sqlite3ErrorMsg($36,31269,$vararg_buffer); + _sqlite3ErrorMsg($36,30994,$vararg_buffer); $38 = HEAP32[$1>>2]|0; $39 = ((($38)) + 17|0); HEAP8[$39>>0] = 1; @@ -144399,7 +145643,7 @@ function _sqliteProcessJoin($pParse,$p) { HEAP32[$1>>2] = $pParse; HEAP32[$2>>2] = $p; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 32|0); + $4 = ((($3)) + 28|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSrc>>2] = $5; $6 = HEAP32[$pSrc>>2]|0; @@ -144481,7 +145725,7 @@ function _sqliteProcessJoin($pParse,$p) { $54 = HEAP32[$pRightTab>>2]|0; $55 = ((($54)) + 4|0); $56 = HEAP32[$55>>2]|0; - $57 = (($56) + (($53*24)|0)|0); + $57 = (($56) + ($53<<4)|0); $58 = HEAP32[$57>>2]|0; HEAP32[$zName>>2] = $58; $59 = HEAP32[$pSrc>>2]|0; @@ -144500,7 +145744,7 @@ function _sqliteProcessJoin($pParse,$p) { $71 = HEAP32[$j>>2]|0; $72 = HEAP32[$isOuter>>2]|0; $73 = HEAP32[$2>>2]|0; - $74 = ((($73)) + 36|0); + $74 = ((($73)) + 32|0); _addWhereTerm($65,$66,$67,$68,$70,$71,$72,$74); } $75 = HEAP32[$j>>2]|0; @@ -144542,14 +145786,14 @@ function _sqliteProcessJoin($pParse,$p) { $98 = HEAP32[$1>>2]|0; $99 = HEAP32[$98>>2]|0; $100 = HEAP32[$2>>2]|0; - $101 = ((($100)) + 36|0); + $101 = ((($100)) + 32|0); $102 = HEAP32[$101>>2]|0; $103 = HEAP32[$pRight>>2]|0; $104 = ((($103)) + 48|0); $105 = HEAP32[$104>>2]|0; $106 = (_sqlite3ExprAnd($99,$102,$105)|0); $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 36|0); + $108 = ((($107)) + 32|0); HEAP32[$108>>2] = $106; $109 = HEAP32[$pRight>>2]|0; $110 = ((($109)) + 48|0); @@ -144609,7 +145853,7 @@ function _sqliteProcessJoin($pParse,$p) { $147 = HEAP32[$iRightCol>>2]|0; $148 = HEAP32[$isOuter>>2]|0; $149 = HEAP32[$2>>2]|0; - $150 = ((($149)) + 36|0); + $150 = ((($149)) + 32|0); _addWhereTerm($141,$142,$143,$144,$146,$147,$148,$150); $151 = HEAP32[$j>>2]|0; $152 = (($151) + 1)|0; @@ -144631,14 +145875,14 @@ function _sqliteProcessJoin($pParse,$p) { if ((label|0) == 7) { $46 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = 0; - _sqlite3ErrorMsg($46,31100,$vararg_buffer); + _sqlite3ErrorMsg($46,30825,$vararg_buffer); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); } else if ((label|0) == 15) { $85 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($85,31150,$vararg_buffer2); + _sqlite3ErrorMsg($85,30875,$vararg_buffer2); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); @@ -144647,7 +145891,7 @@ function _sqliteProcessJoin($pParse,$p) { $139 = HEAP32[$1>>2]|0; $140 = HEAP32[$zName1>>2]|0; HEAP32[$vararg_buffer4>>2] = $140; - _sqlite3ErrorMsg($139,31205,$vararg_buffer4); + _sqlite3ErrorMsg($139,30930,$vararg_buffer4); HEAP32[$0>>2] = 1; $159 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($159|0); @@ -144765,7 +146009,7 @@ function _sqlite3IdListIndex($pList,$zName) { $13 = (($12) + ($10<<3)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3_stricmp($14,$15)|0); + $16 = (_sqlite3StrICmp($14,$15)|0); $17 = ($16|0)==(0); $18 = HEAP32[$i>>2]|0; if ($17) { @@ -144816,10 +146060,10 @@ function _columnIndex($pTab,$zCol) { $10 = HEAP32[$1>>2]|0; $11 = ((($10)) + 4|0); $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*24)|0)|0); + $13 = (($12) + ($9<<4)|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$2>>2]|0; - $16 = (_sqlite3_stricmp($14,$15)|0); + $16 = (_sqlite3StrICmp($14,$15)|0); $17 = ($16|0)==(0); $18 = HEAP32[$i>>2]|0; if ($17) { @@ -145070,7 +146314,7 @@ function _sqlite3ExprAnd($db,$pLeft,$pRight) { $17 = HEAP32[$3>>2]|0; _sqlite3ExprDelete($16,$17); $18 = HEAP32[$1>>2]|0; - $19 = (_sqlite3ExprAlloc($18,132,5092,0)|0); + $19 = (_sqlite3ExprAlloc($18,132,5108,0)|0); HEAP32[$0>>2] = $19; $27 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($27|0); @@ -145445,22 +146689,22 @@ function _heightOfSelect($p,$pnHeight) { STACKTOP = sp;return; } $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 36|0); + $5 = ((($4)) + 32|0); $6 = HEAP32[$5>>2]|0; $7 = HEAP32[$1>>2]|0; _heightOfExpr($6,$7); $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 44|0); + $9 = ((($8)) + 40|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$1>>2]|0; _heightOfExpr($10,$11); $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 60|0); + $13 = ((($12)) + 56|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$1>>2]|0; _heightOfExpr($14,$15); $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 64|0); + $17 = ((($16)) + 60|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$1>>2]|0; _heightOfExpr($18,$19); @@ -145469,17 +146713,17 @@ function _heightOfSelect($p,$pnHeight) { $22 = HEAP32[$1>>2]|0; _heightOfExprList($21,$22); $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 40|0); + $24 = ((($23)) + 36|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$1>>2]|0; _heightOfExprList($25,$26); $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 48|0); + $28 = ((($27)) + 44|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$1>>2]|0; _heightOfExprList($29,$30); $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 52|0); + $32 = ((($31)) + 48|0); $33 = HEAP32[$32>>2]|0; $34 = HEAP32[$1>>2]|0; _heightOfSelect($33,$34); @@ -145526,8 +146770,8 @@ function _heightOfExprList($p,$pnHeight) { } function _sqlite3ExprListFlags($pList) { $pList = $pList|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, $m = 0, $pExpr = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $i = 0, $m = 0, $pExpr = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -145539,8 +146783,8 @@ function _sqlite3ExprListFlags($pList) { $1 = HEAP32[$0>>2]|0; $2 = ($1|0)!=(0|0); if (!($2)) { - $22 = HEAP32[$m>>2]|0; - STACKTOP = sp;return ($22|0); + $20 = HEAP32[$m>>2]|0; + STACKTOP = sp;return ($20|0); } HEAP32[$i>>2] = 0; while(1) { @@ -145559,21 +146803,17 @@ function _sqlite3ExprListFlags($pList) { $12 = HEAP32[$11>>2]|0; HEAP32[$pExpr>>2] = $12; $13 = HEAP32[$pExpr>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$pExpr>>2]|0; - $16 = ((($15)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = HEAP32[$m>>2]|0; - $19 = $18 | $17; - HEAP32[$m>>2] = $19; - } - $20 = HEAP32[$i>>2]|0; - $21 = (($20) + 1)|0; - HEAP32[$i>>2] = $21; + $14 = ((($13)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$m>>2]|0; + $17 = $16 | $15; + HEAP32[$m>>2] = $17; + $18 = HEAP32[$i>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$i>>2] = $19; } - $22 = HEAP32[$m>>2]|0; - STACKTOP = sp;return ($22|0); + $20 = HEAP32[$m>>2]|0; + STACKTOP = sp;return ($20|0); } function _sqlite3CreateColumnExpr($db,$pSrc,$iSrc,$iCol) { $db = $db|0; @@ -145725,7 +146965,7 @@ function _searchWith($pWith,$pItem,$ppContext) { $22 = ((($21)) + 8|0); $23 = (($22) + ($20<<4)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3_stricmp($19,$24)|0); + $25 = (_sqlite3StrICmp($19,$24)|0); $26 = ($25|0)==(0); if ($26) { break L4; @@ -146220,13 +147460,12 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $azArg = 0, $i = 0, $iCol = 0, $iDb = 0, $j = 0, $nArg = 0, $nDel = 0, $nType = 0, $oooHidden = 0, $or$cond = 0, $pCtx = 0, $pVTable = 0, $rc = 0, $sCtx = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0; - var $vararg_buffer5 = 0, $vararg_buffer8 = 0, $zErr = 0, $zFormat = 0, $zModuleName = 0, $zType = 0, label = 0, sp = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $azArg = 0, $i = 0, $iCol = 0, $iDb = 0, $j = 0, $nArg = 0, $nDel = 0, $nType = 0, $oooHidden = 0, $or$cond = 0, $pCtx = 0, $pVTable = 0, $rc = 0, $sCtx = 0; + var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $zErr = 0, $zFormat = 0, $zModuleName = 0, $zType = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $vararg_buffer11 = sp + 32|0; @@ -146272,7 +147511,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { HEAP32[$nArg>>2] = $11; HEAP32[$zErr>>2] = 0; $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 328|0); + $13 = ((($12)) + 336|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pCtx>>2] = $14; while(1) { @@ -146300,25 +147539,25 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$23>>2]|0; HEAP32[$vararg_buffer>>2] = $24; - $25 = (_sqlite3MPrintf($22,31513,$vararg_buffer)|0); + $25 = (_sqlite3MPrintf($22,31238,$vararg_buffer)|0); $26 = HEAP32[$5>>2]|0; HEAP32[$26>>2] = $25; HEAP32[$0>>2] = 6; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } $30 = HEAP32[$1>>2]|0; $31 = HEAP32[$2>>2]|0; $32 = HEAP32[$31>>2]|0; HEAP32[$vararg_buffer2>>2] = $32; - $33 = (_sqlite3MPrintf($30,19255,$vararg_buffer2)|0); + $33 = (_sqlite3MPrintf($30,18999,$vararg_buffer2)|0); HEAP32[$zModuleName>>2] = $33; $34 = HEAP32[$zModuleName>>2]|0; $35 = ($34|0)!=(0|0); if (!($35)) { HEAP32[$0>>2] = 7; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } $36 = HEAP32[$1>>2]|0; $37 = (_sqlite3DbMallocZero($36,28,0)|0); @@ -146330,8 +147569,8 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $41 = HEAP32[$zModuleName>>2]|0; _sqlite3DbFree($40,$41); HEAP32[$0>>2] = 7; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } $42 = HEAP32[$pVTable>>2]|0; HEAP32[$42>>2] = $40; @@ -146362,14 +147601,14 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $63 = HEAP32[$pVTable>>2]|0; HEAP32[$sCtx>>2] = $63; $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 328|0); + $65 = ((($64)) + 336|0); $66 = HEAP32[$65>>2]|0; $67 = ((($sCtx)) + 8|0); HEAP32[$67>>2] = $66; $68 = ((($sCtx)) + 12|0); HEAP32[$68>>2] = 0; $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 328|0); + $70 = ((($69)) + 336|0); HEAP32[$70>>2] = $sCtx; $71 = HEAP32[$4>>2]|0; $72 = HEAP32[$1>>2]|0; @@ -146385,7 +147624,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $81 = ((($sCtx)) + 8|0); $82 = HEAP32[$81>>2]|0; $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 328|0); + $84 = ((($83)) + 336|0); HEAP32[$84>>2] = $82; $85 = HEAP32[$rc>>2]|0; $86 = ($85|0)==(7); @@ -146403,13 +147642,13 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { if ($91) { $93 = HEAP32[$zModuleName>>2]|0; HEAP32[$vararg_buffer5>>2] = $93; - $94 = (_sqlite3MPrintf($92,31555,$vararg_buffer5)|0); + $94 = (_sqlite3MPrintf($92,31280,$vararg_buffer5)|0); $95 = HEAP32[$5>>2]|0; HEAP32[$95>>2] = $94; } else { $96 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer8>>2] = $96; - $97 = (_sqlite3MPrintf($92,19255,$vararg_buffer8)|0); + $97 = (_sqlite3MPrintf($92,18999,$vararg_buffer8)|0); $98 = HEAP32[$5>>2]|0; HEAP32[$98>>2] = $97; $99 = HEAP32[$zErr>>2]|0; @@ -146441,7 +147680,7 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $117 = HEAP32[$116>>2]|0; $118 = ($117|0)==(0); if ($118) { - HEAP32[$zFormat>>2] = 31585; + HEAP32[$zFormat>>2] = 31310; $119 = HEAP32[$1>>2]|0; $120 = HEAP32[$zFormat>>2]|0; $121 = HEAP32[$2>>2]|0; @@ -146481,191 +147720,160 @@ function _vtabCallConstructor($db,$pTab,$pMod,$xConstruct,$pzErr) { $141 = HEAP32[$2>>2]|0; $142 = ((($141)) + 4|0); $143 = HEAP32[$142>>2]|0; - $144 = (($143) + (($140*24)|0)|0); - $145 = ((($144)) + 12|0); - $146 = HEAP32[$145>>2]|0; - HEAP32[$zType>>2] = $146; + $144 = (($143) + ($140<<4)|0); + $145 = (_sqlite3ColumnType($144,19010)|0); + HEAP32[$zType>>2] = $145; HEAP32[$i>>2] = 0; - $147 = HEAP32[$zType>>2]|0; - $148 = ($147|0)!=(0|0); - do { - if ($148) { - $157 = HEAP32[$zType>>2]|0; - $158 = (_sqlite3Strlen30($157)|0); - HEAP32[$nType>>2] = $158; - $159 = HEAP32[$zType>>2]|0; - $160 = (_sqlite3_strnicmp(31631,$159,6)|0); - $161 = ($160|0)!=(0); - if ($161) { - label = 27; - } else { - $162 = HEAP32[$zType>>2]|0; - $163 = ((($162)) + 6|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164 << 24 >> 24; - $166 = ($165|0)!=(0); - if ($166) { - $167 = HEAP32[$zType>>2]|0; - $168 = ((($167)) + 6|0); - $169 = HEAP8[$168>>0]|0; - $170 = $169 << 24 >> 24; - $171 = ($170|0)!=(32); - if ($171) { - label = 27; + $146 = HEAP32[$zType>>2]|0; + $147 = (_sqlite3Strlen30($146)|0); + HEAP32[$nType>>2] = $147; + HEAP32[$i>>2] = 0; + L34: while(1) { + $148 = HEAP32[$i>>2]|0; + $149 = HEAP32[$nType>>2]|0; + $150 = ($148|0)<($149|0); + if (!($150)) { + break; + } + $151 = HEAP32[$i>>2]|0; + $152 = HEAP32[$zType>>2]|0; + $153 = (($152) + ($151)|0); + $154 = (_sqlite3_strnicmp(31356,$153,6)|0); + $155 = (0)==($154|0); + do { + if ($155) { + $156 = HEAP32[$i>>2]|0; + $157 = ($156|0)==(0); + if (!($157)) { + $158 = HEAP32[$i>>2]|0; + $159 = (($158) - 1)|0; + $160 = HEAP32[$zType>>2]|0; + $161 = (($160) + ($159)|0); + $162 = HEAP8[$161>>0]|0; + $163 = $162 << 24 >> 24; + $164 = ($163|0)==(32); + if (!($164)) { + break; } } - } - L39: do { - if ((label|0) == 27) { - label = 0; - HEAP32[$i>>2] = 0; - while(1) { - $172 = HEAP32[$i>>2]|0; - $173 = HEAP32[$nType>>2]|0; - $174 = ($172|0)<($173|0); - if (!($174)) { - break L39; - } - $175 = HEAP32[$i>>2]|0; - $176 = HEAP32[$zType>>2]|0; - $177 = (($176) + ($175)|0); - $178 = (_sqlite3_strnicmp(31638,$177,7)|0); - $179 = (0)==($178|0); - if ($179) { - $180 = HEAP32[$i>>2]|0; - $181 = (($180) + 7)|0; - $182 = HEAP32[$zType>>2]|0; - $183 = (($182) + ($181)|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184 << 24 >> 24; - $186 = ($185|0)==(0); - if ($186) { - break; - } - $187 = HEAP32[$i>>2]|0; - $188 = (($187) + 7)|0; - $189 = HEAP32[$zType>>2]|0; - $190 = (($189) + ($188)|0); - $191 = HEAP8[$190>>0]|0; - $192 = $191 << 24 >> 24; - $193 = ($192|0)==(32); - if ($193) { - break; - } - } - $196 = HEAP32[$i>>2]|0; - $197 = (($196) + 1)|0; - HEAP32[$i>>2] = $197; - } - $194 = HEAP32[$i>>2]|0; - $195 = (($194) + 1)|0; - HEAP32[$i>>2] = $195; + $165 = HEAP32[$i>>2]|0; + $166 = (($165) + 6)|0; + $167 = HEAP32[$zType>>2]|0; + $168 = (($167) + ($166)|0); + $169 = HEAP8[$168>>0]|0; + $170 = $169 << 24 >> 24; + $171 = ($170|0)==(0); + if ($171) { + break L34; } - } while(0); - $198 = HEAP32[$i>>2]|0; - $199 = HEAP32[$nType>>2]|0; - $200 = ($198|0)<($199|0); - if (!($200)) { - $249 = HEAP8[$oooHidden>>0]|0; - $250 = $249&255; - $251 = HEAP32[$2>>2]|0; - $252 = ((($251)) + 42|0); - $253 = HEAP8[$252>>0]|0; - $254 = $253&255; - $255 = $254 | $250; - $256 = $255&255; - HEAP8[$252>>0] = $256; - break; - } - $201 = HEAP32[$i>>2]|0; - $202 = (($201) + 6)|0; - $203 = HEAP32[$zType>>2]|0; - $204 = (($203) + ($202)|0); - $205 = HEAP8[$204>>0]|0; - $206 = $205 << 24 >> 24; - $207 = ($206|0)!=(0); - $208 = $207 ? 1 : 0; - $209 = (6 + ($208))|0; - HEAP32[$nDel>>2] = $209; - $210 = HEAP32[$i>>2]|0; - HEAP32[$j>>2] = $210; - while(1) { - $211 = HEAP32[$j>>2]|0; - $212 = HEAP32[$nDel>>2]|0; - $213 = (($211) + ($212))|0; - $214 = HEAP32[$nType>>2]|0; - $215 = ($213|0)<=($214|0); - if (!($215)) { - break; + $172 = HEAP32[$i>>2]|0; + $173 = (($172) + 6)|0; + $174 = HEAP32[$zType>>2]|0; + $175 = (($174) + ($173)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176 << 24 >> 24; + $178 = ($177|0)==(32); + if ($178) { + break L34; } - $216 = HEAP32[$j>>2]|0; - $217 = HEAP32[$nDel>>2]|0; - $218 = (($216) + ($217))|0; - $219 = HEAP32[$zType>>2]|0; - $220 = (($219) + ($218)|0); - $221 = HEAP8[$220>>0]|0; - $222 = HEAP32[$j>>2]|0; - $223 = HEAP32[$zType>>2]|0; - $224 = (($223) + ($222)|0); - HEAP8[$224>>0] = $221; - $225 = HEAP32[$j>>2]|0; - $226 = (($225) + 1)|0; - HEAP32[$j>>2] = $226; } - $227 = HEAP32[$i>>2]|0; - $228 = HEAP32[$zType>>2]|0; - $229 = (($228) + ($227)|0); - $230 = HEAP8[$229>>0]|0; - $231 = $230 << 24 >> 24; - $232 = ($231|0)==(0); - $233 = HEAP32[$i>>2]|0; - $234 = ($233|0)>(0); - $or$cond = $232 & $234; - if ($or$cond) { - $235 = HEAP32[$i>>2]|0; - $236 = (($235) - 1)|0; - $237 = HEAP32[$zType>>2]|0; - $238 = (($237) + ($236)|0); - HEAP8[$238>>0] = 0; + } while(0); + $179 = HEAP32[$i>>2]|0; + $180 = (($179) + 1)|0; + HEAP32[$i>>2] = $180; + } + $181 = HEAP32[$i>>2]|0; + $182 = HEAP32[$nType>>2]|0; + $183 = ($181|0)<($182|0); + if ($183) { + $184 = HEAP32[$i>>2]|0; + $185 = (($184) + 6)|0; + $186 = HEAP32[$zType>>2]|0; + $187 = (($186) + ($185)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188 << 24 >> 24; + $190 = ($189|0)!=(0); + $191 = $190 ? 1 : 0; + $192 = (6 + ($191))|0; + HEAP32[$nDel>>2] = $192; + $193 = HEAP32[$i>>2]|0; + HEAP32[$j>>2] = $193; + while(1) { + $194 = HEAP32[$j>>2]|0; + $195 = HEAP32[$nDel>>2]|0; + $196 = (($194) + ($195))|0; + $197 = HEAP32[$nType>>2]|0; + $198 = ($196|0)<=($197|0); + if (!($198)) { + break; } - $239 = HEAP32[$iCol>>2]|0; - $240 = HEAP32[$2>>2]|0; - $241 = ((($240)) + 4|0); - $242 = HEAP32[$241>>2]|0; - $243 = (($242) + (($239*24)|0)|0); - $244 = ((($243)) + 23|0); - $245 = HEAP8[$244>>0]|0; - $246 = $245&255; - $247 = $246 | 2; - $248 = $247&255; - HEAP8[$244>>0] = $248; - HEAP8[$oooHidden>>0] = -128; - } else { - $149 = HEAP8[$oooHidden>>0]|0; - $150 = $149&255; - $151 = HEAP32[$2>>2]|0; - $152 = ((($151)) + 42|0); - $153 = HEAP8[$152>>0]|0; - $154 = $153&255; - $155 = $154 | $150; - $156 = $155&255; - HEAP8[$152>>0] = $156; + $199 = HEAP32[$j>>2]|0; + $200 = HEAP32[$nDel>>2]|0; + $201 = (($199) + ($200))|0; + $202 = HEAP32[$zType>>2]|0; + $203 = (($202) + ($201)|0); + $204 = HEAP8[$203>>0]|0; + $205 = HEAP32[$j>>2]|0; + $206 = HEAP32[$zType>>2]|0; + $207 = (($206) + ($205)|0); + HEAP8[$207>>0] = $204; + $208 = HEAP32[$j>>2]|0; + $209 = (($208) + 1)|0; + HEAP32[$j>>2] = $209; } - } while(0); - $257 = HEAP32[$iCol>>2]|0; - $258 = (($257) + 1)|0; - HEAP32[$iCol>>2] = $258; + $210 = HEAP32[$i>>2]|0; + $211 = HEAP32[$zType>>2]|0; + $212 = (($211) + ($210)|0); + $213 = HEAP8[$212>>0]|0; + $214 = $213 << 24 >> 24; + $215 = ($214|0)==(0); + $216 = HEAP32[$i>>2]|0; + $217 = ($216|0)>(0); + $or$cond = $215 & $217; + if ($or$cond) { + $218 = HEAP32[$i>>2]|0; + $219 = (($218) - 1)|0; + $220 = HEAP32[$zType>>2]|0; + $221 = (($220) + ($219)|0); + HEAP8[$221>>0] = 0; + } + $222 = HEAP32[$iCol>>2]|0; + $223 = HEAP32[$2>>2]|0; + $224 = ((($223)) + 4|0); + $225 = HEAP32[$224>>2]|0; + $226 = (($225) + ($222<<4)|0); + $227 = ((($226)) + 15|0); + $228 = HEAP8[$227>>0]|0; + $229 = $228&255; + $230 = $229 | 2; + $231 = $230&255; + HEAP8[$227>>0] = $231; + HEAP8[$oooHidden>>0] = -128; + } else { + $232 = HEAP8[$oooHidden>>0]|0; + $233 = $232&255; + $234 = HEAP32[$2>>2]|0; + $235 = ((($234)) + 42|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = $237 | $233; + $239 = $238&255; + HEAP8[$235>>0] = $239; + } + $240 = HEAP32[$iCol>>2]|0; + $241 = (($240) + 1)|0; + HEAP32[$iCol>>2] = $241; } } } } while(0); - $259 = HEAP32[$1>>2]|0; - $260 = HEAP32[$zModuleName>>2]|0; - _sqlite3DbFree($259,$260); - $261 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $261; - $262 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($262|0); + $242 = HEAP32[$1>>2]|0; + $243 = HEAP32[$zModuleName>>2]|0; + _sqlite3DbFree($242,$243); + $244 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $244; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } function _sqlite3ReadSchema($pParse) { $pParse = $pParse|0; @@ -146682,7 +147890,7 @@ function _sqlite3ReadSchema($pParse) { $2 = HEAP32[$1>>2]|0; HEAP32[$db>>2] = $2; $3 = HEAP32[$db>>2]|0; - $4 = ((($3)) + 140|0); + $4 = ((($3)) + 144|0); $5 = ((($4)) + 5|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); @@ -146866,11 +148074,11 @@ function _analyzeTable($pParse,$pTab,$pOnlyIdx) { if ($19) { $23 = HEAP32[$2>>2]|0; $24 = HEAP32[$23>>2]|0; - _openStatTable($20,$21,$22,$24,31725); + _openStatTable($20,$21,$22,$24,31442); } else { $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$25>>2]|0; - _openStatTable($20,$21,$22,$26,31729); + _openStatTable($20,$21,$22,$26,31446); } $27 = HEAP32[$0>>2]|0; $28 = HEAP32[$1>>2]|0; @@ -146919,14 +148127,14 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $9 = HEAP32[$8>>2]|0; $10 = ($9>>>0)>(0); $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 140|0); + $12 = ((($11)) + 144|0); if ($10) { $13 = ((($12)) + 5|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); if ($15) { $16 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($16,31688,$vararg_buffer); + _sqlite3ErrorMsg($16,31405,$vararg_buffer); HEAP32[$0>>2] = -1; $32 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($32|0); @@ -146944,7 +148152,7 @@ function _sqlite3TwoPartName($pParse,$pName1,$pName2,$pUnqual) { $24 = HEAP32[$1>>2]|0; $25 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer1>>2] = $25; - _sqlite3ErrorMsg($24,31705,$vararg_buffer1); + _sqlite3ErrorMsg($24,31422,$vararg_buffer1); HEAP32[$0>>2] = -1; $32 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($32|0); @@ -147022,7 +148230,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { break; } $18 = HEAP32[$i>>2]|0; - $19 = (5224 + ($18<<3)|0); + $19 = (5228 + ($18<<3)|0); $20 = HEAP32[$19>>2]|0; HEAP32[$zTab>>2] = $20; $21 = HEAP32[$db>>2]|0; @@ -147035,7 +148243,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { do { if ($26) { $27 = HEAP32[$i>>2]|0; - $28 = (5224 + ($27<<3)|0); + $28 = (5228 + ($27<<3)|0); $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; $31 = ($30|0)!=(0|0); @@ -147045,7 +148253,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { $34 = HEAP32[$33>>2]|0; $35 = HEAP32[$zTab>>2]|0; $36 = HEAP32[$i>>2]|0; - $37 = (5224 + ($36<<3)|0); + $37 = (5228 + ($36<<3)|0); $38 = ((($37)) + 4|0); $39 = HEAP32[$38>>2]|0; HEAP32[$vararg_buffer>>2] = $34; @@ -147053,7 +148261,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$vararg_ptr1>>2] = $35; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $39; - _sqlite3NestedParse($32,31786,$vararg_buffer); + _sqlite3NestedParse($32,31503,$vararg_buffer); $40 = HEAP32[$0>>2]|0; $41 = ((($40)) + 396|0); $42 = HEAP32[$41>>2]|0; @@ -147097,7 +148305,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$vararg_ptr7>>2] = $66; $vararg_ptr8 = ((($vararg_buffer3)) + 12|0); HEAP32[$vararg_ptr8>>2] = $67; - _sqlite3NestedParse($62,31809,$vararg_buffer3); + _sqlite3NestedParse($62,31526,$vararg_buffer3); break; } else { $68 = HEAP32[$v>>2]|0; @@ -147117,7 +148325,7 @@ function _openStatTable($pParse,$iDb,$iStatCur,$zWhere,$zWhereType) { HEAP32[$i>>2] = 0; while(1) { $75 = HEAP32[$i>>2]|0; - $76 = (5224 + ($75<<3)|0); + $76 = (5228 + ($75<<3)|0); $77 = ((($76)) + 4|0); $78 = HEAP32[$77>>2]|0; $79 = ($78|0)!=(0|0); @@ -147281,7 +148489,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { } $45 = HEAP32[$1>>2]|0; $46 = HEAP32[$45>>2]|0; - $47 = (_sqlite3_strlike(31733,$46,0)|0); + $47 = (_sqlite3_strlike(31450,$46,0)|0); $48 = ($47|0)==(0); if ($48) { STACKTOP = sp;return; @@ -147494,7 +148702,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $188 = HEAP32[$regStat4>>2]|0; $189 = (($188) + 1)|0; $190 = HEAP32[$regStat4>>2]|0; - (_sqlite3VdbeAddOp4($187,35,0,$189,$190,5108,-5)|0); + (_sqlite3VdbeAddOp4($187,35,0,$189,$190,5124,-5)|0); $191 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($191,2); $192 = HEAP32[$v>>2]|0; @@ -147638,7 +148846,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $285 = HEAP32[$v>>2]|0; $286 = HEAP32[$regStat4>>2]|0; $287 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($285,35,1,$286,$287,5140,-5)|0); + (_sqlite3VdbeAddOp4($285,35,1,$286,$287,5152,-5)|0); $288 = HEAP32[$v>>2]|0; _sqlite3VdbeChangeP5($288,2); $289 = HEAP32[$v>>2]|0; @@ -147652,7 +148860,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $295 = HEAP32[$v>>2]|0; $296 = HEAP32[$regTabname>>2]|0; $297 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($295,49,$296,3,$297,31742,0)|0); + (_sqlite3VdbeAddOp4($295,49,$296,3,$297,31459,0)|0); $298 = HEAP32[$v>>2]|0; $299 = HEAP32[$3>>2]|0; $300 = HEAP32[$regNewRowid>>2]|0; @@ -147698,7 +148906,7 @@ function _analyzeOneTable($pParse,$pTab,$pOnlyIdx,$iStatCur,$iMem,$iTab) { $323 = HEAP32[$v>>2]|0; $324 = HEAP32[$regTabname>>2]|0; $325 = HEAP32[$regTemp>>2]|0; - (_sqlite3VdbeAddOp4($323,49,$324,3,$325,31742,0)|0); + (_sqlite3VdbeAddOp4($323,49,$324,3,$325,31459,0)|0); $326 = HEAP32[$v>>2]|0; $327 = HEAP32[$3>>2]|0; $328 = HEAP32[$regNewRowid>>2]|0; @@ -148099,11 +149307,11 @@ function _sqlite3LocateCollSeq($pParse,$zName) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 62|0); + $5 = ((($4)) + 66|0); $6 = HEAP8[$5>>0]|0; HEAP8[$enc>>0] = $6; $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 140|0); + $8 = ((($7)) + 144|0); $9 = ((($8)) + 5|0); $10 = HEAP8[$9>>0]|0; HEAP8[$initbusy>>0] = $10; @@ -148246,7 +149454,7 @@ function _callStatGet($v,$regStat4,$iParam,$regOut) { $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp4($4,35,0,$5,$6,5172,-5)|0); + (_sqlite3VdbeAddOp4($4,35,0,$5,$6,5180,-5)|0); $7 = HEAP32[$0>>2]|0; _sqlite3VdbeChangeP5($7,1); STACKTOP = sp;return; @@ -148305,7 +149513,7 @@ function _statGet($context,$argc,$argv) { $22 = (($20) + 4)|0; $23 = $22; HEAP32[$23>>2] = 0; - (_sqlite3_snprintf(24,$17,31755,$vararg_buffer)|0); + (_sqlite3_snprintf(24,$17,31472,$vararg_buffer)|0); $24 = HEAP32[$zRet>>2]|0; $25 = HEAP32[$zRet>>2]|0; $26 = (_sqlite3Strlen30($25)|0); @@ -148374,7 +149582,7 @@ function _statGet($context,$argc,$argv) { $78 = (($76) + 4)|0; $79 = $78; HEAP32[$79>>2] = $75; - (_sqlite3_snprintf(24,$69,31760,$vararg_buffer1)|0); + (_sqlite3_snprintf(24,$69,31477,$vararg_buffer1)|0); $80 = HEAP32[$z>>2]|0; $81 = (_sqlite3Strlen30($80)|0); $82 = HEAP32[$z>>2]|0; @@ -148562,11 +149770,11 @@ function _sqlite3VdbeGetOp($p,$addr) { } $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; - $11 = ((($10)) + 65|0); + $11 = ((($10)) + 69|0); $12 = HEAP8[$11>>0]|0; $13 = ($12<<24>>24)!=(0); if ($13) { - HEAP32[$0>>2] = 5204; + HEAP32[$0>>2] = 5208; $19 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($19|0); } else { @@ -148769,7 +149977,7 @@ function _sqlite3KeyInfoOfIndex($pParse,$pIdx) { $41 = HEAP32[$40>>2]|0; HEAP32[$zColl>>2] = $41; $42 = HEAP32[$zColl>>2]|0; - $43 = ($42|0)==(35690|0); + $43 = ($42|0)==(35343|0); if ($43) { $51 = 0; } else { @@ -148863,7 +150071,7 @@ function _sqlite3KeyInfoAlloc($db,$N,$X) { $27 = ((($26)) + 8|0); HEAP16[$27>>1] = $25; $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 62|0); + $29 = ((($28)) + 66|0); $30 = HEAP8[$29>>0]|0; $31 = HEAP32[$p>>2]|0; $32 = ((($31)) + 4|0); @@ -149617,7 +150825,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { $12 = HEAP32[$2>>2]|0; $13 = HEAP32[$12>>2]|0; HEAP32[$vararg_buffer>>2] = $13; - _sqlite3XPrintf($errMsg,31924,$vararg_buffer); + _sqlite3XPrintf($errMsg,31641,$vararg_buffer); $39 = (_sqlite3StrAccumFinish($errMsg)|0); HEAP32[$zErr>>2] = $39; $40 = HEAP32[$0>>2]|0; @@ -149654,13 +150862,13 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { $27 = HEAP32[$pTab>>2]|0; $28 = ((($27)) + 4|0); $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*24)|0)|0); + $30 = (($29) + ($26<<4)|0); $31 = HEAP32[$30>>2]|0; HEAP32[$zCol>>2] = $31; $32 = HEAP32[$j>>2]|0; $33 = ($32|0)!=(0); if ($33) { - _sqlite3StrAccumAppend($errMsg,31935,2); + _sqlite3StrAccumAppend($errMsg,31652,2); } $34 = HEAP32[$pTab>>2]|0; $35 = HEAP32[$34>>2]|0; @@ -149668,7 +150876,7 @@ function _sqlite3UniqueConstraint($pParse,$onError,$pIdx) { HEAP32[$vararg_buffer1>>2] = $35; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $36; - _sqlite3XPrintf($errMsg,31016,$vararg_buffer1); + _sqlite3XPrintf($errMsg,30741,$vararg_buffer1); $37 = HEAP32[$j>>2]|0; $38 = (($37) + 1)|0; HEAP32[$j>>2] = $38; @@ -150351,7 +151559,7 @@ function _sqlite3ExprIfFalseDup($pParse,$pExpr,$dest,$jumpIfNull) { $8 = (_sqlite3ExprDup($6,$7,0)|0); HEAP32[$pCopy>>2] = $8; $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 65|0); + $10 = ((($9)) + 69|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; $13 = ($12|0)==(0); @@ -150654,7 +151862,7 @@ function _sqlite3VdbeChangeToNoop($p,$addr) { HEAP32[$2>>2] = $addr; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 65|0); + $5 = ((($4)) + 69|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if ($7) { @@ -150728,7 +151936,7 @@ function _freeP4($db,$p4type,$p4) { } case -6: { $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 528|0); + $13 = ((($12)) + 456|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)==(0|0); if (!($15)) { @@ -150741,7 +151949,7 @@ function _freeP4($db,$p4type,$p4) { } case -11: { $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 528|0); + $18 = ((($17)) + 456|0); $19 = HEAP32[$18>>2]|0; $20 = ($19|0)==(0|0); if (!($20)) { @@ -150761,7 +151969,7 @@ function _freeP4($db,$p4type,$p4) { } case -8: { $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 528|0); + $25 = ((($24)) + 456|0); $26 = HEAP32[$25>>2]|0; $27 = ($26|0)==(0|0); $28 = HEAP32[$2>>2]|0; @@ -150789,7 +151997,7 @@ function _freeP4($db,$p4type,$p4) { } case -10: { $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 528|0); + $40 = ((($39)) + 456|0); $41 = HEAP32[$40>>2]|0; $42 = ($41|0)==(0|0); if (!($42)) { @@ -150860,7 +152068,7 @@ function _sqlite3ExprCodeCopy($pParse,$pExpr,$target) { $7 = (_sqlite3ExprDup($5,$6,0)|0); HEAP32[$1>>2] = $7; $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 65|0); + $9 = ((($8)) + 69|0); $10 = HEAP8[$9>>0]|0; $11 = ($10<<24>>24)!=(0); if ($11) { @@ -151053,14 +152261,14 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { HEAP32[$pValue>>2] = 0; $8 = HEAP32[$0>>2]|0; $9 = (_sqlite3VdbeDb($8)|0); - $10 = ((($9)) + 62|0); + $10 = ((($9)) + 66|0); $11 = HEAP8[$10>>0]|0; HEAP8[$enc>>0] = $11; $12 = HEAP32[$2>>2]|0; $13 = HEAP32[$1>>2]|0; $14 = ((($13)) + 4|0); $15 = HEAP32[$14>>2]|0; - $16 = (($15) + (($12*24)|0)|0); + $16 = (($15) + ($12<<4)|0); HEAP32[$pCol>>2] = $16; $17 = HEAP32[$0>>2]|0; $18 = (_sqlite3VdbeDb($17)|0); @@ -151069,7 +152277,7 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { $21 = HEAP32[$20>>2]|0; $22 = HEAP8[$enc>>0]|0; $23 = HEAP32[$pCol>>2]|0; - $24 = ((($23)) + 21|0); + $24 = ((($23)) + 13|0); $25 = HEAP8[$24>>0]|0; (_sqlite3ValueFromExpr($18,$21,$22,$25,$pValue)|0); $26 = HEAP32[$pValue>>2]|0; @@ -151083,8 +152291,8 @@ function _sqlite3ColumnDefault($v,$pTab,$i,$iReg) { $31 = HEAP32[$1>>2]|0; $32 = ((($31)) + 4|0); $33 = HEAP32[$32>>2]|0; - $34 = (($33) + (($30*24)|0)|0); - $35 = ((($34)) + 21|0); + $34 = (($33) + ($30<<4)|0); + $35 = ((($34)) + 13|0); $36 = HEAP8[$35>>0]|0; $37 = $36 << 24 >> 24; $38 = ($37|0)==(69); @@ -151206,51 +152414,50 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0; var $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0; var $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0; - var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aListelem = 0, $addr = 0; - var $constMask = 0, $db = 0, $destIfFalse = 0, $destIfNull = 0, $enc = 0, $endCoalesce = 0, $endLabel = 0, $exprOp = 0, $i = 0, $i2 = 0, $iTab = 0, $inReg = 0, $n = 0, $nExpr = 0, $nFarg = 0, $nId = 0, $nextCase = 0, $op = 0, $opCompare = 0, $or$cond = 0; - var $or$cond3 = 0, $p1 = 0, $pAggInfo = 0, $pCol = 0, $pColl = 0, $pDef = 0, $pEList = 0, $pFarg = 0, $pInfo = 0, $pLItem = 0, $pLeft = 0, $pLeft1 = 0, $pRight = 0, $pTab = 0, $pTest = 0, $pX = 0, $r1 = 0, $r2 = 0, $r3 = 0, $r4 = 0; - var $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr7 = 0, $z = 0, $zBlob = 0, $zId = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aListelem = 0, $addr = 0, $constMask = 0, $db = 0, $destIfFalse = 0, $destIfNull = 0; + var $enc = 0, $endCoalesce = 0, $endLabel = 0, $exprOp = 0, $i = 0, $i2 = 0, $iTab = 0, $inReg = 0, $n = 0, $nExpr = 0, $nFarg = 0, $nextCase = 0, $op = 0, $opCompare = 0, $or$cond = 0, $or$cond3 = 0, $p1 = 0, $pAggInfo = 0, $pCol = 0, $pColl = 0; + var $pDef = 0, $pEList = 0, $pFarg = 0, $pInfo = 0, $pLItem = 0, $pLeft = 0, $pLeft1 = 0, $pRight = 0, $pTab = 0, $pTest = 0, $pX = 0, $r1 = 0, $r2 = 0, $r3 = 0, $r4 = 0, $regFree1 = 0, $regFree2 = 0, $tempX = 0, $v = 0, $vararg_buffer = 0; + var $vararg_buffer4 = 0, $vararg_buffer7 = 0, $z = 0, $zBlob = 0, $zId = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 320|0; - $vararg_buffer8 = sp + 16|0; + $vararg_buffer7 = sp + 16|0; $vararg_buffer4 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 308|0; - $1 = sp + 304|0; - $2 = sp + 300|0; - $3 = sp + 296|0; - $v = sp + 292|0; - $op = sp + 288|0; - $inReg = sp + 284|0; - $regFree1 = sp + 280|0; - $regFree2 = sp + 276|0; - $r1 = sp + 272|0; - $r2 = sp + 268|0; - $r3 = sp + 264|0; - $r4 = sp + 260|0; - $db = sp + 256|0; - $tempX = sp + 208|0; - $pAggInfo = sp + 200|0; - $pCol = sp + 196|0; - $iTab = sp + 192|0; - $n = sp + 188|0; - $z = sp + 184|0; - $zBlob = sp + 180|0; - $pLeft = sp + 176|0; - $addr = sp + 172|0; - $pInfo = sp + 168|0; - $pFarg = sp + 164|0; - $nFarg = sp + 160|0; - $pDef = sp + 156|0; - $nId = sp + 152|0; + $0 = sp + 300|0; + $1 = sp + 296|0; + $2 = sp + 292|0; + $3 = sp + 288|0; + $v = sp + 284|0; + $op = sp + 280|0; + $inReg = sp + 276|0; + $regFree1 = sp + 272|0; + $regFree2 = sp + 268|0; + $r1 = sp + 264|0; + $r2 = sp + 260|0; + $r3 = sp + 256|0; + $r4 = sp + 252|0; + $db = sp + 248|0; + $tempX = sp + 200|0; + $pAggInfo = sp + 196|0; + $pCol = sp + 192|0; + $iTab = sp + 188|0; + $n = sp + 184|0; + $z = sp + 180|0; + $zBlob = sp + 176|0; + $pLeft = sp + 172|0; + $addr = sp + 168|0; + $pInfo = sp + 164|0; + $pFarg = sp + 160|0; + $nFarg = sp + 156|0; + $pDef = sp + 152|0; $zId = sp + 148|0; $constMask = sp + 144|0; $i = sp + 140|0; - $enc = sp + 313|0; + $enc = sp + 305|0; $pColl = sp + 136|0; $endCoalesce = sp + 132|0; - $exprOp = sp + 312|0; + $exprOp = sp + 304|0; $destIfFalse = sp + 128|0; $destIfNull = sp + 124|0; $pLeft1 = sp + 120|0; @@ -151285,8 +152492,8 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $11 = ($10|0)==(0|0); if ($11) { HEAP32[$0>>2] = 0; - $737 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($737|0); + $733 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($733|0); } $12 = HEAP32[$2>>2]|0; $13 = ($12|0)==(0|0); @@ -151660,7 +152867,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $287 = ((($286)) + 8|0); $288 = HEAP32[$287>>2]|0; HEAP32[$vararg_buffer>>2] = $288; - _sqlite3ErrorMsg($285,31938,$vararg_buffer); + _sqlite3ErrorMsg($285,31655,$vararg_buffer); break L9; } else { $289 = HEAP32[$2>>2]|0; @@ -151681,7 +152888,7 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { case 151: { HEAP32[$constMask>>2] = 0; $299 = HEAP32[$db>>2]|0; - $300 = ((($299)) + 62|0); + $300 = ((($299)) + 66|0); $301 = HEAP8[$300>>0]|0; HEAP8[$enc>>0] = $301; HEAP32[$pColl>>2] = 0; @@ -151712,236 +152919,232 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { $316 = ((($315)) + 8|0); $317 = HEAP32[$316>>2]|0; HEAP32[$zId>>2] = $317; - $318 = HEAP32[$zId>>2]|0; - $319 = (_sqlite3Strlen30($318)|0); - HEAP32[$nId>>2] = $319; - $320 = HEAP32[$db>>2]|0; - $321 = HEAP32[$zId>>2]|0; - $322 = HEAP32[$nId>>2]|0; - $323 = HEAP32[$nFarg>>2]|0; - $324 = HEAP8[$enc>>0]|0; - $325 = (_sqlite3FindFunction($320,$321,$322,$323,$324,0)|0); - HEAP32[$pDef>>2] = $325; - $326 = HEAP32[$pDef>>2]|0; - $327 = ($326|0)==(0|0); - if (!($327)) { - $328 = HEAP32[$pDef>>2]|0; - $329 = ((($328)) + 16|0); - $330 = HEAP32[$329>>2]|0; - $331 = ($330|0)!=(0|0); - if (!($331)) { - $335 = HEAP32[$pDef>>2]|0; - $336 = ((($335)) + 2|0); - $337 = HEAP16[$336>>1]|0; - $338 = $337&65535; - $339 = $338 & 512; - $340 = ($339|0)!=(0); - if ($340) { - $341 = HEAP32[$v>>2]|0; - $342 = (_sqlite3VdbeMakeLabel($341)|0); - HEAP32[$endCoalesce>>2] = $342; - $343 = HEAP32[$1>>2]|0; - $344 = HEAP32[$pFarg>>2]|0; - $345 = ((($344)) + 4|0); - $346 = HEAP32[$345>>2]|0; - $347 = HEAP32[$346>>2]|0; - $348 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($343,$347,$348); + $318 = HEAP32[$db>>2]|0; + $319 = HEAP32[$zId>>2]|0; + $320 = HEAP32[$nFarg>>2]|0; + $321 = HEAP8[$enc>>0]|0; + $322 = (_sqlite3FindFunction($318,$319,$320,$321,0)|0); + HEAP32[$pDef>>2] = $322; + $323 = HEAP32[$pDef>>2]|0; + $324 = ($323|0)==(0|0); + if (!($324)) { + $325 = HEAP32[$pDef>>2]|0; + $326 = ((($325)) + 16|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)!=(0|0); + if (!($328)) { + $331 = HEAP32[$pDef>>2]|0; + $332 = ((($331)) + 2|0); + $333 = HEAP16[$332>>1]|0; + $334 = $333&65535; + $335 = $334 & 512; + $336 = ($335|0)!=(0); + if ($336) { + $337 = HEAP32[$v>>2]|0; + $338 = (_sqlite3VdbeMakeLabel($337)|0); + HEAP32[$endCoalesce>>2] = $338; + $339 = HEAP32[$1>>2]|0; + $340 = HEAP32[$pFarg>>2]|0; + $341 = ((($340)) + 4|0); + $342 = HEAP32[$341>>2]|0; + $343 = HEAP32[$342>>2]|0; + $344 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($339,$343,$344); HEAP32[$i>>2] = 1; while(1) { - $349 = HEAP32[$i>>2]|0; - $350 = HEAP32[$nFarg>>2]|0; - $351 = ($349|0)<($350|0); - $352 = HEAP32[$v>>2]|0; - if (!($351)) { + $345 = HEAP32[$i>>2]|0; + $346 = HEAP32[$nFarg>>2]|0; + $347 = ($345|0)<($346|0); + $348 = HEAP32[$v>>2]|0; + if (!($347)) { break; } - $353 = HEAP32[$3>>2]|0; - $354 = HEAP32[$endCoalesce>>2]|0; - (_sqlite3VdbeAddOp2($352,77,$353,$354)|0); - $355 = HEAP32[$1>>2]|0; - $356 = HEAP32[$3>>2]|0; - _sqlite3ExprCacheRemove($355,$356,1); - $357 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($357); - $358 = HEAP32[$1>>2]|0; - $359 = HEAP32[$i>>2]|0; - $360 = HEAP32[$pFarg>>2]|0; - $361 = ((($360)) + 4|0); - $362 = HEAP32[$361>>2]|0; - $363 = (($362) + (($359*20)|0)|0); - $364 = HEAP32[$363>>2]|0; - $365 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($358,$364,$365); - $366 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($366); - $367 = HEAP32[$i>>2]|0; - $368 = (($367) + 1)|0; - HEAP32[$i>>2] = $368; + $349 = HEAP32[$3>>2]|0; + $350 = HEAP32[$endCoalesce>>2]|0; + (_sqlite3VdbeAddOp2($348,77,$349,$350)|0); + $351 = HEAP32[$1>>2]|0; + $352 = HEAP32[$3>>2]|0; + _sqlite3ExprCacheRemove($351,$352,1); + $353 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($353); + $354 = HEAP32[$1>>2]|0; + $355 = HEAP32[$i>>2]|0; + $356 = HEAP32[$pFarg>>2]|0; + $357 = ((($356)) + 4|0); + $358 = HEAP32[$357>>2]|0; + $359 = (($358) + (($355*20)|0)|0); + $360 = HEAP32[$359>>2]|0; + $361 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($354,$360,$361); + $362 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($362); + $363 = HEAP32[$i>>2]|0; + $364 = (($363) + 1)|0; + HEAP32[$i>>2] = $364; } - $369 = HEAP32[$endCoalesce>>2]|0; - _sqlite3VdbeResolveLabel($352,$369); + $365 = HEAP32[$endCoalesce>>2]|0; + _sqlite3VdbeResolveLabel($348,$365); break L9; } - $370 = HEAP32[$pDef>>2]|0; - $371 = ((($370)) + 2|0); - $372 = HEAP16[$371>>1]|0; - $373 = $372&65535; - $374 = $373 & 1024; - $375 = ($374|0)!=(0); - if ($375) { - $376 = HEAP32[$1>>2]|0; - $377 = HEAP32[$pFarg>>2]|0; - $378 = ((($377)) + 4|0); - $379 = HEAP32[$378>>2]|0; - $380 = HEAP32[$379>>2]|0; - $381 = HEAP32[$3>>2]|0; - $382 = (_sqlite3ExprCodeTarget($376,$380,$381)|0); - HEAP32[$inReg>>2] = $382; + $366 = HEAP32[$pDef>>2]|0; + $367 = ((($366)) + 2|0); + $368 = HEAP16[$367>>1]|0; + $369 = $368&65535; + $370 = $369 & 1024; + $371 = ($370|0)!=(0); + if ($371) { + $372 = HEAP32[$1>>2]|0; + $373 = HEAP32[$pFarg>>2]|0; + $374 = ((($373)) + 4|0); + $375 = HEAP32[$374>>2]|0; + $376 = HEAP32[$375>>2]|0; + $377 = HEAP32[$3>>2]|0; + $378 = (_sqlite3ExprCodeTarget($372,$376,$377)|0); + HEAP32[$inReg>>2] = $378; break L9; } HEAP32[$i>>2] = 0; while(1) { - $383 = HEAP32[$i>>2]|0; - $384 = HEAP32[$nFarg>>2]|0; - $385 = ($383|0)<($384|0); - if (!($385)) { + $379 = HEAP32[$i>>2]|0; + $380 = HEAP32[$nFarg>>2]|0; + $381 = ($379|0)<($380|0); + if (!($381)) { break; } - $386 = HEAP32[$i>>2]|0; - $387 = ($386|0)<(32); - if ($387) { - $388 = HEAP32[$i>>2]|0; - $389 = HEAP32[$pFarg>>2]|0; - $390 = ((($389)) + 4|0); - $391 = HEAP32[$390>>2]|0; - $392 = (($391) + (($388*20)|0)|0); - $393 = HEAP32[$392>>2]|0; - $394 = (_sqlite3ExprIsConstant($393)|0); - $395 = ($394|0)!=(0); - if ($395) { - $396 = HEAP32[$i>>2]|0; - $397 = 1 << $396; - $398 = HEAP32[$constMask>>2]|0; - $399 = $398 | $397; - HEAP32[$constMask>>2] = $399; + $382 = HEAP32[$i>>2]|0; + $383 = ($382|0)<(32); + if ($383) { + $384 = HEAP32[$i>>2]|0; + $385 = HEAP32[$pFarg>>2]|0; + $386 = ((($385)) + 4|0); + $387 = HEAP32[$386>>2]|0; + $388 = (($387) + (($384*20)|0)|0); + $389 = HEAP32[$388>>2]|0; + $390 = (_sqlite3ExprIsConstant($389)|0); + $391 = ($390|0)!=(0); + if ($391) { + $392 = HEAP32[$i>>2]|0; + $393 = 1 << $392; + $394 = HEAP32[$constMask>>2]|0; + $395 = $394 | $393; + HEAP32[$constMask>>2] = $395; } } - $400 = HEAP32[$pDef>>2]|0; - $401 = ((($400)) + 2|0); - $402 = HEAP16[$401>>1]|0; - $403 = $402&65535; - $404 = $403 & 32; - $405 = ($404|0)==(0); - $406 = HEAP32[$pColl>>2]|0; - $407 = ($406|0)!=(0|0); - $or$cond = $405 | $407; + $396 = HEAP32[$pDef>>2]|0; + $397 = ((($396)) + 2|0); + $398 = HEAP16[$397>>1]|0; + $399 = $398&65535; + $400 = $399 & 32; + $401 = ($400|0)==(0); + $402 = HEAP32[$pColl>>2]|0; + $403 = ($402|0)!=(0|0); + $or$cond = $401 | $403; if (!($or$cond)) { - $408 = HEAP32[$1>>2]|0; - $409 = HEAP32[$i>>2]|0; - $410 = HEAP32[$pFarg>>2]|0; - $411 = ((($410)) + 4|0); - $412 = HEAP32[$411>>2]|0; - $413 = (($412) + (($409*20)|0)|0); - $414 = HEAP32[$413>>2]|0; - $415 = (_sqlite3ExprCollSeq($408,$414)|0); - HEAP32[$pColl>>2] = $415; + $404 = HEAP32[$1>>2]|0; + $405 = HEAP32[$i>>2]|0; + $406 = HEAP32[$pFarg>>2]|0; + $407 = ((($406)) + 4|0); + $408 = HEAP32[$407>>2]|0; + $409 = (($408) + (($405*20)|0)|0); + $410 = HEAP32[$409>>2]|0; + $411 = (_sqlite3ExprCollSeq($404,$410)|0); + HEAP32[$pColl>>2] = $411; } - $416 = HEAP32[$i>>2]|0; - $417 = (($416) + 1)|0; - HEAP32[$i>>2] = $417; - } - $418 = HEAP32[$pFarg>>2]|0; - $419 = ($418|0)!=(0|0); - if ($419) { - $420 = HEAP32[$constMask>>2]|0; - $421 = ($420|0)!=(0); - $422 = HEAP32[$1>>2]|0; - if ($421) { - $423 = ((($422)) + 76|0); - $424 = HEAP32[$423>>2]|0; - $425 = (($424) + 1)|0; - HEAP32[$r1>>2] = $425; - $426 = HEAP32[$nFarg>>2]|0; - $427 = HEAP32[$1>>2]|0; - $428 = ((($427)) + 76|0); - $429 = HEAP32[$428>>2]|0; - $430 = (($429) + ($426))|0; - HEAP32[$428>>2] = $430; + $412 = HEAP32[$i>>2]|0; + $413 = (($412) + 1)|0; + HEAP32[$i>>2] = $413; + } + $414 = HEAP32[$pFarg>>2]|0; + $415 = ($414|0)!=(0|0); + if ($415) { + $416 = HEAP32[$constMask>>2]|0; + $417 = ($416|0)!=(0); + $418 = HEAP32[$1>>2]|0; + if ($417) { + $419 = ((($418)) + 76|0); + $420 = HEAP32[$419>>2]|0; + $421 = (($420) + 1)|0; + HEAP32[$r1>>2] = $421; + $422 = HEAP32[$nFarg>>2]|0; + $423 = HEAP32[$1>>2]|0; + $424 = ((($423)) + 76|0); + $425 = HEAP32[$424>>2]|0; + $426 = (($425) + ($422))|0; + HEAP32[$424>>2] = $426; } else { - $431 = HEAP32[$nFarg>>2]|0; - $432 = (_sqlite3GetTempRange($422,$431)|0); - HEAP32[$r1>>2] = $432; + $427 = HEAP32[$nFarg>>2]|0; + $428 = (_sqlite3GetTempRange($418,$427)|0); + HEAP32[$r1>>2] = $428; } - $433 = HEAP32[$pDef>>2]|0; - $434 = ((($433)) + 2|0); - $435 = HEAP16[$434>>1]|0; - $436 = $435&65535; - $437 = $436 & 192; - $438 = ($437|0)!=(0); + $429 = HEAP32[$pDef>>2]|0; + $430 = ((($429)) + 2|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431&65535; + $433 = $432 & 192; + $434 = ($433|0)!=(0); do { - if ($438) { - $439 = HEAP32[$pFarg>>2]|0; - $440 = ((($439)) + 4|0); - $441 = HEAP32[$440>>2]|0; - $442 = HEAP32[$441>>2]|0; - $443 = HEAP8[$442>>0]|0; - HEAP8[$exprOp>>0] = $443; - $444 = HEAP8[$exprOp>>0]|0; - $445 = $444&255; - $446 = ($445|0)==(152); - if (!($446)) { - $447 = HEAP8[$exprOp>>0]|0; - $448 = $447&255; - $449 = ($448|0)==(154); - if (!($449)) { + if ($434) { + $435 = HEAP32[$pFarg>>2]|0; + $436 = ((($435)) + 4|0); + $437 = HEAP32[$436>>2]|0; + $438 = HEAP32[$437>>2]|0; + $439 = HEAP8[$438>>0]|0; + HEAP8[$exprOp>>0] = $439; + $440 = HEAP8[$exprOp>>0]|0; + $441 = $440&255; + $442 = ($441|0)==(152); + if (!($442)) { + $443 = HEAP8[$exprOp>>0]|0; + $444 = $443&255; + $445 = ($444|0)==(154); + if (!($445)) { break; } } - $450 = HEAP32[$pDef>>2]|0; - $451 = ((($450)) + 2|0); - $452 = HEAP16[$451>>1]|0; - $453 = $452&65535; - $454 = $453 & 192; - $455 = $454&255; - $456 = HEAP32[$pFarg>>2]|0; - $457 = ((($456)) + 4|0); - $458 = HEAP32[$457>>2]|0; - $459 = HEAP32[$458>>2]|0; - $460 = ((($459)) + 38|0); - HEAP8[$460>>0] = $455; + $446 = HEAP32[$pDef>>2]|0; + $447 = ((($446)) + 2|0); + $448 = HEAP16[$447>>1]|0; + $449 = $448&65535; + $450 = $449 & 192; + $451 = $450&255; + $452 = HEAP32[$pFarg>>2]|0; + $453 = ((($452)) + 4|0); + $454 = HEAP32[$453>>2]|0; + $455 = HEAP32[$454>>2]|0; + $456 = ((($455)) + 38|0); + HEAP8[$456>>0] = $451; } } while(0); + $457 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($457); + $458 = HEAP32[$1>>2]|0; + $459 = HEAP32[$pFarg>>2]|0; + $460 = HEAP32[$r1>>2]|0; + (_sqlite3ExprCodeExprList($458,$459,$460,0,3)|0); $461 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($461); - $462 = HEAP32[$1>>2]|0; - $463 = HEAP32[$pFarg>>2]|0; - $464 = HEAP32[$r1>>2]|0; - (_sqlite3ExprCodeExprList($462,$463,$464,0,3)|0); - $465 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($465); + _sqlite3ExprCachePop($461); } else { HEAP32[$r1>>2] = 0; } - $466 = HEAP32[$nFarg>>2]|0; - $467 = ($466|0)>=(2); - if ($467) { - $468 = HEAP32[$2>>2]|0; - $469 = ((($468)) + 4|0); - $470 = HEAP32[$469>>2]|0; - $471 = $470 & 128; - $472 = ($471|0)!=(0); - if ($472) { - $473 = HEAP32[$db>>2]|0; - $474 = HEAP32[$pDef>>2]|0; - $475 = HEAP32[$nFarg>>2]|0; - $476 = HEAP32[$pFarg>>2]|0; - $477 = ((($476)) + 4|0); - $478 = HEAP32[$477>>2]|0; - $479 = ((($478)) + 20|0); - $480 = HEAP32[$479>>2]|0; - $481 = (_sqlite3VtabOverloadFunction($473,$474,$475,$480)|0); - HEAP32[$pDef>>2] = $481; + $462 = HEAP32[$nFarg>>2]|0; + $463 = ($462|0)>=(2); + if ($463) { + $464 = HEAP32[$2>>2]|0; + $465 = ((($464)) + 4|0); + $466 = HEAP32[$465>>2]|0; + $467 = $466 & 128; + $468 = ($467|0)!=(0); + if ($468) { + $469 = HEAP32[$db>>2]|0; + $470 = HEAP32[$pDef>>2]|0; + $471 = HEAP32[$nFarg>>2]|0; + $472 = HEAP32[$pFarg>>2]|0; + $473 = ((($472)) + 4|0); + $474 = HEAP32[$473>>2]|0; + $475 = ((($474)) + 20|0); + $476 = HEAP32[$475>>2]|0; + $477 = (_sqlite3VtabOverloadFunction($469,$470,$471,$476)|0); + HEAP32[$pDef>>2] = $477; } else { label = 77; } @@ -151949,395 +153152,392 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { label = 77; } if ((label|0) == 77) { - $482 = HEAP32[$nFarg>>2]|0; - $483 = ($482|0)>(0); - if ($483) { - $484 = HEAP32[$db>>2]|0; - $485 = HEAP32[$pDef>>2]|0; - $486 = HEAP32[$nFarg>>2]|0; - $487 = HEAP32[$pFarg>>2]|0; - $488 = ((($487)) + 4|0); - $489 = HEAP32[$488>>2]|0; - $490 = HEAP32[$489>>2]|0; - $491 = (_sqlite3VtabOverloadFunction($484,$485,$486,$490)|0); - HEAP32[$pDef>>2] = $491; + $478 = HEAP32[$nFarg>>2]|0; + $479 = ($478|0)>(0); + if ($479) { + $480 = HEAP32[$db>>2]|0; + $481 = HEAP32[$pDef>>2]|0; + $482 = HEAP32[$nFarg>>2]|0; + $483 = HEAP32[$pFarg>>2]|0; + $484 = ((($483)) + 4|0); + $485 = HEAP32[$484>>2]|0; + $486 = HEAP32[$485>>2]|0; + $487 = (_sqlite3VtabOverloadFunction($480,$481,$482,$486)|0); + HEAP32[$pDef>>2] = $487; } } - $492 = HEAP32[$pDef>>2]|0; - $493 = ((($492)) + 2|0); - $494 = HEAP16[$493>>1]|0; - $495 = $494&65535; - $496 = $495 & 32; - $497 = ($496|0)!=(0); - if ($497) { - $498 = HEAP32[$pColl>>2]|0; - $499 = ($498|0)!=(0|0); - if (!($499)) { - $500 = HEAP32[$db>>2]|0; - $501 = ((($500)) + 8|0); - $502 = HEAP32[$501>>2]|0; - HEAP32[$pColl>>2] = $502; + $488 = HEAP32[$pDef>>2]|0; + $489 = ((($488)) + 2|0); + $490 = HEAP16[$489>>1]|0; + $491 = $490&65535; + $492 = $491 & 32; + $493 = ($492|0)!=(0); + if ($493) { + $494 = HEAP32[$pColl>>2]|0; + $495 = ($494|0)!=(0|0); + if (!($495)) { + $496 = HEAP32[$db>>2]|0; + $497 = ((($496)) + 8|0); + $498 = HEAP32[$497>>2]|0; + HEAP32[$pColl>>2] = $498; } - $503 = HEAP32[$v>>2]|0; - $504 = HEAP32[$pColl>>2]|0; - (_sqlite3VdbeAddOp4($503,34,0,0,0,$504,-4)|0); - } - $505 = HEAP32[$v>>2]|0; - $506 = HEAP32[$constMask>>2]|0; - $507 = HEAP32[$r1>>2]|0; - $508 = HEAP32[$3>>2]|0; - $509 = HEAP32[$pDef>>2]|0; - (_sqlite3VdbeAddOp4($505,35,$506,$507,$508,$509,-5)|0); - $510 = HEAP32[$v>>2]|0; - $511 = HEAP32[$nFarg>>2]|0; - $512 = $511&255; - _sqlite3VdbeChangeP5($510,$512); - $513 = HEAP32[$nFarg>>2]|0; - $514 = ($513|0)!=(0); - $515 = HEAP32[$constMask>>2]|0; - $516 = ($515|0)==(0); - $or$cond3 = $514 & $516; + $499 = HEAP32[$v>>2]|0; + $500 = HEAP32[$pColl>>2]|0; + (_sqlite3VdbeAddOp4($499,34,0,0,0,$500,-4)|0); + } + $501 = HEAP32[$v>>2]|0; + $502 = HEAP32[$constMask>>2]|0; + $503 = HEAP32[$r1>>2]|0; + $504 = HEAP32[$3>>2]|0; + $505 = HEAP32[$pDef>>2]|0; + (_sqlite3VdbeAddOp4($501,35,$502,$503,$504,$505,-5)|0); + $506 = HEAP32[$v>>2]|0; + $507 = HEAP32[$nFarg>>2]|0; + $508 = $507&255; + _sqlite3VdbeChangeP5($506,$508); + $509 = HEAP32[$nFarg>>2]|0; + $510 = ($509|0)!=(0); + $511 = HEAP32[$constMask>>2]|0; + $512 = ($511|0)==(0); + $or$cond3 = $510 & $512; if (!($or$cond3)) { break L9; } - $517 = HEAP32[$1>>2]|0; - $518 = HEAP32[$r1>>2]|0; - $519 = HEAP32[$nFarg>>2]|0; - _sqlite3ReleaseTempRange($517,$518,$519); + $513 = HEAP32[$1>>2]|0; + $514 = HEAP32[$r1>>2]|0; + $515 = HEAP32[$nFarg>>2]|0; + _sqlite3ReleaseTempRange($513,$514,$515); break L9; } } - $332 = HEAP32[$1>>2]|0; - $333 = HEAP32[$nId>>2]|0; - $334 = HEAP32[$zId>>2]|0; - HEAP32[$vararg_buffer4>>2] = $333; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $334; - _sqlite3ErrorMsg($332,31964,$vararg_buffer4); + $329 = HEAP32[$1>>2]|0; + $330 = HEAP32[$zId>>2]|0; + HEAP32[$vararg_buffer4>>2] = $330; + _sqlite3ErrorMsg($329,31681,$vararg_buffer4); break; } case 119: case 20: { - $520 = HEAP32[$1>>2]|0; - $521 = HEAP32[$2>>2]|0; - $522 = (_sqlite3CodeSubselect($520,$521,0,0)|0); - HEAP32[$inReg>>2] = $522; + $516 = HEAP32[$1>>2]|0; + $517 = HEAP32[$2>>2]|0; + $518 = (_sqlite3CodeSubselect($516,$517,0,0)|0); + HEAP32[$inReg>>2] = $518; break; } case 75: { + $519 = HEAP32[$v>>2]|0; + $520 = (_sqlite3VdbeMakeLabel($519)|0); + HEAP32[$destIfFalse>>2] = $520; + $521 = HEAP32[$v>>2]|0; + $522 = (_sqlite3VdbeMakeLabel($521)|0); + HEAP32[$destIfNull>>2] = $522; $523 = HEAP32[$v>>2]|0; - $524 = (_sqlite3VdbeMakeLabel($523)|0); - HEAP32[$destIfFalse>>2] = $524; - $525 = HEAP32[$v>>2]|0; - $526 = (_sqlite3VdbeMakeLabel($525)|0); - HEAP32[$destIfNull>>2] = $526; - $527 = HEAP32[$v>>2]|0; - $528 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($527,25,0,$528)|0); - $529 = HEAP32[$1>>2]|0; - $530 = HEAP32[$2>>2]|0; - $531 = HEAP32[$destIfFalse>>2]|0; - $532 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($529,$530,$531,$532); + $524 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($523,25,0,$524)|0); + $525 = HEAP32[$1>>2]|0; + $526 = HEAP32[$2>>2]|0; + $527 = HEAP32[$destIfFalse>>2]|0; + $528 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($525,$526,$527,$528); + $529 = HEAP32[$v>>2]|0; + $530 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($529,22,1,$530)|0); + $531 = HEAP32[$v>>2]|0; + $532 = HEAP32[$destIfFalse>>2]|0; + _sqlite3VdbeResolveLabel($531,$532); $533 = HEAP32[$v>>2]|0; $534 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($533,22,1,$534)|0); + (_sqlite3VdbeAddOp2($533,37,$534,0)|0); $535 = HEAP32[$v>>2]|0; - $536 = HEAP32[$destIfFalse>>2]|0; + $536 = HEAP32[$destIfNull>>2]|0; _sqlite3VdbeResolveLabel($535,$536); - $537 = HEAP32[$v>>2]|0; - $538 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($537,37,$538,0)|0); - $539 = HEAP32[$v>>2]|0; - $540 = HEAP32[$destIfNull>>2]|0; - _sqlite3VdbeResolveLabel($539,$540); break; } case 74: { - $541 = HEAP32[$2>>2]|0; - $542 = ((($541)) + 12|0); - $543 = HEAP32[$542>>2]|0; - HEAP32[$pLeft1>>2] = $543; - $544 = HEAP32[$2>>2]|0; - $545 = ((($544)) + 20|0); + $537 = HEAP32[$2>>2]|0; + $538 = ((($537)) + 12|0); + $539 = HEAP32[$538>>2]|0; + HEAP32[$pLeft1>>2] = $539; + $540 = HEAP32[$2>>2]|0; + $541 = ((($540)) + 20|0); + $542 = HEAP32[$541>>2]|0; + $543 = ((($542)) + 4|0); + $544 = HEAP32[$543>>2]|0; + HEAP32[$pLItem>>2] = $544; + $545 = HEAP32[$pLItem>>2]|0; $546 = HEAP32[$545>>2]|0; - $547 = ((($546)) + 4|0); - $548 = HEAP32[$547>>2]|0; - HEAP32[$pLItem>>2] = $548; - $549 = HEAP32[$pLItem>>2]|0; - $550 = HEAP32[$549>>2]|0; - HEAP32[$pRight>>2] = $550; - $551 = HEAP32[$1>>2]|0; - $552 = HEAP32[$pLeft1>>2]|0; - $553 = (_sqlite3ExprCodeTemp($551,$552,$regFree1)|0); - HEAP32[$r1>>2] = $553; - $554 = HEAP32[$1>>2]|0; - $555 = HEAP32[$pRight>>2]|0; - $556 = (_sqlite3ExprCodeTemp($554,$555,$regFree2)|0); - HEAP32[$r2>>2] = $556; + HEAP32[$pRight>>2] = $546; + $547 = HEAP32[$1>>2]|0; + $548 = HEAP32[$pLeft1>>2]|0; + $549 = (_sqlite3ExprCodeTemp($547,$548,$regFree1)|0); + HEAP32[$r1>>2] = $549; + $550 = HEAP32[$1>>2]|0; + $551 = HEAP32[$pRight>>2]|0; + $552 = (_sqlite3ExprCodeTemp($550,$551,$regFree2)|0); + HEAP32[$r2>>2] = $552; + $553 = HEAP32[$1>>2]|0; + $554 = (_sqlite3GetTempReg($553)|0); + HEAP32[$r3>>2] = $554; + $555 = HEAP32[$1>>2]|0; + $556 = (_sqlite3GetTempReg($555)|0); + HEAP32[$r4>>2] = $556; $557 = HEAP32[$1>>2]|0; - $558 = (_sqlite3GetTempReg($557)|0); - HEAP32[$r3>>2] = $558; - $559 = HEAP32[$1>>2]|0; - $560 = (_sqlite3GetTempReg($559)|0); - HEAP32[$r4>>2] = $560; - $561 = HEAP32[$1>>2]|0; - $562 = HEAP32[$pLeft1>>2]|0; - $563 = HEAP32[$pRight>>2]|0; - $564 = HEAP32[$r1>>2]|0; - $565 = HEAP32[$r2>>2]|0; - $566 = HEAP32[$r3>>2]|0; - (_codeCompare($561,$562,$563,83,$564,$565,$566,32)|0); - $567 = HEAP32[$pLItem>>2]|0; - $568 = ((($567)) + 20|0); - HEAP32[$pLItem>>2] = $568; - $569 = HEAP32[$pLItem>>2]|0; - $570 = HEAP32[$569>>2]|0; - HEAP32[$pRight>>2] = $570; - $571 = HEAP32[$1>>2]|0; - $572 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($571,$572); - $573 = HEAP32[$1>>2]|0; + $558 = HEAP32[$pLeft1>>2]|0; + $559 = HEAP32[$pRight>>2]|0; + $560 = HEAP32[$r1>>2]|0; + $561 = HEAP32[$r2>>2]|0; + $562 = HEAP32[$r3>>2]|0; + (_codeCompare($557,$558,$559,83,$560,$561,$562,32)|0); + $563 = HEAP32[$pLItem>>2]|0; + $564 = ((($563)) + 20|0); + HEAP32[$pLItem>>2] = $564; + $565 = HEAP32[$pLItem>>2]|0; + $566 = HEAP32[$565>>2]|0; + HEAP32[$pRight>>2] = $566; + $567 = HEAP32[$1>>2]|0; + $568 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($567,$568); + $569 = HEAP32[$1>>2]|0; + $570 = HEAP32[$pRight>>2]|0; + $571 = (_sqlite3ExprCodeTemp($569,$570,$regFree2)|0); + HEAP32[$r2>>2] = $571; + $572 = HEAP32[$1>>2]|0; + $573 = HEAP32[$pLeft1>>2]|0; $574 = HEAP32[$pRight>>2]|0; - $575 = (_sqlite3ExprCodeTemp($573,$574,$regFree2)|0); - HEAP32[$r2>>2] = $575; - $576 = HEAP32[$1>>2]|0; - $577 = HEAP32[$pLeft1>>2]|0; - $578 = HEAP32[$pRight>>2]|0; - $579 = HEAP32[$r1>>2]|0; - $580 = HEAP32[$r2>>2]|0; - $581 = HEAP32[$r4>>2]|0; - (_codeCompare($576,$577,$578,81,$579,$580,$581,32)|0); - $582 = HEAP32[$v>>2]|0; + $575 = HEAP32[$r1>>2]|0; + $576 = HEAP32[$r2>>2]|0; + $577 = HEAP32[$r4>>2]|0; + (_codeCompare($572,$573,$574,81,$575,$576,$577,32)|0); + $578 = HEAP32[$v>>2]|0; + $579 = HEAP32[$r3>>2]|0; + $580 = HEAP32[$r4>>2]|0; + $581 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp3($578,72,$579,$580,$581)|0); + $582 = HEAP32[$1>>2]|0; $583 = HEAP32[$r3>>2]|0; - $584 = HEAP32[$r4>>2]|0; - $585 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp3($582,72,$583,$584,$585)|0); - $586 = HEAP32[$1>>2]|0; - $587 = HEAP32[$r3>>2]|0; - _sqlite3ReleaseTempReg($586,$587); - $588 = HEAP32[$1>>2]|0; - $589 = HEAP32[$r4>>2]|0; - _sqlite3ReleaseTempReg($588,$589); + _sqlite3ReleaseTempReg($582,$583); + $584 = HEAP32[$1>>2]|0; + $585 = HEAP32[$r4>>2]|0; + _sqlite3ReleaseTempReg($584,$585); break; } - case 156: case 95: { - $590 = HEAP32[$1>>2]|0; - $591 = HEAP32[$2>>2]|0; - $592 = ((($591)) + 12|0); - $593 = HEAP32[$592>>2]|0; - $594 = HEAP32[$3>>2]|0; - $595 = (_sqlite3ExprCodeTarget($590,$593,$594)|0); - HEAP32[$inReg>>2] = $595; + case 156: case 95: case 159: { + $586 = HEAP32[$1>>2]|0; + $587 = HEAP32[$2>>2]|0; + $588 = ((($587)) + 12|0); + $589 = HEAP32[$588>>2]|0; + $590 = HEAP32[$3>>2]|0; + $591 = (_sqlite3ExprCodeTarget($586,$589,$590)|0); + HEAP32[$inReg>>2] = $591; break; } case 62: { - $596 = HEAP32[$2>>2]|0; - $597 = ((($596)) + 44|0); - $598 = HEAP32[$597>>2]|0; - HEAP32[$pTab>>2] = $598; - $599 = HEAP32[$2>>2]|0; - $600 = ((($599)) + 28|0); - $601 = HEAP32[$600>>2]|0; - $602 = HEAP32[$pTab>>2]|0; - $603 = ((($602)) + 34|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = (($605) + 1)|0; - $607 = Math_imul($601, $606)|0; - $608 = (($607) + 1)|0; - $609 = HEAP32[$2>>2]|0; - $610 = ((($609)) + 32|0); - $611 = HEAP16[$610>>1]|0; - $612 = $611 << 16 >> 16; - $613 = (($608) + ($612))|0; - HEAP32[$p1>>2] = $613; - $614 = HEAP32[$v>>2]|0; - $615 = HEAP32[$p1>>2]|0; - $616 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($614,134,$615,$616)|0); - $617 = HEAP32[$2>>2]|0; - $618 = ((($617)) + 32|0); - $619 = HEAP16[$618>>1]|0; - $620 = $619 << 16 >> 16; - $621 = ($620|0)>=(0); - if ($621) { - $622 = HEAP32[$2>>2]|0; - $623 = ((($622)) + 32|0); - $624 = HEAP16[$623>>1]|0; - $625 = $624 << 16 >> 16; - $626 = HEAP32[$pTab>>2]|0; - $627 = ((($626)) + 4|0); - $628 = HEAP32[$627>>2]|0; - $629 = (($628) + (($625*24)|0)|0); - $630 = ((($629)) + 21|0); - $631 = HEAP8[$630>>0]|0; - $632 = $631 << 24 >> 24; - $633 = ($632|0)==(69); - if ($633) { - $634 = HEAP32[$v>>2]|0; - $635 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp1($634,39,$635)|0); + $592 = HEAP32[$2>>2]|0; + $593 = ((($592)) + 44|0); + $594 = HEAP32[$593>>2]|0; + HEAP32[$pTab>>2] = $594; + $595 = HEAP32[$2>>2]|0; + $596 = ((($595)) + 28|0); + $597 = HEAP32[$596>>2]|0; + $598 = HEAP32[$pTab>>2]|0; + $599 = ((($598)) + 34|0); + $600 = HEAP16[$599>>1]|0; + $601 = $600 << 16 >> 16; + $602 = (($601) + 1)|0; + $603 = Math_imul($597, $602)|0; + $604 = (($603) + 1)|0; + $605 = HEAP32[$2>>2]|0; + $606 = ((($605)) + 32|0); + $607 = HEAP16[$606>>1]|0; + $608 = $607 << 16 >> 16; + $609 = (($604) + ($608))|0; + HEAP32[$p1>>2] = $609; + $610 = HEAP32[$v>>2]|0; + $611 = HEAP32[$p1>>2]|0; + $612 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($610,134,$611,$612)|0); + $613 = HEAP32[$2>>2]|0; + $614 = ((($613)) + 32|0); + $615 = HEAP16[$614>>1]|0; + $616 = $615 << 16 >> 16; + $617 = ($616|0)>=(0); + if ($617) { + $618 = HEAP32[$2>>2]|0; + $619 = ((($618)) + 32|0); + $620 = HEAP16[$619>>1]|0; + $621 = $620 << 16 >> 16; + $622 = HEAP32[$pTab>>2]|0; + $623 = ((($622)) + 4|0); + $624 = HEAP32[$623>>2]|0; + $625 = (($624) + ($621<<4)|0); + $626 = ((($625)) + 13|0); + $627 = HEAP8[$626>>0]|0; + $628 = $627 << 24 >> 24; + $629 = ($628|0)==(69); + if ($629) { + $630 = HEAP32[$v>>2]|0; + $631 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp1($630,39,$631)|0); } } break; } case 57: { - $704 = HEAP32[$1>>2]|0; - $705 = ((($704)) + 420|0); - $706 = HEAP32[$705>>2]|0; - $707 = ($706|0)!=(0|0); - if (!($707)) { - $708 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($708,31989,$vararg_buffer8); + $700 = HEAP32[$1>>2]|0; + $701 = ((($700)) + 420|0); + $702 = HEAP32[$701>>2]|0; + $703 = ($702|0)!=(0|0); + if (!($703)) { + $704 = HEAP32[$1>>2]|0; + _sqlite3ErrorMsg($704,31704,$vararg_buffer7); HEAP32[$0>>2] = 0; - $737 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($737|0); - } - $709 = HEAP32[$2>>2]|0; - $710 = ((($709)) + 1|0); - $711 = HEAP8[$710>>0]|0; - $712 = $711 << 24 >> 24; - $713 = ($712|0)==(2); - if ($713) { - $714 = HEAP32[$1>>2]|0; - _sqlite3MayAbort($714); - } - $715 = HEAP32[$2>>2]|0; - $716 = ((($715)) + 1|0); - $717 = HEAP8[$716>>0]|0; - $718 = $717 << 24 >> 24; - $719 = ($718|0)==(4); - if ($719) { - $720 = HEAP32[$v>>2]|0; - $721 = HEAP32[$2>>2]|0; - $722 = ((($721)) + 8|0); - $723 = HEAP32[$722>>2]|0; - (_sqlite3VdbeAddOp4($720,21,0,4,0,$723,0)|0); + $733 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($733|0); + } + $705 = HEAP32[$2>>2]|0; + $706 = ((($705)) + 1|0); + $707 = HEAP8[$706>>0]|0; + $708 = $707 << 24 >> 24; + $709 = ($708|0)==(2); + if ($709) { + $710 = HEAP32[$1>>2]|0; + _sqlite3MayAbort($710); + } + $711 = HEAP32[$2>>2]|0; + $712 = ((($711)) + 1|0); + $713 = HEAP8[$712>>0]|0; + $714 = $713 << 24 >> 24; + $715 = ($714|0)==(4); + if ($715) { + $716 = HEAP32[$v>>2]|0; + $717 = HEAP32[$2>>2]|0; + $718 = ((($717)) + 8|0); + $719 = HEAP32[$718>>2]|0; + (_sqlite3VdbeAddOp4($716,21,0,4,0,$719,0)|0); break L9; } else { - $724 = HEAP32[$1>>2]|0; + $720 = HEAP32[$1>>2]|0; + $721 = HEAP32[$2>>2]|0; + $722 = ((($721)) + 1|0); + $723 = HEAP8[$722>>0]|0; + $724 = $723 << 24 >> 24; $725 = HEAP32[$2>>2]|0; - $726 = ((($725)) + 1|0); - $727 = HEAP8[$726>>0]|0; - $728 = $727 << 24 >> 24; - $729 = HEAP32[$2>>2]|0; - $730 = ((($729)) + 8|0); - $731 = HEAP32[$730>>2]|0; - _sqlite3HaltConstraint($724,1811,$728,$731,0,0); + $726 = ((($725)) + 8|0); + $727 = HEAP32[$726>>2]|0; + _sqlite3HaltConstraint($720,1811,$724,$727,0,0); break L9; } break; } default: { HEAP32[$pTest>>2] = 0; - $636 = HEAP32[$2>>2]|0; - $637 = ((($636)) + 20|0); - $638 = HEAP32[$637>>2]|0; - HEAP32[$pEList>>2] = $638; - $639 = HEAP32[$pEList>>2]|0; - $640 = ((($639)) + 4|0); - $641 = HEAP32[$640>>2]|0; - HEAP32[$aListelem>>2] = $641; - $642 = HEAP32[$pEList>>2]|0; - $643 = HEAP32[$642>>2]|0; - HEAP32[$nExpr>>2] = $643; - $644 = HEAP32[$v>>2]|0; - $645 = (_sqlite3VdbeMakeLabel($644)|0); - HEAP32[$endLabel>>2] = $645; - $646 = HEAP32[$2>>2]|0; - $647 = ((($646)) + 12|0); - $648 = HEAP32[$647>>2]|0; - HEAP32[$pX>>2] = $648; - $649 = ($648|0)!=(0|0); - if ($649) { - $650 = HEAP32[$pX>>2]|0; - dest=$tempX; src=$650; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $651 = HEAP32[$1>>2]|0; - $652 = HEAP32[$pX>>2]|0; - $653 = (_sqlite3ExprCodeTemp($651,$652,$regFree1)|0); - _exprToRegister($tempX,$653); + $632 = HEAP32[$2>>2]|0; + $633 = ((($632)) + 20|0); + $634 = HEAP32[$633>>2]|0; + HEAP32[$pEList>>2] = $634; + $635 = HEAP32[$pEList>>2]|0; + $636 = ((($635)) + 4|0); + $637 = HEAP32[$636>>2]|0; + HEAP32[$aListelem>>2] = $637; + $638 = HEAP32[$pEList>>2]|0; + $639 = HEAP32[$638>>2]|0; + HEAP32[$nExpr>>2] = $639; + $640 = HEAP32[$v>>2]|0; + $641 = (_sqlite3VdbeMakeLabel($640)|0); + HEAP32[$endLabel>>2] = $641; + $642 = HEAP32[$2>>2]|0; + $643 = ((($642)) + 12|0); + $644 = HEAP32[$643>>2]|0; + HEAP32[$pX>>2] = $644; + $645 = ($644|0)!=(0|0); + if ($645) { + $646 = HEAP32[$pX>>2]|0; + dest=$tempX; src=$646; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $647 = HEAP32[$1>>2]|0; + $648 = HEAP32[$pX>>2]|0; + $649 = (_sqlite3ExprCodeTemp($647,$648,$regFree1)|0); + _exprToRegister($tempX,$649); HEAP8[$opCompare>>0] = 79; - $654 = ((($opCompare)) + 12|0); - HEAP32[$654>>2] = $tempX; + $650 = ((($opCompare)) + 12|0); + HEAP32[$650>>2] = $tempX; HEAP32[$pTest>>2] = $opCompare; HEAP32[$regFree1>>2] = 0; } HEAP32[$i2>>2] = 0; while(1) { - $655 = HEAP32[$i2>>2]|0; - $656 = HEAP32[$nExpr>>2]|0; - $657 = (($656) - 1)|0; - $658 = ($655|0)<($657|0); - if (!($658)) { + $651 = HEAP32[$i2>>2]|0; + $652 = HEAP32[$nExpr>>2]|0; + $653 = (($652) - 1)|0; + $654 = ($651|0)<($653|0); + if (!($654)) { break; } - $659 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($659); - $660 = HEAP32[$pX>>2]|0; - $661 = ($660|0)!=(0|0); - $662 = HEAP32[$i2>>2]|0; - $663 = HEAP32[$aListelem>>2]|0; - $664 = (($663) + (($662*20)|0)|0); - $665 = HEAP32[$664>>2]|0; - if ($661) { - $666 = ((($opCompare)) + 16|0); - HEAP32[$666>>2] = $665; + $655 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($655); + $656 = HEAP32[$pX>>2]|0; + $657 = ($656|0)!=(0|0); + $658 = HEAP32[$i2>>2]|0; + $659 = HEAP32[$aListelem>>2]|0; + $660 = (($659) + (($658*20)|0)|0); + $661 = HEAP32[$660>>2]|0; + if ($657) { + $662 = ((($opCompare)) + 16|0); + HEAP32[$662>>2] = $661; } else { - HEAP32[$pTest>>2] = $665; - } - $667 = HEAP32[$v>>2]|0; - $668 = (_sqlite3VdbeMakeLabel($667)|0); - HEAP32[$nextCase>>2] = $668; - $669 = HEAP32[$1>>2]|0; - $670 = HEAP32[$pTest>>2]|0; - $671 = HEAP32[$nextCase>>2]|0; - _sqlite3ExprIfFalse($669,$670,$671,16); - $672 = HEAP32[$1>>2]|0; - $673 = HEAP32[$i2>>2]|0; - $674 = (($673) + 1)|0; - $675 = HEAP32[$aListelem>>2]|0; - $676 = (($675) + (($674*20)|0)|0); - $677 = HEAP32[$676>>2]|0; - $678 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($672,$677,$678); - $679 = HEAP32[$v>>2]|0; - $680 = HEAP32[$endLabel>>2]|0; - (_sqlite3VdbeGoto($679,$680)|0); - $681 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($681); - $682 = HEAP32[$v>>2]|0; - $683 = HEAP32[$nextCase>>2]|0; - _sqlite3VdbeResolveLabel($682,$683); - $684 = HEAP32[$i2>>2]|0; - $685 = (($684) + 2)|0; - HEAP32[$i2>>2] = $685; - } - $686 = HEAP32[$nExpr>>2]|0; - $687 = $686 & 1; - $688 = ($687|0)!=(0); - if ($688) { - $689 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePush($689); - $690 = HEAP32[$1>>2]|0; - $691 = HEAP32[$nExpr>>2]|0; - $692 = (($691) - 1)|0; - $693 = HEAP32[$pEList>>2]|0; - $694 = ((($693)) + 4|0); - $695 = HEAP32[$694>>2]|0; - $696 = (($695) + (($692*20)|0)|0); - $697 = HEAP32[$696>>2]|0; - $698 = HEAP32[$3>>2]|0; - _sqlite3ExprCode($690,$697,$698); - $699 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($699); + HEAP32[$pTest>>2] = $661; + } + $663 = HEAP32[$v>>2]|0; + $664 = (_sqlite3VdbeMakeLabel($663)|0); + HEAP32[$nextCase>>2] = $664; + $665 = HEAP32[$1>>2]|0; + $666 = HEAP32[$pTest>>2]|0; + $667 = HEAP32[$nextCase>>2]|0; + _sqlite3ExprIfFalse($665,$666,$667,16); + $668 = HEAP32[$1>>2]|0; + $669 = HEAP32[$i2>>2]|0; + $670 = (($669) + 1)|0; + $671 = HEAP32[$aListelem>>2]|0; + $672 = (($671) + (($670*20)|0)|0); + $673 = HEAP32[$672>>2]|0; + $674 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($668,$673,$674); + $675 = HEAP32[$v>>2]|0; + $676 = HEAP32[$endLabel>>2]|0; + (_sqlite3VdbeGoto($675,$676)|0); + $677 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($677); + $678 = HEAP32[$v>>2]|0; + $679 = HEAP32[$nextCase>>2]|0; + _sqlite3VdbeResolveLabel($678,$679); + $680 = HEAP32[$i2>>2]|0; + $681 = (($680) + 2)|0; + HEAP32[$i2>>2] = $681; + } + $682 = HEAP32[$nExpr>>2]|0; + $683 = $682 & 1; + $684 = ($683|0)!=(0); + if ($684) { + $685 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePush($685); + $686 = HEAP32[$1>>2]|0; + $687 = HEAP32[$nExpr>>2]|0; + $688 = (($687) - 1)|0; + $689 = HEAP32[$pEList>>2]|0; + $690 = ((($689)) + 4|0); + $691 = HEAP32[$690>>2]|0; + $692 = (($691) + (($688*20)|0)|0); + $693 = HEAP32[$692>>2]|0; + $694 = HEAP32[$3>>2]|0; + _sqlite3ExprCode($686,$693,$694); + $695 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($695); } else { - $700 = HEAP32[$v>>2]|0; - $701 = HEAP32[$3>>2]|0; - (_sqlite3VdbeAddOp2($700,25,0,$701)|0); + $696 = HEAP32[$v>>2]|0; + $697 = HEAP32[$3>>2]|0; + (_sqlite3VdbeAddOp2($696,25,0,$697)|0); } - $702 = HEAP32[$v>>2]|0; - $703 = HEAP32[$endLabel>>2]|0; - _sqlite3VdbeResolveLabel($702,$703); + $698 = HEAP32[$v>>2]|0; + $699 = HEAP32[$endLabel>>2]|0; + _sqlite3VdbeResolveLabel($698,$699); } } } while(0); @@ -152392,16 +153592,16 @@ function _sqlite3ExprCodeTarget($pParse,$pExpr,$target) { HEAP32[$inReg>>2] = $80; } } while(0); - $732 = HEAP32[$1>>2]|0; - $733 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($732,$733); - $734 = HEAP32[$1>>2]|0; - $735 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($734,$735); - $736 = HEAP32[$inReg>>2]|0; - HEAP32[$0>>2] = $736; - $737 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($737|0); + $728 = HEAP32[$1>>2]|0; + $729 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($728,$729); + $730 = HEAP32[$1>>2]|0; + $731 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($730,$731); + $732 = HEAP32[$inReg>>2]|0; + HEAP32[$0>>2] = $732; + $733 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($733|0); } function _sqlite3ExprCodeGetColumn($pParse,$pTab,$iColumn,$iTable,$iReg,$p5) { $pParse = $pParse|0; @@ -152587,13 +153787,13 @@ function _codeInteger($pParse,$pExpr,$negFlag,$iMem) { $or$cond = $28 & $30; if (!($or$cond)) { $51 = HEAP32[$z>>2]|0; - $52 = (_sqlite3_strnicmp($51,32088,2)|0); + $52 = (_sqlite3_strnicmp($51,31803,2)|0); $53 = ($52|0)==(0); if ($53) { $54 = HEAP32[$0>>2]|0; $55 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $55; - _sqlite3ErrorMsg($54,32091,$vararg_buffer); + _sqlite3ErrorMsg($54,31806,$vararg_buffer); STACKTOP = sp;return; } else { $56 = HEAP32[$v>>2]|0; @@ -153121,13 +154321,13 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { $pDef = $pDef|0; $nArg = $nArg|0; $pExpr = $pExpr|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0; - var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pArg = 0, $pMod = 0, $pNew = 0, $pTab = 0, $pVtab = 0, $rc = 0, $xSFunc = 0; - var $z = 0, $zLowerName = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $pArg = 0, $pMod = 0, $pNew = 0, $pTab = 0, $pVtab = 0, $rc = 0, $xSFunc = 0, $z = 0; + var $zLowerName = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 56|0; @@ -153157,8 +154357,8 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($7) { $8 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $8; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } $9 = HEAP32[$4>>2]|0; $10 = HEAP8[$9>>0]|0; @@ -153167,8 +154367,8 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($12) { $13 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $13; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } $14 = HEAP32[$4>>2]|0; $15 = ((($14)) + 44|0); @@ -153179,8 +154379,8 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($18) { $19 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $19; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } $20 = HEAP32[$pTab>>2]|0; $21 = ((($20)) + 42|0); @@ -153191,8 +154391,8 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($25) { $26 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $26; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } $27 = HEAP32[$1>>2]|0; $28 = HEAP32[$pTab>>2]|0; @@ -153210,8 +154410,8 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($37) { $38 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $38; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } $39 = HEAP32[$1>>2]|0; $40 = HEAP32[$2>>2]|0; @@ -153234,7 +154434,7 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { $50 = HEAP32[$z>>2]|0; $51 = HEAP8[$50>>0]|0; $52 = $51&255; - $53 = (18477 + ($52)|0); + $53 = (18221 + ($52)|0); $54 = HEAP8[$53>>0]|0; $55 = HEAP32[$z>>2]|0; HEAP8[$55>>0] = $54; @@ -153261,15 +154461,15 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($69) { $70 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $70; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } $71 = HEAP32[$1>>2]|0; $72 = HEAP32[$2>>2]|0; $73 = ((($72)) + 20|0); $74 = HEAP32[$73>>2]|0; $75 = (_sqlite3Strlen30($74)|0); - $76 = (32 + ($75))|0; + $76 = (28 + ($75))|0; $77 = (($76) + 1)|0; $78 = (_sqlite3DbMallocZero($71,$77,0)|0); HEAP32[$pNew>>2] = $78; @@ -153278,48 +154478,47 @@ function _sqlite3VtabOverloadFunction($db,$pDef,$nArg,$pExpr) { if ($80) { $81 = HEAP32[$2>>2]|0; HEAP32[$0>>2] = $81; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } else { $82 = HEAP32[$pNew>>2]|0; $83 = HEAP32[$2>>2]|0; - ;HEAP32[$82>>2]=HEAP32[$83>>2]|0;HEAP32[$82+4>>2]=HEAP32[$83+4>>2]|0;HEAP32[$82+8>>2]=HEAP32[$83+8>>2]|0;HEAP32[$82+12>>2]=HEAP32[$83+12>>2]|0;HEAP32[$82+16>>2]=HEAP32[$83+16>>2]|0;HEAP32[$82+20>>2]=HEAP32[$83+20>>2]|0;HEAP32[$82+24>>2]=HEAP32[$83+24>>2]|0;HEAP32[$82+28>>2]=HEAP32[$83+28>>2]|0; + ;HEAP32[$82>>2]=HEAP32[$83>>2]|0;HEAP32[$82+4>>2]=HEAP32[$83+4>>2]|0;HEAP32[$82+8>>2]=HEAP32[$83+8>>2]|0;HEAP32[$82+12>>2]=HEAP32[$83+12>>2]|0;HEAP32[$82+16>>2]=HEAP32[$83+16>>2]|0;HEAP32[$82+20>>2]=HEAP32[$83+20>>2]|0;HEAP32[$82+24>>2]=HEAP32[$83+24>>2]|0; $84 = HEAP32[$pNew>>2]|0; - $85 = ((($84)) + 32|0); + $85 = ((($84)) + 28|0); $86 = HEAP32[$pNew>>2]|0; $87 = ((($86)) + 20|0); HEAP32[$87>>2] = $85; $88 = HEAP32[$pNew>>2]|0; - $89 = ((($88)) + 20|0); - $90 = HEAP32[$89>>2]|0; - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + 20|0); - $93 = HEAP32[$92>>2]|0; - $94 = HEAP32[$2>>2]|0; - $95 = ((($94)) + 20|0); - $96 = HEAP32[$95>>2]|0; - $97 = (_sqlite3Strlen30($96)|0); - $98 = (($97) + 1)|0; - _memcpy(($90|0),($93|0),($98|0))|0; - $99 = HEAP32[$xSFunc>>2]|0; - $100 = HEAP32[$pNew>>2]|0; - $101 = ((($100)) + 12|0); - HEAP32[$101>>2] = $99; - $102 = HEAP32[$pArg>>2]|0; - $103 = HEAP32[$pNew>>2]|0; - $104 = ((($103)) + 4|0); - HEAP32[$104>>2] = $102; - $105 = HEAP32[$pNew>>2]|0; - $106 = ((($105)) + 2|0); - $107 = HEAP16[$106>>1]|0; - $108 = $107&65535; - $109 = $108 | 16; - $110 = $109&65535; - HEAP16[$106>>1] = $110; - $111 = HEAP32[$pNew>>2]|0; - HEAP32[$0>>2] = $111; - $112 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($112|0); + $89 = ((($88)) + 28|0); + $90 = HEAP32[$2>>2]|0; + $91 = ((($90)) + 20|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 20|0); + $95 = HEAP32[$94>>2]|0; + $96 = (_sqlite3Strlen30($95)|0); + $97 = (($96) + 1)|0; + _memcpy(($89|0),($92|0),($97|0))|0; + $98 = HEAP32[$xSFunc>>2]|0; + $99 = HEAP32[$pNew>>2]|0; + $100 = ((($99)) + 12|0); + HEAP32[$100>>2] = $98; + $101 = HEAP32[$pArg>>2]|0; + $102 = HEAP32[$pNew>>2]|0; + $103 = ((($102)) + 4|0); + HEAP32[$103>>2] = $101; + $104 = HEAP32[$pNew>>2]|0; + $105 = ((($104)) + 2|0); + $106 = HEAP16[$105>>1]|0; + $107 = $106&65535; + $108 = $107 | 16; + $109 = $108&65535; + HEAP16[$105>>1] = $109; + $110 = HEAP32[$pNew>>2]|0; + HEAP32[$0>>2] = $110; + $111 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($111|0); } return (0)|0; } @@ -153336,12 +154535,12 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $affinity = 0, $cond = 0, $dest = 0, $dest1 = 0, $i = 0, $iValToIns = 0, $jmpIfDynamic = 0, $pE2 = 0, $pEList = 0, $pItem = 0, $pKeyInfo = 0; - var $pLeft = 0, $pList = 0, $pSel = 0, $pSelect = 0, $r1 = 0, $r2 = 0, $r3 = 0, $rReg = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zMsg = 0, label = 0, sp = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0; + var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $affinity = 0, $cond = 0, $dest = 0, $dest1 = 0, $i = 0, $iValToIns = 0, $jmpIfDynamic = 0, $pE2 = 0, $pEList = 0, $pItem = 0, $pKeyInfo = 0, $pLeft = 0, $pList = 0; + var $pSel = 0, $pSelect = 0, $r1 = 0, $r2 = 0, $r3 = 0, $rReg = 0, $v = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $zMsg = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $vararg_buffer = sp; @@ -153384,8 +154583,8 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $8 = ($7|0)==(0|0); if ($8) { HEAP32[$0>>2] = 0; - $247 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($247|0); + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } $9 = HEAP32[$1>>2]|0; _sqlite3ExprCachePush($9); @@ -153409,12 +154608,12 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$jmpIfDynamic>>2]|0; $25 = ($24|0)>=(0); - $26 = $25 ? 19266 : 32039; + $26 = $25 ? 19010 : 31754; $27 = HEAP32[$2>>2]|0; $28 = HEAP8[$27>>0]|0; $29 = $28&255; $30 = ($29|0)==(75); - $31 = $30 ? 32051 : 32056; + $31 = $30 ? 31766 : 31771; $32 = HEAP32[$1>>2]|0; $33 = ((($32)) + 472|0); $34 = HEAP32[$33>>2]|0; @@ -153423,7 +154622,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { HEAP32[$vararg_ptr1>>2] = $31; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $34; - $35 = (_sqlite3MPrintf($23,32063,$vararg_buffer)|0); + $35 = (_sqlite3MPrintf($23,31778,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $35; $36 = HEAP32[$v>>2]|0; $37 = HEAP32[$1>>2]|0; @@ -153494,7 +154693,7 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $82 = ((($dest)) + 1|0); HEAP8[$82>>0] = $81; $83 = HEAP32[$pSelect>>2]|0; - $84 = ((($83)) + 8|0); + $84 = ((($83)) + 12|0); HEAP32[$84>>2] = 0; $85 = HEAP32[$1>>2]|0; $86 = HEAP32[$pSelect>>2]|0; @@ -153521,8 +154720,8 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $89 = HEAP32[$pKeyInfo>>2]|0; _sqlite3KeyInfoUnref($89); HEAP32[$0>>2] = 0; - $247 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($247|0); + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } else { $103 = HEAP32[$76>>2]|0; $104 = ($103|0)!=(0|0); @@ -153709,62 +154908,60 @@ function _sqlite3CodeSubselect($pParse,$pExpr,$rHasNullFlag,$isRowid) { $211 = HEAP32[$1>>2]|0; $212 = HEAP32[$211>>2]|0; $213 = HEAP32[$pSel>>2]|0; - $214 = ((($213)) + 60|0); + $214 = ((($213)) + 56|0); $215 = HEAP32[$214>>2]|0; _sqlite3ExprDelete($212,$215); $216 = HEAP32[$1>>2]|0; - $217 = (_sqlite3PExpr($216,132,0,0,(5100))|0); + $217 = (_sqlite3PExpr($216,132,0,0,(5116))|0); $218 = HEAP32[$pSel>>2]|0; - $219 = ((($218)) + 60|0); + $219 = ((($218)) + 56|0); HEAP32[$219>>2] = $217; $220 = HEAP32[$pSel>>2]|0; - $221 = ((($220)) + 8|0); + $221 = ((($220)) + 12|0); HEAP32[$221>>2] = 0; $222 = HEAP32[$pSel>>2]|0; - $223 = ((($222)) + 6|0); - $224 = HEAP16[$223>>1]|0; - $225 = $224&65535; - $226 = $225 & -513; - $227 = $226&65535; - HEAP16[$223>>1] = $227; - $228 = HEAP32[$1>>2]|0; - $229 = HEAP32[$pSel>>2]|0; - $230 = (_sqlite3Select($228,$229,$dest1)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - $232 = ((($dest1)) + 4|0); - $233 = HEAP32[$232>>2]|0; - HEAP32[$rReg>>2] = $233; + $223 = ((($222)) + 8|0); + $224 = HEAP32[$223>>2]|0; + $225 = $224 & -513; + HEAP32[$223>>2] = $225; + $226 = HEAP32[$1>>2]|0; + $227 = HEAP32[$pSel>>2]|0; + $228 = (_sqlite3Select($226,$227,$dest1)|0); + $229 = ($228|0)!=(0); + if (!($229)) { + $230 = ((($dest1)) + 4|0); + $231 = HEAP32[$230>>2]|0; + HEAP32[$rReg>>2] = $231; break; } HEAP32[$0>>2] = 0; - $247 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($247|0); + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } } while(0); - $234 = HEAP32[$3>>2]|0; - $235 = ($234|0)!=(0); - if ($235) { - $236 = HEAP32[$v>>2]|0; - $237 = HEAP32[$2>>2]|0; - $238 = ((($237)) + 28|0); - $239 = HEAP32[$238>>2]|0; - $240 = HEAP32[$3>>2]|0; - _sqlite3SetHasNullFlag($236,$239,$240); - } - $241 = HEAP32[$jmpIfDynamic>>2]|0; - $242 = ($241|0)>=(0); - if ($242) { - $243 = HEAP32[$v>>2]|0; - $244 = HEAP32[$jmpIfDynamic>>2]|0; - _sqlite3VdbeJumpHere($243,$244); - } - $245 = HEAP32[$1>>2]|0; - _sqlite3ExprCachePop($245); - $246 = HEAP32[$rReg>>2]|0; - HEAP32[$0>>2] = $246; - $247 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($247|0); + $232 = HEAP32[$3>>2]|0; + $233 = ($232|0)!=(0); + if ($233) { + $234 = HEAP32[$v>>2]|0; + $235 = HEAP32[$2>>2]|0; + $236 = ((($235)) + 28|0); + $237 = HEAP32[$236>>2]|0; + $238 = HEAP32[$3>>2]|0; + _sqlite3SetHasNullFlag($234,$237,$238); + } + $239 = HEAP32[$jmpIfDynamic>>2]|0; + $240 = ($239|0)>=(0); + if ($240) { + $241 = HEAP32[$v>>2]|0; + $242 = HEAP32[$jmpIfDynamic>>2]|0; + _sqlite3VdbeJumpHere($241,$242); + } + $243 = HEAP32[$1>>2]|0; + _sqlite3ExprCachePop($243); + $244 = HEAP32[$rReg>>2]|0; + HEAP32[$0>>2] = $244; + $245 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($245|0); } function _sqlite3ExprCodeIN($pParse,$pExpr,$destIfFalse,$destIfNull) { $pParse = $pParse|0; @@ -154098,13 +155295,12 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { $jumpIfNull = $jumpIfNull|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0; - var $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; + var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0; + var $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -154209,150 +155405,131 @@ function _sqlite3ExprIfFalse($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprIfTrue($53,$56,$57,$58); break; } + case 148: case 73: { + $59 = HEAP32[$1>>2]|0; + $60 = HEAP8[$59>>0]|0; + $61 = $60&255; + $62 = ($61|0)==(73); + $63 = $62 ? 78 : 79; + HEAP32[$op>>2] = $63; + HEAP32[$3>>2] = 128; + label = 7; + break; + } case 79: case 78: case 83: case 80: case 81: case 82: { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3ExprCodeTemp($59,$62,$regFree1)|0); - HEAP32[$r1>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (_sqlite3ExprCodeTemp($64,$67,$regFree2)|0); - HEAP32[$r2>>2] = $68; - $69 = HEAP32[$0>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = ((($70)) + 12|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$1>>2]|0; - $74 = ((($73)) + 16|0); - $75 = HEAP32[$74>>2]|0; - $76 = HEAP32[$op>>2]|0; - $77 = HEAP32[$r1>>2]|0; - $78 = HEAP32[$r2>>2]|0; - $79 = HEAP32[$2>>2]|0; - $80 = HEAP32[$3>>2]|0; - (_codeCompare($69,$72,$75,$76,$77,$78,$79,$80)|0); + label = 7; break; } - case 148: case 73: { - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 12|0); - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3ExprCodeTemp($81,$84,$regFree1)|0); - HEAP32[$r1>>2] = $85; + case 77: case 76: { $86 = HEAP32[$0>>2]|0; $87 = HEAP32[$1>>2]|0; - $88 = ((($87)) + 16|0); + $88 = ((($87)) + 12|0); $89 = HEAP32[$88>>2]|0; - $90 = (_sqlite3ExprCodeTemp($86,$89,$regFree2)|0); - HEAP32[$r2>>2] = $90; - $91 = HEAP32[$1>>2]|0; - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ($93|0)==(73); - $95 = $94 ? 78 : 79; - HEAP32[$op>>2] = $95; - $96 = HEAP32[$0>>2]|0; - $97 = HEAP32[$1>>2]|0; - $98 = ((($97)) + 12|0); - $99 = HEAP32[$98>>2]|0; - $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 16|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[$op>>2]|0; - $104 = HEAP32[$r1>>2]|0; - $105 = HEAP32[$r2>>2]|0; - $106 = HEAP32[$2>>2]|0; - (_codeCompare($96,$99,$102,$103,$104,$105,$106,128)|0); - break; - } - case 77: case 76: { - $107 = HEAP32[$0>>2]|0; - $108 = HEAP32[$1>>2]|0; - $109 = ((($108)) + 12|0); - $110 = HEAP32[$109>>2]|0; - $111 = (_sqlite3ExprCodeTemp($107,$110,$regFree1)|0); - HEAP32[$r1>>2] = $111; - $112 = HEAP32[$v>>2]|0; - $113 = HEAP32[$op>>2]|0; - $114 = HEAP32[$r1>>2]|0; - $115 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($112,$113,$114,$115)|0); + $90 = (_sqlite3ExprCodeTemp($86,$89,$regFree1)|0); + HEAP32[$r1>>2] = $90; + $91 = HEAP32[$v>>2]|0; + $92 = HEAP32[$op>>2]|0; + $93 = HEAP32[$r1>>2]|0; + $94 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($91,$92,$93,$94)|0); break; } case 74: { - $116 = HEAP32[$0>>2]|0; - $117 = HEAP32[$1>>2]|0; - $118 = HEAP32[$2>>2]|0; - $119 = HEAP32[$3>>2]|0; - _exprCodeBetween($116,$117,$118,0,$119); + $95 = HEAP32[$0>>2]|0; + $96 = HEAP32[$1>>2]|0; + $97 = HEAP32[$2>>2]|0; + $98 = HEAP32[$3>>2]|0; + _exprCodeBetween($95,$96,$97,0,$98); break; } case 75: { - $120 = HEAP32[$3>>2]|0; - $121 = ($120|0)!=(0); - if ($121) { - $122 = HEAP32[$0>>2]|0; - $123 = HEAP32[$1>>2]|0; - $124 = HEAP32[$2>>2]|0; - $125 = HEAP32[$2>>2]|0; - _sqlite3ExprCodeIN($122,$123,$124,$125); + $99 = HEAP32[$3>>2]|0; + $100 = ($99|0)!=(0); + if ($100) { + $101 = HEAP32[$0>>2]|0; + $102 = HEAP32[$1>>2]|0; + $103 = HEAP32[$2>>2]|0; + $104 = HEAP32[$2>>2]|0; + _sqlite3ExprCodeIN($101,$102,$103,$104); break L4; } else { - $126 = HEAP32[$v>>2]|0; - $127 = (_sqlite3VdbeMakeLabel($126)|0); - HEAP32[$destIfNull>>2] = $127; - $128 = HEAP32[$0>>2]|0; - $129 = HEAP32[$1>>2]|0; - $130 = HEAP32[$2>>2]|0; - $131 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($128,$129,$130,$131); - $132 = HEAP32[$v>>2]|0; - $133 = HEAP32[$destIfNull>>2]|0; - _sqlite3VdbeResolveLabel($132,$133); + $105 = HEAP32[$v>>2]|0; + $106 = (_sqlite3VdbeMakeLabel($105)|0); + HEAP32[$destIfNull>>2] = $106; + $107 = HEAP32[$0>>2]|0; + $108 = HEAP32[$1>>2]|0; + $109 = HEAP32[$2>>2]|0; + $110 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($107,$108,$109,$110); + $111 = HEAP32[$v>>2]|0; + $112 = HEAP32[$destIfNull>>2]|0; + _sqlite3VdbeResolveLabel($111,$112); break L4; } break; } default: { - $134 = HEAP32[$1>>2]|0; - $135 = (_exprAlwaysFalse($134)|0); - $136 = ($135|0)!=(0); - if ($136) { - $137 = HEAP32[$v>>2]|0; - $138 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($137,$138)|0); + $113 = HEAP32[$1>>2]|0; + $114 = (_exprAlwaysFalse($113)|0); + $115 = ($114|0)!=(0); + if ($115) { + $116 = HEAP32[$v>>2]|0; + $117 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($116,$117)|0); break L4; } - $139 = HEAP32[$1>>2]|0; - $140 = (_exprAlwaysTrue($139)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - $142 = HEAP32[$0>>2]|0; - $143 = HEAP32[$1>>2]|0; - $144 = (_sqlite3ExprCodeTemp($142,$143,$regFree1)|0); - HEAP32[$r1>>2] = $144; - $145 = HEAP32[$v>>2]|0; - $146 = HEAP32[$r1>>2]|0; - $147 = HEAP32[$2>>2]|0; - $148 = HEAP32[$3>>2]|0; - $149 = ($148|0)!=(0); - $150 = $149&1; - (_sqlite3VdbeAddOp3($145,46,$146,$147,$150)|0); + $118 = HEAP32[$1>>2]|0; + $119 = (_exprAlwaysTrue($118)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + $121 = HEAP32[$0>>2]|0; + $122 = HEAP32[$1>>2]|0; + $123 = (_sqlite3ExprCodeTemp($121,$122,$regFree1)|0); + HEAP32[$r1>>2] = $123; + $124 = HEAP32[$v>>2]|0; + $125 = HEAP32[$r1>>2]|0; + $126 = HEAP32[$2>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = ($127|0)!=(0); + $129 = $128&1; + (_sqlite3VdbeAddOp3($124,46,$125,$126,$129)|0); } } } } while(0); - $151 = HEAP32[$0>>2]|0; - $152 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($151,$152); - $153 = HEAP32[$0>>2]|0; - $154 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($153,$154); + if ((label|0) == 7) { + $64 = HEAP32[$0>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 12|0); + $67 = HEAP32[$66>>2]|0; + $68 = (_sqlite3ExprCodeTemp($64,$67,$regFree1)|0); + HEAP32[$r1>>2] = $68; + $69 = HEAP32[$0>>2]|0; + $70 = HEAP32[$1>>2]|0; + $71 = ((($70)) + 16|0); + $72 = HEAP32[$71>>2]|0; + $73 = (_sqlite3ExprCodeTemp($69,$72,$regFree2)|0); + HEAP32[$r2>>2] = $73; + $74 = HEAP32[$0>>2]|0; + $75 = HEAP32[$1>>2]|0; + $76 = ((($75)) + 12|0); + $77 = HEAP32[$76>>2]|0; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 16|0); + $80 = HEAP32[$79>>2]|0; + $81 = HEAP32[$op>>2]|0; + $82 = HEAP32[$r1>>2]|0; + $83 = HEAP32[$r2>>2]|0; + $84 = HEAP32[$2>>2]|0; + $85 = HEAP32[$3>>2]|0; + (_codeCompare($74,$77,$80,$81,$82,$83,$84,$85)|0); + } + $130 = HEAP32[$0>>2]|0; + $131 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($130,$131); + $132 = HEAP32[$0>>2]|0; + $133 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($132,$133); STACKTOP = sp;return; } function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { @@ -154361,14 +155538,12 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { $dest = $dest|0; $jumpIfNull = $jumpIfNull|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; - var $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0; - var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0; - var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfFalse = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0; - var sp = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; + var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $d2 = 0, $destIfFalse = 0, $destIfNull = 0, $op = 0, $or$cond = 0, $r1 = 0, $r2 = 0, $regFree1 = 0, $regFree2 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 48|0; @@ -154469,145 +155644,126 @@ function _sqlite3ExprIfTrue($pParse,$pExpr,$dest,$jumpIfNull) { _sqlite3ExprIfFalse($48,$51,$52,$53); break; } - case 79: case 78: case 83: case 80: case 81: case 82: { - $54 = HEAP32[$0>>2]|0; - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 12|0); - $57 = HEAP32[$56>>2]|0; - $58 = (_sqlite3ExprCodeTemp($54,$57,$regFree1)|0); - HEAP32[$r1>>2] = $58; - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 16|0); - $62 = HEAP32[$61>>2]|0; - $63 = (_sqlite3ExprCodeTemp($59,$62,$regFree2)|0); - HEAP32[$r2>>2] = $63; - $64 = HEAP32[$0>>2]|0; - $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 12|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP32[$1>>2]|0; - $69 = ((($68)) + 16|0); - $70 = HEAP32[$69>>2]|0; - $71 = HEAP32[$op>>2]|0; - $72 = HEAP32[$r1>>2]|0; - $73 = HEAP32[$r2>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = HEAP32[$3>>2]|0; - (_codeCompare($64,$67,$70,$71,$72,$73,$74,$75)|0); + case 148: case 73: { + $54 = HEAP32[$op>>2]|0; + $55 = ($54|0)==(73); + $56 = $55 ? 79 : 78; + HEAP32[$op>>2] = $56; + HEAP32[$3>>2] = 128; + label = 7; break; } - case 148: case 73: { - $76 = HEAP32[$0>>2]|0; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 12|0); - $79 = HEAP32[$78>>2]|0; - $80 = (_sqlite3ExprCodeTemp($76,$79,$regFree1)|0); - HEAP32[$r1>>2] = $80; - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$1>>2]|0; - $83 = ((($82)) + 16|0); - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3ExprCodeTemp($81,$84,$regFree2)|0); - HEAP32[$r2>>2] = $85; - $86 = HEAP32[$op>>2]|0; - $87 = ($86|0)==(73); - $88 = $87 ? 79 : 78; - HEAP32[$op>>2] = $88; - $89 = HEAP32[$0>>2]|0; - $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 12|0); - $92 = HEAP32[$91>>2]|0; - $93 = HEAP32[$1>>2]|0; - $94 = ((($93)) + 16|0); - $95 = HEAP32[$94>>2]|0; - $96 = HEAP32[$op>>2]|0; - $97 = HEAP32[$r1>>2]|0; - $98 = HEAP32[$r2>>2]|0; - $99 = HEAP32[$2>>2]|0; - (_codeCompare($89,$92,$95,$96,$97,$98,$99,128)|0); + case 79: case 78: case 83: case 80: case 81: case 82: { + label = 7; break; } case 77: case 76: { - $100 = HEAP32[$0>>2]|0; - $101 = HEAP32[$1>>2]|0; - $102 = ((($101)) + 12|0); - $103 = HEAP32[$102>>2]|0; - $104 = (_sqlite3ExprCodeTemp($100,$103,$regFree1)|0); - HEAP32[$r1>>2] = $104; - $105 = HEAP32[$v>>2]|0; - $106 = HEAP32[$op>>2]|0; - $107 = HEAP32[$r1>>2]|0; - $108 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($105,$106,$107,$108)|0); + $79 = HEAP32[$0>>2]|0; + $80 = HEAP32[$1>>2]|0; + $81 = ((($80)) + 12|0); + $82 = HEAP32[$81>>2]|0; + $83 = (_sqlite3ExprCodeTemp($79,$82,$regFree1)|0); + HEAP32[$r1>>2] = $83; + $84 = HEAP32[$v>>2]|0; + $85 = HEAP32[$op>>2]|0; + $86 = HEAP32[$r1>>2]|0; + $87 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($84,$85,$86,$87)|0); break; } case 74: { - $109 = HEAP32[$0>>2]|0; - $110 = HEAP32[$1>>2]|0; - $111 = HEAP32[$2>>2]|0; - $112 = HEAP32[$3>>2]|0; - _exprCodeBetween($109,$110,$111,1,$112); + $88 = HEAP32[$0>>2]|0; + $89 = HEAP32[$1>>2]|0; + $90 = HEAP32[$2>>2]|0; + $91 = HEAP32[$3>>2]|0; + _exprCodeBetween($88,$89,$90,1,$91); break; } case 75: { - $113 = HEAP32[$v>>2]|0; - $114 = (_sqlite3VdbeMakeLabel($113)|0); - HEAP32[$destIfFalse>>2] = $114; - $115 = HEAP32[$3>>2]|0; - $116 = ($115|0)!=(0); - $117 = HEAP32[$2>>2]|0; - $118 = HEAP32[$destIfFalse>>2]|0; - $119 = $116 ? $117 : $118; - HEAP32[$destIfNull>>2] = $119; - $120 = HEAP32[$0>>2]|0; - $121 = HEAP32[$1>>2]|0; - $122 = HEAP32[$destIfFalse>>2]|0; - $123 = HEAP32[$destIfNull>>2]|0; - _sqlite3ExprCodeIN($120,$121,$122,$123); - $124 = HEAP32[$v>>2]|0; - $125 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($124,$125)|0); - $126 = HEAP32[$v>>2]|0; - $127 = HEAP32[$destIfFalse>>2]|0; - _sqlite3VdbeResolveLabel($126,$127); + $92 = HEAP32[$v>>2]|0; + $93 = (_sqlite3VdbeMakeLabel($92)|0); + HEAP32[$destIfFalse>>2] = $93; + $94 = HEAP32[$3>>2]|0; + $95 = ($94|0)!=(0); + $96 = HEAP32[$2>>2]|0; + $97 = HEAP32[$destIfFalse>>2]|0; + $98 = $95 ? $96 : $97; + HEAP32[$destIfNull>>2] = $98; + $99 = HEAP32[$0>>2]|0; + $100 = HEAP32[$1>>2]|0; + $101 = HEAP32[$destIfFalse>>2]|0; + $102 = HEAP32[$destIfNull>>2]|0; + _sqlite3ExprCodeIN($99,$100,$101,$102); + $103 = HEAP32[$v>>2]|0; + $104 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($103,$104)|0); + $105 = HEAP32[$v>>2]|0; + $106 = HEAP32[$destIfFalse>>2]|0; + _sqlite3VdbeResolveLabel($105,$106); break; } default: { - $128 = HEAP32[$1>>2]|0; - $129 = (_exprAlwaysTrue($128)|0); - $130 = ($129|0)!=(0); - if ($130) { - $131 = HEAP32[$v>>2]|0; - $132 = HEAP32[$2>>2]|0; - (_sqlite3VdbeGoto($131,$132)|0); + $107 = HEAP32[$1>>2]|0; + $108 = (_exprAlwaysTrue($107)|0); + $109 = ($108|0)!=(0); + if ($109) { + $110 = HEAP32[$v>>2]|0; + $111 = HEAP32[$2>>2]|0; + (_sqlite3VdbeGoto($110,$111)|0); break L4; } - $133 = HEAP32[$1>>2]|0; - $134 = (_exprAlwaysFalse($133)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - $136 = HEAP32[$0>>2]|0; - $137 = HEAP32[$1>>2]|0; - $138 = (_sqlite3ExprCodeTemp($136,$137,$regFree1)|0); - HEAP32[$r1>>2] = $138; - $139 = HEAP32[$v>>2]|0; - $140 = HEAP32[$r1>>2]|0; - $141 = HEAP32[$2>>2]|0; - $142 = HEAP32[$3>>2]|0; - $143 = ($142|0)!=(0); - $144 = $143&1; - (_sqlite3VdbeAddOp3($139,45,$140,$141,$144)|0); + $112 = HEAP32[$1>>2]|0; + $113 = (_exprAlwaysFalse($112)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + $115 = HEAP32[$0>>2]|0; + $116 = HEAP32[$1>>2]|0; + $117 = (_sqlite3ExprCodeTemp($115,$116,$regFree1)|0); + HEAP32[$r1>>2] = $117; + $118 = HEAP32[$v>>2]|0; + $119 = HEAP32[$r1>>2]|0; + $120 = HEAP32[$2>>2]|0; + $121 = HEAP32[$3>>2]|0; + $122 = ($121|0)!=(0); + $123 = $122&1; + (_sqlite3VdbeAddOp3($118,45,$119,$120,$123)|0); } } } } while(0); - $145 = HEAP32[$0>>2]|0; - $146 = HEAP32[$regFree1>>2]|0; - _sqlite3ReleaseTempReg($145,$146); - $147 = HEAP32[$0>>2]|0; - $148 = HEAP32[$regFree2>>2]|0; - _sqlite3ReleaseTempReg($147,$148); + if ((label|0) == 7) { + $57 = HEAP32[$0>>2]|0; + $58 = HEAP32[$1>>2]|0; + $59 = ((($58)) + 12|0); + $60 = HEAP32[$59>>2]|0; + $61 = (_sqlite3ExprCodeTemp($57,$60,$regFree1)|0); + HEAP32[$r1>>2] = $61; + $62 = HEAP32[$0>>2]|0; + $63 = HEAP32[$1>>2]|0; + $64 = ((($63)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = (_sqlite3ExprCodeTemp($62,$65,$regFree2)|0); + HEAP32[$r2>>2] = $66; + $67 = HEAP32[$0>>2]|0; + $68 = HEAP32[$1>>2]|0; + $69 = ((($68)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = HEAP32[$1>>2]|0; + $72 = ((($71)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = HEAP32[$op>>2]|0; + $75 = HEAP32[$r1>>2]|0; + $76 = HEAP32[$r2>>2]|0; + $77 = HEAP32[$2>>2]|0; + $78 = HEAP32[$3>>2]|0; + (_codeCompare($67,$70,$73,$74,$75,$76,$77,$78)|0); + } + $124 = HEAP32[$0>>2]|0; + $125 = HEAP32[$regFree1>>2]|0; + _sqlite3ReleaseTempReg($124,$125); + $126 = HEAP32[$0>>2]|0; + $127 = HEAP32[$regFree2>>2]|0; + _sqlite3ReleaseTempReg($126,$127); STACKTOP = sp;return; } function _exprCodeBetween($pParse,$pExpr,$dest,$jumpIfTrue,$jumpIfNull) { @@ -154739,13 +155895,13 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0; - var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affinity_ok = 0, $db = 0, $eType = 0, $iAddr = 0, $iAddr1 = 0, $iCol = 0, $iDb = 0, $iTab = 0; - var $mustBeUnique = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pExpr = 0, $pIdx = 0, $pReq = 0, $pTab = 0, $rMayHaveNull = 0, $savedNQueryLoop = 0, $v = 0, label = 0, sp = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $affinity_ok = 0, $db = 0, $eType = 0, $iAddr = 0, $iAddr1 = 0, $iCol = 0, $iDb = 0, $iTab = 0, $mustBeUnique = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pExpr = 0, $pIdx = 0, $pReq = 0, $pTab = 0, $rMayHaveNull = 0; + var $savedNQueryLoop = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 72|0; @@ -154788,250 +155944,237 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { $12 = ($11|0)!=(0); $13 = $12&1; HEAP32[$mustBeUnique>>2] = $13; - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 4|0); + $14 = HEAP32[$0>>2]|0; + $15 = ((($14)) + 68|0); $16 = HEAP32[$15>>2]|0; - $17 = $16 & 2048; - $18 = ($17|0)!=(0); - if ($18) { - $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 20|0); - $21 = HEAP32[$20>>2]|0; - $22 = $21; - } else { - $22 = 0; - } - HEAP32[$p>>2] = $22; - $23 = HEAP32[$0>>2]|0; - $24 = ((($23)) + 68|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0); - L4: do { - if ($26) { - $27 = HEAP32[$p>>2]|0; - $28 = (_isCandidateForInOpt($27)|0); - $29 = ($28|0)!=(0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$30>>2]|0; - HEAP32[$db>>2] = $31; - $32 = HEAP32[$p>>2]|0; - $33 = ((($32)) + 32|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($34)) + 8|0); - $36 = ((($35)) + 16|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$pTab>>2] = $37; - $38 = HEAP32[$p>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ((($39)) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$41>>2]|0; - HEAP32[$pExpr>>2] = $42; - $43 = HEAP32[$pExpr>>2]|0; - $44 = ((($43)) + 32|0); - $45 = HEAP16[$44>>1]|0; - HEAP16[$iCol>>1] = $45; - $46 = HEAP32[$db>>2]|0; - $47 = HEAP32[$pTab>>2]|0; - $48 = ((($47)) + 64|0); - $49 = HEAP32[$48>>2]|0; - $50 = (_sqlite3SchemaToIndex($46,$49)|0); - $51 = $50&65535; - HEAP16[$iDb>>1] = $51; - $52 = HEAP32[$0>>2]|0; - $53 = HEAP16[$iDb>>1]|0; - $54 = $53 << 16 >> 16; - _sqlite3CodeVerifySchema($52,$54); - $55 = HEAP32[$0>>2]|0; - $56 = HEAP16[$iDb>>1]|0; - $57 = $56 << 16 >> 16; - $58 = HEAP32[$pTab>>2]|0; - $59 = ((($58)) + 28|0); - $60 = HEAP32[$59>>2]|0; - $61 = HEAP32[$pTab>>2]|0; - $62 = HEAP32[$61>>2]|0; - _sqlite3TableLock($55,$57,$60,0,$62); - $63 = HEAP16[$iCol>>1]|0; - $64 = $63 << 16 >> 16; - $65 = ($64|0)<(0); - $66 = HEAP32[$0>>2]|0; - if ($65) { - $67 = (_sqlite3CodeOnce($66)|0); - HEAP32[$iAddr>>2] = $67; - $68 = HEAP32[$0>>2]|0; - $69 = HEAP32[$iTab>>2]|0; - $70 = HEAP16[$iDb>>1]|0; - $71 = $70 << 16 >> 16; - $72 = HEAP32[$pTab>>2]|0; - _sqlite3OpenTable($68,$69,$71,$72,54); + $17 = ($16|0)==(0); + L1: do { + if ($17) { + $18 = HEAP32[$1>>2]|0; + $19 = (_isCandidateForInOpt($18)|0); + HEAP32[$p>>2] = $19; + $20 = ($19|0)!=(0|0); + if ($20) { + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$21>>2]|0; + HEAP32[$db>>2] = $22; + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 28|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($25)) + 8|0); + $27 = ((($26)) + 16|0); + $28 = HEAP32[$27>>2]|0; + HEAP32[$pTab>>2] = $28; + $29 = HEAP32[$p>>2]|0; + $30 = HEAP32[$29>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$32>>2]|0; + HEAP32[$pExpr>>2] = $33; + $34 = HEAP32[$pExpr>>2]|0; + $35 = ((($34)) + 32|0); + $36 = HEAP16[$35>>1]|0; + HEAP16[$iCol>>1] = $36; + $37 = HEAP32[$db>>2]|0; + $38 = HEAP32[$pTab>>2]|0; + $39 = ((($38)) + 64|0); + $40 = HEAP32[$39>>2]|0; + $41 = (_sqlite3SchemaToIndex($37,$40)|0); + $42 = $41&65535; + HEAP16[$iDb>>1] = $42; + $43 = HEAP32[$0>>2]|0; + $44 = HEAP16[$iDb>>1]|0; + $45 = $44 << 16 >> 16; + _sqlite3CodeVerifySchema($43,$45); + $46 = HEAP32[$0>>2]|0; + $47 = HEAP16[$iDb>>1]|0; + $48 = $47 << 16 >> 16; + $49 = HEAP32[$pTab>>2]|0; + $50 = ((($49)) + 28|0); + $51 = HEAP32[$50>>2]|0; + $52 = HEAP32[$pTab>>2]|0; + $53 = HEAP32[$52>>2]|0; + _sqlite3TableLock($46,$48,$51,0,$53); + $54 = HEAP16[$iCol>>1]|0; + $55 = $54 << 16 >> 16; + $56 = ($55|0)<(0); + $57 = HEAP32[$0>>2]|0; + if ($56) { + $58 = (_sqlite3CodeOnce($57)|0); + HEAP32[$iAddr>>2] = $58; + $59 = HEAP32[$0>>2]|0; + $60 = HEAP32[$iTab>>2]|0; + $61 = HEAP16[$iDb>>1]|0; + $62 = $61 << 16 >> 16; + $63 = HEAP32[$pTab>>2]|0; + _sqlite3OpenTable($59,$60,$62,$63,54); HEAP32[$eType>>2] = 1; - $73 = HEAP32[$v>>2]|0; - $74 = HEAP32[$iAddr>>2]|0; - _sqlite3VdbeJumpHere($73,$74); + $64 = HEAP32[$v>>2]|0; + $65 = HEAP32[$iAddr>>2]|0; + _sqlite3VdbeJumpHere($64,$65); break; } - $75 = HEAP32[$1>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pExpr>>2]|0; - $79 = (_sqlite3BinaryCompareCollSeq($66,$77,$78)|0); - HEAP32[$pReq>>2] = $79; - $80 = HEAP32[$1>>2]|0; - $81 = HEAP16[$iCol>>1]|0; - $82 = $81 << 16 >> 16; - $83 = HEAP32[$pTab>>2]|0; - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - $86 = (($85) + (($82*24)|0)|0); - $87 = ((($86)) + 21|0); - $88 = HEAP8[$87>>0]|0; - $89 = (_sqlite3IndexAffinityOk($80,$88)|0); - HEAP32[$affinity_ok>>2] = $89; - $90 = HEAP32[$pTab>>2]|0; - $91 = ((($90)) + 8|0); - $92 = HEAP32[$91>>2]|0; - HEAP32[$pIdx>>2] = $92; + $66 = HEAP32[$1>>2]|0; + $67 = ((($66)) + 12|0); + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$pExpr>>2]|0; + $70 = (_sqlite3BinaryCompareCollSeq($57,$68,$69)|0); + HEAP32[$pReq>>2] = $70; + $71 = HEAP32[$1>>2]|0; + $72 = HEAP16[$iCol>>1]|0; + $73 = $72 << 16 >> 16; + $74 = HEAP32[$pTab>>2]|0; + $75 = ((($74)) + 4|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($76) + ($73<<4)|0); + $78 = ((($77)) + 13|0); + $79 = HEAP8[$78>>0]|0; + $80 = (_sqlite3IndexAffinityOk($71,$79)|0); + HEAP32[$affinity_ok>>2] = $80; + $81 = HEAP32[$pTab>>2]|0; + $82 = ((($81)) + 8|0); + $83 = HEAP32[$82>>2]|0; + HEAP32[$pIdx>>2] = $83; while(1) { - $93 = HEAP32[$pIdx>>2]|0; - $94 = ($93|0)!=(0|0); - $95 = HEAP32[$eType>>2]|0; - $96 = ($95|0)==(0); - $or$cond = $94 & $96; - $97 = HEAP32[$affinity_ok>>2]|0; - $98 = ($97|0)!=(0); - $or$cond3 = $or$cond & $98; + $84 = HEAP32[$pIdx>>2]|0; + $85 = ($84|0)!=(0|0); + $86 = HEAP32[$eType>>2]|0; + $87 = ($86|0)==(0); + $or$cond = $85 & $87; + $88 = HEAP32[$affinity_ok>>2]|0; + $89 = ($88|0)!=(0); + $or$cond3 = $or$cond & $89; if (!($or$cond3)) { - break L4; + break L1; } - $99 = HEAP32[$pIdx>>2]|0; - $100 = ((($99)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = HEAP16[$101>>1]|0; - $103 = $102 << 16 >> 16; - $104 = HEAP16[$iCol>>1]|0; - $105 = $104 << 16 >> 16; - $106 = ($103|0)==($105|0); + $90 = HEAP32[$pIdx>>2]|0; + $91 = ((($90)) + 4|0); + $92 = HEAP32[$91>>2]|0; + $93 = HEAP16[$92>>1]|0; + $94 = $93 << 16 >> 16; + $95 = HEAP16[$iCol>>1]|0; + $96 = $95 << 16 >> 16; + $97 = ($94|0)==($96|0); do { - if ($106) { - $107 = HEAP32[$db>>2]|0; - $108 = HEAP32[$db>>2]|0; - $109 = ((($108)) + 62|0); - $110 = HEAP8[$109>>0]|0; - $111 = HEAP32[$pIdx>>2]|0; - $112 = ((($111)) + 32|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$113>>2]|0; - $115 = (_sqlite3FindCollSeq($107,$110,$114,0)|0); - $116 = HEAP32[$pReq>>2]|0; - $117 = ($115|0)==($116|0); - if ($117) { - $118 = HEAP32[$mustBeUnique>>2]|0; - $119 = ($118|0)!=(0); - if ($119) { - $120 = HEAP32[$pIdx>>2]|0; - $121 = ((($120)) + 50|0); - $122 = HEAP16[$121>>1]|0; - $123 = $122&65535; - $124 = ($123|0)==(1); - if (!($124)) { + if ($97) { + $98 = HEAP32[$db>>2]|0; + $99 = HEAP32[$db>>2]|0; + $100 = ((($99)) + 66|0); + $101 = HEAP8[$100>>0]|0; + $102 = HEAP32[$pIdx>>2]|0; + $103 = ((($102)) + 32|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$104>>2]|0; + $106 = (_sqlite3FindCollSeq($98,$101,$105,0)|0); + $107 = HEAP32[$pReq>>2]|0; + $108 = ($106|0)==($107|0); + if ($108) { + $109 = HEAP32[$mustBeUnique>>2]|0; + $110 = ($109|0)!=(0); + if ($110) { + $111 = HEAP32[$pIdx>>2]|0; + $112 = ((($111)) + 50|0); + $113 = HEAP16[$112>>1]|0; + $114 = $113&65535; + $115 = ($114|0)==(1); + if (!($115)) { break; } - $125 = HEAP32[$pIdx>>2]|0; - $126 = ((($125)) + 54|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $129 = ($128|0)!=(0); - if (!($129)) { + $116 = HEAP32[$pIdx>>2]|0; + $117 = ((($116)) + 54|0); + $118 = HEAP8[$117>>0]|0; + $119 = $118&255; + $120 = ($119|0)!=(0); + if (!($120)) { break; } } + $121 = HEAP32[$0>>2]|0; + $122 = (_sqlite3CodeOnce($121)|0); + HEAP32[$iAddr1>>2] = $122; + $123 = HEAP32[$v>>2]|0; + $124 = HEAP32[$iTab>>2]|0; + $125 = HEAP32[$pIdx>>2]|0; + $126 = ((($125)) + 44|0); + $127 = HEAP32[$126>>2]|0; + $128 = HEAP16[$iDb>>1]|0; + $129 = $128 << 16 >> 16; + (_sqlite3VdbeAddOp3($123,54,$124,$127,$129)|0); $130 = HEAP32[$0>>2]|0; - $131 = (_sqlite3CodeOnce($130)|0); - HEAP32[$iAddr1>>2] = $131; - $132 = HEAP32[$v>>2]|0; - $133 = HEAP32[$iTab>>2]|0; - $134 = HEAP32[$pIdx>>2]|0; - $135 = ((($134)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = HEAP16[$iDb>>1]|0; - $138 = $137 << 16 >> 16; - (_sqlite3VdbeAddOp3($132,54,$133,$136,$138)|0); - $139 = HEAP32[$0>>2]|0; - $140 = HEAP32[$pIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($139,$140); - $141 = HEAP32[$pIdx>>2]|0; - $142 = ((($141)) + 28|0); - $143 = HEAP32[$142>>2]|0; - $144 = HEAP8[$143>>0]|0; - $145 = $144&255; - $146 = (3 + ($145))|0; - HEAP32[$eType>>2] = $146; - $147 = HEAP32[$3>>2]|0; - $148 = ($147|0)!=(0|0); - if ($148) { - $149 = HEAP16[$iCol>>1]|0; - $150 = $149 << 16 >> 16; - $151 = HEAP32[$pTab>>2]|0; - $152 = ((($151)) + 4|0); - $153 = HEAP32[$152>>2]|0; - $154 = (($153) + (($150*24)|0)|0); - $155 = ((($154)) + 20|0); - $156 = HEAP8[$155>>0]|0; - $157 = ($156<<24>>24)!=(0); - if (!($157)) { - $158 = HEAP32[$0>>2]|0; - $159 = ((($158)) + 76|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$159>>2] = $161; - $162 = HEAP32[$3>>2]|0; - HEAP32[$162>>2] = $161; - $163 = HEAP32[$v>>2]|0; - $164 = HEAP32[$iTab>>2]|0; - $165 = HEAP32[$3>>2]|0; - $166 = HEAP32[$165>>2]|0; - _sqlite3SetHasNullFlag($163,$164,$166); + $131 = HEAP32[$pIdx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($130,$131); + $132 = HEAP32[$pIdx>>2]|0; + $133 = ((($132)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP8[$134>>0]|0; + $136 = $135&255; + $137 = (3 + ($136))|0; + HEAP32[$eType>>2] = $137; + $138 = HEAP32[$3>>2]|0; + $139 = ($138|0)!=(0|0); + if ($139) { + $140 = HEAP16[$iCol>>1]|0; + $141 = $140 << 16 >> 16; + $142 = HEAP32[$pTab>>2]|0; + $143 = ((($142)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = (($144) + ($141<<4)|0); + $146 = ((($145)) + 12|0); + $147 = HEAP8[$146>>0]|0; + $148 = ($147<<24>>24)!=(0); + if (!($148)) { + $149 = HEAP32[$0>>2]|0; + $150 = ((($149)) + 76|0); + $151 = HEAP32[$150>>2]|0; + $152 = (($151) + 1)|0; + HEAP32[$150>>2] = $152; + $153 = HEAP32[$3>>2]|0; + HEAP32[$153>>2] = $152; + $154 = HEAP32[$v>>2]|0; + $155 = HEAP32[$iTab>>2]|0; + $156 = HEAP32[$3>>2]|0; + $157 = HEAP32[$156>>2]|0; + _sqlite3SetHasNullFlag($154,$155,$157); } } - $167 = HEAP32[$v>>2]|0; - $168 = HEAP32[$iAddr1>>2]|0; - _sqlite3VdbeJumpHere($167,$168); + $158 = HEAP32[$v>>2]|0; + $159 = HEAP32[$iAddr1>>2]|0; + _sqlite3VdbeJumpHere($158,$159); } } } while(0); - $169 = HEAP32[$pIdx>>2]|0; - $170 = ((($169)) + 20|0); - $171 = HEAP32[$170>>2]|0; - HEAP32[$pIdx>>2] = $171; + $160 = HEAP32[$pIdx>>2]|0; + $161 = ((($160)) + 20|0); + $162 = HEAP32[$161>>2]|0; + HEAP32[$pIdx>>2] = $162; } } } } while(0); - $172 = HEAP32[$eType>>2]|0; - $173 = ($172|0)==(0); + $163 = HEAP32[$eType>>2]|0; + $164 = ($163|0)==(0); do { - if ($173) { - $174 = HEAP32[$2>>2]|0; - $175 = $174 & 1; - $176 = ($175|0)!=(0); - if ($176) { - $177 = HEAP32[$1>>2]|0; - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = $179 & 2048; - $181 = ($180|0)!=(0); - if (!($181)) { - $182 = HEAP32[$1>>2]|0; - $183 = (_sqlite3InRhsIsConstant($182)|0); - $184 = ($183|0)!=(0); - if ($184) { - $185 = HEAP32[$1>>2]|0; - $186 = ((($185)) + 20|0); - $187 = HEAP32[$186>>2]|0; - $188 = HEAP32[$187>>2]|0; - $189 = ($188|0)<=(2); - if (!($189)) { + if ($164) { + $165 = HEAP32[$2>>2]|0; + $166 = $165 & 1; + $167 = ($166|0)!=(0); + if ($167) { + $168 = HEAP32[$1>>2]|0; + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = $170 & 2048; + $172 = ($171|0)!=(0); + if (!($172)) { + $173 = HEAP32[$1>>2]|0; + $174 = (_sqlite3InRhsIsConstant($173)|0); + $175 = ($174|0)!=(0); + if ($175) { + $176 = HEAP32[$1>>2]|0; + $177 = ((($176)) + 20|0); + $178 = HEAP32[$177>>2]|0; + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)<=(2); + if (!($180)) { break; } } @@ -155040,73 +156183,73 @@ function _sqlite3FindInIndex($pParse,$pX,$inFlags,$prRhsHasNull) { } } } while(0); - $190 = HEAP32[$eType>>2]|0; - $191 = ($190|0)==(0); - if (!($191)) { - $228 = HEAP32[$iTab>>2]|0; - $229 = HEAP32[$1>>2]|0; - $230 = ((($229)) + 28|0); - HEAP32[$230>>2] = $228; - $231 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($231|0); + $181 = HEAP32[$eType>>2]|0; + $182 = ($181|0)==(0); + if (!($182)) { + $219 = HEAP32[$iTab>>2]|0; + $220 = HEAP32[$1>>2]|0; + $221 = ((($220)) + 28|0); + HEAP32[$221>>2] = $219; + $222 = HEAP32[$eType>>2]|0; + STACKTOP = sp;return ($222|0); } - $192 = HEAP32[$0>>2]|0; - $193 = ((($192)) + 428|0); - $194 = HEAP32[$193>>2]|0; - HEAP32[$savedNQueryLoop>>2] = $194; + $183 = HEAP32[$0>>2]|0; + $184 = ((($183)) + 428|0); + $185 = HEAP32[$184>>2]|0; + HEAP32[$savedNQueryLoop>>2] = $185; HEAP32[$rMayHaveNull>>2] = 0; HEAP32[$eType>>2] = 2; - $195 = HEAP32[$2>>2]|0; - $196 = $195 & 4; - $197 = ($196|0)!=(0); - if ($197) { - $198 = HEAP32[$0>>2]|0; - $199 = ((($198)) + 428|0); - HEAP32[$199>>2] = 0; - $200 = HEAP32[$1>>2]|0; - $201 = ((($200)) + 12|0); - $202 = HEAP32[$201>>2]|0; - $203 = ((($202)) + 32|0); - $204 = HEAP16[$203>>1]|0; - $205 = $204 << 16 >> 16; - $206 = ($205|0)<(0); - if ($206) { - $207 = HEAP32[$1>>2]|0; - $208 = ((($207)) + 4|0); - $209 = HEAP32[$208>>2]|0; - $210 = $209 & 2048; - $211 = ($210|0)!=(0); - if (!($211)) { + $186 = HEAP32[$2>>2]|0; + $187 = $186 & 4; + $188 = ($187|0)!=(0); + if ($188) { + $189 = HEAP32[$0>>2]|0; + $190 = ((($189)) + 428|0); + HEAP32[$190>>2] = 0; + $191 = HEAP32[$1>>2]|0; + $192 = ((($191)) + 12|0); + $193 = HEAP32[$192>>2]|0; + $194 = ((($193)) + 32|0); + $195 = HEAP16[$194>>1]|0; + $196 = $195 << 16 >> 16; + $197 = ($196|0)<(0); + if ($197) { + $198 = HEAP32[$1>>2]|0; + $199 = ((($198)) + 4|0); + $200 = HEAP32[$199>>2]|0; + $201 = $200 & 2048; + $202 = ($201|0)!=(0); + if (!($202)) { HEAP32[$eType>>2] = 1; } } } else { - $212 = HEAP32[$3>>2]|0; - $213 = ($212|0)!=(0|0); - if ($213) { - $214 = HEAP32[$0>>2]|0; - $215 = ((($214)) + 76|0); - $216 = HEAP32[$215>>2]|0; - $217 = (($216) + 1)|0; - HEAP32[$215>>2] = $217; - HEAP32[$rMayHaveNull>>2] = $217; - $218 = HEAP32[$3>>2]|0; - HEAP32[$218>>2] = $217; + $203 = HEAP32[$3>>2]|0; + $204 = ($203|0)!=(0|0); + if ($204) { + $205 = HEAP32[$0>>2]|0; + $206 = ((($205)) + 76|0); + $207 = HEAP32[$206>>2]|0; + $208 = (($207) + 1)|0; + HEAP32[$206>>2] = $208; + HEAP32[$rMayHaveNull>>2] = $208; + $209 = HEAP32[$3>>2]|0; + HEAP32[$209>>2] = $208; } } - $219 = HEAP32[$0>>2]|0; - $220 = HEAP32[$1>>2]|0; - $221 = HEAP32[$rMayHaveNull>>2]|0; + $210 = HEAP32[$0>>2]|0; + $211 = HEAP32[$1>>2]|0; + $212 = HEAP32[$rMayHaveNull>>2]|0; + $213 = HEAP32[$eType>>2]|0; + $214 = ($213|0)==(1); + $215 = $214&1; + (_sqlite3CodeSubselect($210,$211,$212,$215)|0); + $216 = HEAP32[$savedNQueryLoop>>2]|0; + $217 = HEAP32[$0>>2]|0; + $218 = ((($217)) + 428|0); + HEAP32[$218>>2] = $216; $222 = HEAP32[$eType>>2]|0; - $223 = ($222|0)==(1); - $224 = $223&1; - (_sqlite3CodeSubselect($219,$220,$221,$224)|0); - $225 = HEAP32[$savedNQueryLoop>>2]|0; - $226 = HEAP32[$0>>2]|0; - $227 = ((($226)) + 428|0); - HEAP32[$227>>2] = $225; - $231 = HEAP32[$eType>>2]|0; - STACKTOP = sp;return ($231|0); + STACKTOP = sp;return ($222|0); } function _comparisonAffinity($pExpr) { $pExpr = $pExpr|0; @@ -155241,8 +156384,8 @@ function _sqlite3ExprCanBeNull($p) { $38 = HEAP32[$37>>2]|0; $39 = ((($38)) + 4|0); $40 = HEAP32[$39>>2]|0; - $41 = (($40) + (($35*24)|0)|0); - $42 = ((($41)) + 20|0); + $41 = (($40) + ($35<<4)|0); + $42 = ((($41)) + 12|0); $43 = HEAP8[$42>>0]|0; $44 = $43&255; $45 = ($44|0)==(0); @@ -155329,129 +156472,143 @@ function _sqlite3CompareAffinity($pExpr,$aff2) { } return (0)|0; } -function _isCandidateForInOpt($p) { - $p = $p|0; +function _isCandidateForInOpt($pX) { + $pX = $pX|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pEList = 0, $pSrc = 0; - var $pTab = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, $pEList = 0, $pRes = 0, $pSrc = 0, $pTab = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $pSrc = sp + 8|0; - $pEList = sp + 4|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $p = sp + 16|0; + $pSrc = sp + 12|0; + $pEList = sp + 8|0; + $pRes = sp + 4|0; $pTab = sp; - HEAP32[$1>>2] = $p; + HEAP32[$1>>2] = $pX; $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); + $3 = ((($2)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 2048; + $6 = ($5|0)!=(0); do { - if ($3) { - HEAP32[$0>>2] = 0; - } else { - $4 = HEAP32[$1>>2]|0; - $5 = ((($4)) + 52|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - HEAP32[$0>>2] = 0; - break; - } - $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 6|0); - $10 = HEAP16[$9>>1]|0; - $11 = $10&65535; - $12 = $11 & 9; - $13 = ($12|0)!=(0); - if ($13) { + if ($6) { + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 32; + $11 = ($10|0)!=(0); + if ($11) { HEAP32[$0>>2] = 0; break; } - $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)!=(0|0); - if ($17) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 20|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$p>>2] = $14; + $15 = HEAP32[$p>>2]|0; + $16 = ((($15)) + 48|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)!=(0|0); + if ($18) { HEAP32[$0>>2] = 0; break; } - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 36|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)!=(0|0); - if ($21) { + $19 = HEAP32[$p>>2]|0; + $20 = ((($19)) + 8|0); + $21 = HEAP32[$20>>2]|0; + $22 = $21 & 9; + $23 = ($22|0)!=(0); + if ($23) { HEAP32[$0>>2] = 0; break; } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 32|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pSrc>>2] = $24; - $25 = HEAP32[$pSrc>>2]|0; + $24 = HEAP32[$p>>2]|0; + $25 = ((($24)) + 56|0); $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)!=(1); + $27 = ($26|0)!=(0|0); if ($27) { HEAP32[$0>>2] = 0; break; } - $28 = HEAP32[$pSrc>>2]|0; - $29 = ((($28)) + 8|0); - $30 = ((($29)) + 20|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)!=(0|0); - if ($32) { + $28 = HEAP32[$p>>2]|0; + $29 = ((($28)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0|0); + if ($31) { HEAP32[$0>>2] = 0; break; } - $33 = HEAP32[$pSrc>>2]|0; - $34 = ((($33)) + 8|0); - $35 = ((($34)) + 16|0); + $32 = HEAP32[$p>>2]|0; + $33 = ((($32)) + 28|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$pSrc>>2] = $34; + $35 = HEAP32[$pSrc>>2]|0; $36 = HEAP32[$35>>2]|0; - HEAP32[$pTab>>2] = $36; - $37 = HEAP32[$pTab>>2]|0; - $38 = ($37|0)==(0|0); - if ($38) { + $37 = ($36|0)!=(1); + if ($37) { HEAP32[$0>>2] = 0; break; } - $39 = HEAP32[$pTab>>2]|0; - $40 = ((($39)) + 42|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 & 16; - $44 = ($43|0)!=(0); - if ($44) { + $38 = HEAP32[$pSrc>>2]|0; + $39 = ((($38)) + 8|0); + $40 = ((($39)) + 20|0); + $41 = HEAP32[$40>>2]|0; + $42 = ($41|0)!=(0|0); + if ($42) { HEAP32[$0>>2] = 0; break; } - $45 = HEAP32[$1>>2]|0; + $43 = HEAP32[$pSrc>>2]|0; + $44 = ((($43)) + 8|0); + $45 = ((($44)) + 16|0); $46 = HEAP32[$45>>2]|0; - HEAP32[$pEList>>2] = $46; - $47 = HEAP32[$pEList>>2]|0; - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)!=(1); - if ($49) { + HEAP32[$pTab>>2] = $46; + $47 = HEAP32[$pTab>>2]|0; + $48 = ((($47)) + 42|0); + $49 = HEAP8[$48>>0]|0; + $50 = $49&255; + $51 = $50 & 16; + $52 = ($51|0)!=(0); + if ($52) { HEAP32[$0>>2] = 0; break; } - $50 = HEAP32[$pEList>>2]|0; - $51 = ((($50)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = ($55|0)!=(152); - if ($56) { + $53 = HEAP32[$p>>2]|0; + $54 = HEAP32[$53>>2]|0; + HEAP32[$pEList>>2] = $54; + $55 = HEAP32[$pEList>>2]|0; + $56 = HEAP32[$55>>2]|0; + $57 = ($56|0)!=(1); + if ($57) { + HEAP32[$0>>2] = 0; + break; + } + $58 = HEAP32[$pEList>>2]|0; + $59 = ((($58)) + 4|0); + $60 = HEAP32[$59>>2]|0; + $61 = HEAP32[$60>>2]|0; + HEAP32[$pRes>>2] = $61; + $62 = HEAP32[$pRes>>2]|0; + $63 = HEAP8[$62>>0]|0; + $64 = $63&255; + $65 = ($64|0)!=(152); + if ($65) { HEAP32[$0>>2] = 0; break; } else { - HEAP32[$0>>2] = 1; + $66 = HEAP32[$p>>2]|0; + HEAP32[$0>>2] = $66; break; } + } else { + HEAP32[$0>>2] = 0; } } while(0); - $57 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($57|0); + $67 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($67|0); } function _sqlite3CodeOnce($pParse) { $pParse = $pParse|0; @@ -156070,7 +157227,7 @@ function _sqlite3ExprCacheStore($pParse,$iTab,$iCol,$iReg) { HEAP32[$3>>2] = $iReg; $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$4>>2]|0; - $6 = ((($5)) + 60|0); + $6 = ((($5)) + 64|0); $7 = HEAP16[$6>>1]|0; $8 = $7&65535; $9 = $8 & 2; @@ -156252,7 +157409,7 @@ function _collationMatch($zColl,$pIndex) { if ($22) { $23 = HEAP32[$z>>2]|0; $24 = HEAP32[$1>>2]|0; - $25 = (_sqlite3_stricmp($23,$24)|0); + $25 = (_sqlite3StrICmp($23,$24)|0); $26 = (0)==($25|0); if ($26) { label = 5; @@ -156286,8 +157443,8 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, $db = 0, $rc = 0, $regArgs = 0, $sName = 0, $v = 0; - var $zAuthArg = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $db = 0, $rc = 0, $regArgs = 0, $sName = 0, $v = 0, $zAuthArg = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 76|0; @@ -156385,8 +157542,8 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { $52 = HEAP32[$regArgs>>2]|0; $53 = (($52) + 3)|0; $54 = HEAP32[$2>>2]|0; - $55 = HEAP16[$54>>1]|0; - $56 = $55 << 16 >> 16; + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; $57 = (($53) - ($56))|0; $58 = HEAP32[$regArgs>>2]|0; $59 = (($58) + 3)|0; @@ -156394,28 +157551,27 @@ function _codeAttach($pParse,$type,$pFunc,$pAuthArg,$pFilename,$pDbname,$pKey) { (_sqlite3VdbeAddOp4($51,35,0,$57,$59,$60,-5)|0); $61 = HEAP32[$v>>2]|0; $62 = HEAP32[$2>>2]|0; - $63 = HEAP16[$62>>1]|0; - $64 = $63&255; - _sqlite3VdbeChangeP5($61,$64); - $65 = HEAP32[$v>>2]|0; - $66 = HEAP32[$1>>2]|0; - $67 = ($66|0)==(24); - $68 = $67&1; - (_sqlite3VdbeAddOp1($65,147,$68)|0); + $63 = HEAP8[$62>>0]|0; + _sqlite3VdbeChangeP5($61,$63); + $64 = HEAP32[$v>>2]|0; + $65 = HEAP32[$1>>2]|0; + $66 = ($65|0)==(24); + $67 = $66&1; + (_sqlite3VdbeAddOp1($64,147,$67)|0); } } } } } while(0); - $69 = HEAP32[$db>>2]|0; - $70 = HEAP32[$4>>2]|0; - _sqlite3ExprDelete($69,$70); - $71 = HEAP32[$db>>2]|0; - $72 = HEAP32[$5>>2]|0; - _sqlite3ExprDelete($71,$72); - $73 = HEAP32[$db>>2]|0; - $74 = HEAP32[$6>>2]|0; - _sqlite3ExprDelete($73,$74); + $68 = HEAP32[$db>>2]|0; + $69 = HEAP32[$4>>2]|0; + _sqlite3ExprDelete($68,$69); + $70 = HEAP32[$db>>2]|0; + $71 = HEAP32[$5>>2]|0; + _sqlite3ExprDelete($70,$71); + $72 = HEAP32[$db>>2]|0; + $73 = HEAP32[$6>>2]|0; + _sqlite3ExprDelete($72,$73); STACKTOP = sp;return; } function _resolveAttachExpr($pName,$pExpr) { @@ -156490,7 +157646,7 @@ function _detachFunc($context,$NotUsed,$argv) { $8 = HEAP32[$zName>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - HEAP32[$zName>>2] = 19266; + HEAP32[$zName>>2] = 19010; } HEAP32[$i>>2] = 0; while(1) { @@ -156516,7 +157672,7 @@ function _detachFunc($context,$NotUsed,$argv) { $24 = HEAP32[$pDb>>2]|0; $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$zName>>2]|0; - $27 = (_sqlite3_stricmp($25,$26)|0); + $27 = (_sqlite3StrICmp($25,$26)|0); $28 = ($27|0)==(0); if ($28) { break; @@ -156535,22 +157691,22 @@ function _detachFunc($context,$NotUsed,$argv) { if ($35) { $36 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer>>2] = $36; - (_sqlite3_snprintf(128,$zErr,32129,$vararg_buffer)|0); + (_sqlite3_snprintf(128,$zErr,31844,$vararg_buffer)|0); } else { $37 = HEAP32[$i>>2]|0; $38 = ($37|0)<(2); if ($38) { $39 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer1>>2] = $39; - (_sqlite3_snprintf(128,$zErr,32150,$vararg_buffer1)|0); + (_sqlite3_snprintf(128,$zErr,31865,$vararg_buffer1)|0); break; } $40 = HEAP32[$db>>2]|0; - $41 = ((($40)) + 63|0); + $41 = ((($40)) + 67|0); $42 = HEAP8[$41>>0]|0; $43 = ($42<<24>>24)!=(0); if (!($43)) { - (_sqlite3_snprintf(128,$zErr,32176,$vararg_buffer4)|0); + (_sqlite3_snprintf(128,$zErr,31891,$vararg_buffer4)|0); break; } $44 = HEAP32[$pDb>>2]|0; @@ -156582,7 +157738,7 @@ function _detachFunc($context,$NotUsed,$argv) { } $54 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer6>>2] = $54; - (_sqlite3_snprintf(128,$zErr,32218,$vararg_buffer6)|0); + (_sqlite3_snprintf(128,$zErr,31933,$vararg_buffer6)|0); } } while(0); $63 = HEAP32[$0>>2]|0; @@ -156798,13 +157954,13 @@ function _sqlite3CollapseDatabaseArray($db) { $44 = ((($43)) + 16|0); $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$0>>2]|0; - $47 = ((($46)) + 460|0); + $47 = ((($46)) + 392|0); $48 = ($45|0)!=($47|0); if (!($48)) { STACKTOP = sp;return; } $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 460|0); + $50 = ((($49)) + 392|0); $51 = HEAP32[$0>>2]|0; $52 = ((($51)) + 16|0); $53 = HEAP32[$52>>2]|0; @@ -156815,7 +157971,7 @@ function _sqlite3CollapseDatabaseArray($db) { $57 = HEAP32[$56>>2]|0; _sqlite3DbFree($54,$57); $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 460|0); + $59 = ((($58)) + 392|0); $60 = HEAP32[$0>>2]|0; $61 = ((($60)) + 16|0); HEAP32[$61>>2] = $59; @@ -156949,16 +158105,16 @@ function _removeFromSharingList($pBt) { $32 = HEAP32[$removed>>2]|0; STACKTOP = sp;return ($32|0); } - $9 = HEAP32[4832>>2]|0; + $9 = HEAP32[4860>>2]|0; $10 = HEAP32[$0>>2]|0; $11 = ($9|0)==($10|0); if ($11) { $12 = HEAP32[$0>>2]|0; $13 = ((($12)) + 68|0); $14 = HEAP32[$13>>2]|0; - HEAP32[4832>>2] = $14; + HEAP32[4860>>2] = $14; } else { - $15 = HEAP32[4832>>2]|0; + $15 = HEAP32[4860>>2]|0; HEAP32[$pList>>2] = $15; while(1) { $16 = HEAP32[$pList>>2]|0; @@ -157144,18 +158300,18 @@ function _attachFunc($context,$NotUsed,$argv) { $12 = HEAP32[$zFile>>2]|0; $13 = ($12|0)==(0|0); if ($13) { - HEAP32[$zFile>>2] = 19266; + HEAP32[$zFile>>2] = 19010; } $14 = HEAP32[$zName>>2]|0; $15 = ($14|0)==(0|0); if ($15) { - HEAP32[$zName>>2] = 19266; + HEAP32[$zName>>2] = 19010; } $16 = HEAP32[$db>>2]|0; $17 = ((($16)) + 20|0); $18 = HEAP32[$17>>2]|0; $19 = HEAP32[$db>>2]|0; - $20 = ((($19)) + 88|0); + $20 = ((($19)) + 92|0); $21 = ((($20)) + 28|0); $22 = HEAP32[$21>>2]|0; $23 = (($22) + 2)|0; @@ -157164,19 +158320,19 @@ function _attachFunc($context,$NotUsed,$argv) { do { if ($24) { $26 = HEAP32[$db>>2]|0; - $27 = ((($26)) + 88|0); + $27 = ((($26)) + 92|0); $28 = ((($27)) + 28|0); $29 = HEAP32[$28>>2]|0; HEAP32[$vararg_buffer>>2] = $29; - $30 = (_sqlite3MPrintf($25,32254,$vararg_buffer)|0); + $30 = (_sqlite3MPrintf($25,31969,$vararg_buffer)|0); HEAP32[$zErrDyn>>2] = $30; } else { - $31 = ((($25)) + 63|0); + $31 = ((($25)) + 67|0); $32 = HEAP8[$31>>0]|0; $33 = ($32<<24>>24)!=(0); if (!($33)) { $34 = HEAP32[$db>>2]|0; - $35 = (_sqlite3MPrintf($34,32291,$vararg_buffer2)|0); + $35 = (_sqlite3MPrintf($34,32006,$vararg_buffer2)|0); HEAP32[$zErrDyn>>2] = $35; break; } @@ -157199,7 +158355,7 @@ function _attachFunc($context,$NotUsed,$argv) { HEAP32[$z>>2] = $46; $47 = HEAP32[$z>>2]|0; $48 = HEAP32[$zName>>2]|0; - $49 = (_sqlite3_stricmp($47,$48)|0); + $49 = (_sqlite3StrICmp($47,$48)|0); $50 = ($49|0)==(0); if ($50) { label = 12; @@ -157213,7 +158369,7 @@ function _attachFunc($context,$NotUsed,$argv) { $51 = HEAP32[$db>>2]|0; $52 = HEAP32[$zName>>2]|0; HEAP32[$vararg_buffer4>>2] = $52; - $53 = (_sqlite3MPrintf($51,32333,$vararg_buffer4)|0); + $53 = (_sqlite3MPrintf($51,32048,$vararg_buffer4)|0); HEAP32[$zErrDyn>>2] = $53; break; } @@ -157221,7 +158377,7 @@ function _attachFunc($context,$NotUsed,$argv) { $57 = ((($56)) + 16|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 460|0); + $60 = ((($59)) + 392|0); $61 = ($58|0)==($60|0); $62 = HEAP32[$db>>2]|0; do { @@ -157322,7 +158478,7 @@ function _attachFunc($context,$NotUsed,$argv) { if ($124) { HEAP32[$rc>>2] = 1; $125 = HEAP32[$db>>2]|0; - $126 = (_sqlite3MPrintf($125,32363,$vararg_buffer7)|0); + $126 = (_sqlite3MPrintf($125,32078,$vararg_buffer7)|0); HEAP32[$zErrDyn>>2] = $126; } else { $127 = HEAP32[$rc>>2]|0; @@ -157356,13 +158512,13 @@ function _attachFunc($context,$NotUsed,$argv) { $151 = HEAP8[$150>>0]|0; $152 = $151&255; $153 = HEAP32[$db>>2]|0; - $154 = ((($153)) + 62|0); + $154 = ((($153)) + 66|0); $155 = HEAP8[$154>>0]|0; $156 = $155&255; $157 = ($152|0)!=($156|0); if ($157) { $158 = HEAP32[$db>>2]|0; - $159 = (_sqlite3MPrintf($158,20880,$vararg_buffer9)|0); + $159 = (_sqlite3MPrintf($158,20624,$vararg_buffer9)|0); HEAP32[$zErrDyn>>2] = $159; HEAP32[$rc>>2] = 1; } @@ -157381,7 +158537,7 @@ function _attachFunc($context,$NotUsed,$argv) { HEAP32[$pPager>>2] = $166; $167 = HEAP32[$pPager>>2]|0; $168 = HEAP32[$db>>2]|0; - $169 = ((($168)) + 67|0); + $169 = ((($168)) + 71|0); $170 = HEAP8[$169>>0]|0; $171 = $170&255; (_sqlite3PagerLockingMode($167,$171)|0); @@ -157493,7 +158649,7 @@ function _attachFunc($context,$NotUsed,$argv) { $248 = HEAP32[$zErrDyn>>2]|0; _sqlite3DbFree($247,$248); $249 = HEAP32[$db>>2]|0; - $250 = (_sqlite3MPrintf($249,32392,$vararg_buffer11)|0); + $250 = (_sqlite3MPrintf($249,25624,$vararg_buffer11)|0); HEAP32[$zErrDyn>>2] = $250; break; } @@ -157503,7 +158659,7 @@ function _attachFunc($context,$NotUsed,$argv) { $253 = HEAP32[$db>>2]|0; $254 = HEAP32[$zFile>>2]|0; HEAP32[$vararg_buffer13>>2] = $254; - $255 = (_sqlite3MPrintf($253,32406,$vararg_buffer13)|0); + $255 = (_sqlite3MPrintf($253,32107,$vararg_buffer13)|0); HEAP32[$zErrDyn>>2] = $255; } } @@ -157856,7 +159012,7 @@ function _sqlite3CodeVerifyNamedSchema($pParse,$zDb) { $20 = HEAP32[$1>>2]|0; $21 = HEAP32[$pDb>>2]|0; $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3_stricmp($20,$22)|0); + $23 = (_sqlite3StrICmp($20,$22)|0); $24 = (0)==($23|0); if (!($24)) { break; @@ -157917,7 +159073,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { HEAP32[$zDb>>2] = $17; $18 = HEAP32[$iDb>>2]|0; $19 = ($18|0)==(1); - $20 = $19 ? 20769 : 20788; + $20 = $19 ? 20513 : 20532; HEAP32[$zTab>>2] = $20; $21 = HEAP32[$iDb>>2]|0; $22 = ($21|0)==(1); @@ -157960,7 +159116,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { $46 = HEAP32[$45>>2]|0; $47 = HEAP32[$iDb>>2]|0; $48 = ($47|0)==(1); - $49 = $48 ? 20769 : 20788; + $49 = $48 ? 20513 : 20532; $50 = HEAP32[$1>>2]|0; $51 = HEAP32[$50>>2]|0; HEAP32[$vararg_buffer>>2] = $46; @@ -157968,7 +159124,7 @@ function _sqlite3DropTriggerPtr($pParse,$pTrigger) { HEAP32[$vararg_ptr1>>2] = $49; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $51; - _sqlite3NestedParse($40,32454,$vararg_buffer); + _sqlite3NestedParse($40,32155,$vararg_buffer); $52 = HEAP32[$0>>2]|0; $53 = HEAP32[$iDb>>2]|0; _sqlite3ChangeCookie($52,$53); @@ -158217,7 +159373,7 @@ function _sqlite3FixSrcList($pFix,$pList) { $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$zDb>>2]|0; - $26 = (_sqlite3_stricmp($24,$25)|0); + $26 = (_sqlite3StrICmp($24,$25)|0); $27 = ($26|0)!=(0); if ($27) { label = 8; @@ -158284,7 +159440,7 @@ function _sqlite3FixSrcList($pFix,$pList) { HEAP32[$vararg_ptr1>>2] = $35; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $38; - _sqlite3ErrorMsg($29,32752,$vararg_buffer); + _sqlite3ErrorMsg($29,32453,$vararg_buffer); HEAP32[$0>>2] = 1; $67 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($67|0); @@ -158337,7 +159493,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $10 = HEAP32[$1>>2]|0; $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 32|0); + $12 = ((($11)) + 28|0); $13 = HEAP32[$12>>2]|0; $14 = (_sqlite3FixSrcList($10,$13)|0); $15 = ($14|0)!=(0); @@ -158347,7 +159503,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $16 = HEAP32[$1>>2]|0; $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 36|0); + $18 = ((($17)) + 32|0); $19 = HEAP32[$18>>2]|0; $20 = (_sqlite3FixExpr($16,$19)|0); $21 = ($20|0)!=(0); @@ -158357,7 +159513,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $22 = HEAP32[$1>>2]|0; $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 40|0); + $24 = ((($23)) + 36|0); $25 = HEAP32[$24>>2]|0; $26 = (_sqlite3FixExprList($22,$25)|0); $27 = ($26|0)!=(0); @@ -158367,7 +159523,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $28 = HEAP32[$1>>2]|0; $29 = HEAP32[$2>>2]|0; - $30 = ((($29)) + 44|0); + $30 = ((($29)) + 40|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3FixExpr($28,$31)|0); $33 = ($32|0)!=(0); @@ -158377,7 +159533,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $34 = HEAP32[$1>>2]|0; $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 48|0); + $36 = ((($35)) + 44|0); $37 = HEAP32[$36>>2]|0; $38 = (_sqlite3FixExprList($34,$37)|0); $39 = ($38|0)!=(0); @@ -158387,7 +159543,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $40 = HEAP32[$1>>2]|0; $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 60|0); + $42 = ((($41)) + 56|0); $43 = HEAP32[$42>>2]|0; $44 = (_sqlite3FixExpr($40,$43)|0); $45 = ($44|0)!=(0); @@ -158397,7 +159553,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { } $46 = HEAP32[$1>>2]|0; $47 = HEAP32[$2>>2]|0; - $48 = ((($47)) + 64|0); + $48 = ((($47)) + 60|0); $49 = HEAP32[$48>>2]|0; $50 = (_sqlite3FixExpr($46,$49)|0); $51 = ($50|0)!=(0); @@ -158406,7 +159562,7 @@ function _sqlite3FixSelect($pFix,$pSelect) { break; } $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 52|0); + $53 = ((($52)) + 48|0); $54 = HEAP32[$53>>2]|0; HEAP32[$2>>2] = $54; } @@ -158469,7 +159625,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { $9 = HEAP32[$1>>2]|0; $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; - $12 = ((($11)) + 140|0); + $12 = ((($11)) + 144|0); $13 = ((($12)) + 5|0); $14 = HEAP8[$13>>0]|0; $15 = ($14<<24>>24)!=(0); @@ -158536,7 +159692,7 @@ function _sqlite3FixExpr($pFix,$pExpr) { $20 = ((($19)) + 16|0); $21 = HEAP32[$20>>2]|0; HEAP32[$vararg_buffer>>2] = $21; - _sqlite3ErrorMsg($18,32798,$vararg_buffer); + _sqlite3ErrorMsg($18,32499,$vararg_buffer); HEAP32[$0>>2] = 1; $50 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($50|0); @@ -158703,11 +159859,11 @@ function _sqlite3VdbeRunOnlyOnce($p) { $0 = sp; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 88|0); - $3 = HEAP16[$2>>1]|0; - $4 = $3 & -17; - $5 = $4 | 16; - HEAP16[$2>>1] = $5; + $2 = ((($1)) + 89|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3 & -9; + $5 = $4 | 8; + HEAP8[$2>>0] = $5; STACKTOP = sp;return; } function _returnSingleText($v,$zLabel,$zValue) { @@ -158882,7 +160038,7 @@ function _sqlite3VdbeSetColName($p,$idx,$var,$zName,$xDel) { HEAP32[$5>>2] = $xDel; $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 65|0); + $8 = ((($7)) + 69|0); $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)!=(0); if ($10) { @@ -158928,14 +160084,14 @@ function _getLockingMode($z) { do { if ($3) { $4 = HEAP32[$1>>2]|0; - $5 = (_sqlite3_stricmp($4,33004)|0); + $5 = (_sqlite3StrICmp($4,32705)|0); $6 = (0)==($5|0); if ($6) { HEAP32[$0>>2] = 1; break; } $7 = HEAP32[$1>>2]|0; - $8 = (_sqlite3_stricmp($7,32997)|0); + $8 = (_sqlite3StrICmp($7,32698)|0); $9 = (0)==($8|0); if ($9) { HEAP32[$0>>2] = 0; @@ -158966,7 +160122,7 @@ function _sqlite3JournalModename($eMode) { HEAP32[$0>>2] = 0; } else { $4 = HEAP32[$1>>2]|0; - $5 = (6256 + ($4<<2)|0); + $5 = (6252 + ($4<<2)|0); $6 = HEAP32[$5>>2]|0; HEAP32[$0>>2] = $6; } @@ -159086,21 +160242,21 @@ function _getAutoVacuum($z) { $i = sp; HEAP32[$1>>2] = $z; $2 = HEAP32[$1>>2]|0; - $3 = (_sqlite3_stricmp($2,34075)|0); + $3 = (_sqlite3StrICmp($2,33776)|0); $4 = (0)==($3|0); do { if ($4) { HEAP32[$0>>2] = 0; } else { $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3_stricmp($5,33519)|0); + $6 = (_sqlite3StrICmp($5,33220)|0); $7 = (0)==($6|0); if ($7) { HEAP32[$0>>2] = 1; break; } $8 = HEAP32[$1>>2]|0; - $9 = (_sqlite3_stricmp($8,34080)|0); + $9 = (_sqlite3StrICmp($8,33781)|0); $10 = (0)==($9|0); if ($10) { HEAP32[$0>>2] = 2; @@ -159229,7 +160385,7 @@ function _setAllPagerFlags($db) { $n = sp; HEAP32[$0>>2] = $db; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 63|0); + $2 = ((($1)) + 67|0); $3 = HEAP8[$2>>0]|0; $4 = ($3<<24>>24)!=(0); if (!($4)) { @@ -159297,7 +160453,7 @@ function _changeTempStorage($pParse,$zStorageType) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 64|0); + $8 = ((($7)) + 68|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; $11 = HEAP32[$ts>>2]|0; @@ -159318,7 +160474,7 @@ function _changeTempStorage($pParse,$zStorageType) { $16 = HEAP32[$ts>>2]|0; $17 = $16&255; $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 64|0); + $19 = ((($18)) + 68|0); HEAP8[$19>>0] = $17; HEAP32[$0>>2] = 0; $20 = HEAP32[$0>>2]|0; @@ -159351,7 +160507,7 @@ function _invalidateTempStorage($pParse) { do { if ($10) { $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 63|0); + $12 = ((($11)) + 67|0); $13 = HEAP8[$12>>0]|0; $14 = ($13<<24>>24)!=(0); if ($14) { @@ -159383,7 +160539,7 @@ function _invalidateTempStorage($pParse) { } } $23 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($23,34013,$vararg_buffer); + _sqlite3ErrorMsg($23,33714,$vararg_buffer); HEAP32[$0>>2] = 1; $36 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($36|0); @@ -159521,172 +160677,6 @@ function _sqlite3VdbeMultiLoad($p,$iDest,$zTypes,$varargs) { } STACKTOP = sp;return; } -function _sqlite3LogEstToInt($x) { - $x = $x|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; - var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $n = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 8|0; - $1 = sp + 16|0; - $n = sp; - HEAP16[$1>>1] = $x; - $2 = HEAP16[$1>>1]|0; - $3 = $2 << 16 >> 16; - $4 = ($3|0)<(10); - if ($4) { - $5 = $0; - $6 = $5; - HEAP32[$6>>2] = 1; - $7 = (($5) + 4)|0; - $8 = $7; - HEAP32[$8>>2] = 0; - $104 = $0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - tempRet0 = ($109); - STACKTOP = sp;return ($106|0); - } - $9 = HEAP16[$1>>1]|0; - $10 = $9 << 16 >> 16; - $11 = (($10|0) % 10)&-1; - $12 = ($11|0)<(0); - $13 = $12 << 31 >> 31; - $14 = $n; - $15 = $14; - HEAP32[$15>>2] = $11; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = $13; - $18 = HEAP16[$1>>1]|0; - $19 = $18 << 16 >> 16; - $20 = (($19|0) / 10)&-1; - $21 = $20&65535; - HEAP16[$1>>1] = $21; - $22 = $n; - $23 = $22; - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + 4)|0; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = ($27>>>0)>(0); - $29 = ($24>>>0)>=(5); - $30 = ($27|0)==(0); - $31 = $30 & $29; - $32 = $28 | $31; - $33 = $n; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - $36 = (($33) + 4)|0; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - if ($32) { - $39 = (_i64Subtract(($35|0),($38|0),2,0)|0); - $40 = tempRet0; - $41 = $n; - $42 = $41; - HEAP32[$42>>2] = $39; - $43 = (($41) + 4)|0; - $44 = $43; - HEAP32[$44>>2] = $40; - } else { - $45 = ($38>>>0)>(0); - $46 = ($35>>>0)>=(1); - $47 = ($38|0)==(0); - $48 = $47 & $46; - $49 = $45 | $48; - if ($49) { - $50 = $n; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + 4)|0; - $54 = $53; - $55 = HEAP32[$54>>2]|0; - $56 = (_i64Subtract(($52|0),($55|0),1,0)|0); - $57 = tempRet0; - $58 = $n; - $59 = $58; - HEAP32[$59>>2] = $56; - $60 = (($58) + 4)|0; - $61 = $60; - HEAP32[$61>>2] = $57; - } - } - $62 = HEAP16[$1>>1]|0; - $63 = $62 << 16 >> 16; - $64 = ($63|0)>=(3); - if (!($64)) { - $87 = $n; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - $93 = (_i64Add(($89|0),($92|0),8,0)|0); - $94 = tempRet0; - $95 = HEAP16[$1>>1]|0; - $96 = $95 << 16 >> 16; - $97 = (3 - ($96))|0; - $98 = (_bitshift64Lshr(($93|0),($94|0),($97|0))|0); - $99 = tempRet0; - $100 = $0; - $101 = $100; - HEAP32[$101>>2] = $98; - $102 = (($100) + 4)|0; - $103 = $102; - HEAP32[$103>>2] = $99; - $104 = $0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - tempRet0 = ($109); - STACKTOP = sp;return ($106|0); - } - $65 = HEAP16[$1>>1]|0; - $66 = $65 << 16 >> 16; - $67 = ($66|0)>(60); - if ($67) { - $83 = -1;$86 = 2147483647; - } else { - $68 = $n; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = (_i64Add(($70|0),($73|0),8,0)|0); - $75 = tempRet0; - $76 = HEAP16[$1>>1]|0; - $77 = $76 << 16 >> 16; - $78 = (($77) - 3)|0; - $79 = (_bitshift64Shl(($74|0),($75|0),($78|0))|0); - $80 = tempRet0; - $83 = $79;$86 = $80; - } - $81 = $0; - $82 = $81; - HEAP32[$82>>2] = $83; - $84 = (($81) + 4)|0; - $85 = $84; - HEAP32[$85>>2] = $86; - $104 = $0; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - tempRet0 = ($109); - STACKTOP = sp;return ($106|0); -} function _actionName($action) { $action = $action|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $zName = 0, label = 0, sp = 0; @@ -159699,23 +160689,23 @@ function _actionName($action) { $2 = $1&255; switch ($2|0) { case 7: { - HEAP32[$zName>>2] = 33823; + HEAP32[$zName>>2] = 33524; break; } case 8: { - HEAP32[$zName>>2] = 33832; + HEAP32[$zName>>2] = 33533; break; } case 9: { - HEAP32[$zName>>2] = 33844; + HEAP32[$zName>>2] = 33545; break; } case 6: { - HEAP32[$zName>>2] = 33852; + HEAP32[$zName>>2] = 33553; break; } default: { - HEAP32[$zName>>2] = 33861; + HEAP32[$zName>>2] = 33562; } } $3 = HEAP32[$zName>>2]|0; @@ -159796,10 +160786,10 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $26 = HEAP32[$2>>2]|0; $27 = ((($26)) + 4|0); $28 = HEAP32[$27>>2]|0; - $29 = (($28) + (($25*24)|0)|0); + $29 = (($28) + ($25<<4)|0); $30 = HEAP32[$29>>2]|0; $31 = HEAP32[$zKey>>2]|0; - $32 = (_sqlite3_stricmp($30,$31)|0); + $32 = (_sqlite3StrICmp($30,$31)|0); $33 = ($32|0)!=(0); if (!($33)) { HEAP32[$0>>2] = 0; @@ -159897,13 +160887,13 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $98 = HEAP32[$2>>2]|0; $99 = ((($98)) + 4|0); $100 = HEAP32[$99>>2]|0; - $101 = (($100) + (($97*24)|0)|0); - $102 = ((($101)) + 16|0); + $101 = (($100) + ($97<<4)|0); + $102 = ((($101)) + 8|0); $103 = HEAP32[$102>>2]|0; HEAP32[$zDfltColl>>2] = $103; $104 = HEAP32[$zDfltColl>>2]|0; $105 = ($104|0)!=(0|0); - $$ = $105 ? $103 : 35690; + $$ = $105 ? $103 : 35343; HEAP32[$zDfltColl>>2] = $$; $106 = HEAP32[$i1>>2]|0; $107 = HEAP32[$pIdx>>2]|0; @@ -159912,7 +160902,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $110 = (($109) + ($106<<2)|0); $111 = HEAP32[$110>>2]|0; $112 = HEAP32[$zDfltColl>>2]|0; - $113 = (_sqlite3_stricmp($111,$112)|0); + $113 = (_sqlite3StrICmp($111,$112)|0); $114 = ($113|0)!=(0); if ($114) { break; @@ -159922,7 +160912,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $117 = HEAP32[$2>>2]|0; $118 = ((($117)) + 4|0); $119 = HEAP32[$118>>2]|0; - $120 = (($119) + (($116*24)|0)|0); + $120 = (($119) + ($116<<4)|0); $121 = HEAP32[$120>>2]|0; HEAP32[$zIdxCol>>2] = $121; HEAP32[$j>>2] = 0; @@ -159940,7 +160930,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { $129 = ((($128)) + 4|0); $130 = HEAP32[$129>>2]|0; $131 = HEAP32[$zIdxCol>>2]|0; - $132 = (_sqlite3_stricmp($130,$131)|0); + $132 = (_sqlite3StrICmp($130,$131)|0); $133 = ($132|0)==(0); if ($133) { label = 28; @@ -160044,7 +161034,7 @@ function _sqlite3FkLocateIndex($pParse,$pParent,$pFKey,$ppIdx,$paiCol) { HEAP32[$vararg_buffer>>2] = $166; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $169; - _sqlite3ErrorMsg($163,33760,$vararg_buffer); + _sqlite3ErrorMsg($163,33461,$vararg_buffer); } $170 = HEAP32[$1>>2]|0; $171 = HEAP32[$170>>2]|0; @@ -160132,8 +161122,8 @@ function _sqlite3IndexAffinityStr($db,$pIdx) { $42 = HEAP32[$pTab>>2]|0; $43 = ((($42)) + 4|0); $44 = HEAP32[$43>>2]|0; - $45 = (($44) + (($41*24)|0)|0); - $46 = ((($45)) + 21|0); + $45 = (($44) + ($41<<4)|0); + $46 = ((($45)) + 13|0); $47 = HEAP8[$46>>0]|0; $48 = HEAP32[$n>>2]|0; $49 = HEAP32[$2>>2]|0; @@ -160206,26 +161196,26 @@ function _sqlite3RegisterLikeFunctions($db,$caseSensitive) { $2 = HEAP32[$1>>2]|0; $3 = ($2|0)!=(0); if ($3) { - HEAP32[$pInfo>>2] = 33668; + HEAP32[$pInfo>>2] = 33369; } else { - HEAP32[$pInfo>>2] = 19262; + HEAP32[$pInfo>>2] = 19006; } $4 = HEAP32[$0>>2]|0; $5 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($4,33672,2,1,$5,212,0,0,0)|0); + (_sqlite3CreateFunc($4,33373,2,1,$5,212,0,0,0)|0); $6 = HEAP32[$0>>2]|0; $7 = HEAP32[$pInfo>>2]|0; - (_sqlite3CreateFunc($6,33672,3,1,$7,212,0,0,0)|0); + (_sqlite3CreateFunc($6,33373,3,1,$7,212,0,0,0)|0); $8 = HEAP32[$0>>2]|0; - (_sqlite3CreateFunc($8,33677,2,1,19258,212,0,0,0)|0); + (_sqlite3CreateFunc($8,33378,2,1,19002,212,0,0,0)|0); $9 = HEAP32[$0>>2]|0; - _setLikeOptFlag($9,33677,12); + _setLikeOptFlag($9,33378,12); $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$1>>2]|0; $12 = ($11|0)!=(0); $13 = $12 ? 12 : 4; $14 = $13&255; - _setLikeOptFlag($10,33672,$14); + _setLikeOptFlag($10,33373,$14); STACKTOP = sp;return; } function _sqlite3ExprCacheClear($pParse) { @@ -160502,6 +161492,20 @@ function _sqlite3OpenTableAndIndices($pParse,$pTab,$op,$p5,$iBase,$aToOpen,$piDa $122 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($122|0); } +function _sqlite3VdbeReusable($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 89|0); + $3 = HEAP8[$2>>0]|0; + $4 = $3 & -9; + HEAP8[$2>>0] = $4; + STACKTOP = sp;return; +} function _likeFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; @@ -160546,13 +161550,13 @@ function _likeFunc($context,$argc,$argv) { HEAP32[$nPat>>2] = $16; $17 = HEAP32[$nPat>>2]|0; $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 88|0); + $19 = ((($18)) + 92|0); $20 = ((($19)) + 32|0); $21 = HEAP32[$20>>2]|0; $22 = ($17|0)>($21|0); if ($22) { $23 = HEAP32[$0>>2]|0; - _sqlite3_result_error($23,33682,-1); + _sqlite3_result_error($23,33383,-1); STACKTOP = sp;return; } $24 = HEAP32[$1>>2]|0; @@ -160578,7 +161582,7 @@ function _likeFunc($context,$argc,$argv) { break; } $35 = HEAP32[$0>>2]|0; - _sqlite3_result_error($35,33715,-1); + _sqlite3_result_error($35,33416,-1); STACKTOP = sp;return; } else { $37 = HEAP32[$pInfo>>2]|0; @@ -160609,8 +161613,7 @@ function _setLikeOptFlag($db,$zName,$flagVal) { $db = $db|0; $zName = $zName|0; $flagVal = $flagVal|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, label = 0; - var sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -160622,24 +161625,22 @@ function _setLikeOptFlag($db,$zName,$flagVal) { HEAP8[$2>>0] = $flagVal; $3 = HEAP32[$0>>2]|0; $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$1>>2]|0; - $6 = (_sqlite3Strlen30($5)|0); - $7 = (_sqlite3FindFunction($3,$4,$6,2,1,0)|0); - HEAP32[$pDef>>2] = $7; - $8 = HEAP32[$pDef>>2]|0; - $9 = ($8|0)!=(0|0); - if (!($9)) { + $5 = (_sqlite3FindFunction($3,$4,2,1,0)|0); + HEAP32[$pDef>>2] = $5; + $6 = HEAP32[$pDef>>2]|0; + $7 = ($6|0)!=(0|0); + if (!($7)) { STACKTOP = sp;return; } - $10 = HEAP8[$2>>0]|0; - $11 = $10&255; - $12 = HEAP32[$pDef>>2]|0; - $13 = ((($12)) + 2|0); - $14 = HEAP16[$13>>1]|0; + $8 = HEAP8[$2>>0]|0; + $9 = $8&255; + $10 = HEAP32[$pDef>>2]|0; + $11 = ((($10)) + 2|0); + $12 = HEAP16[$11>>1]|0; + $13 = $12&65535; + $14 = $13 | $9; $15 = $14&65535; - $16 = $15 | $11; - $17 = $16&65535; - HEAP16[$13>>1] = $17; + HEAP16[$11>>1] = $15; STACKTOP = sp;return; } function _sqlite3Utf8Read($pz) { @@ -160666,7 +161667,7 @@ function _sqlite3Utf8Read($pz) { } $8 = HEAP32[$c>>2]|0; $9 = (($8) - 192)|0; - $10 = (26420 + ($9)|0); + $10 = (26171 + ($9)|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; HEAP32[$c>>2] = $12; @@ -160744,14 +161745,14 @@ function _getTempStore($z) { do { if ((label|0) == 4) { $14 = HEAP32[$1>>2]|0; - $15 = (_sqlite3_stricmp($14,33917)|0); + $15 = (_sqlite3StrICmp($14,33618)|0); $16 = ($15|0)==(0); if ($16) { HEAP32[$0>>2] = 1; break; } $17 = HEAP32[$1>>2]|0; - $18 = (_sqlite3_stricmp($17,27038)|0); + $18 = (_sqlite3StrICmp($17,26767)|0); $19 = ($18|0)==(0); if ($19) { HEAP32[$0>>2] = 2; @@ -160911,7 +161912,7 @@ function _releaseMemArray($p,$N) { $11 = HEAP32[$10>>2]|0; HEAP32[$db>>2] = $11; $12 = HEAP32[$db>>2]|0; - $13 = ((($12)) + 528|0); + $13 = ((($12)) + 456|0); $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(0|0); if ($15) { @@ -161016,7 +162017,7 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { } $13 = HEAP32[$i>>2]|0; HEAP32[$vararg_buffer>>2] = $13; - (_sqlite3_snprintf(24,$zTab,34953,$vararg_buffer)|0); + (_sqlite3_snprintf(24,$zTab,34654,$vararg_buffer)|0); $14 = HEAP32[$0>>2]|0; $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$zDbName>>2]|0; @@ -161034,7 +162035,7 @@ function _sqlite3ClearStatTables($pParse,$iDb,$zType,$zName) { HEAP32[$vararg_ptr5>>2] = $21; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $22; - _sqlite3NestedParse($19,31809,$vararg_buffer1); + _sqlite3NestedParse($19,31526,$vararg_buffer1); } $23 = HEAP32[$i>>2]|0; $24 = (($23) + 1)|0; @@ -161082,7 +162083,7 @@ function _destroyRootPage($pParse,$iTable,$iDb) { $19 = HEAP32[$18>>2]|0; $20 = HEAP32[$2>>2]|0; $21 = ($20|0)==(1); - $22 = $21 ? 20769 : 20788; + $22 = $21 ? 20513 : 20532; $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$r1>>2]|0; $25 = HEAP32[$r1>>2]|0; @@ -161095,7 +162096,7 @@ function _destroyRootPage($pParse,$iTable,$iDb) { HEAP32[$vararg_ptr3>>2] = $24; $vararg_ptr4 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr4>>2] = $25; - _sqlite3NestedParse($12,34897,$vararg_buffer); + _sqlite3NestedParse($12,34598,$vararg_buffer); $26 = HEAP32[$0>>2]|0; $27 = HEAP32[$r1>>2]|0; _sqlite3ReleaseTempReg($26,$27); @@ -161359,7 +162360,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $47 = HEAP32[$2>>2]|0; $48 = HEAP32[$47>>2]|0; HEAP32[$vararg_buffer1>>2] = $48; - _sqlite3ErrorMsg($46,36112,$vararg_buffer1); + _sqlite3ErrorMsg($46,35765,$vararg_buffer1); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -161374,7 +162375,7 @@ function _sqlite3IsReadOnly($pParse,$pTab,$viewOk) { $38 = HEAP32[$2>>2]|0; $39 = HEAP32[$38>>2]|0; HEAP32[$vararg_buffer>>2] = $39; - _sqlite3ErrorMsg($37,36083,$vararg_buffer); + _sqlite3ErrorMsg($37,35736,$vararg_buffer); HEAP32[$0>>2] = 1; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -161387,11 +162388,11 @@ function _sqlite3VdbeCountChanges($v) { $0 = sp; HEAP32[$0>>2] = $v; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 88|0); - $3 = HEAP16[$2>>1]|0; + $2 = ((($1)) + 89|0); + $3 = HEAP8[$2>>0]|0; $4 = $3 & -5; $5 = $4 | 4; - HEAP16[$2>>1] = $5; + HEAP8[$2>>0] = $5; STACKTOP = sp;return; } function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { @@ -161423,11 +162424,11 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0; var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0; var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0; - var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; - var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; - var $99 = 0, $addr1 = 0, $addr2 = 0, $db = 0, $destHasUniqueIdx = 0, $emptyDestTest = 0, $emptySrcTest = 0, $i = 0, $iDbSrc = 0, $iDest = 0, $iSrc = 0, $idxInsFlags = 0, $or$cond = 0, $or$cond4 = 0, $pDestCol = 0, $pDestIdx = 0, $pEList = 0, $pItem = 0, $pSrc = 0, $pSrcCol = 0; - var $pSrcIdx = 0, $regAutoinc = 0, $regData = 0, $regRowid = 0, $v = 0, $zColl = 0, label = 0, sp = 0; + var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr1 = 0, $addr2 = 0, $db = 0, $destHasUniqueIdx = 0, $emptyDestTest = 0, $emptySrcTest = 0, $i = 0, $iDbSrc = 0, $iDest = 0, $iSrc = 0, $idxInsFlags = 0, $or$cond = 0, $or$cond4 = 0, $pDestCol = 0, $pDestIdx = 0, $pEList = 0; + var $pItem = 0, $pSrc = 0, $pSrcCol = 0, $pSrcIdx = 0, $regAutoinc = 0, $regData = 0, $regRowid = 0, $v = 0, $zColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 108|0; @@ -161474,8 +162475,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $9 = ($8|0)==(0|0); if ($9) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $10 = HEAP32[$1>>2]|0; $11 = ((($10)) + 536|0); @@ -161483,7 +162484,7 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $13 = ($12|0)!=(0|0); if (!($13)) { $14 = HEAP32[$3>>2]|0; - $15 = ((($14)) + 68|0); + $15 = ((($14)) + 64|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)!=(0|0); if (!($17)) { @@ -161493,8 +162494,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $21 = ($20|0)!=(0|0); if ($21) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $22 = HEAP32[$2>>2]|0; $23 = ((($22)) + 42|0); @@ -161504,8 +162505,8 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $27 = ($26|0)!=(0); if ($27) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $28 = HEAP32[$4>>2]|0; $29 = ($28|0)==(10); @@ -161529,17 +162530,17 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } } $41 = HEAP32[$3>>2]|0; - $42 = ((($41)) + 32|0); + $42 = ((($41)) + 28|0); $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$43>>2]|0; $45 = ($44|0)!=(1); if ($45) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + 32|0); + $47 = ((($46)) + 28|0); $48 = HEAP32[$47>>2]|0; $49 = ((($48)) + 8|0); $50 = ((($49)) + 20|0); @@ -161547,476 +162548,479 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { $52 = ($51|0)!=(0|0); if ($52) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $53 = HEAP32[$3>>2]|0; - $54 = ((($53)) + 36|0); + $54 = ((($53)) + 32|0); $55 = HEAP32[$54>>2]|0; $56 = ($55|0)!=(0|0); if ($56) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $57 = HEAP32[$3>>2]|0; - $58 = ((($57)) + 48|0); + $58 = ((($57)) + 44|0); $59 = HEAP32[$58>>2]|0; $60 = ($59|0)!=(0|0); if ($60) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $61 = HEAP32[$3>>2]|0; - $62 = ((($61)) + 40|0); + $62 = ((($61)) + 36|0); $63 = HEAP32[$62>>2]|0; $64 = ($63|0)!=(0|0); if ($64) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $65 = HEAP32[$3>>2]|0; - $66 = ((($65)) + 60|0); + $66 = ((($65)) + 56|0); $67 = HEAP32[$66>>2]|0; $68 = ($67|0)!=(0|0); if ($68) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $69 = HEAP32[$3>>2]|0; - $70 = ((($69)) + 52|0); + $70 = ((($69)) + 48|0); $71 = HEAP32[$70>>2]|0; $72 = ($71|0)!=(0|0); if ($72) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } $73 = HEAP32[$3>>2]|0; - $74 = ((($73)) + 6|0); - $75 = HEAP16[$74>>1]|0; - $76 = $75&65535; - $77 = $76 & 1; - $78 = ($77|0)!=(0); - if ($78) { + $74 = ((($73)) + 8|0); + $75 = HEAP32[$74>>2]|0; + $76 = $75 & 1; + $77 = ($76|0)!=(0); + if ($77) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $79 = HEAP32[$3>>2]|0; - $80 = HEAP32[$79>>2]|0; - HEAP32[$pEList>>2] = $80; - $81 = HEAP32[$pEList>>2]|0; - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(1); - if ($83) { + $78 = HEAP32[$3>>2]|0; + $79 = HEAP32[$78>>2]|0; + HEAP32[$pEList>>2] = $79; + $80 = HEAP32[$pEList>>2]|0; + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)!=(1); + if ($82) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $84 = HEAP32[$pEList>>2]|0; - $85 = ((($84)) + 4|0); + $83 = HEAP32[$pEList>>2]|0; + $84 = ((($83)) + 4|0); + $85 = HEAP32[$84>>2]|0; $86 = HEAP32[$85>>2]|0; - $87 = HEAP32[$86>>2]|0; - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($89|0)!=(158); - if ($90) { + $87 = HEAP8[$86>>0]|0; + $88 = $87&255; + $89 = ($88|0)!=(158); + if ($89) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $91 = HEAP32[$3>>2]|0; - $92 = ((($91)) + 32|0); - $93 = HEAP32[$92>>2]|0; - $94 = ((($93)) + 8|0); - HEAP32[$pItem>>2] = $94; - $95 = HEAP32[$1>>2]|0; - $96 = HEAP32[$pItem>>2]|0; - $97 = (_sqlite3LocateTableItem($95,0,$96)|0); - HEAP32[$pSrc>>2] = $97; - $98 = HEAP32[$pSrc>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { + $90 = HEAP32[$3>>2]|0; + $91 = ((($90)) + 28|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($92)) + 8|0); + HEAP32[$pItem>>2] = $93; + $94 = HEAP32[$1>>2]|0; + $95 = HEAP32[$pItem>>2]|0; + $96 = (_sqlite3LocateTableItem($94,0,$95)|0); + HEAP32[$pSrc>>2] = $96; + $97 = HEAP32[$pSrc>>2]|0; + $98 = ($97|0)==(0|0); + if ($98) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $100 = HEAP32[$pSrc>>2]|0; - $101 = HEAP32[$2>>2]|0; - $102 = ($100|0)==($101|0); - if ($102) { + $99 = HEAP32[$pSrc>>2]|0; + $100 = HEAP32[$2>>2]|0; + $101 = ($99|0)==($100|0); + if ($101) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $103 = HEAP32[$2>>2]|0; - $104 = ((($103)) + 42|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = $106 & 32; - $108 = ($107|0)==(0); - $109 = $108&1; - $110 = HEAP32[$pSrc>>2]|0; - $111 = ((($110)) + 42|0); - $112 = HEAP8[$111>>0]|0; - $113 = $112&255; - $114 = $113 & 32; - $115 = ($114|0)==(0); - $116 = $115&1; - $117 = ($109|0)!=($116|0); - if ($117) { + $102 = HEAP32[$2>>2]|0; + $103 = ((($102)) + 42|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104&255; + $106 = $105 & 32; + $107 = ($106|0)==(0); + $108 = $107&1; + $109 = HEAP32[$pSrc>>2]|0; + $110 = ((($109)) + 42|0); + $111 = HEAP8[$110>>0]|0; + $112 = $111&255; + $113 = $112 & 32; + $114 = ($113|0)==(0); + $115 = $114&1; + $116 = ($108|0)!=($115|0); + if ($116) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $118 = HEAP32[$pSrc>>2]|0; - $119 = ((($118)) + 42|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = $121 & 16; - $123 = ($122|0)!=(0); - if ($123) { + $117 = HEAP32[$pSrc>>2]|0; + $118 = ((($117)) + 42|0); + $119 = HEAP8[$118>>0]|0; + $120 = $119&255; + $121 = $120 & 16; + $122 = ($121|0)!=(0); + if ($122) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $124 = HEAP32[$pSrc>>2]|0; - $125 = ((($124)) + 12|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)!=(0|0); - if ($127) { + $123 = HEAP32[$pSrc>>2]|0; + $124 = ((($123)) + 12|0); + $125 = HEAP32[$124>>2]|0; + $126 = ($125|0)!=(0|0); + if ($126) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $128 = HEAP32[$2>>2]|0; - $129 = ((($128)) + 34|0); - $130 = HEAP16[$129>>1]|0; - $131 = $130 << 16 >> 16; - $132 = HEAP32[$pSrc>>2]|0; - $133 = ((($132)) + 34|0); - $134 = HEAP16[$133>>1]|0; - $135 = $134 << 16 >> 16; - $136 = ($131|0)!=($135|0); - if ($136) { + $127 = HEAP32[$2>>2]|0; + $128 = ((($127)) + 34|0); + $129 = HEAP16[$128>>1]|0; + $130 = $129 << 16 >> 16; + $131 = HEAP32[$pSrc>>2]|0; + $132 = ((($131)) + 34|0); + $133 = HEAP16[$132>>1]|0; + $134 = $133 << 16 >> 16; + $135 = ($130|0)!=($134|0); + if ($135) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $137 = HEAP32[$2>>2]|0; - $138 = ((($137)) + 32|0); - $139 = HEAP16[$138>>1]|0; - $140 = $139 << 16 >> 16; - $141 = HEAP32[$pSrc>>2]|0; - $142 = ((($141)) + 32|0); - $143 = HEAP16[$142>>1]|0; - $144 = $143 << 16 >> 16; - $145 = ($140|0)!=($144|0); - if ($145) { + $136 = HEAP32[$2>>2]|0; + $137 = ((($136)) + 32|0); + $138 = HEAP16[$137>>1]|0; + $139 = $138 << 16 >> 16; + $140 = HEAP32[$pSrc>>2]|0; + $141 = ((($140)) + 32|0); + $142 = HEAP16[$141>>1]|0; + $143 = $142 << 16 >> 16; + $144 = ($139|0)!=($143|0); + if ($144) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } HEAP32[$i>>2] = 0; L91: while(1) { - $146 = HEAP32[$i>>2]|0; - $147 = HEAP32[$2>>2]|0; - $148 = ((($147)) + 34|0); - $149 = HEAP16[$148>>1]|0; - $150 = $149 << 16 >> 16; - $151 = ($146|0)<($150|0); - if (!($151)) { + $145 = HEAP32[$i>>2]|0; + $146 = HEAP32[$2>>2]|0; + $147 = ((($146)) + 34|0); + $148 = HEAP16[$147>>1]|0; + $149 = $148 << 16 >> 16; + $150 = ($145|0)<($149|0); + if (!($150)) { label = 64; break; } - $152 = HEAP32[$i>>2]|0; - $153 = HEAP32[$2>>2]|0; - $154 = ((($153)) + 4|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($155) + (($152*24)|0)|0); - HEAP32[$pDestCol>>2] = $156; - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$pSrc>>2]|0; - $159 = ((($158)) + 4|0); - $160 = HEAP32[$159>>2]|0; - $161 = (($160) + (($157*24)|0)|0); - HEAP32[$pSrcCol>>2] = $161; - $162 = HEAP32[$pDestCol>>2]|0; - $163 = ((($162)) + 21|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164 << 24 >> 24; - $166 = HEAP32[$pSrcCol>>2]|0; - $167 = ((($166)) + 21|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168 << 24 >> 24; - $170 = ($165|0)!=($169|0); - if ($170) { + $151 = HEAP32[$i>>2]|0; + $152 = HEAP32[$2>>2]|0; + $153 = ((($152)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = (($154) + ($151<<4)|0); + HEAP32[$pDestCol>>2] = $155; + $156 = HEAP32[$i>>2]|0; + $157 = HEAP32[$pSrc>>2]|0; + $158 = ((($157)) + 4|0); + $159 = HEAP32[$158>>2]|0; + $160 = (($159) + ($156<<4)|0); + HEAP32[$pSrcCol>>2] = $160; + $161 = HEAP32[$pDestCol>>2]|0; + $162 = ((($161)) + 13|0); + $163 = HEAP8[$162>>0]|0; + $164 = $163 << 24 >> 24; + $165 = HEAP32[$pSrcCol>>2]|0; + $166 = ((($165)) + 13|0); + $167 = HEAP8[$166>>0]|0; + $168 = $167 << 24 >> 24; + $169 = ($164|0)!=($168|0); + if ($169) { label = 52; break; } - $171 = HEAP32[$pDestCol>>2]|0; - $172 = ((($171)) + 16|0); - $173 = HEAP32[$172>>2]|0; - $174 = HEAP32[$pSrcCol>>2]|0; - $175 = ((($174)) + 16|0); - $176 = HEAP32[$175>>2]|0; - $177 = (_sqlite3_stricmp($173,$176)|0); - $178 = ($177|0)!=(0); - if ($178) { + $170 = HEAP32[$pDestCol>>2]|0; + $171 = ((($170)) + 8|0); + $172 = HEAP32[$171>>2]|0; + $173 = HEAP32[$pSrcCol>>2]|0; + $174 = ((($173)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = (_sqlite3_stricmp($172,$175)|0); + $177 = ($176|0)!=(0); + if ($177) { label = 54; break; } - $179 = HEAP32[$pDestCol>>2]|0; - $180 = ((($179)) + 20|0); - $181 = HEAP8[$180>>0]|0; - $182 = $181&255; - $183 = ($182|0)!=(0); - if ($183) { - $184 = HEAP32[$pSrcCol>>2]|0; - $185 = ((($184)) + 20|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186<<24>>24)!=(0); - if (!($187)) { + $178 = HEAP32[$pDestCol>>2]|0; + $179 = ((($178)) + 12|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180&255; + $182 = ($181|0)!=(0); + if ($182) { + $183 = HEAP32[$pSrcCol>>2]|0; + $184 = ((($183)) + 12|0); + $185 = HEAP8[$184>>0]|0; + $186 = ($185<<24>>24)!=(0); + if (!($186)) { label = 57; break; } } - $188 = HEAP32[$i>>2]|0; - $189 = ($188|0)>(0); + $187 = HEAP32[$i>>2]|0; + $188 = ($187|0)>(0); do { - if ($189) { - $190 = HEAP32[$pDestCol>>2]|0; - $191 = ((($190)) + 8|0); - $192 = HEAP32[$191>>2]|0; - $193 = ($192|0)==(0|0); - $194 = $193&1; - $195 = HEAP32[$pSrcCol>>2]|0; - $196 = ((($195)) + 8|0); - $197 = HEAP32[$196>>2]|0; - $198 = ($197|0)==(0|0); - $199 = $198&1; - $200 = ($194|0)!=($199|0); - if ($200) { + if ($188) { + $189 = HEAP32[$pDestCol>>2]|0; + $190 = ((($189)) + 4|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + $193 = $192&1; + $194 = HEAP32[$pSrcCol>>2]|0; + $195 = ((($194)) + 4|0); + $196 = HEAP32[$195>>2]|0; + $197 = ($196|0)==(0|0); + $198 = $197&1; + $199 = ($193|0)!=($198|0); + if ($199) { label = 62; break L91; } - $201 = HEAP32[$pDestCol>>2]|0; - $202 = ((($201)) + 8|0); - $203 = HEAP32[$202>>2]|0; - $204 = ($203|0)!=(0|0); - if (!($204)) { + $200 = HEAP32[$pDestCol>>2]|0; + $201 = ((($200)) + 4|0); + $202 = HEAP32[$201>>2]|0; + $203 = ($202|0)!=(0|0); + if (!($203)) { break; } - $205 = HEAP32[$pDestCol>>2]|0; - $206 = ((($205)) + 8|0); - $207 = HEAP32[$206>>2]|0; - $208 = HEAP32[$pSrcCol>>2]|0; - $209 = ((($208)) + 8|0); - $210 = HEAP32[$209>>2]|0; - $211 = (_strcmp($207,$210)|0); - $212 = ($211|0)!=(0); - if ($212) { + $204 = HEAP32[$pDestCol>>2]|0; + $205 = ((($204)) + 4|0); + $206 = HEAP32[$205>>2]|0; + $207 = ((($206)) + 8|0); + $208 = HEAP32[$207>>2]|0; + $209 = HEAP32[$pSrcCol>>2]|0; + $210 = ((($209)) + 4|0); + $211 = HEAP32[$210>>2]|0; + $212 = ((($211)) + 8|0); + $213 = HEAP32[$212>>2]|0; + $214 = (_strcmp($208,$213)|0); + $215 = ($214|0)!=(0); + if ($215) { label = 62; break L91; } } } while(0); - $213 = HEAP32[$i>>2]|0; - $214 = (($213) + 1)|0; - HEAP32[$i>>2] = $214; + $216 = HEAP32[$i>>2]|0; + $217 = (($216) + 1)|0; + HEAP32[$i>>2] = $217; } if ((label|0) == 52) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 54) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 57) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 62) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else if ((label|0) == 64) { - $215 = HEAP32[$2>>2]|0; - $216 = ((($215)) + 8|0); - $217 = HEAP32[$216>>2]|0; - HEAP32[$pDestIdx>>2] = $217; + $218 = HEAP32[$2>>2]|0; + $219 = ((($218)) + 8|0); + $220 = HEAP32[$219>>2]|0; + HEAP32[$pDestIdx>>2] = $220; while(1) { - $218 = HEAP32[$pDestIdx>>2]|0; - $219 = ($218|0)!=(0|0); - if (!($219)) { + $221 = HEAP32[$pDestIdx>>2]|0; + $222 = ($221|0)!=(0|0); + if (!($222)) { break; } - $220 = HEAP32[$pDestIdx>>2]|0; - $221 = ((($220)) + 54|0); - $222 = HEAP8[$221>>0]|0; - $223 = $222&255; - $224 = ($223|0)!=(0); - if ($224) { + $223 = HEAP32[$pDestIdx>>2]|0; + $224 = ((($223)) + 54|0); + $225 = HEAP8[$224>>0]|0; + $226 = $225&255; + $227 = ($226|0)!=(0); + if ($227) { HEAP32[$destHasUniqueIdx>>2] = 1; } - $225 = HEAP32[$pSrc>>2]|0; - $226 = ((($225)) + 8|0); - $227 = HEAP32[$226>>2]|0; - HEAP32[$pSrcIdx>>2] = $227; + $228 = HEAP32[$pSrc>>2]|0; + $229 = ((($228)) + 8|0); + $230 = HEAP32[$229>>2]|0; + HEAP32[$pSrcIdx>>2] = $230; while(1) { - $228 = HEAP32[$pSrcIdx>>2]|0; - $229 = ($228|0)!=(0|0); - if (!($229)) { - break; - } - $230 = HEAP32[$pDestIdx>>2]|0; $231 = HEAP32[$pSrcIdx>>2]|0; - $232 = (_xferCompatibleIndex($230,$231)|0); - $233 = ($232|0)!=(0); - if ($233) { + $232 = ($231|0)!=(0|0); + if (!($232)) { break; } + $233 = HEAP32[$pDestIdx>>2]|0; $234 = HEAP32[$pSrcIdx>>2]|0; - $235 = ((($234)) + 20|0); - $236 = HEAP32[$235>>2]|0; - HEAP32[$pSrcIdx>>2] = $236; + $235 = (_xferCompatibleIndex($233,$234)|0); + $236 = ($235|0)!=(0); + if ($236) { + break; + } + $237 = HEAP32[$pSrcIdx>>2]|0; + $238 = ((($237)) + 20|0); + $239 = HEAP32[$238>>2]|0; + HEAP32[$pSrcIdx>>2] = $239; } - $237 = HEAP32[$pSrcIdx>>2]|0; - $238 = ($237|0)==(0|0); - if ($238) { + $240 = HEAP32[$pSrcIdx>>2]|0; + $241 = ($240|0)==(0|0); + if ($241) { label = 73; break; } - $239 = HEAP32[$pDestIdx>>2]|0; - $240 = ((($239)) + 20|0); - $241 = HEAP32[$240>>2]|0; - HEAP32[$pDestIdx>>2] = $241; + $242 = HEAP32[$pDestIdx>>2]|0; + $243 = ((($242)) + 20|0); + $244 = HEAP32[$243>>2]|0; + HEAP32[$pDestIdx>>2] = $244; } if ((label|0) == 73) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $242 = HEAP32[$2>>2]|0; - $243 = ((($242)) + 24|0); - $244 = HEAP32[$243>>2]|0; - $245 = ($244|0)!=(0|0); + $245 = HEAP32[$2>>2]|0; + $246 = ((($245)) + 24|0); + $247 = HEAP32[$246>>2]|0; + $248 = ($247|0)!=(0|0); do { - if ($245) { - $246 = HEAP32[$pSrc>>2]|0; - $247 = ((($246)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = HEAP32[$2>>2]|0; + if ($248) { + $249 = HEAP32[$pSrc>>2]|0; $250 = ((($249)) + 24|0); $251 = HEAP32[$250>>2]|0; - $252 = (_sqlite3ExprListCompare($248,$251,-1)|0); - $253 = ($252|0)!=(0); - if (!($253)) { + $252 = HEAP32[$2>>2]|0; + $253 = ((($252)) + 24|0); + $254 = HEAP32[$253>>2]|0; + $255 = (_sqlite3ExprListCompare($251,$254,-1)|0); + $256 = ($255|0)!=(0); + if (!($256)) { break; } HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } } while(0); - $254 = HEAP32[$db>>2]|0; - $255 = ((($254)) + 24|0); - $256 = HEAP32[$255>>2]|0; - $257 = $256 & 524288; - $258 = ($257|0)!=(0); + $257 = HEAP32[$db>>2]|0; + $258 = ((($257)) + 24|0); + $259 = HEAP32[$258>>2]|0; + $260 = $259 & 524288; + $261 = ($260|0)!=(0); do { - if ($258) { - $259 = HEAP32[$2>>2]|0; - $260 = ((($259)) + 16|0); - $261 = HEAP32[$260>>2]|0; - $262 = ($261|0)!=(0|0); - if (!($262)) { + if ($261) { + $262 = HEAP32[$2>>2]|0; + $263 = ((($262)) + 16|0); + $264 = HEAP32[$263>>2]|0; + $265 = ($264|0)!=(0|0); + if (!($265)) { break; } HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } } while(0); - $263 = HEAP32[$db>>2]|0; - $264 = ((($263)) + 24|0); - $265 = HEAP32[$264>>2]|0; - $266 = $265 & 128; - $267 = ($266|0)!=(0); - if ($267) { + $266 = HEAP32[$db>>2]|0; + $267 = ((($266)) + 24|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 & 128; + $270 = ($269|0)!=(0); + if ($270) { HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } - $268 = HEAP32[$db>>2]|0; - $269 = HEAP32[$pSrc>>2]|0; - $270 = ((($269)) + 64|0); - $271 = HEAP32[$270>>2]|0; - $272 = (_sqlite3SchemaToIndex($268,$271)|0); - HEAP32[$iDbSrc>>2] = $272; - $273 = HEAP32[$1>>2]|0; - $274 = (_sqlite3GetVdbe($273)|0); - HEAP32[$v>>2] = $274; - $275 = HEAP32[$1>>2]|0; - $276 = HEAP32[$iDbSrc>>2]|0; - _sqlite3CodeVerifySchema($275,$276); - $277 = HEAP32[$1>>2]|0; - $278 = ((($277)) + 72|0); - $279 = HEAP32[$278>>2]|0; - $280 = (($279) + 1)|0; - HEAP32[$278>>2] = $280; - HEAP32[$iSrc>>2] = $279; - $281 = HEAP32[$1>>2]|0; - $282 = ((($281)) + 72|0); - $283 = HEAP32[$282>>2]|0; - $284 = (($283) + 1)|0; - HEAP32[$282>>2] = $284; - HEAP32[$iDest>>2] = $283; - $285 = HEAP32[$1>>2]|0; - $286 = HEAP32[$5>>2]|0; - $287 = HEAP32[$2>>2]|0; - $288 = (_autoIncBegin($285,$286,$287)|0); - HEAP32[$regAutoinc>>2] = $288; - $289 = HEAP32[$1>>2]|0; - $290 = (_sqlite3GetTempReg($289)|0); - HEAP32[$regData>>2] = $290; - $291 = HEAP32[$1>>2]|0; - $292 = (_sqlite3GetTempReg($291)|0); - HEAP32[$regRowid>>2] = $292; - $293 = HEAP32[$1>>2]|0; - $294 = HEAP32[$iDest>>2]|0; - $295 = HEAP32[$5>>2]|0; - $296 = HEAP32[$2>>2]|0; - _sqlite3OpenTable($293,$294,$295,$296,55); - $297 = HEAP32[$db>>2]|0; - $298 = ((($297)) + 24|0); - $299 = HEAP32[$298>>2]|0; - $300 = $299 & 134217728; - $301 = ($300|0)==(0); + $271 = HEAP32[$db>>2]|0; + $272 = HEAP32[$pSrc>>2]|0; + $273 = ((($272)) + 64|0); + $274 = HEAP32[$273>>2]|0; + $275 = (_sqlite3SchemaToIndex($271,$274)|0); + HEAP32[$iDbSrc>>2] = $275; + $276 = HEAP32[$1>>2]|0; + $277 = (_sqlite3GetVdbe($276)|0); + HEAP32[$v>>2] = $277; + $278 = HEAP32[$1>>2]|0; + $279 = HEAP32[$iDbSrc>>2]|0; + _sqlite3CodeVerifySchema($278,$279); + $280 = HEAP32[$1>>2]|0; + $281 = ((($280)) + 72|0); + $282 = HEAP32[$281>>2]|0; + $283 = (($282) + 1)|0; + HEAP32[$281>>2] = $283; + HEAP32[$iSrc>>2] = $282; + $284 = HEAP32[$1>>2]|0; + $285 = ((($284)) + 72|0); + $286 = HEAP32[$285>>2]|0; + $287 = (($286) + 1)|0; + HEAP32[$285>>2] = $287; + HEAP32[$iDest>>2] = $286; + $288 = HEAP32[$1>>2]|0; + $289 = HEAP32[$5>>2]|0; + $290 = HEAP32[$2>>2]|0; + $291 = (_autoIncBegin($288,$289,$290)|0); + HEAP32[$regAutoinc>>2] = $291; + $292 = HEAP32[$1>>2]|0; + $293 = (_sqlite3GetTempReg($292)|0); + HEAP32[$regData>>2] = $293; + $294 = HEAP32[$1>>2]|0; + $295 = (_sqlite3GetTempReg($294)|0); + HEAP32[$regRowid>>2] = $295; + $296 = HEAP32[$1>>2]|0; + $297 = HEAP32[$iDest>>2]|0; + $298 = HEAP32[$5>>2]|0; + $299 = HEAP32[$2>>2]|0; + _sqlite3OpenTable($296,$297,$298,$299,55); + $300 = HEAP32[$db>>2]|0; + $301 = ((($300)) + 24|0); + $302 = HEAP32[$301>>2]|0; + $303 = $302 & 134217728; + $304 = ($303|0)==(0); do { - if ($301) { - $302 = HEAP32[$2>>2]|0; - $303 = ((($302)) + 32|0); - $304 = HEAP16[$303>>1]|0; - $305 = $304 << 16 >> 16; - $306 = ($305|0)<(0); - if ($306) { - $307 = HEAP32[$2>>2]|0; - $308 = ((($307)) + 8|0); - $309 = HEAP32[$308>>2]|0; - $310 = ($309|0)!=(0|0); - $311 = HEAP32[$destHasUniqueIdx>>2]|0; - $312 = ($311|0)!=(0); - $or$cond = $310 | $312; + if ($304) { + $305 = HEAP32[$2>>2]|0; + $306 = ((($305)) + 32|0); + $307 = HEAP16[$306>>1]|0; + $308 = $307 << 16 >> 16; + $309 = ($308|0)<(0); + if ($309) { + $310 = HEAP32[$2>>2]|0; + $311 = ((($310)) + 8|0); + $312 = HEAP32[$311>>2]|0; + $313 = ($312|0)!=(0|0); + $314 = HEAP32[$destHasUniqueIdx>>2]|0; + $315 = ($314|0)!=(0); + $or$cond = $313 | $315; if (!($or$cond)) { label = 87; } @@ -162028,333 +163032,333 @@ function _xferOptimization($pParse,$pDest,$pSelect,$onError,$iDbDest) { } } if ((label|0) == 87) { - $313 = HEAP32[$4>>2]|0; - $314 = ($313|0)!=(2); - $315 = HEAP32[$4>>2]|0; - $316 = ($315|0)!=(1); - $or$cond4 = $314 & $316; + $316 = HEAP32[$4>>2]|0; + $317 = ($316|0)!=(2); + $318 = HEAP32[$4>>2]|0; + $319 = ($318|0)!=(1); + $or$cond4 = $317 & $319; if (!($or$cond4)) { break; } } - $317 = HEAP32[$v>>2]|0; - $318 = HEAP32[$iDest>>2]|0; - $319 = (_sqlite3VdbeAddOp2($317,108,$318,0)|0); - HEAP32[$addr1>>2] = $319; $320 = HEAP32[$v>>2]|0; - $321 = (_sqlite3VdbeAddOp0($320,13)|0); - HEAP32[$emptyDestTest>>2] = $321; - $322 = HEAP32[$v>>2]|0; - $323 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($322,$323); + $321 = HEAP32[$iDest>>2]|0; + $322 = (_sqlite3VdbeAddOp2($320,108,$321,0)|0); + HEAP32[$addr1>>2] = $322; + $323 = HEAP32[$v>>2]|0; + $324 = (_sqlite3VdbeAddOp0($323,13)|0); + HEAP32[$emptyDestTest>>2] = $324; + $325 = HEAP32[$v>>2]|0; + $326 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($325,$326); } } while(0); - $324 = HEAP32[$pSrc>>2]|0; - $325 = ((($324)) + 42|0); - $326 = HEAP8[$325>>0]|0; - $327 = $326&255; - $328 = $327 & 32; - $329 = ($328|0)==(0); - $330 = HEAP32[$1>>2]|0; - if ($329) { - $331 = HEAP32[$iSrc>>2]|0; - $332 = HEAP32[$iDbSrc>>2]|0; - $333 = HEAP32[$pSrc>>2]|0; - _sqlite3OpenTable($330,$331,$332,$333,54); - $334 = HEAP32[$v>>2]|0; - $335 = HEAP32[$iSrc>>2]|0; - $336 = (_sqlite3VdbeAddOp2($334,108,$335,0)|0); - HEAP32[$emptySrcTest>>2] = $336; - $337 = HEAP32[$2>>2]|0; - $338 = ((($337)) + 32|0); - $339 = HEAP16[$338>>1]|0; - $340 = $339 << 16 >> 16; - $341 = ($340|0)>=(0); + $327 = HEAP32[$pSrc>>2]|0; + $328 = ((($327)) + 42|0); + $329 = HEAP8[$328>>0]|0; + $330 = $329&255; + $331 = $330 & 32; + $332 = ($331|0)==(0); + $333 = HEAP32[$1>>2]|0; + if ($332) { + $334 = HEAP32[$iSrc>>2]|0; + $335 = HEAP32[$iDbSrc>>2]|0; + $336 = HEAP32[$pSrc>>2]|0; + _sqlite3OpenTable($333,$334,$335,$336,54); + $337 = HEAP32[$v>>2]|0; + $338 = HEAP32[$iSrc>>2]|0; + $339 = (_sqlite3VdbeAddOp2($337,108,$338,0)|0); + HEAP32[$emptySrcTest>>2] = $339; + $340 = HEAP32[$2>>2]|0; + $341 = ((($340)) + 32|0); + $342 = HEAP16[$341>>1]|0; + $343 = $342 << 16 >> 16; + $344 = ($343|0)>=(0); do { - if ($341) { - $342 = HEAP32[$v>>2]|0; - $343 = HEAP32[$iSrc>>2]|0; - $344 = HEAP32[$regRowid>>2]|0; - $345 = (_sqlite3VdbeAddOp2($342,103,$343,$344)|0); - HEAP32[$addr1>>2] = $345; - $346 = HEAP32[$v>>2]|0; - $347 = HEAP32[$iDest>>2]|0; - $348 = HEAP32[$regRowid>>2]|0; - $349 = (_sqlite3VdbeAddOp3($346,70,$347,0,$348)|0); - HEAP32[$addr2>>2] = $349; - $350 = HEAP32[$1>>2]|0; - $351 = HEAP32[$4>>2]|0; - $352 = HEAP32[$2>>2]|0; - _sqlite3RowidConstraint($350,$351,$352); - $353 = HEAP32[$v>>2]|0; - $354 = HEAP32[$addr2>>2]|0; - _sqlite3VdbeJumpHere($353,$354); - $355 = HEAP32[$1>>2]|0; - $356 = HEAP32[$regAutoinc>>2]|0; - $357 = HEAP32[$regRowid>>2]|0; - _autoIncStep($355,$356,$357); + if ($344) { + $345 = HEAP32[$v>>2]|0; + $346 = HEAP32[$iSrc>>2]|0; + $347 = HEAP32[$regRowid>>2]|0; + $348 = (_sqlite3VdbeAddOp2($345,103,$346,$347)|0); + HEAP32[$addr1>>2] = $348; + $349 = HEAP32[$v>>2]|0; + $350 = HEAP32[$iDest>>2]|0; + $351 = HEAP32[$regRowid>>2]|0; + $352 = (_sqlite3VdbeAddOp3($349,70,$350,0,$351)|0); + HEAP32[$addr2>>2] = $352; + $353 = HEAP32[$1>>2]|0; + $354 = HEAP32[$4>>2]|0; + $355 = HEAP32[$2>>2]|0; + _sqlite3RowidConstraint($353,$354,$355); + $356 = HEAP32[$v>>2]|0; + $357 = HEAP32[$addr2>>2]|0; + _sqlite3VdbeJumpHere($356,$357); + $358 = HEAP32[$1>>2]|0; + $359 = HEAP32[$regAutoinc>>2]|0; + $360 = HEAP32[$regRowid>>2]|0; + _autoIncStep($358,$359,$360); } else { - $358 = HEAP32[$2>>2]|0; - $359 = ((($358)) + 8|0); - $360 = HEAP32[$359>>2]|0; - $361 = ($360|0)==(0|0); - $362 = HEAP32[$v>>2]|0; - if ($361) { - $363 = HEAP32[$iDest>>2]|0; - $364 = HEAP32[$regRowid>>2]|0; - $365 = (_sqlite3VdbeAddOp2($362,74,$363,$364)|0); - HEAP32[$addr1>>2] = $365; - break; - } else { - $366 = HEAP32[$iSrc>>2]|0; + $361 = HEAP32[$2>>2]|0; + $362 = ((($361)) + 8|0); + $363 = HEAP32[$362>>2]|0; + $364 = ($363|0)==(0|0); + $365 = HEAP32[$v>>2]|0; + if ($364) { + $366 = HEAP32[$iDest>>2]|0; $367 = HEAP32[$regRowid>>2]|0; - $368 = (_sqlite3VdbeAddOp2($362,103,$366,$367)|0); + $368 = (_sqlite3VdbeAddOp2($365,74,$366,$367)|0); HEAP32[$addr1>>2] = $368; break; + } else { + $369 = HEAP32[$iSrc>>2]|0; + $370 = HEAP32[$regRowid>>2]|0; + $371 = (_sqlite3VdbeAddOp2($365,103,$369,$370)|0); + HEAP32[$addr1>>2] = $371; + break; } } } while(0); - $369 = HEAP32[$v>>2]|0; - $370 = HEAP32[$iSrc>>2]|0; - $371 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp2($369,102,$370,$371)|0); $372 = HEAP32[$v>>2]|0; - $373 = HEAP32[$iDest>>2]|0; + $373 = HEAP32[$iSrc>>2]|0; $374 = HEAP32[$regData>>2]|0; - $375 = HEAP32[$regRowid>>2]|0; - $376 = HEAP32[$2>>2]|0; - $377 = HEAP32[$376>>2]|0; - (_sqlite3VdbeAddOp4($372,75,$373,$374,$375,$377,0)|0); - $378 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($378,11); - $379 = HEAP32[$v>>2]|0; - $380 = HEAP32[$iSrc>>2]|0; - $381 = HEAP32[$addr1>>2]|0; - (_sqlite3VdbeAddOp2($379,7,$380,$381)|0); + (_sqlite3VdbeAddOp2($372,102,$373,$374)|0); + $375 = HEAP32[$v>>2]|0; + $376 = HEAP32[$iDest>>2]|0; + $377 = HEAP32[$regData>>2]|0; + $378 = HEAP32[$regRowid>>2]|0; + $379 = HEAP32[$2>>2]|0; + $380 = HEAP32[$379>>2]|0; + (_sqlite3VdbeAddOp4($375,75,$376,$377,$378,$380,0)|0); + $381 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($381,11); $382 = HEAP32[$v>>2]|0; $383 = HEAP32[$iSrc>>2]|0; - (_sqlite3VdbeAddOp2($382,61,$383,0)|0); - $384 = HEAP32[$v>>2]|0; - $385 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($384,61,$385,0)|0); + $384 = HEAP32[$addr1>>2]|0; + (_sqlite3VdbeAddOp2($382,7,$383,$384)|0); + $385 = HEAP32[$v>>2]|0; + $386 = HEAP32[$iSrc>>2]|0; + (_sqlite3VdbeAddOp2($385,61,$386,0)|0); + $387 = HEAP32[$v>>2]|0; + $388 = HEAP32[$iDest>>2]|0; + (_sqlite3VdbeAddOp2($387,61,$388,0)|0); } else { - $386 = HEAP32[$5>>2]|0; - $387 = HEAP32[$2>>2]|0; - $388 = ((($387)) + 28|0); - $389 = HEAP32[$388>>2]|0; + $389 = HEAP32[$5>>2]|0; $390 = HEAP32[$2>>2]|0; - $391 = HEAP32[$390>>2]|0; - _sqlite3TableLock($330,$386,$389,1,$391); - $392 = HEAP32[$1>>2]|0; - $393 = HEAP32[$iDbSrc>>2]|0; - $394 = HEAP32[$pSrc>>2]|0; - $395 = ((($394)) + 28|0); - $396 = HEAP32[$395>>2]|0; + $391 = ((($390)) + 28|0); + $392 = HEAP32[$391>>2]|0; + $393 = HEAP32[$2>>2]|0; + $394 = HEAP32[$393>>2]|0; + _sqlite3TableLock($333,$389,$392,1,$394); + $395 = HEAP32[$1>>2]|0; + $396 = HEAP32[$iDbSrc>>2]|0; $397 = HEAP32[$pSrc>>2]|0; - $398 = HEAP32[$397>>2]|0; - _sqlite3TableLock($392,$393,$396,0,$398); - } - $399 = HEAP32[$2>>2]|0; - $400 = ((($399)) + 8|0); - $401 = HEAP32[$400>>2]|0; - HEAP32[$pDestIdx>>2] = $401; + $398 = ((($397)) + 28|0); + $399 = HEAP32[$398>>2]|0; + $400 = HEAP32[$pSrc>>2]|0; + $401 = HEAP32[$400>>2]|0; + _sqlite3TableLock($395,$396,$399,0,$401); + } + $402 = HEAP32[$2>>2]|0; + $403 = ((($402)) + 8|0); + $404 = HEAP32[$403>>2]|0; + HEAP32[$pDestIdx>>2] = $404; while(1) { - $402 = HEAP32[$pDestIdx>>2]|0; - $403 = ($402|0)!=(0|0); - if (!($403)) { + $405 = HEAP32[$pDestIdx>>2]|0; + $406 = ($405|0)!=(0|0); + if (!($406)) { break; } HEAP8[$idxInsFlags>>0] = 0; - $404 = HEAP32[$pSrc>>2]|0; - $405 = ((($404)) + 8|0); - $406 = HEAP32[$405>>2]|0; - HEAP32[$pSrcIdx>>2] = $406; + $407 = HEAP32[$pSrc>>2]|0; + $408 = ((($407)) + 8|0); + $409 = HEAP32[$408>>2]|0; + HEAP32[$pSrcIdx>>2] = $409; while(1) { - $407 = HEAP32[$pSrcIdx>>2]|0; - $408 = ($407|0)!=(0|0); - if (!($408)) { - break; - } - $409 = HEAP32[$pDestIdx>>2]|0; $410 = HEAP32[$pSrcIdx>>2]|0; - $411 = (_xferCompatibleIndex($409,$410)|0); - $412 = ($411|0)!=(0); - if ($412) { + $411 = ($410|0)!=(0|0); + if (!($411)) { break; } + $412 = HEAP32[$pDestIdx>>2]|0; $413 = HEAP32[$pSrcIdx>>2]|0; - $414 = ((($413)) + 20|0); - $415 = HEAP32[$414>>2]|0; - HEAP32[$pSrcIdx>>2] = $415; - } - $416 = HEAP32[$v>>2]|0; - $417 = HEAP32[$iSrc>>2]|0; - $418 = HEAP32[$pSrcIdx>>2]|0; - $419 = ((($418)) + 44|0); - $420 = HEAP32[$419>>2]|0; - $421 = HEAP32[$iDbSrc>>2]|0; - (_sqlite3VdbeAddOp3($416,54,$417,$420,$421)|0); - $422 = HEAP32[$1>>2]|0; - $423 = HEAP32[$pSrcIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($422,$423); - $424 = HEAP32[$v>>2]|0; - $425 = HEAP32[$iDest>>2]|0; - $426 = HEAP32[$pDestIdx>>2]|0; - $427 = ((($426)) + 44|0); - $428 = HEAP32[$427>>2]|0; - $429 = HEAP32[$5>>2]|0; - (_sqlite3VdbeAddOp3($424,55,$425,$428,$429)|0); - $430 = HEAP32[$1>>2]|0; - $431 = HEAP32[$pDestIdx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($430,$431); - $432 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($432,1); - $433 = HEAP32[$v>>2]|0; - $434 = HEAP32[$iSrc>>2]|0; - $435 = (_sqlite3VdbeAddOp2($433,108,$434,0)|0); - HEAP32[$addr1>>2] = $435; + $414 = (_xferCompatibleIndex($412,$413)|0); + $415 = ($414|0)!=(0); + if ($415) { + break; + } + $416 = HEAP32[$pSrcIdx>>2]|0; + $417 = ((($416)) + 20|0); + $418 = HEAP32[$417>>2]|0; + HEAP32[$pSrcIdx>>2] = $418; + } + $419 = HEAP32[$v>>2]|0; + $420 = HEAP32[$iSrc>>2]|0; + $421 = HEAP32[$pSrcIdx>>2]|0; + $422 = ((($421)) + 44|0); + $423 = HEAP32[$422>>2]|0; + $424 = HEAP32[$iDbSrc>>2]|0; + (_sqlite3VdbeAddOp3($419,54,$420,$423,$424)|0); + $425 = HEAP32[$1>>2]|0; + $426 = HEAP32[$pSrcIdx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($425,$426); + $427 = HEAP32[$v>>2]|0; + $428 = HEAP32[$iDest>>2]|0; + $429 = HEAP32[$pDestIdx>>2]|0; + $430 = ((($429)) + 44|0); + $431 = HEAP32[$430>>2]|0; + $432 = HEAP32[$5>>2]|0; + (_sqlite3VdbeAddOp3($427,55,$428,$431,$432)|0); + $433 = HEAP32[$1>>2]|0; + $434 = HEAP32[$pDestIdx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($433,$434); + $435 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($435,1); $436 = HEAP32[$v>>2]|0; $437 = HEAP32[$iSrc>>2]|0; - $438 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp2($436,101,$437,$438)|0); - $439 = HEAP32[$db>>2]|0; - $440 = ((($439)) + 24|0); - $441 = HEAP32[$440>>2]|0; - $442 = $441 & 134217728; - $443 = ($442|0)!=(0); + $438 = (_sqlite3VdbeAddOp2($436,108,$437,0)|0); + HEAP32[$addr1>>2] = $438; + $439 = HEAP32[$v>>2]|0; + $440 = HEAP32[$iSrc>>2]|0; + $441 = HEAP32[$regData>>2]|0; + (_sqlite3VdbeAddOp2($439,101,$440,$441)|0); + $442 = HEAP32[$db>>2]|0; + $443 = ((($442)) + 24|0); + $444 = HEAP32[$443>>2]|0; + $445 = $444 & 134217728; + $446 = ($445|0)!=(0); do { - if ($443) { + if ($446) { HEAP32[$i>>2] = 0; while(1) { - $444 = HEAP32[$i>>2]|0; - $445 = HEAP32[$pSrcIdx>>2]|0; - $446 = ((($445)) + 52|0); - $447 = HEAP16[$446>>1]|0; - $448 = $447&65535; - $449 = ($444|0)<($448|0); - if (!($449)) { + $447 = HEAP32[$i>>2]|0; + $448 = HEAP32[$pSrcIdx>>2]|0; + $449 = ((($448)) + 52|0); + $450 = HEAP16[$449>>1]|0; + $451 = $450&65535; + $452 = ($447|0)<($451|0); + if (!($452)) { break; } - $450 = HEAP32[$i>>2]|0; - $451 = HEAP32[$pSrcIdx>>2]|0; - $452 = ((($451)) + 32|0); - $453 = HEAP32[$452>>2]|0; - $454 = (($453) + ($450<<2)|0); - $455 = HEAP32[$454>>2]|0; - HEAP32[$zColl>>2] = $455; - $456 = HEAP32[$zColl>>2]|0; - $457 = (_sqlite3_stricmp(35690,$456)|0); - $458 = ($457|0)!=(0); - if ($458) { + $453 = HEAP32[$i>>2]|0; + $454 = HEAP32[$pSrcIdx>>2]|0; + $455 = ((($454)) + 32|0); + $456 = HEAP32[$455>>2]|0; + $457 = (($456) + ($453<<2)|0); + $458 = HEAP32[$457>>2]|0; + HEAP32[$zColl>>2] = $458; + $459 = HEAP32[$zColl>>2]|0; + $460 = (_sqlite3_stricmp(35343,$459)|0); + $461 = ($460|0)!=(0); + if ($461) { break; } - $459 = HEAP32[$i>>2]|0; - $460 = (($459) + 1)|0; - HEAP32[$i>>2] = $460; + $462 = HEAP32[$i>>2]|0; + $463 = (($462) + 1)|0; + HEAP32[$i>>2] = $463; } - $461 = HEAP32[$i>>2]|0; - $462 = HEAP32[$pSrcIdx>>2]|0; - $463 = ((($462)) + 52|0); - $464 = HEAP16[$463>>1]|0; - $465 = $464&65535; - $466 = ($461|0)==($465|0); - if (!($466)) { + $464 = HEAP32[$i>>2]|0; + $465 = HEAP32[$pSrcIdx>>2]|0; + $466 = ((($465)) + 52|0); + $467 = HEAP16[$466>>1]|0; + $468 = $467&65535; + $469 = ($464|0)==($468|0); + if (!($469)) { break; } HEAP8[$idxInsFlags>>0] = 16; - $467 = HEAP32[$v>>2]|0; - $468 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp3($467,105,$468,0,-1)|0); + $470 = HEAP32[$v>>2]|0; + $471 = HEAP32[$iDest>>2]|0; + (_sqlite3VdbeAddOp3($470,105,$471,0,-1)|0); } } while(0); - $469 = HEAP32[$pSrc>>2]|0; - $470 = ((($469)) + 42|0); - $471 = HEAP8[$470>>0]|0; - $472 = $471&255; - $473 = $472 & 32; - $474 = ($473|0)==(0); + $472 = HEAP32[$pSrc>>2]|0; + $473 = ((($472)) + 42|0); + $474 = HEAP8[$473>>0]|0; + $475 = $474&255; + $476 = $475 & 32; + $477 = ($476|0)==(0); do { - if (!($474)) { - $475 = HEAP32[$pDestIdx>>2]|0; - $476 = ((($475)) + 55|0); - $477 = HEAP8[$476>>0]|0; - $478 = $477 & 3; - $479 = $478&255; - $480 = ($479|0)==(2); - if (!($480)) { + if (!($477)) { + $478 = HEAP32[$pDestIdx>>2]|0; + $479 = ((($478)) + 55|0); + $480 = HEAP8[$479>>0]|0; + $481 = $480 & 3; + $482 = $481&255; + $483 = ($482|0)==(2); + if (!($483)) { break; } - $481 = HEAP8[$idxInsFlags>>0]|0; - $482 = $481&255; - $483 = $482 | 1; - $484 = $483&255; - HEAP8[$idxInsFlags>>0] = $484; + $484 = HEAP8[$idxInsFlags>>0]|0; + $485 = $484&255; + $486 = $485 | 1; + $487 = $486&255; + HEAP8[$idxInsFlags>>0] = $487; } } while(0); - $485 = HEAP32[$v>>2]|0; - $486 = HEAP32[$iDest>>2]|0; - $487 = HEAP32[$regData>>2]|0; - (_sqlite3VdbeAddOp3($485,110,$486,$487,1)|0); $488 = HEAP32[$v>>2]|0; - $489 = HEAP8[$idxInsFlags>>0]|0; - _sqlite3VdbeChangeP5($488,$489); - $490 = HEAP32[$v>>2]|0; - $491 = HEAP32[$iSrc>>2]|0; - $492 = HEAP32[$addr1>>2]|0; - $493 = (($492) + 1)|0; - (_sqlite3VdbeAddOp2($490,7,$491,$493)|0); - $494 = HEAP32[$v>>2]|0; + $489 = HEAP32[$iDest>>2]|0; + $490 = HEAP32[$regData>>2]|0; + (_sqlite3VdbeAddOp3($488,110,$489,$490,1)|0); + $491 = HEAP32[$v>>2]|0; + $492 = HEAP8[$idxInsFlags>>0]|0; + _sqlite3VdbeChangeP5($491,$492); + $493 = HEAP32[$v>>2]|0; + $494 = HEAP32[$iSrc>>2]|0; $495 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($494,$495); - $496 = HEAP32[$v>>2]|0; - $497 = HEAP32[$iSrc>>2]|0; - (_sqlite3VdbeAddOp2($496,61,$497,0)|0); - $498 = HEAP32[$v>>2]|0; - $499 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($498,61,$499,0)|0); - $500 = HEAP32[$pDestIdx>>2]|0; - $501 = ((($500)) + 20|0); - $502 = HEAP32[$501>>2]|0; - HEAP32[$pDestIdx>>2] = $502; - } - $503 = HEAP32[$emptySrcTest>>2]|0; - $504 = ($503|0)!=(0); - if ($504) { - $505 = HEAP32[$v>>2]|0; - $506 = HEAP32[$emptySrcTest>>2]|0; - _sqlite3VdbeJumpHere($505,$506); - } - $507 = HEAP32[$1>>2]|0; - $508 = HEAP32[$regRowid>>2]|0; - _sqlite3ReleaseTempReg($507,$508); - $509 = HEAP32[$1>>2]|0; - $510 = HEAP32[$regData>>2]|0; - _sqlite3ReleaseTempReg($509,$510); - $511 = HEAP32[$emptyDestTest>>2]|0; - $512 = ($511|0)!=(0); - if ($512) { - $513 = HEAP32[$v>>2]|0; - (_sqlite3VdbeAddOp2($513,21,0,0)|0); - $514 = HEAP32[$v>>2]|0; - $515 = HEAP32[$emptyDestTest>>2]|0; - _sqlite3VdbeJumpHere($514,$515); + $496 = (($495) + 1)|0; + (_sqlite3VdbeAddOp2($493,7,$494,$496)|0); + $497 = HEAP32[$v>>2]|0; + $498 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($497,$498); + $499 = HEAP32[$v>>2]|0; + $500 = HEAP32[$iSrc>>2]|0; + (_sqlite3VdbeAddOp2($499,61,$500,0)|0); + $501 = HEAP32[$v>>2]|0; + $502 = HEAP32[$iDest>>2]|0; + (_sqlite3VdbeAddOp2($501,61,$502,0)|0); + $503 = HEAP32[$pDestIdx>>2]|0; + $504 = ((($503)) + 20|0); + $505 = HEAP32[$504>>2]|0; + HEAP32[$pDestIdx>>2] = $505; + } + $506 = HEAP32[$emptySrcTest>>2]|0; + $507 = ($506|0)!=(0); + if ($507) { + $508 = HEAP32[$v>>2]|0; + $509 = HEAP32[$emptySrcTest>>2]|0; + _sqlite3VdbeJumpHere($508,$509); + } + $510 = HEAP32[$1>>2]|0; + $511 = HEAP32[$regRowid>>2]|0; + _sqlite3ReleaseTempReg($510,$511); + $512 = HEAP32[$1>>2]|0; + $513 = HEAP32[$regData>>2]|0; + _sqlite3ReleaseTempReg($512,$513); + $514 = HEAP32[$emptyDestTest>>2]|0; + $515 = ($514|0)!=(0); + if ($515) { $516 = HEAP32[$v>>2]|0; - $517 = HEAP32[$iDest>>2]|0; - (_sqlite3VdbeAddOp2($516,61,$517,0)|0); + (_sqlite3VdbeAddOp2($516,21,0,0)|0); + $517 = HEAP32[$v>>2]|0; + $518 = HEAP32[$emptyDestTest>>2]|0; + _sqlite3VdbeJumpHere($517,$518); + $519 = HEAP32[$v>>2]|0; + $520 = HEAP32[$iDest>>2]|0; + (_sqlite3VdbeAddOp2($519,61,$520,0)|0); HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } else { HEAP32[$0>>2] = 1; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } } } } HEAP32[$0>>2] = 0; - $518 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($518|0); + $521 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($521|0); } function _autoIncBegin($pParse,$iDb,$pTab) { $pParse = $pParse|0; @@ -162759,8 +163763,8 @@ function _sqlite3TableAffinity($v,$pTab,$iReg) { $28 = HEAP32[$1>>2]|0; $29 = ((($28)) + 4|0); $30 = HEAP32[$29>>2]|0; - $31 = (($30) + (($27*24)|0)|0); - $32 = ((($31)) + 21|0); + $31 = (($30) + ($27<<4)|0); + $32 = ((($31)) + 13|0); $33 = HEAP8[$32>>0]|0; $34 = HEAP32[$i>>2]|0; $35 = HEAP32[$zColAff>>2]|0; @@ -163244,8 +164248,8 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $53 = HEAP32[$1>>2]|0; $54 = ((($53)) + 4|0); $55 = HEAP32[$54>>2]|0; - $56 = (($55) + (($52*24)|0)|0); - $57 = ((($56)) + 20|0); + $56 = (($55) + ($52<<4)|0); + $57 = ((($56)) + 12|0); $58 = HEAP8[$57>>0]|0; $59 = $58&255; HEAP32[$onError>>2] = $59; @@ -163273,7 +164277,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $72 = HEAP32[$1>>2]|0; $73 = ((($72)) + 4|0); $74 = HEAP32[$73>>2]|0; - $75 = (($74) + (($71*24)|0)|0); + $75 = (($74) + ($71<<4)|0); $76 = ((($75)) + 4|0); $77 = HEAP32[$76>>2]|0; $78 = ($77|0)==(0|0); @@ -163315,7 +164319,7 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $113 = HEAP32[$1>>2]|0; $114 = ((($113)) + 4|0); $115 = HEAP32[$114>>2]|0; - $116 = (($115) + (($112*24)|0)|0); + $116 = (($115) + ($112<<4)|0); $117 = ((($116)) + 4|0); $118 = HEAP32[$117>>2]|0; $119 = HEAP32[$5>>2]|0; @@ -163336,12 +164340,12 @@ function _sqlite3GenerateConstraintChecks($pParse,$pTab,$aRegIdx,$iDataCur,$iIdx $85 = HEAP32[$1>>2]|0; $86 = ((($85)) + 4|0); $87 = HEAP32[$86>>2]|0; - $88 = (($87) + (($84*24)|0)|0); + $88 = (($87) + ($84<<4)|0); $89 = HEAP32[$88>>2]|0; HEAP32[$vararg_buffer>>2] = $83; $vararg_ptr4 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr4>>2] = $89; - $90 = (_sqlite3MPrintf($81,31016,$vararg_buffer)|0); + $90 = (_sqlite3MPrintf($81,30741,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $90; $91 = HEAP32[$v>>2]|0; $92 = HEAP32[$onError>>2]|0; @@ -164373,7 +165377,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { HEAP32[$134>>2] = -1; } $135 = HEAP32[$db>>2]|0; - $136 = ((($135)) + 288|0); + $136 = ((($135)) + 296|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)!=(0|0); if ($138) { @@ -164397,7 +165401,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { $151 = HEAP32[$pTo>>2]|0; $152 = ((($151)) + 4|0); $153 = HEAP32[$152>>2]|0; - $154 = (($153) + (($150*24)|0)|0); + $154 = (($153) + ($150<<4)|0); $155 = HEAP32[$154>>2]|0; HEAP32[$zCol>>2] = $155; $156 = HEAP32[$0>>2]|0; @@ -164474,7 +165478,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { break L4; } $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 65|0); + $74 = ((($73)) + 69|0); $75 = HEAP8[$74>>0]|0; $76 = $75&255; $77 = ($76|0)!=(0); @@ -164607,7 +165611,7 @@ function _sqlite3FkCheck($pParse,$pTab,$regOld,$regNew,$aChange,$bChngRowid) { break L55; } $243 = HEAP32[$db>>2]|0; - $244 = ((($243)) + 65|0); + $244 = ((($243)) + 69|0); $245 = HEAP8[$244>>0]|0; $246 = $245&255; $247 = ($246|0)!=(0); @@ -165024,7 +166028,7 @@ function _autoIncrementEnd($pParse) { $31 = HEAP32[$30>>2]|0; _sqlite3OpenTable($23,0,$26,$31,55); $32 = HEAP32[$v>>2]|0; - $33 = (_sqlite3VdbeAddOpList($32,5,35196,0)|0); + $33 = (_sqlite3VdbeAddOpList($32,5,34897,0)|0); HEAP32[$aOp>>2] = $33; $34 = HEAP32[$aOp>>2]|0; $35 = ($34|0)==(0|0); @@ -165697,7 +166701,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { $36 = HEAP32[$1>>2]|0; $37 = ((($36)) + 4|0); $38 = HEAP32[$37>>2]|0; - $39 = (($38) + (($35*24)|0)|0); + $39 = (($38) + ($35<<4)|0); HEAP32[$pCol>>2] = $39; $40 = HEAP32[$zKey>>2]|0; $41 = ($40|0)!=(0|0); @@ -165705,7 +166709,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { if ($41) { $43 = HEAP32[$42>>2]|0; $44 = HEAP32[$zKey>>2]|0; - $45 = (_sqlite3_stricmp($43,$44)|0); + $45 = (_sqlite3StrICmp($43,$44)|0); $46 = (0)==($45|0); if ($46) { label = 9; @@ -165714,7 +166718,7 @@ function _fkParentIsModified($pTab,$p,$aChange,$bChngRowid) { break; } } else { - $47 = ((($42)) + 23|0); + $47 = ((($42)) + 15|0); $48 = HEAP8[$47>>0]|0; $49 = $48&255; $50 = $49 & 1; @@ -165882,7 +166886,7 @@ function _fkScanChildren($pParse,$pSrc,$pTab,$pIdx,$pFKey,$aiCol,$regData,$nIncr $55 = HEAP32[$54>>2]|0; $56 = ((($55)) + 4|0); $57 = HEAP32[$56>>2]|0; - $58 = (($57) + (($53*24)|0)|0); + $58 = (($57) + ($53<<4)|0); $59 = HEAP32[$58>>2]|0; HEAP32[$zCol>>2] = $59; $60 = HEAP32[$db>>2]|0; @@ -166090,7 +167094,7 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { $22 = HEAP32[$1>>2]|0; $23 = ((($22)) + 4|0); $24 = HEAP32[$23>>2]|0; - $25 = (($24) + (($21*24)|0)|0); + $25 = (($24) + ($21<<4)|0); HEAP32[$pCol>>2] = $25; $26 = HEAP32[$2>>2]|0; $27 = HEAP16[$3>>1]|0; @@ -166101,13 +167105,13 @@ function _exprTableRegister($pParse,$pTab,$regBase,$iCol) { $32 = ((($31)) + 28|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$pCol>>2]|0; - $34 = ((($33)) + 21|0); + $34 = ((($33)) + 13|0); $35 = HEAP8[$34>>0]|0; $36 = HEAP32[$pExpr>>2]|0; $37 = ((($36)) + 1|0); HEAP8[$37>>0] = $35; $38 = HEAP32[$pCol>>2]|0; - $39 = ((($38)) + 16|0); + $39 = ((($38)) + 8|0); $40 = HEAP32[$39>>2]|0; HEAP32[$zColl>>2] = $40; $41 = HEAP32[$zColl>>2]|0; @@ -166180,14 +167184,14 @@ function _exprTableColumn($db,$pTab,$iCursor,$iCol) { $17 = HEAP32[$pExpr>>2]|0; STACKTOP = sp;return ($17|0); } -function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wctrlFlags,$iIdxCur) { +function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wctrlFlags,$iAuxArg) { $pParse = $pParse|0; $pTabList = $pTabList|0; $pWhere = $pWhere|0; $pOrderBy = $pOrderBy|0; $pResultSet = $pResultSet|0; $wctrlFlags = $wctrlFlags|0; - $iIdxCur = $iIdxCur|0; + $iAuxArg = $iAuxArg|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; @@ -166228,10 +167232,10 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct var $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0; var $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0; var $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0; - var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addrExplain = 0, $b = 0, $bFordelete = 0, $bOnerow = 0, $db = 0, $iCur = 0, $iDb = 0; - var $iIndexCur = 0, $ii = 0, $n = 0, $nByteWInfo = 0, $nTabList = 0, $notReady = 0, $op = 0, $op1 = 0, $or$cond = 0, $pEnd = 0, $pIx = 0, $pJ = 0, $pLevel = 0, $pLoop = 0, $pMaskSet = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pVTab = 0, $pWInfo = 0; - var $rc = 0, $sWLB = 0, $tabUsed = 0, $v = 0, $vararg_buffer = 0, $wsFlags = 0, $wsFlags2 = 0, label = 0, sp = 0; + var $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addrExplain = 0, $b = 0, $bFordelete = 0; + var $bOnerow = 0, $db = 0, $iCur = 0, $iDb = 0, $iIndexCur = 0, $ii = 0, $n = 0, $nByteWInfo = 0, $nTabList = 0, $notReady = 0, $op = 0, $op1 = 0, $or$cond = 0, $pEnd = 0, $pIx = 0, $pJ = 0, $pLevel = 0, $pLoop = 0, $pMaskSet = 0, $pTab = 0; + var $pTabItem = 0, $pTerm = 0, $pVTab = 0, $pWInfo = 0, $rc = 0, $sWLB = 0, $tabUsed = 0, $v = 0, $vararg_buffer = 0, $wsFlags = 0, $wsFlags2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 192|0; $vararg_buffer = sp + 24|0; @@ -166281,7 +167285,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct HEAP32[$4>>2] = $pOrderBy; HEAP32[$5>>2] = $pResultSet; HEAP16[$6>>1] = $wctrlFlags; - HEAP32[$7>>2] = $iIdxCur; + HEAP32[$7>>2] = $iAuxArg; $8 = HEAP32[$1>>2]|0; $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; @@ -166305,7 +167309,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $19 = ((($sWLB)) + 8|0); HEAP32[$19>>2] = $18; $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 60|0); + $21 = ((($20)) + 64|0); $22 = HEAP16[$21>>1]|0; $23 = $22&65535; $24 = $23 & 32; @@ -166323,10 +167327,10 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct if ($32) { $33 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = 64; - _sqlite3ErrorMsg($33,35216,$vararg_buffer); + _sqlite3ErrorMsg($33,34917,$vararg_buffer); HEAP32[$0>>2] = 0; - $832 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($832|0); + $836 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($836|0); } $34 = HEAP16[$6>>1]|0; $35 = $34&65535; @@ -166353,7 +167357,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $50 = (_sqlite3DbMallocZero($47,$49,0)|0); HEAP32[$pWInfo>>2] = $50; $51 = HEAP32[$db>>2]|0; - $52 = ((($51)) + 65|0); + $52 = ((($51)) + 69|0); $53 = HEAP8[$52>>0]|0; $54 = ($53<<24>>24)!=(0); L15: do { @@ -166373,7 +167377,7 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct $62 = HEAP32[$nTabList>>2]|0; $63 = $62&255; $64 = HEAP32[$pWInfo>>2]|0; - $65 = ((($64)) + 41|0); + $65 = ((($64)) + 43|0); HEAP8[$65>>0] = $63; $66 = HEAP32[$1>>2]|0; $67 = HEAP32[$pWInfo>>2]|0; @@ -166400,1109 +167404,1114 @@ function _sqlite3WhereBegin($pParse,$pTabList,$pWhere,$pOrderBy,$pResultSet,$wct HEAP32[$82>>2] = $78; $83 = HEAP16[$6>>1]|0; $84 = HEAP32[$pWInfo>>2]|0; - $85 = ((($84)) + 34|0); + $85 = ((($84)) + 36|0); HEAP16[$85>>1] = $83; - $86 = HEAP32[$1>>2]|0; - $87 = ((($86)) + 428|0); - $88 = HEAP32[$87>>2]|0; - $89 = HEAP32[$pWInfo>>2]|0; - $90 = ((($89)) + 56|0); - HEAP32[$90>>2] = $88; - $91 = HEAP32[$pWInfo>>2]|0; - $92 = ((($91)) + 68|0); - HEAP32[$pMaskSet>>2] = $92; + $86 = HEAP32[$7>>2]|0; + $87 = $86&65535; + $88 = HEAP32[$pWInfo>>2]|0; + $89 = ((($88)) + 34|0); + HEAP16[$89>>1] = $87; + $90 = HEAP32[$1>>2]|0; + $91 = ((($90)) + 428|0); + $92 = HEAP32[$91>>2]|0; $93 = HEAP32[$pWInfo>>2]|0; - HEAP32[$sWLB>>2] = $93; - $94 = HEAP32[$pWInfo>>2]|0; - $95 = ((($94)) + 328|0); - $96 = ((($sWLB)) + 4|0); - HEAP32[$96>>2] = $95; + $94 = ((($93)) + 56|0); + HEAP32[$94>>2] = $92; + $95 = HEAP32[$pWInfo>>2]|0; + $96 = ((($95)) + 68|0); + HEAP32[$pMaskSet>>2] = $96; $97 = HEAP32[$pWInfo>>2]|0; - $98 = HEAP32[$nByteWInfo>>2]|0; - $99 = (($97) + ($98)|0); - $100 = ((($sWLB)) + 12|0); + HEAP32[$sWLB>>2] = $97; + $98 = HEAP32[$pWInfo>>2]|0; + $99 = ((($98)) + 328|0); + $100 = ((($sWLB)) + 4|0); HEAP32[$100>>2] = $99; - $101 = ((($sWLB)) + 12|0); - $102 = HEAP32[$101>>2]|0; - _whereLoopInit($102); - $103 = HEAP32[$pMaskSet>>2]|0; - HEAP32[$103>>2] = 0; - $104 = HEAP32[$pWInfo>>2]|0; - $105 = ((($104)) + 328|0); - $106 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereClauseInit($105,$106); - $107 = HEAP32[$pWInfo>>2]|0; - $108 = ((($107)) + 328|0); - $109 = HEAP32[$3>>2]|0; - _sqlite3WhereSplit($108,$109,72); + $101 = HEAP32[$pWInfo>>2]|0; + $102 = HEAP32[$nByteWInfo>>2]|0; + $103 = (($101) + ($102)|0); + $104 = ((($sWLB)) + 12|0); + HEAP32[$104>>2] = $103; + $105 = ((($sWLB)) + 12|0); + $106 = HEAP32[$105>>2]|0; + _whereLoopInit($106); + $107 = HEAP32[$pMaskSet>>2]|0; + HEAP32[$107>>2] = 0; + $108 = HEAP32[$pWInfo>>2]|0; + $109 = ((($108)) + 328|0); + $110 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereClauseInit($109,$110); + $111 = HEAP32[$pWInfo>>2]|0; + $112 = ((($111)) + 328|0); + $113 = HEAP32[$3>>2]|0; + _sqlite3WhereSplit($112,$113,72); HEAP32[$ii>>2] = 0; while(1) { - $110 = HEAP32[$ii>>2]|0; - $111 = ((($sWLB)) + 4|0); - $112 = HEAP32[$111>>2]|0; - $113 = ((($112)) + 12|0); - $114 = HEAP32[$113>>2]|0; - $115 = ($110|0)<($114|0); - $116 = HEAP32[$nTabList>>2]|0; - $117 = ($116|0)==(0); - if (!($115)) { + $114 = HEAP32[$ii>>2]|0; + $115 = ((($sWLB)) + 4|0); + $116 = HEAP32[$115>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + $119 = ($114|0)<($118|0); + $120 = HEAP32[$nTabList>>2]|0; + $121 = ($120|0)==(0); + if (!($119)) { break; } - if ($117) { + if ($121) { label = 16; } else { - $118 = HEAP32[$ii>>2]|0; - $119 = ((($sWLB)) + 4|0); - $120 = HEAP32[$119>>2]|0; - $121 = ((($120)) + 20|0); - $122 = HEAP32[$121>>2]|0; - $123 = (($122) + (($118*48)|0)|0); + $122 = HEAP32[$ii>>2]|0; + $123 = ((($sWLB)) + 4|0); $124 = HEAP32[$123>>2]|0; - $125 = (_sqlite3ExprIsConstantNotJoin($124)|0); - $126 = ($125|0)!=(0); - if ($126) { + $125 = ((($124)) + 20|0); + $126 = HEAP32[$125>>2]|0; + $127 = (($126) + (($122*48)|0)|0); + $128 = HEAP32[$127>>2]|0; + $129 = (_sqlite3ExprIsConstantNotJoin($128)|0); + $130 = ($129|0)!=(0); + if ($130) { label = 16; } } if ((label|0) == 16) { label = 0; - $127 = HEAP32[$1>>2]|0; - $128 = HEAP32[$ii>>2]|0; - $129 = ((($sWLB)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = ((($130)) + 20|0); - $132 = HEAP32[$131>>2]|0; - $133 = (($132) + (($128*48)|0)|0); + $131 = HEAP32[$1>>2]|0; + $132 = HEAP32[$ii>>2]|0; + $133 = ((($sWLB)) + 4|0); $134 = HEAP32[$133>>2]|0; - $135 = HEAP32[$pWInfo>>2]|0; - $136 = ((($135)) + 52|0); - $137 = HEAP32[$136>>2]|0; - _sqlite3ExprIfFalse($127,$134,$137,16); - $138 = HEAP32[$ii>>2]|0; - $139 = ((($sWLB)) + 4|0); - $140 = HEAP32[$139>>2]|0; - $141 = ((($140)) + 20|0); - $142 = HEAP32[$141>>2]|0; - $143 = (($142) + (($138*48)|0)|0); - $144 = ((($143)) + 20|0); - $145 = HEAP16[$144>>1]|0; - $146 = $145&65535; - $147 = $146 | 4; - $148 = $147&65535; - HEAP16[$144>>1] = $148; + $135 = ((($134)) + 20|0); + $136 = HEAP32[$135>>2]|0; + $137 = (($136) + (($132*48)|0)|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$pWInfo>>2]|0; + $140 = ((($139)) + 52|0); + $141 = HEAP32[$140>>2]|0; + _sqlite3ExprIfFalse($131,$138,$141,16); + $142 = HEAP32[$ii>>2]|0; + $143 = ((($sWLB)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($144)) + 20|0); + $146 = HEAP32[$145>>2]|0; + $147 = (($146) + (($142*48)|0)|0); + $148 = ((($147)) + 20|0); + $149 = HEAP16[$148>>1]|0; + $150 = $149&65535; + $151 = $150 | 4; + $152 = $151&65535; + HEAP16[$148>>1] = $152; } - $149 = HEAP32[$ii>>2]|0; - $150 = (($149) + 1)|0; - HEAP32[$ii>>2] = $150; + $153 = HEAP32[$ii>>2]|0; + $154 = (($153) + 1)|0; + HEAP32[$ii>>2] = $154; } - if ($117) { - $151 = HEAP32[$4>>2]|0; - $152 = ($151|0)!=(0|0); - if ($152) { - $153 = HEAP32[$4>>2]|0; - $154 = HEAP32[$153>>2]|0; - $155 = $154&255; - $156 = HEAP32[$pWInfo>>2]|0; - $157 = ((($156)) + 36|0); - HEAP8[$157>>0] = $155; - } - $158 = HEAP16[$6>>1]|0; - $159 = $158&65535; - $160 = $159 & 1024; - $161 = ($160|0)!=(0); - if ($161) { - $162 = HEAP32[$pWInfo>>2]|0; - $163 = ((($162)) + 40|0); - HEAP8[$163>>0] = 1; + if ($121) { + $155 = HEAP32[$4>>2]|0; + $156 = ($155|0)!=(0|0); + if ($156) { + $157 = HEAP32[$4>>2]|0; + $158 = HEAP32[$157>>2]|0; + $159 = $158&255; + $160 = HEAP32[$pWInfo>>2]|0; + $161 = ((($160)) + 38|0); + HEAP8[$161>>0] = $159; + } + $162 = HEAP16[$6>>1]|0; + $163 = $162&65535; + $164 = $163 & 1024; + $165 = ($164|0)!=(0); + if ($165) { + $166 = HEAP32[$pWInfo>>2]|0; + $167 = ((($166)) + 42|0); + HEAP8[$167>>0] = 1; } } HEAP32[$ii>>2] = 0; while(1) { - $164 = HEAP32[$ii>>2]|0; - $165 = HEAP32[$2>>2]|0; - $166 = HEAP32[$165>>2]|0; - $167 = ($164|0)<($166|0); - if (!($167)) { + $168 = HEAP32[$ii>>2]|0; + $169 = HEAP32[$2>>2]|0; + $170 = HEAP32[$169>>2]|0; + $171 = ($168|0)<($170|0); + if (!($171)) { break; } - $168 = HEAP32[$pMaskSet>>2]|0; - $169 = HEAP32[$ii>>2]|0; - $170 = HEAP32[$2>>2]|0; - $171 = ((($170)) + 8|0); - $172 = (($171) + (($169*72)|0)|0); - $173 = ((($172)) + 44|0); - $174 = HEAP32[$173>>2]|0; - _createMask($168,$174); - $175 = HEAP32[$1>>2]|0; - $176 = HEAP32[$ii>>2]|0; - $177 = HEAP32[$2>>2]|0; - $178 = ((($177)) + 8|0); - $179 = (($178) + (($176*72)|0)|0); - $180 = HEAP32[$pWInfo>>2]|0; - $181 = ((($180)) + 328|0); - _sqlite3WhereTabFuncArgs($175,$179,$181); - $182 = HEAP32[$ii>>2]|0; - $183 = (($182) + 1)|0; - HEAP32[$ii>>2] = $183; + $172 = HEAP32[$pMaskSet>>2]|0; + $173 = HEAP32[$ii>>2]|0; + $174 = HEAP32[$2>>2]|0; + $175 = ((($174)) + 8|0); + $176 = (($175) + (($173*72)|0)|0); + $177 = ((($176)) + 44|0); + $178 = HEAP32[$177>>2]|0; + _createMask($172,$178); + $179 = HEAP32[$1>>2]|0; + $180 = HEAP32[$ii>>2]|0; + $181 = HEAP32[$2>>2]|0; + $182 = ((($181)) + 8|0); + $183 = (($182) + (($180*72)|0)|0); + $184 = HEAP32[$pWInfo>>2]|0; + $185 = ((($184)) + 328|0); + _sqlite3WhereTabFuncArgs($179,$183,$185); + $186 = HEAP32[$ii>>2]|0; + $187 = (($186) + 1)|0; + HEAP32[$ii>>2] = $187; } - $184 = HEAP32[$2>>2]|0; - $185 = HEAP32[$pWInfo>>2]|0; - $186 = ((($185)) + 328|0); - _sqlite3WhereExprAnalyze($184,$186); - $187 = HEAP32[$db>>2]|0; - $188 = ((($187)) + 65|0); - $189 = HEAP8[$188>>0]|0; - $190 = ($189<<24>>24)!=(0); - if (!($190)) { - $191 = HEAP16[$6>>1]|0; - $192 = $191&65535; - $193 = $192 & 1024; - $194 = ($193|0)!=(0); + $188 = HEAP32[$2>>2]|0; + $189 = HEAP32[$pWInfo>>2]|0; + $190 = ((($189)) + 328|0); + _sqlite3WhereExprAnalyze($188,$190); + $191 = HEAP32[$db>>2]|0; + $192 = ((($191)) + 69|0); + $193 = HEAP8[$192>>0]|0; + $194 = ($193<<24>>24)!=(0); + if (!($194)) { + $195 = HEAP16[$6>>1]|0; + $196 = $195&65535; + $197 = $196 & 1024; + $198 = ($197|0)!=(0); do { - if ($194) { - $195 = HEAP32[$1>>2]|0; - $196 = HEAP32[$2>>2]|0; - $197 = HEAP32[$pWInfo>>2]|0; - $198 = ((($197)) + 328|0); - $199 = HEAP32[$5>>2]|0; - $200 = (_isDistinctRedundant($195,$196,$198,$199)|0); - $201 = ($200|0)!=(0); - if ($201) { - $202 = HEAP32[$pWInfo>>2]|0; - $203 = ((($202)) + 40|0); - HEAP8[$203>>0] = 1; - break; - } - $204 = HEAP32[$4>>2]|0; - $205 = ($204|0)==(0|0); + if ($198) { + $199 = HEAP32[$1>>2]|0; + $200 = HEAP32[$2>>2]|0; + $201 = HEAP32[$pWInfo>>2]|0; + $202 = ((($201)) + 328|0); + $203 = HEAP32[$5>>2]|0; + $204 = (_isDistinctRedundant($199,$200,$202,$203)|0); + $205 = ($204|0)!=(0); if ($205) { $206 = HEAP32[$pWInfo>>2]|0; - $207 = ((($206)) + 34|0); - $208 = HEAP16[$207>>1]|0; - $209 = $208&65535; - $210 = $209 | 512; - $211 = $210&65535; - HEAP16[$207>>1] = $211; - $212 = HEAP32[$5>>2]|0; - $213 = HEAP32[$pWInfo>>2]|0; - $214 = ((($213)) + 8|0); - HEAP32[$214>>2] = $212; + $207 = ((($206)) + 42|0); + HEAP8[$207>>0] = 1; + break; + } + $208 = HEAP32[$4>>2]|0; + $209 = ($208|0)==(0|0); + if ($209) { + $210 = HEAP32[$pWInfo>>2]|0; + $211 = ((($210)) + 36|0); + $212 = HEAP16[$211>>1]|0; + $213 = $212&65535; + $214 = $213 | 512; + $215 = $214&65535; + HEAP16[$211>>1] = $215; + $216 = HEAP32[$5>>2]|0; + $217 = HEAP32[$pWInfo>>2]|0; + $218 = ((($217)) + 8|0); + HEAP32[$218>>2] = $216; } } } while(0); - $215 = HEAP32[$nTabList>>2]|0; - $216 = ($215|0)!=(1); - if ($216) { + $219 = HEAP32[$nTabList>>2]|0; + $220 = ($219|0)!=(1); + if ($220) { label = 34; } else { - $217 = (_whereShortCut($sWLB)|0); - $218 = ($217|0)==(0); - if ($218) { + $221 = (_whereShortCut($sWLB)|0); + $222 = ($221|0)==(0); + if ($222) { label = 34; } } if ((label|0) == 34) { - $219 = (_whereLoopAddAll($sWLB)|0); - HEAP32[$rc>>2] = $219; - $220 = HEAP32[$rc>>2]|0; - $221 = ($220|0)!=(0); - if ($221) { + $223 = (_whereLoopAddAll($sWLB)|0); + HEAP32[$rc>>2] = $223; + $224 = HEAP32[$rc>>2]|0; + $225 = ($224|0)!=(0); + if ($225) { break; } - $222 = HEAP32[$pWInfo>>2]|0; - (_wherePathSolver($222,0)|0); - $223 = HEAP32[$db>>2]|0; - $224 = ((($223)) + 65|0); - $225 = HEAP8[$224>>0]|0; - $226 = ($225<<24>>24)!=(0); - if ($226) { + $226 = HEAP32[$pWInfo>>2]|0; + (_wherePathSolver($226,0)|0); + $227 = HEAP32[$db>>2]|0; + $228 = ((($227)) + 69|0); + $229 = HEAP8[$228>>0]|0; + $230 = ($229<<24>>24)!=(0); + if ($230) { break; } - $227 = HEAP32[$pWInfo>>2]|0; - $228 = ((($227)) + 8|0); - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)!=(0|0); - if ($230) { - $231 = HEAP32[$pWInfo>>2]|0; - $232 = HEAP32[$pWInfo>>2]|0; - $233 = ((($232)) + 32|0); - $234 = HEAP16[$233>>1]|0; - $235 = $234 << 16 >> 16; - $236 = (($235) + 1)|0; - $237 = $236&65535; - (_wherePathSolver($231,$237)|0); - $238 = HEAP32[$db>>2]|0; - $239 = ((($238)) + 65|0); - $240 = HEAP8[$239>>0]|0; - $241 = ($240<<24>>24)!=(0); - if ($241) { + $231 = HEAP32[$pWInfo>>2]|0; + $232 = ((($231)) + 8|0); + $233 = HEAP32[$232>>2]|0; + $234 = ($233|0)!=(0|0); + if ($234) { + $235 = HEAP32[$pWInfo>>2]|0; + $236 = HEAP32[$pWInfo>>2]|0; + $237 = ((($236)) + 32|0); + $238 = HEAP16[$237>>1]|0; + $239 = $238 << 16 >> 16; + $240 = (($239) + 1)|0; + $241 = $240&65535; + (_wherePathSolver($235,$241)|0); + $242 = HEAP32[$db>>2]|0; + $243 = ((($242)) + 69|0); + $244 = HEAP8[$243>>0]|0; + $245 = ($244<<24>>24)!=(0); + if ($245) { break; } } } - $242 = HEAP32[$pWInfo>>2]|0; - $243 = ((($242)) + 8|0); - $244 = HEAP32[$243>>2]|0; - $245 = ($244|0)==(0|0); - if ($245) { - $246 = HEAP32[$db>>2]|0; - $247 = ((($246)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = $248 & 131072; - $250 = ($249|0)!=(0); - if ($250) { - $251 = HEAP32[$pWInfo>>2]|0; - $252 = ((($251)) + 24|0); - $253 = $252; - $254 = $253; - HEAP32[$254>>2] = -1; - $255 = (($253) + 4)|0; - $256 = $255; - HEAP32[$256>>2] = -1; + $246 = HEAP32[$pWInfo>>2]|0; + $247 = ((($246)) + 8|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)==(0|0); + if ($249) { + $250 = HEAP32[$db>>2]|0; + $251 = ((($250)) + 24|0); + $252 = HEAP32[$251>>2]|0; + $253 = $252 & 131072; + $254 = ($253|0)!=(0); + if ($254) { + $255 = HEAP32[$pWInfo>>2]|0; + $256 = ((($255)) + 24|0); + $257 = $256; + $258 = $257; + HEAP32[$258>>2] = -1; + $259 = (($257) + 4)|0; + $260 = $259; + HEAP32[$260>>2] = -1; } } - $257 = HEAP32[$1>>2]|0; - $258 = ((($257)) + 68|0); - $259 = HEAP32[$258>>2]|0; - $260 = ($259|0)!=(0); - if (!($260)) { - $261 = HEAP32[$db>>2]|0; - $262 = ((($261)) + 65|0); - $263 = HEAP8[$262>>0]|0; - $264 = $263&255; - $265 = ($264|0)!=(0); - if (!($265)) { - $266 = HEAP32[$pWInfo>>2]|0; - $267 = ((($266)) + 41|0); - $268 = HEAP8[$267>>0]|0; - $269 = $268&255; - $270 = ($269|0)>=(2); - $271 = HEAP32[$5>>2]|0; - $272 = ($271|0)!=(0|0); - $or$cond = $270 & $272; + $261 = HEAP32[$1>>2]|0; + $262 = ((($261)) + 68|0); + $263 = HEAP32[$262>>2]|0; + $264 = ($263|0)!=(0); + if (!($264)) { + $265 = HEAP32[$db>>2]|0; + $266 = ((($265)) + 69|0); + $267 = HEAP8[$266>>0]|0; + $268 = $267&255; + $269 = ($268|0)!=(0); + if (!($269)) { + $270 = HEAP32[$pWInfo>>2]|0; + $271 = ((($270)) + 43|0); + $272 = HEAP8[$271>>0]|0; + $273 = $272&255; + $274 = ($273|0)>=(2); + $275 = HEAP32[$5>>2]|0; + $276 = ($275|0)!=(0|0); + $or$cond = $274 & $276; L60: do { if ($or$cond) { - $273 = HEAP32[$db>>2]|0; - $274 = ((($273)) + 60|0); - $275 = HEAP16[$274>>1]|0; - $276 = $275&65535; - $277 = $276 & 1024; - $278 = ($277|0)==(0); - if ($278) { - $279 = HEAP32[$pMaskSet>>2]|0; - $280 = HEAP32[$5>>2]|0; - $281 = (_sqlite3WhereExprListUsage($279,$280)|0); - $282 = tempRet0; - $283 = $tabUsed; - $284 = $283; - HEAP32[$284>>2] = $281; - $285 = (($283) + 4)|0; - $286 = $285; - HEAP32[$286>>2] = $282; - $287 = ((($sWLB)) + 8|0); - $288 = HEAP32[$287>>2]|0; - $289 = ($288|0)!=(0|0); - if ($289) { - $290 = HEAP32[$pMaskSet>>2]|0; - $291 = ((($sWLB)) + 8|0); - $292 = HEAP32[$291>>2]|0; - $293 = (_sqlite3WhereExprListUsage($290,$292)|0); - $294 = tempRet0; - $295 = $tabUsed; - $296 = $295; - $297 = HEAP32[$296>>2]|0; - $298 = (($295) + 4)|0; - $299 = $298; - $300 = HEAP32[$299>>2]|0; - $301 = $297 | $293; - $302 = $300 | $294; - $303 = $tabUsed; - $304 = $303; - HEAP32[$304>>2] = $301; - $305 = (($303) + 4)|0; - $306 = $305; - HEAP32[$306>>2] = $302; + $277 = HEAP32[$db>>2]|0; + $278 = ((($277)) + 64|0); + $279 = HEAP16[$278>>1]|0; + $280 = $279&65535; + $281 = $280 & 1024; + $282 = ($281|0)==(0); + if ($282) { + $283 = HEAP32[$pMaskSet>>2]|0; + $284 = HEAP32[$5>>2]|0; + $285 = (_sqlite3WhereExprListUsage($283,$284)|0); + $286 = tempRet0; + $287 = $tabUsed; + $288 = $287; + HEAP32[$288>>2] = $285; + $289 = (($287) + 4)|0; + $290 = $289; + HEAP32[$290>>2] = $286; + $291 = ((($sWLB)) + 8|0); + $292 = HEAP32[$291>>2]|0; + $293 = ($292|0)!=(0|0); + if ($293) { + $294 = HEAP32[$pMaskSet>>2]|0; + $295 = ((($sWLB)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = (_sqlite3WhereExprListUsage($294,$296)|0); + $298 = tempRet0; + $299 = $tabUsed; + $300 = $299; + $301 = HEAP32[$300>>2]|0; + $302 = (($299) + 4)|0; + $303 = $302; + $304 = HEAP32[$303>>2]|0; + $305 = $301 | $297; + $306 = $304 | $298; + $307 = $tabUsed; + $308 = $307; + HEAP32[$308>>2] = $305; + $309 = (($307) + 4)|0; + $310 = $309; + HEAP32[$310>>2] = $306; } while(1) { - $307 = HEAP32[$pWInfo>>2]|0; - $308 = ((($307)) + 41|0); - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = ($310|0)>=(2); - if (!($311)) { - break L60; - } - $312 = HEAP32[$pWInfo>>2]|0; - $313 = ((($312)) + 41|0); - $314 = HEAP8[$313>>0]|0; - $315 = $314&255; - $316 = (($315) - 1)|0; - $317 = HEAP32[$pWInfo>>2]|0; - $318 = ((($317)) + 736|0); - $319 = (($318) + (($316*80)|0)|0); - $320 = ((($319)) + 64|0); - $321 = HEAP32[$320>>2]|0; - HEAP32[$pLoop>>2] = $321; - $322 = HEAP32[$pLoop>>2]|0; - $323 = ((($322)) + 16|0); - $324 = HEAP8[$323>>0]|0; - $325 = $324&255; - $326 = HEAP32[$pWInfo>>2]|0; - $327 = ((($326)) + 4|0); - $328 = HEAP32[$327>>2]|0; - $329 = ((($328)) + 8|0); - $330 = (($329) + (($325*72)|0)|0); - $331 = ((($330)) + 36|0); - $332 = HEAP8[$331>>0]|0; - $333 = $332&255; - $334 = $333 & 8; - $335 = ($334|0)==(0); - if ($335) { + $311 = HEAP32[$pWInfo>>2]|0; + $312 = ((($311)) + 43|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = ($314|0)>=(2); + if (!($315)) { break L60; } - $336 = HEAP16[$6>>1]|0; - $337 = $336&65535; - $338 = $337 & 1024; + $316 = HEAP32[$pWInfo>>2]|0; + $317 = ((($316)) + 43|0); + $318 = HEAP8[$317>>0]|0; + $319 = $318&255; + $320 = (($319) - 1)|0; + $321 = HEAP32[$pWInfo>>2]|0; + $322 = ((($321)) + 736|0); + $323 = (($322) + (($320*80)|0)|0); + $324 = ((($323)) + 64|0); + $325 = HEAP32[$324>>2]|0; + HEAP32[$pLoop>>2] = $325; + $326 = HEAP32[$pLoop>>2]|0; + $327 = ((($326)) + 16|0); + $328 = HEAP8[$327>>0]|0; + $329 = $328&255; + $330 = HEAP32[$pWInfo>>2]|0; + $331 = ((($330)) + 4|0); + $332 = HEAP32[$331>>2]|0; + $333 = ((($332)) + 8|0); + $334 = (($333) + (($329*72)|0)|0); + $335 = ((($334)) + 36|0); + $336 = HEAP8[$335>>0]|0; + $337 = $336&255; + $338 = $337 & 8; $339 = ($338|0)==(0); if ($339) { - $340 = HEAP32[$pLoop>>2]|0; - $341 = ((($340)) + 36|0); - $342 = HEAP32[$341>>2]|0; - $343 = $342 & 4096; - $344 = ($343|0)==(0); - if ($344) { + break L60; + } + $340 = HEAP16[$6>>1]|0; + $341 = $340&65535; + $342 = $341 & 1024; + $343 = ($342|0)==(0); + if ($343) { + $344 = HEAP32[$pLoop>>2]|0; + $345 = ((($344)) + 36|0); + $346 = HEAP32[$345>>2]|0; + $347 = $346 & 4096; + $348 = ($347|0)==(0); + if ($348) { break L60; } } - $345 = $tabUsed; - $346 = $345; - $347 = HEAP32[$346>>2]|0; - $348 = (($345) + 4)|0; - $349 = $348; - $350 = HEAP32[$349>>2]|0; - $351 = HEAP32[$pLoop>>2]|0; - $352 = ((($351)) + 8|0); + $349 = $tabUsed; + $350 = $349; + $351 = HEAP32[$350>>2]|0; + $352 = (($349) + 4)|0; $353 = $352; - $354 = $353; - $355 = HEAP32[$354>>2]|0; - $356 = (($353) + 4)|0; + $354 = HEAP32[$353>>2]|0; + $355 = HEAP32[$pLoop>>2]|0; + $356 = ((($355)) + 8|0); $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = $347 & $355; - $360 = $350 & $358; - $361 = ($359|0)!=(0); - $362 = ($360|0)!=(0); - $363 = $361 | $362; - if ($363) { + $358 = $357; + $359 = HEAP32[$358>>2]|0; + $360 = (($357) + 4)|0; + $361 = $360; + $362 = HEAP32[$361>>2]|0; + $363 = $351 & $359; + $364 = $354 & $362; + $365 = ($363|0)!=(0); + $366 = ($364|0)!=(0); + $367 = $365 | $366; + if ($367) { break L60; } - $364 = ((($sWLB)) + 4|0); - $365 = HEAP32[$364>>2]|0; - $366 = ((($365)) + 20|0); - $367 = HEAP32[$366>>2]|0; $368 = ((($sWLB)) + 4|0); $369 = HEAP32[$368>>2]|0; - $370 = ((($369)) + 12|0); + $370 = ((($369)) + 20|0); $371 = HEAP32[$370>>2]|0; - $372 = (($367) + (($371*48)|0)|0); - HEAP32[$pEnd>>2] = $372; - $373 = ((($sWLB)) + 4|0); - $374 = HEAP32[$373>>2]|0; - $375 = ((($374)) + 20|0); - $376 = HEAP32[$375>>2]|0; - HEAP32[$pTerm>>2] = $376; + $372 = ((($sWLB)) + 4|0); + $373 = HEAP32[$372>>2]|0; + $374 = ((($373)) + 12|0); + $375 = HEAP32[$374>>2]|0; + $376 = (($371) + (($375*48)|0)|0); + HEAP32[$pEnd>>2] = $376; + $377 = ((($sWLB)) + 4|0); + $378 = HEAP32[$377>>2]|0; + $379 = ((($378)) + 20|0); + $380 = HEAP32[$379>>2]|0; + HEAP32[$pTerm>>2] = $380; while(1) { - $377 = HEAP32[$pTerm>>2]|0; - $378 = HEAP32[$pEnd>>2]|0; - $379 = ($377>>>0)<($378>>>0); - if (!($379)) { + $381 = HEAP32[$pTerm>>2]|0; + $382 = HEAP32[$pEnd>>2]|0; + $383 = ($381>>>0)<($382>>>0); + if (!($383)) { break; } - $380 = HEAP32[$pTerm>>2]|0; - $381 = ((($380)) + 40|0); - $382 = $381; - $383 = $382; - $384 = HEAP32[$383>>2]|0; - $385 = (($382) + 4)|0; + $384 = HEAP32[$pTerm>>2]|0; + $385 = ((($384)) + 40|0); $386 = $385; - $387 = HEAP32[$386>>2]|0; - $388 = HEAP32[$pLoop>>2]|0; - $389 = ((($388)) + 8|0); + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = (($386) + 4)|0; $390 = $389; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (($390) + 4)|0; + $391 = HEAP32[$390>>2]|0; + $392 = HEAP32[$pLoop>>2]|0; + $393 = ((($392)) + 8|0); $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = $384 & $392; - $397 = $387 & $395; - $398 = ($396|0)!=(0); - $399 = ($397|0)!=(0); - $400 = $398 | $399; - if ($400) { - $401 = HEAP32[$pTerm>>2]|0; - $402 = HEAP32[$401>>2]|0; - $403 = ((($402)) + 4|0); - $404 = HEAP32[$403>>2]|0; - $405 = $404 & 1; - $406 = ($405|0)!=(0); - if (!($406)) { + $395 = $394; + $396 = HEAP32[$395>>2]|0; + $397 = (($394) + 4)|0; + $398 = $397; + $399 = HEAP32[$398>>2]|0; + $400 = $388 & $396; + $401 = $391 & $399; + $402 = ($400|0)!=(0); + $403 = ($401|0)!=(0); + $404 = $402 | $403; + if ($404) { + $405 = HEAP32[$pTerm>>2]|0; + $406 = HEAP32[$405>>2]|0; + $407 = ((($406)) + 4|0); + $408 = HEAP32[$407>>2]|0; + $409 = $408 & 1; + $410 = ($409|0)!=(0); + if (!($410)) { break; } } - $407 = HEAP32[$pTerm>>2]|0; - $408 = ((($407)) + 48|0); - HEAP32[$pTerm>>2] = $408; + $411 = HEAP32[$pTerm>>2]|0; + $412 = ((($411)) + 48|0); + HEAP32[$pTerm>>2] = $412; } - $409 = HEAP32[$pTerm>>2]|0; - $410 = HEAP32[$pEnd>>2]|0; - $411 = ($409>>>0)<($410>>>0); - if ($411) { + $413 = HEAP32[$pTerm>>2]|0; + $414 = HEAP32[$pEnd>>2]|0; + $415 = ($413>>>0)<($414>>>0); + if ($415) { break L60; } - $412 = HEAP32[$pWInfo>>2]|0; - $413 = ((($412)) + 41|0); - $414 = HEAP8[$413>>0]|0; - $415 = (($414) + -1)<<24>>24; - HEAP8[$413>>0] = $415; - $416 = HEAP32[$nTabList>>2]|0; - $417 = (($416) + -1)|0; - HEAP32[$nTabList>>2] = $417; + $416 = HEAP32[$pWInfo>>2]|0; + $417 = ((($416)) + 43|0); + $418 = HEAP8[$417>>0]|0; + $419 = (($418) + -1)<<24>>24; + HEAP8[$417>>0] = $419; + $420 = HEAP32[$nTabList>>2]|0; + $421 = (($420) + -1)|0; + HEAP32[$nTabList>>2] = $421; } } } } while(0); - $418 = HEAP32[$pWInfo>>2]|0; - $419 = ((($418)) + 32|0); - $420 = HEAP16[$419>>1]|0; - $421 = $420 << 16 >> 16; $422 = HEAP32[$pWInfo>>2]|0; - $423 = HEAP32[$422>>2]|0; - $424 = ((($423)) + 428|0); - $425 = HEAP32[$424>>2]|0; - $426 = (($425) + ($421))|0; - HEAP32[$424>>2] = $426; - $427 = HEAP16[$6>>1]|0; - $428 = $427&65535; - $429 = $428 & 4; - $430 = ($429|0)!=(0); + $423 = ((($422)) + 32|0); + $424 = HEAP16[$423>>1]|0; + $425 = $424 << 16 >> 16; + $426 = HEAP32[$pWInfo>>2]|0; + $427 = HEAP32[$426>>2]|0; + $428 = ((($427)) + 428|0); + $429 = HEAP32[$428>>2]|0; + $430 = (($429) + ($425))|0; + HEAP32[$428>>2] = $430; + $431 = HEAP16[$6>>1]|0; + $432 = $431&65535; + $433 = $432 & 4; + $434 = ($433|0)!=(0); do { - if ($430) { - $431 = HEAP32[$pWInfo>>2]|0; - $432 = ((($431)) + 736|0); - $433 = ((($432)) + 64|0); - $434 = HEAP32[$433>>2]|0; - $435 = ((($434)) + 36|0); - $436 = HEAP32[$435>>2]|0; - HEAP32[$wsFlags>>2] = $436; - $437 = HEAP32[$wsFlags>>2]|0; - $438 = $437 & 4096; - $439 = ($438|0)!=(0); - $440 = $439&1; - HEAP32[$bOnerow>>2] = $440; - $441 = HEAP32[$bOnerow>>2]|0; - $442 = ($441|0)!=(0); - if (!($442)) { - $443 = HEAP16[$6>>1]|0; - $444 = $443&65535; - $445 = $444 & 8192; - $446 = ($445|0)!=(0); - if (!($446)) { + if ($434) { + $435 = HEAP32[$pWInfo>>2]|0; + $436 = ((($435)) + 736|0); + $437 = ((($436)) + 64|0); + $438 = HEAP32[$437>>2]|0; + $439 = ((($438)) + 36|0); + $440 = HEAP32[$439>>2]|0; + HEAP32[$wsFlags>>2] = $440; + $441 = HEAP32[$wsFlags>>2]|0; + $442 = $441 & 4096; + $443 = ($442|0)!=(0); + $444 = $443&1; + HEAP32[$bOnerow>>2] = $444; + $445 = HEAP32[$bOnerow>>2]|0; + $446 = ($445|0)!=(0); + if (!($446)) { + $447 = HEAP16[$6>>1]|0; + $448 = $447&65535; + $449 = $448 & 8192; + $450 = ($449|0)!=(0); + if (!($450)) { break; } - $447 = HEAP32[$wsFlags>>2]|0; - $448 = $447 & 1024; - $449 = (0)==($448|0); - if (!($449)) { + $451 = HEAP32[$wsFlags>>2]|0; + $452 = $451 & 1024; + $453 = (0)==($452|0); + if (!($453)) { break; } } - $450 = HEAP32[$bOnerow>>2]|0; - $451 = ($450|0)!=(0); - $452 = $451 ? 1 : 2; - $453 = $452&255; - $454 = HEAP32[$pWInfo>>2]|0; - $455 = ((($454)) + 38|0); - HEAP8[$455>>0] = $453; - $456 = HEAP32[$2>>2]|0; - $457 = ((($456)) + 8|0); - $458 = ((($457)) + 16|0); - $459 = HEAP32[$458>>2]|0; - $460 = ((($459)) + 42|0); - $461 = HEAP8[$460>>0]|0; - $462 = $461&255; - $463 = $462 & 32; - $464 = ($463|0)==(0); - if ($464) { - $465 = HEAP32[$wsFlags>>2]|0; - $466 = $465 & 64; - $467 = ($466|0)!=(0); - if ($467) { - $468 = HEAP16[$6>>1]|0; - $469 = $468&65535; - $470 = $469 & 8192; - $471 = ($470|0)!=(0); - if ($471) { + $454 = HEAP32[$bOnerow>>2]|0; + $455 = ($454|0)!=(0); + $456 = $455 ? 1 : 2; + $457 = $456&255; + $458 = HEAP32[$pWInfo>>2]|0; + $459 = ((($458)) + 40|0); + HEAP8[$459>>0] = $457; + $460 = HEAP32[$2>>2]|0; + $461 = ((($460)) + 8|0); + $462 = ((($461)) + 16|0); + $463 = HEAP32[$462>>2]|0; + $464 = ((($463)) + 42|0); + $465 = HEAP8[$464>>0]|0; + $466 = $465&255; + $467 = $466 & 32; + $468 = ($467|0)==(0); + if ($468) { + $469 = HEAP32[$wsFlags>>2]|0; + $470 = $469 & 64; + $471 = ($470|0)!=(0); + if ($471) { + $472 = HEAP16[$6>>1]|0; + $473 = $472&65535; + $474 = $473 & 8192; + $475 = ($474|0)!=(0); + if ($475) { HEAP8[$bFordelete>>0] = 8; } - $472 = HEAP32[$wsFlags>>2]|0; - $473 = $472 & -65; - $474 = HEAP32[$pWInfo>>2]|0; - $475 = ((($474)) + 736|0); - $476 = ((($475)) + 64|0); - $477 = HEAP32[$476>>2]|0; - $478 = ((($477)) + 36|0); - HEAP32[$478>>2] = $473; + $476 = HEAP32[$wsFlags>>2]|0; + $477 = $476 & -65; + $478 = HEAP32[$pWInfo>>2]|0; + $479 = ((($478)) + 736|0); + $480 = ((($479)) + 64|0); + $481 = HEAP32[$480>>2]|0; + $482 = ((($481)) + 36|0); + HEAP32[$482>>2] = $477; } } } } while(0); HEAP32[$ii>>2] = 0; - $479 = HEAP32[$pWInfo>>2]|0; - $480 = ((($479)) + 736|0); - HEAP32[$pLevel>>2] = $480; + $483 = HEAP32[$pWInfo>>2]|0; + $484 = ((($483)) + 736|0); + HEAP32[$pLevel>>2] = $484; while(1) { - $481 = HEAP32[$ii>>2]|0; - $482 = HEAP32[$nTabList>>2]|0; - $483 = ($481|0)<($482|0); - if (!($483)) { + $485 = HEAP32[$ii>>2]|0; + $486 = HEAP32[$nTabList>>2]|0; + $487 = ($485|0)<($486|0); + if (!($487)) { break; } - $484 = HEAP32[$pLevel>>2]|0; - $485 = ((($484)) + 44|0); - $486 = HEAP8[$485>>0]|0; - $487 = $486&255; - $488 = HEAP32[$2>>2]|0; - $489 = ((($488)) + 8|0); - $490 = (($489) + (($487*72)|0)|0); - HEAP32[$pTabItem>>2] = $490; - $491 = HEAP32[$pTabItem>>2]|0; - $492 = ((($491)) + 16|0); - $493 = HEAP32[$492>>2]|0; - HEAP32[$pTab>>2] = $493; - $494 = HEAP32[$db>>2]|0; - $495 = HEAP32[$pTab>>2]|0; - $496 = ((($495)) + 64|0); + $488 = HEAP32[$pLevel>>2]|0; + $489 = ((($488)) + 44|0); + $490 = HEAP8[$489>>0]|0; + $491 = $490&255; + $492 = HEAP32[$2>>2]|0; + $493 = ((($492)) + 8|0); + $494 = (($493) + (($491*72)|0)|0); + HEAP32[$pTabItem>>2] = $494; + $495 = HEAP32[$pTabItem>>2]|0; + $496 = ((($495)) + 16|0); $497 = HEAP32[$496>>2]|0; - $498 = (_sqlite3SchemaToIndex($494,$497)|0); - HEAP32[$iDb>>2] = $498; - $499 = HEAP32[$pLevel>>2]|0; + HEAP32[$pTab>>2] = $497; + $498 = HEAP32[$db>>2]|0; + $499 = HEAP32[$pTab>>2]|0; $500 = ((($499)) + 64|0); $501 = HEAP32[$500>>2]|0; - HEAP32[$pLoop>>2] = $501; - $502 = HEAP32[$pTab>>2]|0; - $503 = ((($502)) + 42|0); - $504 = HEAP8[$503>>0]|0; - $505 = $504&255; - $506 = $505 & 2; - $507 = ($506|0)!=(0); + $502 = (_sqlite3SchemaToIndex($498,$501)|0); + HEAP32[$iDb>>2] = $502; + $503 = HEAP32[$pLevel>>2]|0; + $504 = ((($503)) + 64|0); + $505 = HEAP32[$504>>2]|0; + HEAP32[$pLoop>>2] = $505; + $506 = HEAP32[$pTab>>2]|0; + $507 = ((($506)) + 42|0); + $508 = HEAP8[$507>>0]|0; + $509 = $508&255; + $510 = $509 & 2; + $511 = ($510|0)!=(0); L97: do { - if (!($507)) { - $508 = HEAP32[$pTab>>2]|0; - $509 = ((($508)) + 12|0); - $510 = HEAP32[$509>>2]|0; - $511 = ($510|0)!=(0|0); - if (!($511)) { - $512 = HEAP32[$pLoop>>2]|0; - $513 = ((($512)) + 36|0); - $514 = HEAP32[$513>>2]|0; - $515 = $514 & 1024; - $516 = ($515|0)!=(0); - if ($516) { - $517 = HEAP32[$db>>2]|0; - $518 = HEAP32[$pTab>>2]|0; - $519 = (_sqlite3GetVTable($517,$518)|0); - HEAP32[$pVTab>>2] = $519; - $520 = HEAP32[$pTabItem>>2]|0; - $521 = ((($520)) + 44|0); - $522 = HEAP32[$521>>2]|0; - HEAP32[$iCur>>2] = $522; - $523 = HEAP32[$v>>2]|0; - $524 = HEAP32[$iCur>>2]|0; - $525 = HEAP32[$pVTab>>2]|0; - (_sqlite3VdbeAddOp4($523,152,$524,0,0,$525,-10)|0); + if (!($511)) { + $512 = HEAP32[$pTab>>2]|0; + $513 = ((($512)) + 12|0); + $514 = HEAP32[$513>>2]|0; + $515 = ($514|0)!=(0|0); + if (!($515)) { + $516 = HEAP32[$pLoop>>2]|0; + $517 = ((($516)) + 36|0); + $518 = HEAP32[$517>>2]|0; + $519 = $518 & 1024; + $520 = ($519|0)!=(0); + if ($520) { + $521 = HEAP32[$db>>2]|0; + $522 = HEAP32[$pTab>>2]|0; + $523 = (_sqlite3GetVTable($521,$522)|0); + HEAP32[$pVTab>>2] = $523; + $524 = HEAP32[$pTabItem>>2]|0; + $525 = ((($524)) + 44|0); + $526 = HEAP32[$525>>2]|0; + HEAP32[$iCur>>2] = $526; + $527 = HEAP32[$v>>2]|0; + $528 = HEAP32[$iCur>>2]|0; + $529 = HEAP32[$pVTab>>2]|0; + (_sqlite3VdbeAddOp4($527,152,$528,0,0,$529,-10)|0); break; } - $526 = HEAP32[$pTab>>2]|0; - $527 = ((($526)) + 42|0); - $528 = HEAP8[$527>>0]|0; - $529 = $528&255; - $530 = $529 & 16; - $531 = ($530|0)!=(0); - if ($531) { + $530 = HEAP32[$pTab>>2]|0; + $531 = ((($530)) + 42|0); + $532 = HEAP8[$531>>0]|0; + $533 = $532&255; + $534 = $533 & 16; + $535 = ($534|0)!=(0); + if ($535) { break; } - $532 = HEAP32[$pLoop>>2]|0; - $533 = ((($532)) + 36|0); - $534 = HEAP32[$533>>2]|0; - $535 = $534 & 64; - $536 = ($535|0)==(0); + $536 = HEAP32[$pLoop>>2]|0; + $537 = ((($536)) + 36|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 & 64; + $540 = ($539|0)==(0); do { - if ($536) { - $537 = HEAP16[$6>>1]|0; - $538 = $537&65535; - $539 = $538 & 16; - $540 = ($539|0)==(0); - if (!($540)) { + if ($540) { + $541 = HEAP16[$6>>1]|0; + $542 = $541&65535; + $543 = $542 & 16; + $544 = ($543|0)==(0); + if (!($544)) { break; } HEAP32[$op>>2] = 54; - $541 = HEAP32[$pWInfo>>2]|0; - $542 = ((($541)) + 38|0); - $543 = HEAP8[$542>>0]|0; - $544 = $543&255; - $545 = ($544|0)!=(0); - if ($545) { + $545 = HEAP32[$pWInfo>>2]|0; + $546 = ((($545)) + 40|0); + $547 = HEAP8[$546>>0]|0; + $548 = $547&255; + $549 = ($548|0)!=(0); + if ($549) { HEAP32[$op>>2] = 55; - $546 = HEAP32[$pTabItem>>2]|0; - $547 = ((($546)) + 44|0); - $548 = HEAP32[$547>>2]|0; - $549 = HEAP32[$pWInfo>>2]|0; - $550 = ((($549)) + 60|0); - HEAP32[$550>>2] = $548; + $550 = HEAP32[$pTabItem>>2]|0; + $551 = ((($550)) + 44|0); + $552 = HEAP32[$551>>2]|0; + $553 = HEAP32[$pWInfo>>2]|0; + $554 = ((($553)) + 60|0); + HEAP32[$554>>2] = $552; } - $551 = HEAP32[$1>>2]|0; - $552 = HEAP32[$pTabItem>>2]|0; - $553 = ((($552)) + 44|0); - $554 = HEAP32[$553>>2]|0; - $555 = HEAP32[$iDb>>2]|0; - $556 = HEAP32[$pTab>>2]|0; - $557 = HEAP32[$op>>2]|0; - _sqlite3OpenTable($551,$554,$555,$556,$557); - $558 = HEAP32[$pWInfo>>2]|0; - $559 = ((($558)) + 38|0); - $560 = HEAP8[$559>>0]|0; - $561 = $560&255; - $562 = ($561|0)==(0); + $555 = HEAP32[$1>>2]|0; + $556 = HEAP32[$pTabItem>>2]|0; + $557 = ((($556)) + 44|0); + $558 = HEAP32[$557>>2]|0; + $559 = HEAP32[$iDb>>2]|0; + $560 = HEAP32[$pTab>>2]|0; + $561 = HEAP32[$op>>2]|0; + _sqlite3OpenTable($555,$558,$559,$560,$561); + $562 = HEAP32[$pWInfo>>2]|0; + $563 = ((($562)) + 40|0); + $564 = HEAP8[$563>>0]|0; + $565 = $564&255; + $566 = ($565|0)==(0); do { - if ($562) { - $563 = HEAP32[$pTab>>2]|0; - $564 = ((($563)) + 34|0); - $565 = HEAP16[$564>>1]|0; - $566 = $565 << 16 >> 16; - $567 = ($566|0)<(64); - if (!($567)) { + if ($566) { + $567 = HEAP32[$pTab>>2]|0; + $568 = ((($567)) + 34|0); + $569 = HEAP16[$568>>1]|0; + $570 = $569 << 16 >> 16; + $571 = ($570|0)<(64); + if (!($571)) { break; } - $568 = HEAP32[$pTab>>2]|0; - $569 = ((($568)) + 42|0); - $570 = HEAP8[$569>>0]|0; - $571 = $570&255; - $572 = $571 & 32; - $573 = ($572|0)==(0); - if (!($573)) { + $572 = HEAP32[$pTab>>2]|0; + $573 = ((($572)) + 42|0); + $574 = HEAP8[$573>>0]|0; + $575 = $574&255; + $576 = $575 & 32; + $577 = ($576|0)==(0); + if (!($577)) { break; } - $574 = HEAP32[$pTabItem>>2]|0; - $575 = ((($574)) + 56|0); - $576 = $575; - $577 = $576; - $578 = HEAP32[$577>>2]|0; - $579 = (($576) + 4)|0; + $578 = HEAP32[$pTabItem>>2]|0; + $579 = ((($578)) + 56|0); $580 = $579; - $581 = HEAP32[$580>>2]|0; - $582 = $b; - $583 = $582; - HEAP32[$583>>2] = $578; - $584 = (($582) + 4)|0; - $585 = $584; - HEAP32[$585>>2] = $581; + $581 = $580; + $582 = HEAP32[$581>>2]|0; + $583 = (($580) + 4)|0; + $584 = $583; + $585 = HEAP32[$584>>2]|0; + $586 = $b; + $587 = $586; + HEAP32[$587>>2] = $582; + $588 = (($586) + 4)|0; + $589 = $588; + HEAP32[$589>>2] = $585; HEAP32[$n>>2] = 0; while(1) { - $586 = $b; - $587 = $586; - $588 = HEAP32[$587>>2]|0; - $589 = (($586) + 4)|0; - $590 = $589; - $591 = HEAP32[$590>>2]|0; - $592 = ($588|0)!=(0); - $593 = ($591|0)!=(0); - $594 = $592 | $593; - if (!($594)) { + $590 = $b; + $591 = $590; + $592 = HEAP32[$591>>2]|0; + $593 = (($590) + 4)|0; + $594 = $593; + $595 = HEAP32[$594>>2]|0; + $596 = ($592|0)!=(0); + $597 = ($595|0)!=(0); + $598 = $596 | $597; + if (!($598)) { break; } - $595 = $b; - $596 = $595; - $597 = HEAP32[$596>>2]|0; - $598 = (($595) + 4)|0; - $599 = $598; - $600 = HEAP32[$599>>2]|0; - $601 = (_bitshift64Lshr(($597|0),($600|0),1)|0); - $602 = tempRet0; - $603 = $b; - $604 = $603; - HEAP32[$604>>2] = $601; - $605 = (($603) + 4)|0; - $606 = $605; - HEAP32[$606>>2] = $602; - $607 = HEAP32[$n>>2]|0; - $608 = (($607) + 1)|0; - HEAP32[$n>>2] = $608; + $599 = $b; + $600 = $599; + $601 = HEAP32[$600>>2]|0; + $602 = (($599) + 4)|0; + $603 = $602; + $604 = HEAP32[$603>>2]|0; + $605 = (_bitshift64Lshr(($601|0),($604|0),1)|0); + $606 = tempRet0; + $607 = $b; + $608 = $607; + HEAP32[$608>>2] = $605; + $609 = (($607) + 4)|0; + $610 = $609; + HEAP32[$610>>2] = $606; + $611 = HEAP32[$n>>2]|0; + $612 = (($611) + 1)|0; + HEAP32[$n>>2] = $612; } - $609 = HEAP32[$v>>2]|0; - $610 = HEAP32[$n>>2]|0; - $611 = $610; - _sqlite3VdbeChangeP4($609,-1,$611,-14); + $613 = HEAP32[$v>>2]|0; + $614 = HEAP32[$n>>2]|0; + $615 = $614; + _sqlite3VdbeChangeP4($613,-1,$615,-14); } } while(0); - $612 = HEAP32[$v>>2]|0; - $613 = HEAP8[$bFordelete>>0]|0; - _sqlite3VdbeChangeP5($612,$613); + $616 = HEAP32[$v>>2]|0; + $617 = HEAP8[$bFordelete>>0]|0; + _sqlite3VdbeChangeP5($616,$617); break L97; } } while(0); - $614 = HEAP32[$1>>2]|0; - $615 = HEAP32[$iDb>>2]|0; - $616 = HEAP32[$pTab>>2]|0; - $617 = ((($616)) + 28|0); - $618 = HEAP32[$617>>2]|0; - $619 = HEAP32[$pTab>>2]|0; - $620 = HEAP32[$619>>2]|0; - _sqlite3TableLock($614,$615,$618,0,$620); + $618 = HEAP32[$1>>2]|0; + $619 = HEAP32[$iDb>>2]|0; + $620 = HEAP32[$pTab>>2]|0; + $621 = ((($620)) + 28|0); + $622 = HEAP32[$621>>2]|0; + $623 = HEAP32[$pTab>>2]|0; + $624 = HEAP32[$623>>2]|0; + _sqlite3TableLock($618,$619,$622,0,$624); } } } while(0); - $621 = HEAP32[$pLoop>>2]|0; - $622 = ((($621)) + 36|0); - $623 = HEAP32[$622>>2]|0; - $624 = $623 & 512; - $625 = ($624|0)!=(0); + $625 = HEAP32[$pLoop>>2]|0; + $626 = ((($625)) + 36|0); + $627 = HEAP32[$626>>2]|0; + $628 = $627 & 512; + $629 = ($628|0)!=(0); do { - if ($625) { - $626 = HEAP32[$pLoop>>2]|0; - $627 = ((($626)) + 24|0); - $628 = ((($627)) + 4|0); - $629 = HEAP32[$628>>2]|0; - HEAP32[$pIx>>2] = $629; + if ($629) { + $630 = HEAP32[$pLoop>>2]|0; + $631 = ((($630)) + 24|0); + $632 = ((($631)) + 4|0); + $633 = HEAP32[$632>>2]|0; + HEAP32[$pIx>>2] = $633; HEAP32[$op1>>2] = 54; - $630 = HEAP32[$pTab>>2]|0; - $631 = ((($630)) + 42|0); - $632 = HEAP8[$631>>0]|0; - $633 = $632&255; - $634 = $633 & 32; - $635 = ($634|0)==(0); + $634 = HEAP32[$pTab>>2]|0; + $635 = ((($634)) + 42|0); + $636 = HEAP8[$635>>0]|0; + $637 = $636&255; + $638 = $637 & 32; + $639 = ($638|0)==(0); do { - if ($635) { + if ($639) { label = 93; } else { - $636 = HEAP32[$pIx>>2]|0; - $637 = ((($636)) + 55|0); - $638 = HEAP8[$637>>0]|0; - $639 = $638 & 3; - $640 = $639&255; - $641 = ($640|0)==(2); - if (!($641)) { + $640 = HEAP32[$pIx>>2]|0; + $641 = ((($640)) + 55|0); + $642 = HEAP8[$641>>0]|0; + $643 = $642 & 3; + $644 = $643&255; + $645 = ($644|0)==(2); + if (!($645)) { label = 93; break; } - $642 = HEAP16[$6>>1]|0; - $643 = $642&65535; - $644 = $643 & 64; - $645 = ($644|0)!=(0); - if (!($645)) { + $646 = HEAP16[$6>>1]|0; + $647 = $646&65535; + $648 = $647 & 64; + $649 = ($648|0)!=(0); + if (!($649)) { label = 93; break; } - $646 = HEAP32[$pLevel>>2]|0; - $647 = ((($646)) + 4|0); - $648 = HEAP32[$647>>2]|0; - HEAP32[$iIndexCur>>2] = $648; + $650 = HEAP32[$pLevel>>2]|0; + $651 = ((($650)) + 4|0); + $652 = HEAP32[$651>>2]|0; + HEAP32[$iIndexCur>>2] = $652; HEAP32[$op1>>2] = 0; } } while(0); L127: do { if ((label|0) == 93) { label = 0; - $649 = HEAP32[$pWInfo>>2]|0; - $650 = ((($649)) + 38|0); - $651 = HEAP8[$650>>0]|0; - $652 = $651&255; - $653 = ($652|0)!=(0); - if ($653) { - $654 = HEAP32[$pTabItem>>2]|0; - $655 = ((($654)) + 16|0); - $656 = HEAP32[$655>>2]|0; - $657 = ((($656)) + 8|0); - $658 = HEAP32[$657>>2]|0; - HEAP32[$pJ>>2] = $658; - $659 = HEAP32[$7>>2]|0; - HEAP32[$iIndexCur>>2] = $659; + $653 = HEAP32[$pWInfo>>2]|0; + $654 = ((($653)) + 40|0); + $655 = HEAP8[$654>>0]|0; + $656 = $655&255; + $657 = ($656|0)!=(0); + if ($657) { + $658 = HEAP32[$pTabItem>>2]|0; + $659 = ((($658)) + 16|0); + $660 = HEAP32[$659>>2]|0; + $661 = ((($660)) + 8|0); + $662 = HEAP32[$661>>2]|0; + HEAP32[$pJ>>2] = $662; + $663 = HEAP32[$7>>2]|0; + HEAP32[$iIndexCur>>2] = $663; while(1) { - $660 = HEAP32[$pJ>>2]|0; - $661 = ($660|0)!=(0|0); - if (!($661)) { + $664 = HEAP32[$pJ>>2]|0; + $665 = ($664|0)!=(0|0); + if (!($665)) { break; } - $662 = HEAP32[$pJ>>2]|0; - $663 = HEAP32[$pIx>>2]|0; - $664 = ($662|0)!=($663|0); - if (!($664)) { + $666 = HEAP32[$pJ>>2]|0; + $667 = HEAP32[$pIx>>2]|0; + $668 = ($666|0)!=($667|0); + if (!($668)) { break; } - $665 = HEAP32[$iIndexCur>>2]|0; - $666 = (($665) + 1)|0; - HEAP32[$iIndexCur>>2] = $666; - $667 = HEAP32[$pJ>>2]|0; - $668 = ((($667)) + 20|0); - $669 = HEAP32[$668>>2]|0; - HEAP32[$pJ>>2] = $669; + $669 = HEAP32[$iIndexCur>>2]|0; + $670 = (($669) + 1)|0; + HEAP32[$iIndexCur>>2] = $670; + $671 = HEAP32[$pJ>>2]|0; + $672 = ((($671)) + 20|0); + $673 = HEAP32[$672>>2]|0; + HEAP32[$pJ>>2] = $673; } HEAP32[$op1>>2] = 55; - $670 = HEAP32[$iIndexCur>>2]|0; - $671 = HEAP32[$pWInfo>>2]|0; - $672 = ((($671)) + 60|0); - $673 = ((($672)) + 4|0); - HEAP32[$673>>2] = $670; + $674 = HEAP32[$iIndexCur>>2]|0; + $675 = HEAP32[$pWInfo>>2]|0; + $676 = ((($675)) + 60|0); + $677 = ((($676)) + 4|0); + HEAP32[$677>>2] = $674; break; } else { - $674 = HEAP32[$7>>2]|0; - $675 = ($674|0)!=(0); + $678 = HEAP32[$7>>2]|0; + $679 = ($678|0)!=(0); do { - if ($675) { - $676 = HEAP16[$6>>1]|0; - $677 = $676&65535; - $678 = $677 & 64; - $679 = ($678|0)!=(0); - if (!($679)) { + if ($679) { + $680 = HEAP16[$6>>1]|0; + $681 = $680&65535; + $682 = $681 & 64; + $683 = ($682|0)!=(0); + if (!($683)) { break; } - $680 = HEAP32[$7>>2]|0; - HEAP32[$iIndexCur>>2] = $680; - $681 = HEAP16[$6>>1]|0; - $682 = $681&65535; - $683 = $682 & 4096; - $684 = ($683|0)!=(0); - if (!($684)) { + $684 = HEAP32[$7>>2]|0; + HEAP32[$iIndexCur>>2] = $684; + $685 = HEAP16[$6>>1]|0; + $686 = $685&65535; + $687 = $686 & 4096; + $688 = ($687|0)!=(0); + if (!($688)) { break L127; } HEAP32[$op1>>2] = 53; break L127; } } while(0); - $685 = HEAP32[$1>>2]|0; - $686 = ((($685)) + 72|0); - $687 = HEAP32[$686>>2]|0; - $688 = (($687) + 1)|0; - HEAP32[$686>>2] = $688; - HEAP32[$iIndexCur>>2] = $687; + $689 = HEAP32[$1>>2]|0; + $690 = ((($689)) + 72|0); + $691 = HEAP32[$690>>2]|0; + $692 = (($691) + 1)|0; + HEAP32[$690>>2] = $692; + HEAP32[$iIndexCur>>2] = $691; break; } } } while(0); - $689 = HEAP32[$iIndexCur>>2]|0; - $690 = HEAP32[$pLevel>>2]|0; - $691 = ((($690)) + 8|0); - HEAP32[$691>>2] = $689; - $692 = HEAP32[$op1>>2]|0; - $693 = ($692|0)!=(0); - if (!($693)) { + $693 = HEAP32[$iIndexCur>>2]|0; + $694 = HEAP32[$pLevel>>2]|0; + $695 = ((($694)) + 8|0); + HEAP32[$695>>2] = $693; + $696 = HEAP32[$op1>>2]|0; + $697 = ($696|0)!=(0); + if (!($697)) { break; } - $694 = HEAP32[$v>>2]|0; - $695 = HEAP32[$op1>>2]|0; - $696 = HEAP32[$iIndexCur>>2]|0; - $697 = HEAP32[$pIx>>2]|0; - $698 = ((($697)) + 44|0); - $699 = HEAP32[$698>>2]|0; - $700 = HEAP32[$iDb>>2]|0; - (_sqlite3VdbeAddOp3($694,$695,$696,$699,$700)|0); - $701 = HEAP32[$1>>2]|0; - $702 = HEAP32[$pIx>>2]|0; - _sqlite3VdbeSetP4KeyInfo($701,$702); - $703 = HEAP32[$pLoop>>2]|0; - $704 = ((($703)) + 36|0); - $705 = HEAP32[$704>>2]|0; - $706 = $705 & 15; - $707 = ($706|0)!=(0); - if (!($707)) { + $698 = HEAP32[$v>>2]|0; + $699 = HEAP32[$op1>>2]|0; + $700 = HEAP32[$iIndexCur>>2]|0; + $701 = HEAP32[$pIx>>2]|0; + $702 = ((($701)) + 44|0); + $703 = HEAP32[$702>>2]|0; + $704 = HEAP32[$iDb>>2]|0; + (_sqlite3VdbeAddOp3($698,$699,$700,$703,$704)|0); + $705 = HEAP32[$1>>2]|0; + $706 = HEAP32[$pIx>>2]|0; + _sqlite3VdbeSetP4KeyInfo($705,$706); + $707 = HEAP32[$pLoop>>2]|0; + $708 = ((($707)) + 36|0); + $709 = HEAP32[$708>>2]|0; + $710 = $709 & 15; + $711 = ($710|0)!=(0); + if (!($711)) { break; } - $708 = HEAP32[$pLoop>>2]|0; - $709 = ((($708)) + 36|0); - $710 = HEAP32[$709>>2]|0; - $711 = $710 & 32770; - $712 = ($711|0)==(0); - if (!($712)) { + $712 = HEAP32[$pLoop>>2]|0; + $713 = ((($712)) + 36|0); + $714 = HEAP32[$713>>2]|0; + $715 = $714 & 32770; + $716 = ($715|0)==(0); + if (!($716)) { break; } - $713 = HEAP32[$pWInfo>>2]|0; - $714 = ((($713)) + 34|0); - $715 = HEAP16[$714>>1]|0; - $716 = $715&65535; - $717 = $716 & 1; - $718 = ($717|0)==(0); - if (!($718)) { + $717 = HEAP32[$pWInfo>>2]|0; + $718 = ((($717)) + 36|0); + $719 = HEAP16[$718>>1]|0; + $720 = $719&65535; + $721 = $720 & 1; + $722 = ($721|0)==(0); + if (!($722)) { break; } - $719 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($719,2); + $723 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($723,2); } } while(0); - $720 = HEAP32[$iDb>>2]|0; - $721 = ($720|0)>=(0); - if ($721) { - $722 = HEAP32[$1>>2]|0; - $723 = HEAP32[$iDb>>2]|0; - _sqlite3CodeVerifySchema($722,$723); + $724 = HEAP32[$iDb>>2]|0; + $725 = ($724|0)>=(0); + if ($725) { + $726 = HEAP32[$1>>2]|0; + $727 = HEAP32[$iDb>>2]|0; + _sqlite3CodeVerifySchema($726,$727); } - $724 = HEAP32[$ii>>2]|0; - $725 = (($724) + 1)|0; - HEAP32[$ii>>2] = $725; - $726 = HEAP32[$pLevel>>2]|0; - $727 = ((($726)) + 80|0); - HEAP32[$pLevel>>2] = $727; + $728 = HEAP32[$ii>>2]|0; + $729 = (($728) + 1)|0; + HEAP32[$ii>>2] = $729; + $730 = HEAP32[$pLevel>>2]|0; + $731 = ((($730)) + 80|0); + HEAP32[$pLevel>>2] = $731; } - $728 = HEAP32[$v>>2]|0; - $729 = (_sqlite3VdbeCurrentAddr($728)|0); - $730 = HEAP32[$pWInfo>>2]|0; - $731 = ((($730)) + 44|0); - HEAP32[$731>>2] = $729; - $732 = HEAP32[$db>>2]|0; - $733 = ((($732)) + 65|0); - $734 = HEAP8[$733>>0]|0; - $735 = ($734<<24>>24)!=(0); - if (!($735)) { - $736 = $notReady; - $737 = $736; - HEAP32[$737>>2] = -1; - $738 = (($736) + 4)|0; - $739 = $738; - HEAP32[$739>>2] = -1; + $732 = HEAP32[$v>>2]|0; + $733 = (_sqlite3VdbeCurrentAddr($732)|0); + $734 = HEAP32[$pWInfo>>2]|0; + $735 = ((($734)) + 44|0); + HEAP32[$735>>2] = $733; + $736 = HEAP32[$db>>2]|0; + $737 = ((($736)) + 69|0); + $738 = HEAP8[$737>>0]|0; + $739 = ($738<<24>>24)!=(0); + if (!($739)) { + $740 = $notReady; + $741 = $740; + HEAP32[$741>>2] = -1; + $742 = (($740) + 4)|0; + $743 = $742; + HEAP32[$743>>2] = -1; HEAP32[$ii>>2] = 0; while(1) { - $740 = HEAP32[$ii>>2]|0; - $741 = HEAP32[$nTabList>>2]|0; - $742 = ($740|0)<($741|0); - if (!($742)) { + $744 = HEAP32[$ii>>2]|0; + $745 = HEAP32[$nTabList>>2]|0; + $746 = ($744|0)<($745|0); + if (!($746)) { break; } - $743 = HEAP32[$ii>>2]|0; - $744 = HEAP32[$pWInfo>>2]|0; - $745 = ((($744)) + 736|0); - $746 = (($745) + (($743*80)|0)|0); - HEAP32[$pLevel>>2] = $746; - $747 = HEAP32[$pLevel>>2]|0; - $748 = ((($747)) + 64|0); - $749 = HEAP32[$748>>2]|0; - $750 = ((($749)) + 36|0); - $751 = HEAP32[$750>>2]|0; - HEAP32[$wsFlags2>>2] = $751; - $752 = HEAP32[$pLevel>>2]|0; - $753 = ((($752)) + 64|0); - $754 = HEAP32[$753>>2]|0; - $755 = ((($754)) + 36|0); - $756 = HEAP32[$755>>2]|0; - $757 = $756 & 16384; - $758 = ($757|0)!=(0); - if ($758) { - $759 = HEAP32[$1>>2]|0; - $760 = HEAP32[$pWInfo>>2]|0; - $761 = ((($760)) + 328|0); - $762 = HEAP32[$pLevel>>2]|0; - $763 = ((($762)) + 44|0); - $764 = HEAP8[$763>>0]|0; - $765 = $764&255; - $766 = HEAP32[$2>>2]|0; - $767 = ((($766)) + 8|0); - $768 = (($767) + (($765*72)|0)|0); - $769 = $notReady; - $770 = $769; - $771 = HEAP32[$770>>2]|0; - $772 = (($769) + 4)|0; - $773 = $772; - $774 = HEAP32[$773>>2]|0; - $775 = HEAP32[$pLevel>>2]|0; - _constructAutomaticIndex($759,$761,$768,$771,$774,$775); - $776 = HEAP32[$db>>2]|0; - $777 = ((($776)) + 65|0); - $778 = HEAP8[$777>>0]|0; - $779 = ($778<<24>>24)!=(0); - if ($779) { + $747 = HEAP32[$ii>>2]|0; + $748 = HEAP32[$pWInfo>>2]|0; + $749 = ((($748)) + 736|0); + $750 = (($749) + (($747*80)|0)|0); + HEAP32[$pLevel>>2] = $750; + $751 = HEAP32[$pLevel>>2]|0; + $752 = ((($751)) + 64|0); + $753 = HEAP32[$752>>2]|0; + $754 = ((($753)) + 36|0); + $755 = HEAP32[$754>>2]|0; + HEAP32[$wsFlags2>>2] = $755; + $756 = HEAP32[$pLevel>>2]|0; + $757 = ((($756)) + 64|0); + $758 = HEAP32[$757>>2]|0; + $759 = ((($758)) + 36|0); + $760 = HEAP32[$759>>2]|0; + $761 = $760 & 16384; + $762 = ($761|0)!=(0); + if ($762) { + $763 = HEAP32[$1>>2]|0; + $764 = HEAP32[$pWInfo>>2]|0; + $765 = ((($764)) + 328|0); + $766 = HEAP32[$pLevel>>2]|0; + $767 = ((($766)) + 44|0); + $768 = HEAP8[$767>>0]|0; + $769 = $768&255; + $770 = HEAP32[$2>>2]|0; + $771 = ((($770)) + 8|0); + $772 = (($771) + (($769*72)|0)|0); + $773 = $notReady; + $774 = $773; + $775 = HEAP32[$774>>2]|0; + $776 = (($773) + 4)|0; + $777 = $776; + $778 = HEAP32[$777>>2]|0; + $779 = HEAP32[$pLevel>>2]|0; + _constructAutomaticIndex($763,$765,$772,$775,$778,$779); + $780 = HEAP32[$db>>2]|0; + $781 = ((($780)) + 69|0); + $782 = HEAP8[$781>>0]|0; + $783 = ($782<<24>>24)!=(0); + if ($783) { break L15; } } - $780 = HEAP32[$1>>2]|0; - $781 = HEAP32[$2>>2]|0; - $782 = HEAP32[$pLevel>>2]|0; - $783 = HEAP32[$ii>>2]|0; - $784 = HEAP32[$pLevel>>2]|0; - $785 = ((($784)) + 44|0); - $786 = HEAP8[$785>>0]|0; - $787 = $786&255; - $788 = HEAP16[$6>>1]|0; - $789 = (_sqlite3WhereExplainOneScan($780,$781,$782,$783,$787,$788)|0); - HEAP32[$addrExplain>>2] = $789; - $790 = HEAP32[$v>>2]|0; - $791 = (_sqlite3VdbeCurrentAddr($790)|0); - $792 = HEAP32[$pLevel>>2]|0; - $793 = ((($792)) + 32|0); - HEAP32[$793>>2] = $791; - $794 = HEAP32[$pWInfo>>2]|0; - $795 = HEAP32[$ii>>2]|0; - $796 = $notReady; - $797 = $796; - $798 = HEAP32[$797>>2]|0; - $799 = (($796) + 4)|0; - $800 = $799; - $801 = HEAP32[$800>>2]|0; - $802 = (_sqlite3WhereCodeOneLoopStart($794,$795,$798,$801)|0); - $803 = tempRet0; - $804 = $notReady; - $805 = $804; - HEAP32[$805>>2] = $802; - $806 = (($804) + 4)|0; - $807 = $806; - HEAP32[$807>>2] = $803; - $808 = HEAP32[$pLevel>>2]|0; - $809 = ((($808)) + 24|0); - $810 = HEAP32[$809>>2]|0; - $811 = HEAP32[$pWInfo>>2]|0; - $812 = ((($811)) + 48|0); - HEAP32[$812>>2] = $810; - $813 = HEAP32[$wsFlags2>>2]|0; - $814 = $813 & 8192; - $815 = ($814|0)==(0); + $784 = HEAP32[$1>>2]|0; + $785 = HEAP32[$2>>2]|0; + $786 = HEAP32[$pLevel>>2]|0; + $787 = HEAP32[$ii>>2]|0; + $788 = HEAP32[$pLevel>>2]|0; + $789 = ((($788)) + 44|0); + $790 = HEAP8[$789>>0]|0; + $791 = $790&255; + $792 = HEAP16[$6>>1]|0; + $793 = (_sqlite3WhereExplainOneScan($784,$785,$786,$787,$791,$792)|0); + HEAP32[$addrExplain>>2] = $793; + $794 = HEAP32[$v>>2]|0; + $795 = (_sqlite3VdbeCurrentAddr($794)|0); + $796 = HEAP32[$pLevel>>2]|0; + $797 = ((($796)) + 32|0); + HEAP32[$797>>2] = $795; + $798 = HEAP32[$pWInfo>>2]|0; + $799 = HEAP32[$ii>>2]|0; + $800 = $notReady; + $801 = $800; + $802 = HEAP32[$801>>2]|0; + $803 = (($800) + 4)|0; + $804 = $803; + $805 = HEAP32[$804>>2]|0; + $806 = (_sqlite3WhereCodeOneLoopStart($798,$799,$802,$805)|0); + $807 = tempRet0; + $808 = $notReady; + $809 = $808; + HEAP32[$809>>2] = $806; + $810 = (($808) + 4)|0; + $811 = $810; + HEAP32[$811>>2] = $807; + $812 = HEAP32[$pLevel>>2]|0; + $813 = ((($812)) + 24|0); + $814 = HEAP32[$813>>2]|0; + $815 = HEAP32[$pWInfo>>2]|0; + $816 = ((($815)) + 48|0); + HEAP32[$816>>2] = $814; + $817 = HEAP32[$wsFlags2>>2]|0; + $818 = $817 & 8192; + $819 = ($818|0)==(0); do { - if ($815) { - $816 = HEAP16[$6>>1]|0; - $817 = $816&65535; - $818 = $817 & 64; - $819 = ($818|0)==(0); - if (!($819)) { + if ($819) { + $820 = HEAP16[$6>>1]|0; + $821 = $820&65535; + $822 = $821 & 64; + $823 = ($822|0)==(0); + if (!($823)) { break; } } } while(0); - $820 = HEAP32[$ii>>2]|0; - $821 = (($820) + 1)|0; - HEAP32[$ii>>2] = $821; + $824 = HEAP32[$ii>>2]|0; + $825 = (($824) + 1)|0; + HEAP32[$ii>>2] = $825; } - $822 = HEAP32[$pWInfo>>2]|0; - HEAP32[$0>>2] = $822; - $832 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($832|0); + $826 = HEAP32[$pWInfo>>2]|0; + HEAP32[$0>>2] = $826; + $836 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($836|0); } } } } } } while(0); - $823 = HEAP32[$pWInfo>>2]|0; - $824 = ($823|0)!=(0|0); - if ($824) { - $825 = HEAP32[$pWInfo>>2]|0; - $826 = ((($825)) + 56|0); - $827 = HEAP32[$826>>2]|0; - $828 = HEAP32[$1>>2]|0; - $829 = ((($828)) + 428|0); - HEAP32[$829>>2] = $827; - $830 = HEAP32[$db>>2]|0; - $831 = HEAP32[$pWInfo>>2]|0; - _whereInfoFree($830,$831); + $827 = HEAP32[$pWInfo>>2]|0; + $828 = ($827|0)!=(0|0); + if ($828) { + $829 = HEAP32[$pWInfo>>2]|0; + $830 = ((($829)) + 56|0); + $831 = HEAP32[$830>>2]|0; + $832 = HEAP32[$1>>2]|0; + $833 = ((($832)) + 428|0); + HEAP32[$833>>2] = $831; + $834 = HEAP32[$db>>2]|0; + $835 = HEAP32[$pWInfo>>2]|0; + _whereInfoFree($834,$835); } HEAP32[$0>>2] = 0; - $832 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($832|0); + $836 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($836|0); } function _sqlite3WhereEnd($pWInfo) { $pWInfo = $pWInfo|0; @@ -167569,7 +168578,7 @@ function _sqlite3WhereEnd($pWInfo) { $11 = HEAP32[$pParse>>2]|0; _sqlite3ExprCacheClear($11); $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 41|0); + $13 = ((($12)) + 43|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; $16 = (($15) - 1)|0; @@ -167821,7 +168830,7 @@ function _sqlite3WhereEnd($pWInfo) { while(1) { $197 = HEAP32[$i>>2]|0; $198 = HEAP32[$0>>2]|0; - $199 = ((($198)) + 41|0); + $199 = ((($198)) + 43|0); $200 = HEAP8[$199>>0]|0; $201 = $200&255; $202 = ($197|0)<($201|0); @@ -167855,7 +168864,7 @@ function _sqlite3WhereEnd($pWInfo) { $223 = ($222|0)!=(0); if ($223) { $224 = HEAP32[$db>>2]|0; - $225 = ((($224)) + 65|0); + $225 = ((($224)) + 69|0); $226 = HEAP8[$225>>0]|0; $227 = ($226<<24>>24)!=(0); if ($227) { @@ -167892,7 +168901,7 @@ function _sqlite3WhereEnd($pWInfo) { $247 = ($246|0)==(0|0); if ($247) { $248 = HEAP32[$0>>2]|0; - $249 = ((($248)) + 34|0); + $249 = ((($248)) + 36|0); $250 = HEAP16[$249>>1]|0; $251 = $250&65535; $252 = $251 & 16; @@ -167903,7 +168912,7 @@ function _sqlite3WhereEnd($pWInfo) { $256 = HEAP32[$255>>2]|0; HEAP32[$ws>>2] = $256; $257 = HEAP32[$0>>2]|0; - $258 = ((($257)) + 38|0); + $258 = ((($257)) + 40|0); $259 = HEAP8[$258>>0]|0; $260 = $259&255; $261 = ($260|0)==(0); @@ -167974,7 +168983,7 @@ function _sqlite3WhereEnd($pWInfo) { $304 = ($303|0)!=(0|0); if ($304) { $305 = HEAP32[$0>>2]|0; - $306 = ((($305)) + 38|0); + $306 = ((($305)) + 40|0); $307 = HEAP8[$306>>0]|0; $308 = $307&255; $309 = ($308|0)==(0); @@ -167992,7 +169001,7 @@ function _sqlite3WhereEnd($pWInfo) { } } $318 = HEAP32[$db>>2]|0; - $319 = ((($318)) + 65|0); + $319 = ((($318)) + 69|0); $320 = HEAP8[$319>>0]|0; $321 = ($320<<24>>24)!=(0); if (!($321)) { @@ -168254,7 +169263,7 @@ function _whereInfoFree($db,$pWInfo) { while(1) { $4 = HEAP32[$i>>2]|0; $5 = HEAP32[$1>>2]|0; - $6 = ((($5)) + 41|0); + $6 = ((($5)) + 43|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; $9 = ($4|0)<($8|0); @@ -168780,8 +169789,8 @@ function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { $30 = HEAP32[$pTab>>2]|0; $31 = ((($30)) + 4|0); $32 = HEAP32[$31>>2]|0; - $33 = (($32) + (($29*24)|0)|0); - $34 = ((($33)) + 23|0); + $33 = (($32) + ($29<<4)|0); + $34 = ((($33)) + 15|0); $35 = HEAP8[$34>>0]|0; $36 = $35&255; $37 = $36 & 2; @@ -168859,7 +169868,7 @@ function _sqlite3WhereTabFuncArgs($pParse,$pItem,$pWC) { HEAP32[$vararg_buffer>>2] = $48; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $49; - _sqlite3ErrorMsg($46,35704,$vararg_buffer); + _sqlite3ErrorMsg($46,35357,$vararg_buffer); STACKTOP = sp;return; } else if ((label|0) == 13) { @@ -169108,7 +170117,7 @@ function _whereShortCut($pBuilder) { $3 = HEAP32[$2>>2]|0; HEAP32[$pWInfo>>2] = $3; $4 = HEAP32[$pWInfo>>2]|0; - $5 = ((($4)) + 34|0); + $5 = ((($4)) + 36|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 32; @@ -169392,18 +170401,18 @@ function _whereShortCut($pBuilder) { $197 = HEAP32[$196>>2]|0; $198 = $197&255; $199 = HEAP32[$pWInfo>>2]|0; - $200 = ((($199)) + 36|0); + $200 = ((($199)) + 38|0); HEAP8[$200>>0] = $198; } $201 = HEAP32[$pWInfo>>2]|0; - $202 = ((($201)) + 34|0); + $202 = ((($201)) + 36|0); $203 = HEAP16[$202>>1]|0; $204 = $203&65535; $205 = $204 & 1024; $206 = ($205|0)!=(0); if ($206) { $207 = HEAP32[$pWInfo>>2]|0; - $208 = ((($207)) + 40|0); + $208 = ((($207)) + 42|0); HEAP8[$208>>0] = 1; } HEAP32[$0>>2] = 1; @@ -169421,13 +170430,13 @@ function _whereLoopAddAll($pBuilder) { var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iTab = 0, $mExtra = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $iTab = 0, $mPrereq = 0; var $mPrior = 0, $mUnusable = 0, $p = 0, $pEnd = 0, $pItem = 0, $pNew = 0, $pTabList = 0, $pWInfo = 0, $priorJointype = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 60|0; $pWInfo = sp + 56|0; - $mExtra = sp + 16|0; + $mPrereq = sp + 16|0; $mPrior = sp + 8|0; $iTab = sp + 52|0; $pTabList = sp + 48|0; @@ -169443,7 +170452,7 @@ function _whereLoopAddAll($pBuilder) { $1 = HEAP32[$0>>2]|0; $2 = HEAP32[$1>>2]|0; HEAP32[$pWInfo>>2] = $2; - $3 = $mExtra; + $3 = $mPrereq; $4 = $3; HEAP32[$4>>2] = 0; $5 = (($3) + 4)|0; @@ -169460,7 +170469,7 @@ function _whereLoopAddAll($pBuilder) { $13 = HEAP32[$12>>2]|0; HEAP32[$pTabList>>2] = $13; $14 = HEAP32[$pWInfo>>2]|0; - $15 = ((($14)) + 41|0); + $15 = ((($14)) + 43|0); $16 = HEAP8[$15>>0]|0; $17 = $16&255; $18 = HEAP32[$pTabList>>2]|0; @@ -169533,7 +170542,7 @@ function _whereLoopAddAll($pBuilder) { $66 = (($63) + 4)|0; $67 = $66; $68 = HEAP32[$67>>2]|0; - $69 = $mExtra; + $69 = $mPrereq; $70 = $69; HEAP32[$70>>2] = $65; $71 = (($69) + 4)|0; @@ -169614,7 +170623,7 @@ function _whereLoopAddAll($pBuilder) { HEAP32[$p>>2] = $124; } $125 = HEAP32[$0>>2]|0; - $126 = $mExtra; + $126 = $mPrereq; $127 = $126; $128 = HEAP32[$127>>2]|0; $129 = (($126) + 4)|0; @@ -169630,7 +170639,7 @@ function _whereLoopAddAll($pBuilder) { HEAP32[$rc>>2] = $138; } else { $139 = HEAP32[$0>>2]|0; - $140 = $mExtra; + $140 = $mPrereq; $141 = $140; $142 = HEAP32[$141>>2]|0; $143 = (($140) + 4)|0; @@ -169643,7 +170652,7 @@ function _whereLoopAddAll($pBuilder) { $148 = ($147|0)==(0); if ($148) { $149 = HEAP32[$0>>2]|0; - $150 = $mExtra; + $150 = $mPrereq; $151 = $150; $152 = HEAP32[$151>>2]|0; $153 = (($150) + 4)|0; @@ -169687,7 +170696,7 @@ function _whereLoopAddAll($pBuilder) { break; } $185 = HEAP32[$db>>2]|0; - $186 = ((($185)) + 65|0); + $186 = ((($185)) + 69|0); $187 = HEAP8[$186>>0]|0; $188 = $187&255; $189 = ($188|0)!=(0); @@ -169746,10 +170755,11 @@ function _wherePathSolver($pWInfo,$nRowEst) { var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0; var $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0; var $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0; - var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aFrom = 0; - var $aSortCost = 0, $aTo = 0, $db = 0, $iLoop = 0, $ii = 0, $isOrdered = 0, $jj = 0, $maskNew = 0, $mxChoice = 0, $mxCost = 0, $mxI = 0, $mxUnsorted = 0, $nFrom = 0, $nLoop = 0, $nOrder = 0, $nOrderBy = 0, $nOut = 0, $nSpace = 0, $nTo = 0, $notUsed = 0; - var $or$cond = 0, $pFrom = 0, $pLevel = 0, $pParse = 0, $pSpace = 0, $pTo = 0, $pWLoop = 0, $pX = 0, $rCost = 0, $rUnsorted = 0, $rc = 0, $revMask = 0, $revMask1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aFrom = 0, $aSortCost = 0, $aTo = 0, $db = 0, $iLoop = 0, $ii = 0, $isOrdered = 0, $jj = 0, $maskNew = 0, $mxChoice = 0; + var $mxCost = 0, $mxI = 0, $mxUnsorted = 0, $nFrom = 0, $nLoop = 0, $nOrder = 0, $nOrderBy = 0, $nOut = 0, $nSpace = 0, $nTo = 0, $notUsed = 0, $or$cond = 0, $pFrom = 0, $pLevel = 0, $pParse = 0, $pSpace = 0, $pTo = 0, $pWLoop = 0, $pX = 0, $rCost = 0; + var $rUnsorted = 0, $rc = 0, $revMask = 0, $revMask1 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $vararg_buffer = sp + 32|0; @@ -169802,7 +170812,7 @@ function _wherePathSolver($pWInfo,$nRowEst) { $6 = HEAP32[$5>>2]|0; HEAP32[$db>>2] = $6; $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 41|0); + $8 = ((($7)) + 43|0); $9 = HEAP8[$8>>0]|0; $10 = $9&255; HEAP32[$nLoop>>2] = $10; @@ -169862,8 +170872,8 @@ function _wherePathSolver($pWInfo,$nRowEst) { $44 = ($43|0)==(0|0); if ($44) { HEAP32[$0>>2] = 7; - $678 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($678|0); + $689 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($689|0); } $45 = HEAP32[$pSpace>>2]|0; HEAP32[$aTo>>2] = $45; @@ -170026,734 +171036,750 @@ function _wherePathSolver($pWInfo,$nRowEst) { $153 = $151 | $152; if (!($153)) { $154 = HEAP32[$pWLoop>>2]|0; - $155 = ((($154)) + 18|0); - $156 = HEAP16[$155>>1]|0; - $157 = HEAP32[$pWLoop>>2]|0; - $158 = ((($157)) + 20|0); - $159 = HEAP16[$158>>1]|0; - $160 = $159 << 16 >> 16; - $161 = HEAP32[$pFrom>>2]|0; - $162 = ((($161)) + 16|0); - $163 = HEAP16[$162>>1]|0; - $164 = $163 << 16 >> 16; - $165 = (($160) + ($164))|0; - $166 = $165&65535; - $167 = (_sqlite3LogEstAdd($156,$166)|0); - HEAP16[$rUnsorted>>1] = $167; - $168 = HEAP16[$rUnsorted>>1]|0; - $169 = HEAP32[$pFrom>>2]|0; - $170 = ((($169)) + 20|0); - $171 = HEAP16[$170>>1]|0; - $172 = (_sqlite3LogEstAdd($168,$171)|0); - HEAP16[$rUnsorted>>1] = $172; - $173 = HEAP32[$pFrom>>2]|0; - $174 = ((($173)) + 16|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175 << 16 >> 16; - $177 = HEAP32[$pWLoop>>2]|0; - $178 = ((($177)) + 22|0); - $179 = HEAP16[$178>>1]|0; - $180 = $179 << 16 >> 16; - $181 = (($176) + ($180))|0; - $182 = $181&65535; - HEAP16[$nOut>>1] = $182; + $155 = ((($154)) + 36|0); + $156 = HEAP32[$155>>2]|0; + $157 = $156 & 16384; + $158 = ($157|0)!=(0); + if ($158) { + $159 = HEAP32[$pFrom>>2]|0; + $160 = ((($159)) + 16|0); + $161 = HEAP16[$160>>1]|0; + $162 = $161 << 16 >> 16; + $163 = ($162|0)<(10); + if ($163) { + break; + } + } + $164 = HEAP32[$pWLoop>>2]|0; + $165 = ((($164)) + 18|0); + $166 = HEAP16[$165>>1]|0; + $167 = HEAP32[$pWLoop>>2]|0; + $168 = ((($167)) + 20|0); + $169 = HEAP16[$168>>1]|0; + $170 = $169 << 16 >> 16; + $171 = HEAP32[$pFrom>>2]|0; + $172 = ((($171)) + 16|0); + $173 = HEAP16[$172>>1]|0; + $174 = $173 << 16 >> 16; + $175 = (($170) + ($174))|0; + $176 = $175&65535; + $177 = (_sqlite3LogEstAdd($166,$176)|0); + HEAP16[$rUnsorted>>1] = $177; + $178 = HEAP16[$rUnsorted>>1]|0; + $179 = HEAP32[$pFrom>>2]|0; + $180 = ((($179)) + 20|0); + $181 = HEAP16[$180>>1]|0; + $182 = (_sqlite3LogEstAdd($178,$181)|0); + HEAP16[$rUnsorted>>1] = $182; $183 = HEAP32[$pFrom>>2]|0; - $184 = $183; - $185 = $184; - $186 = HEAP32[$185>>2]|0; - $187 = (($184) + 4)|0; - $188 = $187; - $189 = HEAP32[$188>>2]|0; - $190 = HEAP32[$pWLoop>>2]|0; - $191 = ((($190)) + 8|0); - $192 = $191; - $193 = $192; - $194 = HEAP32[$193>>2]|0; - $195 = (($192) + 4)|0; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = $186 | $194; - $199 = $189 | $197; - $200 = $maskNew; - $201 = $200; - HEAP32[$201>>2] = $198; - $202 = (($200) + 4)|0; + $184 = ((($183)) + 16|0); + $185 = HEAP16[$184>>1]|0; + $186 = $185 << 16 >> 16; + $187 = HEAP32[$pWLoop>>2]|0; + $188 = ((($187)) + 22|0); + $189 = HEAP16[$188>>1]|0; + $190 = $189 << 16 >> 16; + $191 = (($186) + ($190))|0; + $192 = $191&65535; + HEAP16[$nOut>>1] = $192; + $193 = HEAP32[$pFrom>>2]|0; + $194 = $193; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = HEAP32[$pWLoop>>2]|0; + $201 = ((($200)) + 8|0); + $202 = $201; $203 = $202; - HEAP32[$203>>2] = $199; - $204 = HEAP8[$isOrdered>>0]|0; - $205 = $204 << 24 >> 24; - $206 = ($205|0)<(0); - if ($206) { - $207 = HEAP32[$1>>2]|0; - $208 = HEAP32[$1>>2]|0; - $209 = ((($208)) + 8|0); - $210 = HEAP32[$209>>2]|0; - $211 = HEAP32[$pFrom>>2]|0; - $212 = HEAP32[$1>>2]|0; - $213 = ((($212)) + 34|0); - $214 = HEAP16[$213>>1]|0; - $215 = HEAP32[$iLoop>>2]|0; - $216 = $215&65535; - $217 = HEAP32[$pWLoop>>2]|0; - $218 = (_wherePathSatisfiesOrderBy($207,$210,$211,$214,$216,$217,$revMask)|0); - HEAP8[$isOrdered>>0] = $218; + $204 = HEAP32[$203>>2]|0; + $205 = (($202) + 4)|0; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = $196 | $204; + $209 = $199 | $207; + $210 = $maskNew; + $211 = $210; + HEAP32[$211>>2] = $208; + $212 = (($210) + 4)|0; + $213 = $212; + HEAP32[$213>>2] = $209; + $214 = HEAP8[$isOrdered>>0]|0; + $215 = $214 << 24 >> 24; + $216 = ($215|0)<(0); + if ($216) { + $217 = HEAP32[$1>>2]|0; + $218 = HEAP32[$1>>2]|0; + $219 = ((($218)) + 8|0); + $220 = HEAP32[$219>>2]|0; + $221 = HEAP32[$pFrom>>2]|0; + $222 = HEAP32[$1>>2]|0; + $223 = ((($222)) + 36|0); + $224 = HEAP16[$223>>1]|0; + $225 = HEAP32[$iLoop>>2]|0; + $226 = $225&65535; + $227 = HEAP32[$pWLoop>>2]|0; + $228 = (_wherePathSatisfiesOrderBy($217,$220,$221,$224,$226,$227,$revMask)|0); + HEAP8[$isOrdered>>0] = $228; } else { - $219 = HEAP32[$pFrom>>2]|0; - $220 = ((($219)) + 8|0); - $221 = $220; - $222 = $221; - $223 = HEAP32[$222>>2]|0; - $224 = (($221) + 4)|0; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = $revMask; - $228 = $227; - HEAP32[$228>>2] = $223; - $229 = (($227) + 4)|0; - $230 = $229; - HEAP32[$230>>2] = $226; + $229 = HEAP32[$pFrom>>2]|0; + $230 = ((($229)) + 8|0); + $231 = $230; + $232 = $231; + $233 = HEAP32[$232>>2]|0; + $234 = (($231) + 4)|0; + $235 = $234; + $236 = HEAP32[$235>>2]|0; + $237 = $revMask; + $238 = $237; + HEAP32[$238>>2] = $233; + $239 = (($237) + 4)|0; + $240 = $239; + HEAP32[$240>>2] = $236; } - $231 = HEAP8[$isOrdered>>0]|0; - $232 = $231 << 24 >> 24; - $233 = ($232|0)>=(0); - if ($233) { - $234 = HEAP8[$isOrdered>>0]|0; - $235 = $234 << 24 >> 24; - $236 = HEAP32[$nOrderBy>>2]|0; - $237 = ($235|0)<($236|0); - if ($237) { - $238 = HEAP8[$isOrdered>>0]|0; - $239 = $238 << 24 >> 24; - $240 = HEAP32[$aSortCost>>2]|0; - $241 = (($240) + ($239<<1)|0); - $242 = HEAP16[$241>>1]|0; - $243 = $242 << 16 >> 16; - $244 = ($243|0)==(0); - if ($244) { - $245 = HEAP16[$2>>1]|0; - $246 = HEAP32[$nOrderBy>>2]|0; - $247 = HEAP8[$isOrdered>>0]|0; - $248 = $247 << 24 >> 24; - $249 = (_whereSortingCost($245,$246,$248)|0); - $250 = HEAP8[$isOrdered>>0]|0; - $251 = $250 << 24 >> 24; - $252 = HEAP32[$aSortCost>>2]|0; - $253 = (($252) + ($251<<1)|0); - HEAP16[$253>>1] = $249; + $241 = HEAP8[$isOrdered>>0]|0; + $242 = $241 << 24 >> 24; + $243 = ($242|0)>=(0); + if ($243) { + $244 = HEAP8[$isOrdered>>0]|0; + $245 = $244 << 24 >> 24; + $246 = HEAP32[$nOrderBy>>2]|0; + $247 = ($245|0)<($246|0); + if ($247) { + $248 = HEAP8[$isOrdered>>0]|0; + $249 = $248 << 24 >> 24; + $250 = HEAP32[$aSortCost>>2]|0; + $251 = (($250) + ($249<<1)|0); + $252 = HEAP16[$251>>1]|0; + $253 = $252 << 16 >> 16; + $254 = ($253|0)==(0); + if ($254) { + $255 = HEAP32[$1>>2]|0; + $256 = HEAP16[$2>>1]|0; + $257 = HEAP32[$nOrderBy>>2]|0; + $258 = HEAP8[$isOrdered>>0]|0; + $259 = $258 << 24 >> 24; + $260 = (_whereSortingCost($255,$256,$257,$259)|0); + $261 = HEAP8[$isOrdered>>0]|0; + $262 = $261 << 24 >> 24; + $263 = HEAP32[$aSortCost>>2]|0; + $264 = (($263) + ($262<<1)|0); + HEAP16[$264>>1] = $260; } - $254 = HEAP16[$rUnsorted>>1]|0; - $255 = HEAP8[$isOrdered>>0]|0; - $256 = $255 << 24 >> 24; - $257 = HEAP32[$aSortCost>>2]|0; - $258 = (($257) + ($256<<1)|0); - $259 = HEAP16[$258>>1]|0; - $260 = (_sqlite3LogEstAdd($254,$259)|0); - HEAP16[$rCost>>1] = $260; + $265 = HEAP16[$rUnsorted>>1]|0; + $266 = HEAP8[$isOrdered>>0]|0; + $267 = $266 << 24 >> 24; + $268 = HEAP32[$aSortCost>>2]|0; + $269 = (($268) + ($267<<1)|0); + $270 = HEAP16[$269>>1]|0; + $271 = (_sqlite3LogEstAdd($265,$270)|0); + HEAP16[$rCost>>1] = $271; } else { - label = 34; + label = 36; } } else { - label = 34; + label = 36; } - if ((label|0) == 34) { + if ((label|0) == 36) { label = 0; - $261 = HEAP16[$rUnsorted>>1]|0; - HEAP16[$rCost>>1] = $261; + $272 = HEAP16[$rUnsorted>>1]|0; + HEAP16[$rCost>>1] = $272; } HEAP32[$jj>>2] = 0; - $262 = HEAP32[$aTo>>2]|0; - HEAP32[$pTo>>2] = $262; + $273 = HEAP32[$aTo>>2]|0; + HEAP32[$pTo>>2] = $273; while(1) { - $263 = HEAP32[$jj>>2]|0; - $264 = HEAP32[$nTo>>2]|0; - $265 = ($263|0)<($264|0); - if (!($265)) { + $274 = HEAP32[$jj>>2]|0; + $275 = HEAP32[$nTo>>2]|0; + $276 = ($274|0)<($275|0); + if (!($276)) { break; } - $266 = HEAP32[$pTo>>2]|0; - $267 = $266; - $268 = $267; - $269 = HEAP32[$268>>2]|0; - $270 = (($267) + 4)|0; - $271 = $270; - $272 = HEAP32[$271>>2]|0; - $273 = $maskNew; - $274 = $273; - $275 = HEAP32[$274>>2]|0; - $276 = (($273) + 4)|0; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = ($269|0)==($275|0); - $280 = ($272|0)==($278|0); - $281 = $279 & $280; - if ($281) { - $282 = HEAP32[$pTo>>2]|0; - $283 = ((($282)) + 22|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284 << 24 >> 24; - $286 = HEAP8[$isOrdered>>0]|0; - $287 = $286 << 24 >> 24; - $288 = $285 ^ $287; - $289 = $288 & 128; - $290 = ($289|0)==(0); - if ($290) { + $277 = HEAP32[$pTo>>2]|0; + $278 = $277; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = $maskNew; + $285 = $284; + $286 = HEAP32[$285>>2]|0; + $287 = (($284) + 4)|0; + $288 = $287; + $289 = HEAP32[$288>>2]|0; + $290 = ($280|0)==($286|0); + $291 = ($283|0)==($289|0); + $292 = $290 & $291; + if ($292) { + $293 = HEAP32[$pTo>>2]|0; + $294 = ((($293)) + 22|0); + $295 = HEAP8[$294>>0]|0; + $296 = $295 << 24 >> 24; + $297 = HEAP8[$isOrdered>>0]|0; + $298 = $297 << 24 >> 24; + $299 = $296 ^ $298; + $300 = $299 & 128; + $301 = ($300|0)==(0); + if ($301) { break; } } - $291 = HEAP32[$jj>>2]|0; - $292 = (($291) + 1)|0; - HEAP32[$jj>>2] = $292; - $293 = HEAP32[$pTo>>2]|0; - $294 = ((($293)) + 32|0); - HEAP32[$pTo>>2] = $294; + $302 = HEAP32[$jj>>2]|0; + $303 = (($302) + 1)|0; + HEAP32[$jj>>2] = $303; + $304 = HEAP32[$pTo>>2]|0; + $305 = ((($304)) + 32|0); + HEAP32[$pTo>>2] = $305; } - $295 = HEAP32[$jj>>2]|0; - $296 = HEAP32[$nTo>>2]|0; - $297 = ($295|0)>=($296|0); + $306 = HEAP32[$jj>>2]|0; + $307 = HEAP32[$nTo>>2]|0; + $308 = ($306|0)>=($307|0); do { - if ($297) { - $298 = HEAP32[$nTo>>2]|0; - $299 = HEAP32[$mxChoice>>2]|0; - $300 = ($298|0)>=($299|0); + if ($308) { + $309 = HEAP32[$nTo>>2]|0; + $310 = HEAP32[$mxChoice>>2]|0; + $311 = ($309|0)>=($310|0); do { - if ($300) { - $301 = HEAP16[$rCost>>1]|0; - $302 = $301 << 16 >> 16; - $303 = HEAP16[$mxCost>>1]|0; - $304 = $303 << 16 >> 16; - $305 = ($302|0)>($304|0); - if ($305) { + if ($311) { + $312 = HEAP16[$rCost>>1]|0; + $313 = $312 << 16 >> 16; + $314 = HEAP16[$mxCost>>1]|0; + $315 = $314 << 16 >> 16; + $316 = ($313|0)>($315|0); + if ($316) { break L36; } - $306 = HEAP16[$rCost>>1]|0; - $307 = $306 << 16 >> 16; - $308 = HEAP16[$mxCost>>1]|0; - $309 = $308 << 16 >> 16; - $310 = ($307|0)==($309|0); - if (!($310)) { + $317 = HEAP16[$rCost>>1]|0; + $318 = $317 << 16 >> 16; + $319 = HEAP16[$mxCost>>1]|0; + $320 = $319 << 16 >> 16; + $321 = ($318|0)==($320|0); + if (!($321)) { break; } - $311 = HEAP16[$rUnsorted>>1]|0; - $312 = $311 << 16 >> 16; - $313 = HEAP16[$mxUnsorted>>1]|0; - $314 = $313 << 16 >> 16; - $315 = ($312|0)>=($314|0); - if ($315) { + $322 = HEAP16[$rUnsorted>>1]|0; + $323 = $322 << 16 >> 16; + $324 = HEAP16[$mxUnsorted>>1]|0; + $325 = $324 << 16 >> 16; + $326 = ($323|0)>=($325|0); + if ($326) { break L36; } } } while(0); - $316 = HEAP32[$nTo>>2]|0; - $317 = HEAP32[$mxChoice>>2]|0; - $318 = ($316|0)<($317|0); - if ($318) { - $319 = HEAP32[$nTo>>2]|0; - $320 = (($319) + 1)|0; - HEAP32[$nTo>>2] = $320; - HEAP32[$jj>>2] = $319; + $327 = HEAP32[$nTo>>2]|0; + $328 = HEAP32[$mxChoice>>2]|0; + $329 = ($327|0)<($328|0); + if ($329) { + $330 = HEAP32[$nTo>>2]|0; + $331 = (($330) + 1)|0; + HEAP32[$nTo>>2] = $331; + HEAP32[$jj>>2] = $330; } else { - $321 = HEAP32[$mxI>>2]|0; - HEAP32[$jj>>2] = $321; + $332 = HEAP32[$mxI>>2]|0; + HEAP32[$jj>>2] = $332; } - $322 = HEAP32[$jj>>2]|0; - $323 = HEAP32[$aTo>>2]|0; - $324 = (($323) + ($322<<5)|0); - HEAP32[$pTo>>2] = $324; + $333 = HEAP32[$jj>>2]|0; + $334 = HEAP32[$aTo>>2]|0; + $335 = (($334) + ($333<<5)|0); + HEAP32[$pTo>>2] = $335; } else { - $325 = HEAP32[$pTo>>2]|0; - $326 = ((($325)) + 18|0); - $327 = HEAP16[$326>>1]|0; - $328 = $327 << 16 >> 16; - $329 = HEAP16[$rCost>>1]|0; - $330 = $329 << 16 >> 16; - $331 = ($328|0)<($330|0); - if ($331) { + $336 = HEAP32[$pTo>>2]|0; + $337 = ((($336)) + 18|0); + $338 = HEAP16[$337>>1]|0; + $339 = $338 << 16 >> 16; + $340 = HEAP16[$rCost>>1]|0; + $341 = $340 << 16 >> 16; + $342 = ($339|0)<($341|0); + if ($342) { break L36; } - $332 = HEAP32[$pTo>>2]|0; - $333 = ((($332)) + 18|0); - $334 = HEAP16[$333>>1]|0; - $335 = $334 << 16 >> 16; - $336 = HEAP16[$rCost>>1]|0; - $337 = $336 << 16 >> 16; - $338 = ($335|0)==($337|0); - if (!($338)) { + $343 = HEAP32[$pTo>>2]|0; + $344 = ((($343)) + 18|0); + $345 = HEAP16[$344>>1]|0; + $346 = $345 << 16 >> 16; + $347 = HEAP16[$rCost>>1]|0; + $348 = $347 << 16 >> 16; + $349 = ($346|0)==($348|0); + if (!($349)) { break; } - $339 = HEAP32[$pTo>>2]|0; - $340 = ((($339)) + 16|0); - $341 = HEAP16[$340>>1]|0; - $342 = $341 << 16 >> 16; - $343 = HEAP16[$nOut>>1]|0; - $344 = $343 << 16 >> 16; - $345 = ($342|0)<=($344|0); - if ($345) { + $350 = HEAP32[$pTo>>2]|0; + $351 = ((($350)) + 16|0); + $352 = HEAP16[$351>>1]|0; + $353 = $352 << 16 >> 16; + $354 = HEAP16[$nOut>>1]|0; + $355 = $354 << 16 >> 16; + $356 = ($353|0)<=($355|0); + if ($356) { break L36; } } } while(0); - $346 = HEAP32[$pFrom>>2]|0; - $347 = $346; - $348 = $347; - $349 = HEAP32[$348>>2]|0; - $350 = (($347) + 4)|0; - $351 = $350; - $352 = HEAP32[$351>>2]|0; - $353 = HEAP32[$pWLoop>>2]|0; - $354 = ((($353)) + 8|0); - $355 = $354; - $356 = $355; - $357 = HEAP32[$356>>2]|0; - $358 = (($355) + 4)|0; + $357 = HEAP32[$pFrom>>2]|0; + $358 = $357; $359 = $358; $360 = HEAP32[$359>>2]|0; - $361 = $349 | $357; - $362 = $352 | $360; - $363 = HEAP32[$pTo>>2]|0; - $364 = $363; - $365 = $364; - HEAP32[$365>>2] = $361; - $366 = (($364) + 4)|0; + $361 = (($358) + 4)|0; + $362 = $361; + $363 = HEAP32[$362>>2]|0; + $364 = HEAP32[$pWLoop>>2]|0; + $365 = ((($364)) + 8|0); + $366 = $365; $367 = $366; - HEAP32[$367>>2] = $362; - $368 = $revMask; - $369 = $368; - $370 = HEAP32[$369>>2]|0; - $371 = (($368) + 4)|0; - $372 = $371; - $373 = HEAP32[$372>>2]|0; + $368 = HEAP32[$367>>2]|0; + $369 = (($366) + 4)|0; + $370 = $369; + $371 = HEAP32[$370>>2]|0; + $372 = $360 | $368; + $373 = $363 | $371; $374 = HEAP32[$pTo>>2]|0; - $375 = ((($374)) + 8|0); + $375 = $374; $376 = $375; - $377 = $376; - HEAP32[$377>>2] = $370; - $378 = (($376) + 4)|0; - $379 = $378; - HEAP32[$379>>2] = $373; - $380 = HEAP16[$nOut>>1]|0; - $381 = HEAP32[$pTo>>2]|0; - $382 = ((($381)) + 16|0); - HEAP16[$382>>1] = $380; - $383 = HEAP16[$rCost>>1]|0; - $384 = HEAP32[$pTo>>2]|0; - $385 = ((($384)) + 18|0); - HEAP16[$385>>1] = $383; - $386 = HEAP16[$rUnsorted>>1]|0; - $387 = HEAP32[$pTo>>2]|0; - $388 = ((($387)) + 20|0); - HEAP16[$388>>1] = $386; - $389 = HEAP8[$isOrdered>>0]|0; - $390 = HEAP32[$pTo>>2]|0; - $391 = ((($390)) + 22|0); - HEAP8[$391>>0] = $389; + HEAP32[$376>>2] = $372; + $377 = (($375) + 4)|0; + $378 = $377; + HEAP32[$378>>2] = $373; + $379 = $revMask; + $380 = $379; + $381 = HEAP32[$380>>2]|0; + $382 = (($379) + 4)|0; + $383 = $382; + $384 = HEAP32[$383>>2]|0; + $385 = HEAP32[$pTo>>2]|0; + $386 = ((($385)) + 8|0); + $387 = $386; + $388 = $387; + HEAP32[$388>>2] = $381; + $389 = (($387) + 4)|0; + $390 = $389; + HEAP32[$390>>2] = $384; + $391 = HEAP16[$nOut>>1]|0; $392 = HEAP32[$pTo>>2]|0; - $393 = ((($392)) + 24|0); - $394 = HEAP32[$393>>2]|0; - $395 = HEAP32[$pFrom>>2]|0; - $396 = ((($395)) + 24|0); - $397 = HEAP32[$396>>2]|0; - $398 = HEAP32[$iLoop>>2]|0; - $399 = $398<<2; - _memcpy(($394|0),($397|0),($399|0))|0; - $400 = HEAP32[$pWLoop>>2]|0; - $401 = HEAP32[$iLoop>>2]|0; - $402 = HEAP32[$pTo>>2]|0; - $403 = ((($402)) + 24|0); - $404 = HEAP32[$403>>2]|0; - $405 = (($404) + ($401<<2)|0); - HEAP32[$405>>2] = $400; - $406 = HEAP32[$nTo>>2]|0; - $407 = HEAP32[$mxChoice>>2]|0; - $408 = ($406|0)>=($407|0); - if ($408) { + $393 = ((($392)) + 16|0); + HEAP16[$393>>1] = $391; + $394 = HEAP16[$rCost>>1]|0; + $395 = HEAP32[$pTo>>2]|0; + $396 = ((($395)) + 18|0); + HEAP16[$396>>1] = $394; + $397 = HEAP16[$rUnsorted>>1]|0; + $398 = HEAP32[$pTo>>2]|0; + $399 = ((($398)) + 20|0); + HEAP16[$399>>1] = $397; + $400 = HEAP8[$isOrdered>>0]|0; + $401 = HEAP32[$pTo>>2]|0; + $402 = ((($401)) + 22|0); + HEAP8[$402>>0] = $400; + $403 = HEAP32[$pTo>>2]|0; + $404 = ((($403)) + 24|0); + $405 = HEAP32[$404>>2]|0; + $406 = HEAP32[$pFrom>>2]|0; + $407 = ((($406)) + 24|0); + $408 = HEAP32[$407>>2]|0; + $409 = HEAP32[$iLoop>>2]|0; + $410 = $409<<2; + _memcpy(($405|0),($408|0),($410|0))|0; + $411 = HEAP32[$pWLoop>>2]|0; + $412 = HEAP32[$iLoop>>2]|0; + $413 = HEAP32[$pTo>>2]|0; + $414 = ((($413)) + 24|0); + $415 = HEAP32[$414>>2]|0; + $416 = (($415) + ($412<<2)|0); + HEAP32[$416>>2] = $411; + $417 = HEAP32[$nTo>>2]|0; + $418 = HEAP32[$mxChoice>>2]|0; + $419 = ($417|0)>=($418|0); + if ($419) { HEAP32[$mxI>>2] = 0; - $409 = HEAP32[$aTo>>2]|0; - $410 = ((($409)) + 18|0); - $411 = HEAP16[$410>>1]|0; - HEAP16[$mxCost>>1] = $411; - $412 = HEAP32[$aTo>>2]|0; - $413 = ((($412)) + 16|0); - $414 = HEAP16[$413>>1]|0; - HEAP16[$mxUnsorted>>1] = $414; + $420 = HEAP32[$aTo>>2]|0; + $421 = ((($420)) + 18|0); + $422 = HEAP16[$421>>1]|0; + HEAP16[$mxCost>>1] = $422; + $423 = HEAP32[$aTo>>2]|0; + $424 = ((($423)) + 16|0); + $425 = HEAP16[$424>>1]|0; + HEAP16[$mxUnsorted>>1] = $425; HEAP32[$jj>>2] = 1; - $415 = HEAP32[$aTo>>2]|0; - $416 = ((($415)) + 32|0); - HEAP32[$pTo>>2] = $416; + $426 = HEAP32[$aTo>>2]|0; + $427 = ((($426)) + 32|0); + HEAP32[$pTo>>2] = $427; while(1) { - $417 = HEAP32[$jj>>2]|0; - $418 = HEAP32[$mxChoice>>2]|0; - $419 = ($417|0)<($418|0); - if (!($419)) { + $428 = HEAP32[$jj>>2]|0; + $429 = HEAP32[$mxChoice>>2]|0; + $430 = ($428|0)<($429|0); + if (!($430)) { break L36; } - $420 = HEAP32[$pTo>>2]|0; - $421 = ((($420)) + 18|0); - $422 = HEAP16[$421>>1]|0; - $423 = $422 << 16 >> 16; - $424 = HEAP16[$mxCost>>1]|0; - $425 = $424 << 16 >> 16; - $426 = ($423|0)>($425|0); + $431 = HEAP32[$pTo>>2]|0; + $432 = ((($431)) + 18|0); + $433 = HEAP16[$432>>1]|0; + $434 = $433 << 16 >> 16; + $435 = HEAP16[$mxCost>>1]|0; + $436 = $435 << 16 >> 16; + $437 = ($434|0)>($436|0); do { - if ($426) { - label = 58; + if ($437) { + label = 60; } else { - $427 = HEAP32[$pTo>>2]|0; - $428 = ((($427)) + 18|0); - $429 = HEAP16[$428>>1]|0; - $430 = $429 << 16 >> 16; - $431 = HEAP16[$mxCost>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($430|0)==($432|0); - if (!($433)) { + $438 = HEAP32[$pTo>>2]|0; + $439 = ((($438)) + 18|0); + $440 = HEAP16[$439>>1]|0; + $441 = $440 << 16 >> 16; + $442 = HEAP16[$mxCost>>1]|0; + $443 = $442 << 16 >> 16; + $444 = ($441|0)==($443|0); + if (!($444)) { break; } - $434 = HEAP32[$pTo>>2]|0; - $435 = ((($434)) + 20|0); - $436 = HEAP16[$435>>1]|0; - $437 = $436 << 16 >> 16; - $438 = HEAP16[$mxUnsorted>>1]|0; - $439 = $438 << 16 >> 16; - $440 = ($437|0)>($439|0); - if ($440) { - label = 58; + $445 = HEAP32[$pTo>>2]|0; + $446 = ((($445)) + 20|0); + $447 = HEAP16[$446>>1]|0; + $448 = $447 << 16 >> 16; + $449 = HEAP16[$mxUnsorted>>1]|0; + $450 = $449 << 16 >> 16; + $451 = ($448|0)>($450|0); + if ($451) { + label = 60; } } } while(0); - if ((label|0) == 58) { + if ((label|0) == 60) { label = 0; - $441 = HEAP32[$pTo>>2]|0; - $442 = ((($441)) + 18|0); - $443 = HEAP16[$442>>1]|0; - HEAP16[$mxCost>>1] = $443; - $444 = HEAP32[$pTo>>2]|0; - $445 = ((($444)) + 20|0); - $446 = HEAP16[$445>>1]|0; - HEAP16[$mxUnsorted>>1] = $446; - $447 = HEAP32[$jj>>2]|0; - HEAP32[$mxI>>2] = $447; + $452 = HEAP32[$pTo>>2]|0; + $453 = ((($452)) + 18|0); + $454 = HEAP16[$453>>1]|0; + HEAP16[$mxCost>>1] = $454; + $455 = HEAP32[$pTo>>2]|0; + $456 = ((($455)) + 20|0); + $457 = HEAP16[$456>>1]|0; + HEAP16[$mxUnsorted>>1] = $457; + $458 = HEAP32[$jj>>2]|0; + HEAP32[$mxI>>2] = $458; } - $448 = HEAP32[$jj>>2]|0; - $449 = (($448) + 1)|0; - HEAP32[$jj>>2] = $449; - $450 = HEAP32[$pTo>>2]|0; - $451 = ((($450)) + 32|0); - HEAP32[$pTo>>2] = $451; + $459 = HEAP32[$jj>>2]|0; + $460 = (($459) + 1)|0; + HEAP32[$jj>>2] = $460; + $461 = HEAP32[$pTo>>2]|0; + $462 = ((($461)) + 32|0); + HEAP32[$pTo>>2] = $462; } } } } } while(0); - $452 = HEAP32[$pWLoop>>2]|0; - $453 = ((($452)) + 52|0); - $454 = HEAP32[$453>>2]|0; - HEAP32[$pWLoop>>2] = $454; - } - $455 = HEAP32[$ii>>2]|0; - $456 = (($455) + 1)|0; - HEAP32[$ii>>2] = $456; - $457 = HEAP32[$pFrom>>2]|0; - $458 = ((($457)) + 32|0); - HEAP32[$pFrom>>2] = $458; - } - $459 = HEAP32[$aTo>>2]|0; - HEAP32[$pFrom>>2] = $459; - $460 = HEAP32[$aFrom>>2]|0; - HEAP32[$aTo>>2] = $460; - $461 = HEAP32[$pFrom>>2]|0; - HEAP32[$aFrom>>2] = $461; - $462 = HEAP32[$nTo>>2]|0; - HEAP32[$nFrom>>2] = $462; - $463 = HEAP32[$iLoop>>2]|0; - $464 = (($463) + 1)|0; - HEAP32[$iLoop>>2] = $464; - } - $465 = HEAP32[$nFrom>>2]|0; - $466 = ($465|0)==(0); - if ($466) { - $467 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($467,35564,$vararg_buffer); - $468 = HEAP32[$db>>2]|0; - $469 = HEAP32[$pSpace>>2]|0; - _sqlite3DbFree($468,$469); + $463 = HEAP32[$pWLoop>>2]|0; + $464 = ((($463)) + 52|0); + $465 = HEAP32[$464>>2]|0; + HEAP32[$pWLoop>>2] = $465; + } + $466 = HEAP32[$ii>>2]|0; + $467 = (($466) + 1)|0; + HEAP32[$ii>>2] = $467; + $468 = HEAP32[$pFrom>>2]|0; + $469 = ((($468)) + 32|0); + HEAP32[$pFrom>>2] = $469; + } + $470 = HEAP32[$aTo>>2]|0; + HEAP32[$pFrom>>2] = $470; + $471 = HEAP32[$aFrom>>2]|0; + HEAP32[$aTo>>2] = $471; + $472 = HEAP32[$pFrom>>2]|0; + HEAP32[$aFrom>>2] = $472; + $473 = HEAP32[$nTo>>2]|0; + HEAP32[$nFrom>>2] = $473; + $474 = HEAP32[$iLoop>>2]|0; + $475 = (($474) + 1)|0; + HEAP32[$iLoop>>2] = $475; + } + $476 = HEAP32[$nFrom>>2]|0; + $477 = ($476|0)==(0); + if ($477) { + $478 = HEAP32[$pParse>>2]|0; + _sqlite3ErrorMsg($478,35265,$vararg_buffer); + $479 = HEAP32[$db>>2]|0; + $480 = HEAP32[$pSpace>>2]|0; + _sqlite3DbFree($479,$480); HEAP32[$0>>2] = 1; - $678 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($678|0); + $689 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($689|0); } - $470 = HEAP32[$aFrom>>2]|0; - HEAP32[$pFrom>>2] = $470; + $481 = HEAP32[$aFrom>>2]|0; + HEAP32[$pFrom>>2] = $481; HEAP32[$ii>>2] = 1; while(1) { - $471 = HEAP32[$ii>>2]|0; - $472 = HEAP32[$nFrom>>2]|0; - $473 = ($471|0)<($472|0); - if (!($473)) { - break; - } - $474 = HEAP32[$pFrom>>2]|0; - $475 = ((($474)) + 18|0); - $476 = HEAP16[$475>>1]|0; - $477 = $476 << 16 >> 16; - $478 = HEAP32[$ii>>2]|0; - $479 = HEAP32[$aFrom>>2]|0; - $480 = (($479) + ($478<<5)|0); - $481 = ((($480)) + 18|0); - $482 = HEAP16[$481>>1]|0; - $483 = $482 << 16 >> 16; - $484 = ($477|0)>($483|0); - if ($484) { - $485 = HEAP32[$ii>>2]|0; - $486 = HEAP32[$aFrom>>2]|0; - $487 = (($486) + ($485<<5)|0); - HEAP32[$pFrom>>2] = $487; - } - $488 = HEAP32[$ii>>2]|0; - $489 = (($488) + 1)|0; - HEAP32[$ii>>2] = $489; + $482 = HEAP32[$ii>>2]|0; + $483 = HEAP32[$nFrom>>2]|0; + $484 = ($482|0)<($483|0); + if (!($484)) { + break; + } + $485 = HEAP32[$pFrom>>2]|0; + $486 = ((($485)) + 18|0); + $487 = HEAP16[$486>>1]|0; + $488 = $487 << 16 >> 16; + $489 = HEAP32[$ii>>2]|0; + $490 = HEAP32[$aFrom>>2]|0; + $491 = (($490) + ($489<<5)|0); + $492 = ((($491)) + 18|0); + $493 = HEAP16[$492>>1]|0; + $494 = $493 << 16 >> 16; + $495 = ($488|0)>($494|0); + if ($495) { + $496 = HEAP32[$ii>>2]|0; + $497 = HEAP32[$aFrom>>2]|0; + $498 = (($497) + ($496<<5)|0); + HEAP32[$pFrom>>2] = $498; + } + $499 = HEAP32[$ii>>2]|0; + $500 = (($499) + 1)|0; + HEAP32[$ii>>2] = $500; } HEAP32[$iLoop>>2] = 0; while(1) { - $490 = HEAP32[$iLoop>>2]|0; - $491 = HEAP32[$nLoop>>2]|0; - $492 = ($490|0)<($491|0); - $493 = HEAP32[$1>>2]|0; - if (!($492)) { - break; - } - $494 = ((($493)) + 736|0); - $495 = HEAP32[$iLoop>>2]|0; - $496 = (($494) + (($495*80)|0)|0); - HEAP32[$pLevel>>2] = $496; - $497 = HEAP32[$iLoop>>2]|0; - $498 = HEAP32[$pFrom>>2]|0; - $499 = ((($498)) + 24|0); - $500 = HEAP32[$499>>2]|0; - $501 = (($500) + ($497<<2)|0); - $502 = HEAP32[$501>>2]|0; - HEAP32[$pWLoop>>2] = $502; - $503 = HEAP32[$pLevel>>2]|0; - $504 = ((($503)) + 64|0); - HEAP32[$504>>2] = $502; - $505 = HEAP32[$pWLoop>>2]|0; - $506 = ((($505)) + 16|0); - $507 = HEAP8[$506>>0]|0; - $508 = HEAP32[$pLevel>>2]|0; - $509 = ((($508)) + 44|0); - HEAP8[$509>>0] = $507; - $510 = HEAP32[$pLevel>>2]|0; - $511 = ((($510)) + 44|0); - $512 = HEAP8[$511>>0]|0; - $513 = $512&255; - $514 = HEAP32[$1>>2]|0; - $515 = ((($514)) + 4|0); - $516 = HEAP32[$515>>2]|0; - $517 = ((($516)) + 8|0); - $518 = (($517) + (($513*72)|0)|0); - $519 = ((($518)) + 44|0); - $520 = HEAP32[$519>>2]|0; + $501 = HEAP32[$iLoop>>2]|0; + $502 = HEAP32[$nLoop>>2]|0; + $503 = ($501|0)<($502|0); + $504 = HEAP32[$1>>2]|0; + if (!($503)) { + break; + } + $505 = ((($504)) + 736|0); + $506 = HEAP32[$iLoop>>2]|0; + $507 = (($505) + (($506*80)|0)|0); + HEAP32[$pLevel>>2] = $507; + $508 = HEAP32[$iLoop>>2]|0; + $509 = HEAP32[$pFrom>>2]|0; + $510 = ((($509)) + 24|0); + $511 = HEAP32[$510>>2]|0; + $512 = (($511) + ($508<<2)|0); + $513 = HEAP32[$512>>2]|0; + HEAP32[$pWLoop>>2] = $513; + $514 = HEAP32[$pLevel>>2]|0; + $515 = ((($514)) + 64|0); + HEAP32[$515>>2] = $513; + $516 = HEAP32[$pWLoop>>2]|0; + $517 = ((($516)) + 16|0); + $518 = HEAP8[$517>>0]|0; + $519 = HEAP32[$pLevel>>2]|0; + $520 = ((($519)) + 44|0); + HEAP8[$520>>0] = $518; $521 = HEAP32[$pLevel>>2]|0; - $522 = ((($521)) + 4|0); - HEAP32[$522>>2] = $520; - $523 = HEAP32[$iLoop>>2]|0; - $524 = (($523) + 1)|0; - HEAP32[$iLoop>>2] = $524; - } - $525 = ((($493)) + 34|0); - $526 = HEAP16[$525>>1]|0; - $527 = $526&65535; - $528 = $527 & 1024; - $529 = ($528|0)!=(0); - if ($529) { - $530 = HEAP32[$1>>2]|0; - $531 = ((($530)) + 34|0); - $532 = HEAP16[$531>>1]|0; - $533 = $532&65535; - $534 = $533 & 512; - $535 = ($534|0)==(0); - if ($535) { - $536 = HEAP32[$1>>2]|0; - $537 = ((($536)) + 40|0); - $538 = HEAP8[$537>>0]|0; - $539 = $538&255; - $540 = ($539|0)==(0); - if ($540) { - $541 = HEAP16[$2>>1]|0; - $542 = $541 << 16 >> 16; - $543 = ($542|0)!=(0); - if ($543) { - $544 = HEAP32[$1>>2]|0; - $545 = HEAP32[$1>>2]|0; - $546 = ((($545)) + 12|0); - $547 = HEAP32[$546>>2]|0; - $548 = HEAP32[$pFrom>>2]|0; - $549 = HEAP32[$nLoop>>2]|0; - $550 = (($549) - 1)|0; - $551 = $550&65535; - $552 = HEAP32[$nLoop>>2]|0; - $553 = (($552) - 1)|0; - $554 = HEAP32[$pFrom>>2]|0; - $555 = ((($554)) + 24|0); - $556 = HEAP32[$555>>2]|0; - $557 = (($556) + ($553<<2)|0); + $522 = ((($521)) + 44|0); + $523 = HEAP8[$522>>0]|0; + $524 = $523&255; + $525 = HEAP32[$1>>2]|0; + $526 = ((($525)) + 4|0); + $527 = HEAP32[$526>>2]|0; + $528 = ((($527)) + 8|0); + $529 = (($528) + (($524*72)|0)|0); + $530 = ((($529)) + 44|0); + $531 = HEAP32[$530>>2]|0; + $532 = HEAP32[$pLevel>>2]|0; + $533 = ((($532)) + 4|0); + HEAP32[$533>>2] = $531; + $534 = HEAP32[$iLoop>>2]|0; + $535 = (($534) + 1)|0; + HEAP32[$iLoop>>2] = $535; + } + $536 = ((($504)) + 36|0); + $537 = HEAP16[$536>>1]|0; + $538 = $537&65535; + $539 = $538 & 1024; + $540 = ($539|0)!=(0); + if ($540) { + $541 = HEAP32[$1>>2]|0; + $542 = ((($541)) + 36|0); + $543 = HEAP16[$542>>1]|0; + $544 = $543&65535; + $545 = $544 & 512; + $546 = ($545|0)==(0); + if ($546) { + $547 = HEAP32[$1>>2]|0; + $548 = ((($547)) + 42|0); + $549 = HEAP8[$548>>0]|0; + $550 = $549&255; + $551 = ($550|0)==(0); + if ($551) { + $552 = HEAP16[$2>>1]|0; + $553 = $552 << 16 >> 16; + $554 = ($553|0)!=(0); + if ($554) { + $555 = HEAP32[$1>>2]|0; + $556 = HEAP32[$1>>2]|0; + $557 = ((($556)) + 12|0); $558 = HEAP32[$557>>2]|0; - $559 = (_wherePathSatisfiesOrderBy($544,$547,$548,512,$551,$558,$notUsed)|0); - $560 = $559 << 24 >> 24; - HEAP32[$rc>>2] = $560; - $561 = HEAP32[$rc>>2]|0; - $562 = HEAP32[$1>>2]|0; - $563 = ((($562)) + 12|0); - $564 = HEAP32[$563>>2]|0; - $565 = HEAP32[$564>>2]|0; - $566 = ($561|0)==($565|0); - if ($566) { - $567 = HEAP32[$1>>2]|0; - $568 = ((($567)) + 40|0); - HEAP8[$568>>0] = 2; - } - } - } - } - } - $569 = HEAP32[$1>>2]|0; - $570 = ((($569)) + 8|0); - $571 = HEAP32[$570>>2]|0; - $572 = ($571|0)!=(0|0); - if ($572) { - $573 = HEAP32[$1>>2]|0; - $574 = ((($573)) + 34|0); - $575 = HEAP16[$574>>1]|0; - $576 = $575&65535; - $577 = $576 & 512; - $578 = ($577|0)!=(0); - $579 = HEAP32[$pFrom>>2]|0; - $580 = ((($579)) + 22|0); - $581 = HEAP8[$580>>0]|0; - if ($578) { - $582 = $581 << 24 >> 24; - $583 = HEAP32[$1>>2]|0; - $584 = ((($583)) + 8|0); - $585 = HEAP32[$584>>2]|0; - $586 = HEAP32[$585>>2]|0; - $587 = ($582|0)==($586|0); - if ($587) { - $588 = HEAP32[$1>>2]|0; - $589 = ((($588)) + 40|0); - HEAP8[$589>>0] = 2; + $559 = HEAP32[$pFrom>>2]|0; + $560 = HEAP32[$nLoop>>2]|0; + $561 = (($560) - 1)|0; + $562 = $561&65535; + $563 = HEAP32[$nLoop>>2]|0; + $564 = (($563) - 1)|0; + $565 = HEAP32[$pFrom>>2]|0; + $566 = ((($565)) + 24|0); + $567 = HEAP32[$566>>2]|0; + $568 = (($567) + ($564<<2)|0); + $569 = HEAP32[$568>>2]|0; + $570 = (_wherePathSatisfiesOrderBy($555,$558,$559,512,$562,$569,$notUsed)|0); + $571 = $570 << 24 >> 24; + HEAP32[$rc>>2] = $571; + $572 = HEAP32[$rc>>2]|0; + $573 = HEAP32[$1>>2]|0; + $574 = ((($573)) + 12|0); + $575 = HEAP32[$574>>2]|0; + $576 = HEAP32[$575>>2]|0; + $577 = ($572|0)==($576|0); + if ($577) { + $578 = HEAP32[$1>>2]|0; + $579 = ((($578)) + 42|0); + HEAP8[$579>>0] = 2; + } + } + } + } + } + $580 = HEAP32[$1>>2]|0; + $581 = ((($580)) + 8|0); + $582 = HEAP32[$581>>2]|0; + $583 = ($582|0)!=(0|0); + if ($583) { + $584 = HEAP32[$1>>2]|0; + $585 = ((($584)) + 36|0); + $586 = HEAP16[$585>>1]|0; + $587 = $586&65535; + $588 = $587 & 512; + $589 = ($588|0)!=(0); + $590 = HEAP32[$pFrom>>2]|0; + $591 = ((($590)) + 22|0); + $592 = HEAP8[$591>>0]|0; + if ($589) { + $593 = $592 << 24 >> 24; + $594 = HEAP32[$1>>2]|0; + $595 = ((($594)) + 8|0); + $596 = HEAP32[$595>>2]|0; + $597 = HEAP32[$596>>2]|0; + $598 = ($593|0)==($597|0); + if ($598) { + $599 = HEAP32[$1>>2]|0; + $600 = ((($599)) + 42|0); + HEAP8[$600>>0] = 2; } } else { - $590 = HEAP32[$1>>2]|0; - $591 = ((($590)) + 36|0); - HEAP8[$591>>0] = $581; - $592 = HEAP32[$1>>2]|0; - $593 = ((($592)) + 36|0); - $594 = HEAP8[$593>>0]|0; - $595 = $594 << 24 >> 24; - $596 = ($595|0)<(0); - if ($596) { - $597 = HEAP32[$1>>2]|0; - $598 = ((($597)) + 36|0); - HEAP8[$598>>0] = 0; - } - $599 = HEAP32[$pFrom>>2]|0; - $600 = ((($599)) + 8|0); - $601 = $600; - $602 = $601; - $603 = HEAP32[$602>>2]|0; - $604 = (($601) + 4)|0; - $605 = $604; - $606 = HEAP32[$605>>2]|0; - $607 = HEAP32[$1>>2]|0; - $608 = ((($607)) + 24|0); - $609 = $608; - $610 = $609; - HEAP32[$610>>2] = $603; - $611 = (($609) + 4)|0; + $601 = HEAP32[$1>>2]|0; + $602 = ((($601)) + 38|0); + HEAP8[$602>>0] = $592; + $603 = HEAP32[$1>>2]|0; + $604 = ((($603)) + 38|0); + $605 = HEAP8[$604>>0]|0; + $606 = $605 << 24 >> 24; + $607 = ($606|0)<(0); + if ($607) { + $608 = HEAP32[$1>>2]|0; + $609 = ((($608)) + 38|0); + HEAP8[$609>>0] = 0; + } + $610 = HEAP32[$pFrom>>2]|0; + $611 = ((($610)) + 8|0); $612 = $611; - HEAP32[$612>>2] = $606; - } - $613 = HEAP32[$1>>2]|0; - $614 = ((($613)) + 34|0); - $615 = HEAP16[$614>>1]|0; - $616 = $615&65535; - $617 = $616 & 2048; - $618 = ($617|0)!=(0); - if ($618) { - $619 = HEAP32[$1>>2]|0; - $620 = ((($619)) + 36|0); - $621 = HEAP8[$620>>0]|0; - $622 = $621 << 24 >> 24; - $623 = HEAP32[$1>>2]|0; - $624 = ((($623)) + 8|0); - $625 = HEAP32[$624>>2]|0; - $626 = HEAP32[$625>>2]|0; - $627 = ($622|0)==($626|0); - $628 = HEAP32[$nLoop>>2]|0; - $629 = ($628|0)>(0); - $or$cond = $627 & $629; + $613 = $612; + $614 = HEAP32[$613>>2]|0; + $615 = (($612) + 4)|0; + $616 = $615; + $617 = HEAP32[$616>>2]|0; + $618 = HEAP32[$1>>2]|0; + $619 = ((($618)) + 24|0); + $620 = $619; + $621 = $620; + HEAP32[$621>>2] = $614; + $622 = (($620) + 4)|0; + $623 = $622; + HEAP32[$623>>2] = $617; + } + $624 = HEAP32[$1>>2]|0; + $625 = ((($624)) + 36|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626&65535; + $628 = $627 & 2048; + $629 = ($628|0)!=(0); + if ($629) { + $630 = HEAP32[$1>>2]|0; + $631 = ((($630)) + 38|0); + $632 = HEAP8[$631>>0]|0; + $633 = $632 << 24 >> 24; + $634 = HEAP32[$1>>2]|0; + $635 = ((($634)) + 8|0); + $636 = HEAP32[$635>>2]|0; + $637 = HEAP32[$636>>2]|0; + $638 = ($633|0)==($637|0); + $639 = HEAP32[$nLoop>>2]|0; + $640 = ($639|0)>(0); + $or$cond = $638 & $640; if ($or$cond) { - $630 = $revMask1; - $631 = $630; - HEAP32[$631>>2] = 0; - $632 = (($630) + 4)|0; - $633 = $632; - HEAP32[$633>>2] = 0; - $634 = HEAP32[$1>>2]|0; - $635 = HEAP32[$1>>2]|0; - $636 = ((($635)) + 8|0); - $637 = HEAP32[$636>>2]|0; - $638 = HEAP32[$pFrom>>2]|0; - $639 = HEAP32[$nLoop>>2]|0; - $640 = (($639) - 1)|0; - $641 = $640&65535; - $642 = HEAP32[$nLoop>>2]|0; - $643 = (($642) - 1)|0; - $644 = HEAP32[$pFrom>>2]|0; - $645 = ((($644)) + 24|0); - $646 = HEAP32[$645>>2]|0; - $647 = (($646) + ($643<<2)|0); + $641 = $revMask1; + $642 = $641; + HEAP32[$642>>2] = 0; + $643 = (($641) + 4)|0; + $644 = $643; + HEAP32[$644>>2] = 0; + $645 = HEAP32[$1>>2]|0; + $646 = HEAP32[$1>>2]|0; + $647 = ((($646)) + 8|0); $648 = HEAP32[$647>>2]|0; - $649 = (_wherePathSatisfiesOrderBy($634,$637,$638,0,$641,$648,$revMask1)|0); - $650 = $649 << 24 >> 24; - HEAP32[$nOrder>>2] = $650; - $651 = HEAP32[$nOrder>>2]|0; - $652 = HEAP32[$1>>2]|0; - $653 = ((($652)) + 8|0); - $654 = HEAP32[$653>>2]|0; - $655 = HEAP32[$654>>2]|0; - $656 = ($651|0)==($655|0); - if ($656) { - $657 = HEAP32[$1>>2]|0; - $658 = ((($657)) + 37|0); - HEAP8[$658>>0] = 1; - $659 = $revMask1; - $660 = $659; - $661 = HEAP32[$660>>2]|0; - $662 = (($659) + 4)|0; - $663 = $662; - $664 = HEAP32[$663>>2]|0; - $665 = HEAP32[$1>>2]|0; - $666 = ((($665)) + 24|0); - $667 = $666; - $668 = $667; - HEAP32[$668>>2] = $661; - $669 = (($667) + 4)|0; - $670 = $669; - HEAP32[$670>>2] = $664; - } - } - } - } - $671 = HEAP32[$pFrom>>2]|0; - $672 = ((($671)) + 16|0); - $673 = HEAP16[$672>>1]|0; - $674 = HEAP32[$1>>2]|0; - $675 = ((($674)) + 32|0); - HEAP16[$675>>1] = $673; - $676 = HEAP32[$db>>2]|0; - $677 = HEAP32[$pSpace>>2]|0; - _sqlite3DbFree($676,$677); + $649 = HEAP32[$pFrom>>2]|0; + $650 = HEAP32[$nLoop>>2]|0; + $651 = (($650) - 1)|0; + $652 = $651&65535; + $653 = HEAP32[$nLoop>>2]|0; + $654 = (($653) - 1)|0; + $655 = HEAP32[$pFrom>>2]|0; + $656 = ((($655)) + 24|0); + $657 = HEAP32[$656>>2]|0; + $658 = (($657) + ($654<<2)|0); + $659 = HEAP32[$658>>2]|0; + $660 = (_wherePathSatisfiesOrderBy($645,$648,$649,0,$652,$659,$revMask1)|0); + $661 = $660 << 24 >> 24; + HEAP32[$nOrder>>2] = $661; + $662 = HEAP32[$nOrder>>2]|0; + $663 = HEAP32[$1>>2]|0; + $664 = ((($663)) + 8|0); + $665 = HEAP32[$664>>2]|0; + $666 = HEAP32[$665>>2]|0; + $667 = ($662|0)==($666|0); + if ($667) { + $668 = HEAP32[$1>>2]|0; + $669 = ((($668)) + 39|0); + HEAP8[$669>>0] = 1; + $670 = $revMask1; + $671 = $670; + $672 = HEAP32[$671>>2]|0; + $673 = (($670) + 4)|0; + $674 = $673; + $675 = HEAP32[$674>>2]|0; + $676 = HEAP32[$1>>2]|0; + $677 = ((($676)) + 24|0); + $678 = $677; + $679 = $678; + HEAP32[$679>>2] = $672; + $680 = (($678) + 4)|0; + $681 = $680; + HEAP32[$681>>2] = $675; + } + } + } + } + $682 = HEAP32[$pFrom>>2]|0; + $683 = ((($682)) + 16|0); + $684 = HEAP16[$683>>1]|0; + $685 = HEAP32[$1>>2]|0; + $686 = ((($685)) + 32|0); + HEAP16[$686>>1] = $684; + $687 = HEAP32[$db>>2]|0; + $688 = HEAP32[$pSpace>>2]|0; + _sqlite3DbFree($687,$688); HEAP32[$0>>2] = 0; - $678 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($678|0); + $689 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($689|0); } function _sqlite3WhereExprListUsage($pMaskSet,$pList) { $pMaskSet = $pMaskSet|0; @@ -171049,12 +172075,12 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $105 = HEAP32[$pTable>>2]|0; $106 = ((($105)) + 4|0); $107 = HEAP32[$106>>2]|0; - $108 = (($107) + (($104*24)|0)|0); + $108 = (($107) + ($104<<4)|0); $109 = HEAP32[$108>>2]|0; HEAP32[$vararg_buffer>>2] = $103; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $109; - _sqlite3_log(284,35527,$vararg_buffer); + _sqlite3_log(284,35228,$vararg_buffer); HEAP8[$sentWarning>>0] = 1; } $110 = $idxCols; @@ -171255,7 +172281,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $254 = ((($253)) + 4|0); HEAP32[$254>>2] = $251; $255 = HEAP32[$pIdx>>2]|0; - HEAP32[$255>>2] = 35553; + HEAP32[$255>>2] = 35254; $256 = HEAP32[$pTable>>2]|0; $257 = HEAP32[$pIdx>>2]|0; $258 = ((($257)) + 12|0); @@ -171376,7 +172402,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $350 = HEAP32[$349>>2]|0; $356 = $350; } else { - $356 = 35690; + $356 = 35343; } $351 = HEAP32[$n>>2]|0; $352 = HEAP32[$pIdx>>2]|0; @@ -171429,7 +172455,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $387 = ((($386)) + 32|0); $388 = HEAP32[$387>>2]|0; $389 = (($388) + ($385<<2)|0); - HEAP32[$389>>2] = 35690; + HEAP32[$389>>2] = 35343; $390 = HEAP32[$n>>2]|0; $391 = (($390) + 1)|0; HEAP32[$n>>2] = $391; @@ -171476,7 +172502,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $421 = ((($420)) + 32|0); $422 = HEAP32[$421>>2]|0; $423 = (($422) + ($419<<2)|0); - HEAP32[$423>>2] = 35690; + HEAP32[$423>>2] = 35343; $424 = HEAP32[$n>>2]|0; $425 = (($424) + 1)|0; HEAP32[$n>>2] = $425; @@ -171497,7 +172523,7 @@ function _constructAutomaticIndex($pParse,$pWC,$pSrc,$0,$1,$pLevel) { $435 = ((($434)) + 32|0); $436 = HEAP32[$435>>2]|0; $437 = (($436) + ($433<<2)|0); - HEAP32[$437>>2] = 35690; + HEAP32[$437>>2] = 35343; $438 = HEAP32[$2>>2]|0; $439 = ((($438)) + 72|0); $440 = HEAP32[$439>>2]|0; @@ -171794,7 +172820,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w _sqlite3StrAccumInit($str,$57,$zBuf,100,1000000000); $58 = HEAP32[$isSearch>>2]|0; $59 = ($58|0)!=(0); - $60 = $59 ? 35264 : 35271; + $60 = $59 ? 34965 : 34972; _sqlite3StrAccumAppendAll($str,$60); $61 = HEAP32[$pItem>>2]|0; $62 = ((($61)) + 20|0); @@ -171806,12 +172832,12 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $67 = HEAP8[$66>>0]|0; $68 = $67&255; HEAP32[$vararg_buffer>>2] = $68; - _sqlite3XPrintf($str,35276,$vararg_buffer); + _sqlite3XPrintf($str,34977,$vararg_buffer); } else { $69 = ((($65)) + 8|0); $70 = HEAP32[$69>>2]|0; HEAP32[$vararg_buffer1>>2] = $70; - _sqlite3XPrintf($str,35289,$vararg_buffer1); + _sqlite3XPrintf($str,34990,$vararg_buffer1); } $71 = HEAP32[$pItem>>2]|0; $72 = ((($71)) + 12|0); @@ -171822,7 +172848,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $76 = ((($75)) + 12|0); $77 = HEAP32[$76>>2]|0; HEAP32[$vararg_buffer4>>2] = $77; - _sqlite3XPrintf($str,35299,$vararg_buffer4); + _sqlite3XPrintf($str,35000,$vararg_buffer4); } $78 = HEAP32[$flags>>2]|0; $79 = $78 & 1280; @@ -171856,7 +172882,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $99 = HEAP32[$isSearch>>2]|0; $100 = ($99|0)!=(0); if ($100) { - HEAP32[$zFmt>>2] = 35306; + HEAP32[$zFmt>>2] = 35007; } } else { label = 19; @@ -171868,24 +172894,24 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $102 = $101 & 131072; $103 = ($102|0)!=(0); if ($103) { - HEAP32[$zFmt>>2] = 35318; + HEAP32[$zFmt>>2] = 35019; break; } $104 = HEAP32[$flags>>2]|0; $105 = $104 & 16384; $106 = ($105|0)!=(0); if ($106) { - HEAP32[$zFmt>>2] = 35351; + HEAP32[$zFmt>>2] = 35052; break; } $107 = HEAP32[$flags>>2]|0; $108 = $107 & 64; $109 = ($108|0)!=(0); if ($109) { - HEAP32[$zFmt>>2] = 35376; + HEAP32[$zFmt>>2] = 35077; break; } else { - HEAP32[$zFmt>>2] = 35394; + HEAP32[$zFmt>>2] = 35095; break; } } @@ -171893,7 +172919,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $110 = HEAP32[$zFmt>>2]|0; $111 = ($110|0)!=(0|0); if ($111) { - _sqlite3StrAccumAppend($str,35403,7); + _sqlite3StrAccumAppend($str,35104,7); $112 = HEAP32[$zFmt>>2]|0; $113 = HEAP32[$pIdx>>2]|0; $114 = HEAP32[$113>>2]|0; @@ -171916,30 +172942,30 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w $124 = ($123|0)!=(0); do { if ($124) { - HEAP32[$zRangeOp>>2] = 35411; + HEAP32[$zRangeOp>>2] = 35112; } else { $125 = HEAP32[$flags>>2]|0; $126 = $125 & 48; $127 = ($126|0)==(48); if ($127) { - HEAP32[$zRangeOp>>2] = 35413; + HEAP32[$zRangeOp>>2] = 35114; break; } $128 = HEAP32[$flags>>2]|0; $129 = $128 & 32; $130 = ($129|0)!=(0); if ($130) { - HEAP32[$zRangeOp>>2] = 35427; + HEAP32[$zRangeOp>>2] = 35128; break; } else { - HEAP32[$zRangeOp>>2] = 35429; + HEAP32[$zRangeOp>>2] = 35130; break; } } } while(0); $131 = HEAP32[$zRangeOp>>2]|0; HEAP32[$vararg_buffer10>>2] = $131; - _sqlite3XPrintf($str,35431,$vararg_buffer10); + _sqlite3XPrintf($str,35132,$vararg_buffer10); break; } } @@ -171957,7 +172983,7 @@ function _sqlite3WhereExplainOneScan($pParse,$pTabList,$pLevel,$iLevel,$iFrom,$w HEAP32[$vararg_buffer13>>2] = $137; $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); HEAP32[$vararg_ptr16>>2] = $141; - _sqlite3XPrintf($str,35469,$vararg_buffer13); + _sqlite3XPrintf($str,35170,$vararg_buffer13); } } } while(0); @@ -172020,8 +173046,12 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { var $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0; var $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0; var $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0; - var $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0; + var $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0; + var $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0; + var $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0; + var $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0; + var $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0; var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0; var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0; var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0; @@ -172068,40 +173098,44 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { var $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0; var $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0; var $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $addrBrk = 0, $addrCont = 0, $addrExplain = 0, $addrNotFound = 0, $addrNxt = 0, $bRev = 0, $bSeekPastNull = 0, $bStopAtNull = 0, $cEndAff = 0, $db = 0, $endEq = 0, $iCol = 0; - var $iCovCur = 0, $iCur = 0, $iIdxCur = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $jmp1 = 0, $k = 0, $memEndValue = 0, $nConstraint = 0, $nConstraint2 = 0, $nEq = 0; - var $nExtraReg = 0, $nNotReady = 0, $nPk = 0, $omitTable = 0, $op = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCov = 0, $pE = 0, $pE7 = 0, $pEAlt = 0, $pEnd = 0, $pExpr = 0, $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOrExpr = 0, $pOrTab = 0, $pOrTerm = 0; - var $pOrWc = 0, $pParse = 0, $pPk = 0, $pPk5 = 0, $pPk6 = 0, $pRangeEnd = 0, $pRangeStart = 0, $pRight = 0, $pRight4 = 0, $pStart = 0, $pSubLoop = 0, $pSubWInfo = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pWC = 0, $pX = 0, $pX1 = 0, $r = 0, $r1 = 0; - var $rTemp = 0, $regBase = 0, $regReturn = 0, $regRowid = 0, $regRowset = 0, $regYield = 0, $skipLikeAddr = 0, $start = 0, $startEq = 0, $start_constraints = 0, $t = 0, $t3 = 0, $testOp = 0, $untestedTerms = 0, $v = 0, $wctrlFlags = 0, $zStartAff = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; + var $iCovCur = 0, $iCur = 0, $iIdxCur = 0, $iIn = 0, $iLoopBody = 0, $iPk = 0, $iReg = 0, $iReleaseReg = 0, $iRetInit = 0, $iRowidReg = 0, $iSet = 0, $iTarget = 0, $iTerm = 0, $ii = 0, $j = 0, $jmp1 = 0, $k = 0, $memEndValue = 0, $nConstraint = 0, $nConstraint2 = 0; + var $nEq = 0, $nExtraReg = 0, $nNotReady = 0, $nPk = 0, $omitTable = 0, $op = 0, $origSrc = 0, $pAlt = 0, $pAndExpr = 0, $pCompare = 0, $pCov = 0, $pE = 0, $pE8 = 0, $pEAlt = 0, $pEnd = 0, $pExpr = 0, $pIdx = 0, $pLevel = 0, $pLoop = 0, $pOp = 0; + var $pOrExpr = 0, $pOrTab = 0, $pOrTerm = 0, $pOrWc = 0, $pParse = 0, $pPk = 0, $pPk6 = 0, $pPk7 = 0, $pRangeEnd = 0, $pRangeStart = 0, $pRight = 0, $pRight4 = 0, $pRight5 = 0, $pStart = 0, $pSubLoop = 0, $pSubWInfo = 0, $pTab = 0, $pTabItem = 0, $pTerm = 0, $pWC = 0; + var $pX = 0, $pX1 = 0, $r = 0, $r1 = 0, $rTemp = 0, $regBase = 0, $regReturn = 0, $regRowid = 0, $regRowset = 0, $regYield = 0, $skipLikeAddr = 0, $start = 0, $startEq = 0, $start_constraints = 0, $t = 0, $t3 = 0, $testOp = 0, $untestedTerms = 0, $v = 0, $wctrlFlags = 0; + var $zStartAff = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 368|0; + STACKTOP = STACKTOP + 384|0; $2 = sp + 8|0; - $3 = sp + 352|0; - $4 = sp + 348|0; + $3 = sp + 368|0; + $4 = sp + 364|0; $5 = sp; - $j = sp + 344|0; - $k = sp + 340|0; - $iCur = sp + 336|0; - $addrNxt = sp + 332|0; - $omitTable = sp + 328|0; - $bRev = sp + 324|0; - $pLevel = sp + 320|0; - $pLoop = sp + 316|0; - $pWC = sp + 312|0; - $pTerm = sp + 308|0; - $pParse = sp + 304|0; - $db = sp + 300|0; - $v = sp + 296|0; - $pTabItem = sp + 292|0; - $addrBrk = sp + 288|0; - $addrCont = sp + 284|0; - $iRowidReg = sp + 280|0; - $iReleaseReg = sp + 276|0; - $regYield = sp + 272|0; - $iReg = sp + 268|0; - $addrNotFound = sp + 264|0; - $nConstraint = sp + 260|0; - $iTarget = sp + 256|0; + $j = sp + 360|0; + $k = sp + 356|0; + $iCur = sp + 352|0; + $addrNxt = sp + 348|0; + $omitTable = sp + 344|0; + $bRev = sp + 340|0; + $pLevel = sp + 336|0; + $pLoop = sp + 332|0; + $pWC = sp + 328|0; + $pTerm = sp + 324|0; + $pParse = sp + 320|0; + $db = sp + 316|0; + $v = sp + 312|0; + $pTabItem = sp + 308|0; + $addrBrk = sp + 304|0; + $addrCont = sp + 300|0; + $iRowidReg = sp + 296|0; + $iReleaseReg = sp + 292|0; + $regYield = sp + 288|0; + $iReg = sp + 284|0; + $addrNotFound = sp + 280|0; + $nConstraint = sp + 276|0; + $iIn = sp + 272|0; + $iTarget = sp + 268|0; + $pCompare = sp + 264|0; + $pRight = sp + 260|0; + $pOp = sp + 256|0; $testOp = sp + 252|0; $start = sp + 248|0; $memEndValue = sp + 244|0; @@ -172111,7 +173145,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $r1 = sp + 228|0; $rTemp = sp + 224|0; $pX1 = sp + 220|0; - $nEq = sp + 358|0; + $nEq = sp + 374|0; $regBase = sp + 216|0; $pRangeStart = sp + 212|0; $pRangeEnd = sp + 208|0; @@ -172124,13 +173158,13 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $nExtraReg = sp + 180|0; $op = sp + 176|0; $zStartAff = sp + 172|0; - $cEndAff = sp + 363|0; - $bSeekPastNull = sp + 362|0; - $bStopAtNull = sp + 361|0; + $cEndAff = sp + 379|0; + $bSeekPastNull = sp + 378|0; + $bStopAtNull = sp + 377|0; $t = sp + 168|0; - $t3 = sp + 360|0; - $pRight = sp + 164|0; - $pRight4 = sp + 160|0; + $t3 = sp + 376|0; + $pRight4 = sp + 164|0; + $pRight5 = sp + 160|0; $pPk = sp + 156|0; $pOrWc = sp + 152|0; $pOrTab = sp + 148|0; @@ -172143,12 +173177,12 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $iRetInit = sp + 120|0; $untestedTerms = sp + 116|0; $ii = sp + 112|0; - $wctrlFlags = sp + 356|0; + $wctrlFlags = sp + 372|0; $pAndExpr = sp + 108|0; $pTab = sp + 104|0; $nNotReady = sp + 100|0; $origSrc = sp + 96|0; - $pPk5 = sp + 92|0; + $pPk6 = sp + 92|0; $iTerm = sp + 88|0; $pExpr = sp + 84|0; $pOrTerm = sp + 80|0; @@ -172159,13 +173193,13 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $addrExplain = sp + 60|0; $r = sp + 56|0; $iSet = sp + 52|0; - $pPk6 = sp + 48|0; + $pPk7 = sp + 48|0; $nPk = sp + 44|0; $iPk = sp + 40|0; $iCol = sp + 36|0; $pE = sp + 32|0; $skipLikeAddr = sp + 28|0; - $pE7 = sp + 24|0; + $pE8 = sp + 24|0; $pEAlt = sp + 20|0; $pAlt = sp + 16|0; HEAP32[$3>>2] = $pWInfo; @@ -172257,7 +173291,7 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $75 = ($74|0)!=(0); if ($75) { $76 = HEAP32[$3>>2]|0; - $77 = ((($76)) + 34|0); + $77 = ((($76)) + 36|0); $78 = HEAP16[$77>>1]|0; $79 = $78&65535; $80 = $79 & 32; @@ -172450,1884 +173484,2007 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { $215 = ((($214)) + 24|0); $216 = ((($215)) + 4|0); HEAP8[$216>>0] = 0; - HEAP32[$j>>2] = 0; + $217 = HEAP32[$iCur>>2]|0; + $218 = HEAP32[$pLevel>>2]|0; + $219 = ((($218)) + 48|0); + HEAP32[$219>>2] = $217; + $220 = HEAP32[$3>>2]|0; + $221 = ((($220)) + 40|0); + $222 = HEAP8[$221>>0]|0; + $223 = $222&255; + $224 = ($223|0)!=(0); + $225 = $224 ? 160 : 154; + $226 = $225&255; + $227 = HEAP32[$pLevel>>2]|0; + $228 = ((($227)) + 45|0); + HEAP8[$228>>0] = $226; + $229 = HEAP32[$v>>2]|0; + $230 = (_sqlite3VdbeCurrentAddr($229)|0); + $231 = HEAP32[$pLevel>>2]|0; + $232 = ((($231)) + 52|0); + HEAP32[$232>>2] = $230; + $233 = HEAP32[$pLevel>>2]|0; + $234 = ((($233)) + 56|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$iIn>>2] = $235; + $236 = HEAP32[$nConstraint>>2]|0; + $237 = (($236) - 1)|0; + HEAP32[$j>>2] = $237; while(1) { - $217 = HEAP32[$j>>2]|0; - $218 = HEAP32[$nConstraint>>2]|0; - $219 = ($217|0)<($218|0); - $220 = HEAP32[$j>>2]|0; - $221 = ($220|0)<(16); - $222 = $219 ? $221 : 0; - if (!($222)) { + $238 = HEAP32[$j>>2]|0; + $239 = ($238|0)>=(0); + if (!($239)) { break; } - $223 = HEAP32[$pLoop>>2]|0; - $224 = ((($223)) + 24|0); - $225 = ((($224)) + 6|0); - $226 = HEAP16[$225>>1]|0; - $227 = $226&65535; - $228 = HEAP32[$j>>2]|0; - $229 = $227 >> $228; - $230 = $229 & 1; - $231 = ($230|0)!=(0); - if ($231) { - $232 = HEAP32[$pLevel>>2]|0; - $233 = HEAP32[$j>>2]|0; - $234 = HEAP32[$pLoop>>2]|0; - $235 = ((($234)) + 48|0); - $236 = HEAP32[$235>>2]|0; - $237 = (($236) + ($233<<2)|0); - $238 = HEAP32[$237>>2]|0; - _disableTerm($232,$238); + $240 = HEAP32[$j>>2]|0; + $241 = HEAP32[$pLoop>>2]|0; + $242 = ((($241)) + 48|0); + $243 = HEAP32[$242>>2]|0; + $244 = (($243) + ($240<<2)|0); + $245 = HEAP32[$244>>2]|0; + HEAP32[$pTerm>>2] = $245; + $246 = HEAP32[$j>>2]|0; + $247 = ($246|0)<(16); + if ($247) { + $248 = HEAP32[$pLoop>>2]|0; + $249 = ((($248)) + 24|0); + $250 = ((($249)) + 6|0); + $251 = HEAP16[$250>>1]|0; + $252 = $251&65535; + $253 = HEAP32[$j>>2]|0; + $254 = $252 >> $253; + $255 = $254 & 1; + $256 = ($255|0)!=(0); + if ($256) { + $257 = HEAP32[$pLevel>>2]|0; + $258 = HEAP32[$pTerm>>2]|0; + _disableTerm($257,$258); + } else { + label = 21; + } + } else { + label = 21; } - $239 = HEAP32[$j>>2]|0; - $240 = (($239) + 1)|0; - HEAP32[$j>>2] = $240; - } - $241 = HEAP32[$iCur>>2]|0; - $242 = HEAP32[$pLevel>>2]|0; - $243 = ((($242)) + 48|0); - HEAP32[$243>>2] = $241; - $244 = HEAP32[$3>>2]|0; - $245 = ((($244)) + 38|0); - $246 = HEAP8[$245>>0]|0; - $247 = $246&255; - $248 = ($247|0)!=(0); - $249 = $248 ? 160 : 154; - $250 = $249&255; - $251 = HEAP32[$pLevel>>2]|0; - $252 = ((($251)) + 45|0); - HEAP8[$252>>0] = $250; - $253 = HEAP32[$v>>2]|0; - $254 = (_sqlite3VdbeCurrentAddr($253)|0); - $255 = HEAP32[$pLevel>>2]|0; - $256 = ((($255)) + 52|0); - HEAP32[$256>>2] = $254; - $257 = HEAP32[$pParse>>2]|0; - $258 = HEAP32[$iReg>>2]|0; - $259 = HEAP32[$nConstraint>>2]|0; - $260 = (($259) + 2)|0; - _sqlite3ReleaseTempRange($257,$258,$260); - $261 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCachePop($261); + if ((label|0) == 21) { + label = 0; + $259 = HEAP32[$pTerm>>2]|0; + $260 = ((($259)) + 18|0); + $261 = HEAP16[$260>>1]|0; + $262 = $261&65535; + $263 = $262 & 1; + $264 = ($263|0)!=(0); + if ($264) { + $265 = HEAP32[$db>>2]|0; + $266 = ((($265)) + 69|0); + $267 = HEAP8[$266>>0]|0; + $268 = ($267<<24>>24)!=(0); + if (!($268)) { + $269 = HEAP32[$v>>2]|0; + $270 = HEAP32[$iIn>>2]|0; + $271 = (($270) + -1)|0; + HEAP32[$iIn>>2] = $271; + $272 = HEAP32[$pLevel>>2]|0; + $273 = ((($272)) + 56|0); + $274 = ((($273)) + 4|0); + $275 = HEAP32[$274>>2]|0; + $276 = (($275) + (($271*12)|0)|0); + $277 = ((($276)) + 4|0); + $278 = HEAP32[$277>>2]|0; + $279 = (_sqlite3VdbeGetOp($269,$278)|0); + HEAP32[$pOp>>2] = $279; + $280 = HEAP32[$v>>2]|0; + $281 = HEAP32[$pOp>>2]|0; + $282 = HEAP8[$281>>0]|0; + $283 = $282&255; + $284 = HEAP32[$pOp>>2]|0; + $285 = ((($284)) + 4|0); + $286 = HEAP32[$285>>2]|0; + $287 = HEAP32[$pOp>>2]|0; + $288 = ((($287)) + 8|0); + $289 = HEAP32[$288>>2]|0; + $290 = HEAP32[$pOp>>2]|0; + $291 = ((($290)) + 12|0); + $292 = HEAP32[$291>>2]|0; + (_sqlite3VdbeAddOp3($280,$283,$286,$289,$292)|0); + } + $293 = HEAP32[$pParse>>2]|0; + $294 = (_sqlite3PExpr($293,79,0,0,0)|0); + HEAP32[$pCompare>>2] = $294; + $295 = HEAP32[$pCompare>>2]|0; + $296 = ($295|0)!=(0|0); + if ($296) { + $297 = HEAP32[$pTerm>>2]|0; + $298 = HEAP32[$297>>2]|0; + $299 = ((($298)) + 12|0); + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[$pCompare>>2]|0; + $302 = ((($301)) + 12|0); + HEAP32[$302>>2] = $300; + $303 = HEAP32[$db>>2]|0; + $304 = (_sqlite3Expr($303,157,0)|0); + HEAP32[$pRight>>2] = $304; + $305 = HEAP32[$pCompare>>2]|0; + $306 = ((($305)) + 16|0); + HEAP32[$306>>2] = $304; + $307 = HEAP32[$pRight>>2]|0; + $308 = ($307|0)!=(0|0); + if ($308) { + $309 = HEAP32[$iReg>>2]|0; + $310 = HEAP32[$j>>2]|0; + $311 = (($309) + ($310))|0; + $312 = (($311) + 2)|0; + $313 = HEAP32[$pRight>>2]|0; + $314 = ((($313)) + 28|0); + HEAP32[$314>>2] = $312; + $315 = HEAP32[$pParse>>2]|0; + $316 = HEAP32[$pCompare>>2]|0; + $317 = HEAP32[$pLevel>>2]|0; + $318 = ((($317)) + 24|0); + $319 = HEAP32[$318>>2]|0; + _sqlite3ExprIfFalse($315,$316,$319,0); + } + $320 = HEAP32[$pCompare>>2]|0; + $321 = ((($320)) + 12|0); + HEAP32[$321>>2] = 0; + $322 = HEAP32[$db>>2]|0; + $323 = HEAP32[$pCompare>>2]|0; + _sqlite3ExprDelete($322,$323); + } + } + } + $324 = HEAP32[$j>>2]|0; + $325 = (($324) + -1)|0; + HEAP32[$j>>2] = $325; + } + $326 = HEAP32[$pParse>>2]|0; + $327 = HEAP32[$iReg>>2]|0; + $328 = HEAP32[$nConstraint>>2]|0; + $329 = (($328) + 2)|0; + _sqlite3ReleaseTempRange($326,$327,$329); + $330 = HEAP32[$pParse>>2]|0; + _sqlite3ExprCachePop($330); break; } - $262 = ((($142)) + 36|0); - $263 = HEAP32[$262>>2]|0; - $264 = $263 & 256; - $265 = ($264|0)!=(0); - if ($265) { - $266 = HEAP32[$pLoop>>2]|0; - $267 = ((($266)) + 36|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 & 5; - $270 = ($269|0)!=(0); - if ($270) { - $271 = HEAP32[$pLoop>>2]|0; - $272 = ((($271)) + 48|0); - $273 = HEAP32[$272>>2]|0; - $274 = HEAP32[$273>>2]|0; - HEAP32[$pTerm>>2] = $274; - $275 = HEAP32[$pParse>>2]|0; - $276 = ((($275)) + 76|0); - $277 = HEAP32[$276>>2]|0; - $278 = (($277) + 1)|0; - HEAP32[$276>>2] = $278; - HEAP32[$iReleaseReg>>2] = $278; - $279 = HEAP32[$pParse>>2]|0; - $280 = HEAP32[$pTerm>>2]|0; - $281 = HEAP32[$pLevel>>2]|0; - $282 = HEAP32[$bRev>>2]|0; - $283 = HEAP32[$iReleaseReg>>2]|0; - $284 = (_codeEqualityTerm($279,$280,$281,0,$282,$283)|0); - HEAP32[$iRowidReg>>2] = $284; - $285 = HEAP32[$iRowidReg>>2]|0; - $286 = HEAP32[$iReleaseReg>>2]|0; - $287 = ($285|0)!=($286|0); - if ($287) { - $288 = HEAP32[$pParse>>2]|0; - $289 = HEAP32[$iReleaseReg>>2]|0; - _sqlite3ReleaseTempReg($288,$289); - } - $290 = HEAP32[$pLevel>>2]|0; - $291 = ((($290)) + 16|0); - $292 = HEAP32[$291>>2]|0; - HEAP32[$addrNxt>>2] = $292; - $293 = HEAP32[$v>>2]|0; - $294 = HEAP32[$iRowidReg>>2]|0; - $295 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($293,38,$294,$295)|0); - $296 = HEAP32[$v>>2]|0; - $297 = HEAP32[$iCur>>2]|0; - $298 = HEAP32[$addrNxt>>2]|0; - $299 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($296,70,$297,$298,$299)|0); - $300 = HEAP32[$pParse>>2]|0; - $301 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheAffinityChange($300,$301,1); - $302 = HEAP32[$pParse>>2]|0; - $303 = HEAP32[$iCur>>2]|0; - $304 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($302,$303,-1,$304); - $305 = HEAP32[$pLevel>>2]|0; - $306 = ((($305)) + 45|0); - HEAP8[$306>>0] = -96; + $331 = ((($142)) + 36|0); + $332 = HEAP32[$331>>2]|0; + $333 = $332 & 256; + $334 = ($333|0)!=(0); + if ($334) { + $335 = HEAP32[$pLoop>>2]|0; + $336 = ((($335)) + 36|0); + $337 = HEAP32[$336>>2]|0; + $338 = $337 & 5; + $339 = ($338|0)!=(0); + if ($339) { + $340 = HEAP32[$pLoop>>2]|0; + $341 = ((($340)) + 48|0); + $342 = HEAP32[$341>>2]|0; + $343 = HEAP32[$342>>2]|0; + HEAP32[$pTerm>>2] = $343; + $344 = HEAP32[$pParse>>2]|0; + $345 = ((($344)) + 76|0); + $346 = HEAP32[$345>>2]|0; + $347 = (($346) + 1)|0; + HEAP32[$345>>2] = $347; + HEAP32[$iReleaseReg>>2] = $347; + $348 = HEAP32[$pParse>>2]|0; + $349 = HEAP32[$pTerm>>2]|0; + $350 = HEAP32[$pLevel>>2]|0; + $351 = HEAP32[$bRev>>2]|0; + $352 = HEAP32[$iReleaseReg>>2]|0; + $353 = (_codeEqualityTerm($348,$349,$350,0,$351,$352)|0); + HEAP32[$iRowidReg>>2] = $353; + $354 = HEAP32[$iRowidReg>>2]|0; + $355 = HEAP32[$iReleaseReg>>2]|0; + $356 = ($354|0)!=($355|0); + if ($356) { + $357 = HEAP32[$pParse>>2]|0; + $358 = HEAP32[$iReleaseReg>>2]|0; + _sqlite3ReleaseTempReg($357,$358); + } + $359 = HEAP32[$pLevel>>2]|0; + $360 = ((($359)) + 16|0); + $361 = HEAP32[$360>>2]|0; + HEAP32[$addrNxt>>2] = $361; + $362 = HEAP32[$v>>2]|0; + $363 = HEAP32[$iRowidReg>>2]|0; + $364 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($362,38,$363,$364)|0); + $365 = HEAP32[$v>>2]|0; + $366 = HEAP32[$iCur>>2]|0; + $367 = HEAP32[$addrNxt>>2]|0; + $368 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($365,70,$366,$367,$368)|0); + $369 = HEAP32[$pParse>>2]|0; + $370 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheAffinityChange($369,$370,1); + $371 = HEAP32[$pParse>>2]|0; + $372 = HEAP32[$iCur>>2]|0; + $373 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($371,$372,-1,$373); + $374 = HEAP32[$pLevel>>2]|0; + $375 = ((($374)) + 45|0); + HEAP8[$375>>0] = -96; break; } } - $307 = HEAP32[$pLoop>>2]|0; - $308 = ((($307)) + 36|0); - $309 = HEAP32[$308>>2]|0; - $310 = $309 & 256; - $311 = ($310|0)!=(0); - if ($311) { - $312 = HEAP32[$pLoop>>2]|0; - $313 = ((($312)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = $314 & 2; - $316 = ($315|0)!=(0); - if ($316) { + $376 = HEAP32[$pLoop>>2]|0; + $377 = ((($376)) + 36|0); + $378 = HEAP32[$377>>2]|0; + $379 = $378 & 256; + $380 = ($379|0)!=(0); + if ($380) { + $381 = HEAP32[$pLoop>>2]|0; + $382 = ((($381)) + 36|0); + $383 = HEAP32[$382>>2]|0; + $384 = $383 & 2; + $385 = ($384|0)!=(0); + if ($385) { HEAP32[$testOp>>2] = 160; HEAP32[$memEndValue>>2] = 0; HEAP32[$j>>2] = 0; HEAP32[$pEnd>>2] = 0; HEAP32[$pStart>>2] = 0; - $317 = HEAP32[$pLoop>>2]|0; - $318 = ((($317)) + 36|0); - $319 = HEAP32[$318>>2]|0; - $320 = $319 & 32; - $321 = ($320|0)!=(0); - if ($321) { - $322 = HEAP32[$j>>2]|0; - $323 = (($322) + 1)|0; - HEAP32[$j>>2] = $323; - $324 = HEAP32[$pLoop>>2]|0; - $325 = ((($324)) + 48|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($322<<2)|0); - $328 = HEAP32[$327>>2]|0; - HEAP32[$pStart>>2] = $328; - } - $329 = HEAP32[$pLoop>>2]|0; - $330 = ((($329)) + 36|0); - $331 = HEAP32[$330>>2]|0; - $332 = $331 & 16; - $333 = ($332|0)!=(0); - if ($333) { - $334 = HEAP32[$j>>2]|0; - $335 = (($334) + 1)|0; - HEAP32[$j>>2] = $335; - $336 = HEAP32[$pLoop>>2]|0; - $337 = ((($336)) + 48|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($334<<2)|0); - $340 = HEAP32[$339>>2]|0; - HEAP32[$pEnd>>2] = $340; - } - $341 = HEAP32[$bRev>>2]|0; - $342 = ($341|0)!=(0); - if ($342) { - $343 = HEAP32[$pStart>>2]|0; - HEAP32[$pTerm>>2] = $343; - $344 = HEAP32[$pEnd>>2]|0; - HEAP32[$pStart>>2] = $344; - $345 = HEAP32[$pTerm>>2]|0; - HEAP32[$pEnd>>2] = $345; - } - $346 = HEAP32[$pStart>>2]|0; - $347 = ($346|0)!=(0|0); - if ($347) { - $348 = HEAP32[$pStart>>2]|0; - $349 = HEAP32[$348>>2]|0; - HEAP32[$pX>>2] = $349; - $350 = HEAP32[$pParse>>2]|0; - $351 = HEAP32[$pX>>2]|0; - $352 = ((($351)) + 16|0); - $353 = HEAP32[$352>>2]|0; - $354 = (_sqlite3ExprCodeTemp($350,$353,$rTemp)|0); - HEAP32[$r1>>2] = $354; - $355 = HEAP32[$v>>2]|0; - $356 = HEAP32[$pX>>2]|0; - $357 = HEAP8[$356>>0]|0; - $358 = $357&255; - $359 = (($358) - 80)|0; - $360 = (35244 + ($359)|0); - $361 = HEAP8[$360>>0]|0; - $362 = $361&255; - $363 = HEAP32[$iCur>>2]|0; - $364 = HEAP32[$addrBrk>>2]|0; - $365 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp3($355,$362,$363,$364,$365)|0); - $366 = HEAP32[$pParse>>2]|0; - $367 = HEAP32[$r1>>2]|0; - _sqlite3ExprCacheAffinityChange($366,$367,1); - $368 = HEAP32[$pParse>>2]|0; - $369 = HEAP32[$rTemp>>2]|0; - _sqlite3ReleaseTempReg($368,$369); - $370 = HEAP32[$pLevel>>2]|0; - $371 = HEAP32[$pStart>>2]|0; - _disableTerm($370,$371); + $386 = HEAP32[$pLoop>>2]|0; + $387 = ((($386)) + 36|0); + $388 = HEAP32[$387>>2]|0; + $389 = $388 & 32; + $390 = ($389|0)!=(0); + if ($390) { + $391 = HEAP32[$j>>2]|0; + $392 = (($391) + 1)|0; + HEAP32[$j>>2] = $392; + $393 = HEAP32[$pLoop>>2]|0; + $394 = ((($393)) + 48|0); + $395 = HEAP32[$394>>2]|0; + $396 = (($395) + ($391<<2)|0); + $397 = HEAP32[$396>>2]|0; + HEAP32[$pStart>>2] = $397; + } + $398 = HEAP32[$pLoop>>2]|0; + $399 = ((($398)) + 36|0); + $400 = HEAP32[$399>>2]|0; + $401 = $400 & 16; + $402 = ($401|0)!=(0); + if ($402) { + $403 = HEAP32[$j>>2]|0; + $404 = (($403) + 1)|0; + HEAP32[$j>>2] = $404; + $405 = HEAP32[$pLoop>>2]|0; + $406 = ((($405)) + 48|0); + $407 = HEAP32[$406>>2]|0; + $408 = (($407) + ($403<<2)|0); + $409 = HEAP32[$408>>2]|0; + HEAP32[$pEnd>>2] = $409; + } + $410 = HEAP32[$bRev>>2]|0; + $411 = ($410|0)!=(0); + if ($411) { + $412 = HEAP32[$pStart>>2]|0; + HEAP32[$pTerm>>2] = $412; + $413 = HEAP32[$pEnd>>2]|0; + HEAP32[$pStart>>2] = $413; + $414 = HEAP32[$pTerm>>2]|0; + HEAP32[$pEnd>>2] = $414; + } + $415 = HEAP32[$pStart>>2]|0; + $416 = ($415|0)!=(0|0); + if ($416) { + $417 = HEAP32[$pStart>>2]|0; + $418 = HEAP32[$417>>2]|0; + HEAP32[$pX>>2] = $418; + $419 = HEAP32[$pParse>>2]|0; + $420 = HEAP32[$pX>>2]|0; + $421 = ((($420)) + 16|0); + $422 = HEAP32[$421>>2]|0; + $423 = (_sqlite3ExprCodeTemp($419,$422,$rTemp)|0); + HEAP32[$r1>>2] = $423; + $424 = HEAP32[$v>>2]|0; + $425 = HEAP32[$pX>>2]|0; + $426 = HEAP8[$425>>0]|0; + $427 = $426&255; + $428 = (($427) - 80)|0; + $429 = (34945 + ($428)|0); + $430 = HEAP8[$429>>0]|0; + $431 = $430&255; + $432 = HEAP32[$iCur>>2]|0; + $433 = HEAP32[$addrBrk>>2]|0; + $434 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp3($424,$431,$432,$433,$434)|0); + $435 = HEAP32[$pParse>>2]|0; + $436 = HEAP32[$r1>>2]|0; + _sqlite3ExprCacheAffinityChange($435,$436,1); + $437 = HEAP32[$pParse>>2]|0; + $438 = HEAP32[$rTemp>>2]|0; + _sqlite3ReleaseTempReg($437,$438); + $439 = HEAP32[$pLevel>>2]|0; + $440 = HEAP32[$pStart>>2]|0; + _disableTerm($439,$440); } else { - $372 = HEAP32[$v>>2]|0; - $373 = HEAP32[$bRev>>2]|0; - $374 = ($373|0)!=(0); - $375 = $374 ? 105 : 108; - $376 = HEAP32[$iCur>>2]|0; - $377 = HEAP32[$addrBrk>>2]|0; - (_sqlite3VdbeAddOp2($372,$375,$376,$377)|0); - } - $378 = HEAP32[$pEnd>>2]|0; - $379 = ($378|0)!=(0|0); - if ($379) { - $380 = HEAP32[$pEnd>>2]|0; - $381 = HEAP32[$380>>2]|0; - HEAP32[$pX1>>2] = $381; - $382 = HEAP32[$pParse>>2]|0; - $383 = ((($382)) + 76|0); - $384 = HEAP32[$383>>2]|0; - $385 = (($384) + 1)|0; - HEAP32[$383>>2] = $385; - HEAP32[$memEndValue>>2] = $385; - $386 = HEAP32[$pParse>>2]|0; - $387 = HEAP32[$pX1>>2]|0; - $388 = ((($387)) + 16|0); - $389 = HEAP32[$388>>2]|0; - $390 = HEAP32[$memEndValue>>2]|0; - _sqlite3ExprCode($386,$389,$390); - $391 = HEAP32[$pX1>>2]|0; - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $394 = ($393|0)==(82); - if ($394) { - label = 41; + $441 = HEAP32[$v>>2]|0; + $442 = HEAP32[$bRev>>2]|0; + $443 = ($442|0)!=(0); + $444 = $443 ? 105 : 108; + $445 = HEAP32[$iCur>>2]|0; + $446 = HEAP32[$addrBrk>>2]|0; + (_sqlite3VdbeAddOp2($441,$444,$445,$446)|0); + } + $447 = HEAP32[$pEnd>>2]|0; + $448 = ($447|0)!=(0|0); + if ($448) { + $449 = HEAP32[$pEnd>>2]|0; + $450 = HEAP32[$449>>2]|0; + HEAP32[$pX1>>2] = $450; + $451 = HEAP32[$pParse>>2]|0; + $452 = ((($451)) + 76|0); + $453 = HEAP32[$452>>2]|0; + $454 = (($453) + 1)|0; + HEAP32[$452>>2] = $454; + HEAP32[$memEndValue>>2] = $454; + $455 = HEAP32[$pParse>>2]|0; + $456 = HEAP32[$pX1>>2]|0; + $457 = ((($456)) + 16|0); + $458 = HEAP32[$457>>2]|0; + $459 = HEAP32[$memEndValue>>2]|0; + _sqlite3ExprCode($455,$458,$459); + $460 = HEAP32[$pX1>>2]|0; + $461 = HEAP8[$460>>0]|0; + $462 = $461&255; + $463 = ($462|0)==(82); + if ($463) { + label = 49; } else { - $395 = HEAP32[$pX1>>2]|0; - $396 = HEAP8[$395>>0]|0; - $397 = $396&255; - $398 = ($397|0)==(80); - if ($398) { - label = 41; + $464 = HEAP32[$pX1>>2]|0; + $465 = HEAP8[$464>>0]|0; + $466 = $465&255; + $467 = ($466|0)==(80); + if ($467) { + label = 49; } else { - $402 = HEAP32[$bRev>>2]|0; - $403 = ($402|0)!=(0); - $404 = $403 ? 82 : 80; - HEAP32[$testOp>>2] = $404; + $471 = HEAP32[$bRev>>2]|0; + $472 = ($471|0)!=(0); + $473 = $472 ? 82 : 80; + HEAP32[$testOp>>2] = $473; } } - if ((label|0) == 41) { - $399 = HEAP32[$bRev>>2]|0; - $400 = ($399|0)!=(0); - $401 = $400 ? 81 : 83; - HEAP32[$testOp>>2] = $401; + if ((label|0) == 49) { + $468 = HEAP32[$bRev>>2]|0; + $469 = ($468|0)!=(0); + $470 = $469 ? 81 : 83; + HEAP32[$testOp>>2] = $470; } - $405 = HEAP32[$pLevel>>2]|0; - $406 = HEAP32[$pEnd>>2]|0; - _disableTerm($405,$406); - } - $407 = HEAP32[$v>>2]|0; - $408 = (_sqlite3VdbeCurrentAddr($407)|0); - HEAP32[$start>>2] = $408; - $409 = HEAP32[$bRev>>2]|0; - $410 = ($409|0)!=(0); - $411 = $410 ? 6 : 7; - $412 = $411&255; - $413 = HEAP32[$pLevel>>2]|0; - $414 = ((($413)) + 45|0); - HEAP8[$414>>0] = $412; - $415 = HEAP32[$iCur>>2]|0; - $416 = HEAP32[$pLevel>>2]|0; - $417 = ((($416)) + 48|0); - HEAP32[$417>>2] = $415; - $418 = HEAP32[$start>>2]|0; - $419 = HEAP32[$pLevel>>2]|0; - $420 = ((($419)) + 52|0); - HEAP32[$420>>2] = $418; - $421 = HEAP32[$testOp>>2]|0; - $422 = ($421|0)!=(160); - if (!($422)) { + $474 = HEAP32[$pLevel>>2]|0; + $475 = HEAP32[$pEnd>>2]|0; + _disableTerm($474,$475); + } + $476 = HEAP32[$v>>2]|0; + $477 = (_sqlite3VdbeCurrentAddr($476)|0); + HEAP32[$start>>2] = $477; + $478 = HEAP32[$bRev>>2]|0; + $479 = ($478|0)!=(0); + $480 = $479 ? 6 : 7; + $481 = $480&255; + $482 = HEAP32[$pLevel>>2]|0; + $483 = ((($482)) + 45|0); + HEAP8[$483>>0] = $481; + $484 = HEAP32[$iCur>>2]|0; + $485 = HEAP32[$pLevel>>2]|0; + $486 = ((($485)) + 48|0); + HEAP32[$486>>2] = $484; + $487 = HEAP32[$start>>2]|0; + $488 = HEAP32[$pLevel>>2]|0; + $489 = ((($488)) + 52|0); + HEAP32[$489>>2] = $487; + $490 = HEAP32[$testOp>>2]|0; + $491 = ($490|0)!=(160); + if (!($491)) { break; } - $423 = HEAP32[$pParse>>2]|0; - $424 = ((($423)) + 76|0); - $425 = HEAP32[$424>>2]|0; - $426 = (($425) + 1)|0; - HEAP32[$424>>2] = $426; - HEAP32[$iRowidReg>>2] = $426; - $427 = HEAP32[$v>>2]|0; - $428 = HEAP32[$iCur>>2]|0; - $429 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($427,103,$428,$429)|0); - $430 = HEAP32[$pParse>>2]|0; - $431 = HEAP32[$iCur>>2]|0; - $432 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($430,$431,-1,$432); - $433 = HEAP32[$v>>2]|0; - $434 = HEAP32[$testOp>>2]|0; - $435 = HEAP32[$memEndValue>>2]|0; - $436 = HEAP32[$addrBrk>>2]|0; - $437 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($433,$434,$435,$436,$437)|0); - $438 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($438,83); + $492 = HEAP32[$pParse>>2]|0; + $493 = ((($492)) + 76|0); + $494 = HEAP32[$493>>2]|0; + $495 = (($494) + 1)|0; + HEAP32[$493>>2] = $495; + HEAP32[$iRowidReg>>2] = $495; + $496 = HEAP32[$v>>2]|0; + $497 = HEAP32[$iCur>>2]|0; + $498 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($496,103,$497,$498)|0); + $499 = HEAP32[$pParse>>2]|0; + $500 = HEAP32[$iCur>>2]|0; + $501 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($499,$500,-1,$501); + $502 = HEAP32[$v>>2]|0; + $503 = HEAP32[$testOp>>2]|0; + $504 = HEAP32[$memEndValue>>2]|0; + $505 = HEAP32[$addrBrk>>2]|0; + $506 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($502,$503,$504,$505,$506)|0); + $507 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($507,83); break; } } - $439 = HEAP32[$pLoop>>2]|0; - $440 = ((($439)) + 36|0); - $441 = HEAP32[$440>>2]|0; - $442 = $441 & 512; - $443 = ($442|0)!=(0); - $444 = HEAP32[$pLoop>>2]|0; - if ($443) { - $445 = ((($444)) + 24|0); - $446 = HEAP16[$445>>1]|0; - HEAP16[$nEq>>1] = $446; - HEAP32[$pRangeStart>>2] = 0; - HEAP32[$pRangeEnd>>2] = 0; - HEAP32[$nExtraReg>>2] = 0; - HEAP8[$cEndAff>>0] = 0; - HEAP8[$bSeekPastNull>>0] = 0; - HEAP8[$bStopAtNull>>0] = 0; - $447 = HEAP32[$pLoop>>2]|0; - $448 = ((($447)) + 24|0); - $449 = ((($448)) + 4|0); - $450 = HEAP32[$449>>2]|0; - HEAP32[$pIdx>>2] = $450; - $451 = HEAP32[$pLevel>>2]|0; - $452 = ((($451)) + 8|0); - $453 = HEAP32[$452>>2]|0; - HEAP32[$iIdxCur>>2] = $453; - $454 = HEAP32[$3>>2]|0; - $455 = ((($454)) + 34|0); - $456 = HEAP16[$455>>1]|0; - $457 = $456&65535; - $458 = $457 & 1; - $459 = ($458|0)!=(0); - if ($459) { - $460 = HEAP32[$3>>2]|0; - $461 = ((($460)) + 36|0); - $462 = HEAP8[$461>>0]|0; - $463 = $462 << 24 >> 24; - $464 = ($463|0)>(0); - if ($464) { - $465 = HEAP32[$pIdx>>2]|0; - $466 = ((($465)) + 50|0); - $467 = HEAP16[$466>>1]|0; - $468 = $467&65535; - $469 = HEAP16[$nEq>>1]|0; - $470 = $469&65535; - $471 = ($468|0)>($470|0); - if ($471) { - HEAP8[$bSeekPastNull>>0] = 1; - HEAP32[$nExtraReg>>2] = 1; - } + $508 = HEAP32[$pLoop>>2]|0; + $509 = ((($508)) + 36|0); + $510 = HEAP32[$509>>2]|0; + $511 = $510 & 512; + $512 = ($511|0)!=(0); + $513 = HEAP32[$pLoop>>2]|0; + if (!($512)) { + $994 = ((($513)) + 36|0); + $995 = HEAP32[$994>>2]|0; + $996 = $995 & 8192; + $997 = ($996|0)!=(0); + if (!($997)) { + $1409 = HEAP32[$pTabItem>>2]|0; + $1410 = ((($1409)) + 36|0); + $1411 = ((($1410)) + 1|0); + $1412 = HEAP8[$1411>>0]|0; + $1413 = ($1412&255) >>> 5; + $1414 = $1413 & 1; + $1415 = $1414&255; + $1416 = ($1415|0)!=(0); + if ($1416) { + $1417 = HEAP32[$pLevel>>2]|0; + $1418 = ((($1417)) + 45|0); + HEAP8[$1418>>0] = -96; + break; + } else { + $1419 = HEAP32[$bRev>>2]|0; + $1420 = (34961 + ($1419)|0); + $1421 = HEAP8[$1420>>0]|0; + $1422 = HEAP32[$pLevel>>2]|0; + $1423 = ((($1422)) + 45|0); + HEAP8[$1423>>0] = $1421; + $1424 = HEAP32[$iCur>>2]|0; + $1425 = HEAP32[$pLevel>>2]|0; + $1426 = ((($1425)) + 48|0); + HEAP32[$1426>>2] = $1424; + $1427 = HEAP32[$v>>2]|0; + $1428 = HEAP32[$bRev>>2]|0; + $1429 = (34963 + ($1428)|0); + $1430 = HEAP8[$1429>>0]|0; + $1431 = $1430&255; + $1432 = HEAP32[$iCur>>2]|0; + $1433 = HEAP32[$addrBrk>>2]|0; + $1434 = (_sqlite3VdbeAddOp2($1427,$1431,$1432,$1433)|0); + $1435 = (1 + ($1434))|0; + $1436 = HEAP32[$pLevel>>2]|0; + $1437 = ((($1436)) + 52|0); + HEAP32[$1437>>2] = $1435; + $1438 = HEAP32[$pLevel>>2]|0; + $1439 = ((($1438)) + 47|0); + HEAP8[$1439>>0] = 1; + break; } } - $472 = HEAP16[$nEq>>1]|0; - $473 = $472&65535; - HEAP32[$j>>2] = $473; - $474 = HEAP32[$pLoop>>2]|0; - $475 = ((($474)) + 36|0); - $476 = HEAP32[$475>>2]|0; - $477 = $476 & 32; - $478 = ($477|0)!=(0); - if ($478) { - $479 = HEAP32[$j>>2]|0; - $480 = (($479) + 1)|0; - HEAP32[$j>>2] = $480; - $481 = HEAP32[$pLoop>>2]|0; - $482 = ((($481)) + 48|0); - $483 = HEAP32[$482>>2]|0; - $484 = (($483) + ($479<<2)|0); - $485 = HEAP32[$484>>2]|0; - HEAP32[$pRangeStart>>2] = $485; - HEAP32[$nExtraReg>>2] = 1; - } - $486 = HEAP32[$pLoop>>2]|0; - $487 = ((($486)) + 36|0); - $488 = HEAP32[$487>>2]|0; - $489 = $488 & 16; - $490 = ($489|0)!=(0); - if ($490) { - $491 = HEAP32[$j>>2]|0; - $492 = (($491) + 1)|0; - HEAP32[$j>>2] = $492; - $493 = HEAP32[$pLoop>>2]|0; - $494 = ((($493)) + 48|0); - $495 = HEAP32[$494>>2]|0; - $496 = (($495) + ($491<<2)|0); - $497 = HEAP32[$496>>2]|0; - HEAP32[$pRangeEnd>>2] = $497; - HEAP32[$nExtraReg>>2] = 1; - $498 = HEAP32[$pRangeEnd>>2]|0; - $499 = ((($498)) + 20|0); - $500 = HEAP16[$499>>1]|0; - $501 = $500&65535; - $502 = $501 & 256; - $503 = ($502|0)!=(0); - if ($503) { - $504 = HEAP32[$pParse>>2]|0; - $505 = ((($504)) + 76|0); - $506 = HEAP32[$505>>2]|0; - $507 = (($506) + 1)|0; - HEAP32[$505>>2] = $507; - $508 = HEAP32[$pLevel>>2]|0; - $509 = ((($508)) + 36|0); - HEAP32[$509>>2] = $507; - $510 = HEAP32[$v>>2]|0; - $511 = HEAP32[$bRev>>2]|0; - $512 = HEAP16[$nEq>>1]|0; - $513 = $512&65535; - $514 = HEAP32[$pIdx>>2]|0; - $515 = ((($514)) + 28|0); - $516 = HEAP32[$515>>2]|0; - $517 = (($516) + ($513)|0); - $518 = HEAP8[$517>>0]|0; - $519 = $518&255; - $520 = ($519|0)==(1); - $521 = $520&1; - $522 = $511 ^ $521; - $523 = HEAP32[$pLevel>>2]|0; - $524 = ((($523)) + 36|0); - $525 = HEAP32[$524>>2]|0; - (_sqlite3VdbeAddOp2($510,22,$522,$525)|0); - $526 = HEAP32[$v>>2]|0; - $527 = (_sqlite3VdbeCurrentAddr($526)|0); - $528 = HEAP32[$pLevel>>2]|0; - $529 = ((($528)) + 40|0); - HEAP32[$529>>2] = $527; - } - $530 = HEAP32[$pRangeStart>>2]|0; - $531 = ($530|0)==(0|0); - if ($531) { - $532 = HEAP16[$nEq>>1]|0; - $533 = $532&65535; - $534 = HEAP32[$pIdx>>2]|0; - $535 = ((($534)) + 4|0); - $536 = HEAP32[$535>>2]|0; - $537 = (($536) + ($533<<1)|0); - $538 = HEAP16[$537>>1]|0; - $539 = $538 << 16 >> 16; - HEAP32[$j>>2] = $539; - $540 = ($539|0)>=(0); - if ($540) { - $541 = HEAP32[$j>>2]|0; - $542 = HEAP32[$pIdx>>2]|0; - $543 = ((($542)) + 12|0); - $544 = HEAP32[$543>>2]|0; - $545 = ((($544)) + 4|0); - $546 = HEAP32[$545>>2]|0; - $547 = (($546) + (($541*24)|0)|0); - $548 = ((($547)) + 20|0); - $549 = HEAP8[$548>>0]|0; - $550 = $549&255; - $551 = ($550|0)==(0); - if ($551) { - HEAP8[$bSeekPastNull>>0] = 1; + HEAP32[$pCov>>2] = 0; + $998 = HEAP32[$pParse>>2]|0; + $999 = ((($998)) + 72|0); + $1000 = HEAP32[$999>>2]|0; + $1001 = (($1000) + 1)|0; + HEAP32[$999>>2] = $1001; + HEAP32[$iCovCur>>2] = $1000; + $1002 = HEAP32[$pParse>>2]|0; + $1003 = ((($1002)) + 76|0); + $1004 = HEAP32[$1003>>2]|0; + $1005 = (($1004) + 1)|0; + HEAP32[$1003>>2] = $1005; + HEAP32[$regReturn>>2] = $1005; + HEAP32[$regRowset>>2] = 0; + HEAP32[$regRowid>>2] = 0; + $1006 = HEAP32[$v>>2]|0; + $1007 = (_sqlite3VdbeMakeLabel($1006)|0); + HEAP32[$iLoopBody>>2] = $1007; + HEAP32[$untestedTerms>>2] = 0; + HEAP32[$pAndExpr>>2] = 0; + $1008 = HEAP32[$pTabItem>>2]|0; + $1009 = ((($1008)) + 16|0); + $1010 = HEAP32[$1009>>2]|0; + HEAP32[$pTab>>2] = $1010; + $1011 = HEAP32[$pLoop>>2]|0; + $1012 = ((($1011)) + 48|0); + $1013 = HEAP32[$1012>>2]|0; + $1014 = HEAP32[$1013>>2]|0; + HEAP32[$pTerm>>2] = $1014; + $1015 = HEAP32[$pTerm>>2]|0; + $1016 = ((($1015)) + 12|0); + $1017 = HEAP32[$1016>>2]|0; + HEAP32[$pOrWc>>2] = $1017; + $1018 = HEAP32[$pLevel>>2]|0; + $1019 = ((($1018)) + 45|0); + HEAP8[$1019>>0] = 15; + $1020 = HEAP32[$regReturn>>2]|0; + $1021 = HEAP32[$pLevel>>2]|0; + $1022 = ((($1021)) + 48|0); + HEAP32[$1022>>2] = $1020; + $1023 = HEAP32[$3>>2]|0; + $1024 = ((($1023)) + 43|0); + $1025 = HEAP8[$1024>>0]|0; + $1026 = $1025&255; + $1027 = ($1026|0)>(1); + $1028 = HEAP32[$3>>2]|0; + L84: do { + if ($1027) { + $1029 = ((($1028)) + 43|0); + $1030 = HEAP8[$1029>>0]|0; + $1031 = $1030&255; + $1032 = HEAP32[$4>>2]|0; + $1033 = (($1031) - ($1032))|0; + $1034 = (($1033) - 1)|0; + HEAP32[$nNotReady>>2] = $1034; + $1035 = HEAP32[$db>>2]|0; + $1036 = HEAP32[$nNotReady>>2]|0; + $1037 = ($1036*72)|0; + $1038 = (80 + ($1037))|0; + $1039 = (_sqlite3DbMallocRaw($1035,$1038,0)|0); + HEAP32[$pOrTab>>2] = $1039; + $1040 = HEAP32[$pOrTab>>2]|0; + $1041 = ($1040|0)==(0|0); + if ($1041) { + $1042 = $5; + $1043 = $1042; + $1044 = HEAP32[$1043>>2]|0; + $1045 = (($1042) + 4)|0; + $1046 = $1045; + $1047 = HEAP32[$1046>>2]|0; + $1048 = $2; + $1049 = $1048; + HEAP32[$1049>>2] = $1044; + $1050 = (($1048) + 4)|0; + $1051 = $1050; + HEAP32[$1051>>2] = $1047; + $1664 = $2; + $1665 = $1664; + $1666 = HEAP32[$1665>>2]|0; + $1667 = (($1664) + 4)|0; + $1668 = $1667; + $1669 = HEAP32[$1668>>2]|0; + tempRet0 = ($1669); + STACKTOP = sp;return ($1666|0); + } + $1052 = HEAP32[$nNotReady>>2]|0; + $1053 = (($1052) + 1)|0; + $1054 = $1053&255; + $1055 = $1054&255; + $1056 = HEAP32[$pOrTab>>2]|0; + $1057 = ((($1056)) + 4|0); + HEAP32[$1057>>2] = $1055; + $1058 = HEAP32[$pOrTab>>2]|0; + $1059 = ((($1058)) + 4|0); + $1060 = HEAP32[$1059>>2]|0; + $1061 = HEAP32[$pOrTab>>2]|0; + HEAP32[$1061>>2] = $1060; + $1062 = HEAP32[$pOrTab>>2]|0; + $1063 = ((($1062)) + 8|0); + $1064 = HEAP32[$pTabItem>>2]|0; + dest=$1063; src=$1064; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1065 = HEAP32[$3>>2]|0; + $1066 = ((($1065)) + 4|0); + $1067 = HEAP32[$1066>>2]|0; + $1068 = ((($1067)) + 8|0); + HEAP32[$origSrc>>2] = $1068; + HEAP32[$k>>2] = 1; + while(1) { + $1069 = HEAP32[$k>>2]|0; + $1070 = HEAP32[$nNotReady>>2]|0; + $1071 = ($1069|0)<=($1070|0); + if (!($1071)) { + break L84; } + $1072 = HEAP32[$k>>2]|0; + $1073 = HEAP32[$pOrTab>>2]|0; + $1074 = ((($1073)) + 8|0); + $1075 = (($1074) + (($1072*72)|0)|0); + $1076 = HEAP32[$k>>2]|0; + $1077 = HEAP32[$pLevel>>2]|0; + $1078 = (($1077) + (($1076*80)|0)|0); + $1079 = ((($1078)) + 44|0); + $1080 = HEAP8[$1079>>0]|0; + $1081 = $1080&255; + $1082 = HEAP32[$origSrc>>2]|0; + $1083 = (($1082) + (($1081*72)|0)|0); + dest=$1075; src=$1083; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1084 = HEAP32[$k>>2]|0; + $1085 = (($1084) + 1)|0; + HEAP32[$k>>2] = $1085; } - } - } - $552 = HEAP16[$nEq>>1]|0; - $553 = $552&65535; - $554 = HEAP32[$pIdx>>2]|0; - $555 = ((($554)) + 50|0); - $556 = HEAP16[$555>>1]|0; - $557 = $556&65535; - $558 = ($553|0)<($557|0); - if ($558) { - $559 = HEAP32[$bRev>>2]|0; - $560 = HEAP16[$nEq>>1]|0; - $561 = $560&65535; - $562 = HEAP32[$pIdx>>2]|0; - $563 = ((($562)) + 28|0); - $564 = HEAP32[$563>>2]|0; - $565 = (($564) + ($561)|0); - $566 = HEAP8[$565>>0]|0; - $567 = $566&255; - $568 = ($567|0)==(0); - $569 = $568&1; - $570 = ($559|0)==($569|0); - if ($570) { - label = 64; } else { - label = 62; + $1086 = ((($1028)) + 4|0); + $1087 = HEAP32[$1086>>2]|0; + HEAP32[$pOrTab>>2] = $1087; } - } else { - label = 62; - } - if ((label|0) == 62) { - $571 = HEAP32[$bRev>>2]|0; - $572 = ($571|0)!=(0); - if ($572) { - $573 = HEAP32[$pIdx>>2]|0; - $574 = ((($573)) + 50|0); - $575 = HEAP16[$574>>1]|0; - $576 = $575&65535; - $577 = HEAP16[$nEq>>1]|0; - $578 = $577&65535; - $579 = ($576|0)==($578|0); - if ($579) { - label = 64; + } while(0); + $1088 = HEAP32[$3>>2]|0; + $1089 = ((($1088)) + 36|0); + $1090 = HEAP16[$1089>>1]|0; + $1091 = $1090&65535; + $1092 = $1091 & 8; + $1093 = ($1092|0)==(0); + if ($1093) { + $1094 = HEAP32[$pTab>>2]|0; + $1095 = ((($1094)) + 42|0); + $1096 = HEAP8[$1095>>0]|0; + $1097 = $1096&255; + $1098 = $1097 & 32; + $1099 = ($1098|0)==(0); + if ($1099) { + $1100 = HEAP32[$pParse>>2]|0; + $1101 = ((($1100)) + 76|0); + $1102 = HEAP32[$1101>>2]|0; + $1103 = (($1102) + 1)|0; + HEAP32[$1101>>2] = $1103; + HEAP32[$regRowset>>2] = $1103; + $1104 = HEAP32[$v>>2]|0; + $1105 = HEAP32[$regRowset>>2]|0; + (_sqlite3VdbeAddOp2($1104,25,0,$1105)|0); + } else { + $1106 = HEAP32[$pTab>>2]|0; + $1107 = (_sqlite3PrimaryKeyIndex($1106)|0); + HEAP32[$pPk6>>2] = $1107; + $1108 = HEAP32[$pParse>>2]|0; + $1109 = ((($1108)) + 72|0); + $1110 = HEAP32[$1109>>2]|0; + $1111 = (($1110) + 1)|0; + HEAP32[$1109>>2] = $1111; + HEAP32[$regRowset>>2] = $1110; + $1112 = HEAP32[$v>>2]|0; + $1113 = HEAP32[$regRowset>>2]|0; + $1114 = HEAP32[$pPk6>>2]|0; + $1115 = ((($1114)) + 50|0); + $1116 = HEAP16[$1115>>1]|0; + $1117 = $1116&65535; + (_sqlite3VdbeAddOp2($1112,57,$1113,$1117)|0); + $1118 = HEAP32[$pParse>>2]|0; + $1119 = HEAP32[$pPk6>>2]|0; + _sqlite3VdbeSetP4KeyInfo($1118,$1119); + } + $1120 = HEAP32[$pParse>>2]|0; + $1121 = ((($1120)) + 76|0); + $1122 = HEAP32[$1121>>2]|0; + $1123 = (($1122) + 1)|0; + HEAP32[$1121>>2] = $1123; + HEAP32[$regRowid>>2] = $1123; + } + $1124 = HEAP32[$v>>2]|0; + $1125 = HEAP32[$regReturn>>2]|0; + $1126 = (_sqlite3VdbeAddOp2($1124,22,0,$1125)|0); + HEAP32[$iRetInit>>2] = $1126; + $1127 = HEAP32[$pWC>>2]|0; + $1128 = ((($1127)) + 12|0); + $1129 = HEAP32[$1128>>2]|0; + $1130 = ($1129|0)>(1); + if ($1130) { + HEAP32[$iTerm>>2] = 0; + while(1) { + $1131 = HEAP32[$iTerm>>2]|0; + $1132 = HEAP32[$pWC>>2]|0; + $1133 = ((($1132)) + 12|0); + $1134 = HEAP32[$1133>>2]|0; + $1135 = ($1131|0)<($1134|0); + if (!($1135)) { + break; } + $1136 = HEAP32[$iTerm>>2]|0; + $1137 = HEAP32[$pWC>>2]|0; + $1138 = ((($1137)) + 20|0); + $1139 = HEAP32[$1138>>2]|0; + $1140 = (($1139) + (($1136*48)|0)|0); + $1141 = HEAP32[$1140>>2]|0; + HEAP32[$pExpr>>2] = $1141; + $1142 = HEAP32[$iTerm>>2]|0; + $1143 = HEAP32[$pWC>>2]|0; + $1144 = ((($1143)) + 20|0); + $1145 = HEAP32[$1144>>2]|0; + $1146 = (($1145) + (($1142*48)|0)|0); + $1147 = HEAP32[$pTerm>>2]|0; + $1148 = ($1146|0)==($1147|0); + do { + if (!($1148)) { + $1149 = HEAP32[$pExpr>>2]|0; + $1150 = ((($1149)) + 4|0); + $1151 = HEAP32[$1150>>2]|0; + $1152 = $1151 & 1; + $1153 = ($1152|0)!=(0); + if (!($1153)) { + $1154 = HEAP32[$iTerm>>2]|0; + $1155 = HEAP32[$pWC>>2]|0; + $1156 = ((($1155)) + 20|0); + $1157 = HEAP32[$1156>>2]|0; + $1158 = (($1157) + (($1154*48)|0)|0); + $1159 = ((($1158)) + 20|0); + $1160 = HEAP16[$1159>>1]|0; + $1161 = $1160&65535; + $1162 = $1161 & 6; + $1163 = ($1162|0)!=(0); + if (!($1163)) { + $1164 = HEAP32[$iTerm>>2]|0; + $1165 = HEAP32[$pWC>>2]|0; + $1166 = ((($1165)) + 20|0); + $1167 = HEAP32[$1166>>2]|0; + $1168 = (($1167) + (($1164*48)|0)|0); + $1169 = ((($1168)) + 18|0); + $1170 = HEAP16[$1169>>1]|0; + $1171 = $1170&65535; + $1172 = $1171 & 8191; + $1173 = ($1172|0)==(0); + if ($1173) { + break; + } + $1174 = HEAP32[$db>>2]|0; + $1175 = HEAP32[$pExpr>>2]|0; + $1176 = (_sqlite3ExprDup($1174,$1175,0)|0); + HEAP32[$pExpr>>2] = $1176; + $1177 = HEAP32[$db>>2]|0; + $1178 = HEAP32[$pAndExpr>>2]|0; + $1179 = HEAP32[$pExpr>>2]|0; + $1180 = (_sqlite3ExprAnd($1177,$1178,$1179)|0); + HEAP32[$pAndExpr>>2] = $1180; + } + } + } + } while(0); + $1181 = HEAP32[$iTerm>>2]|0; + $1182 = (($1181) + 1)|0; + HEAP32[$iTerm>>2] = $1182; + } + $1183 = HEAP32[$pAndExpr>>2]|0; + $1184 = ($1183|0)!=(0|0); + if ($1184) { + $1185 = HEAP32[$pParse>>2]|0; + $1186 = HEAP32[$pAndExpr>>2]|0; + $1187 = (_sqlite3PExpr($1185,328,0,$1186,0)|0); + HEAP32[$pAndExpr>>2] = $1187; } } - if ((label|0) == 64) { - $580 = HEAP32[$pRangeEnd>>2]|0; - HEAP32[$t>>2] = $580; - $581 = HEAP32[$pRangeStart>>2]|0; - HEAP32[$pRangeEnd>>2] = $581; - $582 = HEAP32[$t>>2]|0; - HEAP32[$pRangeStart>>2] = $582; - $583 = HEAP8[$bSeekPastNull>>0]|0; - HEAP8[$t3>>0] = $583; - $584 = HEAP8[$bStopAtNull>>0]|0; - HEAP8[$bSeekPastNull>>0] = $584; - $585 = HEAP8[$t3>>0]|0; - HEAP8[$bStopAtNull>>0] = $585; - } - $586 = HEAP32[$pParse>>2]|0; - $587 = HEAP32[$pLevel>>2]|0; - $588 = HEAP32[$bRev>>2]|0; - $589 = HEAP32[$nExtraReg>>2]|0; - $590 = (_codeAllEqualityTerms($586,$587,$588,$589,$zStartAff)|0); - HEAP32[$regBase>>2] = $590; - $591 = HEAP32[$zStartAff>>2]|0; - $592 = ($591|0)!=(0|0); - if ($592) { - $593 = HEAP16[$nEq>>1]|0; - $594 = $593&65535; - $595 = HEAP32[$zStartAff>>2]|0; - $596 = (($595) + ($594)|0); - $597 = HEAP8[$596>>0]|0; - HEAP8[$cEndAff>>0] = $597; - } - $598 = HEAP32[$pLevel>>2]|0; - $599 = ((($598)) + 16|0); - $600 = HEAP32[$599>>2]|0; - HEAP32[$addrNxt>>2] = $600; - $601 = HEAP32[$pRangeStart>>2]|0; - $602 = ($601|0)!=(0|0); - if ($602) { - $603 = HEAP32[$pRangeStart>>2]|0; - $604 = ((($603)) + 18|0); - $605 = HEAP16[$604>>1]|0; - $606 = $605&65535; - $607 = $606 & 40; - $608 = ($607|0)!=(0); - $610 = $608; - } else { - $610 = 1; - } - $609 = $610&1; - HEAP32[$startEq>>2] = $609; - $611 = HEAP32[$pRangeEnd>>2]|0; - $612 = ($611|0)!=(0|0); - if ($612) { - $613 = HEAP32[$pRangeEnd>>2]|0; - $614 = ((($613)) + 18|0); - $615 = HEAP16[$614>>1]|0; - $616 = $615&65535; - $617 = $616 & 40; - $618 = ($617|0)!=(0); - $620 = $618; - } else { - $620 = 1; - } - $619 = $620&1; - HEAP32[$endEq>>2] = $619; - $621 = HEAP32[$pRangeStart>>2]|0; - $622 = ($621|0)!=(0|0); - if ($622) { - $627 = 1; - } else { - $623 = HEAP16[$nEq>>1]|0; - $624 = $623&65535; - $625 = ($624|0)>(0); - $627 = $625; - } - $626 = $627&1; - HEAP32[$start_constraints>>2] = $626; - $628 = HEAP16[$nEq>>1]|0; - $629 = $628&65535; - HEAP32[$nConstraint2>>2] = $629; - $630 = HEAP32[$pRangeStart>>2]|0; - $631 = ($630|0)!=(0|0); - if ($631) { - $632 = HEAP32[$pRangeStart>>2]|0; - $633 = HEAP32[$632>>2]|0; - $634 = ((($633)) + 16|0); - $635 = HEAP32[$634>>2]|0; - HEAP32[$pRight>>2] = $635; - $636 = HEAP32[$pParse>>2]|0; - $637 = HEAP32[$pRight>>2]|0; - $638 = HEAP32[$regBase>>2]|0; - $639 = HEAP16[$nEq>>1]|0; - $640 = $639&65535; - $641 = (($638) + ($640))|0; - _sqlite3ExprCode($636,$637,$641); - $642 = HEAP32[$v>>2]|0; - $643 = HEAP32[$pLevel>>2]|0; - $644 = HEAP32[$pRangeStart>>2]|0; - _whereLikeOptimizationStringFixup($642,$643,$644); - $645 = HEAP32[$pRangeStart>>2]|0; - $646 = ((($645)) + 20|0); - $647 = HEAP16[$646>>1]|0; - $648 = $647&65535; - $649 = $648 & 0; - $650 = ($649|0)==(0); - do { - if ($650) { - $651 = HEAP32[$pRight>>2]|0; - $652 = (_sqlite3ExprCanBeNull($651)|0); - $653 = ($652|0)!=(0); - if (!($653)) { - break; - } - $654 = HEAP32[$v>>2]|0; - $655 = HEAP32[$regBase>>2]|0; - $656 = HEAP16[$nEq>>1]|0; - $657 = $656&65535; - $658 = (($655) + ($657))|0; - $659 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($654,76,$658,$659)|0); + HEAP16[$wctrlFlags>>1] = 240; + HEAP32[$ii>>2] = 0; + while(1) { + $1188 = HEAP32[$ii>>2]|0; + $1189 = HEAP32[$pOrWc>>2]|0; + $1190 = ((($1189)) + 12|0); + $1191 = HEAP32[$1190>>2]|0; + $1192 = ($1188|0)<($1191|0); + if (!($1192)) { + break; + } + $1193 = HEAP32[$ii>>2]|0; + $1194 = HEAP32[$pOrWc>>2]|0; + $1195 = ((($1194)) + 20|0); + $1196 = HEAP32[$1195>>2]|0; + $1197 = (($1196) + (($1193*48)|0)|0); + HEAP32[$pOrTerm>>2] = $1197; + $1198 = HEAP32[$pOrTerm>>2]|0; + $1199 = ((($1198)) + 8|0); + $1200 = HEAP32[$1199>>2]|0; + $1201 = HEAP32[$iCur>>2]|0; + $1202 = ($1200|0)==($1201|0); + if ($1202) { + label = 153; + } else { + $1203 = HEAP32[$pOrTerm>>2]|0; + $1204 = ((($1203)) + 18|0); + $1205 = HEAP16[$1204>>1]|0; + $1206 = $1205&65535; + $1207 = $1206 & 1024; + $1208 = ($1207|0)!=(0); + if ($1208) { + label = 153; } - } while(0); - $660 = HEAP32[$zStartAff>>2]|0; - $661 = ($660|0)!=(0|0); - do { - if ($661) { - $662 = HEAP32[$pRight>>2]|0; - $663 = HEAP16[$nEq>>1]|0; - $664 = $663&65535; - $665 = HEAP32[$zStartAff>>2]|0; - $666 = (($665) + ($664)|0); - $667 = HEAP8[$666>>0]|0; - $668 = (_sqlite3CompareAffinity($662,$667)|0); - $669 = $668 << 24 >> 24; - $670 = ($669|0)==(65); - if ($670) { - $671 = HEAP16[$nEq>>1]|0; - $672 = $671&65535; - $673 = HEAP32[$zStartAff>>2]|0; - $674 = (($673) + ($672)|0); - HEAP8[$674>>0] = 65; - } - $675 = HEAP32[$pRight>>2]|0; - $676 = HEAP16[$nEq>>1]|0; - $677 = $676&65535; - $678 = HEAP32[$zStartAff>>2]|0; - $679 = (($678) + ($677)|0); - $680 = HEAP8[$679>>0]|0; - $681 = (_sqlite3ExprNeedsNoAffinityChange($675,$680)|0); - $682 = ($681|0)!=(0); - if (!($682)) { - break; + } + if ((label|0) == 153) { + label = 0; + $1209 = HEAP32[$pOrTerm>>2]|0; + $1210 = HEAP32[$1209>>2]|0; + HEAP32[$pOrExpr>>2] = $1210; + HEAP32[$jmp1>>2] = 0; + $1211 = HEAP32[$pAndExpr>>2]|0; + $1212 = ($1211|0)!=(0|0); + if ($1212) { + $1213 = HEAP32[$pOrExpr>>2]|0; + $1214 = ((($1213)) + 4|0); + $1215 = HEAP32[$1214>>2]|0; + $1216 = $1215 & 1; + $1217 = ($1216|0)!=(0); + if (!($1217)) { + $1218 = HEAP32[$pOrExpr>>2]|0; + $1219 = HEAP32[$pAndExpr>>2]|0; + $1220 = ((($1219)) + 12|0); + HEAP32[$1220>>2] = $1218; + $1221 = HEAP32[$pAndExpr>>2]|0; + HEAP32[$pOrExpr>>2] = $1221; } - $683 = HEAP16[$nEq>>1]|0; - $684 = $683&65535; - $685 = HEAP32[$zStartAff>>2]|0; - $686 = (($685) + ($684)|0); - HEAP8[$686>>0] = 65; } - } while(0); - $687 = HEAP32[$nConstraint2>>2]|0; - $688 = (($687) + 1)|0; - HEAP32[$nConstraint2>>2] = $688; - } else { - $689 = HEAP8[$bSeekPastNull>>0]|0; - $690 = ($689<<24>>24)!=(0); - if ($690) { - $691 = HEAP32[$v>>2]|0; - $692 = HEAP32[$regBase>>2]|0; - $693 = HEAP16[$nEq>>1]|0; - $694 = $693&65535; - $695 = (($692) + ($694))|0; - (_sqlite3VdbeAddOp2($691,25,0,$695)|0); - $696 = HEAP32[$nConstraint2>>2]|0; - $697 = (($696) + 1)|0; - HEAP32[$nConstraint2>>2] = $697; - HEAP32[$startEq>>2] = 0; - HEAP32[$start_constraints>>2] = 1; - } - } - $698 = HEAP32[$pParse>>2]|0; - $699 = HEAP32[$regBase>>2]|0; - $700 = HEAP32[$nConstraint2>>2]|0; - $701 = HEAP8[$bSeekPastNull>>0]|0; - $702 = $701&255; - $703 = (($700) - ($702))|0; - $704 = HEAP32[$zStartAff>>2]|0; - _codeApplyAffinity($698,$699,$703,$704); - $705 = HEAP32[$start_constraints>>2]|0; - $706 = $705 << 2; - $707 = HEAP32[$startEq>>2]|0; - $708 = $707 << 1; - $709 = (($706) + ($708))|0; - $710 = HEAP32[$bRev>>2]|0; - $711 = (($709) + ($710))|0; - $712 = (35248 + ($711)|0); - $713 = HEAP8[$712>>0]|0; - $714 = $713&255; - HEAP32[$op>>2] = $714; - $715 = HEAP32[$v>>2]|0; - $716 = HEAP32[$op>>2]|0; - $717 = HEAP32[$iIdxCur>>2]|0; - $718 = HEAP32[$addrNxt>>2]|0; - $719 = HEAP32[$regBase>>2]|0; - $720 = HEAP32[$nConstraint2>>2]|0; - (_sqlite3VdbeAddOp4Int($715,$716,$717,$718,$719,$720)|0); - $721 = HEAP16[$nEq>>1]|0; - $722 = $721&65535; - HEAP32[$nConstraint2>>2] = $722; - $723 = HEAP32[$pRangeEnd>>2]|0; - $724 = ($723|0)!=(0|0); - do { - if ($724) { - $725 = HEAP32[$pRangeEnd>>2]|0; - $726 = HEAP32[$725>>2]|0; - $727 = ((($726)) + 16|0); - $728 = HEAP32[$727>>2]|0; - HEAP32[$pRight4>>2] = $728; - $729 = HEAP32[$pParse>>2]|0; - $730 = HEAP32[$regBase>>2]|0; - $731 = HEAP16[$nEq>>1]|0; - $732 = $731&65535; - $733 = (($730) + ($732))|0; - _sqlite3ExprCacheRemove($729,$733,1); - $734 = HEAP32[$pParse>>2]|0; - $735 = HEAP32[$pRight4>>2]|0; - $736 = HEAP32[$regBase>>2]|0; - $737 = HEAP16[$nEq>>1]|0; - $738 = $737&65535; - $739 = (($736) + ($738))|0; - _sqlite3ExprCode($734,$735,$739); - $740 = HEAP32[$v>>2]|0; - $741 = HEAP32[$pLevel>>2]|0; - $742 = HEAP32[$pRangeEnd>>2]|0; - _whereLikeOptimizationStringFixup($740,$741,$742); - $743 = HEAP32[$pRangeEnd>>2]|0; - $744 = ((($743)) + 20|0); - $745 = HEAP16[$744>>1]|0; - $746 = $745&65535; - $747 = $746 & 0; - $748 = ($747|0)==(0); - do { - if ($748) { - $749 = HEAP32[$pRight4>>2]|0; - $750 = (_sqlite3ExprCanBeNull($749)|0); - $751 = ($750|0)!=(0); - if (!($751)) { - break; + $1222 = HEAP32[$pParse>>2]|0; + $1223 = HEAP32[$pOrTab>>2]|0; + $1224 = HEAP32[$pOrExpr>>2]|0; + $1225 = HEAP16[$wctrlFlags>>1]|0; + $1226 = HEAP32[$iCovCur>>2]|0; + $1227 = (_sqlite3WhereBegin($1222,$1223,$1224,0,0,$1225,$1226)|0); + HEAP32[$pSubWInfo>>2] = $1227; + $1228 = HEAP32[$pSubWInfo>>2]|0; + $1229 = ($1228|0)!=(0|0); + if ($1229) { + $1230 = HEAP32[$pParse>>2]|0; + $1231 = HEAP32[$pOrTab>>2]|0; + $1232 = HEAP32[$pSubWInfo>>2]|0; + $1233 = ((($1232)) + 736|0); + $1234 = HEAP32[$4>>2]|0; + $1235 = HEAP32[$pLevel>>2]|0; + $1236 = ((($1235)) + 44|0); + $1237 = HEAP8[$1236>>0]|0; + $1238 = $1237&255; + $1239 = (_sqlite3WhereExplainOneScan($1230,$1231,$1233,$1234,$1238,0)|0); + HEAP32[$addrExplain>>2] = $1239; + $1240 = HEAP32[$3>>2]|0; + $1241 = ((($1240)) + 36|0); + $1242 = HEAP16[$1241>>1]|0; + $1243 = $1242&65535; + $1244 = $1243 & 8; + $1245 = ($1244|0)==(0); + do { + if ($1245) { + $1246 = HEAP32[$ii>>2]|0; + $1247 = HEAP32[$pOrWc>>2]|0; + $1248 = ((($1247)) + 12|0); + $1249 = HEAP32[$1248>>2]|0; + $1250 = (($1249) - 1)|0; + $1251 = ($1246|0)==($1250|0); + $1252 = HEAP32[$ii>>2]|0; + $1253 = $1251 ? -1 : $1252; + HEAP32[$iSet>>2] = $1253; + $1254 = HEAP32[$pTab>>2]|0; + $1255 = ((($1254)) + 42|0); + $1256 = HEAP8[$1255>>0]|0; + $1257 = $1256&255; + $1258 = $1257 & 32; + $1259 = ($1258|0)==(0); + if ($1259) { + $1260 = HEAP32[$pParse>>2]|0; + $1261 = HEAP32[$pTab>>2]|0; + $1262 = HEAP32[$iCur>>2]|0; + $1263 = HEAP32[$regRowid>>2]|0; + $1264 = (_sqlite3ExprCodeGetColumn($1260,$1261,-1,$1262,$1263,0)|0); + HEAP32[$r>>2] = $1264; + $1265 = HEAP32[$v>>2]|0; + $1266 = HEAP32[$regRowset>>2]|0; + $1267 = HEAP32[$r>>2]|0; + $1268 = HEAP32[$iSet>>2]|0; + $1269 = (_sqlite3VdbeAddOp4Int($1265,131,$1266,0,$1267,$1268)|0); + HEAP32[$jmp1>>2] = $1269; + break; + } + $1270 = HEAP32[$pTab>>2]|0; + $1271 = (_sqlite3PrimaryKeyIndex($1270)|0); + HEAP32[$pPk7>>2] = $1271; + $1272 = HEAP32[$pPk7>>2]|0; + $1273 = ((($1272)) + 50|0); + $1274 = HEAP16[$1273>>1]|0; + $1275 = $1274&65535; + HEAP32[$nPk>>2] = $1275; + $1276 = HEAP32[$pParse>>2]|0; + $1277 = HEAP32[$nPk>>2]|0; + $1278 = (_sqlite3GetTempRange($1276,$1277)|0); + HEAP32[$r>>2] = $1278; + HEAP32[$iPk>>2] = 0; + while(1) { + $1279 = HEAP32[$iPk>>2]|0; + $1280 = HEAP32[$nPk>>2]|0; + $1281 = ($1279|0)<($1280|0); + if (!($1281)) { + break; + } + $1282 = HEAP32[$iPk>>2]|0; + $1283 = HEAP32[$pPk7>>2]|0; + $1284 = ((($1283)) + 4|0); + $1285 = HEAP32[$1284>>2]|0; + $1286 = (($1285) + ($1282<<1)|0); + $1287 = HEAP16[$1286>>1]|0; + $1288 = $1287 << 16 >> 16; + HEAP32[$iCol>>2] = $1288; + $1289 = HEAP32[$pParse>>2]|0; + $1290 = HEAP32[$pTab>>2]|0; + $1291 = HEAP32[$iCol>>2]|0; + $1292 = HEAP32[$iCur>>2]|0; + $1293 = HEAP32[$r>>2]|0; + $1294 = HEAP32[$iPk>>2]|0; + $1295 = (($1293) + ($1294))|0; + _sqlite3ExprCodeGetColumnToReg($1289,$1290,$1291,$1292,$1295); + $1296 = HEAP32[$iPk>>2]|0; + $1297 = (($1296) + 1)|0; + HEAP32[$iPk>>2] = $1297; + } + $1298 = HEAP32[$iSet>>2]|0; + $1299 = ($1298|0)!=(0); + if ($1299) { + $1300 = HEAP32[$v>>2]|0; + $1301 = HEAP32[$regRowset>>2]|0; + $1302 = HEAP32[$r>>2]|0; + $1303 = HEAP32[$nPk>>2]|0; + $1304 = (_sqlite3VdbeAddOp4Int($1300,69,$1301,0,$1302,$1303)|0); + HEAP32[$jmp1>>2] = $1304; + } + $1305 = HEAP32[$iSet>>2]|0; + $1306 = ($1305|0)>=(0); + do { + if ($1306) { + $1307 = HEAP32[$v>>2]|0; + $1308 = HEAP32[$r>>2]|0; + $1309 = HEAP32[$nPk>>2]|0; + $1310 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($1307,49,$1308,$1309,$1310)|0); + $1311 = HEAP32[$v>>2]|0; + $1312 = HEAP32[$regRowset>>2]|0; + $1313 = HEAP32[$regRowid>>2]|0; + (_sqlite3VdbeAddOp3($1311,110,$1312,$1313,0)|0); + $1314 = HEAP32[$iSet>>2]|0; + $1315 = ($1314|0)!=(0); + if (!($1315)) { + break; + } + $1316 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($1316,16); + } + } while(0); + $1317 = HEAP32[$pParse>>2]|0; + $1318 = HEAP32[$r>>2]|0; + $1319 = HEAP32[$nPk>>2]|0; + _sqlite3ReleaseTempRange($1317,$1318,$1319); } - $752 = HEAP32[$v>>2]|0; - $753 = HEAP32[$regBase>>2]|0; - $754 = HEAP16[$nEq>>1]|0; - $755 = $754&65535; - $756 = (($753) + ($755))|0; - $757 = HEAP32[$addrNxt>>2]|0; - (_sqlite3VdbeAddOp2($752,76,$756,$757)|0); + } while(0); + $1320 = HEAP32[$v>>2]|0; + $1321 = HEAP32[$regReturn>>2]|0; + $1322 = HEAP32[$iLoopBody>>2]|0; + (_sqlite3VdbeAddOp2($1320,14,$1321,$1322)|0); + $1323 = HEAP32[$jmp1>>2]|0; + $1324 = ($1323|0)!=(0); + if ($1324) { + $1325 = HEAP32[$v>>2]|0; + $1326 = HEAP32[$jmp1>>2]|0; + _sqlite3VdbeJumpHere($1325,$1326); } - } while(0); - $758 = HEAP32[$pRight4>>2]|0; - $759 = HEAP8[$cEndAff>>0]|0; - $760 = (_sqlite3CompareAffinity($758,$759)|0); - $761 = $760 << 24 >> 24; - $762 = ($761|0)!=(65); - do { - if ($762) { - $763 = HEAP32[$pRight4>>2]|0; - $764 = HEAP8[$cEndAff>>0]|0; - $765 = (_sqlite3ExprNeedsNoAffinityChange($763,$764)|0); - $766 = ($765|0)!=(0); - if ($766) { - break; + $1327 = HEAP32[$pSubWInfo>>2]|0; + $1328 = ((($1327)) + 41|0); + $1329 = HEAP8[$1328>>0]|0; + $1330 = ($1329<<24>>24)!=(0); + if ($1330) { + HEAP32[$untestedTerms>>2] = 1; + } + $1331 = HEAP32[$pSubWInfo>>2]|0; + $1332 = ((($1331)) + 736|0); + $1333 = ((($1332)) + 64|0); + $1334 = HEAP32[$1333>>2]|0; + HEAP32[$pSubLoop>>2] = $1334; + $1335 = HEAP32[$pSubLoop>>2]|0; + $1336 = ((($1335)) + 36|0); + $1337 = HEAP32[$1336>>2]|0; + $1338 = $1337 & 512; + $1339 = ($1338|0)!=(0); + do { + if ($1339) { + $1340 = HEAP32[$ii>>2]|0; + $1341 = ($1340|0)==(0); + if (!($1341)) { + $1342 = HEAP32[$pSubLoop>>2]|0; + $1343 = ((($1342)) + 24|0); + $1344 = ((($1343)) + 4|0); + $1345 = HEAP32[$1344>>2]|0; + $1346 = HEAP32[$pCov>>2]|0; + $1347 = ($1345|0)==($1346|0); + if (!($1347)) { + label = 179; + break; + } + } + $1348 = HEAP32[$pTab>>2]|0; + $1349 = ((($1348)) + 42|0); + $1350 = HEAP8[$1349>>0]|0; + $1351 = $1350&255; + $1352 = $1351 & 32; + $1353 = ($1352|0)==(0); + if (!($1353)) { + $1354 = HEAP32[$pSubLoop>>2]|0; + $1355 = ((($1354)) + 24|0); + $1356 = ((($1355)) + 4|0); + $1357 = HEAP32[$1356>>2]|0; + $1358 = ((($1357)) + 55|0); + $1359 = HEAP8[$1358>>0]|0; + $1360 = $1359 & 3; + $1361 = $1360&255; + $1362 = ($1361|0)==(2); + if ($1362) { + label = 179; + break; + } + } + $1363 = HEAP32[$pSubLoop>>2]|0; + $1364 = ((($1363)) + 24|0); + $1365 = ((($1364)) + 4|0); + $1366 = HEAP32[$1365>>2]|0; + HEAP32[$pCov>>2] = $1366; + $1367 = HEAP16[$wctrlFlags>>1]|0; + $1368 = $1367&65535; + $1369 = $1368 | 4096; + $1370 = $1369&65535; + HEAP16[$wctrlFlags>>1] = $1370; + } else { + label = 179; } - $767 = HEAP32[$pParse>>2]|0; - $768 = HEAP32[$regBase>>2]|0; - $769 = HEAP16[$nEq>>1]|0; - $770 = $769&65535; - $771 = (($768) + ($770))|0; - _codeApplyAffinity($767,$771,1,$cEndAff); + } while(0); + if ((label|0) == 179) { + label = 0; + HEAP32[$pCov>>2] = 0; } - } while(0); - $772 = HEAP32[$nConstraint2>>2]|0; - $773 = (($772) + 1)|0; - HEAP32[$nConstraint2>>2] = $773; - } else { - $774 = HEAP8[$bStopAtNull>>0]|0; - $775 = ($774<<24>>24)!=(0); - if (!($775)) { + $1371 = HEAP32[$pSubWInfo>>2]|0; + _sqlite3WhereEnd($1371); + } + } + $1372 = HEAP32[$ii>>2]|0; + $1373 = (($1372) + 1)|0; + HEAP32[$ii>>2] = $1373; + } + $1374 = HEAP32[$pCov>>2]|0; + $1375 = HEAP32[$pLevel>>2]|0; + $1376 = ((($1375)) + 56|0); + HEAP32[$1376>>2] = $1374; + $1377 = HEAP32[$pCov>>2]|0; + $1378 = ($1377|0)!=(0|0); + if ($1378) { + $1379 = HEAP32[$iCovCur>>2]|0; + $1380 = HEAP32[$pLevel>>2]|0; + $1381 = ((($1380)) + 8|0); + HEAP32[$1381>>2] = $1379; + } + $1382 = HEAP32[$pAndExpr>>2]|0; + $1383 = ($1382|0)!=(0|0); + if ($1383) { + $1384 = HEAP32[$pAndExpr>>2]|0; + $1385 = ((($1384)) + 12|0); + HEAP32[$1385>>2] = 0; + $1386 = HEAP32[$db>>2]|0; + $1387 = HEAP32[$pAndExpr>>2]|0; + _sqlite3ExprDelete($1386,$1387); + } + $1388 = HEAP32[$v>>2]|0; + $1389 = HEAP32[$iRetInit>>2]|0; + $1390 = HEAP32[$v>>2]|0; + $1391 = (_sqlite3VdbeCurrentAddr($1390)|0); + _sqlite3VdbeChangeP1($1388,$1389,$1391); + $1392 = HEAP32[$v>>2]|0; + $1393 = HEAP32[$pLevel>>2]|0; + $1394 = ((($1393)) + 12|0); + $1395 = HEAP32[$1394>>2]|0; + (_sqlite3VdbeGoto($1392,$1395)|0); + $1396 = HEAP32[$v>>2]|0; + $1397 = HEAP32[$iLoopBody>>2]|0; + _sqlite3VdbeResolveLabel($1396,$1397); + $1398 = HEAP32[$3>>2]|0; + $1399 = ((($1398)) + 43|0); + $1400 = HEAP8[$1399>>0]|0; + $1401 = $1400&255; + $1402 = ($1401|0)>(1); + if ($1402) { + $1403 = HEAP32[$db>>2]|0; + $1404 = HEAP32[$pOrTab>>2]|0; + _sqlite3DbFree($1403,$1404); + } + $1405 = HEAP32[$untestedTerms>>2]|0; + $1406 = ($1405|0)!=(0); + if ($1406) { + break; + } + $1407 = HEAP32[$pLevel>>2]|0; + $1408 = HEAP32[$pTerm>>2]|0; + _disableTerm($1407,$1408); + break; + } + $514 = ((($513)) + 24|0); + $515 = HEAP16[$514>>1]|0; + HEAP16[$nEq>>1] = $515; + HEAP32[$pRangeStart>>2] = 0; + HEAP32[$pRangeEnd>>2] = 0; + HEAP32[$nExtraReg>>2] = 0; + HEAP8[$cEndAff>>0] = 0; + HEAP8[$bSeekPastNull>>0] = 0; + HEAP8[$bStopAtNull>>0] = 0; + $516 = HEAP32[$pLoop>>2]|0; + $517 = ((($516)) + 24|0); + $518 = ((($517)) + 4|0); + $519 = HEAP32[$518>>2]|0; + HEAP32[$pIdx>>2] = $519; + $520 = HEAP32[$pLevel>>2]|0; + $521 = ((($520)) + 8|0); + $522 = HEAP32[$521>>2]|0; + HEAP32[$iIdxCur>>2] = $522; + $523 = HEAP32[$3>>2]|0; + $524 = ((($523)) + 36|0); + $525 = HEAP16[$524>>1]|0; + $526 = $525&65535; + $527 = $526 & 1; + $528 = ($527|0)!=(0); + if ($528) { + $529 = HEAP32[$3>>2]|0; + $530 = ((($529)) + 38|0); + $531 = HEAP8[$530>>0]|0; + $532 = $531 << 24 >> 24; + $533 = ($532|0)>(0); + if ($533) { + $534 = HEAP32[$pIdx>>2]|0; + $535 = ((($534)) + 50|0); + $536 = HEAP16[$535>>1]|0; + $537 = $536&65535; + $538 = HEAP16[$nEq>>1]|0; + $539 = $538&65535; + $540 = ($537|0)>($539|0); + if ($540) { + HEAP8[$bSeekPastNull>>0] = 1; + HEAP32[$nExtraReg>>2] = 1; + } + } + } + $541 = HEAP16[$nEq>>1]|0; + $542 = $541&65535; + HEAP32[$j>>2] = $542; + $543 = HEAP32[$pLoop>>2]|0; + $544 = ((($543)) + 36|0); + $545 = HEAP32[$544>>2]|0; + $546 = $545 & 32; + $547 = ($546|0)!=(0); + if ($547) { + $548 = HEAP32[$j>>2]|0; + $549 = (($548) + 1)|0; + HEAP32[$j>>2] = $549; + $550 = HEAP32[$pLoop>>2]|0; + $551 = ((($550)) + 48|0); + $552 = HEAP32[$551>>2]|0; + $553 = (($552) + ($548<<2)|0); + $554 = HEAP32[$553>>2]|0; + HEAP32[$pRangeStart>>2] = $554; + HEAP32[$nExtraReg>>2] = 1; + } + $555 = HEAP32[$pLoop>>2]|0; + $556 = ((($555)) + 36|0); + $557 = HEAP32[$556>>2]|0; + $558 = $557 & 16; + $559 = ($558|0)!=(0); + if ($559) { + $560 = HEAP32[$j>>2]|0; + $561 = (($560) + 1)|0; + HEAP32[$j>>2] = $561; + $562 = HEAP32[$pLoop>>2]|0; + $563 = ((($562)) + 48|0); + $564 = HEAP32[$563>>2]|0; + $565 = (($564) + ($560<<2)|0); + $566 = HEAP32[$565>>2]|0; + HEAP32[$pRangeEnd>>2] = $566; + HEAP32[$nExtraReg>>2] = 1; + $567 = HEAP32[$pRangeEnd>>2]|0; + $568 = ((($567)) + 20|0); + $569 = HEAP16[$568>>1]|0; + $570 = $569&65535; + $571 = $570 & 256; + $572 = ($571|0)!=(0); + if ($572) { + $573 = HEAP32[$pParse>>2]|0; + $574 = ((($573)) + 76|0); + $575 = HEAP32[$574>>2]|0; + $576 = (($575) + 1)|0; + HEAP32[$574>>2] = $576; + $577 = HEAP32[$pLevel>>2]|0; + $578 = ((($577)) + 36|0); + HEAP32[$578>>2] = $576; + $579 = HEAP32[$v>>2]|0; + $580 = HEAP32[$bRev>>2]|0; + $581 = HEAP16[$nEq>>1]|0; + $582 = $581&65535; + $583 = HEAP32[$pIdx>>2]|0; + $584 = ((($583)) + 28|0); + $585 = HEAP32[$584>>2]|0; + $586 = (($585) + ($582)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $587&255; + $589 = ($588|0)==(1); + $590 = $589&1; + $591 = $580 ^ $590; + $592 = HEAP32[$pLevel>>2]|0; + $593 = ((($592)) + 36|0); + $594 = HEAP32[$593>>2]|0; + (_sqlite3VdbeAddOp2($579,22,$591,$594)|0); + $595 = HEAP32[$v>>2]|0; + $596 = (_sqlite3VdbeCurrentAddr($595)|0); + $597 = HEAP32[$pLevel>>2]|0; + $598 = ((($597)) + 40|0); + HEAP32[$598>>2] = $596; + } + $599 = HEAP32[$pRangeStart>>2]|0; + $600 = ($599|0)==(0|0); + if ($600) { + $601 = HEAP16[$nEq>>1]|0; + $602 = $601&65535; + $603 = HEAP32[$pIdx>>2]|0; + $604 = ((($603)) + 4|0); + $605 = HEAP32[$604>>2]|0; + $606 = (($605) + ($602<<1)|0); + $607 = HEAP16[$606>>1]|0; + $608 = $607 << 16 >> 16; + HEAP32[$j>>2] = $608; + $609 = ($608|0)>=(0); + if ($609) { + $610 = HEAP32[$j>>2]|0; + $611 = HEAP32[$pIdx>>2]|0; + $612 = ((($611)) + 12|0); + $613 = HEAP32[$612>>2]|0; + $614 = ((($613)) + 4|0); + $615 = HEAP32[$614>>2]|0; + $616 = (($615) + ($610<<4)|0); + $617 = ((($616)) + 12|0); + $618 = HEAP8[$617>>0]|0; + $619 = $618&255; + $620 = ($619|0)==(0); + if ($620) { + HEAP8[$bSeekPastNull>>0] = 1; + } + } + } + } + $621 = HEAP16[$nEq>>1]|0; + $622 = $621&65535; + $623 = HEAP32[$pIdx>>2]|0; + $624 = ((($623)) + 50|0); + $625 = HEAP16[$624>>1]|0; + $626 = $625&65535; + $627 = ($622|0)<($626|0); + if ($627) { + $628 = HEAP32[$bRev>>2]|0; + $629 = HEAP16[$nEq>>1]|0; + $630 = $629&65535; + $631 = HEAP32[$pIdx>>2]|0; + $632 = ((($631)) + 28|0); + $633 = HEAP32[$632>>2]|0; + $634 = (($633) + ($630)|0); + $635 = HEAP8[$634>>0]|0; + $636 = $635&255; + $637 = ($636|0)==(0); + $638 = $637&1; + $639 = ($628|0)==($638|0); + if ($639) { + label = 72; + } else { + label = 70; + } + } else { + label = 70; + } + if ((label|0) == 70) { + $640 = HEAP32[$bRev>>2]|0; + $641 = ($640|0)!=(0); + if ($641) { + $642 = HEAP32[$pIdx>>2]|0; + $643 = ((($642)) + 50|0); + $644 = HEAP16[$643>>1]|0; + $645 = $644&65535; + $646 = HEAP16[$nEq>>1]|0; + $647 = $646&65535; + $648 = ($645|0)==($647|0); + if ($648) { + label = 72; + } + } + } + if ((label|0) == 72) { + $649 = HEAP32[$pRangeEnd>>2]|0; + HEAP32[$t>>2] = $649; + $650 = HEAP32[$pRangeStart>>2]|0; + HEAP32[$pRangeEnd>>2] = $650; + $651 = HEAP32[$t>>2]|0; + HEAP32[$pRangeStart>>2] = $651; + $652 = HEAP8[$bSeekPastNull>>0]|0; + HEAP8[$t3>>0] = $652; + $653 = HEAP8[$bStopAtNull>>0]|0; + HEAP8[$bSeekPastNull>>0] = $653; + $654 = HEAP8[$t3>>0]|0; + HEAP8[$bStopAtNull>>0] = $654; + } + $655 = HEAP32[$pParse>>2]|0; + $656 = HEAP32[$pLevel>>2]|0; + $657 = HEAP32[$bRev>>2]|0; + $658 = HEAP32[$nExtraReg>>2]|0; + $659 = (_codeAllEqualityTerms($655,$656,$657,$658,$zStartAff)|0); + HEAP32[$regBase>>2] = $659; + $660 = HEAP32[$zStartAff>>2]|0; + $661 = ($660|0)!=(0|0); + if ($661) { + $662 = HEAP16[$nEq>>1]|0; + $663 = $662&65535; + $664 = HEAP32[$zStartAff>>2]|0; + $665 = (($664) + ($663)|0); + $666 = HEAP8[$665>>0]|0; + HEAP8[$cEndAff>>0] = $666; + } + $667 = HEAP32[$pLevel>>2]|0; + $668 = ((($667)) + 16|0); + $669 = HEAP32[$668>>2]|0; + HEAP32[$addrNxt>>2] = $669; + $670 = HEAP32[$pRangeStart>>2]|0; + $671 = ($670|0)!=(0|0); + if ($671) { + $672 = HEAP32[$pRangeStart>>2]|0; + $673 = ((($672)) + 18|0); + $674 = HEAP16[$673>>1]|0; + $675 = $674&65535; + $676 = $675 & 40; + $677 = ($676|0)!=(0); + $679 = $677; + } else { + $679 = 1; + } + $678 = $679&1; + HEAP32[$startEq>>2] = $678; + $680 = HEAP32[$pRangeEnd>>2]|0; + $681 = ($680|0)!=(0|0); + if ($681) { + $682 = HEAP32[$pRangeEnd>>2]|0; + $683 = ((($682)) + 18|0); + $684 = HEAP16[$683>>1]|0; + $685 = $684&65535; + $686 = $685 & 40; + $687 = ($686|0)!=(0); + $689 = $687; + } else { + $689 = 1; + } + $688 = $689&1; + HEAP32[$endEq>>2] = $688; + $690 = HEAP32[$pRangeStart>>2]|0; + $691 = ($690|0)!=(0|0); + if ($691) { + $696 = 1; + } else { + $692 = HEAP16[$nEq>>1]|0; + $693 = $692&65535; + $694 = ($693|0)>(0); + $696 = $694; + } + $695 = $696&1; + HEAP32[$start_constraints>>2] = $695; + $697 = HEAP16[$nEq>>1]|0; + $698 = $697&65535; + HEAP32[$nConstraint2>>2] = $698; + $699 = HEAP32[$pRangeStart>>2]|0; + $700 = ($699|0)!=(0|0); + if ($700) { + $701 = HEAP32[$pRangeStart>>2]|0; + $702 = HEAP32[$701>>2]|0; + $703 = ((($702)) + 16|0); + $704 = HEAP32[$703>>2]|0; + HEAP32[$pRight4>>2] = $704; + $705 = HEAP32[$pParse>>2]|0; + $706 = HEAP32[$pRight4>>2]|0; + $707 = HEAP32[$regBase>>2]|0; + $708 = HEAP16[$nEq>>1]|0; + $709 = $708&65535; + $710 = (($707) + ($709))|0; + _sqlite3ExprCode($705,$706,$710); + $711 = HEAP32[$v>>2]|0; + $712 = HEAP32[$pLevel>>2]|0; + $713 = HEAP32[$pRangeStart>>2]|0; + _whereLikeOptimizationStringFixup($711,$712,$713); + $714 = HEAP32[$pRangeStart>>2]|0; + $715 = ((($714)) + 20|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716&65535; + $718 = $717 & 0; + $719 = ($718|0)==(0); + do { + if ($719) { + $720 = HEAP32[$pRight4>>2]|0; + $721 = (_sqlite3ExprCanBeNull($720)|0); + $722 = ($721|0)!=(0); + if (!($722)) { break; } - $776 = HEAP32[$v>>2]|0; - $777 = HEAP32[$regBase>>2]|0; - $778 = HEAP16[$nEq>>1]|0; - $779 = $778&65535; - $780 = (($777) + ($779))|0; - (_sqlite3VdbeAddOp2($776,25,0,$780)|0); - HEAP32[$endEq>>2] = 0; - $781 = HEAP32[$nConstraint2>>2]|0; - $782 = (($781) + 1)|0; - HEAP32[$nConstraint2>>2] = $782; + $723 = HEAP32[$v>>2]|0; + $724 = HEAP32[$regBase>>2]|0; + $725 = HEAP16[$nEq>>1]|0; + $726 = $725&65535; + $727 = (($724) + ($726))|0; + $728 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($723,76,$727,$728)|0); } } while(0); - $783 = HEAP32[$db>>2]|0; - $784 = HEAP32[$zStartAff>>2]|0; - _sqlite3DbFree($783,$784); - $785 = HEAP32[$v>>2]|0; - $786 = (_sqlite3VdbeCurrentAddr($785)|0); - $787 = HEAP32[$pLevel>>2]|0; - $788 = ((($787)) + 52|0); - HEAP32[$788>>2] = $786; - $789 = HEAP32[$nConstraint2>>2]|0; - $790 = ($789|0)!=(0); - if ($790) { - $791 = HEAP32[$bRev>>2]|0; - $792 = $791<<1; - $793 = HEAP32[$endEq>>2]|0; - $794 = (($792) + ($793))|0; - $795 = (35256 + ($794)|0); - $796 = HEAP8[$795>>0]|0; - $797 = $796&255; - HEAP32[$op>>2] = $797; - $798 = HEAP32[$v>>2]|0; - $799 = HEAP32[$op>>2]|0; - $800 = HEAP32[$iIdxCur>>2]|0; - $801 = HEAP32[$addrNxt>>2]|0; - $802 = HEAP32[$regBase>>2]|0; - $803 = HEAP32[$nConstraint2>>2]|0; - (_sqlite3VdbeAddOp4Int($798,$799,$800,$801,$802,$803)|0); - } - $804 = HEAP32[$pLevel>>2]|0; - $805 = HEAP32[$pRangeStart>>2]|0; - _disableTerm($804,$805); - $806 = HEAP32[$pLevel>>2]|0; - $807 = HEAP32[$pRangeEnd>>2]|0; - _disableTerm($806,$807); - $808 = HEAP32[$omitTable>>2]|0; - $809 = ($808|0)!=(0); + $729 = HEAP32[$zStartAff>>2]|0; + $730 = ($729|0)!=(0|0); do { - if (!($809)) { - $810 = HEAP32[$pIdx>>2]|0; - $811 = ((($810)) + 12|0); - $812 = HEAP32[$811>>2]|0; - $813 = ((($812)) + 42|0); - $814 = HEAP8[$813>>0]|0; - $815 = $814&255; - $816 = $815 & 32; - $817 = ($816|0)==(0); - if ($817) { - $818 = HEAP32[$3>>2]|0; - $819 = ((($818)) + 38|0); - $820 = HEAP8[$819>>0]|0; - $821 = $820&255; - $822 = ($821|0)!=(0); - if ($822) { - $823 = HEAP32[$pParse>>2]|0; - $824 = ((($823)) + 76|0); - $825 = HEAP32[$824>>2]|0; - $826 = (($825) + 1)|0; - HEAP32[$824>>2] = $826; - HEAP32[$iRowidReg>>2] = $826; - $827 = HEAP32[$v>>2]|0; - $828 = HEAP32[$iIdxCur>>2]|0; - $829 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp2($827,113,$828,$829)|0); - $830 = HEAP32[$pParse>>2]|0; - $831 = HEAP32[$iCur>>2]|0; - $832 = HEAP32[$iRowidReg>>2]|0; - _sqlite3ExprCacheStore($830,$831,-1,$832); - $833 = HEAP32[$v>>2]|0; - $834 = HEAP32[$iCur>>2]|0; - $835 = HEAP32[$iRowidReg>>2]|0; - (_sqlite3VdbeAddOp3($833,70,$834,0,$835)|0); - break; - } else { - $836 = HEAP32[$3>>2]|0; - $837 = HEAP32[$pIdx>>2]|0; - $838 = HEAP32[$iCur>>2]|0; - $839 = HEAP32[$iIdxCur>>2]|0; - _codeDeferredSeek($836,$837,$838,$839); - break; - } + if ($730) { + $731 = HEAP32[$pRight4>>2]|0; + $732 = HEAP16[$nEq>>1]|0; + $733 = $732&65535; + $734 = HEAP32[$zStartAff>>2]|0; + $735 = (($734) + ($733)|0); + $736 = HEAP8[$735>>0]|0; + $737 = (_sqlite3CompareAffinity($731,$736)|0); + $738 = $737 << 24 >> 24; + $739 = ($738|0)==(65); + if ($739) { + $740 = HEAP16[$nEq>>1]|0; + $741 = $740&65535; + $742 = HEAP32[$zStartAff>>2]|0; + $743 = (($742) + ($741)|0); + HEAP8[$743>>0] = 65; } - $840 = HEAP32[$iCur>>2]|0; - $841 = HEAP32[$iIdxCur>>2]|0; - $842 = ($840|0)!=($841|0); - if (!($842)) { + $744 = HEAP32[$pRight4>>2]|0; + $745 = HEAP16[$nEq>>1]|0; + $746 = $745&65535; + $747 = HEAP32[$zStartAff>>2]|0; + $748 = (($747) + ($746)|0); + $749 = HEAP8[$748>>0]|0; + $750 = (_sqlite3ExprNeedsNoAffinityChange($744,$749)|0); + $751 = ($750|0)!=(0); + if (!($751)) { break; } - $843 = HEAP32[$pIdx>>2]|0; - $844 = ((($843)) + 12|0); - $845 = HEAP32[$844>>2]|0; - $846 = (_sqlite3PrimaryKeyIndex($845)|0); - HEAP32[$pPk>>2] = $846; - $847 = HEAP32[$pParse>>2]|0; - $848 = HEAP32[$pPk>>2]|0; - $849 = ((($848)) + 50|0); - $850 = HEAP16[$849>>1]|0; - $851 = $850&65535; - $852 = (_sqlite3GetTempRange($847,$851)|0); - HEAP32[$iRowidReg>>2] = $852; - HEAP32[$j>>2] = 0; - while(1) { - $853 = HEAP32[$j>>2]|0; - $854 = HEAP32[$pPk>>2]|0; - $855 = ((($854)) + 50|0); - $856 = HEAP16[$855>>1]|0; - $857 = $856&65535; - $858 = ($853|0)<($857|0); - if (!($858)) { + $752 = HEAP16[$nEq>>1]|0; + $753 = $752&65535; + $754 = HEAP32[$zStartAff>>2]|0; + $755 = (($754) + ($753)|0); + HEAP8[$755>>0] = 65; + } + } while(0); + $756 = HEAP32[$nConstraint2>>2]|0; + $757 = (($756) + 1)|0; + HEAP32[$nConstraint2>>2] = $757; + } else { + $758 = HEAP8[$bSeekPastNull>>0]|0; + $759 = ($758<<24>>24)!=(0); + if ($759) { + $760 = HEAP32[$v>>2]|0; + $761 = HEAP32[$regBase>>2]|0; + $762 = HEAP16[$nEq>>1]|0; + $763 = $762&65535; + $764 = (($761) + ($763))|0; + (_sqlite3VdbeAddOp2($760,25,0,$764)|0); + $765 = HEAP32[$nConstraint2>>2]|0; + $766 = (($765) + 1)|0; + HEAP32[$nConstraint2>>2] = $766; + HEAP32[$startEq>>2] = 0; + HEAP32[$start_constraints>>2] = 1; + } + } + $767 = HEAP32[$pParse>>2]|0; + $768 = HEAP32[$regBase>>2]|0; + $769 = HEAP32[$nConstraint2>>2]|0; + $770 = HEAP8[$bSeekPastNull>>0]|0; + $771 = $770&255; + $772 = (($769) - ($771))|0; + $773 = HEAP32[$zStartAff>>2]|0; + _codeApplyAffinity($767,$768,$772,$773); + $774 = HEAP32[$pLoop>>2]|0; + $775 = ((($774)) + 42|0); + $776 = HEAP16[$775>>1]|0; + $777 = $776&65535; + $778 = ($777|0)>(0); + if ($778) { + $779 = HEAP32[$nConstraint2>>2]|0; + $780 = HEAP32[$pLoop>>2]|0; + $781 = ((($780)) + 42|0); + $782 = HEAP16[$781>>1]|0; + $783 = $782&65535; + $784 = ($779|0)==($783|0); + if (!($784)) { + label = 95; + } + } else { + label = 95; + } + if ((label|0) == 95) { + $785 = HEAP32[$start_constraints>>2]|0; + $786 = $785 << 2; + $787 = HEAP32[$startEq>>2]|0; + $788 = $787 << 1; + $789 = (($786) + ($788))|0; + $790 = HEAP32[$bRev>>2]|0; + $791 = (($789) + ($790))|0; + $792 = (34949 + ($791)|0); + $793 = HEAP8[$792>>0]|0; + $794 = $793&255; + HEAP32[$op>>2] = $794; + $795 = HEAP32[$v>>2]|0; + $796 = HEAP32[$op>>2]|0; + $797 = HEAP32[$iIdxCur>>2]|0; + $798 = HEAP32[$addrNxt>>2]|0; + $799 = HEAP32[$regBase>>2]|0; + $800 = HEAP32[$nConstraint2>>2]|0; + (_sqlite3VdbeAddOp4Int($795,$796,$797,$798,$799,$800)|0); + } + $801 = HEAP16[$nEq>>1]|0; + $802 = $801&65535; + HEAP32[$nConstraint2>>2] = $802; + $803 = HEAP32[$pRangeEnd>>2]|0; + $804 = ($803|0)!=(0|0); + do { + if ($804) { + $805 = HEAP32[$pRangeEnd>>2]|0; + $806 = HEAP32[$805>>2]|0; + $807 = ((($806)) + 16|0); + $808 = HEAP32[$807>>2]|0; + HEAP32[$pRight5>>2] = $808; + $809 = HEAP32[$pParse>>2]|0; + $810 = HEAP32[$regBase>>2]|0; + $811 = HEAP16[$nEq>>1]|0; + $812 = $811&65535; + $813 = (($810) + ($812))|0; + _sqlite3ExprCacheRemove($809,$813,1); + $814 = HEAP32[$pParse>>2]|0; + $815 = HEAP32[$pRight5>>2]|0; + $816 = HEAP32[$regBase>>2]|0; + $817 = HEAP16[$nEq>>1]|0; + $818 = $817&65535; + $819 = (($816) + ($818))|0; + _sqlite3ExprCode($814,$815,$819); + $820 = HEAP32[$v>>2]|0; + $821 = HEAP32[$pLevel>>2]|0; + $822 = HEAP32[$pRangeEnd>>2]|0; + _whereLikeOptimizationStringFixup($820,$821,$822); + $823 = HEAP32[$pRangeEnd>>2]|0; + $824 = ((($823)) + 20|0); + $825 = HEAP16[$824>>1]|0; + $826 = $825&65535; + $827 = $826 & 0; + $828 = ($827|0)==(0); + do { + if ($828) { + $829 = HEAP32[$pRight5>>2]|0; + $830 = (_sqlite3ExprCanBeNull($829)|0); + $831 = ($830|0)!=(0); + if (!($831)) { + break; + } + $832 = HEAP32[$v>>2]|0; + $833 = HEAP32[$regBase>>2]|0; + $834 = HEAP16[$nEq>>1]|0; + $835 = $834&65535; + $836 = (($833) + ($835))|0; + $837 = HEAP32[$addrNxt>>2]|0; + (_sqlite3VdbeAddOp2($832,76,$836,$837)|0); + } + } while(0); + $838 = HEAP32[$pRight5>>2]|0; + $839 = HEAP8[$cEndAff>>0]|0; + $840 = (_sqlite3CompareAffinity($838,$839)|0); + $841 = $840 << 24 >> 24; + $842 = ($841|0)!=(65); + do { + if ($842) { + $843 = HEAP32[$pRight5>>2]|0; + $844 = HEAP8[$cEndAff>>0]|0; + $845 = (_sqlite3ExprNeedsNoAffinityChange($843,$844)|0); + $846 = ($845|0)!=(0); + if ($846) { break; } - $859 = HEAP32[$pIdx>>2]|0; - $860 = HEAP32[$j>>2]|0; - $861 = HEAP32[$pPk>>2]|0; - $862 = ((($861)) + 4|0); - $863 = HEAP32[$862>>2]|0; - $864 = (($863) + ($860<<1)|0); - $865 = HEAP16[$864>>1]|0; - $866 = (_sqlite3ColumnOfIndex($859,$865)|0); - $867 = $866 << 16 >> 16; - HEAP32[$k>>2] = $867; - $868 = HEAP32[$v>>2]|0; - $869 = HEAP32[$iIdxCur>>2]|0; - $870 = HEAP32[$k>>2]|0; - $871 = HEAP32[$iRowidReg>>2]|0; - $872 = HEAP32[$j>>2]|0; - $873 = (($871) + ($872))|0; - (_sqlite3VdbeAddOp3($868,47,$869,$870,$873)|0); - $874 = HEAP32[$j>>2]|0; - $875 = (($874) + 1)|0; - HEAP32[$j>>2] = $875; + $847 = HEAP32[$pParse>>2]|0; + $848 = HEAP32[$regBase>>2]|0; + $849 = HEAP16[$nEq>>1]|0; + $850 = $849&65535; + $851 = (($848) + ($850))|0; + _codeApplyAffinity($847,$851,1,$cEndAff); } - $876 = HEAP32[$v>>2]|0; - $877 = HEAP32[$iCur>>2]|0; - $878 = HEAP32[$addrCont>>2]|0; - $879 = HEAP32[$iRowidReg>>2]|0; - $880 = HEAP32[$pPk>>2]|0; - $881 = ((($880)) + 50|0); - $882 = HEAP16[$881>>1]|0; - $883 = $882&65535; - (_sqlite3VdbeAddOp4Int($876,68,$877,$878,$879,$883)|0); + } while(0); + $852 = HEAP32[$nConstraint2>>2]|0; + $853 = (($852) + 1)|0; + HEAP32[$nConstraint2>>2] = $853; + } else { + $854 = HEAP8[$bStopAtNull>>0]|0; + $855 = ($854<<24>>24)!=(0); + if (!($855)) { + break; } - } while(0); - $884 = HEAP32[$pLoop>>2]|0; - $885 = ((($884)) + 36|0); - $886 = HEAP32[$885>>2]|0; - $887 = $886 & 4096; - $888 = ($887|0)!=(0); - do { - if ($888) { - $889 = HEAP32[$pLevel>>2]|0; - $890 = ((($889)) + 45|0); - HEAP8[$890>>0] = -96; - } else { - $891 = HEAP32[$bRev>>2]|0; - $892 = ($891|0)!=(0); - $893 = HEAP32[$pLevel>>2]|0; - $894 = ((($893)) + 45|0); - if ($892) { - HEAP8[$894>>0] = 6; + $856 = HEAP32[$v>>2]|0; + $857 = HEAP32[$regBase>>2]|0; + $858 = HEAP16[$nEq>>1]|0; + $859 = $858&65535; + $860 = (($857) + ($859))|0; + (_sqlite3VdbeAddOp2($856,25,0,$860)|0); + HEAP32[$endEq>>2] = 0; + $861 = HEAP32[$nConstraint2>>2]|0; + $862 = (($861) + 1)|0; + HEAP32[$nConstraint2>>2] = $862; + } + } while(0); + $863 = HEAP32[$db>>2]|0; + $864 = HEAP32[$zStartAff>>2]|0; + _sqlite3DbFree($863,$864); + $865 = HEAP32[$v>>2]|0; + $866 = (_sqlite3VdbeCurrentAddr($865)|0); + $867 = HEAP32[$pLevel>>2]|0; + $868 = ((($867)) + 52|0); + HEAP32[$868>>2] = $866; + $869 = HEAP32[$nConstraint2>>2]|0; + $870 = ($869|0)!=(0); + if ($870) { + $871 = HEAP32[$bRev>>2]|0; + $872 = $871<<1; + $873 = HEAP32[$endEq>>2]|0; + $874 = (($872) + ($873))|0; + $875 = (34957 + ($874)|0); + $876 = HEAP8[$875>>0]|0; + $877 = $876&255; + HEAP32[$op>>2] = $877; + $878 = HEAP32[$v>>2]|0; + $879 = HEAP32[$op>>2]|0; + $880 = HEAP32[$iIdxCur>>2]|0; + $881 = HEAP32[$addrNxt>>2]|0; + $882 = HEAP32[$regBase>>2]|0; + $883 = HEAP32[$nConstraint2>>2]|0; + (_sqlite3VdbeAddOp4Int($878,$879,$880,$881,$882,$883)|0); + } + $884 = HEAP32[$pLevel>>2]|0; + $885 = HEAP32[$pRangeStart>>2]|0; + _disableTerm($884,$885); + $886 = HEAP32[$pLevel>>2]|0; + $887 = HEAP32[$pRangeEnd>>2]|0; + _disableTerm($886,$887); + $888 = HEAP32[$omitTable>>2]|0; + $889 = ($888|0)!=(0); + do { + if (!($889)) { + $890 = HEAP32[$pIdx>>2]|0; + $891 = ((($890)) + 12|0); + $892 = HEAP32[$891>>2]|0; + $893 = ((($892)) + 42|0); + $894 = HEAP8[$893>>0]|0; + $895 = $894&255; + $896 = $895 & 32; + $897 = ($896|0)==(0); + if ($897) { + $898 = HEAP32[$3>>2]|0; + $899 = ((($898)) + 40|0); + $900 = HEAP8[$899>>0]|0; + $901 = $900&255; + $902 = ($901|0)!=(0); + if ($902) { + $903 = HEAP32[$pParse>>2]|0; + $904 = ((($903)) + 76|0); + $905 = HEAP32[$904>>2]|0; + $906 = (($905) + 1)|0; + HEAP32[$904>>2] = $906; + HEAP32[$iRowidReg>>2] = $906; + $907 = HEAP32[$v>>2]|0; + $908 = HEAP32[$iIdxCur>>2]|0; + $909 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp2($907,113,$908,$909)|0); + $910 = HEAP32[$pParse>>2]|0; + $911 = HEAP32[$iCur>>2]|0; + $912 = HEAP32[$iRowidReg>>2]|0; + _sqlite3ExprCacheStore($910,$911,-1,$912); + $913 = HEAP32[$v>>2]|0; + $914 = HEAP32[$iCur>>2]|0; + $915 = HEAP32[$iRowidReg>>2]|0; + (_sqlite3VdbeAddOp3($913,70,$914,0,$915)|0); break; } else { - HEAP8[$894>>0] = 7; + $916 = HEAP32[$3>>2]|0; + $917 = HEAP32[$pIdx>>2]|0; + $918 = HEAP32[$iCur>>2]|0; + $919 = HEAP32[$iIdxCur>>2]|0; + _codeDeferredSeek($916,$917,$918,$919); break; } } - } while(0); - $895 = HEAP32[$iIdxCur>>2]|0; - $896 = HEAP32[$pLevel>>2]|0; - $897 = ((($896)) + 48|0); - HEAP32[$897>>2] = $895; - $898 = HEAP32[$pLoop>>2]|0; - $899 = ((($898)) + 36|0); - $900 = HEAP32[$899>>2]|0; - $901 = $900 & 65536; - $902 = ($901|0)!=(0); - $903 = $902 ? 1 : 0; - $904 = $903&255; - $905 = HEAP32[$pLevel>>2]|0; - $906 = ((($905)) + 46|0); - HEAP8[$906>>0] = $904; - $907 = HEAP32[$pLoop>>2]|0; - $908 = ((($907)) + 36|0); - $909 = HEAP32[$908>>2]|0; - $910 = $909 & 15; - $911 = ($910|0)==(0); - if (!($911)) { - break; - } - $912 = HEAP32[$pLevel>>2]|0; - $913 = ((($912)) + 47|0); - HEAP8[$913>>0] = 1; - break; - } - $914 = ((($444)) + 36|0); - $915 = HEAP32[$914>>2]|0; - $916 = $915 & 8192; - $917 = ($916|0)!=(0); - if (!($917)) { - $1329 = HEAP32[$pTabItem>>2]|0; - $1330 = ((($1329)) + 36|0); - $1331 = ((($1330)) + 1|0); - $1332 = HEAP8[$1331>>0]|0; - $1333 = ($1332&255) >>> 5; - $1334 = $1333 & 1; - $1335 = $1334&255; - $1336 = ($1335|0)!=(0); - if ($1336) { - $1337 = HEAP32[$pLevel>>2]|0; - $1338 = ((($1337)) + 45|0); - HEAP8[$1338>>0] = -96; - break; - } else { - $1339 = HEAP32[$bRev>>2]|0; - $1340 = (35260 + ($1339)|0); - $1341 = HEAP8[$1340>>0]|0; - $1342 = HEAP32[$pLevel>>2]|0; - $1343 = ((($1342)) + 45|0); - HEAP8[$1343>>0] = $1341; - $1344 = HEAP32[$iCur>>2]|0; - $1345 = HEAP32[$pLevel>>2]|0; - $1346 = ((($1345)) + 48|0); - HEAP32[$1346>>2] = $1344; - $1347 = HEAP32[$v>>2]|0; - $1348 = HEAP32[$bRev>>2]|0; - $1349 = (35262 + ($1348)|0); - $1350 = HEAP8[$1349>>0]|0; - $1351 = $1350&255; - $1352 = HEAP32[$iCur>>2]|0; - $1353 = HEAP32[$addrBrk>>2]|0; - $1354 = (_sqlite3VdbeAddOp2($1347,$1351,$1352,$1353)|0); - $1355 = (1 + ($1354))|0; - $1356 = HEAP32[$pLevel>>2]|0; - $1357 = ((($1356)) + 52|0); - HEAP32[$1357>>2] = $1355; - $1358 = HEAP32[$pLevel>>2]|0; - $1359 = ((($1358)) + 47|0); - HEAP8[$1359>>0] = 1; - break; - } - } - HEAP32[$pCov>>2] = 0; - $918 = HEAP32[$pParse>>2]|0; - $919 = ((($918)) + 72|0); - $920 = HEAP32[$919>>2]|0; - $921 = (($920) + 1)|0; - HEAP32[$919>>2] = $921; - HEAP32[$iCovCur>>2] = $920; - $922 = HEAP32[$pParse>>2]|0; - $923 = ((($922)) + 76|0); - $924 = HEAP32[$923>>2]|0; - $925 = (($924) + 1)|0; - HEAP32[$923>>2] = $925; - HEAP32[$regReturn>>2] = $925; - HEAP32[$regRowset>>2] = 0; - HEAP32[$regRowid>>2] = 0; - $926 = HEAP32[$v>>2]|0; - $927 = (_sqlite3VdbeMakeLabel($926)|0); - HEAP32[$iLoopBody>>2] = $927; - HEAP32[$untestedTerms>>2] = 0; - HEAP32[$pAndExpr>>2] = 0; - $928 = HEAP32[$pTabItem>>2]|0; - $929 = ((($928)) + 16|0); - $930 = HEAP32[$929>>2]|0; - HEAP32[$pTab>>2] = $930; - $931 = HEAP32[$pLoop>>2]|0; - $932 = ((($931)) + 48|0); - $933 = HEAP32[$932>>2]|0; - $934 = HEAP32[$933>>2]|0; - HEAP32[$pTerm>>2] = $934; - $935 = HEAP32[$pTerm>>2]|0; - $936 = ((($935)) + 12|0); - $937 = HEAP32[$936>>2]|0; - HEAP32[$pOrWc>>2] = $937; - $938 = HEAP32[$pLevel>>2]|0; - $939 = ((($938)) + 45|0); - HEAP8[$939>>0] = 15; - $940 = HEAP32[$regReturn>>2]|0; - $941 = HEAP32[$pLevel>>2]|0; - $942 = ((($941)) + 48|0); - HEAP32[$942>>2] = $940; - $943 = HEAP32[$3>>2]|0; - $944 = ((($943)) + 41|0); - $945 = HEAP8[$944>>0]|0; - $946 = $945&255; - $947 = ($946|0)>(1); - $948 = HEAP32[$3>>2]|0; - L165: do { - if ($947) { - $949 = ((($948)) + 41|0); - $950 = HEAP8[$949>>0]|0; - $951 = $950&255; - $952 = HEAP32[$4>>2]|0; - $953 = (($951) - ($952))|0; - $954 = (($953) - 1)|0; - HEAP32[$nNotReady>>2] = $954; - $955 = HEAP32[$db>>2]|0; - $956 = HEAP32[$nNotReady>>2]|0; - $957 = ($956*72)|0; - $958 = (80 + ($957))|0; - $959 = (_sqlite3DbMallocRaw($955,$958,0)|0); - HEAP32[$pOrTab>>2] = $959; - $960 = HEAP32[$pOrTab>>2]|0; - $961 = ($960|0)==(0|0); - if ($961) { - $962 = $5; - $963 = $962; - $964 = HEAP32[$963>>2]|0; - $965 = (($962) + 4)|0; - $966 = $965; - $967 = HEAP32[$966>>2]|0; - $968 = $2; - $969 = $968; - HEAP32[$969>>2] = $964; - $970 = (($968) + 4)|0; - $971 = $970; - HEAP32[$971>>2] = $967; - $1584 = $2; - $1585 = $1584; - $1586 = HEAP32[$1585>>2]|0; - $1587 = (($1584) + 4)|0; - $1588 = $1587; - $1589 = HEAP32[$1588>>2]|0; - tempRet0 = ($1589); - STACKTOP = sp;return ($1586|0); - } - $972 = HEAP32[$nNotReady>>2]|0; - $973 = (($972) + 1)|0; - $974 = $973&255; - $975 = $974&255; - $976 = HEAP32[$pOrTab>>2]|0; - $977 = ((($976)) + 4|0); - HEAP32[$977>>2] = $975; - $978 = HEAP32[$pOrTab>>2]|0; - $979 = ((($978)) + 4|0); - $980 = HEAP32[$979>>2]|0; - $981 = HEAP32[$pOrTab>>2]|0; - HEAP32[$981>>2] = $980; - $982 = HEAP32[$pOrTab>>2]|0; - $983 = ((($982)) + 8|0); - $984 = HEAP32[$pTabItem>>2]|0; - dest=$983; src=$984; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $985 = HEAP32[$3>>2]|0; - $986 = ((($985)) + 4|0); - $987 = HEAP32[$986>>2]|0; - $988 = ((($987)) + 8|0); - HEAP32[$origSrc>>2] = $988; - HEAP32[$k>>2] = 1; + $920 = HEAP32[$iCur>>2]|0; + $921 = HEAP32[$iIdxCur>>2]|0; + $922 = ($920|0)!=($921|0); + if (!($922)) { + break; + } + $923 = HEAP32[$pIdx>>2]|0; + $924 = ((($923)) + 12|0); + $925 = HEAP32[$924>>2]|0; + $926 = (_sqlite3PrimaryKeyIndex($925)|0); + HEAP32[$pPk>>2] = $926; + $927 = HEAP32[$pParse>>2]|0; + $928 = HEAP32[$pPk>>2]|0; + $929 = ((($928)) + 50|0); + $930 = HEAP16[$929>>1]|0; + $931 = $930&65535; + $932 = (_sqlite3GetTempRange($927,$931)|0); + HEAP32[$iRowidReg>>2] = $932; + HEAP32[$j>>2] = 0; while(1) { - $989 = HEAP32[$k>>2]|0; - $990 = HEAP32[$nNotReady>>2]|0; - $991 = ($989|0)<=($990|0); - if (!($991)) { - break L165; + $933 = HEAP32[$j>>2]|0; + $934 = HEAP32[$pPk>>2]|0; + $935 = ((($934)) + 50|0); + $936 = HEAP16[$935>>1]|0; + $937 = $936&65535; + $938 = ($933|0)<($937|0); + if (!($938)) { + break; } - $992 = HEAP32[$k>>2]|0; - $993 = HEAP32[$pOrTab>>2]|0; - $994 = ((($993)) + 8|0); - $995 = (($994) + (($992*72)|0)|0); - $996 = HEAP32[$k>>2]|0; - $997 = HEAP32[$pLevel>>2]|0; - $998 = (($997) + (($996*80)|0)|0); - $999 = ((($998)) + 44|0); - $1000 = HEAP8[$999>>0]|0; - $1001 = $1000&255; - $1002 = HEAP32[$origSrc>>2]|0; - $1003 = (($1002) + (($1001*72)|0)|0); - dest=$995; src=$1003; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1004 = HEAP32[$k>>2]|0; - $1005 = (($1004) + 1)|0; - HEAP32[$k>>2] = $1005; - } - } else { - $1006 = ((($948)) + 4|0); - $1007 = HEAP32[$1006>>2]|0; - HEAP32[$pOrTab>>2] = $1007; + $939 = HEAP32[$pIdx>>2]|0; + $940 = HEAP32[$j>>2]|0; + $941 = HEAP32[$pPk>>2]|0; + $942 = ((($941)) + 4|0); + $943 = HEAP32[$942>>2]|0; + $944 = (($943) + ($940<<1)|0); + $945 = HEAP16[$944>>1]|0; + $946 = (_sqlite3ColumnOfIndex($939,$945)|0); + $947 = $946 << 16 >> 16; + HEAP32[$k>>2] = $947; + $948 = HEAP32[$v>>2]|0; + $949 = HEAP32[$iIdxCur>>2]|0; + $950 = HEAP32[$k>>2]|0; + $951 = HEAP32[$iRowidReg>>2]|0; + $952 = HEAP32[$j>>2]|0; + $953 = (($951) + ($952))|0; + (_sqlite3VdbeAddOp3($948,47,$949,$950,$953)|0); + $954 = HEAP32[$j>>2]|0; + $955 = (($954) + 1)|0; + HEAP32[$j>>2] = $955; + } + $956 = HEAP32[$v>>2]|0; + $957 = HEAP32[$iCur>>2]|0; + $958 = HEAP32[$addrCont>>2]|0; + $959 = HEAP32[$iRowidReg>>2]|0; + $960 = HEAP32[$pPk>>2]|0; + $961 = ((($960)) + 50|0); + $962 = HEAP16[$961>>1]|0; + $963 = $962&65535; + (_sqlite3VdbeAddOp4Int($956,68,$957,$958,$959,$963)|0); } } while(0); - $1008 = HEAP32[$3>>2]|0; - $1009 = ((($1008)) + 34|0); - $1010 = HEAP16[$1009>>1]|0; - $1011 = $1010&65535; - $1012 = $1011 & 8; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = HEAP32[$pTab>>2]|0; - $1015 = ((($1014)) + 42|0); - $1016 = HEAP8[$1015>>0]|0; - $1017 = $1016&255; - $1018 = $1017 & 32; - $1019 = ($1018|0)==(0); - if ($1019) { - $1020 = HEAP32[$pParse>>2]|0; - $1021 = ((($1020)) + 76|0); - $1022 = HEAP32[$1021>>2]|0; - $1023 = (($1022) + 1)|0; - HEAP32[$1021>>2] = $1023; - HEAP32[$regRowset>>2] = $1023; - $1024 = HEAP32[$v>>2]|0; - $1025 = HEAP32[$regRowset>>2]|0; - (_sqlite3VdbeAddOp2($1024,25,0,$1025)|0); + $964 = HEAP32[$pLoop>>2]|0; + $965 = ((($964)) + 36|0); + $966 = HEAP32[$965>>2]|0; + $967 = $966 & 4096; + $968 = ($967|0)!=(0); + do { + if ($968) { + $969 = HEAP32[$pLevel>>2]|0; + $970 = ((($969)) + 45|0); + HEAP8[$970>>0] = -96; } else { - $1026 = HEAP32[$pTab>>2]|0; - $1027 = (_sqlite3PrimaryKeyIndex($1026)|0); - HEAP32[$pPk5>>2] = $1027; - $1028 = HEAP32[$pParse>>2]|0; - $1029 = ((($1028)) + 72|0); - $1030 = HEAP32[$1029>>2]|0; - $1031 = (($1030) + 1)|0; - HEAP32[$1029>>2] = $1031; - HEAP32[$regRowset>>2] = $1030; - $1032 = HEAP32[$v>>2]|0; - $1033 = HEAP32[$regRowset>>2]|0; - $1034 = HEAP32[$pPk5>>2]|0; - $1035 = ((($1034)) + 50|0); - $1036 = HEAP16[$1035>>1]|0; - $1037 = $1036&65535; - (_sqlite3VdbeAddOp2($1032,57,$1033,$1037)|0); - $1038 = HEAP32[$pParse>>2]|0; - $1039 = HEAP32[$pPk5>>2]|0; - _sqlite3VdbeSetP4KeyInfo($1038,$1039); - } - $1040 = HEAP32[$pParse>>2]|0; - $1041 = ((($1040)) + 76|0); - $1042 = HEAP32[$1041>>2]|0; - $1043 = (($1042) + 1)|0; - HEAP32[$1041>>2] = $1043; - HEAP32[$regRowid>>2] = $1043; - } - $1044 = HEAP32[$v>>2]|0; - $1045 = HEAP32[$regReturn>>2]|0; - $1046 = (_sqlite3VdbeAddOp2($1044,22,0,$1045)|0); - HEAP32[$iRetInit>>2] = $1046; - $1047 = HEAP32[$pWC>>2]|0; - $1048 = ((($1047)) + 12|0); - $1049 = HEAP32[$1048>>2]|0; - $1050 = ($1049|0)>(1); - if ($1050) { - HEAP32[$iTerm>>2] = 0; - while(1) { - $1051 = HEAP32[$iTerm>>2]|0; - $1052 = HEAP32[$pWC>>2]|0; - $1053 = ((($1052)) + 12|0); - $1054 = HEAP32[$1053>>2]|0; - $1055 = ($1051|0)<($1054|0); - if (!($1055)) { + $971 = HEAP32[$bRev>>2]|0; + $972 = ($971|0)!=(0); + $973 = HEAP32[$pLevel>>2]|0; + $974 = ((($973)) + 45|0); + if ($972) { + HEAP8[$974>>0] = 6; + break; + } else { + HEAP8[$974>>0] = 7; break; - } - $1056 = HEAP32[$iTerm>>2]|0; - $1057 = HEAP32[$pWC>>2]|0; - $1058 = ((($1057)) + 20|0); - $1059 = HEAP32[$1058>>2]|0; - $1060 = (($1059) + (($1056*48)|0)|0); - $1061 = HEAP32[$1060>>2]|0; - HEAP32[$pExpr>>2] = $1061; - $1062 = HEAP32[$iTerm>>2]|0; - $1063 = HEAP32[$pWC>>2]|0; - $1064 = ((($1063)) + 20|0); - $1065 = HEAP32[$1064>>2]|0; - $1066 = (($1065) + (($1062*48)|0)|0); - $1067 = HEAP32[$pTerm>>2]|0; - $1068 = ($1066|0)==($1067|0); - if (!($1068)) { - $1069 = HEAP32[$pExpr>>2]|0; - $1070 = ((($1069)) + 4|0); - $1071 = HEAP32[$1070>>2]|0; - $1072 = $1071 & 1; - $1073 = ($1072|0)!=(0); - if (!($1073)) { - $1074 = HEAP32[$iTerm>>2]|0; - $1075 = HEAP32[$pWC>>2]|0; - $1076 = ((($1075)) + 20|0); - $1077 = HEAP32[$1076>>2]|0; - $1078 = (($1077) + (($1074*48)|0)|0); - $1079 = ((($1078)) + 20|0); - $1080 = HEAP16[$1079>>1]|0; - $1081 = $1080&65535; - $1082 = $1081 & 6; - $1083 = ($1082|0)!=(0); - if (!($1083)) { - $1084 = HEAP32[$iTerm>>2]|0; - $1085 = HEAP32[$pWC>>2]|0; - $1086 = ((($1085)) + 20|0); - $1087 = HEAP32[$1086>>2]|0; - $1088 = (($1087) + (($1084*48)|0)|0); - $1089 = ((($1088)) + 18|0); - $1090 = HEAP16[$1089>>1]|0; - $1091 = $1090&65535; - $1092 = $1091 & 8191; - $1093 = ($1092|0)==(0); - if (!($1093)) { - $1094 = HEAP32[$db>>2]|0; - $1095 = HEAP32[$pExpr>>2]|0; - $1096 = (_sqlite3ExprDup($1094,$1095,0)|0); - HEAP32[$pExpr>>2] = $1096; - $1097 = HEAP32[$db>>2]|0; - $1098 = HEAP32[$pAndExpr>>2]|0; - $1099 = HEAP32[$pExpr>>2]|0; - $1100 = (_sqlite3ExprAnd($1097,$1098,$1099)|0); - HEAP32[$pAndExpr>>2] = $1100; - } - } - } - } - $1101 = HEAP32[$iTerm>>2]|0; - $1102 = (($1101) + 1)|0; - HEAP32[$iTerm>>2] = $1102; - } - $1103 = HEAP32[$pAndExpr>>2]|0; - $1104 = ($1103|0)!=(0|0); - if ($1104) { - $1105 = HEAP32[$pParse>>2]|0; - $1106 = HEAP32[$pAndExpr>>2]|0; - $1107 = (_sqlite3PExpr($1105,328,0,$1106,0)|0); - HEAP32[$pAndExpr>>2] = $1107; - } - } - HEAP16[$wctrlFlags>>1] = 240; - HEAP32[$ii>>2] = 0; - while(1) { - $1108 = HEAP32[$ii>>2]|0; - $1109 = HEAP32[$pOrWc>>2]|0; - $1110 = ((($1109)) + 12|0); - $1111 = HEAP32[$1110>>2]|0; - $1112 = ($1108|0)<($1111|0); - if (!($1112)) { - break; - } - $1113 = HEAP32[$ii>>2]|0; - $1114 = HEAP32[$pOrWc>>2]|0; - $1115 = ((($1114)) + 20|0); - $1116 = HEAP32[$1115>>2]|0; - $1117 = (($1116) + (($1113*48)|0)|0); - HEAP32[$pOrTerm>>2] = $1117; - $1118 = HEAP32[$pOrTerm>>2]|0; - $1119 = ((($1118)) + 8|0); - $1120 = HEAP32[$1119>>2]|0; - $1121 = HEAP32[$iCur>>2]|0; - $1122 = ($1120|0)==($1121|0); - if ($1122) { - label = 142; - } else { - $1123 = HEAP32[$pOrTerm>>2]|0; - $1124 = ((($1123)) + 18|0); - $1125 = HEAP16[$1124>>1]|0; - $1126 = $1125&65535; - $1127 = $1126 & 1024; - $1128 = ($1127|0)!=(0); - if ($1128) { - label = 142; } } - if ((label|0) == 142) { - label = 0; - $1129 = HEAP32[$pOrTerm>>2]|0; - $1130 = HEAP32[$1129>>2]|0; - HEAP32[$pOrExpr>>2] = $1130; - HEAP32[$jmp1>>2] = 0; - $1131 = HEAP32[$pAndExpr>>2]|0; - $1132 = ($1131|0)!=(0|0); - if ($1132) { - $1133 = HEAP32[$pOrExpr>>2]|0; - $1134 = ((($1133)) + 4|0); - $1135 = HEAP32[$1134>>2]|0; - $1136 = $1135 & 1; - $1137 = ($1136|0)!=(0); - if (!($1137)) { - $1138 = HEAP32[$pOrExpr>>2]|0; - $1139 = HEAP32[$pAndExpr>>2]|0; - $1140 = ((($1139)) + 12|0); - HEAP32[$1140>>2] = $1138; - $1141 = HEAP32[$pAndExpr>>2]|0; - HEAP32[$pOrExpr>>2] = $1141; - } - } - $1142 = HEAP32[$pParse>>2]|0; - $1143 = HEAP32[$pOrTab>>2]|0; - $1144 = HEAP32[$pOrExpr>>2]|0; - $1145 = HEAP16[$wctrlFlags>>1]|0; - $1146 = HEAP32[$iCovCur>>2]|0; - $1147 = (_sqlite3WhereBegin($1142,$1143,$1144,0,0,$1145,$1146)|0); - HEAP32[$pSubWInfo>>2] = $1147; - $1148 = HEAP32[$pSubWInfo>>2]|0; - $1149 = ($1148|0)!=(0|0); - if ($1149) { - $1150 = HEAP32[$pParse>>2]|0; - $1151 = HEAP32[$pOrTab>>2]|0; - $1152 = HEAP32[$pSubWInfo>>2]|0; - $1153 = ((($1152)) + 736|0); - $1154 = HEAP32[$4>>2]|0; - $1155 = HEAP32[$pLevel>>2]|0; - $1156 = ((($1155)) + 44|0); - $1157 = HEAP8[$1156>>0]|0; - $1158 = $1157&255; - $1159 = (_sqlite3WhereExplainOneScan($1150,$1151,$1153,$1154,$1158,0)|0); - HEAP32[$addrExplain>>2] = $1159; - $1160 = HEAP32[$3>>2]|0; - $1161 = ((($1160)) + 34|0); - $1162 = HEAP16[$1161>>1]|0; - $1163 = $1162&65535; - $1164 = $1163 & 8; - $1165 = ($1164|0)==(0); - do { - if ($1165) { - $1166 = HEAP32[$ii>>2]|0; - $1167 = HEAP32[$pOrWc>>2]|0; - $1168 = ((($1167)) + 12|0); - $1169 = HEAP32[$1168>>2]|0; - $1170 = (($1169) - 1)|0; - $1171 = ($1166|0)==($1170|0); - $1172 = HEAP32[$ii>>2]|0; - $1173 = $1171 ? -1 : $1172; - HEAP32[$iSet>>2] = $1173; - $1174 = HEAP32[$pTab>>2]|0; - $1175 = ((($1174)) + 42|0); - $1176 = HEAP8[$1175>>0]|0; - $1177 = $1176&255; - $1178 = $1177 & 32; - $1179 = ($1178|0)==(0); - if ($1179) { - $1180 = HEAP32[$pParse>>2]|0; - $1181 = HEAP32[$pTab>>2]|0; - $1182 = HEAP32[$iCur>>2]|0; - $1183 = HEAP32[$regRowid>>2]|0; - $1184 = (_sqlite3ExprCodeGetColumn($1180,$1181,-1,$1182,$1183,0)|0); - HEAP32[$r>>2] = $1184; - $1185 = HEAP32[$v>>2]|0; - $1186 = HEAP32[$regRowset>>2]|0; - $1187 = HEAP32[$r>>2]|0; - $1188 = HEAP32[$iSet>>2]|0; - $1189 = (_sqlite3VdbeAddOp4Int($1185,131,$1186,0,$1187,$1188)|0); - HEAP32[$jmp1>>2] = $1189; - break; - } - $1190 = HEAP32[$pTab>>2]|0; - $1191 = (_sqlite3PrimaryKeyIndex($1190)|0); - HEAP32[$pPk6>>2] = $1191; - $1192 = HEAP32[$pPk6>>2]|0; - $1193 = ((($1192)) + 50|0); - $1194 = HEAP16[$1193>>1]|0; - $1195 = $1194&65535; - HEAP32[$nPk>>2] = $1195; - $1196 = HEAP32[$pParse>>2]|0; - $1197 = HEAP32[$nPk>>2]|0; - $1198 = (_sqlite3GetTempRange($1196,$1197)|0); - HEAP32[$r>>2] = $1198; - HEAP32[$iPk>>2] = 0; - while(1) { - $1199 = HEAP32[$iPk>>2]|0; - $1200 = HEAP32[$nPk>>2]|0; - $1201 = ($1199|0)<($1200|0); - if (!($1201)) { - break; - } - $1202 = HEAP32[$iPk>>2]|0; - $1203 = HEAP32[$pPk6>>2]|0; - $1204 = ((($1203)) + 4|0); - $1205 = HEAP32[$1204>>2]|0; - $1206 = (($1205) + ($1202<<1)|0); - $1207 = HEAP16[$1206>>1]|0; - $1208 = $1207 << 16 >> 16; - HEAP32[$iCol>>2] = $1208; - $1209 = HEAP32[$pParse>>2]|0; - $1210 = HEAP32[$pTab>>2]|0; - $1211 = HEAP32[$iCol>>2]|0; - $1212 = HEAP32[$iCur>>2]|0; - $1213 = HEAP32[$r>>2]|0; - $1214 = HEAP32[$iPk>>2]|0; - $1215 = (($1213) + ($1214))|0; - _sqlite3ExprCodeGetColumnToReg($1209,$1210,$1211,$1212,$1215); - $1216 = HEAP32[$iPk>>2]|0; - $1217 = (($1216) + 1)|0; - HEAP32[$iPk>>2] = $1217; - } - $1218 = HEAP32[$iSet>>2]|0; - $1219 = ($1218|0)!=(0); - if ($1219) { - $1220 = HEAP32[$v>>2]|0; - $1221 = HEAP32[$regRowset>>2]|0; - $1222 = HEAP32[$r>>2]|0; - $1223 = HEAP32[$nPk>>2]|0; - $1224 = (_sqlite3VdbeAddOp4Int($1220,69,$1221,0,$1222,$1223)|0); - HEAP32[$jmp1>>2] = $1224; - } - $1225 = HEAP32[$iSet>>2]|0; - $1226 = ($1225|0)>=(0); - do { - if ($1226) { - $1227 = HEAP32[$v>>2]|0; - $1228 = HEAP32[$r>>2]|0; - $1229 = HEAP32[$nPk>>2]|0; - $1230 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1227,49,$1228,$1229,$1230)|0); - $1231 = HEAP32[$v>>2]|0; - $1232 = HEAP32[$regRowset>>2]|0; - $1233 = HEAP32[$regRowid>>2]|0; - (_sqlite3VdbeAddOp3($1231,110,$1232,$1233,0)|0); - $1234 = HEAP32[$iSet>>2]|0; - $1235 = ($1234|0)!=(0); - if (!($1235)) { - break; - } - $1236 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($1236,16); - } - } while(0); - $1237 = HEAP32[$pParse>>2]|0; - $1238 = HEAP32[$r>>2]|0; - $1239 = HEAP32[$nPk>>2]|0; - _sqlite3ReleaseTempRange($1237,$1238,$1239); - } - } while(0); - $1240 = HEAP32[$v>>2]|0; - $1241 = HEAP32[$regReturn>>2]|0; - $1242 = HEAP32[$iLoopBody>>2]|0; - (_sqlite3VdbeAddOp2($1240,14,$1241,$1242)|0); - $1243 = HEAP32[$jmp1>>2]|0; - $1244 = ($1243|0)!=(0); - if ($1244) { - $1245 = HEAP32[$v>>2]|0; - $1246 = HEAP32[$jmp1>>2]|0; - _sqlite3VdbeJumpHere($1245,$1246); - } - $1247 = HEAP32[$pSubWInfo>>2]|0; - $1248 = ((($1247)) + 39|0); - $1249 = HEAP8[$1248>>0]|0; - $1250 = ($1249<<24>>24)!=(0); - if ($1250) { - HEAP32[$untestedTerms>>2] = 1; - } - $1251 = HEAP32[$pSubWInfo>>2]|0; - $1252 = ((($1251)) + 736|0); - $1253 = ((($1252)) + 64|0); - $1254 = HEAP32[$1253>>2]|0; - HEAP32[$pSubLoop>>2] = $1254; - $1255 = HEAP32[$pSubLoop>>2]|0; - $1256 = ((($1255)) + 36|0); - $1257 = HEAP32[$1256>>2]|0; - $1258 = $1257 & 512; - $1259 = ($1258|0)!=(0); - do { - if ($1259) { - $1260 = HEAP32[$ii>>2]|0; - $1261 = ($1260|0)==(0); - if (!($1261)) { - $1262 = HEAP32[$pSubLoop>>2]|0; - $1263 = ((($1262)) + 24|0); - $1264 = ((($1263)) + 4|0); - $1265 = HEAP32[$1264>>2]|0; - $1266 = HEAP32[$pCov>>2]|0; - $1267 = ($1265|0)==($1266|0); - if (!($1267)) { - label = 168; - break; - } - } - $1268 = HEAP32[$pTab>>2]|0; - $1269 = ((($1268)) + 42|0); - $1270 = HEAP8[$1269>>0]|0; - $1271 = $1270&255; - $1272 = $1271 & 32; - $1273 = ($1272|0)==(0); - if (!($1273)) { - $1274 = HEAP32[$pSubLoop>>2]|0; - $1275 = ((($1274)) + 24|0); - $1276 = ((($1275)) + 4|0); - $1277 = HEAP32[$1276>>2]|0; - $1278 = ((($1277)) + 55|0); - $1279 = HEAP8[$1278>>0]|0; - $1280 = $1279 & 3; - $1281 = $1280&255; - $1282 = ($1281|0)==(2); - if ($1282) { - label = 168; - break; - } - } - $1283 = HEAP32[$pSubLoop>>2]|0; - $1284 = ((($1283)) + 24|0); - $1285 = ((($1284)) + 4|0); - $1286 = HEAP32[$1285>>2]|0; - HEAP32[$pCov>>2] = $1286; - $1287 = HEAP16[$wctrlFlags>>1]|0; - $1288 = $1287&65535; - $1289 = $1288 | 4096; - $1290 = $1289&65535; - HEAP16[$wctrlFlags>>1] = $1290; - } else { - label = 168; - } - } while(0); - if ((label|0) == 168) { - label = 0; - HEAP32[$pCov>>2] = 0; - } - $1291 = HEAP32[$pSubWInfo>>2]|0; - _sqlite3WhereEnd($1291); - } - } - $1292 = HEAP32[$ii>>2]|0; - $1293 = (($1292) + 1)|0; - HEAP32[$ii>>2] = $1293; - } - $1294 = HEAP32[$pCov>>2]|0; - $1295 = HEAP32[$pLevel>>2]|0; - $1296 = ((($1295)) + 56|0); - HEAP32[$1296>>2] = $1294; - $1297 = HEAP32[$pCov>>2]|0; - $1298 = ($1297|0)!=(0|0); - if ($1298) { - $1299 = HEAP32[$iCovCur>>2]|0; - $1300 = HEAP32[$pLevel>>2]|0; - $1301 = ((($1300)) + 8|0); - HEAP32[$1301>>2] = $1299; - } - $1302 = HEAP32[$pAndExpr>>2]|0; - $1303 = ($1302|0)!=(0|0); - if ($1303) { - $1304 = HEAP32[$pAndExpr>>2]|0; - $1305 = ((($1304)) + 12|0); - HEAP32[$1305>>2] = 0; - $1306 = HEAP32[$db>>2]|0; - $1307 = HEAP32[$pAndExpr>>2]|0; - _sqlite3ExprDelete($1306,$1307); - } - $1308 = HEAP32[$v>>2]|0; - $1309 = HEAP32[$iRetInit>>2]|0; - $1310 = HEAP32[$v>>2]|0; - $1311 = (_sqlite3VdbeCurrentAddr($1310)|0); - _sqlite3VdbeChangeP1($1308,$1309,$1311); - $1312 = HEAP32[$v>>2]|0; - $1313 = HEAP32[$pLevel>>2]|0; - $1314 = ((($1313)) + 12|0); - $1315 = HEAP32[$1314>>2]|0; - (_sqlite3VdbeGoto($1312,$1315)|0); - $1316 = HEAP32[$v>>2]|0; - $1317 = HEAP32[$iLoopBody>>2]|0; - _sqlite3VdbeResolveLabel($1316,$1317); - $1318 = HEAP32[$3>>2]|0; - $1319 = ((($1318)) + 41|0); - $1320 = HEAP8[$1319>>0]|0; - $1321 = $1320&255; - $1322 = ($1321|0)>(1); - if ($1322) { - $1323 = HEAP32[$db>>2]|0; - $1324 = HEAP32[$pOrTab>>2]|0; - _sqlite3DbFree($1323,$1324); - } - $1325 = HEAP32[$untestedTerms>>2]|0; - $1326 = ($1325|0)!=(0); - if (!($1326)) { - $1327 = HEAP32[$pLevel>>2]|0; - $1328 = HEAP32[$pTerm>>2]|0; - _disableTerm($1327,$1328); + } while(0); + $975 = HEAP32[$iIdxCur>>2]|0; + $976 = HEAP32[$pLevel>>2]|0; + $977 = ((($976)) + 48|0); + HEAP32[$977>>2] = $975; + $978 = HEAP32[$pLoop>>2]|0; + $979 = ((($978)) + 36|0); + $980 = HEAP32[$979>>2]|0; + $981 = $980 & 65536; + $982 = ($981|0)!=(0); + $983 = $982 ? 1 : 0; + $984 = $983&255; + $985 = HEAP32[$pLevel>>2]|0; + $986 = ((($985)) + 46|0); + HEAP8[$986>>0] = $984; + $987 = HEAP32[$pLoop>>2]|0; + $988 = ((($987)) + 36|0); + $989 = HEAP32[$988>>2]|0; + $990 = $989 & 15; + $991 = ($990|0)==(0); + if (!($991)) { + break; } + $992 = HEAP32[$pLevel>>2]|0; + $993 = ((($992)) + 47|0); + HEAP8[$993>>0] = 1; } } while(0); - $1360 = HEAP32[$pWC>>2]|0; - $1361 = ((($1360)) + 20|0); - $1362 = HEAP32[$1361>>2]|0; - HEAP32[$pTerm>>2] = $1362; - $1363 = HEAP32[$pWC>>2]|0; - $1364 = ((($1363)) + 12|0); - $1365 = HEAP32[$1364>>2]|0; - HEAP32[$j>>2] = $1365; + $1440 = HEAP32[$pWC>>2]|0; + $1441 = ((($1440)) + 20|0); + $1442 = HEAP32[$1441>>2]|0; + HEAP32[$pTerm>>2] = $1442; + $1443 = HEAP32[$pWC>>2]|0; + $1444 = ((($1443)) + 12|0); + $1445 = HEAP32[$1444>>2]|0; + HEAP32[$j>>2] = $1445; while(1) { - $1366 = HEAP32[$j>>2]|0; - $1367 = ($1366|0)>(0); - if (!($1367)) { + $1446 = HEAP32[$j>>2]|0; + $1447 = ($1446|0)>(0); + if (!($1447)) { break; } HEAP32[$skipLikeAddr>>2] = 0; - $1368 = HEAP32[$pTerm>>2]|0; - $1369 = ((($1368)) + 20|0); - $1370 = HEAP16[$1369>>1]|0; - $1371 = $1370&65535; - $1372 = $1371 & 6; - $1373 = ($1372|0)!=(0); + $1448 = HEAP32[$pTerm>>2]|0; + $1449 = ((($1448)) + 20|0); + $1450 = HEAP16[$1449>>1]|0; + $1451 = $1450&65535; + $1452 = $1451 & 6; + $1453 = ($1452|0)!=(0); do { - if (!($1373)) { - $1374 = HEAP32[$pTerm>>2]|0; - $1375 = ((($1374)) + 40|0); - $1376 = $1375; - $1377 = $1376; - $1378 = HEAP32[$1377>>2]|0; - $1379 = (($1376) + 4)|0; - $1380 = $1379; - $1381 = HEAP32[$1380>>2]|0; - $1382 = HEAP32[$pLevel>>2]|0; - $1383 = ((($1382)) + 72|0); - $1384 = $1383; - $1385 = $1384; - $1386 = HEAP32[$1385>>2]|0; - $1387 = (($1384) + 4)|0; - $1388 = $1387; - $1389 = HEAP32[$1388>>2]|0; - $1390 = $1378 & $1386; - $1391 = $1381 & $1389; - $1392 = ($1390|0)!=(0); - $1393 = ($1391|0)!=(0); - $1394 = $1392 | $1393; - if ($1394) { - $1395 = HEAP32[$3>>2]|0; - $1396 = ((($1395)) + 39|0); - HEAP8[$1396>>0] = 1; + if (!($1453)) { + $1454 = HEAP32[$pTerm>>2]|0; + $1455 = ((($1454)) + 40|0); + $1456 = $1455; + $1457 = $1456; + $1458 = HEAP32[$1457>>2]|0; + $1459 = (($1456) + 4)|0; + $1460 = $1459; + $1461 = HEAP32[$1460>>2]|0; + $1462 = HEAP32[$pLevel>>2]|0; + $1463 = ((($1462)) + 72|0); + $1464 = $1463; + $1465 = $1464; + $1466 = HEAP32[$1465>>2]|0; + $1467 = (($1464) + 4)|0; + $1468 = $1467; + $1469 = HEAP32[$1468>>2]|0; + $1470 = $1458 & $1466; + $1471 = $1461 & $1469; + $1472 = ($1470|0)!=(0); + $1473 = ($1471|0)!=(0); + $1474 = $1472 | $1473; + if ($1474) { + $1475 = HEAP32[$3>>2]|0; + $1476 = ((($1475)) + 41|0); + HEAP8[$1476>>0] = 1; break; } - $1397 = HEAP32[$pTerm>>2]|0; - $1398 = HEAP32[$1397>>2]|0; - HEAP32[$pE>>2] = $1398; - $1399 = HEAP32[$pLevel>>2]|0; - $1400 = HEAP32[$1399>>2]|0; - $1401 = ($1400|0)!=(0); - if ($1401) { - $1402 = HEAP32[$pE>>2]|0; - $1403 = ((($1402)) + 4|0); - $1404 = HEAP32[$1403>>2]|0; - $1405 = $1404 & 1; - $1406 = ($1405|0)!=(0); - if (!($1406)) { + $1477 = HEAP32[$pTerm>>2]|0; + $1478 = HEAP32[$1477>>2]|0; + HEAP32[$pE>>2] = $1478; + $1479 = HEAP32[$pLevel>>2]|0; + $1480 = HEAP32[$1479>>2]|0; + $1481 = ($1480|0)!=(0); + if ($1481) { + $1482 = HEAP32[$pE>>2]|0; + $1483 = ((($1482)) + 4|0); + $1484 = HEAP32[$1483>>2]|0; + $1485 = $1484 & 1; + $1486 = ($1485|0)!=(0); + if (!($1486)) { break; } } - $1407 = HEAP32[$pTerm>>2]|0; - $1408 = ((($1407)) + 20|0); - $1409 = HEAP16[$1408>>1]|0; - $1410 = $1409&65535; - $1411 = $1410 & 512; - $1412 = ($1411|0)!=(0); - if ($1412) { - $1413 = HEAP32[$v>>2]|0; - $1414 = HEAP32[$pLevel>>2]|0; - $1415 = ((($1414)) + 36|0); - $1416 = HEAP32[$1415>>2]|0; - $1417 = (_sqlite3VdbeAddOp1($1413,46,$1416)|0); - HEAP32[$skipLikeAddr>>2] = $1417; - } - $1418 = HEAP32[$pParse>>2]|0; - $1419 = HEAP32[$pE>>2]|0; - $1420 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1418,$1419,$1420,16); - $1421 = HEAP32[$skipLikeAddr>>2]|0; - $1422 = ($1421|0)!=(0); - if ($1422) { - $1423 = HEAP32[$v>>2]|0; - $1424 = HEAP32[$skipLikeAddr>>2]|0; - _sqlite3VdbeJumpHere($1423,$1424); - } - $1425 = HEAP32[$pTerm>>2]|0; - $1426 = ((($1425)) + 20|0); - $1427 = HEAP16[$1426>>1]|0; - $1428 = $1427&65535; - $1429 = $1428 | 4; - $1430 = $1429&65535; - HEAP16[$1426>>1] = $1430; + $1487 = HEAP32[$pTerm>>2]|0; + $1488 = ((($1487)) + 20|0); + $1489 = HEAP16[$1488>>1]|0; + $1490 = $1489&65535; + $1491 = $1490 & 512; + $1492 = ($1491|0)!=(0); + if ($1492) { + $1493 = HEAP32[$v>>2]|0; + $1494 = HEAP32[$pLevel>>2]|0; + $1495 = ((($1494)) + 36|0); + $1496 = HEAP32[$1495>>2]|0; + $1497 = (_sqlite3VdbeAddOp1($1493,46,$1496)|0); + HEAP32[$skipLikeAddr>>2] = $1497; + } + $1498 = HEAP32[$pParse>>2]|0; + $1499 = HEAP32[$pE>>2]|0; + $1500 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1498,$1499,$1500,16); + $1501 = HEAP32[$skipLikeAddr>>2]|0; + $1502 = ($1501|0)!=(0); + if ($1502) { + $1503 = HEAP32[$v>>2]|0; + $1504 = HEAP32[$skipLikeAddr>>2]|0; + _sqlite3VdbeJumpHere($1503,$1504); + } + $1505 = HEAP32[$pTerm>>2]|0; + $1506 = ((($1505)) + 20|0); + $1507 = HEAP16[$1506>>1]|0; + $1508 = $1507&65535; + $1509 = $1508 | 4; + $1510 = $1509&65535; + HEAP16[$1506>>1] = $1510; } } while(0); - $1431 = HEAP32[$j>>2]|0; - $1432 = (($1431) + -1)|0; - HEAP32[$j>>2] = $1432; - $1433 = HEAP32[$pTerm>>2]|0; - $1434 = ((($1433)) + 48|0); - HEAP32[$pTerm>>2] = $1434; - } - $1435 = HEAP32[$pWC>>2]|0; - $1436 = ((($1435)) + 20|0); - $1437 = HEAP32[$1436>>2]|0; - HEAP32[$pTerm>>2] = $1437; - $1438 = HEAP32[$pWC>>2]|0; - $1439 = ((($1438)) + 12|0); - $1440 = HEAP32[$1439>>2]|0; - HEAP32[$j>>2] = $1440; + $1511 = HEAP32[$j>>2]|0; + $1512 = (($1511) + -1)|0; + HEAP32[$j>>2] = $1512; + $1513 = HEAP32[$pTerm>>2]|0; + $1514 = ((($1513)) + 48|0); + HEAP32[$pTerm>>2] = $1514; + } + $1515 = HEAP32[$pWC>>2]|0; + $1516 = ((($1515)) + 20|0); + $1517 = HEAP32[$1516>>2]|0; + HEAP32[$pTerm>>2] = $1517; + $1518 = HEAP32[$pWC>>2]|0; + $1519 = ((($1518)) + 12|0); + $1520 = HEAP32[$1519>>2]|0; + HEAP32[$j>>2] = $1520; while(1) { - $1441 = HEAP32[$j>>2]|0; - $1442 = ($1441|0)>(0); - if (!($1442)) { - break; - } - $1443 = HEAP32[$pTerm>>2]|0; - $1444 = ((($1443)) + 20|0); - $1445 = HEAP16[$1444>>1]|0; - $1446 = $1445&65535; - $1447 = $1446 & 6; - $1448 = ($1447|0)!=(0); - if (!($1448)) { - $1449 = HEAP32[$pTerm>>2]|0; - $1450 = ((($1449)) + 18|0); - $1451 = HEAP16[$1450>>1]|0; - $1452 = $1451&65535; - $1453 = $1452 & 130; - $1454 = ($1453|0)==(0); - if (!($1454)) { - $1455 = HEAP32[$pTerm>>2]|0; - $1456 = ((($1455)) + 18|0); - $1457 = HEAP16[$1456>>1]|0; - $1458 = $1457&65535; - $1459 = $1458 & 2048; - $1460 = ($1459|0)==(0); - if (!($1460)) { - $1461 = HEAP32[$pTerm>>2]|0; - $1462 = ((($1461)) + 8|0); - $1463 = HEAP32[$1462>>2]|0; - $1464 = HEAP32[$iCur>>2]|0; - $1465 = ($1463|0)!=($1464|0); - if (!($1465)) { - $1466 = HEAP32[$pLevel>>2]|0; - $1467 = HEAP32[$1466>>2]|0; - $1468 = ($1467|0)!=(0); - if (!($1468)) { - $1469 = HEAP32[$pTerm>>2]|0; - $1470 = HEAP32[$1469>>2]|0; - HEAP32[$pE7>>2] = $1470; - $1471 = HEAP32[$pWC>>2]|0; - $1472 = HEAP32[$iCur>>2]|0; - $1473 = HEAP32[$pTerm>>2]|0; - $1474 = ((($1473)) + 12|0); - $1475 = HEAP32[$1474>>2]|0; - $1476 = $5; - $1477 = $1476; - $1478 = HEAP32[$1477>>2]|0; - $1479 = (($1476) + 4)|0; - $1480 = $1479; - $1481 = HEAP32[$1480>>2]|0; - $1482 = (_sqlite3WhereFindTerm($1471,$1472,$1475,$1478,$1481,131,0)|0); - HEAP32[$pAlt>>2] = $1482; - $1483 = HEAP32[$pAlt>>2]|0; - $1484 = ($1483|0)==(0|0); - if (!($1484)) { - $1485 = HEAP32[$pAlt>>2]|0; - $1486 = ((($1485)) + 20|0); - $1487 = HEAP16[$1486>>1]|0; - $1488 = $1487&65535; - $1489 = $1488 & 4; - $1490 = ($1489|0)!=(0); - if (!($1490)) { - $1491 = HEAP32[$db>>2]|0; - $1492 = (_sqlite3DbMallocRaw($1491,48,0)|0); - HEAP32[$pEAlt>>2] = $1492; - $1493 = HEAP32[$pEAlt>>2]|0; - $1494 = ($1493|0)!=(0|0); - if ($1494) { - $1495 = HEAP32[$pEAlt>>2]|0; - $1496 = HEAP32[$pAlt>>2]|0; - $1497 = HEAP32[$1496>>2]|0; - dest=$1495; src=$1497; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $1498 = HEAP32[$pE7>>2]|0; - $1499 = ((($1498)) + 12|0); - $1500 = HEAP32[$1499>>2]|0; - $1501 = HEAP32[$pEAlt>>2]|0; - $1502 = ((($1501)) + 12|0); - HEAP32[$1502>>2] = $1500; - $1503 = HEAP32[$pParse>>2]|0; - $1504 = HEAP32[$pEAlt>>2]|0; - $1505 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1503,$1504,$1505,16); - $1506 = HEAP32[$db>>2]|0; - $1507 = HEAP32[$pEAlt>>2]|0; - _sqlite3DbFree($1506,$1507); + $1521 = HEAP32[$j>>2]|0; + $1522 = ($1521|0)>(0); + if (!($1522)) { + break; + } + $1523 = HEAP32[$pTerm>>2]|0; + $1524 = ((($1523)) + 20|0); + $1525 = HEAP16[$1524>>1]|0; + $1526 = $1525&65535; + $1527 = $1526 & 6; + $1528 = ($1527|0)!=(0); + if (!($1528)) { + $1529 = HEAP32[$pTerm>>2]|0; + $1530 = ((($1529)) + 18|0); + $1531 = HEAP16[$1530>>1]|0; + $1532 = $1531&65535; + $1533 = $1532 & 130; + $1534 = ($1533|0)==(0); + if (!($1534)) { + $1535 = HEAP32[$pTerm>>2]|0; + $1536 = ((($1535)) + 18|0); + $1537 = HEAP16[$1536>>1]|0; + $1538 = $1537&65535; + $1539 = $1538 & 2048; + $1540 = ($1539|0)==(0); + if (!($1540)) { + $1541 = HEAP32[$pTerm>>2]|0; + $1542 = ((($1541)) + 8|0); + $1543 = HEAP32[$1542>>2]|0; + $1544 = HEAP32[$iCur>>2]|0; + $1545 = ($1543|0)!=($1544|0); + if (!($1545)) { + $1546 = HEAP32[$pLevel>>2]|0; + $1547 = HEAP32[$1546>>2]|0; + $1548 = ($1547|0)!=(0); + if (!($1548)) { + $1549 = HEAP32[$pTerm>>2]|0; + $1550 = HEAP32[$1549>>2]|0; + HEAP32[$pE8>>2] = $1550; + $1551 = HEAP32[$pWC>>2]|0; + $1552 = HEAP32[$iCur>>2]|0; + $1553 = HEAP32[$pTerm>>2]|0; + $1554 = ((($1553)) + 12|0); + $1555 = HEAP32[$1554>>2]|0; + $1556 = $5; + $1557 = $1556; + $1558 = HEAP32[$1557>>2]|0; + $1559 = (($1556) + 4)|0; + $1560 = $1559; + $1561 = HEAP32[$1560>>2]|0; + $1562 = (_sqlite3WhereFindTerm($1551,$1552,$1555,$1558,$1561,131,0)|0); + HEAP32[$pAlt>>2] = $1562; + $1563 = HEAP32[$pAlt>>2]|0; + $1564 = ($1563|0)==(0|0); + if (!($1564)) { + $1565 = HEAP32[$pAlt>>2]|0; + $1566 = ((($1565)) + 20|0); + $1567 = HEAP16[$1566>>1]|0; + $1568 = $1567&65535; + $1569 = $1568 & 4; + $1570 = ($1569|0)!=(0); + if (!($1570)) { + $1571 = HEAP32[$db>>2]|0; + $1572 = (_sqlite3DbMallocRaw($1571,48,0)|0); + HEAP32[$pEAlt>>2] = $1572; + $1573 = HEAP32[$pEAlt>>2]|0; + $1574 = ($1573|0)!=(0|0); + if ($1574) { + $1575 = HEAP32[$pEAlt>>2]|0; + $1576 = HEAP32[$pAlt>>2]|0; + $1577 = HEAP32[$1576>>2]|0; + dest=$1575; src=$1577; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $1578 = HEAP32[$pE8>>2]|0; + $1579 = ((($1578)) + 12|0); + $1580 = HEAP32[$1579>>2]|0; + $1581 = HEAP32[$pEAlt>>2]|0; + $1582 = ((($1581)) + 12|0); + HEAP32[$1582>>2] = $1580; + $1583 = HEAP32[$pParse>>2]|0; + $1584 = HEAP32[$pEAlt>>2]|0; + $1585 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1583,$1584,$1585,16); + $1586 = HEAP32[$db>>2]|0; + $1587 = HEAP32[$pEAlt>>2]|0; + _sqlite3DbFree($1586,$1587); } } } @@ -174336,117 +175493,117 @@ function _sqlite3WhereCodeOneLoopStart($pWInfo,$iLevel,$0,$1) { } } } - $1508 = HEAP32[$j>>2]|0; - $1509 = (($1508) + -1)|0; - HEAP32[$j>>2] = $1509; - $1510 = HEAP32[$pTerm>>2]|0; - $1511 = ((($1510)) + 48|0); - HEAP32[$pTerm>>2] = $1511; - } - $1512 = HEAP32[$pLevel>>2]|0; - $1513 = HEAP32[$1512>>2]|0; - $1514 = ($1513|0)!=(0); - L289: do { - if ($1514) { - $1515 = HEAP32[$v>>2]|0; - $1516 = (_sqlite3VdbeCurrentAddr($1515)|0); - $1517 = HEAP32[$pLevel>>2]|0; - $1518 = ((($1517)) + 28|0); - HEAP32[$1518>>2] = $1516; - $1519 = HEAP32[$v>>2]|0; - $1520 = HEAP32[$pLevel>>2]|0; - $1521 = HEAP32[$1520>>2]|0; - (_sqlite3VdbeAddOp2($1519,22,1,$1521)|0); - $1522 = HEAP32[$pParse>>2]|0; - _sqlite3ExprCacheClear($1522); - $1523 = HEAP32[$pWC>>2]|0; - $1524 = ((($1523)) + 20|0); - $1525 = HEAP32[$1524>>2]|0; - HEAP32[$pTerm>>2] = $1525; + $1588 = HEAP32[$j>>2]|0; + $1589 = (($1588) + -1)|0; + HEAP32[$j>>2] = $1589; + $1590 = HEAP32[$pTerm>>2]|0; + $1591 = ((($1590)) + 48|0); + HEAP32[$pTerm>>2] = $1591; + } + $1592 = HEAP32[$pLevel>>2]|0; + $1593 = HEAP32[$1592>>2]|0; + $1594 = ($1593|0)!=(0); + L305: do { + if ($1594) { + $1595 = HEAP32[$v>>2]|0; + $1596 = (_sqlite3VdbeCurrentAddr($1595)|0); + $1597 = HEAP32[$pLevel>>2]|0; + $1598 = ((($1597)) + 28|0); + HEAP32[$1598>>2] = $1596; + $1599 = HEAP32[$v>>2]|0; + $1600 = HEAP32[$pLevel>>2]|0; + $1601 = HEAP32[$1600>>2]|0; + (_sqlite3VdbeAddOp2($1599,22,1,$1601)|0); + $1602 = HEAP32[$pParse>>2]|0; + _sqlite3ExprCacheClear($1602); + $1603 = HEAP32[$pWC>>2]|0; + $1604 = ((($1603)) + 20|0); + $1605 = HEAP32[$1604>>2]|0; + HEAP32[$pTerm>>2] = $1605; HEAP32[$j>>2] = 0; while(1) { - $1526 = HEAP32[$j>>2]|0; - $1527 = HEAP32[$pWC>>2]|0; - $1528 = ((($1527)) + 12|0); - $1529 = HEAP32[$1528>>2]|0; - $1530 = ($1526|0)<($1529|0); - if (!($1530)) { - break L289; - } - $1531 = HEAP32[$pTerm>>2]|0; - $1532 = ((($1531)) + 20|0); - $1533 = HEAP16[$1532>>1]|0; - $1534 = $1533&65535; - $1535 = $1534 & 6; - $1536 = ($1535|0)!=(0); - if (!($1536)) { - $1537 = HEAP32[$pTerm>>2]|0; - $1538 = ((($1537)) + 40|0); - $1539 = $1538; - $1540 = $1539; - $1541 = HEAP32[$1540>>2]|0; - $1542 = (($1539) + 4)|0; - $1543 = $1542; - $1544 = HEAP32[$1543>>2]|0; - $1545 = HEAP32[$pLevel>>2]|0; - $1546 = ((($1545)) + 72|0); - $1547 = $1546; - $1548 = $1547; - $1549 = HEAP32[$1548>>2]|0; - $1550 = (($1547) + 4)|0; - $1551 = $1550; - $1552 = HEAP32[$1551>>2]|0; - $1553 = $1541 & $1549; - $1554 = $1544 & $1552; - $1555 = ($1553|0)!=(0); - $1556 = ($1554|0)!=(0); - $1557 = $1555 | $1556; - if (!($1557)) { - $1558 = HEAP32[$pParse>>2]|0; - $1559 = HEAP32[$pTerm>>2]|0; - $1560 = HEAP32[$1559>>2]|0; - $1561 = HEAP32[$addrCont>>2]|0; - _sqlite3ExprIfFalse($1558,$1560,$1561,16); - $1562 = HEAP32[$pTerm>>2]|0; - $1563 = ((($1562)) + 20|0); - $1564 = HEAP16[$1563>>1]|0; - $1565 = $1564&65535; - $1566 = $1565 | 4; - $1567 = $1566&65535; - HEAP16[$1563>>1] = $1567; - } - } - $1568 = HEAP32[$j>>2]|0; - $1569 = (($1568) + 1)|0; - HEAP32[$j>>2] = $1569; - $1570 = HEAP32[$pTerm>>2]|0; - $1571 = ((($1570)) + 48|0); - HEAP32[$pTerm>>2] = $1571; + $1606 = HEAP32[$j>>2]|0; + $1607 = HEAP32[$pWC>>2]|0; + $1608 = ((($1607)) + 12|0); + $1609 = HEAP32[$1608>>2]|0; + $1610 = ($1606|0)<($1609|0); + if (!($1610)) { + break L305; + } + $1611 = HEAP32[$pTerm>>2]|0; + $1612 = ((($1611)) + 20|0); + $1613 = HEAP16[$1612>>1]|0; + $1614 = $1613&65535; + $1615 = $1614 & 6; + $1616 = ($1615|0)!=(0); + if (!($1616)) { + $1617 = HEAP32[$pTerm>>2]|0; + $1618 = ((($1617)) + 40|0); + $1619 = $1618; + $1620 = $1619; + $1621 = HEAP32[$1620>>2]|0; + $1622 = (($1619) + 4)|0; + $1623 = $1622; + $1624 = HEAP32[$1623>>2]|0; + $1625 = HEAP32[$pLevel>>2]|0; + $1626 = ((($1625)) + 72|0); + $1627 = $1626; + $1628 = $1627; + $1629 = HEAP32[$1628>>2]|0; + $1630 = (($1627) + 4)|0; + $1631 = $1630; + $1632 = HEAP32[$1631>>2]|0; + $1633 = $1621 & $1629; + $1634 = $1624 & $1632; + $1635 = ($1633|0)!=(0); + $1636 = ($1634|0)!=(0); + $1637 = $1635 | $1636; + if (!($1637)) { + $1638 = HEAP32[$pParse>>2]|0; + $1639 = HEAP32[$pTerm>>2]|0; + $1640 = HEAP32[$1639>>2]|0; + $1641 = HEAP32[$addrCont>>2]|0; + _sqlite3ExprIfFalse($1638,$1640,$1641,16); + $1642 = HEAP32[$pTerm>>2]|0; + $1643 = ((($1642)) + 20|0); + $1644 = HEAP16[$1643>>1]|0; + $1645 = $1644&65535; + $1646 = $1645 | 4; + $1647 = $1646&65535; + HEAP16[$1643>>1] = $1647; + } + } + $1648 = HEAP32[$j>>2]|0; + $1649 = (($1648) + 1)|0; + HEAP32[$j>>2] = $1649; + $1650 = HEAP32[$pTerm>>2]|0; + $1651 = ((($1650)) + 48|0); + HEAP32[$pTerm>>2] = $1651; } } } while(0); - $1572 = HEAP32[$pLevel>>2]|0; - $1573 = ((($1572)) + 72|0); - $1574 = $1573; - $1575 = $1574; - $1576 = HEAP32[$1575>>2]|0; - $1577 = (($1574) + 4)|0; - $1578 = $1577; - $1579 = HEAP32[$1578>>2]|0; - $1580 = $2; - $1581 = $1580; - HEAP32[$1581>>2] = $1576; - $1582 = (($1580) + 4)|0; - $1583 = $1582; - HEAP32[$1583>>2] = $1579; - $1584 = $2; - $1585 = $1584; - $1586 = HEAP32[$1585>>2]|0; - $1587 = (($1584) + 4)|0; - $1588 = $1587; - $1589 = HEAP32[$1588>>2]|0; - tempRet0 = ($1589); - STACKTOP = sp;return ($1586|0); + $1652 = HEAP32[$pLevel>>2]|0; + $1653 = ((($1652)) + 72|0); + $1654 = $1653; + $1655 = $1654; + $1656 = HEAP32[$1655>>2]|0; + $1657 = (($1654) + 4)|0; + $1658 = $1657; + $1659 = HEAP32[$1658>>2]|0; + $1660 = $2; + $1661 = $1660; + HEAP32[$1661>>2] = $1656; + $1662 = (($1660) + 4)|0; + $1663 = $1662; + HEAP32[$1663>>2] = $1659; + $1664 = $2; + $1665 = $1664; + $1666 = HEAP32[$1665>>2]|0; + $1667 = (($1664) + 4)|0; + $1668 = $1667; + $1669 = HEAP32[$1668>>2]|0; + tempRet0 = ($1669); + STACKTOP = sp;return ($1666|0); } function _sqlite3WhereGetMask($pMaskSet,$iCursor) { $pMaskSet = $pMaskSet|0; @@ -175483,7 +176640,7 @@ function _codeDeferredSeek($pWInfo,$pIdx,$iCur,$iIdxCur) { $11 = HEAP32[$2>>2]|0; (_sqlite3VdbeAddOp3($9,112,$10,0,$11)|0); $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 34|0); + $13 = ((($12)) + 36|0); $14 = HEAP16[$13>>1]|0; $15 = $14&65535; $16 = $15 & 32; @@ -175772,8 +176929,8 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0; - var $j = 0, $or$cond = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, $j = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -175828,67 +176985,78 @@ function _whereScanInit($pScan,$pWC,$iCur,$iColumn,$opMask,$pIdx) { $34 = ((($33)) + 12|0); HEAP32[$34>>2] = $32; } + $35 = HEAP32[$3>>2]|0; + $36 = HEAP32[$5>>2]|0; + $37 = ((($36)) + 12|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 32|0); + $40 = HEAP16[$39>>1]|0; + $41 = $40 << 16 >> 16; + $42 = ($35|0)==($41|0); + if ($42) { + HEAP32[$3>>2] = -1; + } } - $35 = HEAP32[$5>>2]|0; - $36 = ($35|0)!=(0|0); - $37 = HEAP32[$3>>2]|0; - $38 = ($37|0)>=(0); - $or$cond = $36 & $38; + $43 = HEAP32[$5>>2]|0; + $44 = ($43|0)!=(0|0); + $45 = HEAP32[$3>>2]|0; + $46 = ($45|0)>=(0); + $or$cond = $44 & $46; if ($or$cond) { - $39 = HEAP32[$3>>2]|0; - $40 = HEAP32[$5>>2]|0; - $41 = ((($40)) + 12|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + (($39*24)|0)|0); - $46 = ((($45)) + 21|0); - $47 = HEAP8[$46>>0]|0; - $48 = HEAP32[$0>>2]|0; - $49 = ((($48)) + 16|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[$j>>2]|0; - $51 = HEAP32[$5>>2]|0; - $52 = ((($51)) + 32|0); - $53 = HEAP32[$52>>2]|0; - $54 = (($53) + ($50<<2)|0); - $55 = HEAP32[$54>>2]|0; + $47 = HEAP32[$3>>2]|0; + $48 = HEAP32[$5>>2]|0; + $49 = ((($48)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($52) + ($47<<4)|0); + $54 = ((($53)) + 13|0); + $55 = HEAP8[$54>>0]|0; $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 8|0); - HEAP32[$57>>2] = $55; + $57 = ((($56)) + 16|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[$j>>2]|0; + $59 = HEAP32[$5>>2]|0; + $60 = ((($59)) + 32|0); + $61 = HEAP32[$60>>2]|0; + $62 = (($61) + ($58<<2)|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$0>>2]|0; + $65 = ((($64)) + 8|0); + HEAP32[$65>>2] = $63; } else { - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 16|0); - HEAP8[$59>>0] = 0; - $60 = HEAP32[$0>>2]|0; - $61 = ((($60)) + 8|0); - HEAP32[$61>>2] = 0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 16|0); + HEAP8[$67>>0] = 0; + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 8|0); + HEAP32[$69>>2] = 0; } - $62 = HEAP32[$4>>2]|0; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 20|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$0>>2]|0; - $66 = ((($65)) + 24|0); - HEAP32[$66>>2] = 0; - $67 = HEAP32[$2>>2]|0; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 28|0); - HEAP32[$69>>2] = $67; - $70 = HEAP32[$3>>2]|0; - $71 = $70&65535; - $72 = HEAP32[$0>>2]|0; - $73 = ((($72)) + 72|0); - HEAP16[$73>>1] = $71; - $74 = HEAP32[$0>>2]|0; - $75 = ((($74)) + 17|0); - HEAP8[$75>>0] = 1; + $70 = HEAP32[$4>>2]|0; + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 20|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 24|0); + HEAP32[$74>>2] = 0; + $75 = HEAP32[$2>>2]|0; $76 = HEAP32[$0>>2]|0; - $77 = ((($76)) + 18|0); - HEAP8[$77>>0] = 1; - $78 = HEAP32[$0>>2]|0; - $79 = (_whereScanNext($78)|0); - STACKTOP = sp;return ($79|0); + $77 = ((($76)) + 28|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$3>>2]|0; + $79 = $78&65535; + $80 = HEAP32[$0>>2]|0; + $81 = ((($80)) + 72|0); + HEAP16[$81>>1] = $79; + $82 = HEAP32[$0>>2]|0; + $83 = ((($82)) + 17|0); + HEAP8[$83>>0] = 1; + $84 = HEAP32[$0>>2]|0; + $85 = ((($84)) + 18|0); + HEAP8[$85>>0] = 1; + $86 = HEAP32[$0>>2]|0; + $87 = (_whereScanNext($86)|0); + STACKTOP = sp;return ($87|0); } function _whereScanNext($pScan) { $pScan = $pScan|0; @@ -176199,7 +177367,7 @@ function _whereScanNext($pScan) { $205 = HEAP32[$1>>2]|0; $206 = ((($205)) + 8|0); $207 = HEAP32[$206>>2]|0; - $208 = (_sqlite3_stricmp($204,$207)|0); + $208 = (_sqlite3StrICmp($204,$207)|0); $209 = ($208|0)!=(0); if ($209) { break; @@ -176374,7 +177542,7 @@ function _explainIndexRange($pStr,$pLoop) { } } $20 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($20,35496,2); + _sqlite3StrAccumAppend($20,35197,2); HEAP32[$i>>2] = 0; while(1) { $21 = HEAP32[$i>>2]|0; @@ -176392,14 +177560,14 @@ function _explainIndexRange($pStr,$pLoop) { $29 = ($28|0)!=(0); if ($29) { $30 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($30,35499,5); + _sqlite3StrAccumAppend($30,35200,5); } $31 = HEAP32[$0>>2]|0; $32 = HEAP32[$i>>2]|0; $33 = HEAP16[$nSkip>>1]|0; $34 = $33&65535; $35 = ($32|0)>=($34|0); - $36 = $35 ? 35505 : 35510; + $36 = $35 ? 35206 : 35211; $37 = HEAP32[$z>>2]|0; HEAP32[$vararg_buffer>>2] = $37; _sqlite3XPrintf($31,$36,$vararg_buffer); @@ -176424,7 +177592,7 @@ function _explainIndexRange($pStr,$pLoop) { $51 = (($50) + 1)|0; HEAP32[$i>>2] = $51; $52 = HEAP32[$z1>>2]|0; - _explainAppendTerm($49,$50,$52,35427); + _explainAppendTerm($49,$50,$52,35128); } $53 = HEAP32[$1>>2]|0; $54 = ((($53)) + 36|0); @@ -176439,10 +177607,10 @@ function _explainIndexRange($pStr,$pLoop) { $61 = HEAP32[$0>>2]|0; $62 = HEAP32[$i>>2]|0; $63 = HEAP32[$z2>>2]|0; - _explainAppendTerm($61,$62,$63,35429); + _explainAppendTerm($61,$62,$63,35130); } $64 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($64,35518,1); + _sqlite3StrAccumAppend($64,35219,1); STACKTOP = sp;return; } function _explainIndexColumnName($pIdx,$i) { @@ -176468,14 +177636,14 @@ function _explainIndexColumnName($pIdx,$i) { $10 = HEAP32[$2>>2]|0; $11 = ($10|0)==(-2); if ($11) { - HEAP32[$0>>2] = 35520; + HEAP32[$0>>2] = 35221; $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); } $12 = HEAP32[$2>>2]|0; $13 = ($12|0)==(-1); if ($13) { - HEAP32[$0>>2] = 25592; + HEAP32[$0>>2] = 25353; $22 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($22|0); } else { @@ -176485,7 +177653,7 @@ function _explainIndexColumnName($pIdx,$i) { $17 = HEAP32[$16>>2]|0; $18 = ((($17)) + 4|0); $19 = HEAP32[$18>>2]|0; - $20 = (($19) + (($14*24)|0)|0); + $20 = (($19) + ($14<<4)|0); $21 = HEAP32[$20>>2]|0; HEAP32[$0>>2] = $21; $22 = HEAP32[$0>>2]|0; @@ -176513,7 +177681,7 @@ function _explainAppendTerm($pStr,$iTerm,$zColumn,$zOp) { $5 = ($4|0)!=(0); if ($5) { $6 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($6,35499,5); + _sqlite3StrAccumAppend($6,35200,5); } $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$2>>2]|0; @@ -176522,7 +177690,7 @@ function _explainAppendTerm($pStr,$iTerm,$zColumn,$zOp) { $10 = HEAP32[$3>>2]|0; _sqlite3StrAccumAppend($9,$10,1); $11 = HEAP32[$0>>2]|0; - _sqlite3StrAccumAppend($11,21139,1); + _sqlite3StrAccumAppend($11,20883,1); STACKTOP = sp;return; } function _sqlite3ExprIsTableConstant($p,$iCur) { @@ -176628,8 +177796,8 @@ function _termCanDriveIndex($pTerm,$pSrc,$0,$1) { $51 = HEAP32[$50>>2]|0; $52 = ((($51)) + 4|0); $53 = HEAP32[$52>>2]|0; - $54 = (($53) + (($48*24)|0)|0); - $55 = ((($54)) + 21|0); + $54 = (($53) + ($48<<4)|0); + $55 = ((($54)) + 13|0); $56 = HEAP8[$55>>0]|0; HEAP8[$aff>>0] = $56; $57 = HEAP32[$3>>2]|0; @@ -177055,7 +178223,7 @@ function _exprSelectUsage($pMaskSet,$pS) { break; } $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 32|0); + $9 = ((($8)) + 28|0); $10 = HEAP32[$9>>2]|0; HEAP32[$pSrc>>2] = $10; $11 = HEAP32[$0>>2]|0; @@ -177079,7 +178247,7 @@ function _exprSelectUsage($pMaskSet,$pS) { HEAP32[$27>>2] = $23; $28 = HEAP32[$0>>2]|0; $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 40|0); + $30 = ((($29)) + 36|0); $31 = HEAP32[$30>>2]|0; $32 = (_sqlite3WhereExprListUsage($28,$31)|0); $33 = tempRet0; @@ -177099,7 +178267,7 @@ function _exprSelectUsage($pMaskSet,$pS) { HEAP32[$45>>2] = $41; $46 = HEAP32[$0>>2]|0; $47 = HEAP32[$1>>2]|0; - $48 = ((($47)) + 48|0); + $48 = ((($47)) + 44|0); $49 = HEAP32[$48>>2]|0; $50 = (_sqlite3WhereExprListUsage($46,$49)|0); $51 = tempRet0; @@ -177119,7 +178287,7 @@ function _exprSelectUsage($pMaskSet,$pS) { HEAP32[$63>>2] = $59; $64 = HEAP32[$0>>2]|0; $65 = HEAP32[$1>>2]|0; - $66 = ((($65)) + 36|0); + $66 = ((($65)) + 32|0); $67 = HEAP32[$66>>2]|0; $68 = (_sqlite3WhereExprUsage($64,$67)|0); $69 = tempRet0; @@ -177139,7 +178307,7 @@ function _exprSelectUsage($pMaskSet,$pS) { HEAP32[$81>>2] = $77; $82 = HEAP32[$0>>2]|0; $83 = HEAP32[$1>>2]|0; - $84 = ((($83)) + 44|0); + $84 = ((($83)) + 40|0); $85 = HEAP32[$84>>2]|0; $86 = (_sqlite3WhereExprUsage($82,$85)|0); $87 = tempRet0; @@ -177223,7 +178391,7 @@ function _exprSelectUsage($pMaskSet,$pS) { } } while(0); $150 = HEAP32[$1>>2]|0; - $151 = ((($150)) + 52|0); + $151 = ((($150)) + 48|0); $152 = HEAP32[$151>>2]|0; HEAP32[$1>>2] = $152; } @@ -177287,7 +178455,7 @@ function _sqlite3LogEstAdd($a,$b) { $26 = HEAP16[$2>>1]|0; $27 = $26 << 16 >> 16; $28 = (($25) - ($27))|0; - $29 = (35582 + ($28)|0); + $29 = (35283 + ($28)|0); $30 = HEAP8[$29>>0]|0; $31 = $30&255; $32 = (($21) + ($31))|0; @@ -177328,7 +178496,7 @@ function _sqlite3LogEstAdd($a,$b) { $52 = HEAP16[$1>>1]|0; $53 = $52 << 16 >> 16; $54 = (($51) - ($53))|0; - $55 = (35582 + ($54)|0); + $55 = (35283 + ($54)|0); $56 = HEAP8[$55>>0]|0; $57 = $56&255; $58 = (($47) + ($57))|0; @@ -177448,7 +178616,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $17 = ($16|0)!=(0); if ($17) { $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 60|0); + $19 = ((($18)) + 64|0); $20 = HEAP16[$19>>1]|0; $21 = $20&65535; $22 = $21 & 128; @@ -177712,7 +178880,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, HEAP32[$z2>>2] = $226; $227 = HEAP32[$z1>>2]|0; $228 = HEAP32[$z2>>2]|0; - $229 = (_sqlite3_stricmp($227,$228)|0); + $229 = (_sqlite3StrICmp($227,$228)|0); $230 = ($229|0)!=(0); if ($230) { break; @@ -177908,8 +179076,8 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $349 = HEAP32[$348>>2]|0; $350 = ((($349)) + 4|0); $351 = HEAP32[$350>>2]|0; - $352 = (($351) + (($346*24)|0)|0); - $353 = ((($352)) + 20|0); + $352 = (($351) + ($346<<4)|0); + $353 = ((($352)) + 12|0); $354 = HEAP8[$353>>0]|0; $355 = $354&255; $356 = ($355|0)==(0); @@ -178043,7 +179211,7 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, $438 = HEAP32[$437>>2]|0; $439 = (($438) + ($435<<2)|0); $440 = HEAP32[$439>>2]|0; - $441 = (_sqlite3_stricmp($434,$440)|0); + $441 = (_sqlite3StrICmp($434,$440)|0); $442 = ($441|0)!=(0); if (!($442)) { label = 70; @@ -178444,49 +179612,78 @@ function _wherePathSatisfiesOrderBy($pWInfo,$pOrderBy,$pPath,$wctrlFlags,$nLoop, } return (0)|0; } -function _whereSortingCost($nRow,$nOrderBy,$nSorted) { +function _whereSortingCost($pWInfo,$nRow,$nOrderBy,$nSorted) { + $pWInfo = $pWInfo|0; $nRow = $nRow|0; $nOrderBy = $nOrderBy|0; $nSorted = $nSorted|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rScale = 0, $rSortCost = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $rScale = 0, $rSortCost = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 4|0; - $2 = sp; - $rScale = sp + 10|0; - $rSortCost = sp + 8|0; - HEAP16[$0>>1] = $nRow; - HEAP32[$1>>2] = $nOrderBy; - HEAP32[$2>>2] = $nSorted; - $3 = HEAP32[$1>>2]|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 8|0; + $1 = sp + 16|0; + $2 = sp + 4|0; + $3 = sp; + $rScale = sp + 14|0; + $rSortCost = sp + 12|0; + HEAP32[$0>>2] = $pWInfo; + HEAP16[$1>>1] = $nRow; + HEAP32[$2>>2] = $nOrderBy; + HEAP32[$3>>2] = $nSorted; $4 = HEAP32[$2>>2]|0; - $5 = (($3) - ($4))|0; - $6 = ($5*100)|0; - $7 = HEAP32[$1>>2]|0; - $8 = (($6|0) / ($7|0))&-1; - $9 = ($8|0)<(0); - $10 = $9 << 31 >> 31; - $11 = (_sqlite3LogEst($8,$10)|0); - $12 = $11 << 16 >> 16; - $13 = (($12) - 66)|0; - $14 = $13&65535; - HEAP16[$rScale>>1] = $14; - $15 = HEAP16[$0>>1]|0; - $16 = $15 << 16 >> 16; - $17 = HEAP16[$0>>1]|0; - $18 = (_estLog($17)|0); + $5 = HEAP32[$3>>2]|0; + $6 = (($4) - ($5))|0; + $7 = ($6*100)|0; + $8 = HEAP32[$2>>2]|0; + $9 = (($7|0) / ($8|0))&-1; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (_sqlite3LogEst($9,$11)|0); + $13 = $12 << 16 >> 16; + $14 = (($13) - 66)|0; + $15 = $14&65535; + HEAP16[$rScale>>1] = $15; + $16 = HEAP16[$1>>1]|0; + $17 = $16 << 16 >> 16; + $18 = HEAP16[$rScale>>1]|0; $19 = $18 << 16 >> 16; - $20 = (($16) + ($19))|0; - $21 = HEAP16[$rScale>>1]|0; - $22 = $21 << 16 >> 16; - $23 = (($20) + ($22))|0; - $24 = (($23) + 16)|0; - $25 = $24&65535; - HEAP16[$rSortCost>>1] = $25; - $26 = HEAP16[$rSortCost>>1]|0; - STACKTOP = sp;return ($26|0); + $20 = (($17) + ($19))|0; + $21 = (($20) + 16)|0; + $22 = $21&65535; + HEAP16[$rSortCost>>1] = $22; + $23 = HEAP32[$0>>2]|0; + $24 = ((($23)) + 36|0); + $25 = HEAP16[$24>>1]|0; + $26 = $25&65535; + $27 = $26 & 16384; + $28 = ($27|0)!=(0); + if ($28) { + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 34|0); + $31 = HEAP16[$30>>1]|0; + $32 = $31 << 16 >> 16; + $33 = HEAP16[$1>>1]|0; + $34 = $33 << 16 >> 16; + $35 = ($32|0)<($34|0); + if ($35) { + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 34|0); + $38 = HEAP16[$37>>1]|0; + HEAP16[$1>>1] = $38; + } + } + $39 = HEAP16[$1>>1]|0; + $40 = (_estLog($39)|0); + $41 = $40 << 16 >> 16; + $42 = HEAP16[$rSortCost>>1]|0; + $43 = $42 << 16 >> 16; + $44 = (($43) + ($41))|0; + $45 = $44&65535; + HEAP16[$rSortCost>>1] = $45; + $46 = HEAP16[$rSortCost>>1]|0; + STACKTOP = sp;return ($46|0); } function _estLog($N) { $N = $N|0; @@ -178535,43 +179732,34 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0; - var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0; - var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0; - var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0.0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0; - var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0; - var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0; - var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iPhase = 0, $iTerm = 0, $j = 0, $mxTerm = 0, $nConstraint = 0, $or$cond = 0, $or$cond3 = 0, $pIdxCons = 0, $pIdxInfo = 0, $pNew = 0, $pParse = 0; - var $pSrc = 0, $pTab = 0, $pTerm = 0, $pUsage = 0, $pWC = 0, $pWInfo = 0, $rc = 0, $seenIn = 0, $seenVar = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $bIn = 0; + var $i = 0, $mBest = 0, $mBestNoIn = 0, $mNext = 0, $mPrev = 0, $mThis = 0, $nConstraint = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pNew = 0, $pParse = 0, $pSrc = 0, $pWC = 0, $pWInfo = 0, $rc = 0, $seenZero = 0, $seenZeroNoIN = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; - $vararg_buffer = sp + 16|0; - $4 = sp + 104|0; - $5 = sp + 100|0; - $6 = sp + 8|0; - $7 = sp; + $4 = sp + 108|0; + $5 = sp + 104|0; + $6 = sp + 48|0; + $7 = sp + 40|0; + $rc = sp + 100|0; $pWInfo = sp + 96|0; $pParse = sp + 92|0; $pWC = sp + 88|0; $pSrc = sp + 84|0; - $pTab = sp + 80|0; - $db = sp + 76|0; - $pIdxInfo = sp + 72|0; - $pIdxCons = sp + 68|0; - $pUsage = sp + 64|0; - $pTerm = sp + 60|0; + $p = sp + 80|0; + $nConstraint = sp + 76|0; + $bIn = sp + 72|0; + $pNew = sp + 68|0; + $mBest = sp + 32|0; + $seenZero = sp + 64|0; + $seenZeroNoIN = sp + 60|0; + $mPrev = sp + 24|0; + $mBestNoIn = sp + 16|0; $i = sp + 56|0; - $j = sp + 52|0; - $iTerm = sp + 48|0; - $mxTerm = sp + 44|0; - $nConstraint = sp + 40|0; - $seenIn = sp + 36|0; - $seenVar = sp + 32|0; - $iPhase = sp + 28|0; - $pNew = sp + 24|0; - $rc = sp + 20|0; + $mNext = sp + 8|0; + $mThis = sp; HEAP32[$5>>2] = $pBuilder; $8 = $6; $9 = $8; @@ -178585,8 +179773,6 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { $14 = (($12) + 4)|0; $15 = $14; HEAP32[$15>>2] = $3; - HEAP32[$seenIn>>2] = 0; - HEAP32[$seenVar>>2] = 0; HEAP32[$rc>>2] = 0; $16 = HEAP32[$5>>2]|0; $17 = HEAP32[$16>>2]|0; @@ -178594,652 +179780,470 @@ function _whereLoopAddVirtual($pBuilder,$0,$1,$2,$3) { $18 = HEAP32[$pWInfo>>2]|0; $19 = HEAP32[$18>>2]|0; HEAP32[$pParse>>2] = $19; - $20 = HEAP32[$pParse>>2]|0; - $21 = HEAP32[$20>>2]|0; - HEAP32[$db>>2] = $21; - $22 = HEAP32[$5>>2]|0; - $23 = ((($22)) + 4|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$pWC>>2] = $24; - $25 = HEAP32[$5>>2]|0; - $26 = ((($25)) + 12|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$pNew>>2] = $27; - $28 = HEAP32[$pNew>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = HEAP32[$pWInfo>>2]|0; - $33 = ((($32)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ((($34)) + 8|0); - $36 = (($35) + (($31*72)|0)|0); - HEAP32[$pSrc>>2] = $36; - $37 = HEAP32[$pSrc>>2]|0; - $38 = ((($37)) + 16|0); + $20 = HEAP32[$5>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$pWC>>2] = $22; + $23 = HEAP32[$5>>2]|0; + $24 = ((($23)) + 12|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[$pNew>>2] = $25; + $26 = HEAP32[$pNew>>2]|0; + $27 = ((($26)) + 16|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = HEAP32[$pWInfo>>2]|0; + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ((($32)) + 8|0); + $34 = (($33) + (($29*72)|0)|0); + HEAP32[$pSrc>>2] = $34; + $35 = HEAP32[$pParse>>2]|0; + $36 = HEAP32[$pWC>>2]|0; + $37 = $7; + $38 = $37; $39 = HEAP32[$38>>2]|0; - HEAP32[$pTab>>2] = $39; - $40 = HEAP32[$pParse>>2]|0; - $41 = HEAP32[$pWC>>2]|0; - $42 = $7; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = HEAP32[$pSrc>>2]|0; - $49 = HEAP32[$5>>2]|0; - $50 = ((($49)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = (_allocateIndexInfo($40,$41,$44,$47,$48,$51)|0); - HEAP32[$pIdxInfo>>2] = $52; - $53 = HEAP32[$pIdxInfo>>2]|0; - $54 = ($53|0)==(0|0); - if ($54) { + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = HEAP32[$pSrc>>2]|0; + $44 = HEAP32[$5>>2]|0; + $45 = ((($44)) + 8|0); + $46 = HEAP32[$45>>2]|0; + $47 = (_allocateIndexInfo($35,$36,$39,$42,$43,$46)|0); + HEAP32[$p>>2] = $47; + $48 = HEAP32[$p>>2]|0; + $49 = ($48|0)==(0|0); + if ($49) { HEAP32[$4>>2] = 7; - $470 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($470|0); + $382 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($382|0); } - $55 = HEAP32[$pNew>>2]|0; - $56 = $55; - $57 = $56; - HEAP32[$57>>2] = 0; - $58 = (($56) + 4)|0; - $59 = $58; - HEAP32[$59>>2] = 0; - $60 = HEAP32[$pNew>>2]|0; - $61 = ((($60)) + 18|0); - HEAP16[$61>>1] = 0; - $62 = HEAP32[$pNew>>2]|0; - $63 = ((($62)) + 36|0); - HEAP32[$63>>2] = 1024; - $64 = HEAP32[$pNew>>2]|0; - $65 = ((($64)) + 40|0); - HEAP16[$65>>1] = 0; - $66 = HEAP32[$pNew>>2]|0; - $67 = ((($66)) + 24|0); - $68 = ((($67)) + 4|0); - HEAP8[$68>>0] = 0; - $69 = HEAP32[$pIdxInfo>>2]|0; - $70 = ((($69)) + 16|0); - $71 = HEAP32[$70>>2]|0; - HEAP32[$pUsage>>2] = $71; - $72 = HEAP32[$pIdxInfo>>2]|0; - $73 = HEAP32[$72>>2]|0; - HEAP32[$nConstraint>>2] = $73; - $74 = HEAP32[$db>>2]|0; - $75 = HEAP32[$pNew>>2]|0; - $76 = HEAP32[$nConstraint>>2]|0; - $77 = (_whereLoopResize($74,$75,$76)|0); - $78 = ($77|0)!=(0); - if ($78) { - $79 = HEAP32[$db>>2]|0; - $80 = HEAP32[$pIdxInfo>>2]|0; - _sqlite3DbFree($79,$80); + $50 = HEAP32[$pNew>>2]|0; + $51 = ((($50)) + 18|0); + HEAP16[$51>>1] = 0; + $52 = HEAP32[$pNew>>2]|0; + $53 = ((($52)) + 36|0); + HEAP32[$53>>2] = 1024; + $54 = HEAP32[$pNew>>2]|0; + $55 = ((($54)) + 40|0); + HEAP16[$55>>1] = 0; + $56 = HEAP32[$pNew>>2]|0; + $57 = ((($56)) + 24|0); + $58 = ((($57)) + 4|0); + HEAP8[$58>>0] = 0; + $59 = HEAP32[$p>>2]|0; + $60 = HEAP32[$59>>2]|0; + HEAP32[$nConstraint>>2] = $60; + $61 = HEAP32[$pParse>>2]|0; + $62 = HEAP32[$61>>2]|0; + $63 = HEAP32[$pNew>>2]|0; + $64 = HEAP32[$nConstraint>>2]|0; + $65 = (_whereLoopResize($62,$63,$64)|0); + $66 = ($65|0)!=(0); + if ($66) { + $67 = HEAP32[$pParse>>2]|0; + $68 = HEAP32[$67>>2]|0; + $69 = HEAP32[$p>>2]|0; + _sqlite3DbFree($68,$69); HEAP32[$4>>2] = 7; - $470 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($470|0); + $382 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($382|0); } - HEAP32[$iPhase>>2] = 0; - L9: while(1) { - $81 = HEAP32[$iPhase>>2]|0; - $82 = ($81|0)<=(3); - if (!($82)) { - break; - } - $83 = HEAP32[$seenIn>>2]|0; - $84 = ($83|0)!=(0); - if (!($84)) { - $85 = HEAP32[$iPhase>>2]|0; - $86 = $85 & 1; - $87 = ($86|0)!=(0); - if ($87) { - $88 = HEAP32[$iPhase>>2]|0; - $89 = (($88) + 1)|0; - HEAP32[$iPhase>>2] = $89; - $90 = HEAP32[$iPhase>>2]|0; - $91 = ($90|0)>(3); - if ($91) { - break; + $70 = HEAP32[$5>>2]|0; + $71 = $6; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = (($71) + 4)|0; + $75 = $74; + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$p>>2]|0; + $78 = (_whereLoopAddVirtualOne($70,$73,$76,-1,-1,0,$77,$bIn)|0); + HEAP32[$rc>>2] = $78; + $79 = HEAP32[$rc>>2]|0; + $80 = ($79|0)==(0); + if ($80) { + $81 = HEAP32[$pNew>>2]|0; + $82 = $81; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $6; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = $90 ^ -1; + $95 = $93 ^ -1; + $96 = $84 & $94; + $97 = $87 & $95; + $98 = $mBest; + $99 = $98; + HEAP32[$99>>2] = $96; + $100 = (($98) + 4)|0; + $101 = $100; + HEAP32[$101>>2] = $97; + $102 = ($96|0)!=(0); + $103 = ($97|0)!=(0); + $104 = $102 | $103; + if ($104) { + HEAP32[$seenZero>>2] = 0; + HEAP32[$seenZeroNoIN>>2] = 0; + $105 = $mPrev; + $106 = $105; + HEAP32[$106>>2] = 0; + $107 = (($105) + 4)|0; + $108 = $107; + HEAP32[$108>>2] = 0; + $109 = $mBestNoIn; + $110 = $109; + HEAP32[$110>>2] = 0; + $111 = (($109) + 4)|0; + $112 = $111; + HEAP32[$112>>2] = 0; + $113 = HEAP32[$bIn>>2]|0; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$5>>2]|0; + $116 = $6; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$p>>2]|0; + $123 = (_whereLoopAddVirtualOne($115,$118,$121,-1,-1,1,$122,$bIn)|0); + HEAP32[$rc>>2] = $123; + $124 = HEAP32[$pNew>>2]|0; + $125 = $124; + $126 = $125; + $127 = HEAP32[$126>>2]|0; + $128 = (($125) + 4)|0; + $129 = $128; + $130 = HEAP32[$129>>2]|0; + $131 = $6; + $132 = $131; + $133 = HEAP32[$132>>2]|0; + $134 = (($131) + 4)|0; + $135 = $134; + $136 = HEAP32[$135>>2]|0; + $137 = $133 ^ -1; + $138 = $136 ^ -1; + $139 = $127 & $137; + $140 = $130 & $138; + $141 = $mBestNoIn; + $142 = $141; + HEAP32[$142>>2] = $139; + $143 = (($141) + 4)|0; + $144 = $143; + HEAP32[$144>>2] = $140; + $145 = $mBestNoIn; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = ($147|0)==(0); + $152 = ($150|0)==(0); + $153 = $151 & $152; + if ($153) { + HEAP32[$seenZero>>2] = 1; + HEAP32[$seenZeroNoIN>>2] = 1; } } - } - $92 = HEAP32[$seenVar>>2]|0; - $93 = ($92|0)==(0); - $94 = HEAP32[$iPhase>>2]|0; - $95 = ($94|0)>(1); - $or$cond = $93 & $95; - if ($or$cond) { - break; - } - $96 = HEAP32[$pIdxInfo>>2]|0; - $97 = ((($96)) + 4|0); - $98 = HEAP32[$97>>2]|0; - HEAP32[$pIdxCons>>2] = $98; - HEAP32[$i>>2] = 0; - while(1) { - $99 = HEAP32[$i>>2]|0; - $100 = HEAP32[$pIdxInfo>>2]|0; - $101 = HEAP32[$100>>2]|0; - $102 = ($99|0)<($101|0); - if (!($102)) { - break; - } - $103 = HEAP32[$pIdxCons>>2]|0; - $104 = ((($103)) + 8|0); - $105 = HEAP32[$104>>2]|0; - HEAP32[$j>>2] = $105; - $106 = HEAP32[$j>>2]|0; - $107 = HEAP32[$pWC>>2]|0; - $108 = ((($107)) + 20|0); - $109 = HEAP32[$108>>2]|0; - $110 = (($109) + (($106*48)|0)|0); - HEAP32[$pTerm>>2] = $110; - $111 = HEAP32[$iPhase>>2]|0; - L20: do { - switch ($111|0) { - case 0: { - $112 = HEAP32[$pIdxCons>>2]|0; - $113 = ((($112)) + 5|0); - HEAP8[$113>>0] = 0; - $114 = HEAP32[$pTerm>>2]|0; - $115 = ((($114)) + 18|0); - $116 = HEAP16[$115>>1]|0; - $117 = $116&65535; - $118 = $117 & 1; - $119 = ($118|0)!=(0); - if ($119) { - HEAP32[$seenIn>>2] = 1; - } - $120 = HEAP32[$pTerm>>2]|0; - $121 = ((($120)) + 32|0); - $122 = $121; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $125 = (($122) + 4)|0; - $126 = $125; - $127 = HEAP32[$126>>2]|0; - $128 = $6; - $129 = $128; - $130 = HEAP32[$129>>2]|0; - $131 = (($128) + 4)|0; - $132 = $131; - $133 = HEAP32[$132>>2]|0; - $134 = $130 ^ -1; - $135 = $133 ^ -1; - $136 = $124 & $134; - $137 = $127 & $135; - $138 = ($136|0)!=(0); - $139 = ($137|0)!=(0); - $140 = $138 | $139; - if ($140) { - HEAP32[$seenVar>>2] = 1; - break L20; - } - $141 = HEAP32[$pTerm>>2]|0; - $142 = ((($141)) + 18|0); - $143 = HEAP16[$142>>1]|0; - $144 = $143&65535; - $145 = $144 & 1; - $146 = ($145|0)==(0); - if ($146) { - $147 = HEAP32[$pIdxCons>>2]|0; - $148 = ((($147)) + 5|0); - HEAP8[$148>>0] = 1; - } - break; - } - case 1: { - $149 = HEAP32[$pTerm>>2]|0; - $150 = ((($149)) + 32|0); - $151 = $150; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = (($151) + 4)|0; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = $6; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = (($157) + 4)|0; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = $159 ^ -1; - $164 = $162 ^ -1; - $165 = $153 & $163; - $166 = $156 & $164; - $167 = ($165|0)==(0); - $168 = ($166|0)==(0); - $169 = $167 & $168; - $170 = $169&1; - $171 = $170&255; - $172 = HEAP32[$pIdxCons>>2]|0; - $173 = ((($172)) + 5|0); - HEAP8[$173>>0] = $171; + while(1) { + $154 = HEAP32[$rc>>2]|0; + $155 = ($154|0)==(0); + if (!($155)) { break; } - case 2: { - $174 = HEAP32[$pTerm>>2]|0; - $175 = ((($174)) + 18|0); - $176 = HEAP16[$175>>1]|0; - $177 = $176&65535; - $178 = $177 & 1; - $179 = ($178|0)==(0); - $180 = $179&1; - $181 = $180&255; - $182 = HEAP32[$pIdxCons>>2]|0; - $183 = ((($182)) + 5|0); - HEAP8[$183>>0] = $181; + $156 = $mNext; + $157 = $156; + HEAP32[$157>>2] = -1; + $158 = (($156) + 4)|0; + $159 = $158; + HEAP32[$159>>2] = -1; + HEAP32[$i>>2] = 0; + while(1) { + $160 = HEAP32[$i>>2]|0; + $161 = HEAP32[$nConstraint>>2]|0; + $162 = ($160|0)<($161|0); + if (!($162)) { + break; + } + $163 = HEAP32[$i>>2]|0; + $164 = HEAP32[$p>>2]|0; + $165 = ((($164)) + 4|0); + $166 = HEAP32[$165>>2]|0; + $167 = (($166) + (($163*12)|0)|0); + $168 = ((($167)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = HEAP32[$pWC>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP32[$171>>2]|0; + $173 = (($172) + (($169*48)|0)|0); + $174 = ((($173)) + 32|0); + $175 = $174; + $176 = $175; + $177 = HEAP32[$176>>2]|0; + $178 = (($175) + 4)|0; + $179 = $178; + $180 = HEAP32[$179>>2]|0; + $181 = $6; + $182 = $181; + $183 = HEAP32[$182>>2]|0; + $184 = (($181) + 4)|0; + $185 = $184; + $186 = HEAP32[$185>>2]|0; + $187 = $183 ^ -1; + $188 = $186 ^ -1; + $189 = $177 & $187; + $190 = $180 & $188; + $191 = $mThis; + $192 = $191; + HEAP32[$192>>2] = $189; + $193 = (($191) + 4)|0; + $194 = $193; + HEAP32[$194>>2] = $190; + $195 = $mThis; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $mPrev; + $202 = $201; + $203 = HEAP32[$202>>2]|0; + $204 = (($201) + 4)|0; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = ($200>>>0)>($206>>>0); + $208 = ($197>>>0)>($203>>>0); + $209 = ($200|0)==($206|0); + $210 = $209 & $208; + $211 = $207 | $210; + if ($211) { + $212 = $mThis; + $213 = $212; + $214 = HEAP32[$213>>2]|0; + $215 = (($212) + 4)|0; + $216 = $215; + $217 = HEAP32[$216>>2]|0; + $218 = $mNext; + $219 = $218; + $220 = HEAP32[$219>>2]|0; + $221 = (($218) + 4)|0; + $222 = $221; + $223 = HEAP32[$222>>2]|0; + $224 = ($217>>>0)<($223>>>0); + $225 = ($214>>>0)<($220>>>0); + $226 = ($217|0)==($223|0); + $227 = $226 & $225; + $228 = $224 | $227; + if ($228) { + $229 = $mThis; + $230 = $229; + $231 = HEAP32[$230>>2]|0; + $232 = (($229) + 4)|0; + $233 = $232; + $234 = HEAP32[$233>>2]|0; + $235 = $mNext; + $236 = $235; + HEAP32[$236>>2] = $231; + $237 = (($235) + 4)|0; + $238 = $237; + HEAP32[$238>>2] = $234; + } + } + $239 = HEAP32[$i>>2]|0; + $240 = (($239) + 1)|0; + HEAP32[$i>>2] = $240; + } + $241 = $mNext; + $242 = $241; + $243 = HEAP32[$242>>2]|0; + $244 = (($241) + 4)|0; + $245 = $244; + $246 = HEAP32[$245>>2]|0; + $247 = $mPrev; + $248 = $247; + HEAP32[$248>>2] = $243; + $249 = (($247) + 4)|0; + $250 = $249; + HEAP32[$250>>2] = $246; + $251 = $mNext; + $252 = $251; + $253 = HEAP32[$252>>2]|0; + $254 = (($251) + 4)|0; + $255 = $254; + $256 = HEAP32[$255>>2]|0; + $257 = ($253|0)==(-1); + $258 = ($256|0)==(-1); + $259 = $257 & $258; + if ($259) { break; } - default: { - $184 = HEAP32[$pIdxCons>>2]|0; - $185 = ((($184)) + 5|0); - HEAP8[$185>>0] = 1; - } + $260 = $mNext; + $261 = $260; + $262 = HEAP32[$261>>2]|0; + $263 = (($260) + 4)|0; + $264 = $263; + $265 = HEAP32[$264>>2]|0; + $266 = $mBest; + $267 = $266; + $268 = HEAP32[$267>>2]|0; + $269 = (($266) + 4)|0; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = ($262|0)==($268|0); + $273 = ($265|0)==($271|0); + $274 = $272 & $273; + if ($274) { + continue; } - } while(0); - $186 = HEAP32[$i>>2]|0; - $187 = (($186) + 1)|0; - HEAP32[$i>>2] = $187; - $188 = HEAP32[$pIdxCons>>2]|0; - $189 = ((($188)) + 12|0); - HEAP32[$pIdxCons>>2] = $189; - } - $190 = HEAP32[$pUsage>>2]|0; - $191 = HEAP32[$pIdxInfo>>2]|0; - $192 = HEAP32[$191>>2]|0; - $193 = $192<<3; - _memset(($190|0),0,($193|0))|0; - $194 = HEAP32[$pIdxInfo>>2]|0; - $195 = ((($194)) + 28|0); - $196 = HEAP32[$195>>2]|0; - $197 = ($196|0)!=(0); - if ($197) { - $198 = HEAP32[$pIdxInfo>>2]|0; - $199 = ((($198)) + 24|0); - $200 = HEAP32[$199>>2]|0; - _sqlite3_free($200); - } - $201 = HEAP32[$pIdxInfo>>2]|0; - $202 = ((($201)) + 24|0); - HEAP32[$202>>2] = 0; - $203 = HEAP32[$pIdxInfo>>2]|0; - $204 = ((($203)) + 20|0); - HEAP32[$204>>2] = 0; - $205 = HEAP32[$pIdxInfo>>2]|0; - $206 = ((($205)) + 28|0); - HEAP32[$206>>2] = 0; - $207 = HEAP32[$pIdxInfo>>2]|0; - $208 = ((($207)) + 32|0); - HEAP32[$208>>2] = 0; - $209 = HEAP32[$pIdxInfo>>2]|0; - $210 = ((($209)) + 40|0); - HEAPF64[$210>>3] = 4.9999999999999998E+98; - $211 = HEAP32[$pIdxInfo>>2]|0; - $212 = ((($211)) + 48|0); - $213 = $212; - $214 = $213; - HEAP32[$214>>2] = 25; - $215 = (($213) + 4)|0; - $216 = $215; - HEAP32[$216>>2] = 0; - $217 = HEAP32[$pIdxInfo>>2]|0; - $218 = ((($217)) + 56|0); - HEAP32[$218>>2] = 0; - $219 = HEAP32[$pSrc>>2]|0; - $220 = ((($219)) + 56|0); - $221 = $220; - $222 = $221; - $223 = HEAP32[$222>>2]|0; - $224 = (($221) + 4)|0; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = HEAP32[$pIdxInfo>>2]|0; - $228 = ((($227)) + 64|0); - $229 = $228; - $230 = $229; - HEAP32[$230>>2] = $223; - $231 = (($229) + 4)|0; - $232 = $231; - HEAP32[$232>>2] = $226; - $233 = HEAP32[$pParse>>2]|0; - $234 = HEAP32[$pTab>>2]|0; - $235 = HEAP32[$pIdxInfo>>2]|0; - $236 = (_vtabBestIndex($233,$234,$235)|0); - HEAP32[$rc>>2] = $236; - $237 = HEAP32[$rc>>2]|0; - $238 = ($237|0)!=(0); - if ($238) { - break; - } - $239 = HEAP32[$pIdxInfo>>2]|0; - $240 = ((($239)) + 4|0); - $241 = HEAP32[$240>>2]|0; - HEAP32[$pIdxCons>>2] = $241; - $242 = $6; - $243 = $242; - $244 = HEAP32[$243>>2]|0; - $245 = (($242) + 4)|0; - $246 = $245; - $247 = HEAP32[$246>>2]|0; - $248 = HEAP32[$pNew>>2]|0; - $249 = $248; - $250 = $249; - HEAP32[$250>>2] = $244; - $251 = (($249) + 4)|0; - $252 = $251; - HEAP32[$252>>2] = $247; - HEAP32[$mxTerm>>2] = -1; - HEAP32[$i>>2] = 0; - while(1) { - $253 = HEAP32[$i>>2]|0; - $254 = HEAP32[$nConstraint>>2]|0; - $255 = ($253|0)<($254|0); - if (!($255)) { - break; - } - $256 = HEAP32[$i>>2]|0; - $257 = HEAP32[$pNew>>2]|0; - $258 = ((($257)) + 48|0); - $259 = HEAP32[$258>>2]|0; - $260 = (($259) + ($256<<2)|0); - HEAP32[$260>>2] = 0; - $261 = HEAP32[$i>>2]|0; - $262 = (($261) + 1)|0; - HEAP32[$i>>2] = $262; - } - $263 = HEAP32[$pNew>>2]|0; - $264 = ((($263)) + 24|0); - $265 = ((($264)) + 6|0); - HEAP16[$265>>1] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $266 = HEAP32[$i>>2]|0; - $267 = HEAP32[$nConstraint>>2]|0; - $268 = ($266|0)<($267|0); - if (!($268)) { - break; - } - $269 = HEAP32[$i>>2]|0; - $270 = HEAP32[$pUsage>>2]|0; - $271 = (($270) + ($269<<3)|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) - 1)|0; - HEAP32[$iTerm>>2] = $273; - $274 = ($273|0)>=(0); - if ($274) { - $275 = HEAP32[$pIdxCons>>2]|0; - $276 = ((($275)) + 8|0); + $275 = $mNext; + $276 = $275; $277 = HEAP32[$276>>2]|0; - HEAP32[$j>>2] = $277; - $278 = HEAP32[$iTerm>>2]|0; - $279 = HEAP32[$nConstraint>>2]|0; - $280 = ($278|0)>=($279|0); - $281 = HEAP32[$j>>2]|0; - $282 = ($281|0)<(0); - $or$cond3 = $280 | $282; - if ($or$cond3) { - label = 36; - break L9; - } - $283 = HEAP32[$j>>2]|0; - $284 = HEAP32[$pWC>>2]|0; - $285 = ((($284)) + 12|0); + $278 = (($275) + 4)|0; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = $mBestNoIn; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = (($281) + 4)|0; + $285 = $284; $286 = HEAP32[$285>>2]|0; - $287 = ($283|0)>=($286|0); - if ($287) { - label = 36; - break L9; + $287 = ($277|0)==($283|0); + $288 = ($280|0)==($286|0); + $289 = $287 & $288; + if ($289) { + continue; } - $288 = HEAP32[$iTerm>>2]|0; - $289 = HEAP32[$pNew>>2]|0; - $290 = ((($289)) + 48|0); - $291 = HEAP32[$290>>2]|0; - $292 = (($291) + ($288<<2)|0); + $290 = HEAP32[$5>>2]|0; + $291 = $6; + $292 = $291; $293 = HEAP32[$292>>2]|0; - $294 = ($293|0)!=(0|0); - if ($294) { - label = 36; - break L9; - } - $298 = HEAP32[$j>>2]|0; - $299 = HEAP32[$pWC>>2]|0; - $300 = ((($299)) + 20|0); - $301 = HEAP32[$300>>2]|0; - $302 = (($301) + (($298*48)|0)|0); - HEAP32[$pTerm>>2] = $302; - $303 = HEAP32[$pTerm>>2]|0; - $304 = ((($303)) + 32|0); - $305 = $304; - $306 = $305; - $307 = HEAP32[$306>>2]|0; - $308 = (($305) + 4)|0; - $309 = $308; - $310 = HEAP32[$309>>2]|0; - $311 = HEAP32[$pNew>>2]|0; - $312 = $311; - $313 = $312; - $314 = HEAP32[$313>>2]|0; - $315 = (($312) + 4)|0; - $316 = $315; - $317 = HEAP32[$316>>2]|0; - $318 = $314 | $307; - $319 = $317 | $310; - $320 = $311; + $294 = (($291) + 4)|0; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = $mNext; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = (($297) + 4)|0; + $301 = $300; + $302 = HEAP32[$301>>2]|0; + $303 = $6; + $304 = $303; + $305 = HEAP32[$304>>2]|0; + $306 = (($303) + 4)|0; + $307 = $306; + $308 = HEAP32[$307>>2]|0; + $309 = $299 | $305; + $310 = $302 | $308; + $311 = HEAP32[$p>>2]|0; + $312 = (_whereLoopAddVirtualOne($290,$293,$296,$309,$310,0,$311,$bIn)|0); + HEAP32[$rc>>2] = $312; + $313 = HEAP32[$pNew>>2]|0; + $314 = $313; + $315 = $314; + $316 = HEAP32[$315>>2]|0; + $317 = (($314) + 4)|0; + $318 = $317; + $319 = HEAP32[$318>>2]|0; + $320 = $6; $321 = $320; - HEAP32[$321>>2] = $318; - $322 = (($320) + 4)|0; - $323 = $322; - HEAP32[$323>>2] = $319; - $324 = HEAP32[$pTerm>>2]|0; - $325 = HEAP32[$iTerm>>2]|0; - $326 = HEAP32[$pNew>>2]|0; - $327 = ((($326)) + 48|0); - $328 = HEAP32[$327>>2]|0; - $329 = (($328) + ($325<<2)|0); - HEAP32[$329>>2] = $324; - $330 = HEAP32[$iTerm>>2]|0; - $331 = HEAP32[$mxTerm>>2]|0; - $332 = ($330|0)>($331|0); - if ($332) { - $333 = HEAP32[$iTerm>>2]|0; - HEAP32[$mxTerm>>2] = $333; - } - $334 = HEAP32[$iTerm>>2]|0; - $335 = ($334|0)<(16); - if ($335) { - $336 = HEAP32[$i>>2]|0; - $337 = HEAP32[$pUsage>>2]|0; - $338 = (($337) + ($336<<3)|0); - $339 = ((($338)) + 4|0); - $340 = HEAP8[$339>>0]|0; - $341 = $340&255; - $342 = ($341|0)!=(0); - if ($342) { - $343 = HEAP32[$iTerm>>2]|0; - $344 = 1 << $343; - $345 = HEAP32[$pNew>>2]|0; - $346 = ((($345)) + 24|0); - $347 = ((($346)) + 6|0); - $348 = HEAP16[$347>>1]|0; - $349 = $348&65535; - $350 = $349 | $344; - $351 = $350&65535; - HEAP16[$347>>1] = $351; - } - } - $352 = HEAP32[$pTerm>>2]|0; - $353 = ((($352)) + 18|0); - $354 = HEAP16[$353>>1]|0; - $355 = $354&65535; - $356 = $355 & 1; - $357 = ($356|0)!=(0); - if ($357) { - $358 = HEAP32[$i>>2]|0; - $359 = HEAP32[$pUsage>>2]|0; - $360 = (($359) + ($358<<3)|0); - $361 = ((($360)) + 4|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($363|0)==(0); - if ($364) { - break; - } - $365 = HEAP32[$pIdxInfo>>2]|0; - $366 = ((($365)) + 32|0); - HEAP32[$366>>2] = 0; - $367 = HEAP32[$pIdxInfo>>2]|0; - $368 = ((($367)) + 56|0); - $369 = HEAP32[$368>>2]|0; - $370 = $369 & -2; - HEAP32[$368>>2] = $370; - } - } - $371 = HEAP32[$i>>2]|0; - $372 = (($371) + 1)|0; - HEAP32[$i>>2] = $372; - $373 = HEAP32[$pIdxCons>>2]|0; - $374 = ((($373)) + 12|0); - HEAP32[$pIdxCons>>2] = $374; - } - $375 = HEAP32[$i>>2]|0; - $376 = HEAP32[$nConstraint>>2]|0; - $377 = ($375|0)>=($376|0); - if ($377) { - $378 = HEAP32[$mxTerm>>2]|0; - $379 = (($378) + 1)|0; - $380 = $379&65535; - $381 = HEAP32[$pNew>>2]|0; - $382 = ((($381)) + 40|0); - HEAP16[$382>>1] = $380; - $383 = HEAP32[$pIdxInfo>>2]|0; - $384 = ((($383)) + 20|0); - $385 = HEAP32[$384>>2]|0; - $386 = HEAP32[$pNew>>2]|0; - $387 = ((($386)) + 24|0); - HEAP32[$387>>2] = $385; - $388 = HEAP32[$pIdxInfo>>2]|0; - $389 = ((($388)) + 28|0); - $390 = HEAP32[$389>>2]|0; - $391 = $390&255; - $392 = HEAP32[$pNew>>2]|0; - $393 = ((($392)) + 24|0); - $394 = ((($393)) + 4|0); - HEAP8[$394>>0] = $391; - $395 = HEAP32[$pIdxInfo>>2]|0; - $396 = ((($395)) + 28|0); - HEAP32[$396>>2] = 0; - $397 = HEAP32[$pIdxInfo>>2]|0; - $398 = ((($397)) + 24|0); - $399 = HEAP32[$398>>2]|0; - $400 = HEAP32[$pNew>>2]|0; - $401 = ((($400)) + 24|0); - $402 = ((($401)) + 8|0); - HEAP32[$402>>2] = $399; - $403 = HEAP32[$pIdxInfo>>2]|0; - $404 = ((($403)) + 32|0); - $405 = HEAP32[$404>>2]|0; - $406 = ($405|0)!=(0); - if ($406) { - $407 = HEAP32[$pIdxInfo>>2]|0; - $408 = ((($407)) + 8|0); - $409 = HEAP32[$408>>2]|0; - $411 = $409; - } else { - $411 = 0; - } - $410 = $411&255; - $412 = HEAP32[$pNew>>2]|0; - $413 = ((($412)) + 24|0); - $414 = ((($413)) + 5|0); - HEAP8[$414>>0] = $410; - $415 = HEAP32[$pNew>>2]|0; - $416 = ((($415)) + 18|0); - HEAP16[$416>>1] = 0; - $417 = HEAP32[$pIdxInfo>>2]|0; - $418 = ((($417)) + 40|0); - $419 = +HEAPF64[$418>>3]; - $420 = (_sqlite3LogEstFromDouble($419)|0); - $421 = HEAP32[$pNew>>2]|0; - $422 = ((($421)) + 20|0); - HEAP16[$422>>1] = $420; - $423 = HEAP32[$pIdxInfo>>2]|0; - $424 = ((($423)) + 48|0); - $425 = $424; - $426 = $425; - $427 = HEAP32[$426>>2]|0; - $428 = (($425) + 4)|0; - $429 = $428; - $430 = HEAP32[$429>>2]|0; - $431 = (_sqlite3LogEst($427,$430)|0); - $432 = HEAP32[$pNew>>2]|0; - $433 = ((($432)) + 22|0); - HEAP16[$433>>1] = $431; - $434 = HEAP32[$pIdxInfo>>2]|0; - $435 = ((($434)) + 56|0); - $436 = HEAP32[$435>>2]|0; - $437 = $436 & 1; - $438 = ($437|0)!=(0); - $439 = HEAP32[$pNew>>2]|0; - $440 = ((($439)) + 36|0); - $441 = HEAP32[$440>>2]|0; - if ($438) { - $442 = $441 | 4096; - HEAP32[$440>>2] = $442; - } else { - $443 = $441 & -4097; - HEAP32[$440>>2] = $443; - } - $444 = HEAP32[$5>>2]|0; - $445 = HEAP32[$pNew>>2]|0; - (_whereLoopInsert($444,$445)|0); - $446 = HEAP32[$pNew>>2]|0; - $447 = ((($446)) + 24|0); - $448 = ((($447)) + 4|0); - $449 = HEAP8[$448>>0]|0; - $450 = ($449<<24>>24)!=(0); - if ($450) { - $451 = HEAP32[$pNew>>2]|0; - $452 = ((($451)) + 24|0); - $453 = ((($452)) + 8|0); - $454 = HEAP32[$453>>2]|0; - _sqlite3_free($454); - $455 = HEAP32[$pNew>>2]|0; - $456 = ((($455)) + 24|0); - $457 = ((($456)) + 4|0); - HEAP8[$457>>0] = 0; + $322 = HEAP32[$321>>2]|0; + $323 = (($320) + 4)|0; + $324 = $323; + $325 = HEAP32[$324>>2]|0; + $326 = ($316|0)==($322|0); + $327 = ($319|0)==($325|0); + $328 = $326 & $327; + if (!($328)) { + continue; + } + HEAP32[$seenZero>>2] = 1; + $329 = HEAP32[$bIn>>2]|0; + $330 = ($329|0)==(0); + if (!($330)) { + continue; + } + HEAP32[$seenZeroNoIN>>2] = 1; } - } - $458 = HEAP32[$iPhase>>2]|0; - $459 = (($458) + 1)|0; - HEAP32[$iPhase>>2] = $459; + $331 = HEAP32[$rc>>2]|0; + $332 = ($331|0)==(0); + $333 = HEAP32[$seenZero>>2]|0; + $334 = ($333|0)==(0); + $or$cond = $332 & $334; + if ($or$cond) { + $335 = HEAP32[$5>>2]|0; + $336 = $6; + $337 = $336; + $338 = HEAP32[$337>>2]|0; + $339 = (($336) + 4)|0; + $340 = $339; + $341 = HEAP32[$340>>2]|0; + $342 = $6; + $343 = $342; + $344 = HEAP32[$343>>2]|0; + $345 = (($342) + 4)|0; + $346 = $345; + $347 = HEAP32[$346>>2]|0; + $348 = HEAP32[$p>>2]|0; + $349 = (_whereLoopAddVirtualOne($335,$338,$341,$344,$347,0,$348,$bIn)|0); + HEAP32[$rc>>2] = $349; + $350 = HEAP32[$bIn>>2]|0; + $351 = ($350|0)==(0); + if ($351) { + HEAP32[$seenZeroNoIN>>2] = 1; + } + } + $352 = HEAP32[$rc>>2]|0; + $353 = ($352|0)==(0); + $354 = HEAP32[$seenZeroNoIN>>2]|0; + $355 = ($354|0)==(0); + $or$cond3 = $353 & $355; + if ($or$cond3) { + $356 = HEAP32[$5>>2]|0; + $357 = $6; + $358 = $357; + $359 = HEAP32[$358>>2]|0; + $360 = (($357) + 4)|0; + $361 = $360; + $362 = HEAP32[$361>>2]|0; + $363 = $6; + $364 = $363; + $365 = HEAP32[$364>>2]|0; + $366 = (($363) + 4)|0; + $367 = $366; + $368 = HEAP32[$367>>2]|0; + $369 = HEAP32[$p>>2]|0; + $370 = (_whereLoopAddVirtualOne($356,$359,$362,$365,$368,1,$369,$bIn)|0); + HEAP32[$rc>>2] = $370; + } + } + } + $371 = HEAP32[$p>>2]|0; + $372 = ((($371)) + 28|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)!=(0); + if ($374) { + $375 = HEAP32[$p>>2]|0; + $376 = ((($375)) + 24|0); + $377 = HEAP32[$376>>2]|0; + _sqlite3_free($377); } - if ((label|0) == 36) { - HEAP32[$rc>>2] = 1; - $295 = HEAP32[$pParse>>2]|0; - $296 = HEAP32[$pTab>>2]|0; - $297 = HEAP32[$296>>2]|0; - HEAP32[$vararg_buffer>>2] = $297; - _sqlite3ErrorMsg($295,35614,$vararg_buffer); - } - $460 = HEAP32[$pIdxInfo>>2]|0; - $461 = ((($460)) + 28|0); - $462 = HEAP32[$461>>2]|0; - $463 = ($462|0)!=(0); - if ($463) { - $464 = HEAP32[$pIdxInfo>>2]|0; - $465 = ((($464)) + 24|0); - $466 = HEAP32[$465>>2]|0; - _sqlite3_free($466); - } - $467 = HEAP32[$db>>2]|0; - $468 = HEAP32[$pIdxInfo>>2]|0; - _sqlite3DbFree($467,$468); - $469 = HEAP32[$rc>>2]|0; - HEAP32[$4>>2] = $469; - $470 = HEAP32[$4>>2]|0; - STACKTOP = sp;return ($470|0); + $378 = HEAP32[$pParse>>2]|0; + $379 = HEAP32[$378>>2]|0; + $380 = HEAP32[$p>>2]|0; + _sqlite3DbFree($379,$380); + $381 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $381; + $382 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($382|0); } function _whereLoopAddBtree($pBuilder,$0,$1) { $pBuilder = $pBuilder|0; @@ -179415,7 +180419,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { L11: do { if (!($82)) { $83 = HEAP32[$pWInfo>>2]|0; - $84 = ((($83)) + 34|0); + $84 = ((($83)) + 36|0); $85 = HEAP16[$84>>1]|0; $86 = $85&65535; $87 = $86 & 128; @@ -179845,7 +180849,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { break; } $407 = HEAP32[$pWInfo>>2]|0; - $408 = ((($407)) + 34|0); + $408 = ((($407)) + 36|0); $409 = HEAP16[$408>>1]|0; $410 = $409&65535; $411 = $410 & 4; @@ -179859,7 +180863,7 @@ function _whereLoopAddBtree($pBuilder,$0,$1) { $415 = HEAP32[$pWInfo>>2]|0; $416 = HEAP32[$415>>2]|0; $417 = HEAP32[$416>>2]|0; - $418 = ((($417)) + 60|0); + $418 = ((($417)) + 64|0); $419 = HEAP16[$418>>1]|0; $420 = $419&65535; $421 = $420 & 64; @@ -180669,17 +181673,18 @@ function _whereLoopInsert($pBuilder,$pTemplate) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $db = 0, $p = 0, $pIndex = 0, $pToDel = 0; - var $pWInfo = 0, $ppPrev = 0, $ppTail = 0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $db = 0, $p = 0; + var $pIndex = 0, $pToDel = 0, $pWInfo = 0, $ppPrev = 0, $ppTail = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $ppPrev = sp + 24|0; - $p = sp + 20|0; - $pWInfo = sp + 16|0; - $db = sp + 12|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $ppPrev = sp + 28|0; + $p = sp + 24|0; + $pWInfo = sp + 20|0; + $db = sp + 16|0; + $rc = sp + 12|0; $ppTail = sp + 8|0; $pToDel = sp + 4|0; $pIndex = sp; @@ -180721,8 +181726,8 @@ function _whereLoopInsert($pBuilder,$pTemplate) { (_whereOrInsert($18,$22,$25,$28,$31)|0); } HEAP32[$0>>2] = 0; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); + $97 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($97|0); } $32 = HEAP32[$pWInfo>>2]|0; $33 = ((($32)) + 16|0); @@ -180738,8 +181743,8 @@ function _whereLoopInsert($pBuilder,$pTemplate) { $41 = ($40|0)==(0|0); if ($41) { HEAP32[$0>>2] = 0; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); + $97 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($97|0); } $42 = HEAP32[$ppPrev>>2]|0; $43 = HEAP32[$42>>2]|0; @@ -180764,8 +181769,8 @@ function _whereLoopInsert($pBuilder,$pTemplate) { break; } HEAP32[$0>>2] = 7; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); + $97 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($97|0); } else { $54 = HEAP32[$p>>2]|0; $55 = ((($54)) + 52|0); @@ -180808,36 +181813,38 @@ function _whereLoopInsert($pBuilder,$pTemplate) { $74 = HEAP32[$db>>2]|0; $75 = HEAP32[$p>>2]|0; $76 = HEAP32[$2>>2]|0; - (_whereLoopXfer($74,$75,$76)|0); - $77 = HEAP32[$p>>2]|0; - $78 = ((($77)) + 36|0); - $79 = HEAP32[$78>>2]|0; - $80 = $79 & 1024; - $81 = ($80|0)==(0); - if ($81) { - $82 = HEAP32[$p>>2]|0; - $83 = ((($82)) + 24|0); - $84 = ((($83)) + 4|0); - $85 = HEAP32[$84>>2]|0; - HEAP32[$pIndex>>2] = $85; - $86 = HEAP32[$pIndex>>2]|0; - $87 = ($86|0)!=(0|0); - if ($87) { - $88 = HEAP32[$pIndex>>2]|0; - $89 = ((($88)) + 44|0); - $90 = HEAP32[$89>>2]|0; - $91 = ($90|0)==(0); - if ($91) { - $92 = HEAP32[$p>>2]|0; - $93 = ((($92)) + 24|0); - $94 = ((($93)) + 4|0); - HEAP32[$94>>2] = 0; + $77 = (_whereLoopXfer($74,$75,$76)|0); + HEAP32[$rc>>2] = $77; + $78 = HEAP32[$p>>2]|0; + $79 = ((($78)) + 36|0); + $80 = HEAP32[$79>>2]|0; + $81 = $80 & 1024; + $82 = ($81|0)==(0); + if ($82) { + $83 = HEAP32[$p>>2]|0; + $84 = ((($83)) + 24|0); + $85 = ((($84)) + 4|0); + $86 = HEAP32[$85>>2]|0; + HEAP32[$pIndex>>2] = $86; + $87 = HEAP32[$pIndex>>2]|0; + $88 = ($87|0)!=(0|0); + if ($88) { + $89 = HEAP32[$pIndex>>2]|0; + $90 = ((($89)) + 44|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(0); + if ($92) { + $93 = HEAP32[$p>>2]|0; + $94 = ((($93)) + 24|0); + $95 = ((($94)) + 4|0); + HEAP32[$95>>2] = 0; } } } - HEAP32[$0>>2] = 0; - $95 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($95|0); + $96 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $96; + $97 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($97|0); } function _whereLoopAdjustCost($p,$pTemplate) { $p = $p|0; @@ -182182,7 +183189,7 @@ function _whereLoopAddBtreeIndex($pBuilder,$pSrc,$pProbe,$nInMul) { $13 = HEAP32[$12>>2]|0; HEAP32[$pNew>>2] = $13; $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 65|0); + $15 = ((($14)) + 69|0); $16 = HEAP8[$15>>0]|0; $17 = ($16<<24>>24)!=(0); if ($17) { @@ -183087,8 +184094,8 @@ function _indexColumnNotNull($pIdx,$iCol) { $15 = HEAP32[$14>>2]|0; $16 = ((($15)) + 4|0); $17 = HEAP32[$16>>2]|0; - $18 = (($17) + (($12*24)|0)|0); - $19 = ((($18)) + 20|0); + $18 = (($17) + ($12<<4)|0); + $19 = ((($18)) + 12|0); $20 = HEAP8[$19>>0]|0; $21 = $20&255; HEAP32[$0>>2] = $21; @@ -183545,7 +184552,7 @@ function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy) { $104 = ($103|0)==(0|0); if ($104) { $105 = HEAP32[$3>>2]|0; - _sqlite3ErrorMsg($105,32392,$vararg_buffer); + _sqlite3ErrorMsg($105,25624,$vararg_buffer); HEAP32[$2>>2] = 0; $242 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($242|0); @@ -183736,25 +184743,567 @@ function _allocateIndexInfo($pParse,$pWC,$0,$1,$pSrc,$pOrderBy) { $242 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($242|0); } +function _whereLoopAddVirtualOne($pBuilder,$0,$1,$2,$3,$mExclude,$pIdxInfo,$pbIn) { + $pBuilder = $pBuilder|0; + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $mExclude = $mExclude|0; + $pIdxInfo = $pIdxInfo|0; + $pbIn = $pbIn|0; + var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0; + var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0; + var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0; + var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0; + var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0; + var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0; + var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0.0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0; + var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0; + var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0; + var $iTerm = 0, $j = 0, $mxTerm = 0, $nConstraint = 0, $or$cond = 0, $pIdxCons = 0, $pNew = 0, $pParse = 0, $pSrc = 0, $pTerm = 0, $pTerm1 = 0, $pUsage = 0, $pWC = 0, $rc = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; + $vararg_buffer = sp + 16|0; + $4 = sp + 88|0; + $5 = sp + 84|0; + $6 = sp + 8|0; + $7 = sp; + $8 = sp + 92|0; + $9 = sp + 80|0; + $10 = sp + 76|0; + $pWC = sp + 72|0; + $pIdxCons = sp + 68|0; + $pUsage = sp + 64|0; + $i = sp + 60|0; + $mxTerm = sp + 56|0; + $rc = sp + 52|0; + $pNew = sp + 48|0; + $pParse = sp + 44|0; + $pSrc = sp + 40|0; + $nConstraint = sp + 36|0; + $pTerm = sp + 32|0; + $iTerm = sp + 28|0; + $pTerm1 = sp + 24|0; + $j = sp + 20|0; + HEAP32[$5>>2] = $pBuilder; + $11 = $6; + $12 = $11; + HEAP32[$12>>2] = $0; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $1; + $15 = $7; + $16 = $15; + HEAP32[$16>>2] = $2; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $3; + HEAP16[$8>>1] = $mExclude; + HEAP32[$9>>2] = $pIdxInfo; + HEAP32[$10>>2] = $pbIn; + $19 = HEAP32[$5>>2]|0; + $20 = ((($19)) + 4|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$pWC>>2] = $21; + $22 = HEAP32[$9>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$pUsage>>2] = $24; + HEAP32[$rc>>2] = 0; + $25 = HEAP32[$5>>2]|0; + $26 = ((($25)) + 12|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$pNew>>2] = $27; + $28 = HEAP32[$5>>2]|0; + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$pParse>>2] = $30; + $31 = HEAP32[$pNew>>2]|0; + $32 = ((($31)) + 16|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = HEAP32[$5>>2]|0; + $36 = HEAP32[$35>>2]|0; + $37 = ((($36)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($38)) + 8|0); + $40 = (($39) + (($34*72)|0)|0); + HEAP32[$pSrc>>2] = $40; + $41 = HEAP32[$9>>2]|0; + $42 = HEAP32[$41>>2]|0; + HEAP32[$nConstraint>>2] = $42; + $43 = HEAP32[$10>>2]|0; + HEAP32[$43>>2] = 0; + $44 = $6; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = HEAP32[$pNew>>2]|0; + $51 = $50; + $52 = $51; + HEAP32[$52>>2] = $46; + $53 = (($51) + 4)|0; + $54 = $53; + HEAP32[$54>>2] = $49; + $55 = HEAP32[$9>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + HEAP32[$pIdxCons>>2] = $57; + HEAP32[$i>>2] = 0; + while(1) { + $58 = HEAP32[$i>>2]|0; + $59 = HEAP32[$nConstraint>>2]|0; + $60 = ($58|0)<($59|0); + if (!($60)) { + break; + } + $61 = HEAP32[$pIdxCons>>2]|0; + $62 = ((($61)) + 8|0); + $63 = HEAP32[$62>>2]|0; + $64 = HEAP32[$pWC>>2]|0; + $65 = ((($64)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = (($66) + (($63*48)|0)|0); + HEAP32[$pTerm>>2] = $67; + $68 = HEAP32[$pIdxCons>>2]|0; + $69 = ((($68)) + 5|0); + HEAP8[$69>>0] = 0; + $70 = HEAP32[$pTerm>>2]|0; + $71 = ((($70)) + 32|0); + $72 = $71; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = $7; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = $74 & $80; + $85 = $77 & $83; + $86 = HEAP32[$pTerm>>2]|0; + $87 = ((($86)) + 32|0); + $88 = $87; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = ($84|0)==($90|0); + $95 = ($85|0)==($93|0); + $96 = $94 & $95; + if ($96) { + $97 = HEAP32[$pTerm>>2]|0; + $98 = ((($97)) + 18|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99&65535; + $101 = HEAP16[$8>>1]|0; + $102 = $101&65535; + $103 = $100 & $102; + $104 = ($103|0)==(0); + if ($104) { + $105 = HEAP32[$pIdxCons>>2]|0; + $106 = ((($105)) + 5|0); + HEAP8[$106>>0] = 1; + } + } + $107 = HEAP32[$i>>2]|0; + $108 = (($107) + 1)|0; + HEAP32[$i>>2] = $108; + $109 = HEAP32[$pIdxCons>>2]|0; + $110 = ((($109)) + 12|0); + HEAP32[$pIdxCons>>2] = $110; + } + $111 = HEAP32[$pUsage>>2]|0; + $112 = HEAP32[$nConstraint>>2]|0; + $113 = $112<<3; + _memset(($111|0),0,($113|0))|0; + $114 = HEAP32[$9>>2]|0; + $115 = ((($114)) + 24|0); + HEAP32[$115>>2] = 0; + $116 = HEAP32[$9>>2]|0; + $117 = ((($116)) + 20|0); + HEAP32[$117>>2] = 0; + $118 = HEAP32[$9>>2]|0; + $119 = ((($118)) + 32|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[$9>>2]|0; + $121 = ((($120)) + 40|0); + HEAPF64[$121>>3] = 4.9999999999999998E+98; + $122 = HEAP32[$9>>2]|0; + $123 = ((($122)) + 48|0); + $124 = $123; + $125 = $124; + HEAP32[$125>>2] = 25; + $126 = (($124) + 4)|0; + $127 = $126; + HEAP32[$127>>2] = 0; + $128 = HEAP32[$9>>2]|0; + $129 = ((($128)) + 56|0); + HEAP32[$129>>2] = 0; + $130 = HEAP32[$pSrc>>2]|0; + $131 = ((($130)) + 56|0); + $132 = $131; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (($132) + 4)|0; + $136 = $135; + $137 = HEAP32[$136>>2]|0; + $138 = HEAP32[$9>>2]|0; + $139 = ((($138)) + 64|0); + $140 = $139; + $141 = $140; + HEAP32[$141>>2] = $134; + $142 = (($140) + 4)|0; + $143 = $142; + HEAP32[$143>>2] = $137; + $144 = HEAP32[$pParse>>2]|0; + $145 = HEAP32[$pSrc>>2]|0; + $146 = ((($145)) + 16|0); + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$9>>2]|0; + $149 = (_vtabBestIndex($144,$147,$148)|0); + HEAP32[$rc>>2] = $149; + $150 = HEAP32[$rc>>2]|0; + $151 = ($150|0)!=(0); + if ($151) { + $152 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $152; + $362 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($362|0); + } + HEAP32[$mxTerm>>2] = -1; + HEAP32[$i>>2] = 0; + while(1) { + $153 = HEAP32[$i>>2]|0; + $154 = HEAP32[$nConstraint>>2]|0; + $155 = ($153|0)<($154|0); + if (!($155)) { + break; + } + $156 = HEAP32[$i>>2]|0; + $157 = HEAP32[$pNew>>2]|0; + $158 = ((($157)) + 48|0); + $159 = HEAP32[$158>>2]|0; + $160 = (($159) + ($156<<2)|0); + HEAP32[$160>>2] = 0; + $161 = HEAP32[$i>>2]|0; + $162 = (($161) + 1)|0; + HEAP32[$i>>2] = $162; + } + $163 = HEAP32[$pNew>>2]|0; + $164 = ((($163)) + 24|0); + $165 = ((($164)) + 6|0); + HEAP16[$165>>1] = 0; + $166 = HEAP32[$9>>2]|0; + $167 = ((($166)) + 4|0); + $168 = HEAP32[$167>>2]|0; + HEAP32[$pIdxCons>>2] = $168; + HEAP32[$i>>2] = 0; + while(1) { + $169 = HEAP32[$i>>2]|0; + $170 = HEAP32[$nConstraint>>2]|0; + $171 = ($169|0)<($170|0); + if (!($171)) { + break; + } + $172 = HEAP32[$i>>2]|0; + $173 = HEAP32[$pUsage>>2]|0; + $174 = (($173) + ($172<<3)|0); + $175 = HEAP32[$174>>2]|0; + $176 = (($175) - 1)|0; + HEAP32[$iTerm>>2] = $176; + $177 = ($176|0)>=(0); + if ($177) { + $178 = HEAP32[$pIdxCons>>2]|0; + $179 = ((($178)) + 8|0); + $180 = HEAP32[$179>>2]|0; + HEAP32[$j>>2] = $180; + $181 = HEAP32[$iTerm>>2]|0; + $182 = HEAP32[$nConstraint>>2]|0; + $183 = ($181|0)>=($182|0); + $184 = HEAP32[$j>>2]|0; + $185 = ($184|0)<(0); + $or$cond = $183 | $185; + if ($or$cond) { + label = 19; + break; + } + $186 = HEAP32[$j>>2]|0; + $187 = HEAP32[$pWC>>2]|0; + $188 = ((($187)) + 12|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($186|0)>=($189|0); + if ($190) { + label = 19; + break; + } + $191 = HEAP32[$iTerm>>2]|0; + $192 = HEAP32[$pNew>>2]|0; + $193 = ((($192)) + 48|0); + $194 = HEAP32[$193>>2]|0; + $195 = (($194) + ($191<<2)|0); + $196 = HEAP32[$195>>2]|0; + $197 = ($196|0)!=(0|0); + if ($197) { + label = 19; + break; + } + $198 = HEAP32[$pIdxCons>>2]|0; + $199 = ((($198)) + 5|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200&255; + $202 = ($201|0)==(0); + if ($202) { + label = 19; + break; + } + $209 = HEAP32[$j>>2]|0; + $210 = HEAP32[$pWC>>2]|0; + $211 = ((($210)) + 20|0); + $212 = HEAP32[$211>>2]|0; + $213 = (($212) + (($209*48)|0)|0); + HEAP32[$pTerm1>>2] = $213; + $214 = HEAP32[$pTerm1>>2]|0; + $215 = ((($214)) + 32|0); + $216 = $215; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = (($216) + 4)|0; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = HEAP32[$pNew>>2]|0; + $223 = $222; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = $225 | $218; + $230 = $228 | $221; + $231 = $222; + $232 = $231; + HEAP32[$232>>2] = $229; + $233 = (($231) + 4)|0; + $234 = $233; + HEAP32[$234>>2] = $230; + $235 = HEAP32[$pTerm1>>2]|0; + $236 = HEAP32[$iTerm>>2]|0; + $237 = HEAP32[$pNew>>2]|0; + $238 = ((($237)) + 48|0); + $239 = HEAP32[$238>>2]|0; + $240 = (($239) + ($236<<2)|0); + HEAP32[$240>>2] = $235; + $241 = HEAP32[$iTerm>>2]|0; + $242 = HEAP32[$mxTerm>>2]|0; + $243 = ($241|0)>($242|0); + if ($243) { + $244 = HEAP32[$iTerm>>2]|0; + HEAP32[$mxTerm>>2] = $244; + } + $245 = HEAP32[$iTerm>>2]|0; + $246 = ($245|0)<(16); + if ($246) { + $247 = HEAP32[$i>>2]|0; + $248 = HEAP32[$pUsage>>2]|0; + $249 = (($248) + ($247<<3)|0); + $250 = ((($249)) + 4|0); + $251 = HEAP8[$250>>0]|0; + $252 = $251&255; + $253 = ($252|0)!=(0); + if ($253) { + $254 = HEAP32[$iTerm>>2]|0; + $255 = 1 << $254; + $256 = HEAP32[$pNew>>2]|0; + $257 = ((($256)) + 24|0); + $258 = ((($257)) + 6|0); + $259 = HEAP16[$258>>1]|0; + $260 = $259&65535; + $261 = $260 | $255; + $262 = $261&65535; + HEAP16[$258>>1] = $262; + } + } + $263 = HEAP32[$pTerm1>>2]|0; + $264 = ((($263)) + 18|0); + $265 = HEAP16[$264>>1]|0; + $266 = $265&65535; + $267 = $266 & 1; + $268 = ($267|0)!=(0); + if ($268) { + $269 = HEAP32[$9>>2]|0; + $270 = ((($269)) + 32|0); + HEAP32[$270>>2] = 0; + $271 = HEAP32[$9>>2]|0; + $272 = ((($271)) + 56|0); + $273 = HEAP32[$272>>2]|0; + $274 = $273 & -2; + HEAP32[$272>>2] = $274; + $275 = HEAP32[$10>>2]|0; + HEAP32[$275>>2] = 1; + } + } + $276 = HEAP32[$i>>2]|0; + $277 = (($276) + 1)|0; + HEAP32[$i>>2] = $277; + $278 = HEAP32[$pIdxCons>>2]|0; + $279 = ((($278)) + 12|0); + HEAP32[$pIdxCons>>2] = $279; + } + if ((label|0) == 19) { + HEAP32[$rc>>2] = 1; + $203 = HEAP32[$pParse>>2]|0; + $204 = HEAP32[$pSrc>>2]|0; + $205 = ((($204)) + 16|0); + $206 = HEAP32[$205>>2]|0; + $207 = HEAP32[$206>>2]|0; + HEAP32[$vararg_buffer>>2] = $207; + _sqlite3ErrorMsg($203,35315,$vararg_buffer); + $208 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $208; + $362 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($362|0); + } + $280 = HEAP32[$mxTerm>>2]|0; + $281 = (($280) + 1)|0; + $282 = $281&65535; + $283 = HEAP32[$pNew>>2]|0; + $284 = ((($283)) + 40|0); + HEAP16[$284>>1] = $282; + $285 = HEAP32[$9>>2]|0; + $286 = ((($285)) + 20|0); + $287 = HEAP32[$286>>2]|0; + $288 = HEAP32[$pNew>>2]|0; + $289 = ((($288)) + 24|0); + HEAP32[$289>>2] = $287; + $290 = HEAP32[$9>>2]|0; + $291 = ((($290)) + 28|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292&255; + $294 = HEAP32[$pNew>>2]|0; + $295 = ((($294)) + 24|0); + $296 = ((($295)) + 4|0); + HEAP8[$296>>0] = $293; + $297 = HEAP32[$9>>2]|0; + $298 = ((($297)) + 28|0); + HEAP32[$298>>2] = 0; + $299 = HEAP32[$9>>2]|0; + $300 = ((($299)) + 24|0); + $301 = HEAP32[$300>>2]|0; + $302 = HEAP32[$pNew>>2]|0; + $303 = ((($302)) + 24|0); + $304 = ((($303)) + 8|0); + HEAP32[$304>>2] = $301; + $305 = HEAP32[$9>>2]|0; + $306 = ((($305)) + 32|0); + $307 = HEAP32[$306>>2]|0; + $308 = ($307|0)!=(0); + if ($308) { + $309 = HEAP32[$9>>2]|0; + $310 = ((($309)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $313 = $311; + } else { + $313 = 0; + } + $312 = $313&255; + $314 = HEAP32[$pNew>>2]|0; + $315 = ((($314)) + 24|0); + $316 = ((($315)) + 5|0); + HEAP8[$316>>0] = $312; + $317 = HEAP32[$pNew>>2]|0; + $318 = ((($317)) + 18|0); + HEAP16[$318>>1] = 0; + $319 = HEAP32[$9>>2]|0; + $320 = ((($319)) + 40|0); + $321 = +HEAPF64[$320>>3]; + $322 = (_sqlite3LogEstFromDouble($321)|0); + $323 = HEAP32[$pNew>>2]|0; + $324 = ((($323)) + 20|0); + HEAP16[$324>>1] = $322; + $325 = HEAP32[$9>>2]|0; + $326 = ((($325)) + 48|0); + $327 = $326; + $328 = $327; + $329 = HEAP32[$328>>2]|0; + $330 = (($327) + 4)|0; + $331 = $330; + $332 = HEAP32[$331>>2]|0; + $333 = (_sqlite3LogEst($329,$332)|0); + $334 = HEAP32[$pNew>>2]|0; + $335 = ((($334)) + 22|0); + HEAP16[$335>>1] = $333; + $336 = HEAP32[$9>>2]|0; + $337 = ((($336)) + 56|0); + $338 = HEAP32[$337>>2]|0; + $339 = $338 & 1; + $340 = ($339|0)!=(0); + $341 = HEAP32[$pNew>>2]|0; + $342 = ((($341)) + 36|0); + $343 = HEAP32[$342>>2]|0; + if ($340) { + $344 = $343 | 4096; + HEAP32[$342>>2] = $344; + } else { + $345 = $343 & -4097; + HEAP32[$342>>2] = $345; + } + $346 = HEAP32[$5>>2]|0; + $347 = HEAP32[$pNew>>2]|0; + $348 = (_whereLoopInsert($346,$347)|0); + HEAP32[$rc>>2] = $348; + $349 = HEAP32[$pNew>>2]|0; + $350 = ((($349)) + 24|0); + $351 = ((($350)) + 4|0); + $352 = HEAP8[$351>>0]|0; + $353 = ($352<<24>>24)!=(0); + if ($353) { + $354 = HEAP32[$pNew>>2]|0; + $355 = ((($354)) + 24|0); + $356 = ((($355)) + 8|0); + $357 = HEAP32[$356>>2]|0; + _sqlite3_free($357); + $358 = HEAP32[$pNew>>2]|0; + $359 = ((($358)) + 24|0); + $360 = ((($359)) + 4|0); + HEAP8[$360>>0] = 0; + } + $361 = HEAP32[$rc>>2]|0; + HEAP32[$4>>2] = $361; + $362 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($362|0); +} function _vtabBestIndex($pParse,$pTab,$p) { $pParse = $pParse|0; $pTab = $pTab|0; $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pVtab = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $pVtab = 0, $rc = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer4 = sp + 16|0; + STACKTOP = STACKTOP + 32|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $pVtab = sp + 28|0; - $i = sp + 24|0; - $rc = sp + 20|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $pVtab = sp + 16|0; + $rc = sp + 12|0; HEAP32[$0>>2] = $pParse; HEAP32[$1>>2] = $pTab; HEAP32[$2>>2] = $p; @@ -183795,13 +185344,13 @@ function _vtabBestIndex($pParse,$pTab,$p) { $30 = ((($29)) + 8|0); $31 = HEAP32[$30>>2]|0; HEAP32[$vararg_buffer1>>2] = $31; - _sqlite3ErrorMsg($26,19255,$vararg_buffer1); + _sqlite3ErrorMsg($26,18999,$vararg_buffer1); break; } else { $27 = HEAP32[$rc>>2]|0; $28 = (_sqlite3ErrStr($27)|0); HEAP32[$vararg_buffer>>2] = $28; - _sqlite3ErrorMsg($26,19255,$vararg_buffer); + _sqlite3ErrorMsg($26,18999,$vararg_buffer); break; } } @@ -183813,47 +185362,10 @@ function _vtabBestIndex($pParse,$pTab,$p) { $35 = HEAP32[$pVtab>>2]|0; $36 = ((($35)) + 8|0); HEAP32[$36>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$38>>2]|0; - $40 = ($37|0)<($39|0); - if (!($40)) { - break; - } - $41 = HEAP32[$i>>2]|0; - $42 = HEAP32[$2>>2]|0; - $43 = ((($42)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) + (($41*12)|0)|0); - $46 = ((($45)) + 5|0); - $47 = HEAP8[$46>>0]|0; - $48 = ($47<<24>>24)!=(0); - if (!($48)) { - $49 = HEAP32[$i>>2]|0; - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 16|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($49<<3)|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)>(0); - if ($55) { - $56 = HEAP32[$0>>2]|0; - $57 = HEAP32[$1>>2]|0; - $58 = HEAP32[$57>>2]|0; - HEAP32[$vararg_buffer4>>2] = $58; - _sqlite3ErrorMsg($56,35642,$vararg_buffer4); - } - } - $59 = HEAP32[$i>>2]|0; - $60 = (($59) + 1)|0; - HEAP32[$i>>2] = $60; - } - $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 68|0); - $63 = HEAP32[$62>>2]|0; - STACKTOP = sp;return ($63|0); + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 68|0); + $39 = HEAP32[$38>>2]|0; + STACKTOP = sp;return ($39|0); } function _sqlite3LogEstFromDouble($x) { $x = +$x; @@ -183998,7 +185510,7 @@ function _findIndexCol($pParse,$pList,$iBase,$pIdx,$iCol) { $54 = HEAP32[$pColl>>2]|0; $55 = HEAP32[$54>>2]|0; $56 = HEAP32[$zColl>>2]|0; - $57 = (_sqlite3_stricmp($55,$56)|0); + $57 = (_sqlite3StrICmp($55,$56)|0); $58 = (0)==($57|0); if ($58) { label = 8; @@ -184141,7 +185653,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $12 = HEAP32[$11>>2]|0; HEAP32[$db>>2] = $12; $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 65|0); + $14 = ((($13)) + 69|0); $15 = HEAP8[$14>>0]|0; $16 = ($15<<24>>24)!=(0); if ($16) { @@ -184438,7 +185950,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $244 = (_sqlite3ExprDup($242,$243,0)|0); HEAP32[$pDup>>2] = $244; $245 = HEAP32[$db>>2]|0; - $246 = ((($245)) + 65|0); + $246 = ((($245)) + 69|0); $247 = HEAP8[$246>>0]|0; $248 = ($247<<24>>24)!=(0); if ($248) { @@ -184598,7 +186110,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $362 = HEAP32[$pParse>>2]|0; $363 = HEAP32[$i>>2]|0; - $364 = (35688 + ($363)|0); + $364 = (35341 + ($363)|0); $365 = HEAP8[$364>>0]|0; $366 = $365&255; $367 = HEAP32[$db>>2]|0; @@ -184691,7 +186203,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { if ($431) { $432 = HEAP32[$pParse>>2]|0; $433 = HEAP32[$432>>2]|0; - $434 = ((($433)) + 65|0); + $434 = ((($433)) + 69|0); $435 = HEAP8[$434>>0]|0; $436 = ($435<<24>>24)!=(0); if (!($436)) { @@ -184720,7 +186232,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { $452 = $451 << 24 >> 24; $453 = HEAP8[$c>>0]|0; $454 = $453&255; - $455 = (19267 + ($454)|0); + $455 = (19011 + ($454)|0); $456 = HEAP8[$455>>0]|0; $457 = $456&255; $458 = $457 & 32; @@ -184735,7 +186247,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { HEAP8[$466>>0] = $461; $467 = HEAP8[$c>>0]|0; $468 = $467&255; - $469 = (18477 + ($468)|0); + $469 = (18221 + ($468)|0); $470 = HEAP8[$469>>0]|0; $471 = HEAP32[$i4>>2]|0; $472 = HEAP32[$pStr2>>2]|0; @@ -184751,7 +186263,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } } while(0); $478 = HEAP32[$db>>2]|0; - $479 = ((($478)) + 65|0); + $479 = ((($478)) + 69|0); $480 = HEAP8[$479>>0]|0; $481 = ($480<<24>>24)!=(0); if (!($481)) { @@ -184779,7 +186291,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $498 = HEAP8[$c5>>0]|0; $499 = $498&255; - $500 = (18477 + ($499)|0); + $500 = (18221 + ($499)|0); $501 = HEAP8[$500>>0]|0; HEAP8[$c5>>0] = $501; } @@ -184792,7 +186304,7 @@ function _exprAnalyze($pSrc,$pWC,$idxTerm) { } $507 = HEAP32[$noCase>>2]|0; $508 = ($507|0)!=(0); - $509 = $508 ? 21290 : 35690; + $509 = $508 ? 21037 : 35343; HEAP32[$zCollSeqName>>2] = $509; $510 = HEAP32[$db>>2]|0; $511 = HEAP32[$pLeft2>>2]|0; @@ -185567,7 +187079,7 @@ function _termIsEquivalence($pParse,$pExpr) { HEAP32[$2>>2] = $pExpr; $3 = HEAP32[$1>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = ((($4)) + 60|0); + $5 = ((($4)) + 64|0); $6 = HEAP16[$5>>1]|0; $7 = $6&65535; $8 = $7 & 512; @@ -185649,7 +187161,7 @@ function _termIsEquivalence($pParse,$pExpr) { if (!($51)) { $52 = HEAP32[$pColl>>2]|0; $53 = HEAP32[$52>>2]|0; - $54 = (_sqlite3_stricmp($53,35690)|0); + $54 = (_sqlite3StrICmp($53,35343)|0); $55 = ($54|0)==(0); if (!($55)) { $56 = HEAP32[$1>>2]|0; @@ -185686,7 +187198,7 @@ function _termIsEquivalence($pParse,$pExpr) { HEAP32[$zColl2>>2] = $75; $76 = HEAP32[$zColl1>>2]|0; $77 = HEAP32[$zColl2>>2]|0; - $78 = (_sqlite3_stricmp($76,$77)|0); + $78 = (_sqlite3StrICmp($76,$77)|0); $79 = ($78|0)==(0); $80 = $79&1; HEAP32[$0>>2] = $80; @@ -185856,11 +187368,12 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; - var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0, $chngToIN = 0, $db = 0, $i = 0, $iColumn = 0, $iCursor = 0, $iOne = 0, $iTwo = 0, $idxNew = 0, $indexable = 0, $j = 0, $j2 = 0, $okToChngToIN = 0, $pAndInfo = 0, $pAndTerm = 0; - var $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOne = 0, $pOrInfo = 0, $pOrTerm = 0, $pOrWc = 0, $pOther = 0, $pParse = 0, $pTerm = 0, $pTwo = 0, $pWInfo = 0, label = 0, sp = 0; + var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0; + var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $affLeft = 0, $affRight = 0, $b = 0, $b1 = 0, $chngToIN = 0, $db = 0, $i = 0, $iColumn = 0, $iCursor = 0, $iOne = 0, $iTwo = 0, $idxNew = 0, $indexable = 0, $j = 0; + var $j2 = 0, $okToChngToIN = 0, $pAndInfo = 0, $pAndTerm = 0, $pAndWC = 0, $pDup = 0, $pExpr = 0, $pLeft = 0, $pList = 0, $pNew = 0, $pOne = 0, $pOrInfo = 0, $pOrTerm = 0, $pOrWc = 0, $pOther = 0, $pParse = 0, $pTerm = 0, $pTwo = 0, $pWInfo = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 160|0; $0 = sp + 156|0; @@ -185941,412 +187454,418 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { $28 = HEAP32[$pOrInfo>>2]|0; HEAP32[$pOrWc>>2] = $28; $29 = HEAP32[$pOrWc>>2]|0; - $30 = HEAP32[$pWInfo>>2]|0; - _sqlite3WhereClauseInit($29,$30); + $30 = ((($29)) + 24|0); + _memset(($30|0),0,384)|0; $31 = HEAP32[$pOrWc>>2]|0; - $32 = HEAP32[$pExpr>>2]|0; - _sqlite3WhereSplit($31,$32,71); - $33 = HEAP32[$0>>2]|0; - $34 = HEAP32[$pOrWc>>2]|0; - _sqlite3WhereExprAnalyze($33,$34); - $35 = HEAP32[$db>>2]|0; - $36 = ((($35)) + 65|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)!=(0); - if ($38) { + $32 = HEAP32[$pWInfo>>2]|0; + _sqlite3WhereClauseInit($31,$32); + $33 = HEAP32[$pOrWc>>2]|0; + $34 = HEAP32[$pExpr>>2]|0; + _sqlite3WhereSplit($33,$34,71); + $35 = HEAP32[$0>>2]|0; + $36 = HEAP32[$pOrWc>>2]|0; + _sqlite3WhereExprAnalyze($35,$36); + $37 = HEAP32[$db>>2]|0; + $38 = ((($37)) + 69|0); + $39 = HEAP8[$38>>0]|0; + $40 = ($39<<24>>24)!=(0); + if ($40) { STACKTOP = sp;return; } - $39 = $indexable; - $40 = $39; - HEAP32[$40>>2] = -1; - $41 = (($39) + 4)|0; + $41 = $indexable; $42 = $41; HEAP32[$42>>2] = -1; - $43 = $chngToIN; + $43 = (($41) + 4)|0; $44 = $43; HEAP32[$44>>2] = -1; - $45 = (($43) + 4)|0; + $45 = $chngToIN; $46 = $45; HEAP32[$46>>2] = -1; - $47 = HEAP32[$pOrWc>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) - 1)|0; - HEAP32[$i>>2] = $50; - $51 = HEAP32[$pOrWc>>2]|0; - $52 = ((($51)) + 20|0); - $53 = HEAP32[$52>>2]|0; - HEAP32[$pOrTerm>>2] = $53; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = -1; + $49 = HEAP32[$pOrWc>>2]|0; + $50 = ((($49)) + 12|0); + $51 = HEAP32[$50>>2]|0; + $52 = (($51) - 1)|0; + HEAP32[$i>>2] = $52; + $53 = HEAP32[$pOrWc>>2]|0; + $54 = ((($53)) + 20|0); + $55 = HEAP32[$54>>2]|0; + HEAP32[$pOrTerm>>2] = $55; while(1) { - $54 = HEAP32[$i>>2]|0; - $55 = ($54|0)>=(0); - $56 = $indexable; - $57 = $56; - $58 = HEAP32[$57>>2]|0; - $59 = (($56) + 4)|0; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = ($58|0)!=(0); - $63 = ($61|0)!=(0); - $64 = $62 | $63; - $65 = $55 ? $64 : 0; - if (!($65)) { + $56 = HEAP32[$i>>2]|0; + $57 = ($56|0)>=(0); + $58 = $indexable; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = ($60|0)!=(0); + $65 = ($63|0)!=(0); + $66 = $64 | $65; + $67 = $57 ? $66 : 0; + if (!($67)) { break; } - $66 = HEAP32[$pOrTerm>>2]|0; - $67 = ((($66)) + 18|0); - $68 = HEAP16[$67>>1]|0; - $69 = $68&65535; - $70 = $69 & 511; - $71 = ($70|0)==(0); + $68 = HEAP32[$pOrTerm>>2]|0; + $69 = ((($68)) + 18|0); + $70 = HEAP16[$69>>1]|0; + $71 = $70&65535; + $72 = $71 & 511; + $73 = ($72|0)==(0); do { - if ($71) { - $72 = $chngToIN; - $73 = $72; - HEAP32[$73>>2] = 0; - $74 = (($72) + 4)|0; + if ($73) { + $74 = $chngToIN; $75 = $74; HEAP32[$75>>2] = 0; - $76 = HEAP32[$db>>2]|0; - $77 = (_sqlite3DbMallocRawNN($76,408,0)|0); - HEAP32[$pAndInfo>>2] = $77; - $78 = HEAP32[$pAndInfo>>2]|0; - $79 = ($78|0)!=(0|0); - if ($79) { - $80 = $b; - $81 = $80; - HEAP32[$81>>2] = 0; - $82 = (($80) + 4)|0; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = 0; + $78 = HEAP32[$db>>2]|0; + $79 = (_sqlite3DbMallocRawNN($78,408,0)|0); + HEAP32[$pAndInfo>>2] = $79; + $80 = HEAP32[$pAndInfo>>2]|0; + $81 = ($80|0)!=(0|0); + if ($81) { + $82 = $b; $83 = $82; HEAP32[$83>>2] = 0; - $84 = HEAP32[$pAndInfo>>2]|0; - $85 = HEAP32[$pOrTerm>>2]|0; - $86 = ((($85)) + 12|0); - HEAP32[$86>>2] = $84; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = 0; + $86 = HEAP32[$pAndInfo>>2]|0; $87 = HEAP32[$pOrTerm>>2]|0; - $88 = ((($87)) + 20|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 | 32; + $88 = ((($87)) + 12|0); + HEAP32[$88>>2] = $86; + $89 = HEAP32[$pOrTerm>>2]|0; + $90 = ((($89)) + 20|0); + $91 = HEAP16[$90>>1]|0; $92 = $91&65535; - HEAP16[$88>>1] = $92; - $93 = HEAP32[$pOrTerm>>2]|0; - $94 = ((($93)) + 18|0); - HEAP16[$94>>1] = 1024; - $95 = HEAP32[$pAndInfo>>2]|0; - HEAP32[$pAndWC>>2] = $95; - $96 = HEAP32[$pAndWC>>2]|0; - $97 = HEAP32[$1>>2]|0; - $98 = HEAP32[$97>>2]|0; - _sqlite3WhereClauseInit($96,$98); - $99 = HEAP32[$pAndWC>>2]|0; - $100 = HEAP32[$pOrTerm>>2]|0; - $101 = HEAP32[$100>>2]|0; - _sqlite3WhereSplit($99,$101,72); - $102 = HEAP32[$0>>2]|0; + $93 = $92 | 32; + $94 = $93&65535; + HEAP16[$90>>1] = $94; + $95 = HEAP32[$pOrTerm>>2]|0; + $96 = ((($95)) + 18|0); + HEAP16[$96>>1] = 1024; + $97 = HEAP32[$pAndInfo>>2]|0; + HEAP32[$pAndWC>>2] = $97; + $98 = HEAP32[$pAndWC>>2]|0; + $99 = ((($98)) + 24|0); + _memset(($99|0),0,384)|0; + $100 = HEAP32[$pAndWC>>2]|0; + $101 = HEAP32[$1>>2]|0; + $102 = HEAP32[$101>>2]|0; + _sqlite3WhereClauseInit($100,$102); $103 = HEAP32[$pAndWC>>2]|0; - _sqlite3WhereExprAnalyze($102,$103); - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$pAndWC>>2]|0; - $106 = ((($105)) + 4|0); - HEAP32[$106>>2] = $104; - $107 = HEAP32[$db>>2]|0; - $108 = ((($107)) + 65|0); - $109 = HEAP8[$108>>0]|0; - $110 = ($109<<24>>24)!=(0); + $104 = HEAP32[$pOrTerm>>2]|0; + $105 = HEAP32[$104>>2]|0; + _sqlite3WhereSplit($103,$105,72); + $106 = HEAP32[$0>>2]|0; + $107 = HEAP32[$pAndWC>>2]|0; + _sqlite3WhereExprAnalyze($106,$107); + $108 = HEAP32[$1>>2]|0; + $109 = HEAP32[$pAndWC>>2]|0; + $110 = ((($109)) + 4|0); + HEAP32[$110>>2] = $108; + $111 = HEAP32[$db>>2]|0; + $112 = ((($111)) + 69|0); + $113 = HEAP8[$112>>0]|0; + $114 = ($113<<24>>24)!=(0); L13: do { - if (!($110)) { + if (!($114)) { HEAP32[$j>>2] = 0; - $111 = HEAP32[$pAndWC>>2]|0; - $112 = ((($111)) + 20|0); - $113 = HEAP32[$112>>2]|0; - HEAP32[$pAndTerm>>2] = $113; + $115 = HEAP32[$pAndWC>>2]|0; + $116 = ((($115)) + 20|0); + $117 = HEAP32[$116>>2]|0; + HEAP32[$pAndTerm>>2] = $117; while(1) { - $114 = HEAP32[$j>>2]|0; - $115 = HEAP32[$pAndWC>>2]|0; - $116 = ((($115)) + 12|0); - $117 = HEAP32[$116>>2]|0; - $118 = ($114|0)<($117|0); - if (!($118)) { + $118 = HEAP32[$j>>2]|0; + $119 = HEAP32[$pAndWC>>2]|0; + $120 = ((($119)) + 12|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($118|0)<($121|0); + if (!($122)) { break L13; } - $119 = HEAP32[$pAndTerm>>2]|0; - $120 = HEAP32[$119>>2]|0; - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = (_allowedOp($122)|0); - $124 = ($123|0)!=(0); - if ($124) { - $125 = HEAP32[$pWInfo>>2]|0; - $126 = ((($125)) + 68|0); - $127 = HEAP32[$pAndTerm>>2]|0; - $128 = ((($127)) + 8|0); - $129 = HEAP32[$128>>2]|0; - $130 = (_sqlite3WhereGetMask($126,$129)|0); - $131 = tempRet0; - $132 = $b; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = (($132) + 4)|0; - $136 = $135; - $137 = HEAP32[$136>>2]|0; - $138 = $134 | $130; - $139 = $137 | $131; - $140 = $b; - $141 = $140; - HEAP32[$141>>2] = $138; - $142 = (($140) + 4)|0; - $143 = $142; - HEAP32[$143>>2] = $139; + $123 = HEAP32[$pAndTerm>>2]|0; + $124 = HEAP32[$123>>2]|0; + $125 = HEAP8[$124>>0]|0; + $126 = $125&255; + $127 = (_allowedOp($126)|0); + $128 = ($127|0)!=(0); + if ($128) { + $129 = HEAP32[$pWInfo>>2]|0; + $130 = ((($129)) + 68|0); + $131 = HEAP32[$pAndTerm>>2]|0; + $132 = ((($131)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = (_sqlite3WhereGetMask($130,$133)|0); + $135 = tempRet0; + $136 = $b; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = $138 | $134; + $143 = $141 | $135; + $144 = $b; + $145 = $144; + HEAP32[$145>>2] = $142; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; } - $144 = HEAP32[$j>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$j>>2] = $145; - $146 = HEAP32[$pAndTerm>>2]|0; - $147 = ((($146)) + 48|0); - HEAP32[$pAndTerm>>2] = $147; + $148 = HEAP32[$j>>2]|0; + $149 = (($148) + 1)|0; + HEAP32[$j>>2] = $149; + $150 = HEAP32[$pAndTerm>>2]|0; + $151 = ((($150)) + 48|0); + HEAP32[$pAndTerm>>2] = $151; } } } while(0); - $148 = $b; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = (($148) + 4)|0; - $152 = $151; - $153 = HEAP32[$152>>2]|0; - $154 = $indexable; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = $156 & $150; - $161 = $159 & $153; - $162 = $indexable; - $163 = $162; - HEAP32[$163>>2] = $160; - $164 = (($162) + 4)|0; - $165 = $164; - HEAP32[$165>>2] = $161; + $152 = $b; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = (($152) + 4)|0; + $156 = $155; + $157 = HEAP32[$156>>2]|0; + $158 = $indexable; + $159 = $158; + $160 = HEAP32[$159>>2]|0; + $161 = (($158) + 4)|0; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = $160 & $154; + $165 = $163 & $157; + $166 = $indexable; + $167 = $166; + HEAP32[$167>>2] = $164; + $168 = (($166) + 4)|0; + $169 = $168; + HEAP32[$169>>2] = $165; } } else { - $166 = HEAP32[$pOrTerm>>2]|0; - $167 = ((($166)) + 20|0); - $168 = HEAP16[$167>>1]|0; - $169 = $168&65535; - $170 = $169 & 8; - $171 = ($170|0)!=(0); - if (!($171)) { - $172 = HEAP32[$pWInfo>>2]|0; - $173 = ((($172)) + 68|0); - $174 = HEAP32[$pOrTerm>>2]|0; - $175 = ((($174)) + 8|0); - $176 = HEAP32[$175>>2]|0; - $177 = (_sqlite3WhereGetMask($173,$176)|0); - $178 = tempRet0; - $179 = $b1; - $180 = $179; - HEAP32[$180>>2] = $177; - $181 = (($179) + 4)|0; - $182 = $181; - HEAP32[$182>>2] = $178; - $183 = HEAP32[$pOrTerm>>2]|0; - $184 = ((($183)) + 20|0); - $185 = HEAP16[$184>>1]|0; - $186 = $185&65535; - $187 = $186 & 2; - $188 = ($187|0)!=(0); - if ($188) { - $189 = HEAP32[$pOrTerm>>2]|0; - $190 = ((($189)) + 4|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$pOrWc>>2]|0; - $193 = ((($192)) + 20|0); - $194 = HEAP32[$193>>2]|0; - $195 = (($194) + (($191*48)|0)|0); - HEAP32[$pOther>>2] = $195; - $196 = HEAP32[$pWInfo>>2]|0; - $197 = ((($196)) + 68|0); - $198 = HEAP32[$pOther>>2]|0; - $199 = ((($198)) + 8|0); - $200 = HEAP32[$199>>2]|0; - $201 = (_sqlite3WhereGetMask($197,$200)|0); - $202 = tempRet0; - $203 = $b1; - $204 = $203; - $205 = HEAP32[$204>>2]|0; - $206 = (($203) + 4)|0; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = $205 | $201; - $210 = $208 | $202; - $211 = $b1; - $212 = $211; - HEAP32[$212>>2] = $209; - $213 = (($211) + 4)|0; - $214 = $213; - HEAP32[$214>>2] = $210; - } - $215 = $b1; - $216 = $215; - $217 = HEAP32[$216>>2]|0; - $218 = (($215) + 4)|0; - $219 = $218; - $220 = HEAP32[$219>>2]|0; - $221 = $indexable; - $222 = $221; - $223 = HEAP32[$222>>2]|0; - $224 = (($221) + 4)|0; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = $223 & $217; - $228 = $226 & $220; - $229 = $indexable; - $230 = $229; - HEAP32[$230>>2] = $227; - $231 = (($229) + 4)|0; - $232 = $231; - HEAP32[$232>>2] = $228; - $233 = HEAP32[$pOrTerm>>2]|0; - $234 = ((($233)) + 18|0); - $235 = HEAP16[$234>>1]|0; - $236 = $235&65535; - $237 = $236 & 2; - $238 = ($237|0)==(0); - if ($238) { - $239 = $chngToIN; - $240 = $239; - HEAP32[$240>>2] = 0; - $241 = (($239) + 4)|0; - $242 = $241; - HEAP32[$242>>2] = 0; + $170 = HEAP32[$pOrTerm>>2]|0; + $171 = ((($170)) + 20|0); + $172 = HEAP16[$171>>1]|0; + $173 = $172&65535; + $174 = $173 & 8; + $175 = ($174|0)!=(0); + if (!($175)) { + $176 = HEAP32[$pWInfo>>2]|0; + $177 = ((($176)) + 68|0); + $178 = HEAP32[$pOrTerm>>2]|0; + $179 = ((($178)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = (_sqlite3WhereGetMask($177,$180)|0); + $182 = tempRet0; + $183 = $b1; + $184 = $183; + HEAP32[$184>>2] = $181; + $185 = (($183) + 4)|0; + $186 = $185; + HEAP32[$186>>2] = $182; + $187 = HEAP32[$pOrTerm>>2]|0; + $188 = ((($187)) + 20|0); + $189 = HEAP16[$188>>1]|0; + $190 = $189&65535; + $191 = $190 & 2; + $192 = ($191|0)!=(0); + if ($192) { + $193 = HEAP32[$pOrTerm>>2]|0; + $194 = ((($193)) + 4|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$pOrWc>>2]|0; + $197 = ((($196)) + 20|0); + $198 = HEAP32[$197>>2]|0; + $199 = (($198) + (($195*48)|0)|0); + HEAP32[$pOther>>2] = $199; + $200 = HEAP32[$pWInfo>>2]|0; + $201 = ((($200)) + 68|0); + $202 = HEAP32[$pOther>>2]|0; + $203 = ((($202)) + 8|0); + $204 = HEAP32[$203>>2]|0; + $205 = (_sqlite3WhereGetMask($201,$204)|0); + $206 = tempRet0; + $207 = $b1; + $208 = $207; + $209 = HEAP32[$208>>2]|0; + $210 = (($207) + 4)|0; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = $209 | $205; + $214 = $212 | $206; + $215 = $b1; + $216 = $215; + HEAP32[$216>>2] = $213; + $217 = (($215) + 4)|0; + $218 = $217; + HEAP32[$218>>2] = $214; + } + $219 = $b1; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = $indexable; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = $227 & $221; + $232 = $230 & $224; + $233 = $indexable; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $237 = HEAP32[$pOrTerm>>2]|0; + $238 = ((($237)) + 18|0); + $239 = HEAP16[$238>>1]|0; + $240 = $239&65535; + $241 = $240 & 2; + $242 = ($241|0)==(0); + if ($242) { + $243 = $chngToIN; + $244 = $243; + HEAP32[$244>>2] = 0; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP32[$246>>2] = 0; break; } else { - $243 = $b1; - $244 = $243; - $245 = HEAP32[$244>>2]|0; - $246 = (($243) + 4)|0; - $247 = $246; - $248 = HEAP32[$247>>2]|0; - $249 = $chngToIN; - $250 = $249; - $251 = HEAP32[$250>>2]|0; - $252 = (($249) + 4)|0; - $253 = $252; - $254 = HEAP32[$253>>2]|0; - $255 = $251 & $245; - $256 = $254 & $248; - $257 = $chngToIN; - $258 = $257; - HEAP32[$258>>2] = $255; - $259 = (($257) + 4)|0; - $260 = $259; - HEAP32[$260>>2] = $256; + $247 = $b1; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = (($247) + 4)|0; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = $chngToIN; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = (($253) + 4)|0; + $257 = $256; + $258 = HEAP32[$257>>2]|0; + $259 = $255 & $249; + $260 = $258 & $252; + $261 = $chngToIN; + $262 = $261; + HEAP32[$262>>2] = $259; + $263 = (($261) + 4)|0; + $264 = $263; + HEAP32[$264>>2] = $260; break; } } } } while(0); - $261 = HEAP32[$i>>2]|0; - $262 = (($261) + -1)|0; - HEAP32[$i>>2] = $262; - $263 = HEAP32[$pOrTerm>>2]|0; - $264 = ((($263)) + 48|0); - HEAP32[$pOrTerm>>2] = $264; - } - $265 = $indexable; - $266 = $265; - $267 = HEAP32[$266>>2]|0; - $268 = (($265) + 4)|0; - $269 = $268; - $270 = HEAP32[$269>>2]|0; - $271 = HEAP32[$pOrInfo>>2]|0; - $272 = ((($271)) + 408|0); + $265 = HEAP32[$i>>2]|0; + $266 = (($265) + -1)|0; + HEAP32[$i>>2] = $266; + $267 = HEAP32[$pOrTerm>>2]|0; + $268 = ((($267)) + 48|0); + HEAP32[$pOrTerm>>2] = $268; + } + $269 = $indexable; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = (($269) + 4)|0; $273 = $272; - $274 = $273; - HEAP32[$274>>2] = $267; - $275 = (($273) + 4)|0; - $276 = $275; - HEAP32[$276>>2] = $270; - $277 = $indexable; + $274 = HEAP32[$273>>2]|0; + $275 = HEAP32[$pOrInfo>>2]|0; + $276 = ((($275)) + 408|0); + $277 = $276; $278 = $277; - $279 = HEAP32[$278>>2]|0; - $280 = (($277) + 4)|0; - $281 = $280; - $282 = HEAP32[$281>>2]|0; - $283 = ($279|0)==(0); - $284 = ($282|0)==(0); - $285 = $283 & $284; - $286 = $285 ? 0 : 512; - $287 = $286&65535; - $288 = HEAP32[$pTerm>>2]|0; - $289 = ((($288)) + 18|0); - HEAP16[$289>>1] = $287; - $290 = $indexable; - $291 = $290; - $292 = HEAP32[$291>>2]|0; - $293 = (($290) + 4)|0; - $294 = $293; - $295 = HEAP32[$294>>2]|0; - $296 = ($292|0)!=(0); - $297 = ($295|0)!=(0); - $298 = $296 | $297; + HEAP32[$278>>2] = $271; + $279 = (($277) + 4)|0; + $280 = $279; + HEAP32[$280>>2] = $274; + $281 = $indexable; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + $284 = (($281) + 4)|0; + $285 = $284; + $286 = HEAP32[$285>>2]|0; + $287 = ($283|0)==(0); + $288 = ($286|0)==(0); + $289 = $287 & $288; + $290 = $289 ? 0 : 512; + $291 = $290&65535; + $292 = HEAP32[$pTerm>>2]|0; + $293 = ((($292)) + 18|0); + HEAP16[$293>>1] = $291; + $294 = $indexable; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = (($294) + 4)|0; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = ($296|0)!=(0); + $301 = ($299|0)!=(0); + $302 = $300 | $301; L32: do { - if ($298) { - $299 = HEAP32[$pOrWc>>2]|0; - $300 = ((($299)) + 12|0); - $301 = HEAP32[$300>>2]|0; - $302 = ($301|0)==(2); - if ($302) { + if ($302) { + $303 = HEAP32[$pOrWc>>2]|0; + $304 = ((($303)) + 12|0); + $305 = HEAP32[$304>>2]|0; + $306 = ($305|0)==(2); + if ($306) { HEAP32[$iOne>>2] = 0; L35: while(1) { - $303 = HEAP32[$pOrWc>>2]|0; - $304 = ((($303)) + 20|0); - $305 = HEAP32[$304>>2]|0; - $306 = HEAP32[$iOne>>2]|0; - $307 = (($306) + 1)|0; - HEAP32[$iOne>>2] = $307; - $308 = (_whereNthSubterm($305,$306)|0); - HEAP32[$pOne>>2] = $308; - $309 = ($308|0)!=(0|0); - if (!($309)) { + $307 = HEAP32[$pOrWc>>2]|0; + $308 = ((($307)) + 20|0); + $309 = HEAP32[$308>>2]|0; + $310 = HEAP32[$iOne>>2]|0; + $311 = (($310) + 1)|0; + HEAP32[$iOne>>2] = $311; + $312 = (_whereNthSubterm($309,$310)|0); + HEAP32[$pOne>>2] = $312; + $313 = ($312|0)!=(0|0); + if (!($313)) { break L32; } HEAP32[$iTwo>>2] = 0; while(1) { - $310 = HEAP32[$pOrWc>>2]|0; - $311 = ((($310)) + 20|0); - $312 = HEAP32[$311>>2]|0; - $313 = ((($312)) + 48|0); - $314 = HEAP32[$iTwo>>2]|0; - $315 = (($314) + 1)|0; - HEAP32[$iTwo>>2] = $315; - $316 = (_whereNthSubterm($313,$314)|0); - HEAP32[$pTwo>>2] = $316; - $317 = ($316|0)!=(0|0); - if (!($317)) { + $314 = HEAP32[$pOrWc>>2]|0; + $315 = ((($314)) + 20|0); + $316 = HEAP32[$315>>2]|0; + $317 = ((($316)) + 48|0); + $318 = HEAP32[$iTwo>>2]|0; + $319 = (($318) + 1)|0; + HEAP32[$iTwo>>2] = $319; + $320 = (_whereNthSubterm($317,$318)|0); + HEAP32[$pTwo>>2] = $320; + $321 = ($320|0)!=(0|0); + if (!($321)) { continue L35; } - $318 = HEAP32[$0>>2]|0; - $319 = HEAP32[$1>>2]|0; - $320 = HEAP32[$pOne>>2]|0; - $321 = HEAP32[$pTwo>>2]|0; - _whereCombineDisjuncts($318,$319,$320,$321); + $322 = HEAP32[$0>>2]|0; + $323 = HEAP32[$1>>2]|0; + $324 = HEAP32[$pOne>>2]|0; + $325 = HEAP32[$pTwo>>2]|0; + _whereCombineDisjuncts($322,$323,$324,$325); } } } } } while(0); - $322 = $chngToIN; - $323 = $322; - $324 = HEAP32[$323>>2]|0; - $325 = (($322) + 4)|0; - $326 = $325; - $327 = HEAP32[$326>>2]|0; - $328 = ($324|0)!=(0); - $329 = ($327|0)!=(0); - $330 = $328 | $329; - if (!($330)) { + $326 = $chngToIN; + $327 = $326; + $328 = HEAP32[$327>>2]|0; + $329 = (($326) + 4)|0; + $330 = $329; + $331 = HEAP32[$330>>2]|0; + $332 = ($328|0)!=(0); + $333 = ($331|0)!=(0); + $334 = $332 | $333; + if (!($334)) { STACKTOP = sp;return; } HEAP32[$okToChngToIN>>2] = 0; @@ -186355,268 +187874,268 @@ function _exprAnalyzeOrTerm($pSrc,$pWC,$idxTerm) { HEAP32[$j2>>2] = 0; HEAP32[$j2>>2] = 0; while(1) { - $331 = HEAP32[$j2>>2]|0; - $332 = ($331|0)<(2); - if (!($332)) { - break; - } - $333 = HEAP32[$okToChngToIN>>2]|0; - $334 = ($333|0)!=(0); - $335 = $334 ^ 1; - if (!($335)) { - break; - } - $336 = HEAP32[$pOrWc>>2]|0; - $337 = ((($336)) + 20|0); - $338 = HEAP32[$337>>2]|0; - HEAP32[$pOrTerm>>2] = $338; - $339 = HEAP32[$pOrWc>>2]|0; - $340 = ((($339)) + 12|0); - $341 = HEAP32[$340>>2]|0; - $342 = (($341) - 1)|0; - HEAP32[$i>>2] = $342; + $335 = HEAP32[$j2>>2]|0; + $336 = ($335|0)<(2); + if (!($336)) { + break; + } + $337 = HEAP32[$okToChngToIN>>2]|0; + $338 = ($337|0)!=(0); + $339 = $338 ^ 1; + if (!($339)) { + break; + } + $340 = HEAP32[$pOrWc>>2]|0; + $341 = ((($340)) + 20|0); + $342 = HEAP32[$341>>2]|0; + HEAP32[$pOrTerm>>2] = $342; + $343 = HEAP32[$pOrWc>>2]|0; + $344 = ((($343)) + 12|0); + $345 = HEAP32[$344>>2]|0; + $346 = (($345) - 1)|0; + HEAP32[$i>>2] = $346; while(1) { - $343 = HEAP32[$i>>2]|0; - $344 = ($343|0)>=(0); - if (!($344)) { + $347 = HEAP32[$i>>2]|0; + $348 = ($347|0)>=(0); + if (!($348)) { break; } - $345 = HEAP32[$pOrTerm>>2]|0; - $346 = ((($345)) + 20|0); - $347 = HEAP16[$346>>1]|0; - $348 = $347&65535; - $349 = $348 & -65; - $350 = $349&65535; - HEAP16[$346>>1] = $350; - $351 = HEAP32[$pOrTerm>>2]|0; - $352 = ((($351)) + 8|0); - $353 = HEAP32[$352>>2]|0; - $354 = HEAP32[$iCursor>>2]|0; - $355 = ($353|0)==($354|0); - if (!($355)) { - $356 = $chngToIN; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = (($356) + 4)|0; - $360 = $359; - $361 = HEAP32[$360>>2]|0; - $362 = HEAP32[$pWInfo>>2]|0; - $363 = ((($362)) + 68|0); - $364 = HEAP32[$pOrTerm>>2]|0; - $365 = ((($364)) + 8|0); - $366 = HEAP32[$365>>2]|0; - $367 = (_sqlite3WhereGetMask($363,$366)|0); - $368 = tempRet0; - $369 = $358 & $367; - $370 = $361 & $368; - $371 = ($369|0)==(0); - $372 = ($370|0)==(0); - $373 = $371 & $372; - if (!($373)) { + $349 = HEAP32[$pOrTerm>>2]|0; + $350 = ((($349)) + 20|0); + $351 = HEAP16[$350>>1]|0; + $352 = $351&65535; + $353 = $352 & -65; + $354 = $353&65535; + HEAP16[$350>>1] = $354; + $355 = HEAP32[$pOrTerm>>2]|0; + $356 = ((($355)) + 8|0); + $357 = HEAP32[$356>>2]|0; + $358 = HEAP32[$iCursor>>2]|0; + $359 = ($357|0)==($358|0); + if (!($359)) { + $360 = $chngToIN; + $361 = $360; + $362 = HEAP32[$361>>2]|0; + $363 = (($360) + 4)|0; + $364 = $363; + $365 = HEAP32[$364>>2]|0; + $366 = HEAP32[$pWInfo>>2]|0; + $367 = ((($366)) + 68|0); + $368 = HEAP32[$pOrTerm>>2]|0; + $369 = ((($368)) + 8|0); + $370 = HEAP32[$369>>2]|0; + $371 = (_sqlite3WhereGetMask($367,$370)|0); + $372 = tempRet0; + $373 = $362 & $371; + $374 = $365 & $372; + $375 = ($373|0)==(0); + $376 = ($374|0)==(0); + $377 = $375 & $376; + if (!($377)) { label = 36; break; } } - $380 = HEAP32[$i>>2]|0; - $381 = (($380) + -1)|0; - HEAP32[$i>>2] = $381; - $382 = HEAP32[$pOrTerm>>2]|0; - $383 = ((($382)) + 48|0); - HEAP32[$pOrTerm>>2] = $383; + $384 = HEAP32[$i>>2]|0; + $385 = (($384) + -1)|0; + HEAP32[$i>>2] = $385; + $386 = HEAP32[$pOrTerm>>2]|0; + $387 = ((($386)) + 48|0); + HEAP32[$pOrTerm>>2] = $387; } if ((label|0) == 36) { label = 0; - $374 = HEAP32[$pOrTerm>>2]|0; - $375 = ((($374)) + 12|0); - $376 = HEAP32[$375>>2]|0; - HEAP32[$iColumn>>2] = $376; - $377 = HEAP32[$pOrTerm>>2]|0; - $378 = ((($377)) + 8|0); - $379 = HEAP32[$378>>2]|0; - HEAP32[$iCursor>>2] = $379; - } - $384 = HEAP32[$i>>2]|0; - $385 = ($384|0)<(0); - if ($385) { + $378 = HEAP32[$pOrTerm>>2]|0; + $379 = ((($378)) + 12|0); + $380 = HEAP32[$379>>2]|0; + HEAP32[$iColumn>>2] = $380; + $381 = HEAP32[$pOrTerm>>2]|0; + $382 = ((($381)) + 8|0); + $383 = HEAP32[$382>>2]|0; + HEAP32[$iCursor>>2] = $383; + } + $388 = HEAP32[$i>>2]|0; + $389 = ($388|0)<(0); + if ($389) { break; } HEAP32[$okToChngToIN>>2] = 1; while(1) { - $386 = HEAP32[$i>>2]|0; - $387 = ($386|0)>=(0); - $388 = HEAP32[$okToChngToIN>>2]|0; - $389 = ($388|0)!=(0); - $390 = $387 ? $389 : 0; - if (!($390)) { + $390 = HEAP32[$i>>2]|0; + $391 = ($390|0)>=(0); + $392 = HEAP32[$okToChngToIN>>2]|0; + $393 = ($392|0)!=(0); + $394 = $391 ? $393 : 0; + if (!($394)) { break; } - $391 = HEAP32[$pOrTerm>>2]|0; - $392 = ((($391)) + 8|0); - $393 = HEAP32[$392>>2]|0; - $394 = HEAP32[$iCursor>>2]|0; - $395 = ($393|0)!=($394|0); - $396 = HEAP32[$pOrTerm>>2]|0; + $395 = HEAP32[$pOrTerm>>2]|0; + $396 = ((($395)) + 8|0); + $397 = HEAP32[$396>>2]|0; + $398 = HEAP32[$iCursor>>2]|0; + $399 = ($397|0)!=($398|0); + $400 = HEAP32[$pOrTerm>>2]|0; do { - if ($395) { - $397 = ((($396)) + 20|0); - $398 = HEAP16[$397>>1]|0; - $399 = $398&65535; - $400 = $399 & -65; - $401 = $400&65535; - HEAP16[$397>>1] = $401; + if ($399) { + $401 = ((($400)) + 20|0); + $402 = HEAP16[$401>>1]|0; + $403 = $402&65535; + $404 = $403 & -65; + $405 = $404&65535; + HEAP16[$401>>1] = $405; } else { - $402 = ((($396)) + 12|0); - $403 = HEAP32[$402>>2]|0; - $404 = HEAP32[$iColumn>>2]|0; - $405 = ($403|0)!=($404|0); - if ($405) { + $406 = ((($400)) + 12|0); + $407 = HEAP32[$406>>2]|0; + $408 = HEAP32[$iColumn>>2]|0; + $409 = ($407|0)!=($408|0); + if ($409) { HEAP32[$okToChngToIN>>2] = 0; break; } - $406 = HEAP32[$pOrTerm>>2]|0; - $407 = HEAP32[$406>>2]|0; - $408 = ((($407)) + 16|0); - $409 = HEAP32[$408>>2]|0; - $410 = (_sqlite3ExprAffinity($409)|0); - $411 = $410 << 24 >> 24; - HEAP32[$affRight>>2] = $411; - $412 = HEAP32[$pOrTerm>>2]|0; + $410 = HEAP32[$pOrTerm>>2]|0; + $411 = HEAP32[$410>>2]|0; + $412 = ((($411)) + 16|0); $413 = HEAP32[$412>>2]|0; - $414 = ((($413)) + 12|0); - $415 = HEAP32[$414>>2]|0; - $416 = (_sqlite3ExprAffinity($415)|0); - $417 = $416 << 24 >> 24; - HEAP32[$affLeft>>2] = $417; - $418 = HEAP32[$affRight>>2]|0; - $419 = ($418|0)!=(0); - if ($419) { - $420 = HEAP32[$affRight>>2]|0; - $421 = HEAP32[$affLeft>>2]|0; - $422 = ($420|0)!=($421|0); - if ($422) { + $414 = (_sqlite3ExprAffinity($413)|0); + $415 = $414 << 24 >> 24; + HEAP32[$affRight>>2] = $415; + $416 = HEAP32[$pOrTerm>>2]|0; + $417 = HEAP32[$416>>2]|0; + $418 = ((($417)) + 12|0); + $419 = HEAP32[$418>>2]|0; + $420 = (_sqlite3ExprAffinity($419)|0); + $421 = $420 << 24 >> 24; + HEAP32[$affLeft>>2] = $421; + $422 = HEAP32[$affRight>>2]|0; + $423 = ($422|0)!=(0); + if ($423) { + $424 = HEAP32[$affRight>>2]|0; + $425 = HEAP32[$affLeft>>2]|0; + $426 = ($424|0)!=($425|0); + if ($426) { HEAP32[$okToChngToIN>>2] = 0; break; } } - $423 = HEAP32[$pOrTerm>>2]|0; - $424 = ((($423)) + 20|0); - $425 = HEAP16[$424>>1]|0; - $426 = $425&65535; - $427 = $426 | 64; - $428 = $427&65535; - HEAP16[$424>>1] = $428; + $427 = HEAP32[$pOrTerm>>2]|0; + $428 = ((($427)) + 20|0); + $429 = HEAP16[$428>>1]|0; + $430 = $429&65535; + $431 = $430 | 64; + $432 = $431&65535; + HEAP16[$428>>1] = $432; } } while(0); - $429 = HEAP32[$i>>2]|0; - $430 = (($429) + -1)|0; - HEAP32[$i>>2] = $430; - $431 = HEAP32[$pOrTerm>>2]|0; - $432 = ((($431)) + 48|0); - HEAP32[$pOrTerm>>2] = $432; - } - $433 = HEAP32[$j2>>2]|0; - $434 = (($433) + 1)|0; - HEAP32[$j2>>2] = $434; - } - $435 = HEAP32[$okToChngToIN>>2]|0; - $436 = ($435|0)!=(0); - if (!($436)) { + $433 = HEAP32[$i>>2]|0; + $434 = (($433) + -1)|0; + HEAP32[$i>>2] = $434; + $435 = HEAP32[$pOrTerm>>2]|0; + $436 = ((($435)) + 48|0); + HEAP32[$pOrTerm>>2] = $436; + } + $437 = HEAP32[$j2>>2]|0; + $438 = (($437) + 1)|0; + HEAP32[$j2>>2] = $438; + } + $439 = HEAP32[$okToChngToIN>>2]|0; + $440 = ($439|0)!=(0); + if (!($440)) { STACKTOP = sp;return; } HEAP32[$pList>>2] = 0; HEAP32[$pLeft>>2] = 0; - $437 = HEAP32[$pOrWc>>2]|0; - $438 = ((($437)) + 12|0); - $439 = HEAP32[$438>>2]|0; - $440 = (($439) - 1)|0; - HEAP32[$i>>2] = $440; $441 = HEAP32[$pOrWc>>2]|0; - $442 = ((($441)) + 20|0); + $442 = ((($441)) + 12|0); $443 = HEAP32[$442>>2]|0; - HEAP32[$pOrTerm>>2] = $443; + $444 = (($443) - 1)|0; + HEAP32[$i>>2] = $444; + $445 = HEAP32[$pOrWc>>2]|0; + $446 = ((($445)) + 20|0); + $447 = HEAP32[$446>>2]|0; + HEAP32[$pOrTerm>>2] = $447; while(1) { - $444 = HEAP32[$i>>2]|0; - $445 = ($444|0)>=(0); - if (!($445)) { - break; - } - $446 = HEAP32[$pOrTerm>>2]|0; - $447 = ((($446)) + 20|0); - $448 = HEAP16[$447>>1]|0; - $449 = $448&65535; - $450 = $449 & 64; - $451 = ($450|0)==(0); - if (!($451)) { - $452 = HEAP32[$db>>2]|0; - $453 = HEAP32[$pOrTerm>>2]|0; - $454 = HEAP32[$453>>2]|0; - $455 = ((($454)) + 16|0); - $456 = HEAP32[$455>>2]|0; - $457 = (_sqlite3ExprDup($452,$456,0)|0); - HEAP32[$pDup>>2] = $457; - $458 = HEAP32[$pWInfo>>2]|0; - $459 = HEAP32[$458>>2]|0; - $460 = HEAP32[$pList>>2]|0; - $461 = HEAP32[$pDup>>2]|0; - $462 = (_sqlite3ExprListAppend($459,$460,$461)|0); - HEAP32[$pList>>2] = $462; - $463 = HEAP32[$pOrTerm>>2]|0; - $464 = HEAP32[$463>>2]|0; - $465 = ((($464)) + 12|0); - $466 = HEAP32[$465>>2]|0; - HEAP32[$pLeft>>2] = $466; - } - $467 = HEAP32[$i>>2]|0; - $468 = (($467) + -1)|0; - HEAP32[$i>>2] = $468; - $469 = HEAP32[$pOrTerm>>2]|0; - $470 = ((($469)) + 48|0); - HEAP32[$pOrTerm>>2] = $470; - } - $471 = HEAP32[$db>>2]|0; - $472 = HEAP32[$pLeft>>2]|0; - $473 = (_sqlite3ExprDup($471,$472,0)|0); - HEAP32[$pDup>>2] = $473; - $474 = HEAP32[$pParse>>2]|0; - $475 = HEAP32[$pDup>>2]|0; - $476 = (_sqlite3PExpr($474,75,$475,0,0)|0); - HEAP32[$pNew>>2] = $476; - $477 = HEAP32[$pNew>>2]|0; - $478 = ($477|0)!=(0|0); - if ($478) { - $479 = HEAP32[$pNew>>2]|0; - $480 = HEAP32[$pExpr>>2]|0; - _transferJoinMarkings($479,$480); - $481 = HEAP32[$pList>>2]|0; - $482 = HEAP32[$pNew>>2]|0; - $483 = ((($482)) + 20|0); - HEAP32[$483>>2] = $481; - $484 = HEAP32[$1>>2]|0; - $485 = HEAP32[$pNew>>2]|0; - $486 = (_whereClauseInsert($484,$485,3)|0); - HEAP32[$idxNew>>2] = $486; - $487 = HEAP32[$0>>2]|0; + $448 = HEAP32[$i>>2]|0; + $449 = ($448|0)>=(0); + if (!($449)) { + break; + } + $450 = HEAP32[$pOrTerm>>2]|0; + $451 = ((($450)) + 20|0); + $452 = HEAP16[$451>>1]|0; + $453 = $452&65535; + $454 = $453 & 64; + $455 = ($454|0)==(0); + if (!($455)) { + $456 = HEAP32[$db>>2]|0; + $457 = HEAP32[$pOrTerm>>2]|0; + $458 = HEAP32[$457>>2]|0; + $459 = ((($458)) + 16|0); + $460 = HEAP32[$459>>2]|0; + $461 = (_sqlite3ExprDup($456,$460,0)|0); + HEAP32[$pDup>>2] = $461; + $462 = HEAP32[$pWInfo>>2]|0; + $463 = HEAP32[$462>>2]|0; + $464 = HEAP32[$pList>>2]|0; + $465 = HEAP32[$pDup>>2]|0; + $466 = (_sqlite3ExprListAppend($463,$464,$465)|0); + HEAP32[$pList>>2] = $466; + $467 = HEAP32[$pOrTerm>>2]|0; + $468 = HEAP32[$467>>2]|0; + $469 = ((($468)) + 12|0); + $470 = HEAP32[$469>>2]|0; + HEAP32[$pLeft>>2] = $470; + } + $471 = HEAP32[$i>>2]|0; + $472 = (($471) + -1)|0; + HEAP32[$i>>2] = $472; + $473 = HEAP32[$pOrTerm>>2]|0; + $474 = ((($473)) + 48|0); + HEAP32[$pOrTerm>>2] = $474; + } + $475 = HEAP32[$db>>2]|0; + $476 = HEAP32[$pLeft>>2]|0; + $477 = (_sqlite3ExprDup($475,$476,0)|0); + HEAP32[$pDup>>2] = $477; + $478 = HEAP32[$pParse>>2]|0; + $479 = HEAP32[$pDup>>2]|0; + $480 = (_sqlite3PExpr($478,75,$479,0,0)|0); + HEAP32[$pNew>>2] = $480; + $481 = HEAP32[$pNew>>2]|0; + $482 = ($481|0)!=(0|0); + if ($482) { + $483 = HEAP32[$pNew>>2]|0; + $484 = HEAP32[$pExpr>>2]|0; + _transferJoinMarkings($483,$484); + $485 = HEAP32[$pList>>2]|0; + $486 = HEAP32[$pNew>>2]|0; + $487 = ((($486)) + 20|0); + HEAP32[$487>>2] = $485; $488 = HEAP32[$1>>2]|0; - $489 = HEAP32[$idxNew>>2]|0; - _exprAnalyze($487,$488,$489); - $490 = HEAP32[$2>>2]|0; - $491 = HEAP32[$1>>2]|0; - $492 = ((($491)) + 20|0); - $493 = HEAP32[$492>>2]|0; - $494 = (($493) + (($490*48)|0)|0); - HEAP32[$pTerm>>2] = $494; + $489 = HEAP32[$pNew>>2]|0; + $490 = (_whereClauseInsert($488,$489,3)|0); + HEAP32[$idxNew>>2] = $490; + $491 = HEAP32[$0>>2]|0; + $492 = HEAP32[$1>>2]|0; + $493 = HEAP32[$idxNew>>2]|0; + _exprAnalyze($491,$492,$493); + $494 = HEAP32[$2>>2]|0; $495 = HEAP32[$1>>2]|0; - $496 = HEAP32[$idxNew>>2]|0; - $497 = HEAP32[$2>>2]|0; - _markTermAsChild($495,$496,$497); + $496 = ((($495)) + 20|0); + $497 = HEAP32[$496>>2]|0; + $498 = (($497) + (($494*48)|0)|0); + HEAP32[$pTerm>>2] = $498; + $499 = HEAP32[$1>>2]|0; + $500 = HEAP32[$idxNew>>2]|0; + $501 = HEAP32[$2>>2]|0; + _markTermAsChild($499,$500,$501); } else { - $498 = HEAP32[$db>>2]|0; - $499 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($498,$499); + $502 = HEAP32[$db>>2]|0; + $503 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($502,$503); } - $500 = HEAP32[$pTerm>>2]|0; - $501 = ((($500)) + 18|0); - HEAP16[$501>>1] = 4096; + $504 = HEAP32[$pTerm>>2]|0; + $505 = ((($504)) + 18|0); + HEAP16[$505>>1] = 4096; STACKTOP = sp;return; } function _isLikeOrGlob($pParse,$pExpr,$ppPrefix,$pisComplete,$pnoCase) { @@ -186940,7 +188459,7 @@ function _isMatchOfColumn($pExpr,$peOp2) { $i = sp; HEAP32[$1>>2] = $pExpr; HEAP32[$2>>2] = $peOp2; - ;HEAP32[$aOp>>2]=HEAP32[6280>>2]|0;HEAP32[$aOp+4>>2]=HEAP32[6280+4>>2]|0;HEAP32[$aOp+8>>2]=HEAP32[6280+8>>2]|0;HEAP32[$aOp+12>>2]=HEAP32[6280+12>>2]|0;HEAP32[$aOp+16>>2]=HEAP32[6280+16>>2]|0;HEAP32[$aOp+20>>2]=HEAP32[6280+20>>2]|0;HEAP32[$aOp+24>>2]=HEAP32[6280+24>>2]|0;HEAP32[$aOp+28>>2]=HEAP32[6280+28>>2]|0; + ;HEAP32[$aOp>>2]=HEAP32[6276>>2]|0;HEAP32[$aOp+4>>2]=HEAP32[6276+4>>2]|0;HEAP32[$aOp+8>>2]=HEAP32[6276+8>>2]|0;HEAP32[$aOp+12>>2]=HEAP32[6276+12>>2]|0;HEAP32[$aOp+16>>2]=HEAP32[6276+16>>2]|0;HEAP32[$aOp+20>>2]=HEAP32[6276+20>>2]|0;HEAP32[$aOp+24>>2]=HEAP32[6276+24>>2]|0;HEAP32[$aOp+28>>2]=HEAP32[6276+28>>2]|0; $3 = HEAP32[$1>>2]|0; $4 = HEAP8[$3>>0]|0; $5 = $4&255; @@ -186995,7 +188514,7 @@ function _isMatchOfColumn($pExpr,$peOp2) { $37 = HEAP32[$i>>2]|0; $38 = (($aOp) + ($37<<3)|0); $39 = HEAP32[$38>>2]|0; - $40 = (_sqlite3_stricmp($36,$39)|0); + $40 = (_sqlite3StrICmp($36,$39)|0); $41 = ($40|0)==(0); $42 = HEAP32[$i>>2]|0; if ($41) { @@ -187037,8 +188556,8 @@ function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { $pIsNocase = $pIsNocase|0; $aWc = $aWc|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDef = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 20|0; @@ -187071,50 +188590,46 @@ function _sqlite3IsLikeFunction($db,$pExpr,$pIsNocase,$aWc) { $19 = HEAP32[$2>>2]|0; $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = ((($22)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_sqlite3Strlen30($24)|0); - $26 = (_sqlite3FindFunction($18,$21,$25,2,1,0)|0); - HEAP32[$pDef>>2] = $26; - $27 = HEAP32[$pDef>>2]|0; - $28 = ($27|0)==(0|0); - if (!($28)) { - $29 = HEAP32[$pDef>>2]|0; - $30 = ((($29)) + 2|0); - $31 = HEAP16[$30>>1]|0; - $32 = $31&65535; - $33 = $32 & 4; - $34 = ($33|0)==(0); - if (!($34)) { - $35 = HEAP32[$4>>2]|0; - $36 = HEAP32[$pDef>>2]|0; - $37 = ((($36)) + 4|0); - $38 = HEAP32[$37>>2]|0; - ;HEAP8[$35>>0]=HEAP8[$38>>0]|0;HEAP8[$35+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$35+2>>0]=HEAP8[$38+2>>0]|0; - $39 = HEAP32[$pDef>>2]|0; - $40 = ((($39)) + 2|0); - $41 = HEAP16[$40>>1]|0; - $42 = $41&65535; - $43 = $42 & 8; - $44 = ($43|0)==(0); - $45 = $44&1; - $46 = HEAP32[$3>>2]|0; - HEAP32[$46>>2] = $45; + $22 = (_sqlite3FindFunction($18,$21,2,1,0)|0); + HEAP32[$pDef>>2] = $22; + $23 = HEAP32[$pDef>>2]|0; + $24 = ($23|0)==(0|0); + if (!($24)) { + $25 = HEAP32[$pDef>>2]|0; + $26 = ((($25)) + 2|0); + $27 = HEAP16[$26>>1]|0; + $28 = $27&65535; + $29 = $28 & 4; + $30 = ($29|0)==(0); + if (!($30)) { + $31 = HEAP32[$4>>2]|0; + $32 = HEAP32[$pDef>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + ;HEAP8[$31>>0]=HEAP8[$34>>0]|0;HEAP8[$31+1>>0]=HEAP8[$34+1>>0]|0;HEAP8[$31+2>>0]=HEAP8[$34+2>>0]|0; + $35 = HEAP32[$pDef>>2]|0; + $36 = ((($35)) + 2|0); + $37 = HEAP16[$36>>1]|0; + $38 = $37&65535; + $39 = $38 & 8; + $40 = ($39|0)==(0); + $41 = $40&1; + $42 = HEAP32[$3>>2]|0; + HEAP32[$42>>2] = $41; HEAP32[$0>>2] = 1; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $43 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($43|0); } } HEAP32[$0>>2] = 0; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $43 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($43|0); } } } HEAP32[$0>>2] = 0; - $47 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($47|0); + $43 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($43|0); } function _sqlite3VdbeGetBoundValue($v,$iVar,$aff) { $v = $v|0; @@ -187520,12 +189035,12 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { $16 = HEAP32[$2>>2]|0; $17 = ((($16)) + 4|0); $18 = HEAP32[$17>>2]|0; - $19 = (($18) + (($15*24)|0)|0); + $19 = (($18) + ($15<<4)|0); $20 = HEAP32[$19>>2]|0; HEAP32[$vararg_buffer>>2] = $11; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $20; - $21 = (_sqlite3MPrintf($9,31016,$vararg_buffer)|0); + $21 = (_sqlite3MPrintf($9,30741,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $21; HEAP32[$rc>>2] = 1555; $23 = HEAP32[$0>>2]|0; @@ -187536,7 +189051,7 @@ function _sqlite3RowidConstraint($pParse,$onError,$pTab) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer2>>2] = $11; - $22 = (_sqlite3MPrintf($9,36074,$vararg_buffer2)|0); + $22 = (_sqlite3MPrintf($9,35727,$vararg_buffer2)|0); HEAP32[$zMsg>>2] = $22; HEAP32[$rc>>2] = 2579; $23 = HEAP32[$0>>2]|0; @@ -188445,12 +189960,13 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $action = 0, $aiCol = 0, $db = 0, $i = 0, $iAction = 0, $iFromCol = 0, $nFrom = 0, $or$cond = 0, $or$cond3 = 0; - var $pDflt = 0, $pEq = 0, $pIdx = 0, $pList = 0, $pNew = 0, $pRaise = 0, $pSelect = 0, $pStep = 0, $pTrigger = 0, $pWhen = 0, $pWhere = 0, $tFrom = 0, $tFromCol = 0, $tNew = 0, $tOld = 0, $tToCol = 0, $zFrom = 0, label = 0, sp = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $action = 0, $aiCol = 0; + var $db = 0, $i = 0, $iAction = 0, $iFromCol = 0, $nFrom = 0, $or$cond = 0, $or$cond3 = 0, $pDflt = 0, $pEq = 0, $pIdx = 0, $pList = 0, $pNew = 0, $pRaise = 0, $pSelect = 0, $pStep = 0, $pTrigger = 0, $pWhen = 0, $pWhere = 0, $tFrom = 0, $tFromCol = 0; + var $tNew = 0, $tOld = 0, $tToCol = 0, $zFrom = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $0 = sp + 136|0; @@ -188500,17 +190016,31 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { $14 = HEAP8[$13>>0]|0; $15 = $14&255; HEAP32[$action>>2] = $15; - $16 = HEAP32[$iAction>>2]|0; - $17 = HEAP32[$3>>2]|0; - $18 = ((($17)) + 28|0); - $19 = (($18) + ($16<<2)|0); - $20 = HEAP32[$19>>2]|0; - HEAP32[$pTrigger>>2] = $20; - $21 = HEAP32[$action>>2]|0; - $22 = ($21|0)==(0); - $23 = HEAP32[$pTrigger>>2]|0; - $24 = ($23|0)!=(0|0); - $or$cond = $22 | $24; + $16 = HEAP32[$action>>2]|0; + $17 = ($16|0)==(6); + if ($17) { + $18 = HEAP32[$db>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP32[$19>>2]|0; + $21 = $20 & 16777216; + $22 = ($21|0)!=(0); + if ($22) { + HEAP32[$0>>2] = 0; + $276 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($276|0); + } + } + $23 = HEAP32[$iAction>>2]|0; + $24 = HEAP32[$3>>2]|0; + $25 = ((($24)) + 28|0); + $26 = (($25) + ($23<<2)|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$pTrigger>>2] = $27; + $28 = HEAP32[$action>>2]|0; + $29 = ($28|0)==(0); + $30 = HEAP32[$pTrigger>>2]|0; + $31 = ($30|0)!=(0|0); + $or$cond = $29 | $31; if (!($or$cond)) { HEAP32[$pIdx>>2] = 0; HEAP32[$aiCol>>2] = 0; @@ -188519,375 +190049,375 @@ function _fkActionTrigger($pParse,$pTab,$pFKey,$pChanges) { HEAP32[$pList>>2] = 0; HEAP32[$pSelect>>2] = 0; HEAP32[$pWhen>>2] = 0; - $25 = HEAP32[$1>>2]|0; - $26 = HEAP32[$2>>2]|0; - $27 = HEAP32[$3>>2]|0; - $28 = (_sqlite3FkLocateIndex($25,$26,$27,$pIdx,$aiCol)|0); - $29 = ($28|0)!=(0); - if ($29) { + $32 = HEAP32[$1>>2]|0; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$3>>2]|0; + $35 = (_sqlite3FkLocateIndex($32,$33,$34,$pIdx,$aiCol)|0); + $36 = ($35|0)!=(0); + if ($36) { HEAP32[$0>>2] = 0; - $269 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($269|0); + $276 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($276|0); } HEAP32[$i>>2] = 0; while(1) { - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$3>>2]|0; - $32 = ((($31)) + 20|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($30|0)<($33|0); - if (!($34)) { + $37 = HEAP32[$i>>2]|0; + $38 = HEAP32[$3>>2]|0; + $39 = ((($38)) + 20|0); + $40 = HEAP32[$39>>2]|0; + $41 = ($37|0)<($40|0); + if (!($41)) { break; } - ;HEAP32[$tOld>>2]=HEAP32[6312>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[6312+4>>2]|0; - ;HEAP32[$tNew>>2]=HEAP32[6320>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[6320+4>>2]|0; - $35 = HEAP32[$aiCol>>2]|0; - $36 = ($35|0)!=(0|0); - if ($36) { - $37 = HEAP32[$i>>2]|0; - $38 = HEAP32[$aiCol>>2]|0; - $39 = (($38) + ($37<<2)|0); - $40 = HEAP32[$39>>2]|0; - $44 = $40; + ;HEAP32[$tOld>>2]=HEAP32[6308>>2]|0;HEAP32[$tOld+4>>2]=HEAP32[6308+4>>2]|0; + ;HEAP32[$tNew>>2]=HEAP32[6316>>2]|0;HEAP32[$tNew+4>>2]=HEAP32[6316+4>>2]|0; + $42 = HEAP32[$aiCol>>2]|0; + $43 = ($42|0)!=(0|0); + if ($43) { + $44 = HEAP32[$i>>2]|0; + $45 = HEAP32[$aiCol>>2]|0; + $46 = (($45) + ($44<<2)|0); + $47 = HEAP32[$46>>2]|0; + $51 = $47; } else { - $41 = HEAP32[$3>>2]|0; - $42 = ((($41)) + 36|0); - $43 = HEAP32[$42>>2]|0; - $44 = $43; - } - HEAP32[$iFromCol>>2] = $44; - $45 = HEAP32[$pIdx>>2]|0; - $46 = ($45|0)!=(0|0); - if ($46) { - $47 = HEAP32[$i>>2]|0; - $48 = HEAP32[$pIdx>>2]|0; - $49 = ((($48)) + 4|0); + $48 = HEAP32[$3>>2]|0; + $49 = ((($48)) + 36|0); $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($47<<1)|0); - $52 = HEAP16[$51>>1]|0; - $$sink = $52; + $51 = $50; + } + HEAP32[$iFromCol>>2] = $51; + $52 = HEAP32[$pIdx>>2]|0; + $53 = ($52|0)!=(0|0); + if ($53) { + $54 = HEAP32[$i>>2]|0; + $55 = HEAP32[$pIdx>>2]|0; + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + ($54<<1)|0); + $59 = HEAP16[$58>>1]|0; + $$sink = $59; } else { - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 32|0); - $55 = HEAP16[$54>>1]|0; - $$sink = $55; + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 32|0); + $62 = HEAP16[$61>>1]|0; + $$sink = $62; } - $56 = $$sink << 16 >> 16; - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = (($59) + (($56*24)|0)|0); - $61 = HEAP32[$60>>2]|0; - _sqlite3TokenInit($tToCol,$61); - $62 = HEAP32[$iFromCol>>2]|0; - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$63>>2]|0; + $63 = $$sink << 16 >> 16; + $64 = HEAP32[$2>>2]|0; $65 = ((($64)) + 4|0); $66 = HEAP32[$65>>2]|0; - $67 = (($66) + (($62*24)|0)|0); + $67 = (($66) + ($63<<4)|0); $68 = HEAP32[$67>>2]|0; - _sqlite3TokenInit($tFromCol,$68); - $69 = HEAP32[$1>>2]|0; - $70 = HEAP32[$1>>2]|0; - $71 = HEAP32[$db>>2]|0; - $72 = (_sqlite3ExprAlloc($71,27,$tOld,0)|0); - $73 = HEAP32[$db>>2]|0; - $74 = (_sqlite3ExprAlloc($73,27,$tToCol,0)|0); - $75 = (_sqlite3PExpr($70,122,$72,$74,0)|0); - $76 = HEAP32[$db>>2]|0; - $77 = (_sqlite3ExprAlloc($76,27,$tFromCol,0)|0); - $78 = (_sqlite3PExpr($69,79,$75,$77,0)|0); - HEAP32[$pEq>>2] = $78; - $79 = HEAP32[$db>>2]|0; - $80 = HEAP32[$pWhere>>2]|0; - $81 = HEAP32[$pEq>>2]|0; - $82 = (_sqlite3ExprAnd($79,$80,$81)|0); - HEAP32[$pWhere>>2] = $82; - $83 = HEAP32[$4>>2]|0; - $84 = ($83|0)!=(0|0); - if ($84) { - $85 = HEAP32[$1>>2]|0; - $86 = HEAP32[$1>>2]|0; - $87 = HEAP32[$db>>2]|0; - $88 = (_sqlite3ExprAlloc($87,27,$tOld,0)|0); - $89 = HEAP32[$db>>2]|0; - $90 = (_sqlite3ExprAlloc($89,27,$tToCol,0)|0); - $91 = (_sqlite3PExpr($86,122,$88,$90,0)|0); + _sqlite3TokenInit($tToCol,$68); + $69 = HEAP32[$iFromCol>>2]|0; + $70 = HEAP32[$3>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 4|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73) + ($69<<4)|0); + $75 = HEAP32[$74>>2]|0; + _sqlite3TokenInit($tFromCol,$75); + $76 = HEAP32[$1>>2]|0; + $77 = HEAP32[$1>>2]|0; + $78 = HEAP32[$db>>2]|0; + $79 = (_sqlite3ExprAlloc($78,27,$tOld,0)|0); + $80 = HEAP32[$db>>2]|0; + $81 = (_sqlite3ExprAlloc($80,27,$tToCol,0)|0); + $82 = (_sqlite3PExpr($77,122,$79,$81,0)|0); + $83 = HEAP32[$db>>2]|0; + $84 = (_sqlite3ExprAlloc($83,27,$tFromCol,0)|0); + $85 = (_sqlite3PExpr($76,79,$82,$84,0)|0); + HEAP32[$pEq>>2] = $85; + $86 = HEAP32[$db>>2]|0; + $87 = HEAP32[$pWhere>>2]|0; + $88 = HEAP32[$pEq>>2]|0; + $89 = (_sqlite3ExprAnd($86,$87,$88)|0); + HEAP32[$pWhere>>2] = $89; + $90 = HEAP32[$4>>2]|0; + $91 = ($90|0)!=(0|0); + if ($91) { $92 = HEAP32[$1>>2]|0; - $93 = HEAP32[$db>>2]|0; - $94 = (_sqlite3ExprAlloc($93,27,$tNew,0)|0); - $95 = HEAP32[$db>>2]|0; - $96 = (_sqlite3ExprAlloc($95,27,$tToCol,0)|0); - $97 = (_sqlite3PExpr($92,122,$94,$96,0)|0); - $98 = (_sqlite3PExpr($85,73,$91,$97,0)|0); - HEAP32[$pEq>>2] = $98; - $99 = HEAP32[$db>>2]|0; - $100 = HEAP32[$pWhen>>2]|0; - $101 = HEAP32[$pEq>>2]|0; - $102 = (_sqlite3ExprAnd($99,$100,$101)|0); - HEAP32[$pWhen>>2] = $102; - } - $103 = HEAP32[$action>>2]|0; - $104 = ($103|0)!=(6); - if ($104) { - $105 = HEAP32[$action>>2]|0; - $106 = ($105|0)!=(9); - $107 = HEAP32[$4>>2]|0; - $108 = ($107|0)!=(0|0); - $or$cond3 = $106 | $108; + $93 = HEAP32[$1>>2]|0; + $94 = HEAP32[$db>>2]|0; + $95 = (_sqlite3ExprAlloc($94,27,$tOld,0)|0); + $96 = HEAP32[$db>>2]|0; + $97 = (_sqlite3ExprAlloc($96,27,$tToCol,0)|0); + $98 = (_sqlite3PExpr($93,122,$95,$97,0)|0); + $99 = HEAP32[$1>>2]|0; + $100 = HEAP32[$db>>2]|0; + $101 = (_sqlite3ExprAlloc($100,27,$tNew,0)|0); + $102 = HEAP32[$db>>2]|0; + $103 = (_sqlite3ExprAlloc($102,27,$tToCol,0)|0); + $104 = (_sqlite3PExpr($99,122,$101,$103,0)|0); + $105 = (_sqlite3PExpr($92,73,$98,$104,0)|0); + HEAP32[$pEq>>2] = $105; + $106 = HEAP32[$db>>2]|0; + $107 = HEAP32[$pWhen>>2]|0; + $108 = HEAP32[$pEq>>2]|0; + $109 = (_sqlite3ExprAnd($106,$107,$108)|0); + HEAP32[$pWhen>>2] = $109; + } + $110 = HEAP32[$action>>2]|0; + $111 = ($110|0)!=(6); + if ($111) { + $112 = HEAP32[$action>>2]|0; + $113 = ($112|0)!=(9); + $114 = HEAP32[$4>>2]|0; + $115 = ($114|0)!=(0|0); + $or$cond3 = $113 | $115; if ($or$cond3) { - $109 = HEAP32[$action>>2]|0; - $110 = ($109|0)==(9); + $116 = HEAP32[$action>>2]|0; + $117 = ($116|0)==(9); do { - if ($110) { - $111 = HEAP32[$1>>2]|0; - $112 = HEAP32[$db>>2]|0; - $113 = (_sqlite3ExprAlloc($112,27,$tNew,0)|0); - $114 = HEAP32[$db>>2]|0; - $115 = (_sqlite3ExprAlloc($114,27,$tToCol,0)|0); - $116 = (_sqlite3PExpr($111,122,$113,$115,0)|0); - HEAP32[$pNew>>2] = $116; + if ($117) { + $118 = HEAP32[$1>>2]|0; + $119 = HEAP32[$db>>2]|0; + $120 = (_sqlite3ExprAlloc($119,27,$tNew,0)|0); + $121 = HEAP32[$db>>2]|0; + $122 = (_sqlite3ExprAlloc($121,27,$tToCol,0)|0); + $123 = (_sqlite3PExpr($118,122,$120,$122,0)|0); + HEAP32[$pNew>>2] = $123; } else { - $117 = HEAP32[$action>>2]|0; - $118 = ($117|0)==(8); - if (!($118)) { - $134 = HEAP32[$1>>2]|0; - $135 = (_sqlite3PExpr($134,101,0,0,0)|0); - HEAP32[$pNew>>2] = $135; + $124 = HEAP32[$action>>2]|0; + $125 = ($124|0)==(8); + if (!($125)) { + $141 = HEAP32[$1>>2]|0; + $142 = (_sqlite3PExpr($141,101,0,0,0)|0); + HEAP32[$pNew>>2] = $142; break; } - $119 = HEAP32[$iFromCol>>2]|0; - $120 = HEAP32[$3>>2]|0; - $121 = HEAP32[$120>>2]|0; - $122 = ((($121)) + 4|0); - $123 = HEAP32[$122>>2]|0; - $124 = (($123) + (($119*24)|0)|0); - $125 = ((($124)) + 4|0); - $126 = HEAP32[$125>>2]|0; - HEAP32[$pDflt>>2] = $126; - $127 = HEAP32[$pDflt>>2]|0; - $128 = ($127|0)!=(0|0); - if ($128) { - $129 = HEAP32[$db>>2]|0; - $130 = HEAP32[$pDflt>>2]|0; - $131 = (_sqlite3ExprDup($129,$130,0)|0); - HEAP32[$pNew>>2] = $131; + $126 = HEAP32[$iFromCol>>2]|0; + $127 = HEAP32[$3>>2]|0; + $128 = HEAP32[$127>>2]|0; + $129 = ((($128)) + 4|0); + $130 = HEAP32[$129>>2]|0; + $131 = (($130) + ($126<<4)|0); + $132 = ((($131)) + 4|0); + $133 = HEAP32[$132>>2]|0; + HEAP32[$pDflt>>2] = $133; + $134 = HEAP32[$pDflt>>2]|0; + $135 = ($134|0)!=(0|0); + if ($135) { + $136 = HEAP32[$db>>2]|0; + $137 = HEAP32[$pDflt>>2]|0; + $138 = (_sqlite3ExprDup($136,$137,0)|0); + HEAP32[$pNew>>2] = $138; break; } else { - $132 = HEAP32[$1>>2]|0; - $133 = (_sqlite3PExpr($132,101,0,0,0)|0); - HEAP32[$pNew>>2] = $133; + $139 = HEAP32[$1>>2]|0; + $140 = (_sqlite3PExpr($139,101,0,0,0)|0); + HEAP32[$pNew>>2] = $140; break; } } } while(0); - $136 = HEAP32[$1>>2]|0; - $137 = HEAP32[$pList>>2]|0; - $138 = HEAP32[$pNew>>2]|0; - $139 = (_sqlite3ExprListAppend($136,$137,$138)|0); - HEAP32[$pList>>2] = $139; - $140 = HEAP32[$1>>2]|0; - $141 = HEAP32[$pList>>2]|0; - _sqlite3ExprListSetName($140,$141,$tFromCol,0); + $143 = HEAP32[$1>>2]|0; + $144 = HEAP32[$pList>>2]|0; + $145 = HEAP32[$pNew>>2]|0; + $146 = (_sqlite3ExprListAppend($143,$144,$145)|0); + HEAP32[$pList>>2] = $146; + $147 = HEAP32[$1>>2]|0; + $148 = HEAP32[$pList>>2]|0; + _sqlite3ExprListSetName($147,$148,$tFromCol,0); } } - $142 = HEAP32[$i>>2]|0; - $143 = (($142) + 1)|0; - HEAP32[$i>>2] = $143; + $149 = HEAP32[$i>>2]|0; + $150 = (($149) + 1)|0; + HEAP32[$i>>2] = $150; } - $144 = HEAP32[$db>>2]|0; - $145 = HEAP32[$aiCol>>2]|0; - _sqlite3DbFree($144,$145); - $146 = HEAP32[$3>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = HEAP32[$147>>2]|0; - HEAP32[$zFrom>>2] = $148; - $149 = HEAP32[$zFrom>>2]|0; - $150 = (_sqlite3Strlen30($149)|0); - HEAP32[$nFrom>>2] = $150; - $151 = HEAP32[$action>>2]|0; - $152 = ($151|0)==(6); - if ($152) { - $153 = HEAP32[$zFrom>>2]|0; - HEAP32[$tFrom>>2] = $153; - $154 = HEAP32[$nFrom>>2]|0; - $155 = ((($tFrom)) + 4|0); - HEAP32[$155>>2] = $154; - $156 = HEAP32[$db>>2]|0; - $157 = (_sqlite3Expr($156,57,36044)|0); - HEAP32[$pRaise>>2] = $157; - $158 = HEAP32[$pRaise>>2]|0; - $159 = ($158|0)!=(0|0); - if ($159) { - $160 = HEAP32[$pRaise>>2]|0; - $161 = ((($160)) + 1|0); - HEAP8[$161>>0] = 2; + $151 = HEAP32[$db>>2]|0; + $152 = HEAP32[$aiCol>>2]|0; + _sqlite3DbFree($151,$152); + $153 = HEAP32[$3>>2]|0; + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$154>>2]|0; + HEAP32[$zFrom>>2] = $155; + $156 = HEAP32[$zFrom>>2]|0; + $157 = (_sqlite3Strlen30($156)|0); + HEAP32[$nFrom>>2] = $157; + $158 = HEAP32[$action>>2]|0; + $159 = ($158|0)==(6); + if ($159) { + $160 = HEAP32[$zFrom>>2]|0; + HEAP32[$tFrom>>2] = $160; + $161 = HEAP32[$nFrom>>2]|0; + $162 = ((($tFrom)) + 4|0); + HEAP32[$162>>2] = $161; + $163 = HEAP32[$db>>2]|0; + $164 = (_sqlite3Expr($163,57,35697)|0); + HEAP32[$pRaise>>2] = $164; + $165 = HEAP32[$pRaise>>2]|0; + $166 = ($165|0)!=(0|0); + if ($166) { + $167 = HEAP32[$pRaise>>2]|0; + $168 = ((($167)) + 1|0); + HEAP8[$168>>0] = 2; } - $162 = HEAP32[$1>>2]|0; - $163 = HEAP32[$1>>2]|0; - $164 = HEAP32[$pRaise>>2]|0; - $165 = (_sqlite3ExprListAppend($163,0,$164)|0); - $166 = HEAP32[$db>>2]|0; - $167 = (_sqlite3SrcListAppend($166,0,$tFrom,0)|0); - $168 = HEAP32[$pWhere>>2]|0; - $169 = (_sqlite3SelectNew($162,$165,$167,$168,0,0,0,0,0,0)|0); - HEAP32[$pSelect>>2] = $169; + $169 = HEAP32[$1>>2]|0; + $170 = HEAP32[$1>>2]|0; + $171 = HEAP32[$pRaise>>2]|0; + $172 = (_sqlite3ExprListAppend($170,0,$171)|0); + $173 = HEAP32[$db>>2]|0; + $174 = (_sqlite3SrcListAppend($173,0,$tFrom,0)|0); + $175 = HEAP32[$pWhere>>2]|0; + $176 = (_sqlite3SelectNew($169,$172,$174,$175,0,0,0,0,0,0)|0); + HEAP32[$pSelect>>2] = $176; HEAP32[$pWhere>>2] = 0; } - $170 = HEAP32[$db>>2]|0; - $171 = ((($170)) + 248|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($172) + 1)|0; - HEAP32[$171>>2] = $173; - $174 = HEAP32[$db>>2]|0; - $175 = HEAP32[$nFrom>>2]|0; - $176 = (72 + ($175))|0; - $177 = (($176) + 1)|0; - $178 = (_sqlite3DbMallocZero($174,$177,0)|0); - HEAP32[$pTrigger>>2] = $178; - $179 = HEAP32[$pTrigger>>2]|0; - $180 = ($179|0)!=(0|0); - if ($180) { - $181 = HEAP32[$pTrigger>>2]|0; - $182 = ((($181)) + 36|0); - $183 = HEAP32[$pTrigger>>2]|0; - $184 = ((($183)) + 28|0); - HEAP32[$184>>2] = $182; - HEAP32[$pStep>>2] = $182; - $185 = HEAP32[$pStep>>2]|0; - $186 = ((($185)) + 36|0); - $187 = HEAP32[$pStep>>2]|0; - $188 = ((($187)) + 12|0); - HEAP32[$188>>2] = $186; - $189 = HEAP32[$pStep>>2]|0; - $190 = ((($189)) + 12|0); - $191 = HEAP32[$190>>2]|0; - $192 = HEAP32[$zFrom>>2]|0; - $193 = HEAP32[$nFrom>>2]|0; - _memcpy(($191|0),($192|0),($193|0))|0; - $194 = HEAP32[$db>>2]|0; - $195 = HEAP32[$pWhere>>2]|0; - $196 = (_sqlite3ExprDup($194,$195,1)|0); - $197 = HEAP32[$pStep>>2]|0; - $198 = ((($197)) + 16|0); - HEAP32[$198>>2] = $196; - $199 = HEAP32[$db>>2]|0; - $200 = HEAP32[$pList>>2]|0; - $201 = (_sqlite3ExprListDup($199,$200,1)|0); - $202 = HEAP32[$pStep>>2]|0; - $203 = ((($202)) + 20|0); - HEAP32[$203>>2] = $201; - $204 = HEAP32[$db>>2]|0; - $205 = HEAP32[$pSelect>>2]|0; - $206 = (_sqlite3SelectDup($204,$205,1)|0); - $207 = HEAP32[$pStep>>2]|0; - $208 = ((($207)) + 8|0); - HEAP32[$208>>2] = $206; - $209 = HEAP32[$pWhen>>2]|0; - $210 = ($209|0)!=(0|0); - if ($210) { - $211 = HEAP32[$1>>2]|0; - $212 = HEAP32[$pWhen>>2]|0; - $213 = (_sqlite3PExpr($211,19,$212,0,0)|0); - HEAP32[$pWhen>>2] = $213; - $214 = HEAP32[$db>>2]|0; - $215 = HEAP32[$pWhen>>2]|0; - $216 = (_sqlite3ExprDup($214,$215,1)|0); - $217 = HEAP32[$pTrigger>>2]|0; - $218 = ((($217)) + 12|0); - HEAP32[$218>>2] = $216; - } - } - $219 = HEAP32[$db>>2]|0; - $220 = ((($219)) + 248|0); - $221 = HEAP32[$220>>2]|0; - $222 = (($221) + -1)|0; - HEAP32[$220>>2] = $222; - $223 = HEAP32[$db>>2]|0; - $224 = HEAP32[$pWhere>>2]|0; - _sqlite3ExprDelete($223,$224); - $225 = HEAP32[$db>>2]|0; - $226 = HEAP32[$pWhen>>2]|0; - _sqlite3ExprDelete($225,$226); - $227 = HEAP32[$db>>2]|0; - $228 = HEAP32[$pList>>2]|0; - _sqlite3ExprListDelete($227,$228); - $229 = HEAP32[$db>>2]|0; - $230 = HEAP32[$pSelect>>2]|0; - _sqlite3SelectDelete($229,$230); - $231 = HEAP32[$db>>2]|0; - $232 = ((($231)) + 65|0); - $233 = HEAP8[$232>>0]|0; - $234 = $233&255; - $235 = ($234|0)==(1); - if ($235) { - $236 = HEAP32[$db>>2]|0; - $237 = HEAP32[$pTrigger>>2]|0; - _fkTriggerDelete($236,$237); + $177 = HEAP32[$db>>2]|0; + $178 = ((($177)) + 256|0); + $179 = HEAP32[$178>>2]|0; + $180 = (($179) + 1)|0; + HEAP32[$178>>2] = $180; + $181 = HEAP32[$db>>2]|0; + $182 = HEAP32[$nFrom>>2]|0; + $183 = (72 + ($182))|0; + $184 = (($183) + 1)|0; + $185 = (_sqlite3DbMallocZero($181,$184,0)|0); + HEAP32[$pTrigger>>2] = $185; + $186 = HEAP32[$pTrigger>>2]|0; + $187 = ($186|0)!=(0|0); + if ($187) { + $188 = HEAP32[$pTrigger>>2]|0; + $189 = ((($188)) + 36|0); + $190 = HEAP32[$pTrigger>>2]|0; + $191 = ((($190)) + 28|0); + HEAP32[$191>>2] = $189; + HEAP32[$pStep>>2] = $189; + $192 = HEAP32[$pStep>>2]|0; + $193 = ((($192)) + 36|0); + $194 = HEAP32[$pStep>>2]|0; + $195 = ((($194)) + 12|0); + HEAP32[$195>>2] = $193; + $196 = HEAP32[$pStep>>2]|0; + $197 = ((($196)) + 12|0); + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$zFrom>>2]|0; + $200 = HEAP32[$nFrom>>2]|0; + _memcpy(($198|0),($199|0),($200|0))|0; + $201 = HEAP32[$db>>2]|0; + $202 = HEAP32[$pWhere>>2]|0; + $203 = (_sqlite3ExprDup($201,$202,1)|0); + $204 = HEAP32[$pStep>>2]|0; + $205 = ((($204)) + 16|0); + HEAP32[$205>>2] = $203; + $206 = HEAP32[$db>>2]|0; + $207 = HEAP32[$pList>>2]|0; + $208 = (_sqlite3ExprListDup($206,$207,1)|0); + $209 = HEAP32[$pStep>>2]|0; + $210 = ((($209)) + 20|0); + HEAP32[$210>>2] = $208; + $211 = HEAP32[$db>>2]|0; + $212 = HEAP32[$pSelect>>2]|0; + $213 = (_sqlite3SelectDup($211,$212,1)|0); + $214 = HEAP32[$pStep>>2]|0; + $215 = ((($214)) + 8|0); + HEAP32[$215>>2] = $213; + $216 = HEAP32[$pWhen>>2]|0; + $217 = ($216|0)!=(0|0); + if ($217) { + $218 = HEAP32[$1>>2]|0; + $219 = HEAP32[$pWhen>>2]|0; + $220 = (_sqlite3PExpr($218,19,$219,0,0)|0); + HEAP32[$pWhen>>2] = $220; + $221 = HEAP32[$db>>2]|0; + $222 = HEAP32[$pWhen>>2]|0; + $223 = (_sqlite3ExprDup($221,$222,1)|0); + $224 = HEAP32[$pTrigger>>2]|0; + $225 = ((($224)) + 12|0); + HEAP32[$225>>2] = $223; + } + } + $226 = HEAP32[$db>>2]|0; + $227 = ((($226)) + 256|0); + $228 = HEAP32[$227>>2]|0; + $229 = (($228) + -1)|0; + HEAP32[$227>>2] = $229; + $230 = HEAP32[$db>>2]|0; + $231 = HEAP32[$pWhere>>2]|0; + _sqlite3ExprDelete($230,$231); + $232 = HEAP32[$db>>2]|0; + $233 = HEAP32[$pWhen>>2]|0; + _sqlite3ExprDelete($232,$233); + $234 = HEAP32[$db>>2]|0; + $235 = HEAP32[$pList>>2]|0; + _sqlite3ExprListDelete($234,$235); + $236 = HEAP32[$db>>2]|0; + $237 = HEAP32[$pSelect>>2]|0; + _sqlite3SelectDelete($236,$237); + $238 = HEAP32[$db>>2]|0; + $239 = ((($238)) + 69|0); + $240 = HEAP8[$239>>0]|0; + $241 = $240&255; + $242 = ($241|0)==(1); + if ($242) { + $243 = HEAP32[$db>>2]|0; + $244 = HEAP32[$pTrigger>>2]|0; + _fkTriggerDelete($243,$244); HEAP32[$0>>2] = 0; - $269 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($269|0); + $276 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($276|0); } - $238 = HEAP32[$action>>2]|0; - switch ($238|0) { + $245 = HEAP32[$action>>2]|0; + switch ($245|0) { case 6: { - $239 = HEAP32[$pStep>>2]|0; - HEAP8[$239>>0] = 119; + $246 = HEAP32[$pStep>>2]|0; + HEAP8[$246>>0] = 119; break; } case 9: { - $240 = HEAP32[$4>>2]|0; - $241 = ($240|0)!=(0|0); - if ($241) { - label = 38; + $247 = HEAP32[$4>>2]|0; + $248 = ($247|0)!=(0|0); + if ($248) { + label = 41; } else { - $242 = HEAP32[$pStep>>2]|0; - HEAP8[$242>>0] = 109; + $249 = HEAP32[$pStep>>2]|0; + HEAP8[$249>>0] = 109; } break; } default: { - label = 38; + label = 41; } } - if ((label|0) == 38) { - $243 = HEAP32[$pStep>>2]|0; - HEAP8[$243>>0] = 110; + if ((label|0) == 41) { + $250 = HEAP32[$pStep>>2]|0; + HEAP8[$250>>0] = 110; } - $244 = HEAP32[$pTrigger>>2]|0; - $245 = HEAP32[$pStep>>2]|0; - $246 = ((($245)) + 4|0); - HEAP32[$246>>2] = $244; - $247 = HEAP32[$2>>2]|0; - $248 = ((($247)) + 64|0); - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$pTrigger>>2]|0; - $251 = ((($250)) + 20|0); - HEAP32[$251>>2] = $249; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 64|0); - $254 = HEAP32[$253>>2]|0; - $255 = HEAP32[$pTrigger>>2]|0; - $256 = ((($255)) + 24|0); - HEAP32[$256>>2] = $254; + $251 = HEAP32[$pTrigger>>2]|0; + $252 = HEAP32[$pStep>>2]|0; + $253 = ((($252)) + 4|0); + HEAP32[$253>>2] = $251; + $254 = HEAP32[$2>>2]|0; + $255 = ((($254)) + 64|0); + $256 = HEAP32[$255>>2]|0; $257 = HEAP32[$pTrigger>>2]|0; - $258 = HEAP32[$iAction>>2]|0; - $259 = HEAP32[$3>>2]|0; - $260 = ((($259)) + 28|0); - $261 = (($260) + ($258<<2)|0); - HEAP32[$261>>2] = $257; - $262 = HEAP32[$4>>2]|0; - $263 = ($262|0)!=(0|0); - $264 = $263 ? 110 : 109; - $265 = $264&255; - $266 = HEAP32[$pTrigger>>2]|0; - $267 = ((($266)) + 8|0); - HEAP8[$267>>0] = $265; + $258 = ((($257)) + 20|0); + HEAP32[$258>>2] = $256; + $259 = HEAP32[$2>>2]|0; + $260 = ((($259)) + 64|0); + $261 = HEAP32[$260>>2]|0; + $262 = HEAP32[$pTrigger>>2]|0; + $263 = ((($262)) + 24|0); + HEAP32[$263>>2] = $261; + $264 = HEAP32[$pTrigger>>2]|0; + $265 = HEAP32[$iAction>>2]|0; + $266 = HEAP32[$3>>2]|0; + $267 = ((($266)) + 28|0); + $268 = (($267) + ($265<<2)|0); + HEAP32[$268>>2] = $264; + $269 = HEAP32[$4>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? 110 : 109; + $272 = $271&255; + $273 = HEAP32[$pTrigger>>2]|0; + $274 = ((($273)) + 8|0); + HEAP8[$274>>0] = $272; } - $268 = HEAP32[$pTrigger>>2]|0; - HEAP32[$0>>2] = $268; - $269 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($269|0); + $275 = HEAP32[$pTrigger>>2]|0; + HEAP32[$0>>2] = $275; + $276 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($276|0); } function _sqlite3CodeRowTriggerDirect($pParse,$p,$pTab,$reg,$orconf,$ignoreJump) { $pParse = $pParse|0; @@ -189199,7 +190729,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $80 = HEAP32[$2>>2]|0; $81 = HEAP32[$80>>2]|0; HEAP32[$vararg_buffer>>2] = $81; - $82 = (_sqlite3MPrintf($79,35740,$vararg_buffer)|0); + $82 = (_sqlite3MPrintf($79,35393,$vararg_buffer)|0); _sqlite3VdbeChangeP4($78,-1,$82,-1); $83 = HEAP32[$2>>2]|0; $84 = ((($83)) + 12|0); @@ -189217,7 +190747,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $94 = (0)==($93|0); if ($94) { $95 = HEAP32[$db>>2]|0; - $96 = ((($95)) + 65|0); + $96 = ((($95)) + 69|0); $97 = HEAP8[$96>>0]|0; $98 = $97&255; $99 = ($98|0)==(0); @@ -189254,7 +190784,7 @@ function _codeRowTrigger($pParse,$pTrigger,$pTab,$orconf) { $118 = HEAP32[$pSubParse>>2]|0; _transferParseError($117,$118); $119 = HEAP32[$db>>2]|0; - $120 = ((($119)) + 65|0); + $120 = ((($119)) + 69|0); $121 = HEAP8[$120>>0]|0; $122 = $121&255; $123 = ($122|0)==(0); @@ -189595,16 +191125,16 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $9 = HEAP32[$8>>2]|0; HEAP32[$aLabel>>2] = $9; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 88|0); - $12 = HEAP16[$11>>1]|0; - $13 = $12 & -65; - $14 = $13 | 64; - HEAP16[$11>>1] = $14; + $11 = ((($10)) + 89|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12 & -33; + $14 = $13 | 32; + HEAP8[$11>>0] = $14; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 88|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17 & -129; - HEAP16[$16>>1] = $18; + $16 = ((($15)) + 89|0); + $17 = HEAP8[$16>>0]|0; + $18 = $17 & -65; + HEAP8[$16>>0] = $18; $19 = HEAP32[$0>>2]|0; $20 = ((($19)) + 4|0); $21 = HEAP32[$20>>2]|0; @@ -189633,10 +191163,10 @@ function _resolveP2Values($p,$pMaxFuncArgs) { $35 = ($34|0)!=(0); if ($35) { $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 88|0); - $38 = HEAP16[$37>>1]|0; - $39 = $38 & -65; - HEAP16[$37>>1] = $39; + $37 = ((($36)) + 89|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 & -33; + HEAP8[$37>>0] = $39; label = 6; } else { label = 6; @@ -189649,16 +191179,16 @@ function _resolveP2Values($p,$pMaxFuncArgs) { } case 9: case 10: case 8: { $45 = HEAP32[$0>>2]|0; - $46 = ((($45)) + 88|0); - $47 = HEAP16[$46>>1]|0; - $48 = $47 & -65; - HEAP16[$46>>1] = $48; + $46 = ((($45)) + 89|0); + $47 = HEAP8[$46>>0]|0; + $48 = $47 & -33; + HEAP8[$46>>0] = $48; $49 = HEAP32[$0>>2]|0; - $50 = ((($49)) + 88|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51 & -129; - $53 = $52 | 128; - HEAP16[$50>>1] = $53; + $50 = ((($49)) + 89|0); + $51 = HEAP8[$50>>0]|0; + $52 = $51 & -65; + $53 = $52 | 64; + HEAP8[$50>>0] = $53; break; } case 12: { @@ -189714,15 +191244,15 @@ function _resolveP2Values($p,$pMaxFuncArgs) { if ((label|0) == 6) { label = 0; $40 = HEAP32[$0>>2]|0; - $41 = ((($40)) + 88|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42 & -129; - $44 = $43 | 128; - HEAP16[$41>>1] = $44; + $41 = ((($40)) + 89|0); + $42 = HEAP8[$41>>0]|0; + $43 = $42 & -65; + $44 = $43 | 64; + HEAP8[$41>>0] = $44; } $78 = HEAP8[$opcode>>0]|0; $79 = $78&255; - $80 = (35754 + ($79)|0); + $80 = (35407 + ($79)|0); $81 = HEAP8[$80>>0]|0; $82 = HEAP32[$pOp>>2]|0; $83 = ((($82)) + 2|0); @@ -190285,7 +191815,7 @@ function _moveToChild($pCur,$newPgno) { $9 = $8 << 24 >> 24; $10 = ($9|0)>=(19); if ($10) { - $11 = (_sqlite3CorruptError(60332)|0); + $11 = (_sqlite3CorruptError(60571)|0); HEAP32[$0>>2] = $11; $47 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($47|0); @@ -190490,7 +192020,7 @@ function _getAndInitPage($pBt,$pgno,$ppPage,$pCur,$bReadOnly) { $9 = ($6>>>0)>($8>>>0); L1: do { if ($9) { - $10 = (_sqlite3CorruptError(57558)|0); + $10 = (_sqlite3CorruptError(57791)|0); HEAP32[$rc>>2] = $10; } else { $11 = HEAP32[$1>>2]|0; @@ -190554,7 +192084,7 @@ function _getAndInitPage($pBt,$pgno,$ppPage,$pCur,$bReadOnly) { break; } } - $54 = (_sqlite3CorruptError(57580)|0); + $54 = (_sqlite3CorruptError(57813)|0); HEAP32[$rc>>2] = $54; $55 = HEAP32[$3>>2]|0; $56 = HEAP32[$55>>2]|0; @@ -190722,7 +192252,7 @@ function _btreeMoveto($pCur,$pKey,$0,$1,$bias,$pRes) { $40 = HEAP32[$39>>2]|0; $41 = HEAP32[$pFree>>2]|0; _sqlite3DbFree($40,$41); - $42 = (_sqlite3CorruptError(56338)|0); + $42 = (_sqlite3CorruptError(56571)|0); HEAP32[$2>>2] = $42; $63 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($63|0); @@ -191661,7 +193191,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { } } if ((label|0) == 20) { - $159 = (_sqlite3CorruptError(60709)|0); + $159 = (_sqlite3CorruptError(60948)|0); HEAP32[$2>>2] = $159; $476 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($476|0); @@ -191672,7 +193202,7 @@ function _sqlite3BtreeMovetoUnpacked($pCur,$pIdxKey,$0,$1,$biasRight,$pRes) { HEAP32[$rc>>2] = 0; } else if ((label|0) == 37) { - $334 = (_sqlite3CorruptError(60782)|0); + $334 = (_sqlite3CorruptError(61021)|0); HEAP32[$rc>>2] = $334; } else if ((label|0) == 39) { @@ -192014,7 +193544,7 @@ function _moveToRoot($pCur) { HEAP32[$rc>>2] = $124; break; } - $109 = (_sqlite3CorruptError(60470)|0); + $109 = (_sqlite3CorruptError(60709)|0); HEAP32[$0>>2] = $109; $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); @@ -192026,7 +193556,7 @@ function _moveToRoot($pCur) { STACKTOP = sp;return ($128|0); } } - $82 = (_sqlite3CorruptError(60459)|0); + $82 = (_sqlite3CorruptError(60698)|0); HEAP32[$0>>2] = $82; $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); @@ -192046,12 +193576,12 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; - var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; - var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0, $a1 = 0, $aNew = 0; - var $aPayload = 0, $iIdx = 0, $nOvfl = 0, $nextPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $ovflSize = 0, $pBt = 0, $pDbPage = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0; + var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0; + var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $a = 0; + var $a1 = 0, $aNew = 0, $aPayload = 0, $iIdx = 0, $nOvfl = 0, $nextPage = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $ovflSize = 0, $pBt = 0, $pDbPage = 0, $pPage = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 68|0; @@ -192099,356 +193629,358 @@ function _accessPayload($pCur,$offset,$amt,$pBuf,$eOp) { $20 = ((($19)) + 8|0); $21 = HEAP32[$20>>2]|0; HEAP32[$aPayload>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 16|0); - $24 = ((($23)) + 16|0); - $25 = HEAP16[$24>>1]|0; - $26 = $25&65535; - $27 = HEAP32[$aPayload>>2]|0; - $28 = (($27) + ($26)|0); + $22 = HEAP32[$aPayload>>2]|0; + $23 = HEAP32[$pPage>>2]|0; + $24 = ((($23)) + 56|0); + $25 = HEAP32[$24>>2]|0; + $26 = $22; + $27 = $25; + $28 = (($26) - ($27))|0; $29 = HEAP32[$pBt>>2]|0; $30 = ((($29)) + 36|0); $31 = HEAP32[$30>>2]|0; - $32 = HEAP32[$pPage>>2]|0; - $33 = ((($32)) + 56|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31)|0); - $36 = ($28>>>0)>($35>>>0); - if ($36) { - $37 = (_sqlite3CorruptError(60043)|0); - HEAP32[$0>>2] = $37; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 16|0); + $34 = ((($33)) + 16|0); + $35 = HEAP16[$34>>1]|0; + $36 = $35&65535; + $37 = (($31) - ($36))|0; + $38 = ($28>>>0)>($37>>>0); + if ($38) { + $39 = (_sqlite3CorruptError(60282)|0); + HEAP32[$0>>2] = $39; + $278 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($278|0); } - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 16|0); - $41 = ((($40)) + 16|0); - $42 = HEAP16[$41>>1]|0; - $43 = $42&65535; - $44 = ($38>>>0)<($43>>>0); - if ($44) { - $45 = HEAP32[$3>>2]|0; - HEAP32[$a>>2] = $45; - $46 = HEAP32[$a>>2]|0; - $47 = HEAP32[$2>>2]|0; - $48 = (($46) + ($47))|0; - $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 16|0); - $51 = ((($50)) + 16|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52&65535; - $54 = ($48>>>0)>($53>>>0); - if ($54) { - $55 = HEAP32[$1>>2]|0; - $56 = ((($55)) + 16|0); - $57 = ((($56)) + 16|0); - $58 = HEAP16[$57>>1]|0; - $59 = $58&65535; - $60 = HEAP32[$2>>2]|0; - $61 = (($59) - ($60))|0; - HEAP32[$a>>2] = $61; + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$1>>2]|0; + $42 = ((($41)) + 16|0); + $43 = ((($42)) + 16|0); + $44 = HEAP16[$43>>1]|0; + $45 = $44&65535; + $46 = ($40>>>0)<($45>>>0); + if ($46) { + $47 = HEAP32[$3>>2]|0; + HEAP32[$a>>2] = $47; + $48 = HEAP32[$a>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = (($48) + ($49))|0; + $51 = HEAP32[$1>>2]|0; + $52 = ((($51)) + 16|0); + $53 = ((($52)) + 16|0); + $54 = HEAP16[$53>>1]|0; + $55 = $54&65535; + $56 = ($50>>>0)>($55>>>0); + if ($56) { + $57 = HEAP32[$1>>2]|0; + $58 = ((($57)) + 16|0); + $59 = ((($58)) + 16|0); + $60 = HEAP16[$59>>1]|0; + $61 = $60&65535; + $62 = HEAP32[$2>>2]|0; + $63 = (($61) - ($62))|0; + HEAP32[$a>>2] = $63; } - $62 = HEAP32[$2>>2]|0; - $63 = HEAP32[$aPayload>>2]|0; - $64 = (($63) + ($62)|0); - $65 = HEAP32[$4>>2]|0; - $66 = HEAP32[$a>>2]|0; - $67 = HEAP32[$5>>2]|0; - $68 = $67 & 1; - $69 = HEAP32[$pPage>>2]|0; - $70 = ((($69)) + 72|0); - $71 = HEAP32[$70>>2]|0; - $72 = (_copyPayload($64,$65,$66,$68,$71)|0); - HEAP32[$rc>>2] = $72; + $64 = HEAP32[$2>>2]|0; + $65 = HEAP32[$aPayload>>2]|0; + $66 = (($65) + ($64)|0); + $67 = HEAP32[$4>>2]|0; + $68 = HEAP32[$a>>2]|0; + $69 = HEAP32[$5>>2]|0; + $70 = $69 & 1; + $71 = HEAP32[$pPage>>2]|0; + $72 = ((($71)) + 72|0); + $73 = HEAP32[$72>>2]|0; + $74 = (_copyPayload($66,$67,$68,$70,$73)|0); + HEAP32[$rc>>2] = $74; HEAP32[$2>>2] = 0; - $73 = HEAP32[$a>>2]|0; - $74 = HEAP32[$4>>2]|0; - $75 = (($74) + ($73)|0); - HEAP32[$4>>2] = $75; - $76 = HEAP32[$a>>2]|0; - $77 = HEAP32[$3>>2]|0; - $78 = (($77) - ($76))|0; - HEAP32[$3>>2] = $78; + $75 = HEAP32[$a>>2]|0; + $76 = HEAP32[$4>>2]|0; + $77 = (($76) + ($75)|0); + HEAP32[$4>>2] = $77; + $78 = HEAP32[$a>>2]|0; + $79 = HEAP32[$3>>2]|0; + $80 = (($79) - ($78))|0; + HEAP32[$3>>2] = $80; } else { - $79 = HEAP32[$1>>2]|0; - $80 = ((($79)) + 16|0); - $81 = ((($80)) + 16|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = HEAP32[$2>>2]|0; - $85 = (($84) - ($83))|0; - HEAP32[$2>>2] = $85; + $81 = HEAP32[$1>>2]|0; + $82 = ((($81)) + 16|0); + $83 = ((($82)) + 16|0); + $84 = HEAP16[$83>>1]|0; + $85 = $84&65535; + $86 = HEAP32[$2>>2]|0; + $87 = (($86) - ($85))|0; + HEAP32[$2>>2] = $87; } - $86 = HEAP32[$rc>>2]|0; - $87 = ($86|0)==(0); - $88 = HEAP32[$3>>2]|0; - $89 = ($88>>>0)>(0); - $or$cond = $87 & $89; + $88 = HEAP32[$rc>>2]|0; + $89 = ($88|0)==(0); + $90 = HEAP32[$3>>2]|0; + $91 = ($90>>>0)>(0); + $or$cond = $89 & $91; L12: do { if ($or$cond) { - $90 = HEAP32[$pBt>>2]|0; - $91 = ((($90)) + 36|0); - $92 = HEAP32[$91>>2]|0; - $93 = (($92) - 4)|0; - HEAP32[$ovflSize>>2] = $93; - $94 = HEAP32[$1>>2]|0; - $95 = ((($94)) + 16|0); - $96 = ((($95)) + 16|0); - $97 = HEAP16[$96>>1]|0; - $98 = $97&65535; - $99 = HEAP32[$aPayload>>2]|0; - $100 = (($99) + ($98)|0); - $101 = (_sqlite3Get4byte($100)|0); - HEAP32[$nextPage>>2] = $101; - $102 = HEAP32[$5>>2]|0; - $103 = ($102|0)!=(2); - if ($103) { - $104 = HEAP32[$1>>2]|0; - $105 = ((($104)) + 64|0); - $106 = HEAP8[$105>>0]|0; - $107 = $106&255; - $108 = $107 & 4; - $109 = ($108|0)==(0); - if ($109) { - $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 16|0); - $112 = ((($111)) + 12|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 16|0); - $116 = ((($115)) + 16|0); - $117 = HEAP16[$116>>1]|0; - $118 = $117&65535; - $119 = (($113) - ($118))|0; - $120 = HEAP32[$ovflSize>>2]|0; - $121 = (($119) + ($120))|0; - $122 = (($121) - 1)|0; - $123 = HEAP32[$ovflSize>>2]|0; - $124 = (($122>>>0) / ($123>>>0))&-1; - HEAP32[$nOvfl>>2] = $124; - $125 = HEAP32[$nOvfl>>2]|0; - $126 = HEAP32[$1>>2]|0; - $127 = ((($126)) + 56|0); - $128 = HEAP32[$127>>2]|0; - $129 = ($125|0)>($128|0); + $92 = HEAP32[$pBt>>2]|0; + $93 = ((($92)) + 36|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($94) - 4)|0; + HEAP32[$ovflSize>>2] = $95; + $96 = HEAP32[$1>>2]|0; + $97 = ((($96)) + 16|0); + $98 = ((($97)) + 16|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99&65535; + $101 = HEAP32[$aPayload>>2]|0; + $102 = (($101) + ($100)|0); + $103 = (_sqlite3Get4byte($102)|0); + HEAP32[$nextPage>>2] = $103; + $104 = HEAP32[$5>>2]|0; + $105 = ($104|0)!=(2); + if ($105) { + $106 = HEAP32[$1>>2]|0; + $107 = ((($106)) + 64|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = $109 & 4; + $111 = ($110|0)==(0); + if ($111) { + $112 = HEAP32[$1>>2]|0; + $113 = ((($112)) + 16|0); + $114 = ((($113)) + 12|0); + $115 = HEAP32[$114>>2]|0; + $116 = HEAP32[$1>>2]|0; + $117 = ((($116)) + 16|0); + $118 = ((($117)) + 16|0); + $119 = HEAP16[$118>>1]|0; + $120 = $119&65535; + $121 = (($115) - ($120))|0; + $122 = HEAP32[$ovflSize>>2]|0; + $123 = (($121) + ($122))|0; + $124 = (($123) - 1)|0; + $125 = HEAP32[$ovflSize>>2]|0; + $126 = (($124>>>0) / ($125>>>0))&-1; + HEAP32[$nOvfl>>2] = $126; + $127 = HEAP32[$nOvfl>>2]|0; + $128 = HEAP32[$1>>2]|0; + $129 = ((($128)) + 56|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($127|0)>($130|0); do { - if ($129) { - $130 = HEAP32[$1>>2]|0; - $131 = ((($130)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$nOvfl>>2]|0; - $134 = $133<<1; - $135 = $134<<2; - $136 = (_sqlite3Realloc($132,$135,0)|0); - HEAP32[$aNew>>2] = $136; - $137 = HEAP32[$aNew>>2]|0; - $138 = ($137|0)==(0|0); - if ($138) { + if ($131) { + $132 = HEAP32[$1>>2]|0; + $133 = ((($132)) + 12|0); + $134 = HEAP32[$133>>2]|0; + $135 = HEAP32[$nOvfl>>2]|0; + $136 = $135<<1; + $137 = $136<<2; + $138 = (_sqlite3Realloc($134,$137,0)|0); + HEAP32[$aNew>>2] = $138; + $139 = HEAP32[$aNew>>2]|0; + $140 = ($139|0)==(0|0); + if ($140) { HEAP32[$rc>>2] = 7; break; } else { - $139 = HEAP32[$nOvfl>>2]|0; - $140 = $139<<1; - $141 = HEAP32[$1>>2]|0; - $142 = ((($141)) + 56|0); - HEAP32[$142>>2] = $140; - $143 = HEAP32[$aNew>>2]|0; - $144 = HEAP32[$1>>2]|0; - $145 = ((($144)) + 12|0); - HEAP32[$145>>2] = $143; + $141 = HEAP32[$nOvfl>>2]|0; + $142 = $141<<1; + $143 = HEAP32[$1>>2]|0; + $144 = ((($143)) + 56|0); + HEAP32[$144>>2] = $142; + $145 = HEAP32[$aNew>>2]|0; + $146 = HEAP32[$1>>2]|0; + $147 = ((($146)) + 12|0); + HEAP32[$147>>2] = $145; break; } } } while(0); - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - if ($147) { - $148 = HEAP32[$1>>2]|0; - $149 = ((($148)) + 12|0); - $150 = HEAP32[$149>>2]|0; - $151 = HEAP32[$nOvfl>>2]|0; - $152 = $151<<2; - _memset(($150|0),0,($152|0))|0; - $153 = HEAP32[$1>>2]|0; - $154 = ((($153)) + 64|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $157 = $156 | 4; + $148 = HEAP32[$rc>>2]|0; + $149 = ($148|0)==(0); + if ($149) { + $150 = HEAP32[$1>>2]|0; + $151 = ((($150)) + 12|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$nOvfl>>2]|0; + $154 = $153<<2; + _memset(($152|0),0,($154|0))|0; + $155 = HEAP32[$1>>2]|0; + $156 = ((($155)) + 64|0); + $157 = HEAP8[$156>>0]|0; $158 = $157&255; - HEAP8[$154>>0] = $158; + $159 = $158 | 4; + $160 = $159&255; + HEAP8[$156>>0] = $160; } } } - $159 = HEAP32[$1>>2]|0; - $160 = ((($159)) + 64|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = $162 & 4; - $164 = ($163|0)!=(0); - if ($164) { - $165 = HEAP32[$2>>2]|0; - $166 = HEAP32[$ovflSize>>2]|0; - $167 = (($165>>>0) / ($166>>>0))&-1; - $168 = HEAP32[$1>>2]|0; - $169 = ((($168)) + 12|0); - $170 = HEAP32[$169>>2]|0; - $171 = (($170) + ($167<<2)|0); + $161 = HEAP32[$1>>2]|0; + $162 = ((($161)) + 64|0); + $163 = HEAP8[$162>>0]|0; + $164 = $163&255; + $165 = $164 & 4; + $166 = ($165|0)!=(0); + if ($166) { + $167 = HEAP32[$2>>2]|0; + $168 = HEAP32[$ovflSize>>2]|0; + $169 = (($167>>>0) / ($168>>>0))&-1; + $170 = HEAP32[$1>>2]|0; + $171 = ((($170)) + 12|0); $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)!=(0); - if ($173) { - $174 = HEAP32[$2>>2]|0; - $175 = HEAP32[$ovflSize>>2]|0; - $176 = (($174>>>0) / ($175>>>0))&-1; - HEAP32[$iIdx>>2] = $176; - $177 = HEAP32[$iIdx>>2]|0; - $178 = HEAP32[$1>>2]|0; - $179 = ((($178)) + 12|0); - $180 = HEAP32[$179>>2]|0; - $181 = (($180) + ($177<<2)|0); + $173 = (($172) + ($169<<2)|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)!=(0); + if ($175) { + $176 = HEAP32[$2>>2]|0; + $177 = HEAP32[$ovflSize>>2]|0; + $178 = (($176>>>0) / ($177>>>0))&-1; + HEAP32[$iIdx>>2] = $178; + $179 = HEAP32[$iIdx>>2]|0; + $180 = HEAP32[$1>>2]|0; + $181 = ((($180)) + 12|0); $182 = HEAP32[$181>>2]|0; - HEAP32[$nextPage>>2] = $182; - $183 = HEAP32[$2>>2]|0; - $184 = HEAP32[$ovflSize>>2]|0; - $185 = (($183>>>0) % ($184>>>0))&-1; - HEAP32[$2>>2] = $185; + $183 = (($182) + ($179<<2)|0); + $184 = HEAP32[$183>>2]|0; + HEAP32[$nextPage>>2] = $184; + $185 = HEAP32[$2>>2]|0; + $186 = HEAP32[$ovflSize>>2]|0; + $187 = (($185>>>0) % ($186>>>0))&-1; + HEAP32[$2>>2] = $187; } } while(1) { - $186 = HEAP32[$rc>>2]|0; - $187 = ($186|0)==(0); - $188 = HEAP32[$3>>2]|0; - $189 = ($188>>>0)>(0); - $or$cond3 = $187 & $189; - $190 = HEAP32[$nextPage>>2]|0; - $191 = ($190|0)!=(0); - $or$cond7 = $or$cond3 & $191; + $188 = HEAP32[$rc>>2]|0; + $189 = ($188|0)==(0); + $190 = HEAP32[$3>>2]|0; + $191 = ($190>>>0)>(0); + $or$cond3 = $189 & $191; + $192 = HEAP32[$nextPage>>2]|0; + $193 = ($192|0)!=(0); + $or$cond7 = $or$cond3 & $193; if (!($or$cond7)) { break L12; } - $192 = HEAP32[$1>>2]|0; - $193 = ((($192)) + 64|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194&255; - $196 = $195 & 4; - $197 = ($196|0)!=(0); - if ($197) { - $198 = HEAP32[$nextPage>>2]|0; - $199 = HEAP32[$iIdx>>2]|0; - $200 = HEAP32[$1>>2]|0; - $201 = ((($200)) + 12|0); - $202 = HEAP32[$201>>2]|0; - $203 = (($202) + ($199<<2)|0); - HEAP32[$203>>2] = $198; + $194 = HEAP32[$1>>2]|0; + $195 = ((($194)) + 64|0); + $196 = HEAP8[$195>>0]|0; + $197 = $196&255; + $198 = $197 & 4; + $199 = ($198|0)!=(0); + if ($199) { + $200 = HEAP32[$nextPage>>2]|0; + $201 = HEAP32[$iIdx>>2]|0; + $202 = HEAP32[$1>>2]|0; + $203 = ((($202)) + 12|0); + $204 = HEAP32[$203>>2]|0; + $205 = (($204) + ($201<<2)|0); + HEAP32[$205>>2] = $200; } - $204 = HEAP32[$2>>2]|0; - $205 = HEAP32[$ovflSize>>2]|0; - $206 = ($204>>>0)>=($205>>>0); - if ($206) { - $207 = HEAP32[$iIdx>>2]|0; - $208 = (($207) + 1)|0; - $209 = HEAP32[$1>>2]|0; - $210 = ((($209)) + 12|0); - $211 = HEAP32[$210>>2]|0; - $212 = (($211) + ($208<<2)|0); + $206 = HEAP32[$2>>2]|0; + $207 = HEAP32[$ovflSize>>2]|0; + $208 = ($206>>>0)>=($207>>>0); + if ($208) { + $209 = HEAP32[$iIdx>>2]|0; + $210 = (($209) + 1)|0; + $211 = HEAP32[$1>>2]|0; + $212 = ((($211)) + 12|0); $213 = HEAP32[$212>>2]|0; - $214 = ($213|0)!=(0); - if ($214) { - $215 = HEAP32[$iIdx>>2]|0; - $216 = (($215) + 1)|0; - $217 = HEAP32[$1>>2]|0; - $218 = ((($217)) + 12|0); - $219 = HEAP32[$218>>2]|0; - $220 = (($219) + ($216<<2)|0); + $214 = (($213) + ($210<<2)|0); + $215 = HEAP32[$214>>2]|0; + $216 = ($215|0)!=(0); + if ($216) { + $217 = HEAP32[$iIdx>>2]|0; + $218 = (($217) + 1)|0; + $219 = HEAP32[$1>>2]|0; + $220 = ((($219)) + 12|0); $221 = HEAP32[$220>>2]|0; - HEAP32[$nextPage>>2] = $221; + $222 = (($221) + ($218<<2)|0); + $223 = HEAP32[$222>>2]|0; + HEAP32[$nextPage>>2] = $223; } else { - $222 = HEAP32[$pBt>>2]|0; - $223 = HEAP32[$nextPage>>2]|0; - $224 = (_getOverflowPage($222,$223,0,$nextPage)|0); - HEAP32[$rc>>2] = $224; - } - $225 = HEAP32[$ovflSize>>2]|0; - $226 = HEAP32[$2>>2]|0; - $227 = (($226) - ($225))|0; - HEAP32[$2>>2] = $227; + $224 = HEAP32[$pBt>>2]|0; + $225 = HEAP32[$nextPage>>2]|0; + $226 = (_getOverflowPage($224,$225,0,$nextPage)|0); + HEAP32[$rc>>2] = $226; + } + $227 = HEAP32[$ovflSize>>2]|0; + $228 = HEAP32[$2>>2]|0; + $229 = (($228) - ($227))|0; + HEAP32[$2>>2] = $229; } else { - $228 = HEAP32[$3>>2]|0; - HEAP32[$a1>>2] = $228; - $229 = HEAP32[$a1>>2]|0; - $230 = HEAP32[$2>>2]|0; - $231 = (($229) + ($230))|0; - $232 = HEAP32[$ovflSize>>2]|0; - $233 = ($231>>>0)>($232>>>0); - if ($233) { - $234 = HEAP32[$ovflSize>>2]|0; - $235 = HEAP32[$2>>2]|0; - $236 = (($234) - ($235))|0; - HEAP32[$a1>>2] = $236; - } - $237 = HEAP32[$pBt>>2]|0; - $238 = HEAP32[$237>>2]|0; - $239 = HEAP32[$nextPage>>2]|0; - $240 = HEAP32[$5>>2]|0; - $241 = $240 & 1; - $242 = ($241|0)==(0); - $243 = $242 ? 2 : 0; - $244 = (_sqlite3PagerGet($238,$239,$pDbPage,$243)|0); - HEAP32[$rc>>2] = $244; - $245 = HEAP32[$rc>>2]|0; - $246 = ($245|0)==(0); - if ($246) { - $247 = HEAP32[$pDbPage>>2]|0; - $248 = (_sqlite3PagerGetData($247)|0); - HEAP32[$aPayload>>2] = $248; - $249 = HEAP32[$aPayload>>2]|0; - $250 = (_sqlite3Get4byte($249)|0); - HEAP32[$nextPage>>2] = $250; - $251 = HEAP32[$2>>2]|0; - $252 = (($251) + 4)|0; - $253 = HEAP32[$aPayload>>2]|0; - $254 = (($253) + ($252)|0); - $255 = HEAP32[$4>>2]|0; - $256 = HEAP32[$a1>>2]|0; - $257 = HEAP32[$5>>2]|0; - $258 = $257 & 1; - $259 = HEAP32[$pDbPage>>2]|0; - $260 = (_copyPayload($254,$255,$256,$258,$259)|0); - HEAP32[$rc>>2] = $260; + $230 = HEAP32[$3>>2]|0; + HEAP32[$a1>>2] = $230; + $231 = HEAP32[$a1>>2]|0; + $232 = HEAP32[$2>>2]|0; + $233 = (($231) + ($232))|0; + $234 = HEAP32[$ovflSize>>2]|0; + $235 = ($233>>>0)>($234>>>0); + if ($235) { + $236 = HEAP32[$ovflSize>>2]|0; + $237 = HEAP32[$2>>2]|0; + $238 = (($236) - ($237))|0; + HEAP32[$a1>>2] = $238; + } + $239 = HEAP32[$pBt>>2]|0; + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[$nextPage>>2]|0; + $242 = HEAP32[$5>>2]|0; + $243 = $242 & 1; + $244 = ($243|0)==(0); + $245 = $244 ? 2 : 0; + $246 = (_sqlite3PagerGet($240,$241,$pDbPage,$245)|0); + HEAP32[$rc>>2] = $246; + $247 = HEAP32[$rc>>2]|0; + $248 = ($247|0)==(0); + if ($248) { + $249 = HEAP32[$pDbPage>>2]|0; + $250 = (_sqlite3PagerGetData($249)|0); + HEAP32[$aPayload>>2] = $250; + $251 = HEAP32[$aPayload>>2]|0; + $252 = (_sqlite3Get4byte($251)|0); + HEAP32[$nextPage>>2] = $252; + $253 = HEAP32[$2>>2]|0; + $254 = (($253) + 4)|0; + $255 = HEAP32[$aPayload>>2]|0; + $256 = (($255) + ($254)|0); + $257 = HEAP32[$4>>2]|0; + $258 = HEAP32[$a1>>2]|0; + $259 = HEAP32[$5>>2]|0; + $260 = $259 & 1; $261 = HEAP32[$pDbPage>>2]|0; - _sqlite3PagerUnref($261); + $262 = (_copyPayload($256,$257,$258,$260,$261)|0); + HEAP32[$rc>>2] = $262; + $263 = HEAP32[$pDbPage>>2]|0; + _sqlite3PagerUnref($263); HEAP32[$2>>2] = 0; } - $262 = HEAP32[$a1>>2]|0; - $263 = HEAP32[$3>>2]|0; - $264 = (($263) - ($262))|0; - HEAP32[$3>>2] = $264; - $265 = HEAP32[$a1>>2]|0; - $266 = HEAP32[$4>>2]|0; - $267 = (($266) + ($265)|0); - HEAP32[$4>>2] = $267; + $264 = HEAP32[$a1>>2]|0; + $265 = HEAP32[$3>>2]|0; + $266 = (($265) - ($264))|0; + HEAP32[$3>>2] = $266; + $267 = HEAP32[$a1>>2]|0; + $268 = HEAP32[$4>>2]|0; + $269 = (($268) + ($267)|0); + HEAP32[$4>>2] = $269; } - $268 = HEAP32[$iIdx>>2]|0; - $269 = (($268) + 1)|0; - HEAP32[$iIdx>>2] = $269; + $270 = HEAP32[$iIdx>>2]|0; + $271 = (($270) + 1)|0; + HEAP32[$iIdx>>2] = $271; } } } while(0); - $270 = HEAP32[$rc>>2]|0; - $271 = ($270|0)==(0); - $272 = HEAP32[$3>>2]|0; - $273 = ($272>>>0)>(0); - $or$cond5 = $271 & $273; + $272 = HEAP32[$rc>>2]|0; + $273 = ($272|0)==(0); + $274 = HEAP32[$3>>2]|0; + $275 = ($274>>>0)>(0); + $or$cond5 = $273 & $275; if ($or$cond5) { - $274 = (_sqlite3CorruptError(60200)|0); - HEAP32[$0>>2] = $274; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $276 = (_sqlite3CorruptError(60439)|0); + HEAP32[$0>>2] = $276; + $278 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($278|0); } else { - $275 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $275; - $276 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($276|0); + $277 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $277; + $278 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($278|0); } return (0)|0; } @@ -192795,7 +194327,7 @@ function _ptrmapGet($pBt,$key,$pEType,$pPgno) { if ($23) { $24 = HEAP32[$pDbPage>>2]|0; _sqlite3PagerUnref($24); - $25 = (_sqlite3CorruptError(56557)|0); + $25 = (_sqlite3CorruptError(56790)|0); HEAP32[$0>>2] = $25; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -192834,7 +194366,7 @@ function _ptrmapGet($pBt,$key,$pEType,$pPgno) { STACKTOP = sp;return ($49|0); } } - $48 = (_sqlite3CorruptError(56565)|0); + $48 = (_sqlite3CorruptError(56798)|0); HEAP32[$0>>2] = $48; $49 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($49|0); @@ -193416,7 +194948,7 @@ function _vdbeRecordCompareString($nKey1,$pKey1,$pPKey2) { $36 = HEAP32[$1>>2]|0; $37 = ($35|0)>($36|0); if ($37) { - $38 = (_sqlite3CorruptError(71970)|0); + $38 = (_sqlite3CorruptError(72223)|0); $39 = $38&255; $40 = HEAP32[$3>>2]|0; $41 = ((($40)) + 11|0); @@ -193680,7 +195212,7 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { HEAP32[$i>>2] = 0; break; } - $52 = (_sqlite3CorruptError(71688)|0); + $52 = (_sqlite3CorruptError(71941)|0); $53 = $52&255; $54 = HEAP32[$3>>2]|0; $55 = ((($54)) + 11|0); @@ -194133,7 +195665,7 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { } } if ((label|0) == 43) { - $212 = (_sqlite3CorruptError(71763)|0); + $212 = (_sqlite3CorruptError(72016)|0); $213 = $212&255; $214 = HEAP32[$3>>2]|0; $215 = ((($214)) + 11|0); @@ -194143,7 +195675,7 @@ function _sqlite3VdbeRecordCompareWithSkip($nKey1,$pKey1,$pPKey2,$bSkip) { STACKTOP = sp;return ($375|0); } else if ((label|0) == 59) { - $302 = (_sqlite3CorruptError(71792)|0); + $302 = (_sqlite3CorruptError(72045)|0); $303 = $302&255; $304 = HEAP32[$3>>2]|0; $305 = ((($304)) + 11|0); @@ -194322,7 +195854,7 @@ function _sqlite3VdbeSerialTypeLen($serial_type) { $10 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($10|0); } else { - $7 = (35916 + ($4)|0); + $7 = (35569 + ($4)|0); $8 = HEAP8[$7>>0]|0; $9 = $8&255; HEAP32[$0>>2] = $9; @@ -194581,7 +196113,7 @@ function _sqlite3VdbeSerialGet($buf,$serial_type,$pMem) { HEAP32[$158>>2] = $156; $159 = HEAP32[$2>>2]|0; $160 = $159 & 1; - $161 = (15534 + ($160<<1)|0); + $161 = (15262 + ($160<<1)|0); $162 = HEAP16[$161>>1]|0; $163 = HEAP32[$3>>2]|0; $164 = ((($163)) + 8|0); @@ -196455,7 +197987,7 @@ function _sqlite3MaterializeView($pParse,$pView,$pWhere,$iCur) { $36 = HEAP32[$0>>2]|0; $37 = HEAP32[$pFrom>>2]|0; $38 = HEAP32[$2>>2]|0; - $39 = (_sqlite3SelectNew($36,0,$37,$38,0,0,0,-32768,0,0)|0); + $39 = (_sqlite3SelectNew($36,0,$37,$38,0,0,0,65536,0,0)|0); HEAP32[$pSel>>2] = $39; $40 = HEAP32[$3>>2]|0; _sqlite3SelectDestInit($dest,12,$40); @@ -196766,7 +198298,7 @@ function _sqlite3WhereOkOnePass($pWInfo,$aiCur) { $4 = ((($3)) + 60|0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 38|0); + $6 = ((($5)) + 40|0); $7 = HEAP8[$6>>0]|0; $8 = $7&255; STACKTOP = sp;return ($8|0); @@ -196963,7 +198495,7 @@ function _checkForMultiColumnSelectError($pParse,$pDest,$nExpr) { $or$cond = $10 | $12; if ($or$cond) { $13 = HEAP32[$1>>2]|0; - _sqlite3ErrorMsg($13,36847,$vararg_buffer); + _sqlite3ErrorMsg($13,36500,$vararg_buffer); HEAP32[$0>>2] = 1; $14 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($14|0); @@ -197004,12 +198536,11 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $iParent = 0, $ii = 0, $jointype = 0, $nSubSrc = 0, $or$cond = 0; - var $or$cond3 = 0, $pLimit = 0, $pList = 0, $pNew = 0, $pOffset = 0, $pOrderBy = 0, $pOrderBy1 = 0, $pParent = 0, $pPrior = 0, $pSrc = 0, $pSub = 0, $pSub1 = 0, $pSubSrc = 0, $pSubitem = 0, $pTabToDel = 0, $pToplevel = 0, $pWhere = 0, $zName = 0, $zSavedAuthContext = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; + var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $db = 0, $i = 0, $iParent = 0, $ii = 0, $jointype = 0, $nSubSrc = 0, $or$cond = 0, $or$cond3 = 0, $pLimit = 0, $pList = 0, $pNew = 0, $pOffset = 0, $pOrderBy = 0, $pOrderBy1 = 0, $pParent = 0, $pPrior = 0, $pSrc = 0, $pSub = 0; + var $pSub1 = 0, $pSubSrc = 0, $pSubitem = 0, $pTabToDel = 0, $pToplevel = 0, $pWhere = 0, $zName = 0, $zSavedAuthContext = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $0 = sp + 112|0; @@ -197055,18 +198586,18 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $10 = HEAP32[$9>>2]|0; HEAP32[$db>>2] = $10; $11 = HEAP32[$db>>2]|0; - $12 = ((($11)) + 60|0); + $12 = ((($11)) + 64|0); $13 = HEAP16[$12>>1]|0; $14 = $13&65535; $15 = $14 & 1; $16 = ($15|0)!=(0); if ($16) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 32|0); + $18 = ((($17)) + 28|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pSrc>>2] = $19; $20 = HEAP32[$3>>2]|0; @@ -197090,24 +198621,24 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $33 = ($32|0)!=(0); if ($33) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } $34 = HEAP32[$pSrc>>2]|0; $35 = HEAP32[$34>>2]|0; $36 = ($35|0)>(1); if ($36) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 36|0); + $38 = ((($37)) + 32|0); $39 = HEAP32[$38>>2]|0; $40 = ($39|0)!=(0|0); if ($40) { $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 36|0); + $42 = ((($41)) + 32|0); $43 = HEAP32[$42>>2]|0; $44 = ((($43)) + 4|0); $45 = HEAP32[$44>>2]|0; @@ -197127,7 +198658,7 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { $52 = ($51|0)!=(0); if (!($52)) { $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 48|0); + $54 = ((($53)) + 44|0); $55 = HEAP32[$54>>2]|0; $56 = (_sqlite3ExprListFlags($55)|0); $57 = $56 & 2097152; @@ -197138,828 +198669,817 @@ function _flattenSubquery($pParse,$p,$iFrom,$isAgg,$subqueryIsAgg) { } } HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } while(0); $59 = HEAP32[$pSub>>2]|0; - $60 = ((($59)) + 32|0); + $60 = ((($59)) + 28|0); $61 = HEAP32[$60>>2]|0; HEAP32[$pSubSrc>>2] = $61; $62 = HEAP32[$pSub>>2]|0; - $63 = ((($62)) + 60|0); + $63 = ((($62)) + 56|0); $64 = HEAP32[$63>>2]|0; $65 = ($64|0)!=(0|0); if ($65) { $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 60|0); + $67 = ((($66)) + 56|0); $68 = HEAP32[$67>>2]|0; $69 = ($68|0)!=(0|0); if ($69) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } $70 = HEAP32[$pSub>>2]|0; - $71 = ((($70)) + 64|0); + $71 = ((($70)) + 60|0); $72 = HEAP32[$71>>2]|0; $73 = ($72|0)!=(0|0); if ($73) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } $74 = HEAP32[$2>>2]|0; - $75 = ((($74)) + 6|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = $77 & 128; - $79 = ($78|0)!=(0); - if ($79) { - $80 = HEAP32[$pSub>>2]|0; - $81 = ((($80)) + 60|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)!=(0|0); - if ($83) { + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + $77 = $76 & 128; + $78 = ($77|0)!=(0); + if ($78) { + $79 = HEAP32[$pSub>>2]|0; + $80 = ((($79)) + 56|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)!=(0|0); + if ($82) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $84 = HEAP32[$pSubSrc>>2]|0; - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)==(0); - if ($86) { + $83 = HEAP32[$pSubSrc>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = ($84|0)==(0); + if ($85) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $87 = HEAP32[$pSub>>2]|0; - $88 = ((($87)) + 6|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = $90 & 1; - $92 = ($91|0)!=(0); - if ($92) { + $86 = HEAP32[$pSub>>2]|0; + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = $88 & 1; + $90 = ($89|0)!=(0); + if ($90) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $93 = HEAP32[$pSub>>2]|0; - $94 = ((($93)) + 60|0); - $95 = HEAP32[$94>>2]|0; - $96 = ($95|0)!=(0|0); - if ($96) { - $97 = HEAP32[$pSrc>>2]|0; - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)>(1); - $100 = HEAP32[$4>>2]|0; - $101 = ($100|0)!=(0); - $or$cond = $99 | $101; + $91 = HEAP32[$pSub>>2]|0; + $92 = ((($91)) + 56|0); + $93 = HEAP32[$92>>2]|0; + $94 = ($93|0)!=(0|0); + if ($94) { + $95 = HEAP32[$pSrc>>2]|0; + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)>(1); + $98 = HEAP32[$4>>2]|0; + $99 = ($98|0)!=(0); + $or$cond = $97 | $99; if ($or$cond) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $102 = HEAP32[$2>>2]|0; - $103 = ((($102)) + 6|0); - $104 = HEAP16[$103>>1]|0; - $105 = $104&65535; - $106 = $105 & 1; - $107 = ($106|0)!=(0); - $108 = HEAP32[$5>>2]|0; - $109 = ($108|0)!=(0); - $or$cond3 = $107 & $109; + $100 = HEAP32[$2>>2]|0; + $101 = ((($100)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)!=(0); + $105 = HEAP32[$5>>2]|0; + $106 = ($105|0)!=(0); + $or$cond3 = $104 & $106; if ($or$cond3) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $110 = HEAP32[$2>>2]|0; - $111 = ((($110)) + 48|0); - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)!=(0|0); - if ($113) { - $114 = HEAP32[$pSub>>2]|0; - $115 = ((($114)) + 48|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)!=(0|0); - if ($117) { + $107 = HEAP32[$2>>2]|0; + $108 = ((($107)) + 44|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)!=(0|0); + if ($110) { + $111 = HEAP32[$pSub>>2]|0; + $112 = ((($111)) + 44|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)!=(0|0); + if ($114) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $118 = HEAP32[$4>>2]|0; - $119 = ($118|0)!=(0); - if ($119) { - $120 = HEAP32[$pSub>>2]|0; - $121 = ((($120)) + 48|0); - $122 = HEAP32[$121>>2]|0; - $123 = ($122|0)!=(0|0); - if ($123) { + $115 = HEAP32[$4>>2]|0; + $116 = ($115|0)!=(0); + if ($116) { + $117 = HEAP32[$pSub>>2]|0; + $118 = ((($117)) + 44|0); + $119 = HEAP32[$118>>2]|0; + $120 = ($119|0)!=(0|0); + if ($120) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $124 = HEAP32[$pSub>>2]|0; - $125 = ((($124)) + 60|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126|0)!=(0|0); - if ($127) { - $128 = HEAP32[$2>>2]|0; - $129 = ((($128)) + 36|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($130|0)!=(0|0); - if ($131) { + $121 = HEAP32[$pSub>>2]|0; + $122 = ((($121)) + 56|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)!=(0|0); + if ($124) { + $125 = HEAP32[$2>>2]|0; + $126 = ((($125)) + 32|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)!=(0|0); + if ($128) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $132 = HEAP32[$pSub>>2]|0; - $133 = ((($132)) + 60|0); - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)!=(0|0); - if ($135) { - $136 = HEAP32[$2>>2]|0; - $137 = ((($136)) + 6|0); - $138 = HEAP16[$137>>1]|0; - $139 = $138&65535; - $140 = $139 & 1; - $141 = ($140|0)!=(0); - if ($141) { + $129 = HEAP32[$pSub>>2]|0; + $130 = ((($129)) + 56|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)!=(0|0); + if ($132) { + $133 = HEAP32[$2>>2]|0; + $134 = ((($133)) + 8|0); + $135 = HEAP32[$134>>2]|0; + $136 = $135 & 1; + $137 = ($136|0)!=(0); + if ($137) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $142 = HEAP32[$pSub>>2]|0; - $143 = ((($142)) + 6|0); - $144 = HEAP16[$143>>1]|0; - $145 = $144&65535; - $146 = $145 & 12288; - $147 = ($146|0)!=(0); - if ($147) { + $138 = HEAP32[$pSub>>2]|0; + $139 = ((($138)) + 8|0); + $140 = HEAP32[$139>>2]|0; + $141 = $140 & 12288; + $142 = ($141|0)!=(0); + if ($142) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $148 = HEAP32[$2>>2]|0; - $149 = ((($148)) + 6|0); - $150 = HEAP16[$149>>1]|0; - $151 = $150&65535; - $152 = $151 & 8192; - $153 = ($152|0)!=(0); - if ($153) { - $154 = HEAP32[$pSub>>2]|0; - $155 = ((($154)) + 52|0); - $156 = HEAP32[$155>>2]|0; - $157 = ($156|0)!=(0|0); - if ($157) { + $143 = HEAP32[$2>>2]|0; + $144 = ((($143)) + 8|0); + $145 = HEAP32[$144>>2]|0; + $146 = $145 & 8192; + $147 = ($146|0)!=(0); + if ($147) { + $148 = HEAP32[$pSub>>2]|0; + $149 = ((($148)) + 48|0); + $150 = HEAP32[$149>>2]|0; + $151 = ($150|0)!=(0|0); + if ($151) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } - $158 = HEAP32[$pSubitem>>2]|0; - $159 = ((($158)) + 36|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $162 = $161 & 32; - $163 = ($162|0)!=(0); - if ($163) { + $152 = HEAP32[$pSubitem>>2]|0; + $153 = ((($152)) + 36|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = $155 & 32; + $157 = ($156|0)!=(0); + if ($157) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $164 = HEAP32[$pSub>>2]|0; - $165 = ((($164)) + 52|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)!=(0|0); + $158 = HEAP32[$pSub>>2]|0; + $159 = ((($158)) + 48|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160|0)!=(0|0); L87: do { - if ($167) { - $168 = HEAP32[$pSub>>2]|0; - $169 = ((($168)) + 48|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)!=(0|0); - if ($171) { + if ($161) { + $162 = HEAP32[$pSub>>2]|0; + $163 = ((($162)) + 44|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $172 = HEAP32[$4>>2]|0; - $173 = ($172|0)!=(0); + $166 = HEAP32[$4>>2]|0; + $167 = ($166|0)!=(0); do { - if (!($173)) { - $174 = HEAP32[$2>>2]|0; - $175 = ((($174)) + 6|0); - $176 = HEAP16[$175>>1]|0; - $177 = $176&65535; - $178 = $177 & 1; - $179 = ($178|0)!=(0); - if ($179) { + if (!($167)) { + $168 = HEAP32[$2>>2]|0; + $169 = ((($168)) + 8|0); + $170 = HEAP32[$169>>2]|0; + $171 = $170 & 1; + $172 = ($171|0)!=(0); + if ($172) { break; } - $180 = HEAP32[$pSrc>>2]|0; - $181 = HEAP32[$180>>2]|0; - $182 = ($181|0)!=(1); - if ($182) { + $173 = HEAP32[$pSrc>>2]|0; + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)!=(1); + if ($175) { break; } - $183 = HEAP32[$pSub>>2]|0; - HEAP32[$pSub1>>2] = $183; + $176 = HEAP32[$pSub>>2]|0; + HEAP32[$pSub1>>2] = $176; while(1) { - $184 = HEAP32[$pSub1>>2]|0; - $185 = ($184|0)!=(0|0); - if (!($185)) { + $177 = HEAP32[$pSub1>>2]|0; + $178 = ($177|0)!=(0|0); + if (!($178)) { break; } - $186 = HEAP32[$pSub1>>2]|0; - $187 = ((($186)) + 6|0); - $188 = HEAP16[$187>>1]|0; - $189 = $188&65535; - $190 = $189 & 9; - $191 = ($190|0)!=(0); - if ($191) { + $179 = HEAP32[$pSub1>>2]|0; + $180 = ((($179)) + 8|0); + $181 = HEAP32[$180>>2]|0; + $182 = $181 & 9; + $183 = ($182|0)!=(0); + if ($183) { label = 62; break; } - $192 = HEAP32[$pSub1>>2]|0; - $193 = ((($192)) + 52|0); - $194 = HEAP32[$193>>2]|0; - $195 = ($194|0)!=(0|0); - if ($195) { - $196 = HEAP32[$pSub1>>2]|0; - $197 = ((($196)) + 4|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199|0)!=(116); - if ($200) { + $184 = HEAP32[$pSub1>>2]|0; + $185 = ((($184)) + 48|0); + $186 = HEAP32[$185>>2]|0; + $187 = ($186|0)!=(0|0); + if ($187) { + $188 = HEAP32[$pSub1>>2]|0; + $189 = ((($188)) + 4|0); + $190 = HEAP8[$189>>0]|0; + $191 = $190&255; + $192 = ($191|0)!=(116); + if ($192) { label = 62; break; } } - $201 = HEAP32[$pSub1>>2]|0; - $202 = ((($201)) + 32|0); - $203 = HEAP32[$202>>2]|0; - $204 = HEAP32[$203>>2]|0; - $205 = ($204|0)<(1); - if ($205) { + $193 = HEAP32[$pSub1>>2]|0; + $194 = ((($193)) + 28|0); + $195 = HEAP32[$194>>2]|0; + $196 = HEAP32[$195>>2]|0; + $197 = ($196|0)<(1); + if ($197) { label = 62; break; } - $206 = HEAP32[$pSub1>>2]|0; - $207 = ((($206)) + 52|0); - $208 = HEAP32[$207>>2]|0; - HEAP32[$pSub1>>2] = $208; + $198 = HEAP32[$pSub1>>2]|0; + $199 = ((($198)) + 48|0); + $200 = HEAP32[$199>>2]|0; + HEAP32[$pSub1>>2] = $200; } if ((label|0) == 62) { HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } - $209 = HEAP32[$2>>2]|0; - $210 = ((($209)) + 48|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)!=(0|0); - if (!($212)) { + $201 = HEAP32[$2>>2]|0; + $202 = ((($201)) + 44|0); + $203 = HEAP32[$202>>2]|0; + $204 = ($203|0)!=(0|0); + if (!($204)) { break L87; } HEAP32[$ii>>2] = 0; while(1) { - $213 = HEAP32[$ii>>2]|0; - $214 = HEAP32[$2>>2]|0; - $215 = ((($214)) + 48|0); - $216 = HEAP32[$215>>2]|0; - $217 = HEAP32[$216>>2]|0; - $218 = ($213|0)<($217|0); - if (!($218)) { + $205 = HEAP32[$ii>>2]|0; + $206 = HEAP32[$2>>2]|0; + $207 = ((($206)) + 44|0); + $208 = HEAP32[$207>>2]|0; + $209 = HEAP32[$208>>2]|0; + $210 = ($205|0)<($209|0); + if (!($210)) { break L87; } - $219 = HEAP32[$ii>>2]|0; - $220 = HEAP32[$2>>2]|0; - $221 = ((($220)) + 48|0); - $222 = HEAP32[$221>>2]|0; - $223 = ((($222)) + 4|0); - $224 = HEAP32[$223>>2]|0; - $225 = (($224) + (($219*20)|0)|0); - $226 = ((($225)) + 16|0); - $227 = HEAP16[$226>>1]|0; - $228 = $227&65535; - $229 = ($228|0)==(0); - if ($229) { + $211 = HEAP32[$ii>>2]|0; + $212 = HEAP32[$2>>2]|0; + $213 = ((($212)) + 44|0); + $214 = HEAP32[$213>>2]|0; + $215 = ((($214)) + 4|0); + $216 = HEAP32[$215>>2]|0; + $217 = (($216) + (($211*20)|0)|0); + $218 = ((($217)) + 16|0); + $219 = HEAP16[$218>>1]|0; + $220 = $219&65535; + $221 = ($220|0)==(0); + if ($221) { break; } - $230 = HEAP32[$ii>>2]|0; - $231 = (($230) + 1)|0; - HEAP32[$ii>>2] = $231; + $222 = HEAP32[$ii>>2]|0; + $223 = (($222) + 1)|0; + HEAP32[$ii>>2] = $223; } HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } while(0); HEAP32[$0>>2] = 0; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } } while(0); - $232 = HEAP32[$pSubitem>>2]|0; - $233 = ((($232)) + 8|0); - $234 = HEAP32[$233>>2]|0; - $235 = HEAP32[$1>>2]|0; - $236 = ((($235)) + 496|0); - HEAP32[$236>>2] = $234; - $237 = HEAP32[$1>>2]|0; - (_sqlite3AuthCheck($237,21,0,0,0)|0); - $238 = HEAP32[$zSavedAuthContext>>2]|0; - $239 = HEAP32[$1>>2]|0; - $240 = ((($239)) + 496|0); - HEAP32[$240>>2] = $238; - $241 = HEAP32[$pSub>>2]|0; - $242 = ((($241)) + 52|0); - $243 = HEAP32[$242>>2]|0; - HEAP32[$pSub>>2] = $243; + $224 = HEAP32[$pSubitem>>2]|0; + $225 = ((($224)) + 8|0); + $226 = HEAP32[$225>>2]|0; + $227 = HEAP32[$1>>2]|0; + $228 = ((($227)) + 496|0); + HEAP32[$228>>2] = $226; + $229 = HEAP32[$1>>2]|0; + (_sqlite3AuthCheck($229,21,0,0,0)|0); + $230 = HEAP32[$zSavedAuthContext>>2]|0; + $231 = HEAP32[$1>>2]|0; + $232 = ((($231)) + 496|0); + HEAP32[$232>>2] = $230; + $233 = HEAP32[$pSub>>2]|0; + $234 = ((($233)) + 48|0); + $235 = HEAP32[$234>>2]|0; + HEAP32[$pSub>>2] = $235; while(1) { - $244 = HEAP32[$pSub>>2]|0; - $245 = ($244|0)!=(0|0); - if (!($245)) { + $236 = HEAP32[$pSub>>2]|0; + $237 = ($236|0)!=(0|0); + if (!($237)) { break; } - $246 = HEAP32[$2>>2]|0; - $247 = ((($246)) + 48|0); - $248 = HEAP32[$247>>2]|0; - HEAP32[$pOrderBy>>2] = $248; - $249 = HEAP32[$2>>2]|0; - $250 = ((($249)) + 60|0); - $251 = HEAP32[$250>>2]|0; - HEAP32[$pLimit>>2] = $251; + $238 = HEAP32[$2>>2]|0; + $239 = ((($238)) + 44|0); + $240 = HEAP32[$239>>2]|0; + HEAP32[$pOrderBy>>2] = $240; + $241 = HEAP32[$2>>2]|0; + $242 = ((($241)) + 56|0); + $243 = HEAP32[$242>>2]|0; + HEAP32[$pLimit>>2] = $243; + $244 = HEAP32[$2>>2]|0; + $245 = ((($244)) + 60|0); + $246 = HEAP32[$245>>2]|0; + HEAP32[$pOffset>>2] = $246; + $247 = HEAP32[$2>>2]|0; + $248 = ((($247)) + 48|0); + $249 = HEAP32[$248>>2]|0; + HEAP32[$pPrior>>2] = $249; + $250 = HEAP32[$2>>2]|0; + $251 = ((($250)) + 44|0); + HEAP32[$251>>2] = 0; $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 64|0); - $254 = HEAP32[$253>>2]|0; - HEAP32[$pOffset>>2] = $254; - $255 = HEAP32[$2>>2]|0; - $256 = ((($255)) + 52|0); - $257 = HEAP32[$256>>2]|0; - HEAP32[$pPrior>>2] = $257; + $253 = ((($252)) + 28|0); + HEAP32[$253>>2] = 0; + $254 = HEAP32[$2>>2]|0; + $255 = ((($254)) + 48|0); + HEAP32[$255>>2] = 0; + $256 = HEAP32[$2>>2]|0; + $257 = ((($256)) + 56|0); + HEAP32[$257>>2] = 0; $258 = HEAP32[$2>>2]|0; - $259 = ((($258)) + 48|0); + $259 = ((($258)) + 60|0); HEAP32[$259>>2] = 0; - $260 = HEAP32[$2>>2]|0; - $261 = ((($260)) + 32|0); - HEAP32[$261>>2] = 0; - $262 = HEAP32[$2>>2]|0; - $263 = ((($262)) + 52|0); - HEAP32[$263>>2] = 0; + $260 = HEAP32[$db>>2]|0; + $261 = HEAP32[$2>>2]|0; + $262 = (_sqlite3SelectDup($260,$261,0)|0); + HEAP32[$pNew>>2] = $262; + $263 = HEAP32[$pOffset>>2]|0; $264 = HEAP32[$2>>2]|0; $265 = ((($264)) + 60|0); - HEAP32[$265>>2] = 0; - $266 = HEAP32[$2>>2]|0; - $267 = ((($266)) + 64|0); - HEAP32[$267>>2] = 0; - $268 = HEAP32[$db>>2]|0; - $269 = HEAP32[$2>>2]|0; - $270 = (_sqlite3SelectDup($268,$269,0)|0); - HEAP32[$pNew>>2] = $270; - $271 = HEAP32[$pOffset>>2]|0; - $272 = HEAP32[$2>>2]|0; - $273 = ((($272)) + 64|0); - HEAP32[$273>>2] = $271; - $274 = HEAP32[$pLimit>>2]|0; + HEAP32[$265>>2] = $263; + $266 = HEAP32[$pLimit>>2]|0; + $267 = HEAP32[$2>>2]|0; + $268 = ((($267)) + 56|0); + HEAP32[$268>>2] = $266; + $269 = HEAP32[$pOrderBy>>2]|0; + $270 = HEAP32[$2>>2]|0; + $271 = ((($270)) + 44|0); + HEAP32[$271>>2] = $269; + $272 = HEAP32[$pSrc>>2]|0; + $273 = HEAP32[$2>>2]|0; + $274 = ((($273)) + 28|0); + HEAP32[$274>>2] = $272; $275 = HEAP32[$2>>2]|0; - $276 = ((($275)) + 60|0); - HEAP32[$276>>2] = $274; - $277 = HEAP32[$pOrderBy>>2]|0; - $278 = HEAP32[$2>>2]|0; - $279 = ((($278)) + 48|0); - HEAP32[$279>>2] = $277; - $280 = HEAP32[$pSrc>>2]|0; - $281 = HEAP32[$2>>2]|0; - $282 = ((($281)) + 32|0); - HEAP32[$282>>2] = $280; - $283 = HEAP32[$2>>2]|0; - $284 = ((($283)) + 4|0); - HEAP8[$284>>0] = 116; - $285 = HEAP32[$pNew>>2]|0; - $286 = ($285|0)==(0|0); - $287 = HEAP32[$pPrior>>2]|0; - if ($286) { - $288 = HEAP32[$2>>2]|0; - $289 = ((($288)) + 52|0); - HEAP32[$289>>2] = $287; + $276 = ((($275)) + 4|0); + HEAP8[$276>>0] = 116; + $277 = HEAP32[$pNew>>2]|0; + $278 = ($277|0)==(0|0); + $279 = HEAP32[$pPrior>>2]|0; + if ($278) { + $280 = HEAP32[$2>>2]|0; + $281 = ((($280)) + 48|0); + HEAP32[$281>>2] = $279; } else { + $282 = HEAP32[$pNew>>2]|0; + $283 = ((($282)) + 48|0); + HEAP32[$283>>2] = $279; + $284 = HEAP32[$pPrior>>2]|0; + $285 = ($284|0)!=(0|0); + if ($285) { + $286 = HEAP32[$pNew>>2]|0; + $287 = HEAP32[$pPrior>>2]|0; + $288 = ((($287)) + 52|0); + HEAP32[$288>>2] = $286; + } + $289 = HEAP32[$2>>2]|0; $290 = HEAP32[$pNew>>2]|0; $291 = ((($290)) + 52|0); - HEAP32[$291>>2] = $287; - $292 = HEAP32[$pPrior>>2]|0; - $293 = ($292|0)!=(0|0); - if ($293) { - $294 = HEAP32[$pNew>>2]|0; - $295 = HEAP32[$pPrior>>2]|0; - $296 = ((($295)) + 56|0); - HEAP32[$296>>2] = $294; - } - $297 = HEAP32[$2>>2]|0; - $298 = HEAP32[$pNew>>2]|0; - $299 = ((($298)) + 56|0); - HEAP32[$299>>2] = $297; - $300 = HEAP32[$pNew>>2]|0; - $301 = HEAP32[$2>>2]|0; - $302 = ((($301)) + 52|0); - HEAP32[$302>>2] = $300; - } - $303 = HEAP32[$db>>2]|0; - $304 = ((($303)) + 65|0); - $305 = HEAP8[$304>>0]|0; - $306 = ($305<<24>>24)!=(0); - if ($306) { + HEAP32[$291>>2] = $289; + $292 = HEAP32[$pNew>>2]|0; + $293 = HEAP32[$2>>2]|0; + $294 = ((($293)) + 48|0); + HEAP32[$294>>2] = $292; + } + $295 = HEAP32[$db>>2]|0; + $296 = ((($295)) + 69|0); + $297 = HEAP8[$296>>0]|0; + $298 = ($297<<24>>24)!=(0); + if ($298) { label = 78; break; } - $307 = HEAP32[$pSub>>2]|0; - $308 = ((($307)) + 52|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$pSub>>2] = $309; + $299 = HEAP32[$pSub>>2]|0; + $300 = ((($299)) + 48|0); + $301 = HEAP32[$300>>2]|0; + HEAP32[$pSub>>2] = $301; } if ((label|0) == 78) { HEAP32[$0>>2] = 1; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } + $302 = HEAP32[$pSubitem>>2]|0; + $303 = ((($302)) + 20|0); + $304 = HEAP32[$303>>2]|0; + HEAP32[$pSub1>>2] = $304; + HEAP32[$pSub>>2] = $304; + $305 = HEAP32[$db>>2]|0; + $306 = HEAP32[$pSubitem>>2]|0; + $307 = ((($306)) + 4|0); + $308 = HEAP32[$307>>2]|0; + _sqlite3DbFree($305,$308); + $309 = HEAP32[$db>>2]|0; $310 = HEAP32[$pSubitem>>2]|0; - $311 = ((($310)) + 20|0); + $311 = ((($310)) + 8|0); $312 = HEAP32[$311>>2]|0; - HEAP32[$pSub1>>2] = $312; - HEAP32[$pSub>>2] = $312; + _sqlite3DbFree($309,$312); $313 = HEAP32[$db>>2]|0; $314 = HEAP32[$pSubitem>>2]|0; - $315 = ((($314)) + 4|0); + $315 = ((($314)) + 12|0); $316 = HEAP32[$315>>2]|0; _sqlite3DbFree($313,$316); - $317 = HEAP32[$db>>2]|0; - $318 = HEAP32[$pSubitem>>2]|0; - $319 = ((($318)) + 8|0); - $320 = HEAP32[$319>>2]|0; - _sqlite3DbFree($317,$320); - $321 = HEAP32[$db>>2]|0; - $322 = HEAP32[$pSubitem>>2]|0; - $323 = ((($322)) + 12|0); - $324 = HEAP32[$323>>2]|0; - _sqlite3DbFree($321,$324); + $317 = HEAP32[$pSubitem>>2]|0; + $318 = ((($317)) + 4|0); + HEAP32[$318>>2] = 0; + $319 = HEAP32[$pSubitem>>2]|0; + $320 = ((($319)) + 8|0); + HEAP32[$320>>2] = 0; + $321 = HEAP32[$pSubitem>>2]|0; + $322 = ((($321)) + 12|0); + HEAP32[$322>>2] = 0; + $323 = HEAP32[$pSubitem>>2]|0; + $324 = ((($323)) + 20|0); + HEAP32[$324>>2] = 0; $325 = HEAP32[$pSubitem>>2]|0; - $326 = ((($325)) + 4|0); - HEAP32[$326>>2] = 0; - $327 = HEAP32[$pSubitem>>2]|0; - $328 = ((($327)) + 8|0); - HEAP32[$328>>2] = 0; - $329 = HEAP32[$pSubitem>>2]|0; - $330 = ((($329)) + 12|0); - HEAP32[$330>>2] = 0; - $331 = HEAP32[$pSubitem>>2]|0; - $332 = ((($331)) + 20|0); - HEAP32[$332>>2] = 0; - $333 = HEAP32[$pSubitem>>2]|0; - $334 = ((($333)) + 16|0); - $335 = HEAP32[$334>>2]|0; - $336 = ($335|0)!=(0|0); - if ($336) { - $337 = HEAP32[$pSubitem>>2]|0; - $338 = ((($337)) + 16|0); - $339 = HEAP32[$338>>2]|0; - HEAP32[$pTabToDel>>2] = $339; - $340 = HEAP32[$pTabToDel>>2]|0; - $341 = ((($340)) + 36|0); - $342 = HEAP16[$341>>1]|0; - $343 = $342&65535; - $344 = ($343|0)==(1); - if ($344) { - $345 = HEAP32[$1>>2]|0; - $346 = ((($345)) + 416|0); - $347 = HEAP32[$346>>2]|0; - $348 = ($347|0)!=(0|0); - $349 = HEAP32[$1>>2]|0; - if ($348) { - $350 = ((($349)) + 416|0); - $351 = HEAP32[$350>>2]|0; - $352 = $351; + $326 = ((($325)) + 16|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)!=(0|0); + if ($328) { + $329 = HEAP32[$pSubitem>>2]|0; + $330 = ((($329)) + 16|0); + $331 = HEAP32[$330>>2]|0; + HEAP32[$pTabToDel>>2] = $331; + $332 = HEAP32[$pTabToDel>>2]|0; + $333 = ((($332)) + 36|0); + $334 = HEAP16[$333>>1]|0; + $335 = $334&65535; + $336 = ($335|0)==(1); + if ($336) { + $337 = HEAP32[$1>>2]|0; + $338 = ((($337)) + 416|0); + $339 = HEAP32[$338>>2]|0; + $340 = ($339|0)!=(0|0); + $341 = HEAP32[$1>>2]|0; + if ($340) { + $342 = ((($341)) + 416|0); + $343 = HEAP32[$342>>2]|0; + $344 = $343; } else { - $352 = $349; + $344 = $341; } - HEAP32[$pToplevel>>2] = $352; - $353 = HEAP32[$pToplevel>>2]|0; - $354 = ((($353)) + 528|0); - $355 = HEAP32[$354>>2]|0; - $356 = HEAP32[$pTabToDel>>2]|0; - $357 = ((($356)) + 68|0); - HEAP32[$357>>2] = $355; - $358 = HEAP32[$pTabToDel>>2]|0; - $359 = HEAP32[$pToplevel>>2]|0; - $360 = ((($359)) + 528|0); - HEAP32[$360>>2] = $358; + HEAP32[$pToplevel>>2] = $344; + $345 = HEAP32[$pToplevel>>2]|0; + $346 = ((($345)) + 528|0); + $347 = HEAP32[$346>>2]|0; + $348 = HEAP32[$pTabToDel>>2]|0; + $349 = ((($348)) + 68|0); + HEAP32[$349>>2] = $347; + $350 = HEAP32[$pTabToDel>>2]|0; + $351 = HEAP32[$pToplevel>>2]|0; + $352 = ((($351)) + 528|0); + HEAP32[$352>>2] = $350; } else { - $361 = HEAP32[$pTabToDel>>2]|0; - $362 = ((($361)) + 36|0); - $363 = HEAP16[$362>>1]|0; - $364 = (($363) + -1)<<16>>16; - HEAP16[$362>>1] = $364; - } - $365 = HEAP32[$pSubitem>>2]|0; - $366 = ((($365)) + 16|0); - HEAP32[$366>>2] = 0; - } - $367 = HEAP32[$2>>2]|0; - HEAP32[$pParent>>2] = $367; + $353 = HEAP32[$pTabToDel>>2]|0; + $354 = ((($353)) + 36|0); + $355 = HEAP16[$354>>1]|0; + $356 = (($355) + -1)<<16>>16; + HEAP16[$354>>1] = $356; + } + $357 = HEAP32[$pSubitem>>2]|0; + $358 = ((($357)) + 16|0); + HEAP32[$358>>2] = 0; + } + $359 = HEAP32[$2>>2]|0; + HEAP32[$pParent>>2] = $359; while(1) { - $368 = HEAP32[$pParent>>2]|0; - $369 = ($368|0)!=(0|0); - if (!($369)) { + $360 = HEAP32[$pParent>>2]|0; + $361 = ($360|0)!=(0|0); + if (!($361)) { break; } HEAP8[$jointype>>0] = 0; - $370 = HEAP32[$pSub>>2]|0; - $371 = ((($370)) + 32|0); - $372 = HEAP32[$371>>2]|0; - HEAP32[$pSubSrc>>2] = $372; - $373 = HEAP32[$pSubSrc>>2]|0; - $374 = HEAP32[$373>>2]|0; - HEAP32[$nSubSrc>>2] = $374; - $375 = HEAP32[$pParent>>2]|0; - $376 = ((($375)) + 32|0); - $377 = HEAP32[$376>>2]|0; - HEAP32[$pSrc>>2] = $377; - $378 = HEAP32[$pSrc>>2]|0; - $379 = ($378|0)!=(0|0); - if ($379) { - $380 = HEAP32[$pSubitem>>2]|0; - $381 = ((($380)) + 36|0); - $382 = HEAP8[$381>>0]|0; - HEAP8[$jointype>>0] = $382; + $362 = HEAP32[$pSub>>2]|0; + $363 = ((($362)) + 28|0); + $364 = HEAP32[$363>>2]|0; + HEAP32[$pSubSrc>>2] = $364; + $365 = HEAP32[$pSubSrc>>2]|0; + $366 = HEAP32[$365>>2]|0; + HEAP32[$nSubSrc>>2] = $366; + $367 = HEAP32[$pParent>>2]|0; + $368 = ((($367)) + 28|0); + $369 = HEAP32[$368>>2]|0; + HEAP32[$pSrc>>2] = $369; + $370 = HEAP32[$pSrc>>2]|0; + $371 = ($370|0)!=(0|0); + if ($371) { + $372 = HEAP32[$pSubitem>>2]|0; + $373 = ((($372)) + 36|0); + $374 = HEAP8[$373>>0]|0; + HEAP8[$jointype>>0] = $374; } else { - $383 = HEAP32[$db>>2]|0; - $384 = (_sqlite3SrcListAppend($383,0,0,0)|0); - $385 = HEAP32[$pParent>>2]|0; - $386 = ((($385)) + 32|0); - HEAP32[$386>>2] = $384; - HEAP32[$pSrc>>2] = $384; - $387 = HEAP32[$pSrc>>2]|0; - $388 = ($387|0)==(0|0); - if ($388) { + $375 = HEAP32[$db>>2]|0; + $376 = (_sqlite3SrcListAppend($375,0,0,0)|0); + $377 = HEAP32[$pParent>>2]|0; + $378 = ((($377)) + 28|0); + HEAP32[$378>>2] = $376; + HEAP32[$pSrc>>2] = $376; + $379 = HEAP32[$pSrc>>2]|0; + $380 = ($379|0)==(0|0); + if ($380) { break; } } - $389 = HEAP32[$nSubSrc>>2]|0; - $390 = ($389|0)>(1); - if ($390) { - $391 = HEAP32[$db>>2]|0; - $392 = HEAP32[$pSrc>>2]|0; - $393 = HEAP32[$nSubSrc>>2]|0; - $394 = (($393) - 1)|0; - $395 = HEAP32[$3>>2]|0; - $396 = (($395) + 1)|0; - $397 = (_sqlite3SrcListEnlarge($391,$392,$394,$396)|0); - HEAP32[$pSrc>>2] = $397; - $398 = HEAP32[$pParent>>2]|0; - $399 = ((($398)) + 32|0); - HEAP32[$399>>2] = $397; - $400 = HEAP32[$db>>2]|0; - $401 = ((($400)) + 65|0); - $402 = HEAP8[$401>>0]|0; - $403 = ($402<<24>>24)!=(0); - if ($403) { + $381 = HEAP32[$nSubSrc>>2]|0; + $382 = ($381|0)>(1); + if ($382) { + $383 = HEAP32[$db>>2]|0; + $384 = HEAP32[$pSrc>>2]|0; + $385 = HEAP32[$nSubSrc>>2]|0; + $386 = (($385) - 1)|0; + $387 = HEAP32[$3>>2]|0; + $388 = (($387) + 1)|0; + $389 = (_sqlite3SrcListEnlarge($383,$384,$386,$388)|0); + HEAP32[$pSrc>>2] = $389; + $390 = HEAP32[$pParent>>2]|0; + $391 = ((($390)) + 28|0); + HEAP32[$391>>2] = $389; + $392 = HEAP32[$db>>2]|0; + $393 = ((($392)) + 69|0); + $394 = HEAP8[$393>>0]|0; + $395 = ($394<<24>>24)!=(0); + if ($395) { break; } } HEAP32[$i>>2] = 0; while(1) { - $404 = HEAP32[$i>>2]|0; - $405 = HEAP32[$nSubSrc>>2]|0; - $406 = ($404|0)<($405|0); - if (!($406)) { + $396 = HEAP32[$i>>2]|0; + $397 = HEAP32[$nSubSrc>>2]|0; + $398 = ($396|0)<($397|0); + if (!($398)) { break; } - $407 = HEAP32[$db>>2]|0; + $399 = HEAP32[$db>>2]|0; + $400 = HEAP32[$i>>2]|0; + $401 = HEAP32[$3>>2]|0; + $402 = (($400) + ($401))|0; + $403 = HEAP32[$pSrc>>2]|0; + $404 = ((($403)) + 8|0); + $405 = (($404) + (($402*72)|0)|0); + $406 = ((($405)) + 52|0); + $407 = HEAP32[$406>>2]|0; + _sqlite3IdListDelete($399,$407); $408 = HEAP32[$i>>2]|0; $409 = HEAP32[$3>>2]|0; $410 = (($408) + ($409))|0; $411 = HEAP32[$pSrc>>2]|0; $412 = ((($411)) + 8|0); $413 = (($412) + (($410*72)|0)|0); - $414 = ((($413)) + 52|0); - $415 = HEAP32[$414>>2]|0; - _sqlite3IdListDelete($407,$415); - $416 = HEAP32[$i>>2]|0; - $417 = HEAP32[$3>>2]|0; - $418 = (($416) + ($417))|0; - $419 = HEAP32[$pSrc>>2]|0; + $414 = HEAP32[$i>>2]|0; + $415 = HEAP32[$pSubSrc>>2]|0; + $416 = ((($415)) + 8|0); + $417 = (($416) + (($414*72)|0)|0); + dest=$413; src=$417; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $418 = HEAP32[$i>>2]|0; + $419 = HEAP32[$pSubSrc>>2]|0; $420 = ((($419)) + 8|0); $421 = (($420) + (($418*72)|0)|0); + dest=$421; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); $422 = HEAP32[$i>>2]|0; - $423 = HEAP32[$pSubSrc>>2]|0; - $424 = ((($423)) + 8|0); - $425 = (($424) + (($422*72)|0)|0); - dest=$421; src=$425; stop=dest+72|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $426 = HEAP32[$i>>2]|0; - $427 = HEAP32[$pSubSrc>>2]|0; - $428 = ((($427)) + 8|0); - $429 = (($428) + (($426*72)|0)|0); - dest=$429; stop=dest+72|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $430 = HEAP32[$i>>2]|0; - $431 = (($430) + 1)|0; - HEAP32[$i>>2] = $431; - } - $432 = HEAP8[$jointype>>0]|0; - $433 = HEAP32[$3>>2]|0; - $434 = HEAP32[$pSrc>>2]|0; - $435 = ((($434)) + 8|0); - $436 = (($435) + (($433*72)|0)|0); - $437 = ((($436)) + 36|0); - HEAP8[$437>>0] = $432; - $438 = HEAP32[$pParent>>2]|0; - $439 = HEAP32[$438>>2]|0; - HEAP32[$pList>>2] = $439; + $423 = (($422) + 1)|0; + HEAP32[$i>>2] = $423; + } + $424 = HEAP8[$jointype>>0]|0; + $425 = HEAP32[$3>>2]|0; + $426 = HEAP32[$pSrc>>2]|0; + $427 = ((($426)) + 8|0); + $428 = (($427) + (($425*72)|0)|0); + $429 = ((($428)) + 36|0); + HEAP8[$429>>0] = $424; + $430 = HEAP32[$pParent>>2]|0; + $431 = HEAP32[$430>>2]|0; + HEAP32[$pList>>2] = $431; HEAP32[$i>>2] = 0; while(1) { - $440 = HEAP32[$i>>2]|0; - $441 = HEAP32[$pList>>2]|0; - $442 = HEAP32[$441>>2]|0; - $443 = ($440|0)<($442|0); - if (!($443)) { + $432 = HEAP32[$i>>2]|0; + $433 = HEAP32[$pList>>2]|0; + $434 = HEAP32[$433>>2]|0; + $435 = ($432|0)<($434|0); + if (!($435)) { break; } - $444 = HEAP32[$i>>2]|0; - $445 = HEAP32[$pList>>2]|0; - $446 = ((($445)) + 4|0); - $447 = HEAP32[$446>>2]|0; - $448 = (($447) + (($444*20)|0)|0); - $449 = ((($448)) + 4|0); - $450 = HEAP32[$449>>2]|0; - $451 = ($450|0)==(0|0); - if ($451) { - $452 = HEAP32[$db>>2]|0; - $453 = HEAP32[$i>>2]|0; - $454 = HEAP32[$pList>>2]|0; - $455 = ((($454)) + 4|0); - $456 = HEAP32[$455>>2]|0; - $457 = (($456) + (($453*20)|0)|0); - $458 = ((($457)) + 8|0); - $459 = HEAP32[$458>>2]|0; - $460 = (_sqlite3DbStrDup($452,$459)|0); - HEAP32[$zName>>2] = $460; - $461 = HEAP32[$zName>>2]|0; - (_sqlite3Dequote($461)|0); - $462 = HEAP32[$zName>>2]|0; - $463 = HEAP32[$i>>2]|0; - $464 = HEAP32[$pList>>2]|0; - $465 = ((($464)) + 4|0); - $466 = HEAP32[$465>>2]|0; - $467 = (($466) + (($463*20)|0)|0); - $468 = ((($467)) + 4|0); - HEAP32[$468>>2] = $462; - } - $469 = HEAP32[$i>>2]|0; - $470 = (($469) + 1)|0; - HEAP32[$i>>2] = $470; - } - $471 = HEAP32[$pSub>>2]|0; - $472 = ((($471)) + 48|0); - $473 = HEAP32[$472>>2]|0; - $474 = ($473|0)!=(0|0); - if ($474) { - $475 = HEAP32[$pSub>>2]|0; - $476 = ((($475)) + 48|0); - $477 = HEAP32[$476>>2]|0; - HEAP32[$pOrderBy1>>2] = $477; + $436 = HEAP32[$i>>2]|0; + $437 = HEAP32[$pList>>2]|0; + $438 = ((($437)) + 4|0); + $439 = HEAP32[$438>>2]|0; + $440 = (($439) + (($436*20)|0)|0); + $441 = ((($440)) + 4|0); + $442 = HEAP32[$441>>2]|0; + $443 = ($442|0)==(0|0); + if ($443) { + $444 = HEAP32[$db>>2]|0; + $445 = HEAP32[$i>>2]|0; + $446 = HEAP32[$pList>>2]|0; + $447 = ((($446)) + 4|0); + $448 = HEAP32[$447>>2]|0; + $449 = (($448) + (($445*20)|0)|0); + $450 = ((($449)) + 8|0); + $451 = HEAP32[$450>>2]|0; + $452 = (_sqlite3DbStrDup($444,$451)|0); + HEAP32[$zName>>2] = $452; + $453 = HEAP32[$zName>>2]|0; + (_sqlite3Dequote($453)|0); + $454 = HEAP32[$zName>>2]|0; + $455 = HEAP32[$i>>2]|0; + $456 = HEAP32[$pList>>2]|0; + $457 = ((($456)) + 4|0); + $458 = HEAP32[$457>>2]|0; + $459 = (($458) + (($455*20)|0)|0); + $460 = ((($459)) + 4|0); + HEAP32[$460>>2] = $454; + } + $461 = HEAP32[$i>>2]|0; + $462 = (($461) + 1)|0; + HEAP32[$i>>2] = $462; + } + $463 = HEAP32[$pSub>>2]|0; + $464 = ((($463)) + 44|0); + $465 = HEAP32[$464>>2]|0; + $466 = ($465|0)!=(0|0); + if ($466) { + $467 = HEAP32[$pSub>>2]|0; + $468 = ((($467)) + 44|0); + $469 = HEAP32[$468>>2]|0; + HEAP32[$pOrderBy1>>2] = $469; HEAP32[$i>>2] = 0; while(1) { - $478 = HEAP32[$i>>2]|0; - $479 = HEAP32[$pOrderBy1>>2]|0; - $480 = HEAP32[$479>>2]|0; - $481 = ($478|0)<($480|0); - if (!($481)) { + $470 = HEAP32[$i>>2]|0; + $471 = HEAP32[$pOrderBy1>>2]|0; + $472 = HEAP32[$471>>2]|0; + $473 = ($470|0)<($472|0); + if (!($473)) { break; } - $482 = HEAP32[$i>>2]|0; - $483 = HEAP32[$pOrderBy1>>2]|0; - $484 = ((($483)) + 4|0); - $485 = HEAP32[$484>>2]|0; - $486 = (($485) + (($482*20)|0)|0); - $487 = ((($486)) + 16|0); - HEAP16[$487>>1] = 0; - $488 = HEAP32[$i>>2]|0; - $489 = (($488) + 1)|0; - HEAP32[$i>>2] = $489; - } - $490 = HEAP32[$pOrderBy1>>2]|0; - $491 = HEAP32[$pParent>>2]|0; - $492 = ((($491)) + 48|0); - HEAP32[$492>>2] = $490; - $493 = HEAP32[$pSub>>2]|0; - $494 = ((($493)) + 48|0); - HEAP32[$494>>2] = 0; - } - $495 = HEAP32[$db>>2]|0; - $496 = HEAP32[$pSub>>2]|0; - $497 = ((($496)) + 36|0); - $498 = HEAP32[$497>>2]|0; - $499 = (_sqlite3ExprDup($495,$498,0)|0); - HEAP32[$pWhere>>2] = $499; - $500 = HEAP32[$5>>2]|0; - $501 = ($500|0)!=(0); - if ($501) { - $502 = HEAP32[$pParent>>2]|0; - $503 = ((($502)) + 36|0); - $504 = HEAP32[$503>>2]|0; - $505 = HEAP32[$pParent>>2]|0; - $506 = ((($505)) + 44|0); - HEAP32[$506>>2] = $504; - $507 = HEAP32[$pWhere>>2]|0; - $508 = HEAP32[$pParent>>2]|0; - $509 = ((($508)) + 36|0); - HEAP32[$509>>2] = $507; - $510 = HEAP32[$db>>2]|0; - $511 = HEAP32[$pParent>>2]|0; - $512 = ((($511)) + 44|0); - $513 = HEAP32[$512>>2]|0; + $474 = HEAP32[$i>>2]|0; + $475 = HEAP32[$pOrderBy1>>2]|0; + $476 = ((($475)) + 4|0); + $477 = HEAP32[$476>>2]|0; + $478 = (($477) + (($474*20)|0)|0); + $479 = ((($478)) + 16|0); + HEAP16[$479>>1] = 0; + $480 = HEAP32[$i>>2]|0; + $481 = (($480) + 1)|0; + HEAP32[$i>>2] = $481; + } + $482 = HEAP32[$pOrderBy1>>2]|0; + $483 = HEAP32[$pParent>>2]|0; + $484 = ((($483)) + 44|0); + HEAP32[$484>>2] = $482; + $485 = HEAP32[$pSub>>2]|0; + $486 = ((($485)) + 44|0); + HEAP32[$486>>2] = 0; + } + $487 = HEAP32[$db>>2]|0; + $488 = HEAP32[$pSub>>2]|0; + $489 = ((($488)) + 32|0); + $490 = HEAP32[$489>>2]|0; + $491 = (_sqlite3ExprDup($487,$490,0)|0); + HEAP32[$pWhere>>2] = $491; + $492 = HEAP32[$5>>2]|0; + $493 = ($492|0)!=(0); + if ($493) { + $494 = HEAP32[$pParent>>2]|0; + $495 = ((($494)) + 32|0); + $496 = HEAP32[$495>>2]|0; + $497 = HEAP32[$pParent>>2]|0; + $498 = ((($497)) + 40|0); + HEAP32[$498>>2] = $496; + $499 = HEAP32[$pWhere>>2]|0; + $500 = HEAP32[$pParent>>2]|0; + $501 = ((($500)) + 32|0); + HEAP32[$501>>2] = $499; + $502 = HEAP32[$db>>2]|0; + $503 = HEAP32[$pParent>>2]|0; + $504 = ((($503)) + 40|0); + $505 = HEAP32[$504>>2]|0; + $506 = HEAP32[$db>>2]|0; + $507 = HEAP32[$pSub>>2]|0; + $508 = ((($507)) + 40|0); + $509 = HEAP32[$508>>2]|0; + $510 = (_sqlite3ExprDup($506,$509,0)|0); + $511 = (_sqlite3ExprAnd($502,$505,$510)|0); + $512 = HEAP32[$pParent>>2]|0; + $513 = ((($512)) + 40|0); + HEAP32[$513>>2] = $511; $514 = HEAP32[$db>>2]|0; $515 = HEAP32[$pSub>>2]|0; - $516 = ((($515)) + 44|0); + $516 = ((($515)) + 36|0); $517 = HEAP32[$516>>2]|0; - $518 = (_sqlite3ExprDup($514,$517,0)|0); - $519 = (_sqlite3ExprAnd($510,$513,$518)|0); - $520 = HEAP32[$pParent>>2]|0; - $521 = ((($520)) + 44|0); - HEAP32[$521>>2] = $519; - $522 = HEAP32[$db>>2]|0; - $523 = HEAP32[$pSub>>2]|0; - $524 = ((($523)) + 40|0); - $525 = HEAP32[$524>>2]|0; - $526 = (_sqlite3ExprListDup($522,$525,0)|0); + $518 = (_sqlite3ExprListDup($514,$517,0)|0); + $519 = HEAP32[$pParent>>2]|0; + $520 = ((($519)) + 36|0); + HEAP32[$520>>2] = $518; + } else { + $521 = HEAP32[$db>>2]|0; + $522 = HEAP32[$pParent>>2]|0; + $523 = ((($522)) + 32|0); + $524 = HEAP32[$523>>2]|0; + $525 = HEAP32[$pWhere>>2]|0; + $526 = (_sqlite3ExprAnd($521,$524,$525)|0); $527 = HEAP32[$pParent>>2]|0; - $528 = ((($527)) + 40|0); + $528 = ((($527)) + 32|0); HEAP32[$528>>2] = $526; - } else { - $529 = HEAP32[$db>>2]|0; - $530 = HEAP32[$pParent>>2]|0; - $531 = ((($530)) + 36|0); - $532 = HEAP32[$531>>2]|0; - $533 = HEAP32[$pWhere>>2]|0; - $534 = (_sqlite3ExprAnd($529,$532,$533)|0); - $535 = HEAP32[$pParent>>2]|0; - $536 = ((($535)) + 36|0); - HEAP32[$536>>2] = $534; - } - $537 = HEAP32[$db>>2]|0; + } + $529 = HEAP32[$db>>2]|0; + $530 = HEAP32[$pParent>>2]|0; + $531 = HEAP32[$iParent>>2]|0; + $532 = HEAP32[$pSub>>2]|0; + $533 = HEAP32[$532>>2]|0; + _substSelect($529,$530,$531,$533,0); + $534 = HEAP32[$pSub>>2]|0; + $535 = ((($534)) + 8|0); + $536 = HEAP32[$535>>2]|0; + $537 = $536 & 1; $538 = HEAP32[$pParent>>2]|0; - $539 = HEAP32[$iParent>>2]|0; - $540 = HEAP32[$pSub>>2]|0; - $541 = HEAP32[$540>>2]|0; - _substSelect($537,$538,$539,$541,0); + $539 = ((($538)) + 8|0); + $540 = HEAP32[$539>>2]|0; + $541 = $540 | $537; + HEAP32[$539>>2] = $541; $542 = HEAP32[$pSub>>2]|0; - $543 = ((($542)) + 6|0); - $544 = HEAP16[$543>>1]|0; - $545 = $544&65535; - $546 = $545 & 1; - $547 = HEAP32[$pParent>>2]|0; - $548 = ((($547)) + 6|0); - $549 = HEAP16[$548>>1]|0; - $550 = $549&65535; - $551 = $550 | $546; - $552 = $551&65535; - HEAP16[$548>>1] = $552; - $553 = HEAP32[$pSub>>2]|0; - $554 = ((($553)) + 60|0); + $543 = ((($542)) + 56|0); + $544 = HEAP32[$543>>2]|0; + $545 = ($544|0)!=(0|0); + if ($545) { + $546 = HEAP32[$pSub>>2]|0; + $547 = ((($546)) + 56|0); + $548 = HEAP32[$547>>2]|0; + $549 = HEAP32[$pParent>>2]|0; + $550 = ((($549)) + 56|0); + HEAP32[$550>>2] = $548; + $551 = HEAP32[$pSub>>2]|0; + $552 = ((($551)) + 56|0); + HEAP32[$552>>2] = 0; + } + $553 = HEAP32[$pParent>>2]|0; + $554 = ((($553)) + 48|0); $555 = HEAP32[$554>>2]|0; - $556 = ($555|0)!=(0|0); - if ($556) { - $557 = HEAP32[$pSub>>2]|0; - $558 = ((($557)) + 60|0); - $559 = HEAP32[$558>>2]|0; - $560 = HEAP32[$pParent>>2]|0; - $561 = ((($560)) + 60|0); - HEAP32[$561>>2] = $559; - $562 = HEAP32[$pSub>>2]|0; - $563 = ((($562)) + 60|0); - HEAP32[$563>>2] = 0; - } - $564 = HEAP32[$pParent>>2]|0; - $565 = ((($564)) + 52|0); - $566 = HEAP32[$565>>2]|0; - HEAP32[$pParent>>2] = $566; - $567 = HEAP32[$pSub>>2]|0; - $568 = ((($567)) + 52|0); - $569 = HEAP32[$568>>2]|0; - HEAP32[$pSub>>2] = $569; - } - $570 = HEAP32[$db>>2]|0; - $571 = HEAP32[$pSub1>>2]|0; - _sqlite3SelectDelete($570,$571); + HEAP32[$pParent>>2] = $555; + $556 = HEAP32[$pSub>>2]|0; + $557 = ((($556)) + 48|0); + $558 = HEAP32[$557>>2]|0; + HEAP32[$pSub>>2] = $558; + } + $559 = HEAP32[$db>>2]|0; + $560 = HEAP32[$pSub1>>2]|0; + _sqlite3SelectDelete($559,$560); HEAP32[$0>>2] = 1; - $572 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($572|0); + $561 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($561|0); } function _multiSelect($pParse,$p,$pDest) { $pParse = $pParse|0; @@ -197990,15 +199510,12 @@ function _multiSelect($pParse,$p,$pDest) { var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0; var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0; var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0; - var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0; - var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0; - var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0; - var $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0; - var $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addr = 0, $addr1 = 0, $addr7 = 0, $addr9 = 0, $apColl = 0, $db = 0, $dest = 0, $i = 0, $iBreak = 0, $iBreak3 = 0, $iCont = 0, $iCont2 = 0, $iStart = 0, $iStart4 = 0, $iSub1 = 0; - var $iSub2 = 0, $intersectdest = 0, $nCol = 0, $nLimit = 0, $op = 0, $or$cond = 0, $pDelete = 0, $pFirst = 0, $pFirst8 = 0, $pKeyInfo = 0, $pLimit = 0, $pLimit5 = 0, $pLoop = 0, $pOffset = 0, $pOffset6 = 0, $pPrior = 0, $priorOp = 0, $r1 = 0, $rc = 0, $tab1 = 0; - var $tab2 = 0, $unionTab = 0, $uniondest = 0, $v = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; + var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $addr = 0, $addr1 = 0, $addr7 = 0, $addr9 = 0, $apColl = 0, $db = 0, $dest = 0, $i = 0, $iBreak = 0, $iBreak3 = 0, $iCont = 0, $iCont2 = 0, $iStart = 0, $iStart4 = 0, $iSub1 = 0, $iSub2 = 0, $intersectdest = 0, $nCol = 0, $nLimit = 0; + var $op = 0, $or$cond = 0, $pDelete = 0, $pFirst = 0, $pFirst8 = 0, $pKeyInfo = 0, $pLimit = 0, $pLimit5 = 0, $pLoop = 0, $pOffset = 0, $pOffset6 = 0, $pPrior = 0, $priorOp = 0, $r1 = 0, $rc = 0, $tab1 = 0, $tab2 = 0, $unionTab = 0, $uniondest = 0, $v = 0; + var $vararg_buffer = 0, $vararg_buffer2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 240|0; $vararg_buffer2 = sp + 8|0; @@ -198056,13 +199573,13 @@ function _multiSelect($pParse,$p,$pDest) { $5 = HEAP32[$4>>2]|0; HEAP32[$db>>2] = $5; $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 52|0); + $7 = ((($6)) + 48|0); $8 = HEAP32[$7>>2]|0; HEAP32[$pPrior>>2] = $8; $9 = HEAP32[$3>>2]|0; ;HEAP32[$dest>>2]=HEAP32[$9>>2]|0;HEAP32[$dest+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$dest+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$dest+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$dest+16>>2]=HEAP32[$9+16>>2]|0; $10 = HEAP32[$pPrior>>2]|0; - $11 = ((($10)) + 48|0); + $11 = ((($10)) + 44|0); $12 = HEAP32[$11>>2]|0; $13 = ($12|0)!=(0|0); L1: do { @@ -198074,11 +199591,11 @@ function _multiSelect($pParse,$p,$pDest) { $18 = $17&255; $19 = (_selectOpName($18)|0); HEAP32[$vararg_buffer>>2] = $19; - _sqlite3ErrorMsg($14,36656,$vararg_buffer); + _sqlite3ErrorMsg($14,36309,$vararg_buffer); HEAP32[$rc>>2] = 1; } else { $20 = HEAP32[$pPrior>>2]|0; - $21 = ((($20)) + 60|0); + $21 = ((($20)) + 56|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); $24 = HEAP32[$1>>2]|0; @@ -198089,7 +199606,7 @@ function _multiSelect($pParse,$p,$pDest) { $28 = $27&255; $29 = (_selectOpName($28)|0); HEAP32[$vararg_buffer2>>2] = $29; - _sqlite3ErrorMsg($24,36704,$vararg_buffer2); + _sqlite3ErrorMsg($24,36357,$vararg_buffer2); HEAP32[$rc>>2] = 1; break; } @@ -198106,835 +199623,766 @@ function _multiSelect($pParse,$p,$pDest) { $38 = HEAP32[$37>>2]|0; $39 = HEAP32[$38>>2]|0; (_sqlite3VdbeAddOp2($34,57,$36,$39)|0); - $40 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($40,8); HEAP8[$dest>>0] = 14; } - $41 = HEAP32[$2>>2]|0; - $42 = ((($41)) + 6|0); - $43 = HEAP16[$42>>1]|0; - $44 = $43&65535; - $45 = $44 & 512; - $46 = ($45|0)!=(0); - if ($46) { - $47 = HEAP32[$1>>2]|0; - $48 = HEAP32[$2>>2]|0; - $49 = (_multiSelectValues($47,$48,$dest)|0); - HEAP32[$rc>>2] = $49; + $40 = HEAP32[$2>>2]|0; + $41 = ((($40)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $42 & 512; + $44 = ($43|0)!=(0); + if ($44) { + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$2>>2]|0; + $47 = (_multiSelectValues($45,$46,$dest)|0); + HEAP32[$rc>>2] = $47; break; } - $50 = HEAP32[$2>>2]|0; - $51 = ((($50)) + 6|0); - $52 = HEAP16[$51>>1]|0; - $53 = $52&65535; - $54 = $53 & 8192; - $55 = ($54|0)!=(0); + $48 = HEAP32[$2>>2]|0; + $49 = ((($48)) + 8|0); + $50 = HEAP32[$49>>2]|0; + $51 = $50 & 8192; + $52 = ($51|0)!=(0); L13: do { - if ($55) { - $56 = HEAP32[$1>>2]|0; - $57 = HEAP32[$2>>2]|0; - _generateWithRecursiveQuery($56,$57,$dest); + if ($52) { + $53 = HEAP32[$1>>2]|0; + $54 = HEAP32[$2>>2]|0; + _generateWithRecursiveQuery($53,$54,$dest); } else { - $58 = HEAP32[$2>>2]|0; - $59 = ((($58)) + 48|0); - $60 = HEAP32[$59>>2]|0; - $61 = ($60|0)!=(0|0); - if ($61) { - $62 = HEAP32[$1>>2]|0; - $63 = HEAP32[$2>>2]|0; - $64 = HEAP32[$3>>2]|0; - $65 = (_multiSelectOrderBy($62,$63,$64)|0); - HEAP32[$0>>2] = $65; - $624 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($624|0); - } - $66 = HEAP32[$2>>2]|0; - $67 = ((($66)) + 4|0); - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - switch ($69|0) { + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 44|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)!=(0|0); + if ($58) { + $59 = HEAP32[$1>>2]|0; + $60 = HEAP32[$2>>2]|0; + $61 = HEAP32[$3>>2]|0; + $62 = (_multiSelectOrderBy($59,$60,$61)|0); + HEAP32[$0>>2] = $62; + $560 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($560|0); + } + $63 = HEAP32[$2>>2]|0; + $64 = ((($63)) + 4|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + switch ($66|0) { case 116: { HEAP32[$addr>>2] = 0; - $70 = HEAP32[$2>>2]|0; - $71 = ((($70)) + 8|0); - $72 = HEAP32[$71>>2]|0; - $73 = HEAP32[$pPrior>>2]|0; - $74 = ((($73)) + 8|0); - HEAP32[$74>>2] = $72; - $75 = HEAP32[$2>>2]|0; - $76 = ((($75)) + 12|0); - $77 = HEAP32[$76>>2]|0; - $78 = HEAP32[$pPrior>>2]|0; - $79 = ((($78)) + 12|0); - HEAP32[$79>>2] = $77; - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 60|0); - $82 = HEAP32[$81>>2]|0; - $83 = HEAP32[$pPrior>>2]|0; - $84 = ((($83)) + 60|0); - HEAP32[$84>>2] = $82; - $85 = HEAP32[$2>>2]|0; - $86 = ((($85)) + 64|0); - $87 = HEAP32[$86>>2]|0; - $88 = HEAP32[$pPrior>>2]|0; - $89 = ((($88)) + 64|0); - HEAP32[$89>>2] = $87; + $67 = HEAP32[$2>>2]|0; + $68 = ((($67)) + 12|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$pPrior>>2]|0; + $71 = ((($70)) + 12|0); + HEAP32[$71>>2] = $69; + $72 = HEAP32[$2>>2]|0; + $73 = ((($72)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = HEAP32[$pPrior>>2]|0; + $76 = ((($75)) + 16|0); + HEAP32[$76>>2] = $74; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 56|0); + $79 = HEAP32[$78>>2]|0; + $80 = HEAP32[$pPrior>>2]|0; + $81 = ((($80)) + 56|0); + HEAP32[$81>>2] = $79; + $82 = HEAP32[$2>>2]|0; + $83 = ((($82)) + 60|0); + $84 = HEAP32[$83>>2]|0; + $85 = HEAP32[$pPrior>>2]|0; + $86 = ((($85)) + 60|0); + HEAP32[$86>>2] = $84; + $87 = HEAP32[$1>>2]|0; + $88 = ((($87)) + 472|0); + $89 = HEAP32[$88>>2]|0; + HEAP32[$iSub1>>2] = $89; $90 = HEAP32[$1>>2]|0; - $91 = ((($90)) + 472|0); - $92 = HEAP32[$91>>2]|0; - HEAP32[$iSub1>>2] = $92; - $93 = HEAP32[$1>>2]|0; - $94 = HEAP32[$pPrior>>2]|0; - $95 = (_sqlite3Select($93,$94,$dest)|0); - HEAP32[$rc>>2] = $95; - $96 = HEAP32[$2>>2]|0; - $97 = ((($96)) + 60|0); - HEAP32[$97>>2] = 0; - $98 = HEAP32[$2>>2]|0; - $99 = ((($98)) + 64|0); - HEAP32[$99>>2] = 0; - $100 = HEAP32[$rc>>2]|0; - $101 = ($100|0)!=(0); - if ($101) { + $91 = HEAP32[$pPrior>>2]|0; + $92 = (_sqlite3Select($90,$91,$dest)|0); + HEAP32[$rc>>2] = $92; + $93 = HEAP32[$2>>2]|0; + $94 = ((($93)) + 56|0); + HEAP32[$94>>2] = 0; + $95 = HEAP32[$2>>2]|0; + $96 = ((($95)) + 60|0); + HEAP32[$96>>2] = 0; + $97 = HEAP32[$rc>>2]|0; + $98 = ($97|0)!=(0); + if ($98) { break L1; } - $102 = HEAP32[$2>>2]|0; - $103 = ((($102)) + 52|0); - HEAP32[$103>>2] = 0; - $104 = HEAP32[$pPrior>>2]|0; - $105 = ((($104)) + 8|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$2>>2]|0; - $108 = ((($107)) + 8|0); - HEAP32[$108>>2] = $106; - $109 = HEAP32[$pPrior>>2]|0; - $110 = ((($109)) + 12|0); - $111 = HEAP32[$110>>2]|0; - $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 12|0); - HEAP32[$113>>2] = $111; - $114 = HEAP32[$2>>2]|0; - $115 = ((($114)) + 8|0); - $116 = HEAP32[$115>>2]|0; - $117 = ($116|0)!=(0); - if ($117) { - $118 = HEAP32[$v>>2]|0; - $119 = HEAP32[$2>>2]|0; - $120 = ((($119)) + 8|0); - $121 = HEAP32[$120>>2]|0; - $122 = (_sqlite3VdbeAddOp1($118,46,$121)|0); - HEAP32[$addr>>2] = $122; - $123 = HEAP32[$2>>2]|0; - $124 = ((($123)) + 12|0); - $125 = HEAP32[$124>>2]|0; - $126 = ($125|0)!=(0); - if ($126) { - $127 = HEAP32[$v>>2]|0; + $99 = HEAP32[$2>>2]|0; + $100 = ((($99)) + 48|0); + HEAP32[$100>>2] = 0; + $101 = HEAP32[$pPrior>>2]|0; + $102 = ((($101)) + 12|0); + $103 = HEAP32[$102>>2]|0; + $104 = HEAP32[$2>>2]|0; + $105 = ((($104)) + 12|0); + HEAP32[$105>>2] = $103; + $106 = HEAP32[$pPrior>>2]|0; + $107 = ((($106)) + 16|0); + $108 = HEAP32[$107>>2]|0; + $109 = HEAP32[$2>>2]|0; + $110 = ((($109)) + 16|0); + HEAP32[$110>>2] = $108; + $111 = HEAP32[$2>>2]|0; + $112 = ((($111)) + 12|0); + $113 = HEAP32[$112>>2]|0; + $114 = ($113|0)!=(0); + if ($114) { + $115 = HEAP32[$v>>2]|0; + $116 = HEAP32[$2>>2]|0; + $117 = ((($116)) + 12|0); + $118 = HEAP32[$117>>2]|0; + $119 = (_sqlite3VdbeAddOp1($115,46,$118)|0); + HEAP32[$addr>>2] = $119; + $120 = HEAP32[$2>>2]|0; + $121 = ((($120)) + 16|0); + $122 = HEAP32[$121>>2]|0; + $123 = ($122|0)!=(0); + if ($123) { + $124 = HEAP32[$v>>2]|0; + $125 = HEAP32[$2>>2]|0; + $126 = ((($125)) + 12|0); + $127 = HEAP32[$126>>2]|0; $128 = HEAP32[$2>>2]|0; - $129 = ((($128)) + 8|0); + $129 = ((($128)) + 16|0); $130 = HEAP32[$129>>2]|0; - $131 = HEAP32[$2>>2]|0; - $132 = ((($131)) + 12|0); - $133 = HEAP32[$132>>2]|0; - $134 = (($133) + 1)|0; - $135 = HEAP32[$2>>2]|0; - $136 = ((($135)) + 12|0); - $137 = HEAP32[$136>>2]|0; - (_sqlite3VdbeAddOp3($127,139,$130,$134,$137)|0); + $131 = (($130) + 1)|0; + $132 = HEAP32[$2>>2]|0; + $133 = ((($132)) + 16|0); + $134 = HEAP32[$133>>2]|0; + (_sqlite3VdbeAddOp3($124,139,$127,$131,$134)|0); } } + $135 = HEAP32[$1>>2]|0; + $136 = ((($135)) + 472|0); + $137 = HEAP32[$136>>2]|0; + HEAP32[$iSub2>>2] = $137; $138 = HEAP32[$1>>2]|0; - $139 = ((($138)) + 472|0); - $140 = HEAP32[$139>>2]|0; - HEAP32[$iSub2>>2] = $140; - $141 = HEAP32[$1>>2]|0; - $142 = HEAP32[$2>>2]|0; - $143 = (_sqlite3Select($141,$142,$dest)|0); - HEAP32[$rc>>2] = $143; - $144 = HEAP32[$2>>2]|0; - $145 = ((($144)) + 52|0); - $146 = HEAP32[$145>>2]|0; - HEAP32[$pDelete>>2] = $146; - $147 = HEAP32[$pPrior>>2]|0; - $148 = HEAP32[$2>>2]|0; - $149 = ((($148)) + 52|0); - HEAP32[$149>>2] = $147; + $139 = HEAP32[$2>>2]|0; + $140 = (_sqlite3Select($138,$139,$dest)|0); + HEAP32[$rc>>2] = $140; + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 48|0); + $143 = HEAP32[$142>>2]|0; + HEAP32[$pDelete>>2] = $143; + $144 = HEAP32[$pPrior>>2]|0; + $145 = HEAP32[$2>>2]|0; + $146 = ((($145)) + 48|0); + HEAP32[$146>>2] = $144; + $147 = HEAP32[$2>>2]|0; + $148 = ((($147)) + 6|0); + $149 = HEAP16[$148>>1]|0; $150 = HEAP32[$pPrior>>2]|0; - $151 = ((($150)) + 24|0); - $152 = $151; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = (($152) + 4)|0; - $156 = $155; - $157 = HEAP32[$156>>2]|0; - $158 = HEAP32[$2>>2]|0; - $159 = ((($158)) + 24|0); - $160 = $159; - $161 = $160; - $162 = HEAP32[$161>>2]|0; - $163 = (($160) + 4)|0; - $164 = $163; - $165 = HEAP32[$164>>2]|0; - $166 = (_i64Add(($162|0),($165|0),($154|0),($157|0))|0); - $167 = tempRet0; - $168 = $159; - $169 = $168; - HEAP32[$169>>2] = $166; - $170 = (($168) + 4)|0; - $171 = $170; - HEAP32[$171>>2] = $167; - $172 = HEAP32[$pPrior>>2]|0; - $173 = ((($172)) + 60|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0|0); - if ($175) { - $176 = HEAP32[$pPrior>>2]|0; - $177 = ((($176)) + 60|0); - $178 = HEAP32[$177>>2]|0; - $179 = (_sqlite3ExprIsInteger($178,$nLimit)|0); - $180 = ($179|0)!=(0); - $181 = HEAP32[$nLimit>>2]|0; - $182 = ($181|0)>(0); - $or$cond = $180 & $182; + $151 = ((($150)) + 6|0); + $152 = HEAP16[$151>>1]|0; + $153 = (_sqlite3LogEstAdd($149,$152)|0); + $154 = HEAP32[$2>>2]|0; + $155 = ((($154)) + 6|0); + HEAP16[$155>>1] = $153; + $156 = HEAP32[$pPrior>>2]|0; + $157 = ((($156)) + 56|0); + $158 = HEAP32[$157>>2]|0; + $159 = ($158|0)!=(0|0); + if ($159) { + $160 = HEAP32[$pPrior>>2]|0; + $161 = ((($160)) + 56|0); + $162 = HEAP32[$161>>2]|0; + $163 = (_sqlite3ExprIsInteger($162,$nLimit)|0); + $164 = ($163|0)!=(0); + $165 = HEAP32[$nLimit>>2]|0; + $166 = ($165|0)>(0); + $or$cond = $164 & $166; if ($or$cond) { - $183 = HEAP32[$2>>2]|0; - $184 = ((($183)) + 24|0); - $185 = $184; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (($185) + 4)|0; - $189 = $188; - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$nLimit>>2]|0; - $192 = ($191|0)<(0); - $193 = $192 << 31 >> 31; - $194 = ($190>>>0)>($193>>>0); - $195 = ($187>>>0)>($191>>>0); - $196 = ($190|0)==($193|0); - $197 = $196 & $195; - $198 = $194 | $197; - if ($198) { - $199 = HEAP32[$nLimit>>2]|0; - $200 = ($199|0)<(0); - $201 = $200 << 31 >> 31; - $202 = HEAP32[$2>>2]|0; - $203 = ((($202)) + 24|0); - $204 = $203; - $205 = $204; - HEAP32[$205>>2] = $199; - $206 = (($204) + 4)|0; - $207 = $206; - HEAP32[$207>>2] = $201; + $167 = HEAP32[$2>>2]|0; + $168 = ((($167)) + 6|0); + $169 = HEAP16[$168>>1]|0; + $170 = $169 << 16 >> 16; + $171 = HEAP32[$nLimit>>2]|0; + $172 = ($171|0)<(0); + $173 = $172 << 31 >> 31; + $174 = (_sqlite3LogEst($171,$173)|0); + $175 = $174 << 16 >> 16; + $176 = ($170|0)>($175|0); + if ($176) { + $177 = HEAP32[$nLimit>>2]|0; + $178 = ($177|0)<(0); + $179 = $178 << 31 >> 31; + $180 = (_sqlite3LogEst($177,$179)|0); + $181 = HEAP32[$2>>2]|0; + $182 = ((($181)) + 6|0); + HEAP16[$182>>1] = $180; } } } - $208 = HEAP32[$addr>>2]|0; - $209 = ($208|0)!=(0); - if (!($209)) { + $183 = HEAP32[$addr>>2]|0; + $184 = ($183|0)!=(0); + if (!($184)) { break L13; } - $210 = HEAP32[$v>>2]|0; - $211 = HEAP32[$addr>>2]|0; - _sqlite3VdbeJumpHere($210,$211); + $185 = HEAP32[$v>>2]|0; + $186 = HEAP32[$addr>>2]|0; + _sqlite3VdbeJumpHere($185,$186); break L13; break; } case 115: case 117: { HEAP8[$op>>0] = 0; HEAP32[$priorOp>>2] = 1; - $212 = HEAP8[$dest>>0]|0; - $213 = $212&255; - $214 = HEAP32[$priorOp>>2]|0; - $215 = ($213|0)==($214|0); - if ($215) { - $216 = ((($dest)) + 4|0); - $217 = HEAP32[$216>>2]|0; - HEAP32[$unionTab>>2] = $217; + $187 = HEAP8[$dest>>0]|0; + $188 = $187&255; + $189 = HEAP32[$priorOp>>2]|0; + $190 = ($188|0)==($189|0); + if ($190) { + $191 = ((($dest)) + 4|0); + $192 = HEAP32[$191>>2]|0; + HEAP32[$unionTab>>2] = $192; } else { - $218 = HEAP32[$1>>2]|0; - $219 = ((($218)) + 72|0); - $220 = HEAP32[$219>>2]|0; - $221 = (($220) + 1)|0; - HEAP32[$219>>2] = $221; - HEAP32[$unionTab>>2] = $220; - $222 = HEAP32[$v>>2]|0; - $223 = HEAP32[$unionTab>>2]|0; - $224 = (_sqlite3VdbeAddOp2($222,57,$223,0)|0); - HEAP32[$addr1>>2] = $224; - $225 = HEAP32[$addr1>>2]|0; - $226 = HEAP32[$2>>2]|0; - $227 = ((($226)) + 16|0); - HEAP32[$227>>2] = $225; - $228 = HEAP32[$2>>2]|0; - $229 = (_findRightmost($228)|0); - $230 = ((($229)) + 6|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231&65535; - $233 = $232 | 16; - $234 = $233&65535; - HEAP16[$230>>1] = $234; + $193 = HEAP32[$1>>2]|0; + $194 = ((($193)) + 72|0); + $195 = HEAP32[$194>>2]|0; + $196 = (($195) + 1)|0; + HEAP32[$194>>2] = $196; + HEAP32[$unionTab>>2] = $195; + $197 = HEAP32[$v>>2]|0; + $198 = HEAP32[$unionTab>>2]|0; + $199 = (_sqlite3VdbeAddOp2($197,57,$198,0)|0); + HEAP32[$addr1>>2] = $199; + $200 = HEAP32[$addr1>>2]|0; + $201 = HEAP32[$2>>2]|0; + $202 = ((($201)) + 20|0); + HEAP32[$202>>2] = $200; + $203 = HEAP32[$2>>2]|0; + $204 = (_findRightmost($203)|0); + $205 = ((($204)) + 8|0); + $206 = HEAP32[$205>>2]|0; + $207 = $206 | 16; + HEAP32[$205>>2] = $207; } - $235 = HEAP32[$priorOp>>2]|0; - $236 = HEAP32[$unionTab>>2]|0; - _sqlite3SelectDestInit($uniondest,$235,$236); - $237 = HEAP32[$1>>2]|0; - $238 = ((($237)) + 472|0); - $239 = HEAP32[$238>>2]|0; - HEAP32[$iSub1>>2] = $239; - $240 = HEAP32[$1>>2]|0; - $241 = HEAP32[$pPrior>>2]|0; - $242 = (_sqlite3Select($240,$241,$uniondest)|0); - HEAP32[$rc>>2] = $242; - $243 = HEAP32[$rc>>2]|0; - $244 = ($243|0)!=(0); - if ($244) { + $208 = HEAP32[$priorOp>>2]|0; + $209 = HEAP32[$unionTab>>2]|0; + _sqlite3SelectDestInit($uniondest,$208,$209); + $210 = HEAP32[$1>>2]|0; + $211 = ((($210)) + 472|0); + $212 = HEAP32[$211>>2]|0; + HEAP32[$iSub1>>2] = $212; + $213 = HEAP32[$1>>2]|0; + $214 = HEAP32[$pPrior>>2]|0; + $215 = (_sqlite3Select($213,$214,$uniondest)|0); + HEAP32[$rc>>2] = $215; + $216 = HEAP32[$rc>>2]|0; + $217 = ($216|0)!=(0); + if ($217) { break L1; } - $245 = HEAP32[$2>>2]|0; - $246 = ((($245)) + 4|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $249 = ($248|0)==(117); - if ($249) { + $218 = HEAP32[$2>>2]|0; + $219 = ((($218)) + 4|0); + $220 = HEAP8[$219>>0]|0; + $221 = $220&255; + $222 = ($221|0)==(117); + if ($222) { HEAP8[$op>>0] = 2; } else { HEAP8[$op>>0] = 1; } + $223 = HEAP32[$2>>2]|0; + $224 = ((($223)) + 48|0); + HEAP32[$224>>2] = 0; + $225 = HEAP32[$2>>2]|0; + $226 = ((($225)) + 56|0); + $227 = HEAP32[$226>>2]|0; + HEAP32[$pLimit>>2] = $227; + $228 = HEAP32[$2>>2]|0; + $229 = ((($228)) + 56|0); + HEAP32[$229>>2] = 0; + $230 = HEAP32[$2>>2]|0; + $231 = ((($230)) + 60|0); + $232 = HEAP32[$231>>2]|0; + HEAP32[$pOffset>>2] = $232; + $233 = HEAP32[$2>>2]|0; + $234 = ((($233)) + 60|0); + HEAP32[$234>>2] = 0; + $235 = HEAP8[$op>>0]|0; + HEAP8[$uniondest>>0] = $235; + $236 = HEAP32[$1>>2]|0; + $237 = ((($236)) + 472|0); + $238 = HEAP32[$237>>2]|0; + HEAP32[$iSub2>>2] = $238; + $239 = HEAP32[$1>>2]|0; + $240 = HEAP32[$2>>2]|0; + $241 = (_sqlite3Select($239,$240,$uniondest)|0); + HEAP32[$rc>>2] = $241; + $242 = HEAP32[$db>>2]|0; + $243 = HEAP32[$2>>2]|0; + $244 = ((($243)) + 44|0); + $245 = HEAP32[$244>>2]|0; + _sqlite3ExprListDelete($242,$245); + $246 = HEAP32[$2>>2]|0; + $247 = ((($246)) + 48|0); + $248 = HEAP32[$247>>2]|0; + HEAP32[$pDelete>>2] = $248; + $249 = HEAP32[$pPrior>>2]|0; $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 52|0); - HEAP32[$251>>2] = 0; + $251 = ((($250)) + 48|0); + HEAP32[$251>>2] = $249; $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 60|0); - $254 = HEAP32[$253>>2]|0; - HEAP32[$pLimit>>2] = $254; - $255 = HEAP32[$2>>2]|0; - $256 = ((($255)) + 60|0); - HEAP32[$256>>2] = 0; - $257 = HEAP32[$2>>2]|0; - $258 = ((($257)) + 64|0); - $259 = HEAP32[$258>>2]|0; - HEAP32[$pOffset>>2] = $259; - $260 = HEAP32[$2>>2]|0; - $261 = ((($260)) + 64|0); - HEAP32[$261>>2] = 0; - $262 = HEAP8[$op>>0]|0; - HEAP8[$uniondest>>0] = $262; - $263 = HEAP32[$1>>2]|0; - $264 = ((($263)) + 472|0); - $265 = HEAP32[$264>>2]|0; - HEAP32[$iSub2>>2] = $265; - $266 = HEAP32[$1>>2]|0; - $267 = HEAP32[$2>>2]|0; - $268 = (_sqlite3Select($266,$267,$uniondest)|0); - HEAP32[$rc>>2] = $268; - $269 = HEAP32[$db>>2]|0; - $270 = HEAP32[$2>>2]|0; - $271 = ((($270)) + 48|0); - $272 = HEAP32[$271>>2]|0; - _sqlite3ExprListDelete($269,$272); - $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 52|0); - $275 = HEAP32[$274>>2]|0; - HEAP32[$pDelete>>2] = $275; - $276 = HEAP32[$pPrior>>2]|0; - $277 = HEAP32[$2>>2]|0; - $278 = ((($277)) + 52|0); - HEAP32[$278>>2] = $276; - $279 = HEAP32[$2>>2]|0; - $280 = ((($279)) + 48|0); - HEAP32[$280>>2] = 0; - $281 = HEAP32[$2>>2]|0; - $282 = ((($281)) + 4|0); - $283 = HEAP8[$282>>0]|0; - $284 = $283&255; - $285 = ($284|0)==(115); - if ($285) { - $286 = HEAP32[$pPrior>>2]|0; - $287 = ((($286)) + 24|0); - $288 = $287; - $289 = $288; - $290 = HEAP32[$289>>2]|0; - $291 = (($288) + 4)|0; - $292 = $291; - $293 = HEAP32[$292>>2]|0; - $294 = HEAP32[$2>>2]|0; - $295 = ((($294)) + 24|0); - $296 = $295; - $297 = $296; - $298 = HEAP32[$297>>2]|0; - $299 = (($296) + 4)|0; - $300 = $299; - $301 = HEAP32[$300>>2]|0; - $302 = (_i64Add(($298|0),($301|0),($290|0),($293|0))|0); - $303 = tempRet0; - $304 = $295; - $305 = $304; - HEAP32[$305>>2] = $302; - $306 = (($304) + 4)|0; - $307 = $306; - HEAP32[$307>>2] = $303; + $253 = ((($252)) + 44|0); + HEAP32[$253>>2] = 0; + $254 = HEAP32[$2>>2]|0; + $255 = ((($254)) + 4|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = ($257|0)==(115); + if ($258) { + $259 = HEAP32[$2>>2]|0; + $260 = ((($259)) + 6|0); + $261 = HEAP16[$260>>1]|0; + $262 = HEAP32[$pPrior>>2]|0; + $263 = ((($262)) + 6|0); + $264 = HEAP16[$263>>1]|0; + $265 = (_sqlite3LogEstAdd($261,$264)|0); + $266 = HEAP32[$2>>2]|0; + $267 = ((($266)) + 6|0); + HEAP16[$267>>1] = $265; } - $308 = HEAP32[$db>>2]|0; - $309 = HEAP32[$2>>2]|0; - $310 = ((($309)) + 60|0); - $311 = HEAP32[$310>>2]|0; - _sqlite3ExprDelete($308,$311); - $312 = HEAP32[$pLimit>>2]|0; - $313 = HEAP32[$2>>2]|0; - $314 = ((($313)) + 60|0); - HEAP32[$314>>2] = $312; - $315 = HEAP32[$pOffset>>2]|0; - $316 = HEAP32[$2>>2]|0; - $317 = ((($316)) + 64|0); - HEAP32[$317>>2] = $315; - $318 = HEAP32[$2>>2]|0; - $319 = ((($318)) + 8|0); - HEAP32[$319>>2] = 0; - $320 = HEAP32[$2>>2]|0; - $321 = ((($320)) + 12|0); - HEAP32[$321>>2] = 0; - $322 = HEAP8[$dest>>0]|0; - $323 = $322&255; - $324 = HEAP32[$priorOp>>2]|0; - $325 = ($323|0)!=($324|0); - if (!($325)) { + $268 = HEAP32[$db>>2]|0; + $269 = HEAP32[$2>>2]|0; + $270 = ((($269)) + 56|0); + $271 = HEAP32[$270>>2]|0; + _sqlite3ExprDelete($268,$271); + $272 = HEAP32[$pLimit>>2]|0; + $273 = HEAP32[$2>>2]|0; + $274 = ((($273)) + 56|0); + HEAP32[$274>>2] = $272; + $275 = HEAP32[$pOffset>>2]|0; + $276 = HEAP32[$2>>2]|0; + $277 = ((($276)) + 60|0); + HEAP32[$277>>2] = $275; + $278 = HEAP32[$2>>2]|0; + $279 = ((($278)) + 12|0); + HEAP32[$279>>2] = 0; + $280 = HEAP32[$2>>2]|0; + $281 = ((($280)) + 16|0); + HEAP32[$281>>2] = 0; + $282 = HEAP8[$dest>>0]|0; + $283 = $282&255; + $284 = HEAP32[$priorOp>>2]|0; + $285 = ($283|0)!=($284|0); + if (!($285)) { break L13; } - $326 = HEAP8[$dest>>0]|0; - $327 = $326&255; - $328 = ($327|0)==(9); - if ($328) { - $329 = HEAP32[$2>>2]|0; - HEAP32[$pFirst>>2] = $329; + $286 = HEAP8[$dest>>0]|0; + $287 = $286&255; + $288 = ($287|0)==(9); + if ($288) { + $289 = HEAP32[$2>>2]|0; + HEAP32[$pFirst>>2] = $289; while(1) { - $330 = HEAP32[$pFirst>>2]|0; - $331 = ((($330)) + 52|0); - $332 = HEAP32[$331>>2]|0; - $333 = ($332|0)!=(0|0); - if (!($333)) { + $290 = HEAP32[$pFirst>>2]|0; + $291 = ((($290)) + 48|0); + $292 = HEAP32[$291>>2]|0; + $293 = ($292|0)!=(0|0); + if (!($293)) { break; } - $334 = HEAP32[$pFirst>>2]|0; - $335 = ((($334)) + 52|0); - $336 = HEAP32[$335>>2]|0; - HEAP32[$pFirst>>2] = $336; + $294 = HEAP32[$pFirst>>2]|0; + $295 = ((($294)) + 48|0); + $296 = HEAP32[$295>>2]|0; + HEAP32[$pFirst>>2] = $296; } - $337 = HEAP32[$1>>2]|0; - $338 = HEAP32[$pFirst>>2]|0; - $339 = ((($338)) + 32|0); - $340 = HEAP32[$339>>2]|0; - $341 = HEAP32[$pFirst>>2]|0; - $342 = HEAP32[$341>>2]|0; - _generateColumnNames($337,$340,$342); + $297 = HEAP32[$1>>2]|0; + $298 = HEAP32[$pFirst>>2]|0; + $299 = ((($298)) + 28|0); + $300 = HEAP32[$299>>2]|0; + $301 = HEAP32[$pFirst>>2]|0; + $302 = HEAP32[$301>>2]|0; + _generateColumnNames($297,$300,$302); } - $343 = HEAP32[$v>>2]|0; - $344 = (_sqlite3VdbeMakeLabel($343)|0); - HEAP32[$iBreak>>2] = $344; - $345 = HEAP32[$v>>2]|0; - $346 = (_sqlite3VdbeMakeLabel($345)|0); - HEAP32[$iCont>>2] = $346; - $347 = HEAP32[$1>>2]|0; - $348 = HEAP32[$2>>2]|0; - $349 = HEAP32[$iBreak>>2]|0; - _computeLimitRegisters($347,$348,$349); - $350 = HEAP32[$v>>2]|0; - $351 = HEAP32[$unionTab>>2]|0; - $352 = HEAP32[$iBreak>>2]|0; - (_sqlite3VdbeAddOp2($350,108,$351,$352)|0); - $353 = HEAP32[$v>>2]|0; - $354 = (_sqlite3VdbeCurrentAddr($353)|0); - HEAP32[$iStart>>2] = $354; - $355 = HEAP32[$1>>2]|0; - $356 = HEAP32[$2>>2]|0; - $357 = HEAP32[$2>>2]|0; - $358 = HEAP32[$357>>2]|0; - $359 = HEAP32[$unionTab>>2]|0; - $360 = HEAP32[$iCont>>2]|0; - $361 = HEAP32[$iBreak>>2]|0; - _selectInnerLoop($355,$356,$358,$359,0,0,$dest,$360,$361); - $362 = HEAP32[$v>>2]|0; - $363 = HEAP32[$iCont>>2]|0; - _sqlite3VdbeResolveLabel($362,$363); - $364 = HEAP32[$v>>2]|0; - $365 = HEAP32[$unionTab>>2]|0; - $366 = HEAP32[$iStart>>2]|0; - (_sqlite3VdbeAddOp2($364,7,$365,$366)|0); - $367 = HEAP32[$v>>2]|0; - $368 = HEAP32[$iBreak>>2]|0; - _sqlite3VdbeResolveLabel($367,$368); - $369 = HEAP32[$v>>2]|0; - $370 = HEAP32[$unionTab>>2]|0; - (_sqlite3VdbeAddOp2($369,61,$370,0)|0); + $303 = HEAP32[$v>>2]|0; + $304 = (_sqlite3VdbeMakeLabel($303)|0); + HEAP32[$iBreak>>2] = $304; + $305 = HEAP32[$v>>2]|0; + $306 = (_sqlite3VdbeMakeLabel($305)|0); + HEAP32[$iCont>>2] = $306; + $307 = HEAP32[$1>>2]|0; + $308 = HEAP32[$2>>2]|0; + $309 = HEAP32[$iBreak>>2]|0; + _computeLimitRegisters($307,$308,$309); + $310 = HEAP32[$v>>2]|0; + $311 = HEAP32[$unionTab>>2]|0; + $312 = HEAP32[$iBreak>>2]|0; + (_sqlite3VdbeAddOp2($310,108,$311,$312)|0); + $313 = HEAP32[$v>>2]|0; + $314 = (_sqlite3VdbeCurrentAddr($313)|0); + HEAP32[$iStart>>2] = $314; + $315 = HEAP32[$1>>2]|0; + $316 = HEAP32[$2>>2]|0; + $317 = HEAP32[$2>>2]|0; + $318 = HEAP32[$317>>2]|0; + $319 = HEAP32[$unionTab>>2]|0; + $320 = HEAP32[$iCont>>2]|0; + $321 = HEAP32[$iBreak>>2]|0; + _selectInnerLoop($315,$316,$318,$319,0,0,$dest,$320,$321); + $322 = HEAP32[$v>>2]|0; + $323 = HEAP32[$iCont>>2]|0; + _sqlite3VdbeResolveLabel($322,$323); + $324 = HEAP32[$v>>2]|0; + $325 = HEAP32[$unionTab>>2]|0; + $326 = HEAP32[$iStart>>2]|0; + (_sqlite3VdbeAddOp2($324,7,$325,$326)|0); + $327 = HEAP32[$v>>2]|0; + $328 = HEAP32[$iBreak>>2]|0; + _sqlite3VdbeResolveLabel($327,$328); + $329 = HEAP32[$v>>2]|0; + $330 = HEAP32[$unionTab>>2]|0; + (_sqlite3VdbeAddOp2($329,61,$330,0)|0); break L13; break; } default: { - $371 = HEAP32[$1>>2]|0; - $372 = ((($371)) + 72|0); - $373 = HEAP32[$372>>2]|0; - $374 = (($373) + 1)|0; - HEAP32[$372>>2] = $374; - HEAP32[$tab1>>2] = $373; - $375 = HEAP32[$1>>2]|0; - $376 = ((($375)) + 72|0); - $377 = HEAP32[$376>>2]|0; - $378 = (($377) + 1)|0; - HEAP32[$376>>2] = $378; - HEAP32[$tab2>>2] = $377; - $379 = HEAP32[$v>>2]|0; - $380 = HEAP32[$tab1>>2]|0; - $381 = (_sqlite3VdbeAddOp2($379,57,$380,0)|0); - HEAP32[$addr7>>2] = $381; - $382 = HEAP32[$addr7>>2]|0; - $383 = HEAP32[$2>>2]|0; - $384 = ((($383)) + 16|0); - HEAP32[$384>>2] = $382; - $385 = HEAP32[$2>>2]|0; - $386 = (_findRightmost($385)|0); - $387 = ((($386)) + 6|0); - $388 = HEAP16[$387>>1]|0; - $389 = $388&65535; - $390 = $389 | 16; - $391 = $390&65535; - HEAP16[$387>>1] = $391; - $392 = HEAP32[$tab1>>2]|0; - _sqlite3SelectDestInit($intersectdest,1,$392); - $393 = HEAP32[$1>>2]|0; - $394 = ((($393)) + 472|0); - $395 = HEAP32[$394>>2]|0; - HEAP32[$iSub1>>2] = $395; - $396 = HEAP32[$1>>2]|0; - $397 = HEAP32[$pPrior>>2]|0; - $398 = (_sqlite3Select($396,$397,$intersectdest)|0); - HEAP32[$rc>>2] = $398; - $399 = HEAP32[$rc>>2]|0; - $400 = ($399|0)!=(0); - if ($400) { + $331 = HEAP32[$1>>2]|0; + $332 = ((($331)) + 72|0); + $333 = HEAP32[$332>>2]|0; + $334 = (($333) + 1)|0; + HEAP32[$332>>2] = $334; + HEAP32[$tab1>>2] = $333; + $335 = HEAP32[$1>>2]|0; + $336 = ((($335)) + 72|0); + $337 = HEAP32[$336>>2]|0; + $338 = (($337) + 1)|0; + HEAP32[$336>>2] = $338; + HEAP32[$tab2>>2] = $337; + $339 = HEAP32[$v>>2]|0; + $340 = HEAP32[$tab1>>2]|0; + $341 = (_sqlite3VdbeAddOp2($339,57,$340,0)|0); + HEAP32[$addr7>>2] = $341; + $342 = HEAP32[$addr7>>2]|0; + $343 = HEAP32[$2>>2]|0; + $344 = ((($343)) + 20|0); + HEAP32[$344>>2] = $342; + $345 = HEAP32[$2>>2]|0; + $346 = (_findRightmost($345)|0); + $347 = ((($346)) + 8|0); + $348 = HEAP32[$347>>2]|0; + $349 = $348 | 16; + HEAP32[$347>>2] = $349; + $350 = HEAP32[$tab1>>2]|0; + _sqlite3SelectDestInit($intersectdest,1,$350); + $351 = HEAP32[$1>>2]|0; + $352 = ((($351)) + 472|0); + $353 = HEAP32[$352>>2]|0; + HEAP32[$iSub1>>2] = $353; + $354 = HEAP32[$1>>2]|0; + $355 = HEAP32[$pPrior>>2]|0; + $356 = (_sqlite3Select($354,$355,$intersectdest)|0); + HEAP32[$rc>>2] = $356; + $357 = HEAP32[$rc>>2]|0; + $358 = ($357|0)!=(0); + if ($358) { break L1; } - $401 = HEAP32[$v>>2]|0; - $402 = HEAP32[$tab2>>2]|0; - $403 = (_sqlite3VdbeAddOp2($401,57,$402,0)|0); - HEAP32[$addr7>>2] = $403; - $404 = HEAP32[$addr7>>2]|0; - $405 = HEAP32[$2>>2]|0; - $406 = ((($405)) + 16|0); - $407 = ((($406)) + 4|0); - HEAP32[$407>>2] = $404; - $408 = HEAP32[$2>>2]|0; - $409 = ((($408)) + 52|0); - HEAP32[$409>>2] = 0; - $410 = HEAP32[$2>>2]|0; - $411 = ((($410)) + 60|0); - $412 = HEAP32[$411>>2]|0; - HEAP32[$pLimit5>>2] = $412; - $413 = HEAP32[$2>>2]|0; - $414 = ((($413)) + 60|0); - HEAP32[$414>>2] = 0; - $415 = HEAP32[$2>>2]|0; - $416 = ((($415)) + 64|0); - $417 = HEAP32[$416>>2]|0; - HEAP32[$pOffset6>>2] = $417; - $418 = HEAP32[$2>>2]|0; - $419 = ((($418)) + 64|0); - HEAP32[$419>>2] = 0; - $420 = HEAP32[$tab2>>2]|0; - $421 = ((($intersectdest)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = HEAP32[$1>>2]|0; - $423 = ((($422)) + 472|0); - $424 = HEAP32[$423>>2]|0; - HEAP32[$iSub2>>2] = $424; - $425 = HEAP32[$1>>2]|0; - $426 = HEAP32[$2>>2]|0; - $427 = (_sqlite3Select($425,$426,$intersectdest)|0); - HEAP32[$rc>>2] = $427; - $428 = HEAP32[$2>>2]|0; - $429 = ((($428)) + 52|0); - $430 = HEAP32[$429>>2]|0; - HEAP32[$pDelete>>2] = $430; - $431 = HEAP32[$pPrior>>2]|0; - $432 = HEAP32[$2>>2]|0; - $433 = ((($432)) + 52|0); - HEAP32[$433>>2] = $431; - $434 = HEAP32[$2>>2]|0; - $435 = ((($434)) + 24|0); - $436 = $435; - $437 = $436; - $438 = HEAP32[$437>>2]|0; - $439 = (($436) + 4)|0; - $440 = $439; - $441 = HEAP32[$440>>2]|0; - $442 = HEAP32[$pPrior>>2]|0; - $443 = ((($442)) + 24|0); - $444 = $443; - $445 = $444; - $446 = HEAP32[$445>>2]|0; - $447 = (($444) + 4)|0; - $448 = $447; - $449 = HEAP32[$448>>2]|0; - $450 = ($441>>>0)>($449>>>0); - $451 = ($438>>>0)>($446>>>0); - $452 = ($441|0)==($449|0); - $453 = $452 & $451; - $454 = $450 | $453; - if ($454) { - $455 = HEAP32[$pPrior>>2]|0; - $456 = ((($455)) + 24|0); - $457 = $456; - $458 = $457; - $459 = HEAP32[$458>>2]|0; - $460 = (($457) + 4)|0; - $461 = $460; - $462 = HEAP32[$461>>2]|0; - $463 = HEAP32[$2>>2]|0; - $464 = ((($463)) + 24|0); - $465 = $464; - $466 = $465; - HEAP32[$466>>2] = $459; - $467 = (($465) + 4)|0; - $468 = $467; - HEAP32[$468>>2] = $462; + $359 = HEAP32[$v>>2]|0; + $360 = HEAP32[$tab2>>2]|0; + $361 = (_sqlite3VdbeAddOp2($359,57,$360,0)|0); + HEAP32[$addr7>>2] = $361; + $362 = HEAP32[$addr7>>2]|0; + $363 = HEAP32[$2>>2]|0; + $364 = ((($363)) + 20|0); + $365 = ((($364)) + 4|0); + HEAP32[$365>>2] = $362; + $366 = HEAP32[$2>>2]|0; + $367 = ((($366)) + 48|0); + HEAP32[$367>>2] = 0; + $368 = HEAP32[$2>>2]|0; + $369 = ((($368)) + 56|0); + $370 = HEAP32[$369>>2]|0; + HEAP32[$pLimit5>>2] = $370; + $371 = HEAP32[$2>>2]|0; + $372 = ((($371)) + 56|0); + HEAP32[$372>>2] = 0; + $373 = HEAP32[$2>>2]|0; + $374 = ((($373)) + 60|0); + $375 = HEAP32[$374>>2]|0; + HEAP32[$pOffset6>>2] = $375; + $376 = HEAP32[$2>>2]|0; + $377 = ((($376)) + 60|0); + HEAP32[$377>>2] = 0; + $378 = HEAP32[$tab2>>2]|0; + $379 = ((($intersectdest)) + 4|0); + HEAP32[$379>>2] = $378; + $380 = HEAP32[$1>>2]|0; + $381 = ((($380)) + 472|0); + $382 = HEAP32[$381>>2]|0; + HEAP32[$iSub2>>2] = $382; + $383 = HEAP32[$1>>2]|0; + $384 = HEAP32[$2>>2]|0; + $385 = (_sqlite3Select($383,$384,$intersectdest)|0); + HEAP32[$rc>>2] = $385; + $386 = HEAP32[$2>>2]|0; + $387 = ((($386)) + 48|0); + $388 = HEAP32[$387>>2]|0; + HEAP32[$pDelete>>2] = $388; + $389 = HEAP32[$pPrior>>2]|0; + $390 = HEAP32[$2>>2]|0; + $391 = ((($390)) + 48|0); + HEAP32[$391>>2] = $389; + $392 = HEAP32[$2>>2]|0; + $393 = ((($392)) + 6|0); + $394 = HEAP16[$393>>1]|0; + $395 = $394 << 16 >> 16; + $396 = HEAP32[$pPrior>>2]|0; + $397 = ((($396)) + 6|0); + $398 = HEAP16[$397>>1]|0; + $399 = $398 << 16 >> 16; + $400 = ($395|0)>($399|0); + if ($400) { + $401 = HEAP32[$pPrior>>2]|0; + $402 = ((($401)) + 6|0); + $403 = HEAP16[$402>>1]|0; + $404 = HEAP32[$2>>2]|0; + $405 = ((($404)) + 6|0); + HEAP16[$405>>1] = $403; } - $469 = HEAP32[$db>>2]|0; - $470 = HEAP32[$2>>2]|0; - $471 = ((($470)) + 60|0); - $472 = HEAP32[$471>>2]|0; - _sqlite3ExprDelete($469,$472); - $473 = HEAP32[$pLimit5>>2]|0; - $474 = HEAP32[$2>>2]|0; - $475 = ((($474)) + 60|0); - HEAP32[$475>>2] = $473; - $476 = HEAP32[$pOffset6>>2]|0; - $477 = HEAP32[$2>>2]|0; - $478 = ((($477)) + 64|0); - HEAP32[$478>>2] = $476; - $479 = HEAP8[$dest>>0]|0; - $480 = $479&255; - $481 = ($480|0)==(9); - if ($481) { - $482 = HEAP32[$2>>2]|0; - HEAP32[$pFirst8>>2] = $482; + $406 = HEAP32[$db>>2]|0; + $407 = HEAP32[$2>>2]|0; + $408 = ((($407)) + 56|0); + $409 = HEAP32[$408>>2]|0; + _sqlite3ExprDelete($406,$409); + $410 = HEAP32[$pLimit5>>2]|0; + $411 = HEAP32[$2>>2]|0; + $412 = ((($411)) + 56|0); + HEAP32[$412>>2] = $410; + $413 = HEAP32[$pOffset6>>2]|0; + $414 = HEAP32[$2>>2]|0; + $415 = ((($414)) + 60|0); + HEAP32[$415>>2] = $413; + $416 = HEAP8[$dest>>0]|0; + $417 = $416&255; + $418 = ($417|0)==(9); + if ($418) { + $419 = HEAP32[$2>>2]|0; + HEAP32[$pFirst8>>2] = $419; while(1) { - $483 = HEAP32[$pFirst8>>2]|0; - $484 = ((($483)) + 52|0); - $485 = HEAP32[$484>>2]|0; - $486 = ($485|0)!=(0|0); - if (!($486)) { + $420 = HEAP32[$pFirst8>>2]|0; + $421 = ((($420)) + 48|0); + $422 = HEAP32[$421>>2]|0; + $423 = ($422|0)!=(0|0); + if (!($423)) { break; } - $487 = HEAP32[$pFirst8>>2]|0; - $488 = ((($487)) + 52|0); - $489 = HEAP32[$488>>2]|0; - HEAP32[$pFirst8>>2] = $489; + $424 = HEAP32[$pFirst8>>2]|0; + $425 = ((($424)) + 48|0); + $426 = HEAP32[$425>>2]|0; + HEAP32[$pFirst8>>2] = $426; } - $490 = HEAP32[$1>>2]|0; - $491 = HEAP32[$pFirst8>>2]|0; - $492 = ((($491)) + 32|0); - $493 = HEAP32[$492>>2]|0; - $494 = HEAP32[$pFirst8>>2]|0; - $495 = HEAP32[$494>>2]|0; - _generateColumnNames($490,$493,$495); + $427 = HEAP32[$1>>2]|0; + $428 = HEAP32[$pFirst8>>2]|0; + $429 = ((($428)) + 28|0); + $430 = HEAP32[$429>>2]|0; + $431 = HEAP32[$pFirst8>>2]|0; + $432 = HEAP32[$431>>2]|0; + _generateColumnNames($427,$430,$432); } - $496 = HEAP32[$v>>2]|0; - $497 = (_sqlite3VdbeMakeLabel($496)|0); - HEAP32[$iBreak3>>2] = $497; - $498 = HEAP32[$v>>2]|0; - $499 = (_sqlite3VdbeMakeLabel($498)|0); - HEAP32[$iCont2>>2] = $499; - $500 = HEAP32[$1>>2]|0; - $501 = HEAP32[$2>>2]|0; - $502 = HEAP32[$iBreak3>>2]|0; - _computeLimitRegisters($500,$501,$502); - $503 = HEAP32[$v>>2]|0; - $504 = HEAP32[$tab1>>2]|0; - $505 = HEAP32[$iBreak3>>2]|0; - (_sqlite3VdbeAddOp2($503,108,$504,$505)|0); - $506 = HEAP32[$1>>2]|0; - $507 = (_sqlite3GetTempReg($506)|0); - HEAP32[$r1>>2] = $507; - $508 = HEAP32[$v>>2]|0; - $509 = HEAP32[$tab1>>2]|0; - $510 = HEAP32[$r1>>2]|0; - $511 = (_sqlite3VdbeAddOp2($508,101,$509,$510)|0); - HEAP32[$iStart4>>2] = $511; - $512 = HEAP32[$v>>2]|0; - $513 = HEAP32[$tab2>>2]|0; - $514 = HEAP32[$iCont2>>2]|0; - $515 = HEAP32[$r1>>2]|0; - (_sqlite3VdbeAddOp4Int($512,68,$513,$514,$515,0)|0); - $516 = HEAP32[$1>>2]|0; - $517 = HEAP32[$r1>>2]|0; - _sqlite3ReleaseTempReg($516,$517); - $518 = HEAP32[$1>>2]|0; - $519 = HEAP32[$2>>2]|0; - $520 = HEAP32[$2>>2]|0; - $521 = HEAP32[$520>>2]|0; - $522 = HEAP32[$tab1>>2]|0; - $523 = HEAP32[$iCont2>>2]|0; - $524 = HEAP32[$iBreak3>>2]|0; - _selectInnerLoop($518,$519,$521,$522,0,0,$dest,$523,$524); - $525 = HEAP32[$v>>2]|0; - $526 = HEAP32[$iCont2>>2]|0; - _sqlite3VdbeResolveLabel($525,$526); - $527 = HEAP32[$v>>2]|0; - $528 = HEAP32[$tab1>>2]|0; - $529 = HEAP32[$iStart4>>2]|0; - (_sqlite3VdbeAddOp2($527,7,$528,$529)|0); - $530 = HEAP32[$v>>2]|0; - $531 = HEAP32[$iBreak3>>2]|0; - _sqlite3VdbeResolveLabel($530,$531); - $532 = HEAP32[$v>>2]|0; - $533 = HEAP32[$tab2>>2]|0; - (_sqlite3VdbeAddOp2($532,61,$533,0)|0); - $534 = HEAP32[$v>>2]|0; - $535 = HEAP32[$tab1>>2]|0; - (_sqlite3VdbeAddOp2($534,61,$535,0)|0); + $433 = HEAP32[$v>>2]|0; + $434 = (_sqlite3VdbeMakeLabel($433)|0); + HEAP32[$iBreak3>>2] = $434; + $435 = HEAP32[$v>>2]|0; + $436 = (_sqlite3VdbeMakeLabel($435)|0); + HEAP32[$iCont2>>2] = $436; + $437 = HEAP32[$1>>2]|0; + $438 = HEAP32[$2>>2]|0; + $439 = HEAP32[$iBreak3>>2]|0; + _computeLimitRegisters($437,$438,$439); + $440 = HEAP32[$v>>2]|0; + $441 = HEAP32[$tab1>>2]|0; + $442 = HEAP32[$iBreak3>>2]|0; + (_sqlite3VdbeAddOp2($440,108,$441,$442)|0); + $443 = HEAP32[$1>>2]|0; + $444 = (_sqlite3GetTempReg($443)|0); + HEAP32[$r1>>2] = $444; + $445 = HEAP32[$v>>2]|0; + $446 = HEAP32[$tab1>>2]|0; + $447 = HEAP32[$r1>>2]|0; + $448 = (_sqlite3VdbeAddOp2($445,101,$446,$447)|0); + HEAP32[$iStart4>>2] = $448; + $449 = HEAP32[$v>>2]|0; + $450 = HEAP32[$tab2>>2]|0; + $451 = HEAP32[$iCont2>>2]|0; + $452 = HEAP32[$r1>>2]|0; + (_sqlite3VdbeAddOp4Int($449,68,$450,$451,$452,0)|0); + $453 = HEAP32[$1>>2]|0; + $454 = HEAP32[$r1>>2]|0; + _sqlite3ReleaseTempReg($453,$454); + $455 = HEAP32[$1>>2]|0; + $456 = HEAP32[$2>>2]|0; + $457 = HEAP32[$2>>2]|0; + $458 = HEAP32[$457>>2]|0; + $459 = HEAP32[$tab1>>2]|0; + $460 = HEAP32[$iCont2>>2]|0; + $461 = HEAP32[$iBreak3>>2]|0; + _selectInnerLoop($455,$456,$458,$459,0,0,$dest,$460,$461); + $462 = HEAP32[$v>>2]|0; + $463 = HEAP32[$iCont2>>2]|0; + _sqlite3VdbeResolveLabel($462,$463); + $464 = HEAP32[$v>>2]|0; + $465 = HEAP32[$tab1>>2]|0; + $466 = HEAP32[$iStart4>>2]|0; + (_sqlite3VdbeAddOp2($464,7,$465,$466)|0); + $467 = HEAP32[$v>>2]|0; + $468 = HEAP32[$iBreak3>>2]|0; + _sqlite3VdbeResolveLabel($467,$468); + $469 = HEAP32[$v>>2]|0; + $470 = HEAP32[$tab2>>2]|0; + (_sqlite3VdbeAddOp2($469,61,$470,0)|0); + $471 = HEAP32[$v>>2]|0; + $472 = HEAP32[$tab1>>2]|0; + (_sqlite3VdbeAddOp2($471,61,$472,0)|0); break L13; } } } } while(0); - $536 = HEAP32[$1>>2]|0; - $537 = HEAP32[$2>>2]|0; - $538 = ((($537)) + 4|0); - $539 = HEAP8[$538>>0]|0; - $540 = $539&255; - $541 = HEAP32[$iSub1>>2]|0; - $542 = HEAP32[$iSub2>>2]|0; - $543 = HEAP32[$2>>2]|0; - $544 = ((($543)) + 4|0); - $545 = HEAP8[$544>>0]|0; - $546 = $545&255; - $547 = ($546|0)!=(116); - $548 = $547&1; - _explainComposite($536,$540,$541,$542,$548); - $549 = HEAP32[$2>>2]|0; - $550 = ((($549)) + 6|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551&65535; - $553 = $552 & 16; - $554 = ($553|0)!=(0); - if ($554) { - $555 = HEAP32[$2>>2]|0; - $556 = HEAP32[$555>>2]|0; - $557 = HEAP32[$556>>2]|0; - HEAP32[$nCol>>2] = $557; - $558 = HEAP32[$db>>2]|0; - $559 = HEAP32[$nCol>>2]|0; - $560 = (_sqlite3KeyInfoAlloc($558,$559,1)|0); - HEAP32[$pKeyInfo>>2] = $560; - $561 = HEAP32[$pKeyInfo>>2]|0; - $562 = ($561|0)!=(0|0); - if (!($562)) { + $473 = HEAP32[$1>>2]|0; + $474 = HEAP32[$2>>2]|0; + $475 = ((($474)) + 4|0); + $476 = HEAP8[$475>>0]|0; + $477 = $476&255; + $478 = HEAP32[$iSub1>>2]|0; + $479 = HEAP32[$iSub2>>2]|0; + $480 = HEAP32[$2>>2]|0; + $481 = ((($480)) + 4|0); + $482 = HEAP8[$481>>0]|0; + $483 = $482&255; + $484 = ($483|0)!=(116); + $485 = $484&1; + _explainComposite($473,$477,$478,$479,$485); + $486 = HEAP32[$2>>2]|0; + $487 = ((($486)) + 8|0); + $488 = HEAP32[$487>>2]|0; + $489 = $488 & 16; + $490 = ($489|0)!=(0); + if ($490) { + $491 = HEAP32[$2>>2]|0; + $492 = HEAP32[$491>>2]|0; + $493 = HEAP32[$492>>2]|0; + HEAP32[$nCol>>2] = $493; + $494 = HEAP32[$db>>2]|0; + $495 = HEAP32[$nCol>>2]|0; + $496 = (_sqlite3KeyInfoAlloc($494,$495,1)|0); + HEAP32[$pKeyInfo>>2] = $496; + $497 = HEAP32[$pKeyInfo>>2]|0; + $498 = ($497|0)!=(0|0); + if (!($498)) { HEAP32[$rc>>2] = 7; break; } HEAP32[$i>>2] = 0; - $563 = HEAP32[$pKeyInfo>>2]|0; - $564 = ((($563)) + 20|0); - HEAP32[$apColl>>2] = $564; + $499 = HEAP32[$pKeyInfo>>2]|0; + $500 = ((($499)) + 20|0); + HEAP32[$apColl>>2] = $500; while(1) { - $565 = HEAP32[$i>>2]|0; - $566 = HEAP32[$nCol>>2]|0; - $567 = ($565|0)<($566|0); - if (!($567)) { + $501 = HEAP32[$i>>2]|0; + $502 = HEAP32[$nCol>>2]|0; + $503 = ($501|0)<($502|0); + if (!($503)) { break; } - $568 = HEAP32[$1>>2]|0; - $569 = HEAP32[$2>>2]|0; - $570 = HEAP32[$i>>2]|0; - $571 = (_multiSelectCollSeq($568,$569,$570)|0); - $572 = HEAP32[$apColl>>2]|0; - HEAP32[$572>>2] = $571; - $573 = HEAP32[$apColl>>2]|0; - $574 = HEAP32[$573>>2]|0; - $575 = (0|0)==($574|0); - if ($575) { - $576 = HEAP32[$db>>2]|0; - $577 = ((($576)) + 8|0); - $578 = HEAP32[$577>>2]|0; - $579 = HEAP32[$apColl>>2]|0; - HEAP32[$579>>2] = $578; - } - $580 = HEAP32[$i>>2]|0; - $581 = (($580) + 1)|0; - HEAP32[$i>>2] = $581; - $582 = HEAP32[$apColl>>2]|0; - $583 = ((($582)) + 4|0); - HEAP32[$apColl>>2] = $583; - } - $584 = HEAP32[$2>>2]|0; - HEAP32[$pLoop>>2] = $584; + $504 = HEAP32[$1>>2]|0; + $505 = HEAP32[$2>>2]|0; + $506 = HEAP32[$i>>2]|0; + $507 = (_multiSelectCollSeq($504,$505,$506)|0); + $508 = HEAP32[$apColl>>2]|0; + HEAP32[$508>>2] = $507; + $509 = HEAP32[$apColl>>2]|0; + $510 = HEAP32[$509>>2]|0; + $511 = (0|0)==($510|0); + if ($511) { + $512 = HEAP32[$db>>2]|0; + $513 = ((($512)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[$apColl>>2]|0; + HEAP32[$515>>2] = $514; + } + $516 = HEAP32[$i>>2]|0; + $517 = (($516) + 1)|0; + HEAP32[$i>>2] = $517; + $518 = HEAP32[$apColl>>2]|0; + $519 = ((($518)) + 4|0); + HEAP32[$apColl>>2] = $519; + } + $520 = HEAP32[$2>>2]|0; + HEAP32[$pLoop>>2] = $520; while(1) { - $585 = HEAP32[$pLoop>>2]|0; - $586 = ($585|0)!=(0|0); - if (!($586)) { + $521 = HEAP32[$pLoop>>2]|0; + $522 = ($521|0)!=(0|0); + if (!($522)) { break; } HEAP32[$i>>2] = 0; while(1) { - $587 = HEAP32[$i>>2]|0; - $588 = ($587|0)<(2); - if (!($588)) { + $523 = HEAP32[$i>>2]|0; + $524 = ($523|0)<(2); + if (!($524)) { break; } - $589 = HEAP32[$i>>2]|0; - $590 = HEAP32[$pLoop>>2]|0; - $591 = ((($590)) + 16|0); - $592 = (($591) + ($589<<2)|0); - $593 = HEAP32[$592>>2]|0; - HEAP32[$addr9>>2] = $593; - $594 = HEAP32[$addr9>>2]|0; - $595 = ($594|0)<(0); - if ($595) { + $525 = HEAP32[$i>>2]|0; + $526 = HEAP32[$pLoop>>2]|0; + $527 = ((($526)) + 20|0); + $528 = (($527) + ($525<<2)|0); + $529 = HEAP32[$528>>2]|0; + HEAP32[$addr9>>2] = $529; + $530 = HEAP32[$addr9>>2]|0; + $531 = ($530|0)<(0); + if ($531) { break; } - $596 = HEAP32[$v>>2]|0; - $597 = HEAP32[$addr9>>2]|0; - $598 = HEAP32[$nCol>>2]|0; - _sqlite3VdbeChangeP2($596,$597,$598); - $599 = HEAP32[$v>>2]|0; - $600 = HEAP32[$addr9>>2]|0; - $601 = HEAP32[$pKeyInfo>>2]|0; - $602 = (_sqlite3KeyInfoRef($601)|0); - _sqlite3VdbeChangeP4($599,$600,$602,-6); - $603 = HEAP32[$i>>2]|0; - $604 = HEAP32[$pLoop>>2]|0; - $605 = ((($604)) + 16|0); - $606 = (($605) + ($603<<2)|0); - HEAP32[$606>>2] = -1; - $607 = HEAP32[$i>>2]|0; - $608 = (($607) + 1)|0; - HEAP32[$i>>2] = $608; - } - $609 = HEAP32[$pLoop>>2]|0; - $610 = ((($609)) + 52|0); - $611 = HEAP32[$610>>2]|0; - HEAP32[$pLoop>>2] = $611; - } - $612 = HEAP32[$pKeyInfo>>2]|0; - _sqlite3KeyInfoUnref($612); + $532 = HEAP32[$v>>2]|0; + $533 = HEAP32[$addr9>>2]|0; + $534 = HEAP32[$nCol>>2]|0; + _sqlite3VdbeChangeP2($532,$533,$534); + $535 = HEAP32[$v>>2]|0; + $536 = HEAP32[$addr9>>2]|0; + $537 = HEAP32[$pKeyInfo>>2]|0; + $538 = (_sqlite3KeyInfoRef($537)|0); + _sqlite3VdbeChangeP4($535,$536,$538,-6); + $539 = HEAP32[$i>>2]|0; + $540 = HEAP32[$pLoop>>2]|0; + $541 = ((($540)) + 20|0); + $542 = (($541) + ($539<<2)|0); + HEAP32[$542>>2] = -1; + $543 = HEAP32[$i>>2]|0; + $544 = (($543) + 1)|0; + HEAP32[$i>>2] = $544; + } + $545 = HEAP32[$pLoop>>2]|0; + $546 = ((($545)) + 48|0); + $547 = HEAP32[$546>>2]|0; + HEAP32[$pLoop>>2] = $547; + } + $548 = HEAP32[$pKeyInfo>>2]|0; + _sqlite3KeyInfoUnref($548); } } } while(0); - $613 = ((($dest)) + 8|0); - $614 = HEAP32[$613>>2]|0; - $615 = HEAP32[$3>>2]|0; - $616 = ((($615)) + 8|0); - HEAP32[$616>>2] = $614; - $617 = ((($dest)) + 12|0); - $618 = HEAP32[$617>>2]|0; - $619 = HEAP32[$3>>2]|0; - $620 = ((($619)) + 12|0); - HEAP32[$620>>2] = $618; - $621 = HEAP32[$db>>2]|0; - $622 = HEAP32[$pDelete>>2]|0; - _sqlite3SelectDelete($621,$622); - $623 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $623; - $624 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($624|0); + $549 = ((($dest)) + 8|0); + $550 = HEAP32[$549>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = ((($551)) + 8|0); + HEAP32[$552>>2] = $550; + $553 = ((($dest)) + 12|0); + $554 = HEAP32[$553>>2]|0; + $555 = HEAP32[$3>>2]|0; + $556 = ((($555)) + 12|0); + HEAP32[$556>>2] = $554; + $557 = HEAP32[$db>>2]|0; + $558 = HEAP32[$pDelete>>2]|0; + _sqlite3SelectDelete($557,$558); + $559 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $559; + $560 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($560|0); } function _sqlite3SelectExprHeight($p) { $p = $p|0; @@ -198958,7 +200406,7 @@ function _pushDownWhereTerms($db,$pSubq,$pWhere,$iCursor) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $nChng = 0, $pNew = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $nChng = 0, $pNew = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -198977,108 +200425,107 @@ function _pushDownWhereTerms($db,$pSubq,$pWhere,$iCursor) { $6 = ($5|0)==(0|0); if ($6) { HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 6|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = $10 & 8200; - $12 = ($11|0)!=(0); - if ($12) { + $8 = ((($7)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9 & 8200; + $11 = ($10|0)!=(0); + if ($11) { HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - if ($16) { + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 56|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)!=(0|0); + if ($15) { HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } while(1) { - $17 = HEAP32[$3>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(72); - if (!($20)) { + $16 = HEAP32[$3>>2]|0; + $17 = HEAP8[$16>>0]|0; + $18 = $17&255; + $19 = ($18|0)==(72); + if (!($19)) { break; } - $21 = HEAP32[$1>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$3>>2]|0; - $24 = ((($23)) + 16|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$4>>2]|0; - $27 = (_pushDownWhereTerms($21,$22,$25,$26)|0); - $28 = HEAP32[$nChng>>2]|0; - $29 = (($28) + ($27))|0; - HEAP32[$nChng>>2] = $29; - $30 = HEAP32[$3>>2]|0; - $31 = ((($30)) + 12|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$3>>2] = $32; + $20 = HEAP32[$1>>2]|0; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$3>>2]|0; + $23 = ((($22)) + 16|0); + $24 = HEAP32[$23>>2]|0; + $25 = HEAP32[$4>>2]|0; + $26 = (_pushDownWhereTerms($20,$21,$24,$25)|0); + $27 = HEAP32[$nChng>>2]|0; + $28 = (($27) + ($26))|0; + HEAP32[$nChng>>2] = $28; + $29 = HEAP32[$3>>2]|0; + $30 = ((($29)) + 12|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$3>>2] = $31; } - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 & 1; - $37 = ($36|0)!=(0); - if ($37) { + $32 = HEAP32[$3>>2]|0; + $33 = ((($32)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = $34 & 1; + $36 = ($35|0)!=(0); + if ($36) { HEAP32[$0>>2] = 0; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } - $38 = HEAP32[$3>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = (_sqlite3ExprIsTableConstant($38,$39)|0); - $41 = ($40|0)!=(0); + $37 = HEAP32[$3>>2]|0; + $38 = HEAP32[$4>>2]|0; + $39 = (_sqlite3ExprIsTableConstant($37,$38)|0); + $40 = ($39|0)!=(0); L20: do { - if ($41) { - $42 = HEAP32[$nChng>>2]|0; - $43 = (($42) + 1)|0; - HEAP32[$nChng>>2] = $43; + if ($40) { + $41 = HEAP32[$nChng>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$nChng>>2] = $42; while(1) { - $44 = HEAP32[$2>>2]|0; - $45 = ($44|0)!=(0|0); - if (!($45)) { + $43 = HEAP32[$2>>2]|0; + $44 = ($43|0)!=(0|0); + if (!($44)) { break L20; } - $46 = HEAP32[$1>>2]|0; - $47 = HEAP32[$3>>2]|0; - $48 = (_sqlite3ExprDup($46,$47,0)|0); - HEAP32[$pNew>>2] = $48; - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$pNew>>2]|0; - $51 = HEAP32[$4>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = HEAP32[$52>>2]|0; - $54 = (_substExpr($49,$50,$51,$53)|0); - HEAP32[$pNew>>2] = $54; - $55 = HEAP32[$1>>2]|0; - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 36|0); - $58 = HEAP32[$57>>2]|0; - $59 = HEAP32[$pNew>>2]|0; - $60 = (_sqlite3ExprAnd($55,$58,$59)|0); - $61 = HEAP32[$2>>2]|0; - $62 = ((($61)) + 36|0); - HEAP32[$62>>2] = $60; - $63 = HEAP32[$2>>2]|0; - $64 = ((($63)) + 52|0); - $65 = HEAP32[$64>>2]|0; - HEAP32[$2>>2] = $65; + $45 = HEAP32[$1>>2]|0; + $46 = HEAP32[$3>>2]|0; + $47 = (_sqlite3ExprDup($45,$46,0)|0); + HEAP32[$pNew>>2] = $47; + $48 = HEAP32[$1>>2]|0; + $49 = HEAP32[$pNew>>2]|0; + $50 = HEAP32[$4>>2]|0; + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (_substExpr($48,$49,$50,$52)|0); + HEAP32[$pNew>>2] = $53; + $54 = HEAP32[$1>>2]|0; + $55 = HEAP32[$2>>2]|0; + $56 = ((($55)) + 32|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$pNew>>2]|0; + $59 = (_sqlite3ExprAnd($54,$57,$58)|0); + $60 = HEAP32[$2>>2]|0; + $61 = ((($60)) + 32|0); + HEAP32[$61>>2] = $59; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 48|0); + $64 = HEAP32[$63>>2]|0; + HEAP32[$2>>2] = $64; } } } while(0); - $66 = HEAP32[$nChng>>2]|0; - HEAP32[$0>>2] = $66; - $67 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($67|0); + $65 = HEAP32[$nChng>>2]|0; + HEAP32[$0>>2] = $65; + $66 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($66|0); } function _sqlite3ClearTempRegCache($pParse) { $pParse = $pParse|0; @@ -199205,8 +200652,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $iLimit = 0, $iOffset = 0, $n = 0, $v = 0, label = 0; - var sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $iLimit = 0, $iOffset = 0, $n = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -199222,7 +200668,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { HEAP32[$v>>2] = 0; HEAP32[$iLimit>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 8|0); + $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0); if ($6) { @@ -199231,7 +200677,7 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $7 = HEAP32[$0>>2]|0; _sqlite3ExprCacheClear($7); $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 60|0); + $9 = ((($8)) + 56|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if (!($11)) { @@ -199244,13 +200690,13 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { HEAP32[$13>>2] = $15; HEAP32[$iLimit>>2] = $15; $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 8|0); + $17 = ((($16)) + 12|0); HEAP32[$17>>2] = $15; $18 = HEAP32[$0>>2]|0; $19 = (_sqlite3GetVdbe($18)|0); HEAP32[$v>>2] = $19; $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 60|0); + $21 = ((($20)) + 56|0); $22 = HEAP32[$21>>2]|0; $23 = (_sqlite3ExprIsInteger($22,$n)|0); $24 = ($23|0)!=(0); @@ -199272,87 +200718,82 @@ function _computeLimitRegisters($pParse,$p,$iBreak) { $33 = ($32|0)>=(0); if ($33) { $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 24|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = HEAP32[$n>>2]|0; - $43 = ($42|0)<(0); - $44 = $43 << 31 >> 31; - $45 = ($41>>>0)>($44>>>0); - $46 = ($38>>>0)>($42>>>0); - $47 = ($41|0)==($44|0); - $48 = $47 & $46; - $49 = $45 | $48; - if ($49) { - $50 = HEAP32[$n>>2]|0; - $51 = ($50|0)<(0); - $52 = $51 << 31 >> 31; - $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 24|0); - $55 = $54; - $56 = $55; - HEAP32[$56>>2] = $50; - $57 = (($55) + 4)|0; - $58 = $57; - HEAP32[$58>>2] = $52; + $35 = ((($34)) + 6|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36 << 16 >> 16; + $38 = HEAP32[$n>>2]|0; + $39 = ($38|0)<(0); + $40 = $39 << 31 >> 31; + $41 = (_sqlite3LogEst($38,$40)|0); + $42 = $41 << 16 >> 16; + $43 = ($37|0)>($42|0); + if ($43) { + $44 = HEAP32[$n>>2]|0; + $45 = ($44|0)<(0); + $46 = $45 << 31 >> 31; + $47 = (_sqlite3LogEst($44,$46)|0); + $48 = HEAP32[$1>>2]|0; + $49 = ((($48)) + 6|0); + HEAP16[$49>>1] = $47; + $50 = HEAP32[$1>>2]|0; + $51 = ((($50)) + 8|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 16384; + HEAP32[$51>>2] = $53; } } } else { - $59 = HEAP32[$0>>2]|0; - $60 = HEAP32[$1>>2]|0; - $61 = ((($60)) + 60|0); - $62 = HEAP32[$61>>2]|0; - $63 = HEAP32[$iLimit>>2]|0; - _sqlite3ExprCode($59,$62,$63); - $64 = HEAP32[$v>>2]|0; - $65 = HEAP32[$iLimit>>2]|0; - (_sqlite3VdbeAddOp1($64,38,$65)|0); - $66 = HEAP32[$v>>2]|0; - $67 = HEAP32[$iLimit>>2]|0; - $68 = HEAP32[$2>>2]|0; - (_sqlite3VdbeAddOp2($66,46,$67,$68)|0); + $54 = HEAP32[$0>>2]|0; + $55 = HEAP32[$1>>2]|0; + $56 = ((($55)) + 56|0); + $57 = HEAP32[$56>>2]|0; + $58 = HEAP32[$iLimit>>2]|0; + _sqlite3ExprCode($54,$57,$58); + $59 = HEAP32[$v>>2]|0; + $60 = HEAP32[$iLimit>>2]|0; + (_sqlite3VdbeAddOp1($59,38,$60)|0); + $61 = HEAP32[$v>>2]|0; + $62 = HEAP32[$iLimit>>2]|0; + $63 = HEAP32[$2>>2]|0; + (_sqlite3VdbeAddOp2($61,46,$62,$63)|0); } } while(0); - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 64|0); - $71 = HEAP32[$70>>2]|0; - $72 = ($71|0)!=(0|0); - if (!($72)) { + $64 = HEAP32[$1>>2]|0; + $65 = ((($64)) + 60|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)!=(0|0); + if (!($67)) { STACKTOP = sp;return; } - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 76|0); - $75 = HEAP32[$74>>2]|0; - $76 = (($75) + 1)|0; - HEAP32[$74>>2] = $76; - HEAP32[$iOffset>>2] = $76; - $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 12|0); - HEAP32[$78>>2] = $76; - $79 = HEAP32[$0>>2]|0; - $80 = ((($79)) + 76|0); + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 76|0); + $70 = HEAP32[$69>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$69>>2] = $71; + HEAP32[$iOffset>>2] = $71; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 16|0); + HEAP32[$73>>2] = $71; + $74 = HEAP32[$0>>2]|0; + $75 = ((($74)) + 76|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($76) + 1)|0; + HEAP32[$75>>2] = $77; + $78 = HEAP32[$0>>2]|0; + $79 = HEAP32[$1>>2]|0; + $80 = ((($79)) + 60|0); $81 = HEAP32[$80>>2]|0; - $82 = (($81) + 1)|0; - HEAP32[$80>>2] = $82; - $83 = HEAP32[$0>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 64|0); - $86 = HEAP32[$85>>2]|0; + $82 = HEAP32[$iOffset>>2]|0; + _sqlite3ExprCode($78,$81,$82); + $83 = HEAP32[$v>>2]|0; + $84 = HEAP32[$iOffset>>2]|0; + (_sqlite3VdbeAddOp1($83,38,$84)|0); + $85 = HEAP32[$v>>2]|0; + $86 = HEAP32[$iLimit>>2]|0; $87 = HEAP32[$iOffset>>2]|0; - _sqlite3ExprCode($83,$86,$87); - $88 = HEAP32[$v>>2]|0; + $88 = (($87) + 1)|0; $89 = HEAP32[$iOffset>>2]|0; - (_sqlite3VdbeAddOp1($88,38,$89)|0); - $90 = HEAP32[$v>>2]|0; - $91 = HEAP32[$iLimit>>2]|0; - $92 = HEAP32[$iOffset>>2]|0; - $93 = (($92) + 1)|0; - $94 = HEAP32[$iOffset>>2]|0; - (_sqlite3VdbeAddOp3($90,139,$91,$93,$94)|0); + (_sqlite3VdbeAddOp3($85,139,$86,$88,$89)|0); STACKTOP = sp;return; } function _sqlite3VdbeChangeOpcode($p,$addr,$iNewOpcode) { @@ -199377,7 +200818,7 @@ function _sqlite3VdbeChangeOpcode($p,$addr,$iNewOpcode) { } function _sqlite3WhereOutputRowCount($pWInfo) { $pWInfo = $pWInfo|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp; @@ -199385,10 +200826,7 @@ function _sqlite3WhereOutputRowCount($pWInfo) { $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 32|0); $3 = HEAP16[$2>>1]|0; - $4 = (_sqlite3LogEstToInt($3)|0); - $5 = tempRet0; - tempRet0 = ($5); - STACKTOP = sp;return ($4|0); + STACKTOP = sp;return ($3|0); } function _sqlite3WhereIsDistinct($pWInfo) { $pWInfo = $pWInfo|0; @@ -199398,7 +200836,7 @@ function _sqlite3WhereIsDistinct($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); + $2 = ((($1)) + 42|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -199411,7 +200849,7 @@ function _sqlite3WhereIsOrdered($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 36|0); + $2 = ((($1)) + 38|0); $3 = HEAP8[$2>>0]|0; $4 = $3 << 24 >> 24; STACKTOP = sp;return ($4|0); @@ -199560,7 +200998,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i if (!($or$cond)) { $34 = HEAP32[$v>>2]|0; $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 12|0); + $36 = ((($35)) + 16|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$7>>2]|0; _codeOffset($34,$37,$38); @@ -199810,7 +201248,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i if ($202) { $203 = HEAP32[$v>>2]|0; $204 = HEAP32[$1>>2]|0; - $205 = ((($204)) + 12|0); + $205 = ((($204)) + 16|0); $206 = HEAP32[$205>>2]|0; $207 = HEAP32[$7>>2]|0; _codeOffset($203,$206,$207); @@ -200134,7 +201572,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i STACKTOP = sp;return; } $412 = HEAP32[$1>>2]|0; - $413 = ((($412)) + 8|0); + $413 = ((($412)) + 12|0); $414 = HEAP32[$413>>2]|0; $415 = ($414|0)!=(0); if (!($415)) { @@ -200142,7 +201580,7 @@ function _selectInnerLoop($pParse,$p,$pEList,$srcTab,$pSort,$pDistinct,$pDest,$i } $416 = HEAP32[$v>>2]|0; $417 = HEAP32[$1>>2]|0; - $418 = ((($417)) + 8|0); + $418 = ((($417)) + 12|0); $419 = HEAP32[$418>>2]|0; $420 = HEAP32[$8>>2]|0; (_sqlite3VdbeAddOp2($416,141,$419,$420)|0); @@ -200245,7 +201683,7 @@ function _explainTempTable($pParse,$zUsage) { $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - $13 = (_sqlite3MPrintf($11,36633,$vararg_buffer)|0); + $13 = (_sqlite3MPrintf($11,36286,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $13; $14 = HEAP32[$v>>2]|0; $15 = HEAP32[$0>>2]|0; @@ -200263,7 +201701,7 @@ function _sqlite3WhereIsSorted($pWInfo) { $0 = sp; HEAP32[$0>>2] = $pWInfo; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 37|0); + $2 = ((($1)) + 39|0); $3 = HEAP8[$2>>0]|0; $4 = $3&255; STACKTOP = sp;return ($4|0); @@ -200707,7 +202145,7 @@ function _resetAccumulator($pParse,$pAggInfo) { } } $44 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($44,36582,$vararg_buffer); + _sqlite3ErrorMsg($44,36235,$vararg_buffer); $45 = HEAP32[$pFunc>>2]|0; $46 = ((($45)) + 12|0); HEAP32[$46>>2] = -1; @@ -200739,7 +202177,7 @@ function _isSimpleCount($p,$pAggInfo) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pAggInfo; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 36|0); + $4 = ((($3)) + 32|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { @@ -200749,13 +202187,13 @@ function _isSimpleCount($p,$pAggInfo) { $10 = ($9|0)!=(1); if (!($10)) { $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 32|0); + $12 = ((($11)) + 28|0); $13 = HEAP32[$12>>2]|0; $14 = HEAP32[$13>>2]|0; $15 = ($14|0)!=(1); if (!($15)) { $16 = HEAP32[$1>>2]|0; - $17 = ((($16)) + 32|0); + $17 = ((($16)) + 28|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); $20 = ((($19)) + 20|0); @@ -200763,7 +202201,7 @@ function _isSimpleCount($p,$pAggInfo) { $22 = ($21|0)!=(0|0); if (!($22)) { $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 32|0); + $24 = ((($23)) + 28|0); $25 = HEAP32[$24>>2]|0; $26 = ((($25)) + 8|0); $27 = ((($26)) + 16|0); @@ -200900,7 +202338,7 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $28 = HEAP32[$27>>2]|0; $29 = HEAP32[$bCover>>2]|0; $30 = ($29|0)!=(0); - $31 = $30 ? 36541 : 19266; + $31 = $30 ? 36194 : 19010; $32 = HEAP32[$bCover>>2]|0; $33 = ($32|0)!=(0); if ($33) { @@ -200908,14 +202346,14 @@ function _explainSimpleCount($pParse,$pTab,$pIdx) { $35 = HEAP32[$34>>2]|0; $36 = $35; } else { - $36 = 19266; + $36 = 19010; } HEAP32[$vararg_buffer>>2] = $28; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $31; $vararg_ptr2 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr2>>2] = $36; - $37 = (_sqlite3MPrintf($26,36564,$vararg_buffer)|0); + $37 = (_sqlite3MPrintf($26,36217,$vararg_buffer)|0); HEAP32[$zEqp>>2] = $37; $38 = HEAP32[$0>>2]|0; $39 = ((($38)) + 8|0); @@ -200981,7 +202419,7 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { $28 = HEAP32[$27>>2]|0; HEAP32[$zFunc>>2] = $28; $29 = HEAP32[$zFunc>>2]|0; - $30 = (_sqlite3_stricmp($29,36533)|0); + $30 = (_sqlite3StrICmp($29,36186)|0); $31 = ($30|0)==(0); if ($31) { HEAP32[$eRet>>2] = 1; @@ -200991,7 +202429,7 @@ function _minMaxQuery($pAggInfo,$ppMinMax) { break; } $34 = HEAP32[$zFunc>>2]|0; - $35 = (_sqlite3_stricmp($34,36537)|0); + $35 = (_sqlite3StrICmp($34,36190)|0); $36 = ($35|0)==(0); if ($36) { HEAP32[$eRet>>2] = 2; @@ -201183,7 +202621,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { HEAP32[$addr>>2] = $94; $95 = HEAP32[$v>>2]|0; $96 = HEAP32[$1>>2]|0; - $97 = ((($96)) + 12|0); + $97 = ((($96)) + 16|0); $98 = HEAP32[$97>>2]|0; $99 = HEAP32[$addrContinue>>2]|0; _codeOffset($95,$98,$99); @@ -201202,7 +202640,7 @@ function _generateSortTail($pParse,$p,$pSort,$nColumn,$pDest) { HEAP32[$addr>>2] = $108; $109 = HEAP32[$v>>2]|0; $110 = HEAP32[$1>>2]|0; - $111 = ((($110)) + 12|0); + $111 = ((($110)) + 16|0); $112 = HEAP32[$111>>2]|0; $113 = HEAP32[$addrContinue>>2]|0; _codeOffset($109,$112,$113); @@ -201406,7 +202844,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { STACKTOP = sp;return; } $17 = HEAP32[$db>>2]|0; - $18 = ((($17)) + 65|0); + $18 = ((($17)) + 69|0); $19 = HEAP8[$18>>0]|0; $20 = $19&255; $21 = ($20|0)!=(0); @@ -201502,7 +202940,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $155 = HEAP32[$i>>2]|0; $156 = (($155) + 1)|0; HEAP32[$vararg_buffer3>>2] = $156; - $157 = (_sqlite3MPrintf($154,36524,$vararg_buffer3)|0); + $157 = (_sqlite3MPrintf($154,36177,$vararg_buffer3)|0); $160 = $157; } else { $158 = HEAP32[$z>>2]|0; @@ -201567,13 +203005,13 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { $109 = HEAP32[$iCol>>2]|0; $110 = ($109|0)<(0); if ($110) { - HEAP32[$zCol>>2] = 25592; + HEAP32[$zCol>>2] = 25353; } else { $111 = HEAP32[$iCol>>2]|0; $112 = HEAP32[$pTab>>2]|0; $113 = ((($112)) + 4|0); $114 = HEAP32[$113>>2]|0; - $115 = (($114) + (($111*24)|0)|0); + $115 = (($114) + ($111<<4)|0); $116 = HEAP32[$115>>2]|0; HEAP32[$zCol>>2] = $116; } @@ -201608,7 +203046,7 @@ function _generateColumnNames($pParse,$pTabList,$pEList) { HEAP32[$vararg_buffer>>2] = $136; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $137; - $138 = (_sqlite3MPrintf($134,31016,$vararg_buffer)|0); + $138 = (_sqlite3MPrintf($134,30741,$vararg_buffer)|0); HEAP32[$zName1>>2] = $138; $139 = HEAP32[$v>>2]|0; $140 = HEAP32[$i>>2]|0; @@ -201776,12 +203214,12 @@ function _analyzeAggregate($pWalker,$pExpr) { var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0; - var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $enc = 0, $i = 0, $j = 0, $k = 0, $n = 0, $pAggInfo = 0, $pCol = 0, $pE = 0, $pGB = 0, $pItem = 0, $pItem1 = 0, $pNC = 0; - var $pParse = 0, $pSrcList = 0, $pTerm = 0, label = 0, sp = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $enc = 0, $i = 0, $j = 0, $k = 0, $n = 0, $pAggInfo = 0, $pCol = 0, $pE = 0, $pGB = 0, $pItem = 0, $pItem1 = 0, $pNC = 0, $pParse = 0, $pSrcList = 0, $pTerm = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; $0 = sp + 64|0; @@ -202048,8 +203486,8 @@ function _analyzeAggregate($pWalker,$pExpr) { } } while(0); HEAP32[$0>>2] = 1; - $267 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($267|0); + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); break; } case 153: { @@ -202107,7 +203545,7 @@ function _analyzeAggregate($pWalker,$pExpr) { if ($201) { $202 = HEAP32[$pParse>>2]|0; $203 = HEAP32[$202>>2]|0; - $204 = ((($203)) + 62|0); + $204 = ((($203)) + 66|0); $205 = HEAP8[$204>>0]|0; HEAP8[$enc>>0] = $205; $206 = HEAP32[$pParse>>2]|0; @@ -202141,74 +203579,70 @@ function _analyzeAggregate($pWalker,$pExpr) { $228 = ((($227)) + 8|0); $229 = HEAP32[$228>>2]|0; $230 = HEAP32[$2>>2]|0; - $231 = ((($230)) + 8|0); + $231 = ((($230)) + 20|0); $232 = HEAP32[$231>>2]|0; - $233 = (_sqlite3Strlen30($232)|0); - $234 = HEAP32[$2>>2]|0; - $235 = ((($234)) + 20|0); - $236 = HEAP32[$235>>2]|0; - $237 = ($236|0)!=(0|0); - if ($237) { - $238 = HEAP32[$2>>2]|0; - $239 = ((($238)) + 20|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[$240>>2]|0; - $243 = $241; + $233 = ($232|0)!=(0|0); + if ($233) { + $234 = HEAP32[$2>>2]|0; + $235 = ((($234)) + 20|0); + $236 = HEAP32[$235>>2]|0; + $237 = HEAP32[$236>>2]|0; + $239 = $237; } else { - $243 = 0; + $239 = 0; } - $242 = HEAP8[$enc>>0]|0; - $244 = (_sqlite3FindFunction($226,$229,$233,$243,$242,0)|0); - $245 = HEAP32[$pItem1>>2]|0; - $246 = ((($245)) + 4|0); - HEAP32[$246>>2] = $244; - $247 = HEAP32[$2>>2]|0; - $248 = ((($247)) + 4|0); - $249 = HEAP32[$248>>2]|0; - $250 = $249 & 16; - $251 = ($250|0)!=(0); - if ($251) { - $252 = HEAP32[$pParse>>2]|0; - $253 = ((($252)) + 72|0); - $254 = HEAP32[$253>>2]|0; - $255 = (($254) + 1)|0; - HEAP32[$253>>2] = $255; - $256 = HEAP32[$pItem1>>2]|0; - $257 = ((($256)) + 12|0); - HEAP32[$257>>2] = $254; + $238 = HEAP8[$enc>>0]|0; + $240 = (_sqlite3FindFunction($226,$229,$239,$238,0)|0); + $241 = HEAP32[$pItem1>>2]|0; + $242 = ((($241)) + 4|0); + HEAP32[$242>>2] = $240; + $243 = HEAP32[$2>>2]|0; + $244 = ((($243)) + 4|0); + $245 = HEAP32[$244>>2]|0; + $246 = $245 & 16; + $247 = ($246|0)!=(0); + if ($247) { + $248 = HEAP32[$pParse>>2]|0; + $249 = ((($248)) + 72|0); + $250 = HEAP32[$249>>2]|0; + $251 = (($250) + 1)|0; + HEAP32[$249>>2] = $251; + $252 = HEAP32[$pItem1>>2]|0; + $253 = ((($252)) + 12|0); + HEAP32[$253>>2] = $250; break; } else { - $258 = HEAP32[$pItem1>>2]|0; - $259 = ((($258)) + 12|0); - HEAP32[$259>>2] = -1; + $254 = HEAP32[$pItem1>>2]|0; + $255 = ((($254)) + 12|0); + HEAP32[$255>>2] = -1; break; } } } } while(0); - $260 = HEAP32[$i>>2]|0; - $261 = $260&65535; - $262 = HEAP32[$2>>2]|0; - $263 = ((($262)) + 34|0); - HEAP16[$263>>1] = $261; - $264 = HEAP32[$pAggInfo>>2]|0; - $265 = HEAP32[$2>>2]|0; - $266 = ((($265)) + 40|0); - HEAP32[$266>>2] = $264; + $256 = HEAP32[$i>>2]|0; + $257 = $256&65535; + $258 = HEAP32[$2>>2]|0; + $259 = ((($258)) + 34|0); + HEAP16[$259>>1] = $257; + $260 = HEAP32[$pAggInfo>>2]|0; + $261 = HEAP32[$2>>2]|0; + $262 = ((($261)) + 40|0); + HEAP32[$262>>2] = $260; HEAP32[$0>>2] = 1; - $267 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($267|0); + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); } } HEAP32[$0>>2] = 0; - $267 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($267|0); + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); break; } default: { HEAP32[$0>>2] = 0; - $267 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($267|0); + $263 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($263|0); } } return (0)|0; @@ -202382,17 +203816,17 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n HEAP32[$45>>2] = $47; } $48 = HEAP32[$2>>2]|0; - $49 = ((($48)) + 12|0); + $49 = ((($48)) + 16|0); $50 = HEAP32[$49>>2]|0; $51 = ($50|0)!=(0); $52 = HEAP32[$2>>2]|0; if ($51) { - $53 = ((($52)) + 12|0); + $53 = ((($52)) + 16|0); $54 = HEAP32[$53>>2]|0; $55 = (($54) + 1)|0; $58 = $55; } else { - $56 = ((($52)) + 8|0); + $56 = ((($52)) + 12|0); $57 = HEAP32[$56>>2]|0; $58 = $57; } @@ -202497,7 +203931,7 @@ function _pushOntoSorter($pParse,$pSort,$pSelect,$regData,$regOrigData,$nData,$n HEAP32[$pOp>>2] = $136; $137 = HEAP32[$0>>2]|0; $138 = HEAP32[$137>>2]|0; - $139 = ((($138)) + 65|0); + $139 = ((($138)) + 69|0); $140 = HEAP8[$139>>0]|0; $141 = ($140<<24>>24)!=(0); if ($141) { @@ -202804,40 +204238,40 @@ function _substSelect($db,$p,$iTable,$pEList,$doPrior) { _substExprList($7,$9,$10,$11); $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 40|0); + $14 = ((($13)) + 36|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$2>>2]|0; $17 = HEAP32[$3>>2]|0; _substExprList($12,$15,$16,$17); $18 = HEAP32[$0>>2]|0; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 48|0); + $20 = ((($19)) + 44|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$2>>2]|0; $23 = HEAP32[$3>>2]|0; _substExprList($18,$21,$22,$23); $24 = HEAP32[$0>>2]|0; $25 = HEAP32[$1>>2]|0; - $26 = ((($25)) + 44|0); + $26 = ((($25)) + 40|0); $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$2>>2]|0; $29 = HEAP32[$3>>2]|0; $30 = (_substExpr($24,$27,$28,$29)|0); $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 44|0); + $32 = ((($31)) + 40|0); HEAP32[$32>>2] = $30; $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$1>>2]|0; - $35 = ((($34)) + 36|0); + $35 = ((($34)) + 32|0); $36 = HEAP32[$35>>2]|0; $37 = HEAP32[$2>>2]|0; $38 = HEAP32[$3>>2]|0; $39 = (_substExpr($33,$36,$37,$38)|0); $40 = HEAP32[$1>>2]|0; - $41 = ((($40)) + 36|0); + $41 = ((($40)) + 32|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 32|0); + $43 = ((($42)) + 28|0); $44 = HEAP32[$43>>2]|0; HEAP32[$pSrc>>2] = $44; $45 = HEAP32[$pSrc>>2]|0; @@ -202890,7 +204324,7 @@ function _substSelect($db,$p,$iTable,$pEList,$doPrior) { break; } $77 = HEAP32[$1>>2]|0; - $78 = ((($77)) + 52|0); + $78 = ((($77)) + 48|0); $79 = HEAP32[$78>>2]|0; HEAP32[$1>>2] = $79; $80 = ($79|0)!=(0|0); @@ -202962,8 +204396,8 @@ function _multiSelectValues($pParse,$p,$pDest) { $p = $p|0; $pDest = $pDest|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $nRow = 0, $pPrior = 0, $rc = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $nRow = 0, $pPrior = 0, $rc = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 20|0; @@ -202979,14 +204413,14 @@ function _multiSelectValues($pParse,$p,$pDest) { HEAP32[$rc>>2] = 0; while(1) { $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 52|0); + $4 = ((($3)) + 48|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if ($6) { break; } $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 52|0); + $8 = ((($7)) + 48|0); $9 = HEAP32[$8>>2]|0; HEAP32[$1>>2] = $9; $10 = HEAP32[$nRow>>2]|0; @@ -203001,11 +204435,11 @@ function _multiSelectValues($pParse,$p,$pDest) { break; } $14 = HEAP32[$1>>2]|0; - $15 = ((($14)) + 52|0); + $15 = ((($14)) + 48|0); $16 = HEAP32[$15>>2]|0; HEAP32[$pPrior>>2] = $16; $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 52|0); + $18 = ((($17)) + 48|0); HEAP32[$18>>2] = 0; $19 = HEAP32[$0>>2]|0; $20 = HEAP32[$1>>2]|0; @@ -203014,7 +204448,7 @@ function _multiSelectValues($pParse,$p,$pDest) { HEAP32[$rc>>2] = $22; $23 = HEAP32[$pPrior>>2]|0; $24 = HEAP32[$1>>2]|0; - $25 = ((($24)) + 52|0); + $25 = ((($24)) + 48|0); HEAP32[$25>>2] = $23; $26 = HEAP32[$rc>>2]|0; $27 = ($26|0)!=(0); @@ -203023,24 +204457,18 @@ function _multiSelectValues($pParse,$p,$pDest) { break; } $28 = HEAP32[$nRow>>2]|0; - $29 = ($28|0)<(0); - $30 = $29 << 31 >> 31; - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 24|0); - $33 = $32; - $34 = $33; - HEAP32[$34>>2] = $28; - $35 = (($33) + 4)|0; - $36 = $35; - HEAP32[$36>>2] = $30; - $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 56|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$1>>2] = $39; + $29 = $28&65535; + $30 = HEAP32[$1>>2]|0; + $31 = ((($30)) + 6|0); + HEAP16[$31>>1] = $29; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 52|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$1>>2] = $34; } if ((label|0) == 7) { - $40 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($40|0); + $35 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($35|0); } return (0)|0; } @@ -203053,13 +204481,13 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $21 = 0; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0; - var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; - var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $addrBreak = 0, $addrCont = 0, $addrTop = 0, $destQueue = 0, $eDest = 0, $i = 0, $iCurrent = 0, $iDistinct = 0, $iQueue = 0, $nCol = 0, $pKeyInfo = 0, $pLimit = 0, $pOffset = 0, $pOrderBy = 0, $pSetup = 0; - var $pSrc = 0, $rc = 0, $regCurrent = 0, $regLimit = 0, $regOffset = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0; + var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $addrBreak = 0, $addrCont = 0, $addrTop = 0, $destQueue = 0, $eDest = 0, $i = 0, $iCurrent = 0, $iDistinct = 0, $iQueue = 0, $nCol = 0, $pKeyInfo = 0, $pLimit = 0, $pOffset = 0, $pOrderBy = 0, $pSetup = 0, $pSrc = 0, $rc = 0, $regCurrent = 0; + var $regLimit = 0, $regOffset = 0, $v = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 128|0; $vararg_buffer = sp; @@ -203091,7 +204519,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $pDest; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 32|0); + $4 = ((($3)) + 28|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pSrc>>2] = $5; $6 = HEAP32[$1>>2]|0; @@ -203103,7 +204531,7 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $11 = HEAP32[$10>>2]|0; HEAP32[$v>>2] = $11; $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 52|0); + $13 = ((($12)) + 48|0); $14 = HEAP32[$13>>2]|0; HEAP32[$pSetup>>2] = $14; HEAP32[$iCurrent>>2] = 0; @@ -203123,35 +204551,35 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $22 = HEAP32[$addrBreak>>2]|0; _computeLimitRegisters($20,$21,$22); $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 60|0); + $24 = ((($23)) + 56|0); $25 = HEAP32[$24>>2]|0; HEAP32[$pLimit>>2] = $25; $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 64|0); + $27 = ((($26)) + 60|0); $28 = HEAP32[$27>>2]|0; HEAP32[$pOffset>>2] = $28; $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 8|0); + $30 = ((($29)) + 12|0); $31 = HEAP32[$30>>2]|0; HEAP32[$regLimit>>2] = $31; $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 12|0); + $33 = ((($32)) + 16|0); $34 = HEAP32[$33>>2]|0; HEAP32[$regOffset>>2] = $34; $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 64|0); + $36 = ((($35)) + 60|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$1>>2]|0; - $38 = ((($37)) + 60|0); + $38 = ((($37)) + 56|0); HEAP32[$38>>2] = 0; $39 = HEAP32[$1>>2]|0; - $40 = ((($39)) + 12|0); + $40 = ((($39)) + 16|0); HEAP32[$40>>2] = 0; $41 = HEAP32[$1>>2]|0; - $42 = ((($41)) + 8|0); + $42 = ((($41)) + 12|0); HEAP32[$42>>2] = 0; $43 = HEAP32[$1>>2]|0; - $44 = ((($43)) + 48|0); + $44 = ((($43)) + 44|0); $45 = HEAP32[$44>>2]|0; HEAP32[$pOrderBy>>2] = $45; HEAP32[$i>>2] = 0; @@ -203260,131 +204688,128 @@ function _generateWithRecursiveQuery($pParse,$p,$pDest) { $114 = HEAP32[$iDistinct>>2]|0; $115 = (_sqlite3VdbeAddOp2($113,57,$114,0)|0); $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 16|0); + $117 = ((($116)) + 20|0); HEAP32[$117>>2] = $115; $118 = HEAP32[$1>>2]|0; - $119 = ((($118)) + 6|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = $121 | 16; - $123 = $122&65535; - HEAP16[$119>>1] = $123; + $119 = ((($118)) + 8|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 | 16; + HEAP32[$119>>2] = $121; } - $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 48|0); + $122 = HEAP32[$1>>2]|0; + $123 = ((($122)) + 44|0); + HEAP32[$123>>2] = 0; + $124 = HEAP32[$pSetup>>2]|0; + $125 = ((($124)) + 52|0); HEAP32[$125>>2] = 0; - $126 = HEAP32[$pSetup>>2]|0; - $127 = ((($126)) + 56|0); - HEAP32[$127>>2] = 0; - $128 = HEAP32[$0>>2]|0; - $129 = HEAP32[$pSetup>>2]|0; - $130 = (_sqlite3Select($128,$129,$destQueue)|0); - HEAP32[$rc>>2] = $130; - $131 = HEAP32[$1>>2]|0; - $132 = HEAP32[$pSetup>>2]|0; - $133 = ((($132)) + 56|0); - HEAP32[$133>>2] = $131; - $134 = HEAP32[$rc>>2]|0; - $135 = ($134|0)!=(0); - if (!($135)) { - $136 = HEAP32[$v>>2]|0; - $137 = HEAP32[$iQueue>>2]|0; - $138 = HEAP32[$addrBreak>>2]|0; - $139 = (_sqlite3VdbeAddOp2($136,108,$137,$138)|0); - HEAP32[$addrTop>>2] = $139; - $140 = HEAP32[$v>>2]|0; - $141 = HEAP32[$iCurrent>>2]|0; - (_sqlite3VdbeAddOp1($140,104,$141)|0); - $142 = HEAP32[$pOrderBy>>2]|0; - $143 = ($142|0)!=(0|0); - $144 = HEAP32[$v>>2]|0; - $145 = HEAP32[$iQueue>>2]|0; - if ($143) { - $146 = HEAP32[$pOrderBy>>2]|0; - $147 = HEAP32[$146>>2]|0; - $148 = (($147) + 1)|0; - $149 = HEAP32[$regCurrent>>2]|0; - (_sqlite3VdbeAddOp3($144,47,$145,$148,$149)|0); + $126 = HEAP32[$0>>2]|0; + $127 = HEAP32[$pSetup>>2]|0; + $128 = (_sqlite3Select($126,$127,$destQueue)|0); + HEAP32[$rc>>2] = $128; + $129 = HEAP32[$1>>2]|0; + $130 = HEAP32[$pSetup>>2]|0; + $131 = ((($130)) + 52|0); + HEAP32[$131>>2] = $129; + $132 = HEAP32[$rc>>2]|0; + $133 = ($132|0)!=(0); + if (!($133)) { + $134 = HEAP32[$v>>2]|0; + $135 = HEAP32[$iQueue>>2]|0; + $136 = HEAP32[$addrBreak>>2]|0; + $137 = (_sqlite3VdbeAddOp2($134,108,$135,$136)|0); + HEAP32[$addrTop>>2] = $137; + $138 = HEAP32[$v>>2]|0; + $139 = HEAP32[$iCurrent>>2]|0; + (_sqlite3VdbeAddOp1($138,104,$139)|0); + $140 = HEAP32[$pOrderBy>>2]|0; + $141 = ($140|0)!=(0|0); + $142 = HEAP32[$v>>2]|0; + $143 = HEAP32[$iQueue>>2]|0; + if ($141) { + $144 = HEAP32[$pOrderBy>>2]|0; + $145 = HEAP32[$144>>2]|0; + $146 = (($145) + 1)|0; + $147 = HEAP32[$regCurrent>>2]|0; + (_sqlite3VdbeAddOp3($142,47,$143,$146,$147)|0); } else { - $150 = HEAP32[$regCurrent>>2]|0; - (_sqlite3VdbeAddOp2($144,102,$145,$150)|0); + $148 = HEAP32[$regCurrent>>2]|0; + (_sqlite3VdbeAddOp2($142,102,$143,$148)|0); } + $149 = HEAP32[$v>>2]|0; + $150 = HEAP32[$iQueue>>2]|0; + (_sqlite3VdbeAddOp1($149,95,$150)|0); $151 = HEAP32[$v>>2]|0; - $152 = HEAP32[$iQueue>>2]|0; - (_sqlite3VdbeAddOp1($151,95,$152)|0); + $152 = (_sqlite3VdbeMakeLabel($151)|0); + HEAP32[$addrCont>>2] = $152; $153 = HEAP32[$v>>2]|0; - $154 = (_sqlite3VdbeMakeLabel($153)|0); - HEAP32[$addrCont>>2] = $154; - $155 = HEAP32[$v>>2]|0; - $156 = HEAP32[$regOffset>>2]|0; - $157 = HEAP32[$addrCont>>2]|0; - _codeOffset($155,$156,$157); - $158 = HEAP32[$0>>2]|0; - $159 = HEAP32[$1>>2]|0; - $160 = HEAP32[$1>>2]|0; - $161 = HEAP32[$160>>2]|0; - $162 = HEAP32[$iCurrent>>2]|0; - $163 = HEAP32[$2>>2]|0; - $164 = HEAP32[$addrCont>>2]|0; - $165 = HEAP32[$addrBreak>>2]|0; - _selectInnerLoop($158,$159,$161,$162,0,0,$163,$164,$165); - $166 = HEAP32[$regLimit>>2]|0; - $167 = ($166|0)!=(0); - if ($167) { - $168 = HEAP32[$v>>2]|0; - $169 = HEAP32[$regLimit>>2]|0; - $170 = HEAP32[$addrBreak>>2]|0; - (_sqlite3VdbeAddOp2($168,141,$169,$170)|0); - } - $171 = HEAP32[$v>>2]|0; - $172 = HEAP32[$addrCont>>2]|0; - _sqlite3VdbeResolveLabel($171,$172); - $173 = HEAP32[$1>>2]|0; - $174 = ((($173)) + 6|0); - $175 = HEAP16[$174>>1]|0; - $176 = $175&65535; - $177 = $176 & 8; - $178 = ($177|0)!=(0); - if ($178) { - $179 = HEAP32[$0>>2]|0; - _sqlite3ErrorMsg($179,36805,$vararg_buffer); + $154 = HEAP32[$regOffset>>2]|0; + $155 = HEAP32[$addrCont>>2]|0; + _codeOffset($153,$154,$155); + $156 = HEAP32[$0>>2]|0; + $157 = HEAP32[$1>>2]|0; + $158 = HEAP32[$1>>2]|0; + $159 = HEAP32[$158>>2]|0; + $160 = HEAP32[$iCurrent>>2]|0; + $161 = HEAP32[$2>>2]|0; + $162 = HEAP32[$addrCont>>2]|0; + $163 = HEAP32[$addrBreak>>2]|0; + _selectInnerLoop($156,$157,$159,$160,0,0,$161,$162,$163); + $164 = HEAP32[$regLimit>>2]|0; + $165 = ($164|0)!=(0); + if ($165) { + $166 = HEAP32[$v>>2]|0; + $167 = HEAP32[$regLimit>>2]|0; + $168 = HEAP32[$addrBreak>>2]|0; + (_sqlite3VdbeAddOp2($166,141,$167,$168)|0); + } + $169 = HEAP32[$v>>2]|0; + $170 = HEAP32[$addrCont>>2]|0; + _sqlite3VdbeResolveLabel($169,$170); + $171 = HEAP32[$1>>2]|0; + $172 = ((($171)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 & 8; + $175 = ($174|0)!=(0); + if ($175) { + $176 = HEAP32[$0>>2]|0; + _sqlite3ErrorMsg($176,36458,$vararg_buffer); } else { + $177 = HEAP32[$1>>2]|0; + $178 = ((($177)) + 48|0); + HEAP32[$178>>2] = 0; + $179 = HEAP32[$0>>2]|0; $180 = HEAP32[$1>>2]|0; - $181 = ((($180)) + 52|0); - HEAP32[$181>>2] = 0; - $182 = HEAP32[$0>>2]|0; - $183 = HEAP32[$1>>2]|0; - (_sqlite3Select($182,$183,$destQueue)|0); - $184 = HEAP32[$pSetup>>2]|0; - $185 = HEAP32[$1>>2]|0; - $186 = ((($185)) + 52|0); - HEAP32[$186>>2] = $184; - } - $187 = HEAP32[$v>>2]|0; - $188 = HEAP32[$addrTop>>2]|0; - (_sqlite3VdbeGoto($187,$188)|0); - $189 = HEAP32[$v>>2]|0; - $190 = HEAP32[$addrBreak>>2]|0; - _sqlite3VdbeResolveLabel($189,$190); - } - $191 = HEAP32[$0>>2]|0; + (_sqlite3Select($179,$180,$destQueue)|0); + $181 = HEAP32[$pSetup>>2]|0; + $182 = HEAP32[$1>>2]|0; + $183 = ((($182)) + 48|0); + HEAP32[$183>>2] = $181; + } + $184 = HEAP32[$v>>2]|0; + $185 = HEAP32[$addrTop>>2]|0; + (_sqlite3VdbeGoto($184,$185)|0); + $186 = HEAP32[$v>>2]|0; + $187 = HEAP32[$addrBreak>>2]|0; + _sqlite3VdbeResolveLabel($186,$187); + } + $188 = HEAP32[$0>>2]|0; + $189 = HEAP32[$188>>2]|0; + $190 = HEAP32[$1>>2]|0; + $191 = ((($190)) + 44|0); $192 = HEAP32[$191>>2]|0; - $193 = HEAP32[$1>>2]|0; - $194 = ((($193)) + 48|0); - $195 = HEAP32[$194>>2]|0; - _sqlite3ExprListDelete($192,$195); - $196 = HEAP32[$pOrderBy>>2]|0; + _sqlite3ExprListDelete($189,$192); + $193 = HEAP32[$pOrderBy>>2]|0; + $194 = HEAP32[$1>>2]|0; + $195 = ((($194)) + 44|0); + HEAP32[$195>>2] = $193; + $196 = HEAP32[$pLimit>>2]|0; $197 = HEAP32[$1>>2]|0; - $198 = ((($197)) + 48|0); + $198 = ((($197)) + 56|0); HEAP32[$198>>2] = $196; - $199 = HEAP32[$pLimit>>2]|0; + $199 = HEAP32[$pOffset>>2]|0; $200 = HEAP32[$1>>2]|0; $201 = ((($200)) + 60|0); HEAP32[$201>>2] = $199; - $202 = HEAP32[$pOffset>>2]|0; - $203 = HEAP32[$1>>2]|0; - $204 = ((($203)) + 64|0); - HEAP32[$204>>2] = $202; STACKTOP = sp;return; } function _multiSelectOrderBy($pParse,$p,$pDest) { @@ -203411,14 +204836,13 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0; var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0; var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0; - var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0; - var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0; - var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aPermute = 0, $addr1 = 0, $addrAeqB = 0, $addrAgtB = 0, $addrAltB = 0, $addrEofA = 0, $addrEofA_noB = 0, $addrEofB = 0, $addrOutA = 0, $addrOutB = 0, $addrSelectA = 0, $addrSelectB = 0, $db = 0; - var $destA = 0, $destB = 0, $i = 0, $iSub1 = 0, $iSub2 = 0, $j = 0, $labelCmpr = 0, $labelEnd = 0, $nExpr = 0, $nOrderBy = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $pFirst = 0, $pItem = 0, $pItem1 = 0, $pKeyDup = 0, $pKeyMerge = 0; - var $pNew = 0, $pOrderBy = 0, $pPrior = 0, $regAddrA = 0, $regAddrB = 0, $regLimitA = 0, $regLimitB = 0, $regOutA = 0, $regOutB = 0, $regPrev = 0, $savedLimit = 0, $savedOffset = 0, $v = 0, label = 0, sp = 0; + var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aPermute = 0, $addr1 = 0, $addrAeqB = 0, $addrAgtB = 0, $addrAltB = 0, $addrEofA = 0, $addrEofA_noB = 0; + var $addrEofB = 0, $addrOutA = 0, $addrOutB = 0, $addrSelectA = 0, $addrSelectB = 0, $db = 0, $destA = 0, $destB = 0, $i = 0, $iSub1 = 0, $iSub2 = 0, $j = 0, $labelCmpr = 0, $labelEnd = 0, $nExpr = 0, $nOrderBy = 0, $op = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0; + var $or$cond7 = 0, $pFirst = 0, $pItem = 0, $pItem1 = 0, $pKeyDup = 0, $pKeyMerge = 0, $pNew = 0, $pOrderBy = 0, $pPrior = 0, $regAddrA = 0, $regAddrB = 0, $regLimitA = 0, $regLimitB = 0, $regOutA = 0, $regOutB = 0, $regPrev = 0, $savedLimit = 0, $savedOffset = 0, $v = 0, label = 0; + var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; $0 = sp + 212|0; @@ -203491,11 +204915,11 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $16 = $15&255; HEAP32[$op>>2] = $16; $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 52|0); + $18 = ((($17)) + 48|0); $19 = HEAP32[$18>>2]|0; HEAP32[$pPrior>>2] = $19; $20 = HEAP32[$2>>2]|0; - $21 = ((($20)) + 48|0); + $21 = ((($20)) + 44|0); $22 = HEAP32[$21>>2]|0; HEAP32[$pOrderBy>>2] = $22; $23 = HEAP32[$pOrderBy>>2]|0; @@ -203508,7 +204932,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$i>>2] = 1; while(1) { $27 = HEAP32[$db>>2]|0; - $28 = ((($27)) + 65|0); + $28 = ((($27)) + 69|0); $29 = HEAP8[$28>>0]|0; $30 = $29&255; $31 = ($30|0)==(0); @@ -203598,8 +205022,8 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$i>>2] = $83; } HEAP32[$0>>2] = 7; - $506 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($506|0); + $472 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($472|0); } } while(0); $84 = HEAP32[$db>>2]|0; @@ -203651,14 +205075,14 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } $114 = HEAP32[$pOrderBy>>2]|0; $115 = HEAP32[$2>>2]|0; - $116 = ((($115)) + 48|0); + $116 = ((($115)) + 44|0); HEAP32[$116>>2] = $114; $117 = HEAP32[$1>>2]|0; $118 = HEAP32[$117>>2]|0; $119 = HEAP32[$pOrderBy>>2]|0; $120 = (_sqlite3ExprListDup($118,$119,0)|0); $121 = HEAP32[$pPrior>>2]|0; - $122 = ((($121)) + 48|0); + $122 = ((($121)) + 44|0); HEAP32[$122>>2] = $120; $123 = HEAP32[$op>>2]|0; $124 = ($123|0)==(116); @@ -203723,35 +205147,35 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } } while(0); $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 52|0); + $164 = ((($163)) + 48|0); HEAP32[$164>>2] = 0; $165 = HEAP32[$pPrior>>2]|0; - $166 = ((($165)) + 56|0); + $166 = ((($165)) + 52|0); HEAP32[$166>>2] = 0; $167 = HEAP32[$1>>2]|0; $168 = HEAP32[$2>>2]|0; $169 = HEAP32[$2>>2]|0; - $170 = ((($169)) + 48|0); + $170 = ((($169)) + 44|0); $171 = HEAP32[$170>>2]|0; - (_sqlite3ResolveOrderGroupBy($167,$168,$171,29962)|0); + (_sqlite3ResolveOrderGroupBy($167,$168,$171,29687)|0); $172 = HEAP32[$pPrior>>2]|0; - $173 = ((($172)) + 52|0); + $173 = ((($172)) + 48|0); $174 = HEAP32[$173>>2]|0; $175 = ($174|0)==(0|0); if ($175) { $176 = HEAP32[$1>>2]|0; $177 = HEAP32[$pPrior>>2]|0; $178 = HEAP32[$pPrior>>2]|0; - $179 = ((($178)) + 48|0); + $179 = ((($178)) + 44|0); $180 = HEAP32[$179>>2]|0; - (_sqlite3ResolveOrderGroupBy($176,$177,$180,29962)|0); + (_sqlite3ResolveOrderGroupBy($176,$177,$180,29687)|0); } $181 = HEAP32[$1>>2]|0; $182 = HEAP32[$2>>2]|0; $183 = HEAP32[$labelEnd>>2]|0; _computeLimitRegisters($181,$182,$183); $184 = HEAP32[$2>>2]|0; - $185 = ((($184)) + 8|0); + $185 = ((($184)) + 12|0); $186 = HEAP32[$185>>2]|0; $187 = ($186|0)!=(0); $188 = HEAP32[$op>>2]|0; @@ -203772,17 +205196,17 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$regLimitB>>2] = $197; $198 = HEAP32[$v>>2]|0; $199 = HEAP32[$2>>2]|0; - $200 = ((($199)) + 12|0); + $200 = ((($199)) + 16|0); $201 = HEAP32[$200>>2]|0; $202 = ($201|0)!=(0); $203 = HEAP32[$2>>2]|0; if ($202) { - $204 = ((($203)) + 12|0); + $204 = ((($203)) + 16|0); $205 = HEAP32[$204>>2]|0; $206 = (($205) + 1)|0; $210 = $206; } else { - $207 = ((($203)) + 8|0); + $207 = ((($203)) + 12|0); $208 = HEAP32[$207>>2]|0; $210 = $208; } @@ -203798,19 +205222,19 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { } $214 = HEAP32[$db>>2]|0; $215 = HEAP32[$2>>2]|0; - $216 = ((($215)) + 60|0); + $216 = ((($215)) + 56|0); $217 = HEAP32[$216>>2]|0; _sqlite3ExprDelete($214,$217); $218 = HEAP32[$2>>2]|0; - $219 = ((($218)) + 60|0); + $219 = ((($218)) + 56|0); HEAP32[$219>>2] = 0; $220 = HEAP32[$db>>2]|0; $221 = HEAP32[$2>>2]|0; - $222 = ((($221)) + 64|0); + $222 = ((($221)) + 60|0); $223 = HEAP32[$222>>2]|0; _sqlite3ExprDelete($220,$223); $224 = HEAP32[$2>>2]|0; - $225 = ((($224)) + 64|0); + $225 = ((($224)) + 60|0); HEAP32[$225>>2] = 0; $226 = HEAP32[$1>>2]|0; $227 = ((($226)) + 76|0); @@ -203851,7 +205275,7 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { HEAP32[$addr1>>2] = $250; $251 = HEAP32[$regLimitA>>2]|0; $252 = HEAP32[$pPrior>>2]|0; - $253 = ((($252)) + 8|0); + $253 = ((($252)) + 12|0); HEAP32[$253>>2] = $251; $254 = HEAP32[$1>>2]|0; $255 = ((($254)) + 472|0); @@ -203876,19 +205300,19 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $269 = (_sqlite3VdbeAddOp3($266,16,$267,0,$268)|0); HEAP32[$addr1>>2] = $269; $270 = HEAP32[$2>>2]|0; - $271 = ((($270)) + 8|0); + $271 = ((($270)) + 12|0); $272 = HEAP32[$271>>2]|0; HEAP32[$savedLimit>>2] = $272; $273 = HEAP32[$2>>2]|0; - $274 = ((($273)) + 12|0); + $274 = ((($273)) + 16|0); $275 = HEAP32[$274>>2]|0; HEAP32[$savedOffset>>2] = $275; $276 = HEAP32[$regLimitB>>2]|0; $277 = HEAP32[$2>>2]|0; - $278 = ((($277)) + 8|0); + $278 = ((($277)) + 12|0); HEAP32[$278>>2] = $276; $279 = HEAP32[$2>>2]|0; - $280 = ((($279)) + 12|0); + $280 = ((($279)) + 16|0); HEAP32[$280>>2] = 0; $281 = HEAP32[$1>>2]|0; $282 = ((($281)) + 472|0); @@ -203899,11 +205323,11 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { (_sqlite3Select($284,$285,$destB)|0); $286 = HEAP32[$savedLimit>>2]|0; $287 = HEAP32[$2>>2]|0; - $288 = ((($287)) + 8|0); + $288 = ((($287)) + 12|0); HEAP32[$288>>2] = $286; $289 = HEAP32[$savedOffset>>2]|0; $290 = HEAP32[$2>>2]|0; - $291 = ((($290)) + 12|0); + $291 = ((($290)) + 16|0); HEAP32[$291>>2] = $289; $292 = HEAP32[$v>>2]|0; $293 = HEAP32[$regAddrB>>2]|0; @@ -203958,249 +205382,213 @@ function _multiSelectOrderBy($pParse,$p,$pDest) { $328 = HEAP32[$v>>2]|0; $329 = HEAP32[$addrEofA>>2]|0; (_sqlite3VdbeGoto($328,$329)|0); - $330 = HEAP32[$pPrior>>2]|0; - $331 = ((($330)) + 24|0); - $332 = $331; - $333 = $332; - $334 = HEAP32[$333>>2]|0; - $335 = (($332) + 4)|0; - $336 = $335; - $337 = HEAP32[$336>>2]|0; - $338 = HEAP32[$2>>2]|0; - $339 = ((($338)) + 24|0); - $340 = $339; - $341 = $340; - $342 = HEAP32[$341>>2]|0; - $343 = (($340) + 4)|0; - $344 = $343; - $345 = HEAP32[$344>>2]|0; - $346 = (_i64Add(($342|0),($345|0),($334|0),($337|0))|0); - $347 = tempRet0; - $348 = $339; - $349 = $348; - HEAP32[$349>>2] = $346; - $350 = (($348) + 4)|0; - $351 = $350; - HEAP32[$351>>2] = $347; - } - $352 = HEAP32[$op>>2]|0; - $353 = ($352|0)==(118); - if ($353) { - $354 = HEAP32[$addrEofA>>2]|0; - HEAP32[$addrEofB>>2] = $354; - $355 = HEAP32[$2>>2]|0; - $356 = ((($355)) + 24|0); - $357 = $356; - $358 = $357; - $359 = HEAP32[$358>>2]|0; - $360 = (($357) + 4)|0; - $361 = $360; - $362 = HEAP32[$361>>2]|0; - $363 = HEAP32[$pPrior>>2]|0; - $364 = ((($363)) + 24|0); - $365 = $364; - $366 = $365; - $367 = HEAP32[$366>>2]|0; - $368 = (($365) + 4)|0; - $369 = $368; - $370 = HEAP32[$369>>2]|0; - $371 = ($362>>>0)>($370>>>0); - $372 = ($359>>>0)>($367>>>0); - $373 = ($362|0)==($370|0); - $374 = $373 & $372; - $375 = $371 | $374; - if ($375) { - $376 = HEAP32[$pPrior>>2]|0; - $377 = ((($376)) + 24|0); - $378 = $377; - $379 = $378; - $380 = HEAP32[$379>>2]|0; - $381 = (($378) + 4)|0; - $382 = $381; - $383 = HEAP32[$382>>2]|0; - $384 = HEAP32[$2>>2]|0; - $385 = ((($384)) + 24|0); - $386 = $385; - $387 = $386; - HEAP32[$387>>2] = $380; - $388 = (($386) + 4)|0; - $389 = $388; - HEAP32[$389>>2] = $383; + $330 = HEAP32[$2>>2]|0; + $331 = ((($330)) + 6|0); + $332 = HEAP16[$331>>1]|0; + $333 = HEAP32[$pPrior>>2]|0; + $334 = ((($333)) + 6|0); + $335 = HEAP16[$334>>1]|0; + $336 = (_sqlite3LogEstAdd($332,$335)|0); + $337 = HEAP32[$2>>2]|0; + $338 = ((($337)) + 6|0); + HEAP16[$338>>1] = $336; + } + $339 = HEAP32[$op>>2]|0; + $340 = ($339|0)==(118); + if ($340) { + $341 = HEAP32[$addrEofA>>2]|0; + HEAP32[$addrEofB>>2] = $341; + $342 = HEAP32[$2>>2]|0; + $343 = ((($342)) + 6|0); + $344 = HEAP16[$343>>1]|0; + $345 = $344 << 16 >> 16; + $346 = HEAP32[$pPrior>>2]|0; + $347 = ((($346)) + 6|0); + $348 = HEAP16[$347>>1]|0; + $349 = $348 << 16 >> 16; + $350 = ($345|0)>($349|0); + if ($350) { + $351 = HEAP32[$pPrior>>2]|0; + $352 = ((($351)) + 6|0); + $353 = HEAP16[$352>>1]|0; + $354 = HEAP32[$2>>2]|0; + $355 = ((($354)) + 6|0); + HEAP16[$355>>1] = $353; } } else { - $390 = HEAP32[$v>>2]|0; - $391 = HEAP32[$regOutA>>2]|0; - $392 = HEAP32[$addrOutA>>2]|0; - $393 = (_sqlite3VdbeAddOp2($390,14,$391,$392)|0); - HEAP32[$addrEofB>>2] = $393; - $394 = HEAP32[$v>>2]|0; - $395 = HEAP32[$regAddrA>>2]|0; - $396 = HEAP32[$labelEnd>>2]|0; - (_sqlite3VdbeAddOp2($394,18,$395,$396)|0); - $397 = HEAP32[$v>>2]|0; - $398 = HEAP32[$addrEofB>>2]|0; - (_sqlite3VdbeGoto($397,$398)|0); - } - $399 = HEAP32[$v>>2]|0; - $400 = HEAP32[$regOutA>>2]|0; - $401 = HEAP32[$addrOutA>>2]|0; - $402 = (_sqlite3VdbeAddOp2($399,14,$400,$401)|0); - HEAP32[$addrAltB>>2] = $402; - $403 = HEAP32[$v>>2]|0; - $404 = HEAP32[$regAddrA>>2]|0; - $405 = HEAP32[$addrEofA>>2]|0; - (_sqlite3VdbeAddOp2($403,18,$404,$405)|0); - $406 = HEAP32[$v>>2]|0; - $407 = HEAP32[$labelCmpr>>2]|0; - (_sqlite3VdbeGoto($406,$407)|0); - $408 = HEAP32[$op>>2]|0; - $409 = ($408|0)==(116); + $356 = HEAP32[$v>>2]|0; + $357 = HEAP32[$regOutA>>2]|0; + $358 = HEAP32[$addrOutA>>2]|0; + $359 = (_sqlite3VdbeAddOp2($356,14,$357,$358)|0); + HEAP32[$addrEofB>>2] = $359; + $360 = HEAP32[$v>>2]|0; + $361 = HEAP32[$regAddrA>>2]|0; + $362 = HEAP32[$labelEnd>>2]|0; + (_sqlite3VdbeAddOp2($360,18,$361,$362)|0); + $363 = HEAP32[$v>>2]|0; + $364 = HEAP32[$addrEofB>>2]|0; + (_sqlite3VdbeGoto($363,$364)|0); + } + $365 = HEAP32[$v>>2]|0; + $366 = HEAP32[$regOutA>>2]|0; + $367 = HEAP32[$addrOutA>>2]|0; + $368 = (_sqlite3VdbeAddOp2($365,14,$366,$367)|0); + HEAP32[$addrAltB>>2] = $368; + $369 = HEAP32[$v>>2]|0; + $370 = HEAP32[$regAddrA>>2]|0; + $371 = HEAP32[$addrEofA>>2]|0; + (_sqlite3VdbeAddOp2($369,18,$370,$371)|0); + $372 = HEAP32[$v>>2]|0; + $373 = HEAP32[$labelCmpr>>2]|0; + (_sqlite3VdbeGoto($372,$373)|0); + $374 = HEAP32[$op>>2]|0; + $375 = ($374|0)==(116); do { - if ($409) { - $410 = HEAP32[$addrAltB>>2]|0; - HEAP32[$addrAeqB>>2] = $410; + if ($375) { + $376 = HEAP32[$addrAltB>>2]|0; + HEAP32[$addrAeqB>>2] = $376; } else { - $411 = HEAP32[$op>>2]|0; - $412 = ($411|0)==(118); - if ($412) { - $413 = HEAP32[$addrAltB>>2]|0; - HEAP32[$addrAeqB>>2] = $413; - $414 = HEAP32[$addrAltB>>2]|0; - $415 = (($414) + 1)|0; - HEAP32[$addrAltB>>2] = $415; + $377 = HEAP32[$op>>2]|0; + $378 = ($377|0)==(118); + if ($378) { + $379 = HEAP32[$addrAltB>>2]|0; + HEAP32[$addrAeqB>>2] = $379; + $380 = HEAP32[$addrAltB>>2]|0; + $381 = (($380) + 1)|0; + HEAP32[$addrAltB>>2] = $381; break; } else { - $416 = HEAP32[$v>>2]|0; - $417 = HEAP32[$regAddrA>>2]|0; - $418 = HEAP32[$addrEofA>>2]|0; - $419 = (_sqlite3VdbeAddOp2($416,18,$417,$418)|0); - HEAP32[$addrAeqB>>2] = $419; - $420 = HEAP32[$v>>2]|0; - $421 = HEAP32[$labelCmpr>>2]|0; - (_sqlite3VdbeGoto($420,$421)|0); + $382 = HEAP32[$v>>2]|0; + $383 = HEAP32[$regAddrA>>2]|0; + $384 = HEAP32[$addrEofA>>2]|0; + $385 = (_sqlite3VdbeAddOp2($382,18,$383,$384)|0); + HEAP32[$addrAeqB>>2] = $385; + $386 = HEAP32[$v>>2]|0; + $387 = HEAP32[$labelCmpr>>2]|0; + (_sqlite3VdbeGoto($386,$387)|0); break; } } } while(0); - $422 = HEAP32[$v>>2]|0; - $423 = (_sqlite3VdbeCurrentAddr($422)|0); - HEAP32[$addrAgtB>>2] = $423; - $424 = HEAP32[$op>>2]|0; - $425 = ($424|0)==(116); - $426 = HEAP32[$op>>2]|0; - $427 = ($426|0)==(115); - $or$cond7 = $425 | $427; + $388 = HEAP32[$v>>2]|0; + $389 = (_sqlite3VdbeCurrentAddr($388)|0); + HEAP32[$addrAgtB>>2] = $389; + $390 = HEAP32[$op>>2]|0; + $391 = ($390|0)==(116); + $392 = HEAP32[$op>>2]|0; + $393 = ($392|0)==(115); + $or$cond7 = $391 | $393; if ($or$cond7) { - $428 = HEAP32[$v>>2]|0; - $429 = HEAP32[$regOutB>>2]|0; - $430 = HEAP32[$addrOutB>>2]|0; - (_sqlite3VdbeAddOp2($428,14,$429,$430)|0); - } - $431 = HEAP32[$v>>2]|0; - $432 = HEAP32[$regAddrB>>2]|0; - $433 = HEAP32[$addrEofB>>2]|0; - (_sqlite3VdbeAddOp2($431,18,$432,$433)|0); - $434 = HEAP32[$v>>2]|0; - $435 = HEAP32[$labelCmpr>>2]|0; - (_sqlite3VdbeGoto($434,$435)|0); - $436 = HEAP32[$v>>2]|0; - $437 = HEAP32[$addr1>>2]|0; - _sqlite3VdbeJumpHere($436,$437); - $438 = HEAP32[$v>>2]|0; - $439 = HEAP32[$regAddrA>>2]|0; - $440 = HEAP32[$addrEofA_noB>>2]|0; - (_sqlite3VdbeAddOp2($438,18,$439,$440)|0); - $441 = HEAP32[$v>>2]|0; - $442 = HEAP32[$regAddrB>>2]|0; - $443 = HEAP32[$addrEofB>>2]|0; - (_sqlite3VdbeAddOp2($441,18,$442,$443)|0); - $444 = HEAP32[$v>>2]|0; - $445 = HEAP32[$labelCmpr>>2]|0; - _sqlite3VdbeResolveLabel($444,$445); - $446 = HEAP32[$v>>2]|0; - $447 = HEAP32[$aPermute>>2]|0; - (_sqlite3VdbeAddOp4($446,41,0,0,0,$447,-15)|0); - $448 = HEAP32[$v>>2]|0; - $449 = ((($destA)) + 8|0); - $450 = HEAP32[$449>>2]|0; - $451 = ((($destB)) + 8|0); - $452 = HEAP32[$451>>2]|0; - $453 = HEAP32[$nOrderBy>>2]|0; - $454 = HEAP32[$pKeyMerge>>2]|0; - (_sqlite3VdbeAddOp4($448,42,$450,$452,$453,$454,-6)|0); - $455 = HEAP32[$v>>2]|0; - _sqlite3VdbeChangeP5($455,1); - $456 = HEAP32[$v>>2]|0; - $457 = HEAP32[$addrAltB>>2]|0; - $458 = HEAP32[$addrAeqB>>2]|0; - $459 = HEAP32[$addrAgtB>>2]|0; - (_sqlite3VdbeAddOp3($456,43,$457,$458,$459)|0); - $460 = HEAP32[$v>>2]|0; - $461 = HEAP32[$labelEnd>>2]|0; - _sqlite3VdbeResolveLabel($460,$461); - $462 = HEAP32[$3>>2]|0; - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = ($464|0)==(9); - if ($465) { - $466 = HEAP32[$pPrior>>2]|0; - HEAP32[$pFirst>>2] = $466; + $394 = HEAP32[$v>>2]|0; + $395 = HEAP32[$regOutB>>2]|0; + $396 = HEAP32[$addrOutB>>2]|0; + (_sqlite3VdbeAddOp2($394,14,$395,$396)|0); + } + $397 = HEAP32[$v>>2]|0; + $398 = HEAP32[$regAddrB>>2]|0; + $399 = HEAP32[$addrEofB>>2]|0; + (_sqlite3VdbeAddOp2($397,18,$398,$399)|0); + $400 = HEAP32[$v>>2]|0; + $401 = HEAP32[$labelCmpr>>2]|0; + (_sqlite3VdbeGoto($400,$401)|0); + $402 = HEAP32[$v>>2]|0; + $403 = HEAP32[$addr1>>2]|0; + _sqlite3VdbeJumpHere($402,$403); + $404 = HEAP32[$v>>2]|0; + $405 = HEAP32[$regAddrA>>2]|0; + $406 = HEAP32[$addrEofA_noB>>2]|0; + (_sqlite3VdbeAddOp2($404,18,$405,$406)|0); + $407 = HEAP32[$v>>2]|0; + $408 = HEAP32[$regAddrB>>2]|0; + $409 = HEAP32[$addrEofB>>2]|0; + (_sqlite3VdbeAddOp2($407,18,$408,$409)|0); + $410 = HEAP32[$v>>2]|0; + $411 = HEAP32[$labelCmpr>>2]|0; + _sqlite3VdbeResolveLabel($410,$411); + $412 = HEAP32[$v>>2]|0; + $413 = HEAP32[$aPermute>>2]|0; + (_sqlite3VdbeAddOp4($412,41,0,0,0,$413,-15)|0); + $414 = HEAP32[$v>>2]|0; + $415 = ((($destA)) + 8|0); + $416 = HEAP32[$415>>2]|0; + $417 = ((($destB)) + 8|0); + $418 = HEAP32[$417>>2]|0; + $419 = HEAP32[$nOrderBy>>2]|0; + $420 = HEAP32[$pKeyMerge>>2]|0; + (_sqlite3VdbeAddOp4($414,42,$416,$418,$419,$420,-6)|0); + $421 = HEAP32[$v>>2]|0; + _sqlite3VdbeChangeP5($421,1); + $422 = HEAP32[$v>>2]|0; + $423 = HEAP32[$addrAltB>>2]|0; + $424 = HEAP32[$addrAeqB>>2]|0; + $425 = HEAP32[$addrAgtB>>2]|0; + (_sqlite3VdbeAddOp3($422,43,$423,$424,$425)|0); + $426 = HEAP32[$v>>2]|0; + $427 = HEAP32[$labelEnd>>2]|0; + _sqlite3VdbeResolveLabel($426,$427); + $428 = HEAP32[$3>>2]|0; + $429 = HEAP8[$428>>0]|0; + $430 = $429&255; + $431 = ($430|0)==(9); + if ($431) { + $432 = HEAP32[$pPrior>>2]|0; + HEAP32[$pFirst>>2] = $432; while(1) { - $467 = HEAP32[$pFirst>>2]|0; - $468 = ((($467)) + 52|0); - $469 = HEAP32[$468>>2]|0; - $470 = ($469|0)!=(0|0); - if (!($470)) { + $433 = HEAP32[$pFirst>>2]|0; + $434 = ((($433)) + 48|0); + $435 = HEAP32[$434>>2]|0; + $436 = ($435|0)!=(0|0); + if (!($436)) { break; } - $471 = HEAP32[$pFirst>>2]|0; - $472 = ((($471)) + 52|0); - $473 = HEAP32[$472>>2]|0; - HEAP32[$pFirst>>2] = $473; - } - $474 = HEAP32[$1>>2]|0; - $475 = HEAP32[$pFirst>>2]|0; - $476 = ((($475)) + 32|0); - $477 = HEAP32[$476>>2]|0; - $478 = HEAP32[$pFirst>>2]|0; - $479 = HEAP32[$478>>2]|0; - _generateColumnNames($474,$477,$479); - } - $480 = HEAP32[$2>>2]|0; - $481 = ((($480)) + 52|0); - $482 = HEAP32[$481>>2]|0; - $483 = ($482|0)!=(0|0); - if ($483) { - $484 = HEAP32[$db>>2]|0; - $485 = HEAP32[$2>>2]|0; - $486 = ((($485)) + 52|0); - $487 = HEAP32[$486>>2]|0; - _sqlite3SelectDelete($484,$487); - } - $488 = HEAP32[$pPrior>>2]|0; - $489 = HEAP32[$2>>2]|0; - $490 = ((($489)) + 52|0); - HEAP32[$490>>2] = $488; - $491 = HEAP32[$2>>2]|0; - $492 = HEAP32[$pPrior>>2]|0; - $493 = ((($492)) + 56|0); - HEAP32[$493>>2] = $491; - $494 = HEAP32[$1>>2]|0; - $495 = HEAP32[$2>>2]|0; - $496 = ((($495)) + 4|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497&255; - $499 = HEAP32[$iSub1>>2]|0; - $500 = HEAP32[$iSub2>>2]|0; - _explainComposite($494,$498,$499,$500,0); - $501 = HEAP32[$1>>2]|0; - $502 = ((($501)) + 68|0); - $503 = HEAP32[$502>>2]|0; - $504 = ($503|0)!=(0); - $505 = $504&1; - HEAP32[$0>>2] = $505; - $506 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($506|0); + $437 = HEAP32[$pFirst>>2]|0; + $438 = ((($437)) + 48|0); + $439 = HEAP32[$438>>2]|0; + HEAP32[$pFirst>>2] = $439; + } + $440 = HEAP32[$1>>2]|0; + $441 = HEAP32[$pFirst>>2]|0; + $442 = ((($441)) + 28|0); + $443 = HEAP32[$442>>2]|0; + $444 = HEAP32[$pFirst>>2]|0; + $445 = HEAP32[$444>>2]|0; + _generateColumnNames($440,$443,$445); + } + $446 = HEAP32[$2>>2]|0; + $447 = ((($446)) + 48|0); + $448 = HEAP32[$447>>2]|0; + $449 = ($448|0)!=(0|0); + if ($449) { + $450 = HEAP32[$db>>2]|0; + $451 = HEAP32[$2>>2]|0; + $452 = ((($451)) + 48|0); + $453 = HEAP32[$452>>2]|0; + _sqlite3SelectDelete($450,$453); + } + $454 = HEAP32[$pPrior>>2]|0; + $455 = HEAP32[$2>>2]|0; + $456 = ((($455)) + 48|0); + HEAP32[$456>>2] = $454; + $457 = HEAP32[$2>>2]|0; + $458 = HEAP32[$pPrior>>2]|0; + $459 = ((($458)) + 52|0); + HEAP32[$459>>2] = $457; + $460 = HEAP32[$1>>2]|0; + $461 = HEAP32[$2>>2]|0; + $462 = ((($461)) + 4|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = HEAP32[$iSub1>>2]|0; + $466 = HEAP32[$iSub2>>2]|0; + _explainComposite($460,$464,$465,$466,0); + $467 = HEAP32[$1>>2]|0; + $468 = ((($467)) + 68|0); + $469 = HEAP32[$468>>2]|0; + $470 = ($469|0)!=(0); + $471 = $470&1; + HEAP32[$0>>2] = $471; + $472 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($472|0); } function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { $pParse = $pParse|0; @@ -204243,7 +205631,7 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { $16 = HEAP32[$3>>2]|0; $17 = HEAP32[$4>>2]|0; $18 = ($17|0)!=(0); - $19 = $18 ? 36749 : 19266; + $19 = $18 ? 36402 : 19010; $20 = HEAP32[$1>>2]|0; $21 = (_selectOpName($20)|0); HEAP32[$vararg_buffer>>2] = $15; @@ -204253,7 +205641,7 @@ function _explainComposite($pParse,$op,$iSub1,$iSub2,$bUseTmp) { HEAP32[$vararg_ptr2>>2] = $19; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $21; - $22 = (_sqlite3MPrintf($14,36768,$vararg_buffer)|0); + $22 = (_sqlite3MPrintf($14,36421,$vararg_buffer)|0); HEAP32[$zMsg>>2] = $22; $23 = HEAP32[$v>>2]|0; $24 = HEAP32[$0>>2]|0; @@ -204279,13 +205667,13 @@ function _multiSelectCollSeq($pParse,$p,$iCol) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $iCol; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 52|0); + $4 = ((($3)) + 48|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if ($6) { $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$1>>2]|0; - $9 = ((($8)) + 52|0); + $9 = ((($8)) + 48|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$2>>2]|0; $12 = (_multiSelectCollSeq($7,$10,$11)|0); @@ -204347,11 +205735,11 @@ function _multiSelectOrderByKeyInfo($pParse,$p,$nExtra) { HEAP32[$1>>2] = $p; HEAP32[$2>>2] = $nExtra; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 48|0); + $4 = ((($3)) + 44|0); $5 = HEAP32[$4>>2]|0; HEAP32[$pOrderBy>>2] = $5; $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 48|0); + $7 = ((($6)) + 44|0); $8 = HEAP32[$7>>2]|0; $9 = HEAP32[$8>>2]|0; HEAP32[$nOrderBy>>2] = $9; @@ -204556,7 +205944,7 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p } $53 = HEAP32[$1>>2]|0; $54 = HEAP32[$53>>2]|0; - $55 = ((($54)) + 65|0); + $55 = ((($54)) + 69|0); $56 = HEAP8[$55>>0]|0; $57 = ($56<<24>>24)!=(0); if ($57) { @@ -204566,7 +205954,7 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p } $58 = HEAP32[$v>>2]|0; $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 12|0); + $60 = ((($59)) + 16|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$iContinue>>2]|0; _codeOffset($58,$61,$62); @@ -204723,13 +206111,13 @@ function _generateOutputSubroutine($pParse,$p,$pIn,$pDest,$regReturn,$regPrev,$p } } $176 = HEAP32[$2>>2]|0; - $177 = ((($176)) + 8|0); + $177 = ((($176)) + 12|0); $178 = HEAP32[$177>>2]|0; $179 = ($178|0)!=(0); if ($179) { $180 = HEAP32[$v>>2]|0; $181 = HEAP32[$2>>2]|0; - $182 = ((($181)) + 8|0); + $182 = ((($181)) + 12|0); $183 = HEAP32[$182>>2]|0; $184 = HEAP32[$8>>2]|0; (_sqlite3VdbeAddOp2($180,141,$183,$184)|0); @@ -204966,14 +206354,14 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { HEAP32[$vararg_buffer>>2] = $40; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $42; - _sqlite3NestedParse($38,37066,$vararg_buffer); + _sqlite3NestedParse($38,36719,$vararg_buffer); } $43 = HEAP32[$0>>2]|0; $44 = HEAP32[$pDb>>2]|0; $45 = HEAP32[$44>>2]|0; $46 = HEAP32[$2>>2]|0; $47 = ($46|0)==(1); - $48 = $47 ? 20769 : 20788; + $48 = $47 ? 20513 : 20532; $49 = HEAP32[$1>>2]|0; $50 = HEAP32[$49>>2]|0; HEAP32[$vararg_buffer2>>2] = $45; @@ -204981,7 +206369,7 @@ function _sqlite3CodeDropTable($pParse,$pTab,$iDb,$isView) { HEAP32[$vararg_ptr5>>2] = $48; $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); HEAP32[$vararg_ptr6>>2] = $50; - _sqlite3NestedParse($43,37111,$vararg_buffer2); + _sqlite3NestedParse($43,36764,$vararg_buffer2); $51 = HEAP32[$3>>2]|0; $52 = ($51|0)!=(0); if (!($52)) { @@ -205227,8 +206615,7 @@ function _sqlite3DeleteColumnNames($db,$pTable) { $db = $db|0; $pTable = $pTable|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pCol = 0; - var label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $pCol = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -205270,27 +206657,17 @@ function _sqlite3DeleteColumnNames($db,$pTable) { $21 = ((($20)) + 8|0); $22 = HEAP32[$21>>2]|0; _sqlite3DbFree($19,$22); - $23 = HEAP32[$0>>2]|0; - $24 = HEAP32[$pCol>>2]|0; - $25 = ((($24)) + 12|0); - $26 = HEAP32[$25>>2]|0; - _sqlite3DbFree($23,$26); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$pCol>>2]|0; - $29 = ((($28)) + 16|0); - $30 = HEAP32[$29>>2]|0; - _sqlite3DbFree($27,$30); - $31 = HEAP32[$i>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$i>>2] = $32; - $33 = HEAP32[$pCol>>2]|0; - $34 = ((($33)) + 24|0); - HEAP32[$pCol>>2] = $34; + $23 = HEAP32[$i>>2]|0; + $24 = (($23) + 1)|0; + HEAP32[$i>>2] = $24; + $25 = HEAP32[$pCol>>2]|0; + $26 = ((($25)) + 16|0); + HEAP32[$pCol>>2] = $26; } - $35 = HEAP32[$1>>2]|0; - $36 = ((($35)) + 4|0); - $37 = HEAP32[$36>>2]|0; - _sqlite3DbFree($12,$37); + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + _sqlite3DbFree($12,$29); STACKTOP = sp;return; } function _sqlite3ResolveSelfReference($pParse,$pTab,$type,$pExpr,$pList) { @@ -205487,8 +206864,8 @@ function _estimateIndexWidth($pIdx) { $26 = HEAP16[$25>>1]|0; $27 = $26 << 16 >> 16; $28 = HEAP32[$aCol>>2]|0; - $29 = (($28) + (($27*24)|0)|0); - $30 = ((($29)) + 22|0); + $29 = (($28) + ($27<<4)|0); + $30 = ((($29)) + 14|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $35 = $32; @@ -205656,7 +207033,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $24 = HEAP32[$1>>2]|0; $25 = ((($24)) + 4|0); $26 = HEAP32[$25>>2]|0; - $27 = (($26) + (($23*24)|0)|0); + $27 = (($26) + ($23<<4)|0); $28 = HEAP32[$27>>2]|0; _sqlite3TokenInit($ipkToken,$28); $29 = HEAP32[$0>>2]|0; @@ -205783,7 +207160,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $114 = $113&65535; HEAP32[$nPk>>2] = $114; $115 = HEAP32[$db>>2]|0; - $116 = ((($115)) + 140|0); + $116 = ((($115)) + 144|0); $117 = ((($116)) + 7|0); $118 = HEAP8[$117>>0]|0; $119 = ($118<<24>>24)!=(0); @@ -205806,8 +207183,8 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $130 = HEAP32[$1>>2]|0; $131 = ((($130)) + 4|0); $132 = HEAP32[$131>>2]|0; - $133 = (($132) + (($129*24)|0)|0); - $134 = ((($133)) + 20|0); + $133 = (($132) + ($129<<4)|0); + $134 = ((($133)) + 12|0); HEAP8[$134>>0] = 2; $135 = HEAP32[$i>>2]|0; $136 = (($135) + 1)|0; @@ -206035,7 +207412,7 @@ function _convertToWithoutRowidTable($pParse,$pTab) { $287 = ((($286)) + 32|0); $288 = HEAP32[$287>>2]|0; $289 = (($288) + ($285<<2)|0); - HEAP32[$289>>2] = 35690; + HEAP32[$289>>2] = 35343; $290 = HEAP32[$j>>2]|0; $291 = (($290) + 1)|0; HEAP32[$j>>2] = $291; @@ -206074,7 +207451,7 @@ function _estimateTableWidth($pTab) { break; } $10 = HEAP32[$pTabCol>>2]|0; - $11 = ((($10)) + 22|0); + $11 = ((($10)) + 14|0); $12 = HEAP8[$11>>0]|0; $13 = $12&255; $14 = HEAP32[$wTable>>2]|0; @@ -206084,7 +207461,7 @@ function _estimateTableWidth($pTab) { $17 = (($16) + -1)|0; HEAP32[$i>>2] = $17; $18 = HEAP32[$pTabCol>>2]|0; - $19 = ((($18)) + 24|0); + $19 = ((($18)) + 16|0); HEAP32[$pTabCol>>2] = $19; } $20 = HEAP32[$0>>2]|0; @@ -206168,7 +207545,7 @@ function _createTableStmt($db,$p) { $19 = (($18) + 1)|0; HEAP32[$i>>2] = $19; $20 = HEAP32[$pCol>>2]|0; - $21 = ((($20)) + 24|0); + $21 = ((($20)) + 16|0); HEAP32[$pCol>>2] = $21; } $22 = HEAP32[$2>>2]|0; @@ -206180,13 +207557,13 @@ function _createTableStmt($db,$p) { $27 = HEAP32[$n>>2]|0; $28 = ($27|0)<(50); if ($28) { - HEAP32[$zSep>>2] = 19266; - HEAP32[$zSep2>>2] = 38266; - HEAP32[$zEnd>>2] = 35518; + HEAP32[$zSep>>2] = 19010; + HEAP32[$zSep2>>2] = 37919; + HEAP32[$zEnd>>2] = 35219; } else { - HEAP32[$zSep>>2] = 38268; - HEAP32[$zSep2>>2] = 38272; - HEAP32[$zEnd>>2] = 38277; + HEAP32[$zSep>>2] = 37921; + HEAP32[$zSep2>>2] = 37925; + HEAP32[$zEnd>>2] = 37930; } $29 = HEAP32[$2>>2]|0; $30 = ((($29)) + 34|0); @@ -206213,7 +207590,7 @@ function _createTableStmt($db,$p) { } $44 = HEAP32[$n>>2]|0; $45 = HEAP32[$zStmt>>2]|0; - (_sqlite3_snprintf($44,$45,38280,$vararg_buffer)|0); + (_sqlite3_snprintf($44,$45,37933,$vararg_buffer)|0); $46 = HEAP32[$zStmt>>2]|0; $47 = (_sqlite3Strlen30($46)|0); HEAP32[$k>>2] = $47; @@ -206264,11 +207641,11 @@ function _createTableStmt($db,$p) { $80 = HEAP32[$79>>2]|0; _identPut($78,$k,$80); $81 = HEAP32[$pCol>>2]|0; - $82 = ((($81)) + 21|0); + $82 = ((($81)) + 13|0); $83 = HEAP8[$82>>0]|0; $84 = $83 << 24 >> 24; $85 = (($84) - 65)|0; - $86 = (6328 + ($85<<2)|0); + $86 = (6324 + ($85<<2)|0); $87 = HEAP32[$86>>2]|0; HEAP32[$zType>>2] = $87; $88 = HEAP32[$zType>>2]|0; @@ -206288,12 +207665,12 @@ function _createTableStmt($db,$p) { $99 = (($98) + 1)|0; HEAP32[$i>>2] = $99; $100 = HEAP32[$pCol>>2]|0; - $101 = ((($100)) + 24|0); + $101 = ((($100)) + 16|0); HEAP32[$pCol>>2] = $101; } $102 = HEAP32[$zEnd>>2]|0; HEAP32[$vararg_buffer3>>2] = $102; - (_sqlite3_snprintf($66,$69,19255,$vararg_buffer3)|0); + (_sqlite3_snprintf($66,$69,18999,$vararg_buffer3)|0); $103 = HEAP32[$zStmt>>2]|0; HEAP32[$0>>2] = $103; $104 = HEAP32[$0>>2]|0; @@ -206376,7 +207753,7 @@ function _identPut($z,$pIdx,$zSignedIdent) { $13 = (($12) + ($11)|0); $14 = HEAP8[$13>>0]|0; $15 = $14&255; - $16 = (19267 + ($15)|0); + $16 = (19011 + ($15)|0); $17 = HEAP8[$16>>0]|0; $18 = $17&255; $19 = $18 & 6; @@ -206399,7 +207776,7 @@ function _identPut($z,$pIdx,$zSignedIdent) { $29 = HEAP32[$zIdent>>2]|0; $30 = HEAP8[$29>>0]|0; $31 = $30&255; - $32 = (19267 + ($31)|0); + $32 = (19011 + ($31)|0); $33 = HEAP8[$32>>0]|0; $34 = $33&255; $35 = $34 & 4; @@ -206638,7 +208015,7 @@ function _sqlite3OpenMasterTable($p,$iDb) { $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(1); - $8 = $7 ? 20769 : 20788; + $8 = $7 ? 20513 : 20532; _sqlite3TableLock($4,$5,1,1,$8); $9 = HEAP32[$v>>2]|0; $10 = HEAP32[$1>>2]|0; @@ -206774,7 +208151,7 @@ function _sqlite3AutoincrementBegin($pParse) { $36 = HEAP32[$35>>2]|0; (_sqlite3VdbeLoadString($30,$32,$36)|0); $37 = HEAP32[$v>>2]|0; - $38 = (_sqlite3VdbeAddOpList($37,10,38456,0)|0); + $38 = (_sqlite3VdbeAddOpList($37,10,38109,0)|0); HEAP32[$aOp>>2] = $38; $39 = HEAP32[$aOp>>2]|0; $40 = ($39|0)==(0|0); @@ -206835,44 +208212,6 @@ function _sqlite3AutoincrementBegin($pParse) { STACKTOP = sp;return; } } -function _yyStackOverflow($yypParser,$yypMinor) { - $yypParser = $yypParser|0; - $yypMinor = $yypMinor|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pParse = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $pParse = sp + 4|0; - HEAP32[$0>>2] = $yypParser; - HEAP32[$1>>2] = $yypMinor; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 8|0); - $4 = HEAP32[$3>>2]|0; - HEAP32[$pParse>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (($6) + -1)|0; - HEAP32[$5>>2] = $7; - while(1) { - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>=(0); - if (!($10)) { - break; - } - $11 = HEAP32[$0>>2]|0; - _yy_pop_parser_stack($11); - } - $12 = HEAP32[$pParse>>2]|0; - _sqlite3ErrorMsg($12,38496,$vararg_buffer); - $13 = HEAP32[$pParse>>2]|0; - $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 8|0); - HEAP32[$15>>2] = $13; - STACKTOP = sp;return; -} function _logBadConnection($zType) { $zType = $zType|0; var $0 = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; @@ -206883,7 +208222,7 @@ function _logBadConnection($zType) { HEAP32[$0>>2] = $zType; $1 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $1; - _sqlite3_log(21,40353,$vararg_buffer); + _sqlite3_log(21,40004,$vararg_buffer); STACKTOP = sp;return; } function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzTail) { @@ -207009,7 +208348,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $39 = HEAP32[$rc>>2]|0; $40 = HEAP32[$zDb>>2]|0; HEAP32[$vararg_buffer>>2] = $40; - _sqlite3ErrorWithMsg($38,$39,40398,$vararg_buffer); + _sqlite3ErrorWithMsg($38,$39,40049,$vararg_buffer); $216 = HEAP32[$pParse>>2]|0; _sqlite3ParserReset($216); $217 = HEAP32[$0>>2]|0; @@ -207050,7 +208389,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } } $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 88|0); + $60 = ((($59)) + 92|0); $61 = ((($60)) + 4|0); $62 = HEAP32[$61>>2]|0; HEAP32[$mxLen>>2] = $62; @@ -207059,7 +208398,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $65 = ($63|0)>($64|0); $66 = HEAP32[$0>>2]|0; if ($65) { - _sqlite3ErrorWithMsg($66,18,40428,$vararg_buffer1); + _sqlite3ErrorWithMsg($66,18,40079,$vararg_buffer1); $67 = HEAP32[$0>>2]|0; $68 = (_sqlite3ApiExit($67,18)|0); HEAP32[$rc>>2] = $68; @@ -207139,7 +208478,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT _schemaIsValid($108); } $109 = HEAP32[$0>>2]|0; - $110 = ((($109)) + 65|0); + $110 = ((($109)) + 69|0); $111 = HEAP8[$110>>0]|0; $112 = ($111<<24>>24)!=(0); if ($112) { @@ -207208,7 +208547,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $151 = HEAP32[$iFirst>>2]|0; $152 = (($150) - ($151))|0; $153 = HEAP32[$i>>2]|0; - $154 = (6360 + ($153<<2)|0); + $154 = (6356 + ($153<<2)|0); $155 = HEAP32[$154>>2]|0; (_sqlite3VdbeSetColName($149,$152,0,$155,0)|0); $156 = HEAP32[$i>>2]|0; @@ -207220,7 +208559,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT } } while(0); $158 = HEAP32[$0>>2]|0; - $159 = ((($158)) + 140|0); + $159 = ((($158)) + 144|0); $160 = ((($159)) + 5|0); $161 = HEAP8[$160>>0]|0; $162 = $161&255; @@ -207252,7 +208591,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT $182 = ($181|0)!=(0); if (!($182)) { $183 = HEAP32[$0>>2]|0; - $184 = ((($183)) + 65|0); + $184 = ((($183)) + 69|0); $185 = HEAP8[$184>>0]|0; $186 = $185&255; $187 = ($186|0)!=(0); @@ -207283,7 +208622,7 @@ function _sqlite3Prepare($db,$zSql,$nBytes,$saveSqlFlag,$pReprepare,$ppStmt,$pzT if ($196) { $199 = HEAP32[$zErrMsg>>2]|0; HEAP32[$vararg_buffer3>>2] = $199; - _sqlite3ErrorWithMsg($197,$198,19255,$vararg_buffer3); + _sqlite3ErrorWithMsg($197,$198,18999,$vararg_buffer3); $200 = HEAP32[$0>>2]|0; $201 = HEAP32[$zErrMsg>>2]|0; _sqlite3DbFree($200,$201); @@ -207476,14 +208815,14 @@ function _sqlite3VdbeSetSql($p,$z,$n,$isPrepareV2) { $16 = $15&255; $17 = $16&255; $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 88|0); - $20 = $17&65535; - $21 = HEAP16[$19>>1]|0; + $19 = ((($18)) + 89|0); + $20 = $17&255; + $21 = HEAP8[$19>>0]|0; $22 = $20 & 1; - $23 = ($22 << 8)&65535; - $24 = $21 & -257; + $23 = ($22 << 7)&255; + $24 = $21 & 127; $25 = $24 | $23; - HEAP16[$19>>1] = $25; + HEAP8[$19>>0] = $25; STACKTOP = sp;return; } function _querySharedCacheTableLock($p,$iTab,$eLock) { @@ -208300,7 +209639,7 @@ function _sqlite3VtabEponymousTableInit($pParse,$pMod) { $87 = HEAP32[$1>>2]|0; $88 = HEAP32[$zErr>>2]|0; HEAP32[$vararg_buffer>>2] = $88; - _sqlite3ErrorMsg($87,19255,$vararg_buffer); + _sqlite3ErrorMsg($87,18999,$vararg_buffer); $89 = HEAP32[$db>>2]|0; $90 = HEAP32[$zErr>>2]|0; _sqlite3DbFree($89,$90); @@ -208367,7 +209706,7 @@ function _sqlite3VtabClear($db,$p) { $3 = ($2|0)!=(0|0); if ($3) { $4 = HEAP32[$0>>2]|0; - $5 = ((($4)) + 528|0); + $5 = ((($4)) + 456|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)==(0|0); if ($7) { @@ -208471,14 +209810,14 @@ function _vtabDisconnectAll($db,$p) { HEAP32[$22>>2] = 0; } else { $23 = HEAP32[$db2>>2]|0; - $24 = ((($23)) + 336|0); + $24 = ((($23)) + 344|0); $25 = HEAP32[$24>>2]|0; $26 = HEAP32[$pVTable>>2]|0; $27 = ((($26)) + 24|0); HEAP32[$27>>2] = $25; $28 = HEAP32[$pVTable>>2]|0; $29 = HEAP32[$db2>>2]|0; - $30 = ((($29)) + 336|0); + $30 = ((($29)) + 344|0); HEAP32[$30>>2] = $28; } $31 = HEAP32[$pNext>>2]|0; @@ -208520,7 +209859,7 @@ function _sqlite3VdbeSwap($pA,$pB) { $pB = $pB|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pTmp = 0, $tmp = 0, $zTmp = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; $0 = sp + 220|0; @@ -208580,20 +209919,19 @@ function _sqlite3VdbeSwap($pA,$pB) { $38 = ((($37)) + 168|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 88|0); - $41 = HEAP16[$40>>1]|0; - $42 = ($41&65535) >>> 8; - $43 = $42 & 1; - $44 = $43&65535; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 88|0); - $47 = $44&65535; - $48 = HEAP16[$46>>1]|0; - $49 = $47 & 1; - $50 = ($49 << 8)&65535; - $51 = $48 & -257; - $52 = $51 | $50; - HEAP16[$46>>1] = $52; + $40 = ((($39)) + 89|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41&255) >>> 7; + $43 = $42&255; + $44 = HEAP32[$1>>2]|0; + $45 = ((($44)) + 89|0); + $46 = $43&255; + $47 = HEAP8[$45>>0]|0; + $48 = $46 & 1; + $49 = ($48 << 7)&255; + $50 = $47 & 127; + $51 = $50 | $49; + HEAP8[$45>>0] = $51; STACKTOP = sp;return; } function _sqlite3VdbeResetStepResult($p) { @@ -208734,10 +210072,10 @@ function _sqlite3VdbeList($p) { $18 = HEAP32[$17>>2]|0; HEAP32[$nRow>>2] = $18; $19 = HEAP32[$1>>2]|0; - $20 = ((($19)) + 88|0); - $21 = HEAP16[$20>>1]|0; + $20 = ((($19)) + 89|0); + $21 = HEAP8[$20>>0]|0; $22 = $21 & 3; - $23 = $22&65535; + $23 = $22&255; $24 = ($23|0)==(1); L5: do { if ($24) { @@ -208800,10 +210138,10 @@ function _sqlite3VdbeList($p) { break; } $62 = HEAP32[$1>>2]|0; - $63 = ((($62)) + 88|0); - $64 = HEAP16[$63>>1]|0; + $63 = ((($62)) + 89|0); + $64 = HEAP8[$63>>0]|0; $65 = $64 & 3; - $66 = $65&65535; + $66 = $65&255; $67 = ($66|0)==(2); if (!($67)) { break; @@ -208831,7 +210169,7 @@ function _sqlite3VdbeList($p) { HEAP32[$rc>>2] = 101; } else { $81 = HEAP32[$db>>2]|0; - $82 = ((($81)) + 240|0); + $82 = ((($81)) + 248|0); $83 = HEAP32[$82>>2]|0; $84 = ($83|0)!=(0); if ($84) { @@ -208902,10 +210240,10 @@ function _sqlite3VdbeList($p) { HEAP32[$pOp>>2] = $131; } $132 = HEAP32[$1>>2]|0; - $133 = ((($132)) + 88|0); - $134 = HEAP16[$133>>1]|0; + $133 = ((($132)) + 89|0); + $134 = HEAP8[$133>>0]|0; $135 = $134 & 3; - $136 = $135&65535; + $136 = $135&255; $137 = ($136|0)==(1); if ($137) { $138 = HEAP32[$pMem>>2]|0; @@ -209119,10 +210457,10 @@ function _sqlite3VdbeList($p) { $289 = ((($288)) + 40|0); HEAP32[$pMem>>2] = $289; $290 = HEAP32[$1>>2]|0; - $291 = ((($290)) + 88|0); - $292 = HEAP16[$291>>1]|0; + $291 = ((($290)) + 89|0); + $292 = HEAP8[$291>>0]|0; $293 = $292 & 3; - $294 = $293&65535; + $294 = $293&255; $295 = ($294|0)==(1); do { if ($295) { @@ -209144,7 +210482,7 @@ function _sqlite3VdbeList($p) { $308 = HEAP8[$307>>0]|0; $309 = $308&255; HEAP32[$vararg_buffer2>>2] = $309; - (_sqlite3_snprintf(3,$305,43360,$vararg_buffer2)|0); + (_sqlite3_snprintf(3,$305,43017,$vararg_buffer2)|0); $310 = HEAP32[$pMem>>2]|0; $311 = ((($310)) + 10|0); HEAP8[$311>>0] = 1; @@ -209162,10 +210500,10 @@ function _sqlite3VdbeList($p) { } } while(0); $316 = HEAP32[$1>>2]|0; - $317 = ((($316)) + 88|0); - $318 = HEAP16[$317>>1]|0; + $317 = ((($316)) + 89|0); + $318 = HEAP8[$317>>0]|0; $319 = $318 & 3; - $320 = $319&65535; + $320 = $319&255; $321 = (($320) - 1)|0; $322 = $321<<2; $323 = (8 - ($322))|0; @@ -209193,411 +210531,414 @@ function _sqlite3VdbeList($p) { } function _sqlite3VdbeExec($p) { $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0; - var $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0; - var $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0; - var $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0; - var $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0; - var $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0; - var $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0; - var $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0.0, $1129 = 0, $113 = 0, $1130 = 0.0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0.0, $1135 = 0.0, $1136 = 0.0, $1137 = 0.0, $1138 = 0.0, $1139 = 0.0, $114 = 0, $1140 = 0.0; - var $1141 = 0.0, $1142 = 0.0, $1143 = 0.0, $1144 = 0, $1145 = 0.0, $1146 = 0.0, $1147 = 0.0, $1148 = 0.0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0.0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0; - var $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0; - var $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0; - var $1196 = 0, $1197 = 0, $1198 = 0.0, $1199 = 0.0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0.0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0; - var $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0; - var $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0; - var $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0; - var $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0; - var $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0; - var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0; - var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0; - var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0; - var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0; - var $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0; - var $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0; - var $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0; - var $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0; - var $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0; - var $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0; - var $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0; - var $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0; - var $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0; - var $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0; - var $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0; - var $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0; - var $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0; - var $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0; - var $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0; - var $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0; - var $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0; - var $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0; - var $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0; - var $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0; - var $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0; - var $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0; - var $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0; - var $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0; - var $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0; - var $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0; - var $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0; - var $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0; - var $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0; - var $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0; - var $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0; - var $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0; - var $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0; - var $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0; - var $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0; - var $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0; - var $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0; - var $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0; - var $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0; - var $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0; - var $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0; - var $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0; - var $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0; - var $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0; - var $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0.0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0; - var $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0; - var $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0; - var $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0; - var $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0; - var $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0; - var $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0; - var $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0; - var $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0; - var $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0; - var $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0; - var $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0; - var $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0; - var $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0; - var $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0; - var $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0; - var $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0; - var $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0; - var $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0; - var $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0; - var $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0; - var $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0; - var $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0; - var $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0; - var $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0; - var $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0; - var $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0; - var $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0; - var $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0; - var $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0; - var $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0; - var $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0; - var $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0; - var $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0; - var $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0; - var $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0; - var $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0; - var $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0; - var $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0; - var $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0; - var $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0; - var $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0; - var $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0; - var $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0; - var $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0; - var $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0; - var $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0; - var $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0; - var $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0; - var $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0; - var $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0; - var $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0; - var $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0; - var $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0; - var $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0; - var $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0; - var $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0; - var $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0; - var $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0; - var $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0; - var $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0; - var $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0; - var $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0; - var $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0; - var $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0; - var $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0; - var $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0; - var $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0; - var $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0; - var $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0; - var $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0; - var $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0; - var $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0; - var $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0; - var $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0; - var $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0; - var $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0; - var $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0; - var $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0; - var $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0; - var $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0; - var $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0; - var $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0, $3660 = 0, $3661 = 0; - var $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0, $3679 = 0, $368 = 0; - var $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0, $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0, $3697 = 0, $3698 = 0; - var $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0, $3714 = 0, $3715 = 0; - var $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0, $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0, $3732 = 0, $3733 = 0; - var $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0, $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0, $3750 = 0, $3751 = 0; - var $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0, $3769 = 0, $377 = 0; - var $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0, $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0, $3787 = 0, $3788 = 0; - var $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0, $3804 = 0, $3805 = 0; - var $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0, $3822 = 0, $3823 = 0; - var $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0, $3840 = 0, $3841 = 0; - var $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0, $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0, $3859 = 0, $386 = 0; - var $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0, $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0, $3877 = 0, $3878 = 0; - var $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0, $3895 = 0, $3896 = 0; - var $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0, $3912 = 0, $3913 = 0; - var $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0, $3930 = 0, $3931 = 0; - var $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0.0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0, $3949 = 0, $395 = 0; - var $3950 = 0.0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0.0, $3959 = 0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0.0, $3966 = 0, $3967 = 0, $3968 = 0; - var $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0, $3982 = 0, $3983 = 0, $3984 = 0, $3985 = 0, $3986 = 0; - var $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0, $4001 = 0, $4002 = 0; - var $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0, $402 = 0, $4020 = 0; - var $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0, $4038 = 0, $4039 = 0; - var $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0, $4056 = 0, $4057 = 0; - var $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0, $4074 = 0, $4075 = 0; - var $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0, $4092 = 0, $4093 = 0; - var $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0, $411 = 0, $4110 = 0; - var $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0, $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0, $4128 = 0, $4129 = 0; - var $413 = 0.0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0, $4146 = 0, $4147 = 0; - var $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0, $4164 = 0, $4165 = 0; - var $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0, $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0, $4182 = 0, $4183 = 0; - var $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0, $420 = 0, $4200 = 0; - var $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0, $4218 = 0, $4219 = 0; - var $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0, $4236 = 0, $4237 = 0; - var $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0, $4254 = 0, $4255 = 0; - var $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0, $4272 = 0, $4273 = 0; - var $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0, $4290 = 0, $4291 = 0; - var $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0, $4308 = 0, $4309 = 0; - var $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0, $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0, $4326 = 0, $4327 = 0; - var $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0, $4344 = 0, $4345 = 0; - var $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0, $4362 = 0, $4363 = 0; - var $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0, $4380 = 0, $4381 = 0; - var $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0, $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0, $4399 = 0, $44 = 0; - var $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0, $4416 = 0, $4417 = 0; - var $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0, $4434 = 0, $4435 = 0; - var $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0, $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0, $4452 = 0, $4453 = 0; - var $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0, $4470 = 0, $4471 = 0; - var $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0, $4489 = 0, $449 = 0; - var $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0, $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0, $4506 = 0, $4507 = 0; - var $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0, $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0, $4524 = 0, $4525 = 0; - var $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0, $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0, $4542 = 0, $4543 = 0; - var $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0, $4560 = 0, $4561 = 0; - var $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0, $4579 = 0, $458 = 0; - var $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0, $4597 = 0, $4598 = 0; - var $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0, $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0, $4614 = 0, $4615 = 0; - var $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0, $4632 = 0, $4633 = 0; - var $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0, $4650 = 0, $4651 = 0; - var $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0, $4669 = 0, $467 = 0; - var $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0, $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0, $4687 = 0, $4688 = 0; - var $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0, $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0, $4704 = 0, $4705 = 0; - var $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0, $4722 = 0, $4723 = 0; - var $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0, $4740 = 0, $4741 = 0; - var $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0, $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0, $4759 = 0, $476 = 0; - var $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0, $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0, $4777 = 0, $4778 = 0; - var $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0, $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0, $4795 = 0, $4796 = 0; - var $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0, $4812 = 0, $4813 = 0; - var $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0, $4830 = 0, $4831 = 0; - var $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0, $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0, $4849 = 0, $485 = 0; - var $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0, $4867 = 0, $4868 = 0; - var $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0, $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0, $4885 = 0, $4886 = 0; - var $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0, $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0, $4902 = 0, $4903 = 0; - var $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0, $4920 = 0, $4921 = 0; - var $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0, $4939 = 0, $494 = 0; - var $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0, $4957 = 0, $4958 = 0; - var $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0, $4975 = 0, $4976 = 0; - var $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0, $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0, $4993 = 0, $4994 = 0; - var $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0, $501 = 0, $5010 = 0; - var $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0, $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0, $5028 = 0, $5029 = 0; - var $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0, $5046 = 0, $5047 = 0; - var $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0, $5064 = 0, $5065 = 0; - var $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0, $5082 = 0, $5083 = 0; - var $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0, $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0, $510 = 0, $5100 = 0; - var $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0, $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0, $5118 = 0, $5119 = 0; - var $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0, $5136 = 0, $5137 = 0; - var $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0, $5154 = 0, $5155 = 0; - var $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0, $5172 = 0, $5173 = 0; - var $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0, $5190 = 0, $5191 = 0; - var $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0, $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0, $5208 = 0, $5209 = 0; - var $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0, $5226 = 0, $5227 = 0; - var $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0, $5244 = 0, $5245 = 0; - var $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0, $5262 = 0, $5263 = 0; - var $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0, $5280 = 0, $5281 = 0; - var $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0, $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0, $5299 = 0, $53 = 0; - var $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0, $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0, $5316 = 0, $5317 = 0; - var $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0, $5334 = 0, $5335 = 0; - var $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0, $5352 = 0, $5353 = 0; - var $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0, $5370 = 0, $5371 = 0; - var $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0, $5389 = 0, $539 = 0; - var $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0, $5406 = 0, $5407 = 0; - var $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0, $5424 = 0, $5425 = 0; - var $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0, $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0, $5442 = 0, $5443 = 0; - var $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0, $5460 = 0, $5461 = 0; - var $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0, $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0, $5479 = 0, $548 = 0; - var $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0, $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0, $5497 = 0, $5498 = 0; - var $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0, $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0, $5514 = 0, $5515 = 0; - var $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0, $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0, $5532 = 0, $5533 = 0; - var $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0, $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0, $5550 = 0, $5551 = 0; - var $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0, $5569 = 0, $557 = 0; - var $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0, $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0, $5587 = 0, $5588 = 0; - var $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0, $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0, $5604 = 0, $5605 = 0; - var $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0, $5622 = 0, $5623 = 0; - var $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0, $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0, $5640 = 0, $5641 = 0; - var $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0, $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0, $5659 = 0, $566 = 0; - var $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0, $5677 = 0, $5678 = 0; - var $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0, $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0, $5695 = 0, $5696 = 0; - var $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0, $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0, $5712 = 0, $5713 = 0; - var $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0, $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0, $5730 = 0, $5731 = 0; - var $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0, $5749 = 0, $575 = 0; - var $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0, $5767 = 0, $5768 = 0; - var $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0, $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0, $5785 = 0, $5786 = 0; - var $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0, $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0, $5802 = 0, $5803 = 0; - var $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0, $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0, $5820 = 0, $5821 = 0; - var $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0, $5839 = 0, $584 = 0; - var $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0, $5857 = 0, $5858 = 0; - var $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0, $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0, $5875 = 0, $5876 = 0; - var $5877 = 0, $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0, $5883 = 0, $5884 = 0, $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0, $5893 = 0, $5894 = 0; - var $5895 = 0, $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0, $5900 = 0, $5901 = 0, $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0, $5910 = 0, $5911 = 0; - var $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0, $5919 = 0, $592 = 0, $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0, $5929 = 0, $593 = 0; - var $5930 = 0, $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0, $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0, $5947 = 0, $5948 = 0; - var $5949 = 0, $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0, $5955 = 0, $5956 = 0, $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0, $5965 = 0, $5966 = 0; - var $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0, $5973 = 0, $5974 = 0, $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0, $5983 = 0, $5984 = 0; - var $5985 = 0, $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0, $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0, $600 = 0, $6000 = 0; - var $6001 = 0, $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0, $6008 = 0, $6009 = 0, $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0, $6018 = 0, $6019 = 0; - var $602 = 0, $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0, $6026 = 0, $6027 = 0, $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0, $6036 = 0, $6037 = 0; - var $6038 = 0, $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0, $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0, $6054 = 0, $6055 = 0; - var $6056 = 0, $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0, $6062 = 0, $6063 = 0, $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0, $6072 = 0, $6073 = 0; - var $6074 = 0, $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0, $6080 = 0, $6081 = 0, $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0, $6090 = 0, $6091 = 0; - var $6092 = 0, $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0, $6099 = 0, $61 = 0, $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0, $6108 = 0, $6109 = 0; - var $611 = 0, $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0, $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0, $6126 = 0, $6127 = 0; - var $6128 = 0, $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6134 = 0, $6135 = 0, $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0, $6144 = 0, $6145 = 0; - var $6146 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6152 = 0, $6153 = 0, $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0, $6162 = 0, $6163 = 0; - var $6164 = 0, $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6170 = 0, $6171 = 0, $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0, $6180 = 0, $6181 = 0; - var $6182 = 0, $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0, $6189 = 0, $619 = 0, $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0, $6199 = 0, $62 = 0; - var $620 = 0, $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0, $6206 = 0, $6207 = 0, $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0, $6216 = 0, $6217 = 0; - var $6218 = 0, $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0, $6224 = 0, $6225 = 0, $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0, $6234 = 0, $6235 = 0; - var $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0, $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0, $6252 = 0, $6253 = 0; - var $6254 = 0, $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0, $6260 = 0, $6261 = 0, $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0, $6270 = 0, $6271 = 0; - var $6272 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0, $6279 = 0, $628 = 0, $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0, $6289 = 0, $629 = 0; - var $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $6298 = 0, $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0, $6306 = 0, $6307 = 0; - var $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0, $6314 = 0, $6315 = 0, $6316 = 0, $6317 = 0, $6318 = 0, $6319 = 0, $632 = 0, $6320 = 0, $6321 = 0, $6322 = 0, $6323 = 0, $6324 = 0, $6325 = 0; - var $6326 = 0, $6327 = 0, $6328 = 0, $6329 = 0, $633 = 0, $6330 = 0, $6331 = 0, $6332 = 0, $6333 = 0, $6334 = 0, $6335 = 0, $6336 = 0, $6337 = 0, $6338 = 0, $6339 = 0, $634 = 0, $6340 = 0, $6341 = 0, $6342 = 0, $6343 = 0; - var $6344 = 0, $6345 = 0, $6346 = 0, $6347 = 0, $6348 = 0, $6349 = 0, $635 = 0, $6350 = 0, $6351 = 0, $6352 = 0, $6353 = 0, $6354 = 0, $6355 = 0, $6356 = 0, $6357 = 0, $6358 = 0, $6359 = 0, $636 = 0, $6360 = 0, $6361 = 0; - var $6362 = 0, $6363 = 0, $6364 = 0, $6365 = 0, $6366 = 0, $6367 = 0, $6368 = 0, $6369 = 0, $637 = 0, $6370 = 0, $6371 = 0, $6372 = 0, $6373 = 0, $6374 = 0, $6375 = 0, $6376 = 0, $6377 = 0, $6378 = 0, $6379 = 0, $638 = 0; - var $6380 = 0, $6381 = 0, $6382 = 0, $6383 = 0, $6384 = 0, $6385 = 0, $6386 = 0, $6387 = 0, $6388 = 0, $6389 = 0, $639 = 0, $6390 = 0, $6391 = 0, $6392 = 0, $6393 = 0, $6394 = 0, $6395 = 0, $6396 = 0, $6397 = 0, $6398 = 0; - var $6399 = 0, $64 = 0, $640 = 0, $6400 = 0, $6401 = 0, $6402 = 0, $6403 = 0, $6404 = 0, $6405 = 0, $6406 = 0, $6407 = 0, $6408 = 0, $6409 = 0, $641 = 0, $6410 = 0, $6411 = 0, $6412 = 0, $6413 = 0, $6414 = 0, $6415 = 0; - var $6416 = 0, $6417 = 0, $6418 = 0, $6419 = 0, $642 = 0, $6420 = 0, $6421 = 0, $6422 = 0, $6423 = 0, $6424 = 0, $6425 = 0, $6426 = 0, $6427 = 0, $6428 = 0, $6429 = 0, $643 = 0, $6430 = 0, $6431 = 0, $6432 = 0, $6433 = 0; - var $6434 = 0, $6435 = 0, $6436 = 0, $6437 = 0, $6438 = 0, $6439 = 0, $644 = 0, $6440 = 0, $6441 = 0, $6442 = 0, $6443 = 0, $6444 = 0, $6445 = 0, $6446 = 0, $6447 = 0, $6448 = 0, $6449 = 0, $645 = 0, $6450 = 0, $6451 = 0; - var $6452 = 0, $6453 = 0, $6454 = 0, $6455 = 0, $6456 = 0, $6457 = 0, $6458 = 0, $6459 = 0, $646 = 0, $6460 = 0, $6461 = 0, $6462 = 0, $6463 = 0, $6464 = 0, $6465 = 0, $6466 = 0, $6467 = 0, $6468 = 0, $6469 = 0, $647 = 0; - var $6470 = 0, $6471 = 0, $6472 = 0, $6473 = 0, $6474 = 0, $6475 = 0, $6476 = 0, $6477 = 0, $6478 = 0, $6479 = 0, $648 = 0, $6480 = 0, $6481 = 0, $6482 = 0, $6483 = 0, $6484 = 0, $6485 = 0, $6486 = 0, $6487 = 0, $6488 = 0; - var $6489 = 0, $649 = 0, $6490 = 0, $6491 = 0, $6492 = 0, $6493 = 0, $6494 = 0, $6495 = 0, $6496 = 0, $6497 = 0, $6498 = 0, $6499 = 0, $65 = 0, $650 = 0, $6500 = 0, $6501 = 0, $6502 = 0, $6503 = 0, $6504 = 0, $6505 = 0; - var $6506 = 0, $6507 = 0, $6508 = 0, $6509 = 0, $651 = 0, $6510 = 0, $6511 = 0, $6512 = 0, $6513 = 0, $6514 = 0, $6515 = 0, $6516 = 0, $6517 = 0, $6518 = 0, $6519 = 0, $652 = 0, $6520 = 0, $6521 = 0, $6522 = 0, $6523 = 0; - var $6524 = 0, $6525 = 0, $6526 = 0, $6527 = 0, $6528 = 0, $6529 = 0, $653 = 0, $6530 = 0, $6531 = 0, $6532 = 0, $6533 = 0, $6534 = 0, $6535 = 0, $6536 = 0, $6537 = 0, $6538 = 0, $6539 = 0, $654 = 0, $6540 = 0, $6541 = 0; - var $6542 = 0, $6543 = 0, $6544 = 0, $6545 = 0, $6546 = 0, $6547 = 0, $6548 = 0, $6549 = 0, $655 = 0, $6550 = 0, $6551 = 0, $6552 = 0, $6553 = 0, $6554 = 0, $6555 = 0, $6556 = 0, $6557 = 0, $6558 = 0, $6559 = 0, $656 = 0; - var $6560 = 0, $6561 = 0, $6562 = 0, $6563 = 0, $6564 = 0, $6565 = 0, $6566 = 0, $6567 = 0, $6568 = 0, $6569 = 0, $657 = 0, $6570 = 0, $6571 = 0, $6572 = 0, $6573 = 0, $6574 = 0, $6575 = 0, $6576 = 0, $6577 = 0, $6578 = 0; - var $6579 = 0, $658 = 0, $6580 = 0, $6581 = 0, $6582 = 0, $6583 = 0, $6584 = 0, $6585 = 0, $6586 = 0, $6587 = 0, $6588 = 0, $6589 = 0, $659 = 0, $6590 = 0, $6591 = 0, $6592 = 0, $6593 = 0, $6594 = 0, $6595 = 0, $6596 = 0; - var $6597 = 0, $6598 = 0, $6599 = 0, $66 = 0, $660 = 0, $6600 = 0, $6601 = 0, $6602 = 0, $6603 = 0, $6604 = 0, $6605 = 0, $6606 = 0, $6607 = 0, $6608 = 0, $6609 = 0, $661 = 0, $6610 = 0, $6611 = 0, $6612 = 0, $6613 = 0; - var $6614 = 0, $6615 = 0, $6616 = 0, $6617 = 0, $6618 = 0, $6619 = 0, $662 = 0, $6620 = 0, $6621 = 0, $6622 = 0, $6623 = 0, $6624 = 0, $6625 = 0, $6626 = 0, $6627 = 0, $6628 = 0, $6629 = 0, $663 = 0, $6630 = 0, $6631 = 0; - var $6632 = 0, $6633 = 0, $6634 = 0, $6635 = 0, $6636 = 0, $6637 = 0, $6638 = 0, $6639 = 0, $664 = 0, $6640 = 0, $6641 = 0, $6642 = 0, $6643 = 0, $6644 = 0, $6645 = 0, $6646 = 0, $6647 = 0, $6648 = 0, $6649 = 0, $665 = 0; - var $6650 = 0, $6651 = 0, $6652 = 0, $6653 = 0, $6654 = 0, $6655 = 0, $6656 = 0, $6657 = 0, $6658 = 0, $6659 = 0, $666 = 0, $6660 = 0, $6661 = 0, $6662 = 0, $6663 = 0, $6664 = 0, $6665 = 0, $6666 = 0, $6667 = 0, $6668 = 0; - var $6669 = 0, $667 = 0, $6670 = 0, $6671 = 0, $6672 = 0, $6673 = 0, $6674 = 0, $6675 = 0, $6676 = 0, $6677 = 0, $6678 = 0, $6679 = 0, $668 = 0, $6680 = 0, $6681 = 0, $6682 = 0, $6683 = 0, $6684 = 0, $6685 = 0, $6686 = 0; - var $6687 = 0, $6688 = 0, $6689 = 0, $669 = 0, $6690 = 0, $6691 = 0, $6692 = 0, $6693 = 0, $6694 = 0, $6695 = 0, $6696 = 0, $6697 = 0, $6698 = 0, $6699 = 0, $67 = 0, $670 = 0, $6700 = 0, $6701 = 0, $6702 = 0, $6703 = 0; - var $6704 = 0, $6705 = 0, $6706 = 0, $6707 = 0, $6708 = 0, $6709 = 0, $671 = 0, $6710 = 0, $6711 = 0, $6712 = 0, $6713 = 0, $6714 = 0, $6715 = 0, $6716 = 0, $6717 = 0, $6718 = 0, $6719 = 0, $672 = 0, $6720 = 0, $6721 = 0; - var $6722 = 0, $6723 = 0, $6724 = 0, $6725 = 0, $6726 = 0, $6727 = 0, $6728 = 0, $6729 = 0, $673 = 0, $6730 = 0, $6731 = 0, $6732 = 0, $6733 = 0, $6734 = 0, $6735 = 0, $6736 = 0, $6737 = 0, $6738 = 0, $6739 = 0, $674 = 0; - var $6740 = 0, $6741 = 0, $6742 = 0, $6743 = 0, $6744 = 0, $6745 = 0, $6746 = 0, $6747 = 0, $6748 = 0, $6749 = 0, $675 = 0, $6750 = 0, $6751 = 0, $6752 = 0, $6753 = 0, $6754 = 0, $6755 = 0, $6756 = 0, $6757 = 0, $6758 = 0; - var $6759 = 0, $676 = 0, $6760 = 0, $6761 = 0, $6762 = 0, $6763 = 0, $6764 = 0, $6765 = 0, $6766 = 0, $6767 = 0, $6768 = 0, $6769 = 0, $677 = 0, $6770 = 0, $6771 = 0, $6772 = 0, $6773 = 0, $6774 = 0, $6775 = 0, $6776 = 0; - var $6777 = 0, $6778 = 0, $6779 = 0, $678 = 0, $6780 = 0, $6781 = 0, $6782 = 0, $6783 = 0, $6784 = 0, $6785 = 0, $6786 = 0, $6787 = 0, $6788 = 0, $6789 = 0, $679 = 0, $6790 = 0, $6791 = 0, $6792 = 0, $6793 = 0, $6794 = 0; - var $6795 = 0, $6796 = 0, $6797 = 0, $6798 = 0, $6799 = 0, $68 = 0, $680 = 0, $6800 = 0, $6801 = 0, $6802 = 0, $6803 = 0, $6804 = 0, $6805 = 0, $6806 = 0, $6807 = 0, $6808 = 0, $6809 = 0, $681 = 0, $6810 = 0, $6811 = 0; - var $6812 = 0, $6813 = 0, $6814 = 0, $6815 = 0, $6816 = 0, $6817 = 0, $6818 = 0, $6819 = 0, $682 = 0, $6820 = 0, $6821 = 0, $6822 = 0, $6823 = 0, $6824 = 0, $6825 = 0, $6826 = 0, $6827 = 0, $6828 = 0, $6829 = 0, $683 = 0; - var $6830 = 0, $6831 = 0, $6832 = 0, $6833 = 0, $6834 = 0, $6835 = 0, $6836 = 0, $6837 = 0, $6838 = 0, $6839 = 0, $684 = 0, $6840 = 0, $6841 = 0, $6842 = 0, $6843 = 0, $6844 = 0, $6845 = 0, $6846 = 0, $6847 = 0, $6848 = 0; - var $6849 = 0, $685 = 0, $6850 = 0, $6851 = 0, $6852 = 0, $6853 = 0, $6854 = 0, $6855 = 0, $6856 = 0, $6857 = 0, $6858 = 0, $6859 = 0, $686 = 0, $6860 = 0, $6861 = 0, $6862 = 0, $6863 = 0, $6864 = 0, $6865 = 0, $6866 = 0; - var $6867 = 0, $6868 = 0, $6869 = 0, $687 = 0, $6870 = 0, $6871 = 0, $6872 = 0, $6873 = 0, $6874 = 0, $6875 = 0, $6876 = 0, $6877 = 0, $6878 = 0, $6879 = 0, $688 = 0, $6880 = 0, $6881 = 0, $6882 = 0, $6883 = 0, $6884 = 0; - var $6885 = 0, $6886 = 0, $6887 = 0, $6888 = 0, $6889 = 0, $689 = 0, $6890 = 0, $6891 = 0, $6892 = 0, $6893 = 0, $6894 = 0, $6895 = 0, $6896 = 0, $6897 = 0, $6898 = 0, $6899 = 0, $69 = 0, $690 = 0, $6900 = 0, $6901 = 0; - var $6902 = 0, $6903 = 0, $6904 = 0, $6905 = 0, $6906 = 0, $6907 = 0, $6908 = 0, $6909 = 0, $691 = 0, $6910 = 0, $6911 = 0, $6912 = 0, $6913 = 0, $6914 = 0, $6915 = 0, $6916 = 0, $6917 = 0, $6918 = 0, $6919 = 0, $692 = 0; - var $6920 = 0, $6921 = 0, $6922 = 0, $6923 = 0, $6924 = 0, $6925 = 0, $6926 = 0, $6927 = 0, $6928 = 0, $6929 = 0, $693 = 0, $6930 = 0, $6931 = 0, $6932 = 0, $6933 = 0, $6934 = 0, $6935 = 0, $6936 = 0, $6937 = 0, $6938 = 0; - var $6939 = 0, $694 = 0, $6940 = 0, $6941 = 0, $6942 = 0, $6943 = 0, $6944 = 0, $6945 = 0, $6946 = 0, $6947 = 0, $6948 = 0, $6949 = 0, $695 = 0, $6950 = 0, $6951 = 0, $6952 = 0, $6953 = 0, $6954 = 0, $6955 = 0, $6956 = 0; - var $6957 = 0, $6958 = 0, $6959 = 0, $696 = 0, $6960 = 0, $6961 = 0, $6962 = 0, $6963 = 0, $6964 = 0, $6965 = 0, $6966 = 0, $6967 = 0, $6968 = 0, $6969 = 0, $697 = 0, $6970 = 0, $6971 = 0, $6972 = 0, $6973 = 0, $6974 = 0; - var $6975 = 0, $6976 = 0, $6977 = 0, $6978 = 0, $6979 = 0, $698 = 0, $6980 = 0, $6981 = 0, $6982 = 0, $6983 = 0, $6984 = 0, $6985 = 0, $6986 = 0, $6987 = 0, $6988 = 0, $6989 = 0, $699 = 0, $6990 = 0, $6991 = 0, $6992 = 0; - var $6993 = 0, $6994 = 0, $6995 = 0, $6996 = 0, $6997 = 0, $6998 = 0, $6999 = 0, $7 = 0, $70 = 0, $700 = 0, $7000 = 0, $7001 = 0, $7002 = 0, $7003 = 0, $7004 = 0, $7005 = 0, $7006 = 0, $7007 = 0, $7008 = 0, $7009 = 0; - var $701 = 0, $7010 = 0, $7011 = 0, $7012 = 0, $7013 = 0, $7014 = 0, $7015 = 0, $7016 = 0, $7017 = 0, $7018 = 0, $7019 = 0, $702 = 0, $7020 = 0, $7021 = 0, $7022 = 0, $7023 = 0, $7024 = 0, $7025 = 0, $7026 = 0, $7027 = 0; - var $7028 = 0, $7029 = 0, $703 = 0, $7030 = 0, $7031 = 0, $7032 = 0, $7033 = 0, $7034 = 0, $7035 = 0, $7036 = 0, $7037 = 0, $7038 = 0, $7039 = 0, $704 = 0, $7040 = 0, $7041 = 0, $7042 = 0, $7043 = 0, $7044 = 0, $7045 = 0; - var $7046 = 0, $7047 = 0, $7048 = 0, $7049 = 0, $705 = 0, $7050 = 0, $7051 = 0, $7052 = 0, $7053 = 0, $7054 = 0, $7055 = 0, $7056 = 0, $7057 = 0, $7058 = 0, $7059 = 0, $706 = 0, $7060 = 0, $7061 = 0, $7062 = 0, $7063 = 0; - var $7064 = 0, $7065 = 0, $7066 = 0, $7067 = 0, $7068 = 0, $7069 = 0, $707 = 0, $7070 = 0, $7071 = 0, $7072 = 0, $7073 = 0, $7074 = 0, $7075 = 0, $7076 = 0, $7077 = 0, $7078 = 0, $7079 = 0, $708 = 0, $7080 = 0, $7081 = 0; - var $7082 = 0, $7083 = 0, $7084 = 0, $7085 = 0, $7086 = 0, $7087 = 0, $7088 = 0, $7089 = 0, $709 = 0, $7090 = 0, $7091 = 0, $7092 = 0, $7093 = 0, $7094 = 0, $7095 = 0, $7096 = 0, $7097 = 0, $7098 = 0, $7099 = 0, $71 = 0; - var $710 = 0, $7100 = 0, $7101 = 0, $7102 = 0, $7103 = 0, $7104 = 0, $7105 = 0, $7106 = 0, $7107 = 0, $7108 = 0, $7109 = 0, $711 = 0, $7110 = 0, $7111 = 0, $7112 = 0, $7113 = 0, $7114 = 0, $7115 = 0, $7116 = 0, $7117 = 0; - var $7118 = 0, $7119 = 0, $712 = 0, $7120 = 0, $7121 = 0, $7122 = 0, $7123 = 0, $7124 = 0, $7125 = 0, $7126 = 0, $7127 = 0, $7128 = 0, $7129 = 0, $713 = 0, $7130 = 0, $7131 = 0, $7132 = 0, $7133 = 0, $7134 = 0, $7135 = 0; - var $7136 = 0, $7137 = 0, $7138 = 0, $7139 = 0, $714 = 0, $7140 = 0, $7141 = 0, $7142 = 0, $7143 = 0, $7144 = 0, $7145 = 0, $7146 = 0, $7147 = 0, $7148 = 0, $7149 = 0, $715 = 0, $7150 = 0, $7151 = 0, $7152 = 0, $7153 = 0; - var $7154 = 0, $7155 = 0, $7156 = 0, $7157 = 0, $7158 = 0, $7159 = 0, $716 = 0, $7160 = 0, $7161 = 0, $7162 = 0, $7163 = 0, $7164 = 0, $7165 = 0, $7166 = 0, $7167 = 0, $7168 = 0, $7169 = 0, $717 = 0, $7170 = 0, $7171 = 0; - var $7172 = 0, $7173 = 0, $7174 = 0, $7175 = 0, $7176 = 0, $7177 = 0, $7178 = 0, $7179 = 0, $718 = 0, $7180 = 0, $7181 = 0, $7182 = 0, $7183 = 0, $7184 = 0, $7185 = 0, $7186 = 0, $7187 = 0, $7188 = 0, $7189 = 0, $719 = 0; - var $7190 = 0, $7191 = 0, $7192 = 0, $7193 = 0, $7194 = 0, $7195 = 0, $7196 = 0, $7197 = 0, $7198 = 0, $7199 = 0, $72 = 0, $720 = 0, $7200 = 0, $7201 = 0, $7202 = 0, $7203 = 0, $7204 = 0, $7205 = 0, $7206 = 0, $7207 = 0; - var $7208 = 0, $7209 = 0, $721 = 0, $7210 = 0, $7211 = 0, $7212 = 0, $7213 = 0, $7214 = 0, $7215 = 0, $7216 = 0, $7217 = 0, $7218 = 0, $7219 = 0, $722 = 0, $7220 = 0, $7221 = 0, $7222 = 0, $7223 = 0, $7224 = 0, $7225 = 0; - var $7226 = 0, $7227 = 0, $7228 = 0, $7229 = 0, $723 = 0, $7230 = 0, $7231 = 0, $7232 = 0, $7233 = 0, $7234 = 0, $7235 = 0, $7236 = 0, $7237 = 0, $7238 = 0, $7239 = 0, $724 = 0, $7240 = 0, $7241 = 0, $7242 = 0, $7243 = 0; - var $7244 = 0, $7245 = 0, $7246 = 0, $7247 = 0, $7248 = 0, $7249 = 0, $725 = 0, $7250 = 0, $7251 = 0, $7252 = 0, $7253 = 0, $7254 = 0, $7255 = 0, $7256 = 0, $7257 = 0, $7258 = 0, $7259 = 0, $726 = 0, $7260 = 0, $7261 = 0; - var $7262 = 0, $7263 = 0, $7264 = 0, $7265 = 0, $7266 = 0, $7267 = 0, $7268 = 0, $7269 = 0, $727 = 0, $7270 = 0, $7271 = 0, $7272 = 0, $7273 = 0, $7274 = 0, $7275 = 0, $7276 = 0, $7277 = 0, $7278 = 0, $7279 = 0, $728 = 0; - var $7280 = 0, $7281 = 0, $7282 = 0, $7283 = 0, $7284 = 0, $7285 = 0, $7286 = 0, $7287 = 0, $7288 = 0, $7289 = 0, $729 = 0, $7290 = 0, $7291 = 0, $7292 = 0, $7293 = 0, $7294 = 0, $7295 = 0, $7296 = 0, $7297 = 0, $7298 = 0; - var $7299 = 0, $73 = 0, $730 = 0, $7300 = 0, $7301 = 0, $7302 = 0, $7303 = 0, $7304 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0; - var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0; - var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0; - var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0; - var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0; - var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0; - var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0; - var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0; - var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0; - var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0; - var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0; - var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0; - var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0; - var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aMem = 0, $aOffset = 0, $aOp = 0, $aPermute = 0, $aRes = 0, $aRoot = 0, $aTempRec = 0, $affinity = 0, $alreadyExists = 0, $apArg = 0, $apArg126 = 0, $avail = 0, $bIntint = 0, $bRev = 0, $c = 0; - var $cAff = 0, $cnt = 0, $cnt42 = 0, $db = 0, $desiredAutoCommit = 0, $eNew = 0, $eOld = 0, $encoding = 0, $eqOnly = 0, $exists = 0, $file_format = 0, $flags = 0, $flags1 = 0, $flags3 = 0, $flags79 = 0, $hasUpdateCallback = 0, $i = 0, $i111 = 0, $i12 = 0, $i124 = 0; - var $i15 = 0, $i3 = 0, $i8 = 0, $i91 = 0, $i96 = 0, $iA = 0, $iA5 = 0, $iB = 0, $iB6 = 0, $iCompare = 0, $iCookie = 0, $iDb = 0, $iDb23 = 0, $iDb76 = 0, $iDb81 = 0, $iGen = 0, $iKey = 0, $iKey39 = 0, $iKey45 = 0, $iMeta = 0; - var $iMeta19 = 0, $iMoved = 0, $iPrior = 0, $iQuery = 0, $iRollback = 0, $iSavepoint = 0, $iSet = 0, $idx = 0, $ii = 0, $ii32 = 0, $initData = 0, $isSchemaChange = 0, $isTransaction = 0, $isWriteLock = 0, $j = 0, $j82 = 0, $lastRowid = 0, $len = 0, $len16 = 0, $n = 0; - var $n1 = 0, $n2 = 0, $n55 = 0, $n64 = 0, $n7 = 0, $n89 = 0, $nArg = 0, $nArg123 = 0, $nByte = 0, $nByte13 = 0, $nByte83 = 0, $nChange = 0, $nChange$ = 0, $nData = 0, $nEntry = 0, $nErr = 0, $nField = 0, $nField20 = 0, $nField31 = 0, $nHdr = 0; - var $nKey = 0, $nKeyCol = 0, $nMem = 0, $nName = 0, $nProgressLimit = 0, $nRoot = 0, $nVarint = 0, $nVmStep = 0, $nZero = 0, $nZero47 = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0, $offset64 = 0, $op = 0, $op48 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0; - var $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond21 = 0, $or$cond23 = 0, $or$cond25 = 0, $or$cond28 = 0, $or$cond3 = 0, $or$cond30 = 0, $or$cond6 = 0, $or$cond8 = 0, $p1 = 0, $p1100 = 0, $p118 = 0, $p19 = 0, $p2 = 0, $p210 = 0, $p211 = 0, $p222 = 0, $pArgc = 0; - var $pBt = 0, $pBt128 = 0, $pBt98 = 0, $pBt99 = 0, $pC = 0, $pC27 = 0, $pC30 = 0, $pC33 = 0, $pC36 = 0, $pC40 = 0, $pC46 = 0, $pC49 = 0, $pC50 = 0, $pC52 = 0, $pC53 = 0, $pC56 = 0, $pC58 = 0, $pC59 = 0, $pC62 = 0, $pC65 = 0; - var $pC67 = 0, $pC68 = 0, $pC72 = 0, $pC73 = 0, $pC77 = 0, $pCaller = 0, $pColl = 0, $pCrsr = 0, $pCrsr17 = 0, $pCrsr37 = 0, $pCrsr54 = 0, $pCrsr60 = 0, $pCrsr63 = 0, $pCrsr69 = 0, $pCtx = 0, $pCtx4 = 0, $pCtx90 = 0, $pCtx92 = 0, $pCur = 0, $pCur103 = 0; - var $pCur109 = 0, $pCur115 = 0, $pCur119 = 0, $pCx = 0, $pCx26 = 0, $pCx28 = 0, $pData = 0, $pData0 = 0, $pDb = 0, $pDb24 = 0, $pDb80 = 0, $pDest = 0, $pDest114 = 0, $pEnd = 0, $pFrame = 0, $pFrame44 = 0, $pFrame85 = 0, $pFrame87 = 0, $pFrame88 = 0, $pFree = 0; - var $pIdxKey = 0, $pIn = 0, $pIn1 = 0, $pIn2 = 0, $pIn3 = 0, $pKey = 0, $pKeyInfo = 0, $pKeyInfo21 = 0, $pKeyInfo25 = 0, $pLast = 0, $pMem = 0, $pMem43 = 0, $pMem84 = 0, $pMem93 = 0, $pMem95 = 0, $pMem97 = 0, $pModule = 0, $pModule105 = 0, $pModule106 = 0, $pModule113 = 0; - var $pModule117 = 0, $pModule122 = 0, $pName = 0, $pNew = 0, $pOp = 0, $pOut = 0, $pPager = 0, $pProgram = 0, $pQuery = 0, $pRec = 0, $pReg = 0, $pRt = 0, $pSavepoint = 0, $pTabCur = 0, $pTmp = 0, $pVCur = 0, $pVCur107 = 0, $pVTab = 0, $pVar = 0, $pVtab = 0; - var $pVtab104 = 0, $pVtab108 = 0, $pVtab112 = 0, $pVtab116 = 0, $pVtab120 = 0, $pVtab121 = 0, $pX = 0, $pX127 = 0, $payloadSize64 = 0, $pcDest = 0, $pcx = 0, $pgno = 0, $pgno78 = 0, $pnErr = 0, $r = 0, $r35 = 0, $r71 = 0, $r75 = 0, $rA = 0, $rB = 0; - var $rc = 0, $res = 0, $res110 = 0, $res118 = 0, $res29 = 0, $res34 = 0, $res38 = 0, $res41 = 0, $res51 = 0, $res61 = 0, $res64 = 0, $res66 = 0, $res70 = 0, $res74 = 0, $resetSchemaOnFault = 0, $rowid = 0, $rowid125 = 0, $sContext = 0, $sMem = 0, $sMem102 = 0; - var $seekResult = 0, $serial_type = 0, $t = 0, $t86 = 0, $t94 = 0, $takeJump = 0, $type1 = 0, $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v57 = 0, $val = 0, $vararg_buffer = 0, $vararg_buffer32 = 0, $vararg_buffer35 = 0, $vararg_buffer38 = 0, $vararg_buffer43 = 0, $vararg_buffer46 = 0; - var $vararg_buffer48 = 0, $vararg_buffer51 = 0, $vararg_buffer53 = 0, $vararg_buffer55 = 0, $vararg_buffer57 = 0, $vararg_buffer62 = 0, $vararg_buffer64 = 0, $vararg_buffer67 = 0, $vararg_buffer70 = 0, $vararg_buffer73 = 0, $vararg_buffer76 = 0, $vararg_buffer81 = 0, $vararg_buffer83 = 0, $vararg_buffer85 = 0, $vararg_buffer88 = 0, $vararg_ptr31 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr60 = 0, $vararg_ptr61 = 0; - var $vararg_ptr79 = 0, $vararg_ptr80 = 0, $vtabOnConflict = 0, $wrFlag = 0, $z = 0, $z101 = 0, $z129 = 0, $zAffinity = 0, $zAffinity14 = 0, $zData = 0, $zDb = 0, $zEndHdr = 0, $zFilename = 0, $zHdr = 0, $zKey = 0, $zLogFmt = 0, $zMaster = 0, $zName = 0, $zNewRecord = 0, $zSql = 0; - var $zTab = 0, $zTbl = 0, $zTrace = 0, $zType = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $$old = 0, $$old25 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0; + var $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0; + var $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0; + var $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0; + var $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0; + var $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0; + var $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0; + var $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0.0, $1125 = 0, $1126 = 0.0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0.0, $1131 = 0.0, $1132 = 0.0, $1133 = 0.0, $1134 = 0.0, $1135 = 0.0, $1136 = 0.0, $1137 = 0.0, $1138 = 0.0, $1139 = 0.0; + var $114 = 0, $1140 = 0, $1141 = 0.0, $1142 = 0.0, $1143 = 0.0, $1144 = 0.0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0.0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0; + var $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0; + var $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0; + var $1194 = 0.0, $1195 = 0.0, $1196 = 0, $1197 = 0, $1198 = 0.0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0; + var $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0; + var $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0; + var $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0; + var $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0; + var $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0; + var $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0; + var $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0; + var $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0; + var $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0; + var $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0; + var $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0; + var $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0; + var $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0; + var $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0; + var $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0; + var $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0; + var $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0; + var $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0; + var $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0; + var $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0; + var $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0; + var $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0; + var $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0; + var $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0; + var $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0; + var $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0; + var $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0; + var $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0; + var $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0; + var $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0; + var $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0; + var $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0; + var $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0; + var $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0; + var $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0; + var $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0; + var $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0; + var $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0; + var $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0; + var $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0; + var $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0; + var $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0; + var $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0; + var $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0; + var $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0; + var $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0; + var $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0; + var $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0; + var $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0; + var $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0; + var $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0; + var $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0; + var $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0; + var $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0.0, $2182 = 0, $2183 = 0; + var $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0; + var $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0; + var $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0; + var $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0; + var $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0; + var $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0; + var $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0; + var $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0; + var $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0; + var $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0; + var $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0, $2381 = 0; + var $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0; + var $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0, $2416 = 0, $2417 = 0; + var $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0; + var $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0; + var $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0; + var $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0; + var $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0; + var $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0; + var $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0; + var $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0; + var $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0; + var $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0; + var $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0; + var $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0; + var $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0; + var $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0; + var $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0; + var $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0; + var $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0; + var $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0; + var $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0; + var $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0; + var $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0; + var $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0; + var $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0; + var $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0; + var $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0; + var $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0; + var $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0; + var $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0; + var $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0; + var $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0; + var $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0; + var $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0; + var $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0; + var $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0; + var $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0; + var $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0; + var $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0; + var $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0; + var $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0; + var $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0; + var $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0; + var $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0; + var $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0; + var $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0; + var $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0; + var $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0; + var $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0; + var $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0; + var $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0; + var $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0; + var $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0; + var $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0; + var $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0; + var $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0; + var $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0; + var $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0; + var $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0; + var $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0; + var $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0; + var $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0; + var $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0; + var $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0; + var $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0; + var $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0; + var $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0; + var $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0, $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0; + var $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0, $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0; + var $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0, $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0; + var $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0, $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $3659 = 0, $366 = 0; + var $3660 = 0, $3661 = 0, $3662 = 0, $3663 = 0, $3664 = 0, $3665 = 0, $3666 = 0, $3667 = 0, $3668 = 0, $3669 = 0, $367 = 0, $3670 = 0, $3671 = 0, $3672 = 0, $3673 = 0, $3674 = 0, $3675 = 0, $3676 = 0, $3677 = 0, $3678 = 0; + var $3679 = 0, $368 = 0, $3680 = 0, $3681 = 0, $3682 = 0, $3683 = 0, $3684 = 0, $3685 = 0, $3686 = 0, $3687 = 0, $3688 = 0, $3689 = 0, $369 = 0, $3690 = 0, $3691 = 0, $3692 = 0, $3693 = 0, $3694 = 0, $3695 = 0, $3696 = 0; + var $3697 = 0, $3698 = 0, $3699 = 0, $37 = 0, $370 = 0, $3700 = 0, $3701 = 0, $3702 = 0, $3703 = 0, $3704 = 0, $3705 = 0, $3706 = 0, $3707 = 0, $3708 = 0, $3709 = 0, $371 = 0, $3710 = 0, $3711 = 0, $3712 = 0, $3713 = 0; + var $3714 = 0, $3715 = 0, $3716 = 0, $3717 = 0, $3718 = 0, $3719 = 0, $372 = 0, $3720 = 0, $3721 = 0, $3722 = 0, $3723 = 0, $3724 = 0, $3725 = 0, $3726 = 0, $3727 = 0, $3728 = 0, $3729 = 0, $373 = 0, $3730 = 0, $3731 = 0; + var $3732 = 0, $3733 = 0, $3734 = 0, $3735 = 0, $3736 = 0, $3737 = 0, $3738 = 0, $3739 = 0, $374 = 0, $3740 = 0, $3741 = 0, $3742 = 0, $3743 = 0, $3744 = 0, $3745 = 0, $3746 = 0, $3747 = 0, $3748 = 0, $3749 = 0, $375 = 0; + var $3750 = 0, $3751 = 0, $3752 = 0, $3753 = 0, $3754 = 0, $3755 = 0, $3756 = 0, $3757 = 0, $3758 = 0, $3759 = 0, $376 = 0, $3760 = 0, $3761 = 0, $3762 = 0, $3763 = 0, $3764 = 0, $3765 = 0, $3766 = 0, $3767 = 0, $3768 = 0; + var $3769 = 0, $377 = 0, $3770 = 0, $3771 = 0, $3772 = 0, $3773 = 0, $3774 = 0, $3775 = 0, $3776 = 0, $3777 = 0, $3778 = 0, $3779 = 0, $378 = 0, $3780 = 0, $3781 = 0, $3782 = 0, $3783 = 0, $3784 = 0, $3785 = 0, $3786 = 0; + var $3787 = 0, $3788 = 0, $3789 = 0, $379 = 0, $3790 = 0, $3791 = 0, $3792 = 0, $3793 = 0, $3794 = 0, $3795 = 0, $3796 = 0, $3797 = 0, $3798 = 0, $3799 = 0, $38 = 0, $380 = 0, $3800 = 0, $3801 = 0, $3802 = 0, $3803 = 0; + var $3804 = 0, $3805 = 0, $3806 = 0, $3807 = 0, $3808 = 0, $3809 = 0, $381 = 0, $3810 = 0, $3811 = 0, $3812 = 0, $3813 = 0, $3814 = 0, $3815 = 0, $3816 = 0, $3817 = 0, $3818 = 0, $3819 = 0, $382 = 0, $3820 = 0, $3821 = 0; + var $3822 = 0, $3823 = 0, $3824 = 0, $3825 = 0, $3826 = 0, $3827 = 0, $3828 = 0, $3829 = 0, $383 = 0, $3830 = 0, $3831 = 0, $3832 = 0, $3833 = 0, $3834 = 0, $3835 = 0, $3836 = 0, $3837 = 0, $3838 = 0, $3839 = 0, $384 = 0; + var $3840 = 0, $3841 = 0, $3842 = 0, $3843 = 0, $3844 = 0, $3845 = 0, $3846 = 0, $3847 = 0, $3848 = 0, $3849 = 0, $385 = 0, $3850 = 0, $3851 = 0, $3852 = 0, $3853 = 0, $3854 = 0, $3855 = 0, $3856 = 0, $3857 = 0, $3858 = 0; + var $3859 = 0, $386 = 0, $3860 = 0, $3861 = 0, $3862 = 0, $3863 = 0, $3864 = 0, $3865 = 0, $3866 = 0, $3867 = 0, $3868 = 0, $3869 = 0, $387 = 0, $3870 = 0, $3871 = 0, $3872 = 0, $3873 = 0, $3874 = 0, $3875 = 0, $3876 = 0; + var $3877 = 0, $3878 = 0, $3879 = 0, $388 = 0, $3880 = 0, $3881 = 0, $3882 = 0, $3883 = 0, $3884 = 0, $3885 = 0, $3886 = 0, $3887 = 0, $3888 = 0, $3889 = 0, $389 = 0, $3890 = 0, $3891 = 0, $3892 = 0, $3893 = 0, $3894 = 0; + var $3895 = 0, $3896 = 0, $3897 = 0, $3898 = 0, $3899 = 0, $39 = 0, $390 = 0, $3900 = 0, $3901 = 0, $3902 = 0, $3903 = 0, $3904 = 0, $3905 = 0, $3906 = 0, $3907 = 0, $3908 = 0, $3909 = 0, $391 = 0, $3910 = 0, $3911 = 0; + var $3912 = 0, $3913 = 0, $3914 = 0, $3915 = 0, $3916 = 0, $3917 = 0, $3918 = 0, $3919 = 0, $392 = 0, $3920 = 0, $3921 = 0, $3922 = 0, $3923 = 0, $3924 = 0, $3925 = 0, $3926 = 0, $3927 = 0, $3928 = 0, $3929 = 0, $393 = 0; + var $3930 = 0, $3931 = 0, $3932 = 0, $3933 = 0, $3934 = 0, $3935 = 0, $3936 = 0, $3937 = 0, $3938 = 0, $3939 = 0, $394 = 0, $3940 = 0, $3941 = 0, $3942 = 0, $3943 = 0, $3944 = 0, $3945 = 0, $3946 = 0, $3947 = 0, $3948 = 0; + var $3949 = 0, $395 = 0, $3950 = 0, $3951 = 0, $3952 = 0, $3953 = 0, $3954 = 0, $3955 = 0, $3956 = 0, $3957 = 0, $3958 = 0, $3959 = 0.0, $396 = 0, $3960 = 0, $3961 = 0, $3962 = 0, $3963 = 0, $3964 = 0, $3965 = 0, $3966 = 0.0; + var $3967 = 0, $3968 = 0, $3969 = 0, $397 = 0, $3970 = 0, $3971 = 0, $3972 = 0, $3973 = 0, $3974 = 0.0, $3975 = 0, $3976 = 0, $3977 = 0, $3978 = 0, $3979 = 0, $398 = 0, $3980 = 0, $3981 = 0.0, $3982 = 0, $3983 = 0, $3984 = 0; + var $3985 = 0, $3986 = 0, $3987 = 0, $3988 = 0, $3989 = 0, $399 = 0, $3990 = 0, $3991 = 0, $3992 = 0, $3993 = 0, $3994 = 0, $3995 = 0, $3996 = 0, $3997 = 0, $3998 = 0, $3999 = 0, $4 = 0, $40 = 0, $400 = 0, $4000 = 0; + var $4001 = 0, $4002 = 0, $4003 = 0, $4004 = 0, $4005 = 0, $4006 = 0, $4007 = 0, $4008 = 0, $4009 = 0, $401 = 0, $4010 = 0, $4011 = 0, $4012 = 0, $4013 = 0, $4014 = 0, $4015 = 0, $4016 = 0, $4017 = 0, $4018 = 0, $4019 = 0; + var $402 = 0, $4020 = 0, $4021 = 0, $4022 = 0, $4023 = 0, $4024 = 0, $4025 = 0, $4026 = 0, $4027 = 0, $4028 = 0, $4029 = 0, $403 = 0, $4030 = 0, $4031 = 0, $4032 = 0, $4033 = 0, $4034 = 0, $4035 = 0, $4036 = 0, $4037 = 0; + var $4038 = 0, $4039 = 0, $404 = 0, $4040 = 0, $4041 = 0, $4042 = 0, $4043 = 0, $4044 = 0, $4045 = 0, $4046 = 0, $4047 = 0, $4048 = 0, $4049 = 0, $405 = 0, $4050 = 0, $4051 = 0, $4052 = 0, $4053 = 0, $4054 = 0, $4055 = 0; + var $4056 = 0, $4057 = 0, $4058 = 0, $4059 = 0, $406 = 0, $4060 = 0, $4061 = 0, $4062 = 0, $4063 = 0, $4064 = 0, $4065 = 0, $4066 = 0, $4067 = 0, $4068 = 0, $4069 = 0, $407 = 0, $4070 = 0, $4071 = 0, $4072 = 0, $4073 = 0; + var $4074 = 0, $4075 = 0, $4076 = 0, $4077 = 0, $4078 = 0, $4079 = 0, $408 = 0, $4080 = 0, $4081 = 0, $4082 = 0, $4083 = 0, $4084 = 0, $4085 = 0, $4086 = 0, $4087 = 0, $4088 = 0, $4089 = 0, $409 = 0, $4090 = 0, $4091 = 0; + var $4092 = 0, $4093 = 0, $4094 = 0, $4095 = 0, $4096 = 0, $4097 = 0, $4098 = 0, $4099 = 0, $41 = 0, $410 = 0, $4100 = 0, $4101 = 0, $4102 = 0, $4103 = 0, $4104 = 0, $4105 = 0, $4106 = 0, $4107 = 0, $4108 = 0, $4109 = 0; + var $411 = 0.0, $4110 = 0, $4111 = 0, $4112 = 0, $4113 = 0, $4114 = 0, $4115 = 0, $4116 = 0, $4117 = 0, $4118 = 0, $4119 = 0, $412 = 0, $4120 = 0, $4121 = 0, $4122 = 0, $4123 = 0, $4124 = 0, $4125 = 0, $4126 = 0, $4127 = 0; + var $4128 = 0, $4129 = 0, $413 = 0, $4130 = 0, $4131 = 0, $4132 = 0, $4133 = 0, $4134 = 0, $4135 = 0, $4136 = 0, $4137 = 0, $4138 = 0, $4139 = 0, $414 = 0, $4140 = 0, $4141 = 0, $4142 = 0, $4143 = 0, $4144 = 0, $4145 = 0; + var $4146 = 0, $4147 = 0, $4148 = 0, $4149 = 0, $415 = 0, $4150 = 0, $4151 = 0, $4152 = 0, $4153 = 0, $4154 = 0, $4155 = 0, $4156 = 0, $4157 = 0, $4158 = 0, $4159 = 0, $416 = 0, $4160 = 0, $4161 = 0, $4162 = 0, $4163 = 0; + var $4164 = 0, $4165 = 0, $4166 = 0, $4167 = 0, $4168 = 0, $4169 = 0, $417 = 0, $4170 = 0, $4171 = 0, $4172 = 0, $4173 = 0, $4174 = 0, $4175 = 0, $4176 = 0, $4177 = 0, $4178 = 0, $4179 = 0, $418 = 0, $4180 = 0, $4181 = 0; + var $4182 = 0, $4183 = 0, $4184 = 0, $4185 = 0, $4186 = 0, $4187 = 0, $4188 = 0, $4189 = 0, $419 = 0, $4190 = 0, $4191 = 0, $4192 = 0, $4193 = 0, $4194 = 0, $4195 = 0, $4196 = 0, $4197 = 0, $4198 = 0, $4199 = 0, $42 = 0; + var $420 = 0, $4200 = 0, $4201 = 0, $4202 = 0, $4203 = 0, $4204 = 0, $4205 = 0, $4206 = 0, $4207 = 0, $4208 = 0, $4209 = 0, $421 = 0, $4210 = 0, $4211 = 0, $4212 = 0, $4213 = 0, $4214 = 0, $4215 = 0, $4216 = 0, $4217 = 0; + var $4218 = 0, $4219 = 0, $422 = 0, $4220 = 0, $4221 = 0, $4222 = 0, $4223 = 0, $4224 = 0, $4225 = 0, $4226 = 0, $4227 = 0, $4228 = 0, $4229 = 0, $423 = 0, $4230 = 0, $4231 = 0, $4232 = 0, $4233 = 0, $4234 = 0, $4235 = 0; + var $4236 = 0, $4237 = 0, $4238 = 0, $4239 = 0, $424 = 0, $4240 = 0, $4241 = 0, $4242 = 0, $4243 = 0, $4244 = 0, $4245 = 0, $4246 = 0, $4247 = 0, $4248 = 0, $4249 = 0, $425 = 0, $4250 = 0, $4251 = 0, $4252 = 0, $4253 = 0; + var $4254 = 0, $4255 = 0, $4256 = 0, $4257 = 0, $4258 = 0, $4259 = 0, $426 = 0, $4260 = 0, $4261 = 0, $4262 = 0, $4263 = 0, $4264 = 0, $4265 = 0, $4266 = 0, $4267 = 0, $4268 = 0, $4269 = 0, $427 = 0, $4270 = 0, $4271 = 0; + var $4272 = 0, $4273 = 0, $4274 = 0, $4275 = 0, $4276 = 0, $4277 = 0, $4278 = 0, $4279 = 0, $428 = 0, $4280 = 0, $4281 = 0, $4282 = 0, $4283 = 0, $4284 = 0, $4285 = 0, $4286 = 0, $4287 = 0, $4288 = 0, $4289 = 0, $429 = 0; + var $4290 = 0, $4291 = 0, $4292 = 0, $4293 = 0, $4294 = 0, $4295 = 0, $4296 = 0, $4297 = 0, $4298 = 0, $4299 = 0, $43 = 0, $430 = 0, $4300 = 0, $4301 = 0, $4302 = 0, $4303 = 0, $4304 = 0, $4305 = 0, $4306 = 0, $4307 = 0; + var $4308 = 0, $4309 = 0, $431 = 0, $4310 = 0, $4311 = 0, $4312 = 0, $4313 = 0, $4314 = 0, $4315 = 0, $4316 = 0, $4317 = 0, $4318 = 0, $4319 = 0, $432 = 0, $4320 = 0, $4321 = 0, $4322 = 0, $4323 = 0, $4324 = 0, $4325 = 0; + var $4326 = 0, $4327 = 0, $4328 = 0, $4329 = 0, $433 = 0, $4330 = 0, $4331 = 0, $4332 = 0, $4333 = 0, $4334 = 0, $4335 = 0, $4336 = 0, $4337 = 0, $4338 = 0, $4339 = 0, $434 = 0, $4340 = 0, $4341 = 0, $4342 = 0, $4343 = 0; + var $4344 = 0, $4345 = 0, $4346 = 0, $4347 = 0, $4348 = 0, $4349 = 0, $435 = 0, $4350 = 0, $4351 = 0, $4352 = 0, $4353 = 0, $4354 = 0, $4355 = 0, $4356 = 0, $4357 = 0, $4358 = 0, $4359 = 0, $436 = 0, $4360 = 0, $4361 = 0; + var $4362 = 0, $4363 = 0, $4364 = 0, $4365 = 0, $4366 = 0, $4367 = 0, $4368 = 0, $4369 = 0, $437 = 0, $4370 = 0, $4371 = 0, $4372 = 0, $4373 = 0, $4374 = 0, $4375 = 0, $4376 = 0, $4377 = 0, $4378 = 0, $4379 = 0, $438 = 0; + var $4380 = 0, $4381 = 0, $4382 = 0, $4383 = 0, $4384 = 0, $4385 = 0, $4386 = 0, $4387 = 0, $4388 = 0, $4389 = 0, $439 = 0, $4390 = 0, $4391 = 0, $4392 = 0, $4393 = 0, $4394 = 0, $4395 = 0, $4396 = 0, $4397 = 0, $4398 = 0; + var $4399 = 0, $44 = 0, $440 = 0, $4400 = 0, $4401 = 0, $4402 = 0, $4403 = 0, $4404 = 0, $4405 = 0, $4406 = 0, $4407 = 0, $4408 = 0, $4409 = 0, $441 = 0, $4410 = 0, $4411 = 0, $4412 = 0, $4413 = 0, $4414 = 0, $4415 = 0; + var $4416 = 0, $4417 = 0, $4418 = 0, $4419 = 0, $442 = 0, $4420 = 0, $4421 = 0, $4422 = 0, $4423 = 0, $4424 = 0, $4425 = 0, $4426 = 0, $4427 = 0, $4428 = 0, $4429 = 0, $443 = 0, $4430 = 0, $4431 = 0, $4432 = 0, $4433 = 0; + var $4434 = 0, $4435 = 0, $4436 = 0, $4437 = 0, $4438 = 0, $4439 = 0, $444 = 0, $4440 = 0, $4441 = 0, $4442 = 0, $4443 = 0, $4444 = 0, $4445 = 0, $4446 = 0, $4447 = 0, $4448 = 0, $4449 = 0, $445 = 0, $4450 = 0, $4451 = 0; + var $4452 = 0, $4453 = 0, $4454 = 0, $4455 = 0, $4456 = 0, $4457 = 0, $4458 = 0, $4459 = 0, $446 = 0, $4460 = 0, $4461 = 0, $4462 = 0, $4463 = 0, $4464 = 0, $4465 = 0, $4466 = 0, $4467 = 0, $4468 = 0, $4469 = 0, $447 = 0; + var $4470 = 0, $4471 = 0, $4472 = 0, $4473 = 0, $4474 = 0, $4475 = 0, $4476 = 0, $4477 = 0, $4478 = 0, $4479 = 0, $448 = 0, $4480 = 0, $4481 = 0, $4482 = 0, $4483 = 0, $4484 = 0, $4485 = 0, $4486 = 0, $4487 = 0, $4488 = 0; + var $4489 = 0, $449 = 0, $4490 = 0, $4491 = 0, $4492 = 0, $4493 = 0, $4494 = 0, $4495 = 0, $4496 = 0, $4497 = 0, $4498 = 0, $4499 = 0, $45 = 0, $450 = 0, $4500 = 0, $4501 = 0, $4502 = 0, $4503 = 0, $4504 = 0, $4505 = 0; + var $4506 = 0, $4507 = 0, $4508 = 0, $4509 = 0, $451 = 0, $4510 = 0, $4511 = 0, $4512 = 0, $4513 = 0, $4514 = 0, $4515 = 0, $4516 = 0, $4517 = 0, $4518 = 0, $4519 = 0, $452 = 0, $4520 = 0, $4521 = 0, $4522 = 0, $4523 = 0; + var $4524 = 0, $4525 = 0, $4526 = 0, $4527 = 0, $4528 = 0, $4529 = 0, $453 = 0, $4530 = 0, $4531 = 0, $4532 = 0, $4533 = 0, $4534 = 0, $4535 = 0, $4536 = 0, $4537 = 0, $4538 = 0, $4539 = 0, $454 = 0, $4540 = 0, $4541 = 0; + var $4542 = 0, $4543 = 0, $4544 = 0, $4545 = 0, $4546 = 0, $4547 = 0, $4548 = 0, $4549 = 0, $455 = 0, $4550 = 0, $4551 = 0, $4552 = 0, $4553 = 0, $4554 = 0, $4555 = 0, $4556 = 0, $4557 = 0, $4558 = 0, $4559 = 0, $456 = 0; + var $4560 = 0, $4561 = 0, $4562 = 0, $4563 = 0, $4564 = 0, $4565 = 0, $4566 = 0, $4567 = 0, $4568 = 0, $4569 = 0, $457 = 0, $4570 = 0, $4571 = 0, $4572 = 0, $4573 = 0, $4574 = 0, $4575 = 0, $4576 = 0, $4577 = 0, $4578 = 0; + var $4579 = 0, $458 = 0, $4580 = 0, $4581 = 0, $4582 = 0, $4583 = 0, $4584 = 0, $4585 = 0, $4586 = 0, $4587 = 0, $4588 = 0, $4589 = 0, $459 = 0, $4590 = 0, $4591 = 0, $4592 = 0, $4593 = 0, $4594 = 0, $4595 = 0, $4596 = 0; + var $4597 = 0, $4598 = 0, $4599 = 0, $46 = 0, $460 = 0, $4600 = 0, $4601 = 0, $4602 = 0, $4603 = 0, $4604 = 0, $4605 = 0, $4606 = 0, $4607 = 0, $4608 = 0, $4609 = 0, $461 = 0, $4610 = 0, $4611 = 0, $4612 = 0, $4613 = 0; + var $4614 = 0, $4615 = 0, $4616 = 0, $4617 = 0, $4618 = 0, $4619 = 0, $462 = 0, $4620 = 0, $4621 = 0, $4622 = 0, $4623 = 0, $4624 = 0, $4625 = 0, $4626 = 0, $4627 = 0, $4628 = 0, $4629 = 0, $463 = 0, $4630 = 0, $4631 = 0; + var $4632 = 0, $4633 = 0, $4634 = 0, $4635 = 0, $4636 = 0, $4637 = 0, $4638 = 0, $4639 = 0, $464 = 0, $4640 = 0, $4641 = 0, $4642 = 0, $4643 = 0, $4644 = 0, $4645 = 0, $4646 = 0, $4647 = 0, $4648 = 0, $4649 = 0, $465 = 0; + var $4650 = 0, $4651 = 0, $4652 = 0, $4653 = 0, $4654 = 0, $4655 = 0, $4656 = 0, $4657 = 0, $4658 = 0, $4659 = 0, $466 = 0, $4660 = 0, $4661 = 0, $4662 = 0, $4663 = 0, $4664 = 0, $4665 = 0, $4666 = 0, $4667 = 0, $4668 = 0; + var $4669 = 0, $467 = 0, $4670 = 0, $4671 = 0, $4672 = 0, $4673 = 0, $4674 = 0, $4675 = 0, $4676 = 0, $4677 = 0, $4678 = 0, $4679 = 0, $468 = 0, $4680 = 0, $4681 = 0, $4682 = 0, $4683 = 0, $4684 = 0, $4685 = 0, $4686 = 0; + var $4687 = 0, $4688 = 0, $4689 = 0, $469 = 0, $4690 = 0, $4691 = 0, $4692 = 0, $4693 = 0, $4694 = 0, $4695 = 0, $4696 = 0, $4697 = 0, $4698 = 0, $4699 = 0, $47 = 0, $470 = 0, $4700 = 0, $4701 = 0, $4702 = 0, $4703 = 0; + var $4704 = 0, $4705 = 0, $4706 = 0, $4707 = 0, $4708 = 0, $4709 = 0, $471 = 0, $4710 = 0, $4711 = 0, $4712 = 0, $4713 = 0, $4714 = 0, $4715 = 0, $4716 = 0, $4717 = 0, $4718 = 0, $4719 = 0, $472 = 0, $4720 = 0, $4721 = 0; + var $4722 = 0, $4723 = 0, $4724 = 0, $4725 = 0, $4726 = 0, $4727 = 0, $4728 = 0, $4729 = 0, $473 = 0, $4730 = 0, $4731 = 0, $4732 = 0, $4733 = 0, $4734 = 0, $4735 = 0, $4736 = 0, $4737 = 0, $4738 = 0, $4739 = 0, $474 = 0; + var $4740 = 0, $4741 = 0, $4742 = 0, $4743 = 0, $4744 = 0, $4745 = 0, $4746 = 0, $4747 = 0, $4748 = 0, $4749 = 0, $475 = 0, $4750 = 0, $4751 = 0, $4752 = 0, $4753 = 0, $4754 = 0, $4755 = 0, $4756 = 0, $4757 = 0, $4758 = 0; + var $4759 = 0, $476 = 0, $4760 = 0, $4761 = 0, $4762 = 0, $4763 = 0, $4764 = 0, $4765 = 0, $4766 = 0, $4767 = 0, $4768 = 0, $4769 = 0, $477 = 0, $4770 = 0, $4771 = 0, $4772 = 0, $4773 = 0, $4774 = 0, $4775 = 0, $4776 = 0; + var $4777 = 0, $4778 = 0, $4779 = 0, $478 = 0, $4780 = 0, $4781 = 0, $4782 = 0, $4783 = 0, $4784 = 0, $4785 = 0, $4786 = 0, $4787 = 0, $4788 = 0, $4789 = 0, $479 = 0, $4790 = 0, $4791 = 0, $4792 = 0, $4793 = 0, $4794 = 0; + var $4795 = 0, $4796 = 0, $4797 = 0, $4798 = 0, $4799 = 0, $48 = 0, $480 = 0, $4800 = 0, $4801 = 0, $4802 = 0, $4803 = 0, $4804 = 0, $4805 = 0, $4806 = 0, $4807 = 0, $4808 = 0, $4809 = 0, $481 = 0, $4810 = 0, $4811 = 0; + var $4812 = 0, $4813 = 0, $4814 = 0, $4815 = 0, $4816 = 0, $4817 = 0, $4818 = 0, $4819 = 0, $482 = 0, $4820 = 0, $4821 = 0, $4822 = 0, $4823 = 0, $4824 = 0, $4825 = 0, $4826 = 0, $4827 = 0, $4828 = 0, $4829 = 0, $483 = 0; + var $4830 = 0, $4831 = 0, $4832 = 0, $4833 = 0, $4834 = 0, $4835 = 0, $4836 = 0, $4837 = 0, $4838 = 0, $4839 = 0, $484 = 0, $4840 = 0, $4841 = 0, $4842 = 0, $4843 = 0, $4844 = 0, $4845 = 0, $4846 = 0, $4847 = 0, $4848 = 0; + var $4849 = 0, $485 = 0, $4850 = 0, $4851 = 0, $4852 = 0, $4853 = 0, $4854 = 0, $4855 = 0, $4856 = 0, $4857 = 0, $4858 = 0, $4859 = 0, $486 = 0, $4860 = 0, $4861 = 0, $4862 = 0, $4863 = 0, $4864 = 0, $4865 = 0, $4866 = 0; + var $4867 = 0, $4868 = 0, $4869 = 0, $487 = 0, $4870 = 0, $4871 = 0, $4872 = 0, $4873 = 0, $4874 = 0, $4875 = 0, $4876 = 0, $4877 = 0, $4878 = 0, $4879 = 0, $488 = 0, $4880 = 0, $4881 = 0, $4882 = 0, $4883 = 0, $4884 = 0; + var $4885 = 0, $4886 = 0, $4887 = 0, $4888 = 0, $4889 = 0, $489 = 0, $4890 = 0, $4891 = 0, $4892 = 0, $4893 = 0, $4894 = 0, $4895 = 0, $4896 = 0, $4897 = 0, $4898 = 0, $4899 = 0, $49 = 0, $490 = 0, $4900 = 0, $4901 = 0; + var $4902 = 0, $4903 = 0, $4904 = 0, $4905 = 0, $4906 = 0, $4907 = 0, $4908 = 0, $4909 = 0, $491 = 0, $4910 = 0, $4911 = 0, $4912 = 0, $4913 = 0, $4914 = 0, $4915 = 0, $4916 = 0, $4917 = 0, $4918 = 0, $4919 = 0, $492 = 0; + var $4920 = 0, $4921 = 0, $4922 = 0, $4923 = 0, $4924 = 0, $4925 = 0, $4926 = 0, $4927 = 0, $4928 = 0, $4929 = 0, $493 = 0, $4930 = 0, $4931 = 0, $4932 = 0, $4933 = 0, $4934 = 0, $4935 = 0, $4936 = 0, $4937 = 0, $4938 = 0; + var $4939 = 0, $494 = 0, $4940 = 0, $4941 = 0, $4942 = 0, $4943 = 0, $4944 = 0, $4945 = 0, $4946 = 0, $4947 = 0, $4948 = 0, $4949 = 0, $495 = 0, $4950 = 0, $4951 = 0, $4952 = 0, $4953 = 0, $4954 = 0, $4955 = 0, $4956 = 0; + var $4957 = 0, $4958 = 0, $4959 = 0, $496 = 0, $4960 = 0, $4961 = 0, $4962 = 0, $4963 = 0, $4964 = 0, $4965 = 0, $4966 = 0, $4967 = 0, $4968 = 0, $4969 = 0, $497 = 0, $4970 = 0, $4971 = 0, $4972 = 0, $4973 = 0, $4974 = 0; + var $4975 = 0, $4976 = 0, $4977 = 0, $4978 = 0, $4979 = 0, $498 = 0, $4980 = 0, $4981 = 0, $4982 = 0, $4983 = 0, $4984 = 0, $4985 = 0, $4986 = 0, $4987 = 0, $4988 = 0, $4989 = 0, $499 = 0, $4990 = 0, $4991 = 0, $4992 = 0; + var $4993 = 0, $4994 = 0, $4995 = 0, $4996 = 0, $4997 = 0, $4998 = 0, $4999 = 0, $5 = 0, $50 = 0, $500 = 0, $5000 = 0, $5001 = 0, $5002 = 0, $5003 = 0, $5004 = 0, $5005 = 0, $5006 = 0, $5007 = 0, $5008 = 0, $5009 = 0; + var $501 = 0, $5010 = 0, $5011 = 0, $5012 = 0, $5013 = 0, $5014 = 0, $5015 = 0, $5016 = 0, $5017 = 0, $5018 = 0, $5019 = 0, $502 = 0, $5020 = 0, $5021 = 0, $5022 = 0, $5023 = 0, $5024 = 0, $5025 = 0, $5026 = 0, $5027 = 0; + var $5028 = 0, $5029 = 0, $503 = 0, $5030 = 0, $5031 = 0, $5032 = 0, $5033 = 0, $5034 = 0, $5035 = 0, $5036 = 0, $5037 = 0, $5038 = 0, $5039 = 0, $504 = 0, $5040 = 0, $5041 = 0, $5042 = 0, $5043 = 0, $5044 = 0, $5045 = 0; + var $5046 = 0, $5047 = 0, $5048 = 0, $5049 = 0, $505 = 0, $5050 = 0, $5051 = 0, $5052 = 0, $5053 = 0, $5054 = 0, $5055 = 0, $5056 = 0, $5057 = 0, $5058 = 0, $5059 = 0, $506 = 0, $5060 = 0, $5061 = 0, $5062 = 0, $5063 = 0; + var $5064 = 0, $5065 = 0, $5066 = 0, $5067 = 0, $5068 = 0, $5069 = 0, $507 = 0, $5070 = 0, $5071 = 0, $5072 = 0, $5073 = 0, $5074 = 0, $5075 = 0, $5076 = 0, $5077 = 0, $5078 = 0, $5079 = 0, $508 = 0, $5080 = 0, $5081 = 0; + var $5082 = 0, $5083 = 0, $5084 = 0, $5085 = 0, $5086 = 0, $5087 = 0, $5088 = 0, $5089 = 0, $509 = 0, $5090 = 0, $5091 = 0, $5092 = 0, $5093 = 0, $5094 = 0, $5095 = 0, $5096 = 0, $5097 = 0, $5098 = 0, $5099 = 0, $51 = 0; + var $510 = 0, $5100 = 0, $5101 = 0, $5102 = 0, $5103 = 0, $5104 = 0, $5105 = 0, $5106 = 0, $5107 = 0, $5108 = 0, $5109 = 0, $511 = 0, $5110 = 0, $5111 = 0, $5112 = 0, $5113 = 0, $5114 = 0, $5115 = 0, $5116 = 0, $5117 = 0; + var $5118 = 0, $5119 = 0, $512 = 0, $5120 = 0, $5121 = 0, $5122 = 0, $5123 = 0, $5124 = 0, $5125 = 0, $5126 = 0, $5127 = 0, $5128 = 0, $5129 = 0, $513 = 0, $5130 = 0, $5131 = 0, $5132 = 0, $5133 = 0, $5134 = 0, $5135 = 0; + var $5136 = 0, $5137 = 0, $5138 = 0, $5139 = 0, $514 = 0, $5140 = 0, $5141 = 0, $5142 = 0, $5143 = 0, $5144 = 0, $5145 = 0, $5146 = 0, $5147 = 0, $5148 = 0, $5149 = 0, $515 = 0, $5150 = 0, $5151 = 0, $5152 = 0, $5153 = 0; + var $5154 = 0, $5155 = 0, $5156 = 0, $5157 = 0, $5158 = 0, $5159 = 0, $516 = 0, $5160 = 0, $5161 = 0, $5162 = 0, $5163 = 0, $5164 = 0, $5165 = 0, $5166 = 0, $5167 = 0, $5168 = 0, $5169 = 0, $517 = 0, $5170 = 0, $5171 = 0; + var $5172 = 0, $5173 = 0, $5174 = 0, $5175 = 0, $5176 = 0, $5177 = 0, $5178 = 0, $5179 = 0, $518 = 0, $5180 = 0, $5181 = 0, $5182 = 0, $5183 = 0, $5184 = 0, $5185 = 0, $5186 = 0, $5187 = 0, $5188 = 0, $5189 = 0, $519 = 0; + var $5190 = 0, $5191 = 0, $5192 = 0, $5193 = 0, $5194 = 0, $5195 = 0, $5196 = 0, $5197 = 0, $5198 = 0, $5199 = 0, $52 = 0, $520 = 0, $5200 = 0, $5201 = 0, $5202 = 0, $5203 = 0, $5204 = 0, $5205 = 0, $5206 = 0, $5207 = 0; + var $5208 = 0, $5209 = 0, $521 = 0, $5210 = 0, $5211 = 0, $5212 = 0, $5213 = 0, $5214 = 0, $5215 = 0, $5216 = 0, $5217 = 0, $5218 = 0, $5219 = 0, $522 = 0, $5220 = 0, $5221 = 0, $5222 = 0, $5223 = 0, $5224 = 0, $5225 = 0; + var $5226 = 0, $5227 = 0, $5228 = 0, $5229 = 0, $523 = 0, $5230 = 0, $5231 = 0, $5232 = 0, $5233 = 0, $5234 = 0, $5235 = 0, $5236 = 0, $5237 = 0, $5238 = 0, $5239 = 0, $524 = 0, $5240 = 0, $5241 = 0, $5242 = 0, $5243 = 0; + var $5244 = 0, $5245 = 0, $5246 = 0, $5247 = 0, $5248 = 0, $5249 = 0, $525 = 0, $5250 = 0, $5251 = 0, $5252 = 0, $5253 = 0, $5254 = 0, $5255 = 0, $5256 = 0, $5257 = 0, $5258 = 0, $5259 = 0, $526 = 0, $5260 = 0, $5261 = 0; + var $5262 = 0, $5263 = 0, $5264 = 0, $5265 = 0, $5266 = 0, $5267 = 0, $5268 = 0, $5269 = 0, $527 = 0, $5270 = 0, $5271 = 0, $5272 = 0, $5273 = 0, $5274 = 0, $5275 = 0, $5276 = 0, $5277 = 0, $5278 = 0, $5279 = 0, $528 = 0; + var $5280 = 0, $5281 = 0, $5282 = 0, $5283 = 0, $5284 = 0, $5285 = 0, $5286 = 0, $5287 = 0, $5288 = 0, $5289 = 0, $529 = 0, $5290 = 0, $5291 = 0, $5292 = 0, $5293 = 0, $5294 = 0, $5295 = 0, $5296 = 0, $5297 = 0, $5298 = 0; + var $5299 = 0, $53 = 0, $530 = 0, $5300 = 0, $5301 = 0, $5302 = 0, $5303 = 0, $5304 = 0, $5305 = 0, $5306 = 0, $5307 = 0, $5308 = 0, $5309 = 0, $531 = 0, $5310 = 0, $5311 = 0, $5312 = 0, $5313 = 0, $5314 = 0, $5315 = 0; + var $5316 = 0, $5317 = 0, $5318 = 0, $5319 = 0, $532 = 0, $5320 = 0, $5321 = 0, $5322 = 0, $5323 = 0, $5324 = 0, $5325 = 0, $5326 = 0, $5327 = 0, $5328 = 0, $5329 = 0, $533 = 0, $5330 = 0, $5331 = 0, $5332 = 0, $5333 = 0; + var $5334 = 0, $5335 = 0, $5336 = 0, $5337 = 0, $5338 = 0, $5339 = 0, $534 = 0, $5340 = 0, $5341 = 0, $5342 = 0, $5343 = 0, $5344 = 0, $5345 = 0, $5346 = 0, $5347 = 0, $5348 = 0, $5349 = 0, $535 = 0, $5350 = 0, $5351 = 0; + var $5352 = 0, $5353 = 0, $5354 = 0, $5355 = 0, $5356 = 0, $5357 = 0, $5358 = 0, $5359 = 0, $536 = 0, $5360 = 0, $5361 = 0, $5362 = 0, $5363 = 0, $5364 = 0, $5365 = 0, $5366 = 0, $5367 = 0, $5368 = 0, $5369 = 0, $537 = 0; + var $5370 = 0, $5371 = 0, $5372 = 0, $5373 = 0, $5374 = 0, $5375 = 0, $5376 = 0, $5377 = 0, $5378 = 0, $5379 = 0, $538 = 0, $5380 = 0, $5381 = 0, $5382 = 0, $5383 = 0, $5384 = 0, $5385 = 0, $5386 = 0, $5387 = 0, $5388 = 0; + var $5389 = 0, $539 = 0, $5390 = 0, $5391 = 0, $5392 = 0, $5393 = 0, $5394 = 0, $5395 = 0, $5396 = 0, $5397 = 0, $5398 = 0, $5399 = 0, $54 = 0, $540 = 0, $5400 = 0, $5401 = 0, $5402 = 0, $5403 = 0, $5404 = 0, $5405 = 0; + var $5406 = 0, $5407 = 0, $5408 = 0, $5409 = 0, $541 = 0, $5410 = 0, $5411 = 0, $5412 = 0, $5413 = 0, $5414 = 0, $5415 = 0, $5416 = 0, $5417 = 0, $5418 = 0, $5419 = 0, $542 = 0, $5420 = 0, $5421 = 0, $5422 = 0, $5423 = 0; + var $5424 = 0, $5425 = 0, $5426 = 0, $5427 = 0, $5428 = 0, $5429 = 0, $543 = 0, $5430 = 0, $5431 = 0, $5432 = 0, $5433 = 0, $5434 = 0, $5435 = 0, $5436 = 0, $5437 = 0, $5438 = 0, $5439 = 0, $544 = 0, $5440 = 0, $5441 = 0; + var $5442 = 0, $5443 = 0, $5444 = 0, $5445 = 0, $5446 = 0, $5447 = 0, $5448 = 0, $5449 = 0, $545 = 0, $5450 = 0, $5451 = 0, $5452 = 0, $5453 = 0, $5454 = 0, $5455 = 0, $5456 = 0, $5457 = 0, $5458 = 0, $5459 = 0, $546 = 0; + var $5460 = 0, $5461 = 0, $5462 = 0, $5463 = 0, $5464 = 0, $5465 = 0, $5466 = 0, $5467 = 0, $5468 = 0, $5469 = 0, $547 = 0, $5470 = 0, $5471 = 0, $5472 = 0, $5473 = 0, $5474 = 0, $5475 = 0, $5476 = 0, $5477 = 0, $5478 = 0; + var $5479 = 0, $548 = 0, $5480 = 0, $5481 = 0, $5482 = 0, $5483 = 0, $5484 = 0, $5485 = 0, $5486 = 0, $5487 = 0, $5488 = 0, $5489 = 0, $549 = 0, $5490 = 0, $5491 = 0, $5492 = 0, $5493 = 0, $5494 = 0, $5495 = 0, $5496 = 0; + var $5497 = 0, $5498 = 0, $5499 = 0, $55 = 0, $550 = 0, $5500 = 0, $5501 = 0, $5502 = 0, $5503 = 0, $5504 = 0, $5505 = 0, $5506 = 0, $5507 = 0, $5508 = 0, $5509 = 0, $551 = 0, $5510 = 0, $5511 = 0, $5512 = 0, $5513 = 0; + var $5514 = 0, $5515 = 0, $5516 = 0, $5517 = 0, $5518 = 0, $5519 = 0, $552 = 0, $5520 = 0, $5521 = 0, $5522 = 0, $5523 = 0, $5524 = 0, $5525 = 0, $5526 = 0, $5527 = 0, $5528 = 0, $5529 = 0, $553 = 0, $5530 = 0, $5531 = 0; + var $5532 = 0, $5533 = 0, $5534 = 0, $5535 = 0, $5536 = 0, $5537 = 0, $5538 = 0, $5539 = 0, $554 = 0, $5540 = 0, $5541 = 0, $5542 = 0, $5543 = 0, $5544 = 0, $5545 = 0, $5546 = 0, $5547 = 0, $5548 = 0, $5549 = 0, $555 = 0; + var $5550 = 0, $5551 = 0, $5552 = 0, $5553 = 0, $5554 = 0, $5555 = 0, $5556 = 0, $5557 = 0, $5558 = 0, $5559 = 0, $556 = 0, $5560 = 0, $5561 = 0, $5562 = 0, $5563 = 0, $5564 = 0, $5565 = 0, $5566 = 0, $5567 = 0, $5568 = 0; + var $5569 = 0, $557 = 0, $5570 = 0, $5571 = 0, $5572 = 0, $5573 = 0, $5574 = 0, $5575 = 0, $5576 = 0, $5577 = 0, $5578 = 0, $5579 = 0, $558 = 0, $5580 = 0, $5581 = 0, $5582 = 0, $5583 = 0, $5584 = 0, $5585 = 0, $5586 = 0; + var $5587 = 0, $5588 = 0, $5589 = 0, $559 = 0, $5590 = 0, $5591 = 0, $5592 = 0, $5593 = 0, $5594 = 0, $5595 = 0, $5596 = 0, $5597 = 0, $5598 = 0, $5599 = 0, $56 = 0, $560 = 0, $5600 = 0, $5601 = 0, $5602 = 0, $5603 = 0; + var $5604 = 0, $5605 = 0, $5606 = 0, $5607 = 0, $5608 = 0, $5609 = 0, $561 = 0, $5610 = 0, $5611 = 0, $5612 = 0, $5613 = 0, $5614 = 0, $5615 = 0, $5616 = 0, $5617 = 0, $5618 = 0, $5619 = 0, $562 = 0, $5620 = 0, $5621 = 0; + var $5622 = 0, $5623 = 0, $5624 = 0, $5625 = 0, $5626 = 0, $5627 = 0, $5628 = 0, $5629 = 0, $563 = 0, $5630 = 0, $5631 = 0, $5632 = 0, $5633 = 0, $5634 = 0, $5635 = 0, $5636 = 0, $5637 = 0, $5638 = 0, $5639 = 0, $564 = 0; + var $5640 = 0, $5641 = 0, $5642 = 0, $5643 = 0, $5644 = 0, $5645 = 0, $5646 = 0, $5647 = 0, $5648 = 0, $5649 = 0, $565 = 0, $5650 = 0, $5651 = 0, $5652 = 0, $5653 = 0, $5654 = 0, $5655 = 0, $5656 = 0, $5657 = 0, $5658 = 0; + var $5659 = 0, $566 = 0, $5660 = 0, $5661 = 0, $5662 = 0, $5663 = 0, $5664 = 0, $5665 = 0, $5666 = 0, $5667 = 0, $5668 = 0, $5669 = 0, $567 = 0, $5670 = 0, $5671 = 0, $5672 = 0, $5673 = 0, $5674 = 0, $5675 = 0, $5676 = 0; + var $5677 = 0, $5678 = 0, $5679 = 0, $568 = 0, $5680 = 0, $5681 = 0, $5682 = 0, $5683 = 0, $5684 = 0, $5685 = 0, $5686 = 0, $5687 = 0, $5688 = 0, $5689 = 0, $569 = 0, $5690 = 0, $5691 = 0, $5692 = 0, $5693 = 0, $5694 = 0; + var $5695 = 0, $5696 = 0, $5697 = 0, $5698 = 0, $5699 = 0, $57 = 0, $570 = 0, $5700 = 0, $5701 = 0, $5702 = 0, $5703 = 0, $5704 = 0, $5705 = 0, $5706 = 0, $5707 = 0, $5708 = 0, $5709 = 0, $571 = 0, $5710 = 0, $5711 = 0; + var $5712 = 0, $5713 = 0, $5714 = 0, $5715 = 0, $5716 = 0, $5717 = 0, $5718 = 0, $5719 = 0, $572 = 0, $5720 = 0, $5721 = 0, $5722 = 0, $5723 = 0, $5724 = 0, $5725 = 0, $5726 = 0, $5727 = 0, $5728 = 0, $5729 = 0, $573 = 0; + var $5730 = 0, $5731 = 0, $5732 = 0, $5733 = 0, $5734 = 0, $5735 = 0, $5736 = 0, $5737 = 0, $5738 = 0, $5739 = 0, $574 = 0, $5740 = 0, $5741 = 0, $5742 = 0, $5743 = 0, $5744 = 0, $5745 = 0, $5746 = 0, $5747 = 0, $5748 = 0; + var $5749 = 0, $575 = 0, $5750 = 0, $5751 = 0, $5752 = 0, $5753 = 0, $5754 = 0, $5755 = 0, $5756 = 0, $5757 = 0, $5758 = 0, $5759 = 0, $576 = 0, $5760 = 0, $5761 = 0, $5762 = 0, $5763 = 0, $5764 = 0, $5765 = 0, $5766 = 0; + var $5767 = 0, $5768 = 0, $5769 = 0, $577 = 0, $5770 = 0, $5771 = 0, $5772 = 0, $5773 = 0, $5774 = 0, $5775 = 0, $5776 = 0, $5777 = 0, $5778 = 0, $5779 = 0, $578 = 0, $5780 = 0, $5781 = 0, $5782 = 0, $5783 = 0, $5784 = 0; + var $5785 = 0, $5786 = 0, $5787 = 0, $5788 = 0, $5789 = 0, $579 = 0, $5790 = 0, $5791 = 0, $5792 = 0, $5793 = 0, $5794 = 0, $5795 = 0, $5796 = 0, $5797 = 0, $5798 = 0, $5799 = 0, $58 = 0, $580 = 0, $5800 = 0, $5801 = 0; + var $5802 = 0, $5803 = 0, $5804 = 0, $5805 = 0, $5806 = 0, $5807 = 0, $5808 = 0, $5809 = 0, $581 = 0, $5810 = 0, $5811 = 0, $5812 = 0, $5813 = 0, $5814 = 0, $5815 = 0, $5816 = 0, $5817 = 0, $5818 = 0, $5819 = 0, $582 = 0; + var $5820 = 0, $5821 = 0, $5822 = 0, $5823 = 0, $5824 = 0, $5825 = 0, $5826 = 0, $5827 = 0, $5828 = 0, $5829 = 0, $583 = 0, $5830 = 0, $5831 = 0, $5832 = 0, $5833 = 0, $5834 = 0, $5835 = 0, $5836 = 0, $5837 = 0, $5838 = 0; + var $5839 = 0, $584 = 0, $5840 = 0, $5841 = 0, $5842 = 0, $5843 = 0, $5844 = 0, $5845 = 0, $5846 = 0, $5847 = 0, $5848 = 0, $5849 = 0, $585 = 0, $5850 = 0, $5851 = 0, $5852 = 0, $5853 = 0, $5854 = 0, $5855 = 0, $5856 = 0; + var $5857 = 0, $5858 = 0, $5859 = 0, $586 = 0, $5860 = 0, $5861 = 0, $5862 = 0, $5863 = 0, $5864 = 0, $5865 = 0, $5866 = 0, $5867 = 0, $5868 = 0, $5869 = 0, $587 = 0, $5870 = 0, $5871 = 0, $5872 = 0, $5873 = 0, $5874 = 0; + var $5875 = 0, $5876 = 0, $5877 = 0, $5878 = 0, $5879 = 0, $588 = 0, $5880 = 0, $5881 = 0, $5882 = 0, $5883 = 0, $5884 = 0, $5885 = 0, $5886 = 0, $5887 = 0, $5888 = 0, $5889 = 0, $589 = 0, $5890 = 0, $5891 = 0, $5892 = 0; + var $5893 = 0, $5894 = 0, $5895 = 0, $5896 = 0, $5897 = 0, $5898 = 0, $5899 = 0, $59 = 0, $590 = 0, $5900 = 0, $5901 = 0, $5902 = 0, $5903 = 0, $5904 = 0, $5905 = 0, $5906 = 0, $5907 = 0, $5908 = 0, $5909 = 0, $591 = 0; + var $5910 = 0, $5911 = 0, $5912 = 0, $5913 = 0, $5914 = 0, $5915 = 0, $5916 = 0, $5917 = 0, $5918 = 0, $5919 = 0, $592 = 0, $5920 = 0, $5921 = 0, $5922 = 0, $5923 = 0, $5924 = 0, $5925 = 0, $5926 = 0, $5927 = 0, $5928 = 0; + var $5929 = 0, $593 = 0, $5930 = 0, $5931 = 0, $5932 = 0, $5933 = 0, $5934 = 0, $5935 = 0, $5936 = 0, $5937 = 0, $5938 = 0, $5939 = 0, $594 = 0, $5940 = 0, $5941 = 0, $5942 = 0, $5943 = 0, $5944 = 0, $5945 = 0, $5946 = 0; + var $5947 = 0, $5948 = 0, $5949 = 0, $595 = 0, $5950 = 0, $5951 = 0, $5952 = 0, $5953 = 0, $5954 = 0, $5955 = 0, $5956 = 0, $5957 = 0, $5958 = 0, $5959 = 0, $596 = 0, $5960 = 0, $5961 = 0, $5962 = 0, $5963 = 0, $5964 = 0; + var $5965 = 0, $5966 = 0, $5967 = 0, $5968 = 0, $5969 = 0, $597 = 0, $5970 = 0, $5971 = 0, $5972 = 0, $5973 = 0, $5974 = 0, $5975 = 0, $5976 = 0, $5977 = 0, $5978 = 0, $5979 = 0, $598 = 0, $5980 = 0, $5981 = 0, $5982 = 0; + var $5983 = 0, $5984 = 0, $5985 = 0, $5986 = 0, $5987 = 0, $5988 = 0, $5989 = 0, $599 = 0, $5990 = 0, $5991 = 0, $5992 = 0, $5993 = 0, $5994 = 0, $5995 = 0, $5996 = 0, $5997 = 0, $5998 = 0, $5999 = 0, $6 = 0, $60 = 0; + var $600 = 0, $6000 = 0, $6001 = 0, $6002 = 0, $6003 = 0, $6004 = 0, $6005 = 0, $6006 = 0, $6007 = 0, $6008 = 0, $6009 = 0, $601 = 0, $6010 = 0, $6011 = 0, $6012 = 0, $6013 = 0, $6014 = 0, $6015 = 0, $6016 = 0, $6017 = 0; + var $6018 = 0, $6019 = 0, $602 = 0, $6020 = 0, $6021 = 0, $6022 = 0, $6023 = 0, $6024 = 0, $6025 = 0, $6026 = 0, $6027 = 0, $6028 = 0, $6029 = 0, $603 = 0, $6030 = 0, $6031 = 0, $6032 = 0, $6033 = 0, $6034 = 0, $6035 = 0; + var $6036 = 0, $6037 = 0, $6038 = 0, $6039 = 0, $604 = 0, $6040 = 0, $6041 = 0, $6042 = 0, $6043 = 0, $6044 = 0, $6045 = 0, $6046 = 0, $6047 = 0, $6048 = 0, $6049 = 0, $605 = 0, $6050 = 0, $6051 = 0, $6052 = 0, $6053 = 0; + var $6054 = 0, $6055 = 0, $6056 = 0, $6057 = 0, $6058 = 0, $6059 = 0, $606 = 0, $6060 = 0, $6061 = 0, $6062 = 0, $6063 = 0, $6064 = 0, $6065 = 0, $6066 = 0, $6067 = 0, $6068 = 0, $6069 = 0, $607 = 0, $6070 = 0, $6071 = 0; + var $6072 = 0, $6073 = 0, $6074 = 0, $6075 = 0, $6076 = 0, $6077 = 0, $6078 = 0, $6079 = 0, $608 = 0, $6080 = 0, $6081 = 0, $6082 = 0, $6083 = 0, $6084 = 0, $6085 = 0, $6086 = 0, $6087 = 0, $6088 = 0, $6089 = 0, $609 = 0; + var $6090 = 0, $6091 = 0, $6092 = 0, $6093 = 0, $6094 = 0, $6095 = 0, $6096 = 0, $6097 = 0, $6098 = 0, $6099 = 0, $61 = 0, $610 = 0, $6100 = 0, $6101 = 0, $6102 = 0, $6103 = 0, $6104 = 0, $6105 = 0, $6106 = 0, $6107 = 0; + var $6108 = 0, $6109 = 0, $611 = 0, $6110 = 0, $6111 = 0, $6112 = 0, $6113 = 0, $6114 = 0, $6115 = 0, $6116 = 0, $6117 = 0, $6118 = 0, $6119 = 0, $612 = 0, $6120 = 0, $6121 = 0, $6122 = 0, $6123 = 0, $6124 = 0, $6125 = 0; + var $6126 = 0, $6127 = 0, $6128 = 0, $6129 = 0, $613 = 0, $6130 = 0, $6131 = 0, $6132 = 0, $6133 = 0, $6134 = 0, $6135 = 0, $6136 = 0, $6137 = 0, $6138 = 0, $6139 = 0, $614 = 0, $6140 = 0, $6141 = 0, $6142 = 0, $6143 = 0; + var $6144 = 0, $6145 = 0, $6146 = 0, $6147 = 0, $6148 = 0, $6149 = 0, $615 = 0, $6150 = 0, $6151 = 0, $6152 = 0, $6153 = 0, $6154 = 0, $6155 = 0, $6156 = 0, $6157 = 0, $6158 = 0, $6159 = 0, $616 = 0, $6160 = 0, $6161 = 0; + var $6162 = 0, $6163 = 0, $6164 = 0, $6165 = 0, $6166 = 0, $6167 = 0, $6168 = 0, $6169 = 0, $617 = 0, $6170 = 0, $6171 = 0, $6172 = 0, $6173 = 0, $6174 = 0, $6175 = 0, $6176 = 0, $6177 = 0, $6178 = 0, $6179 = 0, $618 = 0; + var $6180 = 0, $6181 = 0, $6182 = 0, $6183 = 0, $6184 = 0, $6185 = 0, $6186 = 0, $6187 = 0, $6188 = 0, $6189 = 0, $619 = 0, $6190 = 0, $6191 = 0, $6192 = 0, $6193 = 0, $6194 = 0, $6195 = 0, $6196 = 0, $6197 = 0, $6198 = 0; + var $6199 = 0, $62 = 0, $620 = 0, $6200 = 0, $6201 = 0, $6202 = 0, $6203 = 0, $6204 = 0, $6205 = 0, $6206 = 0, $6207 = 0, $6208 = 0, $6209 = 0, $621 = 0, $6210 = 0, $6211 = 0, $6212 = 0, $6213 = 0, $6214 = 0, $6215 = 0; + var $6216 = 0, $6217 = 0, $6218 = 0, $6219 = 0, $622 = 0, $6220 = 0, $6221 = 0, $6222 = 0, $6223 = 0, $6224 = 0, $6225 = 0, $6226 = 0, $6227 = 0, $6228 = 0, $6229 = 0, $623 = 0, $6230 = 0, $6231 = 0, $6232 = 0, $6233 = 0; + var $6234 = 0, $6235 = 0, $6236 = 0, $6237 = 0, $6238 = 0, $6239 = 0, $624 = 0, $6240 = 0, $6241 = 0, $6242 = 0, $6243 = 0, $6244 = 0, $6245 = 0, $6246 = 0, $6247 = 0, $6248 = 0, $6249 = 0, $625 = 0, $6250 = 0, $6251 = 0; + var $6252 = 0, $6253 = 0, $6254 = 0, $6255 = 0, $6256 = 0, $6257 = 0, $6258 = 0, $6259 = 0, $626 = 0, $6260 = 0, $6261 = 0, $6262 = 0, $6263 = 0, $6264 = 0, $6265 = 0, $6266 = 0, $6267 = 0, $6268 = 0, $6269 = 0, $627 = 0; + var $6270 = 0, $6271 = 0, $6272 = 0, $6273 = 0, $6274 = 0, $6275 = 0, $6276 = 0, $6277 = 0, $6278 = 0, $6279 = 0, $628 = 0, $6280 = 0, $6281 = 0, $6282 = 0, $6283 = 0, $6284 = 0, $6285 = 0, $6286 = 0, $6287 = 0, $6288 = 0; + var $6289 = 0, $629 = 0, $6290 = 0, $6291 = 0, $6292 = 0, $6293 = 0, $6294 = 0, $6295 = 0, $6296 = 0, $6297 = 0, $6298 = 0, $6299 = 0, $63 = 0, $630 = 0, $6300 = 0, $6301 = 0, $6302 = 0, $6303 = 0, $6304 = 0, $6305 = 0; + var $6306 = 0, $6307 = 0, $6308 = 0, $6309 = 0, $631 = 0, $6310 = 0, $6311 = 0, $6312 = 0, $6313 = 0, $6314 = 0, $6315 = 0, $6316 = 0, $6317 = 0, $6318 = 0, $6319 = 0, $632 = 0, $6320 = 0, $6321 = 0, $6322 = 0, $6323 = 0; + var $6324 = 0, $6325 = 0, $6326 = 0, $6327 = 0, $6328 = 0, $6329 = 0, $633 = 0, $6330 = 0, $6331 = 0, $6332 = 0, $6333 = 0, $6334 = 0, $6335 = 0, $6336 = 0, $6337 = 0, $6338 = 0, $6339 = 0, $634 = 0, $6340 = 0, $6341 = 0; + var $6342 = 0, $6343 = 0, $6344 = 0, $6345 = 0, $6346 = 0, $6347 = 0, $6348 = 0, $6349 = 0, $635 = 0, $6350 = 0, $6351 = 0, $6352 = 0, $6353 = 0, $6354 = 0, $6355 = 0, $6356 = 0, $6357 = 0, $6358 = 0, $6359 = 0, $636 = 0; + var $6360 = 0, $6361 = 0, $6362 = 0, $6363 = 0, $6364 = 0, $6365 = 0, $6366 = 0, $6367 = 0, $6368 = 0, $6369 = 0, $637 = 0, $6370 = 0, $6371 = 0, $6372 = 0, $6373 = 0, $6374 = 0, $6375 = 0, $6376 = 0, $6377 = 0, $6378 = 0; + var $6379 = 0, $638 = 0, $6380 = 0, $6381 = 0, $6382 = 0, $6383 = 0, $6384 = 0, $6385 = 0, $6386 = 0, $6387 = 0, $6388 = 0, $6389 = 0, $639 = 0, $6390 = 0, $6391 = 0, $6392 = 0, $6393 = 0, $6394 = 0, $6395 = 0, $6396 = 0; + var $6397 = 0, $6398 = 0, $6399 = 0, $64 = 0, $640 = 0, $6400 = 0, $6401 = 0, $6402 = 0, $6403 = 0, $6404 = 0, $6405 = 0, $6406 = 0, $6407 = 0, $6408 = 0, $6409 = 0, $641 = 0, $6410 = 0, $6411 = 0, $6412 = 0, $6413 = 0; + var $6414 = 0, $6415 = 0, $6416 = 0, $6417 = 0, $6418 = 0, $6419 = 0, $642 = 0, $6420 = 0, $6421 = 0, $6422 = 0, $6423 = 0, $6424 = 0, $6425 = 0, $6426 = 0, $6427 = 0, $6428 = 0, $6429 = 0, $643 = 0, $6430 = 0, $6431 = 0; + var $6432 = 0, $6433 = 0, $6434 = 0, $6435 = 0, $6436 = 0, $6437 = 0, $6438 = 0, $6439 = 0, $644 = 0, $6440 = 0, $6441 = 0, $6442 = 0, $6443 = 0, $6444 = 0, $6445 = 0, $6446 = 0, $6447 = 0, $6448 = 0, $6449 = 0, $645 = 0; + var $6450 = 0, $6451 = 0, $6452 = 0, $6453 = 0, $6454 = 0, $6455 = 0, $6456 = 0, $6457 = 0, $6458 = 0, $6459 = 0, $646 = 0, $6460 = 0, $6461 = 0, $6462 = 0, $6463 = 0, $6464 = 0, $6465 = 0, $6466 = 0, $6467 = 0, $6468 = 0; + var $6469 = 0, $647 = 0, $6470 = 0, $6471 = 0, $6472 = 0, $6473 = 0, $6474 = 0, $6475 = 0, $6476 = 0, $6477 = 0, $6478 = 0, $6479 = 0, $648 = 0, $6480 = 0, $6481 = 0, $6482 = 0, $6483 = 0, $6484 = 0, $6485 = 0, $6486 = 0; + var $6487 = 0, $6488 = 0, $6489 = 0, $649 = 0, $6490 = 0, $6491 = 0, $6492 = 0, $6493 = 0, $6494 = 0, $6495 = 0, $6496 = 0, $6497 = 0, $6498 = 0, $6499 = 0, $65 = 0, $650 = 0, $6500 = 0, $6501 = 0, $6502 = 0, $6503 = 0; + var $6504 = 0, $6505 = 0, $6506 = 0, $6507 = 0, $6508 = 0, $6509 = 0, $651 = 0, $6510 = 0, $6511 = 0, $6512 = 0, $6513 = 0, $6514 = 0, $6515 = 0, $6516 = 0, $6517 = 0, $6518 = 0, $6519 = 0, $652 = 0, $6520 = 0, $6521 = 0; + var $6522 = 0, $6523 = 0, $6524 = 0, $6525 = 0, $6526 = 0, $6527 = 0, $6528 = 0, $6529 = 0, $653 = 0, $6530 = 0, $6531 = 0, $6532 = 0, $6533 = 0, $6534 = 0, $6535 = 0, $6536 = 0, $6537 = 0, $6538 = 0, $6539 = 0, $654 = 0; + var $6540 = 0, $6541 = 0, $6542 = 0, $6543 = 0, $6544 = 0, $6545 = 0, $6546 = 0, $6547 = 0, $6548 = 0, $6549 = 0, $655 = 0, $6550 = 0, $6551 = 0, $6552 = 0, $6553 = 0, $6554 = 0, $6555 = 0, $6556 = 0, $6557 = 0, $6558 = 0; + var $6559 = 0, $656 = 0, $6560 = 0, $6561 = 0, $6562 = 0, $6563 = 0, $6564 = 0, $6565 = 0, $6566 = 0, $6567 = 0, $6568 = 0, $6569 = 0, $657 = 0, $6570 = 0, $6571 = 0, $6572 = 0, $6573 = 0, $6574 = 0, $6575 = 0, $6576 = 0; + var $6577 = 0, $6578 = 0, $6579 = 0, $658 = 0, $6580 = 0, $6581 = 0, $6582 = 0, $6583 = 0, $6584 = 0, $6585 = 0, $6586 = 0, $6587 = 0, $6588 = 0, $6589 = 0, $659 = 0, $6590 = 0, $6591 = 0, $6592 = 0, $6593 = 0, $6594 = 0; + var $6595 = 0, $6596 = 0, $6597 = 0, $6598 = 0, $6599 = 0, $66 = 0, $660 = 0, $6600 = 0, $6601 = 0, $6602 = 0, $6603 = 0, $6604 = 0, $6605 = 0, $6606 = 0, $6607 = 0, $6608 = 0, $6609 = 0, $661 = 0, $6610 = 0, $6611 = 0; + var $6612 = 0, $6613 = 0, $6614 = 0, $6615 = 0, $6616 = 0, $6617 = 0, $6618 = 0, $6619 = 0, $662 = 0, $6620 = 0, $6621 = 0, $6622 = 0, $6623 = 0, $6624 = 0, $6625 = 0, $6626 = 0, $6627 = 0, $6628 = 0, $6629 = 0, $663 = 0; + var $6630 = 0, $6631 = 0, $6632 = 0, $6633 = 0, $6634 = 0, $6635 = 0, $6636 = 0, $6637 = 0, $6638 = 0, $6639 = 0, $664 = 0, $6640 = 0, $6641 = 0, $6642 = 0, $6643 = 0, $6644 = 0, $6645 = 0, $6646 = 0, $6647 = 0, $6648 = 0; + var $6649 = 0, $665 = 0, $6650 = 0, $6651 = 0, $6652 = 0, $6653 = 0, $6654 = 0, $6655 = 0, $6656 = 0, $6657 = 0, $6658 = 0, $6659 = 0, $666 = 0, $6660 = 0, $6661 = 0, $6662 = 0, $6663 = 0, $6664 = 0, $6665 = 0, $6666 = 0; + var $6667 = 0, $6668 = 0, $6669 = 0, $667 = 0, $6670 = 0, $6671 = 0, $6672 = 0, $6673 = 0, $6674 = 0, $6675 = 0, $6676 = 0, $6677 = 0, $6678 = 0, $6679 = 0, $668 = 0, $6680 = 0, $6681 = 0, $6682 = 0, $6683 = 0, $6684 = 0; + var $6685 = 0, $6686 = 0, $6687 = 0, $6688 = 0, $6689 = 0, $669 = 0, $6690 = 0, $6691 = 0, $6692 = 0, $6693 = 0, $6694 = 0, $6695 = 0, $6696 = 0, $6697 = 0, $6698 = 0, $6699 = 0, $67 = 0, $670 = 0, $6700 = 0, $6701 = 0; + var $6702 = 0, $6703 = 0, $6704 = 0, $6705 = 0, $6706 = 0, $6707 = 0, $6708 = 0, $6709 = 0, $671 = 0, $6710 = 0, $6711 = 0, $6712 = 0, $6713 = 0, $6714 = 0, $6715 = 0, $6716 = 0, $6717 = 0, $6718 = 0, $6719 = 0, $672 = 0; + var $6720 = 0, $6721 = 0, $6722 = 0, $6723 = 0, $6724 = 0, $6725 = 0, $6726 = 0, $6727 = 0, $6728 = 0, $6729 = 0, $673 = 0, $6730 = 0, $6731 = 0, $6732 = 0, $6733 = 0, $6734 = 0, $6735 = 0, $6736 = 0, $6737 = 0, $6738 = 0; + var $6739 = 0, $674 = 0, $6740 = 0, $6741 = 0, $6742 = 0, $6743 = 0, $6744 = 0, $6745 = 0, $6746 = 0, $6747 = 0, $6748 = 0, $6749 = 0, $675 = 0, $6750 = 0, $6751 = 0, $6752 = 0, $6753 = 0, $6754 = 0, $6755 = 0, $6756 = 0; + var $6757 = 0, $6758 = 0, $6759 = 0, $676 = 0, $6760 = 0, $6761 = 0, $6762 = 0, $6763 = 0, $6764 = 0, $6765 = 0, $6766 = 0, $6767 = 0, $6768 = 0, $6769 = 0, $677 = 0, $6770 = 0, $6771 = 0, $6772 = 0, $6773 = 0, $6774 = 0; + var $6775 = 0, $6776 = 0, $6777 = 0, $6778 = 0, $6779 = 0, $678 = 0, $6780 = 0, $6781 = 0, $6782 = 0, $6783 = 0, $6784 = 0, $6785 = 0, $6786 = 0, $6787 = 0, $6788 = 0, $6789 = 0, $679 = 0, $6790 = 0, $6791 = 0, $6792 = 0; + var $6793 = 0, $6794 = 0, $6795 = 0, $6796 = 0, $6797 = 0, $6798 = 0, $6799 = 0, $68 = 0, $680 = 0, $6800 = 0, $6801 = 0, $6802 = 0, $6803 = 0, $6804 = 0, $6805 = 0, $6806 = 0, $6807 = 0, $6808 = 0, $6809 = 0, $681 = 0; + var $6810 = 0, $6811 = 0, $6812 = 0, $6813 = 0, $6814 = 0, $6815 = 0, $6816 = 0, $6817 = 0, $6818 = 0, $6819 = 0, $682 = 0, $6820 = 0, $6821 = 0, $6822 = 0, $6823 = 0, $6824 = 0, $6825 = 0, $6826 = 0, $6827 = 0, $6828 = 0; + var $6829 = 0, $683 = 0, $6830 = 0, $6831 = 0, $6832 = 0, $6833 = 0, $6834 = 0, $6835 = 0, $6836 = 0, $6837 = 0, $6838 = 0, $6839 = 0, $684 = 0, $6840 = 0, $6841 = 0, $6842 = 0, $6843 = 0, $6844 = 0, $6845 = 0, $6846 = 0; + var $6847 = 0, $6848 = 0, $6849 = 0, $685 = 0, $6850 = 0, $6851 = 0, $6852 = 0, $6853 = 0, $6854 = 0, $6855 = 0, $6856 = 0, $6857 = 0, $6858 = 0, $6859 = 0, $686 = 0, $6860 = 0, $6861 = 0, $6862 = 0, $6863 = 0, $6864 = 0; + var $6865 = 0, $6866 = 0, $6867 = 0, $6868 = 0, $6869 = 0, $687 = 0, $6870 = 0, $6871 = 0, $6872 = 0, $6873 = 0, $6874 = 0, $6875 = 0, $6876 = 0, $6877 = 0, $6878 = 0, $6879 = 0, $688 = 0, $6880 = 0, $6881 = 0, $6882 = 0; + var $6883 = 0, $6884 = 0, $6885 = 0, $6886 = 0, $6887 = 0, $6888 = 0, $6889 = 0, $689 = 0, $6890 = 0, $6891 = 0, $6892 = 0, $6893 = 0, $6894 = 0, $6895 = 0, $6896 = 0, $6897 = 0, $6898 = 0, $6899 = 0, $69 = 0, $690 = 0; + var $6900 = 0, $6901 = 0, $6902 = 0, $6903 = 0, $6904 = 0, $6905 = 0, $6906 = 0, $6907 = 0, $6908 = 0, $6909 = 0, $691 = 0, $6910 = 0, $6911 = 0, $6912 = 0, $6913 = 0, $6914 = 0, $6915 = 0, $6916 = 0, $6917 = 0, $6918 = 0; + var $6919 = 0, $692 = 0, $6920 = 0, $6921 = 0, $6922 = 0, $6923 = 0, $6924 = 0, $6925 = 0, $6926 = 0, $6927 = 0, $6928 = 0, $6929 = 0, $693 = 0, $6930 = 0, $6931 = 0, $6932 = 0, $6933 = 0, $6934 = 0, $6935 = 0, $6936 = 0; + var $6937 = 0, $6938 = 0, $6939 = 0, $694 = 0, $6940 = 0, $6941 = 0, $6942 = 0, $6943 = 0, $6944 = 0, $6945 = 0, $6946 = 0, $6947 = 0, $6948 = 0, $6949 = 0, $695 = 0, $6950 = 0, $6951 = 0, $6952 = 0, $6953 = 0, $6954 = 0; + var $6955 = 0, $6956 = 0, $6957 = 0, $6958 = 0, $6959 = 0, $696 = 0, $6960 = 0, $6961 = 0, $6962 = 0, $6963 = 0, $6964 = 0, $6965 = 0, $6966 = 0, $6967 = 0, $6968 = 0, $6969 = 0, $697 = 0, $6970 = 0, $6971 = 0, $6972 = 0; + var $6973 = 0, $6974 = 0, $6975 = 0, $6976 = 0, $6977 = 0, $6978 = 0, $6979 = 0, $698 = 0, $6980 = 0, $6981 = 0, $6982 = 0, $6983 = 0, $6984 = 0, $6985 = 0, $6986 = 0, $6987 = 0, $6988 = 0, $6989 = 0, $699 = 0, $6990 = 0; + var $6991 = 0, $6992 = 0, $6993 = 0, $6994 = 0, $6995 = 0, $6996 = 0, $6997 = 0, $6998 = 0, $6999 = 0, $7 = 0, $70 = 0, $700 = 0, $7000 = 0, $7001 = 0, $7002 = 0, $7003 = 0, $7004 = 0, $7005 = 0, $7006 = 0, $7007 = 0; + var $7008 = 0, $7009 = 0, $701 = 0, $7010 = 0, $7011 = 0, $7012 = 0, $7013 = 0, $7014 = 0, $7015 = 0, $7016 = 0, $7017 = 0, $7018 = 0, $7019 = 0, $702 = 0, $7020 = 0, $7021 = 0, $7022 = 0, $7023 = 0, $7024 = 0, $7025 = 0; + var $7026 = 0, $7027 = 0, $7028 = 0, $7029 = 0, $703 = 0, $7030 = 0, $7031 = 0, $7032 = 0, $7033 = 0, $7034 = 0, $7035 = 0, $7036 = 0, $7037 = 0, $7038 = 0, $7039 = 0, $704 = 0, $7040 = 0, $7041 = 0, $7042 = 0, $7043 = 0; + var $7044 = 0, $7045 = 0, $7046 = 0, $7047 = 0, $7048 = 0, $7049 = 0, $705 = 0, $7050 = 0, $7051 = 0, $7052 = 0, $7053 = 0, $7054 = 0, $7055 = 0, $7056 = 0, $7057 = 0, $7058 = 0, $7059 = 0, $706 = 0, $7060 = 0, $7061 = 0; + var $7062 = 0, $7063 = 0, $7064 = 0, $7065 = 0, $7066 = 0, $7067 = 0, $7068 = 0, $7069 = 0, $707 = 0, $7070 = 0, $7071 = 0, $7072 = 0, $7073 = 0, $7074 = 0, $7075 = 0, $7076 = 0, $7077 = 0, $7078 = 0, $7079 = 0, $708 = 0; + var $7080 = 0, $7081 = 0, $7082 = 0, $7083 = 0, $7084 = 0, $7085 = 0, $7086 = 0, $7087 = 0, $7088 = 0, $7089 = 0, $709 = 0, $7090 = 0, $7091 = 0, $7092 = 0, $7093 = 0, $7094 = 0, $7095 = 0, $7096 = 0, $7097 = 0, $7098 = 0; + var $7099 = 0, $71 = 0, $710 = 0, $7100 = 0, $7101 = 0, $7102 = 0, $7103 = 0, $7104 = 0, $7105 = 0, $7106 = 0, $7107 = 0, $7108 = 0, $7109 = 0, $711 = 0, $7110 = 0, $7111 = 0, $7112 = 0, $7113 = 0, $7114 = 0, $7115 = 0; + var $7116 = 0, $7117 = 0, $7118 = 0, $7119 = 0, $712 = 0, $7120 = 0, $7121 = 0, $7122 = 0, $7123 = 0, $7124 = 0, $7125 = 0, $7126 = 0, $7127 = 0, $7128 = 0, $7129 = 0, $713 = 0, $7130 = 0, $7131 = 0, $7132 = 0, $7133 = 0; + var $7134 = 0, $7135 = 0, $7136 = 0, $7137 = 0, $7138 = 0, $7139 = 0, $714 = 0, $7140 = 0, $7141 = 0, $7142 = 0, $7143 = 0, $7144 = 0, $7145 = 0, $7146 = 0, $7147 = 0, $7148 = 0, $7149 = 0, $715 = 0, $7150 = 0, $7151 = 0; + var $7152 = 0, $7153 = 0, $7154 = 0, $7155 = 0, $7156 = 0, $7157 = 0, $7158 = 0, $7159 = 0, $716 = 0, $7160 = 0, $7161 = 0, $7162 = 0, $7163 = 0, $7164 = 0, $7165 = 0, $7166 = 0, $7167 = 0, $7168 = 0, $7169 = 0, $717 = 0; + var $7170 = 0, $7171 = 0, $7172 = 0, $7173 = 0, $7174 = 0, $7175 = 0, $7176 = 0, $7177 = 0, $7178 = 0, $7179 = 0, $718 = 0, $7180 = 0, $7181 = 0, $7182 = 0, $7183 = 0, $7184 = 0, $7185 = 0, $7186 = 0, $7187 = 0, $7188 = 0; + var $7189 = 0, $719 = 0, $7190 = 0, $7191 = 0, $7192 = 0, $7193 = 0, $7194 = 0, $7195 = 0, $7196 = 0, $7197 = 0, $7198 = 0, $7199 = 0, $72 = 0, $720 = 0, $7200 = 0, $7201 = 0, $7202 = 0, $7203 = 0, $7204 = 0, $7205 = 0; + var $7206 = 0, $7207 = 0, $7208 = 0, $7209 = 0, $721 = 0, $7210 = 0, $7211 = 0, $7212 = 0, $7213 = 0, $7214 = 0, $7215 = 0, $7216 = 0, $7217 = 0, $7218 = 0, $7219 = 0, $722 = 0, $7220 = 0, $7221 = 0, $7222 = 0, $7223 = 0; + var $7224 = 0, $7225 = 0, $7226 = 0, $7227 = 0, $7228 = 0, $7229 = 0, $723 = 0, $7230 = 0, $7231 = 0, $7232 = 0, $7233 = 0, $7234 = 0, $7235 = 0, $7236 = 0, $7237 = 0, $7238 = 0, $7239 = 0, $724 = 0, $7240 = 0, $7241 = 0; + var $7242 = 0, $7243 = 0, $7244 = 0, $7245 = 0, $7246 = 0, $7247 = 0, $7248 = 0, $7249 = 0, $725 = 0, $7250 = 0, $7251 = 0, $7252 = 0, $7253 = 0, $7254 = 0, $7255 = 0, $7256 = 0, $7257 = 0, $7258 = 0, $7259 = 0, $726 = 0; + var $7260 = 0, $7261 = 0, $7262 = 0, $7263 = 0, $7264 = 0, $7265 = 0, $7266 = 0, $7267 = 0, $7268 = 0, $7269 = 0, $727 = 0, $7270 = 0, $7271 = 0, $7272 = 0, $7273 = 0, $7274 = 0, $7275 = 0, $7276 = 0, $7277 = 0, $7278 = 0; + var $7279 = 0, $728 = 0, $7280 = 0, $7281 = 0, $7282 = 0, $7283 = 0, $7284 = 0, $7285 = 0, $7286 = 0, $7287 = 0, $7288 = 0, $7289 = 0, $729 = 0, $7290 = 0, $7291 = 0, $7292 = 0, $7293 = 0, $7294 = 0, $7295 = 0, $7296 = 0; + var $7297 = 0, $7298 = 0, $7299 = 0, $73 = 0, $730 = 0, $7300 = 0, $7301 = 0, $7302 = 0, $7303 = 0, $7304 = 0, $7305 = 0, $7306 = 0, $7307 = 0, $7308 = 0, $7309 = 0, $731 = 0, $7310 = 0, $7311 = 0, $7312 = 0, $7313 = 0; + var $7314 = 0, $7315 = 0, $7316 = 0, $7317 = 0, $7318 = 0, $7319 = 0, $732 = 0, $7320 = 0, $7321 = 0, $7322 = 0, $7323 = 0, $7324 = 0, $7325 = 0, $7326 = 0, $7327 = 0, $7328 = 0, $7329 = 0, $733 = 0, $7330 = 0, $7331 = 0; + var $7332 = 0, $7333 = 0, $7334 = 0, $7335 = 0, $7336 = 0, $7337 = 0, $7338 = 0, $7339 = 0, $734 = 0, $7340 = 0, $7341 = 0, $7342 = 0, $7343 = 0, $7344 = 0, $7345 = 0, $7346 = 0, $7347 = 0, $7348 = 0, $7349 = 0, $735 = 0; + var $7350 = 0, $7351 = 0, $7352 = 0, $7353 = 0, $7354 = 0, $7355 = 0, $7356 = 0, $7357 = 0, $7358 = 0, $7359 = 0, $736 = 0, $7360 = 0, $7361 = 0, $7362 = 0, $7363 = 0, $7364 = 0, $7365 = 0, $7366 = 0, $7367 = 0, $7368 = 0; + var $7369 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0; + var $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0; + var $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0; + var $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0; + var $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0; + var $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0; + var $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0; + var $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0; + var $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0; + var $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0; + var $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0; + var $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0; + var $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0; + var $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0; + var $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aMem = 0, $aOffset = 0, $aOp = 0, $aPermute = 0, $aRes = 0, $aRoot = 0, $aTempRec = 0, $affinity = 0; + var $alreadyExists = 0, $apArg = 0, $apArg125 = 0, $avail = 0, $bIntint = 0, $bRev = 0, $c = 0, $cAff = 0, $cnt = 0, $cnt42 = 0, $db = 0, $desiredAutoCommit = 0, $eNew = 0, $eOld = 0, $encoding = 0, $eqOnly = 0, $exists = 0, $file_format = 0, $flags = 0, $flags1 = 0; + var $flags3 = 0, $flags79 = 0, $hasUpdateCallback = 0, $i = 0, $i110 = 0, $i12 = 0, $i123 = 0, $i15 = 0, $i3 = 0, $i8 = 0, $i90 = 0, $i95 = 0, $iA = 0, $iA5 = 0, $iB = 0, $iB6 = 0, $iCompare = 0, $iCookie = 0, $iDb = 0, $iDb23 = 0; + var $iDb76 = 0, $iDb81 = 0, $iGen = 0, $iKey = 0, $iKey39 = 0, $iKey45 = 0, $iMeta = 0, $iMeta19 = 0, $iMoved = 0, $iPrior = 0, $iQuery = 0, $iRollback = 0, $iSavepoint = 0, $iSet = 0, $idx = 0, $ii = 0, $ii32 = 0, $initData = 0, $isSchemaChange = 0, $isTransaction = 0; + var $isWriteLock = 0, $j = 0, $lastRowid = 0, $len = 0, $len16 = 0, $n = 0, $n1 = 0, $n2 = 0, $n55 = 0, $n64 = 0, $n7 = 0, $n88 = 0, $nArg = 0, $nArg122 = 0, $nByte = 0, $nByte13 = 0, $nByte82 = 0, $nChange = 0, $nChange$ = 0, $nData = 0; + var $nEntry = 0, $nErr = 0, $nField = 0, $nField20 = 0, $nField31 = 0, $nHdr = 0, $nKey = 0, $nKeyCol = 0, $nMem = 0, $nName = 0, $nProgressLimit = 0, $nRoot = 0, $nVarint = 0, $nVmStep = 0, $nZero = 0, $nZero47 = 0, $newMax = 0, $nullFlag = 0, $oc = 0, $offset = 0; + var $offset64 = 0, $op = 0, $op48 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond22 = 0, $or$cond24 = 0, $or$cond26 = 0, $or$cond29 = 0, $or$cond3 = 0, $or$cond6 = 0, $or$cond8 = 0, $p1 = 0, $p118 = 0, $p19 = 0, $p199 = 0; + var $p2 = 0, $p210 = 0, $p211 = 0, $p222 = 0, $pArgc = 0, $pBt = 0, $pBt127 = 0, $pBt97 = 0, $pBt98 = 0, $pC = 0, $pC27 = 0, $pC30 = 0, $pC33 = 0, $pC36 = 0, $pC40 = 0, $pC46 = 0, $pC49 = 0, $pC50 = 0, $pC52 = 0, $pC53 = 0; + var $pC56 = 0, $pC58 = 0, $pC59 = 0, $pC62 = 0, $pC65 = 0, $pC67 = 0, $pC68 = 0, $pC72 = 0, $pC73 = 0, $pC77 = 0, $pCaller = 0, $pColl = 0, $pCrsr = 0, $pCrsr17 = 0, $pCrsr37 = 0, $pCrsr54 = 0, $pCrsr60 = 0, $pCrsr63 = 0, $pCrsr69 = 0, $pCtx = 0; + var $pCtx4 = 0, $pCtx89 = 0, $pCtx91 = 0, $pCur = 0, $pCur102 = 0, $pCur108 = 0, $pCur114 = 0, $pCur118 = 0, $pCx = 0, $pCx26 = 0, $pCx28 = 0, $pData = 0, $pData0 = 0, $pDb = 0, $pDb24 = 0, $pDb80 = 0, $pDest = 0, $pDest113 = 0, $pEnd = 0, $pFrame = 0; + var $pFrame44 = 0, $pFrame84 = 0, $pFrame86 = 0, $pFrame87 = 0, $pFree = 0, $pIdxKey = 0, $pIn = 0, $pIn1 = 0, $pIn2 = 0, $pIn3 = 0, $pKey = 0, $pKeyInfo = 0, $pKeyInfo21 = 0, $pKeyInfo25 = 0, $pLast = 0, $pMem = 0, $pMem43 = 0, $pMem83 = 0, $pMem92 = 0, $pMem94 = 0; + var $pMem96 = 0, $pModule = 0, $pModule104 = 0, $pModule105 = 0, $pModule112 = 0, $pModule116 = 0, $pModule121 = 0, $pName = 0, $pNew = 0, $pOp = 0, $pOut = 0, $pPager = 0, $pProgram = 0, $pQuery = 0, $pRec = 0, $pReg = 0, $pRt = 0, $pSavepoint = 0, $pTabCur = 0, $pTmp = 0; + var $pVCur = 0, $pVCur106 = 0, $pVTab = 0, $pVar = 0, $pVtab = 0, $pVtab103 = 0, $pVtab107 = 0, $pVtab111 = 0, $pVtab115 = 0, $pVtab119 = 0, $pVtab120 = 0, $pX = 0, $pX126 = 0, $payloadSize64 = 0, $pcDest = 0, $pcx = 0, $pgno = 0, $pgno78 = 0, $pnErr = 0, $r = 0; + var $r35 = 0, $r71 = 0, $r75 = 0, $rA = 0, $rB = 0, $rc = 0, $res = 0, $res109 = 0, $res117 = 0, $res29 = 0, $res34 = 0, $res38 = 0, $res41 = 0, $res51 = 0, $res61 = 0, $res64 = 0, $res66 = 0, $res70 = 0, $res74 = 0, $resetSchemaOnFault = 0; + var $rowid = 0, $rowid124 = 0, $sContext = 0, $sMem = 0, $sMem101 = 0, $seekResult = 0, $serial_type = 0, $t = 0, $t85 = 0, $t93 = 0, $takeJump = 0, $type1 = 0, $type2 = 0, $uA = 0, $v = 0, $v1 = 0, $v2 = 0, $v57 = 0, $val = 0, $vararg_buffer = 0; + var $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer37 = 0, $vararg_buffer42 = 0, $vararg_buffer45 = 0, $vararg_buffer47 = 0, $vararg_buffer50 = 0, $vararg_buffer52 = 0, $vararg_buffer54 = 0, $vararg_buffer56 = 0, $vararg_buffer61 = 0, $vararg_buffer63 = 0, $vararg_buffer66 = 0, $vararg_buffer69 = 0, $vararg_buffer72 = 0, $vararg_buffer75 = 0, $vararg_buffer78 = 0, $vararg_buffer83 = 0, $vararg_buffer85 = 0, $vararg_buffer87 = 0; + var $vararg_ptr30 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr59 = 0, $vararg_ptr60 = 0, $vararg_ptr81 = 0, $vararg_ptr82 = 0, $vtabOnConflict = 0, $wrFlag = 0, $z = 0, $z100 = 0, $z128 = 0, $zAffinity = 0, $zAffinity14 = 0, $zData = 0, $zDb = 0, $zEndHdr = 0, $zFilename = 0, $zHdr = 0, $zKey = 0; + var $zLogFmt = 0, $zMaster = 0, $zName = 0, $zNewRecord = 0, $zSql = 0, $zTab = 0, $zTbl = 0, $zTrace = 0, $zType = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 1824|0; - $vararg_buffer88 = sp + 496|0; + $vararg_buffer87 = sp + 496|0; $vararg_buffer85 = sp + 488|0; $vararg_buffer83 = sp + 480|0; - $vararg_buffer81 = sp + 472|0; - $vararg_buffer76 = sp + 456|0; - $vararg_buffer73 = sp + 448|0; - $vararg_buffer70 = sp + 440|0; - $vararg_buffer67 = sp + 432|0; - $vararg_buffer64 = sp + 424|0; - $vararg_buffer62 = sp + 416|0; - $vararg_buffer57 = sp + 400|0; - $vararg_buffer55 = sp + 392|0; - $vararg_buffer53 = sp + 384|0; - $vararg_buffer51 = sp + 376|0; - $vararg_buffer48 = sp + 368|0; - $vararg_buffer46 = sp + 360|0; - $vararg_buffer43 = sp + 352|0; - $vararg_buffer38 = sp + 336|0; - $vararg_buffer35 = sp + 328|0; - $vararg_buffer32 = sp + 320|0; + $vararg_buffer78 = sp + 464|0; + $vararg_buffer75 = sp + 456|0; + $vararg_buffer72 = sp + 448|0; + $vararg_buffer69 = sp + 440|0; + $vararg_buffer66 = sp + 432|0; + $vararg_buffer63 = sp + 424|0; + $vararg_buffer61 = sp + 416|0; + $vararg_buffer56 = sp + 400|0; + $vararg_buffer54 = sp + 392|0; + $vararg_buffer52 = sp + 384|0; + $vararg_buffer50 = sp + 376|0; + $vararg_buffer47 = sp + 368|0; + $vararg_buffer45 = sp + 360|0; + $vararg_buffer42 = sp + 352|0; + $vararg_buffer37 = sp + 336|0; + $vararg_buffer34 = sp + 328|0; + $vararg_buffer31 = sp + 320|0; $vararg_buffer = sp + 312|0; $0 = sp + 1612|0; $aOp = sp + 1608|0; @@ -209816,9 +211157,8 @@ function _sqlite3VdbeExec($p) { $zMaster = sp + 852|0; $zSql = sp + 848|0; $initData = sp + 832|0; - $nRoot = sp + 828|0; - $aRoot = sp + 824|0; - $j82 = sp + 820|0; + $nRoot = sp + 824|0; + $aRoot = sp + 820|0; $nErr = sp + 816|0; $z = sp + 812|0; $pnErr = sp + 808|0; @@ -209826,76 +211166,76 @@ function _sqlite3VdbeExec($p) { $iSet = sp + 804|0; $exists = sp + 800|0; $nMem = sp + 796|0; - $nByte83 = sp + 792|0; + $nByte82 = sp + 792|0; $pRt = sp + 788|0; - $pMem84 = sp + 784|0; + $pMem83 = sp + 784|0; $pEnd = sp + 780|0; - $pFrame85 = sp + 776|0; + $pFrame84 = sp + 776|0; $pProgram = sp + 772|0; - $t86 = sp + 768|0; - $pFrame87 = sp + 764|0; + $t85 = sp + 768|0; + $pFrame86 = sp + 764|0; $pIn = sp + 760|0; - $pFrame88 = sp + 756|0; - $n89 = sp + 752|0; - $pCtx90 = sp + 748|0; - $i91 = sp + 744|0; - $pCtx92 = sp + 740|0; - $pMem93 = sp + 736|0; - $t94 = sp + 48|0; - $pMem95 = sp + 732|0; - $i96 = sp + 728|0; + $pFrame87 = sp + 756|0; + $n88 = sp + 752|0; + $pCtx89 = sp + 748|0; + $i90 = sp + 744|0; + $pCtx91 = sp + 740|0; + $pMem92 = sp + 736|0; + $t93 = sp + 48|0; + $pMem94 = sp + 732|0; + $i95 = sp + 728|0; $aRes = sp + 716|0; - $pMem97 = sp + 712|0; - $pBt98 = sp + 708|0; + $pMem96 = sp + 712|0; + $pBt97 = sp + 708|0; $pPager = sp + 704|0; $eNew = sp + 700|0; $eOld = sp + 696|0; $zFilename = sp + 692|0; - $pBt99 = sp + 688|0; + $pBt98 = sp + 688|0; $isWriteLock = sp + 1629|0; - $p1100 = sp + 684|0; - $z101 = sp + 680|0; + $p199 = sp + 684|0; + $z100 = sp + 680|0; $pVTab = sp + 676|0; - $sMem102 = sp + 8|0; + $sMem101 = sp + 8|0; $zTab = sp + 672|0; - $pCur103 = sp + 668|0; + $pCur102 = sp + 668|0; $pVCur = sp + 664|0; - $pVtab104 = sp + 660|0; - $pModule105 = sp + 656|0; + $pVtab103 = sp + 660|0; + $pModule104 = sp + 656|0; $nArg = sp + 652|0; $iQuery = sp + 648|0; - $pModule106 = sp + 644|0; + $pModule105 = sp + 644|0; $pQuery = sp + 640|0; $pArgc = sp + 636|0; - $pVCur107 = sp + 632|0; - $pVtab108 = sp + 628|0; - $pCur109 = sp + 624|0; - $res110 = sp + 620|0; - $i111 = sp + 616|0; + $pVCur106 = sp + 632|0; + $pVtab107 = sp + 628|0; + $pCur108 = sp + 624|0; + $res109 = sp + 620|0; + $i110 = sp + 616|0; $apArg = sp + 612|0; - $pVtab112 = sp + 608|0; - $pModule113 = sp + 604|0; - $pDest114 = sp + 600|0; + $pVtab111 = sp + 608|0; + $pModule112 = sp + 604|0; + $pDest113 = sp + 600|0; $sContext = sp + 568|0; - $pCur115 = sp + 564|0; - $pVtab116 = sp + 560|0; - $pModule117 = sp + 556|0; - $res118 = sp + 552|0; - $pCur119 = sp + 548|0; - $pVtab120 = sp + 544|0; + $pCur114 = sp + 564|0; + $pVtab115 = sp + 560|0; + $pModule116 = sp + 556|0; + $res117 = sp + 552|0; + $pCur118 = sp + 548|0; + $pVtab119 = sp + 544|0; $pName = sp + 540|0; - $pVtab121 = sp + 536|0; - $pModule122 = sp + 532|0; - $nArg123 = sp + 528|0; - $i124 = sp + 524|0; - $rowid125 = sp; - $apArg126 = sp + 520|0; - $pX127 = sp + 516|0; + $pVtab120 = sp + 536|0; + $pModule121 = sp + 532|0; + $nArg122 = sp + 528|0; + $i123 = sp + 524|0; + $rowid124 = sp; + $apArg125 = sp + 520|0; + $pX126 = sp + 516|0; $vtabOnConflict = sp + 1628|0; $newMax = sp + 512|0; - $pBt128 = sp + 508|0; + $pBt127 = sp + 508|0; $zTrace = sp + 504|0; - $z129 = sp + 500|0; + $z128 = sp + 500|0; HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; $2 = ((($1)) + 4|0); @@ -209909,7 +211249,7 @@ function _sqlite3VdbeExec($p) { HEAP32[$db>>2] = $6; HEAP8[$resetSchemaOnFault>>0] = 0; $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 62|0); + $8 = ((($7)) + 66|0); $9 = HEAP8[$8>>0]|0; HEAP8[$encoding>>0] = $9; HEAP32[$iCompare>>2] = 0; @@ -209946,7 +211286,7 @@ function _sqlite3VdbeExec($p) { $29 = ($28|0)==(7); L1: do { if ($29) { - label = 860; + label = 883; } else { $30 = HEAP32[$0>>2]|0; $31 = ((($30)) + 80|0); @@ -209963,17 +211303,17 @@ function _sqlite3VdbeExec($p) { $39 = ((($38)) + 20|0); HEAP32[$39>>2] = 0; $40 = HEAP32[$db>>2]|0; - $41 = ((($40)) + 448|0); + $41 = ((($40)) + 380|0); $42 = ((($41)) + 8|0); HEAP32[$42>>2] = 0; $43 = HEAP32[$db>>2]|0; - $44 = ((($43)) + 240|0); + $44 = ((($43)) + 248|0); $45 = HEAP32[$44>>2]|0; $46 = ($45|0)!=(0); L3: do { if (!($46)) { $47 = HEAP32[$db>>2]|0; - $48 = ((($47)) + 296|0); + $48 = ((($47)) + 304|0); $49 = HEAP32[$48>>2]|0; $50 = ($49|0)!=(0|0); if ($50) { @@ -209983,11 +211323,11 @@ function _sqlite3VdbeExec($p) { $54 = HEAP32[$53>>2]|0; HEAP32[$iPrior>>2] = $54; $55 = HEAP32[$db>>2]|0; - $56 = ((($55)) + 304|0); + $56 = ((($55)) + 312|0); $57 = HEAP32[$56>>2]|0; $58 = HEAP32[$iPrior>>2]|0; $59 = HEAP32[$db>>2]|0; - $60 = ((($59)) + 304|0); + $60 = ((($59)) + 312|0); $61 = HEAP32[$60>>2]|0; $62 = (($58>>>0) % ($61>>>0))&-1; $63 = (($57) - ($62))|0; @@ -210000,1367 +211340,1331 @@ function _sqlite3VdbeExec($p) { $68 = (($67) + (($66*20)|0)|0); HEAP32[$pOp>>2] = $68; L8: while(1) { - $69 = HEAP32[$rc>>2]|0; - $70 = ($69|0)==(0); - if (!($70)) { - break L1; - } - $71 = HEAP32[$nVmStep>>2]|0; - $72 = (($71) + 1)|0; - HEAP32[$nVmStep>>2] = $72; - $73 = HEAP32[$pOp>>2]|0; - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - L11: do { - switch ($75|0) { + $69 = HEAP32[$nVmStep>>2]|0; + $70 = (($69) + 1)|0; + HEAP32[$nVmStep>>2] = $70; + $71 = HEAP32[$pOp>>2]|0; + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + L10: do { + switch ($73|0) { + case 33: { + label = 70; + break L8; + break; + } + case 1: { + label = 391; + break L8; + break; + } case 13: { - label = 8; + label = 7; break; } case 14: { - $112 = HEAP32[$pOp>>2]|0; - $113 = ((($112)) + 4|0); - $114 = HEAP32[$113>>2]|0; - $115 = HEAP32[$aMem>>2]|0; - $116 = (($115) + (($114*40)|0)|0); - HEAP32[$pIn1>>2] = $116; - $117 = HEAP32[$pIn1>>2]|0; - $118 = ((($117)) + 8|0); - HEAP16[$118>>1] = 4; - $119 = HEAP32[$pOp>>2]|0; - $120 = HEAP32[$aOp>>2]|0; - $121 = $119; - $122 = $120; - $123 = (($121) - ($122))|0; - $124 = (($123|0) / 20)&-1; - $125 = ($124|0)<(0); - $126 = $125 << 31 >> 31; - $127 = HEAP32[$pIn1>>2]|0; - $128 = $127; + $110 = HEAP32[$pOp>>2]|0; + $111 = ((($110)) + 4|0); + $112 = HEAP32[$111>>2]|0; + $113 = HEAP32[$aMem>>2]|0; + $114 = (($113) + (($112*40)|0)|0); + HEAP32[$pIn1>>2] = $114; + $115 = HEAP32[$pIn1>>2]|0; + $116 = ((($115)) + 8|0); + HEAP16[$116>>1] = 4; + $117 = HEAP32[$pOp>>2]|0; + $118 = HEAP32[$aOp>>2]|0; + $119 = $117; + $120 = $118; + $121 = (($119) - ($120))|0; + $122 = (($121|0) / 20)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = HEAP32[$pIn1>>2]|0; + $126 = $125; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; $129 = $128; HEAP32[$129>>2] = $124; - $130 = (($128) + 4)|0; - $131 = $130; - HEAP32[$131>>2] = $126; - label = 15; + label = 14; break; } case 15: { - $138 = HEAP32[$pOp>>2]|0; - $139 = ((($138)) + 4|0); - $140 = HEAP32[$139>>2]|0; - $141 = HEAP32[$aMem>>2]|0; - $142 = (($141) + (($140*40)|0)|0); - HEAP32[$pIn1>>2] = $142; - $143 = HEAP32[$pIn1>>2]|0; - $144 = $143; - $145 = $144; - $146 = HEAP32[$145>>2]|0; - $147 = (($144) + 4)|0; - $148 = $147; - $149 = HEAP32[$148>>2]|0; - $150 = HEAP32[$aOp>>2]|0; - $151 = (($150) + (($146*20)|0)|0); - HEAP32[$pOp>>2] = $151; - $152 = HEAP32[$pIn1>>2]|0; - $153 = ((($152)) + 8|0); - HEAP16[$153>>1] = 128; + $136 = HEAP32[$pOp>>2]|0; + $137 = ((($136)) + 4|0); + $138 = HEAP32[$137>>2]|0; + $139 = HEAP32[$aMem>>2]|0; + $140 = (($139) + (($138*40)|0)|0); + HEAP32[$pIn1>>2] = $140; + $141 = HEAP32[$pIn1>>2]|0; + $142 = $141; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = HEAP32[$aOp>>2]|0; + $149 = (($148) + (($144*20)|0)|0); + HEAP32[$pOp>>2] = $149; + $150 = HEAP32[$pIn1>>2]|0; + $151 = ((($150)) + 8|0); + HEAP16[$151>>1] = 128; break; } case 16: { - $154 = HEAP32[$pOp>>2]|0; - $155 = ((($154)) + 4|0); - $156 = HEAP32[$155>>2]|0; - $157 = HEAP32[$aMem>>2]|0; - $158 = (($157) + (($156*40)|0)|0); - HEAP32[$pOut>>2] = $158; - $159 = HEAP32[$pOp>>2]|0; - $160 = ((($159)) + 12|0); - $161 = HEAP32[$160>>2]|0; - $162 = (($161) - 1)|0; - $163 = ($162|0)<(0); - $164 = $163 << 31 >> 31; - $165 = HEAP32[$pOut>>2]|0; - $166 = $165; + $152 = HEAP32[$pOp>>2]|0; + $153 = ((($152)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = HEAP32[$aMem>>2]|0; + $156 = (($155) + (($154*40)|0)|0); + HEAP32[$pOut>>2] = $156; + $157 = HEAP32[$pOp>>2]|0; + $158 = ((($157)) + 12|0); + $159 = HEAP32[$158>>2]|0; + $160 = (($159) - 1)|0; + $161 = ($160|0)<(0); + $162 = $161 << 31 >> 31; + $163 = HEAP32[$pOut>>2]|0; + $164 = $163; + $165 = $164; + HEAP32[$165>>2] = $160; + $166 = (($164) + 4)|0; $167 = $166; HEAP32[$167>>2] = $162; - $168 = (($166) + 4)|0; - $169 = $168; - HEAP32[$169>>2] = $164; - $170 = HEAP32[$pOut>>2]|0; + $168 = HEAP32[$pOut>>2]|0; + $169 = ((($168)) + 8|0); + HEAP16[$169>>1] = 4; + $170 = HEAP32[$pOp>>2]|0; $171 = ((($170)) + 8|0); - HEAP16[$171>>1] = 4; - $172 = HEAP32[$pOp>>2]|0; - $173 = ((($172)) + 8|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)!=(0); - if ($175) { - label = 15; + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)!=(0); + if ($173) { + label = 14; } break; } case 17: { - $176 = HEAP32[$pOp>>2]|0; - $177 = ((($176)) + 4|0); - $178 = HEAP32[$177>>2]|0; - $179 = HEAP32[$aMem>>2]|0; - $180 = (($179) + (($178*40)|0)|0); - HEAP32[$pIn1>>2] = $180; - $181 = HEAP32[$pIn1>>2]|0; - $182 = $181; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = HEAP32[$aOp>>2]|0; - $189 = (($188) + (($184*20)|0)|0); - HEAP32[$pCaller>>2] = $189; - $190 = HEAP32[$pCaller>>2]|0; - $191 = ((($190)) + 8|0); - $192 = HEAP32[$191>>2]|0; - $193 = (($192) - 1)|0; - $194 = HEAP32[$aOp>>2]|0; - $195 = (($194) + (($193*20)|0)|0); - HEAP32[$pOp>>2] = $195; - $196 = HEAP32[$pIn1>>2]|0; - $197 = ((($196)) + 8|0); - HEAP16[$197>>1] = 128; + $174 = HEAP32[$pOp>>2]|0; + $175 = ((($174)) + 4|0); + $176 = HEAP32[$175>>2]|0; + $177 = HEAP32[$aMem>>2]|0; + $178 = (($177) + (($176*40)|0)|0); + HEAP32[$pIn1>>2] = $178; + $179 = HEAP32[$pIn1>>2]|0; + $180 = $179; + $181 = $180; + $182 = HEAP32[$181>>2]|0; + $183 = (($180) + 4)|0; + $184 = $183; + $185 = HEAP32[$184>>2]|0; + $186 = HEAP32[$aOp>>2]|0; + $187 = (($186) + (($182*20)|0)|0); + HEAP32[$pCaller>>2] = $187; + $188 = HEAP32[$pCaller>>2]|0; + $189 = ((($188)) + 8|0); + $190 = HEAP32[$189>>2]|0; + $191 = (($190) - 1)|0; + $192 = HEAP32[$aOp>>2]|0; + $193 = (($192) + (($191*20)|0)|0); + HEAP32[$pOp>>2] = $193; + $194 = HEAP32[$pIn1>>2]|0; + $195 = ((($194)) + 8|0); + HEAP16[$195>>1] = 128; break; } case 18: { - $198 = HEAP32[$pOp>>2]|0; - $199 = ((($198)) + 4|0); - $200 = HEAP32[$199>>2]|0; - $201 = HEAP32[$aMem>>2]|0; - $202 = (($201) + (($200*40)|0)|0); - HEAP32[$pIn1>>2] = $202; + $196 = HEAP32[$pOp>>2]|0; + $197 = ((($196)) + 4|0); + $198 = HEAP32[$197>>2]|0; + $199 = HEAP32[$aMem>>2]|0; + $200 = (($199) + (($198*40)|0)|0); + HEAP32[$pIn1>>2] = $200; + $201 = HEAP32[$pIn1>>2]|0; + $202 = ((($201)) + 8|0); + HEAP16[$202>>1] = 4; $203 = HEAP32[$pIn1>>2]|0; - $204 = ((($203)) + 8|0); - HEAP16[$204>>1] = 4; - $205 = HEAP32[$pIn1>>2]|0; - $206 = $205; - $207 = $206; - $208 = HEAP32[$207>>2]|0; - $209 = (($206) + 4)|0; - $210 = $209; - $211 = HEAP32[$210>>2]|0; - HEAP32[$pcDest>>2] = $208; - $212 = HEAP32[$pOp>>2]|0; - $213 = HEAP32[$aOp>>2]|0; - $214 = $212; - $215 = $213; - $216 = (($214) - ($215))|0; - $217 = (($216|0) / 20)&-1; - $218 = ($217|0)<(0); - $219 = $218 << 31 >> 31; - $220 = HEAP32[$pIn1>>2]|0; - $221 = $220; + $204 = $203; + $205 = $204; + $206 = HEAP32[$205>>2]|0; + $207 = (($204) + 4)|0; + $208 = $207; + $209 = HEAP32[$208>>2]|0; + HEAP32[$pcDest>>2] = $206; + $210 = HEAP32[$pOp>>2]|0; + $211 = HEAP32[$aOp>>2]|0; + $212 = $210; + $213 = $211; + $214 = (($212) - ($213))|0; + $215 = (($214|0) / 20)&-1; + $216 = ($215|0)<(0); + $217 = $216 << 31 >> 31; + $218 = HEAP32[$pIn1>>2]|0; + $219 = $218; + $220 = $219; + HEAP32[$220>>2] = $215; + $221 = (($219) + 4)|0; $222 = $221; HEAP32[$222>>2] = $217; - $223 = (($221) + 4)|0; - $224 = $223; - HEAP32[$224>>2] = $219; - $225 = HEAP32[$pcDest>>2]|0; - $226 = HEAP32[$aOp>>2]|0; - $227 = (($226) + (($225*20)|0)|0); - HEAP32[$pOp>>2] = $227; + $223 = HEAP32[$pcDest>>2]|0; + $224 = HEAP32[$aOp>>2]|0; + $225 = (($224) + (($223*20)|0)|0); + HEAP32[$pOp>>2] = $225; break; } case 20: { - $228 = HEAP32[$pOp>>2]|0; - $229 = ((($228)) + 12|0); - $230 = HEAP32[$229>>2]|0; - $231 = HEAP32[$aMem>>2]|0; - $232 = (($231) + (($230*40)|0)|0); - HEAP32[$pIn3>>2] = $232; - $233 = HEAP32[$pIn3>>2]|0; - $234 = ((($233)) + 8|0); - $235 = HEAP16[$234>>1]|0; - $236 = $235&65535; - $237 = $236 & 1; - $238 = ($237|0)==(0); - if (!($238)) { - label = 21; + $226 = HEAP32[$pOp>>2]|0; + $227 = ((($226)) + 12|0); + $228 = HEAP32[$227>>2]|0; + $229 = HEAP32[$aMem>>2]|0; + $230 = (($229) + (($228*40)|0)|0); + HEAP32[$pIn3>>2] = $230; + $231 = HEAP32[$pIn3>>2]|0; + $232 = ((($231)) + 8|0); + $233 = HEAP16[$232>>1]|0; + $234 = $233&65535; + $235 = $234 & 1; + $236 = ($235|0)==(0); + if (!($236)) { + label = 20; } break; } case 21: { - label = 21; + label = 20; break; } case 22: { - $375 = HEAP32[$0>>2]|0; + $373 = HEAP32[$0>>2]|0; + $374 = HEAP32[$pOp>>2]|0; + $375 = (_out2Prerelease($373,$374)|0); + HEAP32[$pOut>>2] = $375; $376 = HEAP32[$pOp>>2]|0; - $377 = (_out2Prerelease($375,$376)|0); - HEAP32[$pOut>>2] = $377; - $378 = HEAP32[$pOp>>2]|0; - $379 = ((($378)) + 4|0); - $380 = HEAP32[$379>>2]|0; - $381 = ($380|0)<(0); - $382 = $381 << 31 >> 31; - $383 = HEAP32[$pOut>>2]|0; - $384 = $383; + $377 = ((($376)) + 4|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)<(0); + $380 = $379 << 31 >> 31; + $381 = HEAP32[$pOut>>2]|0; + $382 = $381; + $383 = $382; + HEAP32[$383>>2] = $378; + $384 = (($382) + 4)|0; $385 = $384; HEAP32[$385>>2] = $380; - $386 = (($384) + 4)|0; - $387 = $386; - HEAP32[$387>>2] = $382; break; } case 23: { - $388 = HEAP32[$0>>2]|0; + $386 = HEAP32[$0>>2]|0; + $387 = HEAP32[$pOp>>2]|0; + $388 = (_out2Prerelease($386,$387)|0); + HEAP32[$pOut>>2] = $388; $389 = HEAP32[$pOp>>2]|0; - $390 = (_out2Prerelease($388,$389)|0); - HEAP32[$pOut>>2] = $390; - $391 = HEAP32[$pOp>>2]|0; - $392 = ((($391)) + 16|0); - $393 = HEAP32[$392>>2]|0; - $394 = $393; - $395 = $394; - $396 = HEAP32[$395>>2]|0; - $397 = (($394) + 4)|0; - $398 = $397; - $399 = HEAP32[$398>>2]|0; - $400 = HEAP32[$pOut>>2]|0; - $401 = $400; + $390 = ((($389)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $392 = $391; + $393 = $392; + $394 = HEAP32[$393>>2]|0; + $395 = (($392) + 4)|0; + $396 = $395; + $397 = HEAP32[$396>>2]|0; + $398 = HEAP32[$pOut>>2]|0; + $399 = $398; + $400 = $399; + HEAP32[$400>>2] = $394; + $401 = (($399) + 4)|0; $402 = $401; - HEAP32[$402>>2] = $396; - $403 = (($401) + 4)|0; - $404 = $403; - HEAP32[$404>>2] = $399; + HEAP32[$402>>2] = $397; break; } case 133: { - $405 = HEAP32[$0>>2]|0; - $406 = HEAP32[$pOp>>2]|0; - $407 = (_out2Prerelease($405,$406)|0); - HEAP32[$pOut>>2] = $407; - $408 = HEAP32[$pOut>>2]|0; - $409 = ((($408)) + 8|0); - HEAP16[$409>>1] = 8; - $410 = HEAP32[$pOp>>2]|0; - $411 = ((($410)) + 16|0); - $412 = HEAP32[$411>>2]|0; - $413 = +HEAPF64[$412>>3]; - $414 = HEAP32[$pOut>>2]|0; - HEAPF64[$414>>3] = $413; + $403 = HEAP32[$0>>2]|0; + $404 = HEAP32[$pOp>>2]|0; + $405 = (_out2Prerelease($403,$404)|0); + HEAP32[$pOut>>2] = $405; + $406 = HEAP32[$pOut>>2]|0; + $407 = ((($406)) + 8|0); + HEAP16[$407>>1] = 8; + $408 = HEAP32[$pOp>>2]|0; + $409 = ((($408)) + 16|0); + $410 = HEAP32[$409>>2]|0; + $411 = +HEAPF64[$410>>3]; + $412 = HEAP32[$pOut>>2]|0; + HEAPF64[$412>>3] = $411; break; } case 97: { - $415 = HEAP32[$0>>2]|0; + $413 = HEAP32[$0>>2]|0; + $414 = HEAP32[$pOp>>2]|0; + $415 = (_out2Prerelease($413,$414)|0); + HEAP32[$pOut>>2] = $415; $416 = HEAP32[$pOp>>2]|0; - $417 = (_out2Prerelease($415,$416)|0); - HEAP32[$pOut>>2] = $417; - $418 = HEAP32[$pOp>>2]|0; - HEAP8[$418>>0] = 24; - $419 = HEAP32[$pOp>>2]|0; - $420 = ((($419)) + 16|0); - $421 = HEAP32[$420>>2]|0; - $422 = (_sqlite3Strlen30($421)|0); - $423 = HEAP32[$pOp>>2]|0; - $424 = ((($423)) + 4|0); - HEAP32[$424>>2] = $422; - $425 = HEAP8[$encoding>>0]|0; - $426 = $425&255; - $427 = ($426|0)!=(1); - if ($427) { - $428 = HEAP32[$pOut>>2]|0; - $429 = HEAP32[$pOp>>2]|0; - $430 = ((($429)) + 16|0); - $431 = HEAP32[$430>>2]|0; - $432 = (_sqlite3VdbeMemSetStr($428,$431,-1,1,0)|0); - HEAP32[$rc>>2] = $432; - $433 = HEAP32[$rc>>2]|0; - $434 = ($433|0)==(18); - if ($434) { - label = 859; + HEAP8[$416>>0] = 24; + $417 = HEAP32[$pOp>>2]|0; + $418 = ((($417)) + 16|0); + $419 = HEAP32[$418>>2]|0; + $420 = (_sqlite3Strlen30($419)|0); + $421 = HEAP32[$pOp>>2]|0; + $422 = ((($421)) + 4|0); + HEAP32[$422>>2] = $420; + $423 = HEAP8[$encoding>>0]|0; + $424 = $423&255; + $425 = ($424|0)!=(1); + if ($425) { + $426 = HEAP32[$pOut>>2]|0; + $427 = HEAP32[$pOp>>2]|0; + $428 = ((($427)) + 16|0); + $429 = HEAP32[$428>>2]|0; + $430 = (_sqlite3VdbeMemSetStr($426,$429,-1,1,0)|0); + HEAP32[$rc>>2] = $430; + $431 = HEAP32[$rc>>2]|0; + $432 = ($431|0)!=(0); + if ($432) { + label = 882; break L8; } - $435 = HEAP32[$pOut>>2]|0; - $436 = HEAP8[$encoding>>0]|0; - $437 = $436&255; - $438 = (_sqlite3VdbeChangeEncoding($435,$437)|0); - $439 = (0)!=($438|0); - if ($439) { - label = 860; + $433 = HEAP32[$pOut>>2]|0; + $434 = HEAP8[$encoding>>0]|0; + $435 = $434&255; + $436 = (_sqlite3VdbeChangeEncoding($433,$435)|0); + $437 = (0)!=($436|0); + if ($437) { + label = 883; break L1; } + $438 = HEAP32[$pOut>>2]|0; + $439 = ((($438)) + 24|0); + HEAP32[$439>>2] = 0; $440 = HEAP32[$pOut>>2]|0; - $441 = ((($440)) + 24|0); - HEAP32[$441>>2] = 0; - $442 = HEAP32[$pOut>>2]|0; - $443 = ((($442)) + 8|0); - $444 = HEAP16[$443>>1]|0; + $441 = ((($440)) + 8|0); + $442 = HEAP16[$441>>1]|0; + $443 = $442&65535; + $444 = $443 | 2048; $445 = $444&65535; - $446 = $445 | 2048; - $447 = $446&65535; - HEAP16[$443>>1] = $447; - $448 = HEAP32[$pOp>>2]|0; - $449 = ((($448)) + 1|0); - $450 = HEAP8[$449>>0]|0; - $451 = $450 << 24 >> 24; - $452 = ($451|0)==(-1); - if ($452) { - $453 = HEAP32[$db>>2]|0; - $454 = HEAP32[$pOp>>2]|0; - $455 = ((($454)) + 16|0); - $456 = HEAP32[$455>>2]|0; - _sqlite3DbFree($453,$456); + HEAP16[$441>>1] = $445; + $446 = HEAP32[$pOp>>2]|0; + $447 = ((($446)) + 1|0); + $448 = HEAP8[$447>>0]|0; + $449 = $448 << 24 >> 24; + $450 = ($449|0)==(-1); + if ($450) { + $451 = HEAP32[$db>>2]|0; + $452 = HEAP32[$pOp>>2]|0; + $453 = ((($452)) + 16|0); + $454 = HEAP32[$453>>2]|0; + _sqlite3DbFree($451,$454); } - $457 = HEAP32[$pOp>>2]|0; - $458 = ((($457)) + 1|0); - HEAP8[$458>>0] = -1; - $459 = HEAP32[$pOut>>2]|0; - $460 = ((($459)) + 16|0); - $461 = HEAP32[$460>>2]|0; - $462 = HEAP32[$pOp>>2]|0; - $463 = ((($462)) + 16|0); - HEAP32[$463>>2] = $461; - $464 = HEAP32[$pOut>>2]|0; - $465 = ((($464)) + 12|0); - $466 = HEAP32[$465>>2]|0; - $467 = HEAP32[$pOp>>2]|0; - $468 = ((($467)) + 4|0); - HEAP32[$468>>2] = $466; + $455 = HEAP32[$pOp>>2]|0; + $456 = ((($455)) + 1|0); + HEAP8[$456>>0] = -1; + $457 = HEAP32[$pOut>>2]|0; + $458 = ((($457)) + 16|0); + $459 = HEAP32[$458>>2]|0; + $460 = HEAP32[$pOp>>2]|0; + $461 = ((($460)) + 16|0); + HEAP32[$461>>2] = $459; + $462 = HEAP32[$pOut>>2]|0; + $463 = ((($462)) + 12|0); + $464 = HEAP32[$463>>2]|0; + $465 = HEAP32[$pOp>>2]|0; + $466 = ((($465)) + 4|0); + HEAP32[$466>>2] = $464; } - $469 = HEAP32[$pOp>>2]|0; - $470 = ((($469)) + 4|0); - $471 = HEAP32[$470>>2]|0; - $472 = HEAP32[$db>>2]|0; - $473 = ((($472)) + 88|0); - $474 = HEAP32[$473>>2]|0; - $475 = ($471|0)>($474|0); - if ($475) { - label = 859; + $467 = HEAP32[$pOp>>2]|0; + $468 = ((($467)) + 4|0); + $469 = HEAP32[$468>>2]|0; + $470 = HEAP32[$db>>2]|0; + $471 = ((($470)) + 92|0); + $472 = HEAP32[$471>>2]|0; + $473 = ($469|0)>($472|0); + if ($473) { + label = 882; break L8; } else { - label = 50; + label = 49; } break; } case 24: { - label = 50; + label = 49; break; } case 25: { - $515 = HEAP32[$0>>2]|0; + $513 = HEAP32[$0>>2]|0; + $514 = HEAP32[$pOp>>2]|0; + $515 = (_out2Prerelease($513,$514)|0); + HEAP32[$pOut>>2] = $515; $516 = HEAP32[$pOp>>2]|0; - $517 = (_out2Prerelease($515,$516)|0); - HEAP32[$pOut>>2] = $517; - $518 = HEAP32[$pOp>>2]|0; - $519 = ((($518)) + 12|0); - $520 = HEAP32[$519>>2]|0; - $521 = HEAP32[$pOp>>2]|0; - $522 = ((($521)) + 8|0); - $523 = HEAP32[$522>>2]|0; - $524 = (($520) - ($523))|0; - HEAP32[$cnt>>2] = $524; - $525 = HEAP32[$pOp>>2]|0; - $526 = ((($525)) + 4|0); - $527 = HEAP32[$526>>2]|0; - $528 = ($527|0)!=(0); - $529 = $528 ? 257 : 1; - $530 = $529&65535; - HEAP16[$nullFlag>>1] = $530; - $531 = HEAP32[$pOut>>2]|0; - $532 = ((($531)) + 8|0); - HEAP16[$532>>1] = $530; + $517 = ((($516)) + 12|0); + $518 = HEAP32[$517>>2]|0; + $519 = HEAP32[$pOp>>2]|0; + $520 = ((($519)) + 8|0); + $521 = HEAP32[$520>>2]|0; + $522 = (($518) - ($521))|0; + HEAP32[$cnt>>2] = $522; + $523 = HEAP32[$pOp>>2]|0; + $524 = ((($523)) + 4|0); + $525 = HEAP32[$524>>2]|0; + $526 = ($525|0)!=(0); + $527 = $526 ? 257 : 1; + $528 = $527&65535; + HEAP16[$nullFlag>>1] = $528; + $529 = HEAP32[$pOut>>2]|0; + $530 = ((($529)) + 8|0); + HEAP16[$530>>1] = $528; while(1) { - $533 = HEAP32[$cnt>>2]|0; - $534 = ($533|0)>(0); - if (!($534)) { - break L11; + $531 = HEAP32[$cnt>>2]|0; + $532 = ($531|0)>(0); + if (!($532)) { + break L10; } + $533 = HEAP32[$pOut>>2]|0; + $534 = ((($533)) + 40|0); + HEAP32[$pOut>>2] = $534; $535 = HEAP32[$pOut>>2]|0; - $536 = ((($535)) + 40|0); - HEAP32[$pOut>>2] = $536; + _sqlite3VdbeMemSetNull($535); + $536 = HEAP16[$nullFlag>>1]|0; $537 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($537); - $538 = HEAP16[$nullFlag>>1]|0; - $539 = HEAP32[$pOut>>2]|0; - $540 = ((($539)) + 8|0); - HEAP16[$540>>1] = $538; - $541 = HEAP32[$cnt>>2]|0; - $542 = (($541) + -1)|0; - HEAP32[$cnt>>2] = $542; + $538 = ((($537)) + 8|0); + HEAP16[$538>>1] = $536; + $539 = HEAP32[$cnt>>2]|0; + $540 = (($539) + -1)|0; + HEAP32[$cnt>>2] = $540; } break; } case 26: { - $543 = HEAP32[$pOp>>2]|0; - $544 = ((($543)) + 4|0); - $545 = HEAP32[$544>>2]|0; - $546 = HEAP32[$aMem>>2]|0; - $547 = (($546) + (($545*40)|0)|0); - HEAP32[$pOut>>2] = $547; - $548 = HEAP32[$pOut>>2]|0; - $549 = ((($548)) + 8|0); - $550 = HEAP16[$549>>1]|0; - $551 = $550&65535; - $552 = $551 | 1; - $553 = $552 & -129; - $554 = $553&65535; - $555 = HEAP32[$pOut>>2]|0; - $556 = ((($555)) + 8|0); - HEAP16[$556>>1] = $554; + $541 = HEAP32[$pOp>>2]|0; + $542 = ((($541)) + 4|0); + $543 = HEAP32[$542>>2]|0; + $544 = HEAP32[$aMem>>2]|0; + $545 = (($544) + (($543*40)|0)|0); + HEAP32[$pOut>>2] = $545; + $546 = HEAP32[$pOut>>2]|0; + $547 = ((($546)) + 8|0); + $548 = HEAP16[$547>>1]|0; + $549 = $548&65535; + $550 = $549 | 1; + $551 = $550 & -129; + $552 = $551&65535; + $553 = HEAP32[$pOut>>2]|0; + $554 = ((($553)) + 8|0); + HEAP16[$554>>1] = $552; break; } case 27: { - $557 = HEAP32[$0>>2]|0; - $558 = HEAP32[$pOp>>2]|0; - $559 = (_out2Prerelease($557,$558)|0); - HEAP32[$pOut>>2] = $559; - $560 = HEAP32[$pOut>>2]|0; - $561 = HEAP32[$pOp>>2]|0; - $562 = ((($561)) + 16|0); - $563 = HEAP32[$562>>2]|0; - $564 = HEAP32[$pOp>>2]|0; - $565 = ((($564)) + 4|0); - $566 = HEAP32[$565>>2]|0; - (_sqlite3VdbeMemSetStr($560,$563,$566,0,0)|0); - $567 = HEAP8[$encoding>>0]|0; - $568 = HEAP32[$pOut>>2]|0; - $569 = ((($568)) + 10|0); - HEAP8[$569>>0] = $567; + $555 = HEAP32[$0>>2]|0; + $556 = HEAP32[$pOp>>2]|0; + $557 = (_out2Prerelease($555,$556)|0); + HEAP32[$pOut>>2] = $557; + $558 = HEAP32[$pOut>>2]|0; + $559 = HEAP32[$pOp>>2]|0; + $560 = ((($559)) + 16|0); + $561 = HEAP32[$560>>2]|0; + $562 = HEAP32[$pOp>>2]|0; + $563 = ((($562)) + 4|0); + $564 = HEAP32[$563>>2]|0; + (_sqlite3VdbeMemSetStr($558,$561,$564,0,0)|0); + $565 = HEAP8[$encoding>>0]|0; + $566 = HEAP32[$pOut>>2]|0; + $567 = ((($566)) + 10|0); + HEAP8[$567>>0] = $565; break; } case 28: { - $570 = HEAP32[$pOp>>2]|0; - $571 = ((($570)) + 4|0); - $572 = HEAP32[$571>>2]|0; - $573 = (($572) - 1)|0; - $574 = HEAP32[$0>>2]|0; - $575 = ((($574)) + 60|0); - $576 = HEAP32[$575>>2]|0; - $577 = (($576) + (($573*40)|0)|0); - HEAP32[$pVar>>2] = $577; - $578 = HEAP32[$pVar>>2]|0; - $579 = (_sqlite3VdbeMemTooBig($578)|0); - $580 = ($579|0)!=(0); - if ($580) { - label = 859; + $568 = HEAP32[$pOp>>2]|0; + $569 = ((($568)) + 4|0); + $570 = HEAP32[$569>>2]|0; + $571 = (($570) - 1)|0; + $572 = HEAP32[$0>>2]|0; + $573 = ((($572)) + 60|0); + $574 = HEAP32[$573>>2]|0; + $575 = (($574) + (($571*40)|0)|0); + HEAP32[$pVar>>2] = $575; + $576 = HEAP32[$pVar>>2]|0; + $577 = (_sqlite3VdbeMemTooBig($576)|0); + $578 = ($577|0)!=(0); + if ($578) { + label = 882; break L8; } - $581 = HEAP32[$0>>2]|0; - $582 = HEAP32[$pOp>>2]|0; - $583 = (_out2Prerelease($581,$582)|0); - HEAP32[$pOut>>2] = $583; - $584 = HEAP32[$pOut>>2]|0; - $585 = HEAP32[$pVar>>2]|0; - _sqlite3VdbeMemShallowCopy($584,$585,2048); + $579 = HEAP32[$0>>2]|0; + $580 = HEAP32[$pOp>>2]|0; + $581 = (_out2Prerelease($579,$580)|0); + HEAP32[$pOut>>2] = $581; + $582 = HEAP32[$pOut>>2]|0; + $583 = HEAP32[$pVar>>2]|0; + _sqlite3VdbeMemShallowCopy($582,$583,2048); break; } case 29: { - $586 = HEAP32[$pOp>>2]|0; - $587 = ((($586)) + 12|0); - $588 = HEAP32[$587>>2]|0; - HEAP32[$n>>2] = $588; - $589 = HEAP32[$pOp>>2]|0; - $590 = ((($589)) + 4|0); - $591 = HEAP32[$590>>2]|0; - HEAP32[$p1>>2] = $591; - $592 = HEAP32[$pOp>>2]|0; - $593 = ((($592)) + 8|0); - $594 = HEAP32[$593>>2]|0; - HEAP32[$p2>>2] = $594; - $595 = HEAP32[$p1>>2]|0; - $596 = HEAP32[$aMem>>2]|0; - $597 = (($596) + (($595*40)|0)|0); - HEAP32[$pIn1>>2] = $597; - $598 = HEAP32[$p2>>2]|0; - $599 = HEAP32[$aMem>>2]|0; - $600 = (($599) + (($598*40)|0)|0); - HEAP32[$pOut>>2] = $600; + $584 = HEAP32[$pOp>>2]|0; + $585 = ((($584)) + 12|0); + $586 = HEAP32[$585>>2]|0; + HEAP32[$n>>2] = $586; + $587 = HEAP32[$pOp>>2]|0; + $588 = ((($587)) + 4|0); + $589 = HEAP32[$588>>2]|0; + HEAP32[$p1>>2] = $589; + $590 = HEAP32[$pOp>>2]|0; + $591 = ((($590)) + 8|0); + $592 = HEAP32[$591>>2]|0; + HEAP32[$p2>>2] = $592; + $593 = HEAP32[$p1>>2]|0; + $594 = HEAP32[$aMem>>2]|0; + $595 = (($594) + (($593*40)|0)|0); + HEAP32[$pIn1>>2] = $595; + $596 = HEAP32[$p2>>2]|0; + $597 = HEAP32[$aMem>>2]|0; + $598 = (($597) + (($596*40)|0)|0); + HEAP32[$pOut>>2] = $598; while(1) { + $599 = HEAP32[$pOut>>2]|0; + $600 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemMove($599,$600); $601 = HEAP32[$pOut>>2]|0; - $602 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemMove($601,$602); - $603 = HEAP32[$pOut>>2]|0; - $604 = ((($603)) + 8|0); - $605 = HEAP16[$604>>1]|0; - $606 = $605&65535; - $607 = $606 & 4096; - $608 = ($607|0)!=(0); - if ($608) { - $609 = HEAP32[$pOut>>2]|0; - $610 = (_sqlite3VdbeMemMakeWriteable($609)|0); - $611 = ($610|0)!=(0); - if ($611) { - label = 860; + $602 = ((($601)) + 8|0); + $603 = HEAP16[$602>>1]|0; + $604 = $603&65535; + $605 = $604 & 4096; + $606 = ($605|0)!=(0); + if ($606) { + $607 = HEAP32[$pOut>>2]|0; + $608 = (_sqlite3VdbeMemMakeWriteable($607)|0); + $609 = ($608|0)!=(0); + if ($609) { + label = 883; break L1; } } - $612 = HEAP32[$pIn1>>2]|0; + $610 = HEAP32[$pIn1>>2]|0; + $611 = ((($610)) + 40|0); + HEAP32[$pIn1>>2] = $611; + $612 = HEAP32[$pOut>>2]|0; $613 = ((($612)) + 40|0); - HEAP32[$pIn1>>2] = $613; - $614 = HEAP32[$pOut>>2]|0; - $615 = ((($614)) + 40|0); - HEAP32[$pOut>>2] = $615; - $616 = HEAP32[$n>>2]|0; - $617 = (($616) + -1)|0; - HEAP32[$n>>2] = $617; - $618 = ($617|0)!=(0); - if (!($618)) { + HEAP32[$pOut>>2] = $613; + $614 = HEAP32[$n>>2]|0; + $615 = (($614) + -1)|0; + HEAP32[$n>>2] = $615; + $616 = ($615|0)!=(0); + if (!($616)) { break; } } break; } case 30: { - $619 = HEAP32[$pOp>>2]|0; - $620 = ((($619)) + 12|0); - $621 = HEAP32[$620>>2]|0; - HEAP32[$n1>>2] = $621; - $622 = HEAP32[$pOp>>2]|0; - $623 = ((($622)) + 4|0); - $624 = HEAP32[$623>>2]|0; - $625 = HEAP32[$aMem>>2]|0; - $626 = (($625) + (($624*40)|0)|0); - HEAP32[$pIn1>>2] = $626; - $627 = HEAP32[$pOp>>2]|0; - $628 = ((($627)) + 8|0); - $629 = HEAP32[$628>>2]|0; - $630 = HEAP32[$aMem>>2]|0; - $631 = (($630) + (($629*40)|0)|0); - HEAP32[$pOut>>2] = $631; + $617 = HEAP32[$pOp>>2]|0; + $618 = ((($617)) + 12|0); + $619 = HEAP32[$618>>2]|0; + HEAP32[$n1>>2] = $619; + $620 = HEAP32[$pOp>>2]|0; + $621 = ((($620)) + 4|0); + $622 = HEAP32[$621>>2]|0; + $623 = HEAP32[$aMem>>2]|0; + $624 = (($623) + (($622*40)|0)|0); + HEAP32[$pIn1>>2] = $624; + $625 = HEAP32[$pOp>>2]|0; + $626 = ((($625)) + 8|0); + $627 = HEAP32[$626>>2]|0; + $628 = HEAP32[$aMem>>2]|0; + $629 = (($628) + (($627*40)|0)|0); + HEAP32[$pOut>>2] = $629; while(1) { + $630 = HEAP32[$pOut>>2]|0; + $631 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemShallowCopy($630,$631,4096); $632 = HEAP32[$pOut>>2]|0; - $633 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($632,$633,4096); - $634 = HEAP32[$pOut>>2]|0; - $635 = ((($634)) + 8|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636&65535; - $638 = $637 & 4096; - $639 = ($638|0)!=(0); - if ($639) { - $640 = HEAP32[$pOut>>2]|0; - $641 = (_sqlite3VdbeMemMakeWriteable($640)|0); - $642 = ($641|0)!=(0); - if ($642) { - label = 860; + $633 = ((($632)) + 8|0); + $634 = HEAP16[$633>>1]|0; + $635 = $634&65535; + $636 = $635 & 4096; + $637 = ($636|0)!=(0); + if ($637) { + $638 = HEAP32[$pOut>>2]|0; + $639 = (_sqlite3VdbeMemMakeWriteable($638)|0); + $640 = ($639|0)!=(0); + if ($640) { + label = 883; break L1; } } - $643 = HEAP32[$n1>>2]|0; - $644 = (($643) + -1)|0; - HEAP32[$n1>>2] = $644; - $645 = ($643|0)==(0); - if ($645) { - break L11; + $641 = HEAP32[$n1>>2]|0; + $642 = (($641) + -1)|0; + HEAP32[$n1>>2] = $642; + $643 = ($641|0)==(0); + if ($643) { + break L10; } - $646 = HEAP32[$pOut>>2]|0; + $644 = HEAP32[$pOut>>2]|0; + $645 = ((($644)) + 40|0); + HEAP32[$pOut>>2] = $645; + $646 = HEAP32[$pIn1>>2]|0; $647 = ((($646)) + 40|0); - HEAP32[$pOut>>2] = $647; - $648 = HEAP32[$pIn1>>2]|0; - $649 = ((($648)) + 40|0); - HEAP32[$pIn1>>2] = $649; + HEAP32[$pIn1>>2] = $647; } break; } case 31: { - $650 = HEAP32[$pOp>>2]|0; - $651 = ((($650)) + 4|0); - $652 = HEAP32[$651>>2]|0; - $653 = HEAP32[$aMem>>2]|0; - $654 = (($653) + (($652*40)|0)|0); - HEAP32[$pIn1>>2] = $654; - $655 = HEAP32[$pOp>>2]|0; - $656 = ((($655)) + 8|0); - $657 = HEAP32[$656>>2]|0; - $658 = HEAP32[$aMem>>2]|0; - $659 = (($658) + (($657*40)|0)|0); - HEAP32[$pOut>>2] = $659; - $660 = HEAP32[$pOut>>2]|0; - $661 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemShallowCopy($660,$661,4096); + $648 = HEAP32[$pOp>>2]|0; + $649 = ((($648)) + 4|0); + $650 = HEAP32[$649>>2]|0; + $651 = HEAP32[$aMem>>2]|0; + $652 = (($651) + (($650*40)|0)|0); + HEAP32[$pIn1>>2] = $652; + $653 = HEAP32[$pOp>>2]|0; + $654 = ((($653)) + 8|0); + $655 = HEAP32[$654>>2]|0; + $656 = HEAP32[$aMem>>2]|0; + $657 = (($656) + (($655*40)|0)|0); + HEAP32[$pOut>>2] = $657; + $658 = HEAP32[$pOut>>2]|0; + $659 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemShallowCopy($658,$659,4096); break; } case 32: { - $662 = HEAP32[$pOp>>2]|0; - $663 = ((($662)) + 4|0); - $664 = HEAP32[$663>>2]|0; - $665 = HEAP32[$aMem>>2]|0; - $666 = (($665) + (($664*40)|0)|0); - HEAP32[$pIn1>>2] = $666; - $667 = HEAP32[$pOp>>2]|0; - $668 = ((($667)) + 8|0); - $669 = HEAP32[$668>>2]|0; - $670 = HEAP32[$aMem>>2]|0; - $671 = (($670) + (($669*40)|0)|0); - HEAP32[$pOut>>2] = $671; - $672 = HEAP32[$pOut>>2]|0; - $673 = HEAP32[$pIn1>>2]|0; - $674 = $673; - $675 = $674; - $676 = HEAP32[$675>>2]|0; - $677 = (($674) + 4)|0; - $678 = $677; - $679 = HEAP32[$678>>2]|0; - _sqlite3VdbeMemSetInt64($672,$676,$679); - break; - } - case 33: { - $680 = HEAP32[$db>>2]|0; - $681 = ((($680)) + 296|0); - $682 = HEAP32[$681>>2]|0; - $683 = ($682|0)!=(0|0); - if ($683) { - $684 = HEAP32[$nVmStep>>2]|0; - $685 = HEAP32[$nProgressLimit>>2]|0; - $686 = ($684>>>0)>=($685>>>0); - if ($686) { - $687 = HEAP32[$db>>2]|0; - $688 = ((($687)) + 296|0); - $689 = HEAP32[$688>>2]|0; - $690 = HEAP32[$db>>2]|0; - $691 = ((($690)) + 300|0); - $692 = HEAP32[$691>>2]|0; - $693 = (FUNCTION_TABLE_ii[$689 & 255]($692)|0); - $694 = ($693|0)!=(0); - if ($694) { - label = 74; - break L8; - } - } - } - $695 = HEAP32[$0>>2]|0; - $696 = (_sqlite3VdbeCheckFk($695,0)|0); - HEAP32[$rc>>2] = $696; - $697 = (0)!=($696|0); - if (!($697)) { - $698 = HEAP32[$0>>2]|0; - $699 = (_sqlite3VdbeCloseStatement($698,1)|0); - HEAP32[$rc>>2] = $699; - $700 = HEAP32[$rc>>2]|0; - $701 = ($700|0)!=(0); - if (!($701)) { - label = 77; - break L8; - } - } + $660 = HEAP32[$pOp>>2]|0; + $661 = ((($660)) + 4|0); + $662 = HEAP32[$661>>2]|0; + $663 = HEAP32[$aMem>>2]|0; + $664 = (($663) + (($662*40)|0)|0); + HEAP32[$pIn1>>2] = $664; + $665 = HEAP32[$pOp>>2]|0; + $666 = ((($665)) + 8|0); + $667 = HEAP32[$666>>2]|0; + $668 = HEAP32[$aMem>>2]|0; + $669 = (($668) + (($667*40)|0)|0); + HEAP32[$pOut>>2] = $669; + $670 = HEAP32[$pOut>>2]|0; + $671 = HEAP32[$pIn1>>2]|0; + $672 = $671; + $673 = $672; + $674 = HEAP32[$673>>2]|0; + $675 = (($672) + 4)|0; + $676 = $675; + $677 = HEAP32[$676>>2]|0; + _sqlite3VdbeMemSetInt64($670,$674,$677); break; } case 94: { - $752 = HEAP32[$pOp>>2]|0; - $753 = ((($752)) + 4|0); - $754 = HEAP32[$753>>2]|0; - $755 = HEAP32[$aMem>>2]|0; - $756 = (($755) + (($754*40)|0)|0); - HEAP32[$pIn1>>2] = $756; - $757 = HEAP32[$pOp>>2]|0; - $758 = ((($757)) + 8|0); - $759 = HEAP32[$758>>2]|0; - $760 = HEAP32[$aMem>>2]|0; - $761 = (($760) + (($759*40)|0)|0); - HEAP32[$pIn2>>2] = $761; - $762 = HEAP32[$pOp>>2]|0; - $763 = ((($762)) + 12|0); - $764 = HEAP32[$763>>2]|0; - $765 = HEAP32[$aMem>>2]|0; - $766 = (($765) + (($764*40)|0)|0); - HEAP32[$pOut>>2] = $766; - $767 = HEAP32[$pIn1>>2]|0; + $748 = HEAP32[$pOp>>2]|0; + $749 = ((($748)) + 4|0); + $750 = HEAP32[$749>>2]|0; + $751 = HEAP32[$aMem>>2]|0; + $752 = (($751) + (($750*40)|0)|0); + HEAP32[$pIn1>>2] = $752; + $753 = HEAP32[$pOp>>2]|0; + $754 = ((($753)) + 8|0); + $755 = HEAP32[$754>>2]|0; + $756 = HEAP32[$aMem>>2]|0; + $757 = (($756) + (($755*40)|0)|0); + HEAP32[$pIn2>>2] = $757; + $758 = HEAP32[$pOp>>2]|0; + $759 = ((($758)) + 12|0); + $760 = HEAP32[$759>>2]|0; + $761 = HEAP32[$aMem>>2]|0; + $762 = (($761) + (($760*40)|0)|0); + HEAP32[$pOut>>2] = $762; + $763 = HEAP32[$pIn1>>2]|0; + $764 = ((($763)) + 8|0); + $765 = HEAP16[$764>>1]|0; + $766 = $765&65535; + $767 = HEAP32[$pIn2>>2]|0; $768 = ((($767)) + 8|0); $769 = HEAP16[$768>>1]|0; $770 = $769&65535; - $771 = HEAP32[$pIn2>>2]|0; - $772 = ((($771)) + 8|0); - $773 = HEAP16[$772>>1]|0; - $774 = $773&65535; - $775 = $770 | $774; - $776 = $775 & 1; - $777 = ($776|0)!=(0); - if ($777) { - $778 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($778); - break L11; + $771 = $766 | $770; + $772 = $771 & 1; + $773 = ($772|0)!=(0); + if ($773) { + $774 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($774); + break L10; } - $779 = HEAP32[$pIn1>>2]|0; - $780 = ((($779)) + 8|0); - $781 = HEAP16[$780>>1]|0; - $782 = $781&65535; - $783 = $782 & 16384; - $784 = ($783|0)!=(0); - if ($784) { - $785 = HEAP32[$pIn1>>2]|0; - $786 = (_sqlite3VdbeMemExpandBlob($785)|0); - $787 = ($786|0)!=(0); - if ($787) { - label = 860; + $775 = HEAP32[$pIn1>>2]|0; + $776 = ((($775)) + 8|0); + $777 = HEAP16[$776>>1]|0; + $778 = $777&65535; + $779 = $778 & 16384; + $780 = ($779|0)!=(0); + if ($780) { + $781 = HEAP32[$pIn1>>2]|0; + $782 = (_sqlite3VdbeMemExpandBlob($781)|0); + $783 = ($782|0)!=(0); + if ($783) { + label = 883; break L1; } } - $788 = HEAP32[$pIn2>>2]|0; - $789 = ((($788)) + 8|0); - $790 = HEAP16[$789>>1]|0; - $791 = $790&65535; - $792 = $791 & 16384; - $793 = ($792|0)!=(0); - if ($793) { - $794 = HEAP32[$pIn2>>2]|0; - $795 = (_sqlite3VdbeMemExpandBlob($794)|0); - $796 = ($795|0)!=(0); - if ($796) { - label = 860; + $784 = HEAP32[$pIn2>>2]|0; + $785 = ((($784)) + 8|0); + $786 = HEAP16[$785>>1]|0; + $787 = $786&65535; + $788 = $787 & 16384; + $789 = ($788|0)!=(0); + if ($789) { + $790 = HEAP32[$pIn2>>2]|0; + $791 = (_sqlite3VdbeMemExpandBlob($790)|0); + $792 = ($791|0)!=(0); + if ($792) { + label = 883; break L1; } } - $797 = HEAP32[$pIn1>>2]|0; - $798 = ((($797)) + 8|0); - $799 = HEAP16[$798>>1]|0; - $800 = $799&65535; - $801 = $800 & 18; - $802 = ($801|0)==(0); - if ($802) { - $803 = HEAP32[$pIn1>>2]|0; - $804 = HEAP8[$encoding>>0]|0; - $805 = (_sqlite3VdbeMemStringify($803,$804,0)|0); - $806 = ($805|0)!=(0); - if ($806) { - label = 860; + $793 = HEAP32[$pIn1>>2]|0; + $794 = ((($793)) + 8|0); + $795 = HEAP16[$794>>1]|0; + $796 = $795&65535; + $797 = $796 & 18; + $798 = ($797|0)==(0); + if ($798) { + $799 = HEAP32[$pIn1>>2]|0; + $800 = HEAP8[$encoding>>0]|0; + $801 = (_sqlite3VdbeMemStringify($799,$800,0)|0); + $802 = ($801|0)!=(0); + if ($802) { + label = 883; break L1; } } - $807 = HEAP32[$pIn2>>2]|0; - $808 = ((($807)) + 8|0); - $809 = HEAP16[$808>>1]|0; - $810 = $809&65535; - $811 = $810 & 18; - $812 = ($811|0)==(0); - if ($812) { - $813 = HEAP32[$pIn2>>2]|0; - $814 = HEAP8[$encoding>>0]|0; - $815 = (_sqlite3VdbeMemStringify($813,$814,0)|0); - $816 = ($815|0)!=(0); - if ($816) { - label = 860; + $803 = HEAP32[$pIn2>>2]|0; + $804 = ((($803)) + 8|0); + $805 = HEAP16[$804>>1]|0; + $806 = $805&65535; + $807 = $806 & 18; + $808 = ($807|0)==(0); + if ($808) { + $809 = HEAP32[$pIn2>>2]|0; + $810 = HEAP8[$encoding>>0]|0; + $811 = (_sqlite3VdbeMemStringify($809,$810,0)|0); + $812 = ($811|0)!=(0); + if ($812) { + label = 883; break L1; } } - $817 = HEAP32[$pIn1>>2]|0; - $818 = ((($817)) + 12|0); - $819 = HEAP32[$818>>2]|0; - $820 = HEAP32[$pIn2>>2]|0; - $821 = ((($820)) + 12|0); - $822 = HEAP32[$821>>2]|0; - $823 = (($819) + ($822))|0; - $824 = ($823|0)<(0); - $825 = $824 << 31 >> 31; + $813 = HEAP32[$pIn1>>2]|0; + $814 = ((($813)) + 12|0); + $815 = HEAP32[$814>>2]|0; + $816 = HEAP32[$pIn2>>2]|0; + $817 = ((($816)) + 12|0); + $818 = HEAP32[$817>>2]|0; + $819 = (($815) + ($818))|0; + $820 = ($819|0)<(0); + $821 = $820 << 31 >> 31; + $822 = $nByte; + $823 = $822; + HEAP32[$823>>2] = $819; + $824 = (($822) + 4)|0; + $825 = $824; + HEAP32[$825>>2] = $821; $826 = $nByte; $827 = $826; - HEAP32[$827>>2] = $823; - $828 = (($826) + 4)|0; - $829 = $828; - HEAP32[$829>>2] = $825; - $830 = $nByte; - $831 = $830; - $832 = HEAP32[$831>>2]|0; - $833 = (($830) + 4)|0; - $834 = $833; - $835 = HEAP32[$834>>2]|0; - $836 = HEAP32[$db>>2]|0; - $837 = ((($836)) + 88|0); - $838 = HEAP32[$837>>2]|0; - $839 = ($838|0)<(0); - $840 = $839 << 31 >> 31; - $841 = ($835|0)>($840|0); - $842 = ($832>>>0)>($838>>>0); - $843 = ($835|0)==($840|0); - $844 = $843 & $842; - $845 = $841 | $844; - if ($845) { - label = 859; + $828 = HEAP32[$827>>2]|0; + $829 = (($826) + 4)|0; + $830 = $829; + $831 = HEAP32[$830>>2]|0; + $832 = HEAP32[$db>>2]|0; + $833 = ((($832)) + 92|0); + $834 = HEAP32[$833>>2]|0; + $835 = ($834|0)<(0); + $836 = $835 << 31 >> 31; + $837 = ($831|0)>($836|0); + $838 = ($828>>>0)>($834>>>0); + $839 = ($831|0)==($836|0); + $840 = $839 & $838; + $841 = $837 | $840; + if ($841) { + label = 882; break L8; } - $846 = HEAP32[$pOut>>2]|0; - $847 = $nByte; - $848 = $847; - $849 = HEAP32[$848>>2]|0; - $850 = (($847) + 4)|0; - $851 = $850; - $852 = HEAP32[$851>>2]|0; - $853 = (($849) + 2)|0; - $854 = HEAP32[$pOut>>2]|0; - $855 = HEAP32[$pIn2>>2]|0; - $856 = ($854|0)==($855|0); - $857 = $856&1; - $858 = (_sqlite3VdbeMemGrow($846,$853,$857)|0); - $859 = ($858|0)!=(0); - if ($859) { - label = 860; + $842 = HEAP32[$pOut>>2]|0; + $843 = $nByte; + $844 = $843; + $845 = HEAP32[$844>>2]|0; + $846 = (($843) + 4)|0; + $847 = $846; + $848 = HEAP32[$847>>2]|0; + $849 = (($845) + 2)|0; + $850 = HEAP32[$pOut>>2]|0; + $851 = HEAP32[$pIn2>>2]|0; + $852 = ($850|0)==($851|0); + $853 = $852&1; + $854 = (_sqlite3VdbeMemGrow($842,$849,$853)|0); + $855 = ($854|0)!=(0); + if ($855) { + label = 883; break L1; } - $860 = HEAP32[$pOut>>2]|0; - $861 = ((($860)) + 8|0); - $862 = HEAP16[$861>>1]|0; - $863 = $862&65535; - $864 = $863 & -49664; - $865 = $864 | 2; - $866 = $865&65535; - $867 = HEAP32[$pOut>>2]|0; - $868 = ((($867)) + 8|0); - HEAP16[$868>>1] = $866; - $869 = HEAP32[$pOut>>2]|0; - $870 = HEAP32[$pIn2>>2]|0; - $871 = ($869|0)!=($870|0); - if ($871) { - $872 = HEAP32[$pOut>>2]|0; - $873 = ((($872)) + 16|0); - $874 = HEAP32[$873>>2]|0; - $875 = HEAP32[$pIn2>>2]|0; - $876 = ((($875)) + 16|0); - $877 = HEAP32[$876>>2]|0; - $878 = HEAP32[$pIn2>>2]|0; - $879 = ((($878)) + 12|0); - $880 = HEAP32[$879>>2]|0; - _memcpy(($874|0),($877|0),($880|0))|0; + $856 = HEAP32[$pOut>>2]|0; + $857 = ((($856)) + 8|0); + $858 = HEAP16[$857>>1]|0; + $859 = $858&65535; + $860 = $859 & -49664; + $861 = $860 | 2; + $862 = $861&65535; + $863 = HEAP32[$pOut>>2]|0; + $864 = ((($863)) + 8|0); + HEAP16[$864>>1] = $862; + $865 = HEAP32[$pOut>>2]|0; + $866 = HEAP32[$pIn2>>2]|0; + $867 = ($865|0)!=($866|0); + if ($867) { + $868 = HEAP32[$pOut>>2]|0; + $869 = ((($868)) + 16|0); + $870 = HEAP32[$869>>2]|0; + $871 = HEAP32[$pIn2>>2]|0; + $872 = ((($871)) + 16|0); + $873 = HEAP32[$872>>2]|0; + $874 = HEAP32[$pIn2>>2]|0; + $875 = ((($874)) + 12|0); + $876 = HEAP32[$875>>2]|0; + _memcpy(($870|0),($873|0),($876|0))|0; } - $881 = HEAP32[$pIn2>>2]|0; - $882 = ((($881)) + 12|0); - $883 = HEAP32[$882>>2]|0; - $884 = HEAP32[$pOut>>2]|0; + $877 = HEAP32[$pIn2>>2]|0; + $878 = ((($877)) + 12|0); + $879 = HEAP32[$878>>2]|0; + $880 = HEAP32[$pOut>>2]|0; + $881 = ((($880)) + 16|0); + $882 = HEAP32[$881>>2]|0; + $883 = (($882) + ($879)|0); + $884 = HEAP32[$pIn1>>2]|0; $885 = ((($884)) + 16|0); $886 = HEAP32[$885>>2]|0; - $887 = (($886) + ($883)|0); - $888 = HEAP32[$pIn1>>2]|0; - $889 = ((($888)) + 16|0); - $890 = HEAP32[$889>>2]|0; - $891 = HEAP32[$pIn1>>2]|0; - $892 = ((($891)) + 12|0); - $893 = HEAP32[$892>>2]|0; - _memcpy(($887|0),($890|0),($893|0))|0; - $894 = $nByte; - $895 = $894; - $896 = HEAP32[$895>>2]|0; - $897 = (($894) + 4)|0; - $898 = $897; - $899 = HEAP32[$898>>2]|0; - $900 = HEAP32[$pOut>>2]|0; - $901 = ((($900)) + 16|0); + $887 = HEAP32[$pIn1>>2]|0; + $888 = ((($887)) + 12|0); + $889 = HEAP32[$888>>2]|0; + _memcpy(($883|0),($886|0),($889|0))|0; + $890 = $nByte; + $891 = $890; + $892 = HEAP32[$891>>2]|0; + $893 = (($890) + 4)|0; + $894 = $893; + $895 = HEAP32[$894>>2]|0; + $896 = HEAP32[$pOut>>2]|0; + $897 = ((($896)) + 16|0); + $898 = HEAP32[$897>>2]|0; + $899 = (($898) + ($892)|0); + HEAP8[$899>>0] = 0; + $900 = $nByte; + $901 = $900; $902 = HEAP32[$901>>2]|0; - $903 = (($902) + ($896)|0); - HEAP8[$903>>0] = 0; - $904 = $nByte; - $905 = $904; - $906 = HEAP32[$905>>2]|0; - $907 = (($904) + 4)|0; - $908 = $907; - $909 = HEAP32[$908>>2]|0; - $910 = (_i64Add(($906|0),($909|0),1,0)|0); - $911 = tempRet0; + $903 = (($900) + 4)|0; + $904 = $903; + $905 = HEAP32[$904>>2]|0; + $906 = (_i64Add(($902|0),($905|0),1,0)|0); + $907 = tempRet0; + $908 = HEAP32[$pOut>>2]|0; + $909 = ((($908)) + 16|0); + $910 = HEAP32[$909>>2]|0; + $911 = (($910) + ($906)|0); + HEAP8[$911>>0] = 0; $912 = HEAP32[$pOut>>2]|0; - $913 = ((($912)) + 16|0); - $914 = HEAP32[$913>>2]|0; - $915 = (($914) + ($910)|0); - HEAP8[$915>>0] = 0; - $916 = HEAP32[$pOut>>2]|0; - $917 = ((($916)) + 8|0); - $918 = HEAP16[$917>>1]|0; - $919 = $918&65535; - $920 = $919 | 512; - $921 = $920&65535; - HEAP16[$917>>1] = $921; - $922 = $nByte; - $923 = $922; - $924 = HEAP32[$923>>2]|0; - $925 = (($922) + 4)|0; - $926 = $925; - $927 = HEAP32[$926>>2]|0; - $928 = HEAP32[$pOut>>2]|0; - $929 = ((($928)) + 12|0); - HEAP32[$929>>2] = $924; - $930 = HEAP8[$encoding>>0]|0; - $931 = HEAP32[$pOut>>2]|0; - $932 = ((($931)) + 10|0); - HEAP8[$932>>0] = $930; + $913 = ((($912)) + 8|0); + $914 = HEAP16[$913>>1]|0; + $915 = $914&65535; + $916 = $915 | 512; + $917 = $916&65535; + HEAP16[$913>>1] = $917; + $918 = $nByte; + $919 = $918; + $920 = HEAP32[$919>>2]|0; + $921 = (($918) + 4)|0; + $922 = $921; + $923 = HEAP32[$922>>2]|0; + $924 = HEAP32[$pOut>>2]|0; + $925 = ((($924)) + 12|0); + HEAP32[$925>>2] = $920; + $926 = HEAP8[$encoding>>0]|0; + $927 = HEAP32[$pOut>>2]|0; + $928 = ((($927)) + 10|0); + HEAP8[$928>>0] = $926; break; } case 93: case 92: case 91: case 90: case 89: { - $933 = HEAP32[$pOp>>2]|0; - $934 = ((($933)) + 4|0); - $935 = HEAP32[$934>>2]|0; - $936 = HEAP32[$aMem>>2]|0; - $937 = (($936) + (($935*40)|0)|0); - HEAP32[$pIn1>>2] = $937; - $938 = HEAP32[$pIn1>>2]|0; - $939 = (_numericType($938)|0); - HEAP16[$type1>>1] = $939; - $940 = HEAP32[$pOp>>2]|0; - $941 = ((($940)) + 8|0); - $942 = HEAP32[$941>>2]|0; - $943 = HEAP32[$aMem>>2]|0; - $944 = (($943) + (($942*40)|0)|0); - HEAP32[$pIn2>>2] = $944; - $945 = HEAP32[$pIn2>>2]|0; - $946 = (_numericType($945)|0); - HEAP16[$type2>>1] = $946; - $947 = HEAP32[$pOp>>2]|0; - $948 = ((($947)) + 12|0); - $949 = HEAP32[$948>>2]|0; - $950 = HEAP32[$aMem>>2]|0; - $951 = (($950) + (($949*40)|0)|0); - HEAP32[$pOut>>2] = $951; - $952 = HEAP32[$pIn1>>2]|0; + $929 = HEAP32[$pOp>>2]|0; + $930 = ((($929)) + 4|0); + $931 = HEAP32[$930>>2]|0; + $932 = HEAP32[$aMem>>2]|0; + $933 = (($932) + (($931*40)|0)|0); + HEAP32[$pIn1>>2] = $933; + $934 = HEAP32[$pIn1>>2]|0; + $935 = (_numericType($934)|0); + HEAP16[$type1>>1] = $935; + $936 = HEAP32[$pOp>>2]|0; + $937 = ((($936)) + 8|0); + $938 = HEAP32[$937>>2]|0; + $939 = HEAP32[$aMem>>2]|0; + $940 = (($939) + (($938*40)|0)|0); + HEAP32[$pIn2>>2] = $940; + $941 = HEAP32[$pIn2>>2]|0; + $942 = (_numericType($941)|0); + HEAP16[$type2>>1] = $942; + $943 = HEAP32[$pOp>>2]|0; + $944 = ((($943)) + 12|0); + $945 = HEAP32[$944>>2]|0; + $946 = HEAP32[$aMem>>2]|0; + $947 = (($946) + (($945*40)|0)|0); + HEAP32[$pOut>>2] = $947; + $948 = HEAP32[$pIn1>>2]|0; + $949 = ((($948)) + 8|0); + $950 = HEAP16[$949>>1]|0; + $951 = $950&65535; + $952 = HEAP32[$pIn2>>2]|0; $953 = ((($952)) + 8|0); $954 = HEAP16[$953>>1]|0; $955 = $954&65535; - $956 = HEAP32[$pIn2>>2]|0; - $957 = ((($956)) + 8|0); - $958 = HEAP16[$957>>1]|0; + $956 = $951 | $955; + $957 = $956&65535; + HEAP16[$flags>>1] = $957; + $958 = HEAP16[$flags>>1]|0; $959 = $958&65535; - $960 = $955 | $959; - $961 = $960&65535; - HEAP16[$flags>>1] = $961; - $962 = HEAP16[$flags>>1]|0; - $963 = $962&65535; - $964 = $963 & 1; - $965 = ($964|0)!=(0); - L81: do { - if (!($965)) { - $966 = HEAP16[$type1>>1]|0; - $967 = $966&65535; - $968 = HEAP16[$type2>>1]|0; - $969 = $968&65535; - $970 = $967 & $969; - $971 = $970 & 4; - $972 = ($971|0)!=(0); - L83: do { - if ($972) { - $973 = HEAP32[$pIn1>>2]|0; + $960 = $959 & 1; + $961 = ($960|0)!=(0); + L74: do { + if (!($961)) { + $962 = HEAP16[$type1>>1]|0; + $963 = $962&65535; + $964 = HEAP16[$type2>>1]|0; + $965 = $964&65535; + $966 = $963 & $965; + $967 = $966 & 4; + $968 = ($967|0)!=(0); + L76: do { + if ($968) { + $969 = HEAP32[$pIn1>>2]|0; + $970 = $969; + $971 = $970; + $972 = HEAP32[$971>>2]|0; + $973 = (($970) + 4)|0; $974 = $973; - $975 = $974; - $976 = HEAP32[$975>>2]|0; - $977 = (($974) + 4)|0; - $978 = $977; - $979 = HEAP32[$978>>2]|0; - $980 = $iA; + $975 = HEAP32[$974>>2]|0; + $976 = $iA; + $977 = $976; + HEAP32[$977>>2] = $972; + $978 = (($976) + 4)|0; + $979 = $978; + HEAP32[$979>>2] = $975; + $980 = HEAP32[$pIn2>>2]|0; $981 = $980; - HEAP32[$981>>2] = $976; - $982 = (($980) + 4)|0; - $983 = $982; - HEAP32[$983>>2] = $979; - $984 = HEAP32[$pIn2>>2]|0; + $982 = $981; + $983 = HEAP32[$982>>2]|0; + $984 = (($981) + 4)|0; $985 = $984; - $986 = $985; - $987 = HEAP32[$986>>2]|0; - $988 = (($985) + 4)|0; - $989 = $988; - $990 = HEAP32[$989>>2]|0; - $991 = $iB; - $992 = $991; - HEAP32[$992>>2] = $987; - $993 = (($991) + 4)|0; - $994 = $993; - HEAP32[$994>>2] = $990; + $986 = HEAP32[$985>>2]|0; + $987 = $iB; + $988 = $987; + HEAP32[$988>>2] = $983; + $989 = (($987) + 4)|0; + $990 = $989; + HEAP32[$990>>2] = $986; HEAP8[$bIntint>>0] = 1; - $995 = HEAP32[$pOp>>2]|0; - $996 = HEAP8[$995>>0]|0; - $997 = $996&255; - switch ($997|0) { + $991 = HEAP32[$pOp>>2]|0; + $992 = HEAP8[$991>>0]|0; + $993 = $992&255; + switch ($993|0) { case 89: { - $998 = $iA; - $999 = $998; - $1000 = HEAP32[$999>>2]|0; - $1001 = (($998) + 4)|0; - $1002 = $1001; - $1003 = HEAP32[$1002>>2]|0; - $1004 = (_sqlite3AddInt64($iB,$1000,$1003)|0); - $1005 = ($1004|0)!=(0); - if ($1005) { - break L83; + $994 = $iA; + $995 = $994; + $996 = HEAP32[$995>>2]|0; + $997 = (($994) + 4)|0; + $998 = $997; + $999 = HEAP32[$998>>2]|0; + $1000 = (_sqlite3AddInt64($iB,$996,$999)|0); + $1001 = ($1000|0)!=(0); + if ($1001) { + break L76; } break; } case 90: { - $1006 = $iA; - $1007 = $1006; - $1008 = HEAP32[$1007>>2]|0; - $1009 = (($1006) + 4)|0; - $1010 = $1009; - $1011 = HEAP32[$1010>>2]|0; - $1012 = (_sqlite3SubInt64($iB,$1008,$1011)|0); - $1013 = ($1012|0)!=(0); - if ($1013) { - break L83; + $1002 = $iA; + $1003 = $1002; + $1004 = HEAP32[$1003>>2]|0; + $1005 = (($1002) + 4)|0; + $1006 = $1005; + $1007 = HEAP32[$1006>>2]|0; + $1008 = (_sqlite3SubInt64($iB,$1004,$1007)|0); + $1009 = ($1008|0)!=(0); + if ($1009) { + break L76; } break; } case 91: { - $1014 = $iA; - $1015 = $1014; - $1016 = HEAP32[$1015>>2]|0; - $1017 = (($1014) + 4)|0; - $1018 = $1017; - $1019 = HEAP32[$1018>>2]|0; - $1020 = (_sqlite3MulInt64($iB,$1016,$1019)|0); - $1021 = ($1020|0)!=(0); - if ($1021) { - break L83; + $1010 = $iA; + $1011 = $1010; + $1012 = HEAP32[$1011>>2]|0; + $1013 = (($1010) + 4)|0; + $1014 = $1013; + $1015 = HEAP32[$1014>>2]|0; + $1016 = (_sqlite3MulInt64($iB,$1012,$1015)|0); + $1017 = ($1016|0)!=(0); + if ($1017) { + break L76; } break; } case 92: { - $1022 = $iA; - $1023 = $1022; - $1024 = HEAP32[$1023>>2]|0; - $1025 = (($1022) + 4)|0; - $1026 = $1025; - $1027 = HEAP32[$1026>>2]|0; - $1028 = ($1024|0)==(0); - $1029 = ($1027|0)==(0); - $1030 = $1028 & $1029; - if ($1030) { - break L81; + $1018 = $iA; + $1019 = $1018; + $1020 = HEAP32[$1019>>2]|0; + $1021 = (($1018) + 4)|0; + $1022 = $1021; + $1023 = HEAP32[$1022>>2]|0; + $1024 = ($1020|0)==(0); + $1025 = ($1023|0)==(0); + $1026 = $1024 & $1025; + if ($1026) { + break L74; } - $1031 = $iA; - $1032 = $1031; - $1033 = HEAP32[$1032>>2]|0; - $1034 = (($1031) + 4)|0; - $1035 = $1034; - $1036 = HEAP32[$1035>>2]|0; - $1037 = ($1033|0)==(-1); - $1038 = ($1036|0)==(-1); - $1039 = $1037 & $1038; - $1040 = $iB; - $1041 = $1040; - $1042 = HEAP32[$1041>>2]|0; - $1043 = (($1040) + 4)|0; - $1044 = $1043; - $1045 = HEAP32[$1044>>2]|0; - $1046 = ($1042|0)==(0); - $1047 = ($1045|0)==(-2147483648); - $1048 = $1046 & $1047; - $or$cond = $1039 & $1048; + $1027 = $iA; + $1028 = $1027; + $1029 = HEAP32[$1028>>2]|0; + $1030 = (($1027) + 4)|0; + $1031 = $1030; + $1032 = HEAP32[$1031>>2]|0; + $1033 = ($1029|0)==(-1); + $1034 = ($1032|0)==(-1); + $1035 = $1033 & $1034; + $1036 = $iB; + $1037 = $1036; + $1038 = HEAP32[$1037>>2]|0; + $1039 = (($1036) + 4)|0; + $1040 = $1039; + $1041 = HEAP32[$1040>>2]|0; + $1042 = ($1038|0)==(0); + $1043 = ($1041|0)==(-2147483648); + $1044 = $1042 & $1043; + $or$cond = $1035 & $1044; if ($or$cond) { - break L83; + break L76; } - $1049 = $iA; - $1050 = $1049; - $1051 = HEAP32[$1050>>2]|0; - $1052 = (($1049) + 4)|0; - $1053 = $1052; - $1054 = HEAP32[$1053>>2]|0; - $1055 = $iB; - $1056 = $1055; - $1057 = HEAP32[$1056>>2]|0; - $1058 = (($1055) + 4)|0; - $1059 = $1058; - $1060 = HEAP32[$1059>>2]|0; - $1061 = (___divdi3(($1057|0),($1060|0),($1051|0),($1054|0))|0); - $1062 = tempRet0; - $1063 = $iB; - $1064 = $1063; - HEAP32[$1064>>2] = $1061; - $1065 = (($1063) + 4)|0; - $1066 = $1065; - HEAP32[$1066>>2] = $1062; + $1045 = $iA; + $1046 = $1045; + $1047 = HEAP32[$1046>>2]|0; + $1048 = (($1045) + 4)|0; + $1049 = $1048; + $1050 = HEAP32[$1049>>2]|0; + $1051 = $iB; + $1052 = $1051; + $1053 = HEAP32[$1052>>2]|0; + $1054 = (($1051) + 4)|0; + $1055 = $1054; + $1056 = HEAP32[$1055>>2]|0; + $1057 = (___divdi3(($1053|0),($1056|0),($1047|0),($1050|0))|0); + $1058 = tempRet0; + $1059 = $iB; + $1060 = $1059; + HEAP32[$1060>>2] = $1057; + $1061 = (($1059) + 4)|0; + $1062 = $1061; + HEAP32[$1062>>2] = $1058; break; } default: { - $1067 = $iA; - $1068 = $1067; - $1069 = HEAP32[$1068>>2]|0; - $1070 = (($1067) + 4)|0; - $1071 = $1070; - $1072 = HEAP32[$1071>>2]|0; - $1073 = ($1069|0)==(0); - $1074 = ($1072|0)==(0); - $1075 = $1073 & $1074; - if ($1075) { - break L81; + $1063 = $iA; + $1064 = $1063; + $1065 = HEAP32[$1064>>2]|0; + $1066 = (($1063) + 4)|0; + $1067 = $1066; + $1068 = HEAP32[$1067>>2]|0; + $1069 = ($1065|0)==(0); + $1070 = ($1068|0)==(0); + $1071 = $1069 & $1070; + if ($1071) { + break L74; } - $1076 = $iA; - $1077 = $1076; - $1078 = HEAP32[$1077>>2]|0; - $1079 = (($1076) + 4)|0; - $1080 = $1079; - $1081 = HEAP32[$1080>>2]|0; - $1082 = ($1078|0)==(-1); - $1083 = ($1081|0)==(-1); - $1084 = $1082 & $1083; - if ($1084) { - $1085 = $iA; - $1086 = $1085; - HEAP32[$1086>>2] = 1; - $1087 = (($1085) + 4)|0; - $1088 = $1087; - HEAP32[$1088>>2] = 0; + $1072 = $iA; + $1073 = $1072; + $1074 = HEAP32[$1073>>2]|0; + $1075 = (($1072) + 4)|0; + $1076 = $1075; + $1077 = HEAP32[$1076>>2]|0; + $1078 = ($1074|0)==(-1); + $1079 = ($1077|0)==(-1); + $1080 = $1078 & $1079; + if ($1080) { + $1081 = $iA; + $1082 = $1081; + HEAP32[$1082>>2] = 1; + $1083 = (($1081) + 4)|0; + $1084 = $1083; + HEAP32[$1084>>2] = 0; } - $1089 = $iA; - $1090 = $1089; - $1091 = HEAP32[$1090>>2]|0; - $1092 = (($1089) + 4)|0; - $1093 = $1092; - $1094 = HEAP32[$1093>>2]|0; - $1095 = $iB; - $1096 = $1095; - $1097 = HEAP32[$1096>>2]|0; - $1098 = (($1095) + 4)|0; - $1099 = $1098; - $1100 = HEAP32[$1099>>2]|0; - $1101 = (___remdi3(($1097|0),($1100|0),($1091|0),($1094|0))|0); - $1102 = tempRet0; - $1103 = $iB; - $1104 = $1103; - HEAP32[$1104>>2] = $1101; - $1105 = (($1103) + 4)|0; - $1106 = $1105; - HEAP32[$1106>>2] = $1102; + $1085 = $iA; + $1086 = $1085; + $1087 = HEAP32[$1086>>2]|0; + $1088 = (($1085) + 4)|0; + $1089 = $1088; + $1090 = HEAP32[$1089>>2]|0; + $1091 = $iB; + $1092 = $1091; + $1093 = HEAP32[$1092>>2]|0; + $1094 = (($1091) + 4)|0; + $1095 = $1094; + $1096 = HEAP32[$1095>>2]|0; + $1097 = (___remdi3(($1093|0),($1096|0),($1087|0),($1090|0))|0); + $1098 = tempRet0; + $1099 = $iB; + $1100 = $1099; + HEAP32[$1100>>2] = $1097; + $1101 = (($1099) + 4)|0; + $1102 = $1101; + HEAP32[$1102>>2] = $1098; } } - $1107 = $iB; - $1108 = $1107; - $1109 = HEAP32[$1108>>2]|0; - $1110 = (($1107) + 4)|0; + $1103 = $iB; + $1104 = $1103; + $1105 = HEAP32[$1104>>2]|0; + $1106 = (($1103) + 4)|0; + $1107 = $1106; + $1108 = HEAP32[$1107>>2]|0; + $1109 = HEAP32[$pOut>>2]|0; + $1110 = $1109; $1111 = $1110; - $1112 = HEAP32[$1111>>2]|0; - $1113 = HEAP32[$pOut>>2]|0; - $1114 = $1113; - $1115 = $1114; - HEAP32[$1115>>2] = $1109; - $1116 = (($1114) + 4)|0; - $1117 = $1116; - HEAP32[$1117>>2] = $1112; - $1118 = HEAP32[$pOut>>2]|0; - $1119 = ((($1118)) + 8|0); - $1120 = HEAP16[$1119>>1]|0; - $1121 = $1120&65535; - $1122 = $1121 & -49664; - $1123 = $1122 | 4; - $1124 = $1123&65535; - $1125 = HEAP32[$pOut>>2]|0; - $1126 = ((($1125)) + 8|0); - HEAP16[$1126>>1] = $1124; - break L11; + HEAP32[$1111>>2] = $1105; + $1112 = (($1110) + 4)|0; + $1113 = $1112; + HEAP32[$1113>>2] = $1108; + $1114 = HEAP32[$pOut>>2]|0; + $1115 = ((($1114)) + 8|0); + $1116 = HEAP16[$1115>>1]|0; + $1117 = $1116&65535; + $1118 = $1117 & -49664; + $1119 = $1118 | 4; + $1120 = $1119&65535; + $1121 = HEAP32[$pOut>>2]|0; + $1122 = ((($1121)) + 8|0); + HEAP16[$1122>>1] = $1120; + break L10; } else { HEAP8[$bIntint>>0] = 0; } } while(0); - $1127 = HEAP32[$pIn1>>2]|0; - $1128 = (+_sqlite3VdbeRealValue($1127)); - HEAPF64[$rA>>3] = $1128; - $1129 = HEAP32[$pIn2>>2]|0; - $1130 = (+_sqlite3VdbeRealValue($1129)); - HEAPF64[$rB>>3] = $1130; - $1131 = HEAP32[$pOp>>2]|0; - $1132 = HEAP8[$1131>>0]|0; - $1133 = $1132&255; - switch ($1133|0) { + $1123 = HEAP32[$pIn1>>2]|0; + $1124 = (+_sqlite3VdbeRealValue($1123)); + HEAPF64[$rA>>3] = $1124; + $1125 = HEAP32[$pIn2>>2]|0; + $1126 = (+_sqlite3VdbeRealValue($1125)); + HEAPF64[$rB>>3] = $1126; + $1127 = HEAP32[$pOp>>2]|0; + $1128 = HEAP8[$1127>>0]|0; + $1129 = $1128&255; + switch ($1129|0) { case 89: { - $1134 = +HEAPF64[$rA>>3]; - $1135 = +HEAPF64[$rB>>3]; - $1136 = $1135 + $1134; - HEAPF64[$rB>>3] = $1136; + $1130 = +HEAPF64[$rA>>3]; + $1131 = +HEAPF64[$rB>>3]; + $1132 = $1131 + $1130; + HEAPF64[$rB>>3] = $1132; break; } case 90: { - $1137 = +HEAPF64[$rA>>3]; - $1138 = +HEAPF64[$rB>>3]; - $1139 = $1138 - $1137; - HEAPF64[$rB>>3] = $1139; + $1133 = +HEAPF64[$rA>>3]; + $1134 = +HEAPF64[$rB>>3]; + $1135 = $1134 - $1133; + HEAPF64[$rB>>3] = $1135; break; } case 91: { - $1140 = +HEAPF64[$rA>>3]; - $1141 = +HEAPF64[$rB>>3]; - $1142 = $1141 * $1140; - HEAPF64[$rB>>3] = $1142; + $1136 = +HEAPF64[$rA>>3]; + $1137 = +HEAPF64[$rB>>3]; + $1138 = $1137 * $1136; + HEAPF64[$rB>>3] = $1138; break; } case 92: { - $1143 = +HEAPF64[$rA>>3]; - $1144 = $1143 == 0.0; - if ($1144) { - break L81; + $1139 = +HEAPF64[$rA>>3]; + $1140 = $1139 == 0.0; + if ($1140) { + break L74; } - $1145 = +HEAPF64[$rA>>3]; - $1146 = +HEAPF64[$rB>>3]; - $1147 = $1146 / $1145; - HEAPF64[$rB>>3] = $1147; + $1141 = +HEAPF64[$rA>>3]; + $1142 = +HEAPF64[$rB>>3]; + $1143 = $1142 / $1141; + HEAPF64[$rB>>3] = $1143; break; } default: { - $1148 = +HEAPF64[$rA>>3]; - $1149 = (~~$1148)>>>0; - $1150 = +Math_abs($1148) >= 1.0 ? $1148 > 0.0 ? (~~+Math_min(+Math_floor($1148 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1148 - +(~~$1148 >>> 0)) / 4294967296.0) >>> 0 : 0; - $1151 = $iA; - $1152 = $1151; - HEAP32[$1152>>2] = $1149; - $1153 = (($1151) + 4)|0; - $1154 = $1153; - HEAP32[$1154>>2] = $1150; - $1155 = +HEAPF64[$rB>>3]; - $1156 = (~~$1155)>>>0; - $1157 = +Math_abs($1155) >= 1.0 ? $1155 > 0.0 ? (~~+Math_min(+Math_floor($1155 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1155 - +(~~$1155 >>> 0)) / 4294967296.0) >>> 0 : 0; - $1158 = $iB; + $1144 = +HEAPF64[$rA>>3]; + $1145 = (~~$1144)>>>0; + $1146 = +Math_abs($1144) >= 1.0 ? $1144 > 0.0 ? (~~+Math_min(+Math_floor($1144 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1144 - +(~~$1144 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1147 = $iA; + $1148 = $1147; + HEAP32[$1148>>2] = $1145; + $1149 = (($1147) + 4)|0; + $1150 = $1149; + HEAP32[$1150>>2] = $1146; + $1151 = +HEAPF64[$rB>>3]; + $1152 = (~~$1151)>>>0; + $1153 = +Math_abs($1151) >= 1.0 ? $1151 > 0.0 ? (~~+Math_min(+Math_floor($1151 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($1151 - +(~~$1151 >>> 0)) / 4294967296.0) >>> 0 : 0; + $1154 = $iB; + $1155 = $1154; + HEAP32[$1155>>2] = $1152; + $1156 = (($1154) + 4)|0; + $1157 = $1156; + HEAP32[$1157>>2] = $1153; + $1158 = $iA; $1159 = $1158; - HEAP32[$1159>>2] = $1156; - $1160 = (($1158) + 4)|0; - $1161 = $1160; - HEAP32[$1161>>2] = $1157; - $1162 = $iA; - $1163 = $1162; - $1164 = HEAP32[$1163>>2]|0; - $1165 = (($1162) + 4)|0; - $1166 = $1165; - $1167 = HEAP32[$1166>>2]|0; - $1168 = ($1164|0)==(0); - $1169 = ($1167|0)==(0); - $1170 = $1168 & $1169; - if ($1170) { - break L81; + $1160 = HEAP32[$1159>>2]|0; + $1161 = (($1158) + 4)|0; + $1162 = $1161; + $1163 = HEAP32[$1162>>2]|0; + $1164 = ($1160|0)==(0); + $1165 = ($1163|0)==(0); + $1166 = $1164 & $1165; + if ($1166) { + break L74; } - $1171 = $iA; - $1172 = $1171; - $1173 = HEAP32[$1172>>2]|0; - $1174 = (($1171) + 4)|0; - $1175 = $1174; - $1176 = HEAP32[$1175>>2]|0; - $1177 = ($1173|0)==(-1); - $1178 = ($1176|0)==(-1); - $1179 = $1177 & $1178; - if ($1179) { - $1180 = $iA; - $1181 = $1180; - HEAP32[$1181>>2] = 1; - $1182 = (($1180) + 4)|0; - $1183 = $1182; - HEAP32[$1183>>2] = 0; + $1167 = $iA; + $1168 = $1167; + $1169 = HEAP32[$1168>>2]|0; + $1170 = (($1167) + 4)|0; + $1171 = $1170; + $1172 = HEAP32[$1171>>2]|0; + $1173 = ($1169|0)==(-1); + $1174 = ($1172|0)==(-1); + $1175 = $1173 & $1174; + if ($1175) { + $1176 = $iA; + $1177 = $1176; + HEAP32[$1177>>2] = 1; + $1178 = (($1176) + 4)|0; + $1179 = $1178; + HEAP32[$1179>>2] = 0; } - $1184 = $iB; - $1185 = $1184; - $1186 = HEAP32[$1185>>2]|0; - $1187 = (($1184) + 4)|0; - $1188 = $1187; - $1189 = HEAP32[$1188>>2]|0; - $1190 = $iA; - $1191 = $1190; - $1192 = HEAP32[$1191>>2]|0; - $1193 = (($1190) + 4)|0; - $1194 = $1193; - $1195 = HEAP32[$1194>>2]|0; - $1196 = (___remdi3(($1186|0),($1189|0),($1192|0),($1195|0))|0); - $1197 = tempRet0; - $1198 = (+($1196>>>0)) + (4294967296.0*(+($1197|0))); - HEAPF64[$rB>>3] = $1198; + $1180 = $iB; + $1181 = $1180; + $1182 = HEAP32[$1181>>2]|0; + $1183 = (($1180) + 4)|0; + $1184 = $1183; + $1185 = HEAP32[$1184>>2]|0; + $1186 = $iA; + $1187 = $1186; + $1188 = HEAP32[$1187>>2]|0; + $1189 = (($1186) + 4)|0; + $1190 = $1189; + $1191 = HEAP32[$1190>>2]|0; + $1192 = (___remdi3(($1182|0),($1185|0),($1188|0),($1191|0))|0); + $1193 = tempRet0; + $1194 = (+($1192>>>0)) + (4294967296.0*(+($1193|0))); + HEAPF64[$rB>>3] = $1194; } } - $1199 = +HEAPF64[$rB>>3]; - $1200 = (_sqlite3IsNaN($1199)|0); - $1201 = ($1200|0)!=(0); - if (!($1201)) { - $1202 = +HEAPF64[$rB>>3]; - $1203 = HEAP32[$pOut>>2]|0; - HEAPF64[$1203>>3] = $1202; - $1204 = HEAP32[$pOut>>2]|0; - $1205 = ((($1204)) + 8|0); - $1206 = HEAP16[$1205>>1]|0; - $1207 = $1206&65535; - $1208 = $1207 & -49664; - $1209 = $1208 | 8; + $1195 = +HEAPF64[$rB>>3]; + $1196 = (_sqlite3IsNaN($1195)|0); + $1197 = ($1196|0)!=(0); + if (!($1197)) { + $1198 = +HEAPF64[$rB>>3]; + $1199 = HEAP32[$pOut>>2]|0; + HEAPF64[$1199>>3] = $1198; + $1200 = HEAP32[$pOut>>2]|0; + $1201 = ((($1200)) + 8|0); + $1202 = HEAP16[$1201>>1]|0; + $1203 = $1202&65535; + $1204 = $1203 & -49664; + $1205 = $1204 | 8; + $1206 = $1205&65535; + $1207 = HEAP32[$pOut>>2]|0; + $1208 = ((($1207)) + 8|0); + HEAP16[$1208>>1] = $1206; + $1209 = HEAP16[$type1>>1]|0; $1210 = $1209&65535; - $1211 = HEAP32[$pOut>>2]|0; - $1212 = ((($1211)) + 8|0); - HEAP16[$1212>>1] = $1210; - $1213 = HEAP16[$type1>>1]|0; - $1214 = $1213&65535; - $1215 = HEAP16[$type2>>1]|0; - $1216 = $1215&65535; - $1217 = $1214 | $1216; - $1218 = $1217 & 8; - $1219 = ($1218|0)!=(0); - $1220 = HEAP8[$bIntint>>0]|0; - $1221 = ($1220<<24>>24)!=(0); - $or$cond3 = $1219 | $1221; + $1211 = HEAP16[$type2>>1]|0; + $1212 = $1211&65535; + $1213 = $1210 | $1212; + $1214 = $1213 & 8; + $1215 = ($1214|0)!=(0); + $1216 = HEAP8[$bIntint>>0]|0; + $1217 = ($1216<<24>>24)!=(0); + $or$cond3 = $1215 | $1217; if ($or$cond3) { - break L11; + break L10; } - $1222 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeIntegerAffinity($1222); - break L11; + $1218 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeIntegerAffinity($1218); + break L10; } } } while(0); - $1223 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($1223); + $1219 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($1219); break; } case 34: { - $1224 = HEAP32[$pOp>>2]|0; - $1225 = ((($1224)) + 4|0); - $1226 = HEAP32[$1225>>2]|0; - $1227 = ($1226|0)!=(0); - if ($1227) { - $1228 = HEAP32[$pOp>>2]|0; - $1229 = ((($1228)) + 4|0); - $1230 = HEAP32[$1229>>2]|0; - $1231 = HEAP32[$aMem>>2]|0; - $1232 = (($1231) + (($1230*40)|0)|0); - _sqlite3VdbeMemSetInt64($1232,0,0); + $1220 = HEAP32[$pOp>>2]|0; + $1221 = ((($1220)) + 4|0); + $1222 = HEAP32[$1221>>2]|0; + $1223 = ($1222|0)!=(0); + if ($1223) { + $1224 = HEAP32[$pOp>>2]|0; + $1225 = ((($1224)) + 4|0); + $1226 = HEAP32[$1225>>2]|0; + $1227 = HEAP32[$aMem>>2]|0; + $1228 = (($1227) + (($1226*40)|0)|0); + _sqlite3VdbeMemSetInt64($1228,0,0); } break; } case 35: { - $1233 = HEAP32[$pOp>>2]|0; - $1234 = ((($1233)) + 3|0); - $1235 = HEAP8[$1234>>0]|0; - $1236 = $1235&255; - HEAP32[$n2>>2] = $1236; - $1237 = HEAP32[$db>>2]|0; - $1238 = HEAP32[$n2>>2]|0; - $1239 = (($1238) - 1)|0; - $1240 = $1239<<2; - $1241 = (32 + ($1240))|0; - $1242 = (_sqlite3DbMallocRawNN($1237,$1241,0)|0); - HEAP32[$pCtx>>2] = $1242; - $1243 = HEAP32[$pCtx>>2]|0; - $1244 = ($1243|0)==(0|0); - if ($1244) { - label = 860; + $1229 = HEAP32[$pOp>>2]|0; + $1230 = ((($1229)) + 3|0); + $1231 = HEAP8[$1230>>0]|0; + $1232 = $1231&255; + HEAP32[$n2>>2] = $1232; + $1233 = HEAP32[$db>>2]|0; + $1234 = HEAP32[$n2>>2]|0; + $1235 = (($1234) - 1)|0; + $1236 = $1235<<2; + $1237 = (32 + ($1236))|0; + $1238 = (_sqlite3DbMallocRawNN($1233,$1237,0)|0); + HEAP32[$pCtx>>2] = $1238; + $1239 = HEAP32[$pCtx>>2]|0; + $1240 = ($1239|0)==(0|0); + if ($1240) { + label = 883; break L1; } + $1241 = HEAP32[$pCtx>>2]|0; + HEAP32[$1241>>2] = 0; + $1242 = HEAP32[$pOp>>2]|0; + $1243 = ((($1242)) + 16|0); + $1244 = HEAP32[$1243>>2]|0; $1245 = HEAP32[$pCtx>>2]|0; - HEAP32[$1245>>2] = 0; - $1246 = HEAP32[$pOp>>2]|0; - $1247 = ((($1246)) + 16|0); - $1248 = HEAP32[$1247>>2]|0; - $1249 = HEAP32[$pCtx>>2]|0; - $1250 = ((($1249)) + 4|0); - HEAP32[$1250>>2] = $1248; - $1251 = HEAP32[$pOp>>2]|0; - $1252 = HEAP32[$aOp>>2]|0; - $1253 = $1251; - $1254 = $1252; - $1255 = (($1253) - ($1254))|0; - $1256 = (($1255|0) / 20)&-1; - $1257 = HEAP32[$pCtx>>2]|0; - $1258 = ((($1257)) + 16|0); - HEAP32[$1258>>2] = $1256; - $1259 = HEAP32[$0>>2]|0; + $1246 = ((($1245)) + 4|0); + HEAP32[$1246>>2] = $1244; + $1247 = HEAP32[$pOp>>2]|0; + $1248 = HEAP32[$aOp>>2]|0; + $1249 = $1247; + $1250 = $1248; + $1251 = (($1249) - ($1250))|0; + $1252 = (($1251|0) / 20)&-1; + $1253 = HEAP32[$pCtx>>2]|0; + $1254 = ((($1253)) + 16|0); + HEAP32[$1254>>2] = $1252; + $1255 = HEAP32[$0>>2]|0; + $1256 = HEAP32[$pCtx>>2]|0; + $1257 = ((($1256)) + 12|0); + HEAP32[$1257>>2] = $1255; + $1258 = HEAP32[$n2>>2]|0; + $1259 = $1258&255; $1260 = HEAP32[$pCtx>>2]|0; - $1261 = ((($1260)) + 12|0); - HEAP32[$1261>>2] = $1259; - $1262 = HEAP32[$n2>>2]|0; - $1263 = $1262&255; + $1261 = ((($1260)) + 26|0); + HEAP8[$1261>>0] = $1259; + $1262 = HEAP32[$pOp>>2]|0; + $1263 = ((($1262)) + 1|0); + HEAP8[$1263>>0] = -20; $1264 = HEAP32[$pCtx>>2]|0; - $1265 = ((($1264)) + 26|0); - HEAP8[$1265>>0] = $1263; - $1266 = HEAP32[$pOp>>2]|0; - $1267 = ((($1266)) + 1|0); - HEAP8[$1267>>0] = -20; - $1268 = HEAP32[$pCtx>>2]|0; - $1269 = HEAP32[$pOp>>2]|0; - $1270 = ((($1269)) + 16|0); - HEAP32[$1270>>2] = $1268; - $1271 = HEAP32[$pOp>>2]|0; - HEAP8[$1271>>0] = 36; - label = 132; + $1265 = HEAP32[$pOp>>2]|0; + $1266 = ((($1265)) + 16|0); + HEAP32[$1266>>2] = $1264; + $1267 = HEAP32[$pOp>>2]|0; + HEAP8[$1267>>0] = 36; + label = 130; break; } case 36: { - label = 132; + label = 130; break; } case 88: case 87: case 86: case 85: { @@ -211396,7 +212700,7 @@ function _sqlite3VdbeExec($p) { if ($1416) { $1417 = HEAP32[$pOut>>2]|0; _sqlite3VdbeMemSetNull($1417); - break L11; + break L10; } $1418 = HEAP32[$pIn2>>2]|0; $1419 = (_sqlite3VdbeIntValue($1418)|0); @@ -211715,11 +213019,11 @@ function _sqlite3VdbeExec($p) { $1669 = HEAP32[$1668>>2]|0; $1670 = ($1669|0)==(0); if ($1670) { - label = 165; + label = 163; break L8; } else { - label = 15; - break L11; + label = 14; + break L10; } } } @@ -211782,98 +213086,103 @@ function _sqlite3VdbeExec($p) { $1710 = $1709&255; $1711 = HEAP8[$encoding>>0]|0; _sqlite3VdbeMemCast($1706,$1710,$1711); + $1712 = HEAP32[$rc>>2]|0; + $1713 = ($1712|0)!=(0); + if ($1713) { + break L1; + } break; } case 83: case 80: case 81: case 82: case 78: case 79: { - $1712 = HEAP32[$pOp>>2]|0; - $1713 = ((($1712)) + 4|0); - $1714 = HEAP32[$1713>>2]|0; - $1715 = HEAP32[$aMem>>2]|0; - $1716 = (($1715) + (($1714*40)|0)|0); - HEAP32[$pIn1>>2] = $1716; - $1717 = HEAP32[$pOp>>2]|0; - $1718 = ((($1717)) + 12|0); - $1719 = HEAP32[$1718>>2]|0; - $1720 = HEAP32[$aMem>>2]|0; - $1721 = (($1720) + (($1719*40)|0)|0); - HEAP32[$pIn3>>2] = $1721; - $1722 = HEAP32[$pIn1>>2]|0; - $1723 = ((($1722)) + 8|0); - $1724 = HEAP16[$1723>>1]|0; - HEAP16[$flags1>>1] = $1724; - $1725 = HEAP32[$pIn3>>2]|0; - $1726 = ((($1725)) + 8|0); - $1727 = HEAP16[$1726>>1]|0; - HEAP16[$flags3>>1] = $1727; - $1728 = HEAP16[$flags1>>1]|0; - $1729 = $1728&65535; - $1730 = HEAP16[$flags3>>1]|0; + $1714 = HEAP32[$pOp>>2]|0; + $1715 = ((($1714)) + 4|0); + $1716 = HEAP32[$1715>>2]|0; + $1717 = HEAP32[$aMem>>2]|0; + $1718 = (($1717) + (($1716*40)|0)|0); + HEAP32[$pIn1>>2] = $1718; + $1719 = HEAP32[$pOp>>2]|0; + $1720 = ((($1719)) + 12|0); + $1721 = HEAP32[$1720>>2]|0; + $1722 = HEAP32[$aMem>>2]|0; + $1723 = (($1722) + (($1721*40)|0)|0); + HEAP32[$pIn3>>2] = $1723; + $1724 = HEAP32[$pIn1>>2]|0; + $1725 = ((($1724)) + 8|0); + $1726 = HEAP16[$1725>>1]|0; + HEAP16[$flags1>>1] = $1726; + $1727 = HEAP32[$pIn3>>2]|0; + $1728 = ((($1727)) + 8|0); + $1729 = HEAP16[$1728>>1]|0; + HEAP16[$flags3>>1] = $1729; + $1730 = HEAP16[$flags1>>1]|0; $1731 = $1730&65535; - $1732 = $1729 | $1731; - $1733 = $1732 & 1; - $1734 = ($1733|0)!=(0); - $1735 = HEAP32[$pOp>>2]|0; - $1736 = ((($1735)) + 3|0); - $1737 = HEAP8[$1736>>0]|0; - $1738 = $1737&255; + $1732 = HEAP16[$flags3>>1]|0; + $1733 = $1732&65535; + $1734 = $1731 | $1733; + $1735 = $1734 & 1; + $1736 = ($1735|0)!=(0); + $1737 = HEAP32[$pOp>>2]|0; + $1738 = ((($1737)) + 3|0); + $1739 = HEAP8[$1738>>0]|0; + $1740 = $1739&255; do { - if ($1734) { - $1739 = $1738 & 128; - $1740 = ($1739|0)!=(0); - if (!($1740)) { - $1753 = HEAP32[$pOp>>2]|0; - $1754 = ((($1753)) + 3|0); - $1755 = HEAP8[$1754>>0]|0; - $1756 = $1755&255; - $1757 = $1756 & 32; - $1758 = ($1757|0)!=(0); - $1759 = HEAP32[$pOp>>2]|0; - if ($1758) { - $1760 = ((($1759)) + 8|0); - $1761 = HEAP32[$1760>>2]|0; - $1762 = HEAP32[$aMem>>2]|0; - $1763 = (($1762) + (($1761*40)|0)|0); - HEAP32[$pOut>>2] = $1763; - $1764 = HEAP32[$pOut>>2]|0; - $1765 = ((($1764)) + 8|0); - $1766 = HEAP16[$1765>>1]|0; - $1767 = $1766&65535; - $1768 = $1767 & -49664; - $1769 = $1768 | 1; - $1770 = $1769&65535; - $1771 = HEAP32[$pOut>>2]|0; - $1772 = ((($1771)) + 8|0); - HEAP16[$1772>>1] = $1770; - break L11; + if ($1736) { + $1741 = $1740 & 128; + $1742 = ($1741|0)!=(0); + if (!($1742)) { + $1755 = HEAP32[$pOp>>2]|0; + $1756 = ((($1755)) + 3|0); + $1757 = HEAP8[$1756>>0]|0; + $1758 = $1757&255; + $1759 = $1758 & 32; + $1760 = ($1759|0)!=(0); + $1761 = HEAP32[$pOp>>2]|0; + if ($1760) { + $1762 = ((($1761)) + 8|0); + $1763 = HEAP32[$1762>>2]|0; + $1764 = HEAP32[$aMem>>2]|0; + $1765 = (($1764) + (($1763*40)|0)|0); + HEAP32[$pOut>>2] = $1765; + $1766 = HEAP32[$pOut>>2]|0; + $1767 = ((($1766)) + 8|0); + $1768 = HEAP16[$1767>>1]|0; + $1769 = $1768&65535; + $1770 = $1769 & -49664; + $1771 = $1770 | 1; + $1772 = $1771&65535; + $1773 = HEAP32[$pOut>>2]|0; + $1774 = ((($1773)) + 8|0); + HEAP16[$1774>>1] = $1772; + break L10; } else { - $1773 = ((($1759)) + 3|0); - $1774 = HEAP8[$1773>>0]|0; - $1775 = $1774&255; - $1776 = $1775 & 16; - $1777 = ($1776|0)!=(0); - if ($1777) { - label = 15; - break L11; + $1775 = ((($1761)) + 3|0); + $1776 = HEAP8[$1775>>0]|0; + $1777 = $1776&255; + $1778 = $1777 & 16; + $1779 = ($1778|0)!=(0); + if ($1779) { + label = 14; + break L10; } else { - break L11; + break L10; } } } - $1741 = HEAP16[$flags1>>1]|0; - $1742 = $1741&65535; - $1743 = $1742 & 1; - $1744 = ($1743|0)!=(0); - if ($1744) { - $1745 = HEAP16[$flags3>>1]|0; - $1746 = $1745&65535; - $1747 = $1746 & 1; - $1748 = ($1747|0)!=(0); - if ($1748) { - $1749 = HEAP16[$flags3>>1]|0; - $1750 = $1749&65535; - $1751 = $1750 & 256; - $1752 = ($1751|0)==(0); - if ($1752) { + $1743 = HEAP16[$flags1>>1]|0; + $1744 = $1743&65535; + $1745 = $1744 & 1; + $1746 = ($1745|0)!=(0); + if ($1746) { + $1747 = HEAP16[$flags3>>1]|0; + $1748 = $1747&65535; + $1749 = $1748 & 1; + $1750 = ($1749|0)!=(0); + if ($1750) { + $1751 = HEAP16[$flags3>>1]|0; + $1752 = $1751&65535; + $1753 = $1752 & 256; + $1754 = ($1753|0)==(0); + if ($1754) { HEAP32[$res>>2] = 0; break; } @@ -211881,1266 +213190,1258 @@ function _sqlite3VdbeExec($p) { } HEAP32[$res>>2] = 1; } else { - $1778 = $1738 & 71; - $1779 = $1778&255; - HEAP8[$affinity>>0] = $1779; - $1780 = HEAP8[$affinity>>0]|0; - $1781 = $1780 << 24 >> 24; - $1782 = ($1781|0)>=(67); - if ($1782) { - $1783 = HEAP16[$flags1>>1]|0; - $1784 = $1783&65535; - $1785 = $1784 & 14; - $1786 = ($1785|0)==(2); - if ($1786) { - $1787 = HEAP32[$pIn1>>2]|0; - _applyNumericAffinity($1787,0); + $1780 = $1740 & 71; + $1781 = $1780&255; + HEAP8[$affinity>>0] = $1781; + $1782 = HEAP8[$affinity>>0]|0; + $1783 = $1782 << 24 >> 24; + $1784 = ($1783|0)>=(67); + if ($1784) { + $1785 = HEAP16[$flags1>>1]|0; + $1786 = $1785&65535; + $1787 = $1786 & 14; + $1788 = ($1787|0)==(2); + if ($1788) { + $1789 = HEAP32[$pIn1>>2]|0; + _applyNumericAffinity($1789,0); } - $1788 = HEAP16[$flags3>>1]|0; - $1789 = $1788&65535; - $1790 = $1789 & 14; - $1791 = ($1790|0)==(2); - if ($1791) { - $1792 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($1792,0); + $1790 = HEAP16[$flags3>>1]|0; + $1791 = $1790&65535; + $1792 = $1791 & 14; + $1793 = ($1792|0)==(2); + if ($1793) { + $1794 = HEAP32[$pIn3>>2]|0; + _applyNumericAffinity($1794,0); } } else { - $1793 = HEAP8[$affinity>>0]|0; - $1794 = $1793 << 24 >> 24; - $1795 = ($1794|0)==(66); - if ($1795) { - $1796 = HEAP16[$flags1>>1]|0; - $1797 = $1796&65535; - $1798 = $1797 & 2; - $1799 = ($1798|0)==(0); - if ($1799) { - $1800 = HEAP16[$flags1>>1]|0; - $1801 = $1800&65535; - $1802 = $1801 & 12; - $1803 = ($1802|0)!=(0); - if ($1803) { - $1804 = HEAP32[$pIn1>>2]|0; - $1805 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1804,$1805,1)|0); + $1795 = HEAP8[$affinity>>0]|0; + $1796 = $1795 << 24 >> 24; + $1797 = ($1796|0)==(66); + if ($1797) { + $1798 = HEAP16[$flags1>>1]|0; + $1799 = $1798&65535; + $1800 = $1799 & 2; + $1801 = ($1800|0)==(0); + if ($1801) { + $1802 = HEAP16[$flags1>>1]|0; + $1803 = $1802&65535; + $1804 = $1803 & 12; + $1805 = ($1804|0)!=(0); + if ($1805) { $1806 = HEAP32[$pIn1>>2]|0; - $1807 = ((($1806)) + 8|0); - $1808 = HEAP16[$1807>>1]|0; - $1809 = $1808&65535; - $1810 = $1809 & -33280; - $1811 = HEAP16[$flags1>>1]|0; - $1812 = $1811&65535; - $1813 = $1812 & 33279; - $1814 = $1810 | $1813; - $1815 = $1814&65535; - HEAP16[$flags1>>1] = $1815; + $1807 = HEAP8[$encoding>>0]|0; + (_sqlite3VdbeMemStringify($1806,$1807,1)|0); + $1808 = HEAP32[$pIn1>>2]|0; + $1809 = ((($1808)) + 8|0); + $1810 = HEAP16[$1809>>1]|0; + $1811 = $1810&65535; + $1812 = $1811 & -33280; + $1813 = HEAP16[$flags1>>1]|0; + $1814 = $1813&65535; + $1815 = $1814 & 33279; + $1816 = $1812 | $1815; + $1817 = $1816&65535; + HEAP16[$flags1>>1] = $1817; } } - $1816 = HEAP16[$flags3>>1]|0; - $1817 = $1816&65535; - $1818 = $1817 & 2; - $1819 = ($1818|0)==(0); - if ($1819) { - $1820 = HEAP16[$flags3>>1]|0; - $1821 = $1820&65535; - $1822 = $1821 & 12; - $1823 = ($1822|0)!=(0); - if ($1823) { - $1824 = HEAP32[$pIn3>>2]|0; - $1825 = HEAP8[$encoding>>0]|0; - (_sqlite3VdbeMemStringify($1824,$1825,1)|0); + $1818 = HEAP16[$flags3>>1]|0; + $1819 = $1818&65535; + $1820 = $1819 & 2; + $1821 = ($1820|0)==(0); + if ($1821) { + $1822 = HEAP16[$flags3>>1]|0; + $1823 = $1822&65535; + $1824 = $1823 & 12; + $1825 = ($1824|0)!=(0); + if ($1825) { $1826 = HEAP32[$pIn3>>2]|0; - $1827 = ((($1826)) + 8|0); - $1828 = HEAP16[$1827>>1]|0; - $1829 = $1828&65535; - $1830 = $1829 & -33280; - $1831 = HEAP16[$flags3>>1]|0; - $1832 = $1831&65535; - $1833 = $1832 & 33279; - $1834 = $1830 | $1833; - $1835 = $1834&65535; - HEAP16[$flags3>>1] = $1835; + $1827 = HEAP8[$encoding>>0]|0; + (_sqlite3VdbeMemStringify($1826,$1827,1)|0); + $1828 = HEAP32[$pIn3>>2]|0; + $1829 = ((($1828)) + 8|0); + $1830 = HEAP16[$1829>>1]|0; + $1831 = $1830&65535; + $1832 = $1831 & -33280; + $1833 = HEAP16[$flags3>>1]|0; + $1834 = $1833&65535; + $1835 = $1834 & 33279; + $1836 = $1832 | $1835; + $1837 = $1836&65535; + HEAP16[$flags3>>1] = $1837; } } } } - $1836 = HEAP16[$flags1>>1]|0; - $1837 = $1836&65535; - $1838 = $1837 & 16384; - $1839 = ($1838|0)!=(0); - if ($1839) { - $1840 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemExpandBlob($1840)|0); - $1841 = HEAP16[$flags1>>1]|0; - $1842 = $1841&65535; - $1843 = $1842 & -16385; + $1838 = HEAP16[$flags1>>1]|0; + $1839 = $1838&65535; + $1840 = $1839 & 16384; + $1841 = ($1840|0)!=(0); + if ($1841) { + $1842 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemExpandBlob($1842)|0); + $1843 = HEAP16[$flags1>>1]|0; $1844 = $1843&65535; - HEAP16[$flags1>>1] = $1844; + $1845 = $1844 & -16385; + $1846 = $1845&65535; + HEAP16[$flags1>>1] = $1846; } - $1845 = HEAP16[$flags3>>1]|0; - $1846 = $1845&65535; - $1847 = $1846 & 16384; - $1848 = ($1847|0)!=(0); - if ($1848) { - $1849 = HEAP32[$pIn3>>2]|0; - (_sqlite3VdbeMemExpandBlob($1849)|0); - $1850 = HEAP16[$flags3>>1]|0; - $1851 = $1850&65535; - $1852 = $1851 & -16385; + $1847 = HEAP16[$flags3>>1]|0; + $1848 = $1847&65535; + $1849 = $1848 & 16384; + $1850 = ($1849|0)!=(0); + if ($1850) { + $1851 = HEAP32[$pIn3>>2]|0; + (_sqlite3VdbeMemExpandBlob($1851)|0); + $1852 = HEAP16[$flags3>>1]|0; $1853 = $1852&65535; - HEAP16[$flags3>>1] = $1853; + $1854 = $1853 & -16385; + $1855 = $1854&65535; + HEAP16[$flags3>>1] = $1855; } - $1854 = HEAP32[$pIn3>>2]|0; - $1855 = HEAP32[$pIn1>>2]|0; - $1856 = HEAP32[$pOp>>2]|0; - $1857 = ((($1856)) + 16|0); - $1858 = HEAP32[$1857>>2]|0; - $1859 = (_sqlite3MemCompare($1854,$1855,$1858)|0); - HEAP32[$res>>2] = $1859; + $1856 = HEAP32[$pIn3>>2]|0; + $1857 = HEAP32[$pIn1>>2]|0; + $1858 = HEAP32[$pOp>>2]|0; + $1859 = ((($1858)) + 16|0); + $1860 = HEAP32[$1859>>2]|0; + $1861 = (_sqlite3MemCompare($1856,$1857,$1860)|0); + HEAP32[$res>>2] = $1861; } } while(0); - $1860 = HEAP32[$pOp>>2]|0; - $1861 = HEAP8[$1860>>0]|0; - $1862 = $1861&255; - switch ($1862|0) { + $1862 = HEAP32[$pOp>>2]|0; + $1863 = HEAP8[$1862>>0]|0; + $1864 = $1863&255; + switch ($1864|0) { case 79: { - $1863 = HEAP32[$res>>2]|0; - $1864 = ($1863|0)==(0); - $1865 = $1864&1; - HEAP32[$res>>2] = $1865; + $1865 = HEAP32[$res>>2]|0; + $1866 = ($1865|0)==(0); + $1867 = $1866&1; + HEAP32[$res>>2] = $1867; break; } case 78: { - $1866 = HEAP32[$res>>2]|0; - $1867 = ($1866|0)!=(0); - $1868 = $1867&1; - HEAP32[$res>>2] = $1868; + $1868 = HEAP32[$res>>2]|0; + $1869 = ($1868|0)!=(0); + $1870 = $1869&1; + HEAP32[$res>>2] = $1870; break; } case 82: { - $1869 = HEAP32[$res>>2]|0; - $1870 = ($1869|0)<(0); - $1871 = $1870&1; - HEAP32[$res>>2] = $1871; + $1871 = HEAP32[$res>>2]|0; + $1872 = ($1871|0)<(0); + $1873 = $1872&1; + HEAP32[$res>>2] = $1873; break; } case 81: { - $1872 = HEAP32[$res>>2]|0; - $1873 = ($1872|0)<=(0); - $1874 = $1873&1; - HEAP32[$res>>2] = $1874; + $1874 = HEAP32[$res>>2]|0; + $1875 = ($1874|0)<=(0); + $1876 = $1875&1; + HEAP32[$res>>2] = $1876; break; } case 80: { - $1875 = HEAP32[$res>>2]|0; - $1876 = ($1875|0)>(0); - $1877 = $1876&1; - HEAP32[$res>>2] = $1877; + $1877 = HEAP32[$res>>2]|0; + $1878 = ($1877|0)>(0); + $1879 = $1878&1; + HEAP32[$res>>2] = $1879; break; } default: { - $1878 = HEAP32[$res>>2]|0; - $1879 = ($1878|0)>=(0); - $1880 = $1879&1; - HEAP32[$res>>2] = $1880; + $1880 = HEAP32[$res>>2]|0; + $1881 = ($1880|0)>=(0); + $1882 = $1881&1; + HEAP32[$res>>2] = $1882; } } - $1881 = HEAP16[$flags1>>1]|0; - $1882 = HEAP32[$pIn1>>2]|0; - $1883 = ((($1882)) + 8|0); - HEAP16[$1883>>1] = $1881; - $1884 = HEAP16[$flags3>>1]|0; - $1885 = HEAP32[$pIn3>>2]|0; - $1886 = ((($1885)) + 8|0); - HEAP16[$1886>>1] = $1884; - $1887 = HEAP32[$pOp>>2]|0; - $1888 = ((($1887)) + 3|0); - $1889 = HEAP8[$1888>>0]|0; - $1890 = $1889&255; - $1891 = $1890 & 32; - $1892 = ($1891|0)!=(0); - if ($1892) { - $1893 = HEAP32[$pOp>>2]|0; - $1894 = ((($1893)) + 8|0); - $1895 = HEAP32[$1894>>2]|0; - $1896 = HEAP32[$aMem>>2]|0; - $1897 = (($1896) + (($1895*40)|0)|0); - HEAP32[$pOut>>2] = $1897; - $1898 = HEAP32[$pOut>>2]|0; - $1899 = ((($1898)) + 8|0); - $1900 = HEAP16[$1899>>1]|0; - $1901 = $1900&65535; - $1902 = $1901 & -49664; - $1903 = $1902 | 4; - $1904 = $1903&65535; - $1905 = HEAP32[$pOut>>2]|0; - $1906 = ((($1905)) + 8|0); - HEAP16[$1906>>1] = $1904; - $1907 = HEAP32[$res>>2]|0; - $1908 = ($1907|0)<(0); - $1909 = $1908 << 31 >> 31; - $1910 = HEAP32[$pOut>>2]|0; - $1911 = $1910; - $1912 = $1911; - HEAP32[$1912>>2] = $1907; - $1913 = (($1911) + 4)|0; + $1883 = HEAP16[$flags1>>1]|0; + $1884 = HEAP32[$pIn1>>2]|0; + $1885 = ((($1884)) + 8|0); + HEAP16[$1885>>1] = $1883; + $1886 = HEAP16[$flags3>>1]|0; + $1887 = HEAP32[$pIn3>>2]|0; + $1888 = ((($1887)) + 8|0); + HEAP16[$1888>>1] = $1886; + $1889 = HEAP32[$pOp>>2]|0; + $1890 = ((($1889)) + 3|0); + $1891 = HEAP8[$1890>>0]|0; + $1892 = $1891&255; + $1893 = $1892 & 32; + $1894 = ($1893|0)!=(0); + if ($1894) { + $1895 = HEAP32[$pOp>>2]|0; + $1896 = ((($1895)) + 8|0); + $1897 = HEAP32[$1896>>2]|0; + $1898 = HEAP32[$aMem>>2]|0; + $1899 = (($1898) + (($1897*40)|0)|0); + HEAP32[$pOut>>2] = $1899; + $1900 = HEAP32[$pOut>>2]|0; + $1901 = ((($1900)) + 8|0); + $1902 = HEAP16[$1901>>1]|0; + $1903 = $1902&65535; + $1904 = $1903 & -49664; + $1905 = $1904 | 4; + $1906 = $1905&65535; + $1907 = HEAP32[$pOut>>2]|0; + $1908 = ((($1907)) + 8|0); + HEAP16[$1908>>1] = $1906; + $1909 = HEAP32[$res>>2]|0; + $1910 = ($1909|0)<(0); + $1911 = $1910 << 31 >> 31; + $1912 = HEAP32[$pOut>>2]|0; + $1913 = $1912; $1914 = $1913; HEAP32[$1914>>2] = $1909; - break L11; + $1915 = (($1913) + 4)|0; + $1916 = $1915; + HEAP32[$1916>>2] = $1911; + break L10; } else { - $1915 = HEAP32[$res>>2]|0; - $1916 = ($1915|0)!=(0); - if ($1916) { - label = 15; - break L11; + $1917 = HEAP32[$res>>2]|0; + $1918 = ($1917|0)!=(0); + if ($1918) { + label = 14; + break L10; } else { - break L11; + break L10; } } break; } case 41: { - $1917 = HEAP32[$pOp>>2]|0; - $1918 = ((($1917)) + 16|0); - $1919 = HEAP32[$1918>>2]|0; - $1920 = ((($1919)) + 4|0); - HEAP32[$aPermute>>2] = $1920; + $1919 = HEAP32[$pOp>>2]|0; + $1920 = ((($1919)) + 16|0); + $1921 = HEAP32[$1920>>2]|0; + $1922 = ((($1921)) + 4|0); + HEAP32[$aPermute>>2] = $1922; break; } case 42: { - $1921 = HEAP32[$pOp>>2]|0; - $1922 = ((($1921)) + 3|0); - $1923 = HEAP8[$1922>>0]|0; - $1924 = $1923&255; - $1925 = $1924 & 1; - $1926 = ($1925|0)==(0); - if ($1926) { + $1923 = HEAP32[$pOp>>2]|0; + $1924 = ((($1923)) + 3|0); + $1925 = HEAP8[$1924>>0]|0; + $1926 = $1925&255; + $1927 = $1926 & 1; + $1928 = ($1927|0)==(0); + if ($1928) { HEAP32[$aPermute>>2] = 0; } - $1927 = HEAP32[$pOp>>2]|0; - $1928 = ((($1927)) + 12|0); - $1929 = HEAP32[$1928>>2]|0; - HEAP32[$n7>>2] = $1929; - $1930 = HEAP32[$pOp>>2]|0; - $1931 = ((($1930)) + 16|0); - $1932 = HEAP32[$1931>>2]|0; - HEAP32[$pKeyInfo>>2] = $1932; - $1933 = HEAP32[$pOp>>2]|0; - $1934 = ((($1933)) + 4|0); - $1935 = HEAP32[$1934>>2]|0; - HEAP32[$p19>>2] = $1935; - $1936 = HEAP32[$pOp>>2]|0; - $1937 = ((($1936)) + 8|0); - $1938 = HEAP32[$1937>>2]|0; - HEAP32[$p210>>2] = $1938; + $1929 = HEAP32[$pOp>>2]|0; + $1930 = ((($1929)) + 12|0); + $1931 = HEAP32[$1930>>2]|0; + HEAP32[$n7>>2] = $1931; + $1932 = HEAP32[$pOp>>2]|0; + $1933 = ((($1932)) + 16|0); + $1934 = HEAP32[$1933>>2]|0; + HEAP32[$pKeyInfo>>2] = $1934; + $1935 = HEAP32[$pOp>>2]|0; + $1936 = ((($1935)) + 4|0); + $1937 = HEAP32[$1936>>2]|0; + HEAP32[$p19>>2] = $1937; + $1938 = HEAP32[$pOp>>2]|0; + $1939 = ((($1938)) + 8|0); + $1940 = HEAP32[$1939>>2]|0; + HEAP32[$p210>>2] = $1940; HEAP32[$i8>>2] = 0; while(1) { - $1939 = HEAP32[$i8>>2]|0; - $1940 = HEAP32[$n7>>2]|0; - $1941 = ($1939|0)<($1940|0); - if (!($1941)) { + $1941 = HEAP32[$i8>>2]|0; + $1942 = HEAP32[$n7>>2]|0; + $1943 = ($1941|0)<($1942|0); + if (!($1943)) { break; } - $1942 = HEAP32[$aPermute>>2]|0; - $1943 = ($1942|0)!=(0|0); - $1944 = HEAP32[$i8>>2]|0; - if ($1943) { - $1945 = HEAP32[$aPermute>>2]|0; - $1946 = (($1945) + ($1944<<2)|0); - $1947 = HEAP32[$1946>>2]|0; - $1948 = $1947; + $1944 = HEAP32[$aPermute>>2]|0; + $1945 = ($1944|0)!=(0|0); + $1946 = HEAP32[$i8>>2]|0; + if ($1945) { + $1947 = HEAP32[$aPermute>>2]|0; + $1948 = (($1947) + ($1946<<2)|0); + $1949 = HEAP32[$1948>>2]|0; + $1950 = $1949; } else { - $1948 = $1944; + $1950 = $1946; } - HEAP32[$idx>>2] = $1948; - $1949 = HEAP32[$i8>>2]|0; - $1950 = HEAP32[$pKeyInfo>>2]|0; - $1951 = ((($1950)) + 20|0); - $1952 = (($1951) + ($1949<<2)|0); - $1953 = HEAP32[$1952>>2]|0; - HEAP32[$pColl>>2] = $1953; - $1954 = HEAP32[$i8>>2]|0; - $1955 = HEAP32[$pKeyInfo>>2]|0; - $1956 = ((($1955)) + 16|0); - $1957 = HEAP32[$1956>>2]|0; - $1958 = (($1957) + ($1954)|0); - $1959 = HEAP8[$1958>>0]|0; - $1960 = $1959&255; - HEAP32[$bRev>>2] = $1960; - $1961 = HEAP32[$p19>>2]|0; - $1962 = HEAP32[$idx>>2]|0; - $1963 = (($1961) + ($1962))|0; - $1964 = HEAP32[$aMem>>2]|0; - $1965 = (($1964) + (($1963*40)|0)|0); - $1966 = HEAP32[$p210>>2]|0; - $1967 = HEAP32[$idx>>2]|0; - $1968 = (($1966) + ($1967))|0; - $1969 = HEAP32[$aMem>>2]|0; - $1970 = (($1969) + (($1968*40)|0)|0); - $1971 = HEAP32[$pColl>>2]|0; - $1972 = (_sqlite3MemCompare($1965,$1970,$1971)|0); - HEAP32[$iCompare>>2] = $1972; - $1973 = HEAP32[$iCompare>>2]|0; - $1974 = ($1973|0)!=(0); - if ($1974) { - label = 217; + HEAP32[$idx>>2] = $1950; + $1951 = HEAP32[$i8>>2]|0; + $1952 = HEAP32[$pKeyInfo>>2]|0; + $1953 = ((($1952)) + 20|0); + $1954 = (($1953) + ($1951<<2)|0); + $1955 = HEAP32[$1954>>2]|0; + HEAP32[$pColl>>2] = $1955; + $1956 = HEAP32[$i8>>2]|0; + $1957 = HEAP32[$pKeyInfo>>2]|0; + $1958 = ((($1957)) + 16|0); + $1959 = HEAP32[$1958>>2]|0; + $1960 = (($1959) + ($1956)|0); + $1961 = HEAP8[$1960>>0]|0; + $1962 = $1961&255; + HEAP32[$bRev>>2] = $1962; + $1963 = HEAP32[$p19>>2]|0; + $1964 = HEAP32[$idx>>2]|0; + $1965 = (($1963) + ($1964))|0; + $1966 = HEAP32[$aMem>>2]|0; + $1967 = (($1966) + (($1965*40)|0)|0); + $1968 = HEAP32[$p210>>2]|0; + $1969 = HEAP32[$idx>>2]|0; + $1970 = (($1968) + ($1969))|0; + $1971 = HEAP32[$aMem>>2]|0; + $1972 = (($1971) + (($1970*40)|0)|0); + $1973 = HEAP32[$pColl>>2]|0; + $1974 = (_sqlite3MemCompare($1967,$1972,$1973)|0); + HEAP32[$iCompare>>2] = $1974; + $1975 = HEAP32[$iCompare>>2]|0; + $1976 = ($1975|0)!=(0); + if ($1976) { + label = 215; break; } - $1979 = HEAP32[$i8>>2]|0; - $1980 = (($1979) + 1)|0; - HEAP32[$i8>>2] = $1980; + $1981 = HEAP32[$i8>>2]|0; + $1982 = (($1981) + 1)|0; + HEAP32[$i8>>2] = $1982; } - if ((label|0) == 217) { + if ((label|0) == 215) { label = 0; - $1975 = HEAP32[$bRev>>2]|0; - $1976 = ($1975|0)!=(0); - if ($1976) { - $1977 = HEAP32[$iCompare>>2]|0; - $1978 = (0 - ($1977))|0; - HEAP32[$iCompare>>2] = $1978; + $1977 = HEAP32[$bRev>>2]|0; + $1978 = ($1977|0)!=(0); + if ($1978) { + $1979 = HEAP32[$iCompare>>2]|0; + $1980 = (0 - ($1979))|0; + HEAP32[$iCompare>>2] = $1980; } } HEAP32[$aPermute>>2] = 0; break; } case 43: { - $1981 = HEAP32[$iCompare>>2]|0; - $1982 = ($1981|0)<(0); - if ($1982) { - $1983 = HEAP32[$pOp>>2]|0; - $1984 = ((($1983)) + 4|0); - $1985 = HEAP32[$1984>>2]|0; - $1986 = (($1985) - 1)|0; - $1987 = HEAP32[$aOp>>2]|0; - $1988 = (($1987) + (($1986*20)|0)|0); - HEAP32[$pOp>>2] = $1988; - break L11; + $1983 = HEAP32[$iCompare>>2]|0; + $1984 = ($1983|0)<(0); + if ($1984) { + $1985 = HEAP32[$pOp>>2]|0; + $1986 = ((($1985)) + 4|0); + $1987 = HEAP32[$1986>>2]|0; + $1988 = (($1987) - 1)|0; + $1989 = HEAP32[$aOp>>2]|0; + $1990 = (($1989) + (($1988*20)|0)|0); + HEAP32[$pOp>>2] = $1990; + break L10; } - $1989 = HEAP32[$iCompare>>2]|0; - $1990 = ($1989|0)==(0); - $1991 = HEAP32[$pOp>>2]|0; - if ($1990) { - $1992 = ((($1991)) + 8|0); - $1993 = HEAP32[$1992>>2]|0; - $1994 = (($1993) - 1)|0; - $1995 = HEAP32[$aOp>>2]|0; - $1996 = (($1995) + (($1994*20)|0)|0); - HEAP32[$pOp>>2] = $1996; - break L11; + $1991 = HEAP32[$iCompare>>2]|0; + $1992 = ($1991|0)==(0); + $1993 = HEAP32[$pOp>>2]|0; + if ($1992) { + $1994 = ((($1993)) + 8|0); + $1995 = HEAP32[$1994>>2]|0; + $1996 = (($1995) - 1)|0; + $1997 = HEAP32[$aOp>>2]|0; + $1998 = (($1997) + (($1996*20)|0)|0); + HEAP32[$pOp>>2] = $1998; + break L10; } else { - $1997 = ((($1991)) + 12|0); - $1998 = HEAP32[$1997>>2]|0; - $1999 = (($1998) - 1)|0; - $2000 = HEAP32[$aOp>>2]|0; - $2001 = (($2000) + (($1999*20)|0)|0); - HEAP32[$pOp>>2] = $2001; - break L11; + $1999 = ((($1993)) + 12|0); + $2000 = HEAP32[$1999>>2]|0; + $2001 = (($2000) - 1)|0; + $2002 = HEAP32[$aOp>>2]|0; + $2003 = (($2002) + (($2001*20)|0)|0); + HEAP32[$pOp>>2] = $2003; + break L10; } break; } case 71: case 72: { - $2002 = HEAP32[$pOp>>2]|0; - $2003 = ((($2002)) + 4|0); - $2004 = HEAP32[$2003>>2]|0; - $2005 = HEAP32[$aMem>>2]|0; - $2006 = (($2005) + (($2004*40)|0)|0); - HEAP32[$pIn1>>2] = $2006; - $2007 = HEAP32[$pIn1>>2]|0; - $2008 = ((($2007)) + 8|0); - $2009 = HEAP16[$2008>>1]|0; - $2010 = $2009&65535; - $2011 = $2010 & 1; - $2012 = ($2011|0)!=(0); - if ($2012) { + $2004 = HEAP32[$pOp>>2]|0; + $2005 = ((($2004)) + 4|0); + $2006 = HEAP32[$2005>>2]|0; + $2007 = HEAP32[$aMem>>2]|0; + $2008 = (($2007) + (($2006*40)|0)|0); + HEAP32[$pIn1>>2] = $2008; + $2009 = HEAP32[$pIn1>>2]|0; + $2010 = ((($2009)) + 8|0); + $2011 = HEAP16[$2010>>1]|0; + $2012 = $2011&65535; + $2013 = $2012 & 1; + $2014 = ($2013|0)!=(0); + if ($2014) { HEAP32[$v1>>2] = 2; } else { - $2013 = HEAP32[$pIn1>>2]|0; - $2014 = (_sqlite3VdbeIntValue($2013)|0); - $2015 = tempRet0; - $2016 = ($2014|0)!=(0); - $2017 = ($2015|0)!=(0); - $2018 = $2016 | $2017; - $2019 = $2018&1; - HEAP32[$v1>>2] = $2019; + $2015 = HEAP32[$pIn1>>2]|0; + $2016 = (_sqlite3VdbeIntValue($2015)|0); + $2017 = tempRet0; + $2018 = ($2016|0)!=(0); + $2019 = ($2017|0)!=(0); + $2020 = $2018 | $2019; + $2021 = $2020&1; + HEAP32[$v1>>2] = $2021; } - $2020 = HEAP32[$pOp>>2]|0; - $2021 = ((($2020)) + 8|0); - $2022 = HEAP32[$2021>>2]|0; - $2023 = HEAP32[$aMem>>2]|0; - $2024 = (($2023) + (($2022*40)|0)|0); - HEAP32[$pIn2>>2] = $2024; - $2025 = HEAP32[$pIn2>>2]|0; - $2026 = ((($2025)) + 8|0); - $2027 = HEAP16[$2026>>1]|0; - $2028 = $2027&65535; - $2029 = $2028 & 1; - $2030 = ($2029|0)!=(0); - if ($2030) { + $2022 = HEAP32[$pOp>>2]|0; + $2023 = ((($2022)) + 8|0); + $2024 = HEAP32[$2023>>2]|0; + $2025 = HEAP32[$aMem>>2]|0; + $2026 = (($2025) + (($2024*40)|0)|0); + HEAP32[$pIn2>>2] = $2026; + $2027 = HEAP32[$pIn2>>2]|0; + $2028 = ((($2027)) + 8|0); + $2029 = HEAP16[$2028>>1]|0; + $2030 = $2029&65535; + $2031 = $2030 & 1; + $2032 = ($2031|0)!=(0); + if ($2032) { HEAP32[$v2>>2] = 2; } else { - $2031 = HEAP32[$pIn2>>2]|0; - $2032 = (_sqlite3VdbeIntValue($2031)|0); - $2033 = tempRet0; - $2034 = ($2032|0)!=(0); - $2035 = ($2033|0)!=(0); - $2036 = $2034 | $2035; - $2037 = $2036&1; - HEAP32[$v2>>2] = $2037; + $2033 = HEAP32[$pIn2>>2]|0; + $2034 = (_sqlite3VdbeIntValue($2033)|0); + $2035 = tempRet0; + $2036 = ($2034|0)!=(0); + $2037 = ($2035|0)!=(0); + $2038 = $2036 | $2037; + $2039 = $2038&1; + HEAP32[$v2>>2] = $2039; } - $2038 = HEAP32[$pOp>>2]|0; - $2039 = HEAP8[$2038>>0]|0; - $2040 = $2039&255; - $2041 = ($2040|0)==(72); - $2042 = HEAP32[$v1>>2]|0; - $2043 = ($2042*3)|0; - $2044 = HEAP32[$v2>>2]|0; - $2045 = (($2043) + ($2044))|0; - if ($2041) { - $2046 = (40716 + ($2045)|0); - $2047 = HEAP8[$2046>>0]|0; - $2048 = $2047&255; - HEAP32[$v1>>2] = $2048; + $2040 = HEAP32[$pOp>>2]|0; + $2041 = HEAP8[$2040>>0]|0; + $2042 = $2041&255; + $2043 = ($2042|0)==(72); + $2044 = HEAP32[$v1>>2]|0; + $2045 = ($2044*3)|0; + $2046 = HEAP32[$v2>>2]|0; + $2047 = (($2045) + ($2046))|0; + if ($2043) { + $2048 = (40367 + ($2047)|0); + $2049 = HEAP8[$2048>>0]|0; + $2050 = $2049&255; + HEAP32[$v1>>2] = $2050; } else { - $2049 = (40725 + ($2045)|0); - $2050 = HEAP8[$2049>>0]|0; - $2051 = $2050&255; - HEAP32[$v1>>2] = $2051; + $2051 = (40376 + ($2047)|0); + $2052 = HEAP8[$2051>>0]|0; + $2053 = $2052&255; + HEAP32[$v1>>2] = $2053; } - $2052 = HEAP32[$pOp>>2]|0; - $2053 = ((($2052)) + 12|0); - $2054 = HEAP32[$2053>>2]|0; - $2055 = HEAP32[$aMem>>2]|0; - $2056 = (($2055) + (($2054*40)|0)|0); - HEAP32[$pOut>>2] = $2056; - $2057 = HEAP32[$v1>>2]|0; - $2058 = ($2057|0)==(2); - if ($2058) { - $2059 = HEAP32[$pOut>>2]|0; - $2060 = ((($2059)) + 8|0); - $2061 = HEAP16[$2060>>1]|0; - $2062 = $2061&65535; - $2063 = $2062 & -49664; - $2064 = $2063 | 1; - $2065 = $2064&65535; - $2066 = HEAP32[$pOut>>2]|0; - $2067 = ((($2066)) + 8|0); - HEAP16[$2067>>1] = $2065; - break L11; + $2054 = HEAP32[$pOp>>2]|0; + $2055 = ((($2054)) + 12|0); + $2056 = HEAP32[$2055>>2]|0; + $2057 = HEAP32[$aMem>>2]|0; + $2058 = (($2057) + (($2056*40)|0)|0); + HEAP32[$pOut>>2] = $2058; + $2059 = HEAP32[$v1>>2]|0; + $2060 = ($2059|0)==(2); + if ($2060) { + $2061 = HEAP32[$pOut>>2]|0; + $2062 = ((($2061)) + 8|0); + $2063 = HEAP16[$2062>>1]|0; + $2064 = $2063&65535; + $2065 = $2064 & -49664; + $2066 = $2065 | 1; + $2067 = $2066&65535; + $2068 = HEAP32[$pOut>>2]|0; + $2069 = ((($2068)) + 8|0); + HEAP16[$2069>>1] = $2067; + break L10; } else { - $2068 = HEAP32[$v1>>2]|0; - $2069 = ($2068|0)<(0); - $2070 = $2069 << 31 >> 31; - $2071 = HEAP32[$pOut>>2]|0; - $2072 = $2071; - $2073 = $2072; - HEAP32[$2073>>2] = $2068; - $2074 = (($2072) + 4)|0; + $2070 = HEAP32[$v1>>2]|0; + $2071 = ($2070|0)<(0); + $2072 = $2071 << 31 >> 31; + $2073 = HEAP32[$pOut>>2]|0; + $2074 = $2073; $2075 = $2074; HEAP32[$2075>>2] = $2070; - $2076 = HEAP32[$pOut>>2]|0; - $2077 = ((($2076)) + 8|0); - $2078 = HEAP16[$2077>>1]|0; - $2079 = $2078&65535; - $2080 = $2079 & -49664; - $2081 = $2080 | 4; - $2082 = $2081&65535; - $2083 = HEAP32[$pOut>>2]|0; - $2084 = ((($2083)) + 8|0); - HEAP16[$2084>>1] = $2082; - break L11; + $2076 = (($2074) + 4)|0; + $2077 = $2076; + HEAP32[$2077>>2] = $2072; + $2078 = HEAP32[$pOut>>2]|0; + $2079 = ((($2078)) + 8|0); + $2080 = HEAP16[$2079>>1]|0; + $2081 = $2080&65535; + $2082 = $2081 & -49664; + $2083 = $2082 | 4; + $2084 = $2083&65535; + $2085 = HEAP32[$pOut>>2]|0; + $2086 = ((($2085)) + 8|0); + HEAP16[$2086>>1] = $2084; + break L10; } break; } case 19: { - $2085 = HEAP32[$pOp>>2]|0; - $2086 = ((($2085)) + 4|0); - $2087 = HEAP32[$2086>>2]|0; - $2088 = HEAP32[$aMem>>2]|0; - $2089 = (($2088) + (($2087*40)|0)|0); - HEAP32[$pIn1>>2] = $2089; - $2090 = HEAP32[$pOp>>2]|0; - $2091 = ((($2090)) + 8|0); - $2092 = HEAP32[$2091>>2]|0; - $2093 = HEAP32[$aMem>>2]|0; - $2094 = (($2093) + (($2092*40)|0)|0); - HEAP32[$pOut>>2] = $2094; - $2095 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($2095); - $2096 = HEAP32[$pIn1>>2]|0; - $2097 = ((($2096)) + 8|0); - $2098 = HEAP16[$2097>>1]|0; - $2099 = $2098&65535; - $2100 = $2099 & 1; - $2101 = ($2100|0)==(0); - if ($2101) { - $2102 = HEAP32[$pOut>>2]|0; - $2103 = ((($2102)) + 8|0); - HEAP16[$2103>>1] = 4; - $2104 = HEAP32[$pIn1>>2]|0; - $2105 = (_sqlite3VdbeIntValue($2104)|0); - $2106 = tempRet0; - $2107 = ($2105|0)!=(0); - $2108 = ($2106|0)!=(0); - $2109 = $2107 | $2108; - $2110 = $2109 ^ 1; - $2111 = $2110&1; - $2112 = ($2111|0)<(0); - $2113 = $2112 << 31 >> 31; - $2114 = HEAP32[$pOut>>2]|0; - $2115 = $2114; - $2116 = $2115; - HEAP32[$2116>>2] = $2111; - $2117 = (($2115) + 4)|0; + $2087 = HEAP32[$pOp>>2]|0; + $2088 = ((($2087)) + 4|0); + $2089 = HEAP32[$2088>>2]|0; + $2090 = HEAP32[$aMem>>2]|0; + $2091 = (($2090) + (($2089*40)|0)|0); + HEAP32[$pIn1>>2] = $2091; + $2092 = HEAP32[$pOp>>2]|0; + $2093 = ((($2092)) + 8|0); + $2094 = HEAP32[$2093>>2]|0; + $2095 = HEAP32[$aMem>>2]|0; + $2096 = (($2095) + (($2094*40)|0)|0); + HEAP32[$pOut>>2] = $2096; + $2097 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($2097); + $2098 = HEAP32[$pIn1>>2]|0; + $2099 = ((($2098)) + 8|0); + $2100 = HEAP16[$2099>>1]|0; + $2101 = $2100&65535; + $2102 = $2101 & 1; + $2103 = ($2102|0)==(0); + if ($2103) { + $2104 = HEAP32[$pOut>>2]|0; + $2105 = ((($2104)) + 8|0); + HEAP16[$2105>>1] = 4; + $2106 = HEAP32[$pIn1>>2]|0; + $2107 = (_sqlite3VdbeIntValue($2106)|0); + $2108 = tempRet0; + $2109 = ($2107|0)!=(0); + $2110 = ($2108|0)!=(0); + $2111 = $2109 | $2110; + $2112 = $2111 ^ 1; + $2113 = $2112&1; + $2114 = ($2113|0)<(0); + $2115 = $2114 << 31 >> 31; + $2116 = HEAP32[$pOut>>2]|0; + $2117 = $2116; $2118 = $2117; HEAP32[$2118>>2] = $2113; + $2119 = (($2117) + 4)|0; + $2120 = $2119; + HEAP32[$2120>>2] = $2115; } break; } case 96: { - $2119 = HEAP32[$pOp>>2]|0; - $2120 = ((($2119)) + 4|0); - $2121 = HEAP32[$2120>>2]|0; - $2122 = HEAP32[$aMem>>2]|0; - $2123 = (($2122) + (($2121*40)|0)|0); - HEAP32[$pIn1>>2] = $2123; - $2124 = HEAP32[$pOp>>2]|0; - $2125 = ((($2124)) + 8|0); - $2126 = HEAP32[$2125>>2]|0; - $2127 = HEAP32[$aMem>>2]|0; - $2128 = (($2127) + (($2126*40)|0)|0); - HEAP32[$pOut>>2] = $2128; - $2129 = HEAP32[$pOut>>2]|0; - _sqlite3VdbeMemSetNull($2129); - $2130 = HEAP32[$pIn1>>2]|0; - $2131 = ((($2130)) + 8|0); - $2132 = HEAP16[$2131>>1]|0; - $2133 = $2132&65535; - $2134 = $2133 & 1; - $2135 = ($2134|0)==(0); - if ($2135) { - $2136 = HEAP32[$pOut>>2]|0; - $2137 = ((($2136)) + 8|0); - HEAP16[$2137>>1] = 4; - $2138 = HEAP32[$pIn1>>2]|0; - $2139 = (_sqlite3VdbeIntValue($2138)|0); - $2140 = tempRet0; - $2141 = $2139 ^ -1; - $2142 = $2140 ^ -1; - $2143 = HEAP32[$pOut>>2]|0; - $2144 = $2143; - $2145 = $2144; - HEAP32[$2145>>2] = $2141; - $2146 = (($2144) + 4)|0; + $2121 = HEAP32[$pOp>>2]|0; + $2122 = ((($2121)) + 4|0); + $2123 = HEAP32[$2122>>2]|0; + $2124 = HEAP32[$aMem>>2]|0; + $2125 = (($2124) + (($2123*40)|0)|0); + HEAP32[$pIn1>>2] = $2125; + $2126 = HEAP32[$pOp>>2]|0; + $2127 = ((($2126)) + 8|0); + $2128 = HEAP32[$2127>>2]|0; + $2129 = HEAP32[$aMem>>2]|0; + $2130 = (($2129) + (($2128*40)|0)|0); + HEAP32[$pOut>>2] = $2130; + $2131 = HEAP32[$pOut>>2]|0; + _sqlite3VdbeMemSetNull($2131); + $2132 = HEAP32[$pIn1>>2]|0; + $2133 = ((($2132)) + 8|0); + $2134 = HEAP16[$2133>>1]|0; + $2135 = $2134&65535; + $2136 = $2135 & 1; + $2137 = ($2136|0)==(0); + if ($2137) { + $2138 = HEAP32[$pOut>>2]|0; + $2139 = ((($2138)) + 8|0); + HEAP16[$2139>>1] = 4; + $2140 = HEAP32[$pIn1>>2]|0; + $2141 = (_sqlite3VdbeIntValue($2140)|0); + $2142 = tempRet0; + $2143 = $2141 ^ -1; + $2144 = $2142 ^ -1; + $2145 = HEAP32[$pOut>>2]|0; + $2146 = $2145; $2147 = $2146; - HEAP32[$2147>>2] = $2142; + HEAP32[$2147>>2] = $2143; + $2148 = (($2146) + 4)|0; + $2149 = $2148; + HEAP32[$2149>>2] = $2144; } break; } case 44: { - $2148 = HEAP32[$pOp>>2]|0; - $2149 = ((($2148)) + 4|0); - $2150 = HEAP32[$2149>>2]|0; - $2151 = HEAP32[$0>>2]|0; - $2152 = ((($2151)) + 200|0); - $2153 = HEAP32[$2152>>2]|0; - $2154 = (($2153) + ($2150)|0); - $2155 = HEAP8[$2154>>0]|0; - $2156 = ($2155<<24>>24)!=(0); - if ($2156) { - label = 15; + $2150 = HEAP32[$pOp>>2]|0; + $2151 = ((($2150)) + 4|0); + $2152 = HEAP32[$2151>>2]|0; + $2153 = HEAP32[$0>>2]|0; + $2154 = ((($2153)) + 200|0); + $2155 = HEAP32[$2154>>2]|0; + $2156 = (($2155) + ($2152)|0); + $2157 = HEAP8[$2156>>0]|0; + $2158 = ($2157<<24>>24)!=(0); + if ($2158) { + label = 14; } else { - $2157 = HEAP32[$pOp>>2]|0; - $2158 = ((($2157)) + 4|0); - $2159 = HEAP32[$2158>>2]|0; - $2160 = HEAP32[$0>>2]|0; - $2161 = ((($2160)) + 200|0); - $2162 = HEAP32[$2161>>2]|0; - $2163 = (($2162) + ($2159)|0); - HEAP8[$2163>>0] = 1; + $2159 = HEAP32[$pOp>>2]|0; + $2160 = ((($2159)) + 4|0); + $2161 = HEAP32[$2160>>2]|0; + $2162 = HEAP32[$0>>2]|0; + $2163 = ((($2162)) + 200|0); + $2164 = HEAP32[$2163>>2]|0; + $2165 = (($2164) + ($2161)|0); + HEAP8[$2165>>0] = 1; } break; } case 46: case 45: { - $2164 = HEAP32[$pOp>>2]|0; - $2165 = ((($2164)) + 4|0); - $2166 = HEAP32[$2165>>2]|0; - $2167 = HEAP32[$aMem>>2]|0; - $2168 = (($2167) + (($2166*40)|0)|0); - HEAP32[$pIn1>>2] = $2168; - $2169 = HEAP32[$pIn1>>2]|0; - $2170 = ((($2169)) + 8|0); - $2171 = HEAP16[$2170>>1]|0; - $2172 = $2171&65535; - $2173 = $2172 & 1; - $2174 = ($2173|0)!=(0); - if ($2174) { - $2175 = HEAP32[$pOp>>2]|0; - $2176 = ((($2175)) + 12|0); - $2177 = HEAP32[$2176>>2]|0; - HEAP32[$c>>2] = $2177; + $2166 = HEAP32[$pOp>>2]|0; + $2167 = ((($2166)) + 4|0); + $2168 = HEAP32[$2167>>2]|0; + $2169 = HEAP32[$aMem>>2]|0; + $2170 = (($2169) + (($2168*40)|0)|0); + HEAP32[$pIn1>>2] = $2170; + $2171 = HEAP32[$pIn1>>2]|0; + $2172 = ((($2171)) + 8|0); + $2173 = HEAP16[$2172>>1]|0; + $2174 = $2173&65535; + $2175 = $2174 & 1; + $2176 = ($2175|0)!=(0); + if ($2176) { + $2177 = HEAP32[$pOp>>2]|0; + $2178 = ((($2177)) + 12|0); + $2179 = HEAP32[$2178>>2]|0; + HEAP32[$c>>2] = $2179; } else { - $2178 = HEAP32[$pIn1>>2]|0; - $2179 = (+_sqlite3VdbeRealValue($2178)); - $2180 = $2179 != 0.0; - $2181 = $2180&1; - HEAP32[$c>>2] = $2181; - $2182 = HEAP32[$pOp>>2]|0; - $2183 = HEAP8[$2182>>0]|0; - $2184 = $2183&255; - $2185 = ($2184|0)==(46); - if ($2185) { - $2186 = HEAP32[$c>>2]|0; - $2187 = ($2186|0)!=(0); - $2188 = $2187 ^ 1; - $2189 = $2188&1; - HEAP32[$c>>2] = $2189; + $2180 = HEAP32[$pIn1>>2]|0; + $2181 = (+_sqlite3VdbeRealValue($2180)); + $2182 = $2181 != 0.0; + $2183 = $2182&1; + HEAP32[$c>>2] = $2183; + $2184 = HEAP32[$pOp>>2]|0; + $2185 = HEAP8[$2184>>0]|0; + $2186 = $2185&255; + $2187 = ($2186|0)==(46); + if ($2187) { + $2188 = HEAP32[$c>>2]|0; + $2189 = ($2188|0)!=(0); + $2190 = $2189 ^ 1; + $2191 = $2190&1; + HEAP32[$c>>2] = $2191; } } - $2190 = HEAP32[$c>>2]|0; - $2191 = ($2190|0)!=(0); - if ($2191) { - label = 15; + $2192 = HEAP32[$c>>2]|0; + $2193 = ($2192|0)!=(0); + if ($2193) { + label = 14; } break; } case 76: { - $2192 = HEAP32[$pOp>>2]|0; - $2193 = ((($2192)) + 4|0); - $2194 = HEAP32[$2193>>2]|0; - $2195 = HEAP32[$aMem>>2]|0; - $2196 = (($2195) + (($2194*40)|0)|0); - HEAP32[$pIn1>>2] = $2196; - $2197 = HEAP32[$pIn1>>2]|0; - $2198 = ((($2197)) + 8|0); - $2199 = HEAP16[$2198>>1]|0; - $2200 = $2199&65535; - $2201 = $2200 & 1; - $2202 = ($2201|0)!=(0); - if ($2202) { - label = 15; + $2194 = HEAP32[$pOp>>2]|0; + $2195 = ((($2194)) + 4|0); + $2196 = HEAP32[$2195>>2]|0; + $2197 = HEAP32[$aMem>>2]|0; + $2198 = (($2197) + (($2196*40)|0)|0); + HEAP32[$pIn1>>2] = $2198; + $2199 = HEAP32[$pIn1>>2]|0; + $2200 = ((($2199)) + 8|0); + $2201 = HEAP16[$2200>>1]|0; + $2202 = $2201&65535; + $2203 = $2202 & 1; + $2204 = ($2203|0)!=(0); + if ($2204) { + label = 14; } break; } case 77: { - $2203 = HEAP32[$pOp>>2]|0; - $2204 = ((($2203)) + 4|0); - $2205 = HEAP32[$2204>>2]|0; - $2206 = HEAP32[$aMem>>2]|0; - $2207 = (($2206) + (($2205*40)|0)|0); - HEAP32[$pIn1>>2] = $2207; - $2208 = HEAP32[$pIn1>>2]|0; - $2209 = ((($2208)) + 8|0); - $2210 = HEAP16[$2209>>1]|0; - $2211 = $2210&65535; - $2212 = $2211 & 1; - $2213 = ($2212|0)==(0); - if ($2213) { - label = 15; + $2205 = HEAP32[$pOp>>2]|0; + $2206 = ((($2205)) + 4|0); + $2207 = HEAP32[$2206>>2]|0; + $2208 = HEAP32[$aMem>>2]|0; + $2209 = (($2208) + (($2207*40)|0)|0); + HEAP32[$pIn1>>2] = $2209; + $2210 = HEAP32[$pIn1>>2]|0; + $2211 = ((($2210)) + 8|0); + $2212 = HEAP16[$2211>>1]|0; + $2213 = $2212&65535; + $2214 = $2213 & 1; + $2215 = ($2214|0)==(0); + if ($2215) { + label = 14; } break; } case 47: { - $2214 = HEAP32[$pOp>>2]|0; - $2215 = ((($2214)) + 4|0); - $2216 = HEAP32[$2215>>2]|0; - $2217 = HEAP32[$0>>2]|0; - $2218 = ((($2217)) + 56|0); - $2219 = HEAP32[$2218>>2]|0; - $2220 = (($2219) + ($2216<<2)|0); + $2216 = HEAP32[$pOp>>2]|0; + $2217 = ((($2216)) + 4|0); + $2218 = HEAP32[$2217>>2]|0; + $2219 = HEAP32[$0>>2]|0; + $2220 = ((($2219)) + 56|0); $2221 = HEAP32[$2220>>2]|0; - HEAP32[$pC>>2] = $2221; - $2222 = HEAP32[$pOp>>2]|0; - $2223 = ((($2222)) + 8|0); - $2224 = HEAP32[$2223>>2]|0; - HEAP32[$p211>>2] = $2224; - $2225 = (_sqlite3VdbeCursorMoveto($pC,$p211)|0); - HEAP32[$rc>>2] = $2225; - $2226 = HEAP32[$pOp>>2]|0; - $2227 = ((($2226)) + 12|0); - $2228 = HEAP32[$2227>>2]|0; - $2229 = HEAP32[$aMem>>2]|0; - $2230 = (($2229) + (($2228*40)|0)|0); - HEAP32[$pDest>>2] = $2230; - $2231 = HEAP32[$pC>>2]|0; - $2232 = ((($2231)) + 76|0); - $2233 = HEAP32[$2232>>2]|0; - HEAP32[$aOffset>>2] = $2233; - $2234 = HEAP32[$pC>>2]|0; - $2235 = ((($2234)) + 16|0); - $2236 = HEAP32[$2235>>2]|0; - HEAP32[$pCrsr>>2] = $2236; - $2237 = HEAP32[$rc>>2]|0; - $2238 = ($2237|0)!=(0); - if ($2238) { - label = 861; - break L8; + $2222 = (($2221) + ($2218<<2)|0); + $2223 = HEAP32[$2222>>2]|0; + HEAP32[$pC>>2] = $2223; + $2224 = HEAP32[$pOp>>2]|0; + $2225 = ((($2224)) + 8|0); + $2226 = HEAP32[$2225>>2]|0; + HEAP32[$p211>>2] = $2226; + $2227 = (_sqlite3VdbeCursorMoveto($pC,$p211)|0); + HEAP32[$rc>>2] = $2227; + $2228 = HEAP32[$pOp>>2]|0; + $2229 = ((($2228)) + 12|0); + $2230 = HEAP32[$2229>>2]|0; + $2231 = HEAP32[$aMem>>2]|0; + $2232 = (($2231) + (($2230*40)|0)|0); + HEAP32[$pDest>>2] = $2232; + $2233 = HEAP32[$pC>>2]|0; + $2234 = ((($2233)) + 76|0); + $2235 = HEAP32[$2234>>2]|0; + HEAP32[$aOffset>>2] = $2235; + $2236 = HEAP32[$pC>>2]|0; + $2237 = ((($2236)) + 16|0); + $2238 = HEAP32[$2237>>2]|0; + HEAP32[$pCrsr>>2] = $2238; + $2239 = HEAP32[$rc>>2]|0; + $2240 = ($2239|0)!=(0); + if ($2240) { + break L1; } - $2239 = HEAP32[$pC>>2]|0; - $2240 = ((($2239)) + 56|0); - $2241 = HEAP32[$2240>>2]|0; - $2242 = HEAP32[$0>>2]|0; - $2243 = ((($2242)) + 72|0); - $2244 = HEAP32[$2243>>2]|0; - $2245 = ($2241|0)!=($2244|0); - $2246 = HEAP32[$pC>>2]|0; - do { - if ($2245) { - $2247 = ((($2246)) + 2|0); - $2248 = HEAP8[$2247>>0]|0; - $2249 = ($2248<<24>>24)!=(0); - $2250 = HEAP32[$pC>>2]|0; - do { - if ($2249) { - $2251 = HEAP8[$2250>>0]|0; - $2252 = $2251&255; - $2253 = ($2252|0)==(3); - if ($2253) { - $2254 = HEAP32[$pC>>2]|0; - $2255 = ((($2254)) + 16|0); - $2256 = HEAP32[$2255>>2]|0; - $2257 = HEAP32[$aMem>>2]|0; - $2258 = (($2257) + (($2256*40)|0)|0); - HEAP32[$pReg>>2] = $2258; - $2259 = HEAP32[$pReg>>2]|0; - $2260 = ((($2259)) + 12|0); - $2261 = HEAP32[$2260>>2]|0; - HEAP32[$avail>>2] = $2261; - $2262 = HEAP32[$pC>>2]|0; - $2263 = ((($2262)) + 64|0); - HEAP32[$2263>>2] = $2261; - $2264 = HEAP32[$pC>>2]|0; - $2265 = ((($2264)) + 60|0); - HEAP32[$2265>>2] = $2261; - $2266 = HEAP32[$pReg>>2]|0; - $2267 = ((($2266)) + 16|0); - $2268 = HEAP32[$2267>>2]|0; - $2269 = HEAP32[$pC>>2]|0; - $2270 = ((($2269)) + 72|0); - HEAP32[$2270>>2] = $2268; - break; - } else { - $2271 = HEAP32[$pDest>>2]|0; - _sqlite3VdbeMemSetNull($2271); - break L11; - } + $2241 = HEAP32[$pC>>2]|0; + $2242 = ((($2241)) + 56|0); + $2243 = HEAP32[$2242>>2]|0; + $2244 = HEAP32[$0>>2]|0; + $2245 = ((($2244)) + 72|0); + $2246 = HEAP32[$2245>>2]|0; + $2247 = ($2243|0)!=($2246|0); + $2248 = HEAP32[$pC>>2]|0; + if ($2247) { + $2249 = ((($2248)) + 2|0); + $2250 = HEAP8[$2249>>0]|0; + $2251 = ($2250<<24>>24)!=(0); + $2252 = HEAP32[$pC>>2]|0; + do { + if ($2251) { + $2253 = HEAP8[$2252>>0]|0; + $2254 = $2253&255; + $2255 = ($2254|0)==(3); + if ($2255) { + $2256 = HEAP32[$pC>>2]|0; + $2257 = ((($2256)) + 16|0); + $2258 = HEAP32[$2257>>2]|0; + $2259 = HEAP32[$aMem>>2]|0; + $2260 = (($2259) + (($2258*40)|0)|0); + HEAP32[$pReg>>2] = $2260; + $2261 = HEAP32[$pReg>>2]|0; + $2262 = ((($2261)) + 12|0); + $2263 = HEAP32[$2262>>2]|0; + HEAP32[$avail>>2] = $2263; + $2264 = HEAP32[$pC>>2]|0; + $2265 = ((($2264)) + 64|0); + HEAP32[$2265>>2] = $2263; + $2266 = HEAP32[$pC>>2]|0; + $2267 = ((($2266)) + 60|0); + HEAP32[$2267>>2] = $2263; + $2268 = HEAP32[$pReg>>2]|0; + $2269 = ((($2268)) + 16|0); + $2270 = HEAP32[$2269>>2]|0; + $2271 = HEAP32[$pC>>2]|0; + $2272 = ((($2271)) + 72|0); + HEAP32[$2272>>2] = $2270; + break; } else { - $2272 = ((($2250)) + 4|0); - $2273 = HEAP8[$2272>>0]|0; - $2274 = $2273&255; - $2275 = ($2274|0)==(0); - $2276 = HEAP32[$pCrsr>>2]|0; - if ($2275) { - (_sqlite3BtreeKeySize($2276,$payloadSize64)|0); - $2277 = HEAP32[$pCrsr>>2]|0; - $2278 = (_sqlite3BtreeKeyFetch($2277,$avail)|0); - $2279 = HEAP32[$pC>>2]|0; - $2280 = ((($2279)) + 72|0); - HEAP32[$2280>>2] = $2278; - $2281 = $payloadSize64; - $2282 = $2281; - $2283 = HEAP32[$2282>>2]|0; - $2284 = (($2281) + 4)|0; - $2285 = $2284; - $2286 = HEAP32[$2285>>2]|0; - $2287 = HEAP32[$pC>>2]|0; - $2288 = ((($2287)) + 60|0); - HEAP32[$2288>>2] = $2283; - } else { - $2289 = HEAP32[$pC>>2]|0; - $2290 = ((($2289)) + 60|0); - (_sqlite3BtreeDataSize($2276,$2290)|0); - $2291 = HEAP32[$pCrsr>>2]|0; - $2292 = (_sqlite3BtreeDataFetch($2291,$avail)|0); - $2293 = HEAP32[$pC>>2]|0; - $2294 = ((($2293)) + 72|0); - HEAP32[$2294>>2] = $2292; - } - $2295 = HEAP32[$pC>>2]|0; - $2296 = ((($2295)) + 60|0); - $2297 = HEAP32[$2296>>2]|0; - $2298 = HEAP32[$avail>>2]|0; - $2299 = ($2297>>>0)<=($2298>>>0); - $2300 = HEAP32[$pC>>2]|0; - $2301 = ((($2300)) + 60|0); - $2302 = HEAP32[$2301>>2]|0; - if ($2299) { - $2303 = HEAP32[$pC>>2]|0; - $2304 = ((($2303)) + 64|0); - HEAP32[$2304>>2] = $2302; - break; - } - $2305 = HEAP32[$db>>2]|0; - $2306 = ((($2305)) + 88|0); - $2307 = HEAP32[$2306>>2]|0; - $2308 = ($2302>>>0)>($2307>>>0); - if ($2308) { - label = 859; - break L8; - } - $2309 = HEAP32[$avail>>2]|0; - $2310 = HEAP32[$pC>>2]|0; - $2311 = ((($2310)) + 64|0); - HEAP32[$2311>>2] = $2309; + $2273 = HEAP32[$pDest>>2]|0; + _sqlite3VdbeMemSetNull($2273); + break L10; } - } while(0); - $2312 = HEAP32[$0>>2]|0; - $2313 = ((($2312)) + 72|0); - $2314 = HEAP32[$2313>>2]|0; - $2315 = HEAP32[$pC>>2]|0; - $2316 = ((($2315)) + 56|0); - HEAP32[$2316>>2] = $2314; - $2317 = HEAP32[$pC>>2]|0; - $2318 = ((($2317)) + 72|0); - $2319 = HEAP32[$2318>>2]|0; - $2320 = HEAP8[$2319>>0]|0; - $2321 = $2320&255; - $2322 = ($2321|0)<(128); - $2323 = HEAP32[$pC>>2]|0; - $2324 = ((($2323)) + 72|0); - $2325 = HEAP32[$2324>>2]|0; - if ($2322) { - $2326 = HEAP8[$2325>>0]|0; - $2327 = $2326&255; - HEAP32[$offset>>2] = $2327; - $2331 = 1; } else { - $2328 = (_sqlite3GetVarint32($2325,$offset)|0); - $2329 = $2328&255; - $2331 = $2329; - } - $2330 = $2331&255; - $2332 = $2330&255; - $2333 = HEAP32[$pC>>2]|0; - $2334 = ((($2333)) + 68|0); - HEAP32[$2334>>2] = $2332; - $2335 = HEAP32[$pC>>2]|0; - $2336 = ((($2335)) + 14|0); - HEAP16[$2336>>1] = 0; - $2337 = HEAP32[$offset>>2]|0; - $2338 = HEAP32[$aOffset>>2]|0; - HEAP32[$2338>>2] = $2337; - $2339 = HEAP32[$avail>>2]|0; - $2340 = HEAP32[$offset>>2]|0; - $2341 = ($2339>>>0)<($2340>>>0); - if ($2341) { - $2342 = HEAP32[$pC>>2]|0; - $2343 = ((($2342)) + 72|0); - HEAP32[$2343>>2] = 0; - $2344 = HEAP32[$pC>>2]|0; - $2345 = ((($2344)) + 64|0); - HEAP32[$2345>>2] = 0; - $2346 = HEAP32[$offset>>2]|0; - $2347 = ($2346>>>0)>(98307); - if (!($2347)) { - $2348 = HEAP32[$offset>>2]|0; - $2349 = HEAP32[$pC>>2]|0; - $2350 = ((($2349)) + 60|0); - $2351 = HEAP32[$2350>>2]|0; - $2352 = ($2348>>>0)>($2351>>>0); - if (!($2352)) { - label = 272; - break; - } + $2274 = ((($2252)) + 4|0); + $2275 = HEAP8[$2274>>0]|0; + $2276 = $2275&255; + $2277 = ($2276|0)==(0); + $2278 = HEAP32[$pCrsr>>2]|0; + if ($2277) { + (_sqlite3BtreeKeySize($2278,$payloadSize64)|0); + $2279 = HEAP32[$pCrsr>>2]|0; + $2280 = (_sqlite3BtreeKeyFetch($2279,$avail)|0); + $2281 = HEAP32[$pC>>2]|0; + $2282 = ((($2281)) + 72|0); + HEAP32[$2282>>2] = $2280; + $2283 = $payloadSize64; + $2284 = $2283; + $2285 = HEAP32[$2284>>2]|0; + $2286 = (($2283) + 4)|0; + $2287 = $2286; + $2288 = HEAP32[$2287>>2]|0; + $2289 = HEAP32[$pC>>2]|0; + $2290 = ((($2289)) + 60|0); + HEAP32[$2290>>2] = $2285; + } else { + $2291 = HEAP32[$pC>>2]|0; + $2292 = ((($2291)) + 60|0); + (_sqlite3BtreeDataSize($2278,$2292)|0); + $2293 = HEAP32[$pCrsr>>2]|0; + $2294 = (_sqlite3BtreeDataFetch($2293,$avail)|0); + $2295 = HEAP32[$pC>>2]|0; + $2296 = ((($2295)) + 72|0); + HEAP32[$2296>>2] = $2294; } - $2353 = (_sqlite3CorruptError(76686)|0); - HEAP32[$rc>>2] = $2353; - break L11; - } else { - label = 272; + $2297 = HEAP32[$pC>>2]|0; + $2298 = ((($2297)) + 60|0); + $2299 = HEAP32[$2298>>2]|0; + $2300 = HEAP32[$avail>>2]|0; + $2301 = ($2299>>>0)<=($2300>>>0); + $2302 = HEAP32[$pC>>2]|0; + $2303 = ((($2302)) + 60|0); + $2304 = HEAP32[$2303>>2]|0; + if ($2301) { + $2305 = HEAP32[$pC>>2]|0; + $2306 = ((($2305)) + 64|0); + HEAP32[$2306>>2] = $2304; + break; + } + $2307 = HEAP32[$db>>2]|0; + $2308 = ((($2307)) + 92|0); + $2309 = HEAP32[$2308>>2]|0; + $2310 = ($2304>>>0)>($2309>>>0); + if ($2310) { + label = 882; + break L8; + } + $2311 = HEAP32[$avail>>2]|0; + $2312 = HEAP32[$pC>>2]|0; + $2313 = ((($2312)) + 64|0); + HEAP32[$2313>>2] = $2311; } + } while(0); + $2314 = HEAP32[$0>>2]|0; + $2315 = ((($2314)) + 72|0); + $2316 = HEAP32[$2315>>2]|0; + $2317 = HEAP32[$pC>>2]|0; + $2318 = ((($2317)) + 56|0); + HEAP32[$2318>>2] = $2316; + $2319 = HEAP32[$pC>>2]|0; + $2320 = ((($2319)) + 72|0); + $2321 = HEAP32[$2320>>2]|0; + $2322 = HEAP8[$2321>>0]|0; + $2323 = $2322&255; + $2324 = ($2323|0)<(128); + $2325 = HEAP32[$pC>>2]|0; + $2326 = ((($2325)) + 72|0); + $2327 = HEAP32[$2326>>2]|0; + if ($2324) { + $2328 = HEAP8[$2327>>0]|0; + $2329 = $2328&255; + HEAP32[$offset>>2] = $2329; + $2333 = 1; } else { - $2354 = ((($2246)) + 14|0); - $2355 = HEAP16[$2354>>1]|0; - $2356 = $2355&65535; - $2357 = HEAP32[$p211>>2]|0; - $2358 = ($2356|0)<=($2357|0); - if ($2358) { - label = 272; + $2330 = (_sqlite3GetVarint32($2327,$offset)|0); + $2331 = $2330&255; + $2333 = $2331; + } + $2332 = $2333&255; + $2334 = $2332&255; + $2335 = HEAP32[$pC>>2]|0; + $2336 = ((($2335)) + 68|0); + HEAP32[$2336>>2] = $2334; + $2337 = HEAP32[$pC>>2]|0; + $2338 = ((($2337)) + 14|0); + HEAP16[$2338>>1] = 0; + $2339 = HEAP32[$offset>>2]|0; + $2340 = HEAP32[$aOffset>>2]|0; + HEAP32[$2340>>2] = $2339; + $2341 = HEAP32[$avail>>2]|0; + $2342 = HEAP32[$offset>>2]|0; + $2343 = ($2341>>>0)<($2342>>>0); + if ($2343) { + $2344 = HEAP32[$pC>>2]|0; + $2345 = ((($2344)) + 72|0); + HEAP32[$2345>>2] = 0; + $2346 = HEAP32[$pC>>2]|0; + $2347 = ((($2346)) + 64|0); + HEAP32[$2347>>2] = 0; + $2348 = HEAP32[$offset>>2]|0; + $2349 = ($2348>>>0)>(98307); + if ($2349) { + label = 268; + break L8; + } + $2350 = HEAP32[$offset>>2]|0; + $2351 = HEAP32[$pC>>2]|0; + $2352 = ((($2351)) + 60|0); + $2353 = HEAP32[$2352>>2]|0; + $2354 = ($2350>>>0)>($2353>>>0); + if ($2354) { + label = 268; + break L8; } else { - $2531 = HEAP32[$p211>>2]|0; - $2532 = HEAP32[$pC>>2]|0; - $2533 = ((($2532)) + 80|0); - $2534 = (($2533) + ($2531<<2)|0); - $2535 = HEAP32[$2534>>2]|0; - HEAP32[$t>>2] = $2535; + label = 270; } + } else { + label = 270; } - } while(0); - if ((label|0) == 272) { + } else { + $2356 = ((($2248)) + 14|0); + $2357 = HEAP16[$2356>>1]|0; + $2358 = $2357&65535; + $2359 = HEAP32[$p211>>2]|0; + $2360 = ($2358|0)<=($2359|0); + if ($2360) { + label = 270; + } else { + $2537 = HEAP32[$p211>>2]|0; + $2538 = HEAP32[$pC>>2]|0; + $2539 = ((($2538)) + 80|0); + $2540 = (($2539) + ($2537<<2)|0); + $2541 = HEAP32[$2540>>2]|0; + HEAP32[$t>>2] = $2541; + } + } + if ((label|0) == 270) { label = 0; - $2359 = HEAP32[$pC>>2]|0; - $2360 = ((($2359)) + 68|0); - $2361 = HEAP32[$2360>>2]|0; - $2362 = HEAP32[$aOffset>>2]|0; + $2361 = HEAP32[$pC>>2]|0; + $2362 = ((($2361)) + 68|0); $2363 = HEAP32[$2362>>2]|0; - $2364 = ($2361>>>0)<($2363>>>0); - do { - if ($2364) { - $2365 = HEAP32[$pC>>2]|0; - $2366 = ((($2365)) + 72|0); - $2367 = HEAP32[$2366>>2]|0; - $2368 = ($2367|0)==(0|0); - if ($2368) { - dest=$sMem; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $2369 = HEAP32[$pCrsr>>2]|0; - $2370 = HEAP32[$aOffset>>2]|0; - $2371 = HEAP32[$2370>>2]|0; - $2372 = HEAP32[$pC>>2]|0; - $2373 = ((($2372)) + 4|0); - $2374 = HEAP8[$2373>>0]|0; - $2375 = ($2374<<24>>24)!=(0); - $2376 = $2375 ^ 1; - $2377 = $2376&1; - $2378 = (_sqlite3VdbeMemFromBtree($2369,0,$2371,$2377,$sMem)|0); - HEAP32[$rc>>2] = $2378; - $2379 = HEAP32[$rc>>2]|0; - $2380 = ($2379|0)!=(0); - if ($2380) { - break L11; - } - $2381 = ((($sMem)) + 16|0); - $2382 = HEAP32[$2381>>2]|0; - HEAP32[$zData>>2] = $2382; + $2364 = HEAP32[$aOffset>>2]|0; + $2365 = HEAP32[$2364>>2]|0; + $2366 = ($2363>>>0)<($2365>>>0); + if ($2366) { + $2367 = HEAP32[$pC>>2]|0; + $2368 = ((($2367)) + 72|0); + $2369 = HEAP32[$2368>>2]|0; + $2370 = ($2369|0)==(0|0); + if ($2370) { + dest=$sMem; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $2371 = HEAP32[$pCrsr>>2]|0; + $2372 = HEAP32[$aOffset>>2]|0; + $2373 = HEAP32[$2372>>2]|0; + $2374 = HEAP32[$pC>>2]|0; + $2375 = ((($2374)) + 4|0); + $2376 = HEAP8[$2375>>0]|0; + $2377 = ($2376<<24>>24)!=(0); + $2378 = $2377 ^ 1; + $2379 = $2378&1; + $2380 = (_sqlite3VdbeMemFromBtree($2371,0,$2373,$2379,$sMem)|0); + HEAP32[$rc>>2] = $2380; + $2381 = HEAP32[$rc>>2]|0; + $2382 = ($2381|0)!=(0); + if ($2382) { + break L1; + } + $2383 = ((($sMem)) + 16|0); + $2384 = HEAP32[$2383>>2]|0; + HEAP32[$zData>>2] = $2384; + } else { + $2385 = HEAP32[$pC>>2]|0; + $2386 = ((($2385)) + 72|0); + $2387 = HEAP32[$2386>>2]|0; + HEAP32[$zData>>2] = $2387; + } + $2388 = HEAP32[$pC>>2]|0; + $2389 = ((($2388)) + 14|0); + $2390 = HEAP16[$2389>>1]|0; + $2391 = $2390&65535; + HEAP32[$i12>>2] = $2391; + $2392 = HEAP32[$i12>>2]|0; + $2393 = HEAP32[$aOffset>>2]|0; + $2394 = (($2393) + ($2392<<2)|0); + $2395 = HEAP32[$2394>>2]|0; + $2396 = $offset64; + $2397 = $2396; + HEAP32[$2397>>2] = $2395; + $2398 = (($2396) + 4)|0; + $2399 = $2398; + HEAP32[$2399>>2] = 0; + $2400 = HEAP32[$zData>>2]|0; + $2401 = HEAP32[$pC>>2]|0; + $2402 = ((($2401)) + 68|0); + $2403 = HEAP32[$2402>>2]|0; + $2404 = (($2400) + ($2403)|0); + HEAP32[$zHdr>>2] = $2404; + $2405 = HEAP32[$zData>>2]|0; + $2406 = HEAP32[$aOffset>>2]|0; + $2407 = HEAP32[$2406>>2]|0; + $2408 = (($2405) + ($2407)|0); + HEAP32[$zEndHdr>>2] = $2408; + while(1) { + $2409 = HEAP32[$zHdr>>2]|0; + $2410 = HEAP8[$2409>>0]|0; + $2411 = $2410&255; + HEAP32[$t>>2] = $2411; + $2412 = ($2411>>>0)<(128); + $2413 = HEAP32[$zHdr>>2]|0; + if ($2412) { + $2414 = ((($2413)) + 1|0); + HEAP32[$zHdr>>2] = $2414; + $2415 = HEAP32[$t>>2]|0; + $2416 = $2415&255; + $2417 = (_sqlite3VdbeOneByteSerialTypeLen($2416)|0); + $2418 = $2417&255; + $2419 = $offset64; + $2420 = $2419; + $2421 = HEAP32[$2420>>2]|0; + $2422 = (($2419) + 4)|0; + $2423 = $2422; + $2424 = HEAP32[$2423>>2]|0; + $2425 = (_i64Add(($2421|0),($2424|0),($2418|0),0)|0); + $2426 = tempRet0; + $2427 = $offset64; + $2428 = $2427; + HEAP32[$2428>>2] = $2425; + $2429 = (($2427) + 4)|0; + $2430 = $2429; + HEAP32[$2430>>2] = $2426; } else { - $2383 = HEAP32[$pC>>2]|0; - $2384 = ((($2383)) + 72|0); - $2385 = HEAP32[$2384>>2]|0; - HEAP32[$zData>>2] = $2385; + $2431 = (_sqlite3GetVarint32($2413,$t)|0); + $2432 = $2431&255; + $2433 = HEAP32[$zHdr>>2]|0; + $2434 = (($2433) + ($2432)|0); + HEAP32[$zHdr>>2] = $2434; + $2435 = HEAP32[$t>>2]|0; + $2436 = (_sqlite3VdbeSerialTypeLen($2435)|0); + $2437 = $offset64; + $2438 = $2437; + $2439 = HEAP32[$2438>>2]|0; + $2440 = (($2437) + 4)|0; + $2441 = $2440; + $2442 = HEAP32[$2441>>2]|0; + $2443 = (_i64Add(($2439|0),($2442|0),($2436|0),0)|0); + $2444 = tempRet0; + $2445 = $offset64; + $2446 = $2445; + HEAP32[$2446>>2] = $2443; + $2447 = (($2445) + 4)|0; + $2448 = $2447; + HEAP32[$2448>>2] = $2444; } - $2386 = HEAP32[$pC>>2]|0; - $2387 = ((($2386)) + 14|0); - $2388 = HEAP16[$2387>>1]|0; - $2389 = $2388&65535; - HEAP32[$i12>>2] = $2389; - $2390 = HEAP32[$i12>>2]|0; - $2391 = HEAP32[$aOffset>>2]|0; - $2392 = (($2391) + ($2390<<2)|0); - $2393 = HEAP32[$2392>>2]|0; - $2394 = $offset64; - $2395 = $2394; - HEAP32[$2395>>2] = $2393; - $2396 = (($2394) + 4)|0; - $2397 = $2396; - HEAP32[$2397>>2] = 0; - $2398 = HEAP32[$zData>>2]|0; - $2399 = HEAP32[$pC>>2]|0; - $2400 = ((($2399)) + 68|0); - $2401 = HEAP32[$2400>>2]|0; - $2402 = (($2398) + ($2401)|0); - HEAP32[$zHdr>>2] = $2402; - $2403 = HEAP32[$zData>>2]|0; - $2404 = HEAP32[$aOffset>>2]|0; - $2405 = HEAP32[$2404>>2]|0; - $2406 = (($2403) + ($2405)|0); - HEAP32[$zEndHdr>>2] = $2406; - while(1) { - $2407 = HEAP32[$zHdr>>2]|0; - $2408 = HEAP8[$2407>>0]|0; - $2409 = $2408&255; - HEAP32[$t>>2] = $2409; - $2410 = ($2409>>>0)<(128); - $2411 = HEAP32[$zHdr>>2]|0; - if ($2410) { - $2412 = ((($2411)) + 1|0); - HEAP32[$zHdr>>2] = $2412; - $2413 = HEAP32[$t>>2]|0; - $2414 = $2413&255; - $2415 = (_sqlite3VdbeOneByteSerialTypeLen($2414)|0); - $2416 = $2415&255; - $2417 = $offset64; - $2418 = $2417; - $2419 = HEAP32[$2418>>2]|0; - $2420 = (($2417) + 4)|0; - $2421 = $2420; - $2422 = HEAP32[$2421>>2]|0; - $2423 = (_i64Add(($2419|0),($2422|0),($2416|0),0)|0); - $2424 = tempRet0; - $2425 = $offset64; - $2426 = $2425; - HEAP32[$2426>>2] = $2423; - $2427 = (($2425) + 4)|0; - $2428 = $2427; - HEAP32[$2428>>2] = $2424; - } else { - $2429 = (_sqlite3GetVarint32($2411,$t)|0); - $2430 = $2429&255; - $2431 = HEAP32[$zHdr>>2]|0; - $2432 = (($2431) + ($2430)|0); - HEAP32[$zHdr>>2] = $2432; - $2433 = HEAP32[$t>>2]|0; - $2434 = (_sqlite3VdbeSerialTypeLen($2433)|0); - $2435 = $offset64; - $2436 = $2435; - $2437 = HEAP32[$2436>>2]|0; - $2438 = (($2435) + 4)|0; - $2439 = $2438; - $2440 = HEAP32[$2439>>2]|0; - $2441 = (_i64Add(($2437|0),($2440|0),($2434|0),0)|0); - $2442 = tempRet0; - $2443 = $offset64; - $2444 = $2443; - HEAP32[$2444>>2] = $2441; - $2445 = (($2443) + 4)|0; - $2446 = $2445; - HEAP32[$2446>>2] = $2442; - } - $2447 = HEAP32[$t>>2]|0; - $2448 = HEAP32[$i12>>2]|0; - $2449 = (($2448) + 1)|0; - HEAP32[$i12>>2] = $2449; - $2450 = HEAP32[$pC>>2]|0; - $2451 = ((($2450)) + 80|0); - $2452 = (($2451) + ($2448<<2)|0); - HEAP32[$2452>>2] = $2447; - $2453 = $offset64; - $2454 = $2453; - $2455 = HEAP32[$2454>>2]|0; - $2456 = (($2453) + 4)|0; - $2457 = $2456; - $2458 = HEAP32[$2457>>2]|0; - $2459 = HEAP32[$i12>>2]|0; - $2460 = HEAP32[$aOffset>>2]|0; - $2461 = (($2460) + ($2459<<2)|0); - HEAP32[$2461>>2] = $2455; - $2462 = HEAP32[$i12>>2]|0; - $2463 = HEAP32[$p211>>2]|0; - $2464 = ($2462|0)<=($2463|0); - if (!($2464)) { - break; - } - $2465 = HEAP32[$zHdr>>2]|0; - $2466 = HEAP32[$zEndHdr>>2]|0; - $2467 = ($2465>>>0)<($2466>>>0); - if (!($2467)) { - break; - } + $2449 = HEAP32[$t>>2]|0; + $2450 = HEAP32[$i12>>2]|0; + $2451 = (($2450) + 1)|0; + HEAP32[$i12>>2] = $2451; + $2452 = HEAP32[$pC>>2]|0; + $2453 = ((($2452)) + 80|0); + $2454 = (($2453) + ($2450<<2)|0); + HEAP32[$2454>>2] = $2449; + $2455 = $offset64; + $2456 = $2455; + $2457 = HEAP32[$2456>>2]|0; + $2458 = (($2455) + 4)|0; + $2459 = $2458; + $2460 = HEAP32[$2459>>2]|0; + $2461 = HEAP32[$i12>>2]|0; + $2462 = HEAP32[$aOffset>>2]|0; + $2463 = (($2462) + ($2461<<2)|0); + HEAP32[$2463>>2] = $2457; + $2464 = HEAP32[$i12>>2]|0; + $2465 = HEAP32[$p211>>2]|0; + $2466 = ($2464|0)<=($2465|0); + if (!($2466)) { + break; } - $2468 = HEAP32[$i12>>2]|0; - $2469 = $2468&65535; - $2470 = HEAP32[$pC>>2]|0; - $2471 = ((($2470)) + 14|0); - HEAP16[$2471>>1] = $2469; - $2472 = HEAP32[$zHdr>>2]|0; - $2473 = HEAP32[$zData>>2]|0; - $2474 = $2472; - $2475 = $2473; - $2476 = (($2474) - ($2475))|0; - $2477 = HEAP32[$pC>>2]|0; - $2478 = ((($2477)) + 68|0); - HEAP32[$2478>>2] = $2476; - $2479 = HEAP32[$pC>>2]|0; - $2480 = ((($2479)) + 72|0); - $2481 = HEAP32[$2480>>2]|0; - $2482 = ($2481|0)==(0|0); - if ($2482) { - _sqlite3VdbeMemRelease($sMem); + $2467 = HEAP32[$zHdr>>2]|0; + $2468 = HEAP32[$zEndHdr>>2]|0; + $2469 = ($2467>>>0)<($2468>>>0); + if (!($2469)) { + break; } - $2483 = HEAP32[$zHdr>>2]|0; - $2484 = HEAP32[$zEndHdr>>2]|0; - $2485 = ($2483>>>0)>=($2484>>>0); - if ($2485) { - $2486 = HEAP32[$zHdr>>2]|0; - $2487 = HEAP32[$zEndHdr>>2]|0; - $2488 = ($2486>>>0)>($2487>>>0); - if (!($2488)) { - $2489 = $offset64; - $2490 = $2489; - $2491 = HEAP32[$2490>>2]|0; - $2492 = (($2489) + 4)|0; - $2493 = $2492; - $2494 = HEAP32[$2493>>2]|0; - $2495 = HEAP32[$pC>>2]|0; - $2496 = ((($2495)) + 60|0); - $2497 = HEAP32[$2496>>2]|0; - $2498 = ($2491|0)!=($2497|0); - $2499 = ($2494|0)!=(0); - $2500 = $2498 | $2499; - if (!($2500)) { - label = 288; - } - } - } else { - label = 288; + } + $2470 = HEAP32[$i12>>2]|0; + $2471 = $2470&65535; + $2472 = HEAP32[$pC>>2]|0; + $2473 = ((($2472)) + 14|0); + HEAP16[$2473>>1] = $2471; + $2474 = HEAP32[$zHdr>>2]|0; + $2475 = HEAP32[$zData>>2]|0; + $2476 = $2474; + $2477 = $2475; + $2478 = (($2476) - ($2477))|0; + $2479 = HEAP32[$pC>>2]|0; + $2480 = ((($2479)) + 68|0); + HEAP32[$2480>>2] = $2478; + $2481 = HEAP32[$zHdr>>2]|0; + $2482 = HEAP32[$zEndHdr>>2]|0; + $2483 = ($2481>>>0)>=($2482>>>0); + if ($2483) { + $2484 = HEAP32[$zHdr>>2]|0; + $2485 = HEAP32[$zEndHdr>>2]|0; + $2486 = ($2484>>>0)>($2485>>>0); + if ($2486) { + label = 285; + break L8; } - if ((label|0) == 288) { - label = 0; - $2501 = $offset64; - $2502 = $2501; - $2503 = HEAP32[$2502>>2]|0; - $2504 = (($2501) + 4)|0; - $2505 = $2504; - $2506 = HEAP32[$2505>>2]|0; - $2507 = HEAP32[$pC>>2]|0; - $2508 = ((($2507)) + 60|0); - $2509 = HEAP32[$2508>>2]|0; - $2510 = ($2506>>>0)>(0); - $2511 = ($2503>>>0)>($2509>>>0); - $2512 = ($2506|0)==(0); - $2513 = $2512 & $2511; - $2514 = $2510 | $2513; - if (!($2514)) { - break; - } + $2487 = $offset64; + $2488 = $2487; + $2489 = HEAP32[$2488>>2]|0; + $2490 = (($2487) + 4)|0; + $2491 = $2490; + $2492 = HEAP32[$2491>>2]|0; + $2493 = HEAP32[$pC>>2]|0; + $2494 = ((($2493)) + 60|0); + $2495 = HEAP32[$2494>>2]|0; + $2496 = ($2489|0)!=($2495|0); + $2497 = ($2492|0)!=(0); + $2498 = $2496 | $2497; + if ($2498) { + label = 285; + break L8; } - $2515 = (_sqlite3CorruptError(76747)|0); - HEAP32[$rc>>2] = $2515; - break L11; - } else { - HEAP32[$t>>2] = 0; } - } while(0); - $2516 = HEAP32[$pC>>2]|0; - $2517 = ((($2516)) + 14|0); - $2518 = HEAP16[$2517>>1]|0; - $2519 = $2518&65535; - $2520 = HEAP32[$p211>>2]|0; - $2521 = ($2519|0)<=($2520|0); - if ($2521) { - $2522 = HEAP32[$pOp>>2]|0; - $2523 = ((($2522)) + 1|0); - $2524 = HEAP8[$2523>>0]|0; - $2525 = $2524 << 24 >> 24; - $2526 = ($2525|0)==(-8); - $2527 = HEAP32[$pDest>>2]|0; - if ($2526) { - $2528 = HEAP32[$pOp>>2]|0; - $2529 = ((($2528)) + 16|0); - $2530 = HEAP32[$2529>>2]|0; - _sqlite3VdbeMemShallowCopy($2527,$2530,2048); - break L11; + $2499 = $offset64; + $2500 = $2499; + $2501 = HEAP32[$2500>>2]|0; + $2502 = (($2499) + 4)|0; + $2503 = $2502; + $2504 = HEAP32[$2503>>2]|0; + $2505 = HEAP32[$pC>>2]|0; + $2506 = ((($2505)) + 60|0); + $2507 = HEAP32[$2506>>2]|0; + $2508 = ($2504>>>0)>(0); + $2509 = ($2501>>>0)>($2507>>>0); + $2510 = ($2504|0)==(0); + $2511 = $2510 & $2509; + $2512 = $2508 | $2511; + if ($2512) { + label = 285; + break L8; + } + $2518 = HEAP32[$pC>>2]|0; + $2519 = ((($2518)) + 72|0); + $2520 = HEAP32[$2519>>2]|0; + $2521 = ($2520|0)==(0|0); + if ($2521) { + _sqlite3VdbeMemRelease($sMem); + } + } else { + HEAP32[$t>>2] = 0; + } + $2522 = HEAP32[$pC>>2]|0; + $2523 = ((($2522)) + 14|0); + $2524 = HEAP16[$2523>>1]|0; + $2525 = $2524&65535; + $2526 = HEAP32[$p211>>2]|0; + $2527 = ($2525|0)<=($2526|0); + if ($2527) { + $2528 = HEAP32[$pOp>>2]|0; + $2529 = ((($2528)) + 1|0); + $2530 = HEAP8[$2529>>0]|0; + $2531 = $2530 << 24 >> 24; + $2532 = ($2531|0)==(-8); + $2533 = HEAP32[$pDest>>2]|0; + if ($2532) { + $2534 = HEAP32[$pOp>>2]|0; + $2535 = ((($2534)) + 16|0); + $2536 = HEAP32[$2535>>2]|0; + _sqlite3VdbeMemShallowCopy($2533,$2536,2048); + break L10; } else { - _sqlite3VdbeMemSetNull($2527); - break L11; + _sqlite3VdbeMemSetNull($2533); + break L10; } } } - $2536 = HEAP32[$pDest>>2]|0; - $2537 = ((($2536)) + 8|0); - $2538 = HEAP16[$2537>>1]|0; - $2539 = $2538&65535; - $2540 = $2539 & 9312; - $2541 = ($2540|0)!=(0); - if ($2541) { - $2542 = HEAP32[$pDest>>2]|0; - _sqlite3VdbeMemSetNull($2542); + $2542 = HEAP32[$pDest>>2]|0; + $2543 = ((($2542)) + 8|0); + $2544 = HEAP16[$2543>>1]|0; + $2545 = $2544&65535; + $2546 = $2545 & 9312; + $2547 = ($2546|0)!=(0); + if ($2547) { + $2548 = HEAP32[$pDest>>2]|0; + _sqlite3VdbeMemSetNull($2548); } - $2543 = HEAP8[$encoding>>0]|0; - $2544 = HEAP32[$pDest>>2]|0; - $2545 = ((($2544)) + 10|0); - HEAP8[$2545>>0] = $2543; - $2546 = HEAP32[$pC>>2]|0; - $2547 = ((($2546)) + 64|0); - $2548 = HEAP32[$2547>>2]|0; - $2549 = HEAP32[$p211>>2]|0; - $2550 = (($2549) + 1)|0; - $2551 = HEAP32[$aOffset>>2]|0; - $2552 = (($2551) + ($2550<<2)|0); - $2553 = HEAP32[$2552>>2]|0; - $2554 = ($2548>>>0)>=($2553>>>0); - if ($2554) { - $2555 = HEAP32[$pC>>2]|0; - $2556 = ((($2555)) + 72|0); - $2557 = HEAP32[$2556>>2]|0; - $2558 = HEAP32[$p211>>2]|0; - $2559 = HEAP32[$aOffset>>2]|0; - $2560 = (($2559) + ($2558<<2)|0); - $2561 = HEAP32[$2560>>2]|0; - $2562 = (($2557) + ($2561)|0); - HEAP32[$zData>>2] = $2562; - $2563 = HEAP32[$t>>2]|0; - $2564 = ($2563>>>0)<(12); - if ($2564) { - $2565 = HEAP32[$zData>>2]|0; - $2566 = HEAP32[$t>>2]|0; - $2567 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2565,$2566,$2567)|0); - break L11; + $2549 = HEAP8[$encoding>>0]|0; + $2550 = HEAP32[$pDest>>2]|0; + $2551 = ((($2550)) + 10|0); + HEAP8[$2551>>0] = $2549; + $2552 = HEAP32[$pC>>2]|0; + $2553 = ((($2552)) + 64|0); + $2554 = HEAP32[$2553>>2]|0; + $2555 = HEAP32[$p211>>2]|0; + $2556 = (($2555) + 1)|0; + $2557 = HEAP32[$aOffset>>2]|0; + $2558 = (($2557) + ($2556<<2)|0); + $2559 = HEAP32[$2558>>2]|0; + $2560 = ($2554>>>0)>=($2559>>>0); + if ($2560) { + $2561 = HEAP32[$pC>>2]|0; + $2562 = ((($2561)) + 72|0); + $2563 = HEAP32[$2562>>2]|0; + $2564 = HEAP32[$p211>>2]|0; + $2565 = HEAP32[$aOffset>>2]|0; + $2566 = (($2565) + ($2564<<2)|0); + $2567 = HEAP32[$2566>>2]|0; + $2568 = (($2563) + ($2567)|0); + HEAP32[$zData>>2] = $2568; + $2569 = HEAP32[$t>>2]|0; + $2570 = ($2569>>>0)<(12); + if ($2570) { + $2571 = HEAP32[$zData>>2]|0; + $2572 = HEAP32[$t>>2]|0; + $2573 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet($2571,$2572,$2573)|0); + break L10; } - $2568 = HEAP32[$t>>2]|0; - $2569 = (($2568) - 12)|0; - $2570 = (($2569>>>0) / 2)&-1; - HEAP32[$len>>2] = $2570; - $2571 = HEAP32[$pDest>>2]|0; - $2572 = ((($2571)) + 12|0); - HEAP32[$2572>>2] = $2570; - $2573 = HEAP32[$pDest>>2]|0; - $2574 = ((($2573)) + 24|0); - $2575 = HEAP32[$2574>>2]|0; - $2576 = HEAP32[$len>>2]|0; - $2577 = (($2576) + 2)|0; - $2578 = ($2575|0)<($2577|0); + $2574 = HEAP32[$t>>2]|0; + $2575 = (($2574) - 12)|0; + $2576 = (($2575>>>0) / 2)&-1; + HEAP32[$len>>2] = $2576; + $2577 = HEAP32[$pDest>>2]|0; + $2578 = ((($2577)) + 12|0); + HEAP32[$2578>>2] = $2576; $2579 = HEAP32[$pDest>>2]|0; - if ($2578) { - $2580 = ((($2579)) + 8|0); - HEAP16[$2580>>1] = 1; - $2581 = HEAP32[$pDest>>2]|0; - $2582 = HEAP32[$len>>2]|0; - $2583 = (($2582) + 2)|0; - $2584 = (_sqlite3VdbeMemGrow($2581,$2583,0)|0); - $2585 = ($2584|0)!=(0); - if ($2585) { - label = 860; + $2580 = ((($2579)) + 24|0); + $2581 = HEAP32[$2580>>2]|0; + $2582 = HEAP32[$len>>2]|0; + $2583 = (($2582) + 2)|0; + $2584 = ($2581|0)<($2583|0); + $2585 = HEAP32[$pDest>>2]|0; + if ($2584) { + $2586 = ((($2585)) + 8|0); + HEAP16[$2586>>1] = 1; + $2587 = HEAP32[$pDest>>2]|0; + $2588 = HEAP32[$len>>2]|0; + $2589 = (($2588) + 2)|0; + $2590 = (_sqlite3VdbeMemGrow($2587,$2589,0)|0); + $2591 = ($2590|0)!=(0); + if ($2591) { + label = 883; break L1; } } else { - $2586 = ((($2579)) + 20|0); - $2587 = HEAP32[$2586>>2]|0; - $2588 = HEAP32[$pDest>>2]|0; - $2589 = ((($2588)) + 16|0); - HEAP32[$2589>>2] = $2587; + $2592 = ((($2585)) + 20|0); + $2593 = HEAP32[$2592>>2]|0; + $2594 = HEAP32[$pDest>>2]|0; + $2595 = ((($2594)) + 16|0); + HEAP32[$2595>>2] = $2593; } - $2590 = HEAP32[$pDest>>2]|0; - $2591 = ((($2590)) + 16|0); - $2592 = HEAP32[$2591>>2]|0; - $2593 = HEAP32[$zData>>2]|0; - $2594 = HEAP32[$len>>2]|0; - _memcpy(($2592|0),($2593|0),($2594|0))|0; - $2595 = HEAP32[$len>>2]|0; $2596 = HEAP32[$pDest>>2]|0; $2597 = ((($2596)) + 16|0); $2598 = HEAP32[$2597>>2]|0; - $2599 = (($2598) + ($2595)|0); - HEAP8[$2599>>0] = 0; + $2599 = HEAP32[$zData>>2]|0; $2600 = HEAP32[$len>>2]|0; - $2601 = (($2600) + 1)|0; + _memcpy(($2598|0),($2599|0),($2600|0))|0; + $2601 = HEAP32[$len>>2]|0; $2602 = HEAP32[$pDest>>2]|0; $2603 = ((($2602)) + 16|0); $2604 = HEAP32[$2603>>2]|0; $2605 = (($2604) + ($2601)|0); HEAP8[$2605>>0] = 0; - $2606 = HEAP32[$t>>2]|0; - $2607 = $2606 & 1; - $2608 = (17282 + ($2607<<1)|0); - $2609 = HEAP16[$2608>>1]|0; - $2610 = HEAP32[$pDest>>2]|0; - $2611 = ((($2610)) + 8|0); - HEAP16[$2611>>1] = $2609; - break L11; + $2606 = HEAP32[$len>>2]|0; + $2607 = (($2606) + 1)|0; + $2608 = HEAP32[$pDest>>2]|0; + $2609 = ((($2608)) + 16|0); + $2610 = HEAP32[$2609>>2]|0; + $2611 = (($2610) + ($2607)|0); + HEAP8[$2611>>0] = 0; + $2612 = HEAP32[$t>>2]|0; + $2613 = $2612 & 1; + $2614 = (17026 + ($2613<<1)|0); + $2615 = HEAP16[$2614>>1]|0; + $2616 = HEAP32[$pDest>>2]|0; + $2617 = ((($2616)) + 8|0); + HEAP16[$2617>>1] = $2615; + break L10; } - $2612 = HEAP32[$pOp>>2]|0; - $2613 = ((($2612)) + 3|0); - $2614 = HEAP8[$2613>>0]|0; - $2615 = $2614&255; - $2616 = $2615 & 192; - $2617 = ($2616|0)!=(0); + $2618 = HEAP32[$pOp>>2]|0; + $2619 = ((($2618)) + 3|0); + $2620 = HEAP8[$2619>>0]|0; + $2621 = $2620&255; + $2622 = $2621 & 192; + $2623 = ($2622|0)!=(0); do { - if ($2617) { - $2618 = HEAP32[$t>>2]|0; - $2619 = ($2618>>>0)>=(12); - if ($2619) { - $2620 = HEAP32[$t>>2]|0; - $2621 = $2620 & 1; - $2622 = ($2621|0)==(0); - if ($2622) { + if ($2623) { + $2624 = HEAP32[$t>>2]|0; + $2625 = ($2624>>>0)>=(12); + if ($2625) { + $2626 = HEAP32[$t>>2]|0; + $2627 = $2626 & 1; + $2628 = ($2627|0)==(0); + if ($2628) { break; } } - $2623 = HEAP32[$pOp>>2]|0; - $2624 = ((($2623)) + 3|0); - $2625 = HEAP8[$2624>>0]|0; - $2626 = $2625&255; - $2627 = $2626 & 128; - $2628 = ($2627|0)!=(0); - if (!($2628)) { + $2629 = HEAP32[$pOp>>2]|0; + $2630 = ((($2629)) + 3|0); + $2631 = HEAP8[$2630>>0]|0; + $2632 = $2631&255; + $2633 = $2632 & 128; + $2634 = ($2633|0)!=(0); + if (!($2634)) { label = 309; } } else { @@ -213149,6168 +214450,6229 @@ function _sqlite3VdbeExec($p) { } while(0); if ((label|0) == 309) { label = 0; - $2629 = HEAP32[$t>>2]|0; - $2630 = (_sqlite3VdbeSerialTypeLen($2629)|0); - HEAP32[$len>>2] = $2630; - $2631 = ($2630|0)==(0); - if (!($2631)) { - $2634 = HEAP32[$pCrsr>>2]|0; - $2635 = HEAP32[$p211>>2]|0; - $2636 = HEAP32[$aOffset>>2]|0; - $2637 = (($2636) + ($2635<<2)|0); - $2638 = HEAP32[$2637>>2]|0; - $2639 = HEAP32[$len>>2]|0; - $2640 = HEAP32[$pC>>2]|0; - $2641 = ((($2640)) + 4|0); - $2642 = HEAP8[$2641>>0]|0; - $2643 = ($2642<<24>>24)!=(0); - $2644 = $2643 ^ 1; - $2645 = $2644&1; - $2646 = HEAP32[$pDest>>2]|0; - $2647 = (_sqlite3VdbeMemFromBtree($2634,$2638,$2639,$2645,$2646)|0); - HEAP32[$rc>>2] = $2647; - $2648 = HEAP32[$rc>>2]|0; - $2649 = ($2648|0)==(0); - if (!($2649)) { - break L11; + $2635 = HEAP32[$t>>2]|0; + $2636 = (_sqlite3VdbeSerialTypeLen($2635)|0); + HEAP32[$len>>2] = $2636; + $2637 = ($2636|0)==(0); + if (!($2637)) { + $2640 = HEAP32[$pCrsr>>2]|0; + $2641 = HEAP32[$p211>>2]|0; + $2642 = HEAP32[$aOffset>>2]|0; + $2643 = (($2642) + ($2641<<2)|0); + $2644 = HEAP32[$2643>>2]|0; + $2645 = HEAP32[$len>>2]|0; + $2646 = HEAP32[$pC>>2]|0; + $2647 = ((($2646)) + 4|0); + $2648 = HEAP8[$2647>>0]|0; + $2649 = ($2648<<24>>24)!=(0); + $2650 = $2649 ^ 1; + $2651 = $2650&1; + $2652 = HEAP32[$pDest>>2]|0; + $2653 = (_sqlite3VdbeMemFromBtree($2640,$2644,$2645,$2651,$2652)|0); + HEAP32[$rc>>2] = $2653; + $2654 = HEAP32[$rc>>2]|0; + $2655 = ($2654|0)!=(0); + if ($2655) { + break L1; } - $2650 = HEAP32[$pDest>>2]|0; - $2651 = ((($2650)) + 16|0); - $2652 = HEAP32[$2651>>2]|0; - $2653 = HEAP32[$t>>2]|0; - $2654 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet($2652,$2653,$2654)|0); - $2655 = HEAP32[$pDest>>2]|0; - $2656 = ((($2655)) + 8|0); - $2657 = HEAP16[$2656>>1]|0; - $2658 = $2657&65535; - $2659 = $2658 & -4097; - $2660 = $2659&65535; - HEAP16[$2656>>1] = $2660; - break L11; + $2656 = HEAP32[$pDest>>2]|0; + $2657 = ((($2656)) + 16|0); + $2658 = HEAP32[$2657>>2]|0; + $2659 = HEAP32[$t>>2]|0; + $2660 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet($2658,$2659,$2660)|0); + $2661 = HEAP32[$pDest>>2]|0; + $2662 = ((($2661)) + 8|0); + $2663 = HEAP16[$2662>>1]|0; + $2664 = $2663&65535; + $2665 = $2664 & -4097; + $2666 = $2665&65535; + HEAP16[$2662>>1] = $2666; + break L10; } } - $2632 = HEAP32[$t>>2]|0; - $2633 = HEAP32[$pDest>>2]|0; - (_sqlite3VdbeSerialGet(40734,$2632,$2633)|0); + $2638 = HEAP32[$t>>2]|0; + $2639 = HEAP32[$pDest>>2]|0; + (_sqlite3VdbeSerialGet(40385,$2638,$2639)|0); break; } case 48: { - $2661 = HEAP32[$pOp>>2]|0; - $2662 = ((($2661)) + 16|0); - $2663 = HEAP32[$2662>>2]|0; - HEAP32[$zAffinity>>2] = $2663; - $2664 = HEAP32[$pOp>>2]|0; - $2665 = ((($2664)) + 4|0); - $2666 = HEAP32[$2665>>2]|0; - $2667 = HEAP32[$aMem>>2]|0; - $2668 = (($2667) + (($2666*40)|0)|0); - HEAP32[$pIn1>>2] = $2668; + $2667 = HEAP32[$pOp>>2]|0; + $2668 = ((($2667)) + 16|0); + $2669 = HEAP32[$2668>>2]|0; + HEAP32[$zAffinity>>2] = $2669; + $2670 = HEAP32[$pOp>>2]|0; + $2671 = ((($2670)) + 4|0); + $2672 = HEAP32[$2671>>2]|0; + $2673 = HEAP32[$aMem>>2]|0; + $2674 = (($2673) + (($2672*40)|0)|0); + HEAP32[$pIn1>>2] = $2674; while(1) { - $2669 = HEAP32[$zAffinity>>2]|0; - $2670 = ((($2669)) + 1|0); - HEAP32[$zAffinity>>2] = $2670; - $2671 = HEAP8[$2669>>0]|0; - HEAP8[$cAff>>0] = $2671; - $2672 = $2671 << 24 >> 24; - $2673 = ($2672|0)!=(0); - if (!($2673)) { - break L11; + $2675 = HEAP32[$zAffinity>>2]|0; + $2676 = ((($2675)) + 1|0); + HEAP32[$zAffinity>>2] = $2676; + $2677 = HEAP8[$2675>>0]|0; + HEAP8[$cAff>>0] = $2677; + $2678 = $2677 << 24 >> 24; + $2679 = ($2678|0)!=(0); + if (!($2679)) { + break L10; } - $2674 = HEAP32[$pIn1>>2]|0; - $2675 = HEAP8[$cAff>>0]|0; - $2676 = HEAP8[$encoding>>0]|0; - _applyAffinity($2674,$2675,$2676); - $2677 = HEAP32[$pIn1>>2]|0; - $2678 = ((($2677)) + 40|0); - HEAP32[$pIn1>>2] = $2678; + $2680 = HEAP32[$pIn1>>2]|0; + $2681 = HEAP8[$cAff>>0]|0; + $2682 = HEAP8[$encoding>>0]|0; + _applyAffinity($2680,$2681,$2682); + $2683 = HEAP32[$pIn1>>2]|0; + $2684 = ((($2683)) + 40|0); + HEAP32[$pIn1>>2] = $2684; } break; } case 49: { - $2679 = $nData; - $2680 = $2679; - HEAP32[$2680>>2] = 0; - $2681 = (($2679) + 4)|0; - $2682 = $2681; - HEAP32[$2682>>2] = 0; - HEAP32[$nHdr>>2] = 0; - $2683 = $nZero; - $2684 = $2683; - HEAP32[$2684>>2] = 0; - $2685 = (($2683) + 4)|0; + $2685 = $nData; $2686 = $2685; HEAP32[$2686>>2] = 0; - $2687 = HEAP32[$pOp>>2]|0; - $2688 = ((($2687)) + 4|0); - $2689 = HEAP32[$2688>>2]|0; - HEAP32[$nField>>2] = $2689; - $2690 = HEAP32[$pOp>>2]|0; - $2691 = ((($2690)) + 16|0); - $2692 = HEAP32[$2691>>2]|0; - HEAP32[$zAffinity14>>2] = $2692; - $2693 = HEAP32[$nField>>2]|0; - $2694 = HEAP32[$aMem>>2]|0; - $2695 = (($2694) + (($2693*40)|0)|0); - HEAP32[$pData0>>2] = $2695; + $2687 = (($2685) + 4)|0; + $2688 = $2687; + HEAP32[$2688>>2] = 0; + HEAP32[$nHdr>>2] = 0; + $2689 = $nZero; + $2690 = $2689; + HEAP32[$2690>>2] = 0; + $2691 = (($2689) + 4)|0; + $2692 = $2691; + HEAP32[$2692>>2] = 0; + $2693 = HEAP32[$pOp>>2]|0; + $2694 = ((($2693)) + 4|0); + $2695 = HEAP32[$2694>>2]|0; + HEAP32[$nField>>2] = $2695; $2696 = HEAP32[$pOp>>2]|0; - $2697 = ((($2696)) + 8|0); + $2697 = ((($2696)) + 16|0); $2698 = HEAP32[$2697>>2]|0; - HEAP32[$nField>>2] = $2698; + HEAP32[$zAffinity14>>2] = $2698; $2699 = HEAP32[$nField>>2]|0; - $2700 = (($2699) - 1)|0; - $2701 = HEAP32[$pData0>>2]|0; - $2702 = (($2701) + (($2700*40)|0)|0); - HEAP32[$pLast>>2] = $2702; - $2703 = HEAP32[$0>>2]|0; - $2704 = ((($2703)) + 87|0); - $2705 = HEAP8[$2704>>0]|0; - $2706 = $2705&255; - HEAP32[$file_format>>2] = $2706; - $2707 = HEAP32[$pOp>>2]|0; - $2708 = ((($2707)) + 12|0); - $2709 = HEAP32[$2708>>2]|0; - $2710 = HEAP32[$aMem>>2]|0; - $2711 = (($2710) + (($2709*40)|0)|0); - HEAP32[$pOut>>2] = $2711; - $2712 = HEAP32[$zAffinity14>>2]|0; - $2713 = ($2712|0)!=(0|0); - if ($2713) { - $2714 = HEAP32[$pData0>>2]|0; - HEAP32[$pRec>>2] = $2714; + $2700 = HEAP32[$aMem>>2]|0; + $2701 = (($2700) + (($2699*40)|0)|0); + HEAP32[$pData0>>2] = $2701; + $2702 = HEAP32[$pOp>>2]|0; + $2703 = ((($2702)) + 8|0); + $2704 = HEAP32[$2703>>2]|0; + HEAP32[$nField>>2] = $2704; + $2705 = HEAP32[$nField>>2]|0; + $2706 = (($2705) - 1)|0; + $2707 = HEAP32[$pData0>>2]|0; + $2708 = (($2707) + (($2706*40)|0)|0); + HEAP32[$pLast>>2] = $2708; + $2709 = HEAP32[$0>>2]|0; + $2710 = ((($2709)) + 88|0); + $2711 = HEAP8[$2710>>0]|0; + $2712 = $2711&255; + HEAP32[$file_format>>2] = $2712; + $2713 = HEAP32[$pOp>>2]|0; + $2714 = ((($2713)) + 12|0); + $2715 = HEAP32[$2714>>2]|0; + $2716 = HEAP32[$aMem>>2]|0; + $2717 = (($2716) + (($2715*40)|0)|0); + HEAP32[$pOut>>2] = $2717; + $2718 = HEAP32[$zAffinity14>>2]|0; + $2719 = ($2718|0)!=(0|0); + if ($2719) { + $2720 = HEAP32[$pData0>>2]|0; + HEAP32[$pRec>>2] = $2720; while(1) { - $2715 = HEAP32[$pRec>>2]|0; - $2716 = ((($2715)) + 40|0); - HEAP32[$pRec>>2] = $2716; - $2717 = HEAP32[$zAffinity14>>2]|0; - $2718 = ((($2717)) + 1|0); - HEAP32[$zAffinity14>>2] = $2718; - $2719 = HEAP8[$2717>>0]|0; - $2720 = HEAP8[$encoding>>0]|0; - _applyAffinity($2715,$2719,$2720); - $2721 = HEAP32[$zAffinity14>>2]|0; - $2722 = HEAP8[$2721>>0]|0; - $2723 = ($2722<<24>>24)!=(0); - if (!($2723)) { + $2721 = HEAP32[$pRec>>2]|0; + $2722 = ((($2721)) + 40|0); + HEAP32[$pRec>>2] = $2722; + $2723 = HEAP32[$zAffinity14>>2]|0; + $2724 = ((($2723)) + 1|0); + HEAP32[$zAffinity14>>2] = $2724; + $2725 = HEAP8[$2723>>0]|0; + $2726 = HEAP8[$encoding>>0]|0; + _applyAffinity($2721,$2725,$2726); + $2727 = HEAP32[$zAffinity14>>2]|0; + $2728 = HEAP8[$2727>>0]|0; + $2729 = ($2728<<24>>24)!=(0); + if (!($2729)) { break; } } } - $2724 = HEAP32[$pLast>>2]|0; - HEAP32[$pRec>>2] = $2724; + $2730 = HEAP32[$pLast>>2]|0; + HEAP32[$pRec>>2] = $2730; while(1) { - $2725 = HEAP32[$pRec>>2]|0; - $2726 = HEAP32[$file_format>>2]|0; - $2727 = (_sqlite3VdbeSerialType($2725,$2726,$len16)|0); - HEAP32[$serial_type>>2] = $2727; - $2728 = HEAP32[$pRec>>2]|0; - $2729 = ((($2728)) + 28|0); - HEAP32[$2729>>2] = $2727; - $2730 = HEAP32[$pRec>>2]|0; - $2731 = ((($2730)) + 8|0); - $2732 = HEAP16[$2731>>1]|0; - $2733 = $2732&65535; - $2734 = $2733 & 16384; - $2735 = ($2734|0)!=(0); + $2731 = HEAP32[$pRec>>2]|0; + $2732 = HEAP32[$file_format>>2]|0; + $2733 = (_sqlite3VdbeSerialType($2731,$2732,$len16)|0); + HEAP32[$serial_type>>2] = $2733; + $2734 = HEAP32[$pRec>>2]|0; + $2735 = ((($2734)) + 28|0); + HEAP32[$2735>>2] = $2733; + $2736 = HEAP32[$pRec>>2]|0; + $2737 = ((($2736)) + 8|0); + $2738 = HEAP16[$2737>>1]|0; + $2739 = $2738&65535; + $2740 = $2739 & 16384; + $2741 = ($2740|0)!=(0); do { - if ($2735) { - $2736 = $nData; - $2737 = $2736; - $2738 = HEAP32[$2737>>2]|0; - $2739 = (($2736) + 4)|0; - $2740 = $2739; - $2741 = HEAP32[$2740>>2]|0; - $2742 = ($2738|0)!=(0); - $2743 = ($2741|0)!=(0); - $2744 = $2742 | $2743; - $2745 = HEAP32[$pRec>>2]|0; - if ($2744) { - $2746 = (_sqlite3VdbeMemExpandBlob($2745)|0); - $2747 = ($2746|0)!=(0); - if ($2747) { - label = 860; + if ($2741) { + $2742 = $nData; + $2743 = $2742; + $2744 = HEAP32[$2743>>2]|0; + $2745 = (($2742) + 4)|0; + $2746 = $2745; + $2747 = HEAP32[$2746>>2]|0; + $2748 = ($2744|0)!=(0); + $2749 = ($2747|0)!=(0); + $2750 = $2748 | $2749; + $2751 = HEAP32[$pRec>>2]|0; + if ($2750) { + $2752 = (_sqlite3VdbeMemExpandBlob($2751)|0); + $2753 = ($2752|0)!=(0); + if ($2753) { + label = 883; break L1; } else { break; } } else { - $2748 = HEAP32[$2745>>2]|0; - $2749 = ($2748|0)<(0); - $2750 = $2749 << 31 >> 31; - $2751 = $nZero; - $2752 = $2751; - $2753 = HEAP32[$2752>>2]|0; - $2754 = (($2751) + 4)|0; - $2755 = $2754; - $2756 = HEAP32[$2755>>2]|0; - $2757 = (_i64Add(($2753|0),($2756|0),($2748|0),($2750|0))|0); - $2758 = tempRet0; - $2759 = $nZero; - $2760 = $2759; - HEAP32[$2760>>2] = $2757; - $2761 = (($2759) + 4)|0; - $2762 = $2761; - HEAP32[$2762>>2] = $2758; - $2763 = HEAP32[$pRec>>2]|0; - $2764 = HEAP32[$2763>>2]|0; - $2765 = HEAP32[$len16>>2]|0; - $2766 = (($2765) - ($2764))|0; - HEAP32[$len16>>2] = $2766; + $2754 = HEAP32[$2751>>2]|0; + $2755 = ($2754|0)<(0); + $2756 = $2755 << 31 >> 31; + $2757 = $nZero; + $2758 = $2757; + $2759 = HEAP32[$2758>>2]|0; + $2760 = (($2757) + 4)|0; + $2761 = $2760; + $2762 = HEAP32[$2761>>2]|0; + $2763 = (_i64Add(($2759|0),($2762|0),($2754|0),($2756|0))|0); + $2764 = tempRet0; + $2765 = $nZero; + $2766 = $2765; + HEAP32[$2766>>2] = $2763; + $2767 = (($2765) + 4)|0; + $2768 = $2767; + HEAP32[$2768>>2] = $2764; + $2769 = HEAP32[$pRec>>2]|0; + $2770 = HEAP32[$2769>>2]|0; + $2771 = HEAP32[$len16>>2]|0; + $2772 = (($2771) - ($2770))|0; + HEAP32[$len16>>2] = $2772; break; } } } while(0); - $2767 = HEAP32[$len16>>2]|0; - $2768 = $nData; - $2769 = $2768; - $2770 = HEAP32[$2769>>2]|0; - $2771 = (($2768) + 4)|0; - $2772 = $2771; - $2773 = HEAP32[$2772>>2]|0; - $2774 = (_i64Add(($2770|0),($2773|0),($2767|0),0)|0); - $2775 = tempRet0; - $2776 = $nData; - $2777 = $2776; - HEAP32[$2777>>2] = $2774; - $2778 = (($2776) + 4)|0; - $2779 = $2778; - HEAP32[$2779>>2] = $2775; - $2780 = HEAP32[$serial_type>>2]|0; - $2781 = ($2780>>>0)<=(127); - if ($2781) { - $2786 = 1; + $2773 = HEAP32[$len16>>2]|0; + $2774 = $nData; + $2775 = $2774; + $2776 = HEAP32[$2775>>2]|0; + $2777 = (($2774) + 4)|0; + $2778 = $2777; + $2779 = HEAP32[$2778>>2]|0; + $2780 = (_i64Add(($2776|0),($2779|0),($2773|0),0)|0); + $2781 = tempRet0; + $2782 = $nData; + $2783 = $2782; + HEAP32[$2783>>2] = $2780; + $2784 = (($2782) + 4)|0; + $2785 = $2784; + HEAP32[$2785>>2] = $2781; + $2786 = HEAP32[$serial_type>>2]|0; + $2787 = ($2786>>>0)<=(127); + if ($2787) { + $2792 = 1; } else { - $2782 = HEAP32[$serial_type>>2]|0; - $2783 = (_sqlite3VarintLen($2782,0)|0); - $2786 = $2783; + $2788 = HEAP32[$serial_type>>2]|0; + $2789 = (_sqlite3VarintLen($2788,0)|0); + $2792 = $2789; } - $2784 = HEAP32[$nHdr>>2]|0; - $2785 = (($2784) + ($2786))|0; - HEAP32[$nHdr>>2] = $2785; - $2787 = HEAP32[$pRec>>2]|0; - $2788 = ((($2787)) + -40|0); - HEAP32[$pRec>>2] = $2788; - $2789 = HEAP32[$pData0>>2]|0; - $2790 = ($2788>>>0)>=($2789>>>0); - if (!($2790)) { + $2790 = HEAP32[$nHdr>>2]|0; + $2791 = (($2790) + ($2792))|0; + HEAP32[$nHdr>>2] = $2791; + $2793 = HEAP32[$pRec>>2]|0; + $2794 = ((($2793)) + -40|0); + HEAP32[$pRec>>2] = $2794; + $2795 = HEAP32[$pData0>>2]|0; + $2796 = ($2794>>>0)>=($2795>>>0); + if (!($2796)) { break; } } - $2791 = HEAP32[$nHdr>>2]|0; - $2792 = ($2791|0)<=(126); - $2793 = HEAP32[$nHdr>>2]|0; - if ($2792) { - $2794 = (($2793) + 1)|0; - HEAP32[$nHdr>>2] = $2794; - } else { - $2795 = ($2793|0)<(0); - $2796 = $2795 << 31 >> 31; - $2797 = (_sqlite3VarintLen($2793,$2796)|0); - HEAP32[$nVarint>>2] = $2797; - $2798 = HEAP32[$nVarint>>2]|0; - $2799 = HEAP32[$nHdr>>2]|0; - $2800 = (($2799) + ($2798))|0; + $2797 = HEAP32[$nHdr>>2]|0; + $2798 = ($2797|0)<=(126); + $2799 = HEAP32[$nHdr>>2]|0; + if ($2798) { + $2800 = (($2799) + 1)|0; HEAP32[$nHdr>>2] = $2800; - $2801 = HEAP32[$nVarint>>2]|0; - $2802 = HEAP32[$nHdr>>2]|0; - $2803 = ($2802|0)<(0); - $2804 = $2803 << 31 >> 31; - $2805 = (_sqlite3VarintLen($2802,$2804)|0); - $2806 = ($2801|0)<($2805|0); - if ($2806) { - $2807 = HEAP32[$nHdr>>2]|0; - $2808 = (($2807) + 1)|0; - HEAP32[$nHdr>>2] = $2808; + } else { + $2801 = ($2799|0)<(0); + $2802 = $2801 << 31 >> 31; + $2803 = (_sqlite3VarintLen($2799,$2802)|0); + HEAP32[$nVarint>>2] = $2803; + $2804 = HEAP32[$nVarint>>2]|0; + $2805 = HEAP32[$nHdr>>2]|0; + $2806 = (($2805) + ($2804))|0; + HEAP32[$nHdr>>2] = $2806; + $2807 = HEAP32[$nVarint>>2]|0; + $2808 = HEAP32[$nHdr>>2]|0; + $2809 = ($2808|0)<(0); + $2810 = $2809 << 31 >> 31; + $2811 = (_sqlite3VarintLen($2808,$2810)|0); + $2812 = ($2807|0)<($2811|0); + if ($2812) { + $2813 = HEAP32[$nHdr>>2]|0; + $2814 = (($2813) + 1)|0; + HEAP32[$nHdr>>2] = $2814; } } - $2809 = HEAP32[$nHdr>>2]|0; - $2810 = ($2809|0)<(0); - $2811 = $2810 << 31 >> 31; - $2812 = $nData; - $2813 = $2812; - $2814 = HEAP32[$2813>>2]|0; - $2815 = (($2812) + 4)|0; - $2816 = $2815; - $2817 = HEAP32[$2816>>2]|0; - $2818 = (_i64Add(($2809|0),($2811|0),($2814|0),($2817|0))|0); - $2819 = tempRet0; - $2820 = $nByte13; - $2821 = $2820; - HEAP32[$2821>>2] = $2818; - $2822 = (($2820) + 4)|0; - $2823 = $2822; - HEAP32[$2823>>2] = $2819; - $2824 = $nByte13; - $2825 = $2824; - $2826 = HEAP32[$2825>>2]|0; - $2827 = (($2824) + 4)|0; - $2828 = $2827; - $2829 = HEAP32[$2828>>2]|0; - $2830 = $nZero; + $2815 = HEAP32[$nHdr>>2]|0; + $2816 = ($2815|0)<(0); + $2817 = $2816 << 31 >> 31; + $2818 = $nData; + $2819 = $2818; + $2820 = HEAP32[$2819>>2]|0; + $2821 = (($2818) + 4)|0; + $2822 = $2821; + $2823 = HEAP32[$2822>>2]|0; + $2824 = (_i64Add(($2815|0),($2817|0),($2820|0),($2823|0))|0); + $2825 = tempRet0; + $2826 = $nByte13; + $2827 = $2826; + HEAP32[$2827>>2] = $2824; + $2828 = (($2826) + 4)|0; + $2829 = $2828; + HEAP32[$2829>>2] = $2825; + $2830 = $nByte13; $2831 = $2830; $2832 = HEAP32[$2831>>2]|0; $2833 = (($2830) + 4)|0; $2834 = $2833; $2835 = HEAP32[$2834>>2]|0; - $2836 = (_i64Add(($2826|0),($2829|0),($2832|0),($2835|0))|0); - $2837 = tempRet0; - $2838 = HEAP32[$db>>2]|0; - $2839 = ((($2838)) + 88|0); - $2840 = HEAP32[$2839>>2]|0; - $2841 = ($2840|0)<(0); - $2842 = $2841 << 31 >> 31; - $2843 = ($2837|0)>($2842|0); - $2844 = ($2836>>>0)>($2840>>>0); - $2845 = ($2837|0)==($2842|0); - $2846 = $2845 & $2844; - $2847 = $2843 | $2846; - if ($2847) { - label = 859; + $2836 = $nZero; + $2837 = $2836; + $2838 = HEAP32[$2837>>2]|0; + $2839 = (($2836) + 4)|0; + $2840 = $2839; + $2841 = HEAP32[$2840>>2]|0; + $2842 = (_i64Add(($2832|0),($2835|0),($2838|0),($2841|0))|0); + $2843 = tempRet0; + $2844 = HEAP32[$db>>2]|0; + $2845 = ((($2844)) + 92|0); + $2846 = HEAP32[$2845>>2]|0; + $2847 = ($2846|0)<(0); + $2848 = $2847 << 31 >> 31; + $2849 = ($2843|0)>($2848|0); + $2850 = ($2842>>>0)>($2846>>>0); + $2851 = ($2843|0)==($2848|0); + $2852 = $2851 & $2850; + $2853 = $2849 | $2852; + if ($2853) { + label = 882; break L8; } - $2848 = HEAP32[$pOut>>2]|0; - $2849 = $nByte13; - $2850 = $2849; - $2851 = HEAP32[$2850>>2]|0; - $2852 = (($2849) + 4)|0; - $2853 = $2852; - $2854 = HEAP32[$2853>>2]|0; - $2855 = (_sqlite3VdbeMemClearAndResize($2848,$2851)|0); - $2856 = ($2855|0)!=(0); - if ($2856) { - label = 860; + $2854 = HEAP32[$pOut>>2]|0; + $2855 = $nByte13; + $2856 = $2855; + $2857 = HEAP32[$2856>>2]|0; + $2858 = (($2855) + 4)|0; + $2859 = $2858; + $2860 = HEAP32[$2859>>2]|0; + $2861 = (_sqlite3VdbeMemClearAndResize($2854,$2857)|0); + $2862 = ($2861|0)!=(0); + if ($2862) { + label = 883; break L1; } - $2857 = HEAP32[$pOut>>2]|0; - $2858 = ((($2857)) + 16|0); - $2859 = HEAP32[$2858>>2]|0; - HEAP32[$zNewRecord>>2] = $2859; - $2860 = HEAP32[$nHdr>>2]|0; - $2861 = ($2860>>>0)<(128); - if ($2861) { - $2862 = HEAP32[$nHdr>>2]|0; - $2863 = $2862&255; - $2864 = HEAP32[$zNewRecord>>2]|0; - HEAP8[$2864>>0] = $2863; - $2871 = 1; + $2863 = HEAP32[$pOut>>2]|0; + $2864 = ((($2863)) + 16|0); + $2865 = HEAP32[$2864>>2]|0; + HEAP32[$zNewRecord>>2] = $2865; + $2866 = HEAP32[$nHdr>>2]|0; + $2867 = ($2866>>>0)<(128); + if ($2867) { + $2868 = HEAP32[$nHdr>>2]|0; + $2869 = $2868&255; + $2870 = HEAP32[$zNewRecord>>2]|0; + HEAP8[$2870>>0] = $2869; + $2877 = 1; } else { - $2865 = HEAP32[$zNewRecord>>2]|0; - $2866 = HEAP32[$nHdr>>2]|0; - $2867 = ($2866|0)<(0); - $2868 = $2867 << 31 >> 31; - $2869 = (_sqlite3PutVarint($2865,$2866,$2868)|0); - $2871 = $2869; + $2871 = HEAP32[$zNewRecord>>2]|0; + $2872 = HEAP32[$nHdr>>2]|0; + $2873 = ($2872|0)<(0); + $2874 = $2873 << 31 >> 31; + $2875 = (_sqlite3PutVarint($2871,$2872,$2874)|0); + $2877 = $2875; } - $2870 = $2871&255; - $2872 = $2870&255; - HEAP32[$i15>>2] = $2872; - $2873 = HEAP32[$nHdr>>2]|0; - HEAP32[$j>>2] = $2873; - $2874 = HEAP32[$pData0>>2]|0; - HEAP32[$pRec>>2] = $2874; + $2876 = $2877&255; + $2878 = $2876&255; + HEAP32[$i15>>2] = $2878; + $2879 = HEAP32[$nHdr>>2]|0; + HEAP32[$j>>2] = $2879; + $2880 = HEAP32[$pData0>>2]|0; + HEAP32[$pRec>>2] = $2880; while(1) { - $2875 = HEAP32[$pRec>>2]|0; - $2876 = ((($2875)) + 28|0); - $2877 = HEAP32[$2876>>2]|0; - HEAP32[$serial_type>>2] = $2877; - $2878 = HEAP32[$serial_type>>2]|0; - $2879 = ($2878>>>0)<(128); - if ($2879) { - $2880 = HEAP32[$serial_type>>2]|0; - $2881 = $2880&255; - $2882 = HEAP32[$i15>>2]|0; - $2883 = HEAP32[$zNewRecord>>2]|0; - $2884 = (($2883) + ($2882)|0); - HEAP8[$2884>>0] = $2881; - $2891 = 1; + $2881 = HEAP32[$pRec>>2]|0; + $2882 = ((($2881)) + 28|0); + $2883 = HEAP32[$2882>>2]|0; + HEAP32[$serial_type>>2] = $2883; + $2884 = HEAP32[$serial_type>>2]|0; + $2885 = ($2884>>>0)<(128); + if ($2885) { + $2886 = HEAP32[$serial_type>>2]|0; + $2887 = $2886&255; + $2888 = HEAP32[$i15>>2]|0; + $2889 = HEAP32[$zNewRecord>>2]|0; + $2890 = (($2889) + ($2888)|0); + HEAP8[$2890>>0] = $2887; + $2897 = 1; } else { - $2885 = HEAP32[$i15>>2]|0; - $2886 = HEAP32[$zNewRecord>>2]|0; - $2887 = (($2886) + ($2885)|0); - $2888 = HEAP32[$serial_type>>2]|0; - $2889 = (_sqlite3PutVarint($2887,$2888,0)|0); - $2891 = $2889; + $2891 = HEAP32[$i15>>2]|0; + $2892 = HEAP32[$zNewRecord>>2]|0; + $2893 = (($2892) + ($2891)|0); + $2894 = HEAP32[$serial_type>>2]|0; + $2895 = (_sqlite3PutVarint($2893,$2894,0)|0); + $2897 = $2895; } - $2890 = $2891&255; - $2892 = $2890&255; - $2893 = HEAP32[$i15>>2]|0; - $2894 = (($2893) + ($2892))|0; - HEAP32[$i15>>2] = $2894; - $2895 = HEAP32[$j>>2]|0; - $2896 = HEAP32[$zNewRecord>>2]|0; - $2897 = (($2896) + ($2895)|0); - $2898 = HEAP32[$pRec>>2]|0; - $2899 = HEAP32[$serial_type>>2]|0; - $2900 = (_sqlite3VdbeSerialPut($2897,$2898,$2899)|0); + $2896 = $2897&255; + $2898 = $2896&255; + $2899 = HEAP32[$i15>>2]|0; + $2900 = (($2899) + ($2898))|0; + HEAP32[$i15>>2] = $2900; $2901 = HEAP32[$j>>2]|0; - $2902 = (($2901) + ($2900))|0; - HEAP32[$j>>2] = $2902; - $2903 = HEAP32[$pRec>>2]|0; - $2904 = ((($2903)) + 40|0); - HEAP32[$pRec>>2] = $2904; - $2905 = HEAP32[$pLast>>2]|0; - $2906 = ($2904>>>0)<=($2905>>>0); - if (!($2906)) { + $2902 = HEAP32[$zNewRecord>>2]|0; + $2903 = (($2902) + ($2901)|0); + $2904 = HEAP32[$pRec>>2]|0; + $2905 = HEAP32[$serial_type>>2]|0; + $2906 = (_sqlite3VdbeSerialPut($2903,$2904,$2905)|0); + $2907 = HEAP32[$j>>2]|0; + $2908 = (($2907) + ($2906))|0; + HEAP32[$j>>2] = $2908; + $2909 = HEAP32[$pRec>>2]|0; + $2910 = ((($2909)) + 40|0); + HEAP32[$pRec>>2] = $2910; + $2911 = HEAP32[$pLast>>2]|0; + $2912 = ($2910>>>0)<=($2911>>>0); + if (!($2912)) { break; } } - $2907 = $nByte13; - $2908 = $2907; - $2909 = HEAP32[$2908>>2]|0; - $2910 = (($2907) + 4)|0; - $2911 = $2910; - $2912 = HEAP32[$2911>>2]|0; - $2913 = HEAP32[$pOut>>2]|0; - $2914 = ((($2913)) + 12|0); - HEAP32[$2914>>2] = $2909; - $2915 = HEAP32[$pOut>>2]|0; - $2916 = ((($2915)) + 8|0); - HEAP16[$2916>>1] = 16; - $2917 = $nZero; - $2918 = $2917; - $2919 = HEAP32[$2918>>2]|0; - $2920 = (($2917) + 4)|0; - $2921 = $2920; - $2922 = HEAP32[$2921>>2]|0; - $2923 = ($2919|0)!=(0); - $2924 = ($2922|0)!=(0); - $2925 = $2923 | $2924; - if ($2925) { - $2926 = $nZero; - $2927 = $2926; - $2928 = HEAP32[$2927>>2]|0; - $2929 = (($2926) + 4)|0; - $2930 = $2929; - $2931 = HEAP32[$2930>>2]|0; - $2932 = HEAP32[$pOut>>2]|0; - HEAP32[$2932>>2] = $2928; - $2933 = HEAP32[$pOut>>2]|0; - $2934 = ((($2933)) + 8|0); - $2935 = HEAP16[$2934>>1]|0; - $2936 = $2935&65535; - $2937 = $2936 | 16384; - $2938 = $2937&65535; - HEAP16[$2934>>1] = $2938; + $2913 = $nByte13; + $2914 = $2913; + $2915 = HEAP32[$2914>>2]|0; + $2916 = (($2913) + 4)|0; + $2917 = $2916; + $2918 = HEAP32[$2917>>2]|0; + $2919 = HEAP32[$pOut>>2]|0; + $2920 = ((($2919)) + 12|0); + HEAP32[$2920>>2] = $2915; + $2921 = HEAP32[$pOut>>2]|0; + $2922 = ((($2921)) + 8|0); + HEAP16[$2922>>1] = 16; + $2923 = $nZero; + $2924 = $2923; + $2925 = HEAP32[$2924>>2]|0; + $2926 = (($2923) + 4)|0; + $2927 = $2926; + $2928 = HEAP32[$2927>>2]|0; + $2929 = ($2925|0)!=(0); + $2930 = ($2928|0)!=(0); + $2931 = $2929 | $2930; + if ($2931) { + $2932 = $nZero; + $2933 = $2932; + $2934 = HEAP32[$2933>>2]|0; + $2935 = (($2932) + 4)|0; + $2936 = $2935; + $2937 = HEAP32[$2936>>2]|0; + $2938 = HEAP32[$pOut>>2]|0; + HEAP32[$2938>>2] = $2934; + $2939 = HEAP32[$pOut>>2]|0; + $2940 = ((($2939)) + 8|0); + $2941 = HEAP16[$2940>>1]|0; + $2942 = $2941&65535; + $2943 = $2942 | 16384; + $2944 = $2943&65535; + HEAP16[$2940>>1] = $2944; } - $2939 = HEAP32[$pOut>>2]|0; - $2940 = ((($2939)) + 10|0); - HEAP8[$2940>>0] = 1; + $2945 = HEAP32[$pOut>>2]|0; + $2946 = ((($2945)) + 10|0); + HEAP8[$2946>>0] = 1; break; } case 50: { - $2941 = HEAP32[$pOp>>2]|0; - $2942 = ((($2941)) + 4|0); - $2943 = HEAP32[$2942>>2]|0; - $2944 = HEAP32[$0>>2]|0; - $2945 = ((($2944)) + 56|0); - $2946 = HEAP32[$2945>>2]|0; - $2947 = (($2946) + ($2943<<2)|0); - $2948 = HEAP32[$2947>>2]|0; - $2949 = ((($2948)) + 16|0); - $2950 = HEAP32[$2949>>2]|0; - HEAP32[$pCrsr17>>2] = $2950; - $2951 = $nEntry; - $2952 = $2951; - HEAP32[$2952>>2] = 0; - $2953 = (($2951) + 4)|0; - $2954 = $2953; - HEAP32[$2954>>2] = 0; - $2955 = HEAP32[$pCrsr17>>2]|0; - $2956 = (_sqlite3BtreeCount($2955,$nEntry)|0); - HEAP32[$rc>>2] = $2956; - $2957 = HEAP32[$0>>2]|0; - $2958 = HEAP32[$pOp>>2]|0; - $2959 = (_out2Prerelease($2957,$2958)|0); - HEAP32[$pOut>>2] = $2959; - $2960 = $nEntry; - $2961 = $2960; - $2962 = HEAP32[$2961>>2]|0; - $2963 = (($2960) + 4)|0; - $2964 = $2963; - $2965 = HEAP32[$2964>>2]|0; - $2966 = HEAP32[$pOut>>2]|0; - $2967 = $2966; - $2968 = $2967; - HEAP32[$2968>>2] = $2962; - $2969 = (($2967) + 4)|0; - $2970 = $2969; - HEAP32[$2970>>2] = $2965; + $2947 = HEAP32[$pOp>>2]|0; + $2948 = ((($2947)) + 4|0); + $2949 = HEAP32[$2948>>2]|0; + $2950 = HEAP32[$0>>2]|0; + $2951 = ((($2950)) + 56|0); + $2952 = HEAP32[$2951>>2]|0; + $2953 = (($2952) + ($2949<<2)|0); + $2954 = HEAP32[$2953>>2]|0; + $2955 = ((($2954)) + 16|0); + $2956 = HEAP32[$2955>>2]|0; + HEAP32[$pCrsr17>>2] = $2956; + $2957 = $nEntry; + $2958 = $2957; + HEAP32[$2958>>2] = 0; + $2959 = (($2957) + 4)|0; + $2960 = $2959; + HEAP32[$2960>>2] = 0; + $2961 = HEAP32[$pCrsr17>>2]|0; + $2962 = (_sqlite3BtreeCount($2961,$nEntry)|0); + HEAP32[$rc>>2] = $2962; + $2963 = HEAP32[$rc>>2]|0; + $2964 = ($2963|0)!=(0); + if ($2964) { + break L1; + } + $2965 = HEAP32[$0>>2]|0; + $2966 = HEAP32[$pOp>>2]|0; + $2967 = (_out2Prerelease($2965,$2966)|0); + HEAP32[$pOut>>2] = $2967; + $2968 = $nEntry; + $2969 = $2968; + $2970 = HEAP32[$2969>>2]|0; + $2971 = (($2968) + 4)|0; + $2972 = $2971; + $2973 = HEAP32[$2972>>2]|0; + $2974 = HEAP32[$pOut>>2]|0; + $2975 = $2974; + $2976 = $2975; + HEAP32[$2976>>2] = $2970; + $2977 = (($2975) + 4)|0; + $2978 = $2977; + HEAP32[$2978>>2] = $2973; break; } case 0: { - $2971 = HEAP32[$pOp>>2]|0; - $2972 = ((($2971)) + 4|0); - $2973 = HEAP32[$2972>>2]|0; - HEAP32[$p118>>2] = $2973; - $2974 = HEAP32[$pOp>>2]|0; - $2975 = ((($2974)) + 16|0); - $2976 = HEAP32[$2975>>2]|0; - HEAP32[$zName>>2] = $2976; - $2977 = HEAP32[$p118>>2]|0; - $2978 = ($2977|0)==(0); - if ($2978) { - $2979 = HEAP32[$db>>2]|0; - $2980 = ((($2979)) + 156|0); - $2981 = HEAP32[$2980>>2]|0; - $2982 = ($2981|0)>(0); - if ($2982) { - $2983 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($2983,40742,$vararg_buffer46); - HEAP32[$rc>>2] = 5; - break L11; - } - $2984 = HEAP32[$zName>>2]|0; - $2985 = (_sqlite3Strlen30($2984)|0); - HEAP32[$nName>>2] = $2985; - $2986 = HEAP32[$db>>2]|0; - $2987 = HEAP32[$db>>2]|0; - $2988 = ((($2987)) + 504|0); - $2989 = HEAP32[$2988>>2]|0; - $2990 = HEAP32[$db>>2]|0; - $2991 = ((($2990)) + 500|0); - $2992 = HEAP32[$2991>>2]|0; - $2993 = (($2989) + ($2992))|0; - $2994 = (_sqlite3VtabSavepoint($2986,0,$2993)|0); - HEAP32[$rc>>2] = $2994; - $2995 = HEAP32[$rc>>2]|0; - $2996 = ($2995|0)!=(0); - if ($2996) { - label = 861; - break L8; - } - $2997 = HEAP32[$db>>2]|0; - $2998 = HEAP32[$nName>>2]|0; - $2999 = (32 + ($2998))|0; - $3000 = (($2999) + 1)|0; - $3001 = (_sqlite3DbMallocRawNN($2997,$3000,0)|0); - HEAP32[$pNew>>2] = $3001; - $3002 = HEAP32[$pNew>>2]|0; - $3003 = ($3002|0)!=(0|0); - if (!($3003)) { - break L11; - } - $3004 = HEAP32[$pNew>>2]|0; - $3005 = ((($3004)) + 32|0); - $3006 = HEAP32[$pNew>>2]|0; - HEAP32[$3006>>2] = $3005; - $3007 = HEAP32[$pNew>>2]|0; - $3008 = HEAP32[$3007>>2]|0; - $3009 = HEAP32[$zName>>2]|0; - $3010 = HEAP32[$nName>>2]|0; - $3011 = (($3010) + 1)|0; - _memcpy(($3008|0),($3009|0),($3011|0))|0; - $3012 = HEAP32[$db>>2]|0; - $3013 = ((($3012)) + 63|0); - $3014 = HEAP8[$3013>>0]|0; - $3015 = ($3014<<24>>24)!=(0); - $3016 = HEAP32[$db>>2]|0; - if ($3015) { - $3017 = ((($3016)) + 63|0); - HEAP8[$3017>>0] = 0; - $3018 = HEAP32[$db>>2]|0; - $3019 = ((($3018)) + 71|0); - HEAP8[$3019>>0] = 1; + $2979 = HEAP32[$pOp>>2]|0; + $2980 = ((($2979)) + 4|0); + $2981 = HEAP32[$2980>>2]|0; + HEAP32[$p118>>2] = $2981; + $2982 = HEAP32[$pOp>>2]|0; + $2983 = ((($2982)) + 16|0); + $2984 = HEAP32[$2983>>2]|0; + HEAP32[$zName>>2] = $2984; + $2985 = HEAP32[$p118>>2]|0; + $2986 = ($2985|0)==(0); + do { + if ($2986) { + $2987 = HEAP32[$db>>2]|0; + $2988 = ((($2987)) + 160|0); + $2989 = HEAP32[$2988>>2]|0; + $2990 = ($2989|0)>(0); + if ($2990) { + $2991 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($2991,40393,$vararg_buffer45); + HEAP32[$rc>>2] = 5; + break; + } + $2992 = HEAP32[$zName>>2]|0; + $2993 = (_sqlite3Strlen30($2992)|0); + HEAP32[$nName>>2] = $2993; + $2994 = HEAP32[$db>>2]|0; + $2995 = HEAP32[$db>>2]|0; + $2996 = ((($2995)) + 436|0); + $2997 = HEAP32[$2996>>2]|0; + $2998 = HEAP32[$db>>2]|0; + $2999 = ((($2998)) + 432|0); + $3000 = HEAP32[$2999>>2]|0; + $3001 = (($2997) + ($3000))|0; + $3002 = (_sqlite3VtabSavepoint($2994,0,$3001)|0); + HEAP32[$rc>>2] = $3002; + $3003 = HEAP32[$rc>>2]|0; + $3004 = ($3003|0)!=(0); + if ($3004) { + break L1; + } + $3005 = HEAP32[$db>>2]|0; + $3006 = HEAP32[$nName>>2]|0; + $3007 = (32 + ($3006))|0; + $3008 = (($3007) + 1)|0; + $3009 = (_sqlite3DbMallocRawNN($3005,$3008,0)|0); + HEAP32[$pNew>>2] = $3009; + $3010 = HEAP32[$pNew>>2]|0; + $3011 = ($3010|0)!=(0|0); + if ($3011) { + $3012 = HEAP32[$pNew>>2]|0; + $3013 = ((($3012)) + 32|0); + $3014 = HEAP32[$pNew>>2]|0; + HEAP32[$3014>>2] = $3013; + $3015 = HEAP32[$pNew>>2]|0; + $3016 = HEAP32[$3015>>2]|0; + $3017 = HEAP32[$zName>>2]|0; + $3018 = HEAP32[$nName>>2]|0; + $3019 = (($3018) + 1)|0; + _memcpy(($3016|0),($3017|0),($3019|0))|0; + $3020 = HEAP32[$db>>2]|0; + $3021 = ((($3020)) + 67|0); + $3022 = HEAP8[$3021>>0]|0; + $3023 = ($3022<<24>>24)!=(0); + $3024 = HEAP32[$db>>2]|0; + if ($3023) { + $3025 = ((($3024)) + 67|0); + HEAP8[$3025>>0] = 0; + $3026 = HEAP32[$db>>2]|0; + $3027 = ((($3026)) + 75|0); + HEAP8[$3027>>0] = 1; + } else { + $3028 = ((($3024)) + 432|0); + $3029 = HEAP32[$3028>>2]|0; + $3030 = (($3029) + 1)|0; + HEAP32[$3028>>2] = $3030; + } + $3031 = HEAP32[$db>>2]|0; + $3032 = ((($3031)) + 424|0); + $3033 = HEAP32[$3032>>2]|0; + $3034 = HEAP32[$pNew>>2]|0; + $3035 = ((($3034)) + 24|0); + HEAP32[$3035>>2] = $3033; + $3036 = HEAP32[$pNew>>2]|0; + $3037 = HEAP32[$db>>2]|0; + $3038 = ((($3037)) + 424|0); + HEAP32[$3038>>2] = $3036; + $3039 = HEAP32[$db>>2]|0; + $3040 = ((($3039)) + 440|0); + $3041 = $3040; + $3042 = $3041; + $3043 = HEAP32[$3042>>2]|0; + $3044 = (($3041) + 4)|0; + $3045 = $3044; + $3046 = HEAP32[$3045>>2]|0; + $3047 = HEAP32[$pNew>>2]|0; + $3048 = ((($3047)) + 8|0); + $3049 = $3048; + $3050 = $3049; + HEAP32[$3050>>2] = $3043; + $3051 = (($3049) + 4)|0; + $3052 = $3051; + HEAP32[$3052>>2] = $3046; + $3053 = HEAP32[$db>>2]|0; + $3054 = ((($3053)) + 448|0); + $3055 = $3054; + $3056 = $3055; + $3057 = HEAP32[$3056>>2]|0; + $3058 = (($3055) + 4)|0; + $3059 = $3058; + $3060 = HEAP32[$3059>>2]|0; + $3061 = HEAP32[$pNew>>2]|0; + $3062 = ((($3061)) + 16|0); + $3063 = $3062; + $3064 = $3063; + HEAP32[$3064>>2] = $3057; + $3065 = (($3063) + 4)|0; + $3066 = $3065; + HEAP32[$3066>>2] = $3060; + } } else { - $3020 = ((($3016)) + 500|0); - $3021 = HEAP32[$3020>>2]|0; - $3022 = (($3021) + 1)|0; - HEAP32[$3020>>2] = $3022; - } - $3023 = HEAP32[$db>>2]|0; - $3024 = ((($3023)) + 492|0); - $3025 = HEAP32[$3024>>2]|0; - $3026 = HEAP32[$pNew>>2]|0; - $3027 = ((($3026)) + 24|0); - HEAP32[$3027>>2] = $3025; - $3028 = HEAP32[$pNew>>2]|0; - $3029 = HEAP32[$db>>2]|0; - $3030 = ((($3029)) + 492|0); - HEAP32[$3030>>2] = $3028; - $3031 = HEAP32[$db>>2]|0; - $3032 = ((($3031)) + 512|0); - $3033 = $3032; - $3034 = $3033; - $3035 = HEAP32[$3034>>2]|0; - $3036 = (($3033) + 4)|0; - $3037 = $3036; - $3038 = HEAP32[$3037>>2]|0; - $3039 = HEAP32[$pNew>>2]|0; - $3040 = ((($3039)) + 8|0); - $3041 = $3040; - $3042 = $3041; - HEAP32[$3042>>2] = $3035; - $3043 = (($3041) + 4)|0; - $3044 = $3043; - HEAP32[$3044>>2] = $3038; - $3045 = HEAP32[$db>>2]|0; - $3046 = ((($3045)) + 520|0); - $3047 = $3046; - $3048 = $3047; - $3049 = HEAP32[$3048>>2]|0; - $3050 = (($3047) + 4)|0; - $3051 = $3050; - $3052 = HEAP32[$3051>>2]|0; - $3053 = HEAP32[$pNew>>2]|0; - $3054 = ((($3053)) + 16|0); - $3055 = $3054; - $3056 = $3055; - HEAP32[$3056>>2] = $3049; - $3057 = (($3055) + 4)|0; - $3058 = $3057; - HEAP32[$3058>>2] = $3052; - break L11; - } - HEAP32[$iSavepoint>>2] = 0; - $3059 = HEAP32[$db>>2]|0; - $3060 = ((($3059)) + 492|0); - $3061 = HEAP32[$3060>>2]|0; - HEAP32[$pSavepoint>>2] = $3061; - while(1) { - $3062 = HEAP32[$pSavepoint>>2]|0; - $3063 = ($3062|0)!=(0|0); - if (!($3063)) { - break; - } - $3064 = HEAP32[$pSavepoint>>2]|0; - $3065 = HEAP32[$3064>>2]|0; - $3066 = HEAP32[$zName>>2]|0; - $3067 = (_sqlite3_stricmp($3065,$3066)|0); - $3068 = ($3067|0)!=(0); - if (!($3068)) { - break; - } - $3069 = HEAP32[$iSavepoint>>2]|0; - $3070 = (($3069) + 1)|0; - HEAP32[$iSavepoint>>2] = $3070; - $3071 = HEAP32[$pSavepoint>>2]|0; - $3072 = ((($3071)) + 24|0); - $3073 = HEAP32[$3072>>2]|0; - HEAP32[$pSavepoint>>2] = $3073; - } - $3074 = HEAP32[$pSavepoint>>2]|0; - $3075 = ($3074|0)!=(0|0); - if (!($3075)) { - $3076 = HEAP32[$0>>2]|0; - $3077 = HEAP32[$zName>>2]|0; - HEAP32[$vararg_buffer48>>2] = $3077; - _sqlite3VdbeError($3076,40793,$vararg_buffer48); - HEAP32[$rc>>2] = 1; - break L11; - } - $3078 = HEAP32[$db>>2]|0; - $3079 = ((($3078)) + 156|0); - $3080 = HEAP32[$3079>>2]|0; - $3081 = ($3080|0)>(0); - $3082 = HEAP32[$p118>>2]|0; - $3083 = ($3082|0)==(1); - $or$cond6 = $3081 & $3083; - if ($or$cond6) { - $3084 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3084,40815,$vararg_buffer51); - HEAP32[$rc>>2] = 5; - break L11; - } - $3085 = HEAP32[$pSavepoint>>2]|0; - $3086 = ((($3085)) + 24|0); - $3087 = HEAP32[$3086>>2]|0; - $3088 = ($3087|0)==(0|0); - if ($3088) { - $3089 = HEAP32[$db>>2]|0; - $3090 = ((($3089)) + 71|0); - $3091 = HEAP8[$3090>>0]|0; - $3092 = $3091&255; - $3093 = ($3092|0)!=(0); - $3095 = $3093; - } else { - $3095 = 0; - } - $3094 = $3095&1; - HEAP32[$isTransaction>>2] = $3094; - $3096 = HEAP32[$isTransaction>>2]|0; - $3097 = ($3096|0)!=(0); - $3098 = HEAP32[$p118>>2]|0; - $3099 = ($3098|0)==(1); - $or$cond8 = $3097 & $3099; - if ($or$cond8) { - $3100 = HEAP32[$0>>2]|0; - $3101 = (_sqlite3VdbeCheckFk($3100,1)|0); - HEAP32[$rc>>2] = $3101; - $3102 = ($3101|0)!=(0); - if ($3102) { - label = 858; - break L8; - } - $3103 = HEAP32[$db>>2]|0; - $3104 = ((($3103)) + 63|0); - HEAP8[$3104>>0] = 1; - $3105 = HEAP32[$0>>2]|0; - $3106 = (_sqlite3VdbeHalt($3105)|0); - $3107 = ($3106|0)==(5); - if ($3107) { - label = 367; - break L8; - } - $3120 = HEAP32[$db>>2]|0; - $3121 = ((($3120)) + 71|0); - HEAP8[$3121>>0] = 0; - $3122 = HEAP32[$0>>2]|0; - $3123 = ((($3122)) + 80|0); - $3124 = HEAP32[$3123>>2]|0; - HEAP32[$rc>>2] = $3124; - } else { - $3125 = HEAP32[$db>>2]|0; - $3126 = ((($3125)) + 500|0); - $3127 = HEAP32[$3126>>2]|0; - $3128 = HEAP32[$iSavepoint>>2]|0; - $3129 = (($3127) - ($3128))|0; - $3130 = (($3129) - 1)|0; - HEAP32[$iSavepoint>>2] = $3130; - $3131 = HEAP32[$p118>>2]|0; - $3132 = ($3131|0)==(2); - L419: do { - if ($3132) { + HEAP32[$iSavepoint>>2] = 0; + $3067 = HEAP32[$db>>2]|0; + $3068 = ((($3067)) + 424|0); + $3069 = HEAP32[$3068>>2]|0; + HEAP32[$pSavepoint>>2] = $3069; + while(1) { + $3070 = HEAP32[$pSavepoint>>2]|0; + $3071 = ($3070|0)!=(0|0); + if (!($3071)) { + break; + } + $3072 = HEAP32[$pSavepoint>>2]|0; + $3073 = HEAP32[$3072>>2]|0; + $3074 = HEAP32[$zName>>2]|0; + $3075 = (_sqlite3StrICmp($3073,$3074)|0); + $3076 = ($3075|0)!=(0); + if (!($3076)) { + break; + } + $3077 = HEAP32[$iSavepoint>>2]|0; + $3078 = (($3077) + 1)|0; + HEAP32[$iSavepoint>>2] = $3078; + $3079 = HEAP32[$pSavepoint>>2]|0; + $3080 = ((($3079)) + 24|0); + $3081 = HEAP32[$3080>>2]|0; + HEAP32[$pSavepoint>>2] = $3081; + } + $3082 = HEAP32[$pSavepoint>>2]|0; + $3083 = ($3082|0)!=(0|0); + if (!($3083)) { + $3084 = HEAP32[$0>>2]|0; + $3085 = HEAP32[$zName>>2]|0; + HEAP32[$vararg_buffer47>>2] = $3085; + _sqlite3VdbeError($3084,40444,$vararg_buffer47); + HEAP32[$rc>>2] = 1; + break; + } + $3086 = HEAP32[$db>>2]|0; + $3087 = ((($3086)) + 160|0); + $3088 = HEAP32[$3087>>2]|0; + $3089 = ($3088|0)>(0); + $3090 = HEAP32[$p118>>2]|0; + $3091 = ($3090|0)==(1); + $or$cond6 = $3089 & $3091; + if ($or$cond6) { + $3092 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($3092,40466,$vararg_buffer50); + HEAP32[$rc>>2] = 5; + break; + } + $3093 = HEAP32[$pSavepoint>>2]|0; + $3094 = ((($3093)) + 24|0); + $3095 = HEAP32[$3094>>2]|0; + $3096 = ($3095|0)==(0|0); + if ($3096) { + $3097 = HEAP32[$db>>2]|0; + $3098 = ((($3097)) + 75|0); + $3099 = HEAP8[$3098>>0]|0; + $3100 = $3099&255; + $3101 = ($3100|0)!=(0); + $3103 = $3101; + } else { + $3103 = 0; + } + $3102 = $3103&1; + HEAP32[$isTransaction>>2] = $3102; + $3104 = HEAP32[$isTransaction>>2]|0; + $3105 = ($3104|0)!=(0); + $3106 = HEAP32[$p118>>2]|0; + $3107 = ($3106|0)==(1); + $or$cond8 = $3105 & $3107; + if ($or$cond8) { + $3108 = HEAP32[$0>>2]|0; + $3109 = (_sqlite3VdbeCheckFk($3108,1)|0); + HEAP32[$rc>>2] = $3109; + $3110 = ($3109|0)!=(0); + if ($3110) { + label = 881; + break L8; + } + $3111 = HEAP32[$db>>2]|0; + $3112 = ((($3111)) + 67|0); + HEAP8[$3112>>0] = 1; + $3113 = HEAP32[$0>>2]|0; + $3114 = (_sqlite3VdbeHalt($3113)|0); + $3115 = ($3114|0)==(5); + if ($3115) { + label = 368; + break L8; + } + $3128 = HEAP32[$db>>2]|0; + $3129 = ((($3128)) + 75|0); + HEAP8[$3129>>0] = 0; + $3130 = HEAP32[$0>>2]|0; + $3131 = ((($3130)) + 80|0); + $3132 = HEAP32[$3131>>2]|0; + HEAP32[$rc>>2] = $3132; + } else { $3133 = HEAP32[$db>>2]|0; - $3134 = ((($3133)) + 24|0); + $3134 = ((($3133)) + 432|0); $3135 = HEAP32[$3134>>2]|0; - $3136 = $3135 & 2; - $3137 = ($3136|0)!=(0); - $3138 = $3137&1; - HEAP32[$isSchemaChange>>2] = $3138; + $3136 = HEAP32[$iSavepoint>>2]|0; + $3137 = (($3135) - ($3136))|0; + $3138 = (($3137) - 1)|0; + HEAP32[$iSavepoint>>2] = $3138; + $3139 = HEAP32[$p118>>2]|0; + $3140 = ($3139|0)==(2); + L408: do { + if ($3140) { + $3141 = HEAP32[$db>>2]|0; + $3142 = ((($3141)) + 24|0); + $3143 = HEAP32[$3142>>2]|0; + $3144 = $3143 & 2; + $3145 = ($3144|0)!=(0); + $3146 = $3145&1; + HEAP32[$isSchemaChange>>2] = $3146; + HEAP32[$ii>>2] = 0; + while(1) { + $3147 = HEAP32[$ii>>2]|0; + $3148 = HEAP32[$db>>2]|0; + $3149 = ((($3148)) + 20|0); + $3150 = HEAP32[$3149>>2]|0; + $3151 = ($3147|0)<($3150|0); + if (!($3151)) { + break L408; + } + $3152 = HEAP32[$ii>>2]|0; + $3153 = HEAP32[$db>>2]|0; + $3154 = ((($3153)) + 16|0); + $3155 = HEAP32[$3154>>2]|0; + $3156 = (($3155) + ($3152<<4)|0); + $3157 = ((($3156)) + 4|0); + $3158 = HEAP32[$3157>>2]|0; + $3159 = HEAP32[$isSchemaChange>>2]|0; + $3160 = ($3159|0)==(0); + $3161 = $3160&1; + $3162 = (_sqlite3BtreeTripAllCursors($3158,516,$3161)|0); + HEAP32[$rc>>2] = $3162; + $3163 = HEAP32[$rc>>2]|0; + $3164 = ($3163|0)!=(0); + if ($3164) { + break L1; + } + $3165 = HEAP32[$ii>>2]|0; + $3166 = (($3165) + 1)|0; + HEAP32[$ii>>2] = $3166; + } + } else { + HEAP32[$isSchemaChange>>2] = 0; + } + } while(0); HEAP32[$ii>>2] = 0; while(1) { - $3139 = HEAP32[$ii>>2]|0; - $3140 = HEAP32[$db>>2]|0; - $3141 = ((($3140)) + 20|0); - $3142 = HEAP32[$3141>>2]|0; - $3143 = ($3139|0)<($3142|0); - if (!($3143)) { - break L419; + $3167 = HEAP32[$ii>>2]|0; + $3168 = HEAP32[$db>>2]|0; + $3169 = ((($3168)) + 20|0); + $3170 = HEAP32[$3169>>2]|0; + $3171 = ($3167|0)<($3170|0); + if (!($3171)) { + break; } - $3144 = HEAP32[$ii>>2]|0; - $3145 = HEAP32[$db>>2]|0; - $3146 = ((($3145)) + 16|0); - $3147 = HEAP32[$3146>>2]|0; - $3148 = (($3147) + ($3144<<4)|0); - $3149 = ((($3148)) + 4|0); - $3150 = HEAP32[$3149>>2]|0; - $3151 = HEAP32[$isSchemaChange>>2]|0; - $3152 = ($3151|0)==(0); - $3153 = $3152&1; - $3154 = (_sqlite3BtreeTripAllCursors($3150,516,$3153)|0); - HEAP32[$rc>>2] = $3154; - $3155 = HEAP32[$rc>>2]|0; - $3156 = ($3155|0)!=(0); - if ($3156) { - label = 861; - break L8; + $3172 = HEAP32[$ii>>2]|0; + $3173 = HEAP32[$db>>2]|0; + $3174 = ((($3173)) + 16|0); + $3175 = HEAP32[$3174>>2]|0; + $3176 = (($3175) + ($3172<<4)|0); + $3177 = ((($3176)) + 4|0); + $3178 = HEAP32[$3177>>2]|0; + $3179 = HEAP32[$p118>>2]|0; + $3180 = HEAP32[$iSavepoint>>2]|0; + $3181 = (_sqlite3BtreeSavepoint($3178,$3179,$3180)|0); + HEAP32[$rc>>2] = $3181; + $3182 = HEAP32[$rc>>2]|0; + $3183 = ($3182|0)!=(0); + if ($3183) { + break L1; } - $3157 = HEAP32[$ii>>2]|0; - $3158 = (($3157) + 1)|0; - HEAP32[$ii>>2] = $3158; + $3184 = HEAP32[$ii>>2]|0; + $3185 = (($3184) + 1)|0; + HEAP32[$ii>>2] = $3185; + } + $3186 = HEAP32[$isSchemaChange>>2]|0; + $3187 = ($3186|0)!=(0); + if ($3187) { + $3188 = HEAP32[$db>>2]|0; + _sqlite3ExpirePreparedStatements($3188); + $3189 = HEAP32[$db>>2]|0; + _sqlite3ResetAllSchemasOfConnection($3189); + $3190 = HEAP32[$db>>2]|0; + $3191 = ((($3190)) + 24|0); + $3192 = HEAP32[$3191>>2]|0; + $3193 = $3192 | 2; + $3194 = HEAP32[$db>>2]|0; + $3195 = ((($3194)) + 24|0); + HEAP32[$3195>>2] = $3193; } - } else { - HEAP32[$isSchemaChange>>2] = 0; } - } while(0); - HEAP32[$ii>>2] = 0; - while(1) { - $3159 = HEAP32[$ii>>2]|0; - $3160 = HEAP32[$db>>2]|0; - $3161 = ((($3160)) + 20|0); - $3162 = HEAP32[$3161>>2]|0; - $3163 = ($3159|0)<($3162|0); - if (!($3163)) { - break; + while(1) { + $3196 = HEAP32[$db>>2]|0; + $3197 = ((($3196)) + 424|0); + $3198 = HEAP32[$3197>>2]|0; + $3199 = HEAP32[$pSavepoint>>2]|0; + $3200 = ($3198|0)!=($3199|0); + if (!($3200)) { + break; + } + $3201 = HEAP32[$db>>2]|0; + $3202 = ((($3201)) + 424|0); + $3203 = HEAP32[$3202>>2]|0; + HEAP32[$pTmp>>2] = $3203; + $3204 = HEAP32[$pTmp>>2]|0; + $3205 = ((($3204)) + 24|0); + $3206 = HEAP32[$3205>>2]|0; + $3207 = HEAP32[$db>>2]|0; + $3208 = ((($3207)) + 424|0); + HEAP32[$3208>>2] = $3206; + $3209 = HEAP32[$db>>2]|0; + $3210 = HEAP32[$pTmp>>2]|0; + _sqlite3DbFree($3209,$3210); + $3211 = HEAP32[$db>>2]|0; + $3212 = ((($3211)) + 432|0); + $3213 = HEAP32[$3212>>2]|0; + $3214 = (($3213) + -1)|0; + HEAP32[$3212>>2] = $3214; } - $3164 = HEAP32[$ii>>2]|0; - $3165 = HEAP32[$db>>2]|0; - $3166 = ((($3165)) + 16|0); - $3167 = HEAP32[$3166>>2]|0; - $3168 = (($3167) + ($3164<<4)|0); - $3169 = ((($3168)) + 4|0); - $3170 = HEAP32[$3169>>2]|0; - $3171 = HEAP32[$p118>>2]|0; - $3172 = HEAP32[$iSavepoint>>2]|0; - $3173 = (_sqlite3BtreeSavepoint($3170,$3171,$3172)|0); - HEAP32[$rc>>2] = $3173; - $3174 = HEAP32[$rc>>2]|0; - $3175 = ($3174|0)!=(0); - if ($3175) { - label = 861; - break L8; + $3215 = HEAP32[$p118>>2]|0; + $3216 = ($3215|0)==(1); + $3217 = HEAP32[$pSavepoint>>2]|0; + if ($3216) { + $3218 = ((($3217)) + 24|0); + $3219 = HEAP32[$3218>>2]|0; + $3220 = HEAP32[$db>>2]|0; + $3221 = ((($3220)) + 424|0); + HEAP32[$3221>>2] = $3219; + $3222 = HEAP32[$db>>2]|0; + $3223 = HEAP32[$pSavepoint>>2]|0; + _sqlite3DbFree($3222,$3223); + $3224 = HEAP32[$isTransaction>>2]|0; + $3225 = ($3224|0)!=(0); + if (!($3225)) { + $3226 = HEAP32[$db>>2]|0; + $3227 = ((($3226)) + 432|0); + $3228 = HEAP32[$3227>>2]|0; + $3229 = (($3228) + -1)|0; + HEAP32[$3227>>2] = $3229; + } + } else { + $3230 = ((($3217)) + 8|0); + $3231 = $3230; + $3232 = $3231; + $3233 = HEAP32[$3232>>2]|0; + $3234 = (($3231) + 4)|0; + $3235 = $3234; + $3236 = HEAP32[$3235>>2]|0; + $3237 = HEAP32[$db>>2]|0; + $3238 = ((($3237)) + 440|0); + $3239 = $3238; + $3240 = $3239; + HEAP32[$3240>>2] = $3233; + $3241 = (($3239) + 4)|0; + $3242 = $3241; + HEAP32[$3242>>2] = $3236; + $3243 = HEAP32[$pSavepoint>>2]|0; + $3244 = ((($3243)) + 16|0); + $3245 = $3244; + $3246 = $3245; + $3247 = HEAP32[$3246>>2]|0; + $3248 = (($3245) + 4)|0; + $3249 = $3248; + $3250 = HEAP32[$3249>>2]|0; + $3251 = HEAP32[$db>>2]|0; + $3252 = ((($3251)) + 448|0); + $3253 = $3252; + $3254 = $3253; + HEAP32[$3254>>2] = $3247; + $3255 = (($3253) + 4)|0; + $3256 = $3255; + HEAP32[$3256>>2] = $3250; + } + $3257 = HEAP32[$isTransaction>>2]|0; + $3258 = ($3257|0)==(0); + $3259 = HEAP32[$p118>>2]|0; + $3260 = ($3259|0)==(2); + $or$cond10 = $3258 | $3260; + if ($or$cond10) { + $3261 = HEAP32[$db>>2]|0; + $3262 = HEAP32[$p118>>2]|0; + $3263 = HEAP32[$iSavepoint>>2]|0; + $3264 = (_sqlite3VtabSavepoint($3261,$3262,$3263)|0); + HEAP32[$rc>>2] = $3264; + $3265 = HEAP32[$rc>>2]|0; + $3266 = ($3265|0)!=(0); + $3267 = HEAP32[$rc>>2]|0; + $3268 = ($3267|0)!=(0); + $or$cond26 = $3266 | $3268; + if ($or$cond26) { + break L1; + } else { + break L10; + } } - $3176 = HEAP32[$ii>>2]|0; - $3177 = (($3176) + 1)|0; - HEAP32[$ii>>2] = $3177; - } - $3178 = HEAP32[$isSchemaChange>>2]|0; - $3179 = ($3178|0)!=(0); - if ($3179) { - $3180 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($3180); - $3181 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($3181); - $3182 = HEAP32[$db>>2]|0; - $3183 = ((($3182)) + 24|0); - $3184 = HEAP32[$3183>>2]|0; - $3185 = $3184 | 2; - $3186 = HEAP32[$db>>2]|0; - $3187 = ((($3186)) + 24|0); - HEAP32[$3187>>2] = $3185; - } - } - while(1) { - $3188 = HEAP32[$db>>2]|0; - $3189 = ((($3188)) + 492|0); - $3190 = HEAP32[$3189>>2]|0; - $3191 = HEAP32[$pSavepoint>>2]|0; - $3192 = ($3190|0)!=($3191|0); - if (!($3192)) { - break; - } - $3193 = HEAP32[$db>>2]|0; - $3194 = ((($3193)) + 492|0); - $3195 = HEAP32[$3194>>2]|0; - HEAP32[$pTmp>>2] = $3195; - $3196 = HEAP32[$pTmp>>2]|0; - $3197 = ((($3196)) + 24|0); - $3198 = HEAP32[$3197>>2]|0; - $3199 = HEAP32[$db>>2]|0; - $3200 = ((($3199)) + 492|0); - HEAP32[$3200>>2] = $3198; - $3201 = HEAP32[$db>>2]|0; - $3202 = HEAP32[$pTmp>>2]|0; - _sqlite3DbFree($3201,$3202); - $3203 = HEAP32[$db>>2]|0; - $3204 = ((($3203)) + 500|0); - $3205 = HEAP32[$3204>>2]|0; - $3206 = (($3205) + -1)|0; - HEAP32[$3204>>2] = $3206; - } - $3207 = HEAP32[$p118>>2]|0; - $3208 = ($3207|0)==(1); - $3209 = HEAP32[$pSavepoint>>2]|0; - if ($3208) { - $3210 = ((($3209)) + 24|0); - $3211 = HEAP32[$3210>>2]|0; - $3212 = HEAP32[$db>>2]|0; - $3213 = ((($3212)) + 492|0); - HEAP32[$3213>>2] = $3211; - $3214 = HEAP32[$db>>2]|0; - $3215 = HEAP32[$pSavepoint>>2]|0; - _sqlite3DbFree($3214,$3215); - $3216 = HEAP32[$isTransaction>>2]|0; - $3217 = ($3216|0)!=(0); - if (!($3217)) { - $3218 = HEAP32[$db>>2]|0; - $3219 = ((($3218)) + 500|0); - $3220 = HEAP32[$3219>>2]|0; - $3221 = (($3220) + -1)|0; - HEAP32[$3219>>2] = $3221; - } - } else { - $3222 = ((($3209)) + 8|0); - $3223 = $3222; - $3224 = $3223; - $3225 = HEAP32[$3224>>2]|0; - $3226 = (($3223) + 4)|0; - $3227 = $3226; - $3228 = HEAP32[$3227>>2]|0; - $3229 = HEAP32[$db>>2]|0; - $3230 = ((($3229)) + 512|0); - $3231 = $3230; - $3232 = $3231; - HEAP32[$3232>>2] = $3225; - $3233 = (($3231) + 4)|0; - $3234 = $3233; - HEAP32[$3234>>2] = $3228; - $3235 = HEAP32[$pSavepoint>>2]|0; - $3236 = ((($3235)) + 16|0); - $3237 = $3236; - $3238 = $3237; - $3239 = HEAP32[$3238>>2]|0; - $3240 = (($3237) + 4)|0; - $3241 = $3240; - $3242 = HEAP32[$3241>>2]|0; - $3243 = HEAP32[$db>>2]|0; - $3244 = ((($3243)) + 520|0); - $3245 = $3244; - $3246 = $3245; - HEAP32[$3246>>2] = $3239; - $3247 = (($3245) + 4)|0; - $3248 = $3247; - HEAP32[$3248>>2] = $3242; - } - $3249 = HEAP32[$isTransaction>>2]|0; - $3250 = ($3249|0)==(0); - $3251 = HEAP32[$p118>>2]|0; - $3252 = ($3251|0)==(2); - $or$cond10 = $3250 | $3252; - if ($or$cond10) { - $3253 = HEAP32[$db>>2]|0; - $3254 = HEAP32[$p118>>2]|0; - $3255 = HEAP32[$iSavepoint>>2]|0; - $3256 = (_sqlite3VtabSavepoint($3253,$3254,$3255)|0); - HEAP32[$rc>>2] = $3256; - $3257 = HEAP32[$rc>>2]|0; - $3258 = ($3257|0)!=(0); - if ($3258) { - label = 861; - break L8; - } - } - break; - } - case 1: { - $3259 = HEAP32[$pOp>>2]|0; - $3260 = ((($3259)) + 4|0); - $3261 = HEAP32[$3260>>2]|0; - HEAP32[$desiredAutoCommit>>2] = $3261; - $3262 = HEAP32[$pOp>>2]|0; - $3263 = ((($3262)) + 8|0); - $3264 = HEAP32[$3263>>2]|0; - HEAP32[$iRollback>>2] = $3264; - $3265 = HEAP32[$desiredAutoCommit>>2]|0; - $3266 = HEAP32[$db>>2]|0; - $3267 = ((($3266)) + 63|0); - $3268 = HEAP8[$3267>>0]|0; - $3269 = $3268&255; - $3270 = ($3265|0)!=($3269|0); - if (!($3270)) { - $3313 = HEAP32[$0>>2]|0; - $3314 = HEAP32[$desiredAutoCommit>>2]|0; - $3315 = ($3314|0)!=(0); - if ($3315) { - $3316 = HEAP32[$iRollback>>2]|0; - $3317 = ($3316|0)!=(0); - $3318 = $3317 ? 40924 : 40967; - $3319 = $3318; - } else { - $3319 = 41008; } - _sqlite3VdbeError($3313,$3319,$vararg_buffer55); - HEAP32[$rc>>2] = 1; - break L11; - } - $3271 = HEAP32[$iRollback>>2]|0; - $3272 = ($3271|0)!=(0); - if ($3272) { - label = 391; - break L8; - } - $3276 = HEAP32[$desiredAutoCommit>>2]|0; - $3277 = ($3276|0)!=(0); - if (!($3277)) { - label = 395; - break L8; - } - $3278 = HEAP32[$db>>2]|0; - $3279 = ((($3278)) + 156|0); - $3280 = HEAP32[$3279>>2]|0; - $3281 = ($3280|0)>(0); - if (!($3281)) { - label = 395; - break L8; + } while(0); + $$old = HEAP32[$rc>>2]|0; + $$old25 = ($$old|0)!=(0); + if ($$old25) { + break L1; } - $3282 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($3282,40869,$vararg_buffer53); - HEAP32[$rc>>2] = 5; break; } case 2: { - $3320 = HEAP32[$pOp>>2]|0; - $3321 = ((($3320)) + 8|0); - $3322 = HEAP32[$3321>>2]|0; - $3323 = ($3322|0)!=(0); - if ($3323) { - $3324 = HEAP32[$db>>2]|0; - $3325 = ((($3324)) + 24|0); - $3326 = HEAP32[$3325>>2]|0; - $3327 = $3326 & 33554432; - $3328 = ($3327|0)!=(0); - if ($3328) { - label = 407; + $3330 = HEAP32[$pOp>>2]|0; + $3331 = ((($3330)) + 8|0); + $3332 = HEAP32[$3331>>2]|0; + $3333 = ($3332|0)!=(0); + if ($3333) { + $3334 = HEAP32[$db>>2]|0; + $3335 = ((($3334)) + 24|0); + $3336 = HEAP32[$3335>>2]|0; + $3337 = $3336 & 33554432; + $3338 = ($3337|0)!=(0); + if ($3338) { + label = 409; break L8; } } - $3329 = HEAP32[$pOp>>2]|0; - $3330 = ((($3329)) + 4|0); - $3331 = HEAP32[$3330>>2]|0; - $3332 = HEAP32[$db>>2]|0; - $3333 = ((($3332)) + 16|0); - $3334 = HEAP32[$3333>>2]|0; - $3335 = (($3334) + ($3331<<4)|0); - $3336 = ((($3335)) + 4|0); - $3337 = HEAP32[$3336>>2]|0; - HEAP32[$pBt>>2] = $3337; - $3338 = HEAP32[$pBt>>2]|0; - $3339 = ($3338|0)!=(0|0); - if ($3339) { - $3340 = HEAP32[$pBt>>2]|0; - $3341 = HEAP32[$pOp>>2]|0; - $3342 = ((($3341)) + 8|0); - $3343 = HEAP32[$3342>>2]|0; - $3344 = (_sqlite3BtreeBeginTrans($3340,$3343)|0); - HEAP32[$rc>>2] = $3344; - $3345 = HEAP32[$rc>>2]|0; - $3346 = $3345 & 255; - $3347 = ($3346|0)==(5); - if ($3347) { - label = 410; + $3339 = HEAP32[$pOp>>2]|0; + $3340 = ((($3339)) + 4|0); + $3341 = HEAP32[$3340>>2]|0; + $3342 = HEAP32[$db>>2]|0; + $3343 = ((($3342)) + 16|0); + $3344 = HEAP32[$3343>>2]|0; + $3345 = (($3344) + ($3341<<4)|0); + $3346 = ((($3345)) + 4|0); + $3347 = HEAP32[$3346>>2]|0; + HEAP32[$pBt>>2] = $3347; + $3348 = HEAP32[$pBt>>2]|0; + $3349 = ($3348|0)!=(0|0); + if ($3349) { + $3350 = HEAP32[$pBt>>2]|0; + $3351 = HEAP32[$pOp>>2]|0; + $3352 = ((($3351)) + 8|0); + $3353 = HEAP32[$3352>>2]|0; + $3354 = (_sqlite3BtreeBeginTrans($3350,$3353)|0); + HEAP32[$rc>>2] = $3354; + $3355 = HEAP32[$rc>>2]|0; + $3356 = $3355 & 255; + $3357 = ($3356|0)==(5); + if ($3357) { + label = 412; break L8; } - $3359 = HEAP32[$rc>>2]|0; - $3360 = ($3359|0)!=(0); - if ($3360) { - label = 861; - break L8; + $3369 = HEAP32[$rc>>2]|0; + $3370 = ($3369|0)!=(0); + if ($3370) { + break L1; } - $3361 = HEAP32[$pOp>>2]|0; - $3362 = ((($3361)) + 8|0); - $3363 = HEAP32[$3362>>2]|0; - $3364 = ($3363|0)!=(0); + $3371 = HEAP32[$pOp>>2]|0; + $3372 = ((($3371)) + 8|0); + $3373 = HEAP32[$3372>>2]|0; + $3374 = ($3373|0)!=(0); do { - if ($3364) { - $3365 = HEAP32[$0>>2]|0; - $3366 = ((($3365)) + 88|0); - $3367 = HEAP16[$3366>>1]|0; - $3368 = ($3367&65535) >>> 5; - $3369 = $3368 & 1; - $3370 = $3369&65535; - $3371 = ($3370|0)!=(0); - if ($3371) { - $3372 = HEAP32[$db>>2]|0; - $3373 = ((($3372)) + 63|0); - $3374 = HEAP8[$3373>>0]|0; - $3375 = $3374&255; - $3376 = ($3375|0)==(0); - if (!($3376)) { - $3377 = HEAP32[$db>>2]|0; - $3378 = ((($3377)) + 152|0); - $3379 = HEAP32[$3378>>2]|0; - $3380 = ($3379|0)>(1); - if (!($3380)) { + if ($3374) { + $3375 = HEAP32[$0>>2]|0; + $3376 = ((($3375)) + 89|0); + $3377 = HEAP8[$3376>>0]|0; + $3378 = ($3377&255) >>> 4; + $3379 = $3378 & 1; + $3380 = $3379&255; + $3381 = ($3380|0)!=(0); + if ($3381) { + $3382 = HEAP32[$db>>2]|0; + $3383 = ((($3382)) + 67|0); + $3384 = HEAP8[$3383>>0]|0; + $3385 = $3384&255; + $3386 = ($3385|0)==(0); + if (!($3386)) { + $3387 = HEAP32[$db>>2]|0; + $3388 = ((($3387)) + 156|0); + $3389 = HEAP32[$3388>>2]|0; + $3390 = ($3389|0)>(1); + if (!($3390)) { break; } } - $3381 = HEAP32[$0>>2]|0; - $3382 = ((($3381)) + 104|0); - $3383 = HEAP32[$3382>>2]|0; - $3384 = ($3383|0)==(0); - if ($3384) { - $3385 = HEAP32[$db>>2]|0; - $3386 = ((($3385)) + 504|0); - $3387 = HEAP32[$3386>>2]|0; - $3388 = (($3387) + 1)|0; - HEAP32[$3386>>2] = $3388; - $3389 = HEAP32[$db>>2]|0; - $3390 = ((($3389)) + 500|0); - $3391 = HEAP32[$3390>>2]|0; - $3392 = HEAP32[$db>>2]|0; - $3393 = ((($3392)) + 504|0); - $3394 = HEAP32[$3393>>2]|0; - $3395 = (($3391) + ($3394))|0; - $3396 = HEAP32[$0>>2]|0; - $3397 = ((($3396)) + 104|0); - HEAP32[$3397>>2] = $3395; + $3391 = HEAP32[$0>>2]|0; + $3392 = ((($3391)) + 104|0); + $3393 = HEAP32[$3392>>2]|0; + $3394 = ($3393|0)==(0); + if ($3394) { + $3395 = HEAP32[$db>>2]|0; + $3396 = ((($3395)) + 436|0); + $3397 = HEAP32[$3396>>2]|0; + $3398 = (($3397) + 1)|0; + HEAP32[$3396>>2] = $3398; + $3399 = HEAP32[$db>>2]|0; + $3400 = ((($3399)) + 432|0); + $3401 = HEAP32[$3400>>2]|0; + $3402 = HEAP32[$db>>2]|0; + $3403 = ((($3402)) + 436|0); + $3404 = HEAP32[$3403>>2]|0; + $3405 = (($3401) + ($3404))|0; + $3406 = HEAP32[$0>>2]|0; + $3407 = ((($3406)) + 104|0); + HEAP32[$3407>>2] = $3405; } - $3398 = HEAP32[$db>>2]|0; - $3399 = HEAP32[$0>>2]|0; - $3400 = ((($3399)) + 104|0); - $3401 = HEAP32[$3400>>2]|0; - $3402 = (($3401) - 1)|0; - $3403 = (_sqlite3VtabSavepoint($3398,0,$3402)|0); - HEAP32[$rc>>2] = $3403; - $3404 = HEAP32[$rc>>2]|0; - $3405 = ($3404|0)==(0); - if ($3405) { - $3406 = HEAP32[$pBt>>2]|0; - $3407 = HEAP32[$0>>2]|0; - $3408 = ((($3407)) + 104|0); - $3409 = HEAP32[$3408>>2]|0; - $3410 = (_sqlite3BtreeBeginStmt($3406,$3409)|0); - HEAP32[$rc>>2] = $3410; + $3408 = HEAP32[$db>>2]|0; + $3409 = HEAP32[$0>>2]|0; + $3410 = ((($3409)) + 104|0); + $3411 = HEAP32[$3410>>2]|0; + $3412 = (($3411) - 1)|0; + $3413 = (_sqlite3VtabSavepoint($3408,0,$3412)|0); + HEAP32[$rc>>2] = $3413; + $3414 = HEAP32[$rc>>2]|0; + $3415 = ($3414|0)==(0); + if ($3415) { + $3416 = HEAP32[$pBt>>2]|0; + $3417 = HEAP32[$0>>2]|0; + $3418 = ((($3417)) + 104|0); + $3419 = HEAP32[$3418>>2]|0; + $3420 = (_sqlite3BtreeBeginStmt($3416,$3419)|0); + HEAP32[$rc>>2] = $3420; } - $3411 = HEAP32[$db>>2]|0; - $3412 = ((($3411)) + 512|0); - $3413 = $3412; - $3414 = $3413; - $3415 = HEAP32[$3414>>2]|0; - $3416 = (($3413) + 4)|0; - $3417 = $3416; - $3418 = HEAP32[$3417>>2]|0; - $3419 = HEAP32[$0>>2]|0; - $3420 = ((($3419)) + 152|0); - $3421 = $3420; - $3422 = $3421; - HEAP32[$3422>>2] = $3415; - $3423 = (($3421) + 4)|0; + $3421 = HEAP32[$db>>2]|0; + $3422 = ((($3421)) + 440|0); + $3423 = $3422; $3424 = $3423; - HEAP32[$3424>>2] = $3418; - $3425 = HEAP32[$db>>2]|0; - $3426 = ((($3425)) + 520|0); + $3425 = HEAP32[$3424>>2]|0; + $3426 = (($3423) + 4)|0; $3427 = $3426; - $3428 = $3427; - $3429 = HEAP32[$3428>>2]|0; - $3430 = (($3427) + 4)|0; + $3428 = HEAP32[$3427>>2]|0; + $3429 = HEAP32[$0>>2]|0; + $3430 = ((($3429)) + 152|0); $3431 = $3430; - $3432 = HEAP32[$3431>>2]|0; - $3433 = HEAP32[$0>>2]|0; - $3434 = ((($3433)) + 160|0); - $3435 = $3434; - $3436 = $3435; - HEAP32[$3436>>2] = $3429; - $3437 = (($3435) + 4)|0; + $3432 = $3431; + HEAP32[$3432>>2] = $3425; + $3433 = (($3431) + 4)|0; + $3434 = $3433; + HEAP32[$3434>>2] = $3428; + $3435 = HEAP32[$db>>2]|0; + $3436 = ((($3435)) + 448|0); + $3437 = $3436; $3438 = $3437; - HEAP32[$3438>>2] = $3432; + $3439 = HEAP32[$3438>>2]|0; + $3440 = (($3437) + 4)|0; + $3441 = $3440; + $3442 = HEAP32[$3441>>2]|0; + $3443 = HEAP32[$0>>2]|0; + $3444 = ((($3443)) + 160|0); + $3445 = $3444; + $3446 = $3445; + HEAP32[$3446>>2] = $3439; + $3447 = (($3445) + 4)|0; + $3448 = $3447; + HEAP32[$3448>>2] = $3442; } } } while(0); - $3439 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeGetMeta($3439,1,$iMeta); - $3440 = HEAP32[$pOp>>2]|0; - $3441 = ((($3440)) + 4|0); - $3442 = HEAP32[$3441>>2]|0; - $3443 = HEAP32[$db>>2]|0; - $3444 = ((($3443)) + 16|0); - $3445 = HEAP32[$3444>>2]|0; - $3446 = (($3445) + ($3442<<4)|0); - $3447 = ((($3446)) + 12|0); - $3448 = HEAP32[$3447>>2]|0; - $3449 = ((($3448)) + 4|0); - $3450 = HEAP32[$3449>>2]|0; - HEAP32[$iGen>>2] = $3450; + $3449 = HEAP32[$pBt>>2]|0; + _sqlite3BtreeGetMeta($3449,1,$iMeta); + $3450 = HEAP32[$pOp>>2]|0; + $3451 = ((($3450)) + 4|0); + $3452 = HEAP32[$3451>>2]|0; + $3453 = HEAP32[$db>>2]|0; + $3454 = ((($3453)) + 16|0); + $3455 = HEAP32[$3454>>2]|0; + $3456 = (($3455) + ($3452<<4)|0); + $3457 = ((($3456)) + 12|0); + $3458 = HEAP32[$3457>>2]|0; + $3459 = ((($3458)) + 4|0); + $3460 = HEAP32[$3459>>2]|0; + HEAP32[$iGen>>2] = $3460; } else { HEAP32[$iMeta>>2] = 0; HEAP32[$iGen>>2] = 0; } - $3451 = HEAP32[$pOp>>2]|0; - $3452 = ((($3451)) + 3|0); - $3453 = HEAP8[$3452>>0]|0; - $3454 = $3453&255; - $3455 = ($3454|0)!=(0); - if ($3455) { - $3456 = HEAP32[$iMeta>>2]|0; - $3457 = HEAP32[$pOp>>2]|0; - $3458 = ((($3457)) + 12|0); - $3459 = HEAP32[$3458>>2]|0; - $3460 = ($3456|0)!=($3459|0); - if (!($3460)) { - $3461 = HEAP32[$iGen>>2]|0; - $3462 = HEAP32[$pOp>>2]|0; - $3463 = ((($3462)) + 16|0); - $3464 = HEAP32[$3463>>2]|0; - $3465 = ($3461|0)!=($3464|0); - if (!($3465)) { - break L11; + $3461 = HEAP32[$pOp>>2]|0; + $3462 = ((($3461)) + 3|0); + $3463 = HEAP8[$3462>>0]|0; + $3464 = $3463&255; + $3465 = ($3464|0)!=(0); + do { + if ($3465) { + $3466 = HEAP32[$iMeta>>2]|0; + $3467 = HEAP32[$pOp>>2]|0; + $3468 = ((($3467)) + 12|0); + $3469 = HEAP32[$3468>>2]|0; + $3470 = ($3466|0)!=($3469|0); + if (!($3470)) { + $3471 = HEAP32[$iGen>>2]|0; + $3472 = HEAP32[$pOp>>2]|0; + $3473 = ((($3472)) + 16|0); + $3474 = HEAP32[$3473>>2]|0; + $3475 = ($3471|0)!=($3474|0); + if (!($3475)) { + break; + } } - } - $3466 = HEAP32[$db>>2]|0; - $3467 = HEAP32[$0>>2]|0; - $3468 = ((($3467)) + 44|0); - $3469 = HEAP32[$3468>>2]|0; - _sqlite3DbFree($3466,$3469); - $3470 = HEAP32[$db>>2]|0; - $3471 = (_sqlite3DbStrDup($3470,41056)|0); - $3472 = HEAP32[$0>>2]|0; - $3473 = ((($3472)) + 44|0); - HEAP32[$3473>>2] = $3471; - $3474 = HEAP32[$pOp>>2]|0; - $3475 = ((($3474)) + 4|0); - $3476 = HEAP32[$3475>>2]|0; - $3477 = HEAP32[$db>>2]|0; - $3478 = ((($3477)) + 16|0); - $3479 = HEAP32[$3478>>2]|0; - $3480 = (($3479) + ($3476<<4)|0); - $3481 = ((($3480)) + 12|0); - $3482 = HEAP32[$3481>>2]|0; - $3483 = HEAP32[$3482>>2]|0; - $3484 = HEAP32[$iMeta>>2]|0; - $3485 = ($3483|0)!=($3484|0); - if ($3485) { - $3486 = HEAP32[$db>>2]|0; - $3487 = HEAP32[$pOp>>2]|0; - $3488 = ((($3487)) + 4|0); + $3476 = HEAP32[$db>>2]|0; + $3477 = HEAP32[$0>>2]|0; + $3478 = ((($3477)) + 44|0); + $3479 = HEAP32[$3478>>2]|0; + _sqlite3DbFree($3476,$3479); + $3480 = HEAP32[$db>>2]|0; + $3481 = (_sqlite3DbStrDup($3480,40707)|0); + $3482 = HEAP32[$0>>2]|0; + $3483 = ((($3482)) + 44|0); + HEAP32[$3483>>2] = $3481; + $3484 = HEAP32[$pOp>>2]|0; + $3485 = ((($3484)) + 4|0); + $3486 = HEAP32[$3485>>2]|0; + $3487 = HEAP32[$db>>2]|0; + $3488 = ((($3487)) + 16|0); $3489 = HEAP32[$3488>>2]|0; - _sqlite3ResetOneSchema($3486,$3489); + $3490 = (($3489) + ($3486<<4)|0); + $3491 = ((($3490)) + 12|0); + $3492 = HEAP32[$3491>>2]|0; + $3493 = HEAP32[$3492>>2]|0; + $3494 = HEAP32[$iMeta>>2]|0; + $3495 = ($3493|0)!=($3494|0); + if ($3495) { + $3496 = HEAP32[$db>>2]|0; + $3497 = HEAP32[$pOp>>2]|0; + $3498 = ((($3497)) + 4|0); + $3499 = HEAP32[$3498>>2]|0; + _sqlite3ResetOneSchema($3496,$3499); + } + $3500 = HEAP32[$0>>2]|0; + $3501 = ((($3500)) + 87|0); + $3502 = HEAP8[$3501>>0]|0; + $3503 = $3502 & -2; + $3504 = $3503 | 1; + HEAP8[$3501>>0] = $3504; + HEAP32[$rc>>2] = 17; } - $3490 = HEAP32[$0>>2]|0; - $3491 = ((($3490)) + 88|0); - $3492 = HEAP16[$3491>>1]|0; - $3493 = $3492 & -9; - $3494 = $3493 | 8; - HEAP16[$3491>>1] = $3494; - HEAP32[$rc>>2] = 17; + } while(0); + $3505 = HEAP32[$rc>>2]|0; + $3506 = ($3505|0)!=(0); + if ($3506) { + break L1; } break; } case 51: { - $3495 = HEAP32[$pOp>>2]|0; - $3496 = ((($3495)) + 4|0); - $3497 = HEAP32[$3496>>2]|0; - HEAP32[$iDb>>2] = $3497; - $3498 = HEAP32[$pOp>>2]|0; - $3499 = ((($3498)) + 12|0); - $3500 = HEAP32[$3499>>2]|0; - HEAP32[$iCookie>>2] = $3500; - $3501 = HEAP32[$iDb>>2]|0; - $3502 = HEAP32[$db>>2]|0; - $3503 = ((($3502)) + 16|0); - $3504 = HEAP32[$3503>>2]|0; - $3505 = (($3504) + ($3501<<4)|0); - $3506 = ((($3505)) + 4|0); - $3507 = HEAP32[$3506>>2]|0; - $3508 = HEAP32[$iCookie>>2]|0; - _sqlite3BtreeGetMeta($3507,$3508,$iMeta19); - $3509 = HEAP32[$0>>2]|0; + $3507 = HEAP32[$pOp>>2]|0; + $3508 = ((($3507)) + 4|0); + $3509 = HEAP32[$3508>>2]|0; + HEAP32[$iDb>>2] = $3509; $3510 = HEAP32[$pOp>>2]|0; - $3511 = (_out2Prerelease($3509,$3510)|0); - HEAP32[$pOut>>2] = $3511; - $3512 = HEAP32[$iMeta19>>2]|0; - $3513 = ($3512|0)<(0); - $3514 = $3513 << 31 >> 31; - $3515 = HEAP32[$pOut>>2]|0; - $3516 = $3515; - $3517 = $3516; - HEAP32[$3517>>2] = $3512; - $3518 = (($3516) + 4)|0; - $3519 = $3518; - HEAP32[$3519>>2] = $3514; + $3511 = ((($3510)) + 12|0); + $3512 = HEAP32[$3511>>2]|0; + HEAP32[$iCookie>>2] = $3512; + $3513 = HEAP32[$iDb>>2]|0; + $3514 = HEAP32[$db>>2]|0; + $3515 = ((($3514)) + 16|0); + $3516 = HEAP32[$3515>>2]|0; + $3517 = (($3516) + ($3513<<4)|0); + $3518 = ((($3517)) + 4|0); + $3519 = HEAP32[$3518>>2]|0; + $3520 = HEAP32[$iCookie>>2]|0; + _sqlite3BtreeGetMeta($3519,$3520,$iMeta19); + $3521 = HEAP32[$0>>2]|0; + $3522 = HEAP32[$pOp>>2]|0; + $3523 = (_out2Prerelease($3521,$3522)|0); + HEAP32[$pOut>>2] = $3523; + $3524 = HEAP32[$iMeta19>>2]|0; + $3525 = ($3524|0)<(0); + $3526 = $3525 << 31 >> 31; + $3527 = HEAP32[$pOut>>2]|0; + $3528 = $3527; + $3529 = $3528; + HEAP32[$3529>>2] = $3524; + $3530 = (($3528) + 4)|0; + $3531 = $3530; + HEAP32[$3531>>2] = $3526; break; } case 52: { - $3520 = HEAP32[$pOp>>2]|0; - $3521 = ((($3520)) + 4|0); - $3522 = HEAP32[$3521>>2]|0; - $3523 = HEAP32[$db>>2]|0; - $3524 = ((($3523)) + 16|0); - $3525 = HEAP32[$3524>>2]|0; - $3526 = (($3525) + ($3522<<4)|0); - HEAP32[$pDb>>2] = $3526; - $3527 = HEAP32[$pDb>>2]|0; - $3528 = ((($3527)) + 4|0); - $3529 = HEAP32[$3528>>2]|0; - $3530 = HEAP32[$pOp>>2]|0; - $3531 = ((($3530)) + 8|0); - $3532 = HEAP32[$3531>>2]|0; - $3533 = HEAP32[$pOp>>2]|0; - $3534 = ((($3533)) + 12|0); - $3535 = HEAP32[$3534>>2]|0; - $3536 = (_sqlite3BtreeUpdateMeta($3529,$3532,$3535)|0); - HEAP32[$rc>>2] = $3536; - $3537 = HEAP32[$pOp>>2]|0; - $3538 = ((($3537)) + 8|0); - $3539 = HEAP32[$3538>>2]|0; - $3540 = ($3539|0)==(1); - $3541 = HEAP32[$pOp>>2]|0; - if ($3540) { - $3542 = ((($3541)) + 12|0); - $3543 = HEAP32[$3542>>2]|0; - $3544 = HEAP32[$pDb>>2]|0; - $3545 = ((($3544)) + 12|0); - $3546 = HEAP32[$3545>>2]|0; - HEAP32[$3546>>2] = $3543; - $3547 = HEAP32[$db>>2]|0; - $3548 = ((($3547)) + 24|0); - $3549 = HEAP32[$3548>>2]|0; - $3550 = $3549 | 2; - HEAP32[$3548>>2] = $3550; + $3532 = HEAP32[$pOp>>2]|0; + $3533 = ((($3532)) + 4|0); + $3534 = HEAP32[$3533>>2]|0; + $3535 = HEAP32[$db>>2]|0; + $3536 = ((($3535)) + 16|0); + $3537 = HEAP32[$3536>>2]|0; + $3538 = (($3537) + ($3534<<4)|0); + HEAP32[$pDb>>2] = $3538; + $3539 = HEAP32[$pDb>>2]|0; + $3540 = ((($3539)) + 4|0); + $3541 = HEAP32[$3540>>2]|0; + $3542 = HEAP32[$pOp>>2]|0; + $3543 = ((($3542)) + 8|0); + $3544 = HEAP32[$3543>>2]|0; + $3545 = HEAP32[$pOp>>2]|0; + $3546 = ((($3545)) + 12|0); + $3547 = HEAP32[$3546>>2]|0; + $3548 = (_sqlite3BtreeUpdateMeta($3541,$3544,$3547)|0); + HEAP32[$rc>>2] = $3548; + $3549 = HEAP32[$pOp>>2]|0; + $3550 = ((($3549)) + 8|0); + $3551 = HEAP32[$3550>>2]|0; + $3552 = ($3551|0)==(1); + $3553 = HEAP32[$pOp>>2]|0; + if ($3552) { + $3554 = ((($3553)) + 12|0); + $3555 = HEAP32[$3554>>2]|0; + $3556 = HEAP32[$pDb>>2]|0; + $3557 = ((($3556)) + 12|0); + $3558 = HEAP32[$3557>>2]|0; + HEAP32[$3558>>2] = $3555; + $3559 = HEAP32[$db>>2]|0; + $3560 = ((($3559)) + 24|0); + $3561 = HEAP32[$3560>>2]|0; + $3562 = $3561 | 2; + HEAP32[$3560>>2] = $3562; } else { - $3551 = ((($3541)) + 8|0); - $3552 = HEAP32[$3551>>2]|0; - $3553 = ($3552|0)==(2); - if ($3553) { - $3554 = HEAP32[$pOp>>2]|0; - $3555 = ((($3554)) + 12|0); - $3556 = HEAP32[$3555>>2]|0; - $3557 = $3556&255; - $3558 = HEAP32[$pDb>>2]|0; - $3559 = ((($3558)) + 12|0); - $3560 = HEAP32[$3559>>2]|0; - $3561 = ((($3560)) + 76|0); - HEAP8[$3561>>0] = $3557; + $3563 = ((($3553)) + 8|0); + $3564 = HEAP32[$3563>>2]|0; + $3565 = ($3564|0)==(2); + if ($3565) { + $3566 = HEAP32[$pOp>>2]|0; + $3567 = ((($3566)) + 12|0); + $3568 = HEAP32[$3567>>2]|0; + $3569 = $3568&255; + $3570 = HEAP32[$pDb>>2]|0; + $3571 = ((($3570)) + 12|0); + $3572 = HEAP32[$3571>>2]|0; + $3573 = ((($3572)) + 76|0); + HEAP8[$3573>>0] = $3569; } } - $3562 = HEAP32[$pOp>>2]|0; - $3563 = ((($3562)) + 4|0); - $3564 = HEAP32[$3563>>2]|0; - $3565 = ($3564|0)==(1); - if ($3565) { - $3566 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($3566); - $3567 = HEAP32[$0>>2]|0; - $3568 = ((($3567)) + 88|0); - $3569 = HEAP16[$3568>>1]|0; - $3570 = $3569 & -9; - HEAP16[$3568>>1] = $3570; + $3574 = HEAP32[$pOp>>2]|0; + $3575 = ((($3574)) + 4|0); + $3576 = HEAP32[$3575>>2]|0; + $3577 = ($3576|0)==(1); + if ($3577) { + $3578 = HEAP32[$db>>2]|0; + _sqlite3ExpirePreparedStatements($3578); + $3579 = HEAP32[$0>>2]|0; + $3580 = ((($3579)) + 87|0); + $3581 = HEAP8[$3580>>0]|0; + $3582 = $3581 & -2; + HEAP8[$3580>>0] = $3582; + } + $3583 = HEAP32[$rc>>2]|0; + $3584 = ($3583|0)!=(0); + if ($3584) { + break L1; } break; } case 53: { - $3571 = HEAP32[$pOp>>2]|0; - $3572 = ((($3571)) + 4|0); - $3573 = HEAP32[$3572>>2]|0; - $3574 = HEAP32[$0>>2]|0; - $3575 = ((($3574)) + 56|0); - $3576 = HEAP32[$3575>>2]|0; - $3577 = (($3576) + ($3573<<2)|0); - $3578 = HEAP32[$3577>>2]|0; - HEAP32[$pCur>>2] = $3578; - $3579 = HEAP32[$pCur>>2]|0; - $3580 = ($3579|0)!=(0|0); - if ($3580) { - $3581 = HEAP32[$pCur>>2]|0; - $3582 = ((($3581)) + 8|0); - $3583 = HEAP32[$3582>>2]|0; - $3584 = HEAP32[$pOp>>2]|0; - $3585 = ((($3584)) + 8|0); - $3586 = HEAP32[$3585>>2]|0; - $3587 = ($3583|0)==($3586|0); - if ($3587) { - label = 453; + $3585 = HEAP32[$pOp>>2]|0; + $3586 = ((($3585)) + 4|0); + $3587 = HEAP32[$3586>>2]|0; + $3588 = HEAP32[$0>>2]|0; + $3589 = ((($3588)) + 56|0); + $3590 = HEAP32[$3589>>2]|0; + $3591 = (($3590) + ($3587<<2)|0); + $3592 = HEAP32[$3591>>2]|0; + HEAP32[$pCur>>2] = $3592; + $3593 = HEAP32[$pCur>>2]|0; + $3594 = ($3593|0)!=(0|0); + if ($3594) { + $3595 = HEAP32[$pCur>>2]|0; + $3596 = ((($3595)) + 8|0); + $3597 = HEAP32[$3596>>2]|0; + $3598 = HEAP32[$pOp>>2]|0; + $3599 = ((($3598)) + 8|0); + $3600 = HEAP32[$3599>>2]|0; + $3601 = ($3597|0)==($3600|0); + if ($3601) { + label = 456; } else { - label = 438; + label = 442; } } else { - label = 438; + label = 442; } break; } case 55: case 54: { - label = 438; + label = 442; break; } case 57: case 56: { - $3728 = HEAP32[$0>>2]|0; - $3729 = HEAP32[$pOp>>2]|0; - $3730 = ((($3729)) + 4|0); - $3731 = HEAP32[$3730>>2]|0; - $3732 = HEAP32[$pOp>>2]|0; - $3733 = ((($3732)) + 8|0); - $3734 = HEAP32[$3733>>2]|0; - $3735 = (_allocateCursor($3728,$3731,$3734,-1,0)|0); - HEAP32[$pCx>>2] = $3735; - $3736 = HEAP32[$pCx>>2]|0; - $3737 = ($3736|0)==(0|0); - if ($3737) { - label = 860; - break L1; - } - $3738 = HEAP32[$pCx>>2]|0; - $3739 = ((($3738)) + 2|0); - HEAP8[$3739>>0] = 1; - $3740 = HEAP32[$pCx>>2]|0; - $3741 = ((($3740)) + 5|0); - $3742 = HEAP8[$3741>>0]|0; - $3743 = $3742 & -2; - $3744 = $3743 | 1; - HEAP8[$3741>>0] = $3744; - $3745 = HEAP32[$db>>2]|0; + $3740 = HEAP32[$0>>2]|0; + $3741 = HEAP32[$pOp>>2]|0; + $3742 = ((($3741)) + 4|0); + $3743 = HEAP32[$3742>>2]|0; + $3744 = HEAP32[$pOp>>2]|0; + $3745 = ((($3744)) + 8|0); $3746 = HEAP32[$3745>>2]|0; - $3747 = HEAP32[$db>>2]|0; + $3747 = (_allocateCursor($3740,$3743,$3746,-1,0)|0); + HEAP32[$pCx>>2] = $3747; $3748 = HEAP32[$pCx>>2]|0; - $3749 = ((($3748)) + 20|0); - $3750 = HEAP32[$pOp>>2]|0; - $3751 = ((($3750)) + 3|0); - $3752 = HEAP8[$3751>>0]|0; - $3753 = $3752&255; - $3754 = 5 | $3753; - $3755 = (_sqlite3BtreeOpen($3746,0,$3747,$3749,$3754,1054)|0); - HEAP32[$rc>>2] = $3755; - $3756 = HEAP32[$rc>>2]|0; - $3757 = ($3756|0)==(0); - if ($3757) { - $3758 = HEAP32[$pCx>>2]|0; - $3759 = ((($3758)) + 20|0); - $3760 = HEAP32[$3759>>2]|0; - $3761 = (_sqlite3BtreeBeginTrans($3760,1)|0); - HEAP32[$rc>>2] = $3761; + $3749 = ($3748|0)==(0|0); + if ($3749) { + label = 883; + break L1; + } + $3750 = HEAP32[$pCx>>2]|0; + $3751 = ((($3750)) + 2|0); + HEAP8[$3751>>0] = 1; + $3752 = HEAP32[$pCx>>2]|0; + $3753 = ((($3752)) + 5|0); + $3754 = HEAP8[$3753>>0]|0; + $3755 = $3754 & -2; + $3756 = $3755 | 1; + HEAP8[$3753>>0] = $3756; + $3757 = HEAP32[$db>>2]|0; + $3758 = HEAP32[$3757>>2]|0; + $3759 = HEAP32[$db>>2]|0; + $3760 = HEAP32[$pCx>>2]|0; + $3761 = ((($3760)) + 20|0); + $3762 = HEAP32[$pOp>>2]|0; + $3763 = ((($3762)) + 3|0); + $3764 = HEAP8[$3763>>0]|0; + $3765 = $3764&255; + $3766 = 5 | $3765; + $3767 = (_sqlite3BtreeOpen($3758,0,$3759,$3761,$3766,1054)|0); + HEAP32[$rc>>2] = $3767; + $3768 = HEAP32[$rc>>2]|0; + $3769 = ($3768|0)==(0); + if ($3769) { + $3770 = HEAP32[$pCx>>2]|0; + $3771 = ((($3770)) + 20|0); + $3772 = HEAP32[$3771>>2]|0; + $3773 = (_sqlite3BtreeBeginTrans($3772,1)|0); + HEAP32[$rc>>2] = $3773; } - $3762 = HEAP32[$rc>>2]|0; - $3763 = ($3762|0)==(0); + $3774 = HEAP32[$rc>>2]|0; + $3775 = ($3774|0)==(0); do { - if ($3763) { - $3764 = HEAP32[$pOp>>2]|0; - $3765 = ((($3764)) + 16|0); - $3766 = HEAP32[$3765>>2]|0; - HEAP32[$pKeyInfo25>>2] = $3766; - $3767 = ($3766|0)!=(0|0); - $3768 = HEAP32[$pCx>>2]|0; - $3769 = ((($3768)) + 20|0); - $3770 = HEAP32[$3769>>2]|0; - if (!($3767)) { - $3793 = HEAP32[$pCx>>2]|0; - $3794 = ((($3793)) + 16|0); - $3795 = HEAP32[$3794>>2]|0; - $3796 = (_sqlite3BtreeCursor($3770,1,4,0,$3795)|0); - HEAP32[$rc>>2] = $3796; - $3797 = HEAP32[$pCx>>2]|0; - $3798 = ((($3797)) + 4|0); - HEAP8[$3798>>0] = 1; + if ($3775) { + $3776 = HEAP32[$pOp>>2]|0; + $3777 = ((($3776)) + 16|0); + $3778 = HEAP32[$3777>>2]|0; + HEAP32[$pKeyInfo25>>2] = $3778; + $3779 = ($3778|0)!=(0|0); + $3780 = HEAP32[$pCx>>2]|0; + $3781 = ((($3780)) + 20|0); + $3782 = HEAP32[$3781>>2]|0; + if (!($3779)) { + $3805 = HEAP32[$pCx>>2]|0; + $3806 = ((($3805)) + 16|0); + $3807 = HEAP32[$3806>>2]|0; + $3808 = (_sqlite3BtreeCursor($3782,1,4,0,$3807)|0); + HEAP32[$rc>>2] = $3808; + $3809 = HEAP32[$pCx>>2]|0; + $3810 = ((($3809)) + 4|0); + HEAP8[$3810>>0] = 1; break; } - $3771 = HEAP32[$pOp>>2]|0; - $3772 = ((($3771)) + 3|0); - $3773 = HEAP8[$3772>>0]|0; - $3774 = $3773&255; - $3775 = 2 | $3774; - $3776 = (_sqlite3BtreeCreateTable($3770,$pgno,$3775)|0); - HEAP32[$rc>>2] = $3776; - $3777 = HEAP32[$rc>>2]|0; - $3778 = ($3777|0)==(0); - if ($3778) { - $3779 = HEAP32[$pKeyInfo25>>2]|0; - $3780 = HEAP32[$pCx>>2]|0; - $3781 = ((($3780)) + 24|0); - HEAP32[$3781>>2] = $3779; - $3782 = HEAP32[$pCx>>2]|0; - $3783 = ((($3782)) + 20|0); - $3784 = HEAP32[$3783>>2]|0; - $3785 = HEAP32[$pgno>>2]|0; - $3786 = HEAP32[$pKeyInfo25>>2]|0; - $3787 = HEAP32[$pCx>>2]|0; - $3788 = ((($3787)) + 16|0); - $3789 = HEAP32[$3788>>2]|0; - $3790 = (_sqlite3BtreeCursor($3784,$3785,4,$3786,$3789)|0); - HEAP32[$rc>>2] = $3790; + $3783 = HEAP32[$pOp>>2]|0; + $3784 = ((($3783)) + 3|0); + $3785 = HEAP8[$3784>>0]|0; + $3786 = $3785&255; + $3787 = 2 | $3786; + $3788 = (_sqlite3BtreeCreateTable($3782,$pgno,$3787)|0); + HEAP32[$rc>>2] = $3788; + $3789 = HEAP32[$rc>>2]|0; + $3790 = ($3789|0)==(0); + if ($3790) { + $3791 = HEAP32[$pKeyInfo25>>2]|0; + $3792 = HEAP32[$pCx>>2]|0; + $3793 = ((($3792)) + 24|0); + HEAP32[$3793>>2] = $3791; + $3794 = HEAP32[$pCx>>2]|0; + $3795 = ((($3794)) + 20|0); + $3796 = HEAP32[$3795>>2]|0; + $3797 = HEAP32[$pgno>>2]|0; + $3798 = HEAP32[$pKeyInfo25>>2]|0; + $3799 = HEAP32[$pCx>>2]|0; + $3800 = ((($3799)) + 16|0); + $3801 = HEAP32[$3800>>2]|0; + $3802 = (_sqlite3BtreeCursor($3796,$3797,4,$3798,$3801)|0); + HEAP32[$rc>>2] = $3802; } - $3791 = HEAP32[$pCx>>2]|0; - $3792 = ((($3791)) + 4|0); - HEAP8[$3792>>0] = 0; + $3803 = HEAP32[$pCx>>2]|0; + $3804 = ((($3803)) + 4|0); + HEAP8[$3804>>0] = 0; } } while(0); - $3799 = HEAP32[$pOp>>2]|0; - $3800 = ((($3799)) + 3|0); - $3801 = HEAP8[$3800>>0]|0; - $3802 = $3801&255; - $3803 = ($3802|0)!=(8); - $3804 = $3803&1; - $3805 = HEAP32[$pCx>>2]|0; - $3806 = ((($3805)) + 5|0); - $3807 = $3804&255; - $3808 = HEAP8[$3806>>0]|0; - $3809 = $3807 & 1; - $3810 = ($3809 << 2)&255; - $3811 = $3808 & -5; - $3812 = $3811 | $3810; - HEAP8[$3806>>0] = $3812; + $3811 = HEAP32[$rc>>2]|0; + $3812 = ($3811|0)!=(0); + if ($3812) { + break L1; + } + $3813 = HEAP32[$pOp>>2]|0; + $3814 = ((($3813)) + 3|0); + $3815 = HEAP8[$3814>>0]|0; + $3816 = $3815&255; + $3817 = ($3816|0)!=(8); + $3818 = $3817&1; + $3819 = HEAP32[$pCx>>2]|0; + $3820 = ((($3819)) + 5|0); + $3821 = $3818&255; + $3822 = HEAP8[$3820>>0]|0; + $3823 = $3821 & 1; + $3824 = ($3823 << 2)&255; + $3825 = $3822 & -5; + $3826 = $3825 | $3824; + HEAP8[$3820>>0] = $3826; break; } case 58: { - $3813 = HEAP32[$0>>2]|0; - $3814 = HEAP32[$pOp>>2]|0; - $3815 = ((($3814)) + 4|0); - $3816 = HEAP32[$3815>>2]|0; - $3817 = HEAP32[$pOp>>2]|0; - $3818 = ((($3817)) + 8|0); - $3819 = HEAP32[$3818>>2]|0; - $3820 = (_allocateCursor($3813,$3816,$3819,-1,1)|0); - HEAP32[$pCx26>>2] = $3820; - $3821 = HEAP32[$pCx26>>2]|0; - $3822 = ($3821|0)==(0|0); - if ($3822) { - label = 860; + $3827 = HEAP32[$0>>2]|0; + $3828 = HEAP32[$pOp>>2]|0; + $3829 = ((($3828)) + 4|0); + $3830 = HEAP32[$3829>>2]|0; + $3831 = HEAP32[$pOp>>2]|0; + $3832 = ((($3831)) + 8|0); + $3833 = HEAP32[$3832>>2]|0; + $3834 = (_allocateCursor($3827,$3830,$3833,-1,1)|0); + HEAP32[$pCx26>>2] = $3834; + $3835 = HEAP32[$pCx26>>2]|0; + $3836 = ($3835|0)==(0|0); + if ($3836) { + label = 883; break L1; } - $3823 = HEAP32[$pOp>>2]|0; - $3824 = ((($3823)) + 16|0); - $3825 = HEAP32[$3824>>2]|0; - $3826 = HEAP32[$pCx26>>2]|0; - $3827 = ((($3826)) + 24|0); - HEAP32[$3827>>2] = $3825; - $3828 = HEAP32[$db>>2]|0; - $3829 = HEAP32[$pOp>>2]|0; - $3830 = ((($3829)) + 12|0); - $3831 = HEAP32[$3830>>2]|0; - $3832 = HEAP32[$pCx26>>2]|0; - $3833 = (_sqlite3VdbeSorterInit($3828,$3831,$3832)|0); - HEAP32[$rc>>2] = $3833; - break; - } - case 59: { - $3834 = HEAP32[$pOp>>2]|0; - $3835 = ((($3834)) + 4|0); - $3836 = HEAP32[$3835>>2]|0; - $3837 = HEAP32[$0>>2]|0; - $3838 = ((($3837)) + 56|0); + $3837 = HEAP32[$pOp>>2]|0; + $3838 = ((($3837)) + 16|0); $3839 = HEAP32[$3838>>2]|0; - $3840 = (($3839) + ($3836<<2)|0); - $3841 = HEAP32[$3840>>2]|0; - HEAP32[$pC27>>2] = $3841; - $3842 = HEAP32[$pC27>>2]|0; - $3843 = ((($3842)) + 32|0); - $3844 = $3843; - $3845 = $3844; - $3846 = HEAP32[$3845>>2]|0; - $3847 = (($3844) + 4)|0; - $3848 = $3847; - $3849 = HEAP32[$3848>>2]|0; - $3850 = (_i64Add(($3846|0),($3849|0),1,0)|0); - $3851 = tempRet0; - $3852 = $3843; - $3853 = $3852; - HEAP32[$3853>>2] = $3850; - $3854 = (($3852) + 4)|0; - $3855 = $3854; - HEAP32[$3855>>2] = $3851; - $3856 = ($3846|0)==(0); - $3857 = ($3849|0)==(0); - $3858 = $3856 & $3857; - if ($3858) { - label = 15; + $3840 = HEAP32[$pCx26>>2]|0; + $3841 = ((($3840)) + 24|0); + HEAP32[$3841>>2] = $3839; + $3842 = HEAP32[$db>>2]|0; + $3843 = HEAP32[$pOp>>2]|0; + $3844 = ((($3843)) + 12|0); + $3845 = HEAP32[$3844>>2]|0; + $3846 = HEAP32[$pCx26>>2]|0; + $3847 = (_sqlite3VdbeSorterInit($3842,$3845,$3846)|0); + HEAP32[$rc>>2] = $3847; + $3848 = HEAP32[$rc>>2]|0; + $3849 = ($3848|0)!=(0); + if ($3849) { + break L1; } break; } - case 60: { - $3859 = HEAP32[$0>>2]|0; - $3860 = HEAP32[$pOp>>2]|0; - $3861 = ((($3860)) + 4|0); + case 59: { + $3850 = HEAP32[$pOp>>2]|0; + $3851 = ((($3850)) + 4|0); + $3852 = HEAP32[$3851>>2]|0; + $3853 = HEAP32[$0>>2]|0; + $3854 = ((($3853)) + 56|0); + $3855 = HEAP32[$3854>>2]|0; + $3856 = (($3855) + ($3852<<2)|0); + $3857 = HEAP32[$3856>>2]|0; + HEAP32[$pC27>>2] = $3857; + $3858 = HEAP32[$pC27>>2]|0; + $3859 = ((($3858)) + 32|0); + $3860 = $3859; + $3861 = $3860; $3862 = HEAP32[$3861>>2]|0; - $3863 = HEAP32[$pOp>>2]|0; - $3864 = ((($3863)) + 12|0); + $3863 = (($3860) + 4)|0; + $3864 = $3863; $3865 = HEAP32[$3864>>2]|0; - $3866 = (_allocateCursor($3859,$3862,$3865,-1,3)|0); - HEAP32[$pCx28>>2] = $3866; - $3867 = HEAP32[$pCx28>>2]|0; - $3868 = ($3867|0)==(0|0); - if ($3868) { - label = 860; - break L1; + $3866 = (_i64Add(($3862|0),($3865|0),1,0)|0); + $3867 = tempRet0; + $3868 = $3859; + $3869 = $3868; + HEAP32[$3869>>2] = $3866; + $3870 = (($3868) + 4)|0; + $3871 = $3870; + HEAP32[$3871>>2] = $3867; + $3872 = ($3862|0)==(0); + $3873 = ($3865|0)==(0); + $3874 = $3872 & $3873; + if ($3874) { + label = 14; } - $3869 = HEAP32[$pCx28>>2]|0; - $3870 = ((($3869)) + 2|0); - HEAP8[$3870>>0] = 1; - $3871 = HEAP32[$pOp>>2]|0; - $3872 = ((($3871)) + 8|0); - $3873 = HEAP32[$3872>>2]|0; - $3874 = HEAP32[$pCx28>>2]|0; - $3875 = ((($3874)) + 16|0); - HEAP32[$3875>>2] = $3873; - $3876 = HEAP32[$pCx28>>2]|0; - $3877 = ((($3876)) + 4|0); - HEAP8[$3877>>0] = 1; break; } - case 61: { - $3878 = HEAP32[$0>>2]|0; + case 60: { + $3875 = HEAP32[$0>>2]|0; + $3876 = HEAP32[$pOp>>2]|0; + $3877 = ((($3876)) + 4|0); + $3878 = HEAP32[$3877>>2]|0; $3879 = HEAP32[$pOp>>2]|0; - $3880 = ((($3879)) + 4|0); + $3880 = ((($3879)) + 12|0); $3881 = HEAP32[$3880>>2]|0; - $3882 = HEAP32[$0>>2]|0; - $3883 = ((($3882)) + 56|0); - $3884 = HEAP32[$3883>>2]|0; - $3885 = (($3884) + ($3881<<2)|0); - $3886 = HEAP32[$3885>>2]|0; - _sqlite3VdbeFreeCursor($3878,$3886); + $3882 = (_allocateCursor($3875,$3878,$3881,-1,3)|0); + HEAP32[$pCx28>>2] = $3882; + $3883 = HEAP32[$pCx28>>2]|0; + $3884 = ($3883|0)==(0|0); + if ($3884) { + label = 883; + break L1; + } + $3885 = HEAP32[$pCx28>>2]|0; + $3886 = ((($3885)) + 2|0); + HEAP8[$3886>>0] = 1; $3887 = HEAP32[$pOp>>2]|0; - $3888 = ((($3887)) + 4|0); + $3888 = ((($3887)) + 8|0); $3889 = HEAP32[$3888>>2]|0; - $3890 = HEAP32[$0>>2]|0; - $3891 = ((($3890)) + 56|0); - $3892 = HEAP32[$3891>>2]|0; - $3893 = (($3892) + ($3889<<2)|0); - HEAP32[$3893>>2] = 0; + $3890 = HEAP32[$pCx28>>2]|0; + $3891 = ((($3890)) + 16|0); + HEAP32[$3891>>2] = $3889; + $3892 = HEAP32[$pCx28>>2]|0; + $3893 = ((($3892)) + 4|0); + HEAP8[$3893>>0] = 1; + break; + } + case 61: { + $3894 = HEAP32[$0>>2]|0; + $3895 = HEAP32[$pOp>>2]|0; + $3896 = ((($3895)) + 4|0); + $3897 = HEAP32[$3896>>2]|0; + $3898 = HEAP32[$0>>2]|0; + $3899 = ((($3898)) + 56|0); + $3900 = HEAP32[$3899>>2]|0; + $3901 = (($3900) + ($3897<<2)|0); + $3902 = HEAP32[$3901>>2]|0; + _sqlite3VdbeFreeCursor($3894,$3902); + $3903 = HEAP32[$pOp>>2]|0; + $3904 = ((($3903)) + 4|0); + $3905 = HEAP32[$3904>>2]|0; + $3906 = HEAP32[$0>>2]|0; + $3907 = ((($3906)) + 56|0); + $3908 = HEAP32[$3907>>2]|0; + $3909 = (($3908) + ($3905<<2)|0); + HEAP32[$3909>>2] = 0; break; } case 66: case 65: case 64: case 63: { - $3894 = HEAP32[$pOp>>2]|0; - $3895 = ((($3894)) + 4|0); - $3896 = HEAP32[$3895>>2]|0; - $3897 = HEAP32[$0>>2]|0; - $3898 = ((($3897)) + 56|0); - $3899 = HEAP32[$3898>>2]|0; - $3900 = (($3899) + ($3896<<2)|0); - $3901 = HEAP32[$3900>>2]|0; - HEAP32[$pC30>>2] = $3901; - $3902 = HEAP32[$pOp>>2]|0; - $3903 = HEAP8[$3902>>0]|0; - $3904 = $3903&255; - HEAP32[$oc>>2] = $3904; + $3910 = HEAP32[$pOp>>2]|0; + $3911 = ((($3910)) + 4|0); + $3912 = HEAP32[$3911>>2]|0; + $3913 = HEAP32[$0>>2]|0; + $3914 = ((($3913)) + 56|0); + $3915 = HEAP32[$3914>>2]|0; + $3916 = (($3915) + ($3912<<2)|0); + $3917 = HEAP32[$3916>>2]|0; + HEAP32[$pC30>>2] = $3917; + $3918 = HEAP32[$pOp>>2]|0; + $3919 = HEAP8[$3918>>0]|0; + $3920 = $3919&255; + HEAP32[$oc>>2] = $3920; HEAP32[$eqOnly>>2] = 0; - $3905 = HEAP32[$pC30>>2]|0; - $3906 = ((($3905)) + 2|0); - HEAP8[$3906>>0] = 0; - $3907 = HEAP32[$pC30>>2]|0; - $3908 = ((($3907)) + 4|0); - $3909 = HEAP8[$3908>>0]|0; - $3910 = ($3909<<24>>24)!=(0); - if ($3910) { - $3911 = HEAP32[$pOp>>2]|0; - $3912 = ((($3911)) + 12|0); - $3913 = HEAP32[$3912>>2]|0; - $3914 = HEAP32[$aMem>>2]|0; - $3915 = (($3914) + (($3913*40)|0)|0); - HEAP32[$pIn3>>2] = $3915; - $3916 = HEAP32[$pIn3>>2]|0; - $3917 = ((($3916)) + 8|0); - $3918 = HEAP16[$3917>>1]|0; - $3919 = $3918&65535; - $3920 = $3919 & 14; - $3921 = ($3920|0)==(2); - if ($3921) { - $3922 = HEAP32[$pIn3>>2]|0; - _applyNumericAffinity($3922,0); + $3921 = HEAP32[$pC30>>2]|0; + $3922 = ((($3921)) + 2|0); + HEAP8[$3922>>0] = 0; + $3923 = HEAP32[$pC30>>2]|0; + $3924 = ((($3923)) + 4|0); + $3925 = HEAP8[$3924>>0]|0; + $3926 = ($3925<<24>>24)!=(0); + if ($3926) { + $3927 = HEAP32[$pOp>>2]|0; + $3928 = ((($3927)) + 12|0); + $3929 = HEAP32[$3928>>2]|0; + $3930 = HEAP32[$aMem>>2]|0; + $3931 = (($3930) + (($3929*40)|0)|0); + HEAP32[$pIn3>>2] = $3931; + $3932 = HEAP32[$pIn3>>2]|0; + $3933 = ((($3932)) + 8|0); + $3934 = HEAP16[$3933>>1]|0; + $3935 = $3934&65535; + $3936 = $3935 & 14; + $3937 = ($3936|0)==(2); + if ($3937) { + $3938 = HEAP32[$pIn3>>2]|0; + _applyNumericAffinity($3938,0); } - $3923 = HEAP32[$pIn3>>2]|0; - $3924 = (_sqlite3VdbeIntValue($3923)|0); - $3925 = tempRet0; - $3926 = $iKey; - $3927 = $3926; - HEAP32[$3927>>2] = $3924; - $3928 = (($3926) + 4)|0; - $3929 = $3928; - HEAP32[$3929>>2] = $3925; - $3930 = HEAP32[$pIn3>>2]|0; - $3931 = ((($3930)) + 8|0); - $3932 = HEAP16[$3931>>1]|0; - $3933 = $3932&65535; - $3934 = $3933 & 4; - $3935 = ($3934|0)==(0); + $3939 = HEAP32[$pIn3>>2]|0; + $3940 = (_sqlite3VdbeIntValue($3939)|0); + $3941 = tempRet0; + $3942 = $iKey; + $3943 = $3942; + HEAP32[$3943>>2] = $3940; + $3944 = (($3942) + 4)|0; + $3945 = $3944; + HEAP32[$3945>>2] = $3941; + $3946 = HEAP32[$pIn3>>2]|0; + $3947 = ((($3946)) + 8|0); + $3948 = HEAP16[$3947>>1]|0; + $3949 = $3948&65535; + $3950 = $3949 & 4; + $3951 = ($3950|0)==(0); do { - if ($3935) { - $3936 = HEAP32[$pIn3>>2]|0; - $3937 = ((($3936)) + 8|0); - $3938 = HEAP16[$3937>>1]|0; - $3939 = $3938&65535; - $3940 = $3939 & 8; - $3941 = ($3940|0)==(0); - if ($3941) { - label = 15; - break L11; + if ($3951) { + $3952 = HEAP32[$pIn3>>2]|0; + $3953 = ((($3952)) + 8|0); + $3954 = HEAP16[$3953>>1]|0; + $3955 = $3954&65535; + $3956 = $3955 & 8; + $3957 = ($3956|0)==(0); + if ($3957) { + label = 14; + break L10; } - $3942 = HEAP32[$pIn3>>2]|0; - $3943 = +HEAPF64[$3942>>3]; - $3944 = $iKey; - $3945 = $3944; - $3946 = HEAP32[$3945>>2]|0; - $3947 = (($3944) + 4)|0; - $3948 = $3947; - $3949 = HEAP32[$3948>>2]|0; - $3950 = (+($3946>>>0)) + (4294967296.0*(+($3949|0))); - $3951 = $3943 < $3950; - if ($3951) { - $3952 = HEAP32[$oc>>2]|0; - $3953 = $3952 & 1; - $3954 = ($3953|0)==(0); - if (!($3954)) { + $3958 = HEAP32[$pIn3>>2]|0; + $3959 = +HEAPF64[$3958>>3]; + $3960 = $iKey; + $3961 = $3960; + $3962 = HEAP32[$3961>>2]|0; + $3963 = (($3960) + 4)|0; + $3964 = $3963; + $3965 = HEAP32[$3964>>2]|0; + $3966 = (+($3962>>>0)) + (4294967296.0*(+($3965|0))); + $3967 = $3959 < $3966; + if ($3967) { + $3968 = HEAP32[$oc>>2]|0; + $3969 = $3968 & 1; + $3970 = ($3969|0)==(0); + if (!($3970)) { break; } - $3955 = HEAP32[$oc>>2]|0; - $3956 = (($3955) + -1)|0; - HEAP32[$oc>>2] = $3956; + $3971 = HEAP32[$oc>>2]|0; + $3972 = (($3971) + -1)|0; + HEAP32[$oc>>2] = $3972; break; } - $3957 = HEAP32[$pIn3>>2]|0; - $3958 = +HEAPF64[$3957>>3]; - $3959 = $iKey; - $3960 = $3959; - $3961 = HEAP32[$3960>>2]|0; - $3962 = (($3959) + 4)|0; - $3963 = $3962; - $3964 = HEAP32[$3963>>2]|0; - $3965 = (+($3961>>>0)) + (4294967296.0*(+($3964|0))); - $3966 = $3958 > $3965; - if ($3966) { - $3967 = HEAP32[$oc>>2]|0; - $3968 = $3967 & 1; - $3969 = ($3968|0)==(1); - if ($3969) { - $3970 = HEAP32[$oc>>2]|0; - $3971 = (($3970) + 1)|0; - HEAP32[$oc>>2] = $3971; + $3973 = HEAP32[$pIn3>>2]|0; + $3974 = +HEAPF64[$3973>>3]; + $3975 = $iKey; + $3976 = $3975; + $3977 = HEAP32[$3976>>2]|0; + $3978 = (($3975) + 4)|0; + $3979 = $3978; + $3980 = HEAP32[$3979>>2]|0; + $3981 = (+($3977>>>0)) + (4294967296.0*(+($3980|0))); + $3982 = $3974 > $3981; + if ($3982) { + $3983 = HEAP32[$oc>>2]|0; + $3984 = $3983 & 1; + $3985 = ($3984|0)==(1); + if ($3985) { + $3986 = HEAP32[$oc>>2]|0; + $3987 = (($3986) + 1)|0; + HEAP32[$oc>>2] = $3987; } } } } while(0); - $3972 = HEAP32[$pC30>>2]|0; - $3973 = ((($3972)) + 16|0); - $3974 = HEAP32[$3973>>2]|0; - $3975 = $iKey; - $3976 = $3975; - $3977 = HEAP32[$3976>>2]|0; - $3978 = (($3975) + 4)|0; - $3979 = $3978; - $3980 = HEAP32[$3979>>2]|0; - $3981 = (_sqlite3BtreeMovetoUnpacked($3974,0,$3977,$3980,0,$res29)|0); - HEAP32[$rc>>2] = $3981; - $3982 = $iKey; - $3983 = $3982; - $3984 = HEAP32[$3983>>2]|0; - $3985 = (($3982) + 4)|0; - $3986 = $3985; - $3987 = HEAP32[$3986>>2]|0; $3988 = HEAP32[$pC30>>2]|0; - $3989 = ((($3988)) + 40|0); - $3990 = $3989; - $3991 = $3990; - HEAP32[$3991>>2] = $3984; - $3992 = (($3990) + 4)|0; - $3993 = $3992; - HEAP32[$3993>>2] = $3987; - $3994 = HEAP32[$rc>>2]|0; - $3995 = ($3994|0)!=(0); - if ($3995) { - label = 861; - break L8; + $3989 = ((($3988)) + 16|0); + $3990 = HEAP32[$3989>>2]|0; + $3991 = $iKey; + $3992 = $3991; + $3993 = HEAP32[$3992>>2]|0; + $3994 = (($3991) + 4)|0; + $3995 = $3994; + $3996 = HEAP32[$3995>>2]|0; + $3997 = (_sqlite3BtreeMovetoUnpacked($3990,0,$3993,$3996,0,$res29)|0); + HEAP32[$rc>>2] = $3997; + $3998 = $iKey; + $3999 = $3998; + $4000 = HEAP32[$3999>>2]|0; + $4001 = (($3998) + 4)|0; + $4002 = $4001; + $4003 = HEAP32[$4002>>2]|0; + $4004 = HEAP32[$pC30>>2]|0; + $4005 = ((($4004)) + 40|0); + $4006 = $4005; + $4007 = $4006; + HEAP32[$4007>>2] = $4000; + $4008 = (($4006) + 4)|0; + $4009 = $4008; + HEAP32[$4009>>2] = $4003; + $4010 = HEAP32[$rc>>2]|0; + $4011 = ($4010|0)!=(0); + if ($4011) { + break L1; } else { - label = 489; + label = 493; } } else { - $3996 = HEAP32[$pC30>>2]|0; - $3997 = ((($3996)) + 16|0); - $3998 = HEAP32[$3997>>2]|0; - $3999 = (_sqlite3BtreeCursorHasHint($3998,2)|0); - $4000 = ($3999|0)!=(0); - if ($4000) { + $4012 = HEAP32[$pC30>>2]|0; + $4013 = ((($4012)) + 16|0); + $4014 = HEAP32[$4013>>2]|0; + $4015 = (_sqlite3BtreeCursorHasHint($4014,2)|0); + $4016 = ($4015|0)!=(0); + if ($4016) { HEAP32[$eqOnly>>2] = 1; } - $4001 = HEAP32[$pOp>>2]|0; - $4002 = ((($4001)) + 16|0); - $4003 = HEAP32[$4002>>2]|0; - HEAP32[$nField31>>2] = $4003; - $4004 = HEAP32[$pC30>>2]|0; - $4005 = ((($4004)) + 24|0); - $4006 = HEAP32[$4005>>2]|0; - HEAP32[$r>>2] = $4006; - $4007 = HEAP32[$nField31>>2]|0; - $4008 = $4007&65535; - $4009 = ((($r)) + 8|0); - HEAP16[$4009>>1] = $4008; - $4010 = HEAP32[$oc>>2]|0; - $4011 = (($4010) - 63)|0; - $4012 = 1 & $4011; - $4013 = ($4012|0)!=(0); - $4014 = $4013 ? -1 : 1; - $4015 = $4014&255; - $4016 = ((($r)) + 10|0); - HEAP8[$4016>>0] = $4015; $4017 = HEAP32[$pOp>>2]|0; - $4018 = ((($4017)) + 12|0); + $4018 = ((($4017)) + 16|0); $4019 = HEAP32[$4018>>2]|0; - $4020 = HEAP32[$aMem>>2]|0; - $4021 = (($4020) + (($4019*40)|0)|0); - $4022 = ((($r)) + 4|0); - HEAP32[$4022>>2] = $4021; - $4023 = ((($r)) + 4|0); - $4024 = HEAP32[$4023>>2]|0; - $4025 = ((($4024)) + 8|0); - $4026 = HEAP16[$4025>>1]|0; - $4027 = $4026&65535; - $4028 = $4027 & 16384; + HEAP32[$nField31>>2] = $4019; + $4020 = HEAP32[$pC30>>2]|0; + $4021 = ((($4020)) + 24|0); + $4022 = HEAP32[$4021>>2]|0; + HEAP32[$r>>2] = $4022; + $4023 = HEAP32[$nField31>>2]|0; + $4024 = $4023&65535; + $4025 = ((($r)) + 8|0); + HEAP16[$4025>>1] = $4024; + $4026 = HEAP32[$oc>>2]|0; + $4027 = (($4026) - 63)|0; + $4028 = 1 & $4027; $4029 = ($4028|0)!=(0); - if ($4029) { - $4030 = ((($r)) + 4|0); - $4031 = HEAP32[$4030>>2]|0; - (_sqlite3VdbeMemExpandBlob($4031)|0); - } - $4032 = ((($r)) + 14|0); - HEAP8[$4032>>0] = 0; - $4033 = HEAP32[$pC30>>2]|0; - $4034 = ((($4033)) + 16|0); + $4030 = $4029 ? -1 : 1; + $4031 = $4030&255; + $4032 = ((($r)) + 10|0); + HEAP8[$4032>>0] = $4031; + $4033 = HEAP32[$pOp>>2]|0; + $4034 = ((($4033)) + 12|0); $4035 = HEAP32[$4034>>2]|0; - $4036 = (_sqlite3BtreeMovetoUnpacked($4035,$r,0,0,0,$res29)|0); - HEAP32[$rc>>2] = $4036; - $4037 = HEAP32[$rc>>2]|0; - $4038 = ($4037|0)!=(0); - if ($4038) { - label = 861; - break L8; + $4036 = HEAP32[$aMem>>2]|0; + $4037 = (($4036) + (($4035*40)|0)|0); + $4038 = ((($r)) + 4|0); + HEAP32[$4038>>2] = $4037; + $4039 = ((($r)) + 4|0); + $4040 = HEAP32[$4039>>2]|0; + $4041 = ((($4040)) + 8|0); + $4042 = HEAP16[$4041>>1]|0; + $4043 = $4042&65535; + $4044 = $4043 & 16384; + $4045 = ($4044|0)!=(0); + if ($4045) { + $4046 = ((($r)) + 4|0); + $4047 = HEAP32[$4046>>2]|0; + (_sqlite3VdbeMemExpandBlob($4047)|0); + } + $4048 = ((($r)) + 14|0); + HEAP8[$4048>>0] = 0; + $4049 = HEAP32[$pC30>>2]|0; + $4050 = ((($4049)) + 16|0); + $4051 = HEAP32[$4050>>2]|0; + $4052 = (_sqlite3BtreeMovetoUnpacked($4051,$r,0,0,0,$res29)|0); + HEAP32[$rc>>2] = $4052; + $4053 = HEAP32[$rc>>2]|0; + $4054 = ($4053|0)!=(0); + if ($4054) { + break L1; } - $4039 = HEAP32[$eqOnly>>2]|0; - $4040 = ($4039|0)!=(0); - if ($4040) { - $4041 = ((($r)) + 14|0); - $4042 = HEAP8[$4041>>0]|0; - $4043 = $4042&255; - $4044 = ($4043|0)==(0); - if (!($4044)) { - label = 489; + $4055 = HEAP32[$eqOnly>>2]|0; + $4056 = ($4055|0)!=(0); + if ($4056) { + $4057 = ((($r)) + 14|0); + $4058 = HEAP8[$4057>>0]|0; + $4059 = $4058&255; + $4060 = ($4059|0)==(0); + if (!($4060)) { + label = 493; } } else { - label = 489; + label = 493; } } do { - if ((label|0) == 489) { + if ((label|0) == 493) { label = 0; - $4045 = HEAP32[$pC30>>2]|0; - $4046 = ((($4045)) + 3|0); - HEAP8[$4046>>0] = 0; - $4047 = HEAP32[$pC30>>2]|0; - $4048 = ((($4047)) + 56|0); - HEAP32[$4048>>2] = 0; - $4049 = HEAP32[$oc>>2]|0; - $4050 = ($4049|0)>=(65); - $4051 = HEAP32[$res29>>2]|0; - if ($4050) { - $4052 = ($4051|0)<(0); - if (!($4052)) { - $4053 = HEAP32[$res29>>2]|0; - $4054 = ($4053|0)==(0); - $4055 = HEAP32[$oc>>2]|0; - $4056 = ($4055|0)==(66); - $or$cond12 = $4054 & $4056; + $4061 = HEAP32[$pC30>>2]|0; + $4062 = ((($4061)) + 3|0); + HEAP8[$4062>>0] = 0; + $4063 = HEAP32[$pC30>>2]|0; + $4064 = ((($4063)) + 56|0); + HEAP32[$4064>>2] = 0; + $4065 = HEAP32[$oc>>2]|0; + $4066 = ($4065|0)>=(65); + $4067 = HEAP32[$res29>>2]|0; + if ($4066) { + $4068 = ($4067|0)<(0); + if (!($4068)) { + $4069 = HEAP32[$res29>>2]|0; + $4070 = ($4069|0)==(0); + $4071 = HEAP32[$oc>>2]|0; + $4072 = ($4071|0)==(66); + $or$cond12 = $4070 & $4072; if (!($or$cond12)) { HEAP32[$res29>>2] = 0; break; } } HEAP32[$res29>>2] = 0; - $4057 = HEAP32[$pC30>>2]|0; - $4058 = ((($4057)) + 16|0); - $4059 = HEAP32[$4058>>2]|0; - $4060 = (_sqlite3BtreeNext($4059,$res29)|0); - HEAP32[$rc>>2] = $4060; - $4061 = HEAP32[$rc>>2]|0; - $4062 = ($4061|0)!=(0); - if ($4062) { - label = 861; - break L8; + $4073 = HEAP32[$pC30>>2]|0; + $4074 = ((($4073)) + 16|0); + $4075 = HEAP32[$4074>>2]|0; + $4076 = (_sqlite3BtreeNext($4075,$res29)|0); + HEAP32[$rc>>2] = $4076; + $4077 = HEAP32[$rc>>2]|0; + $4078 = ($4077|0)!=(0); + if ($4078) { + break L1; } else { break; } } else { - $4063 = ($4051|0)>(0); - if (!($4063)) { - $4064 = HEAP32[$res29>>2]|0; - $4065 = ($4064|0)==(0); - $4066 = HEAP32[$oc>>2]|0; - $4067 = ($4066|0)==(63); - $or$cond14 = $4065 & $4067; + $4079 = ($4067|0)>(0); + if (!($4079)) { + $4080 = HEAP32[$res29>>2]|0; + $4081 = ($4080|0)==(0); + $4082 = HEAP32[$oc>>2]|0; + $4083 = ($4082|0)==(63); + $or$cond14 = $4081 & $4083; if (!($or$cond14)) { - $4074 = HEAP32[$pC30>>2]|0; - $4075 = ((($4074)) + 16|0); - $4076 = HEAP32[$4075>>2]|0; - $4077 = (_sqlite3BtreeEof($4076)|0); - HEAP32[$res29>>2] = $4077; + $4090 = HEAP32[$pC30>>2]|0; + $4091 = ((($4090)) + 16|0); + $4092 = HEAP32[$4091>>2]|0; + $4093 = (_sqlite3BtreeEof($4092)|0); + HEAP32[$res29>>2] = $4093; break; } } HEAP32[$res29>>2] = 0; - $4068 = HEAP32[$pC30>>2]|0; - $4069 = ((($4068)) + 16|0); - $4070 = HEAP32[$4069>>2]|0; - $4071 = (_sqlite3BtreePrevious($4070,$res29)|0); - HEAP32[$rc>>2] = $4071; - $4072 = HEAP32[$rc>>2]|0; - $4073 = ($4072|0)!=(0); - if ($4073) { - label = 861; - break L8; + $4084 = HEAP32[$pC30>>2]|0; + $4085 = ((($4084)) + 16|0); + $4086 = HEAP32[$4085>>2]|0; + $4087 = (_sqlite3BtreePrevious($4086,$res29)|0); + HEAP32[$rc>>2] = $4087; + $4088 = HEAP32[$rc>>2]|0; + $4089 = ($4088|0)!=(0); + if ($4089) { + break L1; } else { break; } } } } while(0); - $4078 = HEAP32[$res29>>2]|0; - $4079 = ($4078|0)!=(0); - if ($4079) { - label = 15; + $4094 = HEAP32[$res29>>2]|0; + $4095 = ($4094|0)!=(0); + if ($4095) { + label = 14; } else { - $4080 = HEAP32[$eqOnly>>2]|0; - $4081 = ($4080|0)!=(0); - if ($4081) { - $4082 = HEAP32[$pOp>>2]|0; - $4083 = ((($4082)) + 20|0); - HEAP32[$pOp>>2] = $4083; + $4096 = HEAP32[$eqOnly>>2]|0; + $4097 = ($4096|0)!=(0); + if ($4097) { + $4098 = HEAP32[$pOp>>2]|0; + $4099 = ((($4098)) + 20|0); + HEAP32[$pOp>>2] = $4099; } } break; } case 69: case 68: case 67: { - $4084 = HEAP32[$pOp>>2]|0; - $4085 = ((($4084)) + 4|0); - $4086 = HEAP32[$4085>>2]|0; - $4087 = HEAP32[$0>>2]|0; - $4088 = ((($4087)) + 56|0); - $4089 = HEAP32[$4088>>2]|0; - $4090 = (($4089) + ($4086<<2)|0); - $4091 = HEAP32[$4090>>2]|0; - HEAP32[$pC33>>2] = $4091; - $4092 = HEAP32[$pOp>>2]|0; - $4093 = ((($4092)) + 12|0); - $4094 = HEAP32[$4093>>2]|0; - $4095 = HEAP32[$aMem>>2]|0; - $4096 = (($4095) + (($4094*40)|0)|0); - HEAP32[$pIn3>>2] = $4096; + $4100 = HEAP32[$pOp>>2]|0; + $4101 = ((($4100)) + 4|0); + $4102 = HEAP32[$4101>>2]|0; + $4103 = HEAP32[$0>>2]|0; + $4104 = ((($4103)) + 56|0); + $4105 = HEAP32[$4104>>2]|0; + $4106 = (($4105) + ($4102<<2)|0); + $4107 = HEAP32[$4106>>2]|0; + HEAP32[$pC33>>2] = $4107; + $4108 = HEAP32[$pOp>>2]|0; + $4109 = ((($4108)) + 12|0); + $4110 = HEAP32[$4109>>2]|0; + $4111 = HEAP32[$aMem>>2]|0; + $4112 = (($4111) + (($4110*40)|0)|0); + HEAP32[$pIn3>>2] = $4112; HEAP32[$pFree>>2] = 0; - $4097 = HEAP32[$pOp>>2]|0; - $4098 = ((($4097)) + 16|0); - $4099 = HEAP32[$4098>>2]|0; - $4100 = ($4099|0)>(0); - $4101 = HEAP32[$pC33>>2]|0; - $4102 = ((($4101)) + 24|0); - $4103 = HEAP32[$4102>>2]|0; - if ($4100) { - HEAP32[$r35>>2] = $4103; - $4104 = HEAP32[$pOp>>2]|0; - $4105 = ((($4104)) + 16|0); - $4106 = HEAP32[$4105>>2]|0; - $4107 = $4106&65535; - $4108 = ((($r35)) + 8|0); - HEAP16[$4108>>1] = $4107; - $4109 = HEAP32[$pIn3>>2]|0; - $4110 = ((($r35)) + 4|0); - HEAP32[$4110>>2] = $4109; + $4113 = HEAP32[$pOp>>2]|0; + $4114 = ((($4113)) + 16|0); + $4115 = HEAP32[$4114>>2]|0; + $4116 = ($4115|0)>(0); + $4117 = HEAP32[$pC33>>2]|0; + $4118 = ((($4117)) + 24|0); + $4119 = HEAP32[$4118>>2]|0; + if ($4116) { + HEAP32[$r35>>2] = $4119; + $4120 = HEAP32[$pOp>>2]|0; + $4121 = ((($4120)) + 16|0); + $4122 = HEAP32[$4121>>2]|0; + $4123 = $4122&65535; + $4124 = ((($r35)) + 8|0); + HEAP16[$4124>>1] = $4123; + $4125 = HEAP32[$pIn3>>2]|0; + $4126 = ((($r35)) + 4|0); + HEAP32[$4126>>2] = $4125; HEAP32[$ii32>>2] = 0; while(1) { - $4111 = HEAP32[$ii32>>2]|0; - $4112 = ((($r35)) + 8|0); - $4113 = HEAP16[$4112>>1]|0; - $4114 = $4113&65535; - $4115 = ($4111|0)<($4114|0); - if (!($4115)) { + $4127 = HEAP32[$ii32>>2]|0; + $4128 = ((($r35)) + 8|0); + $4129 = HEAP16[$4128>>1]|0; + $4130 = $4129&65535; + $4131 = ($4127|0)<($4130|0); + if (!($4131)) { break; } - $4116 = HEAP32[$ii32>>2]|0; - $4117 = ((($r35)) + 4|0); - $4118 = HEAP32[$4117>>2]|0; - $4119 = (($4118) + (($4116*40)|0)|0); - $4120 = ((($4119)) + 8|0); - $4121 = HEAP16[$4120>>1]|0; - $4122 = $4121&65535; - $4123 = $4122 & 16384; - $4124 = ($4123|0)!=(0); - if ($4124) { - $4125 = HEAP32[$ii32>>2]|0; - $4126 = ((($r35)) + 4|0); - $4127 = HEAP32[$4126>>2]|0; - $4128 = (($4127) + (($4125*40)|0)|0); - (_sqlite3VdbeMemExpandBlob($4128)|0); + $4132 = HEAP32[$ii32>>2]|0; + $4133 = ((($r35)) + 4|0); + $4134 = HEAP32[$4133>>2]|0; + $4135 = (($4134) + (($4132*40)|0)|0); + $4136 = ((($4135)) + 8|0); + $4137 = HEAP16[$4136>>1]|0; + $4138 = $4137&65535; + $4139 = $4138 & 16384; + $4140 = ($4139|0)!=(0); + if ($4140) { + $4141 = HEAP32[$ii32>>2]|0; + $4142 = ((($r35)) + 4|0); + $4143 = HEAP32[$4142>>2]|0; + $4144 = (($4143) + (($4141*40)|0)|0); + (_sqlite3VdbeMemExpandBlob($4144)|0); } - $4129 = HEAP32[$ii32>>2]|0; - $4130 = (($4129) + 1)|0; - HEAP32[$ii32>>2] = $4130; + $4145 = HEAP32[$ii32>>2]|0; + $4146 = (($4145) + 1)|0; + HEAP32[$ii32>>2] = $4146; } HEAP32[$pIdxKey>>2] = $r35; } else { - $4131 = (_sqlite3VdbeAllocUnpackedRecord($4103,$aTempRec,183,$pFree)|0); - HEAP32[$pIdxKey>>2] = $4131; - $4132 = HEAP32[$pIdxKey>>2]|0; - $4133 = ($4132|0)==(0|0); - if ($4133) { - label = 860; + $4147 = (_sqlite3VdbeAllocUnpackedRecord($4119,$aTempRec,183,$pFree)|0); + HEAP32[$pIdxKey>>2] = $4147; + $4148 = HEAP32[$pIdxKey>>2]|0; + $4149 = ($4148|0)==(0|0); + if ($4149) { + label = 883; break L1; } - $4134 = HEAP32[$pIn3>>2]|0; - $4135 = ((($4134)) + 8|0); - $4136 = HEAP16[$4135>>1]|0; - $4137 = $4136&65535; - $4138 = $4137 & 16384; - $4139 = ($4138|0)!=(0); - if ($4139) { - $4140 = HEAP32[$pIn3>>2]|0; - (_sqlite3VdbeMemExpandBlob($4140)|0); + $4150 = HEAP32[$pIn3>>2]|0; + $4151 = ((($4150)) + 8|0); + $4152 = HEAP16[$4151>>1]|0; + $4153 = $4152&65535; + $4154 = $4153 & 16384; + $4155 = ($4154|0)!=(0); + if ($4155) { + $4156 = HEAP32[$pIn3>>2]|0; + (_sqlite3VdbeMemExpandBlob($4156)|0); } - $4141 = HEAP32[$pC33>>2]|0; - $4142 = ((($4141)) + 24|0); - $4143 = HEAP32[$4142>>2]|0; - $4144 = HEAP32[$pIn3>>2]|0; - $4145 = ((($4144)) + 12|0); - $4146 = HEAP32[$4145>>2]|0; - $4147 = HEAP32[$pIn3>>2]|0; - $4148 = ((($4147)) + 16|0); - $4149 = HEAP32[$4148>>2]|0; - $4150 = HEAP32[$pIdxKey>>2]|0; - _sqlite3VdbeRecordUnpack($4143,$4146,$4149,$4150); + $4157 = HEAP32[$pC33>>2]|0; + $4158 = ((($4157)) + 24|0); + $4159 = HEAP32[$4158>>2]|0; + $4160 = HEAP32[$pIn3>>2]|0; + $4161 = ((($4160)) + 12|0); + $4162 = HEAP32[$4161>>2]|0; + $4163 = HEAP32[$pIn3>>2]|0; + $4164 = ((($4163)) + 16|0); + $4165 = HEAP32[$4164>>2]|0; + $4166 = HEAP32[$pIdxKey>>2]|0; + _sqlite3VdbeRecordUnpack($4159,$4162,$4165,$4166); } - $4151 = HEAP32[$pIdxKey>>2]|0; - $4152 = ((($4151)) + 10|0); - HEAP8[$4152>>0] = 0; + $4167 = HEAP32[$pIdxKey>>2]|0; + $4168 = ((($4167)) + 10|0); + HEAP8[$4168>>0] = 0; HEAP32[$takeJump>>2] = 0; - $4153 = HEAP32[$pOp>>2]|0; - $4154 = HEAP8[$4153>>0]|0; - $4155 = $4154&255; - $4156 = ($4155|0)==(67); - L570: do { - if ($4156) { + $4169 = HEAP32[$pOp>>2]|0; + $4170 = HEAP8[$4169>>0]|0; + $4171 = $4170&255; + $4172 = ($4171|0)==(67); + L555: do { + if ($4172) { HEAP32[$ii32>>2] = 0; while(1) { - $4157 = HEAP32[$ii32>>2]|0; - $4158 = HEAP32[$pIdxKey>>2]|0; - $4159 = ((($4158)) + 8|0); - $4160 = HEAP16[$4159>>1]|0; - $4161 = $4160&65535; - $4162 = ($4157|0)<($4161|0); - if (!($4162)) { - break L570; + $4173 = HEAP32[$ii32>>2]|0; + $4174 = HEAP32[$pIdxKey>>2]|0; + $4175 = ((($4174)) + 8|0); + $4176 = HEAP16[$4175>>1]|0; + $4177 = $4176&65535; + $4178 = ($4173|0)<($4177|0); + if (!($4178)) { + break L555; } - $4163 = HEAP32[$ii32>>2]|0; - $4164 = HEAP32[$pIdxKey>>2]|0; - $4165 = ((($4164)) + 4|0); - $4166 = HEAP32[$4165>>2]|0; - $4167 = (($4166) + (($4163*40)|0)|0); - $4168 = ((($4167)) + 8|0); - $4169 = HEAP16[$4168>>1]|0; - $4170 = $4169&65535; - $4171 = $4170 & 1; - $4172 = ($4171|0)!=(0); - if ($4172) { + $4179 = HEAP32[$ii32>>2]|0; + $4180 = HEAP32[$pIdxKey>>2]|0; + $4181 = ((($4180)) + 4|0); + $4182 = HEAP32[$4181>>2]|0; + $4183 = (($4182) + (($4179*40)|0)|0); + $4184 = ((($4183)) + 8|0); + $4185 = HEAP16[$4184>>1]|0; + $4186 = $4185&65535; + $4187 = $4186 & 1; + $4188 = ($4187|0)!=(0); + if ($4188) { break; } - $4173 = HEAP32[$ii32>>2]|0; - $4174 = (($4173) + 1)|0; - HEAP32[$ii32>>2] = $4174; + $4189 = HEAP32[$ii32>>2]|0; + $4190 = (($4189) + 1)|0; + HEAP32[$ii32>>2] = $4190; } HEAP32[$takeJump>>2] = 1; } } while(0); - $4175 = HEAP32[$pC33>>2]|0; - $4176 = ((($4175)) + 16|0); - $4177 = HEAP32[$4176>>2]|0; - $4178 = HEAP32[$pIdxKey>>2]|0; - $4179 = (_sqlite3BtreeMovetoUnpacked($4177,$4178,0,0,0,$res34)|0); - HEAP32[$rc>>2] = $4179; - $4180 = HEAP32[$db>>2]|0; - $4181 = HEAP32[$pFree>>2]|0; - _sqlite3DbFree($4180,$4181); - $4182 = HEAP32[$rc>>2]|0; - $4183 = ($4182|0)!=(0); - if (!($4183)) { - $4184 = HEAP32[$res34>>2]|0; - $4185 = HEAP32[$pC33>>2]|0; - $4186 = ((($4185)) + 28|0); - HEAP32[$4186>>2] = $4184; - $4187 = HEAP32[$res34>>2]|0; - $4188 = ($4187|0)==(0); - $4189 = $4188&1; - HEAP32[$alreadyExists>>2] = $4189; - $4190 = HEAP32[$alreadyExists>>2]|0; - $4191 = (1 - ($4190))|0; - $4192 = $4191&255; - $4193 = HEAP32[$pC33>>2]|0; - $4194 = ((($4193)) + 2|0); - HEAP8[$4194>>0] = $4192; - $4195 = HEAP32[$pC33>>2]|0; - $4196 = ((($4195)) + 3|0); - HEAP8[$4196>>0] = 0; - $4197 = HEAP32[$pC33>>2]|0; - $4198 = ((($4197)) + 56|0); - HEAP32[$4198>>2] = 0; - $4199 = HEAP32[$pOp>>2]|0; - $4200 = HEAP8[$4199>>0]|0; - $4201 = $4200&255; - $4202 = ($4201|0)==(69); - if ($4202) { - $4203 = HEAP32[$alreadyExists>>2]|0; - $4204 = ($4203|0)!=(0); - if ($4204) { - label = 15; - break L11; - } else { - break L11; - } + $4191 = HEAP32[$pC33>>2]|0; + $4192 = ((($4191)) + 16|0); + $4193 = HEAP32[$4192>>2]|0; + $4194 = HEAP32[$pIdxKey>>2]|0; + $4195 = (_sqlite3BtreeMovetoUnpacked($4193,$4194,0,0,0,$res34)|0); + HEAP32[$rc>>2] = $4195; + $4196 = HEAP32[$db>>2]|0; + $4197 = HEAP32[$pFree>>2]|0; + _sqlite3DbFree($4196,$4197); + $4198 = HEAP32[$rc>>2]|0; + $4199 = ($4198|0)!=(0); + if ($4199) { + break L1; + } + $4200 = HEAP32[$res34>>2]|0; + $4201 = HEAP32[$pC33>>2]|0; + $4202 = ((($4201)) + 28|0); + HEAP32[$4202>>2] = $4200; + $4203 = HEAP32[$res34>>2]|0; + $4204 = ($4203|0)==(0); + $4205 = $4204&1; + HEAP32[$alreadyExists>>2] = $4205; + $4206 = HEAP32[$alreadyExists>>2]|0; + $4207 = (1 - ($4206))|0; + $4208 = $4207&255; + $4209 = HEAP32[$pC33>>2]|0; + $4210 = ((($4209)) + 2|0); + HEAP8[$4210>>0] = $4208; + $4211 = HEAP32[$pC33>>2]|0; + $4212 = ((($4211)) + 3|0); + HEAP8[$4212>>0] = 0; + $4213 = HEAP32[$pC33>>2]|0; + $4214 = ((($4213)) + 56|0); + HEAP32[$4214>>2] = 0; + $4215 = HEAP32[$pOp>>2]|0; + $4216 = HEAP8[$4215>>0]|0; + $4217 = $4216&255; + $4218 = ($4217|0)==(69); + if ($4218) { + $4219 = HEAP32[$alreadyExists>>2]|0; + $4220 = ($4219|0)!=(0); + if ($4220) { + label = 14; + break L10; } else { - $4205 = HEAP32[$takeJump>>2]|0; - $4206 = ($4205|0)==(0); - $4207 = HEAP32[$alreadyExists>>2]|0; - $4208 = ($4207|0)!=(0); - $or$cond16 = $4206 & $4208; - if ($or$cond16) { - break L11; - } else { - label = 15; - break L11; - } + break L10; + } + } else { + $4221 = HEAP32[$takeJump>>2]|0; + $4222 = ($4221|0)==(0); + $4223 = HEAP32[$alreadyExists>>2]|0; + $4224 = ($4223|0)!=(0); + $or$cond16 = $4222 & $4224; + if ($or$cond16) { + break L10; + } else { + label = 14; + break L10; } } break; } case 70: { - $4209 = HEAP32[$pOp>>2]|0; - $4210 = ((($4209)) + 12|0); - $4211 = HEAP32[$4210>>2]|0; - $4212 = HEAP32[$aMem>>2]|0; - $4213 = (($4212) + (($4211*40)|0)|0); - HEAP32[$pIn3>>2] = $4213; - $4214 = HEAP32[$pOp>>2]|0; - $4215 = ((($4214)) + 4|0); - $4216 = HEAP32[$4215>>2]|0; - $4217 = HEAP32[$0>>2]|0; - $4218 = ((($4217)) + 56|0); - $4219 = HEAP32[$4218>>2]|0; - $4220 = (($4219) + ($4216<<2)|0); - $4221 = HEAP32[$4220>>2]|0; - HEAP32[$pC36>>2] = $4221; - $4222 = HEAP32[$pC36>>2]|0; - $4223 = ((($4222)) + 16|0); - $4224 = HEAP32[$4223>>2]|0; - HEAP32[$pCrsr37>>2] = $4224; + $4225 = HEAP32[$pOp>>2]|0; + $4226 = ((($4225)) + 12|0); + $4227 = HEAP32[$4226>>2]|0; + $4228 = HEAP32[$aMem>>2]|0; + $4229 = (($4228) + (($4227*40)|0)|0); + HEAP32[$pIn3>>2] = $4229; + $4230 = HEAP32[$pOp>>2]|0; + $4231 = ((($4230)) + 4|0); + $4232 = HEAP32[$4231>>2]|0; + $4233 = HEAP32[$0>>2]|0; + $4234 = ((($4233)) + 56|0); + $4235 = HEAP32[$4234>>2]|0; + $4236 = (($4235) + ($4232<<2)|0); + $4237 = HEAP32[$4236>>2]|0; + HEAP32[$pC36>>2] = $4237; + $4238 = HEAP32[$pC36>>2]|0; + $4239 = ((($4238)) + 16|0); + $4240 = HEAP32[$4239>>2]|0; + HEAP32[$pCrsr37>>2] = $4240; HEAP32[$res38>>2] = 0; - $4225 = HEAP32[$pIn3>>2]|0; - $4226 = $4225; - $4227 = $4226; - $4228 = HEAP32[$4227>>2]|0; - $4229 = (($4226) + 4)|0; - $4230 = $4229; - $4231 = HEAP32[$4230>>2]|0; - $4232 = $iKey39; - $4233 = $4232; - HEAP32[$4233>>2] = $4228; - $4234 = (($4232) + 4)|0; - $4235 = $4234; - HEAP32[$4235>>2] = $4231; - $4236 = HEAP32[$pCrsr37>>2]|0; - $4237 = $iKey39; - $4238 = $4237; - $4239 = HEAP32[$4238>>2]|0; - $4240 = (($4237) + 4)|0; - $4241 = $4240; - $4242 = HEAP32[$4241>>2]|0; - $4243 = (_sqlite3BtreeMovetoUnpacked($4236,0,$4239,$4242,0,$res38)|0); - HEAP32[$rc>>2] = $4243; - $4244 = $iKey39; - $4245 = $4244; - $4246 = HEAP32[$4245>>2]|0; - $4247 = (($4244) + 4)|0; - $4248 = $4247; - $4249 = HEAP32[$4248>>2]|0; - $4250 = HEAP32[$pC36>>2]|0; - $4251 = ((($4250)) + 40|0); - $4252 = $4251; - $4253 = $4252; - HEAP32[$4253>>2] = $4246; - $4254 = (($4252) + 4)|0; - $4255 = $4254; - HEAP32[$4255>>2] = $4249; - $4256 = HEAP32[$pC36>>2]|0; - $4257 = ((($4256)) + 2|0); - HEAP8[$4257>>0] = 0; - $4258 = HEAP32[$pC36>>2]|0; - $4259 = ((($4258)) + 56|0); - HEAP32[$4259>>2] = 0; - $4260 = HEAP32[$pC36>>2]|0; - $4261 = ((($4260)) + 3|0); - HEAP8[$4261>>0] = 0; - $4262 = HEAP32[$res38>>2]|0; - $4263 = HEAP32[$pC36>>2]|0; - $4264 = ((($4263)) + 28|0); - HEAP32[$4264>>2] = $4262; - $4265 = HEAP32[$res38>>2]|0; - $4266 = ($4265|0)!=(0); - if ($4266) { - $4267 = HEAP32[$pOp>>2]|0; - $4268 = ((($4267)) + 8|0); - $4269 = HEAP32[$4268>>2]|0; - $4270 = ($4269|0)==(0); - if ($4270) { - $4271 = (_sqlite3CorruptError(78267)|0); - HEAP32[$rc>>2] = $4271; - } else { - label = 15; + $4241 = HEAP32[$pIn3>>2]|0; + $4242 = $4241; + $4243 = $4242; + $4244 = HEAP32[$4243>>2]|0; + $4245 = (($4242) + 4)|0; + $4246 = $4245; + $4247 = HEAP32[$4246>>2]|0; + $4248 = $iKey39; + $4249 = $4248; + HEAP32[$4249>>2] = $4244; + $4250 = (($4248) + 4)|0; + $4251 = $4250; + HEAP32[$4251>>2] = $4247; + $4252 = HEAP32[$pCrsr37>>2]|0; + $4253 = $iKey39; + $4254 = $4253; + $4255 = HEAP32[$4254>>2]|0; + $4256 = (($4253) + 4)|0; + $4257 = $4256; + $4258 = HEAP32[$4257>>2]|0; + $4259 = (_sqlite3BtreeMovetoUnpacked($4252,0,$4255,$4258,0,$res38)|0); + HEAP32[$rc>>2] = $4259; + $4260 = $iKey39; + $4261 = $4260; + $4262 = HEAP32[$4261>>2]|0; + $4263 = (($4260) + 4)|0; + $4264 = $4263; + $4265 = HEAP32[$4264>>2]|0; + $4266 = HEAP32[$pC36>>2]|0; + $4267 = ((($4266)) + 40|0); + $4268 = $4267; + $4269 = $4268; + HEAP32[$4269>>2] = $4262; + $4270 = (($4268) + 4)|0; + $4271 = $4270; + HEAP32[$4271>>2] = $4265; + $4272 = HEAP32[$pC36>>2]|0; + $4273 = ((($4272)) + 2|0); + HEAP8[$4273>>0] = 0; + $4274 = HEAP32[$pC36>>2]|0; + $4275 = ((($4274)) + 56|0); + HEAP32[$4275>>2] = 0; + $4276 = HEAP32[$pC36>>2]|0; + $4277 = ((($4276)) + 3|0); + HEAP8[$4277>>0] = 0; + $4278 = HEAP32[$res38>>2]|0; + $4279 = HEAP32[$pC36>>2]|0; + $4280 = ((($4279)) + 28|0); + HEAP32[$4280>>2] = $4278; + $4281 = HEAP32[$res38>>2]|0; + $4282 = ($4281|0)!=(0); + if ($4282) { + $4283 = HEAP32[$pOp>>2]|0; + $4284 = ((($4283)) + 8|0); + $4285 = HEAP32[$4284>>2]|0; + $4286 = ($4285|0)==(0); + if (!($4286)) { + label = 14; + break L10; } + $4287 = (_sqlite3CorruptError(78535)|0); + HEAP32[$rc>>2] = $4287; + } + $4288 = HEAP32[$rc>>2]|0; + $4289 = ($4288|0)!=(0); + if ($4289) { + break L1; } break; } case 73: { - $4272 = HEAP32[$0>>2]|0; - $4273 = HEAP32[$pOp>>2]|0; - $4274 = (_out2Prerelease($4272,$4273)|0); - HEAP32[$pOut>>2] = $4274; - $4275 = HEAP32[$pOp>>2]|0; - $4276 = ((($4275)) + 4|0); - $4277 = HEAP32[$4276>>2]|0; - $4278 = HEAP32[$0>>2]|0; - $4279 = ((($4278)) + 56|0); - $4280 = HEAP32[$4279>>2]|0; - $4281 = (($4280) + ($4277<<2)|0); - $4282 = HEAP32[$4281>>2]|0; - $4283 = ((($4282)) + 32|0); - $4284 = $4283; - $4285 = $4284; - $4286 = HEAP32[$4285>>2]|0; - $4287 = (($4284) + 4)|0; - $4288 = $4287; - $4289 = HEAP32[$4288>>2]|0; - $4290 = (_i64Add(($4286|0),($4289|0),1,0)|0); - $4291 = tempRet0; - $4292 = $4283; - $4293 = $4292; - HEAP32[$4293>>2] = $4290; - $4294 = (($4292) + 4)|0; - $4295 = $4294; - HEAP32[$4295>>2] = $4291; - $4296 = HEAP32[$pOut>>2]|0; - $4297 = $4296; - $4298 = $4297; - HEAP32[$4298>>2] = $4286; - $4299 = (($4297) + 4)|0; - $4300 = $4299; - HEAP32[$4300>>2] = $4289; + $4290 = HEAP32[$0>>2]|0; + $4291 = HEAP32[$pOp>>2]|0; + $4292 = (_out2Prerelease($4290,$4291)|0); + HEAP32[$pOut>>2] = $4292; + $4293 = HEAP32[$pOp>>2]|0; + $4294 = ((($4293)) + 4|0); + $4295 = HEAP32[$4294>>2]|0; + $4296 = HEAP32[$0>>2]|0; + $4297 = ((($4296)) + 56|0); + $4298 = HEAP32[$4297>>2]|0; + $4299 = (($4298) + ($4295<<2)|0); + $4300 = HEAP32[$4299>>2]|0; + $4301 = ((($4300)) + 32|0); + $4302 = $4301; + $4303 = $4302; + $4304 = HEAP32[$4303>>2]|0; + $4305 = (($4302) + 4)|0; + $4306 = $4305; + $4307 = HEAP32[$4306>>2]|0; + $4308 = (_i64Add(($4304|0),($4307|0),1,0)|0); + $4309 = tempRet0; + $4310 = $4301; + $4311 = $4310; + HEAP32[$4311>>2] = $4308; + $4312 = (($4310) + 4)|0; + $4313 = $4312; + HEAP32[$4313>>2] = $4309; + $4314 = HEAP32[$pOut>>2]|0; + $4315 = $4314; + $4316 = $4315; + HEAP32[$4316>>2] = $4304; + $4317 = (($4315) + 4)|0; + $4318 = $4317; + HEAP32[$4318>>2] = $4307; break; } case 74: { - $4301 = $v; - $4302 = $4301; - HEAP32[$4302>>2] = 0; - $4303 = (($4301) + 4)|0; - $4304 = $4303; - HEAP32[$4304>>2] = 0; + $4319 = $v; + $4320 = $4319; + HEAP32[$4320>>2] = 0; + $4321 = (($4319) + 4)|0; + $4322 = $4321; + HEAP32[$4322>>2] = 0; HEAP32[$res41>>2] = 0; - $4305 = HEAP32[$0>>2]|0; - $4306 = HEAP32[$pOp>>2]|0; - $4307 = (_out2Prerelease($4305,$4306)|0); - HEAP32[$pOut>>2] = $4307; - $4308 = HEAP32[$pOp>>2]|0; - $4309 = ((($4308)) + 4|0); - $4310 = HEAP32[$4309>>2]|0; - $4311 = HEAP32[$0>>2]|0; - $4312 = ((($4311)) + 56|0); - $4313 = HEAP32[$4312>>2]|0; - $4314 = (($4313) + ($4310<<2)|0); - $4315 = HEAP32[$4314>>2]|0; - HEAP32[$pC40>>2] = $4315; - $4316 = HEAP32[$pC40>>2]|0; - $4317 = ((($4316)) + 5|0); - $4318 = HEAP8[$4317>>0]|0; - $4319 = ($4318&255) >>> 1; - $4320 = $4319 & 1; - $4321 = $4320&255; - $4322 = ($4321|0)!=(0); + $4323 = HEAP32[$0>>2]|0; + $4324 = HEAP32[$pOp>>2]|0; + $4325 = (_out2Prerelease($4323,$4324)|0); + HEAP32[$pOut>>2] = $4325; + $4326 = HEAP32[$pOp>>2]|0; + $4327 = ((($4326)) + 4|0); + $4328 = HEAP32[$4327>>2]|0; + $4329 = HEAP32[$0>>2]|0; + $4330 = ((($4329)) + 56|0); + $4331 = HEAP32[$4330>>2]|0; + $4332 = (($4331) + ($4328<<2)|0); + $4333 = HEAP32[$4332>>2]|0; + HEAP32[$pC40>>2] = $4333; + $4334 = HEAP32[$pC40>>2]|0; + $4335 = ((($4334)) + 5|0); + $4336 = HEAP8[$4335>>0]|0; + $4337 = ($4336&255) >>> 1; + $4338 = $4337 & 1; + $4339 = $4338&255; + $4340 = ($4339|0)!=(0); do { - if (!($4322)) { - $4323 = HEAP32[$pC40>>2]|0; - $4324 = ((($4323)) + 16|0); - $4325 = HEAP32[$4324>>2]|0; - $4326 = (_sqlite3BtreeLast($4325,$res41)|0); - HEAP32[$rc>>2] = $4326; - $4327 = HEAP32[$rc>>2]|0; - $4328 = ($4327|0)!=(0); - if ($4328) { - label = 861; - break L8; + if (!($4340)) { + $4341 = HEAP32[$pC40>>2]|0; + $4342 = ((($4341)) + 16|0); + $4343 = HEAP32[$4342>>2]|0; + $4344 = (_sqlite3BtreeLast($4343,$res41)|0); + HEAP32[$rc>>2] = $4344; + $4345 = HEAP32[$rc>>2]|0; + $4346 = ($4345|0)!=(0); + if ($4346) { + break L1; } - $4329 = HEAP32[$res41>>2]|0; - $4330 = ($4329|0)!=(0); - if ($4330) { - $4331 = $v; - $4332 = $4331; - HEAP32[$4332>>2] = 1; - $4333 = (($4331) + 4)|0; - $4334 = $4333; - HEAP32[$4334>>2] = 0; + $4347 = HEAP32[$res41>>2]|0; + $4348 = ($4347|0)!=(0); + if ($4348) { + $4349 = $v; + $4350 = $4349; + HEAP32[$4350>>2] = 1; + $4351 = (($4349) + 4)|0; + $4352 = $4351; + HEAP32[$4352>>2] = 0; break; } - $4335 = HEAP32[$pC40>>2]|0; - $4336 = ((($4335)) + 16|0); - $4337 = HEAP32[$4336>>2]|0; - $4338 = (_sqlite3BtreeKeySize($4337,$v)|0); - HEAP32[$rc>>2] = $4338; - $4339 = $v; - $4340 = $4339; - $4341 = HEAP32[$4340>>2]|0; - $4342 = (($4339) + 4)|0; - $4343 = $4342; - $4344 = HEAP32[$4343>>2]|0; - $4345 = ($4344|0)>(2147483647); - $4346 = ($4341>>>0)>=(4294967295); - $4347 = ($4344|0)==(2147483647); - $4348 = $4347 & $4346; - $4349 = $4345 | $4348; - if ($4349) { - $4350 = HEAP32[$pC40>>2]|0; - $4351 = ((($4350)) + 5|0); - $4352 = HEAP8[$4351>>0]|0; - $4353 = $4352 & -3; - $4354 = $4353 | 2; - HEAP8[$4351>>0] = $4354; + $4353 = HEAP32[$pC40>>2]|0; + $4354 = ((($4353)) + 16|0); + $4355 = HEAP32[$4354>>2]|0; + $4356 = (_sqlite3BtreeKeySize($4355,$v)|0); + HEAP32[$rc>>2] = $4356; + $4357 = $v; + $4358 = $4357; + $4359 = HEAP32[$4358>>2]|0; + $4360 = (($4357) + 4)|0; + $4361 = $4360; + $4362 = HEAP32[$4361>>2]|0; + $4363 = ($4362|0)>(2147483647); + $4364 = ($4359>>>0)>=(4294967295); + $4365 = ($4362|0)==(2147483647); + $4366 = $4365 & $4364; + $4367 = $4363 | $4366; + if ($4367) { + $4368 = HEAP32[$pC40>>2]|0; + $4369 = ((($4368)) + 5|0); + $4370 = HEAP8[$4369>>0]|0; + $4371 = $4370 & -3; + $4372 = $4371 | 2; + HEAP8[$4369>>0] = $4372; break; } else { - $4355 = $v; - $4356 = $4355; - $4357 = HEAP32[$4356>>2]|0; - $4358 = (($4355) + 4)|0; - $4359 = $4358; - $4360 = HEAP32[$4359>>2]|0; - $4361 = (_i64Add(($4357|0),($4360|0),1,0)|0); - $4362 = tempRet0; - $4363 = $v; - $4364 = $4363; - HEAP32[$4364>>2] = $4361; - $4365 = (($4363) + 4)|0; - $4366 = $4365; - HEAP32[$4366>>2] = $4362; + $4373 = $v; + $4374 = $4373; + $4375 = HEAP32[$4374>>2]|0; + $4376 = (($4373) + 4)|0; + $4377 = $4376; + $4378 = HEAP32[$4377>>2]|0; + $4379 = (_i64Add(($4375|0),($4378|0),1,0)|0); + $4380 = tempRet0; + $4381 = $v; + $4382 = $4381; + HEAP32[$4382>>2] = $4379; + $4383 = (($4381) + 4)|0; + $4384 = $4383; + HEAP32[$4384>>2] = $4380; break; } } } while(0); - $4367 = HEAP32[$pOp>>2]|0; - $4368 = ((($4367)) + 12|0); - $4369 = HEAP32[$4368>>2]|0; - $4370 = ($4369|0)!=(0); - if ($4370) { - $4371 = HEAP32[$0>>2]|0; - $4372 = ((($4371)) + 176|0); - $4373 = HEAP32[$4372>>2]|0; - $4374 = ($4373|0)!=(0|0); - if ($4374) { - $4375 = HEAP32[$0>>2]|0; - $4376 = ((($4375)) + 176|0); - $4377 = HEAP32[$4376>>2]|0; - HEAP32[$pFrame44>>2] = $4377; + $4385 = HEAP32[$pOp>>2]|0; + $4386 = ((($4385)) + 12|0); + $4387 = HEAP32[$4386>>2]|0; + $4388 = ($4387|0)!=(0); + if ($4388) { + $4389 = HEAP32[$0>>2]|0; + $4390 = ((($4389)) + 176|0); + $4391 = HEAP32[$4390>>2]|0; + $4392 = ($4391|0)!=(0|0); + if ($4392) { + $4393 = HEAP32[$0>>2]|0; + $4394 = ((($4393)) + 176|0); + $4395 = HEAP32[$4394>>2]|0; + HEAP32[$pFrame44>>2] = $4395; while(1) { - $4378 = HEAP32[$pFrame44>>2]|0; - $4379 = ((($4378)) + 4|0); - $4380 = HEAP32[$4379>>2]|0; - $4381 = ($4380|0)!=(0|0); - if (!($4381)) { + $4396 = HEAP32[$pFrame44>>2]|0; + $4397 = ((($4396)) + 4|0); + $4398 = HEAP32[$4397>>2]|0; + $4399 = ($4398|0)!=(0|0); + if (!($4399)) { break; } - $4382 = HEAP32[$pFrame44>>2]|0; - $4383 = ((($4382)) + 4|0); - $4384 = HEAP32[$4383>>2]|0; - HEAP32[$pFrame44>>2] = $4384; + $4400 = HEAP32[$pFrame44>>2]|0; + $4401 = ((($4400)) + 4|0); + $4402 = HEAP32[$4401>>2]|0; + HEAP32[$pFrame44>>2] = $4402; } - $4385 = HEAP32[$pOp>>2]|0; - $4386 = ((($4385)) + 12|0); - $4387 = HEAP32[$4386>>2]|0; - $4388 = HEAP32[$pFrame44>>2]|0; - $4389 = ((($4388)) + 16|0); - $4390 = HEAP32[$4389>>2]|0; - $4391 = (($4390) + (($4387*40)|0)|0); - HEAP32[$pMem43>>2] = $4391; + $4403 = HEAP32[$pOp>>2]|0; + $4404 = ((($4403)) + 12|0); + $4405 = HEAP32[$4404>>2]|0; + $4406 = HEAP32[$pFrame44>>2]|0; + $4407 = ((($4406)) + 16|0); + $4408 = HEAP32[$4407>>2]|0; + $4409 = (($4408) + (($4405*40)|0)|0); + HEAP32[$pMem43>>2] = $4409; } else { - $4392 = HEAP32[$pOp>>2]|0; - $4393 = ((($4392)) + 12|0); - $4394 = HEAP32[$4393>>2]|0; - $4395 = HEAP32[$aMem>>2]|0; - $4396 = (($4395) + (($4394*40)|0)|0); - HEAP32[$pMem43>>2] = $4396; + $4410 = HEAP32[$pOp>>2]|0; + $4411 = ((($4410)) + 12|0); + $4412 = HEAP32[$4411>>2]|0; + $4413 = HEAP32[$aMem>>2]|0; + $4414 = (($4413) + (($4412*40)|0)|0); + HEAP32[$pMem43>>2] = $4414; } - $4397 = HEAP32[$pMem43>>2]|0; - (_sqlite3VdbeMemIntegerify($4397)|0); - $4398 = HEAP32[$pMem43>>2]|0; - $4399 = $4398; - $4400 = $4399; - $4401 = HEAP32[$4400>>2]|0; - $4402 = (($4399) + 4)|0; - $4403 = $4402; - $4404 = HEAP32[$4403>>2]|0; - $4405 = ($4401|0)==(-1); - $4406 = ($4404|0)==(2147483647); - $4407 = $4405 & $4406; - if ($4407) { - label = 542; + $4415 = HEAP32[$pMem43>>2]|0; + (_sqlite3VdbeMemIntegerify($4415)|0); + $4416 = HEAP32[$pMem43>>2]|0; + $4417 = $4416; + $4418 = $4417; + $4419 = HEAP32[$4418>>2]|0; + $4420 = (($4417) + 4)|0; + $4421 = $4420; + $4422 = HEAP32[$4421>>2]|0; + $4423 = ($4419|0)==(-1); + $4424 = ($4422|0)==(2147483647); + $4425 = $4423 & $4424; + if ($4425) { + label = 547; break L8; } - $4408 = HEAP32[$pC40>>2]|0; - $4409 = ((($4408)) + 5|0); - $4410 = HEAP8[$4409>>0]|0; - $4411 = ($4410&255) >>> 1; - $4412 = $4411 & 1; - $4413 = $4412&255; - $4414 = ($4413|0)!=(0); - if ($4414) { - label = 542; + $4426 = HEAP32[$pC40>>2]|0; + $4427 = ((($4426)) + 5|0); + $4428 = HEAP8[$4427>>0]|0; + $4429 = ($4428&255) >>> 1; + $4430 = $4429 & 1; + $4431 = $4430&255; + $4432 = ($4431|0)!=(0); + if ($4432) { + label = 547; break L8; } - $4415 = $v; - $4416 = $4415; - $4417 = HEAP32[$4416>>2]|0; - $4418 = (($4415) + 4)|0; - $4419 = $4418; - $4420 = HEAP32[$4419>>2]|0; - $4421 = HEAP32[$pMem43>>2]|0; - $4422 = $4421; - $4423 = $4422; - $4424 = HEAP32[$4423>>2]|0; - $4425 = (($4422) + 4)|0; - $4426 = $4425; - $4427 = HEAP32[$4426>>2]|0; - $4428 = (_i64Add(($4424|0),($4427|0),1,0)|0); - $4429 = tempRet0; - $4430 = ($4420|0)<($4429|0); - $4431 = ($4417>>>0)<($4428>>>0); - $4432 = ($4420|0)==($4429|0); - $4433 = $4432 & $4431; - $4434 = $4430 | $4433; - if ($4434) { - $4435 = HEAP32[$pMem43>>2]|0; - $4436 = $4435; - $4437 = $4436; - $4438 = HEAP32[$4437>>2]|0; - $4439 = (($4436) + 4)|0; - $4440 = $4439; - $4441 = HEAP32[$4440>>2]|0; - $4442 = (_i64Add(($4438|0),($4441|0),1,0)|0); - $4443 = tempRet0; - $4444 = $v; - $4445 = $4444; - HEAP32[$4445>>2] = $4442; - $4446 = (($4444) + 4)|0; - $4447 = $4446; - HEAP32[$4447>>2] = $4443; + $4433 = $v; + $4434 = $4433; + $4435 = HEAP32[$4434>>2]|0; + $4436 = (($4433) + 4)|0; + $4437 = $4436; + $4438 = HEAP32[$4437>>2]|0; + $4439 = HEAP32[$pMem43>>2]|0; + $4440 = $4439; + $4441 = $4440; + $4442 = HEAP32[$4441>>2]|0; + $4443 = (($4440) + 4)|0; + $4444 = $4443; + $4445 = HEAP32[$4444>>2]|0; + $4446 = (_i64Add(($4442|0),($4445|0),1,0)|0); + $4447 = tempRet0; + $4448 = ($4438|0)<($4447|0); + $4449 = ($4435>>>0)<($4446>>>0); + $4450 = ($4438|0)==($4447|0); + $4451 = $4450 & $4449; + $4452 = $4448 | $4451; + if ($4452) { + $4453 = HEAP32[$pMem43>>2]|0; + $4454 = $4453; + $4455 = $4454; + $4456 = HEAP32[$4455>>2]|0; + $4457 = (($4454) + 4)|0; + $4458 = $4457; + $4459 = HEAP32[$4458>>2]|0; + $4460 = (_i64Add(($4456|0),($4459|0),1,0)|0); + $4461 = tempRet0; + $4462 = $v; + $4463 = $4462; + HEAP32[$4463>>2] = $4460; + $4464 = (($4462) + 4)|0; + $4465 = $4464; + HEAP32[$4465>>2] = $4461; } - $4448 = $v; - $4449 = $4448; - $4450 = HEAP32[$4449>>2]|0; - $4451 = (($4448) + 4)|0; - $4452 = $4451; - $4453 = HEAP32[$4452>>2]|0; - $4454 = HEAP32[$pMem43>>2]|0; - $4455 = $4454; - $4456 = $4455; - HEAP32[$4456>>2] = $4450; - $4457 = (($4455) + 4)|0; - $4458 = $4457; - HEAP32[$4458>>2] = $4453; + $4466 = $v; + $4467 = $4466; + $4468 = HEAP32[$4467>>2]|0; + $4469 = (($4466) + 4)|0; + $4470 = $4469; + $4471 = HEAP32[$4470>>2]|0; + $4472 = HEAP32[$pMem43>>2]|0; + $4473 = $4472; + $4474 = $4473; + HEAP32[$4474>>2] = $4468; + $4475 = (($4473) + 4)|0; + $4476 = $4475; + HEAP32[$4476>>2] = $4471; } - $4459 = HEAP32[$pC40>>2]|0; - $4460 = ((($4459)) + 5|0); - $4461 = HEAP8[$4460>>0]|0; - $4462 = ($4461&255) >>> 1; - $4463 = $4462 & 1; - $4464 = $4463&255; - $4465 = ($4464|0)!=(0); - if ($4465) { + $4477 = HEAP32[$pC40>>2]|0; + $4478 = ((($4477)) + 5|0); + $4479 = HEAP8[$4478>>0]|0; + $4480 = ($4479&255) >>> 1; + $4481 = $4480 & 1; + $4482 = $4481&255; + $4483 = ($4482|0)!=(0); + if ($4483) { HEAP32[$cnt42>>2] = 0; while(1) { _sqlite3_randomness(8,$v); - $4466 = $v; - $4467 = $4466; - $4468 = HEAP32[$4467>>2]|0; - $4469 = (($4466) + 4)|0; - $4470 = $4469; - $4471 = HEAP32[$4470>>2]|0; - $4472 = $4471 & 1073741823; - $4473 = $v; - $4474 = $4473; - HEAP32[$4474>>2] = $4468; - $4475 = (($4473) + 4)|0; - $4476 = $4475; - HEAP32[$4476>>2] = $4472; - $4477 = $v; - $4478 = $4477; - $4479 = HEAP32[$4478>>2]|0; - $4480 = (($4477) + 4)|0; - $4481 = $4480; - $4482 = HEAP32[$4481>>2]|0; - $4483 = (_i64Add(($4479|0),($4482|0),1,0)|0); - $4484 = tempRet0; - $4485 = $v; - $4486 = $4485; - HEAP32[$4486>>2] = $4483; - $4487 = (($4485) + 4)|0; + $4484 = $v; + $4485 = $4484; + $4486 = HEAP32[$4485>>2]|0; + $4487 = (($4484) + 4)|0; $4488 = $4487; - HEAP32[$4488>>2] = $4484; - $4489 = HEAP32[$pC40>>2]|0; - $4490 = ((($4489)) + 16|0); - $4491 = HEAP32[$4490>>2]|0; - $4492 = $v; - $4493 = $4492; - $4494 = HEAP32[$4493>>2]|0; - $4495 = (($4492) + 4)|0; + $4489 = HEAP32[$4488>>2]|0; + $4490 = $4489 & 1073741823; + $4491 = $v; + $4492 = $4491; + HEAP32[$4492>>2] = $4486; + $4493 = (($4491) + 4)|0; + $4494 = $4493; + HEAP32[$4494>>2] = $4490; + $4495 = $v; $4496 = $4495; $4497 = HEAP32[$4496>>2]|0; - $4498 = (_sqlite3BtreeMovetoUnpacked($4491,0,$4494,$4497,0,$res41)|0); - HEAP32[$rc>>2] = $4498; - $4499 = ($4498|0)==(0); - $4500 = HEAP32[$res41>>2]|0; - $4501 = ($4500|0)==(0); - $or$cond18 = $4499 & $4501; + $4498 = (($4495) + 4)|0; + $4499 = $4498; + $4500 = HEAP32[$4499>>2]|0; + $4501 = (_i64Add(($4497|0),($4500|0),1,0)|0); + $4502 = tempRet0; + $4503 = $v; + $4504 = $4503; + HEAP32[$4504>>2] = $4501; + $4505 = (($4503) + 4)|0; + $4506 = $4505; + HEAP32[$4506>>2] = $4502; + $4507 = HEAP32[$pC40>>2]|0; + $4508 = ((($4507)) + 16|0); + $4509 = HEAP32[$4508>>2]|0; + $4510 = $v; + $4511 = $4510; + $4512 = HEAP32[$4511>>2]|0; + $4513 = (($4510) + 4)|0; + $4514 = $4513; + $4515 = HEAP32[$4514>>2]|0; + $4516 = (_sqlite3BtreeMovetoUnpacked($4509,0,$4512,$4515,0,$res41)|0); + HEAP32[$rc>>2] = $4516; + $4517 = ($4516|0)==(0); + $4518 = HEAP32[$res41>>2]|0; + $4519 = ($4518|0)==(0); + $or$cond18 = $4517 & $4519; if (!($or$cond18)) { break; } - $4502 = HEAP32[$cnt42>>2]|0; - $4503 = (($4502) + 1)|0; - HEAP32[$cnt42>>2] = $4503; - $4504 = ($4503|0)<(100); - if (!($4504)) { + $4520 = HEAP32[$cnt42>>2]|0; + $4521 = (($4520) + 1)|0; + HEAP32[$cnt42>>2] = $4521; + $4522 = ($4521|0)<(100); + if (!($4522)) { break; } } - $4505 = HEAP32[$rc>>2]|0; - $4506 = ($4505|0)==(0); - $4507 = HEAP32[$res41>>2]|0; - $4508 = ($4507|0)==(0); - $or$cond21 = $4506 & $4508; - if ($or$cond21) { - label = 551; + $4523 = HEAP32[$rc>>2]|0; + $4524 = ($4523|0)!=(0); + if ($4524) { + break L1; + } + $4525 = HEAP32[$res41>>2]|0; + $4526 = ($4525|0)==(0); + if ($4526) { + label = 557; break L8; } } - $4509 = HEAP32[$pC40>>2]|0; - $4510 = ((($4509)) + 3|0); - HEAP8[$4510>>0] = 0; - $4511 = HEAP32[$pC40>>2]|0; - $4512 = ((($4511)) + 56|0); - HEAP32[$4512>>2] = 0; - $4513 = $v; - $4514 = $4513; - $4515 = HEAP32[$4514>>2]|0; - $4516 = (($4513) + 4)|0; - $4517 = $4516; - $4518 = HEAP32[$4517>>2]|0; - $4519 = HEAP32[$pOut>>2]|0; - $4520 = $4519; - $4521 = $4520; - HEAP32[$4521>>2] = $4515; - $4522 = (($4520) + 4)|0; - $4523 = $4522; - HEAP32[$4523>>2] = $4518; + $4527 = HEAP32[$pC40>>2]|0; + $4528 = ((($4527)) + 3|0); + HEAP8[$4528>>0] = 0; + $4529 = HEAP32[$pC40>>2]|0; + $4530 = ((($4529)) + 56|0); + HEAP32[$4530>>2] = 0; + $4531 = $v; + $4532 = $4531; + $4533 = HEAP32[$4532>>2]|0; + $4534 = (($4531) + 4)|0; + $4535 = $4534; + $4536 = HEAP32[$4535>>2]|0; + $4537 = HEAP32[$pOut>>2]|0; + $4538 = $4537; + $4539 = $4538; + HEAP32[$4539>>2] = $4533; + $4540 = (($4538) + 4)|0; + $4541 = $4540; + HEAP32[$4541>>2] = $4536; break; } case 84: case 75: { - $4524 = HEAP32[$pOp>>2]|0; - $4525 = ((($4524)) + 8|0); - $4526 = HEAP32[$4525>>2]|0; - $4527 = HEAP32[$aMem>>2]|0; - $4528 = (($4527) + (($4526*40)|0)|0); - HEAP32[$pData>>2] = $4528; - $4529 = HEAP32[$pOp>>2]|0; - $4530 = ((($4529)) + 4|0); - $4531 = HEAP32[$4530>>2]|0; - $4532 = HEAP32[$0>>2]|0; - $4533 = ((($4532)) + 56|0); - $4534 = HEAP32[$4533>>2]|0; - $4535 = (($4534) + ($4531<<2)|0); - $4536 = HEAP32[$4535>>2]|0; - HEAP32[$pC46>>2] = $4536; - $4537 = HEAP32[$pOp>>2]|0; - $4538 = HEAP8[$4537>>0]|0; - $4539 = $4538&255; - $4540 = ($4539|0)==(75); - $4541 = HEAP32[$pOp>>2]|0; - $4542 = ((($4541)) + 12|0); - $4543 = HEAP32[$4542>>2]|0; - if ($4540) { - $4544 = HEAP32[$aMem>>2]|0; - $4545 = (($4544) + (($4543*40)|0)|0); - HEAP32[$pKey>>2] = $4545; - $4546 = HEAP32[$pKey>>2]|0; - $4547 = $4546; - $4548 = $4547; - $4549 = HEAP32[$4548>>2]|0; - $4550 = (($4547) + 4)|0; - $4551 = $4550; - $4552 = HEAP32[$4551>>2]|0; - $4553 = $iKey45; - $4554 = $4553; - HEAP32[$4554>>2] = $4549; - $4555 = (($4553) + 4)|0; - $4556 = $4555; - HEAP32[$4556>>2] = $4552; + $4542 = HEAP32[$pOp>>2]|0; + $4543 = ((($4542)) + 8|0); + $4544 = HEAP32[$4543>>2]|0; + $4545 = HEAP32[$aMem>>2]|0; + $4546 = (($4545) + (($4544*40)|0)|0); + HEAP32[$pData>>2] = $4546; + $4547 = HEAP32[$pOp>>2]|0; + $4548 = ((($4547)) + 4|0); + $4549 = HEAP32[$4548>>2]|0; + $4550 = HEAP32[$0>>2]|0; + $4551 = ((($4550)) + 56|0); + $4552 = HEAP32[$4551>>2]|0; + $4553 = (($4552) + ($4549<<2)|0); + $4554 = HEAP32[$4553>>2]|0; + HEAP32[$pC46>>2] = $4554; + $4555 = HEAP32[$pOp>>2]|0; + $4556 = HEAP8[$4555>>0]|0; + $4557 = $4556&255; + $4558 = ($4557|0)==(75); + $4559 = HEAP32[$pOp>>2]|0; + $4560 = ((($4559)) + 12|0); + $4561 = HEAP32[$4560>>2]|0; + if ($4558) { + $4562 = HEAP32[$aMem>>2]|0; + $4563 = (($4562) + (($4561*40)|0)|0); + HEAP32[$pKey>>2] = $4563; + $4564 = HEAP32[$pKey>>2]|0; + $4565 = $4564; + $4566 = $4565; + $4567 = HEAP32[$4566>>2]|0; + $4568 = (($4565) + 4)|0; + $4569 = $4568; + $4570 = HEAP32[$4569>>2]|0; + $4571 = $iKey45; + $4572 = $4571; + HEAP32[$4572>>2] = $4567; + $4573 = (($4571) + 4)|0; + $4574 = $4573; + HEAP32[$4574>>2] = $4570; } else { - $4557 = ($4543|0)<(0); - $4558 = $4557 << 31 >> 31; - $4559 = $iKey45; - $4560 = $4559; - HEAP32[$4560>>2] = $4543; - $4561 = (($4559) + 4)|0; - $4562 = $4561; - HEAP32[$4562>>2] = $4558; + $4575 = ($4561|0)<(0); + $4576 = $4575 << 31 >> 31; + $4577 = $iKey45; + $4578 = $4577; + HEAP32[$4578>>2] = $4561; + $4579 = (($4577) + 4)|0; + $4580 = $4579; + HEAP32[$4580>>2] = $4576; } - $4563 = HEAP32[$pOp>>2]|0; - $4564 = ((($4563)) + 3|0); - $4565 = HEAP8[$4564>>0]|0; - $4566 = $4565&255; - $4567 = $4566 & 1; - $4568 = ($4567|0)!=(0); - if ($4568) { - $4569 = HEAP32[$0>>2]|0; - $4570 = ((($4569)) + 92|0); - $4571 = HEAP32[$4570>>2]|0; - $4572 = (($4571) + 1)|0; - HEAP32[$4570>>2] = $4572; + $4581 = HEAP32[$pOp>>2]|0; + $4582 = ((($4581)) + 3|0); + $4583 = HEAP8[$4582>>0]|0; + $4584 = $4583&255; + $4585 = $4584 & 1; + $4586 = ($4585|0)!=(0); + if ($4586) { + $4587 = HEAP32[$0>>2]|0; + $4588 = ((($4587)) + 92|0); + $4589 = HEAP32[$4588>>2]|0; + $4590 = (($4589) + 1)|0; + HEAP32[$4588>>2] = $4590; } - $4573 = HEAP32[$pOp>>2]|0; - $4574 = ((($4573)) + 3|0); - $4575 = HEAP8[$4574>>0]|0; - $4576 = $4575&255; - $4577 = $4576 & 2; - $4578 = ($4577|0)!=(0); - if ($4578) { - $4579 = $iKey45; - $4580 = $4579; - $4581 = HEAP32[$4580>>2]|0; - $4582 = (($4579) + 4)|0; - $4583 = $4582; - $4584 = HEAP32[$4583>>2]|0; - $4585 = $lastRowid; - $4586 = $4585; - HEAP32[$4586>>2] = $4581; - $4587 = (($4585) + 4)|0; - $4588 = $4587; - HEAP32[$4588>>2] = $4584; - $4589 = HEAP32[$db>>2]|0; - $4590 = ((($4589)) + 32|0); - $4591 = $4590; - $4592 = $4591; - HEAP32[$4592>>2] = $4581; - $4593 = (($4591) + 4)|0; - $4594 = $4593; - HEAP32[$4594>>2] = $4584; + $4591 = HEAP32[$pOp>>2]|0; + $4592 = ((($4591)) + 3|0); + $4593 = HEAP8[$4592>>0]|0; + $4594 = $4593&255; + $4595 = $4594 & 2; + $4596 = ($4595|0)!=(0); + if ($4596) { + $4597 = $iKey45; + $4598 = $4597; + $4599 = HEAP32[$4598>>2]|0; + $4600 = (($4597) + 4)|0; + $4601 = $4600; + $4602 = HEAP32[$4601>>2]|0; + $4603 = $lastRowid; + $4604 = $4603; + HEAP32[$4604>>2] = $4599; + $4605 = (($4603) + 4)|0; + $4606 = $4605; + HEAP32[$4606>>2] = $4602; + $4607 = HEAP32[$db>>2]|0; + $4608 = ((($4607)) + 32|0); + $4609 = $4608; + $4610 = $4609; + HEAP32[$4610>>2] = $4599; + $4611 = (($4609) + 4)|0; + $4612 = $4611; + HEAP32[$4612>>2] = $4602; } - $4595 = HEAP32[$pData>>2]|0; - $4596 = ((($4595)) + 8|0); - $4597 = HEAP16[$4596>>1]|0; - $4598 = $4597&65535; - $4599 = $4598 & 1; - $4600 = ($4599|0)!=(0); - if ($4600) { - $4601 = HEAP32[$pData>>2]|0; - $4602 = ((($4601)) + 16|0); - HEAP32[$4602>>2] = 0; - $4603 = HEAP32[$pData>>2]|0; - $4604 = ((($4603)) + 12|0); - HEAP32[$4604>>2] = 0; + $4613 = HEAP32[$pData>>2]|0; + $4614 = ((($4613)) + 8|0); + $4615 = HEAP16[$4614>>1]|0; + $4616 = $4615&65535; + $4617 = $4616 & 1; + $4618 = ($4617|0)!=(0); + if ($4618) { + $4619 = HEAP32[$pData>>2]|0; + $4620 = ((($4619)) + 16|0); + HEAP32[$4620>>2] = 0; + $4621 = HEAP32[$pData>>2]|0; + $4622 = ((($4621)) + 12|0); + HEAP32[$4622>>2] = 0; } - $4605 = HEAP32[$pOp>>2]|0; - $4606 = ((($4605)) + 3|0); - $4607 = HEAP8[$4606>>0]|0; - $4608 = $4607&255; - $4609 = $4608 & 16; - $4610 = ($4609|0)!=(0); - if ($4610) { - $4611 = HEAP32[$pC46>>2]|0; - $4612 = ((($4611)) + 28|0); - $4613 = HEAP32[$4612>>2]|0; - $4614 = $4613; + $4623 = HEAP32[$pOp>>2]|0; + $4624 = ((($4623)) + 3|0); + $4625 = HEAP8[$4624>>0]|0; + $4626 = $4625&255; + $4627 = $4626 & 16; + $4628 = ($4627|0)!=(0); + if ($4628) { + $4629 = HEAP32[$pC46>>2]|0; + $4630 = ((($4629)) + 28|0); + $4631 = HEAP32[$4630>>2]|0; + $4632 = $4631; } else { - $4614 = 0; + $4632 = 0; } - HEAP32[$seekResult>>2] = $4614; - $4615 = HEAP32[$pData>>2]|0; - $4616 = ((($4615)) + 8|0); - $4617 = HEAP16[$4616>>1]|0; - $4618 = $4617&65535; - $4619 = $4618 & 16384; - $4620 = ($4619|0)!=(0); - if ($4620) { - $4621 = HEAP32[$pData>>2]|0; - $4622 = HEAP32[$4621>>2]|0; - HEAP32[$nZero47>>2] = $4622; + HEAP32[$seekResult>>2] = $4632; + $4633 = HEAP32[$pData>>2]|0; + $4634 = ((($4633)) + 8|0); + $4635 = HEAP16[$4634>>1]|0; + $4636 = $4635&65535; + $4637 = $4636 & 16384; + $4638 = ($4637|0)!=(0); + if ($4638) { + $4639 = HEAP32[$pData>>2]|0; + $4640 = HEAP32[$4639>>2]|0; + HEAP32[$nZero47>>2] = $4640; } else { HEAP32[$nZero47>>2] = 0; } - $4623 = HEAP32[$pC46>>2]|0; - $4624 = ((($4623)) + 16|0); - $4625 = HEAP32[$4624>>2]|0; - $4626 = $iKey45; - $4627 = $4626; - $4628 = HEAP32[$4627>>2]|0; - $4629 = (($4626) + 4)|0; - $4630 = $4629; - $4631 = HEAP32[$4630>>2]|0; - $4632 = HEAP32[$pData>>2]|0; - $4633 = ((($4632)) + 16|0); - $4634 = HEAP32[$4633>>2]|0; - $4635 = HEAP32[$pData>>2]|0; - $4636 = ((($4635)) + 12|0); - $4637 = HEAP32[$4636>>2]|0; - $4638 = HEAP32[$nZero47>>2]|0; - $4639 = HEAP32[$pOp>>2]|0; - $4640 = ((($4639)) + 3|0); - $4641 = HEAP8[$4640>>0]|0; - $4642 = $4641&255; - $4643 = $4642 & 8; - $4644 = ($4643|0)!=(0); - $4645 = $4644&1; - $4646 = HEAP32[$seekResult>>2]|0; - $4647 = (_sqlite3BtreeInsert($4625,0,$4628,$4631,$4634,$4637,$4638,$4645,$4646)|0); - HEAP32[$rc>>2] = $4647; - $4648 = HEAP32[$pC46>>2]|0; - $4649 = ((($4648)) + 3|0); - HEAP8[$4649>>0] = 0; - $4650 = HEAP32[$pC46>>2]|0; - $4651 = ((($4650)) + 56|0); - HEAP32[$4651>>2] = 0; - $4652 = HEAP32[$rc>>2]|0; - $4653 = ($4652|0)==(0); - if ($4653) { - $4654 = HEAP32[$db>>2]|0; - $4655 = ((($4654)) + 212|0); - $4656 = HEAP32[$4655>>2]|0; - $4657 = ($4656|0)!=(0|0); - if ($4657) { - $4658 = HEAP32[$pOp>>2]|0; - $4659 = ((($4658)) + 16|0); - $4660 = HEAP32[$4659>>2]|0; - $4661 = ($4660|0)!=(0|0); - if ($4661) { - $4662 = HEAP32[$pC46>>2]|0; - $4663 = ((($4662)) + 1|0); - $4664 = HEAP8[$4663>>0]|0; - $4665 = $4664 << 24 >> 24; - $4666 = HEAP32[$db>>2]|0; - $4667 = ((($4666)) + 16|0); - $4668 = HEAP32[$4667>>2]|0; - $4669 = (($4668) + ($4665<<4)|0); - $4670 = HEAP32[$4669>>2]|0; - HEAP32[$zDb>>2] = $4670; - $4671 = HEAP32[$pOp>>2]|0; - $4672 = ((($4671)) + 16|0); - $4673 = HEAP32[$4672>>2]|0; - HEAP32[$zTbl>>2] = $4673; - $4674 = HEAP32[$pOp>>2]|0; - $4675 = ((($4674)) + 3|0); - $4676 = HEAP8[$4675>>0]|0; - $4677 = $4676&255; - $4678 = $4677 & 4; - $4679 = ($4678|0)!=(0); - $4680 = $4679 ? 23 : 18; - HEAP32[$op48>>2] = $4680; - $4681 = HEAP32[$db>>2]|0; - $4682 = ((($4681)) + 212|0); - $4683 = HEAP32[$4682>>2]|0; - $4684 = HEAP32[$db>>2]|0; - $4685 = ((($4684)) + 208|0); - $4686 = HEAP32[$4685>>2]|0; - $4687 = HEAP32[$op48>>2]|0; - $4688 = HEAP32[$zDb>>2]|0; - $4689 = HEAP32[$zTbl>>2]|0; - $4690 = $iKey45; - $4691 = $4690; - $4692 = HEAP32[$4691>>2]|0; - $4693 = (($4690) + 4)|0; - $4694 = $4693; - $4695 = HEAP32[$4694>>2]|0; - FUNCTION_TABLE_viiiiii[$4683 & 255]($4686,$4687,$4688,$4689,$4692,$4695); - } + $4641 = HEAP32[$pC46>>2]|0; + $4642 = ((($4641)) + 16|0); + $4643 = HEAP32[$4642>>2]|0; + $4644 = $iKey45; + $4645 = $4644; + $4646 = HEAP32[$4645>>2]|0; + $4647 = (($4644) + 4)|0; + $4648 = $4647; + $4649 = HEAP32[$4648>>2]|0; + $4650 = HEAP32[$pData>>2]|0; + $4651 = ((($4650)) + 16|0); + $4652 = HEAP32[$4651>>2]|0; + $4653 = HEAP32[$pData>>2]|0; + $4654 = ((($4653)) + 12|0); + $4655 = HEAP32[$4654>>2]|0; + $4656 = HEAP32[$nZero47>>2]|0; + $4657 = HEAP32[$pOp>>2]|0; + $4658 = ((($4657)) + 3|0); + $4659 = HEAP8[$4658>>0]|0; + $4660 = $4659&255; + $4661 = $4660 & 8; + $4662 = ($4661|0)!=(0); + $4663 = $4662&1; + $4664 = HEAP32[$seekResult>>2]|0; + $4665 = (_sqlite3BtreeInsert($4643,0,$4646,$4649,$4652,$4655,$4656,$4663,$4664)|0); + HEAP32[$rc>>2] = $4665; + $4666 = HEAP32[$pC46>>2]|0; + $4667 = ((($4666)) + 3|0); + HEAP8[$4667>>0] = 0; + $4668 = HEAP32[$pC46>>2]|0; + $4669 = ((($4668)) + 56|0); + HEAP32[$4669>>2] = 0; + $4670 = HEAP32[$rc>>2]|0; + $4671 = ($4670|0)!=(0); + if ($4671) { + break L1; + } + $4672 = HEAP32[$db>>2]|0; + $4673 = ((($4672)) + 216|0); + $4674 = HEAP32[$4673>>2]|0; + $4675 = ($4674|0)!=(0|0); + if ($4675) { + $4676 = HEAP32[$pOp>>2]|0; + $4677 = ((($4676)) + 16|0); + $4678 = HEAP32[$4677>>2]|0; + $4679 = ($4678|0)!=(0|0); + if ($4679) { + $4680 = HEAP32[$pC46>>2]|0; + $4681 = ((($4680)) + 1|0); + $4682 = HEAP8[$4681>>0]|0; + $4683 = $4682 << 24 >> 24; + $4684 = HEAP32[$db>>2]|0; + $4685 = ((($4684)) + 16|0); + $4686 = HEAP32[$4685>>2]|0; + $4687 = (($4686) + ($4683<<4)|0); + $4688 = HEAP32[$4687>>2]|0; + HEAP32[$zDb>>2] = $4688; + $4689 = HEAP32[$pOp>>2]|0; + $4690 = ((($4689)) + 16|0); + $4691 = HEAP32[$4690>>2]|0; + HEAP32[$zTbl>>2] = $4691; + $4692 = HEAP32[$pOp>>2]|0; + $4693 = ((($4692)) + 3|0); + $4694 = HEAP8[$4693>>0]|0; + $4695 = $4694&255; + $4696 = $4695 & 4; + $4697 = ($4696|0)!=(0); + $4698 = $4697 ? 23 : 18; + HEAP32[$op48>>2] = $4698; + $4699 = HEAP32[$db>>2]|0; + $4700 = ((($4699)) + 216|0); + $4701 = HEAP32[$4700>>2]|0; + $4702 = HEAP32[$db>>2]|0; + $4703 = ((($4702)) + 212|0); + $4704 = HEAP32[$4703>>2]|0; + $4705 = HEAP32[$op48>>2]|0; + $4706 = HEAP32[$zDb>>2]|0; + $4707 = HEAP32[$zTbl>>2]|0; + $4708 = $iKey45; + $4709 = $4708; + $4710 = HEAP32[$4709>>2]|0; + $4711 = (($4708) + 4)|0; + $4712 = $4711; + $4713 = HEAP32[$4712>>2]|0; + FUNCTION_TABLE_viiiiii[$4701 & 255]($4704,$4705,$4706,$4707,$4710,$4713); } } break; } case 95: { - $4696 = HEAP32[$pOp>>2]|0; - $4697 = ((($4696)) + 4|0); - $4698 = HEAP32[$4697>>2]|0; - $4699 = HEAP32[$0>>2]|0; - $4700 = ((($4699)) + 56|0); - $4701 = HEAP32[$4700>>2]|0; - $4702 = (($4701) + ($4698<<2)|0); - $4703 = HEAP32[$4702>>2]|0; - HEAP32[$pC49>>2] = $4703; - $4704 = HEAP32[$db>>2]|0; - $4705 = ((($4704)) + 212|0); - $4706 = HEAP32[$4705>>2]|0; - $4707 = ($4706|0)!=(0|0); - if ($4707) { - $4708 = HEAP32[$pOp>>2]|0; - $4709 = ((($4708)) + 16|0); - $4710 = HEAP32[$4709>>2]|0; - $4711 = ($4710|0)!=(0|0); - if ($4711) { - $4712 = HEAP32[$pC49>>2]|0; - $4713 = ((($4712)) + 4|0); - $4714 = HEAP8[$4713>>0]|0; - $4715 = $4714&255; - $4716 = ($4715|0)!=(0); - $4718 = $4716; + $4714 = HEAP32[$pOp>>2]|0; + $4715 = ((($4714)) + 4|0); + $4716 = HEAP32[$4715>>2]|0; + $4717 = HEAP32[$0>>2]|0; + $4718 = ((($4717)) + 56|0); + $4719 = HEAP32[$4718>>2]|0; + $4720 = (($4719) + ($4716<<2)|0); + $4721 = HEAP32[$4720>>2]|0; + HEAP32[$pC49>>2] = $4721; + $4722 = HEAP32[$db>>2]|0; + $4723 = ((($4722)) + 216|0); + $4724 = HEAP32[$4723>>2]|0; + $4725 = ($4724|0)!=(0|0); + if ($4725) { + $4726 = HEAP32[$pOp>>2]|0; + $4727 = ((($4726)) + 16|0); + $4728 = HEAP32[$4727>>2]|0; + $4729 = ($4728|0)!=(0|0); + if ($4729) { + $4730 = HEAP32[$pC49>>2]|0; + $4731 = ((($4730)) + 4|0); + $4732 = HEAP8[$4731>>0]|0; + $4733 = $4732&255; + $4734 = ($4733|0)!=(0); + $4736 = $4734; } else { - $4718 = 0; + $4736 = 0; } } else { - $4718 = 0; + $4736 = 0; } - $4717 = $4718&1; - $4719 = $4717&255; - HEAP8[$hasUpdateCallback>>0] = $4719; - $4720 = HEAP32[$pOp>>2]|0; - $4721 = ((($4720)) + 3|0); - $4722 = HEAP8[$4721>>0]|0; - $4723 = $4722&255; - $4724 = ($4723|0)!=(0); - if ($4724) { - $4725 = HEAP8[$hasUpdateCallback>>0]|0; - $4726 = $4725&255; - $4727 = ($4726|0)!=(0); - if ($4727) { - $4728 = HEAP32[$pC49>>2]|0; - $4729 = ((($4728)) + 16|0); - $4730 = HEAP32[$4729>>2]|0; - $4731 = HEAP32[$pC49>>2]|0; - $4732 = ((($4731)) + 40|0); - (_sqlite3BtreeKeySize($4730,$4732)|0); + $4735 = $4736&1; + $4737 = $4735&255; + HEAP8[$hasUpdateCallback>>0] = $4737; + $4738 = HEAP32[$pOp>>2]|0; + $4739 = ((($4738)) + 3|0); + $4740 = HEAP8[$4739>>0]|0; + $4741 = $4740&255; + $4742 = ($4741|0)!=(0); + if ($4742) { + $4743 = HEAP8[$hasUpdateCallback>>0]|0; + $4744 = $4743&255; + $4745 = ($4744|0)!=(0); + if ($4745) { + $4746 = HEAP32[$pC49>>2]|0; + $4747 = ((($4746)) + 16|0); + $4748 = HEAP32[$4747>>2]|0; + $4749 = HEAP32[$pC49>>2]|0; + $4750 = ((($4749)) + 40|0); + (_sqlite3BtreeKeySize($4748,$4750)|0); } } - $4733 = HEAP32[$pC49>>2]|0; - $4734 = ((($4733)) + 16|0); - $4735 = HEAP32[$4734>>2]|0; - $4736 = HEAP32[$pOp>>2]|0; - $4737 = ((($4736)) + 3|0); - $4738 = HEAP8[$4737>>0]|0; - $4739 = (_sqlite3BtreeDelete($4735,$4738)|0); - HEAP32[$rc>>2] = $4739; - $4740 = HEAP32[$pC49>>2]|0; - $4741 = ((($4740)) + 56|0); - HEAP32[$4741>>2] = 0; - $4742 = HEAP32[$rc>>2]|0; - $4743 = ($4742|0)==(0); - if ($4743) { - $4744 = HEAP8[$hasUpdateCallback>>0]|0; - $4745 = $4744&255; - $4746 = ($4745|0)!=(0); - if ($4746) { - $4747 = HEAP32[$db>>2]|0; - $4748 = ((($4747)) + 212|0); - $4749 = HEAP32[$4748>>2]|0; - $4750 = HEAP32[$db>>2]|0; - $4751 = ((($4750)) + 208|0); - $4752 = HEAP32[$4751>>2]|0; - $4753 = HEAP32[$pC49>>2]|0; - $4754 = ((($4753)) + 1|0); - $4755 = HEAP8[$4754>>0]|0; - $4756 = $4755 << 24 >> 24; - $4757 = HEAP32[$db>>2]|0; - $4758 = ((($4757)) + 16|0); - $4759 = HEAP32[$4758>>2]|0; - $4760 = (($4759) + ($4756<<4)|0); - $4761 = HEAP32[$4760>>2]|0; - $4762 = HEAP32[$pOp>>2]|0; - $4763 = ((($4762)) + 16|0); - $4764 = HEAP32[$4763>>2]|0; - $4765 = HEAP32[$pC49>>2]|0; - $4766 = ((($4765)) + 40|0); - $4767 = $4766; - $4768 = $4767; - $4769 = HEAP32[$4768>>2]|0; - $4770 = (($4767) + 4)|0; - $4771 = $4770; - $4772 = HEAP32[$4771>>2]|0; - FUNCTION_TABLE_viiiiii[$4749 & 255]($4752,9,$4761,$4764,$4769,$4772); - } + $4751 = HEAP32[$pC49>>2]|0; + $4752 = ((($4751)) + 16|0); + $4753 = HEAP32[$4752>>2]|0; + $4754 = HEAP32[$pOp>>2]|0; + $4755 = ((($4754)) + 3|0); + $4756 = HEAP8[$4755>>0]|0; + $4757 = (_sqlite3BtreeDelete($4753,$4756)|0); + HEAP32[$rc>>2] = $4757; + $4758 = HEAP32[$pC49>>2]|0; + $4759 = ((($4758)) + 56|0); + HEAP32[$4759>>2] = 0; + $4760 = HEAP32[$rc>>2]|0; + $4761 = ($4760|0)!=(0); + if ($4761) { + break L1; + } + $4762 = HEAP8[$hasUpdateCallback>>0]|0; + $4763 = ($4762<<24>>24)!=(0); + if ($4763) { + $4764 = HEAP32[$db>>2]|0; + $4765 = ((($4764)) + 216|0); + $4766 = HEAP32[$4765>>2]|0; + $4767 = HEAP32[$db>>2]|0; + $4768 = ((($4767)) + 212|0); + $4769 = HEAP32[$4768>>2]|0; + $4770 = HEAP32[$pC49>>2]|0; + $4771 = ((($4770)) + 1|0); + $4772 = HEAP8[$4771>>0]|0; + $4773 = $4772 << 24 >> 24; + $4774 = HEAP32[$db>>2]|0; + $4775 = ((($4774)) + 16|0); + $4776 = HEAP32[$4775>>2]|0; + $4777 = (($4776) + ($4773<<4)|0); + $4778 = HEAP32[$4777>>2]|0; + $4779 = HEAP32[$pOp>>2]|0; + $4780 = ((($4779)) + 16|0); + $4781 = HEAP32[$4780>>2]|0; + $4782 = HEAP32[$pC49>>2]|0; + $4783 = ((($4782)) + 40|0); + $4784 = $4783; + $4785 = $4784; + $4786 = HEAP32[$4785>>2]|0; + $4787 = (($4784) + 4)|0; + $4788 = $4787; + $4789 = HEAP32[$4788>>2]|0; + FUNCTION_TABLE_viiiiii[$4766 & 255]($4769,9,$4778,$4781,$4786,$4789); } - $4773 = HEAP32[$pOp>>2]|0; - $4774 = ((($4773)) + 8|0); - $4775 = HEAP32[$4774>>2]|0; - $4776 = $4775 & 1; - $4777 = ($4776|0)!=(0); - if ($4777) { - $4778 = HEAP32[$0>>2]|0; - $4779 = ((($4778)) + 92|0); - $4780 = HEAP32[$4779>>2]|0; - $4781 = (($4780) + 1)|0; - HEAP32[$4779>>2] = $4781; + $4790 = HEAP32[$pOp>>2]|0; + $4791 = ((($4790)) + 8|0); + $4792 = HEAP32[$4791>>2]|0; + $4793 = $4792 & 1; + $4794 = ($4793|0)!=(0); + if ($4794) { + $4795 = HEAP32[$0>>2]|0; + $4796 = ((($4795)) + 92|0); + $4797 = HEAP32[$4796>>2]|0; + $4798 = (($4797) + 1)|0; + HEAP32[$4796>>2] = $4798; } break; } case 98: { - $4782 = HEAP32[$db>>2]|0; - $4783 = HEAP32[$0>>2]|0; - $4784 = ((($4783)) + 92|0); - $4785 = HEAP32[$4784>>2]|0; - _sqlite3VdbeSetChanges($4782,$4785); - $4786 = HEAP32[$0>>2]|0; - $4787 = ((($4786)) + 92|0); - HEAP32[$4787>>2] = 0; + $4799 = HEAP32[$db>>2]|0; + $4800 = HEAP32[$0>>2]|0; + $4801 = ((($4800)) + 92|0); + $4802 = HEAP32[$4801>>2]|0; + _sqlite3VdbeSetChanges($4799,$4802); + $4803 = HEAP32[$0>>2]|0; + $4804 = ((($4803)) + 92|0); + HEAP32[$4804>>2] = 0; break; } case 99: { - $4788 = HEAP32[$pOp>>2]|0; - $4789 = ((($4788)) + 4|0); - $4790 = HEAP32[$4789>>2]|0; - $4791 = HEAP32[$0>>2]|0; - $4792 = ((($4791)) + 56|0); - $4793 = HEAP32[$4792>>2]|0; - $4794 = (($4793) + ($4790<<2)|0); - $4795 = HEAP32[$4794>>2]|0; - HEAP32[$pC50>>2] = $4795; - $4796 = HEAP32[$pOp>>2]|0; - $4797 = ((($4796)) + 12|0); - $4798 = HEAP32[$4797>>2]|0; - $4799 = HEAP32[$aMem>>2]|0; - $4800 = (($4799) + (($4798*40)|0)|0); - HEAP32[$pIn3>>2] = $4800; - $4801 = HEAP32[$pOp>>2]|0; - $4802 = ((($4801)) + 16|0); - $4803 = HEAP32[$4802>>2]|0; - HEAP32[$nKeyCol>>2] = $4803; + $4805 = HEAP32[$pOp>>2]|0; + $4806 = ((($4805)) + 4|0); + $4807 = HEAP32[$4806>>2]|0; + $4808 = HEAP32[$0>>2]|0; + $4809 = ((($4808)) + 56|0); + $4810 = HEAP32[$4809>>2]|0; + $4811 = (($4810) + ($4807<<2)|0); + $4812 = HEAP32[$4811>>2]|0; + HEAP32[$pC50>>2] = $4812; + $4813 = HEAP32[$pOp>>2]|0; + $4814 = ((($4813)) + 12|0); + $4815 = HEAP32[$4814>>2]|0; + $4816 = HEAP32[$aMem>>2]|0; + $4817 = (($4816) + (($4815*40)|0)|0); + HEAP32[$pIn3>>2] = $4817; + $4818 = HEAP32[$pOp>>2]|0; + $4819 = ((($4818)) + 16|0); + $4820 = HEAP32[$4819>>2]|0; + HEAP32[$nKeyCol>>2] = $4820; HEAP32[$res51>>2] = 0; - $4804 = HEAP32[$pC50>>2]|0; - $4805 = HEAP32[$pIn3>>2]|0; - $4806 = HEAP32[$nKeyCol>>2]|0; - $4807 = (_sqlite3VdbeSorterCompare($4804,$4805,$4806,$res51)|0); - HEAP32[$rc>>2] = $4807; - $4808 = HEAP32[$res51>>2]|0; - $4809 = ($4808|0)!=(0); - if ($4809) { - label = 15; + $4821 = HEAP32[$pC50>>2]|0; + $4822 = HEAP32[$pIn3>>2]|0; + $4823 = HEAP32[$nKeyCol>>2]|0; + $4824 = (_sqlite3VdbeSorterCompare($4821,$4822,$4823,$res51)|0); + HEAP32[$rc>>2] = $4824; + $4825 = HEAP32[$rc>>2]|0; + $4826 = ($4825|0)!=(0); + if ($4826) { + break L1; + } + $4827 = HEAP32[$res51>>2]|0; + $4828 = ($4827|0)!=(0); + if ($4828) { + label = 14; } break; } case 100: { - $4810 = HEAP32[$pOp>>2]|0; - $4811 = ((($4810)) + 8|0); - $4812 = HEAP32[$4811>>2]|0; - $4813 = HEAP32[$aMem>>2]|0; - $4814 = (($4813) + (($4812*40)|0)|0); - HEAP32[$pOut>>2] = $4814; - $4815 = HEAP32[$pOp>>2]|0; - $4816 = ((($4815)) + 4|0); - $4817 = HEAP32[$4816>>2]|0; - $4818 = HEAP32[$0>>2]|0; - $4819 = ((($4818)) + 56|0); - $4820 = HEAP32[$4819>>2]|0; - $4821 = (($4820) + ($4817<<2)|0); - $4822 = HEAP32[$4821>>2]|0; - HEAP32[$pC52>>2] = $4822; - $4823 = HEAP32[$pC52>>2]|0; - $4824 = HEAP32[$pOut>>2]|0; - $4825 = (_sqlite3VdbeSorterRowkey($4823,$4824)|0); - HEAP32[$rc>>2] = $4825; - $4826 = HEAP32[$pOp>>2]|0; - $4827 = ((($4826)) + 12|0); - $4828 = HEAP32[$4827>>2]|0; - $4829 = HEAP32[$0>>2]|0; - $4830 = ((($4829)) + 56|0); + $4829 = HEAP32[$pOp>>2]|0; + $4830 = ((($4829)) + 8|0); $4831 = HEAP32[$4830>>2]|0; - $4832 = (($4831) + ($4828<<2)|0); - $4833 = HEAP32[$4832>>2]|0; - $4834 = ((($4833)) + 56|0); - HEAP32[$4834>>2] = 0; + $4832 = HEAP32[$aMem>>2]|0; + $4833 = (($4832) + (($4831*40)|0)|0); + HEAP32[$pOut>>2] = $4833; + $4834 = HEAP32[$pOp>>2]|0; + $4835 = ((($4834)) + 4|0); + $4836 = HEAP32[$4835>>2]|0; + $4837 = HEAP32[$0>>2]|0; + $4838 = ((($4837)) + 56|0); + $4839 = HEAP32[$4838>>2]|0; + $4840 = (($4839) + ($4836<<2)|0); + $4841 = HEAP32[$4840>>2]|0; + HEAP32[$pC52>>2] = $4841; + $4842 = HEAP32[$pC52>>2]|0; + $4843 = HEAP32[$pOut>>2]|0; + $4844 = (_sqlite3VdbeSorterRowkey($4842,$4843)|0); + HEAP32[$rc>>2] = $4844; + $4845 = HEAP32[$rc>>2]|0; + $4846 = ($4845|0)!=(0); + if ($4846) { + break L1; + } + $4847 = HEAP32[$pOp>>2]|0; + $4848 = ((($4847)) + 12|0); + $4849 = HEAP32[$4848>>2]|0; + $4850 = HEAP32[$0>>2]|0; + $4851 = ((($4850)) + 56|0); + $4852 = HEAP32[$4851>>2]|0; + $4853 = (($4852) + ($4849<<2)|0); + $4854 = HEAP32[$4853>>2]|0; + $4855 = ((($4854)) + 56|0); + HEAP32[$4855>>2] = 0; break; } case 102: case 101: { - $4835 = HEAP32[$pOp>>2]|0; - $4836 = ((($4835)) + 8|0); - $4837 = HEAP32[$4836>>2]|0; - $4838 = HEAP32[$aMem>>2]|0; - $4839 = (($4838) + (($4837*40)|0)|0); - HEAP32[$pOut>>2] = $4839; - $4840 = HEAP32[$pOp>>2]|0; - $4841 = ((($4840)) + 4|0); - $4842 = HEAP32[$4841>>2]|0; - $4843 = HEAP32[$0>>2]|0; - $4844 = ((($4843)) + 56|0); - $4845 = HEAP32[$4844>>2]|0; - $4846 = (($4845) + ($4842<<2)|0); - $4847 = HEAP32[$4846>>2]|0; - HEAP32[$pC53>>2] = $4847; - $4848 = HEAP32[$pC53>>2]|0; - $4849 = ((($4848)) + 16|0); - $4850 = HEAP32[$4849>>2]|0; - HEAP32[$pCrsr54>>2] = $4850; - $4851 = HEAP32[$pC53>>2]|0; - $4852 = ((($4851)) + 4|0); - $4853 = HEAP8[$4852>>0]|0; - $4854 = $4853&255; - $4855 = ($4854|0)==(0); - $4856 = HEAP32[$pCrsr54>>2]|0; - if ($4855) { - (_sqlite3BtreeKeySize($4856,$n64)|0); - $4857 = $n64; - $4858 = $4857; - $4859 = HEAP32[$4858>>2]|0; - $4860 = (($4857) + 4)|0; - $4861 = $4860; - $4862 = HEAP32[$4861>>2]|0; - $4863 = HEAP32[$db>>2]|0; - $4864 = ((($4863)) + 88|0); - $4865 = HEAP32[$4864>>2]|0; - $4866 = ($4865|0)<(0); - $4867 = $4866 << 31 >> 31; - $4868 = ($4862|0)>($4867|0); - $4869 = ($4859>>>0)>($4865>>>0); - $4870 = ($4862|0)==($4867|0); - $4871 = $4870 & $4869; - $4872 = $4868 | $4871; - if ($4872) { - label = 859; + $4856 = HEAP32[$pOp>>2]|0; + $4857 = ((($4856)) + 8|0); + $4858 = HEAP32[$4857>>2]|0; + $4859 = HEAP32[$aMem>>2]|0; + $4860 = (($4859) + (($4858*40)|0)|0); + HEAP32[$pOut>>2] = $4860; + $4861 = HEAP32[$pOp>>2]|0; + $4862 = ((($4861)) + 4|0); + $4863 = HEAP32[$4862>>2]|0; + $4864 = HEAP32[$0>>2]|0; + $4865 = ((($4864)) + 56|0); + $4866 = HEAP32[$4865>>2]|0; + $4867 = (($4866) + ($4863<<2)|0); + $4868 = HEAP32[$4867>>2]|0; + HEAP32[$pC53>>2] = $4868; + $4869 = HEAP32[$pC53>>2]|0; + $4870 = ((($4869)) + 16|0); + $4871 = HEAP32[$4870>>2]|0; + HEAP32[$pCrsr54>>2] = $4871; + $4872 = HEAP32[$pC53>>2]|0; + $4873 = ((($4872)) + 4|0); + $4874 = HEAP8[$4873>>0]|0; + $4875 = $4874&255; + $4876 = ($4875|0)==(0); + $4877 = HEAP32[$pCrsr54>>2]|0; + if ($4876) { + (_sqlite3BtreeKeySize($4877,$n64)|0); + $4878 = $n64; + $4879 = $4878; + $4880 = HEAP32[$4879>>2]|0; + $4881 = (($4878) + 4)|0; + $4882 = $4881; + $4883 = HEAP32[$4882>>2]|0; + $4884 = HEAP32[$db>>2]|0; + $4885 = ((($4884)) + 92|0); + $4886 = HEAP32[$4885>>2]|0; + $4887 = ($4886|0)<(0); + $4888 = $4887 << 31 >> 31; + $4889 = ($4883|0)>($4888|0); + $4890 = ($4880>>>0)>($4886>>>0); + $4891 = ($4883|0)==($4888|0); + $4892 = $4891 & $4890; + $4893 = $4889 | $4892; + if ($4893) { + label = 882; break L8; } - $4873 = $n64; - $4874 = $4873; - $4875 = HEAP32[$4874>>2]|0; - $4876 = (($4873) + 4)|0; - $4877 = $4876; - $4878 = HEAP32[$4877>>2]|0; - HEAP32[$n55>>2] = $4875; + $4894 = $n64; + $4895 = $4894; + $4896 = HEAP32[$4895>>2]|0; + $4897 = (($4894) + 4)|0; + $4898 = $4897; + $4899 = HEAP32[$4898>>2]|0; + HEAP32[$n55>>2] = $4896; } else { - (_sqlite3BtreeDataSize($4856,$n55)|0); - $4879 = HEAP32[$n55>>2]|0; - $4880 = HEAP32[$db>>2]|0; - $4881 = ((($4880)) + 88|0); - $4882 = HEAP32[$4881>>2]|0; - $4883 = ($4879>>>0)>($4882>>>0); - if ($4883) { - label = 859; + (_sqlite3BtreeDataSize($4877,$n55)|0); + $4900 = HEAP32[$n55>>2]|0; + $4901 = HEAP32[$db>>2]|0; + $4902 = ((($4901)) + 92|0); + $4903 = HEAP32[$4902>>2]|0; + $4904 = ($4900>>>0)>($4903>>>0); + if ($4904) { + label = 882; break L8; } } - $4884 = HEAP32[$pOut>>2]|0; - $4885 = HEAP32[$n55>>2]|0; - $4886 = ($4885>>>0)>(32); - $4887 = HEAP32[$n55>>2]|0; - $4888 = $4886 ? $4887 : 32; - $4889 = (_sqlite3VdbeMemClearAndResize($4884,$4888)|0); - $4890 = ($4889|0)!=(0); - if ($4890) { - label = 860; + $4905 = HEAP32[$pOut>>2]|0; + $4906 = HEAP32[$n55>>2]|0; + $4907 = ($4906>>>0)>(32); + $4908 = HEAP32[$n55>>2]|0; + $4909 = $4907 ? $4908 : 32; + $4910 = (_sqlite3VdbeMemClearAndResize($4905,$4909)|0); + $4911 = ($4910|0)!=(0); + if ($4911) { + label = 883; break L1; } - $4891 = HEAP32[$n55>>2]|0; - $4892 = HEAP32[$pOut>>2]|0; - $4893 = ((($4892)) + 12|0); - HEAP32[$4893>>2] = $4891; - $4894 = HEAP32[$pOut>>2]|0; - $4895 = ((($4894)) + 8|0); - $4896 = HEAP16[$4895>>1]|0; - $4897 = $4896&65535; - $4898 = $4897 & -49664; - $4899 = $4898 | 16; - $4900 = $4899&65535; - $4901 = HEAP32[$pOut>>2]|0; - $4902 = ((($4901)) + 8|0); - HEAP16[$4902>>1] = $4900; - $4903 = HEAP32[$pC53>>2]|0; - $4904 = ((($4903)) + 4|0); - $4905 = HEAP8[$4904>>0]|0; - $4906 = $4905&255; - $4907 = ($4906|0)==(0); - $4908 = HEAP32[$pCrsr54>>2]|0; - $4909 = HEAP32[$n55>>2]|0; - $4910 = HEAP32[$pOut>>2]|0; - $4911 = ((($4910)) + 16|0); - $4912 = HEAP32[$4911>>2]|0; - if ($4907) { - $4913 = (_sqlite3BtreeKey($4908,0,$4909,$4912)|0); - HEAP32[$rc>>2] = $4913; + $4912 = HEAP32[$n55>>2]|0; + $4913 = HEAP32[$pOut>>2]|0; + $4914 = ((($4913)) + 12|0); + HEAP32[$4914>>2] = $4912; + $4915 = HEAP32[$pOut>>2]|0; + $4916 = ((($4915)) + 8|0); + $4917 = HEAP16[$4916>>1]|0; + $4918 = $4917&65535; + $4919 = $4918 & -49664; + $4920 = $4919 | 16; + $4921 = $4920&65535; + $4922 = HEAP32[$pOut>>2]|0; + $4923 = ((($4922)) + 8|0); + HEAP16[$4923>>1] = $4921; + $4924 = HEAP32[$pC53>>2]|0; + $4925 = ((($4924)) + 4|0); + $4926 = HEAP8[$4925>>0]|0; + $4927 = $4926&255; + $4928 = ($4927|0)==(0); + $4929 = HEAP32[$pCrsr54>>2]|0; + $4930 = HEAP32[$n55>>2]|0; + $4931 = HEAP32[$pOut>>2]|0; + $4932 = ((($4931)) + 16|0); + $4933 = HEAP32[$4932>>2]|0; + if ($4928) { + $4934 = (_sqlite3BtreeKey($4929,0,$4930,$4933)|0); + HEAP32[$rc>>2] = $4934; } else { - $4914 = (_sqlite3BtreeData($4908,0,$4909,$4912)|0); - HEAP32[$rc>>2] = $4914; + $4935 = (_sqlite3BtreeData($4929,0,$4930,$4933)|0); + HEAP32[$rc>>2] = $4935; } - $4915 = HEAP32[$pOut>>2]|0; - $4916 = ((($4915)) + 10|0); - HEAP8[$4916>>0] = 1; + $4936 = HEAP32[$rc>>2]|0; + $4937 = ($4936|0)!=(0); + if ($4937) { + break L1; + } + $4938 = HEAP32[$pOut>>2]|0; + $4939 = ((($4938)) + 10|0); + HEAP8[$4939>>0] = 1; break; } case 103: { - $4917 = HEAP32[$0>>2]|0; - $4918 = HEAP32[$pOp>>2]|0; - $4919 = (_out2Prerelease($4917,$4918)|0); - HEAP32[$pOut>>2] = $4919; - $4920 = HEAP32[$pOp>>2]|0; - $4921 = ((($4920)) + 4|0); - $4922 = HEAP32[$4921>>2]|0; - $4923 = HEAP32[$0>>2]|0; - $4924 = ((($4923)) + 56|0); - $4925 = HEAP32[$4924>>2]|0; - $4926 = (($4925) + ($4922<<2)|0); - $4927 = HEAP32[$4926>>2]|0; - HEAP32[$pC56>>2] = $4927; - $4928 = HEAP32[$pC56>>2]|0; - $4929 = ((($4928)) + 2|0); - $4930 = HEAP8[$4929>>0]|0; - $4931 = ($4930<<24>>24)!=(0); - if ($4931) { - $4932 = HEAP32[$pOut>>2]|0; - $4933 = ((($4932)) + 8|0); - HEAP16[$4933>>1] = 1; - break L11; + $4940 = HEAP32[$0>>2]|0; + $4941 = HEAP32[$pOp>>2]|0; + $4942 = (_out2Prerelease($4940,$4941)|0); + HEAP32[$pOut>>2] = $4942; + $4943 = HEAP32[$pOp>>2]|0; + $4944 = ((($4943)) + 4|0); + $4945 = HEAP32[$4944>>2]|0; + $4946 = HEAP32[$0>>2]|0; + $4947 = ((($4946)) + 56|0); + $4948 = HEAP32[$4947>>2]|0; + $4949 = (($4948) + ($4945<<2)|0); + $4950 = HEAP32[$4949>>2]|0; + HEAP32[$pC56>>2] = $4950; + $4951 = HEAP32[$pC56>>2]|0; + $4952 = ((($4951)) + 2|0); + $4953 = HEAP8[$4952>>0]|0; + $4954 = ($4953<<24>>24)!=(0); + if ($4954) { + $4955 = HEAP32[$pOut>>2]|0; + $4956 = ((($4955)) + 8|0); + HEAP16[$4956>>1] = 1; + break L10; } - $4934 = HEAP32[$pC56>>2]|0; - $4935 = ((($4934)) + 3|0); - $4936 = HEAP8[$4935>>0]|0; - $4937 = ($4936<<24>>24)!=(0); - $4938 = HEAP32[$pC56>>2]|0; + $4957 = HEAP32[$pC56>>2]|0; + $4958 = ((($4957)) + 3|0); + $4959 = HEAP8[$4958>>0]|0; + $4960 = ($4959<<24>>24)!=(0); + $4961 = HEAP32[$pC56>>2]|0; do { - if ($4937) { - $4939 = ((($4938)) + 40|0); - $4940 = $4939; - $4941 = $4940; - $4942 = HEAP32[$4941>>2]|0; - $4943 = (($4940) + 4)|0; - $4944 = $4943; - $4945 = HEAP32[$4944>>2]|0; - $4946 = $v57; - $4947 = $4946; - HEAP32[$4947>>2] = $4942; - $4948 = (($4946) + 4)|0; - $4949 = $4948; - HEAP32[$4949>>2] = $4945; + if ($4960) { + $4962 = ((($4961)) + 40|0); + $4963 = $4962; + $4964 = $4963; + $4965 = HEAP32[$4964>>2]|0; + $4966 = (($4963) + 4)|0; + $4967 = $4966; + $4968 = HEAP32[$4967>>2]|0; + $4969 = $v57; + $4970 = $4969; + HEAP32[$4970>>2] = $4965; + $4971 = (($4969) + 4)|0; + $4972 = $4971; + HEAP32[$4972>>2] = $4968; } else { - $4950 = HEAP8[$4938>>0]|0; - $4951 = $4950&255; - $4952 = ($4951|0)==(2); - $4953 = HEAP32[$pC56>>2]|0; - if ($4952) { - $4954 = ((($4953)) + 16|0); - $4955 = HEAP32[$4954>>2]|0; - $4956 = HEAP32[$4955>>2]|0; - HEAP32[$pVtab>>2] = $4956; - $4957 = HEAP32[$pVtab>>2]|0; - $4958 = HEAP32[$4957>>2]|0; - HEAP32[$pModule>>2] = $4958; - $4959 = HEAP32[$pModule>>2]|0; - $4960 = ((($4959)) + 48|0); - $4961 = HEAP32[$4960>>2]|0; - $4962 = HEAP32[$pC56>>2]|0; - $4963 = ((($4962)) + 16|0); - $4964 = HEAP32[$4963>>2]|0; - $4965 = (FUNCTION_TABLE_iii[$4961 & 255]($4964,$v57)|0); - HEAP32[$rc>>2] = $4965; - $4966 = HEAP32[$0>>2]|0; - $4967 = HEAP32[$pVtab>>2]|0; - _sqlite3VtabImportErrmsg($4966,$4967); - break; + $4973 = HEAP8[$4961>>0]|0; + $4974 = $4973&255; + $4975 = ($4974|0)==(2); + $4976 = HEAP32[$pC56>>2]|0; + if ($4975) { + $4977 = ((($4976)) + 16|0); + $4978 = HEAP32[$4977>>2]|0; + $4979 = HEAP32[$4978>>2]|0; + HEAP32[$pVtab>>2] = $4979; + $4980 = HEAP32[$pVtab>>2]|0; + $4981 = HEAP32[$4980>>2]|0; + HEAP32[$pModule>>2] = $4981; + $4982 = HEAP32[$pModule>>2]|0; + $4983 = ((($4982)) + 48|0); + $4984 = HEAP32[$4983>>2]|0; + $4985 = HEAP32[$pC56>>2]|0; + $4986 = ((($4985)) + 16|0); + $4987 = HEAP32[$4986>>2]|0; + $4988 = (FUNCTION_TABLE_iii[$4984 & 255]($4987,$v57)|0); + HEAP32[$rc>>2] = $4988; + $4989 = HEAP32[$0>>2]|0; + $4990 = HEAP32[$pVtab>>2]|0; + _sqlite3VtabImportErrmsg($4989,$4990); + $4991 = HEAP32[$rc>>2]|0; + $4992 = ($4991|0)!=(0); + if ($4992) { + break L1; + } else { + break; + } } - $4968 = (_sqlite3VdbeCursorRestore($4953)|0); - HEAP32[$rc>>2] = $4968; - $4969 = HEAP32[$rc>>2]|0; - $4970 = ($4969|0)!=(0); - if ($4970) { - label = 861; - break L8; + $4993 = (_sqlite3VdbeCursorRestore($4976)|0); + HEAP32[$rc>>2] = $4993; + $4994 = HEAP32[$rc>>2]|0; + $4995 = ($4994|0)!=(0); + if ($4995) { + break L1; } - $4971 = HEAP32[$pC56>>2]|0; - $4972 = ((($4971)) + 2|0); - $4973 = HEAP8[$4972>>0]|0; - $4974 = ($4973<<24>>24)!=(0); - if ($4974) { - $4975 = HEAP32[$pOut>>2]|0; - $4976 = ((($4975)) + 8|0); - HEAP16[$4976>>1] = 1; - break L11; + $4996 = HEAP32[$pC56>>2]|0; + $4997 = ((($4996)) + 2|0); + $4998 = HEAP8[$4997>>0]|0; + $4999 = ($4998<<24>>24)!=(0); + if ($4999) { + $5000 = HEAP32[$pOut>>2]|0; + $5001 = ((($5000)) + 8|0); + HEAP16[$5001>>1] = 1; + break L10; } else { - $4977 = HEAP32[$pC56>>2]|0; - $4978 = ((($4977)) + 16|0); - $4979 = HEAP32[$4978>>2]|0; - $4980 = (_sqlite3BtreeKeySize($4979,$v57)|0); - HEAP32[$rc>>2] = $4980; + $5002 = HEAP32[$pC56>>2]|0; + $5003 = ((($5002)) + 16|0); + $5004 = HEAP32[$5003>>2]|0; + $5005 = (_sqlite3BtreeKeySize($5004,$v57)|0); + HEAP32[$rc>>2] = $5005; break; } } } while(0); - $4981 = $v57; - $4982 = $4981; - $4983 = HEAP32[$4982>>2]|0; - $4984 = (($4981) + 4)|0; - $4985 = $4984; - $4986 = HEAP32[$4985>>2]|0; - $4987 = HEAP32[$pOut>>2]|0; - $4988 = $4987; - $4989 = $4988; - HEAP32[$4989>>2] = $4983; - $4990 = (($4988) + 4)|0; - $4991 = $4990; - HEAP32[$4991>>2] = $4986; + $5006 = $v57; + $5007 = $5006; + $5008 = HEAP32[$5007>>2]|0; + $5009 = (($5006) + 4)|0; + $5010 = $5009; + $5011 = HEAP32[$5010>>2]|0; + $5012 = HEAP32[$pOut>>2]|0; + $5013 = $5012; + $5014 = $5013; + HEAP32[$5014>>2] = $5008; + $5015 = (($5013) + 4)|0; + $5016 = $5015; + HEAP32[$5016>>2] = $5011; break; } case 104: { - $4992 = HEAP32[$pOp>>2]|0; - $4993 = ((($4992)) + 4|0); - $4994 = HEAP32[$4993>>2]|0; - $4995 = HEAP32[$0>>2]|0; - $4996 = ((($4995)) + 56|0); - $4997 = HEAP32[$4996>>2]|0; - $4998 = (($4997) + ($4994<<2)|0); - $4999 = HEAP32[$4998>>2]|0; - HEAP32[$pC58>>2] = $4999; - $5000 = HEAP32[$pC58>>2]|0; - $5001 = ((($5000)) + 2|0); - HEAP8[$5001>>0] = 1; - $5002 = HEAP32[$pC58>>2]|0; - $5003 = ((($5002)) + 56|0); - HEAP32[$5003>>2] = 0; - $5004 = HEAP32[$pC58>>2]|0; - $5005 = HEAP8[$5004>>0]|0; - $5006 = $5005&255; - $5007 = ($5006|0)==(0); - if ($5007) { - $5008 = HEAP32[$pC58>>2]|0; - $5009 = ((($5008)) + 16|0); - $5010 = HEAP32[$5009>>2]|0; - _sqlite3BtreeClearCursor($5010); + $5017 = HEAP32[$pOp>>2]|0; + $5018 = ((($5017)) + 4|0); + $5019 = HEAP32[$5018>>2]|0; + $5020 = HEAP32[$0>>2]|0; + $5021 = ((($5020)) + 56|0); + $5022 = HEAP32[$5021>>2]|0; + $5023 = (($5022) + ($5019<<2)|0); + $5024 = HEAP32[$5023>>2]|0; + HEAP32[$pC58>>2] = $5024; + $5025 = HEAP32[$pC58>>2]|0; + $5026 = ((($5025)) + 2|0); + HEAP8[$5026>>0] = 1; + $5027 = HEAP32[$pC58>>2]|0; + $5028 = ((($5027)) + 56|0); + HEAP32[$5028>>2] = 0; + $5029 = HEAP32[$pC58>>2]|0; + $5030 = HEAP8[$5029>>0]|0; + $5031 = $5030&255; + $5032 = ($5031|0)==(0); + if ($5032) { + $5033 = HEAP32[$pC58>>2]|0; + $5034 = ((($5033)) + 16|0); + $5035 = HEAP32[$5034>>2]|0; + _sqlite3BtreeClearCursor($5035); } break; } case 105: { - $5011 = HEAP32[$pOp>>2]|0; - $5012 = ((($5011)) + 4|0); - $5013 = HEAP32[$5012>>2]|0; - $5014 = HEAP32[$0>>2]|0; - $5015 = ((($5014)) + 56|0); - $5016 = HEAP32[$5015>>2]|0; - $5017 = (($5016) + ($5013<<2)|0); - $5018 = HEAP32[$5017>>2]|0; - HEAP32[$pC59>>2] = $5018; - $5019 = HEAP32[$pC59>>2]|0; - $5020 = ((($5019)) + 16|0); - $5021 = HEAP32[$5020>>2]|0; - HEAP32[$pCrsr60>>2] = $5021; + $5036 = HEAP32[$pOp>>2]|0; + $5037 = ((($5036)) + 4|0); + $5038 = HEAP32[$5037>>2]|0; + $5039 = HEAP32[$0>>2]|0; + $5040 = ((($5039)) + 56|0); + $5041 = HEAP32[$5040>>2]|0; + $5042 = (($5041) + ($5038<<2)|0); + $5043 = HEAP32[$5042>>2]|0; + HEAP32[$pC59>>2] = $5043; + $5044 = HEAP32[$pC59>>2]|0; + $5045 = ((($5044)) + 16|0); + $5046 = HEAP32[$5045>>2]|0; + HEAP32[$pCrsr60>>2] = $5046; HEAP32[$res61>>2] = 0; - $5022 = HEAP32[$pCrsr60>>2]|0; - $5023 = (_sqlite3BtreeLast($5022,$res61)|0); - HEAP32[$rc>>2] = $5023; - $5024 = HEAP32[$res61>>2]|0; - $5025 = $5024&255; - $5026 = HEAP32[$pC59>>2]|0; - $5027 = ((($5026)) + 2|0); - HEAP8[$5027>>0] = $5025; - $5028 = HEAP32[$pC59>>2]|0; - $5029 = ((($5028)) + 3|0); - HEAP8[$5029>>0] = 0; - $5030 = HEAP32[$pC59>>2]|0; - $5031 = ((($5030)) + 56|0); - HEAP32[$5031>>2] = 0; - $5032 = HEAP32[$pOp>>2]|0; - $5033 = ((($5032)) + 12|0); - $5034 = HEAP32[$5033>>2]|0; - $5035 = HEAP32[$pC59>>2]|0; - $5036 = ((($5035)) + 28|0); - HEAP32[$5036>>2] = $5034; - $5037 = HEAP32[$pOp>>2]|0; - $5038 = ((($5037)) + 8|0); - $5039 = HEAP32[$5038>>2]|0; - $5040 = ($5039|0)>(0); - $5041 = HEAP32[$res61>>2]|0; - $5042 = ($5041|0)!=(0); - $or$cond30 = $5040 & $5042; - if ($or$cond30) { - label = 15; + $5047 = HEAP32[$pCrsr60>>2]|0; + $5048 = (_sqlite3BtreeLast($5047,$res61)|0); + HEAP32[$rc>>2] = $5048; + $5049 = HEAP32[$res61>>2]|0; + $5050 = $5049&255; + $5051 = HEAP32[$pC59>>2]|0; + $5052 = ((($5051)) + 2|0); + HEAP8[$5052>>0] = $5050; + $5053 = HEAP32[$pC59>>2]|0; + $5054 = ((($5053)) + 3|0); + HEAP8[$5054>>0] = 0; + $5055 = HEAP32[$pC59>>2]|0; + $5056 = ((($5055)) + 56|0); + HEAP32[$5056>>2] = 0; + $5057 = HEAP32[$pOp>>2]|0; + $5058 = ((($5057)) + 12|0); + $5059 = HEAP32[$5058>>2]|0; + $5060 = HEAP32[$pC59>>2]|0; + $5061 = ((($5060)) + 28|0); + HEAP32[$5061>>2] = $5059; + $5062 = HEAP32[$rc>>2]|0; + $5063 = ($5062|0)!=(0); + if ($5063) { + break L1; + } + $5064 = HEAP32[$pOp>>2]|0; + $5065 = ((($5064)) + 8|0); + $5066 = HEAP32[$5065>>2]|0; + $5067 = ($5066|0)>(0); + $5068 = HEAP32[$res61>>2]|0; + $5069 = ($5068|0)!=(0); + $or$cond29 = $5067 & $5069; + if ($or$cond29) { + label = 14; } break; } case 107: case 106: { - $5043 = HEAP32[$0>>2]|0; - $5044 = ((($5043)) + 108|0); - $5045 = ((($5044)) + 8|0); - $5046 = HEAP32[$5045>>2]|0; - $5047 = (($5046) + 1)|0; - HEAP32[$5045>>2] = $5047; - label = 609; + $5070 = HEAP32[$0>>2]|0; + $5071 = ((($5070)) + 108|0); + $5072 = ((($5071)) + 8|0); + $5073 = HEAP32[$5072>>2]|0; + $5074 = (($5073) + 1)|0; + HEAP32[$5072>>2] = $5074; + label = 619; break; } case 108: { - label = 609; + label = 619; break; } case 3: { - $5076 = HEAP32[$pOp>>2]|0; - $5077 = ((($5076)) + 4|0); - $5078 = HEAP32[$5077>>2]|0; - $5079 = HEAP32[$0>>2]|0; - $5080 = ((($5079)) + 56|0); - $5081 = HEAP32[$5080>>2]|0; - $5082 = (($5081) + ($5078<<2)|0); - $5083 = HEAP32[$5082>>2]|0; - HEAP32[$pC65>>2] = $5083; + $5105 = HEAP32[$pOp>>2]|0; + $5106 = ((($5105)) + 4|0); + $5107 = HEAP32[$5106>>2]|0; + $5108 = HEAP32[$0>>2]|0; + $5109 = ((($5108)) + 56|0); + $5110 = HEAP32[$5109>>2]|0; + $5111 = (($5110) + ($5107<<2)|0); + $5112 = HEAP32[$5111>>2]|0; + HEAP32[$pC65>>2] = $5112; HEAP32[$res66>>2] = 0; - $5084 = HEAP32[$db>>2]|0; - $5085 = HEAP32[$pC65>>2]|0; - $5086 = (_sqlite3VdbeSorterNext($5084,$5085,$res66)|0); - HEAP32[$rc>>2] = $5086; - label = 616; + $5113 = HEAP32[$db>>2]|0; + $5114 = HEAP32[$pC65>>2]|0; + $5115 = (_sqlite3VdbeSorterNext($5113,$5114,$res66)|0); + HEAP32[$rc>>2] = $5115; + label = 627; break; } case 5: case 4: { - $5087 = HEAP32[$pOp>>2]|0; - $5088 = ((($5087)) + 4|0); - $5089 = HEAP32[$5088>>2]|0; - $5090 = HEAP32[$0>>2]|0; - $5091 = ((($5090)) + 56|0); - $5092 = HEAP32[$5091>>2]|0; - $5093 = (($5092) + ($5089<<2)|0); - $5094 = HEAP32[$5093>>2]|0; - $5095 = ($5094|0)==(0|0); - if (!($5095)) { - label = 615; + $5116 = HEAP32[$pOp>>2]|0; + $5117 = ((($5116)) + 4|0); + $5118 = HEAP32[$5117>>2]|0; + $5119 = HEAP32[$0>>2]|0; + $5120 = ((($5119)) + 56|0); + $5121 = HEAP32[$5120>>2]|0; + $5122 = (($5121) + ($5118<<2)|0); + $5123 = HEAP32[$5122>>2]|0; + $5124 = ($5123|0)==(0|0); + if (!($5124)) { + label = 626; } break; } case 7: case 6: { - label = 615; + label = 626; break; } case 110: case 109: { - $5129 = HEAP32[$pOp>>2]|0; - $5130 = ((($5129)) + 4|0); - $5131 = HEAP32[$5130>>2]|0; - $5132 = HEAP32[$0>>2]|0; - $5133 = ((($5132)) + 56|0); - $5134 = HEAP32[$5133>>2]|0; - $5135 = (($5134) + ($5131<<2)|0); - $5136 = HEAP32[$5135>>2]|0; - HEAP32[$pC67>>2] = $5136; - $5137 = HEAP32[$pOp>>2]|0; - $5138 = ((($5137)) + 8|0); - $5139 = HEAP32[$5138>>2]|0; - $5140 = HEAP32[$aMem>>2]|0; - $5141 = (($5140) + (($5139*40)|0)|0); - HEAP32[$pIn2>>2] = $5141; - $5142 = HEAP32[$pOp>>2]|0; - $5143 = ((($5142)) + 3|0); - $5144 = HEAP8[$5143>>0]|0; - $5145 = $5144&255; - $5146 = $5145 & 1; - $5147 = ($5146|0)!=(0); - if ($5147) { - $5148 = HEAP32[$0>>2]|0; - $5149 = ((($5148)) + 92|0); - $5150 = HEAP32[$5149>>2]|0; - $5151 = (($5150) + 1)|0; - HEAP32[$5149>>2] = $5151; + $5160 = HEAP32[$pOp>>2]|0; + $5161 = ((($5160)) + 4|0); + $5162 = HEAP32[$5161>>2]|0; + $5163 = HEAP32[$0>>2]|0; + $5164 = ((($5163)) + 56|0); + $5165 = HEAP32[$5164>>2]|0; + $5166 = (($5165) + ($5162<<2)|0); + $5167 = HEAP32[$5166>>2]|0; + HEAP32[$pC67>>2] = $5167; + $5168 = HEAP32[$pOp>>2]|0; + $5169 = ((($5168)) + 8|0); + $5170 = HEAP32[$5169>>2]|0; + $5171 = HEAP32[$aMem>>2]|0; + $5172 = (($5171) + (($5170*40)|0)|0); + HEAP32[$pIn2>>2] = $5172; + $5173 = HEAP32[$pOp>>2]|0; + $5174 = ((($5173)) + 3|0); + $5175 = HEAP8[$5174>>0]|0; + $5176 = $5175&255; + $5177 = $5176 & 1; + $5178 = ($5177|0)!=(0); + if ($5178) { + $5179 = HEAP32[$0>>2]|0; + $5180 = ((($5179)) + 92|0); + $5181 = HEAP32[$5180>>2]|0; + $5182 = (($5181) + 1)|0; + HEAP32[$5180>>2] = $5182; } - $5152 = HEAP32[$pIn2>>2]|0; - $5153 = ((($5152)) + 8|0); - $5154 = HEAP16[$5153>>1]|0; - $5155 = $5154&65535; - $5156 = $5155 & 16384; - $5157 = ($5156|0)!=(0); - if ($5157) { - $5158 = HEAP32[$pIn2>>2]|0; - $5159 = (_sqlite3VdbeMemExpandBlob($5158)|0); - $5160 = $5159; + $5183 = HEAP32[$pIn2>>2]|0; + $5184 = ((($5183)) + 8|0); + $5185 = HEAP16[$5184>>1]|0; + $5186 = $5185&65535; + $5187 = $5186 & 16384; + $5188 = ($5187|0)!=(0); + if ($5188) { + $5189 = HEAP32[$pIn2>>2]|0; + $5190 = (_sqlite3VdbeMemExpandBlob($5189)|0); + $5191 = $5190; } else { - $5160 = 0; + $5191 = 0; } - HEAP32[$rc>>2] = $5160; - $5161 = HEAP32[$rc>>2]|0; - $5162 = ($5161|0)==(0); - if ($5162) { - $5163 = HEAP32[$pOp>>2]|0; - $5164 = HEAP8[$5163>>0]|0; - $5165 = $5164&255; - $5166 = ($5165|0)==(109); - if ($5166) { - $5167 = HEAP32[$pC67>>2]|0; - $5168 = HEAP32[$pIn2>>2]|0; - $5169 = (_sqlite3VdbeSorterWrite($5167,$5168)|0); - HEAP32[$rc>>2] = $5169; - break L11; - } - $5170 = HEAP32[$pIn2>>2]|0; - $5171 = ((($5170)) + 12|0); - $5172 = HEAP32[$5171>>2]|0; - HEAP32[$nKey>>2] = $5172; - $5173 = HEAP32[$pIn2>>2]|0; - $5174 = ((($5173)) + 16|0); - $5175 = HEAP32[$5174>>2]|0; - HEAP32[$zKey>>2] = $5175; - $5176 = HEAP32[$pC67>>2]|0; - $5177 = ((($5176)) + 16|0); - $5178 = HEAP32[$5177>>2]|0; - $5179 = HEAP32[$zKey>>2]|0; - $5180 = HEAP32[$nKey>>2]|0; - $5181 = ($5180|0)<(0); - $5182 = $5181 << 31 >> 31; - $5183 = HEAP32[$pOp>>2]|0; - $5184 = ((($5183)) + 12|0); - $5185 = HEAP32[$5184>>2]|0; - $5186 = HEAP32[$pOp>>2]|0; - $5187 = ((($5186)) + 3|0); - $5188 = HEAP8[$5187>>0]|0; - $5189 = $5188&255; - $5190 = $5189 & 16; - $5191 = ($5190|0)!=(0); - if ($5191) { - $5192 = HEAP32[$pC67>>2]|0; - $5193 = ((($5192)) + 28|0); - $5194 = HEAP32[$5193>>2]|0; - $5195 = $5194; + HEAP32[$rc>>2] = $5191; + $5192 = HEAP32[$rc>>2]|0; + $5193 = ($5192|0)!=(0); + if ($5193) { + break L1; + } + $5194 = HEAP32[$pOp>>2]|0; + $5195 = HEAP8[$5194>>0]|0; + $5196 = $5195&255; + $5197 = ($5196|0)==(109); + if ($5197) { + $5198 = HEAP32[$pC67>>2]|0; + $5199 = HEAP32[$pIn2>>2]|0; + $5200 = (_sqlite3VdbeSorterWrite($5198,$5199)|0); + HEAP32[$rc>>2] = $5200; + } else { + $5201 = HEAP32[$pIn2>>2]|0; + $5202 = ((($5201)) + 12|0); + $5203 = HEAP32[$5202>>2]|0; + HEAP32[$nKey>>2] = $5203; + $5204 = HEAP32[$pIn2>>2]|0; + $5205 = ((($5204)) + 16|0); + $5206 = HEAP32[$5205>>2]|0; + HEAP32[$zKey>>2] = $5206; + $5207 = HEAP32[$pC67>>2]|0; + $5208 = ((($5207)) + 16|0); + $5209 = HEAP32[$5208>>2]|0; + $5210 = HEAP32[$zKey>>2]|0; + $5211 = HEAP32[$nKey>>2]|0; + $5212 = ($5211|0)<(0); + $5213 = $5212 << 31 >> 31; + $5214 = HEAP32[$pOp>>2]|0; + $5215 = ((($5214)) + 12|0); + $5216 = HEAP32[$5215>>2]|0; + $5217 = HEAP32[$pOp>>2]|0; + $5218 = ((($5217)) + 3|0); + $5219 = HEAP8[$5218>>0]|0; + $5220 = $5219&255; + $5221 = $5220 & 16; + $5222 = ($5221|0)!=(0); + if ($5222) { + $5223 = HEAP32[$pC67>>2]|0; + $5224 = ((($5223)) + 28|0); + $5225 = HEAP32[$5224>>2]|0; + $5226 = $5225; } else { - $5195 = 0; + $5226 = 0; } - $5196 = (_sqlite3BtreeInsert($5178,$5179,$5180,$5182,19266,0,0,$5185,$5195)|0); - HEAP32[$rc>>2] = $5196; - $5197 = HEAP32[$pC67>>2]|0; - $5198 = ((($5197)) + 56|0); - HEAP32[$5198>>2] = 0; + $5227 = (_sqlite3BtreeInsert($5209,$5210,$5211,$5213,19010,0,0,$5216,$5226)|0); + HEAP32[$rc>>2] = $5227; + $5228 = HEAP32[$pC67>>2]|0; + $5229 = ((($5228)) + 56|0); + HEAP32[$5229>>2] = 0; } - break; - } - case 111: { - $5199 = HEAP32[$pOp>>2]|0; - $5200 = ((($5199)) + 4|0); - $5201 = HEAP32[$5200>>2]|0; - $5202 = HEAP32[$0>>2]|0; - $5203 = ((($5202)) + 56|0); - $5204 = HEAP32[$5203>>2]|0; - $5205 = (($5204) + ($5201<<2)|0); - $5206 = HEAP32[$5205>>2]|0; - HEAP32[$pC68>>2] = $5206; - $5207 = HEAP32[$pC68>>2]|0; - $5208 = ((($5207)) + 16|0); - $5209 = HEAP32[$5208>>2]|0; - HEAP32[$pCrsr69>>2] = $5209; - $5210 = HEAP32[$pC68>>2]|0; - $5211 = ((($5210)) + 24|0); - $5212 = HEAP32[$5211>>2]|0; - HEAP32[$r71>>2] = $5212; - $5213 = HEAP32[$pOp>>2]|0; - $5214 = ((($5213)) + 12|0); - $5215 = HEAP32[$5214>>2]|0; - $5216 = $5215&65535; - $5217 = ((($r71)) + 8|0); - HEAP16[$5217>>1] = $5216; - $5218 = ((($r71)) + 10|0); - HEAP8[$5218>>0] = 0; - $5219 = HEAP32[$pOp>>2]|0; - $5220 = ((($5219)) + 8|0); - $5221 = HEAP32[$5220>>2]|0; - $5222 = HEAP32[$aMem>>2]|0; - $5223 = (($5222) + (($5221*40)|0)|0); - $5224 = ((($r71)) + 4|0); - HEAP32[$5224>>2] = $5223; - $5225 = HEAP32[$pCrsr69>>2]|0; - $5226 = (_sqlite3BtreeMovetoUnpacked($5225,$r71,0,0,0,$res70)|0); - HEAP32[$rc>>2] = $5226; - $5227 = HEAP32[$rc>>2]|0; - $5228 = ($5227|0)==(0); - $5229 = HEAP32[$res70>>2]|0; - $5230 = ($5229|0)==(0); - $or$cond23 = $5228 & $5230; - if ($or$cond23) { - $5231 = HEAP32[$pCrsr69>>2]|0; - $5232 = (_sqlite3BtreeDelete($5231,4)|0); - HEAP32[$rc>>2] = $5232; + $5230 = HEAP32[$rc>>2]|0; + $5231 = ($5230|0)!=(0); + if ($5231) { + break L1; } - $5233 = HEAP32[$pC68>>2]|0; - $5234 = ((($5233)) + 56|0); - HEAP32[$5234>>2] = 0; break; } - case 113: case 112: { - $5235 = HEAP32[$pOp>>2]|0; - $5236 = ((($5235)) + 4|0); + case 111: { + $5232 = HEAP32[$pOp>>2]|0; + $5233 = ((($5232)) + 4|0); + $5234 = HEAP32[$5233>>2]|0; + $5235 = HEAP32[$0>>2]|0; + $5236 = ((($5235)) + 56|0); $5237 = HEAP32[$5236>>2]|0; - $5238 = HEAP32[$0>>2]|0; - $5239 = ((($5238)) + 56|0); - $5240 = HEAP32[$5239>>2]|0; - $5241 = (($5240) + ($5237<<2)|0); + $5238 = (($5237) + ($5234<<2)|0); + $5239 = HEAP32[$5238>>2]|0; + HEAP32[$pC68>>2] = $5239; + $5240 = HEAP32[$pC68>>2]|0; + $5241 = ((($5240)) + 16|0); $5242 = HEAP32[$5241>>2]|0; - HEAP32[$pC72>>2] = $5242; - $5243 = HEAP32[$pC72>>2]|0; - $5244 = (_sqlite3VdbeCursorRestore($5243)|0); - HEAP32[$rc>>2] = $5244; - $5245 = HEAP32[$rc>>2]|0; - $5246 = ($5245|0)!=(0); - if ($5246) { - label = 861; - break L8; - } - $5247 = HEAP32[$pC72>>2]|0; - $5248 = ((($5247)) + 2|0); - $5249 = HEAP8[$5248>>0]|0; - $5250 = ($5249<<24>>24)!=(0); - if ($5250) { - $5314 = HEAP32[$pOp>>2]|0; - $5315 = ((($5314)) + 8|0); - $5316 = HEAP32[$5315>>2]|0; - $5317 = HEAP32[$aMem>>2]|0; - $5318 = (($5317) + (($5316*40)|0)|0); - _sqlite3VdbeMemSetNull($5318); - break L11; - } - $5251 = $rowid; - $5252 = $5251; - HEAP32[$5252>>2] = 0; - $5253 = (($5251) + 4)|0; - $5254 = $5253; - HEAP32[$5254>>2] = 0; - $5255 = HEAP32[$db>>2]|0; - $5256 = HEAP32[$pC72>>2]|0; - $5257 = ((($5256)) + 16|0); - $5258 = HEAP32[$5257>>2]|0; - $5259 = (_sqlite3VdbeIdxRowid($5255,$5258,$rowid)|0); + HEAP32[$pCrsr69>>2] = $5242; + $5243 = HEAP32[$pC68>>2]|0; + $5244 = ((($5243)) + 24|0); + $5245 = HEAP32[$5244>>2]|0; + HEAP32[$r71>>2] = $5245; + $5246 = HEAP32[$pOp>>2]|0; + $5247 = ((($5246)) + 12|0); + $5248 = HEAP32[$5247>>2]|0; + $5249 = $5248&65535; + $5250 = ((($r71)) + 8|0); + HEAP16[$5250>>1] = $5249; + $5251 = ((($r71)) + 10|0); + HEAP8[$5251>>0] = 0; + $5252 = HEAP32[$pOp>>2]|0; + $5253 = ((($5252)) + 8|0); + $5254 = HEAP32[$5253>>2]|0; + $5255 = HEAP32[$aMem>>2]|0; + $5256 = (($5255) + (($5254*40)|0)|0); + $5257 = ((($r71)) + 4|0); + HEAP32[$5257>>2] = $5256; + $5258 = HEAP32[$pCrsr69>>2]|0; + $5259 = (_sqlite3BtreeMovetoUnpacked($5258,$r71,0,0,0,$res70)|0); HEAP32[$rc>>2] = $5259; $5260 = HEAP32[$rc>>2]|0; $5261 = ($5260|0)!=(0); if ($5261) { - label = 861; - break L8; + break L1; } - $5262 = HEAP32[$pOp>>2]|0; - $5263 = HEAP8[$5262>>0]|0; - $5264 = $5263&255; - $5265 = ($5264|0)==(112); - if ($5265) { - $5266 = HEAP32[$pOp>>2]|0; - $5267 = ((($5266)) + 12|0); - $5268 = HEAP32[$5267>>2]|0; - $5269 = HEAP32[$0>>2]|0; - $5270 = ((($5269)) + 56|0); - $5271 = HEAP32[$5270>>2]|0; - $5272 = (($5271) + ($5268<<2)|0); - $5273 = HEAP32[$5272>>2]|0; - HEAP32[$pTabCur>>2] = $5273; - $5274 = HEAP32[$pTabCur>>2]|0; - $5275 = ((($5274)) + 2|0); - HEAP8[$5275>>0] = 0; - $5276 = $rowid; - $5277 = $5276; - $5278 = HEAP32[$5277>>2]|0; - $5279 = (($5276) + 4)|0; - $5280 = $5279; - $5281 = HEAP32[$5280>>2]|0; - $5282 = HEAP32[$pTabCur>>2]|0; - $5283 = ((($5282)) + 40|0); - $5284 = $5283; - $5285 = $5284; - HEAP32[$5285>>2] = $5278; - $5286 = (($5284) + 4)|0; - $5287 = $5286; - HEAP32[$5287>>2] = $5281; - $5288 = HEAP32[$pTabCur>>2]|0; - $5289 = ((($5288)) + 3|0); - HEAP8[$5289>>0] = 1; - $5290 = HEAP32[$pOp>>2]|0; - $5291 = ((($5290)) + 16|0); - $5292 = HEAP32[$5291>>2]|0; - $5293 = HEAP32[$pTabCur>>2]|0; - $5294 = ((($5293)) + 52|0); - HEAP32[$5294>>2] = $5292; - $5295 = HEAP32[$pC72>>2]|0; - $5296 = HEAP32[$pTabCur>>2]|0; - $5297 = ((($5296)) + 48|0); - HEAP32[$5297>>2] = $5295; - break L11; - } else { - $5298 = HEAP32[$0>>2]|0; - $5299 = HEAP32[$pOp>>2]|0; - $5300 = (_out2Prerelease($5298,$5299)|0); - HEAP32[$pOut>>2] = $5300; - $5301 = $rowid; - $5302 = $5301; + $5262 = HEAP32[$res70>>2]|0; + $5263 = ($5262|0)==(0); + if ($5263) { + $5264 = HEAP32[$pCrsr69>>2]|0; + $5265 = (_sqlite3BtreeDelete($5264,4)|0); + HEAP32[$rc>>2] = $5265; + $5266 = HEAP32[$rc>>2]|0; + $5267 = ($5266|0)!=(0); + if ($5267) { + break L1; + } + } + $5268 = HEAP32[$pC68>>2]|0; + $5269 = ((($5268)) + 56|0); + HEAP32[$5269>>2] = 0; + break; + } + case 113: case 112: { + $5270 = HEAP32[$pOp>>2]|0; + $5271 = ((($5270)) + 4|0); + $5272 = HEAP32[$5271>>2]|0; + $5273 = HEAP32[$0>>2]|0; + $5274 = ((($5273)) + 56|0); + $5275 = HEAP32[$5274>>2]|0; + $5276 = (($5275) + ($5272<<2)|0); + $5277 = HEAP32[$5276>>2]|0; + HEAP32[$pC72>>2] = $5277; + $5278 = HEAP32[$pC72>>2]|0; + $5279 = (_sqlite3VdbeCursorRestore($5278)|0); + HEAP32[$rc>>2] = $5279; + $5280 = HEAP32[$rc>>2]|0; + $5281 = ($5280|0)!=(0); + if ($5281) { + break L1; + } + $5282 = HEAP32[$pC72>>2]|0; + $5283 = ((($5282)) + 2|0); + $5284 = HEAP8[$5283>>0]|0; + $5285 = ($5284<<24>>24)!=(0); + if ($5285) { + $5349 = HEAP32[$pOp>>2]|0; + $5350 = ((($5349)) + 8|0); + $5351 = HEAP32[$5350>>2]|0; + $5352 = HEAP32[$aMem>>2]|0; + $5353 = (($5352) + (($5351*40)|0)|0); + _sqlite3VdbeMemSetNull($5353); + break L10; + } + $5286 = $rowid; + $5287 = $5286; + HEAP32[$5287>>2] = 0; + $5288 = (($5286) + 4)|0; + $5289 = $5288; + HEAP32[$5289>>2] = 0; + $5290 = HEAP32[$db>>2]|0; + $5291 = HEAP32[$pC72>>2]|0; + $5292 = ((($5291)) + 16|0); + $5293 = HEAP32[$5292>>2]|0; + $5294 = (_sqlite3VdbeIdxRowid($5290,$5293,$rowid)|0); + HEAP32[$rc>>2] = $5294; + $5295 = HEAP32[$rc>>2]|0; + $5296 = ($5295|0)!=(0); + if ($5296) { + break L1; + } + $5297 = HEAP32[$pOp>>2]|0; + $5298 = HEAP8[$5297>>0]|0; + $5299 = $5298&255; + $5300 = ($5299|0)==(112); + if ($5300) { + $5301 = HEAP32[$pOp>>2]|0; + $5302 = ((($5301)) + 12|0); $5303 = HEAP32[$5302>>2]|0; - $5304 = (($5301) + 4)|0; - $5305 = $5304; + $5304 = HEAP32[$0>>2]|0; + $5305 = ((($5304)) + 56|0); $5306 = HEAP32[$5305>>2]|0; - $5307 = HEAP32[$pOut>>2]|0; - $5308 = $5307; - $5309 = $5308; - HEAP32[$5309>>2] = $5303; - $5310 = (($5308) + 4)|0; - $5311 = $5310; - HEAP32[$5311>>2] = $5306; - $5312 = HEAP32[$pOut>>2]|0; - $5313 = ((($5312)) + 8|0); - HEAP16[$5313>>1] = 4; - break L11; + $5307 = (($5306) + ($5303<<2)|0); + $5308 = HEAP32[$5307>>2]|0; + HEAP32[$pTabCur>>2] = $5308; + $5309 = HEAP32[$pTabCur>>2]|0; + $5310 = ((($5309)) + 2|0); + HEAP8[$5310>>0] = 0; + $5311 = $rowid; + $5312 = $5311; + $5313 = HEAP32[$5312>>2]|0; + $5314 = (($5311) + 4)|0; + $5315 = $5314; + $5316 = HEAP32[$5315>>2]|0; + $5317 = HEAP32[$pTabCur>>2]|0; + $5318 = ((($5317)) + 40|0); + $5319 = $5318; + $5320 = $5319; + HEAP32[$5320>>2] = $5313; + $5321 = (($5319) + 4)|0; + $5322 = $5321; + HEAP32[$5322>>2] = $5316; + $5323 = HEAP32[$pTabCur>>2]|0; + $5324 = ((($5323)) + 3|0); + HEAP8[$5324>>0] = 1; + $5325 = HEAP32[$pOp>>2]|0; + $5326 = ((($5325)) + 16|0); + $5327 = HEAP32[$5326>>2]|0; + $5328 = HEAP32[$pTabCur>>2]|0; + $5329 = ((($5328)) + 52|0); + HEAP32[$5329>>2] = $5327; + $5330 = HEAP32[$pC72>>2]|0; + $5331 = HEAP32[$pTabCur>>2]|0; + $5332 = ((($5331)) + 48|0); + HEAP32[$5332>>2] = $5330; + break L10; + } else { + $5333 = HEAP32[$0>>2]|0; + $5334 = HEAP32[$pOp>>2]|0; + $5335 = (_out2Prerelease($5333,$5334)|0); + HEAP32[$pOut>>2] = $5335; + $5336 = $rowid; + $5337 = $5336; + $5338 = HEAP32[$5337>>2]|0; + $5339 = (($5336) + 4)|0; + $5340 = $5339; + $5341 = HEAP32[$5340>>2]|0; + $5342 = HEAP32[$pOut>>2]|0; + $5343 = $5342; + $5344 = $5343; + HEAP32[$5344>>2] = $5338; + $5345 = (($5343) + 4)|0; + $5346 = $5345; + HEAP32[$5346>>2] = $5341; + $5347 = HEAP32[$pOut>>2]|0; + $5348 = ((($5347)) + 8|0); + HEAP16[$5348>>1] = 4; + break L10; } break; } case 117: case 116: case 115: case 114: { - $5319 = HEAP32[$pOp>>2]|0; - $5320 = ((($5319)) + 4|0); - $5321 = HEAP32[$5320>>2]|0; - $5322 = HEAP32[$0>>2]|0; - $5323 = ((($5322)) + 56|0); - $5324 = HEAP32[$5323>>2]|0; - $5325 = (($5324) + ($5321<<2)|0); - $5326 = HEAP32[$5325>>2]|0; - HEAP32[$pC73>>2] = $5326; - $5327 = HEAP32[$pC73>>2]|0; - $5328 = ((($5327)) + 24|0); - $5329 = HEAP32[$5328>>2]|0; - HEAP32[$r75>>2] = $5329; - $5330 = HEAP32[$pOp>>2]|0; - $5331 = ((($5330)) + 16|0); - $5332 = HEAP32[$5331>>2]|0; - $5333 = $5332&65535; - $5334 = ((($r75)) + 8|0); - HEAP16[$5334>>1] = $5333; - $5335 = HEAP32[$pOp>>2]|0; - $5336 = HEAP8[$5335>>0]|0; - $5337 = $5336&255; - $5338 = ($5337|0)<(116); - $5339 = ((($r75)) + 10|0); - if ($5338) { - HEAP8[$5339>>0] = -1; + $5354 = HEAP32[$pOp>>2]|0; + $5355 = ((($5354)) + 4|0); + $5356 = HEAP32[$5355>>2]|0; + $5357 = HEAP32[$0>>2]|0; + $5358 = ((($5357)) + 56|0); + $5359 = HEAP32[$5358>>2]|0; + $5360 = (($5359) + ($5356<<2)|0); + $5361 = HEAP32[$5360>>2]|0; + HEAP32[$pC73>>2] = $5361; + $5362 = HEAP32[$pC73>>2]|0; + $5363 = ((($5362)) + 24|0); + $5364 = HEAP32[$5363>>2]|0; + HEAP32[$r75>>2] = $5364; + $5365 = HEAP32[$pOp>>2]|0; + $5366 = ((($5365)) + 16|0); + $5367 = HEAP32[$5366>>2]|0; + $5368 = $5367&65535; + $5369 = ((($r75)) + 8|0); + HEAP16[$5369>>1] = $5368; + $5370 = HEAP32[$pOp>>2]|0; + $5371 = HEAP8[$5370>>0]|0; + $5372 = $5371&255; + $5373 = ($5372|0)<(116); + $5374 = ((($r75)) + 10|0); + if ($5373) { + HEAP8[$5374>>0] = -1; } else { - HEAP8[$5339>>0] = 0; + HEAP8[$5374>>0] = 0; } - $5340 = HEAP32[$pOp>>2]|0; - $5341 = ((($5340)) + 12|0); - $5342 = HEAP32[$5341>>2]|0; - $5343 = HEAP32[$aMem>>2]|0; - $5344 = (($5343) + (($5342*40)|0)|0); - $5345 = ((($r75)) + 4|0); - HEAP32[$5345>>2] = $5344; + $5375 = HEAP32[$pOp>>2]|0; + $5376 = ((($5375)) + 12|0); + $5377 = HEAP32[$5376>>2]|0; + $5378 = HEAP32[$aMem>>2]|0; + $5379 = (($5378) + (($5377*40)|0)|0); + $5380 = ((($r75)) + 4|0); + HEAP32[$5380>>2] = $5379; HEAP32[$res74>>2] = 0; - $5346 = HEAP32[$db>>2]|0; - $5347 = HEAP32[$pC73>>2]|0; - $5348 = (_sqlite3VdbeIdxKeyCompare($5346,$5347,$r75,$res74)|0); - HEAP32[$rc>>2] = $5348; - $5349 = HEAP32[$pOp>>2]|0; - $5350 = HEAP8[$5349>>0]|0; - $5351 = $5350&255; - $5352 = $5351 & 1; - $5353 = ($5352|0)==(0); - $5354 = HEAP32[$res74>>2]|0; - if ($5353) { - $5355 = (0 - ($5354))|0; - HEAP32[$res74>>2] = $5355; + $5381 = HEAP32[$db>>2]|0; + $5382 = HEAP32[$pC73>>2]|0; + $5383 = (_sqlite3VdbeIdxKeyCompare($5381,$5382,$r75,$res74)|0); + HEAP32[$rc>>2] = $5383; + $5384 = HEAP32[$pOp>>2]|0; + $5385 = HEAP8[$5384>>0]|0; + $5386 = $5385&255; + $5387 = $5386 & 1; + $5388 = ($5387|0)==(0); + $5389 = HEAP32[$res74>>2]|0; + if ($5388) { + $5390 = (0 - ($5389))|0; + HEAP32[$res74>>2] = $5390; } else { - $5356 = (($5354) + 1)|0; - HEAP32[$res74>>2] = $5356; + $5391 = (($5389) + 1)|0; + HEAP32[$res74>>2] = $5391; + } + $5392 = HEAP32[$rc>>2]|0; + $5393 = ($5392|0)!=(0); + if ($5393) { + break L1; } - $5357 = HEAP32[$res74>>2]|0; - $5358 = ($5357|0)>(0); - if ($5358) { - label = 15; + $5394 = HEAP32[$res74>>2]|0; + $5395 = ($5394|0)>(0); + if ($5395) { + label = 14; } break; } case 118: { - $5359 = HEAP32[$0>>2]|0; - $5360 = HEAP32[$pOp>>2]|0; - $5361 = (_out2Prerelease($5359,$5360)|0); - HEAP32[$pOut>>2] = $5361; - $5362 = HEAP32[$pOut>>2]|0; - $5363 = ((($5362)) + 8|0); - HEAP16[$5363>>1] = 1; - $5364 = HEAP32[$db>>2]|0; - $5365 = ((($5364)) + 152|0); - $5366 = HEAP32[$5365>>2]|0; - $5367 = HEAP32[$db>>2]|0; - $5368 = ((($5367)) + 164|0); - $5369 = HEAP32[$5368>>2]|0; - $5370 = (($5369) + 1)|0; - $5371 = ($5366|0)>($5370|0); - if ($5371) { - HEAP32[$rc>>2] = 6; - $5372 = HEAP32[$0>>2]|0; - $5373 = ((($5372)) + 86|0); - HEAP8[$5373>>0] = 2; - break L11; + $5396 = HEAP32[$0>>2]|0; + $5397 = HEAP32[$pOp>>2]|0; + $5398 = (_out2Prerelease($5396,$5397)|0); + HEAP32[$pOut>>2] = $5398; + $5399 = HEAP32[$pOut>>2]|0; + $5400 = ((($5399)) + 8|0); + HEAP16[$5400>>1] = 1; + $5401 = HEAP32[$db>>2]|0; + $5402 = ((($5401)) + 156|0); + $5403 = HEAP32[$5402>>2]|0; + $5404 = HEAP32[$db>>2]|0; + $5405 = ((($5404)) + 168|0); + $5406 = HEAP32[$5405>>2]|0; + $5407 = (($5406) + 1)|0; + $5408 = ($5403|0)>($5407|0); + if ($5408) { + label = 662; + break L8; } - $5374 = HEAP32[$pOp>>2]|0; - $5375 = ((($5374)) + 12|0); - $5376 = HEAP32[$5375>>2]|0; - HEAP32[$iDb76>>2] = $5376; + $5411 = HEAP32[$pOp>>2]|0; + $5412 = ((($5411)) + 12|0); + $5413 = HEAP32[$5412>>2]|0; + HEAP32[$iDb76>>2] = $5413; HEAP32[$iMoved>>2] = 0; - $5377 = HEAP32[$iDb76>>2]|0; - $5378 = HEAP32[$db>>2]|0; - $5379 = ((($5378)) + 16|0); - $5380 = HEAP32[$5379>>2]|0; - $5381 = (($5380) + ($5377<<4)|0); - $5382 = ((($5381)) + 4|0); - $5383 = HEAP32[$5382>>2]|0; - $5384 = HEAP32[$pOp>>2]|0; - $5385 = ((($5384)) + 4|0); - $5386 = HEAP32[$5385>>2]|0; - $5387 = (_sqlite3BtreeDropTable($5383,$5386,$iMoved)|0); - HEAP32[$rc>>2] = $5387; - $5388 = HEAP32[$pOut>>2]|0; - $5389 = ((($5388)) + 8|0); - HEAP16[$5389>>1] = 4; - $5390 = HEAP32[$iMoved>>2]|0; - $5391 = ($5390|0)<(0); - $5392 = $5391 << 31 >> 31; - $5393 = HEAP32[$pOut>>2]|0; - $5394 = $5393; - $5395 = $5394; - HEAP32[$5395>>2] = $5390; - $5396 = (($5394) + 4)|0; - $5397 = $5396; - HEAP32[$5397>>2] = $5392; - $5398 = HEAP32[$rc>>2]|0; - $5399 = ($5398|0)==(0); - $5400 = HEAP32[$iMoved>>2]|0; - $5401 = ($5400|0)!=(0); - $or$cond25 = $5399 & $5401; - if ($or$cond25) { - $5402 = HEAP32[$db>>2]|0; - $5403 = HEAP32[$iDb76>>2]|0; - $5404 = HEAP32[$iMoved>>2]|0; - $5405 = HEAP32[$pOp>>2]|0; - $5406 = ((($5405)) + 4|0); - $5407 = HEAP32[$5406>>2]|0; - _sqlite3RootPageMoved($5402,$5403,$5404,$5407); - $5408 = HEAP32[$iDb76>>2]|0; - $5409 = (($5408) + 1)|0; - $5410 = $5409&255; - HEAP8[$resetSchemaOnFault>>0] = $5410; + $5414 = HEAP32[$iDb76>>2]|0; + $5415 = HEAP32[$db>>2]|0; + $5416 = ((($5415)) + 16|0); + $5417 = HEAP32[$5416>>2]|0; + $5418 = (($5417) + ($5414<<4)|0); + $5419 = ((($5418)) + 4|0); + $5420 = HEAP32[$5419>>2]|0; + $5421 = HEAP32[$pOp>>2]|0; + $5422 = ((($5421)) + 4|0); + $5423 = HEAP32[$5422>>2]|0; + $5424 = (_sqlite3BtreeDropTable($5420,$5423,$iMoved)|0); + HEAP32[$rc>>2] = $5424; + $5425 = HEAP32[$pOut>>2]|0; + $5426 = ((($5425)) + 8|0); + HEAP16[$5426>>1] = 4; + $5427 = HEAP32[$iMoved>>2]|0; + $5428 = ($5427|0)<(0); + $5429 = $5428 << 31 >> 31; + $5430 = HEAP32[$pOut>>2]|0; + $5431 = $5430; + $5432 = $5431; + HEAP32[$5432>>2] = $5427; + $5433 = (($5431) + 4)|0; + $5434 = $5433; + HEAP32[$5434>>2] = $5429; + $5435 = HEAP32[$rc>>2]|0; + $5436 = ($5435|0)!=(0); + if ($5436) { + break L1; + } + $5437 = HEAP32[$iMoved>>2]|0; + $5438 = ($5437|0)!=(0); + if ($5438) { + $5439 = HEAP32[$db>>2]|0; + $5440 = HEAP32[$iDb76>>2]|0; + $5441 = HEAP32[$iMoved>>2]|0; + $5442 = HEAP32[$pOp>>2]|0; + $5443 = ((($5442)) + 4|0); + $5444 = HEAP32[$5443>>2]|0; + _sqlite3RootPageMoved($5439,$5440,$5441,$5444); + $5445 = HEAP32[$iDb76>>2]|0; + $5446 = (($5445) + 1)|0; + $5447 = $5446&255; + HEAP8[$resetSchemaOnFault>>0] = $5447; } break; } case 119: { HEAP32[$nChange>>2] = 0; - $5411 = HEAP32[$pOp>>2]|0; - $5412 = ((($5411)) + 8|0); - $5413 = HEAP32[$5412>>2]|0; - $5414 = HEAP32[$db>>2]|0; - $5415 = ((($5414)) + 16|0); - $5416 = HEAP32[$5415>>2]|0; - $5417 = (($5416) + ($5413<<4)|0); - $5418 = ((($5417)) + 4|0); - $5419 = HEAP32[$5418>>2]|0; - $5420 = HEAP32[$pOp>>2]|0; - $5421 = ((($5420)) + 4|0); - $5422 = HEAP32[$5421>>2]|0; - $5423 = HEAP32[$pOp>>2]|0; - $5424 = ((($5423)) + 12|0); - $5425 = HEAP32[$5424>>2]|0; - $5426 = ($5425|0)!=(0); - $nChange$ = $5426 ? $nChange : 0; - $5427 = (_sqlite3BtreeClearTable($5419,$5422,$nChange$)|0); - HEAP32[$rc>>2] = $5427; - $5428 = HEAP32[$pOp>>2]|0; - $5429 = ((($5428)) + 12|0); - $5430 = HEAP32[$5429>>2]|0; - $5431 = ($5430|0)!=(0); - if ($5431) { - $5432 = HEAP32[$nChange>>2]|0; - $5433 = HEAP32[$0>>2]|0; - $5434 = ((($5433)) + 92|0); - $5435 = HEAP32[$5434>>2]|0; - $5436 = (($5435) + ($5432))|0; - HEAP32[$5434>>2] = $5436; - $5437 = HEAP32[$pOp>>2]|0; - $5438 = ((($5437)) + 12|0); - $5439 = HEAP32[$5438>>2]|0; - $5440 = ($5439|0)>(0); - if ($5440) { - $5441 = HEAP32[$nChange>>2]|0; - $5442 = ($5441|0)<(0); - $5443 = $5442 << 31 >> 31; - $5444 = HEAP32[$pOp>>2]|0; - $5445 = ((($5444)) + 12|0); - $5446 = HEAP32[$5445>>2]|0; - $5447 = HEAP32[$aMem>>2]|0; - $5448 = (($5447) + (($5446*40)|0)|0); - $5449 = $5448; - $5450 = $5449; - $5451 = HEAP32[$5450>>2]|0; - $5452 = (($5449) + 4)|0; - $5453 = $5452; - $5454 = HEAP32[$5453>>2]|0; - $5455 = (_i64Add(($5451|0),($5454|0),($5441|0),($5443|0))|0); - $5456 = tempRet0; - $5457 = $5448; - $5458 = $5457; - HEAP32[$5458>>2] = $5455; - $5459 = (($5457) + 4)|0; - $5460 = $5459; - HEAP32[$5460>>2] = $5456; + $5448 = HEAP32[$pOp>>2]|0; + $5449 = ((($5448)) + 8|0); + $5450 = HEAP32[$5449>>2]|0; + $5451 = HEAP32[$db>>2]|0; + $5452 = ((($5451)) + 16|0); + $5453 = HEAP32[$5452>>2]|0; + $5454 = (($5453) + ($5450<<4)|0); + $5455 = ((($5454)) + 4|0); + $5456 = HEAP32[$5455>>2]|0; + $5457 = HEAP32[$pOp>>2]|0; + $5458 = ((($5457)) + 4|0); + $5459 = HEAP32[$5458>>2]|0; + $5460 = HEAP32[$pOp>>2]|0; + $5461 = ((($5460)) + 12|0); + $5462 = HEAP32[$5461>>2]|0; + $5463 = ($5462|0)!=(0); + $nChange$ = $5463 ? $nChange : 0; + $5464 = (_sqlite3BtreeClearTable($5456,$5459,$nChange$)|0); + HEAP32[$rc>>2] = $5464; + $5465 = HEAP32[$pOp>>2]|0; + $5466 = ((($5465)) + 12|0); + $5467 = HEAP32[$5466>>2]|0; + $5468 = ($5467|0)!=(0); + if ($5468) { + $5469 = HEAP32[$nChange>>2]|0; + $5470 = HEAP32[$0>>2]|0; + $5471 = ((($5470)) + 92|0); + $5472 = HEAP32[$5471>>2]|0; + $5473 = (($5472) + ($5469))|0; + HEAP32[$5471>>2] = $5473; + $5474 = HEAP32[$pOp>>2]|0; + $5475 = ((($5474)) + 12|0); + $5476 = HEAP32[$5475>>2]|0; + $5477 = ($5476|0)>(0); + if ($5477) { + $5478 = HEAP32[$nChange>>2]|0; + $5479 = ($5478|0)<(0); + $5480 = $5479 << 31 >> 31; + $5481 = HEAP32[$pOp>>2]|0; + $5482 = ((($5481)) + 12|0); + $5483 = HEAP32[$5482>>2]|0; + $5484 = HEAP32[$aMem>>2]|0; + $5485 = (($5484) + (($5483*40)|0)|0); + $5486 = $5485; + $5487 = $5486; + $5488 = HEAP32[$5487>>2]|0; + $5489 = (($5486) + 4)|0; + $5490 = $5489; + $5491 = HEAP32[$5490>>2]|0; + $5492 = (_i64Add(($5488|0),($5491|0),($5478|0),($5480|0))|0); + $5493 = tempRet0; + $5494 = $5485; + $5495 = $5494; + HEAP32[$5495>>2] = $5492; + $5496 = (($5494) + 4)|0; + $5497 = $5496; + HEAP32[$5497>>2] = $5493; } } + $5498 = HEAP32[$rc>>2]|0; + $5499 = ($5498|0)!=(0); + if ($5499) { + break L1; + } break; } case 120: { - $5461 = HEAP32[$pOp>>2]|0; - $5462 = ((($5461)) + 4|0); - $5463 = HEAP32[$5462>>2]|0; - $5464 = HEAP32[$0>>2]|0; - $5465 = ((($5464)) + 56|0); - $5466 = HEAP32[$5465>>2]|0; - $5467 = (($5466) + ($5463<<2)|0); - $5468 = HEAP32[$5467>>2]|0; - HEAP32[$pC77>>2] = $5468; - $5469 = HEAP32[$pC77>>2]|0; - $5470 = HEAP8[$5469>>0]|0; - $5471 = $5470&255; - $5472 = ($5471|0)==(1); - if ($5472) { - $5473 = HEAP32[$db>>2]|0; - $5474 = HEAP32[$pC77>>2]|0; - $5475 = ((($5474)) + 16|0); - $5476 = HEAP32[$5475>>2]|0; - _sqlite3VdbeSorterReset($5473,$5476); - break L11; + $5500 = HEAP32[$pOp>>2]|0; + $5501 = ((($5500)) + 4|0); + $5502 = HEAP32[$5501>>2]|0; + $5503 = HEAP32[$0>>2]|0; + $5504 = ((($5503)) + 56|0); + $5505 = HEAP32[$5504>>2]|0; + $5506 = (($5505) + ($5502<<2)|0); + $5507 = HEAP32[$5506>>2]|0; + HEAP32[$pC77>>2] = $5507; + $5508 = HEAP32[$pC77>>2]|0; + $5509 = HEAP8[$5508>>0]|0; + $5510 = $5509&255; + $5511 = ($5510|0)==(1); + if ($5511) { + $5512 = HEAP32[$db>>2]|0; + $5513 = HEAP32[$pC77>>2]|0; + $5514 = ((($5513)) + 16|0); + $5515 = HEAP32[$5514>>2]|0; + _sqlite3VdbeSorterReset($5512,$5515); + break L10; } else { - $5477 = HEAP32[$pC77>>2]|0; - $5478 = ((($5477)) + 16|0); - $5479 = HEAP32[$5478>>2]|0; - $5480 = (_sqlite3BtreeClearTableOfCursor($5479)|0); - HEAP32[$rc>>2] = $5480; - break L11; + $5516 = HEAP32[$pC77>>2]|0; + $5517 = ((($5516)) + 16|0); + $5518 = HEAP32[$5517>>2]|0; + $5519 = (_sqlite3BtreeClearTableOfCursor($5518)|0); + HEAP32[$rc>>2] = $5519; + $5520 = HEAP32[$rc>>2]|0; + $5521 = ($5520|0)!=(0); + if ($5521) { + break L1; + } else { + break L10; + } } break; } case 122: case 121: { - $5481 = HEAP32[$0>>2]|0; - $5482 = HEAP32[$pOp>>2]|0; - $5483 = (_out2Prerelease($5481,$5482)|0); - HEAP32[$pOut>>2] = $5483; + $5522 = HEAP32[$0>>2]|0; + $5523 = HEAP32[$pOp>>2]|0; + $5524 = (_out2Prerelease($5522,$5523)|0); + HEAP32[$pOut>>2] = $5524; HEAP32[$pgno78>>2] = 0; - $5484 = HEAP32[$pOp>>2]|0; - $5485 = ((($5484)) + 4|0); - $5486 = HEAP32[$5485>>2]|0; - $5487 = HEAP32[$db>>2]|0; - $5488 = ((($5487)) + 16|0); - $5489 = HEAP32[$5488>>2]|0; - $5490 = (($5489) + ($5486<<4)|0); - HEAP32[$pDb80>>2] = $5490; - $5491 = HEAP32[$pOp>>2]|0; - $5492 = HEAP8[$5491>>0]|0; - $5493 = $5492&255; - $5494 = ($5493|0)==(122); - if ($5494) { + $5525 = HEAP32[$pOp>>2]|0; + $5526 = ((($5525)) + 4|0); + $5527 = HEAP32[$5526>>2]|0; + $5528 = HEAP32[$db>>2]|0; + $5529 = ((($5528)) + 16|0); + $5530 = HEAP32[$5529>>2]|0; + $5531 = (($5530) + ($5527<<4)|0); + HEAP32[$pDb80>>2] = $5531; + $5532 = HEAP32[$pOp>>2]|0; + $5533 = HEAP8[$5532>>0]|0; + $5534 = $5533&255; + $5535 = ($5534|0)==(122); + if ($5535) { HEAP32[$flags79>>2] = 1; } else { HEAP32[$flags79>>2] = 2; } - $5495 = HEAP32[$pDb80>>2]|0; - $5496 = ((($5495)) + 4|0); - $5497 = HEAP32[$5496>>2]|0; - $5498 = HEAP32[$flags79>>2]|0; - $5499 = (_sqlite3BtreeCreateTable($5497,$pgno78,$5498)|0); - HEAP32[$rc>>2] = $5499; - $5500 = HEAP32[$pgno78>>2]|0; - $5501 = ($5500|0)<(0); - $5502 = $5501 << 31 >> 31; - $5503 = HEAP32[$pOut>>2]|0; - $5504 = $5503; - $5505 = $5504; - HEAP32[$5505>>2] = $5500; - $5506 = (($5504) + 4)|0; - $5507 = $5506; - HEAP32[$5507>>2] = $5502; + $5536 = HEAP32[$pDb80>>2]|0; + $5537 = ((($5536)) + 4|0); + $5538 = HEAP32[$5537>>2]|0; + $5539 = HEAP32[$flags79>>2]|0; + $5540 = (_sqlite3BtreeCreateTable($5538,$pgno78,$5539)|0); + HEAP32[$rc>>2] = $5540; + $5541 = HEAP32[$rc>>2]|0; + $5542 = ($5541|0)!=(0); + if ($5542) { + break L1; + } + $5543 = HEAP32[$pgno78>>2]|0; + $5544 = ($5543|0)<(0); + $5545 = $5544 << 31 >> 31; + $5546 = HEAP32[$pOut>>2]|0; + $5547 = $5546; + $5548 = $5547; + HEAP32[$5548>>2] = $5543; + $5549 = (($5547) + 4)|0; + $5550 = $5549; + HEAP32[$5550>>2] = $5545; break; } case 123: { - $5508 = HEAP32[$pOp>>2]|0; - $5509 = ((($5508)) + 4|0); - $5510 = HEAP32[$5509>>2]|0; - HEAP32[$iDb81>>2] = $5510; - $5511 = HEAP32[$iDb81>>2]|0; - $5512 = ($5511|0)==(1); - $5513 = $5512 ? 20769 : 20788; - HEAP32[$zMaster>>2] = $5513; - $5514 = HEAP32[$db>>2]|0; - HEAP32[$initData>>2] = $5514; - $5515 = HEAP32[$pOp>>2]|0; - $5516 = ((($5515)) + 4|0); - $5517 = HEAP32[$5516>>2]|0; - $5518 = ((($initData)) + 8|0); - HEAP32[$5518>>2] = $5517; - $5519 = HEAP32[$0>>2]|0; - $5520 = ((($5519)) + 44|0); - $5521 = ((($initData)) + 4|0); - HEAP32[$5521>>2] = $5520; - $5522 = HEAP32[$db>>2]|0; - $5523 = HEAP32[$iDb81>>2]|0; - $5524 = HEAP32[$db>>2]|0; - $5525 = ((($5524)) + 16|0); - $5526 = HEAP32[$5525>>2]|0; - $5527 = (($5526) + ($5523<<4)|0); - $5528 = HEAP32[$5527>>2]|0; - $5529 = HEAP32[$zMaster>>2]|0; - $5530 = HEAP32[$pOp>>2]|0; - $5531 = ((($5530)) + 16|0); - $5532 = HEAP32[$5531>>2]|0; - HEAP32[$vararg_buffer57>>2] = $5528; - $vararg_ptr60 = ((($vararg_buffer57)) + 4|0); - HEAP32[$vararg_ptr60>>2] = $5529; - $vararg_ptr61 = ((($vararg_buffer57)) + 8|0); - HEAP32[$vararg_ptr61>>2] = $5532; - $5533 = (_sqlite3MPrintf($5522,41084,$vararg_buffer57)|0); - HEAP32[$zSql>>2] = $5533; - $5534 = HEAP32[$zSql>>2]|0; - $5535 = ($5534|0)==(0|0); - if ($5535) { + $5551 = HEAP32[$pOp>>2]|0; + $5552 = ((($5551)) + 4|0); + $5553 = HEAP32[$5552>>2]|0; + HEAP32[$iDb81>>2] = $5553; + $5554 = HEAP32[$iDb81>>2]|0; + $5555 = ($5554|0)==(1); + $5556 = $5555 ? 20513 : 20532; + HEAP32[$zMaster>>2] = $5556; + $5557 = HEAP32[$db>>2]|0; + HEAP32[$initData>>2] = $5557; + $5558 = HEAP32[$pOp>>2]|0; + $5559 = ((($5558)) + 4|0); + $5560 = HEAP32[$5559>>2]|0; + $5561 = ((($initData)) + 8|0); + HEAP32[$5561>>2] = $5560; + $5562 = HEAP32[$0>>2]|0; + $5563 = ((($5562)) + 44|0); + $5564 = ((($initData)) + 4|0); + HEAP32[$5564>>2] = $5563; + $5565 = HEAP32[$db>>2]|0; + $5566 = HEAP32[$iDb81>>2]|0; + $5567 = HEAP32[$db>>2]|0; + $5568 = ((($5567)) + 16|0); + $5569 = HEAP32[$5568>>2]|0; + $5570 = (($5569) + ($5566<<4)|0); + $5571 = HEAP32[$5570>>2]|0; + $5572 = HEAP32[$zMaster>>2]|0; + $5573 = HEAP32[$pOp>>2]|0; + $5574 = ((($5573)) + 16|0); + $5575 = HEAP32[$5574>>2]|0; + HEAP32[$vararg_buffer56>>2] = $5571; + $vararg_ptr59 = ((($vararg_buffer56)) + 4|0); + HEAP32[$vararg_ptr59>>2] = $5572; + $vararg_ptr60 = ((($vararg_buffer56)) + 8|0); + HEAP32[$vararg_ptr60>>2] = $5575; + $5576 = (_sqlite3MPrintf($5565,40735,$vararg_buffer56)|0); + HEAP32[$zSql>>2] = $5576; + $5577 = HEAP32[$zSql>>2]|0; + $5578 = ($5577|0)==(0|0); + if ($5578) { HEAP32[$rc>>2] = 7; } else { - $5536 = HEAP32[$db>>2]|0; - $5537 = ((($5536)) + 140|0); - $5538 = ((($5537)) + 5|0); - HEAP8[$5538>>0] = 1; - $5539 = ((($initData)) + 12|0); - HEAP32[$5539>>2] = 0; - $5540 = HEAP32[$db>>2]|0; - $5541 = HEAP32[$zSql>>2]|0; - $5542 = (_sqlite3_exec($5540,$5541,140,$initData,0)|0); - HEAP32[$rc>>2] = $5542; - $5543 = HEAP32[$rc>>2]|0; - $5544 = ($5543|0)==(0); - if ($5544) { - $5545 = ((($initData)) + 12|0); - $5546 = HEAP32[$5545>>2]|0; - HEAP32[$rc>>2] = $5546; + $5579 = HEAP32[$db>>2]|0; + $5580 = ((($5579)) + 144|0); + $5581 = ((($5580)) + 5|0); + HEAP8[$5581>>0] = 1; + $5582 = ((($initData)) + 12|0); + HEAP32[$5582>>2] = 0; + $5583 = HEAP32[$db>>2]|0; + $5584 = HEAP32[$zSql>>2]|0; + $5585 = (_sqlite3_exec($5583,$5584,140,$initData,0)|0); + HEAP32[$rc>>2] = $5585; + $5586 = HEAP32[$rc>>2]|0; + $5587 = ($5586|0)==(0); + if ($5587) { + $5588 = ((($initData)) + 12|0); + $5589 = HEAP32[$5588>>2]|0; + HEAP32[$rc>>2] = $5589; } - $5547 = HEAP32[$db>>2]|0; - $5548 = HEAP32[$zSql>>2]|0; - _sqlite3DbFree($5547,$5548); - $5549 = HEAP32[$db>>2]|0; - $5550 = ((($5549)) + 140|0); - $5551 = ((($5550)) + 5|0); - HEAP8[$5551>>0] = 0; - } - $5552 = HEAP32[$rc>>2]|0; - $5553 = ($5552|0)!=(0); - if ($5553) { - $5554 = HEAP32[$db>>2]|0; - _sqlite3ResetAllSchemasOfConnection($5554); + $5590 = HEAP32[$db>>2]|0; + $5591 = HEAP32[$zSql>>2]|0; + _sqlite3DbFree($5590,$5591); + $5592 = HEAP32[$db>>2]|0; + $5593 = ((($5592)) + 144|0); + $5594 = ((($5593)) + 5|0); + HEAP8[$5594>>0] = 0; } - $5555 = HEAP32[$rc>>2]|0; - $5556 = ($5555|0)==(7); - if ($5556) { - label = 860; - break L1; + $5595 = HEAP32[$rc>>2]|0; + $5596 = ($5595|0)!=(0); + if ($5596) { + label = 684; + break L8; } break; } case 124: { - $5557 = HEAP32[$db>>2]|0; - $5558 = HEAP32[$pOp>>2]|0; - $5559 = ((($5558)) + 4|0); - $5560 = HEAP32[$5559>>2]|0; - $5561 = (_sqlite3AnalysisLoad($5557,$5560)|0); - HEAP32[$rc>>2] = $5561; + $5600 = HEAP32[$db>>2]|0; + $5601 = HEAP32[$pOp>>2]|0; + $5602 = ((($5601)) + 4|0); + $5603 = HEAP32[$5602>>2]|0; + $5604 = (_sqlite3AnalysisLoad($5600,$5603)|0); + HEAP32[$rc>>2] = $5604; + $5605 = HEAP32[$rc>>2]|0; + $5606 = ($5605|0)!=(0); + if ($5606) { + break L1; + } break; } case 125: { - $5562 = HEAP32[$db>>2]|0; - $5563 = HEAP32[$pOp>>2]|0; - $5564 = ((($5563)) + 4|0); - $5565 = HEAP32[$5564>>2]|0; - $5566 = HEAP32[$pOp>>2]|0; - $5567 = ((($5566)) + 16|0); - $5568 = HEAP32[$5567>>2]|0; - _sqlite3UnlinkAndDeleteTable($5562,$5565,$5568); + $5607 = HEAP32[$db>>2]|0; + $5608 = HEAP32[$pOp>>2]|0; + $5609 = ((($5608)) + 4|0); + $5610 = HEAP32[$5609>>2]|0; + $5611 = HEAP32[$pOp>>2]|0; + $5612 = ((($5611)) + 16|0); + $5613 = HEAP32[$5612>>2]|0; + _sqlite3UnlinkAndDeleteTable($5607,$5610,$5613); break; } case 126: { - $5569 = HEAP32[$db>>2]|0; - $5570 = HEAP32[$pOp>>2]|0; - $5571 = ((($5570)) + 4|0); - $5572 = HEAP32[$5571>>2]|0; - $5573 = HEAP32[$pOp>>2]|0; - $5574 = ((($5573)) + 16|0); - $5575 = HEAP32[$5574>>2]|0; - _sqlite3UnlinkAndDeleteIndex($5569,$5572,$5575); + $5614 = HEAP32[$db>>2]|0; + $5615 = HEAP32[$pOp>>2]|0; + $5616 = ((($5615)) + 4|0); + $5617 = HEAP32[$5616>>2]|0; + $5618 = HEAP32[$pOp>>2]|0; + $5619 = ((($5618)) + 16|0); + $5620 = HEAP32[$5619>>2]|0; + _sqlite3UnlinkAndDeleteIndex($5614,$5617,$5620); break; } case 127: { - $5576 = HEAP32[$db>>2]|0; - $5577 = HEAP32[$pOp>>2]|0; - $5578 = ((($5577)) + 4|0); - $5579 = HEAP32[$5578>>2]|0; - $5580 = HEAP32[$pOp>>2]|0; - $5581 = ((($5580)) + 16|0); - $5582 = HEAP32[$5581>>2]|0; - _sqlite3UnlinkAndDeleteTrigger($5576,$5579,$5582); + $5621 = HEAP32[$db>>2]|0; + $5622 = HEAP32[$pOp>>2]|0; + $5623 = ((($5622)) + 4|0); + $5624 = HEAP32[$5623>>2]|0; + $5625 = HEAP32[$pOp>>2]|0; + $5626 = ((($5625)) + 16|0); + $5627 = HEAP32[$5626>>2]|0; + _sqlite3UnlinkAndDeleteTrigger($5621,$5624,$5627); break; } case 128: { - $5583 = HEAP32[$pOp>>2]|0; - $5584 = ((($5583)) + 8|0); - $5585 = HEAP32[$5584>>2]|0; - HEAP32[$nRoot>>2] = $5585; - $5586 = HEAP32[$db>>2]|0; - $5587 = HEAP32[$nRoot>>2]|0; - $5588 = (($5587) + 1)|0; - $5589 = $5588<<2; - $5590 = (_sqlite3DbMallocRawNN($5586,$5589,0)|0); - HEAP32[$aRoot>>2] = $5590; - $5591 = HEAP32[$aRoot>>2]|0; - $5592 = ($5591|0)==(0|0); - if ($5592) { - label = 860; - break L1; - } - $5593 = HEAP32[$pOp>>2]|0; - $5594 = ((($5593)) + 12|0); - $5595 = HEAP32[$5594>>2]|0; - $5596 = HEAP32[$aMem>>2]|0; - $5597 = (($5596) + (($5595*40)|0)|0); - HEAP32[$pnErr>>2] = $5597; - $5598 = HEAP32[$pOp>>2]|0; - $5599 = ((($5598)) + 4|0); - $5600 = HEAP32[$5599>>2]|0; - $5601 = HEAP32[$aMem>>2]|0; - $5602 = (($5601) + (($5600*40)|0)|0); - HEAP32[$pIn1>>2] = $5602; - HEAP32[$j82>>2] = 0; - while(1) { - $5603 = HEAP32[$j82>>2]|0; - $5604 = HEAP32[$nRoot>>2]|0; - $5605 = ($5603|0)<($5604|0); - $5606 = HEAP32[$j82>>2]|0; - if (!($5605)) { - break; - } - $5607 = HEAP32[$pIn1>>2]|0; - $5608 = (($5607) + (($5606*40)|0)|0); - $5609 = (_sqlite3VdbeIntValue($5608)|0); - $5610 = tempRet0; - $5611 = HEAP32[$j82>>2]|0; - $5612 = HEAP32[$aRoot>>2]|0; - $5613 = (($5612) + ($5611<<2)|0); - HEAP32[$5613>>2] = $5609; - $5614 = HEAP32[$j82>>2]|0; - $5615 = (($5614) + 1)|0; - HEAP32[$j82>>2] = $5615; - } - $5616 = HEAP32[$aRoot>>2]|0; - $5617 = (($5616) + ($5606<<2)|0); - HEAP32[$5617>>2] = 0; - $5618 = HEAP32[$pOp>>2]|0; - $5619 = ((($5618)) + 3|0); - $5620 = HEAP8[$5619>>0]|0; - $5621 = $5620&255; - $5622 = HEAP32[$db>>2]|0; - $5623 = ((($5622)) + 16|0); - $5624 = HEAP32[$5623>>2]|0; - $5625 = (($5624) + ($5621<<4)|0); - $5626 = ((($5625)) + 4|0); - $5627 = HEAP32[$5626>>2]|0; - $5628 = HEAP32[$aRoot>>2]|0; - $5629 = HEAP32[$nRoot>>2]|0; - $5630 = HEAP32[$pnErr>>2]|0; - $5631 = $5630; - $5632 = $5631; + $5628 = HEAP32[$pOp>>2]|0; + $5629 = ((($5628)) + 8|0); + $5630 = HEAP32[$5629>>2]|0; + HEAP32[$nRoot>>2] = $5630; + $5631 = HEAP32[$pOp>>2]|0; + $5632 = ((($5631)) + 16|0); $5633 = HEAP32[$5632>>2]|0; - $5634 = (($5631) + 4)|0; - $5635 = $5634; + HEAP32[$aRoot>>2] = $5633; + $5634 = HEAP32[$pOp>>2]|0; + $5635 = ((($5634)) + 12|0); $5636 = HEAP32[$5635>>2]|0; - $5637 = (_sqlite3BtreeIntegrityCheck($5627,$5628,$5629,$5633,$nErr)|0); - HEAP32[$z>>2] = $5637; - $5638 = HEAP32[$db>>2]|0; - $5639 = HEAP32[$aRoot>>2]|0; - _sqlite3DbFree($5638,$5639); - $5640 = HEAP32[$nErr>>2]|0; - $5641 = ($5640|0)<(0); - $5642 = $5641 << 31 >> 31; - $5643 = HEAP32[$pnErr>>2]|0; - $5644 = $5643; - $5645 = $5644; - $5646 = HEAP32[$5645>>2]|0; - $5647 = (($5644) + 4)|0; - $5648 = $5647; - $5649 = HEAP32[$5648>>2]|0; - $5650 = (_i64Subtract(($5646|0),($5649|0),($5640|0),($5642|0))|0); - $5651 = tempRet0; - $5652 = $5643; - $5653 = $5652; - HEAP32[$5653>>2] = $5650; - $5654 = (($5652) + 4)|0; - $5655 = $5654; - HEAP32[$5655>>2] = $5651; - $5656 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetNull($5656); - $5657 = HEAP32[$nErr>>2]|0; - $5658 = ($5657|0)==(0); - if (!($5658)) { - $5659 = HEAP32[$z>>2]|0; - $5660 = ($5659|0)==(0|0); - if ($5660) { - label = 860; + $5637 = HEAP32[$aMem>>2]|0; + $5638 = (($5637) + (($5636*40)|0)|0); + HEAP32[$pnErr>>2] = $5638; + $5639 = HEAP32[$pOp>>2]|0; + $5640 = ((($5639)) + 4|0); + $5641 = HEAP32[$5640>>2]|0; + $5642 = HEAP32[$aMem>>2]|0; + $5643 = (($5642) + (($5641*40)|0)|0); + HEAP32[$pIn1>>2] = $5643; + $5644 = HEAP32[$pOp>>2]|0; + $5645 = ((($5644)) + 3|0); + $5646 = HEAP8[$5645>>0]|0; + $5647 = $5646&255; + $5648 = HEAP32[$db>>2]|0; + $5649 = ((($5648)) + 16|0); + $5650 = HEAP32[$5649>>2]|0; + $5651 = (($5650) + ($5647<<4)|0); + $5652 = ((($5651)) + 4|0); + $5653 = HEAP32[$5652>>2]|0; + $5654 = HEAP32[$aRoot>>2]|0; + $5655 = HEAP32[$nRoot>>2]|0; + $5656 = HEAP32[$pnErr>>2]|0; + $5657 = $5656; + $5658 = $5657; + $5659 = HEAP32[$5658>>2]|0; + $5660 = (($5657) + 4)|0; + $5661 = $5660; + $5662 = HEAP32[$5661>>2]|0; + $5663 = (_sqlite3BtreeIntegrityCheck($5653,$5654,$5655,$5659,$nErr)|0); + HEAP32[$z>>2] = $5663; + $5664 = HEAP32[$nErr>>2]|0; + $5665 = ($5664|0)<(0); + $5666 = $5665 << 31 >> 31; + $5667 = HEAP32[$pnErr>>2]|0; + $5668 = $5667; + $5669 = $5668; + $5670 = HEAP32[$5669>>2]|0; + $5671 = (($5668) + 4)|0; + $5672 = $5671; + $5673 = HEAP32[$5672>>2]|0; + $5674 = (_i64Subtract(($5670|0),($5673|0),($5664|0),($5666|0))|0); + $5675 = tempRet0; + $5676 = $5667; + $5677 = $5676; + HEAP32[$5677>>2] = $5674; + $5678 = (($5676) + 4)|0; + $5679 = $5678; + HEAP32[$5679>>2] = $5675; + $5680 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetNull($5680); + $5681 = HEAP32[$nErr>>2]|0; + $5682 = ($5681|0)==(0); + if (!($5682)) { + $5683 = HEAP32[$z>>2]|0; + $5684 = ($5683|0)==(0|0); + if ($5684) { + label = 883; break L1; } - $5661 = HEAP32[$pIn1>>2]|0; - $5662 = HEAP32[$z>>2]|0; - (_sqlite3VdbeMemSetStr($5661,$5662,-1,1,148)|0); + $5685 = HEAP32[$pIn1>>2]|0; + $5686 = HEAP32[$z>>2]|0; + (_sqlite3VdbeMemSetStr($5685,$5686,-1,1,148)|0); } - $5663 = HEAP32[$pIn1>>2]|0; - $5664 = HEAP8[$encoding>>0]|0; - $5665 = $5664&255; - (_sqlite3VdbeChangeEncoding($5663,$5665)|0); + $5687 = HEAP32[$pIn1>>2]|0; + $5688 = HEAP8[$encoding>>0]|0; + $5689 = $5688&255; + (_sqlite3VdbeChangeEncoding($5687,$5689)|0); break; } case 129: { - $5666 = HEAP32[$pOp>>2]|0; - $5667 = ((($5666)) + 4|0); - $5668 = HEAP32[$5667>>2]|0; - $5669 = HEAP32[$aMem>>2]|0; - $5670 = (($5669) + (($5668*40)|0)|0); - HEAP32[$pIn1>>2] = $5670; - $5671 = HEAP32[$pOp>>2]|0; - $5672 = ((($5671)) + 8|0); - $5673 = HEAP32[$5672>>2]|0; - $5674 = HEAP32[$aMem>>2]|0; - $5675 = (($5674) + (($5673*40)|0)|0); - HEAP32[$pIn2>>2] = $5675; - $5676 = HEAP32[$pIn1>>2]|0; - $5677 = ((($5676)) + 8|0); - $5678 = HEAP16[$5677>>1]|0; - $5679 = $5678&65535; - $5680 = $5679 & 32; - $5681 = ($5680|0)==(0); - if ($5681) { - $5682 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetRowSet($5682); - $5683 = HEAP32[$pIn1>>2]|0; - $5684 = ((($5683)) + 8|0); - $5685 = HEAP16[$5684>>1]|0; - $5686 = $5685&65535; - $5687 = $5686 & 32; - $5688 = ($5687|0)==(0); - if ($5688) { - label = 860; + $5690 = HEAP32[$pOp>>2]|0; + $5691 = ((($5690)) + 4|0); + $5692 = HEAP32[$5691>>2]|0; + $5693 = HEAP32[$aMem>>2]|0; + $5694 = (($5693) + (($5692*40)|0)|0); + HEAP32[$pIn1>>2] = $5694; + $5695 = HEAP32[$pOp>>2]|0; + $5696 = ((($5695)) + 8|0); + $5697 = HEAP32[$5696>>2]|0; + $5698 = HEAP32[$aMem>>2]|0; + $5699 = (($5698) + (($5697*40)|0)|0); + HEAP32[$pIn2>>2] = $5699; + $5700 = HEAP32[$pIn1>>2]|0; + $5701 = ((($5700)) + 8|0); + $5702 = HEAP16[$5701>>1]|0; + $5703 = $5702&65535; + $5704 = $5703 & 32; + $5705 = ($5704|0)==(0); + if ($5705) { + $5706 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetRowSet($5706); + $5707 = HEAP32[$pIn1>>2]|0; + $5708 = ((($5707)) + 8|0); + $5709 = HEAP16[$5708>>1]|0; + $5710 = $5709&65535; + $5711 = $5710 & 32; + $5712 = ($5711|0)==(0); + if ($5712) { + label = 883; break L1; } } - $5689 = HEAP32[$pIn1>>2]|0; - $5690 = HEAP32[$5689>>2]|0; - $5691 = HEAP32[$pIn2>>2]|0; - $5692 = $5691; - $5693 = $5692; - $5694 = HEAP32[$5693>>2]|0; - $5695 = (($5692) + 4)|0; - $5696 = $5695; - $5697 = HEAP32[$5696>>2]|0; - _sqlite3RowSetInsert($5690,$5694,$5697); + $5713 = HEAP32[$pIn1>>2]|0; + $5714 = HEAP32[$5713>>2]|0; + $5715 = HEAP32[$pIn2>>2]|0; + $5716 = $5715; + $5717 = $5716; + $5718 = HEAP32[$5717>>2]|0; + $5719 = (($5716) + 4)|0; + $5720 = $5719; + $5721 = HEAP32[$5720>>2]|0; + _sqlite3RowSetInsert($5714,$5718,$5721); break; } case 130: { - $5698 = HEAP32[$pOp>>2]|0; - $5699 = ((($5698)) + 4|0); - $5700 = HEAP32[$5699>>2]|0; - $5701 = HEAP32[$aMem>>2]|0; - $5702 = (($5701) + (($5700*40)|0)|0); - HEAP32[$pIn1>>2] = $5702; - $5703 = HEAP32[$pIn1>>2]|0; - $5704 = ((($5703)) + 8|0); - $5705 = HEAP16[$5704>>1]|0; - $5706 = $5705&65535; - $5707 = $5706 & 32; - $5708 = ($5707|0)==(0); - if (!($5708)) { - $5709 = HEAP32[$pIn1>>2]|0; - $5710 = HEAP32[$5709>>2]|0; - $5711 = (_sqlite3RowSetNext($5710,$val)|0); - $5712 = ($5711|0)==(0); - if (!($5712)) { - $5714 = HEAP32[$pOp>>2]|0; - $5715 = ((($5714)) + 12|0); - $5716 = HEAP32[$5715>>2]|0; - $5717 = HEAP32[$aMem>>2]|0; - $5718 = (($5717) + (($5716*40)|0)|0); - $5719 = $val; - $5720 = $5719; - $5721 = HEAP32[$5720>>2]|0; - $5722 = (($5719) + 4)|0; - $5723 = $5722; - $5724 = HEAP32[$5723>>2]|0; - _sqlite3VdbeMemSetInt64($5718,$5721,$5724); - label = 9; - break L11; + $5722 = HEAP32[$pOp>>2]|0; + $5723 = ((($5722)) + 4|0); + $5724 = HEAP32[$5723>>2]|0; + $5725 = HEAP32[$aMem>>2]|0; + $5726 = (($5725) + (($5724*40)|0)|0); + HEAP32[$pIn1>>2] = $5726; + $5727 = HEAP32[$pIn1>>2]|0; + $5728 = ((($5727)) + 8|0); + $5729 = HEAP16[$5728>>1]|0; + $5730 = $5729&65535; + $5731 = $5730 & 32; + $5732 = ($5731|0)==(0); + if (!($5732)) { + $5733 = HEAP32[$pIn1>>2]|0; + $5734 = HEAP32[$5733>>2]|0; + $5735 = (_sqlite3RowSetNext($5734,$val)|0); + $5736 = ($5735|0)==(0); + if (!($5736)) { + $5738 = HEAP32[$pOp>>2]|0; + $5739 = ((($5738)) + 12|0); + $5740 = HEAP32[$5739>>2]|0; + $5741 = HEAP32[$aMem>>2]|0; + $5742 = (($5741) + (($5740*40)|0)|0); + $5743 = $val; + $5744 = $5743; + $5745 = HEAP32[$5744>>2]|0; + $5746 = (($5743) + 4)|0; + $5747 = $5746; + $5748 = HEAP32[$5747>>2]|0; + _sqlite3VdbeMemSetInt64($5742,$5745,$5748); + label = 8; + break L10; } } - $5713 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetNull($5713); - label = 8; + $5737 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetNull($5737); + label = 7; break; } case 131: { - $5725 = HEAP32[$pOp>>2]|0; - $5726 = ((($5725)) + 4|0); - $5727 = HEAP32[$5726>>2]|0; - $5728 = HEAP32[$aMem>>2]|0; - $5729 = (($5728) + (($5727*40)|0)|0); - HEAP32[$pIn1>>2] = $5729; - $5730 = HEAP32[$pOp>>2]|0; - $5731 = ((($5730)) + 12|0); - $5732 = HEAP32[$5731>>2]|0; - $5733 = HEAP32[$aMem>>2]|0; - $5734 = (($5733) + (($5732*40)|0)|0); - HEAP32[$pIn3>>2] = $5734; - $5735 = HEAP32[$pOp>>2]|0; - $5736 = ((($5735)) + 16|0); - $5737 = HEAP32[$5736>>2]|0; - HEAP32[$iSet>>2] = $5737; - $5738 = HEAP32[$pIn1>>2]|0; - $5739 = ((($5738)) + 8|0); - $5740 = HEAP16[$5739>>1]|0; - $5741 = $5740&65535; - $5742 = $5741 & 32; - $5743 = ($5742|0)==(0); - if ($5743) { - $5744 = HEAP32[$pIn1>>2]|0; - _sqlite3VdbeMemSetRowSet($5744); - $5745 = HEAP32[$pIn1>>2]|0; - $5746 = ((($5745)) + 8|0); - $5747 = HEAP16[$5746>>1]|0; - $5748 = $5747&65535; - $5749 = $5748 & 32; - $5750 = ($5749|0)==(0); - if ($5750) { - label = 860; + $5749 = HEAP32[$pOp>>2]|0; + $5750 = ((($5749)) + 4|0); + $5751 = HEAP32[$5750>>2]|0; + $5752 = HEAP32[$aMem>>2]|0; + $5753 = (($5752) + (($5751*40)|0)|0); + HEAP32[$pIn1>>2] = $5753; + $5754 = HEAP32[$pOp>>2]|0; + $5755 = ((($5754)) + 12|0); + $5756 = HEAP32[$5755>>2]|0; + $5757 = HEAP32[$aMem>>2]|0; + $5758 = (($5757) + (($5756*40)|0)|0); + HEAP32[$pIn3>>2] = $5758; + $5759 = HEAP32[$pOp>>2]|0; + $5760 = ((($5759)) + 16|0); + $5761 = HEAP32[$5760>>2]|0; + HEAP32[$iSet>>2] = $5761; + $5762 = HEAP32[$pIn1>>2]|0; + $5763 = ((($5762)) + 8|0); + $5764 = HEAP16[$5763>>1]|0; + $5765 = $5764&65535; + $5766 = $5765 & 32; + $5767 = ($5766|0)==(0); + if ($5767) { + $5768 = HEAP32[$pIn1>>2]|0; + _sqlite3VdbeMemSetRowSet($5768); + $5769 = HEAP32[$pIn1>>2]|0; + $5770 = ((($5769)) + 8|0); + $5771 = HEAP16[$5770>>1]|0; + $5772 = $5771&65535; + $5773 = $5772 & 32; + $5774 = ($5773|0)==(0); + if ($5774) { + label = 883; break L1; } } - $5751 = HEAP32[$iSet>>2]|0; - $5752 = ($5751|0)!=(0); - if ($5752) { - $5753 = HEAP32[$pIn1>>2]|0; - $5754 = HEAP32[$5753>>2]|0; - $5755 = HEAP32[$iSet>>2]|0; - $5756 = HEAP32[$pIn3>>2]|0; - $5757 = $5756; - $5758 = $5757; - $5759 = HEAP32[$5758>>2]|0; - $5760 = (($5757) + 4)|0; - $5761 = $5760; - $5762 = HEAP32[$5761>>2]|0; - $5763 = (_sqlite3RowSetTest($5754,$5755,$5759,$5762)|0); - HEAP32[$exists>>2] = $5763; - $5764 = HEAP32[$exists>>2]|0; - $5765 = ($5764|0)!=(0); - if ($5765) { - label = 15; - break L11; + $5775 = HEAP32[$iSet>>2]|0; + $5776 = ($5775|0)!=(0); + if ($5776) { + $5777 = HEAP32[$pIn1>>2]|0; + $5778 = HEAP32[$5777>>2]|0; + $5779 = HEAP32[$iSet>>2]|0; + $5780 = HEAP32[$pIn3>>2]|0; + $5781 = $5780; + $5782 = $5781; + $5783 = HEAP32[$5782>>2]|0; + $5784 = (($5781) + 4)|0; + $5785 = $5784; + $5786 = HEAP32[$5785>>2]|0; + $5787 = (_sqlite3RowSetTest($5778,$5779,$5783,$5786)|0); + HEAP32[$exists>>2] = $5787; + $5788 = HEAP32[$exists>>2]|0; + $5789 = ($5788|0)!=(0); + if ($5789) { + label = 14; + break L10; } } - $5766 = HEAP32[$iSet>>2]|0; - $5767 = ($5766|0)>=(0); - if ($5767) { - $5768 = HEAP32[$pIn1>>2]|0; - $5769 = HEAP32[$5768>>2]|0; - $5770 = HEAP32[$pIn3>>2]|0; - $5771 = $5770; - $5772 = $5771; - $5773 = HEAP32[$5772>>2]|0; - $5774 = (($5771) + 4)|0; - $5775 = $5774; - $5776 = HEAP32[$5775>>2]|0; - _sqlite3RowSetInsert($5769,$5773,$5776); + $5790 = HEAP32[$iSet>>2]|0; + $5791 = ($5790|0)>=(0); + if ($5791) { + $5792 = HEAP32[$pIn1>>2]|0; + $5793 = HEAP32[$5792>>2]|0; + $5794 = HEAP32[$pIn3>>2]|0; + $5795 = $5794; + $5796 = $5795; + $5797 = HEAP32[$5796>>2]|0; + $5798 = (($5795) + 4)|0; + $5799 = $5798; + $5800 = HEAP32[$5799>>2]|0; + _sqlite3RowSetInsert($5793,$5797,$5800); } break; } case 132: { - $5777 = HEAP32[$pOp>>2]|0; - $5778 = ((($5777)) + 16|0); - $5779 = HEAP32[$5778>>2]|0; - HEAP32[$pProgram>>2] = $5779; - $5780 = HEAP32[$pOp>>2]|0; - $5781 = ((($5780)) + 12|0); - $5782 = HEAP32[$5781>>2]|0; - $5783 = HEAP32[$aMem>>2]|0; - $5784 = (($5783) + (($5782*40)|0)|0); - HEAP32[$pRt>>2] = $5784; - $5785 = HEAP32[$pOp>>2]|0; - $5786 = ((($5785)) + 3|0); - $5787 = HEAP8[$5786>>0]|0; - $5788 = ($5787<<24>>24)!=(0); - if ($5788) { - $5789 = HEAP32[$pProgram>>2]|0; - $5790 = ((($5789)) + 20|0); - $5791 = HEAP32[$5790>>2]|0; - HEAP32[$t86>>2] = $5791; - $5792 = HEAP32[$0>>2]|0; - $5793 = ((($5792)) + 176|0); - $5794 = HEAP32[$5793>>2]|0; - HEAP32[$pFrame85>>2] = $5794; + $5801 = HEAP32[$pOp>>2]|0; + $5802 = ((($5801)) + 16|0); + $5803 = HEAP32[$5802>>2]|0; + HEAP32[$pProgram>>2] = $5803; + $5804 = HEAP32[$pOp>>2]|0; + $5805 = ((($5804)) + 12|0); + $5806 = HEAP32[$5805>>2]|0; + $5807 = HEAP32[$aMem>>2]|0; + $5808 = (($5807) + (($5806*40)|0)|0); + HEAP32[$pRt>>2] = $5808; + $5809 = HEAP32[$pOp>>2]|0; + $5810 = ((($5809)) + 3|0); + $5811 = HEAP8[$5810>>0]|0; + $5812 = ($5811<<24>>24)!=(0); + if ($5812) { + $5813 = HEAP32[$pProgram>>2]|0; + $5814 = ((($5813)) + 20|0); + $5815 = HEAP32[$5814>>2]|0; + HEAP32[$t85>>2] = $5815; + $5816 = HEAP32[$0>>2]|0; + $5817 = ((($5816)) + 176|0); + $5818 = HEAP32[$5817>>2]|0; + HEAP32[$pFrame84>>2] = $5818; while(1) { - $5795 = HEAP32[$pFrame85>>2]|0; - $5796 = ($5795|0)!=(0|0); - if (!($5796)) { + $5819 = HEAP32[$pFrame84>>2]|0; + $5820 = ($5819|0)!=(0|0); + if (!($5820)) { break; } - $5797 = HEAP32[$pFrame85>>2]|0; - $5798 = ((($5797)) + 28|0); - $5799 = HEAP32[$5798>>2]|0; - $5800 = HEAP32[$t86>>2]|0; - $5801 = ($5799|0)!=($5800|0); - if (!($5801)) { + $5821 = HEAP32[$pFrame84>>2]|0; + $5822 = ((($5821)) + 28|0); + $5823 = HEAP32[$5822>>2]|0; + $5824 = HEAP32[$t85>>2]|0; + $5825 = ($5823|0)!=($5824|0); + if (!($5825)) { break; } - $5802 = HEAP32[$pFrame85>>2]|0; - $5803 = ((($5802)) + 4|0); - $5804 = HEAP32[$5803>>2]|0; - HEAP32[$pFrame85>>2] = $5804; + $5826 = HEAP32[$pFrame84>>2]|0; + $5827 = ((($5826)) + 4|0); + $5828 = HEAP32[$5827>>2]|0; + HEAP32[$pFrame84>>2] = $5828; } - $5805 = HEAP32[$pFrame85>>2]|0; - $5806 = ($5805|0)!=(0|0); - if ($5806) { - break L11; + $5829 = HEAP32[$pFrame84>>2]|0; + $5830 = ($5829|0)!=(0|0); + if ($5830) { + break L10; } } - $5807 = HEAP32[$0>>2]|0; - $5808 = ((($5807)) + 184|0); - $5809 = HEAP32[$5808>>2]|0; - $5810 = HEAP32[$db>>2]|0; - $5811 = ((($5810)) + 88|0); - $5812 = ((($5811)) + 40|0); - $5813 = HEAP32[$5812>>2]|0; - $5814 = ($5809|0)>=($5813|0); - if ($5814) { - HEAP32[$rc>>2] = 1; - $5815 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($5815,41148,$vararg_buffer62); - break L11; + $5831 = HEAP32[$0>>2]|0; + $5832 = ((($5831)) + 184|0); + $5833 = HEAP32[$5832>>2]|0; + $5834 = HEAP32[$db>>2]|0; + $5835 = ((($5834)) + 92|0); + $5836 = ((($5835)) + 40|0); + $5837 = HEAP32[$5836>>2]|0; + $5838 = ($5833|0)>=($5837|0); + if ($5838) { + label = 713; + break L8; } - $5816 = HEAP32[$pRt>>2]|0; - $5817 = ((($5816)) + 8|0); - $5818 = HEAP16[$5817>>1]|0; - $5819 = $5818&65535; - $5820 = $5819 & 64; - $5821 = ($5820|0)==(0); - L800: do { - if ($5821) { - $5822 = HEAP32[$pProgram>>2]|0; - $5823 = ((($5822)) + 8|0); - $5824 = HEAP32[$5823>>2]|0; - $5825 = HEAP32[$pProgram>>2]|0; - $5826 = ((($5825)) + 12|0); - $5827 = HEAP32[$5826>>2]|0; - $5828 = (($5824) + ($5827))|0; - HEAP32[$nMem>>2] = $5828; - $5829 = HEAP32[$nMem>>2]|0; - $5830 = ($5829*40)|0; - $5831 = (80 + ($5830))|0; - $5832 = HEAP32[$pProgram>>2]|0; - $5833 = ((($5832)) + 12|0); - $5834 = HEAP32[$5833>>2]|0; - $5835 = $5834<<2; - $5836 = (($5831) + ($5835))|0; - $5837 = HEAP32[$pProgram>>2]|0; - $5838 = ((($5837)) + 16|0); - $5839 = HEAP32[$5838>>2]|0; - $5840 = $5839; - $5841 = (($5836) + ($5840))|0; - HEAP32[$nByte83>>2] = $5841; - $5842 = HEAP32[$db>>2]|0; - $5843 = HEAP32[$nByte83>>2]|0; - $5844 = ($5843|0)<(0); - $5845 = $5844 << 31 >> 31; - $5846 = (_sqlite3DbMallocZero($5842,$5843,$5845)|0); - HEAP32[$pFrame85>>2] = $5846; - $5847 = HEAP32[$pFrame85>>2]|0; - $5848 = ($5847|0)!=(0|0); - if (!($5848)) { - label = 860; + $5840 = HEAP32[$pRt>>2]|0; + $5841 = ((($5840)) + 8|0); + $5842 = HEAP16[$5841>>1]|0; + $5843 = $5842&65535; + $5844 = $5843 & 64; + $5845 = ($5844|0)==(0); + L787: do { + if ($5845) { + $5846 = HEAP32[$pProgram>>2]|0; + $5847 = ((($5846)) + 8|0); + $5848 = HEAP32[$5847>>2]|0; + $5849 = HEAP32[$pProgram>>2]|0; + $5850 = ((($5849)) + 12|0); + $5851 = HEAP32[$5850>>2]|0; + $5852 = (($5848) + ($5851))|0; + HEAP32[$nMem>>2] = $5852; + $5853 = HEAP32[$pProgram>>2]|0; + $5854 = ((($5853)) + 12|0); + $5855 = HEAP32[$5854>>2]|0; + $5856 = ($5855|0)==(0); + if ($5856) { + $5857 = HEAP32[$nMem>>2]|0; + $5858 = (($5857) + 1)|0; + HEAP32[$nMem>>2] = $5858; + } + $5859 = HEAP32[$nMem>>2]|0; + $5860 = ($5859*40)|0; + $5861 = (80 + ($5860))|0; + $5862 = HEAP32[$pProgram>>2]|0; + $5863 = ((($5862)) + 12|0); + $5864 = HEAP32[$5863>>2]|0; + $5865 = $5864<<2; + $5866 = (($5861) + ($5865))|0; + $5867 = HEAP32[$pProgram>>2]|0; + $5868 = ((($5867)) + 16|0); + $5869 = HEAP32[$5868>>2]|0; + $5870 = $5869; + $5871 = (($5866) + ($5870))|0; + HEAP32[$nByte82>>2] = $5871; + $5872 = HEAP32[$db>>2]|0; + $5873 = HEAP32[$nByte82>>2]|0; + $5874 = ($5873|0)<(0); + $5875 = $5874 << 31 >> 31; + $5876 = (_sqlite3DbMallocZero($5872,$5873,$5875)|0); + HEAP32[$pFrame84>>2] = $5876; + $5877 = HEAP32[$pFrame84>>2]|0; + $5878 = ($5877|0)!=(0|0); + if (!($5878)) { + label = 883; break L1; } - $5849 = HEAP32[$pRt>>2]|0; - _sqlite3VdbeMemRelease($5849); - $5850 = HEAP32[$pRt>>2]|0; - $5851 = ((($5850)) + 8|0); - HEAP16[$5851>>1] = 64; - $5852 = HEAP32[$pFrame85>>2]|0; - $5853 = HEAP32[$pRt>>2]|0; - HEAP32[$5853>>2] = $5852; - $5854 = HEAP32[$0>>2]|0; - $5855 = HEAP32[$pFrame85>>2]|0; - HEAP32[$5855>>2] = $5854; - $5856 = HEAP32[$nMem>>2]|0; - $5857 = HEAP32[$pFrame85>>2]|0; - $5858 = ((($5857)) + 60|0); - HEAP32[$5858>>2] = $5856; - $5859 = HEAP32[$pProgram>>2]|0; - $5860 = ((($5859)) + 12|0); - $5861 = HEAP32[$5860>>2]|0; - $5862 = HEAP32[$pFrame85>>2]|0; - $5863 = ((($5862)) + 64|0); - HEAP32[$5863>>2] = $5861; - $5864 = HEAP32[$pOp>>2]|0; - $5865 = HEAP32[$aOp>>2]|0; - $5866 = $5864; - $5867 = $5865; - $5868 = (($5866) - ($5867))|0; - $5869 = (($5868|0) / 20)&-1; - $5870 = HEAP32[$pFrame85>>2]|0; - $5871 = ((($5870)) + 44|0); - HEAP32[$5871>>2] = $5869; - $5872 = HEAP32[$0>>2]|0; - $5873 = ((($5872)) + 8|0); - $5874 = HEAP32[$5873>>2]|0; - $5875 = HEAP32[$pFrame85>>2]|0; - $5876 = ((($5875)) + 16|0); - HEAP32[$5876>>2] = $5874; - $5877 = HEAP32[$0>>2]|0; - $5878 = ((($5877)) + 28|0); - $5879 = HEAP32[$5878>>2]|0; - $5880 = HEAP32[$pFrame85>>2]|0; - $5881 = ((($5880)) + 52|0); - HEAP32[$5881>>2] = $5879; - $5882 = HEAP32[$0>>2]|0; - $5883 = ((($5882)) + 56|0); - $5884 = HEAP32[$5883>>2]|0; - $5885 = HEAP32[$pFrame85>>2]|0; - $5886 = ((($5885)) + 24|0); - HEAP32[$5886>>2] = $5884; - $5887 = HEAP32[$0>>2]|0; - $5888 = ((($5887)) + 36|0); - $5889 = HEAP32[$5888>>2]|0; - $5890 = HEAP32[$pFrame85>>2]|0; - $5891 = ((($5890)) + 40|0); - HEAP32[$5891>>2] = $5889; - $5892 = HEAP32[$0>>2]|0; - $5893 = ((($5892)) + 4|0); - $5894 = HEAP32[$5893>>2]|0; - $5895 = HEAP32[$pFrame85>>2]|0; - $5896 = ((($5895)) + 8|0); - HEAP32[$5896>>2] = $5894; - $5897 = HEAP32[$0>>2]|0; - $5898 = ((($5897)) + 32|0); - $5899 = HEAP32[$5898>>2]|0; - $5900 = HEAP32[$pFrame85>>2]|0; + $5879 = HEAP32[$pRt>>2]|0; + _sqlite3VdbeMemRelease($5879); + $5880 = HEAP32[$pRt>>2]|0; + $5881 = ((($5880)) + 8|0); + HEAP16[$5881>>1] = 64; + $5882 = HEAP32[$pFrame84>>2]|0; + $5883 = HEAP32[$pRt>>2]|0; + HEAP32[$5883>>2] = $5882; + $5884 = HEAP32[$0>>2]|0; + $5885 = HEAP32[$pFrame84>>2]|0; + HEAP32[$5885>>2] = $5884; + $5886 = HEAP32[$nMem>>2]|0; + $5887 = HEAP32[$pFrame84>>2]|0; + $5888 = ((($5887)) + 64|0); + HEAP32[$5888>>2] = $5886; + $5889 = HEAP32[$pProgram>>2]|0; + $5890 = ((($5889)) + 12|0); + $5891 = HEAP32[$5890>>2]|0; + $5892 = HEAP32[$pFrame84>>2]|0; + $5893 = ((($5892)) + 68|0); + HEAP32[$5893>>2] = $5891; + $5894 = HEAP32[$pOp>>2]|0; + $5895 = HEAP32[$aOp>>2]|0; + $5896 = $5894; + $5897 = $5895; + $5898 = (($5896) - ($5897))|0; + $5899 = (($5898|0) / 20)&-1; + $5900 = HEAP32[$pFrame84>>2]|0; $5901 = ((($5900)) + 48|0); HEAP32[$5901>>2] = $5899; - $5902 = HEAP32[$pProgram>>2]|0; - $5903 = ((($5902)) + 20|0); + $5902 = HEAP32[$0>>2]|0; + $5903 = ((($5902)) + 8|0); $5904 = HEAP32[$5903>>2]|0; - $5905 = HEAP32[$pFrame85>>2]|0; - $5906 = ((($5905)) + 28|0); + $5905 = HEAP32[$pFrame84>>2]|0; + $5906 = ((($5905)) + 16|0); HEAP32[$5906>>2] = $5904; $5907 = HEAP32[$0>>2]|0; - $5908 = ((($5907)) + 200|0); + $5908 = ((($5907)) + 28|0); $5909 = HEAP32[$5908>>2]|0; - $5910 = HEAP32[$pFrame85>>2]|0; - $5911 = ((($5910)) + 20|0); + $5910 = HEAP32[$pFrame84>>2]|0; + $5911 = ((($5910)) + 56|0); HEAP32[$5911>>2] = $5909; $5912 = HEAP32[$0>>2]|0; - $5913 = ((($5912)) + 196|0); + $5913 = ((($5912)) + 56|0); $5914 = HEAP32[$5913>>2]|0; - $5915 = HEAP32[$pFrame85>>2]|0; - $5916 = ((($5915)) + 56|0); + $5915 = HEAP32[$pFrame84>>2]|0; + $5916 = ((($5915)) + 24|0); HEAP32[$5916>>2] = $5914; - $5917 = HEAP32[$pFrame85>>2]|0; - $5918 = ((($5917)) + 60|0); + $5917 = HEAP32[$0>>2]|0; + $5918 = ((($5917)) + 36|0); $5919 = HEAP32[$5918>>2]|0; - $5920 = HEAP32[$pFrame85>>2]|0; - $5921 = ((($5920)) + 80|0); - $5922 = (($5921) + (($5919*40)|0)|0); - HEAP32[$pEnd>>2] = $5922; - $5923 = HEAP32[$pFrame85>>2]|0; - $5924 = ((($5923)) + 80|0); - HEAP32[$pMem84>>2] = $5924; + $5920 = HEAP32[$pFrame84>>2]|0; + $5921 = ((($5920)) + 44|0); + HEAP32[$5921>>2] = $5919; + $5922 = HEAP32[$0>>2]|0; + $5923 = ((($5922)) + 4|0); + $5924 = HEAP32[$5923>>2]|0; + $5925 = HEAP32[$pFrame84>>2]|0; + $5926 = ((($5925)) + 8|0); + HEAP32[$5926>>2] = $5924; + $5927 = HEAP32[$0>>2]|0; + $5928 = ((($5927)) + 32|0); + $5929 = HEAP32[$5928>>2]|0; + $5930 = HEAP32[$pFrame84>>2]|0; + $5931 = ((($5930)) + 52|0); + HEAP32[$5931>>2] = $5929; + $5932 = HEAP32[$pProgram>>2]|0; + $5933 = ((($5932)) + 20|0); + $5934 = HEAP32[$5933>>2]|0; + $5935 = HEAP32[$pFrame84>>2]|0; + $5936 = ((($5935)) + 28|0); + HEAP32[$5936>>2] = $5934; + $5937 = HEAP32[$0>>2]|0; + $5938 = ((($5937)) + 200|0); + $5939 = HEAP32[$5938>>2]|0; + $5940 = HEAP32[$pFrame84>>2]|0; + $5941 = ((($5940)) + 20|0); + HEAP32[$5941>>2] = $5939; + $5942 = HEAP32[$0>>2]|0; + $5943 = ((($5942)) + 196|0); + $5944 = HEAP32[$5943>>2]|0; + $5945 = HEAP32[$pFrame84>>2]|0; + $5946 = ((($5945)) + 60|0); + HEAP32[$5946>>2] = $5944; + $5947 = HEAP32[$pFrame84>>2]|0; + $5948 = ((($5947)) + 64|0); + $5949 = HEAP32[$5948>>2]|0; + $5950 = HEAP32[$pFrame84>>2]|0; + $5951 = ((($5950)) + 80|0); + $5952 = (($5951) + (($5949*40)|0)|0); + HEAP32[$pEnd>>2] = $5952; + $5953 = HEAP32[$pFrame84>>2]|0; + $5954 = ((($5953)) + 80|0); + HEAP32[$pMem83>>2] = $5954; while(1) { - $5925 = HEAP32[$pMem84>>2]|0; - $5926 = HEAP32[$pEnd>>2]|0; - $5927 = ($5925|0)!=($5926|0); - if (!($5927)) { - break L800; + $5955 = HEAP32[$pMem83>>2]|0; + $5956 = HEAP32[$pEnd>>2]|0; + $5957 = ($5955|0)!=($5956|0); + if (!($5957)) { + break L787; } - $5928 = HEAP32[$pMem84>>2]|0; - $5929 = ((($5928)) + 8|0); - HEAP16[$5929>>1] = 128; - $5930 = HEAP32[$db>>2]|0; - $5931 = HEAP32[$pMem84>>2]|0; - $5932 = ((($5931)) + 32|0); - HEAP32[$5932>>2] = $5930; - $5933 = HEAP32[$pMem84>>2]|0; - $5934 = ((($5933)) + 40|0); - HEAP32[$pMem84>>2] = $5934; + $5958 = HEAP32[$pMem83>>2]|0; + $5959 = ((($5958)) + 8|0); + HEAP16[$5959>>1] = 128; + $5960 = HEAP32[$db>>2]|0; + $5961 = HEAP32[$pMem83>>2]|0; + $5962 = ((($5961)) + 32|0); + HEAP32[$5962>>2] = $5960; + $5963 = HEAP32[$pMem83>>2]|0; + $5964 = ((($5963)) + 40|0); + HEAP32[$pMem83>>2] = $5964; } } else { - $5935 = HEAP32[$pRt>>2]|0; - $5936 = HEAP32[$5935>>2]|0; - HEAP32[$pFrame85>>2] = $5936; + $5965 = HEAP32[$pRt>>2]|0; + $5966 = HEAP32[$5965>>2]|0; + HEAP32[$pFrame84>>2] = $5966; } } while(0); - $5937 = HEAP32[$0>>2]|0; - $5938 = ((($5937)) + 184|0); - $5939 = HEAP32[$5938>>2]|0; - $5940 = (($5939) + 1)|0; - HEAP32[$5938>>2] = $5940; - $5941 = HEAP32[$0>>2]|0; - $5942 = ((($5941)) + 176|0); - $5943 = HEAP32[$5942>>2]|0; - $5944 = HEAP32[$pFrame85>>2]|0; - $5945 = ((($5944)) + 4|0); - HEAP32[$5945>>2] = $5943; - $5946 = $lastRowid; - $5947 = $5946; - $5948 = HEAP32[$5947>>2]|0; - $5949 = (($5946) + 4)|0; - $5950 = $5949; - $5951 = HEAP32[$5950>>2]|0; - $5952 = HEAP32[$pFrame85>>2]|0; - $5953 = ((($5952)) + 32|0); - $5954 = $5953; - $5955 = $5954; - HEAP32[$5955>>2] = $5948; - $5956 = (($5954) + 4)|0; - $5957 = $5956; - HEAP32[$5957>>2] = $5951; - $5958 = HEAP32[$0>>2]|0; - $5959 = ((($5958)) + 92|0); - $5960 = HEAP32[$5959>>2]|0; - $5961 = HEAP32[$pFrame85>>2]|0; - $5962 = ((($5961)) + 68|0); - HEAP32[$5962>>2] = $5960; - $5963 = HEAP32[$0>>2]|0; - $5964 = HEAP32[$5963>>2]|0; - $5965 = ((($5964)) + 80|0); - $5966 = HEAP32[$5965>>2]|0; - $5967 = HEAP32[$pFrame85>>2]|0; - $5968 = ((($5967)) + 72|0); - HEAP32[$5968>>2] = $5966; - $5969 = HEAP32[$0>>2]|0; - $5970 = ((($5969)) + 92|0); - HEAP32[$5970>>2] = 0; - $5971 = HEAP32[$pFrame85>>2]|0; - $5972 = HEAP32[$0>>2]|0; - $5973 = ((($5972)) + 176|0); - HEAP32[$5973>>2] = $5971; - $5974 = HEAP32[$pFrame85>>2]|0; - $5975 = ((($5974)) + 80|0); - $5976 = ((($5975)) + -40|0); - HEAP32[$aMem>>2] = $5976; - $5977 = HEAP32[$0>>2]|0; - $5978 = ((($5977)) + 8|0); - HEAP32[$5978>>2] = $5976; - $5979 = HEAP32[$pFrame85>>2]|0; - $5980 = ((($5979)) + 60|0); + $5967 = HEAP32[$0>>2]|0; + $5968 = ((($5967)) + 184|0); + $5969 = HEAP32[$5968>>2]|0; + $5970 = (($5969) + 1)|0; + HEAP32[$5968>>2] = $5970; + $5971 = HEAP32[$0>>2]|0; + $5972 = ((($5971)) + 176|0); + $5973 = HEAP32[$5972>>2]|0; + $5974 = HEAP32[$pFrame84>>2]|0; + $5975 = ((($5974)) + 4|0); + HEAP32[$5975>>2] = $5973; + $5976 = $lastRowid; + $5977 = $5976; + $5978 = HEAP32[$5977>>2]|0; + $5979 = (($5976) + 4)|0; + $5980 = $5979; $5981 = HEAP32[$5980>>2]|0; - $5982 = HEAP32[$0>>2]|0; - $5983 = ((($5982)) + 28|0); - HEAP32[$5983>>2] = $5981; - $5984 = HEAP32[$pFrame85>>2]|0; - $5985 = ((($5984)) + 64|0); - $5986 = HEAP32[$5985>>2]|0; - $5987 = $5986&65535; - $5988 = $5987&65535; - $5989 = HEAP32[$0>>2]|0; - $5990 = ((($5989)) + 36|0); - HEAP32[$5990>>2] = $5988; - $5991 = HEAP32[$0>>2]|0; - $5992 = ((($5991)) + 28|0); - $5993 = HEAP32[$5992>>2]|0; - $5994 = (($5993) + 1)|0; - $5995 = HEAP32[$aMem>>2]|0; - $5996 = (($5995) + (($5994*40)|0)|0); - $5997 = HEAP32[$0>>2]|0; - $5998 = ((($5997)) + 56|0); + $5982 = HEAP32[$pFrame84>>2]|0; + $5983 = ((($5982)) + 32|0); + $5984 = $5983; + $5985 = $5984; + HEAP32[$5985>>2] = $5978; + $5986 = (($5984) + 4)|0; + $5987 = $5986; + HEAP32[$5987>>2] = $5981; + $5988 = HEAP32[$0>>2]|0; + $5989 = ((($5988)) + 92|0); + $5990 = HEAP32[$5989>>2]|0; + $5991 = HEAP32[$pFrame84>>2]|0; + $5992 = ((($5991)) + 72|0); + HEAP32[$5992>>2] = $5990; + $5993 = HEAP32[$0>>2]|0; + $5994 = HEAP32[$5993>>2]|0; + $5995 = ((($5994)) + 84|0); + $5996 = HEAP32[$5995>>2]|0; + $5997 = HEAP32[$pFrame84>>2]|0; + $5998 = ((($5997)) + 76|0); HEAP32[$5998>>2] = $5996; - $5999 = HEAP32[$pProgram>>2]|0; - $6000 = HEAP32[$5999>>2]|0; - HEAP32[$aOp>>2] = $6000; - $6001 = HEAP32[$0>>2]|0; - $6002 = ((($6001)) + 4|0); - HEAP32[$6002>>2] = $6000; - $6003 = HEAP32[$pProgram>>2]|0; - $6004 = ((($6003)) + 4|0); - $6005 = HEAP32[$6004>>2]|0; + $5999 = HEAP32[$0>>2]|0; + $6000 = ((($5999)) + 204|0); + $6001 = HEAP32[$6000>>2]|0; + $6002 = HEAP32[$pFrame84>>2]|0; + $6003 = ((($6002)) + 40|0); + HEAP32[$6003>>2] = $6001; + $6004 = HEAP32[$0>>2]|0; + $6005 = ((($6004)) + 204|0); + HEAP32[$6005>>2] = 0; $6006 = HEAP32[$0>>2]|0; - $6007 = ((($6006)) + 32|0); - HEAP32[$6007>>2] = $6005; - $6008 = HEAP32[$0>>2]|0; - $6009 = ((($6008)) + 36|0); - $6010 = HEAP32[$6009>>2]|0; - $6011 = HEAP32[$0>>2]|0; - $6012 = ((($6011)) + 56|0); - $6013 = HEAP32[$6012>>2]|0; - $6014 = (($6013) + ($6010<<2)|0); - $6015 = HEAP32[$0>>2]|0; - $6016 = ((($6015)) + 200|0); - HEAP32[$6016>>2] = $6014; - $6017 = HEAP32[$pProgram>>2]|0; - $6018 = ((($6017)) + 16|0); - $6019 = HEAP32[$6018>>2]|0; - $6020 = HEAP32[$0>>2]|0; - $6021 = ((($6020)) + 196|0); - HEAP32[$6021>>2] = $6019; - $6022 = HEAP32[$aOp>>2]|0; - $6023 = ((($6022)) + -20|0); - HEAP32[$pOp>>2] = $6023; - $6024 = HEAP32[$0>>2]|0; - $6025 = ((($6024)) + 200|0); - $6026 = HEAP32[$6025>>2]|0; + $6007 = ((($6006)) + 92|0); + HEAP32[$6007>>2] = 0; + $6008 = HEAP32[$pFrame84>>2]|0; + $6009 = HEAP32[$0>>2]|0; + $6010 = ((($6009)) + 176|0); + HEAP32[$6010>>2] = $6008; + $6011 = HEAP32[$pFrame84>>2]|0; + $6012 = ((($6011)) + 80|0); + HEAP32[$aMem>>2] = $6012; + $6013 = HEAP32[$0>>2]|0; + $6014 = ((($6013)) + 8|0); + HEAP32[$6014>>2] = $6012; + $6015 = HEAP32[$pFrame84>>2]|0; + $6016 = ((($6015)) + 64|0); + $6017 = HEAP32[$6016>>2]|0; + $6018 = HEAP32[$0>>2]|0; + $6019 = ((($6018)) + 28|0); + HEAP32[$6019>>2] = $6017; + $6020 = HEAP32[$pFrame84>>2]|0; + $6021 = ((($6020)) + 68|0); + $6022 = HEAP32[$6021>>2]|0; + $6023 = $6022&65535; + $6024 = $6023&65535; + $6025 = HEAP32[$0>>2]|0; + $6026 = ((($6025)) + 36|0); + HEAP32[$6026>>2] = $6024; $6027 = HEAP32[$0>>2]|0; - $6028 = ((($6027)) + 196|0); + $6028 = ((($6027)) + 28|0); $6029 = HEAP32[$6028>>2]|0; - _memset(($6026|0),0,($6029|0))|0; + $6030 = HEAP32[$aMem>>2]|0; + $6031 = (($6030) + (($6029*40)|0)|0); + $6032 = HEAP32[$0>>2]|0; + $6033 = ((($6032)) + 56|0); + HEAP32[$6033>>2] = $6031; + $6034 = HEAP32[$pProgram>>2]|0; + $6035 = HEAP32[$6034>>2]|0; + HEAP32[$aOp>>2] = $6035; + $6036 = HEAP32[$0>>2]|0; + $6037 = ((($6036)) + 4|0); + HEAP32[$6037>>2] = $6035; + $6038 = HEAP32[$pProgram>>2]|0; + $6039 = ((($6038)) + 4|0); + $6040 = HEAP32[$6039>>2]|0; + $6041 = HEAP32[$0>>2]|0; + $6042 = ((($6041)) + 32|0); + HEAP32[$6042>>2] = $6040; + $6043 = HEAP32[$0>>2]|0; + $6044 = ((($6043)) + 36|0); + $6045 = HEAP32[$6044>>2]|0; + $6046 = HEAP32[$0>>2]|0; + $6047 = ((($6046)) + 56|0); + $6048 = HEAP32[$6047>>2]|0; + $6049 = (($6048) + ($6045<<2)|0); + $6050 = HEAP32[$0>>2]|0; + $6051 = ((($6050)) + 200|0); + HEAP32[$6051>>2] = $6049; + $6052 = HEAP32[$pProgram>>2]|0; + $6053 = ((($6052)) + 16|0); + $6054 = HEAP32[$6053>>2]|0; + $6055 = HEAP32[$0>>2]|0; + $6056 = ((($6055)) + 196|0); + HEAP32[$6056>>2] = $6054; + $6057 = HEAP32[$aOp>>2]|0; + $6058 = ((($6057)) + -20|0); + HEAP32[$pOp>>2] = $6058; + $6059 = HEAP32[$0>>2]|0; + $6060 = ((($6059)) + 200|0); + $6061 = HEAP32[$6060>>2]|0; + $6062 = HEAP32[$0>>2]|0; + $6063 = ((($6062)) + 196|0); + $6064 = HEAP32[$6063>>2]|0; + _memset(($6061|0),0,($6064|0))|0; break; } case 134: { - $6030 = HEAP32[$0>>2]|0; - $6031 = HEAP32[$pOp>>2]|0; - $6032 = (_out2Prerelease($6030,$6031)|0); - HEAP32[$pOut>>2] = $6032; - $6033 = HEAP32[$0>>2]|0; - $6034 = ((($6033)) + 176|0); - $6035 = HEAP32[$6034>>2]|0; - HEAP32[$pFrame87>>2] = $6035; - $6036 = HEAP32[$pOp>>2]|0; - $6037 = ((($6036)) + 4|0); - $6038 = HEAP32[$6037>>2]|0; - $6039 = HEAP32[$pFrame87>>2]|0; - $6040 = ((($6039)) + 44|0); - $6041 = HEAP32[$6040>>2]|0; - $6042 = HEAP32[$pFrame87>>2]|0; - $6043 = ((($6042)) + 8|0); - $6044 = HEAP32[$6043>>2]|0; - $6045 = (($6044) + (($6041*20)|0)|0); - $6046 = ((($6045)) + 4|0); - $6047 = HEAP32[$6046>>2]|0; - $6048 = (($6038) + ($6047))|0; - $6049 = HEAP32[$pFrame87>>2]|0; - $6050 = ((($6049)) + 16|0); - $6051 = HEAP32[$6050>>2]|0; - $6052 = (($6051) + (($6048*40)|0)|0); - HEAP32[$pIn>>2] = $6052; - $6053 = HEAP32[$pOut>>2]|0; - $6054 = HEAP32[$pIn>>2]|0; - _sqlite3VdbeMemShallowCopy($6053,$6054,4096); + $6065 = HEAP32[$0>>2]|0; + $6066 = HEAP32[$pOp>>2]|0; + $6067 = (_out2Prerelease($6065,$6066)|0); + HEAP32[$pOut>>2] = $6067; + $6068 = HEAP32[$0>>2]|0; + $6069 = ((($6068)) + 176|0); + $6070 = HEAP32[$6069>>2]|0; + HEAP32[$pFrame86>>2] = $6070; + $6071 = HEAP32[$pOp>>2]|0; + $6072 = ((($6071)) + 4|0); + $6073 = HEAP32[$6072>>2]|0; + $6074 = HEAP32[$pFrame86>>2]|0; + $6075 = ((($6074)) + 48|0); + $6076 = HEAP32[$6075>>2]|0; + $6077 = HEAP32[$pFrame86>>2]|0; + $6078 = ((($6077)) + 8|0); + $6079 = HEAP32[$6078>>2]|0; + $6080 = (($6079) + (($6076*20)|0)|0); + $6081 = ((($6080)) + 4|0); + $6082 = HEAP32[$6081>>2]|0; + $6083 = (($6073) + ($6082))|0; + $6084 = HEAP32[$pFrame86>>2]|0; + $6085 = ((($6084)) + 16|0); + $6086 = HEAP32[$6085>>2]|0; + $6087 = (($6086) + (($6083*40)|0)|0); + HEAP32[$pIn>>2] = $6087; + $6088 = HEAP32[$pOut>>2]|0; + $6089 = HEAP32[$pIn>>2]|0; + _sqlite3VdbeMemShallowCopy($6088,$6089,4096); break; } case 135: { - $6055 = HEAP32[$db>>2]|0; - $6056 = ((($6055)) + 24|0); - $6057 = HEAP32[$6056>>2]|0; - $6058 = $6057 & 16777216; - $6059 = ($6058|0)!=(0); - $6060 = HEAP32[$pOp>>2]|0; - if ($6059) { - $6061 = ((($6060)) + 8|0); - $6062 = HEAP32[$6061>>2]|0; - $6063 = ($6062|0)<(0); - $6064 = $6063 << 31 >> 31; - $6065 = HEAP32[$db>>2]|0; - $6066 = ((($6065)) + 520|0); - $6067 = $6066; - $6068 = $6067; - $6069 = HEAP32[$6068>>2]|0; - $6070 = (($6067) + 4)|0; - $6071 = $6070; - $6072 = HEAP32[$6071>>2]|0; - $6073 = (_i64Add(($6069|0),($6072|0),($6062|0),($6064|0))|0); - $6074 = tempRet0; - $6075 = $6066; - $6076 = $6075; - HEAP32[$6076>>2] = $6073; - $6077 = (($6075) + 4)|0; - $6078 = $6077; - HEAP32[$6078>>2] = $6074; - break L11; + $6090 = HEAP32[$db>>2]|0; + $6091 = ((($6090)) + 24|0); + $6092 = HEAP32[$6091>>2]|0; + $6093 = $6092 & 16777216; + $6094 = ($6093|0)!=(0); + $6095 = HEAP32[$pOp>>2]|0; + if ($6094) { + $6096 = ((($6095)) + 8|0); + $6097 = HEAP32[$6096>>2]|0; + $6098 = ($6097|0)<(0); + $6099 = $6098 << 31 >> 31; + $6100 = HEAP32[$db>>2]|0; + $6101 = ((($6100)) + 448|0); + $6102 = $6101; + $6103 = $6102; + $6104 = HEAP32[$6103>>2]|0; + $6105 = (($6102) + 4)|0; + $6106 = $6105; + $6107 = HEAP32[$6106>>2]|0; + $6108 = (_i64Add(($6104|0),($6107|0),($6097|0),($6099|0))|0); + $6109 = tempRet0; + $6110 = $6101; + $6111 = $6110; + HEAP32[$6111>>2] = $6108; + $6112 = (($6110) + 4)|0; + $6113 = $6112; + HEAP32[$6113>>2] = $6109; + break L10; } - $6079 = ((($6060)) + 4|0); - $6080 = HEAP32[$6079>>2]|0; - $6081 = ($6080|0)!=(0); - $6082 = HEAP32[$pOp>>2]|0; - $6083 = ((($6082)) + 8|0); - $6084 = HEAP32[$6083>>2]|0; - $6085 = ($6084|0)<(0); - $6086 = $6085 << 31 >> 31; - if ($6081) { - $6087 = HEAP32[$db>>2]|0; - $6088 = ((($6087)) + 512|0); - $6089 = $6088; - $6090 = $6089; - $6091 = HEAP32[$6090>>2]|0; - $6092 = (($6089) + 4)|0; - $6093 = $6092; - $6094 = HEAP32[$6093>>2]|0; - $6095 = (_i64Add(($6091|0),($6094|0),($6084|0),($6086|0))|0); - $6096 = tempRet0; - $6097 = $6088; - $6098 = $6097; - HEAP32[$6098>>2] = $6095; - $6099 = (($6097) + 4)|0; - $6100 = $6099; - HEAP32[$6100>>2] = $6096; - break L11; + $6114 = ((($6095)) + 4|0); + $6115 = HEAP32[$6114>>2]|0; + $6116 = ($6115|0)!=(0); + $6117 = HEAP32[$pOp>>2]|0; + $6118 = ((($6117)) + 8|0); + $6119 = HEAP32[$6118>>2]|0; + $6120 = ($6119|0)<(0); + $6121 = $6120 << 31 >> 31; + if ($6116) { + $6122 = HEAP32[$db>>2]|0; + $6123 = ((($6122)) + 440|0); + $6124 = $6123; + $6125 = $6124; + $6126 = HEAP32[$6125>>2]|0; + $6127 = (($6124) + 4)|0; + $6128 = $6127; + $6129 = HEAP32[$6128>>2]|0; + $6130 = (_i64Add(($6126|0),($6129|0),($6119|0),($6121|0))|0); + $6131 = tempRet0; + $6132 = $6123; + $6133 = $6132; + HEAP32[$6133>>2] = $6130; + $6134 = (($6132) + 4)|0; + $6135 = $6134; + HEAP32[$6135>>2] = $6131; + break L10; } else { - $6101 = HEAP32[$0>>2]|0; - $6102 = ((($6101)) + 144|0); - $6103 = $6102; - $6104 = $6103; - $6105 = HEAP32[$6104>>2]|0; - $6106 = (($6103) + 4)|0; - $6107 = $6106; - $6108 = HEAP32[$6107>>2]|0; - $6109 = (_i64Add(($6105|0),($6108|0),($6084|0),($6086|0))|0); - $6110 = tempRet0; - $6111 = $6102; - $6112 = $6111; - HEAP32[$6112>>2] = $6109; - $6113 = (($6111) + 4)|0; - $6114 = $6113; - HEAP32[$6114>>2] = $6110; - break L11; + $6136 = HEAP32[$0>>2]|0; + $6137 = ((($6136)) + 144|0); + $6138 = $6137; + $6139 = $6138; + $6140 = HEAP32[$6139>>2]|0; + $6141 = (($6138) + 4)|0; + $6142 = $6141; + $6143 = HEAP32[$6142>>2]|0; + $6144 = (_i64Add(($6140|0),($6143|0),($6119|0),($6121|0))|0); + $6145 = tempRet0; + $6146 = $6137; + $6147 = $6146; + HEAP32[$6147>>2] = $6144; + $6148 = (($6146) + 4)|0; + $6149 = $6148; + HEAP32[$6149>>2] = $6145; + break L10; } break; } case 136: { - $6115 = HEAP32[$pOp>>2]|0; - $6116 = ((($6115)) + 4|0); - $6117 = HEAP32[$6116>>2]|0; - $6118 = ($6117|0)!=(0); - if ($6118) { - $6119 = HEAP32[$db>>2]|0; - $6120 = ((($6119)) + 512|0); - $6121 = $6120; - $6122 = $6121; - $6123 = HEAP32[$6122>>2]|0; - $6124 = (($6121) + 4)|0; - $6125 = $6124; - $6126 = HEAP32[$6125>>2]|0; - $6127 = ($6123|0)==(0); - $6128 = ($6126|0)==(0); - $6129 = $6127 & $6128; - if (!($6129)) { - break L11; + $6150 = HEAP32[$pOp>>2]|0; + $6151 = ((($6150)) + 4|0); + $6152 = HEAP32[$6151>>2]|0; + $6153 = ($6152|0)!=(0); + if ($6153) { + $6154 = HEAP32[$db>>2]|0; + $6155 = ((($6154)) + 440|0); + $6156 = $6155; + $6157 = $6156; + $6158 = HEAP32[$6157>>2]|0; + $6159 = (($6156) + 4)|0; + $6160 = $6159; + $6161 = HEAP32[$6160>>2]|0; + $6162 = ($6158|0)==(0); + $6163 = ($6161|0)==(0); + $6164 = $6162 & $6163; + if (!($6164)) { + break L10; } - $6130 = HEAP32[$db>>2]|0; - $6131 = ((($6130)) + 520|0); - $6132 = $6131; - $6133 = $6132; - $6134 = HEAP32[$6133>>2]|0; - $6135 = (($6132) + 4)|0; - $6136 = $6135; - $6137 = HEAP32[$6136>>2]|0; - $6138 = ($6134|0)==(0); - $6139 = ($6137|0)==(0); - $6140 = $6138 & $6139; - if ($6140) { - label = 15; - break L11; + $6165 = HEAP32[$db>>2]|0; + $6166 = ((($6165)) + 448|0); + $6167 = $6166; + $6168 = $6167; + $6169 = HEAP32[$6168>>2]|0; + $6170 = (($6167) + 4)|0; + $6171 = $6170; + $6172 = HEAP32[$6171>>2]|0; + $6173 = ($6169|0)==(0); + $6174 = ($6172|0)==(0); + $6175 = $6173 & $6174; + if ($6175) { + label = 14; + break L10; } else { - break L11; + break L10; } } else { - $6141 = HEAP32[$0>>2]|0; - $6142 = ((($6141)) + 144|0); - $6143 = $6142; - $6144 = $6143; - $6145 = HEAP32[$6144>>2]|0; - $6146 = (($6143) + 4)|0; - $6147 = $6146; - $6148 = HEAP32[$6147>>2]|0; - $6149 = ($6145|0)==(0); - $6150 = ($6148|0)==(0); - $6151 = $6149 & $6150; - if (!($6151)) { - break L11; + $6176 = HEAP32[$0>>2]|0; + $6177 = ((($6176)) + 144|0); + $6178 = $6177; + $6179 = $6178; + $6180 = HEAP32[$6179>>2]|0; + $6181 = (($6178) + 4)|0; + $6182 = $6181; + $6183 = HEAP32[$6182>>2]|0; + $6184 = ($6180|0)==(0); + $6185 = ($6183|0)==(0); + $6186 = $6184 & $6185; + if (!($6186)) { + break L10; } - $6152 = HEAP32[$db>>2]|0; - $6153 = ((($6152)) + 520|0); - $6154 = $6153; - $6155 = $6154; - $6156 = HEAP32[$6155>>2]|0; - $6157 = (($6154) + 4)|0; - $6158 = $6157; - $6159 = HEAP32[$6158>>2]|0; - $6160 = ($6156|0)==(0); - $6161 = ($6159|0)==(0); - $6162 = $6160 & $6161; - if ($6162) { - label = 15; - break L11; + $6187 = HEAP32[$db>>2]|0; + $6188 = ((($6187)) + 448|0); + $6189 = $6188; + $6190 = $6189; + $6191 = HEAP32[$6190>>2]|0; + $6192 = (($6189) + 4)|0; + $6193 = $6192; + $6194 = HEAP32[$6193>>2]|0; + $6195 = ($6191|0)==(0); + $6196 = ($6194|0)==(0); + $6197 = $6195 & $6196; + if ($6197) { + label = 14; + break L10; } else { - break L11; + break L10; } } break; } case 137: { - $6163 = HEAP32[$0>>2]|0; - $6164 = ((($6163)) + 176|0); - $6165 = HEAP32[$6164>>2]|0; - $6166 = ($6165|0)!=(0|0); - if ($6166) { - $6167 = HEAP32[$0>>2]|0; - $6168 = ((($6167)) + 176|0); - $6169 = HEAP32[$6168>>2]|0; - HEAP32[$pFrame88>>2] = $6169; + $6198 = HEAP32[$0>>2]|0; + $6199 = ((($6198)) + 176|0); + $6200 = HEAP32[$6199>>2]|0; + $6201 = ($6200|0)!=(0|0); + if ($6201) { + $6202 = HEAP32[$0>>2]|0; + $6203 = ((($6202)) + 176|0); + $6204 = HEAP32[$6203>>2]|0; + HEAP32[$pFrame87>>2] = $6204; while(1) { - $6170 = HEAP32[$pFrame88>>2]|0; - $6171 = ((($6170)) + 4|0); - $6172 = HEAP32[$6171>>2]|0; - $6173 = ($6172|0)!=(0|0); - if (!($6173)) { + $6205 = HEAP32[$pFrame87>>2]|0; + $6206 = ((($6205)) + 4|0); + $6207 = HEAP32[$6206>>2]|0; + $6208 = ($6207|0)!=(0|0); + if (!($6208)) { break; } - $6174 = HEAP32[$pFrame88>>2]|0; - $6175 = ((($6174)) + 4|0); - $6176 = HEAP32[$6175>>2]|0; - HEAP32[$pFrame88>>2] = $6176; + $6209 = HEAP32[$pFrame87>>2]|0; + $6210 = ((($6209)) + 4|0); + $6211 = HEAP32[$6210>>2]|0; + HEAP32[$pFrame87>>2] = $6211; } - $6177 = HEAP32[$pOp>>2]|0; - $6178 = ((($6177)) + 4|0); - $6179 = HEAP32[$6178>>2]|0; - $6180 = HEAP32[$pFrame88>>2]|0; - $6181 = ((($6180)) + 16|0); - $6182 = HEAP32[$6181>>2]|0; - $6183 = (($6182) + (($6179*40)|0)|0); - HEAP32[$pIn1>>2] = $6183; + $6212 = HEAP32[$pOp>>2]|0; + $6213 = ((($6212)) + 4|0); + $6214 = HEAP32[$6213>>2]|0; + $6215 = HEAP32[$pFrame87>>2]|0; + $6216 = ((($6215)) + 16|0); + $6217 = HEAP32[$6216>>2]|0; + $6218 = (($6217) + (($6214*40)|0)|0); + HEAP32[$pIn1>>2] = $6218; } else { - $6184 = HEAP32[$pOp>>2]|0; - $6185 = ((($6184)) + 4|0); - $6186 = HEAP32[$6185>>2]|0; - $6187 = HEAP32[$aMem>>2]|0; - $6188 = (($6187) + (($6186*40)|0)|0); - HEAP32[$pIn1>>2] = $6188; - } - $6189 = HEAP32[$pIn1>>2]|0; - (_sqlite3VdbeMemIntegerify($6189)|0); - $6190 = HEAP32[$pOp>>2]|0; - $6191 = ((($6190)) + 8|0); - $6192 = HEAP32[$6191>>2]|0; - $6193 = HEAP32[$aMem>>2]|0; - $6194 = (($6193) + (($6192*40)|0)|0); - HEAP32[$pIn2>>2] = $6194; - $6195 = HEAP32[$pIn2>>2]|0; - (_sqlite3VdbeMemIntegerify($6195)|0); - $6196 = HEAP32[$pIn1>>2]|0; - $6197 = $6196; - $6198 = $6197; - $6199 = HEAP32[$6198>>2]|0; - $6200 = (($6197) + 4)|0; - $6201 = $6200; - $6202 = HEAP32[$6201>>2]|0; - $6203 = HEAP32[$pIn2>>2]|0; - $6204 = $6203; - $6205 = $6204; - $6206 = HEAP32[$6205>>2]|0; - $6207 = (($6204) + 4)|0; - $6208 = $6207; - $6209 = HEAP32[$6208>>2]|0; - $6210 = ($6202|0)<($6209|0); - $6211 = ($6199>>>0)<($6206>>>0); - $6212 = ($6202|0)==($6209|0); - $6213 = $6212 & $6211; - $6214 = $6210 | $6213; - if ($6214) { - $6215 = HEAP32[$pIn2>>2]|0; - $6216 = $6215; - $6217 = $6216; - $6218 = HEAP32[$6217>>2]|0; - $6219 = (($6216) + 4)|0; - $6220 = $6219; + $6219 = HEAP32[$pOp>>2]|0; + $6220 = ((($6219)) + 4|0); $6221 = HEAP32[$6220>>2]|0; - $6222 = HEAP32[$pIn1>>2]|0; - $6223 = $6222; - $6224 = $6223; - HEAP32[$6224>>2] = $6218; - $6225 = (($6223) + 4)|0; - $6226 = $6225; - HEAP32[$6226>>2] = $6221; + $6222 = HEAP32[$aMem>>2]|0; + $6223 = (($6222) + (($6221*40)|0)|0); + HEAP32[$pIn1>>2] = $6223; } - break; - } - case 138: { - $6227 = HEAP32[$pOp>>2]|0; - $6228 = ((($6227)) + 4|0); - $6229 = HEAP32[$6228>>2]|0; - $6230 = HEAP32[$aMem>>2]|0; - $6231 = (($6230) + (($6229*40)|0)|0); - HEAP32[$pIn1>>2] = $6231; - $6232 = HEAP32[$pIn1>>2]|0; + $6224 = HEAP32[$pIn1>>2]|0; + (_sqlite3VdbeMemIntegerify($6224)|0); + $6225 = HEAP32[$pOp>>2]|0; + $6226 = ((($6225)) + 8|0); + $6227 = HEAP32[$6226>>2]|0; + $6228 = HEAP32[$aMem>>2]|0; + $6229 = (($6228) + (($6227*40)|0)|0); + HEAP32[$pIn2>>2] = $6229; + $6230 = HEAP32[$pIn2>>2]|0; + (_sqlite3VdbeMemIntegerify($6230)|0); + $6231 = HEAP32[$pIn1>>2]|0; + $6232 = $6231; $6233 = $6232; - $6234 = $6233; - $6235 = HEAP32[$6234>>2]|0; - $6236 = (($6233) + 4)|0; - $6237 = $6236; - $6238 = HEAP32[$6237>>2]|0; - $6239 = ($6238|0)>(0); - $6240 = ($6235>>>0)>(0); - $6241 = ($6238|0)==(0); - $6242 = $6241 & $6240; - $6243 = $6239 | $6242; - if ($6243) { - $6244 = HEAP32[$pOp>>2]|0; - $6245 = ((($6244)) + 12|0); - $6246 = HEAP32[$6245>>2]|0; - $6247 = ($6246|0)<(0); - $6248 = $6247 << 31 >> 31; - $6249 = HEAP32[$pIn1>>2]|0; - $6250 = $6249; + $6234 = HEAP32[$6233>>2]|0; + $6235 = (($6232) + 4)|0; + $6236 = $6235; + $6237 = HEAP32[$6236>>2]|0; + $6238 = HEAP32[$pIn2>>2]|0; + $6239 = $6238; + $6240 = $6239; + $6241 = HEAP32[$6240>>2]|0; + $6242 = (($6239) + 4)|0; + $6243 = $6242; + $6244 = HEAP32[$6243>>2]|0; + $6245 = ($6237|0)<($6244|0); + $6246 = ($6234>>>0)<($6241>>>0); + $6247 = ($6237|0)==($6244|0); + $6248 = $6247 & $6246; + $6249 = $6245 | $6248; + if ($6249) { + $6250 = HEAP32[$pIn2>>2]|0; $6251 = $6250; - $6252 = HEAP32[$6251>>2]|0; - $6253 = (($6250) + 4)|0; - $6254 = $6253; - $6255 = HEAP32[$6254>>2]|0; - $6256 = (_i64Subtract(($6252|0),($6255|0),($6246|0),($6248|0))|0); - $6257 = tempRet0; - $6258 = $6249; + $6252 = $6251; + $6253 = HEAP32[$6252>>2]|0; + $6254 = (($6251) + 4)|0; + $6255 = $6254; + $6256 = HEAP32[$6255>>2]|0; + $6257 = HEAP32[$pIn1>>2]|0; + $6258 = $6257; $6259 = $6258; - HEAP32[$6259>>2] = $6256; + HEAP32[$6259>>2] = $6253; $6260 = (($6258) + 4)|0; $6261 = $6260; - HEAP32[$6261>>2] = $6257; - label = 15; + HEAP32[$6261>>2] = $6256; } break; } - case 139: { + case 138: { $6262 = HEAP32[$pOp>>2]|0; $6263 = ((($6262)) + 4|0); $6264 = HEAP32[$6263>>2]|0; $6265 = HEAP32[$aMem>>2]|0; $6266 = (($6265) + (($6264*40)|0)|0); HEAP32[$pIn1>>2] = $6266; - $6267 = HEAP32[$pOp>>2]|0; - $6268 = ((($6267)) + 12|0); - $6269 = HEAP32[$6268>>2]|0; - $6270 = HEAP32[$aMem>>2]|0; - $6271 = (($6270) + (($6269*40)|0)|0); - HEAP32[$pIn3>>2] = $6271; - $6272 = HEAP32[$0>>2]|0; - $6273 = HEAP32[$pOp>>2]|0; - $6274 = (_out2Prerelease($6272,$6273)|0); - HEAP32[$pOut>>2] = $6274; - $6275 = HEAP32[$pIn1>>2]|0; - $6276 = $6275; - $6277 = $6276; - $6278 = HEAP32[$6277>>2]|0; - $6279 = (($6276) + 4)|0; - $6280 = $6279; - $6281 = HEAP32[$6280>>2]|0; - $6282 = ($6281|0)<(0); - $6283 = ($6278>>>0)<=(0); - $6284 = ($6281|0)==(0); - $6285 = $6284 & $6283; - $6286 = $6282 | $6285; - if ($6286) { - $6320 = -1;$6323 = -1; - } else { - $6287 = HEAP32[$pIn1>>2]|0; - $6288 = $6287; + $6267 = HEAP32[$pIn1>>2]|0; + $6268 = $6267; + $6269 = $6268; + $6270 = HEAP32[$6269>>2]|0; + $6271 = (($6268) + 4)|0; + $6272 = $6271; + $6273 = HEAP32[$6272>>2]|0; + $6274 = ($6273|0)>(0); + $6275 = ($6270>>>0)>(0); + $6276 = ($6273|0)==(0); + $6277 = $6276 & $6275; + $6278 = $6274 | $6277; + if ($6278) { + $6279 = HEAP32[$pOp>>2]|0; + $6280 = ((($6279)) + 12|0); + $6281 = HEAP32[$6280>>2]|0; + $6282 = ($6281|0)<(0); + $6283 = $6282 << 31 >> 31; + $6284 = HEAP32[$pIn1>>2]|0; + $6285 = $6284; + $6286 = $6285; + $6287 = HEAP32[$6286>>2]|0; + $6288 = (($6285) + 4)|0; $6289 = $6288; $6290 = HEAP32[$6289>>2]|0; - $6291 = (($6288) + 4)|0; - $6292 = $6291; - $6293 = HEAP32[$6292>>2]|0; - $6294 = HEAP32[$pIn3>>2]|0; - $6295 = $6294; + $6291 = (_i64Subtract(($6287|0),($6290|0),($6281|0),($6283|0))|0); + $6292 = tempRet0; + $6293 = $6284; + $6294 = $6293; + HEAP32[$6294>>2] = $6291; + $6295 = (($6293) + 4)|0; $6296 = $6295; - $6297 = HEAP32[$6296>>2]|0; - $6298 = (($6295) + 4)|0; - $6299 = $6298; - $6300 = HEAP32[$6299>>2]|0; - $6301 = ($6300|0)>(0); - $6302 = ($6297>>>0)>(0); - $6303 = ($6300|0)==(0); - $6304 = $6303 & $6302; - $6305 = $6301 | $6304; - if ($6305) { - $6306 = HEAP32[$pIn3>>2]|0; - $6307 = $6306; - $6308 = $6307; - $6309 = HEAP32[$6308>>2]|0; - $6310 = (($6307) + 4)|0; - $6311 = $6310; - $6312 = HEAP32[$6311>>2]|0; - $6313 = $6309;$6314 = $6312; + HEAP32[$6296>>2] = $6292; + label = 14; + } + break; + } + case 139: { + $6297 = HEAP32[$pOp>>2]|0; + $6298 = ((($6297)) + 4|0); + $6299 = HEAP32[$6298>>2]|0; + $6300 = HEAP32[$aMem>>2]|0; + $6301 = (($6300) + (($6299*40)|0)|0); + HEAP32[$pIn1>>2] = $6301; + $6302 = HEAP32[$pOp>>2]|0; + $6303 = ((($6302)) + 12|0); + $6304 = HEAP32[$6303>>2]|0; + $6305 = HEAP32[$aMem>>2]|0; + $6306 = (($6305) + (($6304*40)|0)|0); + HEAP32[$pIn3>>2] = $6306; + $6307 = HEAP32[$0>>2]|0; + $6308 = HEAP32[$pOp>>2]|0; + $6309 = (_out2Prerelease($6307,$6308)|0); + HEAP32[$pOut>>2] = $6309; + $6310 = HEAP32[$pIn1>>2]|0; + $6311 = $6310; + $6312 = $6311; + $6313 = HEAP32[$6312>>2]|0; + $6314 = (($6311) + 4)|0; + $6315 = $6314; + $6316 = HEAP32[$6315>>2]|0; + $6317 = ($6316|0)<(0); + $6318 = ($6313>>>0)<=(0); + $6319 = ($6316|0)==(0); + $6320 = $6319 & $6318; + $6321 = $6317 | $6320; + if ($6321) { + $6355 = -1;$6358 = -1; + } else { + $6322 = HEAP32[$pIn1>>2]|0; + $6323 = $6322; + $6324 = $6323; + $6325 = HEAP32[$6324>>2]|0; + $6326 = (($6323) + 4)|0; + $6327 = $6326; + $6328 = HEAP32[$6327>>2]|0; + $6329 = HEAP32[$pIn3>>2]|0; + $6330 = $6329; + $6331 = $6330; + $6332 = HEAP32[$6331>>2]|0; + $6333 = (($6330) + 4)|0; + $6334 = $6333; + $6335 = HEAP32[$6334>>2]|0; + $6336 = ($6335|0)>(0); + $6337 = ($6332>>>0)>(0); + $6338 = ($6335|0)==(0); + $6339 = $6338 & $6337; + $6340 = $6336 | $6339; + if ($6340) { + $6341 = HEAP32[$pIn3>>2]|0; + $6342 = $6341; + $6343 = $6342; + $6344 = HEAP32[$6343>>2]|0; + $6345 = (($6342) + 4)|0; + $6346 = $6345; + $6347 = HEAP32[$6346>>2]|0; + $6348 = $6344;$6349 = $6347; } else { - $6313 = 0;$6314 = 0; + $6348 = 0;$6349 = 0; } - $6315 = (_i64Add(($6290|0),($6293|0),($6313|0),($6314|0))|0); - $6316 = tempRet0; - $6320 = $6315;$6323 = $6316; + $6350 = (_i64Add(($6325|0),($6328|0),($6348|0),($6349|0))|0); + $6351 = tempRet0; + $6355 = $6350;$6358 = $6351; } - $6317 = HEAP32[$pOut>>2]|0; - $6318 = $6317; - $6319 = $6318; - HEAP32[$6319>>2] = $6320; - $6321 = (($6318) + 4)|0; - $6322 = $6321; - HEAP32[$6322>>2] = $6323; + $6352 = HEAP32[$pOut>>2]|0; + $6353 = $6352; + $6354 = $6353; + HEAP32[$6354>>2] = $6355; + $6356 = (($6353) + 4)|0; + $6357 = $6356; + HEAP32[$6357>>2] = $6358; break; } case 140: { - $6324 = HEAP32[$pOp>>2]|0; - $6325 = ((($6324)) + 4|0); - $6326 = HEAP32[$6325>>2]|0; - $6327 = HEAP32[$aMem>>2]|0; - $6328 = (($6327) + (($6326*40)|0)|0); - HEAP32[$pIn1>>2] = $6328; - $6329 = HEAP32[$pIn1>>2]|0; - $6330 = $6329; - $6331 = $6330; - $6332 = HEAP32[$6331>>2]|0; - $6333 = (($6330) + 4)|0; - $6334 = $6333; - $6335 = HEAP32[$6334>>2]|0; - $6336 = ($6332|0)!=(0); - $6337 = ($6335|0)!=(0); - $6338 = $6336 | $6337; - if ($6338) { - $6339 = HEAP32[$pOp>>2]|0; - $6340 = ((($6339)) + 12|0); - $6341 = HEAP32[$6340>>2]|0; - $6342 = ($6341|0)<(0); - $6343 = $6342 << 31 >> 31; - $6344 = HEAP32[$pIn1>>2]|0; - $6345 = $6344; - $6346 = $6345; - $6347 = HEAP32[$6346>>2]|0; - $6348 = (($6345) + 4)|0; - $6349 = $6348; - $6350 = HEAP32[$6349>>2]|0; - $6351 = (_i64Subtract(($6347|0),($6350|0),($6341|0),($6343|0))|0); - $6352 = tempRet0; - $6353 = $6344; - $6354 = $6353; - HEAP32[$6354>>2] = $6351; - $6355 = (($6353) + 4)|0; - $6356 = $6355; - HEAP32[$6356>>2] = $6352; - label = 15; + $6359 = HEAP32[$pOp>>2]|0; + $6360 = ((($6359)) + 4|0); + $6361 = HEAP32[$6360>>2]|0; + $6362 = HEAP32[$aMem>>2]|0; + $6363 = (($6362) + (($6361*40)|0)|0); + HEAP32[$pIn1>>2] = $6363; + $6364 = HEAP32[$pIn1>>2]|0; + $6365 = $6364; + $6366 = $6365; + $6367 = HEAP32[$6366>>2]|0; + $6368 = (($6365) + 4)|0; + $6369 = $6368; + $6370 = HEAP32[$6369>>2]|0; + $6371 = ($6367|0)!=(0); + $6372 = ($6370|0)!=(0); + $6373 = $6371 | $6372; + if ($6373) { + $6374 = HEAP32[$pOp>>2]|0; + $6375 = ((($6374)) + 12|0); + $6376 = HEAP32[$6375>>2]|0; + $6377 = ($6376|0)<(0); + $6378 = $6377 << 31 >> 31; + $6379 = HEAP32[$pIn1>>2]|0; + $6380 = $6379; + $6381 = $6380; + $6382 = HEAP32[$6381>>2]|0; + $6383 = (($6380) + 4)|0; + $6384 = $6383; + $6385 = HEAP32[$6384>>2]|0; + $6386 = (_i64Subtract(($6382|0),($6385|0),($6376|0),($6378|0))|0); + $6387 = tempRet0; + $6388 = $6379; + $6389 = $6388; + HEAP32[$6389>>2] = $6386; + $6390 = (($6388) + 4)|0; + $6391 = $6390; + HEAP32[$6391>>2] = $6387; + label = 14; } break; } case 141: { - $6357 = HEAP32[$pOp>>2]|0; - $6358 = ((($6357)) + 4|0); - $6359 = HEAP32[$6358>>2]|0; - $6360 = HEAP32[$aMem>>2]|0; - $6361 = (($6360) + (($6359*40)|0)|0); - HEAP32[$pIn1>>2] = $6361; - $6362 = HEAP32[$pIn1>>2]|0; - $6363 = $6362; - $6364 = $6363; - $6365 = HEAP32[$6364>>2]|0; - $6366 = (($6363) + 4)|0; - $6367 = $6366; - $6368 = HEAP32[$6367>>2]|0; - $6369 = (_i64Add(($6365|0),($6368|0),-1,-1)|0); - $6370 = tempRet0; - $6371 = $6362; - $6372 = $6371; - HEAP32[$6372>>2] = $6369; - $6373 = (($6371) + 4)|0; - $6374 = $6373; - HEAP32[$6374>>2] = $6370; - $6375 = HEAP32[$pIn1>>2]|0; - $6376 = $6375; - $6377 = $6376; - $6378 = HEAP32[$6377>>2]|0; - $6379 = (($6376) + 4)|0; - $6380 = $6379; - $6381 = HEAP32[$6380>>2]|0; - $6382 = ($6378|0)==(0); - $6383 = ($6381|0)==(0); - $6384 = $6382 & $6383; - if ($6384) { - label = 15; + $6392 = HEAP32[$pOp>>2]|0; + $6393 = ((($6392)) + 4|0); + $6394 = HEAP32[$6393>>2]|0; + $6395 = HEAP32[$aMem>>2]|0; + $6396 = (($6395) + (($6394*40)|0)|0); + HEAP32[$pIn1>>2] = $6396; + $6397 = HEAP32[$pIn1>>2]|0; + $6398 = $6397; + $6399 = $6398; + $6400 = HEAP32[$6399>>2]|0; + $6401 = (($6398) + 4)|0; + $6402 = $6401; + $6403 = HEAP32[$6402>>2]|0; + $6404 = (_i64Add(($6400|0),($6403|0),-1,-1)|0); + $6405 = tempRet0; + $6406 = $6397; + $6407 = $6406; + HEAP32[$6407>>2] = $6404; + $6408 = (($6406) + 4)|0; + $6409 = $6408; + HEAP32[$6409>>2] = $6405; + $6410 = HEAP32[$pIn1>>2]|0; + $6411 = $6410; + $6412 = $6411; + $6413 = HEAP32[$6412>>2]|0; + $6414 = (($6411) + 4)|0; + $6415 = $6414; + $6416 = HEAP32[$6415>>2]|0; + $6417 = ($6413|0)==(0); + $6418 = ($6416|0)==(0); + $6419 = $6417 & $6418; + if ($6419) { + label = 14; } break; } case 142: { - $6385 = HEAP32[$pOp>>2]|0; - $6386 = ((($6385)) + 4|0); - $6387 = HEAP32[$6386>>2]|0; - $6388 = HEAP32[$aMem>>2]|0; - $6389 = (($6388) + (($6387*40)|0)|0); - HEAP32[$pIn1>>2] = $6389; - $6390 = HEAP32[$pIn1>>2]|0; - $6391 = $6390; - $6392 = $6391; - $6393 = HEAP32[$6392>>2]|0; - $6394 = (($6391) + 4)|0; - $6395 = $6394; - $6396 = HEAP32[$6395>>2]|0; - $6397 = (_i64Add(($6393|0),($6396|0),1,0)|0); - $6398 = tempRet0; - $6399 = $6390; - $6400 = $6399; - HEAP32[$6400>>2] = $6397; - $6401 = (($6399) + 4)|0; - $6402 = $6401; - HEAP32[$6402>>2] = $6398; - $6403 = ($6393|0)==(0); - $6404 = ($6396|0)==(0); - $6405 = $6403 & $6404; - if ($6405) { - label = 15; + $6420 = HEAP32[$pOp>>2]|0; + $6421 = ((($6420)) + 4|0); + $6422 = HEAP32[$6421>>2]|0; + $6423 = HEAP32[$aMem>>2]|0; + $6424 = (($6423) + (($6422*40)|0)|0); + HEAP32[$pIn1>>2] = $6424; + $6425 = HEAP32[$pIn1>>2]|0; + $6426 = $6425; + $6427 = $6426; + $6428 = HEAP32[$6427>>2]|0; + $6429 = (($6426) + 4)|0; + $6430 = $6429; + $6431 = HEAP32[$6430>>2]|0; + $6432 = (_i64Add(($6428|0),($6431|0),1,0)|0); + $6433 = tempRet0; + $6434 = $6425; + $6435 = $6434; + HEAP32[$6435>>2] = $6432; + $6436 = (($6434) + 4)|0; + $6437 = $6436; + HEAP32[$6437>>2] = $6433; + $6438 = ($6428|0)==(0); + $6439 = ($6431|0)==(0); + $6440 = $6438 & $6439; + if ($6440) { + label = 14; } break; } case 143: { - $6406 = HEAP32[$pOp>>2]|0; - $6407 = ((($6406)) + 3|0); - $6408 = HEAP8[$6407>>0]|0; - $6409 = $6408&255; - HEAP32[$n89>>2] = $6409; - $6410 = HEAP32[$db>>2]|0; - $6411 = HEAP32[$n89>>2]|0; - $6412 = (($6411) - 1)|0; - $6413 = $6412<<2; - $6414 = (32 + ($6413))|0; - $6415 = (_sqlite3DbMallocRawNN($6410,$6414,0)|0); - HEAP32[$pCtx90>>2] = $6415; - $6416 = HEAP32[$pCtx90>>2]|0; - $6417 = ($6416|0)==(0|0); - if ($6417) { - label = 860; + $6441 = HEAP32[$pOp>>2]|0; + $6442 = ((($6441)) + 3|0); + $6443 = HEAP8[$6442>>0]|0; + $6444 = $6443&255; + HEAP32[$n88>>2] = $6444; + $6445 = HEAP32[$db>>2]|0; + $6446 = HEAP32[$n88>>2]|0; + $6447 = (($6446) - 1)|0; + $6448 = $6447<<2; + $6449 = (32 + ($6448))|0; + $6450 = (_sqlite3DbMallocRawNN($6445,$6449,0)|0); + HEAP32[$pCtx89>>2] = $6450; + $6451 = HEAP32[$pCtx89>>2]|0; + $6452 = ($6451|0)==(0|0); + if ($6452) { + label = 883; break L1; } - $6418 = HEAP32[$pCtx90>>2]|0; - $6419 = ((($6418)) + 8|0); - HEAP32[$6419>>2] = 0; - $6420 = HEAP32[$pOp>>2]|0; - $6421 = ((($6420)) + 16|0); - $6422 = HEAP32[$6421>>2]|0; - $6423 = HEAP32[$pCtx90>>2]|0; - $6424 = ((($6423)) + 4|0); - HEAP32[$6424>>2] = $6422; - $6425 = HEAP32[$pOp>>2]|0; - $6426 = HEAP32[$aOp>>2]|0; - $6427 = $6425; - $6428 = $6426; - $6429 = (($6427) - ($6428))|0; - $6430 = (($6429|0) / 20)&-1; - $6431 = HEAP32[$pCtx90>>2]|0; - $6432 = ((($6431)) + 16|0); - HEAP32[$6432>>2] = $6430; - $6433 = HEAP32[$0>>2]|0; - $6434 = HEAP32[$pCtx90>>2]|0; - $6435 = ((($6434)) + 12|0); - HEAP32[$6435>>2] = $6433; - $6436 = HEAP32[$n89>>2]|0; - $6437 = $6436&255; - $6438 = HEAP32[$pCtx90>>2]|0; - $6439 = ((($6438)) + 26|0); - HEAP8[$6439>>0] = $6437; - $6440 = HEAP32[$pOp>>2]|0; - $6441 = ((($6440)) + 1|0); - HEAP8[$6441>>0] = -20; - $6442 = HEAP32[$pCtx90>>2]|0; - $6443 = HEAP32[$pOp>>2]|0; - $6444 = ((($6443)) + 16|0); - HEAP32[$6444>>2] = $6442; - $6445 = HEAP32[$pOp>>2]|0; - HEAP8[$6445>>0] = -112; - label = 740; + $6453 = HEAP32[$pCtx89>>2]|0; + $6454 = ((($6453)) + 8|0); + HEAP32[$6454>>2] = 0; + $6455 = HEAP32[$pOp>>2]|0; + $6456 = ((($6455)) + 16|0); + $6457 = HEAP32[$6456>>2]|0; + $6458 = HEAP32[$pCtx89>>2]|0; + $6459 = ((($6458)) + 4|0); + HEAP32[$6459>>2] = $6457; + $6460 = HEAP32[$pOp>>2]|0; + $6461 = HEAP32[$aOp>>2]|0; + $6462 = $6460; + $6463 = $6461; + $6464 = (($6462) - ($6463))|0; + $6465 = (($6464|0) / 20)&-1; + $6466 = HEAP32[$pCtx89>>2]|0; + $6467 = ((($6466)) + 16|0); + HEAP32[$6467>>2] = $6465; + $6468 = HEAP32[$0>>2]|0; + $6469 = HEAP32[$pCtx89>>2]|0; + $6470 = ((($6469)) + 12|0); + HEAP32[$6470>>2] = $6468; + $6471 = HEAP32[$n88>>2]|0; + $6472 = $6471&255; + $6473 = HEAP32[$pCtx89>>2]|0; + $6474 = ((($6473)) + 26|0); + HEAP8[$6474>>0] = $6472; + $6475 = HEAP32[$pOp>>2]|0; + $6476 = ((($6475)) + 1|0); + HEAP8[$6476>>0] = -20; + $6477 = HEAP32[$pCtx89>>2]|0; + $6478 = HEAP32[$pOp>>2]|0; + $6479 = ((($6478)) + 16|0); + HEAP32[$6479>>2] = $6477; + $6480 = HEAP32[$pOp>>2]|0; + HEAP8[$6480>>0] = -112; + label = 755; break; } case 144: { - label = 740; + label = 755; break; } case 145: { - $6530 = HEAP32[$pOp>>2]|0; - $6531 = ((($6530)) + 4|0); - $6532 = HEAP32[$6531>>2]|0; - $6533 = HEAP32[$aMem>>2]|0; - $6534 = (($6533) + (($6532*40)|0)|0); - HEAP32[$pMem95>>2] = $6534; - $6535 = HEAP32[$pMem95>>2]|0; - $6536 = HEAP32[$pOp>>2]|0; - $6537 = ((($6536)) + 16|0); - $6538 = HEAP32[$6537>>2]|0; - $6539 = (_sqlite3VdbeMemFinalize($6535,$6538)|0); - HEAP32[$rc>>2] = $6539; - $6540 = HEAP32[$rc>>2]|0; - $6541 = ($6540|0)!=(0); - if ($6541) { - $6542 = HEAP32[$0>>2]|0; - $6543 = HEAP32[$pMem95>>2]|0; - $6544 = (_sqlite3_value_text($6543)|0); - HEAP32[$vararg_buffer67>>2] = $6544; - _sqlite3VdbeError($6542,19255,$vararg_buffer67); + $6567 = HEAP32[$pOp>>2]|0; + $6568 = ((($6567)) + 4|0); + $6569 = HEAP32[$6568>>2]|0; + $6570 = HEAP32[$aMem>>2]|0; + $6571 = (($6570) + (($6569*40)|0)|0); + HEAP32[$pMem94>>2] = $6571; + $6572 = HEAP32[$pMem94>>2]|0; + $6573 = HEAP32[$pOp>>2]|0; + $6574 = ((($6573)) + 16|0); + $6575 = HEAP32[$6574>>2]|0; + $6576 = (_sqlite3VdbeMemFinalize($6572,$6575)|0); + HEAP32[$rc>>2] = $6576; + $6577 = HEAP32[$rc>>2]|0; + $6578 = ($6577|0)!=(0); + if ($6578) { + label = 767; + break L8; } - $6545 = HEAP32[$pMem95>>2]|0; - $6546 = HEAP8[$encoding>>0]|0; - $6547 = $6546&255; - (_sqlite3VdbeChangeEncoding($6545,$6547)|0); - $6548 = HEAP32[$pMem95>>2]|0; - $6549 = (_sqlite3VdbeMemTooBig($6548)|0); - $6550 = ($6549|0)!=(0); - if ($6550) { - label = 859; + $6582 = HEAP32[$pMem94>>2]|0; + $6583 = HEAP8[$encoding>>0]|0; + $6584 = $6583&255; + (_sqlite3VdbeChangeEncoding($6582,$6584)|0); + $6585 = HEAP32[$pMem94>>2]|0; + $6586 = (_sqlite3VdbeMemTooBig($6585)|0); + $6587 = ($6586|0)!=(0); + if ($6587) { + label = 882; break L8; } break; } case 8: { HEAP32[$aRes>>2] = 0; - $6551 = ((($aRes)) + 8|0); - HEAP32[$6551>>2] = -1; - $6552 = ((($aRes)) + 4|0); - HEAP32[$6552>>2] = -1; - $6553 = HEAP32[$db>>2]|0; - $6554 = HEAP32[$pOp>>2]|0; - $6555 = ((($6554)) + 4|0); - $6556 = HEAP32[$6555>>2]|0; - $6557 = HEAP32[$pOp>>2]|0; - $6558 = ((($6557)) + 8|0); - $6559 = HEAP32[$6558>>2]|0; - $6560 = ((($aRes)) + 4|0); - $6561 = ((($aRes)) + 8|0); - $6562 = (_sqlite3Checkpoint($6553,$6556,$6559,$6560,$6561)|0); - HEAP32[$rc>>2] = $6562; - $6563 = HEAP32[$rc>>2]|0; - $6564 = ($6563|0)==(5); - if ($6564) { + $6588 = ((($aRes)) + 8|0); + HEAP32[$6588>>2] = -1; + $6589 = ((($aRes)) + 4|0); + HEAP32[$6589>>2] = -1; + $6590 = HEAP32[$db>>2]|0; + $6591 = HEAP32[$pOp>>2]|0; + $6592 = ((($6591)) + 4|0); + $6593 = HEAP32[$6592>>2]|0; + $6594 = HEAP32[$pOp>>2]|0; + $6595 = ((($6594)) + 8|0); + $6596 = HEAP32[$6595>>2]|0; + $6597 = ((($aRes)) + 4|0); + $6598 = ((($aRes)) + 8|0); + $6599 = (_sqlite3Checkpoint($6590,$6593,$6596,$6597,$6598)|0); + HEAP32[$rc>>2] = $6599; + $6600 = HEAP32[$rc>>2]|0; + $6601 = ($6600|0)!=(0); + if ($6601) { + $6602 = HEAP32[$rc>>2]|0; + $6603 = ($6602|0)!=(5); + if ($6603) { + break L1; + } HEAP32[$rc>>2] = 0; HEAP32[$aRes>>2] = 1; } - HEAP32[$i96>>2] = 0; - $6565 = HEAP32[$pOp>>2]|0; - $6566 = ((($6565)) + 12|0); - $6567 = HEAP32[$6566>>2]|0; - $6568 = HEAP32[$aMem>>2]|0; - $6569 = (($6568) + (($6567*40)|0)|0); - HEAP32[$pMem97>>2] = $6569; + HEAP32[$i95>>2] = 0; + $6604 = HEAP32[$pOp>>2]|0; + $6605 = ((($6604)) + 12|0); + $6606 = HEAP32[$6605>>2]|0; + $6607 = HEAP32[$aMem>>2]|0; + $6608 = (($6607) + (($6606*40)|0)|0); + HEAP32[$pMem96>>2] = $6608; while(1) { - $6570 = HEAP32[$i96>>2]|0; - $6571 = ($6570|0)<(3); - if (!($6571)) { - break L11; + $6609 = HEAP32[$i95>>2]|0; + $6610 = ($6609|0)<(3); + if (!($6610)) { + break L10; } - $6572 = HEAP32[$pMem97>>2]|0; - $6573 = HEAP32[$i96>>2]|0; - $6574 = (($aRes) + ($6573<<2)|0); - $6575 = HEAP32[$6574>>2]|0; - $6576 = ($6575|0)<(0); - $6577 = $6576 << 31 >> 31; - _sqlite3VdbeMemSetInt64($6572,$6575,$6577); - $6578 = HEAP32[$i96>>2]|0; - $6579 = (($6578) + 1)|0; - HEAP32[$i96>>2] = $6579; - $6580 = HEAP32[$pMem97>>2]|0; - $6581 = ((($6580)) + 40|0); - HEAP32[$pMem97>>2] = $6581; + $6611 = HEAP32[$pMem96>>2]|0; + $6612 = HEAP32[$i95>>2]|0; + $6613 = (($aRes) + ($6612<<2)|0); + $6614 = HEAP32[$6613>>2]|0; + $6615 = ($6614|0)<(0); + $6616 = $6615 << 31 >> 31; + _sqlite3VdbeMemSetInt64($6611,$6614,$6616); + $6617 = HEAP32[$i95>>2]|0; + $6618 = (($6617) + 1)|0; + HEAP32[$i95>>2] = $6618; + $6619 = HEAP32[$pMem96>>2]|0; + $6620 = ((($6619)) + 40|0); + HEAP32[$pMem96>>2] = $6620; } break; } case 9: { - $6582 = HEAP32[$0>>2]|0; - $6583 = HEAP32[$pOp>>2]|0; - $6584 = (_out2Prerelease($6582,$6583)|0); - HEAP32[$pOut>>2] = $6584; - $6585 = HEAP32[$pOp>>2]|0; - $6586 = ((($6585)) + 12|0); - $6587 = HEAP32[$6586>>2]|0; - HEAP32[$eNew>>2] = $6587; - $6588 = HEAP32[$pOp>>2]|0; - $6589 = ((($6588)) + 4|0); - $6590 = HEAP32[$6589>>2]|0; - $6591 = HEAP32[$db>>2]|0; - $6592 = ((($6591)) + 16|0); - $6593 = HEAP32[$6592>>2]|0; - $6594 = (($6593) + ($6590<<4)|0); - $6595 = ((($6594)) + 4|0); - $6596 = HEAP32[$6595>>2]|0; - HEAP32[$pBt98>>2] = $6596; - $6597 = HEAP32[$pBt98>>2]|0; - $6598 = (_sqlite3BtreePager($6597)|0); - HEAP32[$pPager>>2] = $6598; - $6599 = HEAP32[$pPager>>2]|0; - $6600 = (_sqlite3PagerGetJournalMode($6599)|0); - HEAP32[$eOld>>2] = $6600; - $6601 = HEAP32[$eNew>>2]|0; - $6602 = ($6601|0)==(-1); - if ($6602) { - $6603 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6603; + $6621 = HEAP32[$0>>2]|0; + $6622 = HEAP32[$pOp>>2]|0; + $6623 = (_out2Prerelease($6621,$6622)|0); + HEAP32[$pOut>>2] = $6623; + $6624 = HEAP32[$pOp>>2]|0; + $6625 = ((($6624)) + 12|0); + $6626 = HEAP32[$6625>>2]|0; + HEAP32[$eNew>>2] = $6626; + $6627 = HEAP32[$pOp>>2]|0; + $6628 = ((($6627)) + 4|0); + $6629 = HEAP32[$6628>>2]|0; + $6630 = HEAP32[$db>>2]|0; + $6631 = ((($6630)) + 16|0); + $6632 = HEAP32[$6631>>2]|0; + $6633 = (($6632) + ($6629<<4)|0); + $6634 = ((($6633)) + 4|0); + $6635 = HEAP32[$6634>>2]|0; + HEAP32[$pBt97>>2] = $6635; + $6636 = HEAP32[$pBt97>>2]|0; + $6637 = (_sqlite3BtreePager($6636)|0); + HEAP32[$pPager>>2] = $6637; + $6638 = HEAP32[$pPager>>2]|0; + $6639 = (_sqlite3PagerGetJournalMode($6638)|0); + HEAP32[$eOld>>2] = $6639; + $6640 = HEAP32[$eNew>>2]|0; + $6641 = ($6640|0)==(-1); + if ($6641) { + $6642 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6642; } - $6604 = HEAP32[$pPager>>2]|0; - $6605 = (_sqlite3PagerOkToChangeJournalMode($6604)|0); - $6606 = ($6605|0)!=(0); - if (!($6606)) { - $6607 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6607; + $6643 = HEAP32[$pPager>>2]|0; + $6644 = (_sqlite3PagerOkToChangeJournalMode($6643)|0); + $6645 = ($6644|0)!=(0); + if (!($6645)) { + $6646 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6646; } - $6608 = HEAP32[$pPager>>2]|0; - $6609 = (_sqlite3PagerFilename($6608,1)|0); - HEAP32[$zFilename>>2] = $6609; - $6610 = HEAP32[$eNew>>2]|0; - $6611 = ($6610|0)==(5); + $6647 = HEAP32[$pPager>>2]|0; + $6648 = (_sqlite3PagerFilename($6647,1)|0); + HEAP32[$zFilename>>2] = $6648; + $6649 = HEAP32[$eNew>>2]|0; + $6650 = ($6649|0)==(5); do { - if ($6611) { - $6612 = HEAP32[$zFilename>>2]|0; - $6613 = (_sqlite3Strlen30($6612)|0); - $6614 = ($6613|0)==(0); - if (!($6614)) { - $6615 = HEAP32[$pPager>>2]|0; - $6616 = (_sqlite3PagerWalSupported($6615)|0); - $6617 = ($6616|0)!=(0); - if ($6617) { + if ($6650) { + $6651 = HEAP32[$zFilename>>2]|0; + $6652 = (_sqlite3Strlen30($6651)|0); + $6653 = ($6652|0)==(0); + if (!($6653)) { + $6654 = HEAP32[$pPager>>2]|0; + $6655 = (_sqlite3PagerWalSupported($6654)|0); + $6656 = ($6655|0)!=(0); + if ($6656) { break; } } - $6618 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6618; + $6657 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6657; } } while(0); - $6619 = HEAP32[$eNew>>2]|0; - $6620 = HEAP32[$eOld>>2]|0; - $6621 = ($6619|0)!=($6620|0); - do { - if ($6621) { - $6622 = HEAP32[$eOld>>2]|0; - $6623 = ($6622|0)==(5); - $6624 = HEAP32[$eNew>>2]|0; - $6625 = ($6624|0)==(5); - $or$cond28 = $6623 | $6625; - if ($or$cond28) { - $6626 = HEAP32[$db>>2]|0; - $6627 = ((($6626)) + 63|0); - $6628 = HEAP8[$6627>>0]|0; - $6629 = ($6628<<24>>24)!=(0); - if ($6629) { - $6630 = HEAP32[$db>>2]|0; - $6631 = ((($6630)) + 152|0); - $6632 = HEAP32[$6631>>2]|0; - $6633 = ($6632|0)>(1); - if (!($6633)) { - $6638 = HEAP32[$eOld>>2]|0; - $6639 = ($6638|0)==(5); - if ($6639) { - $6640 = HEAP32[$pPager>>2]|0; - $6641 = (_sqlite3PagerCloseWal($6640)|0); - HEAP32[$rc>>2] = $6641; - $6642 = HEAP32[$rc>>2]|0; - $6643 = ($6642|0)==(0); - if ($6643) { - $6644 = HEAP32[$pPager>>2]|0; - $6645 = HEAP32[$eNew>>2]|0; - (_sqlite3PagerSetJournalMode($6644,$6645)|0); - } - } else { - $6646 = HEAP32[$eOld>>2]|0; - $6647 = ($6646|0)==(4); - if ($6647) { - $6648 = HEAP32[$pPager>>2]|0; - (_sqlite3PagerSetJournalMode($6648,2)|0); - } - } - $6649 = HEAP32[$rc>>2]|0; - $6650 = ($6649|0)==(0); - if (!($6650)) { - break; - } - $6651 = HEAP32[$pBt98>>2]|0; - $6652 = HEAP32[$eNew>>2]|0; - $6653 = ($6652|0)==(5); - $6654 = $6653 ? 2 : 1; - $6655 = (_sqlite3BtreeSetVersion($6651,$6654)|0); - HEAP32[$rc>>2] = $6655; - break; - } + $6658 = HEAP32[$eNew>>2]|0; + $6659 = HEAP32[$eOld>>2]|0; + $6660 = ($6658|0)!=($6659|0); + if ($6660) { + $6661 = HEAP32[$eOld>>2]|0; + $6662 = ($6661|0)==(5); + $6663 = HEAP32[$eNew>>2]|0; + $6664 = ($6663|0)==(5); + $or$cond22 = $6662 | $6664; + if ($or$cond22) { + $6665 = HEAP32[$db>>2]|0; + $6666 = ((($6665)) + 67|0); + $6667 = HEAP8[$6666>>0]|0; + $6668 = ($6667<<24>>24)!=(0); + if (!($6668)) { + label = 787; + break L8; + } + $6669 = HEAP32[$db>>2]|0; + $6670 = ((($6669)) + 156|0); + $6671 = HEAP32[$6670>>2]|0; + $6672 = ($6671|0)>(1); + if ($6672) { + label = 787; + break L8; + } + $6677 = HEAP32[$eOld>>2]|0; + $6678 = ($6677|0)==(5); + if ($6678) { + $6679 = HEAP32[$pPager>>2]|0; + $6680 = (_sqlite3PagerCloseWal($6679)|0); + HEAP32[$rc>>2] = $6680; + $6681 = HEAP32[$rc>>2]|0; + $6682 = ($6681|0)==(0); + if ($6682) { + $6683 = HEAP32[$pPager>>2]|0; + $6684 = HEAP32[$eNew>>2]|0; + (_sqlite3PagerSetJournalMode($6683,$6684)|0); } - HEAP32[$rc>>2] = 1; - $6634 = HEAP32[$0>>2]|0; - $6635 = HEAP32[$eNew>>2]|0; - $6636 = ($6635|0)==(5); - $6637 = $6636 ? 41185 : 41190; - HEAP32[$vararg_buffer70>>2] = $6637; - _sqlite3VdbeError($6634,41197,$vararg_buffer70); - break L11; + } else { + $6685 = HEAP32[$eOld>>2]|0; + $6686 = ($6685|0)==(4); + if ($6686) { + $6687 = HEAP32[$pPager>>2]|0; + (_sqlite3PagerSetJournalMode($6687,2)|0); + } + } + $6688 = HEAP32[$rc>>2]|0; + $6689 = ($6688|0)==(0); + if ($6689) { + $6690 = HEAP32[$pBt97>>2]|0; + $6691 = HEAP32[$eNew>>2]|0; + $6692 = ($6691|0)==(5); + $6693 = $6692 ? 2 : 1; + $6694 = (_sqlite3BtreeSetVersion($6690,$6693)|0); + HEAP32[$rc>>2] = $6694; } } - } while(0); - $6656 = HEAP32[$rc>>2]|0; - $6657 = ($6656|0)!=(0); - if ($6657) { - $6658 = HEAP32[$eOld>>2]|0; - HEAP32[$eNew>>2] = $6658; } - $6659 = HEAP32[$pPager>>2]|0; - $6660 = HEAP32[$eNew>>2]|0; - $6661 = (_sqlite3PagerSetJournalMode($6659,$6660)|0); - HEAP32[$eNew>>2] = $6661; - $6662 = HEAP32[$pOut>>2]|0; - $6663 = ((($6662)) + 8|0); - HEAP16[$6663>>1] = 2562; - $6664 = HEAP32[$eNew>>2]|0; - $6665 = (_sqlite3JournalModename($6664)|0); - $6666 = HEAP32[$pOut>>2]|0; - $6667 = ((($6666)) + 16|0); - HEAP32[$6667>>2] = $6665; - $6668 = HEAP32[$pOut>>2]|0; - $6669 = ((($6668)) + 16|0); - $6670 = HEAP32[$6669>>2]|0; - $6671 = (_sqlite3Strlen30($6670)|0); - $6672 = HEAP32[$pOut>>2]|0; - $6673 = ((($6672)) + 12|0); - HEAP32[$6673>>2] = $6671; - $6674 = HEAP32[$pOut>>2]|0; - $6675 = ((($6674)) + 10|0); - HEAP8[$6675>>0] = 1; - $6676 = HEAP32[$pOut>>2]|0; - $6677 = HEAP8[$encoding>>0]|0; - $6678 = $6677&255; - (_sqlite3VdbeChangeEncoding($6676,$6678)|0); + $6695 = HEAP32[$rc>>2]|0; + $6696 = ($6695|0)!=(0); + if ($6696) { + $6697 = HEAP32[$eOld>>2]|0; + HEAP32[$eNew>>2] = $6697; + } + $6698 = HEAP32[$pPager>>2]|0; + $6699 = HEAP32[$eNew>>2]|0; + $6700 = (_sqlite3PagerSetJournalMode($6698,$6699)|0); + HEAP32[$eNew>>2] = $6700; + $6701 = HEAP32[$pOut>>2]|0; + $6702 = ((($6701)) + 8|0); + HEAP16[$6702>>1] = 2562; + $6703 = HEAP32[$eNew>>2]|0; + $6704 = (_sqlite3JournalModename($6703)|0); + $6705 = HEAP32[$pOut>>2]|0; + $6706 = ((($6705)) + 16|0); + HEAP32[$6706>>2] = $6704; + $6707 = HEAP32[$pOut>>2]|0; + $6708 = ((($6707)) + 16|0); + $6709 = HEAP32[$6708>>2]|0; + $6710 = (_sqlite3Strlen30($6709)|0); + $6711 = HEAP32[$pOut>>2]|0; + $6712 = ((($6711)) + 12|0); + HEAP32[$6712>>2] = $6710; + $6713 = HEAP32[$pOut>>2]|0; + $6714 = ((($6713)) + 10|0); + HEAP8[$6714>>0] = 1; + $6715 = HEAP32[$pOut>>2]|0; + $6716 = HEAP8[$encoding>>0]|0; + $6717 = $6716&255; + (_sqlite3VdbeChangeEncoding($6715,$6717)|0); + $6718 = HEAP32[$rc>>2]|0; + $6719 = ($6718|0)!=(0); + if ($6719) { + break L1; + } break; } case 10: { - $6679 = HEAP32[$0>>2]|0; - $6680 = ((($6679)) + 44|0); - $6681 = HEAP32[$db>>2]|0; - $6682 = (_sqlite3RunVacuum($6680,$6681)|0); - HEAP32[$rc>>2] = $6682; + $6720 = HEAP32[$0>>2]|0; + $6721 = ((($6720)) + 44|0); + $6722 = HEAP32[$db>>2]|0; + $6723 = (_sqlite3RunVacuum($6721,$6722)|0); + HEAP32[$rc>>2] = $6723; + $6724 = HEAP32[$rc>>2]|0; + $6725 = ($6724|0)!=(0); + if ($6725) { + break L1; + } break; } case 146: { - $6683 = HEAP32[$pOp>>2]|0; - $6684 = ((($6683)) + 4|0); - $6685 = HEAP32[$6684>>2]|0; - $6686 = HEAP32[$db>>2]|0; - $6687 = ((($6686)) + 16|0); - $6688 = HEAP32[$6687>>2]|0; - $6689 = (($6688) + ($6685<<4)|0); - $6690 = ((($6689)) + 4|0); - $6691 = HEAP32[$6690>>2]|0; - HEAP32[$pBt99>>2] = $6691; - $6692 = HEAP32[$pBt99>>2]|0; - $6693 = (_sqlite3BtreeIncrVacuum($6692)|0); - HEAP32[$rc>>2] = $6693; - $6694 = HEAP32[$rc>>2]|0; - $6695 = ($6694|0)==(101); - if ($6695) { + $6726 = HEAP32[$pOp>>2]|0; + $6727 = ((($6726)) + 4|0); + $6728 = HEAP32[$6727>>2]|0; + $6729 = HEAP32[$db>>2]|0; + $6730 = ((($6729)) + 16|0); + $6731 = HEAP32[$6730>>2]|0; + $6732 = (($6731) + ($6728<<4)|0); + $6733 = ((($6732)) + 4|0); + $6734 = HEAP32[$6733>>2]|0; + HEAP32[$pBt98>>2] = $6734; + $6735 = HEAP32[$pBt98>>2]|0; + $6736 = (_sqlite3BtreeIncrVacuum($6735)|0); + HEAP32[$rc>>2] = $6736; + $6737 = HEAP32[$rc>>2]|0; + $6738 = ($6737|0)!=(0); + if ($6738) { + $6739 = HEAP32[$rc>>2]|0; + $6740 = ($6739|0)!=(101); + if ($6740) { + break L1; + } HEAP32[$rc>>2] = 0; - label = 15; + label = 14; } break; } case 147: { - $6696 = HEAP32[$pOp>>2]|0; - $6697 = ((($6696)) + 4|0); - $6698 = HEAP32[$6697>>2]|0; - $6699 = ($6698|0)!=(0); - if ($6699) { - $6701 = HEAP32[$0>>2]|0; - $6702 = ((($6701)) + 88|0); - $6703 = HEAP16[$6702>>1]|0; - $6704 = $6703 & -9; - $6705 = $6704 | 8; - HEAP16[$6702>>1] = $6705; - break L11; + $6741 = HEAP32[$pOp>>2]|0; + $6742 = ((($6741)) + 4|0); + $6743 = HEAP32[$6742>>2]|0; + $6744 = ($6743|0)!=(0); + if ($6744) { + $6746 = HEAP32[$0>>2]|0; + $6747 = ((($6746)) + 87|0); + $6748 = HEAP8[$6747>>0]|0; + $6749 = $6748 & -2; + $6750 = $6749 | 1; + HEAP8[$6747>>0] = $6750; + break L10; } else { - $6700 = HEAP32[$db>>2]|0; - _sqlite3ExpirePreparedStatements($6700); - break L11; + $6745 = HEAP32[$db>>2]|0; + _sqlite3ExpirePreparedStatements($6745); + break L10; } break; } case 148: { - $6706 = HEAP32[$pOp>>2]|0; - $6707 = ((($6706)) + 12|0); - $6708 = HEAP32[$6707>>2]|0; - $6709 = $6708&255; - HEAP8[$isWriteLock>>0] = $6709; - $6710 = HEAP8[$isWriteLock>>0]|0; - $6711 = $6710&255; - $6712 = ($6711|0)!=(0); - if (!($6712)) { - $6713 = HEAP32[$db>>2]|0; - $6714 = ((($6713)) + 24|0); - $6715 = HEAP32[$6714>>2]|0; - $6716 = $6715 & 16384; - $6717 = (0)==($6716|0); - if (!($6717)) { - break L11; + $6751 = HEAP32[$pOp>>2]|0; + $6752 = ((($6751)) + 12|0); + $6753 = HEAP32[$6752>>2]|0; + $6754 = $6753&255; + HEAP8[$isWriteLock>>0] = $6754; + $6755 = HEAP8[$isWriteLock>>0]|0; + $6756 = $6755&255; + $6757 = ($6756|0)!=(0); + if (!($6757)) { + $6758 = HEAP32[$db>>2]|0; + $6759 = ((($6758)) + 24|0); + $6760 = HEAP32[$6759>>2]|0; + $6761 = $6760 & 16384; + $6762 = (0)==($6761|0); + if (!($6762)) { + break L10; } } - $6718 = HEAP32[$pOp>>2]|0; - $6719 = ((($6718)) + 4|0); - $6720 = HEAP32[$6719>>2]|0; - HEAP32[$p1100>>2] = $6720; - $6721 = HEAP32[$p1100>>2]|0; - $6722 = HEAP32[$db>>2]|0; - $6723 = ((($6722)) + 16|0); - $6724 = HEAP32[$6723>>2]|0; - $6725 = (($6724) + ($6721<<4)|0); - $6726 = ((($6725)) + 4|0); - $6727 = HEAP32[$6726>>2]|0; - $6728 = HEAP32[$pOp>>2]|0; - $6729 = ((($6728)) + 8|0); - $6730 = HEAP32[$6729>>2]|0; - $6731 = HEAP8[$isWriteLock>>0]|0; - $6732 = (_sqlite3BtreeLockTable($6727,$6730,$6731)|0); - HEAP32[$rc>>2] = $6732; - $6733 = HEAP32[$rc>>2]|0; - $6734 = $6733 & 255; - $6735 = ($6734|0)==(6); - if ($6735) { - $6736 = HEAP32[$pOp>>2]|0; - $6737 = ((($6736)) + 16|0); - $6738 = HEAP32[$6737>>2]|0; - HEAP32[$z101>>2] = $6738; - $6739 = HEAP32[$0>>2]|0; - $6740 = HEAP32[$z101>>2]|0; - HEAP32[$vararg_buffer73>>2] = $6740; - _sqlite3VdbeError($6739,41249,$vararg_buffer73); + $6763 = HEAP32[$pOp>>2]|0; + $6764 = ((($6763)) + 4|0); + $6765 = HEAP32[$6764>>2]|0; + HEAP32[$p199>>2] = $6765; + $6766 = HEAP32[$p199>>2]|0; + $6767 = HEAP32[$db>>2]|0; + $6768 = ((($6767)) + 16|0); + $6769 = HEAP32[$6768>>2]|0; + $6770 = (($6769) + ($6766<<4)|0); + $6771 = ((($6770)) + 4|0); + $6772 = HEAP32[$6771>>2]|0; + $6773 = HEAP32[$pOp>>2]|0; + $6774 = ((($6773)) + 8|0); + $6775 = HEAP32[$6774>>2]|0; + $6776 = HEAP8[$isWriteLock>>0]|0; + $6777 = (_sqlite3BtreeLockTable($6772,$6775,$6776)|0); + HEAP32[$rc>>2] = $6777; + $6778 = HEAP32[$rc>>2]|0; + $6779 = ($6778|0)!=(0); + if ($6779) { + label = 808; + break L8; } break; } case 149: { - $6741 = HEAP32[$pOp>>2]|0; - $6742 = ((($6741)) + 16|0); - $6743 = HEAP32[$6742>>2]|0; - HEAP32[$pVTab>>2] = $6743; - $6744 = HEAP32[$db>>2]|0; - $6745 = HEAP32[$pVTab>>2]|0; - $6746 = (_sqlite3VtabBegin($6744,$6745)|0); - HEAP32[$rc>>2] = $6746; - $6747 = HEAP32[$pVTab>>2]|0; - $6748 = ($6747|0)!=(0|0); - if ($6748) { - $6749 = HEAP32[$0>>2]|0; - $6750 = HEAP32[$pVTab>>2]|0; - $6751 = ((($6750)) + 8|0); - $6752 = HEAP32[$6751>>2]|0; - _sqlite3VtabImportErrmsg($6749,$6752); + $6788 = HEAP32[$pOp>>2]|0; + $6789 = ((($6788)) + 16|0); + $6790 = HEAP32[$6789>>2]|0; + HEAP32[$pVTab>>2] = $6790; + $6791 = HEAP32[$db>>2]|0; + $6792 = HEAP32[$pVTab>>2]|0; + $6793 = (_sqlite3VtabBegin($6791,$6792)|0); + HEAP32[$rc>>2] = $6793; + $6794 = HEAP32[$pVTab>>2]|0; + $6795 = ($6794|0)!=(0|0); + if ($6795) { + $6796 = HEAP32[$0>>2]|0; + $6797 = HEAP32[$pVTab>>2]|0; + $6798 = ((($6797)) + 8|0); + $6799 = HEAP32[$6798>>2]|0; + _sqlite3VtabImportErrmsg($6796,$6799); + } + $6800 = HEAP32[$rc>>2]|0; + $6801 = ($6800|0)!=(0); + if ($6801) { + break L1; } break; } case 150: { - dest=$sMem102; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6753 = HEAP32[$db>>2]|0; - $6754 = ((($sMem102)) + 32|0); - HEAP32[$6754>>2] = $6753; - $6755 = HEAP32[$pOp>>2]|0; - $6756 = ((($6755)) + 8|0); - $6757 = HEAP32[$6756>>2]|0; - $6758 = HEAP32[$aMem>>2]|0; - $6759 = (($6758) + (($6757*40)|0)|0); - $6760 = (_sqlite3VdbeMemCopy($sMem102,$6759)|0); - HEAP32[$rc>>2] = $6760; - $6761 = (_sqlite3_value_text($sMem102)|0); - HEAP32[$zTab>>2] = $6761; - $6762 = HEAP32[$zTab>>2]|0; - $6763 = ($6762|0)!=(0|0); - if ($6763) { - $6764 = HEAP32[$db>>2]|0; - $6765 = HEAP32[$pOp>>2]|0; - $6766 = ((($6765)) + 4|0); - $6767 = HEAP32[$6766>>2]|0; - $6768 = HEAP32[$zTab>>2]|0; - $6769 = HEAP32[$0>>2]|0; - $6770 = ((($6769)) + 44|0); - $6771 = (_sqlite3VtabCallCreate($6764,$6767,$6768,$6770)|0); - HEAP32[$rc>>2] = $6771; + dest=$sMem101; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6802 = HEAP32[$db>>2]|0; + $6803 = ((($sMem101)) + 32|0); + HEAP32[$6803>>2] = $6802; + $6804 = HEAP32[$pOp>>2]|0; + $6805 = ((($6804)) + 8|0); + $6806 = HEAP32[$6805>>2]|0; + $6807 = HEAP32[$aMem>>2]|0; + $6808 = (($6807) + (($6806*40)|0)|0); + $6809 = (_sqlite3VdbeMemCopy($sMem101,$6808)|0); + HEAP32[$rc>>2] = $6809; + $6810 = (_sqlite3_value_text($sMem101)|0); + HEAP32[$zTab>>2] = $6810; + $6811 = HEAP32[$zTab>>2]|0; + $6812 = ($6811|0)!=(0|0); + if ($6812) { + $6813 = HEAP32[$db>>2]|0; + $6814 = HEAP32[$pOp>>2]|0; + $6815 = ((($6814)) + 4|0); + $6816 = HEAP32[$6815>>2]|0; + $6817 = HEAP32[$zTab>>2]|0; + $6818 = HEAP32[$0>>2]|0; + $6819 = ((($6818)) + 44|0); + $6820 = (_sqlite3VtabCallCreate($6813,$6816,$6817,$6819)|0); + HEAP32[$rc>>2] = $6820; + } + _sqlite3VdbeMemRelease($sMem101); + $6821 = HEAP32[$rc>>2]|0; + $6822 = ($6821|0)!=(0); + if ($6822) { + break L1; } - _sqlite3VdbeMemRelease($sMem102); break; } case 151: { - $6772 = HEAP32[$db>>2]|0; - $6773 = ((($6772)) + 164|0); - $6774 = HEAP32[$6773>>2]|0; - $6775 = (($6774) + 1)|0; - HEAP32[$6773>>2] = $6775; - $6776 = HEAP32[$db>>2]|0; - $6777 = HEAP32[$pOp>>2]|0; - $6778 = ((($6777)) + 4|0); - $6779 = HEAP32[$6778>>2]|0; - $6780 = HEAP32[$pOp>>2]|0; - $6781 = ((($6780)) + 16|0); - $6782 = HEAP32[$6781>>2]|0; - $6783 = (_sqlite3VtabCallDestroy($6776,$6779,$6782)|0); - HEAP32[$rc>>2] = $6783; - $6784 = HEAP32[$db>>2]|0; - $6785 = ((($6784)) + 164|0); - $6786 = HEAP32[$6785>>2]|0; - $6787 = (($6786) + -1)|0; - HEAP32[$6785>>2] = $6787; + $6823 = HEAP32[$db>>2]|0; + $6824 = ((($6823)) + 168|0); + $6825 = HEAP32[$6824>>2]|0; + $6826 = (($6825) + 1)|0; + HEAP32[$6824>>2] = $6826; + $6827 = HEAP32[$db>>2]|0; + $6828 = HEAP32[$pOp>>2]|0; + $6829 = ((($6828)) + 4|0); + $6830 = HEAP32[$6829>>2]|0; + $6831 = HEAP32[$pOp>>2]|0; + $6832 = ((($6831)) + 16|0); + $6833 = HEAP32[$6832>>2]|0; + $6834 = (_sqlite3VtabCallDestroy($6827,$6830,$6833)|0); + HEAP32[$rc>>2] = $6834; + $6835 = HEAP32[$db>>2]|0; + $6836 = ((($6835)) + 168|0); + $6837 = HEAP32[$6836>>2]|0; + $6838 = (($6837) + -1)|0; + HEAP32[$6836>>2] = $6838; + $6839 = HEAP32[$rc>>2]|0; + $6840 = ($6839|0)!=(0); + if ($6840) { + break L1; + } break; } case 152: { - HEAP32[$pCur103>>2] = 0; + HEAP32[$pCur102>>2] = 0; HEAP32[$pVCur>>2] = 0; - $6788 = HEAP32[$pOp>>2]|0; - $6789 = ((($6788)) + 16|0); - $6790 = HEAP32[$6789>>2]|0; - $6791 = ((($6790)) + 8|0); - $6792 = HEAP32[$6791>>2]|0; - HEAP32[$pVtab104>>2] = $6792; - $6793 = HEAP32[$pVtab104>>2]|0; - $6794 = ($6793|0)==(0|0); - if (!($6794)) { - $6795 = HEAP32[$pVtab104>>2]|0; - $6796 = HEAP32[$6795>>2]|0; - $6797 = ($6796|0)==(0|0); - if (!($6797)) { - $6798 = HEAP32[$pVtab104>>2]|0; - $6799 = HEAP32[$6798>>2]|0; - HEAP32[$pModule105>>2] = $6799; - $6800 = HEAP32[$pModule105>>2]|0; - $6801 = ((($6800)) + 24|0); - $6802 = HEAP32[$6801>>2]|0; - $6803 = HEAP32[$pVtab104>>2]|0; - $6804 = (FUNCTION_TABLE_iii[$6802 & 255]($6803,$pVCur)|0); - HEAP32[$rc>>2] = $6804; - $6805 = HEAP32[$0>>2]|0; - $6806 = HEAP32[$pVtab104>>2]|0; - _sqlite3VtabImportErrmsg($6805,$6806); - $6807 = HEAP32[$rc>>2]|0; - $6808 = (0)==($6807|0); - if (!($6808)) { - break L11; - } - $6809 = HEAP32[$pVtab104>>2]|0; - $6810 = HEAP32[$pVCur>>2]|0; - HEAP32[$6810>>2] = $6809; - $6811 = HEAP32[$0>>2]|0; - $6812 = HEAP32[$pOp>>2]|0; - $6813 = ((($6812)) + 4|0); - $6814 = HEAP32[$6813>>2]|0; - $6815 = (_allocateCursor($6811,$6814,0,-1,2)|0); - HEAP32[$pCur103>>2] = $6815; - $6816 = HEAP32[$pCur103>>2]|0; - $6817 = ($6816|0)!=(0|0); - if (!($6817)) { - label = 804; - break L8; - } - $6818 = HEAP32[$pVCur>>2]|0; - $6819 = HEAP32[$pCur103>>2]|0; - $6820 = ((($6819)) + 16|0); - HEAP32[$6820>>2] = $6818; - $6821 = HEAP32[$pVtab104>>2]|0; - $6822 = ((($6821)) + 4|0); - $6823 = HEAP32[$6822>>2]|0; - $6824 = (($6823) + 1)|0; - HEAP32[$6822>>2] = $6824; - break L11; - } + $6841 = HEAP32[$pOp>>2]|0; + $6842 = ((($6841)) + 16|0); + $6843 = HEAP32[$6842>>2]|0; + $6844 = ((($6843)) + 8|0); + $6845 = HEAP32[$6844>>2]|0; + HEAP32[$pVtab103>>2] = $6845; + $6846 = HEAP32[$pVtab103>>2]|0; + $6847 = ($6846|0)==(0|0); + if ($6847) { + label = 819; + break L8; } - HEAP32[$rc>>2] = 6; + $6848 = HEAP32[$pVtab103>>2]|0; + $6849 = HEAP32[$6848>>2]|0; + $6850 = ($6849|0)==(0|0); + if ($6850) { + label = 819; + break L8; + } + $6851 = HEAP32[$pVtab103>>2]|0; + $6852 = HEAP32[$6851>>2]|0; + HEAP32[$pModule104>>2] = $6852; + $6853 = HEAP32[$pModule104>>2]|0; + $6854 = ((($6853)) + 24|0); + $6855 = HEAP32[$6854>>2]|0; + $6856 = HEAP32[$pVtab103>>2]|0; + $6857 = (FUNCTION_TABLE_iii[$6855 & 255]($6856,$pVCur)|0); + HEAP32[$rc>>2] = $6857; + $6858 = HEAP32[$0>>2]|0; + $6859 = HEAP32[$pVtab103>>2]|0; + _sqlite3VtabImportErrmsg($6858,$6859); + $6860 = HEAP32[$rc>>2]|0; + $6861 = ($6860|0)!=(0); + if ($6861) { + break L1; + } + $6862 = HEAP32[$pVtab103>>2]|0; + $6863 = HEAP32[$pVCur>>2]|0; + HEAP32[$6863>>2] = $6862; + $6864 = HEAP32[$0>>2]|0; + $6865 = HEAP32[$pOp>>2]|0; + $6866 = ((($6865)) + 4|0); + $6867 = HEAP32[$6866>>2]|0; + $6868 = (_allocateCursor($6864,$6867,0,-1,2)|0); + HEAP32[$pCur102>>2] = $6868; + $6869 = HEAP32[$pCur102>>2]|0; + $6870 = ($6869|0)!=(0|0); + if (!($6870)) { + label = 823; + break L8; + } + $6871 = HEAP32[$pVCur>>2]|0; + $6872 = HEAP32[$pCur102>>2]|0; + $6873 = ((($6872)) + 16|0); + HEAP32[$6873>>2] = $6871; + $6874 = HEAP32[$pVtab103>>2]|0; + $6875 = ((($6874)) + 4|0); + $6876 = HEAP32[$6875>>2]|0; + $6877 = (($6876) + 1)|0; + HEAP32[$6875>>2] = $6877; break; } case 11: { - $6829 = HEAP32[$pOp>>2]|0; - $6830 = ((($6829)) + 12|0); - $6831 = HEAP32[$6830>>2]|0; - $6832 = HEAP32[$aMem>>2]|0; - $6833 = (($6832) + (($6831*40)|0)|0); - HEAP32[$pQuery>>2] = $6833; - $6834 = HEAP32[$pQuery>>2]|0; - $6835 = ((($6834)) + 40|0); - HEAP32[$pArgc>>2] = $6835; - $6836 = HEAP32[$pOp>>2]|0; - $6837 = ((($6836)) + 4|0); - $6838 = HEAP32[$6837>>2]|0; - $6839 = HEAP32[$0>>2]|0; - $6840 = ((($6839)) + 56|0); - $6841 = HEAP32[$6840>>2]|0; - $6842 = (($6841) + ($6838<<2)|0); - $6843 = HEAP32[$6842>>2]|0; - HEAP32[$pCur109>>2] = $6843; - $6844 = HEAP32[$pCur109>>2]|0; - $6845 = ((($6844)) + 16|0); - $6846 = HEAP32[$6845>>2]|0; - HEAP32[$pVCur107>>2] = $6846; - $6847 = HEAP32[$pVCur107>>2]|0; - $6848 = HEAP32[$6847>>2]|0; - HEAP32[$pVtab108>>2] = $6848; - $6849 = HEAP32[$pVtab108>>2]|0; - $6850 = HEAP32[$6849>>2]|0; - HEAP32[$pModule106>>2] = $6850; - $6851 = HEAP32[$pArgc>>2]|0; - $6852 = $6851; - $6853 = $6852; - $6854 = HEAP32[$6853>>2]|0; - $6855 = (($6852) + 4)|0; - $6856 = $6855; - $6857 = HEAP32[$6856>>2]|0; - HEAP32[$nArg>>2] = $6854; - $6858 = HEAP32[$pQuery>>2]|0; - $6859 = $6858; - $6860 = $6859; - $6861 = HEAP32[$6860>>2]|0; - $6862 = (($6859) + 4)|0; - $6863 = $6862; - $6864 = HEAP32[$6863>>2]|0; - HEAP32[$iQuery>>2] = $6861; - HEAP32[$res110>>2] = 0; - $6865 = HEAP32[$0>>2]|0; - $6866 = ((($6865)) + 12|0); - $6867 = HEAP32[$6866>>2]|0; - HEAP32[$apArg>>2] = $6867; - HEAP32[$i111>>2] = 0; + $6882 = HEAP32[$pOp>>2]|0; + $6883 = ((($6882)) + 12|0); + $6884 = HEAP32[$6883>>2]|0; + $6885 = HEAP32[$aMem>>2]|0; + $6886 = (($6885) + (($6884*40)|0)|0); + HEAP32[$pQuery>>2] = $6886; + $6887 = HEAP32[$pQuery>>2]|0; + $6888 = ((($6887)) + 40|0); + HEAP32[$pArgc>>2] = $6888; + $6889 = HEAP32[$pOp>>2]|0; + $6890 = ((($6889)) + 4|0); + $6891 = HEAP32[$6890>>2]|0; + $6892 = HEAP32[$0>>2]|0; + $6893 = ((($6892)) + 56|0); + $6894 = HEAP32[$6893>>2]|0; + $6895 = (($6894) + ($6891<<2)|0); + $6896 = HEAP32[$6895>>2]|0; + HEAP32[$pCur108>>2] = $6896; + $6897 = HEAP32[$pCur108>>2]|0; + $6898 = ((($6897)) + 16|0); + $6899 = HEAP32[$6898>>2]|0; + HEAP32[$pVCur106>>2] = $6899; + $6900 = HEAP32[$pVCur106>>2]|0; + $6901 = HEAP32[$6900>>2]|0; + HEAP32[$pVtab107>>2] = $6901; + $6902 = HEAP32[$pVtab107>>2]|0; + $6903 = HEAP32[$6902>>2]|0; + HEAP32[$pModule105>>2] = $6903; + $6904 = HEAP32[$pArgc>>2]|0; + $6905 = $6904; + $6906 = $6905; + $6907 = HEAP32[$6906>>2]|0; + $6908 = (($6905) + 4)|0; + $6909 = $6908; + $6910 = HEAP32[$6909>>2]|0; + HEAP32[$nArg>>2] = $6907; + $6911 = HEAP32[$pQuery>>2]|0; + $6912 = $6911; + $6913 = $6912; + $6914 = HEAP32[$6913>>2]|0; + $6915 = (($6912) + 4)|0; + $6916 = $6915; + $6917 = HEAP32[$6916>>2]|0; + HEAP32[$iQuery>>2] = $6914; + HEAP32[$res109>>2] = 0; + $6918 = HEAP32[$0>>2]|0; + $6919 = ((($6918)) + 12|0); + $6920 = HEAP32[$6919>>2]|0; + HEAP32[$apArg>>2] = $6920; + HEAP32[$i110>>2] = 0; while(1) { - $6868 = HEAP32[$i111>>2]|0; - $6869 = HEAP32[$nArg>>2]|0; - $6870 = ($6868|0)<($6869|0); - if (!($6870)) { + $6921 = HEAP32[$i110>>2]|0; + $6922 = HEAP32[$nArg>>2]|0; + $6923 = ($6921|0)<($6922|0); + if (!($6923)) { break; } - $6871 = HEAP32[$i111>>2]|0; - $6872 = (($6871) + 1)|0; - $6873 = HEAP32[$pArgc>>2]|0; - $6874 = (($6873) + (($6872*40)|0)|0); - $6875 = HEAP32[$i111>>2]|0; - $6876 = HEAP32[$apArg>>2]|0; - $6877 = (($6876) + ($6875<<2)|0); - HEAP32[$6877>>2] = $6874; - $6878 = HEAP32[$i111>>2]|0; - $6879 = (($6878) + 1)|0; - HEAP32[$i111>>2] = $6879; + $6924 = HEAP32[$i110>>2]|0; + $6925 = (($6924) + 1)|0; + $6926 = HEAP32[$pArgc>>2]|0; + $6927 = (($6926) + (($6925*40)|0)|0); + $6928 = HEAP32[$i110>>2]|0; + $6929 = HEAP32[$apArg>>2]|0; + $6930 = (($6929) + ($6928<<2)|0); + HEAP32[$6930>>2] = $6927; + $6931 = HEAP32[$i110>>2]|0; + $6932 = (($6931) + 1)|0; + HEAP32[$i110>>2] = $6932; } - $6880 = HEAP32[$pModule106>>2]|0; - $6881 = ((($6880)) + 32|0); - $6882 = HEAP32[$6881>>2]|0; - $6883 = HEAP32[$pVCur107>>2]|0; - $6884 = HEAP32[$iQuery>>2]|0; - $6885 = HEAP32[$pOp>>2]|0; - $6886 = ((($6885)) + 16|0); - $6887 = HEAP32[$6886>>2]|0; - $6888 = HEAP32[$nArg>>2]|0; - $6889 = HEAP32[$apArg>>2]|0; - $6890 = (FUNCTION_TABLE_iiiiii[$6882 & 255]($6883,$6884,$6887,$6888,$6889)|0); - HEAP32[$rc>>2] = $6890; - $6891 = HEAP32[$0>>2]|0; - $6892 = HEAP32[$pVtab108>>2]|0; - _sqlite3VtabImportErrmsg($6891,$6892); - $6893 = HEAP32[$rc>>2]|0; - $6894 = ($6893|0)==(0); - if ($6894) { - $6895 = HEAP32[$pModule106>>2]|0; - $6896 = ((($6895)) + 40|0); - $6897 = HEAP32[$6896>>2]|0; - $6898 = HEAP32[$pVCur107>>2]|0; - $6899 = (FUNCTION_TABLE_ii[$6897 & 255]($6898)|0); - HEAP32[$res110>>2] = $6899; + $6933 = HEAP32[$pModule105>>2]|0; + $6934 = ((($6933)) + 32|0); + $6935 = HEAP32[$6934>>2]|0; + $6936 = HEAP32[$pVCur106>>2]|0; + $6937 = HEAP32[$iQuery>>2]|0; + $6938 = HEAP32[$pOp>>2]|0; + $6939 = ((($6938)) + 16|0); + $6940 = HEAP32[$6939>>2]|0; + $6941 = HEAP32[$nArg>>2]|0; + $6942 = HEAP32[$apArg>>2]|0; + $6943 = (FUNCTION_TABLE_iiiiii[$6935 & 255]($6936,$6937,$6940,$6941,$6942)|0); + HEAP32[$rc>>2] = $6943; + $6944 = HEAP32[$0>>2]|0; + $6945 = HEAP32[$pVtab107>>2]|0; + _sqlite3VtabImportErrmsg($6944,$6945); + $6946 = HEAP32[$rc>>2]|0; + $6947 = ($6946|0)!=(0); + if ($6947) { + break L1; } - $6900 = HEAP32[$pCur109>>2]|0; - $6901 = ((($6900)) + 2|0); - HEAP8[$6901>>0] = 0; - $6902 = HEAP32[$res110>>2]|0; - $6903 = ($6902|0)!=(0); - if ($6903) { - label = 15; + $6948 = HEAP32[$pModule105>>2]|0; + $6949 = ((($6948)) + 40|0); + $6950 = HEAP32[$6949>>2]|0; + $6951 = HEAP32[$pVCur106>>2]|0; + $6952 = (FUNCTION_TABLE_ii[$6950 & 255]($6951)|0); + HEAP32[$res109>>2] = $6952; + $6953 = HEAP32[$pCur108>>2]|0; + $6954 = ((($6953)) + 2|0); + HEAP8[$6954>>0] = 0; + $6955 = HEAP32[$res109>>2]|0; + $6956 = ($6955|0)!=(0); + if ($6956) { + label = 14; } break; } case 153: { - $6904 = HEAP32[$pOp>>2]|0; - $6905 = ((($6904)) + 4|0); - $6906 = HEAP32[$6905>>2]|0; - $6907 = HEAP32[$0>>2]|0; - $6908 = ((($6907)) + 56|0); - $6909 = HEAP32[$6908>>2]|0; - $6910 = (($6909) + ($6906<<2)|0); - $6911 = HEAP32[$6910>>2]|0; - HEAP32[$pCur115>>2] = $6911; - $6912 = HEAP32[$pOp>>2]|0; - $6913 = ((($6912)) + 12|0); - $6914 = HEAP32[$6913>>2]|0; - $6915 = HEAP32[$aMem>>2]|0; - $6916 = (($6915) + (($6914*40)|0)|0); - HEAP32[$pDest114>>2] = $6916; - $6917 = HEAP32[$pCur115>>2]|0; - $6918 = ((($6917)) + 2|0); - $6919 = HEAP8[$6918>>0]|0; - $6920 = ($6919<<24>>24)!=(0); - if ($6920) { - $6921 = HEAP32[$pDest114>>2]|0; - _sqlite3VdbeMemSetNull($6921); - break L11; + $6957 = HEAP32[$pOp>>2]|0; + $6958 = ((($6957)) + 4|0); + $6959 = HEAP32[$6958>>2]|0; + $6960 = HEAP32[$0>>2]|0; + $6961 = ((($6960)) + 56|0); + $6962 = HEAP32[$6961>>2]|0; + $6963 = (($6962) + ($6959<<2)|0); + $6964 = HEAP32[$6963>>2]|0; + HEAP32[$pCur114>>2] = $6964; + $6965 = HEAP32[$pOp>>2]|0; + $6966 = ((($6965)) + 12|0); + $6967 = HEAP32[$6966>>2]|0; + $6968 = HEAP32[$aMem>>2]|0; + $6969 = (($6968) + (($6967*40)|0)|0); + HEAP32[$pDest113>>2] = $6969; + $6970 = HEAP32[$pCur114>>2]|0; + $6971 = ((($6970)) + 2|0); + $6972 = HEAP8[$6971>>0]|0; + $6973 = ($6972<<24>>24)!=(0); + if ($6973) { + $6974 = HEAP32[$pDest113>>2]|0; + _sqlite3VdbeMemSetNull($6974); + break L10; } - $6922 = HEAP32[$pCur115>>2]|0; - $6923 = ((($6922)) + 16|0); - $6924 = HEAP32[$6923>>2]|0; - $6925 = HEAP32[$6924>>2]|0; - HEAP32[$pVtab112>>2] = $6925; - $6926 = HEAP32[$pVtab112>>2]|0; - $6927 = HEAP32[$6926>>2]|0; - HEAP32[$pModule113>>2] = $6927; + $6975 = HEAP32[$pCur114>>2]|0; + $6976 = ((($6975)) + 16|0); + $6977 = HEAP32[$6976>>2]|0; + $6978 = HEAP32[$6977>>2]|0; + HEAP32[$pVtab111>>2] = $6978; + $6979 = HEAP32[$pVtab111>>2]|0; + $6980 = HEAP32[$6979>>2]|0; + HEAP32[$pModule112>>2] = $6980; ;HEAP32[$sContext>>2]=0|0;HEAP32[$sContext+4>>2]=0|0;HEAP32[$sContext+8>>2]=0|0;HEAP32[$sContext+12>>2]=0|0;HEAP32[$sContext+16>>2]=0|0;HEAP32[$sContext+20>>2]=0|0;HEAP32[$sContext+24>>2]=0|0;HEAP32[$sContext+28>>2]=0|0; - $6928 = HEAP32[$pDest114>>2]|0; - HEAP32[$sContext>>2] = $6928; - $6929 = HEAP32[$pDest114>>2]|0; - $6930 = ((($6929)) + 8|0); - $6931 = HEAP16[$6930>>1]|0; - $6932 = $6931&65535; - $6933 = $6932 & -49664; - $6934 = $6933 | 1; - $6935 = $6934&65535; - $6936 = HEAP32[$pDest114>>2]|0; - $6937 = ((($6936)) + 8|0); - HEAP16[$6937>>1] = $6935; - $6938 = HEAP32[$pModule113>>2]|0; - $6939 = ((($6938)) + 44|0); - $6940 = HEAP32[$6939>>2]|0; - $6941 = HEAP32[$pCur115>>2]|0; - $6942 = ((($6941)) + 16|0); - $6943 = HEAP32[$6942>>2]|0; - $6944 = HEAP32[$pOp>>2]|0; - $6945 = ((($6944)) + 8|0); - $6946 = HEAP32[$6945>>2]|0; - $6947 = (FUNCTION_TABLE_iiii[$6940 & 255]($6943,$sContext,$6946)|0); - HEAP32[$rc>>2] = $6947; - $6948 = HEAP32[$0>>2]|0; - $6949 = HEAP32[$pVtab112>>2]|0; - _sqlite3VtabImportErrmsg($6948,$6949); - $6950 = ((($sContext)) + 20|0); - $6951 = HEAP32[$6950>>2]|0; - $6952 = ($6951|0)!=(0); - if ($6952) { - $6953 = ((($sContext)) + 20|0); - $6954 = HEAP32[$6953>>2]|0; - HEAP32[$rc>>2] = $6954; + $6981 = HEAP32[$pDest113>>2]|0; + HEAP32[$sContext>>2] = $6981; + $6982 = HEAP32[$pDest113>>2]|0; + $6983 = ((($6982)) + 8|0); + $6984 = HEAP16[$6983>>1]|0; + $6985 = $6984&65535; + $6986 = $6985 & -49664; + $6987 = $6986 | 1; + $6988 = $6987&65535; + $6989 = HEAP32[$pDest113>>2]|0; + $6990 = ((($6989)) + 8|0); + HEAP16[$6990>>1] = $6988; + $6991 = HEAP32[$pModule112>>2]|0; + $6992 = ((($6991)) + 44|0); + $6993 = HEAP32[$6992>>2]|0; + $6994 = HEAP32[$pCur114>>2]|0; + $6995 = ((($6994)) + 16|0); + $6996 = HEAP32[$6995>>2]|0; + $6997 = HEAP32[$pOp>>2]|0; + $6998 = ((($6997)) + 8|0); + $6999 = HEAP32[$6998>>2]|0; + $7000 = (FUNCTION_TABLE_iiii[$6993 & 255]($6996,$sContext,$6999)|0); + HEAP32[$rc>>2] = $7000; + $7001 = HEAP32[$0>>2]|0; + $7002 = HEAP32[$pVtab111>>2]|0; + _sqlite3VtabImportErrmsg($7001,$7002); + $7003 = ((($sContext)) + 20|0); + $7004 = HEAP32[$7003>>2]|0; + $7005 = ($7004|0)!=(0); + if ($7005) { + $7006 = ((($sContext)) + 20|0); + $7007 = HEAP32[$7006>>2]|0; + HEAP32[$rc>>2] = $7007; } - $6955 = HEAP32[$pDest114>>2]|0; - $6956 = HEAP8[$encoding>>0]|0; - $6957 = $6956&255; - (_sqlite3VdbeChangeEncoding($6955,$6957)|0); - $6958 = HEAP32[$pDest114>>2]|0; - $6959 = (_sqlite3VdbeMemTooBig($6958)|0); - $6960 = ($6959|0)!=(0); - if ($6960) { - label = 859; + $7008 = HEAP32[$pDest113>>2]|0; + $7009 = HEAP8[$encoding>>0]|0; + $7010 = $7009&255; + (_sqlite3VdbeChangeEncoding($7008,$7010)|0); + $7011 = HEAP32[$pDest113>>2]|0; + $7012 = (_sqlite3VdbeMemTooBig($7011)|0); + $7013 = ($7012|0)!=(0); + if ($7013) { + label = 882; break L8; } + $7014 = HEAP32[$rc>>2]|0; + $7015 = ($7014|0)!=(0); + if ($7015) { + break L1; + } break; } case 154: { - HEAP32[$res118>>2] = 0; - $6961 = HEAP32[$pOp>>2]|0; - $6962 = ((($6961)) + 4|0); - $6963 = HEAP32[$6962>>2]|0; - $6964 = HEAP32[$0>>2]|0; - $6965 = ((($6964)) + 56|0); - $6966 = HEAP32[$6965>>2]|0; - $6967 = (($6966) + ($6963<<2)|0); - $6968 = HEAP32[$6967>>2]|0; - HEAP32[$pCur119>>2] = $6968; - $6969 = HEAP32[$pCur119>>2]|0; - $6970 = ((($6969)) + 2|0); - $6971 = HEAP8[$6970>>0]|0; - $6972 = ($6971<<24>>24)!=(0); - if (!($6972)) { - $6973 = HEAP32[$pCur119>>2]|0; - $6974 = ((($6973)) + 16|0); - $6975 = HEAP32[$6974>>2]|0; - $6976 = HEAP32[$6975>>2]|0; - HEAP32[$pVtab116>>2] = $6976; - $6977 = HEAP32[$pVtab116>>2]|0; - $6978 = HEAP32[$6977>>2]|0; - HEAP32[$pModule117>>2] = $6978; - $6979 = HEAP32[$pModule117>>2]|0; - $6980 = ((($6979)) + 36|0); - $6981 = HEAP32[$6980>>2]|0; - $6982 = HEAP32[$pCur119>>2]|0; - $6983 = ((($6982)) + 16|0); - $6984 = HEAP32[$6983>>2]|0; - $6985 = (FUNCTION_TABLE_ii[$6981 & 255]($6984)|0); - HEAP32[$rc>>2] = $6985; - $6986 = HEAP32[$0>>2]|0; - $6987 = HEAP32[$pVtab116>>2]|0; - _sqlite3VtabImportErrmsg($6986,$6987); - $6988 = HEAP32[$rc>>2]|0; - $6989 = ($6988|0)==(0); - if ($6989) { - $6990 = HEAP32[$pModule117>>2]|0; - $6991 = ((($6990)) + 40|0); - $6992 = HEAP32[$6991>>2]|0; - $6993 = HEAP32[$pCur119>>2]|0; - $6994 = ((($6993)) + 16|0); - $6995 = HEAP32[$6994>>2]|0; - $6996 = (FUNCTION_TABLE_ii[$6992 & 255]($6995)|0); - HEAP32[$res118>>2] = $6996; + HEAP32[$res117>>2] = 0; + $7016 = HEAP32[$pOp>>2]|0; + $7017 = ((($7016)) + 4|0); + $7018 = HEAP32[$7017>>2]|0; + $7019 = HEAP32[$0>>2]|0; + $7020 = ((($7019)) + 56|0); + $7021 = HEAP32[$7020>>2]|0; + $7022 = (($7021) + ($7018<<2)|0); + $7023 = HEAP32[$7022>>2]|0; + HEAP32[$pCur118>>2] = $7023; + $7024 = HEAP32[$pCur118>>2]|0; + $7025 = ((($7024)) + 2|0); + $7026 = HEAP8[$7025>>0]|0; + $7027 = ($7026<<24>>24)!=(0); + if (!($7027)) { + $7028 = HEAP32[$pCur118>>2]|0; + $7029 = ((($7028)) + 16|0); + $7030 = HEAP32[$7029>>2]|0; + $7031 = HEAP32[$7030>>2]|0; + HEAP32[$pVtab115>>2] = $7031; + $7032 = HEAP32[$pVtab115>>2]|0; + $7033 = HEAP32[$7032>>2]|0; + HEAP32[$pModule116>>2] = $7033; + $7034 = HEAP32[$pModule116>>2]|0; + $7035 = ((($7034)) + 36|0); + $7036 = HEAP32[$7035>>2]|0; + $7037 = HEAP32[$pCur118>>2]|0; + $7038 = ((($7037)) + 16|0); + $7039 = HEAP32[$7038>>2]|0; + $7040 = (FUNCTION_TABLE_ii[$7036 & 255]($7039)|0); + HEAP32[$rc>>2] = $7040; + $7041 = HEAP32[$0>>2]|0; + $7042 = HEAP32[$pVtab115>>2]|0; + _sqlite3VtabImportErrmsg($7041,$7042); + $7043 = HEAP32[$rc>>2]|0; + $7044 = ($7043|0)!=(0); + if ($7044) { + break L1; } - $6997 = HEAP32[$res118>>2]|0; - $6998 = ($6997|0)!=(0); - if ($6998) { - label = 9; - } else { + $7045 = HEAP32[$pModule116>>2]|0; + $7046 = ((($7045)) + 40|0); + $7047 = HEAP32[$7046>>2]|0; + $7048 = HEAP32[$pCur118>>2]|0; + $7049 = ((($7048)) + 16|0); + $7050 = HEAP32[$7049>>2]|0; + $7051 = (FUNCTION_TABLE_ii[$7047 & 255]($7050)|0); + HEAP32[$res117>>2] = $7051; + $7052 = HEAP32[$res117>>2]|0; + $7053 = ($7052|0)!=(0); + if ($7053) { label = 8; + } else { + label = 7; } } break; } case 155: { - $6999 = HEAP32[$pOp>>2]|0; - $7000 = ((($6999)) + 16|0); - $7001 = HEAP32[$7000>>2]|0; - $7002 = ((($7001)) + 8|0); - $7003 = HEAP32[$7002>>2]|0; - HEAP32[$pVtab120>>2] = $7003; - $7004 = HEAP32[$pOp>>2]|0; - $7005 = ((($7004)) + 4|0); - $7006 = HEAP32[$7005>>2]|0; - $7007 = HEAP32[$aMem>>2]|0; - $7008 = (($7007) + (($7006*40)|0)|0); - HEAP32[$pName>>2] = $7008; - $7009 = HEAP32[$pName>>2]|0; - $7010 = (_sqlite3VdbeChangeEncoding($7009,1)|0); - HEAP32[$rc>>2] = $7010; - $7011 = HEAP32[$rc>>2]|0; - $7012 = ($7011|0)==(0); - if ($7012) { - $7013 = HEAP32[$pVtab120>>2]|0; - $7014 = HEAP32[$7013>>2]|0; - $7015 = ((($7014)) + 76|0); - $7016 = HEAP32[$7015>>2]|0; - $7017 = HEAP32[$pVtab120>>2]|0; - $7018 = HEAP32[$pName>>2]|0; - $7019 = ((($7018)) + 16|0); - $7020 = HEAP32[$7019>>2]|0; - $7021 = (FUNCTION_TABLE_iii[$7016 & 255]($7017,$7020)|0); - HEAP32[$rc>>2] = $7021; - $7022 = HEAP32[$0>>2]|0; - $7023 = HEAP32[$pVtab120>>2]|0; - _sqlite3VtabImportErrmsg($7022,$7023); - $7024 = HEAP32[$0>>2]|0; - $7025 = ((($7024)) + 88|0); - $7026 = HEAP16[$7025>>1]|0; - $7027 = $7026 & -9; - HEAP16[$7025>>1] = $7027; + $7054 = HEAP32[$pOp>>2]|0; + $7055 = ((($7054)) + 16|0); + $7056 = HEAP32[$7055>>2]|0; + $7057 = ((($7056)) + 8|0); + $7058 = HEAP32[$7057>>2]|0; + HEAP32[$pVtab119>>2] = $7058; + $7059 = HEAP32[$pOp>>2]|0; + $7060 = ((($7059)) + 4|0); + $7061 = HEAP32[$7060>>2]|0; + $7062 = HEAP32[$aMem>>2]|0; + $7063 = (($7062) + (($7061*40)|0)|0); + HEAP32[$pName>>2] = $7063; + $7064 = HEAP32[$pName>>2]|0; + $7065 = (_sqlite3VdbeChangeEncoding($7064,1)|0); + HEAP32[$rc>>2] = $7065; + $7066 = HEAP32[$rc>>2]|0; + $7067 = ($7066|0)!=(0); + if ($7067) { + break L1; + } + $7068 = HEAP32[$pVtab119>>2]|0; + $7069 = HEAP32[$7068>>2]|0; + $7070 = ((($7069)) + 76|0); + $7071 = HEAP32[$7070>>2]|0; + $7072 = HEAP32[$pVtab119>>2]|0; + $7073 = HEAP32[$pName>>2]|0; + $7074 = ((($7073)) + 16|0); + $7075 = HEAP32[$7074>>2]|0; + $7076 = (FUNCTION_TABLE_iii[$7071 & 255]($7072,$7075)|0); + HEAP32[$rc>>2] = $7076; + $7077 = HEAP32[$0>>2]|0; + $7078 = HEAP32[$pVtab119>>2]|0; + _sqlite3VtabImportErrmsg($7077,$7078); + $7079 = HEAP32[$0>>2]|0; + $7080 = ((($7079)) + 87|0); + $7081 = HEAP8[$7080>>0]|0; + $7082 = $7081 & -2; + HEAP8[$7080>>0] = $7082; + $7083 = HEAP32[$rc>>2]|0; + $7084 = ($7083|0)!=(0); + if ($7084) { + break L1; } break; } case 12: { - $7028 = HEAP32[$pOp>>2]|0; - $7029 = ((($7028)) + 16|0); - $7030 = HEAP32[$7029>>2]|0; - $7031 = ((($7030)) + 8|0); - $7032 = HEAP32[$7031>>2]|0; - HEAP32[$pVtab121>>2] = $7032; - $7033 = HEAP32[$pVtab121>>2]|0; - $7034 = ($7033|0)==(0|0); - if (!($7034)) { - $7035 = HEAP32[$pVtab121>>2]|0; - $7036 = HEAP32[$7035>>2]|0; - $7037 = ($7036|0)==(0|0); - if (!($7037)) { - $7038 = HEAP32[$pVtab121>>2]|0; - $7039 = HEAP32[$7038>>2]|0; - HEAP32[$pModule122>>2] = $7039; - $7040 = HEAP32[$pOp>>2]|0; - $7041 = ((($7040)) + 8|0); - $7042 = HEAP32[$7041>>2]|0; - HEAP32[$nArg123>>2] = $7042; - $7043 = HEAP32[$pModule122>>2]|0; - $7044 = ((($7043)) + 52|0); - $7045 = HEAP32[$7044>>2]|0; - $7046 = ($7045|0)!=(0|0); - if (!($7046)) { - break L11; - } - $7047 = HEAP32[$db>>2]|0; - $7048 = ((($7047)) + 70|0); - $7049 = HEAP8[$7048>>0]|0; - HEAP8[$vtabOnConflict>>0] = $7049; - $7050 = HEAP32[$0>>2]|0; - $7051 = ((($7050)) + 12|0); - $7052 = HEAP32[$7051>>2]|0; - HEAP32[$apArg126>>2] = $7052; - $7053 = HEAP32[$pOp>>2]|0; - $7054 = ((($7053)) + 12|0); - $7055 = HEAP32[$7054>>2]|0; - $7056 = HEAP32[$aMem>>2]|0; - $7057 = (($7056) + (($7055*40)|0)|0); - HEAP32[$pX127>>2] = $7057; - HEAP32[$i124>>2] = 0; - while(1) { - $7058 = HEAP32[$i124>>2]|0; - $7059 = HEAP32[$nArg123>>2]|0; - $7060 = ($7058|0)<($7059|0); - if (!($7060)) { - break; - } - $7061 = HEAP32[$pX127>>2]|0; - $7062 = HEAP32[$i124>>2]|0; - $7063 = HEAP32[$apArg126>>2]|0; - $7064 = (($7063) + ($7062<<2)|0); - HEAP32[$7064>>2] = $7061; - $7065 = HEAP32[$pX127>>2]|0; - $7066 = ((($7065)) + 40|0); - HEAP32[$pX127>>2] = $7066; - $7067 = HEAP32[$i124>>2]|0; - $7068 = (($7067) + 1)|0; - HEAP32[$i124>>2] = $7068; + $7085 = HEAP32[$pOp>>2]|0; + $7086 = ((($7085)) + 16|0); + $7087 = HEAP32[$7086>>2]|0; + $7088 = ((($7087)) + 8|0); + $7089 = HEAP32[$7088>>2]|0; + HEAP32[$pVtab120>>2] = $7089; + $7090 = HEAP32[$pVtab120>>2]|0; + $7091 = ($7090|0)==(0|0); + if ($7091) { + label = 842; + break L8; + } + $7092 = HEAP32[$pVtab120>>2]|0; + $7093 = HEAP32[$7092>>2]|0; + $7094 = ($7093|0)==(0|0); + if ($7094) { + label = 842; + break L8; + } + $7095 = HEAP32[$pVtab120>>2]|0; + $7096 = HEAP32[$7095>>2]|0; + HEAP32[$pModule121>>2] = $7096; + $7097 = HEAP32[$pOp>>2]|0; + $7098 = ((($7097)) + 8|0); + $7099 = HEAP32[$7098>>2]|0; + HEAP32[$nArg122>>2] = $7099; + $7100 = HEAP32[$pModule121>>2]|0; + $7101 = ((($7100)) + 52|0); + $7102 = HEAP32[$7101>>2]|0; + $7103 = ($7102|0)!=(0|0); + if ($7103) { + $7104 = HEAP32[$db>>2]|0; + $7105 = ((($7104)) + 74|0); + $7106 = HEAP8[$7105>>0]|0; + HEAP8[$vtabOnConflict>>0] = $7106; + $7107 = HEAP32[$0>>2]|0; + $7108 = ((($7107)) + 12|0); + $7109 = HEAP32[$7108>>2]|0; + HEAP32[$apArg125>>2] = $7109; + $7110 = HEAP32[$pOp>>2]|0; + $7111 = ((($7110)) + 12|0); + $7112 = HEAP32[$7111>>2]|0; + $7113 = HEAP32[$aMem>>2]|0; + $7114 = (($7113) + (($7112*40)|0)|0); + HEAP32[$pX126>>2] = $7114; + HEAP32[$i123>>2] = 0; + while(1) { + $7115 = HEAP32[$i123>>2]|0; + $7116 = HEAP32[$nArg122>>2]|0; + $7117 = ($7115|0)<($7116|0); + if (!($7117)) { + break; } - $7069 = HEAP32[$pOp>>2]|0; - $7070 = ((($7069)) + 3|0); - $7071 = HEAP8[$7070>>0]|0; - $7072 = HEAP32[$db>>2]|0; - $7073 = ((($7072)) + 70|0); - HEAP8[$7073>>0] = $7071; - $7074 = HEAP32[$pModule122>>2]|0; - $7075 = ((($7074)) + 52|0); - $7076 = HEAP32[$7075>>2]|0; - $7077 = HEAP32[$pVtab121>>2]|0; - $7078 = HEAP32[$nArg123>>2]|0; - $7079 = HEAP32[$apArg126>>2]|0; - $7080 = (FUNCTION_TABLE_iiiii[$7076 & 255]($7077,$7078,$7079,$rowid125)|0); - HEAP32[$rc>>2] = $7080; - $7081 = HEAP8[$vtabOnConflict>>0]|0; - $7082 = HEAP32[$db>>2]|0; - $7083 = ((($7082)) + 70|0); - HEAP8[$7083>>0] = $7081; - $7084 = HEAP32[$0>>2]|0; - $7085 = HEAP32[$pVtab121>>2]|0; - _sqlite3VtabImportErrmsg($7084,$7085); - $7086 = HEAP32[$rc>>2]|0; - $7087 = ($7086|0)==(0); - if ($7087) { - $7088 = HEAP32[$pOp>>2]|0; - $7089 = ((($7088)) + 4|0); - $7090 = HEAP32[$7089>>2]|0; - $7091 = ($7090|0)!=(0); - if ($7091) { - $7092 = $rowid125; - $7093 = $7092; - $7094 = HEAP32[$7093>>2]|0; - $7095 = (($7092) + 4)|0; - $7096 = $7095; - $7097 = HEAP32[$7096>>2]|0; - $7098 = $lastRowid; - $7099 = $7098; - HEAP32[$7099>>2] = $7094; - $7100 = (($7098) + 4)|0; - $7101 = $7100; - HEAP32[$7101>>2] = $7097; - $7102 = HEAP32[$db>>2]|0; - $7103 = ((($7102)) + 32|0); - $7104 = $7103; - $7105 = $7104; - HEAP32[$7105>>2] = $7094; - $7106 = (($7104) + 4)|0; - $7107 = $7106; - HEAP32[$7107>>2] = $7097; - } + $7118 = HEAP32[$pX126>>2]|0; + $7119 = HEAP32[$i123>>2]|0; + $7120 = HEAP32[$apArg125>>2]|0; + $7121 = (($7120) + ($7119<<2)|0); + HEAP32[$7121>>2] = $7118; + $7122 = HEAP32[$pX126>>2]|0; + $7123 = ((($7122)) + 40|0); + HEAP32[$pX126>>2] = $7123; + $7124 = HEAP32[$i123>>2]|0; + $7125 = (($7124) + 1)|0; + HEAP32[$i123>>2] = $7125; + } + $7126 = HEAP32[$pOp>>2]|0; + $7127 = ((($7126)) + 3|0); + $7128 = HEAP8[$7127>>0]|0; + $7129 = HEAP32[$db>>2]|0; + $7130 = ((($7129)) + 74|0); + HEAP8[$7130>>0] = $7128; + $7131 = HEAP32[$pModule121>>2]|0; + $7132 = ((($7131)) + 52|0); + $7133 = HEAP32[$7132>>2]|0; + $7134 = HEAP32[$pVtab120>>2]|0; + $7135 = HEAP32[$nArg122>>2]|0; + $7136 = HEAP32[$apArg125>>2]|0; + $7137 = (FUNCTION_TABLE_iiiii[$7133 & 255]($7134,$7135,$7136,$rowid124)|0); + HEAP32[$rc>>2] = $7137; + $7138 = HEAP8[$vtabOnConflict>>0]|0; + $7139 = HEAP32[$db>>2]|0; + $7140 = ((($7139)) + 74|0); + HEAP8[$7140>>0] = $7138; + $7141 = HEAP32[$0>>2]|0; + $7142 = HEAP32[$pVtab120>>2]|0; + _sqlite3VtabImportErrmsg($7141,$7142); + $7143 = HEAP32[$rc>>2]|0; + $7144 = ($7143|0)==(0); + if ($7144) { + $7145 = HEAP32[$pOp>>2]|0; + $7146 = ((($7145)) + 4|0); + $7147 = HEAP32[$7146>>2]|0; + $7148 = ($7147|0)!=(0); + if ($7148) { + $7149 = $rowid124; + $7150 = $7149; + $7151 = HEAP32[$7150>>2]|0; + $7152 = (($7149) + 4)|0; + $7153 = $7152; + $7154 = HEAP32[$7153>>2]|0; + $7155 = $lastRowid; + $7156 = $7155; + HEAP32[$7156>>2] = $7151; + $7157 = (($7155) + 4)|0; + $7158 = $7157; + HEAP32[$7158>>2] = $7154; + $7159 = HEAP32[$db>>2]|0; + $7160 = ((($7159)) + 32|0); + $7161 = $7160; + $7162 = $7161; + HEAP32[$7162>>2] = $7151; + $7163 = (($7161) + 4)|0; + $7164 = $7163; + HEAP32[$7164>>2] = $7154; } - $7108 = HEAP32[$rc>>2]|0; - $7109 = $7108 & 255; - $7110 = ($7109|0)==(19); - if ($7110) { - $7111 = HEAP32[$pOp>>2]|0; - $7112 = ((($7111)) + 16|0); - $7113 = HEAP32[$7112>>2]|0; - $7114 = ((($7113)) + 16|0); - $7115 = HEAP8[$7114>>0]|0; - $7116 = $7115&255; - $7117 = ($7116|0)!=(0); - if ($7117) { - $7118 = HEAP32[$pOp>>2]|0; - $7119 = ((($7118)) + 3|0); - $7120 = HEAP8[$7119>>0]|0; - $7121 = $7120&255; - $7122 = ($7121|0)==(4); - if ($7122) { + } + $7165 = HEAP32[$rc>>2]|0; + $7166 = $7165 & 255; + $7167 = ($7166|0)==(19); + do { + if ($7167) { + $7168 = HEAP32[$pOp>>2]|0; + $7169 = ((($7168)) + 16|0); + $7170 = HEAP32[$7169>>2]|0; + $7171 = ((($7170)) + 16|0); + $7172 = HEAP8[$7171>>0]|0; + $7173 = $7172&255; + $7174 = ($7173|0)!=(0); + if ($7174) { + $7175 = HEAP32[$pOp>>2]|0; + $7176 = ((($7175)) + 3|0); + $7177 = HEAP8[$7176>>0]|0; + $7178 = $7177&255; + $7179 = ($7178|0)==(4); + if ($7179) { HEAP32[$rc>>2] = 0; - break L11; + break; } - $7123 = HEAP32[$pOp>>2]|0; - $7124 = ((($7123)) + 3|0); - $7125 = HEAP8[$7124>>0]|0; - $7126 = $7125&255; - $7127 = ($7126|0)==(5); - if ($7127) { - $7133 = 2; + $7180 = HEAP32[$pOp>>2]|0; + $7181 = ((($7180)) + 3|0); + $7182 = HEAP8[$7181>>0]|0; + $7183 = $7182&255; + $7184 = ($7183|0)==(5); + if ($7184) { + $7190 = 2; } else { - $7128 = HEAP32[$pOp>>2]|0; - $7129 = ((($7128)) + 3|0); - $7130 = HEAP8[$7129>>0]|0; - $7131 = $7130&255; - $7133 = $7131; + $7185 = HEAP32[$pOp>>2]|0; + $7186 = ((($7185)) + 3|0); + $7187 = HEAP8[$7186>>0]|0; + $7188 = $7187&255; + $7190 = $7188; } - $7132 = $7133&255; - $7134 = HEAP32[$0>>2]|0; - $7135 = ((($7134)) + 86|0); - HEAP8[$7135>>0] = $7132; - break L11; + $7189 = $7190&255; + $7191 = HEAP32[$0>>2]|0; + $7192 = ((($7191)) + 86|0); + HEAP8[$7192>>0] = $7189; + } else { + label = 857; } + } else { + label = 857; } - $7136 = HEAP32[$0>>2]|0; - $7137 = ((($7136)) + 92|0); - $7138 = HEAP32[$7137>>2]|0; - $7139 = (($7138) + 1)|0; - HEAP32[$7137>>2] = $7139; - break L11; + } while(0); + if ((label|0) == 857) { + label = 0; + $7193 = HEAP32[$0>>2]|0; + $7194 = ((($7193)) + 92|0); + $7195 = HEAP32[$7194>>2]|0; + $7196 = (($7195) + 1)|0; + HEAP32[$7194>>2] = $7196; + } + $7197 = HEAP32[$rc>>2]|0; + $7198 = ($7197|0)!=(0); + if ($7198) { + break L1; } } - HEAP32[$rc>>2] = 6; break; } case 156: { - $7140 = HEAP32[$0>>2]|0; - $7141 = HEAP32[$pOp>>2]|0; - $7142 = (_out2Prerelease($7140,$7141)|0); - HEAP32[$pOut>>2] = $7142; - $7143 = HEAP32[$pOp>>2]|0; - $7144 = ((($7143)) + 4|0); - $7145 = HEAP32[$7144>>2]|0; - $7146 = HEAP32[$db>>2]|0; - $7147 = ((($7146)) + 16|0); - $7148 = HEAP32[$7147>>2]|0; - $7149 = (($7148) + ($7145<<4)|0); - $7150 = ((($7149)) + 4|0); - $7151 = HEAP32[$7150>>2]|0; - $7152 = (_sqlite3BtreeLastPage($7151)|0); - $7153 = HEAP32[$pOut>>2]|0; - $7154 = $7153; - $7155 = $7154; - HEAP32[$7155>>2] = $7152; - $7156 = (($7154) + 4)|0; - $7157 = $7156; - HEAP32[$7157>>2] = 0; + $7199 = HEAP32[$0>>2]|0; + $7200 = HEAP32[$pOp>>2]|0; + $7201 = (_out2Prerelease($7199,$7200)|0); + HEAP32[$pOut>>2] = $7201; + $7202 = HEAP32[$pOp>>2]|0; + $7203 = ((($7202)) + 4|0); + $7204 = HEAP32[$7203>>2]|0; + $7205 = HEAP32[$db>>2]|0; + $7206 = ((($7205)) + 16|0); + $7207 = HEAP32[$7206>>2]|0; + $7208 = (($7207) + ($7204<<4)|0); + $7209 = ((($7208)) + 4|0); + $7210 = HEAP32[$7209>>2]|0; + $7211 = (_sqlite3BtreeLastPage($7210)|0); + $7212 = HEAP32[$pOut>>2]|0; + $7213 = $7212; + $7214 = $7213; + HEAP32[$7214>>2] = $7211; + $7215 = (($7213) + 4)|0; + $7216 = $7215; + HEAP32[$7216>>2] = 0; break; } case 157: { - $7158 = HEAP32[$0>>2]|0; - $7159 = HEAP32[$pOp>>2]|0; - $7160 = (_out2Prerelease($7158,$7159)|0); - HEAP32[$pOut>>2] = $7160; - $7161 = HEAP32[$pOp>>2]|0; - $7162 = ((($7161)) + 4|0); - $7163 = HEAP32[$7162>>2]|0; - $7164 = HEAP32[$db>>2]|0; - $7165 = ((($7164)) + 16|0); - $7166 = HEAP32[$7165>>2]|0; - $7167 = (($7166) + ($7163<<4)|0); - $7168 = ((($7167)) + 4|0); - $7169 = HEAP32[$7168>>2]|0; - HEAP32[$pBt128>>2] = $7169; + $7217 = HEAP32[$0>>2]|0; + $7218 = HEAP32[$pOp>>2]|0; + $7219 = (_out2Prerelease($7217,$7218)|0); + HEAP32[$pOut>>2] = $7219; + $7220 = HEAP32[$pOp>>2]|0; + $7221 = ((($7220)) + 4|0); + $7222 = HEAP32[$7221>>2]|0; + $7223 = HEAP32[$db>>2]|0; + $7224 = ((($7223)) + 16|0); + $7225 = HEAP32[$7224>>2]|0; + $7226 = (($7225) + ($7222<<4)|0); + $7227 = ((($7226)) + 4|0); + $7228 = HEAP32[$7227>>2]|0; + HEAP32[$pBt127>>2] = $7228; HEAP32[$newMax>>2] = 0; - $7170 = HEAP32[$pOp>>2]|0; - $7171 = ((($7170)) + 12|0); - $7172 = HEAP32[$7171>>2]|0; - $7173 = ($7172|0)!=(0); - if ($7173) { - $7174 = HEAP32[$pBt128>>2]|0; - $7175 = (_sqlite3BtreeLastPage($7174)|0); - HEAP32[$newMax>>2] = $7175; - $7176 = HEAP32[$newMax>>2]|0; - $7177 = HEAP32[$pOp>>2]|0; - $7178 = ((($7177)) + 12|0); - $7179 = HEAP32[$7178>>2]|0; - $7180 = ($7176>>>0)<($7179>>>0); - if ($7180) { - $7181 = HEAP32[$pOp>>2]|0; - $7182 = ((($7181)) + 12|0); - $7183 = HEAP32[$7182>>2]|0; - HEAP32[$newMax>>2] = $7183; + $7229 = HEAP32[$pOp>>2]|0; + $7230 = ((($7229)) + 12|0); + $7231 = HEAP32[$7230>>2]|0; + $7232 = ($7231|0)!=(0); + if ($7232) { + $7233 = HEAP32[$pBt127>>2]|0; + $7234 = (_sqlite3BtreeLastPage($7233)|0); + HEAP32[$newMax>>2] = $7234; + $7235 = HEAP32[$newMax>>2]|0; + $7236 = HEAP32[$pOp>>2]|0; + $7237 = ((($7236)) + 12|0); + $7238 = HEAP32[$7237>>2]|0; + $7239 = ($7235>>>0)<($7238>>>0); + if ($7239) { + $7240 = HEAP32[$pOp>>2]|0; + $7241 = ((($7240)) + 12|0); + $7242 = HEAP32[$7241>>2]|0; + HEAP32[$newMax>>2] = $7242; } } - $7184 = HEAP32[$pBt128>>2]|0; - $7185 = HEAP32[$newMax>>2]|0; - $7186 = (_sqlite3BtreeMaxPageCount($7184,$7185)|0); - $7187 = ($7186|0)<(0); - $7188 = $7187 << 31 >> 31; - $7189 = HEAP32[$pOut>>2]|0; - $7190 = $7189; - $7191 = $7190; - HEAP32[$7191>>2] = $7186; - $7192 = (($7190) + 4)|0; - $7193 = $7192; - HEAP32[$7193>>2] = $7188; + $7243 = HEAP32[$pBt127>>2]|0; + $7244 = HEAP32[$newMax>>2]|0; + $7245 = (_sqlite3BtreeMaxPageCount($7243,$7244)|0); + $7246 = ($7245|0)<(0); + $7247 = $7246 << 31 >> 31; + $7248 = HEAP32[$pOut>>2]|0; + $7249 = $7248; + $7250 = $7249; + HEAP32[$7250>>2] = $7245; + $7251 = (($7249) + 4)|0; + $7252 = $7251; + HEAP32[$7252>>2] = $7247; break; } case 158: { - $7194 = HEAP32[$db>>2]|0; - $7195 = ((($7194)) + 176|0); - $7196 = HEAP32[$7195>>2]|0; - $7197 = ($7196|0)!=(0|0); - if ($7197) { - $7198 = HEAP32[$0>>2]|0; - $7199 = ((($7198)) + 88|0); - $7200 = HEAP16[$7199>>1]|0; - $7201 = ($7200&65535) >>> 9; - $7202 = $7201 & 1; - $7203 = $7202&65535; - $7204 = ($7203|0)!=(0); - if (!($7204)) { - $7205 = HEAP32[$pOp>>2]|0; - $7206 = ((($7205)) + 16|0); - $7207 = HEAP32[$7206>>2]|0; - $7208 = ($7207|0)!=(0|0); - if ($7208) { - $7209 = HEAP32[$pOp>>2]|0; - $7210 = ((($7209)) + 16|0); - $7211 = HEAP32[$7210>>2]|0; - $7215 = $7211; + $7253 = HEAP32[$db>>2]|0; + $7254 = ((($7253)) + 180|0); + $7255 = HEAP32[$7254>>2]|0; + $7256 = ($7255|0)!=(0|0); + if ($7256) { + $7257 = HEAP32[$0>>2]|0; + $7258 = ((($7257)) + 87|0); + $7259 = HEAP8[$7258>>0]|0; + $7260 = ($7259&255) >>> 1; + $7261 = $7260 & 1; + $7262 = $7261&255; + $7263 = ($7262|0)!=(0); + if (!($7263)) { + $7264 = HEAP32[$pOp>>2]|0; + $7265 = ((($7264)) + 16|0); + $7266 = HEAP32[$7265>>2]|0; + $7267 = ($7266|0)!=(0|0); + if ($7267) { + $7268 = HEAP32[$pOp>>2]|0; + $7269 = ((($7268)) + 16|0); + $7270 = HEAP32[$7269>>2]|0; + $7274 = $7270; } else { - $7212 = HEAP32[$0>>2]|0; - $7213 = ((($7212)) + 168|0); - $7214 = HEAP32[$7213>>2]|0; - $7215 = $7214; + $7271 = HEAP32[$0>>2]|0; + $7272 = ((($7271)) + 168|0); + $7273 = HEAP32[$7272>>2]|0; + $7274 = $7273; } - HEAP32[$zTrace>>2] = $7215; - $7216 = ($7215|0)!=(0|0); - if ($7216) { - $7217 = HEAP32[$0>>2]|0; - $7218 = HEAP32[$zTrace>>2]|0; - $7219 = (_sqlite3VdbeExpandSql($7217,$7218)|0); - HEAP32[$z129>>2] = $7219; - $7220 = HEAP32[$db>>2]|0; - $7221 = ((($7220)) + 176|0); - $7222 = HEAP32[$7221>>2]|0; - $7223 = HEAP32[$db>>2]|0; - $7224 = ((($7223)) + 180|0); - $7225 = HEAP32[$7224>>2]|0; - $7226 = HEAP32[$z129>>2]|0; - FUNCTION_TABLE_vii[$7222 & 255]($7225,$7226); - $7227 = HEAP32[$db>>2]|0; - $7228 = HEAP32[$z129>>2]|0; - _sqlite3DbFree($7227,$7228); + HEAP32[$zTrace>>2] = $7274; + $7275 = ($7274|0)!=(0|0); + if ($7275) { + $7276 = HEAP32[$0>>2]|0; + $7277 = HEAP32[$zTrace>>2]|0; + $7278 = (_sqlite3VdbeExpandSql($7276,$7277)|0); + HEAP32[$z128>>2] = $7278; + $7279 = HEAP32[$db>>2]|0; + $7280 = ((($7279)) + 180|0); + $7281 = HEAP32[$7280>>2]|0; + $7282 = HEAP32[$db>>2]|0; + $7283 = ((($7282)) + 184|0); + $7284 = HEAP32[$7283>>2]|0; + $7285 = HEAP32[$z128>>2]|0; + FUNCTION_TABLE_vii[$7281 & 255]($7284,$7285); + $7286 = HEAP32[$db>>2]|0; + $7287 = HEAP32[$z128>>2]|0; + _sqlite3DbFree($7286,$7287); } } } - $7229 = HEAP32[$pOp>>2]|0; - $7230 = ((($7229)) + 8|0); - $7231 = HEAP32[$7230>>2]|0; - $7232 = ($7231|0)!=(0); - if ($7232) { - label = 15; + $7288 = HEAP32[$pOp>>2]|0; + $7289 = ((($7288)) + 8|0); + $7290 = HEAP32[$7289>>2]|0; + $7291 = ($7290|0)!=(0); + if ($7291) { + label = 14; } break; } @@ -219318,1512 +220680,1704 @@ function _sqlite3VdbeExec($p) { } } } while(0); - do { - if ((label|0) == 21) { - label = 0; - $239 = HEAP32[$pOp>>2]|0; - $240 = HEAP32[$aOp>>2]|0; - $241 = $239; - $242 = $240; - $243 = (($241) - ($242))|0; - $244 = (($243|0) / 20)&-1; - HEAP32[$pcx>>2] = $244; - $245 = HEAP32[$pOp>>2]|0; - $246 = ((($245)) + 4|0); - $247 = HEAP32[$246>>2]|0; - $248 = ($247|0)==(0); - if (!($248)) { - label = 26; - break L8; - } - $249 = HEAP32[$0>>2]|0; - $250 = ((($249)) + 176|0); - $251 = HEAP32[$250>>2]|0; - $252 = ($251|0)!=(0|0); - if (!($252)) { - label = 26; - break L8; - } - $253 = HEAP32[$0>>2]|0; - $254 = ((($253)) + 176|0); - $255 = HEAP32[$254>>2]|0; - HEAP32[$pFrame>>2] = $255; - $256 = HEAP32[$pFrame>>2]|0; - $257 = ((($256)) + 4|0); - $258 = HEAP32[$257>>2]|0; - $259 = HEAP32[$0>>2]|0; - $260 = ((($259)) + 176|0); - HEAP32[$260>>2] = $258; - $261 = HEAP32[$0>>2]|0; - $262 = ((($261)) + 184|0); - $263 = HEAP32[$262>>2]|0; - $264 = (($263) + -1)|0; - HEAP32[$262>>2] = $264; - $265 = HEAP32[$db>>2]|0; - $266 = HEAP32[$0>>2]|0; - $267 = ((($266)) + 92|0); - $268 = HEAP32[$267>>2]|0; - _sqlite3VdbeSetChanges($265,$268); - $269 = HEAP32[$pFrame>>2]|0; - $270 = (_sqlite3VdbeFrameRestore($269)|0); - HEAP32[$pcx>>2] = $270; - $271 = HEAP32[$db>>2]|0; - $272 = ((($271)) + 32|0); - $273 = $272; - $274 = $273; - $275 = HEAP32[$274>>2]|0; - $276 = (($273) + 4)|0; - $277 = $276; - $278 = HEAP32[$277>>2]|0; - $279 = $lastRowid; - $280 = $279; - HEAP32[$280>>2] = $275; - $281 = (($279) + 4)|0; - $282 = $281; - HEAP32[$282>>2] = $278; - $283 = HEAP32[$pOp>>2]|0; - $284 = ((($283)) + 8|0); - $285 = HEAP32[$284>>2]|0; - $286 = ($285|0)==(4); - if ($286) { - $287 = HEAP32[$pcx>>2]|0; - $288 = HEAP32[$0>>2]|0; - $289 = ((($288)) + 4|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + (($287*20)|0)|0); - $292 = ((($291)) + 8|0); - $293 = HEAP32[$292>>2]|0; - $294 = (($293) - 1)|0; - HEAP32[$pcx>>2] = $294; - } - $295 = HEAP32[$0>>2]|0; - $296 = ((($295)) + 4|0); - $297 = HEAP32[$296>>2]|0; - HEAP32[$aOp>>2] = $297; - $298 = HEAP32[$0>>2]|0; - $299 = ((($298)) + 8|0); - $300 = HEAP32[$299>>2]|0; - HEAP32[$aMem>>2] = $300; - $301 = HEAP32[$pcx>>2]|0; - $302 = HEAP32[$aOp>>2]|0; - $303 = (($302) + (($301*20)|0)|0); - HEAP32[$pOp>>2] = $303; + if ((label|0) == 20) { + label = 0; + $237 = HEAP32[$pOp>>2]|0; + $238 = HEAP32[$aOp>>2]|0; + $239 = $237; + $240 = $238; + $241 = (($239) - ($240))|0; + $242 = (($241|0) / 20)&-1; + HEAP32[$pcx>>2] = $242; + $243 = HEAP32[$pOp>>2]|0; + $244 = ((($243)) + 4|0); + $245 = HEAP32[$244>>2]|0; + $246 = ($245|0)==(0); + if (!($246)) { + label = 25; + break; } - else if ((label|0) == 50) { - label = 0; - $476 = HEAP32[$0>>2]|0; - $477 = HEAP32[$pOp>>2]|0; - $478 = (_out2Prerelease($476,$477)|0); - HEAP32[$pOut>>2] = $478; - $479 = HEAP32[$pOut>>2]|0; - $480 = ((($479)) + 8|0); - HEAP16[$480>>1] = 2562; - $481 = HEAP32[$pOp>>2]|0; - $482 = ((($481)) + 16|0); - $483 = HEAP32[$482>>2]|0; - $484 = HEAP32[$pOut>>2]|0; - $485 = ((($484)) + 16|0); - HEAP32[$485>>2] = $483; - $486 = HEAP32[$pOp>>2]|0; - $487 = ((($486)) + 4|0); - $488 = HEAP32[$487>>2]|0; - $489 = HEAP32[$pOut>>2]|0; - $490 = ((($489)) + 12|0); - HEAP32[$490>>2] = $488; - $491 = HEAP8[$encoding>>0]|0; - $492 = HEAP32[$pOut>>2]|0; - $493 = ((($492)) + 10|0); - HEAP8[$493>>0] = $491; - $494 = HEAP32[$pOp>>2]|0; - $495 = ((($494)) + 3|0); - $496 = HEAP8[$495>>0]|0; - $497 = ($496<<24>>24)!=(0); - if ($497) { - $498 = HEAP32[$pOp>>2]|0; - $499 = ((($498)) + 12|0); - $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[$aMem>>2]|0; - $502 = (($501) + (($500*40)|0)|0); - HEAP32[$pIn3>>2] = $502; - $503 = HEAP32[$pIn3>>2]|0; - $504 = $503; - $505 = $504; - $506 = HEAP32[$505>>2]|0; - $507 = (($504) + 4)|0; - $508 = $507; - $509 = HEAP32[$508>>2]|0; - $510 = ($506|0)!=(0); - $511 = ($509|0)!=(0); - $512 = $510 | $511; - if ($512) { - $513 = HEAP32[$pOut>>2]|0; - $514 = ((($513)) + 8|0); - HEAP16[$514>>1] = 2576; - } + $247 = HEAP32[$0>>2]|0; + $248 = ((($247)) + 176|0); + $249 = HEAP32[$248>>2]|0; + $250 = ($249|0)!=(0|0); + if (!($250)) { + label = 25; + break; + } + $251 = HEAP32[$0>>2]|0; + $252 = ((($251)) + 176|0); + $253 = HEAP32[$252>>2]|0; + HEAP32[$pFrame>>2] = $253; + $254 = HEAP32[$pFrame>>2]|0; + $255 = ((($254)) + 4|0); + $256 = HEAP32[$255>>2]|0; + $257 = HEAP32[$0>>2]|0; + $258 = ((($257)) + 176|0); + HEAP32[$258>>2] = $256; + $259 = HEAP32[$0>>2]|0; + $260 = ((($259)) + 184|0); + $261 = HEAP32[$260>>2]|0; + $262 = (($261) + -1)|0; + HEAP32[$260>>2] = $262; + $263 = HEAP32[$db>>2]|0; + $264 = HEAP32[$0>>2]|0; + $265 = ((($264)) + 92|0); + $266 = HEAP32[$265>>2]|0; + _sqlite3VdbeSetChanges($263,$266); + $267 = HEAP32[$pFrame>>2]|0; + $268 = (_sqlite3VdbeFrameRestore($267)|0); + HEAP32[$pcx>>2] = $268; + $269 = HEAP32[$db>>2]|0; + $270 = ((($269)) + 32|0); + $271 = $270; + $272 = $271; + $273 = HEAP32[$272>>2]|0; + $274 = (($271) + 4)|0; + $275 = $274; + $276 = HEAP32[$275>>2]|0; + $277 = $lastRowid; + $278 = $277; + HEAP32[$278>>2] = $273; + $279 = (($277) + 4)|0; + $280 = $279; + HEAP32[$280>>2] = $276; + $281 = HEAP32[$pOp>>2]|0; + $282 = ((($281)) + 8|0); + $283 = HEAP32[$282>>2]|0; + $284 = ($283|0)==(4); + if ($284) { + $285 = HEAP32[$pcx>>2]|0; + $286 = HEAP32[$0>>2]|0; + $287 = ((($286)) + 4|0); + $288 = HEAP32[$287>>2]|0; + $289 = (($288) + (($285*20)|0)|0); + $290 = ((($289)) + 8|0); + $291 = HEAP32[$290>>2]|0; + $292 = (($291) - 1)|0; + HEAP32[$pcx>>2] = $292; + } + $293 = HEAP32[$0>>2]|0; + $294 = ((($293)) + 4|0); + $295 = HEAP32[$294>>2]|0; + HEAP32[$aOp>>2] = $295; + $296 = HEAP32[$0>>2]|0; + $297 = ((($296)) + 8|0); + $298 = HEAP32[$297>>2]|0; + HEAP32[$aMem>>2] = $298; + $299 = HEAP32[$pcx>>2]|0; + $300 = HEAP32[$aOp>>2]|0; + $301 = (($300) + (($299*20)|0)|0); + HEAP32[$pOp>>2] = $301; + } + else if ((label|0) == 49) { + label = 0; + $474 = HEAP32[$0>>2]|0; + $475 = HEAP32[$pOp>>2]|0; + $476 = (_out2Prerelease($474,$475)|0); + HEAP32[$pOut>>2] = $476; + $477 = HEAP32[$pOut>>2]|0; + $478 = ((($477)) + 8|0); + HEAP16[$478>>1] = 2562; + $479 = HEAP32[$pOp>>2]|0; + $480 = ((($479)) + 16|0); + $481 = HEAP32[$480>>2]|0; + $482 = HEAP32[$pOut>>2]|0; + $483 = ((($482)) + 16|0); + HEAP32[$483>>2] = $481; + $484 = HEAP32[$pOp>>2]|0; + $485 = ((($484)) + 4|0); + $486 = HEAP32[$485>>2]|0; + $487 = HEAP32[$pOut>>2]|0; + $488 = ((($487)) + 12|0); + HEAP32[$488>>2] = $486; + $489 = HEAP8[$encoding>>0]|0; + $490 = HEAP32[$pOut>>2]|0; + $491 = ((($490)) + 10|0); + HEAP8[$491>>0] = $489; + $492 = HEAP32[$pOp>>2]|0; + $493 = ((($492)) + 3|0); + $494 = HEAP8[$493>>0]|0; + $495 = ($494<<24>>24)!=(0); + if ($495) { + $496 = HEAP32[$pOp>>2]|0; + $497 = ((($496)) + 12|0); + $498 = HEAP32[$497>>2]|0; + $499 = HEAP32[$aMem>>2]|0; + $500 = (($499) + (($498*40)|0)|0); + HEAP32[$pIn3>>2] = $500; + $501 = HEAP32[$pIn3>>2]|0; + $502 = $501; + $503 = $502; + $504 = HEAP32[$503>>2]|0; + $505 = (($502) + 4)|0; + $506 = $505; + $507 = HEAP32[$506>>2]|0; + $508 = ($504|0)!=(0); + $509 = ($507|0)!=(0); + $510 = $508 | $509; + if ($510) { + $511 = HEAP32[$pOut>>2]|0; + $512 = ((($511)) + 8|0); + HEAP16[$512>>1] = 2576; } } - else if ((label|0) == 132) { - label = 0; - $1272 = HEAP32[$pOp>>2]|0; - $1273 = ((($1272)) + 16|0); - $1274 = HEAP32[$1273>>2]|0; - HEAP32[$pCtx4>>2] = $1274; - $1275 = HEAP32[$pOp>>2]|0; - $1276 = ((($1275)) + 12|0); - $1277 = HEAP32[$1276>>2]|0; - $1278 = HEAP32[$aMem>>2]|0; - $1279 = (($1278) + (($1277*40)|0)|0); - HEAP32[$pOut>>2] = $1279; - $1280 = HEAP32[$pCtx4>>2]|0; - $1281 = HEAP32[$1280>>2]|0; - $1282 = HEAP32[$pOut>>2]|0; - $1283 = ($1281|0)!=($1282|0); - L988: do { - if ($1283) { - $1284 = HEAP32[$pOut>>2]|0; - $1285 = HEAP32[$pCtx4>>2]|0; - HEAP32[$1285>>2] = $1284; - $1286 = HEAP32[$pCtx4>>2]|0; - $1287 = ((($1286)) + 26|0); - $1288 = HEAP8[$1287>>0]|0; - $1289 = $1288&255; - $1290 = (($1289) - 1)|0; - HEAP32[$i3>>2] = $1290; - while(1) { - $1291 = HEAP32[$i3>>2]|0; - $1292 = ($1291|0)>=(0); - if (!($1292)) { - break L988; - } - $1293 = HEAP32[$pOp>>2]|0; - $1294 = ((($1293)) + 8|0); - $1295 = HEAP32[$1294>>2]|0; - $1296 = HEAP32[$i3>>2]|0; - $1297 = (($1295) + ($1296))|0; - $1298 = HEAP32[$aMem>>2]|0; - $1299 = (($1298) + (($1297*40)|0)|0); - $1300 = HEAP32[$i3>>2]|0; - $1301 = HEAP32[$pCtx4>>2]|0; - $1302 = ((($1301)) + 28|0); - $1303 = (($1302) + ($1300<<2)|0); - HEAP32[$1303>>2] = $1299; - $1304 = HEAP32[$i3>>2]|0; - $1305 = (($1304) + -1)|0; - HEAP32[$i3>>2] = $1305; + } + else if ((label|0) == 130) { + label = 0; + $1268 = HEAP32[$pOp>>2]|0; + $1269 = ((($1268)) + 16|0); + $1270 = HEAP32[$1269>>2]|0; + HEAP32[$pCtx4>>2] = $1270; + $1271 = HEAP32[$pOp>>2]|0; + $1272 = ((($1271)) + 12|0); + $1273 = HEAP32[$1272>>2]|0; + $1274 = HEAP32[$aMem>>2]|0; + $1275 = (($1274) + (($1273*40)|0)|0); + HEAP32[$pOut>>2] = $1275; + $1276 = HEAP32[$pCtx4>>2]|0; + $1277 = HEAP32[$1276>>2]|0; + $1278 = HEAP32[$pOut>>2]|0; + $1279 = ($1277|0)!=($1278|0); + L972: do { + if ($1279) { + $1280 = HEAP32[$pOut>>2]|0; + $1281 = HEAP32[$pCtx4>>2]|0; + HEAP32[$1281>>2] = $1280; + $1282 = HEAP32[$pCtx4>>2]|0; + $1283 = ((($1282)) + 26|0); + $1284 = HEAP8[$1283>>0]|0; + $1285 = $1284&255; + $1286 = (($1285) - 1)|0; + HEAP32[$i3>>2] = $1286; + while(1) { + $1287 = HEAP32[$i3>>2]|0; + $1288 = ($1287|0)>=(0); + if (!($1288)) { + break L972; } + $1289 = HEAP32[$pOp>>2]|0; + $1290 = ((($1289)) + 8|0); + $1291 = HEAP32[$1290>>2]|0; + $1292 = HEAP32[$i3>>2]|0; + $1293 = (($1291) + ($1292))|0; + $1294 = HEAP32[$aMem>>2]|0; + $1295 = (($1294) + (($1293*40)|0)|0); + $1296 = HEAP32[$i3>>2]|0; + $1297 = HEAP32[$pCtx4>>2]|0; + $1298 = ((($1297)) + 28|0); + $1299 = (($1298) + ($1296<<2)|0); + HEAP32[$1299>>2] = $1295; + $1300 = HEAP32[$i3>>2]|0; + $1301 = (($1300) + -1)|0; + HEAP32[$i3>>2] = $1301; } - } while(0); - $1306 = HEAP32[$pCtx4>>2]|0; - $1307 = HEAP32[$1306>>2]|0; - $1308 = ((($1307)) + 8|0); - $1309 = HEAP16[$1308>>1]|0; - $1310 = $1309&65535; - $1311 = $1310 & -49664; - $1312 = $1311 | 1; - $1313 = $1312&65535; - $1314 = HEAP32[$pCtx4>>2]|0; - $1315 = HEAP32[$1314>>2]|0; - $1316 = ((($1315)) + 8|0); - HEAP16[$1316>>1] = $1313; - $1317 = HEAP32[$pCtx4>>2]|0; - $1318 = ((($1317)) + 25|0); - HEAP8[$1318>>0] = 0; - $1319 = $lastRowid; - $1320 = $1319; - $1321 = HEAP32[$1320>>2]|0; - $1322 = (($1319) + 4)|0; - $1323 = $1322; - $1324 = HEAP32[$1323>>2]|0; - $1325 = HEAP32[$db>>2]|0; - $1326 = ((($1325)) + 32|0); - $1327 = $1326; - $1328 = $1327; - HEAP32[$1328>>2] = $1321; - $1329 = (($1327) + 4)|0; - $1330 = $1329; - HEAP32[$1330>>2] = $1324; - $1331 = HEAP32[$pCtx4>>2]|0; - $1332 = ((($1331)) + 4|0); - $1333 = HEAP32[$1332>>2]|0; - $1334 = ((($1333)) + 12|0); - $1335 = HEAP32[$1334>>2]|0; - $1336 = HEAP32[$pCtx4>>2]|0; - $1337 = HEAP32[$pCtx4>>2]|0; - $1338 = ((($1337)) + 26|0); - $1339 = HEAP8[$1338>>0]|0; - $1340 = $1339&255; - $1341 = HEAP32[$pCtx4>>2]|0; - $1342 = ((($1341)) + 28|0); - FUNCTION_TABLE_viii[$1335 & 255]($1336,$1340,$1342); - $1343 = HEAP32[$db>>2]|0; - $1344 = ((($1343)) + 32|0); - $1345 = $1344; - $1346 = $1345; - $1347 = HEAP32[$1346>>2]|0; - $1348 = (($1345) + 4)|0; - $1349 = $1348; - $1350 = HEAP32[$1349>>2]|0; - $1351 = $lastRowid; - $1352 = $1351; - HEAP32[$1352>>2] = $1347; - $1353 = (($1351) + 4)|0; - $1354 = $1353; - HEAP32[$1354>>2] = $1350; + } + } while(0); + $1302 = HEAP32[$pCtx4>>2]|0; + $1303 = HEAP32[$1302>>2]|0; + $1304 = ((($1303)) + 8|0); + $1305 = HEAP16[$1304>>1]|0; + $1306 = $1305&65535; + $1307 = $1306 & -49664; + $1308 = $1307 | 1; + $1309 = $1308&65535; + $1310 = HEAP32[$pCtx4>>2]|0; + $1311 = HEAP32[$1310>>2]|0; + $1312 = ((($1311)) + 8|0); + HEAP16[$1312>>1] = $1309; + $1313 = HEAP32[$pCtx4>>2]|0; + $1314 = ((($1313)) + 25|0); + HEAP8[$1314>>0] = 0; + $1315 = $lastRowid; + $1316 = $1315; + $1317 = HEAP32[$1316>>2]|0; + $1318 = (($1315) + 4)|0; + $1319 = $1318; + $1320 = HEAP32[$1319>>2]|0; + $1321 = HEAP32[$db>>2]|0; + $1322 = ((($1321)) + 32|0); + $1323 = $1322; + $1324 = $1323; + HEAP32[$1324>>2] = $1317; + $1325 = (($1323) + 4)|0; + $1326 = $1325; + HEAP32[$1326>>2] = $1320; + $1327 = HEAP32[$pCtx4>>2]|0; + $1328 = ((($1327)) + 4|0); + $1329 = HEAP32[$1328>>2]|0; + $1330 = ((($1329)) + 12|0); + $1331 = HEAP32[$1330>>2]|0; + $1332 = HEAP32[$pCtx4>>2]|0; + $1333 = HEAP32[$pCtx4>>2]|0; + $1334 = ((($1333)) + 26|0); + $1335 = HEAP8[$1334>>0]|0; + $1336 = $1335&255; + $1337 = HEAP32[$pCtx4>>2]|0; + $1338 = ((($1337)) + 28|0); + FUNCTION_TABLE_viii[$1331 & 255]($1332,$1336,$1338); + $1339 = HEAP32[$db>>2]|0; + $1340 = ((($1339)) + 32|0); + $1341 = $1340; + $1342 = $1341; + $1343 = HEAP32[$1342>>2]|0; + $1344 = (($1341) + 4)|0; + $1345 = $1344; + $1346 = HEAP32[$1345>>2]|0; + $1347 = $lastRowid; + $1348 = $1347; + HEAP32[$1348>>2] = $1343; + $1349 = (($1347) + 4)|0; + $1350 = $1349; + HEAP32[$1350>>2] = $1346; + $1351 = HEAP32[$pCtx4>>2]|0; + $1352 = ((($1351)) + 25|0); + $1353 = HEAP8[$1352>>0]|0; + $1354 = ($1353<<24>>24)!=(0); + if ($1354) { $1355 = HEAP32[$pCtx4>>2]|0; - $1356 = ((($1355)) + 25|0); - $1357 = HEAP8[$1356>>0]|0; - $1358 = ($1357<<24>>24)!=(0); + $1356 = ((($1355)) + 20|0); + $1357 = HEAP32[$1356>>2]|0; + $1358 = ($1357|0)!=(0); if ($1358) { - $1359 = HEAP32[$pCtx4>>2]|0; - $1360 = ((($1359)) + 20|0); + $1359 = HEAP32[$0>>2]|0; + $1360 = HEAP32[$pCtx4>>2]|0; $1361 = HEAP32[$1360>>2]|0; - $1362 = ($1361|0)!=(0); - if ($1362) { - $1363 = HEAP32[$0>>2]|0; - $1364 = HEAP32[$pCtx4>>2]|0; - $1365 = HEAP32[$1364>>2]|0; - $1366 = (_sqlite3_value_text($1365)|0); - HEAP32[$vararg_buffer43>>2] = $1366; - _sqlite3VdbeError($1363,19255,$vararg_buffer43); - $1367 = HEAP32[$pCtx4>>2]|0; - $1368 = ((($1367)) + 20|0); - $1369 = HEAP32[$1368>>2]|0; - HEAP32[$rc>>2] = $1369; - } - $1370 = HEAP32[$0>>2]|0; - $1371 = HEAP32[$pCtx4>>2]|0; - $1372 = ((($1371)) + 16|0); - $1373 = HEAP32[$1372>>2]|0; - $1374 = HEAP32[$pOp>>2]|0; - $1375 = ((($1374)) + 4|0); - $1376 = HEAP32[$1375>>2]|0; - _sqlite3VdbeDeleteAuxData($1370,$1373,$1376); + $1362 = (_sqlite3_value_text($1361)|0); + HEAP32[$vararg_buffer42>>2] = $1362; + _sqlite3VdbeError($1359,18999,$vararg_buffer42); + $1363 = HEAP32[$pCtx4>>2]|0; + $1364 = ((($1363)) + 20|0); + $1365 = HEAP32[$1364>>2]|0; + HEAP32[$rc>>2] = $1365; } - $1377 = HEAP32[$pOut>>2]|0; - $1378 = ((($1377)) + 8|0); - $1379 = HEAP16[$1378>>1]|0; - $1380 = $1379&65535; - $1381 = $1380 & 18; - $1382 = ($1381|0)!=(0); - if ($1382) { - $1383 = HEAP32[$pCtx4>>2]|0; - $1384 = HEAP32[$1383>>2]|0; - $1385 = HEAP8[$encoding>>0]|0; - $1386 = $1385&255; - (_sqlite3VdbeChangeEncoding($1384,$1386)|0); - $1387 = HEAP32[$pCtx4>>2]|0; - $1388 = HEAP32[$1387>>2]|0; - $1389 = (_sqlite3VdbeMemTooBig($1388)|0); - $1390 = ($1389|0)!=(0); - if ($1390) { - label = 859; - break L8; - } + $1366 = HEAP32[$db>>2]|0; + $1367 = HEAP32[$0>>2]|0; + $1368 = ((($1367)) + 204|0); + $1369 = HEAP32[$pCtx4>>2]|0; + $1370 = ((($1369)) + 16|0); + $1371 = HEAP32[$1370>>2]|0; + $1372 = HEAP32[$pOp>>2]|0; + $1373 = ((($1372)) + 4|0); + $1374 = HEAP32[$1373>>2]|0; + _sqlite3VdbeDeleteAuxData($1366,$1368,$1371,$1374); + $1375 = HEAP32[$rc>>2]|0; + $1376 = ($1375|0)!=(0); + if ($1376) { + break L1; } } - else if ((label|0) == 438) { - label = 0; - $3588 = HEAP32[$0>>2]|0; - $3589 = ((($3588)) + 88|0); - $3590 = HEAP16[$3589>>1]|0; - $3591 = ($3590&65535) >>> 3; - $3592 = $3591 & 1; - $3593 = $3592&65535; - $3594 = ($3593|0)!=(0); - if ($3594) { - HEAP32[$rc>>2] = 516; + $1377 = HEAP32[$pOut>>2]|0; + $1378 = ((($1377)) + 8|0); + $1379 = HEAP16[$1378>>1]|0; + $1380 = $1379&65535; + $1381 = $1380 & 18; + $1382 = ($1381|0)!=(0); + if ($1382) { + $1383 = HEAP32[$pCtx4>>2]|0; + $1384 = HEAP32[$1383>>2]|0; + $1385 = HEAP8[$encoding>>0]|0; + $1386 = $1385&255; + (_sqlite3VdbeChangeEncoding($1384,$1386)|0); + $1387 = HEAP32[$pCtx4>>2]|0; + $1388 = HEAP32[$1387>>2]|0; + $1389 = (_sqlite3VdbeMemTooBig($1388)|0); + $1390 = ($1389|0)!=(0); + if ($1390) { + label = 882; break; } - HEAP32[$nField20>>2] = 0; - HEAP32[$pKeyInfo21>>2] = 0; - $3595 = HEAP32[$pOp>>2]|0; - $3596 = ((($3595)) + 8|0); - $3597 = HEAP32[$3596>>2]|0; - HEAP32[$p222>>2] = $3597; - $3598 = HEAP32[$pOp>>2]|0; - $3599 = ((($3598)) + 12|0); - $3600 = HEAP32[$3599>>2]|0; - HEAP32[$iDb23>>2] = $3600; - $3601 = HEAP32[$iDb23>>2]|0; - $3602 = HEAP32[$db>>2]|0; - $3603 = ((($3602)) + 16|0); - $3604 = HEAP32[$3603>>2]|0; - $3605 = (($3604) + ($3601<<4)|0); - HEAP32[$pDb24>>2] = $3605; - $3606 = HEAP32[$pDb24>>2]|0; - $3607 = ((($3606)) + 4|0); - $3608 = HEAP32[$3607>>2]|0; - HEAP32[$pX>>2] = $3608; - $3609 = HEAP32[$pOp>>2]|0; - $3610 = HEAP8[$3609>>0]|0; - $3611 = $3610&255; - $3612 = ($3611|0)==(55); - if ($3612) { - $3613 = HEAP32[$pOp>>2]|0; - $3614 = ((($3613)) + 3|0); - $3615 = HEAP8[$3614>>0]|0; - $3616 = $3615&255; - $3617 = $3616 & 8; - $3618 = 4 | $3617; - HEAP32[$wrFlag>>2] = $3618; - $3619 = HEAP32[$pDb24>>2]|0; - $3620 = ((($3619)) + 12|0); - $3621 = HEAP32[$3620>>2]|0; - $3622 = ((($3621)) + 76|0); - $3623 = HEAP8[$3622>>0]|0; - $3624 = $3623&255; - $3625 = HEAP32[$0>>2]|0; - $3626 = ((($3625)) + 87|0); - $3627 = HEAP8[$3626>>0]|0; - $3628 = $3627&255; - $3629 = ($3624|0)<($3628|0); - if ($3629) { - $3630 = HEAP32[$pDb24>>2]|0; - $3631 = ((($3630)) + 12|0); - $3632 = HEAP32[$3631>>2]|0; - $3633 = ((($3632)) + 76|0); - $3634 = HEAP8[$3633>>0]|0; - $3635 = HEAP32[$0>>2]|0; - $3636 = ((($3635)) + 87|0); - HEAP8[$3636>>0] = $3634; - } - } else { - HEAP32[$wrFlag>>2] = 0; - } - $3637 = HEAP32[$pOp>>2]|0; - $3638 = ((($3637)) + 3|0); - $3639 = HEAP8[$3638>>0]|0; - $3640 = $3639&255; - $3641 = $3640 & 16; - $3642 = ($3641|0)!=(0); + } + } + else if ((label|0) == 442) { + label = 0; + $3602 = HEAP32[$0>>2]|0; + $3603 = ((($3602)) + 87|0); + $3604 = HEAP8[$3603>>0]|0; + $3605 = $3604 & 1; + $3606 = $3605&255; + $3607 = ($3606|0)!=(0); + if ($3607) { + label = 443; + break; + } + HEAP32[$nField20>>2] = 0; + HEAP32[$pKeyInfo21>>2] = 0; + $3608 = HEAP32[$pOp>>2]|0; + $3609 = ((($3608)) + 8|0); + $3610 = HEAP32[$3609>>2]|0; + HEAP32[$p222>>2] = $3610; + $3611 = HEAP32[$pOp>>2]|0; + $3612 = ((($3611)) + 12|0); + $3613 = HEAP32[$3612>>2]|0; + HEAP32[$iDb23>>2] = $3613; + $3614 = HEAP32[$iDb23>>2]|0; + $3615 = HEAP32[$db>>2]|0; + $3616 = ((($3615)) + 16|0); + $3617 = HEAP32[$3616>>2]|0; + $3618 = (($3617) + ($3614<<4)|0); + HEAP32[$pDb24>>2] = $3618; + $3619 = HEAP32[$pDb24>>2]|0; + $3620 = ((($3619)) + 4|0); + $3621 = HEAP32[$3620>>2]|0; + HEAP32[$pX>>2] = $3621; + $3622 = HEAP32[$pOp>>2]|0; + $3623 = HEAP8[$3622>>0]|0; + $3624 = $3623&255; + $3625 = ($3624|0)==(55); + if ($3625) { + $3626 = HEAP32[$pOp>>2]|0; + $3627 = ((($3626)) + 3|0); + $3628 = HEAP8[$3627>>0]|0; + $3629 = $3628&255; + $3630 = $3629 & 8; + $3631 = 4 | $3630; + HEAP32[$wrFlag>>2] = $3631; + $3632 = HEAP32[$pDb24>>2]|0; + $3633 = ((($3632)) + 12|0); + $3634 = HEAP32[$3633>>2]|0; + $3635 = ((($3634)) + 76|0); + $3636 = HEAP8[$3635>>0]|0; + $3637 = $3636&255; + $3638 = HEAP32[$0>>2]|0; + $3639 = ((($3638)) + 88|0); + $3640 = HEAP8[$3639>>0]|0; + $3641 = $3640&255; + $3642 = ($3637|0)<($3641|0); if ($3642) { - $3643 = HEAP32[$p222>>2]|0; - $3644 = HEAP32[$aMem>>2]|0; - $3645 = (($3644) + (($3643*40)|0)|0); - HEAP32[$pIn2>>2] = $3645; - $3646 = HEAP32[$pIn2>>2]|0; - (_sqlite3VdbeMemIntegerify($3646)|0); - $3647 = HEAP32[$pIn2>>2]|0; - $3648 = $3647; - $3649 = $3648; - $3650 = HEAP32[$3649>>2]|0; - $3651 = (($3648) + 4)|0; - $3652 = $3651; - $3653 = HEAP32[$3652>>2]|0; - HEAP32[$p222>>2] = $3650; - $3654 = HEAP32[$p222>>2]|0; - $3655 = ($3654|0)<(2); - if ($3655) { - label = 446; - break L8; - } + $3643 = HEAP32[$pDb24>>2]|0; + $3644 = ((($3643)) + 12|0); + $3645 = HEAP32[$3644>>2]|0; + $3646 = ((($3645)) + 76|0); + $3647 = HEAP8[$3646>>0]|0; + $3648 = HEAP32[$0>>2]|0; + $3649 = ((($3648)) + 88|0); + HEAP8[$3649>>0] = $3647; } - $3657 = HEAP32[$pOp>>2]|0; - $3658 = ((($3657)) + 1|0); - $3659 = HEAP8[$3658>>0]|0; - $3660 = $3659 << 24 >> 24; - $3661 = ($3660|0)==(-6); - $3662 = HEAP32[$pOp>>2]|0; - if ($3661) { - $3663 = ((($3662)) + 16|0); - $3664 = HEAP32[$3663>>2]|0; - HEAP32[$pKeyInfo21>>2] = $3664; - $3665 = HEAP32[$pKeyInfo21>>2]|0; - $3666 = ((($3665)) + 6|0); - $3667 = HEAP16[$3666>>1]|0; - $3668 = $3667&65535; - $3669 = HEAP32[$pKeyInfo21>>2]|0; - $3670 = ((($3669)) + 8|0); - $3671 = HEAP16[$3670>>1]|0; - $3672 = $3671&65535; - $3673 = (($3668) + ($3672))|0; - HEAP32[$nField20>>2] = $3673; - } else { - $3674 = ((($3662)) + 1|0); - $3675 = HEAP8[$3674>>0]|0; - $3676 = $3675 << 24 >> 24; - $3677 = ($3676|0)==(-14); - if ($3677) { - $3678 = HEAP32[$pOp>>2]|0; - $3679 = ((($3678)) + 16|0); - $3680 = HEAP32[$3679>>2]|0; - HEAP32[$nField20>>2] = $3680; - } - } - $3681 = HEAP32[$0>>2]|0; - $3682 = HEAP32[$pOp>>2]|0; - $3683 = ((($3682)) + 4|0); - $3684 = HEAP32[$3683>>2]|0; - $3685 = HEAP32[$nField20>>2]|0; - $3686 = HEAP32[$iDb23>>2]|0; - $3687 = (_allocateCursor($3681,$3684,$3685,$3686,0)|0); - HEAP32[$pCur>>2] = $3687; - $3688 = HEAP32[$pCur>>2]|0; - $3689 = ($3688|0)==(0|0); - if ($3689) { - label = 860; - break L1; - } - $3690 = HEAP32[$pCur>>2]|0; - $3691 = ((($3690)) + 2|0); - HEAP8[$3691>>0] = 1; - $3692 = HEAP32[$pCur>>2]|0; - $3693 = ((($3692)) + 5|0); - $3694 = HEAP8[$3693>>0]|0; - $3695 = $3694 & -5; - $3696 = $3695 | 4; - HEAP8[$3693>>0] = $3696; - $3697 = HEAP32[$p222>>2]|0; - $3698 = HEAP32[$pCur>>2]|0; - $3699 = ((($3698)) + 8|0); - HEAP32[$3699>>2] = $3697; - $3700 = HEAP32[$pX>>2]|0; - $3701 = HEAP32[$p222>>2]|0; - $3702 = HEAP32[$wrFlag>>2]|0; - $3703 = HEAP32[$pKeyInfo21>>2]|0; - $3704 = HEAP32[$pCur>>2]|0; - $3705 = ((($3704)) + 16|0); - $3706 = HEAP32[$3705>>2]|0; - $3707 = (_sqlite3BtreeCursor($3700,$3701,$3702,$3703,$3706)|0); - HEAP32[$rc>>2] = $3707; - $3708 = HEAP32[$pKeyInfo21>>2]|0; - $3709 = HEAP32[$pCur>>2]|0; - $3710 = ((($3709)) + 24|0); - HEAP32[$3710>>2] = $3708; - $3711 = HEAP32[$pOp>>2]|0; - $3712 = ((($3711)) + 1|0); - $3713 = HEAP8[$3712>>0]|0; - $3714 = $3713 << 24 >> 24; - $3715 = ($3714|0)!=(-6); - $3716 = $3715&1; - $3717 = $3716&255; - $3718 = HEAP32[$pCur>>2]|0; - $3719 = ((($3718)) + 4|0); - HEAP8[$3719>>0] = $3717; - label = 453; + } else { + HEAP32[$wrFlag>>2] = 0; } - else if ((label|0) == 609) { - label = 0; - $5048 = HEAP32[$pOp>>2]|0; - $5049 = ((($5048)) + 4|0); - $5050 = HEAP32[$5049>>2]|0; - $5051 = HEAP32[$0>>2]|0; - $5052 = ((($5051)) + 56|0); - $5053 = HEAP32[$5052>>2]|0; - $5054 = (($5053) + ($5050<<2)|0); - $5055 = HEAP32[$5054>>2]|0; - HEAP32[$pC62>>2] = $5055; - HEAP32[$res64>>2] = 1; - $5056 = HEAP32[$pC62>>2]|0; - $5057 = HEAP8[$5056>>0]|0; - $5058 = $5057&255; - $5059 = ($5058|0)==(1); - $5060 = HEAP32[$pC62>>2]|0; - if ($5059) { - $5061 = (_sqlite3VdbeSorterRewind($5060,$res64)|0); - HEAP32[$rc>>2] = $5061; - } else { - $5062 = ((($5060)) + 16|0); - $5063 = HEAP32[$5062>>2]|0; - HEAP32[$pCrsr63>>2] = $5063; - $5064 = HEAP32[$pCrsr63>>2]|0; - $5065 = (_sqlite3BtreeFirst($5064,$res64)|0); - HEAP32[$rc>>2] = $5065; - $5066 = HEAP32[$pC62>>2]|0; - $5067 = ((($5066)) + 3|0); - HEAP8[$5067>>0] = 0; - $5068 = HEAP32[$pC62>>2]|0; - $5069 = ((($5068)) + 56|0); - HEAP32[$5069>>2] = 0; - } - $5070 = HEAP32[$res64>>2]|0; - $5071 = $5070&255; - $5072 = HEAP32[$pC62>>2]|0; - $5073 = ((($5072)) + 2|0); - HEAP8[$5073>>0] = $5071; - $5074 = HEAP32[$res64>>2]|0; - $5075 = ($5074|0)!=(0); - if ($5075) { - label = 15; + $3650 = HEAP32[$pOp>>2]|0; + $3651 = ((($3650)) + 3|0); + $3652 = HEAP8[$3651>>0]|0; + $3653 = $3652&255; + $3654 = $3653 & 16; + $3655 = ($3654|0)!=(0); + if ($3655) { + $3656 = HEAP32[$p222>>2]|0; + $3657 = HEAP32[$aMem>>2]|0; + $3658 = (($3657) + (($3656*40)|0)|0); + HEAP32[$pIn2>>2] = $3658; + $3659 = HEAP32[$pIn2>>2]|0; + (_sqlite3VdbeMemIntegerify($3659)|0); + $3660 = HEAP32[$pIn2>>2]|0; + $3661 = $3660; + $3662 = $3661; + $3663 = HEAP32[$3662>>2]|0; + $3664 = (($3661) + 4)|0; + $3665 = $3664; + $3666 = HEAP32[$3665>>2]|0; + HEAP32[$p222>>2] = $3663; + } + $3667 = HEAP32[$pOp>>2]|0; + $3668 = ((($3667)) + 1|0); + $3669 = HEAP8[$3668>>0]|0; + $3670 = $3669 << 24 >> 24; + $3671 = ($3670|0)==(-6); + $3672 = HEAP32[$pOp>>2]|0; + if ($3671) { + $3673 = ((($3672)) + 16|0); + $3674 = HEAP32[$3673>>2]|0; + HEAP32[$pKeyInfo21>>2] = $3674; + $3675 = HEAP32[$pKeyInfo21>>2]|0; + $3676 = ((($3675)) + 6|0); + $3677 = HEAP16[$3676>>1]|0; + $3678 = $3677&65535; + $3679 = HEAP32[$pKeyInfo21>>2]|0; + $3680 = ((($3679)) + 8|0); + $3681 = HEAP16[$3680>>1]|0; + $3682 = $3681&65535; + $3683 = (($3678) + ($3682))|0; + HEAP32[$nField20>>2] = $3683; + } else { + $3684 = ((($3672)) + 1|0); + $3685 = HEAP8[$3684>>0]|0; + $3686 = $3685 << 24 >> 24; + $3687 = ($3686|0)==(-14); + if ($3687) { + $3688 = HEAP32[$pOp>>2]|0; + $3689 = ((($3688)) + 16|0); + $3690 = HEAP32[$3689>>2]|0; + HEAP32[$nField20>>2] = $3690; } } - else if ((label|0) == 615) { - label = 0; - $5096 = HEAP32[$pOp>>2]|0; - $5097 = ((($5096)) + 4|0); - $5098 = HEAP32[$5097>>2]|0; - $5099 = HEAP32[$0>>2]|0; - $5100 = ((($5099)) + 56|0); - $5101 = HEAP32[$5100>>2]|0; - $5102 = (($5101) + ($5098<<2)|0); - $5103 = HEAP32[$5102>>2]|0; - HEAP32[$pC65>>2] = $5103; - $5104 = HEAP32[$pOp>>2]|0; - $5105 = ((($5104)) + 12|0); - $5106 = HEAP32[$5105>>2]|0; - HEAP32[$res66>>2] = $5106; - $5107 = HEAP32[$pOp>>2]|0; - $5108 = ((($5107)) + 16|0); - $5109 = HEAP32[$5108>>2]|0; - $5110 = HEAP32[$pC65>>2]|0; - $5111 = ((($5110)) + 16|0); - $5112 = HEAP32[$5111>>2]|0; - $5113 = (FUNCTION_TABLE_iii[$5109 & 255]($5112,$res66)|0); - HEAP32[$rc>>2] = $5113; - label = 616; + $3691 = HEAP32[$0>>2]|0; + $3692 = HEAP32[$pOp>>2]|0; + $3693 = ((($3692)) + 4|0); + $3694 = HEAP32[$3693>>2]|0; + $3695 = HEAP32[$nField20>>2]|0; + $3696 = HEAP32[$iDb23>>2]|0; + $3697 = (_allocateCursor($3691,$3694,$3695,$3696,0)|0); + HEAP32[$pCur>>2] = $3697; + $3698 = HEAP32[$pCur>>2]|0; + $3699 = ($3698|0)==(0|0); + if ($3699) { + label = 883; + break L1; } - else if ((label|0) == 740) { - label = 0; - $6446 = HEAP32[$pOp>>2]|0; - $6447 = ((($6446)) + 16|0); - $6448 = HEAP32[$6447>>2]|0; - HEAP32[$pCtx92>>2] = $6448; - $6449 = HEAP32[$pOp>>2]|0; - $6450 = ((($6449)) + 12|0); - $6451 = HEAP32[$6450>>2]|0; - $6452 = HEAP32[$aMem>>2]|0; - $6453 = (($6452) + (($6451*40)|0)|0); - HEAP32[$pMem93>>2] = $6453; - $6454 = HEAP32[$pCtx92>>2]|0; - $6455 = ((($6454)) + 8|0); - $6456 = HEAP32[$6455>>2]|0; - $6457 = HEAP32[$pMem93>>2]|0; - $6458 = ($6456|0)!=($6457|0); - L1026: do { - if ($6458) { - $6459 = HEAP32[$pMem93>>2]|0; - $6460 = HEAP32[$pCtx92>>2]|0; - $6461 = ((($6460)) + 8|0); - HEAP32[$6461>>2] = $6459; - $6462 = HEAP32[$pCtx92>>2]|0; - $6463 = ((($6462)) + 26|0); - $6464 = HEAP8[$6463>>0]|0; - $6465 = $6464&255; - $6466 = (($6465) - 1)|0; - HEAP32[$i91>>2] = $6466; - while(1) { - $6467 = HEAP32[$i91>>2]|0; - $6468 = ($6467|0)>=(0); - if (!($6468)) { - break L1026; - } - $6469 = HEAP32[$pOp>>2]|0; - $6470 = ((($6469)) + 8|0); - $6471 = HEAP32[$6470>>2]|0; - $6472 = HEAP32[$i91>>2]|0; - $6473 = (($6471) + ($6472))|0; - $6474 = HEAP32[$aMem>>2]|0; - $6475 = (($6474) + (($6473*40)|0)|0); - $6476 = HEAP32[$i91>>2]|0; - $6477 = HEAP32[$pCtx92>>2]|0; - $6478 = ((($6477)) + 28|0); - $6479 = (($6478) + ($6476<<2)|0); - HEAP32[$6479>>2] = $6475; - $6480 = HEAP32[$i91>>2]|0; - $6481 = (($6480) + -1)|0; - HEAP32[$i91>>2] = $6481; + $3700 = HEAP32[$pCur>>2]|0; + $3701 = ((($3700)) + 2|0); + HEAP8[$3701>>0] = 1; + $3702 = HEAP32[$pCur>>2]|0; + $3703 = ((($3702)) + 5|0); + $3704 = HEAP8[$3703>>0]|0; + $3705 = $3704 & -5; + $3706 = $3705 | 4; + HEAP8[$3703>>0] = $3706; + $3707 = HEAP32[$p222>>2]|0; + $3708 = HEAP32[$pCur>>2]|0; + $3709 = ((($3708)) + 8|0); + HEAP32[$3709>>2] = $3707; + $3710 = HEAP32[$pX>>2]|0; + $3711 = HEAP32[$p222>>2]|0; + $3712 = HEAP32[$wrFlag>>2]|0; + $3713 = HEAP32[$pKeyInfo21>>2]|0; + $3714 = HEAP32[$pCur>>2]|0; + $3715 = ((($3714)) + 16|0); + $3716 = HEAP32[$3715>>2]|0; + $3717 = (_sqlite3BtreeCursor($3710,$3711,$3712,$3713,$3716)|0); + HEAP32[$rc>>2] = $3717; + $3718 = HEAP32[$pKeyInfo21>>2]|0; + $3719 = HEAP32[$pCur>>2]|0; + $3720 = ((($3719)) + 24|0); + HEAP32[$3720>>2] = $3718; + $3721 = HEAP32[$pOp>>2]|0; + $3722 = ((($3721)) + 1|0); + $3723 = HEAP8[$3722>>0]|0; + $3724 = $3723 << 24 >> 24; + $3725 = ($3724|0)!=(-6); + $3726 = $3725&1; + $3727 = $3726&255; + $3728 = HEAP32[$pCur>>2]|0; + $3729 = ((($3728)) + 4|0); + HEAP8[$3729>>0] = $3727; + label = 456; + } + else if ((label|0) == 619) { + label = 0; + $5075 = HEAP32[$pOp>>2]|0; + $5076 = ((($5075)) + 4|0); + $5077 = HEAP32[$5076>>2]|0; + $5078 = HEAP32[$0>>2]|0; + $5079 = ((($5078)) + 56|0); + $5080 = HEAP32[$5079>>2]|0; + $5081 = (($5080) + ($5077<<2)|0); + $5082 = HEAP32[$5081>>2]|0; + HEAP32[$pC62>>2] = $5082; + HEAP32[$res64>>2] = 1; + $5083 = HEAP32[$pC62>>2]|0; + $5084 = HEAP8[$5083>>0]|0; + $5085 = $5084&255; + $5086 = ($5085|0)==(1); + $5087 = HEAP32[$pC62>>2]|0; + if ($5086) { + $5088 = (_sqlite3VdbeSorterRewind($5087,$res64)|0); + HEAP32[$rc>>2] = $5088; + } else { + $5089 = ((($5087)) + 16|0); + $5090 = HEAP32[$5089>>2]|0; + HEAP32[$pCrsr63>>2] = $5090; + $5091 = HEAP32[$pCrsr63>>2]|0; + $5092 = (_sqlite3BtreeFirst($5091,$res64)|0); + HEAP32[$rc>>2] = $5092; + $5093 = HEAP32[$pC62>>2]|0; + $5094 = ((($5093)) + 3|0); + HEAP8[$5094>>0] = 0; + $5095 = HEAP32[$pC62>>2]|0; + $5096 = ((($5095)) + 56|0); + HEAP32[$5096>>2] = 0; + } + $5097 = HEAP32[$rc>>2]|0; + $5098 = ($5097|0)!=(0); + if ($5098) { + break L1; + } + $5099 = HEAP32[$res64>>2]|0; + $5100 = $5099&255; + $5101 = HEAP32[$pC62>>2]|0; + $5102 = ((($5101)) + 2|0); + HEAP8[$5102>>0] = $5100; + $5103 = HEAP32[$res64>>2]|0; + $5104 = ($5103|0)!=(0); + if ($5104) { + label = 14; + } + } + else if ((label|0) == 626) { + label = 0; + $5125 = HEAP32[$pOp>>2]|0; + $5126 = ((($5125)) + 4|0); + $5127 = HEAP32[$5126>>2]|0; + $5128 = HEAP32[$0>>2]|0; + $5129 = ((($5128)) + 56|0); + $5130 = HEAP32[$5129>>2]|0; + $5131 = (($5130) + ($5127<<2)|0); + $5132 = HEAP32[$5131>>2]|0; + HEAP32[$pC65>>2] = $5132; + $5133 = HEAP32[$pOp>>2]|0; + $5134 = ((($5133)) + 12|0); + $5135 = HEAP32[$5134>>2]|0; + HEAP32[$res66>>2] = $5135; + $5136 = HEAP32[$pOp>>2]|0; + $5137 = ((($5136)) + 16|0); + $5138 = HEAP32[$5137>>2]|0; + $5139 = HEAP32[$pC65>>2]|0; + $5140 = ((($5139)) + 16|0); + $5141 = HEAP32[$5140>>2]|0; + $5142 = (FUNCTION_TABLE_iii[$5138 & 255]($5141,$res66)|0); + HEAP32[$rc>>2] = $5142; + label = 627; + } + else if ((label|0) == 755) { + label = 0; + $6481 = HEAP32[$pOp>>2]|0; + $6482 = ((($6481)) + 16|0); + $6483 = HEAP32[$6482>>2]|0; + HEAP32[$pCtx91>>2] = $6483; + $6484 = HEAP32[$pOp>>2]|0; + $6485 = ((($6484)) + 12|0); + $6486 = HEAP32[$6485>>2]|0; + $6487 = HEAP32[$aMem>>2]|0; + $6488 = (($6487) + (($6486*40)|0)|0); + HEAP32[$pMem92>>2] = $6488; + $6489 = HEAP32[$pCtx91>>2]|0; + $6490 = ((($6489)) + 8|0); + $6491 = HEAP32[$6490>>2]|0; + $6492 = HEAP32[$pMem92>>2]|0; + $6493 = ($6491|0)!=($6492|0); + L1009: do { + if ($6493) { + $6494 = HEAP32[$pMem92>>2]|0; + $6495 = HEAP32[$pCtx91>>2]|0; + $6496 = ((($6495)) + 8|0); + HEAP32[$6496>>2] = $6494; + $6497 = HEAP32[$pCtx91>>2]|0; + $6498 = ((($6497)) + 26|0); + $6499 = HEAP8[$6498>>0]|0; + $6500 = $6499&255; + $6501 = (($6500) - 1)|0; + HEAP32[$i90>>2] = $6501; + while(1) { + $6502 = HEAP32[$i90>>2]|0; + $6503 = ($6502|0)>=(0); + if (!($6503)) { + break L1009; } + $6504 = HEAP32[$pOp>>2]|0; + $6505 = ((($6504)) + 8|0); + $6506 = HEAP32[$6505>>2]|0; + $6507 = HEAP32[$i90>>2]|0; + $6508 = (($6506) + ($6507))|0; + $6509 = HEAP32[$aMem>>2]|0; + $6510 = (($6509) + (($6508*40)|0)|0); + $6511 = HEAP32[$i90>>2]|0; + $6512 = HEAP32[$pCtx91>>2]|0; + $6513 = ((($6512)) + 28|0); + $6514 = (($6513) + ($6511<<2)|0); + HEAP32[$6514>>2] = $6510; + $6515 = HEAP32[$i90>>2]|0; + $6516 = (($6515) + -1)|0; + HEAP32[$i90>>2] = $6516; } - } while(0); - $6482 = HEAP32[$pMem93>>2]|0; - $6483 = ((($6482)) + 12|0); - $6484 = HEAP32[$6483>>2]|0; - $6485 = (($6484) + 1)|0; - HEAP32[$6483>>2] = $6485; - $6486 = HEAP32[$db>>2]|0; - _sqlite3VdbeMemInit($t94,$6486,1); - $6487 = HEAP32[$pCtx92>>2]|0; - HEAP32[$6487>>2] = $t94; - $6488 = HEAP32[$pCtx92>>2]|0; - $6489 = ((($6488)) + 25|0); - HEAP8[$6489>>0] = 0; - $6490 = HEAP32[$pCtx92>>2]|0; - $6491 = ((($6490)) + 24|0); - HEAP8[$6491>>0] = 0; - $6492 = HEAP32[$pCtx92>>2]|0; - $6493 = ((($6492)) + 4|0); - $6494 = HEAP32[$6493>>2]|0; - $6495 = ((($6494)) + 12|0); - $6496 = HEAP32[$6495>>2]|0; - $6497 = HEAP32[$pCtx92>>2]|0; - $6498 = HEAP32[$pCtx92>>2]|0; - $6499 = ((($6498)) + 26|0); - $6500 = HEAP8[$6499>>0]|0; - $6501 = $6500&255; - $6502 = HEAP32[$pCtx92>>2]|0; - $6503 = ((($6502)) + 28|0); - FUNCTION_TABLE_viii[$6496 & 255]($6497,$6501,$6503); - $6504 = HEAP32[$pCtx92>>2]|0; - $6505 = ((($6504)) + 25|0); - $6506 = HEAP8[$6505>>0]|0; - $6507 = ($6506<<24>>24)!=(0); - if ($6507) { - $6508 = HEAP32[$pCtx92>>2]|0; - $6509 = ((($6508)) + 20|0); - $6510 = HEAP32[$6509>>2]|0; - $6511 = ($6510|0)!=(0); - if ($6511) { - $6512 = HEAP32[$0>>2]|0; - $6513 = (_sqlite3_value_text($t94)|0); - HEAP32[$vararg_buffer64>>2] = $6513; - _sqlite3VdbeError($6512,19255,$vararg_buffer64); - $6514 = HEAP32[$pCtx92>>2]|0; - $6515 = ((($6514)) + 20|0); - $6516 = HEAP32[$6515>>2]|0; - HEAP32[$rc>>2] = $6516; - } - _sqlite3VdbeMemRelease($t94); } - $6517 = HEAP32[$pCtx92>>2]|0; - $6518 = ((($6517)) + 24|0); - $6519 = HEAP8[$6518>>0]|0; - $6520 = ($6519<<24>>24)!=(0); - if ($6520) { - $6521 = HEAP32[$pOp>>2]|0; - $6522 = ((($6521)) + -20|0); - $6523 = ((($6522)) + 4|0); - $6524 = HEAP32[$6523>>2]|0; - HEAP32[$i91>>2] = $6524; - $6525 = HEAP32[$i91>>2]|0; - $6526 = ($6525|0)!=(0); - if ($6526) { - $6527 = HEAP32[$i91>>2]|0; - $6528 = HEAP32[$aMem>>2]|0; - $6529 = (($6528) + (($6527*40)|0)|0); - _sqlite3VdbeMemSetInt64($6529,1,0); - } + } while(0); + $6517 = HEAP32[$pMem92>>2]|0; + $6518 = ((($6517)) + 12|0); + $6519 = HEAP32[$6518>>2]|0; + $6520 = (($6519) + 1)|0; + HEAP32[$6518>>2] = $6520; + $6521 = HEAP32[$db>>2]|0; + _sqlite3VdbeMemInit($t93,$6521,1); + $6522 = HEAP32[$pCtx91>>2]|0; + HEAP32[$6522>>2] = $t93; + $6523 = HEAP32[$pCtx91>>2]|0; + $6524 = ((($6523)) + 25|0); + HEAP8[$6524>>0] = 0; + $6525 = HEAP32[$pCtx91>>2]|0; + $6526 = ((($6525)) + 24|0); + HEAP8[$6526>>0] = 0; + $6527 = HEAP32[$pCtx91>>2]|0; + $6528 = ((($6527)) + 4|0); + $6529 = HEAP32[$6528>>2]|0; + $6530 = ((($6529)) + 12|0); + $6531 = HEAP32[$6530>>2]|0; + $6532 = HEAP32[$pCtx91>>2]|0; + $6533 = HEAP32[$pCtx91>>2]|0; + $6534 = ((($6533)) + 26|0); + $6535 = HEAP8[$6534>>0]|0; + $6536 = $6535&255; + $6537 = HEAP32[$pCtx91>>2]|0; + $6538 = ((($6537)) + 28|0); + FUNCTION_TABLE_viii[$6531 & 255]($6532,$6536,$6538); + $6539 = HEAP32[$pCtx91>>2]|0; + $6540 = ((($6539)) + 25|0); + $6541 = HEAP8[$6540>>0]|0; + $6542 = ($6541<<24>>24)!=(0); + if ($6542) { + $6543 = HEAP32[$pCtx91>>2]|0; + $6544 = ((($6543)) + 20|0); + $6545 = HEAP32[$6544>>2]|0; + $6546 = ($6545|0)!=(0); + if ($6546) { + $6547 = HEAP32[$0>>2]|0; + $6548 = (_sqlite3_value_text($t93)|0); + HEAP32[$vararg_buffer63>>2] = $6548; + _sqlite3VdbeError($6547,18999,$vararg_buffer63); + $6549 = HEAP32[$pCtx91>>2]|0; + $6550 = ((($6549)) + 20|0); + $6551 = HEAP32[$6550>>2]|0; + HEAP32[$rc>>2] = $6551; + } + _sqlite3VdbeMemRelease($t93); + $6552 = HEAP32[$rc>>2]|0; + $6553 = ($6552|0)!=(0); + if ($6553) { + break L1; } } - } while(0); + $6554 = HEAP32[$pCtx91>>2]|0; + $6555 = ((($6554)) + 24|0); + $6556 = HEAP8[$6555>>0]|0; + $6557 = ($6556<<24>>24)!=(0); + if ($6557) { + $6558 = HEAP32[$pOp>>2]|0; + $6559 = ((($6558)) + -20|0); + $6560 = ((($6559)) + 4|0); + $6561 = HEAP32[$6560>>2]|0; + HEAP32[$i90>>2] = $6561; + $6562 = HEAP32[$i90>>2]|0; + $6563 = ($6562|0)!=(0); + if ($6563) { + $6564 = HEAP32[$i90>>2]|0; + $6565 = HEAP32[$aMem>>2]|0; + $6566 = (($6565) + (($6564*40)|0)|0); + _sqlite3VdbeMemSetInt64($6566,1,0); + } + } + } do { - if ((label|0) == 15) { + if ((label|0) == 14) { label = 0; - $132 = HEAP32[$pOp>>2]|0; - $133 = ((($132)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($134) - 1)|0; - $136 = HEAP32[$aOp>>2]|0; - $137 = (($136) + (($135*20)|0)|0); - HEAP32[$pOp>>2] = $137; + $130 = HEAP32[$pOp>>2]|0; + $131 = ((($130)) + 8|0); + $132 = HEAP32[$131>>2]|0; + $133 = (($132) - 1)|0; + $134 = HEAP32[$aOp>>2]|0; + $135 = (($134) + (($133*20)|0)|0); + HEAP32[$pOp>>2] = $135; } - else if ((label|0) == 453) { + else if ((label|0) == 456) { label = 0; - $3720 = HEAP32[$pCur>>2]|0; - $3721 = ((($3720)) + 16|0); - $3722 = HEAP32[$3721>>2]|0; - $3723 = HEAP32[$pOp>>2]|0; - $3724 = ((($3723)) + 3|0); - $3725 = HEAP8[$3724>>0]|0; - $3726 = $3725&255; - $3727 = $3726 & 3; - _sqlite3BtreeCursorHintFlags($3722,$3727); + $3730 = HEAP32[$pCur>>2]|0; + $3731 = ((($3730)) + 16|0); + $3732 = HEAP32[$3731>>2]|0; + $3733 = HEAP32[$pOp>>2]|0; + $3734 = ((($3733)) + 3|0); + $3735 = HEAP8[$3734>>0]|0; + $3736 = $3735&255; + $3737 = $3736 & 3; + _sqlite3BtreeCursorHintFlags($3732,$3737); + $3738 = HEAP32[$rc>>2]|0; + $3739 = ($3738|0)!=(0); + if ($3739) { + break L1; + } } - else if ((label|0) == 616) { + else if ((label|0) == 627) { label = 0; - $5114 = HEAP32[$pC65>>2]|0; - $5115 = ((($5114)) + 56|0); - HEAP32[$5115>>2] = 0; - $5116 = HEAP32[$res66>>2]|0; - $5117 = ($5116|0)==(0); - $5118 = HEAP32[$pC65>>2]|0; - $5119 = ((($5118)) + 2|0); - if ($5117) { - HEAP8[$5119>>0] = 0; - $5120 = HEAP32[$pOp>>2]|0; - $5121 = ((($5120)) + 3|0); - $5122 = HEAP8[$5121>>0]|0; - $5123 = $5122&255; - $5124 = HEAP32[$0>>2]|0; - $5125 = ((($5124)) + 108|0); - $5126 = (($5125) + ($5123<<2)|0); - $5127 = HEAP32[$5126>>2]|0; - $5128 = (($5127) + 1)|0; - HEAP32[$5126>>2] = $5128; - label = 8; + $5143 = HEAP32[$pC65>>2]|0; + $5144 = ((($5143)) + 56|0); + HEAP32[$5144>>2] = 0; + $5145 = HEAP32[$rc>>2]|0; + $5146 = ($5145|0)!=(0); + if ($5146) { + break L1; + } + $5147 = HEAP32[$res66>>2]|0; + $5148 = ($5147|0)==(0); + $5149 = HEAP32[$pC65>>2]|0; + $5150 = ((($5149)) + 2|0); + if ($5148) { + HEAP8[$5150>>0] = 0; + $5151 = HEAP32[$pOp>>2]|0; + $5152 = ((($5151)) + 3|0); + $5153 = HEAP8[$5152>>0]|0; + $5154 = $5153&255; + $5155 = HEAP32[$0>>2]|0; + $5156 = ((($5155)) + 108|0); + $5157 = (($5156) + ($5154<<2)|0); + $5158 = HEAP32[$5157>>2]|0; + $5159 = (($5158) + 1)|0; + HEAP32[$5157>>2] = $5159; + label = 7; break; } else { - HEAP8[$5119>>0] = 1; - label = 9; + HEAP8[$5150>>0] = 1; + label = 8; break; } } } while(0); - if ((label|0) == 8) { + if ((label|0) == 7) { label = 0; - $76 = HEAP32[$pOp>>2]|0; - $77 = ((($76)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = (($78) - 1)|0; - $80 = HEAP32[$aOp>>2]|0; - $81 = (($80) + (($79*20)|0)|0); - HEAP32[$pOp>>2] = $81; - label = 9; + $74 = HEAP32[$pOp>>2]|0; + $75 = ((($74)) + 8|0); + $76 = HEAP32[$75>>2]|0; + $77 = (($76) - 1)|0; + $78 = HEAP32[$aOp>>2]|0; + $79 = (($78) + (($77*20)|0)|0); + HEAP32[$pOp>>2] = $79; + label = 8; } - if ((label|0) == 9) { + if ((label|0) == 8) { label = 0; - $82 = HEAP32[$db>>2]|0; - $83 = ((($82)) + 240|0); - $84 = HEAP32[$83>>2]|0; - $85 = ($84|0)!=(0); - if ($85) { + $80 = HEAP32[$db>>2]|0; + $81 = ((($80)) + 248|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)!=(0); + if ($83) { break L3; } - $86 = HEAP32[$db>>2]|0; - $87 = ((($86)) + 296|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)!=(0|0); - if ($89) { - $90 = HEAP32[$nVmStep>>2]|0; - $91 = HEAP32[$nProgressLimit>>2]|0; - $92 = ($90>>>0)>=($91>>>0); - if ($92) { - $93 = HEAP32[$nVmStep>>2]|0; - $94 = HEAP32[$db>>2]|0; - $95 = ((($94)) + 304|0); - $96 = HEAP32[$95>>2]|0; - $97 = (($93) + ($96))|0; - $98 = HEAP32[$nVmStep>>2]|0; - $99 = HEAP32[$db>>2]|0; - $100 = ((($99)) + 304|0); - $101 = HEAP32[$100>>2]|0; - $102 = (($98>>>0) % ($101>>>0))&-1; - $103 = (($97) - ($102))|0; - HEAP32[$nProgressLimit>>2] = $103; - $104 = HEAP32[$db>>2]|0; - $105 = ((($104)) + 296|0); - $106 = HEAP32[$105>>2]|0; - $107 = HEAP32[$db>>2]|0; - $108 = ((($107)) + 300|0); - $109 = HEAP32[$108>>2]|0; - $110 = (FUNCTION_TABLE_ii[$106 & 255]($109)|0); - $111 = ($110|0)!=(0); - if ($111) { - label = 13; + $84 = HEAP32[$db>>2]|0; + $85 = ((($84)) + 304|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)!=(0|0); + if ($87) { + $88 = HEAP32[$nVmStep>>2]|0; + $89 = HEAP32[$nProgressLimit>>2]|0; + $90 = ($88>>>0)>=($89>>>0); + if ($90) { + $91 = HEAP32[$nVmStep>>2]|0; + $92 = HEAP32[$db>>2]|0; + $93 = ((($92)) + 312|0); + $94 = HEAP32[$93>>2]|0; + $95 = (($91) + ($94))|0; + $96 = HEAP32[$nVmStep>>2]|0; + $97 = HEAP32[$db>>2]|0; + $98 = ((($97)) + 312|0); + $99 = HEAP32[$98>>2]|0; + $100 = (($96>>>0) % ($99>>>0))&-1; + $101 = (($95) - ($100))|0; + HEAP32[$nProgressLimit>>2] = $101; + $102 = HEAP32[$db>>2]|0; + $103 = ((($102)) + 304|0); + $104 = HEAP32[$103>>2]|0; + $105 = HEAP32[$db>>2]|0; + $106 = ((($105)) + 308|0); + $107 = HEAP32[$106>>2]|0; + $108 = (FUNCTION_TABLE_ii[$104 & 255]($107)|0); + $109 = ($108|0)!=(0); + if ($109) { + label = 12; break; } } } } - $7233 = HEAP32[$pOp>>2]|0; - $7234 = ((($7233)) + 20|0); - HEAP32[$pOp>>2] = $7234; + $7292 = HEAP32[$pOp>>2]|0; + $7293 = ((($7292)) + 20|0); + HEAP32[$pOp>>2] = $7293; } switch (label|0) { - case 13: { + case 12: { HEAP32[$rc>>2] = 9; break L1; break; } - case 26: { - $304 = HEAP32[$pOp>>2]|0; - $305 = ((($304)) + 4|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[$0>>2]|0; - $308 = ((($307)) + 80|0); - HEAP32[$308>>2] = $306; - $309 = HEAP32[$pOp>>2]|0; - $310 = ((($309)) + 8|0); - $311 = HEAP32[$310>>2]|0; - $312 = $311&255; - $313 = HEAP32[$0>>2]|0; - $314 = ((($313)) + 86|0); - HEAP8[$314>>0] = $312; - $315 = HEAP32[$pcx>>2]|0; + case 25: { + $302 = HEAP32[$pOp>>2]|0; + $303 = ((($302)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = HEAP32[$0>>2]|0; + $306 = ((($305)) + 80|0); + HEAP32[$306>>2] = $304; + $307 = HEAP32[$pOp>>2]|0; + $308 = ((($307)) + 8|0); + $309 = HEAP32[$308>>2]|0; + $310 = $309&255; + $311 = HEAP32[$0>>2]|0; + $312 = ((($311)) + 86|0); + HEAP8[$312>>0] = $310; + $313 = HEAP32[$pcx>>2]|0; + $314 = HEAP32[$0>>2]|0; + $315 = ((($314)) + 76|0); + HEAP32[$315>>2] = $313; $316 = HEAP32[$0>>2]|0; - $317 = ((($316)) + 76|0); - HEAP32[$317>>2] = $315; - $318 = HEAP32[$0>>2]|0; - $319 = ((($318)) + 80|0); - $320 = HEAP32[$319>>2]|0; - $321 = ($320|0)!=(0); - if ($321) { - $322 = HEAP32[$pOp>>2]|0; - $323 = ((($322)) + 3|0); - $324 = HEAP8[$323>>0]|0; - $325 = ($324<<24>>24)!=(0); - if ($325) { - $326 = HEAP32[$pOp>>2]|0; - $327 = ((($326)) + 3|0); - $328 = HEAP8[$327>>0]|0; - $329 = $328&255; - $330 = (($329) - 1)|0; - $331 = (6408 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - HEAP32[$zType>>2] = $332; + $317 = ((($316)) + 80|0); + $318 = HEAP32[$317>>2]|0; + $319 = ($318|0)!=(0); + if ($319) { + $320 = HEAP32[$pOp>>2]|0; + $321 = ((($320)) + 3|0); + $322 = HEAP8[$321>>0]|0; + $323 = ($322<<24>>24)!=(0); + if ($323) { + $324 = HEAP32[$pOp>>2]|0; + $325 = ((($324)) + 3|0); + $326 = HEAP8[$325>>0]|0; + $327 = $326&255; + $328 = (($327) - 1)|0; + $329 = (6404 + ($328<<2)|0); + $330 = HEAP32[$329>>2]|0; + HEAP32[$zType>>2] = $330; } else { HEAP32[$zType>>2] = 0; } - HEAP32[$zLogFmt>>2] = 40646; - $333 = HEAP32[$zType>>2]|0; - $334 = ($333|0)!=(0|0); - if ($334) { - $335 = HEAP32[$pOp>>2]|0; - $336 = ((($335)) + 16|0); - $337 = HEAP32[$336>>2]|0; - $338 = ($337|0)!=(0|0); - if ($338) { - $339 = HEAP32[$0>>2]|0; - $340 = HEAP32[$zType>>2]|0; - $341 = HEAP32[$pOp>>2]|0; - $342 = ((($341)) + 16|0); - $343 = HEAP32[$342>>2]|0; - HEAP32[$vararg_buffer>>2] = $340; - $vararg_ptr31 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr31>>2] = $343; - _sqlite3VdbeError($339,40670,$vararg_buffer); + HEAP32[$zLogFmt>>2] = 40297; + $331 = HEAP32[$zType>>2]|0; + $332 = ($331|0)!=(0|0); + if ($332) { + $333 = HEAP32[$pOp>>2]|0; + $334 = ((($333)) + 16|0); + $335 = HEAP32[$334>>2]|0; + $336 = ($335|0)!=(0|0); + if ($336) { + $337 = HEAP32[$0>>2]|0; + $338 = HEAP32[$zType>>2]|0; + $339 = HEAP32[$pOp>>2]|0; + $340 = ((($339)) + 16|0); + $341 = HEAP32[$340>>2]|0; + HEAP32[$vararg_buffer>>2] = $338; + $vararg_ptr30 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr30>>2] = $341; + _sqlite3VdbeError($337,40321,$vararg_buffer); } else { - label = 33; + label = 32; } } else { - label = 33; + label = 32; } do { - if ((label|0) == 33) { - $344 = HEAP32[$pOp>>2]|0; - $345 = ((($344)) + 16|0); - $346 = HEAP32[$345>>2]|0; - $347 = ($346|0)!=(0|0); - $348 = HEAP32[$0>>2]|0; - if ($347) { - $349 = HEAP32[$pOp>>2]|0; - $350 = ((($349)) + 16|0); - $351 = HEAP32[$350>>2]|0; - HEAP32[$vararg_buffer32>>2] = $351; - _sqlite3VdbeError($348,19255,$vararg_buffer32); + if ((label|0) == 32) { + $342 = HEAP32[$pOp>>2]|0; + $343 = ((($342)) + 16|0); + $344 = HEAP32[$343>>2]|0; + $345 = ($344|0)!=(0|0); + $346 = HEAP32[$0>>2]|0; + if ($345) { + $347 = HEAP32[$pOp>>2]|0; + $348 = ((($347)) + 16|0); + $349 = HEAP32[$348>>2]|0; + HEAP32[$vararg_buffer31>>2] = $349; + _sqlite3VdbeError($346,18999,$vararg_buffer31); break; } else { - $352 = HEAP32[$zType>>2]|0; - HEAP32[$vararg_buffer35>>2] = $352; - _sqlite3VdbeError($348,40695,$vararg_buffer35); + $350 = HEAP32[$zType>>2]|0; + HEAP32[$vararg_buffer34>>2] = $350; + _sqlite3VdbeError($346,40346,$vararg_buffer34); break; } } } while(0); - $353 = HEAP32[$pOp>>2]|0; - $354 = ((($353)) + 4|0); - $355 = HEAP32[$354>>2]|0; - $356 = HEAP32[$zLogFmt>>2]|0; - $357 = HEAP32[$pcx>>2]|0; - $358 = HEAP32[$0>>2]|0; - $359 = ((($358)) + 168|0); - $360 = HEAP32[$359>>2]|0; - $361 = HEAP32[$0>>2]|0; - $362 = ((($361)) + 44|0); - $363 = HEAP32[$362>>2]|0; - HEAP32[$vararg_buffer38>>2] = $357; - $vararg_ptr41 = ((($vararg_buffer38)) + 4|0); - HEAP32[$vararg_ptr41>>2] = $360; - $vararg_ptr42 = ((($vararg_buffer38)) + 8|0); - HEAP32[$vararg_ptr42>>2] = $363; - _sqlite3_log($355,$356,$vararg_buffer38); + $351 = HEAP32[$pOp>>2]|0; + $352 = ((($351)) + 4|0); + $353 = HEAP32[$352>>2]|0; + $354 = HEAP32[$zLogFmt>>2]|0; + $355 = HEAP32[$pcx>>2]|0; + $356 = HEAP32[$0>>2]|0; + $357 = ((($356)) + 168|0); + $358 = HEAP32[$357>>2]|0; + $359 = HEAP32[$0>>2]|0; + $360 = ((($359)) + 44|0); + $361 = HEAP32[$360>>2]|0; + HEAP32[$vararg_buffer37>>2] = $355; + $vararg_ptr40 = ((($vararg_buffer37)) + 4|0); + HEAP32[$vararg_ptr40>>2] = $358; + $vararg_ptr41 = ((($vararg_buffer37)) + 8|0); + HEAP32[$vararg_ptr41>>2] = $361; + _sqlite3_log($353,$354,$vararg_buffer37); } - $364 = HEAP32[$0>>2]|0; - $365 = (_sqlite3VdbeHalt($364)|0); - HEAP32[$rc>>2] = $365; - $366 = HEAP32[$rc>>2]|0; - $367 = ($366|0)==(5); - if ($367) { + $362 = HEAP32[$0>>2]|0; + $363 = (_sqlite3VdbeHalt($362)|0); + HEAP32[$rc>>2] = $363; + $364 = HEAP32[$rc>>2]|0; + $365 = ($364|0)==(5); + if ($365) { HEAP32[$rc>>2] = 5; + $366 = HEAP32[$0>>2]|0; + $367 = ((($366)) + 80|0); + HEAP32[$367>>2] = 5; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); + } else { $368 = HEAP32[$0>>2]|0; $369 = ((($368)) + 80|0); - HEAP32[$369>>2] = 5; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); - } else { - $370 = HEAP32[$0>>2]|0; - $371 = ((($370)) + 80|0); - $372 = HEAP32[$371>>2]|0; - $373 = ($372|0)!=(0); - $374 = $373 ? 1 : 101; - HEAP32[$rc>>2] = $374; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)!=(0); + $372 = $371 ? 1 : 101; + HEAP32[$rc>>2] = $372; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); } break; } - case 74: { - HEAP32[$rc>>2] = 9; - break L1; - break; - } - case 77: { - $702 = HEAP32[$0>>2]|0; - $703 = ((($702)) + 72|0); - $704 = HEAP32[$703>>2]|0; - $705 = (($704) + 2)|0; - $706 = $705 | 1; - $707 = HEAP32[$0>>2]|0; - $708 = ((($707)) + 72|0); - HEAP32[$708>>2] = $706; - $709 = HEAP32[$pOp>>2]|0; - $710 = ((($709)) + 4|0); - $711 = HEAP32[$710>>2]|0; - $712 = HEAP32[$aMem>>2]|0; - $713 = (($712) + (($711*40)|0)|0); - $714 = HEAP32[$0>>2]|0; - $715 = ((($714)) + 20|0); - HEAP32[$715>>2] = $713; - HEAP32[$pMem>>2] = $713; + case 70: { + $678 = HEAP32[$db>>2]|0; + $679 = ((($678)) + 304|0); + $680 = HEAP32[$679>>2]|0; + $681 = ($680|0)!=(0|0); + if ($681) { + $682 = HEAP32[$nVmStep>>2]|0; + $683 = HEAP32[$nProgressLimit>>2]|0; + $684 = ($682>>>0)>=($683>>>0); + if ($684) { + $685 = HEAP32[$db>>2]|0; + $686 = ((($685)) + 304|0); + $687 = HEAP32[$686>>2]|0; + $688 = HEAP32[$db>>2]|0; + $689 = ((($688)) + 308|0); + $690 = HEAP32[$689>>2]|0; + $691 = (FUNCTION_TABLE_ii[$687 & 255]($690)|0); + $692 = ($691|0)!=(0); + if ($692) { + HEAP32[$rc>>2] = 9; + break L1; + } + } + } + $693 = HEAP32[$0>>2]|0; + $694 = (_sqlite3VdbeCheckFk($693,0)|0); + HEAP32[$rc>>2] = $694; + $695 = (0)!=($694|0); + if ($695) { + break L1; + } + $696 = HEAP32[$0>>2]|0; + $697 = (_sqlite3VdbeCloseStatement($696,1)|0); + HEAP32[$rc>>2] = $697; + $698 = HEAP32[$0>>2]|0; + $699 = ((($698)) + 72|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + 2)|0; + $702 = $701 | 1; + $703 = HEAP32[$0>>2]|0; + $704 = ((($703)) + 72|0); + HEAP32[$704>>2] = $702; + $705 = HEAP32[$pOp>>2]|0; + $706 = ((($705)) + 4|0); + $707 = HEAP32[$706>>2]|0; + $708 = HEAP32[$aMem>>2]|0; + $709 = (($708) + (($707*40)|0)|0); + $710 = HEAP32[$0>>2]|0; + $711 = ((($710)) + 20|0); + HEAP32[$711>>2] = $709; + HEAP32[$pMem>>2] = $709; HEAP32[$i>>2] = 0; while(1) { - $716 = HEAP32[$i>>2]|0; - $717 = HEAP32[$pOp>>2]|0; - $718 = ((($717)) + 8|0); - $719 = HEAP32[$718>>2]|0; - $720 = ($716|0)<($719|0); - if (!($720)) { + $712 = HEAP32[$i>>2]|0; + $713 = HEAP32[$pOp>>2]|0; + $714 = ((($713)) + 8|0); + $715 = HEAP32[$714>>2]|0; + $716 = ($712|0)<($715|0); + if (!($716)) { break; } - $721 = HEAP32[$i>>2]|0; - $722 = HEAP32[$pMem>>2]|0; - $723 = (($722) + (($721*40)|0)|0); - $724 = ((($723)) + 8|0); - $725 = HEAP16[$724>>1]|0; - $726 = $725&65535; - $727 = $726 & 4096; - $728 = ($727|0)!=(0); - if ($728) { - $729 = HEAP32[$i>>2]|0; - $730 = HEAP32[$pMem>>2]|0; - $731 = (($730) + (($729*40)|0)|0); - $732 = (_sqlite3VdbeMemMakeWriteable($731)|0); - $733 = ($732|0)!=(0); - if ($733) { - label = 860; + $717 = HEAP32[$i>>2]|0; + $718 = HEAP32[$pMem>>2]|0; + $719 = (($718) + (($717*40)|0)|0); + $720 = ((($719)) + 8|0); + $721 = HEAP16[$720>>1]|0; + $722 = $721&65535; + $723 = $722 & 4096; + $724 = ($723|0)!=(0); + if ($724) { + $725 = HEAP32[$i>>2]|0; + $726 = HEAP32[$pMem>>2]|0; + $727 = (($726) + (($725*40)|0)|0); + $728 = (_sqlite3VdbeMemMakeWriteable($727)|0); + $729 = ($728|0)!=(0); + if ($729) { + label = 883; break L1; } } - $734 = HEAP32[$i>>2]|0; - $735 = HEAP32[$pMem>>2]|0; - $736 = (($735) + (($734*40)|0)|0); - (_sqlite3VdbeMemNulTerminate($736)|0); - $737 = HEAP32[$i>>2]|0; - $738 = (($737) + 1)|0; - HEAP32[$i>>2] = $738; + $730 = HEAP32[$i>>2]|0; + $731 = HEAP32[$pMem>>2]|0; + $732 = (($731) + (($730*40)|0)|0); + (_sqlite3VdbeMemNulTerminate($732)|0); + $733 = HEAP32[$i>>2]|0; + $734 = (($733) + 1)|0; + HEAP32[$i>>2] = $734; } - $739 = HEAP32[$db>>2]|0; - $740 = ((($739)) + 65|0); - $741 = HEAP8[$740>>0]|0; - $742 = ($741<<24>>24)!=(0); - if ($742) { - label = 860; + $735 = HEAP32[$db>>2]|0; + $736 = ((($735)) + 69|0); + $737 = HEAP8[$736>>0]|0; + $738 = ($737<<24>>24)!=(0); + if ($738) { + label = 883; break L1; } - $743 = HEAP32[$pOp>>2]|0; - $744 = HEAP32[$aOp>>2]|0; - $745 = $743; - $746 = $744; - $747 = (($745) - ($746))|0; - $748 = (($747|0) / 20)&-1; - $749 = (($748) + 1)|0; - $750 = HEAP32[$0>>2]|0; - $751 = ((($750)) + 76|0); - HEAP32[$751>>2] = $749; + $739 = HEAP32[$pOp>>2]|0; + $740 = HEAP32[$aOp>>2]|0; + $741 = $739; + $742 = $740; + $743 = (($741) - ($742))|0; + $744 = (($743|0) / 20)&-1; + $745 = (($744) + 1)|0; + $746 = HEAP32[$0>>2]|0; + $747 = ((($746)) + 76|0); + HEAP32[$747>>2] = $745; HEAP32[$rc>>2] = 100; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); break; } - case 165: { + case 163: { HEAP32[$rc>>2] = 20; - label = 861; + break L1; break; } - case 367: { - $3108 = HEAP32[$pOp>>2]|0; - $3109 = HEAP32[$aOp>>2]|0; - $3110 = $3108; - $3111 = $3109; - $3112 = (($3110) - ($3111))|0; - $3113 = (($3112|0) / 20)&-1; - $3114 = HEAP32[$0>>2]|0; - $3115 = ((($3114)) + 76|0); - HEAP32[$3115>>2] = $3113; - $3116 = HEAP32[$db>>2]|0; - $3117 = ((($3116)) + 63|0); - HEAP8[$3117>>0] = 0; - HEAP32[$rc>>2] = 5; - $3118 = HEAP32[$0>>2]|0; - $3119 = ((($3118)) + 80|0); - HEAP32[$3119>>2] = 5; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + case 268: { + $2355 = (_sqlite3CorruptError(76949)|0); + HEAP32[$rc>>2] = $2355; + break L1; break; } - case 391: { - $3273 = HEAP32[$db>>2]|0; - _sqlite3RollbackAll($3273,516); - $3274 = HEAP32[$db>>2]|0; - $3275 = ((($3274)) + 63|0); - HEAP8[$3275>>0] = 1; + case 285: { + $2513 = HEAP32[$pC>>2]|0; + $2514 = ((($2513)) + 72|0); + $2515 = HEAP32[$2514>>2]|0; + $2516 = ($2515|0)==(0|0); + if ($2516) { + _sqlite3VdbeMemRelease($sMem); + } + $2517 = (_sqlite3CorruptError(77010)|0); + HEAP32[$rc>>2] = $2517; + break L1; + break; + } + case 368: { + $3116 = HEAP32[$pOp>>2]|0; + $3117 = HEAP32[$aOp>>2]|0; + $3118 = $3116; + $3119 = $3117; + $3120 = (($3118) - ($3119))|0; + $3121 = (($3120|0) / 20)&-1; + $3122 = HEAP32[$0>>2]|0; + $3123 = ((($3122)) + 76|0); + HEAP32[$3123>>2] = $3121; + $3124 = HEAP32[$db>>2]|0; + $3125 = ((($3124)) + 67|0); + HEAP8[$3125>>0] = 0; + HEAP32[$rc>>2] = 5; + $3126 = HEAP32[$0>>2]|0; + $3127 = ((($3126)) + 80|0); + HEAP32[$3127>>2] = 5; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); break; } - case 395: { - $3283 = HEAP32[$0>>2]|0; - $3284 = (_sqlite3VdbeCheckFk($3283,1)|0); - HEAP32[$rc>>2] = $3284; - $3285 = ($3284|0)!=(0); - if ($3285) { - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + case 391: { + $3269 = HEAP32[$pOp>>2]|0; + $3270 = ((($3269)) + 4|0); + $3271 = HEAP32[$3270>>2]|0; + HEAP32[$desiredAutoCommit>>2] = $3271; + $3272 = HEAP32[$pOp>>2]|0; + $3273 = ((($3272)) + 8|0); + $3274 = HEAP32[$3273>>2]|0; + HEAP32[$iRollback>>2] = $3274; + $3275 = HEAP32[$desiredAutoCommit>>2]|0; + $3276 = HEAP32[$db>>2]|0; + $3277 = ((($3276)) + 67|0); + $3278 = HEAP8[$3277>>0]|0; + $3279 = $3278&255; + $3280 = ($3275|0)!=($3279|0); + if (!($3280)) { + $3323 = HEAP32[$0>>2]|0; + $3324 = HEAP32[$desiredAutoCommit>>2]|0; + $3325 = ($3324|0)!=(0); + if ($3325) { + $3326 = HEAP32[$iRollback>>2]|0; + $3327 = ($3326|0)!=(0); + $3328 = $3327 ? 40575 : 40618; + $3329 = $3328; + } else { + $3329 = 40659; + } + _sqlite3VdbeError($3323,$3329,$vararg_buffer54); + HEAP32[$rc>>2] = 1; + break L1; + } + $3281 = HEAP32[$iRollback>>2]|0; + $3282 = ($3281|0)!=(0); + do { + if ($3282) { + $3283 = HEAP32[$db>>2]|0; + _sqlite3RollbackAll($3283,516); + $3284 = HEAP32[$db>>2]|0; + $3285 = ((($3284)) + 67|0); + HEAP8[$3285>>0] = 1; + } else { + $3286 = HEAP32[$desiredAutoCommit>>2]|0; + $3287 = ($3286|0)!=(0); + if ($3287) { + $3288 = HEAP32[$db>>2]|0; + $3289 = ((($3288)) + 160|0); + $3290 = HEAP32[$3289>>2]|0; + $3291 = ($3290|0)>(0); + if ($3291) { + $3292 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($3292,40520,$vararg_buffer52); + HEAP32[$rc>>2] = 5; + break L1; + } + } + $3293 = HEAP32[$0>>2]|0; + $3294 = (_sqlite3VdbeCheckFk($3293,1)|0); + HEAP32[$rc>>2] = $3294; + $3295 = ($3294|0)!=(0); + if ($3295) { + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); + } else { + $3296 = HEAP32[$desiredAutoCommit>>2]|0; + $3297 = $3296&255; + $3298 = HEAP32[$db>>2]|0; + $3299 = ((($3298)) + 67|0); + HEAP8[$3299>>0] = $3297; + break; + } + } + } while(0); + $3300 = HEAP32[$0>>2]|0; + $3301 = (_sqlite3VdbeHalt($3300)|0); + $3302 = ($3301|0)==(5); + if ($3302) { + $3303 = HEAP32[$pOp>>2]|0; + $3304 = HEAP32[$aOp>>2]|0; + $3305 = $3303; + $3306 = $3304; + $3307 = (($3305) - ($3306))|0; + $3308 = (($3307|0) / 20)&-1; + $3309 = HEAP32[$0>>2]|0; + $3310 = ((($3309)) + 76|0); + HEAP32[$3310>>2] = $3308; + $3311 = HEAP32[$desiredAutoCommit>>2]|0; + $3312 = (1 - ($3311))|0; + $3313 = $3312&255; + $3314 = HEAP32[$db>>2]|0; + $3315 = ((($3314)) + 67|0); + HEAP8[$3315>>0] = $3313; + HEAP32[$rc>>2] = 5; + $3316 = HEAP32[$0>>2]|0; + $3317 = ((($3316)) + 80|0); + HEAP32[$3317>>2] = 5; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); + } + $3318 = HEAP32[$db>>2]|0; + _sqlite3CloseSavepoints($3318); + $3319 = HEAP32[$0>>2]|0; + $3320 = ((($3319)) + 80|0); + $3321 = HEAP32[$3320>>2]|0; + $3322 = ($3321|0)==(0); + if ($3322) { + HEAP32[$rc>>2] = 101; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); } else { - $3286 = HEAP32[$desiredAutoCommit>>2]|0; - $3287 = $3286&255; - $3288 = HEAP32[$db>>2]|0; - $3289 = ((($3288)) + 63|0); - HEAP8[$3289>>0] = $3287; - break; + HEAP32[$rc>>2] = 1; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); } break; } - case 407: { + case 409: { HEAP32[$rc>>2] = 8; - label = 861; + break L1; break; } - case 410: { - $3348 = HEAP32[$pOp>>2]|0; - $3349 = HEAP32[$aOp>>2]|0; - $3350 = $3348; - $3351 = $3349; - $3352 = (($3350) - ($3351))|0; - $3353 = (($3352|0) / 20)&-1; - $3354 = HEAP32[$0>>2]|0; - $3355 = ((($3354)) + 76|0); - HEAP32[$3355>>2] = $3353; - $3356 = HEAP32[$rc>>2]|0; - $3357 = HEAP32[$0>>2]|0; - $3358 = ((($3357)) + 80|0); - HEAP32[$3358>>2] = $3356; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + case 412: { + $3358 = HEAP32[$pOp>>2]|0; + $3359 = HEAP32[$aOp>>2]|0; + $3360 = $3358; + $3361 = $3359; + $3362 = (($3360) - ($3361))|0; + $3363 = (($3362|0) / 20)&-1; + $3364 = HEAP32[$0>>2]|0; + $3365 = ((($3364)) + 76|0); + HEAP32[$3365>>2] = $3363; + $3366 = HEAP32[$rc>>2]|0; + $3367 = HEAP32[$0>>2]|0; + $3368 = ((($3367)) + 80|0); + HEAP32[$3368>>2] = $3366; + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); break; } - case 446: { - $3656 = (_sqlite3CorruptError(77597)|0); - HEAP32[$rc>>2] = $3656; - label = 861; + case 443: { + HEAP32[$rc>>2] = 516; + break L1; break; } - case 542: { + case 547: { HEAP32[$rc>>2] = 13; - label = 861; + break L1; break; } - case 551: { + case 557: { HEAP32[$rc>>2] = 13; - label = 861; + break L1; break; } - case 804: { - $6825 = HEAP32[$pModule105>>2]|0; - $6826 = ((($6825)) + 28|0); - $6827 = HEAP32[$6826>>2]|0; - $6828 = HEAP32[$pVCur>>2]|0; - (FUNCTION_TABLE_ii[$6827 & 255]($6828)|0); - label = 860; + case 662: { + HEAP32[$rc>>2] = 6; + $5409 = HEAP32[$0>>2]|0; + $5410 = ((($5409)) + 86|0); + HEAP8[$5410>>0] = 2; break L1; break; } - case 858: { - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + case 684: { + $5597 = HEAP32[$db>>2]|0; + _sqlite3ResetAllSchemasOfConnection($5597); + $5598 = HEAP32[$rc>>2]|0; + $5599 = ($5598|0)==(7); + if ($5599) { + label = 883; + break L1; + } else { + break L1; + } break; } - case 859: { - $7281 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($7281,19034,$vararg_buffer81); - HEAP32[$rc>>2] = 18; + case 713: { + HEAP32[$rc>>2] = 1; + $5839 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($5839,40799,$vararg_buffer61); break L1; break; } - } - if ((label|0) == 861) { - $7284 = HEAP32[$db>>2]|0; - $7285 = ((($7284)) + 65|0); - $7286 = HEAP8[$7285>>0]|0; - $7287 = ($7286<<24>>24)!=(0); - if ($7287) { - HEAP32[$rc>>2] = 7; + case 767: { + $6579 = HEAP32[$0>>2]|0; + $6580 = HEAP32[$pMem94>>2]|0; + $6581 = (_sqlite3_value_text($6580)|0); + HEAP32[$vararg_buffer66>>2] = $6581; + _sqlite3VdbeError($6579,18999,$vararg_buffer66); + break L1; + break; } - $7288 = HEAP32[$rc>>2]|0; - $7289 = ($7288|0)!=(3082); - if (!($7289)) { + case 787: { + HEAP32[$rc>>2] = 1; + $6673 = HEAP32[$0>>2]|0; + $6674 = HEAP32[$eNew>>2]|0; + $6675 = ($6674|0)==(5); + $6676 = $6675 ? 40836 : 40841; + HEAP32[$vararg_buffer69>>2] = $6676; + _sqlite3VdbeError($6673,40848,$vararg_buffer69); break L1; + break; + } + case 808: { + $6780 = HEAP32[$rc>>2]|0; + $6781 = $6780 & 255; + $6782 = ($6781|0)==(6); + if (!($6782)) { + break L1; + } + $6783 = HEAP32[$pOp>>2]|0; + $6784 = ((($6783)) + 16|0); + $6785 = HEAP32[$6784>>2]|0; + HEAP32[$z100>>2] = $6785; + $6786 = HEAP32[$0>>2]|0; + $6787 = HEAP32[$z100>>2]|0; + HEAP32[$vararg_buffer72>>2] = $6787; + _sqlite3VdbeError($6786,40900,$vararg_buffer72); + break L1; + break; + } + case 819: { + HEAP32[$rc>>2] = 6; + break L1; + break; + } + case 823: { + $6878 = HEAP32[$pModule104>>2]|0; + $6879 = ((($6878)) + 28|0); + $6880 = HEAP32[$6879>>2]|0; + $6881 = HEAP32[$pVCur>>2]|0; + (FUNCTION_TABLE_ii[$6880 & 255]($6881)|0); + label = 883; + break L1; + break; + } + case 842: { + HEAP32[$rc>>2] = 6; + break L1; + break; + } + case 881: { + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); + break; + } + case 882: { + $7355 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($7355,18778,$vararg_buffer83); + HEAP32[$rc>>2] = 18; + break L1; + break; } - $7290 = HEAP32[$0>>2]|0; - $7291 = HEAP32[$rc>>2]|0; - $7292 = (_sqlite3ErrStr($7291)|0); - HEAP32[$vararg_buffer85>>2] = $7292; - _sqlite3VdbeError($7290,19255,$vararg_buffer85); - break L1; - } - $3290 = HEAP32[$0>>2]|0; - $3291 = (_sqlite3VdbeHalt($3290)|0); - $3292 = ($3291|0)==(5); - if ($3292) { - $3293 = HEAP32[$pOp>>2]|0; - $3294 = HEAP32[$aOp>>2]|0; - $3295 = $3293; - $3296 = $3294; - $3297 = (($3295) - ($3296))|0; - $3298 = (($3297|0) / 20)&-1; - $3299 = HEAP32[$0>>2]|0; - $3300 = ((($3299)) + 76|0); - HEAP32[$3300>>2] = $3298; - $3301 = HEAP32[$desiredAutoCommit>>2]|0; - $3302 = (1 - ($3301))|0; - $3303 = $3302&255; - $3304 = HEAP32[$db>>2]|0; - $3305 = ((($3304)) + 63|0); - HEAP8[$3305>>0] = $3303; - HEAP32[$rc>>2] = 5; - $3306 = HEAP32[$0>>2]|0; - $3307 = ((($3306)) + 80|0); - HEAP32[$3307>>2] = 5; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); - } - $3308 = HEAP32[$db>>2]|0; - _sqlite3CloseSavepoints($3308); - $3309 = HEAP32[$0>>2]|0; - $3310 = ((($3309)) + 80|0); - $3311 = HEAP32[$3310>>2]|0; - $3312 = ($3311|0)==(0); - if ($3312) { - HEAP32[$rc>>2] = 101; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); - } else { - HEAP32[$rc>>2] = 1; - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); } } } while(0); - $7293 = HEAP32[$db>>2]|0; - $7294 = ((($7293)) + 65|0); - $7295 = HEAP8[$7294>>0]|0; - $7296 = $7295&255; - $7297 = ($7296|0)!=(0); - $7298 = $7297 ? 7 : 9; - HEAP32[$rc>>2] = $7298; - $7299 = HEAP32[$rc>>2]|0; - $7300 = HEAP32[$0>>2]|0; - $7301 = ((($7300)) + 80|0); - HEAP32[$7301>>2] = $7299; - $7302 = HEAP32[$0>>2]|0; - $7303 = HEAP32[$rc>>2]|0; - $7304 = (_sqlite3ErrStr($7303)|0); - HEAP32[$vararg_buffer88>>2] = $7304; - _sqlite3VdbeError($7302,19255,$vararg_buffer88); + $7358 = HEAP32[$db>>2]|0; + $7359 = ((($7358)) + 69|0); + $7360 = HEAP8[$7359>>0]|0; + $7361 = $7360&255; + $7362 = ($7361|0)!=(0); + $7363 = $7362 ? 7 : 9; + HEAP32[$rc>>2] = $7363; + $7364 = HEAP32[$rc>>2]|0; + $7365 = HEAP32[$0>>2]|0; + $7366 = ((($7365)) + 80|0); + HEAP32[$7366>>2] = $7364; + $7367 = HEAP32[$0>>2]|0; + $7368 = HEAP32[$rc>>2]|0; + $7369 = (_sqlite3ErrStr($7368)|0); + HEAP32[$vararg_buffer87>>2] = $7369; + _sqlite3VdbeError($7367,18999,$vararg_buffer87); } } while(0); - if ((label|0) == 860) { - $7282 = HEAP32[$db>>2]|0; - _sqlite3OomFault($7282); - $7283 = HEAP32[$0>>2]|0; - _sqlite3VdbeError($7283,32392,$vararg_buffer83); + if ((label|0) == 883) { + $7356 = HEAP32[$db>>2]|0; + _sqlite3OomFault($7356); + $7357 = HEAP32[$0>>2]|0; + _sqlite3VdbeError($7357,25624,$vararg_buffer85); + HEAP32[$rc>>2] = 7; + } + $7294 = HEAP32[$db>>2]|0; + $7295 = ((($7294)) + 69|0); + $7296 = HEAP8[$7295>>0]|0; + $7297 = ($7296<<24>>24)!=(0); + if ($7297) { HEAP32[$rc>>2] = 7; } - $7235 = HEAP32[$rc>>2]|0; - $7236 = HEAP32[$0>>2]|0; - $7237 = ((($7236)) + 80|0); - HEAP32[$7237>>2] = $7235; - $7238 = HEAP32[$rc>>2]|0; - $7239 = HEAP32[$pOp>>2]|0; - $7240 = HEAP32[$aOp>>2]|0; - $7241 = $7239; - $7242 = $7240; - $7243 = (($7241) - ($7242))|0; - $7244 = (($7243|0) / 20)&-1; - $7245 = HEAP32[$0>>2]|0; - $7246 = ((($7245)) + 168|0); - $7247 = HEAP32[$7246>>2]|0; - $7248 = HEAP32[$0>>2]|0; - $7249 = ((($7248)) + 44|0); - $7250 = HEAP32[$7249>>2]|0; - HEAP32[$vararg_buffer76>>2] = $7244; - $vararg_ptr79 = ((($vararg_buffer76)) + 4|0); - HEAP32[$vararg_ptr79>>2] = $7247; - $vararg_ptr80 = ((($vararg_buffer76)) + 8|0); - HEAP32[$vararg_ptr80>>2] = $7250; - _sqlite3_log($7238,41278,$vararg_buffer76); - $7251 = HEAP32[$0>>2]|0; - (_sqlite3VdbeHalt($7251)|0); - $7252 = HEAP32[$rc>>2]|0; - $7253 = ($7252|0)==(3082); - if ($7253) { - $7254 = HEAP32[$db>>2]|0; - _sqlite3OomFault($7254); + $7298 = HEAP32[$0>>2]|0; + $7299 = ((($7298)) + 44|0); + $7300 = HEAP32[$7299>>2]|0; + $7301 = ($7300|0)==(0|0); + $7302 = HEAP32[$rc>>2]|0; + $7303 = ($7302|0)!=(3082); + $or$cond24 = $7301 & $7303; + if ($or$cond24) { + $7304 = HEAP32[$0>>2]|0; + $7305 = HEAP32[$rc>>2]|0; + $7306 = (_sqlite3ErrStr($7305)|0); + HEAP32[$vararg_buffer75>>2] = $7306; + _sqlite3VdbeError($7304,18999,$vararg_buffer75); + } + $7307 = HEAP32[$rc>>2]|0; + $7308 = HEAP32[$0>>2]|0; + $7309 = ((($7308)) + 80|0); + HEAP32[$7309>>2] = $7307; + $7310 = HEAP32[$db>>2]|0; + $7311 = HEAP32[$rc>>2]|0; + _sqlite3SystemError($7310,$7311); + $7312 = HEAP32[$rc>>2]|0; + $7313 = HEAP32[$pOp>>2]|0; + $7314 = HEAP32[$aOp>>2]|0; + $7315 = $7313; + $7316 = $7314; + $7317 = (($7315) - ($7316))|0; + $7318 = (($7317|0) / 20)&-1; + $7319 = HEAP32[$0>>2]|0; + $7320 = ((($7319)) + 168|0); + $7321 = HEAP32[$7320>>2]|0; + $7322 = HEAP32[$0>>2]|0; + $7323 = ((($7322)) + 44|0); + $7324 = HEAP32[$7323>>2]|0; + HEAP32[$vararg_buffer78>>2] = $7318; + $vararg_ptr81 = ((($vararg_buffer78)) + 4|0); + HEAP32[$vararg_ptr81>>2] = $7321; + $vararg_ptr82 = ((($vararg_buffer78)) + 8|0); + HEAP32[$vararg_ptr82>>2] = $7324; + _sqlite3_log($7312,40929,$vararg_buffer78); + $7325 = HEAP32[$0>>2]|0; + (_sqlite3VdbeHalt($7325)|0); + $7326 = HEAP32[$rc>>2]|0; + $7327 = ($7326|0)==(3082); + if ($7327) { + $7328 = HEAP32[$db>>2]|0; + _sqlite3OomFault($7328); } HEAP32[$rc>>2] = 1; - $7255 = HEAP8[$resetSchemaOnFault>>0]|0; - $7256 = $7255&255; - $7257 = ($7256|0)>(0); - if (!($7257)) { - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); - } - $7258 = HEAP32[$db>>2]|0; - $7259 = HEAP8[$resetSchemaOnFault>>0]|0; - $7260 = $7259&255; - $7261 = (($7260) - 1)|0; - _sqlite3ResetOneSchema($7258,$7261); - $7262 = $lastRowid; - $7263 = $7262; - $7264 = HEAP32[$7263>>2]|0; - $7265 = (($7262) + 4)|0; - $7266 = $7265; - $7267 = HEAP32[$7266>>2]|0; - $7268 = HEAP32[$db>>2]|0; - $7269 = ((($7268)) + 32|0); - $7270 = $7269; - $7271 = $7270; - HEAP32[$7271>>2] = $7264; - $7272 = (($7270) + 4)|0; - $7273 = $7272; - HEAP32[$7273>>2] = $7267; - $7274 = HEAP32[$nVmStep>>2]|0; - $7275 = HEAP32[$0>>2]|0; - $7276 = ((($7275)) + 108|0); - $7277 = ((($7276)) + 16|0); - $7278 = HEAP32[$7277>>2]|0; - $7279 = (($7278) + ($7274))|0; - HEAP32[$7277>>2] = $7279; - $7280 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($7280|0); + $7329 = HEAP8[$resetSchemaOnFault>>0]|0; + $7330 = $7329&255; + $7331 = ($7330|0)>(0); + if (!($7331)) { + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); + } + $7332 = HEAP32[$db>>2]|0; + $7333 = HEAP8[$resetSchemaOnFault>>0]|0; + $7334 = $7333&255; + $7335 = (($7334) - 1)|0; + _sqlite3ResetOneSchema($7332,$7335); + $7336 = $lastRowid; + $7337 = $7336; + $7338 = HEAP32[$7337>>2]|0; + $7339 = (($7336) + 4)|0; + $7340 = $7339; + $7341 = HEAP32[$7340>>2]|0; + $7342 = HEAP32[$db>>2]|0; + $7343 = ((($7342)) + 32|0); + $7344 = $7343; + $7345 = $7344; + HEAP32[$7345>>2] = $7338; + $7346 = (($7344) + 4)|0; + $7347 = $7346; + HEAP32[$7347>>2] = $7341; + $7348 = HEAP32[$nVmStep>>2]|0; + $7349 = HEAP32[$0>>2]|0; + $7350 = ((($7349)) + 108|0); + $7351 = ((($7350)) + 16|0); + $7352 = HEAP32[$7351>>2]|0; + $7353 = (($7352) + ($7348))|0; + HEAP32[$7351>>2] = $7353; + $7354 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($7354|0); } function _doWalCallbacks($db) { $db = $db|0; @@ -220867,7 +222421,7 @@ function _doWalCallbacks($db) { $18 = (_sqlite3PagerWalCallback($17)|0); HEAP32[$nEntry>>2] = $18; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 216|0); + $20 = ((($19)) + 220|0); $21 = HEAP32[$20>>2]|0; $22 = ($21|0)!=(0|0); $23 = HEAP32[$nEntry>>2]|0; @@ -220878,10 +222432,10 @@ function _doWalCallbacks($db) { $or$cond3 = $or$cond & $26; if ($or$cond3) { $27 = HEAP32[$0>>2]|0; - $28 = ((($27)) + 216|0); + $28 = ((($27)) + 220|0); $29 = HEAP32[$28>>2]|0; $30 = HEAP32[$0>>2]|0; - $31 = ((($30)) + 220|0); + $31 = ((($30)) + 224|0); $32 = HEAP32[$31>>2]|0; $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$i>>2]|0; @@ -220931,24 +222485,24 @@ function _sqlite3VdbeTransferError($p) { $36 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($36|0); } - $11 = ((($10)) + 66|0); + $11 = ((($10)) + 70|0); $12 = HEAP8[$11>>0]|0; $13 = (($12) + 1)<<24>>24; HEAP8[$11>>0] = $13; _sqlite3BeginBenignMalloc(); $14 = HEAP32[$db>>2]|0; - $15 = ((($14)) + 236|0); + $15 = ((($14)) + 240|0); $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==(0|0); if ($17) { $18 = HEAP32[$db>>2]|0; $19 = (_sqlite3ValueNew($18)|0); $20 = HEAP32[$db>>2]|0; - $21 = ((($20)) + 236|0); + $21 = ((($20)) + 240|0); HEAP32[$21>>2] = $19; } $22 = HEAP32[$db>>2]|0; - $23 = ((($22)) + 236|0); + $23 = ((($22)) + 240|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$0>>2]|0; $26 = ((($25)) + 44|0); @@ -220956,7 +222510,7 @@ function _sqlite3VdbeTransferError($p) { _sqlite3ValueSetStr($24,-1,$27,1,(-1)); _sqlite3EndBenignMalloc(); $28 = HEAP32[$db>>2]|0; - $29 = ((($28)) + 66|0); + $29 = ((($28)) + 70|0); $30 = HEAP8[$29>>0]|0; $31 = (($30) + -1)<<24>>24; HEAP8[$29>>0] = $31; @@ -221089,11 +222643,11 @@ function _sqlite3VdbeSetChanges($db,$nChange) { HEAP32[$1>>2] = $nChange; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 80|0); + $4 = ((($3)) + 84|0); HEAP32[$4>>2] = $2; $5 = HEAP32[$1>>2]|0; $6 = HEAP32[$0>>2]|0; - $7 = ((($6)) + 84|0); + $7 = ((($6)) + 88|0); $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($5))|0; HEAP32[$7>>2] = $9; @@ -221104,7 +222658,8 @@ function _sqlite3VdbeFrameRestore($pFrame) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, $v = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $9 = 0, $v = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 4|0; @@ -221122,7 +222677,7 @@ function _sqlite3VdbeFrameRestore($pFrame) { $8 = ((($7)) + 200|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 56|0); + $10 = ((($9)) + 60|0); $11 = HEAP32[$10>>2]|0; $12 = HEAP32[$v>>2]|0; $13 = ((($12)) + 196|0); @@ -221134,7 +222689,7 @@ function _sqlite3VdbeFrameRestore($pFrame) { $18 = ((($17)) + 4|0); HEAP32[$18>>2] = $16; $19 = HEAP32[$0>>2]|0; - $20 = ((($19)) + 48|0); + $20 = ((($19)) + 52|0); $21 = HEAP32[$20>>2]|0; $22 = HEAP32[$v>>2]|0; $23 = ((($22)) + 32|0); @@ -221146,7 +222701,7 @@ function _sqlite3VdbeFrameRestore($pFrame) { $28 = ((($27)) + 8|0); HEAP32[$28>>2] = $26; $29 = HEAP32[$0>>2]|0; - $30 = ((($29)) + 52|0); + $30 = ((($29)) + 56|0); $31 = HEAP32[$30>>2]|0; $32 = HEAP32[$v>>2]|0; $33 = ((($32)) + 28|0); @@ -221158,7 +222713,7 @@ function _sqlite3VdbeFrameRestore($pFrame) { $38 = ((($37)) + 56|0); HEAP32[$38>>2] = $36; $39 = HEAP32[$0>>2]|0; - $40 = ((($39)) + 40|0); + $40 = ((($39)) + 44|0); $41 = HEAP32[$40>>2]|0; $42 = HEAP32[$v>>2]|0; $43 = ((($42)) + 36|0); @@ -221181,22 +222736,36 @@ function _sqlite3VdbeFrameRestore($pFrame) { $58 = $57; HEAP32[$58>>2] = $51; $59 = HEAP32[$0>>2]|0; - $60 = ((($59)) + 68|0); + $60 = ((($59)) + 72|0); $61 = HEAP32[$60>>2]|0; $62 = HEAP32[$v>>2]|0; $63 = ((($62)) + 92|0); HEAP32[$63>>2] = $61; $64 = HEAP32[$0>>2]|0; - $65 = ((($64)) + 72|0); + $65 = ((($64)) + 76|0); $66 = HEAP32[$65>>2]|0; $67 = HEAP32[$v>>2]|0; $68 = HEAP32[$67>>2]|0; - $69 = ((($68)) + 80|0); + $69 = ((($68)) + 84|0); HEAP32[$69>>2] = $66; - $70 = HEAP32[$0>>2]|0; - $71 = ((($70)) + 44|0); - $72 = HEAP32[$71>>2]|0; - STACKTOP = sp;return ($72|0); + $70 = HEAP32[$v>>2]|0; + $71 = HEAP32[$70>>2]|0; + $72 = HEAP32[$v>>2]|0; + $73 = ((($72)) + 204|0); + _sqlite3VdbeDeleteAuxData($71,$73,-1,0); + $74 = HEAP32[$0>>2]|0; + $75 = ((($74)) + 40|0); + $76 = HEAP32[$75>>2]|0; + $77 = HEAP32[$v>>2]|0; + $78 = ((($77)) + 204|0); + HEAP32[$78>>2] = $76; + $79 = HEAP32[$0>>2]|0; + $80 = ((($79)) + 40|0); + HEAP32[$80>>2] = 0; + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 48|0); + $83 = HEAP32[$82>>2]|0; + STACKTOP = sp;return ($83|0); } function _sqlite3VdbeError($p,$zFormat,$varargs) { $p = $p|0; @@ -221257,7 +222826,7 @@ function _sqlite3VdbeHalt($p) { $3 = HEAP32[$2>>2]|0; HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 65|0); + $5 = ((($4)) + 69|0); $6 = HEAP8[$5>>0]|0; $7 = ($6<<24>>24)!=(0); if ($7) { @@ -221295,11 +222864,11 @@ function _sqlite3VdbeHalt($p) { $28 = ($27|0)>=(0); if ($28) { $29 = HEAP32[$1>>2]|0; - $30 = ((($29)) + 88|0); - $31 = HEAP16[$30>>1]|0; - $32 = ($31&65535) >>> 7; + $30 = ((($29)) + 89|0); + $31 = HEAP8[$30>>0]|0; + $32 = ($31&255) >>> 6; $33 = $32 & 1; - $34 = $33&65535; + $34 = $33&255; $35 = ($34|0)!=(0); if ($35) { HEAP32[$eStatementOp>>2] = 0; @@ -221332,11 +222901,11 @@ function _sqlite3VdbeHalt($p) { do { if ($52) { $53 = HEAP32[$1>>2]|0; - $54 = ((($53)) + 88|0); - $55 = HEAP16[$54>>1]|0; - $56 = ($55&65535) >>> 6; + $54 = ((($53)) + 89|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55&255) >>> 5; $57 = $56 & 1; - $58 = $57&65535; + $58 = $57&255; $59 = ($58|0)==(0); $60 = HEAP32[$mrc>>2]|0; $61 = ($60|0)!=(9); @@ -221349,11 +222918,11 @@ function _sqlite3VdbeHalt($p) { $or$cond7 = $63 | $65; if ($or$cond7) { $66 = HEAP32[$1>>2]|0; - $67 = ((($66)) + 88|0); - $68 = HEAP16[$67>>1]|0; - $69 = ($68&65535) >>> 5; + $67 = ((($66)) + 89|0); + $68 = HEAP8[$67>>0]|0; + $69 = ($68&255) >>> 4; $70 = $69 & 1; - $71 = $70&65535; + $71 = $70&255; $72 = ($71|0)!=(0); if ($72) { HEAP32[$eStatementOp>>2] = 2; @@ -221365,7 +222934,7 @@ function _sqlite3VdbeHalt($p) { $74 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($74); $75 = HEAP32[$db>>2]|0; - $76 = ((($75)) + 63|0); + $76 = ((($75)) + 67|0); HEAP8[$76>>0] = 1; $77 = HEAP32[$1>>2]|0; $78 = ((($77)) + 92|0); @@ -221382,12 +222951,12 @@ function _sqlite3VdbeHalt($p) { (_sqlite3VdbeCheckFk($83,0)|0); } $84 = HEAP32[$db>>2]|0; - $85 = ((($84)) + 308|0); + $85 = ((($84)) + 316|0); $86 = HEAP32[$85>>2]|0; $87 = ($86|0)>(0); if ($87) { $88 = HEAP32[$db>>2]|0; - $89 = ((($88)) + 332|0); + $89 = ((($88)) + 340|0); $90 = HEAP32[$89>>2]|0; $91 = ($90|0)==(0|0); if ($91) { @@ -221400,20 +222969,20 @@ function _sqlite3VdbeHalt($p) { } if ((label|0) == 21) { $92 = HEAP32[$db>>2]|0; - $93 = ((($92)) + 63|0); + $93 = ((($92)) + 67|0); $94 = HEAP8[$93>>0]|0; $95 = $94&255; $96 = ($95|0)!=(0); if ($96) { $97 = HEAP32[$db>>2]|0; - $98 = ((($97)) + 156|0); + $98 = ((($97)) + 160|0); $99 = HEAP32[$98>>2]|0; $100 = HEAP32[$1>>2]|0; - $101 = ((($100)) + 88|0); - $102 = HEAP16[$101>>1]|0; - $103 = ($102&65535) >>> 6; + $101 = ((($100)) + 89|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102&255) >>> 5; $104 = $103 & 1; - $105 = $104&65535; + $105 = $104&255; $106 = ($105|0)==(0); $107 = $106&1; $108 = ($99|0)==($107|0); @@ -221453,11 +223022,11 @@ function _sqlite3VdbeHalt($p) { do { if ($123) { $124 = HEAP32[$1>>2]|0; - $125 = ((($124)) + 88|0); - $126 = HEAP16[$125>>1]|0; - $127 = ($126&65535) >>> 6; + $125 = ((($124)) + 89|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126&255) >>> 5; $128 = $127 & 1; - $129 = $128&65535; + $129 = $128&255; $130 = ($129|0)!=(0); if (!($130)) { HEAP32[$rc>>2] = 787; @@ -221477,11 +223046,11 @@ function _sqlite3VdbeHalt($p) { $135 = ($134|0)==(5); if ($135) { $136 = HEAP32[$1>>2]|0; - $137 = ((($136)) + 88|0); - $138 = HEAP16[$137>>1]|0; - $139 = ($138&65535) >>> 6; + $137 = ((($136)) + 89|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138&255) >>> 5; $140 = $139 & 1; - $141 = $140&65535; + $141 = $140&255; $142 = ($141|0)!=(0); if ($142) { HEAP32[$0>>2] = 5; @@ -221504,7 +223073,7 @@ function _sqlite3VdbeHalt($p) { break; } else { $151 = HEAP32[$db>>2]|0; - $152 = ((($151)) + 512|0); + $152 = ((($151)) + 440|0); $153 = $152; $154 = $153; HEAP32[$154>>2] = 0; @@ -221512,7 +223081,7 @@ function _sqlite3VdbeHalt($p) { $156 = $155; HEAP32[$156>>2] = 0; $157 = HEAP32[$db>>2]|0; - $158 = ((($157)) + 520|0); + $158 = ((($157)) + 448|0); $159 = $158; $160 = $159; HEAP32[$160>>2] = 0; @@ -221531,7 +223100,7 @@ function _sqlite3VdbeHalt($p) { } } while(0); $171 = HEAP32[$db>>2]|0; - $172 = ((($171)) + 504|0); + $172 = ((($171)) + 436|0); HEAP32[$172>>2] = 0; } else { label = 38; @@ -221570,7 +223139,7 @@ function _sqlite3VdbeHalt($p) { $190 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($190); $191 = HEAP32[$db>>2]|0; - $192 = ((($191)) + 63|0); + $192 = ((($191)) + 67|0); HEAP8[$192>>0] = 1; $193 = HEAP32[$1>>2]|0; $194 = ((($193)) + 92|0); @@ -221628,7 +223197,7 @@ function _sqlite3VdbeHalt($p) { $221 = HEAP32[$db>>2]|0; _sqlite3CloseSavepoints($221); $222 = HEAP32[$db>>2]|0; - $223 = ((($222)) + 63|0); + $223 = ((($222)) + 67|0); HEAP8[$223>>0] = 1; $224 = HEAP32[$1>>2]|0; $225 = ((($224)) + 92|0); @@ -221636,11 +223205,11 @@ function _sqlite3VdbeHalt($p) { } } $226 = HEAP32[$1>>2]|0; - $227 = ((($226)) + 88|0); - $228 = HEAP16[$227>>1]|0; - $229 = ($228&65535) >>> 2; + $227 = ((($226)) + 89|0); + $228 = HEAP8[$227>>0]|0; + $229 = ($228&255) >>> 2; $230 = $229 & 1; - $231 = $230&65535; + $231 = $230&255; $232 = ($231|0)!=(0); if ($232) { $233 = HEAP32[$eStatementOp>>2]|0; @@ -221666,34 +223235,34 @@ function _sqlite3VdbeHalt($p) { $244 = ($243|0)>=(0); if ($244) { $245 = HEAP32[$db>>2]|0; - $246 = ((($245)) + 148|0); + $246 = ((($245)) + 152|0); $247 = HEAP32[$246>>2]|0; $248 = (($247) + -1)|0; HEAP32[$246>>2] = $248; $249 = HEAP32[$1>>2]|0; - $250 = ((($249)) + 88|0); - $251 = HEAP16[$250>>1]|0; - $252 = ($251&65535) >>> 6; + $250 = ((($249)) + 89|0); + $251 = HEAP8[$250>>0]|0; + $252 = ($251&255) >>> 5; $253 = $252 & 1; - $254 = $253&65535; + $254 = $253&255; $255 = ($254|0)!=(0); if (!($255)) { $256 = HEAP32[$db>>2]|0; - $257 = ((($256)) + 156|0); + $257 = ((($256)) + 160|0); $258 = HEAP32[$257>>2]|0; $259 = (($258) + -1)|0; HEAP32[$257>>2] = $259; } $260 = HEAP32[$1>>2]|0; - $261 = ((($260)) + 88|0); - $262 = HEAP16[$261>>1]|0; - $263 = ($262&65535) >>> 7; + $261 = ((($260)) + 89|0); + $262 = HEAP8[$261>>0]|0; + $263 = ($262&255) >>> 6; $264 = $263 & 1; - $265 = $264&65535; + $265 = $264&255; $266 = ($265|0)!=(0); if ($266) { $267 = HEAP32[$db>>2]|0; - $268 = ((($267)) + 152|0); + $268 = ((($267)) + 156|0); $269 = HEAP32[$268>>2]|0; $270 = (($269) + -1)|0; HEAP32[$268>>2] = $270; @@ -221703,7 +223272,7 @@ function _sqlite3VdbeHalt($p) { $272 = ((($271)) + 40|0); HEAP32[$272>>2] = 1369188723; $273 = HEAP32[$db>>2]|0; - $274 = ((($273)) + 65|0); + $274 = ((($273)) + 69|0); $275 = HEAP8[$274>>0]|0; $276 = ($275<<24>>24)!=(0); if ($276) { @@ -221805,7 +223374,7 @@ function _sqlite3VdbeMemTooBig($p) { $22 = HEAP32[$1>>2]|0; $23 = ((($22)) + 32|0); $24 = HEAP32[$23>>2]|0; - $25 = ((($24)) + 88|0); + $25 = ((($24)) + 92|0); $26 = HEAP32[$25>>2]|0; $27 = ($21|0)>($26|0); $28 = $27&1; @@ -221835,7 +223404,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $6 = ($5|0)!=(0); if ($6) { $7 = HEAP32[$db>>2]|0; - $8 = ((($7)) + 512|0); + $8 = ((($7)) + 440|0); $9 = $8; $10 = $9; $11 = HEAP32[$10>>2]|0; @@ -221843,7 +223412,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $13 = $12; $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$db>>2]|0; - $16 = ((($15)) + 520|0); + $16 = ((($15)) + 448|0); $17 = $16; $18 = $17; $19 = HEAP32[$18>>2]|0; @@ -221897,7 +223466,7 @@ function _sqlite3VdbeCheckFk($p,$deferred) { $48 = ((($47)) + 86|0); HEAP8[$48>>0] = 2; $49 = HEAP32[$1>>2]|0; - _sqlite3VdbeError($49,36044,$vararg_buffer); + _sqlite3VdbeError($49,35697,$vararg_buffer); HEAP32[$0>>2] = 1; $50 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($50|0); @@ -221928,7 +223497,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { HEAP32[$db>>2] = $3; HEAP32[$rc>>2] = 0; $4 = HEAP32[$db>>2]|0; - $5 = ((($4)) + 504|0); + $5 = ((($4)) + 436|0); $6 = HEAP32[$5>>2]|0; $7 = ($6|0)!=(0); if (!($7)) { @@ -221998,7 +223567,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { HEAP32[$i>>2] = $44; } $45 = HEAP32[$db>>2]|0; - $46 = ((($45)) + 504|0); + $46 = ((($45)) + 436|0); $47 = HEAP32[$46>>2]|0; $48 = (($47) + -1)|0; HEAP32[$46>>2] = $48; @@ -222040,7 +223609,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $71 = $70; $72 = HEAP32[$71>>2]|0; $73 = HEAP32[$db>>2]|0; - $74 = ((($73)) + 512|0); + $74 = ((($73)) + 440|0); $75 = $74; $76 = $75; HEAP32[$76>>2] = $69; @@ -222056,7 +223625,7 @@ function _sqlite3VdbeCloseStatement($p,$eOp) { $85 = $84; $86 = HEAP32[$85>>2]|0; $87 = HEAP32[$db>>2]|0; - $88 = ((($87)) + 520|0); + $88 = ((($87)) + 448|0); $89 = $88; $90 = $89; HEAP32[$90>>2] = $83; @@ -222643,91 +224212,89 @@ function _sqlite3MulInt64($pA,$0,$1) { } return (0)|0; } -function _sqlite3VdbeDeleteAuxData($pVdbe,$iOp,$mask) { - $pVdbe = $pVdbe|0; +function _sqlite3VdbeDeleteAuxData($db,$pp,$iOp,$mask) { + $db = $db|0; + $pp = $pp|0; $iOp = $iOp|0; $mask = $mask|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAux = 0, $pp = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAux = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 16|0; $1 = sp + 12|0; $2 = sp + 8|0; - $pp = sp + 4|0; + $3 = sp + 4|0; $pAux = sp; - HEAP32[$0>>2] = $pVdbe; - HEAP32[$1>>2] = $iOp; - HEAP32[$2>>2] = $mask; - $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 204|0); - HEAP32[$pp>>2] = $4; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $pp; + HEAP32[$2>>2] = $iOp; + HEAP32[$3>>2] = $mask; L1: while(1) { - $5 = HEAP32[$pp>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)!=(0|0); + if (!($6)) { break; } - $8 = HEAP32[$pp>>2]|0; - $9 = HEAP32[$8>>2]|0; - HEAP32[$pAux>>2] = $9; - $10 = HEAP32[$1>>2]|0; - $11 = ($10|0)<(0); + $7 = HEAP32[$1>>2]|0; + $8 = HEAP32[$7>>2]|0; + HEAP32[$pAux>>2] = $8; + $9 = HEAP32[$2>>2]|0; + $10 = ($9|0)<(0); do { - if (!($11)) { - $12 = HEAP32[$pAux>>2]|0; - $13 = HEAP32[$12>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($13|0)==($14|0); - if ($15) { - $16 = HEAP32[$pAux>>2]|0; - $17 = ((($16)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)>(31); - if ($19) { + if (!($10)) { + $11 = HEAP32[$pAux>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$2>>2]|0; + $14 = ($12|0)==($13|0); + if ($14) { + $15 = HEAP32[$pAux>>2]|0; + $16 = ((($15)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(31); + if ($18) { break; } - $20 = HEAP32[$2>>2]|0; - $21 = HEAP32[$pAux>>2]|0; - $22 = ((($21)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = 1 << $23; - $25 = $20 & $24; - $26 = ($25|0)!=(0); - if (!($26)) { + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$pAux>>2]|0; + $21 = ((($20)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = 1 << $22; + $24 = $19 & $23; + $25 = ($24|0)!=(0); + if (!($25)) { break; } } - $44 = HEAP32[$pAux>>2]|0; - $45 = ((($44)) + 16|0); - HEAP32[$pp>>2] = $45; + $42 = HEAP32[$pAux>>2]|0; + $43 = ((($42)) + 16|0); + HEAP32[$1>>2] = $43; continue L1; } } while(0); - $27 = HEAP32[$pAux>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)!=(0|0); - if ($30) { - $31 = HEAP32[$pAux>>2]|0; - $32 = ((($31)) + 12|0); - $33 = HEAP32[$32>>2]|0; - $34 = HEAP32[$pAux>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - FUNCTION_TABLE_vi[$33 & 255]($36); + $26 = HEAP32[$pAux>>2]|0; + $27 = ((($26)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$pAux>>2]|0; + $31 = ((($30)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$pAux>>2]|0; + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + FUNCTION_TABLE_vi[$32 & 255]($35); } - $37 = HEAP32[$pAux>>2]|0; - $38 = ((($37)) + 16|0); - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pp>>2]|0; - HEAP32[$40>>2] = $39; - $41 = HEAP32[$0>>2]|0; - $42 = HEAP32[$41>>2]|0; - $43 = HEAP32[$pAux>>2]|0; - _sqlite3DbFree($42,$43); + $36 = HEAP32[$pAux>>2]|0; + $37 = ((($36)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = HEAP32[$1>>2]|0; + HEAP32[$39>>2] = $38; + $40 = HEAP32[$0>>2]|0; + $41 = HEAP32[$pAux>>2]|0; + _sqlite3DbFree($40,$41); } STACKTOP = sp;return; } @@ -223173,7 +224740,7 @@ function _sqlite3VdbeOneByteSerialTypeLen($serial_type) { HEAP8[$0>>0] = $serial_type; $1 = HEAP8[$0>>0]|0; $2 = $1&255; - $3 = (35916 + ($2)|0); + $3 = (35569 + ($2)|0); $4 = HEAP8[$3>>0]|0; STACKTOP = sp;return ($4|0); } @@ -223575,7 +225142,7 @@ function _sqlite3VdbeSerialPut($buf,$pMem,$serial_type) { HEAP32[$21>>2] = $17; } $22 = HEAP32[$3>>2]|0; - $23 = (35916 + ($22)|0); + $23 = (35569 + ($22)|0); $24 = HEAP8[$23>>0]|0; $25 = $24&255; HEAP32[$i>>2] = $25; @@ -223926,7 +225493,7 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { HEAP32[$2>>2] = $iSavepoint; HEAP32[$rc>>2] = 0; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 332|0); + $4 = ((($3)) + 340|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)!=(0|0); if (!($6)) { @@ -223943,7 +225510,7 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 308|0); + $11 = ((($10)) + 316|0); $12 = HEAP32[$11>>2]|0; $13 = ($9|0)<($12|0); if (!($13)) { @@ -223952,7 +225519,7 @@ function _sqlite3VtabSavepoint($db,$op,$iSavepoint) { } $14 = HEAP32[$i>>2]|0; $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 332|0); + $16 = ((($15)) + 340|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($14<<2)|0); $19 = HEAP32[$18>>2]|0; @@ -224275,7 +225842,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $7 = ($6|0)!=(0); if ($7) { $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 140|0); + $9 = ((($8)) + 144|0); $10 = ((($9)) + 5|0); $11 = HEAP8[$10>>0]|0; $12 = $11&255; @@ -224335,7 +225902,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $46 = ($45|0)!=(0); if ($46) { $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 140|0); + $48 = ((($47)) + 144|0); $49 = ((($48)) + 5|0); $50 = HEAP8[$49>>0]|0; $51 = $50&255; @@ -224348,7 +225915,7 @@ function _sqlite3RollbackAll($db,$tripCode) { } } $55 = HEAP32[$0>>2]|0; - $56 = ((($55)) + 512|0); + $56 = ((($55)) + 440|0); $57 = $56; $58 = $57; HEAP32[$58>>2] = 0; @@ -224356,7 +225923,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $60 = $59; HEAP32[$60>>2] = 0; $61 = HEAP32[$0>>2]|0; - $62 = ((($61)) + 520|0); + $62 = ((($61)) + 448|0); $63 = $62; $64 = $63; HEAP32[$64>>2] = 0; @@ -224369,7 +225936,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $70 = $69 & -16777217; HEAP32[$68>>2] = $70; $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 204|0); + $72 = ((($71)) + 208|0); $73 = HEAP32[$72>>2]|0; $74 = ($73|0)!=(0|0); if (!($74)) { @@ -224379,7 +225946,7 @@ function _sqlite3RollbackAll($db,$tripCode) { $76 = ($75|0)!=(0); if (!($76)) { $77 = HEAP32[$0>>2]|0; - $78 = ((($77)) + 63|0); + $78 = ((($77)) + 67|0); $79 = HEAP8[$78>>0]|0; $80 = ($79<<24>>24)!=(0); if ($80) { @@ -224387,10 +225954,10 @@ function _sqlite3RollbackAll($db,$tripCode) { } } $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 204|0); + $82 = ((($81)) + 208|0); $83 = HEAP32[$82>>2]|0; $84 = HEAP32[$0>>2]|0; - $85 = ((($84)) + 200|0); + $85 = ((($84)) + 204|0); $86 = HEAP32[$85>>2]|0; FUNCTION_TABLE_vi[$83 & 255]($86); STACKTOP = sp;return; @@ -224406,33 +225973,33 @@ function _sqlite3CloseSavepoints($db) { HEAP32[$0>>2] = $db; while(1) { $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 492|0); + $2 = ((($1)) + 424|0); $3 = HEAP32[$2>>2]|0; $4 = ($3|0)!=(0|0); $5 = HEAP32[$0>>2]|0; if (!($4)) { break; } - $6 = ((($5)) + 492|0); + $6 = ((($5)) + 424|0); $7 = HEAP32[$6>>2]|0; HEAP32[$pTmp>>2] = $7; $8 = HEAP32[$pTmp>>2]|0; $9 = ((($8)) + 24|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 492|0); + $12 = ((($11)) + 424|0); HEAP32[$12>>2] = $10; $13 = HEAP32[$0>>2]|0; $14 = HEAP32[$pTmp>>2]|0; _sqlite3DbFree($13,$14); } - $15 = ((($5)) + 500|0); + $15 = ((($5)) + 432|0); HEAP32[$15>>2] = 0; $16 = HEAP32[$0>>2]|0; - $17 = ((($16)) + 504|0); + $17 = ((($16)) + 436|0); HEAP32[$17>>2] = 0; $18 = HEAP32[$0>>2]|0; - $19 = ((($18)) + 71|0); + $19 = ((($18)) + 75|0); HEAP8[$19>>0] = 0; STACKTOP = sp;return; } @@ -224472,7 +226039,7 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, $nByte = 0, $pCx = 0, $pMem = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $nByte = 0, $pCx = 0, $pMem = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; $0 = sp + 24|0; @@ -224488,117 +226055,126 @@ function _allocateCursor($p,$iCur,$nField,$iDb,$eCurType) { HEAP32[$2>>2] = $nField; HEAP32[$3>>2] = $iDb; HEAP8[$4>>0] = $eCurType; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = HEAP32[$1>>2]|0; - $9 = (($7) - ($8))|0; - $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = (($12) + (($9*40)|0)|0); - HEAP32[$pMem>>2] = $13; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)>(0); + $7 = HEAP32[$0>>2]|0; + if ($6) { + $8 = ((($7)) + 28|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$1>>2]|0; + $11 = (($9) - ($10))|0; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($14) + (($11*40)|0)|0); + $18 = $15; + } else { + $16 = ((($7)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17; + } + HEAP32[$pMem>>2] = $18; HEAP32[$pCx>>2] = 0; - $14 = HEAP32[$2>>2]|0; - $15 = $14<<3; - $16 = (88 + ($15))|0; - $17 = HEAP8[$4>>0]|0; - $18 = $17&255; - $19 = ($18|0)==(0); - if ($19) { - $20 = (_sqlite3BtreeCursorSize()|0); - $22 = $20; + $19 = HEAP32[$2>>2]|0; + $20 = $19<<3; + $21 = (88 + ($20))|0; + $22 = HEAP8[$4>>0]|0; + $23 = $22&255; + $24 = ($23|0)==(0); + if ($24) { + $25 = (_sqlite3BtreeCursorSize()|0); + $27 = $25; } else { - $22 = 0; + $27 = 0; } - $21 = (($16) + ($22))|0; - HEAP32[$nByte>>2] = $21; - $23 = HEAP32[$1>>2]|0; - $24 = HEAP32[$0>>2]|0; - $25 = ((($24)) + 56|0); - $26 = HEAP32[$25>>2]|0; - $27 = (($26) + ($23<<2)|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$0>>2]|0; - $31 = HEAP32[$1>>2]|0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 56|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($31<<2)|0); - $36 = HEAP32[$35>>2]|0; - _sqlite3VdbeFreeCursor($30,$36); - $37 = HEAP32[$1>>2]|0; - $38 = HEAP32[$0>>2]|0; - $39 = ((($38)) + 56|0); - $40 = HEAP32[$39>>2]|0; - $41 = (($40) + ($37<<2)|0); - HEAP32[$41>>2] = 0; + $26 = (($21) + ($27))|0; + HEAP32[$nByte>>2] = $26; + $28 = HEAP32[$1>>2]|0; + $29 = HEAP32[$0>>2]|0; + $30 = ((($29)) + 56|0); + $31 = HEAP32[$30>>2]|0; + $32 = (($31) + ($28<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = ($33|0)!=(0|0); + if ($34) { + $35 = HEAP32[$0>>2]|0; + $36 = HEAP32[$1>>2]|0; + $37 = HEAP32[$0>>2]|0; + $38 = ((($37)) + 56|0); + $39 = HEAP32[$38>>2]|0; + $40 = (($39) + ($36<<2)|0); + $41 = HEAP32[$40>>2]|0; + _sqlite3VdbeFreeCursor($35,$41); + $42 = HEAP32[$1>>2]|0; + $43 = HEAP32[$0>>2]|0; + $44 = ((($43)) + 56|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + ($42<<2)|0); + HEAP32[$46>>2] = 0; } - $42 = HEAP32[$pMem>>2]|0; - $43 = HEAP32[$nByte>>2]|0; - $44 = (_sqlite3VdbeMemClearAndResize($42,$43)|0); - $45 = (0)==($44|0); - if (!($45)) { - $86 = HEAP32[$pCx>>2]|0; - STACKTOP = sp;return ($86|0); + $47 = HEAP32[$pMem>>2]|0; + $48 = HEAP32[$nByte>>2]|0; + $49 = (_sqlite3VdbeMemClearAndResize($47,$48)|0); + $50 = (0)==($49|0); + if (!($50)) { + $91 = HEAP32[$pCx>>2]|0; + STACKTOP = sp;return ($91|0); } - $46 = HEAP32[$pMem>>2]|0; - $47 = ((($46)) + 16|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$pCx>>2] = $48; - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$0>>2]|0; - $51 = ((($50)) + 56|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($52) + ($49<<2)|0); - HEAP32[$53>>2] = $48; - $54 = HEAP32[$pCx>>2]|0; - dest=$54; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $55 = HEAP8[$4>>0]|0; - $56 = HEAP32[$pCx>>2]|0; - HEAP8[$56>>0] = $55; - $57 = HEAP32[$3>>2]|0; - $58 = $57&255; + $51 = HEAP32[$pMem>>2]|0; + $52 = ((($51)) + 16|0); + $53 = HEAP32[$52>>2]|0; + HEAP32[$pCx>>2] = $53; + $54 = HEAP32[$1>>2]|0; + $55 = HEAP32[$0>>2]|0; + $56 = ((($55)) + 56|0); + $57 = HEAP32[$56>>2]|0; + $58 = (($57) + ($54<<2)|0); + HEAP32[$58>>2] = $53; $59 = HEAP32[$pCx>>2]|0; - $60 = ((($59)) + 1|0); - HEAP8[$60>>0] = $58; - $61 = HEAP32[$2>>2]|0; - $62 = $61&65535; - $63 = HEAP32[$pCx>>2]|0; - $64 = ((($63)) + 12|0); - HEAP16[$64>>1] = $62; - $65 = HEAP32[$2>>2]|0; - $66 = HEAP32[$pCx>>2]|0; - $67 = ((($66)) + 80|0); - $68 = (($67) + ($65<<2)|0); - $69 = HEAP32[$pCx>>2]|0; - $70 = ((($69)) + 76|0); - HEAP32[$70>>2] = $68; - $71 = HEAP8[$4>>0]|0; - $72 = $71&255; - $73 = ($72|0)==(0); - if (!($73)) { - $86 = HEAP32[$pCx>>2]|0; - STACKTOP = sp;return ($86|0); + dest=$59; stop=dest+88|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $60 = HEAP8[$4>>0]|0; + $61 = HEAP32[$pCx>>2]|0; + HEAP8[$61>>0] = $60; + $62 = HEAP32[$3>>2]|0; + $63 = $62&255; + $64 = HEAP32[$pCx>>2]|0; + $65 = ((($64)) + 1|0); + HEAP8[$65>>0] = $63; + $66 = HEAP32[$2>>2]|0; + $67 = $66&65535; + $68 = HEAP32[$pCx>>2]|0; + $69 = ((($68)) + 12|0); + HEAP16[$69>>1] = $67; + $70 = HEAP32[$2>>2]|0; + $71 = HEAP32[$pCx>>2]|0; + $72 = ((($71)) + 80|0); + $73 = (($72) + ($70<<2)|0); + $74 = HEAP32[$pCx>>2]|0; + $75 = ((($74)) + 76|0); + HEAP32[$75>>2] = $73; + $76 = HEAP8[$4>>0]|0; + $77 = $76&255; + $78 = ($77|0)==(0); + if (!($78)) { + $91 = HEAP32[$pCx>>2]|0; + STACKTOP = sp;return ($91|0); } - $74 = HEAP32[$2>>2]|0; - $75 = $74<<3; - $76 = (88 + ($75))|0; - $77 = HEAP32[$pMem>>2]|0; - $78 = ((($77)) + 16|0); - $79 = HEAP32[$78>>2]|0; - $80 = (($79) + ($76)|0); - $81 = HEAP32[$pCx>>2]|0; - $82 = ((($81)) + 16|0); - HEAP32[$82>>2] = $80; - $83 = HEAP32[$pCx>>2]|0; - $84 = ((($83)) + 16|0); - $85 = HEAP32[$84>>2]|0; - _sqlite3BtreeCursorZero($85); + $79 = HEAP32[$2>>2]|0; + $80 = $79<<3; + $81 = (88 + ($80))|0; + $82 = HEAP32[$pMem>>2]|0; + $83 = ((($82)) + 16|0); + $84 = HEAP32[$83>>2]|0; + $85 = (($84) + ($81)|0); $86 = HEAP32[$pCx>>2]|0; - STACKTOP = sp;return ($86|0); + $87 = ((($86)) + 16|0); + HEAP32[$87>>2] = $85; + $88 = HEAP32[$pCx>>2]|0; + $89 = ((($88)) + 16|0); + $90 = HEAP32[$89>>2]|0; + _sqlite3BtreeCursorZero($90); + $91 = HEAP32[$pCx>>2]|0; + STACKTOP = sp;return ($91|0); } function _sqlite3BtreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { $p = $p|0; @@ -224623,7 +226199,7 @@ function _sqlite3BtreeCursor($p,$iTable,$wrFlag,$pKeyInfo,$pCur) { $5 = HEAP32[$1>>2]|0; $6 = ($5|0)<(1); if ($6) { - $7 = (_sqlite3CorruptError(59722)|0); + $7 = (_sqlite3CorruptError(59956)|0); HEAP32[$rc>>2] = $7; $15 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($15|0); @@ -225832,7 +227408,7 @@ function _sqlite3BtreeDelete($pCur,$flags) { $196 = ((($195)) + 4|0); $197 = ($192>>>0)<($196>>>0); if ($197) { - $198 = (_sqlite3CorruptError(63773)|0); + $198 = (_sqlite3CorruptError(64012)|0); HEAP32[$0>>2] = $198; $287 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($287|0); @@ -226887,7 +228463,7 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { $or$cond3 = $or$cond | $56; if (!($or$cond3)) { $57 = HEAP32[$typeRowid>>2]|0; - $58 = (35916 + ($57)|0); + $58 = (35569 + ($57)|0); $59 = HEAP8[$58>>0]|0; $60 = $59&255; HEAP32[$lenRowid>>2] = $60; @@ -226929,7 +228505,7 @@ function _sqlite3VdbeIdxRowid($db,$pCur,$rowid) { } } _sqlite3VdbeMemRelease($m); - $86 = (_sqlite3CorruptError(72119)|0); + $86 = (_sqlite3CorruptError(72372)|0); HEAP32[$0>>2] = $86; $87 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($87|0); @@ -226996,7 +228572,7 @@ function _sqlite3VdbeIdxKeyCompare($db,$pC,$pUnpacked,$res) { if ($or$cond) { $35 = HEAP32[$4>>2]|0; HEAP32[$35>>2] = 0; - $36 = (_sqlite3CorruptError(72153)|0); + $36 = (_sqlite3CorruptError(72406)|0); HEAP32[$0>>2] = $36; $56 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($56|0); @@ -227659,7 +229235,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { _setPageReferenced($sCheck,$65); } $66 = ((($sCheck)) + 28|0); - HEAP32[$66>>2] = 42551; + HEAP32[$66>>2] = 42202; $67 = HEAP32[$pBt>>2]|0; $68 = ((($67)) + 12|0); $69 = HEAP32[$68>>2]|0; @@ -227771,7 +229347,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { } $145 = HEAP32[$i>>2]|0; HEAP32[$vararg_buffer>>2] = $145; - _checkAppendMsg($sCheck,42567,$vararg_buffer); + _checkAppendMsg($sCheck,42218,$vararg_buffer); } } while(0); $146 = HEAP32[$i>>2]|0; @@ -227792,7 +229368,7 @@ function _sqlite3BtreeIntegrityCheck($p,$aRoot,$nRoot,$mxErr,$pnErr) { if ($158) { $159 = HEAP32[$i>>2]|0; HEAP32[$vararg_buffer1>>2] = $159; - _checkAppendMsg($sCheck,42589,$vararg_buffer1); + _checkAppendMsg($sCheck,42240,$vararg_buffer1); } } } @@ -227858,7 +229434,7 @@ function _sqlite3VdbeMemSetRowSet($pMem) { $8 = ((($7)) + 20|0); HEAP32[$8>>2] = $6; $9 = HEAP32[$db>>2]|0; - $10 = ((($9)) + 65|0); + $10 = ((($9)) + 69|0); $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)!=(0); if ($12) { @@ -228354,43 +229930,53 @@ function _sqlite3PagerOkToChangeJournalMode($pPager) { } function _sqlite3PagerWalSupported($pPager) { $pPager = $pPager|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMethods = 0; - var label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pMethods = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; + $0 = sp + 8|0; + $1 = sp + 4|0; $pMethods = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 64|0); - $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $pPager; + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 64|0); $4 = HEAP32[$3>>2]|0; - HEAP32[$pMethods>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)!=(0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$pMethods>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 14|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)!=(0); if ($9) { - $18 = 1; - $17 = $18&1; - STACKTOP = sp;return ($17|0); + HEAP32[$0>>2] = 0; + $24 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($24|0); } - $10 = HEAP32[$pMethods>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>=(2); - if (!($12)) { - $18 = 0; - $17 = $18&1; - STACKTOP = sp;return ($17|0); + $10 = HEAP32[$1>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP8[$11>>0]|0; + $13 = $12&255; + $14 = ($13|0)!=(0); + if ($14) { + $23 = 1; + } else { + $15 = HEAP32[$pMethods>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>=(2); + if ($17) { + $18 = HEAP32[$pMethods>>2]|0; + $19 = ((($18)) + 52|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)!=(0|0); + $23 = $21; + } else { + $23 = 0; + } } - $13 = HEAP32[$pMethods>>2]|0; - $14 = ((($13)) + 52|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)!=(0|0); - $18 = $16; - $17 = $18&1; - STACKTOP = sp;return ($17|0); + $22 = $23&1; + HEAP32[$0>>2] = $22; + $24 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($24|0); } function _sqlite3PagerCloseWal($pPager) { $pPager = $pPager|0; @@ -228673,25 +230259,25 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { HEAP32[$zSql>>2] = 0; HEAP32[$pDb>>2] = 0; $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 63|0); + $4 = ((($3)) + 67|0); $5 = HEAP8[$4>>0]|0; $6 = ($5<<24>>24)!=(0); if (!($6)) { $7 = HEAP32[$1>>2]|0; $8 = HEAP32[$2>>2]|0; - _sqlite3SetString($7,$8,41344); + _sqlite3SetString($7,$8,40995); HEAP32[$0>>2] = 1; $245 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($245|0); } $9 = HEAP32[$2>>2]|0; - $10 = ((($9)) + 148|0); + $10 = ((($9)) + 152|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)>(1); if ($12) { $13 = HEAP32[$1>>2]|0; $14 = HEAP32[$2>>2]|0; - _sqlite3SetString($13,$14,41384); + _sqlite3SetString($13,$14,41035); HEAP32[$0>>2] = 1; $245 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($245|0); @@ -228701,15 +230287,15 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $17 = HEAP32[$16>>2]|0; HEAP32[$saved_flags>>2] = $17; $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 80|0); + $19 = ((($18)) + 84|0); $20 = HEAP32[$19>>2]|0; HEAP32[$saved_nChange>>2] = $20; $21 = HEAP32[$2>>2]|0; - $22 = ((($21)) + 84|0); + $22 = ((($21)) + 88|0); $23 = HEAP32[$22>>2]|0; HEAP32[$saved_nTotalChange>>2] = $23; $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 176|0); + $25 = ((($24)) + 180|0); $26 = HEAP32[$25>>2]|0; HEAP32[$saved_xTrace>>2] = $26; $27 = HEAP32[$2>>2]|0; @@ -228723,7 +230309,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $34 = $33 & -655361; HEAP32[$32>>2] = $34; $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 176|0); + $36 = ((($35)) + 180|0); HEAP32[$36>>2] = 0; $37 = HEAP32[$2>>2]|0; $38 = ((($37)) + 16|0); @@ -228743,9 +230329,9 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $49 = (_sqlite3TempInMemory($48)|0); $50 = ($49|0)!=(0); if ($50) { - HEAP32[$zSql>>2] = 41427; + HEAP32[$zSql>>2] = 41078; } else { - HEAP32[$zSql>>2] = 41459; + HEAP32[$zSql>>2] = 41110; } $51 = HEAP32[$2>>2]|0; $52 = HEAP32[$1>>2]|0; @@ -228790,14 +230376,14 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { HEAP32[$nRes>>2] = $82; $83 = HEAP32[$2>>2]|0; $84 = HEAP32[$1>>2]|0; - $85 = (_execSql($83,$84,41483)|0); + $85 = (_execSql($83,$84,41134)|0); HEAP32[$rc>>2] = $85; $86 = HEAP32[$rc>>2]|0; $87 = ($86|0)!=(0); if (!($87)) { $88 = HEAP32[$2>>2]|0; $89 = HEAP32[$1>>2]|0; - $90 = (_execSql($88,$89,41516)|0); + $90 = (_execSql($88,$89,41167)|0); HEAP32[$rc>>2] = $90; $91 = HEAP32[$rc>>2]|0; $92 = ($91|0)!=(0); @@ -228814,7 +230400,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { $100 = ($99|0)==(5); if ($100) { $101 = HEAP32[$2>>2]|0; - $102 = ((($101)) + 72|0); + $102 = ((($101)) + 76|0); HEAP32[$102>>2] = 0; } $103 = HEAP32[$pTemp>>2]|0; @@ -228830,7 +230416,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { if (!($110)) { $111 = HEAP32[$pTemp>>2]|0; $112 = HEAP32[$2>>2]|0; - $113 = ((($112)) + 72|0); + $113 = ((($112)) + 76|0); $114 = HEAP32[$113>>2]|0; $115 = HEAP32[$nRes>>2]|0; $116 = (_sqlite3BtreeSetPageSize($111,$114,$115,0)|0); @@ -228840,20 +230426,20 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } } $118 = HEAP32[$2>>2]|0; - $119 = ((($118)) + 65|0); + $119 = ((($118)) + 69|0); $120 = HEAP8[$119>>0]|0; $121 = $120&255; $122 = ($121|0)!=(0); if (!($122)) { $123 = HEAP32[$pTemp>>2]|0; $124 = HEAP32[$2>>2]|0; - $125 = ((($124)) + 68|0); + $125 = ((($124)) + 72|0); $126 = HEAP8[$125>>0]|0; $127 = $126 << 24 >> 24; $128 = ($127|0)>=(0); if ($128) { $129 = HEAP32[$2>>2]|0; - $130 = ((($129)) + 68|0); + $130 = ((($129)) + 72|0); $131 = HEAP8[$130>>0]|0; $132 = $131 << 24 >> 24; $135 = $132; @@ -228865,7 +230451,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { (_sqlite3BtreeSetAutoVacuum($123,$135)|0); $136 = HEAP32[$2>>2]|0; $137 = HEAP32[$1>>2]|0; - $138 = (_execExecSql($136,$137,41523)|0); + $138 = (_execExecSql($136,$137,41174)|0); HEAP32[$rc>>2] = $138; $139 = HEAP32[$rc>>2]|0; $140 = ($139|0)!=(0); @@ -228874,7 +230460,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $141 = HEAP32[$2>>2]|0; $142 = HEAP32[$1>>2]|0; - $143 = (_execExecSql($141,$142,41671)|0); + $143 = (_execExecSql($141,$142,41322)|0); HEAP32[$rc>>2] = $143; $144 = HEAP32[$rc>>2]|0; $145 = ($144|0)!=(0); @@ -228883,7 +230469,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $146 = HEAP32[$2>>2]|0; $147 = HEAP32[$1>>2]|0; - $148 = (_execExecSql($146,$147,41775)|0); + $148 = (_execExecSql($146,$147,41426)|0); HEAP32[$rc>>2] = $148; $149 = HEAP32[$rc>>2]|0; $150 = ($149|0)!=(0); @@ -228897,7 +230483,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { HEAP32[$152>>2] = $154; $155 = HEAP32[$2>>2]|0; $156 = HEAP32[$1>>2]|0; - $157 = (_execExecSql($155,$156,41893)|0); + $157 = (_execExecSql($155,$156,41544)|0); HEAP32[$rc>>2] = $157; $158 = HEAP32[$2>>2]|0; $159 = ((($158)) + 24|0); @@ -228911,7 +230497,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $164 = HEAP32[$2>>2]|0; $165 = HEAP32[$1>>2]|0; - $166 = (_execExecSql($164,$165,42089)|0); + $166 = (_execExecSql($164,$165,41740)|0); HEAP32[$rc>>2] = $166; $167 = HEAP32[$rc>>2]|0; $168 = ($167|0)!=(0); @@ -228920,7 +230506,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $169 = HEAP32[$2>>2]|0; $170 = HEAP32[$1>>2]|0; - $171 = (_execExecSql($169,$170,42202)|0); + $171 = (_execExecSql($169,$170,41853)|0); HEAP32[$rc>>2] = $171; $172 = HEAP32[$rc>>2]|0; $173 = ($172|0)!=(0); @@ -228929,7 +230515,7 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { } $174 = HEAP32[$2>>2]|0; $175 = HEAP32[$1>>2]|0; - $176 = (_execSql($174,$175,42357)|0); + $176 = (_execSql($174,$175,42008)|0); HEAP32[$rc>>2] = $176; $177 = HEAP32[$rc>>2]|0; $178 = ($177|0)!=(0); @@ -228945,19 +230531,19 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { break; } $182 = HEAP32[$i>>2]|0; - $183 = (42541 + ($182)|0); + $183 = (42192 + ($182)|0); $184 = HEAP8[$183>>0]|0; $185 = $184&255; _sqlite3BtreeGetMeta($181,$185,$meta); $186 = HEAP32[$pTemp>>2]|0; $187 = HEAP32[$i>>2]|0; - $188 = (42541 + ($187)|0); + $188 = (42192 + ($187)|0); $189 = HEAP8[$188>>0]|0; $190 = $189&255; $191 = HEAP32[$meta>>2]|0; $192 = HEAP32[$i>>2]|0; $193 = (($192) + 1)|0; - $194 = (42541 + ($193)|0); + $194 = (42192 + ($193)|0); $195 = HEAP8[$194>>0]|0; $196 = $195&255; $197 = (($191) + ($196))|0; @@ -229014,20 +230600,20 @@ function _sqlite3RunVacuum($pzErrMsg,$db) { HEAP32[$221>>2] = $219; $222 = HEAP32[$saved_nChange>>2]|0; $223 = HEAP32[$2>>2]|0; - $224 = ((($223)) + 80|0); + $224 = ((($223)) + 84|0); HEAP32[$224>>2] = $222; $225 = HEAP32[$saved_nTotalChange>>2]|0; $226 = HEAP32[$2>>2]|0; - $227 = ((($226)) + 84|0); + $227 = ((($226)) + 88|0); HEAP32[$227>>2] = $225; $228 = HEAP32[$saved_xTrace>>2]|0; $229 = HEAP32[$2>>2]|0; - $230 = ((($229)) + 176|0); + $230 = ((($229)) + 180|0); HEAP32[$230>>2] = $228; $231 = HEAP32[$pMain>>2]|0; (_sqlite3BtreeSetPageSize($231,-1,-1,1)|0); $232 = HEAP32[$2>>2]|0; - $233 = ((($232)) + 63|0); + $233 = ((($232)) + 67|0); HEAP8[$233>>0] = 1; $234 = HEAP32[$pDb>>2]|0; $235 = ($234|0)!=(0|0); @@ -229100,7 +230686,7 @@ function _sqlite3BtreeIncrVacuum($p) { $23 = HEAP32[$nFin>>2]|0; $24 = ($22>>>0)<($23>>>0); if ($24) { - $25 = (_sqlite3CorruptError(59178)|0); + $25 = (_sqlite3CorruptError(59412)|0); HEAP32[$rc>>2] = $25; $54 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($54|0); @@ -229223,12 +230809,12 @@ function _sqlite3VtabBegin($db,$pVTab) { HEAP32[$2>>2] = $pVTab; HEAP32[$rc>>2] = 0; $3 = HEAP32[$1>>2]|0; - $4 = ((($3)) + 308|0); + $4 = ((($3)) + 316|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)>(0); if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 332|0); + $8 = ((($7)) + 340|0); $9 = HEAP32[$8>>2]|0; $10 = ($9|0)==(0|0); if ($10) { @@ -229258,7 +230844,7 @@ function _sqlite3VtabBegin($db,$pVTab) { while(1) { $21 = HEAP32[$i>>2]|0; $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 308|0); + $23 = ((($22)) + 316|0); $24 = HEAP32[$23>>2]|0; $25 = ($21|0)<($24|0); if (!($25)) { @@ -229266,7 +230852,7 @@ function _sqlite3VtabBegin($db,$pVTab) { } $26 = HEAP32[$i>>2]|0; $27 = HEAP32[$1>>2]|0; - $28 = ((($27)) + 332|0); + $28 = ((($27)) + 340|0); $29 = HEAP32[$28>>2]|0; $30 = (($29) + ($26<<2)|0); $31 = HEAP32[$30>>2]|0; @@ -229303,10 +230889,10 @@ function _sqlite3VtabBegin($db,$pVTab) { $48 = ($47|0)==(0); if ($48) { $49 = HEAP32[$1>>2]|0; - $50 = ((($49)) + 504|0); + $50 = ((($49)) + 436|0); $51 = HEAP32[$50>>2]|0; $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 500|0); + $53 = ((($52)) + 432|0); $54 = HEAP32[$53>>2]|0; $55 = (($51) + ($54))|0; HEAP32[$iSvpt>>2] = $55; @@ -229371,7 +230957,7 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { $16 = HEAP32[$15>>2]|0; HEAP32[$zMod>>2] = $16; $17 = HEAP32[$0>>2]|0; - $18 = ((($17)) + 312|0); + $18 = ((($17)) + 320|0); $19 = HEAP32[$zMod>>2]|0; $20 = (_sqlite3HashFind($18,$19)|0); HEAP32[$pMod>>2] = $20; @@ -229413,7 +230999,7 @@ function _sqlite3VtabCallCreate($db,$iDb,$zTab,$pzErr) { $33 = HEAP32[$0>>2]|0; $34 = HEAP32[$zMod>>2]|0; HEAP32[$vararg_buffer>>2] = $34; - $35 = (_sqlite3MPrintf($33,31494,$vararg_buffer)|0); + $35 = (_sqlite3MPrintf($33,31219,$vararg_buffer)|0); $36 = HEAP32[$3>>2]|0; HEAP32[$36>>2] = $35; HEAP32[$rc>>2] = 1; @@ -229630,11 +231216,11 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { HEAP32[$db>>2] = $3; $4 = HEAP32[$db>>2]|0; $5 = HEAP32[$db>>2]|0; - $6 = ((($5)) + 88|0); + $6 = ((($5)) + 92|0); $7 = HEAP32[$6>>2]|0; _sqlite3StrAccumInit($out,$4,$zBase,100,$7); $8 = HEAP32[$db>>2]|0; - $9 = ((($8)) + 160|0); + $9 = ((($8)) + 164|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)>(1); if ($11) { @@ -229665,7 +231251,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { break; } } - _sqlite3StrAccumAppend($out,41310,3); + _sqlite3StrAccumAppend($out,40961,3); $25 = HEAP32[$zStart>>2]|0; $26 = HEAP32[$1>>2]|0; $27 = HEAP32[$zStart>>2]|0; @@ -229761,7 +231347,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $79 = $78 & 1; $80 = ($79|0)!=(0); if ($80) { - _sqlite3StrAccumAppend($out,40498,4); + _sqlite3StrAccumAppend($out,40149,4); continue; } $81 = HEAP32[$pVar>>2]|0; @@ -229784,7 +231370,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $96 = (($94) + 4)|0; $97 = $96; HEAP32[$97>>2] = $93; - _sqlite3XPrintf($out,29137,$vararg_buffer); + _sqlite3XPrintf($out,28862,$vararg_buffer); continue; } $98 = ((($87)) + 8|0); @@ -229796,7 +231382,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { if ($102) { $104 = +HEAPF64[$103>>3]; HEAPF64[$vararg_buffer1>>3] = $104; - _sqlite3XPrintf($out,29142,$vararg_buffer1); + _sqlite3XPrintf($out,28867,$vararg_buffer1); continue; } $105 = ((($103)) + 8|0); @@ -229806,7 +231392,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $109 = ($108|0)!=(0); if ($109) { $110 = HEAP32[$db>>2]|0; - $111 = ((($110)) + 62|0); + $111 = ((($110)) + 66|0); $112 = HEAP8[$111>>0]|0; HEAP8[$enc>>0] = $112; $113 = HEAP8[$enc>>0]|0; @@ -229839,7 +231425,7 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { HEAP32[$vararg_buffer4>>2] = $128; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $131; - _sqlite3XPrintf($out,41314,$vararg_buffer4); + _sqlite3XPrintf($out,40965,$vararg_buffer4); $132 = HEAP8[$enc>>0]|0; $133 = $132&255; $134 = ($133|0)!=(1); @@ -229859,10 +231445,10 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $141 = HEAP32[$pVar>>2]|0; $142 = HEAP32[$141>>2]|0; HEAP32[$vararg_buffer8>>2] = $142; - _sqlite3XPrintf($out,41321,$vararg_buffer8); + _sqlite3XPrintf($out,40972,$vararg_buffer8); continue; } - _sqlite3StrAccumAppend($out,41334,2); + _sqlite3StrAccumAppend($out,40985,2); $143 = HEAP32[$pVar>>2]|0; $144 = ((($143)) + 12|0); $145 = HEAP32[$144>>2]|0; @@ -229884,12 +231470,12 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { $155 = $154 << 24 >> 24; $156 = $155 & 255; HEAP32[$vararg_buffer11>>2] = $156; - _sqlite3XPrintf($out,41337,$vararg_buffer11); + _sqlite3XPrintf($out,40988,$vararg_buffer11); $157 = HEAP32[$i>>2]|0; $158 = (($157) + 1)|0; HEAP32[$i>>2] = $158; } - _sqlite3StrAccumAppend($out,41342,1); + _sqlite3StrAccumAppend($out,40993,1); } if ((label|0) == 33) { $159 = (_sqlite3StrAccumFinish($out)|0); @@ -229897,6 +231483,63 @@ function _sqlite3VdbeExpandSql($p,$zRawSql) { } return (0)|0; } +function _sqlite3SystemError($db,$rc) { + $db = $db|0; + $rc = $rc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $rc; + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(3082); + if ($3) { + STACKTOP = sp;return; + } + $4 = HEAP32[$1>>2]|0; + $5 = $4 & 255; + HEAP32[$1>>2] = $5; + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(14); + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(10); + $or$cond = $7 | $9; + if (!($or$cond)) { + STACKTOP = sp;return; + } + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3OsGetLastError($11)|0); + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 60|0); + HEAP32[$14>>2] = $12; + STACKTOP = sp;return; +} +function _sqlite3OsGetLastError($pVfs) { + $pVfs = $pVfs|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pVfs; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 68|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + $10 = 0; + STACKTOP = sp;return ($10|0); + } + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 68|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = (FUNCTION_TABLE_iiii[$7 & 255]($8,0,0)|0); + $10 = $9; + STACKTOP = sp;return ($10|0); +} function _findNextHostParameter($zSql,$pnToken) { $zSql = $zSql|0; $pnToken = $pnToken|0; @@ -229985,21 +231628,21 @@ function _growVTrans($db) { HEAP32[$1>>2] = $db; HEAP32[$ARRAY_INCR>>2] = 5; $2 = HEAP32[$1>>2]|0; - $3 = ((($2)) + 308|0); + $3 = ((($2)) + 316|0); $4 = HEAP32[$3>>2]|0; $5 = (($4|0) % 5)&-1; $6 = ($5|0)==(0); do { if ($6) { $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 308|0); + $8 = ((($7)) + 316|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + 5)|0; $11 = $10<<2; HEAP32[$nBytes>>2] = $11; $12 = HEAP32[$1>>2]|0; $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 332|0); + $14 = ((($13)) + 340|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$nBytes>>2]|0; $17 = ($16|0)<(0); @@ -230010,14 +231653,14 @@ function _growVTrans($db) { $21 = ($20|0)!=(0|0); if ($21) { $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 308|0); + $23 = ((($22)) + 316|0); $24 = HEAP32[$23>>2]|0; $25 = HEAP32[$aVTrans>>2]|0; $26 = (($25) + ($24<<2)|0); ;HEAP32[$26>>2]=0|0;HEAP32[$26+4>>2]=0|0;HEAP32[$26+8>>2]=0|0;HEAP32[$26+12>>2]=0|0;HEAP32[$26+16>>2]=0|0; $27 = HEAP32[$aVTrans>>2]|0; $28 = HEAP32[$1>>2]|0; - $29 = ((($28)) + 332|0); + $29 = ((($28)) + 340|0); HEAP32[$29>>2] = $27; break; } @@ -230042,12 +231685,12 @@ function _addToVTrans($db,$pVTab) { HEAP32[$1>>2] = $pVTab; $2 = HEAP32[$1>>2]|0; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 308|0); + $4 = ((($3)) + 316|0); $5 = HEAP32[$4>>2]|0; $6 = (($5) + 1)|0; HEAP32[$4>>2] = $6; $7 = HEAP32[$0>>2]|0; - $8 = ((($7)) + 332|0); + $8 = ((($7)) + 340|0); $9 = HEAP32[$8>>2]|0; $10 = (($9) + ($5<<2)|0); HEAP32[$10>>2] = $2; @@ -230368,7 +232011,7 @@ function _incrVacuumStep($pBt,$nFin,$iLastPg,$bCommit) { $34 = $33&255; $35 = ($34|0)==(1); if ($35) { - $36 = (_sqlite3CorruptError(59063)|0); + $36 = (_sqlite3CorruptError(59297)|0); HEAP32[$0>>2] = $36; $105 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($105|0); @@ -230598,7 +232241,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { $17 = HEAP32[$mxPage>>2]|0; $18 = ($16>>>0)>=($17>>>0); if ($18) { - $19 = (_sqlite3CorruptError(61115)|0); + $19 = (_sqlite3CorruptError(61354)|0); HEAP32[$0>>2] = $19; $458 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($458|0); @@ -230710,7 +232353,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { } if ((label|0) == 20) { label = 0; - $72 = (_sqlite3CorruptError(61171)|0); + $72 = (_sqlite3CorruptError(61410)|0); HEAP32[$rc>>2] = $72; } $76 = HEAP32[$rc>>2]|0; @@ -231146,12 +232789,12 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } else if ((label|0) == 28) { - $111 = (_sqlite3CorruptError(61200)|0); + $111 = (_sqlite3CorruptError(61439)|0); HEAP32[$rc>>2] = $111; break; } else if ((label|0) == 40) { - $165 = (_sqlite3CorruptError(61234)|0); + $165 = (_sqlite3CorruptError(61473)|0); HEAP32[$rc>>2] = $165; break; } @@ -231160,7 +232803,7 @@ function _allocateBtreePage($pBt,$ppPage,$pPgno,$nearby,$eMode) { break; } else if ((label|0) == 63) { - $276 = (_sqlite3CorruptError(61299)|0); + $276 = (_sqlite3CorruptError(61538)|0); HEAP32[$rc>>2] = $276; break; } @@ -231869,7 +233512,7 @@ function _ptrmapPut($pBt,$key,$eType,$parent,$pRC) { $8 = HEAP32[$1>>2]|0; $9 = ($8|0)==(0); if ($9) { - $10 = (_sqlite3CorruptError(56501)|0); + $10 = (_sqlite3CorruptError(56734)|0); $11 = HEAP32[$4>>2]|0; HEAP32[$11>>2] = $10; STACKTOP = sp;return; @@ -231901,7 +233544,7 @@ function _ptrmapPut($pBt,$key,$eType,$parent,$pRC) { $29 = ($28|0)<(0); do { if ($29) { - $30 = (_sqlite3CorruptError(56512)|0); + $30 = (_sqlite3CorruptError(56745)|0); $31 = HEAP32[$4>>2]|0; HEAP32[$31>>2] = $30; } else { @@ -232003,7 +233646,7 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { _sqlite3Put4byte($17,$18); break; } - $14 = (_sqlite3CorruptError(58893)|0); + $14 = (_sqlite3CorruptError(59127)|0); HEAP32[$0>>2] = $14; $144 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($144|0); @@ -232176,7 +233819,7 @@ function _modifyPagePointer($pPage,$iFrom,$iTo,$eType) { break; } } - $131 = (_sqlite3CorruptError(58929)|0); + $131 = (_sqlite3CorruptError(59163)|0); HEAP32[$0>>2] = $131; $144 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($144|0); @@ -232263,7 +233906,7 @@ function _sqlite3PcacheMove($p,$newPgno) { $3 = ((($2)) + 28|0); $4 = HEAP32[$3>>2]|0; HEAP32[$pCache>>2] = $4; - $5 = HEAP32[(148)>>2]|0; + $5 = HEAP32[(152)>>2]|0; $6 = HEAP32[$pCache>>2]|0; $7 = ((($6)) + 44|0); $8 = HEAP32[$7>>2]|0; @@ -232344,7 +233987,7 @@ function _btreeGetUnusedPage($pBt,$pgno,$ppPage,$flags) { _releasePage($19); $20 = HEAP32[$3>>2]|0; HEAP32[$20>>2] = 0; - $21 = (_sqlite3CorruptError(57630)|0); + $21 = (_sqlite3CorruptError(57863)|0); HEAP32[$0>>2] = $21; $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); @@ -232858,7 +234501,7 @@ function _sqlite3PagerSharedLock($pPager) { $73 = $72 & 1; $74 = ($73|0)!=(0); if ($74) { - $75 = (_sqlite3CantopenError(48855)|0); + $75 = (_sqlite3CantopenError(49095)|0); HEAP32[$rc>>2] = $75; $76 = HEAP32[$1>>2]|0; $77 = ((($76)) + 68|0); @@ -234428,7 +236071,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { $53 = HEAP32[$0>>2]|0; $54 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer7>>2] = $54; - _checkAppendMsg($53,43167,$vararg_buffer7); + _checkAppendMsg($53,42818,$vararg_buffer7); $55 = HEAP32[$3>>2]|0; $56 = (($55) + -1)|0; HEAP32[$3>>2] = $56; @@ -234510,7 +236153,7 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { continue; } $103 = HEAP32[$0>>2]|0; - _checkAppendMsg($103,43206,$vararg_buffer10); + _checkAppendMsg($103,42857,$vararg_buffer10); } if ((label|0) == 5) { $16 = HEAP32[$3>>2]|0; @@ -234522,14 +236165,14 @@ function _checkList($pCheck,$isFreeList,$iPage,$N) { HEAP32[$vararg_ptr2>>2] = $18; $vararg_ptr3 = ((($vararg_buffer)) + 8|0); HEAP32[$vararg_ptr3>>2] = $19; - _checkAppendMsg($15,43088,$vararg_buffer); + _checkAppendMsg($15,42739,$vararg_buffer); STACKTOP = sp;return; } else if ((label|0) == 8) { $29 = HEAP32[$0>>2]|0; $30 = HEAP32[$2>>2]|0; HEAP32[$vararg_buffer4>>2] = $30; - _checkAppendMsg($29,43145,$vararg_buffer4); + _checkAppendMsg($29,42796,$vararg_buffer4); STACKTOP = sp;return; } else if ((label|0) == 25) { @@ -234580,7 +236223,7 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { $16 = HEAP32[$0>>2]|0; $17 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $17; - _checkAppendMsg($16,43005,$vararg_buffer); + _checkAppendMsg($16,42656,$vararg_buffer); STACKTOP = sp;return; } $18 = HEAP8[$ePtrmapType>>0]|0; @@ -234613,7 +236256,7 @@ function _checkPtrmap($pCheck,$iChild,$eType,$iParent) { HEAP32[$vararg_ptr7>>2] = $32; $vararg_ptr8 = ((($vararg_buffer2)) + 16|0); HEAP32[$vararg_ptr8>>2] = $33; - _checkAppendMsg($26,43034,$vararg_buffer2); + _checkAppendMsg($26,42685,$vararg_buffer2); STACKTOP = sp;return; } function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { @@ -234750,7 +236393,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { } $31 = HEAP32[$3>>2]|0; $32 = ((($31)) + 28|0); - HEAP32[$32>>2] = 42625; + HEAP32[$32>>2] = 42276; $33 = HEAP32[$4>>2]|0; $34 = HEAP32[$3>>2]|0; $35 = ((($34)) + 32|0); @@ -234765,7 +236408,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $40 = HEAP32[$3>>2]|0; $41 = HEAP32[$rc>>2]|0; HEAP32[$vararg_buffer>>2] = $41; - _checkAppendMsg($40,42635,$vararg_buffer); + _checkAppendMsg($40,42286,$vararg_buffer); } else { $42 = HEAP32[$pPage>>2]|0; $43 = HEAP8[$42>>0]|0; @@ -234780,7 +236423,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $48 = HEAP32[$3>>2]|0; $49 = HEAP32[$rc>>2]|0; HEAP32[$vararg_buffer1>>2] = $49; - _checkAppendMsg($48,42673,$vararg_buffer1); + _checkAppendMsg($48,42324,$vararg_buffer1); break; } $50 = HEAP32[$pPage>>2]|0; @@ -234794,7 +236437,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$hdr>>2] = $56; $57 = HEAP32[$3>>2]|0; $58 = ((($57)) + 28|0); - HEAP32[$58>>2] = 42711; + HEAP32[$58>>2] = 42362; $59 = HEAP32[$hdr>>2]|0; $60 = (($59) + 5)|0; $61 = HEAP32[$data>>2]|0; @@ -234872,7 +236515,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { if ($119) { $120 = HEAP32[$3>>2]|0; $121 = ((($120)) + 28|0); - HEAP32[$121>>2] = 42737; + HEAP32[$121>>2] = 42388; $122 = HEAP32[$3>>2]|0; $123 = HEAP32[$pgno>>2]|0; $124 = HEAP32[$4>>2]|0; @@ -234956,7 +236599,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $186 = ($184>>>0)>($185>>>0); if ($186) { $187 = HEAP32[$3>>2]|0; - _checkAppendMsg($187,42795,$vararg_buffer9); + _checkAppendMsg($187,42446,$vararg_buffer9); HEAP32[$doCoverageCheck>>2] = 0; break; } @@ -235013,7 +236656,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $225 = (($223) + 4)|0; $226 = $225; HEAP32[$226>>2] = $222; - _checkAppendMsg($216,42819,$vararg_buffer11); + _checkAppendMsg($216,42470,$vararg_buffer11); } $227 = $info; $228 = $227; @@ -235118,7 +236761,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { $296 = ($294|0)!=($295|0); if ($296) { $297 = HEAP32[$3>>2]|0; - _checkAppendMsg($297,42843,$vararg_buffer14); + _checkAppendMsg($297,42494,$vararg_buffer14); $298 = HEAP32[$d2>>2]|0; HEAP32[$depth>>2] = $298; } @@ -235137,7 +236780,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$vararg_ptr7>>2] = $169; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $171; - _checkAppendMsg($167,42765,$vararg_buffer4); + _checkAppendMsg($167,42416,$vararg_buffer4); HEAP32[$doCoverageCheck>>2] = 0; } $309 = HEAP32[$i>>2]|0; @@ -235338,7 +236981,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$vararg_buffer16>>2] = $446; $vararg_ptr19 = ((($vararg_buffer16)) + 4|0); HEAP32[$vararg_ptr19>>2] = $447; - _checkAppendMsg($444,42868,$vararg_buffer16); + _checkAppendMsg($444,42519,$vararg_buffer16); } $457 = HEAP32[$usableSize>>2]|0; $458 = HEAP32[$prev>>2]|0; @@ -235375,7 +237018,7 @@ function _checkTreePage($pCheck,$iPage,$piMinKey,$0,$1) { HEAP32[$vararg_ptr23>>2] = $482; $vararg_ptr24 = ((($vararg_buffer20)) + 8|0); HEAP32[$vararg_ptr24>>2] = $483; - _checkAppendMsg($475,42905,$vararg_buffer20); + _checkAppendMsg($475,42556,$vararg_buffer20); } } } @@ -235474,7 +237117,7 @@ function _checkAppendMsg($pCheck,$zFormat,$varargs) { if ($18) { $19 = HEAP32[$0>>2]|0; $20 = ((($19)) + 40|0); - _sqlite3StrAccumAppend($20,42623,1); + _sqlite3StrAccumAppend($20,42274,1); } $21 = HEAP32[$0>>2]|0; $22 = ((($21)) + 28|0); @@ -235544,7 +237187,7 @@ function _checkRef($pCheck,$iPage) { $11 = HEAP32[$2>>2]|0; if ($9) { HEAP32[$vararg_buffer>>2] = $11; - _checkAppendMsg($10,42957,$vararg_buffer); + _checkAppendMsg($10,42608,$vararg_buffer); HEAP32[$0>>2] = 1; break; } @@ -235554,7 +237197,7 @@ function _checkRef($pCheck,$iPage) { $15 = HEAP32[$2>>2]|0; if ($13) { HEAP32[$vararg_buffer1>>2] = $15; - _checkAppendMsg($14,42980,$vararg_buffer1); + _checkAppendMsg($14,42631,$vararg_buffer1); HEAP32[$0>>2] = 1; break; } else { @@ -236064,7 +237707,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $7 = (_btreePagecount($6)|0); $8 = ($5>>>0)>($7>>>0); if ($8) { - $9 = (_sqlite3CorruptError(64010)|0); + $9 = (_sqlite3CorruptError(64249)|0); HEAP32[$0>>2] = $9; $123 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($123|0); @@ -236087,7 +237730,7 @@ function _clearDatabasePage($pBt,$pgno,$freePageFlag,$pnChange) { $19 = ($18<<24>>24)!=(0); L9: do { if ($19) { - $20 = (_sqlite3CorruptError(64015)|0); + $20 = (_sqlite3CorruptError(64254)|0); HEAP32[$rc>>2] = $20; } else { $21 = HEAP32[$pPage>>2]|0; @@ -236306,7 +237949,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $34 = (($29) + ($33)|0); $35 = ($26>>>0)>($34>>>0); if ($35) { - $36 = (_sqlite3CorruptError(61571)|0); + $36 = (_sqlite3CorruptError(61810)|0); HEAP32[$0>>2] = $36; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -236399,7 +238042,7 @@ function _clearCell($pPage,$pCell,$pnSize) { $86 = (_sqlite3PagerPageRefcount($85)|0); $87 = ($86|0)!=(1); if ($87) { - $88 = (_sqlite3CorruptError(61607)|0); + $88 = (_sqlite3CorruptError(61846)|0); HEAP32[$rc>>2] = $88; } else { label = 17; @@ -236431,7 +238074,7 @@ function _clearCell($pPage,$pCell,$pnSize) { HEAP32[$ovflPgno>>2] = $101; } if ((label|0) == 9) { - $68 = (_sqlite3CorruptError(61587)|0); + $68 = (_sqlite3CorruptError(61826)|0); HEAP32[$0>>2] = $68; $102 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($102|0); @@ -236681,7 +238324,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { $7 = HEAP32[$3>>2]|0; $8 = ($7>>>0)<(2); if ($8) { - $9 = (_sqlite3CorruptError(61425)|0); + $9 = (_sqlite3CorruptError(61664)|0); HEAP32[$0>>2] = $9; $166 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($166|0); @@ -236807,7 +238450,7 @@ function _freePage2($pBt,$pMemPage,$iPage) { $91 = (($90) - 2)|0; $92 = ($86>>>0)>($91>>>0); if ($92) { - $93 = (_sqlite3CorruptError(61478)|0); + $93 = (_sqlite3CorruptError(61717)|0); HEAP32[$rc>>2] = $93; break; } @@ -237131,7 +238774,7 @@ function _btreeDropTable($p,$iTable,$piMoved) { $11 = HEAP32[$2>>2]|0; $12 = ($11>>>0)<(2); if ($12) { - $13 = (_sqlite3CorruptError(64136)|0); + $13 = (_sqlite3CorruptError(64375)|0); HEAP32[$0>>2] = $13; $88 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($88|0); @@ -238297,7 +239940,7 @@ function _vdbeSorterCompareInt($pTask,$pbKey2Cached,$pKey1,$nKey1,$pKey2,$nKey2) while(1) { $49 = HEAP32[$i>>2]|0; $50 = HEAP32[$s1>>2]|0; - $51 = (43245 + ($50)|0); + $51 = (42896 + ($50)|0); $52 = HEAP8[$51>>0]|0; $53 = $52&255; $54 = ($49|0)<($53|0); @@ -238693,7 +240336,6 @@ function _sqlite3OsOpenMalloc($pVfs,$zFile,$ppFile,$flags,$pOutFlags) { HEAP32[$2>>2] = $ppFile; HEAP32[$3>>2] = $flags; HEAP32[$4>>2] = $pOutFlags; - HEAP32[$rc>>2] = 7; $5 = HEAP32[$0>>2]|0; $6 = ((($5)) + 4|0); $7 = HEAP32[$6>>2]|0; @@ -238704,6 +240346,7 @@ function _sqlite3OsOpenMalloc($pVfs,$zFile,$ppFile,$flags,$pOutFlags) { $11 = HEAP32[$pFile>>2]|0; $12 = ($11|0)!=(0|0); if (!($12)) { + HEAP32[$rc>>2] = 7; $23 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($23|0); } @@ -239895,7 +241538,7 @@ function _vdbeSorterMapFile($pTask,$pFile,$pp) { $13 = HEAP32[$12>>2]|0; $14 = ((($13)) + 24|0); $15 = HEAP32[$14>>2]|0; - $16 = ((($15)) + 136|0); + $16 = ((($15)) + 140|0); $17 = HEAP32[$16>>2]|0; $18 = ($17|0)<(0); $19 = $18 << 31 >> 31; @@ -240794,7 +242437,8 @@ function _vdbeMergeEngineLevel0($pTask,$nPMA,$piOffset,$ppOut) { var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $i = 0, $iOff = 0, $nDummy = 0, $pNew = 0, $pReadr = 0, $rc = 0, label = 0, sp = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, $i = 0, $iOff = 0, $nDummy = 0, $pNew = 0; + var $pReadr = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; $0 = sp + 44|0; @@ -240846,80 +242490,86 @@ function _vdbeMergeEngineLevel0($pTask,$nPMA,$piOffset,$ppOut) { if (!($25)) { break; } - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$pNew>>2]|0; - $28 = ((($27)) + 12|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($29) + (($26*56)|0)|0); - HEAP32[$pReadr>>2] = $30; - $31 = HEAP32[$0>>2]|0; - $32 = HEAP32[$0>>2]|0; - $33 = ((($32)) + 40|0); - $34 = $iOff; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (($34) + 4)|0; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = HEAP32[$pReadr>>2]|0; - $41 = (_vdbePmaReaderInit($31,$33,$36,$39,$40,$nDummy)|0); - HEAP32[$rc>>2] = $41; - $42 = HEAP32[$pReadr>>2]|0; - $43 = ((($42)) + 8|0); - $44 = $43; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; + $26 = $nDummy; + $27 = $26; + HEAP32[$27>>2] = 0; + $28 = (($26) + 4)|0; + $29 = $28; + HEAP32[$29>>2] = 0; + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$pNew>>2]|0; + $32 = ((($31)) + 12|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($33) + (($30*56)|0)|0); + HEAP32[$pReadr>>2] = $34; + $35 = HEAP32[$0>>2]|0; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 40|0); + $38 = $iOff; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = HEAP32[$pReadr>>2]|0; + $45 = (_vdbePmaReaderInit($35,$37,$40,$43,$44,$nDummy)|0); + HEAP32[$rc>>2] = $45; + $46 = HEAP32[$pReadr>>2]|0; + $47 = ((($46)) + 8|0); $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = $iOff; - $51 = $50; - HEAP32[$51>>2] = $46; - $52 = (($50) + 4)|0; - $53 = $52; - HEAP32[$53>>2] = $49; - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; + $49 = $48; + $50 = HEAP32[$49>>2]|0; + $51 = (($48) + 4)|0; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = $iOff; + $55 = $54; + HEAP32[$55>>2] = $50; + $56 = (($54) + 4)|0; + $57 = $56; + HEAP32[$57>>2] = $53; + $58 = HEAP32[$i>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$i>>2] = $59; } - $56 = HEAP32[$rc>>2]|0; - $57 = ($56|0)!=(0); - if (!($57)) { - $60 = $iOff; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$2>>2]|0; - $67 = $66; + $60 = HEAP32[$rc>>2]|0; + $61 = ($60|0)!=(0); + if (!($61)) { + $64 = $iOff; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; $68 = $67; - HEAP32[$68>>2] = $62; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $65; - $71 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($71|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = $66; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($75|0); } - $58 = HEAP32[$pNew>>2]|0; - _vdbeMergeEngineFree($58); - $59 = HEAP32[$3>>2]|0; - HEAP32[$59>>2] = 0; - $60 = $iOff; - $61 = $60; - $62 = HEAP32[$61>>2]|0; - $63 = (($60) + 4)|0; - $64 = $63; - $65 = HEAP32[$64>>2]|0; - $66 = HEAP32[$2>>2]|0; - $67 = $66; + $62 = HEAP32[$pNew>>2]|0; + _vdbeMergeEngineFree($62); + $63 = HEAP32[$3>>2]|0; + HEAP32[$63>>2] = 0; + $64 = $iOff; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; $68 = $67; - HEAP32[$68>>2] = $62; - $69 = (($67) + 4)|0; - $70 = $69; - HEAP32[$70>>2] = $65; - $71 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($71|0); + $69 = HEAP32[$68>>2]|0; + $70 = HEAP32[$2>>2]|0; + $71 = $70; + $72 = $71; + HEAP32[$72>>2] = $66; + $73 = (($71) + 4)|0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($75|0); } function _vdbeMergeEngineNew($nReader) { $nReader = $nReader|0; @@ -241703,7 +243353,7 @@ function _dropCell($pPage,$idx,$sz,$pRC) { } } } - $55 = (_sqlite3CorruptError(61841)|0); + $55 = (_sqlite3CorruptError(62080)|0); $56 = HEAP32[$3>>2]|0; HEAP32[$56>>2] = $55; STACKTOP = sp;return; @@ -242309,7 +243959,7 @@ function _balance_quick($pParent,$pPage,$pSpace) { $10 = $9&65535; $11 = ($10|0)==(0); if ($11) { - $12 = (_sqlite3CorruptError(62338)|0); + $12 = (_sqlite3CorruptError(62577)|0); HEAP32[$0>>2] = $12; $153 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($153|0); @@ -242530,59 +244180,59 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { var $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0; var $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0; var $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0; - var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $138 = 0, $139 = 0, $14 = 0; - var $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0; - var $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0; - var $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0; - var $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0; - var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0; - var $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0; - var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0; - var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0; - var $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0; - var $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0; - var $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0; - var $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0; - var $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0; - var $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0; - var $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0; - var $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0; - var $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0; - var $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0; - var $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0; - var $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0; - var $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0; - var $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0; - var $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0; - var $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0; - var $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0; - var $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0; - var $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0; - var $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0; - var $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0; - var $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0; - var $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0; - var $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0; - var $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0; - var $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0; - var $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0; - var $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0; - var $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0; - var $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0; - var $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0; - var $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0; - var $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0; - var $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0; - var $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0; - var $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0; - var $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0; - var $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aData = 0, $aOld = 0, $aPgFlags = 0, $aPgOrder = 0, $aPgno = 0, $aSpace1 = 0, $abDone = 0; - var $apDiv = 0, $apNew = 0, $apOld = 0, $b = 0, $cntNew = 0, $cntOld = 0, $cntOldNext = 0, $d = 0, $i = 0, $iBest = 0, $iNew = 0, $iNew9 = 0, $iOff = 0, $iOld = 0, $iOld10 = 0, $iOvflSpace = 0, $iPg = 0, $iSpace1 = 0, $info = 0, $j = 0; - var $k = 0, $key = 0, $leafCorrection = 0, $leafData = 0, $limit = 0, $maskPage = 0, $nMaxCells = 0, $nNew = 0, $nNewCell = 0, $nOld = 0, $nxDiv = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pCell = 0, $pCell5 = 0, $pNew = 0, $pNew3 = 0, $pNew8 = 0; - var $pOld = 0, $pOld2 = 0, $pOld4 = 0, $pRight = 0, $pTemp = 0, $pTemp6 = 0, $pageFlags = 0, $pgno = 0, $piCell = 0, $piEnd = 0, $r = 0, $rc = 0, $sz = 0, $sz1 = 0, $sz7 = 0, $szLeft = 0, $szNew = 0, $szRight = 0, $szScratch = 0, $usableSize = 0; - var $usableSpace = 0, label = 0, sp = 0; + var $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0; + var $1376 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0; + var $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0; + var $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0; + var $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0; + var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0; + var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0; + var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0; + var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0; + var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0; + var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0; + var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0; + var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0; + var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0; + var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0; + var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0; + var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0; + var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0; + var $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0; + var $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0; + var $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0; + var $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0; + var $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0; + var $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0; + var $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0; + var $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0; + var $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0; + var $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0; + var $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0; + var $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0; + var $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0; + var $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0; + var $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0; + var $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0; + var $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0; + var $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0; + var $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0; + var $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0; + var $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0; + var $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0; + var $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0; + var $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0; + var $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0; + var $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0; + var $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0; + var $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $aData = 0, $aOld = 0, $aPgFlags = 0; + var $aPgOrder = 0, $aPgno = 0, $aSpace1 = 0, $abDone = 0, $apDiv = 0, $apNew = 0, $apOld = 0, $b = 0, $cntNew = 0, $cntOld = 0, $cntOldNext = 0, $d = 0, $i = 0, $iBest = 0, $iNew = 0, $iNew9 = 0, $iOff = 0, $iOld = 0, $iOld10 = 0, $iOvflSpace = 0; + var $iPg = 0, $iSpace1 = 0, $info = 0, $j = 0, $k = 0, $key = 0, $leafCorrection = 0, $leafData = 0, $limit = 0, $maskPage = 0, $nMaxCells = 0, $nNew = 0, $nNewCell = 0, $nOld = 0, $nxDiv = 0, $or$cond = 0, $or$cond3 = 0, $p = 0, $pBt = 0, $pCell = 0; + var $pCell5 = 0, $pNew = 0, $pNew3 = 0, $pNew8 = 0, $pOld = 0, $pOld2 = 0, $pOld4 = 0, $pRight = 0, $pTemp = 0, $pTemp6 = 0, $pageFlags = 0, $pgno = 0, $piCell = 0, $piEnd = 0, $r = 0, $rc = 0, $sz = 0, $sz1 = 0, $sz7 = 0, $szLeft = 0; + var $szNew = 0, $szRight = 0, $szScratch = 0, $usableSize = 0, $usableSpace = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 448|0; $0 = sp + 412|0; @@ -242679,8 +244329,8 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $11 = ($10|0)!=(0|0); if (!($11)) { HEAP32[$0>>2] = 7; - $1372 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1372|0); + $1376 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1376|0); } $12 = HEAP32[$1>>2]|0; $13 = ((($12)) + 1|0); @@ -243020,7 +244670,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { _memset(($apOld|0),0,($112|0))|0; } else if ((label|0) == 23) { - $250 = (_sqlite3CorruptError(62677)|0); + $250 = (_sqlite3CorruptError(62916)|0); HEAP32[$rc>>2] = $250; $251 = HEAP32[$i>>2]|0; $252 = (($251) + 1)|0; @@ -243381,7 +245031,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $552; } if ((label|0) == 31) { - $362 = (_sqlite3CorruptError(62744)|0); + $362 = (_sqlite3CorruptError(62983)|0); HEAP32[$rc>>2] = $362; break; } @@ -243465,7 +245115,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $609; } if ((label|0) == 52) { - $578 = (_sqlite3CorruptError(62842)|0); + $578 = (_sqlite3CorruptError(63081)|0); HEAP32[$rc>>2] = $578; break; } @@ -243667,12 +245317,12 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $735; } if ((label|0) == 62) { - $627 = (_sqlite3CorruptError(62854)|0); + $627 = (_sqlite3CorruptError(63093)|0); HEAP32[$rc>>2] = $627; break; } else if ((label|0) == 81) { - $733 = (_sqlite3CorruptError(62887)|0); + $733 = (_sqlite3CorruptError(63126)|0); HEAP32[$rc>>2] = $733; break; } @@ -243813,7 +245463,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $830; } if ((label|0) == 93) { - $828 = (_sqlite3CorruptError(62929)|0); + $828 = (_sqlite3CorruptError(63168)|0); HEAP32[$rc>>2] = $828; break; } @@ -243966,7 +245616,7 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { HEAP32[$i>>2] = $925; } if ((label|0) == 108) { - $921 = (_sqlite3CorruptError(63003)|0); + $921 = (_sqlite3CorruptError(63242)|0); HEAP32[$rc>>2] = $921; break; } @@ -244210,329 +245860,333 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { $1092 = ($1088|0)!=($1091|0); if (!($1092)) { $1093 = HEAP32[$pCell>>2]|0; - $1094 = HEAP32[$aOld>>2]|0; - $1095 = ($1093>>>0)>=($1094>>>0); - if ($1095) { - $1096 = HEAP32[$pCell>>2]|0; - $1097 = HEAP32[$usableSize>>2]|0; - $1098 = HEAP32[$aOld>>2]|0; - $1099 = (($1098) + ($1097)|0); - $1100 = ($1096>>>0)<($1099>>>0); - if ($1100) { + $1094 = $1093; + $1095 = HEAP32[$aOld>>2]|0; + $1096 = $1095; + $1097 = ($1094>>>0)>=($1096>>>0); + if ($1097) { + $1098 = HEAP32[$pCell>>2]|0; + $1099 = $1098; + $1100 = HEAP32[$usableSize>>2]|0; + $1101 = HEAP32[$aOld>>2]|0; + $1102 = (($1101) + ($1100)|0); + $1103 = $1102; + $1104 = ($1099>>>0)<($1103>>>0); + if ($1104) { break; } } } } - $1101 = HEAP16[$leafCorrection>>1]|0; - $1102 = ($1101<<16>>16)!=(0); - if (!($1102)) { - $1103 = HEAP32[$pBt>>2]|0; - $1104 = HEAP32[$pCell>>2]|0; - $1105 = (_sqlite3Get4byte($1104)|0); - $1106 = HEAP32[$pNew3>>2]|0; - $1107 = ((($1106)) + 84|0); - $1108 = HEAP32[$1107>>2]|0; - _ptrmapPut($1103,$1105,5,$1108,$rc); + $1105 = HEAP16[$leafCorrection>>1]|0; + $1106 = ($1105<<16>>16)!=(0); + if (!($1106)) { + $1107 = HEAP32[$pBt>>2]|0; + $1108 = HEAP32[$pCell>>2]|0; + $1109 = (_sqlite3Get4byte($1108)|0); + $1110 = HEAP32[$pNew3>>2]|0; + $1111 = ((($1110)) + 84|0); + $1112 = HEAP32[$1111>>2]|0; + _ptrmapPut($1107,$1109,5,$1112,$rc); } - $1109 = HEAP32[$i>>2]|0; - $1110 = (_cachedCellSize($b,$1109)|0); - $1111 = $1110&65535; - $1112 = HEAP32[$pNew3>>2]|0; - $1113 = ((($1112)) + 12|0); - $1114 = HEAP16[$1113>>1]|0; + $1113 = HEAP32[$i>>2]|0; + $1114 = (_cachedCellSize($b,$1113)|0); $1115 = $1114&65535; - $1116 = ($1111|0)>($1115|0); - if ($1116) { - $1117 = HEAP32[$pNew3>>2]|0; - $1118 = HEAP32[$pCell>>2]|0; - _ptrmapPutOvflPtr($1117,$1118,$rc); - } - $1119 = HEAP32[$rc>>2]|0; - $1120 = ($1119|0)!=(0); + $1116 = HEAP32[$pNew3>>2]|0; + $1117 = ((($1116)) + 12|0); + $1118 = HEAP16[$1117>>1]|0; + $1119 = $1118&65535; + $1120 = ($1115|0)>($1119|0); if ($1120) { + $1121 = HEAP32[$pNew3>>2]|0; + $1122 = HEAP32[$pCell>>2]|0; + _ptrmapPutOvflPtr($1121,$1122,$rc); + } + $1123 = HEAP32[$rc>>2]|0; + $1124 = ($1123|0)!=(0); + if ($1124) { break L32; } } } while(0); - $1121 = HEAP32[$i>>2]|0; - $1122 = (($1121) + 1)|0; - HEAP32[$i>>2] = $1122; + $1125 = HEAP32[$i>>2]|0; + $1126 = (($1125) + 1)|0; + HEAP32[$i>>2] = $1126; } } } while(0); HEAP32[$i>>2] = 0; while(1) { - $1123 = HEAP32[$i>>2]|0; - $1124 = HEAP32[$nNew>>2]|0; - $1125 = (($1124) - 1)|0; - $1126 = ($1123|0)<($1125|0); - if (!($1126)) { + $1127 = HEAP32[$i>>2]|0; + $1128 = HEAP32[$nNew>>2]|0; + $1129 = (($1128) - 1)|0; + $1130 = ($1127|0)<($1129|0); + if (!($1130)) { break; } - $1127 = HEAP32[$i>>2]|0; - $1128 = (($apNew) + ($1127<<2)|0); - $1129 = HEAP32[$1128>>2]|0; - HEAP32[$pNew8>>2] = $1129; - $1130 = HEAP32[$i>>2]|0; - $1131 = (($cntNew) + ($1130<<2)|0); - $1132 = HEAP32[$1131>>2]|0; - HEAP32[$j>>2] = $1132; - $1133 = HEAP32[$j>>2]|0; - $1134 = ((($b)) + 8|0); - $1135 = HEAP32[$1134>>2]|0; - $1136 = (($1135) + ($1133<<2)|0); - $1137 = HEAP32[$1136>>2]|0; - HEAP32[$pCell5>>2] = $1137; - $1138 = HEAP32[$j>>2]|0; - $1139 = ((($b)) + 12|0); - $1140 = HEAP32[$1139>>2]|0; - $1141 = (($1140) + ($1138<<1)|0); - $1142 = HEAP16[$1141>>1]|0; - $1143 = $1142&65535; - $1144 = HEAP16[$leafCorrection>>1]|0; - $1145 = $1144&65535; - $1146 = (($1143) + ($1145))|0; - HEAP32[$sz7>>2] = $1146; - $1147 = HEAP32[$iOvflSpace>>2]|0; - $1148 = HEAP32[$3>>2]|0; - $1149 = (($1148) + ($1147)|0); - HEAP32[$pTemp6>>2] = $1149; - $1150 = HEAP32[$pNew8>>2]|0; - $1151 = ((($1150)) + 4|0); - $1152 = HEAP8[$1151>>0]|0; - $1153 = ($1152<<24>>24)!=(0); + $1131 = HEAP32[$i>>2]|0; + $1132 = (($apNew) + ($1131<<2)|0); + $1133 = HEAP32[$1132>>2]|0; + HEAP32[$pNew8>>2] = $1133; + $1134 = HEAP32[$i>>2]|0; + $1135 = (($cntNew) + ($1134<<2)|0); + $1136 = HEAP32[$1135>>2]|0; + HEAP32[$j>>2] = $1136; + $1137 = HEAP32[$j>>2]|0; + $1138 = ((($b)) + 8|0); + $1139 = HEAP32[$1138>>2]|0; + $1140 = (($1139) + ($1137<<2)|0); + $1141 = HEAP32[$1140>>2]|0; + HEAP32[$pCell5>>2] = $1141; + $1142 = HEAP32[$j>>2]|0; + $1143 = ((($b)) + 12|0); + $1144 = HEAP32[$1143>>2]|0; + $1145 = (($1144) + ($1142<<1)|0); + $1146 = HEAP16[$1145>>1]|0; + $1147 = $1146&65535; + $1148 = HEAP16[$leafCorrection>>1]|0; + $1149 = $1148&65535; + $1150 = (($1147) + ($1149))|0; + HEAP32[$sz7>>2] = $1150; + $1151 = HEAP32[$iOvflSpace>>2]|0; + $1152 = HEAP32[$3>>2]|0; + $1153 = (($1152) + ($1151)|0); + HEAP32[$pTemp6>>2] = $1153; + $1154 = HEAP32[$pNew8>>2]|0; + $1155 = ((($1154)) + 4|0); + $1156 = HEAP8[$1155>>0]|0; + $1157 = ($1156<<24>>24)!=(0); do { - if ($1153) { - $1159 = HEAP32[$leafData>>2]|0; - $1160 = ($1159|0)!=(0); - if ($1160) { - $1161 = HEAP32[$j>>2]|0; - $1162 = (($1161) + -1)|0; - HEAP32[$j>>2] = $1162; - $1163 = HEAP32[$pNew8>>2]|0; - $1164 = ((($1163)) + 80|0); - $1165 = HEAP32[$1164>>2]|0; - $1166 = HEAP32[$pNew8>>2]|0; - $1167 = HEAP32[$j>>2]|0; - $1168 = ((($b)) + 8|0); + if ($1157) { + $1163 = HEAP32[$leafData>>2]|0; + $1164 = ($1163|0)!=(0); + if ($1164) { + $1165 = HEAP32[$j>>2]|0; + $1166 = (($1165) + -1)|0; + HEAP32[$j>>2] = $1166; + $1167 = HEAP32[$pNew8>>2]|0; + $1168 = ((($1167)) + 80|0); $1169 = HEAP32[$1168>>2]|0; - $1170 = (($1169) + ($1167<<2)|0); - $1171 = HEAP32[$1170>>2]|0; - FUNCTION_TABLE_viii[$1165 & 255]($1166,$1171,$info); - $1172 = HEAP32[$pTemp6>>2]|0; - HEAP32[$pCell5>>2] = $1172; - $1173 = HEAP32[$pCell5>>2]|0; - $1174 = ((($1173)) + 4|0); - $1175 = $info; - $1176 = $1175; - $1177 = HEAP32[$1176>>2]|0; - $1178 = (($1175) + 4)|0; - $1179 = $1178; - $1180 = HEAP32[$1179>>2]|0; - $1181 = (_sqlite3PutVarint($1174,$1177,$1180)|0); - $1182 = (4 + ($1181))|0; - HEAP32[$sz7>>2] = $1182; + $1170 = HEAP32[$pNew8>>2]|0; + $1171 = HEAP32[$j>>2]|0; + $1172 = ((($b)) + 8|0); + $1173 = HEAP32[$1172>>2]|0; + $1174 = (($1173) + ($1171<<2)|0); + $1175 = HEAP32[$1174>>2]|0; + FUNCTION_TABLE_viii[$1169 & 255]($1170,$1175,$info); + $1176 = HEAP32[$pTemp6>>2]|0; + HEAP32[$pCell5>>2] = $1176; + $1177 = HEAP32[$pCell5>>2]|0; + $1178 = ((($1177)) + 4|0); + $1179 = $info; + $1180 = $1179; + $1181 = HEAP32[$1180>>2]|0; + $1182 = (($1179) + 4)|0; + $1183 = $1182; + $1184 = HEAP32[$1183>>2]|0; + $1185 = (_sqlite3PutVarint($1178,$1181,$1184)|0); + $1186 = (4 + ($1185))|0; + HEAP32[$sz7>>2] = $1186; HEAP32[$pTemp6>>2] = 0; break; } - $1183 = HEAP32[$pCell5>>2]|0; - $1184 = ((($1183)) + -4|0); - HEAP32[$pCell5>>2] = $1184; - $1185 = HEAP32[$j>>2]|0; - $1186 = ((($b)) + 12|0); - $1187 = HEAP32[$1186>>2]|0; - $1188 = (($1187) + ($1185<<1)|0); - $1189 = HEAP16[$1188>>1]|0; - $1190 = $1189&65535; - $1191 = ($1190|0)==(4); - if ($1191) { - $1192 = HEAP32[$1>>2]|0; - $1193 = ((($1192)) + 76|0); - $1194 = HEAP32[$1193>>2]|0; - $1195 = HEAP32[$1>>2]|0; - $1196 = HEAP32[$pCell5>>2]|0; - $1197 = (FUNCTION_TABLE_iii[$1194 & 255]($1195,$1196)|0); - $1198 = $1197&65535; - HEAP32[$sz7>>2] = $1198; + $1187 = HEAP32[$pCell5>>2]|0; + $1188 = ((($1187)) + -4|0); + HEAP32[$pCell5>>2] = $1188; + $1189 = HEAP32[$j>>2]|0; + $1190 = ((($b)) + 12|0); + $1191 = HEAP32[$1190>>2]|0; + $1192 = (($1191) + ($1189<<1)|0); + $1193 = HEAP16[$1192>>1]|0; + $1194 = $1193&65535; + $1195 = ($1194|0)==(4); + if ($1195) { + $1196 = HEAP32[$1>>2]|0; + $1197 = ((($1196)) + 76|0); + $1198 = HEAP32[$1197>>2]|0; + $1199 = HEAP32[$1>>2]|0; + $1200 = HEAP32[$pCell5>>2]|0; + $1201 = (FUNCTION_TABLE_iii[$1198 & 255]($1199,$1200)|0); + $1202 = $1201&65535; + HEAP32[$sz7>>2] = $1202; } } else { - $1154 = HEAP32[$pNew8>>2]|0; - $1155 = ((($1154)) + 56|0); - $1156 = HEAP32[$1155>>2]|0; - $1157 = ((($1156)) + 8|0); - $1158 = HEAP32[$pCell5>>2]|0; - ;HEAP8[$1157>>0]=HEAP8[$1158>>0]|0;HEAP8[$1157+1>>0]=HEAP8[$1158+1>>0]|0;HEAP8[$1157+2>>0]=HEAP8[$1158+2>>0]|0;HEAP8[$1157+3>>0]=HEAP8[$1158+3>>0]|0; + $1158 = HEAP32[$pNew8>>2]|0; + $1159 = ((($1158)) + 56|0); + $1160 = HEAP32[$1159>>2]|0; + $1161 = ((($1160)) + 8|0); + $1162 = HEAP32[$pCell5>>2]|0; + ;HEAP8[$1161>>0]=HEAP8[$1162>>0]|0;HEAP8[$1161+1>>0]=HEAP8[$1162+1>>0]|0;HEAP8[$1161+2>>0]=HEAP8[$1162+2>>0]|0;HEAP8[$1161+3>>0]=HEAP8[$1162+3>>0]|0; } } while(0); - $1199 = HEAP32[$sz7>>2]|0; - $1200 = HEAP32[$iOvflSpace>>2]|0; - $1201 = (($1200) + ($1199))|0; - HEAP32[$iOvflSpace>>2] = $1201; - $1202 = HEAP32[$1>>2]|0; - $1203 = HEAP32[$nxDiv>>2]|0; - $1204 = HEAP32[$i>>2]|0; - $1205 = (($1203) + ($1204))|0; - $1206 = HEAP32[$pCell5>>2]|0; - $1207 = HEAP32[$sz7>>2]|0; - $1208 = HEAP32[$pTemp6>>2]|0; - $1209 = HEAP32[$pNew8>>2]|0; - $1210 = ((($1209)) + 84|0); - $1211 = HEAP32[$1210>>2]|0; - _insertCell($1202,$1205,$1206,$1207,$1208,$1211,$rc); - $1212 = HEAP32[$rc>>2]|0; - $1213 = ($1212|0)!=(0); - if ($1213) { + $1203 = HEAP32[$sz7>>2]|0; + $1204 = HEAP32[$iOvflSpace>>2]|0; + $1205 = (($1204) + ($1203))|0; + HEAP32[$iOvflSpace>>2] = $1205; + $1206 = HEAP32[$1>>2]|0; + $1207 = HEAP32[$nxDiv>>2]|0; + $1208 = HEAP32[$i>>2]|0; + $1209 = (($1207) + ($1208))|0; + $1210 = HEAP32[$pCell5>>2]|0; + $1211 = HEAP32[$sz7>>2]|0; + $1212 = HEAP32[$pTemp6>>2]|0; + $1213 = HEAP32[$pNew8>>2]|0; + $1214 = ((($1213)) + 84|0); + $1215 = HEAP32[$1214>>2]|0; + _insertCell($1206,$1209,$1210,$1211,$1212,$1215,$rc); + $1216 = HEAP32[$rc>>2]|0; + $1217 = ($1216|0)!=(0); + if ($1217) { break L32; } - $1214 = HEAP32[$i>>2]|0; - $1215 = (($1214) + 1)|0; - HEAP32[$i>>2] = $1215; + $1218 = HEAP32[$i>>2]|0; + $1219 = (($1218) + 1)|0; + HEAP32[$i>>2] = $1219; } - $1216 = HEAP32[$nNew>>2]|0; - $1217 = (1 - ($1216))|0; - HEAP32[$i>>2] = $1217; + $1220 = HEAP32[$nNew>>2]|0; + $1221 = (1 - ($1220))|0; + HEAP32[$i>>2] = $1221; while(1) { - $1218 = HEAP32[$i>>2]|0; - $1219 = HEAP32[$nNew>>2]|0; - $1220 = ($1218|0)<($1219|0); - if (!($1220)) { + $1222 = HEAP32[$i>>2]|0; + $1223 = HEAP32[$nNew>>2]|0; + $1224 = ($1222|0)<($1223|0); + if (!($1224)) { break; } - $1221 = HEAP32[$i>>2]|0; - $1222 = ($1221|0)<(0); - $1223 = HEAP32[$i>>2]|0; - $1224 = (0 - ($1223))|0; - $1225 = $1222 ? $1224 : $1223; - HEAP32[$iPg>>2] = $1225; - $1226 = HEAP32[$iPg>>2]|0; - $1227 = (($abDone) + ($1226)|0); - $1228 = HEAP8[$1227>>0]|0; - $1229 = ($1228<<24>>24)!=(0); + $1225 = HEAP32[$i>>2]|0; + $1226 = ($1225|0)<(0); + $1227 = HEAP32[$i>>2]|0; + $1228 = (0 - ($1227))|0; + $1229 = $1226 ? $1228 : $1227; + HEAP32[$iPg>>2] = $1229; + $1230 = HEAP32[$iPg>>2]|0; + $1231 = (($abDone) + ($1230)|0); + $1232 = HEAP8[$1231>>0]|0; + $1233 = ($1232<<24>>24)!=(0); do { - if (!($1229)) { - $1230 = HEAP32[$i>>2]|0; - $1231 = ($1230|0)>=(0); - if (!($1231)) { - $1232 = HEAP32[$iPg>>2]|0; - $1233 = (($1232) - 1)|0; - $1234 = (($cntOld) + ($1233<<2)|0); - $1235 = HEAP32[$1234>>2]|0; + if (!($1233)) { + $1234 = HEAP32[$i>>2]|0; + $1235 = ($1234|0)>=(0); + if (!($1235)) { $1236 = HEAP32[$iPg>>2]|0; $1237 = (($1236) - 1)|0; - $1238 = (($cntNew) + ($1237<<2)|0); + $1238 = (($cntOld) + ($1237<<2)|0); $1239 = HEAP32[$1238>>2]|0; - $1240 = ($1235|0)>=($1239|0); - if (!($1240)) { + $1240 = HEAP32[$iPg>>2]|0; + $1241 = (($1240) - 1)|0; + $1242 = (($cntNew) + ($1241<<2)|0); + $1243 = HEAP32[$1242>>2]|0; + $1244 = ($1239|0)>=($1243|0); + if (!($1244)) { break; } } - $1241 = HEAP32[$iPg>>2]|0; - $1242 = ($1241|0)==(0); - if ($1242) { + $1245 = HEAP32[$iPg>>2]|0; + $1246 = ($1245|0)==(0); + if ($1246) { HEAP32[$iOld10>>2] = 0; HEAP32[$iNew9>>2] = 0; - $1243 = HEAP32[$cntNew>>2]|0; - HEAP32[$nNewCell>>2] = $1243; + $1247 = HEAP32[$cntNew>>2]|0; + HEAP32[$nNewCell>>2] = $1247; } else { - $1244 = HEAP32[$iPg>>2]|0; - $1245 = HEAP32[$nOld>>2]|0; - $1246 = ($1244|0)<($1245|0); - if ($1246) { - $1247 = HEAP32[$iPg>>2]|0; - $1248 = (($1247) - 1)|0; - $1249 = (($cntOld) + ($1248<<2)|0); - $1250 = HEAP32[$1249>>2]|0; - $1251 = HEAP32[$leafData>>2]|0; - $1252 = ($1251|0)!=(0); - $1253 = $1252 ^ 1; - $1254 = $1253&1; - $1255 = (($1250) + ($1254))|0; - $1257 = $1255; + $1248 = HEAP32[$iPg>>2]|0; + $1249 = HEAP32[$nOld>>2]|0; + $1250 = ($1248|0)<($1249|0); + if ($1250) { + $1251 = HEAP32[$iPg>>2]|0; + $1252 = (($1251) - 1)|0; + $1253 = (($cntOld) + ($1252<<2)|0); + $1254 = HEAP32[$1253>>2]|0; + $1255 = HEAP32[$leafData>>2]|0; + $1256 = ($1255|0)!=(0); + $1257 = $1256 ^ 1; + $1258 = $1257&1; + $1259 = (($1254) + ($1258))|0; + $1261 = $1259; } else { - $1256 = HEAP32[$b>>2]|0; - $1257 = $1256; + $1260 = HEAP32[$b>>2]|0; + $1261 = $1260; } - HEAP32[$iOld10>>2] = $1257; - $1258 = HEAP32[$iPg>>2]|0; - $1259 = (($1258) - 1)|0; - $1260 = (($cntNew) + ($1259<<2)|0); - $1261 = HEAP32[$1260>>2]|0; - $1262 = HEAP32[$leafData>>2]|0; - $1263 = ($1262|0)!=(0); - $1264 = $1263 ^ 1; - $1265 = $1264&1; - $1266 = (($1261) + ($1265))|0; - HEAP32[$iNew9>>2] = $1266; - $1267 = HEAP32[$iPg>>2]|0; - $1268 = (($cntNew) + ($1267<<2)|0); - $1269 = HEAP32[$1268>>2]|0; - $1270 = HEAP32[$iNew9>>2]|0; - $1271 = (($1269) - ($1270))|0; - HEAP32[$nNewCell>>2] = $1271; + HEAP32[$iOld10>>2] = $1261; + $1262 = HEAP32[$iPg>>2]|0; + $1263 = (($1262) - 1)|0; + $1264 = (($cntNew) + ($1263<<2)|0); + $1265 = HEAP32[$1264>>2]|0; + $1266 = HEAP32[$leafData>>2]|0; + $1267 = ($1266|0)!=(0); + $1268 = $1267 ^ 1; + $1269 = $1268&1; + $1270 = (($1265) + ($1269))|0; + HEAP32[$iNew9>>2] = $1270; + $1271 = HEAP32[$iPg>>2]|0; + $1272 = (($cntNew) + ($1271<<2)|0); + $1273 = HEAP32[$1272>>2]|0; + $1274 = HEAP32[$iNew9>>2]|0; + $1275 = (($1273) - ($1274))|0; + HEAP32[$nNewCell>>2] = $1275; } - $1272 = HEAP32[$iPg>>2]|0; - $1273 = (($apNew) + ($1272<<2)|0); - $1274 = HEAP32[$1273>>2]|0; - $1275 = HEAP32[$iOld10>>2]|0; - $1276 = HEAP32[$iNew9>>2]|0; - $1277 = HEAP32[$nNewCell>>2]|0; - $1278 = (_editPage($1274,$1275,$1276,$1277,$b)|0); - HEAP32[$rc>>2] = $1278; - $1279 = HEAP32[$rc>>2]|0; - $1280 = ($1279|0)!=(0); - if ($1280) { + $1276 = HEAP32[$iPg>>2]|0; + $1277 = (($apNew) + ($1276<<2)|0); + $1278 = HEAP32[$1277>>2]|0; + $1279 = HEAP32[$iOld10>>2]|0; + $1280 = HEAP32[$iNew9>>2]|0; + $1281 = HEAP32[$nNewCell>>2]|0; + $1282 = (_editPage($1278,$1279,$1280,$1281,$b)|0); + HEAP32[$rc>>2] = $1282; + $1283 = HEAP32[$rc>>2]|0; + $1284 = ($1283|0)!=(0); + if ($1284) { break L32; } - $1281 = HEAP32[$iPg>>2]|0; - $1282 = (($abDone) + ($1281)|0); - $1283 = HEAP8[$1282>>0]|0; - $1284 = (($1283) + 1)<<24>>24; - HEAP8[$1282>>0] = $1284; - $1285 = HEAP32[$usableSpace>>2]|0; - $1286 = HEAP32[$iPg>>2]|0; - $1287 = (($szNew) + ($1286<<2)|0); - $1288 = HEAP32[$1287>>2]|0; - $1289 = (($1285) - ($1288))|0; - $1290 = $1289&65535; - $1291 = HEAP32[$iPg>>2]|0; - $1292 = (($apNew) + ($1291<<2)|0); - $1293 = HEAP32[$1292>>2]|0; - $1294 = ((($1293)) + 16|0); - HEAP16[$1294>>1] = $1290; + $1285 = HEAP32[$iPg>>2]|0; + $1286 = (($abDone) + ($1285)|0); + $1287 = HEAP8[$1286>>0]|0; + $1288 = (($1287) + 1)<<24>>24; + HEAP8[$1286>>0] = $1288; + $1289 = HEAP32[$usableSpace>>2]|0; + $1290 = HEAP32[$iPg>>2]|0; + $1291 = (($szNew) + ($1290<<2)|0); + $1292 = HEAP32[$1291>>2]|0; + $1293 = (($1289) - ($1292))|0; + $1294 = $1293&65535; + $1295 = HEAP32[$iPg>>2]|0; + $1296 = (($apNew) + ($1295<<2)|0); + $1297 = HEAP32[$1296>>2]|0; + $1298 = ((($1297)) + 16|0); + HEAP16[$1298>>1] = $1294; } } while(0); - $1295 = HEAP32[$i>>2]|0; - $1296 = (($1295) + 1)|0; - HEAP32[$i>>2] = $1296; - } - $1297 = HEAP32[$4>>2]|0; - $1298 = ($1297|0)!=(0); - if ($1298) { - $1299 = HEAP32[$1>>2]|0; - $1300 = ((($1299)) + 18|0); - $1301 = HEAP16[$1300>>1]|0; - $1302 = $1301&65535; - $1303 = ($1302|0)==(0); - if ($1303) { - $1304 = HEAP32[$1>>2]|0; - $1305 = ((($1304)) + 5|0); - $1306 = HEAP8[$1305>>0]|0; - $1307 = $1306&255; - $1308 = HEAP32[$apNew>>2]|0; - $1309 = ((($1308)) + 16|0); - $1310 = HEAP16[$1309>>1]|0; - $1311 = $1310&65535; - $1312 = ($1307|0)<=($1311|0); - if ($1312) { - $1313 = HEAP32[$apNew>>2]|0; - $1314 = (_defragmentPage($1313)|0); - HEAP32[$rc>>2] = $1314; - $1315 = HEAP32[$apNew>>2]|0; - $1316 = HEAP32[$1>>2]|0; - _copyNodeContent($1315,$1316,$rc); + $1299 = HEAP32[$i>>2]|0; + $1300 = (($1299) + 1)|0; + HEAP32[$i>>2] = $1300; + } + $1301 = HEAP32[$4>>2]|0; + $1302 = ($1301|0)!=(0); + if ($1302) { + $1303 = HEAP32[$1>>2]|0; + $1304 = ((($1303)) + 18|0); + $1305 = HEAP16[$1304>>1]|0; + $1306 = $1305&65535; + $1307 = ($1306|0)==(0); + if ($1307) { + $1308 = HEAP32[$1>>2]|0; + $1309 = ((($1308)) + 5|0); + $1310 = HEAP8[$1309>>0]|0; + $1311 = $1310&255; + $1312 = HEAP32[$apNew>>2]|0; + $1313 = ((($1312)) + 16|0); + $1314 = HEAP16[$1313>>1]|0; + $1315 = $1314&65535; + $1316 = ($1311|0)<=($1315|0); + if ($1316) { $1317 = HEAP32[$apNew>>2]|0; - _freePage($1317,$rc); + $1318 = (_defragmentPage($1317)|0); + HEAP32[$rc>>2] = $1318; + $1319 = HEAP32[$apNew>>2]|0; + $1320 = HEAP32[$1>>2]|0; + _copyNodeContent($1319,$1320,$rc); + $1321 = HEAP32[$apNew>>2]|0; + _freePage($1321,$rc); } else { label = 174; } @@ -244544,105 +246198,105 @@ function _balance_nonroot($pParent,$iParentIdx,$aOvflSpace,$isRoot,$bBulk) { } L239: do { if ((label|0) == 174) { - $1318 = HEAP32[$pBt>>2]|0; - $1319 = ((($1318)) + 17|0); - $1320 = HEAP8[$1319>>0]|0; - $1321 = $1320&255; - $1322 = ($1321|0)==(0); - $1323 = HEAP16[$leafCorrection>>1]|0; - $1324 = ($1323<<16>>16)!=(0); - $or$cond3 = $1322 | $1324; + $1322 = HEAP32[$pBt>>2]|0; + $1323 = ((($1322)) + 17|0); + $1324 = HEAP8[$1323>>0]|0; + $1325 = $1324&255; + $1326 = ($1325|0)==(0); + $1327 = HEAP16[$leafCorrection>>1]|0; + $1328 = ($1327<<16>>16)!=(0); + $or$cond3 = $1326 | $1328; if (!($or$cond3)) { HEAP32[$i>>2] = 0; while(1) { - $1325 = HEAP32[$i>>2]|0; - $1326 = HEAP32[$nNew>>2]|0; - $1327 = ($1325|0)<($1326|0); - if (!($1327)) { + $1329 = HEAP32[$i>>2]|0; + $1330 = HEAP32[$nNew>>2]|0; + $1331 = ($1329|0)<($1330|0); + if (!($1331)) { break L239; } - $1328 = HEAP32[$i>>2]|0; - $1329 = (($apNew) + ($1328<<2)|0); - $1330 = HEAP32[$1329>>2]|0; - $1331 = ((($1330)) + 56|0); - $1332 = HEAP32[$1331>>2]|0; - $1333 = ((($1332)) + 8|0); - $1334 = (_sqlite3Get4byte($1333)|0); - HEAP32[$key>>2] = $1334; - $1335 = HEAP32[$pBt>>2]|0; - $1336 = HEAP32[$key>>2]|0; - $1337 = HEAP32[$i>>2]|0; - $1338 = (($apNew) + ($1337<<2)|0); - $1339 = HEAP32[$1338>>2]|0; - $1340 = ((($1339)) + 84|0); - $1341 = HEAP32[$1340>>2]|0; - _ptrmapPut($1335,$1336,5,$1341,$rc); - $1342 = HEAP32[$i>>2]|0; - $1343 = (($1342) + 1)|0; - HEAP32[$i>>2] = $1343; + $1332 = HEAP32[$i>>2]|0; + $1333 = (($apNew) + ($1332<<2)|0); + $1334 = HEAP32[$1333>>2]|0; + $1335 = ((($1334)) + 56|0); + $1336 = HEAP32[$1335>>2]|0; + $1337 = ((($1336)) + 8|0); + $1338 = (_sqlite3Get4byte($1337)|0); + HEAP32[$key>>2] = $1338; + $1339 = HEAP32[$pBt>>2]|0; + $1340 = HEAP32[$key>>2]|0; + $1341 = HEAP32[$i>>2]|0; + $1342 = (($apNew) + ($1341<<2)|0); + $1343 = HEAP32[$1342>>2]|0; + $1344 = ((($1343)) + 84|0); + $1345 = HEAP32[$1344>>2]|0; + _ptrmapPut($1339,$1340,5,$1345,$rc); + $1346 = HEAP32[$i>>2]|0; + $1347 = (($1346) + 1)|0; + HEAP32[$i>>2] = $1347; } } } } while(0); - $1344 = HEAP32[$nNew>>2]|0; - HEAP32[$i>>2] = $1344; + $1348 = HEAP32[$nNew>>2]|0; + HEAP32[$i>>2] = $1348; while(1) { - $1345 = HEAP32[$i>>2]|0; - $1346 = HEAP32[$nOld>>2]|0; - $1347 = ($1345|0)<($1346|0); - if (!($1347)) { + $1349 = HEAP32[$i>>2]|0; + $1350 = HEAP32[$nOld>>2]|0; + $1351 = ($1349|0)<($1350|0); + if (!($1351)) { break L32; } - $1348 = HEAP32[$i>>2]|0; - $1349 = (($apOld) + ($1348<<2)|0); - $1350 = HEAP32[$1349>>2]|0; - _freePage($1350,$rc); - $1351 = HEAP32[$i>>2]|0; - $1352 = (($1351) + 1)|0; - HEAP32[$i>>2] = $1352; + $1352 = HEAP32[$i>>2]|0; + $1353 = (($apOld) + ($1352<<2)|0); + $1354 = HEAP32[$1353>>2]|0; + _freePage($1354,$rc); + $1355 = HEAP32[$i>>2]|0; + $1356 = (($1355) + 1)|0; + HEAP32[$i>>2] = $1356; } } } } while(0); - $1353 = ((($b)) + 8|0); - $1354 = HEAP32[$1353>>2]|0; - _sqlite3ScratchFree($1354); + $1357 = ((($b)) + 8|0); + $1358 = HEAP32[$1357>>2]|0; + _sqlite3ScratchFree($1358); HEAP32[$i>>2] = 0; while(1) { - $1355 = HEAP32[$i>>2]|0; - $1356 = HEAP32[$nOld>>2]|0; - $1357 = ($1355|0)<($1356|0); - if (!($1357)) { + $1359 = HEAP32[$i>>2]|0; + $1360 = HEAP32[$nOld>>2]|0; + $1361 = ($1359|0)<($1360|0); + if (!($1361)) { break; } - $1358 = HEAP32[$i>>2]|0; - $1359 = (($apOld) + ($1358<<2)|0); - $1360 = HEAP32[$1359>>2]|0; - _releasePage($1360); - $1361 = HEAP32[$i>>2]|0; - $1362 = (($1361) + 1)|0; - HEAP32[$i>>2] = $1362; + $1362 = HEAP32[$i>>2]|0; + $1363 = (($apOld) + ($1362<<2)|0); + $1364 = HEAP32[$1363>>2]|0; + _releasePage($1364); + $1365 = HEAP32[$i>>2]|0; + $1366 = (($1365) + 1)|0; + HEAP32[$i>>2] = $1366; } HEAP32[$i>>2] = 0; while(1) { - $1363 = HEAP32[$i>>2]|0; - $1364 = HEAP32[$nNew>>2]|0; - $1365 = ($1363|0)<($1364|0); - if (!($1365)) { + $1367 = HEAP32[$i>>2]|0; + $1368 = HEAP32[$nNew>>2]|0; + $1369 = ($1367|0)<($1368|0); + if (!($1369)) { break; } - $1366 = HEAP32[$i>>2]|0; - $1367 = (($apNew) + ($1366<<2)|0); - $1368 = HEAP32[$1367>>2]|0; - _releasePage($1368); - $1369 = HEAP32[$i>>2]|0; - $1370 = (($1369) + 1)|0; - HEAP32[$i>>2] = $1370; + $1370 = HEAP32[$i>>2]|0; + $1371 = (($apNew) + ($1370<<2)|0); + $1372 = HEAP32[$1371>>2]|0; + _releasePage($1372); + $1373 = HEAP32[$i>>2]|0; + $1374 = (($1373) + 1)|0; + HEAP32[$i>>2] = $1374; } - $1371 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $1371; - $1372 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($1372|0); + $1375 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $1375; + $1376 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($1376|0); } function _cachedCellSize($p,$N) { $p = $p|0; @@ -245282,13 +246936,13 @@ function _defragmentPage($pPage) { HEAP32[$i>>2] = $128; } if ((label|0) == 5) { - $53 = (_sqlite3CorruptError(56934)|0); + $53 = (_sqlite3CorruptError(57167)|0); HEAP32[$0>>2] = $53; $170 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($170|0); } else if ((label|0) == 8) { - $74 = (_sqlite3CorruptError(56940)|0); + $74 = (_sqlite3CorruptError(57173)|0); HEAP32[$0>>2] = $74; $170 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($170|0); @@ -245341,7 +246995,7 @@ function _defragmentPage($pPage) { $167 = $166&65535; $168 = ($163|0)!=($167|0); if ($168) { - $169 = (_sqlite3CorruptError(56964)|0); + $169 = (_sqlite3CorruptError(57197)|0); HEAP32[$0>>2] = $169; $170 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($170|0); @@ -245494,12 +247148,12 @@ function _pageFreeArray($pPg,$iFirst,$nCell,$pCArray) { $iFirst = $iFirst|0; $nCell = $nCell|0; $pCArray = $pCArray|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $aData = 0, $i = 0, $iEnd = 0; - var $nRet = 0, $pCell = 0, $pEnd = 0, $pFree = 0, $pStart = 0, $sz = 0, $szFree = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $aData = 0, $i = 0, $iEnd = 0, $nRet = 0, $pCell = 0, $pEnd = 0, $pFree = 0, $pStart = 0, $sz = 0, $szFree = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 56|0; @@ -245570,94 +247224,98 @@ function _pageFreeArray($pPg,$iFirst,$nCell,$pCArray) { $39 = HEAP32[$38>>2]|0; HEAP32[$pCell>>2] = $39; $40 = HEAP32[$pCell>>2]|0; - $41 = HEAP32[$pStart>>2]|0; - $42 = ($40>>>0)>=($41>>>0); - if ($42) { - $43 = HEAP32[$pCell>>2]|0; - $44 = HEAP32[$pEnd>>2]|0; - $45 = ($43>>>0)<($44>>>0); - if ($45) { - $46 = HEAP32[$i>>2]|0; - $47 = HEAP32[$4>>2]|0; - $48 = ((($47)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + ($46<<1)|0); - $51 = HEAP16[$50>>1]|0; - $52 = $51&65535; - HEAP32[$sz>>2] = $52; - $53 = HEAP32[$pFree>>2]|0; - $54 = HEAP32[$pCell>>2]|0; - $55 = HEAP32[$sz>>2]|0; - $56 = (($54) + ($55)|0); - $57 = ($53|0)!=($56|0); - if ($57) { - $58 = HEAP32[$pFree>>2]|0; - $59 = ($58|0)!=(0|0); - if ($59) { - $60 = HEAP32[$1>>2]|0; - $61 = HEAP32[$pFree>>2]|0; - $62 = HEAP32[$aData>>2]|0; - $63 = $61; - $64 = $62; - $65 = (($63) - ($64))|0; - $66 = $65&65535; - $67 = HEAP32[$szFree>>2]|0; - $68 = $67&65535; - (_freeSpace($60,$66,$68)|0); - } - $69 = HEAP32[$pCell>>2]|0; - HEAP32[$pFree>>2] = $69; - $70 = HEAP32[$sz>>2]|0; - HEAP32[$szFree>>2] = $70; - $71 = HEAP32[$pFree>>2]|0; - $72 = HEAP32[$sz>>2]|0; - $73 = (($71) + ($72)|0); - $74 = HEAP32[$pEnd>>2]|0; - $75 = ($73>>>0)>($74>>>0); - if ($75) { + $41 = $40; + $42 = HEAP32[$pStart>>2]|0; + $43 = $42; + $44 = ($41>>>0)>=($43>>>0); + if ($44) { + $45 = HEAP32[$pCell>>2]|0; + $46 = $45; + $47 = HEAP32[$pEnd>>2]|0; + $48 = $47; + $49 = ($46>>>0)<($48>>>0); + if ($49) { + $50 = HEAP32[$i>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = ((($51)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = (($53) + ($50<<1)|0); + $55 = HEAP16[$54>>1]|0; + $56 = $55&65535; + HEAP32[$sz>>2] = $56; + $57 = HEAP32[$pFree>>2]|0; + $58 = HEAP32[$pCell>>2]|0; + $59 = HEAP32[$sz>>2]|0; + $60 = (($58) + ($59)|0); + $61 = ($57|0)!=($60|0); + if ($61) { + $62 = HEAP32[$pFree>>2]|0; + $63 = ($62|0)!=(0|0); + if ($63) { + $64 = HEAP32[$1>>2]|0; + $65 = HEAP32[$pFree>>2]|0; + $66 = HEAP32[$aData>>2]|0; + $67 = $65; + $68 = $66; + $69 = (($67) - ($68))|0; + $70 = $69&65535; + $71 = HEAP32[$szFree>>2]|0; + $72 = $71&65535; + (_freeSpace($64,$70,$72)|0); + } + $73 = HEAP32[$pCell>>2]|0; + HEAP32[$pFree>>2] = $73; + $74 = HEAP32[$sz>>2]|0; + HEAP32[$szFree>>2] = $74; + $75 = HEAP32[$pFree>>2]|0; + $76 = HEAP32[$sz>>2]|0; + $77 = (($75) + ($76)|0); + $78 = HEAP32[$pEnd>>2]|0; + $79 = ($77>>>0)>($78>>>0); + if ($79) { label = 9; break; } } else { - $76 = HEAP32[$pCell>>2]|0; - HEAP32[$pFree>>2] = $76; - $77 = HEAP32[$sz>>2]|0; - $78 = HEAP32[$szFree>>2]|0; - $79 = (($78) + ($77))|0; - HEAP32[$szFree>>2] = $79; - } - $80 = HEAP32[$nRet>>2]|0; - $81 = (($80) + 1)|0; - HEAP32[$nRet>>2] = $81; + $80 = HEAP32[$pCell>>2]|0; + HEAP32[$pFree>>2] = $80; + $81 = HEAP32[$sz>>2]|0; + $82 = HEAP32[$szFree>>2]|0; + $83 = (($82) + ($81))|0; + HEAP32[$szFree>>2] = $83; + } + $84 = HEAP32[$nRet>>2]|0; + $85 = (($84) + 1)|0; + HEAP32[$nRet>>2] = $85; } } - $82 = HEAP32[$i>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$i>>2] = $83; + $86 = HEAP32[$i>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$i>>2] = $87; } if ((label|0) == 9) { HEAP32[$0>>2] = 0; - $96 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($96|0); + $100 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($100|0); } - $84 = HEAP32[$pFree>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$1>>2]|0; - $87 = HEAP32[$pFree>>2]|0; - $88 = HEAP32[$aData>>2]|0; - $89 = $87; - $90 = $88; - $91 = (($89) - ($90))|0; - $92 = $91&65535; - $93 = HEAP32[$szFree>>2]|0; - $94 = $93&65535; - (_freeSpace($86,$92,$94)|0); + $88 = HEAP32[$pFree>>2]|0; + $89 = ($88|0)!=(0|0); + if ($89) { + $90 = HEAP32[$1>>2]|0; + $91 = HEAP32[$pFree>>2]|0; + $92 = HEAP32[$aData>>2]|0; + $93 = $91; + $94 = $92; + $95 = (($93) - ($94))|0; + $96 = $95&65535; + $97 = HEAP32[$szFree>>2]|0; + $98 = $97&65535; + (_freeSpace($90,$96,$98)|0); } - $95 = HEAP32[$nRet>>2]|0; - HEAP32[$0>>2] = $95; - $96 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($96|0); + $99 = HEAP32[$nRet>>2]|0; + HEAP32[$0>>2] = $99; + $100 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($100|0); } function _pageInsertArray($pPg,$pBegin,$ppData,$pCellptr,$iFirst,$nCell,$pCArray) { $pPg = $pPg|0; @@ -245887,12 +247545,12 @@ function _rebuildPage($pPg,$nCell,$apCell,$szCell) { var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aData = 0, $hdr = 0, $i = 0, $pCell = 0, $pCellptr = 0, $pData = 0, $pEnd = 0; - var $pTmp = 0, $usableSize = 0, label = 0, sp = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aData = 0, $hdr = 0, $i = 0; + var $pCell = 0, $pCellptr = 0, $pData = 0, $pEnd = 0, $pTmp = 0, $usableSize = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; $0 = sp + 52|0; @@ -245985,151 +247643,155 @@ function _rebuildPage($pPg,$nCell,$apCell,$szCell) { $59 = HEAP32[$58>>2]|0; HEAP32[$pCell>>2] = $59; $60 = HEAP32[$pCell>>2]|0; - $61 = HEAP32[$aData>>2]|0; - $62 = ($60>>>0)>=($61>>>0); - if ($62) { - $63 = HEAP32[$pCell>>2]|0; - $64 = HEAP32[$pEnd>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = HEAP32[$pCell>>2]|0; - $67 = HEAP32[$aData>>2]|0; - $68 = $66; - $69 = $67; - $70 = (($68) - ($69))|0; - $71 = HEAP32[$pTmp>>2]|0; - $72 = (($71) + ($70)|0); - HEAP32[$pCell>>2] = $72; + $61 = $60; + $62 = HEAP32[$aData>>2]|0; + $63 = $62; + $64 = ($61>>>0)>=($63>>>0); + if ($64) { + $65 = HEAP32[$pCell>>2]|0; + $66 = $65; + $67 = HEAP32[$pEnd>>2]|0; + $68 = $67; + $69 = ($66>>>0)<($68>>>0); + if ($69) { + $70 = HEAP32[$pCell>>2]|0; + $71 = HEAP32[$aData>>2]|0; + $72 = $70; + $73 = $71; + $74 = (($72) - ($73))|0; + $75 = HEAP32[$pTmp>>2]|0; + $76 = (($75) + ($74)|0); + HEAP32[$pCell>>2] = $76; } } - $73 = HEAP32[$i>>2]|0; - $74 = HEAP32[$4>>2]|0; - $75 = (($74) + ($73<<1)|0); - $76 = HEAP16[$75>>1]|0; - $77 = $76&65535; - $78 = HEAP32[$pData>>2]|0; - $79 = (0 - ($77))|0; - $80 = (($78) + ($79)|0); - HEAP32[$pData>>2] = $80; - $81 = HEAP32[$pData>>2]|0; - $82 = HEAP32[$aData>>2]|0; - $83 = $81; - $84 = $82; - $85 = (($83) - ($84))|0; - $86 = $85 >> 8; - $87 = $86&255; - $88 = HEAP32[$pCellptr>>2]|0; - HEAP8[$88>>0] = $87; - $89 = HEAP32[$pData>>2]|0; - $90 = HEAP32[$aData>>2]|0; - $91 = $89; - $92 = $90; - $93 = (($91) - ($92))|0; - $94 = $93&255; - $95 = HEAP32[$pCellptr>>2]|0; - $96 = ((($95)) + 1|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[$pCellptr>>2]|0; - $98 = ((($97)) + 2|0); - HEAP32[$pCellptr>>2] = $98; - $99 = HEAP32[$pData>>2]|0; - $100 = HEAP32[$pCellptr>>2]|0; - $101 = ($99>>>0)<($100>>>0); - if ($101) { + $77 = HEAP32[$i>>2]|0; + $78 = HEAP32[$4>>2]|0; + $79 = (($78) + ($77<<1)|0); + $80 = HEAP16[$79>>1]|0; + $81 = $80&65535; + $82 = HEAP32[$pData>>2]|0; + $83 = (0 - ($81))|0; + $84 = (($82) + ($83)|0); + HEAP32[$pData>>2] = $84; + $85 = HEAP32[$pData>>2]|0; + $86 = HEAP32[$aData>>2]|0; + $87 = $85; + $88 = $86; + $89 = (($87) - ($88))|0; + $90 = $89 >> 8; + $91 = $90&255; + $92 = HEAP32[$pCellptr>>2]|0; + HEAP8[$92>>0] = $91; + $93 = HEAP32[$pData>>2]|0; + $94 = HEAP32[$aData>>2]|0; + $95 = $93; + $96 = $94; + $97 = (($95) - ($96))|0; + $98 = $97&255; + $99 = HEAP32[$pCellptr>>2]|0; + $100 = ((($99)) + 1|0); + HEAP8[$100>>0] = $98; + $101 = HEAP32[$pCellptr>>2]|0; + $102 = ((($101)) + 2|0); + HEAP32[$pCellptr>>2] = $102; + $103 = HEAP32[$pData>>2]|0; + $104 = HEAP32[$pCellptr>>2]|0; + $105 = ($103>>>0)<($104>>>0); + if ($105) { label = 7; break; } - $103 = HEAP32[$pData>>2]|0; - $104 = HEAP32[$pCell>>2]|0; - $105 = HEAP32[$i>>2]|0; - $106 = HEAP32[$4>>2]|0; - $107 = (($106) + ($105<<1)|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - _memcpy(($103|0),($104|0),($109|0))|0; - $110 = HEAP32[$i>>2]|0; - $111 = (($110) + 1)|0; - HEAP32[$i>>2] = $111; + $107 = HEAP32[$pData>>2]|0; + $108 = HEAP32[$pCell>>2]|0; + $109 = HEAP32[$i>>2]|0; + $110 = HEAP32[$4>>2]|0; + $111 = (($110) + ($109<<1)|0); + $112 = HEAP16[$111>>1]|0; + $113 = $112&65535; + _memcpy(($107|0),($108|0),($113|0))|0; + $114 = HEAP32[$i>>2]|0; + $115 = (($114) + 1)|0; + HEAP32[$i>>2] = $115; } if ((label|0) == 7) { - $102 = (_sqlite3CorruptError(62048)|0); - HEAP32[$0>>2] = $102; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $106 = (_sqlite3CorruptError(62287)|0); + HEAP32[$0>>2] = $106; + $176 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($176|0); } else if ((label|0) == 9) { - $112 = HEAP32[$2>>2]|0; - $113 = $112&65535; - $114 = HEAP32[$1>>2]|0; - $115 = ((($114)) + 18|0); - HEAP16[$115>>1] = $113; - $116 = HEAP32[$1>>2]|0; - $117 = ((($116)) + 1|0); - HEAP8[$117>>0] = 0; - $118 = HEAP32[$hdr>>2]|0; - $119 = (($118) + 1)|0; - $120 = HEAP32[$aData>>2]|0; - $121 = (($120) + ($119)|0); + $116 = HEAP32[$2>>2]|0; + $117 = $116&65535; + $118 = HEAP32[$1>>2]|0; + $119 = ((($118)) + 18|0); + HEAP16[$119>>1] = $117; + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 1|0); HEAP8[$121>>0] = 0; $122 = HEAP32[$hdr>>2]|0; $123 = (($122) + 1)|0; $124 = HEAP32[$aData>>2]|0; $125 = (($124) + ($123)|0); - $126 = ((($125)) + 1|0); - HEAP8[$126>>0] = 0; - $127 = HEAP32[$1>>2]|0; - $128 = ((($127)) + 18|0); - $129 = HEAP16[$128>>1]|0; - $130 = $129&65535; - $131 = $130 >> 8; - $132 = $131&255; - $133 = HEAP32[$hdr>>2]|0; - $134 = (($133) + 3)|0; - $135 = HEAP32[$aData>>2]|0; - $136 = (($135) + ($134)|0); - HEAP8[$136>>0] = $132; - $137 = HEAP32[$1>>2]|0; - $138 = ((($137)) + 18|0); - $139 = HEAP16[$138>>1]|0; - $140 = $139&255; - $141 = HEAP32[$hdr>>2]|0; - $142 = (($141) + 3)|0; - $143 = HEAP32[$aData>>2]|0; - $144 = (($143) + ($142)|0); - $145 = ((($144)) + 1|0); - HEAP8[$145>>0] = $140; - $146 = HEAP32[$pData>>2]|0; + HEAP8[$125>>0] = 0; + $126 = HEAP32[$hdr>>2]|0; + $127 = (($126) + 1)|0; + $128 = HEAP32[$aData>>2]|0; + $129 = (($128) + ($127)|0); + $130 = ((($129)) + 1|0); + HEAP8[$130>>0] = 0; + $131 = HEAP32[$1>>2]|0; + $132 = ((($131)) + 18|0); + $133 = HEAP16[$132>>1]|0; + $134 = $133&65535; + $135 = $134 >> 8; + $136 = $135&255; + $137 = HEAP32[$hdr>>2]|0; + $138 = (($137) + 3)|0; + $139 = HEAP32[$aData>>2]|0; + $140 = (($139) + ($138)|0); + HEAP8[$140>>0] = $136; + $141 = HEAP32[$1>>2]|0; + $142 = ((($141)) + 18|0); + $143 = HEAP16[$142>>1]|0; + $144 = $143&255; + $145 = HEAP32[$hdr>>2]|0; + $146 = (($145) + 3)|0; $147 = HEAP32[$aData>>2]|0; - $148 = $146; - $149 = $147; - $150 = (($148) - ($149))|0; - $151 = $150 >> 8; - $152 = $151&255; - $153 = HEAP32[$hdr>>2]|0; - $154 = (($153) + 5)|0; - $155 = HEAP32[$aData>>2]|0; - $156 = (($155) + ($154)|0); - HEAP8[$156>>0] = $152; - $157 = HEAP32[$pData>>2]|0; - $158 = HEAP32[$aData>>2]|0; - $159 = $157; - $160 = $158; - $161 = (($159) - ($160))|0; - $162 = $161&255; - $163 = HEAP32[$hdr>>2]|0; - $164 = (($163) + 5)|0; - $165 = HEAP32[$aData>>2]|0; - $166 = (($165) + ($164)|0); - $167 = ((($166)) + 1|0); - HEAP8[$167>>0] = $162; - $168 = HEAP32[$hdr>>2]|0; - $169 = (($168) + 7)|0; - $170 = HEAP32[$aData>>2]|0; - $171 = (($170) + ($169)|0); - HEAP8[$171>>0] = 0; + $148 = (($147) + ($146)|0); + $149 = ((($148)) + 1|0); + HEAP8[$149>>0] = $144; + $150 = HEAP32[$pData>>2]|0; + $151 = HEAP32[$aData>>2]|0; + $152 = $150; + $153 = $151; + $154 = (($152) - ($153))|0; + $155 = $154 >> 8; + $156 = $155&255; + $157 = HEAP32[$hdr>>2]|0; + $158 = (($157) + 5)|0; + $159 = HEAP32[$aData>>2]|0; + $160 = (($159) + ($158)|0); + HEAP8[$160>>0] = $156; + $161 = HEAP32[$pData>>2]|0; + $162 = HEAP32[$aData>>2]|0; + $163 = $161; + $164 = $162; + $165 = (($163) - ($164))|0; + $166 = $165&255; + $167 = HEAP32[$hdr>>2]|0; + $168 = (($167) + 5)|0; + $169 = HEAP32[$aData>>2]|0; + $170 = (($169) + ($168)|0); + $171 = ((($170)) + 1|0); + HEAP8[$171>>0] = $166; + $172 = HEAP32[$hdr>>2]|0; + $173 = (($172) + 7)|0; + $174 = HEAP32[$aData>>2]|0; + $175 = (($174) + ($173)|0); + HEAP8[$175>>0] = 0; HEAP32[$0>>2] = 0; - $172 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($172|0); + $176 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($176|0); } return (0)|0; } @@ -246259,7 +247921,7 @@ function _pageFindSlot($pPg,$nByte,$pRc) { } } if ((label|0) == 4) { - $39 = (_sqlite3CorruptError(56997)|0); + $39 = (_sqlite3CorruptError(57230)|0); $40 = HEAP32[$3>>2]|0; HEAP32[$40>>2] = $39; HEAP32[$0>>2] = 0; @@ -246350,7 +248012,7 @@ function _pageFindSlot($pPg,$nByte,$pRc) { STACKTOP = sp;return ($139|0); } } - $77 = (_sqlite3CorruptError(57008)|0); + $77 = (_sqlite3CorruptError(57241)|0); $78 = HEAP32[$3>>2]|0; HEAP32[$78>>2] = $77; HEAP32[$0>>2] = 0; @@ -246525,7 +248187,7 @@ function _freeSpace($pPage,$iStart,$iSize) { label = 6; } if ((label|0) == 10) { - $84 = (_sqlite3CorruptError(57169)|0); + $84 = (_sqlite3CorruptError(57402)|0); HEAP32[$0>>2] = $84; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246533,7 +248195,7 @@ function _freeSpace($pPage,$iStart,$iSize) { $86 = HEAP32[$iLast>>2]|0; $87 = ($79>>>0)>($86>>>0); if ($87) { - $88 = (_sqlite3CorruptError(57172)|0); + $88 = (_sqlite3CorruptError(57405)|0); HEAP32[$0>>2] = $88; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246560,7 +248222,7 @@ function _freeSpace($pPage,$iStart,$iSize) { $104 = $103&65535; $105 = ($102>>>0)>($104>>>0); if ($105) { - $106 = (_sqlite3CorruptError(57183)|0); + $106 = (_sqlite3CorruptError(57416)|0); HEAP32[$0>>2] = $106; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246619,7 +248281,7 @@ function _freeSpace($pPage,$iStart,$iSize) { HEAP16[$iFreeBlk>>1] = $155; break; } - $134 = (_sqlite3CorruptError(57185)|0); + $134 = (_sqlite3CorruptError(57418)|0); HEAP32[$0>>2] = $134; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246685,7 +248347,7 @@ function _freeSpace($pPage,$iStart,$iSize) { HEAP16[$2>>1] = $205; break; } - $191 = (_sqlite3CorruptError(57197)|0); + $191 = (_sqlite3CorruptError(57430)|0); HEAP32[$0>>2] = $191; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246717,7 +248379,7 @@ function _freeSpace($pPage,$iStart,$iSize) { HEAP8[$223>>0] = $227; break; } - $216 = (_sqlite3CorruptError(57203)|0); + $216 = (_sqlite3CorruptError(57436)|0); HEAP32[$0>>2] = $216; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246791,7 +248453,7 @@ function _freeSpace($pPage,$iStart,$iSize) { HEAP8[$287>>0] = $281; break; } - $254 = (_sqlite3CorruptError(57210)|0); + $254 = (_sqlite3CorruptError(57443)|0); HEAP32[$0>>2] = $254; $343 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($343|0); @@ -246986,7 +248648,7 @@ function _allocateSpace($pPage,$nByte,$pIdx) { break; } } - $47 = (_sqlite3CorruptError(57075)|0); + $47 = (_sqlite3CorruptError(57308)|0); HEAP32[$0>>2] = $47; $128 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($128|0); @@ -247678,7 +249340,7 @@ function _btreeCreateTable($p,$piTable,$createTabFlags) { } } if ((label|0) == 15) { - $60 = (_sqlite3CorruptError(63920)|0); + $60 = (_sqlite3CorruptError(64159)|0); HEAP32[$rc>>2] = $60; } $61 = HEAP32[$rc>>2]|0; @@ -248307,7 +249969,7 @@ function _newDatabase($pBt) { STACKTOP = sp;return ($81|0); } else { $19 = HEAP32[$data>>2]|0; - dest=$19; src=43252; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=$19; src=42903; stop=dest+16|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $20 = HEAP32[$1>>2]|0; $21 = ((($20)) + 32|0); $22 = HEAP32[$21>>2]|0; @@ -248743,7 +250405,7 @@ function _handleDeferredMoveto($p) { $17 = HEAP32[$res>>2]|0; $18 = ($17|0)!=(0); if ($18) { - $19 = (_sqlite3CorruptError(70762)|0); + $19 = (_sqlite3CorruptError(71015)|0); HEAP32[$0>>2] = $19; $24 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($24|0); @@ -248939,7 +250601,7 @@ function _closeAllCursors($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDel = 0, $pFrame = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pDel = 0, $pFrame = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -248986,41 +250648,43 @@ function _closeAllCursors($p) { $24 = HEAP32[$0>>2]|0; $25 = ((($24)) + 8|0); $26 = HEAP32[$25>>2]|0; - $27 = ((($26)) + 40|0); - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 28|0); - $30 = HEAP32[$29>>2]|0; - _releaseMemArray($27,$30); + $27 = HEAP32[$0>>2]|0; + $28 = ((($27)) + 28|0); + $29 = HEAP32[$28>>2]|0; + _releaseMemArray($26,$29); } while(1) { - $31 = HEAP32[$0>>2]|0; - $32 = ((($31)) + 180|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)!=(0|0); - $35 = HEAP32[$0>>2]|0; - if (!($34)) { + $30 = HEAP32[$0>>2]|0; + $31 = ((($30)) + 180|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)!=(0|0); + $34 = HEAP32[$0>>2]|0; + if (!($33)) { break; } - $36 = ((($35)) + 180|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$pDel>>2] = $37; - $38 = HEAP32[$pDel>>2]|0; - $39 = ((($38)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 180|0); - HEAP32[$42>>2] = $40; - $43 = HEAP32[$pDel>>2]|0; - _sqlite3VdbeFrameDelete($43); + $35 = ((($34)) + 180|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$pDel>>2] = $36; + $37 = HEAP32[$pDel>>2]|0; + $38 = ((($37)) + 4|0); + $39 = HEAP32[$38>>2]|0; + $40 = HEAP32[$0>>2]|0; + $41 = ((($40)) + 180|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$pDel>>2]|0; + _sqlite3VdbeFrameDelete($42); } - $44 = ((($35)) + 204|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)!=(0|0); - if (!($46)) { + $43 = ((($34)) + 204|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)!=(0|0); + if (!($45)) { STACKTOP = sp;return; } - $47 = HEAP32[$0>>2]|0; - _sqlite3VdbeDeleteAuxData($47,-1,0); + $46 = HEAP32[$0>>2]|0; + $47 = HEAP32[$46>>2]|0; + $48 = HEAP32[$0>>2]|0; + $49 = ((($48)) + 204|0); + _sqlite3VdbeDeleteAuxData($47,$49,-1,0); STACKTOP = sp;return; } function _vdbeCommit($db,$p) { @@ -249036,13 +250700,13 @@ function _vdbeCommit($db,$p) { var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $3 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0; - var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0; - var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $iRandom = 0, $nMainFile = 0, $nTrans = 0, $needSync = 0; - var $needXcommit = 0, $offset = 0, $or$cond = 0, $pBt = 0, $pBt1 = 0, $pBt2 = 0, $pBt3 = 0, $pBt4 = 0, $pBt5 = 0, $pMaster = 0, $pVfs = 0, $rc = 0, $res = 0, $retryCount = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr14 = 0, $zFile = 0; - var $zMainFile = 0, $zMaster = 0, label = 0, sp = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0; + var $99 = 0, $i = 0, $iRandom = 0, $nMainFile = 0, $nTrans = 0, $needXcommit = 0, $offset = 0, $or$cond = 0, $pBt = 0, $pBt1 = 0, $pBt2 = 0, $pBt3 = 0, $pBt4 = 0, $pBt5 = 0, $pMaster = 0, $pPager = 0, $pVfs = 0, $rc = 0, $res = 0, $retryCount = 0; + var $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer5 = 0, $vararg_buffer8 = 0, $vararg_ptr14 = 0, $zFile = 0, $zMainFile = 0, $zMaster = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; $vararg_buffer11 = sp + 32|0; @@ -249057,10 +250721,10 @@ function _vdbeCommit($db,$p) { $rc = sp + 108|0; $needXcommit = sp + 104|0; $pBt = sp + 100|0; - $pBt1 = sp + 96|0; - $pBt2 = sp + 92|0; - $pVfs = sp + 88|0; - $needSync = sp + 84|0; + $pPager = sp + 96|0; + $pBt1 = sp + 92|0; + $pBt2 = sp + 88|0; + $pVfs = sp + 84|0; $zMaster = sp + 80|0; $zMainFile = sp + 76|0; $pMaster = sp + 72|0; @@ -249110,479 +250774,480 @@ function _vdbeCommit($db,$p) { $22 = ($21|0)!=(0); if ($22) { HEAP32[$needXcommit>>2] = 1; - $23 = HEAP32[$i>>2]|0; - $24 = ($23|0)!=(1); - if ($24) { - $25 = HEAP32[$nTrans>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$nTrans>>2] = $26; + $23 = HEAP32[$pBt>>2]|0; + _sqlite3BtreeEnter($23); + $24 = HEAP32[$pBt>>2]|0; + $25 = (_sqlite3BtreePager($24)|0); + HEAP32[$pPager>>2] = $25; + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$1>>2]|0; + $28 = ((($27)) + 16|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($29) + ($26<<4)|0); + $31 = ((($30)) + 8|0); + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = ($33|0)!=(1); + if ($34) { + $35 = HEAP32[$pPager>>2]|0; + $36 = (_sqlite3PagerGetJournalMode($35)|0); + $37 = (42919 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = ($39|0)!=(0); + if ($40) { + $41 = HEAP32[$nTrans>>2]|0; + $42 = (($41) + 1)|0; + HEAP32[$nTrans>>2] = $42; + } } - $27 = HEAP32[$pBt>>2]|0; - _sqlite3BtreeEnter($27); - $28 = HEAP32[$pBt>>2]|0; - $29 = (_sqlite3BtreePager($28)|0); - $30 = (_sqlite3PagerExclusiveLock($29)|0); - HEAP32[$rc>>2] = $30; + $43 = HEAP32[$pPager>>2]|0; + $44 = (_sqlite3PagerExclusiveLock($43)|0); + HEAP32[$rc>>2] = $44; } - $31 = HEAP32[$i>>2]|0; - $32 = (($31) + 1)|0; - HEAP32[$i>>2] = $32; + $45 = HEAP32[$i>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$i>>2] = $46; } - $33 = HEAP32[$rc>>2]|0; - $34 = ($33|0)!=(0); - if ($34) { - $35 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $35; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $47 = HEAP32[$rc>>2]|0; + $48 = ($47|0)!=(0); + if ($48) { + $49 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $49; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } - $36 = HEAP32[$needXcommit>>2]|0; - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$1>>2]|0; - $39 = ((($38)) + 196|0); - $40 = HEAP32[$39>>2]|0; - $41 = ($40|0)!=(0|0); - if ($41) { - $42 = HEAP32[$1>>2]|0; - $43 = ((($42)) + 196|0); - $44 = HEAP32[$43>>2]|0; - $45 = HEAP32[$1>>2]|0; - $46 = ((($45)) + 192|0); - $47 = HEAP32[$46>>2]|0; - $48 = (FUNCTION_TABLE_ii[$44 & 255]($47)|0); - HEAP32[$rc>>2] = $48; - $49 = HEAP32[$rc>>2]|0; - $50 = ($49|0)!=(0); - if ($50) { + $50 = HEAP32[$needXcommit>>2]|0; + $51 = ($50|0)!=(0); + if ($51) { + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 200|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)!=(0|0); + if ($55) { + $56 = HEAP32[$1>>2]|0; + $57 = ((($56)) + 200|0); + $58 = HEAP32[$57>>2]|0; + $59 = HEAP32[$1>>2]|0; + $60 = ((($59)) + 196|0); + $61 = HEAP32[$60>>2]|0; + $62 = (FUNCTION_TABLE_ii[$58 & 255]($61)|0); + HEAP32[$rc>>2] = $62; + $63 = HEAP32[$rc>>2]|0; + $64 = ($63|0)!=(0); + if ($64) { HEAP32[$0>>2] = 531; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } } } - $51 = HEAP32[$1>>2]|0; - $52 = ((($51)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 4|0); - $55 = HEAP32[$54>>2]|0; - $56 = (_sqlite3BtreeGetFilename($55)|0); - $57 = (_sqlite3Strlen30($56)|0); - $58 = (0)==($57|0); - $59 = HEAP32[$nTrans>>2]|0; - $60 = ($59|0)<=(1); - $or$cond = $58 | $60; + $65 = HEAP32[$1>>2]|0; + $66 = ((($65)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($67)) + 4|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_sqlite3BtreeGetFilename($69)|0); + $71 = (_sqlite3Strlen30($70)|0); + $72 = (0)==($71|0); + $73 = HEAP32[$nTrans>>2]|0; + $74 = ($73|0)<=(1); + $or$cond = $72 | $74; if ($or$cond) { HEAP32[$i>>2] = 0; while(1) { - $61 = HEAP32[$rc>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { + $75 = HEAP32[$rc>>2]|0; + $76 = ($75|0)==(0); + if (!($76)) { break; } - $63 = HEAP32[$i>>2]|0; - $64 = HEAP32[$1>>2]|0; - $65 = ((($64)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($63|0)<($66|0); - if (!($67)) { + $77 = HEAP32[$i>>2]|0; + $78 = HEAP32[$1>>2]|0; + $79 = ((($78)) + 20|0); + $80 = HEAP32[$79>>2]|0; + $81 = ($77|0)<($80|0); + if (!($81)) { break; } - $68 = HEAP32[$i>>2]|0; - $69 = HEAP32[$1>>2]|0; - $70 = ((($69)) + 16|0); - $71 = HEAP32[$70>>2]|0; - $72 = (($71) + ($68<<4)|0); - $73 = ((($72)) + 4|0); - $74 = HEAP32[$73>>2]|0; - HEAP32[$pBt1>>2] = $74; - $75 = HEAP32[$pBt1>>2]|0; - $76 = ($75|0)!=(0|0); - if ($76) { - $77 = HEAP32[$pBt1>>2]|0; - $78 = (_sqlite3BtreeCommitPhaseOne($77,0)|0); - HEAP32[$rc>>2] = $78; + $82 = HEAP32[$i>>2]|0; + $83 = HEAP32[$1>>2]|0; + $84 = ((($83)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $86 = (($85) + ($82<<4)|0); + $87 = ((($86)) + 4|0); + $88 = HEAP32[$87>>2]|0; + HEAP32[$pBt1>>2] = $88; + $89 = HEAP32[$pBt1>>2]|0; + $90 = ($89|0)!=(0|0); + if ($90) { + $91 = HEAP32[$pBt1>>2]|0; + $92 = (_sqlite3BtreeCommitPhaseOne($91,0)|0); + HEAP32[$rc>>2] = $92; } - $79 = HEAP32[$i>>2]|0; - $80 = (($79) + 1)|0; - HEAP32[$i>>2] = $80; + $93 = HEAP32[$i>>2]|0; + $94 = (($93) + 1)|0; + HEAP32[$i>>2] = $94; } HEAP32[$i>>2] = 0; while(1) { - $81 = HEAP32[$rc>>2]|0; - $82 = ($81|0)==(0); - if (!($82)) { + $95 = HEAP32[$rc>>2]|0; + $96 = ($95|0)==(0); + if (!($96)) { break; } - $83 = HEAP32[$i>>2]|0; - $84 = HEAP32[$1>>2]|0; - $85 = ((($84)) + 20|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($83|0)<($86|0); - if (!($87)) { + $97 = HEAP32[$i>>2]|0; + $98 = HEAP32[$1>>2]|0; + $99 = ((($98)) + 20|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($97|0)<($100|0); + if (!($101)) { break; } - $88 = HEAP32[$i>>2]|0; - $89 = HEAP32[$1>>2]|0; - $90 = ((($89)) + 16|0); - $91 = HEAP32[$90>>2]|0; - $92 = (($91) + ($88<<4)|0); - $93 = ((($92)) + 4|0); - $94 = HEAP32[$93>>2]|0; - HEAP32[$pBt2>>2] = $94; - $95 = HEAP32[$pBt2>>2]|0; - $96 = ($95|0)!=(0|0); - if ($96) { - $97 = HEAP32[$pBt2>>2]|0; - $98 = (_sqlite3BtreeCommitPhaseTwo($97,0)|0); - HEAP32[$rc>>2] = $98; + $102 = HEAP32[$i>>2]|0; + $103 = HEAP32[$1>>2]|0; + $104 = ((($103)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (($105) + ($102<<4)|0); + $107 = ((($106)) + 4|0); + $108 = HEAP32[$107>>2]|0; + HEAP32[$pBt2>>2] = $108; + $109 = HEAP32[$pBt2>>2]|0; + $110 = ($109|0)!=(0|0); + if ($110) { + $111 = HEAP32[$pBt2>>2]|0; + $112 = (_sqlite3BtreeCommitPhaseTwo($111,0)|0); + HEAP32[$rc>>2] = $112; } - $99 = HEAP32[$i>>2]|0; - $100 = (($99) + 1)|0; - HEAP32[$i>>2] = $100; + $113 = HEAP32[$i>>2]|0; + $114 = (($113) + 1)|0; + HEAP32[$i>>2] = $114; } - $101 = HEAP32[$rc>>2]|0; - $102 = ($101|0)==(0); - if ($102) { - $103 = HEAP32[$1>>2]|0; - (_sqlite3VtabCommit($103)|0); + $115 = HEAP32[$rc>>2]|0; + $116 = ($115|0)==(0); + if ($116) { + $117 = HEAP32[$1>>2]|0; + (_sqlite3VtabCommit($117)|0); } } else { - $104 = HEAP32[$1>>2]|0; - $105 = HEAP32[$104>>2]|0; - HEAP32[$pVfs>>2] = $105; - HEAP32[$needSync>>2] = 0; + $118 = HEAP32[$1>>2]|0; + $119 = HEAP32[$118>>2]|0; + HEAP32[$pVfs>>2] = $119; HEAP32[$zMaster>>2] = 0; - $106 = HEAP32[$1>>2]|0; - $107 = ((($106)) + 16|0); - $108 = HEAP32[$107>>2]|0; - $109 = ((($108)) + 4|0); - $110 = HEAP32[$109>>2]|0; - $111 = (_sqlite3BtreeGetFilename($110)|0); - HEAP32[$zMainFile>>2] = $111; + $120 = HEAP32[$1>>2]|0; + $121 = ((($120)) + 16|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($122)) + 4|0); + $124 = HEAP32[$123>>2]|0; + $125 = (_sqlite3BtreeGetFilename($124)|0); + HEAP32[$zMainFile>>2] = $125; HEAP32[$pMaster>>2] = 0; - $112 = $offset; - $113 = $112; - HEAP32[$113>>2] = 0; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = 0; + $126 = $offset; + $127 = $126; + HEAP32[$127>>2] = 0; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = 0; HEAP32[$retryCount>>2] = 0; - $116 = HEAP32[$zMainFile>>2]|0; - $117 = (_sqlite3Strlen30($116)|0); - HEAP32[$nMainFile>>2] = $117; - $118 = HEAP32[$1>>2]|0; - $119 = HEAP32[$zMainFile>>2]|0; - HEAP32[$vararg_buffer>>2] = $119; - $120 = (_sqlite3MPrintf($118,43268,$vararg_buffer)|0); - HEAP32[$zMaster>>2] = $120; - $121 = HEAP32[$zMaster>>2]|0; - $122 = ($121|0)==(0|0); - if ($122) { + $130 = HEAP32[$zMainFile>>2]|0; + $131 = (_sqlite3Strlen30($130)|0); + HEAP32[$nMainFile>>2] = $131; + $132 = HEAP32[$1>>2]|0; + $133 = HEAP32[$zMainFile>>2]|0; + HEAP32[$vararg_buffer>>2] = $133; + $134 = (_sqlite3MPrintf($132,42925,$vararg_buffer)|0); + HEAP32[$zMaster>>2] = $134; + $135 = HEAP32[$zMaster>>2]|0; + $136 = ($135|0)==(0|0); + if ($136) { HEAP32[$0>>2] = 7; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } while(1) { - $123 = HEAP32[$retryCount>>2]|0; - $124 = ($123|0)!=(0); - if ($124) { - $125 = HEAP32[$retryCount>>2]|0; - $126 = ($125|0)>(100); - if ($126) { - label = 34; + $137 = HEAP32[$retryCount>>2]|0; + $138 = ($137|0)!=(0); + if ($138) { + $139 = HEAP32[$retryCount>>2]|0; + $140 = ($139|0)>(100); + if ($140) { + label = 35; break; } - $130 = HEAP32[$retryCount>>2]|0; - $131 = ($130|0)==(1); - if ($131) { - $132 = HEAP32[$zMaster>>2]|0; - HEAP32[$vararg_buffer8>>2] = $132; - _sqlite3_log(13,43298,$vararg_buffer8); + $144 = HEAP32[$retryCount>>2]|0; + $145 = ($144|0)==(1); + if ($145) { + $146 = HEAP32[$zMaster>>2]|0; + HEAP32[$vararg_buffer8>>2] = $146; + _sqlite3_log(13,42955,$vararg_buffer8); } } - $133 = HEAP32[$retryCount>>2]|0; - $134 = (($133) + 1)|0; - HEAP32[$retryCount>>2] = $134; + $147 = HEAP32[$retryCount>>2]|0; + $148 = (($147) + 1)|0; + HEAP32[$retryCount>>2] = $148; _sqlite3_randomness(4,$iRandom); - $135 = HEAP32[$nMainFile>>2]|0; - $136 = HEAP32[$zMaster>>2]|0; - $137 = (($136) + ($135)|0); - $138 = HEAP32[$iRandom>>2]|0; - $139 = $138 >>> 8; - $140 = $139 & 16777215; - $141 = HEAP32[$iRandom>>2]|0; - $142 = $141 & 255; - HEAP32[$vararg_buffer11>>2] = $140; + $149 = HEAP32[$nMainFile>>2]|0; + $150 = HEAP32[$zMaster>>2]|0; + $151 = (($150) + ($149)|0); + $152 = HEAP32[$iRandom>>2]|0; + $153 = $152 >>> 8; + $154 = $153 & 16777215; + $155 = HEAP32[$iRandom>>2]|0; + $156 = $155 & 255; + HEAP32[$vararg_buffer11>>2] = $154; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $142; - (_sqlite3_snprintf(13,$137,43313,$vararg_buffer11)|0); - $143 = HEAP32[$pVfs>>2]|0; - $144 = HEAP32[$zMaster>>2]|0; - $145 = (_sqlite3OsAccess($143,$144,0,$res)|0); - HEAP32[$rc>>2] = $145; - $146 = HEAP32[$rc>>2]|0; - $147 = ($146|0)==(0); - $148 = HEAP32[$res>>2]|0; - $149 = ($148|0)!=(0); - $150 = $147 ? $149 : 0; - if (!($150)) { + HEAP32[$vararg_ptr14>>2] = $156; + (_sqlite3_snprintf(13,$151,42970,$vararg_buffer11)|0); + $157 = HEAP32[$pVfs>>2]|0; + $158 = HEAP32[$zMaster>>2]|0; + $159 = (_sqlite3OsAccess($157,$158,0,$res)|0); + HEAP32[$rc>>2] = $159; + $160 = HEAP32[$rc>>2]|0; + $161 = ($160|0)==(0); + $162 = HEAP32[$res>>2]|0; + $163 = ($162|0)!=(0); + $164 = $161 ? $163 : 0; + if (!($164)) { break; } } - if ((label|0) == 34) { - $127 = HEAP32[$zMaster>>2]|0; - HEAP32[$vararg_buffer5>>2] = $127; - _sqlite3_log(13,43284,$vararg_buffer5); - $128 = HEAP32[$pVfs>>2]|0; - $129 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($128,$129,0)|0); - } - $151 = HEAP32[$rc>>2]|0; - $152 = ($151|0)==(0); - if ($152) { - $153 = HEAP32[$pVfs>>2]|0; - $154 = HEAP32[$zMaster>>2]|0; - $155 = (_sqlite3OsOpenMalloc($153,$154,$pMaster,16406,0)|0); - HEAP32[$rc>>2] = $155; + if ((label|0) == 35) { + $141 = HEAP32[$zMaster>>2]|0; + HEAP32[$vararg_buffer5>>2] = $141; + _sqlite3_log(13,42941,$vararg_buffer5); + $142 = HEAP32[$pVfs>>2]|0; + $143 = HEAP32[$zMaster>>2]|0; + (_sqlite3OsDelete($142,$143,0)|0); + } + $165 = HEAP32[$rc>>2]|0; + $166 = ($165|0)==(0); + if ($166) { + $167 = HEAP32[$pVfs>>2]|0; + $168 = HEAP32[$zMaster>>2]|0; + $169 = (_sqlite3OsOpenMalloc($167,$168,$pMaster,16406,0)|0); + HEAP32[$rc>>2] = $169; } - $156 = HEAP32[$rc>>2]|0; - $157 = ($156|0)!=(0); - if ($157) { - $158 = HEAP32[$1>>2]|0; - $159 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($158,$159); - $160 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $160; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $170 = HEAP32[$rc>>2]|0; + $171 = ($170|0)!=(0); + if ($171) { + $172 = HEAP32[$1>>2]|0; + $173 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($172,$173); + $174 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $174; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } HEAP32[$i>>2] = 0; while(1) { - $161 = HEAP32[$i>>2]|0; - $162 = HEAP32[$1>>2]|0; - $163 = ((($162)) + 20|0); - $164 = HEAP32[$163>>2]|0; - $165 = ($161|0)<($164|0); - if (!($165)) { + $175 = HEAP32[$i>>2]|0; + $176 = HEAP32[$1>>2]|0; + $177 = ((($176)) + 20|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($175|0)<($178|0); + if (!($179)) { break; } - $166 = HEAP32[$i>>2]|0; - $167 = HEAP32[$1>>2]|0; - $168 = ((($167)) + 16|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($169) + ($166<<4)|0); - $171 = ((($170)) + 4|0); - $172 = HEAP32[$171>>2]|0; - HEAP32[$pBt3>>2] = $172; - $173 = HEAP32[$pBt3>>2]|0; - $174 = (_sqlite3BtreeIsInTrans($173)|0); - $175 = ($174|0)!=(0); - if ($175) { - $176 = HEAP32[$pBt3>>2]|0; - $177 = (_sqlite3BtreeGetJournalname($176)|0); - HEAP32[$zFile>>2] = $177; - $178 = HEAP32[$zFile>>2]|0; - $179 = ($178|0)==(0|0); - if (!($179)) { - $180 = HEAP32[$needSync>>2]|0; - $181 = ($180|0)!=(0); - if (!($181)) { - $182 = HEAP32[$pBt3>>2]|0; - $183 = (_sqlite3BtreeSyncDisabled($182)|0); - $184 = ($183|0)!=(0); - if (!($184)) { - HEAP32[$needSync>>2] = 1; - } - } - $185 = HEAP32[$pMaster>>2]|0; - $186 = HEAP32[$zFile>>2]|0; - $187 = HEAP32[$zFile>>2]|0; - $188 = (_sqlite3Strlen30($187)|0); - $189 = (($188) + 1)|0; - $190 = $offset; - $191 = $190; - $192 = HEAP32[$191>>2]|0; - $193 = (($190) + 4)|0; - $194 = $193; - $195 = HEAP32[$194>>2]|0; - $196 = (_sqlite3OsWrite($185,$186,$189,$192,$195)|0); - HEAP32[$rc>>2] = $196; - $197 = HEAP32[$zFile>>2]|0; - $198 = (_sqlite3Strlen30($197)|0); - $199 = (($198) + 1)|0; - $200 = ($199|0)<(0); - $201 = $200 << 31 >> 31; - $202 = $offset; + $180 = HEAP32[$i>>2]|0; + $181 = HEAP32[$1>>2]|0; + $182 = ((($181)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = (($183) + ($180<<4)|0); + $185 = ((($184)) + 4|0); + $186 = HEAP32[$185>>2]|0; + HEAP32[$pBt3>>2] = $186; + $187 = HEAP32[$pBt3>>2]|0; + $188 = (_sqlite3BtreeIsInTrans($187)|0); + $189 = ($188|0)!=(0); + if ($189) { + $190 = HEAP32[$pBt3>>2]|0; + $191 = (_sqlite3BtreeGetJournalname($190)|0); + HEAP32[$zFile>>2] = $191; + $192 = HEAP32[$zFile>>2]|0; + $193 = ($192|0)==(0|0); + if (!($193)) { + $194 = HEAP32[$pMaster>>2]|0; + $195 = HEAP32[$zFile>>2]|0; + $196 = HEAP32[$zFile>>2]|0; + $197 = (_sqlite3Strlen30($196)|0); + $198 = (($197) + 1)|0; + $199 = $offset; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; $203 = $202; $204 = HEAP32[$203>>2]|0; - $205 = (($202) + 4)|0; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (_i64Add(($204|0),($207|0),($199|0),($201|0))|0); - $209 = tempRet0; - $210 = $offset; - $211 = $210; - HEAP32[$211>>2] = $208; - $212 = (($210) + 4)|0; - $213 = $212; - HEAP32[$213>>2] = $209; - $214 = HEAP32[$rc>>2]|0; - $215 = ($214|0)!=(0); - if ($215) { - label = 50; + $205 = (_sqlite3OsWrite($194,$195,$198,$201,$204)|0); + HEAP32[$rc>>2] = $205; + $206 = HEAP32[$zFile>>2]|0; + $207 = (_sqlite3Strlen30($206)|0); + $208 = (($207) + 1)|0; + $209 = ($208|0)<(0); + $210 = $209 << 31 >> 31; + $211 = $offset; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = (($211) + 4)|0; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (_i64Add(($213|0),($216|0),($208|0),($210|0))|0); + $218 = tempRet0; + $219 = $offset; + $220 = $219; + HEAP32[$220>>2] = $217; + $221 = (($219) + 4)|0; + $222 = $221; + HEAP32[$222>>2] = $218; + $223 = HEAP32[$rc>>2]|0; + $224 = ($223|0)!=(0); + if ($224) { + label = 48; break; } } } - $222 = HEAP32[$i>>2]|0; - $223 = (($222) + 1)|0; - HEAP32[$i>>2] = $223; - } - if ((label|0) == 50) { - $216 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsCloseFree($216)|0); - $217 = HEAP32[$pVfs>>2]|0; - $218 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($217,$218,0)|0); - $219 = HEAP32[$1>>2]|0; - $220 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($219,$220); - $221 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $221; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $231 = HEAP32[$i>>2]|0; + $232 = (($231) + 1)|0; + HEAP32[$i>>2] = $232; } - $224 = HEAP32[$needSync>>2]|0; - $225 = ($224|0)!=(0); - if ($225) { - $226 = HEAP32[$pMaster>>2]|0; - $227 = (_sqlite3OsDeviceCharacteristics($226)|0); - $228 = $227 & 1024; - $229 = (0)==($228|0); - if ($229) { - $230 = HEAP32[$pMaster>>2]|0; - $231 = (_sqlite3OsSync($230,2)|0); - HEAP32[$rc>>2] = $231; - $232 = (0)!=($231|0); - if ($232) { - $233 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsCloseFree($233)|0); - $234 = HEAP32[$pVfs>>2]|0; - $235 = HEAP32[$zMaster>>2]|0; - (_sqlite3OsDelete($234,$235,0)|0); - $236 = HEAP32[$1>>2]|0; - $237 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($236,$237); - $238 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $238; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); - } + if ((label|0) == 48) { + $225 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsCloseFree($225)|0); + $226 = HEAP32[$pVfs>>2]|0; + $227 = HEAP32[$zMaster>>2]|0; + (_sqlite3OsDelete($226,$227,0)|0); + $228 = HEAP32[$1>>2]|0; + $229 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($228,$229); + $230 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $230; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); + } + $233 = HEAP32[$pMaster>>2]|0; + $234 = (_sqlite3OsDeviceCharacteristics($233)|0); + $235 = $234 & 1024; + $236 = (0)==($235|0); + if ($236) { + $237 = HEAP32[$pMaster>>2]|0; + $238 = (_sqlite3OsSync($237,2)|0); + HEAP32[$rc>>2] = $238; + $239 = (0)!=($238|0); + if ($239) { + $240 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsCloseFree($240)|0); + $241 = HEAP32[$pVfs>>2]|0; + $242 = HEAP32[$zMaster>>2]|0; + (_sqlite3OsDelete($241,$242,0)|0); + $243 = HEAP32[$1>>2]|0; + $244 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($243,$244); + $245 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $245; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } } HEAP32[$i>>2] = 0; while(1) { - $239 = HEAP32[$rc>>2]|0; - $240 = ($239|0)==(0); - if (!($240)) { + $246 = HEAP32[$rc>>2]|0; + $247 = ($246|0)==(0); + if (!($247)) { break; } - $241 = HEAP32[$i>>2]|0; - $242 = HEAP32[$1>>2]|0; - $243 = ((($242)) + 20|0); - $244 = HEAP32[$243>>2]|0; - $245 = ($241|0)<($244|0); - if (!($245)) { + $248 = HEAP32[$i>>2]|0; + $249 = HEAP32[$1>>2]|0; + $250 = ((($249)) + 20|0); + $251 = HEAP32[$250>>2]|0; + $252 = ($248|0)<($251|0); + if (!($252)) { break; } - $246 = HEAP32[$i>>2]|0; - $247 = HEAP32[$1>>2]|0; - $248 = ((($247)) + 16|0); - $249 = HEAP32[$248>>2]|0; - $250 = (($249) + ($246<<4)|0); - $251 = ((($250)) + 4|0); - $252 = HEAP32[$251>>2]|0; - HEAP32[$pBt4>>2] = $252; - $253 = HEAP32[$pBt4>>2]|0; - $254 = ($253|0)!=(0|0); - if ($254) { - $255 = HEAP32[$pBt4>>2]|0; - $256 = HEAP32[$zMaster>>2]|0; - $257 = (_sqlite3BtreeCommitPhaseOne($255,$256)|0); - HEAP32[$rc>>2] = $257; - } - $258 = HEAP32[$i>>2]|0; - $259 = (($258) + 1)|0; - HEAP32[$i>>2] = $259; - } - $260 = HEAP32[$pMaster>>2]|0; - (_sqlite3OsCloseFree($260)|0); - $261 = HEAP32[$rc>>2]|0; - $262 = ($261|0)!=(0); - if ($262) { - $263 = HEAP32[$1>>2]|0; - $264 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($263,$264); - $265 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $265; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); - } - $266 = HEAP32[$pVfs>>2]|0; - $267 = HEAP32[$zMaster>>2]|0; - $268 = HEAP32[$needSync>>2]|0; - $269 = (_sqlite3OsDelete($266,$267,$268)|0); - HEAP32[$rc>>2] = $269; - $270 = HEAP32[$1>>2]|0; - $271 = HEAP32[$zMaster>>2]|0; - _sqlite3DbFree($270,$271); + $253 = HEAP32[$i>>2]|0; + $254 = HEAP32[$1>>2]|0; + $255 = ((($254)) + 16|0); + $256 = HEAP32[$255>>2]|0; + $257 = (($256) + ($253<<4)|0); + $258 = ((($257)) + 4|0); + $259 = HEAP32[$258>>2]|0; + HEAP32[$pBt4>>2] = $259; + $260 = HEAP32[$pBt4>>2]|0; + $261 = ($260|0)!=(0|0); + if ($261) { + $262 = HEAP32[$pBt4>>2]|0; + $263 = HEAP32[$zMaster>>2]|0; + $264 = (_sqlite3BtreeCommitPhaseOne($262,$263)|0); + HEAP32[$rc>>2] = $264; + } + $265 = HEAP32[$i>>2]|0; + $266 = (($265) + 1)|0; + HEAP32[$i>>2] = $266; + } + $267 = HEAP32[$pMaster>>2]|0; + (_sqlite3OsCloseFree($267)|0); + $268 = HEAP32[$rc>>2]|0; + $269 = ($268|0)!=(0); + if ($269) { + $270 = HEAP32[$1>>2]|0; + $271 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($270,$271); + $272 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $272; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); + } + $273 = HEAP32[$pVfs>>2]|0; + $274 = HEAP32[$zMaster>>2]|0; + $275 = (_sqlite3OsDelete($273,$274,1)|0); + HEAP32[$rc>>2] = $275; + $276 = HEAP32[$1>>2]|0; + $277 = HEAP32[$zMaster>>2]|0; + _sqlite3DbFree($276,$277); HEAP32[$zMaster>>2] = 0; - $272 = HEAP32[$rc>>2]|0; - $273 = ($272|0)!=(0); - if ($273) { - $274 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $274; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $278 = HEAP32[$rc>>2]|0; + $279 = ($278|0)!=(0); + if ($279) { + $280 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $280; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } _sqlite3BeginBenignMalloc(); HEAP32[$i>>2] = 0; while(1) { - $275 = HEAP32[$i>>2]|0; - $276 = HEAP32[$1>>2]|0; - $277 = ((($276)) + 20|0); - $278 = HEAP32[$277>>2]|0; - $279 = ($275|0)<($278|0); - if (!($279)) { + $281 = HEAP32[$i>>2]|0; + $282 = HEAP32[$1>>2]|0; + $283 = ((($282)) + 20|0); + $284 = HEAP32[$283>>2]|0; + $285 = ($281|0)<($284|0); + if (!($285)) { break; } - $280 = HEAP32[$i>>2]|0; - $281 = HEAP32[$1>>2]|0; - $282 = ((($281)) + 16|0); - $283 = HEAP32[$282>>2]|0; - $284 = (($283) + ($280<<4)|0); - $285 = ((($284)) + 4|0); - $286 = HEAP32[$285>>2]|0; - HEAP32[$pBt5>>2] = $286; - $287 = HEAP32[$pBt5>>2]|0; - $288 = ($287|0)!=(0|0); - if ($288) { - $289 = HEAP32[$pBt5>>2]|0; - (_sqlite3BtreeCommitPhaseTwo($289,1)|0); - } - $290 = HEAP32[$i>>2]|0; - $291 = (($290) + 1)|0; - HEAP32[$i>>2] = $291; + $286 = HEAP32[$i>>2]|0; + $287 = HEAP32[$1>>2]|0; + $288 = ((($287)) + 16|0); + $289 = HEAP32[$288>>2]|0; + $290 = (($289) + ($286<<4)|0); + $291 = ((($290)) + 4|0); + $292 = HEAP32[$291>>2]|0; + HEAP32[$pBt5>>2] = $292; + $293 = HEAP32[$pBt5>>2]|0; + $294 = ($293|0)!=(0|0); + if ($294) { + $295 = HEAP32[$pBt5>>2]|0; + (_sqlite3BtreeCommitPhaseTwo($295,1)|0); + } + $296 = HEAP32[$i>>2]|0; + $297 = (($296) + 1)|0; + HEAP32[$i>>2] = $297; } _sqlite3EndBenignMalloc(); - $292 = HEAP32[$1>>2]|0; - (_sqlite3VtabCommit($292)|0); + $298 = HEAP32[$1>>2]|0; + (_sqlite3VtabCommit($298)|0); } - $293 = HEAP32[$rc>>2]|0; - HEAP32[$0>>2] = $293; - $294 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($294|0); + $299 = HEAP32[$rc>>2]|0; + HEAP32[$0>>2] = $299; + $300 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($300|0); } function _sqlite3VtabSync($db,$p) { $db = $db|0; @@ -249603,11 +251268,11 @@ function _sqlite3VtabSync($db,$p) { HEAP32[$1>>2] = $p; HEAP32[$rc>>2] = 0; $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 332|0); + $3 = ((($2)) + 340|0); $4 = HEAP32[$3>>2]|0; HEAP32[$aVTrans>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 332|0); + $6 = ((($5)) + 340|0); HEAP32[$6>>2] = 0; HEAP32[$i>>2] = 0; while(1) { @@ -249619,7 +251284,7 @@ function _sqlite3VtabSync($db,$p) { } $9 = HEAP32[$i>>2]|0; $10 = HEAP32[$0>>2]|0; - $11 = ((($10)) + 308|0); + $11 = ((($10)) + 316|0); $12 = HEAP32[$11>>2]|0; $13 = ($9|0)<($12|0); if (!($13)) { @@ -249659,7 +251324,7 @@ function _sqlite3VtabSync($db,$p) { if ((label|0) == 8) { $34 = HEAP32[$aVTrans>>2]|0; $35 = HEAP32[$0>>2]|0; - $36 = ((($35)) + 332|0); + $36 = ((($35)) + 340|0); HEAP32[$36>>2] = $34; $37 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($37|0); @@ -249691,41 +251356,6 @@ function _sqlite3BtreeGetJournalname($p) { $5 = (_sqlite3PagerJournalname($4)|0); STACKTOP = sp;return ($5|0); } -function _sqlite3BtreeSyncDisabled($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $pBt = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $pBt = sp + 4|0; - $rc = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$pBt>>2] = $3; - $4 = HEAP32[$0>>2]|0; - _sqlite3BtreeEnter($4); - $5 = HEAP32[$pBt>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3PagerNosync($6)|0); - HEAP32[$rc>>2] = $7; - $8 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($8|0); -} -function _sqlite3PagerNosync($pPager) { - $pPager = $pPager|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $pPager; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 7|0); - $3 = HEAP8[$2>>0]|0; - $4 = $3&255; - STACKTOP = sp;return ($4|0); -} function _sqlite3PagerJournalname($pPager) { $pPager = $pPager|0; var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; @@ -249794,7 +251424,7 @@ function _closeCursorsInFrame($p) { function _sqlite3VdbeFrameDelete($p) { $p = $p|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMem = 0, $apCsr = 0, $i = 0, label = 0, sp = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $aMem = 0, $apCsr = 0, $i = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; @@ -249806,7 +251436,7 @@ function _sqlite3VdbeFrameDelete($p) { $2 = ((($1)) + 80|0); HEAP32[$aMem>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 60|0); + $4 = ((($3)) + 64|0); $5 = HEAP32[$4>>2]|0; $6 = HEAP32[$aMem>>2]|0; $7 = (($6) + (($5*40)|0)|0); @@ -249815,7 +251445,7 @@ function _sqlite3VdbeFrameDelete($p) { while(1) { $8 = HEAP32[$i>>2]|0; $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 64|0); + $10 = ((($9)) + 68|0); $11 = HEAP32[$10>>2]|0; $12 = ($8|0)<($11|0); if (!($12)) { @@ -249834,14 +251464,20 @@ function _sqlite3VdbeFrameDelete($p) { } $21 = HEAP32[$aMem>>2]|0; $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 60|0); + $23 = ((($22)) + 64|0); $24 = HEAP32[$23>>2]|0; _releaseMemArray($21,$24); $25 = HEAP32[$0>>2]|0; $26 = HEAP32[$25>>2]|0; $27 = HEAP32[$26>>2]|0; $28 = HEAP32[$0>>2]|0; - _sqlite3DbFree($27,$28); + $29 = ((($28)) + 40|0); + _sqlite3VdbeDeleteAuxData($27,$29,-1,0); + $30 = HEAP32[$0>>2]|0; + $31 = HEAP32[$30>>2]|0; + $32 = HEAP32[$31>>2]|0; + $33 = HEAP32[$0>>2]|0; + _sqlite3DbFree($32,$33); STACKTOP = sp;return; } function _sqlite3OpcodeName($i) { @@ -249852,7 +251488,7 @@ function _sqlite3OpcodeName($i) { $0 = sp; HEAP32[$0>>2] = $i; $1 = HEAP32[$0>>2]|0; - $2 = (6424 + ($1<<2)|0); + $2 = (6420 + ($1<<2)|0); $3 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($3|0); } @@ -249924,7 +251560,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $15 = HEAP16[$14>>1]|0; $16 = $15&65535; HEAP32[$vararg_buffer>>2] = $16; - _sqlite3XPrintf($x,43365,$vararg_buffer); + _sqlite3XPrintf($x,43022,$vararg_buffer); HEAP32[$j>>2] = 0; while(1) { $17 = HEAP32[$j>>2]|0; @@ -249949,13 +251585,13 @@ function _displayP4($pOp,$zTemp,$nTemp) { $31 = HEAP32[$30>>2]|0; $32 = $31; } else { - $32 = 19266; + $32 = 19010; } HEAP32[$zColl>>2] = $32; $33 = HEAP32[$zColl>>2]|0; - $34 = (_strcmp($33,35690)|0); + $34 = (_strcmp($33,35343)|0); $35 = ($34|0)==(0); - $$ = $35 ? 43370 : $32; + $$ = $35 ? 43027 : $32; HEAP32[$zColl>>2] = $$; $36 = HEAP32[$j>>2]|0; $37 = HEAP32[$pKeyInfo>>2]|0; @@ -249965,17 +251601,17 @@ function _displayP4($pOp,$zTemp,$nTemp) { $41 = HEAP8[$40>>0]|0; $42 = $41&255; $43 = ($42|0)!=(0); - $44 = $43 ? 29135 : 19266; + $44 = $43 ? 28860 : 19010; $45 = HEAP32[$zColl>>2]|0; HEAP32[$vararg_buffer1>>2] = $44; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $45; - _sqlite3XPrintf($x,43372,$vararg_buffer1); + _sqlite3XPrintf($x,43029,$vararg_buffer1); $46 = HEAP32[$j>>2]|0; $47 = (($46) + 1)|0; HEAP32[$j>>2] = $47; } - _sqlite3StrAccumAppend($x,35518,1); + _sqlite3StrAccumAppend($x,35219,1); break; } case -4: { @@ -249986,7 +251622,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $51 = HEAP32[$pColl1>>2]|0; $52 = HEAP32[$51>>2]|0; HEAP32[$vararg_buffer5>>2] = $52; - _sqlite3XPrintf($x,43378,$vararg_buffer5); + _sqlite3XPrintf($x,43035,$vararg_buffer5); break; } case -5: { @@ -249998,12 +251634,12 @@ function _displayP4($pOp,$zTemp,$nTemp) { $57 = ((($56)) + 20|0); $58 = HEAP32[$57>>2]|0; $59 = HEAP32[$pDef>>2]|0; - $60 = HEAP16[$59>>1]|0; - $61 = $60 << 16 >> 16; + $60 = HEAP8[$59>>0]|0; + $61 = $60 << 24 >> 24; HEAP32[$vararg_buffer8>>2] = $58; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $61; - _sqlite3XPrintf($x,43386,$vararg_buffer8); + _sqlite3XPrintf($x,43043,$vararg_buffer8); break; } case -13: { @@ -250022,7 +251658,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $73 = (($71) + 4)|0; $74 = $73; HEAP32[$74>>2] = $70; - _sqlite3XPrintf($x,29137,$vararg_buffer12); + _sqlite3XPrintf($x,28862,$vararg_buffer12); break; } case -14: { @@ -250030,7 +251666,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $76 = ((($75)) + 16|0); $77 = HEAP32[$76>>2]|0; HEAP32[$vararg_buffer15>>2] = $77; - _sqlite3XPrintf($x,43393,$vararg_buffer15); + _sqlite3XPrintf($x,43050,$vararg_buffer15); break; } case -12: { @@ -250039,7 +251675,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $80 = HEAP32[$79>>2]|0; $81 = +HEAPF64[$80>>3]; HEAPF64[$vararg_buffer18>>3] = $81; - _sqlite3XPrintf($x,43396,$vararg_buffer18); + _sqlite3XPrintf($x,43053,$vararg_buffer18); break; } case -8: { @@ -250079,7 +251715,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - _sqlite3XPrintf($x,29137,$vararg_buffer21); + _sqlite3XPrintf($x,28862,$vararg_buffer21); break L1; } $110 = ((($99)) + 8|0); @@ -250091,7 +251727,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { if ($114) { $116 = +HEAPF64[$115>>3]; HEAPF64[$vararg_buffer24>>3] = $116; - _sqlite3XPrintf($x,43396,$vararg_buffer24); + _sqlite3XPrintf($x,43053,$vararg_buffer24); break L1; } $117 = ((($115)) + 8|0); @@ -250100,10 +251736,10 @@ function _displayP4($pOp,$zTemp,$nTemp) { $120 = $119 & 1; $121 = ($120|0)!=(0); if ($121) { - HEAP32[$zP4>>2] = 40498; + HEAP32[$zP4>>2] = 40149; break L1; } else { - HEAP32[$zP4>>2] = 43402; + HEAP32[$zP4>>2] = 43059; break L1; } break; @@ -250117,7 +251753,7 @@ function _displayP4($pOp,$zTemp,$nTemp) { HEAP32[$pVtab>>2] = $126; $127 = HEAP32[$pVtab>>2]|0; HEAP32[$vararg_buffer27>>2] = $127; - _sqlite3XPrintf($x,43409,$vararg_buffer27); + _sqlite3XPrintf($x,43066,$vararg_buffer27); break; } case -15: { @@ -250141,18 +251777,18 @@ function _displayP4($pOp,$zTemp,$nTemp) { $138 = (($137) + ($136<<2)|0); $139 = HEAP32[$138>>2]|0; HEAP32[$vararg_buffer30>>2] = $139; - _sqlite3XPrintf($x,43417,$vararg_buffer30); + _sqlite3XPrintf($x,43074,$vararg_buffer30); $140 = HEAP32[$i>>2]|0; $141 = (($140) + 1)|0; HEAP32[$i>>2] = $141; } $142 = HEAP32[$1>>2]|0; HEAP8[$142>>0] = 91; - _sqlite3StrAccumAppend($x,43421,1); + _sqlite3StrAccumAppend($x,43078,1); break; } case -18: { - _sqlite3XPrintf($x,43423,$vararg_buffer33); + _sqlite3XPrintf($x,43080,$vararg_buffer33); break; } case -19: { @@ -250585,7 +252221,7 @@ function _btreeEndTransaction($p) { $12 = ($11|0)>(0); if ($12) { $13 = HEAP32[$db>>2]|0; - $14 = ((($13)) + 152|0); + $14 = ((($13)) + 156|0); $15 = HEAP32[$14>>2]|0; $16 = ($15|0)>(1); if ($16) { @@ -250830,7 +252466,7 @@ function _autoVacuumCommit($pBt) { $37 = HEAP32[$nOrig>>2]|0; $38 = ($36>>>0)>($37>>>0); if ($38) { - $39 = (_sqlite3CorruptError(59231)|0); + $39 = (_sqlite3CorruptError(59465)|0); HEAP32[$0>>2] = $39; $98 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($98|0); @@ -250920,7 +252556,7 @@ function _autoVacuumCommit($pBt) { break; } } - $24 = (_sqlite3CorruptError(59226)|0); + $24 = (_sqlite3CorruptError(59460)|0); HEAP32[$0>>2] = $24; $98 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($98|0); @@ -251250,7 +252886,7 @@ function _writeMasterJournal($pPager,$zMaster) { $143 = tempRet0; $144 = (_i64Add(($142|0),($143|0),8,0)|0); $145 = tempRet0; - $146 = (_sqlite3OsWrite($130,26758,8,$144,$145)|0); + $146 = (_sqlite3OsWrite($130,26509,8,$144,$145)|0); HEAP32[$rc>>2] = $146; $147 = (0)!=($146|0); if (!($147)) { @@ -252038,6 +253674,17 @@ function _pagerAddPageToRollbackJournal($pPg) { } return (0)|0; } +function _sqlite3MemJournalOpen($pJfd) { + $pJfd = $pJfd|0; + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $pJfd; + $1 = HEAP32[$0>>2]|0; + (_sqlite3JournalOpen(0,0,$1,0,-1)|0); + STACKTOP = sp;return; +} function _databaseIsUnmoved($pPager) { $pPager = $pPager|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; @@ -252333,7 +253980,7 @@ function _sqlite3PcacheFetchStress($pCache,$pgno,$ppPage) { } } } - $67 = HEAP32[(140)>>2]|0; + $67 = HEAP32[(144)>>2]|0; $68 = HEAP32[$1>>2]|0; $69 = ((($68)) + 44|0); $70 = HEAP32[$69>>2]|0; @@ -252356,7 +254003,7 @@ function _sqlite3PcachePagecount($pCache) { STACKTOP = STACKTOP + 16|0; $0 = sp; HEAP32[$0>>2] = $pCache; - $1 = HEAP32[(136)>>2]|0; + $1 = HEAP32[(140)>>2]|0; $2 = HEAP32[$0>>2]|0; $3 = ((($2)) + 44|0); $4 = HEAP32[$3>>2]|0; @@ -252470,7 +254117,7 @@ function _lockBtree($pBt) { HEAP32[$page1>>2] = $37; HEAP32[$rc>>2] = 26; $38 = HEAP32[$page1>>2]|0; - $39 = (_memcmp($38,43252,16)|0); + $39 = (_memcmp($38,42903,16)|0); $40 = ($39|0)!=(0); L16: do { if (!($40)) { @@ -252534,7 +254181,7 @@ function _lockBtree($pBt) { } while(0); $76 = HEAP32[$page1>>2]|0; $77 = ((($76)) + 21|0); - $78 = (_memcmp($77,45492,3)|0); + $78 = (_memcmp($77,45149,3)|0); $79 = ($78|0)!=(0); if (!($79)) { $80 = HEAP32[$page1>>2]|0; @@ -252612,7 +254259,7 @@ function _lockBtree($pBt) { $136 = HEAP32[$nPageFile>>2]|0; $137 = ($135|0)>($136|0); if ($137) { - $138 = (_sqlite3CorruptError(58503)|0); + $138 = (_sqlite3CorruptError(58737)|0); HEAP32[$rc>>2] = $138; break; } @@ -252923,6 +254570,31 @@ function _sqlite3WalBeginWriteTransaction($pWal) { $23 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($23|0); } +function _sqlite3ErrorFinish($db,$err_code) { + $db = $db|0; + $err_code = $err_code|0; + var $0 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $1 = sp; + HEAP32[$0>>2] = $db; + HEAP32[$1>>2] = $err_code; + $2 = HEAP32[$0>>2]|0; + $3 = ((($2)) + 240|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)!=(0|0); + if ($5) { + $6 = HEAP32[$0>>2]|0; + $7 = ((($6)) + 240|0); + $8 = HEAP32[$7>>2]|0; + _sqlite3ValueSetNull($8); + } + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$1>>2]|0; + _sqlite3SystemError($9,$10); + STACKTOP = sp;return; +} function _sqlite3ValueSetNull($p) { $p = $p|0; var $0 = 0, $1 = 0, label = 0, sp = 0; @@ -253028,12 +254700,12 @@ function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { HEAP32[$syncDir>>2] = $27; $29 = HEAP32[$2>>2]|0; HEAP32[$zName>>2] = $29; - $30 = HEAP32[7704>>2]|0; + $30 = HEAP32[7700>>2]|0; $31 = (_getpid()|0); $32 = ($30|0)!=($31|0); if ($32) { $33 = (_getpid()|0); - HEAP32[7704>>2] = $33; + HEAP32[7700>>2] = $33; _sqlite3_randomness(0,0); } $34 = HEAP32[$p>>2]|0; @@ -253170,9 +254842,9 @@ function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { $104 = HEAP32[$fd>>2]|0; $105 = ($104|0)<(0); if ($105) { - $106 = (_sqlite3CantopenError(33050)|0); + $106 = (_sqlite3CantopenError(33278)|0); $107 = HEAP32[$zName>>2]|0; - $108 = (_unixLogErrorAtLine($106,45571,$107,33050)|0); + $108 = (_unixLogErrorAtLine($106,45228,$107,33278)|0); HEAP32[$rc>>2] = $108; break; } @@ -253220,28 +254892,28 @@ function _unixOpen($pVfs,$zPath,$pFile,$flags,$pOutFlags) { $132 = HEAP32[$isDelete>>2]|0; $133 = ($132|0)!=(0); if ($133) { - $134 = HEAP32[(7464)>>2]|0; + $134 = HEAP32[(7460)>>2]|0; $135 = HEAP32[$zName>>2]|0; (FUNCTION_TABLE_ii[$134 & 255]($135)|0); } - $136 = HEAP32[$eType>>2]|0; - $137 = ($136|0)!=(256); - $138 = $137&1; - HEAP32[$noLock>>2] = $138; - $139 = HEAP32[$isDelete>>2]|0; - $140 = ($139|0)!=(0); - if ($140) { - $141 = HEAP32[$ctrlFlags>>2]|0; - $142 = $141 | 32; - HEAP32[$ctrlFlags>>2] = $142; - } - $143 = HEAP32[$isReadonly>>2]|0; - $144 = ($143|0)!=(0); - if ($144) { - $145 = HEAP32[$ctrlFlags>>2]|0; - $146 = $145 | 2; - HEAP32[$ctrlFlags>>2] = $146; + $136 = HEAP32[$isDelete>>2]|0; + $137 = ($136|0)!=(0); + if ($137) { + $138 = HEAP32[$ctrlFlags>>2]|0; + $139 = $138 | 32; + HEAP32[$ctrlFlags>>2] = $139; } + $140 = HEAP32[$isReadonly>>2]|0; + $141 = ($140|0)!=(0); + if ($141) { + $142 = HEAP32[$ctrlFlags>>2]|0; + $143 = $142 | 2; + HEAP32[$ctrlFlags>>2] = $143; + } + $144 = HEAP32[$eType>>2]|0; + $145 = ($144|0)!=(256); + $146 = $145&1; + HEAP32[$noLock>>2] = $146; $147 = HEAP32[$noLock>>2]|0; $148 = ($147|0)!=(0); if ($148) { @@ -253303,7 +254975,7 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { HEAP32[$2>>2] = $zPath; HEAP32[$3>>2] = $dirSync; HEAP32[$rc>>2] = 0; - $4 = HEAP32[(7464)>>2]|0; + $4 = HEAP32[(7460)>>2]|0; $5 = HEAP32[$2>>2]|0; $6 = (FUNCTION_TABLE_ii[$4 & 255]($5)|0); $7 = ($6|0)==(-1); @@ -253315,7 +254987,7 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { HEAP32[$rc>>2] = 5898; } else { $11 = HEAP32[$2>>2]|0; - $12 = (_unixLogErrorAtLine(2570,45668,$11,33178)|0); + $12 = (_unixLogErrorAtLine(2570,45325,$11,33404)|0); HEAP32[$rc>>2] = $12; } $13 = HEAP32[$rc>>2]|0; @@ -253328,7 +255000,7 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { $16 = ($15|0)!=(0); do { if ($16) { - $17 = HEAP32[(7476)>>2]|0; + $17 = HEAP32[(7472)>>2]|0; $18 = HEAP32[$2>>2]|0; $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,$fd)|0); HEAP32[$rc>>2] = $19; @@ -253343,11 +255015,11 @@ function _unixDelete($NotUsed,$zPath,$dirSync) { $24 = ($23|0)!=(0); if ($24) { $25 = HEAP32[$2>>2]|0; - $26 = (_unixLogErrorAtLine(1290,45902,$25,33188)|0); + $26 = (_unixLogErrorAtLine(1290,45559,$25,33414)|0); HEAP32[$rc>>2] = $26; } $27 = HEAP32[$fd>>2]|0; - _robust_close(0,$27,33190); + _robust_close(0,$27,33416); } } while(0); $28 = HEAP32[$rc>>2]|0; @@ -253376,7 +255048,7 @@ function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0); if ($5) { - $6 = HEAP32[(7320)>>2]|0; + $6 = HEAP32[(7316)>>2]|0; $7 = HEAP32[$1>>2]|0; $8 = (FUNCTION_TABLE_iii[$6 & 255]($7,$buf)|0); $9 = (0)==($8|0); @@ -253389,7 +255061,7 @@ function _unixAccess($NotUsed,$zPath,$flags,$pResOut) { HEAP32[$15>>2] = $14; STACKTOP = sp;return 0; } else { - $16 = HEAP32[(7296)>>2]|0; + $16 = HEAP32[(7292)>>2]|0; $17 = HEAP32[$1>>2]|0; $18 = (FUNCTION_TABLE_iii[$16 & 255]($17,6)|0); $19 = ($18|0)==(0); @@ -253436,7 +255108,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { HEAP32[$zDel>>2] = 0; while(1) { HEAP32[$bLink>>2] = 0; - $5 = HEAP32[(7596)>>2]|0; + $5 = HEAP32[(7592)>>2]|0; $6 = HEAP32[$zIn>>2]|0; $7 = (FUNCTION_TABLE_iii[$5 & 255]($6,$buf)|0); $8 = ($7|0)!=(0); @@ -253445,9 +255117,9 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(2); if ($11) { - $12 = (_sqlite3CantopenError(33302)|0); + $12 = (_sqlite3CantopenError(33528)|0); $13 = HEAP32[$zIn>>2]|0; - $14 = (_unixLogErrorAtLine($12,45756,$13,33302)|0); + $14 = (_unixLogErrorAtLine($12,45413,$13,33528)|0); HEAP32[$rc>>2] = $14; } } else { @@ -253478,7 +255150,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { HEAP32[$nLink>>2] = $29; $30 = ($29|0)>(100); if ($30) { - $31 = (_sqlite3CantopenError(33313)|0); + $31 = (_sqlite3CantopenError(33539)|0); HEAP32[$rc>>2] = $31; } } @@ -253486,7 +255158,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $33 = ($32|0)==(0); do { if ($33) { - $34 = HEAP32[(7584)>>2]|0; + $34 = HEAP32[(7580)>>2]|0; $35 = HEAP32[$zIn>>2]|0; $36 = HEAP32[$zDel>>2]|0; $37 = HEAP32[$2>>2]|0; @@ -253496,9 +255168,9 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $40 = HEAP32[$nByte>>2]|0; $41 = ($40|0)<(0); if ($41) { - $42 = (_sqlite3CantopenError(33319)|0); + $42 = (_sqlite3CantopenError(33545)|0); $43 = HEAP32[$zIn>>2]|0; - $44 = (_unixLogErrorAtLine($42,45747,$43,33319)|0); + $44 = (_unixLogErrorAtLine($42,45404,$43,33545)|0); HEAP32[$rc>>2] = $44; break; } @@ -253538,7 +255210,7 @@ function _unixFullPathname($pVfs,$zPath,$nOut,$zOut) { $66 = HEAP32[$2>>2]|0; $67 = ($65|0)>($66|0); if ($67) { - $68 = (_sqlite3CantopenError(33325)|0); + $68 = (_sqlite3CantopenError(33551)|0); HEAP32[$rc>>2] = $68; break; } else { @@ -253628,8 +255300,8 @@ function _unixRandomness($NotUsed,$nBuf,$zBuf) { $4 = HEAP32[$1>>2]|0; _memset(($3|0),0,($4|0))|0; $5 = (_getpid()|0); - HEAP32[7704>>2] = $5; - $6 = (_robust_open(45889,0,0)|0); + HEAP32[7700>>2] = $5; + $6 = (_robust_open(45546,0,0)|0); HEAP32[$fd>>2] = $6; $7 = HEAP32[$fd>>2]|0; $8 = ($7|0)<(0); @@ -253639,13 +255311,13 @@ function _unixRandomness($NotUsed,$nBuf,$zBuf) { ;HEAP8[$9>>0]=HEAP8[$t>>0]|0;HEAP8[$9+1>>0]=HEAP8[$t+1>>0]|0;HEAP8[$9+2>>0]=HEAP8[$t+2>>0]|0;HEAP8[$9+3>>0]=HEAP8[$t+3>>0]|0; $10 = HEAP32[$2>>2]|0; $11 = ((($10)) + 4|0); - ;HEAP8[$11>>0]=HEAP8[7704>>0]|0;HEAP8[$11+1>>0]=HEAP8[7704+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[7704+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[7704+3>>0]|0; + ;HEAP8[$11>>0]=HEAP8[7700>>0]|0;HEAP8[$11+1>>0]=HEAP8[7700+1>>0]|0;HEAP8[$11+2>>0]=HEAP8[7700+2>>0]|0;HEAP8[$11+3>>0]=HEAP8[7700+3>>0]|0; HEAP32[$1>>2] = 8; $23 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($23|0); } while(1) { - $12 = HEAP32[(7368)>>2]|0; + $12 = HEAP32[(7364)>>2]|0; $13 = HEAP32[$fd>>2]|0; $14 = HEAP32[$2>>2]|0; $15 = HEAP32[$1>>2]|0; @@ -253664,7 +255336,7 @@ function _unixRandomness($NotUsed,$nBuf,$zBuf) { } } $22 = HEAP32[$fd>>2]|0; - _robust_close(0,$22,33449); + _robust_close(0,$22,33675); $23 = HEAP32[$1>>2]|0; STACKTOP = sp;return ($23|0); } @@ -253727,7 +255399,7 @@ function _unixGetLastError($NotUsed,$NotUsed2,$NotUsed3) { $NotUsed = $NotUsed|0; $NotUsed2 = $NotUsed2|0; $NotUsed3 = $NotUsed3|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -253736,7 +255408,9 @@ function _unixGetLastError($NotUsed,$NotUsed2,$NotUsed3) { HEAP32[$0>>2] = $NotUsed; HEAP32[$1>>2] = $NotUsed2; HEAP32[$2>>2] = $NotUsed3; - STACKTOP = sp;return 0; + $3 = (___errno_location()|0); + $4 = HEAP32[$3>>2]|0; + STACKTOP = sp;return ($4|0); } function _unixCurrentTimeInt64($NotUsed,$piNow) { $NotUsed = $NotUsed|0; @@ -253807,17 +255481,17 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { break; } $7 = HEAP32[$i>>2]|0; - $8 = (7268 + (($7*12)|0)|0); + $8 = (7264 + (($7*12)|0)|0); $9 = ((($8)) + 8|0); $10 = HEAP32[$9>>2]|0; $11 = ($10|0)!=(0|0); if ($11) { $12 = HEAP32[$i>>2]|0; - $13 = (7268 + (($12*12)|0)|0); + $13 = (7264 + (($12*12)|0)|0); $14 = ((($13)) + 8|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$i>>2]|0; - $17 = (7268 + (($16*12)|0)|0); + $17 = (7264 + (($16*12)|0)|0); $18 = ((($17)) + 4|0); HEAP32[$18>>2] = $15; } @@ -253838,7 +255512,7 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { } $23 = HEAP32[$1>>2]|0; $24 = HEAP32[$i>>2]|0; - $25 = (7268 + (($24*12)|0)|0); + $25 = (7264 + (($24*12)|0)|0); $26 = HEAP32[$25>>2]|0; $27 = (_strcmp($23,$26)|0); $28 = ($27|0)==(0); @@ -253853,17 +255527,17 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { $52 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($52|0); } - $30 = (7268 + (($29*12)|0)|0); + $30 = (7264 + (($29*12)|0)|0); $31 = ((($30)) + 8|0); $32 = HEAP32[$31>>2]|0; $33 = ($32|0)==(0|0); if ($33) { $34 = HEAP32[$i>>2]|0; - $35 = (7268 + (($34*12)|0)|0); + $35 = (7264 + (($34*12)|0)|0); $36 = ((($35)) + 4|0); $37 = HEAP32[$36>>2]|0; $38 = HEAP32[$i>>2]|0; - $39 = (7268 + (($38*12)|0)|0); + $39 = (7264 + (($38*12)|0)|0); $40 = ((($39)) + 8|0); HEAP32[$40>>2] = $37; } @@ -253872,14 +255546,14 @@ function _unixSetSystemCall($pNotUsed,$zName,$pNewFunc) { $42 = ($41|0)==(0|0); if ($42) { $43 = HEAP32[$i>>2]|0; - $44 = (7268 + (($43*12)|0)|0); + $44 = (7264 + (($43*12)|0)|0); $45 = ((($44)) + 8|0); $46 = HEAP32[$45>>2]|0; HEAP32[$2>>2] = $46; } $47 = HEAP32[$2>>2]|0; $48 = HEAP32[$i>>2]|0; - $49 = (7268 + (($48*12)|0)|0); + $49 = (7264 + (($48*12)|0)|0); $50 = ((($49)) + 4|0); HEAP32[$50>>2] = $47; $52 = HEAP32[$rc>>2]|0; @@ -253907,7 +255581,7 @@ function _unixGetSystemCall($pNotUsed,$zName) { } $5 = HEAP32[$2>>2]|0; $6 = HEAP32[$i>>2]|0; - $7 = (7268 + (($6*12)|0)|0); + $7 = (7264 + (($6*12)|0)|0); $8 = HEAP32[$7>>2]|0; $9 = (_strcmp($5,$8)|0); $10 = ($9|0)==(0); @@ -253920,7 +255594,7 @@ function _unixGetSystemCall($pNotUsed,$zName) { HEAP32[$i>>2] = $15; } if ((label|0) == 4) { - $12 = (7268 + (($11*12)|0)|0); + $12 = (7264 + (($11*12)|0)|0); $13 = ((($12)) + 4|0); $14 = HEAP32[$13>>2]|0; HEAP32[$0>>2] = $14; @@ -253961,7 +255635,7 @@ function _unixNextSystemCall($p,$zName) { } $7 = HEAP32[$2>>2]|0; $8 = HEAP32[$i>>2]|0; - $9 = (7268 + (($8*12)|0)|0); + $9 = (7264 + (($8*12)|0)|0); $10 = HEAP32[$9>>2]|0; $11 = (_strcmp($7,$10)|0); $12 = ($11|0)==(0); @@ -253985,7 +255659,7 @@ function _unixNextSystemCall($p,$zName) { break; } $19 = HEAP32[$i>>2]|0; - $20 = (7268 + (($19*12)|0)|0); + $20 = (7264 + (($19*12)|0)|0); $21 = ((($20)) + 4|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)!=(0|0); @@ -253998,7 +255672,7 @@ function _unixNextSystemCall($p,$zName) { HEAP32[$i>>2] = $27; } if ((label|0) == 9) { - $25 = (7268 + (($24*12)|0)|0); + $25 = (7264 + (($24*12)|0)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$0>>2] = $26; $28 = HEAP32[$0>>2]|0; @@ -254021,7 +255695,7 @@ function _dotlockIoFinderImpl($z,$p) { $1 = sp; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - STACKTOP = sp;return (7192|0); + STACKTOP = sp;return (7188|0); } function _dotlockClose($id) { $id = $id|0; @@ -254302,7 +255976,7 @@ function _unixTruncate($id,$0,$1) { $62 = HEAP32[$pFile>>2]|0; $63 = ((($62)) + 32|0); $64 = HEAP32[$63>>2]|0; - $65 = (_unixLogErrorAtLine(1546,45594,$64,30893)|0); + $65 = (_unixLogErrorAtLine(1546,45251,$64,31121)|0); HEAP32[$2>>2] = $65; $66 = HEAP32[$2>>2]|0; STACKTOP = sp;return ($66|0); @@ -254358,7 +256032,7 @@ function _unixSync($id,$flags) { $21 = HEAP32[$pFile>>2]|0; $22 = ((($21)) + 32|0); $23 = HEAP32[$22>>2]|0; - $24 = (_unixLogErrorAtLine(1034,45878,$23,30848)|0); + $24 = (_unixLogErrorAtLine(1034,45535,$23,31076)|0); HEAP32[$0>>2] = $24; $47 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($47|0); @@ -254369,7 +256043,7 @@ function _unixSync($id,$flags) { $28 = $27 & 8; $29 = ($28|0)!=(0); if ($29) { - $30 = HEAP32[(7476)>>2]|0; + $30 = HEAP32[(7472)>>2]|0; $31 = HEAP32[$pFile>>2]|0; $32 = ((($31)) + 32|0); $33 = HEAP32[$32>>2]|0; @@ -254382,7 +256056,7 @@ function _unixSync($id,$flags) { (_full_fsync($37,0,0)|0); $38 = HEAP32[$pFile>>2]|0; $39 = HEAP32[$dirfd>>2]|0; - _robust_close($38,$39,30862); + _robust_close($38,$39,31090); } else { HEAP32[$rc>>2] = 0; } @@ -254414,7 +256088,7 @@ function _unixFileSize($id,$pSize) { $buf = sp; HEAP32[$1>>2] = $id; HEAP32[$2>>2] = $pSize; - $3 = HEAP32[(7332)>>2]|0; + $3 = HEAP32[(7328)>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = ((($4)) + 12|0); $6 = HEAP32[$5>>2]|0; @@ -254506,7 +256180,7 @@ function _dotlockLock($id,$eFileLock) { $38 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($38|0); } - $17 = HEAP32[(7488)>>2]|0; + $17 = HEAP32[(7484)>>2]|0; $18 = HEAP32[$zLockFile>>2]|0; $19 = (FUNCTION_TABLE_iii[$17 & 255]($18,511)|0); HEAP32[$rc>>2] = $19; @@ -254590,7 +256264,7 @@ function _dotlockUnlock($id,$eFileLock) { $31 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($31|0); } - $17 = HEAP32[(7500)>>2]|0; + $17 = HEAP32[(7496)>>2]|0; $18 = HEAP32[$zLockFile>>2]|0; $19 = (FUNCTION_TABLE_ii[$17 & 255]($18)|0); HEAP32[$rc>>2] = $19; @@ -254639,7 +256313,7 @@ function _dotlockCheckReservedLock($id,$pResOut) { HEAP32[$reserved>>2] = 0; $2 = HEAP32[$0>>2]|0; HEAP32[$pFile>>2] = $2; - $3 = HEAP32[(7296)>>2]|0; + $3 = HEAP32[(7292)>>2]|0; $4 = HEAP32[$pFile>>2]|0; $5 = ((($4)) + 24|0); $6 = HEAP32[$5>>2]|0; @@ -254743,7 +256417,7 @@ function _unixFileControl($id,$op,$pArg) { $36 = ((($35)) + 16|0); $37 = HEAP32[$36>>2]|0; HEAP32[$vararg_buffer>>2] = $37; - $38 = (_sqlite3_mprintf(19255,$vararg_buffer)|0); + $38 = (_sqlite3_mprintf(18999,$vararg_buffer)|0); $39 = HEAP32[$3>>2]|0; HEAP32[$39>>2] = $38; HEAP32[$0>>2] = 0; @@ -255206,7 +256880,7 @@ function _unixShmUnmap($fd,$deleteFlag) { $39 = HEAP32[$38>>2]|0; $40 = ($39|0)>=(0); if ($40) { - $41 = HEAP32[(7464)>>2]|0; + $41 = HEAP32[(7460)>>2]|0; $42 = HEAP32[$pShmNode>>2]|0; $43 = ((($42)) + 8|0); $44 = HEAP32[$43>>2]|0; @@ -255322,7 +256996,7 @@ function _unixShmPurge($pFd) { $21 = HEAP32[$20>>2]|0; $22 = ($21|0)>=(0); if ($22) { - $23 = HEAP32[(7548)>>2]|0; + $23 = HEAP32[(7544)>>2]|0; $24 = HEAP32[$i>>2]|0; $25 = HEAP32[$p>>2]|0; $26 = ((($25)) + 24|0); @@ -255359,7 +257033,7 @@ function _unixShmPurge($pFd) { $49 = HEAP32[$p>>2]|0; $50 = ((($49)) + 12|0); $51 = HEAP32[$50>>2]|0; - _robust_close($48,$51,31469); + _robust_close($48,$51,31697); $52 = HEAP32[$p>>2]|0; $53 = ((($52)) + 12|0); HEAP32[$53>>2] = -1; @@ -255385,7 +257059,7 @@ function _unixShmRegionPerMap() { $shmsz = sp + 4|0; $pgsz = sp; HEAP32[$shmsz>>2] = 32768; - $1 = HEAP32[(7572)>>2]|0; + $1 = HEAP32[(7568)>>2]|0; $2 = (FUNCTION_TABLE_i[$1 & 255]()|0); HEAP32[$pgsz>>2] = $2; $3 = HEAP32[$pgsz>>2]|0; @@ -255418,7 +257092,7 @@ function _robust_close($pFile,$h,$lineno) { HEAP32[$0>>2] = $pFile; HEAP32[$1>>2] = $h; HEAP32[$2>>2] = $lineno; - $3 = HEAP32[(7284)>>2]|0; + $3 = HEAP32[(7280)>>2]|0; $4 = HEAP32[$1>>2]|0; $5 = (FUNCTION_TABLE_ii[$3 & 255]($4)|0); $6 = ($5|0)!=(0); @@ -255436,7 +257110,7 @@ function _robust_close($pFile,$h,$lineno) { $13 = 0; } $12 = HEAP32[$2>>2]|0; - (_unixLogErrorAtLine(4106,45534,$13,$12)|0); + (_unixLogErrorAtLine(4106,45191,$13,$12)|0); STACKTOP = sp;return; } function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { @@ -255468,7 +257142,7 @@ function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { $8 = HEAP32[$2>>2]|0; $9 = ($8|0)==(0|0); if ($9) { - HEAP32[$2>>2] = 19266; + HEAP32[$2>>2] = 19010; } $10 = HEAP32[$0>>2]|0; $11 = HEAP32[$3>>2]|0; @@ -255485,7 +257159,7 @@ function _unixLogErrorAtLine($errcode,$zFunc,$zPath,$iLine) { HEAP32[$vararg_ptr3>>2] = $14; $vararg_ptr4 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr4>>2] = $15; - _sqlite3_log($10,45540,$vararg_buffer); + _sqlite3_log($10,45197,$vararg_buffer); $16 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($16|0); } @@ -255529,7 +257203,7 @@ function _openDirectory($zFilename,$pFd) { HEAP32[$fd>>2] = -1; $3 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - (_sqlite3_snprintf(512,$zDirname,19255,$vararg_buffer)|0); + (_sqlite3_snprintf(512,$zDirname,18999,$vararg_buffer)|0); $4 = (_strlen($zDirname)|0); HEAP32[$ii>>2] = $4; while(1) { @@ -255578,8 +257252,8 @@ function _openDirectory($zFilename,$pFd) { $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); } else { - $27 = (_sqlite3CantopenError(30807)|0); - $28 = (_unixLogErrorAtLine($27,45675,$zDirname,30807)|0); + $27 = (_sqlite3CantopenError(31035)|0); + $28 = (_unixLogErrorAtLine($27,45332,$zDirname,31035)|0); HEAP32[$0>>2] = $28; $29 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($29|0); @@ -255617,7 +257291,7 @@ function _robust_open($z,$f,$m) { $6 = $4 ? $5 : 420; HEAP32[$m2>>2] = $6; while(1) { - $7 = HEAP32[(7272)>>2]|0; + $7 = HEAP32[(7268)>>2]|0; $8 = HEAP32[$0>>2]|0; $9 = HEAP32[$1>>2]|0; $10 = $9 | 524288; @@ -255641,7 +257315,7 @@ function _robust_open($z,$f,$m) { if ($19) { break; } - $20 = HEAP32[(7284)>>2]|0; + $20 = HEAP32[(7280)>>2]|0; $21 = HEAP32[$fd>>2]|0; (FUNCTION_TABLE_ii[$20 & 255]($21)|0); $22 = HEAP32[$0>>2]|0; @@ -255649,12 +257323,12 @@ function _robust_open($z,$f,$m) { HEAP32[$vararg_buffer>>2] = $22; $vararg_ptr2 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr2>>2] = $23; - _sqlite3_log(28,45762,$vararg_buffer); + _sqlite3_log(28,45419,$vararg_buffer); HEAP32[$fd>>2] = -1; - $24 = HEAP32[(7272)>>2]|0; + $24 = HEAP32[(7268)>>2]|0; $25 = HEAP32[$1>>2]|0; $26 = HEAP32[$2>>2]|0; - $27 = (FUNCTION_TABLE_iiii[$24 & 255](45805,$25,$26)|0); + $27 = (FUNCTION_TABLE_iiii[$24 & 255](45462,$25,$26)|0); $28 = ($27|0)<(0); if ($28) { break; @@ -255669,7 +257343,7 @@ function _robust_open($z,$f,$m) { $48 = HEAP32[$fd>>2]|0; STACKTOP = sp;return ($48|0); } - $33 = HEAP32[(7332)>>2]|0; + $33 = HEAP32[(7328)>>2]|0; $34 = HEAP32[$fd>>2]|0; $35 = (FUNCTION_TABLE_iii[$33 & 255]($34,$statbuf)|0); $36 = ($35|0)==(0); @@ -255693,7 +257367,7 @@ function _robust_open($z,$f,$m) { $48 = HEAP32[$fd>>2]|0; STACKTOP = sp;return ($48|0); } - $45 = HEAP32[(7440)>>2]|0; + $45 = HEAP32[(7436)>>2]|0; $46 = HEAP32[$fd>>2]|0; $47 = HEAP32[$2>>2]|0; (FUNCTION_TABLE_iii[$45 & 255]($46,$47)|0); @@ -255748,7 +257422,7 @@ function _unixShmSystemLock($pFile,$lockType,$ofst,$n) { $18 = HEAP32[$3>>2]|0; $19 = ((($f)) + 8|0); HEAP32[$19>>2] = $18; - $20 = HEAP32[(7356)>>2]|0; + $20 = HEAP32[(7352)>>2]|0; $21 = HEAP32[$pShmNode>>2]|0; $22 = ((($21)) + 12|0); $23 = HEAP32[$22>>2]|0; @@ -255798,7 +257472,7 @@ function _fcntlSizeHint($pFile,$0,$1) { $12 = ($11|0)>(0); L1: do { if ($12) { - $13 = HEAP32[(7332)>>2]|0; + $13 = HEAP32[(7328)>>2]|0; $14 = HEAP32[$3>>2]|0; $15 = ((($14)) + 12|0); $16 = HEAP32[$15>>2]|0; @@ -255949,7 +257623,7 @@ function _fcntlSizeHint($pFile,$0,$1) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = (_seekAndWrite($137,$140,$143,19266,1)|0); + $144 = (_seekAndWrite($137,$140,$143,19010,1)|0); HEAP32[$nWrite>>2] = $144; $145 = HEAP32[$nWrite>>2]|0; $146 = ($145|0)!=(1); @@ -256087,7 +257761,7 @@ function _unixGetTempname($nBuf,$zBuf) { HEAP32[$20>>2] = $16; $vararg_ptr2 = ((($vararg_buffer)) + 16|0); HEAP32[$vararg_ptr2>>2] = 0; - (_sqlite3_snprintf($8,$9,45815,$vararg_buffer)|0); + (_sqlite3_snprintf($8,$9,45472,$vararg_buffer)|0); $21 = HEAP32[$1>>2]|0; $22 = (($21) - 2)|0; $23 = HEAP32[$2>>2]|0; @@ -256107,7 +257781,7 @@ function _unixGetTempname($nBuf,$zBuf) { label = 4; break; } - $31 = HEAP32[(7296)>>2]|0; + $31 = HEAP32[(7292)>>2]|0; $32 = HEAP32[$2>>2]|0; $33 = (FUNCTION_TABLE_iii[$31 & 255]($32,0)|0); $34 = ($33|0)==(0); @@ -256146,7 +257820,7 @@ function _fileHasMoved($pFile) { $19 = $20&1; STACKTOP = sp;return ($19|0); } - $5 = HEAP32[(7320)>>2]|0; + $5 = HEAP32[(7316)>>2]|0; $6 = HEAP32[$0>>2]|0; $7 = ((($6)) + 32|0); $8 = HEAP32[$7>>2]|0; @@ -256179,17 +257853,17 @@ function _unixTempFileDir() { $zDir = sp; $0 = HEAP32[964>>2]|0; HEAP32[$zDir>>2] = $0; - $1 = HEAP32[7604>>2]|0; + $1 = HEAP32[7600>>2]|0; $2 = ($1|0)!=(0|0); if (!($2)) { - $3 = (_getenv((45832|0))|0); - HEAP32[7604>>2] = $3; + $3 = (_getenv((45489|0))|0); + HEAP32[7600>>2] = $3; } - $4 = HEAP32[(7608)>>2]|0; + $4 = HEAP32[(7604)>>2]|0; $5 = ($4|0)!=(0|0); if (!($5)) { - $6 = (_getenv((45846|0))|0); - HEAP32[(7608)>>2] = $6; + $6 = (_getenv((45503|0))|0); + HEAP32[(7604)>>2] = $6; } HEAP32[$i>>2] = 0; while(1) { @@ -256202,7 +257876,7 @@ function _unixTempFileDir() { $9 = HEAP32[$zDir>>2]|0; $10 = ($9|0)==(0|0); if (!($10)) { - $11 = HEAP32[(7320)>>2]|0; + $11 = HEAP32[(7316)>>2]|0; $12 = HEAP32[$zDir>>2]|0; $13 = (FUNCTION_TABLE_iii[$11 & 255]($12,$buf)|0); $14 = ($13|0)!=(0); @@ -256212,7 +257886,7 @@ function _unixTempFileDir() { $17 = $16 & 61440; $18 = ($17|0)==(16384); if ($18) { - $19 = HEAP32[(7296)>>2]|0; + $19 = HEAP32[(7292)>>2]|0; $20 = HEAP32[$zDir>>2]|0; $21 = (FUNCTION_TABLE_iii[$19 & 255]($20,7)|0); $22 = ($21|0)!=(0); @@ -256226,7 +257900,7 @@ function _unixTempFileDir() { $23 = HEAP32[$i>>2]|0; $24 = (($23) + 1)|0; HEAP32[$i>>2] = $24; - $25 = (7604 + ($23<<2)|0); + $25 = (7600 + ($23<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$zDir>>2] = $26; } @@ -256336,7 +258010,7 @@ function _seekAndWriteFd($fd,$0,$1,$pBuf,$nBuf,$piErrno) { label = 3; break; } - $34 = HEAP32[(7404)>>2]|0; + $34 = HEAP32[(7400)>>2]|0; $35 = HEAP32[$2>>2]|0; $36 = HEAP32[$4>>2]|0; $37 = HEAP32[$5>>2]|0; @@ -256454,7 +258128,7 @@ function _robust_ftruncate($h,$0,$1) { $7 = $6; HEAP32[$7>>2] = $1; while(1) { - $8 = HEAP32[(7344)>>2]|0; + $8 = HEAP32[(7340)>>2]|0; $9 = HEAP32[$2>>2]|0; $10 = $3; $11 = $10; @@ -256545,7 +258219,7 @@ function _seekAndRead($id,$0,$1,$pBuf,$cnt) { label = 3; break; } - $37 = HEAP32[(7368)>>2]|0; + $37 = HEAP32[(7364)>>2]|0; $38 = HEAP32[$3>>2]|0; $39 = ((($38)) + 12|0); $40 = HEAP32[$39>>2]|0; @@ -256654,7 +258328,7 @@ function _closeUnixFile($id) { $7 = HEAP32[$pFile>>2]|0; $8 = ((($7)) + 12|0); $9 = HEAP32[$8>>2]|0; - _robust_close($6,$9,29216); + _robust_close($6,$9,29444); $10 = HEAP32[$pFile>>2]|0; $11 = ((($10)) + 12|0); HEAP32[$11>>2] = -1; @@ -256677,7 +258351,7 @@ function _nolockIoFinderImpl($z,$p) { $1 = sp; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - STACKTOP = sp;return (7628|0); + STACKTOP = sp;return (7624|0); } function _nolockClose($id) { $id = $id|0; @@ -256757,7 +258431,7 @@ function _mkFullPathname($zPath,$zOut,$nOut) { $9 = ($8|0)!=(47); do { if ($9) { - $10 = HEAP32[(7308)>>2]|0; + $10 = HEAP32[(7304)>>2]|0; $11 = HEAP32[$2>>2]|0; $12 = HEAP32[$3>>2]|0; $13 = (($12) - 2)|0; @@ -256775,9 +258449,9 @@ function _mkFullPathname($zPath,$zOut,$nOut) { HEAP8[$24>>0] = 47; break; } - $16 = (_sqlite3CantopenError(33245)|0); + $16 = (_sqlite3CantopenError(33471)|0); $17 = HEAP32[$1>>2]|0; - $18 = (_unixLogErrorAtLine($16,45576,$17,33245)|0); + $18 = (_unixLogErrorAtLine($16,45233,$17,33471)|0); HEAP32[$0>>2] = $18; $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); @@ -256794,7 +258468,7 @@ function _mkFullPathname($zPath,$zOut,$nOut) { $32 = HEAP32[$2>>2]|0; $33 = (($32) + ($31)|0); HEAP8[$33>>0] = 0; - $34 = (_sqlite3CantopenError(33254)|0); + $34 = (_sqlite3CantopenError(33480)|0); HEAP32[$0>>2] = $34; $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); @@ -256807,7 +258481,7 @@ function _mkFullPathname($zPath,$zOut,$nOut) { $40 = (($39) + ($38)|0); $41 = HEAP32[$1>>2]|0; HEAP32[$vararg_buffer>>2] = $41; - (_sqlite3_snprintf($37,$40,19255,$vararg_buffer)|0); + (_sqlite3_snprintf($37,$40,18999,$vararg_buffer)|0); HEAP32[$0>>2] = 0; $42 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($42|0); @@ -256831,7 +258505,7 @@ function _findReusableFd($zPath,$flags) { HEAP32[$0>>2] = $zPath; HEAP32[$1>>2] = $flags; HEAP32[$pUnused>>2] = 0; - $2 = HEAP32[(7320)>>2]|0; + $2 = HEAP32[(7316)>>2]|0; $3 = HEAP32[$0>>2]|0; $4 = (FUNCTION_TABLE_iii[$2 & 255]($3,$sStat)|0); $5 = (0)==($4|0); @@ -256840,7 +258514,7 @@ function _findReusableFd($zPath,$flags) { STACKTOP = sp;return ($45|0); } _unixEnterMutex(); - $6 = HEAP32[7784>>2]|0; + $6 = HEAP32[7780>>2]|0; HEAP32[$pInode>>2] = $6; while(1) { $7 = HEAP32[$pInode>>2]|0; @@ -256987,7 +258661,7 @@ function _findCreateFileMode($zPath,$flags,$pMode,$pUid,$pGid) { $24 = HEAP32[$nDb>>2]|0; $25 = (($zDb) + ($24)|0); HEAP8[$25>>0] = 0; - $26 = HEAP32[(7320)>>2]|0; + $26 = HEAP32[(7316)>>2]|0; $27 = (FUNCTION_TABLE_iii[$26 & 255]($zDb,$sStat)|0); $28 = (0)==($27|0); if ($28) { @@ -257026,14 +258700,14 @@ function _robustFchown($fd,$uid,$gid) { HEAP32[$0>>2] = $fd; HEAP32[$1>>2] = $uid; HEAP32[$2>>2] = $gid; - $3 = HEAP32[(7524)>>2]|0; + $3 = HEAP32[(7520)>>2]|0; $4 = (FUNCTION_TABLE_i[$3 & 255]()|0); $5 = ($4|0)!=(0); if ($5) { $11 = 0; STACKTOP = sp;return ($11|0); } - $6 = HEAP32[(7512)>>2]|0; + $6 = HEAP32[(7508)>>2]|0; $7 = HEAP32[$0>>2]|0; $8 = HEAP32[$1>>2]|0; $9 = HEAP32[$2>>2]|0; @@ -257096,7 +258770,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $22 = ($21|0)!=(0); $23 = HEAP32[$3>>2]|0; $24 = $22 ? $23 : 0; - $25 = (_sqlite3_uri_boolean($24,45908,1)|0); + $25 = (_sqlite3_uri_boolean($24,45565,1)|0); $26 = ($25|0)!=(0); if ($26) { $27 = HEAP32[$pNew>>2]|0; @@ -257110,7 +258784,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $33 = HEAP32[$0>>2]|0; $34 = ((($33)) + 16|0); $35 = HEAP32[$34>>2]|0; - $36 = (_strcmp($35,45524)|0); + $36 = (_strcmp($35,45181)|0); $37 = ($36|0)==(0); if ($37) { $38 = HEAP32[$pNew>>2]|0; @@ -257125,7 +258799,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $45 = $44 & 128; $46 = ($45|0)!=(0); if ($46) { - HEAP32[$pLockingStyle>>2] = 7628; + HEAP32[$pLockingStyle>>2] = 7624; } else { $47 = HEAP32[$0>>2]|0; $48 = ((($47)) + 20|0); @@ -257137,7 +258811,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { HEAP32[$pLockingStyle>>2] = $53; } $54 = HEAP32[$pLockingStyle>>2]|0; - $55 = ($54|0)==(7708|0); + $55 = ($54|0)==(7704|0); if ($55) { _unixEnterMutex(); $56 = HEAP32[$pNew>>2]|0; @@ -257150,13 +258824,13 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { if ($61) { $62 = HEAP32[$pNew>>2]|0; $63 = HEAP32[$1>>2]|0; - _robust_close($62,$63,32585); + _robust_close($62,$63,32813); HEAP32[$1>>2] = -1; } _unixLeaveMutex(); } else { $64 = HEAP32[$pLockingStyle>>2]|0; - $65 = ($64|0)==(7192|0); + $65 = ($64|0)==(7188|0); if ($65) { $66 = HEAP32[$3>>2]|0; $67 = (_strlen($66)|0); @@ -257176,7 +258850,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { $76 = HEAP32[$zLockFile>>2]|0; $77 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $77; - (_sqlite3_snprintf($75,$76,45913,$vararg_buffer)|0); + (_sqlite3_snprintf($75,$76,45570,$vararg_buffer)|0); } $78 = HEAP32[$zLockFile>>2]|0; $79 = HEAP32[$pNew>>2]|0; @@ -257205,7 +258879,7 @@ function _fillInUnixFile($pVfs,$h,$pId,$zFilename,$ctrlFlags) { } $86 = HEAP32[$pNew>>2]|0; $87 = HEAP32[$1>>2]|0; - _robust_close($86,$87,32670); + _robust_close($86,$87,32898); $91 = HEAP32[$rc>>2]|0; STACKTOP = sp;return ($91|0); } @@ -257233,7 +258907,7 @@ function _findInodeInfo($pFile,$ppInode) { $4 = ((($3)) + 12|0); $5 = HEAP32[$4>>2]|0; HEAP32[$fd>>2] = $5; - $6 = HEAP32[(7332)>>2]|0; + $6 = HEAP32[(7328)>>2]|0; $7 = HEAP32[$fd>>2]|0; $8 = (FUNCTION_TABLE_iii[$6 & 255]($7,$statbuf)|0); HEAP32[$rc>>2] = $8; @@ -257265,7 +258939,7 @@ function _findInodeInfo($pFile,$ppInode) { $20 = HEAP32[$19>>2]|0; $21 = ((($fileId)) + 4|0); HEAP32[$21>>2] = $20; - $22 = HEAP32[7784>>2]|0; + $22 = HEAP32[7780>>2]|0; HEAP32[$pInode>>2] = $22; while(1) { $23 = HEAP32[$pInode>>2]|0; @@ -257304,23 +258978,23 @@ function _findInodeInfo($pFile,$ppInode) { $37 = HEAP32[$pInode>>2]|0; $38 = ((($37)) + 16|0); HEAP32[$38>>2] = 1; - $39 = HEAP32[7784>>2]|0; + $39 = HEAP32[7780>>2]|0; $40 = HEAP32[$pInode>>2]|0; $41 = ((($40)) + 32|0); HEAP32[$41>>2] = $39; $42 = HEAP32[$pInode>>2]|0; $43 = ((($42)) + 36|0); HEAP32[$43>>2] = 0; - $44 = HEAP32[7784>>2]|0; + $44 = HEAP32[7780>>2]|0; $45 = ($44|0)!=(0|0); if ($45) { $46 = HEAP32[$pInode>>2]|0; - $47 = HEAP32[7784>>2]|0; + $47 = HEAP32[7780>>2]|0; $48 = ((($47)) + 36|0); HEAP32[$48>>2] = $46; } $49 = HEAP32[$pInode>>2]|0; - HEAP32[7784>>2] = $49; + HEAP32[7780>>2] = $49; } else { $50 = HEAP32[$pInode>>2]|0; $51 = ((($50)) + 16|0); @@ -257350,40 +259024,41 @@ function _verifyDbFile($pFile) { $buf = sp + 32|0; $rc = sp + 28|0; HEAP32[$0>>2] = $pFile; - $1 = HEAP32[(7332)>>2]|0; - $2 = HEAP32[$0>>2]|0; - $3 = ((($2)) + 12|0); - $4 = HEAP32[$3>>2]|0; - $5 = (FUNCTION_TABLE_iii[$1 & 255]($4,$buf)|0); - HEAP32[$rc>>2] = $5; - $6 = HEAP32[$rc>>2]|0; - $7 = ($6|0)!=(0); - if ($7) { - $8 = HEAP32[$0>>2]|0; - $9 = ((($8)) + 32|0); - $10 = HEAP32[$9>>2]|0; - HEAP32[$vararg_buffer>>2] = $10; - _sqlite3_log(28,45921,$vararg_buffer); + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 18|0); + $3 = HEAP16[$2>>1]|0; + $4 = $3&65535; + $5 = $4 & 128; + $6 = ($5|0)!=(0); + if ($6) { STACKTOP = sp;return; } - $11 = ((($buf)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); + $7 = HEAP32[(7328)>>2]|0; + $8 = HEAP32[$0>>2]|0; + $9 = ((($8)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (FUNCTION_TABLE_iii[$7 & 255]($10,$buf)|0); + HEAP32[$rc>>2] = $11; + $12 = HEAP32[$rc>>2]|0; + $13 = ($12|0)!=(0); if ($13) { $14 = HEAP32[$0>>2]|0; - $15 = ((($14)) + 18|0); - $16 = HEAP16[$15>>1]|0; - $17 = $16&65535; - $18 = $17 & 32; - $19 = ($18|0)==(0); - if ($19) { - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 32|0); - $22 = HEAP32[$21>>2]|0; - HEAP32[$vararg_buffer1>>2] = $22; - _sqlite3_log(28,45945,$vararg_buffer1); - STACKTOP = sp;return; - } + $15 = ((($14)) + 32|0); + $16 = HEAP32[$15>>2]|0; + HEAP32[$vararg_buffer>>2] = $16; + _sqlite3_log(28,45578,$vararg_buffer); + STACKTOP = sp;return; + } + $17 = ((($buf)) + 16|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 32|0); + $22 = HEAP32[$21>>2]|0; + HEAP32[$vararg_buffer1>>2] = $22; + _sqlite3_log(28,45602,$vararg_buffer1); + STACKTOP = sp;return; } $23 = ((($buf)) + 16|0); $24 = HEAP32[$23>>2]|0; @@ -257393,7 +259068,7 @@ function _verifyDbFile($pFile) { $27 = ((($26)) + 32|0); $28 = HEAP32[$27>>2]|0; HEAP32[$vararg_buffer4>>2] = $28; - _sqlite3_log(28,45974,$vararg_buffer4); + _sqlite3_log(28,45631,$vararg_buffer4); STACKTOP = sp;return; } $29 = (_fileHasMoved($26)|0); @@ -257405,7 +259080,7 @@ function _verifyDbFile($pFile) { $32 = ((($31)) + 32|0); $33 = HEAP32[$32>>2]|0; HEAP32[$vararg_buffer7>>2] = $33; - _sqlite3_log(28,46001,$vararg_buffer7); + _sqlite3_log(28,45658,$vararg_buffer7); STACKTOP = sp;return; } function _unixClose($id) { @@ -257823,7 +259498,7 @@ function _unixCheckReservedLock($id,$pResOut) { $22 = ((($lock)) + 8|0); HEAP32[$22>>2] = 1; HEAP16[$lock>>1] = 1; - $23 = HEAP32[(7356)>>2]|0; + $23 = HEAP32[(7352)>>2]|0; $24 = HEAP32[$pFile>>2]|0; $25 = ((($24)) + 12|0); $26 = HEAP32[$25>>2]|0; @@ -257958,7 +259633,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $44 = ($43|0)>=(0); L8: do { if ($44) { - $45 = HEAP32[(7332)>>2]|0; + $45 = HEAP32[(7328)>>2]|0; $46 = HEAP32[$pShmNode>>2]|0; $47 = ((($46)) + 12|0); $48 = HEAP32[$47>>2]|0; @@ -258000,7 +259675,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $70 = (($69) - 1)|0; $71 = ($70|0)<(0); $72 = $71 << 31 >> 31; - $73 = (_seekAndWriteFd($66,$70,$72,19266,1,$x)|0); + $73 = (_seekAndWriteFd($66,$70,$72,19010,1,$x)|0); $74 = ($73|0)!=(1); if ($74) { break; @@ -258014,7 +259689,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $77 = HEAP32[$76>>2]|0; HEAP32[$zFile>>2] = $77; $78 = HEAP32[$zFile>>2]|0; - $79 = (_unixLogErrorAtLine(4874,45629,$78,31732)|0); + $79 = (_unixLogErrorAtLine(4874,45286,$78,31960)|0); HEAP32[$rc>>2] = $79; break L6; } @@ -258056,7 +259731,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $104 = HEAP32[$103>>2]|0; $105 = ($104|0)>=(0); if ($105) { - $106 = HEAP32[(7536)>>2]|0; + $106 = HEAP32[(7532)>>2]|0; $107 = HEAP32[$nMap>>2]|0; $108 = HEAP32[$pShmNode>>2]|0; $109 = ((($108)) + 22|0); @@ -258141,7 +259816,7 @@ function _unixShmMap($fd,$iRegion,$szRegion,$bExtend,$pp) { $129 = HEAP32[$pShmNode>>2]|0; $130 = ((($129)) + 8|0); $131 = HEAP32[$130>>2]|0; - $132 = (_unixLogErrorAtLine(5386,45716,$131,31759)|0); + $132 = (_unixLogErrorAtLine(5386,45373,$131,31987)|0); HEAP32[$rc>>2] = $132; break; } @@ -258240,7 +259915,7 @@ function _unixOpenSharedMemory($pDbFd) { $15 = ((($14)) + 32|0); $16 = HEAP32[$15>>2]|0; HEAP32[$zBasePath>>2] = $16; - $17 = HEAP32[(7332)>>2]|0; + $17 = HEAP32[(7328)>>2]|0; $18 = HEAP32[$1>>2]|0; $19 = ((($18)) + 12|0); $20 = HEAP32[$19>>2]|0; @@ -258278,7 +259953,7 @@ function _unixOpenSharedMemory($pDbFd) { $39 = HEAP32[$zShmFilename>>2]|0; $40 = HEAP32[$zBasePath>>2]|0; HEAP32[$vararg_buffer>>2] = $40; - (_sqlite3_snprintf($38,$39,46029,$vararg_buffer)|0); + (_sqlite3_snprintf($38,$39,45686,$vararg_buffer)|0); $41 = HEAP32[$pShmNode>>2]|0; $42 = ((($41)) + 12|0); HEAP32[$42>>2] = -1; @@ -258316,7 +259991,7 @@ function _unixOpenSharedMemory($pDbFd) { $63 = HEAP32[$1>>2]|0; $64 = ((($63)) + 32|0); $65 = HEAP32[$64>>2]|0; - $66 = (_sqlite3_uri_boolean($65,46036,0)|0); + $66 = (_sqlite3_uri_boolean($65,45693,0)|0); $67 = ($66|0)!=(0); if ($67) { HEAP32[$openFlags>>2] = 0; @@ -258338,9 +260013,9 @@ function _unixOpenSharedMemory($pDbFd) { $80 = HEAP32[$79>>2]|0; $81 = ($80|0)<(0); if ($81) { - $82 = (_sqlite3CantopenError(31584)|0); + $82 = (_sqlite3CantopenError(31812)|0); $83 = HEAP32[$zShmFilename>>2]|0; - $84 = (_unixLogErrorAtLine($82,45571,$83,31584)|0); + $84 = (_unixLogErrorAtLine($82,45228,$83,31812)|0); HEAP32[$rc>>2] = $84; break; } @@ -258364,7 +260039,7 @@ function _unixOpenSharedMemory($pDbFd) { $99 = ($98|0)!=(0); if ($99) { $100 = HEAP32[$zShmFilename>>2]|0; - $101 = (_unixLogErrorAtLine(4618,45594,$100,31600)|0); + $101 = (_unixLogErrorAtLine(4618,45251,$100,31828)|0); HEAP32[$rc>>2] = $101; } } @@ -258645,7 +260320,7 @@ function _unixFileLock($pFile,$pLock) { $21 = ((($lock)) + 8|0); HEAP32[$21>>2] = 510; HEAP16[$lock>>1] = 1; - $22 = HEAP32[(7356)>>2]|0; + $22 = HEAP32[(7352)>>2]|0; $23 = HEAP32[$1>>2]|0; $24 = ((($23)) + 12|0); $25 = HEAP32[$24>>2]|0; @@ -258670,7 +260345,7 @@ function _unixFileLock($pFile,$pLock) { $43 = HEAP32[$0>>2]|0; STACKTOP = sp;return ($43|0); } else { - $36 = HEAP32[(7356)>>2]|0; + $36 = HEAP32[(7352)>>2]|0; $37 = HEAP32[$1>>2]|0; $38 = ((($37)) + 12|0); $39 = HEAP32[$38>>2]|0; @@ -258717,7 +260392,7 @@ function _closePendingFds($pFile) { $12 = HEAP32[$0>>2]|0; $13 = HEAP32[$p>>2]|0; $14 = HEAP32[$13>>2]|0; - _robust_close($12,$14,28492); + _robust_close($12,$14,28716); $15 = HEAP32[$p>>2]|0; _sqlite3_free($15); $16 = HEAP32[$pNext>>2]|0; @@ -258811,7 +260486,7 @@ function _releaseInodeInfo($pFile) { $25 = ((($24)) + 32|0); HEAP32[$25>>2] = $21; } else { - HEAP32[7784>>2] = $21; + HEAP32[7780>>2] = $21; } $26 = HEAP32[$pInode>>2]|0; $27 = ((($26)) + 32|0); @@ -258841,7 +260516,7 @@ function _posixIoFinderImpl($z,$p) { $1 = sp; HEAP32[$0>>2] = $z; HEAP32[$1>>2] = $p; - STACKTOP = sp;return (7708|0); + STACKTOP = sp;return (7704|0); } function _getIntArg($p) { $p = $p|0; @@ -259131,7 +260806,7 @@ function _mallocWithAlarm($n,$pp) { $nUsed = sp; HEAP32[$0>>2] = $n; HEAP32[$1>>2] = $pp; - $2 = HEAP32[(60)>>2]|0; + $2 = HEAP32[(64)>>2]|0; $3 = HEAP32[$0>>2]|0; $4 = (FUNCTION_TABLE_ii[$2 & 255]($3)|0); HEAP32[$nFull>>2] = $4; @@ -259191,7 +260866,7 @@ function _mallocWithAlarm($n,$pp) { } } } while(0); - $46 = HEAP32[(44)>>2]|0; + $46 = HEAP32[(48)>>2]|0; $47 = HEAP32[$nFull>>2]|0; $48 = (FUNCTION_TABLE_ii[$46 & 255]($47)|0); HEAP32[$p>>2] = $48; @@ -259216,1310 +260891,1933 @@ function _mallocWithAlarm($n,$pp) { $56 = HEAP32[$nFull>>2]|0; STACKTOP = sp;return ($56|0); } +function _sqlite3AlterFunctions() { + var label = 0, sp = 0; + sp = STACKTOP; + _sqlite3InsertBuiltinFuncs(9608,3); + return; +} function _sqlite3RegisterDateTimeFunctions() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $i = sp + 8|0; - $pHash = sp + 4|0; - $aFunc = sp; - HEAP32[$pHash>>2] = 1080; - HEAP32[$aFunc>>2] = 9708; - HEAP32[$i>>2] = 0; - while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0|0)<(8); - if (!($1)) { - break; - } - $2 = HEAP32[$pHash>>2]|0; - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$aFunc>>2]|0; - $5 = (($4) + ($3<<5)|0); - _sqlite3FuncDefInsert($2,$5); - $6 = HEAP32[$i>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$i>>2] = $7; - } - STACKTOP = sp;return; + _sqlite3InsertBuiltinFuncs(9384,8); + return; } -function _sqlite3AlterFunctions() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $aFunc = 0, $i = 0, $pHash = 0, label = 0, sp = 0; +function _sqlite3InsertBuiltinFuncs($aDef,$nDef) { + $aDef = $aDef|0; + $nDef = $nDef|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $h = 0, $i = 0, $nName = 0, $pOther = 0; + var $zName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $i = sp + 8|0; - $pHash = sp + 4|0; - $aFunc = sp; - HEAP32[$pHash>>2] = 1080; - HEAP32[$aFunc>>2] = 9612; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $i = sp + 16|0; + $pOther = sp + 12|0; + $zName = sp + 8|0; + $nName = sp + 4|0; + $h = sp; + HEAP32[$0>>2] = $aDef; + HEAP32[$1>>2] = $nDef; HEAP32[$i>>2] = 0; while(1) { - $0 = HEAP32[$i>>2]|0; - $1 = ($0|0)<(3); - if (!($1)) { + $2 = HEAP32[$i>>2]|0; + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)<($3|0); + if (!($4)) { break; } - $2 = HEAP32[$pHash>>2]|0; - $3 = HEAP32[$i>>2]|0; - $4 = HEAP32[$aFunc>>2]|0; - $5 = (($4) + ($3<<5)|0); - _sqlite3FuncDefInsert($2,$5); - $6 = HEAP32[$i>>2]|0; - $7 = (($6) + 1)|0; - HEAP32[$i>>2] = $7; + $5 = HEAP32[$i>>2]|0; + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + (($5*28)|0)|0); + $8 = ((($7)) + 20|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$zName>>2] = $9; + $10 = HEAP32[$zName>>2]|0; + $11 = (_sqlite3Strlen30($10)|0); + HEAP32[$nName>>2] = $11; + $12 = HEAP32[$zName>>2]|0; + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = (18221 + ($14)|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = HEAP32[$nName>>2]|0; + $19 = (($17) + ($18))|0; + $20 = (($19|0) % 23)&-1; + HEAP32[$h>>2] = $20; + $21 = HEAP32[$h>>2]|0; + $22 = HEAP32[$zName>>2]|0; + $23 = (_functionSearch($21,$22)|0); + HEAP32[$pOther>>2] = $23; + $24 = HEAP32[$pOther>>2]|0; + $25 = ($24|0)!=(0|0); + if ($25) { + $26 = HEAP32[$pOther>>2]|0; + $27 = ((($26)) + 8|0); + $28 = HEAP32[$27>>2]|0; + $29 = HEAP32[$i>>2]|0; + $30 = HEAP32[$0>>2]|0; + $31 = (($30) + (($29*28)|0)|0); + $32 = ((($31)) + 8|0); + HEAP32[$32>>2] = $28; + $33 = HEAP32[$i>>2]|0; + $34 = HEAP32[$0>>2]|0; + $35 = (($34) + (($33*28)|0)|0); + $36 = HEAP32[$pOther>>2]|0; + $37 = ((($36)) + 8|0); + HEAP32[$37>>2] = $35; + } else { + $38 = HEAP32[$i>>2]|0; + $39 = HEAP32[$0>>2]|0; + $40 = (($39) + (($38*28)|0)|0); + $41 = ((($40)) + 8|0); + HEAP32[$41>>2] = 0; + $42 = HEAP32[$h>>2]|0; + $43 = (1080 + ($42<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = HEAP32[$i>>2]|0; + $46 = HEAP32[$0>>2]|0; + $47 = (($46) + (($45*28)|0)|0); + $48 = ((($47)) + 24|0); + HEAP32[$48>>2] = $44; + $49 = HEAP32[$i>>2]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + (($49*28)|0)|0); + $52 = HEAP32[$h>>2]|0; + $53 = (1080 + ($52<<2)|0); + HEAP32[$53>>2] = $51; + } + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$i>>2] = $55; } STACKTOP = sp;return; } -function _renameTableFunc($context,$NotUsed,$argv) { +function _compileoptionusedFunc($context,$argc,$argv) { $context = $context|0; - $NotUsed = $NotUsed|0; + $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $len = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0; - var label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zOptName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer = sp; - $0 = sp + 60|0; - $1 = sp + 56|0; - $2 = sp + 52|0; - $zSql = sp + 48|0; - $zTableName = sp + 44|0; - $token = sp + 40|0; - $tname = sp + 32|0; - $zCsr = sp + 28|0; - $len = sp + 24|0; - $zRet = sp + 20|0; - $db = sp + 16|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $zOptName = sp; HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; + HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zSql>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zTableName>>2] = $9; - $10 = HEAP32[$zSql>>2]|0; - HEAP32[$zCsr>>2] = $10; - HEAP32[$len>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; - } - while(1) { - $15 = HEAP32[$zCsr>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - label = 7; - break; - } - $18 = HEAP32[$zCsr>>2]|0; - HEAP32[$tname>>2] = $18; - $19 = HEAP32[$len>>2]|0; - $20 = ((($tname)) + 4|0); - HEAP32[$20>>2] = $19; - while(1) { - $21 = HEAP32[$len>>2]|0; - $22 = HEAP32[$zCsr>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zCsr>>2] = $23; - $24 = HEAP32[$zCsr>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$len>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(159); - if (!($27)) { - break; - } - } - $28 = HEAP32[$token>>2]|0; - $29 = ($28|0)!=(22); - $30 = HEAP32[$token>>2]|0; - $31 = ($30|0)!=(125); - $32 = $29 ? $31 : 0; - if (!($32)) { - break; - } - } - if ((label|0) == 7) { + HEAP32[$zOptName>>2] = $5; + $6 = ($5|0)!=(0|0); + if (!($6)) { STACKTOP = sp;return; } - $33 = HEAP32[$db>>2]|0; - $34 = HEAP32[$tname>>2]|0; - $35 = HEAP32[$zSql>>2]|0; - $36 = $34; - $37 = $35; - $38 = (($36) - ($37))|0; - $39 = HEAP32[$zSql>>2]|0; - $40 = HEAP32[$zTableName>>2]|0; - $41 = HEAP32[$tname>>2]|0; - $42 = ((($tname)) + 4|0); - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + ($43)|0); - HEAP32[$vararg_buffer>>2] = $38; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $39; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $40; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $44; - $45 = (_sqlite3MPrintf($33,46327,$vararg_buffer)|0); - HEAP32[$zRet>>2] = $45; - $46 = HEAP32[$0>>2]|0; - $47 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($46,$47,-1,170); + $7 = HEAP32[$0>>2]|0; + $8 = HEAP32[$zOptName>>2]|0; + $9 = (_sqlite3_compileoption_used($8)|0); + _sqlite3_result_int($7,$9); STACKTOP = sp;return; } -function _renameTriggerFunc($context,$NotUsed,$argv) { +function _compileoptiongetFunc($context,$argc,$argv) { $context = $context|0; - $NotUsed = $NotUsed|0; + $argc = $argc|0; $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; - var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dist = 0; - var $len = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $n = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $zSql = sp + 56|0; - $zTableName = sp + 52|0; - $token = sp + 48|0; - $tname = sp + 40|0; - $dist = sp + 32|0; - $zCsr = sp + 28|0; - $len = sp + 24|0; - $zRet = sp + 20|0; - $db = sp + 16|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $n = sp; HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; + HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zSql>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zTableName>>2] = $9; - HEAP32[$dist>>2] = 3; - $10 = HEAP32[$zSql>>2]|0; - HEAP32[$zCsr>>2] = $10; - HEAP32[$len>>2] = 0; - $11 = HEAP32[$0>>2]|0; - $12 = (_sqlite3_context_db_handle($11)|0); - HEAP32[$db>>2] = $12; - $13 = HEAP32[$zSql>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; - } - while(1) { - $15 = HEAP32[$zCsr>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - label = 8; - break; - } - $18 = HEAP32[$zCsr>>2]|0; - HEAP32[$tname>>2] = $18; - $19 = HEAP32[$len>>2]|0; - $20 = ((($tname)) + 4|0); - HEAP32[$20>>2] = $19; - while(1) { - $21 = HEAP32[$len>>2]|0; - $22 = HEAP32[$zCsr>>2]|0; - $23 = (($22) + ($21)|0); - HEAP32[$zCsr>>2] = $23; - $24 = HEAP32[$zCsr>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$len>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(159); - if (!($27)) { - break; - } - } - $28 = HEAP32[$dist>>2]|0; - $29 = (($28) + 1)|0; - HEAP32[$dist>>2] = $29; - $30 = HEAP32[$token>>2]|0; - $31 = ($30|0)==(122); - $32 = HEAP32[$token>>2]|0; - $33 = ($32|0)==(107); - $or$cond = $31 | $33; - $$ = $or$cond ? 0 : $29; - HEAP32[$dist>>2] = $$; - $34 = HEAP32[$dist>>2]|0; - $35 = ($34|0)!=(2); - if ($35) { - continue; - } - $36 = HEAP32[$token>>2]|0; - $37 = ($36|0)!=(137); - $38 = HEAP32[$token>>2]|0; - $39 = ($38|0)!=(46); - $or$cond3 = $37 & $39; - $40 = HEAP32[$token>>2]|0; - $41 = ($40|0)!=(5); - $or$cond6 = $or$cond3 & $41; - if (!($or$cond6)) { - break; - } - } - if ((label|0) == 8) { - STACKTOP = sp;return; - } - $42 = HEAP32[$db>>2]|0; - $43 = HEAP32[$tname>>2]|0; - $44 = HEAP32[$zSql>>2]|0; - $45 = $43; - $46 = $44; - $47 = (($45) - ($46))|0; - $48 = HEAP32[$zSql>>2]|0; - $49 = HEAP32[$zTableName>>2]|0; - $50 = HEAP32[$tname>>2]|0; - $51 = ((($tname)) + 4|0); - $52 = HEAP32[$51>>2]|0; - $53 = (($50) + ($52)|0); - HEAP32[$vararg_buffer>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $48; - $vararg_ptr8 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $49; - $vararg_ptr9 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $53; - $54 = (_sqlite3MPrintf($42,46327,$vararg_buffer)|0); - HEAP32[$zRet>>2] = $54; - $55 = HEAP32[$0>>2]|0; - $56 = HEAP32[$zRet>>2]|0; - _sqlite3_result_text($55,$56,-1,170); + $5 = (_sqlite3_value_int($4)|0); + HEAP32[$n>>2] = $5; + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$n>>2]|0; + $8 = (_sqlite3_compileoption_get($7)|0); + _sqlite3_result_text($6,$8,-1,0); STACKTOP = sp;return; } -function _renameParentFunc($context,$NotUsed,$argv) { +function _versionFunc($context,$NotUsed,$NotUsed2) { $context = $context|0; $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $token = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $z = 0, $zInput = 0, $zNew = 0, $zOld = 0, $zOut = 0; - var $zOutput = 0, $zParent = 0, $zResult = 0, label = 0, sp = 0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer5 = sp + 16|0; - $vararg_buffer = sp; - $0 = sp + 76|0; - $1 = sp + 72|0; - $2 = sp + 68|0; - $db = sp + 64|0; - $zOutput = sp + 60|0; - $zResult = sp + 56|0; - $zInput = sp + 52|0; - $zOld = sp + 48|0; - $zNew = sp + 44|0; - $z = sp + 40|0; - $n = sp + 36|0; - $token = sp + 32|0; - $zParent = sp + 28|0; - $zOut = sp + 24|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; + HEAP32[$2>>2] = $NotUsed2; $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - HEAP32[$zOutput>>2] = 0; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zInput>>2] = $7; - $8 = HEAP32[$2>>2]|0; - $9 = ((($8)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_text($10)|0); - HEAP32[$zOld>>2] = $11; - $12 = HEAP32[$2>>2]|0; - $13 = ((($12)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = (_sqlite3_value_text($14)|0); - HEAP32[$zNew>>2] = $15; - $16 = HEAP32[$zInput>>2]|0; - $17 = ($16|0)==(0|0); - $18 = HEAP32[$zOld>>2]|0; - $19 = ($18|0)==(0|0); - $or$cond = $17 | $19; - if ($or$cond) { + $4 = (_sqlite3_libversion()|0); + _sqlite3_result_text($3,$4,-1,0); + STACKTOP = sp;return; +} +function _trimFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$old = 0, $$old1 = 0, $$old2 = 0, $$old3 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; + var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; + var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; + var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; + var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLen = 0, $azChar = 0, $flags = 0, $i = 0, $len = 0, $len1 = 0; + var $nChar = 0, $nIn = 0, $or$cond = 0, $or$cond4 = 0, $z = 0, $zCharSet = 0, $zIn = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $0 = sp + 52|0; + $1 = sp + 48|0; + $2 = sp + 44|0; + $zIn = sp + 40|0; + $zCharSet = sp + 36|0; + $nIn = sp + 32|0; + $flags = sp + 28|0; + $i = sp + 24|0; + $aLen = sp + 20|0; + $azChar = sp + 16|0; + $nChar = sp + 12|0; + $z = sp + 8|0; + $len = sp + 4|0; + $len1 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$aLen>>2] = 0; + HEAP32[$azChar>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + $6 = ($5|0)==(5); + if ($6) { STACKTOP = sp;return; } - $20 = HEAP32[$zInput>>2]|0; - HEAP32[$z>>2] = $20; - while(1) { - $21 = HEAP32[$z>>2]|0; - $22 = HEAP8[$21>>0]|0; - $23 = ($22<<24>>24)!=(0); - if (!($23)) { - break; - } - $24 = HEAP32[$z>>2]|0; - $25 = (_sqlite3GetToken($24,$token)|0); - HEAP32[$n>>2] = $25; - $26 = HEAP32[$token>>2]|0; - $27 = ($26|0)==(105); - if ($27) { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zIn>>2] = $9; + $10 = HEAP32[$zIn>>2]|0; + $11 = ($10|0)==(0|0); + if ($11) { + STACKTOP = sp;return; + } + $12 = HEAP32[$2>>2]|0; + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_bytes($13)|0); + HEAP32[$nIn>>2] = $14; + $15 = HEAP32[$1>>2]|0; + $16 = ($15|0)==(1); + L7: do { + if ($16) { + HEAP32[$nChar>>2] = 1; + HEAP32[$aLen>>2] = 46313; + HEAP32[$azChar>>2] = 9380; + HEAP32[$zCharSet>>2] = 0; + } else { + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_text($19)|0); + HEAP32[$zCharSet>>2] = $20; + $21 = ($20|0)==(0|0); + if ($21) { + STACKTOP = sp;return; + } + $22 = HEAP32[$zCharSet>>2]|0; + HEAP32[$z>>2] = $22; + HEAP32[$nChar>>2] = 0; while(1) { - $28 = HEAP32[$n>>2]|0; - $29 = HEAP32[$z>>2]|0; - $30 = (($29) + ($28)|0); - HEAP32[$z>>2] = $30; - $31 = HEAP32[$z>>2]|0; - $32 = (_sqlite3GetToken($31,$token)|0); - HEAP32[$n>>2] = $32; - $33 = HEAP32[$token>>2]|0; - $34 = ($33|0)==(159); - if (!($34)) { + $23 = HEAP32[$z>>2]|0; + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)!=(0); + if (!($25)) { break; } + $26 = HEAP32[$z>>2]|0; + $27 = ((($26)) + 1|0); + HEAP32[$z>>2] = $27; + $28 = HEAP8[$26>>0]|0; + $29 = $28&255; + $30 = ($29|0)>=(192); + L16: do { + if ($30) { + while(1) { + $31 = HEAP32[$z>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32&255; + $34 = $33 & 192; + $35 = ($34|0)==(128); + if (!($35)) { + break L16; + } + $36 = HEAP32[$z>>2]|0; + $37 = ((($36)) + 1|0); + HEAP32[$z>>2] = $37; + } + } + } while(0); + $38 = HEAP32[$nChar>>2]|0; + $39 = (($38) + 1)|0; + HEAP32[$nChar>>2] = $39; } - $35 = HEAP32[$token>>2]|0; - $36 = ($35|0)==(160); - if ($36) { - break; + $40 = HEAP32[$nChar>>2]|0; + $41 = ($40|0)>(0); + if ($41) { + $42 = HEAP32[$0>>2]|0; + $43 = HEAP32[$nChar>>2]|0; + $44 = ($43|0)<(0); + $45 = $44 << 31 >> 31; + $46 = (___muldi3(($43|0),($45|0),5,0)|0); + $47 = tempRet0; + $48 = (_contextMalloc($42,$46,$47)|0); + HEAP32[$azChar>>2] = $48; + $49 = HEAP32[$azChar>>2]|0; + $50 = ($49|0)==(0|0); + if ($50) { + STACKTOP = sp;return; + } + $51 = HEAP32[$nChar>>2]|0; + $52 = HEAP32[$azChar>>2]|0; + $53 = (($52) + ($51<<2)|0); + HEAP32[$aLen>>2] = $53; + $54 = HEAP32[$zCharSet>>2]|0; + HEAP32[$z>>2] = $54; + HEAP32[$nChar>>2] = 0; + while(1) { + $55 = HEAP32[$z>>2]|0; + $56 = HEAP8[$55>>0]|0; + $57 = ($56<<24>>24)!=(0); + if (!($57)) { + break L7; + } + $58 = HEAP32[$z>>2]|0; + $59 = HEAP32[$nChar>>2]|0; + $60 = HEAP32[$azChar>>2]|0; + $61 = (($60) + ($59<<2)|0); + HEAP32[$61>>2] = $58; + $62 = HEAP32[$z>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$z>>2] = $63; + $64 = HEAP8[$62>>0]|0; + $65 = $64&255; + $66 = ($65|0)>=(192); + L29: do { + if ($66) { + while(1) { + $67 = HEAP32[$z>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = $69 & 192; + $71 = ($70|0)==(128); + if (!($71)) { + break L29; + } + $72 = HEAP32[$z>>2]|0; + $73 = ((($72)) + 1|0); + HEAP32[$z>>2] = $73; + } + } + } while(0); + $74 = HEAP32[$z>>2]|0; + $75 = HEAP32[$nChar>>2]|0; + $76 = HEAP32[$azChar>>2]|0; + $77 = (($76) + ($75<<2)|0); + $78 = HEAP32[$77>>2]|0; + $79 = $74; + $80 = $78; + $81 = (($79) - ($80))|0; + $82 = $81&255; + $83 = HEAP32[$nChar>>2]|0; + $84 = HEAP32[$aLen>>2]|0; + $85 = (($84) + ($83)|0); + HEAP8[$85>>0] = $82; + $86 = HEAP32[$nChar>>2]|0; + $87 = (($86) + 1)|0; + HEAP32[$nChar>>2] = $87; + } } - $37 = HEAP32[$db>>2]|0; - $38 = HEAP32[$z>>2]|0; - $39 = HEAP32[$n>>2]|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = (_sqlite3DbStrNDup($37,$38,$39,$41)|0); - HEAP32[$zParent>>2] = $42; - $43 = HEAP32[$zParent>>2]|0; - $44 = ($43|0)==(0|0); - if ($44) { - break; + } + } while(0); + $88 = HEAP32[$nChar>>2]|0; + $89 = ($88|0)>(0); + if ($89) { + $90 = HEAP32[$0>>2]|0; + $91 = (_sqlite3_user_data($90)|0); + $92 = $91; + HEAP32[$flags>>2] = $92; + $93 = HEAP32[$flags>>2]|0; + $94 = $93 & 1; + $95 = ($94|0)!=(0); + $96 = HEAP32[$nIn>>2]|0; + $97 = ($96|0)>(0); + $or$cond = $95 & $97; + L37: do { + if ($or$cond) { + while(1) { + HEAP32[$len>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $98 = HEAP32[$i>>2]|0; + $99 = HEAP32[$nChar>>2]|0; + $100 = ($98|0)<($99|0); + if (!($100)) { + break; + } + $101 = HEAP32[$i>>2]|0; + $102 = HEAP32[$aLen>>2]|0; + $103 = (($102) + ($101)|0); + $104 = HEAP8[$103>>0]|0; + $105 = $104&255; + HEAP32[$len>>2] = $105; + $106 = HEAP32[$len>>2]|0; + $107 = HEAP32[$nIn>>2]|0; + $108 = ($106|0)<=($107|0); + if ($108) { + $109 = HEAP32[$zIn>>2]|0; + $110 = HEAP32[$i>>2]|0; + $111 = HEAP32[$azChar>>2]|0; + $112 = (($111) + ($110<<2)|0); + $113 = HEAP32[$112>>2]|0; + $114 = HEAP32[$len>>2]|0; + $115 = (_memcmp($109,$113,$114)|0); + $116 = ($115|0)==(0); + if ($116) { + break; + } + } + $117 = HEAP32[$i>>2]|0; + $118 = (($117) + 1)|0; + HEAP32[$i>>2] = $118; + } + $119 = HEAP32[$i>>2]|0; + $120 = HEAP32[$nChar>>2]|0; + $121 = ($119|0)>=($120|0); + if ($121) { + break L37; + } + $122 = HEAP32[$len>>2]|0; + $123 = HEAP32[$zIn>>2]|0; + $124 = (($123) + ($122)|0); + HEAP32[$zIn>>2] = $124; + $125 = HEAP32[$len>>2]|0; + $126 = HEAP32[$nIn>>2]|0; + $127 = (($126) - ($125))|0; + HEAP32[$nIn>>2] = $127; + $$old = HEAP32[$nIn>>2]|0; + $$old1 = ($$old|0)>(0); + if (!($$old1)) { + break; + } + } } - $45 = HEAP32[$zParent>>2]|0; - (_sqlite3Dequote($45)|0); - $46 = HEAP32[$zOld>>2]|0; - $47 = HEAP32[$zParent>>2]|0; - $48 = (_sqlite3_stricmp($46,$47)|0); - $49 = (0)==($48|0); - if ($49) { - $50 = HEAP32[$db>>2]|0; - $51 = HEAP32[$zOutput>>2]|0; - $52 = ($51|0)!=(0|0); - $53 = HEAP32[$zOutput>>2]|0; - $54 = $52 ? $53 : 19266; - $55 = HEAP32[$z>>2]|0; - $56 = HEAP32[$zInput>>2]|0; - $57 = $55; - $58 = $56; - $59 = (($57) - ($58))|0; - $60 = HEAP32[$zInput>>2]|0; - $61 = HEAP32[$zNew>>2]|0; - HEAP32[$vararg_buffer>>2] = $54; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $59; - $vararg_ptr3 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr3>>2] = $60; - $vararg_ptr4 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr4>>2] = $61; - $62 = (_sqlite3MPrintf($50,46316,$vararg_buffer)|0); - HEAP32[$zOut>>2] = $62; - $63 = HEAP32[$db>>2]|0; - $64 = HEAP32[$zOutput>>2]|0; - _sqlite3DbFree($63,$64); - $65 = HEAP32[$zOut>>2]|0; - HEAP32[$zOutput>>2] = $65; - $66 = HEAP32[$n>>2]|0; - $67 = HEAP32[$z>>2]|0; - $68 = (($67) + ($66)|0); - HEAP32[$zInput>>2] = $68; + } while(0); + $128 = HEAP32[$flags>>2]|0; + $129 = $128 & 2; + $130 = ($129|0)!=(0); + $131 = HEAP32[$nIn>>2]|0; + $132 = ($131|0)>(0); + $or$cond4 = $130 & $132; + L49: do { + if ($or$cond4) { + while(1) { + HEAP32[$len1>>2] = 0; + HEAP32[$i>>2] = 0; + while(1) { + $133 = HEAP32[$i>>2]|0; + $134 = HEAP32[$nChar>>2]|0; + $135 = ($133|0)<($134|0); + if (!($135)) { + break; + } + $136 = HEAP32[$i>>2]|0; + $137 = HEAP32[$aLen>>2]|0; + $138 = (($137) + ($136)|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + HEAP32[$len1>>2] = $140; + $141 = HEAP32[$len1>>2]|0; + $142 = HEAP32[$nIn>>2]|0; + $143 = ($141|0)<=($142|0); + if ($143) { + $144 = HEAP32[$nIn>>2]|0; + $145 = HEAP32[$len1>>2]|0; + $146 = (($144) - ($145))|0; + $147 = HEAP32[$zIn>>2]|0; + $148 = (($147) + ($146)|0); + $149 = HEAP32[$i>>2]|0; + $150 = HEAP32[$azChar>>2]|0; + $151 = (($150) + ($149<<2)|0); + $152 = HEAP32[$151>>2]|0; + $153 = HEAP32[$len1>>2]|0; + $154 = (_memcmp($148,$152,$153)|0); + $155 = ($154|0)==(0); + if ($155) { + break; + } + } + $156 = HEAP32[$i>>2]|0; + $157 = (($156) + 1)|0; + HEAP32[$i>>2] = $157; + } + $158 = HEAP32[$i>>2]|0; + $159 = HEAP32[$nChar>>2]|0; + $160 = ($158|0)>=($159|0); + if ($160) { + break L49; + } + $161 = HEAP32[$len1>>2]|0; + $162 = HEAP32[$nIn>>2]|0; + $163 = (($162) - ($161))|0; + HEAP32[$nIn>>2] = $163; + $$old2 = HEAP32[$nIn>>2]|0; + $$old3 = ($$old2|0)>(0); + if (!($$old3)) { + break; + } + } } - $69 = HEAP32[$db>>2]|0; - $70 = HEAP32[$zParent>>2]|0; - _sqlite3DbFree($69,$70); + } while(0); + $164 = HEAP32[$zCharSet>>2]|0; + $165 = ($164|0)!=(0|0); + if ($165) { + $166 = HEAP32[$azChar>>2]|0; + _sqlite3_free($166); } - $71 = HEAP32[$z>>2]|0; - $72 = HEAP32[$n>>2]|0; - $73 = (($71) + ($72)|0); - HEAP32[$z>>2] = $73; } - $74 = HEAP32[$db>>2]|0; - $75 = HEAP32[$zOutput>>2]|0; - $76 = ($75|0)!=(0|0); - $77 = HEAP32[$zOutput>>2]|0; - $78 = $76 ? $77 : 19266; - $79 = HEAP32[$zInput>>2]|0; - HEAP32[$vararg_buffer5>>2] = $78; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $79; - $80 = (_sqlite3MPrintf($74,25552,$vararg_buffer5)|0); - HEAP32[$zResult>>2] = $80; - $81 = HEAP32[$0>>2]|0; - $82 = HEAP32[$zResult>>2]|0; - _sqlite3_result_text($81,$82,-1,170); - $83 = HEAP32[$db>>2]|0; - $84 = HEAP32[$zOutput>>2]|0; - _sqlite3DbFree($83,$84); + $167 = HEAP32[$0>>2]|0; + $168 = HEAP32[$zIn>>2]|0; + $169 = HEAP32[$nIn>>2]|0; + _sqlite3_result_text($167,$168,$169,(-1)); STACKTOP = sp;return; } -function _juliandayFunc($context,$argc,$argv) { +function _minmaxFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $i = 0, $iBest = 0, $mask = 0, $pColl = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $0 = sp + 56|0; - $1 = sp + 52|0; - $2 = sp + 48|0; - $x = sp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $i = sp + 12|0; + $mask = sp + 8|0; + $iBest = sp + 4|0; + $pColl = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { + $4 = (_sqlite3_user_data($3)|0); + $5 = ($4|0)==(0|0); + $6 = $5 ? 0 : -1; + HEAP32[$mask>>2] = $6; + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3GetFuncCollSeq($7)|0); + HEAP32[$pColl>>2] = $8; + HEAP32[$iBest>>2] = 0; + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_type($10)|0); + $12 = ($11|0)==(5); + if ($12) { STACKTOP = sp;return; } - _computeJD($x); - $8 = HEAP32[$0>>2]|0; - $9 = $x; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); - $16 = $15 / 8.64E+7; - _sqlite3_result_double($8,$16); + HEAP32[$i>>2] = 1; + while(1) { + $13 = HEAP32[$i>>2]|0; + $14 = HEAP32[$1>>2]|0; + $15 = ($13|0)<($14|0); + if (!($15)) { + break; + } + $16 = HEAP32[$i>>2]|0; + $17 = HEAP32[$2>>2]|0; + $18 = (($17) + ($16<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + $21 = ($20|0)==(5); + if ($21) { + label = 9; + break; + } + $22 = HEAP32[$iBest>>2]|0; + $23 = HEAP32[$2>>2]|0; + $24 = (($23) + ($22<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$i>>2]|0; + $27 = HEAP32[$2>>2]|0; + $28 = (($27) + ($26<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = HEAP32[$pColl>>2]|0; + $31 = (_sqlite3MemCompare($25,$29,$30)|0); + $32 = HEAP32[$mask>>2]|0; + $33 = $31 ^ $32; + $34 = ($33|0)>=(0); + if ($34) { + $35 = HEAP32[$i>>2]|0; + HEAP32[$iBest>>2] = $35; + } + $36 = HEAP32[$i>>2]|0; + $37 = (($36) + 1)|0; + HEAP32[$i>>2] = $37; + } + if ((label|0) == 9) { + STACKTOP = sp;return; + } + $38 = HEAP32[$0>>2]|0; + $39 = HEAP32[$iBest>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = (($40) + ($39<<2)|0); + $42 = HEAP32[$41>>2]|0; + _sqlite3_result_value($38,$42); STACKTOP = sp;return; } -function _dateFunc($context,$argc,$argv) { +function _minmaxStep($context,$NotUsed,$argv) { $context = $context|0; - $argc = $argc|0; + $NotUsed = $NotUsed|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0, $zBuf = 0; - var label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cmp = 0, $max = 0, $or$cond = 0, $or$cond3 = 0, $pArg = 0, $pBest = 0, $pColl = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $x = sp; - $zBuf = sp + 72|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $pArg = sp + 16|0; + $pBest = sp + 12|0; + $max = sp + 8|0; + $cmp = sp + 4|0; + $pColl = sp; HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; + HEAP32[$1>>2] = $NotUsed; HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { - STACKTOP = sp;return; - } - _computeYMD($x); - $8 = ((($x)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($x)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($x)) + 16|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - (_sqlite3_snprintf(100,$zBuf,46623,$vararg_buffer)|0); - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,$zBuf,-1,(-1)); + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + HEAP32[$pArg>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = (_sqlite3_aggregate_context($5,40)|0); + HEAP32[$pBest>>2] = $6; + $7 = HEAP32[$pBest>>2]|0; + $8 = ($7|0)!=(0|0); + if (!($8)) { + STACKTOP = sp;return; + } + $9 = HEAP32[$2>>2]|0; + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_type($10)|0); + $12 = ($11|0)==(5); + $13 = HEAP32[$pBest>>2]|0; + $14 = ((($13)) + 8|0); + $15 = HEAP16[$14>>1]|0; + $16 = ($15<<16>>16)!=(0); + if ($12) { + if (!($16)) { + STACKTOP = sp;return; + } + $17 = HEAP32[$0>>2]|0; + _sqlite3SkipAccumulatorLoad($17); + STACKTOP = sp;return; + } + $18 = HEAP32[$0>>2]|0; + if (!($16)) { + $39 = (_sqlite3_context_db_handle($18)|0); + $40 = HEAP32[$pBest>>2]|0; + $41 = ((($40)) + 32|0); + HEAP32[$41>>2] = $39; + $42 = HEAP32[$pBest>>2]|0; + $43 = HEAP32[$pArg>>2]|0; + (_sqlite3VdbeMemCopy($42,$43)|0); + STACKTOP = sp;return; + } + $19 = (_sqlite3GetFuncCollSeq($18)|0); + HEAP32[$pColl>>2] = $19; + $20 = HEAP32[$0>>2]|0; + $21 = (_sqlite3_user_data($20)|0); + $22 = ($21|0)!=(0|0); + $23 = $22&1; + HEAP32[$max>>2] = $23; + $24 = HEAP32[$pBest>>2]|0; + $25 = HEAP32[$pArg>>2]|0; + $26 = HEAP32[$pColl>>2]|0; + $27 = (_sqlite3MemCompare($24,$25,$26)|0); + HEAP32[$cmp>>2] = $27; + $28 = HEAP32[$max>>2]|0; + $29 = ($28|0)!=(0); + $30 = HEAP32[$cmp>>2]|0; + $31 = ($30|0)<(0); + $or$cond = $29 & $31; + if (!($or$cond)) { + $32 = HEAP32[$max>>2]|0; + $33 = ($32|0)==(0); + $34 = HEAP32[$cmp>>2]|0; + $35 = ($34|0)>(0); + $or$cond3 = $33 & $35; + if (!($or$cond3)) { + $38 = HEAP32[$0>>2]|0; + _sqlite3SkipAccumulatorLoad($38); + STACKTOP = sp;return; + } + } + $36 = HEAP32[$pBest>>2]|0; + $37 = HEAP32[$pArg>>2]|0; + (_sqlite3VdbeMemCopy($36,$37)|0); STACKTOP = sp;return; } -function _timeFunc($context,$argc,$argv) { +function _minMaxFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRes = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pRes = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$pRes>>2] = $2; + $3 = HEAP32[$pRes>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$pRes>>2]|0; + $6 = ((($5)) + 8|0); + $7 = HEAP16[$6>>1]|0; + $8 = ($7<<16>>16)!=(0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$pRes>>2]|0; + _sqlite3_result_value($9,$10); + } + $11 = HEAP32[$pRes>>2]|0; + _sqlite3VdbeMemRelease($11); + STACKTOP = sp;return; +} +function _typeofFunc($context,$NotUsed,$argv) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $z = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $z = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + HEAP32[$z>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 1: { + HEAP32[$z>>2] = 40168; + break; + } + case 3: { + HEAP32[$z>>2] = 46303; + break; + } + case 2: { + HEAP32[$z>>2] = 40163; + break; + } + case 4: { + HEAP32[$z>>2] = 46308; + break; + } + default: { + HEAP32[$z>>2] = 40176; + } + } + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$z>>2]|0; + _sqlite3_result_text($6,$7,-1,0); + STACKTOP = sp;return; +} +function _lengthFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0; - var $zBuf = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 68|0; - $1 = sp + 64|0; - $2 = sp + 60|0; - $x = sp; - $zBuf = sp + 72|0; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $len = sp + 4|0; + $z = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); - if (!($7)) { + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 2: case 1: case 4: { + $6 = HEAP32[$0>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_bytes($8)|0); + _sqlite3_result_int($6,$9); STACKTOP = sp;return; + break; } - _computeHMS($x); - $8 = ((($x)) + 20|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($x)) + 24|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($x)) + 32|0); - $13 = +HEAPF64[$12>>3]; - $14 = (~~(($13))); - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $14; - (_sqlite3_snprintf(100,$zBuf,46608,$vararg_buffer)|0); - $15 = HEAP32[$0>>2]|0; - _sqlite3_result_text($15,$zBuf,-1,(-1)); + case 3: { + $10 = HEAP32[$2>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = (_sqlite3_value_text($11)|0); + HEAP32[$z>>2] = $12; + $13 = HEAP32[$z>>2]|0; + $14 = ($13|0)==(0|0); + if ($14) { + STACKTOP = sp;return; + } + HEAP32[$len>>2] = 0; + L10: while(1) { + $15 = HEAP32[$z>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + break; + } + $18 = HEAP32[$len>>2]|0; + $19 = (($18) + 1)|0; + HEAP32[$len>>2] = $19; + $20 = HEAP32[$z>>2]|0; + $21 = ((($20)) + 1|0); + HEAP32[$z>>2] = $21; + $22 = HEAP8[$20>>0]|0; + $23 = $22&255; + $24 = ($23|0)>=(192); + if (!($24)) { + continue; + } + while(1) { + $25 = HEAP32[$z>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = $27 & 192; + $29 = ($28|0)==(128); + if (!($29)) { + continue L10; + } + $30 = HEAP32[$z>>2]|0; + $31 = ((($30)) + 1|0); + HEAP32[$z>>2] = $31; + } + } + $32 = HEAP32[$0>>2]|0; + $33 = HEAP32[$len>>2]|0; + _sqlite3_result_int($32,$33); + STACKTOP = sp;return; + break; + } + default: { + $34 = HEAP32[$0>>2]|0; + _sqlite3_result_null($34); + STACKTOP = sp;return; + } + } +} +function _instrFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $7 = 0, $8 = 0, $9 = 0, $N = 0, $isText = 0, $nHaystack = 0, $nNeedle = 0, $or$cond = 0, $or$cond3 = 0, $typeHaystack = 0, $typeNeedle = 0, $zHaystack = 0, $zNeedle = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $zHaystack = sp + 28|0; + $zNeedle = sp + 24|0; + $nHaystack = sp + 20|0; + $nNeedle = sp + 16|0; + $typeHaystack = sp + 12|0; + $typeNeedle = sp + 8|0; + $N = sp + 4|0; + $isText = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$N>>2] = 1; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + HEAP32[$typeHaystack>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_type($8)|0); + HEAP32[$typeNeedle>>2] = $9; + $10 = HEAP32[$typeHaystack>>2]|0; + $11 = ($10|0)==(5); + $12 = HEAP32[$typeNeedle>>2]|0; + $13 = ($12|0)==(5); + $or$cond = $11 | $13; + if ($or$cond) { + STACKTOP = sp;return; + } + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + $16 = (_sqlite3_value_bytes($15)|0); + HEAP32[$nHaystack>>2] = $16; + $17 = HEAP32[$2>>2]|0; + $18 = ((($17)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_bytes($19)|0); + HEAP32[$nNeedle>>2] = $20; + $21 = HEAP32[$typeHaystack>>2]|0; + $22 = ($21|0)==(4); + $23 = HEAP32[$typeNeedle>>2]|0; + $24 = ($23|0)==(4); + $or$cond3 = $22 & $24; + $25 = HEAP32[$2>>2]|0; + $26 = HEAP32[$25>>2]|0; + if ($or$cond3) { + $27 = (_sqlite3_value_blob($26)|0); + HEAP32[$zHaystack>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_blob($30)|0); + HEAP32[$zNeedle>>2] = $31; + HEAP32[$isText>>2] = 0; + } else { + $32 = (_sqlite3_value_text($26)|0); + HEAP32[$zHaystack>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = (_sqlite3_value_text($35)|0); + HEAP32[$zNeedle>>2] = $36; + HEAP32[$isText>>2] = 1; + } + L7: while(1) { + $37 = HEAP32[$nNeedle>>2]|0; + $38 = HEAP32[$nHaystack>>2]|0; + $39 = ($37|0)<=($38|0); + if (!($39)) { + break; + } + $40 = HEAP32[$zHaystack>>2]|0; + $41 = HEAP32[$zNeedle>>2]|0; + $42 = HEAP32[$nNeedle>>2]|0; + $43 = (_memcmp($40,$41,$42)|0); + $44 = ($43|0)!=(0); + if (!($44)) { + break; + } + $45 = HEAP32[$N>>2]|0; + $46 = (($45) + 1)|0; + HEAP32[$N>>2] = $46; + while(1) { + $47 = HEAP32[$nHaystack>>2]|0; + $48 = (($47) + -1)|0; + HEAP32[$nHaystack>>2] = $48; + $49 = HEAP32[$zHaystack>>2]|0; + $50 = ((($49)) + 1|0); + HEAP32[$zHaystack>>2] = $50; + $51 = HEAP32[$isText>>2]|0; + $52 = ($51|0)!=(0); + if (!($52)) { + continue L7; + } + $53 = HEAP32[$zHaystack>>2]|0; + $54 = HEAP8[$53>>0]|0; + $55 = $54&255; + $56 = $55 & 192; + $57 = ($56|0)==(128); + if (!($57)) { + continue L7; + } + } + } + $58 = HEAP32[$nNeedle>>2]|0; + $59 = HEAP32[$nHaystack>>2]|0; + $60 = ($58|0)>($59|0); + if ($60) { + HEAP32[$N>>2] = 0; + } + $61 = HEAP32[$0>>2]|0; + $62 = HEAP32[$N>>2]|0; + _sqlite3_result_int($61,$62); STACKTOP = sp;return; } -function _datetimeFunc($context,$argc,$argv) { +function _printfFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $x = 0, $zBuf = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $str = 0, $vararg_buffer = 0, $x = 0, $zFormat = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; - $vararg_buffer = sp + 48|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $x = sp; - $zBuf = sp + 84|0; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $x = sp + 44|0; + $str = sp + 16|0; + $zFormat = sp + 12|0; + $n = sp + 8|0; + $db = sp + 4|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$1>>2]|0; - $5 = HEAP32[$2>>2]|0; - $6 = (_isDate($3,$4,$5,$x)|0); - $7 = ($6|0)==(0); + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)>=(1); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zFormat>>2] = $9; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - 1)|0; + HEAP32[$x>>2] = $12; + $13 = ((($x)) + 4|0); + HEAP32[$13>>2] = 0; + $14 = HEAP32[$2>>2]|0; + $15 = ((($14)) + 4|0); + $16 = ((($x)) + 8|0); + HEAP32[$16>>2] = $15; + $17 = HEAP32[$db>>2]|0; + $18 = HEAP32[$db>>2]|0; + $19 = ((($18)) + 92|0); + $20 = HEAP32[$19>>2]|0; + _sqlite3StrAccumInit($str,$17,0,0,$20); + $21 = ((($str)) + 25|0); + HEAP8[$21>>0] = 2; + $22 = HEAP32[$zFormat>>2]|0; + HEAP32[$vararg_buffer>>2] = $x; + _sqlite3XPrintf($str,$22,$vararg_buffer); + $23 = ((($str)) + 12|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$n>>2] = $24; + $25 = HEAP32[$0>>2]|0; + $26 = (_sqlite3StrAccumFinish($str)|0); + $27 = HEAP32[$n>>2]|0; + _sqlite3_result_text($25,$26,$27,170); + STACKTOP = sp;return; +} +function _unicodeFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $z = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$z>>2] = $5; + $6 = HEAP32[$z>>2]|0; + $7 = ($6|0)!=(0|0); if (!($7)) { STACKTOP = sp;return; } - _computeYMD_HMS($x); - $8 = ((($x)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($x)) + 12|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($x)) + 16|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($x)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($x)) + 24|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($x)) + 32|0); - $19 = +HEAPF64[$18>>3]; - $20 = (~~(($19))); - HEAP32[$vararg_buffer>>2] = $9; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $11; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $13; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $15; - $vararg_ptr4 = ((($vararg_buffer)) + 16|0); - HEAP32[$vararg_ptr4>>2] = $17; - $vararg_ptr5 = ((($vararg_buffer)) + 20|0); - HEAP32[$vararg_ptr5>>2] = $20; - (_sqlite3_snprintf(100,$zBuf,46578,$vararg_buffer)|0); - $21 = HEAP32[$0>>2]|0; - _sqlite3_result_text($21,$zBuf,-1,(-1)); + $8 = HEAP32[$z>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9&255; + $11 = ($10|0)!=(0); + if (!($11)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$0>>2]|0; + $13 = (_sqlite3Utf8Read($z)|0); + _sqlite3_result_int($12,$13); STACKTOP = sp;return; } -function _strftimeFunc($context,$argc,$argv) { +function _charFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; - var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; - var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; - var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0, $278 = 0; - var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; - var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; - var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; - var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $152 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $n = 0, $nDay = 0, $s = 0, $vararg_buffer = 0; - var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $wd = 0, $x = 0, $y = 0, $z = 0, $zBuf = 0, $zFmt = 0, dest = 0, label = 0, sp = 0, src = 0; - var stop = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $or$cond = 0, $x = 0, $z = 0, $zOut = 0, label = 0; + var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; - $vararg_buffer28 = sp + 192|0; - $vararg_buffer25 = sp + 184|0; - $vararg_buffer22 = sp + 176|0; - $vararg_buffer19 = sp + 168|0; - $vararg_buffer16 = sp + 160|0; - $vararg_buffer13 = sp + 152|0; - $vararg_buffer10 = sp + 144|0; - $vararg_buffer7 = sp + 136|0; - $vararg_buffer4 = sp + 128|0; - $vararg_buffer1 = sp + 120|0; - $vararg_buffer = sp + 112|0; - $0 = sp + 232|0; - $1 = sp + 228|0; - $2 = sp + 224|0; - $x = sp + 64|0; - $n = sp + 56|0; - $i = sp + 220|0; - $j = sp + 216|0; - $z = sp + 212|0; - $db = sp + 208|0; - $zFmt = sp + 204|0; - $zBuf = sp + 236|0; - $s = sp + 48|0; - $nDay = sp + 200|0; - $y = sp; - $wd = sp + 196|0; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $z = sp + 20|0; + $zOut = sp + 16|0; + $i = sp + 12|0; + $x = sp; + $c = sp + 8|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - if ($4) { - STACKTOP = sp;return; - } - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_text($6)|0); - HEAP32[$zFmt>>2] = $7; - $8 = HEAP32[$zFmt>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - STACKTOP = sp;return; - } - $10 = HEAP32[$0>>2]|0; - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - 1)|0; - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 4|0); - $15 = (_isDate($10,$12,$14,$x)|0); - $16 = ($15|0)!=(0); - if ($16) { + $4 = $3<<2; + $5 = (($4) + 1)|0; + $6 = ($5|0)<(0); + $7 = $6 << 31 >> 31; + $8 = (_sqlite3_malloc64($5,$7)|0); + HEAP32[$z>>2] = $8; + HEAP32[$zOut>>2] = $8; + $9 = HEAP32[$z>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $11 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($11); STACKTOP = sp;return; } - $17 = HEAP32[$0>>2]|0; - $18 = (_sqlite3_context_db_handle($17)|0); - HEAP32[$db>>2] = $18; HEAP32[$i>>2] = 0; - $19 = $n; - $20 = $19; - HEAP32[$20>>2] = 1; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = 0; - L10: while(1) { - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$zFmt>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ($26<<24>>24)!=(0); - if (!($27)) { + while(1) { + $12 = HEAP32[$i>>2]|0; + $13 = HEAP32[$1>>2]|0; + $14 = ($12|0)<($13|0); + if (!($14)) { break; } - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$zFmt>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31 << 24 >> 24; - $33 = ($32|0)==(37); - if ($33) { - $34 = HEAP32[$i>>2]|0; - $35 = (($34) + 1)|0; - $36 = HEAP32[$zFmt>>2]|0; - $37 = (($36) + ($35)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38 << 24 >> 24; - switch ($39|0) { - case 87: case 83: case 77: case 109: case 72: case 100: { - $40 = $n; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + 4)|0; - $44 = $43; - $45 = HEAP32[$44>>2]|0; - $46 = (_i64Add(($42|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = $n; - $49 = $48; - HEAP32[$49>>2] = $46; - $50 = (($48) + 4)|0; - $51 = $50; - HEAP32[$51>>2] = $47; - break; - } - case 37: case 119: { - break; - } - case 102: { - $52 = $n; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = (($52) + 4)|0; - $56 = $55; - $57 = HEAP32[$56>>2]|0; - $58 = (_i64Add(($54|0),($57|0),8,0)|0); - $59 = tempRet0; - $60 = $n; - $61 = $60; - HEAP32[$61>>2] = $58; - $62 = (($60) + 4)|0; - $63 = $62; - HEAP32[$63>>2] = $59; - break; - } - case 106: { - $64 = $n; - $65 = $64; - $66 = HEAP32[$65>>2]|0; - $67 = (($64) + 4)|0; - $68 = $67; - $69 = HEAP32[$68>>2]|0; - $70 = (_i64Add(($66|0),($69|0),3,0)|0); - $71 = tempRet0; - $72 = $n; - $73 = $72; - HEAP32[$73>>2] = $70; - $74 = (($72) + 4)|0; - $75 = $74; - HEAP32[$75>>2] = $71; - break; - } - case 89: { - $76 = $n; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = (($76) + 4)|0; - $80 = $79; - $81 = HEAP32[$80>>2]|0; - $82 = (_i64Add(($78|0),($81|0),8,0)|0); - $83 = tempRet0; - $84 = $n; - $85 = $84; - HEAP32[$85>>2] = $82; - $86 = (($84) + 4)|0; - $87 = $86; - HEAP32[$87>>2] = $83; - break; - } - case 74: case 115: { - $88 = $n; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (($88) + 4)|0; - $92 = $91; - $93 = HEAP32[$92>>2]|0; - $94 = (_i64Add(($90|0),($93|0),50,0)|0); - $95 = tempRet0; - $96 = $n; - $97 = $96; - HEAP32[$97>>2] = $94; - $98 = (($96) + 4)|0; - $99 = $98; - HEAP32[$99>>2] = $95; - break; - } - default: { - label = 44; - break L10; + $15 = HEAP32[$i>>2]|0; + $16 = HEAP32[$2>>2]|0; + $17 = (($16) + ($15<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = (_sqlite3_value_int64($18)|0); + $20 = tempRet0; + $21 = $x; + $22 = $21; + HEAP32[$22>>2] = $19; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = $x; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)<(0); + $32 = $x; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = (($32) + 4)|0; + $36 = $35; + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)>(0); + $39 = ($34>>>0)>(1114111); + $40 = ($37|0)==(0); + $41 = $40 & $39; + $42 = $38 | $41; + $or$cond = $31 | $42; + $43 = $or$cond ? 65533 : $19; + $44 = $or$cond ? 0 : $20; + $45 = $x; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + $49 = $x; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $51 & 2097151; + HEAP32[$c>>2] = $55; + $56 = HEAP32[$c>>2]|0; + $57 = ($56>>>0)<(128); + $58 = HEAP32[$c>>2]|0; + do { + if ($57) { + $59 = $58 & 255; + $60 = $59&255; + $61 = HEAP32[$zOut>>2]|0; + $62 = ((($61)) + 1|0); + HEAP32[$zOut>>2] = $62; + HEAP8[$61>>0] = $60; + } else { + $63 = ($58>>>0)<(2048); + $64 = HEAP32[$c>>2]|0; + if ($63) { + $65 = $64 >>> 6; + $66 = $65 & 31; + $67 = $66&255; + $68 = $67&255; + $69 = (192 + ($68))|0; + $70 = $69&255; + $71 = HEAP32[$zOut>>2]|0; + $72 = ((($71)) + 1|0); + HEAP32[$zOut>>2] = $72; + HEAP8[$71>>0] = $70; + $73 = HEAP32[$c>>2]|0; + $74 = $73 & 63; + $75 = $74&255; + $76 = $75&255; + $77 = (128 + ($76))|0; + $78 = $77&255; + $79 = HEAP32[$zOut>>2]|0; + $80 = ((($79)) + 1|0); + HEAP32[$zOut>>2] = $80; + HEAP8[$79>>0] = $78; + break; + } + $81 = ($64>>>0)<(65536); + $82 = HEAP32[$c>>2]|0; + if ($81) { + $83 = $82 >>> 12; + $84 = $83 & 15; + $85 = $84&255; + $86 = $85&255; + $87 = (224 + ($86))|0; + $88 = $87&255; + $89 = HEAP32[$zOut>>2]|0; + $90 = ((($89)) + 1|0); + HEAP32[$zOut>>2] = $90; + HEAP8[$89>>0] = $88; + $91 = HEAP32[$c>>2]|0; + $92 = $91 >>> 6; + $93 = $92 & 63; + $94 = $93&255; + $95 = $94&255; + $96 = (128 + ($95))|0; + $97 = $96&255; + $98 = HEAP32[$zOut>>2]|0; + $99 = ((($98)) + 1|0); + HEAP32[$zOut>>2] = $99; + HEAP8[$98>>0] = $97; + $100 = HEAP32[$c>>2]|0; + $101 = $100 & 63; + $102 = $101&255; + $103 = $102&255; + $104 = (128 + ($103))|0; + $105 = $104&255; + $106 = HEAP32[$zOut>>2]|0; + $107 = ((($106)) + 1|0); + HEAP32[$zOut>>2] = $107; + HEAP8[$106>>0] = $105; + break; + } else { + $108 = $82 >>> 18; + $109 = $108 & 7; + $110 = $109&255; + $111 = $110&255; + $112 = (240 + ($111))|0; + $113 = $112&255; + $114 = HEAP32[$zOut>>2]|0; + $115 = ((($114)) + 1|0); + HEAP32[$zOut>>2] = $115; + HEAP8[$114>>0] = $113; + $116 = HEAP32[$c>>2]|0; + $117 = $116 >>> 12; + $118 = $117 & 63; + $119 = $118&255; + $120 = $119&255; + $121 = (128 + ($120))|0; + $122 = $121&255; + $123 = HEAP32[$zOut>>2]|0; + $124 = ((($123)) + 1|0); + HEAP32[$zOut>>2] = $124; + HEAP8[$123>>0] = $122; + $125 = HEAP32[$c>>2]|0; + $126 = $125 >>> 6; + $127 = $126 & 63; + $128 = $127&255; + $129 = $128&255; + $130 = (128 + ($129))|0; + $131 = $130&255; + $132 = HEAP32[$zOut>>2]|0; + $133 = ((($132)) + 1|0); + HEAP32[$zOut>>2] = $133; + HEAP8[$132>>0] = $131; + $134 = HEAP32[$c>>2]|0; + $135 = $134 & 63; + $136 = $135&255; + $137 = $136&255; + $138 = (128 + ($137))|0; + $139 = $138&255; + $140 = HEAP32[$zOut>>2]|0; + $141 = ((($140)) + 1|0); + HEAP32[$zOut>>2] = $141; + HEAP8[$140>>0] = $139; + break; + } } + } while(0); + $142 = HEAP32[$i>>2]|0; + $143 = (($142) + 1)|0; + HEAP32[$i>>2] = $143; + } + $144 = HEAP32[$0>>2]|0; + $145 = HEAP32[$z>>2]|0; + $146 = HEAP32[$zOut>>2]|0; + $147 = HEAP32[$z>>2]|0; + $148 = $146; + $149 = $147; + $150 = (($148) - ($149))|0; + $151 = ($150|0)<(0); + $152 = $151 << 31 >> 31; + _sqlite3_result_text64($144,$145,$150,$152,148,1); + STACKTOP = sp;return; +} +function _absFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $iVal = 0, $rVal = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $iVal = sp + 8|0; + $rVal = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 1: { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_int64($7)|0); + $9 = tempRet0; + $10 = $iVal; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = $iVal; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)<(0); + do { + if ($20) { + $21 = $iVal; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = (($21) + 4)|0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = ($23|0)==(0); + $28 = ($26|0)==(-2147483648); + $29 = $27 & $28; + if (!($29)) { + $31 = $iVal; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (_i64Subtract(0,0,($33|0),($36|0))|0); + $38 = tempRet0; + $39 = $iVal; + $40 = $39; + HEAP32[$40>>2] = $37; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + break; + } + $30 = HEAP32[$0>>2]|0; + _sqlite3_result_error($30,46258,-1); + STACKTOP = sp;return; } - $100 = HEAP32[$i>>2]|0; - $101 = (($100) + 1)|0; - HEAP32[$i>>2] = $101; - } - $102 = HEAP32[$i>>2]|0; - $103 = (($102) + 1)|0; - HEAP32[$i>>2] = $103; - $104 = $n; - $105 = $104; - $106 = HEAP32[$105>>2]|0; - $107 = (($104) + 4)|0; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (_i64Add(($106|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = $n; - $113 = $112; - HEAP32[$113>>2] = $110; - $114 = (($112) + 4)|0; - $115 = $114; - HEAP32[$115>>2] = $111; + } while(0); + $43 = HEAP32[$0>>2]|0; + $44 = $iVal; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = (($44) + 4)|0; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + _sqlite3_result_int64($43,$46,$49); + STACKTOP = sp;return; + break; } - if ((label|0) == 44) { + case 5: { + $50 = HEAP32[$0>>2]|0; + _sqlite3_result_null($50); STACKTOP = sp;return; + break; } - $116 = $n; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = ($121>>>0)<(0); - $123 = ($118>>>0)<(100); - $124 = ($121|0)==(0); - $125 = $124 & $123; - $126 = $122 | $125; - if ($126) { - HEAP32[$z>>2] = $zBuf; - } else { - $127 = $n; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = HEAP32[$db>>2]|0; - $134 = ((($133)) + 88|0); - $135 = HEAP32[$134>>2]|0; - $136 = ($135|0)<(0); - $137 = $136 << 31 >> 31; - $138 = ($132>>>0)>($137>>>0); - $139 = ($129>>>0)>($135>>>0); - $140 = ($132|0)==($137|0); - $141 = $140 & $139; - $142 = $138 | $141; - if ($142) { - $143 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($143); - STACKTOP = sp;return; + default: { + $51 = HEAP32[$2>>2]|0; + $52 = HEAP32[$51>>2]|0; + $53 = (+_sqlite3_value_double($52)); + HEAPF64[$rVal>>3] = $53; + $54 = +HEAPF64[$rVal>>3]; + $55 = $54 < 0.0; + if ($55) { + $56 = +HEAPF64[$rVal>>3]; + $57 = -$56; + HEAPF64[$rVal>>3] = $57; } - $144 = HEAP32[$db>>2]|0; - $145 = $n; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (($145) + 4)|0; - $149 = $148; - $150 = HEAP32[$149>>2]|0; - $151 = ($147|0)<(0); - $152 = $151 << 31 >> 31; - $153 = (_sqlite3DbMallocRawNN($144,$147,$152)|0); - HEAP32[$z>>2] = $153; - $154 = HEAP32[$z>>2]|0; - $155 = ($154|0)==(0|0); - if ($155) { - $156 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($156); + $58 = HEAP32[$0>>2]|0; + $59 = +HEAPF64[$rVal>>3]; + _sqlite3_result_double($58,$59); + STACKTOP = sp;return; + } + } +} +function _roundFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$ = 0, $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; + var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; + var $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $r = 0, $vararg_buffer = 0, $vararg_ptr6 = 0, $zBuf = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp + 8|0; + $0 = sp + 40|0; + $1 = sp + 36|0; + $2 = sp + 32|0; + $n = sp + 28|0; + $r = sp; + $zBuf = sp + 24|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$n>>2] = 0; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(2); + do { + if ($4) { + $5 = HEAP32[$2>>2]|0; + $6 = ((($5)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_type($7)|0); + $9 = (5)==($8|0); + if ($9) { + STACKTOP = sp;return; + } else { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 4|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_int($12)|0); + HEAP32[$n>>2] = $13; + $14 = HEAP32[$n>>2]|0; + $15 = ($14|0)>(30); + $$ = $15 ? 30 : $13; + HEAP32[$n>>2] = $$; + $16 = HEAP32[$n>>2]|0; + $17 = ($16|0)<(0); + $$$ = $17 ? 0 : $$; + HEAP32[$n>>2] = $$$; + break; + } + } + } while(0); + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_type($19)|0); + $21 = ($20|0)==(5); + if ($21) { + STACKTOP = sp;return; + } + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + $24 = (+_sqlite3_value_double($23)); + HEAPF64[$r>>3] = $24; + $25 = HEAP32[$n>>2]|0; + $26 = ($25|0)==(0); + $27 = +HEAPF64[$r>>3]; + $28 = $27 >= 0.0; + $or$cond = $26 & $28; + $29 = +HEAPF64[$r>>3]; + $30 = $29 < 9.2233720368547758E+18; + $or$cond3 = $or$cond & $30; + do { + if ($or$cond3) { + $31 = +HEAPF64[$r>>3]; + $32 = $31 + 0.5; + $33 = (~~$32)>>>0; + $34 = +Math_abs($32) >= 1.0 ? $32 > 0.0 ? (~~+Math_min(+Math_floor($32 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($32 - +(~~$32 >>> 0)) / 4294967296.0) >>> 0 : 0; + $35 = (+($33>>>0)) + (4294967296.0*(+($34|0))); + HEAPF64[$r>>3] = $35; + } else { + $36 = HEAP32[$n>>2]|0; + $37 = ($36|0)==(0); + $38 = +HEAPF64[$r>>3]; + $39 = $38 < 0.0; + $or$cond5 = $37 & $39; + if ($or$cond5) { + $40 = +HEAPF64[$r>>3]; + $41 = -$40; + $42 = $41 < 9.2233720368547758E+18; + if ($42) { + $43 = +HEAPF64[$r>>3]; + $44 = -$43; + $45 = $44 + 0.5; + $46 = (~~$45)>>>0; + $47 = +Math_abs($45) >= 1.0 ? $45 > 0.0 ? (~~+Math_min(+Math_floor($45 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($45 - +(~~$45 >>> 0)) / 4294967296.0) >>> 0 : 0; + $48 = (+($46>>>0)) + (4294967296.0*(+($47|0))); + $49 = -$48; + HEAPF64[$r>>3] = $49; + break; + } + } + $50 = HEAP32[$n>>2]|0; + $51 = +HEAPF64[$r>>3]; + HEAP32[$vararg_buffer>>2] = $50; + $vararg_ptr6 = ((($vararg_buffer)) + 8|0); + HEAPF64[$vararg_ptr6>>3] = $51; + $52 = (_sqlite3_mprintf(46298,$vararg_buffer)|0); + HEAP32[$zBuf>>2] = $52; + $53 = HEAP32[$zBuf>>2]|0; + $54 = ($53|0)==(0|0); + if (!($54)) { + $56 = HEAP32[$zBuf>>2]|0; + $57 = HEAP32[$zBuf>>2]|0; + $58 = (_sqlite3Strlen30($57)|0); + (_sqlite3AtoF($56,$r,$58,1)|0); + $59 = HEAP32[$zBuf>>2]|0; + _sqlite3_free($59); + break; + } + $55 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($55); STACKTOP = sp;return; } + } while(0); + $60 = HEAP32[$0>>2]|0; + $61 = +HEAPF64[$r>>3]; + _sqlite3_result_double($60,$61); + STACKTOP = sp;return; +} +function _upperFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $z1 = sp + 12|0; + $z2 = sp + 8|0; + $i = sp + 4|0; + $n = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$z2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$z2>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$n>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_i64Add(($12|0),($14|0),1,0)|0); + $16 = tempRet0; + $17 = (_contextMalloc($11,$15,$16)|0); + HEAP32[$z1>>2] = $17; + $18 = HEAP32[$z1>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; } - _computeJD($x); - _computeYMD_HMS($x); - HEAP32[$j>>2] = 0; HEAP32[$i>>2] = 0; while(1) { - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$zFmt>>2]|0; - $159 = (($158) + ($157)|0); - $160 = HEAP8[$159>>0]|0; - $161 = ($160<<24>>24)!=(0); - if (!($161)) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$n>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { break; } - $162 = HEAP32[$i>>2]|0; - $163 = HEAP32[$zFmt>>2]|0; - $164 = (($163) + ($162)|0); - $165 = HEAP8[$164>>0]|0; - $166 = $165 << 24 >> 24; - $167 = ($166|0)!=(37); - $168 = HEAP32[$i>>2]|0; - L39: do { - if ($167) { - $169 = HEAP32[$zFmt>>2]|0; - $170 = (($169) + ($168)|0); - $171 = HEAP8[$170>>0]|0; - $172 = HEAP32[$j>>2]|0; - $173 = (($172) + 1)|0; - HEAP32[$j>>2] = $173; - $174 = HEAP32[$z>>2]|0; - $175 = (($174) + ($172)|0); - HEAP8[$175>>0] = $171; - } else { - $176 = (($168) + 1)|0; - HEAP32[$i>>2] = $176; - $177 = HEAP32[$i>>2]|0; - $178 = HEAP32[$zFmt>>2]|0; - $179 = (($178) + ($177)|0); - $180 = HEAP8[$179>>0]|0; - $181 = $180 << 24 >> 24; - do { - switch ($181|0) { - case 100: { - $182 = HEAP32[$j>>2]|0; - $183 = HEAP32[$z>>2]|0; - $184 = (($183) + ($182)|0); - $185 = ((($x)) + 16|0); - $186 = HEAP32[$185>>2]|0; - HEAP32[$vararg_buffer>>2] = $186; - (_sqlite3_snprintf(3,$184,46420,$vararg_buffer)|0); - $187 = HEAP32[$j>>2]|0; - $188 = (($187) + 2)|0; - HEAP32[$j>>2] = $188; - break L39; - break; - } - case 102: { - $189 = ((($x)) + 32|0); - $190 = +HEAPF64[$189>>3]; - HEAPF64[$s>>3] = $190; - $191 = +HEAPF64[$s>>3]; - $192 = $191 > 59.999000000000002; - if ($192) { - HEAPF64[$s>>3] = 59.999000000000002; - } - $193 = HEAP32[$j>>2]|0; - $194 = HEAP32[$z>>2]|0; - $195 = (($194) + ($193)|0); - $196 = +HEAPF64[$s>>3]; - HEAPF64[$vararg_buffer1>>3] = $196; - (_sqlite3_snprintf(7,$195,46425,$vararg_buffer1)|0); - $197 = HEAP32[$j>>2]|0; - $198 = HEAP32[$z>>2]|0; - $199 = (($198) + ($197)|0); - $200 = (_sqlite3Strlen30($199)|0); - $201 = HEAP32[$j>>2]|0; - $202 = (($201) + ($200))|0; - HEAP32[$j>>2] = $202; - break L39; - break; - } - case 72: { - $203 = HEAP32[$j>>2]|0; - $204 = HEAP32[$z>>2]|0; - $205 = (($204) + ($203)|0); - $206 = ((($x)) + 20|0); - $207 = HEAP32[$206>>2]|0; - HEAP32[$vararg_buffer4>>2] = $207; - (_sqlite3_snprintf(3,$205,46420,$vararg_buffer4)|0); - $208 = HEAP32[$j>>2]|0; - $209 = (($208) + 2)|0; - HEAP32[$j>>2] = $209; - break L39; - break; - } - case 106: case 87: { - dest=$y; src=$x; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $210 = ((($y)) + 42|0); - HEAP8[$210>>0] = 0; - $211 = ((($y)) + 12|0); - HEAP32[$211>>2] = 1; - $212 = ((($y)) + 16|0); - HEAP32[$212>>2] = 1; - _computeJD($y); - $213 = $x; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (($213) + 4)|0; - $217 = $216; - $218 = HEAP32[$217>>2]|0; - $219 = $y; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = (_i64Subtract(($215|0),($218|0),($221|0),($224|0))|0); - $226 = tempRet0; - $227 = (_i64Add(($225|0),($226|0),43200000,0)|0); - $228 = tempRet0; - $229 = (___divdi3(($227|0),($228|0),86400000,0)|0); - $230 = tempRet0; - HEAP32[$nDay>>2] = $229; - $231 = HEAP32[$i>>2]|0; - $232 = HEAP32[$zFmt>>2]|0; - $233 = (($232) + ($231)|0); - $234 = HEAP8[$233>>0]|0; - $235 = $234 << 24 >> 24; - $236 = ($235|0)==(87); - if ($236) { - $237 = $x; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = (_i64Add(($239|0),($242|0),43200000,0)|0); - $244 = tempRet0; - $245 = (___divdi3(($243|0),($244|0),86400000,0)|0); - $246 = tempRet0; - $247 = (___remdi3(($245|0),($246|0),7,0)|0); - $248 = tempRet0; - HEAP32[$wd>>2] = $247; - $249 = HEAP32[$j>>2]|0; - $250 = HEAP32[$z>>2]|0; - $251 = (($250) + ($249)|0); - $252 = HEAP32[$nDay>>2]|0; - $253 = (($252) + 7)|0; - $254 = HEAP32[$wd>>2]|0; - $255 = (($253) - ($254))|0; - $256 = (($255|0) / 7)&-1; - HEAP32[$vararg_buffer7>>2] = $256; - (_sqlite3_snprintf(3,$251,46420,$vararg_buffer7)|0); - $257 = HEAP32[$j>>2]|0; - $258 = (($257) + 2)|0; - HEAP32[$j>>2] = $258; - break L39; - } else { - $259 = HEAP32[$j>>2]|0; - $260 = HEAP32[$z>>2]|0; - $261 = (($260) + ($259)|0); - $262 = HEAP32[$nDay>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$vararg_buffer10>>2] = $263; - (_sqlite3_snprintf(4,$261,46432,$vararg_buffer10)|0); - $264 = HEAP32[$j>>2]|0; - $265 = (($264) + 3)|0; - HEAP32[$j>>2] = $265; - break L39; - } - break; - } - case 74: { - $266 = HEAP32[$j>>2]|0; - $267 = HEAP32[$z>>2]|0; - $268 = (($267) + ($266)|0); - $269 = $x; - $270 = $269; - $271 = HEAP32[$270>>2]|0; - $272 = (($269) + 4)|0; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (+($271>>>0)) + (4294967296.0*(+($274|0))); - $276 = $275 / 8.64E+7; - HEAPF64[$vararg_buffer13>>3] = $276; - (_sqlite3_snprintf(20,$268,43396,$vararg_buffer13)|0); - $277 = HEAP32[$j>>2]|0; - $278 = HEAP32[$z>>2]|0; - $279 = (($278) + ($277)|0); - $280 = (_sqlite3Strlen30($279)|0); - $281 = HEAP32[$j>>2]|0; - $282 = (($281) + ($280))|0; - HEAP32[$j>>2] = $282; - break L39; - break; - } - case 109: { - $283 = HEAP32[$j>>2]|0; - $284 = HEAP32[$z>>2]|0; - $285 = (($284) + ($283)|0); - $286 = ((($x)) + 12|0); - $287 = HEAP32[$286>>2]|0; - HEAP32[$vararg_buffer16>>2] = $287; - (_sqlite3_snprintf(3,$285,46420,$vararg_buffer16)|0); - $288 = HEAP32[$j>>2]|0; - $289 = (($288) + 2)|0; - HEAP32[$j>>2] = $289; - break L39; - break; - } - case 77: { - $290 = HEAP32[$j>>2]|0; - $291 = HEAP32[$z>>2]|0; - $292 = (($291) + ($290)|0); - $293 = ((($x)) + 24|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$vararg_buffer19>>2] = $294; - (_sqlite3_snprintf(3,$292,46420,$vararg_buffer19)|0); - $295 = HEAP32[$j>>2]|0; - $296 = (($295) + 2)|0; - HEAP32[$j>>2] = $296; - break L39; - break; - } - case 115: { - $297 = HEAP32[$j>>2]|0; - $298 = HEAP32[$z>>2]|0; - $299 = (($298) + ($297)|0); - $300 = $x; - $301 = $300; - $302 = HEAP32[$301>>2]|0; - $303 = (($300) + 4)|0; - $304 = $303; - $305 = HEAP32[$304>>2]|0; - $306 = (___divdi3(($302|0),($305|0),1000,0)|0); - $307 = tempRet0; - $308 = (_i64Subtract(($306|0),($307|0),413362496,49)|0); - $309 = tempRet0; - $310 = $vararg_buffer22; - $311 = $310; - HEAP32[$311>>2] = $308; - $312 = (($310) + 4)|0; - $313 = $312; - HEAP32[$313>>2] = $309; - (_sqlite3_snprintf(30,$299,29137,$vararg_buffer22)|0); - $314 = HEAP32[$j>>2]|0; - $315 = HEAP32[$z>>2]|0; - $316 = (($315) + ($314)|0); - $317 = (_sqlite3Strlen30($316)|0); - $318 = HEAP32[$j>>2]|0; - $319 = (($318) + ($317))|0; - HEAP32[$j>>2] = $319; - break L39; - break; - } - case 83: { - $320 = HEAP32[$j>>2]|0; - $321 = HEAP32[$z>>2]|0; - $322 = (($321) + ($320)|0); - $323 = ((($x)) + 32|0); - $324 = +HEAPF64[$323>>3]; - $325 = (~~(($324))); - HEAP32[$vararg_buffer25>>2] = $325; - (_sqlite3_snprintf(3,$322,46420,$vararg_buffer25)|0); - $326 = HEAP32[$j>>2]|0; - $327 = (($326) + 2)|0; - HEAP32[$j>>2] = $327; - break L39; - break; - } - case 119: { - $328 = $x; - $329 = $328; - $330 = HEAP32[$329>>2]|0; - $331 = (($328) + 4)|0; - $332 = $331; - $333 = HEAP32[$332>>2]|0; - $334 = (_i64Add(($330|0),($333|0),129600000,0)|0); - $335 = tempRet0; - $336 = (___divdi3(($334|0),($335|0),86400000,0)|0); - $337 = tempRet0; - $338 = (___remdi3(($336|0),($337|0),7,0)|0); - $339 = tempRet0; - $340 = $338&255; - $341 = $340 << 24 >> 24; - $342 = (($341) + 48)|0; - $343 = $342&255; - $344 = HEAP32[$j>>2]|0; - $345 = (($344) + 1)|0; - HEAP32[$j>>2] = $345; - $346 = HEAP32[$z>>2]|0; - $347 = (($346) + ($344)|0); - HEAP8[$347>>0] = $343; - break L39; - break; - } - case 89: { - $348 = HEAP32[$j>>2]|0; - $349 = HEAP32[$z>>2]|0; - $350 = (($349) + ($348)|0); - $351 = ((($x)) + 8|0); - $352 = HEAP32[$351>>2]|0; - HEAP32[$vararg_buffer28>>2] = $352; - (_sqlite3_snprintf(5,$350,46437,$vararg_buffer28)|0); - $353 = HEAP32[$j>>2]|0; - $354 = HEAP32[$z>>2]|0; - $355 = (($354) + ($353)|0); - $356 = (_sqlite3Strlen30($355)|0); - $357 = HEAP32[$j>>2]|0; - $358 = (($357) + ($356))|0; - HEAP32[$j>>2] = $358; - break L39; - break; - } - default: { - $359 = HEAP32[$j>>2]|0; - $360 = (($359) + 1)|0; - HEAP32[$j>>2] = $360; - $361 = HEAP32[$z>>2]|0; - $362 = (($361) + ($359)|0); - HEAP8[$362>>0] = 37; - break L39; - } - } - } while(0); - } - } while(0); - $363 = HEAP32[$i>>2]|0; - $364 = (($363) + 1)|0; - HEAP32[$i>>2] = $364; + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$z2>>2]|0; + $25 = (($24) + ($23)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$z2>>2]|0; + $30 = (($29) + ($28)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = (19011 + ($32)|0); + $34 = HEAP8[$33>>0]|0; + $35 = $34&255; + $36 = $35 & 32; + $37 = $36 ^ -1; + $38 = $27 & $37; + $39 = $38&255; + $40 = HEAP32[$i>>2]|0; + $41 = HEAP32[$z1>>2]|0; + $42 = (($41) + ($40)|0); + HEAP8[$42>>0] = $39; + $43 = HEAP32[$i>>2]|0; + $44 = (($43) + 1)|0; + HEAP32[$i>>2] = $44; } - $365 = HEAP32[$j>>2]|0; - $366 = HEAP32[$z>>2]|0; - $367 = (($366) + ($365)|0); - HEAP8[$367>>0] = 0; - $368 = HEAP32[$0>>2]|0; - $369 = HEAP32[$z>>2]|0; - $370 = HEAP32[$z>>2]|0; - $371 = ($370|0)==($zBuf|0); - $372 = $371 ? (-1) : 170; - _sqlite3_result_text($368,$369,-1,$372); + $45 = HEAP32[$0>>2]|0; + $46 = HEAP32[$z1>>2]|0; + $47 = HEAP32[$n>>2]|0; + _sqlite3_result_text($45,$46,$47,148); STACKTOP = sp;return; } -function _ctimeFunc($context,$NotUsed,$NotUsed2) { +function _lowerFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0; + var $z1 = 0, $z2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $z1 = sp + 12|0; + $z2 = sp + 8|0; + $i = sp + 4|0; + $n = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$z2>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$z2>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$n>>2]|0; + $13 = ($12|0)<(0); + $14 = $13 << 31 >> 31; + $15 = (_i64Add(($12|0),($14|0),1,0)|0); + $16 = tempRet0; + $17 = (_contextMalloc($11,$15,$16)|0); + HEAP32[$z1>>2] = $17; + $18 = HEAP32[$z1>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$n>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { + break; + } + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$z2>>2]|0; + $25 = (($24) + ($23)|0); + $26 = HEAP8[$25>>0]|0; + $27 = $26&255; + $28 = (18221 + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = HEAP32[$i>>2]|0; + $31 = HEAP32[$z1>>2]|0; + $32 = (($31) + ($30)|0); + HEAP8[$32>>0] = $29; + $33 = HEAP32[$i>>2]|0; + $34 = (($33) + 1)|0; + HEAP32[$i>>2] = $34; + } + $35 = HEAP32[$0>>2]|0; + $36 = HEAP32[$z1>>2]|0; + $37 = HEAP32[$n>>2]|0; + _sqlite3_result_text($35,$36,$37,148); + STACKTOP = sp;return; +} +function _hexFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $n = 0, $pBlob = 0, $z = 0, $zHex = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $i = sp + 16|0; + $n = sp + 12|0; + $pBlob = sp + 8|0; + $zHex = sp + 4|0; + $z = sp; + $c = sp + 32|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_blob($4)|0); + HEAP32[$pBlob>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (_sqlite3_value_bytes($7)|0); + HEAP32[$n>>2] = $8; + $9 = HEAP32[$0>>2]|0; + $10 = HEAP32[$n>>2]|0; + $11 = ($10|0)<(0); + $12 = $11 << 31 >> 31; + $13 = (___muldi3(($10|0),($12|0),2,0)|0); + $14 = tempRet0; + $15 = (_i64Add(($13|0),($14|0),1,0)|0); + $16 = tempRet0; + $17 = (_contextMalloc($9,$15,$16)|0); + HEAP32[$zHex>>2] = $17; + HEAP32[$z>>2] = $17; + $18 = HEAP32[$zHex>>2]|0; + $19 = ($18|0)!=(0|0); + if (!($19)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $20 = HEAP32[$i>>2]|0; + $21 = HEAP32[$n>>2]|0; + $22 = ($20|0)<($21|0); + if (!($22)) { + break; + } + $23 = HEAP32[$pBlob>>2]|0; + $24 = HEAP8[$23>>0]|0; + HEAP8[$c>>0] = $24; + $25 = HEAP8[$c>>0]|0; + $26 = $25&255; + $27 = $26 >> 4; + $28 = $27 & 15; + $29 = (46282 + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = HEAP32[$z>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$z>>2] = $32; + HEAP8[$31>>0] = $30; + $33 = HEAP8[$c>>0]|0; + $34 = $33&255; + $35 = $34 & 15; + $36 = (46282 + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = HEAP32[$z>>2]|0; + $39 = ((($38)) + 1|0); + HEAP32[$z>>2] = $39; + HEAP8[$38>>0] = $37; + $40 = HEAP32[$i>>2]|0; + $41 = (($40) + 1)|0; + HEAP32[$i>>2] = $41; + $42 = HEAP32[$pBlob>>2]|0; + $43 = ((($42)) + 1|0); + HEAP32[$pBlob>>2] = $43; + } + $44 = HEAP32[$z>>2]|0; + HEAP8[$44>>0] = 0; + $45 = HEAP32[$0>>2]|0; + $46 = HEAP32[$zHex>>2]|0; + $47 = HEAP32[$n>>2]|0; + $48 = $47<<1; + _sqlite3_result_text($45,$46,$48,148); + STACKTOP = sp;return; +} +function _randomFunc($context,$NotUsed,$NotUsed2) { $context = $context|0; $NotUsed = $NotUsed|0; $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $r = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $NotUsed; HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - _timeFunc($3,0,0); + _sqlite3_randomness(8,$r); + $3 = $r; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + 4)|0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<(0); + if ($9) { + $10 = $r; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = $15 & 2147483647; + $17 = (_i64Subtract(0,0,($12|0),($16|0))|0); + $18 = tempRet0; + $19 = $r; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + } + $23 = HEAP32[$0>>2]|0; + $24 = $r; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + _sqlite3_result_int64($23,$26,$29); STACKTOP = sp;return; } -function _ctimestampFunc($context,$NotUsed,$NotUsed2) { +function _randomBlob($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $n = 0, $p = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 16|0; + $1 = sp + 12|0; + $2 = sp + 8|0; + $n = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int($4)|0); + HEAP32[$n>>2] = $5; + $6 = HEAP32[$n>>2]|0; + $7 = ($6|0)<(1); + $$ = $7 ? 1 : $5; + HEAP32[$n>>2] = $$; + $8 = HEAP32[$0>>2]|0; + $9 = HEAP32[$n>>2]|0; + $10 = ($9|0)<(0); + $11 = $10 << 31 >> 31; + $12 = (_contextMalloc($8,$9,$11)|0); + HEAP32[$p>>2] = $12; + $13 = HEAP32[$p>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + STACKTOP = sp;return; + } + $15 = HEAP32[$n>>2]|0; + $16 = HEAP32[$p>>2]|0; + _sqlite3_randomness($15,$16); + $17 = HEAP32[$0>>2]|0; + $18 = HEAP32[$p>>2]|0; + $19 = HEAP32[$n>>2]|0; + _sqlite3_result_blob($17,$18,$19,148); + STACKTOP = sp;return; +} +function _nullifFunc($context,$NotUsed,$argv) { $context = $context|0; $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColl = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $pColl = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; + HEAP32[$2>>2] = $argv; $3 = HEAP32[$0>>2]|0; - _datetimeFunc($3,0,0); + $4 = (_sqlite3GetFuncCollSeq($3)|0); + HEAP32[$pColl>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = HEAP32[$2>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = HEAP32[$pColl>>2]|0; + $11 = (_sqlite3MemCompare($6,$9,$10)|0); + $12 = ($11|0)!=(0); + if (!($12)) { + STACKTOP = sp;return; + } + $13 = HEAP32[$0>>2]|0; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$14>>2]|0; + _sqlite3_result_value($13,$15); STACKTOP = sp;return; } -function _cdateFunc($context,$NotUsed,$NotUsed2) { +function _sourceidFunc($context,$NotUsed,$NotUsed2) { $context = $context|0; $NotUsed = $NotUsed|0; $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; @@ -260529,3304 +262827,2108 @@ function _cdateFunc($context,$NotUsed,$NotUsed2) { HEAP32[$1>>2] = $NotUsed; HEAP32[$2>>2] = $NotUsed2; $3 = HEAP32[$0>>2]|0; - _dateFunc($3,0,0); + $4 = (_sqlite3_sourceid()|0); + _sqlite3_result_text($3,$4,-1,0); STACKTOP = sp;return; } -function _isDate($context,$argc,$argv,$p) { +function _errlogFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $i = 0, $or$cond = 0; - var $z = 0, dest = 0, label = 0, sp = 0, stop = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $3 = sp + 16|0; - $4 = sp + 12|0; - $i = sp + 8|0; - $z = sp + 4|0; - $eType = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $argc; - HEAP32[$3>>2] = $argv; - HEAP32[$4>>2] = $p; - $5 = HEAP32[$4>>2]|0; - dest=$5; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = STACKTOP + 16|0; + $vararg_buffer = sp; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int($4)|0); $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$4>>2]|0; - $10 = (_setDateTimeToCurrent($8,$9)|0); - HEAP32[$0>>2] = $10; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - $11 = HEAP32[$3>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_type($12)|0); - HEAP32[$eType>>2] = $13; - $14 = ($13|0)==(2); - $15 = HEAP32[$eType>>2]|0; - $16 = ($15|0)==(1); - $or$cond = $14 | $16; - $17 = HEAP32[$3>>2]|0; - $18 = HEAP32[$17>>2]|0; - do { - if ($or$cond) { - $19 = (+_sqlite3_value_double($18)); - $20 = $19 * 8.64E+7; - $21 = $20 + 0.5; - $22 = (~~$21)>>>0; - $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (~~+Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; - $24 = HEAP32[$4>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = $22; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $23; - $29 = HEAP32[$4>>2]|0; - $30 = ((($29)) + 42|0); - HEAP8[$30>>0] = 1; - } else { - $31 = (_sqlite3_value_text($18)|0); - HEAP32[$z>>2] = $31; - $32 = HEAP32[$z>>2]|0; - $33 = ($32|0)!=(0|0); - if ($33) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP32[$z>>2]|0; - $36 = HEAP32[$4>>2]|0; - $37 = (_parseDateOrTime($34,$35,$36)|0); - $38 = ($37|0)!=(0); - if (!($38)) { - break; - } - } - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - } while(0); - HEAP32[$i>>2] = 1; - while(1) { - $39 = HEAP32[$i>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = ($39|0)<($40|0); - if (!($41)) { - label = 14; - break; - } - $42 = HEAP32[$i>>2]|0; - $43 = HEAP32[$3>>2]|0; - $44 = (($43) + ($42<<2)|0); - $45 = HEAP32[$44>>2]|0; - $46 = (_sqlite3_value_text($45)|0); - HEAP32[$z>>2] = $46; - $47 = HEAP32[$z>>2]|0; - $48 = ($47|0)==(0|0); - if ($48) { - label = 12; - break; - } - $49 = HEAP32[$1>>2]|0; - $50 = HEAP32[$z>>2]|0; - $51 = HEAP32[$4>>2]|0; - $52 = (_parseModifier($49,$50,$51)|0); - $53 = ($52|0)!=(0); - if ($53) { - label = 12; - break; - } - $54 = HEAP32[$i>>2]|0; - $55 = (($54) + 1)|0; - HEAP32[$i>>2] = $55; - } - if ((label|0) == 12) { - HEAP32[$0>>2] = 1; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - else if ((label|0) == 14) { - HEAP32[$0>>2] = 0; - $56 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($56|0); - } - return (0)|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$vararg_buffer>>2] = $9; + _sqlite3_log($5,18999,$vararg_buffer); + STACKTOP = sp;return; } -function _computeJD($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; - var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; - var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0, $98 = 0, $99 = 0, $A = 0, $B = 0, $D = 0, $M = 0, $X1 = 0, $X2 = 0, $Y = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $Y = sp + 24|0; - $M = sp + 20|0; - $D = sp + 16|0; - $A = sp + 12|0; - $B = sp + 8|0; - $X1 = sp + 4|0; - $X2 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 42|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { +function _quoteFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $i1 = 0, $j = 0, $n = 0, $nBlob = 0, $r1 = 0, $r2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; + var $z = 0, $zArg = 0, $zBlob = 0, $zBuf = 0, $zText = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; + $vararg_buffer1 = sp + 32|0; + $vararg_buffer = sp + 24|0; + $0 = sp + 80|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $r1 = sp + 16|0; + $r2 = sp + 8|0; + $zBuf = sp + 84|0; + $zText = sp + 68|0; + $zBlob = sp + 64|0; + $nBlob = sp + 60|0; + $i = sp + 56|0; + $i1 = sp + 52|0; + $j = sp + 48|0; + $n = sp; + $zArg = sp + 44|0; + $z = sp + 40|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + switch ($5|0) { + case 2: { + $6 = HEAP32[$2>>2]|0; + $7 = HEAP32[$6>>2]|0; + $8 = (+_sqlite3_value_double($7)); + HEAPF64[$r1>>3] = $8; + $9 = +HEAPF64[$r1>>3]; + HEAPF64[$vararg_buffer>>3] = $9; + (_sqlite3_snprintf(50,$zBuf,28867,$vararg_buffer)|0); + (_sqlite3AtoF($zBuf,$r2,20,1)|0); + $10 = +HEAPF64[$r1>>3]; + $11 = +HEAPF64[$r2>>3]; + $12 = $10 != $11; + if ($12) { + $13 = +HEAPF64[$r1>>3]; + HEAPF64[$vararg_buffer1>>3] = $13; + (_sqlite3_snprintf(50,$zBuf,46275,$vararg_buffer1)|0); + } + $14 = HEAP32[$0>>2]|0; + _sqlite3_result_text($14,$zBuf,-1,(-1)); STACKTOP = sp;return; + break; } - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 40|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 8|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[$Y>>2] = $11; - $12 = HEAP32[$0>>2]|0; - $13 = ((($12)) + 12|0); - $14 = HEAP32[$13>>2]|0; - HEAP32[$M>>2] = $14; + case 1: { $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 16|0); + $16 = HEAP32[$2>>2]|0; $17 = HEAP32[$16>>2]|0; - HEAP32[$D>>2] = $17; - } else { - HEAP32[$Y>>2] = 2000; - HEAP32[$M>>2] = 1; - HEAP32[$D>>2] = 1; + _sqlite3_result_value($15,$17); + STACKTOP = sp;return; + break; } - $18 = HEAP32[$M>>2]|0; - $19 = ($18|0)<=(2); - if ($19) { - $20 = HEAP32[$Y>>2]|0; - $21 = (($20) + -1)|0; - HEAP32[$Y>>2] = $21; - $22 = HEAP32[$M>>2]|0; - $23 = (($22) + 12)|0; - HEAP32[$M>>2] = $23; + case 4: { + HEAP32[$zText>>2] = 0; + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = (_sqlite3_value_blob($19)|0); + HEAP32[$zBlob>>2] = $20; + $21 = HEAP32[$2>>2]|0; + $22 = HEAP32[$21>>2]|0; + $23 = (_sqlite3_value_bytes($22)|0); + HEAP32[$nBlob>>2] = $23; + $24 = HEAP32[$0>>2]|0; + $25 = HEAP32[$nBlob>>2]|0; + $26 = ($25|0)<(0); + $27 = $26 << 31 >> 31; + $28 = (___muldi3(2,0,($25|0),($27|0))|0); + $29 = tempRet0; + $30 = (_i64Add(($28|0),($29|0),4,0)|0); + $31 = tempRet0; + $32 = (_contextMalloc($24,$30,$31)|0); + HEAP32[$zText>>2] = $32; + $33 = HEAP32[$zText>>2]|0; + $34 = ($33|0)!=(0|0); + if (!($34)) { + STACKTOP = sp;return; + } + HEAP32[$i>>2] = 0; + while(1) { + $35 = HEAP32[$i>>2]|0; + $36 = HEAP32[$nBlob>>2]|0; + $37 = ($35|0)<($36|0); + if (!($37)) { + break; + } + $38 = HEAP32[$i>>2]|0; + $39 = HEAP32[$zBlob>>2]|0; + $40 = (($39) + ($38)|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41 << 24 >> 24; + $43 = $42 >> 4; + $44 = $43 & 15; + $45 = (46282 + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = HEAP32[$i>>2]|0; + $48 = $47<<1; + $49 = (($48) + 2)|0; + $50 = HEAP32[$zText>>2]|0; + $51 = (($50) + ($49)|0); + HEAP8[$51>>0] = $46; + $52 = HEAP32[$i>>2]|0; + $53 = HEAP32[$zBlob>>2]|0; + $54 = (($53) + ($52)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $55 << 24 >> 24; + $57 = $56 & 15; + $58 = (46282 + ($57)|0); + $59 = HEAP8[$58>>0]|0; + $60 = HEAP32[$i>>2]|0; + $61 = $60<<1; + $62 = (($61) + 3)|0; + $63 = HEAP32[$zText>>2]|0; + $64 = (($63) + ($62)|0); + HEAP8[$64>>0] = $59; + $65 = HEAP32[$i>>2]|0; + $66 = (($65) + 1)|0; + HEAP32[$i>>2] = $66; + } + $67 = HEAP32[$nBlob>>2]|0; + $68 = $67<<1; + $69 = (($68) + 2)|0; + $70 = HEAP32[$zText>>2]|0; + $71 = (($70) + ($69)|0); + HEAP8[$71>>0] = 39; + $72 = HEAP32[$nBlob>>2]|0; + $73 = $72<<1; + $74 = (($73) + 3)|0; + $75 = HEAP32[$zText>>2]|0; + $76 = (($75) + ($74)|0); + HEAP8[$76>>0] = 0; + $77 = HEAP32[$zText>>2]|0; + HEAP8[$77>>0] = 88; + $78 = HEAP32[$zText>>2]|0; + $79 = ((($78)) + 1|0); + HEAP8[$79>>0] = 39; + $80 = HEAP32[$0>>2]|0; + $81 = HEAP32[$zText>>2]|0; + _sqlite3_result_text($80,$81,-1,(-1)); + $82 = HEAP32[$zText>>2]|0; + _sqlite3_free($82); + STACKTOP = sp;return; + break; } - $24 = HEAP32[$Y>>2]|0; - $25 = (($24|0) / 100)&-1; - HEAP32[$A>>2] = $25; - $26 = HEAP32[$A>>2]|0; - $27 = (2 - ($26))|0; - $28 = HEAP32[$A>>2]|0; - $29 = (($28|0) / 4)&-1; - $30 = (($27) + ($29))|0; - HEAP32[$B>>2] = $30; - $31 = HEAP32[$Y>>2]|0; - $32 = (($31) + 4716)|0; - $33 = ($32*36525)|0; - $34 = (($33|0) / 100)&-1; - HEAP32[$X1>>2] = $34; - $35 = HEAP32[$M>>2]|0; - $36 = (($35) + 1)|0; - $37 = ($36*306001)|0; - $38 = (($37|0) / 10000)&-1; - HEAP32[$X2>>2] = $38; - $39 = HEAP32[$X1>>2]|0; - $40 = HEAP32[$X2>>2]|0; - $41 = (($39) + ($40))|0; - $42 = HEAP32[$D>>2]|0; - $43 = (($41) + ($42))|0; - $44 = HEAP32[$B>>2]|0; - $45 = (($43) + ($44))|0; - $46 = (+($45|0)); - $47 = $46 - 1524.5; - $48 = $47 * 8.64E+7; - $49 = (~~$48)>>>0; - $50 = +Math_abs($48) >= 1.0 ? $48 > 0.0 ? (~~+Math_min(+Math_floor($48 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($48 - +(~~$48 >>> 0)) / 4294967296.0) >>> 0 : 0; - $51 = HEAP32[$0>>2]|0; - $52 = $51; - $53 = $52; - HEAP32[$53>>2] = $49; - $54 = (($52) + 4)|0; - $55 = $54; - HEAP32[$55>>2] = $50; - $56 = HEAP32[$0>>2]|0; - $57 = ((($56)) + 42|0); - HEAP8[$57>>0] = 1; - $58 = HEAP32[$0>>2]|0; - $59 = ((($58)) + 41|0); - $60 = HEAP8[$59>>0]|0; - $61 = ($60<<24>>24)!=(0); - if (!($61)) { + case 3: { + $83 = HEAP32[$2>>2]|0; + $84 = HEAP32[$83>>2]|0; + $85 = (_sqlite3_value_text($84)|0); + HEAP32[$zArg>>2] = $85; + $86 = HEAP32[$zArg>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + STACKTOP = sp;return; + } + HEAP32[$i1>>2] = 0; + $88 = $n; + $89 = $88; + HEAP32[$89>>2] = 0; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = 0; + while(1) { + $92 = HEAP32[$i1>>2]|0; + $93 = HEAP32[$zArg>>2]|0; + $94 = (($93) + ($92)|0); + $95 = HEAP8[$94>>0]|0; + $96 = ($95<<24>>24)!=(0); + if (!($96)) { + break; + } + $97 = HEAP32[$i1>>2]|0; + $98 = HEAP32[$zArg>>2]|0; + $99 = (($98) + ($97)|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100&255; + $102 = ($101|0)==(39); + if ($102) { + $103 = $n; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (_i64Add(($105|0),($108|0),1,0)|0); + $110 = tempRet0; + $111 = $n; + $112 = $111; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + } + $115 = HEAP32[$i1>>2]|0; + $116 = (($115) + 1)|0; + HEAP32[$i1>>2] = $116; + } + $117 = HEAP32[$0>>2]|0; + $118 = HEAP32[$i1>>2]|0; + $119 = ($118|0)<(0); + $120 = $119 << 31 >> 31; + $121 = $n; + $122 = $121; + $123 = HEAP32[$122>>2]|0; + $124 = (($121) + 4)|0; + $125 = $124; + $126 = HEAP32[$125>>2]|0; + $127 = (_i64Add(($118|0),($120|0),($123|0),($126|0))|0); + $128 = tempRet0; + $129 = (_i64Add(($127|0),($128|0),3,0)|0); + $130 = tempRet0; + $131 = (_contextMalloc($117,$129,$130)|0); + HEAP32[$z>>2] = $131; + $132 = HEAP32[$z>>2]|0; + $133 = ($132|0)!=(0|0); + if (!($133)) { + STACKTOP = sp;return; + } + $134 = HEAP32[$z>>2]|0; + HEAP8[$134>>0] = 39; + HEAP32[$i1>>2] = 0; + HEAP32[$j>>2] = 1; + while(1) { + $135 = HEAP32[$i1>>2]|0; + $136 = HEAP32[$zArg>>2]|0; + $137 = (($136) + ($135)|0); + $138 = HEAP8[$137>>0]|0; + $139 = ($138<<24>>24)!=(0); + if (!($139)) { + break; + } + $140 = HEAP32[$i1>>2]|0; + $141 = HEAP32[$zArg>>2]|0; + $142 = (($141) + ($140)|0); + $143 = HEAP8[$142>>0]|0; + $144 = HEAP32[$j>>2]|0; + $145 = (($144) + 1)|0; + HEAP32[$j>>2] = $145; + $146 = HEAP32[$z>>2]|0; + $147 = (($146) + ($144)|0); + HEAP8[$147>>0] = $143; + $148 = HEAP32[$i1>>2]|0; + $149 = HEAP32[$zArg>>2]|0; + $150 = (($149) + ($148)|0); + $151 = HEAP8[$150>>0]|0; + $152 = $151&255; + $153 = ($152|0)==(39); + if ($153) { + $154 = HEAP32[$j>>2]|0; + $155 = (($154) + 1)|0; + HEAP32[$j>>2] = $155; + $156 = HEAP32[$z>>2]|0; + $157 = (($156) + ($154)|0); + HEAP8[$157>>0] = 39; + } + $158 = HEAP32[$i1>>2]|0; + $159 = (($158) + 1)|0; + HEAP32[$i1>>2] = $159; + } + $160 = HEAP32[$j>>2]|0; + $161 = (($160) + 1)|0; + HEAP32[$j>>2] = $161; + $162 = HEAP32[$z>>2]|0; + $163 = (($162) + ($160)|0); + HEAP8[$163>>0] = 39; + $164 = HEAP32[$j>>2]|0; + $165 = HEAP32[$z>>2]|0; + $166 = (($165) + ($164)|0); + HEAP8[$166>>0] = 0; + $167 = HEAP32[$0>>2]|0; + $168 = HEAP32[$z>>2]|0; + $169 = HEAP32[$j>>2]|0; + _sqlite3_result_text($167,$168,$169,148); STACKTOP = sp;return; + break; } - $62 = HEAP32[$0>>2]|0; - $63 = ((($62)) + 20|0); - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($64, 3600000)|0; - $66 = HEAP32[$0>>2]|0; - $67 = ((($66)) + 24|0); - $68 = HEAP32[$67>>2]|0; - $69 = ($68*60000)|0; - $70 = (($65) + ($69))|0; - $71 = ($70|0)<(0); - $72 = $71 << 31 >> 31; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 32|0); - $75 = +HEAPF64[$74>>3]; - $76 = $75 * 1000.0; - $77 = (~~$76)>>>0; - $78 = +Math_abs($76) >= 1.0 ? $76 > 0.0 ? (~~+Math_min(+Math_floor($76 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($76 - +(~~$76 >>> 0)) / 4294967296.0) >>> 0 : 0; - $79 = (_i64Add(($70|0),($72|0),($77|0),($78|0))|0); - $80 = tempRet0; - $81 = HEAP32[$0>>2]|0; - $82 = $81; - $83 = $82; - $84 = HEAP32[$83>>2]|0; - $85 = (($82) + 4)|0; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (_i64Add(($84|0),($87|0),($79|0),($80|0))|0); - $89 = tempRet0; - $90 = $81; - $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - $94 = HEAP32[$0>>2]|0; - $95 = ((($94)) + 43|0); - $96 = HEAP8[$95>>0]|0; - $97 = ($96<<24>>24)!=(0); - if (!($97)) { + default: { + $170 = HEAP32[$0>>2]|0; + _sqlite3_result_text($170,40149,4,0); STACKTOP = sp;return; } - $98 = HEAP32[$0>>2]|0; - $99 = ((($98)) + 28|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100*60000)|0; - $102 = ($101|0)<(0); - $103 = $102 << 31 >> 31; - $104 = HEAP32[$0>>2]|0; - $105 = $104; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),($101|0),($103|0))|0); - $112 = tempRet0; - $113 = $104; - $114 = $113; - HEAP32[$114>>2] = $111; - $115 = (($113) + 4)|0; - $116 = $115; - HEAP32[$116>>2] = $112; - $117 = HEAP32[$0>>2]|0; - $118 = ((($117)) + 40|0); - HEAP8[$118>>0] = 0; - $119 = HEAP32[$0>>2]|0; - $120 = ((($119)) + 41|0); - HEAP8[$120>>0] = 0; - $121 = HEAP32[$0>>2]|0; - $122 = ((($121)) + 43|0); - HEAP8[$122>>0] = 0; - STACKTOP = sp;return; + } } -function _computeYMD_HMS($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; +function _last_insert_rowid($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $db = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - _computeYMD($1); - $2 = HEAP32[$0>>2]|0; - _computeHMS($2); - STACKTOP = sp;return; -} -function _computeYMD($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $A = 0, $B = 0, $C = 0, $D = 0, $E = 0, $X1 = 0, $Z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $Z = sp + 24|0; - $A = sp + 20|0; - $B = sp + 16|0; - $C = sp + 12|0; - $D = sp + 8|0; - $E = sp + 4|0; - $X1 = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - STACKTOP = sp;return; - } + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 42|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)!=(0); - $9 = HEAP32[$0>>2]|0; - if ($8) { - $15 = $9; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = (_i64Add(($17|0),($20|0),43200000,0)|0); - $22 = tempRet0; - $23 = (___divdi3(($21|0),($22|0),86400000,0)|0); - $24 = tempRet0; - HEAP32[$Z>>2] = $23; - $25 = HEAP32[$Z>>2]|0; - $26 = (+($25|0)); - $27 = $26 - 1867216.25; - $28 = $27 / 36524.25; - $29 = (~~(($28))); - HEAP32[$A>>2] = $29; - $30 = HEAP32[$Z>>2]|0; - $31 = (($30) + 1)|0; - $32 = HEAP32[$A>>2]|0; - $33 = (($31) + ($32))|0; - $34 = HEAP32[$A>>2]|0; - $35 = (($34|0) / 4)&-1; - $36 = (($33) - ($35))|0; - HEAP32[$A>>2] = $36; - $37 = HEAP32[$A>>2]|0; - $38 = (($37) + 1524)|0; - HEAP32[$B>>2] = $38; - $39 = HEAP32[$B>>2]|0; - $40 = (+($39|0)); - $41 = $40 - 122.09999999999999; - $42 = $41 / 365.25; - $43 = (~~(($42))); - HEAP32[$C>>2] = $43; - $44 = HEAP32[$C>>2]|0; - $45 = $44 & 32767; - $46 = ($45*36525)|0; - $47 = (($46|0) / 100)&-1; - HEAP32[$D>>2] = $47; - $48 = HEAP32[$B>>2]|0; - $49 = HEAP32[$D>>2]|0; - $50 = (($48) - ($49))|0; - $51 = (+($50|0)); - $52 = $51 / 30.600100000000001; - $53 = (~~(($52))); - HEAP32[$E>>2] = $53; - $54 = HEAP32[$E>>2]|0; - $55 = (+($54|0)); - $56 = 30.600100000000001 * $55; - $57 = (~~(($56))); - HEAP32[$X1>>2] = $57; - $58 = HEAP32[$B>>2]|0; - $59 = HEAP32[$D>>2]|0; - $60 = (($58) - ($59))|0; - $61 = HEAP32[$X1>>2]|0; - $62 = (($60) - ($61))|0; - $63 = HEAP32[$0>>2]|0; - $64 = ((($63)) + 16|0); - HEAP32[$64>>2] = $62; - $65 = HEAP32[$E>>2]|0; - $66 = ($65|0)<(14); - $67 = HEAP32[$E>>2]|0; - $68 = (($67) - 1)|0; - $69 = (($67) - 13)|0; - $70 = $66 ? $68 : $69; - $71 = HEAP32[$0>>2]|0; - $72 = ((($71)) + 12|0); - HEAP32[$72>>2] = $70; - $73 = HEAP32[$0>>2]|0; - $74 = ((($73)) + 12|0); - $75 = HEAP32[$74>>2]|0; - $76 = ($75|0)>(2); - $77 = HEAP32[$C>>2]|0; - $78 = (($77) - 4716)|0; - $79 = (($77) - 4715)|0; - $80 = $76 ? $78 : $79; - $81 = HEAP32[$0>>2]|0; - $82 = ((($81)) + 8|0); - HEAP32[$82>>2] = $80; - } else { - $10 = ((($9)) + 8|0); - HEAP32[$10>>2] = 2000; - $11 = HEAP32[$0>>2]|0; - $12 = ((($11)) + 12|0); - HEAP32[$12>>2] = 1; - $13 = HEAP32[$0>>2]|0; - $14 = ((($13)) + 16|0); - HEAP32[$14>>2] = 1; - } - $83 = HEAP32[$0>>2]|0; - $84 = ((($83)) + 40|0); - HEAP8[$84>>0] = 1; + $6 = HEAP32[$db>>2]|0; + $7 = (_sqlite3_last_insert_rowid($6)|0); + $8 = tempRet0; + _sqlite3_result_int64($5,$7,$8); STACKTOP = sp;return; } -function _computeHMS($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; - var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s = 0; - var label = 0, sp = 0; +function _changes($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $s = sp; - HEAP32[$0>>2] = $p; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 41|0); - $3 = HEAP8[$2>>0]|0; - $4 = ($3<<24>>24)!=(0); - if ($4) { - STACKTOP = sp;return; - } + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; $5 = HEAP32[$0>>2]|0; - _computeJD($5); - $6 = HEAP32[$0>>2]|0; - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (_i64Add(($9|0),($12|0),43200000,0)|0); - $14 = tempRet0; - $15 = (___remdi3(($13|0),($14|0),86400000,0)|0); - $16 = tempRet0; - HEAP32[$s>>2] = $15; - $17 = HEAP32[$s>>2]|0; - $18 = (+($17|0)); - $19 = $18 / 1000.0; - $20 = HEAP32[$0>>2]|0; - $21 = ((($20)) + 32|0); - HEAPF64[$21>>3] = $19; - $22 = HEAP32[$0>>2]|0; - $23 = ((($22)) + 32|0); - $24 = +HEAPF64[$23>>3]; - $25 = (~~(($24))); - HEAP32[$s>>2] = $25; - $26 = HEAP32[$s>>2]|0; - $27 = (+($26|0)); - $28 = HEAP32[$0>>2]|0; - $29 = ((($28)) + 32|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30 - $27; - HEAPF64[$29>>3] = $31; - $32 = HEAP32[$s>>2]|0; - $33 = (($32|0) / 3600)&-1; - $34 = HEAP32[$0>>2]|0; - $35 = ((($34)) + 20|0); - HEAP32[$35>>2] = $33; - $36 = HEAP32[$0>>2]|0; - $37 = ((($36)) + 20|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38*3600)|0; - $40 = HEAP32[$s>>2]|0; - $41 = (($40) - ($39))|0; - HEAP32[$s>>2] = $41; - $42 = HEAP32[$s>>2]|0; - $43 = (($42|0) / 60)&-1; - $44 = HEAP32[$0>>2]|0; - $45 = ((($44)) + 24|0); - HEAP32[$45>>2] = $43; - $46 = HEAP32[$s>>2]|0; - $47 = HEAP32[$0>>2]|0; - $48 = ((($47)) + 24|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49*60)|0; - $51 = (($46) - ($50))|0; - $52 = (+($51|0)); - $53 = HEAP32[$0>>2]|0; - $54 = ((($53)) + 32|0); - $55 = +HEAPF64[$54>>3]; - $56 = $55 + $52; - HEAPF64[$54>>3] = $56; - $57 = HEAP32[$0>>2]|0; - $58 = ((($57)) + 41|0); - HEAP8[$58>>0] = 1; + $6 = HEAP32[$db>>2]|0; + $7 = (_sqlite3_changes($6)|0); + _sqlite3_result_int($5,$7); STACKTOP = sp;return; } -function _setDateTimeToCurrent($context,$p) { +function _total_changes($context,$NotUsed,$NotUsed2) { $context = $context|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; - var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = (_sqlite3StmtCurrentTime($3)|0); - $5 = tempRet0; - $6 = HEAP32[$2>>2]|0; - $7 = $6; - $8 = $7; - HEAP32[$8>>2] = $4; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $5; - $11 = HEAP32[$2>>2]|0; - $12 = $11; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + 4)|0; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(0); - $19 = ($14>>>0)>(0); - $20 = ($17|0)==(0); - $21 = $20 & $19; - $22 = $18 | $21; - if ($22) { - $23 = HEAP32[$2>>2]|0; - $24 = ((($23)) + 42|0); - HEAP8[$24>>0] = 1; - HEAP32[$0>>2] = 0; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } else { - HEAP32[$0>>2] = 1; - $25 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($25|0); - } - return (0)|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $db = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + $5 = HEAP32[$0>>2]|0; + $6 = HEAP32[$db>>2]|0; + $7 = (_sqlite3_total_changes($6)|0); + _sqlite3_result_int($5,$7); + STACKTOP = sp;return; } -function _parseDateOrTime($context,$zDate,$p) { +function _replaceFunc($context,$argc,$argv) { $context = $context|0; - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; + var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; + var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $loopLimit = 0, $nOut = 0, $nPattern = 0; + var $nRep = 0, $nStr = 0, $zOld = 0, $zOut = 0, $zPattern = 0, $zRep = 0, $zStr = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $3 = sp + 8|0; - $r = sp; - HEAP32[$1>>2] = $context; - HEAP32[$2>>2] = $zDate; - HEAP32[$3>>2] = $p; - $4 = HEAP32[$2>>2]|0; - $5 = HEAP32[$3>>2]|0; - $6 = (_parseYyyyMmDd($4,$5)|0); - $7 = ($6|0)==(0); + STACKTOP = STACKTOP + 80|0; + $0 = sp + 64|0; + $1 = sp + 60|0; + $2 = sp + 56|0; + $zStr = sp + 52|0; + $zPattern = sp + 48|0; + $zRep = sp + 44|0; + $zOut = sp + 40|0; + $nStr = sp + 36|0; + $nPattern = sp + 32|0; + $nRep = sp + 28|0; + $nOut = sp; + $loopLimit = sp + 24|0; + $i = sp + 20|0; + $j = sp + 16|0; + $zOld = sp + 12|0; + $db = sp + 8|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zStr>>2] = $5; + $6 = HEAP32[$zStr>>2]|0; + $7 = ($6|0)==(0|0); if ($7) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + STACKTOP = sp;return; } $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$3>>2]|0; - $10 = (_parseHhMmSs($8,$9)|0); - $11 = ($10|0)==(0); - if ($11) { - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_sqlite3_value_bytes($9)|0); + HEAP32[$nStr>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = ((($11)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (_sqlite3_value_text($13)|0); + HEAP32[$zPattern>>2] = $14; + $15 = HEAP32[$zPattern>>2]|0; + $16 = ($15|0)==(0|0); + if ($16) { + STACKTOP = sp;return; } - $12 = HEAP32[$2>>2]|0; - $13 = (_sqlite3_stricmp($12,46562)|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$1>>2]|0; - $16 = HEAP32[$3>>2]|0; - $17 = (_setDateTimeToCurrent($15,$16)|0); - HEAP32[$0>>2] = $17; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $17 = HEAP32[$zPattern>>2]|0; + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = ($19|0)==(0); + if ($20) { + $21 = HEAP32[$0>>2]|0; + $22 = HEAP32[$2>>2]|0; + $23 = HEAP32[$22>>2]|0; + _sqlite3_result_value($21,$23); + STACKTOP = sp;return; } - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$2>>2]|0; - $20 = (_sqlite3Strlen30($19)|0); - $21 = (_sqlite3AtoF($18,$r,$20,1)|0); - $22 = ($21|0)!=(0); - if ($22) { - $23 = +HEAPF64[$r>>3]; - $24 = $23 * 8.64E+7; - $25 = $24 + 0.5; - $26 = (~~$25)>>>0; - $27 = +Math_abs($25) >= 1.0 ? $25 > 0.0 ? (~~+Math_min(+Math_floor($25 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($25 - +(~~$25 >>> 0)) / 4294967296.0) >>> 0 : 0; - $28 = HEAP32[$3>>2]|0; - $29 = $28; - $30 = $29; - HEAP32[$30>>2] = $26; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = HEAP32[$3>>2]|0; - $34 = ((($33)) + 42|0); - HEAP8[$34>>0] = 1; - HEAP32[$0>>2] = 0; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); - } else { - HEAP32[$0>>2] = 1; - $35 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($35|0); + $24 = HEAP32[$2>>2]|0; + $25 = ((($24)) + 4|0); + $26 = HEAP32[$25>>2]|0; + $27 = (_sqlite3_value_bytes($26)|0); + HEAP32[$nPattern>>2] = $27; + $28 = HEAP32[$2>>2]|0; + $29 = ((($28)) + 8|0); + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_value_text($30)|0); + HEAP32[$zRep>>2] = $31; + $32 = HEAP32[$zRep>>2]|0; + $33 = ($32|0)==(0|0); + if ($33) { + STACKTOP = sp;return; } - return (0)|0; -} -function _parseModifier($pCtx,$zMod,$p) { - $pCtx = $pCtx|0; - $zMod = $zMod|0; - $p = $p|0; - var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; - var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; - var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; - var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; - var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; - var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; - var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; - var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; - var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; - var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; - var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0.0, $435 = 0, $436 = 0.0, $437 = 0, $438 = 0, $439 = 0; - var $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0.0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; - var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0.0, $467 = 0.0, $468 = 0.0, $469 = 0.0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; - var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0.0, $491 = 0.0, $492 = 0.0, $493 = 0.0; - var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; - var $511 = 0, $512 = 0, $513 = 0, $514 = 0.0, $515 = 0.0, $516 = 0.0, $517 = 0.0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; - var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0.0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; - var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0; - var $566 = 0, $567 = 0, $568 = 0, $569 = 0.0, $57 = 0, $570 = 0, $571 = 0, $572 = 0.0, $573 = 0.0, $574 = 0, $575 = 0.0, $576 = 0, $577 = 0.0, $578 = 0.0, $579 = 0.0, $58 = 0, $580 = 0.0, $581 = 0.0, $582 = 0.0, $583 = 0; - var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; - var $601 = 0, $602 = 0, $603 = 0.0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0.0, $616 = 0.0, $617 = 0, $618 = 0.0, $619 = 0; - var $62 = 0, $620 = 0.0, $621 = 0.0, $622 = 0.0, $623 = 0.0, $624 = 0.0, $625 = 0.0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0; - var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; - var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Z = 0, $c1 = 0, $day = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $r = 0, $rRounder = 0, $rc = 0, $tx = 0, $x = 0, $y = 0, $y1 = 0, $z = 0; - var $z2 = 0, $zBuf = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; - $0 = sp + 124|0; - $1 = sp + 120|0; - $2 = sp + 116|0; - $rc = sp + 112|0; - $n = sp + 108|0; - $r = sp + 80|0; - $z = sp + 104|0; - $zBuf = sp + 128|0; - $c1 = sp + 72|0; - $Z = sp + 64|0; - $rRounder = sp + 56|0; - $z2 = sp + 100|0; - $tx = sp + 8|0; - $day = sp; - $x = sp + 96|0; - $y = sp + 92|0; - $y1 = sp + 88|0; - HEAP32[$0>>2] = $pCtx; - HEAP32[$1>>2] = $zMod; - HEAP32[$2>>2] = $p; - HEAP32[$rc>>2] = 1; - HEAP32[$z>>2] = $zBuf; - HEAP32[$n>>2] = 0; + $34 = HEAP32[$2>>2]|0; + $35 = ((($34)) + 8|0); + $36 = HEAP32[$35>>2]|0; + $37 = (_sqlite3_value_bytes($36)|0); + HEAP32[$nRep>>2] = $37; + $38 = HEAP32[$nStr>>2]|0; + $39 = (($38) + 1)|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = $nOut; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = HEAP32[$0>>2]|0; + $47 = $nOut; + $48 = $47; + $49 = HEAP32[$48>>2]|0; + $50 = (($47) + 4)|0; + $51 = $50; + $52 = HEAP32[$51>>2]|0; + $53 = (_contextMalloc($46,$49,$52)|0); + HEAP32[$zOut>>2] = $53; + $54 = HEAP32[$zOut>>2]|0; + $55 = ($54|0)==(0|0); + if ($55) { + STACKTOP = sp;return; + } + $56 = HEAP32[$nStr>>2]|0; + $57 = HEAP32[$nPattern>>2]|0; + $58 = (($56) - ($57))|0; + HEAP32[$loopLimit>>2] = $58; + HEAP32[$j>>2] = 0; + HEAP32[$i>>2] = 0; while(1) { - $3 = HEAP32[$n>>2]|0; - $4 = ($3|0)<(29); - if ($4) { - $5 = HEAP32[$n>>2]|0; - $6 = HEAP32[$1>>2]|0; - $7 = (($6) + ($5)|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8 << 24 >> 24; - $10 = ($9|0)!=(0); - $643 = $10; - } else { - $643 = 0; - } - $11 = HEAP32[$n>>2]|0; - if (!($643)) { + $59 = HEAP32[$i>>2]|0; + $60 = HEAP32[$loopLimit>>2]|0; + $61 = ($59|0)<=($60|0); + if (!($61)) { + label = 18; break; } - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($11)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = (18477 + ($15)|0); - $17 = HEAP8[$16>>0]|0; - $18 = HEAP32[$n>>2]|0; - $19 = HEAP32[$z>>2]|0; - $20 = (($19) + ($18)|0); - HEAP8[$20>>0] = $17; - $21 = HEAP32[$n>>2]|0; - $22 = (($21) + 1)|0; - HEAP32[$n>>2] = $22; + $62 = HEAP32[$i>>2]|0; + $63 = HEAP32[$zStr>>2]|0; + $64 = (($63) + ($62)|0); + $65 = HEAP8[$64>>0]|0; + $66 = $65&255; + $67 = HEAP32[$zPattern>>2]|0; + $68 = HEAP8[$67>>0]|0; + $69 = $68&255; + $70 = ($66|0)!=($69|0); + if ($70) { + label = 11; + } else { + $71 = HEAP32[$i>>2]|0; + $72 = HEAP32[$zStr>>2]|0; + $73 = (($72) + ($71)|0); + $74 = HEAP32[$zPattern>>2]|0; + $75 = HEAP32[$nPattern>>2]|0; + $76 = (_memcmp($73,$74,$75)|0); + $77 = ($76|0)!=(0); + if ($77) { + label = 11; + } else { + $86 = HEAP32[$0>>2]|0; + $87 = (_sqlite3_context_db_handle($86)|0); + HEAP32[$db>>2] = $87; + $88 = HEAP32[$nRep>>2]|0; + $89 = HEAP32[$nPattern>>2]|0; + $90 = (($88) - ($89))|0; + $91 = ($90|0)<(0); + $92 = $91 << 31 >> 31; + $93 = $nOut; + $94 = $93; + $95 = HEAP32[$94>>2]|0; + $96 = (($93) + 4)|0; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (_i64Add(($95|0),($98|0),($90|0),($92|0))|0); + $100 = tempRet0; + $101 = $nOut; + $102 = $101; + HEAP32[$102>>2] = $99; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = $nOut; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (_i64Subtract(($107|0),($110|0),1,0)|0); + $112 = tempRet0; + $113 = HEAP32[$db>>2]|0; + $114 = ((($113)) + 92|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)<(0); + $117 = $116 << 31 >> 31; + $118 = ($112|0)>($117|0); + $119 = ($111>>>0)>($115>>>0); + $120 = ($112|0)==($117|0); + $121 = $120 & $119; + $122 = $118 | $121; + if ($122) { + label = 13; + break; + } + $125 = HEAP32[$zOut>>2]|0; + HEAP32[$zOld>>2] = $125; + $126 = HEAP32[$zOut>>2]|0; + $127 = $nOut; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = ($129|0)<(0); + $134 = $133 << 31 >> 31; + $135 = (_sqlite3_realloc64($126,$129,$134)|0); + HEAP32[$zOut>>2] = $135; + $136 = HEAP32[$zOut>>2]|0; + $137 = ($136|0)==(0|0); + if ($137) { + label = 15; + break; + } + $140 = HEAP32[$j>>2]|0; + $141 = HEAP32[$zOut>>2]|0; + $142 = (($141) + ($140)|0); + $143 = HEAP32[$zRep>>2]|0; + $144 = HEAP32[$nRep>>2]|0; + _memcpy(($142|0),($143|0),($144|0))|0; + $145 = HEAP32[$nRep>>2]|0; + $146 = HEAP32[$j>>2]|0; + $147 = (($146) + ($145))|0; + HEAP32[$j>>2] = $147; + $148 = HEAP32[$nPattern>>2]|0; + $149 = (($148) - 1)|0; + $150 = HEAP32[$i>>2]|0; + $151 = (($150) + ($149))|0; + HEAP32[$i>>2] = $151; + } + } + if ((label|0) == 11) { + label = 0; + $78 = HEAP32[$i>>2]|0; + $79 = HEAP32[$zStr>>2]|0; + $80 = (($79) + ($78)|0); + $81 = HEAP8[$80>>0]|0; + $82 = HEAP32[$j>>2]|0; + $83 = (($82) + 1)|0; + HEAP32[$j>>2] = $83; + $84 = HEAP32[$zOut>>2]|0; + $85 = (($84) + ($82)|0); + HEAP8[$85>>0] = $81; + } + $152 = HEAP32[$i>>2]|0; + $153 = (($152) + 1)|0; + HEAP32[$i>>2] = $153; } - $23 = HEAP32[$z>>2]|0; - $24 = (($23) + ($11)|0); - HEAP8[$24>>0] = 0; - $25 = HEAP32[$z>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - switch ($27|0) { - case 108: { - $28 = HEAP32[$z>>2]|0; - $29 = (_strcmp($28,46442)|0); - $30 = ($29|0)==(0); - if (!($30)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); + if ((label|0) == 13) { + $123 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($123); + $124 = HEAP32[$zOut>>2]|0; + _sqlite3_free($124); + STACKTOP = sp;return; + } + else if ((label|0) == 15) { + $138 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($138); + $139 = HEAP32[$zOld>>2]|0; + _sqlite3_free($139); + STACKTOP = sp;return; + } + else if ((label|0) == 18) { + $154 = HEAP32[$j>>2]|0; + $155 = HEAP32[$zOut>>2]|0; + $156 = (($155) + ($154)|0); + $157 = HEAP32[$i>>2]|0; + $158 = HEAP32[$zStr>>2]|0; + $159 = (($158) + ($157)|0); + $160 = HEAP32[$nStr>>2]|0; + $161 = HEAP32[$i>>2]|0; + $162 = (($160) - ($161))|0; + _memcpy(($156|0),($159|0),($162|0))|0; + $163 = HEAP32[$nStr>>2]|0; + $164 = HEAP32[$i>>2]|0; + $165 = (($163) - ($164))|0; + $166 = HEAP32[$j>>2]|0; + $167 = (($166) + ($165))|0; + HEAP32[$j>>2] = $167; + $168 = HEAP32[$j>>2]|0; + $169 = HEAP32[$zOut>>2]|0; + $170 = (($169) + ($168)|0); + HEAP8[$170>>0] = 0; + $171 = HEAP32[$0>>2]|0; + $172 = HEAP32[$zOut>>2]|0; + $173 = HEAP32[$j>>2]|0; + _sqlite3_result_text($171,$172,$173,148); + STACKTOP = sp;return; + } +} +function _zeroblobFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $rc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $n = sp; + $rc = sp + 8|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_int64($4)|0); + $6 = tempRet0; + $7 = $n; + $8 = $7; + HEAP32[$8>>2] = $5; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = $n; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)<(0); + $18 = $17 ? 0 : $5; + $19 = $17 ? 0 : $6; + $20 = $n; + $21 = $20; + HEAP32[$21>>2] = $18; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + $24 = HEAP32[$0>>2]|0; + $25 = $n; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = (_sqlite3_result_zeroblob64($24,$27,$30)|0); + HEAP32[$rc>>2] = $31; + $32 = HEAP32[$rc>>2]|0; + $33 = ($32|0)!=(0); + if (!($33)) { + STACKTOP = sp;return; + } + $34 = HEAP32[$0>>2]|0; + $35 = HEAP32[$rc>>2]|0; + _sqlite3_result_error_code($34,$35); + STACKTOP = sp;return; +} +function _substrFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; + var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; + var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; + var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; + var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; + var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; + var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; + var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; + var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $len = 0, $negP2 = 0; + var $p0type = 0, $p1 = 0, $p2 = 0, $z = 0, $z2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 44|0; + $1 = sp + 40|0; + $2 = sp + 36|0; + $z = sp + 32|0; + $z2 = sp + 28|0; + $len = sp + 24|0; + $p0type = sp + 20|0; + $p1 = sp + 8|0; + $p2 = sp; + $negP2 = sp + 16|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + HEAP32[$negP2>>2] = 0; + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_sqlite3_value_type($5)|0); + $7 = ($6|0)==(5); + if ($7) { + STACKTOP = sp;return; + } + $8 = HEAP32[$1>>2]|0; + $9 = ($8|0)==(3); + if ($9) { + $10 = HEAP32[$2>>2]|0; + $11 = ((($10)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_type($12)|0); + $14 = ($13|0)==(5); + if ($14) { + STACKTOP = sp;return; } - $31 = HEAP32[$2>>2]|0; - _computeJD($31); - $32 = HEAP32[$2>>2]|0; - $33 = HEAP32[$0>>2]|0; - $34 = (_localtimeOffset($32,$33,$rc)|0); - $35 = tempRet0; - $36 = HEAP32[$2>>2]|0; - $37 = $36; - $38 = $37; - $39 = HEAP32[$38>>2]|0; - $40 = (($37) + 4)|0; - $41 = $40; - $42 = HEAP32[$41>>2]|0; - $43 = (_i64Add(($39|0),($42|0),($34|0),($35|0))|0); - $44 = tempRet0; - $45 = $36; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($49); - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; } - case 117: { - $50 = HEAP32[$z>>2]|0; - $51 = (_strcmp($50,46452)|0); - $52 = ($51|0)==(0); - if ($52) { - $53 = HEAP32[$2>>2]|0; - $54 = ((($53)) + 42|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55 << 24 >> 24; - $57 = ($56|0)!=(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - $59 = $58; - $60 = $59; - $61 = HEAP32[$60>>2]|0; - $62 = (($59) + 4)|0; - $63 = $62; - $64 = HEAP32[$63>>2]|0; - $65 = (_i64Add(($61|0),($64|0),43200,0)|0); - $66 = tempRet0; - $67 = (___divdi3(($65|0),($66|0),86400,0)|0); - $68 = tempRet0; - $69 = (_i64Add(($67|0),($68|0),1045635584,49096)|0); - $70 = tempRet0; - $71 = HEAP32[$2>>2]|0; - $72 = $71; - $73 = $72; - HEAP32[$73>>2] = $69; - $74 = (($72) + 4)|0; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($76); - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); + $15 = HEAP32[$2>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = (_sqlite3_value_type($16)|0); + HEAP32[$p0type>>2] = $17; + $18 = HEAP32[$2>>2]|0; + $19 = ((($18)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (_sqlite3_value_int($20)|0); + $22 = ($21|0)<(0); + $23 = $22 << 31 >> 31; + $24 = $p1; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = HEAP32[$p0type>>2]|0; + $29 = ($28|0)==(4); + $30 = HEAP32[$2>>2]|0; + $31 = HEAP32[$30>>2]|0; + L8: do { + if ($29) { + $32 = (_sqlite3_value_bytes($31)|0); + HEAP32[$len>>2] = $32; + $33 = HEAP32[$2>>2]|0; + $34 = HEAP32[$33>>2]|0; + $35 = (_sqlite3_value_blob($34)|0); + HEAP32[$z>>2] = $35; + $36 = HEAP32[$z>>2]|0; + $37 = ($36|0)==(0|0); + if ($37) { + STACKTOP = sp;return; + } + } else { + $38 = (_sqlite3_value_text($31)|0); + HEAP32[$z>>2] = $38; + $39 = HEAP32[$z>>2]|0; + $40 = ($39|0)==(0|0); + if ($40) { + STACKTOP = sp;return; + } + HEAP32[$len>>2] = 0; + $41 = $p1; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + 4)|0; + $45 = $44; + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)<(0); + if ($47) { + $48 = HEAP32[$z>>2]|0; + HEAP32[$z2>>2] = $48; + while(1) { + $49 = HEAP32[$z2>>2]|0; + $50 = HEAP8[$49>>0]|0; + $51 = ($50<<24>>24)!=(0); + if (!($51)) { + break L8; + } + $52 = HEAP32[$z2>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$z2>>2] = $53; + $54 = HEAP8[$52>>0]|0; + $55 = $54&255; + $56 = ($55|0)>=(192); + L19: do { + if ($56) { + while(1) { + $57 = HEAP32[$z2>>2]|0; + $58 = HEAP8[$57>>0]|0; + $59 = $58&255; + $60 = $59 & 192; + $61 = ($60|0)==(128); + if (!($61)) { + break L19; + } + $62 = HEAP32[$z2>>2]|0; + $63 = ((($62)) + 1|0); + HEAP32[$z2>>2] = $63; + } + } + } while(0); + $64 = HEAP32[$len>>2]|0; + $65 = (($64) + 1)|0; + HEAP32[$len>>2] = $65; + } } } - $77 = HEAP32[$z>>2]|0; - $78 = (_strcmp($77,46462)|0); - $79 = ($78|0)==(0); - if (!($79)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $80 = HEAP32[$2>>2]|0; - $81 = ((($80)) + 44|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82 << 24 >> 24; - $84 = ($83|0)==(0); - if (!($84)) { - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); + } while(0); + $66 = HEAP32[$1>>2]|0; + $67 = ($66|0)==(3); + if ($67) { + $68 = HEAP32[$2>>2]|0; + $69 = ((($68)) + 8|0); + $70 = HEAP32[$69>>2]|0; + $71 = (_sqlite3_value_int($70)|0); + $72 = ($71|0)<(0); + $73 = $72 << 31 >> 31; + $74 = $p2; + $75 = $74; + HEAP32[$75>>2] = $71; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $p2; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (($78) + 4)|0; + $82 = $81; + $83 = HEAP32[$82>>2]|0; + $84 = ($83|0)<(0); + if ($84) { + $85 = $p2; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (($85) + 4)|0; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (_i64Subtract(0,0,($87|0),($90|0))|0); + $92 = tempRet0; + $93 = $p2; + $94 = $93; + HEAP32[$94>>2] = $91; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + HEAP32[$negP2>>2] = 1; } - $85 = HEAP32[$2>>2]|0; - _computeJD($85); - $86 = HEAP32[$2>>2]|0; - $87 = HEAP32[$0>>2]|0; - $88 = (_localtimeOffset($86,$87,$rc)|0); - $89 = tempRet0; - $90 = $c1; - $91 = $90; - HEAP32[$91>>2] = $88; - $92 = (($90) + 4)|0; - $93 = $92; - HEAP32[$93>>2] = $89; - $94 = HEAP32[$rc>>2]|0; - $95 = ($94|0)==(0); - if ($95) { - $96 = $c1; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (($96) + 4)|0; - $100 = $99; - $101 = HEAP32[$100>>2]|0; - $102 = HEAP32[$2>>2]|0; - $103 = $102; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (_i64Subtract(($105|0),($108|0),($98|0),($101|0))|0); - $110 = tempRet0; - $111 = $102; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; - $115 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($115); - $116 = $c1; - $117 = $116; - $118 = HEAP32[$117>>2]|0; - $119 = (($116) + 4)|0; - $120 = $119; - $121 = HEAP32[$120>>2]|0; - $122 = HEAP32[$2>>2]|0; - $123 = HEAP32[$0>>2]|0; - $124 = (_localtimeOffset($122,$123,$rc)|0); - $125 = tempRet0; - $126 = (_i64Subtract(($118|0),($121|0),($124|0),($125|0))|0); - $127 = tempRet0; - $128 = HEAP32[$2>>2]|0; - $129 = $128; + } else { + $97 = HEAP32[$0>>2]|0; + $98 = (_sqlite3_context_db_handle($97)|0); + $99 = ((($98)) + 92|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)<(0); + $102 = $101 << 31 >> 31; + $103 = $p2; + $104 = $103; + HEAP32[$104>>2] = $100; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + } + $107 = $p1; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (($107) + 4)|0; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = ($112|0)<(0); + do { + if ($113) { + $114 = HEAP32[$len>>2]|0; + $115 = ($114|0)<(0); + $116 = $115 << 31 >> 31; + $117 = $p1; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (_i64Add(($119|0),($122|0),($114|0),($116|0))|0); + $124 = tempRet0; + $125 = $p1; + $126 = $125; + HEAP32[$126>>2] = $123; + $127 = (($125) + 4)|0; + $128 = $127; + HEAP32[$128>>2] = $124; + $129 = $p1; $130 = $129; $131 = HEAP32[$130>>2]|0; $132 = (($129) + 4)|0; $133 = $132; $134 = HEAP32[$133>>2]|0; - $135 = (_i64Add(($131|0),($134|0),($126|0),($127|0))|0); - $136 = tempRet0; - $137 = $128; - $138 = $137; - HEAP32[$138>>2] = $135; - $139 = (($137) + 4)|0; - $140 = $139; - HEAP32[$140>>2] = $136; - } - $141 = HEAP32[$2>>2]|0; - $142 = ((($141)) + 44|0); - HEAP8[$142>>0] = 1; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - case 119: { - $143 = HEAP32[$z>>2]|0; - $144 = (_strncmp($143,46466,8)|0); - $145 = ($144|0)==(0); - if (!($145)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $146 = HEAP32[$z>>2]|0; - $147 = ((($146)) + 8|0); - $148 = HEAP32[$z>>2]|0; - $149 = ((($148)) + 8|0); - $150 = (_sqlite3Strlen30($149)|0); - $151 = (_sqlite3AtoF($147,$r,$150,1)|0); - $152 = ($151|0)!=(0); - if (!($152)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $153 = +HEAPF64[$r>>3]; - $154 = (~~(($153))); - HEAP32[$n>>2] = $154; - $155 = (+($154|0)); - $156 = +HEAPF64[$r>>3]; - $157 = $155 == $156; - $158 = HEAP32[$n>>2]|0; - $159 = ($158|0)>=(0); - $or$cond = $157 & $159; - $160 = +HEAPF64[$r>>3]; - $161 = $160 < 7.0; - $or$cond3 = $or$cond & $161; - if (!($or$cond3)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $162 = HEAP32[$2>>2]|0; - _computeYMD_HMS($162); - $163 = HEAP32[$2>>2]|0; - $164 = ((($163)) + 43|0); - HEAP8[$164>>0] = 0; - $165 = HEAP32[$2>>2]|0; - $166 = ((($165)) + 42|0); - HEAP8[$166>>0] = 0; - $167 = HEAP32[$2>>2]|0; - _computeJD($167); - $168 = HEAP32[$2>>2]|0; - $169 = $168; - $170 = $169; - $171 = HEAP32[$170>>2]|0; - $172 = (($169) + 4)|0; - $173 = $172; - $174 = HEAP32[$173>>2]|0; - $175 = (_i64Add(($171|0),($174|0),129600000,0)|0); - $176 = tempRet0; - $177 = (___divdi3(($175|0),($176|0),86400000,0)|0); - $178 = tempRet0; - $179 = (___remdi3(($177|0),($178|0),7,0)|0); - $180 = tempRet0; - $181 = $Z; - $182 = $181; - HEAP32[$182>>2] = $179; - $183 = (($181) + 4)|0; - $184 = $183; - HEAP32[$184>>2] = $180; - $185 = $Z; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (($185) + 4)|0; - $189 = $188; - $190 = HEAP32[$189>>2]|0; - $191 = HEAP32[$n>>2]|0; - $192 = ($191|0)<(0); - $193 = $192 << 31 >> 31; - $194 = ($190|0)>($193|0); - $195 = ($187>>>0)>($191>>>0); - $196 = ($190|0)==($193|0); - $197 = $196 & $195; - $198 = $194 | $197; - if ($198) { - $199 = $Z; - $200 = $199; - $201 = HEAP32[$200>>2]|0; - $202 = (($199) + 4)|0; - $203 = $202; - $204 = HEAP32[$203>>2]|0; - $205 = (_i64Subtract(($201|0),($204|0),7,0)|0); - $206 = tempRet0; - $207 = $Z; - $208 = $207; - HEAP32[$208>>2] = $205; - $209 = (($207) + 4)|0; - $210 = $209; - HEAP32[$210>>2] = $206; + $135 = ($134|0)<(0); + if ($135) { + $136 = $p1; + $137 = $136; + $138 = HEAP32[$137>>2]|0; + $139 = (($136) + 4)|0; + $140 = $139; + $141 = HEAP32[$140>>2]|0; + $142 = $p2; + $143 = $142; + $144 = HEAP32[$143>>2]|0; + $145 = (($142) + 4)|0; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (_i64Add(($144|0),($147|0),($138|0),($141|0))|0); + $149 = tempRet0; + $150 = $p2; + $151 = $150; + HEAP32[$151>>2] = $148; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $154 = $p2; + $155 = $154; + $156 = HEAP32[$155>>2]|0; + $157 = (($154) + 4)|0; + $158 = $157; + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)<(0); + $161 = $160 ? 0 : $148; + $162 = $160 ? 0 : $149; + $163 = $p2; + $164 = $163; + HEAP32[$164>>2] = $161; + $165 = (($163) + 4)|0; + $166 = $165; + HEAP32[$166>>2] = $162; + $167 = $p1; + $168 = $167; + HEAP32[$168>>2] = 0; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = 0; + } + } else { + $171 = $p1; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = ($176|0)>(0); + $178 = ($173>>>0)>(0); + $179 = ($176|0)==(0); + $180 = $179 & $178; + $181 = $177 | $180; + if ($181) { + $182 = $p1; + $183 = $182; + $184 = HEAP32[$183>>2]|0; + $185 = (($182) + 4)|0; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (_i64Add(($184|0),($187|0),-1,-1)|0); + $189 = tempRet0; + $190 = $p1; + $191 = $190; + HEAP32[$191>>2] = $188; + $192 = (($190) + 4)|0; + $193 = $192; + HEAP32[$193>>2] = $189; + break; + } + $194 = $p2; + $195 = $194; + $196 = HEAP32[$195>>2]|0; + $197 = (($194) + 4)|0; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = ($199|0)>(0); + $201 = ($196>>>0)>(0); + $202 = ($199|0)==(0); + $203 = $202 & $201; + $204 = $200 | $203; + if ($204) { + $205 = $p2; + $206 = $205; + $207 = HEAP32[$206>>2]|0; + $208 = (($205) + 4)|0; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (_i64Add(($207|0),($210|0),-1,-1)|0); + $212 = tempRet0; + $213 = $p2; + $214 = $213; + HEAP32[$214>>2] = $211; + $215 = (($213) + 4)|0; + $216 = $215; + HEAP32[$216>>2] = $212; + } } - $211 = HEAP32[$n>>2]|0; - $212 = ($211|0)<(0); - $213 = $212 << 31 >> 31; - $214 = $Z; - $215 = $214; - $216 = HEAP32[$215>>2]|0; - $217 = (($214) + 4)|0; - $218 = $217; - $219 = HEAP32[$218>>2]|0; - $220 = (_i64Subtract(($211|0),($213|0),($216|0),($219|0))|0); - $221 = tempRet0; - $222 = (___muldi3(($220|0),($221|0),86400000,0)|0); - $223 = tempRet0; - $224 = HEAP32[$2>>2]|0; - $225 = $224; + } while(0); + $217 = HEAP32[$negP2>>2]|0; + $218 = ($217|0)!=(0); + if ($218) { + $219 = $p2; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = $p1; $226 = $225; $227 = HEAP32[$226>>2]|0; $228 = (($225) + 4)|0; $229 = $228; $230 = HEAP32[$229>>2]|0; - $231 = (_i64Add(($227|0),($230|0),($222|0),($223|0))|0); + $231 = (_i64Subtract(($227|0),($230|0),($221|0),($224|0))|0); $232 = tempRet0; - $233 = $224; + $233 = $p1; $234 = $233; HEAP32[$234>>2] = $231; $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $237 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($237); - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; - } - case 115: { - $238 = HEAP32[$z>>2]|0; - $239 = (_strncmp($238,46475,9)|0); - $240 = ($239|0)!=(0); - if ($240) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $241 = HEAP32[$z>>2]|0; - $242 = ((($241)) + 9|0); - HEAP32[$z>>2] = $242; - $243 = HEAP32[$2>>2]|0; - _computeYMD($243); - $244 = HEAP32[$2>>2]|0; - $245 = ((($244)) + 41|0); - HEAP8[$245>>0] = 1; - $246 = HEAP32[$2>>2]|0; - $247 = ((($246)) + 24|0); - HEAP32[$247>>2] = 0; - $248 = HEAP32[$2>>2]|0; - $249 = ((($248)) + 20|0); - HEAP32[$249>>2] = 0; - $250 = HEAP32[$2>>2]|0; - $251 = ((($250)) + 32|0); - HEAPF64[$251>>3] = 0.0; - $252 = HEAP32[$2>>2]|0; - $253 = ((($252)) + 43|0); - HEAP8[$253>>0] = 0; - $254 = HEAP32[$2>>2]|0; - $255 = ((($254)) + 42|0); - HEAP8[$255>>0] = 0; - $256 = HEAP32[$z>>2]|0; - $257 = (_strcmp($256,46485)|0); - $258 = ($257|0)==(0); - if ($258) { - $259 = HEAP32[$2>>2]|0; - $260 = ((($259)) + 16|0); - HEAP32[$260>>2] = 1; - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $261 = HEAP32[$z>>2]|0; - $262 = (_strcmp($261,46491)|0); - $263 = ($262|0)==(0); - if ($263) { - $264 = HEAP32[$2>>2]|0; - _computeYMD($264); - $265 = HEAP32[$2>>2]|0; - $266 = ((($265)) + 12|0); - HEAP32[$266>>2] = 1; - $267 = HEAP32[$2>>2]|0; - $268 = ((($267)) + 16|0); - HEAP32[$268>>2] = 1; - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); + $237 = $p1; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = (($237) + 4)|0; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = ($242|0)<(0); + if ($243) { + $244 = $p1; + $245 = $244; + $246 = HEAP32[$245>>2]|0; + $247 = (($244) + 4)|0; + $248 = $247; + $249 = HEAP32[$248>>2]|0; + $250 = $p2; + $251 = $250; + $252 = HEAP32[$251>>2]|0; + $253 = (($250) + 4)|0; + $254 = $253; + $255 = HEAP32[$254>>2]|0; + $256 = (_i64Add(($252|0),($255|0),($246|0),($249|0))|0); + $257 = tempRet0; + $258 = $p2; + $259 = $258; + HEAP32[$259>>2] = $256; + $260 = (($258) + 4)|0; + $261 = $260; + HEAP32[$261>>2] = $257; + $262 = $p1; + $263 = $262; + HEAP32[$263>>2] = 0; + $264 = (($262) + 4)|0; + $265 = $264; + HEAP32[$265>>2] = 0; } - $269 = HEAP32[$z>>2]|0; - $270 = (_strcmp($269,46496)|0); - $271 = ($270|0)==(0); - if (!($271)) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); + } + $266 = HEAP32[$p0type>>2]|0; + $267 = ($266|0)!=(4); + if (!($267)) { + $353 = $p1; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + $356 = (($353) + 4)|0; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = $p2; + $360 = $359; + $361 = HEAP32[$360>>2]|0; + $362 = (($359) + 4)|0; + $363 = $362; + $364 = HEAP32[$363>>2]|0; + $365 = (_i64Add(($355|0),($358|0),($361|0),($364|0))|0); + $366 = tempRet0; + $367 = HEAP32[$len>>2]|0; + $368 = ($367|0)<(0); + $369 = $368 << 31 >> 31; + $370 = ($366|0)>($369|0); + $371 = ($365>>>0)>($367>>>0); + $372 = ($366|0)==($369|0); + $373 = $372 & $371; + $374 = $370 | $373; + if ($374) { + $375 = HEAP32[$len>>2]|0; + $376 = ($375|0)<(0); + $377 = $376 << 31 >> 31; + $378 = $p1; + $379 = $378; + $380 = HEAP32[$379>>2]|0; + $381 = (($378) + 4)|0; + $382 = $381; + $383 = HEAP32[$382>>2]|0; + $384 = (_i64Subtract(($375|0),($377|0),($380|0),($383|0))|0); + $385 = tempRet0; + $386 = $p2; + $387 = $386; + HEAP32[$387>>2] = $384; + $388 = (($386) + 4)|0; + $389 = $388; + HEAP32[$389>>2] = $385; + $390 = $p2; + $391 = $390; + $392 = HEAP32[$391>>2]|0; + $393 = (($390) + 4)|0; + $394 = $393; + $395 = HEAP32[$394>>2]|0; + $396 = ($395|0)<(0); + $397 = $396 ? 0 : $384; + $398 = $396 ? 0 : $385; + $399 = $p2; + $400 = $399; + HEAP32[$400>>2] = $397; + $401 = (($399) + 4)|0; + $402 = $401; + HEAP32[$402>>2] = $398; } - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; + $403 = HEAP32[$0>>2]|0; + $404 = $p1; + $405 = $404; + $406 = HEAP32[$405>>2]|0; + $407 = (($404) + 4)|0; + $408 = $407; + $409 = HEAP32[$408>>2]|0; + $410 = HEAP32[$z>>2]|0; + $411 = (($410) + ($406)|0); + $412 = $p2; + $413 = $412; + $414 = HEAP32[$413>>2]|0; + $415 = (($412) + 4)|0; + $416 = $415; + $417 = HEAP32[$416>>2]|0; + _sqlite3_result_blob64($403,$411,$414,$417,(-1)); + STACKTOP = sp;return; } - case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: case 45: case 43: { - HEAP32[$n>>2] = 1; - while(1) { - $272 = HEAP32[$n>>2]|0; - $273 = HEAP32[$z>>2]|0; - $274 = (($273) + ($272)|0); - $275 = HEAP8[$274>>0]|0; - $276 = $275 << 24 >> 24; - $277 = ($276|0)!=(0); - if (!($277)) { - break; - } - $278 = HEAP32[$n>>2]|0; - $279 = HEAP32[$z>>2]|0; - $280 = (($279) + ($278)|0); - $281 = HEAP8[$280>>0]|0; - $282 = $281 << 24 >> 24; - $283 = ($282|0)!=(58); - if (!($283)) { - break; - } - $284 = HEAP32[$n>>2]|0; - $285 = HEAP32[$z>>2]|0; - $286 = (($285) + ($284)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $289 = (19267 + ($288)|0); - $290 = HEAP8[$289>>0]|0; - $291 = $290&255; - $292 = $291 & 1; - $293 = ($292|0)!=(0); - $294 = $293 ^ 1; - if (!($294)) { - break; - } - $295 = HEAP32[$n>>2]|0; - $296 = (($295) + 1)|0; - HEAP32[$n>>2] = $296; - } - $297 = HEAP32[$z>>2]|0; - $298 = HEAP32[$n>>2]|0; - $299 = (_sqlite3AtoF($297,$r,$298,1)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$rc>>2] = 1; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $301 = HEAP32[$n>>2]|0; - $302 = HEAP32[$z>>2]|0; - $303 = (($302) + ($301)|0); - $304 = HEAP8[$303>>0]|0; - $305 = $304 << 24 >> 24; - $306 = ($305|0)==(58); - if ($306) { - $307 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $307; - $308 = HEAP32[$z2>>2]|0; - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = (19267 + ($310)|0); - $312 = HEAP8[$311>>0]|0; - $313 = $312&255; - $314 = $313 & 4; - $315 = ($314|0)!=(0); - if (!($315)) { - $316 = HEAP32[$z2>>2]|0; - $317 = ((($316)) + 1|0); - HEAP32[$z2>>2] = $317; - } - dest=$tx; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $318 = HEAP32[$z2>>2]|0; - $319 = (_parseHhMmSs($318,$tx)|0); - $320 = ($319|0)!=(0); - if ($320) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - _computeJD($tx); - $321 = $tx; - $322 = $321; - $323 = HEAP32[$322>>2]|0; - $324 = (($321) + 4)|0; - $325 = $324; - $326 = HEAP32[$325>>2]|0; - $327 = (_i64Subtract(($323|0),($326|0),43200000,0)|0); - $328 = tempRet0; - $329 = $tx; - $330 = $329; - HEAP32[$330>>2] = $327; - $331 = (($329) + 4)|0; - $332 = $331; - HEAP32[$332>>2] = $328; - $333 = $tx; - $334 = $333; - $335 = HEAP32[$334>>2]|0; - $336 = (($333) + 4)|0; - $337 = $336; - $338 = HEAP32[$337>>2]|0; - $339 = (___divdi3(($335|0),($338|0),86400000,0)|0); - $340 = tempRet0; - $341 = $day; - $342 = $341; - HEAP32[$342>>2] = $339; - $343 = (($341) + 4)|0; - $344 = $343; - HEAP32[$344>>2] = $340; - $345 = $day; - $346 = $345; - $347 = HEAP32[$346>>2]|0; - $348 = (($345) + 4)|0; - $349 = $348; - $350 = HEAP32[$349>>2]|0; - $351 = (___muldi3(($347|0),($350|0),86400000,0)|0); - $352 = tempRet0; - $353 = $tx; - $354 = $353; - $355 = HEAP32[$354>>2]|0; - $356 = (($353) + 4)|0; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = (_i64Subtract(($355|0),($358|0),($351|0),($352|0))|0); - $360 = tempRet0; - $361 = $tx; - $362 = $361; - HEAP32[$362>>2] = $359; - $363 = (($361) + 4)|0; - $364 = $363; - HEAP32[$364>>2] = $360; - $365 = HEAP32[$z>>2]|0; - $366 = HEAP8[$365>>0]|0; - $367 = $366 << 24 >> 24; - $368 = ($367|0)==(45); - if ($368) { - $369 = $tx; - $370 = $369; - $371 = HEAP32[$370>>2]|0; - $372 = (($369) + 4)|0; - $373 = $372; - $374 = HEAP32[$373>>2]|0; - $375 = (_i64Subtract(0,0,($371|0),($374|0))|0); - $376 = tempRet0; - $377 = $tx; - $378 = $377; - HEAP32[$378>>2] = $375; - $379 = (($377) + 4)|0; - $380 = $379; - HEAP32[$380>>2] = $376; - } - $381 = HEAP32[$2>>2]|0; - _computeJD($381); - $382 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($382); - $383 = $tx; - $384 = $383; - $385 = HEAP32[$384>>2]|0; - $386 = (($383) + 4)|0; - $387 = $386; - $388 = HEAP32[$387>>2]|0; - $389 = HEAP32[$2>>2]|0; - $390 = $389; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (($390) + 4)|0; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = (_i64Add(($392|0),($395|0),($385|0),($388|0))|0); - $397 = tempRet0; - $398 = $389; - $399 = $398; - HEAP32[$399>>2] = $396; - $400 = (($398) + 4)|0; - $401 = $400; - HEAP32[$401>>2] = $397; - HEAP32[$rc>>2] = 0; - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $402 = HEAP32[$n>>2]|0; - $403 = HEAP32[$z>>2]|0; - $404 = (($403) + ($402)|0); - HEAP32[$z>>2] = $404; - while(1) { - $405 = HEAP32[$z>>2]|0; - $406 = HEAP8[$405>>0]|0; - $407 = $406&255; - $408 = (19267 + ($407)|0); - $409 = HEAP8[$408>>0]|0; - $410 = $409&255; - $411 = $410 & 1; - $412 = ($411|0)!=(0); - $413 = HEAP32[$z>>2]|0; - if (!($412)) { - break; - } - $414 = ((($413)) + 1|0); - HEAP32[$z>>2] = $414; - } - $415 = (_sqlite3Strlen30($413)|0); - HEAP32[$n>>2] = $415; - $416 = HEAP32[$n>>2]|0; - $417 = ($416|0)>(10); - $418 = HEAP32[$n>>2]|0; - $419 = ($418|0)<(3); - $or$cond6 = $417 | $419; - if ($or$cond6) { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - } - $420 = HEAP32[$n>>2]|0; - $421 = (($420) - 1)|0; - $422 = HEAP32[$z>>2]|0; - $423 = (($422) + ($421)|0); - $424 = HEAP8[$423>>0]|0; - $425 = $424 << 24 >> 24; - $426 = ($425|0)==(115); - if ($426) { - $427 = HEAP32[$n>>2]|0; - $428 = (($427) - 1)|0; - $429 = HEAP32[$z>>2]|0; - $430 = (($429) + ($428)|0); - HEAP8[$430>>0] = 0; - $431 = HEAP32[$n>>2]|0; - $432 = (($431) + -1)|0; - HEAP32[$n>>2] = $432; - } - $433 = HEAP32[$2>>2]|0; - _computeJD($433); - HEAP32[$rc>>2] = 0; - $434 = +HEAPF64[$r>>3]; - $435 = $434 < 0.0; - $436 = $435 ? -0.5 : 0.5; - HEAPF64[$rRounder>>3] = $436; - $437 = HEAP32[$n>>2]|0; - $438 = ($437|0)==(3); - if ($438) { - $439 = HEAP32[$z>>2]|0; - $440 = (_strcmp($439,46496)|0); - $441 = ($440|0)==(0); - if ($441) { - $442 = +HEAPF64[$r>>3]; - $443 = $442 * 8.64E+7; - $444 = +HEAPF64[$rRounder>>3]; - $445 = $443 + $444; - $446 = (~~$445)>>>0; - $447 = +Math_abs($445) >= 1.0 ? $445 > 0.0 ? (~~+Math_min(+Math_floor($445 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($445 - +(~~$445 >>> 0)) / 4294967296.0) >>> 0 : 0; - $448 = HEAP32[$2>>2]|0; - $449 = $448; - $450 = $449; - $451 = HEAP32[$450>>2]|0; - $452 = (($449) + 4)|0; - $453 = $452; - $454 = HEAP32[$453>>2]|0; - $455 = (_i64Add(($451|0),($454|0),($446|0),($447|0))|0); - $456 = tempRet0; - $457 = $448; - $458 = $457; - HEAP32[$458>>2] = $455; - $459 = (($457) + 4)|0; - $460 = $459; - HEAP32[$460>>2] = $456; - } else { - label = 54; - } - } else { - label = 54; + while(1) { + $268 = HEAP32[$z>>2]|0; + $269 = HEAP8[$268>>0]|0; + $270 = $269&255; + $271 = ($270|0)!=(0); + $272 = $p1; + $273 = $272; + $274 = HEAP32[$273>>2]|0; + $275 = (($272) + 4)|0; + $276 = $275; + $277 = HEAP32[$276>>2]|0; + $278 = ($274|0)!=(0); + $279 = ($277|0)!=(0); + $280 = $278 | $279; + $281 = $271 ? $280 : 0; + $282 = HEAP32[$z>>2]|0; + if (!($281)) { + break; } - do { - if ((label|0) == 54) { - $461 = HEAP32[$n>>2]|0; - $462 = ($461|0)==(4); - if ($462) { - $463 = HEAP32[$z>>2]|0; - $464 = (_strcmp($463,46500)|0); - $465 = ($464|0)==(0); - if ($465) { - $466 = +HEAPF64[$r>>3]; - $467 = $466 * 3.6E+6; - $468 = +HEAPF64[$rRounder>>3]; - $469 = $467 + $468; - $470 = (~~$469)>>>0; - $471 = +Math_abs($469) >= 1.0 ? $469 > 0.0 ? (~~+Math_min(+Math_floor($469 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($469 - +(~~$469 >>> 0)) / 4294967296.0) >>> 0 : 0; - $472 = HEAP32[$2>>2]|0; - $473 = $472; - $474 = $473; - $475 = HEAP32[$474>>2]|0; - $476 = (($473) + 4)|0; - $477 = $476; - $478 = HEAP32[$477>>2]|0; - $479 = (_i64Add(($475|0),($478|0),($470|0),($471|0))|0); - $480 = tempRet0; - $481 = $472; - $482 = $481; - HEAP32[$482>>2] = $479; - $483 = (($481) + 4)|0; - $484 = $483; - HEAP32[$484>>2] = $480; - break; - } - } - $485 = HEAP32[$n>>2]|0; - $486 = ($485|0)==(6); - if ($486) { - $487 = HEAP32[$z>>2]|0; - $488 = (_strcmp($487,46505)|0); - $489 = ($488|0)==(0); - if ($489) { - $490 = +HEAPF64[$r>>3]; - $491 = $490 * 6.0E+4; - $492 = +HEAPF64[$rRounder>>3]; - $493 = $491 + $492; - $494 = (~~$493)>>>0; - $495 = +Math_abs($493) >= 1.0 ? $493 > 0.0 ? (~~+Math_min(+Math_floor($493 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($493 - +(~~$493 >>> 0)) / 4294967296.0) >>> 0 : 0; - $496 = HEAP32[$2>>2]|0; - $497 = $496; - $498 = $497; - $499 = HEAP32[$498>>2]|0; - $500 = (($497) + 4)|0; - $501 = $500; - $502 = HEAP32[$501>>2]|0; - $503 = (_i64Add(($499|0),($502|0),($494|0),($495|0))|0); - $504 = tempRet0; - $505 = $496; - $506 = $505; - HEAP32[$506>>2] = $503; - $507 = (($505) + 4)|0; - $508 = $507; - HEAP32[$508>>2] = $504; - break; - } - } - $509 = HEAP32[$n>>2]|0; - $510 = ($509|0)==(6); - if ($510) { - $511 = HEAP32[$z>>2]|0; - $512 = (_strcmp($511,46512)|0); - $513 = ($512|0)==(0); - if ($513) { - $514 = +HEAPF64[$r>>3]; - $515 = $514 * 1000.0; - $516 = +HEAPF64[$rRounder>>3]; - $517 = $515 + $516; - $518 = (~~$517)>>>0; - $519 = +Math_abs($517) >= 1.0 ? $517 > 0.0 ? (~~+Math_min(+Math_floor($517 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($517 - +(~~$517 >>> 0)) / 4294967296.0) >>> 0 : 0; - $520 = HEAP32[$2>>2]|0; - $521 = $520; - $522 = $521; - $523 = HEAP32[$522>>2]|0; - $524 = (($521) + 4)|0; - $525 = $524; - $526 = HEAP32[$525>>2]|0; - $527 = (_i64Add(($523|0),($526|0),($518|0),($519|0))|0); - $528 = tempRet0; - $529 = $520; - $530 = $529; - HEAP32[$530>>2] = $527; - $531 = (($529) + 4)|0; - $532 = $531; - HEAP32[$532>>2] = $528; - break; - } - } - $533 = HEAP32[$n>>2]|0; - $534 = ($533|0)==(5); - if ($534) { - $535 = HEAP32[$z>>2]|0; - $536 = (_strcmp($535,46485)|0); - $537 = ($536|0)==(0); - if ($537) { - $538 = HEAP32[$2>>2]|0; - _computeYMD_HMS($538); - $539 = +HEAPF64[$r>>3]; - $540 = (~~(($539))); - $541 = HEAP32[$2>>2]|0; - $542 = ((($541)) + 12|0); - $543 = HEAP32[$542>>2]|0; - $544 = (($543) + ($540))|0; - HEAP32[$542>>2] = $544; - $545 = HEAP32[$2>>2]|0; - $546 = ((($545)) + 12|0); - $547 = HEAP32[$546>>2]|0; - $548 = ($547|0)>(0); - $549 = HEAP32[$2>>2]|0; - $550 = ((($549)) + 12|0); - $551 = HEAP32[$550>>2]|0; - $552 = (($551) - 1)|0; - $553 = (($551) - 12)|0; - $$sink = $548 ? $552 : $553; - $554 = (($$sink|0) / 12)&-1; - HEAP32[$x>>2] = $554; - $555 = HEAP32[$x>>2]|0; - $556 = HEAP32[$2>>2]|0; - $557 = ((($556)) + 8|0); - $558 = HEAP32[$557>>2]|0; - $559 = (($558) + ($555))|0; - HEAP32[$557>>2] = $559; - $560 = HEAP32[$x>>2]|0; - $561 = ($560*12)|0; - $562 = HEAP32[$2>>2]|0; - $563 = ((($562)) + 12|0); - $564 = HEAP32[$563>>2]|0; - $565 = (($564) - ($561))|0; - HEAP32[$563>>2] = $565; - $566 = HEAP32[$2>>2]|0; - $567 = ((($566)) + 42|0); - HEAP8[$567>>0] = 0; - $568 = HEAP32[$2>>2]|0; - _computeJD($568); - $569 = +HEAPF64[$r>>3]; - $570 = (~~(($569))); - HEAP32[$y>>2] = $570; - $571 = HEAP32[$y>>2]|0; - $572 = (+($571|0)); - $573 = +HEAPF64[$r>>3]; - $574 = $572 != $573; - if (!($574)) { - break; - } - $575 = +HEAPF64[$r>>3]; - $576 = HEAP32[$y>>2]|0; - $577 = (+($576|0)); - $578 = $575 - $577; - $579 = $578 * 30.0; - $580 = $579 * 8.64E+7; - $581 = +HEAPF64[$rRounder>>3]; - $582 = $580 + $581; - $583 = (~~$582)>>>0; - $584 = +Math_abs($582) >= 1.0 ? $582 > 0.0 ? (~~+Math_min(+Math_floor($582 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($582 - +(~~$582 >>> 0)) / 4294967296.0) >>> 0 : 0; - $585 = HEAP32[$2>>2]|0; - $586 = $585; - $587 = $586; - $588 = HEAP32[$587>>2]|0; - $589 = (($586) + 4)|0; - $590 = $589; - $591 = HEAP32[$590>>2]|0; - $592 = (_i64Add(($588|0),($591|0),($583|0),($584|0))|0); - $593 = tempRet0; - $594 = $585; - $595 = $594; - HEAP32[$595>>2] = $592; - $596 = (($594) + 4)|0; - $597 = $596; - HEAP32[$597>>2] = $593; - break; + $283 = ((($282)) + 1|0); + HEAP32[$z>>2] = $283; + $284 = HEAP8[$282>>0]|0; + $285 = $284&255; + $286 = ($285|0)>=(192); + L52: do { + if ($286) { + while(1) { + $287 = HEAP32[$z>>2]|0; + $288 = HEAP8[$287>>0]|0; + $289 = $288&255; + $290 = $289 & 192; + $291 = ($290|0)==(128); + if (!($291)) { + break L52; } + $292 = HEAP32[$z>>2]|0; + $293 = ((($292)) + 1|0); + HEAP32[$z>>2] = $293; } - $598 = HEAP32[$n>>2]|0; - $599 = ($598|0)==(4); - if ($599) { - $600 = HEAP32[$z>>2]|0; - $601 = (_strcmp($600,46491)|0); - $602 = ($601|0)==(0); - if ($602) { - $603 = +HEAPF64[$r>>3]; - $604 = (~~(($603))); - HEAP32[$y1>>2] = $604; - $605 = HEAP32[$2>>2]|0; - _computeYMD_HMS($605); - $606 = HEAP32[$y1>>2]|0; - $607 = HEAP32[$2>>2]|0; - $608 = ((($607)) + 8|0); - $609 = HEAP32[$608>>2]|0; - $610 = (($609) + ($606))|0; - HEAP32[$608>>2] = $610; - $611 = HEAP32[$2>>2]|0; - $612 = ((($611)) + 42|0); - HEAP8[$612>>0] = 0; - $613 = HEAP32[$2>>2]|0; - _computeJD($613); - $614 = HEAP32[$y1>>2]|0; - $615 = (+($614|0)); - $616 = +HEAPF64[$r>>3]; - $617 = $615 != $616; - if (!($617)) { - break; - } - $618 = +HEAPF64[$r>>3]; - $619 = HEAP32[$y1>>2]|0; - $620 = (+($619|0)); - $621 = $618 - $620; - $622 = $621 * 365.0; - $623 = $622 * 8.64E+7; - $624 = +HEAPF64[$rRounder>>3]; - $625 = $623 + $624; - $626 = (~~$625)>>>0; - $627 = +Math_abs($625) >= 1.0 ? $625 > 0.0 ? (~~+Math_min(+Math_floor($625 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($625 - +(~~$625 >>> 0)) / 4294967296.0) >>> 0 : 0; - $628 = HEAP32[$2>>2]|0; - $629 = $628; - $630 = $629; - $631 = HEAP32[$630>>2]|0; - $632 = (($629) + 4)|0; - $633 = $632; - $634 = HEAP32[$633>>2]|0; - $635 = (_i64Add(($631|0),($634|0),($626|0),($627|0))|0); - $636 = tempRet0; - $637 = $628; - $638 = $637; - HEAP32[$638>>2] = $635; - $639 = (($637) + 4)|0; - $640 = $639; - HEAP32[$640>>2] = $636; - break; + } + } while(0); + $294 = $p1; + $295 = $294; + $296 = HEAP32[$295>>2]|0; + $297 = (($294) + 4)|0; + $298 = $297; + $299 = HEAP32[$298>>2]|0; + $300 = (_i64Add(($296|0),($299|0),-1,-1)|0); + $301 = tempRet0; + $302 = $p1; + $303 = $302; + HEAP32[$303>>2] = $300; + $304 = (($302) + 4)|0; + $305 = $304; + HEAP32[$305>>2] = $301; + } + HEAP32[$z2>>2] = $282; + while(1) { + $306 = HEAP32[$z2>>2]|0; + $307 = HEAP8[$306>>0]|0; + $308 = $307&255; + $309 = ($308|0)!=(0); + $310 = $p2; + $311 = $310; + $312 = HEAP32[$311>>2]|0; + $313 = (($310) + 4)|0; + $314 = $313; + $315 = HEAP32[$314>>2]|0; + $316 = ($312|0)!=(0); + $317 = ($315|0)!=(0); + $318 = $316 | $317; + $319 = $309 ? $318 : 0; + if (!($319)) { + break; + } + $320 = HEAP32[$z2>>2]|0; + $321 = ((($320)) + 1|0); + HEAP32[$z2>>2] = $321; + $322 = HEAP8[$320>>0]|0; + $323 = $322&255; + $324 = ($323|0)>=(192); + L61: do { + if ($324) { + while(1) { + $325 = HEAP32[$z2>>2]|0; + $326 = HEAP8[$325>>0]|0; + $327 = $326&255; + $328 = $327 & 192; + $329 = ($328|0)==(128); + if (!($329)) { + break L61; } + $330 = HEAP32[$z2>>2]|0; + $331 = ((($330)) + 1|0); + HEAP32[$z2>>2] = $331; } - HEAP32[$rc>>2] = 1; } } while(0); - $641 = HEAP32[$2>>2]|0; - _clearYMD_HMS_TZ($641); - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); - break; + $332 = $p2; + $333 = $332; + $334 = HEAP32[$333>>2]|0; + $335 = (($332) + 4)|0; + $336 = $335; + $337 = HEAP32[$336>>2]|0; + $338 = (_i64Add(($334|0),($337|0),-1,-1)|0); + $339 = tempRet0; + $340 = $p2; + $341 = $340; + HEAP32[$341>>2] = $338; + $342 = (($340) + 4)|0; + $343 = $342; + HEAP32[$343>>2] = $339; } - default: { - $642 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($642|0); + $344 = HEAP32[$0>>2]|0; + $345 = HEAP32[$z>>2]|0; + $346 = HEAP32[$z2>>2]|0; + $347 = HEAP32[$z>>2]|0; + $348 = $346; + $349 = $347; + $350 = (($348) - ($349))|0; + $351 = ($350|0)<(0); + $352 = $351 << 31 >> 31; + _sqlite3_result_text64($344,$345,$350,$352,(-1),1); + STACKTOP = sp;return; +} +function _sumStep($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; + var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $type = 0, $v = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 24|0; + $1 = sp + 20|0; + $2 = sp + 16|0; + $p = sp + 12|0; + $type = sp + 8|0; + $v = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_aggregate_context($3,32)|0); + HEAP32[$p>>2] = $4; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_numeric_type($6)|0); + HEAP32[$type>>2] = $7; + $8 = HEAP32[$p>>2]|0; + $9 = ($8|0)!=(0|0); + $10 = HEAP32[$type>>2]|0; + $11 = ($10|0)!=(5); + $or$cond = $9 & $11; + if (!($or$cond)) { + STACKTOP = sp;return; + } + $12 = HEAP32[$p>>2]|0; + $13 = ((($12)) + 16|0); + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_i64Add(($16|0),($19|0),1,0)|0); + $21 = tempRet0; + $22 = $13; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + $26 = HEAP32[$type>>2]|0; + $27 = ($26|0)==(1); + $28 = HEAP32[$2>>2]|0; + $29 = HEAP32[$28>>2]|0; + if (!($27)) { + $68 = (+_sqlite3_value_double($29)); + $69 = HEAP32[$p>>2]|0; + $70 = +HEAPF64[$69>>3]; + $71 = $70 + $68; + HEAPF64[$69>>3] = $71; + $72 = HEAP32[$p>>2]|0; + $73 = ((($72)) + 25|0); + HEAP8[$73>>0] = 1; + STACKTOP = sp;return; } + $30 = (_sqlite3_value_int64($29)|0); + $31 = tempRet0; + $32 = $v; + $33 = $32; + HEAP32[$33>>2] = $30; + $34 = (($32) + 4)|0; + $35 = $34; + HEAP32[$35>>2] = $31; + $36 = $v; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (+($38>>>0)) + (4294967296.0*(+($41|0))); + $43 = HEAP32[$p>>2]|0; + $44 = +HEAPF64[$43>>3]; + $45 = $44 + $42; + HEAPF64[$43>>3] = $45; + $46 = HEAP32[$p>>2]|0; + $47 = ((($46)) + 25|0); + $48 = HEAP8[$47>>0]|0; + $49 = $48&255; + $50 = HEAP32[$p>>2]|0; + $51 = ((($50)) + 24|0); + $52 = HEAP8[$51>>0]|0; + $53 = $52&255; + $54 = $49 | $53; + $55 = ($54|0)==(0); + if (!($55)) { + STACKTOP = sp;return; } - return (0)|0; + $56 = HEAP32[$p>>2]|0; + $57 = ((($56)) + 8|0); + $58 = $v; + $59 = $58; + $60 = HEAP32[$59>>2]|0; + $61 = (($58) + 4)|0; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (_sqlite3AddInt64($57,$60,$63)|0); + $65 = ($64|0)!=(0); + if (!($65)) { + STACKTOP = sp;return; + } + $66 = HEAP32[$p>>2]|0; + $67 = ((($66)) + 24|0); + HEAP8[$67>>0] = 1; + STACKTOP = sp;return; } -function _localtimeOffset($p,$pCtx,$pRc) { - $p = $p|0; - $pCtx = $pCtx|0; - $pRc = $pRc|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $s = 0, $sLocal = 0, $t = 0, $x = 0, $y = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; +function _sumFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 176|0; - $0 = sp + 96|0; - $1 = sp + 164|0; - $2 = sp + 160|0; - $3 = sp + 156|0; - $x = sp + 48|0; - $y = sp; - $t = sp + 152|0; - $sLocal = sp + 108|0; - $s = sp + 104|0; - HEAP32[$1>>2] = $p; - HEAP32[$2>>2] = $pCtx; - HEAP32[$3>>2] = $pRc; - dest=$sLocal; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = HEAP32[$1>>2]|0; - dest=$x; src=$4; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _computeYMD_HMS($x); - $5 = ((($x)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)<(1971); - if ($7) { - label = 3; - } else { - $8 = ((($x)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>=(2038); - if ($10) { - label = 3; - } else { - $17 = ((($x)) + 32|0); - $18 = +HEAPF64[$17>>3]; - $19 = $18 + 0.5; - $20 = (~~(($19))); - HEAP32[$s>>2] = $20; - $21 = HEAP32[$s>>2]|0; - $22 = (+($21|0)); - $23 = ((($x)) + 32|0); - HEAPF64[$23>>3] = $22; - } + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - if ((label|0) == 3) { - $11 = ((($x)) + 8|0); - HEAP32[$11>>2] = 2000; - $12 = ((($x)) + 12|0); - HEAP32[$12>>2] = 1; - $13 = ((($x)) + 16|0); - HEAP32[$13>>2] = 1; - $14 = ((($x)) + 20|0); - HEAP32[$14>>2] = 0; - $15 = ((($x)) + 24|0); - HEAP32[$15>>2] = 0; - $16 = ((($x)) + 32|0); - HEAPF64[$16>>3] = 0.0; + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 16|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)>(0); + $14 = ($9>>>0)>(0); + $15 = ($12|0)==(0); + $16 = $15 & $14; + $17 = $13 | $16; + if (!($17)) { + STACKTOP = sp;return; } - $24 = ((($x)) + 28|0); - HEAP32[$24>>2] = 0; - $25 = ((($x)) + 42|0); - HEAP8[$25>>0] = 0; - _computeJD($x); - $26 = $x; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (($26) + 4)|0; - $30 = $29; - $31 = HEAP32[$30>>2]|0; - $32 = (___divdi3(($28|0),($31|0),1000,0)|0); - $33 = tempRet0; - $34 = (_i64Subtract(($32|0),($33|0),413362496,49)|0); - $35 = tempRet0; - HEAP32[$t>>2] = $34; - $36 = (_osLocaltime($t,$sLocal)|0); - $37 = ($36|0)!=(0); - if ($37) { - $38 = HEAP32[$2>>2]|0; - _sqlite3_result_error($38,46539,-1); - $39 = HEAP32[$3>>2]|0; - HEAP32[$39>>2] = 1; - $40 = $0; - $41 = $40; - HEAP32[$41>>2] = 0; - $42 = (($40) + 4)|0; - $43 = $42; - HEAP32[$43>>2] = 0; - $87 = $0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - tempRet0 = ($92); - STACKTOP = sp;return ($89|0); + $18 = HEAP32[$p>>2]|0; + $19 = ((($18)) + 24|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)!=(0); + if ($21) { + $22 = HEAP32[$0>>2]|0; + _sqlite3_result_error($22,46258,-1); + STACKTOP = sp;return; + } + $23 = HEAP32[$p>>2]|0; + $24 = ((($23)) + 25|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)!=(0); + $27 = HEAP32[$0>>2]|0; + $28 = HEAP32[$p>>2]|0; + if ($26) { + $29 = +HEAPF64[$28>>3]; + _sqlite3_result_double($27,$29); + STACKTOP = sp;return; } else { - $44 = ((($sLocal)) + 20|0); - $45 = HEAP32[$44>>2]|0; - $46 = (($45) + 1900)|0; - $47 = ((($y)) + 8|0); - HEAP32[$47>>2] = $46; - $48 = ((($sLocal)) + 16|0); - $49 = HEAP32[$48>>2]|0; - $50 = (($49) + 1)|0; - $51 = ((($y)) + 12|0); - HEAP32[$51>>2] = $50; - $52 = ((($sLocal)) + 12|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($y)) + 16|0); - HEAP32[$54>>2] = $53; - $55 = ((($sLocal)) + 8|0); - $56 = HEAP32[$55>>2]|0; - $57 = ((($y)) + 20|0); - HEAP32[$57>>2] = $56; - $58 = ((($sLocal)) + 4|0); - $59 = HEAP32[$58>>2]|0; - $60 = ((($y)) + 24|0); - HEAP32[$60>>2] = $59; - $61 = HEAP32[$sLocal>>2]|0; - $62 = (+($61|0)); - $63 = ((($y)) + 32|0); - HEAPF64[$63>>3] = $62; - $64 = ((($y)) + 40|0); - HEAP8[$64>>0] = 1; - $65 = ((($y)) + 41|0); - HEAP8[$65>>0] = 1; - $66 = ((($y)) + 42|0); - HEAP8[$66>>0] = 0; - $67 = ((($y)) + 43|0); - HEAP8[$67>>0] = 0; - _computeJD($y); - $68 = HEAP32[$3>>2]|0; - HEAP32[$68>>2] = 0; - $69 = $y; - $70 = $69; - $71 = HEAP32[$70>>2]|0; - $72 = (($69) + 4)|0; - $73 = $72; - $74 = HEAP32[$73>>2]|0; - $75 = $x; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); - $82 = tempRet0; - $83 = $0; - $84 = $83; - HEAP32[$84>>2] = $81; - $85 = (($83) + 4)|0; - $86 = $85; - HEAP32[$86>>2] = $82; - $87 = $0; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $90 = (($87) + 4)|0; - $91 = $90; - $92 = HEAP32[$91>>2]|0; - tempRet0 = ($92); - STACKTOP = sp;return ($89|0); + $30 = ((($28)) + 8|0); + $31 = $30; + $32 = $31; + $33 = HEAP32[$32>>2]|0; + $34 = (($31) + 4)|0; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + _sqlite3_result_int64($27,$33,$36); + STACKTOP = sp;return; } - return (0)|0; } -function _clearYMD_HMS_TZ($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; +function _totalFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $p; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 40|0); - HEAP8[$2>>0] = 0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; $3 = HEAP32[$0>>2]|0; - $4 = ((($3)) + 41|0); - HEAP8[$4>>0] = 0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 43|0); - HEAP8[$6>>0] = 0; + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $8 = 0.0; + _sqlite3_result_double($3,$8); + STACKTOP = sp;return; + } + $6 = HEAP32[$p>>2]|0; + $7 = +HEAPF64[$6>>3]; + $8 = $7; + _sqlite3_result_double($3,$8); STACKTOP = sp;return; } -function _parseHhMmSs($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $h = 0, $m = 0, $ms = 0, $rScale = 0, $s = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; +function _avgFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; - $vararg_buffer2 = sp + 24|0; - $vararg_buffer = sp + 16|0; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - $h = sp + 36|0; - $m = sp + 32|0; - $s = sp + 28|0; - $ms = sp + 8|0; - $rScale = sp; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - HEAPF64[$ms>>3] = 0.0; - $3 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $h; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $m; - $4 = (_getDigits($3,46519,$vararg_buffer)|0); - $5 = ($4|0)!=(2); - if ($5) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$p>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; } - $6 = HEAP32[$1>>2]|0; - $7 = ((($6)) + 5|0); - HEAP32[$1>>2] = $7; - $8 = HEAP32[$1>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = ($10|0)==(58); - if ($11) { - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 1|0); - HEAP32[$1>>2] = $13; - $14 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer2>>2] = $s; - $15 = (_getDigits($14,46527,$vararg_buffer2)|0); - $16 = ($15|0)!=(1); - if ($16) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); - } - $17 = HEAP32[$1>>2]|0; - $18 = ((($17)) + 2|0); - HEAP32[$1>>2] = $18; - $19 = HEAP32[$1>>2]|0; - $20 = HEAP8[$19>>0]|0; - $21 = $20 << 24 >> 24; - $22 = ($21|0)==(46); - if ($22) { - $23 = HEAP32[$1>>2]|0; - $24 = ((($23)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = $25&255; - $27 = (19267 + ($26)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 & 4; - $31 = ($30|0)!=(0); - if ($31) { - HEAPF64[$rScale>>3] = 1.0; - $32 = HEAP32[$1>>2]|0; - $33 = ((($32)) + 1|0); - HEAP32[$1>>2] = $33; - while(1) { - $34 = HEAP32[$1>>2]|0; - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = (19267 + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 & 4; - $41 = ($40|0)!=(0); - if (!($41)) { - break; - } - $42 = +HEAPF64[$ms>>3]; - $43 = $42 * 10.0; - $44 = HEAP32[$1>>2]|0; - $45 = HEAP8[$44>>0]|0; - $46 = $45 << 24 >> 24; - $47 = (+($46|0)); - $48 = $43 + $47; - $49 = $48 - 48.0; - HEAPF64[$ms>>3] = $49; - $50 = +HEAPF64[$rScale>>3]; - $51 = $50 * 10.0; - HEAPF64[$rScale>>3] = $51; - $52 = HEAP32[$1>>2]|0; - $53 = ((($52)) + 1|0); - HEAP32[$1>>2] = $53; - } - $54 = +HEAPF64[$rScale>>3]; - $55 = +HEAPF64[$ms>>3]; - $56 = $55 / $54; - HEAPF64[$ms>>3] = $56; - } - } - } else { - HEAP32[$s>>2] = 0; - } - $57 = HEAP32[$2>>2]|0; - $58 = ((($57)) + 42|0); - HEAP8[$58>>0] = 0; - $59 = HEAP32[$2>>2]|0; - $60 = ((($59)) + 41|0); - HEAP8[$60>>0] = 1; - $61 = HEAP32[$h>>2]|0; - $62 = HEAP32[$2>>2]|0; - $63 = ((($62)) + 20|0); - HEAP32[$63>>2] = $61; - $64 = HEAP32[$m>>2]|0; - $65 = HEAP32[$2>>2]|0; - $66 = ((($65)) + 24|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$s>>2]|0; - $68 = (+($67|0)); - $69 = +HEAPF64[$ms>>3]; - $70 = $68 + $69; - $71 = HEAP32[$2>>2]|0; - $72 = ((($71)) + 32|0); - HEAPF64[$72>>3] = $70; - $73 = HEAP32[$1>>2]|0; - $74 = HEAP32[$2>>2]|0; - $75 = (_parseTimezone($73,$74)|0); - $76 = ($75|0)!=(0); - if ($76) { - HEAP32[$0>>2] = 1; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); - } else { - $77 = HEAP32[$2>>2]|0; - $78 = ((($77)) + 28|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)!=(0); - $81 = $80 ? 1 : 0; - $82 = $81&255; - $83 = HEAP32[$2>>2]|0; - $84 = ((($83)) + 43|0); - HEAP8[$84>>0] = $82; - HEAP32[$0>>2] = 0; - $85 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($85|0); - } - return (0)|0; -} -function _getDigits($zDate,$zFormat,$varargs) { - $zDate = $zDate|0; - $zFormat = $zFormat|0; - $varargs = $varargs|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $N = 0, $ap = 0, $arglist_current = 0; - var $arglist_next = 0, $cnt = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $max = 0, $min = 0, $nextC = 0, $val = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $ap = sp + 8|0; - $cnt = sp + 4|0; - $nextC = sp + 36|0; - $N = sp + 35|0; - $min = sp + 34|0; - $val = sp; - $max = sp + 32|0; - HEAP32[$0>>2] = $zDate; - HEAP32[$1>>2] = $zFormat; - HEAP32[$cnt>>2] = 0; - HEAP32[$ap>>2] = $varargs; - L1: while(1) { - $2 = HEAP32[$1>>2]|0; - $3 = HEAP8[$2>>0]|0; - $4 = $3 << 24 >> 24; - $5 = (($4) - 48)|0; - $6 = $5&255; - HEAP8[$N>>0] = $6; - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) - 48)|0; - $12 = $11&255; - HEAP8[$min>>0] = $12; - HEAP32[$val>>2] = 0; - $13 = HEAP32[$1>>2]|0; - $14 = ((($13)) + 2|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15 << 24 >> 24; - $17 = (($16) - 97)|0; - $18 = (17286 + ($17<<1)|0); - $19 = HEAP16[$18>>1]|0; - HEAP16[$max>>1] = $19; - $20 = HEAP32[$1>>2]|0; - $21 = ((($20)) + 3|0); - $22 = HEAP8[$21>>0]|0; - HEAP8[$nextC>>0] = $22; - HEAP32[$val>>2] = 0; - while(1) { - $23 = HEAP8[$N>>0]|0; - $24 = (($23) + -1)<<24>>24; - HEAP8[$N>>0] = $24; - $25 = ($23<<24>>24)!=(0); - if (!($25)) { - break; - } - $26 = HEAP32[$0>>2]|0; - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = (19267 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = $31 & 4; - $33 = ($32|0)!=(0); - if (!($33)) { - label = 11; - break L1; - } - $34 = HEAP32[$val>>2]|0; - $35 = ($34*10)|0; - $36 = HEAP32[$0>>2]|0; - $37 = HEAP8[$36>>0]|0; - $38 = $37 << 24 >> 24; - $39 = (($35) + ($38))|0; - $40 = (($39) - 48)|0; - HEAP32[$val>>2] = $40; - $41 = HEAP32[$0>>2]|0; - $42 = ((($41)) + 1|0); - HEAP32[$0>>2] = $42; - } - $43 = HEAP32[$val>>2]|0; - $44 = HEAP8[$min>>0]|0; - $45 = $44 << 24 >> 24; - $46 = ($43|0)<($45|0); - if ($46) { - label = 11; - break; - } - $47 = HEAP32[$val>>2]|0; - $48 = HEAP16[$max>>1]|0; - $49 = $48&65535; - $50 = ($47|0)>($49|0); - if ($50) { - label = 11; - break; - } - $51 = HEAP8[$nextC>>0]|0; - $52 = $51 << 24 >> 24; - $53 = ($52|0)!=(0); - if ($53) { - $54 = HEAP8[$nextC>>0]|0; - $55 = $54 << 24 >> 24; - $56 = HEAP32[$0>>2]|0; - $57 = HEAP8[$56>>0]|0; - $58 = $57 << 24 >> 24; - $59 = ($55|0)!=($58|0); - if ($59) { - label = 11; - break; - } - } - $60 = HEAP32[$val>>2]|0; - $arglist_current = HEAP32[$ap>>2]|0; - $61 = $arglist_current; - $62 = ((0) + 4|0); - $expanded2 = $62; - $expanded = (($expanded2) - 1)|0; - $63 = (($61) + ($expanded))|0; - $64 = ((0) + 4|0); - $expanded6 = $64; - $expanded5 = (($expanded6) - 1)|0; - $expanded4 = $expanded5 ^ -1; - $65 = $63 & $expanded4; - $66 = $65; - $67 = HEAP32[$66>>2]|0; - $arglist_next = ((($66)) + 4|0); - HEAP32[$ap>>2] = $arglist_next; - HEAP32[$67>>2] = $60; - $68 = HEAP32[$0>>2]|0; - $69 = ((($68)) + 1|0); - HEAP32[$0>>2] = $69; - $70 = HEAP32[$cnt>>2]|0; - $71 = (($70) + 1)|0; - HEAP32[$cnt>>2] = $71; - $72 = HEAP32[$1>>2]|0; - $73 = ((($72)) + 4|0); - HEAP32[$1>>2] = $73; - $74 = HEAP8[$nextC>>0]|0; - $75 = ($74<<24>>24)!=(0); - if (!($75)) { - label = 11; - break; - } - } - if ((label|0) == 11) { - $76 = HEAP32[$cnt>>2]|0; - STACKTOP = sp;return ($76|0); + $5 = HEAP32[$p>>2]|0; + $6 = ((($5)) + 16|0); + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = ($12|0)>(0); + $14 = ($9>>>0)>(0); + $15 = ($12|0)==(0); + $16 = $15 & $14; + $17 = $13 | $16; + if (!($17)) { + STACKTOP = sp;return; } - return (0)|0; + $18 = HEAP32[$0>>2]|0; + $19 = HEAP32[$p>>2]|0; + $20 = +HEAPF64[$19>>3]; + $21 = HEAP32[$p>>2]|0; + $22 = ((($21)) + 16|0); + $23 = $22; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (+($25>>>0)) + (4294967296.0*(+($28|0))); + $30 = $20 / $29; + _sqlite3_result_double($18,$30); + STACKTOP = sp;return; } -function _parseTimezone($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $nHr = 0, $nMn = 0, $or$cond = 0, $sgn = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; +function _countStep($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $sgn = sp + 20|0; - $nHr = sp + 16|0; - $nMn = sp + 12|0; - $c = sp + 8|0; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - HEAP32[$sgn>>2] = 0; - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4&255; - $6 = (19267 + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = $8 & 1; - $10 = ($9|0)!=(0); - if (!($10)) { - break; - } - $11 = HEAP32[$1>>2]|0; - $12 = ((($11)) + 1|0); - HEAP32[$1>>2] = $12; - } - $13 = HEAP32[$2>>2]|0; - $14 = ((($13)) + 28|0); - HEAP32[$14>>2] = 0; - $15 = HEAP32[$1>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = $16 << 24 >> 24; - HEAP32[$c>>2] = $17; - $18 = HEAP32[$c>>2]|0; - $19 = ($18|0)==(45); - do { - if ($19) { - HEAP32[$sgn>>2] = -1; - label = 11; - } else { - $20 = HEAP32[$c>>2]|0; - $21 = ($20|0)==(43); - if ($21) { - HEAP32[$sgn>>2] = 1; - label = 11; - break; - } - $22 = HEAP32[$c>>2]|0; - $23 = ($22|0)==(90); - $24 = HEAP32[$c>>2]|0; - $25 = ($24|0)==(122); - $or$cond = $23 | $25; - if ($or$cond) { - $26 = HEAP32[$1>>2]|0; - $27 = ((($26)) + 1|0); - HEAP32[$1>>2] = $27; - break; - } - $28 = HEAP32[$c>>2]|0; - $29 = ($28|0)!=(0); - $30 = $29&1; - HEAP32[$0>>2] = $30; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); - } - } while(0); - do { - if ((label|0) == 11) { - $31 = HEAP32[$1>>2]|0; - $32 = ((($31)) + 1|0); - HEAP32[$1>>2] = $32; - $33 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $nHr; - $vararg_ptr2 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr2>>2] = $nMn; - $34 = (_getDigits($33,46531,$vararg_buffer)|0); - $35 = ($34|0)!=(2); - if (!($35)) { - $36 = HEAP32[$1>>2]|0; - $37 = ((($36)) + 5|0); - HEAP32[$1>>2] = $37; - $38 = HEAP32[$sgn>>2]|0; - $39 = HEAP32[$nMn>>2]|0; - $40 = HEAP32[$nHr>>2]|0; - $41 = ($40*60)|0; - $42 = (($39) + ($41))|0; - $43 = Math_imul($38, $42)|0; - $44 = HEAP32[$2>>2]|0; - $45 = ((($44)) + 28|0); - HEAP32[$45>>2] = $43; - break; - } - HEAP32[$0>>2] = 1; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); + STACKTOP = STACKTOP + 16|0; + $0 = sp + 12|0; + $1 = sp + 8|0; + $2 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_aggregate_context($3,8)|0); + HEAP32[$p>>2] = $4; + $5 = HEAP32[$1>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$old = HEAP32[$p>>2]|0; + $$old1 = ($$old|0)!=(0|0); + if (!($$old1)) { + STACKTOP = sp;return; } - } while(0); - while(1) { - $46 = HEAP32[$1>>2]|0; - $47 = HEAP8[$46>>0]|0; - $48 = $47&255; - $49 = (19267 + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = $50&255; - $52 = $51 & 1; - $53 = ($52|0)!=(0); - if (!($53)) { - break; + } else { + $7 = HEAP32[$2>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_type($8)|0); + $10 = (5)!=($9|0); + $11 = HEAP32[$p>>2]|0; + $12 = ($11|0)!=(0|0); + $or$cond = $10 & $12; + if (!($or$cond)) { + STACKTOP = sp;return; } - $54 = HEAP32[$1>>2]|0; - $55 = ((($54)) + 1|0); - HEAP32[$1>>2] = $55; } - $56 = HEAP32[$2>>2]|0; - $57 = ((($56)) + 44|0); - HEAP8[$57>>0] = 1; - $58 = HEAP32[$1>>2]|0; - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($60|0)!=(0); - $62 = $61&1; - HEAP32[$0>>2] = $62; - $63 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($63|0); + $13 = HEAP32[$p>>2]|0; + $14 = $13; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = (_i64Add(($16|0),($19|0),1,0)|0); + $21 = tempRet0; + $22 = $13; + $23 = $22; + HEAP32[$23>>2] = $20; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + STACKTOP = sp;return; } -function _osLocaltime($t,$pTm) { - $t = $t|0; - $pTm = $pTm|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pX = 0, $rc = 0, dest = 0, label = 0, sp = 0; - var src = 0, stop = 0; +function _countFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $rc = sp + 4|0; - $pX = sp; - HEAP32[$0>>2] = $t; - HEAP32[$1>>2] = $pTm; - $2 = HEAP32[$0>>2]|0; - $3 = (_localtime(($2|0))|0); - HEAP32[$pX>>2] = $3; - $4 = HEAP32[(276)>>2]|0; - $5 = ($4|0)!=(0); - $$ = $5 ? 0 : $3; - HEAP32[$pX>>2] = $$; - $6 = HEAP32[$pX>>2]|0; - $7 = ($6|0)!=(0|0); - if ($7) { - $8 = HEAP32[$1>>2]|0; - $9 = HEAP32[$pX>>2]|0; - dest=$8; src=$9; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $0 = sp + 4|0; + $p = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$p>>2] = $2; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$p>>2]|0; + $5 = ($4|0)!=(0|0); + if (!($5)) { + $13 = 0;$14 = 0; + _sqlite3_result_int64($3,$13,$14); + STACKTOP = sp;return; } - $10 = HEAP32[$pX>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $11&1; - HEAP32[$rc>>2] = $12; - $13 = HEAP32[$rc>>2]|0; - STACKTOP = sp;return ($13|0); + $6 = HEAP32[$p>>2]|0; + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $9;$14 = $12; + _sqlite3_result_int64($3,$13,$14); + STACKTOP = sp;return; } -function _parseYyyyMmDd($zDate,$p) { - $zDate = $zDate|0; - $p = $p|0; +function _groupConcatStep($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; - var $9 = 0, $D = 0, $M = 0, $Y = 0, $neg = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $firstTerm = 0, $nSep = 0, $nVal = 0, $pAccum = 0, $zSep = 0, $zVal = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp; $0 = sp + 36|0; $1 = sp + 32|0; $2 = sp + 28|0; - $Y = sp + 24|0; - $M = sp + 20|0; - $D = sp + 16|0; - $neg = sp + 12|0; - HEAP32[$1>>2] = $zDate; - HEAP32[$2>>2] = $p; - $3 = HEAP32[$1>>2]|0; - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $6 = ($5|0)==(45); + $zVal = sp + 24|0; + $pAccum = sp + 20|0; + $zSep = sp + 16|0; + $nVal = sp + 12|0; + $nSep = sp + 8|0; + $db = sp + 4|0; + $firstTerm = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_type($4)|0); + $6 = ($5|0)==(5); if ($6) { - $7 = HEAP32[$1>>2]|0; - $8 = ((($7)) + 1|0); - HEAP32[$1>>2] = $8; - HEAP32[$neg>>2] = 1; - } else { - HEAP32[$neg>>2] = 0; + STACKTOP = sp;return; } - $9 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $Y; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $M; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $D; - $10 = (_getDigits($9,46566,$vararg_buffer)|0); - $11 = ($10|0)!=(3); - if ($11) { - HEAP32[$0>>2] = 1; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $7 = HEAP32[$0>>2]|0; + $8 = (_sqlite3_aggregate_context($7,28)|0); + HEAP32[$pAccum>>2] = $8; + $9 = HEAP32[$pAccum>>2]|0; + $10 = ($9|0)!=(0|0); + if (!($10)) { + STACKTOP = sp;return; } - $12 = HEAP32[$1>>2]|0; - $13 = ((($12)) + 10|0); - HEAP32[$1>>2] = $13; - while(1) { - $14 = HEAP32[$1>>2]|0; - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (19267 + ($16)|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = $19 & 1; - $21 = ($20|0)!=(0); - if ($21) { - $60 = 1; + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$db>>2] = $12; + $13 = HEAP32[$pAccum>>2]|0; + $14 = ((($13)) + 20|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)==(0); + $17 = $16&1; + HEAP32[$firstTerm>>2] = $17; + $18 = HEAP32[$db>>2]|0; + $19 = ((($18)) + 92|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$pAccum>>2]|0; + $22 = ((($21)) + 20|0); + HEAP32[$22>>2] = $20; + $23 = HEAP32[$firstTerm>>2]|0; + $24 = ($23|0)!=(0); + if (!($24)) { + $25 = HEAP32[$1>>2]|0; + $26 = ($25|0)==(2); + if ($26) { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + 4|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_sqlite3_value_text($29)|0); + HEAP32[$zSep>>2] = $30; + $31 = HEAP32[$2>>2]|0; + $32 = ((($31)) + 4|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sqlite3_value_bytes($33)|0); + HEAP32[$nSep>>2] = $34; } else { - $22 = HEAP32[$1>>2]|0; - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (84)==($24|0); - $60 = $25; + HEAP32[$zSep>>2] = 37919; + HEAP32[$nSep>>2] = 1; } - $26 = HEAP32[$1>>2]|0; - if (!($60)) { - break; + $35 = HEAP32[$nSep>>2]|0; + $36 = ($35|0)!=(0); + if ($36) { + $37 = HEAP32[$pAccum>>2]|0; + $38 = HEAP32[$zSep>>2]|0; + $39 = HEAP32[$nSep>>2]|0; + _sqlite3StrAccumAppend($37,$38,$39); } - $27 = ((($26)) + 1|0); - HEAP32[$1>>2] = $27; } - $28 = HEAP32[$2>>2]|0; - $29 = (_parseHhMmSs($26,$28)|0); - $30 = ($29|0)==(0); - do { - if (!($30)) { - $31 = HEAP32[$1>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($33|0)==(0); - if ($34) { - $35 = HEAP32[$2>>2]|0; - $36 = ((($35)) + 41|0); - HEAP8[$36>>0] = 0; - break; - } - HEAP32[$0>>2] = 1; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); - } - } while(0); - $37 = HEAP32[$2>>2]|0; - $38 = ((($37)) + 42|0); - HEAP8[$38>>0] = 0; - $39 = HEAP32[$2>>2]|0; - $40 = ((($39)) + 40|0); - HEAP8[$40>>0] = 1; - $41 = HEAP32[$neg>>2]|0; - $42 = ($41|0)!=(0); - $43 = HEAP32[$Y>>2]|0; - $44 = (0 - ($43))|0; - $45 = $42 ? $44 : $43; - $46 = HEAP32[$2>>2]|0; - $47 = ((($46)) + 8|0); - HEAP32[$47>>2] = $45; - $48 = HEAP32[$M>>2]|0; - $49 = HEAP32[$2>>2]|0; - $50 = ((($49)) + 12|0); - HEAP32[$50>>2] = $48; - $51 = HEAP32[$D>>2]|0; - $52 = HEAP32[$2>>2]|0; - $53 = ((($52)) + 16|0); - HEAP32[$53>>2] = $51; - $54 = HEAP32[$2>>2]|0; - $55 = ((($54)) + 43|0); - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if ($57) { - $58 = HEAP32[$2>>2]|0; - _computeJD($58); + $40 = HEAP32[$2>>2]|0; + $41 = HEAP32[$40>>2]|0; + $42 = (_sqlite3_value_text($41)|0); + HEAP32[$zVal>>2] = $42; + $43 = HEAP32[$2>>2]|0; + $44 = HEAP32[$43>>2]|0; + $45 = (_sqlite3_value_bytes($44)|0); + HEAP32[$nVal>>2] = $45; + $46 = HEAP32[$zVal>>2]|0; + $47 = ($46|0)!=(0|0); + if (!($47)) { + STACKTOP = sp;return; } - HEAP32[$0>>2] = 0; - $59 = HEAP32[$0>>2]|0; - STACKTOP = sp;return ($59|0); + $48 = HEAP32[$pAccum>>2]|0; + $49 = HEAP32[$zVal>>2]|0; + $50 = HEAP32[$nVal>>2]|0; + _sqlite3StrAccumAppend($48,$49,$50); + STACKTOP = sp;return; } -function _sqlite3StmtCurrentTime($p) { - $p = $p|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $piTime = 0, $rc = 0, label = 0, sp = 0; +function _groupConcatFinalize($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAccum = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $rc = sp + 4|0; - $piTime = sp; - HEAP32[$0>>2] = $p; + $0 = sp + 4|0; + $pAccum = sp; + HEAP32[$0>>2] = $context; $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 136|0); - HEAP32[$piTime>>2] = $4; - $5 = HEAP32[$piTime>>2]|0; - $6 = $5; + $2 = (_sqlite3_aggregate_context($1,0)|0); + HEAP32[$pAccum>>2] = $2; + $3 = HEAP32[$pAccum>>2]|0; + $4 = ($3|0)!=(0|0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$pAccum>>2]|0; + $6 = ((($5)) + 24|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = ($8|0)==(2); + if ($9) { + $10 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($10); + STACKTOP = sp;return; + } + $11 = HEAP32[$pAccum>>2]|0; + $12 = ((($11)) + 24|0); + $13 = HEAP8[$12>>0]|0; + $14 = $13&255; + $15 = ($14|0)==(1); + $16 = HEAP32[$0>>2]|0; + if ($15) { + _sqlite3_result_error_nomem($16); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$pAccum>>2]|0; + $18 = (_sqlite3StrAccumFinish($17)|0); + _sqlite3_result_text($16,$18,-1,148); + STACKTOP = sp;return; + } +} +function _contextMalloc($context,$0,$1) { + $context = $context|0; + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $z = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; + $2 = sp + 16|0; + $3 = sp; + $z = sp + 12|0; + $db = sp + 8|0; + HEAP32[$2>>2] = $context; + $4 = $3; + $5 = $4; + HEAP32[$5>>2] = $0; + $6 = (($4) + 4)|0; $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = ($8|0)==(0); - $13 = ($11|0)==(0); - $14 = $12 & $13; - if ($14) { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = ((($16)) + 32|0); - $18 = HEAP32[$17>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$piTime>>2]|0; - $21 = (_sqlite3OsCurrentTimeInt64($19,$20)|0); - HEAP32[$rc>>2] = $21; - $22 = HEAP32[$rc>>2]|0; - $23 = ($22|0)!=(0); - if ($23) { - $24 = HEAP32[$piTime>>2]|0; - $25 = $24; - $26 = $25; - HEAP32[$26>>2] = 0; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = 0; - } + HEAP32[$7>>2] = $1; + $8 = HEAP32[$2>>2]|0; + $9 = (_sqlite3_context_db_handle($8)|0); + HEAP32[$db>>2] = $9; + $10 = $3; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (($10) + 4)|0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$db>>2]|0; + $17 = ((($16)) + 92|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)<(0); + $20 = $19 << 31 >> 31; + $21 = ($15|0)>($20|0); + $22 = ($12>>>0)>($18>>>0); + $23 = ($15|0)==($20|0); + $24 = $23 & $22; + $25 = $21 | $24; + if ($25) { + $26 = HEAP32[$2>>2]|0; + _sqlite3_result_error_toobig($26); + HEAP32[$z>>2] = 0; + $37 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($37|0); } - $29 = HEAP32[$piTime>>2]|0; - $30 = $29; + $27 = $3; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; $31 = $30; $32 = HEAP32[$31>>2]|0; - $33 = (($30) + 4)|0; - $34 = $33; - $35 = HEAP32[$34>>2]|0; - tempRet0 = ($35); - STACKTOP = sp;return ($32|0); + $33 = (_sqlite3Malloc($29,$32)|0); + HEAP32[$z>>2] = $33; + $34 = HEAP32[$z>>2]|0; + $35 = ($34|0)!=(0|0); + if ($35) { + $37 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($37|0); + } + $36 = HEAP32[$2>>2]|0; + _sqlite3_result_error_nomem($36); + $37 = HEAP32[$z>>2]|0; + STACKTOP = sp;return ($37|0); } -function _trimFunc($context,$argc,$argv) { +function _sqlite3GetFuncCollSeq($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 4|0; + $pOp = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) - 1)|0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($7)) + 4|0); + $9 = HEAP32[$8>>2]|0; + $10 = (($9) + (($4*20)|0)|0); + HEAP32[$pOp>>2] = $10; + $11 = HEAP32[$pOp>>2]|0; + $12 = ((($11)) + 16|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _sqlite3SkipAccumulatorLoad($context) { + $context = $context|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp; + HEAP32[$0>>2] = $context; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 24|0); + HEAP8[$2>>0] = 1; + STACKTOP = sp;return; +} +function _juliandayFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $$old = 0, $$old1 = 0, $$old2 = 0, $$old3 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0; - var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0; - var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0; - var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0; - var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $aLen = 0, $azChar = 0, $flags = 0, $i = 0, $len = 0, $len1 = 0; - var $nChar = 0, $nIn = 0, $or$cond = 0, $or$cond4 = 0, $z = 0, $zCharSet = 0, $zIn = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $x = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; - $0 = sp + 52|0; - $1 = sp + 48|0; - $2 = sp + 44|0; - $zIn = sp + 40|0; - $zCharSet = sp + 36|0; - $nIn = sp + 32|0; - $flags = sp + 28|0; - $i = sp + 24|0; - $aLen = sp + 20|0; - $azChar = sp + 16|0; - $nChar = sp + 12|0; - $z = sp + 8|0; - $len = sp + 4|0; - $len1 = sp; + $0 = sp + 56|0; + $1 = sp + 52|0; + $2 = sp + 48|0; + $x = sp; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; - HEAP32[$aLen>>2] = 0; - HEAP32[$azChar>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - $6 = ($5|0)==(5); - if ($6) { + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { STACKTOP = sp;return; } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zIn>>2] = $9; - $10 = HEAP32[$zIn>>2]|0; - $11 = ($10|0)==(0|0); - if ($11) { + _computeJD($x); + $8 = HEAP32[$0>>2]|0; + $9 = $x; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (+($11>>>0)) + (4294967296.0*(+($14|0))); + $16 = $15 / 8.64E+7; + _sqlite3_result_double($8,$16); + STACKTOP = sp;return; +} +function _dateFunc($context,$argc,$argv) { + $context = $context|0; + $argc = $argc|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0, $zBuf = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 48|0; + $0 = sp + 68|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $x = sp; + $zBuf = sp + 72|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $argc; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { STACKTOP = sp;return; } - $12 = HEAP32[$2>>2]|0; + _computeYMD($x); + $8 = ((($x)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($x)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($x)) + 16|0); $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_bytes($13)|0); - HEAP32[$nIn>>2] = $14; - $15 = HEAP32[$1>>2]|0; - $16 = ($15|0)==(1); - L7: do { - if ($16) { - HEAP32[$nChar>>2] = 1; - HEAP32[$aLen>>2] = 47041; - HEAP32[$azChar>>2] = 9964; - HEAP32[$zCharSet>>2] = 0; - } else { - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_text($19)|0); - HEAP32[$zCharSet>>2] = $20; - $21 = ($20|0)==(0|0); - if ($21) { - STACKTOP = sp;return; - } - $22 = HEAP32[$zCharSet>>2]|0; - HEAP32[$z>>2] = $22; - HEAP32[$nChar>>2] = 0; - while(1) { - $23 = HEAP32[$z>>2]|0; - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)!=(0); - if (!($25)) { - break; - } - $26 = HEAP32[$z>>2]|0; - $27 = ((($26)) + 1|0); - HEAP32[$z>>2] = $27; - $28 = HEAP8[$26>>0]|0; - $29 = $28&255; - $30 = ($29|0)>=(192); - L16: do { - if ($30) { - while(1) { - $31 = HEAP32[$z>>2]|0; - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = $33 & 192; - $35 = ($34|0)==(128); - if (!($35)) { - break L16; - } - $36 = HEAP32[$z>>2]|0; - $37 = ((($36)) + 1|0); - HEAP32[$z>>2] = $37; - } - } - } while(0); - $38 = HEAP32[$nChar>>2]|0; - $39 = (($38) + 1)|0; - HEAP32[$nChar>>2] = $39; - } - $40 = HEAP32[$nChar>>2]|0; - $41 = ($40|0)>(0); - if ($41) { - $42 = HEAP32[$0>>2]|0; - $43 = HEAP32[$nChar>>2]|0; - $44 = ($43|0)<(0); - $45 = $44 << 31 >> 31; - $46 = (___muldi3(($43|0),($45|0),5,0)|0); - $47 = tempRet0; - $48 = (_contextMalloc($42,$46,$47)|0); - HEAP32[$azChar>>2] = $48; - $49 = HEAP32[$azChar>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - STACKTOP = sp;return; - } - $51 = HEAP32[$nChar>>2]|0; - $52 = HEAP32[$azChar>>2]|0; - $53 = (($52) + ($51<<2)|0); - HEAP32[$aLen>>2] = $53; - $54 = HEAP32[$zCharSet>>2]|0; - HEAP32[$z>>2] = $54; - HEAP32[$nChar>>2] = 0; - while(1) { - $55 = HEAP32[$z>>2]|0; - $56 = HEAP8[$55>>0]|0; - $57 = ($56<<24>>24)!=(0); - if (!($57)) { - break L7; - } - $58 = HEAP32[$z>>2]|0; - $59 = HEAP32[$nChar>>2]|0; - $60 = HEAP32[$azChar>>2]|0; - $61 = (($60) + ($59<<2)|0); - HEAP32[$61>>2] = $58; - $62 = HEAP32[$z>>2]|0; - $63 = ((($62)) + 1|0); - HEAP32[$z>>2] = $63; - $64 = HEAP8[$62>>0]|0; - $65 = $64&255; - $66 = ($65|0)>=(192); - L29: do { - if ($66) { - while(1) { - $67 = HEAP32[$z>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = $69 & 192; - $71 = ($70|0)==(128); - if (!($71)) { - break L29; - } - $72 = HEAP32[$z>>2]|0; - $73 = ((($72)) + 1|0); - HEAP32[$z>>2] = $73; - } - } - } while(0); - $74 = HEAP32[$z>>2]|0; - $75 = HEAP32[$nChar>>2]|0; - $76 = HEAP32[$azChar>>2]|0; - $77 = (($76) + ($75<<2)|0); - $78 = HEAP32[$77>>2]|0; - $79 = $74; - $80 = $78; - $81 = (($79) - ($80))|0; - $82 = $81&255; - $83 = HEAP32[$nChar>>2]|0; - $84 = HEAP32[$aLen>>2]|0; - $85 = (($84) + ($83)|0); - HEAP8[$85>>0] = $82; - $86 = HEAP32[$nChar>>2]|0; - $87 = (($86) + 1)|0; - HEAP32[$nChar>>2] = $87; - } - } - } - } while(0); - $88 = HEAP32[$nChar>>2]|0; - $89 = ($88|0)>(0); - if ($89) { - $90 = HEAP32[$0>>2]|0; - $91 = (_sqlite3_user_data($90)|0); - $92 = $91; - HEAP32[$flags>>2] = $92; - $93 = HEAP32[$flags>>2]|0; - $94 = $93 & 1; - $95 = ($94|0)!=(0); - $96 = HEAP32[$nIn>>2]|0; - $97 = ($96|0)>(0); - $or$cond = $95 & $97; - L37: do { - if ($or$cond) { - while(1) { - HEAP32[$len>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $98 = HEAP32[$i>>2]|0; - $99 = HEAP32[$nChar>>2]|0; - $100 = ($98|0)<($99|0); - if (!($100)) { - break; - } - $101 = HEAP32[$i>>2]|0; - $102 = HEAP32[$aLen>>2]|0; - $103 = (($102) + ($101)|0); - $104 = HEAP8[$103>>0]|0; - $105 = $104&255; - HEAP32[$len>>2] = $105; - $106 = HEAP32[$len>>2]|0; - $107 = HEAP32[$nIn>>2]|0; - $108 = ($106|0)<=($107|0); - if ($108) { - $109 = HEAP32[$zIn>>2]|0; - $110 = HEAP32[$i>>2]|0; - $111 = HEAP32[$azChar>>2]|0; - $112 = (($111) + ($110<<2)|0); - $113 = HEAP32[$112>>2]|0; - $114 = HEAP32[$len>>2]|0; - $115 = (_memcmp($109,$113,$114)|0); - $116 = ($115|0)==(0); - if ($116) { - break; - } - } - $117 = HEAP32[$i>>2]|0; - $118 = (($117) + 1)|0; - HEAP32[$i>>2] = $118; - } - $119 = HEAP32[$i>>2]|0; - $120 = HEAP32[$nChar>>2]|0; - $121 = ($119|0)>=($120|0); - if ($121) { - break L37; - } - $122 = HEAP32[$len>>2]|0; - $123 = HEAP32[$zIn>>2]|0; - $124 = (($123) + ($122)|0); - HEAP32[$zIn>>2] = $124; - $125 = HEAP32[$len>>2]|0; - $126 = HEAP32[$nIn>>2]|0; - $127 = (($126) - ($125))|0; - HEAP32[$nIn>>2] = $127; - $$old = HEAP32[$nIn>>2]|0; - $$old1 = ($$old|0)>(0); - if (!($$old1)) { - break; - } - } - } - } while(0); - $128 = HEAP32[$flags>>2]|0; - $129 = $128 & 2; - $130 = ($129|0)!=(0); - $131 = HEAP32[$nIn>>2]|0; - $132 = ($131|0)>(0); - $or$cond4 = $130 & $132; - L49: do { - if ($or$cond4) { - while(1) { - HEAP32[$len1>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $133 = HEAP32[$i>>2]|0; - $134 = HEAP32[$nChar>>2]|0; - $135 = ($133|0)<($134|0); - if (!($135)) { - break; - } - $136 = HEAP32[$i>>2]|0; - $137 = HEAP32[$aLen>>2]|0; - $138 = (($137) + ($136)|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - HEAP32[$len1>>2] = $140; - $141 = HEAP32[$len1>>2]|0; - $142 = HEAP32[$nIn>>2]|0; - $143 = ($141|0)<=($142|0); - if ($143) { - $144 = HEAP32[$nIn>>2]|0; - $145 = HEAP32[$len1>>2]|0; - $146 = (($144) - ($145))|0; - $147 = HEAP32[$zIn>>2]|0; - $148 = (($147) + ($146)|0); - $149 = HEAP32[$i>>2]|0; - $150 = HEAP32[$azChar>>2]|0; - $151 = (($150) + ($149<<2)|0); - $152 = HEAP32[$151>>2]|0; - $153 = HEAP32[$len1>>2]|0; - $154 = (_memcmp($148,$152,$153)|0); - $155 = ($154|0)==(0); - if ($155) { - break; - } - } - $156 = HEAP32[$i>>2]|0; - $157 = (($156) + 1)|0; - HEAP32[$i>>2] = $157; - } - $158 = HEAP32[$i>>2]|0; - $159 = HEAP32[$nChar>>2]|0; - $160 = ($158|0)>=($159|0); - if ($160) { - break L49; - } - $161 = HEAP32[$len1>>2]|0; - $162 = HEAP32[$nIn>>2]|0; - $163 = (($162) - ($161))|0; - HEAP32[$nIn>>2] = $163; - $$old2 = HEAP32[$nIn>>2]|0; - $$old3 = ($$old2|0)>(0); - if (!($$old3)) { - break; - } - } - } - } while(0); - $164 = HEAP32[$zCharSet>>2]|0; - $165 = ($164|0)!=(0|0); - if ($165) { - $166 = HEAP32[$azChar>>2]|0; - _sqlite3_free($166); - } - } - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$zIn>>2]|0; - $169 = HEAP32[$nIn>>2]|0; - _sqlite3_result_text($167,$168,$169,(-1)); + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $11; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + (_sqlite3_snprintf(100,$zBuf,46599,$vararg_buffer)|0); + $14 = HEAP32[$0>>2]|0; + _sqlite3_result_text($14,$zBuf,-1,(-1)); STACKTOP = sp;return; } -function _minmaxFunc($context,$argc,$argv) { +function _timeFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $i = 0, $iBest = 0, $mask = 0, $pColl = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $x = 0; + var $zBuf = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $i = sp + 12|0; - $mask = sp + 8|0; - $iBest = sp + 4|0; - $pColl = sp; + STACKTOP = STACKTOP + 176|0; + $vararg_buffer = sp + 48|0; + $0 = sp + 68|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $x = sp; + $zBuf = sp + 72|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_user_data($3)|0); - $5 = ($4|0)==(0|0); - $6 = $5 ? 0 : -1; - HEAP32[$mask>>2] = $6; - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3GetFuncCollSeq($7)|0); - HEAP32[$pColl>>2] = $8; - HEAP32[$iBest>>2] = 0; - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = ($11|0)==(5); - if ($12) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 1; - while(1) { - $13 = HEAP32[$i>>2]|0; - $14 = HEAP32[$1>>2]|0; - $15 = ($13|0)<($14|0); - if (!($15)) { - break; - } - $16 = HEAP32[$i>>2]|0; - $17 = HEAP32[$2>>2]|0; - $18 = (($17) + ($16<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_type($19)|0); - $21 = ($20|0)==(5); - if ($21) { - label = 9; - break; - } - $22 = HEAP32[$iBest>>2]|0; - $23 = HEAP32[$2>>2]|0; - $24 = (($23) + ($22<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = HEAP32[$i>>2]|0; - $27 = HEAP32[$2>>2]|0; - $28 = (($27) + ($26<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = HEAP32[$pColl>>2]|0; - $31 = (_sqlite3MemCompare($25,$29,$30)|0); - $32 = HEAP32[$mask>>2]|0; - $33 = $31 ^ $32; - $34 = ($33|0)>=(0); - if ($34) { - $35 = HEAP32[$i>>2]|0; - HEAP32[$iBest>>2] = $35; - } - $36 = HEAP32[$i>>2]|0; - $37 = (($36) + 1)|0; - HEAP32[$i>>2] = $37; - } - if ((label|0) == 9) { - STACKTOP = sp;return; - } - $38 = HEAP32[$0>>2]|0; - $39 = HEAP32[$iBest>>2]|0; - $40 = HEAP32[$2>>2]|0; - $41 = (($40) + ($39<<2)|0); - $42 = HEAP32[$41>>2]|0; - _sqlite3_result_value($38,$42); - STACKTOP = sp;return; -} -function _minmaxStep($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cmp = 0, $max = 0, $or$cond = 0, $or$cond3 = 0, $pArg = 0, $pBest = 0, $pColl = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $pArg = sp + 16|0; - $pBest = sp + 12|0; - $max = sp + 8|0; - $cmp = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - HEAP32[$pArg>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = (_sqlite3_aggregate_context($5,40)|0); - HEAP32[$pBest>>2] = $6; - $7 = HEAP32[$pBest>>2]|0; - $8 = ($7|0)!=(0|0); - if (!($8)) { - STACKTOP = sp;return; - } - $9 = HEAP32[$2>>2]|0; - $10 = HEAP32[$9>>2]|0; - $11 = (_sqlite3_value_type($10)|0); - $12 = ($11|0)==(5); - $13 = HEAP32[$pBest>>2]|0; - $14 = ((($13)) + 8|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)!=(0); - if ($12) { - if (!($16)) { - STACKTOP = sp;return; - } - $17 = HEAP32[$0>>2]|0; - _sqlite3SkipAccumulatorLoad($17); - STACKTOP = sp;return; - } - $18 = HEAP32[$0>>2]|0; - if (!($16)) { - $39 = (_sqlite3_context_db_handle($18)|0); - $40 = HEAP32[$pBest>>2]|0; - $41 = ((($40)) + 32|0); - HEAP32[$41>>2] = $39; - $42 = HEAP32[$pBest>>2]|0; - $43 = HEAP32[$pArg>>2]|0; - (_sqlite3VdbeMemCopy($42,$43)|0); - STACKTOP = sp;return; - } - $19 = (_sqlite3GetFuncCollSeq($18)|0); - HEAP32[$pColl>>2] = $19; - $20 = HEAP32[$0>>2]|0; - $21 = (_sqlite3_user_data($20)|0); - $22 = ($21|0)!=(0|0); - $23 = $22&1; - HEAP32[$max>>2] = $23; - $24 = HEAP32[$pBest>>2]|0; - $25 = HEAP32[$pArg>>2]|0; - $26 = HEAP32[$pColl>>2]|0; - $27 = (_sqlite3MemCompare($24,$25,$26)|0); - HEAP32[$cmp>>2] = $27; - $28 = HEAP32[$max>>2]|0; - $29 = ($28|0)!=(0); - $30 = HEAP32[$cmp>>2]|0; - $31 = ($30|0)<(0); - $or$cond = $29 & $31; - if (!($or$cond)) { - $32 = HEAP32[$max>>2]|0; - $33 = ($32|0)==(0); - $34 = HEAP32[$cmp>>2]|0; - $35 = ($34|0)>(0); - $or$cond3 = $33 & $35; - if (!($or$cond3)) { - $38 = HEAP32[$0>>2]|0; - _sqlite3SkipAccumulatorLoad($38); - STACKTOP = sp;return; - } - } - $36 = HEAP32[$pBest>>2]|0; - $37 = HEAP32[$pArg>>2]|0; - (_sqlite3VdbeMemCopy($36,$37)|0); - STACKTOP = sp;return; -} -function _minMaxFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pRes = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pRes = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$pRes>>2] = $2; - $3 = HEAP32[$pRes>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { STACKTOP = sp;return; } - $5 = HEAP32[$pRes>>2]|0; - $6 = ((($5)) + 8|0); - $7 = HEAP16[$6>>1]|0; - $8 = ($7<<16>>16)!=(0); - if ($8) { - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$pRes>>2]|0; - _sqlite3_result_value($9,$10); - } - $11 = HEAP32[$pRes>>2]|0; - _sqlite3VdbeMemRelease($11); - STACKTOP = sp;return; -} -function _typeofFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - HEAP32[$z>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 1: { - HEAP32[$z>>2] = 40517; - break; - } - case 3: { - HEAP32[$z>>2] = 47031; - break; - } - case 2: { - HEAP32[$z>>2] = 40512; - break; - } - case 4: { - HEAP32[$z>>2] = 47036; - break; - } - default: { - HEAP32[$z>>2] = 40525; - } - } - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$z>>2]|0; - _sqlite3_result_text($6,$7,-1,0); + _computeHMS($x); + $8 = ((($x)) + 20|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($x)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($x)) + 32|0); + $13 = +HEAPF64[$12>>3]; + $14 = (~~(($13))); + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $11; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $14; + (_sqlite3_snprintf(100,$zBuf,46584,$vararg_buffer)|0); + $15 = HEAP32[$0>>2]|0; + _sqlite3_result_text($15,$zBuf,-1,(-1)); STACKTOP = sp;return; } -function _lengthFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $len = 0, $z = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $len = sp + 4|0; - $z = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 2: case 1: case 4: { - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_bytes($8)|0); - _sqlite3_result_int($6,$9); - STACKTOP = sp;return; - break; - } - case 3: { - $10 = HEAP32[$2>>2]|0; - $11 = HEAP32[$10>>2]|0; - $12 = (_sqlite3_value_text($11)|0); - HEAP32[$z>>2] = $12; - $13 = HEAP32[$z>>2]|0; - $14 = ($13|0)==(0|0); - if ($14) { - STACKTOP = sp;return; - } - HEAP32[$len>>2] = 0; - L10: while(1) { - $15 = HEAP32[$z>>2]|0; - $16 = HEAP8[$15>>0]|0; - $17 = ($16<<24>>24)!=(0); - if (!($17)) { - break; - } - $18 = HEAP32[$len>>2]|0; - $19 = (($18) + 1)|0; - HEAP32[$len>>2] = $19; - $20 = HEAP32[$z>>2]|0; - $21 = ((($20)) + 1|0); - HEAP32[$z>>2] = $21; - $22 = HEAP8[$20>>0]|0; - $23 = $22&255; - $24 = ($23|0)>=(192); - if (!($24)) { - continue; - } - while(1) { - $25 = HEAP32[$z>>2]|0; - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = $27 & 192; - $29 = ($28|0)==(128); - if (!($29)) { - continue L10; - } - $30 = HEAP32[$z>>2]|0; - $31 = ((($30)) + 1|0); - HEAP32[$z>>2] = $31; - } - } - $32 = HEAP32[$0>>2]|0; - $33 = HEAP32[$len>>2]|0; - _sqlite3_result_int($32,$33); - STACKTOP = sp;return; - break; - } - default: { - $34 = HEAP32[$0>>2]|0; - _sqlite3_result_null($34); - STACKTOP = sp;return; - } - } -} -function _instrFunc($context,$argc,$argv) { +function _datetimeFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $N = 0, $isText = 0, $nHaystack = 0, $nNeedle = 0, $or$cond = 0, $or$cond3 = 0, $typeHaystack = 0, $typeNeedle = 0, $zHaystack = 0, $zNeedle = 0, label = 0, sp = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $x = 0, $zBuf = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $zHaystack = sp + 28|0; - $zNeedle = sp + 24|0; - $nHaystack = sp + 20|0; - $nNeedle = sp + 16|0; - $typeHaystack = sp + 12|0; - $typeNeedle = sp + 8|0; - $N = sp + 4|0; - $isText = sp; + STACKTOP = STACKTOP + 192|0; + $vararg_buffer = sp + 48|0; + $0 = sp + 80|0; + $1 = sp + 76|0; + $2 = sp + 72|0; + $x = sp; + $zBuf = sp + 84|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; - HEAP32[$N>>2] = 1; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - HEAP32[$typeHaystack>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - HEAP32[$typeNeedle>>2] = $9; - $10 = HEAP32[$typeHaystack>>2]|0; - $11 = ($10|0)==(5); - $12 = HEAP32[$typeNeedle>>2]|0; - $13 = ($12|0)==(5); - $or$cond = $11 | $13; - if ($or$cond) { + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$1>>2]|0; + $5 = HEAP32[$2>>2]|0; + $6 = (_isDate($3,$4,$5,$x)|0); + $7 = ($6|0)==(0); + if (!($7)) { STACKTOP = sp;return; } - $14 = HEAP32[$2>>2]|0; + _computeYMD_HMS($x); + $8 = ((($x)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($x)) + 12|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($x)) + 16|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($x)) + 20|0); $15 = HEAP32[$14>>2]|0; - $16 = (_sqlite3_value_bytes($15)|0); - HEAP32[$nHaystack>>2] = $16; - $17 = HEAP32[$2>>2]|0; - $18 = ((($17)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_bytes($19)|0); - HEAP32[$nNeedle>>2] = $20; - $21 = HEAP32[$typeHaystack>>2]|0; - $22 = ($21|0)==(4); - $23 = HEAP32[$typeNeedle>>2]|0; - $24 = ($23|0)==(4); - $or$cond3 = $22 & $24; - $25 = HEAP32[$2>>2]|0; - $26 = HEAP32[$25>>2]|0; - if ($or$cond3) { - $27 = (_sqlite3_value_blob($26)|0); - HEAP32[$zHaystack>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_blob($30)|0); - HEAP32[$zNeedle>>2] = $31; - HEAP32[$isText>>2] = 0; - } else { - $32 = (_sqlite3_value_text($26)|0); - HEAP32[$zHaystack>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = (_sqlite3_value_text($35)|0); - HEAP32[$zNeedle>>2] = $36; - HEAP32[$isText>>2] = 1; - } - L7: while(1) { - $37 = HEAP32[$nNeedle>>2]|0; - $38 = HEAP32[$nHaystack>>2]|0; - $39 = ($37|0)<=($38|0); - if (!($39)) { - break; - } - $40 = HEAP32[$zHaystack>>2]|0; - $41 = HEAP32[$zNeedle>>2]|0; - $42 = HEAP32[$nNeedle>>2]|0; - $43 = (_memcmp($40,$41,$42)|0); - $44 = ($43|0)!=(0); - if (!($44)) { - break; - } - $45 = HEAP32[$N>>2]|0; - $46 = (($45) + 1)|0; - HEAP32[$N>>2] = $46; - while(1) { - $47 = HEAP32[$nHaystack>>2]|0; - $48 = (($47) + -1)|0; - HEAP32[$nHaystack>>2] = $48; - $49 = HEAP32[$zHaystack>>2]|0; - $50 = ((($49)) + 1|0); - HEAP32[$zHaystack>>2] = $50; - $51 = HEAP32[$isText>>2]|0; - $52 = ($51|0)!=(0); - if (!($52)) { - continue L7; - } - $53 = HEAP32[$zHaystack>>2]|0; - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 & 192; - $57 = ($56|0)==(128); - if (!($57)) { - continue L7; - } - } - } - $58 = HEAP32[$nNeedle>>2]|0; - $59 = HEAP32[$nHaystack>>2]|0; - $60 = ($58|0)>($59|0); - if ($60) { - HEAP32[$N>>2] = 0; - } - $61 = HEAP32[$0>>2]|0; - $62 = HEAP32[$N>>2]|0; - _sqlite3_result_int($61,$62); + $16 = ((($x)) + 24|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($x)) + 32|0); + $19 = +HEAPF64[$18>>3]; + $20 = (~~(($19))); + HEAP32[$vararg_buffer>>2] = $9; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $11; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $13; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $15; + $vararg_ptr4 = ((($vararg_buffer)) + 16|0); + HEAP32[$vararg_ptr4>>2] = $17; + $vararg_ptr5 = ((($vararg_buffer)) + 20|0); + HEAP32[$vararg_ptr5>>2] = $20; + (_sqlite3_snprintf(100,$zBuf,46554,$vararg_buffer)|0); + $21 = HEAP32[$0>>2]|0; + _sqlite3_result_text($21,$zBuf,-1,(-1)); STACKTOP = sp;return; } -function _substrFunc($context,$argc,$argv) { +function _strftimeFunc($context,$argc,$argv) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; @@ -263835,2948 +264937,3572 @@ function _substrFunc($context,$argc,$argv) { var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; + var $189 = 0, $19 = 0, $190 = 0.0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0; var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0; var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0; var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0; - var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0; + var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0, $278 = 0; var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0; var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0; - var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; + var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0; var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0; var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0; - var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0; - var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0; - var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0; - var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0; - var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $len = 0, $negP2 = 0; - var $p0type = 0, $p1 = 0, $p2 = 0, $z = 0, $z2 = 0, label = 0, sp = 0; + var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $n = 0, $nDay = 0, $s = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $wd = 0, $x = 0, $y = 0, $z = 0, $zBuf = 0, $zFmt = 0, dest = 0, label = 0, sp = 0, src = 0; + var stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 36|0; - $z = sp + 32|0; - $z2 = sp + 28|0; - $len = sp + 24|0; - $p0type = sp + 20|0; - $p1 = sp + 8|0; - $p2 = sp; - $negP2 = sp + 16|0; + STACKTOP = STACKTOP + 336|0; + $vararg_buffer28 = sp + 192|0; + $vararg_buffer25 = sp + 184|0; + $vararg_buffer22 = sp + 176|0; + $vararg_buffer19 = sp + 168|0; + $vararg_buffer16 = sp + 160|0; + $vararg_buffer13 = sp + 152|0; + $vararg_buffer10 = sp + 144|0; + $vararg_buffer7 = sp + 136|0; + $vararg_buffer4 = sp + 128|0; + $vararg_buffer1 = sp + 120|0; + $vararg_buffer = sp + 112|0; + $0 = sp + 232|0; + $1 = sp + 228|0; + $2 = sp + 224|0; + $x = sp + 64|0; + $n = sp + 56|0; + $i = sp + 220|0; + $j = sp + 216|0; + $z = sp + 212|0; + $db = sp + 208|0; + $zFmt = sp + 204|0; + $zBuf = sp + 236|0; + $s = sp + 48|0; + $nDay = sp + 200|0; + $y = sp; + $wd = sp + 196|0; HEAP32[$0>>2] = $context; HEAP32[$1>>2] = $argc; HEAP32[$2>>2] = $argv; - HEAP32[$negP2>>2] = 0; - $3 = HEAP32[$2>>2]|0; - $4 = ((($3)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_sqlite3_value_type($5)|0); - $7 = ($6|0)==(5); - if ($7) { + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + if ($4) { STACKTOP = sp;return; } - $8 = HEAP32[$1>>2]|0; - $9 = ($8|0)==(3); + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_text($6)|0); + HEAP32[$zFmt>>2] = $7; + $8 = HEAP32[$zFmt>>2]|0; + $9 = ($8|0)==(0|0); if ($9) { - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_type($12)|0); - $14 = ($13|0)==(5); - if ($14) { - STACKTOP = sp;return; - } + STACKTOP = sp;return; } - $15 = HEAP32[$2>>2]|0; - $16 = HEAP32[$15>>2]|0; - $17 = (_sqlite3_value_type($16)|0); - HEAP32[$p0type>>2] = $17; - $18 = HEAP32[$2>>2]|0; - $19 = ((($18)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (_sqlite3_value_int($20)|0); - $22 = ($21|0)<(0); - $23 = $22 << 31 >> 31; - $24 = $p1; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = (($24) + 4)|0; - $27 = $26; - HEAP32[$27>>2] = $23; - $28 = HEAP32[$p0type>>2]|0; - $29 = ($28|0)==(4); - $30 = HEAP32[$2>>2]|0; - $31 = HEAP32[$30>>2]|0; - L8: do { - if ($29) { - $32 = (_sqlite3_value_bytes($31)|0); - HEAP32[$len>>2] = $32; - $33 = HEAP32[$2>>2]|0; - $34 = HEAP32[$33>>2]|0; - $35 = (_sqlite3_value_blob($34)|0); - HEAP32[$z>>2] = $35; - $36 = HEAP32[$z>>2]|0; - $37 = ($36|0)==(0|0); - if ($37) { - STACKTOP = sp;return; + $10 = HEAP32[$0>>2]|0; + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - 1)|0; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 4|0); + $15 = (_isDate($10,$12,$14,$x)|0); + $16 = ($15|0)!=(0); + if ($16) { + STACKTOP = sp;return; + } + $17 = HEAP32[$0>>2]|0; + $18 = (_sqlite3_context_db_handle($17)|0); + HEAP32[$db>>2] = $18; + HEAP32[$i>>2] = 0; + $19 = $n; + $20 = $19; + HEAP32[$20>>2] = 1; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = 0; + L10: while(1) { + $23 = HEAP32[$i>>2]|0; + $24 = HEAP32[$zFmt>>2]|0; + $25 = (($24) + ($23)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ($26<<24>>24)!=(0); + if (!($27)) { + break; + } + $28 = HEAP32[$i>>2]|0; + $29 = HEAP32[$zFmt>>2]|0; + $30 = (($29) + ($28)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31 << 24 >> 24; + $33 = ($32|0)==(37); + if ($33) { + $34 = HEAP32[$i>>2]|0; + $35 = (($34) + 1)|0; + $36 = HEAP32[$zFmt>>2]|0; + $37 = (($36) + ($35)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + switch ($39|0) { + case 87: case 83: case 77: case 109: case 72: case 100: { + $40 = $n; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = (_i64Add(($42|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = $n; + $49 = $48; + HEAP32[$49>>2] = $46; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + break; } - } else { - $38 = (_sqlite3_value_text($31)|0); - HEAP32[$z>>2] = $38; - $39 = HEAP32[$z>>2]|0; - $40 = ($39|0)==(0|0); - if ($40) { - STACKTOP = sp;return; + case 37: case 119: { + break; } - HEAP32[$len>>2] = 0; - $41 = $p1; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = (($41) + 4)|0; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)<(0); - if ($47) { - $48 = HEAP32[$z>>2]|0; - HEAP32[$z2>>2] = $48; - while(1) { - $49 = HEAP32[$z2>>2]|0; - $50 = HEAP8[$49>>0]|0; - $51 = ($50<<24>>24)!=(0); - if (!($51)) { - break L8; - } - $52 = HEAP32[$z2>>2]|0; - $53 = ((($52)) + 1|0); - HEAP32[$z2>>2] = $53; - $54 = HEAP8[$52>>0]|0; - $55 = $54&255; - $56 = ($55|0)>=(192); - L19: do { - if ($56) { - while(1) { - $57 = HEAP32[$z2>>2]|0; - $58 = HEAP8[$57>>0]|0; - $59 = $58&255; - $60 = $59 & 192; - $61 = ($60|0)==(128); - if (!($61)) { - break L19; - } - $62 = HEAP32[$z2>>2]|0; - $63 = ((($62)) + 1|0); - HEAP32[$z2>>2] = $63; - } - } - } while(0); - $64 = HEAP32[$len>>2]|0; - $65 = (($64) + 1)|0; - HEAP32[$len>>2] = $65; - } + case 102: { + $52 = $n; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = (_i64Add(($54|0),($57|0),8,0)|0); + $59 = tempRet0; + $60 = $n; + $61 = $60; + HEAP32[$61>>2] = $58; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + break; } - } - } while(0); - $66 = HEAP32[$1>>2]|0; - $67 = ($66|0)==(3); - if ($67) { - $68 = HEAP32[$2>>2]|0; - $69 = ((($68)) + 8|0); - $70 = HEAP32[$69>>2]|0; - $71 = (_sqlite3_value_int($70)|0); - $72 = ($71|0)<(0); - $73 = $72 << 31 >> 31; - $74 = $p2; - $75 = $74; - HEAP32[$75>>2] = $71; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = $p2; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = (($78) + 4)|0; - $82 = $81; - $83 = HEAP32[$82>>2]|0; - $84 = ($83|0)<(0); - if ($84) { - $85 = $p2; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $88 = (($85) + 4)|0; - $89 = $88; - $90 = HEAP32[$89>>2]|0; - $91 = (_i64Subtract(0,0,($87|0),($90|0))|0); - $92 = tempRet0; - $93 = $p2; - $94 = $93; - HEAP32[$94>>2] = $91; - $95 = (($93) + 4)|0; - $96 = $95; - HEAP32[$96>>2] = $92; - HEAP32[$negP2>>2] = 1; - } - } else { - $97 = HEAP32[$0>>2]|0; - $98 = (_sqlite3_context_db_handle($97)|0); - $99 = ((($98)) + 88|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)<(0); - $102 = $101 << 31 >> 31; - $103 = $p2; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = (($103) + 4)|0; - $106 = $105; - HEAP32[$106>>2] = $102; - } - $107 = $p1; - $108 = $107; - $109 = HEAP32[$108>>2]|0; - $110 = (($107) + 4)|0; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = ($112|0)<(0); - do { - if ($113) { - $114 = HEAP32[$len>>2]|0; - $115 = ($114|0)<(0); - $116 = $115 << 31 >> 31; - $117 = $p1; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = (_i64Add(($119|0),($122|0),($114|0),($116|0))|0); - $124 = tempRet0; - $125 = $p1; - $126 = $125; - HEAP32[$126>>2] = $123; - $127 = (($125) + 4)|0; - $128 = $127; - HEAP32[$128>>2] = $124; - $129 = $p1; - $130 = $129; - $131 = HEAP32[$130>>2]|0; - $132 = (($129) + 4)|0; - $133 = $132; - $134 = HEAP32[$133>>2]|0; - $135 = ($134|0)<(0); - if ($135) { - $136 = $p1; - $137 = $136; - $138 = HEAP32[$137>>2]|0; - $139 = (($136) + 4)|0; - $140 = $139; - $141 = HEAP32[$140>>2]|0; - $142 = $p2; - $143 = $142; - $144 = HEAP32[$143>>2]|0; - $145 = (($142) + 4)|0; - $146 = $145; - $147 = HEAP32[$146>>2]|0; - $148 = (_i64Add(($144|0),($147|0),($138|0),($141|0))|0); - $149 = tempRet0; - $150 = $p2; - $151 = $150; - HEAP32[$151>>2] = $148; - $152 = (($150) + 4)|0; - $153 = $152; - HEAP32[$153>>2] = $149; - $154 = $p2; - $155 = $154; - $156 = HEAP32[$155>>2]|0; - $157 = (($154) + 4)|0; - $158 = $157; - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)<(0); - $161 = $160 ? 0 : $148; - $162 = $160 ? 0 : $149; - $163 = $p2; - $164 = $163; - HEAP32[$164>>2] = $161; - $165 = (($163) + 4)|0; - $166 = $165; - HEAP32[$166>>2] = $162; - $167 = $p1; - $168 = $167; - HEAP32[$168>>2] = 0; - $169 = (($167) + 4)|0; - $170 = $169; - HEAP32[$170>>2] = 0; + case 106: { + $64 = $n; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (_i64Add(($66|0),($69|0),3,0)|0); + $71 = tempRet0; + $72 = $n; + $73 = $72; + HEAP32[$73>>2] = $70; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + break; } - } else { - $171 = $p1; - $172 = $171; - $173 = HEAP32[$172>>2]|0; - $174 = (($171) + 4)|0; - $175 = $174; - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)>(0); - $178 = ($173>>>0)>(0); - $179 = ($176|0)==(0); - $180 = $179 & $178; - $181 = $177 | $180; - if ($181) { - $182 = $p1; - $183 = $182; - $184 = HEAP32[$183>>2]|0; - $185 = (($182) + 4)|0; - $186 = $185; - $187 = HEAP32[$186>>2]|0; - $188 = (_i64Add(($184|0),($187|0),-1,-1)|0); - $189 = tempRet0; - $190 = $p1; - $191 = $190; - HEAP32[$191>>2] = $188; - $192 = (($190) + 4)|0; - $193 = $192; - HEAP32[$193>>2] = $189; + case 89: { + $76 = $n; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = (_i64Add(($78|0),($81|0),8,0)|0); + $83 = tempRet0; + $84 = $n; + $85 = $84; + HEAP32[$85>>2] = $82; + $86 = (($84) + 4)|0; + $87 = $86; + HEAP32[$87>>2] = $83; break; } - $194 = $p2; - $195 = $194; - $196 = HEAP32[$195>>2]|0; - $197 = (($194) + 4)|0; - $198 = $197; - $199 = HEAP32[$198>>2]|0; - $200 = ($199|0)>(0); - $201 = ($196>>>0)>(0); - $202 = ($199|0)==(0); - $203 = $202 & $201; - $204 = $200 | $203; - if ($204) { - $205 = $p2; - $206 = $205; - $207 = HEAP32[$206>>2]|0; - $208 = (($205) + 4)|0; - $209 = $208; - $210 = HEAP32[$209>>2]|0; - $211 = (_i64Add(($207|0),($210|0),-1,-1)|0); - $212 = tempRet0; - $213 = $p2; - $214 = $213; - HEAP32[$214>>2] = $211; - $215 = (($213) + 4)|0; - $216 = $215; - HEAP32[$216>>2] = $212; + case 74: case 115: { + $88 = $n; + $89 = $88; + $90 = HEAP32[$89>>2]|0; + $91 = (($88) + 4)|0; + $92 = $91; + $93 = HEAP32[$92>>2]|0; + $94 = (_i64Add(($90|0),($93|0),50,0)|0); + $95 = tempRet0; + $96 = $n; + $97 = $96; + HEAP32[$97>>2] = $94; + $98 = (($96) + 4)|0; + $99 = $98; + HEAP32[$99>>2] = $95; + break; } + default: { + label = 44; + break L10; + } + } + $100 = HEAP32[$i>>2]|0; + $101 = (($100) + 1)|0; + HEAP32[$i>>2] = $101; } - } while(0); - $217 = HEAP32[$negP2>>2]|0; - $218 = ($217|0)!=(0); - if ($218) { - $219 = $p2; - $220 = $219; - $221 = HEAP32[$220>>2]|0; - $222 = (($219) + 4)|0; - $223 = $222; - $224 = HEAP32[$223>>2]|0; - $225 = $p1; - $226 = $225; - $227 = HEAP32[$226>>2]|0; - $228 = (($225) + 4)|0; - $229 = $228; - $230 = HEAP32[$229>>2]|0; - $231 = (_i64Subtract(($227|0),($230|0),($221|0),($224|0))|0); - $232 = tempRet0; - $233 = $p1; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $237 = $p1; - $238 = $237; - $239 = HEAP32[$238>>2]|0; - $240 = (($237) + 4)|0; - $241 = $240; - $242 = HEAP32[$241>>2]|0; - $243 = ($242|0)<(0); - if ($243) { - $244 = $p1; - $245 = $244; - $246 = HEAP32[$245>>2]|0; - $247 = (($244) + 4)|0; - $248 = $247; - $249 = HEAP32[$248>>2]|0; - $250 = $p2; - $251 = $250; - $252 = HEAP32[$251>>2]|0; - $253 = (($250) + 4)|0; - $254 = $253; - $255 = HEAP32[$254>>2]|0; - $256 = (_i64Add(($252|0),($255|0),($246|0),($249|0))|0); - $257 = tempRet0; - $258 = $p2; - $259 = $258; - HEAP32[$259>>2] = $256; - $260 = (($258) + 4)|0; - $261 = $260; - HEAP32[$261>>2] = $257; - $262 = $p1; - $263 = $262; - HEAP32[$263>>2] = 0; - $264 = (($262) + 4)|0; - $265 = $264; - HEAP32[$265>>2] = 0; - } + $102 = HEAP32[$i>>2]|0; + $103 = (($102) + 1)|0; + HEAP32[$i>>2] = $103; + $104 = $n; + $105 = $104; + $106 = HEAP32[$105>>2]|0; + $107 = (($104) + 4)|0; + $108 = $107; + $109 = HEAP32[$108>>2]|0; + $110 = (_i64Add(($106|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = $n; + $113 = $112; + HEAP32[$113>>2] = $110; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; } - $266 = HEAP32[$p0type>>2]|0; - $267 = ($266|0)!=(4); - if (!($267)) { - $353 = $p1; - $354 = $353; - $355 = HEAP32[$354>>2]|0; - $356 = (($353) + 4)|0; - $357 = $356; - $358 = HEAP32[$357>>2]|0; - $359 = $p2; - $360 = $359; - $361 = HEAP32[$360>>2]|0; - $362 = (($359) + 4)|0; - $363 = $362; - $364 = HEAP32[$363>>2]|0; - $365 = (_i64Add(($355|0),($358|0),($361|0),($364|0))|0); - $366 = tempRet0; - $367 = HEAP32[$len>>2]|0; - $368 = ($367|0)<(0); - $369 = $368 << 31 >> 31; - $370 = ($366|0)>($369|0); - $371 = ($365>>>0)>($367>>>0); - $372 = ($366|0)==($369|0); - $373 = $372 & $371; - $374 = $370 | $373; - if ($374) { - $375 = HEAP32[$len>>2]|0; - $376 = ($375|0)<(0); - $377 = $376 << 31 >> 31; - $378 = $p1; - $379 = $378; - $380 = HEAP32[$379>>2]|0; - $381 = (($378) + 4)|0; - $382 = $381; - $383 = HEAP32[$382>>2]|0; - $384 = (_i64Subtract(($375|0),($377|0),($380|0),($383|0))|0); - $385 = tempRet0; - $386 = $p2; - $387 = $386; - HEAP32[$387>>2] = $384; - $388 = (($386) + 4)|0; - $389 = $388; - HEAP32[$389>>2] = $385; - $390 = $p2; - $391 = $390; - $392 = HEAP32[$391>>2]|0; - $393 = (($390) + 4)|0; - $394 = $393; - $395 = HEAP32[$394>>2]|0; - $396 = ($395|0)<(0); - $397 = $396 ? 0 : $384; - $398 = $396 ? 0 : $385; - $399 = $p2; - $400 = $399; - HEAP32[$400>>2] = $397; - $401 = (($399) + 4)|0; - $402 = $401; - HEAP32[$402>>2] = $398; - } - $403 = HEAP32[$0>>2]|0; - $404 = $p1; - $405 = $404; - $406 = HEAP32[$405>>2]|0; - $407 = (($404) + 4)|0; - $408 = $407; - $409 = HEAP32[$408>>2]|0; - $410 = HEAP32[$z>>2]|0; - $411 = (($410) + ($406)|0); - $412 = $p2; - $413 = $412; - $414 = HEAP32[$413>>2]|0; - $415 = (($412) + 4)|0; - $416 = $415; - $417 = HEAP32[$416>>2]|0; - _sqlite3_result_blob64($403,$411,$414,$417,(-1)); + if ((label|0) == 44) { STACKTOP = sp;return; } - while(1) { - $268 = HEAP32[$z>>2]|0; - $269 = HEAP8[$268>>0]|0; - $270 = $269&255; - $271 = ($270|0)!=(0); - $272 = $p1; - $273 = $272; - $274 = HEAP32[$273>>2]|0; - $275 = (($272) + 4)|0; - $276 = $275; - $277 = HEAP32[$276>>2]|0; - $278 = ($274|0)!=(0); - $279 = ($277|0)!=(0); - $280 = $278 | $279; - $281 = $271 ? $280 : 0; - $282 = HEAP32[$z>>2]|0; - if (!($281)) { - break; + $116 = $n; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = ($121>>>0)<(0); + $123 = ($118>>>0)<(100); + $124 = ($121|0)==(0); + $125 = $124 & $123; + $126 = $122 | $125; + if ($126) { + HEAP32[$z>>2] = $zBuf; + } else { + $127 = $n; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = HEAP32[$db>>2]|0; + $134 = ((($133)) + 92|0); + $135 = HEAP32[$134>>2]|0; + $136 = ($135|0)<(0); + $137 = $136 << 31 >> 31; + $138 = ($132>>>0)>($137>>>0); + $139 = ($129>>>0)>($135>>>0); + $140 = ($132|0)==($137|0); + $141 = $140 & $139; + $142 = $138 | $141; + if ($142) { + $143 = HEAP32[$0>>2]|0; + _sqlite3_result_error_toobig($143); + STACKTOP = sp;return; + } + $144 = HEAP32[$db>>2]|0; + $145 = $n; + $146 = $145; + $147 = HEAP32[$146>>2]|0; + $148 = (($145) + 4)|0; + $149 = $148; + $150 = HEAP32[$149>>2]|0; + $151 = ($147|0)<(0); + $152 = $151 << 31 >> 31; + $153 = (_sqlite3DbMallocRawNN($144,$147,$152)|0); + HEAP32[$z>>2] = $153; + $154 = HEAP32[$z>>2]|0; + $155 = ($154|0)==(0|0); + if ($155) { + $156 = HEAP32[$0>>2]|0; + _sqlite3_result_error_nomem($156); + STACKTOP = sp;return; } - $283 = ((($282)) + 1|0); - HEAP32[$z>>2] = $283; - $284 = HEAP8[$282>>0]|0; - $285 = $284&255; - $286 = ($285|0)>=(192); - L52: do { - if ($286) { - while(1) { - $287 = HEAP32[$z>>2]|0; - $288 = HEAP8[$287>>0]|0; - $289 = $288&255; - $290 = $289 & 192; - $291 = ($290|0)==(128); - if (!($291)) { - break L52; - } - $292 = HEAP32[$z>>2]|0; - $293 = ((($292)) + 1|0); - HEAP32[$z>>2] = $293; - } - } - } while(0); - $294 = $p1; - $295 = $294; - $296 = HEAP32[$295>>2]|0; - $297 = (($294) + 4)|0; - $298 = $297; - $299 = HEAP32[$298>>2]|0; - $300 = (_i64Add(($296|0),($299|0),-1,-1)|0); - $301 = tempRet0; - $302 = $p1; - $303 = $302; - HEAP32[$303>>2] = $300; - $304 = (($302) + 4)|0; - $305 = $304; - HEAP32[$305>>2] = $301; } - HEAP32[$z2>>2] = $282; + _computeJD($x); + _computeYMD_HMS($x); + HEAP32[$j>>2] = 0; + HEAP32[$i>>2] = 0; while(1) { - $306 = HEAP32[$z2>>2]|0; - $307 = HEAP8[$306>>0]|0; - $308 = $307&255; - $309 = ($308|0)!=(0); - $310 = $p2; - $311 = $310; - $312 = HEAP32[$311>>2]|0; - $313 = (($310) + 4)|0; - $314 = $313; - $315 = HEAP32[$314>>2]|0; - $316 = ($312|0)!=(0); - $317 = ($315|0)!=(0); - $318 = $316 | $317; - $319 = $309 ? $318 : 0; - if (!($319)) { + $157 = HEAP32[$i>>2]|0; + $158 = HEAP32[$zFmt>>2]|0; + $159 = (($158) + ($157)|0); + $160 = HEAP8[$159>>0]|0; + $161 = ($160<<24>>24)!=(0); + if (!($161)) { break; } - $320 = HEAP32[$z2>>2]|0; - $321 = ((($320)) + 1|0); - HEAP32[$z2>>2] = $321; - $322 = HEAP8[$320>>0]|0; - $323 = $322&255; - $324 = ($323|0)>=(192); - L61: do { - if ($324) { - while(1) { - $325 = HEAP32[$z2>>2]|0; - $326 = HEAP8[$325>>0]|0; - $327 = $326&255; - $328 = $327 & 192; - $329 = ($328|0)==(128); - if (!($329)) { - break L61; + $162 = HEAP32[$i>>2]|0; + $163 = HEAP32[$zFmt>>2]|0; + $164 = (($163) + ($162)|0); + $165 = HEAP8[$164>>0]|0; + $166 = $165 << 24 >> 24; + $167 = ($166|0)!=(37); + $168 = HEAP32[$i>>2]|0; + L39: do { + if ($167) { + $169 = HEAP32[$zFmt>>2]|0; + $170 = (($169) + ($168)|0); + $171 = HEAP8[$170>>0]|0; + $172 = HEAP32[$j>>2]|0; + $173 = (($172) + 1)|0; + HEAP32[$j>>2] = $173; + $174 = HEAP32[$z>>2]|0; + $175 = (($174) + ($172)|0); + HEAP8[$175>>0] = $171; + } else { + $176 = (($168) + 1)|0; + HEAP32[$i>>2] = $176; + $177 = HEAP32[$i>>2]|0; + $178 = HEAP32[$zFmt>>2]|0; + $179 = (($178) + ($177)|0); + $180 = HEAP8[$179>>0]|0; + $181 = $180 << 24 >> 24; + do { + switch ($181|0) { + case 100: { + $182 = HEAP32[$j>>2]|0; + $183 = HEAP32[$z>>2]|0; + $184 = (($183) + ($182)|0); + $185 = ((($x)) + 16|0); + $186 = HEAP32[$185>>2]|0; + HEAP32[$vararg_buffer>>2] = $186; + (_sqlite3_snprintf(3,$184,46396,$vararg_buffer)|0); + $187 = HEAP32[$j>>2]|0; + $188 = (($187) + 2)|0; + HEAP32[$j>>2] = $188; + break L39; + break; } - $330 = HEAP32[$z2>>2]|0; - $331 = ((($330)) + 1|0); - HEAP32[$z2>>2] = $331; - } + case 102: { + $189 = ((($x)) + 32|0); + $190 = +HEAPF64[$189>>3]; + HEAPF64[$s>>3] = $190; + $191 = +HEAPF64[$s>>3]; + $192 = $191 > 59.999000000000002; + if ($192) { + HEAPF64[$s>>3] = 59.999000000000002; + } + $193 = HEAP32[$j>>2]|0; + $194 = HEAP32[$z>>2]|0; + $195 = (($194) + ($193)|0); + $196 = +HEAPF64[$s>>3]; + HEAPF64[$vararg_buffer1>>3] = $196; + (_sqlite3_snprintf(7,$195,46401,$vararg_buffer1)|0); + $197 = HEAP32[$j>>2]|0; + $198 = HEAP32[$z>>2]|0; + $199 = (($198) + ($197)|0); + $200 = (_sqlite3Strlen30($199)|0); + $201 = HEAP32[$j>>2]|0; + $202 = (($201) + ($200))|0; + HEAP32[$j>>2] = $202; + break L39; + break; + } + case 72: { + $203 = HEAP32[$j>>2]|0; + $204 = HEAP32[$z>>2]|0; + $205 = (($204) + ($203)|0); + $206 = ((($x)) + 20|0); + $207 = HEAP32[$206>>2]|0; + HEAP32[$vararg_buffer4>>2] = $207; + (_sqlite3_snprintf(3,$205,46396,$vararg_buffer4)|0); + $208 = HEAP32[$j>>2]|0; + $209 = (($208) + 2)|0; + HEAP32[$j>>2] = $209; + break L39; + break; + } + case 106: case 87: { + dest=$y; src=$x; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $210 = ((($y)) + 42|0); + HEAP8[$210>>0] = 0; + $211 = ((($y)) + 12|0); + HEAP32[$211>>2] = 1; + $212 = ((($y)) + 16|0); + HEAP32[$212>>2] = 1; + _computeJD($y); + $213 = $x; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (($213) + 4)|0; + $217 = $216; + $218 = HEAP32[$217>>2]|0; + $219 = $y; + $220 = $219; + $221 = HEAP32[$220>>2]|0; + $222 = (($219) + 4)|0; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (_i64Subtract(($215|0),($218|0),($221|0),($224|0))|0); + $226 = tempRet0; + $227 = (_i64Add(($225|0),($226|0),43200000,0)|0); + $228 = tempRet0; + $229 = (___divdi3(($227|0),($228|0),86400000,0)|0); + $230 = tempRet0; + HEAP32[$nDay>>2] = $229; + $231 = HEAP32[$i>>2]|0; + $232 = HEAP32[$zFmt>>2]|0; + $233 = (($232) + ($231)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234 << 24 >> 24; + $236 = ($235|0)==(87); + if ($236) { + $237 = $x; + $238 = $237; + $239 = HEAP32[$238>>2]|0; + $240 = (($237) + 4)|0; + $241 = $240; + $242 = HEAP32[$241>>2]|0; + $243 = (_i64Add(($239|0),($242|0),43200000,0)|0); + $244 = tempRet0; + $245 = (___divdi3(($243|0),($244|0),86400000,0)|0); + $246 = tempRet0; + $247 = (___remdi3(($245|0),($246|0),7,0)|0); + $248 = tempRet0; + HEAP32[$wd>>2] = $247; + $249 = HEAP32[$j>>2]|0; + $250 = HEAP32[$z>>2]|0; + $251 = (($250) + ($249)|0); + $252 = HEAP32[$nDay>>2]|0; + $253 = (($252) + 7)|0; + $254 = HEAP32[$wd>>2]|0; + $255 = (($253) - ($254))|0; + $256 = (($255|0) / 7)&-1; + HEAP32[$vararg_buffer7>>2] = $256; + (_sqlite3_snprintf(3,$251,46396,$vararg_buffer7)|0); + $257 = HEAP32[$j>>2]|0; + $258 = (($257) + 2)|0; + HEAP32[$j>>2] = $258; + break L39; + } else { + $259 = HEAP32[$j>>2]|0; + $260 = HEAP32[$z>>2]|0; + $261 = (($260) + ($259)|0); + $262 = HEAP32[$nDay>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$vararg_buffer10>>2] = $263; + (_sqlite3_snprintf(4,$261,46408,$vararg_buffer10)|0); + $264 = HEAP32[$j>>2]|0; + $265 = (($264) + 3)|0; + HEAP32[$j>>2] = $265; + break L39; + } + break; + } + case 74: { + $266 = HEAP32[$j>>2]|0; + $267 = HEAP32[$z>>2]|0; + $268 = (($267) + ($266)|0); + $269 = $x; + $270 = $269; + $271 = HEAP32[$270>>2]|0; + $272 = (($269) + 4)|0; + $273 = $272; + $274 = HEAP32[$273>>2]|0; + $275 = (+($271>>>0)) + (4294967296.0*(+($274|0))); + $276 = $275 / 8.64E+7; + HEAPF64[$vararg_buffer13>>3] = $276; + (_sqlite3_snprintf(20,$268,43053,$vararg_buffer13)|0); + $277 = HEAP32[$j>>2]|0; + $278 = HEAP32[$z>>2]|0; + $279 = (($278) + ($277)|0); + $280 = (_sqlite3Strlen30($279)|0); + $281 = HEAP32[$j>>2]|0; + $282 = (($281) + ($280))|0; + HEAP32[$j>>2] = $282; + break L39; + break; + } + case 109: { + $283 = HEAP32[$j>>2]|0; + $284 = HEAP32[$z>>2]|0; + $285 = (($284) + ($283)|0); + $286 = ((($x)) + 12|0); + $287 = HEAP32[$286>>2]|0; + HEAP32[$vararg_buffer16>>2] = $287; + (_sqlite3_snprintf(3,$285,46396,$vararg_buffer16)|0); + $288 = HEAP32[$j>>2]|0; + $289 = (($288) + 2)|0; + HEAP32[$j>>2] = $289; + break L39; + break; + } + case 77: { + $290 = HEAP32[$j>>2]|0; + $291 = HEAP32[$z>>2]|0; + $292 = (($291) + ($290)|0); + $293 = ((($x)) + 24|0); + $294 = HEAP32[$293>>2]|0; + HEAP32[$vararg_buffer19>>2] = $294; + (_sqlite3_snprintf(3,$292,46396,$vararg_buffer19)|0); + $295 = HEAP32[$j>>2]|0; + $296 = (($295) + 2)|0; + HEAP32[$j>>2] = $296; + break L39; + break; + } + case 115: { + $297 = HEAP32[$j>>2]|0; + $298 = HEAP32[$z>>2]|0; + $299 = (($298) + ($297)|0); + $300 = $x; + $301 = $300; + $302 = HEAP32[$301>>2]|0; + $303 = (($300) + 4)|0; + $304 = $303; + $305 = HEAP32[$304>>2]|0; + $306 = (___divdi3(($302|0),($305|0),1000,0)|0); + $307 = tempRet0; + $308 = (_i64Subtract(($306|0),($307|0),413362496,49)|0); + $309 = tempRet0; + $310 = $vararg_buffer22; + $311 = $310; + HEAP32[$311>>2] = $308; + $312 = (($310) + 4)|0; + $313 = $312; + HEAP32[$313>>2] = $309; + (_sqlite3_snprintf(30,$299,28862,$vararg_buffer22)|0); + $314 = HEAP32[$j>>2]|0; + $315 = HEAP32[$z>>2]|0; + $316 = (($315) + ($314)|0); + $317 = (_sqlite3Strlen30($316)|0); + $318 = HEAP32[$j>>2]|0; + $319 = (($318) + ($317))|0; + HEAP32[$j>>2] = $319; + break L39; + break; + } + case 83: { + $320 = HEAP32[$j>>2]|0; + $321 = HEAP32[$z>>2]|0; + $322 = (($321) + ($320)|0); + $323 = ((($x)) + 32|0); + $324 = +HEAPF64[$323>>3]; + $325 = (~~(($324))); + HEAP32[$vararg_buffer25>>2] = $325; + (_sqlite3_snprintf(3,$322,46396,$vararg_buffer25)|0); + $326 = HEAP32[$j>>2]|0; + $327 = (($326) + 2)|0; + HEAP32[$j>>2] = $327; + break L39; + break; + } + case 119: { + $328 = $x; + $329 = $328; + $330 = HEAP32[$329>>2]|0; + $331 = (($328) + 4)|0; + $332 = $331; + $333 = HEAP32[$332>>2]|0; + $334 = (_i64Add(($330|0),($333|0),129600000,0)|0); + $335 = tempRet0; + $336 = (___divdi3(($334|0),($335|0),86400000,0)|0); + $337 = tempRet0; + $338 = (___remdi3(($336|0),($337|0),7,0)|0); + $339 = tempRet0; + $340 = $338&255; + $341 = $340 << 24 >> 24; + $342 = (($341) + 48)|0; + $343 = $342&255; + $344 = HEAP32[$j>>2]|0; + $345 = (($344) + 1)|0; + HEAP32[$j>>2] = $345; + $346 = HEAP32[$z>>2]|0; + $347 = (($346) + ($344)|0); + HEAP8[$347>>0] = $343; + break L39; + break; + } + case 89: { + $348 = HEAP32[$j>>2]|0; + $349 = HEAP32[$z>>2]|0; + $350 = (($349) + ($348)|0); + $351 = ((($x)) + 8|0); + $352 = HEAP32[$351>>2]|0; + HEAP32[$vararg_buffer28>>2] = $352; + (_sqlite3_snprintf(5,$350,46413,$vararg_buffer28)|0); + $353 = HEAP32[$j>>2]|0; + $354 = HEAP32[$z>>2]|0; + $355 = (($354) + ($353)|0); + $356 = (_sqlite3Strlen30($355)|0); + $357 = HEAP32[$j>>2]|0; + $358 = (($357) + ($356))|0; + HEAP32[$j>>2] = $358; + break L39; + break; + } + default: { + $359 = HEAP32[$j>>2]|0; + $360 = (($359) + 1)|0; + HEAP32[$j>>2] = $360; + $361 = HEAP32[$z>>2]|0; + $362 = (($361) + ($359)|0); + HEAP8[$362>>0] = 37; + break L39; + } + } + } while(0); } } while(0); - $332 = $p2; - $333 = $332; - $334 = HEAP32[$333>>2]|0; - $335 = (($332) + 4)|0; - $336 = $335; - $337 = HEAP32[$336>>2]|0; - $338 = (_i64Add(($334|0),($337|0),-1,-1)|0); - $339 = tempRet0; - $340 = $p2; - $341 = $340; - HEAP32[$341>>2] = $338; - $342 = (($340) + 4)|0; - $343 = $342; - HEAP32[$343>>2] = $339; + $363 = HEAP32[$i>>2]|0; + $364 = (($363) + 1)|0; + HEAP32[$i>>2] = $364; } - $344 = HEAP32[$0>>2]|0; - $345 = HEAP32[$z>>2]|0; - $346 = HEAP32[$z2>>2]|0; - $347 = HEAP32[$z>>2]|0; - $348 = $346; - $349 = $347; - $350 = (($348) - ($349))|0; - $351 = ($350|0)<(0); - $352 = $351 << 31 >> 31; - _sqlite3_result_text64($344,$345,$350,$352,(-1),1); + $365 = HEAP32[$j>>2]|0; + $366 = HEAP32[$z>>2]|0; + $367 = (($366) + ($365)|0); + HEAP8[$367>>0] = 0; + $368 = HEAP32[$0>>2]|0; + $369 = HEAP32[$z>>2]|0; + $370 = HEAP32[$z>>2]|0; + $371 = ($370|0)==($zBuf|0); + $372 = $371 ? (-1) : 170; + _sqlite3_result_text($368,$369,-1,$372); STACKTOP = sp;return; } -function _printfFunc($context,$argc,$argv) { +function _ctimeFunc($context,$NotUsed,$NotUsed2) { $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $n = 0, $str = 0, $vararg_buffer = 0, $x = 0, $zFormat = 0, label = 0, sp = 0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $vararg_buffer = sp; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $x = sp + 44|0; - $str = sp + 16|0; - $zFormat = sp + 12|0; - $n = sp + 8|0; - $db = sp + 4|0; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)>=(1); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$zFormat>>2] = $9; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - 1)|0; - HEAP32[$x>>2] = $12; - $13 = ((($x)) + 4|0); - HEAP32[$13>>2] = 0; - $14 = HEAP32[$2>>2]|0; - $15 = ((($14)) + 4|0); - $16 = ((($x)) + 8|0); - HEAP32[$16>>2] = $15; - $17 = HEAP32[$db>>2]|0; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 88|0); - $20 = HEAP32[$19>>2]|0; - _sqlite3StrAccumInit($str,$17,0,0,$20); - $21 = ((($str)) + 25|0); - HEAP8[$21>>0] = 2; - $22 = HEAP32[$zFormat>>2]|0; - HEAP32[$vararg_buffer>>2] = $x; - _sqlite3XPrintf($str,$22,$vararg_buffer); - $23 = ((($str)) + 12|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$n>>2] = $24; - $25 = HEAP32[$0>>2]|0; - $26 = (_sqlite3StrAccumFinish($str)|0); - $27 = HEAP32[$n>>2]|0; - _sqlite3_result_text($25,$26,$27,170); + _timeFunc($3,0,0); STACKTOP = sp;return; } -function _unicodeFunc($context,$argc,$argv) { +function _ctimestampFunc($context,$NotUsed,$NotUsed2) { $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $z = 0, label = 0, sp = 0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $z = sp; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z>>2] = $5; - $6 = HEAP32[$z>>2]|0; - $7 = ($6|0)!=(0|0); - if (!($7)) { - STACKTOP = sp;return; - } - $8 = HEAP32[$z>>2]|0; - $9 = HEAP8[$8>>0]|0; - $10 = $9&255; - $11 = ($10|0)!=(0); - if (!($11)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$0>>2]|0; - $13 = (_sqlite3Utf8Read($z)|0); - _sqlite3_result_int($12,$13); + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + _datetimeFunc($3,0,0); STACKTOP = sp;return; } -function _charFunc($context,$argc,$argv) { +function _cdateFunc($context,$NotUsed,$NotUsed2) { + $context = $context|0; + $NotUsed = $NotUsed|0; + $NotUsed2 = $NotUsed2|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; + $0 = sp + 8|0; + $1 = sp + 4|0; + $2 = sp; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $NotUsed2; + $3 = HEAP32[$0>>2]|0; + _dateFunc($3,0,0); + STACKTOP = sp;return; +} +function _isDate($context,$argc,$argv,$p) { $context = $context|0; $argc = $argc|0; $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; - var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $c = 0, $i = 0, $or$cond = 0, $x = 0, $z = 0, $zOut = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 32|0; - $1 = sp + 28|0; - $2 = sp + 24|0; - $z = sp + 20|0; - $zOut = sp + 16|0; - $i = sp + 12|0; - $x = sp; - $c = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$1>>2]|0; - $4 = $3<<2; - $5 = (($4) + 1)|0; - $6 = ($5|0)<(0); - $7 = $6 << 31 >> 31; - $8 = (_sqlite3_malloc64($5,$7)|0); - HEAP32[$z>>2] = $8; - HEAP32[$zOut>>2] = $8; - $9 = HEAP32[$z>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $11 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($11); - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $12 = HEAP32[$i>>2]|0; - $13 = HEAP32[$1>>2]|0; - $14 = ($12|0)<($13|0); - if (!($14)) { - break; - } - $15 = HEAP32[$i>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = (($16) + ($15<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = (_sqlite3_value_int64($18)|0); - $20 = tempRet0; - $21 = $x; - $22 = $21; - HEAP32[$22>>2] = $19; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = $x; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)<(0); - $32 = $x; - $33 = $32; - $34 = HEAP32[$33>>2]|0; - $35 = (($32) + 4)|0; - $36 = $35; - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)>(0); - $39 = ($34>>>0)>(1114111); - $40 = ($37|0)==(0); - $41 = $40 & $39; - $42 = $38 | $41; - $or$cond = $31 | $42; - $43 = $or$cond ? 65533 : $19; - $44 = $or$cond ? 0 : $20; - $45 = $x; - $46 = $45; - HEAP32[$46>>2] = $43; - $47 = (($45) + 4)|0; - $48 = $47; - HEAP32[$48>>2] = $44; - $49 = $x; - $50 = $49; - $51 = HEAP32[$50>>2]|0; - $52 = (($49) + 4)|0; - $53 = $52; - $54 = HEAP32[$53>>2]|0; - $55 = $51 & 2097151; - HEAP32[$c>>2] = $55; - $56 = HEAP32[$c>>2]|0; - $57 = ($56>>>0)<(128); - $58 = HEAP32[$c>>2]|0; - do { - if ($57) { - $59 = $58 & 255; - $60 = $59&255; - $61 = HEAP32[$zOut>>2]|0; - $62 = ((($61)) + 1|0); - HEAP32[$zOut>>2] = $62; - HEAP8[$61>>0] = $60; - } else { - $63 = ($58>>>0)<(2048); - $64 = HEAP32[$c>>2]|0; - if ($63) { - $65 = $64 >>> 6; - $66 = $65 & 31; - $67 = $66&255; - $68 = $67&255; - $69 = (192 + ($68))|0; - $70 = $69&255; - $71 = HEAP32[$zOut>>2]|0; - $72 = ((($71)) + 1|0); - HEAP32[$zOut>>2] = $72; - HEAP8[$71>>0] = $70; - $73 = HEAP32[$c>>2]|0; - $74 = $73 & 63; - $75 = $74&255; - $76 = $75&255; - $77 = (128 + ($76))|0; - $78 = $77&255; - $79 = HEAP32[$zOut>>2]|0; - $80 = ((($79)) + 1|0); - HEAP32[$zOut>>2] = $80; - HEAP8[$79>>0] = $78; - break; - } - $81 = ($64>>>0)<(65536); - $82 = HEAP32[$c>>2]|0; - if ($81) { - $83 = $82 >>> 12; - $84 = $83 & 15; - $85 = $84&255; - $86 = $85&255; - $87 = (224 + ($86))|0; - $88 = $87&255; - $89 = HEAP32[$zOut>>2]|0; - $90 = ((($89)) + 1|0); - HEAP32[$zOut>>2] = $90; - HEAP8[$89>>0] = $88; - $91 = HEAP32[$c>>2]|0; - $92 = $91 >>> 6; - $93 = $92 & 63; - $94 = $93&255; - $95 = $94&255; - $96 = (128 + ($95))|0; - $97 = $96&255; - $98 = HEAP32[$zOut>>2]|0; - $99 = ((($98)) + 1|0); - HEAP32[$zOut>>2] = $99; - HEAP8[$98>>0] = $97; - $100 = HEAP32[$c>>2]|0; - $101 = $100 & 63; - $102 = $101&255; - $103 = $102&255; - $104 = (128 + ($103))|0; - $105 = $104&255; - $106 = HEAP32[$zOut>>2]|0; - $107 = ((($106)) + 1|0); - HEAP32[$zOut>>2] = $107; - HEAP8[$106>>0] = $105; - break; - } else { - $108 = $82 >>> 18; - $109 = $108 & 7; - $110 = $109&255; - $111 = $110&255; - $112 = (240 + ($111))|0; - $113 = $112&255; - $114 = HEAP32[$zOut>>2]|0; - $115 = ((($114)) + 1|0); - HEAP32[$zOut>>2] = $115; - HEAP8[$114>>0] = $113; - $116 = HEAP32[$c>>2]|0; - $117 = $116 >>> 12; - $118 = $117 & 63; - $119 = $118&255; - $120 = $119&255; - $121 = (128 + ($120))|0; - $122 = $121&255; - $123 = HEAP32[$zOut>>2]|0; - $124 = ((($123)) + 1|0); - HEAP32[$zOut>>2] = $124; - HEAP8[$123>>0] = $122; - $125 = HEAP32[$c>>2]|0; - $126 = $125 >>> 6; - $127 = $126 & 63; - $128 = $127&255; - $129 = $128&255; - $130 = (128 + ($129))|0; - $131 = $130&255; - $132 = HEAP32[$zOut>>2]|0; - $133 = ((($132)) + 1|0); - HEAP32[$zOut>>2] = $133; - HEAP8[$132>>0] = $131; - $134 = HEAP32[$c>>2]|0; - $135 = $134 & 63; - $136 = $135&255; - $137 = $136&255; - $138 = (128 + ($137))|0; - $139 = $138&255; - $140 = HEAP32[$zOut>>2]|0; - $141 = ((($140)) + 1|0); - HEAP32[$zOut>>2] = $141; - HEAP8[$140>>0] = $139; - break; - } - } - } while(0); - $142 = HEAP32[$i>>2]|0; - $143 = (($142) + 1)|0; - HEAP32[$i>>2] = $143; - } - $144 = HEAP32[$0>>2]|0; - $145 = HEAP32[$z>>2]|0; - $146 = HEAP32[$zOut>>2]|0; - $147 = HEAP32[$z>>2]|0; - $148 = $146; - $149 = $147; - $150 = (($148) - ($149))|0; - $151 = ($150|0)<(0); - $152 = $151 << 31 >> 31; - _sqlite3_result_text64($144,$145,$150,$152,148,1); - STACKTOP = sp;return; -} -function _absFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $iVal = 0, $rVal = 0, label = 0, sp = 0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $eType = 0, $i = 0, $or$cond = 0; + var $z = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $iVal = sp + 8|0; - $rVal = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 1: { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_int64($7)|0); - $9 = tempRet0; - $10 = $iVal; - $11 = $10; - HEAP32[$11>>2] = $8; - $12 = (($10) + 4)|0; - $13 = $12; - HEAP32[$13>>2] = $9; - $14 = $iVal; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)<(0); - do { - if ($20) { - $21 = $iVal; - $22 = $21; - $23 = HEAP32[$22>>2]|0; - $24 = (($21) + 4)|0; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = ($23|0)==(0); - $28 = ($26|0)==(-2147483648); - $29 = $27 & $28; - if (!($29)) { - $31 = $iVal; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - $37 = (_i64Subtract(0,0,($33|0),($36|0))|0); - $38 = tempRet0; - $39 = $iVal; - $40 = $39; - HEAP32[$40>>2] = $37; - $41 = (($39) + 4)|0; - $42 = $41; - HEAP32[$42>>2] = $38; - break; - } - $30 = HEAP32[$0>>2]|0; - _sqlite3_result_error($30,46986,-1); - STACKTOP = sp;return; - } - } while(0); - $43 = HEAP32[$0>>2]|0; - $44 = $iVal; - $45 = $44; - $46 = HEAP32[$45>>2]|0; - $47 = (($44) + 4)|0; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - _sqlite3_result_int64($43,$46,$49); - STACKTOP = sp;return; - break; - } - case 5: { - $50 = HEAP32[$0>>2]|0; - _sqlite3_result_null($50); - STACKTOP = sp;return; - break; - } - default: { - $51 = HEAP32[$2>>2]|0; - $52 = HEAP32[$51>>2]|0; - $53 = (+_sqlite3_value_double($52)); - HEAPF64[$rVal>>3] = $53; - $54 = +HEAPF64[$rVal>>3]; - $55 = $54 < 0.0; - if ($55) { - $56 = +HEAPF64[$rVal>>3]; - $57 = -$56; - HEAPF64[$rVal>>3] = $57; - } - $58 = HEAP32[$0>>2]|0; - $59 = +HEAPF64[$rVal>>3]; - _sqlite3_result_double($58,$59); - STACKTOP = sp;return; - } - } -} -function _roundFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $$$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0; - var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0; - var $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $r = 0, $vararg_buffer = 0, $vararg_ptr6 = 0, $zBuf = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $vararg_buffer = sp + 8|0; - $0 = sp + 40|0; - $1 = sp + 36|0; - $2 = sp + 32|0; - $n = sp + 28|0; - $r = sp; - $zBuf = sp + 24|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - HEAP32[$n>>2] = 0; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(2); - do { - if ($4) { - $5 = HEAP32[$2>>2]|0; - $6 = ((($5)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_type($7)|0); - $9 = (5)==($8|0); - if ($9) { - STACKTOP = sp;return; - } else { - $10 = HEAP32[$2>>2]|0; - $11 = ((($10)) + 4|0); - $12 = HEAP32[$11>>2]|0; - $13 = (_sqlite3_value_int($12)|0); - HEAP32[$n>>2] = $13; - $14 = HEAP32[$n>>2]|0; - $15 = ($14|0)>(30); - $$ = $15 ? 30 : $13; - HEAP32[$n>>2] = $$; - $16 = HEAP32[$n>>2]|0; - $17 = ($16|0)<(0); - $$$ = $17 ? 0 : $$; - HEAP32[$n>>2] = $$$; - break; - } - } - } while(0); - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_type($19)|0); - $21 = ($20|0)==(5); - if ($21) { - STACKTOP = sp;return; + $0 = sp + 28|0; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 16|0; + $4 = sp + 12|0; + $i = sp + 8|0; + $z = sp + 4|0; + $eType = sp; + HEAP32[$1>>2] = $context; + HEAP32[$2>>2] = $argc; + HEAP32[$3>>2] = $argv; + HEAP32[$4>>2] = $p; + $5 = HEAP32[$4>>2]|0; + dest=$5; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$4>>2]|0; + $10 = (_setDateTimeToCurrent($8,$9)|0); + HEAP32[$0>>2] = $10; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - $24 = (+_sqlite3_value_double($23)); - HEAPF64[$r>>3] = $24; - $25 = HEAP32[$n>>2]|0; - $26 = ($25|0)==(0); - $27 = +HEAPF64[$r>>3]; - $28 = $27 >= 0.0; - $or$cond = $26 & $28; - $29 = +HEAPF64[$r>>3]; - $30 = $29 < 9.2233720368547758E+18; - $or$cond3 = $or$cond & $30; + $11 = HEAP32[$3>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = (_sqlite3_value_type($12)|0); + HEAP32[$eType>>2] = $13; + $14 = ($13|0)==(2); + $15 = HEAP32[$eType>>2]|0; + $16 = ($15|0)==(1); + $or$cond = $14 | $16; + $17 = HEAP32[$3>>2]|0; + $18 = HEAP32[$17>>2]|0; do { - if ($or$cond3) { - $31 = +HEAPF64[$r>>3]; - $32 = $31 + 0.5; - $33 = (~~$32)>>>0; - $34 = +Math_abs($32) >= 1.0 ? $32 > 0.0 ? (~~+Math_min(+Math_floor($32 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($32 - +(~~$32 >>> 0)) / 4294967296.0) >>> 0 : 0; - $35 = (+($33>>>0)) + (4294967296.0*(+($34|0))); - HEAPF64[$r>>3] = $35; + if ($or$cond) { + $19 = (+_sqlite3_value_double($18)); + $20 = $19 * 8.64E+7; + $21 = $20 + 0.5; + $22 = (~~$21)>>>0; + $23 = +Math_abs($21) >= 1.0 ? $21 > 0.0 ? (~~+Math_min(+Math_floor($21 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($21 - +(~~$21 >>> 0)) / 4294967296.0) >>> 0 : 0; + $24 = HEAP32[$4>>2]|0; + $25 = $24; + $26 = $25; + HEAP32[$26>>2] = $22; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $23; + $29 = HEAP32[$4>>2]|0; + $30 = ((($29)) + 42|0); + HEAP8[$30>>0] = 1; } else { - $36 = HEAP32[$n>>2]|0; - $37 = ($36|0)==(0); - $38 = +HEAPF64[$r>>3]; - $39 = $38 < 0.0; - $or$cond5 = $37 & $39; - if ($or$cond5) { - $40 = +HEAPF64[$r>>3]; - $41 = -$40; - $42 = $41 < 9.2233720368547758E+18; - if ($42) { - $43 = +HEAPF64[$r>>3]; - $44 = -$43; - $45 = $44 + 0.5; - $46 = (~~$45)>>>0; - $47 = +Math_abs($45) >= 1.0 ? $45 > 0.0 ? (~~+Math_min(+Math_floor($45 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($45 - +(~~$45 >>> 0)) / 4294967296.0) >>> 0 : 0; - $48 = (+($46>>>0)) + (4294967296.0*(+($47|0))); - $49 = -$48; - HEAPF64[$r>>3] = $49; + $31 = (_sqlite3_value_text($18)|0); + HEAP32[$z>>2] = $31; + $32 = HEAP32[$z>>2]|0; + $33 = ($32|0)!=(0|0); + if ($33) { + $34 = HEAP32[$1>>2]|0; + $35 = HEAP32[$z>>2]|0; + $36 = HEAP32[$4>>2]|0; + $37 = (_parseDateOrTime($34,$35,$36)|0); + $38 = ($37|0)!=(0); + if (!($38)) { break; } } - $50 = HEAP32[$n>>2]|0; - $51 = +HEAPF64[$r>>3]; - HEAP32[$vararg_buffer>>2] = $50; - $vararg_ptr6 = ((($vararg_buffer)) + 8|0); - HEAPF64[$vararg_ptr6>>3] = $51; - $52 = (_sqlite3_mprintf(47026,$vararg_buffer)|0); - HEAP32[$zBuf>>2] = $52; - $53 = HEAP32[$zBuf>>2]|0; - $54 = ($53|0)==(0|0); - if (!($54)) { - $56 = HEAP32[$zBuf>>2]|0; - $57 = HEAP32[$zBuf>>2]|0; - $58 = (_sqlite3Strlen30($57)|0); - (_sqlite3AtoF($56,$r,$58,1)|0); - $59 = HEAP32[$zBuf>>2]|0; - _sqlite3_free($59); - break; - } - $55 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($55); - STACKTOP = sp;return; + HEAP32[$0>>2] = 1; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); } } while(0); - $60 = HEAP32[$0>>2]|0; - $61 = +HEAPF64[$r>>3]; - _sqlite3_result_double($60,$61); - STACKTOP = sp;return; -} -function _upperFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0, $z1 = 0, $z2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$z2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$n>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_i64Add(($12|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($11,$15,$16)|0); - HEAP32[$z1>>2] = $17; - $18 = HEAP32[$z1>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; + HEAP32[$i>>2] = 1; while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { + $39 = HEAP32[$i>>2]|0; + $40 = HEAP32[$2>>2]|0; + $41 = ($39|0)<($40|0); + if (!($41)) { + label = 14; break; } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$z2>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = HEAP32[$i>>2]|0; - $29 = HEAP32[$z2>>2]|0; - $30 = (($29) + ($28)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = (19267 + ($32)|0); - $34 = HEAP8[$33>>0]|0; - $35 = $34&255; - $36 = $35 & 32; - $37 = $36 ^ -1; - $38 = $27 & $37; - $39 = $38&255; - $40 = HEAP32[$i>>2]|0; - $41 = HEAP32[$z1>>2]|0; - $42 = (($41) + ($40)|0); - HEAP8[$42>>0] = $39; - $43 = HEAP32[$i>>2]|0; - $44 = (($43) + 1)|0; - HEAP32[$i>>2] = $44; + $42 = HEAP32[$i>>2]|0; + $43 = HEAP32[$3>>2]|0; + $44 = (($43) + ($42<<2)|0); + $45 = HEAP32[$44>>2]|0; + $46 = (_sqlite3_value_text($45)|0); + HEAP32[$z>>2] = $46; + $47 = HEAP32[$z>>2]|0; + $48 = ($47|0)==(0|0); + if ($48) { + label = 12; + break; + } + $49 = HEAP32[$1>>2]|0; + $50 = HEAP32[$z>>2]|0; + $51 = HEAP32[$4>>2]|0; + $52 = (_parseModifier($49,$50,$51)|0); + $53 = ($52|0)!=(0); + if ($53) { + label = 12; + break; + } + $54 = HEAP32[$i>>2]|0; + $55 = (($54) + 1)|0; + HEAP32[$i>>2] = $55; } - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$z1>>2]|0; - $47 = HEAP32[$n>>2]|0; - _sqlite3_result_text($45,$46,$47,148); - STACKTOP = sp;return; + if ((label|0) == 12) { + HEAP32[$0>>2] = 1; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + else if ((label|0) == 14) { + HEAP32[$0>>2] = 0; + $56 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($56|0); + } + return (0)|0; } -function _lowerFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $i = 0, $n = 0; - var $z1 = 0, $z2 = 0, label = 0, sp = 0; +function _computeJD($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0; + var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0; + var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0, $98 = 0, $99 = 0, $A = 0, $B = 0, $D = 0, $M = 0, $X1 = 0, $X2 = 0, $Y = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $z1 = sp + 12|0; - $z2 = sp + 8|0; - $i = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$z2>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$z2>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { + $0 = sp + 28|0; + $Y = sp + 24|0; + $M = sp + 20|0; + $D = sp + 16|0; + $A = sp + 12|0; + $B = sp + 8|0; + $X1 = sp + 4|0; + $X2 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 42|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if ($4) { STACKTOP = sp;return; } - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$n>>2]|0; - $13 = ($12|0)<(0); - $14 = $13 << 31 >> 31; - $15 = (_i64Add(($12|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($11,$15,$16)|0); - HEAP32[$z1>>2] = $17; - $18 = HEAP32[$z1>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 40|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + if ($8) { + $9 = HEAP32[$0>>2]|0; + $10 = ((($9)) + 8|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$Y>>2] = $11; + $12 = HEAP32[$0>>2]|0; + $13 = ((($12)) + 12|0); + $14 = HEAP32[$13>>2]|0; + HEAP32[$M>>2] = $14; + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 16|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[$D>>2] = $17; + } else { + HEAP32[$Y>>2] = 2000; + HEAP32[$M>>2] = 1; + HEAP32[$D>>2] = 1; + } + $18 = HEAP32[$M>>2]|0; + $19 = ($18|0)<=(2); + if ($19) { + $20 = HEAP32[$Y>>2]|0; + $21 = (($20) + -1)|0; + HEAP32[$Y>>2] = $21; + $22 = HEAP32[$M>>2]|0; + $23 = (($22) + 12)|0; + HEAP32[$M>>2] = $23; + } + $24 = HEAP32[$Y>>2]|0; + $25 = (($24|0) / 100)&-1; + HEAP32[$A>>2] = $25; + $26 = HEAP32[$A>>2]|0; + $27 = (2 - ($26))|0; + $28 = HEAP32[$A>>2]|0; + $29 = (($28|0) / 4)&-1; + $30 = (($27) + ($29))|0; + HEAP32[$B>>2] = $30; + $31 = HEAP32[$Y>>2]|0; + $32 = (($31) + 4716)|0; + $33 = ($32*36525)|0; + $34 = (($33|0) / 100)&-1; + HEAP32[$X1>>2] = $34; + $35 = HEAP32[$M>>2]|0; + $36 = (($35) + 1)|0; + $37 = ($36*306001)|0; + $38 = (($37|0) / 10000)&-1; + HEAP32[$X2>>2] = $38; + $39 = HEAP32[$X1>>2]|0; + $40 = HEAP32[$X2>>2]|0; + $41 = (($39) + ($40))|0; + $42 = HEAP32[$D>>2]|0; + $43 = (($41) + ($42))|0; + $44 = HEAP32[$B>>2]|0; + $45 = (($43) + ($44))|0; + $46 = (+($45|0)); + $47 = $46 - 1524.5; + $48 = $47 * 8.64E+7; + $49 = (~~$48)>>>0; + $50 = +Math_abs($48) >= 1.0 ? $48 > 0.0 ? (~~+Math_min(+Math_floor($48 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($48 - +(~~$48 >>> 0)) / 4294967296.0) >>> 0 : 0; + $51 = HEAP32[$0>>2]|0; + $52 = $51; + $53 = $52; + HEAP32[$53>>2] = $49; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $50; + $56 = HEAP32[$0>>2]|0; + $57 = ((($56)) + 42|0); + HEAP8[$57>>0] = 1; + $58 = HEAP32[$0>>2]|0; + $59 = ((($58)) + 41|0); + $60 = HEAP8[$59>>0]|0; + $61 = ($60<<24>>24)!=(0); + if (!($61)) { STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { - break; - } - $23 = HEAP32[$i>>2]|0; - $24 = HEAP32[$z2>>2]|0; - $25 = (($24) + ($23)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (18477 + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = HEAP32[$i>>2]|0; - $31 = HEAP32[$z1>>2]|0; - $32 = (($31) + ($30)|0); - HEAP8[$32>>0] = $29; - $33 = HEAP32[$i>>2]|0; - $34 = (($33) + 1)|0; - HEAP32[$i>>2] = $34; + $62 = HEAP32[$0>>2]|0; + $63 = ((($62)) + 20|0); + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($64, 3600000)|0; + $66 = HEAP32[$0>>2]|0; + $67 = ((($66)) + 24|0); + $68 = HEAP32[$67>>2]|0; + $69 = ($68*60000)|0; + $70 = (($65) + ($69))|0; + $71 = ($70|0)<(0); + $72 = $71 << 31 >> 31; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 32|0); + $75 = +HEAPF64[$74>>3]; + $76 = $75 * 1000.0; + $77 = (~~$76)>>>0; + $78 = +Math_abs($76) >= 1.0 ? $76 > 0.0 ? (~~+Math_min(+Math_floor($76 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($76 - +(~~$76 >>> 0)) / 4294967296.0) >>> 0 : 0; + $79 = (_i64Add(($70|0),($72|0),($77|0),($78|0))|0); + $80 = tempRet0; + $81 = HEAP32[$0>>2]|0; + $82 = $81; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = (_i64Add(($84|0),($87|0),($79|0),($80|0))|0); + $89 = tempRet0; + $90 = $81; + $91 = $90; + HEAP32[$91>>2] = $88; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $89; + $94 = HEAP32[$0>>2]|0; + $95 = ((($94)) + 43|0); + $96 = HEAP8[$95>>0]|0; + $97 = ($96<<24>>24)!=(0); + if (!($97)) { + STACKTOP = sp;return; } - $35 = HEAP32[$0>>2]|0; - $36 = HEAP32[$z1>>2]|0; - $37 = HEAP32[$n>>2]|0; - _sqlite3_result_text($35,$36,$37,148); + $98 = HEAP32[$0>>2]|0; + $99 = ((($98)) + 28|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100*60000)|0; + $102 = ($101|0)<(0); + $103 = $102 << 31 >> 31; + $104 = HEAP32[$0>>2]|0; + $105 = $104; + $106 = $105; + $107 = HEAP32[$106>>2]|0; + $108 = (($105) + 4)|0; + $109 = $108; + $110 = HEAP32[$109>>2]|0; + $111 = (_i64Subtract(($107|0),($110|0),($101|0),($103|0))|0); + $112 = tempRet0; + $113 = $104; + $114 = $113; + HEAP32[$114>>2] = $111; + $115 = (($113) + 4)|0; + $116 = $115; + HEAP32[$116>>2] = $112; + $117 = HEAP32[$0>>2]|0; + $118 = ((($117)) + 40|0); + HEAP8[$118>>0] = 0; + $119 = HEAP32[$0>>2]|0; + $120 = ((($119)) + 41|0); + HEAP8[$120>>0] = 0; + $121 = HEAP32[$0>>2]|0; + $122 = ((($121)) + 43|0); + HEAP8[$122>>0] = 0; STACKTOP = sp;return; } -function _versionFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; +function _computeYMD_HMS($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 8|0; - $1 = sp + 4|0; - $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_libversion()|0); - _sqlite3_result_text($3,$4,-1,0); + $0 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + _computeYMD($1); + $2 = HEAP32[$0>>2]|0; + _computeHMS($2); STACKTOP = sp;return; } -function _hexFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $i = 0, $n = 0, $pBlob = 0, $z = 0, $zHex = 0, label = 0, sp = 0; +function _computeYMD($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $A = 0, $B = 0, $C = 0, $D = 0, $E = 0, $X1 = 0, $Z = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; + STACKTOP = STACKTOP + 32|0; $0 = sp + 28|0; - $1 = sp + 24|0; - $2 = sp + 20|0; - $i = sp + 16|0; - $n = sp + 12|0; - $pBlob = sp + 8|0; - $zHex = sp + 4|0; - $z = sp; - $c = sp + 32|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_blob($4)|0); - HEAP32[$pBlob>>2] = $5; - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (_sqlite3_value_bytes($7)|0); - HEAP32[$n>>2] = $8; - $9 = HEAP32[$0>>2]|0; - $10 = HEAP32[$n>>2]|0; - $11 = ($10|0)<(0); - $12 = $11 << 31 >> 31; - $13 = (___muldi3(($10|0),($12|0),2,0)|0); - $14 = tempRet0; - $15 = (_i64Add(($13|0),($14|0),1,0)|0); - $16 = tempRet0; - $17 = (_contextMalloc($9,$15,$16)|0); - HEAP32[$zHex>>2] = $17; - HEAP32[$z>>2] = $17; - $18 = HEAP32[$zHex>>2]|0; - $19 = ($18|0)!=(0|0); - if (!($19)) { + $Z = sp + 24|0; + $A = sp + 20|0; + $B = sp + 16|0; + $C = sp + 12|0; + $D = sp + 8|0; + $E = sp + 4|0; + $X1 = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 40|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if ($4) { STACKTOP = sp;return; } - HEAP32[$i>>2] = 0; - while(1) { - $20 = HEAP32[$i>>2]|0; - $21 = HEAP32[$n>>2]|0; - $22 = ($20|0)<($21|0); - if (!($22)) { - break; - } - $23 = HEAP32[$pBlob>>2]|0; - $24 = HEAP8[$23>>0]|0; - HEAP8[$c>>0] = $24; - $25 = HEAP8[$c>>0]|0; - $26 = $25&255; - $27 = $26 >> 4; - $28 = $27 & 15; - $29 = (47010 + ($28)|0); - $30 = HEAP8[$29>>0]|0; - $31 = HEAP32[$z>>2]|0; - $32 = ((($31)) + 1|0); - HEAP32[$z>>2] = $32; - HEAP8[$31>>0] = $30; - $33 = HEAP8[$c>>0]|0; - $34 = $33&255; - $35 = $34 & 15; - $36 = (47010 + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = HEAP32[$z>>2]|0; - $39 = ((($38)) + 1|0); - HEAP32[$z>>2] = $39; - HEAP8[$38>>0] = $37; - $40 = HEAP32[$i>>2]|0; - $41 = (($40) + 1)|0; - HEAP32[$i>>2] = $41; - $42 = HEAP32[$pBlob>>2]|0; - $43 = ((($42)) + 1|0); - HEAP32[$pBlob>>2] = $43; - } - $44 = HEAP32[$z>>2]|0; - HEAP8[$44>>0] = 0; - $45 = HEAP32[$0>>2]|0; - $46 = HEAP32[$zHex>>2]|0; - $47 = HEAP32[$n>>2]|0; - $48 = $47<<1; - _sqlite3_result_text($45,$46,$48,148); - STACKTOP = sp;return; -} -function _randomFunc($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $r = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - _sqlite3_randomness(8,$r); - $3 = $r; - $4 = $3; - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + 4)|0; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)<(0); - if ($9) { - $10 = $r; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = $15 & 2147483647; - $17 = (_i64Subtract(0,0,($12|0),($16|0))|0); - $18 = tempRet0; - $19 = $r; - $20 = $19; - HEAP32[$20>>2] = $17; - $21 = (($19) + 4)|0; - $22 = $21; - HEAP32[$22>>2] = $18; - } - $23 = HEAP32[$0>>2]|0; - $24 = $r; - $25 = $24; - $26 = HEAP32[$25>>2]|0; - $27 = (($24) + 4)|0; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - _sqlite3_result_int64($23,$26,$29); - STACKTOP = sp;return; -} -function _randomBlob($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $n = 0, $p = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 16|0; - $1 = sp + 12|0; - $2 = sp + 8|0; - $n = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$n>>2]|0; - $7 = ($6|0)<(1); - $$ = $7 ? 1 : $5; - HEAP32[$n>>2] = $$; - $8 = HEAP32[$0>>2]|0; - $9 = HEAP32[$n>>2]|0; - $10 = ($9|0)<(0); - $11 = $10 << 31 >> 31; - $12 = (_contextMalloc($8,$9,$11)|0); - HEAP32[$p>>2] = $12; - $13 = HEAP32[$p>>2]|0; - $14 = ($13|0)!=(0|0); - if (!($14)) { - STACKTOP = sp;return; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 42|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)!=(0); + $9 = HEAP32[$0>>2]|0; + if ($8) { + $15 = $9; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (_i64Add(($17|0),($20|0),43200000,0)|0); + $22 = tempRet0; + $23 = (___divdi3(($21|0),($22|0),86400000,0)|0); + $24 = tempRet0; + HEAP32[$Z>>2] = $23; + $25 = HEAP32[$Z>>2]|0; + $26 = (+($25|0)); + $27 = $26 - 1867216.25; + $28 = $27 / 36524.25; + $29 = (~~(($28))); + HEAP32[$A>>2] = $29; + $30 = HEAP32[$Z>>2]|0; + $31 = (($30) + 1)|0; + $32 = HEAP32[$A>>2]|0; + $33 = (($31) + ($32))|0; + $34 = HEAP32[$A>>2]|0; + $35 = (($34|0) / 4)&-1; + $36 = (($33) - ($35))|0; + HEAP32[$A>>2] = $36; + $37 = HEAP32[$A>>2]|0; + $38 = (($37) + 1524)|0; + HEAP32[$B>>2] = $38; + $39 = HEAP32[$B>>2]|0; + $40 = (+($39|0)); + $41 = $40 - 122.09999999999999; + $42 = $41 / 365.25; + $43 = (~~(($42))); + HEAP32[$C>>2] = $43; + $44 = HEAP32[$C>>2]|0; + $45 = $44 & 32767; + $46 = ($45*36525)|0; + $47 = (($46|0) / 100)&-1; + HEAP32[$D>>2] = $47; + $48 = HEAP32[$B>>2]|0; + $49 = HEAP32[$D>>2]|0; + $50 = (($48) - ($49))|0; + $51 = (+($50|0)); + $52 = $51 / 30.600100000000001; + $53 = (~~(($52))); + HEAP32[$E>>2] = $53; + $54 = HEAP32[$E>>2]|0; + $55 = (+($54|0)); + $56 = 30.600100000000001 * $55; + $57 = (~~(($56))); + HEAP32[$X1>>2] = $57; + $58 = HEAP32[$B>>2]|0; + $59 = HEAP32[$D>>2]|0; + $60 = (($58) - ($59))|0; + $61 = HEAP32[$X1>>2]|0; + $62 = (($60) - ($61))|0; + $63 = HEAP32[$0>>2]|0; + $64 = ((($63)) + 16|0); + HEAP32[$64>>2] = $62; + $65 = HEAP32[$E>>2]|0; + $66 = ($65|0)<(14); + $67 = HEAP32[$E>>2]|0; + $68 = (($67) - 1)|0; + $69 = (($67) - 13)|0; + $70 = $66 ? $68 : $69; + $71 = HEAP32[$0>>2]|0; + $72 = ((($71)) + 12|0); + HEAP32[$72>>2] = $70; + $73 = HEAP32[$0>>2]|0; + $74 = ((($73)) + 12|0); + $75 = HEAP32[$74>>2]|0; + $76 = ($75|0)>(2); + $77 = HEAP32[$C>>2]|0; + $78 = (($77) - 4716)|0; + $79 = (($77) - 4715)|0; + $80 = $76 ? $78 : $79; + $81 = HEAP32[$0>>2]|0; + $82 = ((($81)) + 8|0); + HEAP32[$82>>2] = $80; + } else { + $10 = ((($9)) + 8|0); + HEAP32[$10>>2] = 2000; + $11 = HEAP32[$0>>2]|0; + $12 = ((($11)) + 12|0); + HEAP32[$12>>2] = 1; + $13 = HEAP32[$0>>2]|0; + $14 = ((($13)) + 16|0); + HEAP32[$14>>2] = 1; } - $15 = HEAP32[$n>>2]|0; - $16 = HEAP32[$p>>2]|0; - _sqlite3_randomness($15,$16); - $17 = HEAP32[$0>>2]|0; - $18 = HEAP32[$p>>2]|0; - $19 = HEAP32[$n>>2]|0; - _sqlite3_result_blob($17,$18,$19,148); + $83 = HEAP32[$0>>2]|0; + $84 = ((($83)) + 40|0); + HEAP8[$84>>0] = 1; STACKTOP = sp;return; } -function _nullifFunc($context,$NotUsed,$argv) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pColl = 0, label = 0, sp = 0; +function _computeHMS($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0; + var $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $s = 0; + var label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $pColl = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3GetFuncCollSeq($3)|0); - HEAP32[$pColl>>2] = $4; - $5 = HEAP32[$2>>2]|0; - $6 = HEAP32[$5>>2]|0; - $7 = HEAP32[$2>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = HEAP32[$pColl>>2]|0; - $11 = (_sqlite3MemCompare($6,$9,$10)|0); - $12 = ($11|0)!=(0); - if (!($12)) { + $0 = sp + 4|0; + $s = sp; + HEAP32[$0>>2] = $p; + $1 = HEAP32[$0>>2]|0; + $2 = ((($1)) + 41|0); + $3 = HEAP8[$2>>0]|0; + $4 = ($3<<24>>24)!=(0); + if ($4) { STACKTOP = sp;return; } - $13 = HEAP32[$0>>2]|0; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$14>>2]|0; - _sqlite3_result_value($13,$15); + $5 = HEAP32[$0>>2]|0; + _computeJD($5); + $6 = HEAP32[$0>>2]|0; + $7 = $6; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = (_i64Add(($9|0),($12|0),43200000,0)|0); + $14 = tempRet0; + $15 = (___remdi3(($13|0),($14|0),86400000,0)|0); + $16 = tempRet0; + HEAP32[$s>>2] = $15; + $17 = HEAP32[$s>>2]|0; + $18 = (+($17|0)); + $19 = $18 / 1000.0; + $20 = HEAP32[$0>>2]|0; + $21 = ((($20)) + 32|0); + HEAPF64[$21>>3] = $19; + $22 = HEAP32[$0>>2]|0; + $23 = ((($22)) + 32|0); + $24 = +HEAPF64[$23>>3]; + $25 = (~~(($24))); + HEAP32[$s>>2] = $25; + $26 = HEAP32[$s>>2]|0; + $27 = (+($26|0)); + $28 = HEAP32[$0>>2]|0; + $29 = ((($28)) + 32|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30 - $27; + HEAPF64[$29>>3] = $31; + $32 = HEAP32[$s>>2]|0; + $33 = (($32|0) / 3600)&-1; + $34 = HEAP32[$0>>2]|0; + $35 = ((($34)) + 20|0); + HEAP32[$35>>2] = $33; + $36 = HEAP32[$0>>2]|0; + $37 = ((($36)) + 20|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38*3600)|0; + $40 = HEAP32[$s>>2]|0; + $41 = (($40) - ($39))|0; + HEAP32[$s>>2] = $41; + $42 = HEAP32[$s>>2]|0; + $43 = (($42|0) / 60)&-1; + $44 = HEAP32[$0>>2]|0; + $45 = ((($44)) + 24|0); + HEAP32[$45>>2] = $43; + $46 = HEAP32[$s>>2]|0; + $47 = HEAP32[$0>>2]|0; + $48 = ((($47)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49*60)|0; + $51 = (($46) - ($50))|0; + $52 = (+($51|0)); + $53 = HEAP32[$0>>2]|0; + $54 = ((($53)) + 32|0); + $55 = +HEAPF64[$54>>3]; + $56 = $55 + $52; + HEAPF64[$54>>3] = $56; + $57 = HEAP32[$0>>2]|0; + $58 = ((($57)) + 41|0); + HEAP8[$58>>0] = 1; STACKTOP = sp;return; } -function _sourceidFunc($context,$NotUsed,$NotUsed2) { +function _setDateTimeToCurrent($context,$p) { $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 8|0; $1 = sp + 4|0; $2 = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_sourceid()|0); - _sqlite3_result_text($3,$4,-1,0); - STACKTOP = sp;return; -} -function _errlogFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $vararg_buffer = sp; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); + HEAP32[$1>>2] = $context; + HEAP32[$2>>2] = $p; + $3 = HEAP32[$1>>2]|0; + $4 = (_sqlite3StmtCurrentTime($3)|0); + $5 = tempRet0; $6 = HEAP32[$2>>2]|0; - $7 = ((($6)) + 4|0); - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_text($8)|0); - HEAP32[$vararg_buffer>>2] = $9; - _sqlite3_log($5,19255,$vararg_buffer); - STACKTOP = sp;return; -} -function _compileoptionusedFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $zOptName = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $zOptName = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zOptName>>2] = $5; - $6 = ($5|0)!=(0|0); - if (!($6)) { - STACKTOP = sp;return; + $7 = $6; + $8 = $7; + HEAP32[$8>>2] = $4; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $5; + $11 = HEAP32[$2>>2]|0; + $12 = $11; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + 4)|0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(0); + $19 = ($14>>>0)>(0); + $20 = ($17|0)==(0); + $21 = $20 & $19; + $22 = $18 | $21; + if ($22) { + $23 = HEAP32[$2>>2]|0; + $24 = ((($23)) + 42|0); + HEAP8[$24>>0] = 1; + HEAP32[$0>>2] = 0; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); + } else { + HEAP32[$0>>2] = 1; + $25 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($25|0); } - $7 = HEAP32[$0>>2]|0; - $8 = HEAP32[$zOptName>>2]|0; - $9 = (_sqlite3_compileoption_used($8)|0); - _sqlite3_result_int($7,$9); - STACKTOP = sp;return; + return (0)|0; } -function _compileoptiongetFunc($context,$argc,$argv) { +function _parseDateOrTime($context,$zDate,$p) { $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $n = 0, label = 0, sp = 0; + $zDate = $zDate|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $r = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $n = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int($4)|0); - HEAP32[$n>>2] = $5; - $6 = HEAP32[$0>>2]|0; - $7 = HEAP32[$n>>2]|0; - $8 = (_sqlite3_compileoption_get($7)|0); - _sqlite3_result_text($6,$8,-1,0); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 32|0; + $0 = sp + 20|0; + $1 = sp + 16|0; + $2 = sp + 12|0; + $3 = sp + 8|0; + $r = sp; + HEAP32[$1>>2] = $context; + HEAP32[$2>>2] = $zDate; + HEAP32[$3>>2] = $p; + $4 = HEAP32[$2>>2]|0; + $5 = HEAP32[$3>>2]|0; + $6 = (_parseYyyyMmDd($4,$5)|0); + $7 = ($6|0)==(0); + if ($7) { + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $8 = HEAP32[$2>>2]|0; + $9 = HEAP32[$3>>2]|0; + $10 = (_parseHhMmSs($8,$9)|0); + $11 = ($10|0)==(0); + if ($11) { + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $12 = HEAP32[$2>>2]|0; + $13 = (_sqlite3StrICmp($12,46538)|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$1>>2]|0; + $16 = HEAP32[$3>>2]|0; + $17 = (_setDateTimeToCurrent($15,$16)|0); + HEAP32[$0>>2] = $17; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + $18 = HEAP32[$2>>2]|0; + $19 = HEAP32[$2>>2]|0; + $20 = (_sqlite3Strlen30($19)|0); + $21 = (_sqlite3AtoF($18,$r,$20,1)|0); + $22 = ($21|0)!=(0); + if ($22) { + $23 = +HEAPF64[$r>>3]; + $24 = $23 * 8.64E+7; + $25 = $24 + 0.5; + $26 = (~~$25)>>>0; + $27 = +Math_abs($25) >= 1.0 ? $25 > 0.0 ? (~~+Math_min(+Math_floor($25 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($25 - +(~~$25 >>> 0)) / 4294967296.0) >>> 0 : 0; + $28 = HEAP32[$3>>2]|0; + $29 = $28; + $30 = $29; + HEAP32[$30>>2] = $26; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = HEAP32[$3>>2]|0; + $34 = ((($33)) + 42|0); + HEAP8[$34>>0] = 1; + HEAP32[$0>>2] = 0; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } else { + HEAP32[$0>>2] = 1; + $35 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($35|0); + } + return (0)|0; } -function _quoteFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0.0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $i = 0, $i1 = 0, $j = 0, $n = 0, $nBlob = 0, $r1 = 0, $r2 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $z = 0, $zArg = 0, $zBlob = 0, $zBuf = 0, $zText = 0, label = 0, sp = 0; +function _parseModifier($pCtx,$zMod,$p) { + $pCtx = $pCtx|0; + $zMod = $zMod|0; + $p = $p|0; + var $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0.0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0; + var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0; + var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0; + var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0; + var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0; + var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0; + var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0; + var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0; + var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0; + var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0; + var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0.0, $435 = 0, $436 = 0.0, $437 = 0, $438 = 0, $439 = 0; + var $44 = 0, $440 = 0, $441 = 0, $442 = 0.0, $443 = 0.0, $444 = 0.0, $445 = 0.0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0; + var $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0.0, $467 = 0.0, $468 = 0.0, $469 = 0.0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0; + var $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0.0, $491 = 0.0, $492 = 0.0, $493 = 0.0; + var $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0; + var $511 = 0, $512 = 0, $513 = 0, $514 = 0.0, $515 = 0.0, $516 = 0.0, $517 = 0.0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0; + var $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0.0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0; + var $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0; + var $566 = 0, $567 = 0, $568 = 0, $569 = 0.0, $57 = 0, $570 = 0, $571 = 0, $572 = 0.0, $573 = 0.0, $574 = 0, $575 = 0.0, $576 = 0, $577 = 0.0, $578 = 0.0, $579 = 0.0, $58 = 0, $580 = 0.0, $581 = 0.0, $582 = 0.0, $583 = 0; + var $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0; + var $601 = 0, $602 = 0, $603 = 0.0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0.0, $616 = 0.0, $617 = 0, $618 = 0.0, $619 = 0; + var $62 = 0, $620 = 0.0, $621 = 0.0, $622 = 0.0, $623 = 0.0, $624 = 0.0, $625 = 0.0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0; + var $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0; + var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $Z = 0, $c1 = 0, $day = 0, $n = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $r = 0, $rRounder = 0, $rc = 0, $tx = 0, $x = 0, $y = 0, $y1 = 0, $z = 0; + var $z2 = 0, $zBuf = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; - $vararg_buffer1 = sp + 32|0; - $vararg_buffer = sp + 24|0; - $0 = sp + 80|0; - $1 = sp + 76|0; - $2 = sp + 72|0; - $r1 = sp + 16|0; - $r2 = sp + 8|0; - $zBuf = sp + 84|0; - $zText = sp + 68|0; - $zBlob = sp + 64|0; - $nBlob = sp + 60|0; - $i = sp + 56|0; - $i1 = sp + 52|0; - $j = sp + 48|0; - $n = sp; - $zArg = sp + 44|0; - $z = sp + 40|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - switch ($5|0) { - case 2: { - $6 = HEAP32[$2>>2]|0; - $7 = HEAP32[$6>>2]|0; - $8 = (+_sqlite3_value_double($7)); - HEAPF64[$r1>>3] = $8; - $9 = +HEAPF64[$r1>>3]; - HEAPF64[$vararg_buffer>>3] = $9; - (_sqlite3_snprintf(50,$zBuf,29142,$vararg_buffer)|0); - (_sqlite3AtoF($zBuf,$r2,20,1)|0); - $10 = +HEAPF64[$r1>>3]; - $11 = +HEAPF64[$r2>>3]; - $12 = $10 != $11; - if ($12) { - $13 = +HEAPF64[$r1>>3]; - HEAPF64[$vararg_buffer1>>3] = $13; - (_sqlite3_snprintf(50,$zBuf,47003,$vararg_buffer1)|0); + STACKTOP = STACKTOP + 160|0; + $0 = sp + 124|0; + $1 = sp + 120|0; + $2 = sp + 116|0; + $rc = sp + 112|0; + $n = sp + 108|0; + $r = sp + 80|0; + $z = sp + 104|0; + $zBuf = sp + 128|0; + $c1 = sp + 72|0; + $Z = sp + 64|0; + $rRounder = sp + 56|0; + $z2 = sp + 100|0; + $tx = sp + 8|0; + $day = sp; + $x = sp + 96|0; + $y = sp + 92|0; + $y1 = sp + 88|0; + HEAP32[$0>>2] = $pCtx; + HEAP32[$1>>2] = $zMod; + HEAP32[$2>>2] = $p; + HEAP32[$rc>>2] = 1; + HEAP32[$z>>2] = $zBuf; + HEAP32[$n>>2] = 0; + while(1) { + $3 = HEAP32[$n>>2]|0; + $4 = ($3|0)<(29); + if ($4) { + $5 = HEAP32[$n>>2]|0; + $6 = HEAP32[$1>>2]|0; + $7 = (($6) + ($5)|0); + $8 = HEAP8[$7>>0]|0; + $9 = $8 << 24 >> 24; + $10 = ($9|0)!=(0); + $643 = $10; + } else { + $643 = 0; } - $14 = HEAP32[$0>>2]|0; - _sqlite3_result_text($14,$zBuf,-1,(-1)); - STACKTOP = sp;return; - break; + $11 = HEAP32[$n>>2]|0; + if (!($643)) { + break; + } + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($11)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = (18221 + ($15)|0); + $17 = HEAP8[$16>>0]|0; + $18 = HEAP32[$n>>2]|0; + $19 = HEAP32[$z>>2]|0; + $20 = (($19) + ($18)|0); + HEAP8[$20>>0] = $17; + $21 = HEAP32[$n>>2]|0; + $22 = (($21) + 1)|0; + HEAP32[$n>>2] = $22; } - case 1: { - $15 = HEAP32[$0>>2]|0; - $16 = HEAP32[$2>>2]|0; - $17 = HEAP32[$16>>2]|0; - _sqlite3_result_value($15,$17); - STACKTOP = sp;return; + $23 = HEAP32[$z>>2]|0; + $24 = (($23) + ($11)|0); + HEAP8[$24>>0] = 0; + $25 = HEAP32[$z>>2]|0; + $26 = HEAP8[$25>>0]|0; + $27 = $26 << 24 >> 24; + switch ($27|0) { + case 108: { + $28 = HEAP32[$z>>2]|0; + $29 = (_strcmp($28,46418)|0); + $30 = ($29|0)==(0); + if (!($30)) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $31 = HEAP32[$2>>2]|0; + _computeJD($31); + $32 = HEAP32[$2>>2]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (_localtimeOffset($32,$33,$rc)|0); + $35 = tempRet0; + $36 = HEAP32[$2>>2]|0; + $37 = $36; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = (($37) + 4)|0; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (_i64Add(($39|0),($42|0),($34|0),($35|0))|0); + $44 = tempRet0; + $45 = $36; + $46 = $45; + HEAP32[$46>>2] = $43; + $47 = (($45) + 4)|0; + $48 = $47; + HEAP32[$48>>2] = $44; + $49 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($49); + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); break; } - case 4: { - HEAP32[$zText>>2] = 0; - $18 = HEAP32[$2>>2]|0; - $19 = HEAP32[$18>>2]|0; - $20 = (_sqlite3_value_blob($19)|0); - HEAP32[$zBlob>>2] = $20; - $21 = HEAP32[$2>>2]|0; - $22 = HEAP32[$21>>2]|0; - $23 = (_sqlite3_value_bytes($22)|0); - HEAP32[$nBlob>>2] = $23; - $24 = HEAP32[$0>>2]|0; - $25 = HEAP32[$nBlob>>2]|0; - $26 = ($25|0)<(0); - $27 = $26 << 31 >> 31; - $28 = (___muldi3(2,0,($25|0),($27|0))|0); - $29 = tempRet0; - $30 = (_i64Add(($28|0),($29|0),4,0)|0); - $31 = tempRet0; - $32 = (_contextMalloc($24,$30,$31)|0); - HEAP32[$zText>>2] = $32; - $33 = HEAP32[$zText>>2]|0; - $34 = ($33|0)!=(0|0); - if (!($34)) { - STACKTOP = sp;return; - } - HEAP32[$i>>2] = 0; - while(1) { - $35 = HEAP32[$i>>2]|0; - $36 = HEAP32[$nBlob>>2]|0; - $37 = ($35|0)<($36|0); - if (!($37)) { - break; - } - $38 = HEAP32[$i>>2]|0; - $39 = HEAP32[$zBlob>>2]|0; - $40 = (($39) + ($38)|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41 << 24 >> 24; - $43 = $42 >> 4; - $44 = $43 & 15; - $45 = (47010 + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = HEAP32[$i>>2]|0; - $48 = $47<<1; - $49 = (($48) + 2)|0; - $50 = HEAP32[$zText>>2]|0; - $51 = (($50) + ($49)|0); - HEAP8[$51>>0] = $46; - $52 = HEAP32[$i>>2]|0; - $53 = HEAP32[$zBlob>>2]|0; - $54 = (($53) + ($52)|0); + case 117: { + $50 = HEAP32[$z>>2]|0; + $51 = (_strcmp($50,46428)|0); + $52 = ($51|0)==(0); + if ($52) { + $53 = HEAP32[$2>>2]|0; + $54 = ((($53)) + 42|0); $55 = HEAP8[$54>>0]|0; $56 = $55 << 24 >> 24; - $57 = $56 & 15; - $58 = (47010 + ($57)|0); - $59 = HEAP8[$58>>0]|0; - $60 = HEAP32[$i>>2]|0; - $61 = $60<<1; - $62 = (($61) + 3)|0; - $63 = HEAP32[$zText>>2]|0; - $64 = (($63) + ($62)|0); - HEAP8[$64>>0] = $59; - $65 = HEAP32[$i>>2]|0; - $66 = (($65) + 1)|0; - HEAP32[$i>>2] = $66; + $57 = ($56|0)!=(0); + if ($57) { + $58 = HEAP32[$2>>2]|0; + $59 = $58; + $60 = $59; + $61 = HEAP32[$60>>2]|0; + $62 = (($59) + 4)|0; + $63 = $62; + $64 = HEAP32[$63>>2]|0; + $65 = (_i64Add(($61|0),($64|0),43200,0)|0); + $66 = tempRet0; + $67 = (___divdi3(($65|0),($66|0),86400,0)|0); + $68 = tempRet0; + $69 = (_i64Add(($67|0),($68|0),1045635584,49096)|0); + $70 = tempRet0; + $71 = HEAP32[$2>>2]|0; + $72 = $71; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($76); + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } } - $67 = HEAP32[$nBlob>>2]|0; - $68 = $67<<1; - $69 = (($68) + 2)|0; - $70 = HEAP32[$zText>>2]|0; - $71 = (($70) + ($69)|0); - HEAP8[$71>>0] = 39; - $72 = HEAP32[$nBlob>>2]|0; - $73 = $72<<1; - $74 = (($73) + 3)|0; - $75 = HEAP32[$zText>>2]|0; - $76 = (($75) + ($74)|0); - HEAP8[$76>>0] = 0; - $77 = HEAP32[$zText>>2]|0; - HEAP8[$77>>0] = 88; - $78 = HEAP32[$zText>>2]|0; - $79 = ((($78)) + 1|0); - HEAP8[$79>>0] = 39; - $80 = HEAP32[$0>>2]|0; - $81 = HEAP32[$zText>>2]|0; - _sqlite3_result_text($80,$81,-1,(-1)); - $82 = HEAP32[$zText>>2]|0; - _sqlite3_free($82); - STACKTOP = sp;return; - break; - } - case 3: { - $83 = HEAP32[$2>>2]|0; - $84 = HEAP32[$83>>2]|0; - $85 = (_sqlite3_value_text($84)|0); - HEAP32[$zArg>>2] = $85; - $86 = HEAP32[$zArg>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - STACKTOP = sp;return; + $77 = HEAP32[$z>>2]|0; + $78 = (_strcmp($77,46438)|0); + $79 = ($78|0)==(0); + if (!($79)) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); } - HEAP32[$i1>>2] = 0; - $88 = $n; - $89 = $88; - HEAP32[$89>>2] = 0; - $90 = (($88) + 4)|0; + $80 = HEAP32[$2>>2]|0; + $81 = ((($80)) + 44|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82 << 24 >> 24; + $84 = ($83|0)==(0); + if (!($84)) { + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $85 = HEAP32[$2>>2]|0; + _computeJD($85); + $86 = HEAP32[$2>>2]|0; + $87 = HEAP32[$0>>2]|0; + $88 = (_localtimeOffset($86,$87,$rc)|0); + $89 = tempRet0; + $90 = $c1; $91 = $90; - HEAP32[$91>>2] = 0; - while(1) { - $92 = HEAP32[$i1>>2]|0; - $93 = HEAP32[$zArg>>2]|0; - $94 = (($93) + ($92)|0); - $95 = HEAP8[$94>>0]|0; - $96 = ($95<<24>>24)!=(0); - if (!($96)) { - break; - } - $97 = HEAP32[$i1>>2]|0; - $98 = HEAP32[$zArg>>2]|0; - $99 = (($98) + ($97)|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100&255; - $102 = ($101|0)==(39); - if ($102) { - $103 = $n; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = (($103) + 4)|0; - $107 = $106; - $108 = HEAP32[$107>>2]|0; - $109 = (_i64Add(($105|0),($108|0),1,0)|0); - $110 = tempRet0; - $111 = $n; - $112 = $111; - HEAP32[$112>>2] = $109; - $113 = (($111) + 4)|0; - $114 = $113; - HEAP32[$114>>2] = $110; - } - $115 = HEAP32[$i1>>2]|0; - $116 = (($115) + 1)|0; - HEAP32[$i1>>2] = $116; + HEAP32[$91>>2] = $88; + $92 = (($90) + 4)|0; + $93 = $92; + HEAP32[$93>>2] = $89; + $94 = HEAP32[$rc>>2]|0; + $95 = ($94|0)==(0); + if ($95) { + $96 = $c1; + $97 = $96; + $98 = HEAP32[$97>>2]|0; + $99 = (($96) + 4)|0; + $100 = $99; + $101 = HEAP32[$100>>2]|0; + $102 = HEAP32[$2>>2]|0; + $103 = $102; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = (($103) + 4)|0; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (_i64Subtract(($105|0),($108|0),($98|0),($101|0))|0); + $110 = tempRet0; + $111 = $102; + $112 = $111; + HEAP32[$112>>2] = $109; + $113 = (($111) + 4)|0; + $114 = $113; + HEAP32[$114>>2] = $110; + $115 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($115); + $116 = $c1; + $117 = $116; + $118 = HEAP32[$117>>2]|0; + $119 = (($116) + 4)|0; + $120 = $119; + $121 = HEAP32[$120>>2]|0; + $122 = HEAP32[$2>>2]|0; + $123 = HEAP32[$0>>2]|0; + $124 = (_localtimeOffset($122,$123,$rc)|0); + $125 = tempRet0; + $126 = (_i64Subtract(($118|0),($121|0),($124|0),($125|0))|0); + $127 = tempRet0; + $128 = HEAP32[$2>>2]|0; + $129 = $128; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = (_i64Add(($131|0),($134|0),($126|0),($127|0))|0); + $136 = tempRet0; + $137 = $128; + $138 = $137; + HEAP32[$138>>2] = $135; + $139 = (($137) + 4)|0; + $140 = $139; + HEAP32[$140>>2] = $136; } - $117 = HEAP32[$0>>2]|0; - $118 = HEAP32[$i1>>2]|0; - $119 = ($118|0)<(0); - $120 = $119 << 31 >> 31; - $121 = $n; - $122 = $121; - $123 = HEAP32[$122>>2]|0; - $124 = (($121) + 4)|0; - $125 = $124; - $126 = HEAP32[$125>>2]|0; - $127 = (_i64Add(($118|0),($120|0),($123|0),($126|0))|0); - $128 = tempRet0; - $129 = (_i64Add(($127|0),($128|0),3,0)|0); - $130 = tempRet0; - $131 = (_contextMalloc($117,$129,$130)|0); - HEAP32[$z>>2] = $131; - $132 = HEAP32[$z>>2]|0; - $133 = ($132|0)!=(0|0); - if (!($133)) { - STACKTOP = sp;return; + $141 = HEAP32[$2>>2]|0; + $142 = ((($141)) + 44|0); + HEAP8[$142>>0] = 1; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + break; + } + case 119: { + $143 = HEAP32[$z>>2]|0; + $144 = (_strncmp($143,46442,8)|0); + $145 = ($144|0)==(0); + if (!($145)) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); } - $134 = HEAP32[$z>>2]|0; - HEAP8[$134>>0] = 39; - HEAP32[$i1>>2] = 0; - HEAP32[$j>>2] = 1; - while(1) { - $135 = HEAP32[$i1>>2]|0; - $136 = HEAP32[$zArg>>2]|0; - $137 = (($136) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = ($138<<24>>24)!=(0); - if (!($139)) { - break; - } - $140 = HEAP32[$i1>>2]|0; - $141 = HEAP32[$zArg>>2]|0; - $142 = (($141) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = HEAP32[$j>>2]|0; - $145 = (($144) + 1)|0; - HEAP32[$j>>2] = $145; - $146 = HEAP32[$z>>2]|0; - $147 = (($146) + ($144)|0); - HEAP8[$147>>0] = $143; - $148 = HEAP32[$i1>>2]|0; - $149 = HEAP32[$zArg>>2]|0; - $150 = (($149) + ($148)|0); - $151 = HEAP8[$150>>0]|0; - $152 = $151&255; - $153 = ($152|0)==(39); - if ($153) { - $154 = HEAP32[$j>>2]|0; - $155 = (($154) + 1)|0; - HEAP32[$j>>2] = $155; - $156 = HEAP32[$z>>2]|0; - $157 = (($156) + ($154)|0); - HEAP8[$157>>0] = 39; - } - $158 = HEAP32[$i1>>2]|0; - $159 = (($158) + 1)|0; - HEAP32[$i1>>2] = $159; + $146 = HEAP32[$z>>2]|0; + $147 = ((($146)) + 8|0); + $148 = HEAP32[$z>>2]|0; + $149 = ((($148)) + 8|0); + $150 = (_sqlite3Strlen30($149)|0); + $151 = (_sqlite3AtoF($147,$r,$150,1)|0); + $152 = ($151|0)!=(0); + if (!($152)) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); } - $160 = HEAP32[$j>>2]|0; - $161 = (($160) + 1)|0; - HEAP32[$j>>2] = $161; - $162 = HEAP32[$z>>2]|0; - $163 = (($162) + ($160)|0); - HEAP8[$163>>0] = 39; - $164 = HEAP32[$j>>2]|0; - $165 = HEAP32[$z>>2]|0; - $166 = (($165) + ($164)|0); + $153 = +HEAPF64[$r>>3]; + $154 = (~~(($153))); + HEAP32[$n>>2] = $154; + $155 = (+($154|0)); + $156 = +HEAPF64[$r>>3]; + $157 = $155 == $156; + $158 = HEAP32[$n>>2]|0; + $159 = ($158|0)>=(0); + $or$cond = $157 & $159; + $160 = +HEAPF64[$r>>3]; + $161 = $160 < 7.0; + $or$cond3 = $or$cond & $161; + if (!($or$cond3)) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $162 = HEAP32[$2>>2]|0; + _computeYMD_HMS($162); + $163 = HEAP32[$2>>2]|0; + $164 = ((($163)) + 43|0); + HEAP8[$164>>0] = 0; + $165 = HEAP32[$2>>2]|0; + $166 = ((($165)) + 42|0); HEAP8[$166>>0] = 0; - $167 = HEAP32[$0>>2]|0; - $168 = HEAP32[$z>>2]|0; - $169 = HEAP32[$j>>2]|0; - _sqlite3_result_text($167,$168,$169,148); - STACKTOP = sp;return; - break; - } - default: { - $170 = HEAP32[$0>>2]|0; - _sqlite3_result_text($170,40498,4,0); - STACKTOP = sp;return; - } - } -} -function _last_insert_rowid($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_last_insert_rowid($6)|0); - $8 = tempRet0; - _sqlite3_result_int64($5,$7,$8); - STACKTOP = sp;return; -} -function _changes($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_changes($6)|0); - _sqlite3_result_int($5,$7); - STACKTOP = sp;return; -} -function _total_changes($context,$NotUsed,$NotUsed2) { - $context = $context|0; - $NotUsed = $NotUsed|0; - $NotUsed2 = $NotUsed2|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $db = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 12|0; - $1 = sp + 8|0; - $2 = sp + 4|0; - $db = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $NotUsed; - HEAP32[$2>>2] = $NotUsed2; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_context_db_handle($3)|0); - HEAP32[$db>>2] = $4; - $5 = HEAP32[$0>>2]|0; - $6 = HEAP32[$db>>2]|0; - $7 = (_sqlite3_total_changes($6)|0); - _sqlite3_result_int($5,$7); - STACKTOP = sp;return; -} -function _replaceFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0; - var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0; - var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $db = 0, $i = 0, $j = 0, $loopLimit = 0, $nOut = 0, $nPattern = 0; - var $nRep = 0, $nStr = 0, $zOld = 0, $zOut = 0, $zPattern = 0, $zRep = 0, $zStr = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; - $0 = sp + 64|0; - $1 = sp + 60|0; - $2 = sp + 56|0; - $zStr = sp + 52|0; - $zPattern = sp + 48|0; - $zRep = sp + 44|0; - $zOut = sp + 40|0; - $nStr = sp + 36|0; - $nPattern = sp + 32|0; - $nRep = sp + 28|0; - $nOut = sp; - $loopLimit = sp + 24|0; - $i = sp + 20|0; - $j = sp + 16|0; - $zOld = sp + 12|0; - $db = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_text($4)|0); - HEAP32[$zStr>>2] = $5; - $6 = HEAP32[$zStr>>2]|0; - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return; - } - $8 = HEAP32[$2>>2]|0; - $9 = HEAP32[$8>>2]|0; - $10 = (_sqlite3_value_bytes($9)|0); - HEAP32[$nStr>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = ((($11)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (_sqlite3_value_text($13)|0); - HEAP32[$zPattern>>2] = $14; - $15 = HEAP32[$zPattern>>2]|0; - $16 = ($15|0)==(0|0); - if ($16) { - STACKTOP = sp;return; - } - $17 = HEAP32[$zPattern>>2]|0; - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($19|0)==(0); - if ($20) { - $21 = HEAP32[$0>>2]|0; - $22 = HEAP32[$2>>2]|0; - $23 = HEAP32[$22>>2]|0; - _sqlite3_result_value($21,$23); - STACKTOP = sp;return; - } - $24 = HEAP32[$2>>2]|0; - $25 = ((($24)) + 4|0); - $26 = HEAP32[$25>>2]|0; - $27 = (_sqlite3_value_bytes($26)|0); - HEAP32[$nPattern>>2] = $27; - $28 = HEAP32[$2>>2]|0; - $29 = ((($28)) + 8|0); - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_value_text($30)|0); - HEAP32[$zRep>>2] = $31; - $32 = HEAP32[$zRep>>2]|0; - $33 = ($32|0)==(0|0); - if ($33) { - STACKTOP = sp;return; + $167 = HEAP32[$2>>2]|0; + _computeJD($167); + $168 = HEAP32[$2>>2]|0; + $169 = $168; + $170 = $169; + $171 = HEAP32[$170>>2]|0; + $172 = (($169) + 4)|0; + $173 = $172; + $174 = HEAP32[$173>>2]|0; + $175 = (_i64Add(($171|0),($174|0),129600000,0)|0); + $176 = tempRet0; + $177 = (___divdi3(($175|0),($176|0),86400000,0)|0); + $178 = tempRet0; + $179 = (___remdi3(($177|0),($178|0),7,0)|0); + $180 = tempRet0; + $181 = $Z; + $182 = $181; + HEAP32[$182>>2] = $179; + $183 = (($181) + 4)|0; + $184 = $183; + HEAP32[$184>>2] = $180; + $185 = $Z; + $186 = $185; + $187 = HEAP32[$186>>2]|0; + $188 = (($185) + 4)|0; + $189 = $188; + $190 = HEAP32[$189>>2]|0; + $191 = HEAP32[$n>>2]|0; + $192 = ($191|0)<(0); + $193 = $192 << 31 >> 31; + $194 = ($190|0)>($193|0); + $195 = ($187>>>0)>($191>>>0); + $196 = ($190|0)==($193|0); + $197 = $196 & $195; + $198 = $194 | $197; + if ($198) { + $199 = $Z; + $200 = $199; + $201 = HEAP32[$200>>2]|0; + $202 = (($199) + 4)|0; + $203 = $202; + $204 = HEAP32[$203>>2]|0; + $205 = (_i64Subtract(($201|0),($204|0),7,0)|0); + $206 = tempRet0; + $207 = $Z; + $208 = $207; + HEAP32[$208>>2] = $205; + $209 = (($207) + 4)|0; + $210 = $209; + HEAP32[$210>>2] = $206; + } + $211 = HEAP32[$n>>2]|0; + $212 = ($211|0)<(0); + $213 = $212 << 31 >> 31; + $214 = $Z; + $215 = $214; + $216 = HEAP32[$215>>2]|0; + $217 = (($214) + 4)|0; + $218 = $217; + $219 = HEAP32[$218>>2]|0; + $220 = (_i64Subtract(($211|0),($213|0),($216|0),($219|0))|0); + $221 = tempRet0; + $222 = (___muldi3(($220|0),($221|0),86400000,0)|0); + $223 = tempRet0; + $224 = HEAP32[$2>>2]|0; + $225 = $224; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = (($225) + 4)|0; + $229 = $228; + $230 = HEAP32[$229>>2]|0; + $231 = (_i64Add(($227|0),($230|0),($222|0),($223|0))|0); + $232 = tempRet0; + $233 = $224; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $237 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($237); + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + break; } - $34 = HEAP32[$2>>2]|0; - $35 = ((($34)) + 8|0); - $36 = HEAP32[$35>>2]|0; - $37 = (_sqlite3_value_bytes($36)|0); - HEAP32[$nRep>>2] = $37; - $38 = HEAP32[$nStr>>2]|0; - $39 = (($38) + 1)|0; - $40 = ($39|0)<(0); - $41 = $40 << 31 >> 31; - $42 = $nOut; - $43 = $42; - HEAP32[$43>>2] = $39; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = HEAP32[$0>>2]|0; - $47 = $nOut; - $48 = $47; - $49 = HEAP32[$48>>2]|0; - $50 = (($47) + 4)|0; - $51 = $50; - $52 = HEAP32[$51>>2]|0; - $53 = (_contextMalloc($46,$49,$52)|0); - HEAP32[$zOut>>2] = $53; - $54 = HEAP32[$zOut>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - STACKTOP = sp;return; + case 115: { + $238 = HEAP32[$z>>2]|0; + $239 = (_strncmp($238,46451,9)|0); + $240 = ($239|0)!=(0); + if ($240) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $241 = HEAP32[$z>>2]|0; + $242 = ((($241)) + 9|0); + HEAP32[$z>>2] = $242; + $243 = HEAP32[$2>>2]|0; + _computeYMD($243); + $244 = HEAP32[$2>>2]|0; + $245 = ((($244)) + 41|0); + HEAP8[$245>>0] = 1; + $246 = HEAP32[$2>>2]|0; + $247 = ((($246)) + 24|0); + HEAP32[$247>>2] = 0; + $248 = HEAP32[$2>>2]|0; + $249 = ((($248)) + 20|0); + HEAP32[$249>>2] = 0; + $250 = HEAP32[$2>>2]|0; + $251 = ((($250)) + 32|0); + HEAPF64[$251>>3] = 0.0; + $252 = HEAP32[$2>>2]|0; + $253 = ((($252)) + 43|0); + HEAP8[$253>>0] = 0; + $254 = HEAP32[$2>>2]|0; + $255 = ((($254)) + 42|0); + HEAP8[$255>>0] = 0; + $256 = HEAP32[$z>>2]|0; + $257 = (_strcmp($256,46461)|0); + $258 = ($257|0)==(0); + if ($258) { + $259 = HEAP32[$2>>2]|0; + $260 = ((($259)) + 16|0); + HEAP32[$260>>2] = 1; + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $261 = HEAP32[$z>>2]|0; + $262 = (_strcmp($261,46467)|0); + $263 = ($262|0)==(0); + if ($263) { + $264 = HEAP32[$2>>2]|0; + _computeYMD($264); + $265 = HEAP32[$2>>2]|0; + $266 = ((($265)) + 12|0); + HEAP32[$266>>2] = 1; + $267 = HEAP32[$2>>2]|0; + $268 = ((($267)) + 16|0); + HEAP32[$268>>2] = 1; + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $269 = HEAP32[$z>>2]|0; + $270 = (_strcmp($269,46472)|0); + $271 = ($270|0)==(0); + if (!($271)) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + break; } - $56 = HEAP32[$nStr>>2]|0; - $57 = HEAP32[$nPattern>>2]|0; - $58 = (($56) - ($57))|0; - HEAP32[$loopLimit>>2] = $58; - HEAP32[$j>>2] = 0; - HEAP32[$i>>2] = 0; - while(1) { - $59 = HEAP32[$i>>2]|0; - $60 = HEAP32[$loopLimit>>2]|0; - $61 = ($59|0)<=($60|0); - if (!($61)) { - label = 18; - break; + case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48: case 45: case 43: { + HEAP32[$n>>2] = 1; + while(1) { + $272 = HEAP32[$n>>2]|0; + $273 = HEAP32[$z>>2]|0; + $274 = (($273) + ($272)|0); + $275 = HEAP8[$274>>0]|0; + $276 = $275 << 24 >> 24; + $277 = ($276|0)!=(0); + if (!($277)) { + break; + } + $278 = HEAP32[$n>>2]|0; + $279 = HEAP32[$z>>2]|0; + $280 = (($279) + ($278)|0); + $281 = HEAP8[$280>>0]|0; + $282 = $281 << 24 >> 24; + $283 = ($282|0)!=(58); + if (!($283)) { + break; + } + $284 = HEAP32[$n>>2]|0; + $285 = HEAP32[$z>>2]|0; + $286 = (($285) + ($284)|0); + $287 = HEAP8[$286>>0]|0; + $288 = $287&255; + $289 = (19011 + ($288)|0); + $290 = HEAP8[$289>>0]|0; + $291 = $290&255; + $292 = $291 & 1; + $293 = ($292|0)!=(0); + $294 = $293 ^ 1; + if (!($294)) { + break; + } + $295 = HEAP32[$n>>2]|0; + $296 = (($295) + 1)|0; + HEAP32[$n>>2] = $296; } - $62 = HEAP32[$i>>2]|0; - $63 = HEAP32[$zStr>>2]|0; - $64 = (($63) + ($62)|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = HEAP32[$zPattern>>2]|0; - $68 = HEAP8[$67>>0]|0; - $69 = $68&255; - $70 = ($66|0)!=($69|0); - if ($70) { - label = 11; - } else { - $71 = HEAP32[$i>>2]|0; - $72 = HEAP32[$zStr>>2]|0; - $73 = (($72) + ($71)|0); - $74 = HEAP32[$zPattern>>2]|0; - $75 = HEAP32[$nPattern>>2]|0; - $76 = (_memcmp($73,$74,$75)|0); - $77 = ($76|0)!=(0); - if ($77) { - label = 11; + $297 = HEAP32[$z>>2]|0; + $298 = HEAP32[$n>>2]|0; + $299 = (_sqlite3AtoF($297,$r,$298,1)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$rc>>2] = 1; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $301 = HEAP32[$n>>2]|0; + $302 = HEAP32[$z>>2]|0; + $303 = (($302) + ($301)|0); + $304 = HEAP8[$303>>0]|0; + $305 = $304 << 24 >> 24; + $306 = ($305|0)==(58); + if ($306) { + $307 = HEAP32[$z>>2]|0; + HEAP32[$z2>>2] = $307; + $308 = HEAP32[$z2>>2]|0; + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (19011 + ($310)|0); + $312 = HEAP8[$311>>0]|0; + $313 = $312&255; + $314 = $313 & 4; + $315 = ($314|0)!=(0); + if (!($315)) { + $316 = HEAP32[$z2>>2]|0; + $317 = ((($316)) + 1|0); + HEAP32[$z2>>2] = $317; + } + dest=$tx; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $318 = HEAP32[$z2>>2]|0; + $319 = (_parseHhMmSs($318,$tx)|0); + $320 = ($319|0)!=(0); + if ($320) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + _computeJD($tx); + $321 = $tx; + $322 = $321; + $323 = HEAP32[$322>>2]|0; + $324 = (($321) + 4)|0; + $325 = $324; + $326 = HEAP32[$325>>2]|0; + $327 = (_i64Subtract(($323|0),($326|0),43200000,0)|0); + $328 = tempRet0; + $329 = $tx; + $330 = $329; + HEAP32[$330>>2] = $327; + $331 = (($329) + 4)|0; + $332 = $331; + HEAP32[$332>>2] = $328; + $333 = $tx; + $334 = $333; + $335 = HEAP32[$334>>2]|0; + $336 = (($333) + 4)|0; + $337 = $336; + $338 = HEAP32[$337>>2]|0; + $339 = (___divdi3(($335|0),($338|0),86400000,0)|0); + $340 = tempRet0; + $341 = $day; + $342 = $341; + HEAP32[$342>>2] = $339; + $343 = (($341) + 4)|0; + $344 = $343; + HEAP32[$344>>2] = $340; + $345 = $day; + $346 = $345; + $347 = HEAP32[$346>>2]|0; + $348 = (($345) + 4)|0; + $349 = $348; + $350 = HEAP32[$349>>2]|0; + $351 = (___muldi3(($347|0),($350|0),86400000,0)|0); + $352 = tempRet0; + $353 = $tx; + $354 = $353; + $355 = HEAP32[$354>>2]|0; + $356 = (($353) + 4)|0; + $357 = $356; + $358 = HEAP32[$357>>2]|0; + $359 = (_i64Subtract(($355|0),($358|0),($351|0),($352|0))|0); + $360 = tempRet0; + $361 = $tx; + $362 = $361; + HEAP32[$362>>2] = $359; + $363 = (($361) + 4)|0; + $364 = $363; + HEAP32[$364>>2] = $360; + $365 = HEAP32[$z>>2]|0; + $366 = HEAP8[$365>>0]|0; + $367 = $366 << 24 >> 24; + $368 = ($367|0)==(45); + if ($368) { + $369 = $tx; + $370 = $369; + $371 = HEAP32[$370>>2]|0; + $372 = (($369) + 4)|0; + $373 = $372; + $374 = HEAP32[$373>>2]|0; + $375 = (_i64Subtract(0,0,($371|0),($374|0))|0); + $376 = tempRet0; + $377 = $tx; + $378 = $377; + HEAP32[$378>>2] = $375; + $379 = (($377) + 4)|0; + $380 = $379; + HEAP32[$380>>2] = $376; + } + $381 = HEAP32[$2>>2]|0; + _computeJD($381); + $382 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($382); + $383 = $tx; + $384 = $383; + $385 = HEAP32[$384>>2]|0; + $386 = (($383) + 4)|0; + $387 = $386; + $388 = HEAP32[$387>>2]|0; + $389 = HEAP32[$2>>2]|0; + $390 = $389; + $391 = $390; + $392 = HEAP32[$391>>2]|0; + $393 = (($390) + 4)|0; + $394 = $393; + $395 = HEAP32[$394>>2]|0; + $396 = (_i64Add(($392|0),($395|0),($385|0),($388|0))|0); + $397 = tempRet0; + $398 = $389; + $399 = $398; + HEAP32[$399>>2] = $396; + $400 = (($398) + 4)|0; + $401 = $400; + HEAP32[$401>>2] = $397; + HEAP32[$rc>>2] = 0; + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $402 = HEAP32[$n>>2]|0; + $403 = HEAP32[$z>>2]|0; + $404 = (($403) + ($402)|0); + HEAP32[$z>>2] = $404; + while(1) { + $405 = HEAP32[$z>>2]|0; + $406 = HEAP8[$405>>0]|0; + $407 = $406&255; + $408 = (19011 + ($407)|0); + $409 = HEAP8[$408>>0]|0; + $410 = $409&255; + $411 = $410 & 1; + $412 = ($411|0)!=(0); + $413 = HEAP32[$z>>2]|0; + if (!($412)) { + break; + } + $414 = ((($413)) + 1|0); + HEAP32[$z>>2] = $414; + } + $415 = (_sqlite3Strlen30($413)|0); + HEAP32[$n>>2] = $415; + $416 = HEAP32[$n>>2]|0; + $417 = ($416|0)>(10); + $418 = HEAP32[$n>>2]|0; + $419 = ($418|0)<(3); + $or$cond6 = $417 | $419; + if ($or$cond6) { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + } + $420 = HEAP32[$n>>2]|0; + $421 = (($420) - 1)|0; + $422 = HEAP32[$z>>2]|0; + $423 = (($422) + ($421)|0); + $424 = HEAP8[$423>>0]|0; + $425 = $424 << 24 >> 24; + $426 = ($425|0)==(115); + if ($426) { + $427 = HEAP32[$n>>2]|0; + $428 = (($427) - 1)|0; + $429 = HEAP32[$z>>2]|0; + $430 = (($429) + ($428)|0); + HEAP8[$430>>0] = 0; + $431 = HEAP32[$n>>2]|0; + $432 = (($431) + -1)|0; + HEAP32[$n>>2] = $432; + } + $433 = HEAP32[$2>>2]|0; + _computeJD($433); + HEAP32[$rc>>2] = 0; + $434 = +HEAPF64[$r>>3]; + $435 = $434 < 0.0; + $436 = $435 ? -0.5 : 0.5; + HEAPF64[$rRounder>>3] = $436; + $437 = HEAP32[$n>>2]|0; + $438 = ($437|0)==(3); + if ($438) { + $439 = HEAP32[$z>>2]|0; + $440 = (_strcmp($439,46472)|0); + $441 = ($440|0)==(0); + if ($441) { + $442 = +HEAPF64[$r>>3]; + $443 = $442 * 8.64E+7; + $444 = +HEAPF64[$rRounder>>3]; + $445 = $443 + $444; + $446 = (~~$445)>>>0; + $447 = +Math_abs($445) >= 1.0 ? $445 > 0.0 ? (~~+Math_min(+Math_floor($445 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($445 - +(~~$445 >>> 0)) / 4294967296.0) >>> 0 : 0; + $448 = HEAP32[$2>>2]|0; + $449 = $448; + $450 = $449; + $451 = HEAP32[$450>>2]|0; + $452 = (($449) + 4)|0; + $453 = $452; + $454 = HEAP32[$453>>2]|0; + $455 = (_i64Add(($451|0),($454|0),($446|0),($447|0))|0); + $456 = tempRet0; + $457 = $448; + $458 = $457; + HEAP32[$458>>2] = $455; + $459 = (($457) + 4)|0; + $460 = $459; + HEAP32[$460>>2] = $456; } else { - $86 = HEAP32[$0>>2]|0; - $87 = (_sqlite3_context_db_handle($86)|0); - HEAP32[$db>>2] = $87; - $88 = HEAP32[$nRep>>2]|0; - $89 = HEAP32[$nPattern>>2]|0; - $90 = (($88) - ($89))|0; - $91 = ($90|0)<(0); - $92 = $91 << 31 >> 31; - $93 = $nOut; - $94 = $93; - $95 = HEAP32[$94>>2]|0; - $96 = (($93) + 4)|0; - $97 = $96; - $98 = HEAP32[$97>>2]|0; - $99 = (_i64Add(($95|0),($98|0),($90|0),($92|0))|0); - $100 = tempRet0; - $101 = $nOut; - $102 = $101; - HEAP32[$102>>2] = $99; - $103 = (($101) + 4)|0; - $104 = $103; - HEAP32[$104>>2] = $100; - $105 = $nOut; - $106 = $105; - $107 = HEAP32[$106>>2]|0; - $108 = (($105) + 4)|0; - $109 = $108; - $110 = HEAP32[$109>>2]|0; - $111 = (_i64Subtract(($107|0),($110|0),1,0)|0); - $112 = tempRet0; - $113 = HEAP32[$db>>2]|0; - $114 = ((($113)) + 88|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)<(0); - $117 = $116 << 31 >> 31; - $118 = ($112|0)>($117|0); - $119 = ($111>>>0)>($115>>>0); - $120 = ($112|0)==($117|0); - $121 = $120 & $119; - $122 = $118 | $121; - if ($122) { - label = 13; - break; + label = 54; + } + } else { + label = 54; + } + do { + if ((label|0) == 54) { + $461 = HEAP32[$n>>2]|0; + $462 = ($461|0)==(4); + if ($462) { + $463 = HEAP32[$z>>2]|0; + $464 = (_strcmp($463,46476)|0); + $465 = ($464|0)==(0); + if ($465) { + $466 = +HEAPF64[$r>>3]; + $467 = $466 * 3.6E+6; + $468 = +HEAPF64[$rRounder>>3]; + $469 = $467 + $468; + $470 = (~~$469)>>>0; + $471 = +Math_abs($469) >= 1.0 ? $469 > 0.0 ? (~~+Math_min(+Math_floor($469 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($469 - +(~~$469 >>> 0)) / 4294967296.0) >>> 0 : 0; + $472 = HEAP32[$2>>2]|0; + $473 = $472; + $474 = $473; + $475 = HEAP32[$474>>2]|0; + $476 = (($473) + 4)|0; + $477 = $476; + $478 = HEAP32[$477>>2]|0; + $479 = (_i64Add(($475|0),($478|0),($470|0),($471|0))|0); + $480 = tempRet0; + $481 = $472; + $482 = $481; + HEAP32[$482>>2] = $479; + $483 = (($481) + 4)|0; + $484 = $483; + HEAP32[$484>>2] = $480; + break; + } } - $125 = HEAP32[$zOut>>2]|0; - HEAP32[$zOld>>2] = $125; - $126 = HEAP32[$zOut>>2]|0; - $127 = $nOut; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = ($129|0)<(0); - $134 = $133 << 31 >> 31; - $135 = (_sqlite3_realloc64($126,$129,$134)|0); - HEAP32[$zOut>>2] = $135; - $136 = HEAP32[$zOut>>2]|0; - $137 = ($136|0)==(0|0); - if ($137) { - label = 15; - break; + $485 = HEAP32[$n>>2]|0; + $486 = ($485|0)==(6); + if ($486) { + $487 = HEAP32[$z>>2]|0; + $488 = (_strcmp($487,46481)|0); + $489 = ($488|0)==(0); + if ($489) { + $490 = +HEAPF64[$r>>3]; + $491 = $490 * 6.0E+4; + $492 = +HEAPF64[$rRounder>>3]; + $493 = $491 + $492; + $494 = (~~$493)>>>0; + $495 = +Math_abs($493) >= 1.0 ? $493 > 0.0 ? (~~+Math_min(+Math_floor($493 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($493 - +(~~$493 >>> 0)) / 4294967296.0) >>> 0 : 0; + $496 = HEAP32[$2>>2]|0; + $497 = $496; + $498 = $497; + $499 = HEAP32[$498>>2]|0; + $500 = (($497) + 4)|0; + $501 = $500; + $502 = HEAP32[$501>>2]|0; + $503 = (_i64Add(($499|0),($502|0),($494|0),($495|0))|0); + $504 = tempRet0; + $505 = $496; + $506 = $505; + HEAP32[$506>>2] = $503; + $507 = (($505) + 4)|0; + $508 = $507; + HEAP32[$508>>2] = $504; + break; + } } - $140 = HEAP32[$j>>2]|0; - $141 = HEAP32[$zOut>>2]|0; - $142 = (($141) + ($140)|0); - $143 = HEAP32[$zRep>>2]|0; - $144 = HEAP32[$nRep>>2]|0; - _memcpy(($142|0),($143|0),($144|0))|0; - $145 = HEAP32[$nRep>>2]|0; - $146 = HEAP32[$j>>2]|0; - $147 = (($146) + ($145))|0; - HEAP32[$j>>2] = $147; - $148 = HEAP32[$nPattern>>2]|0; - $149 = (($148) - 1)|0; - $150 = HEAP32[$i>>2]|0; - $151 = (($150) + ($149))|0; - HEAP32[$i>>2] = $151; + $509 = HEAP32[$n>>2]|0; + $510 = ($509|0)==(6); + if ($510) { + $511 = HEAP32[$z>>2]|0; + $512 = (_strcmp($511,46488)|0); + $513 = ($512|0)==(0); + if ($513) { + $514 = +HEAPF64[$r>>3]; + $515 = $514 * 1000.0; + $516 = +HEAPF64[$rRounder>>3]; + $517 = $515 + $516; + $518 = (~~$517)>>>0; + $519 = +Math_abs($517) >= 1.0 ? $517 > 0.0 ? (~~+Math_min(+Math_floor($517 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($517 - +(~~$517 >>> 0)) / 4294967296.0) >>> 0 : 0; + $520 = HEAP32[$2>>2]|0; + $521 = $520; + $522 = $521; + $523 = HEAP32[$522>>2]|0; + $524 = (($521) + 4)|0; + $525 = $524; + $526 = HEAP32[$525>>2]|0; + $527 = (_i64Add(($523|0),($526|0),($518|0),($519|0))|0); + $528 = tempRet0; + $529 = $520; + $530 = $529; + HEAP32[$530>>2] = $527; + $531 = (($529) + 4)|0; + $532 = $531; + HEAP32[$532>>2] = $528; + break; + } + } + $533 = HEAP32[$n>>2]|0; + $534 = ($533|0)==(5); + if ($534) { + $535 = HEAP32[$z>>2]|0; + $536 = (_strcmp($535,46461)|0); + $537 = ($536|0)==(0); + if ($537) { + $538 = HEAP32[$2>>2]|0; + _computeYMD_HMS($538); + $539 = +HEAPF64[$r>>3]; + $540 = (~~(($539))); + $541 = HEAP32[$2>>2]|0; + $542 = ((($541)) + 12|0); + $543 = HEAP32[$542>>2]|0; + $544 = (($543) + ($540))|0; + HEAP32[$542>>2] = $544; + $545 = HEAP32[$2>>2]|0; + $546 = ((($545)) + 12|0); + $547 = HEAP32[$546>>2]|0; + $548 = ($547|0)>(0); + $549 = HEAP32[$2>>2]|0; + $550 = ((($549)) + 12|0); + $551 = HEAP32[$550>>2]|0; + $552 = (($551) - 1)|0; + $553 = (($551) - 12)|0; + $$sink = $548 ? $552 : $553; + $554 = (($$sink|0) / 12)&-1; + HEAP32[$x>>2] = $554; + $555 = HEAP32[$x>>2]|0; + $556 = HEAP32[$2>>2]|0; + $557 = ((($556)) + 8|0); + $558 = HEAP32[$557>>2]|0; + $559 = (($558) + ($555))|0; + HEAP32[$557>>2] = $559; + $560 = HEAP32[$x>>2]|0; + $561 = ($560*12)|0; + $562 = HEAP32[$2>>2]|0; + $563 = ((($562)) + 12|0); + $564 = HEAP32[$563>>2]|0; + $565 = (($564) - ($561))|0; + HEAP32[$563>>2] = $565; + $566 = HEAP32[$2>>2]|0; + $567 = ((($566)) + 42|0); + HEAP8[$567>>0] = 0; + $568 = HEAP32[$2>>2]|0; + _computeJD($568); + $569 = +HEAPF64[$r>>3]; + $570 = (~~(($569))); + HEAP32[$y>>2] = $570; + $571 = HEAP32[$y>>2]|0; + $572 = (+($571|0)); + $573 = +HEAPF64[$r>>3]; + $574 = $572 != $573; + if (!($574)) { + break; + } + $575 = +HEAPF64[$r>>3]; + $576 = HEAP32[$y>>2]|0; + $577 = (+($576|0)); + $578 = $575 - $577; + $579 = $578 * 30.0; + $580 = $579 * 8.64E+7; + $581 = +HEAPF64[$rRounder>>3]; + $582 = $580 + $581; + $583 = (~~$582)>>>0; + $584 = +Math_abs($582) >= 1.0 ? $582 > 0.0 ? (~~+Math_min(+Math_floor($582 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($582 - +(~~$582 >>> 0)) / 4294967296.0) >>> 0 : 0; + $585 = HEAP32[$2>>2]|0; + $586 = $585; + $587 = $586; + $588 = HEAP32[$587>>2]|0; + $589 = (($586) + 4)|0; + $590 = $589; + $591 = HEAP32[$590>>2]|0; + $592 = (_i64Add(($588|0),($591|0),($583|0),($584|0))|0); + $593 = tempRet0; + $594 = $585; + $595 = $594; + HEAP32[$595>>2] = $592; + $596 = (($594) + 4)|0; + $597 = $596; + HEAP32[$597>>2] = $593; + break; + } + } + $598 = HEAP32[$n>>2]|0; + $599 = ($598|0)==(4); + if ($599) { + $600 = HEAP32[$z>>2]|0; + $601 = (_strcmp($600,46467)|0); + $602 = ($601|0)==(0); + if ($602) { + $603 = +HEAPF64[$r>>3]; + $604 = (~~(($603))); + HEAP32[$y1>>2] = $604; + $605 = HEAP32[$2>>2]|0; + _computeYMD_HMS($605); + $606 = HEAP32[$y1>>2]|0; + $607 = HEAP32[$2>>2]|0; + $608 = ((($607)) + 8|0); + $609 = HEAP32[$608>>2]|0; + $610 = (($609) + ($606))|0; + HEAP32[$608>>2] = $610; + $611 = HEAP32[$2>>2]|0; + $612 = ((($611)) + 42|0); + HEAP8[$612>>0] = 0; + $613 = HEAP32[$2>>2]|0; + _computeJD($613); + $614 = HEAP32[$y1>>2]|0; + $615 = (+($614|0)); + $616 = +HEAPF64[$r>>3]; + $617 = $615 != $616; + if (!($617)) { + break; + } + $618 = +HEAPF64[$r>>3]; + $619 = HEAP32[$y1>>2]|0; + $620 = (+($619|0)); + $621 = $618 - $620; + $622 = $621 * 365.0; + $623 = $622 * 8.64E+7; + $624 = +HEAPF64[$rRounder>>3]; + $625 = $623 + $624; + $626 = (~~$625)>>>0; + $627 = +Math_abs($625) >= 1.0 ? $625 > 0.0 ? (~~+Math_min(+Math_floor($625 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($625 - +(~~$625 >>> 0)) / 4294967296.0) >>> 0 : 0; + $628 = HEAP32[$2>>2]|0; + $629 = $628; + $630 = $629; + $631 = HEAP32[$630>>2]|0; + $632 = (($629) + 4)|0; + $633 = $632; + $634 = HEAP32[$633>>2]|0; + $635 = (_i64Add(($631|0),($634|0),($626|0),($627|0))|0); + $636 = tempRet0; + $637 = $628; + $638 = $637; + HEAP32[$638>>2] = $635; + $639 = (($637) + 4)|0; + $640 = $639; + HEAP32[$640>>2] = $636; + break; + } + } + HEAP32[$rc>>2] = 1; } - } - if ((label|0) == 11) { - label = 0; - $78 = HEAP32[$i>>2]|0; - $79 = HEAP32[$zStr>>2]|0; - $80 = (($79) + ($78)|0); - $81 = HEAP8[$80>>0]|0; - $82 = HEAP32[$j>>2]|0; - $83 = (($82) + 1)|0; - HEAP32[$j>>2] = $83; - $84 = HEAP32[$zOut>>2]|0; - $85 = (($84) + ($82)|0); - HEAP8[$85>>0] = $81; - } - $152 = HEAP32[$i>>2]|0; - $153 = (($152) + 1)|0; - HEAP32[$i>>2] = $153; - } - if ((label|0) == 13) { - $123 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($123); - $124 = HEAP32[$zOut>>2]|0; - _sqlite3_free($124); - STACKTOP = sp;return; - } - else if ((label|0) == 15) { - $138 = HEAP32[$0>>2]|0; - _sqlite3_result_error_nomem($138); - $139 = HEAP32[$zOld>>2]|0; - _sqlite3_free($139); - STACKTOP = sp;return; + } while(0); + $641 = HEAP32[$2>>2]|0; + _clearYMD_HMS_TZ($641); + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); + break; } - else if ((label|0) == 18) { - $154 = HEAP32[$j>>2]|0; - $155 = HEAP32[$zOut>>2]|0; - $156 = (($155) + ($154)|0); - $157 = HEAP32[$i>>2]|0; - $158 = HEAP32[$zStr>>2]|0; - $159 = (($158) + ($157)|0); - $160 = HEAP32[$nStr>>2]|0; - $161 = HEAP32[$i>>2]|0; - $162 = (($160) - ($161))|0; - _memcpy(($156|0),($159|0),($162|0))|0; - $163 = HEAP32[$nStr>>2]|0; - $164 = HEAP32[$i>>2]|0; - $165 = (($163) - ($164))|0; - $166 = HEAP32[$j>>2]|0; - $167 = (($166) + ($165))|0; - HEAP32[$j>>2] = $167; - $168 = HEAP32[$j>>2]|0; - $169 = HEAP32[$zOut>>2]|0; - $170 = (($169) + ($168)|0); - HEAP8[$170>>0] = 0; - $171 = HEAP32[$0>>2]|0; - $172 = HEAP32[$zOut>>2]|0; - $173 = HEAP32[$j>>2]|0; - _sqlite3_result_text($171,$172,$173,148); - STACKTOP = sp;return; + default: { + $642 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($642|0); } -} -function _zeroblobFunc($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $n = 0, $rc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 20|0; - $1 = sp + 16|0; - $2 = sp + 12|0; - $n = sp; - $rc = sp + 8|0; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$2>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_int64($4)|0); - $6 = tempRet0; - $7 = $n; - $8 = $7; - HEAP32[$8>>2] = $5; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = $n; - $12 = $11; - $13 = HEAP32[$12>>2]|0; - $14 = (($11) + 4)|0; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)<(0); - $18 = $17 ? 0 : $5; - $19 = $17 ? 0 : $6; - $20 = $n; - $21 = $20; - HEAP32[$21>>2] = $18; - $22 = (($20) + 4)|0; - $23 = $22; - HEAP32[$23>>2] = $19; - $24 = HEAP32[$0>>2]|0; - $25 = $n; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = (_sqlite3_result_zeroblob64($24,$27,$30)|0); - HEAP32[$rc>>2] = $31; - $32 = HEAP32[$rc>>2]|0; - $33 = ($32|0)!=(0); - if (!($33)) { - STACKTOP = sp;return; } - $34 = HEAP32[$0>>2]|0; - $35 = HEAP32[$rc>>2]|0; - _sqlite3_result_error_code($34,$35); - STACKTOP = sp;return; + return (0)|0; } -function _sumStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0; - var $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; - var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, $type = 0, $v = 0, label = 0, sp = 0; +function _localtimeOffset($p,$pCtx,$pRc) { + $p = $p|0; + $pCtx = $pCtx|0; + $pRc = $pRc|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $s = 0, $sLocal = 0, $t = 0, $x = 0, $y = 0, dest = 0, label = 0; + var sp = 0, src = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $0 = sp + 24|0; - $1 = sp + 20|0; - $2 = sp + 16|0; - $p = sp + 12|0; - $type = sp + 8|0; - $v = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_aggregate_context($3,32)|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$2>>2]|0; + STACKTOP = STACKTOP + 176|0; + $0 = sp + 96|0; + $1 = sp + 164|0; + $2 = sp + 160|0; + $3 = sp + 156|0; + $x = sp + 48|0; + $y = sp; + $t = sp + 152|0; + $sLocal = sp + 108|0; + $s = sp + 104|0; + HEAP32[$1>>2] = $p; + HEAP32[$2>>2] = $pCtx; + HEAP32[$3>>2] = $pRc; + dest=$sLocal; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = HEAP32[$1>>2]|0; + dest=$x; src=$4; stop=dest+48|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _computeYMD_HMS($x); + $5 = ((($x)) + 8|0); $6 = HEAP32[$5>>2]|0; - $7 = (_sqlite3_value_numeric_type($6)|0); - HEAP32[$type>>2] = $7; - $8 = HEAP32[$p>>2]|0; - $9 = ($8|0)!=(0|0); - $10 = HEAP32[$type>>2]|0; - $11 = ($10|0)!=(5); - $or$cond = $9 & $11; - if (!($or$cond)) { - STACKTOP = sp;return; - } - $12 = HEAP32[$p>>2]|0; - $13 = ((($12)) + 16|0); - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - $22 = $13; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - $26 = HEAP32[$type>>2]|0; - $27 = ($26|0)==(1); - $28 = HEAP32[$2>>2]|0; - $29 = HEAP32[$28>>2]|0; - if (!($27)) { - $68 = (+_sqlite3_value_double($29)); - $69 = HEAP32[$p>>2]|0; - $70 = +HEAPF64[$69>>3]; - $71 = $70 + $68; - HEAPF64[$69>>3] = $71; - $72 = HEAP32[$p>>2]|0; - $73 = ((($72)) + 25|0); - HEAP8[$73>>0] = 1; - STACKTOP = sp;return; + $7 = ($6|0)<(1971); + if ($7) { + label = 3; + } else { + $8 = ((($x)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>=(2038); + if ($10) { + label = 3; + } else { + $17 = ((($x)) + 32|0); + $18 = +HEAPF64[$17>>3]; + $19 = $18 + 0.5; + $20 = (~~(($19))); + HEAP32[$s>>2] = $20; + $21 = HEAP32[$s>>2]|0; + $22 = (+($21|0)); + $23 = ((($x)) + 32|0); + HEAPF64[$23>>3] = $22; + } } - $30 = (_sqlite3_value_int64($29)|0); - $31 = tempRet0; - $32 = $v; - $33 = $32; - HEAP32[$33>>2] = $30; - $34 = (($32) + 4)|0; - $35 = $34; - HEAP32[$35>>2] = $31; - $36 = $v; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (+($38>>>0)) + (4294967296.0*(+($41|0))); - $43 = HEAP32[$p>>2]|0; - $44 = +HEAPF64[$43>>3]; - $45 = $44 + $42; - HEAPF64[$43>>3] = $45; - $46 = HEAP32[$p>>2]|0; - $47 = ((($46)) + 25|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48&255; - $50 = HEAP32[$p>>2]|0; - $51 = ((($50)) + 24|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $49 | $53; - $55 = ($54|0)==(0); - if (!($55)) { - STACKTOP = sp;return; + if ((label|0) == 3) { + $11 = ((($x)) + 8|0); + HEAP32[$11>>2] = 2000; + $12 = ((($x)) + 12|0); + HEAP32[$12>>2] = 1; + $13 = ((($x)) + 16|0); + HEAP32[$13>>2] = 1; + $14 = ((($x)) + 20|0); + HEAP32[$14>>2] = 0; + $15 = ((($x)) + 24|0); + HEAP32[$15>>2] = 0; + $16 = ((($x)) + 32|0); + HEAPF64[$16>>3] = 0.0; } - $56 = HEAP32[$p>>2]|0; - $57 = ((($56)) + 8|0); - $58 = $v; - $59 = $58; - $60 = HEAP32[$59>>2]|0; - $61 = (($58) + 4)|0; - $62 = $61; - $63 = HEAP32[$62>>2]|0; - $64 = (_sqlite3AddInt64($57,$60,$63)|0); - $65 = ($64|0)!=(0); - if (!($65)) { - STACKTOP = sp;return; + $24 = ((($x)) + 28|0); + HEAP32[$24>>2] = 0; + $25 = ((($x)) + 42|0); + HEAP8[$25>>0] = 0; + _computeJD($x); + $26 = $x; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = (($26) + 4)|0; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (___divdi3(($28|0),($31|0),1000,0)|0); + $33 = tempRet0; + $34 = (_i64Subtract(($32|0),($33|0),413362496,49)|0); + $35 = tempRet0; + HEAP32[$t>>2] = $34; + $36 = (_osLocaltime($t,$sLocal)|0); + $37 = ($36|0)!=(0); + if ($37) { + $38 = HEAP32[$2>>2]|0; + _sqlite3_result_error($38,46515,-1); + $39 = HEAP32[$3>>2]|0; + HEAP32[$39>>2] = 1; + $40 = $0; + $41 = $40; + HEAP32[$41>>2] = 0; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = 0; + $87 = $0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + tempRet0 = ($92); + STACKTOP = sp;return ($89|0); + } else { + $44 = ((($sLocal)) + 20|0); + $45 = HEAP32[$44>>2]|0; + $46 = (($45) + 1900)|0; + $47 = ((($y)) + 8|0); + HEAP32[$47>>2] = $46; + $48 = ((($sLocal)) + 16|0); + $49 = HEAP32[$48>>2]|0; + $50 = (($49) + 1)|0; + $51 = ((($y)) + 12|0); + HEAP32[$51>>2] = $50; + $52 = ((($sLocal)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ((($y)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = ((($sLocal)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ((($y)) + 20|0); + HEAP32[$57>>2] = $56; + $58 = ((($sLocal)) + 4|0); + $59 = HEAP32[$58>>2]|0; + $60 = ((($y)) + 24|0); + HEAP32[$60>>2] = $59; + $61 = HEAP32[$sLocal>>2]|0; + $62 = (+($61|0)); + $63 = ((($y)) + 32|0); + HEAPF64[$63>>3] = $62; + $64 = ((($y)) + 40|0); + HEAP8[$64>>0] = 1; + $65 = ((($y)) + 41|0); + HEAP8[$65>>0] = 1; + $66 = ((($y)) + 42|0); + HEAP8[$66>>0] = 0; + $67 = ((($y)) + 43|0); + HEAP8[$67>>0] = 0; + _computeJD($y); + $68 = HEAP32[$3>>2]|0; + HEAP32[$68>>2] = 0; + $69 = $y; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = (($69) + 4)|0; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = $x; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = (_i64Subtract(($71|0),($74|0),($77|0),($80|0))|0); + $82 = tempRet0; + $83 = $0; + $84 = $83; + HEAP32[$84>>2] = $81; + $85 = (($83) + 4)|0; + $86 = $85; + HEAP32[$86>>2] = $82; + $87 = $0; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + tempRet0 = ($92); + STACKTOP = sp;return ($89|0); } - $66 = HEAP32[$p>>2]|0; - $67 = ((($66)) + 24|0); - HEAP8[$67>>0] = 1; - STACKTOP = sp;return; + return (0)|0; } -function _sumFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _clearYMD_HMS_TZ($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; + $0 = sp; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(0); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if (!($17)) { - STACKTOP = sp;return; + $2 = ((($1)) + 40|0); + HEAP8[$2>>0] = 0; + $3 = HEAP32[$0>>2]|0; + $4 = ((($3)) + 41|0); + HEAP8[$4>>0] = 0; + $5 = HEAP32[$0>>2]|0; + $6 = ((($5)) + 43|0); + HEAP8[$6>>0] = 0; + STACKTOP = sp;return; +} +function _parseHhMmSs($zDate,$p) { + $zDate = $zDate|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $h = 0, $m = 0, $ms = 0, $rScale = 0, $s = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer2 = sp + 24|0; + $vararg_buffer = sp + 16|0; + $0 = sp + 48|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + $h = sp + 36|0; + $m = sp + 32|0; + $s = sp + 28|0; + $ms = sp + 8|0; + $rScale = sp; + HEAP32[$1>>2] = $zDate; + HEAP32[$2>>2] = $p; + HEAPF64[$ms>>3] = 0.0; + $3 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $h; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $m; + $4 = (_getDigits($3,46495,$vararg_buffer)|0); + $5 = ($4|0)!=(2); + if ($5) { + HEAP32[$0>>2] = 1; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); } - $18 = HEAP32[$p>>2]|0; - $19 = ((($18)) + 24|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)!=(0); - if ($21) { - $22 = HEAP32[$0>>2]|0; - _sqlite3_result_error($22,46986,-1); - STACKTOP = sp;return; + $6 = HEAP32[$1>>2]|0; + $7 = ((($6)) + 5|0); + HEAP32[$1>>2] = $7; + $8 = HEAP32[$1>>2]|0; + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = ($10|0)==(58); + if ($11) { + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 1|0); + HEAP32[$1>>2] = $13; + $14 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer2>>2] = $s; + $15 = (_getDigits($14,46503,$vararg_buffer2)|0); + $16 = ($15|0)!=(1); + if ($16) { + HEAP32[$0>>2] = 1; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = ((($17)) + 2|0); + HEAP32[$1>>2] = $18; + $19 = HEAP32[$1>>2]|0; + $20 = HEAP8[$19>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($21|0)==(46); + if ($22) { + $23 = HEAP32[$1>>2]|0; + $24 = ((($23)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = $25&255; + $27 = (19011 + ($26)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 & 4; + $31 = ($30|0)!=(0); + if ($31) { + HEAPF64[$rScale>>3] = 1.0; + $32 = HEAP32[$1>>2]|0; + $33 = ((($32)) + 1|0); + HEAP32[$1>>2] = $33; + while(1) { + $34 = HEAP32[$1>>2]|0; + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = (19011 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38&255; + $40 = $39 & 4; + $41 = ($40|0)!=(0); + if (!($41)) { + break; + } + $42 = +HEAPF64[$ms>>3]; + $43 = $42 * 10.0; + $44 = HEAP32[$1>>2]|0; + $45 = HEAP8[$44>>0]|0; + $46 = $45 << 24 >> 24; + $47 = (+($46|0)); + $48 = $43 + $47; + $49 = $48 - 48.0; + HEAPF64[$ms>>3] = $49; + $50 = +HEAPF64[$rScale>>3]; + $51 = $50 * 10.0; + HEAPF64[$rScale>>3] = $51; + $52 = HEAP32[$1>>2]|0; + $53 = ((($52)) + 1|0); + HEAP32[$1>>2] = $53; + } + $54 = +HEAPF64[$rScale>>3]; + $55 = +HEAPF64[$ms>>3]; + $56 = $55 / $54; + HEAPF64[$ms>>3] = $56; + } + } + } else { + HEAP32[$s>>2] = 0; } - $23 = HEAP32[$p>>2]|0; - $24 = ((($23)) + 25|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)!=(0); - $27 = HEAP32[$0>>2]|0; - $28 = HEAP32[$p>>2]|0; - if ($26) { - $29 = +HEAPF64[$28>>3]; - _sqlite3_result_double($27,$29); - STACKTOP = sp;return; + $57 = HEAP32[$2>>2]|0; + $58 = ((($57)) + 42|0); + HEAP8[$58>>0] = 0; + $59 = HEAP32[$2>>2]|0; + $60 = ((($59)) + 41|0); + HEAP8[$60>>0] = 1; + $61 = HEAP32[$h>>2]|0; + $62 = HEAP32[$2>>2]|0; + $63 = ((($62)) + 20|0); + HEAP32[$63>>2] = $61; + $64 = HEAP32[$m>>2]|0; + $65 = HEAP32[$2>>2]|0; + $66 = ((($65)) + 24|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$s>>2]|0; + $68 = (+($67|0)); + $69 = +HEAPF64[$ms>>3]; + $70 = $68 + $69; + $71 = HEAP32[$2>>2]|0; + $72 = ((($71)) + 32|0); + HEAPF64[$72>>3] = $70; + $73 = HEAP32[$1>>2]|0; + $74 = HEAP32[$2>>2]|0; + $75 = (_parseTimezone($73,$74)|0); + $76 = ($75|0)!=(0); + if ($76) { + HEAP32[$0>>2] = 1; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); } else { - $30 = ((($28)) + 8|0); - $31 = $30; - $32 = $31; - $33 = HEAP32[$32>>2]|0; - $34 = (($31) + 4)|0; - $35 = $34; - $36 = HEAP32[$35>>2]|0; - _sqlite3_result_int64($27,$33,$36); - STACKTOP = sp;return; + $77 = HEAP32[$2>>2]|0; + $78 = ((($77)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)!=(0); + $81 = $80 ? 1 : 0; + $82 = $81&255; + $83 = HEAP32[$2>>2]|0; + $84 = ((($83)) + 43|0); + HEAP8[$84>>0] = $82; + HEAP32[$0>>2] = 0; + $85 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($85|0); } + return (0)|0; } -function _totalFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $p = 0, label = 0, sp = 0; +function _getDigits($zDate,$zFormat,$varargs) { + $zDate = $zDate|0; + $zFormat = $zFormat|0; + $varargs = $varargs|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $N = 0, $ap = 0, $arglist_current = 0; + var $arglist_next = 0, $cnt = 0, $expanded = 0, $expanded2 = 0, $expanded4 = 0, $expanded5 = 0, $expanded6 = 0, $max = 0, $min = 0, $nextC = 0, $val = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $8 = 0.0; - _sqlite3_result_double($3,$8); - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $0 = sp + 28|0; + $1 = sp + 24|0; + $ap = sp + 8|0; + $cnt = sp + 4|0; + $nextC = sp + 36|0; + $N = sp + 35|0; + $min = sp + 34|0; + $val = sp; + $max = sp + 32|0; + HEAP32[$0>>2] = $zDate; + HEAP32[$1>>2] = $zFormat; + HEAP32[$cnt>>2] = 0; + HEAP32[$ap>>2] = $varargs; + L1: while(1) { + $2 = HEAP32[$1>>2]|0; + $3 = HEAP8[$2>>0]|0; + $4 = $3 << 24 >> 24; + $5 = (($4) - 48)|0; + $6 = $5&255; + HEAP8[$N>>0] = $6; + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = $9 << 24 >> 24; + $11 = (($10) - 48)|0; + $12 = $11&255; + HEAP8[$min>>0] = $12; + HEAP32[$val>>2] = 0; + $13 = HEAP32[$1>>2]|0; + $14 = ((($13)) + 2|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) - 97)|0; + $18 = (17030 + ($17<<1)|0); + $19 = HEAP16[$18>>1]|0; + HEAP16[$max>>1] = $19; + $20 = HEAP32[$1>>2]|0; + $21 = ((($20)) + 3|0); + $22 = HEAP8[$21>>0]|0; + HEAP8[$nextC>>0] = $22; + HEAP32[$val>>2] = 0; + while(1) { + $23 = HEAP8[$N>>0]|0; + $24 = (($23) + -1)<<24>>24; + HEAP8[$N>>0] = $24; + $25 = ($23<<24>>24)!=(0); + if (!($25)) { + break; + } + $26 = HEAP32[$0>>2]|0; + $27 = HEAP8[$26>>0]|0; + $28 = $27&255; + $29 = (19011 + ($28)|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = $31 & 4; + $33 = ($32|0)!=(0); + if (!($33)) { + label = 11; + break L1; + } + $34 = HEAP32[$val>>2]|0; + $35 = ($34*10)|0; + $36 = HEAP32[$0>>2]|0; + $37 = HEAP8[$36>>0]|0; + $38 = $37 << 24 >> 24; + $39 = (($35) + ($38))|0; + $40 = (($39) - 48)|0; + HEAP32[$val>>2] = $40; + $41 = HEAP32[$0>>2]|0; + $42 = ((($41)) + 1|0); + HEAP32[$0>>2] = $42; + } + $43 = HEAP32[$val>>2]|0; + $44 = HEAP8[$min>>0]|0; + $45 = $44 << 24 >> 24; + $46 = ($43|0)<($45|0); + if ($46) { + label = 11; + break; + } + $47 = HEAP32[$val>>2]|0; + $48 = HEAP16[$max>>1]|0; + $49 = $48&65535; + $50 = ($47|0)>($49|0); + if ($50) { + label = 11; + break; + } + $51 = HEAP8[$nextC>>0]|0; + $52 = $51 << 24 >> 24; + $53 = ($52|0)!=(0); + if ($53) { + $54 = HEAP8[$nextC>>0]|0; + $55 = $54 << 24 >> 24; + $56 = HEAP32[$0>>2]|0; + $57 = HEAP8[$56>>0]|0; + $58 = $57 << 24 >> 24; + $59 = ($55|0)!=($58|0); + if ($59) { + label = 11; + break; + } + } + $60 = HEAP32[$val>>2]|0; + $arglist_current = HEAP32[$ap>>2]|0; + $61 = $arglist_current; + $62 = ((0) + 4|0); + $expanded2 = $62; + $expanded = (($expanded2) - 1)|0; + $63 = (($61) + ($expanded))|0; + $64 = ((0) + 4|0); + $expanded6 = $64; + $expanded5 = (($expanded6) - 1)|0; + $expanded4 = $expanded5 ^ -1; + $65 = $63 & $expanded4; + $66 = $65; + $67 = HEAP32[$66>>2]|0; + $arglist_next = ((($66)) + 4|0); + HEAP32[$ap>>2] = $arglist_next; + HEAP32[$67>>2] = $60; + $68 = HEAP32[$0>>2]|0; + $69 = ((($68)) + 1|0); + HEAP32[$0>>2] = $69; + $70 = HEAP32[$cnt>>2]|0; + $71 = (($70) + 1)|0; + HEAP32[$cnt>>2] = $71; + $72 = HEAP32[$1>>2]|0; + $73 = ((($72)) + 4|0); + HEAP32[$1>>2] = $73; + $74 = HEAP8[$nextC>>0]|0; + $75 = ($74<<24>>24)!=(0); + if (!($75)) { + label = 11; + break; + } } - $6 = HEAP32[$p>>2]|0; - $7 = +HEAPF64[$6>>3]; - $8 = $7; - _sqlite3_result_double($3,$8); - STACKTOP = sp;return; + if ((label|0) == 11) { + $76 = HEAP32[$cnt>>2]|0; + STACKTOP = sp;return ($76|0); + } + return (0)|0; } -function _avgFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; - var $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _parseTimezone($zDate,$p) { + $zDate = $zDate|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $7 = 0, $8 = 0, $9 = 0, $c = 0, $nHr = 0, $nMn = 0, $or$cond = 0, $sgn = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$p>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { - STACKTOP = sp;return; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 32|0; + $1 = sp + 28|0; + $2 = sp + 24|0; + $sgn = sp + 20|0; + $nHr = sp + 16|0; + $nMn = sp + 12|0; + $c = sp + 8|0; + HEAP32[$1>>2] = $zDate; + HEAP32[$2>>2] = $p; + HEAP32[$sgn>>2] = 0; + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4&255; + $6 = (19011 + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = $8 & 1; + $10 = ($9|0)!=(0); + if (!($10)) { + break; + } + $11 = HEAP32[$1>>2]|0; + $12 = ((($11)) + 1|0); + HEAP32[$1>>2] = $12; } - $5 = HEAP32[$p>>2]|0; - $6 = ((($5)) + 16|0); - $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)>(0); - $14 = ($9>>>0)>(0); - $15 = ($12|0)==(0); - $16 = $15 & $14; - $17 = $13 | $16; - if (!($17)) { - STACKTOP = sp;return; + $13 = HEAP32[$2>>2]|0; + $14 = ((($13)) + 28|0); + HEAP32[$14>>2] = 0; + $15 = HEAP32[$1>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = $16 << 24 >> 24; + HEAP32[$c>>2] = $17; + $18 = HEAP32[$c>>2]|0; + $19 = ($18|0)==(45); + do { + if ($19) { + HEAP32[$sgn>>2] = -1; + label = 11; + } else { + $20 = HEAP32[$c>>2]|0; + $21 = ($20|0)==(43); + if ($21) { + HEAP32[$sgn>>2] = 1; + label = 11; + break; + } + $22 = HEAP32[$c>>2]|0; + $23 = ($22|0)==(90); + $24 = HEAP32[$c>>2]|0; + $25 = ($24|0)==(122); + $or$cond = $23 | $25; + if ($or$cond) { + $26 = HEAP32[$1>>2]|0; + $27 = ((($26)) + 1|0); + HEAP32[$1>>2] = $27; + break; + } + $28 = HEAP32[$c>>2]|0; + $29 = ($28|0)!=(0); + $30 = $29&1; + HEAP32[$0>>2] = $30; + $63 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($63|0); + } + } while(0); + do { + if ((label|0) == 11) { + $31 = HEAP32[$1>>2]|0; + $32 = ((($31)) + 1|0); + HEAP32[$1>>2] = $32; + $33 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $nHr; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $nMn; + $34 = (_getDigits($33,46507,$vararg_buffer)|0); + $35 = ($34|0)!=(2); + if (!($35)) { + $36 = HEAP32[$1>>2]|0; + $37 = ((($36)) + 5|0); + HEAP32[$1>>2] = $37; + $38 = HEAP32[$sgn>>2]|0; + $39 = HEAP32[$nMn>>2]|0; + $40 = HEAP32[$nHr>>2]|0; + $41 = ($40*60)|0; + $42 = (($39) + ($41))|0; + $43 = Math_imul($38, $42)|0; + $44 = HEAP32[$2>>2]|0; + $45 = ((($44)) + 28|0); + HEAP32[$45>>2] = $43; + break; + } + HEAP32[$0>>2] = 1; + $63 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($63|0); + } + } while(0); + while(1) { + $46 = HEAP32[$1>>2]|0; + $47 = HEAP8[$46>>0]|0; + $48 = $47&255; + $49 = (19011 + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = $50&255; + $52 = $51 & 1; + $53 = ($52|0)!=(0); + if (!($53)) { + break; + } + $54 = HEAP32[$1>>2]|0; + $55 = ((($54)) + 1|0); + HEAP32[$1>>2] = $55; } - $18 = HEAP32[$0>>2]|0; - $19 = HEAP32[$p>>2]|0; - $20 = +HEAPF64[$19>>3]; - $21 = HEAP32[$p>>2]|0; - $22 = ((($21)) + 16|0); - $23 = $22; - $24 = $23; - $25 = HEAP32[$24>>2]|0; - $26 = (($23) + 4)|0; - $27 = $26; - $28 = HEAP32[$27>>2]|0; - $29 = (+($25>>>0)) + (4294967296.0*(+($28|0))); - $30 = $20 / $29; - _sqlite3_result_double($18,$30); - STACKTOP = sp;return; + $56 = HEAP32[$2>>2]|0; + $57 = ((($56)) + 44|0); + HEAP8[$57>>0] = 1; + $58 = HEAP32[$1>>2]|0; + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($60|0)!=(0); + $62 = $61&1; + HEAP32[$0>>2] = $62; + $63 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($63|0); } -function _countStep($context,$argc,$argv) { - $context = $context|0; - $argc = $argc|0; - $argv = $argv|0; - var $$old = 0, $$old1 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $p = 0, label = 0, sp = 0; +function _osLocaltime($t,$pTm) { + $t = $t|0; + $pTm = $pTm|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pX = 0, $rc = 0, dest = 0, label = 0, sp = 0; + var src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; $0 = sp + 12|0; $1 = sp + 8|0; - $2 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; - HEAP32[$2>>2] = $argv; - $3 = HEAP32[$0>>2]|0; - $4 = (_sqlite3_aggregate_context($3,8)|0); - HEAP32[$p>>2] = $4; - $5 = HEAP32[$1>>2]|0; - $6 = ($5|0)==(0); + $rc = sp + 4|0; + $pX = sp; + HEAP32[$0>>2] = $t; + HEAP32[$1>>2] = $pTm; + $2 = HEAP32[$0>>2]|0; + $3 = (_localtime(($2|0))|0); + HEAP32[$pX>>2] = $3; + $4 = HEAP32[(276)>>2]|0; + $5 = ($4|0)!=(0); + $$ = $5 ? 0 : $3; + HEAP32[$pX>>2] = $$; + $6 = HEAP32[$pX>>2]|0; + $7 = ($6|0)!=(0|0); + if ($7) { + $8 = HEAP32[$1>>2]|0; + $9 = HEAP32[$pX>>2]|0; + dest=$8; src=$9; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + } + $10 = HEAP32[$pX>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $11&1; + HEAP32[$rc>>2] = $12; + $13 = HEAP32[$rc>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _parseYyyyMmDd($zDate,$p) { + $zDate = $zDate|0; + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0; + var $9 = 0, $D = 0, $M = 0, $Y = 0, $neg = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; + $vararg_buffer = sp; + $0 = sp + 36|0; + $1 = sp + 32|0; + $2 = sp + 28|0; + $Y = sp + 24|0; + $M = sp + 20|0; + $D = sp + 16|0; + $neg = sp + 12|0; + HEAP32[$1>>2] = $zDate; + HEAP32[$2>>2] = $p; + $3 = HEAP32[$1>>2]|0; + $4 = HEAP8[$3>>0]|0; + $5 = $4 << 24 >> 24; + $6 = ($5|0)==(45); if ($6) { - $$old = HEAP32[$p>>2]|0; - $$old1 = ($$old|0)!=(0|0); - if (!($$old1)) { - STACKTOP = sp;return; - } + $7 = HEAP32[$1>>2]|0; + $8 = ((($7)) + 1|0); + HEAP32[$1>>2] = $8; + HEAP32[$neg>>2] = 1; } else { - $7 = HEAP32[$2>>2]|0; - $8 = HEAP32[$7>>2]|0; - $9 = (_sqlite3_value_type($8)|0); - $10 = (5)!=($9|0); - $11 = HEAP32[$p>>2]|0; - $12 = ($11|0)!=(0|0); - $or$cond = $10 & $12; - if (!($or$cond)) { - STACKTOP = sp;return; + HEAP32[$neg>>2] = 0; + } + $9 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $Y; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $M; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $D; + $10 = (_getDigits($9,46542,$vararg_buffer)|0); + $11 = ($10|0)!=(3); + if ($11) { + HEAP32[$0>>2] = 1; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + $12 = HEAP32[$1>>2]|0; + $13 = ((($12)) + 10|0); + HEAP32[$1>>2] = $13; + while(1) { + $14 = HEAP32[$1>>2]|0; + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (19011 + ($16)|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = $19 & 1; + $21 = ($20|0)!=(0); + if ($21) { + $60 = 1; + } else { + $22 = HEAP32[$1>>2]|0; + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = (84)==($24|0); + $60 = $25; + } + $26 = HEAP32[$1>>2]|0; + if (!($60)) { + break; } + $27 = ((($26)) + 1|0); + HEAP32[$1>>2] = $27; } - $13 = HEAP32[$p>>2]|0; - $14 = $13; - $15 = $14; - $16 = HEAP32[$15>>2]|0; - $17 = (($14) + 4)|0; - $18 = $17; - $19 = HEAP32[$18>>2]|0; - $20 = (_i64Add(($16|0),($19|0),1,0)|0); - $21 = tempRet0; - $22 = $13; - $23 = $22; - HEAP32[$23>>2] = $20; - $24 = (($22) + 4)|0; - $25 = $24; - HEAP32[$25>>2] = $21; - STACKTOP = sp;return; + $28 = HEAP32[$2>>2]|0; + $29 = (_parseHhMmSs($26,$28)|0); + $30 = ($29|0)==(0); + do { + if (!($30)) { + $31 = HEAP32[$1>>2]|0; + $32 = HEAP8[$31>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($33|0)==(0); + if ($34) { + $35 = HEAP32[$2>>2]|0; + $36 = ((($35)) + 41|0); + HEAP8[$36>>0] = 0; + break; + } + HEAP32[$0>>2] = 1; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); + } + } while(0); + $37 = HEAP32[$2>>2]|0; + $38 = ((($37)) + 42|0); + HEAP8[$38>>0] = 0; + $39 = HEAP32[$2>>2]|0; + $40 = ((($39)) + 40|0); + HEAP8[$40>>0] = 1; + $41 = HEAP32[$neg>>2]|0; + $42 = ($41|0)!=(0); + $43 = HEAP32[$Y>>2]|0; + $44 = (0 - ($43))|0; + $45 = $42 ? $44 : $43; + $46 = HEAP32[$2>>2]|0; + $47 = ((($46)) + 8|0); + HEAP32[$47>>2] = $45; + $48 = HEAP32[$M>>2]|0; + $49 = HEAP32[$2>>2]|0; + $50 = ((($49)) + 12|0); + HEAP32[$50>>2] = $48; + $51 = HEAP32[$D>>2]|0; + $52 = HEAP32[$2>>2]|0; + $53 = ((($52)) + 16|0); + HEAP32[$53>>2] = $51; + $54 = HEAP32[$2>>2]|0; + $55 = ((($54)) + 43|0); + $56 = HEAP8[$55>>0]|0; + $57 = ($56<<24>>24)!=(0); + if ($57) { + $58 = HEAP32[$2>>2]|0; + _computeJD($58); + } + HEAP32[$0>>2] = 0; + $59 = HEAP32[$0>>2]|0; + STACKTOP = sp;return ($59|0); } -function _countFinalize($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $p = 0, label = 0, sp = 0; +function _sqlite3StmtCurrentTime($p) { + $p = $p|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $piTime = 0, $rc = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $p = sp; - HEAP32[$0>>2] = $context; + $0 = sp + 8|0; + $rc = sp + 4|0; + $piTime = sp; + HEAP32[$0>>2] = $p; $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$p>>2] = $2; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$p>>2]|0; - $5 = ($4|0)!=(0|0); - if (!($5)) { - $13 = 0;$14 = 0; - _sqlite3_result_int64($3,$13,$14); - STACKTOP = sp;return; - } - $6 = HEAP32[$p>>2]|0; + $2 = ((($1)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($3)) + 136|0); + HEAP32[$piTime>>2] = $4; + $5 = HEAP32[$piTime>>2]|0; + $6 = $5; $7 = $6; - $8 = $7; - $9 = HEAP32[$8>>2]|0; - $10 = (($7) + 4)|0; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = $9;$14 = $12; - _sqlite3_result_int64($3,$13,$14); - STACKTOP = sp;return; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = ($8|0)==(0); + $13 = ($11|0)==(0); + $14 = $12 & $13; + if ($14) { + $15 = HEAP32[$0>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ((($16)) + 32|0); + $18 = HEAP32[$17>>2]|0; + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$piTime>>2]|0; + $21 = (_sqlite3OsCurrentTimeInt64($19,$20)|0); + HEAP32[$rc>>2] = $21; + $22 = HEAP32[$rc>>2]|0; + $23 = ($22|0)!=(0); + if ($23) { + $24 = HEAP32[$piTime>>2]|0; + $25 = $24; + $26 = $25; + HEAP32[$26>>2] = 0; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = 0; + } + } + $29 = HEAP32[$piTime>>2]|0; + $30 = $29; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + tempRet0 = ($35); + STACKTOP = sp;return ($32|0); } -function _groupConcatStep($context,$argc,$argv) { +function _renameTableFunc($context,$NotUsed,$argv) { $context = $context|0; - $argc = $argc|0; + $NotUsed = $NotUsed|0; $argv = $argv|0; var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $firstTerm = 0, $nSep = 0, $nVal = 0, $pAccum = 0, $zSep = 0, $zVal = 0, label = 0, sp = 0; + var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $len = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0; + var label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; - $0 = sp + 36|0; - $1 = sp + 32|0; - $2 = sp + 28|0; - $zVal = sp + 24|0; - $pAccum = sp + 20|0; - $zSep = sp + 16|0; - $nVal = sp + 12|0; - $nSep = sp + 8|0; - $db = sp + 4|0; - $firstTerm = sp; + STACKTOP = STACKTOP + 64|0; + $vararg_buffer = sp; + $0 = sp + 60|0; + $1 = sp + 56|0; + $2 = sp + 52|0; + $zSql = sp + 48|0; + $zTableName = sp + 44|0; + $token = sp + 40|0; + $tname = sp + 32|0; + $zCsr = sp + 28|0; + $len = sp + 24|0; + $zRet = sp + 20|0; + $db = sp + 16|0; HEAP32[$0>>2] = $context; - HEAP32[$1>>2] = $argc; + HEAP32[$1>>2] = $NotUsed; HEAP32[$2>>2] = $argv; $3 = HEAP32[$2>>2]|0; $4 = HEAP32[$3>>2]|0; - $5 = (_sqlite3_value_type($4)|0); - $6 = ($5|0)==(5); - if ($6) { - STACKTOP = sp;return; - } - $7 = HEAP32[$0>>2]|0; - $8 = (_sqlite3_aggregate_context($7,28)|0); - HEAP32[$pAccum>>2] = $8; - $9 = HEAP32[$pAccum>>2]|0; - $10 = ($9|0)!=(0|0); - if (!($10)) { - STACKTOP = sp;return; - } + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zSql>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zTableName>>2] = $9; + $10 = HEAP32[$zSql>>2]|0; + HEAP32[$zCsr>>2] = $10; + HEAP32[$len>>2] = 0; $11 = HEAP32[$0>>2]|0; $12 = (_sqlite3_context_db_handle($11)|0); HEAP32[$db>>2] = $12; - $13 = HEAP32[$pAccum>>2]|0; - $14 = ((($13)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)==(0); - $17 = $16&1; - HEAP32[$firstTerm>>2] = $17; - $18 = HEAP32[$db>>2]|0; - $19 = ((($18)) + 88|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$pAccum>>2]|0; - $22 = ((($21)) + 20|0); - HEAP32[$22>>2] = $20; - $23 = HEAP32[$firstTerm>>2]|0; - $24 = ($23|0)!=(0); - if (!($24)) { - $25 = HEAP32[$1>>2]|0; - $26 = ($25|0)==(2); - if ($26) { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + 4|0); - $29 = HEAP32[$28>>2]|0; - $30 = (_sqlite3_value_text($29)|0); - HEAP32[$zSep>>2] = $30; - $31 = HEAP32[$2>>2]|0; - $32 = ((($31)) + 4|0); - $33 = HEAP32[$32>>2]|0; - $34 = (_sqlite3_value_bytes($33)|0); - HEAP32[$nSep>>2] = $34; - } else { - HEAP32[$zSep>>2] = 38266; - HEAP32[$nSep>>2] = 1; + $13 = HEAP32[$zSql>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { + STACKTOP = sp;return; + } + while(1) { + $15 = HEAP32[$zCsr>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + label = 7; + break; } - $35 = HEAP32[$nSep>>2]|0; - $36 = ($35|0)!=(0); - if ($36) { - $37 = HEAP32[$pAccum>>2]|0; - $38 = HEAP32[$zSep>>2]|0; - $39 = HEAP32[$nSep>>2]|0; - _sqlite3StrAccumAppend($37,$38,$39); + $18 = HEAP32[$zCsr>>2]|0; + HEAP32[$tname>>2] = $18; + $19 = HEAP32[$len>>2]|0; + $20 = ((($tname)) + 4|0); + HEAP32[$20>>2] = $19; + while(1) { + $21 = HEAP32[$len>>2]|0; + $22 = HEAP32[$zCsr>>2]|0; + $23 = (($22) + ($21)|0); + HEAP32[$zCsr>>2] = $23; + $24 = HEAP32[$zCsr>>2]|0; + $25 = (_sqlite3GetToken($24,$token)|0); + HEAP32[$len>>2] = $25; + $26 = HEAP32[$token>>2]|0; + $27 = ($26|0)==(160); + if (!($27)) { + break; + } + } + $28 = HEAP32[$token>>2]|0; + $29 = ($28|0)!=(22); + $30 = HEAP32[$token>>2]|0; + $31 = ($30|0)!=(125); + $32 = $29 ? $31 : 0; + if (!($32)) { + break; } } - $40 = HEAP32[$2>>2]|0; - $41 = HEAP32[$40>>2]|0; - $42 = (_sqlite3_value_text($41)|0); - HEAP32[$zVal>>2] = $42; - $43 = HEAP32[$2>>2]|0; - $44 = HEAP32[$43>>2]|0; - $45 = (_sqlite3_value_bytes($44)|0); - HEAP32[$nVal>>2] = $45; - $46 = HEAP32[$zVal>>2]|0; - $47 = ($46|0)!=(0|0); - if (!($47)) { + if ((label|0) == 7) { STACKTOP = sp;return; } - $48 = HEAP32[$pAccum>>2]|0; - $49 = HEAP32[$zVal>>2]|0; - $50 = HEAP32[$nVal>>2]|0; - _sqlite3StrAccumAppend($48,$49,$50); + $33 = HEAP32[$db>>2]|0; + $34 = HEAP32[$tname>>2]|0; + $35 = HEAP32[$zSql>>2]|0; + $36 = $34; + $37 = $35; + $38 = (($36) - ($37))|0; + $39 = HEAP32[$zSql>>2]|0; + $40 = HEAP32[$zTableName>>2]|0; + $41 = HEAP32[$tname>>2]|0; + $42 = ((($tname)) + 4|0); + $43 = HEAP32[$42>>2]|0; + $44 = (($41) + ($43)|0); + HEAP32[$vararg_buffer>>2] = $38; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $39; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $40; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $44; + $45 = (_sqlite3MPrintf($33,46688,$vararg_buffer)|0); + HEAP32[$zRet>>2] = $45; + $46 = HEAP32[$0>>2]|0; + $47 = HEAP32[$zRet>>2]|0; + _sqlite3_result_text($46,$47,-1,170); STACKTOP = sp;return; } -function _groupConcatFinalize($context) { +function _renameTriggerFunc($context,$NotUsed,$argv) { $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pAccum = 0; - var label = 0, sp = 0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $$ = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $dist = 0; + var $len = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, $tname = 0, $token = 0, $vararg_buffer = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, $zCsr = 0, $zRet = 0, $zSql = 0, $zTableName = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pAccum = sp; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer = sp; + $0 = sp + 68|0; + $1 = sp + 64|0; + $2 = sp + 60|0; + $zSql = sp + 56|0; + $zTableName = sp + 52|0; + $token = sp + 48|0; + $tname = sp + 40|0; + $dist = sp + 32|0; + $zCsr = sp + 28|0; + $len = sp + 24|0; + $zRet = sp + 20|0; + $db = sp + 16|0; HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = (_sqlite3_aggregate_context($1,0)|0); - HEAP32[$pAccum>>2] = $2; - $3 = HEAP32[$pAccum>>2]|0; - $4 = ($3|0)!=(0|0); - if (!($4)) { + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$2>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = (_sqlite3_value_text($4)|0); + HEAP32[$zSql>>2] = $5; + $6 = HEAP32[$2>>2]|0; + $7 = ((($6)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = (_sqlite3_value_text($8)|0); + HEAP32[$zTableName>>2] = $9; + HEAP32[$dist>>2] = 3; + $10 = HEAP32[$zSql>>2]|0; + HEAP32[$zCsr>>2] = $10; + HEAP32[$len>>2] = 0; + $11 = HEAP32[$0>>2]|0; + $12 = (_sqlite3_context_db_handle($11)|0); + HEAP32[$db>>2] = $12; + $13 = HEAP32[$zSql>>2]|0; + $14 = ($13|0)!=(0|0); + if (!($14)) { STACKTOP = sp;return; } - $5 = HEAP32[$pAccum>>2]|0; - $6 = ((($5)) + 24|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = ($8|0)==(2); - if ($9) { - $10 = HEAP32[$0>>2]|0; - _sqlite3_result_error_toobig($10); - STACKTOP = sp;return; + while(1) { + $15 = HEAP32[$zCsr>>2]|0; + $16 = HEAP8[$15>>0]|0; + $17 = ($16<<24>>24)!=(0); + if (!($17)) { + label = 8; + break; + } + $18 = HEAP32[$zCsr>>2]|0; + HEAP32[$tname>>2] = $18; + $19 = HEAP32[$len>>2]|0; + $20 = ((($tname)) + 4|0); + HEAP32[$20>>2] = $19; + while(1) { + $21 = HEAP32[$len>>2]|0; + $22 = HEAP32[$zCsr>>2]|0; + $23 = (($22) + ($21)|0); + HEAP32[$zCsr>>2] = $23; + $24 = HEAP32[$zCsr>>2]|0; + $25 = (_sqlite3GetToken($24,$token)|0); + HEAP32[$len>>2] = $25; + $26 = HEAP32[$token>>2]|0; + $27 = ($26|0)==(160); + if (!($27)) { + break; + } + } + $28 = HEAP32[$dist>>2]|0; + $29 = (($28) + 1)|0; + HEAP32[$dist>>2] = $29; + $30 = HEAP32[$token>>2]|0; + $31 = ($30|0)==(122); + $32 = HEAP32[$token>>2]|0; + $33 = ($32|0)==(107); + $or$cond = $31 | $33; + $$ = $or$cond ? 0 : $29; + HEAP32[$dist>>2] = $$; + $34 = HEAP32[$dist>>2]|0; + $35 = ($34|0)!=(2); + if ($35) { + continue; + } + $36 = HEAP32[$token>>2]|0; + $37 = ($36|0)!=(137); + $38 = HEAP32[$token>>2]|0; + $39 = ($38|0)!=(46); + $or$cond3 = $37 & $39; + $40 = HEAP32[$token>>2]|0; + $41 = ($40|0)!=(5); + $or$cond6 = $or$cond3 & $41; + if (!($or$cond6)) { + break; + } } - $11 = HEAP32[$pAccum>>2]|0; - $12 = ((($11)) + 24|0); - $13 = HEAP8[$12>>0]|0; - $14 = $13&255; - $15 = ($14|0)==(1); - $16 = HEAP32[$0>>2]|0; - if ($15) { - _sqlite3_result_error_nomem($16); - STACKTOP = sp;return; - } else { - $17 = HEAP32[$pAccum>>2]|0; - $18 = (_sqlite3StrAccumFinish($17)|0); - _sqlite3_result_text($16,$18,-1,148); + if ((label|0) == 8) { STACKTOP = sp;return; } + $42 = HEAP32[$db>>2]|0; + $43 = HEAP32[$tname>>2]|0; + $44 = HEAP32[$zSql>>2]|0; + $45 = $43; + $46 = $44; + $47 = (($45) - ($46))|0; + $48 = HEAP32[$zSql>>2]|0; + $49 = HEAP32[$zTableName>>2]|0; + $50 = HEAP32[$tname>>2]|0; + $51 = ((($tname)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = (($50) + ($52)|0); + HEAP32[$vararg_buffer>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $48; + $vararg_ptr8 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $49; + $vararg_ptr9 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $53; + $54 = (_sqlite3MPrintf($42,46688,$vararg_buffer)|0); + HEAP32[$zRet>>2] = $54; + $55 = HEAP32[$0>>2]|0; + $56 = HEAP32[$zRet>>2]|0; + _sqlite3_result_text($55,$56,-1,170); + STACKTOP = sp;return; } -function _contextMalloc($context,$0,$1) { +function _renameParentFunc($context,$NotUsed,$argv) { $context = $context|0; - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $db = 0, $z = 0, label = 0, sp = 0; + $NotUsed = $NotUsed|0; + $argv = $argv|0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0; + var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0; + var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $db = 0, $n = 0, $or$cond = 0, $token = 0, $vararg_buffer = 0, $vararg_buffer5 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, $z = 0, $zInput = 0, $zNew = 0, $zOld = 0, $zOut = 0; + var $zOutput = 0, $zParent = 0, $zResult = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; - $2 = sp + 16|0; - $3 = sp; - $z = sp + 12|0; - $db = sp + 8|0; - HEAP32[$2>>2] = $context; - $4 = $3; - $5 = $4; - HEAP32[$5>>2] = $0; - $6 = (($4) + 4)|0; - $7 = $6; - HEAP32[$7>>2] = $1; + STACKTOP = STACKTOP + 80|0; + $vararg_buffer5 = sp + 16|0; + $vararg_buffer = sp; + $0 = sp + 76|0; + $1 = sp + 72|0; + $2 = sp + 68|0; + $db = sp + 64|0; + $zOutput = sp + 60|0; + $zResult = sp + 56|0; + $zInput = sp + 52|0; + $zOld = sp + 48|0; + $zNew = sp + 44|0; + $z = sp + 40|0; + $n = sp + 36|0; + $token = sp + 32|0; + $zParent = sp + 28|0; + $zOut = sp + 24|0; + HEAP32[$0>>2] = $context; + HEAP32[$1>>2] = $NotUsed; + HEAP32[$2>>2] = $argv; + $3 = HEAP32[$0>>2]|0; + $4 = (_sqlite3_context_db_handle($3)|0); + HEAP32[$db>>2] = $4; + HEAP32[$zOutput>>2] = 0; + $5 = HEAP32[$2>>2]|0; + $6 = HEAP32[$5>>2]|0; + $7 = (_sqlite3_value_text($6)|0); + HEAP32[$zInput>>2] = $7; $8 = HEAP32[$2>>2]|0; - $9 = (_sqlite3_context_db_handle($8)|0); - HEAP32[$db>>2] = $9; - $10 = $3; - $11 = $10; - $12 = HEAP32[$11>>2]|0; - $13 = (($10) + 4)|0; - $14 = $13; - $15 = HEAP32[$14>>2]|0; - $16 = HEAP32[$db>>2]|0; - $17 = ((($16)) + 88|0); - $18 = HEAP32[$17>>2]|0; - $19 = ($18|0)<(0); - $20 = $19 << 31 >> 31; - $21 = ($15|0)>($20|0); - $22 = ($12>>>0)>($18>>>0); - $23 = ($15|0)==($20|0); - $24 = $23 & $22; - $25 = $21 | $24; - if ($25) { - $26 = HEAP32[$2>>2]|0; - _sqlite3_result_error_toobig($26); - HEAP32[$z>>2] = 0; - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); + $9 = ((($8)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_sqlite3_value_text($10)|0); + HEAP32[$zOld>>2] = $11; + $12 = HEAP32[$2>>2]|0; + $13 = ((($12)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = (_sqlite3_value_text($14)|0); + HEAP32[$zNew>>2] = $15; + $16 = HEAP32[$zInput>>2]|0; + $17 = ($16|0)==(0|0); + $18 = HEAP32[$zOld>>2]|0; + $19 = ($18|0)==(0|0); + $or$cond = $17 | $19; + if ($or$cond) { + STACKTOP = sp;return; } - $27 = $3; - $28 = $27; - $29 = HEAP32[$28>>2]|0; - $30 = (($27) + 4)|0; - $31 = $30; - $32 = HEAP32[$31>>2]|0; - $33 = (_sqlite3Malloc($29,$32)|0); - HEAP32[$z>>2] = $33; - $34 = HEAP32[$z>>2]|0; - $35 = ($34|0)!=(0|0); - if ($35) { - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); + $20 = HEAP32[$zInput>>2]|0; + HEAP32[$z>>2] = $20; + while(1) { + $21 = HEAP32[$z>>2]|0; + $22 = HEAP8[$21>>0]|0; + $23 = ($22<<24>>24)!=(0); + if (!($23)) { + break; + } + $24 = HEAP32[$z>>2]|0; + $25 = (_sqlite3GetToken($24,$token)|0); + HEAP32[$n>>2] = $25; + $26 = HEAP32[$token>>2]|0; + $27 = ($26|0)==(105); + if ($27) { + while(1) { + $28 = HEAP32[$n>>2]|0; + $29 = HEAP32[$z>>2]|0; + $30 = (($29) + ($28)|0); + HEAP32[$z>>2] = $30; + $31 = HEAP32[$z>>2]|0; + $32 = (_sqlite3GetToken($31,$token)|0); + HEAP32[$n>>2] = $32; + $33 = HEAP32[$token>>2]|0; + $34 = ($33|0)==(160); + if (!($34)) { + break; + } + } + $35 = HEAP32[$token>>2]|0; + $36 = ($35|0)==(161); + if ($36) { + break; + } + $37 = HEAP32[$db>>2]|0; + $38 = HEAP32[$z>>2]|0; + $39 = HEAP32[$n>>2]|0; + $40 = ($39|0)<(0); + $41 = $40 << 31 >> 31; + $42 = (_sqlite3DbStrNDup($37,$38,$39,$41)|0); + HEAP32[$zParent>>2] = $42; + $43 = HEAP32[$zParent>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break; + } + $45 = HEAP32[$zParent>>2]|0; + (_sqlite3Dequote($45)|0); + $46 = HEAP32[$zOld>>2]|0; + $47 = HEAP32[$zParent>>2]|0; + $48 = (_sqlite3StrICmp($46,$47)|0); + $49 = (0)==($48|0); + if ($49) { + $50 = HEAP32[$db>>2]|0; + $51 = HEAP32[$zOutput>>2]|0; + $52 = ($51|0)!=(0|0); + $53 = HEAP32[$zOutput>>2]|0; + $54 = $52 ? $53 : 19010; + $55 = HEAP32[$z>>2]|0; + $56 = HEAP32[$zInput>>2]|0; + $57 = $55; + $58 = $56; + $59 = (($57) - ($58))|0; + $60 = HEAP32[$zInput>>2]|0; + $61 = HEAP32[$zNew>>2]|0; + HEAP32[$vararg_buffer>>2] = $54; + $vararg_ptr2 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr2>>2] = $59; + $vararg_ptr3 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr3>>2] = $60; + $vararg_ptr4 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr4>>2] = $61; + $62 = (_sqlite3MPrintf($50,46677,$vararg_buffer)|0); + HEAP32[$zOut>>2] = $62; + $63 = HEAP32[$db>>2]|0; + $64 = HEAP32[$zOutput>>2]|0; + _sqlite3DbFree($63,$64); + $65 = HEAP32[$zOut>>2]|0; + HEAP32[$zOutput>>2] = $65; + $66 = HEAP32[$n>>2]|0; + $67 = HEAP32[$z>>2]|0; + $68 = (($67) + ($66)|0); + HEAP32[$zInput>>2] = $68; + } + $69 = HEAP32[$db>>2]|0; + $70 = HEAP32[$zParent>>2]|0; + _sqlite3DbFree($69,$70); + } + $71 = HEAP32[$z>>2]|0; + $72 = HEAP32[$n>>2]|0; + $73 = (($71) + ($72)|0); + HEAP32[$z>>2] = $73; } - $36 = HEAP32[$2>>2]|0; - _sqlite3_result_error_nomem($36); - $37 = HEAP32[$z>>2]|0; - STACKTOP = sp;return ($37|0); -} -function _sqlite3GetFuncCollSeq($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $pOp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp + 4|0; - $pOp = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) - 1)|0; - $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 4|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($9) + (($4*20)|0)|0); - HEAP32[$pOp>>2] = $10; - $11 = HEAP32[$pOp>>2]|0; - $12 = ((($11)) + 16|0); - $13 = HEAP32[$12>>2]|0; - STACKTOP = sp;return ($13|0); -} -function _sqlite3SkipAccumulatorLoad($context) { - $context = $context|0; - var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; - $0 = sp; - HEAP32[$0>>2] = $context; - $1 = HEAP32[$0>>2]|0; - $2 = ((($1)) + 24|0); - HEAP8[$2>>0] = 1; + $74 = HEAP32[$db>>2]|0; + $75 = HEAP32[$zOutput>>2]|0; + $76 = ($75|0)!=(0|0); + $77 = HEAP32[$zOutput>>2]|0; + $78 = $76 ? $77 : 19010; + $79 = HEAP32[$zInput>>2]|0; + HEAP32[$vararg_buffer5>>2] = $78; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $79; + $80 = (_sqlite3MPrintf($74,25313,$vararg_buffer5)|0); + HEAP32[$zResult>>2] = $80; + $81 = HEAP32[$0>>2]|0; + $82 = HEAP32[$zResult>>2]|0; + _sqlite3_result_text($81,$82,-1,170); + $83 = HEAP32[$db>>2]|0; + $84 = HEAP32[$zOutput>>2]|0; + _sqlite3DbFree($83,$84); STACKTOP = sp;return; } function _measureAllocationSize($db,$p) { @@ -266793,7 +268519,7 @@ function _measureAllocationSize($db,$p) { $3 = HEAP32[$1>>2]|0; $4 = (_sqlite3DbMallocSize($2,$3)|0); $5 = HEAP32[$0>>2]|0; - $6 = ((($5)) + 528|0); + $6 = ((($5)) + 456|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = (($8) + ($4))|0; @@ -266889,7 +268615,7 @@ function _sqlite3FkDelete($db,$pTab) { $8 = ($7|0)!=(0|0); if ($8) { $9 = HEAP32[$0>>2]|0; - $10 = ((($9)) + 528|0); + $10 = ((($9)) + 456|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0|0); if ($12) { @@ -267037,10 +268763,10 @@ function _toupper($c) { function ___errno_location() { var $$0 = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[9968>>2]|0; + $0 = HEAP32[9692>>2]|0; $1 = ($0|0)==(0|0); if ($1) { - $$0 = 10016; + $$0 = 9740; } else { $2 = (_pthread_self()|0); $3 = ((($2)) + 60|0); @@ -267056,7 +268782,7 @@ function _strerror($e) { sp = STACKTOP; $i$03 = 0; while(1) { - $1 = (47177 + ($i$03)|0); + $1 = (46812 + ($i$03)|0); $2 = HEAP8[$1>>0]|0; $3 = $2&255; $4 = ($3|0)==($e|0); @@ -267068,7 +268794,7 @@ function _strerror($e) { $5 = (($i$03) + 1)|0; $6 = ($5|0)==(87); if ($6) { - $i$12 = 87;$s$01 = 47265; + $i$12 = 87;$s$01 = 46900; label = 5; break; } else { @@ -267078,9 +268804,9 @@ function _strerror($e) { if ((label|0) == 2) { $0 = ($i$03$lcssa|0)==(0); if ($0) { - $s$0$lcssa = 47265; + $s$0$lcssa = 46900; } else { - $i$12 = $i$03$lcssa;$s$01 = 47265; + $i$12 = $i$03$lcssa;$s$01 = 46900; label = 5; } } @@ -267342,7 +269068,7 @@ function ___procfdname($buf,$fd) { sp = STACKTOP; $i$0 = 0; while(1) { - $0 = (49069 + ($i$0)|0); + $0 = (48704 + ($i$0)|0); $1 = HEAP8[$0>>0]|0; $2 = (($buf) + ($i$0)|0); HEAP8[$2>>0] = $1; @@ -268404,7 +270130,7 @@ function ___stdio_write($f,$buf,$len) { $11 = ((($f)) + 44|0); $iov$0 = $iovs;$iovcnt$0 = 2;$rem$0 = $9; while(1) { - $12 = HEAP32[9968>>2]|0; + $12 = HEAP32[9692>>2]|0; $13 = ($12|0)==(0|0); if ($13) { $17 = HEAP32[$10>>2]|0; @@ -268545,17 +270271,17 @@ function _fflush($f) { $0 = ($f|0)==(0|0); do { if ($0) { - $7 = HEAP32[10012>>2]|0; + $7 = HEAP32[9736>>2]|0; $8 = ($7|0)==(0|0); if ($8) { $27 = 0; } else { - $9 = HEAP32[10012>>2]|0; + $9 = HEAP32[9736>>2]|0; $10 = (_fflush($9)|0); $27 = $10; } - ___lock(((9996)|0)); - $$012 = HEAP32[(9992)>>2]|0; + ___lock(((9720)|0)); + $$012 = HEAP32[(9716)>>2]|0; $11 = ($$012|0)==(0|0); if ($11) { $r$0$lcssa = $27; @@ -268598,7 +270324,7 @@ function _fflush($f) { } } } - ___unlock(((9996)|0)); + ___unlock(((9720)|0)); $$0 = $r$0$lcssa; } else { $1 = ((($f)) + 76|0); @@ -270122,7 +271848,7 @@ function _malloc($bytes) { $3 = $2 & -8; $4 = $1 ? 16 : $3; $5 = $4 >>> 3; - $6 = HEAP32[10132>>2]|0; + $6 = HEAP32[9856>>2]|0; $7 = $6 >>> $5; $8 = $7 & 3; $9 = ($8|0)==(0); @@ -270131,9 +271857,9 @@ function _malloc($bytes) { $11 = $10 ^ 1; $12 = (($11) + ($5))|0; $13 = $12 << 1; - $14 = (10172 + ($13<<2)|0); + $14 = (9896 + ($13<<2)|0); $$sum10 = (($13) + 2)|0; - $15 = (10172 + ($$sum10<<2)|0); + $15 = (9896 + ($$sum10<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; @@ -270143,9 +271869,9 @@ function _malloc($bytes) { $20 = 1 << $12; $21 = $20 ^ -1; $22 = $6 & $21; - HEAP32[10132>>2] = $22; + HEAP32[9856>>2] = $22; } else { - $23 = HEAP32[(10148)>>2]|0; + $23 = HEAP32[(9872)>>2]|0; $24 = ($18>>>0)<($23>>>0); if ($24) { _abort(); @@ -270176,7 +271902,7 @@ function _malloc($bytes) { $mem$0 = $17; return ($mem$0|0); } - $34 = HEAP32[(10140)>>2]|0; + $34 = HEAP32[(9864)>>2]|0; $35 = ($4>>>0)>($34>>>0); if ($35) { $36 = ($7|0)==(0); @@ -270210,9 +271936,9 @@ function _malloc($bytes) { $63 = $59 >>> $61; $64 = (($62) + ($63))|0; $65 = $64 << 1; - $66 = (10172 + ($65<<2)|0); + $66 = (9896 + ($65<<2)|0); $$sum4 = (($65) + 2)|0; - $67 = (10172 + ($$sum4<<2)|0); + $67 = (9896 + ($$sum4<<2)|0); $68 = HEAP32[$67>>2]|0; $69 = ((($68)) + 8|0); $70 = HEAP32[$69>>2]|0; @@ -270222,10 +271948,10 @@ function _malloc($bytes) { $72 = 1 << $64; $73 = $72 ^ -1; $74 = $6 & $73; - HEAP32[10132>>2] = $74; + HEAP32[9856>>2] = $74; $89 = $34; } else { - $75 = HEAP32[(10148)>>2]|0; + $75 = HEAP32[(9872)>>2]|0; $76 = ($70>>>0)<($75>>>0); if ($76) { _abort(); @@ -270237,7 +271963,7 @@ function _malloc($bytes) { if ($79) { HEAP32[$77>>2] = $66; HEAP32[$67>>2] = $70; - $$pre = HEAP32[(10140)>>2]|0; + $$pre = HEAP32[(9864)>>2]|0; $89 = $$pre; break; } else { @@ -270260,25 +271986,25 @@ function _malloc($bytes) { HEAP32[$87>>2] = $81; $88 = ($89|0)==(0); if (!($88)) { - $90 = HEAP32[(10152)>>2]|0; + $90 = HEAP32[(9876)>>2]|0; $91 = $89 >>> 3; $92 = $91 << 1; - $93 = (10172 + ($92<<2)|0); - $94 = HEAP32[10132>>2]|0; + $93 = (9896 + ($92<<2)|0); + $94 = HEAP32[9856>>2]|0; $95 = 1 << $91; $96 = $94 & $95; $97 = ($96|0)==(0); if ($97) { $98 = $94 | $95; - HEAP32[10132>>2] = $98; + HEAP32[9856>>2] = $98; $$pre105 = (($92) + 2)|0; - $$pre106 = (10172 + ($$pre105<<2)|0); + $$pre106 = (9896 + ($$pre105<<2)|0); $$pre$phiZ2D = $$pre106;$F4$0 = $93; } else { $$sum9 = (($92) + 2)|0; - $99 = (10172 + ($$sum9<<2)|0); + $99 = (9896 + ($$sum9<<2)|0); $100 = HEAP32[$99>>2]|0; - $101 = HEAP32[(10148)>>2]|0; + $101 = HEAP32[(9872)>>2]|0; $102 = ($100>>>0)<($101>>>0); if ($102) { _abort(); @@ -270295,12 +272021,12 @@ function _malloc($bytes) { $105 = ((($90)) + 12|0); HEAP32[$105>>2] = $93; } - HEAP32[(10140)>>2] = $81; - HEAP32[(10152)>>2] = $84; + HEAP32[(9864)>>2] = $81; + HEAP32[(9876)>>2] = $84; $mem$0 = $69; return ($mem$0|0); } - $106 = HEAP32[(10136)>>2]|0; + $106 = HEAP32[(9860)>>2]|0; $107 = ($106|0)==(0); if ($107) { $nb$0 = $4; @@ -270328,7 +272054,7 @@ function _malloc($bytes) { $128 = $124 | $127; $129 = $125 >>> $127; $130 = (($128) + ($129))|0; - $131 = (10436 + ($130<<2)|0); + $131 = (10160 + ($130<<2)|0); $132 = HEAP32[$131>>2]|0; $133 = ((($132)) + 4|0); $134 = HEAP32[$133>>2]|0; @@ -270361,7 +272087,7 @@ function _malloc($bytes) { $$v$0$i = $148 ? $144 : $v$0$i; $rsize$0$i = $$rsize$0$i;$t$0$i = $144;$v$0$i = $$v$0$i; } - $149 = HEAP32[(10148)>>2]|0; + $149 = HEAP32[(9872)>>2]|0; $150 = ($v$0$i$lcssa>>>0)<($149>>>0); if ($150) { _abort(); @@ -270457,7 +272183,7 @@ function _malloc($bytes) { if (!($180)) { $181 = ((($v$0$i$lcssa)) + 28|0); $182 = HEAP32[$181>>2]|0; - $183 = (10436 + ($182<<2)|0); + $183 = (10160 + ($182<<2)|0); $184 = HEAP32[$183>>2]|0; $185 = ($v$0$i$lcssa|0)==($184|0); if ($185) { @@ -270466,13 +272192,13 @@ function _malloc($bytes) { if ($cond$i) { $186 = 1 << $182; $187 = $186 ^ -1; - $188 = HEAP32[(10136)>>2]|0; + $188 = HEAP32[(9860)>>2]|0; $189 = $188 & $187; - HEAP32[(10136)>>2] = $189; + HEAP32[(9860)>>2] = $189; break; } } else { - $190 = HEAP32[(10148)>>2]|0; + $190 = HEAP32[(9872)>>2]|0; $191 = ($154>>>0)<($190>>>0); if ($191) { _abort(); @@ -270492,7 +272218,7 @@ function _malloc($bytes) { break; } } - $197 = HEAP32[(10148)>>2]|0; + $197 = HEAP32[(9872)>>2]|0; $198 = ($R$1$i>>>0)<($197>>>0); if ($198) { _abort(); @@ -270522,7 +272248,7 @@ function _malloc($bytes) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(10148)>>2]|0; + $209 = HEAP32[(9872)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -270559,28 +272285,28 @@ function _malloc($bytes) { $$sum1$i = (($rsize$0$i$lcssa) + ($4))|0; $224 = (($v$0$i$lcssa) + ($$sum1$i)|0); HEAP32[$224>>2] = $rsize$0$i$lcssa; - $225 = HEAP32[(10140)>>2]|0; + $225 = HEAP32[(9864)>>2]|0; $226 = ($225|0)==(0); if (!($226)) { - $227 = HEAP32[(10152)>>2]|0; + $227 = HEAP32[(9876)>>2]|0; $228 = $225 >>> 3; $229 = $228 << 1; - $230 = (10172 + ($229<<2)|0); - $231 = HEAP32[10132>>2]|0; + $230 = (9896 + ($229<<2)|0); + $231 = HEAP32[9856>>2]|0; $232 = 1 << $228; $233 = $231 & $232; $234 = ($233|0)==(0); if ($234) { $235 = $231 | $232; - HEAP32[10132>>2] = $235; + HEAP32[9856>>2] = $235; $$pre$i = (($229) + 2)|0; - $$pre8$i = (10172 + ($$pre$i<<2)|0); + $$pre8$i = (9896 + ($$pre$i<<2)|0); $$pre$phi$iZ2D = $$pre8$i;$F1$0$i = $230; } else { $$sum3$i = (($229) + 2)|0; - $236 = (10172 + ($$sum3$i<<2)|0); + $236 = (9896 + ($$sum3$i<<2)|0); $237 = HEAP32[$236>>2]|0; - $238 = HEAP32[(10148)>>2]|0; + $238 = HEAP32[(9872)>>2]|0; $239 = ($237>>>0)<($238>>>0); if ($239) { _abort(); @@ -270597,8 +272323,8 @@ function _malloc($bytes) { $242 = ((($227)) + 12|0); HEAP32[$242>>2] = $230; } - HEAP32[(10140)>>2] = $rsize$0$i$lcssa; - HEAP32[(10152)>>2] = $151; + HEAP32[(9864)>>2] = $rsize$0$i$lcssa; + HEAP32[(9876)>>2] = $151; } $243 = ((($v$0$i$lcssa)) + 8|0); $mem$0 = $243; @@ -270614,7 +272340,7 @@ function _malloc($bytes) { } else { $245 = (($bytes) + 11)|0; $246 = $245 & -8; - $247 = HEAP32[(10136)>>2]|0; + $247 = HEAP32[(9860)>>2]|0; $248 = ($247|0)==(0); if ($248) { $nb$0 = $246; @@ -270654,7 +272380,7 @@ function _malloc($bytes) { $idx$0$i = $274; } } - $275 = (10436 + ($idx$0$i<<2)|0); + $275 = (10160 + ($idx$0$i<<2)|0); $276 = HEAP32[$275>>2]|0; $277 = ($276|0)==(0|0); L123: do { @@ -270744,7 +272470,7 @@ function _malloc($bytes) { $325 = $321 | $324; $326 = $322 >>> $324; $327 = (($325) + ($326))|0; - $328 = (10436 + ($327<<2)|0); + $328 = (10160 + ($327<<2)|0); $329 = HEAP32[$328>>2]|0; $t$2$ph$i = $329;$v$3$ph$i = 0; } else { @@ -270792,11 +272518,11 @@ function _malloc($bytes) { if ($342) { $nb$0 = $246; } else { - $343 = HEAP32[(10140)>>2]|0; + $343 = HEAP32[(9864)>>2]|0; $344 = (($343) - ($246))|0; $345 = ($rsize$3$lcssa$i>>>0)<($344>>>0); if ($345) { - $346 = HEAP32[(10148)>>2]|0; + $346 = HEAP32[(9872)>>2]|0; $347 = ($v$3$lcssa$i>>>0)<($346>>>0); if ($347) { _abort(); @@ -270892,7 +272618,7 @@ function _malloc($bytes) { if (!($377)) { $378 = ((($v$3$lcssa$i)) + 28|0); $379 = HEAP32[$378>>2]|0; - $380 = (10436 + ($379<<2)|0); + $380 = (10160 + ($379<<2)|0); $381 = HEAP32[$380>>2]|0; $382 = ($v$3$lcssa$i|0)==($381|0); if ($382) { @@ -270901,13 +272627,13 @@ function _malloc($bytes) { if ($cond$i21) { $383 = 1 << $379; $384 = $383 ^ -1; - $385 = HEAP32[(10136)>>2]|0; + $385 = HEAP32[(9860)>>2]|0; $386 = $385 & $384; - HEAP32[(10136)>>2] = $386; + HEAP32[(9860)>>2] = $386; break; } } else { - $387 = HEAP32[(10148)>>2]|0; + $387 = HEAP32[(9872)>>2]|0; $388 = ($351>>>0)<($387>>>0); if ($388) { _abort(); @@ -270927,7 +272653,7 @@ function _malloc($bytes) { break; } } - $394 = HEAP32[(10148)>>2]|0; + $394 = HEAP32[(9872)>>2]|0; $395 = ($R$1$i20>>>0)<($394>>>0); if ($395) { _abort(); @@ -270957,7 +272683,7 @@ function _malloc($bytes) { $404 = HEAP32[$403>>2]|0; $405 = ($404|0)==(0|0); if (!($405)) { - $406 = HEAP32[(10148)>>2]|0; + $406 = HEAP32[(9872)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -270999,22 +272725,22 @@ function _malloc($bytes) { $423 = ($rsize$3$lcssa$i>>>0)<(256); if ($423) { $424 = $422 << 1; - $425 = (10172 + ($424<<2)|0); - $426 = HEAP32[10132>>2]|0; + $425 = (9896 + ($424<<2)|0); + $426 = HEAP32[9856>>2]|0; $427 = 1 << $422; $428 = $426 & $427; $429 = ($428|0)==(0); if ($429) { $430 = $426 | $427; - HEAP32[10132>>2] = $430; + HEAP32[9856>>2] = $430; $$pre$i25 = (($424) + 2)|0; - $$pre43$i = (10172 + ($$pre$i25<<2)|0); + $$pre43$i = (9896 + ($$pre$i25<<2)|0); $$pre$phi$i26Z2D = $$pre43$i;$F5$0$i = $425; } else { $$sum17$i = (($424) + 2)|0; - $431 = (10172 + ($$sum17$i<<2)|0); + $431 = (9896 + ($$sum17$i<<2)|0); $432 = HEAP32[$431>>2]|0; - $433 = HEAP32[(10148)>>2]|0; + $433 = HEAP32[(9872)>>2]|0; $434 = ($432>>>0)<($433>>>0); if ($434) { _abort(); @@ -271068,7 +272794,7 @@ function _malloc($bytes) { $I7$0$i = $462; } } - $463 = (10436 + ($I7$0$i<<2)|0); + $463 = (10160 + ($I7$0$i<<2)|0); $$sum2$i = (($246) + 28)|0; $464 = (($v$3$lcssa$i) + ($$sum2$i)|0); HEAP32[$464>>2] = $I7$0$i; @@ -271078,13 +272804,13 @@ function _malloc($bytes) { $466 = (($v$3$lcssa$i) + ($$sum4$i28)|0); HEAP32[$466>>2] = 0; HEAP32[$465>>2] = 0; - $467 = HEAP32[(10136)>>2]|0; + $467 = HEAP32[(9860)>>2]|0; $468 = 1 << $I7$0$i; $469 = $467 & $468; $470 = ($469|0)==(0); if ($470) { $471 = $467 | $468; - HEAP32[(10136)>>2] = $471; + HEAP32[(9860)>>2] = $471; HEAP32[$463>>2] = $348; $$sum5$i = (($246) + 24)|0; $472 = (($v$3$lcssa$i) + ($$sum5$i)|0); @@ -271133,7 +272859,7 @@ function _malloc($bytes) { $K12$029$i = $485;$T$028$i = $487; } } - $494 = HEAP32[(10148)>>2]|0; + $494 = HEAP32[(9872)>>2]|0; $495 = ($$lcssa232>>>0)<($494>>>0); if ($495) { _abort(); @@ -271155,7 +272881,7 @@ function _malloc($bytes) { } while(0); $499 = ((($T$0$lcssa$i)) + 8|0); $500 = HEAP32[$499>>2]|0; - $501 = HEAP32[(10148)>>2]|0; + $501 = HEAP32[(9872)>>2]|0; $502 = ($500>>>0)>=($501>>>0); $not$$i = ($T$0$lcssa$i>>>0)>=($501>>>0); $503 = $502 & $not$$i; @@ -271190,16 +272916,16 @@ function _malloc($bytes) { } } } while(0); - $509 = HEAP32[(10140)>>2]|0; + $509 = HEAP32[(9864)>>2]|0; $510 = ($509>>>0)<($nb$0>>>0); if (!($510)) { $511 = (($509) - ($nb$0))|0; - $512 = HEAP32[(10152)>>2]|0; + $512 = HEAP32[(9876)>>2]|0; $513 = ($511>>>0)>(15); if ($513) { $514 = (($512) + ($nb$0)|0); - HEAP32[(10152)>>2] = $514; - HEAP32[(10140)>>2] = $511; + HEAP32[(9876)>>2] = $514; + HEAP32[(9864)>>2] = $511; $515 = $511 | 1; $$sum2 = (($nb$0) + 4)|0; $516 = (($512) + ($$sum2)|0); @@ -271210,8 +272936,8 @@ function _malloc($bytes) { $519 = ((($512)) + 4|0); HEAP32[$519>>2] = $518; } else { - HEAP32[(10140)>>2] = 0; - HEAP32[(10152)>>2] = 0; + HEAP32[(9864)>>2] = 0; + HEAP32[(9876)>>2] = 0; $520 = $509 | 3; $521 = ((($512)) + 4|0); HEAP32[$521>>2] = $520; @@ -271225,14 +272951,14 @@ function _malloc($bytes) { $mem$0 = $525; return ($mem$0|0); } - $526 = HEAP32[(10144)>>2]|0; + $526 = HEAP32[(9868)>>2]|0; $527 = ($526>>>0)>($nb$0>>>0); if ($527) { $528 = (($526) - ($nb$0))|0; - HEAP32[(10144)>>2] = $528; - $529 = HEAP32[(10156)>>2]|0; + HEAP32[(9868)>>2] = $528; + $529 = HEAP32[(9880)>>2]|0; $530 = (($529) + ($nb$0)|0); - HEAP32[(10156)>>2] = $530; + HEAP32[(9880)>>2] = $530; $531 = $528 | 1; $$sum = (($nb$0) + 4)|0; $532 = (($529) + ($$sum)|0); @@ -271244,7 +272970,7 @@ function _malloc($bytes) { $mem$0 = $535; return ($mem$0|0); } - $536 = HEAP32[10604>>2]|0; + $536 = HEAP32[10328>>2]|0; $537 = ($536|0)==(0); do { if ($537) { @@ -271253,16 +272979,16 @@ function _malloc($bytes) { $540 = $539 & $538; $541 = ($540|0)==(0); if ($541) { - HEAP32[(10612)>>2] = $538; - HEAP32[(10608)>>2] = $538; - HEAP32[(10616)>>2] = -1; - HEAP32[(10620)>>2] = -1; - HEAP32[(10624)>>2] = 0; - HEAP32[(10576)>>2] = 0; + HEAP32[(10336)>>2] = $538; + HEAP32[(10332)>>2] = $538; + HEAP32[(10340)>>2] = -1; + HEAP32[(10344)>>2] = -1; + HEAP32[(10348)>>2] = 0; + HEAP32[(10300)>>2] = 0; $542 = (_time((0|0))|0); $543 = $542 & -16; $544 = $543 ^ 1431655768; - HEAP32[10604>>2] = $544; + HEAP32[10328>>2] = $544; break; } else { _abort(); @@ -271271,7 +272997,7 @@ function _malloc($bytes) { } } while(0); $545 = (($nb$0) + 48)|0; - $546 = HEAP32[(10612)>>2]|0; + $546 = HEAP32[(10336)>>2]|0; $547 = (($nb$0) + 47)|0; $548 = (($546) + ($547))|0; $549 = (0 - ($546))|0; @@ -271281,10 +273007,10 @@ function _malloc($bytes) { $mem$0 = 0; return ($mem$0|0); } - $552 = HEAP32[(10572)>>2]|0; + $552 = HEAP32[(10296)>>2]|0; $553 = ($552|0)==(0); if (!($553)) { - $554 = HEAP32[(10564)>>2]|0; + $554 = HEAP32[(10288)>>2]|0; $555 = (($554) + ($550))|0; $556 = ($555>>>0)<=($554>>>0); $557 = ($555>>>0)>($552>>>0); @@ -271294,18 +273020,18 @@ function _malloc($bytes) { return ($mem$0|0); } } - $558 = HEAP32[(10576)>>2]|0; + $558 = HEAP32[(10300)>>2]|0; $559 = $558 & 4; $560 = ($559|0)==(0); L258: do { if ($560) { - $561 = HEAP32[(10156)>>2]|0; + $561 = HEAP32[(9880)>>2]|0; $562 = ($561|0)==(0|0); L260: do { if ($562) { label = 174; } else { - $sp$0$i$i = (10580); + $sp$0$i$i = (10304); while(1) { $563 = HEAP32[$sp$0$i$i>>2]|0; $564 = ($563>>>0)>($561>>>0); @@ -271329,7 +273055,7 @@ function _malloc($bytes) { $sp$0$i$i = $570; } } - $594 = HEAP32[(10144)>>2]|0; + $594 = HEAP32[(9868)>>2]|0; $595 = (($548) - ($594))|0; $596 = $595 & $549; $597 = ($596>>>0)<(2147483647); @@ -271366,7 +273092,7 @@ function _malloc($bytes) { $tsize$0323944$i = 0; } else { $574 = $572; - $575 = HEAP32[(10608)>>2]|0; + $575 = HEAP32[(10332)>>2]|0; $576 = (($575) + -1)|0; $577 = $576 & $574; $578 = ($577|0)==(0); @@ -271380,13 +273106,13 @@ function _malloc($bytes) { $583 = (($582) + ($581))|0; $ssize$0$i = $583; } - $584 = HEAP32[(10564)>>2]|0; + $584 = HEAP32[(10288)>>2]|0; $585 = (($584) + ($ssize$0$i))|0; $586 = ($ssize$0$i>>>0)>($nb$0>>>0); $587 = ($ssize$0$i>>>0)<(2147483647); $or$cond$i30 = $586 & $587; if ($or$cond$i30) { - $588 = HEAP32[(10572)>>2]|0; + $588 = HEAP32[(10296)>>2]|0; $589 = ($588|0)==(0); if (!($589)) { $590 = ($585>>>0)<=($584>>>0); @@ -271424,7 +273150,7 @@ function _malloc($bytes) { $or$cond6$i = $607 & $or$cond5$i; do { if ($or$cond6$i) { - $608 = HEAP32[(10612)>>2]|0; + $608 = HEAP32[(10336)>>2]|0; $609 = (($547) - ($ssize$1$ph$i))|0; $610 = (($609) + ($608))|0; $611 = (0 - ($608))|0; @@ -271459,9 +273185,9 @@ function _malloc($bytes) { } } } while(0); - $618 = HEAP32[(10576)>>2]|0; + $618 = HEAP32[(10300)>>2]|0; $619 = $618 | 4; - HEAP32[(10576)>>2] = $619; + HEAP32[(10300)>>2] = $619; $tsize$1$i = $tsize$0323944$i; label = 191; } else { @@ -271494,40 +273220,40 @@ function _malloc($bytes) { } } if ((label|0) == 194) { - $631 = HEAP32[(10564)>>2]|0; + $631 = HEAP32[(10288)>>2]|0; $632 = (($631) + ($tsize$254$i))|0; - HEAP32[(10564)>>2] = $632; - $633 = HEAP32[(10568)>>2]|0; + HEAP32[(10288)>>2] = $632; + $633 = HEAP32[(10292)>>2]|0; $634 = ($632>>>0)>($633>>>0); if ($634) { - HEAP32[(10568)>>2] = $632; + HEAP32[(10292)>>2] = $632; } - $635 = HEAP32[(10156)>>2]|0; + $635 = HEAP32[(9880)>>2]|0; $636 = ($635|0)==(0|0); L299: do { if ($636) { - $637 = HEAP32[(10148)>>2]|0; + $637 = HEAP32[(9872)>>2]|0; $638 = ($637|0)==(0|0); $639 = ($tbase$255$i>>>0)<($637>>>0); $or$cond9$i = $638 | $639; if ($or$cond9$i) { - HEAP32[(10148)>>2] = $tbase$255$i; - } - HEAP32[(10580)>>2] = $tbase$255$i; - HEAP32[(10584)>>2] = $tsize$254$i; - HEAP32[(10592)>>2] = 0; - $640 = HEAP32[10604>>2]|0; - HEAP32[(10168)>>2] = $640; - HEAP32[(10164)>>2] = -1; + HEAP32[(9872)>>2] = $tbase$255$i; + } + HEAP32[(10304)>>2] = $tbase$255$i; + HEAP32[(10308)>>2] = $tsize$254$i; + HEAP32[(10316)>>2] = 0; + $640 = HEAP32[10328>>2]|0; + HEAP32[(9892)>>2] = $640; + HEAP32[(9888)>>2] = -1; $i$02$i$i = 0; while(1) { $641 = $i$02$i$i << 1; - $642 = (10172 + ($641<<2)|0); + $642 = (9896 + ($641<<2)|0); $$sum$i$i = (($641) + 3)|0; - $643 = (10172 + ($$sum$i$i<<2)|0); + $643 = (9896 + ($$sum$i$i<<2)|0); HEAP32[$643>>2] = $642; $$sum1$i$i = (($641) + 2)|0; - $644 = (10172 + ($$sum1$i$i<<2)|0); + $644 = (9896 + ($$sum1$i$i<<2)|0); HEAP32[$644>>2] = $642; $645 = (($i$02$i$i) + 1)|0; $exitcond$i$i = ($645|0)==(32); @@ -271547,8 +273273,8 @@ function _malloc($bytes) { $653 = $650 ? 0 : $652; $654 = (($tbase$255$i) + ($653)|0); $655 = (($646) - ($653))|0; - HEAP32[(10156)>>2] = $654; - HEAP32[(10144)>>2] = $655; + HEAP32[(9880)>>2] = $654; + HEAP32[(9868)>>2] = $655; $656 = $655 | 1; $$sum$i13$i = (($653) + 4)|0; $657 = (($tbase$255$i) + ($$sum$i13$i)|0); @@ -271556,10 +273282,10 @@ function _malloc($bytes) { $$sum2$i$i = (($tsize$254$i) + -36)|0; $658 = (($tbase$255$i) + ($$sum2$i$i)|0); HEAP32[$658>>2] = 40; - $659 = HEAP32[(10620)>>2]|0; - HEAP32[(10160)>>2] = $659; + $659 = HEAP32[(10344)>>2]|0; + HEAP32[(9884)>>2] = $659; } else { - $sp$084$i = (10580); + $sp$084$i = (10304); while(1) { $660 = HEAP32[$sp$084$i>>2]|0; $661 = ((($sp$084$i)) + 4|0); @@ -271592,7 +273318,7 @@ function _malloc($bytes) { if ($or$cond57$i) { $674 = (($$lcssa226) + ($tsize$254$i))|0; HEAP32[$$lcssa224>>2] = $674; - $675 = HEAP32[(10144)>>2]|0; + $675 = HEAP32[(9868)>>2]|0; $676 = (($675) + ($tsize$254$i))|0; $677 = ((($635)) + 8|0); $678 = $677; @@ -271603,8 +273329,8 @@ function _malloc($bytes) { $683 = $680 ? 0 : $682; $684 = (($635) + ($683)|0); $685 = (($676) - ($683))|0; - HEAP32[(10156)>>2] = $684; - HEAP32[(10144)>>2] = $685; + HEAP32[(9880)>>2] = $684; + HEAP32[(9868)>>2] = $685; $686 = $685 | 1; $$sum$i17$i = (($683) + 4)|0; $687 = (($635) + ($$sum$i17$i)|0); @@ -271612,22 +273338,22 @@ function _malloc($bytes) { $$sum2$i18$i = (($676) + 4)|0; $688 = (($635) + ($$sum2$i18$i)|0); HEAP32[$688>>2] = 40; - $689 = HEAP32[(10620)>>2]|0; - HEAP32[(10160)>>2] = $689; + $689 = HEAP32[(10344)>>2]|0; + HEAP32[(9884)>>2] = $689; break; } } } - $690 = HEAP32[(10148)>>2]|0; + $690 = HEAP32[(9872)>>2]|0; $691 = ($tbase$255$i>>>0)<($690>>>0); if ($691) { - HEAP32[(10148)>>2] = $tbase$255$i; + HEAP32[(9872)>>2] = $tbase$255$i; $755 = $tbase$255$i; } else { $755 = $690; } $692 = (($tbase$255$i) + ($tsize$254$i)|0); - $sp$183$i = (10580); + $sp$183$i = (10304); while(1) { $693 = HEAP32[$sp$183$i>>2]|0; $694 = ($693|0)==($692|0); @@ -271640,7 +273366,7 @@ function _malloc($bytes) { $696 = HEAP32[$695>>2]|0; $697 = ($696|0)==(0|0); if ($697) { - $sp$0$i$i$i = (10580); + $sp$0$i$i$i = (10304); break; } else { $sp$183$i = $696; @@ -271688,22 +273414,22 @@ function _malloc($bytes) { $728 = ($720|0)==($635|0); L324: do { if ($728) { - $729 = HEAP32[(10144)>>2]|0; + $729 = HEAP32[(9868)>>2]|0; $730 = (($729) + ($725))|0; - HEAP32[(10144)>>2] = $730; - HEAP32[(10156)>>2] = $724; + HEAP32[(9868)>>2] = $730; + HEAP32[(9880)>>2] = $724; $731 = $730 | 1; $$sum42$i$i = (($$sum$i19$i) + 4)|0; $732 = (($tbase$255$i) + ($$sum42$i$i)|0); HEAP32[$732>>2] = $731; } else { - $733 = HEAP32[(10152)>>2]|0; + $733 = HEAP32[(9876)>>2]|0; $734 = ($720|0)==($733|0); if ($734) { - $735 = HEAP32[(10140)>>2]|0; + $735 = HEAP32[(9864)>>2]|0; $736 = (($735) + ($725))|0; - HEAP32[(10140)>>2] = $736; - HEAP32[(10152)>>2] = $724; + HEAP32[(9864)>>2] = $736; + HEAP32[(9876)>>2] = $724; $737 = $736 | 1; $$sum40$i$i = (($$sum$i19$i) + 4)|0; $738 = (($tbase$255$i) + ($$sum40$i$i)|0); @@ -271734,7 +273460,7 @@ function _malloc($bytes) { $749 = (($tbase$255$i) + ($$sum125$i)|0); $750 = HEAP32[$749>>2]|0; $751 = $745 << 1; - $752 = (10172 + ($751<<2)|0); + $752 = (9896 + ($751<<2)|0); $753 = ($748|0)==($752|0); do { if (!($753)) { @@ -271757,9 +273483,9 @@ function _malloc($bytes) { if ($759) { $760 = 1 << $745; $761 = $760 ^ -1; - $762 = HEAP32[10132>>2]|0; + $762 = HEAP32[9856>>2]|0; $763 = $762 & $761; - HEAP32[10132>>2] = $763; + HEAP32[9856>>2] = $763; break; } $764 = ($750|0)==($752|0); @@ -271884,7 +273610,7 @@ function _malloc($bytes) { $$sum118$i = (($$sum30$i$i) + ($719))|0; $798 = (($tbase$255$i) + ($$sum118$i)|0); $799 = HEAP32[$798>>2]|0; - $800 = (10436 + ($799<<2)|0); + $800 = (10160 + ($799<<2)|0); $801 = HEAP32[$800>>2]|0; $802 = ($720|0)==($801|0); do { @@ -271896,12 +273622,12 @@ function _malloc($bytes) { } $803 = 1 << $799; $804 = $803 ^ -1; - $805 = HEAP32[(10136)>>2]|0; + $805 = HEAP32[(9860)>>2]|0; $806 = $805 & $804; - HEAP32[(10136)>>2] = $806; + HEAP32[(9860)>>2] = $806; break L332; } else { - $807 = HEAP32[(10148)>>2]|0; + $807 = HEAP32[(9872)>>2]|0; $808 = ($771>>>0)<($807>>>0); if ($808) { _abort(); @@ -271922,7 +273648,7 @@ function _malloc($bytes) { } } } while(0); - $814 = HEAP32[(10148)>>2]|0; + $814 = HEAP32[(9872)>>2]|0; $815 = ($R$1$i$i>>>0)<($814>>>0); if ($815) { _abort(); @@ -271957,7 +273683,7 @@ function _malloc($bytes) { if ($825) { break; } - $826 = HEAP32[(10148)>>2]|0; + $826 = HEAP32[(9872)>>2]|0; $827 = ($824>>>0)<($826>>>0); if ($827) { _abort(); @@ -271994,23 +273720,23 @@ function _malloc($bytes) { $839 = ($qsize$0$i$i>>>0)<(256); if ($839) { $840 = $838 << 1; - $841 = (10172 + ($840<<2)|0); - $842 = HEAP32[10132>>2]|0; + $841 = (9896 + ($840<<2)|0); + $842 = HEAP32[9856>>2]|0; $843 = 1 << $838; $844 = $842 & $843; $845 = ($844|0)==(0); do { if ($845) { $846 = $842 | $843; - HEAP32[10132>>2] = $846; + HEAP32[9856>>2] = $846; $$pre$i22$i = (($840) + 2)|0; - $$pre56$i$i = (10172 + ($$pre$i22$i<<2)|0); + $$pre56$i$i = (9896 + ($$pre$i22$i<<2)|0); $$pre$phi$i23$iZ2D = $$pre56$i$i;$F4$0$i$i = $841; } else { $$sum29$i$i = (($840) + 2)|0; - $847 = (10172 + ($$sum29$i$i<<2)|0); + $847 = (9896 + ($$sum29$i$i<<2)|0); $848 = HEAP32[$847>>2]|0; - $849 = HEAP32[(10148)>>2]|0; + $849 = HEAP32[(9872)>>2]|0; $850 = ($848>>>0)<($849>>>0); if (!($850)) { $$pre$phi$i23$iZ2D = $847;$F4$0$i$i = $848; @@ -272067,7 +273793,7 @@ function _malloc($bytes) { $I7$0$i$i = $878; } } while(0); - $879 = (10436 + ($I7$0$i$i<<2)|0); + $879 = (10160 + ($I7$0$i$i<<2)|0); $$sum12$i$i = (($$sum$i19$i) + 28)|0; $880 = (($tbase$255$i) + ($$sum12$i$i)|0); HEAP32[$880>>2] = $I7$0$i$i; @@ -272077,13 +273803,13 @@ function _malloc($bytes) { $882 = (($tbase$255$i) + ($$sum14$i$i)|0); HEAP32[$882>>2] = 0; HEAP32[$881>>2] = 0; - $883 = HEAP32[(10136)>>2]|0; + $883 = HEAP32[(9860)>>2]|0; $884 = 1 << $I7$0$i$i; $885 = $883 & $884; $886 = ($885|0)==(0); if ($886) { $887 = $883 | $884; - HEAP32[(10136)>>2] = $887; + HEAP32[(9860)>>2] = $887; HEAP32[$879>>2] = $724; $$sum15$i$i = (($$sum$i19$i) + 24)|0; $888 = (($tbase$255$i) + ($$sum15$i$i)|0); @@ -272132,7 +273858,7 @@ function _malloc($bytes) { $K8$051$i$i = $901;$T$050$i$i = $903; } } - $910 = HEAP32[(10148)>>2]|0; + $910 = HEAP32[(9872)>>2]|0; $911 = ($$lcssa>>>0)<($910>>>0); if ($911) { _abort(); @@ -272154,7 +273880,7 @@ function _malloc($bytes) { } while(0); $915 = ((($T$0$lcssa$i25$i)) + 8|0); $916 = HEAP32[$915>>2]|0; - $917 = HEAP32[(10148)>>2]|0; + $917 = HEAP32[(9872)>>2]|0; $918 = ($916>>>0)>=($917>>>0); $not$$i26$i = ($T$0$lcssa$i25$i>>>0)>=($917>>>0); $919 = $918 & $not$$i26$i; @@ -272183,7 +273909,7 @@ function _malloc($bytes) { $mem$0 = $924; return ($mem$0|0); } else { - $sp$0$i$i$i = (10580); + $sp$0$i$i$i = (10304); } } while(1) { @@ -272228,8 +273954,8 @@ function _malloc($bytes) { $952 = $949 ? 0 : $951; $953 = (($tbase$255$i) + ($952)|0); $954 = (($945) - ($952))|0; - HEAP32[(10156)>>2] = $953; - HEAP32[(10144)>>2] = $954; + HEAP32[(9880)>>2] = $953; + HEAP32[(9868)>>2] = $954; $955 = $954 | 1; $$sum$i$i$i = (($952) + 4)|0; $956 = (($tbase$255$i) + ($$sum$i$i$i)|0); @@ -272237,15 +273963,15 @@ function _malloc($bytes) { $$sum2$i$i$i = (($tsize$254$i) + -36)|0; $957 = (($tbase$255$i) + ($$sum2$i$i$i)|0); HEAP32[$957>>2] = 40; - $958 = HEAP32[(10620)>>2]|0; - HEAP32[(10160)>>2] = $958; + $958 = HEAP32[(10344)>>2]|0; + HEAP32[(9884)>>2] = $958; $959 = ((($943)) + 4|0); HEAP32[$959>>2] = 27; - ;HEAP32[$944>>2]=HEAP32[(10580)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(10580)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(10580)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(10580)+12>>2]|0; - HEAP32[(10580)>>2] = $tbase$255$i; - HEAP32[(10584)>>2] = $tsize$254$i; - HEAP32[(10592)>>2] = 0; - HEAP32[(10588)>>2] = $944; + ;HEAP32[$944>>2]=HEAP32[(10304)>>2]|0;HEAP32[$944+4>>2]=HEAP32[(10304)+4>>2]|0;HEAP32[$944+8>>2]=HEAP32[(10304)+8>>2]|0;HEAP32[$944+12>>2]=HEAP32[(10304)+12>>2]|0; + HEAP32[(10304)>>2] = $tbase$255$i; + HEAP32[(10308)>>2] = $tsize$254$i; + HEAP32[(10316)>>2] = 0; + HEAP32[(10312)>>2] = $944; $960 = ((($943)) + 28|0); HEAP32[$960>>2] = 7; $961 = ((($943)) + 32|0); @@ -272280,22 +274006,22 @@ function _malloc($bytes) { $976 = ($970>>>0)<(256); if ($976) { $977 = $975 << 1; - $978 = (10172 + ($977<<2)|0); - $979 = HEAP32[10132>>2]|0; + $978 = (9896 + ($977<<2)|0); + $979 = HEAP32[9856>>2]|0; $980 = 1 << $975; $981 = $979 & $980; $982 = ($981|0)==(0); if ($982) { $983 = $979 | $980; - HEAP32[10132>>2] = $983; + HEAP32[9856>>2] = $983; $$pre$i$i = (($977) + 2)|0; - $$pre14$i$i = (10172 + ($$pre$i$i<<2)|0); + $$pre14$i$i = (9896 + ($$pre$i$i<<2)|0); $$pre$phi$i$iZ2D = $$pre14$i$i;$F$0$i$i = $978; } else { $$sum4$i$i = (($977) + 2)|0; - $984 = (10172 + ($$sum4$i$i<<2)|0); + $984 = (9896 + ($$sum4$i$i<<2)|0); $985 = HEAP32[$984>>2]|0; - $986 = HEAP32[(10148)>>2]|0; + $986 = HEAP32[(9872)>>2]|0; $987 = ($985>>>0)<($986>>>0); if ($987) { _abort(); @@ -272347,19 +274073,19 @@ function _malloc($bytes) { $I1$0$i$i = $1015; } } - $1016 = (10436 + ($I1$0$i$i<<2)|0); + $1016 = (10160 + ($I1$0$i$i<<2)|0); $1017 = ((($635)) + 28|0); HEAP32[$1017>>2] = $I1$0$i$i; $1018 = ((($635)) + 20|0); HEAP32[$1018>>2] = 0; HEAP32[$941>>2] = 0; - $1019 = HEAP32[(10136)>>2]|0; + $1019 = HEAP32[(9860)>>2]|0; $1020 = 1 << $I1$0$i$i; $1021 = $1019 & $1020; $1022 = ($1021|0)==(0); if ($1022) { $1023 = $1019 | $1020; - HEAP32[(10136)>>2] = $1023; + HEAP32[(9860)>>2] = $1023; HEAP32[$1016>>2] = $635; $1024 = ((($635)) + 24|0); HEAP32[$1024>>2] = $1016; @@ -272405,7 +274131,7 @@ function _malloc($bytes) { $K2$07$i$i = $1037;$T$06$i$i = $1039; } } - $1046 = HEAP32[(10148)>>2]|0; + $1046 = HEAP32[(9872)>>2]|0; $1047 = ($$lcssa211>>>0)<($1046>>>0); if ($1047) { _abort(); @@ -272424,7 +274150,7 @@ function _malloc($bytes) { } while(0); $1051 = ((($T$0$lcssa$i$i)) + 8|0); $1052 = HEAP32[$1051>>2]|0; - $1053 = HEAP32[(10148)>>2]|0; + $1053 = HEAP32[(9872)>>2]|0; $1054 = ($1052>>>0)>=($1053>>>0); $not$$i$i = ($T$0$lcssa$i$i>>>0)>=($1053>>>0); $1055 = $1054 & $not$$i$i; @@ -272446,14 +274172,14 @@ function _malloc($bytes) { } } } while(0); - $1060 = HEAP32[(10144)>>2]|0; + $1060 = HEAP32[(9868)>>2]|0; $1061 = ($1060>>>0)>($nb$0>>>0); if ($1061) { $1062 = (($1060) - ($nb$0))|0; - HEAP32[(10144)>>2] = $1062; - $1063 = HEAP32[(10156)>>2]|0; + HEAP32[(9868)>>2] = $1062; + $1063 = HEAP32[(9880)>>2]|0; $1064 = (($1063) + ($nb$0)|0); - HEAP32[(10156)>>2] = $1064; + HEAP32[(9880)>>2] = $1064; $1065 = $1062 | 1; $$sum$i32 = (($nb$0) + 4)|0; $1066 = (($1063) + ($$sum$i32)|0); @@ -272498,7 +274224,7 @@ function _free($mem) { return; } $1 = ((($mem)) + -8|0); - $2 = HEAP32[(10148)>>2]|0; + $2 = HEAP32[(9872)>>2]|0; $3 = ($1>>>0)<($2>>>0); if ($3) { _abort(); @@ -272532,7 +274258,7 @@ function _free($mem) { _abort(); // unreachable; } - $17 = HEAP32[(10152)>>2]|0; + $17 = HEAP32[(9876)>>2]|0; $18 = ($14|0)==($17|0); if ($18) { $$sum3 = (($8) + -4)|0; @@ -272544,7 +274270,7 @@ function _free($mem) { $p$0 = $14;$psize$0 = $15; break; } - HEAP32[(10140)>>2] = $15; + HEAP32[(9864)>>2] = $15; $107 = $104 & -2; HEAP32[$103>>2] = $107; $108 = $15 | 1; @@ -272564,7 +274290,7 @@ function _free($mem) { $23 = (($mem) + ($$sum31)|0); $24 = HEAP32[$23>>2]|0; $25 = $19 << 1; - $26 = (10172 + ($25<<2)|0); + $26 = (9896 + ($25<<2)|0); $27 = ($22|0)==($26|0); if (!($27)) { $28 = ($22>>>0)<($2>>>0); @@ -272584,9 +274310,9 @@ function _free($mem) { if ($32) { $33 = 1 << $19; $34 = $33 ^ -1; - $35 = HEAP32[10132>>2]|0; + $35 = HEAP32[9856>>2]|0; $36 = $35 & $34; - HEAP32[10132>>2] = $36; + HEAP32[9856>>2] = $36; $p$0 = $14;$psize$0 = $15; break; } @@ -272707,7 +274433,7 @@ function _free($mem) { $$sum26 = (($$sum2) + 28)|0; $71 = (($mem) + ($$sum26)|0); $72 = HEAP32[$71>>2]|0; - $73 = (10436 + ($72<<2)|0); + $73 = (10160 + ($72<<2)|0); $74 = HEAP32[$73>>2]|0; $75 = ($14|0)==($74|0); if ($75) { @@ -272716,14 +274442,14 @@ function _free($mem) { if ($cond) { $76 = 1 << $72; $77 = $76 ^ -1; - $78 = HEAP32[(10136)>>2]|0; + $78 = HEAP32[(9860)>>2]|0; $79 = $78 & $77; - HEAP32[(10136)>>2] = $79; + HEAP32[(9860)>>2] = $79; $p$0 = $14;$psize$0 = $15; break; } } else { - $80 = HEAP32[(10148)>>2]|0; + $80 = HEAP32[(9872)>>2]|0; $81 = ($44>>>0)<($80>>>0); if ($81) { _abort(); @@ -272744,7 +274470,7 @@ function _free($mem) { break; } } - $87 = HEAP32[(10148)>>2]|0; + $87 = HEAP32[(9872)>>2]|0; $88 = ($R$1>>>0)<($87>>>0); if ($88) { _abort(); @@ -272778,7 +274504,7 @@ function _free($mem) { if ($98) { $p$0 = $14;$psize$0 = $15; } else { - $99 = HEAP32[(10148)>>2]|0; + $99 = HEAP32[(9872)>>2]|0; $100 = ($97>>>0)<($99>>>0); if ($100) { _abort(); @@ -272814,32 +274540,32 @@ function _free($mem) { $115 = $112 & 2; $116 = ($115|0)==(0); if ($116) { - $117 = HEAP32[(10156)>>2]|0; + $117 = HEAP32[(9880)>>2]|0; $118 = ($9|0)==($117|0); if ($118) { - $119 = HEAP32[(10144)>>2]|0; + $119 = HEAP32[(9868)>>2]|0; $120 = (($119) + ($psize$0))|0; - HEAP32[(10144)>>2] = $120; - HEAP32[(10156)>>2] = $p$0; + HEAP32[(9868)>>2] = $120; + HEAP32[(9880)>>2] = $p$0; $121 = $120 | 1; $122 = ((($p$0)) + 4|0); HEAP32[$122>>2] = $121; - $123 = HEAP32[(10152)>>2]|0; + $123 = HEAP32[(9876)>>2]|0; $124 = ($p$0|0)==($123|0); if (!($124)) { return; } - HEAP32[(10152)>>2] = 0; - HEAP32[(10140)>>2] = 0; + HEAP32[(9876)>>2] = 0; + HEAP32[(9864)>>2] = 0; return; } - $125 = HEAP32[(10152)>>2]|0; + $125 = HEAP32[(9876)>>2]|0; $126 = ($9|0)==($125|0); if ($126) { - $127 = HEAP32[(10140)>>2]|0; + $127 = HEAP32[(9864)>>2]|0; $128 = (($127) + ($psize$0))|0; - HEAP32[(10140)>>2] = $128; - HEAP32[(10152)>>2] = $p$0; + HEAP32[(9864)>>2] = $128; + HEAP32[(9876)>>2] = $p$0; $129 = $128 | 1; $130 = ((($p$0)) + 4|0); HEAP32[$130>>2] = $129; @@ -272859,10 +274585,10 @@ function _free($mem) { $138 = (($mem) + ($$sum1718)|0); $139 = HEAP32[$138>>2]|0; $140 = $134 << 1; - $141 = (10172 + ($140<<2)|0); + $141 = (9896 + ($140<<2)|0); $142 = ($137|0)==($141|0); if (!($142)) { - $143 = HEAP32[(10148)>>2]|0; + $143 = HEAP32[(9872)>>2]|0; $144 = ($137>>>0)<($143>>>0); if ($144) { _abort(); @@ -272880,9 +274606,9 @@ function _free($mem) { if ($148) { $149 = 1 << $134; $150 = $149 ^ -1; - $151 = HEAP32[10132>>2]|0; + $151 = HEAP32[9856>>2]|0; $152 = $151 & $150; - HEAP32[10132>>2] = $152; + HEAP32[9856>>2] = $152; break; } $153 = ($139|0)==($141|0); @@ -272890,7 +274616,7 @@ function _free($mem) { $$pre58 = ((($139)) + 8|0); $$pre$phi59Z2D = $$pre58; } else { - $154 = HEAP32[(10148)>>2]|0; + $154 = HEAP32[(9872)>>2]|0; $155 = ($139>>>0)<($154>>>0); if ($155) { _abort(); @@ -272955,7 +274681,7 @@ function _free($mem) { $R7$0 = $185;$RP9$0 = $184; } } - $187 = HEAP32[(10148)>>2]|0; + $187 = HEAP32[(9872)>>2]|0; $188 = ($RP9$0$lcssa>>>0)<($187>>>0); if ($188) { _abort(); @@ -272968,7 +274694,7 @@ function _free($mem) { } else { $165 = (($mem) + ($8)|0); $166 = HEAP32[$165>>2]|0; - $167 = HEAP32[(10148)>>2]|0; + $167 = HEAP32[(9872)>>2]|0; $168 = ($166>>>0)<($167>>>0); if ($168) { _abort(); @@ -273000,7 +274726,7 @@ function _free($mem) { $$sum12 = (($8) + 20)|0; $190 = (($mem) + ($$sum12)|0); $191 = HEAP32[$190>>2]|0; - $192 = (10436 + ($191<<2)|0); + $192 = (10160 + ($191<<2)|0); $193 = HEAP32[$192>>2]|0; $194 = ($9|0)==($193|0); if ($194) { @@ -273009,13 +274735,13 @@ function _free($mem) { if ($cond47) { $195 = 1 << $191; $196 = $195 ^ -1; - $197 = HEAP32[(10136)>>2]|0; + $197 = HEAP32[(9860)>>2]|0; $198 = $197 & $196; - HEAP32[(10136)>>2] = $198; + HEAP32[(9860)>>2] = $198; break; } } else { - $199 = HEAP32[(10148)>>2]|0; + $199 = HEAP32[(9872)>>2]|0; $200 = ($161>>>0)<($199>>>0); if ($200) { _abort(); @@ -273035,7 +274761,7 @@ function _free($mem) { break; } } - $206 = HEAP32[(10148)>>2]|0; + $206 = HEAP32[(9872)>>2]|0; $207 = ($R7$1>>>0)<($206>>>0); if ($207) { _abort(); @@ -273067,7 +274793,7 @@ function _free($mem) { $216 = HEAP32[$215>>2]|0; $217 = ($216|0)==(0|0); if (!($217)) { - $218 = HEAP32[(10148)>>2]|0; + $218 = HEAP32[(9872)>>2]|0; $219 = ($216>>>0)<($218>>>0); if ($219) { _abort(); @@ -273088,10 +274814,10 @@ function _free($mem) { HEAP32[$223>>2] = $222; $224 = (($p$0) + ($133)|0); HEAP32[$224>>2] = $133; - $225 = HEAP32[(10152)>>2]|0; + $225 = HEAP32[(9876)>>2]|0; $226 = ($p$0|0)==($225|0); if ($226) { - HEAP32[(10140)>>2] = $133; + HEAP32[(9864)>>2] = $133; return; } else { $psize$1 = $133; @@ -273110,22 +274836,22 @@ function _free($mem) { $232 = ($psize$1>>>0)<(256); if ($232) { $233 = $231 << 1; - $234 = (10172 + ($233<<2)|0); - $235 = HEAP32[10132>>2]|0; + $234 = (9896 + ($233<<2)|0); + $235 = HEAP32[9856>>2]|0; $236 = 1 << $231; $237 = $235 & $236; $238 = ($237|0)==(0); if ($238) { $239 = $235 | $236; - HEAP32[10132>>2] = $239; + HEAP32[9856>>2] = $239; $$pre = (($233) + 2)|0; - $$pre57 = (10172 + ($$pre<<2)|0); + $$pre57 = (9896 + ($$pre<<2)|0); $$pre$phiZ2D = $$pre57;$F16$0 = $234; } else { $$sum11 = (($233) + 2)|0; - $240 = (10172 + ($$sum11<<2)|0); + $240 = (9896 + ($$sum11<<2)|0); $241 = HEAP32[$240>>2]|0; - $242 = HEAP32[(10148)>>2]|0; + $242 = HEAP32[(9872)>>2]|0; $243 = ($241>>>0)<($242>>>0); if ($243) { _abort(); @@ -273177,21 +274903,21 @@ function _free($mem) { $I18$0 = $271; } } - $272 = (10436 + ($I18$0<<2)|0); + $272 = (10160 + ($I18$0<<2)|0); $273 = ((($p$0)) + 28|0); HEAP32[$273>>2] = $I18$0; $274 = ((($p$0)) + 16|0); $275 = ((($p$0)) + 20|0); HEAP32[$275>>2] = 0; HEAP32[$274>>2] = 0; - $276 = HEAP32[(10136)>>2]|0; + $276 = HEAP32[(9860)>>2]|0; $277 = 1 << $I18$0; $278 = $276 & $277; $279 = ($278|0)==(0); L199: do { if ($279) { $280 = $276 | $277; - HEAP32[(10136)>>2] = $280; + HEAP32[(9860)>>2] = $280; HEAP32[$272>>2] = $p$0; $281 = ((($p$0)) + 24|0); HEAP32[$281>>2] = $272; @@ -273236,7 +274962,7 @@ function _free($mem) { $K19$052 = $294;$T$051 = $296; } } - $303 = HEAP32[(10148)>>2]|0; + $303 = HEAP32[(9872)>>2]|0; $304 = ($$lcssa>>>0)<($303>>>0); if ($304) { _abort(); @@ -273255,7 +274981,7 @@ function _free($mem) { } while(0); $308 = ((($T$0$lcssa)) + 8|0); $309 = HEAP32[$308>>2]|0; - $310 = HEAP32[(10148)>>2]|0; + $310 = HEAP32[(9872)>>2]|0; $311 = ($309>>>0)>=($310>>>0); $not$ = ($T$0$lcssa>>>0)>=($310>>>0); $312 = $311 & $not$; @@ -273276,12 +275002,12 @@ function _free($mem) { } } } while(0); - $317 = HEAP32[(10164)>>2]|0; + $317 = HEAP32[(9888)>>2]|0; $318 = (($317) + -1)|0; - HEAP32[(10164)>>2] = $318; + HEAP32[(9888)>>2] = $318; $319 = ($318|0)==(0); if ($319) { - $sp$0$in$i = (10588); + $sp$0$in$i = (10312); } else { return; } @@ -273295,7 +275021,7 @@ function _free($mem) { $sp$0$in$i = $321; } } - HEAP32[(10164)>>2] = -1; + HEAP32[(9888)>>2] = -1; return; } function _calloc($n_elements,$elem_size) { @@ -273404,7 +275130,7 @@ function _try_realloc_chunk($p,$nb) { $1 = HEAP32[$0>>2]|0; $2 = $1 & -8; $3 = (($p) + ($2)|0); - $4 = HEAP32[(10148)>>2]|0; + $4 = HEAP32[(9872)>>2]|0; $5 = $1 & 3; $notlhs = ($p>>>0)>=($4>>>0); $notrhs = ($5|0)!=(1); @@ -273435,7 +275161,7 @@ function _try_realloc_chunk($p,$nb) { $14 = ($2>>>0)<($13>>>0); if (!($14)) { $15 = (($2) - ($nb))|0; - $16 = HEAP32[(10612)>>2]|0; + $16 = HEAP32[(10336)>>2]|0; $17 = $16 << 1; $18 = ($15>>>0)>($17>>>0); if (!($18)) { @@ -273470,10 +275196,10 @@ function _try_realloc_chunk($p,$nb) { $newp$0 = $p; return ($newp$0|0); } - $30 = HEAP32[(10156)>>2]|0; + $30 = HEAP32[(9880)>>2]|0; $31 = ($3|0)==($30|0); if ($31) { - $32 = HEAP32[(10144)>>2]|0; + $32 = HEAP32[(9868)>>2]|0; $33 = (($32) + ($2))|0; $34 = ($33>>>0)>($nb>>>0); if (!($34)) { @@ -273490,15 +275216,15 @@ function _try_realloc_chunk($p,$nb) { $40 = (($p) + ($$sum22)|0); $41 = $35 | 1; HEAP32[$40>>2] = $41; - HEAP32[(10156)>>2] = $36; - HEAP32[(10144)>>2] = $35; + HEAP32[(9880)>>2] = $36; + HEAP32[(9868)>>2] = $35; $newp$0 = $p; return ($newp$0|0); } - $42 = HEAP32[(10152)>>2]|0; + $42 = HEAP32[(9876)>>2]|0; $43 = ($3|0)==($42|0); if ($43) { - $44 = HEAP32[(10140)>>2]|0; + $44 = HEAP32[(9864)>>2]|0; $45 = (($44) + ($2))|0; $46 = ($45>>>0)<($nb>>>0); if ($46) { @@ -273537,8 +275263,8 @@ function _try_realloc_chunk($p,$nb) { HEAP32[$62>>2] = $64; $storemerge = 0;$storemerge21 = 0; } - HEAP32[(10140)>>2] = $storemerge21; - HEAP32[(10152)>>2] = $storemerge; + HEAP32[(9864)>>2] = $storemerge21; + HEAP32[(9876)>>2] = $storemerge; $newp$0 = $p; return ($newp$0|0); } @@ -273567,7 +275293,7 @@ function _try_realloc_chunk($p,$nb) { $75 = (($p) + ($$sum16)|0); $76 = HEAP32[$75>>2]|0; $77 = $71 << 1; - $78 = (10172 + ($77<<2)|0); + $78 = (9896 + ($77<<2)|0); $79 = ($74|0)==($78|0); if (!($79)) { $80 = ($74>>>0)<($4>>>0); @@ -273587,9 +275313,9 @@ function _try_realloc_chunk($p,$nb) { if ($84) { $85 = 1 << $71; $86 = $85 ^ -1; - $87 = HEAP32[10132>>2]|0; + $87 = HEAP32[9856>>2]|0; $88 = $87 & $86; - HEAP32[10132>>2] = $88; + HEAP32[9856>>2] = $88; break; } $89 = ($76|0)==($78|0); @@ -273705,7 +275431,7 @@ function _try_realloc_chunk($p,$nb) { $$sum11 = (($2) + 28)|0; $123 = (($p) + ($$sum11)|0); $124 = HEAP32[$123>>2]|0; - $125 = (10436 + ($124<<2)|0); + $125 = (10160 + ($124<<2)|0); $126 = HEAP32[$125>>2]|0; $127 = ($3|0)==($126|0); if ($127) { @@ -273714,13 +275440,13 @@ function _try_realloc_chunk($p,$nb) { if ($cond) { $128 = 1 << $124; $129 = $128 ^ -1; - $130 = HEAP32[(10136)>>2]|0; + $130 = HEAP32[(9860)>>2]|0; $131 = $130 & $129; - HEAP32[(10136)>>2] = $131; + HEAP32[(9860)>>2] = $131; break; } } else { - $132 = HEAP32[(10148)>>2]|0; + $132 = HEAP32[(9872)>>2]|0; $133 = ($96>>>0)<($132>>>0); if ($133) { _abort(); @@ -273740,7 +275466,7 @@ function _try_realloc_chunk($p,$nb) { break; } } - $139 = HEAP32[(10148)>>2]|0; + $139 = HEAP32[(9872)>>2]|0; $140 = ($R$1>>>0)<($139>>>0); if ($140) { _abort(); @@ -273772,7 +275498,7 @@ function _try_realloc_chunk($p,$nb) { $149 = HEAP32[$148>>2]|0; $150 = ($149|0)==(0|0); if (!($150)) { - $151 = HEAP32[(10148)>>2]|0; + $151 = HEAP32[(9872)>>2]|0; $152 = ($149>>>0)<($151>>>0); if ($152) { _abort(); @@ -273861,13 +275587,13 @@ function _dispose_chunk($p,$psize) { $8 = (0 - ($5))|0; $9 = (($p) + ($8)|0); $10 = (($5) + ($psize))|0; - $11 = HEAP32[(10148)>>2]|0; + $11 = HEAP32[(9872)>>2]|0; $12 = ($9>>>0)<($11>>>0); if ($12) { _abort(); // unreachable; } - $13 = HEAP32[(10152)>>2]|0; + $13 = HEAP32[(9876)>>2]|0; $14 = ($9|0)==($13|0); if ($14) { $$sum = (($psize) + 4)|0; @@ -273879,7 +275605,7 @@ function _dispose_chunk($p,$psize) { $$0 = $9;$$02 = $10; break; } - HEAP32[(10140)>>2] = $10; + HEAP32[(9864)>>2] = $10; $103 = $100 & -2; HEAP32[$99>>2] = $103; $104 = $10 | 1; @@ -273899,7 +275625,7 @@ function _dispose_chunk($p,$psize) { $19 = (($p) + ($$sum25)|0); $20 = HEAP32[$19>>2]|0; $21 = $15 << 1; - $22 = (10172 + ($21<<2)|0); + $22 = (9896 + ($21<<2)|0); $23 = ($18|0)==($22|0); if (!($23)) { $24 = ($18>>>0)<($11>>>0); @@ -273919,9 +275645,9 @@ function _dispose_chunk($p,$psize) { if ($28) { $29 = 1 << $15; $30 = $29 ^ -1; - $31 = HEAP32[10132>>2]|0; + $31 = HEAP32[9856>>2]|0; $32 = $31 & $30; - HEAP32[10132>>2] = $32; + HEAP32[9856>>2] = $32; $$0 = $9;$$02 = $10; break; } @@ -274042,7 +275768,7 @@ function _dispose_chunk($p,$psize) { $$sum20 = (28 - ($5))|0; $67 = (($p) + ($$sum20)|0); $68 = HEAP32[$67>>2]|0; - $69 = (10436 + ($68<<2)|0); + $69 = (10160 + ($68<<2)|0); $70 = HEAP32[$69>>2]|0; $71 = ($9|0)==($70|0); if ($71) { @@ -274051,14 +275777,14 @@ function _dispose_chunk($p,$psize) { if ($cond) { $72 = 1 << $68; $73 = $72 ^ -1; - $74 = HEAP32[(10136)>>2]|0; + $74 = HEAP32[(9860)>>2]|0; $75 = $74 & $73; - HEAP32[(10136)>>2] = $75; + HEAP32[(9860)>>2] = $75; $$0 = $9;$$02 = $10; break; } } else { - $76 = HEAP32[(10148)>>2]|0; + $76 = HEAP32[(9872)>>2]|0; $77 = ($40>>>0)<($76>>>0); if ($77) { _abort(); @@ -274079,7 +275805,7 @@ function _dispose_chunk($p,$psize) { break; } } - $83 = HEAP32[(10148)>>2]|0; + $83 = HEAP32[(9872)>>2]|0; $84 = ($R$1>>>0)<($83>>>0); if ($84) { _abort(); @@ -274113,7 +275839,7 @@ function _dispose_chunk($p,$psize) { if ($94) { $$0 = $9;$$02 = $10; } else { - $95 = HEAP32[(10148)>>2]|0; + $95 = HEAP32[(9872)>>2]|0; $96 = ($93>>>0)<($95>>>0); if ($96) { _abort(); @@ -274132,7 +275858,7 @@ function _dispose_chunk($p,$psize) { $$0 = $p;$$02 = $psize; } } while(0); - $106 = HEAP32[(10148)>>2]|0; + $106 = HEAP32[(9872)>>2]|0; $107 = ($0>>>0)<($106>>>0); if ($107) { _abort(); @@ -274144,32 +275870,32 @@ function _dispose_chunk($p,$psize) { $110 = $109 & 2; $111 = ($110|0)==(0); if ($111) { - $112 = HEAP32[(10156)>>2]|0; + $112 = HEAP32[(9880)>>2]|0; $113 = ($0|0)==($112|0); if ($113) { - $114 = HEAP32[(10144)>>2]|0; + $114 = HEAP32[(9868)>>2]|0; $115 = (($114) + ($$02))|0; - HEAP32[(10144)>>2] = $115; - HEAP32[(10156)>>2] = $$0; + HEAP32[(9868)>>2] = $115; + HEAP32[(9880)>>2] = $$0; $116 = $115 | 1; $117 = ((($$0)) + 4|0); HEAP32[$117>>2] = $116; - $118 = HEAP32[(10152)>>2]|0; + $118 = HEAP32[(9876)>>2]|0; $119 = ($$0|0)==($118|0); if (!($119)) { return; } - HEAP32[(10152)>>2] = 0; - HEAP32[(10140)>>2] = 0; + HEAP32[(9876)>>2] = 0; + HEAP32[(9864)>>2] = 0; return; } - $120 = HEAP32[(10152)>>2]|0; + $120 = HEAP32[(9876)>>2]|0; $121 = ($0|0)==($120|0); if ($121) { - $122 = HEAP32[(10140)>>2]|0; + $122 = HEAP32[(9864)>>2]|0; $123 = (($122) + ($$02))|0; - HEAP32[(10140)>>2] = $123; - HEAP32[(10152)>>2] = $$0; + HEAP32[(9864)>>2] = $123; + HEAP32[(9876)>>2] = $$0; $124 = $123 | 1; $125 = ((($$0)) + 4|0); HEAP32[$125>>2] = $124; @@ -274190,7 +275916,7 @@ function _dispose_chunk($p,$psize) { $133 = (($p) + ($$sum13)|0); $134 = HEAP32[$133>>2]|0; $135 = $129 << 1; - $136 = (10172 + ($135<<2)|0); + $136 = (9896 + ($135<<2)|0); $137 = ($132|0)==($136|0); if (!($137)) { $138 = ($132>>>0)<($106>>>0); @@ -274210,9 +275936,9 @@ function _dispose_chunk($p,$psize) { if ($142) { $143 = 1 << $129; $144 = $143 ^ -1; - $145 = HEAP32[10132>>2]|0; + $145 = HEAP32[9856>>2]|0; $146 = $145 & $144; - HEAP32[10132>>2] = $146; + HEAP32[9856>>2] = $146; break; } $147 = ($134|0)==($136|0); @@ -274328,7 +276054,7 @@ function _dispose_chunk($p,$psize) { $$sum8 = (($psize) + 28)|0; $181 = (($p) + ($$sum8)|0); $182 = HEAP32[$181>>2]|0; - $183 = (10436 + ($182<<2)|0); + $183 = (10160 + ($182<<2)|0); $184 = HEAP32[$183>>2]|0; $185 = ($0|0)==($184|0); if ($185) { @@ -274337,13 +276063,13 @@ function _dispose_chunk($p,$psize) { if ($cond39) { $186 = 1 << $182; $187 = $186 ^ -1; - $188 = HEAP32[(10136)>>2]|0; + $188 = HEAP32[(9860)>>2]|0; $189 = $188 & $187; - HEAP32[(10136)>>2] = $189; + HEAP32[(9860)>>2] = $189; break; } } else { - $190 = HEAP32[(10148)>>2]|0; + $190 = HEAP32[(9872)>>2]|0; $191 = ($154>>>0)<($190>>>0); if ($191) { _abort(); @@ -274363,7 +276089,7 @@ function _dispose_chunk($p,$psize) { break; } } - $197 = HEAP32[(10148)>>2]|0; + $197 = HEAP32[(9872)>>2]|0; $198 = ($R7$1>>>0)<($197>>>0); if ($198) { _abort(); @@ -274395,7 +276121,7 @@ function _dispose_chunk($p,$psize) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(10148)>>2]|0; + $209 = HEAP32[(9872)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -274416,10 +276142,10 @@ function _dispose_chunk($p,$psize) { HEAP32[$214>>2] = $213; $215 = (($$0) + ($128)|0); HEAP32[$215>>2] = $128; - $216 = HEAP32[(10152)>>2]|0; + $216 = HEAP32[(9876)>>2]|0; $217 = ($$0|0)==($216|0); if ($217) { - HEAP32[(10140)>>2] = $128; + HEAP32[(9864)>>2] = $128; return; } else { $$1 = $128; @@ -274438,22 +276164,22 @@ function _dispose_chunk($p,$psize) { $223 = ($$1>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (10172 + ($224<<2)|0); - $226 = HEAP32[10132>>2]|0; + $225 = (9896 + ($224<<2)|0); + $226 = HEAP32[9856>>2]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[10132>>2] = $230; + HEAP32[9856>>2] = $230; $$pre = (($224) + 2)|0; - $$pre48 = (10172 + ($$pre<<2)|0); + $$pre48 = (9896 + ($$pre<<2)|0); $$pre$phiZ2D = $$pre48;$F16$0 = $225; } else { $$sum7 = (($224) + 2)|0; - $231 = (10172 + ($$sum7<<2)|0); + $231 = (9896 + ($$sum7<<2)|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(10148)>>2]|0; + $233 = HEAP32[(9872)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -274505,20 +276231,20 @@ function _dispose_chunk($p,$psize) { $I19$0 = $262; } } - $263 = (10436 + ($I19$0<<2)|0); + $263 = (10160 + ($I19$0<<2)|0); $264 = ((($$0)) + 28|0); HEAP32[$264>>2] = $I19$0; $265 = ((($$0)) + 16|0); $266 = ((($$0)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(10136)>>2]|0; + $267 = HEAP32[(9860)>>2]|0; $268 = 1 << $I19$0; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(10136)>>2] = $271; + HEAP32[(9860)>>2] = $271; HEAP32[$263>>2] = $$0; $272 = ((($$0)) + 24|0); HEAP32[$272>>2] = $263; @@ -274564,7 +276290,7 @@ function _dispose_chunk($p,$psize) { $K20$043 = $285;$T$042 = $287; } } - $294 = HEAP32[(10148)>>2]|0; + $294 = HEAP32[(9872)>>2]|0; $295 = ($$lcssa>>>0)<($294>>>0); if ($295) { _abort(); @@ -274582,7 +276308,7 @@ function _dispose_chunk($p,$psize) { } while(0); $299 = ((($T$0$lcssa)) + 8|0); $300 = HEAP32[$299>>2]|0; - $301 = HEAP32[(10148)>>2]|0; + $301 = HEAP32[(9872)>>2]|0; $302 = ($300>>>0)>=($301>>>0); $not$ = ($T$0$lcssa>>>0)>=($301>>>0); $303 = $302 & $not$; @@ -281061,8 +282787,8 @@ var FUNCTION_TABLE_viii = [b6,b6,jsCall_viii_0,b6,jsCall_viii_1,b6,jsCall_viii_2 ,b6,jsCall_viii_44,b6,jsCall_viii_45,b6,jsCall_viii_46,b6,jsCall_viii_47,b6,jsCall_viii_48,b6,jsCall_viii_49,b6,jsCall_viii_50,b6,jsCall_viii_51,b6,jsCall_viii_52,b6,jsCall_viii_53,b6,jsCall_viii_54,b6,jsCall_viii_55,b6,jsCall_viii_56,b6,jsCall_viii_57,b6,jsCall_viii_58 ,b6,jsCall_viii_59,b6,jsCall_viii_60,b6,jsCall_viii_61,b6,jsCall_viii_62,b6,jsCall_viii_63,b6,_acosFunc,_asinFunc,_atanFunc,_atn2Func,_acoshFunc,_asinhFunc,_atanhFunc,_differenceFunc,_rad2degFunc,_deg2radFunc,_cosFunc,_sinFunc,_tanFunc,_cotFunc,_coshFunc,_sinhFunc,_tanhFunc,_cothFunc,_expFunc ,_logFunc,_log10Func,_powerFunc,_signFunc,_sqrtFunc,_squareFunc,_ceilFunc,_floorFunc,_piFunc,_replicateFunc,_charindexFunc,_leftFunc,_rightFunc,_reverseFunc,_properFunc,_padlFunc,_padrFunc,_padcFunc,_strfilterFunc,_varianceStep,_modeStep,_fts3SnippetFunc,_fts3OffsetsFunc,_fts3OptimizeFunc,_fts3MatchinfoFunc,_pcache1Unpin,_statInit,_statPush,_statGet,_detachFunc -,_attachFunc,_trimFunc,_minmaxFunc,_minmaxStep,_typeofFunc,_lengthFunc,_instrFunc,_substrFunc,_printfFunc,_unicodeFunc,_charFunc,_absFunc,_roundFunc,_upperFunc,_lowerFunc,_versionFunc,_hexFunc,_randomFunc,_randomBlob,_nullifFunc,_sourceidFunc,_errlogFunc,_compileoptionusedFunc,_compileoptiongetFunc,_quoteFunc,_last_insert_rowid,_changes,_total_changes,_replaceFunc,_zeroblobFunc -,_sumStep,_countStep,_groupConcatStep,_likeFunc,_renameTableFunc,_renameTriggerFunc,_renameParentFunc,_juliandayFunc,_dateFunc,_timeFunc,_datetimeFunc,_strftimeFunc,_ctimeFunc,_ctimestampFunc,_cdateFunc,_sqlite3InvalidFunction,_scalarFunc,_btreeParseCellPtr,_btreeParseCellPtrNoPayload,_btreeParseCellPtrIndex,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6 +,_attachFunc,_compileoptionusedFunc,_compileoptiongetFunc,_versionFunc,_trimFunc,_minmaxFunc,_minmaxStep,_typeofFunc,_lengthFunc,_instrFunc,_printfFunc,_unicodeFunc,_charFunc,_absFunc,_roundFunc,_upperFunc,_lowerFunc,_hexFunc,_randomFunc,_randomBlob,_nullifFunc,_sourceidFunc,_errlogFunc,_quoteFunc,_last_insert_rowid,_changes,_total_changes,_replaceFunc,_zeroblobFunc,_substrFunc +,_sumStep,_countStep,_groupConcatStep,_likeFunc,_juliandayFunc,_dateFunc,_timeFunc,_datetimeFunc,_strftimeFunc,_ctimeFunc,_ctimestampFunc,_cdateFunc,_renameTableFunc,_renameTriggerFunc,_renameParentFunc,_sqlite3InvalidFunction,_fts3TokenizerFunc,_btreeParseCellPtr,_btreeParseCellPtrNoPayload,_btreeParseCellPtrIndex,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6 ,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6]; var FUNCTION_TABLE_v = [b7,b7,jsCall_v_0,b7,jsCall_v_1,b7,jsCall_v_2,b7,jsCall_v_3,b7,jsCall_v_4,b7,jsCall_v_5,b7,jsCall_v_6,b7,jsCall_v_7,b7,jsCall_v_8,b7,jsCall_v_9,b7,jsCall_v_10,b7,jsCall_v_11,b7,jsCall_v_12,b7,jsCall_v_13 ,b7,jsCall_v_14,b7,jsCall_v_15,b7,jsCall_v_16,b7,jsCall_v_17,b7,jsCall_v_18,b7,jsCall_v_19,b7,jsCall_v_20,b7,jsCall_v_21,b7,jsCall_v_22,b7,jsCall_v_23,b7,jsCall_v_24,b7,jsCall_v_25,b7,jsCall_v_26,b7,jsCall_v_27,b7,jsCall_v_28 diff --git a/js/sql-memory-growth.js b/js/sql-memory-growth.js index 45524c16..5e725521 100644 --- a/js/sql-memory-growth.js +++ b/js/sql-memory-growth.js @@ -37,56 +37,55 @@ f.HEAP=void 0;f.buffer=buffer;f.HEAP8=w;f.HEAP16=Aa;f.HEAP32=y;f.HEAPU8=A;f.HEAP function lb(a){jb.unshift(a)}f.addOnPostRun=lb;function D(a,b,c){c=Array(0>0]=a[c],c+=1}f.writeStringToMemory=xa;function wa(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=wa; function Ma(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(w[b>>0]=0)}f.writeAsciiToMemory=Ma;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; var Ba=Math.abs,mb=Math.cos,nb=Math.sin,ob=Math.tan,pb=Math.acos,qb=Math.asin,rb=Math.atan,sb=Math.atan2,tb=Math.exp,ub=Math.log,vb=Math.sqrt,Ea=Math.ceil,Da=Math.floor,wb=Math.pow,Ca=Math.min,xb=0,yb=null,zb=null;function Ab(){xb++;f.monitorRunDependencies&&f.monitorRunDependencies(xb)}f.addRunDependency=Ab;function Bb(){xb--;f.monitorRunDependencies&&f.monitorRunDependencies(xb);if(0==xb&&(null!==yb&&(clearInterval(yb),yb=null),zb)){var a=zb;zb=null;a()}}f.removeRunDependency=Bb; -f.preloadedImages={};f.preloadedAudios={};Xa=8;na=Xa+50112;gb.push(); -z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,67,0,0,1,0,1,0,130,0,0,0,151,67,0,0,1,0,1,0,131,0,0,0,156,67,0,0,1,0,1,0,132,0,0,0,161,67,0,0,2,0,1,0,133,0,0,0,166,67,0,0,2,0,1,0,133,0,0,0,172,67,0,0,1,0,1,0,134,0,0,0,178,67,0,0,1,0,1,0,135,0,0,0,184,67,0,0,1,0,1,0,136,0,0,0,190,67,0,0,2,0,1,0,137,0,0,0,201,67,0,0,1,0,1,0,138,0,0,0,209,67, -0,0,1,0,1,0,139,0,0,0,217,67,0,0,1,0,1,0,140,0,0,0,221,67,0,0,1,0,1,0,141,0,0,0,225,67,0,0,1,0,1,0,142,0,0,0,229,67,0,0,1,0,1,0,143,0,0,0,233,67,0,0,1,0,1,0,144,0,0,0,238,67,0,0,1,0,1,0,145,0,0,0,243,67,0,0,1,0,1,0,146,0,0,0,248,67,0,0,1,0,1,0,147,0,0,0,253,67,0,0,1,0,1,0,148,0,0,0,232,101,0,0,1,0,1,0,149,0,0,0,1,68,0,0,1,0,1,0,150,0,0,0,7,68,0,0,2,0,1,0,151,0,0,0,13,68,0,0,1,0,1,0,152,0,0,0,18,68,0,0,1,0,1,0,153,0,0,0,23,68,0,0,1,0,1,0,154,0,0,0,30,68,0,0,1,0,1,0,155,0,0,0,35,68,0,0,1,0,1,0,156, -0,0,0,41,68,0,0,0,0,1,1,157,0,0,0,44,68,0,0,2,0,1,0,158,0,0,0,54,68,0,0,2,0,1,0,159,0,0,0,54,68,0,0,3,0,1,0,159,0,0,0,64,68,0,0,2,0,1,0,160,0,0,0,72,68,0,0,2,0,1,0,161,0,0,0,81,68,0,0,1,0,1,0,162,0,0,0,89,68,0,0,1,0,1,0,163,0,0,0,96,68,0,0,2,0,1,0,164,0,0,0,101,68,0,0,2,0,1,0,165,0,0,0,106,68,0,0,2,0,1,0,166,0,0,0,111,68,0,0,2,0,1,0,167,0,0,0,121,68,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,68,0,0,1,0,0,0,168,0,0,0,131,0,0,0,76,105,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,68,0,0,1,0,0,0,169,0,0,0,133,0,0,0, -143,68,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,68,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,223,183,0,0,235,183,0,0,247,183,0,0,15,184,0,0,26,184,0,0,46,184,0,0,60,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,184,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,189,177,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0, -133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,199,177,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,212,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7, -0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138, -0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,84,0,0,21,85,0,0,89,85,0,0,117,85,0,0,146,85,0,0,173,85,0,0,201,85,0,0,226,85,0,0,250,85,0,0,59,86,0,0,118,86,0,0,186,86,0,0,234,86,0,0,90,87,0,0,225,87,0,0,21,88,0,0,87,88,0,0,130,88,0,0,189,88,0,0,228,88,0,0,16,89,0,0,57,89,0,0,104,89,0,0,146,89,0,0,66, -75,0,0,66,75,0,0,184,89,0,0,239,89,0,0,44,90,0,0,149,90,0,0,252,90,0,0,51,91,0,0,109,91,0,0,216,91,0,0,39,92,0,0,104,92,0,0,164,92,0,0,212,92,0,0,62,93,0,0,135,93,0,0,99,83,0,0,170,0,0,0,107,83,0,0,171,0,0,0,125,83,0,0,172,0,0,0,115,83,0,0,173,0,0,0,79,96,0,0,2,0,4,0,82,96,0,0,3,1,3,0,86,96,0,0,3,1,2,0,90,96,0,0,4,0,1,0,115,83,0,0,9,0,0,0,59,100,0,0,6,0,0,0,178,97,0,0,8,0,0,0,187,97,0,0,10,0,0,0,66,100,0,0,5,0,0,0,116,97,0,0,7,0,0,0,72,100,0,0,10,0,0,0,83,100,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0, -0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0, -1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0, -18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1, -252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236, -67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200, -115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128, -183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128, -163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255, -3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164, -94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +f.preloadedImages={};f.preloadedAudios={};Xa=8;na=Xa+49760;gb.push(); +z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,66,0,0,1,0,1,0,130,0,0,0,151,66,0,0,1,0,1,0,131,0,0,0,156,66,0,0,1,0,1,0,132,0,0,0,161,66,0,0,2,0,1,0,133,0,0,0,166,66,0,0,2,0,1,0,133,0,0,0,172,66,0,0,1,0,1,0,134,0,0,0,178,66,0,0,1,0,1,0,135,0,0,0,184,66,0,0,1,0,1,0,136,0,0,0,190,66,0,0,2,0,1,0,137,0,0,0,201,66,0,0,1,0,1,0,138,0,0,0,209,66, +0,0,1,0,1,0,139,0,0,0,217,66,0,0,1,0,1,0,140,0,0,0,221,66,0,0,1,0,1,0,141,0,0,0,225,66,0,0,1,0,1,0,142,0,0,0,229,66,0,0,1,0,1,0,143,0,0,0,233,66,0,0,1,0,1,0,144,0,0,0,238,66,0,0,1,0,1,0,145,0,0,0,243,66,0,0,1,0,1,0,146,0,0,0,248,66,0,0,1,0,1,0,147,0,0,0,253,66,0,0,1,0,1,0,148,0,0,0,239,100,0,0,1,0,1,0,149,0,0,0,1,67,0,0,1,0,1,0,150,0,0,0,7,67,0,0,2,0,1,0,151,0,0,0,13,67,0,0,1,0,1,0,152,0,0,0,18,67,0,0,1,0,1,0,153,0,0,0,23,67,0,0,1,0,1,0,154,0,0,0,30,67,0,0,1,0,1,0,155,0,0,0,35,67,0,0,1,0,1,0,156, +0,0,0,41,67,0,0,0,0,1,1,157,0,0,0,44,67,0,0,2,0,1,0,158,0,0,0,54,67,0,0,2,0,1,0,159,0,0,0,54,67,0,0,3,0,1,0,159,0,0,0,64,67,0,0,2,0,1,0,160,0,0,0,72,67,0,0,2,0,1,0,161,0,0,0,81,67,0,0,1,0,1,0,162,0,0,0,89,67,0,0,1,0,1,0,163,0,0,0,96,67,0,0,2,0,1,0,164,0,0,0,101,67,0,0,2,0,1,0,165,0,0,0,106,67,0,0,2,0,1,0,166,0,0,0,111,67,0,0,2,0,1,0,167,0,0,0,121,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,61,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0, +143,67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,114,182,0,0,126,182,0,0,138,182,0,0,162,182,0,0,173,182,0,0,193,182,0,0,207,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,97,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,102,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0, +0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,112,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,125,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0, +128,0,236,3,0,0,0,0,0,32,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0, +0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,83,0,0,24,84,0,0,92,84,0,0,120,84,0,0,149,84,0,0,176,84,0,0,204,84,0,0,229,84,0,0,253,84,0,0,62,85,0,0,121,85,0,0,189,85,0,0,237,85,0,0,93,86,0,0,228,86,0,0,24,87,0,0,90,87,0,0,133,87,0,0,192,87,0, +0,231,87,0,0,19,88,0,0,60,88,0,0,107,88,0,0,149,88,0,0,66,74,0,0,66,74,0,0,187,88,0,0,242,88,0,0,47,89,0,0,166,89,0,0,13,90,0,0,68,90,0,0,126,90,0,0,233,90,0,0,56,91,0,0,121,91,0,0,181,91,0,0,229,91,0,0,79,92,0,0,152,92,0,0,102,82,0,0,170,0,0,0,110,82,0,0,171,0,0,0,128,82,0,0,172,0,0,0,118,82,0,0,173,0,0,0,96,95,0,0,2,0,4,0,99,95,0,0,3,1,3,0,103,95,0,0,3,1,2,0,107,95,0,0,4,0,1,0,118,82,0,0,9,0,0,0,76,99,0,0,6,0,0,0,195,96,0,0,8,0,0,0,204,96,0,0,10,0,0,0,83,99,0,0,5,0,0,0,133,96,0,0,7,0,0,0,89,99, +0,0,10,0,0,0,100,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232, +0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0, +3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0, +7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156, +65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112, +0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179, +0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160, +2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3, +15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91, +7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,105,0,0,0,0,2,0,172,105,0,0,0,0,4,0,0,0,0,0,0,0,0,0,148,105,0,0,1,0,0,0,151,105,0,0,2,0,0,0,154,105,0,0,6,0,0,0,158,105,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0, -0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,136,0,0,1,0,0,0,66,81,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,32,124,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,22,124,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,2,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35, -82,0,0,95,124,0,0,108,124,0,0,0,0,0,0,121,124,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,115,125,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,240,125,0,0,0,0,0,0,0,0,0,0,67,133,0,0,0,0,0,0,8,0,0,0,35,129,0,0,1,1,0,0,0,0,0,0,82,133,0,0,2,0,0,0,0,0,16,0,98,133,0,0,3,0,0,0,0,0,0,0,158,128,0,0,4,1,0,0,0,0,0,0,67,129,0,0,5,0,0,0,0,0,0,0,111,133,0,0,6,0,0,0,0,0,0,0,131,133,0,0,2,0,0,0,0,0,0,16,147,133,0,0,2,0,0,0,16,0,0,0,168,133,0,0,7,0,0,0,0,0,0,0,183,133,0,0,8,0,0,0,0,0,0, -0,199,133,0,0,2,0,0,0,128,0,0,0,213,133,0,0,0,2,0,0,15,0,0,0,226,133,0,0,10,1,0,0,0,0,0,0,240,133,0,0,11,1,0,0,0,0,0,0,3,134,0,0,2,0,0,0,0,0,0,1,22,134,0,0,2,0,0,0,0,1,0,0,170,130,0,0,12,0,0,0,0,0,0,0,45,134,0,0,13,1,0,0,0,0,0,0,63,134,0,0,14,1,0,0,0,0,0,0,80,134,0,0,2,0,0,0,0,0,8,0,93,134,0,0,0,2,0,0,0,0,0,0,108,134,0,0,2,0,0,0,4,0,0,0,126,134,0,0,2,0,0,0,8,0,0,0,136,134,0,0,2,0,0,0,0,32,0,0,161,134,0,0,15,1,0,0,0,0,0,0,180,134,0,0,16,1,0,0,0,0,0,0,191,134,0,0,17,1,0,0,0,0,0,0,202,134,0,0,16,1,0, -0,1,0,0,0,9,130,0,0,18,1,0,0,0,0,0,0,3,129,0,0,19,1,0,0,0,0,0,0,16,129,0,0,20,0,0,0,0,0,0,0,214,134,0,0,2,0,0,0,0,128,0,0,246,128,0,0,22,0,0,0,0,0,0,0,233,134,0,0,23,1,0,0,0,0,0,0,79,129,0,0,24,0,0,0,0,0,0,0,248,134,0,0,23,1,0,0,0,0,0,0,205,128,0,0,25,0,0,0,0,0,0,0,3,135,0,0,2,0,0,0,0,0,0,2,14,135,0,0,18,1,0,0,0,0,0,0,26,135,0,0,2,0,0,0,0,64,0,0,43,135,0,0,2,0,0,0,0,0,4,0,62,135,0,0,2,0,0,0,0,0,2,0,88,135,0,0,0,0,0,0,1,0,0,0,215,128,0,0,26,0,0,0,0,0,0,0,103,135,0,0,2,0,0,0,64,0,0,0,122,135,0,0,27, -0,0,0,0,0,0,0,32,131,0,0,28,0,0,0,0,0,0,0,136,135,0,0,29,1,0,0,0,0,0,0,146,129,0,0,30,1,0,0,0,0,0,0,142,135,0,0,31,1,0,0,0,0,0,0,89,129,0,0,32,0,0,0,0,0,0,0,100,129,0,0,33,0,0,0,0,0,0,0,48,131,0,0,34,0,0,0,0,0,0,0,153,135,0,0,0,0,0,0,6,0,0,0,5,131,0,0,35,0,0,0,0,0,0,0,166,135,0,0,36,1,0,0,0,0,0,0,181,135,0,0,2,0,0,0,0,8,1,0,165,132,0,0,120,132,0,0,197,132,0,0,202,132,0,0,210,132,0,0,134,132,0,0,13,132,0,0,178,132,0,0,184,132,0,0,190,132,0,0,159,132,0,0,165,132,0,0,120,132,0,0,88,97,0,0,169,132,0, -0,174,132,0,0,82,132,0,0,120,132,0,0,137,132,0,0,144,132,0,0,151,132,0,0,130,132,0,0,132,132,0,0,134,132,0,0,82,132,0,0,120,132,0,0,125,132,0,0,82,132,0,0,120,132,0,0,79,132,0,0,82,132,0,0,13,132,0,0,86,132,0,0,91,132,0,0,94,132,0,0,104,132,0,0,114,132,0,0,13,132,0,0,248,99,0,0,19,132,0,0,26,132,0,0,74,131,0,0,1,0,0,0,79,131,0,0,1,0,0,0,85,131,0,0,2,0,0,0,94,131,0,0,3,0,0,0,103,131,0,0,2,0,0,0,111,131,0,0,3,0,0,0,119,131,0,0,0,0,0,0,126,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,131,0,0,232,101,0,0,61,131, -0,0,44,133,0,0,51,133,0,0,59,133,0,0,252,130,0,0,158,105,0,0,63,133,0,0,114,132,0,0,64,0,0,0,141,131,0,0,66,0,0,0,136,131,0,0,65,0,0,0,113,139,0,0,67,0,0,0,79,120,0,0,3,0,0,0,75,120,0,0,3,0,0,0,66,75,0,0,150,149,0,0,156,149,0,0,161,149,0,0,166,149,0,0,26,150,0,0,32,150,0,0,40,150,0,0,255,157,0,0,4,158,0,0,11,158,0,0,14,158,0,0,17,158,0,0,20,158,0,0,23,158,0,0,26,158,0,0,34,158,0,0,66,100,0,0,86,132,0,0,43,158,0,0,62,169,0,0,71,169,0,0,78,169,0,0,84,169,0,0,167,169,0,0,177,169,0,0,188,169,0,0,200, -169,0,0,211,169,0,0,222,169,0,0,233,169,0,0,238,169,0,0,243,169,0,0,254,169,0,0,10,170,0,0,17,170,0,0,25,170,0,0,33,170,0,0,38,170,0,0,44,170,0,0,51,170,0,0,65,170,0,0,78,170,0,0,84,170,0,0,88,170,0,0,99,170,0,0,104,170,0,0,112,170,0,0,118,170,0,0,125,170,0,0,130,170,0,0,139,170,0,0,144,170,0,0,153,170,0,0,158,170,0,0,163,170,0,0,169,170,0,0,177,170,0,0,187,170,0,0,195,170,0,0,205,170,0,0,214,170,0,0,221,170,0,0,231,170,0,0,244,170,0,0,249,170,0,0,5,171,0,0,13,171,0,0,18,171,0,0,23,171,0,0,26,171, -0,0,32,171,0,0,39,171,0,0,48,171,0,0,59,171,0,0,65,171,0,0,76,171,0,0,86,171,0,0,96,171,0,0,105,171,0,0,115,171,0,0,129,171,0,0,143,171,0,0,154,171,0,0,167,171,0,0,178,171,0,0,184,171,0,0,196,171,0,0,203,171,0,0,210,171,0,0,217,171,0,0,224,171,0,0,235,171,0,0,244,171,0,0,250,171,0,0,4,172,0,0,7,172,0,0,11,172,0,0,20,172,0,0,29,172,0,0,36,172,0,0,43,172,0,0,51,172,0,0,54,172,0,0,57,172,0,0,60,172,0,0,63,172,0,0,66,172,0,0,69,172,0,0,79,172,0,0,86,172,0,0,92,172,0,0,102,172,0,0,113,172,0,0,117,172, -0,0,126,172,0,0,135,172,0,0,142,172,0,0,152,172,0,0,159,172,0,0,166,172,0,0,173,172,0,0,181,172,0,0,192,172,0,0,206,172,0,0,217,172,0,0,224,172,0,0,232,172,0,0,238,172,0,0,246,172,0,0,251,172,0,0,6,173,0,0,11,173,0,0,18,173,0,0,31,173,0,0,41,173,0,0,51,173,0,0,56,173,0,0,65,173,0,0,71,173,0,0,77,173,0,0,83,173,0,0,89,173,0,0,97,173,0,0,103,173,0,0,115,173,0,0,127,173,0,0,139,173,0,0,151,173,0,0,164,173,0,0,174,173,0,0,184,173,0,0,196,173,0,0,208,173,0,0,218,173,0,0,229,173,0,0,240,173,0,0,248,173, -0,0,253,173,0,0,3,174,0,0,13,174,0,0,22,174,0,0,29,174,0,0,35,174,0,0,47,174,0,0,57,174,0,0,70,174,0,0,83,174,0,0,92,174,0,0,100,174,0,0,109,174,0,0,120,174,0,0,127,174,0,0,137,174,0,0,144,174,0,0,152,174,0,0,161,174,0,0,167,174,0,0,175,174,0,0,181,174,0,0,189,174,0,0,199,174,0,0,208,174,0,0,213,174,0,0,224,174,0,0,229,174,0,0,57,175,0,0,70,175,0,0,0,0,0,0,106,175,0,0,131,175,0,0,162,175,0,0,181,175,0,0,136,126,0,0,206,175,0,0,243,175,0,0,255,175,0,0,14,176,0,0,47,176,0,0,65,176,0,0,90,176,0,0,119, -176,0,0,136,176,0,0,96,160,0,0,90,74,0,0,159,176,0,0,177,176,0,0,195,176,0,0,234,176,0,0,9,177,0,0,30,177,0,0,62,177,0,0,96,177,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,3,178,0,0,145,0,0,0,0,0,0,0,222,177,0,0,163,0,0,0,0,0,0,0,81,105,0,0,160,0,0,0,0,0,0,0,8,178,0,0,161,0,0,0,0,0,0,0,15,178,0,0,162,0,0,0,0,0,0,0,20,178,0, -0,163,0,0,0,0,0,0,0,26,178,0,0,164,0,0,0,0,0,0,0,36,178,0,0,146,0,0,0,0,0,0,0,42,178,0,0,147,0,0,0,0,0,0,0,47,178,0,0,0,0,0,0,0,0,0,0,53,178,0,0,0,0,0,0,0,0,0,0,61,178,0,0,148,0,0,0,0,0,0,0,67,178,0,0,0,0,0,0,0,0,0,0,74,178,0,0,0,0,0,0,0,0,0,0,83,178,0,0,165,0,0,0,0,0,0,0,90,178,0,0,0,0,0,0,0,0,0,0,100,178,0,0,164,0,0,0,0,0,0,0,107,178,0,0,166,0,0,0,0,0,0,0,121,178,0,0,167,0,0,0,0,0,0,0,127,178,0,0,165,0,0,0,0,0,0,0,133,178,0,0,149,0,0,0,0,0,0,0,140,178,0,0,130,0,0,0,0,0,0,0,148,178,0,0,137,0,0,0, -0,0,0,0,153,178,0,0,168,0,0,0,0,0,0,0,160,178,0,0,0,0,0,0,0,0,0,0,167,178,0,0,131,0,0,0,0,0,0,0,179,178,0,0,150,0,0,0,0,0,0,0,188,178,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,179,0,0,38,179,0,0,47,179,0,0,52,179,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175, -0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0, -0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,63,182, -0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,70,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,77,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,90,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,97,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,105,182,0,0,0,0, -0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,110,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,120,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,126,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,255, -255,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,141,182,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,145,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,152,182,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,161,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,172,182,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,179,182,0,0,0,0,0,0,0,0,0,0,1,0,1, -0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,186,182,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,197,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,204,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,219,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,236,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,247,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,17,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0, -0,0,0,0,0,203,0,0,0,0,0,0,0,42,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,48,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,66,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,74,183,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,88,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,96,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,105,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0, -0,0,144,0,0,0,109,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,115,183,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,13,8,58,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,141,131,0,0,0,0,0,0,0,0,0,0,2,0,5,8,62,75,0,0,0,0,0,0, -212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,3,0,5,8,62,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,193,180,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,215,180,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,12,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0, -0,218,0,0,0,0,0,0,0,17,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,22,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,31,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,40,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,53,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,71,181,0,0,0,0,0,0,0,0,0,0,158,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,36,39,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,196,191,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,104,0,0,0,0,2,0,157,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,133,104,0,0,1,0,0,0,136,104,0,0,2,0,0,0,139,104,0,0,6,0,0,0,143,104,0,0,128,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,135,0,0,1,0,0,0,66,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,5,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,251,122,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,231,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,35,81,0,0,68,123,0,0,81,123,0,0,0,0,0,0,94,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,86,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,211,124,0,0,0,0,0,0,24,132,0,0,0,0,0,0,8,0,0,0,248,127,0,0,1,1,0,0,0,0,0,0,39,132,0,0,2,0,0,0,0,0,16,0,55,132,0,0,3,0,0,0,0,0,0,0,115,127,0,0,4,1,0,0,0,0,0,0,24,128,0,0,5,0,0,0,0,0,0,0,68,132,0,0,6,0,0,0,0,0,0,0,88,132,0,0,2,0,0,0,0,0,0,16,104,132,0,0,2,0,0,0,16,0,0,0,125,132,0,0,7,0,0,0,0,0,0,0,140,132,0,0,8,0,0,0,0, +0,0,0,156,132,0,0,2,0,0,0,128,0,0,0,170,132,0,0,0,2,0,0,15,0,0,0,183,132,0,0,10,1,0,0,0,0,0,0,197,132,0,0,11,1,0,0,0,0,0,0,216,132,0,0,2,0,0,0,0,0,0,1,235,132,0,0,2,0,0,0,0,1,0,0,127,129,0,0,12,0,0,0,0,0,0,0,2,133,0,0,13,1,0,0,0,0,0,0,20,133,0,0,14,1,0,0,0,0,0,0,37,133,0,0,2,0,0,0,0,0,8,0,50,133,0,0,0,2,0,0,0,0,0,0,65,133,0,0,2,0,0,0,4,0,0,0,83,133,0,0,2,0,0,0,8,0,0,0,93,133,0,0,2,0,0,0,0,32,0,0,118,133,0,0,15,1,0,0,0,0,0,0,137,133,0,0,16,1,0,0,0,0,0,0,148,133,0,0,17,1,0,0,0,0,0,0,159,133,0,0,16, +1,0,0,1,0,0,0,222,128,0,0,18,1,0,0,0,0,0,0,216,127,0,0,19,1,0,0,0,0,0,0,229,127,0,0,20,0,0,0,0,0,0,0,171,133,0,0,2,0,0,0,0,128,0,0,203,127,0,0,22,0,0,0,0,0,0,0,190,133,0,0,23,1,0,0,0,0,0,0,36,128,0,0,24,0,0,0,0,0,0,0,205,133,0,0,23,1,0,0,0,0,0,0,162,127,0,0,25,0,0,0,0,0,0,0,216,133,0,0,2,0,0,0,0,0,0,2,227,133,0,0,18,1,0,0,0,0,0,0,239,133,0,0,2,0,0,0,0,64,0,0,0,134,0,0,2,0,0,0,0,0,4,0,19,134,0,0,2,0,0,0,0,0,2,0,45,134,0,0,0,0,0,0,1,0,0,0,172,127,0,0,26,0,0,0,0,0,0,0,60,134,0,0,2,0,0,0,64,0,0,0,79, +134,0,0,27,0,0,0,0,0,0,0,245,129,0,0,28,0,0,0,0,0,0,0,93,134,0,0,29,1,0,0,0,0,0,0,103,128,0,0,30,1,0,0,0,0,0,0,99,134,0,0,31,1,0,0,0,0,0,0,46,128,0,0,32,0,0,0,0,0,0,0,57,128,0,0,33,0,0,0,0,0,0,0,5,130,0,0,34,0,0,0,0,0,0,0,110,134,0,0,0,0,0,0,6,0,0,0,218,129,0,0,35,0,0,0,0,0,0,0,123,134,0,0,36,1,0,0,0,0,0,0,138,134,0,0,2,0,0,0,0,8,1,0,122,131,0,0,77,131,0,0,154,131,0,0,159,131,0,0,167,131,0,0,91,131,0,0,226,130,0,0,135,131,0,0,141,131,0,0,147,131,0,0,116,131,0,0,122,131,0,0,77,131,0,0,105,96,0,0,126, +131,0,0,131,131,0,0,39,131,0,0,77,131,0,0,94,131,0,0,101,131,0,0,108,131,0,0,87,131,0,0,89,131,0,0,91,131,0,0,39,131,0,0,77,131,0,0,82,131,0,0,39,131,0,0,77,131,0,0,36,131,0,0,39,131,0,0,226,130,0,0,43,131,0,0,48,131,0,0,51,131,0,0,61,131,0,0,71,131,0,0,226,130,0,0,9,99,0,0,232,130,0,0,239,130,0,0,31,130,0,0,1,0,0,0,36,130,0,0,1,0,0,0,42,130,0,0,2,0,0,0,51,130,0,0,3,0,0,0,60,130,0,0,2,0,0,0,68,130,0,0,3,0,0,0,76,130,0,0,0,0,0,0,83,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,130,0,0,239,100,0,0,18,130,0,0, +1,132,0,0,8,132,0,0,16,132,0,0,209,129,0,0,143,104,0,0,20,132,0,0,71,131,0,0,64,0,0,0,98,130,0,0,66,0,0,0,93,130,0,0,65,0,0,0,22,138,0,0,67,0,0,0,60,119,0,0,3,0,0,0,56,119,0,0,3,0,0,0,66,74,0,0,59,148,0,0,65,148,0,0,70,148,0,0,75,148,0,0,191,148,0,0,197,148,0,0,205,148,0,0,162,156,0,0,167,156,0,0,174,156,0,0,177,156,0,0,180,156,0,0,183,156,0,0,186,156,0,0,189,156,0,0,197,156,0,0,83,99,0,0,43,131,0,0,206,156,0,0,231,167,0,0,240,167,0,0,247,167,0,0,253,167,0,0,80,168,0,0,90,168,0,0,101,168,0,0,113, +168,0,0,124,168,0,0,135,168,0,0,146,168,0,0,151,168,0,0,156,168,0,0,167,168,0,0,179,168,0,0,186,168,0,0,194,168,0,0,202,168,0,0,207,168,0,0,213,168,0,0,220,168,0,0,234,168,0,0,247,168,0,0,253,168,0,0,1,169,0,0,12,169,0,0,17,169,0,0,25,169,0,0,31,169,0,0,38,169,0,0,43,169,0,0,52,169,0,0,57,169,0,0,66,169,0,0,71,169,0,0,76,169,0,0,82,169,0,0,90,169,0,0,100,169,0,0,108,169,0,0,118,169,0,0,127,169,0,0,134,169,0,0,144,169,0,0,157,169,0,0,162,169,0,0,174,169,0,0,182,169,0,0,187,169,0,0,192,169,0,0,195, +169,0,0,201,169,0,0,208,169,0,0,217,169,0,0,228,169,0,0,234,169,0,0,245,169,0,0,255,169,0,0,9,170,0,0,18,170,0,0,28,170,0,0,42,170,0,0,56,170,0,0,67,170,0,0,80,170,0,0,91,170,0,0,97,170,0,0,109,170,0,0,116,170,0,0,123,170,0,0,130,170,0,0,137,170,0,0,148,170,0,0,157,170,0,0,163,170,0,0,173,170,0,0,176,170,0,0,180,170,0,0,189,170,0,0,198,170,0,0,205,170,0,0,212,170,0,0,220,170,0,0,223,170,0,0,226,170,0,0,229,170,0,0,232,170,0,0,235,170,0,0,238,170,0,0,248,170,0,0,255,170,0,0,5,171,0,0,15,171,0,0,26, +171,0,0,30,171,0,0,39,171,0,0,48,171,0,0,55,171,0,0,65,171,0,0,72,171,0,0,79,171,0,0,86,171,0,0,94,171,0,0,105,171,0,0,119,171,0,0,130,171,0,0,137,171,0,0,145,171,0,0,151,171,0,0,159,171,0,0,164,171,0,0,175,171,0,0,180,171,0,0,187,171,0,0,200,171,0,0,210,171,0,0,220,171,0,0,225,171,0,0,234,171,0,0,240,171,0,0,246,171,0,0,252,171,0,0,2,172,0,0,10,172,0,0,16,172,0,0,28,172,0,0,40,172,0,0,52,172,0,0,64,172,0,0,77,172,0,0,87,172,0,0,97,172,0,0,109,172,0,0,121,172,0,0,131,172,0,0,142,172,0,0,153,172,0, +0,161,172,0,0,166,172,0,0,172,172,0,0,182,172,0,0,191,172,0,0,198,172,0,0,204,172,0,0,216,172,0,0,226,172,0,0,239,172,0,0,252,172,0,0,5,173,0,0,13,173,0,0,22,173,0,0,33,173,0,0,40,173,0,0,50,173,0,0,57,173,0,0,65,173,0,0,74,173,0,0,80,173,0,0,88,173,0,0,94,173,0,0,102,173,0,0,112,173,0,0,121,173,0,0,126,173,0,0,137,173,0,0,142,173,0,0,226,173,0,0,239,173,0,0,0,0,0,0,19,174,0,0,44,174,0,0,75,174,0,0,94,174,0,0,24,100,0,0,119,174,0,0,156,174,0,0,168,174,0,0,183,174,0,0,216,174,0,0,234,174,0,0,3,175, +0,0,32,175,0,0,49,175,0,0,3,159,0,0,90,73,0,0,72,175,0,0,90,175,0,0,108,175,0,0,147,175,0,0,178,175,0,0,199,175,0,0,231,175,0,0,9,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,172,176,0,0,145,0,0,0,0,0,0,0,135,176,0,0,163,0,0,0,0,0,0,0,66,104,0,0,160,0,0,0,0,0,0,0,177,176,0,0,161,0,0,0,0,0,0,0,184,176,0,0,162,0,0,0,0,0,0, +0,189,176,0,0,163,0,0,0,0,0,0,0,195,176,0,0,164,0,0,0,0,0,0,0,205,176,0,0,146,0,0,0,0,0,0,0,211,176,0,0,147,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,0,0,222,176,0,0,0,0,0,0,0,0,0,0,230,176,0,0,148,0,0,0,0,0,0,0,236,176,0,0,0,0,0,0,0,0,0,0,243,176,0,0,0,0,0,0,0,0,0,0,252,176,0,0,165,0,0,0,0,0,0,0,3,177,0,0,0,0,0,0,0,0,0,0,13,177,0,0,164,0,0,0,0,0,0,0,20,177,0,0,166,0,0,0,0,0,0,0,34,177,0,0,167,0,0,0,0,0,0,0,40,177,0,0,165,0,0,0,0,0,0,0,46,177,0,0,149,0,0,0,0,0,0,0,53,177,0,0,130,0,0,0,0,0,0,0,61,177, +0,0,137,0,0,0,0,0,0,0,66,177,0,0,168,0,0,0,0,0,0,0,73,177,0,0,0,0,0,0,0,0,0,0,80,177,0,0,131,0,0,0,0,0,0,0,92,177,0,0,150,0,0,0,0,0,0,0,101,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,177,0,0,207,177,0,0,216,177,0,0,221,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0, +174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,86,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,112,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,137,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,146,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,157,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,2,0,1,8, +1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,90,141,0,0,0,0,0,0,255,0,33,8, +1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,94,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,181,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,188,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,195,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,201,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,208,179,0,0,0,0,0,0,255,0,1, +8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,216,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,221,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,231,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,237,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,243,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,254,179,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,5,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,16,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,23,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,38,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,55,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,66,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,72,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,204,0,0,0,0,0,0,0,90,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,98,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,112,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,120,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,136,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +209,0,0,0,145,0,0,0,146,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,13,8,58,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,98,130,0,0,0,0,0,0,2,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,3,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,1,0,1,8,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,67,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,234,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,244,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,249,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,254,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,7,181,0,0,0,0,0, +0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,16,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,29,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,47,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,22,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,42,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,64,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,38,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0, +168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,87,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133, 1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1, 152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14, @@ -94,251 +93,250 @@ z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,5 1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167, 0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200, 255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240, -202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,186,3,86,0,21,0,206,255,23,0,79,0,134,0,226,0,136,255,129,255,146,0,161,0,35,1,93,1,110,1,55,1,126,1,118,1,231,0,108,1,111,1,140,1,142,1,236,0,61,1,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255, -153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,204,1,247,1,55,2,57,2,60,2,65,2,68,2,70,2,72,2,75,2,81,2,119,2,132,2,134,2,137,2,143,2,145,2,147,2,149,2,152,2,158,2,196,2,208,2,247,2,3,3,42,3,54,3,93,3,105,3,144,3,162,3,179,3,182,3,189,3,191,3,195,3,198,3,200,3,230,3,237,3,245,3,254,3,1,4,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,218,1,212,0,15,0,242,1,222,0,255,1,153,255,97,0,45, -2,153,255,153,255,153,255,153,255,176,255,9,0,59,0,19,0,38,1,38,1,203,255,194,255,178,2,179,2,223,2,225,2,228,2,232,2,133,0,54,1,148,0,74,1,160,0,124,1,18,3,20,3,145,1,40,1,21,3,221,2,85,0,210,2,214,255,68,1,252,1,16,3,60,3,61,3,62,3,166,2,201,2,151,1,69,0,150,0,194,0,188,0,33,1,45,1,147,1,205,1,229,1,56,2,105,2,161,2,212,2,11,3,24,3,56,3,63,3,69,3,74,3,78,3,80,3,113,3,124,3,132,3,163,3,168,3,190,1,142,3,143,3,176,3,181,3,133,3,187,3,199,3,210,3,155,3,224,3,225,3,188,3,228,3,231,3,242,3,33,1,250, -3,9,4,19,4,22,4,25,4,32,4,166,3,205,3,229,3,232,3,234,3,133,3,244,3,251,3,36,4,246,3,236,3,252,3,207,3,0,4,208,3,16,4,11,4,23,4,21,4,253,3,239,3,27,4,29,4,7,4,10,4,59,4,2,4,58,4,60,4,240,3,241,3,65,4,12,4,44,4,35,4,45,4,47,4,48,4,49,4,81,4,87,4,52,4,26,4,56,4,66,4,55,4,91,4,93,4,34,4,24,4,104,4,114,4,116,4,100,4,121,4,124,4,125,4,127,4,107,4,111,4,113,4,117,4,106,4,118,4,119,4,120,4,123,4,110,4,126,4,128,4,82,4,88,4,89,4,92,4,90,4,101,4,99,4,103,4,147,4,151,4,95,4,140,4,96,4,97,4,142,4,122,4,131, -4,133,4,136,4,143,4,187,4,190,4,200,4,201,4,208,4,209,4,210,4,211,4,108,4,129,4,109,4,177,4,184,4,204,4,55,1,26,5,145,0,139,2,2,0,192,0,140,2,82,1,12,3,92,0,92,0,92,0,92,0,85,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,88,0,88,0,88,0,87,0,79,1,71,1,88,3,88,3,92,0,92,0,92,0,92,0,185,2,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,76,0,39,3,74,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,79,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,12, -3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,100,1,40,3,8,3,189,2,177,2,177,2,86,0,83,0,166,0,1,1,41,3,203,2,174,1,86,0,83,0,166,0,68,1,185,2,88,3,88,3,201,0,158,0,20,1,131,1,15,1,130,1,188,0,177,2,177,2,60,3,86,0,83,0,166,0,13,1,65,3,49,0,123,0,87,0,79,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,239,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,251,2,77,1,76,1,216,0,152,1,138,1,69,0,231,0,137,1,178,2,179,2,140,1,142,3,251,0,98,1,250,0,32,1,59, -1,174,1,140,3,174,1,141,3,89,0,89,0,88,0,88,0,88,0,87,0,79,1,135,1,88,3,88,3,178,2,179,2,183,0,95,0,123,0,128,1,125,1,124,1,65,3,31,0,65,3,49,0,144,3,144,3,239,2,240,2,123,1,123,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,152,1,143,1,179,1,145,2,88,3,88,3,90,1,57,0,232,0,60,3,109,0,192,2,110,1,177,2,177,2,107,1,57,3,248,2,97,0,237,2,240,2,65,3,49,0,196,2,196,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0, -91,0,92,0,92,0,92,0,92,0,167,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,114,0,22,0,105,1,176,2,58,0,152,1,134,1,251,0,93,1,240,0,213,0,250,2,177,2,177,2,79,3,173,2,115,0,105,1,231,0,137,1,177,2,177,2,140,1,183,0,177,2,177,2,128,1,125,1,124,1,105,1,88,3,88,3,178,2,179,2,160,0,159,0,223,0,123,1,226,2,25,0,38,3,195,2,73,3,143,0,177,2,177,2,67,3,136,1,83,1,254,2,254,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,146,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88, -0,87,0,79,1,55,1,72,3,72,3,72,3,10,1,1,1,178,2,179,2,10,3,194,2,86,0,83,0,166,0,219,0,178,2,179,2,225,2,1,0,178,2,179,2,177,2,177,2,177,2,177,2,174,1,86,0,83,0,166,0,249,0,176,2,169,3,88,3,88,3,171,1,187,2,188,2,60,3,42,1,178,2,179,2,221,0,174,2,115,0,123,0,176,3,27,3,65,3,48,0,86,1,49,1,202,3,79,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,172,3,73,3,167,2,201,2,173,1,67,3,174,1,251,0,98,1,250,0,99,1,32,1,178, -2,179,2,178,2,179,2,29,1,173,3,84,1,203,3,31,1,210,0,23,0,174,0,25,3,64,3,174,1,97,1,65,3,10,0,88,3,88,3,24,0,174,3,151,0,241,2,72,3,72,3,72,3,26,3,200,3,10,5,65,1,142,1,10,5,100,1,96,1,242,2,65,3,49,0,167,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,120,1,114,0,139,3,193,2,174,1,139,3,72,1,122,3,114,0,65,3,10,0,198,3,174,1,89,3,89,3,64,1,189,0,163,0,64,3,165,0,174,1,138,3,88,1,67,1,138,3,136,3,65,3,10,0,197, -3,50,1,88,3,88,3,187,0,163,1,65,3,10,0,220,0,101,3,104,3,64,3,222,0,147,1,65,3,49,0,195,4,25,3,68,0,169,3,150,1,245,0,66,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,93,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,148,1,213,0,250,2,66,3,89,1,114,0,172,3,134,3,112,1,215,2,5,0,60,1,192,0,140,1,4,3,12,3,13,1,230,0,242,0,3,3,244,0,141,1,164,0,173,3,129,1,123,0,91,1,55,0,99,1,73,1,88,3,88,3,216,2,77,1,76,1,176,2,200,3,11,5,212,2,174,3,11,5,157,1,214,0,65,3,9,0, -106,1,30,1,187,3,115,0,206,2,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,144,3,144,3,20,5,20,5,246,2,88,3,88,3,69,1,198,3,12,3,65,3,35,0,235,2,208,2,78,1,187,2,188,2,209,3,140,2,82,1,243,0,233,2,152,3,152,3,113,1,187,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,3,174,1,112,0,54,1,174,1,181,2,61,1,186,2,144,1,174, -1,25,3,103,1,174,1,249,3,174,1,192,0,174,1,145,1,12,3,174,1,104,1,65,3,36,0,65,3,12,0,174,1,65,3,27,0,60,1,88,3,88,3,65,3,37,0,20,0,65,3,38,0,65,3,39,0,65,3,28,0,72,0,65,3,29,0,151,2,152,2,153,2,8,1,65,3,40,0,234,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,2,174,1,149,3,147,0,174,1,165,0,148,3,19,1,65,3,41,0,174,1,12,3,174,1,21,0,174,1,3,1,174,1,6,1,18,1,174,1,111,1,65,3,42,0,65,3,11,0,174,1,65,3, -43,0,235,0,88,3,88,3,25,3,65,3,99,0,65,3,44,0,65,3,45,0,65,3,32,0,75,0,65,3,46,0,49,1,199,3,1,1,1,1,65,3,47,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,186,0,185,0,184,0,238,0,88,3,88,3,138,2,2,0,40,4,65,3,33,0,227,2,217,0,218,0,1,1,203,3,1,1,170,1,61,1,1,1,6,3,65,3,117,0,1,1,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0, -79,1,174,1,62,1,124,0,212,0,163,0,88,3,88,3,175,3,132,3,130,3,65,3,118,0,247,2,214,2,213,2,1,1,243,2,33,1,33,1,221,2,222,2,193,3,65,3,119,0,170,2,55,1,93,0,82,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,204,2,246,0,66,1,75,1,88,3,88,3,0,1,114,0,101,1,65,3,53,0,40,3,145,3,145,3,164,3,156,0,160,1,164,1,168,1,162,3,41,3,65,3,34,0,108,1,55,1,253,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0, -90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,114,0,114,0,114,0,192,3,88,3,88,3,51,1,2,1,62,3,65,3,100,0,191,0,252,0,121,1,11,1,68,0,197,0,68,0,5,1,204,2,1,3,65,3,50,0,71,0,143,3,143,3,7,1,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,80,0,169,1,34,3,3,0,190,4,191,0,174,1,9,1,80,1,80,1,65,3,101,0,229,2,80,0,169,1,129,3,3,0,211,2,210,2,172,1,209,2,80,1,80,1,174,1,125,3,14,1,174,1,197,0,65,3,102,0,174,1,32,3,172,1,174, -1,183,2,174,1,75,3,111,0,158,1,174,1,16,3,153,1,174,1,63,3,174,1,65,3,98,0,123,0,65,3,116,0,79,3,158,1,65,3,49,0,11,3,65,3,113,0,65,3,106,0,226,0,123,0,65,3,105,0,79,3,65,3,103,0,65,3,104,0,23,3,155,1,77,0,78,0,34,1,156,1,174,1,35,1,114,0,79,0,176,1,175,1,133,1,174,1,67,3,77,0,78,0,129,3,71,3,152,1,154,1,174,1,79,0,176,1,175,1,116,1,191,2,67,3,65,3,52,0,174,1,80,0,169,1,174,1,3,0,65,3,54,0,4,3,75,3,80,1,80,1,172,2,3,3,65,3,51,0,72,3,72,3,72,3,74,3,19,0,172,1,160,2,65,3,26,0,159,2,65,3,30,0,161,2, -72,3,72,3,72,3,74,3,19,0,207,0,149,2,22,1,48,1,148,0,24,1,158,1,26,1,248,0,102,1,54,3,126,1,6,0,92,1,161,0,17,1,80,0,169,1,79,3,3,0,166,3,127,3,208,2,126,3,80,1,80,1,40,1,157,0,159,1,241,0,28,1,162,2,190,3,194,0,185,3,172,1,183,3,180,3,77,0,78,0,9,3,63,1,56,0,59,0,135,0,79,0,176,1,175,1,121,0,66,0,67,3,146,0,128,0,94,1,158,1,51,3,130,0,95,1,131,0,132,0,133,0,119,1,173,0,107,0,138,0,149,0,79,3,109,1,178,0,62,0,70,0,169,1,168,3,3,0,59,3,121,3,115,1,255,0,80,1,80,1,24,3,72,3,72,3,72,3,74,3,19,0,77,0, -78,0,147,3,172,1,208,0,179,0,144,0,79,0,176,1,175,1,117,1,4,1,67,3,180,0,70,1,163,2,181,0,52,1,232,2,132,1,231,2,219,2,158,1,206,2,230,2,218,2,200,2,146,1,53,1,199,2,16,1,20,3,65,0,198,2,79,3,197,2,21,1,193,0,21,3,19,3,23,1,108,3,73,0,72,3,72,3,72,3,74,3,19,0,18,3,25,1,162,1,27,1,166,1,227,0,77,0,78,0,74,1,228,0,229,0,96,0,255,2,79,0,176,1,175,1,151,1,67,0,67,3,215,0,36,1,37,1,149,1,38,1,47,1,46,1,45,1,204,0,43,1,39,1,202,0,164,2,169,2,7,0,177,1,157,2,203,0,205,0,206,0,125,0,110,0,57,1,178,1,155, -2,154,2,146,2,168,0,224,0,237,0,72,3,72,3,72,3,74,3,19,0,120,0,144,2,81,1,236,0,155,0,167,0,85,1,233,0,58,1,108,0,137,3,135,3,58,3,127,0,126,0,244,2,170,0,129,0,172,0,247,0,160,3,134,0,136,0,171,0,60,0,61,0,123,0,169,0,137,0,165,3,175,0,176,0,159,3,8,0,13,0,177,0,254,0,150,3,139,0,191,0,156,3,140,0,114,1,166,2,150,0,118,1,182,0,18,1,12,1,141,0,122,0,63,0,14,0,122,1,15,0,127,1,64,0,225,0,78,3,77,3,106,3,16,0,4,0,217,2,253,2,2,3,162,0,139,1,209,0,211,0,142,0,33,3,110,3,28,3,56,1,71,0,68,0,107,3,105, -3,171,3,190,0,161,1,170,3,17,0,195,0,196,0,152,0,18,0,207,3,199,0,208,3,153,0,198,0,154,0,165,1,109,3,76,3,184,2,81,0,200,0,41,1,87,1,251,3,250,3,44,1,141,2,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,90,0,60,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,182,0,80,1,218,0,38,2,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4, -180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,218,0,218,0,162,1,239,1,23,2,23,2,33,0,43,0,10,0,226,255,167,255,167,255,167,255,11,0,169,1,169,1,12,1,199,1,93,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0, -218,0,218,0,218,0,172,2,138,0,10,0,43,0,125,0,125,0,125,0,125,0,125,0,125,0,167,255,167,255,167,255,228,0,85,1,85,1,207,0,20,1,44,1,24,1,96,1,98,1,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,51,2,51,2,51,2,218,0,218,0,179,1,218,0,218,0,218,0,67,2,218,0,218,0,73,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,69,2,0,3,199,2,199,2,199,2,192,2,215,0,41,4,244,2,178,1,197,2,197,2,200,2,178,1,200,2,22,2,90,3,129,2,185,3,197,2,168,255, -185,3,185,3,99,3,233,1,191,1,176,4,94,4,94,4,179,4,179,4,94,4,205,4,160,4,102,4,218,4,218,4,218,4,218,4,94,4,226,4,102,4,205,4,160,4,160,4,102,4,94,4,226,4,115,4,213,4,94,4,94,4,226,4,253,4,94,4,226,4,94,4,226,4,253,4,181,4,181,4,181,4,235,4,253,4,181,4,186,4,181,4,235,4,181,4,181,4,171,4,194,4,171,4,194,4,171,4,194,4,171,4,194,4,94,4,94,4,174,4,253,4,230,4,230,4,253,4,199,4,207,4,206,4,212,4,102,4,66,5,68,5,83,5,83,5,93,5,93,5,93,5,93,5,167,255,167,255,167,255,167,255,167,255,167,255,221,1,35,2, -130,1,50,3,238,2,253,2,188,2,238,3,219,2,243,3,247,3,248,3,249,3,180,3,68,3,167,3,191,2,255,3,31,4,40,4,53,4,87,3,150,3,63,4,61,4,99,2,112,5,114,5,97,5,236,4,105,5,53,5,108,5,102,5,103,5,7,5,254,4,17,5,9,5,110,5,8,5,118,5,134,5,13,5,6,5,60,5,61,5,32,5,116,5,109,5,24,5,146,5,143,5,127,5,43,5,11,5,98,5,128,5,99,5,94,5,113,5,49,5,135,5,138,5,141,5,50,5,56,5,142,5,115,5,144,5,145,5,140,5,147,5,117,5,148,5,149,5,119,5,125,5,150,5,151,5,152,5,63,5,154,5,157,5,155,5,156,5,59,5,160,5,161,5,158,5,159,5,163, -5,64,5,164,5,162,5,165,5,166,5,164,5,169,5,170,5,171,5,173,5,174,5,178,5,176,5,180,5,179,5,172,5,181,5,182,5,184,5,185,5,181,5,187,5,186,5,188,5,189,5,191,5,82,5,92,5,95,5,96,5,192,5,204,5,219,5,214,3,20,5,20,5,20,5,190,4,190,4,190,4,25,5,20,5,85,4,114,4,114,4,250,4,25,5,25,5,25,5,25,5,25,5,25,5,188,4,25,5,25,5,25,5,20,5,25,5,89,4,120,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,249,4,251,4,128,4,127,4,230,4,101,4,125,4,118,4,122,4,191,4,184,4,185,4,183,4,187,4,192,4,25,5,121,4,153,4,168,4,152,4,25, -5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,162,4,167,4,174,4,166,4,163,4,155,4,154,4,156,4,157,4,25,5,25,5,240,3,50,4,25,5,25,5,158,4,25,5,252,3,159,4,171,4,170,4,169,4,247,3,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,214,3,20,5,25,5,25,5,20,5,20,5,20,5,20, -5,20,5,20,5,12,5,89,4,79,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,0,5,254,4,25,5,203,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,85,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,220,3,25,5,223,4,85,4,85,4,85,4,87,4,65,4,77,4,222,3,124,4,103,4,103,4,235,4,124,4,235,4,21,4,44,4,18,4,114,4,103,4,186,4,114,4,114,4,86,4,77,4,25,5,5,5,94,4,94,4,253,4,253,4,94,4,133,4,54,4,124,4,61,4,61,4,61,4,61,4,94,4,237,3,124,4, -133,4,54,4,54,4,124,4,94,4,237,3,229,4,227,4,94,4,94,4,237,3,196,4,94,4,237,3,94,4,237,3,196,4,52,4,52,4,52,4,36,4,196,4,52,4,21,4,52,4,36,4,52,4,52,4,107,4,102,4,107,4,102,4,107,4,102,4,107,4,102,4,94,4,94,4,25,5,196,4,200,4,200,4,196,4,119,4,108,4,117,4,115,4,124,4,243,3,39,4,230,3,230,3,219,3,219,3,219,3,219,3,17,5,17,5,12,5,23,4,23,4,6,4,25,5,25,5,25,5,25,5,25,5,25,5,254,3,25,5,205,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,140,4,25,5,215,3,7,5,25,5,25,5, -4,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,233,4,25,5,25,5,25,5,25,5,25,5,25,5,226,4,225,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,68,4,25,5,25,5,25,5,72,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,116,4,25,5,109,4,25,5,189,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,22,5,25,5,25,5,25,5,21,5,25,5,25,5,25,5,25,5,25,5,142,4,25,5,141,4,145,4,25,5,228,3,25,5,16,0,2,2,12,0,14,0,24, -0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0, -99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, -116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, -116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, -117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, -101,112,0,51,46,49,49,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, -134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, -99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0, -0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,50,45,49,53,32,49,55,58,50,57,58,50,52,32,51,100,56,54,50,102,50,48,55,101,51,97,100,99,48,48,102,55,56,48,54,54,55,57,57,97,99,53,97,56,99,50,56,50,52,51,48,97,53,102,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102, -97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4, -6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84, -85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67, -79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82, -69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111, -21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0, -107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44],"i8",4,l.aa+10622); -z([115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37, -115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116, -97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69, -0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97, -114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76, -84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69, -84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115, -101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114, -39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76, -65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100, -120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111, -117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68, -69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46, -39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84, -69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,71,82,79,85,80,32,66,89,32,108,101, -118,101,108,32,72,65,86,73,78,71,32,99,111,117,110,116,40,42,41,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32, -65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101, -97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78, -68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37, -37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39, -37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82, -79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101, -120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111, -110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69, -67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101, -100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84, -65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122, -101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95, -108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39, -37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107, -32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66, -41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120, -101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,102,116,115,51,116,111,107,101,110,105,122,101,58,32,100,105,115,97,98,108,101,100,32,45,32,114,101,98,117,105,108,100,32,119,105,116,104,32,45,68,83,81,76,73,84,69,95, -69,78,65,66,76,69,95,70,84,83,51,95,84,79,75,69,78,73,90,69,82,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99, -110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105, -99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105, -100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110, -97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115, -105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100, -32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99, -99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32, -99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107, -117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,117,110,107,110,111,119,110,32,116,97,98,108, -101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104, -105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69, -32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173, -2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,190,0,190,1,176,0,176,3,191,0,191,2,192,1,192,1,192,1,149,4,194,2,194,0,149,9,149,4,149,1,163,2,196,1,196,3,199,1,199,2,199,1,197,9,197,1,208,4,208,5,200,1,200,1,200,0,211,2,211,0,201,3,201,2,201,4,212,2,212,1,212,0,202,0,202,2,214,2,214,0,213,7,213,9,213,7,213,7,159,0,159,2,195,2, -215,1,215,2,215,3,215,4,217,2,217,0,216,0,216,3,216,2,218,4,218,0,206,0,206,3,188,4,188,2,177,1,177,1,177,0,204,0,204,3,205,0,205,2,207,0,207,2,207,4,207,4,149,6,203,0,203,2,149,8,220,5,220,3,149,6,149,7,221,2,221,1,222,0,222,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,223,1,223,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,224,1,224,2,175,5,225,1,225,2,175,5,175,3,175,5,175, -4,175,4,175,5,227,5,227,4,228,2,228,0,226,1,226,0,210,1,210,0,209,3,209,1,149,12,229,1,229,0,179,0,179,3,189,5,189,3,230,0,230,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,231,1,231,1,231,1,231,1,231,1,171,2,171,1,172,2,149,5,232,11,234,1,234,1,234,2,234,0,235,1,235,1,235,3,236,0,236,3,237,0,237,2,233,3,233,2,239,1,239,3,240,0,240,3,240,2,238,7,238,5,238,5,238,1,175,4,175,6,193,1,193,1,193,1,149,4,149,6,149,3,242,0,242,2,241,1,241,0,149,1,149,3,149,1,149,3,149,6,149,6,243,1,244,0,244,1,149,1, -149,4,245,8,246,1,246,3,247,0,247,2,248,1,248,3,249,1,250,0,250,4,250,2,198,0,198,2,198,3,251,6,251,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98, -108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111, -32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116, -32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101, -102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121, -112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105, -115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114, -105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75, -69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116, -121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115, -116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32,71,82,79,85,80,32,66,89,32, -99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69, -82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110, -117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115, -32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115, -116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105, -111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115, -0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37, -115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112, -101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32],"i8",4,l.aa+20862); -z([106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101, -110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100, -32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, -111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32, -102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84, -69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101, -58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111, -32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116, -97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117, -116,32,111,102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117, -97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101, -97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73, -78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99, -117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116, -111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0, -105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111, -102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105, -109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101, -120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0, -78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102, -108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110, -100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97, -115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108, -95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112, -97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107, -95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32, -99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111, -114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111, -108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67, -65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69, -71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4, -3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82, -32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0,16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19, -19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111, -100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32, -111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32, -116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32, -0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108, -97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110, -103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111, -112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37, -81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101, -32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0, -97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115, -32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100, -0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69, -77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84, -79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44, -32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0, -32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25, -0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95,19,50,51,80,81,82,83,27,85,86,87,88,89,90,91,92,93,94,95,137,177,139,71,72,73,74,75,76,77,78,79,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,212,173,27,28,223,224,225,152,42,181,152,223,224,225, -95,97,50,51,99,100,101,102,103,104,105,27,28,59,223,224,225,112,174,175,66,94,95,71,72,73,74,75,76,77,78,79,80,81,82,83,195,85,86,87,88,89,90,91,92,93,94,95,19,197,89,90,220,209,210,26,119,120,97,98,208,100,108,109,110,152,157,152,107,152,109,89,90,91,92,93,94,95,163,50,51,97,98,99,55,66,102,103,104,174,175,174,175,132,133,192,193,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,152,209,210,148,149,50,51,100,53,154,59,156,174,229,27,28,232,163,163,22,192,193,174, -175,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,251,85,86,87,88,89,90,91,92,93,94,95,19,198,198,152,152,24,209,210,108,109,110,196,197,27,28,69,164,165,152,119,120,27,28,208,99,27,28,102,103,104,152,50,51,97,98,89,90,185,113,187,22,177,174,97,58,27,28,101,115,245,117,118,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,97,98,91,174,223,224,225,239,97,98,187,22,97,98,27,28,27,28,152,223,224,225,239,152,163,50,51,170,171,172,59,160,97,98,239,164,165, -66,242,124,174,175,195,22,23,69,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,12,97,21,23,152,101,152,108,109,110,221,152,97,98,97,98,152,29,243,70,226,23,233,26,26,152,152,238,174,175,50,51,22,45,24,47,132,133,134,124,22,23,188,163,26,152,65,59,174,175,163,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,19,198,152,23,152,152,209,103,198,174,175,70,152,50,51,219,213,214,152,98,152,171,172,188,171,172,174,175,248,249,50,51,51,251,174, -175,220,74,75,152,188,152,174,175,140,124,26,163,188,16,130,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,209,196,197,23,231,198,12,231,219,37,22,107,24,208,116,27,112,201,62,121,64,152,152,29,52,66,221,211,221,219,50,51,60,89,90,152,22,23,183,45,26,47,22,174,175,238,152,164,165,106,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,132,133,119,120,163,50,51,111,70,97,174,175,181,182,170,171,172,0,1,2,140,190,108,109,110,51,71,72,73,74, -75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,152,152,152,22,166,152,168,169,27,19,152,26,19,152,122,152,24,152,28,27,152,28,174,175,174,175,152,174,175,107,50,51,174,175,22,174,175,174,175,174,175,138,174,175,7,8,9,16,174,175,152,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,97,152,31,24,152,98,35,101,174,175,152,97,152,79,152,62,152,64,112,152,49,174,175,174,175,152,174,175,152,50,51,124,174,175,174,175,174,175,174,175,138,174,175,22,23, -152,152,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,108,109,110,152,50,51,146,147,23,174,175,26,195,195,152,70,152,168,169,152,26,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,246,247,213,214,50,51,195,152,195,174,175,195,100,101,152,195,152,152,7,8,152,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,27,152,189,189,50,51,195,198,152,174,175,33,132,133,152, -123,163,163,163,152,42,174,175,152,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,198,198,198,23,50,51,26,152,23,174,175,26,23,23,23,26,26,26,152,97,23,174,175,26,132,133,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,23,22,23,26,152,152,27,28,174,175,152,19,20,27,22,183,183,38,152,27,28,152,23,152,152,26,174,175,152,152,38,152,23,152,27,26,57,152,215,163,152,152,152,174,175,66,174,175,69,57,174,175,152,174,175,174,175,212,66,174, -175,69,174,175,174,175,152,152,89,90,152,193,152,152,198,96,97,98,91,152,101,89,90,97,152,209,210,152,96,97,98,235,152,101,174,175,152,19,20,152,22,174,175,116,97,27,28,152,121,174,175,132,133,134,135,136,38,152,174,175,152,174,175,152,132,133,134,135,136,234,152,212,150,199,212,57,212,240,240,203,178,200,216,186,177,19,20,69,22,203,177,182,177,27,28,202,200,228,216,216,155,39,122,159,38,159,41,89,90,91,159,241,241,22,96,97,98,71,130,101,222,191,18,57,203,194,159,194,194,194,18,158,244,191,222,69, -159,158,137,19,20,203,22,191,203,46,236,27,28,159,132,133,134,135,136,89,90,237,38,159,158,22,96,97,98,179,159,101,158,48,159,158,179,176,107,176,184,57,106,176,184,176,125,179,178,176,218,107,176,69,176,217,159,218,218,217,159,137,132,133,134,135,136,218,217,179,217,179,227,89,90,95,230,230,129,207,96,97,98,126,128,101,5,206,205,127,204,10,11,12,13,14,203,25,17,162,26,161,13,153,153,6,247,180,250,151,151,151,151,32,180,34,132,133,134,135,136,167,4,3,43,22,15,68,142,250,16,23,23,120,111,131,20,56, -123,125,16,1,123,131,63,79,79,66,67,111,28,36,122,1,5,22,107,140,54,54,26,61,107,44,20,24,19,105,112,23,22,40,22,22,53,22,53,22,53,23,23,23,22,22,30,116,23,122,26,23,23,22,28,11,124,114,26,26,23,23,23,36,24,23,36,26,22,22,36,23,122,23,22,26,22,24,23,23,23,22,122,23,141,122,122,15,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, -27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, -2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109, -109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117, -115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115, -116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110, -116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110, -115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117, -116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39, -0,37,48,50,120,0,39,0,99,97,110,110,111,116],"i8",4,l.aa+31102); -z([32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95, -100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65, -78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78, -68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84, -32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39, -68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110, -97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116, -101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112, -97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110, -105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111, -119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110, -118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103, -101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111, -111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46, -49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101, -114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121, -0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111, -114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100, -0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66, -105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116, -97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101, -97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67, -111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114,111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116, -101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98, -111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99, -107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114, -97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98, -114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105, -110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120, -45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105, -110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47, -110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110, -107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0, -1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101, -95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48, -54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50, -49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101, -114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111, -110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118, -101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77, -65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114, -101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111, -114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115, -115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115, -116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105, -114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115, -32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82, -101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100, -32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111, -114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116, -111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112, -111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101, -32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115, -0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41342);var Cb=l.ta(z(12,"i8",2),8);assert(0==Cb%8); -f._i64Subtract=Db;f._i64Add=Eb; +202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,181,3,136,0,131,0,208,255,211,255,158,0,241,0,22,0,153,0,226,0,163,0,106,1,108,1,110,1,56,1,58,1,112,1,237,0,236,0,44,1,184,1,114,0,103,1,63,1,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100, +0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,118,1,191,1,205,1,4,2,6,2,55,2,57,2,60,2,62,2,67,2,69,2,71,2,74,2,84,2,119,2,132,2,134,2,137,2,145,2,147,2,149,2,151,2,159,2,196,2,208,2,210,2,247,2,3,3,5,3,42,3,54,3,56,3,93,3,105,3,107,3,162,3,176,3,179,3,184,3,189,3,191,3,193,3,229,3,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,230,1,148,255,173,255,224,0,30,1,195,1,100,0,169,2,100,0,100,0,100,0,100,0,98,1,98,1,98,1,81,1,96,1,49,0,226,1,226,1,247,1,20,2,196,255, +103,2,135,2,177,2,178,2,225,2,14,3,194,255,5,2,21,3,218,1,27,3,68,2,221,2,32,0,150,2,232,1,139,0,166,2,177,1,1,3,4,3,140,1,216,2,119,3,174,3,187,3,197,3,209,3,228,2,254,2,178,0,210,255,239,255,59,0,53,0,118,0,141,0,167,0,248,0,255,0,70,1,185,1,208,1,7,2,156,2,181,2,209,2,224,2,232,2,7,3,20,3,78,3,131,3,144,3,168,3,215,3,217,3,72,0,134,0,30,2,222,3,223,3,85,2,224,3,230,3,252,3,103,3,254,3,3,4,147,3,5,4,6,4,10,4,118,0,11,4,12,4,19,4,20,4,21,4,22,4,163,3,199,3,231,3,232,3,233,3,85,2,235,3,241,3,34,4, +243,3,219,3,234,3,208,3,248,3,213,3,15,4,13,4,14,4,23,4,238,3,236,3,28,4,29,4,9,4,7,4,55,4,226,3,56,4,57,4,237,3,242,3,58,4,4,4,38,4,31,4,43,4,47,4,48,4,49,4,77,4,84,4,45,4,24,4,54,4,59,4,50,4,86,4,89,4,17,4,25,4,98,4,99,4,102,4,94,4,114,4,116,4,120,4,117,4,103,4,109,4,110,4,111,4,105,4,112,4,118,4,119,4,122,4,108,4,123,4,124,4,78,4,85,4,88,4,87,4,90,4,92,4,93,4,95,4,142,4,146,4,96,4,134,4,97,4,100,4,141,4,121,4,125,4,131,4,135,4,137,4,177,4,185,4,196,4,198,4,201,4,202,4,203,4,204,4,127,4,128,4,126, +4,191,4,193,4,179,4,181,4,207,4,59,1,22,5,146,0,153,3,2,0,194,0,154,3,86,1,184,3,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,87,0,87,0,87,0,86,0,83,1,75,1,51,3,51,3,91,0,91,0,91,0,91,0,83,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,63,1,165,3,165,3,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,109,1,4,3,104, +1,24,0,165,3,165,3,179,3,182,2,165,3,165,3,5,3,169,3,165,3,165,3,178,1,203,2,72,1,178,1,51,3,51,3,203,0,160,0,22,1,135,1,17,1,134,1,190,0,165,3,165,3,114,1,166,3,167,3,111,1,15,1,185,3,48,0,167,2,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,170,2,81,1,80,1,218,0,156,1,142,1,68,0,156,1,147,1,166,3,167,3,231,2,191,3,166,3,167,3,42,3,169,3,166,3,167,3,189,3,221,0,190,3,88,0,88,0,87,0,87,0,87,0,86,0,83,1, +35,1,51,3,51,3,166,3,167,3,185,0,94,0,24,3,132,1,129,1,128,1,216,4,216,4,24,3,36,3,192,3,192,3,34,1,30,3,127,1,123,0,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,169,2,229,2,35,3,35,3,35,3,51,3,51,3,176,3,56,0,253,0,97,1,242,0,85,0,82,0,168,0,253,0,102,1,252,0,110,0,96,0,233,0,141,1,186,2,165,2,171,2,171,2,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,177,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87, +0,87,0,86,0,83,1,59,1,178,1,183,1,139,2,140,1,57,0,221,2,221,2,234,0,35,1,107,0,31,1,139,1,86,0,83,1,42,3,171,1,216,2,165,3,165,3,185,0,185,3,30,0,132,1,129,1,128,1,215,0,181,3,178,1,165,3,165,3,51,3,51,3,185,2,127,1,162,0,161,0,151,1,144,1,85,0,82,0,168,0,165,2,36,3,79,1,113,0,3,3,30,3,185,3,48,0,22,0,95,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,102,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,35,3,35,3,35,3,12,1,123,0,156,1,138,1,1,0,165,3,165,3,166,3,167, +3,165,3,165,3,85,0,82,0,168,0,232,0,5,0,87,1,194,0,166,3,167,3,184,3,85,0,82,0,168,0,54,0,188,3,178,1,51,3,51,3,175,1,170,3,171,3,24,3,67,0,247,2,94,1,144,0,166,0,2,3,123,0,128,3,121,3,187,3,92,1,32,1,246,2,185,3,47,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,124,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,113,0,166,3,167,3,175,2,125,3,166,3,167,3,253,0,102,1,252,0,85,0,82,0,168,0,52,3,52,3,188,3,184,3,82,1,170,3,171,3,126,3,189,2,209,2,103,1,33,1,233,0,141, +1,178,1,93,1,178,1,51,3,51,3,187,3,98,3,210,2,23,0,133,1,64,3,67,3,180,2,101,1,136,3,155,2,194,0,190,2,146,1,184,3,185,3,48,0,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,113,0,178,1,168,2,178,1,76,1,178,1,152,1,121,3,100,1,124,1,172,3,145,1,208,2,180,3,96,3,191,0,165,0,73,1,177,2,185,3,9,0,185,3,9,0,185,3,9,0,185,3,9,0,206,2,180,3,51,3,51,3,185,3,8,0,69,1,111,0,71,1,153,0,224,0,184,3,154,1,113,0, +189,0,81,1,80,1,145,3,15,5,84,3,75,0,15,5,73,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,103,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,218,2,148,0,236,0,29,3,110,1,21,3,124,3,155,4,178,1,192,3,192,3,144,1,148,0,58,1,212,0,105,3,143,3,245,2,148,1,104,3,44,1,64,1,178,1,125,3,55,1,237,0,15,1,149,1,185,3,34,0,51,3,51,3,225,0,115,1,177,3,104,1,145,3,16,5,113,0,126,3,16,5,161,1,185,3,35,0,221,4,154,3,86,1,3,1,247,0,34,1,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3, +90,0,90,0,91,0,91,0,91,0,91,0,148,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,54,1,178,1,28,3,178,1,240,0,51,3,51,3,10,1,143,3,108,3,108,3,117,1,90,1,167,0,142,2,143,2,144,2,3,1,244,0,19,0,246,0,185,3,11,0,185,3,26,0,222,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,245,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,5,1,178,1,8,1,184,2,178,1,241,0,178,1,88,1,203,3,52,1,245,2,178,1,28,3,178,1,68,1,178,1,137,1,167,1,178,1,185,3,36,0,185,3,37,0, +20,0,185,3,38,0,185,3,27,0,178,1,51,3,51,3,185,3,28,0,185,3,39,0,185,3,40,0,226,2,185,3,41,0,71,0,226,2,225,2,245,0,51,1,205,3,225,2,3,1,185,3,10,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,116,1,178,1,3,1,149,0,178,1,167,0,185,3,42,0,188,0,187,0,186,0,219,0,178,1,236,2,178,1,206,3,178,1,28,3,178,1,185,3,98,0,185,3,43,0,94,3,185,3,44,0,178,1,152,3,2,0,51,3,51,3,245,2,185,3,31,0,185,3,45,0,185,3,46,0,185, +3,32,0,74,0,51,1,144,3,220,0,3,1,3,1,185,3,115,0,141,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,248,0,178,1,215,0,181,3,51,3,51,3,77,1,185,3,116,0,127,3,92,3,176,0,3,1,206,3,144,1,105,1,3,1,183,3,119,3,185,3,117,0,185,3,52,0,116,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,113,0,178,1,2,1,115,3,51,3,51,3,215,2, +185,3,33,0,107,1,3,1,161,2,65,1,189,0,174,1,65,1,112,1,109,1,108,1,185,3,99,0,185,3,49,0,109,1,59,1,92,0,81,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,211,2,178,1,214,0,165,0,51,3,51,3,4,3,185,3,100,0,66,1,124,0,245,4,158,0,65,0,198,2,5,3,188,2,187,2,64,1,185,3,101,0,185,3,97,0,255,0,59,1,216,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178, +1,251,0,178,1,195,2,196,2,51,3,51,3,223,0,185,3,114,0,140,3,26,3,254,0,53,1,193,0,67,0,125,1,101,3,101,3,199,0,185,3,112,0,185,3,105,0,13,1,214,2,4,1,67,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,7,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,178,2,3,0,150,4,228,0,178,1,113,0,84,1,84,1,100,3,100,3,9,1,79,0,173,1,223,2,3,0,91,3,70,0,176,1,178,1,84,1,84,1,178,1,235,4,178,1,185,3,104,0,178,1,158,2,160,1,254,2,176,1,178,1,193,0,178,1,157,1,178,1,162,1,38,3,185,3,102, +0,164,1,185,3,103,0,185,3,48,0,123,0,185,3,51,0,42,3,162,1,168,1,185,3,53,0,185,3,50,0,185,3,25,0,11,1,123,0,199,2,113,0,42,3,172,1,21,1,183,2,16,1,252,2,113,0,76,0,77,0,178,2,178,1,27,3,113,0,20,1,78,0,180,1,179,1,156,1,158,1,30,3,76,0,77,0,113,0,87,3,91,3,120,1,199,0,78,0,180,1,179,1,185,3,29,0,30,3,232,2,113,0,243,2,79,0,173,1,163,2,3,0,159,1,109,0,36,1,37,1,84,1,84,1,38,3,34,3,166,2,160,2,35,3,35,3,35,3,37,3,18,0,176,1,149,2,148,2,150,2,159,3,209,0,150,0,96,1,35,3,35,3,35,3,37,3,18,0,6,0,50,1, +24,1,26,1,28,1,18,3,162,1,250,0,130,1,243,0,118,3,182,2,106,1,30,1,163,0,19,1,79,0,173,1,42,3,3,0,89,3,88,3,159,0,163,1,84,1,84,1,42,1,162,3,200,3,126,0,196,0,197,3,135,3,133,3,67,1,176,1,136,0,55,0,76,0,77,0,230,2,147,0,58,0,121,0,129,0,78,0,180,1,179,1,65,0,15,3,30,3,98,1,131,0,99,1,162,1,123,1,132,0,133,0,134,0,175,0,139,0,151,0,113,1,120,3,180,0,23,3,42,3,61,0,83,3,103,3,69,0,173,1,119,1,3,0,244,2,210,0,1,1,181,0,84,1,84,1,145,0,35,3,35,3,35,3,37,3,18,0,76,0,77,0,121,1,176,1,6,1,182,0,183,0,78, +0,180,1,179,1,151,2,56,1,30,3,136,1,202,2,201,2,200,2,74,1,193,2,180,2,57,1,192,2,162,1,174,2,150,1,240,2,173,2,18,1,172,2,174,3,64,0,23,1,195,0,25,1,42,3,241,2,71,3,239,2,27,1,72,0,238,2,29,1,166,1,35,3,35,3,35,3,37,3,18,0,78,1,170,1,95,0,155,1,229,0,153,1,76,0,77,0,230,0,222,2,66,0,231,0,38,1,78,0,180,1,179,1,204,0,39,1,30,3,217,0,40,1,41,1,157,2,21,0,49,1,48,1,47,1,206,0,45,1,181,1,160,3,152,2,205,0,208,0,207,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,170,0,169,0,239,0, +35,3,35,3,35,3,37,3,18,0,125,0,120,0,235,0,238,0,61,1,62,1,89,1,106,0,22,3,99,3,127,0,97,3,128,0,130,0,212,2,249,0,172,0,174,0,114,3,135,0,137,0,59,0,138,0,173,0,60,0,117,3,123,0,171,0,177,0,178,0,113,3,7,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,154,2,152,0,122,1,20,1,184,0,126,1,142,0,122,0,62,0,13,0,131,1,191,2,14,1,14,0,63,0,227,0,41,3,40,3,69,3,220,2,15,0,73,3,224,2,4,0,253,2,211,0,143,1,164,0,213,0,143,0,248,2,201,0,70,0,60,1,67,0,70,3,68,3,123,3,198,0,192,0,16,0,197,0,122,3,149, +3,154,0,17,0,202,0,165,1,150,3,155,0,200,0,156,0,169,1,72,3,39,3,237,4,164,2,80,0,46,1,43,1,91,1,236,4,155,3,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,138,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,90,0,132,0,80,1,76,0,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4, +180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,23,0,202,1,249,1,212,1,212,1,23,0,201,0,87,1,198,255,184,255,184,255,184,255,11,0,11,0,11,0,156,1,156,1,85,1,25,2,93,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,123,2,42,1,74,0,74,0,87,1,255,255,255,255,255, +255,255,255,255,255,255,255,184,255,184,255,184,255,228,0,101,0,101,0,203,0,75,0,71,0,17,1,28,1,89,1,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,165,1,165,1,165,1,23,0,23,0,70,2,23,0,23,0,23,0,100,1,23,0,23,0,73,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,56,2,63,2,200,1,200,1,200,1,192,2,171,0,133,2,162,2,90,3,78,2,78,2,146,3,90,3,146,3,114,1,195,3,118,3,180,3,78,2,169,1,180,3,180,3,96,3,129,2,15,2,172,4,91,4,91,4,173,4,173,4,91,4,197,4,155,4,101, +4,216,4,216,4,216,4,216,4,91,4,220,4,101,4,197,4,155,4,155,4,101,4,91,4,220,4,113,4,209,4,91,4,91,4,220,4,241,4,91,4,220,4,91,4,220,4,241,4,175,4,175,4,175,4,238,4,241,4,175,4,182,4,175,4,238,4,175,4,175,4,168,4,192,4,168,4,192,4,168,4,192,4,168,4,192,4,91,4,91,4,171,4,241,4,222,4,222,4,241,4,190,4,194,4,199,4,195,4,101,4,52,5,58,5,78,5,78,5,88,5,88,5,88,5,88,5,184,255,184,255,184,255,184,255,184,255,184,255,184,255,184,255,144,1,111,2,230,2,48,3,146,2,185,2,227,0,244,3,152,2,245,3,246,3,250,3,2, +4,27,4,123,3,253,3,16,4,44,4,60,4,42,4,115,4,142,3,186,3,130,4,64,4,210,3,100,5,102,5,84,5,231,4,93,5,53,5,106,5,101,5,103,5,3,5,250,4,16,5,5,5,109,5,7,5,114,5,132,5,11,5,4,5,57,5,60,5,26,5,112,5,107,5,22,5,144,5,141,5,125,5,41,5,9,5,96,5,126,5,97,5,92,5,110,5,48,5,133,5,136,5,139,5,47,5,55,5,140,5,108,5,142,5,143,5,145,5,147,5,113,5,137,5,148,5,118,5,123,5,149,5,150,5,151,5,59,5,154,5,155,5,157,5,156,5,61,5,158,5,161,5,152,5,159,5,163,5,62,5,162,5,160,5,164,5,165,5,162,5,168,5,169,5,170,5,171,5, +175,5,172,5,166,5,176,5,178,5,179,5,180,5,181,5,183,5,184,5,180,5,186,5,185,5,187,5,189,5,191,5,65,5,80,5,89,5,95,5,192,5,199,5,217,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, +21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21, +5,21,5,21,5,21,5,21,5,21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223, +3,156,4,56,4,223,3,56,4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21, +5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116, +97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112, +108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103, +99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0, +101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104, +116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,50,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3, +4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148, +149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3, +5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111, +114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116, +114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,51,45,50,57,32,49,48,58,49,52,58,49,53,32,101,57,98,98,52,99,102,52,48,102,52,57,55,49,57,55,52,97,55,52,52,54,56,101,102,57,50,50,98,100,101,101,52,56,49,99,57,56,56,98,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102, +117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5, +6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73, +83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68, +65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69, +70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101, +50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0, +82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101],"i8",4,l.aa+10346); +z([120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111, +111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111, +116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32, +97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65, +66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82, +69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69, +78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116, +101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40, +105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113, +95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69, +82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101, +108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101, +103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100, +111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37, +113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40, +42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32, +32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65, +78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95, +98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101, +108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108, +101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108, +100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105, +108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103, +32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69, +89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108, +97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32, +84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100, +32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115, +32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44, +32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101, +118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39, +40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81, +0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112, +101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108, +97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101, +110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99, +117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101, +103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115, +61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58, +32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99, +104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114, +101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110, +105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147, +3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1, +195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173,3,173,3,173, +3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0,240,2,149,1, +149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112, +116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116, +114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32, +68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112, +101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108, +117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100, +0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32, +119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32, +87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119, +105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121, +112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32, +110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115, +101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116, +101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32, +71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115, +101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104, +101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110, +121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101, +32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32, +102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116, +114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32, +37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98, +108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76],"i8",4,l.aa+20586); +z([32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115, +101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37, +100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99, +116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116, +101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81, +46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117, +110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115, +113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109, +97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32, +111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114, +101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101, +119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39, +116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120, +99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32, +119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105, +110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32, +0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105, +116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117, +115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111, +0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116, +111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95, +115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95, +115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121, +110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113, +117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102, +111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46, +42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101, +114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32, +65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115, +63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109, +97,108,102,117,110,99,116,105,111,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0, +16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78, +32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32, +100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114, +114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67, +84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32, +84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32, +37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101, +114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76, +69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108, +117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101, +105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116, +97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82, +89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37, +113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32, +105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115, +0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115, +101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105, +115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25,0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95, +19,50,51,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,157,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,152,22,27,28,179,180,27,28,42,27,27,28,152,188,95,152,50,51,99,100,101,102,103,104,105,27,28,227,97,98,230,112,172,173,172,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,172,89,90,218,207,208,26,207,208,97,98,91,100,97,98,69,97,97,98,107,237,109,89,90,91,92,93,94,95,152,50, +51,97,98,99,55,59,102,103,104,119,120,59,97,132,133,152,101,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,187,85,86,87,88,89,90,91,92,93,94,95,172,210,132,133,134,50,51,185,53,108,109,110,221,222,223,108,109,110,22,22,119,120,181,27,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,148,149,115,24,117,118,154,152,156,152,163,94,95,69,249,163,27,28,99,172,173,102,103,104,194,195,152,27,28,50,51,181,113,89,90,152,206,221,222,223,97,97,187,196,175,101,172,173, +196,219,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,66,207,208,22,27,28,97,98,27,28,221,222,223,199,22,243,24,97,98,27,221,222,223,209,152,152,50,51,168,169,170,59,26,124,100,58,152,175,66,240,163,169,170,152,124,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,12,85,86,87,88,89,90,91,92,93,94,95,19,196,97,98,23,29,97,98,108,109,110,221,222,223,50,51,152,97,168,169,170,45,37,47,219,224,119,120,152,229,152,50,51,169,170,59,231,52,74,75,106,236,152,21, +24,60,163,27,172,173,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,152,196,152,23,152,207,152,207,163,65,19,171,152,190,191,229,211,212,111,179,172,173,172,173,172,173,172,173,190,191,50,51,172,173,186,22,186,24,186,97,186,196,51,89,90,22,23,103,137,26,139,71,72,73,74,75,76,77,78,79,80,81,82,83,219,85,86,87,88,89,90,91,92,93,94,95,19,195,152,152,23,236,163,12,140,152,132,133,206,152,164,23,31,70,26,19,35,160,107,152,29,164,152,112,28,172,173,50,51,183,49,185, +152,22,23,196,45,26,47,172,173,0,1,2,152,16,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,152,152,152,152,50,51,16,70,108,109,110,193,98,7,8,9,152,62,22,64,172,173,172,173,218,71,72,73,74,75,76,77,78,79,80,81,82,83,124,85,86,87,88,89,90,91,92,93,94,95,19,152,62,152,64,181,152,193,152,241,246,247,26,152,152,152,217,152,91,249,152,172,173,172,173,79,172,173,172,173,152,50,51,172,173,172,173,172,173,116,172,173,138,116,121,140,22,23,121,152,172,173,71,72,73,74, +75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,217,152,152,24,152,98,172,173,108,109,110,193,152,213,152,70,152,152,152,172,173,172,173,152,172,173,152,146,147,50,51,124,172,173,172,173,172,173,172,173,138,22,23,193,152,152,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,152,152,194,195,50,51,217,172,173,193,193,26,152,70,206,152,152,26,163,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91, +92,93,94,95,152,196,152,193,152,50,51,193,172,173,19,152,166,167,51,166,167,152,152,28,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,193,152,211,212,50,51,33,172,173,244,245,23,123,130,26,42,100,101,107,172,173,172,173,152,19,22,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,237,152,7,8,50,51,237,172,173,23,23,23,26,26,26,23,132,133,26,172,173,172,173,23,163,152,26,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87, +88,89,90,91,92,93,94,95,19,20,27,22,23,210,152,196,27,28,132,133,152,19,20,23,22,27,26,38,152,27,28,152,122,152,172,173,152,163,191,23,38,152,26,152,163,152,57,27,172,173,163,172,173,172,173,66,172,173,69,57,163,172,173,172,173,172,173,152,66,152,196,69,163,101,152,152,152,196,89,90,97,152,152,196,112,96,97,98,207,208,101,89,90,196,23,97,233,26,96,97,98,172,173,101,152,196,152,19,20,23,22,152,26,152,152,27,28,97,152,152,152,132,133,134,135,136,38,152,152,152,152,232,197,214,132,133,134,135,136,198, +150,210,210,210,201,57,238,176,214,201,180,238,214,184,175,19,20,69,22,175,175,198,226,27,28,200,155,39,242,122,41,159,159,159,38,22,239,89,90,91,220,239,71,189,96,97,98,130,201,101,18,192,159,57,18,192,192,192,158,189,220,159,201,158,189,69,137,201,235,19,20,46,22,159,159,234,158,27,28,22,132,133,134,135,136,89,90,177,38,159,158,158,96,97,98,159,177,101,107,174,174,174,48,182,106,177,182,57,174,125,216,176,174,174,174,107,215,159,215,69,216,159,216,215,137,216,215,177,132,133,134,135,136,95,177, +129,126,225,127,89,90,228,205,128,228,204,96,97,98,25,203,101,5,202,201,162,26,10,11,12,13,14,161,13,17,153,6,153,151,151,151,151,165,178,165,178,4,3,22,32,15,34,132,133,134,135,136,245,165,142,43,248,248,68,16,120,23,131,23,111,123,20,16,56,125,1,123,131,79,111,63,79,28,66,67,36,122,1,5,22,107,140,54,54,26,61,44,107,20,24,19,112,105,53,22,40,22,22,53,30,23,22,22,53,23,23,23,116,22,11,23,22,28,23,26,122,23,22,124,122,26,114,26,23,23,23,22,36,36,26,23,23,22,36,122,24,23,22,26,22,24,23,23,122,23,22, +15,23,141,122,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1, +1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104, +101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116, +121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115, +0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81, +76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32, +110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72, +69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115, +32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115, +32,105,110,32,112,114,111,103,114],"i8",4,l.aa+30826); +z([101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32, +32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32, +32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84, +69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116, +97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87, +72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97, +115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32, +32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114, +101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104, +116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117, +32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100, +0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108, +105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109, +106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101, +120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78, +117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110, +105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100, +101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101, +113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116, +0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68, +101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114, +105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114, +111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116, +0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101, +115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114, +114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111, +116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116, +104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104, +32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101, +0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115, +105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110, +99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58, +32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69, +70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102, +0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111, +116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57, +65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99, +104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48, +50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76, +69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124, +0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114, +121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115, +111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110, +32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32, +114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105, +110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108, +101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117, +110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32, +114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32, +116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32, +102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116, +32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105, +111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114, +32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41066);var Cb=l.ta(z(12,"i8",2),8);assert(0==Cb%8);f._i64Subtract=Db;f._i64Add=Eb; var E={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Fb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", 13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", @@ -457,22 +455,22 @@ U();U();U();var d=N[c];if(!d)throw new G(E.L);yc(d.g);return 0}catch(e){return"u var X=(function(global,env,buffer) { "use asm";var a=global.Int8Array;var b=global.Int16Array;var c=global.Int32Array;var d=global.Uint8Array;var e=global.Uint16Array;var f=global.Uint32Array;var g=global.Float32Array;var h=global.Float64Array;var i=new a(buffer);var j=new b(buffer);var k=new c(buffer);var l=new d(buffer);var m=new e(buffer);var n=new f(buffer);var o=new g(buffer);var p=new h(buffer);var q=global.byteLength;var r=env.STACKTOP|0;var s=env.STACK_MAX|0;var t=env.tempDoublePtr|0;var u=env.ABORT|0;var v=env.cttz_i8|0;var w=0;var x=0;var y=0;var z=0;var A=global.NaN,B=global.Infinity;var C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=0;var S=0;var T=0;var U=0;var V=global.Math.floor;var W=global.Math.abs;var X=global.Math.sqrt;var Y=global.Math.pow;var Z=global.Math.cos;var _=global.Math.sin;var $=global.Math.tan;var aa=global.Math.acos;var ba=global.Math.asin;var ca=global.Math.atan;var da=global.Math.atan2;var ea=global.Math.exp;var fa=global.Math.log;var ga=global.Math.ceil;var ha=global.Math.imul;var ia=global.Math.min;var ja=global.Math.clz32;var ka=env.abort;var la=env.assert;var ma=env.invoke_iiii;var na=env.jsCall_iiii;var oa=env.invoke_i;var pa=env.jsCall_i;var qa=env.invoke_vi;var ra=env.jsCall_vi;var sa=env.invoke_vii;var ta=env.jsCall_vii;var ua=env.invoke_iiiiiii;var va=env.jsCall_iiiiiii;var wa=env.invoke_ii;var xa=env.jsCall_ii;var ya=env.invoke_viii;var za=env.jsCall_viii;var Aa=env.invoke_v;var Ba=env.jsCall_v;var Ca=env.invoke_iiiii;var Da=env.jsCall_iiiii;var Ea=env.invoke_viiiiii;var Fa=env.jsCall_viiiiii;var Ga=env.invoke_iii;var Ha=env.jsCall_iii;var Ia=env.invoke_iiiiii;var Ja=env.jsCall_iiiiii;var Ka=env.invoke_viiii;var La=env.jsCall_viiii;var Ma=env._pthread_cleanup_pop;var Na=env.___syscall85;var Oa=env._sin;var Pa=env._exp;var Qa=env._utimes;var Ra=env._llvm_pow_f64;var Sa=env._acos;var Ta=env.___syscall54;var Ua=env._pthread_cleanup_push;var Va=env._abort;var Wa=env.___syscall40;var Xa=env.___syscall118;var Ya=env.___setErrNo;var Za=env.___syscall20;var _a=env.___syscall183;var $a=env.___assert_fail;var ab=env._usleep;var bb=env._asin;var cb=env.___buildEnvironment;var db=env.___syscall202;var eb=env.___syscall91;var fb=env._cos;var gb=env.___syscall39;var hb=env._localtime_r;var ib=env._tzset;var jb=env._emscripten_set_main_loop_timing;var kb=env._sbrk;var lb=env.___syscall192;var mb=env.___syscall197;var nb=env.___syscall196;var ob=env.___syscall195;var pb=env.___syscall194;var qb=env.___syscall212;var rb=env._sysconf;var sb=env.___syscall94;var tb=env._nanosleep;var ub=env._emscripten_memcpy_big;var vb=env.___syscall221;var wb=env._floor;var xb=env._atan;var yb=env.___syscall201;var zb=env._pthread_self;var Ab=env._getenv;var Bb=env.___syscall33;var Cb=env._log;var Db=env.___unlock;var Eb=env.___syscall140;var Fb=env.___syscall15;var Gb=env._emscripten_set_main_loop;var Hb=env.___syscall10;var Ib=env._tan;var Jb=env.___syscall3;var Kb=env.___lock;var Lb=env.___syscall6;var Mb=env.___syscall5;var Nb=env.___syscall4;var Ob=env._time;var Pb=env._atan2;var Qb=env._gettimeofday;var Rb=env._ceil;var Sb=env._sqrt;var Tb=env._localtime;var Ub=env.___syscall207;var Vb=env.___syscall146;var Wb=0.0;function Xb(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;i=new a(newBuffer);j=new b(newBuffer);k=new c(newBuffer);l=new d(newBuffer);m=new e(newBuffer);n=new f(newBuffer);o=new g(newBuffer);p=new h(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function jc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kc(){return r|0}function lc(a){a=a|0;r=a}function mc(a,b){a=a|0;b=b|0;r=a;s=b}function nc(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function oc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function pc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function qc(a){a=a|0;L=a}function rc(){return L|0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=40)break;k[d>>2]=0;switch(l[352+((k[c>>2]|0)*12|0)+5>>0]|0){case 1:{k[d>>2]=k[b>>2];break}case 2:{k[d>>2]=-1;break}default:{}}Ff(k[b>>2]|0,k[352+((k[c>>2]|0)*12|0)>>2]|0,i[352+((k[c>>2]|0)*12|0)+4>>0]|0,l[352+((k[c>>2]|0)*12|0)+6>>0]|0,k[d>>2]|0,k[352+((k[c>>2]|0)*12|0)+8>>2]|0,0,0)|0;k[c>>2]=(k[c>>2]|0)+1}k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=6)break;k[e>>2]=0;switch(l[832+(k[c>>2]<<4)+5>>0]|0){case 1:{k[e>>2]=k[b>>2];break}case 2:{k[e>>2]=-1;break}default:{}}Ff(k[b>>2]|0,k[832+(k[c>>2]<<4)>>2]|0,i[832+(k[c>>2]<<4)+4>>0]|0,1,k[e>>2]|0,0,k[832+(k[c>>2]<<4)+8>>2]|0,k[832+(k[c>>2]<<4)+12>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,378,17622);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+aa(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,379,17631);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+ba(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,380,17640);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+ca(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[i>>2]|0)!=2)$a(17649,17598,570,17657);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+me(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=j;se(k[d>>2]|0,+da(+(+p[f>>3]),+(+p[g>>3])));r=h;return}we(k[d>>2]|0);r=h;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,394,17666);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+hQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,402,17676);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+iQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,410,17686);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+jQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ac(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,l=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;g=n+12|0;f=n+8|0;h=n+4|0;j=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[l>>2]=n+48;k[m>>2]=n+40;k[g>>2]=0;k[f>>2]=0;if((k[o>>2]|0)!=2)$a(17649,17598,1680,17696);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){o=ke(k[k[e>>2]>>2]|0)|0;k[h>>2]=o;o=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=o;wd(k[h>>2]|0,k[l>>2]|0);wd(k[j>>2]|0,k[m>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=4)break;o=xd(k[l>>2]|0)|0;if((o|0)==(xd(k[m>>2]|0)|0))k[g>>2]=(k[g>>2]|0)+1;do{o=(k[l>>2]|0)+1|0;k[l>>2]=o}while((192&i[o>>0]|0)==128);do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}ue(k[d>>2]|0,k[g>>2]|0);r=n;return}we(k[d>>2]|0);r=n;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,498,18100);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+yd(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,499,18112);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+zd(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,420,18124);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+Z(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,419,18132);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+_(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,421,18140);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+$(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,422,18148);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+Ad(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,446,18156);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+kQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,438,18165);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+oQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,454,18174);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+pQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,456,18183);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+Bd(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,474,18192);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+ea(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,472,18200);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+fa(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,473,18208);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+mQ(+p[f>>3]);p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+48|0;d=i+32|0;j=i+28|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[j>>2]|0)!=2)$a(17649,17598,546,18218);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){l=+me(k[k[e>>2]>>2]|0);p[f>>3]=l;l=+me(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=l;j=aQ()|0;k[j>>2]=0;l=+Y(+(+p[f>>3]),+(+p[g>>3]));p[h>>3]=l;j=aQ()|0;d=k[d>>2]|0;if(!(k[j>>2]|0)){se(d,+p[h>>3]);r=i;return}else{h=aQ()|0;h=bQ(k[h>>2]|0)|0;j=aQ()|0;te(d,h,k[j>>2]|0);r=i;return}}we(k[d>>2]|0);r=i;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;g=h+24|0;i=h+20|0;d=h+16|0;f=h+8|0;e=h;k[g>>2]=a;k[i>>2]=b;k[d>>2]=c;p[f>>3]=0.0;a=e;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17590,17598,590,18228);switch(pe(k[k[d>>2]>>2]|0)|0){case 1:{f=oe(k[k[d>>2]>>2]|0)|0;i=e;k[i>>2]=f;k[i+4>>2]=L;i=e;f=k[i+4>>2]|0;if((f|0)>0|(f|0)==0&(k[i>>2]|0)>>>0>0)d=1;else d=(k[e+4>>2]|0)<0?-1:0;i=e;k[i>>2]=d;k[i+4>>2]=((d|0)<0)<<31>>31;i=e;ve(k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[g>>2]|0);r=h;return}default:{j=+me(k[k[d>>2]>>2]|0);p[f>>3]=j;if(+p[f>>3]>0.0)d=1;else d=+p[f>>3]<0.0?-1:0;p[f>>3]=+(d|0);se(k[g>>2]|0,+p[f>>3]);r=h;return}}}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,375,18237);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=aQ()|0;k[i>>2]=0;j=+X(+(+p[f>>3]));p[g>>3]=j;i=aQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=aQ()|0;g=bQ(k[g>>2]|0)|0;i=aQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;p[g>>3]=0.0;if((k[i>>2]|0)!=1)$a(17590,17598,514,18246);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;a=f;k[a>>2]=g;k[a+4>>2]=L;a=k[d>>2]|0;g=f;i=f;ve(a,BR(k[g>>2]|0,k[g+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0,L);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;se(k[d>>2]|0,+p[g>>3]*+p[g>>3]);r=h;return}}}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,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17590,17598,620,18257);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ve(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+ga(+(+p[g>>3]));ve(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17590,17598,645,18266);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ve(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+V(+(+p[g>>3]));ve(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;se(k[e>>2]|0,3.141592653589793);r=d;return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+48|0;n=m+44|0;e=m+40|0;j=m+36|0;l=m+32|0;g=m+24|0;h=m+16|0;i=m+8|0;f=m;k[d>>2]=a;k[n>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;if((k[n>>2]|0)!=2){r=m;return}if(5==(pe(k[k[e>>2]>>2]|0)|0)){r=m;return}a=oe(k[(k[e>>2]|0)+4>>2]|0)|0;n=g;k[n>>2]=a;k[n+4>>2]=L;if((k[g+4>>2]|0)<0){te(k[d>>2]|0,18276,-1);r=m;return}a=le(k[k[e>>2]>>2]|0)|0;n=h;k[n>>2]=a;k[n+4>>2]=((a|0)<0)<<31>>31;n=h;a=g;a=BR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=i;k[n>>2]=a;k[n+4>>2]=L;n=i;n=qR(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[j>>2]=n;n=h;n=qR(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[l>>2]=n;if((k[j>>2]|0)!=0&(k[l>>2]|0)!=0){n=k[l>>2]|0;JQ(n,ke(k[k[e>>2]>>2]|0)|0)|0;n=f;k[n>>2]=0;k[n+4>>2]=0;while(1){i=f;c=k[i+4>>2]|0;n=g;a=k[n+4>>2]|0;if(!((c|0)<(a|0)|((c|0)==(a|0)?(k[i>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)))break;n=k[j>>2]|0;a=f;i=h;i=BR(k[a>>2]|0,k[a+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;JQ(n+i|0,k[l>>2]|0)|0;i=f;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;n=f;k[n>>2]=i;k[n+4>>2]=L}xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);Ud(k[l>>2]|0);r=m;return}De(k[d>>2]|0);if(k[j>>2]|0)Ud(k[j>>2]|0);if(!(k[l>>2]|0)){r=m;return}Ud(k[l>>2]|0);r=m;return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;i=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;k[g>>2]=0;if(!((k[e>>2]|0)==3|(k[e>>2]|0)==2))$a(18289,17598,1038,18307);if(5!=(pe(k[k[f>>2]>>2]|0)|0)?5!=(pe(k[(k[f>>2]|0)+4>>2]|0)|0):0){a=ke(k[k[f>>2]>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=l;return}a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[j>>2]=a;if((k[e>>2]|0)==3){a=(ne(k[(k[f>>2]|0)+8>>2]|0)|0)-1|0;k[h>>2]=a;k[h>>2]=(k[h>>2]|0)<0?0:a}else k[h>>2]=0;j=Cd(k[i>>2]|0,k[j>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=j;ue(k[d>>2]|0,(k[g>>2]|0)+1|0);r=l;return}we(k[d>>2]|0);r=l;return}function Xc(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,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+32|0;p=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;n=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if((k[p>>2]|0)!=2)$a(17649,17598,1073,18321);if(5!=(pe(k[k[e>>2]>>2]|0)|0)?5!=(pe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=p;p=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[m>>2];a:while(1){if(!(xd(k[n>>2]|0)|0))break;p=k[f>>2]|0;k[f>>2]=p+1;if((p|0)>=(k[h>>2]|0))break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&(l[p>>0]|0)|0)!=128)continue a}}k[g>>2]=(k[n>>2]|0)-(k[m>>2]|0);p=Sd((k[n>>2]|0)-(k[m>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){NQ(k[j>>2]|0,k[m>>2]|0,(k[n>>2]|0)-(k[m>>2]|0)|0)|0;i[(k[j>>2]|0)+(k[g>>2]|0)>>0]=0;xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{De(k[d>>2]|0);r=o;return}}we(k[d>>2]|0);r=o;return}function Yc(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,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+36|0;p=o+32|0;e=o+28|0;h=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=0;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17649,17598,1113,18330);if(5!=(pe(k[k[e>>2]>>2]|0)|0)?5!=(pe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=ke(k[k[e>>2]>>2]|0)|0;k[l>>2]=p;p=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[l>>2];while(1){if(!(xd(k[n>>2]|0)|0))break;do{p=(k[n>>2]|0)+1|0;k[n>>2]=p}while((192&i[p>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}k[m>>2]=k[n>>2];k[n>>2]=k[l>>2];p=(k[f>>2]|0)-(k[h>>2]|0)|0;k[g>>2]=p;k[g>>2]=(k[g>>2]|0)<0?0:p;a:while(1){p=k[g>>2]|0;k[g>>2]=p+-1;if((p|0)<=0)break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&i[p>>0]|0)!=128)continue a}}p=Sd((k[m>>2]|0)-(k[n>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){JQ(k[j>>2]|0,k[n>>2]|0)|0;xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{De(k[d>>2]|0);r=o;return}}we(k[d>>2]|0);r=o;return}function Zc(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,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;f=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=0;if(1!=(k[o>>2]|0))$a(18340,17598,1323,18348);if(5==(pe(k[k[e>>2]>>2]|0)|0)){we(k[d>>2]|0);r=n;return}o=ke(k[k[e>>2]>>2]|0)|0;k[l>>2]=o;o=LQ(k[l>>2]|0)|0;k[g>>2]=o;o=Sd((k[g>>2]|0)+1|0)|0;k[h>>2]=o;if(!(k[h>>2]|0)){De(k[d>>2]|0);r=n;return}k[j>>2]=(k[h>>2]|0)+(k[g>>2]|0);o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=0;k[m>>2]=k[l>>2];a:while(1){if(!(xd(k[m>>2]|0)|0))break;k[l>>2]=k[m>>2];do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=1;while(1){if(((k[m>>2]|0)+(0-(k[f>>2]|0))|0)>>>0<(k[l>>2]|0)>>>0)continue a;g=i[(k[m>>2]|0)+(0-(k[f>>2]|0))>>0]|0;o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=g;k[f>>2]=(k[f>>2]|0)+1}}xe(k[d>>2]|0,k[h>>2]|0,-1,-1);Ud(k[h>>2]|0);r=n;return}function _c(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,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;n=m+20|0;d=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m+28|0;f=m;k[e>>2]=a;k[n>>2]=b;k[d>>2]=c;k[f>>2]=1;if((k[n>>2]|0)!=1)$a(17590,17598,724,18360);if(5==(pe(k[k[d>>2]>>2]|0)|0)){we(k[e>>2]|0);r=m;return}n=ke(k[k[d>>2]>>2]|0)|0;k[h>>2]=n;n=Dd(k[h>>2]|0)|0;k[j>>2]=n;if(!(k[j>>2]|0)){De(k[e>>2]|0);r=m;return}k[l>>2]=k[j>>2];while(1){n=k[h>>2]|0;k[h>>2]=n+1;n=i[n>>0]|0;i[g>>0]=n;if(!(n<<24>>24))break;if(XP(i[g>>0]|0)|0)k[f>>2]=1;else{d=i[g>>0]|0;if((k[f>>2]|0)==1){n=($P(d)|0)&255;i[g>>0]=n}else{n=(_P(d)|0)&255;i[g>>0]=n}k[f>>2]=0}a=i[g>>0]|0;n=k[l>>2]|0;k[l>>2]=n+1;i[n>>0]=a}i[k[l>>2]>>0]=0;xe(k[e>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=m;return}function $c(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,l=0,m=0,n=0,o=0;n=r;r=r+48|0;l=n+40|0;o=n+36|0;d=n+32|0;f=n+8|0;h=n;e=n+28|0;g=n+24|0;m=n+20|0;j=n+16|0;k[l>>2]=a;k[o>>2]=b;k[d>>2]=c;k[e>>2]=0;if((k[o>>2]|0)!=2)$a(17649,17598,771,18371);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[l>>2]|0);r=n;return}a=ke(k[k[d>>2]>>2]|0)|0;k[g>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;o=f;k[o>>2]=a;k[o+4>>2]=L;if((k[f+4>>2]|0)<0){te(k[l>>2]|0,18276,-1);r=n;return}b=Ed(k[g>>2]|0,-1)|0;a=h;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=h;b=k[a+4>>2]|0;o=f;c=k[o+4>>2]|0;d=k[g>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[o>>2]|0)>>>0:0)){d=Dd(d)|0;k[m>>2]=d;d=k[l>>2]|0;if(k[m>>2]|0){xe(d,k[m>>2]|0,-1,-1);break}De(d);r=n;return}else{o=LQ(d)|0;a=f;a=qR(o|0,0,k[a>>2]|0,k[a+4>>2]|0)|0;o=h;o=pR(a|0,L|0,k[o>>2]|0,k[o+4>>2]|0)|0;o=qR(o|0,L|0,1,0)|0;o=Sd(o)|0;k[m>>2]=o;if(!(k[m>>2]|0)){De(k[l>>2]|0);r=n;return}k[j>>2]=k[m>>2];k[e>>2]=1;while(1){b=k[e>>2]|0;a=h;a=qR(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;o=f;c=k[o+4>>2]|0;d=k[j>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[o>>2]|0)>>>0:0)))break;k[j>>2]=d+1;i[d>>0]=32;k[e>>2]=(k[e>>2]|0)+1}JQ(d,k[g>>2]|0)|0}while(0);xe(k[l>>2]|0,k[m>>2]|0,-1,-1);Ud(k[m>>2]|0);r=n;return}function ad(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,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17649,17598,825,18408);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[m>>2]|0);r=o;return}a=ke(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){te(k[m>>2]|0,18276,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){xe(d,k[n>>2]|0,-1,-1);break}De(d);r=o;return}else{a=LQ(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=qR(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=pR(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=qR(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){De(k[m>>2]|0);r=o;return}p=JQ(k[n>>2]|0,k[e>>2]|0)|0;k[l>>2]=p+(k[f>>2]|0);k[g>>2]=1;while(1){a=k[g>>2]|0;f=j;f=qR(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);xe(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function bd(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,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17649,17598,880,18417);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[m>>2]|0);r=o;return}a=ke(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){te(k[m>>2]|0,18276,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){xe(d,k[n>>2]|0,-1,-1);break}De(d);r=o;return}else{a=LQ(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=qR(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=pR(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=qR(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){De(k[m>>2]|0);r=o;return}k[l>>2]=k[n>>2];k[g>>2]=1;while(1){b=k[g>>2]<<1;a=j;a=qR(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;p=h;c=k[p+4>>2]|0;d=k[l>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}JQ(d,k[e>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);while(1){a=k[g>>2]|0;f=j;f=qR(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);xe(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function cd(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;s=q+40|0;e=q+36|0;m=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;k[d>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;if((k[s>>2]|0)!=2)$a(17649,17598,939,18426);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){s=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=s;s=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=s;s=Sd((LQ(k[m>>2]|0)|0)+1|0)|0;k[o>>2]=s;if(!(k[o>>2]|0)){De(k[d>>2]|0);r=q;return}k[p>>2]=k[o>>2];k[h>>2]=k[m>>2];a:while(1){s=xd(k[h>>2]|0)|0;k[f>>2]=s;if(!s)break;k[j>>2]=k[n>>2];b:while(1){s=xd(k[j>>2]|0)|0;k[g>>2]=s;if(!s)break;if((k[g>>2]|0)==(k[f>>2]|0))break;while(1){s=(k[j>>2]|0)+1|0;k[j>>2]=s;if((192&i[s>>0]|0)!=128)continue b}}if(k[g>>2]|0){k[l>>2]=k[j>>2];do{s=(k[l>>2]|0)+1|0;k[l>>2]=s}while((192&i[s>>0]|0)==128);NQ(k[p>>2]|0,k[j>>2]|0,(k[l>>2]|0)-(k[j>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+((k[l>>2]|0)-(k[j>>2]|0))}while(1){s=(k[h>>2]|0)+1|0;k[h>>2]=s;if((192&i[s>>0]|0)!=128)continue a}}i[k[p>>2]>>0]=0;xe(k[d>>2]|0,k[o>>2]|0,-1,-1);Ud(k[o>>2]|0);r=q;return}we(k[d>>2]|0);r=q;return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+32|0;d=i+28|0;j=i+24|0;e=i+20|0;g=i+16|0;f=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;if((k[j>>2]|0)!=1)$a(17590,17598,1395,18440);j=He(k[d>>2]|0,24)|0;k[g>>2]=j;if(5==(bf(k[k[e>>2]>>2]|0)|0)){r=i;return}a=(k[g>>2]|0)+16|0;j=a;j=qR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[a>>2]=j;k[a+4>>2]=L;l=+me(k[k[e>>2]>>2]|0);p[h>>3]=l;p[f>>3]=+p[h>>3]-+p[k[g>>2]>>3];a=(k[g>>2]|0)+16|0;j=k[g>>2]|0;p[j>>3]=+p[j>>3]+ +p[f>>3]/(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0));j=(k[g>>2]|0)+8|0;p[j>>3]=+p[j>>3]+ +p[f>>3]*(+p[h>>3]-+p[k[g>>2]>>3]);r=i;return}function ed(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=pR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;se(a,+X(+(f/(+(e>>>0)+4294967296.0*+(L|0)))));r=d;return}se(k[b>>2]|0,0.0);r=d;return}function fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=pR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;se(a,f/(+(e>>>0)+4294967296.0*+(L|0)));r=d;return}se(k[b>>2]|0,0.0);r=d;return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0.0;o=r;r=r+80|0;d=o+64|0;q=o+60|0;e=o+56|0;l=o+52|0;n=o+8|0;m=o;j=o+48|0;i=o+44|0;h=o+40|0;f=o+28|0;g=o+16|0;k[d>>2]=a;k[q>>2]=b;k[e>>2]=c;a=n;k[a>>2]=0;k[a+4>>2]=0;p[m>>3]=0.0;if((k[q>>2]|0)!=1)$a(17590,17598,1418,18453);q=bf(k[k[e>>2]>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)==5){r=o;return}q=He(k[d>>2]|0,64)|0;k[l>>2]=q;do if(!(k[(k[l>>2]|0)+56>>2]|0)){d=kR(1,12)|0;k[(k[l>>2]|0)+56>>2]=d;d=k[l>>2]|0;if((k[h>>2]|0)==1){q=k[d+56>>2]|0;ld(f,176);k[q>>2]=k[f>>2];k[q+4>>2]=k[f+4>>2];k[q+8>>2]=k[f+8>>2];q=(k[l>>2]|0)+48|0;k[q>>2]=0;k[q+4>>2]=0;break}else{q=d+48|0;k[q>>2]=1;k[q+4>>2]=0;q=k[(k[l>>2]|0)+56>>2]|0;ld(g,177);k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];break}}while(0);q=(k[l>>2]|0)+16|0;d=q;d=qR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[q>>2]=d;k[q+4>>2]=L;q=(k[l>>2]|0)+48|0;d=k[k[e>>2]>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=oe(d)|0;m=n;k[m>>2]=q;k[m+4>>2]=L;m=kR(1,8)|0;k[j>>2]=m;m=n;n=k[m+4>>2]|0;q=k[j>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;pd(k[(k[l>>2]|0)+56>>2]|0,k[j>>2]|0);r=o;return}else{s=+me(d);p[m>>3]=s;q=kR(1,8)|0;k[i>>2]=q;p[k[i>>2]>>3]=+p[m>>3];pd(k[(k[l>>2]|0)+56>>2]|0,k[i>>2]|0);r=o;return}}function hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(!(k[(k[c>>2]|0)+56>>2]|0)){r=d;return}rd(k[(k[c>>2]|0)+56>>2]|0,131,k[c>>2]|0);td(k[(k[c>>2]|0)+56>>2]|0);jR(k[(k[c>>2]|0)+56>>2]|0);a=(k[c>>2]|0)+40|0;if(!(1==(k[a>>2]|0)?0==(k[a+4>>2]|0):0)){r=d;return}e=(k[c>>2]|0)+48|0;a=k[b>>2]|0;b=k[c>>2]|0;if(0==(k[e>>2]|0)?0==(k[e+4>>2]|0):0){e=b;ve(a,k[e>>2]|0,k[e+4>>2]|0);r=d;return}else{se(a,+p[b+8>>3]);r=d;return}}function id(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/2.0;Gd(k[b>>2]|0);r=d;return}function jd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/4.0;Gd(k[b>>2]|0);r=d;return}function kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;a=BR(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;p[(k[c>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(L|0))/4.0;Gd(k[b>>2]|0);r=d;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+12|0;d=c;k[e>>2]=b;k[d+4>>2]=k[e>>2];k[d>>2]=0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];r=c;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;d=e;k[g>>2]=a;k[f>>2]=b;k[e+4>>2]=c;b=kR(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nd(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;jR(k[c>>2]|0);r=b;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[k[d>>2]>>2]|0)){h=md(1,24,17581)|0;k[e>>2]=h;k[(k[e>>2]|0)+8>>2]=k[g>>2];h=(k[e>>2]|0)+16|0;k[h>>2]=1;k[h+4>>2]=0;k[k[d>>2]>>2]=k[e>>2];r=i;return}e=gc[k[f>>2]&255](k[(k[k[d>>2]>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){h=(k[k[d>>2]>>2]|0)+16|0;f=h;f=qR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[h>>2]=f;k[h+4>>2]=L;nd(k[g>>2]|0);r=i;return}d=k[k[d>>2]>>2]|0;if((k[h>>2]|0)>0){od(d,k[f>>2]|0,k[g>>2]|0);r=i;return}else{od(d+4|0,k[f>>2]|0,k[g>>2]|0);r=i;return}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;od(k[e>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0);r=c;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}if(k[k[d>>2]>>2]|0)qd(k[k[d>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0);c=(k[d>>2]|0)+16|0;ic[k[e>>2]&255](k[(k[d>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[f>>2]|0);if(!(k[(k[d>>2]|0)+4>>2]|0)){r=g;return}qd(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;qd(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function sd(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}nd(k[(k[b>>2]|0)+8>>2]|0);if(k[k[b>>2]>>2]|0)sd(k[k[b>>2]>>2]|0);if(k[(k[b>>2]|0)+4>>2]|0)sd(k[(k[b>>2]|0)+4>>2]|0);nd(k[b>>2]|0);r=c;return}function td(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sd(k[k[c>>2]>>2]|0);r=b;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;h=k[h>>2]|0;a=k[h+4>>2]|0;b=d;k[b>>2]=k[h>>2];k[b+4>>2]=a;g=k[g>>2]|0;b=k[g+4>>2]|0;a=e;k[a>>2]=k[g>>2];k[a+4>>2]=b;a=d;b=e;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[c>>2]=0;h=k[c>>2]|0;r=f;return h|0}g=d;b=k[g+4>>2]|0;h=e;e=k[h+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(k[g>>2]|0)>>>0<(k[h>>2]|0)>>>0:0)){k[c>>2]=-1;h=k[c>>2]|0;r=f;return h|0}else{k[c>>2]=1;h=k[c>>2]|0;r=f;return h|0}return 0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;p[d>>3]=+p[k[h>>2]>>3];p[e>>3]=+p[k[g>>2]>>3];do if(!(+p[d>>3]==+p[e>>3]))if(+p[d>>3]<+p[e>>3]){k[c>>2]=-1;break}else{k[c>>2]=1;break}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[c>>2]=a;k[f>>2]=b;k[e>>2]=0;while(1){if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;if(!((WP(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)!=0^1))break;k[e>>2]=(k[e>>2]|0)+1}if(!(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)){JQ(k[f>>2]|0,17839)|0;r=h;return}b=($P(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)&255;i[k[f>>2]>>0]=b;k[g>>2]=1;while(1){if((k[g>>2]|0)>=4)break;if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;k[d>>2]=l[17711+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]&127)>>0];if((k[d>>2]|0)>0){a=(k[d>>2]|0)+48&255;b=k[g>>2]|0;k[g>>2]=b+1;i[(k[f>>2]|0)+b>>0]=a}k[e>>2]=(k[e>>2]|0)+1}while(1){c=k[g>>2]|0;if((k[g>>2]|0)>=4)break;k[g>>2]=c+1;i[(k[f>>2]|0)+c>>0]=48}i[(k[f>>2]|0)+c>>0]=0;r=h;return}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=k[b>>2]|0;k[b>>2]=a+1;k[c>>2]=l[a>>0];k[d>>2]=l[17844+(k[c>>2]|0)>>0];switch(k[d>>2]|0){case 4:{k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}case 3:{a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);e=4;break}case 2:{e=4;break}case 1:break;default:{e=k[c>>2]|0;r=f;return e|0}}if((e|0)==4){a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0)}a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);k[c>>2]=(k[c>>2]|0)-(k[928+(k[d>>2]<<2)>>2]|0);if(((k[944+(k[d>>2]<<2)>>2]&k[c>>2]|0)!=0?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){e=k[c>>2]|0;r=f;return e|0}k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}function yd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*180.0/3.141592653589793)}function zd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*3.141592653589793/180.0)}function Ad(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+$(+(+p[c>>3]));r=b;return +a}function Bd(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+pQ(+p[c>>3]);r=b;return +a}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;g=t+32|0;h=t+28|0;j=t+24|0;l=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;m=t+4|0;n=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[o>>2]=-1;if(!(i[k[f>>2]>>0]|0)){k[e>>2]=-1;s=k[e>>2]|0;r=t;return s|0}a:while(1){if(!(xd(k[g>>2]|0)|0))break;b=k[l>>2]|0;k[l>>2]=b+1;if((b|0)>=(k[h>>2]|0))break;while(1){b=(k[g>>2]|0)+1|0;k[g>>2]=b;if((192&i[b>>0]|0)!=128)continue a}}k[l>>2]=0;while(1){if(!(xd(k[g>>2]|0)|0))break;k[p>>2]=k[f>>2];k[q>>2]=k[g>>2];do{b=xd(k[p>>2]|0)|0;k[m>>2]=b;b=xd(k[q>>2]|0)|0;k[n>>2]=b;do{b=(k[p>>2]|0)+1|0;k[p>>2]=b}while((192&i[b>>0]|0)==128);do{b=(k[q>>2]|0)+1|0;k[q>>2]=b}while((192&i[b>>0]|0)==128)}while(((k[m>>2]|0)!=0?(k[m>>2]|0)==(k[n>>2]|0):0)&(k[n>>2]|0)!=0);if(!(k[m>>2]|0)){s=14;break}do{b=(k[g>>2]|0)+1|0;k[g>>2]=b}while((192&i[b>>0]|0)==128);k[l>>2]=(k[l>>2]|0)+1}if((s|0)==14)k[o>>2]=k[l>>2];if(k[j>>2]|0)k[k[j>>2]>>2]=k[g>>2];s=k[o>>2]|0;k[e>>2]=(k[o>>2]|0)>=0?s+(k[h>>2]|0)|0:s;s=k[e>>2]|0;r=t;return s|0}function Dd(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Sd((LQ(k[c>>2]|0)|0)+1|0)|0;k[d>>2]=a;a=JQ(k[d>>2]|0,k[c>>2]|0)|0;r=b;return a|0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if((k[d>>2]|0)>=0)k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);else k[e>>2]=-1;if((k[c>>2]|0)>>>0>(k[e>>2]|0)>>>0)$a(18380,17598,316,18389);while(1){if(!(i[k[c>>2]>>0]|0)){c=10;break}if((k[c>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}k[c>>2]=(k[c>>2]|0)+((l[17844+(l[k[c>>2]>>0]|0)>>0]|0)+1);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;j=i+32|0;g=i+16|0;l=i+28|0;f=i+8|0;e=i;h=i+24|0;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[h>>2]=k[l>>2];d=(k[h>>2]|0)+48|0;b=k[j>>2]|0;if(0==(k[d>>2]|0)?0==(k[d+4>>2]|0):0){l=k[b>>2]|0;j=f;k[j>>2]=l;k[j+4>>2]=((l|0)<0)<<31>>31;j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=qR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;e=k[l+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}l=k[f+4>>2]|0;j=k[h>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=l;j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}else{p[e>>3]=+p[b>>3];j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=qR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;f=k[l+4>>2]|0;if(!((d|0)<(f|0)|((d|0)==(f|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}p[(k[h>>2]|0)+8>>3]=+p[e>>3];j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;k[b>>2]=a;c=He(k[b>>2]|0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){r=e;return}if(!(k[(k[d>>2]|0)+56>>2]|0)){r=e;return}k[(k[d>>2]|0)+60>>2]=0;rd(k[(k[d>>2]|0)+56>>2]|0,132,k[d>>2]|0);td(k[(k[d>>2]|0)+56>>2]|0);jR(k[(k[d>>2]|0)+56>>2]|0);c=(k[d>>2]|0)+48|0;if(!(0==(k[c>>2]|0)?0==(k[c+4>>2]|0):0)){c=(k[d>>2]|0)+40|0;se(k[b>>2]|0,+p[(k[d>>2]|0)+8>>3]/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)));r=e;return}f=(k[d>>2]|0)+40|0;b=k[b>>2]|0;c=k[d>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0;if(1==(k[f>>2]|0)?0==(k[f+4>>2]|0):0){ve(b,a,c);r=e;return}else{f=(k[d>>2]|0)+40|0;se(b,(+(a>>>0)+4294967296.0*+(c|0))*1.0/(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0)));r=e;return}}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;g=o+56|0;j=o+32|0;q=o+52|0;m=o+24|0;l=o+16|0;e=o+8|0;h=o;f=o+48|0;i=o+44|0;n=o+40|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[n>>2]=k[q>>2];if((k[(k[n>>2]|0)+60>>2]|0)>0){r=o;return}p[e>>3]=+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+16|0;p[h>>3]=+((k[q>>2]|0)>>>0)+4294967296.0*+(k[q+4>>2]|0)-+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+32|0;d=j;d=qR(k[q>>2]|0,k[q+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[f>>2]=d;d=(k[n>>2]|0)+16|0;q=(k[n>>2]|0)+32|0;q=pR(k[d>>2]|0,k[d+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[i>>2]=q;do if(+(k[f>>2]|0)>=+p[e>>3]){b=k[n>>2]|0;if(!(+(k[i>>2]|0)>=+p[h>>3])){k[b+60>>2]=1;break}q=b+40|0;b=q;b=qR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[q>>2]=b;k[q+4>>2]=L;q=(k[n>>2]|0)+48|0;b=k[g>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){l=k[b>>2]|0;q=m;k[q>>2]=l;k[q+4>>2]=((l|0)<0)<<31>>31;q=k[n>>2]|0;l=q;m=qR(k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=m;k[q+4>>2]=L;break}else{p[l>>3]=+p[b>>3];q=(k[n>>2]|0)+8|0;p[q>>3]=+p[q>>3]+ +p[l>>3];break}}while(0);m=j;q=(k[n>>2]|0)+32|0;n=q;n=qR(k[n>>2]|0,k[n+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=L;r=o;return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(!(Jd(k[b>>2]|0,18469,7)|0))k[b>>2]=(k[b>>2]|0)+7;a=Sf(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=7){b=9;break}if((Jd(k[b>>2]|0,k[968+(k[c>>2]<<2)>>2]|0,k[d>>2]|0)|0)==0?(Tf(i[(k[968+(k[c>>2]<<2)>>2]|0)+(k[d>>2]|0)>>0]|0)|0)==0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[e>>2]|0;if(!(k[d>>2]|0)){k[i>>2]=(c|0)!=0?-1:0;i=k[i>>2]|0;r=j;return i|0}if(!c){k[i>>2]=1;i=k[i>>2]|0;r=j;return i|0}k[g>>2]=k[d>>2];k[h>>2]=k[e>>2];while(1){e=k[f>>2]|0;k[f>>2]=e+-1;if((e|0)<=0)break;if(!(l[k[g>>2]>>0]|0))break;if((l[18477+(l[k[g>>2]>>0]|0)>>0]|0|0)!=(l[18477+(l[k[h>>2]>>0]|0)>>0]|0|0))break;k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)<0)c=0;else c=(l[18477+(l[k[g>>2]>>0]|0)>>0]|0)-(l[18477+(l[k[h>>2]>>0]|0)>>0]|0)|0;k[i>>2]=c;i=k[i>>2]|0;r=j;return i|0}function Kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)>=0&(k[c>>2]|0)<7){k[b>>2]=k[968+(k[c>>2]<<2)>>2];a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[f>>2]|0)<0|(k[f>>2]|0)>=10){j=Uf(16368)|0;k[e>>2]=j;j=k[e>>2]|0;r=l;return j|0}if(i[18733+(k[f>>2]|0)>>0]|0)a=Vf()|0;else a=Wf()|0;k[l>>2]=a;g=k[g>>2]|0;k[g>>2]=k[996+(k[f>>2]<<2)>>2];k[g+4>>2]=0;h=k[h>>2]|0;k[h>>2]=k[1036+(k[f>>2]<<2)>>2];k[h+4>>2]=0;if(k[j>>2]|0)k[1036+(k[f>>2]<<2)>>2]=k[996+(k[f>>2]<<2)>>2];k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=0;a=Nd()|0;k[f>>2]=a;if(k[f>>2]|0){k[b>>2]=0;f=k[b>>2]|0;r=e;return f|0}k[d>>2]=k[269];while(1){if((k[d>>2]|0)==0|(k[c>>2]|0)==0)break;if(!(IQ(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0))break;k[d>>2]=k[(k[d>>2]|0)+12>>2]}k[b>>2]=k[d>>2];f=k[b>>2]|0;r=e;return f|0}function Nd(){var a=0,b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;a=e;if(k[59]|0){k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}k[d>>2]=0;if(k[d>>2]|0){k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}k[61]=1;if(!(k[62]|0)){b=bg()|0;k[d>>2]=b}if(((k[d>>2]|0)==0?(k[62]=1,(k[65]|0)==0):0)?(k[65]=8,!((k[3]|0)==0|(k[65]|0)!=0)):0)k[d>>2]=7;if(!(k[d>>2]|0))k[64]=(k[64]|0)+1;if(k[d>>2]|0){k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}if((k[59]|0)==0&(k[60]|0)==0){k[a>>2]=1080;k[60]=1;a=k[a>>2]|0;b=a+92|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));cg();if(!(k[63]|0)){b=dg()|0;k[d>>2]=b}if(!(k[d>>2]|0)){k[63]=1;b=eg()|0;k[d>>2]=b}if(!(k[d>>2]|0)){fg(k[53]|0,k[54]|0,k[55]|0);k[59]=1}k[60]=0}k[64]=(k[64]|0)+-1;if((k[64]|0)<=0)k[65]=0;k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;a=Nd()|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];f=k[d>>2]|0;r=g;return f|0}gg(k[e>>2]|0);b=k[269]|0;if((k[f>>2]|0)!=0|(k[269]|0)==0){k[(k[e>>2]|0)+12>>2]=b;k[269]=k[e>>2]}else{k[(k[e>>2]|0)+12>>2]=k[b+12>>2];k[(k[269]|0)+12>>2]=k[e>>2]}k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Pd(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+48|0;d=h+32|0;e=h+24|0;g=h+16|0;f=h+8|0;c=h;i=h+40|0;j=e;k[j>>2]=a;k[j+4>>2]=b;b=Nd()|0;k[i>>2]=b;if(k[i>>2]|0){i=d;k[i>>2]=-1;k[i+4>>2]=-1;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=288;i=k[b+4>>2]|0;j=g;k[j>>2]=k[b>>2];k[j+4>>2]=i;if((k[e+4>>2]|0)<0){j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=e;j=k[b+4>>2]|0;i=288;k[i>>2]=k[b>>2];k[i+4>>2]=j;i=hg(0)|0;j=c;k[j>>2]=i;k[j+4>>2]=L;j=e;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0){j=e;b=k[j+4>>2]|0;a=c;i=k[a+4>>2]|0;a=(b|0)<(i|0)|((b|0)==(i|0)?(k[j>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}else a=0;k[77]=a&1;j=Rd()|0;i=e;i=pR(j|0,L|0,k[i>>2]|0,k[i+4>>2]|0)|0;j=f;k[j>>2]=i;k[j+4>>2]=L;j=f;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0)Pd(k[f>>2]&2147483647)|0;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}function Rd(){var a=0,b=0;b=r;r=r+16|0;a=b+8|0;Ld(0,a,b,0)|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Sd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d+4|0;b=d;k[b>>2]=a;if(Nd()|0){k[c>>2]=0;c=k[c>>2]|0;r=d;return c|0}if((k[b>>2]|0)<=0)b=0;else{b=k[b>>2]|0;b=ig(b,((b|0)<0)<<31>>31)|0}k[c>>2]=b;c=k[c>>2]|0;r=d;return c|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e;f=d;k[f>>2]=a;k[f+4>>2]=b;if(Nd()|0){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{f=d;f=ig(k[f>>2]|0,k[f+4>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}return 0}function Ud(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}if(k[2]|0){kg(0,jg(k[b>>2]|0)|0);kg(9,1);_b[k[48>>2]&255](k[b>>2]|0);r=c;return}else{_b[k[48>>2]&255](k[b>>2]|0);r=c;return}}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)<0)k[e>>2]=0;a=k[e>>2]|0;a=lg(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(Nd()|0){k[d>>2]=0;a=k[d>>2]|0;r=g;return a|0}else{a=f;a=lg(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[d>>2]=a;a=k[d>>2]|0;r=g;return a|0}return 0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+128|0;c=h+40|0;d=h+36|0;e=h+32|0;g=h+28|0;f=h;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}else{mg(f,0,h+44|0,70,1e9);ng(f,k[d>>2]|0,k[e>>2]|0);a=og(f)|0;k[g>>2]=a;k[c>>2]=k[g>>2];a=k[c>>2]|0;r=h;return a|0}return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+28|0;d=g+24|0;e=g+8|0;f=g;k[d>>2]=a;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}else{k[e>>2]=b;a=Xd(k[d>>2]|0,e)|0;k[f>>2]=a;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}return 0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+48|0;e=j+44|0;f=j+40|0;l=j+36|0;g=j+32|0;h=j+28|0;i=j;k[f>>2]=a;k[l>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[l>>2]|0;if((k[f>>2]|0)<=0){k[e>>2]=d;l=k[e>>2]|0;r=j;return l|0}else{mg(i,0,d,k[f>>2]|0,0);ng(i,k[g>>2]|0,k[h>>2]|0);l=og(i)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}return 0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;j=f+28|0;i=f+24|0;h=f+20|0;e=f+16|0;g=f;k[j>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;c=Zd(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,g)|0;k[e>>2]=c;r=f;return k[e>>2]|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[66]|0)){r=g;return}k[f>>2]=c;pg(k[d>>2]|0,k[e>>2]|0,f);r=g;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+288|0;c=j+12|0;d=j+8|0;g=j+272|0;h=j+4|0;e=j;f=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[d>>2];if(Nd()|0){r=j;return}if((k[c>>2]|0)<=0|(k[d>>2]|0)==0){i[18743]=0;r=j;return}if(!(i[18743]|0)){i[18745]=0;i[18744]=0;qg(Md(0)|0,256,f)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[18746+(k[e>>2]|0)>>0]=k[e>>2];k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[18745]=(l[18745]|0)+((l[18746+(k[e>>2]|0)>>0]|0)+(i[f+(k[e>>2]|0)>>0]|0));i[g>>0]=i[18746+(l[18745]|0)>>0]|0;i[18746+(l[18745]|0)>>0]=i[18746+(k[e>>2]|0)>>0]|0;i[18746+(k[e>>2]|0)>>0]=i[g>>0]|0;k[e>>2]=(k[e>>2]|0)+1}i[18743]=1}do{i[18744]=(i[18744]|0)+1<<24>>24;i[g>>0]=i[18746+(l[18744]|0)>>0]|0;i[18745]=(l[18745]|0)+(l[g>>0]|0);i[18746+(l[18744]|0)>>0]=i[18746+(l[18745]|0)>>0]|0;i[18746+(l[18745]|0)>>0]=i[g>>0]|0;i[g>>0]=(l[g>>0]|0)+(l[18746+(l[18744]|0)>>0]|0);f=i[18746+(l[g>>0]|0)>>0]|0;b=k[h>>2]|0;k[h>>2]=b+1;i[b>>0]=f;b=(k[c>>2]|0)+-1|0;k[c>>2]=b}while((b|0)!=0);r=j;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;c=h+12|0;d=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;a=k[d>>2]|0;if(!(k[c>>2]|0)){k[e>>2]=(a|0)!=0?-1:0;g=k[e>>2]|0;r=h;return g|0}if(!a){k[e>>2]=1;g=k[e>>2]|0;r=h;return g|0}k[f>>2]=k[c>>2];k[g>>2]=k[d>>2];while(1){if(l[k[f>>2]>>0]|0)b=(l[18477+(l[k[f>>2]>>0]|0)>>0]|0|0)==(l[18477+(l[k[g>>2]>>0]|0)>>0]|0|0);else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=a+1;k[g>>2]=(k[g>>2]|0)+1}k[e>>2]=(l[18477+(l[a>>0]|0)>>0]|0)-(l[18477+(l[k[g>>2]>>0]|0)>>0]|0);g=k[e>>2]|0;r=h;return g|0}function ce(){var a=0,b=0;b=r;r=r+16|0;a=b;k[a>>2]=0;while(1){if((k[a>>2]|0)>>>0>=4)break;Od(1172+((k[a>>2]|0)*88|0)|0,(k[a>>2]|0)==0&1)|0;k[a>>2]=(k[a>>2]|0)+1}r=b;return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+112|0;q=E+108|0;c=E+104|0;C=E+100|0;d=E+96|0;B=E+92|0;o=E+88|0;z=E+84|0;x=E+80|0;g=E+76|0;j=E+72|0;s=E+68|0;f=E+64|0;n=E+60|0;h=E+56|0;p=E+52|0;v=E+16|0;y=E+48|0;e=E+44|0;i=E+40|0;u=E+8|0;t=E;m=E+36|0;A=E+32|0;w=E+28|0;D=E+24|0;k[q>>2]=a;k[c>>2]=b;k[B>>2]=0;k[o>>2]=0;ug(k[(k[q>>2]|0)+24>>2]|0);k[C>>2]=k[(k[q>>2]|0)+28>>2];if(vg(k[C>>2]|0)|0){D=k[C>>2]|0;r=E;return D|0}a=Yf(k[(k[q>>2]|0)+24>>2]|0)|0;k[z>>2]=a;a=Yf(k[(k[q>>2]|0)+4>>2]|0)|0;k[x>>2]=a;k[j>>2]=-1;k[s>>2]=0;if((k[k[q>>2]>>2]|0)!=0?(l[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)k[C>>2]=5;else k[C>>2]=0;if((0==(k[C>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(a=wg(k[(k[q>>2]|0)+4>>2]|0,2)|0,k[C>>2]=a,0==(a|0)):0){k[(k[q>>2]|0)+12>>2]=1;xg(k[(k[q>>2]|0)+4>>2]|0,1,(k[q>>2]|0)+8|0)}if((k[C>>2]|0)==0?0==(yg(k[(k[q>>2]|0)+24>>2]|0)|0):0){a=wg(k[(k[q>>2]|0)+24>>2]|0,0)|0;k[C>>2]=a;k[s>>2]=1}a=zg(k[(k[q>>2]|0)+24>>2]|0)|0;k[B>>2]=a;a=zg(k[(k[q>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=Ag(Yf(k[(k[q>>2]|0)+4>>2]|0)|0)|0;k[d>>2]=a;if(0==(k[C>>2]|0)&(k[d>>2]|0)==5?(k[B>>2]|0)!=(k[o>>2]|0):0)k[C>>2]=8;a=Bg(k[(k[q>>2]|0)+24>>2]|0)|0;k[j>>2]=a;k[g>>2]=0;while(1){if((k[c>>2]|0)>=0?(k[g>>2]|0)>=(k[c>>2]|0):0)break;if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0)break;if(!((k[C>>2]|0)!=0^1))break;k[f>>2]=k[(k[q>>2]|0)+16>>2];if((k[f>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(a=Cg(k[z>>2]|0,k[f>>2]|0,n,2)|0,k[C>>2]=a,(k[C>>2]|0)==0):0){b=k[q>>2]|0;a=k[f>>2]|0;a=Eg(b,a,Dg(k[n>>2]|0)|0,0)|0;k[C>>2]=a;Fg(k[n>>2]|0)}a=(k[q>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}do if(!(k[C>>2]|0)){k[(k[q>>2]|0)+36>>2]=k[j>>2];k[(k[q>>2]|0)+32>>2]=(k[j>>2]|0)+1-(k[(k[q>>2]|0)+16>>2]|0);if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0){k[C>>2]=101;break}if(!(k[(k[q>>2]|0)+40>>2]|0))Gg(k[q>>2]|0)}while(0);if((k[C>>2]|0)==101){if(!(k[j>>2]|0)){n=Hg(k[(k[q>>2]|0)+4>>2]|0)|0;k[C>>2]=n;k[j>>2]=1}if((k[C>>2]|0)==0|(k[C>>2]|0)==101){n=Ig(k[(k[q>>2]|0)+4>>2]|0,1,(k[(k[q>>2]|0)+8>>2]|0)+1|0)|0;k[C>>2]=n}if(!(k[C>>2]|0)){if(k[k[q>>2]>>2]|0)Jg(k[k[q>>2]>>2]|0);if((k[d>>2]|0)==5){n=Kg(k[(k[q>>2]|0)+4>>2]|0,2)|0;k[C>>2]=n}}if(!(k[C>>2]|0)){if((k[B>>2]|0)<(k[o>>2]|0)){k[p>>2]=(k[o>>2]|0)/(k[B>>2]|0)|0;k[h>>2]=((k[j>>2]|0)+(k[p>>2]|0)-1|0)/(k[p>>2]|0)|0;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+-1}else{p=ha(k[j>>2]|0,(k[B>>2]|0)/(k[o>>2]|0)|0)|0;k[h>>2]=p}if((k[B>>2]|0)<(k[o>>2]|0)){p=k[B>>2]|0;n=k[j>>2]|0;n=BR(p|0,((p|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;p=v;k[p>>2]=n;k[p+4>>2]=L;p=Lg(k[x>>2]|0)|0;k[y>>2]=p;Mg(k[x>>2]|0,i);k[e>>2]=k[h>>2];while(1){if(k[C>>2]|0)break;if((k[e>>2]|0)>>>0>(k[i>>2]|0)>>>0)break;do if((k[e>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){p=Cg(k[x>>2]|0,k[e>>2]|0,m,0)|0;k[C>>2]=p;if(k[C>>2]|0)break;p=Ng(k[m>>2]|0)|0;k[C>>2]=p;Fg(k[m>>2]|0)}while(0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[C>>2]|0)){p=Og(k[x>>2]|0,0,1)|0;k[C>>2]=p}n=(k[381]|0)+(k[o>>2]|0)|0;a=((n|0)<0)<<31>>31;p=v;m=k[p+4>>2]|0;if((a|0)<(m|0)|((a|0)==(m|0)?n>>>0<(k[p>>2]|0)>>>0:0)){d=(k[381]|0)+(k[o>>2]|0)|0;c=d;d=((d|0)<0)<<31>>31}else{d=v;c=k[d>>2]|0;d=k[d+4>>2]|0}o=t;k[o>>2]=c;k[o+4>>2]=d;o=(k[381]|0)+(k[B>>2]|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=((o|0)<0)<<31>>31;while(1){if(k[C>>2]|0)break;o=u;m=k[o+4>>2]|0;p=t;n=k[p+4>>2]|0;if(!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0)))break;k[A>>2]=0;o=u;p=k[B>>2]|0;p=zR(k[o>>2]|0,k[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=qR(p|0,L|0,1,0)|0;k[w>>2]=p;p=Cg(k[z>>2]|0,k[w>>2]|0,A,0)|0;k[C>>2]=p;if(!(k[C>>2]|0)){p=Dg(k[A>>2]|0)|0;k[D>>2]=p;p=u;p=Pg(k[y>>2]|0,k[D>>2]|0,k[B>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[C>>2]=p}Fg(k[A>>2]|0);o=k[B>>2]|0;p=u;o=qR(k[p>>2]|0,k[p+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=L}if(!(k[C>>2]|0)){D=v;D=Qg(k[y>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Rg(k[x>>2]|0,0)|0;k[C>>2]=D}}else{Sg(k[x>>2]|0,k[h>>2]|0);D=Og(k[x>>2]|0,0,0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Tg(k[(k[q>>2]|0)+4>>2]|0,0)|0;k[C>>2]=D;k[C>>2]=0==(D|0)?101:D}}}if(k[s>>2]|0){Ug(k[(k[q>>2]|0)+24>>2]|0,0)|0;Tg(k[(k[q>>2]|0)+24>>2]|0,0)|0}if((k[C>>2]|0)==3082)k[C>>2]=7;k[(k[q>>2]|0)+28>>2]=k[C>>2];D=k[C>>2]|0;r=E;return D|0}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;b=g+8|0;e=g+4|0;f=g;k[d>>2]=a;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[e>>2]=k[(k[d>>2]|0)+20>>2];ug(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0){a=(k[(k[d>>2]|0)+24>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1}if(k[(k[d>>2]|0)+40>>2]|0){a=Vg(Yf(k[(k[d>>2]|0)+24>>2]|0)|0)|0;k[b>>2]=a;while(1){if((k[k[b>>2]>>2]|0)==(k[d>>2]|0))break;k[b>>2]=(k[k[b>>2]>>2]|0)+44}k[k[b>>2]>>2]=k[(k[d>>2]|0)+44>>2]}Wg(k[(k[d>>2]|0)+4>>2]|0,0,0)|0;if((k[(k[d>>2]|0)+28>>2]|0)==101)a=0;else a=k[(k[d>>2]|0)+28>>2]|0;k[f>>2]=a;if(k[k[d>>2]>>2]|0){tg(k[k[d>>2]>>2]|0,k[f>>2]|0);Xg(k[k[d>>2]>>2]|0)}if(k[k[d>>2]>>2]|0)Ud(k[d>>2]|0);Xg(k[e>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function fe(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+168>>2]|0;r=c;return d|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;if(!(k[c>>2]|0))k[e>>2]=0;else{k[f>>2]=k[c>>2];k[d>>2]=k[k[f>>2]>>2];if(Yg(k[f>>2]|0)|0){f=Uf(72362)|0;k[b>>2]=f;f=k[b>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+128|0;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0)Zg(k[d>>2]|0,k[f>>2]|0);f=_g(k[f>>2]|0)|0;k[e>>2]=f;f=$g(k[d>>2]|0,k[e>>2]|0)|0;k[e>>2]=f;Xg(k[d>>2]|0)}k[b>>2]=k[e>>2];f=k[b>>2]|0;r=g;return f|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=0;e=k[d>>2]|0;r=f;return e|0}k[e>>2]=k[b>>2];k[c>>2]=k[k[e>>2]>>2];a=(k[e>>2]|0)+128|0;b=k[a+4>>2]|0;if((b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0)Zg(k[c>>2]|0,k[e>>2]|0);a=ah(k[e>>2]|0)|0;k[d>>2]=a;bh(k[e>>2]|0);e=$g(k[c>>2]|0,k[d>>2]|0)|0;k[d>>2]=e;e=k[d>>2]|0;r=f;return e|0}function ie(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;d=e+4|0;c=e;k[f>>2]=a;k[d>>2]=0;k[c>>2]=k[f>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(j[(k[c>>2]|0)+68>>1]|0))break;ch((k[(k[c>>2]|0)+60>>2]|0)+((k[b>>2]|0)*40|0)|0);j[(k[(k[c>>2]|0)+60>>2]|0)+((k[b>>2]|0)*40|0)+8>>1]=1;k[b>>2]=(k[b>>2]|0)+1}if(!((m[(k[c>>2]|0)+88>>1]|0)>>>8&1)){f=k[d>>2]|0;r=e;return f|0}if(!(k[(k[c>>2]|0)+188>>2]|0)){f=k[d>>2]|0;r=e;return f|0}f=(k[c>>2]|0)+88|0;j[f>>1]=j[f>>1]&-9|8;f=k[d>>2]|0;r=e;return f|0}function je(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){a=ke(k[b>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}if(dh(k[c>>2]|0)|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|16;if(k[(k[c>>2]|0)+12>>2]|0)b=k[(k[c>>2]|0)+16>>2]|0;else b=0;k[d>>2]=b;d=k[d>>2]|0;r=e;return d|0}function ke(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=eh(k[c>>2]|0,1)|0;r=b;return a|0}function le(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=fh(k[c>>2]|0,1)|0;r=b;return a|0}function me(a){a=a|0;var b=0.0,c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;b=+gh(k[d>>2]|0);r=c;return +b}function ne(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=hh(k[c>>2]|0)|0;r=b;return a|0}function oe(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=hh(k[c>>2]|0)|0;r=b;return a|0}function pe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[19002+((m[(k[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;kh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0,k[f>>2]|0);r=e;return}function re(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;b=h;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){lh(k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;r=j;return}else{kh(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,k[i>>2]|0);r=j;return}}function se(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;p[d>>3]=b;mh(k[k[e>>2]>>2]|0,+p[d>>3]);r=c;return}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[g>>2]|0)+20>>2]=1;i[(k[g>>2]|0)+25>>0]=1;nh(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0,1,-1)|0;r=d;return}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;oh(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31);r=c;return}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;oh(k[k[e>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=d;return}function we(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ph(k[k[c>>2]>>2]|0);r=b;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;kh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1,k[f>>2]|0);r=e;return}function ye(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,m=0,n=0,o=0;o=r;r=r+32|0;g=o+16|0;h=o+12|0;j=o;m=o+8|0;n=o+20|0;k[g>>2]=a;k[h>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[m>>2]=e;i[n>>0]=f;if((l[n>>0]|0)==4)i[n>>0]=(i[960]|0)==0?3:2;b=j;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){lh(k[h>>2]|0,k[m>>2]|0,k[g>>2]|0)|0;r=o;return}else{kh(k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0);r=o;return}}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;qh(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;r=c;return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g;i=g+8|0;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;k[i>>2]=k[k[e>>2]>>2];c=f;h=k[c+4>>2]|0;a=k[(k[(k[i>>2]|0)+32>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if(h>>>0>b>>>0|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){k[d>>2]=18;i=k[d>>2]|0;r=g;return i|0}else{rh(k[k[e>>2]>>2]|0,k[f>>2]|0);k[d>>2]=0;i=k[d>>2]|0;r=g;return i|0}return 0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+20>>2]=k[d>>2];i[(k[c>>2]|0)+25>>0]=1;if(!((m[(k[k[c>>2]>>2]|0)+8>>1]|0)&1)){r=e;return}a=k[k[c>>2]>>2]|0;nh(a,sh(k[d>>2]|0)|0,-1,1,0)|0;r=e;return}function Ce(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=18;i[(k[c>>2]|0)+25>>0]=1;nh(k[k[c>>2]>>2]|0,19034,-1,1,0)|0;r=b;return}function De(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ph(k[k[c>>2]>>2]|0);k[(k[c>>2]|0)+20>>2]=7;i[(k[c>>2]|0)+25>>0]=1;th(k[(k[k[c>>2]>>2]|0)+32>>2]|0);r=b;return}function Ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+48|0;b=n+32|0;c=n+28|0;f=n+24|0;g=n+20|0;l=n+16|0;d=n+12|0;e=n+8|0;h=n+4|0;m=n;k[c>>2]=a;k[f>>2]=0;k[g>>2]=0;k[l>>2]=k[c>>2];k[d>>2]=0;if(uh(k[l>>2]|0)|0){m=Uf(72913)|0;k[b>>2]=m;m=k[b>>2]|0;r=n;return m|0}k[e>>2]=k[k[l>>2]>>2];a=(k[l>>2]|0)+88|0;j[a>>1]=j[a>>1]&-513;while(1){a=vh(k[l>>2]|0)|0;k[f>>2]=a;if((a|0)!=17)break;a=k[d>>2]|0;k[d>>2]=a+1;if((a|0)>=50)break;k[h>>2]=k[(k[l>>2]|0)+76>>2];a=wh(k[l>>2]|0)|0;k[f>>2]=a;k[g>>2]=a;if(k[f>>2]|0)break;he(k[c>>2]|0)|0;if((k[h>>2]|0)<0)continue;a=(k[l>>2]|0)+88|0;j[a>>1]=j[a>>1]&-513|512}do if(k[g>>2]|0){h=ke(k[(k[e>>2]|0)+236>>2]|0)|0;k[m>>2]=h;ag(k[e>>2]|0,k[(k[l>>2]|0)+44>>2]|0);if(i[(k[e>>2]|0)+65>>0]|0){k[(k[l>>2]|0)+44>>2]=0;k[f>>2]=7;k[(k[l>>2]|0)+80>>2]=7;break}else{m=xh(k[e>>2]|0,k[m>>2]|0)|0;k[(k[l>>2]|0)+44>>2]=m;k[(k[l>>2]|0)+80>>2]=k[g>>2];break}}while(0);m=$g(k[e>>2]|0,k[f>>2]|0)|0;k[f>>2]=m;k[b>>2]=k[f>>2];m=k[b>>2]|0;r=n;return m|0}function Fe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]|0}function Ge(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[k[b>>2]>>2]|0)+32>>2]|0}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;b=k[f>>2]|0;if(!((m[(k[(k[f>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){f=yh(b,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=k[(k[b+8>>2]|0)+16>>2];f=k[c>>2]|0;r=e;return f|0}return 0}function Ie(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=m[(k[b>>2]|0)+84>>1]|0;r=c;return d|0}function Je(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=k[e>>2];if((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[b>>2]=m[(k[c>>2]|0)+84>>1];e=k[b>>2]|0;r=d;return e|0}k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=je(Ah(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Bh(k[e>>2]|0);r=d;return k[c>>2]|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=le(Ah(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Bh(k[e>>2]|0);r=d;return k[c>>2]|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;d=r;r=r+16|0;e=d+12|0;g=d+8|0;c=d;k[e>>2]=a;k[g>>2]=b;f=+me(Ah(k[e>>2]|0,k[g>>2]|0)|0);p[c>>3]=f;Bh(k[e>>2]|0);r=d;return +(+p[c>>3])}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ne(Ah(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Bh(k[e>>2]|0);r=d;return k[c>>2]|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+12|0;f=c+8|0;d=c;k[e>>2]=a;k[f>>2]=b;b=oe(Ah(k[e>>2]|0,k[f>>2]|0)|0)|0;a=d;k[a>>2]=b;k[a+4>>2]=L;Bh(k[e>>2]|0);a=d;L=k[a+4>>2]|0;r=c;return k[a>>2]|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ke(Ah(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Bh(k[e>>2]|0);r=d;return k[c>>2]|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Ah(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(!((m[(k[d>>2]|0)+8>>1]|0)&2048)){f=k[c>>2]|0;Bh(f);f=k[d>>2]|0;r=e;return f|0}f=(k[d>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-2049;f=(k[d>>2]|0)+8|0;j[f>>1]=m[f>>1]|0|4096;f=k[c>>2]|0;Bh(f);f=k[d>>2]|0;r=e;return f|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=pe(Ah(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Bh(k[e>>2]|0);r=d;return k[c>>2]|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Ch(k[e>>2]|0,k[d>>2]|0,169,0)|0;r=c;return a|0}function Te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Dh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0)|0;r=f;return c|0}function Ue(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;d=h+16|0;e=h;g=h+12|0;f=h+8|0;k[i>>2]=a;k[d>>2]=b;p[e>>3]=c;k[f>>2]=k[i>>2];a=Eh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}mh((k[(k[f>>2]|0)+60>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,+p[e>>3]);i=k[g>>2]|0;r=h;return i|0}function Ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;a=We(k[f>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;r=d;return a|0}function We(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i+16|0;f=i;h=i+12|0;g=i+8|0;k[j>>2]=a;k[e>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=k[j>>2];a=Eh(k[g>>2]|0,k[e>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=f;oh((k[(k[g>>2]|0)+60>>2]|0)+(((k[e>>2]|0)-1|0)*40|0)|0,k[j>>2]|0,k[j+4>>2]|0);j=k[h>>2]|0;r=i;return j|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[g>>2];a=Eh(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function Ye(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Dh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1)|0;r=f;return c|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(pe(k[f>>2]|0)|0){case 1:{f=k[f>>2]|0;f=We(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 2:{f=Ue(k[d>>2]|0,k[e>>2]|0,+p[k[f>>2]>>3])|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 4:{a=k[d>>2]|0;d=k[e>>2]|0;b=k[f>>2]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16384){f=_e(a,d,k[b>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}else{f=Te(a,d,k[b+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}case 3:{f=Dh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1,i[(k[f>>2]|0)+10>>0]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}default:{f=Xe(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}return 0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[i>>2];a=Eh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}rh((k[(k[f>>2]|0)+60>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,k[e>>2]|0);i=k[g>>2]|0;r=h;return i|0}function $e(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=j[(k[b>>2]|0)+68>>1]|0;r=c;return d|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;b=Fh(a,b,Sf(k[d>>2]|0)|0)|0;r=c;return b|0}function bf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=pe(k[b>>2]|0)|0;k[c>>2]=a;if((k[c>>2]|0)!=3){a=k[c>>2]|0;r=e;return a|0}k[d>>2]=k[b>>2];Hh(k[d>>2]|0,0);a=pe(k[b>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=e;return a|0}function cf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;n=Q+128|0;o=Q+124|0;G=Q+120|0;p=Q;q=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[G>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[H>>2]=h;k[x>>2]=0;k[K>>2]=0;k[O>>2]=0;k[J>>2]=0;k[I>>2]=0;k[k[H>>2]>>2]=0;k[q>>2]=((k[q>>2]|0)!=0^1^1)&1;c=zh(k[F>>2]|0,28,0)|0;k[I>>2]=c;a:do if((k[I>>2]|0)!=0?(c=Ih(k[F>>2]|0,544,0)|0,k[J>>2]=c,(k[J>>2]|0)!=0):0){while(1){uR(k[J>>2]|0,0,544)|0;k[k[J>>2]>>2]=k[F>>2];ag(k[F>>2]|0,k[O>>2]|0);k[O>>2]=0;Xf(k[F>>2]|0);c=Jh(k[J>>2]|0,0,k[o>>2]|0,k[n>>2]|0)|0;k[A>>2]=c;if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&16|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[C>>2]=k[o>>2];Kh(c,19057,C)}if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&32|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[D>>2]=k[o>>2];Kh(c,19087,D)}if((k[A>>2]|0)!=0?(k[(k[A>>2]|0)+12>>2]|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[E>>2]=k[o>>2];Kh(c,19123,E)}if(!(k[A>>2]|0)){e=13;break}k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;if(!(be(k[(k[(k[A>>2]|0)+4>>2]|0)+((k[t>>2]|0)*24|0)>>2]|0,k[G>>2]|0)|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(j[(k[A>>2]|0)+34>>1]|0)){e=21;break}if(k[q>>2]|0){k[P>>2]=0;b:do if(k[(k[F>>2]|0)+24>>2]&524288){k[y>>2]=k[(k[A>>2]|0)+16>>2];while(1){if(!(k[y>>2]|0))break b;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[(k[y>>2]|0)+20>>2]|0))break;if((k[(k[y>>2]|0)+36+(k[v>>2]<<3)>>2]|0)==(k[t>>2]|0))k[P>>2]=19165;k[v>>2]=(k[v>>2]|0)+1}k[y>>2]=k[(k[y>>2]|0)+4>>2]}}while(0);k[z>>2]=k[(k[A>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[z>>2]|0)+50>>1]|0))break;if(!((j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=(k[t>>2]|0)?(j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=-2:0))k[P>>2]=19177;k[w>>2]=(k[w>>2]|0)+1}k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(k[P>>2]|0){e=42;break}}c=Mh(k[J>>2]|0)|0;k[(k[I>>2]|0)+20>>2]=c;if(k[(k[I>>2]|0)+20>>2]|0){k[B>>2]=k[(k[I>>2]|0)+20>>2];c=Nh(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[u>>2]=c;Oh(k[B>>2]|0,2,k[u>>2]|0,k[q>>2]|0,k[k[(k[A>>2]|0)+64>>2]>>2]|0,k[(k[(k[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Ph(k[B>>2]|0,1);c=Qh(k[B>>2]|0,9,19219,0)|0;k[s>>2]=c;Rh(k[B>>2]|0,k[u>>2]|0);if(!(l[(k[F>>2]|0)+65>>0]|0)){k[(k[s>>2]|0)+4>>2]=k[u>>2];k[(k[s>>2]|0)+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+12>>2]=k[q>>2];Sh(k[B>>2]|0,1,k[k[A>>2]>>2]|0,0)}if(!(l[(k[F>>2]|0)+65>>0]|0)){if(k[q>>2]|0)i[(k[s>>2]|0)+20>>0]=55;k[(k[s>>2]|0)+20+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+20+12>>2]=k[u>>2];i[(k[s>>2]|0)+20+1>>0]=-14;k[(k[s>>2]|0)+20+16>>2]=(j[(k[A>>2]|0)+34>>1]|0)+1;k[(k[s>>2]|0)+80+8>>2]=j[(k[A>>2]|0)+34>>1];j[(k[J>>2]|0)+444>>1]=1;k[(k[J>>2]|0)+76>>2]=1;k[(k[J>>2]|0)+72>>2]=1;Th(k[B>>2]|0,k[J>>2]|0)}}k[k[I>>2]>>2]=k[q>>2];k[(k[I>>2]|0)+12>>2]=k[t>>2];k[(k[I>>2]|0)+24>>2]=k[F>>2];if(i[(k[F>>2]|0)+65>>0]|0)break a;c=p;We(k[(k[I>>2]|0)+20>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;c=p;c=Uh(k[I>>2]|0,k[c>>2]|0,k[c+4>>2]|0,O)|0;k[K>>2]=c;c=(k[x>>2]|0)+1|0;k[x>>2]=c;if(!((c|0)<50?(k[K>>2]|0)==17:0))break a}if((e|0)==13){if(k[(k[J>>2]|0)+4>>2]|0){ag(k[F>>2]|0,k[O>>2]|0);k[O>>2]=k[(k[J>>2]|0)+4>>2];k[(k[J>>2]|0)+4>>2]=0}k[K>>2]=1;break}else if((e|0)==21){ag(k[F>>2]|0,k[O>>2]|0);P=k[F>>2]|0;k[N>>2]=k[G>>2];P=Lh(P,19144,N)|0;k[O>>2]=P;k[K>>2]=1;break}else if((e|0)==42){ag(k[F>>2]|0,k[O>>2]|0);N=k[F>>2]|0;k[L>>2]=k[P>>2];P=Lh(N,19185,L)|0;k[O>>2]=P;k[K>>2]=1;break}}while(0);if((k[K>>2]|0)==0?(l[(k[F>>2]|0)+65>>0]|0)==0:0){k[k[H>>2]>>2]=k[I>>2];L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?19255:0;I=k[O>>2]|0;k[M>>2]=I;rg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;ag(N,P);P=k[J>>2]|0;Vh(P);P=k[F>>2]|0;O=k[J>>2]|0;ag(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=$g(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}if((k[I>>2]|0)!=0?(k[(k[I>>2]|0)+20>>2]|0)!=0:0)_g(k[(k[I>>2]|0)+20>>2]|0)|0;ag(k[F>>2]|0,k[I>>2]|0);L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?19255:0;I=k[O>>2]|0;k[M>>2]=I;rg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;ag(N,P);P=k[J>>2]|0;Vh(P);P=k[F>>2]|0;O=k[J>>2]|0;ag(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=$g(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];if(k[c>>2]|0){k[b>>2]=k[(k[c>>2]|0)+24>>2];f=ge(k[(k[c>>2]|0)+20>>2]|0)|0;k[d>>2]=f;ag(k[b>>2]|0,k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}return 0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=Xh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,138)|0;r=e;return b|0}function ff(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}if(!(k[(k[b>>2]|0)+20>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+4>>2]|0;r=c;return d|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;i=l+8|0;d=l+32|0;m=l+28|0;e=l;h=l+24|0;g=l+20|0;f=l+16|0;j=l+12|0;k[m>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[m>>2];if(!(k[g>>2]|0)){m=Uf(81515)|0;k[d>>2]=m;m=k[d>>2]|0;r=l;return m|0}k[f>>2]=k[(k[g>>2]|0)+24>>2];if(k[(k[g>>2]|0)+20>>2]|0){m=e;m=Uh(k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0,j)|0;k[h>>2]=m;if(k[h>>2]|0){g=k[f>>2]|0;a=k[h>>2]|0;m=(k[j>>2]|0)!=0?19255:0;k[i>>2]=k[j>>2];rg(g,a,m,i);ag(k[f>>2]|0,k[j>>2]|0)}}else k[h>>2]=4;m=$g(k[f>>2]|0,k[h>>2]|0)|0;k[h>>2]=m;k[d>>2]=k[h>>2];m=k[d>>2]|0;r=l;return m|0}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=(Zh(k[e>>2]|0,k[d>>2]|0,19258,91)|0)==0&1;r=c;return b|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=(Zh(k[g>>2]|0,k[f>>2]|0,19262,k[e>>2]|0)|0)==0&1;r=d;return b|0}function kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+56|0;g=z+52|0;h=z+48|0;j=z+44|0;m=z+40|0;n=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;o=z+20|0;q=z+16|0;t=z+12|0;p=z+8|0;s=z+4|0;u=z;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[w>>2]=0;k[v>>2]=0;k[o>>2]=0;if(!(_h(k[g>>2]|0)|0)){y=Uf(105510)|0;k[f>>2]=y;y=k[f>>2]|0;r=z;return y|0}if(!(k[h>>2]|0))k[h>>2]=19266;tg(k[g>>2]|0,0);a:while(1){if(k[w>>2]|0)break;if(!(i[k[h>>2]>>0]|0))break;k[p>>2]=0;k[v>>2]=0;b=lf(k[g>>2]|0,k[h>>2]|0,-1,v,x)|0;k[w>>2]=b;if(k[w>>2]|0)continue;if(!(k[v>>2]|0)){k[h>>2]=k[x>>2];continue}k[q>>2]=0;b=Ie(k[v>>2]|0)|0;k[t>>2]=b;do{b=Ee(k[v>>2]|0)|0;k[w>>2]=b;do if(k[j>>2]|0){if(100!=(k[w>>2]|0)){if(101!=(k[w>>2]|0)|(k[q>>2]|0)!=0)break;if(!(k[(k[g>>2]|0)+24>>2]&256))break}if(!(k[q>>2]|0)){b=zh(k[g>>2]|0,(k[t>>2]<<1<<2)+1|0,0)|0;k[o>>2]=b;if(!(k[o>>2]|0))break a;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break;b=Se(k[v>>2]|0,k[s>>2]|0)|0;k[(k[o>>2]|0)+(k[s>>2]<<2)>>2]=b;k[s>>2]=(k[s>>2]|0)+1}k[q>>2]=1}b:do if((k[w>>2]|0)==100){k[p>>2]=(k[o>>2]|0)+(k[t>>2]<<2);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break b;b=Pe(k[v>>2]|0,k[s>>2]|0)|0;k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]=b;if((k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]|0)==0?(Re(k[v>>2]|0,k[s>>2]|0)|0)!=5:0){y=27;break a}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(ec[k[j>>2]&255](k[m>>2]|0,k[t>>2]|0,k[p>>2]|0,k[o>>2]|0)|0){y=30;break a}}while(0)}while((k[w>>2]|0)==100);b=_g(k[v>>2]|0)|0;k[w>>2]=b;k[v>>2]=0;k[h>>2]=k[x>>2];while(1){if(!(l[19267+(l[k[h>>2]>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}ag(k[g>>2]|0,k[o>>2]|0);k[o>>2]=0}if((y|0)==27)th(k[g>>2]|0);else if((y|0)==30){k[w>>2]=4;_g(k[v>>2]|0)|0;k[v>>2]=0;tg(k[g>>2]|0,4)}if(k[v>>2]|0)_g(k[v>>2]|0)|0;ag(k[g>>2]|0,k[o>>2]|0);y=$g(k[g>>2]|0,k[w>>2]|0)|0;k[w>>2]=y;do if((k[w>>2]|0)!=0&(k[n>>2]|0)!=0){y=1+(Sf(mf(k[g>>2]|0)|0)|0)|0;k[u>>2]=y;y=k[u>>2]|0;y=ig(y,((y|0)<0)<<31>>31)|0;k[k[n>>2]>>2]=y;if(k[k[n>>2]>>2]|0){b=k[k[n>>2]>>2]|0;y=mf(k[g>>2]|0)|0;sR(b|0,y|0,k[u>>2]|0)|0;break}else{k[w>>2]=7;tg(k[g>>2]|0,7);break}}else if(k[n>>2]|0)k[k[n>>2]>>2]=0;while(0);k[f>>2]=k[w>>2];y=k[f>>2]|0;r=z;return y|0}function lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=$h(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,1,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){d=sh(7)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(ai(k[c>>2]|0)|0)){d=sh(Uf(134947)|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(i[(k[c>>2]|0)+65>>0]|0)){a=ke(k[(k[c>>2]|0)+236>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=sh(k[(k[c>>2]|0)+52>>2]|0)|0;k[d>>2]=a}}else{a=sh(7)|0;k[d>>2]=a}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function nf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=$h(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=bi(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return b|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;b=bi(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return b|0}function qf(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;p=r;r=r+48|0;n=p;c=p+32|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;m=p+12|0;h=p+8|0;o=p+4|0;k[d>>2]=a;k[e>>2]=b;k[m>>2]=0;k[o>>2]=0;k[f>>2]=k[(k[d>>2]|0)+328>>2];if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)==0:0){k[h>>2]=k[(k[f>>2]|0)+4>>2];b=zh(k[d>>2]|0,544,0)|0;k[g>>2]=b;if(!(k[g>>2]|0))k[m>>2]=7;else{i[(k[g>>2]|0)+454>>0]=1;k[k[g>>2]>>2]=k[d>>2];k[(k[g>>2]|0)+428>>2]=1;if((((0==(ci(k[g>>2]|0,k[e>>2]|0,o)|0)?(k[(k[g>>2]|0)+488>>2]|0)!=0:0)?(i[(k[d>>2]|0)+65>>0]|0)==0:0)?(k[(k[(k[g>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(l[(k[(k[g>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(k[(k[h>>2]|0)+4>>2]|0)){k[(k[h>>2]|0)+4>>2]=k[(k[(k[g>>2]|0)+488>>2]|0)+4>>2];j[(k[h>>2]|0)+34>>1]=j[(k[(k[g>>2]|0)+488>>2]|0)+34>>1]|0;j[(k[(k[g>>2]|0)+488>>2]|0)+34>>1]=0;k[(k[(k[g>>2]|0)+488>>2]|0)+4>>2]=0}k[(k[f>>2]|0)+12>>2]=1}else{h=k[d>>2]|0;b=(k[o>>2]|0)!=0?19255:0;k[n>>2]=k[o>>2];rg(h,1,b,n);ag(k[d>>2]|0,k[o>>2]|0);k[m>>2]=1}i[(k[g>>2]|0)+454>>0]=0;if(k[(k[g>>2]|0)+8>>2]|0)_g(k[(k[g>>2]|0)+8>>2]|0)|0;_f(k[d>>2]|0,k[(k[g>>2]|0)+488>>2]|0);Vh(k[g>>2]|0);ag(k[d>>2]|0,k[g>>2]|0)}o=$g(k[d>>2]|0,k[m>>2]|0)|0;k[m>>2]=o;k[c>>2]=k[m>>2];o=k[c>>2]|0;r=p;return o|0}tg(k[d>>2]|0,21);o=Uf(119136)|0;k[c>>2]=o;o=k[c>>2]|0;r=p;return o|0}function rf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[19523+((l[(k[b>>2]|0)+70>>0]|0)-1)>>0]|0|0}function sf(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;h=r;r=r+32|0;d=h+28|0;j=h+24|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[j>>2]=b;k[g>>2]=0;k[e>>2]=c;do if((k[j>>2]|0)==1){k[f>>2]=k[(k[d>>2]|0)+328>>2];if(k[f>>2]|0){c=(k[e>>2]|0)+(4-1)&~(4-1);j=k[c>>2]|0;k[e>>2]=c+4;i[(k[k[f>>2]>>2]|0)+16>>0]=j;break}else{j=Uf(119587)|0;k[g>>2]=j;break}}else{j=Uf(119595)|0;k[g>>2]=j}while(0);if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}tg(k[d>>2]|0,k[g>>2]|0);j=k[g>>2]|0;r=h;return j|0}function tf(){return 18462}function uf(){return 19541}function vf(){return 3011e3}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;g=i+44|0;c=i+40|0;d=i+24|0;h=i+16|0;f=i+8|0;e=i;k[c>>2]=a;k[h>>2]=0;if(k[59]|0){h=Uf(133154)|0;k[g>>2]=h;h=k[g>>2]|0;r=i;return h|0}k[d>>2]=b;do switch(k[c>>2]|0){case 4:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[11]=k[b>>2];k[12]=k[b+4>>2];k[13]=k[b+8>>2];k[14]=k[b+12>>2];k[15]=k[b+16>>2];k[16]=k[b+20>>2];k[17]=k[b+24>>2];k[18]=k[b+28>>2];break}case 5:{if(!(k[11]|0))fi();f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[b>>2]=k[11];k[b+4>>2]=k[12];k[b+8>>2]=k[13];k[b+12>>2]=k[14];k[b+16>>2]=k[15];k[b+20>>2]=k[16];k[b+24>>2]=k[17];k[b+28>>2]=k[18];break}case 9:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[2]=b;break}case 6:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[50]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[51]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[52]=b;break}case 7:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[53]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[54]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[55]=b;break}case 24:{f=(gi()|0)+(hi()|0)+(ii()|0)|0;a=(k[d>>2]|0)+(4-1)&~(4-1);b=k[a>>2]|0;k[d>>2]=a+4;k[b>>2]=f;break}case 14:break;case 15:{k[h>>2]=1;break}case 18:{c=(k[d>>2]|0)+(4-1)&~(4-1);e=k[c>>2]|0;k[d>>2]=c+4;c=112;d=e;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 19:{if(!(k[30]|0))ji();e=(k[d>>2]|0)+(4-1)&~(4-1);c=k[e>>2]|0;k[d>>2]=e+4;d=112;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 13:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[9]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[10]=b;break}case 16:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[66]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[67]=b;break}case 17:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[5]=b;break}case 20:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[6]=b;break}case 22:{b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;b=f;k[b>>2]=c;k[b+4>>2]=a;b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;d=e;k[d>>2]=c;k[d+4>>2]=a;d=e;b=k[d+4>>2]|0;d=(k[e+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>0);b=e;k[b>>2]=d?0:c;k[b+4>>2]=d?0:a;if((k[f+4>>2]|0)<0){b=f;k[b>>2]=0;k[b+4>>2]=0}a=f;c=k[a+4>>2]|0;b=e;d=k[b+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){d=e;a=k[d+4>>2]|0;b=f;k[b>>2]=k[d>>2];k[b+4>>2]=a}b=k[e+4>>2]|0;a=192;k[a>>2]=k[e>>2];k[a+4>>2]=b;a=f;f=k[a+4>>2]|0;b=184;k[b>>2]=k[a>>2];k[b+4>>2]=f;break}case 25:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[58]=b;break}default:k[h>>2]=1}while(0);k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}function xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;Xf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0){a=Yf(k[d>>2]|0)|0;k[e>>2]=a;ki(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function yf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+32|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function zf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+80>>2]|0}function Af(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+84>>2]|0}function Bf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ni(k[c>>2]|0,0)|0;r=b;return a|0}function Cf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ni(k[c>>2]|0,1)|0;r=b;return a|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+448>>2]=k[g>>2];k[(k[e>>2]|0)+448+4>>2]=k[f>>2];k[(k[e>>2]|0)+448+8>>2]=0;k[(k[e>>2]|0)+496>>2]=0;r=d;return 0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if((k[d>>2]|0)>0){Df(a,178,k[c>>2]|0)|0;k[(k[c>>2]|0)+496>>2]=k[d>>2];r=e;return 0}else{Df(a,0,0)|0;r=e;return 0}return 0}function Ff(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;i=r;r=r+32|0;s=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;l=i+4|0;j=i;k[s>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[m>>2]=f;k[l>>2]=g;k[j>>2]=h;b=Gf(k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0)|0;r=i;return b|0}function Gf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[v>>2]=1;k[u>>2]=0;do if(k[t>>2]|0){a=zh(k[j>>2]|0,12,0)|0;k[u>>2]=a;a=k[t>>2]|0;if(k[u>>2]|0){k[(k[u>>2]|0)+4>>2]=a;k[(k[u>>2]|0)+8>>2]=k[o>>2];w=5;break}else{_b[a&255](k[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(w=pi(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[u>>2]|0)|0,k[v>>2]=w,(k[u>>2]|0)!=0):0)?(k[k[u>>2]>>2]|0)==0:0){_b[k[t>>2]&255](k[o>>2]|0);ag(k[j>>2]|0,k[u>>2]|0)}w=$g(k[j>>2]|0,k[v>>2]|0)|0;k[v>>2]=w;r=x;return k[v>>2]|0}function Hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=Sf(k[e>>2]|0)|0;k[i>>2]=b;k[g>>2]=0;if(!(qi(k[d>>2]|0,k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,1,0)|0)){i=pi(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0,224,0,0,0)|0;k[g>>2]=i}i=$g(k[d>>2]|0,k[g>>2]|0)|0;k[g>>2]=i;r=h;return k[g>>2]|0}function If(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;if((k[c>>2]|0)>0){Jf(a,139,k[c>>2]|0)|0;r=d;return 0}else{Jf(a,0,0)|0;r=d;return 0}return 0}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=k[(k[f>>2]|0)+220>>2];k[(k[f>>2]|0)+216>>2]=k[h>>2];k[(k[f>>2]|0)+220>>2]=k[g>>2];r=e;return k[d>>2]|0}function Kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=10;if(k[l>>2]|0)k[k[l>>2]>>2]=-1;if(k[m>>2]|0)k[k[m>>2]>>2]=-1;if((k[j>>2]|0)<0|(k[j>>2]|0)>3){k[f>>2]=21;b=k[f>>2]|0;r=q;return b|0}if((k[h>>2]|0)!=0?(i[k[h>>2]>>0]|0)!=0:0){b=ti(k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=b}if((k[n>>2]|0)<0){k[o>>2]=1;b=k[g>>2]|0;k[p>>2]=k[h>>2];rg(b,1,19602,p)}else{k[(k[g>>2]|0)+448+8>>2]=0;b=ui(k[g>>2]|0,k[n>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[o>>2]=b;tg(k[g>>2]|0,k[o>>2]|0)}b=$g(k[g>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;k[f>>2]=k[o>>2];b=k[f>>2]|0;r=q;return b|0}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Kf(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return b|0}function Mf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(ai(k[c>>2]|0)|0)==0:0){a=Uf(135016)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}if((k[c>>2]|0)!=0?(l[(k[c>>2]|0)+65>>0]|0|0)==0:0){k[b>>2]=k[(k[c>>2]|0)+52>>2]&k[(k[c>>2]|0)+56>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)<0|(k[f>>2]|0)>=12){k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+88+(k[f>>2]<<2)>>2];if((k[g>>2]|0)>=0){if((k[g>>2]|0)>(k[1536+(k[f>>2]<<2)>>2]|0))k[g>>2]=k[1536+(k[f>>2]<<2)>>2];k[(k[e>>2]|0)+88+(k[f>>2]<<2)>>2]=k[g>>2]}k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=wi(k[e>>2]|0,k[d>>2]|0,6,0)|0;r=c;return a|0}function Pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;n=l+28|0;m=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;h=l+8|0;i=l+4|0;g=l;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=d;k[j>>2]=1;b=Ci(k[n>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){n=k[j>>2]|0;r=l;return n|0}ug(k[h>>2]|0);n=Yf(k[h>>2]|0)|0;k[i>>2]=n;n=Lg(k[i>>2]|0)|0;k[g>>2]=n;if((k[e>>2]|0)==7){k[k[f>>2]>>2]=k[g>>2];k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==27){n=Di(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==28){n=Ei(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if(k[k[g>>2]>>2]|0){n=Fi(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;r=l;return n|0}else{k[j>>2]=12;n=k[j>>2]|0;r=l;return n|0}return 0}function Qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}b=(Sf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;while(1){if(!(i[k[c>>2]>>0]|0)){a=8;break}b=IQ(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;b=(Sf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;b=k[c>>2]|0;if(!(k[e>>2]|0)){a=6;break}b=(Sf(b)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function Rf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;b=Qf(k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;k[d>>2]=(k[d>>2]|0)!=0&1;if(k[e>>2]|0){h=(Li(k[e>>2]|0,k[d>>2]&255)|0)&255;r=f;return h|0}else{h=k[d>>2]|0;r=f;return h|0}return 0}function Sf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(k[c>>2]|0))k[b>>2]=0;else{a=1073741823&(LQ(k[c>>2]|0)|0);k[b>>2]=a}r=d;return k[b>>2]|0}function Tf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return ((l[19267+(l[b>>0]|0)>>0]|0)&70|0)!=0|0}function Uf(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+8|0;k[d>>2]=a;d=k[d>>2]|0;a=(uf()|0)+20|0;k[c>>2]=d;k[c+4>>2]=a;$d(21,47042,c);r=b;return 21}function Vf(){return k[417]|0}function Wf(){return k[70]|0}function Xf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+4>>2]=k[k[d>>2]>>2];k[c>>2]=(k[c>>2]|0)+1}r=e;return}function Yf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+4>>2]>>2]|0}function Zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}lv(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0);ag(k[c>>2]|0,k[k[d>>2]>>2]|0);ag(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0);hv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);iv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);ag(k[c>>2]|0,k[d>>2]|0);r=e;return}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=i;return}if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+528>>2]|0)!=0:0))h=4;if((h|0)==4?(b=(k[d>>2]|0)+36|0,h=(j[b>>1]|0)+-1<<16>>16,j[b>>1]=h,(h&65535|0)>0):0){r=i;return}k[e>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+20>>2];if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+528>>2]|0)!=0:0)){k[g>>2]=k[k[e>>2]>>2];Yj((k[(k[e>>2]|0)+24>>2]|0)+24|0,k[g>>2]|0,0)|0}eH(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}VP(k[c>>2]|0,k[d>>2]|0);$G(k[c>>2]|0,k[d>>2]|0);ag(k[c>>2]|0,k[k[d>>2]>>2]|0);ag(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);ev(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);dv(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0);MH(k[c>>2]|0,k[d>>2]|0);ag(k[c>>2]|0,k[d>>2]|0);r=i;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;c=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;yC(k[(k[f>>2]|0)+60>>2]|0,j[(k[f>>2]|0)+68>>1]|0);yC(k[(k[f>>2]|0)+16>>2]|0,m[(k[f>>2]|0)+84>>1]<<1);k[d>>2]=k[(k[f>>2]|0)+192>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=k[(k[d>>2]|0)+24>>2];UP(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);ag(k[e>>2]|0,k[d>>2]|0);k[d>>2]=k[c>>2]}k[g>>2]=(j[(k[f>>2]|0)+70>>1]|0)-1;while(1){a=k[e>>2]|0;if((k[g>>2]|0)<0)break;ag(a,k[(k[(k[f>>2]|0)+64>>2]|0)+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}ag(a,k[(k[f>>2]|0)+64>>2]|0);UP(k[e>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[f>>2]|0)+32>>2]|0);ag(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0);ag(k[e>>2]|0,k[(k[f>>2]|0)+168>>2]|0);ag(k[e>>2]|0,k[(k[f>>2]|0)+172>>2]|0);r=h;return}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(k[c>>2]|0){a=k[c>>2]|0;b=k[d>>2]|0;if(k[(k[c>>2]|0)+528>>2]|0){TP(a,b);r=f;return}if(ku(a,b)|0){k[e>>2]=k[d>>2];k[k[e>>2]>>2]=k[(k[c>>2]|0)+248+28>>2];k[(k[c>>2]|0)+248+28>>2]=k[e>>2];e=(k[c>>2]|0)+248+8|0;k[e>>2]=(k[e>>2]|0)+-1;r=f;return}}Ud(k[d>>2]|0);r=f;return}function bg(){var a=0,b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;a=f+12|0;b=f+8|0;e=f+4|0;c=f;if(!(k[11]|0))fi();k[70]=0;k[71]=0;k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[70]=8;if((k[50]|0)!=0&(k[51]|0)>=100&(k[52]|0)>0){k[e>>2]=k[51]&-8;k[51]=k[e>>2];k[c>>2]=k[50];k[b>>2]=k[52];k[75]=k[c>>2];k[76]=k[b>>2];k[a>>2]=0;while(1){if((k[a>>2]|0)>=((k[b>>2]|0)-1|0))break;k[k[c>>2]>>2]=(k[c>>2]|0)+(k[e>>2]|0);k[c>>2]=k[k[c>>2]>>2];k[a>>2]=(k[a>>2]|0)+1}k[k[c>>2]>>2]=0;k[74]=(k[c>>2]|0)+4}else{k[74]=0;k[50]=0;k[51]=0;k[52]=0}if((k[53]|0)==0|(k[54]|0)<512|(k[55]|0)<=0){k[53]=0;k[54]=0}e=bc[k[64>>2]&255](k[18]|0)|0;k[d>>2]=e;if(!(k[d>>2]|0)){e=k[d>>2]|0;r=f;return e|0};k[70]=0;k[71]=0;k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;e=k[d>>2]|0;r=f;return e|0}function cg(){var a=0,b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;a=d;k[c>>2]=1080;k[a>>2]=7788;k[b>>2]=0;while(1){if((k[b>>2]|0)>=57)break;gu(k[c>>2]|0,(k[a>>2]|0)+(k[b>>2]<<5)|0);k[b>>2]=(k[b>>2]|0)+1}DO();EO();r=d;return}function dg(){if(!(k[30]|0))ji();return bc[k[120>>2]&255](k[29]|0)|0}function eg(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;a=c+4|0;b=c;d=Sd(10)|0;k[b>>2]=d;if(!(k[b>>2]|0)){k[a>>2]=7;d=k[a>>2]|0;r=c;return d|0}else{Ud(k[b>>2]|0);d=ce()|0;k[a>>2]=d;d=k[a>>2]|0;r=c;return d|0}return 0}function fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[409]|0)){r=h;return}if(!(k[d>>2]|0)){k[f>>2]=0;k[e>>2]=0}k[e>>2]=k[e>>2]&-8;k[412]=k[e>>2];b=k[f>>2]|0;k[419]=b;k[413]=b;if((k[f>>2]|0)>90)c=10;else c=((k[f>>2]|0)/10|0)+1|0;k[414]=c;k[415]=k[d>>2];k[418]=0;k[420]=0;while(1){b=k[f>>2]|0;k[f>>2]=b+-1;c=k[d>>2]|0;if(!b)break;k[g>>2]=c;k[k[g>>2]>>2]=k[418];k[418]=k[g>>2];k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0)}k[416]=c;r=h;return}function gg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}if((k[269]|0)==(k[c>>2]|0)){k[269]=k[(k[c>>2]|0)+12>>2];r=e;return}if(!(k[269]|0)){r=e;return}k[d>>2]=k[269];while(1){if(k[(k[d>>2]|0)+12>>2]|0)b=(k[(k[d>>2]|0)+12>>2]|0)!=(k[c>>2]|0);else b=0;a=k[(k[d>>2]|0)+12>>2]|0;if(!b)break;k[d>>2]=a}if((a|0)!=(k[c>>2]|0)){r=e;return}k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+12>>2];r=e;return}function hg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;L=0;r=c;return k[996+(k[b>>2]<<2)>>2]|0}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;f=c;b=c;a=k[b+4>>2]|0;if((k[f>>2]|0)==0&(k[f+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(k[b>>2]|0)>>>0>=2147483392)){k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}if(k[2]|0){CO(k[c>>2]|0,d)|0;f=k[d>>2]|0;r=e;return f|0}else{f=bc[k[44>>2]&255](k[c>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;r=e;return f|0}return 0}function jg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[56>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=996+(k[e>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)-(k[d>>2]|0);r=c;return}function lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;d=l+28|0;e=l+24|0;f=l;i=l+20|0;h=l+16|0;g=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!(k[e>>2]|0)){j=ig(b,c)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}if((b|0)==0&(c|0)==0){Ud(k[e>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=f;c=k[a+4>>2]|0;if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=2147483392){k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=jg(k[e>>2]|0)|0;k[i>>2]=a;a=bc[k[60>>2]&255](k[f>>2]|0)|0;k[h>>2]=a;do if((k[i>>2]|0)!=(k[h>>2]|0)){if(!(k[2]|0)){i=gc[k[52>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;break}Wi(5,k[f>>2]|0);k[g>>2]=(k[h>>2]|0)-(k[i>>2]|0);c=hg(0)|0;m=L;b=288;a=k[g>>2]|0;a=pR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((m|0)>(b|0)|(m|0)==(b|0)&c>>>0>=a>>>0)BO(k[g>>2]|0);m=gc[k[52>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m;m=288;g=k[m+4>>2]|0;if((k[j>>2]|0)==0&((g|0)>0|(g|0)==0&(k[m>>2]|0)>>>0>0)){BO(k[f>>2]|0);m=gc[k[52>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m}if(k[j>>2]|0){m=jg(k[j>>2]|0)|0;k[h>>2]=m;Xi(0,(k[h>>2]|0)-(k[i>>2]|0)|0)}}else k[j>>2]=k[e>>2];while(0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=l;return m|0}function mg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[m>>2]=c;k[j>>2]=d;k[h>>2]=e;c=k[m>>2]|0;k[(k[g>>2]|0)+4>>2]=c;k[(k[g>>2]|0)+8>>2]=c;k[k[g>>2]>>2]=k[l>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[h>>2];i[(k[g>>2]|0)+24>>0]=0;i[(k[g>>2]|0)+25>>0]=0;r=f;return}function ng(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=r;r=r+272|0;e=ra+176|0;f=ra+172|0;g=ra+168|0;o=ra+164|0;n=ra+160|0;aa=ra+156|0;Q=ra+152|0;J=ra+148|0;ja=ra+144|0;B=ra+268|0;E=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;G=ra+263|0;C=ra+262|0;D=ra+261|0;t=ra+260|0;na=ra+259|0;h=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;K=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;F=ra+254|0;X=ra+112|0;m=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;j=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;H=ra+88|0;U=ra+84|0;I=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;q=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[na>>0]=0;k[oa>>2]=0;k[X>>2]=0;k[n>>2]=0;if(i[(k[e>>2]|0)+25>>0]|0){a=l[(k[e>>2]|0)+25>>0]&2;i[h>>0]=a;if(a&255){b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[X>>2]=a}i[ha>>0]=l[(k[e>>2]|0)+25>>0]&1}else{i[ha>>0]=0;i[h>>0]=0}a:while(1){a=i[k[f>>2]>>0]|0;k[o>>2]=a;if(!a){qa=268;break}if((k[o>>2]|0)!=37){k[n>>2]=k[f>>2];do{k[f>>2]=(k[f>>2]|0)+1;if(!(i[k[f>>2]>>0]|0))break}while((i[k[f>>2]>>0]|0)!=37);kA(k[e>>2]|0,k[n>>2]|0,(k[f>>2]|0)-(k[n>>2]|0)|0);if(!(i[k[f>>2]>>0]|0)){qa=268;break}}a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a;if(!a){qa=13;break}i[G>>0]=0;i[y>>0]=0;i[x>>0]=0;i[z>>0]=0;i[E>>0]=0;i[B>>0]=0;i[t>>0]=0;do{switch(k[o>>2]|0){case 45:{i[B>>0]=1;break}case 43:{i[E>>0]=1;break}case 32:{i[z>>0]=1;break}case 35:{i[x>>0]=1;break}case 33:{i[y>>0]=1;break}case 48:{i[G>>0]=1;break}default:i[t>>0]=1}if(i[t>>0]|0)break;a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a}while((a|0)!=0);if((k[o>>2]|0)==42){if(i[h>>0]|0){a=wO(k[X>>2]|0)|0;k[ja>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[ja>>2]=a}if((k[ja>>2]|0)<0){i[B>>0]=1;k[ja>>2]=(k[ja>>2]|0)>=-2147483647?0-(k[ja>>2]|0)|0:0}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}else{k[ka>>2]=0;while(1){c=k[ka>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ka>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[ja>>2]=c&2147483647}do if((k[o>>2]|0)==46){a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)!=42){k[ca>>2]=0;while(1){c=k[ca>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ca>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[aa>>2]=c&2147483647;break}if(i[h>>0]|0){a=wO(k[X>>2]|0)|0;k[aa>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[aa>>2]=a}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[aa>>2]|0)<0)k[aa>>2]=(k[aa>>2]|0)>=-2147483647?0-(k[aa>>2]|0)|0:-1}else k[aa>>2]=-1;while(0);do if((k[o>>2]|0)==108){i[C>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)==108){i[D>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];break}else{i[D>>0]=0;break}}else{i[D>>0]=0;i[C>>0]=0}while(0);k[K>>2]=46051;i[na>>0]=0;k[J>>2]=0;while(1){if((k[J>>2]|0)>=23)break;c=k[J>>2]|0;if((k[o>>2]|0)==(i[46051+((k[J>>2]|0)*6|0)>>0]|0)){qa=56;break}k[J>>2]=c+1}if((qa|0)==56){qa=0;k[K>>2]=46051+(c*6|0);if((l[ha>>0]|0)==0?(l[(k[K>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}i[na>>0]=i[(k[K>>2]|0)+3>>0]|0}b:do switch(l[na>>0]|0){case 14:{i[D>>0]=0;i[C>>0]=1;qa=62;break}case 1:case 16:{qa=62;break}case 4:case 3:case 2:{if(i[h>>0]|0){d=+xO(k[X>>2]|0);p[ea>>3]=d}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(8-1)&~(8-1);d=+p[b>>3];k[a>>2]=b+8;p[ea>>3]=d}if((k[aa>>2]|0)<0)k[aa>>2]=6;do if(!(+p[ea>>3]<0.0)){if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{p[ea>>3]=-+p[ea>>3];i[ba>>0]=45}while(0);if((l[na>>0]|0)==4&(k[aa>>2]|0)>0)k[aa>>2]=(k[aa>>2]|0)+-1;k[J>>2]=k[aa>>2]&4095;p[fa>>3]=.5;while(1){if((k[J>>2]|0)<=0)break;k[J>>2]=(k[J>>2]|0)+-1;p[fa>>3]=+p[fa>>3]*.1}if((l[na>>0]|0)==2)p[ea>>3]=+p[ea>>3]+ +p[fa>>3];k[w>>2]=0;if(RF(+p[ea>>3])|0){k[n>>2]=46238;k[Q>>2]=3;break b}if(+p[ea>>3]>0.0){p[ga>>3]=1.0;while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.e+100?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.e+100;k[w>>2]=(k[w>>2]|0)+100}while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.0e10?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.0e10;k[w>>2]=(k[w>>2]|0)+10}while(1){d=+p[ga>>3];if(!(+p[ea>>3]>=+p[ga>>3]*10.0?(k[w>>2]|0)<=350:0))break;p[ga>>3]=d*10.0;k[w>>2]=(k[w>>2]|0)+1}p[ea>>3]=+p[ea>>3]/d;while(1){if(!(+p[ea>>3]<1.0e-08))break;p[ea>>3]=+p[ea>>3]*1.0e8;k[w>>2]=(k[w>>2]|0)-8}while(1){if(!(+p[ea>>3]<1.0))break;p[ea>>3]=+p[ea>>3]*10.0;k[w>>2]=(k[w>>2]|0)+-1}if((k[w>>2]|0)>350){k[n>>2]=m;i[m>>0]=i[ba>>0]|0;a=m+((i[ba>>0]|0)!=0&1)|0;i[a>>0]=i[46242]|0;i[a+1>>0]=i[46243]|0;i[a+2>>0]=i[46244]|0;i[a+3>>0]=i[46245]|0;k[Q>>2]=3+((i[ba>>0]|0)!=0&1);break b}}k[n>>2]=m;if((l[na>>0]|0)!=2?(p[ea>>3]=+p[ea>>3]+ +p[fa>>3],+p[ea>>3]>=10.0):0){p[ea>>3]=+p[ea>>3]*.1;k[w>>2]=(k[w>>2]|0)+1}c:do if((l[na>>0]|0)==4){i[F>>0]=((i[x>>0]|0)!=0^1)&1;do if((k[w>>2]|0)>=-4){if((k[w>>2]|0)>(k[aa>>2]|0))break;k[aa>>2]=(k[aa>>2]|0)-(k[w>>2]|0);i[na>>0]=2;break c}while(0);i[na>>0]=3}else i[F>>0]=i[y>>0]|0;while(0);if((l[na>>0]|0)==3)k[u>>2]=0;else k[u>>2]=k[w>>2];a=(k[u>>2]|0)>0?k[u>>2]|0:0;b=k[aa>>2]|0;b=qR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=k[ja>>2]|0;a=qR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((b|0)>0|(b|0)==0&a>>>0>55?(a=(k[u>>2]|0)>0?k[u>>2]|0:0,b=k[aa>>2]|0,b=qR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=k[ja>>2]|0,a=qR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0,a=qR(a|0,L|0,15,0)|0,a=ig(a,L)|0,k[oa>>2]=a,k[n>>2]=a,(k[n>>2]|0)==0):0){qa=161;break a}k[pa>>2]=k[n>>2];k[W>>2]=16+((l[y>>0]|0)*10|0);i[A>>0]=((k[aa>>2]|0)>0?1:0)|l[x>>0]|l[y>>0];if(i[ba>>0]|0){b=i[ba>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}d:do if((k[u>>2]|0)<0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48}else while(1){if((k[u>>2]|0)<0)break d;b=yO(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[u>>2]=(k[u>>2]|0)+-1}while(0);if(i[A>>0]|0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=46}k[u>>2]=(k[u>>2]|0)+1;while(1){if((k[u>>2]|0)>=0)break;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48;k[aa>>2]=(k[aa>>2]|0)+-1;k[u>>2]=(k[u>>2]|0)+1}while(1){a=k[aa>>2]|0;k[aa>>2]=a+-1;if((a|0)<=0)break;b=yO(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}do if(l[F>>0]|0){if(!(l[A>>0]|0))break;while(1){c=(k[n>>2]|0)+-1|0;if((i[(k[n>>2]|0)+-1>>0]|0)!=48)break;k[n>>2]=c;i[c>>0]=0}if((i[c>>0]|0)!=46)break;c=k[n>>2]|0;if(i[y>>0]|0){k[n>>2]=c+1;i[c>>0]=48;break}else{a=c+-1|0;k[n>>2]=a;i[a>>0]=0;break}}while(0);if((l[na>>0]|0)==3){c=i[46198+(l[(k[K>>2]|0)+4>>0]|0)>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=c;a=(k[w>>2]|0)<0;c=k[n>>2]|0;k[n>>2]=c+1;if(a){i[c>>0]=45;k[w>>2]=0-(k[w>>2]|0)}else i[c>>0]=43;if((k[w>>2]|0)>=100){b=((k[w>>2]|0)/100|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[w>>2]=(k[w>>2]|0)%100|0}a=((k[w>>2]|0)/10|0)+48&255;b=k[n>>2]|0;k[n>>2]=b+1;i[b>>0]=a;b=((k[w>>2]|0)%10|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}i[k[n>>2]>>0]=0;k[Q>>2]=(k[n>>2]|0)-(k[pa>>2]|0);k[n>>2]=k[pa>>2];if((l[G>>0]|0)==0|(i[B>>0]|0)!=0)break b;if((k[Q>>2]|0)>=(k[ja>>2]|0))break b;k[U>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);k[H>>2]=k[ja>>2];while(1){if((k[H>>2]|0)<(k[U>>2]|0))break;i[(k[n>>2]|0)+(k[H>>2]|0)>>0]=i[(k[n>>2]|0)+((k[H>>2]|0)-(k[U>>2]|0))>>0]|0;k[H>>2]=(k[H>>2]|0)+-1}k[H>>2]=(i[ba>>0]|0)!=0&1;while(1){a=k[U>>2]|0;k[U>>2]=a+-1;if(!a)break;a=k[H>>2]|0;k[H>>2]=a+1;i[(k[n>>2]|0)+a>>0]=48}k[Q>>2]=k[ja>>2];break}case 5:{if(!(i[h>>0]|0)){b=k[(k[e>>2]|0)+12>>2]|0;c=k[g>>2]|0;sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;k[a>>2]=b}k[ja>>2]=0;k[Q>>2]=0;break}case 8:{i[m>>0]=37;k[n>>2]=m;k[Q>>2]=1;break}case 9:{if(i[h>>0]|0){sa=zO(k[X>>2]|0)|0;k[n>>2]=sa;if(k[n>>2]|0)c=i[k[n>>2]>>0]|0;else c=0;k[o>>2]=c}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[o>>2]=sa}if((k[aa>>2]|0)>1){k[ja>>2]=(k[ja>>2]|0)-((k[aa>>2]|0)-1);if(!((k[ja>>2]|0)<=1|(i[B>>0]|0)!=0)){AO(k[e>>2]|0,(k[ja>>2]|0)-1|0,32);k[ja>>2]=0}AO(k[e>>2]|0,(k[aa>>2]|0)-1|0,k[o>>2]&255)}k[Q>>2]=1;i[m>>0]=k[o>>2];k[n>>2]=m;break}case 7:case 6:{if(i[h>>0]|0){sa=zO(k[X>>2]|0)|0;k[n>>2]=sa;i[na>>0]=6}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[n>>2]=sa}if(k[n>>2]|0){if((l[na>>0]|0)==7)k[oa>>2]=k[n>>2]}else k[n>>2]=19266;if((k[aa>>2]|0)<0){sa=Sf(k[n>>2]|0)|0;k[Q>>2]=sa;break b}k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[aa>>2]|0))break b;if(!(i[(k[n>>2]|0)+(k[Q>>2]|0)>>0]|0))break b;k[Q>>2]=(k[Q>>2]|0)+1}}case 15:case 11:case 10:{i[da>>0]=(l[na>>0]|0)==15?34:39;if(i[h>>0]|0){sa=zO(k[X>>2]|0)|0;k[v>>2]=sa}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[v>>2]=sa}k[M>>2]=(k[v>>2]|0)==0&1;if(k[M>>2]|0)k[v>>2]=(l[na>>0]|0)==11?40498:46246;k[O>>2]=k[aa>>2];k[S>>2]=0;k[I>>2]=0;while(1){if(!(k[O>>2]|0))break;sa=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=sa;if(!(sa<<24>>24))break;if((i[q>>0]|0)==(i[da>>0]|0))k[S>>2]=(k[S>>2]|0)+1;k[I>>2]=(k[I>>2]|0)+1;k[O>>2]=(k[O>>2]|0)+-1}if(k[M>>2]|0)c=0;else c=(l[na>>0]|0)==11;k[V>>2]=c&1;k[S>>2]=(k[S>>2]|0)+((k[I>>2]|0)+3);if((k[S>>2]|0)>70){sa=k[S>>2]|0;sa=ig(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[n>>2]=sa;if(!(k[n>>2]|0)){qa=241;break a}}else k[n>>2]=m;k[N>>2]=0;if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[O>>2]=k[I>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[O>>2]|0))break;a=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=a;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a;if((i[q>>0]|0)==(i[da>>0]|0)){a=i[q>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[I>>2]=(k[I>>2]|0)+1}if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}i[(k[n>>2]|0)+(k[N>>2]|0)>>0]=0;k[Q>>2]=k[N>>2];break}case 12:{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[_>>2]=sa;if((k[_>>2]|0)!=0?(k[(k[_>>2]|0)+4>>2]|0)!=0:0)kA(k[e>>2]|0,k[k[_>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}case 13:{b=k[g>>2]|0;sa=(k[b>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[b>>2]=sa+4;k[Z>>2]=a;a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[P>>2]=sa;k[Y>>2]=(k[Z>>2]|0)+8+((k[P>>2]|0)*72|0);if(k[(k[Y>>2]|0)+4>>2]|0){KD(k[e>>2]|0,k[(k[Y>>2]|0)+4>>2]|0);kA(k[e>>2]|0,45876,1)}KD(k[e>>2]|0,k[(k[Y>>2]|0)+8>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;c=(i[h>>0]|0)!=0;do if(l[(k[K>>2]|0)+2>>0]&1){do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=ia;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=ia;k[sa>>2]=a;k[sa+4>>2]=((a|0)<0)<<31>>31;break}}else{a=wO(k[X>>2]|0)|0;sa=ia;k[sa>>2]=a;k[sa+4>>2]=L}while(0);b=ia;c=k[b>>2]|0;b=k[b+4>>2]|0;if((k[ia+4>>2]|0)<0){if((c|0)==0&(b|0)==-2147483648){sa=R;k[sa>>2]=0;k[sa+4>>2]=-2147483648}else{a=ia;a=pR(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}i[ba>>0]=45;break}sa=R;k[sa>>2]=c;k[sa+4>>2]=b;if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=R;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=R;k[sa>>2]=a;k[sa+4>>2]=0;break}}else{a=wO(k[X>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}while(0);i[ba>>0]=0}while(0);sa=R;if((k[sa>>2]|0)==0&(k[sa+4>>2]|0)==0)i[x>>0]=0;if((l[G>>0]|0)!=0?(k[aa>>2]|0)<((k[ja>>2]|0)-((i[ba>>0]|0)!=0&1)|0):0)k[aa>>2]=(k[ja>>2]|0)-((i[ba>>0]|0)!=0&1);if((k[aa>>2]|0)>=60){k[T>>2]=(k[aa>>2]|0)+10;sa=k[T>>2]|0;sa=ig(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[pa>>2]=sa;if(!(k[pa>>2]|0)){qa=92;break}}else{k[T>>2]=70;k[pa>>2]=m}k[n>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1);if((l[na>>0]|0)==16){sa=R;sa=DR(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0;k[la>>2]=sa;if(!((k[la>>2]|0)<4?(sa=R,sa=CR(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0,sa=DR(sa|0,L|0,10,0)|0,!((sa|0)==1&(L|0)==0)):0))k[la>>2]=0;sa=i[46189+((k[la>>2]<<1)+1)>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=i[46189+(k[la>>2]<<1)>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}k[s>>2]=46198+(l[(k[K>>2]|0)+4>>0]|0);i[j>>0]=i[(k[K>>2]|0)+1>>0]|0;do{sa=R;sa=DR(k[sa>>2]|0,k[sa+4>>2]|0,l[j>>0]|0,0)|0;sa=i[(k[s>>2]|0)+sa>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=R;a=CR(k[a>>2]|0,k[a+4>>2]|0,l[j>>0]|0,0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L;sa=R;a=k[sa+4>>2]|0}while(a>>>0>0|(a|0)==0&(k[sa>>2]|0)>>>0>0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0);k[J>>2]=(k[aa>>2]|0)-(k[Q>>2]|0);while(1){if((k[J>>2]|0)<=0)break;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=48;k[J>>2]=(k[J>>2]|0)+-1}if(i[ba>>0]|0){a=i[ba>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}e:do if((l[x>>0]|0)!=0?(l[(k[K>>2]|0)+5>>0]|0)!=0:0){k[$>>2]=46231+(l[(k[K>>2]|0)+5>>0]|0);while(1){sa=i[k[$>>2]>>0]|0;i[ma>>0]=sa;if(!(sa<<24>>24))break e;a=i[ma>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a;k[$>>2]=(k[$>>2]|0)+1}}while(0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0)}k[ja>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);if(!((k[ja>>2]|0)<=0|(i[B>>0]|0)!=0))AO(k[e>>2]|0,k[ja>>2]|0,32);kA(k[e>>2]|0,k[n>>2]|0,k[Q>>2]|0);if((k[ja>>2]|0)>0?(l[B>>0]|0)!=0:0)AO(k[e>>2]|0,k[ja>>2]|0,32);if(k[oa>>2]|0){ag(k[k[e>>2]>>2]|0,k[oa>>2]|0);k[oa>>2]=0}k[f>>2]=(k[f>>2]|0)+1}if((qa|0)==13){kA(k[e>>2]|0,46049,1);r=ra;return}else if((qa|0)==92){oA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==161){oA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==241){oA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==268){r=ra;return}}function og(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(((k[(k[b>>2]|0)+8>>2]|0)!=0?(i[(k[(k[b>>2]|0)+8>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0,(k[(k[b>>2]|0)+20>>2]|0)>>>0>0):0)?((l[(k[b>>2]|0)+25>>0]|0)&4|0)==0:0){a=Ih(k[k[b>>2]>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0,0)|0;k[(k[b>>2]|0)+8>>2]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+8>>2]|0){sR(k[a+8>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0)|0;a=(k[b>>2]|0)+25|0;i[a>>0]=l[a>>0]|0|4;break}else{oA(a,1);break}}while(0);r=c;return k[(k[b>>2]|0)+8>>2]|0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+256|0;g=d+36|0;h=d+32|0;e=d+28|0;f=d;k[g>>2]=a;k[h>>2]=b;k[e>>2]=c;mg(f,0,d+40|0,210,0);ng(f,k[h>>2]|0,k[e>>2]|0);e=k[66]|0;c=k[67]|0;a=k[g>>2]|0;b=og(f)|0;cc[e&255](c,a,b);r=d;return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[g>>2]|0)+56>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function rg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[(k[e>>2]|0)+52>>2]=k[f>>2];a=k[e>>2]|0;if(!(k[g>>2]|0)){tg(a,k[f>>2]|0);r=j;return}if((k[a+236>>2]|0)==0?(f=di(k[e>>2]|0)|0,k[(k[e>>2]|0)+236>>2]=f,(f|0)==0):0){r=j;return}k[h>>2]=d;d=hx(k[e>>2]|0,k[g>>2]|0,h)|0;k[i>>2]=d;ei(k[(k[e>>2]|0)+236>>2]|0,-1,k[i>>2]|0,1,170);r=j;return}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;b=c;b=ig(k[b>>2]|0,k[b+4>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){f=k[d>>2]|0;r=e;return f|0}uR(k[d>>2]|0,0,k[c>>2]|0)|0;f=k[d>>2]|0;r=e;return f|0}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;k[(k[c>>2]|0)+52>>2]=k[e>>2];if(!(k[(k[c>>2]|0)+236>>2]|0)){r=d;return}ZM(k[(k[c>>2]|0)+236>>2]|0);r=d;return}function ug(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[(k[c>>2]|0)+4>>2]|0)+4>>2]=k[k[c>>2]>>2];r=b;return}function vg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)!=0&(k[b>>2]|0)!=5)){a=0;a=a&1;r=c;return a|0}a=(k[b>>2]|0)!=6;a=a&1;r=c;return a|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;f=o+16|0;n=o+12|0;e=o+8|0;g=o+4|0;h=o;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];k[n>>2]=0;ug(k[c>>2]|0);do if((l[(k[c>>2]|0)+8>>0]|0)!=2?((k[d>>2]|0)!=0?1:(l[(k[c>>2]|0)+8>>0]|0)!=1):0){if((k[d>>2]|0)!=0?(m[(k[f>>2]|0)+22>>1]&1|0)!=0:0){k[n>>2]=8;break}k[e>>2]=0;if((k[d>>2]|0)!=0?(l[(k[f>>2]|0)+20>>0]|0)==2:0)b=8;else b=7;a:do if((b|0)==7)if(!(m[(k[f>>2]|0)+22>>1]&64)){if((k[d>>2]|0)>1){k[g>>2]=k[(k[f>>2]|0)+72>>2];while(1){if(!(k[g>>2]|0))break a;a=k[g>>2]|0;if((k[k[g>>2]>>2]|0)!=(k[c>>2]|0))break;k[g>>2]=k[a+12>>2]}k[e>>2]=k[k[a>>2]>>2]}}else b=8;while(0);if((b|0)==8)k[e>>2]=k[k[(k[f>>2]|0)+76>>2]>>2];if(k[e>>2]|0){k[n>>2]=262;break}g=wH(k[c>>2]|0,1,1)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-9;if(!(k[(k[f>>2]|0)+44>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|8}while(1){if((k[(k[f>>2]|0)+12>>2]|0)==0?(g=WM(k[f>>2]|0)|0,k[n>>2]=g,0==(g|0)):0)continue;do if((k[n>>2]|0)==0&(k[d>>2]|0)!=0){if(m[(k[f>>2]|0)+22>>1]&1){k[n>>2]=8;break}e=k[k[f>>2]>>2]|0;g=(k[d>>2]|0)>1&1;g=XM(e,g,ar(k[k[c>>2]>>2]|0)|0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=dM(k[f>>2]|0)|0;k[n>>2]=g}}while(0);if(k[n>>2]|0)BB(k[f>>2]|0);if((k[n>>2]&255|0)!=5)break;if(l[(k[f>>2]|0)+20>>0]|0)break;if(!(gr(k[f>>2]|0)|0))break}if(!(k[n>>2]|0)){if((l[(k[c>>2]|0)+8>>0]|0)==0?(g=(k[f>>2]|0)+40|0,k[g>>2]=(k[g>>2]|0)+1,(i[(k[c>>2]|0)+9>>0]|0)!=0):0){i[(k[c>>2]|0)+32+8>>0]=1;k[(k[c>>2]|0)+32+12>>2]=k[(k[f>>2]|0)+72>>2];k[(k[f>>2]|0)+72>>2]=(k[c>>2]|0)+32}i[(k[c>>2]|0)+8>>0]=(k[d>>2]|0)!=0?2:1;if((l[(k[c>>2]|0)+8>>0]|0)>(l[(k[f>>2]|0)+20>>0]|0))i[(k[f>>2]|0)+20>>0]=i[(k[c>>2]|0)+8>>0]|0;if(k[d>>2]|0){k[h>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+76>>2]=k[c>>2];g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-33;if((k[d>>2]|0)>1){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|32}g=k[(k[f>>2]|0)+44>>2]|0;if((g|0)!=(jr((k[(k[h>>2]|0)+56>>2]|0)+28|0)|0)?(g=Ng(k[(k[h>>2]|0)+72>>2]|0)|0,k[n>>2]=g,(k[n>>2]|0)==0):0)ft((k[(k[h>>2]|0)+56>>2]|0)+28|0,k[(k[f>>2]|0)+44>>2]|0)}}}}while(0);if(!((k[n>>2]|0)==0&(k[d>>2]|0)!=0)){n=k[n>>2]|0;r=o;return n|0}h=aM(k[k[f>>2]>>2]|0,k[(k[k[c>>2]>>2]|0)+500>>2]|0)|0;k[n>>2]=h;n=k[n>>2]|0;r=o;return n|0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];ug(k[d>>2]|0);if((k[e>>2]|0)==15){c=VM(k[k[g>>2]>>2]|0)|0;k[k[f>>2]>>2]=c+(k[(k[d>>2]|0)+20>>2]|0);r=h;return}else{c=jr((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(k[e>>2]<<2))|0)|0;k[k[f>>2]>>2]=c;r=h;return}}function yg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+8>>0]|0|0)!=0|0}function zg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0}function Ag(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+5>>0]|0|0}function Bg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jF(k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function Cg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;h=t+44|0;i=t+40|0;j=t+36|0;m=t+32|0;u=t+28|0;s=t+24|0;q=t+20|0;o=t+16|0;p=t+12|0;n=t+8|0;f=t+4|0;e=t;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[u>>2]=d;k[s>>2]=0;k[q>>2]=0;k[o>>2]=0;k[p>>2]=k[u>>2]&1;k[n>>2]=0;if((k[j>>2]|0)>>>0<=1&(k[j>>2]|0)==0){u=Vj(49076)|0;k[h>>2]=u;u=k[h>>2]|0;r=t;return u|0}do if(k[(k[i>>2]|0)+44>>2]|0){k[s>>2]=k[(k[i>>2]|0)+44>>2];g=23}else{if(((k[n>>2]|0)!=0?(Cr(k[i>>2]|0)|0)!=0:0)?(u=Hs(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;if((k[n>>2]|0)!=0&(k[o>>2]|0)==0){k[f>>2]=0;c=k[(k[i>>2]|0)+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=BR((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;u=jL(c,u,L,k[(k[i>>2]|0)+160>>2]|0,f)|0;k[s>>2]=u;if((k[s>>2]|0)==0&(k[f>>2]|0)!=0){if((l[(k[i>>2]|0)+17>>0]|0|0)>1){u=hs(k[i>>2]|0,k[j>>2]|0)|0;k[q>>2]=u}d=k[i>>2]|0;if(!(k[q>>2]|0)){u=SM(d,k[j>>2]|0,k[f>>2]|0,q)|0;k[s>>2]=u}else{c=k[d+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=BR((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Ms(c,u,L,k[f>>2]|0)|0}if(k[q>>2]|0){k[k[m>>2]>>2]=k[q>>2];k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}}if(k[s>>2]|0)break}u=ms(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,3)|0;k[e>>2]=u;if(!(k[e>>2]|0)){u=TM(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,e)|0;k[s>>2]=u;if(k[s>>2]|0)break;if(!(k[e>>2]|0)){k[k[m>>2]>>2]=0;k[q>>2]=0;k[s>>2]=7;break}}g=ns(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,k[e>>2]|0)|0;k[k[m>>2]>>2]=g;k[q>>2]=g;g=23}while(0);do if((g|0)==23){if(k[s>>2]|0){k[q>>2]=0;break}d=k[i>>2]|0;if(!((k[p>>2]|0)!=0?1:(k[(k[q>>2]|0)+16>>2]|0)==0)){u=d+192|0;k[u>>2]=(k[u>>2]|0)+1;k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}k[(k[q>>2]|0)+16>>2]=d;if((k[j>>2]|0)>>>0<=2147483647?(k[j>>2]|0)!=(((k[381]|0)/(k[(k[i>>2]|0)+160>>2]|0)|0)+1|0):0){if(((l[(k[i>>2]|0)+16>>0]|0|0)==0?!((k[p>>2]|0)!=0?1:(k[(k[i>>2]|0)+28>>2]|0)>>>0<(k[j>>2]|0)>>>0):0)?(k[k[(k[i>>2]|0)+64>>2]>>2]|0)!=0:0){u=(Cr(k[i>>2]|0)|0)!=0;if(u&(k[n>>2]|0)==0?(u=Hs(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;u=(k[i>>2]|0)+192+4|0;k[u>>2]=(k[u>>2]|0)+1;u=Is(k[q>>2]|0,k[o>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0)break}else{if((k[j>>2]|0)>>>0>(k[(k[i>>2]|0)+164>>2]|0)>>>0){k[s>>2]=13;break}if(k[p>>2]|0){ak();if((k[j>>2]|0)>>>0<=(k[(k[i>>2]|0)+32>>2]|0)>>>0)qj(k[(k[i>>2]|0)+60>>2]|0,k[j>>2]|0)|0;Rt(k[i>>2]|0,k[j>>2]|0)|0;bk()}uR(k[(k[q>>2]|0)+4>>2]|0,0,k[(k[i>>2]|0)+160>>2]|0)|0}k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}u=Vj(49165)|0;k[s>>2]=u}while(0);if(k[q>>2]|0)Gs(k[q>>2]|0);Ls(k[i>>2]|0);k[k[m>>2]>>2]=0;k[h>>2]=k[s>>2];u=k[h>>2]|0;r=t;return u|0}function Dg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+4>>2]|0}function Eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+80|0;e=w+68|0;x=w+64|0;f=w+60|0;g=w+56|0;p=w+52|0;o=w+48|0;n=w+44|0;m=w+40|0;j=w+8|0;v=w+36|0;l=w;q=w+32|0;h=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;k[e>>2]=a;k[x>>2]=b;k[f>>2]=c;k[g>>2]=d;a=Yf(k[(k[e>>2]|0)+4>>2]|0)|0;k[p>>2]=a;a=zg(k[(k[e>>2]|0)+24>>2]|0)|0;k[o>>2]=a;a=zg(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=a;k[m>>2]=(k[o>>2]|0)<(k[n>>2]|0)?k[o>>2]|0:k[n>>2]|0;a=k[o>>2]|0;a=BR(k[x>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=j;k[c>>2]=a;k[c+4>>2]=L;k[v>>2]=0;if((k[o>>2]|0)!=(k[n>>2]|0)?(NJ(k[p>>2]|0)|0)!=0:0)k[v>>2]=8;x=j;c=k[o>>2]|0;c=pR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L;while(1){if(k[v>>2]|0){e=14;break}c=l;b=k[c+4>>2]|0;x=j;a=k[x+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0<(k[x>>2]|0)>>>0:0))){e=14;break}k[q>>2]=0;c=l;x=k[n>>2]|0;x=zR(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;k[h>>2]=x+1;if((k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Cg(k[p>>2]|0,k[h>>2]|0,q,0)|0;k[v>>2]=x;if((0==(x|0)?(x=Ng(k[q>>2]|0)|0,k[v>>2]=x,0==(x|0)):0)?(x=l,c=k[o>>2]|0,c=AR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,k[t>>2]=(k[f>>2]|0)+c,c=Dg(k[q>>2]|0)|0,k[s>>2]=c,c=l,x=k[n>>2]|0,x=AR(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,k[u>>2]=(k[s>>2]|0)+x,sR(k[u>>2]|0,k[t>>2]|0,k[m>>2]|0)|0,x=St(k[q>>2]|0)|0,i[x>>0]=0,x=l,(k[x>>2]|0)==0&(k[x+4>>2]|0)==0&(k[g>>2]|0)==0):0){x=(k[u>>2]|0)+28|0;ft(x,Bg(k[(k[e>>2]|0)+24>>2]|0)|0)}Fg(k[q>>2]|0)}c=k[n>>2]|0;x=l;c=qR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L}if((e|0)==14){r=w;return k[v>>2]|0}return 0}function Fg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Js(k[b>>2]|0);r=c;return}function Gg(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Vg(Yf(k[(k[c>>2]|0)+24>>2]|0)|0)|0;k[d>>2]=a;k[(k[c>>2]|0)+44>>2]=k[k[d>>2]>>2];k[k[d>>2]>>2]=k[c>>2];k[(k[c>>2]|0)+40>>2]=1;r=b;return}function Hg(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;ug(k[d>>2]|0);k[(k[(k[d>>2]|0)+4>>2]|0)+44>>2]=0;a=dM(k[(k[d>>2]|0)+4>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Ig(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,l=0;j=r;r=r+32|0;l=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[l>>2]|0)+4>>2];ug(k[l>>2]|0);k[g>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];a=Ng(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){l=k[h>>2]|0;r=j;return l|0}ft((k[g>>2]|0)+(36+(k[d>>2]<<2))|0,k[e>>2]|0);if((k[d>>2]|0)!=7){l=k[h>>2]|0;r=j;return l|0}i[(k[f>>2]|0)+18>>0]=k[e>>2];l=k[h>>2]|0;r=j;return l|0}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;Xf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(k[(k[d>>2]|0)+12>>2]|0)Dj(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=(k[c>>2]|0)+1}d=(k[b>>2]|0)+24|0;k[d>>2]=k[d>>2]&-3;tu(k[b>>2]|0);wB(k[b>>2]|0);r=e;return}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;if((k[d>>2]|0)==1){a=(k[f>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|16}a=wg(k[c>>2]|0,0)|0;k[g>>2]=a;do if(!(k[g>>2]|0)){k[e>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];if((l[(k[e>>2]|0)+18>>0]|0|0)==(k[d>>2]&255|0)?(l[(k[e>>2]|0)+19>>0]|0|0)==(k[d>>2]&255|0):0)break;a=wg(k[c>>2]|0,2)|0;k[g>>2]=a;if((k[g>>2]|0)==0?(a=Ng(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){i[(k[e>>2]|0)+18>>0]=k[d>>2];i[(k[e>>2]|0)+19>>0]=k[d>>2]}}while(0);a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;r=h;return k[g>>2]|0}function Lg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+64>>2]|0}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+28>>2];r=c;return}function Ng(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(k[(k[d>>2]|0)+44>>2]|0){k[c>>2]=k[(k[d>>2]|0)+44>>2];d=k[c>>2]|0;r=e;return d|0}if(((m[(k[b>>2]|0)+24>>1]|0)&4|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)>>>0>=(k[(k[b>>2]|0)+20>>2]|0)>>>0:0)if(k[(k[d>>2]|0)+104>>2]|0){d=vt(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}b=k[b>>2]|0;if((k[(k[d>>2]|0)+156>>2]|0)>>>0>(k[(k[d>>2]|0)+160>>2]|0)>>>0){d=NM(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{d=OM(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}return 0}function Og(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,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;n=o+12|0;j=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=0;c=k[e>>2]|0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[c+44>>2];n=k[d>>2]|0;r=o;return n|0}if((l[c+17>>0]|0)<3){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}c=k[e>>2]|0;do if(!(i[(k[e>>2]|0)+16>>0]|0)){b=(Cr(c)|0)!=0;c=k[e>>2]|0;if(b){h=As(k[c+212>>2]|0)|0;k[j>>2]=h;k[m>>2]=0;if(!(k[j>>2]|0)){h=Cg(k[e>>2]|0,1,m,0)|0;k[n>>2]=h;k[j>>2]=k[m>>2];k[(k[j>>2]|0)+12>>2]=0}if(k[j>>2]|0){j=wt(k[e>>2]|0,k[j>>2]|0,k[(k[e>>2]|0)+28>>2]|0,1)|0;k[n>>2]=j}Fg(k[m>>2]|0);if(k[n>>2]|0)break;Br(k[(k[e>>2]|0)+212>>2]|0);break}m=LM(c,0)|0;k[n>>2]=m;if((((k[n>>2]|0)==0?(m=MM(k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=xt(k[e>>2]|0,0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=k[e>>2]|0,m=yt(m,As(k[(k[e>>2]|0)+212>>2]|0)|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0){Br(k[(k[e>>2]|0)+212>>2]|0);if((k[(k[e>>2]|0)+28>>2]|0)>>>0>(k[(k[e>>2]|0)+36>>2]|0)>>>0){k[h>>2]=(k[(k[e>>2]|0)+28>>2]|0)-((k[(k[e>>2]|0)+28>>2]|0)==(((k[381]|0)/(k[(k[e>>2]|0)+160>>2]|0)|0)+1|0)&1);m=Er(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;if((k[n>>2]|0)!=0|(k[g>>2]|0)!=0)break}else if(k[g>>2]|0)break;m=Rg(k[e>>2]|0,k[f>>2]|0)|0;k[n>>2]=m}}else ij(k[c+96>>2]|0);while(0);if((k[n>>2]|0)==0?(Cr(k[e>>2]|0)|0)==0:0)i[(k[e>>2]|0)+17>>0]=5;k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Pg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+12>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+20|0;e=h+8|0;f=h;g=h+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=aj(k[d>>2]|0,f)|0;k[g>>2]=a;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}b=k[f+4>>2]|0;a=e;c=k[a+4>>2]|0;if(!((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){g=k[g>>2]|0;r=h;return g|0}a=e;a=xr(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(k[k[(k[c>>2]|0)+64>>2]>>2]|0){k[e>>2]=k[d>>2];b=Fi(k[(k[c>>2]|0)+64>>2]|0,21,k[e>>2]|0)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==12?0:b}if(k[f>>2]|0){b=k[f>>2]|0;r=g;return b|0}if(i[(k[c>>2]|0)+7>>0]|0){b=k[f>>2]|0;r=g;return b|0}b=yr(k[(k[c>>2]|0)+64>>2]|0,l[(k[c>>2]|0)+12>>0]|0)|0;k[f>>2]=b;b=k[f>>2]|0;r=g;return b|0}function Sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+28>>2]=k[e>>2];r=c;return}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(l[(k[d>>2]|0)+8>>0]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}ug(k[d>>2]|0);do if((l[(k[d>>2]|0)+8>>0]|0|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];a=KM(k[k[f>>2]>>2]|0)|0;k[g>>2]=a;if(!((k[g>>2]|0)!=0&(k[e>>2]|0)==0)){g=(k[d>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+-1;i[(k[f>>2]|0)+20>>0]=1;FM(k[f>>2]|0);break}k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}while(0);GM(k[d>>2]|0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((l[(k[d>>2]|0)+8>>0]|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];ug(k[d>>2]|0);if((i[(k[f>>2]|0)+17>>0]|0)!=0?(b=JM(k[f>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}if(i[(k[f>>2]|0)+19>>0]|0)Sg(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+44>>2]|0);b=Og(k[k[f>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b}k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}function Vg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+96|0}function Wg(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,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;n=p+8|0;o=p+4|0;g=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];ug(k[d>>2]|0);if(!(k[e>>2]|0)){c=xH(k[h>>2]|0,0,0)|0;k[e>>2]=c;k[m>>2]=c;if(k[m>>2]|0)k[f>>2]=0}else k[m>>2]=0;if((k[e>>2]|0)!=0?(c=yI(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=c,(k[n>>2]|0)!=0):0)k[m>>2]=k[n>>2];if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){c=k[d>>2]|0;GM(c);c=k[m>>2]|0;r=p;return c|0}c=tr(k[k[h>>2]>>2]|0)|0;k[o>>2]=c;if(k[o>>2]|0)k[m>>2]=k[o>>2];if(!(xF(k[h>>2]|0,1,j,0)|0)){c=jr((k[(k[j>>2]|0)+56>>2]|0)+28|0)|0;k[g>>2]=c;if(!(k[g>>2]|0))Mg(k[k[h>>2]>>2]|0,g);k[(k[h>>2]|0)+44>>2]=k[g>>2];AB(k[j>>2]|0)}i[(k[h>>2]|0)+20>>0]=1;FM(k[h>>2]|0);c=k[d>>2]|0;GM(c);c=k[m>>2]|0;r=p;return c|0}function Xg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;b=m+32|0;c=m+28|0;d=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;e=m+8|0;f=m+4|0;j=m;k[b>>2]=a;if((k[(k[b>>2]|0)+76>>2]|0)!=1691352191){r=m;return}if(ou(k[b>>2]|0)|0){r=m;return}AI(k[b>>2]|0,0);BI(k[b>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(vB(k[(k[g>>2]|0)+4>>2]|0)|0,k[(k[g>>2]|0)+4>>2]=0,(k[d>>2]|0)!=1):0)k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=(k[d>>2]|0)+1}if(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0)Dj(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);tu(k[b>>2]|0);wB(k[b>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=23)break;k[e>>2]=k[(k[b>>2]|0)+340+(k[d>>2]<<2)>>2];while(1){if(!(k[e>>2]|0))break;k[h>>2]=k[(k[e>>2]|0)+24>>2];while(1){if(!(k[e>>2]|0))break;lu(k[b>>2]|0,k[e>>2]|0);k[l>>2]=k[(k[e>>2]|0)+8>>2];ag(k[b>>2]|0,k[e>>2]|0);k[e>>2]=k[l>>2]}k[e>>2]=k[h>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=k[(k[b>>2]|0)+432+8>>2];while(1){if(!(k[c>>2]|0))break;k[f>>2]=k[(k[c>>2]|0)+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3)break;if(k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0)_b[k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]&255](k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}ag(k[b>>2]|0,k[f>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Fj((k[b>>2]|0)+432|0);k[c>>2]=k[(k[b>>2]|0)+312+8>>2];while(1){if(!(k[c>>2]|0))break;k[j>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[j>>2]|0)+12>>2]|0)_b[k[(k[j>>2]|0)+12>>2]&255](k[(k[j>>2]|0)+8>>2]|0);LH(k[b>>2]|0,k[j>>2]|0);ag(k[b>>2]|0,k[j>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Fj((k[b>>2]|0)+312|0);tg(k[b>>2]|0,0);jh(k[(k[b>>2]|0)+236>>2]|0);k[(k[b>>2]|0)+76>>2]=-1254786768;ag(k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);k[(k[b>>2]|0)+76>>2]=-1623446221;if(i[(k[b>>2]|0)+248+6>>0]|0)Ud(k[(k[b>>2]|0)+248+32>>2]|0);Ud(k[b>>2]|0);r=m;return}function Yg(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+8|0;d=c+4|0;k[d>>2]=a;if(!(k[k[d>>2]>>2]|0)){$d(21,45447,c);k[b>>2]=1;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=0;d=k[b>>2]|0;r=c;return d|0}return 0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;e=c+12|0;d=c+8|0;g=c;k[e>>2]=a;k[d>>2]=b;SH(k[k[e>>2]>>2]|0,g)|0;f=k[(k[e>>2]|0)+184>>2]|0;e=k[(k[e>>2]|0)+188>>2]|0;a=k[(k[d>>2]|0)+168>>2]|0;b=(k[d>>2]|0)+128|0;b=pR(k[g>>2]|0,k[g+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=BR(b|0,L|0,1e6,0)|0;ic[f&255](e,a,b,L);b=(k[d>>2]|0)+128|0;k[b>>2]=0;k[b+4>>2]=0;r=c;return}function _g(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!((k[(k[b>>2]|0)+40>>2]|0)!=-1108210269?(k[(k[b>>2]|0)+40>>2]|0)!=1369188723:0)){a=ah(k[b>>2]|0)|0;k[c>>2]=a}bv(k[b>>2]|0);r=d;return k[c>>2]|0}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)==3082?1:(l[(k[d>>2]|0)+65>>0]|0|0)!=0){b=EM(k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}else{k[c>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];b=k[c>>2]|0;r=f;return b|0}return 0}function ah(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];bI(k[b>>2]|0)|0;a=k[b>>2]|0;if((k[(k[b>>2]|0)+76>>2]|0)>=0){WH(a)|0;ag(k[c>>2]|0,k[(k[b>>2]|0)+44>>2]|0);k[(k[b>>2]|0)+44>>2]=0;if((m[(k[b>>2]|0)+88>>1]|0)>>>4&1){d=(k[b>>2]|0)+88|0;j[d>>1]=j[d>>1]&-9|8}}else if((k[a+80>>2]|0)!=0?((m[(k[b>>2]|0)+88>>1]|0)>>>3&1|0)!=0:0){g=k[c>>2]|0;f=k[(k[b>>2]|0)+80>>2]|0;a=(k[(k[b>>2]|0)+44>>2]|0)!=0?19255:0;k[d>>2]=k[(k[b>>2]|0)+44>>2];rg(g,f,a,d);ag(k[c>>2]|0,k[(k[b>>2]|0)+44>>2]|0);k[(k[b>>2]|0)+44>>2]=0}DM(k[b>>2]|0);g=(k[b>>2]|0)+136|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[b>>2]|0)+40>>2]=649915045;r=e;return k[(k[b>>2]|0)+80>>2]&k[(k[c>>2]|0)+56>>2]|0}function bh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+40>>2]=-1108210269;k[(k[c>>2]|0)+76>>2]=-1;k[(k[c>>2]|0)+80>>2]=0;i[(k[c>>2]|0)+86>>0]=2;k[(k[c>>2]|0)+92>>2]=0;k[(k[c>>2]|0)+72>>2]=1;i[(k[c>>2]|0)+87>>0]=-1;k[(k[c>>2]|0)+104>>2]=0;a=(k[c>>2]|0)+144|0;k[a>>2]=0;k[a+4>>2]=0;r=b;return}function ch(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((m[(k[b>>2]|0)+8>>1]|0)&9312|0)==0?(k[(k[b>>2]|0)+24>>2]|0)==0:0){r=c;return}CM(k[b>>2]|0);r=c;return}function dh(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if((m[(k[c>>2]|0)+8>>1]|0)&16384){a=(k[(k[c>>2]|0)+12>>2]|0)+(k[k[c>>2]>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[d>>2]|0)<=0?1:a;if(!(Ex(k[c>>2]|0,k[d>>2]|0,1)|0)){uR((k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0,0,k[k[c>>2]>>2]|0)|0;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+(k[k[c>>2]>>2]|0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-16897;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;do if(k[d>>2]|0){if(((m[(k[d>>2]|0)+8>>1]|0)&514|0)==514?(l[(k[d>>2]|0)+10>>0]|0|0)==(l[e>>0]|0|0):0){k[c>>2]=k[(k[d>>2]|0)+16>>2];break}if((m[(k[d>>2]|0)+8>>1]|0)&1){k[c>>2]=0;break}else{a=BM(k[d>>2]|0,i[e>>0]|0)|0;k[c>>2]=a;break}}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;c=g+4|0;d=g+12|0;f=g;k[c>>2]=a;i[d>>0]=b;k[f>>2]=k[c>>2];if(((m[(k[f>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[c>>2]|0)+10>>0]|0|0)==(l[d>>0]|0|0):0){k[e>>2]=k[(k[f>>2]|0)+12>>2];f=k[e>>2]|0;r=g;return f|0}a=m[(k[f>>2]|0)+8>>1]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16){b=k[(k[f>>2]|0)+12>>2]|0;if(a&16384){k[e>>2]=b+(k[k[f>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{k[e>>2]=b;f=k[e>>2]|0;r=g;return f|0}}else if(a&1){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}else{f=AM(k[c>>2]|0,i[d>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;r=g;return f|0}return 0}function gh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;f=r;r=r+32|0;c=f+8|0;d=f+16|0;e=f;k[d>>2]=a;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&8){p[c>>3]=+p[b>>3];g=+p[c>>3];r=f;return +g}a=k[d>>2]|0;if((m[b+8>>1]|0)&4){e=a;p[c>>3]=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);g=+p[c>>3];r=f;return +g}if((m[a+8>>1]|0)&18){p[e>>3]=0.0;Uy(k[(k[d>>2]|0)+16>>2]|0,e,k[(k[d>>2]|0)+12>>2]|0,i[(k[d>>2]|0)+10>>0]|0)|0;p[c>>3]=+p[e>>3];g=+p[c>>3];r=f;return +g}else{p[c>>3]=0.0;g=+p[c>>3];r=f;return +g}return 0.0}function hh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+8|0;c=f+20|0;d=f+16|0;e=f;k[c>>2]=a;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(!(k[d>>2]&4)){if(k[d>>2]&8){a=Ax(+p[k[c>>2]>>3])|0;e=b;k[e>>2]=a;k[e+4>>2]=L;break}if(k[d>>2]&18){d=e;k[d>>2]=0;k[d+4>>2]=0;Ri(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0;d=e;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a;break}else{e=b;k[e>>2]=0;k[e+4>>2]=0;break}}else{d=k[c>>2]|0;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a}while(0);e=b;L=k[e+4>>2]|0;r=f;return k[e>>2]|0}function ih(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&16384)dh(k[c>>2]|0)|0;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(k[d>>2]&18){if((k[(k[c>>2]|0)+24>>2]|0)!=0?(k[(k[c>>2]|0)+16>>2]|0)==(k[(k[c>>2]|0)+20>>2]|0):0)break;if(!(Ex(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0)){i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-4097;k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function jh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}ch(k[b>>2]|0);ag(k[(k[b>>2]|0)+32>>2]|0,k[b>>2]|0);r=c;return}function kh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;g=r;r=r+32|0;f=g+12|0;m=g+8|0;l=g+4|0;j=g+16|0;h=g;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;i[j>>0]=d;k[h>>2]=e;if((nh(k[k[f>>2]>>2]|0,k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,k[h>>2]|0)|0)!=18){r=g;return}Ce(k[f>>2]|0);r=g;return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((k[e>>2]|0)==0|(k[e>>2]|0)==(-1|0)))_b[k[e>>2]&255](k[d>>2]|0);if(!(k[f>>2]|0)){r=g;return 18}Ce(k[f>>2]|0);r=g;return 18}function mh(a,b){a=a|0;b=+b;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=b;ph(k[c>>2]|0);if(RF(+p[d>>3])|0){r=e;return}p[k[c>>2]>>3]=+p[d>>3];j[(k[c>>2]|0)+8>>1]=8;r=e;return}function nh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+28|0;n=u+24|0;f=u+20|0;v=u+16|0;o=u+34|0;p=u+12|0;t=u+8|0;s=u+4|0;q=u+32|0;g=u;k[n>>2]=a;k[f>>2]=b;k[v>>2]=c;i[o>>0]=d;k[p>>2]=e;k[t>>2]=k[v>>2];j[q>>1]=0;d=k[n>>2]|0;if(!(k[f>>2]|0)){ph(d);k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}if(k[d+32>>2]|0)k[s>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+88>>2];else k[s>>2]=1e9;j[q>>1]=(l[o>>0]|0)==0?16:2;if((k[t>>2]|0)<0){a:do if((l[o>>0]|0)==1){v=Sf(k[f>>2]|0)|0;k[t>>2]=v;if((k[t>>2]|0)>(k[s>>2]|0))k[t>>2]=(k[s>>2]|0)+1}else{k[t>>2]=0;while(1){if((k[t>>2]|0)>(k[s>>2]|0))break a;if(!(i[(k[f>>2]|0)+(k[t>>2]|0)>>0]|i[(k[f>>2]|0)+((k[t>>2]|0)+1)>>0]))break a;k[t>>2]=(k[t>>2]|0)+2}}while(0);j[q>>1]=m[q>>1]|512}do if((k[p>>2]|0)!=(-1|0)){v=(k[p>>2]|0)==170;ch(k[n>>2]|0);d=k[f>>2]|0;k[(k[n>>2]|0)+16>>2]=d;if(v){k[(k[n>>2]|0)+20>>2]=d;v=ju(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=v;break}else{k[(k[n>>2]|0)+36>>2]=k[p>>2];j[q>>1]=m[q>>1]|((k[p>>2]|0)==0?2048:1024);break}}else{k[g>>2]=k[t>>2];if(m[q>>1]&512)k[g>>2]=(k[g>>2]|0)+((l[o>>0]|0)==1?1:2);if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}if(!(Dx(k[n>>2]|0,(k[g>>2]|0)>32?k[g>>2]|0:32)|0)){sR(k[(k[n>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;break}k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}while(0);k[(k[n>>2]|0)+12>>2]=k[t>>2];j[(k[n>>2]|0)+8>>1]=j[q>>1]|0;i[(k[n>>2]|0)+10>>0]=(l[o>>0]|0)==0?1:l[o>>0]|0;if((l[(k[n>>2]|0)+10>>0]|0)!=1?(zM(k[n>>2]|0)|0)!=0:0){k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}else{k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}return 0}function oh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((m[(k[d>>2]|0)+8>>1]|0)&9312){a=e;yM(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=f;return}else{c=e;e=k[c+4>>2]|0;a=k[d>>2]|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;j[(k[d>>2]|0)+8>>1]=4;r=f;return}}function ph(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if((m[(k[c>>2]|0)+8>>1]|0)&9312){NF(a);r=b;return}else{j[a+8>>1]=1;r=b;return}}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((m[(k[c>>2]|0)+8>>1]|0)&9312)NF(k[c>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-1025;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){e=k[e>>2]|0;r=f;return e|0}if((m[(k[d>>2]|0)+8>>1]|0)&2048){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|4096;a=ih(k[c>>2]|0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;ch(k[c>>2]|0);j[(k[c>>2]|0)+8>>1]=16400;k[(k[c>>2]|0)+12>>2]=0;if((k[d>>2]|0)<0)k[d>>2]=0;k[k[c>>2]>>2]=k[d>>2];i[(k[c>>2]|0)+10>>0]=1;k[(k[c>>2]|0)+16>>2]=0;r=e;return}function sh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=44821;if((k[b>>2]|0)!=516){k[b>>2]=k[b>>2]&255;if((k[b>>2]|0)>=0&(k[b>>2]|0)<27?(k[7072+(k[b>>2]<<2)>>2]|0)!=0:0)k[c>>2]=k[7072+(k[b>>2]<<2)>>2]}else k[c>>2]=44835;r=d;return k[c>>2]|0}function th(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+65>>0]|0){r=c;return}if(l[(k[b>>2]|0)+66>>0]|0){r=c;return}i[(k[b>>2]|0)+65>>0]=1;if((k[(k[b>>2]|0)+160>>2]|0)>0)k[(k[b>>2]|0)+240>>2]=1;a=(k[b>>2]|0)+248|0;k[a>>2]=(k[a>>2]|0)+1;r=c;return}function uh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;k[c>>2]=a;if(!(k[c>>2]|0)){$d(21,44781,d);k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}else{a=Yg(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function vh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;if((k[(k[c>>2]|0)+40>>2]|0)!=-1108210269)he(k[c>>2]|0)|0;k[d>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;if(i[(k[d>>2]|0)+65>>0]|0){k[a+80>>2]=7;k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}if((k[a+76>>2]|0)<=0?((m[(k[c>>2]|0)+88>>1]|0)>>>3&1|0)!=0:0){k[(k[c>>2]|0)+80>>2]=17;k[e>>2]=1}else{if((k[(k[c>>2]|0)+76>>2]|0)<0){if(!(k[(k[d>>2]|0)+148>>2]|0))k[(k[d>>2]|0)+240>>2]=0;if(((k[(k[d>>2]|0)+184>>2]|0)!=0?(i[(k[d>>2]|0)+140+5>>0]|0)==0:0)?(k[(k[c>>2]|0)+168>>2]|0)!=0:0)SH(k[k[d>>2]>>2]|0,(k[c>>2]|0)+128|0)|0;a=(k[d>>2]|0)+148|0;k[a>>2]=(k[a>>2]|0)+1;if(!((m[(k[c>>2]|0)+88>>1]|0)>>>6&1)){a=(k[d>>2]|0)+156|0;k[a>>2]=(k[a>>2]|0)+1}if((m[(k[c>>2]|0)+88>>1]|0)>>>7&1){a=(k[d>>2]|0)+152|0;k[a>>2]=(k[a>>2]|0)+1}k[(k[c>>2]|0)+76>>2]=0}if(j[(k[c>>2]|0)+88>>1]&3){a=TH(k[c>>2]|0)|0;k[e>>2]=a}else{a=(k[d>>2]|0)+160|0;k[a>>2]=(k[a>>2]|0)+1;a=UH(k[c>>2]|0)|0;k[e>>2]=a;a=(k[d>>2]|0)+160|0;k[a>>2]=(k[a>>2]|0)+-1}if((k[e>>2]|0)!=100?(a=(k[c>>2]|0)+128|0,g=k[a+4>>2]|0,(g|0)>0|(g|0)==0&(k[a>>2]|0)>>>0>0):0)Zg(k[d>>2]|0,k[c>>2]|0);if((k[e>>2]|0)==101?(g=VH(k[d>>2]|0)|0,k[(k[c>>2]|0)+80>>2]=g,(k[(k[c>>2]|0)+80>>2]|0)!=0):0)k[e>>2]=1;k[(k[d>>2]|0)+52>>2]=k[e>>2];if(7==($g(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+80>>2]|0)|0))k[(k[c>>2]|0)+80>>2]=7}if(((k[e>>2]|0)!=100?((m[(k[c>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0)&(k[e>>2]|0)!=101){g=WH(k[c>>2]|0)|0;k[e>>2]=g}k[b>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];g=k[b>>2]|0;r=f;return g|0}function wh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+20|0;c=g+16|0;f=g+12|0;e=g+8|0;h=g+4|0;d=g;k[c>>2]=a;a=fe(k[c>>2]|0)|0;k[h>>2]=a;a=GA(k[c>>2]|0)|0;k[d>>2]=a;a=$h(k[d>>2]|0,k[h>>2]|0,-1,0,k[c>>2]|0,e,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){QH(k[e>>2]|0,k[c>>2]|0);Gh(k[e>>2]|0,k[c>>2]|0)|0;RH(k[e>>2]|0);_g(k[e>>2]|0)|0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}if((k[f>>2]|0)==7)th(k[d>>2]|0);k[b>>2]=k[f>>2];h=k[b>>2]|0;r=g;return h|0}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}b=(Sf(k[e>>2]|0)|0)+1|0;k[f>>2]=b;b=k[f>>2]|0;b=Ih(k[d>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(k[g>>2]|0)sR(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[e>>2]|0;if((k[d>>2]|0)>0){Dx(b,k[d>>2]|0)|0;j[(k[e>>2]|0)+8>>1]=8192;k[k[e>>2]>>2]=k[(k[c>>2]|0)+4>>2];if(k[(k[e>>2]|0)+16>>2]|0)uR(k[(k[e>>2]|0)+16>>2]|0,0,k[d>>2]|0)|0}else{ph(b);k[(k[e>>2]|0)+16>>2]=0}r=f;return k[(k[e>>2]|0)+16>>2]|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;a=d;a=Ih(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}uR(k[e>>2]|0,0,k[d>>2]|0)|0;g=k[e>>2]|0;r=f;return g|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];if(((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)!=0:0)?((k[c>>2]|0)>=0?(k[c>>2]|0)<(m[(k[e>>2]|0)+84>>1]|0|0):0):0){k[d>>2]=(k[(k[e>>2]|0)+20>>2]|0)+((k[c>>2]|0)*40|0);g=k[d>>2]|0;r=f;return g|0}if((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0)tg(k[k[e>>2]>>2]|0,25);g=PH()|0;k[d>>2]=g;g=k[d>>2]|0;r=f;return g|0}function Bh(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){r=c;return}d=$g(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+80>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=d;r=c;return}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;m=n+12|0;l=n+8|0;j=n+4|0;h=n;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[m>>2]=0;k[l>>2]=k[o>>2];k[h>>2]=k[k[l>>2]>>2];c=Ie(k[o>>2]|0)|0;k[j>>2]=c;if(!((k[e>>2]|0)>=0?(k[e>>2]|0)<(k[j>>2]|0):0)){o=k[m>>2]|0;r=n;return o|0}o=ha(k[g>>2]|0,k[j>>2]|0)|0;k[e>>2]=(k[e>>2]|0)+o;o=bc[k[f>>2]&255]((k[(k[l>>2]|0)+16>>2]|0)+((k[e>>2]|0)*40|0)|0)|0;k[m>>2]=o;if(!(i[(k[h>>2]|0)+65>>0]|0)){o=k[m>>2]|0;r=n;return o|0}vi(k[h>>2]|0);k[m>>2]=0;o=k[m>>2]|0;r=n;return o|0}function Dh(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;m=s+12|0;n=s+32|0;o=s+8|0;p=s+4|0;q=s;k[t>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=e;i[n>>0]=f;k[o>>2]=k[t>>2];c=Eh(k[o>>2]|0,k[g>>2]|0)|0;k[q>>2]=c;if(k[q>>2]|0){if(!((k[m>>2]|0)!=0&(k[m>>2]|0)!=(-1|0))){t=k[q>>2]|0;r=s;return t|0}_b[k[m>>2]&255](k[h>>2]|0);t=k[q>>2]|0;r=s;return t|0}if(!(k[h>>2]|0)){t=k[q>>2]|0;r=s;return t|0}k[p>>2]=(k[(k[o>>2]|0)+60>>2]|0)+(((k[g>>2]|0)-1|0)*40|0);t=nh(k[p>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0)|0;k[q>>2]=t;if((k[q>>2]|0)==0?(l[n>>0]|0|0)!=0:0){t=hu(k[p>>2]|0,l[(k[k[o>>2]>>2]|0)+62>>0]|0)|0;k[q>>2]=t}tg(k[k[o>>2]>>2]|0,k[q>>2]|0);t=$g(k[k[o>>2]>>2]|0,k[q>>2]|0)|0;k[q>>2]=t;t=k[q>>2]|0;r=s;return t|0}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;k[d>>2]=a;k[e>>2]=b;if(uh(k[d>>2]|0)|0){h=Uf(73485)|0;k[c>>2]=h;h=k[c>>2]|0;r=i;return h|0}if((k[(k[d>>2]|0)+40>>2]|0)==-1108210269?(k[(k[d>>2]|0)+76>>2]|0)<0:0){if((k[e>>2]|0)>=1?(k[e>>2]|0)<=(j[(k[d>>2]|0)+68>>1]|0):0){k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[(k[d>>2]|0)+60>>2]|0)+((k[e>>2]|0)*40|0);ch(k[f>>2]|0);j[(k[f>>2]|0)+8>>1]=1;tg(k[k[d>>2]>>2]|0,0);do if((m[(k[d>>2]|0)+88>>1]|0)>>>8&1){if(!((k[e>>2]|0)<32?(k[(k[d>>2]|0)+188>>2]&1<>2]|0)!=0:0))h=12;if((h|0)==12?(k[(k[d>>2]|0)+188>>2]|0)!=-1:0)break;h=(k[d>>2]|0)+88|0;j[h>>1]=j[h>>1]&-9|8}while(0);k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}tg(k[k[d>>2]>>2]|0,25);k[c>>2]=25;h=k[c>>2]|0;r=i;return h|0}tg(k[k[d>>2]>>2]|0,21);k[g>>2]=k[(k[d>>2]|0)+168>>2];$d(21,40606,g);h=Uf(73493)|0;k[c>>2]=h;h=k[c>>2]|0;r=i;return h|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[e>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}a:do if(k[f>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+70>>1]|0))break a;k[l>>2]=k[(k[(k[e>>2]|0)+64>>2]|0)+(k[h>>2]<<2)>>2];if(((k[l>>2]|0)!=0?(MQ(k[l>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)==0:0)?(i[(k[l>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=(k[h>>2]|0)+1;b=k[d>>2]|0;r=m;return b|0}while(0);k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;d=f+8|0;e=f+4|0;c=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[e>>2]=k[g>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(j[(k[d>>2]|0)+68>>1]|0))break;OH((k[(k[e>>2]|0)+60>>2]|0)+((k[c>>2]|0)*40|0)|0,(k[(k[d>>2]|0)+60>>2]|0)+((k[c>>2]|0)*40|0)|0);k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;g=h+8|0;f=h;e=h+24|0;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+10>>0]|0;if(!(Uy(k[(k[c>>2]|0)+16>>2]|0,g,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){r=h;return}if(!(Ri(k[(k[c>>2]|0)+16>>2]|0,f,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){a=k[f+4>>2]|0;g=k[c>>2]|0;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|4;r=h;return}p[k[c>>2]>>3]=+p[g>>3];g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|8;if(!(k[d>>2]|0)){r=h;return}zx(k[c>>2]|0);r=h;return}function Ih(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0){g=f;g=Pw(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}else{a=f;a=ig(k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+16|0;o=q;h=q+52|0;j=q+48|0;e=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;g=q+28|0;f=q+24|0;k[j>>2]=a;k[e>>2]=b;k[l>>2]=c;k[m>>2]=d;if(zz(k[j>>2]|0)|0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}c=zi(k[k[j>>2]>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[g>>2]=(k[e>>2]|0)!=0?40579:40592;if(((ti(k[k[j>>2]>>2]|0,k[m>>2]|0)|0)<1?(c=xj((k[k[j>>2]>>2]|0)+312|0,k[l>>2]|0)|0,k[f>>2]=c,(k[f>>2]|0)!=0):0)?(KH(k[j>>2]|0,k[f>>2]|0)|0)!=0:0){k[h>>2]=k[(k[f>>2]|0)+16>>2];p=k[h>>2]|0;r=q;return p|0}b=k[j>>2]|0;e=k[g>>2]|0;if(k[m>>2]|0){m=k[m>>2]|0;p=k[l>>2]|0;k[o>>2]=e;k[o+4>>2]=m;k[o+8>>2]=p;Kh(b,30884,o)}else{o=k[l>>2]|0;k[p>>2]=e;k[p+4>>2]=o;Kh(b,30894,p)}i[(k[j>>2]|0)+17>>0]=1}k[h>>2]=k[n>>2];p=k[h>>2]|0;r=q;return p|0}function Kh(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;g=r;r=r+48|0;d=g+32|0;j=g+28|0;f=g+24|0;h=g+8|0;e=g;k[d>>2]=a;k[j>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[h>>2]=c;b=hx(k[e>>2]|0,k[j>>2]|0,h)|0;k[f>>2]=b;if(i[(k[e>>2]|0)+69>>0]|0){ag(k[e>>2]|0,k[f>>2]|0);r=g;return}else{j=(k[d>>2]|0)+68|0;k[j>>2]=(k[j>>2]|0)+1;ag(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);k[(k[d>>2]|0)+4>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=1;r=g;return}}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e+28|0;g=e+24|0;f=e+8|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=hx(k[h>>2]|0,k[g>>2]|0,f)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function Mh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];a=zh(k[d>>2]|0,208,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[k[e>>2]>>2]=k[d>>2];if(k[(k[d>>2]|0)+4>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+48>>2]=k[e>>2];k[(k[e>>2]|0)+52>>2]=k[(k[d>>2]|0)+4>>2];k[(k[e>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+4>>2]=k[e>>2];k[(k[e>>2]|0)+40>>2]=649915045;k[(k[e>>2]|0)+24>>2]=k[c>>2];k[b>>2]=k[e>>2];a=k[b>>2]|0;r=f;return a|0}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=-1e6;if(!(k[d>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){c=6;break}if((k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)==(k[d>>2]|0)){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){e=k[e>>2]|0;r=f;return e|0}return 0}function Oh(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,i=0,j=0,l=0,m=0,n=0,o=0;h=r;r=r+32|0;j=h+24|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;i=h+4|0;g=h;k[j>>2]=a;k[o>>2]=b;k[n>>2]=c;k[m>>2]=d;k[l>>2]=e;k[i>>2]=f;f=dx(k[j>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=f;Sh(k[j>>2]|0,k[g>>2]|0,k[i>>2]|0,-14);r=h;return k[g>>2]|0}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if(i[(k[k[c>>2]>>2]|0)+65>>0]|0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[(k[c>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=i[d>>0]|0;r=e;return}function Qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[o+12>>2]=d;if(((k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]|0)|0)>(k[(k[(k[f>>2]|0)+24>>2]|0)+88>>2]|0)?(fx(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}a=(k[(k[f>>2]|0)+4>>2]|0)+((k[(k[f>>2]|0)+32>>2]|0)*20|0)|0;k[n>>2]=a;k[m>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[g>>2]|0))break;i[k[n>>2]>>0]=i[k[h>>2]>>0]|0;k[(k[n>>2]|0)+4>>2]=i[(k[h>>2]|0)+1>>0];k[(k[n>>2]|0)+8>>2]=i[(k[h>>2]|0)+2>>0];if((l[35754+(l[k[h>>2]>>0]|0)>>0]&1|0)!=0?(i[(k[h>>2]|0)+2>>0]|0)>0:0){a=(k[n>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+32>>2]|0)}k[(k[n>>2]|0)+12>>2]=i[(k[h>>2]|0)+3>>0];i[(k[n>>2]|0)+1>>0]=0;k[(k[n>>2]|0)+16>>2]=0;i[(k[n>>2]|0)+3>>0]=0;k[j>>2]=(k[j>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+4;k[n>>2]=(k[n>>2]|0)+20}n=(k[f>>2]|0)+32|0;k[n>>2]=(k[n>>2]|0)+(k[g>>2]|0);k[e>>2]=k[m>>2];n=k[e>>2]|0;r=o;return n|0}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=(k[c>>2]|0)+96|0;k[a>>2]=k[a>>2]|1<>2];if((k[d>>2]|0)==1){r=e;return}if(!(JH(k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2]|0)|0)){r=e;return}a=(k[c>>2]|0)+100|0;k[a>>2]=k[a>>2]|1<>2];r=e;return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[j>>2]=d;k[g>>2]=k[k[e>>2]>>2];if(i[(k[g>>2]|0)+65>>0]|0){if((k[j>>2]|0)==-10){r=m;return}AA(k[g>>2]|0,k[j>>2]|0,k[h>>2]|0);r=m;return}if((k[f>>2]|0)<0)k[f>>2]=(k[(k[e>>2]|0)+32>>2]|0)-1;k[l>>2]=(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0);if((k[j>>2]|0)<0?(i[(k[l>>2]|0)+1>>0]|0)==0:0){e=k[h>>2]|0;if((k[j>>2]|0)==-14){k[(k[l>>2]|0)+16>>2]=e;i[(k[l>>2]|0)+1>>0]=-14;r=m;return}if(!e){r=m;return}k[(k[l>>2]|0)+16>>2]=k[h>>2];i[(k[l>>2]|0)+1>>0]=k[j>>2];if((k[j>>2]|0)!=-10){r=m;return}IH(k[h>>2]|0);r=m;return}HH(k[e>>2]|0,k[l>>2]|0,k[h>>2]|0,k[j>>2]|0);r=m;return}function Th(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;q=r;r=r+48|0;c=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;m=q+28|0;h=q+24|0;g=q+20|0;n=q+16|0;f=q+12|0;p=q;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[o>>2]=j[(k[d>>2]|0)+444>>1];k[m>>2]=k[(k[d>>2]|0)+76>>2];k[h>>2]=k[(k[d>>2]|0)+72>>2];k[g>>2]=k[(k[d>>2]|0)+400>>2];b=k[(k[d>>2]|0)+84>>2]|0;k[n>>2]=b;k[n>>2]=(k[n>>2]|0)==0?1:b;k[m>>2]=(k[m>>2]|0)+(k[h>>2]|0);k[f>>2]=((k[(k[c>>2]|0)+32>>2]|0)*20|0)+7&-8;k[p>>2]=(k[(k[c>>2]|0)+4>>2]|0)+(k[f>>2]|0);k[p+4>>2]=(k[(k[d>>2]|0)+92>>2]|0)-(k[f>>2]|0)&-8;if((k[p+4>>2]|0)>0)uR(k[p>>2]|0,0,k[p+4>>2]|0)|0;aF(k[c>>2]|0,g);if(l[(k[d>>2]|0)+20>>0]|0)a=(l[(k[d>>2]|0)+21>>0]|0)!=0;else a=0;b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-33|(a&1)<<5&65535;if((k[m>>2]|0)<10?(l[(k[d>>2]|0)+453>>0]|0)!=0:0)k[m>>2]=10;b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-9;do{k[p+8>>2]=0;b=GH(p,k[(k[c>>2]|0)+8>>2]|0,(k[m>>2]|0)*40|0)|0;k[(k[c>>2]|0)+8>>2]=b;b=GH(p,k[(k[c>>2]|0)+60>>2]|0,(k[o>>2]|0)*40|0)|0;k[(k[c>>2]|0)+60>>2]=b;b=GH(p,k[(k[c>>2]|0)+12>>2]|0,k[g>>2]<<2)|0;k[(k[c>>2]|0)+12>>2]=b;b=GH(p,k[(k[c>>2]|0)+56>>2]|0,k[h>>2]<<2)|0;k[(k[c>>2]|0)+56>>2]=b;b=GH(p,k[(k[c>>2]|0)+200>>2]|0,k[n>>2]|0)|0;k[(k[c>>2]|0)+200>>2]=b;if(!(k[p+8>>2]|0))break;b=k[p+8>>2]|0;b=zh(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[c>>2]|0)+172>>2]=b;k[p>>2]=b;k[p+4>>2]=k[p+8>>2]}while((i[(k[e>>2]|0)+65>>0]|0)!=0^1);k[(k[c>>2]|0)+36>>2]=k[h>>2];k[(k[c>>2]|0)+196>>2]=k[n>>2];a:do if(k[(k[c>>2]|0)+60>>2]|0){j[(k[c>>2]|0)+68>>1]=k[o>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break a;j[(k[(k[c>>2]|0)+60>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]=1;k[(k[(k[c>>2]|0)+60>>2]|0)+((k[f>>2]|0)*40|0)+32>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+1}}while(0);j[(k[c>>2]|0)+70>>1]=k[(k[d>>2]|0)+448>>2];k[(k[c>>2]|0)+64>>2]=k[(k[d>>2]|0)+476>>2];k[(k[d>>2]|0)+448>>2]=0;k[(k[d>>2]|0)+476>>2]=0;if(!(k[(k[c>>2]|0)+8>>2]|0)){o=k[d>>2]|0;o=o+453|0;o=i[o>>0]|0;o=o&255;p=k[c>>2]|0;p=p+88|0;o=o&65535;n=j[p>>1]|0;o=o&3;n=n&-4;o=n|o;j[p>>1]=o;p=k[c>>2]|0;bh(p);r=q;return}p=(k[c>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-40;k[(k[c>>2]|0)+28>>2]=k[m>>2];k[f>>2]=1;while(1){if((k[f>>2]|0)>(k[m>>2]|0))break;j[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]=128;k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*40|0)+32>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+1}o=k[d>>2]|0;o=o+453|0;o=i[o>>0]|0;o=o&255;p=k[c>>2]|0;p=p+88|0;o=o&65535;n=j[p>>1]|0;o=o&3;n=n&-4;o=n|o;j[p>>1]=o;p=k[c>>2]|0;bh(p);r=q;return}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;p=s+24|0;o=s+16|0;h=s+8|0;i=s+52|0;l=s;m=s+48|0;n=s+44|0;q=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[q>>2]=0;k[e>>2]=k[(k[i>>2]|0)+20>>2];c=l;a=k[c+4>>2]|0;d=k[(k[e>>2]|0)+60>>2]|0;k[d>>2]=k[c>>2];k[d+4>>2]=a;d=Ee(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=d;do if((k[n>>2]|0)==100){k[f>>2]=k[k[(k[e>>2]|0)+56>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+80+(k[(k[i>>2]|0)+12>>2]<<2)>>2];b=k[i>>2]|0;if((k[g>>2]|0)>>>0>=12){k[(k[i>>2]|0)+8>>2]=k[(k[f>>2]|0)+80+((k[b+12>>2]|0)+(j[(k[f>>2]|0)+12>>1]|0)<<2)>>2];h=EF(k[g>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=h;k[(k[i>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2];FH(k[(k[i>>2]|0)+16>>2]|0);break}c=k[b+24>>2]|0;if(!(k[g>>2]|0))b=40525;else b=(k[g>>2]|0)==7?40512:40517;k[h>>2]=b;h=Lh(c,40530,h)|0;k[q>>2]=h;k[n>>2]=1;ge(k[(k[i>>2]|0)+20>>2]|0)|0;k[(k[i>>2]|0)+20>>2]=0}while(0);if((k[n>>2]|0)==100){k[n>>2]=0;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}if(!(k[(k[i>>2]|0)+20>>2]|0)){p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}b=ge(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=b;k[(k[i>>2]|0)+20>>2]=0;b=k[(k[i>>2]|0)+24>>2]|0;if(!(k[n>>2]|0)){i=l;l=k[i+4>>2]|0;p=o;k[p>>2]=k[i>>2];k[p+4>>2]=l;p=Lh(b,40559,o)|0;k[q>>2]=p;k[n>>2]=1;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}else{o=mf(k[(k[i>>2]|0)+24>>2]|0)|0;k[p>>2]=o;p=Lh(b,19255,p)|0;k[q>>2]=p;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}return 0}function Vh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];ag(k[c>>2]|0,k[(k[b>>2]|0)+120>>2]|0);dv(k[c>>2]|0,k[(k[b>>2]|0)+324>>2]|0);if(k[c>>2]|0){a=(k[c>>2]|0)+248|0;k[a>>2]=(k[a>>2]|0)-(l[(k[b>>2]|0)+24>>0]|0)}i[(k[b>>2]|0)+24>>0]=0;r=d;return}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if(!(l[(k[f>>2]|0)+66>>0]|0)){k[e>>2]=4;j=k[e>>2]|0;r=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)c=eF(k[f>>2]|0)|0;else c=0;k[j>>2]=c;if(!(k[j>>2]|0)){i=rF(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=m;return j|0}function Xh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;f=q+36|0;s=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;n=q+12|0;m=q+8|0;o=q+4|0;l=q;k[s>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=k[s>>2];if(!(k[m>>2]|0)){s=Uf(81441)|0;k[f>>2]=s;s=k[f>>2]|0;r=q;return s|0}k[l>>2]=k[(k[m>>2]|0)+24>>2];k[o>>2]=k[(k[m>>2]|0)+20>>2];do if(!((k[h>>2]|0)<0|(k[i>>2]|0)<0)?(a=k[i>>2]|0,b=k[h>>2]|0,b=qR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=L,s=k[(k[m>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>s>>>0)):0){if(!(k[o>>2]|0)){k[n>>2]=4;break}EH(k[(k[m>>2]|0)+16>>2]|0);s=ec[k[j>>2]&255](k[(k[m>>2]|0)+16>>2]|0,(k[i>>2]|0)+(k[(k[m>>2]|0)+8>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[n>>2]=s;if((k[n>>2]|0)==4){_g(k[o>>2]|0)|0;k[(k[m>>2]|0)+20>>2]=0;break}else{k[(k[o>>2]|0)+80>>2]=k[n>>2];break}}else p=5;while(0);if((p|0)==5)k[n>>2]=1;tg(k[l>>2]|0,k[n>>2]|0);s=$g(k[l>>2]|0,k[n>>2]|0)|0;k[n>>2]=s;k[f>>2]=k[n>>2];s=k[f>>2]|0;r=q;return s|0}function Yh(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+4>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+88|0;j[d>>1]=j[d>>1]&-9|8;k[b>>2]=k[(k[b>>2]|0)+52>>2]}r=c;return}function Zh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;p=x+32|0;q=x+28|0;m=x+24|0;j=x+20|0;o=x+56|0;h=x+16|0;n=x+12|0;f=x+8|0;g=x+4|0;e=x;k[t>>2]=a;k[u>>2]=b;k[v>>2]=c;k[w>>2]=d;k[m>>2]=l[(k[v>>2]|0)+1>>0];k[j>>2]=l[k[v>>2]>>0];i[o>>0]=i[(k[v>>2]|0)+3>>0]|0;k[h>>2]=0;a:while(1){if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=tC(t)|0;k[p>>2]=d;if(!d){a=83;break}if((k[p>>2]|0)==(k[j>>2]|0)){a=7;break}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){b=tC(t)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=49;break a}k[h>>2]=k[t>>2];break}k[f>>2]=0;k[g>>2]=0;k[e>>2]=0;b=tC(u)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=52;break a}b=tC(t)|0;k[q>>2]=b;if((k[q>>2]|0)==94){k[e>>2]=1;b=tC(t)|0;k[q>>2]=b}if((k[q>>2]|0)==93){if((k[p>>2]|0)==93)k[g>>2]=1;b=tC(t)|0;k[q>>2]=b}while(1){d=k[q>>2]|0;if(!((k[q>>2]|0)!=0?(k[q>>2]|0)!=93:0))break;if(((d|0)==45?(l[k[t>>2]>>0]|0)!=93:0)?((k[f>>2]|0)>>>0>0?(l[k[t>>2]>>0]|0)!=0:0):0){b=tC(t)|0;k[q>>2]=b;if((k[p>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[p>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)k[g>>2]=1;k[f>>2]=0}else{if((k[p>>2]|0)==(k[q>>2]|0))k[g>>2]=1;k[f>>2]=k[q>>2]}b=tC(t)|0;k[q>>2]=b}if(!d){a=73;break a}if(!(k[g>>2]^k[e>>2])){a=73;break a}else continue a}while(0);if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=tC(u)|0;k[q>>2]=d;if((k[p>>2]|0)==(k[q>>2]|0))continue;if((l[o>>0]|0)!=0&(k[p>>2]|0)>>>0<128&(k[q>>2]|0)>>>0<128?(l[18477+(k[p>>2]&255)>>0]|0)==(l[18477+(k[q>>2]&255)>>0]|0):0)continue;if((k[p>>2]|0)!=(k[m>>2]|0)){a=82;break}if(!((k[q>>2]|0)!=0?(k[t>>2]|0)!=(k[h>>2]|0):0)){a=82;break}}if((a|0)==7){while(1){a=0;if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=tC(t)|0;k[p>>2]=d;if((d|0)==(k[j>>2]|0))d=1;else d=(k[p>>2]|0)==(k[m>>2]|0);c=k[p>>2]|0;if(!d)break;if((c|0)!=(k[m>>2]|0)){a=7;continue}if(!(tC(u)|0)){a=15;break}else a=7}if((a|0)==15){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}if(!c){k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){m=tC(t)|0;k[p>>2]=m;if(k[p>>2]|0)break;k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}b:while(1){if(l[k[u>>2]>>0]|0)d=(Zh((k[t>>2]|0)+-1|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)==0;else d=0;c=k[u>>2]|0;if(!d)break;k[u>>2]=c+1;if((l[c>>0]|0)<192)continue;while(1){if((l[k[u>>2]>>0]&192|0)!=128)continue b;k[u>>2]=(k[u>>2]|0)+1}}k[s>>2]=(l[c>>0]|0)!=0&1;w=k[s>>2]|0;r=x;return w|0}while(0);c:do if((k[p>>2]|0)>>>0<=128){d=k[p>>2]|0;if(i[o>>0]|0){k[n>>2]=d&~(l[19267+(k[p>>2]&255)>>0]&32);k[p>>2]=l[18477+(k[p>>2]&255)>>0]}else k[n>>2]=d;while(1){o=k[u>>2]|0;k[u>>2]=o+1;o=l[o>>0]|0;k[q>>2]=o;if(!o)break c;if((k[q>>2]|0)!=(k[p>>2]|0)?(k[q>>2]|0)!=(k[n>>2]|0):0)continue;if(Zh(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}else{while(1){if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=tC(u)|0;k[q>>2]=d;if(!d)break c;if((k[q>>2]|0)!=(k[p>>2]|0))continue;if(Zh(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}while(0);k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==49){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==52){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==73){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==82){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==83){k[s>>2]=(l[k[u>>2]>>0]|0)==0&1;w=k[s>>2]|0;r=x;return w|0}return 0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[c>>2]|0)){rH(40498);k[b>>2]=0}else{k[d>>2]=k[(k[c>>2]|0)+76>>2];if((k[d>>2]|0)==-1607883113){k[b>>2]=1;break}if(ai(k[c>>2]|0)|0)rH(40503);k[b>>2]=0}while(0);r=e;return k[b>>2]|0}function $h(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+32|0;i=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[k[o>>2]>>2]=0;b=(_h(k[i>>2]|0)|0)==0;if(b|(k[j>>2]|0)==0){b=Uf(110077)|0;k[h>>2]=b;b=k[h>>2]|0;r=s;return b|0}Xf(k[i>>2]|0);b=sH(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b;if((k[q>>2]|0)==17){ge(k[k[o>>2]>>2]|0)|0;b=sH(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b}k[h>>2]=k[q>>2];b=k[h>>2]|0;r=s;return b|0}function ai(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;b=c+8|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+76>>2];if((k[d>>2]|0)!=1266094736&(k[d>>2]|0)!=-1607883113&(k[d>>2]|0)!=-264537850){rH(40345);k[b>>2]=0;e=k[b>>2]|0;r=c;return e|0}else{k[b>>2]=1;e=k[b>>2]|0;r=c;return e|0}return 0}function bi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;p=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=0;b=Sf(k[g>>2]|0)|0;k[l>>2]=b;if(!(xj((k[f>>2]|0)+312|0,k[g>>2]|0)|0)){b=Pw(k[f>>2]|0,20+(k[l>>2]|0)+1|0,0)|0;k[n>>2]=b;if((k[n>>2]|0)!=0?(k[p>>2]=(k[n>>2]|0)+20,sR(k[p>>2]|0,k[g>>2]|0,(k[l>>2]|0)+1|0)|0,k[(k[n>>2]|0)+4>>2]=k[p>>2],k[k[n>>2]>>2]=k[h>>2],k[(k[n>>2]|0)+8>>2]=k[i>>2],k[(k[n>>2]|0)+12>>2]=k[j>>2],k[(k[n>>2]|0)+16>>2]=0,b=Yj((k[f>>2]|0)+312|0,k[p>>2]|0,k[n>>2]|0)|0,k[m>>2]=b,(k[m>>2]|0)!=0):0){th(k[f>>2]|0);ag(k[f>>2]|0,k[m>>2]|0)}}else{b=Uf(118442)|0;k[o>>2]=b}b=$g(k[f>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;if(!((k[o>>2]|0)!=0&(k[j>>2]|0)!=0)){b=k[o>>2]|0;r=q;return b|0}_b[k[j>>2]&255](k[i>>2]|0);b=k[o>>2]|0;r=q;return b|0}function ci(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+80|0;d=z+72|0;p=z+16|0;o=z+8|0;n=z;s=z+68|0;t=z+64|0;e=z+60|0;f=z+56|0;w=z+52|0;v=z+48|0;j=z+44|0;m=z+40|0;g=z+36|0;u=z+32|0;h=z+28|0;x=z+24|0;y=z+20|0;k[t>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;k[g>>2]=-1;k[u>>2]=k[k[t>>2]>>2];k[h>>2]=k[(k[u>>2]|0)+88+4>>2];if(!(k[(k[u>>2]|0)+148>>2]|0))k[(k[u>>2]|0)+240>>2]=0;k[(k[t>>2]|0)+12>>2]=0;k[(k[t>>2]|0)+484>>2]=k[e>>2];k[v>>2]=0;b=Zu(179)|0;k[j>>2]=b;if(!(k[j>>2]|0)){th(k[u>>2]|0);k[s>>2]=7;y=k[s>>2]|0;r=z;return y|0}while(1){if(!(i[(k[e>>2]|0)+(k[v>>2]|0)>>0]|0))break;k[(k[t>>2]|0)+508>>2]=(k[e>>2]|0)+(k[v>>2]|0);b=_u((k[e>>2]|0)+(k[v>>2]|0)|0,m)|0;k[(k[t>>2]|0)+508+4>>2]=b;k[v>>2]=(k[v>>2]|0)+(k[(k[t>>2]|0)+508+4>>2]|0);if((k[v>>2]|0)>(k[h>>2]|0)){q=7;break}if((k[m>>2]|0)>=159){if(k[(k[u>>2]|0)+240>>2]|0){q=10;break}if((k[m>>2]|0)==160){q=12;break}else continue}if((k[m>>2]|0)==1)k[(k[t>>2]|0)+484>>2]=(k[e>>2]|0)+(k[v>>2]|0);a=k[j>>2]|0;c=k[m>>2]|0;A=(k[t>>2]|0)+508|0;b=k[t>>2]|0;k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];$u(a,c,d,b);k[g>>2]=k[m>>2];if(k[(k[t>>2]|0)+12>>2]|0)break;if(l[(k[u>>2]|0)+65>>0]|0)break}if((q|0)==7)k[(k[t>>2]|0)+12>>2]=18;else if((q|0)==10)k[(k[t>>2]|0)+12>>2]=9;else if((q|0)==12){A=k[t>>2]|0;k[n>>2]=(k[t>>2]|0)+508;Kh(A,27316,n)}if((k[(k[t>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+65>>0]|0)==0:0){if((k[g>>2]|0)!=1){q=k[j>>2]|0;b=(k[t>>2]|0)+508|0;A=k[t>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];$u(q,1,d,A);k[(k[t>>2]|0)+484>>2]=(k[e>>2]|0)+(k[v>>2]|0)}if((k[(k[t>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+65>>0]|0)==0:0){q=k[j>>2]|0;b=(k[t>>2]|0)+508|0;A=k[t>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];$u(q,0,d,A)}}av(k[j>>2]|0,148);if(i[(k[u>>2]|0)+65>>0]|0)k[(k[t>>2]|0)+12>>2]=7;if(((k[(k[t>>2]|0)+12>>2]|0)!=0?(k[(k[t>>2]|0)+12>>2]|0)!=101:0)?(k[(k[t>>2]|0)+4>>2]|0)==0:0){A=k[u>>2]|0;q=sh(k[(k[t>>2]|0)+12>>2]|0)|0;k[o>>2]=q;A=Lh(A,19255,o)|0;k[(k[t>>2]|0)+4>>2]=A}if(k[(k[t>>2]|0)+4>>2]|0){k[k[f>>2]>>2]=k[(k[t>>2]|0)+4>>2];A=k[(k[t>>2]|0)+12>>2]|0;k[p>>2]=k[k[f>>2]>>2];$d(A,19255,p);k[(k[t>>2]|0)+4>>2]=0;k[w>>2]=(k[w>>2]|0)+1}if(((k[(k[t>>2]|0)+8>>2]|0)!=0?(k[(k[t>>2]|0)+68>>2]|0)>0:0)?(l[(k[t>>2]|0)+18>>0]|0)==0:0){bv(k[(k[t>>2]|0)+8>>2]|0);k[(k[t>>2]|0)+8>>2]=0}if(!(l[(k[t>>2]|0)+18>>0]|0)){ag(k[u>>2]|0,k[(k[t>>2]|0)+408>>2]|0);k[(k[t>>2]|0)+408>>2]=0;k[(k[t>>2]|0)+404>>2]=0}Ud(k[(k[t>>2]|0)+524>>2]|0);if(!(i[(k[t>>2]|0)+454>>0]|0))_f(k[u>>2]|0,k[(k[t>>2]|0)+488>>2]|0);cv(k[u>>2]|0,k[(k[t>>2]|0)+540>>2]|0);Zf(k[u>>2]|0,k[(k[t>>2]|0)+492>>2]|0);k[v>>2]=(k[(k[t>>2]|0)+448>>2]|0)-1;while(1){d=k[u>>2]|0;if((k[v>>2]|0)<0)break;ag(d,k[(k[(k[t>>2]|0)+476>>2]|0)+(k[v>>2]<<2)>>2]|0);k[v>>2]=(k[v>>2]|0)+-1}ag(d,k[(k[t>>2]|0)+476>>2]|0);while(1){if(!(k[(k[t>>2]|0)+412>>2]|0))break;k[x>>2]=k[(k[t>>2]|0)+412>>2];k[(k[t>>2]|0)+412>>2]=k[k[x>>2]>>2];ag(k[u>>2]|0,k[x>>2]|0)}while(1){if(!(k[(k[t>>2]|0)+528>>2]|0))break;k[y>>2]=k[(k[t>>2]|0)+528>>2];k[(k[t>>2]|0)+528>>2]=k[(k[y>>2]|0)+68>>2];_f(k[u>>2]|0,k[y>>2]|0)}k[s>>2]=k[w>>2];A=k[s>>2]|0;r=z;return A|0}function di(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=zh(k[b>>2]|0,40,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}j[(k[c>>2]|0)+8>>1]=1;k[(k[c>>2]|0)+32>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function ei(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m+16|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[f>>2]|0)){r=m;return}nh(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,i[j>>0]|0,k[l>>2]|0)|0;r=m;return}function fi(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=5028;wf(4,b)|0;r=a;return}function gi(){return 88}function hi(){return 40}function ii(){return 32}function ji(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=4976;wf(18,b)|0;r=a;return}function ki(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;uu(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function li(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+8>>0]|0|0)==2;a=a&1;r=c;return a|0}function mi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(k[(k[f>>2]|0)+248+8>>2]|0){k[e>>2]=5;c=k[e>>2]|0;r=p;return c|0}if(i[(k[f>>2]|0)+248+6>>0]|0)Ud(k[(k[f>>2]|0)+248+32>>2]|0);c=k[h>>2]&-8;k[h>>2]=c;k[h>>2]=(k[h>>2]|0)<=4?0:c;if((k[l>>2]|0)<0)k[l>>2]=0;do if(!((k[h>>2]|0)==0|(k[l>>2]|0)==0)){if(k[g>>2]|0){k[o>>2]=k[g>>2];break}ak();c=ha(k[h>>2]|0,k[l>>2]|0)|0;c=ig(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;bk();if(k[o>>2]|0){c=jg(k[o>>2]|0)|0;k[l>>2]=(c|0)/(k[h>>2]|0)|0}}else{k[h>>2]=0;k[o>>2]=0}while(0);k[(k[f>>2]|0)+248+32>>2]=k[o>>2];k[(k[f>>2]|0)+248+28>>2]=0;j[(k[f>>2]|0)+248+4>>1]=k[h>>2];if(k[o>>2]|0){k[n>>2]=k[o>>2];k[m>>2]=(k[l>>2]|0)-1;while(1){if((k[m>>2]|0)<0)break;k[k[n>>2]>>2]=k[(k[f>>2]|0)+248+28>>2];k[(k[f>>2]|0)+248+28>>2]=k[n>>2];k[n>>2]=(k[n>>2]|0)+(k[h>>2]|0);k[m>>2]=(k[m>>2]|0)+-1}k[(k[f>>2]|0)+248+36>>2]=k[n>>2];k[(k[f>>2]|0)+248>>2]=0;i[(k[f>>2]|0)+248+6>>0]=(k[g>>2]|0)==0?1:0}else{k[(k[f>>2]|0)+248+32>>2]=k[f>>2];k[(k[f>>2]|0)+248+36>>2]=k[f>>2];k[(k[f>>2]|0)+248>>2]=1;i[(k[f>>2]|0)+248+6>>0]=0}k[e>>2]=0;c=k[e>>2]|0;r=p;return c|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}if(!(ai(k[d>>2]|0)|0)){f=Uf(133819)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}mu(k[d>>2]|0);nu(k[d>>2]|0)|0;if((k[e>>2]|0)==0?(ou(k[d>>2]|0)|0)!=0:0){rg(k[d>>2]|0,5,27174,f);k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}k[(k[d>>2]|0)+76>>2]=1691352191;Xg(k[d>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;c=e+16|0;h=e+12|0;g=e+8|0;d=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=k[(k[h>>2]|0)+496>>2];if((((k[g>>2]|0)+1|0)*1e3|0)>(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=e;return h|0}else{Bi(k[k[d>>2]>>2]|0,1e6)|0;k[c>>2]=1;h=k[c>>2]|0;r=e;return h|0}return 0} -function Zy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;h=t+44|0;c=t+40|0;n=t+36|0;f=t+32|0;p=t+28|0;g=t+24|0;o=t+20|0;d=t+16|0;q=t+12|0;s=t+8|0;e=t;k[c>>2]=a;k[n>>2]=b;if(!(k[(k[n>>2]|0)+52>>2]|0)){k[h>>2]=0;s=k[h>>2]|0;r=t;return s|0}if(!(k[(k[n>>2]|0)+48>>2]|0)){k[h>>2]=0;s=k[h>>2]|0;r=t;return s|0}k[g>>2]=k[n>>2];while(1){if(!(k[g>>2]|0))break;if((l[(k[g>>2]|0)+4>>0]|0|0)!=116?(l[(k[g>>2]|0)+4>>0]|0|0)!=119:0)break;k[g>>2]=k[(k[g>>2]|0)+52>>2]}if(!(k[g>>2]|0)){k[h>>2]=0;s=k[h>>2]|0;r=t;return s|0}k[d>>2]=k[(k[(k[n>>2]|0)+48>>2]|0)+4>>2];k[f>>2]=(k[k[(k[n>>2]|0)+48>>2]>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;if(k[(k[(k[d>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){k[h>>2]=0;s=k[h>>2]|0;r=t;return s|0}k[s>>2]=k[k[c>>2]>>2];k[o>>2]=k[k[s>>2]>>2];g=zh(k[o>>2]|0,72,0)|0;k[p>>2]=g;if(!(k[p>>2]|0)){k[h>>2]=2;s=k[h>>2]|0;r=t;return s|0};k[e>>2]=0;k[e+4>>2]=0;g=Ov(k[s>>2]|0,0,0,0,e,k[p>>2]|0,0,0)|0;k[q>>2]=g;if(!(k[q>>2]|0)){k[h>>2]=2;s=k[h>>2]|0;r=t;return s|0}else{c=k[p>>2]|0;d=k[n>>2]|0;e=c+72|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[(k[n>>2]|0)+32>>2]=k[q>>2];s=k[s>>2]|0;s=Qv(s,0,Tv(k[o>>2]|0,158,0)|0)|0;k[k[n>>2]>>2]=s;i[(k[n>>2]|0)+4>>0]=119;k[(k[n>>2]|0)+36>>2]=0;k[(k[p>>2]|0)+40>>2]=0;k[(k[p>>2]|0)+44>>2]=0;k[(k[p>>2]|0)+48>>2]=0;k[(k[n>>2]|0)+52>>2]=0;k[(k[n>>2]|0)+56>>2]=0;k[(k[n>>2]|0)+68>>2]=0;s=(k[n>>2]|0)+6|0;j[s>>1]=(m[s>>1]|0)&-129;s=(k[n>>2]|0)+6|0;j[s>>1]=m[s>>1]|0|16384;k[(k[(k[p>>2]|0)+52>>2]|0)+56>>2]=k[p>>2];k[(k[p>>2]|0)+60>>2]=0;k[(k[p>>2]|0)+64>>2]=0;k[h>>2]=0;s=k[h>>2]|0;r=t;return s|0}return 0}function _y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;o=Y+8|0;g=Y;p=Y+196|0;c=Y+192|0;q=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;f=Y+202|0;n=Y+140|0;e=Y+136|0;d=Y+200|0;s=Y+132|0;E=Y+128|0;h=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;k[c>>2]=a;k[q>>2]=b;k[F>>2]=k[k[c>>2]>>2];k[t>>2]=k[k[F>>2]>>2];j[f>>1]=j[(k[q>>2]|0)+6>>1]|0;a=(k[q>>2]|0)+6|0;j[a>>1]=m[a>>1]|32;if(i[(k[t>>2]|0)+65>>0]|0){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}if((k[(k[q>>2]|0)+32>>2]|0)!=0?(m[f>>1]&32|0)==0:0){k[J>>2]=k[(k[q>>2]|0)+32>>2];k[A>>2]=k[k[q>>2]>>2];if((k[(k[c>>2]|0)+12>>2]|0)==132){a=k[F>>2]|0;f=(az(k[q>>2]|0)|0)+68|0;_v(a,k[f>>2]|0,0)}Sx(k[F>>2]|0,k[J>>2]|0);k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;a:while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0)){d=38;break}if(!((l[(k[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(bz(k[c>>2]|0,k[C>>2]|0)|0){d=12;break}do if(!(k[(k[C>>2]|0)+16>>2]|0)){if(!(k[(k[C>>2]|0)+8>>2]|0)){k[e>>2]=k[(k[C>>2]|0)+20>>2];if(hy(k[c>>2]|0,k[e>>2]|0)|0){d=16;break a}f=zh(k[t>>2]|0,72,0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=18;break a}j[(k[n>>2]|0)+36>>1]=1;f=k[t>>2]|0;k[g>>2]=k[n>>2];f=Lh(f,30964,g)|0;k[k[n>>2]>>2]=f;while(1){if(!(k[(k[e>>2]|0)+52>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+52>>2]}Qx(k[F>>2]|0,k[k[e>>2]>>2]|0,(k[n>>2]|0)+34|0,(k[n>>2]|0)+4|0)|0;j[(k[n>>2]|0)+32>>1]=-1;j[(k[n>>2]|0)+38>>1]=200;f=(k[n>>2]|0)+42|0;i[f>>0]=l[f>>0]|2;break}f=ix(k[F>>2]|0,0,k[C>>2]|0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=24;break a}if((m[(k[n>>2]|0)+36>>1]|0)==65535){d=26;break a}f=(k[n>>2]|0)+36|0;j[f>>1]=(j[f>>1]|0)+1<<16>>16;if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(cz(k[F>>2]|0,k[C>>2]|0)|0)!=0:0){d=29;break a}if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(k[(k[n>>2]|0)+12>>2]|0)==0:0)break;if(Jx(k[F>>2]|0,k[n>>2]|0)|0){d=33;break a}f=Rx(k[t>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[C>>2]|0)+20>>2]=f;j[d>>1]=j[(k[n>>2]|0)+34>>1]|0;j[(k[n>>2]|0)+34>>1]=-1;hy(k[c>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0;j[(k[n>>2]|0)+34>>1]=j[d>>1]|0}while(0);if(dz(k[F>>2]|0,k[C>>2]|0)|0){d=36;break}}k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if((d|0)==12){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==16){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==18){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==24){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==26){X=k[F>>2]|0;k[o>>2]=k[k[n>>2]>>2];Kh(X,30977,o);k[(k[C>>2]|0)+16>>2]=0;k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==29){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==33){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==36){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==38){if((l[(k[t>>2]|0)+65>>0]|0)==0?(ez(k[F>>2]|0,k[q>>2]|0)|0)==0:0){k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[(k[A>>2]|0)+4>>2]|0)+((k[x>>2]|0)*20|0)>>2];if((l[k[z>>2]>>0]|0)==158)break;if((l[k[z>>2]>>0]|0)==122?(l[k[(k[z>>2]|0)+16>>2]>>0]|0)==158:0)break;k[x>>2]=(k[x>>2]|0)+1}if((k[x>>2]|0)<(k[k[A>>2]>>2]|0)){k[s>>2]=k[(k[A>>2]|0)+4>>2];k[E>>2]=0;k[h>>2]=k[(k[k[F>>2]>>2]|0)+24>>2];if(k[h>>2]&4)c=(k[h>>2]&64|0)==0;else c=0;k[y>>2]=c&1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2];k[G>>2]=k[(k[z>>2]|0)+16>>2];do if((l[k[z>>2]>>0]|0)!=158){if((l[k[z>>2]>>0]|0)==122?(l[k[G>>2]>>0]|0)==158:0){d=58;break}o=Qv(k[F>>2]|0,k[E>>2]|0,k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]|0)|0;k[E>>2]=o;if(k[E>>2]|0){k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2];k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2];k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2]=0;k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2]=0}k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]=0}else d=58;while(0);do if((d|0)==58){d=0;k[M>>2]=0;k[V>>2]=0;if((l[k[z>>2]>>0]|0)==122)k[V>>2]=k[(k[(k[z>>2]|0)+12>>2]|0)+8>>2];k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0))break;k[I>>2]=k[(k[C>>2]|0)+16>>2];k[H>>2]=k[(k[C>>2]|0)+20>>2];k[W>>2]=k[(k[C>>2]|0)+12>>2];k[U>>2]=0;if(!(k[W>>2]|0))k[W>>2]=k[k[I>>2]>>2];if(i[(k[t>>2]|0)+65>>0]|0)break;if((k[H>>2]|0)!=0?(m[(k[H>>2]|0)+6>>1]&1024|0)!=0:0)d=72;else d=67;do if((d|0)==67){d=0;k[H>>2]=0;if((k[V>>2]|0)!=0?(be(k[V>>2]|0,k[W>>2]|0)|0)!=0:0)break;o=Nh(k[t>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[v>>2]=o;if((k[v>>2]|0)>=0)c=k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2]|0;else c=26308;k[U>>2]=c;d=72}while(0);b:do if((d|0)==72){d=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(j[(k[I>>2]|0)+34>>1]|0))break b;k[T>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+((k[w>>2]|0)*24|0)>>2];if(!((k[V>>2]|0)!=0&(k[H>>2]|0)!=0?(Vy(k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0,0,k[V>>2]|0,0)|0)==0:0))d=76;do if((d|0)==76){d=0;if((m[(k[q>>2]|0)+6>>1]&32768|0)==0?(l[(k[(k[I>>2]|0)+4>>2]|0)+((k[w>>2]|0)*24|0)+23>>0]&2|0)!=0:0)break;k[M>>2]=1;if((k[u>>2]|0)>0&(k[V>>2]|0)==0){if((l[(k[C>>2]|0)+36>>0]&4|0)!=0?(fz(k[J>>2]|0,k[u>>2]|0,k[T>>2]|0,0,0)|0)!=0:0)break;if((gz(k[(k[C>>2]|0)+52>>2]|0,k[T>>2]|0)|0)>=0)break}o=Tv(k[t>>2]|0,27,k[T>>2]|0)|0;k[G>>2]=o;k[S>>2]=k[T>>2];k[X>>2]=0;do if(k[y>>2]|0)d=84;else{if((k[k[J>>2]>>2]|0)>1){d=84;break}k[B>>2]=k[G>>2]}while(0);do if((d|0)==84){d=0;o=Tv(k[t>>2]|0,27,k[W>>2]|0)|0;k[D>>2]=o;o=Bv(k[F>>2]|0,122,k[D>>2]|0,k[G>>2]|0,0)|0;k[B>>2]=o;if(k[U>>2]|0){o=Tv(k[t>>2]|0,27,k[U>>2]|0)|0;k[D>>2]=o;o=Bv(k[F>>2]|0,122,k[D>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=o}if(!(k[y>>2]|0))break;o=k[t>>2]|0;n=k[T>>2]|0;k[R>>2]=k[W>>2];k[R+4>>2]=n;o=Lh(o,31016,R)|0;k[S>>2]=o;k[X>>2]=k[S>>2]}while(0);o=Qv(k[F>>2]|0,k[E>>2]|0,k[B>>2]|0)|0;k[E>>2]=o;My(L,k[S>>2]|0);Rv(k[F>>2]|0,k[E>>2]|0,L,0);do if(k[E>>2]|0){if(!(m[(k[q>>2]|0)+6>>1]&1024))break;k[K>>2]=(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0);c=k[t>>2]|0;if(k[H>>2]|0){o=xh(c,k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0)|0;k[(k[K>>2]|0)+8>>2]=o}else{n=k[W>>2]|0;o=k[S>>2]|0;k[N>>2]=k[U>>2];k[N+4>>2]=n;k[N+8>>2]=o;o=Lh(c,31022,N)|0;k[(k[K>>2]|0)+8>>2]=o}o=(k[K>>2]|0)+13|0;i[o>>0]=i[o>>0]&-3|2}while(0);ag(k[t>>2]|0,k[X>>2]|0)}while(0);k[w>>2]=(k[w>>2]|0)+1}}while(0);k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if(!(k[M>>2]|0)){c=k[F>>2]|0;if(k[V>>2]|0){k[O>>2]=k[V>>2];Kh(c,31031,O);break}else{Kh(c,31049,P);break}}}while(0);k[x>>2]=(k[x>>2]|0)+1}dv(k[t>>2]|0,k[A>>2]|0);k[k[q>>2]>>2]=k[E>>2]}if((k[k[q>>2]>>2]|0)!=0?(k[k[k[q>>2]>>2]>>2]|0)>(k[(k[t>>2]|0)+88+8>>2]|0):0){Kh(k[F>>2]|0,31069,Q);k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=0;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}}k[p>>2]=1;X=k[p>>2]|0;r=Y;return X|0}function $y(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[c>>2]=k[k[g>>2]>>2];a=(az(k[f>>2]|0)|0)+68|0;k[d>>2]=k[a>>2];if(!(k[d>>2]|0)){r=e;return}k[(k[c>>2]|0)+536>>2]=k[(k[d>>2]|0)+4>>2];r=e;return}function az(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+56>>2]|0))break;k[b>>2]=k[a+56>>2]}r=c;return a|0}function bz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;u=B+16|0;n=B+8|0;d=B;v=B+88|0;w=B+84|0;e=B+80|0;y=B+76|0;c=B+72|0;x=B+68|0;o=B+64|0;t=B+60|0;q=B+56|0;A=B+52|0;s=B+48|0;p=B+44|0;z=B+40|0;f=B+36|0;h=B+32|0;g=B+28|0;k[w>>2]=a;k[e>>2]=b;k[y>>2]=k[k[w>>2]>>2];k[c>>2]=k[k[y>>2]>>2];a=uz(k[(k[y>>2]|0)+536>>2]|0,k[e>>2]|0,o)|0;k[x>>2]=a;if(k[x>>2]|0){b=k[y>>2]|0;if(k[(k[x>>2]|0)+12>>2]|0){A=k[(k[x>>2]|0)+12>>2]|0;k[d>>2]=k[k[x>>2]>>2];Kh(b,A,d);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}if(cz(b,k[e>>2]|0)|0){k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}d=zh(k[c>>2]|0,72,0)|0;k[t>>2]=d;k[(k[e>>2]|0)+16>>2]=d;if(!(k[t>>2]|0)){k[v>>2]=2;A=k[v>>2]|0;r=B;return A|0}j[(k[t>>2]|0)+36>>1]=1;d=xh(k[c>>2]|0,k[k[x>>2]>>2]|0)|0;k[k[t>>2]>>2]=d;j[(k[t>>2]|0)+32>>1]=-1;j[(k[t>>2]|0)+38>>1]=200;d=(k[t>>2]|0)+42|0;i[d>>0]=l[d>>0]|66;d=Rx(k[c>>2]|0,k[(k[x>>2]|0)+8>>2]|0,0)|0;k[(k[e>>2]|0)+20>>2]=d;if(i[(k[c>>2]|0)+65>>0]|0){k[v>>2]=7;A=k[v>>2]|0;r=B;return A|0}k[A>>2]=k[(k[e>>2]|0)+20>>2];if((l[(k[A>>2]|0)+4>>0]|0)==116)b=1;else b=(l[(k[A>>2]|0)+4>>0]|0)==115;k[p>>2]=b&1;a:do if(k[p>>2]|0){k[h>>2]=k[(k[(k[e>>2]|0)+20>>2]|0)+32>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[h>>2]>>2]|0))break a;k[g>>2]=(k[h>>2]|0)+8+((k[f>>2]|0)*72|0);if(((k[(k[g>>2]|0)+4>>2]|0)==0?(k[(k[g>>2]|0)+8>>2]|0)!=0:0)?0==(be(k[(k[g>>2]|0)+8>>2]|0,k[k[x>>2]>>2]|0)|0):0){k[(k[g>>2]|0)+16>>2]=k[t>>2];e=(k[g>>2]|0)+36+1|0;i[e>>0]=i[e>>0]&-33|32;e=(k[t>>2]|0)+36|0;j[e>>1]=(j[e>>1]|0)+1<<16>>16;e=(k[A>>2]|0)+6|0;j[e>>1]=m[e>>1]|8192}k[f>>2]=(k[f>>2]|0)+1}}while(0);if((m[(k[t>>2]|0)+36>>1]|0)>2){A=k[y>>2]|0;k[n>>2]=k[k[x>>2]>>2];Kh(A,31310,n);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+12>>2]=31353;k[z>>2]=k[(k[y>>2]|0)+536>>2];k[(k[y>>2]|0)+536>>2]=k[o>>2];b=k[A>>2]|0;if(k[p>>2]|0)b=k[b+52>>2]|0;hy(k[w>>2]|0,b)|0;k[(k[y>>2]|0)+536>>2]=k[o>>2];k[s>>2]=k[A>>2];while(1){b=k[s>>2]|0;if(!(k[(k[s>>2]|0)+52>>2]|0))break;k[s>>2]=k[b+52>>2]}k[q>>2]=k[b>>2];if(k[(k[x>>2]|0)+4>>2]|0){if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[(k[x>>2]|0)+4>>2]>>2]|0):0){A=k[y>>2]|0;t=k[k[q>>2]>>2]|0;w=k[k[(k[x>>2]|0)+4>>2]>>2]|0;k[u>>2]=k[k[x>>2]>>2];k[u+4>>2]=t;k[u+8>>2]=w;Kh(A,31376,u);k[(k[y>>2]|0)+536>>2]=k[z>>2];k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[q>>2]=k[(k[x>>2]|0)+4>>2]}Qx(k[y>>2]|0,k[q>>2]|0,(k[t>>2]|0)+34|0,(k[t>>2]|0)+4|0)|0;if(k[p>>2]|0){b=(k[x>>2]|0)+12|0;if(m[(k[A>>2]|0)+6>>1]&8192)k[b>>2]=31414;else k[b>>2]=31448;hy(k[w>>2]|0,k[A>>2]|0)|0}k[(k[x>>2]|0)+12>>2]=0;k[(k[y>>2]|0)+536>>2]=k[z>>2]}k[v>>2]=0;A=k[v>>2]|0;r=B;return A|0}function cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1){a=k[d>>2]|0;k[f>>2]=k[(k[e>>2]|0)+8>>2];Kh(a,31287,f);k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}return 0}function dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;c=m+28|0;d=m+24|0;e=m+20|0;g=m+16|0;j=m+12|0;f=m+8|0;k[d>>2]=a;k[e>>2]=b;do if((k[(k[e>>2]|0)+16>>2]|0)!=0?((l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){k[g>>2]=k[(k[e>>2]|0)+16>>2];k[j>>2]=k[(k[e>>2]|0)+64>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[f>>2]|0))break;if(!(be(k[k[f>>2]>>2]|0,k[j>>2]|0)|0))break;k[f>>2]=k[(k[f>>2]|0)+20>>2]}if(k[f>>2]|0){k[(k[e>>2]|0)+68>>2]=k[f>>2];break}g=k[d>>2]|0;k[h>>2]=k[j>>2];k[h+4>>2]=0;Kh(g,31269,h);i[(k[d>>2]|0)+17>>0]=1;k[c>>2]=1;j=k[c>>2]|0;r=m;return j|0}while(0);k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}function ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;c=C+84|0;u=C+80|0;d=C+76|0;n=C+72|0;o=C+68|0;s=C+64|0;p=C+60|0;t=C+56|0;m=C+52|0;v=C+48|0;e=C+44|0;g=C+40|0;q=C+36|0;B=C+32|0;f=C+28|0;h=C+24|0;i=C+20|0;k[x>>2]=a;k[c>>2]=b;k[u>>2]=k[(k[c>>2]|0)+32>>2];k[o>>2]=(k[u>>2]|0)+8;k[s>>2]=(k[o>>2]|0)+72;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=((k[k[u>>2]>>2]|0)-1|0)){c=28;break}k[p>>2]=k[(k[o>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+16>>2];b:do if(!((k[p>>2]|0)==0|(k[t>>2]|0)==0)){k[m>>2]=(l[(k[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(l[(k[s>>2]|0)+36>>0]&4){if(k[(k[s>>2]|0)+48>>2]|0){c=7;break a}if(k[(k[s>>2]|0)+52>>2]|0){c=7;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[t>>2]|0)+34>>1]|0))break c;k[v>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+((k[n>>2]|0)*24|0)>>2];if(fz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[v>>2]|0,e,g)|0)iz(k[x>>2]|0,k[u>>2]|0,k[e>>2]|0,k[g>>2]|0,(k[d>>2]|0)+1|0,k[n>>2]|0,k[m>>2]|0,(k[c>>2]|0)+36|0);k[n>>2]=(k[n>>2]|0)+1}}while(0);if((k[(k[s>>2]|0)+48>>2]|0)!=0?(k[(k[s>>2]|0)+52>>2]|0)!=0:0){c=15;break a}if(k[(k[s>>2]|0)+48>>2]|0){if(k[m>>2]|0)jz(k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+44>>2]|0);a=kz(k[k[x>>2]>>2]|0,k[(k[c>>2]|0)+36>>2]|0,k[(k[s>>2]|0)+48>>2]|0)|0;k[(k[c>>2]|0)+36>>2]=a;k[(k[s>>2]|0)+48>>2]=0}if(k[(k[s>>2]|0)+52>>2]|0){k[q>>2]=k[(k[s>>2]|0)+52>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+4>>2]|0))break b;k[B>>2]=k[(k[k[q>>2]>>2]|0)+(k[n>>2]<<3)>>2];a=hz(k[t>>2]|0,k[B>>2]|0)|0;k[i>>2]=a;if((k[i>>2]|0)<0){c=25;break a}if(!(fz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[B>>2]|0,f,h)|0)){c=25;break a}iz(k[x>>2]|0,k[u>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[d>>2]|0)+1|0,k[i>>2]|0,k[m>>2]|0,(k[c>>2]|0)+36|0);k[n>>2]=(k[n>>2]|0)+1}}}while(0);k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+72;k[o>>2]=(k[o>>2]|0)+72}if((c|0)==7){B=k[x>>2]|0;k[y>>2]=0;Kh(B,31100,y);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==15){Kh(k[x>>2]|0,31150,z);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==25){z=k[x>>2]|0;k[A>>2]=k[B>>2];Kh(z,31205,A);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==28){k[w>>2]=0;B=k[w>>2]|0;r=C;return B|0}return 0}function fz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;l=p+8|0;m=p+4|0;n=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[h>>2]|0)){o=8;break}c=hz(k[(k[g>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2]|0,k[i>>2]|0)|0;k[n>>2]=c;if((k[n>>2]|0)>=0)break;k[m>>2]=(k[m>>2]|0)+1}if((o|0)==8){k[f>>2]=0;o=k[f>>2]|0;r=p;return o|0}if(k[j>>2]|0){k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=k[n>>2]}k[f>>2]=1;o=k[f>>2]|0;r=p;return o|0}function gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0)){a=8;break}a=(be(k[(k[k[c>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=6;break}k[e>>2]=b+1}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(j[(k[c>>2]|0)+34>>1]|0)){a=6;break}a=(be(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*24|0)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=4;break}k[e>>2]=b+1}if((a|0)==4){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function iz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;o=r;r=r+48|0;s=o+44|0;v=o+40|0;x=o+36|0;w=o+32|0;u=o+28|0;t=o+24|0;p=o+20|0;i=o+16|0;l=o+12|0;q=o+8|0;m=o+4|0;n=o;k[s>>2]=a;k[v>>2]=b;k[x>>2]=c;k[w>>2]=d;k[u>>2]=e;k[t>>2]=f;k[p>>2]=g;k[i>>2]=h;k[l>>2]=k[k[s>>2]>>2];h=tz(k[l>>2]|0,k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[q>>2]=h;h=tz(k[l>>2]|0,k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0;k[m>>2]=h;h=Bv(k[s>>2]|0,79,k[q>>2]|0,k[m>>2]|0,0)|0;k[n>>2]=h;if(!((k[n>>2]|0)!=0&(k[p>>2]|0)!=0)){v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=kz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}v=(k[n>>2]|0)+4|0;k[v>>2]=k[v>>2]|1;j[(k[n>>2]|0)+36>>1]=k[(k[m>>2]|0)+28>>2];v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=kz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}function jz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|1;j[(k[c>>2]|0)+36>>1]=k[d>>2];a:do if((l[k[c>>2]>>0]|0|0)==151?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[c>>2]|0)+20>>2]>>2]|0))break a;jz(k[(k[(k[(k[c>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}}while(0);jz(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0);k[c>>2]=k[(k[c>>2]|0)+16>>2]}r=f;return}function kz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if(!(k[f>>2]|0)){k[d>>2]=a;h=k[d>>2]|0;r=i;return h|0}b=k[f>>2]|0;if(!a){k[d>>2]=b;h=k[d>>2]|0;r=i;return h|0}if((lz(b)|0)==0?(lz(k[g>>2]|0)|0)==0:0){c=mz(k[e>>2]|0,72,0,0)|0;k[h>>2]=c;nz(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0);k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}hv(k[e>>2]|0,k[f>>2]|0);hv(k[e>>2]|0,k[g>>2]|0);h=mz(k[e>>2]|0,132,5092,0)|0;k[d>>2]=h;h=k[d>>2]|0;r=i;return h|0}function lz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(uy(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)==0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function mz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;o=p+12|0;n=p+8|0;m=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[m>>2]=0;do if(k[g>>2]|0){if(((k[f>>2]|0)==132?(k[k[g>>2]>>2]|0)!=0:0)?(Vi(k[k[g>>2]>>2]|0,m)|0)!=0:0)break;k[n>>2]=(k[(k[g>>2]|0)+4>>2]|0)+1}while(0);c=Pw(k[e>>2]|0,48+(k[n>>2]|0)|0,0)|0;k[o>>2]=c;if(!(k[o>>2]|0)){o=k[o>>2]|0;r=p;return o|0}e=k[o>>2]|0;a=e+48|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(a|0));i[k[o>>2]>>0]=k[f>>2];j[(k[o>>2]|0)+34>>1]=-1;do if(k[g>>2]|0){e=k[o>>2]|0;if(!(k[n>>2]|0)){n=e+4|0;k[n>>2]=k[n>>2]|1024;k[(k[o>>2]|0)+8>>2]=k[m>>2];break}k[(k[o>>2]|0)+8>>2]=e+48;if(k[(k[g>>2]|0)+4>>2]|0)sR(k[(k[o>>2]|0)+8>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;i[(k[(k[o>>2]|0)+8>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)>>0]=0;if(((k[h>>2]|0)!=0&(k[n>>2]|0)>=3?(n=i[k[k[g>>2]>>2]>>0]|0,k[l>>2]=n,(n|0)==39|(k[l>>2]|0)==34|(k[l>>2]|0)==91|(k[l>>2]|0)==96):0)?(Tw(k[(k[o>>2]|0)+8>>2]|0)|0,(k[l>>2]|0)==34):0){n=(k[o>>2]|0)+4|0;k[n>>2]=k[n>>2]|64}}while(0);k[(k[o>>2]|0)+24>>2]=1;o=k[o>>2]|0;r=p;return o|0}function nz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){hv(k[e>>2]|0,k[g>>2]|0);hv(k[e>>2]|0,k[h>>2]|0);r=i;return}if(k[h>>2]|0){k[(k[f>>2]|0)+16>>2]=k[h>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[h>>2]|0)+4>>2]}if(k[g>>2]|0){k[(k[f>>2]|0)+12>>2]=k[g>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[g>>2]|0)+4>>2]}oz(k[f>>2]|0);r=i;return}function oz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;pz(k[(k[b>>2]|0)+12>>2]|0,c);pz(k[(k[b>>2]|0)+16>>2]|0,c);a=(k[b>>2]|0)+20|0;if(!(k[(k[b>>2]|0)+4>>2]&2048)){if(k[a>>2]|0){rz(k[(k[b>>2]|0)+20>>2]|0,c);e=2097408&(sz(k[(k[b>>2]|0)+20>>2]|0)|0);a=(k[b>>2]|0)+4|0;k[a>>2]=k[a>>2]|e}}else qz(k[a>>2]|0,c);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)+1;r=d;return}function pz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}if((k[(k[c>>2]|0)+24>>2]|0)<=(k[k[d>>2]>>2]|0)){r=e;return}k[k[d>>2]>>2]=k[(k[c>>2]|0)+24>>2];r=e;return}function qz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}pz(k[(k[c>>2]|0)+36>>2]|0,k[d>>2]|0);pz(k[(k[c>>2]|0)+44>>2]|0,k[d>>2]|0);pz(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0);pz(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0);rz(k[k[c>>2]>>2]|0,k[d>>2]|0);rz(k[(k[c>>2]|0)+40>>2]|0,k[d>>2]|0);rz(k[(k[c>>2]|0)+48>>2]|0,k[d>>2]|0);qz(k[(k[c>>2]|0)+52>>2]|0,k[d>>2]|0);r=e;return}function rz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0))break;pz(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function sz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=0;if(!(k[b>>2]|0)){a=k[d>>2]|0;r=f;return a|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];if(k[e>>2]|0)k[d>>2]=k[d>>2]|k[(k[e>>2]|0)+4>>2];k[c>>2]=(k[c>>2]|0)+1}a=k[d>>2]|0;r=f;return a|0}function tz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0;l=r;r=r+32|0;m=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;b=mz(k[m>>2]|0,152,0,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){m=k[h>>2]|0;r=l;return m|0}k[i>>2]=(k[e>>2]|0)+8+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+44>>2]=k[(k[i>>2]|0)+16>>2];k[(k[h>>2]|0)+28>>2]=k[(k[i>>2]|0)+44>>2];if((j[(k[(k[h>>2]|0)+44>>2]|0)+32>>1]|0)==(k[g>>2]|0))j[(k[h>>2]|0)+32>>1]=-1;else{j[(k[h>>2]|0)+32>>1]=k[g>>2];c=vR(1,0,((k[g>>2]|0)>=64?63:k[g>>2]|0)|0)|0;m=(k[i>>2]|0)+56|0;i=m;b=k[i+4>>2]|L;k[m>>2]=k[i>>2]|c;k[m+4>>2]=b}m=(k[h>>2]|0)+4|0;k[m>>2]=k[m>>2]|4;m=k[h>>2]|0;r=l;return m|0}function uz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;i=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a:do if((k[(k[f>>2]|0)+4>>2]|0)==0?(c=k[(k[f>>2]|0)+8>>2]|0,k[j>>2]=c,(c|0)!=0):0){k[i>>2]=k[e>>2];b:while(1){if(!(k[i>>2]|0))break a;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[i>>2]>>2]|0))break;if(!(be(k[j>>2]|0,k[(k[i>>2]|0)+8+(k[h>>2]<<4)>>2]|0)|0))break b;k[h>>2]=(k[h>>2]|0)+1}k[i>>2]=k[(k[i>>2]|0)+4>>2]}k[k[g>>2]>>2]=k[i>>2];k[d>>2]=(k[i>>2]|0)+8+(k[h>>2]<<4);j=k[d>>2]|0;r=l;return j|0}while(0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;e=q+32|0;f=q+28|0;g=q+24|0;m=q+20|0;h=q+16|0;i=q+12|0;n=q+8|0;o=q+4|0;p=q;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((k[k[f>>2]>>2]|0)>0)a=((k[k[f>>2]>>2]|0)-1|0)*72|0;else a=0;k[i>>2]=80+a;i=k[i>>2]|0;i=Pw(k[e>>2]|0,i,((i|0)<0)<<31>>31)|0;k[m>>2]=i;if(!(k[m>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}i=k[k[f>>2]>>2]|0;k[(k[m>>2]|0)+4>>2]=i;k[k[m>>2]>>2]=i;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=(k[m>>2]|0)+8+((k[h>>2]|0)*72|0);k[o>>2]=(k[f>>2]|0)+8+((k[h>>2]|0)*72|0);k[k[n>>2]>>2]=k[k[o>>2]>>2];i=xh(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+4>>2]=i;i=xh(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[n>>2]|0)+8>>2]=i;i=xh(k[e>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=i;k[(k[n>>2]|0)+36>>2]=k[(k[o>>2]|0)+36>>2];k[(k[n>>2]|0)+44>>2]=k[(k[o>>2]|0)+44>>2];k[(k[n>>2]|0)+24>>2]=k[(k[o>>2]|0)+24>>2];k[(k[n>>2]|0)+28>>2]=k[(k[o>>2]|0)+28>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>1&1){i=xh(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}k[(k[n>>2]|0)+68>>2]=k[(k[o>>2]|0)+68>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1){i=Fy(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}i=k[(k[o>>2]|0)+16>>2]|0;k[(k[n>>2]|0)+16>>2]=i;k[p>>2]=i;if(k[p>>2]|0){i=(k[p>>2]|0)+36|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16}c=Rx(k[e>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+20>>2]=c;c=xy(k[e>>2]|0,k[(k[o>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+48>>2]=c;c=xz(k[e>>2]|0,k[(k[o>>2]|0)+52>>2]|0)|0;k[(k[n>>2]|0)+52>>2]=c;c=(k[o>>2]|0)+56|0;b=k[c+4>>2]|0;i=(k[n>>2]|0)+56|0;k[i>>2]=k[c>>2];k[i+4>>2]=b;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];p=k[d>>2]|0;r=q;return p|0}function wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;if(!(k[d>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[f>>2]=24+((k[k[d>>2]>>2]|0)-1<<4);b=k[f>>2]|0;b=zh(k[c>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(!(k[g>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[k[g>>2]>>2]=k[k[d>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;b=Rx(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+8>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+8>>2]=b;b=Fy(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+4>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+4>>2]=b;b=xh(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)>>2]|0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)>>2]=b;k[e>>2]=(k[e>>2]|0)+1}g=k[g>>2]|0;r=h;return g|0}function xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}b=Pw(k[d>>2]|0,8,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[(k[g>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];b=Pw(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]<<3,0)|0;k[k[g>>2]>>2]=b;if(!(k[k[g>>2]>>2]|0)){ag(k[d>>2]|0,k[g>>2]|0);k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0))break;k[h>>2]=(k[k[g>>2]>>2]|0)+(k[f>>2]<<3);k[i>>2]=(k[k[e>>2]>>2]|0)+(k[f>>2]<<3);b=xh(k[d>>2]|0,k[k[i>>2]>>2]|0)|0;k[k[h>>2]>>2]=b;k[(k[h>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function yz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;A=N+32|0;K=N+24|0;J=N+16|0;h=N+8|0;g=N;E=N+132|0;F=N+128|0;m=N+124|0;n=N+120|0;o=N+116|0;G=N+112|0;z=N+96|0;H=N+92|0;I=N+88|0;p=N+84|0;v=N+80|0;L=N+76|0;M=N+72|0;t=N+68|0;f=N+64|0;B=N+60|0;s=N+56|0;y=N+136|0;C=N+52|0;x=N+48|0;q=N+44|0;u=N+40|0;w=N+36|0;k[F>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[G>>2]=e;k[p>>2]=k[(k[m>>2]|0)+52>>2];k[v>>2]=k[(k[m>>2]|0)+48>>2];k[L>>2]=0;k[f>>2]=k[(k[F>>2]|0)+328>>2];while(1){if(!(k[f>>2]|0))break;if((k[(k[f>>2]|0)+4>>2]|0)==(k[m>>2]|0)){D=4;break}k[f>>2]=k[(k[f>>2]|0)+8>>2]}if((D|0)==4){M=k[F>>2]|0;k[g>>2]=k[k[m>>2]>>2];M=Lh(M,31513,g)|0;k[k[G>>2]>>2]=M;k[E>>2]=6;M=k[E>>2]|0;r=N;return M|0}d=k[F>>2]|0;k[h>>2]=k[k[m>>2]>>2];d=Lh(d,19255,h)|0;k[M>>2]=d;if(!(k[M>>2]|0)){k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}a=zh(k[F>>2]|0,28,0)|0;k[H>>2]=a;a=k[F>>2]|0;if(!(k[H>>2]|0)){ag(a,k[M>>2]|0);k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}k[k[H>>2]>>2]=a;k[(k[H>>2]|0)+4>>2]=k[n>>2];d=Nh(k[F>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[t>>2]=d;k[(k[(k[m>>2]|0)+52>>2]|0)+4>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[z+4>>2]=k[m>>2];k[z>>2]=k[H>>2];k[z+8>>2]=k[(k[F>>2]|0)+328>>2];k[z+12>>2]=0;k[(k[F>>2]|0)+328>>2]=z;v=ac[k[o>>2]&255](k[F>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[v>>2]|0,k[p>>2]|0,(k[H>>2]|0)+8|0,L)|0;k[I>>2]=v;k[(k[F>>2]|0)+328>>2]=k[z+8>>2];if((k[I>>2]|0)==7)th(k[F>>2]|0);a:do if(!(k[I>>2]|0)){if(k[(k[H>>2]|0)+8>>2]|0){L=k[(k[H>>2]|0)+8>>2]|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[k[(k[H>>2]|0)+8>>2]>>2]=k[k[n>>2]>>2];k[(k[H>>2]|0)+12>>2]=1;if(!(k[z+12>>2]|0)){k[B>>2]=31585;K=k[F>>2]|0;L=k[B>>2]|0;k[A>>2]=k[k[m>>2]>>2];L=Lh(K,L,A)|0;k[k[G>>2]>>2]=L;ru(k[H>>2]|0);k[I>>2]=1;break}i[y>>0]=0;k[(k[H>>2]|0)+24>>2]=k[(k[m>>2]|0)+56>>2];k[(k[m>>2]|0)+56>>2]=k[H>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(j[(k[m>>2]|0)+34>>1]|0))break a;k[C>>2]=k[(k[(k[m>>2]|0)+4>>2]|0)+((k[s>>2]|0)*24|0)+12>>2];k[q>>2]=0;do if(k[C>>2]|0){L=Sf(k[C>>2]|0)|0;k[x>>2]=L;if(!(Jd(31631,k[C>>2]|0,6)|0)){if((i[(k[C>>2]|0)+6>>0]|0)!=0?(i[(k[C>>2]|0)+6>>0]|0)!=32:0)D=27}else D=27;b:do if((D|0)==27){D=0;k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[x>>2]|0))break b;if(!(Jd(31638,(k[C>>2]|0)+(k[q>>2]|0)|0,7)|0)){if(!(i[(k[C>>2]|0)+((k[q>>2]|0)+7)>>0]|0))break;if((i[(k[C>>2]|0)+((k[q>>2]|0)+7)>>0]|0)==32)break}k[q>>2]=(k[q>>2]|0)+1}k[q>>2]=(k[q>>2]|0)+1}while(0);if((k[q>>2]|0)>=(k[x>>2]|0)){L=(k[m>>2]|0)+42|0;i[L>>0]=l[L>>0]|l[y>>0];break}k[w>>2]=6+((i[(k[C>>2]|0)+((k[q>>2]|0)+6)>>0]|0)!=0?1:0);k[u>>2]=k[q>>2];while(1){if(((k[u>>2]|0)+(k[w>>2]|0)|0)>(k[x>>2]|0))break;i[(k[C>>2]|0)+(k[u>>2]|0)>>0]=i[(k[C>>2]|0)+((k[u>>2]|0)+(k[w>>2]|0))>>0]|0;k[u>>2]=(k[u>>2]|0)+1}if((k[q>>2]|0)>0?(i[(k[C>>2]|0)+(k[q>>2]|0)>>0]|0)==0:0)i[(k[C>>2]|0)+((k[q>>2]|0)-1)>>0]=0;L=(k[(k[m>>2]|0)+4>>2]|0)+((k[s>>2]|0)*24|0)+23|0;i[L>>0]=l[L>>0]|2;i[y>>0]=-128}else{L=(k[m>>2]|0)+42|0;i[L>>0]=l[L>>0]|l[y>>0]}while(0);k[s>>2]=(k[s>>2]|0)+1}}}else{a=k[F>>2]|0;if(!(k[L>>2]|0)){k[J>>2]=k[M>>2];L=Lh(a,31555,J)|0;k[k[G>>2]>>2]=L}else{k[K>>2]=k[L>>2];K=Lh(a,19255,K)|0;k[k[G>>2]>>2]=K;Ud(k[L>>2]|0)}ag(k[F>>2]|0,k[H>>2]|0)}while(0);ag(k[F>>2]|0,k[M>>2]|0);k[E>>2]=k[I>>2];M=k[E>>2]|0;r=N;return M|0}function zz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[k[b>>2]>>2];if(!(i[(k[c>>2]|0)+140+5>>0]|0)){a=yi(k[c>>2]|0,(k[b>>2]|0)+4|0)|0;k[d>>2]=a}if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}k[(k[b>>2]|0)+12>>2]=k[d>>2];a=(k[b>>2]|0)+68|0;k[a>>2]=(k[a>>2]|0)+1;d=k[d>>2]|0;r=e;return d|0}function Az(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;m=j+24|0;l=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[m>>2]=k[k[c>>2]>>2];k[l>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2];kx(k[c>>2]|0,0,k[d>>2]|0);k[f>>2]=k[(k[c>>2]|0)+72>>2];a=(k[c>>2]|0)+72|0;k[a>>2]=(k[a>>2]|0)+3;Ez(k[c>>2]|0,k[d>>2]|0,k[f>>2]|0,0,0);k[e>>2]=(k[(k[c>>2]|0)+76>>2]|0)+1;k[g>>2]=k[(k[c>>2]|0)+72>>2];k[h>>2]=k[(k[l>>2]|0)+8+8>>2];while(1){if(!(k[h>>2]|0))break;k[i>>2]=k[(k[h>>2]|0)+8>>2];Fz(k[c>>2]|0,k[i>>2]|0,0,k[f>>2]|0,k[e>>2]|0,k[g>>2]|0);k[h>>2]=k[k[h>>2]>>2]}Gz(k[c>>2]|0,k[d>>2]|0);r=j;return}function Bz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;c=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;b=Nw(k[f>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;b=ti(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;ag(k[f>>2]|0,k[e>>2]|0);r=d;return k[c>>2]|0}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Nh(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;kx(k[d>>2]|0,0,k[g>>2]|0);k[h>>2]=k[(k[d>>2]|0)+72>>2];c=(k[d>>2]|0)+72|0;k[c>>2]=(k[c>>2]|0)+3;c=k[d>>2]|0;a=k[g>>2]|0;b=k[h>>2]|0;if(k[f>>2]|0)Ez(c,a,b,k[k[f>>2]>>2]|0,31725);else Ez(c,a,b,k[k[e>>2]>>2]|0,31729);Fz(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+76>>2]|0)+1|0,k[(k[d>>2]|0)+72>>2]|0);Gz(k[d>>2]|0,k[g>>2]|0);r=i;return}function Dz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+8|0;o=q;e=q+36|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;n=q+16|0;m=q+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=k[k[f>>2]>>2];b=(k[m>>2]|0)+140|0;if((k[(k[h>>2]|0)+4>>2]|0)>>>0>0){if(i[b+5>>0]|0){Kh(k[f>>2]|0,31688,o);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}k[k[j>>2]>>2]=k[h>>2];o=Bz(k[m>>2]|0,k[g>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)<0){o=k[f>>2]|0;k[p>>2]=k[g>>2];Kh(o,31705,p);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}}else{k[n>>2]=l[b+4>>0];k[k[j>>2]>>2]=k[g>>2]}k[e>>2]=k[n>>2];p=k[e>>2]|0;r=q;return p|0}function Ez(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;v=x+16|0;u=x;f=x+84|0;g=x+80|0;h=x+76|0;j=x+72|0;l=x+68|0;p=x+64|0;o=x+60|0;q=x+56|0;t=x+52|0;n=x+40|0;m=x+88|0;w=x+36|0;s=x+32|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[o>>2]=k[k[f>>2]>>2];e=Zw(k[f>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){r=x;return}k[q>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]<<4);k[p>>2]=0;while(1){if((k[p>>2]|0)>=3)break;k[w>>2]=k[5224+(k[p>>2]<<3)>>2];e=zi(k[o>>2]|0,k[w>>2]|0,k[k[q>>2]>>2]|0)|0;k[s>>2]=e;do if(!e){if(k[5224+(k[p>>2]<<3)+4>>2]|0){e=k[f>>2]|0;a=k[w>>2]|0;d=k[5224+(k[p>>2]<<3)+4>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;k[u+8>>2]=d;Yw(e,31786,u);k[n+(k[p>>2]<<2)>>2]=k[(k[f>>2]|0)+396>>2];i[m+(k[p>>2]|0)>>0]=16}}else{k[n+(k[p>>2]<<2)>>2]=k[(k[s>>2]|0)+28>>2];i[m+(k[p>>2]|0)>>0]=0;Iz(k[f>>2]|0,k[g>>2]|0,k[n+(k[p>>2]<<2)>>2]|0,1,k[w>>2]|0);if(k[j>>2]|0){e=k[f>>2]|0;c=k[w>>2]|0;a=k[l>>2]|0;d=k[j>>2]|0;k[v>>2]=k[k[q>>2]>>2];k[v+4>>2]=c;k[v+8>>2]=a;k[v+12>>2]=d;Yw(e,31809,v);break}else{$w(k[t>>2]|0,119,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0)|0;break}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if(!(k[5224+(k[p>>2]<<3)+4>>2]|0))break;Oh(k[t>>2]|0,55,(k[h>>2]|0)+(k[p>>2]|0)|0,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0,3)|0;Ph(k[t>>2]|0,i[m+(k[p>>2]|0)>>0]|0);k[p>>2]=(k[p>>2]|0)+1}r=x;return}function Fz(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+128|0;j=R+116|0;n=R+112|0;o=R+108|0;p=R+104|0;g=R+100|0;h=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;q=R+4|0;E=R;k[j>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=e;k[h>>2]=f;k[u>>2]=k[k[j>>2]>>2];k[A>>2]=-1;i[D>>0]=1;b=k[g>>2]|0;k[g>>2]=b+1;k[I>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[L>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[G>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[N>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[M>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[H>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[K>>2]=b;k[J>>2]=k[g>>2];if((k[(k[j>>2]|0)+76>>2]|0)>(k[g>>2]|0))g=k[(k[j>>2]|0)+76>>2]|0;else g=k[g>>2]|0;k[(k[j>>2]|0)+76>>2]=g;b=Zw(k[j>>2]|0)|0;k[O>>2]=b;if((k[O>>2]|0)==0|(k[n>>2]|0)==0){r=R;return}if(!(k[(k[n>>2]|0)+28>>2]|0)){r=R;return}if(!(jf(31733,k[k[n>>2]>>2]|0,0)|0)){r=R;return}b=Nh(k[u>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[x>>2]=b;if(Ww(k[j>>2]|0,28,k[k[n>>2]>>2]|0,0,k[(k[(k[u>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2]|0)|0){r=R;return}Iz(k[j>>2]|0,k[x>>2]|0,k[(k[n>>2]|0)+28>>2]|0,0,k[k[n>>2]>>2]|0);b=k[h>>2]|0;k[h>>2]=b+1;k[z>>2]=b;b=k[h>>2]|0;k[h>>2]=b+1;k[y>>2]=b;if((k[(k[j>>2]|0)+72>>2]|0)>(k[h>>2]|0))g=k[(k[j>>2]|0)+72>>2]|0;else g=k[h>>2]|0;k[(k[j>>2]|0)+72>>2]=g;Jz(k[j>>2]|0,k[z>>2]|0,k[x>>2]|0,k[n>>2]|0,54);bx(k[O>>2]|0,k[M>>2]|0,k[k[n>>2]>>2]|0)|0;k[F>>2]=k[(k[n>>2]|0)+8>>2];while(1){g=k[o>>2]|0;if(!(k[F>>2]|0))break;if(!((g|0)!=0?(k[o>>2]|0)!=(k[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(k[(k[F>>2]|0)+36>>2]|0))i[D>>0]=0;if(((l[(k[n>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[F>>2]|0)+55>>0]&3|0)==2:0){k[B>>2]=m[(k[F>>2]|0)+50>>1];k[P>>2]=k[k[n>>2]>>2];k[C>>2]=(k[B>>2]|0)-1}else{k[B>>2]=m[(k[F>>2]|0)+52>>1];k[P>>2]=k[k[F>>2]>>2];if((l[(k[F>>2]|0)+55>>0]|0)>>>3&1)g=m[(k[F>>2]|0)+50>>1]|0;else g=k[B>>2]|0;k[C>>2]=g-1}bx(k[O>>2]|0,k[H>>2]|0,k[P>>2]|0)|0;if((k[(k[j>>2]|0)+76>>2]|0)>((k[J>>2]|0)+(k[C>>2]|0)|0))g=k[(k[j>>2]|0)+76>>2]|0;else g=(k[J>>2]|0)+(k[C>>2]|0)|0;k[(k[j>>2]|0)+76>>2]=g;dx(k[O>>2]|0,54,k[y>>2]|0,k[(k[F>>2]|0)+44>>2]|0,k[x>>2]|0)|0;Kz(k[j>>2]|0,k[F>>2]|0);$w(k[O>>2]|0,22,k[B>>2]|0,(k[L>>2]|0)+1|0)|0;$w(k[O>>2]|0,22,m[(k[F>>2]|0)+50>>1]|0,(k[L>>2]|0)+2|0)|0;cx(k[O>>2]|0,35,0,(k[L>>2]|0)+1|0,k[L>>2]|0,5108,-5)|0;Ph(k[O>>2]|0,2);h=Hz(k[O>>2]|0,108,k[y>>2]|0)|0;k[t>>2]=h;$w(k[O>>2]|0,22,0,k[G>>2]|0)|0;h=Lz(k[O>>2]|0)|0;k[s>>2]=h;if((k[C>>2]|0)>0){h=Mz(k[O>>2]|0)|0;k[v>>2]=h;h=Pw(k[u>>2]|0,k[C>>2]<<2,0)|0;k[q>>2]=h;if(!(k[q>>2]|0))break;gx(k[O>>2]|0,13)|0;h=Lz(k[O>>2]|0)|0;k[s>>2]=h;if(((k[C>>2]|0)==1?(m[(k[F>>2]|0)+50>>1]|0|0)==1:0)?(l[(k[F>>2]|0)+54>>0]|0|0)!=0:0)$w(k[O>>2]|0,77,k[J>>2]|0,k[v>>2]|0)|0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[C>>2]|0))break;h=Nz(k[j>>2]|0,k[(k[(k[F>>2]|0)+32>>2]|0)+(k[w>>2]<<2)>>2]|0)|0;k[E>>2]=h;$w(k[O>>2]|0,22,k[w>>2]|0,k[G>>2]|0)|0;dx(k[O>>2]|0,47,k[y>>2]|0,k[w>>2]|0,k[N>>2]|0)|0;h=cx(k[O>>2]|0,78,k[N>>2]|0,0,(k[J>>2]|0)+(k[w>>2]|0)|0,k[E>>2]|0,-4)|0;k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]=h;Ph(k[O>>2]|0,-128);k[w>>2]=(k[w>>2]|0)+1}$w(k[O>>2]|0,22,k[C>>2]|0,k[G>>2]|0)|0;Oz(k[O>>2]|0,k[v>>2]|0)|0;Pz(k[O>>2]|0,(k[s>>2]|0)-1|0);k[w>>2]=0;while(1){g=k[O>>2]|0;if((k[w>>2]|0)>=(k[C>>2]|0))break;Pz(g,k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]|0);dx(k[O>>2]|0,47,k[y>>2]|0,k[w>>2]|0,(k[J>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+1}Qz(g,k[v>>2]|0);ag(k[u>>2]|0,k[q>>2]|0)}cx(k[O>>2]|0,35,1,k[L>>2]|0,k[N>>2]|0,5140,-5)|0;Ph(k[O>>2]|0,2);$w(k[O>>2]|0,7,k[y>>2]|0,k[s>>2]|0)|0;Rz(k[O>>2]|0,k[L>>2]|0,0,k[K>>2]|0);cx(k[O>>2]|0,49,k[M>>2]|0,3,k[N>>2]|0,31742,0)|0;$w(k[O>>2]|0,74,k[p>>2]|0,k[I>>2]|0)|0;dx(k[O>>2]|0,75,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Ph(k[O>>2]|0,8);Pz(k[O>>2]|0,k[t>>2]|0)}while(0);k[F>>2]=k[(k[F>>2]|0)+20>>2]}if(g){r=R;return}if(!(l[D>>0]|0)){r=R;return}$w(k[O>>2]|0,50,k[z>>2]|0,k[K>>2]|0)|0;Q=Hz(k[O>>2]|0,46,k[K>>2]|0)|0;k[A>>2]=Q;$w(k[O>>2]|0,25,0,k[H>>2]|0)|0;cx(k[O>>2]|0,49,k[M>>2]|0,3,k[N>>2]|0,31742,0)|0;$w(k[O>>2]|0,74,k[p>>2]|0,k[I>>2]|0)|0;dx(k[O>>2]|0,75,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Ph(k[O>>2]|0,8);Pz(k[O>>2]|0,k[A>>2]|0);r=R;return}function Gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;a=Zw(k[f>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){r=e;return}Hz(k[d>>2]|0,124,k[c>>2]|0)|0;r=e;return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=dx(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;r=d;return c|0}function Iz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;j=s+24|0;m=s+20|0;n=s+32|0;o=s+16|0;p=s+12|0;f=s+8|0;g=s+4|0;q=s;k[t>>2]=a;k[j>>2]=b;k[m>>2]=c;i[n>>0]=d;k[o>>2]=e;b=k[t>>2]|0;if(k[(k[t>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[p>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+404>>2]|0))break;k[q>>2]=(k[(k[p>>2]|0)+408>>2]|0)+(k[f>>2]<<4);if((k[k[q>>2]>>2]|0)==(k[j>>2]|0)?(k[(k[q>>2]|0)+4>>2]|0)==(k[m>>2]|0):0){h=7;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==7){if(l[(k[q>>2]|0)+8>>0]|0)b=1;else b=(l[n>>0]|0|0)!=0;i[(k[q>>2]|0)+8>>0]=b&1;r=s;return}k[g>>2]=(k[(k[p>>2]|0)+404>>2]|0)+1<<4;b=k[g>>2]|0;b=Fx(k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+408>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[p>>2]|0)+408>>2]=b;b=(k[p>>2]|0)+404|0;if(k[(k[p>>2]|0)+408>>2]|0){t=k[b>>2]|0;k[b>>2]=t+1;k[q>>2]=(k[(k[p>>2]|0)+408>>2]|0)+(t<<4);k[k[q>>2]>>2]=k[j>>2];k[(k[q>>2]|0)+4>>2]=k[m>>2];i[(k[q>>2]|0)+8>>0]=i[n>>0]|0;k[(k[q>>2]|0)+12>>2]=k[o>>2];r=s;return}else{k[b>>2]=0;th(k[k[p>>2]>>2]|0);r=s;return}}function Jz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;d=Zw(k[f>>2]|0)|0;k[o>>2]=d;Iz(k[f>>2]|0,k[h>>2]|0,k[(k[i>>2]|0)+28>>2]|0,((k[m>>2]|0)==55?1:0)&255,k[k[i>>2]>>2]|0);if(!(l[(k[i>>2]|0)+42>>0]&32)){Oh(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[i>>2]|0)+28>>2]|0,k[h>>2]|0,j[(k[i>>2]|0)+34>>1]|0)|0;r=p;return}else{d=Oj(k[i>>2]|0)|0;k[n>>2]=d;dx(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+44>>2]|0,k[h>>2]|0)|0;Kz(k[f>>2]|0,k[n>>2]|0);r=p;return}}function Kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;f=c;k[e>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];a=k[f>>2]|0;Sh(a,-1,Zz(k[e>>2]|0,k[d>>2]|0)|0,-6);r=c;return}function Lz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+32>>2]|0}function Mz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[(k[e>>2]|0)+24>>2];e=(k[c>>2]|0)+116|0;a=k[e>>2]|0;k[e>>2]=a+1;k[b>>2]=a;if(!(k[b>>2]&(k[b>>2]|0)-1)){e=Fx(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+120>>2]|0,(k[b>>2]<<1)+1<<2,0)|0;k[(k[c>>2]|0)+120>>2]=e}if(!(k[(k[c>>2]|0)+120>>2]|0)){e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}k[(k[(k[c>>2]|0)+120>>2]|0)+(k[b>>2]<<2)>>2]=-1;e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}function Nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;c=g+12|0;d=g+8|0;j=g+4|0;e=g+17|0;h=g+16|0;f=g;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[k[c>>2]>>2];i[e>>0]=i[(k[j>>2]|0)+62>>0]|0;i[h>>0]=i[(k[j>>2]|0)+140+5>>0]|0;b=Wj(k[j>>2]|0,i[e>>0]|0,k[d>>2]|0,l[h>>0]|0)|0;k[f>>2]=b;if(i[h>>0]|0){j=k[f>>2]|0;r=g;return j|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[f>>2]|0;r=g;return j|0}j=Zx(k[c>>2]|0,i[e>>0]|0,k[f>>2]|0,k[d>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=g;return j|0}function Oz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=dx(k[e>>2]|0,13,0,k[d>>2]|0,0)|0;r=c;return a|0}function Pz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[(k[d>>2]|0)+24>>2]|0)+96>>2]=(k[(k[d>>2]|0)+32>>2]|0)-1;Vz(k[d>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+32>>2]|0);r=c;return}function Qz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;e=f+4|0;d=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[(k[c>>2]|0)+24>>2];k[d>>2]=-1-(k[g>>2]|0);if(k[(k[e>>2]|0)+120>>2]|0)k[(k[(k[e>>2]|0)+120>>2]|0)+(k[d>>2]<<2)>>2]=k[(k[c>>2]|0)+32>>2];k[(k[e>>2]|0)+96>>2]=(k[(k[c>>2]|0)+32>>2]|0)-1;r=f;return}function Rz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e;k[f>>2]=a;k[h>>2]=b;k[e+4>>2]=c;k[g>>2]=d;cx(k[f>>2]|0,35,0,k[h>>2]|0,k[g>>2]|0,5172,-5)|0;Ph(k[f>>2]|0,1);r=e;return}function Sz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;j=n+24|0;i=n+16|0;d=n+56|0;o=n+48|0;h=n+44|0;l=n+40|0;e=n+36|0;m=n+32|0;g=n+8|0;f=n;k[d>>2]=a;k[n+52>>2]=b;k[o>>2]=c;a=je(k[k[o>>2]>>2]|0)|0;k[h>>2]=a;a=((k[(k[h>>2]|0)+12>>2]|0)+1|0)*25|0;a=sg(a,((a|0)<0)<<31>>31)|0;k[m>>2]=a;if(!(k[m>>2]|0)){De(k[d>>2]|0);r=n;return}o=k[m>>2]|0;a=i;k[a>>2]=k[k[h>>2]>>2];k[a+4>>2]=0;_d(24,o,31755,i)|0;o=k[m>>2]|0;o=o+(Sf(k[m>>2]|0)|0)|0;k[l>>2]=o;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;o=g;k[o>>2]=(k[(k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]<<2)>>2]|0)+1;k[o+4>>2]=0;o=g;o=qR(k[k[h>>2]>>2]|0,0,k[o>>2]|0,k[o+4>>2]|0)|0;o=pR(o|0,L|0,1,0)|0;c=g;c=CR(o|0,L|0,k[c>>2]|0,k[c+4>>2]|0)|0;o=f;k[o>>2]=c;k[o+4>>2]=L;o=k[l>>2]|0;c=f;a=k[c+4>>2]|0;i=j;k[i>>2]=k[c>>2];k[i+4>>2]=a;_d(24,o,31760,j)|0;o=Sf(k[l>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+o;k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[m>>2]|0,-1,148);r=n;return}function Tz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[g+20>>2]=a;k[g+16>>2]=b;k[h>>2]=c;a=je(k[k[h>>2]>>2]|0)|0;k[f>>2]=a;a=ne(k[(k[h>>2]|0)+4>>2]|0)|0;k[e>>2]=a;if(!(k[k[f>>2]>>2]|0)){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}Uz(k[f>>2]|0,k[e>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break;h=(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}k[d>>2]=k[e>>2];while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;h=(k[(k[f>>2]|0)+20+4>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}function Uz(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function Vz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(Wz(k[f>>2]|0,k[e>>2]|0)|0)+8|0;k[c>>2]=a;r=d;return}function Wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)<0)k[e>>2]=(k[(k[d>>2]|0)+32>>2]|0)-1;if(i[(k[k[d>>2]>>2]|0)+65>>0]|0){k[c>>2]=5204;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0);a=k[c>>2]|0;r=f;return a|0}return 0}function Xz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;d=j+32|0;m=j+24|0;i=j+20|0;f=j+16|0;h=j+12|0;g=j+8|0;l=j+4|0;e=j;k[d>>2]=a;k[j+28>>2]=b;k[m>>2]=c;a=ne(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;k[g>>2]=(k[f>>2]|0)+1&-2;a=ne(k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=a;k[l>>2]=56+(k[g>>2]<<2)+(k[g>>2]<<2);a=Ge(k[d>>2]|0)|0;k[e>>2]=a;a=k[l>>2]|0;a=zh(k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;k[i>>2]=a;if(!(k[i>>2]|0)){De(k[d>>2]|0);r=j;return}else{k[(k[i>>2]|0)+52>>2]=k[e>>2];k[k[i>>2]>>2]=0;k[(k[i>>2]|0)+8>>2]=k[f>>2];k[(k[i>>2]|0)+12>>2]=k[h>>2];k[(k[i>>2]|0)+20+4>>2]=(k[i>>2]|0)+56;k[(k[i>>2]|0)+20>>2]=(k[(k[i>>2]|0)+20+4>>2]|0)+(k[g>>2]<<2);qe(k[d>>2]|0,k[i>>2]|0,56,153);r=j;return}}function Yz(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ag(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0);r=b;return}function Zz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;c=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;k[h>>2]=m[(k[f>>2]|0)+52>>1];k[c>>2]=m[(k[f>>2]|0)+50>>1];if(k[(k[e>>2]|0)+68>>2]|0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=k[k[e>>2]>>2]|0;if((l[(k[f>>2]|0)+55>>0]|0)>>>3&1){c=_z(b,k[c>>2]|0,(k[h>>2]|0)-(k[c>>2]|0)|0)|0;k[j>>2]=c}else{c=_z(b,k[h>>2]|0,0)|0;k[j>>2]=c}if(k[j>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[n>>2]=k[(k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]<<2)>>2];if((k[n>>2]|0)==35690)b=0;else b=Nz(k[e>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+20+(k[g>>2]<<2)>>2]=b;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}if(k[(k[e>>2]|0)+68>>2]|0){$z(k[j>>2]|0);k[j>>2]=0}}k[d>>2]=k[j>>2];n=k[d>>2]|0;r=o;return n|0}function _z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=((k[e>>2]|0)+(k[f>>2]|0)|0)*5;a=ig(24+(k[g>>2]|0)|0,0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+16>>2]=(k[h>>2]|0)+20+((k[e>>2]|0)+(k[f>>2]|0)<<2);j[(k[h>>2]|0)+6>>1]=k[e>>2];j[(k[h>>2]|0)+8>>1]=k[f>>2];i[(k[h>>2]|0)+4>>0]=i[(k[d>>2]|0)+62>>0]|0;k[(k[h>>2]|0)+12>>2]=k[d>>2];k[k[h>>2]>>2]=1;uR((k[h>>2]|0)+24|0,0,k[g>>2]|0)|0;h=k[h>>2]|0;r=l;return h|0}else{th(k[d>>2]|0);h=k[h>>2]|0;r=l;return h|0}return 0}function $z(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[k[b>>2]>>2]|0){r=c;return}ag(0,k[b>>2]|0);r=c;return}function aA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;k[h>>2]=k[(k[e>>2]|0)+16>>2];while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[h>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[g>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+8>>2];bA(k[c>>2]|0,k[i>>2]|0,k[d>>2]|0);k[g>>2]=k[k[g>>2]>>2]}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+16}r=j;return}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if(!((k[f>>2]|0)!=0?(rB(k[f>>2]|0,k[h>>2]|0)|0)==0:0)){c=Nh(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;kx(k[d>>2]|0,0,k[g>>2]|0);cA(k[d>>2]|0,k[h>>2]|0,-1)}k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=i;return}function cA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;j=x+64|0;n=x+60|0;d=x+56|0;h=x+52|0;t=x+48|0;q=x+44|0;s=x+40|0;o=x+36|0;p=x+32|0;i=x+28|0;f=x+24|0;w=x+20|0;g=x+16|0;v=x+12|0;y=x+8|0;e=x+4|0;u=x;k[j>>2]=a;k[n>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[n>>2]|0)+12>>2];a=(k[j>>2]|0)+72|0;b=k[a>>2]|0;k[a>>2]=b+1;k[t>>2]=b;b=(k[j>>2]|0)+72|0;a=k[b>>2]|0;k[b>>2]=a+1;k[q>>2]=a;k[y>>2]=k[k[j>>2]>>2];a=Nh(k[y>>2]|0,k[(k[n>>2]|0)+24>>2]|0)|0;k[e>>2]=a;if(Ww(k[j>>2]|0,27,k[k[n>>2]>>2]|0,0,k[(k[(k[y>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0){r=x;return}Iz(k[j>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+28>>2]|0,1,k[k[h>>2]>>2]|0);y=Zw(k[j>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0)){r=x;return}if((k[d>>2]|0)>=0)k[i>>2]=k[d>>2];else k[i>>2]=k[(k[n>>2]|0)+44>>2];a=Zz(k[j>>2]|0,k[n>>2]|0)|0;k[g>>2]=a;a=(k[j>>2]|0)+72|0;b=k[a>>2]|0;k[a>>2]=b+1;k[s>>2]=b;b=k[w>>2]|0;a=k[s>>2]|0;y=m[(k[n>>2]|0)+50>>1]|0;cx(b,58,a,0,y,dA(k[g>>2]|0)|0,-6)|0;Jz(k[j>>2]|0,k[t>>2]|0,k[e>>2]|0,k[h>>2]|0,54);y=$w(k[w>>2]|0,108,k[t>>2]|0,0)|0;k[o>>2]=y;y=eA(k[j>>2]|0)|0;k[v>>2]=y;fA(k[j>>2]|0,k[n>>2]|0,k[t>>2]|0,k[v>>2]|0,0,f,0,0)|0;$w(k[w>>2]|0,109,k[s>>2]|0,k[v>>2]|0)|0;gA(k[j>>2]|0,k[f>>2]|0);$w(k[w>>2]|0,7,k[t>>2]|0,(k[o>>2]|0)+1|0)|0;Pz(k[w>>2]|0,k[o>>2]|0);if((k[d>>2]|0)<0)$w(k[w>>2]|0,119,k[i>>2]|0,k[e>>2]|0)|0;cx(k[w>>2]|0,55,k[q>>2]|0,k[i>>2]|0,k[e>>2]|0,k[g>>2]|0,-6)|0;Ph(k[w>>2]|0,(1|((k[d>>2]|0)>=0?16:0))&255);y=$w(k[w>>2]|0,106,k[s>>2]|0,0)|0;k[o>>2]=y;y=(k[g>>2]|0)!=0?(l[(k[n>>2]|0)+54>>0]|0|0)!=0:0;d=Lz(k[w>>2]|0)|0;if(y){k[u>>2]=d+3;Oz(k[w>>2]|0,k[u>>2]|0)|0;y=Lz(k[w>>2]|0)|0;k[p>>2]=y;Oh(k[w>>2]|0,99,k[s>>2]|0,k[u>>2]|0,k[v>>2]|0,m[(k[n>>2]|0)+50>>1]|0)|0;hA(k[j>>2]|0,2,k[n>>2]|0)}else k[p>>2]=d;dx(k[w>>2]|0,100,k[s>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;dx(k[w>>2]|0,105,k[q>>2]|0,0,-1)|0;dx(k[w>>2]|0,110,k[q>>2]|0,k[v>>2]|0,0)|0;Ph(k[w>>2]|0,16);iA(k[j>>2]|0,k[v>>2]|0);$w(k[w>>2]|0,3,k[s>>2]|0,k[p>>2]|0)|0;Pz(k[w>>2]|0,k[o>>2]|0);Hz(k[w>>2]|0,61,k[t>>2]|0)|0;Hz(k[w>>2]|0,61,k[q>>2]|0)|0;Hz(k[w>>2]|0,61,k[s>>2]|0)|0;r=x;return}function dA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[b>>2]|0){a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+1}r=c;return k[b>>2]|0}function eA(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;if(!(l[(k[c>>2]|0)+19>>0]|0)){a=a+76|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}else{e=a+19|0;a=(i[e>>0]|0)+-1<<24>>24;i[e>>0]=a;k[b>>2]=k[(k[c>>2]|0)+28+((a&255)<<2)>>2];c=k[b>>2]|0;r=d;return c|0}return 0}function fA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;n=y+44|0;o=y+40|0;p=y+36|0;q=y+32|0;i=y+28|0;m=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[i>>2]=e;k[m>>2]=f;k[s>>2]=g;k[t>>2]=h;k[x>>2]=k[(k[n>>2]|0)+8>>2];do if(k[m>>2]|0)if(k[(k[o>>2]|0)+36>>2]|0){h=Mz(k[x>>2]|0)|0;k[k[m>>2]>>2]=h;k[(k[n>>2]|0)+104>>2]=k[p>>2];sA(k[n>>2]|0);tA(k[n>>2]|0,k[(k[o>>2]|0)+36>>2]|0,k[k[m>>2]>>2]|0,16);break}else{k[k[m>>2]>>2]=0;break}while(0);if((k[i>>2]|0)!=0?((l[(k[o>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)i=j[(k[o>>2]|0)+50>>1]|0;else i=j[(k[o>>2]|0)+52>>1]|0;k[v>>2]=i&65535;h=uA(k[n>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;do if(k[s>>2]|0){if((k[w>>2]|0)==(k[t>>2]|0)?(k[(k[s>>2]|0)+36>>2]|0)==0:0)break;k[s>>2]=0}while(0);k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[v>>2]|0))break;if(!(((k[s>>2]|0)!=0?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)==(j[(k[(k[o>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0):0)?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)!=-2:0)){vA(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[u>>2]|0,(k[w>>2]|0)+(k[u>>2]|0)|0);wA(k[x>>2]|0,39)|0}k[u>>2]=(k[u>>2]|0)+1}if(!(k[q>>2]|0)){t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;xA(t,u,x);x=k[w>>2]|0;r=y;return x|0}dx(k[x>>2]|0,49,k[w>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;xA(t,u,x);x=k[w>>2]|0;r=y;return x|0}function gA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}Qz(k[(k[c>>2]|0)+8>>2]|0,k[d>>2]|0);qA(k[c>>2]|0);r=e;return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+80|0;o=s+8|0;n=s;d=s+68|0;e=s+64|0;f=s+60|0;q=s+56|0;h=s+52|0;g=s+24|0;l=s+20|0;p=s+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[(k[f>>2]|0)+12>>2];mg(g,k[k[d>>2]>>2]|0,0,0,200);if(k[(k[f>>2]|0)+40>>2]|0){k[n>>2]=k[k[f>>2]>>2];jA(g,31924,n);n=og(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;lA(n,o,p,q,-1,2);r=s;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break;k[p>>2]=k[(k[(k[l>>2]|0)+4>>2]|0)+((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]|0)*24|0)>>2];if(k[h>>2]|0)kA(g,31935,2);n=k[p>>2]|0;k[o>>2]=k[k[l>>2]>>2];k[o+4>>2]=n;jA(g,31016,o);k[h>>2]=(k[h>>2]|0)+1}n=og(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;lA(n,o,p,q,-1,2);r=s;return}function iA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){r=g;return}if((l[(k[d>>2]|0)+19>>0]|0|0)>=8){r=g;return}k[c>>2]=0;k[f>>2]=(k[d>>2]|0)+124;while(1){if((k[c>>2]|0)>=10){c=8;break}if((k[(k[f>>2]|0)+12>>2]|0)==(k[e>>2]|0)){c=6;break}k[c>>2]=(k[c>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){i[(k[f>>2]|0)+6>>0]=1;r=g;return}else if((c|0)==8){e=k[e>>2]|0;a=(k[d>>2]|0)+19|0;f=i[a>>0]|0;i[a>>0]=f+1<<24>>24;k[(k[d>>2]|0)+28+((f&255)<<2)>>2]=e;r=g;return}}function jA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;g=d+20|0;f=d+16|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;ng(k[g>>2]|0,k[f>>2]|0,e);r=d;return}function kA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(((k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]|0)|0)>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0){mA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}else{b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);sR((k[(k[d>>2]|0)+8>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}}function lA(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,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+16|0;h=p+12|0;j=p+8|0;l=p+4|0;m=p+21|0;n=p+20|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;i[m>>0]=e;i[n>>0]=f;a=Zw(k[g>>2]|0)|0;k[o>>2]=a;if((k[j>>2]|0)==2)Lx(k[g>>2]|0);cx(k[o>>2]|0,21,k[h>>2]|0,k[j>>2]|0,0,k[l>>2]|0,i[m>>0]|0)|0;Ph(k[o>>2]|0,i[n>>0]|0);r=p;return}function mA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=nA(k[d>>2]|0,k[f>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)<=0){r=g;return}sR((k[(k[d>>2]|0)+8>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,k[e>>2]|0,k[f>>2]|0)|0;b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);r=g;return}function nA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;d=j+8|0;c=j;k[f>>2]=a;k[g>>2]=b;if(i[(k[f>>2]|0)+24>>0]|0){k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}b=k[f>>2]|0;if(!(k[(k[f>>2]|0)+20>>2]|0)){k[g>>2]=(k[b+16>>2]|0)-(k[(k[f>>2]|0)+12>>2]|0)-1;oA(k[f>>2]|0,2);k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}if(l[b+25>>0]&4)b=k[(k[f>>2]|0)+8>>2]|0;else b=0;k[d>>2]=b;b=c;k[b>>2]=k[(k[f>>2]|0)+12>>2];k[b+4>>2]=0;b=(k[g>>2]|0)+1|0;a=c;b=qR(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;a=c;a=qR(k[a>>2]|0,k[a+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;b=L;if((b|0)<0|((b|0)==0?a>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){b=c;b=qR(k[b>>2]|0,k[b+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L}a=c;b=k[a+4>>2]|0;if((b|0)>0|((b|0)==0?(k[a>>2]|0)>>>0>(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){pA(k[f>>2]|0);oA(k[f>>2]|0,2);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}k[(k[f>>2]|0)+16>>2]=k[c>>2];if(k[k[f>>2]>>2]|0){d=Ow(k[k[f>>2]>>2]|0,k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}else{d=Wd(k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}b=k[f>>2]|0;if(!(k[h>>2]|0)){pA(b);oA(k[f>>2]|0,1);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}if((l[b+25>>0]&4|0)==0?(k[(k[f>>2]|0)+12>>2]|0)>>>0>0:0)sR(k[h>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=k[h>>2];h=ju(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[(k[f>>2]|0)+16>>2]=h;h=(k[f>>2]|0)+25|0;i[h>>0]=l[h>>0]|4;k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}function oA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=c+4|0;k[d>>2]=a;i[e>>0]=b;i[(k[d>>2]|0)+24>>0]=i[e>>0]|0;k[(k[d>>2]|0)+16>>2]=0;r=c;return}function pA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((l[(k[b>>2]|0)+25>>0]|0)&4)){a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}ag(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+8>>2]|0);a=(k[b>>2]|0)+25|0;i[a>>0]=(l[a>>0]|0)&-5;a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}function qA(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=(k[b>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+-1;k[c>>2]=0;k[d>>2]=(k[b>>2]|0)+124;while(1){if((k[c>>2]|0)>=10)break;if((k[(k[d>>2]|0)+12>>2]|0)!=0?(k[(k[d>>2]|0)+8>>2]|0)>(k[(k[b>>2]|0)+108>>2]|0):0){rA(k[b>>2]|0,k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+20}r=e;return}function rA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(i[(k[d>>2]|0)+6>>0]|0)){r=e;return}if((l[(k[c>>2]|0)+19>>0]|0)<8){b=k[(k[d>>2]|0)+12>>2]|0;f=(k[c>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[c>>2]|0)+28+((a&255)<<2)>>2]=b}i[(k[d>>2]|0)+6>>0]=0;r=e;return}function sA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function tA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=r;r=r+32|0;e=j+20|0;m=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];a=xy(k[h>>2]|0,k[m>>2]|0,0)|0;k[i>>2]=a;if(l[(k[h>>2]|0)+65>>0]|0){a=k[h>>2]|0;m=k[i>>2]|0;hv(a,m);r=j;return}VA(k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=k[h>>2]|0;m=k[i>>2]|0;hv(a,m);r=j;return}function uA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;e=f+4|0;g=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+64>>2];k[g>>2]=k[(k[c>>2]|0)+60>>2];if((k[d>>2]|0)<=(k[g>>2]|0)){g=(k[c>>2]|0)+64|0;k[g>>2]=(k[g>>2]|0)+(k[d>>2]|0);g=(k[c>>2]|0)+60|0;k[g>>2]=(k[g>>2]|0)-(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}else{k[e>>2]=(k[(k[c>>2]|0)+76>>2]|0)+1;g=(k[c>>2]|0)+76|0;k[g>>2]=(k[g>>2]|0)+(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}return 0}function vA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;m=n+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;j[m>>1]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[i>>2]<<1)>>1]|0;if((j[m>>1]|0)==-2){k[(k[f>>2]|0)+104>>2]=k[h>>2];CA(k[f>>2]|0,k[(k[(k[(k[g>>2]|0)+40>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[l>>2]|0);r=n;return}else{DA(k[(k[f>>2]|0)+8>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,j[m>>1]|0,k[l>>2]|0);r=n;return}}function wA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;f=e+8|0;k[d>>2]=a;i[f>>0]=b;if(((k[(k[d>>2]|0)+32>>2]|0)-1|0)>(k[(k[(k[d>>2]|0)+24>>2]|0)+96>>2]|0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+(((k[(k[d>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(l[f>>0]|0|0):0){f=zA(k[d>>2]|0,(k[(k[d>>2]|0)+32>>2]|0)-1|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}function xA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;yA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if((k[f>>2]|0)<=(k[(k[d>>2]|0)+60>>2]|0)){r=g;return}k[(k[d>>2]|0)+60>>2]=k[f>>2];k[(k[d>>2]|0)+64>>2]=k[e>>2];r=g;return}function yA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;d=j+24|0;e=j+20|0;l=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;k[g>>2]=(k[e>>2]|0)+(k[l>>2]|0)-1;k[f>>2]=0;k[h>>2]=(k[d>>2]|0)+124;while(1){if((k[f>>2]|0)>=10)break;k[i>>2]=k[(k[h>>2]|0)+12>>2];if((k[i>>2]|0)>=(k[e>>2]|0)?(k[i>>2]|0)<=(k[g>>2]|0):0){rA(k[d>>2]|0,k[h>>2]|0);k[(k[h>>2]|0)+12>>2]=0}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}r=j;return}function zA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[k[d>>2]>>2]|0)+65>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0);AA(k[k[d>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0;i[k[f>>2]>>0]=-96;k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}return 0}function AA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;e=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[e>>2]|0)){r=h;return}switch(k[d>>2]|0){case -20:{BA(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(k[(k[f>>2]|0)+528>>2]|0){r=h;return}$z(k[e>>2]|0);r=h;return}case -11:{if(k[(k[f>>2]|0)+528>>2]|0){r=h;return}Ud(k[e>>2]|0);r=h;return}case -5:{BA(k[f>>2]|0,k[e>>2]|0);r=h;return}case -8:{d=k[e>>2]|0;if(!(k[(k[f>>2]|0)+528>>2]|0)){jh(d);r=h;return}k[g>>2]=d;if(k[(k[g>>2]|0)+24>>2]|0)ag(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0);ag(k[f>>2]|0,k[g>>2]|0);r=h;return}case -10:{if(k[(k[f>>2]|0)+528>>2]|0){r=h;return}ru(k[e>>2]|0);r=h;return}default:{r=h;return}}ag(k[f>>2]|0,k[e>>2]|0);r=h;return}function BA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}if(!((m[(k[d>>2]|0)+2>>1]|0)&16)){r=e;return}ag(k[c>>2]|0,k[d>>2]|0);r=e;return}function CA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=xy(k[g>>2]|0,k[e>>2]|0,0)|0;k[e>>2]=c;if(i[(k[g>>2]|0)+65>>0]|0){a=k[g>>2]|0;c=k[e>>2]|0;hv(a,c);r=h;return}HA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);a=k[g>>2]|0;c=k[e>>2]|0;hv(a,c);r=h;return}function DA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;n=p+4|0;o=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;if((k[i>>2]|0)>=0?(k[i>>2]|0)!=(j[(k[g>>2]|0)+32>>1]|0):0){k[n>>2]=(l[(k[g>>2]|0)+42>>0]&16|0)!=0?153:47;k[o>>2]=k[i>>2];if(l[(k[g>>2]|0)+42>>0]&32){a=Oj(k[g>>2]|0)|0;a=(EA(a,k[i>>2]&65535)|0)<<16>>16;k[o>>2]=a}dx(k[f>>2]|0,k[n>>2]|0,k[h>>2]|0,k[o>>2]|0,k[m>>2]|0)|0}else $w(k[f>>2]|0,103,k[h>>2]|0,k[m>>2]|0)|0;if((k[i>>2]|0)<0){r=p;return}FA(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[m>>2]|0);r=p;return}function EA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+10|0;c=g+4|0;d=g+8|0;e=g;k[c>>2]=a;j[d>>1]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[c>>2]|0)+52>>1]|0)){b=6;break}a=k[e>>2]|0;if((j[d>>1]|0)==(j[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){j[f>>1]=a;f=j[f>>1]|0;r=g;return f|0}else if((b|0)==6){j[f>>1]=-1;f=j[f>>1]|0;r=g;return f|0}return 0}function FA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n+24|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[m>>2]=0;a=(GA(k[e>>2]|0)|0)+62|0;i[j>>0]=i[a>>0]|0;k[l>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*24|0);a=GA(k[e>>2]|0)|0;nx(a,k[(k[l>>2]|0)+4>>2]|0,i[j>>0]|0,i[(k[l>>2]|0)+21>>0]|0,m)|0;if(k[m>>2]|0)Sh(k[e>>2]|0,-1,k[m>>2]|0,-8);if((i[(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*24|0)+21>>0]|0)!=69){r=n;return}Hz(k[e>>2]|0,39,k[h>>2]|0)|0;r=n;return}function GA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function HA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)!=0?(l[k[e>>2]>>0]|0|0)==157:0){$w(k[(k[d>>2]|0)+8>>2]|0,30,k[(k[e>>2]|0)+28>>2]|0,k[f>>2]|0)|0;r=h;return}c=IA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)==(k[f>>2]|0)){r=h;return}if(!(k[(k[d>>2]|0)+8>>2]|0)){r=h;return}$w(k[(k[d>>2]|0)+8>>2]|0,31,k[g>>2]|0,k[f>>2]|0)|0;r=h;return}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0,la=0;la=r;r=r+320|0;C=la+16|0;H=la+8|0;B=la;ca=la+308|0;da=la+304|0;J=la+300|0;ea=la+296|0;ja=la+292|0;n=la+288|0;fa=la+284|0;ga=la+280|0;ia=la+276|0;R=la+272|0;y=la+268|0;z=la+264|0;A=la+260|0;L=la+256|0;U=la+208|0;p=la+200|0;q=la+196|0;g=la+192|0;h=la+188|0;D=la+184|0;E=la+180|0;u=la+176|0;d=la+172|0;s=la+168|0;T=la+164|0;S=la+160|0;Q=la+156|0;G=la+152|0;I=la+148|0;K=la+144|0;O=la+140|0;F=la+313|0;P=la+136|0;M=la+132|0;N=la+312|0;e=la+128|0;f=la+124|0;v=la+120|0;t=la+116|0;w=la+112|0;x=la+108|0;o=la+104|0;W=la+100|0;Z=la+96|0;Y=la+92|0;X=la+88|0;$=la+84|0;V=la+80|0;_=la+32|0;ba=la+24|0;aa=la+20|0;k[da>>2]=a;k[J>>2]=b;k[ea>>2]=c;k[ja>>2]=k[(k[da>>2]|0)+8>>2];k[fa>>2]=k[ea>>2];k[ga>>2]=0;k[ia>>2]=0;k[L>>2]=k[k[da>>2]>>2];if(!(k[ja>>2]|0)){k[ca>>2]=0;ka=k[ca>>2]|0;r=la;return ka|0}if(!(k[J>>2]|0))k[n>>2]=101;else k[n>>2]=l[k[J>>2]>>0];a:do switch(k[n>>2]|0){case 154:{k[p>>2]=k[(k[J>>2]|0)+40>>2];k[q>>2]=(k[(k[p>>2]|0)+28>>2]|0)+((j[(k[J>>2]|0)+34>>1]|0)*24|0);if(!(i[k[p>>2]>>0]|0)){k[fa>>2]=k[(k[q>>2]|0)+16>>2];break a}if(i[(k[p>>2]|0)+1>>0]|0)dx(k[ja>>2]|0,47,k[(k[p>>2]|0)+8>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[ea>>2]|0)|0;else ka=11;break}case 152:{ka=11;break}case 132:{KA(k[da>>2]|0,k[J>>2]|0,0,k[ea>>2]|0);break}case 133:{LA(k[ja>>2]|0,k[(k[J>>2]|0)+8>>2]|0,0,k[ea>>2]|0);break}case 97:{bx(k[ja>>2]|0,k[ea>>2]|0,k[(k[J>>2]|0)+8>>2]|0)|0;break}case 101:{$w(k[ja>>2]|0,25,0,k[ea>>2]|0)|0;break}case 134:{k[D>>2]=(k[(k[J>>2]|0)+8>>2]|0)+2;ba=(Sf(k[D>>2]|0)|0)-1|0;k[h>>2]=ba;ba=yx(GA(k[ja>>2]|0)|0,k[D>>2]|0,k[h>>2]|0)|0;k[E>>2]=ba;cx(k[ja>>2]|0,27,(k[h>>2]|0)/2|0,k[ea>>2]|0,0,k[E>>2]|0,-1)|0;break}case 135:{$w(k[ja>>2]|0,28,j[(k[J>>2]|0)+32>>1]|0,k[ea>>2]|0)|0;if(i[(k[(k[J>>2]|0)+8>>2]|0)+1>>0]|0)Sh(k[ja>>2]|0,-1,k[(k[(k[da>>2]|0)+476>>2]|0)+((j[(k[J>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{k[fa>>2]=k[(k[J>>2]|0)+28>>2];break}case 38:{ba=IA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,k[ea>>2]|0)|0;k[fa>>2]=ba;if((k[fa>>2]|0)!=(k[ea>>2]|0)){$w(k[ja>>2]|0,31,k[fa>>2]|0,k[ea>>2]|0)|0;k[fa>>2]=k[ea>>2]}$w(k[ja>>2]|0,40,k[ea>>2]|0,(tx(k[(k[J>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;MA(k[da>>2]|0,k[fa>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{ja=NA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,ga)|0;k[R>>2]=ja;ja=NA(k[da>>2]|0,k[(k[J>>2]|0)+16>>2]|0,ia)|0;k[y>>2]=ja;OA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,k[(k[J>>2]|0)+16>>2]|0,k[n>>2]|0,k[R>>2]|0,k[y>>2]|0,k[fa>>2]|0,32)|0;break}case 148:case 73:{ja=NA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,ga)|0;k[R>>2]=ja;ja=NA(k[da>>2]|0,k[(k[J>>2]|0)+16>>2]|0,ia)|0;k[y>>2]=ja;k[n>>2]=(k[n>>2]|0)==73?79:78;OA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,k[(k[J>>2]|0)+16>>2]|0,k[n>>2]|0,k[R>>2]|0,k[y>>2]|0,k[fa>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{ba=NA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,ga)|0;k[R>>2]=ba;ba=NA(k[da>>2]|0,k[(k[J>>2]|0)+16>>2]|0,ia)|0;k[y>>2]=ba;dx(k[ja>>2]|0,k[n>>2]|0,k[y>>2]|0,k[R>>2]|0,k[ea>>2]|0)|0;break}case 155:{k[u>>2]=k[(k[J>>2]|0)+12>>2];do if((l[k[u>>2]>>0]|0)!=132)if((l[k[u>>2]>>0]|0)==133){LA(k[ja>>2]|0,k[(k[u>>2]|0)+8>>2]|0,1,k[ea>>2]|0);break}else{i[U>>0]=-124;k[U+4>>2]=17408;k[U+8>>2]=0;ba=NA(k[da>>2]|0,U,ga)|0;k[R>>2]=ba;ba=NA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,ia)|0;k[y>>2]=ba;dx(k[ja>>2]|0,90,k[y>>2]|0,k[R>>2]|0,k[ea>>2]|0)|0;break}else KA(k[da>>2]|0,k[u>>2]|0,1,k[ea>>2]|0);while(0);k[fa>>2]=k[ea>>2];break}case 19:case 96:{ba=NA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,ga)|0;k[R>>2]=ba;k[fa>>2]=k[ea>>2];$w(k[ja>>2]|0,k[n>>2]|0,k[R>>2]|0,k[fa>>2]|0)|0;break}case 77:case 76:{$w(k[ja>>2]|0,22,1,k[ea>>2]|0)|0;ba=NA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,ga)|0;k[R>>2]=ba;ba=Hz(k[ja>>2]|0,k[n>>2]|0,k[R>>2]|0)|0;k[d>>2]=ba;$w(k[ja>>2]|0,22,0,k[ea>>2]|0)|0;Pz(k[ja>>2]|0,k[d>>2]|0);break}case 153:{k[s>>2]=k[(k[J>>2]|0)+40>>2];if(!(k[s>>2]|0)){ja=k[da>>2]|0;k[B>>2]=k[(k[J>>2]|0)+8>>2];Kh(ja,31938,B);break a}else{k[fa>>2]=k[(k[(k[s>>2]|0)+40>>2]|0)+(j[(k[J>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{k[K>>2]=0;i[F>>0]=i[(k[L>>2]|0)+62>>0]|0;k[P>>2]=0;if(k[(k[J>>2]|0)+4>>2]&16384)k[T>>2]=0;else k[T>>2]=k[(k[J>>2]|0)+20>>2];if(k[T>>2]|0)d=k[k[T>>2]>>2]|0;else d=0;k[S>>2]=d;k[I>>2]=k[(k[J>>2]|0)+8>>2];ba=Sf(k[I>>2]|0)|0;k[G>>2]=ba;ba=qi(k[L>>2]|0,k[I>>2]|0,k[G>>2]|0,k[S>>2]|0,i[F>>0]|0,0)|0;k[Q>>2]=ba;if((k[Q>>2]|0)!=0?(k[(k[Q>>2]|0)+16>>2]|0)==0:0){if(m[(k[Q>>2]|0)+2>>1]&512){ba=Mz(k[ja>>2]|0)|0;k[M>>2]=ba;HA(k[da>>2]|0,k[k[(k[T>>2]|0)+4>>2]>>2]|0,k[ea>>2]|0);k[O>>2]=1;while(1){d=k[ja>>2]|0;if((k[O>>2]|0)>=(k[S>>2]|0))break;$w(d,77,k[ea>>2]|0,k[M>>2]|0)|0;yA(k[da>>2]|0,k[ea>>2]|0,1);sA(k[da>>2]|0);HA(k[da>>2]|0,k[(k[(k[T>>2]|0)+4>>2]|0)+((k[O>>2]|0)*20|0)>>2]|0,k[ea>>2]|0);qA(k[da>>2]|0);k[O>>2]=(k[O>>2]|0)+1}Qz(d,k[M>>2]|0);break a}if(m[(k[Q>>2]|0)+2>>1]&1024){ja=IA(k[da>>2]|0,k[k[(k[T>>2]|0)+4>>2]>>2]|0,k[ea>>2]|0)|0;k[fa>>2]=ja;break a}k[O>>2]=0;while(1){if((k[O>>2]|0)>=(k[S>>2]|0))break;if((k[O>>2]|0)<32?(PA(k[(k[(k[T>>2]|0)+4>>2]|0)+((k[O>>2]|0)*20|0)>>2]|0)|0)!=0:0)k[K>>2]=k[K>>2]|1<>2];if(!((k[P>>2]|0)!=0?1:(m[(k[Q>>2]|0)+2>>1]&32|0)==0)){ba=Yx(k[da>>2]|0,k[(k[(k[T>>2]|0)+4>>2]|0)+((k[O>>2]|0)*20|0)>>2]|0)|0;k[P>>2]=ba}k[O>>2]=(k[O>>2]|0)+1}if(k[T>>2]|0){d=k[da>>2]|0;if(k[K>>2]|0){k[R>>2]=(k[d+76>>2]|0)+1;ba=(k[da>>2]|0)+76|0;k[ba>>2]=(k[ba>>2]|0)+(k[S>>2]|0)}else{ba=uA(d,k[S>>2]|0)|0;k[R>>2]=ba}do if(m[(k[Q>>2]|0)+2>>1]&192){i[N>>0]=i[k[k[(k[T>>2]|0)+4>>2]>>2]>>0]|0;if((l[N>>0]|0)!=152?(l[N>>0]|0)!=154:0)break;i[(k[k[(k[T>>2]|0)+4>>2]>>2]|0)+38>>0]=m[(k[Q>>2]|0)+2>>1]&192}while(0);sA(k[da>>2]|0);QA(k[da>>2]|0,k[T>>2]|0,k[R>>2]|0,0,3)|0;qA(k[da>>2]|0)}else k[R>>2]=0;if((k[S>>2]|0)>=2?(k[(k[J>>2]|0)+4>>2]&128|0)!=0:0){ba=RA(k[L>>2]|0,k[Q>>2]|0,k[S>>2]|0,k[(k[(k[T>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[Q>>2]=ba}else ka=77;if((ka|0)==77?(k[S>>2]|0)>0:0){ba=RA(k[L>>2]|0,k[Q>>2]|0,k[S>>2]|0,k[k[(k[T>>2]|0)+4>>2]>>2]|0)|0;k[Q>>2]=ba}if(m[(k[Q>>2]|0)+2>>1]&32){if(!(k[P>>2]|0))k[P>>2]=k[(k[L>>2]|0)+8>>2];cx(k[ja>>2]|0,34,0,0,0,k[P>>2]|0,-4)|0}cx(k[ja>>2]|0,35,k[K>>2]|0,k[R>>2]|0,k[ea>>2]|0,k[Q>>2]|0,-5)|0;Ph(k[ja>>2]|0,k[S>>2]&255);if(!((k[S>>2]|0)!=0&(k[K>>2]|0)==0))break a;xA(k[da>>2]|0,k[R>>2]|0,k[S>>2]|0);break a}ja=k[da>>2]|0;ea=k[I>>2]|0;k[H>>2]=k[G>>2];k[H+4>>2]=ea;Kh(ja,31964,H);break}case 119:case 20:{ja=SA(k[da>>2]|0,k[J>>2]|0,0,0)|0;k[fa>>2]=ja;break}case 75:{ba=Mz(k[ja>>2]|0)|0;k[e>>2]=ba;ba=Mz(k[ja>>2]|0)|0;k[f>>2]=ba;$w(k[ja>>2]|0,25,0,k[ea>>2]|0)|0;TA(k[da>>2]|0,k[J>>2]|0,k[e>>2]|0,k[f>>2]|0);$w(k[ja>>2]|0,22,1,k[ea>>2]|0)|0;Qz(k[ja>>2]|0,k[e>>2]|0);$w(k[ja>>2]|0,37,k[ea>>2]|0,0)|0;Qz(k[ja>>2]|0,k[f>>2]|0);break}case 74:{k[v>>2]=k[(k[J>>2]|0)+12>>2];k[t>>2]=k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2];k[w>>2]=k[k[t>>2]>>2];ba=NA(k[da>>2]|0,k[v>>2]|0,ga)|0;k[R>>2]=ba;ba=NA(k[da>>2]|0,k[w>>2]|0,ia)|0;k[y>>2]=ba;ba=eA(k[da>>2]|0)|0;k[z>>2]=ba;ba=eA(k[da>>2]|0)|0;k[A>>2]=ba;OA(k[da>>2]|0,k[v>>2]|0,k[w>>2]|0,83,k[R>>2]|0,k[y>>2]|0,k[z>>2]|0,32)|0;k[t>>2]=(k[t>>2]|0)+20;k[w>>2]=k[k[t>>2]>>2];iA(k[da>>2]|0,k[ia>>2]|0);ba=NA(k[da>>2]|0,k[w>>2]|0,ia)|0;k[y>>2]=ba;OA(k[da>>2]|0,k[v>>2]|0,k[w>>2]|0,81,k[R>>2]|0,k[y>>2]|0,k[A>>2]|0,32)|0;dx(k[ja>>2]|0,72,k[z>>2]|0,k[A>>2]|0,k[ea>>2]|0)|0;iA(k[da>>2]|0,k[z>>2]|0);iA(k[da>>2]|0,k[A>>2]|0);break}case 156:case 95:{ja=IA(k[da>>2]|0,k[(k[J>>2]|0)+12>>2]|0,k[ea>>2]|0)|0;k[fa>>2]=ja;break}case 62:{k[x>>2]=k[(k[J>>2]|0)+44>>2];ba=(ha(k[(k[J>>2]|0)+28>>2]|0,(j[(k[x>>2]|0)+34>>1]|0)+1|0)|0)+1|0;k[o>>2]=ba+(j[(k[J>>2]|0)+32>>1]|0);$w(k[ja>>2]|0,134,k[o>>2]|0,k[ea>>2]|0)|0;if((j[(k[J>>2]|0)+32>>1]|0)>=0?(i[(k[(k[x>>2]|0)+4>>2]|0)+((j[(k[J>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)Hz(k[ja>>2]|0,39,k[ea>>2]|0)|0;break}case 57:{if(!(k[(k[da>>2]|0)+420>>2]|0)){Kh(k[da>>2]|0,31989,C);k[ca>>2]=0;ka=k[ca>>2]|0;r=la;return ka|0}if((i[(k[J>>2]|0)+1>>0]|0)==2)Lx(k[da>>2]|0);if((i[(k[J>>2]|0)+1>>0]|0)==4){cx(k[ja>>2]|0,21,0,4,0,k[(k[J>>2]|0)+8>>2]|0,0)|0;break a}else{lA(k[da>>2]|0,1811,i[(k[J>>2]|0)+1>>0]|0,k[(k[J>>2]|0)+8>>2]|0,0,0);break a}}default:{k[aa>>2]=0;k[$>>2]=k[(k[J>>2]|0)+20>>2];k[V>>2]=k[(k[$>>2]|0)+4>>2];k[Y>>2]=k[k[$>>2]>>2];T=Mz(k[ja>>2]|0)|0;k[W>>2]=T;T=k[(k[J>>2]|0)+12>>2]|0;k[ba>>2]=T;if(T){d=U;e=k[ba>>2]|0;f=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UA(U,NA(k[da>>2]|0,k[ba>>2]|0,ga)|0);i[_>>0]=79;k[_+12>>2]=U;k[aa>>2]=_;k[ga>>2]=0}k[X>>2]=0;while(1){if((k[X>>2]|0)>=((k[Y>>2]|0)-1|0))break;sA(k[da>>2]|0);d=k[(k[V>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0;if(k[ba>>2]|0)k[_+16>>2]=d;else k[aa>>2]=d;U=Mz(k[ja>>2]|0)|0;k[Z>>2]=U;VA(k[da>>2]|0,k[aa>>2]|0,k[Z>>2]|0,16);HA(k[da>>2]|0,k[(k[V>>2]|0)+(((k[X>>2]|0)+1|0)*20|0)>>2]|0,k[ea>>2]|0);Oz(k[ja>>2]|0,k[W>>2]|0)|0;qA(k[da>>2]|0);Qz(k[ja>>2]|0,k[Z>>2]|0);k[X>>2]=(k[X>>2]|0)+2}if(k[Y>>2]&1){sA(k[da>>2]|0);HA(k[da>>2]|0,k[(k[(k[$>>2]|0)+4>>2]|0)+(((k[Y>>2]|0)-1|0)*20|0)>>2]|0,k[ea>>2]|0);qA(k[da>>2]|0)}else $w(k[ja>>2]|0,25,0,k[ea>>2]|0)|0;Qz(k[ja>>2]|0,k[W>>2]|0)}}while(0);b:do if((ka|0)==11){k[g>>2]=k[(k[J>>2]|0)+28>>2];do if((k[g>>2]|0)<0)if((k[(k[da>>2]|0)+100>>2]|0)>0){k[fa>>2]=(j[(k[J>>2]|0)+32>>1]|0)+(k[(k[da>>2]|0)+100>>2]|0);break b}else{k[g>>2]=k[(k[da>>2]|0)+104>>2];break}while(0);ka=JA(k[da>>2]|0,k[(k[J>>2]|0)+44>>2]|0,j[(k[J>>2]|0)+32>>1]|0,k[g>>2]|0,k[ea>>2]|0,i[(k[J>>2]|0)+38>>0]|0)|0;k[fa>>2]=ka}while(0);iA(k[da>>2]|0,k[ga>>2]|0);iA(k[da>>2]|0,k[ia>>2]|0);k[ca>>2]=k[fa>>2];ka=k[ca>>2]|0;r=la;return ka|0}function JA(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;g=v+32|0;h=v+28|0;l=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+36|0;t=v+8|0;q=v+4|0;s=v;k[h>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;i[p>>0]=f;k[t>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=0;k[s>>2]=(k[h>>2]|0)+124;while(1){if((k[q>>2]|0)>=10)break;if(((k[(k[s>>2]|0)+12>>2]|0)>0?(k[k[s>>2]>>2]|0)==(k[n>>2]|0):0)?(j[(k[s>>2]|0)+4>>1]|0)==(k[m>>2]|0):0){u=6;break}k[q>>2]=(k[q>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}if((u|0)==6){t=(k[h>>2]|0)+112|0;u=k[t>>2]|0;k[t>>2]=u+1;k[(k[s>>2]|0)+16>>2]=u;pB(k[h>>2]|0,k[(k[s>>2]|0)+12>>2]|0);k[g>>2]=k[(k[s>>2]|0)+12>>2];u=k[g>>2]|0;r=v;return u|0}DA(k[t>>2]|0,k[l>>2]|0,k[n>>2]|0,k[m>>2]|0,k[o>>2]|0);if(i[p>>0]|0)Ph(k[t>>2]|0,i[p>>0]|0);else qB(k[h>>2]|0,k[n>>2]|0,k[m>>2]|0,k[o>>2]|0);k[g>>2]=k[o>>2];u=k[g>>2]|0;r=v;return u|0}function KA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;m=o+8|0;e=o+40|0;p=o+36|0;f=o+32|0;g=o+28|0;j=o+24|0;i=o+20|0;h=o+16|0;l=o;n=o+12|0;k[e>>2]=a;k[p>>2]=b;k[f>>2]=c;k[g>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];d=(k[p>>2]|0)+8|0;if(k[(k[p>>2]|0)+4>>2]&1024){k[i>>2]=k[d>>2];if(k[f>>2]|0)k[i>>2]=0-(k[i>>2]|0);$w(k[j>>2]|0,22,k[i>>2]|0,k[g>>2]|0)|0;r=o;return}k[n>>2]=k[d>>2];p=Mi(k[n>>2]|0,l)|0;k[h>>2]=p;if((k[h>>2]|0)!=0?!((k[h>>2]|0)==2&(k[f>>2]|0)!=0):0)if(!(Jd(k[n>>2]|0,32088,2)|0)){p=k[e>>2]|0;k[m>>2]=k[n>>2];Kh(p,32091,m);r=o;return}else{LA(k[j>>2]|0,k[n>>2]|0,k[f>>2]|0,k[g>>2]|0);r=o;return}if(k[f>>2]|0){n=(k[h>>2]|0)==2;m=l;m=pR(0,0,k[m>>2]|0,k[m+4>>2]|0)|0;p=l;k[p>>2]=n?0:m;k[p+4>>2]=n?-2147483648:L}oB(k[j>>2]|0,23,0,k[g>>2]|0,0,l,-13)|0;r=o;return}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}b=k[f>>2]|0;Uy(b,i,Sf(k[f>>2]|0)|0,1)|0;if(k[g>>2]|0)p[i>>3]=-+p[i>>3];oB(k[e>>2]|0,133,0,k[h>>2]|0,0,i,-12)|0;r=j;return}function MA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;yA(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;n=p+16|0;i=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=by(k[f>>2]|0)|0;k[f>>2]=c;if(((l[(k[e>>2]|0)+23>>0]|0|0)!=0?(l[k[f>>2]>>0]|0|0)!=157:0)?(nB(k[f>>2]|0)|0)!=0:0){k[i>>2]=k[(k[e>>2]|0)+324>>2];k[k[g>>2]>>2]=0;a:do if(k[i>>2]|0){k[j>>2]=k[(k[i>>2]|0)+4>>2];k[h>>2]=k[k[i>>2]>>2];while(1){if((k[h>>2]|0)<=0)break a;if(((l[(k[j>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(zy(k[k[j>>2]>>2]|0,k[f>>2]|0,-1)|0)==0:0)break;k[j>>2]=(k[j>>2]|0)+20;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=k[(k[j>>2]|0)+16>>2];o=k[d>>2]|0;r=p;return o|0}while(0);c=(k[e>>2]|0)+76|0;m=(k[c>>2]|0)+1|0;k[c>>2]=m;k[n>>2]=m;iB(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,1)}else o=12;do if((o|0)==12){o=eA(k[e>>2]|0)|0;k[m>>2]=o;o=IA(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)==(k[m>>2]|0)){k[k[g>>2]>>2]=k[m>>2];break}else{iA(k[e>>2]|0,k[m>>2]|0);k[k[g>>2]>>2]=0;break}}while(0);k[d>>2]=k[n>>2];o=k[d>>2]|0;r=p;return o|0}function OA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;j=r;r=r+48|0;m=j+40|0;v=j+36|0;u=j+32|0;s=j+28|0;o=j+24|0;q=j+20|0;p=j+16|0;t=j+12|0;l=j+8|0;i=j+4|0;n=j;k[m>>2]=a;k[v>>2]=b;k[u>>2]=c;k[s>>2]=d;k[o>>2]=e;k[q>>2]=f;k[p>>2]=g;k[t>>2]=h;c=dB(k[m>>2]|0,k[v>>2]|0,k[u>>2]|0)|0;k[n>>2]=c;c=(mB(k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0)&255;k[l>>2]=c;c=cx(k[(k[m>>2]|0)+8>>2]|0,k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,-4)|0;k[i>>2]=c;Ph(k[(k[m>>2]|0)+8>>2]|0,k[l>>2]&255);r=j;return k[i>>2]|0}function PA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jB(k[c>>2]|0,1,0)|0;r=b;return a|0}function QA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+44|0;g=z+40|0;h=z+36|0;j=z+32|0;n=z+49|0;v=z+28|0;p=z+24|0;s=z+20|0;t=z+16|0;o=z+48|0;x=z+12|0;u=z+8|0;q=z+4|0;w=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;i[n>>0]=e;i[o>>0]=(l[n>>0]&1|0)!=0?30:31;k[x>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[k[g>>2]>>2];if(!(i[(k[f>>2]|0)+23>>0]|0))i[n>>0]=l[n>>0]&-3;k[v>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[t>>2]|0))break;k[u>>2]=k[k[v>>2]>>2];if((l[n>>0]&4|0)!=0?(c=m[(k[(k[g>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)+16>>1]|0,k[s>>2]=c,(c|0)>0):0)$w(k[x>>2]|0,l[o>>0]|0,(k[s>>2]|0)+(k[j>>2]|0)-1|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((l[n>>0]&2|0)!=0?(PA(k[u>>2]|0)|0)!=0:0){iB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0,0);break}c=IA(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;k[q>>2]=c;if((k[q>>2]|0)!=((k[h>>2]|0)+(k[p>>2]|0)|0)){if((((l[o>>0]|0)==30?(c=Wz(k[x>>2]|0,-1)|0,k[w>>2]=c,(l[c>>0]|0)==30):0)?((k[(k[w>>2]|0)+4>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==(k[q>>2]|0):0)?((k[(k[w>>2]|0)+8>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==((k[h>>2]|0)+(k[p>>2]|0)|0):0){c=(k[w>>2]|0)+12|0;k[c>>2]=(k[c>>2]|0)+1;break}$w(k[x>>2]|0,l[o>>0]|0,k[q>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+20}r=z;return k[t>>2]|0}function RA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+56|0;f=z+52|0;g=z+48|0;h=z+44|0;n=z+40|0;t=z+36|0;u=z+32|0;q=z+28|0;w=z+24|0;p=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;o=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[w>>2]=0;k[p>>2]=0;k[v>>2]=0;if(!(k[n>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}if((l[k[n>>2]>>0]|0)!=152){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}k[t>>2]=k[(k[n>>2]|0)+44>>2];if(!(k[t>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}if(!(l[(k[t>>2]|0)+42>>0]&16)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}t=(Kx(k[f>>2]|0,k[t>>2]|0)|0)+8|0;k[u>>2]=k[t>>2];k[q>>2]=k[k[u>>2]>>2];if(!(k[(k[q>>2]|0)+72>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}t=xh(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0){k[x>>2]=k[y>>2];while(1){if(!(i[k[x>>2]>>0]|0))break;i[k[x>>2]>>0]=i[18477+(l[k[x>>2]>>0]|0)>>0]|0;k[x>>2]=(k[x>>2]|0)+1}q=k[(k[q>>2]|0)+72>>2]|0;t=k[u>>2]|0;u=k[h>>2]|0;x=k[y>>2]|0;k[o>>2]=w;x=hc[q&255](t,u,x,k[o>>2]|0,p)|0;k[v>>2]=x;ag(k[f>>2]|0,k[y>>2]|0)}if(!(k[v>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}y=k[f>>2]|0;y=zh(y,32+(Sf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0,0)|0;k[s>>2]=y;if(!(k[s>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}else{x=k[s>>2]|0;y=k[g>>2]|0;k[x>>2]=k[y>>2];k[x+4>>2]=k[y+4>>2];k[x+8>>2]=k[y+8>>2];k[x+12>>2]=k[y+12>>2];k[x+16>>2]=k[y+16>>2];k[x+20>>2]=k[y+20>>2];k[x+24>>2]=k[y+24>>2];k[x+28>>2]=k[y+28>>2];k[(k[s>>2]|0)+20>>2]=(k[s>>2]|0)+32;x=k[(k[s>>2]|0)+20>>2]|0;y=k[(k[g>>2]|0)+20>>2]|0;sR(x|0,y|0,(Sf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0)|0;k[(k[s>>2]|0)+12>>2]=k[w>>2];k[(k[s>>2]|0)+4>>2]=k[p>>2];y=(k[s>>2]|0)+2|0;j[y>>1]=m[y>>1]|16;k[e>>2]=k[s>>2];y=k[e>>2]|0;r=z;return y|0}return 0}function SA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=r;r=r+160|0;e=M;t=M+140|0;u=M+136|0;v=M+132|0;w=M+128|0;x=M+124|0;C=M+120|0;J=M+116|0;K=M+112|0;f=M+108|0;z=M+144|0;y=M+104|0;h=M+100|0;F=M+96|0;s=M+92|0;o=M+72|0;p=M+68|0;A=M+64|0;q=M+60|0;E=M+56|0;G=M+52|0;H=M+48|0;I=M+44|0;D=M+40|0;B=M+36|0;n=M+32|0;g=M+12|0;k[u>>2]=a;k[v>>2]=b;k[w>>2]=c;k[x>>2]=d;k[C>>2]=-1;k[J>>2]=0;c=Zw(k[u>>2]|0)|0;k[K>>2]=c;if(!(k[K>>2]|0)){k[t>>2]=0;L=k[t>>2]|0;r=M;return L|0}sA(k[u>>2]|0);if(!(k[(k[v>>2]|0)+4>>2]&32)){c=cB(k[u>>2]|0)|0;k[C>>2]=c}if((l[(k[u>>2]|0)+453>>0]|0)==2){c=k[k[u>>2]>>2]|0;b=(l[k[v>>2]>>0]|0)==75?32051:32056;a=k[(k[u>>2]|0)+472>>2]|0;k[e>>2]=(k[C>>2]|0)>=0?19266:32039;k[e+4>>2]=b;k[e+8>>2]=a;e=Lh(c,32063,e)|0;k[f>>2]=e;cx(k[K>>2]|0,161,k[(k[u>>2]|0)+468>>2]|0,0,0,k[f>>2]|0,-1)|0}d=k[v>>2]|0;do if((l[k[v>>2]>>0]|0)==75){k[h>>2]=k[d+12>>2];k[F>>2]=0;h=Xx(k[h>>2]|0)|0;i[z>>0]=h;h=(k[u>>2]|0)+72|0;n=k[h>>2]|0;k[h>>2]=n+1;k[(k[v>>2]|0)+28>>2]=n;n=$w(k[K>>2]|0,57,k[(k[v>>2]|0)+28>>2]|0,((k[x>>2]|0)!=0^1)&1)|0;k[y>>2]=n;if(k[x>>2]|0)d=0;else d=_z(k[k[u>>2]>>2]|0,1,1)|0;k[F>>2]=d;d=(k[v>>2]|0)+20|0;do if(!(k[(k[v>>2]|0)+4>>2]&2048)){if(k[d>>2]|0){k[q>>2]=k[(k[v>>2]|0)+20>>2];if(!(i[z>>0]|0))i[z>>0]=65;if(k[F>>2]|0){s=Yx(k[u>>2]|0,k[(k[v>>2]|0)+12>>2]|0)|0;k[(k[F>>2]|0)+20>>2]=s}s=eA(k[u>>2]|0)|0;k[G>>2]=s;s=eA(k[u>>2]|0)|0;k[H>>2]=s;if(k[x>>2]|0)$w(k[K>>2]|0,25,0,k[H>>2]|0)|0;k[A>>2]=k[k[q>>2]>>2];k[E>>2]=k[(k[q>>2]|0)+4>>2];while(1){if((k[A>>2]|0)<=0)break;k[D>>2]=k[k[E>>2]>>2];if((k[C>>2]|0)>=0?(PA(k[D>>2]|0)|0)==0:0){zA(k[K>>2]|0,k[C>>2]|0)|0;k[C>>2]=-1}if((k[x>>2]|0)!=0?(uy(k[D>>2]|0,B)|0)!=0:0)dx(k[K>>2]|0,84,k[(k[v>>2]|0)+28>>2]|0,k[H>>2]|0,k[B>>2]|0)|0;else L=29;do if((L|0)==29){L=0;d=IA(k[u>>2]|0,k[D>>2]|0,k[G>>2]|0)|0;k[I>>2]=d;d=k[K>>2]|0;b=k[I>>2]|0;if(k[x>>2]|0){$w(d,38,b,(Lz(k[K>>2]|0)|0)+2|0)|0;dx(k[K>>2]|0,75,k[(k[v>>2]|0)+28>>2]|0,k[H>>2]|0,k[I>>2]|0)|0;break}else{cx(d,49,b,1,k[H>>2]|0,z,1)|0;MA(k[u>>2]|0,k[I>>2]|0,1);$w(k[K>>2]|0,110,k[(k[v>>2]|0)+28>>2]|0,k[H>>2]|0)|0;break}}while(0);k[A>>2]=(k[A>>2]|0)+-1;k[E>>2]=(k[E>>2]|0)+20}iA(k[u>>2]|0,k[G>>2]|0);iA(k[u>>2]|0,k[H>>2]|0)}}else{k[s>>2]=k[d>>2];hB(o,11,k[(k[v>>2]|0)+28>>2]|0);i[o+1>>0]=i[z>>0]|0;k[(k[s>>2]|0)+8>>2]=0;if(!(Mv(k[u>>2]|0,k[s>>2]|0,o)|0)){k[p>>2]=k[k[s>>2]>>2];L=dB(k[u>>2]|0,k[(k[v>>2]|0)+12>>2]|0,k[k[(k[p>>2]|0)+4>>2]>>2]|0)|0;k[(k[F>>2]|0)+20>>2]=L;break}$z(k[F>>2]|0);k[t>>2]=0;L=k[t>>2]|0;r=M;return L|0}while(0);if(k[F>>2]|0)Sh(k[K>>2]|0,k[y>>2]|0,k[F>>2]|0,-6)}else{k[n>>2]=k[d+20>>2];I=(k[u>>2]|0)+76|0;L=(k[I>>2]|0)+1|0;k[I>>2]=L;hB(g,0,L);if((l[k[v>>2]>>0]|0)==119){i[g>>0]=10;k[g+8>>2]=k[g+4>>2];$w(k[K>>2]|0,25,0,k[g+4>>2]|0)|0}else{i[g>>0]=3;$w(k[K>>2]|0,22,0,k[g+4>>2]|0)|0}hv(k[k[u>>2]>>2]|0,k[(k[n>>2]|0)+60>>2]|0);L=Bv(k[u>>2]|0,132,0,0,5100)|0;k[(k[n>>2]|0)+60>>2]=L;k[(k[n>>2]|0)+8>>2]=0;L=(k[n>>2]|0)+6|0;j[L>>1]=m[L>>1]&-513;if(!(Mv(k[u>>2]|0,k[n>>2]|0,g)|0)){k[J>>2]=k[g+4>>2];break}k[t>>2]=0;L=k[t>>2]|0;r=M;return L|0}while(0);if(k[w>>2]|0)fB(k[K>>2]|0,k[(k[v>>2]|0)+28>>2]|0,k[w>>2]|0);if((k[C>>2]|0)>=0)Pz(k[K>>2]|0,k[C>>2]|0);qA(k[u>>2]|0);k[t>>2]=k[J>>2];L=k[t>>2]|0;r=M;return L|0}function TA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;s=z+64|0;q=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;o=z+68|0;p=z+44|0;w=z+40|0;y=z+36|0;h=z+32|0;g=z+28|0;f=z+24|0;j=z+20|0;m=z+16|0;l=z+12|0;e=z+8|0;n=z+4|0;v=z;k[s>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[x>>2]=0;k[y>>2]=k[(k[s>>2]|0)+8>>2];c=ZA(k[s>>2]|0,k[q>>2]|0,3,(k[t>>2]|0)==(k[u>>2]|0)?0:x)|0;k[p>>2]=c;c=_A(k[q>>2]|0)|0;i[o>>0]=c;sA(k[s>>2]|0);c=eA(k[s>>2]|0)|0;k[w>>2]=c;HA(k[s>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[w>>2]|0);c=k[q>>2]|0;if((k[p>>2]|0)!=5){do if($A(k[c+12>>2]|0)|0){c=k[y>>2]|0;d=k[w>>2]|0;if((k[u>>2]|0)==(k[t>>2]|0)){$w(c,76,d,k[u>>2]|0)|0;break}else{m=Hz(c,77,d)|0;k[n>>2]=m;$w(k[y>>2]|0,108,k[(k[q>>2]|0)+28>>2]|0,k[t>>2]|0)|0;Oz(k[y>>2]|0,k[u>>2]|0)|0;Pz(k[y>>2]|0,k[n>>2]|0);break}}while(0);c=k[y>>2]|0;d=k[w>>2]|0;if((k[p>>2]|0)==1){$w(c,38,d,k[t>>2]|0)|0;dx(k[y>>2]|0,70,k[(k[q>>2]|0)+28>>2]|0,k[t>>2]|0,k[w>>2]|0)|0;x=k[s>>2]|0;y=k[w>>2]|0;iA(x,y);y=k[s>>2]|0;qA(y);r=z;return}cx(c,48,d,1,0,o,1)|0;d=k[y>>2]|0;c=k[(k[q>>2]|0)+28>>2]|0;if(!(k[x>>2]|0)){Oh(d,68,c,k[t>>2]|0,k[w>>2]|0,1)|0;x=k[s>>2]|0;y=k[w>>2]|0;iA(x,y);y=k[s>>2]|0;qA(y);r=z;return}else{q=Oh(d,69,c,0,k[w>>2]|0,1)|0;k[v>>2]=q;$w(k[y>>2]|0,76,k[x>>2]|0,k[u>>2]|0)|0;Oz(k[y>>2]|0,k[t>>2]|0)|0;Pz(k[y>>2]|0,k[v>>2]|0);x=k[s>>2]|0;y=k[w>>2]|0;iA(x,y);y=k[s>>2]|0;qA(y);r=z;return}}k[h>>2]=k[c+20>>2];x=Yx(k[s>>2]|0,k[(k[q>>2]|0)+12>>2]|0)|0;k[g>>2]=x;x=Mz(k[y>>2]|0)|0;k[f>>2]=x;k[l>>2]=0;if((k[u>>2]|0)!=(k[t>>2]|0)){x=eA(k[s>>2]|0)|0;k[l>>2]=x;dx(k[y>>2]|0,85,k[w>>2]|0,k[w>>2]|0,k[l>>2]|0)|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break;x=NA(k[s>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,m)|0;k[j>>2]=x;if((k[l>>2]|0)!=0?($A(k[(k[(k[h>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0)!=0:0)dx(k[y>>2]|0,85,k[l>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;if((k[e>>2]|0)>=((k[k[h>>2]>>2]|0)-1|0)?(k[u>>2]|0)==(k[t>>2]|0):0){cx(k[y>>2]|0,78,k[w>>2]|0,k[t>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;Ph(k[y>>2]|0,(i[o>>0]|16)&255)}else{cx(k[y>>2]|0,79,k[w>>2]|0,k[f>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;Ph(k[y>>2]|0,i[o>>0]|0)}iA(k[s>>2]|0,k[m>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(k[l>>2]|0){$w(k[y>>2]|0,76,k[l>>2]|0,k[u>>2]|0)|0;Oz(k[y>>2]|0,k[t>>2]|0)|0}Qz(k[y>>2]|0,k[f>>2]|0);iA(k[s>>2]|0,k[l>>2]|0);x=k[s>>2]|0;y=k[w>>2]|0;iA(x,y);y=k[s>>2]|0;qA(y);r=z;return}function UA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+38>>0]=i[k[d>>2]>>0]|0;i[k[d>>2]>>0]=-99;k[(k[d>>2]|0)+28>>2]=k[e>>2];a=(k[d>>2]|0)+4|0;k[a>>2]=k[a>>2]&-4097;r=c;return}function VA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+44|0;f=t+40|0;g=t+36|0;h=t+32|0;s=t+28|0;m=t+24|0;p=t+20|0;q=t+16|0;n=t+12|0;o=t+8|0;i=t+4|0;j=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=k[(k[e>>2]|0)+8>>2];k[m>>2]=0;k[p>>2]=0;k[q>>2]=0;if((k[s>>2]|0)==0|(k[f>>2]|0)==0){r=t;return}k[m>>2]=((l[k[f>>2]>>0]|0)+0^1)-0;a:do switch(l[k[f>>2]>>0]|0|0){case 72:{VA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);sA(k[e>>2]|0);VA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);qA(k[e>>2]|0);break}case 71:{o=Mz(k[s>>2]|0)|0;k[i>>2]=o;WA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);sA(k[e>>2]|0);VA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);Qz(k[s>>2]|0,k[i>>2]|0);qA(k[e>>2]|0);break}case 19:{WA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{s=NA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=s;s=NA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,q)|0;k[o>>2]=s;OA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;break}case 148:case 73:{s=NA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=s;s=NA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,q)|0;k[o>>2]=s;k[m>>2]=(l[k[f>>2]>>0]|0|0)==73?78:79;OA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0,128)|0;break}case 77:case 76:{o=NA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=o;$w(k[s>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;break}case 74:{XA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0);break}case 75:if(k[h>>2]|0){TA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[g>>2]|0);break a}else{o=Mz(k[s>>2]|0)|0;k[j>>2]=o;TA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[j>>2]|0);Qz(k[s>>2]|0,k[j>>2]|0);break a}default:{if(lz(k[f>>2]|0)|0){Oz(k[s>>2]|0,k[g>>2]|0)|0;break a}if(!(YA(k[f>>2]|0)|0)){o=NA(k[e>>2]|0,k[f>>2]|0,p)|0;k[n>>2]=o;dx(k[s>>2]|0,46,k[n>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}}while(0);iA(k[e>>2]|0,k[p>>2]|0);iA(k[e>>2]|0,k[q>>2]|0);r=t;return}function WA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;e=u+48|0;f=u+44|0;g=u+40|0;h=u+36|0;t=u+32|0;n=u+28|0;q=u+24|0;s=u+20|0;o=u+16|0;p=u+12|0;i=u+8|0;j=u+4|0;m=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[t>>2]=k[(k[e>>2]|0)+8>>2];k[n>>2]=0;k[q>>2]=0;k[s>>2]=0;if((k[t>>2]|0)==0|(k[f>>2]|0)==0){r=u;return}k[n>>2]=l[k[f>>2]>>0];a:do switch(k[n>>2]|0){case 72:{p=Mz(k[t>>2]|0)|0;k[i>>2]=p;VA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);sA(k[e>>2]|0);WA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);Qz(k[t>>2]|0,k[i>>2]|0);qA(k[e>>2]|0);break}case 71:{WA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);sA(k[e>>2]|0);WA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);qA(k[e>>2]|0);break}case 19:{VA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{t=NA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=t;t=NA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,s)|0;k[p>>2]=t;OA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;break}case 148:case 73:{t=NA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=t;t=NA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,s)|0;k[p>>2]=t;k[n>>2]=(k[n>>2]|0)==73?79:78;OA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[g>>2]|0,128)|0;break}case 77:case 76:{p=NA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=p;$w(k[t>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;break}case 74:{XA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1,k[h>>2]|0);break}case 75:{p=Mz(k[t>>2]|0)|0;k[j>>2]=p;k[m>>2]=(k[h>>2]|0)!=0?k[g>>2]|0:k[j>>2]|0;TA(k[e>>2]|0,k[f>>2]|0,k[j>>2]|0,k[m>>2]|0);Oz(k[t>>2]|0,k[g>>2]|0)|0;Qz(k[t>>2]|0,k[j>>2]|0);break}default:{if(YA(k[f>>2]|0)|0){Oz(k[t>>2]|0,k[g>>2]|0)|0;break a}if(!(lz(k[f>>2]|0)|0)){p=NA(k[e>>2]|0,k[f>>2]|0,q)|0;k[o>>2]=p;dx(k[t>>2]|0,45,k[o>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}}while(0);iA(k[e>>2]|0,k[q>>2]|0);iA(k[e>>2]|0,k[s>>2]|0);r=u;return}function XA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+216|0;f=s+212|0;l=s+208|0;o=s+204|0;m=s+200|0;p=s+152|0;g=s+104|0;h=s+56|0;j=s+8|0;q=s;k[n>>2]=a;k[f>>2]=b;k[l>>2]=c;k[o>>2]=d;k[m>>2]=e;k[q>>2]=0;c=j;e=k[(k[f>>2]|0)+12>>2]|0;d=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(d|0));i[p>>0]=72;k[p+12>>2]=g;k[p+16>>2]=h;i[g>>0]=83;k[g+12>>2]=j;k[g+16>>2]=k[k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]>>2];i[h>>0]=81;k[h+12>>2]=j;k[h+16>>2]=k[(k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];UA(j,NA(k[n>>2]|0,j,q)|0);d=k[n>>2]|0;e=k[l>>2]|0;c=k[m>>2]|0;if(k[o>>2]|0){WA(d,p,e,c);p=k[n>>2]|0;q=k[q>>2]|0;iA(p,q);r=s;return}else{VA(d,p,e,c);p=k[n>>2]|0;q=k[q>>2]|0;iA(p,q);r=s;return}}function YA(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(uy(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)!=0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function ZA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+80|0;f=F+72|0;g=F+68|0;h=F+64|0;n=F+60|0;e=F+56|0;q=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;p=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;o=F+12|0;t=F+8|0;D=F+4|0;C=F;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[q>>2]=0;b=(k[f>>2]|0)+72|0;d=k[b>>2]|0;k[b>>2]=d+1;k[w>>2]=d;d=Zw(k[f>>2]|0)|0;k[E>>2]=d;k[x>>2]=(k[h>>2]&4|0)!=0&1;if(k[(k[g>>2]|0)+4>>2]&2048)c=k[(k[g>>2]|0)+20>>2]|0;else c=0;k[e>>2]=c;a:do if((k[(k[f>>2]|0)+68>>2]|0)==0?(bB(k[e>>2]|0)|0)!=0:0){k[p>>2]=k[k[f>>2]>>2];k[B>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+8+16>>2];k[y>>2]=k[k[(k[k[e>>2]>>2]|0)+4>>2]>>2];j[u>>1]=j[(k[y>>2]|0)+32>>1]|0;c=(Nh(k[p>>2]|0,k[(k[B>>2]|0)+64>>2]|0)|0)&65535;j[v>>1]=c;lx(k[f>>2]|0,j[v>>1]|0);Iz(k[f>>2]|0,j[v>>1]|0,k[(k[B>>2]|0)+28>>2]|0,0,k[k[B>>2]>>2]|0);c=k[f>>2]|0;if((j[u>>1]|0)<0){A=cB(c)|0;k[s>>2]=A;Jz(k[f>>2]|0,k[w>>2]|0,j[v>>1]|0,k[B>>2]|0,54);k[q>>2]=1;Pz(k[E>>2]|0,k[s>>2]|0);break}y=dB(c,k[(k[g>>2]|0)+12>>2]|0,k[y>>2]|0)|0;k[A>>2]=y;y=eB(k[g>>2]|0,i[(k[(k[B>>2]|0)+4>>2]|0)+((j[u>>1]|0)*24|0)+21>>0]|0)|0;k[o>>2]=y;k[z>>2]=k[(k[B>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0&(k[q>>2]|0)==0&(k[o>>2]|0)!=0))break a;do if((j[k[(k[z>>2]|0)+4>>2]>>1]|0)==(j[u>>1]|0)?(y=Wj(k[p>>2]|0,i[(k[p>>2]|0)+62>>0]|0,k[k[(k[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(k[A>>2]|0)):0){if(k[x>>2]|0){if((m[(k[z>>2]|0)+50>>1]|0)!=1)break;if(!(l[(k[z>>2]|0)+54>>0]|0))break}y=cB(k[f>>2]|0)|0;k[t>>2]=y;dx(k[E>>2]|0,54,k[w>>2]|0,k[(k[z>>2]|0)+44>>2]|0,j[v>>1]|0)|0;Kz(k[f>>2]|0,k[z>>2]|0);k[q>>2]=3+(l[k[(k[z>>2]|0)+28>>2]>>0]|0);if((k[n>>2]|0)!=0?(i[(k[(k[B>>2]|0)+4>>2]|0)+((j[u>>1]|0)*24|0)+20>>0]|0)==0:0){s=(k[f>>2]|0)+76|0;y=(k[s>>2]|0)+1|0;k[s>>2]=y;k[k[n>>2]>>2]=y;fB(k[E>>2]|0,k[w>>2]|0,k[k[n>>2]>>2]|0)}Pz(k[E>>2]|0,k[t>>2]|0)}while(0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}}while(0);do if(((k[q>>2]|0)==0?(k[h>>2]&1|0)!=0:0)?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0){if((gB(k[g>>2]|0)|0)!=0?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)>2:0)break;k[q>>2]=5}while(0);if(k[q>>2]|0){k[(k[g>>2]|0)+28>>2]=k[w>>2];E=k[q>>2]|0;r=F;return E|0}k[D>>2]=k[(k[f>>2]|0)+428>>2];k[C>>2]=0;k[q>>2]=2;if(k[h>>2]&4){k[(k[f>>2]|0)+428>>2]=0;if((j[(k[(k[g>>2]|0)+12>>2]|0)+32>>1]|0)<0?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0)k[q>>2]=1}else if(k[n>>2]|0){B=(k[f>>2]|0)+76|0;E=(k[B>>2]|0)+1|0;k[B>>2]=E;k[C>>2]=E;k[k[n>>2]>>2]=E}SA(k[f>>2]|0,k[g>>2]|0,k[C>>2]|0,(k[q>>2]|0)==1&1)|0;k[(k[f>>2]|0)+428>>2]=k[D>>2];E=k[q>>2]|0;r=F;return E|0}function _A(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;a=Xx(k[(k[b>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+16>>2]|0){b=aB(k[a+16>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(k[a+4>>2]&2048){b=aB(k[k[(k[k[(k[b>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(i[c>>0]|0){c=i[c>>0]|0;r=d;return c|0}i[c>>0]=65;c=i[c>>0]|0;r=d;return c|0}function $A(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+4|0;c=f;d=f+8|0;k[c>>2]=a;while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[d>>0]=i[a>>0]|0;if((l[d>>0]|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[d>>0]|0){case 134:case 133:case 97:case 132:{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}case 152:{if(!(k[(k[c>>2]|0)+4>>2]&1048576))if((j[(k[c>>2]|0)+32>>1]|0)>=0)a=(l[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+((j[(k[c>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else a=0;else a=1;k[e>>2]=a&1;e=k[e>>2]|0;r=f;return e|0}default:{k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}}return 0}function aB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+6|0;g=f;d=f+5|0;e=f+4|0;k[g>>2]=a;i[d>>0]=b;a=Xx(k[g>>2]|0)|0;i[e>>0]=a;if((i[e>>0]|0)!=0?(i[d>>0]|0)!=0:0){if((i[e>>0]|0)<67?(i[d>>0]|0)<67:0){i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}i[c>>0]=67;g=i[c>>0]|0;r=f;return g|0}if((i[e>>0]|0)!=0|(i[d>>0]|0)!=0){i[c>>0]=(i[e>>0]|0)+(i[d>>0]|0);g=i[c>>0]|0;r=f;return g|0}else{i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}return 0}function bB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;d=g+4|0;f=g;k[c>>2]=a;do if(k[c>>2]|0){if(k[(k[c>>2]|0)+52>>2]|0){k[b>>2]=0;break}if((m[(k[c>>2]|0)+6>>1]|0)&9){k[b>>2]=0;break}if(k[(k[c>>2]|0)+60>>2]|0){k[b>>2]=0;break}if(k[(k[c>>2]|0)+36>>2]|0){k[b>>2]=0;break}k[e>>2]=k[(k[c>>2]|0)+32>>2];if((k[k[e>>2]>>2]|0)!=1){k[b>>2]=0;break}if(k[(k[e>>2]|0)+8+20>>2]|0){k[b>>2]=0;break}k[f>>2]=k[(k[e>>2]|0)+8+16>>2];if(!(k[f>>2]|0)){k[b>>2]=0;break}if((l[(k[f>>2]|0)+42>>0]|0)&16){k[b>>2]=0;break}k[d>>2]=k[k[c>>2]>>2];if((k[k[d>>2]>>2]|0)!=1){k[b>>2]=0;break}if((l[k[k[(k[d>>2]|0)+4>>2]>>2]>>0]|0|0)!=152){k[b>>2]=0;break}else{k[b>>2]=1;break}}else k[b>>2]=0;while(0);r=g;return k[b>>2]|0}function cB(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;a=Zw(k[d>>2]|0)|0;k[c>>2]=a;c=k[c>>2]|0;d=(k[d>>2]|0)+84|0;a=k[d>>2]|0;k[d>>2]=a+1;a=Hz(c,44,a)|0;r=b;return a|0}function dB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]&256){c=Yx(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&256|0)!=0:0){c=Yx(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}c=Yx(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){c=k[g>>2]|0;r=h;return c|0}c=Yx(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}function eB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+4|0;g=e;d=e+9|0;f=e+8|0;k[g>>2]=a;i[d>>0]=b;a=_A(k[g>>2]|0)|0;i[f>>0]=a;switch(i[f>>0]|0){case 65:{k[c>>2]=1;break}case 66:{k[c>>2]=(i[d>>0]|0)==66&1;break}default:k[c>>2]=(i[d>>0]|0)>=67&1}r=e;return k[c>>2]|0}function fB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;h=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;$w(k[f>>2]|0,22,0,k[g>>2]|0)|0;a=Hz(k[f>>2]|0,108,k[h>>2]|0)|0;k[e>>2]=a;dx(k[f>>2]|0,47,k[h>>2]|0,0,k[g>>2]|0)|0;Ph(k[f>>2]|0,-128);Pz(k[f>>2]|0,k[e>>2]|0);r=d;return}function gB(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;d=c+8|0;e=c+4|0;b=c;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=0;a=PA(k[d>>2]|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+12>>2]=k[e>>2];r=c;return k[b>>2]|0}function hB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;i[k[e>>2]>>0]=k[g>>2];k[(k[e>>2]|0)+4>>2]=k[f>>2];i[(k[e>>2]|0)+1>>0]=0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;r=d;return}function iB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;e=m+16|0;n=m+12|0;f=m+8|0;g=m+20|0;h=m+4|0;j=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;i[g>>0]=d;k[h>>2]=k[(k[e>>2]|0)+324>>2];d=xy(k[k[e>>2]>>2]|0,k[n>>2]|0,0)|0;k[n>>2]=d;d=Qv(k[e>>2]|0,k[h>>2]|0,k[n>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){d=k[h>>2]|0;n=k[e>>2]|0;n=n+324|0;k[n>>2]=d;r=m;return}k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(((k[k[h>>2]>>2]|0)-1|0)*20|0);k[(k[j>>2]|0)+16>>2]=k[f>>2];d=(k[j>>2]|0)+13|0;i[d>>0]=i[d>>0]&-5|((l[g>>0]|0)&1)<<2&255;d=k[h>>2]|0;n=k[e>>2]|0;n=n+324|0;k[n>>2]=d;r=m;return}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;f=e+36|0;h=e+32|0;g=e+28|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=k[h>>2];k[d+4>>2]=197;k[d+8>>2]=198;k[d+24>>2]=k[g>>2];ly(d,k[f>>2]|0)|0;r=e;return l[d+20>>0]|0|0}function kB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+20>>0]|0|0)==2?(k[(k[e>>2]|0)+4>>2]&1|0)!=0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2}else f=4;a:do if((f|0)==4){b:do switch(l[k[e>>2]>>0]|0|0){case 151:{if((l[(k[d>>2]|0)+20>>0]|0|0)<4?(k[(k[e>>2]|0)+4>>2]&524288|0)==0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}k[c>>2]=0;break a}case 154:case 153:case 152:case 27:{if((l[(k[d>>2]|0)+20>>0]|0|0)==3?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+24>>2]|0):0){k[c>>2]=0;break a}i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}case 135:{if((l[(k[d>>2]|0)+20>>0]|0|0)==5){i[k[e>>2]>>0]=101;break b}if((l[(k[d>>2]|0)+20>>0]|0|0)==4){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}break}default:{}}while(0);k[c>>2]=0}while(0);r=g;return k[c>>2]|0}function lB(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;i[(k[d>>2]|0)+20>>0]=0;r=c;return 2}function mB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+8|0;h=e+4|0;f=e;d=e+12|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;b=Xx(k[h>>2]|0)|0;i[d>>0]=b;b=(aB(k[g>>2]|0,i[d>>0]|0)|0)&255;i[d>>0]=b|k[f>>2]&255;r=e;return i[d>>0]|0}function nB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jB(k[c>>2]|0,2,0)|0;r=b;return a|0}function oB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;f=Pw(GA(k[h>>2]|0)|0,8,0)|0;k[q>>2]=f;if(k[q>>2]|0){f=k[q>>2]|0;g=k[o>>2]|0;i[f>>0]=i[g>>0]|0;i[f+1>>0]=i[g+1>>0]|0;i[f+2>>0]=i[g+2>>0]|0;i[f+3>>0]=i[g+3>>0]|0;i[f+4>>0]=i[g+4>>0]|0;i[f+5>>0]=i[g+5>>0]|0;i[f+6>>0]=i[g+6>>0]|0;i[f+7>>0]=i[g+7>>0]|0}f=cx(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;r=s;return f|0}function pB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=(k[g>>2]|0)+124;while(1){if((k[d>>2]|0)>=10)break;if((k[(k[e>>2]|0)+12>>2]|0)==(k[c>>2]|0))i[(k[e>>2]|0)+6>>0]=0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+20}r=f;return}function qB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;e=s+28|0;f=s+24|0;g=s+20|0;h=s+16|0;l=s+12|0;o=s+8|0;n=s+4|0;p=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((m[(k[k[e>>2]>>2]|0)+60>>1]|0)&2){r=s;return}k[l>>2]=0;k[p>>2]=(k[e>>2]|0)+124;while(1){if((k[l>>2]|0)>=10)break;if(!(k[(k[p>>2]|0)+12>>2]|0)){q=5;break}k[l>>2]=(k[l>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((q|0)==5){k[(k[p>>2]|0)+8>>2]=k[(k[e>>2]|0)+108>>2];k[k[p>>2]>>2]=k[f>>2];j[(k[p>>2]|0)+4>>1]=k[g>>2];k[(k[p>>2]|0)+12>>2]=k[h>>2];i[(k[p>>2]|0)+6>>0]=0;a=(k[e>>2]|0)+112|0;q=k[a>>2]|0;k[a>>2]=q+1;k[(k[p>>2]|0)+16>>2]=q;r=s;return}k[o>>2]=2147483647;k[n>>2]=-1;k[l>>2]=0;k[p>>2]=(k[e>>2]|0)+124;while(1){if((k[l>>2]|0)>=10)break;if((k[(k[p>>2]|0)+16>>2]|0)<(k[o>>2]|0)){k[n>>2]=k[l>>2];k[o>>2]=k[(k[p>>2]|0)+16>>2]}k[l>>2]=(k[l>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((k[n>>2]|0)<0){r=s;return}k[p>>2]=(k[e>>2]|0)+124+((k[n>>2]|0)*20|0);k[(k[p>>2]|0)+8>>2]=k[(k[e>>2]|0)+108>>2];k[k[p>>2]>>2]=k[f>>2];j[(k[p>>2]|0)+4>>1]=k[g>>2];k[(k[p>>2]|0)+12>>2]=k[h>>2];i[(k[p>>2]|0)+6>>0]=0;a=(k[e>>2]|0)+112|0;q=k[a>>2]|0;k[a>>2]=q+1;k[(k[p>>2]|0)+16>>2]=q;r=s;return}function rB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[d>>2]|0)+52>>1]|0)){c=7;break}k[f>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2];if((j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0?0==(be(k[f>>2]|0,k[c>>2]|0)|0):0){c=5;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==5){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==7){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function sB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;h=y+76|0;i=y+72|0;m=y+68|0;n=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;k[h>>2]=a;k[i>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=k[k[h>>2]>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[h>>2];b=tB(v,k[o>>2]|0)|0;k[t>>2]=b;do if((0==(b|0)?(b=tB(v,k[p>>2]|0)|0,k[t>>2]=b,0==(b|0)):0)?(b=tB(v,k[q>>2]|0)|0,k[t>>2]=b,0==(b|0)):0){if(k[n>>2]|0){if((l[k[n>>2]>>0]|0)==97)k[x>>2]=k[(k[n>>2]|0)+8>>2];else k[x>>2]=0;x=Ww(k[h>>2]|0,k[i>>2]|0,k[x>>2]|0,0,0)|0;k[t>>2]=x;if(k[t>>2]|0)break}x=Zw(k[h>>2]|0)|0;k[w>>2]=x;x=uA(k[h>>2]|0,4)|0;k[u>>2]=x;HA(k[h>>2]|0,k[o>>2]|0,k[u>>2]|0);HA(k[h>>2]|0,k[p>>2]|0,(k[u>>2]|0)+1|0);HA(k[h>>2]|0,k[q>>2]|0,(k[u>>2]|0)+2|0);if(k[w>>2]|0){cx(k[w>>2]|0,35,0,(k[u>>2]|0)+3-(j[k[m>>2]>>1]|0)|0,(k[u>>2]|0)+3|0,k[m>>2]|0,-5)|0;Ph(k[w>>2]|0,j[k[m>>2]>>1]&255);Hz(k[w>>2]|0,147,(k[i>>2]|0)==24&1)|0}}while(0);hv(k[s>>2]|0,k[o>>2]|0);hv(k[s>>2]|0,k[p>>2]|0);hv(k[s>>2]|0,k[q>>2]|0);r=y;return}function tB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[d>>2]|0)if((l[k[d>>2]>>0]|0|0)!=27){a=py(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;break}else{i[k[d>>2]>>0]=97;break}while(0);r=f;return k[e>>2]|0}function uB(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,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+192|0;m=p+24|0;l=p+16|0;j=p+8|0;h=p;d=p+52|0;q=p+44|0;o=p+40|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+56|0;k[d>>2]=a;k[p+48>>2]=b;k[q>>2]=c;a=ke(k[k[q>>2]>>2]|0)|0;k[o>>2]=a;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;k[g>>2]=0;if(!(k[o>>2]|0))k[o>>2]=19266;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(be(k[k[g>>2]>>2]|0,k[o>>2]|0)|0)==0:0)break;k[f>>2]=(k[f>>2]|0)+1}do if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[o>>2];_d(128,n,32129,h)|0}else{if((k[f>>2]|0)<2){k[j>>2]=k[o>>2];_d(128,n,32150,j)|0;break}if(!(i[(k[e>>2]|0)+63>>0]|0)){_d(128,n,32176,l)|0;break}if((yg(k[(k[g>>2]|0)+4>>2]|0)|0)==0?(pu(k[(k[g>>2]|0)+4>>2]|0)|0)==0:0){vB(k[(k[g>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=0;k[(k[g>>2]|0)+12>>2]=0;wB(k[e>>2]|0);r=p;return}k[m>>2]=k[o>>2];_d(128,n,32218,m)|0}while(0);te(k[d>>2]|0,n,-1);r=p;return}function vB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];ug(k[b>>2]|0);k[d>>2]=k[(k[c>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];if((k[k[e>>2]>>2]|0)!=(k[b>>2]|0))continue;xB(k[e>>2]|0)|0}Wg(k[b>>2]|0,0,0)|0;if(!((i[(k[b>>2]|0)+9>>0]|0)!=0?(yB(k[c>>2]|0)|0)==0:0)){kr(k[k[c>>2]>>2]|0)|0;if((k[(k[c>>2]|0)+52>>2]|0)!=0?(k[(k[c>>2]|0)+48>>2]|0)!=0:0)_b[k[(k[c>>2]|0)+52>>2]&255](k[(k[c>>2]|0)+48>>2]|0);ag(0,k[(k[c>>2]|0)+48>>2]|0);Zi(k[c>>2]|0);Ud(k[c>>2]|0)}if(k[(k[b>>2]|0)+28>>2]|0)k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];if(!(k[(k[b>>2]|0)+24>>2]|0)){e=k[b>>2]|0;Ud(e);r=f;return 0}k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];e=k[b>>2]|0;Ud(e);r=f;return 0}function wB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;k[c>>2]=2;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(!(k[(k[e>>2]|0)+4>>2]|0)){ag(k[b>>2]|0,k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0}else{if((k[d>>2]|0)<(k[c>>2]|0)){a=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)|0;g=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];k[a+12>>2]=k[g+12>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+20>>2]=k[d>>2];if((k[(k[b>>2]|0)+20>>2]|0)>2){r=f;return}if((k[(k[b>>2]|0)+16>>2]|0)==((k[b>>2]|0)+460|0)){r=f;return}g=(k[b>>2]|0)+460|0;e=k[(k[b>>2]|0)+16>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];k[g+24>>2]=k[e+24>>2];k[g+28>>2]=k[e+28>>2];ag(k[b>>2]|0,k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=(k[b>>2]|0)+460;r=f;return}function xB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;c=g+8|0;d=g+4|0;f=g;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];if(!(k[e>>2]|0)){r=g;return 0}k[d>>2]=k[(k[b>>2]|0)+4>>2];ug(k[e>>2]|0);zB(k[b>>2]|0);a:do if((k[(k[d>>2]|0)+8>>2]|0)==(k[b>>2]|0))k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];else{k[f>>2]=k[(k[d>>2]|0)+8>>2];while(1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[b>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[f>>2]|0))break a}k[(k[f>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2]}while(0);k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;AB(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}BB(k[d>>2]|0);Ud(k[(k[b>>2]|0)+12>>2]|0);r=g;return 0}function yB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[e>>2]=0;b=(k[c>>2]|0)+64|0;k[b>>2]=(k[b>>2]|0)+-1;if((k[(k[c>>2]|0)+64>>2]|0)>0){e=k[e>>2]|0;r=f;return e|0}if((k[1208]|0)!=(k[c>>2]|0)){k[d>>2]=k[1208];while(1){if(k[d>>2]|0)b=(k[(k[d>>2]|0)+68>>2]|0)!=(k[c>>2]|0);else b=0;a=k[d>>2]|0;if(!b)break;k[d>>2]=k[a+68>>2]}if(a)k[(k[d>>2]|0)+68>>2]=k[(k[c>>2]|0)+68>>2]}else k[1208]=k[(k[c>>2]|0)+68>>2];k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}function zB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+48>>2]|0);k[(k[c>>2]|0)+48>>2]=0;i[(k[c>>2]|0)+66>>0]=0;r=b;return}function AB(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}CB(k[b>>2]|0);r=c;return}function BB(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(l[(k[b>>2]|0)+20>>0]|0){r=d;return}if(!(k[(k[b>>2]|0)+12>>2]|0)){r=d;return}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;CB(k[c>>2]|0);r=d;return}function CB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Js(k[(k[c>>2]|0)+72>>2]|0);r=b;return}function DB(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;g=E+16|0;f=E+8|0;e=E;m=E+116|0;F=E+108|0;d=E+104|0;u=E+100|0;o=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;p=E+76|0;n=E+72|0;A=E+68|0;t=E+64|0;h=E+60|0;s=E+56|0;q=E+52|0;k[m>>2]=a;k[E+112>>2]=b;k[F>>2]=c;k[u>>2]=0;a=Ge(k[m>>2]|0)|0;k[o>>2]=a;k[D>>2]=0;k[z>>2]=0;k[A>>2]=0;a=ke(k[k[F>>2]>>2]|0)|0;k[B>>2]=a;a=ke(k[(k[F>>2]|0)+4>>2]|0)|0;k[C>>2]=a;if(!(k[B>>2]|0))k[B>>2]=19266;if(!(k[C>>2]|0))k[C>>2]=19266;b=k[o>>2]|0;do if((k[(k[o>>2]|0)+20>>2]|0)<((k[(k[o>>2]|0)+88+28>>2]|0)+2|0)){if(!(i[b+63>>0]|0)){F=Lh(k[o>>2]|0,32291,f)|0;k[A>>2]=F;break}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[(k[o>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];if(!(be(k[h>>2]|0,k[C>>2]|0)|0)){j=12;break}k[d>>2]=(k[d>>2]|0)+1}if((j|0)==12){F=k[o>>2]|0;k[g>>2]=k[C>>2];F=Lh(F,32333,g)|0;k[A>>2]=F;break}b=k[o>>2]|0;do if((k[(k[o>>2]|0)+16>>2]|0)==((k[o>>2]|0)+460|0)){F=Pw(b,48,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}else{F=k[n>>2]|0;j=k[(k[o>>2]|0)+16>>2]|0;k[F>>2]=k[j>>2];k[F+4>>2]=k[j+4>>2];k[F+8>>2]=k[j+8>>2];k[F+12>>2]=k[j+12>>2];k[F+16>>2]=k[j+16>>2];k[F+20>>2]=k[j+20>>2];k[F+24>>2]=k[j+24>>2];k[F+28>>2]=k[j+28>>2];break}}else{F=Ow(b,k[(k[o>>2]|0)+16>>2]|0,(k[(k[o>>2]|0)+20>>2]|0)+1<<4,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}}while(0);k[(k[o>>2]|0)+16>>2]=k[n>>2];k[n>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[(k[o>>2]|0)+20>>2]<<4);F=k[n>>2]|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[p>>2]=k[(k[o>>2]|0)+48>>2];F=ek(k[(k[k[o>>2]>>2]|0)+16>>2]|0,k[B>>2]|0,p,t,D,z)|0;k[u>>2]=F;if(k[u>>2]|0){if((k[u>>2]|0)==7)th(k[o>>2]|0);te(k[m>>2]|0,k[z>>2]|0,-1);Ud(k[z>>2]|0);r=E;return}k[p>>2]=k[p>>2]|256;F=fk(k[t>>2]|0,k[D>>2]|0,k[o>>2]|0,(k[n>>2]|0)+4|0,0,k[p>>2]|0)|0;k[u>>2]=F;Ud(k[D>>2]|0);F=(k[o>>2]|0)+20|0;k[F>>2]=(k[F>>2]|0)+1;if((k[u>>2]|0)!=19){if(!(k[u>>2]|0)){F=gk(k[o>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=F;if(k[(k[n>>2]|0)+12>>2]|0){if((l[(k[(k[n>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(l[(k[(k[n>>2]|0)+12>>2]|0)+77>>0]|0)!=(l[(k[o>>2]|0)+62>>0]|0):0){F=Lh(k[o>>2]|0,20880,y)|0;k[A>>2]=F;k[u>>2]=1}}else k[u>>2]=7;ug(k[(k[n>>2]|0)+4>>2]|0);F=Yf(k[(k[n>>2]|0)+4>>2]|0)|0;k[s>>2]=F;EB(k[s>>2]|0,l[(k[o>>2]|0)+67>>0]|0)|0;F=k[(k[n>>2]|0)+4>>2]|0;FB(F,FB(k[(k[(k[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;GB(k[(k[n>>2]|0)+4>>2]|0,3|k[(k[o>>2]|0)+24>>2]&56)|0}}else{k[u>>2]=1;F=Lh(k[o>>2]|0,32363,x)|0;k[A>>2]=F}i[(k[n>>2]|0)+8>>0]=3;F=xh(k[o>>2]|0,k[C>>2]|0)|0;k[k[n>>2]>>2]=F;if((k[u>>2]|0)==0?(k[k[n>>2]>>2]|0)==0:0)k[u>>2]=7;if(!(k[u>>2]|0)){Xf(k[o>>2]|0);F=yi(k[o>>2]|0,A)|0;k[u>>2]=F}if(!(k[u>>2]|0)){r=E;return}k[q>>2]=(k[(k[o>>2]|0)+20>>2]|0)-1;if(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0){vB(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0)|0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]=0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+12>>2]=0}Jg(k[o>>2]|0);k[(k[o>>2]|0)+20>>2]=k[q>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082){th(k[o>>2]|0);ag(k[o>>2]|0,k[A>>2]|0);F=Lh(k[o>>2]|0,32392,v)|0;k[A>>2]=F;break}if(!(k[A>>2]|0)){F=k[o>>2]|0;k[w>>2]=k[B>>2];F=Lh(F,32406,w)|0;k[A>>2]=F}}else{k[e>>2]=k[(k[o>>2]|0)+88+28>>2];F=Lh(b,32254,e)|0;k[A>>2]=F}while(0);if(k[A>>2]|0){te(k[m>>2]|0,k[A>>2]|0,-1);ag(k[o>>2]|0,k[A>>2]|0)}if(!(k[u>>2]|0)){r=E;return}Be(k[m>>2]|0,k[u>>2]|0);r=E;return}function EB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(((k[d>>2]|0)>=0?(i[(k[c>>2]|0)+13>>0]|0)==0:0)?(IB(k[(k[c>>2]|0)+216>>2]|0)|0)==0:0)i[(k[c>>2]|0)+4>>0]=k[d>>2];r=e;return l[(k[c>>2]|0)+4>>0]|0}function FB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}ug(k[d>>2]|0);if((k[e>>2]|0)>=0?(a=(k[(k[d>>2]|0)+4>>2]|0)+22|0,j[a>>1]=(m[a>>1]|0)&-5,(k[e>>2]|0)!=0):0){a=(k[(k[d>>2]|0)+4>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|4}k[f>>2]=((m[(k[(k[d>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}function GB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];ug(k[f>>2]|0);HB(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function HB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;c=f;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[e>>2]&7;if(i[(k[d>>2]|0)+13>>0]|0){i[(k[d>>2]|0)+7>>0]=1;i[(k[d>>2]|0)+8>>0]=0;i[(k[d>>2]|0)+9>>0]=0}else{i[(k[d>>2]|0)+7>>0]=(k[c>>2]|0)==1?1:0;i[(k[d>>2]|0)+8>>0]=(k[c>>2]|0)>>>0>=3?1:0;i[(k[d>>2]|0)+9>>0]=(k[c>>2]|0)==4?1:0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if(k[e>>2]&8){i[(k[d>>2]|0)+12>>0]=3;i[(k[d>>2]|0)+10>>0]=3;break}b=(k[e>>2]&16|0)!=0;i[(k[d>>2]|0)+12>>0]=2;c=(k[d>>2]|0)+10|0;if(b){i[c>>0]=3;break}else{i[c>>0]=2;break}}else{i[(k[d>>2]|0)+12>>0]=0;i[(k[d>>2]|0)+10>>0]=0}while(0);i[(k[d>>2]|0)+11>>0]=i[(k[d>>2]|0)+12>>0]|0;if(i[(k[d>>2]|0)+8>>0]|0){b=(k[d>>2]|0)+11|0;i[b>>0]=l[b>>0]|32}c=(k[d>>2]|0)+21|0;a=l[c>>0]|0;if(k[e>>2]&32){i[c>>0]=a&-2;r=f;return}else{i[c>>0]=a|1;r=f;return}}function IB(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+43>>0]|0|0)==2;a=a&1;r=c;return a|0}function JB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);do if(k[(k[g>>2]|0)+4>>2]|0){if((k[d>>2]|0)!=0?0!=(be(k[d>>2]|0,k[k[g>>2]>>2]|0)|0):0)break;lx(k[c>>2]|0,k[f>>2]|0)}while(0);k[f>>2]=(k[f>>2]|0)+1}r=h;return}function KB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n;c=n+44|0;d=n+40|0;h=n+36|0;i=n+32|0;f=n+28|0;g=n+24|0;e=n+20|0;l=n+16|0;m=n+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[c>>2]>>2];b=Nh(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=b;b=LB(k[d>>2]|0)|0;k[h>>2]=b;k[e>>2]=16;k[l>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[m>>2]=(k[g>>2]|0)==1?20769:20788;if((k[g>>2]|0)==1)k[e>>2]=14;if(Ww(k[c>>2]|0,k[e>>2]|0,k[k[d>>2]>>2]|0,k[k[h>>2]>>2]|0,k[l>>2]|0)|0){r=n;return}if(Ww(k[c>>2]|0,9,k[m>>2]|0,0,k[l>>2]|0)|0){r=n;return}m=Zw(k[c>>2]|0)|0;k[i>>2]=m;if(!m){r=n;return}m=k[c>>2]|0;b=(k[g>>2]|0)==1?20769:20788;l=k[k[d>>2]>>2]|0;k[j>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[j+4>>2]=b;k[j+8>>2]=l;Yw(m,32454,j);_w(k[c>>2]|0,k[g>>2]|0);cx(k[i>>2]|0,127,k[g>>2]|0,0,0,k[k[d>>2]>>2]|0,0)|0;r=n;return}function LB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=xj((k[(k[c>>2]|0)+24>>2]|0)+8|0,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function MB(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;h=r;r=r+32|0;j=h+12|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;i[d>>0]=b;k[e>>2]=c;c=zh(k[j>>2]|0,36+(k[(k[e>>2]|0)+4>>2]|0)+1|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[f>>2]|0;r=h;return j|0}k[g>>2]=(k[f>>2]|0)+36;sR(k[g>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;Tw(k[g>>2]|0)|0;k[(k[f>>2]|0)+12>>2]=k[g>>2];i[k[f>>2]>>0]=i[d>>0]|0;j=k[f>>2]|0;r=h;return j|0}function NB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=(k[g>>2]|0)+8;b=ix(k[c>>2]|0,0,k[d>>2]|0)|0;k[e>>2]=b;_f(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[e>>2];if(k[e>>2]|0){g=(k[e>>2]|0)+36|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16}if(!(dz(k[c>>2]|0,k[d>>2]|0)|0)){g=k[e>>2]|0;r=f;return g|0}k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}function OB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;i=f+4|0;l=f;k[g>>2]=a;k[m>>2]=b;k[h>>2]=c;k[j>>2]=d;k[i>>2]=e;k[l>>2]=k[k[m>>2]>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[(k[g>>2]|0)+4>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=(k[h>>2]|0)==1&1;r=f;return}function PB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;i=j;f=j+32|0;g=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;k[g>>2]=a;k[c>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}k[e>>2]=k[(k[g>>2]|0)+12>>2];k[d>>2]=0;k[h>>2]=(k[c>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[c>>2]>>2]|0)){c=15;break}if(!(k[(k[g>>2]|0)+8>>2]|0)){if((k[(k[h>>2]|0)+4>>2]|0)!=0?(be(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0)!=0:0){c=8;break}ag(k[k[k[g>>2]>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0);k[(k[h>>2]|0)+4>>2]=0;k[k[h>>2]>>2]=k[(k[g>>2]|0)+4>>2]}if(QB(k[g>>2]|0,k[(k[h>>2]|0)+20>>2]|0)|0){c=11;break}if(RB(k[g>>2]|0,k[(k[h>>2]|0)+48>>2]|0)|0){c=13;break}k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+72}if((c|0)==8){e=k[k[g>>2]>>2]|0;b=k[(k[g>>2]|0)+20>>2]|0;h=k[(k[h>>2]|0)+4>>2]|0;k[i>>2]=k[(k[g>>2]|0)+16>>2];k[i+4>>2]=b;k[i+8>>2]=h;Kh(e,32752,i);k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==11){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==13){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==15){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}return 0}function QB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=20;break}if(SB(k[c>>2]|0,k[k[d>>2]>>2]|0)|0){c=4;break}if(PB(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0){c=6;break}if(RB(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0){c=8;break}if(SB(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0){c=10;break}if(RB(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0){c=12;break}if(SB(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0){c=14;break}if(RB(k[c>>2]|0,k[(k[d>>2]|0)+60>>2]|0)|0){c=16;break}if(RB(k[c>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0){c=18;break}k[d>>2]=k[(k[d>>2]|0)+52>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=1;else if((c|0)==12)k[e>>2]=1;else if((c|0)==14)k[e>>2]=1;else if((c|0)==16)k[e>>2]=1;else if((c|0)==18)k[e>>2]=1;else if((c|0)==20)k[e>>2]=0;r=f;return k[e>>2]|0}function RB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+12|0;e=g+8|0;c=g+4|0;k[e>>2]=a;k[c>>2]=b;while(1){if(!(k[c>>2]|0)){b=16;break}if((l[k[c>>2]>>0]|0)==135){if(!(i[(k[k[k[e>>2]>>2]>>2]|0)+140+5>>0]|0)){b=6;break}i[k[c>>2]>>0]=101}if(k[(k[c>>2]|0)+4>>2]&16384){b=16;break}b=k[e>>2]|0;a=(k[c>>2]|0)+20|0;if(k[(k[c>>2]|0)+4>>2]&2048){if(QB(b,k[a>>2]|0)|0){b=10;break}}else if(SB(b,k[a>>2]|0)|0){b=12;break}if(RB(k[e>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0){b=14;break}k[c>>2]=k[(k[c>>2]|0)+12>>2]}if((b|0)==6){c=k[k[e>>2]>>2]|0;k[f>>2]=k[(k[e>>2]|0)+16>>2];Kh(c,32798,f);k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==10){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==12){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==14){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==16){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function SB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if(RB(k[c>>2]|0,k[k[f>>2]>>2]|0)|0){c=6;break}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==8){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function TB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=10;break}if(QB(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0){c=4;break}if(RB(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0){c=6;break}if(SB(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0){c=8;break}k[d>>2]=k[(k[d>>2]|0)+28>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=0;r=f;return k[e>>2]|0}function UB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+88|0;j[a>>1]=j[a>>1]&-17|16;r=b;return}function VB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[f>>2]|0)){r=g;return}bx(k[d>>2]|0,1,k[f>>2]|0)|0;WB(k[d>>2]|0,k[e>>2]|0);$w(k[d>>2]|0,33,1,1)|0;r=g;return}function WB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;iC(k[e>>2]|0,1,d);r=c;return}function XB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;oB(k[f>>2]|0,23,0,1,0,h,-13)|0;WB(k[f>>2]|0,k[g>>2]|0);$w(k[f>>2]|0,33,1,1)|0;r=e;return}function YB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;g=f;k[c>>2]=a;k[h>>2]=b;k[g>>2]=k[k[c>>2]>>2];yC(k[(k[c>>2]|0)+16>>2]|0,(m[(k[c>>2]|0)+84>>1]|0)<<1);ag(k[g>>2]|0,k[(k[c>>2]|0)+16>>2]|0);k[d>>2]=k[h>>2]<<1;j[(k[c>>2]|0)+84>>1]=k[h>>2];a=zh(k[g>>2]|0,(k[d>>2]|0)*40|0,0)|0;k[e>>2]=a;k[(k[c>>2]|0)+16>>2]=a;if(!(k[(k[c>>2]|0)+16>>2]|0)){r=f;return}while(1){h=k[d>>2]|0;k[d>>2]=h+-1;if((h|0)<=0)break;j[(k[e>>2]|0)+8>>1]=1;k[(k[e>>2]|0)+32>>2]=k[k[c>>2]>>2];k[e>>2]=(k[e>>2]|0)+40}r=f;return}function ZB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+4|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[n>>2]=e;if(i[(k[k[g>>2]>>2]|0)+65>>0]|0){k[f>>2]=7;d=k[f>>2]|0;r=q;return d|0}else{d=(k[h>>2]|0)+(ha(k[j>>2]|0,m[(k[g>>2]|0)+84>>1]|0)|0)|0;k[o>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(d*40|0);d=nh(k[o>>2]|0,k[l>>2]|0,-1,1,k[n>>2]|0)|0;k[p>>2]=d;k[f>>2]=k[p>>2];d=k[f>>2]|0;r=q;return d|0}return 0}function _B(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;do if(k[c>>2]|0){if(!(be(k[c>>2]|0,33004)|0)){k[b>>2]=1;break}if(!(be(k[c>>2]|0,32997)|0))k[b>>2]=0;else d=6}else d=6;while(0);if((d|0)==6)k[b>>2]=-1;r=e;return k[b>>2]|0}function $B(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)==6)k[b>>2]=0;else k[b>>2]=k[6256+(k[c>>2]<<2)>>2];r=d;return k[b>>2]|0}function aC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=e;c=k[a+4>>2]|0;if((c|0)>-1|(c|0)==-1&(k[a>>2]|0)>>>0>=4294967295){b=e;c=k[b+4>>2]|0;a=(k[d>>2]|0)+168|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=e;xC(k[(k[d>>2]|0)+216>>2]|0,k[a>>2]|0,k[a+4>>2]|0)}a=(k[d>>2]|0)+168|0;L=k[a+4>>2]|0;r=f;return k[a>>2]|0}function bC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;ug(k[b>>2]|0);if(!(i[(k[(k[b>>2]|0)+4>>2]|0)+17>>0]|0)){a=0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}a=(i[(k[(k[b>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function cC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(be(k[c>>2]|0,34075)|0){if(!(be(k[c>>2]|0,33519)|0)){k[b>>2]=1;break}if(!(be(k[c>>2]|0,34080)|0)){k[b>>2]=2;break}else{a=Ui(k[c>>2]|0)|0;k[d>>2]=a;k[b>>2]=((k[d>>2]|0)>=0&(k[d>>2]|0)<=2?k[d>>2]|0:0)&255;break}}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function dC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;g=f+12|0;h=f+8|0;d=f+4|0;e=f;c=f+16|0;k[g>>2]=a;k[h>>2]=b;k[d>>2]=k[(k[g>>2]|0)+4>>2];k[e>>2]=0;i[c>>0]=k[h>>2];ug(k[g>>2]|0);if(((m[(k[d>>2]|0)+22>>1]|0)&2|0)!=0?(((l[c>>0]|0|0)!=0?1:0)|0)!=(l[(k[d>>2]|0)+17>>0]|0|0):0){k[e>>2]=8;h=k[e>>2]|0;r=f;return h|0}i[(k[d>>2]|0)+17>>0]=(l[c>>0]|0|0)!=0?1:0;i[(k[d>>2]|0)+18>>0]=(l[c>>0]|0|0)==2?1:0;h=k[e>>2]|0;r=f;return h|0}function eC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;f=d+4|0;c=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];ug(k[g>>2]|0);a=vC(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function fC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(i[(k[b>>2]|0)+63>>0]|0)){r=e;return}k[d>>2]=k[(k[b>>2]|0)+16>>2];k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){a=k[c>>2]|0;k[c>>2]=a+-1;if((a|0)<=0)break;if(k[(k[d>>2]|0)+4>>2]|0)GB(k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|k[(k[b>>2]|0)+24>>2]&56)|0;k[d>>2]=(k[d>>2]|0)+16}r=e;return}function gC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;b=uC(k[h>>2]|0)|0;k[f>>2]=b;k[e>>2]=k[k[d>>2]>>2];if((l[(k[e>>2]|0)+64>>0]|0|0)==(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}if(hC(k[d>>2]|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}else{i[(k[e>>2]|0)+64>>0]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}return 0}function hC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;b=f+12|0;c=f+8|0;d=f+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];do if(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0){if((i[(k[d>>2]|0)+63>>0]|0)!=0?(yg(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){vB(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=0;Jg(k[d>>2]|0);break}Kh(k[c>>2]|0,34013,e);k[b>>2]=1;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function iC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;YB(k[d>>2]|0,k[e>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;ZB(k[d>>2]|0,k[g>>2]|0,0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+1}r=h;return}function jC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+8|0;l=n+4|0;j=n+36|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;while(1){c=i[(k[g>>2]|0)+(k[l>>2]|0)>>0]|0;i[j>>0]=c;if(!(c<<24>>24))break;if((i[j>>0]|0)==115){d=(k[h>>2]|0)+(4-1)&~(4-1);a=k[d>>2]|0;k[h>>2]=d+4;k[m>>2]=a;a=k[e>>2]|0;d=(k[m>>2]|0)==0?25:97;c=k[f>>2]|0;k[f>>2]=c+1;cx(a,d,0,c,0,k[m>>2]|0,0)|0}else{a=k[e>>2]|0;c=(k[h>>2]|0)+(4-1)&~(4-1);d=k[c>>2]|0;k[h>>2]=c+4;c=k[f>>2]|0;k[f>>2]=c+1;$w(a,22,d,c)|0}k[l>>2]=(k[l>>2]|0)+1}r=n;return}function kC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;e=f+8|0;c=f+16|0;d=f;j[c>>1]=a;if((j[c>>1]|0)<10){d=e;k[d>>2]=1;k[d+4>>2]=0;d=e;e=d;e=k[e>>2]|0;d=d+4|0;d=k[d>>2]|0;L=d;r=f;return e|0}h=(j[c>>1]|0)%10|0;g=d;k[g>>2]=h;k[g+4>>2]=((h|0)<0)<<31>>31;j[c>>1]=(j[c>>1]|0)/10|0;g=d;h=k[g+4>>2]|0;b=d;a=k[b>>2]|0;b=k[b+4>>2]|0;if(!(h>>>0>0|(h|0)==0&(k[g>>2]|0)>>>0>=5)){if(b>>>0>0|(b|0)==0&a>>>0>=1){g=d;g=pR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L}}else{g=pR(a|0,b|0,2,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L}if((j[c>>1]|0)<3){h=d;h=qR(k[h>>2]|0,k[h+4>>2]|0,8,0)|0;h=rR(h|0,L|0,3-(j[c>>1]|0)|0)|0;g=e;k[g>>2]=h;k[g+4>>2]=L;g=e;h=g;h=k[h>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=f;return h|0}if((j[c>>1]|0)>60){a=-1;b=2147483647}else{a=d;a=qR(k[a>>2]|0,k[a+4>>2]|0,8,0)|0;a=vR(a|0,L|0,(j[c>>1]|0)-3|0)|0;b=L}g=e;k[g>>2]=a;k[g+4>>2]=b;g=e;h=g;h=k[h>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=f;return h|0}function lC(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;i[d>>0]=a;switch(l[d>>0]|0|0){case 7:{k[b>>2]=33823;break}case 8:{k[b>>2]=33832;break}case 9:{k[b>>2]=33844;break}case 6:{k[b>>2]=33852;break}default:k[b>>2]=33861}r=c;return k[b>>2]|0}function mC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;y=D;f=D+64|0;g=D+60|0;h=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;x=D+40|0;q=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[x>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[n>>2]|0)+20>>2];k[B>>2]=k[(k[n>>2]|0)+36+4>>2];do if((k[w>>2]|0)==1){if((j[(k[h>>2]|0)+32>>1]|0)>=0){if(!(k[B>>2]|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(be(k[(k[(k[h>>2]|0)+4>>2]|0)+((j[(k[h>>2]|0)+32>>1]|0)*24|0)>>2]|0,k[B>>2]|0)|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}}}else if(k[p>>2]|0){d=Pw(k[k[g>>2]>>2]|0,k[w>>2]<<2,0)|0;k[q>>2]=d;if(k[q>>2]|0){k[k[p>>2]>>2]=k[q>>2];break}k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}while(0);k[x>>2]=k[(k[h>>2]|0)+8>>2];a:while(1){if(!(k[x>>2]|0))break;do if((m[(k[x>>2]|0)+50>>1]|0)==(k[w>>2]|0)?(l[(k[x>>2]|0)+54>>0]|0)!=0:0){if(!(k[B>>2]|0))if((i[(k[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[w>>2]|0))break;j[u>>1]=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;if((j[u>>1]|0)<0)break;d=k[(k[(k[h>>2]|0)+4>>2]|0)+((j[u>>1]|0)*24|0)+16>>2]|0;k[z>>2]=d;k[z>>2]=(k[z>>2]|0)!=0?d:35690;if(be(k[(k[(k[x>>2]|0)+32>>2]|0)+(k[t>>2]<<2)>>2]|0,k[z>>2]|0)|0)break;k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+((j[u>>1]|0)*24|0)>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[w>>2]|0))break;if(!(be(k[(k[n>>2]|0)+36+(k[v>>2]<<3)+4>>2]|0,k[A>>2]|0)|0)){C=28;break}k[v>>2]=(k[v>>2]|0)+1}if((C|0)==28?(C=0,(k[q>>2]|0)!=0):0)k[(k[q>>2]|0)+(k[t>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[v>>2]<<3)>>2];if((k[v>>2]|0)==(k[w>>2]|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(k[w>>2]|0))break a}while(0);k[x>>2]=k[(k[x>>2]|0)+20>>2]}b:do if((C|0)==17?(k[q>>2]|0)!=0:0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break b;k[(k[q>>2]|0)+(k[s>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[s>>2]<<3)>>2];k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[x>>2]|0){k[k[o>>2]>>2]=k[x>>2];k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(i[(k[g>>2]|0)+442>>0]|0)){C=k[g>>2]|0;B=k[(k[n>>2]|0)+8>>2]|0;k[y>>2]=k[k[k[n>>2]>>2]>>2];k[y+4>>2]=B;Kh(C,33760,y)}ag(k[k[g>>2]>>2]|0,k[q>>2]|0);k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}function nC(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;n=r;r=r+32|0;d=n+16|0;c=n+12|0;e=n+8|0;g=n+4|0;h=n;l=n+20|0;f=n+22|0;k[c>>2]=a;k[e>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+12>>2];b=(m[(k[e>>2]|0)+52>>1]|0)+1|0;b=Ih(0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+16>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){th(k[c>>2]|0);k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[g>>2]=0;while(1){c=k[g>>2]|0;a=k[e>>2]|0;if((k[g>>2]|0)>=(m[(k[e>>2]|0)+52>>1]|0))break;j[l>>1]=j[(k[a+4>>2]|0)+(c<<1)>>1]|0;c=j[l>>1]|0;do if((j[l>>1]|0)<0){a=k[g>>2]|0;b=k[e>>2]|0;if((c|0)==-1){i[(k[b+16>>2]|0)+a>>0]=68;break}else{b=Xx(k[(k[(k[b+40>>2]|0)+4>>2]|0)+(a*20|0)>>2]|0)|0;i[f>>0]=b;i[f>>0]=(i[f>>0]|0)==0?65:b;i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[f>>0]|0;break}}else i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[h>>2]|0)+4>>2]|0)+(c*24|0)+21>>0]|0;while(0);k[g>>2]=(k[g>>2]|0)+1}i[(k[a+16>>2]|0)+c>>0]=0}k[d>>2]=k[(k[e>>2]|0)+16>>2];l=k[d>>2]|0;r=n;return l|0}function oC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0)k[e>>2]=33668;else k[e>>2]=19262;pi(k[c>>2]|0,33672,2,1,k[e>>2]|0,212,0,0,0)|0;pi(k[c>>2]|0,33672,3,1,k[e>>2]|0,212,0,0,0)|0;pi(k[c>>2]|0,33677,2,1,19258,212,0,0,0)|0;sC(k[c>>2]|0,33677,12);sC(k[c>>2]|0,33672,((k[d>>2]|0)!=0?12:4)&255);r=f;return}function pC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;k[d>>2]=(k[b>>2]|0)+124;while(1){if((k[c>>2]|0)>=10)break;if(k[(k[d>>2]|0)+12>>2]|0){rA(k[b>>2]|0,k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+20}r=e;return}function qC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+64|0;o=C+52|0;p=C+48|0;q=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;j=C+24|0;x=C+20|0;y=C+16|0;m=C+12|0;A=C+8|0;B=C+4|0;z=C;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;i[t>>0]=d;k[u>>2]=e;k[v>>2]=f;k[w>>2]=g;k[j>>2]=h;if((l[(k[q>>2]|0)+42>>0]|0)&16){k[o>>2]=0;B=k[o>>2]|0;r=C;return B|0}h=Nh(k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0;k[y>>2]=h;h=Zw(k[p>>2]|0)|0;k[B>>2]=h;if((k[u>>2]|0)<0)k[u>>2]=k[(k[p>>2]|0)+72>>2];h=k[u>>2]|0;k[u>>2]=h+1;k[m>>2]=h;if(k[w>>2]|0)k[k[w>>2]>>2]=k[m>>2];do if(!((l[(k[q>>2]|0)+42>>0]|0)&32)){if((k[v>>2]|0)!=0?(l[k[v>>2]>>0]|0|0)==0:0){n=11;break}Jz(k[p>>2]|0,k[m>>2]|0,k[y>>2]|0,k[q>>2]|0,k[s>>2]|0)}else n=11;while(0);if((n|0)==11)Iz(k[p>>2]|0,k[y>>2]|0,k[(k[q>>2]|0)+28>>2]|0,(k[s>>2]|0)==55&255,k[k[q>>2]>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=k[u>>2];k[x>>2]=0;k[A>>2]=k[(k[q>>2]|0)+8>>2];while(1){j=k[u>>2]|0;if(!(k[A>>2]|0))break;k[u>>2]=j+1;k[z>>2]=j;if(!((k[v>>2]|0)!=0?(l[(k[v>>2]|0)+((k[x>>2]|0)+1)>>0]|0|0)==0:0)){dx(k[B>>2]|0,k[s>>2]|0,k[z>>2]|0,k[(k[A>>2]|0)+44>>2]|0,k[y>>2]|0)|0;Kz(k[p>>2]|0,k[A>>2]|0)}if((i[(k[A>>2]|0)+55>>0]&3|0)==2?((l[(k[q>>2]|0)+42>>0]|0)&32|0)!=0:0){if(k[w>>2]|0)k[k[w>>2]>>2]=k[z>>2]}else Ph(k[B>>2]|0,i[t>>0]|0);k[A>>2]=k[(k[A>>2]|0)+20>>2];k[x>>2]=(k[x>>2]|0)+1}if((j|0)>(k[(k[p>>2]|0)+72>>2]|0))k[(k[p>>2]|0)+72>>2]=k[u>>2];k[o>>2]=k[x>>2];B=k[o>>2]|0;r=C;return B|0}function rC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;d=n+36|0;e=n+32|0;f=n+28|0;i=n+24|0;j=n+20|0;g=n+16|0;p=n+12|0;o=n+8|0;h=n+4|0;m=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ge(k[d>>2]|0)|0;k[o>>2]=a;a=Fe(k[d>>2]|0)|0;k[h>>2]=a;a=ke(k[k[f>>2]>>2]|0)|0;k[j>>2]=a;a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=a;a=le(k[k[f>>2]>>2]|0)|0;k[p>>2]=a;if((k[p>>2]|0)>(k[(k[o>>2]|0)+88+32>>2]|0)){te(k[d>>2]|0,33682,-1);r=n;return}do if((k[e>>2]|0)==3){p=ke(k[(k[f>>2]|0)+8>>2]|0)|0;k[m>>2]=p;if(!(k[m>>2]|0)){r=n;return}if((Mx(k[m>>2]|0,-1)|0)==1){p=tC(m)|0;k[g>>2]=p;break}te(k[d>>2]|0,33715,-1);r=n;return}else k[g>>2]=l[(k[h>>2]|0)+2>>0];while(0);if(!((k[i>>2]|0)!=0&(k[j>>2]|0)!=0)){r=n;return}p=k[d>>2]|0;ue(p,Zh(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0);r=n;return}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;f=r;r=r+16|0;h=f+8|0;g=f+4|0;d=f+12|0;e=f;k[h>>2]=a;k[g>>2]=b;i[d>>0]=c;c=k[h>>2]|0;b=k[g>>2]|0;b=qi(c,b,Sf(k[g>>2]|0)|0,2,1,0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){r=f;return}h=(k[e>>2]|0)+2|0;j[h>>1]=m[h>>1]|0|(l[d>>0]|0);r=f;return}function tC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;e=k[b>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=l[a>>0];if((k[c>>2]|0)>>>0<192){e=k[c>>2]|0;r=d;return e|0}k[c>>2]=l[26420+((k[c>>2]|0)-192)>>0];while(1){a=k[c>>2]|0;if(((l[k[k[b>>2]>>2]>>0]|0)&192|0)!=128)break;f=k[b>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[c>>2]=(a<<6)+(63&(l[e>>0]|0))}if((a>>>0>=128?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=65533;f=k[c>>2]|0;r=d;return f|0}function uC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;if((i[k[c>>2]>>0]|0)>=48?(i[k[c>>2]>>0]|0)<=50:0)k[b>>2]=(i[k[c>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(be(k[c>>2]|0,33917)|0)){k[b>>2]=1;break}if(!(be(k[c>>2]|0,27038)|0)){k[b>>2]=2;break}else{k[b>>2]=0;break}}while(0);r=e;return k[b>>2]|0}function vC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=wC(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function wC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){if((k[d>>2]|0)<0){b=k[d>>2]|0;b=BR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;a=zR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;k[d>>2]=a}k[(k[c>>2]|0)+20>>2]=k[d>>2]}a=hj(k[c>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=k[(k[c>>2]|0)+20>>2];e=k[e>>2]|0;r=f;return e|0}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if(!(k[d>>2]|0)){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function yC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[c>>2]=b;if(!((k[d>>2]|0)!=0&(k[c>>2]|0)!=0)){r=g;return}k[f>>2]=(k[d>>2]|0)+((k[c>>2]|0)*40|0);k[e>>2]=k[(k[d>>2]|0)+32>>2];if(k[(k[e>>2]|0)+528>>2]|0){do{if(k[(k[d>>2]|0)+24>>2]|0)ag(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}do{c=k[d>>2]|0;if(!((m[(k[d>>2]|0)+8>>1]|0)&9312)){if(k[c+24>>2]|0){ag(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+24>>2]=0}}else ch(c);j[(k[d>>2]|0)+8>>1]=128;a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}function zC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;j=n+8|0;i=n;e=n+44|0;o=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;l=n+24|0;m=n+48|0;k[e>>2]=a;k[o>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=k[(k[(k[k[e>>2]>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>4)break;k[i>>2]=k[h>>2];_d(24,m,34953,i)|0;if(zi(k[k[e>>2]>>2]|0,m,k[l>>2]|0)|0){o=k[e>>2]|0;d=k[f>>2]|0;c=k[g>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=m;k[j+8>>2]=d;k[j+12>>2]=c;Yw(o,31809,j)}k[h>>2]=(k[h>>2]|0)+1}r=n;return}function AC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=r;r=r+48|0;g=d;f=d+36|0;h=d+32|0;j=d+28|0;i=d+24|0;e=d+20|0;k[f>>2]=a;k[h>>2]=b;k[j>>2]=c;a=Zw(k[f>>2]|0)|0;k[i>>2]=a;a=eA(k[f>>2]|0)|0;k[e>>2]=a;dx(k[i>>2]|0,118,k[h>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;Lx(k[f>>2]|0);a=k[f>>2]|0;i=(k[j>>2]|0)==1?20769:20788;h=k[h>>2]|0;c=k[e>>2]|0;b=k[e>>2]|0;k[g>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];k[g+4>>2]=i;k[g+8>>2]=h;k[g+12>>2]=c;k[g+16>>2]=b;Yw(a,34897,g);iA(k[f>>2]|0,k[e>>2]|0);r=d;return}function BC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;l=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[k[j>>2]>>2];do if(!(k[m>>2]&(k[m>>2]|0)-1)){k[o>>2]=(k[m>>2]|0)==0?1:k[m>>2]<<1;c=ha(k[o>>2]|0,k[i>>2]|0)|0;c=Ow(k[g>>2]|0,k[h>>2]|0,c,((c|0)<0)<<31>>31)|0;k[n>>2]=c;if(k[n>>2]|0){k[h>>2]=k[n>>2];break}k[k[l>>2]>>2]=-1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}while(0);k[p>>2]=k[h>>2];c=ha(k[m>>2]|0,k[i>>2]|0)|0;uR((k[p>>2]|0)+c|0,0,k[i>>2]|0)|0;k[k[l>>2]>>2]=k[m>>2];p=k[j>>2]|0;k[p>>2]=(k[p>>2]|0)+1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}function CC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=0;k[o>>2]=0;if(k[(k[k[f>>2]>>2]|0)+24>>2]&8388608){b=px(k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=b}k[n>>2]=k[o>>2];while(1){if(!(k[n>>2]|0))break;if((l[(k[n>>2]|0)+8>>0]|0|0)==(k[h>>2]|0)?(WF(k[(k[n>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)k[m>>2]=k[m>>2]|(l[(k[n>>2]|0)+9>>0]|0);k[n>>2]=k[(k[n>>2]|0)+32>>2]}if(!(k[j>>2]|0)){a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}k[k[j>>2]>>2]=k[m>>2];a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}function DC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(((l[(k[f>>2]|0)+42>>0]|0)&16|0)!=0?(c=(Kx(k[k[e>>2]>>2]|0,k[f>>2]|0)|0)+4|0,(k[(k[k[c>>2]>>2]|0)+52>>2]|0)==0):0))j=3;do if((j|0)==3){if((((l[(k[f>>2]|0)+42>>0]|0)&1|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(l[(k[e>>2]|0)+18>>0]|0|0)==0:0)break;if((k[g>>2]|0)==0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[e>>2]|0;k[i>>2]=k[k[f>>2]>>2];Kh(j,36112,i);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);j=k[e>>2]|0;k[h>>2]=k[k[f>>2]>>2];Kh(j,36083,h);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}function EC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+88|0;j[a>>1]=j[a>>1]&-5|4;r=b;return}function FC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+128|0;u=O+108|0;v=O+104|0;w=O+100|0;f=O+96|0;q=O+92|0;x=O+88|0;z=O+84|0;h=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;n=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;p=O+20|0;K=O+16|0;L=O+12|0;g=O+8|0;o=O+4|0;G=O+112|0;N=O;k[v>>2]=a;k[w>>2]=b;k[f>>2]=c;k[q>>2]=d;k[x>>2]=e;k[z>>2]=k[k[v>>2]>>2];k[A>>2]=0;k[B>>2]=0;k[p>>2]=0;if(!(k[f>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[(k[v>>2]|0)+536>>2]|0)==0?(k[(k[f>>2]|0)+68>>2]|0)==0:0){if(px(k[v>>2]|0,k[w>>2]|0)|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[w>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[q>>2]|0)==10){if((j[(k[w>>2]|0)+32>>1]|0)>=0)k[q>>2]=l[(k[w>>2]|0)+43>>0];if((k[q>>2]|0)==10)k[q>>2]=2}if((k[k[(k[f>>2]|0)+32>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[(k[f>>2]|0)+32>>2]|0)+8+20>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+36>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+48>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+40>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+60>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+52>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(m[(k[f>>2]|0)+6>>1]&1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[h>>2]=k[k[f>>2]>>2];if((k[k[h>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((l[k[k[(k[h>>2]|0)+4>>2]>>2]>>0]|0)!=158){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[n>>2]=(k[(k[f>>2]|0)+32>>2]|0)+8;c=ix(k[v>>2]|0,0,k[n>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[I>>2]|0)==(k[w>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(((l[(k[w>>2]|0)+42>>0]&32|0)==0|0)!=((l[(k[I>>2]|0)+42>>0]&32|0)==0|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[I>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[I>>2]|0)+12>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+34>>1]|0)!=(j[(k[I>>2]|0)+34>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+32>>1]|0)!=(j[(k[I>>2]|0)+32>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[C>>2]=0;a:while(1){if((k[C>>2]|0)>=(j[(k[w>>2]|0)+34>>1]|0)){f=64;break}k[g>>2]=(k[(k[w>>2]|0)+4>>2]|0)+((k[C>>2]|0)*24|0);k[o>>2]=(k[(k[I>>2]|0)+4>>2]|0)+((k[C>>2]|0)*24|0);if((i[(k[g>>2]|0)+21>>0]|0)!=(i[(k[o>>2]|0)+21>>0]|0)){f=52;break}if(be(k[(k[g>>2]|0)+16>>2]|0,k[(k[o>>2]|0)+16>>2]|0)|0){f=54;break}if((l[(k[g>>2]|0)+20>>0]|0)!=0?(i[(k[o>>2]|0)+20>>0]|0)==0:0){f=57;break}do if((k[C>>2]|0)>0){if(((k[(k[g>>2]|0)+8>>2]|0)==0|0)!=((k[(k[o>>2]|0)+8>>2]|0)==0|0)){f=62;break a}if(!(k[(k[g>>2]|0)+8>>2]|0))break;if(IQ(k[(k[g>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);k[C>>2]=(k[C>>2]|0)+1}if((f|0)==52){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==54){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==57){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==62){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==64){k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;if(l[(k[H>>2]|0)+54>>0]|0)k[p>>2]=1;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(YF(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}if(!(k[J>>2]|0)){f=73;break}k[H>>2]=k[(k[H>>2]|0)+20>>2]}if((f|0)==73){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}do if(k[(k[w>>2]|0)+24>>2]|0){if(!(Ay(k[(k[I>>2]|0)+24>>2]|0,k[(k[w>>2]|0)+24>>2]|0,-1)|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);do if(k[(k[z>>2]|0)+24>>2]&524288){if(!(k[(k[w>>2]|0)+16>>2]|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);if(k[(k[z>>2]|0)+24>>2]&128){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}o=Nh(k[z>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[D>>2]=o;o=Zw(k[v>>2]|0)|0;k[M>>2]=o;lx(k[v>>2]|0,k[D>>2]|0);o=(k[v>>2]|0)+72|0;c=k[o>>2]|0;k[o>>2]=c+1;k[F>>2]=c;c=(k[v>>2]|0)+72|0;o=k[c>>2]|0;k[c>>2]=o+1;k[E>>2]=o;o=GC(k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[t>>2]=o;o=eA(k[v>>2]|0)|0;k[K>>2]=o;o=eA(k[v>>2]|0)|0;k[L>>2]=o;Jz(k[v>>2]|0,k[E>>2]|0,k[x>>2]|0,k[w>>2]|0,55);do if(!(k[(k[z>>2]|0)+24>>2]&134217728)){if((j[(k[w>>2]|0)+32>>1]|0)<0){if(!((k[p>>2]|0)!=0?1:(k[(k[w>>2]|0)+8>>2]|0)!=0))f=87}else if(!(k[p>>2]|0))f=87;if((f|0)==87?!((k[q>>2]|0)!=2&(k[q>>2]|0)!=1):0)break;p=$w(k[M>>2]|0,108,k[E>>2]|0,0)|0;k[y>>2]=p;p=gx(k[M>>2]|0,13)|0;k[A>>2]=p;Pz(k[M>>2]|0,k[y>>2]|0)}while(0);f=k[v>>2]|0;if(!(l[(k[I>>2]|0)+42>>0]&32)){Jz(f,k[F>>2]|0,k[D>>2]|0,k[I>>2]|0,54);p=$w(k[M>>2]|0,108,k[F>>2]|0,0)|0;k[B>>2]=p;do if((j[(k[w>>2]|0)+32>>1]|0)<0){f=k[M>>2]|0;if(!(k[(k[w>>2]|0)+8>>2]|0)){t=$w(f,74,k[E>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}else{t=$w(f,103,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}}else{p=$w(k[M>>2]|0,103,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=p;p=dx(k[M>>2]|0,70,k[E>>2]|0,0,k[L>>2]|0)|0;k[s>>2]=p;ME(k[v>>2]|0,k[q>>2]|0,k[w>>2]|0);Pz(k[M>>2]|0,k[s>>2]|0);MC(k[v>>2]|0,k[t>>2]|0,k[L>>2]|0)}while(0);$w(k[M>>2]|0,102,k[F>>2]|0,k[K>>2]|0)|0;cx(k[M>>2]|0,75,k[E>>2]|0,k[K>>2]|0,k[L>>2]|0,k[k[w>>2]>>2]|0,0)|0;Ph(k[M>>2]|0,11);$w(k[M>>2]|0,7,k[F>>2]|0,k[y>>2]|0)|0;$w(k[M>>2]|0,61,k[F>>2]|0,0)|0;$w(k[M>>2]|0,61,k[E>>2]|0,0)|0}else{Iz(f,k[x>>2]|0,k[(k[w>>2]|0)+28>>2]|0,1,k[k[w>>2]>>2]|0);Iz(k[v>>2]|0,k[D>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0)}k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;i[G>>0]=0;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(YF(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}dx(k[M>>2]|0,54,k[F>>2]|0,k[(k[J>>2]|0)+44>>2]|0,k[D>>2]|0)|0;Kz(k[v>>2]|0,k[J>>2]|0);dx(k[M>>2]|0,55,k[E>>2]|0,k[(k[H>>2]|0)+44>>2]|0,k[x>>2]|0)|0;Kz(k[v>>2]|0,k[H>>2]|0);Ph(k[M>>2]|0,1);w=$w(k[M>>2]|0,108,k[F>>2]|0,0)|0;k[y>>2]=w;$w(k[M>>2]|0,101,k[F>>2]|0,k[K>>2]|0)|0;do if(k[(k[z>>2]|0)+24>>2]&134217728){k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[(k[J>>2]|0)+52>>1]|0))break;k[N>>2]=k[(k[(k[J>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2];if(be(35690,k[N>>2]|0)|0)break;k[C>>2]=(k[C>>2]|0)+1}if((k[C>>2]|0)!=(m[(k[J>>2]|0)+52>>1]|0))break;i[G>>0]=16;dx(k[M>>2]|0,105,k[E>>2]|0,0,-1)|0}while(0);do if(l[(k[I>>2]|0)+42>>0]&32){if((i[(k[H>>2]|0)+55>>0]&3|0)!=2)break;i[G>>0]=l[G>>0]|1}while(0);dx(k[M>>2]|0,110,k[E>>2]|0,k[K>>2]|0,1)|0;Ph(k[M>>2]|0,i[G>>0]|0);$w(k[M>>2]|0,7,k[F>>2]|0,(k[y>>2]|0)+1|0)|0;Pz(k[M>>2]|0,k[y>>2]|0);$w(k[M>>2]|0,61,k[F>>2]|0,0)|0;$w(k[M>>2]|0,61,k[E>>2]|0,0)|0;k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[B>>2]|0)Pz(k[M>>2]|0,k[B>>2]|0);iA(k[v>>2]|0,k[L>>2]|0);iA(k[v>>2]|0,k[K>>2]|0);if(k[A>>2]|0){$w(k[M>>2]|0,21,0,0)|0;Pz(k[M>>2]|0,k[A>>2]|0);$w(k[M>>2]|0,61,k[E>>2]|0,0)|0;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else{k[u>>2]=1;N=k[u>>2]|0;r=O;return N|0}}}k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;if((l[(k[g>>2]|0)+42>>0]|0)&8){b=k[e>>2]|0;if(k[(k[e>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[j>>2]=b;k[i>>2]=k[(k[j>>2]|0)+412>>2];while(1){if(k[i>>2]|0)a=(k[(k[i>>2]|0)+4>>2]|0)!=(k[g>>2]|0);else a=0;b=k[i>>2]|0;if(!a)break;k[i>>2]=k[b>>2]}do if(!b){e=Pw(k[k[e>>2]>>2]|0,16,0)|0;k[i>>2]=e;if(k[i>>2]|0){k[k[i>>2]>>2]=k[(k[j>>2]|0)+412>>2];k[(k[j>>2]|0)+412>>2]=k[i>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+8>>2]=k[f>>2];f=(k[j>>2]|0)+76|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[j>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[(k[i>>2]|0)+12>>2]=g;j=(k[j>>2]|0)+76|0;k[j>>2]=(k[j>>2]|0)+1;break}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);k[h>>2]=k[(k[i>>2]|0)+12>>2]}k[d>>2]=k[h>>2];j=k[d>>2]|0;r=m;return j|0}function HC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;Hz(k[d>>2]|0,17,k[e>>2]|0)|0;i[(k[(k[d>>2]|0)+24>>2]|0)+19>>0]=0;k[(k[(k[d>>2]|0)+24>>2]|0)+60>>2]=0;r=c;return}function IC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+40|0;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;m=q+12|0;j=q+8|0;i=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Zw(k[d>>2]|0)|0;k[o>>2]=c;c=Lz(k[o>>2]|0)|0;k[h>>2]=c;if((l[(k[f>>2]|0)+42>>0]|0)&16)d=Kx(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;else d=0;k[m>>2]=d;k[g>>2]=1;a:while(1){if((k[g>>2]|0)>=(k[h>>2]|0)){d=18;break}c=Wz(k[o>>2]|0,k[g>>2]|0)|0;k[j>>2]=c;b:do if((l[k[j>>2]>>0]|0|0)==54?(k[(k[j>>2]|0)+12>>2]|0)==(k[e>>2]|0):0){k[n>>2]=k[(k[j>>2]|0)+8>>2];if((k[n>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0)){d=8;break a}k[i>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[i>>2]|0))break b;if((k[n>>2]|0)==(k[(k[i>>2]|0)+44>>2]|0)){d=12;break a}k[i>>2]=k[(k[i>>2]|0)+20>>2]}}while(0);if((l[k[j>>2]>>0]|0|0)==152?(k[(k[j>>2]|0)+16>>2]|0)==(k[m>>2]|0):0){d=16;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==8){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==12){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==16){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==18){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}return 0}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;i=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[i>>2]|0)+8>>2];HA(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=(k[i>>2]|0)+76|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[e>>2]=c;$w(k[h>>2]|0,30,k[g>>2]|0,k[e>>2]|0)|0;UA(k[f>>2]|0,k[e>>2]|0);r=d;return}function KC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+20>>2];if(!(k[l>>2]|0)){a=GA(k[d>>2]|0)|0;k[f>>2]=a;a=(j[(k[e>>2]|0)+34>>1]|0)+1|0;a=Ih(0,a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;if(!(k[l>>2]|0)){th(k[f>>2]|0);r=m;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;i[(k[l>>2]|0)+(k[h>>2]|0)>>0]=i[(k[(k[e>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)+21>>0]|0;k[h>>2]=(k[h>>2]|0)+1}do{a=k[h>>2]|0;k[h>>2]=a+-1;i[(k[l>>2]|0)+a>>0]=0;if((k[h>>2]|0)<0)break}while((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==65);k[(k[e>>2]|0)+20>>2]=k[l>>2]}a=Sf(k[l>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=m;return}d=k[d>>2]|0;if(k[g>>2]|0){cx(d,48,k[g>>2]|0,k[h>>2]|0,0,k[l>>2]|0,k[h>>2]|0)|0;r=m;return}else{Sh(d,-1,k[l>>2]|0,k[h>>2]|0);r=m;return}}function LC(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;j=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;s=v+8|0;t=v+4|0;u=v;k[j>>2]=a;k[w>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[u>>2]=k[w>>2];while(1){if(!(k[u>>2]|0))break;if(((l[(k[u>>2]|0)+8>>0]|0|0)==(k[m>>2]|0)?(l[(k[u>>2]|0)+9>>0]|0|0)==(k[o>>2]|0):0)?(WF(k[(k[u>>2]|0)+16>>2]|0,k[n>>2]|0)|0)!=0:0)VE(k[j>>2]|0,k[u>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0);k[u>>2]=k[(k[u>>2]|0)+32>>2]}r=v;return}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}$w(k[(k[d>>2]|0)+8>>2]|0,137,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[(k[d>>2]|0)+23>>0]|0|0)!=0?(PA(k[e>>2]|0)|0)!=0:0){iB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0);r=g;return}HA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function OC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;c=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;d=i;k[j>>2]=a;k[c>>2]=b;a=k[j>>2]|0;if(k[(k[j>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[g>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+456>>2]|0))break;if((k[c>>2]|0)==(k[(k[(k[g>>2]|0)+524>>2]|0)+(k[e>>2]<<2)>>2]|0)){h=10;break}k[e>>2]=(k[e>>2]|0)+1}if((h|0)==10){r=i;return}k[f>>2]=(k[(k[g>>2]|0)+456>>2]|0)+1<<2;j=k[f>>2]|0;j=Wd(k[(k[g>>2]|0)+524>>2]|0,j,((j|0)<0)<<31>>31)|0;k[d>>2]=j;if(k[d>>2]|0){k[(k[g>>2]|0)+524>>2]=k[d>>2];h=k[c>>2]|0;f=(k[g>>2]|0)+456|0;j=k[f>>2]|0;k[f>>2]=j+1;k[(k[(k[g>>2]|0)+524>>2]|0)+(j<<2)>>2]=h;r=i;return}else{th(k[k[g>>2]>>2]|0);r=i;return}}function PC(a,b,c,d,e,f,g,h,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=r;r=r+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;k[E>>2]=a;k[F>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[K>>2]=f;k[L>>2]=g;i[M>>0]=h;i[N>>0]=n;k[O>>2]=o;k[G>>2]=p;k[s>>2]=q;k[da>>2]=0;k[ja>>2]=0;k[X>>2]=0;k[W>>2]=0;i[R>>0]=0;k[ia>>2]=-1;i[Y>>0]=(k[L>>2]|0)!=0;k[S>>2]=k[k[E>>2]>>2];g=Zw(k[E>>2]|0)|0;k[ka>>2]=g;k[w>>2]=j[(k[F>>2]|0)+34>>1];if(!(l[(k[F>>2]|0)+42>>0]&32)){k[da>>2]=0;k[_>>2]=1}else{g=Oj(k[F>>2]|0)|0;k[da>>2]=g;k[_>>2]=m[(k[da>>2]|0)+50>>1]}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[w>>2]|0))break;a:do if((k[T>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0)){if((k[s>>2]|0)!=0?(k[(k[s>>2]|0)+(k[T>>2]<<2)>>2]|0)<0:0)break;k[$>>2]=l[(k[(k[F>>2]|0)+4>>2]|0)+((k[T>>2]|0)*24|0)+20>>0];if(k[$>>2]|0){if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if((k[$>>2]|0)==5?(k[(k[(k[F>>2]|0)+4>>2]|0)+((k[T>>2]|0)*24|0)+4>>2]|0)==0:0)k[$>>2]=2;switch(k[$>>2]|0){case 2:{Lx(k[E>>2]|0);break}case 3:case 1:break;case 4:{$w(k[ka>>2]|0,76,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[O>>2]|0)|0;break a}default:{g=Hz(k[ka>>2]|0,77,(k[K>>2]|0)+1+(k[T>>2]|0)|0)|0;k[t>>2]=g;HA(k[E>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+((k[T>>2]|0)*24|0)+4>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0);Pz(k[ka>>2]|0,k[t>>2]|0);break a}}g=k[S>>2]|0;f=k[(k[(k[F>>2]|0)+4>>2]|0)+((k[T>>2]|0)*24|0)>>2]|0;k[A>>2]=k[k[F>>2]>>2];k[A+4>>2]=f;g=Lh(g,31016,A)|0;k[B>>2]=g;cx(k[ka>>2]|0,20,1299,k[$>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[B>>2]|0,-1)|0;Ph(k[ka>>2]|0,1)}}while(0);k[T>>2]=(k[T>>2]|0)+1}b:do if((k[(k[F>>2]|0)+24>>2]|0)!=0?(k[(k[S>>2]|0)+24>>2]&8192|0)==0:0){k[x>>2]=k[(k[F>>2]|0)+24>>2];k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;k[$>>2]=(l[N>>0]|0)!=10?l[N>>0]|0:2;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[k[x>>2]>>2]|0))break b;k[y>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2];if(!((k[s>>2]|0)!=0?(LE(k[y>>2]|0,k[s>>2]|0,l[M>>0]|0)|0)!=0:0)){B=Mz(k[ka>>2]|0)|0;k[v>>2]=B;WA(k[E>>2]|0,k[y>>2]|0,k[v>>2]|0,16);if((k[$>>2]|0)==4)Oz(k[ka>>2]|0,k[O>>2]|0)|0;else{k[C>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)+4>>2];if(!(k[C>>2]|0))k[C>>2]=k[k[F>>2]>>2];if((k[$>>2]|0)==5)k[$>>2]=2;lA(k[E>>2]|0,275,k[$>>2]|0,k[C>>2]|0,0,3)}Qz(k[ka>>2]|0,k[v>>2]|0)}k[T>>2]=(k[T>>2]|0)+1}}while(0);if((l[M>>0]|0)!=0&(k[da>>2]|0)==0){C=Mz(k[ka>>2]|0)|0;k[u>>2]=C;k[$>>2]=l[(k[F>>2]|0)+43>>0];if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if(i[Y>>0]|0){dx(k[ka>>2]|0,79,k[K>>2]|0,k[u>>2]|0,k[L>>2]|0)|0;Ph(k[ka>>2]|0,-112)}c:do if((k[$>>2]|0)==5?(l[N>>0]|0)!=5:0){k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break c;if((l[(k[ca>>2]|0)+54>>0]|0)==4)break;if((l[(k[ca>>2]|0)+54>>0]|0)==3)break;k[ca>>2]=k[(k[ca>>2]|0)+20>>2]}C=gx(k[ka>>2]|0,13)|0;k[X>>2]=C}while(0);dx(k[ka>>2]|0,70,k[I>>2]|0,k[u>>2]|0,k[K>>2]|0)|0;switch(k[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{k[z>>2]=0;if(k[(k[S>>2]|0)+24>>2]&262144){C=CC(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[z>>2]=C}if((k[z>>2]|0)==0?(NE(k[E>>2]|0,k[F>>2]|0,0,0)|0)==0:0){if(k[(k[F>>2]|0)+8>>2]|0){OE(k[E>>2]|0);QE(k[E>>2]|0,k[F>>2]|0,k[I>>2]|0,k[J>>2]|0,0,-1)}}else{OE(k[E>>2]|0);PE(k[E>>2]|0,k[F>>2]|0,k[z>>2]|0,k[I>>2]|0,k[J>>2]|0,k[K>>2]|0,1,0,5,1,-1)}k[ja>>2]=1;break}case 4:{Oz(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[$>>2]=2;D=55}}if((D|0)==55)ME(k[E>>2]|0,k[$>>2]|0,k[F>>2]|0);Qz(k[ka>>2]|0,k[u>>2]|0);if(k[X>>2]|0){D=gx(k[ka>>2]|0,13)|0;k[W>>2]=D;Pz(k[ka>>2]|0,k[X>>2]|0)}}k[Z>>2]=0;k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break;do if(k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0){if(!(l[R>>0]|0)){KC(k[ka>>2]|0,k[F>>2]|0,(k[K>>2]|0)+1|0);i[R>>0]=1}k[V>>2]=(k[J>>2]|0)+(k[Z>>2]|0);D=Mz(k[ka>>2]|0)|0;k[Q>>2]=D;if(k[(k[ca>>2]|0)+36>>2]|0){$w(k[ka>>2]|0,25,0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;tA(k[E>>2]|0,k[(k[ca>>2]|0)+36>>2]|0,k[Q>>2]|0,16);k[(k[E>>2]|0)+100>>2]=0}D=uA(k[E>>2]|0,m[(k[ca>>2]|0)+52>>1]|0)|0;k[ga>>2]=D;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[ca>>2]|0)+52>>1]|0))break;k[U>>2]=j[(k[(k[ca>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];do if((k[U>>2]|0)==-2){k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;CA(k[E>>2]|0,k[(k[(k[(k[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0);k[(k[E>>2]|0)+100>>2]=0}else{if((k[U>>2]|0)!=-1?(k[U>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0):0)k[la>>2]=(k[U>>2]|0)+(k[K>>2]|0)+1;else{if((k[ia>>2]|0)==((k[ga>>2]|0)+(k[T>>2]|0)|0))break;k[la>>2]=k[K>>2];if(k[(k[ca>>2]|0)+36>>2]|0)s=-1;else s=(k[ga>>2]|0)+(k[T>>2]|0)|0;k[ia>>2]=s}$w(k[ka>>2]|0,(k[U>>2]|0)<0?32:31,k[la>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0)|0}while(0);k[T>>2]=(k[T>>2]|0)+1}dx(k[ka>>2]|0,49,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;MA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if(((l[Y>>0]|0)!=0?(k[da>>2]|0)==(k[ca>>2]|0):0)?(l[M>>0]|0)==0:0){Qz(k[ka>>2]|0,k[Q>>2]|0);break}k[$>>2]=l[(k[ca>>2]|0)+54>>0];if(!(k[$>>2]|0)){xA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);Qz(k[ka>>2]|0,k[Q>>2]|0);break}if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];Oh(k[ka>>2]|0,67,k[V>>2]|0,k[Q>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+50>>1]|0)|0;if((k[ca>>2]|0)==(k[da>>2]|0))s=k[ga>>2]|0;else s=uA(k[E>>2]|0,k[_>>2]|0)|0;k[ha>>2]=s;d:do if((l[Y>>0]|0)!=0|(k[$>>2]|0)==5){if(!(l[(k[F>>2]|0)+42>>0]&32)){$w(k[ka>>2]|0,113,k[V>>2]|0,k[ha>>2]|0)|0;if(!(i[Y>>0]|0))break;dx(k[ka>>2]|0,79,k[ha>>2]|0,k[Q>>2]|0,k[L>>2]|0)|0;Ph(k[ka>>2]|0,-112);break}e:do if((k[ca>>2]|0)!=(k[da>>2]|0)){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break e;D=(EA(k[ca>>2]|0,j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1]|0)|0)<<16>>16;k[ma>>2]=D;dx(k[ka>>2]|0,47,k[V>>2]|0,k[ma>>2]|0,(k[ha>>2]|0)+(k[T>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(i[Y>>0]|0){D=Lz(k[ka>>2]|0)|0;k[P>>2]=D+(m[(k[da>>2]|0)+50>>1]|0);k[aa>>2]=78;k[fa>>2]=(i[(k[ca>>2]|0)+55>>0]&3|0)==2?k[ga>>2]|0:k[ha>>2]|0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break d;D=Nz(k[E>>2]|0,k[(k[(k[da>>2]|0)+32>>2]|0)+(k[T>>2]<<2)>>2]|0)|0;k[ba>>2]=D;k[ma>>2]=j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];if((k[T>>2]|0)==((m[(k[da>>2]|0)+50>>1]|0)-1|0)){k[P>>2]=k[Q>>2];k[aa>>2]=79}cx(k[ka>>2]|0,k[aa>>2]|0,(k[L>>2]|0)+1+(k[ma>>2]|0)|0,k[P>>2]|0,(k[fa>>2]|0)+(k[T>>2]|0)|0,k[ba>>2]|0,-4)|0;Ph(k[ka>>2]|0,-112);k[T>>2]=(k[T>>2]|0)+1}}}while(0);switch(k[$>>2]|0){case 3:case 2:case 1:{hA(k[E>>2]|0,k[$>>2]|0,k[ca>>2]|0);break}case 4:{Oz(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[ea>>2]=0;OE(k[E>>2]|0);if(k[(k[S>>2]|0)+24>>2]&262144){D=CC(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[ea>>2]=D}PE(k[E>>2]|0,k[F>>2]|0,k[ea>>2]|0,k[I>>2]|0,k[J>>2]|0,k[ha>>2]|0,k[_>>2]&65535,0,5,((k[ca>>2]|0)==(k[da>>2]|0)?1:0)&255,-1);k[ja>>2]=1}}Qz(k[ka>>2]|0,k[Q>>2]|0);xA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if((k[ha>>2]|0)!=(k[ga>>2]|0))xA(k[E>>2]|0,k[ha>>2]|0,k[_>>2]|0)}while(0);k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[Z>>2]=(k[Z>>2]|0)+1}if(!(k[X>>2]|0)){la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}Oz(k[ka>>2]|0,(k[X>>2]|0)+1|0)|0;Pz(k[ka>>2]|0,k[W>>2]|0);la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}function QC(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+112|0;g=O+108|0;h=O+104|0;m=O+100|0;n=O+96|0;o=O+92|0;p=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;q=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[v>>2]=k[k[g>>2]>>2];k[C>>2]=l[(k[g>>2]|0)+442>>0];if(!(k[(k[v>>2]|0)+24>>2]&524288)){r=O;return}c=Nh(k[v>>2]|0,k[(k[h>>2]|0)+64>>2]|0)|0;k[z>>2]=c;k[M>>2]=k[(k[(k[v>>2]|0)+16>>2]|0)+(k[z>>2]<<4)>>2];k[D>>2]=k[(k[h>>2]|0)+16>>2];a:while(1){if(!(k[D>>2]|0)){N=39;break}k[E>>2]=0;k[t>>2]=0;k[u>>2]=0;if(!(((k[o>>2]|0)!=0?(be(k[k[h>>2]>>2]|0,k[(k[D>>2]|0)+8>>2]|0)|0)!=0:0)?(UC(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(i[(k[g>>2]|0)+442>>0]|0){c=zi(k[v>>2]|0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}else{c=Jh(k[g>>2]|0,0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}if((k[I>>2]|0)!=0?(mC(k[g>>2]|0,k[I>>2]|0,k[D>>2]|0,E,t)|0)==0:0){if(k[t>>2]|0)k[q>>2]=k[t>>2];else{k[y>>2]=k[(k[D>>2]|0)+36>>2];k[q>>2]=y}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;if((k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]|0)==(j[(k[h>>2]|0)+32>>1]|0))k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]=-1;if(k[(k[v>>2]|0)+288>>2]|0){if(k[E>>2]|0)e=j[(k[(k[E>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0;else e=j[(k[I>>2]|0)+32>>1]|0;k[L>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+((e<<16>>16)*24|0)>>2];c=Yy(k[g>>2]|0,k[k[I>>2]>>2]|0,k[L>>2]|0,k[z>>2]|0)|0;k[J>>2]=c;k[u>>2]=(k[J>>2]|0)==2&1}k[x>>2]=(k[x>>2]|0)+1}Iz(k[g>>2]|0,k[z>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0);c=(k[g>>2]|0)+72|0;k[c>>2]=(k[c>>2]|0)+1;if(k[m>>2]|0)VC(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[m>>2]|0,-1,k[u>>2]|0);if((k[n>>2]|0)!=0?(WC(k[g>>2]|0,k[D>>2]|0)|0)==0:0)VC(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[n>>2]|0,1,k[u>>2]|0);ag(k[v>>2]|0,k[t>>2]|0);break}if(!(k[C>>2]|0)){N=59;break a}if(l[(k[v>>2]|0)+65>>0]|0){N=59;break a}if(!(k[I>>2]|0)){c=Zw(k[g>>2]|0)|0;k[K>>2]=c;c=Lz(k[K>>2]|0)|0;k[A>>2]=c+(k[(k[D>>2]|0)+20>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;k[B>>2]=(k[(k[D>>2]|0)+36+(k[x>>2]<<3)>>2]|0)+(k[m>>2]|0)+1;$w(k[K>>2]|0,76,k[B>>2]|0,k[A>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}$w(k[K>>2]|0,135,l[(k[D>>2]|0)+24>>0]|0,-1)|0}}while(0);k[D>>2]=k[(k[D>>2]|0)+4>>2]}if((N|0)==39){M=Ox(k[h>>2]|0)|0;k[D>>2]=M;b:while(1){if(!(k[D>>2]|0)){N=59;break}k[F>>2]=0;k[s>>2]=0;if(!((k[o>>2]|0)!=0?(XC(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((i[(k[D>>2]|0)+24>>0]|0)==0?(k[(k[v>>2]|0)+24>>2]&16777216|0)==0:0)?(k[(k[g>>2]|0)+416>>2]|0)==0:0)?(i[(k[g>>2]|0)+20>>0]|0)==0:0)break;if(mC(k[g>>2]|0,k[h>>2]|0,k[D>>2]|0,F,s)|0){if(!(k[C>>2]|0)){N=59;break b}if(l[(k[v>>2]|0)+65>>0]|0){N=59;break b}else break}M=Xv(k[v>>2]|0,0,0,0)|0;k[H>>2]=M;if(k[H>>2]|0){k[G>>2]=(k[H>>2]|0)+8;k[(k[G>>2]|0)+16>>2]=k[k[D>>2]>>2];k[(k[G>>2]|0)+8>>2]=k[k[k[D>>2]>>2]>>2];L=(k[(k[G>>2]|0)+16>>2]|0)+36|0;j[L>>1]=(j[L>>1]|0)+1<<16>>16;L=(k[g>>2]|0)+72|0;M=k[L>>2]|0;k[L>>2]=M+1;k[(k[G>>2]|0)+44>>2]=M;if(k[n>>2]|0)YC(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[n>>2]|0,-1);if((k[m>>2]|0)!=0?(k[w>>2]=l[(k[D>>2]|0)+25+((k[o>>2]|0)!=0&1)>>0],YC(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[m>>2]|0,1),((k[w>>2]|0)!=9?(i[(k[D>>2]|0)+24>>0]|0)==0:0)&(k[w>>2]|0)!=7):0)Lx(k[g>>2]|0);k[(k[G>>2]|0)+8>>2]=0;gv(k[v>>2]|0,k[H>>2]|0)}ag(k[v>>2]|0,k[s>>2]|0)}while(0);k[D>>2]=k[(k[D>>2]|0)+12>>2]}if((N|0)==59){r=O;return}}else if((N|0)==59){r=O;return}}function RC(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+64|0;n=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;i[x>>0]=0;m=Zw(k[n>>2]|0)|0;k[D>>2]=m;k[y>>2]=0;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;if(k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0){i[x>>0]=1;if(k[(k[z>>2]|0)+36>>2]|0){e=k[D>>2]|0;m=k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0;$w(e,76,m,(Lz(k[D>>2]|0)|0)+2|0)|0}$w(k[D>>2]|0,110,(k[q>>2]|0)+(k[y>>2]|0)|0,k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)|0;i[A>>0]=0;i[A>>0]=(k[w>>2]|0)!=0?16:0;if((i[(k[z>>2]|0)+55>>0]&3|0)==2?(l[(k[o>>2]|0)+42>>0]&32|0)!=0:0)i[A>>0]=l[A>>0]|1;Ph(k[D>>2]|0,i[A>>0]|0)}k[z>>2]=k[(k[z>>2]|0)+20>>2];k[y>>2]=(k[y>>2]|0)+1}if(l[(k[o>>2]|0)+42>>0]&32){r=E;return}k[B>>2]=(k[s>>2]|0)+1;m=eA(k[n>>2]|0)|0;k[C>>2]=m;dx(k[D>>2]|0,49,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0,k[C>>2]|0)|0;if(!(i[x>>0]|0))KC(k[D>>2]|0,k[o>>2]|0,0);MA(k[n>>2]|0,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0);if(i[(k[n>>2]|0)+18>>0]|0)i[A>>0]=0;else{i[A>>0]=1;i[A>>0]=l[A>>0]|((k[u>>2]|0)!=0?4:2)}if(k[v>>2]|0)i[A>>0]=l[A>>0]|8;if(k[w>>2]|0)i[A>>0]=l[A>>0]|16;dx(k[D>>2]|0,75,k[p>>2]|0,k[C>>2]|0,k[s>>2]|0)|0;if(!(i[(k[n>>2]|0)+18>>0]|0))Sh(k[D>>2]|0,-1,k[k[o>>2]>>2]|0,0);Ph(k[D>>2]|0,i[A>>0]|0);r=E;return}function SC(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+412>>2]|0)){r=c;return}TC(k[b>>2]|0);r=c;return}function TC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;g=l+24|0;j=l+20|0;d=l+16|0;c=l+12|0;h=l+8|0;e=l+4|0;f=l;k[b>>2]=a;k[j>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+412>>2];while(1){if(!(k[g>>2]|0)){b=5;break}k[h>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[g>>2]|0)+8>>2]<<4);k[f>>2]=k[(k[g>>2]|0)+12>>2];a=eA(k[b>>2]|0)|0;k[e>>2]=a;Jz(k[b>>2]|0,0,k[(k[g>>2]|0)+8>>2]|0,k[(k[(k[h>>2]|0)+12>>2]|0)+72>>2]|0,55);a=Qh(k[j>>2]|0,5,35196,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+4>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+20+8>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+40+4>>2]=(k[f>>2]|0)-1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+8>>2]=k[e>>2];k[(k[c>>2]|0)+60+12>>2]=(k[f>>2]|0)+1;i[(k[c>>2]|0)+60+3>>0]=8;iA(k[b>>2]|0,k[e>>2]|0);k[g>>2]=k[k[g>>2]>>2]}if((b|0)==5){r=l;return}}function UC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0)){e=8;break}k[l>>2]=k[(k[f>>2]|0)+36+(k[i>>2]<<3)>>2];if((k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)>=0){e=4;break}if((k[h>>2]|0)!=0?(k[l>>2]|0)==(j[(k[e>>2]|0)+32>>1]|0):0){e=6;break}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==4){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==6){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==8){k[m>>2]=0;m=k[m>>2]|0;r=n;return m|0}return 0} -function pi(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;C=D;o=D+56|0;p=D+52|0;q=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;B=D+16|0;A=D+12|0;z=D+8|0;n=D+4|0;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[w>>2]=g;k[x>>2]=h;k[y>>2]=l;do if(k[q>>2]|0){if((k[v>>2]|0)!=0?(k[x>>2]|0)!=0|(k[w>>2]|0)!=0:0)break;if(((k[v>>2]|0)==0&(k[x>>2]|0)!=0^1|(k[w>>2]|0)!=0?!((((k[v>>2]|0)!=0|(k[x>>2]|0)!=0)^1)&(k[w>>2]|0)!=0|(k[s>>2]|0)<-1|(k[s>>2]|0)>127):0)?(b=Sf(k[q>>2]|0)|0,k[A>>2]=b,255>=(b|0)):0){k[z>>2]=k[t>>2]&2048;k[t>>2]=k[t>>2]&7;do if((k[t>>2]|0)!=4){if((k[t>>2]|0)==5){b=pi(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,1|k[z>>2],k[u>>2]|0,k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){b=pi(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,2|k[z>>2],k[u>>2]|0,k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[n>>2]=b}if(!(k[n>>2]|0)){k[t>>2]=3;break}k[o>>2]=k[n>>2];C=k[o>>2]|0;r=D;return C|0}}else k[t>>2]=(i[960]|0)==0?3:2;while(0);b=qi(k[p>>2]|0,k[q>>2]|0,k[A>>2]|0,k[s>>2]|0,k[t>>2]&255,0)|0;k[B>>2]=b;do if(((k[B>>2]|0)!=0?(m[(k[B>>2]|0)+2>>1]&3|0)==(k[t>>2]|0):0)?(j[k[B>>2]>>1]|0)==(k[s>>2]|0):0){a=k[p>>2]|0;if(!(k[(k[p>>2]|0)+148>>2]|0)){Yh(a);break}rg(a,5,27111,C);k[o>>2]=5;C=k[o>>2]|0;r=D;return C|0}while(0);C=qi(k[p>>2]|0,k[q>>2]|0,k[A>>2]|0,k[s>>2]|0,k[t>>2]&255,1)|0;k[B>>2]=C;if(!(k[B>>2]|0)){k[o>>2]=7;C=k[o>>2]|0;r=D;return C|0}lu(k[p>>2]|0,k[B>>2]|0);if(k[y>>2]|0){C=k[y>>2]|0;k[C>>2]=(k[C>>2]|0)+1}k[(k[B>>2]|0)+28>>2]=k[y>>2];j[(k[B>>2]|0)+2>>1]=m[(k[B>>2]|0)+2>>1]&3|k[z>>2];k[(k[B>>2]|0)+12>>2]=(k[v>>2]|0)!=0?k[v>>2]|0:k[w>>2]|0;k[(k[B>>2]|0)+16>>2]=k[x>>2];k[(k[B>>2]|0)+4>>2]=k[u>>2];j[k[B>>2]>>1]=k[s>>2];k[o>>2]=0;C=k[o>>2]|0;r=D;return C|0}}while(0);C=Uf(134386)|0;k[o>>2]=C;C=k[o>>2]|0;r=D;return C|0}function qi(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;g=z+44|0;h=z+40|0;m=z+36|0;n=z+32|0;o=z+28|0;p=z+49|0;q=z+48|0;u=z+24|0;v=z+20|0;s=z+16|0;t=z+12|0;x=z+8|0;w=z+4|0;y=z;k[h>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[p>>0]=e;i[q>>0]=f;k[v>>2]=0;k[s>>2]=0;k[t>>2]=((l[18477+(l[k[m>>2]>>0]|0)>>0]|0)+(k[n>>2]|0)|0)%23|0;b=eu((k[h>>2]|0)+340|0,k[t>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=b;while(1){if(!(k[u>>2]|0))break;b=fu(k[u>>2]|0,k[o>>2]|0,i[p>>0]|0)|0;k[x>>2]=b;if((k[x>>2]|0)>(k[s>>2]|0)){k[v>>2]=k[u>>2];k[s>>2]=k[x>>2]}k[u>>2]=k[(k[u>>2]|0)+8>>2]}a:do if(!(i[q>>0]|0)){if((k[v>>2]|0)!=0?(k[(k[h>>2]|0)+24>>2]&2097152|0)==0:0)break;k[w>>2]=1080;k[s>>2]=0;b=eu(k[w>>2]|0,k[t>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=b;while(1){if(!(k[u>>2]|0))break a;b=fu(k[u>>2]|0,k[o>>2]|0,i[p>>0]|0)|0;k[y>>2]=b;if((k[y>>2]|0)>(k[s>>2]|0)){k[v>>2]=k[u>>2];k[s>>2]=k[y>>2]}k[u>>2]=k[(k[u>>2]|0)+8>>2]}}while(0);if((l[q>>0]|0)!=0&(k[s>>2]|0)<6?(b=zh(k[h>>2]|0,32+(k[n>>2]|0)+1|0,0)|0,k[v>>2]=b,(b|0)!=0):0){k[(k[v>>2]|0)+20>>2]=(k[v>>2]|0)+32;j[k[v>>2]>>1]=k[o>>2];j[(k[v>>2]|0)+2>>1]=l[p>>0]|0;sR(k[(k[v>>2]|0)+20>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;i[(k[(k[v>>2]|0)+20>>2]|0)+(k[n>>2]|0)>>0]=0;gu((k[h>>2]|0)+340|0,k[v>>2]|0)}do if(k[v>>2]|0){if((k[(k[v>>2]|0)+12>>2]|0)==0?(l[q>>0]|0)==0:0)break;k[g>>2]=k[v>>2];b=k[g>>2]|0;r=z;return b|0}while(0);k[g>>2]=0;b=k[g>>2]|0;r=z;return b|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d;f=d+20|0;h=d+8|0;e=d+4|0;k[f>>2]=a;k[d+16>>2]=b;k[d+12>>2]=c;k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=Yd(27060,g)|0;k[e>>2]=a;te(k[f>>2]|0,k[e>>2]|0,-1);Ud(k[e>>2]|0);r=d;return}function si(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=r;r=r+16|0;h=g+12|0;e=g+8|0;f=g+4|0;i=g;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=d;if((k[i>>2]|0)<(k[h>>2]|0)){r=g;return 0}ak();Lf(k[e>>2]|0,k[f>>2]|0)|0;bk();r=g;return 0}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=-1;if(!(k[d>>2]|0)){g=k[g>>2]|0;r=h;return g|0}b=Sf(k[d>>2]|0)|0;k[e>>2]=b;k[g>>2]=(k[(k[c>>2]|0)+20>>2]|0)-1;k[f>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[g>>2]<<4);while(1){if((k[g>>2]|0)<0){c=7;break}b=k[e>>2]|0;if((b|0)==(Sf(k[k[f>>2]>>2]|0)|0)?0==(be(k[k[f>>2]>>2]|0,k[d>>2]|0)|0):0){c=7;break}k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+-16}if((c|0)==7){g=k[g>>2]|0;r=h;return g|0}return 0}function ui(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;k[l>>2]=0;k[m>>2]=0;while(1){if(!((k[m>>2]|0)<(k[(k[f>>2]|0)+20>>2]|0)?(k[n>>2]|0)==0:0))break;if(((k[g>>2]|0)==10?1:(k[m>>2]|0)==(k[g>>2]|0))?(d=cu(k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<4)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0,k[n>>2]=d,k[i>>2]=0,k[j>>2]=0,(k[n>>2]|0)==5):0){k[l>>2]=1;k[n>>2]=0}k[m>>2]=(k[m>>2]|0)+1}r=o;return ((k[n>>2]|0)==0&(k[l>>2]|0)!=0?5:k[n>>2]|0)|0}function vi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(l[(k[b>>2]|0)+65>>0]|0)){r=c;return}if(k[(k[b>>2]|0)+160>>2]|0){r=c;return}i[(k[b>>2]|0)+65>>0]=0;k[(k[b>>2]|0)+240>>2]=0;a=(k[b>>2]|0)+248|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return}function wi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s;f=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;e=s+12|0;q=s+8|0;p=s+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[q>>2]=0;k[p>>2]=0;k[k[h>>2]>>2]=0;d=Nd()|0;k[n>>2]=d;if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=s;return q|0}if(!(1<<(k[j>>2]&7)&70)){q=Uf(135519)|0;k[f>>2]=q;q=k[f>>2]|0;r=s;return q|0}do if(k[3]|0){if(k[j>>2]&32768){k[e>>2]=0;break}if(k[j>>2]&65536){k[e>>2]=1;break}else{k[e>>2]=k[4];break}}else k[e>>2]=0;while(0);if(!(k[j>>2]&262144)){if(k[57]|0)k[j>>2]=k[j>>2]|131072}else k[j>>2]=k[j>>2]&-131073;k[j>>2]=k[j>>2]&-655129;d=sg(536,0)|0;k[m>>2]=d;do if(k[m>>2]|0){if((k[e>>2]|0)!=0?(k[(k[m>>2]|0)+12>>2]=8,(k[(k[m>>2]|0)+12>>2]|0)==0):0){Ud(k[m>>2]|0);k[m>>2]=0;break}k[(k[m>>2]|0)+56>>2]=255;k[(k[m>>2]|0)+20>>2]=2;k[(k[m>>2]|0)+76>>2]=-264537850;k[(k[m>>2]|0)+16>>2]=(k[m>>2]|0)+460;c=(k[m>>2]|0)+88|0;e=1536;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));k[(k[m>>2]|0)+88+44>>2]=0;i[(k[m>>2]|0)+63>>0]=1;i[(k[m>>2]|0)+68>>0]=-1;b=184;a=k[b+4>>2]|0;d=(k[m>>2]|0)+40|0;k[d>>2]=k[b>>2];k[d+4>>2]=a;k[(k[m>>2]|0)+72>>2]=0;k[(k[m>>2]|0)+136>>2]=2147483647;d=(k[m>>2]|0)+24|0;k[d>>2]=k[d>>2]|9437280;Ej((k[m>>2]|0)+432|0);Ej((k[m>>2]|0)+312|0);xi(k[m>>2]|0,35690,1,0,141,0)|0;xi(k[m>>2]|0,35690,3,0,141,0)|0;xi(k[m>>2]|0,35690,2,0,141,0)|0;xi(k[m>>2]|0,21290,1,0,142,0)|0;xi(k[m>>2]|0,21297,1,1,141,0)|0;if(!(i[(k[m>>2]|0)+65>>0]|0)){d=Wj(k[m>>2]|0,1,35690,0)|0;k[(k[m>>2]|0)+8>>2]=d;k[(k[m>>2]|0)+48>>2]=k[j>>2];l=ek(k[l>>2]|0,k[g>>2]|0,j,k[m>>2]|0,q,p)|0;k[n>>2]=l;if(k[n>>2]|0){if((k[n>>2]|0)==7)th(k[m>>2]|0);g=k[m>>2]|0;j=k[n>>2]|0;l=(k[p>>2]|0)!=0?19255:0;k[o>>2]=k[p>>2];rg(g,j,l,o);Ud(k[p>>2]|0);break}p=fk(k[k[m>>2]>>2]|0,k[q>>2]|0,k[m>>2]|0,(k[(k[m>>2]|0)+16>>2]|0)+4|0,0,k[j>>2]|256)|0;k[n>>2]=p;if(k[n>>2]|0){if((k[n>>2]|0)==3082)k[n>>2]=7;tg(k[m>>2]|0,k[n>>2]|0);break}ug(k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0);p=gk(k[m>>2]|0,k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]=p;if(!(i[(k[m>>2]|0)+65>>0]|0))i[(k[m>>2]|0)+62>>0]=i[(k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;p=gk(k[m>>2]|0,0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+16+12>>2]=p;k[k[(k[m>>2]|0)+16>>2]>>2]=21303;i[(k[(k[m>>2]|0)+16>>2]|0)+8>>0]=3;k[(k[(k[m>>2]|0)+16>>2]|0)+16>>2]=19536;i[(k[(k[m>>2]|0)+16>>2]|0)+16+8>>0]=1;k[(k[m>>2]|0)+76>>2]=-1607883113;if(!(i[(k[m>>2]|0)+65>>0]|0)){tg(k[m>>2]|0,0);hk(k[m>>2]|0);p=Mf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)==0?(ik(k[m>>2]|0),p=Mf(k[m>>2]|0)|0,k[n>>2]=p,(k[n>>2]|0)!=0):0)break;if((k[n>>2]|0)==0?(i[(k[m>>2]|0)+65>>0]|0)==0:0){p=jk(k[m>>2]|0)|0;k[n>>2]=p}if(k[n>>2]|0)tg(k[m>>2]|0,k[n>>2]|0);mi(k[m>>2]|0,0,k[9]|0,k[10]|0)|0;If(k[m>>2]|0,1e3)|0}}}while(0);p=Mf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)!=7){if(k[n>>2]|0)k[(k[m>>2]|0)+76>>2]=1266094736}else{Bf(k[m>>2]|0)|0;k[m>>2]=0}k[k[h>>2]>>2]=k[m>>2];Ud(k[q>>2]|0);k[f>>2]=k[n>>2]&255;q=k[f>>2]|0;r=s;return q|0}function xi(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;w=x;g=x+44|0;h=x+40|0;j=x+36|0;m=x+48|0;n=x+32|0;o=x+28|0;p=x+24|0;v=x+20|0;s=x+16|0;q=x+12|0;t=x+8|0;u=x+4|0;k[h>>2]=a;k[j>>2]=b;i[m>>0]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[s>>2]=l[m>>0];if((k[s>>2]|0)==4|(k[s>>2]|0)==8)k[s>>2]=(i[960]|0)==0?3:2;if((k[s>>2]|0)<1|(k[s>>2]|0)>3){w=Uf(135070)|0;k[g>>2]=w;w=k[g>>2]|0;r=x;return w|0}b=Wj(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,0)|0;k[v>>2]=b;a:do if((k[v>>2]|0)!=0?(k[(k[v>>2]|0)+12>>2]|0)!=0:0){a=k[h>>2]|0;if(k[(k[h>>2]|0)+148>>2]|0){rg(a,5,21222,w);k[g>>2]=5;w=k[g>>2]|0;r=x;return w|0}Yh(a);if((l[(k[v>>2]|0)+4>>0]&-9|0)==(k[s>>2]|0)){w=xj((k[h>>2]|0)+432|0,k[j>>2]|0)|0;k[q>>2]=w;k[t>>2]=0;while(1){if((k[t>>2]|0)>=3)break a;k[u>>2]=(k[q>>2]|0)+((k[t>>2]|0)*20|0);if((l[(k[u>>2]|0)+4>>0]|0)==(l[(k[v>>2]|0)+4>>0]|0)){if(k[(k[u>>2]|0)+16>>2]|0)_b[k[(k[u>>2]|0)+16>>2]&255](k[(k[u>>2]|0)+8>>2]|0);k[(k[u>>2]|0)+12>>2]=0}k[t>>2]=(k[t>>2]|0)+1}}}while(0);w=Wj(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,1)|0;k[v>>2]=w;if(!(k[v>>2]|0)){k[g>>2]=7;w=k[g>>2]|0;r=x;return w|0}else{k[(k[v>>2]|0)+12>>2]=k[o>>2];k[(k[v>>2]|0)+8>>2]=k[n>>2];k[(k[v>>2]|0)+16>>2]=k[p>>2];i[(k[v>>2]|0)+4>>0]=k[s>>2]|l[m>>0]&8;tg(k[h>>2]|0,0);k[g>>2]=0;w=k[g>>2]|0;r=x;return w|0}return 0}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+24>>2]&2|0)!=0^1)&1;k[g>>2]=0;i[(k[c>>2]|0)+140+5>>0]=1;i[(k[c>>2]|0)+62>>0]=i[(k[(k[(k[c>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;k[f>>2]=0;while(1){if(k[g>>2]|0)break;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(!((k[f>>2]|0)==1?1:((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(b=Aj(k[c>>2]|0,k[f>>2]|0,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Bj(k[c>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(((k[g>>2]|0)==0?((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(b=Aj(k[c>>2]|0,1,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Bj(k[c>>2]|0,1);i[(k[c>>2]|0)+140+5>>0]=0;if(!((k[g>>2]|0)==0&(k[e>>2]|0)!=0)){g=k[g>>2]|0;r=h;return g|0}Cj(k[c>>2]|0);g=k[g>>2]|0;r=h;return g|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;i=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){j=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;if(!((k[f>>2]|0)!=0?(be(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))j=5;if((j|0)==5?(j=0,b=xj((k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+8|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){j=7;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==7){r=l;return k[i>>2]|0}return 0}function Ai(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(be(k[c>>2]|0,20751)|0){if(!(be(k[c>>2]|0,20759)|0)){k[b>>2]=1;break}if(!(be(k[c>>2]|0,20765)|0)){k[b>>2]=1;break}else{k[b>>2]=0;break}}else k[b>>2]=1;while(0);r=d;return k[b>>2]|0}function Bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[e>>2]|0)+60>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Ci(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){c=8;break}if(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2]|0){if(!(k[c>>2]|0)){c=6;break}if(!(be(k[c>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0)){c=6;break}}k[f>>2]=(k[f>>2]|0)+1}if((c|0)==6){k[d>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];f=k[d>>2]|0;r=g;return f|0}else if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function Di(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Ei(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if(k[(k[c>>2]|0)+216>>2]|0){c=wj(k[a+216>>2]|0)|0;r=b;return c|0}else{c=k[a+68>>2]|0;r=b;return c|0}return 0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function Gi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[68];if(!(k[c>>2]|0)){c=0;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function Hi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;n=r;r=r+32|0;e=n+24|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;l=n+4|0;i=n;k[o>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[o>>2]|0)+4>>2];ug(k[o>>2]|0);if((m[(k[i>>2]|0)+22>>1]|0)&2){k[e>>2]=8;o=k[e>>2]|0;r=n;return o|0}if((k[g>>2]|0)<0)k[g>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[(k[i>>2]|0)+36>>2]|0);if((k[f>>2]|0)>=512&(k[f>>2]|0)<=65536?((k[f>>2]|0)-1&k[f>>2]|0)==0:0){k[(k[i>>2]|0)+32>>2]=k[f>>2];Zi(k[i>>2]|0)}o=_i(k[k[i>>2]>>2]|0,(k[i>>2]|0)+32|0,k[g>>2]|0)|0;k[l>>2]=o;k[(k[i>>2]|0)+36>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[g>>2]&65535);if(k[h>>2]|0){o=(k[i>>2]|0)+22|0;j[o>>1]=m[o>>1]|0|2}k[e>>2]=k[l>>2];o=k[e>>2]|0;r=n;return o|0}function Ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=27;Yi(k[f>>2]|0,k[e>>2]|0,c)|0;r=d;return k[c>>2]|0}function Ji(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;Wi(8,k[b>>2]|0);if((k[76]|0)!=0?(k[51]|0)>=(k[b>>2]|0):0){k[c>>2]=k[75];k[75]=k[k[75]>>2];k[76]=(k[76]|0)+-1;Xi(3,1);c=k[c>>2]|0;r=d;return c|0}a=k[b>>2]|0;a=ig(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!((k[2]|0)!=0&(k[c>>2]|0)!=0)){c=k[c>>2]|0;r=d;return c|0}Xi(4,jg(k[c>>2]|0)|0);c=k[c>>2]|0;r=d;return c|0}function Ki(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[50]|0)>>>0?(k[b>>2]|0)>>>0<(k[74]|0)>>>0:0){k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[75];k[75]=k[d>>2];k[76]=(k[76]|0)+1;kg(3,1);r=e;return}if(k[2]|0){d=jg(k[b>>2]|0)|0;k[c>>2]=d;kg(4,k[c>>2]|0);kg(0,k[c>>2]|0);kg(9,1);_b[k[48>>2]&255](k[b>>2]|0);r=e;return}else{_b[k[48>>2]&255](k[b>>2]|0);r=e;return}}function Li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=((Ti(k[e>>2]|0,1,i[d>>0]|0)|0)&255|0)!=0&255;r=c;return a|0}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;g=j;e=j+12|0;f=j+8|0;k[c>>2]=a;k[d>>2]=b;do if((i[k[c>>2]>>0]|0)==48){if((i[(k[c>>2]|0)+1>>0]|0)!=120?(i[(k[c>>2]|0)+1>>0]|0)!=88:0)break;if(l[19267+(l[(k[c>>2]|0)+2>>0]|0)>>0]&8){a=g;k[a>>2]=0;k[a+4>>2]=0;k[e>>2]=2;while(1){b=k[e>>2]|0;if((i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)!=48)break;k[e>>2]=b+1}k[f>>2]=b;while(1){if(!(l[19267+(l[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)>>0]&8))break;a=g;a=BR(k[a>>2]|0,k[a+4>>2]|0,16,0)|0;b=L;b=qR(a|0,b|0,(Qi(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)|0)&255|0,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[f>>2]=(k[f>>2]|0)+1}d=k[d>>2]|0;k[d>>2]=k[g>>2];k[d+4>>2]=k[g+4>>2];if(!(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0))b=((k[f>>2]|0)-(k[e>>2]|0)|0)<=16;else b=0;k[h>>2]=b?0:1;h=k[h>>2]|0;r=j;return h|0}}while(0);f=k[c>>2]|0;g=k[d>>2]|0;g=Ri(f,g,Sf(k[c>>2]|0)|0,1)|0;k[h>>2]=g;h=k[h>>2]|0;r=j;return h|0}function Ni(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Pi(k[k[(k[c>>2]|0)+4>>2]>>2]|0,1)|0;r=b;return a|0}function Oi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[(k[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(l[(k[c>>2]|0)+16>>0]|0|0)!=0:0){e=19266;r=d;return e|0}e=k[(k[c>>2]|0)+176>>2]|0;r=d;return e|0}function Qi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)+((1&k[b>>2]>>6)*9|0);r=c;return k[b>>2]&15|0}function Ri(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;h=w+48|0;j=w+44|0;m=w+40|0;e=w+36|0;f=w+52|0;p=w+32|0;g=w;q=w+28|0;o=w+24|0;n=w+20|0;s=w+16|0;u=w+12|0;t=w+8|0;k[j>>2]=a;k[m>>2]=b;k[e>>2]=c;i[f>>0]=d;a=g;k[a>>2]=0;k[a+4>>2]=0;k[q>>2]=0;k[n>>2]=0;k[s>>2]=0;k[t>>2]=(k[j>>2]|0)+(k[e>>2]|0);if((l[f>>0]|0)==1)k[p>>2]=1;else{k[p>>2]=2;k[o>>2]=3-(l[f>>0]|0);while(1){if((k[o>>2]|0)>=(k[e>>2]|0))break;if(i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)break;k[o>>2]=(k[o>>2]|0)+2}k[s>>2]=(k[o>>2]|0)<(k[e>>2]|0)&1;k[t>>2]=(k[j>>2]|0)+(k[o>>2]|0)+(l[f>>0]|0)+-3;k[j>>2]=(k[j>>2]|0)+(l[f>>0]&1)}while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if(!(l[19267+(l[k[j>>2]>>0]|0)>>0]&1))break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}do if((k[j>>2]|0)>>>0<(k[t>>2]|0)>>>0){if((i[k[j>>2]>>0]|0)==45){k[q>>2]=1;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0);break}if((i[k[j>>2]>>0]|0)==43)k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}while(0);k[u>>2]=k[j>>2];while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if((i[k[j>>2]>>0]|0)!=48)break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}k[o>>2]=0;while(1){if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0?(a=i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0,k[n>>2]=a,(a|0)>=48):0)e=(k[n>>2]|0)<=57;else e=0;d=g;f=k[d>>2]|0;d=k[d+4>>2]|0;if(!e)break;a=BR(f|0,d|0,10,0)|0;b=k[n>>2]|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(b|0,L|0,48,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[o>>2]=(k[o>>2]|0)+(k[p>>2]|0)}c=(k[q>>2]|0)!=0;do if(!(d>>>0>2147483647|(d|0)==2147483647&f>>>0>4294967295)){f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(c){g=pR(0,0,e|0,f|0)|0;m=k[m>>2]|0;k[m>>2]=g;k[m+4>>2]=L;break}else{m=k[m>>2]|0;k[m>>2]=e;k[m+4>>2]=f;break}}else{m=k[m>>2]|0;k[m>>2]=c?0:-1;k[m+4>>2]=c?-2147483648:2147483647}while(0);if(!((k[n>>2]|0)!=0?((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((k[o>>2]|0)==0?(k[u>>2]|0)==(k[j>>2]|0):0)break;if(!((k[s>>2]|0)!=0?1:(k[o>>2]|0)>((k[p>>2]|0)*19|0))){if((k[o>>2]|0)<((k[p>>2]|0)*19|0)){k[h>>2]=0;v=k[h>>2]|0;r=w;return v|0}v=Si(k[j>>2]|0,k[p>>2]|0)|0;k[n>>2]=v;if((k[n>>2]|0)<0){k[h>>2]=0;v=k[h>>2]|0;r=w;return v|0}if((k[n>>2]|0)>0){k[h>>2]=1;v=k[h>>2]|0;r=w;return v|0}else{k[h>>2]=(k[q>>2]|0)!=0?0:2;v=k[h>>2]|0;r=w;return v|0}}}while(0);k[h>>2]=1;v=k[h>>2]|0;r=w;return v|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=19631;k[f>>2]=0;while(1){if(!((k[e>>2]|0)==0?(k[f>>2]|0)<18:0))break;a=ha(k[f>>2]|0,k[d>>2]|0)|0;k[e>>2]=((i[(k[c>>2]|0)+a>>0]|0)-(i[(k[g>>2]|0)+(k[f>>2]|0)>>0]|0)|0)*10;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){a=k[e>>2]|0;r=h;return a|0}k[e>>2]=(i[(k[c>>2]|0)+((k[d>>2]|0)*18|0)>>0]|0)-56;a=k[e>>2]|0;r=h;return a|0}function Ti(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,m=0;m=r;r=r+32|0;g=m+17|0;d=m+12|0;e=m+8|0;h=m+16|0;j=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;i[h>>0]=c;c=k[d>>2]|0;if((l[19267+(l[k[d>>2]>>0]|0)>>0]|0)&4){j=(Ui(c)|0)&255;i[g>>0]=j;j=i[g>>0]|0;r=m;return j|0}a=Sf(c)|0;k[f>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=8){c=11;break}if((l[19650+(k[j>>2]|0)>>0]|0|0)==(k[f>>2]|0)?(Jd(19666+(l[19658+(k[j>>2]|0)>>0]|0)|0,k[d>>2]|0,k[f>>2]|0)|0)==0:0){if(!(k[e>>2]|0)){c=9;break}if((l[19691+(k[j>>2]|0)>>0]|0|0)<=1){c=9;break}}k[j>>2]=(k[j>>2]|0)+1}if((c|0)==9){i[g>>0]=i[19691+(k[j>>2]|0)>>0]|0;j=i[g>>0]|0;r=m;return j|0}else if((c|0)==11){i[g>>0]=i[h>>0]|0;j=i[g>>0]|0;r=m;return j|0}return 0}function Ui(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[b>>2]|0)Vi(k[b>>2]|0,c)|0;r=d;return k[c>>2]|0}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;f=n+32|0;g=n+28|0;h=n+24|0;e=n;j=n+20|0;c=n+16|0;d=n+12|0;m=n+8|0;k[g>>2]=a;k[h>>2]=b;a=e;k[a>>2]=0;k[a+4>>2]=0;k[d>>2]=0;do if((i[k[g>>2]>>0]|0)!=45){b=k[g>>2]|0;if((i[k[g>>2]>>0]|0)==43){k[g>>2]=b+1;break}if((i[b>>0]|0)==48){if((i[(k[g>>2]|0)+1>>0]|0)!=120?(i[(k[g>>2]|0)+1>>0]|0)!=88:0)break;if(l[19267+(l[(k[g>>2]|0)+2>>0]|0)>>0]&8){k[m>>2]=0;k[g>>2]=(k[g>>2]|0)+2;while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){b=k[m>>2]|0;if(!((l[19267+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)!=0?(k[j>>2]|0)<8:0))break;e=(b<<4)+((Qi(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)|0)&255)|0;k[m>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if((b&-2147483648|0)==0?(l[19267+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)==0:0){k[k[h>>2]>>2]=k[m>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}}}else{k[d>>2]=1;k[g>>2]=(k[g>>2]|0)+1}while(0);while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){if((k[j>>2]|0)>=11)break;m=(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;k[c>>2]=m;if(!((m|0)>=0&(k[c>>2]|0)<=9))break;m=e;m=BR(k[m>>2]|0,k[m+4>>2]|0,10,0)|0;a=k[c>>2]|0;a=qR(m|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;m=e;k[m>>2]=a;k[m+4>>2]=L;k[j>>2]=(k[j>>2]|0)+1}if((k[j>>2]|0)>10){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}j=e;m=k[d>>2]|0;m=pR(k[j>>2]|0,k[j+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;j=L;if((j|0)>0|(j|0)==0&m>>>0>2147483647){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}if(k[d>>2]|0){j=e;j=pR(0,0,k[j>>2]|0,k[j+4>>2]|0)|0;m=e;k[m>>2]=j;k[m+4>>2]=L}k[k[h>>2]>>2]=k[e>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}function Wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[f>>2];if((k[d>>2]|0)>>>0<=(k[1036+(k[c>>2]<<2)>>2]|0)>>>0){r=e;return}k[1036+(k[c>>2]<<2)>>2]=k[d>>2];r=e;return}function Xi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=996+(k[c>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[e>>2]|0);if((k[996+(k[c>>2]<<2)>>2]|0)>>>0<=(k[1036+(k[c>>2]<<2)>>2]|0)>>>0){r=d;return}k[1036+(k[c>>2]<<2)>>2]=k[996+(k[c>>2]<<2)>>2];r=d;return}function Yi(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,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<2){n=k[e>>2]|0;r=o;return n|0}k[g>>2]=(l[18477+(l[k[d>>2]>>0]|0)>>0]<<2^(l[18477+(l[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)>>0]|0)*3^k[e>>2]|0)%127|0;k[g>>2]=(l[19699+(k[g>>2]|0)>>0]|0)-1;while(1){if((k[g>>2]|0)<0){n=13;break}if((l[19826+(k[g>>2]|0)>>0]|0)==(k[e>>2]|0)){k[h>>2]=0;k[j>>2]=19950+(m[10628+(k[g>>2]<<1)>>1]|0);while(1){if((k[h>>2]|0)<(k[e>>2]|0))c=(i[(k[d>>2]|0)+(k[h>>2]|0)>>0]&-33|0)==(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0);else c=0;b=k[h>>2]|0;if(!c)break;k[h>>2]=b+1}if((b|0)>=(k[e>>2]|0))break}k[g>>2]=(l[20627+(k[g>>2]|0)>>0]|0)-1}if((n|0)==13){n=k[e>>2]|0;r=o;return n|0}k[k[f>>2]>>2]=l[20503+(k[g>>2]|0)>>0];n=k[e>>2]|0;r=o;return n|0}function Zi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+-4;ej(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;r=c;return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;g=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[i>>2]=k[k[e>>2]>>2];if(!((l[(k[d>>2]|0)+16>>0]|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)!=0:0))n=3;do if(((n|0)==3?(n=($i(k[(k[d>>2]|0)+212>>2]|0)|0)==0,n&(k[i>>2]|0)!=0):0)?(k[i>>2]|0)!=(k[(k[d>>2]|0)+160>>2]|0):0){k[h>>2]=0;n=g;k[n>>2]=0;k[n+4>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0)>0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){n=aj(k[(k[d>>2]|0)+64>>2]|0,g)|0;k[m>>2]=n}if((k[m>>2]|0)==0?(n=bj(k[i>>2]|0)|0,k[h>>2]=n,(k[h>>2]|0)==0):0)k[m>>2]=7;if(!(k[m>>2]|0)){cj(k[d>>2]|0);n=dj(k[(k[d>>2]|0)+212>>2]|0,k[i>>2]|0)|0;k[m>>2]=n}if(!(k[m>>2]|0)){ej(k[(k[d>>2]|0)+208>>2]|0);k[(k[d>>2]|0)+208>>2]=k[h>>2];n=g;n=qR(k[n>>2]|0,k[n+4>>2]|0,k[i>>2]|0,0)|0;n=pR(n|0,L|0,1,0)|0;n=zR(n|0,L|0,k[i>>2]|0,0)|0;k[(k[d>>2]|0)+28>>2]=n;k[(k[d>>2]|0)+160>>2]=k[i>>2];break}else{ej(k[h>>2]|0);break}}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+160>>2];if(k[m>>2]|0){n=k[m>>2]|0;r=o;return n|0}if((k[f>>2]|0)<0)k[f>>2]=j[(k[d>>2]|0)+150>>1];j[(k[d>>2]|0)+150>>1]=k[f>>2];fj(k[d>>2]|0);n=k[m>>2]|0;r=o;return n|0}function $i(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+12>>2]|0}function aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+24>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function bj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=oj(k[c>>2]|0)|0;r=b;return a|0}function cj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;ij(k[(k[c>>2]|0)+96>>2]|0);jj(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0){b=Yb[k[128>>2]&255](k[e>>2]|0,(k[(k[d>>2]|0)+28>>2]|0)+40|0,l[(k[d>>2]|0)+32>>0]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;b=k[c>>2]|0;r=g;return b|0}h=k[33]|0;a=k[f>>2]|0;b=hj(k[d>>2]|0)|0;$b[h&255](a,b);if(k[(k[d>>2]|0)+44>>2]|0)_b[k[156>>2]&255](k[(k[d>>2]|0)+44>>2]|0);k[(k[d>>2]|0)+44>>2]=k[f>>2];k[(k[d>>2]|0)+24>>2]=k[e>>2]}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function ej(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;gj(k[c>>2]|0);r=b;return}function fj(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function gj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[415]|0)>>>0?(k[b>>2]|0)>>>0<(k[416]|0)>>>0:0){kg(1,1);k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[418];k[418]=k[d>>2];k[419]=(k[419]|0)+1;k[420]=(k[419]|0)<(k[414]|0)&1;r=e;return}d=jg(k[b>>2]|0)|0;k[c>>2]=d;kg(2,k[c>>2]|0);Ud(k[b>>2]|0);r=e;return}function hj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[(k[c>>2]|0)+16>>2]|0;if((k[(k[c>>2]|0)+16>>2]|0)>=0){k[b>>2]=a;c=k[b>>2]|0;r=d;return c|0}else{a=BR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;c=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;c=zR(a|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}return 0}function ij(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){if(!(k[b>>2]|0))break;k[(k[b>>2]|0)+16>>2]=1;k[b>>2]=k[(k[b>>2]|0)+44>>2]}r=c;return}function jj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;kj(k[c>>2]|0,0);r=b;return}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+44>>2]|0)){r=h;return}k[e>>2]=k[k[c>>2]>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+32>>2];if((k[(k[e>>2]|0)+20>>2]|0)>>>0>(k[d>>2]|0)>>>0)lj(k[e>>2]|0);k[e>>2]=k[f>>2]}if(((k[d>>2]|0)==0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)?(b=Yb[k[140>>2]&255](k[(k[c>>2]|0)+44>>2]|0,1,0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){uR(k[k[g>>2]>>2]|0,0,k[(k[c>>2]|0)+24>>2]|0)|0;k[d>>2]=1}$b[k[152>>2]&255](k[(k[c>>2]|0)+44>>2]|0,(k[d>>2]|0)+1|0);r=h;return}function lj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(m[(k[b>>2]|0)+24>>1]&2)){r=c;return}mj(k[b>>2]|0,1);a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-15;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|1;if(j[(k[b>>2]|0)+26>>1]|0){r=c;return}nj(k[b>>2]|0);r=c;return}function mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;d=g+12|0;f=g+4|0;c=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=k[(k[e>>2]|0)+28>>2];if(l[d>>0]&1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[e>>2]|0)){k[c>>2]=k[(k[e>>2]|0)+36>>2];while(1){if(k[c>>2]|0)b=(m[(k[c>>2]|0)+24>>1]&8|0)!=0;else b=0;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+36>>2]}k[(k[f>>2]|0)+8>>2]=a}b=k[(k[e>>2]|0)+36>>2]|0;if(k[(k[e>>2]|0)+32>>2]|0)k[(k[(k[e>>2]|0)+32>>2]|0)+36>>2]=b;else k[(k[f>>2]|0)+4>>2]=b;b=k[(k[e>>2]|0)+32>>2]|0;if(!(k[(k[e>>2]|0)+36>>2]|0)){k[k[f>>2]>>2]=b;if((k[k[f>>2]>>2]|0)==0?(l[(k[f>>2]|0)+32>>0]|0)!=0:0)i[(k[f>>2]|0)+33>>0]=2}else k[(k[(k[e>>2]|0)+36>>2]|0)+32>>2]=b;k[(k[e>>2]|0)+32>>2]=0;k[(k[e>>2]|0)+36>>2]=0}if(!(l[d>>0]&2)){r=g;return}k[(k[e>>2]|0)+32>>2]=k[k[f>>2]>>2];b=k[e>>2]|0;if(!(k[(k[e>>2]|0)+32>>2]|0)){k[(k[f>>2]|0)+4>>2]=b;if(i[(k[f>>2]|0)+32>>0]|0)i[(k[f>>2]|0)+33>>0]=1}else k[(k[(k[e>>2]|0)+32>>2]|0)+36>>2]=b;k[k[f>>2]>>2]=k[e>>2];if(k[(k[f>>2]|0)+8>>2]|0){r=g;return}if(m[(k[e>>2]|0)+24>>1]&8){r=g;return}k[(k[f>>2]|0)+8>>2]=k[e>>2];r=g;return}function nj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[(k[b>>2]|0)+28>>2]|0)+32>>0]|0)){r=c;return}cc[k[144>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,0);r=c;return}function oj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[b>>2]|0)<=(k[412]|0)?(k[c>>2]=k[418],(k[c>>2]|0)!=0):0){k[418]=k[k[418]>>2];k[419]=(k[419]|0)+-1;k[420]=(k[419]|0)<(k[414]|0)&1;Wi(7,k[b>>2]|0);Xi(1,1)}if(k[c>>2]|0){d=k[c>>2]|0;r=e;return d|0}a=k[b>>2]|0;a=ig(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!(k[c>>2]|0)){d=k[c>>2]|0;r=e;return d|0}a=jg(k[c>>2]|0)|0;k[d>>2]=a;Wi(7,k[b>>2]|0);Xi(2,k[d>>2]|0);d=k[c>>2]|0;r=e;return d|0}function pj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=sg(512,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[k[c>>2]>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function qj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;c=o+12|0;j=o+8|0;m=o+4|0;g=o;k[e>>2]=a;k[f>>2]=b;if(!(k[e>>2]|0)){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=(k[f>>2]|0)+-1;while(1){if((k[k[e>>2]>>2]|0)>>>0<=4e3)break;if(!(k[(k[e>>2]|0)+8>>2]|0))break;k[c>>2]=((k[f>>2]|0)>>>0)/((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;if((k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0?(a=pj(k[(k[e>>2]|0)+8>>2]|0)|0,k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]=a,(k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0):0){n=8;break}k[e>>2]=k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]}if((n|0)==8){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[f>>2]|0;if((k[k[e>>2]>>2]|0)>>>0<=4e3){n=(k[e>>2]|0)+12+(((k[f>>2]|0)>>>0)/8|0)|0;i[n>>0]=l[n>>0]|0|1<<(c&7);k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=c+1;k[h>>2]=(c>>>0)%125|0;a:do if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){if((k[(k[e>>2]|0)+4>>2]|0)>>>0>=124)n=17}else{while(1){if((k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[f>>2]|0))break;n=(k[h>>2]|0)+1|0;k[h>>2]=n;k[h>>2]=(k[h>>2]|0)>>>0>=125?0:n;if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){n=17;break a}}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((n|0)==17?(k[(k[e>>2]|0)+4>>2]|0)>>>0>=62:0){n=Ih(0,500,0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}sR(k[g>>2]|0,(k[e>>2]|0)+12|0,500)|0;uR((k[e>>2]|0)+12|0,0,500)|0;k[(k[e>>2]|0)+8>>2]=(((k[k[e>>2]>>2]|0)+125-1|0)>>>0)/125|0;n=qj(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=n;k[j>>2]=0;while(1){if((k[j>>2]|0)>>>0>=125)break;if(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0){n=qj(k[e>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[m>>2]=k[m>>2]|n}k[j>>2]=(k[j>>2]|0)+1}ag(0,k[g>>2]|0);k[d>>2]=k[m>>2];n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]=k[f>>2];k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function rj(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,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;h=o+12|0;m=o+8|0;g=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=o;return}k[e>>2]=(k[e>>2]|0)+-1;while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[h>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[h>>2]<<2)>>2];if(!(k[d>>2]|0)){n=16;break}}if((n|0)==16){r=o;return}if((k[k[d>>2]>>2]|0)>>>0<=4e3){n=(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)|0;i[n>>0]=(l[n>>0]|0)&~(1<<(k[e>>2]&7));r=o;return}k[g>>2]=k[f>>2];sR(k[g>>2]|0,(k[d>>2]|0)+12|0,500)|0;uR((k[d>>2]|0)+12|0,0,500)|0;k[(k[d>>2]|0)+4>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>>>0>=125)break;if((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=0?(k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=((k[e>>2]|0)+1|0):0){k[j>>2]=(((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;n=(k[d>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;while(1){if(!(k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]|0))break;n=(k[j>>2]|0)+1|0;k[j>>2]=n;k[j>>2]=(k[j>>2]|0)>>>0>=125?0:n}k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]=k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]}k[m>>2]=(k[m>>2]|0)+1}r=o;return}function sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){a=0;a=a&1;r=e;return a|0}a=(vj(k[c>>2]|0,k[d>>2]|0)|0)!=0;a=a&1;r=e;return a|0}function tj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function uj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}a:do if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=125)break a;uj(k[(k[b>>2]|0)+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}}while(0);Ud(k[b>>2]|0);r=d;return}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;c=i+4|0;h=i;k[f>>2]=a;k[g>>2]=b;k[g>>2]=(k[g>>2]|0)+-1;if((k[g>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}while(1){if(!(k[(k[f>>2]|0)+8>>2]|0))break;k[c>>2]=((k[g>>2]|0)>>>0)/((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[g>>2]=((k[g>>2]|0)>>>0)%((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=k[(k[f>>2]|0)+12+(k[c>>2]<<2)>>2];if(!(k[f>>2]|0)){d=5;break}}if((d|0)==5){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=k[g>>2]|0;if((k[k[f>>2]>>2]|0)>>>0<=4e3){k[e>>2]=((l[(k[f>>2]|0)+12+((c>>>0)/8|0)>>0]|0)&1<<(k[g>>2]&7)|0)!=0&1;h=k[e>>2]|0;r=i;return h|0}k[g>>2]=c+1;k[h>>2]=(c>>>0)%125|0;while(1){if(!(k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){d=13;break}if((k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[g>>2]|0)){d=11;break}k[h>>2]=(((k[h>>2]|0)+1|0)>>>0)%125|0}if((d|0)==11){k[e>>2]=1;h=k[e>>2]|0;r=i;return h|0}else if((d|0)==13){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}return 0}function wj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function xj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d+8|0;c=d+4|0;k[f>>2]=a;k[e>>2]=b;b=yj(k[f>>2]|0,k[e>>2]|0,d)|0;k[c>>2]=b;if(!(k[c>>2]|0)){f=0;r=d;return f|0}f=k[(k[c>>2]|0)+8>>2]|0;r=d;return f|0}function yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m+28|0;d=m+24|0;h=m+20|0;e=m+16|0;j=m+12|0;i=m+8|0;f=m+4|0;g=m;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(k[(k[d>>2]|0)+12>>2]|0){b=zj(k[h>>2]|0)|0;k[f>>2]=(b>>>0)%((k[k[d>>2]>>2]|0)>>>0)|0;k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);k[j>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=k[k[g>>2]>>2]}else{k[f>>2]=0;k[j>>2]=k[(k[d>>2]|0)+8>>2];k[i>>2]=k[(k[d>>2]|0)+4>>2]}k[k[e>>2]>>2]=k[f>>2];while(1){b=k[i>>2]|0;k[i>>2]=b+-1;if(!b){d=9;break}b=(be(k[(k[j>>2]|0)+12>>2]|0,k[h>>2]|0)|0)==0;e=k[j>>2]|0;if(b){d=7;break}k[j>>2]=k[e>>2]}if((d|0)==7){k[l>>2]=e;l=k[l>>2]|0;r=m;return l|0}else if((d|0)==9){k[l>>2]=0;l=k[l>>2]|0;r=m;return l|0}return 0}function zj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;c=e+8|0;k[b>>2]=a;k[d>>2]=0;while(1){f=k[b>>2]|0;k[b>>2]=f+1;f=i[f>>0]|0;i[c>>0]=f;a=k[d>>2]|0;if(!(f&255))break;k[d>>2]=a<<3^k[d>>2]^(l[18477+(l[c>>0]|0)>>0]|0)}r=e;return a|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+128|0;w=A;f=A+108|0;g=A+104|0;h=A+100|0;n=A+96|0;u=A+92|0;d=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;q=A+40|0;p=A+24|0;y=A+20|0;s=A+16|0;o=A+112|0;z=A+12|0;x=A+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[s>>2]=0;c=(k[h>>2]|0)==1?20769:20788;k[y>>2]=c;k[B>>2]=c;k[B+4>>2]=20802;k[B+8>>2]=20804;k[B+12>>2]=0;k[p>>2]=k[g>>2];k[p+8>>2]=k[h>>2];k[p+12>>2]=0;k[p+4>>2]=k[n>>2];Gj(p,3,B,0)|0;if(!(k[p+12>>2]|0)){k[t>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4);if(!(k[(k[t>>2]|0)+4>>2]|0)){if((k[h>>2]|0)==1){B=(k[(k[(k[g>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1}k[f>>2]=0;B=k[f>>2]|0;r=A;return B|0}ug(k[(k[t>>2]|0)+4>>2]|0);do if(!(yg(k[(k[t>>2]|0)+4>>2]|0)|0)){B=wg(k[(k[t>>2]|0)+4>>2]|0,0)|0;k[u>>2]=B;if(k[u>>2]|0){z=k[n>>2]|0;B=k[g>>2]|0;Hj(z,B,sh(k[u>>2]|0)|0);break}else{k[s>>2]=1;e=11;break}}else e=11;while(0);a:do if((e|0)==11){k[d>>2]=0;while(1){if((k[d>>2]|0)>=5)break;xg(k[(k[t>>2]|0)+4>>2]|0,(k[d>>2]|0)+1|0,q+(k[d>>2]<<2)|0);k[d>>2]=(k[d>>2]|0)+1}k[k[(k[t>>2]|0)+12>>2]>>2]=k[q>>2];a=k[h>>2]|0;do if(k[q+16>>2]|0){d=k[q+16>>2]|0;if(!a){B=d&3;i[o>>0]=B;i[o>>0]=(l[o>>0]|0)==0?1:B;i[(k[g>>2]|0)+62>>0]=i[o>>0]|0;break}if((d|0)!=(l[(k[g>>2]|0)+62>>0]|0)){Hj(k[n>>2]|0,k[g>>2]|0,20880);k[u>>2]=1;break a}}else{B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(a<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|4}while(0);i[(k[(k[t>>2]|0)+12>>2]|0)+77>>0]=i[(k[g>>2]|0)+62>>0]|0;if(!(k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Ij(k[q+8>>2]|0)|0;k[v>>2]=B;k[v>>2]=(k[v>>2]|0)==0?2e3:B;k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]=k[v>>2];Jj(k[(k[t>>2]|0)+4>>2]|0,k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=k[q+4>>2];if(!(l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0))i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=1;if((l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Hj(k[n>>2]|0,k[g>>2]|0,20948);k[u>>2]=1;break}if((k[h>>2]|0)==0?(k[q+4>>2]|0)>=4:0){B=(k[g>>2]|0)+24|0;k[B>>2]=k[B>>2]&-32769}B=k[g>>2]|0;y=k[y>>2]|0;k[w>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[w+4>>2]=y;B=Lh(B,20972,w)|0;k[z>>2]=B;k[x>>2]=k[(k[g>>2]|0)+288>>2];k[(k[g>>2]|0)+288>>2]=0;B=kf(k[g>>2]|0,k[z>>2]|0,140,p,0)|0;k[u>>2]=B;k[(k[g>>2]|0)+288>>2]=k[x>>2];if(!(k[u>>2]|0))k[u>>2]=k[p+12>>2];ag(k[g>>2]|0,k[z>>2]|0);if(!(k[u>>2]|0))Kj(k[g>>2]|0,k[h>>2]|0)|0;if(i[(k[g>>2]|0)+65>>0]|0){k[u>>2]=7;Jg(k[g>>2]|0)}if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0)break;B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1;k[u>>2]=0}while(0);if(k[s>>2]|0)Lj(k[(k[t>>2]|0)+4>>2]|0)|0}else k[u>>2]=k[p+12>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082)th(k[g>>2]|0);k[f>>2]=k[u>>2];B=k[f>>2]|0;r=A;return B|0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);Dj(k[(k[d>>2]|0)+12>>2]|0);if((k[f>>2]|0)==1){r=e;return}k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+16;Dj(k[(k[d>>2]|0)+12>>2]|0);r=e;return}function Cj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;k[a>>2]=k[a>>2]&-3;r=b;return}function Dj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+64|0;h=g+48|0;e=g+32|0;f=g+16|0;b=g+8|0;c=g+4|0;d=g;k[h>>2]=a;k[c>>2]=k[h>>2];a=(k[c>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];a=(k[c>>2]|0)+40|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];Ej((k[c>>2]|0)+40|0);Fj((k[c>>2]|0)+24|0);k[b>>2]=k[f+8>>2];while(1){if(!(k[b>>2]|0))break;Zf(0,k[(k[b>>2]|0)+8>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Fj(f);Ej((k[c>>2]|0)+8|0);k[b>>2]=k[e+8>>2];while(1){if(!(k[b>>2]|0))break;k[d>>2]=k[(k[b>>2]|0)+8>>2];_f(0,k[d>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Fj(e);Fj((k[c>>2]|0)+56|0);k[(k[c>>2]|0)+72>>2]=0;if(!((m[(k[c>>2]|0)+78>>1]|0)&1)){r=g;return}h=(k[c>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;h=(k[c>>2]|0)+78|0;j[h>>1]=(m[h>>1]|0)&-2;r=g;return}function Ej(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;k[(k[c>>2]|0)+4>>2]=0;k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+12>>2]=0;r=b;return}function Fj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ud(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[k[b>>2]>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+40|0;s=q+36|0;f=q+28|0;l=q+20|0;g=q+16|0;h=q+12|0;p=q+8|0;o=q+4|0;n=q;k[s>>2]=a;k[q+32>>2]=b;k[f>>2]=c;k[q+24>>2]=d;k[l>>2]=k[s>>2];k[g>>2]=k[k[l>>2]>>2];k[h>>2]=k[(k[l>>2]|0)+8>>2];a=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[a>>1]=m[a>>1]&-5;if(i[(k[g>>2]|0)+65>>0]|0){Uj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);k[e>>2]=1;s=k[e>>2]|0;r=q;return s|0}if(!(k[f>>2]|0)){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}a:do if(!(k[(k[f>>2]|0)+4>>2]|0))Uj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);else{if(Jd(k[(k[f>>2]|0)+8>>2]|0,21114,7)|0){do if(k[k[f>>2]>>2]|0){if((k[(k[f>>2]|0)+8>>2]|0)!=0?(i[k[(k[f>>2]|0)+8>>2]>>0]|0)!=0:0)break;s=Pj(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0;k[n>>2]=s;if(!(k[n>>2]|0))break a;if(Vi(k[(k[f>>2]|0)+4>>2]|0,(k[n>>2]|0)+44|0)|0)break a;Uj(k[l>>2]|0,k[k[f>>2]>>2]|0,21122);break a}while(0);Uj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);break}i[(k[g>>2]|0)+140+4>>0]=k[h>>2];s=Ui(k[(k[f>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+140>>2]=s;i[(k[g>>2]|0)+140+6>>0]=0;nf(k[g>>2]|0,k[(k[f>>2]|0)+8>>2]|0,-1,o,0)|0;k[p>>2]=k[(k[g>>2]|0)+52>>2];i[(k[g>>2]|0)+140+4>>0]=0;do if(0!=(k[p>>2]|0)?(i[(k[g>>2]|0)+140+6>>0]|0)==0:0){k[(k[l>>2]|0)+12>>2]=k[p>>2];if((k[p>>2]|0)==7){th(k[g>>2]|0);break}if((k[p>>2]|0)!=9?(k[p>>2]&255|0)!=6:0){p=k[l>>2]|0;s=k[k[f>>2]>>2]|0;Uj(p,s,mf(k[g>>2]|0)|0)}}while(0);ge(k[o>>2]|0)|0}while(0);k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}function Hj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;ag(k[g>>2]|0,k[k[e>>2]>>2]|0);c=xh(k[g>>2]|0,k[f>>2]|0)|0;k[k[e>>2]>>2]=c;r=d;return}function Ij(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;do if((k[c>>2]|0)<0)if((a|0)==-2147483648){k[b>>2]=2147483647;break}else{k[b>>2]=0-(k[c>>2]|0);break}else k[b>>2]=a;while(0);r=d;return k[b>>2]|0}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];ug(k[f>>2]|0);Sj(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function Kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;c=m+40|0;d=m+36|0;e=m+32|0;i=m+24|0;f=m+16|0;l=m+12|0;h=m+8|0;g=m+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[f>>2]|0))break;k[g>>2]=k[(k[f>>2]|0)+8>>2];Mj(k[g>>2]|0);k[f>>2]=k[k[f>>2]>>2]}k[i>>2]=k[d>>2];k[i+4>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];if(!(zi(k[d>>2]|0,21027,k[i+4>>2]|0)|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}g=k[d>>2]|0;k[j>>2]=k[i+4>>2];j=Lh(g,21040,j)|0;k[l>>2]=j;if(!(k[l>>2]|0))k[h>>2]=7;else{j=kf(k[d>>2]|0,k[l>>2]|0,141,i,0)|0;k[h>>2]=j;ag(k[d>>2]|0,k[l>>2]|0)}if((k[h>>2]|0)==7)th(k[d>>2]|0);k[c>>2]=k[h>>2];l=k[c>>2]|0;r=m;return l|0}function Lj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;ug(k[b>>2]|0);a=Ug(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=Tg(k[b>>2]|0,0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function Mj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;d=g+16|0;c=g+8|0;f=g+4|0;e=g;k[b>>2]=a;j[d>>1]=j[5446]|0;j[d+2>>1]=j[5447]|0;j[d+4>>1]=j[5448]|0;j[d+6>>1]=j[5449]|0;j[d+8>>1]=j[5450]|0;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(5<(m[(k[b>>2]|0)+50>>1]|0))a=5;else a=m[(k[b>>2]|0)+50>>1]|0;k[f>>2]=a;j[k[c>>2]>>1]=j[(k[(k[b>>2]|0)+12>>2]|0)+38>>1]|0;if((j[k[c>>2]>>1]|0)<33)j[k[c>>2]>>1]=33;sR((k[c>>2]|0)+2|0,d|0,k[f>>2]<<1|0)|0;k[e>>2]=(k[f>>2]|0)+1;while(1){if((k[e>>2]|0)>(m[(k[b>>2]|0)+50>>1]|0))break;j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=23;k[e>>2]=(k[e>>2]|0)+1}if(!(l[(k[b>>2]|0)+54>>0]|0)){r=g;return}j[(k[c>>2]|0)+(m[(k[b>>2]|0)+50>>1]<<1)>>1]=0;r=g;return}function Nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+112|0;e=s+96|0;t=s+92|0;f=s+84|0;o=s+76|0;n=s+72|0;p=s+68|0;q=s+64|0;g=s+60|0;l=s+56|0;h=s;k[t>>2]=a;k[s+88>>2]=b;k[f>>2]=c;k[s+80>>2]=d;k[o>>2]=k[t>>2];if(((k[f>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0)?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){t=zi(k[k[o>>2]>>2]|0,k[k[f>>2]>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}do if(k[(k[f>>2]|0)+4>>2]|0)if(!(be(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0)){t=Oj(k[p>>2]|0)|0;k[n>>2]=t;break}else{t=Pj(k[k[o>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[n>>2]=t;break}else k[n>>2]=0;while(0);k[q>>2]=k[(k[f>>2]|0)+8>>2];if(k[n>>2]|0){k[g>>2]=0;k[l>>2]=(m[(k[n>>2]|0)+50>>1]|0)+1;t=(k[n>>2]|0)+55|0;i[t>>0]=i[t>>0]&-5;Qj(k[q>>2]|0,k[l>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[n>>2]|0);if(!(k[(k[n>>2]|0)+36>>2]|0))j[(k[p>>2]|0)+38>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0}else{j[h+48>>1]=j[(k[p>>2]|0)+40>>1]|0;Qj(k[q>>2]|0,1,0,(k[p>>2]|0)+38|0,h);j[(k[p>>2]|0)+40>>1]=j[h+48>>1]|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Oj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0)){a=5;break}if(!((i[(k[b>>2]|0)+55>>0]&3|0)==2^1)){a=5;break}k[b>>2]=k[(k[b>>2]|0)+20>>2]}if((a|0)==5){r=c;return k[b>>2]|0}return 0}function Pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){l=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;k[j>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];if(!((k[f>>2]|0)!=0?(be(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,b=xj((k[j>>2]|0)+24|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){l=7;break}k[g>>2]=(k[g>>2]|0)+1}if((l|0)==7){r=m;return k[i>>2]|0}return 0}function Qj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+32|0;f=p+28|0;g=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;l=p+4|0;m=p;k[q>>2]=a;k[f>>2]=b;k[p+24>>2]=c;k[g>>2]=d;k[n>>2]=e;k[o>>2]=k[q>>2];k[l>>2]=0;while(1){if(!(i[k[o>>2]>>0]|0))break;if((k[l>>2]|0)>=(k[f>>2]|0))break;k[m>>2]=0;while(1){q=i[k[o>>2]>>0]|0;k[h>>2]=q;if(!((q|0)>=48?(k[h>>2]|0)<=57:0))break;k[m>>2]=((k[m>>2]|0)*10|0)+(k[h>>2]|0)-48;k[o>>2]=(k[o>>2]|0)+1}q=Rj(k[m>>2]|0,0)|0;j[(k[g>>2]|0)+(k[l>>2]<<1)>>1]=q;if((i[k[o>>2]>>0]|0)==32)k[o>>2]=(k[o>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+1}q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5;q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65;a:while(1){if(!(i[k[o>>2]>>0]|0))break;do if(hf(21081,k[o>>2]|0)|0){q=(hf(21092,k[o>>2]|0)|0)==0;f=k[o>>2]|0;if(q){q=Ui(f+3|0)|0;q=Rj(q,((q|0)<0)<<31>>31)|0;j[(k[n>>2]|0)+48>>1]=q;break}if(!(hf(21102,f)|0)){q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65|64}}else{q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5|4}while(0);while(1){if(!(i[k[o>>2]>>0]|0))break;if((i[k[o>>2]>>0]|0)==32)break;k[o>>2]=(k[o>>2]|0)+1}while(1){if((i[k[o>>2]>>0]|0)!=32)continue a;k[o>>2]=(k[o>>2]|0)+1}}r=p;return}function Rj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+10|0;d=f;e=f+8|0;g=d;k[g>>2]=a;k[g+4>>2]=b;j[e>>1]=40;b=d;a=k[b+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(k[b>>2]|0)>>>0<8){g=d;b=k[g+4>>2]|0;if(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<2){j[c>>1]=0;g=j[c>>1]|0;r=f;return g|0}else while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<8))break a;j[e>>1]=(j[e>>1]|0)-10;b=d;b=vR(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}else{while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>255))break;j[e>>1]=(j[e>>1]|0)+40;b=d;b=rR(k[b>>2]|0,k[b+4>>2]|0,4)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>15))break a;j[e>>1]=(j[e>>1]|0)+10;b=d;b=rR(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}while(0);j[c>>1]=(j[10876+((k[d>>2]&7)<<1)>>1]|0)+(j[e>>1]|0)-10;g=j[c>>1]|0;r=f;return g|0}function Sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Tj(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0);r=c;return}function Tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+16>>2]=k[d>>2];d=k[33]|0;b=k[(k[e>>2]|0)+44>>2]|0;a=hj(k[e>>2]|0)|0;$b[d&255](b,a);r=c;return}function Uj(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,m=0,n=0;n=r;r=r+48|0;j=n+8|0;h=n;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if((i[(k[g>>2]|0)+65>>0]|0)==0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0){if(!(k[e>>2]|0))k[e>>2]=21139;b=k[g>>2]|0;k[h>>2]=k[e>>2];b=Lh(b,21141,h)|0;k[m>>2]=b;if(k[f>>2]|0){b=k[g>>2]|0;c=k[f>>2]|0;k[j>>2]=k[m>>2];k[j+4>>2]=c;b=Lh(b,21172,j)|0;k[m>>2]=b}ag(k[g>>2]|0,k[k[(k[d>>2]|0)+4>>2]>>2]|0);k[k[(k[d>>2]|0)+4>>2]>>2]=k[m>>2]}if(l[(k[g>>2]|0)+65>>0]|0){c=7;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}c=Vj(109430)|0;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}function Vj(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+8|0;k[d>>2]=a;d=k[d>>2]|0;a=(uf()|0)+20|0;k[c>>2]=d;k[c+4>>2]=a;$d(11,21180,c);r=b;return 11}function Wj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+12|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;i[e>>0]=b;k[f>>2]=c;k[g>>2]=d;d=k[m>>2]|0;if(k[f>>2]|0){m=Xj(d,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=m}else k[h>>2]=k[d+8>>2];if(!(k[h>>2]|0)){m=k[h>>2]|0;r=j;return m|0}k[h>>2]=(k[h>>2]|0)+(((l[e>>0]|0)-1|0)*20|0);m=k[h>>2]|0;r=j;return m|0}function Xj(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,l=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;l=j+12|0;g=j+8|0;f=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;b=xj((k[d>>2]|0)+432|0,k[e>>2]|0)|0;k[g>>2]=b;if(!(0==(k[g>>2]|0)&(k[l>>2]|0)!=0)){l=k[g>>2]|0;r=j;return l|0}l=Sf(k[e>>2]|0)|0;k[f>>2]=l;l=zh(k[d>>2]|0,60+(k[f>>2]|0)+1|0,0)|0;k[g>>2]=l;if(!(k[g>>2]|0)){l=k[g>>2]|0;r=j;return l|0}k[h>>2]=0;k[k[g>>2]>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+4>>0]=1;k[(k[g>>2]|0)+20>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+20+4>>0]=2;k[(k[g>>2]|0)+40>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+40+4>>0]=3;sR(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;i[(k[k[g>>2]>>2]|0)+(k[f>>2]|0)>>0]=0;l=Yj((k[d>>2]|0)+432|0,k[k[g>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){l=k[g>>2]|0;r=j;return l|0}th(k[d>>2]|0);ag(k[d>>2]|0,k[h>>2]|0);k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}function Yj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;i=m+28|0;j=m+24|0;d=m+20|0;e=m+16|0;g=m+12|0;f=m+8|0;l=m+4|0;h=m;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=yj(k[j>>2]|0,k[d>>2]|0,g)|0;k[f>>2]=b;if(k[f>>2]|0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[e>>2]|0))Zj(k[j>>2]|0,k[f>>2]|0,k[g>>2]|0);else{k[(k[f>>2]|0)+8>>2]=k[e>>2];k[(k[f>>2]|0)+12>>2]=k[d>>2]}k[i>>2]=k[h>>2];l=k[i>>2]|0;r=m;return l|0}if(!(k[e>>2]|0)){k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}b=ig(16,0)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[i>>2]=k[e>>2];l=k[i>>2]|0;r=m;return l|0}k[(k[l>>2]|0)+12>>2]=k[d>>2];k[(k[l>>2]|0)+8>>2]=k[e>>2];b=(k[j>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+1;if(((k[(k[j>>2]|0)+4>>2]|0)>>>0>=10?(k[(k[j>>2]|0)+4>>2]|0)>>>0>k[k[j>>2]>>2]<<1>>>0:0)?(_j(k[j>>2]|0,k[(k[j>>2]|0)+4>>2]<<1)|0)!=0:0){b=zj(k[d>>2]|0)|0;k[g>>2]=(b>>>0)%((k[k[j>>2]>>2]|0)>>>0)|0}if(k[(k[j>>2]|0)+12>>2]|0)d=(k[(k[j>>2]|0)+12>>2]|0)+(k[g>>2]<<3)|0;else d=0;$j(k[j>>2]|0,d,k[l>>2]|0);k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[d>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+-1}Ud(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if(k[(k[d>>2]|0)+4>>2]|0){r=h;return}Fj(k[d>>2]|0);r=h;return}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[e>>2]=k[e>>2]<<3>>>0>1024?128:b;if((k[e>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}ak();a=ig(k[e>>2]<<3,0)|0;k[h>>2]=a;bk();if(!(k[h>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}Ud(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=k[h>>2];a=((jg(k[h>>2]|0)|0)>>>0)/8|0;k[e>>2]=a;k[k[d>>2]>>2]=a;uR(k[h>>2]|0,0,k[e>>2]<<3|0)|0;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=zj(k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=(a>>>0)%((k[e>>2]|0)>>>0)|0;k[i>>2]=k[k[f>>2]>>2];$j(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[i>>2]}k[c>>2]=1;a=k[c>>2]|0;r=j;return a|0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;if(k[d>>2]|0){if(k[k[d>>2]>>2]|0)b=k[(k[d>>2]|0)+4>>2]|0;else b=0;k[g>>2]=b;c=k[d>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[d>>2]|0)+4>>2]=k[f>>2]}else k[g>>2]=0;if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[e>>2]|0)+8>>2]|0)k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+8>>2]=k[f>>2];r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[e>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];r=h;return}function ak(){if(!(k[421]|0))return;dc[k[1684>>2]&255]();return}function bk(){if(!(k[422]|0))return;dc[k[1688>>2]&255]();return}function ck(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=(k[g>>2]|0)<(k[i>>2]|0)?k[g>>2]|0:k[i>>2]|0;a=FQ(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[m>>2]=a;if(k[m>>2]|0){m=k[m>>2]|0;r=n;return m|0}if(((k[f>>2]|0)!=0?(bu((k[h>>2]|0)+(k[l>>2]|0)|0,(k[g>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0)?(bu((k[j>>2]|0)+(k[l>>2]|0)|0,(k[i>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0){m=k[m>>2]|0;r=n;return m|0}k[m>>2]=(k[g>>2]|0)-(k[i>>2]|0);m=k[m>>2]|0;r=n;return m|0}function dk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;l=i+12|0;g=i+8|0;j=i+4|0;h=i;k[i+20>>2]=a;k[f>>2]=b;k[l>>2]=c;k[g>>2]=d;k[j>>2]=e;e=Jd(k[l>>2]|0,k[j>>2]|0,(k[f>>2]|0)<(k[g>>2]|0)?k[f>>2]|0:k[g>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;r=i;return l|0}k[h>>2]=(k[f>>2]|0)-(k[g>>2]|0);l=k[h>>2]|0;r=i;return l|0}function ek(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=r;r=r+160|0;J=S+32|0;I=S+24|0;H=S+16|0;G=S+8|0;j=S+140|0;T=S+136|0;m=S+132|0;n=S+128|0;o=S+124|0;p=S+120|0;q=S+116|0;F=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;h=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;g=S;E=S+76|0;C=S+72|0;P=S+68|0;D=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;K=S+36|0;k[T>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[F>>2]=0;k[v>>2]=k[k[n>>2]>>2];k[Q>>2]=k[T>>2];b=Sf(k[m>>2]|0)|0;k[h>>2]=b;a:do if(((k[v>>2]&64|0)!=0|(k[5]|0)!=0)&(k[h>>2]|0)>=5?(FQ(k[m>>2]|0,26902,5)|0)==0:0){k[y>>2]=0;b=(k[h>>2]|0)+2|0;T=g;k[T>>2]=b;k[T+4>>2]=((b|0)<0)<<31>>31;k[v>>2]=k[v>>2]|64;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[h>>2]|0))break;b=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==38&1;T=g;b=qR(k[T>>2]|0,k[T+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;T=g;k[T>>2]=b;k[T+4>>2]=L;k[x>>2]=(k[x>>2]|0)+1}T=g;T=Td(k[T>>2]|0,k[T+4>>2]|0)|0;k[M>>2]=T;if(!(k[M>>2]|0)){k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}k[x>>2]=5;do if((i[(k[m>>2]|0)+5>>0]|0)==47?(i[(k[m>>2]|0)+6>>0]|0)==47:0){k[x>>2]=7;while(1){if(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)g=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)!=47;else g=0;h=k[x>>2]|0;if(!g)break;k[x>>2]=h+1}if((h|0)!=7){if((k[x>>2]|0)==16?(FQ(26908,(k[m>>2]|0)+7|0,9)|0)==0:0)break;T=(k[m>>2]|0)+7|0;k[G>>2]=(k[x>>2]|0)-7;k[G+4>>2]=T;T=Yd(26918,G)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break a}}while(0);k[u>>2]=0;b:while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))break;if((i[t>>0]|0)==35)break;k[x>>2]=(k[x>>2]|0)+1;do if(((i[t>>0]|0)==37?(l[19267+(l[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(l[19267+(l[(k[m>>2]|0)+((k[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=k[x>>2]|0;k[x>>2]=T+1;T=((Qi(i[(k[m>>2]|0)+T>>0]|0)|0)&255)<<4;k[E>>2]=T;T=k[x>>2]|0;k[x>>2]=T+1;T=(Qi(i[(k[m>>2]|0)+T>>0]|0)|0)&255;k[E>>2]=(k[E>>2]|0)+T;if(k[E>>2]|0){i[t>>0]=k[E>>2];break}while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))continue b;if((i[t>>0]|0)==35)continue b;if((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)continue b;if((k[u>>2]|0)==1){if((i[t>>0]|0)==61)continue b;if((i[t>>0]|0)==38)continue b}if((k[u>>2]|0)==2?(i[t>>0]|0)==38:0)continue b;k[x>>2]=(k[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((k[u>>2]|0)==1){if((i[t>>0]|0)!=38?(i[t>>0]|0)!=61:0)break;if(!(i[(k[M>>2]|0)+((k[y>>2]|0)-1)>>0]|0))while(1){if(!(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0))continue b;if((i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==35)continue b;if((i[(k[m>>2]|0)+((k[x>>2]|0)-1)>>0]|0)==38)continue b;k[x>>2]=(k[x>>2]|0)+1}else{if((i[t>>0]|0)==38){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}else k[u>>2]=2;i[t>>0]=0;break c}}while(0);if(!((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)){if((k[u>>2]|0)!=2)break;if((i[t>>0]|0)!=38)break}i[t>>0]=0;k[u>>2]=1}while(0);G=i[t>>0]|0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=G}if((k[u>>2]|0)==1){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=(Sf(k[M>>2]|0)|0)+1|0;k[O>>2]=(k[M>>2]|0)+T;while(1){if(!(i[k[O>>2]>>0]|0)){R=84;break a}T=Sf(k[O>>2]|0)|0;k[C>>2]=T;k[P>>2]=(k[O>>2]|0)+((k[C>>2]|0)+1);T=Sf(k[P>>2]|0)|0;k[D>>2]=T;if((k[C>>2]|0)==3?(FQ(26946,k[O>>2]|0,3)|0)==0:0)k[Q>>2]=k[P>>2];else{k[s>>2]=0;k[N>>2]=0;k[A>>2]=0;k[z>>2]=0;if((k[C>>2]|0)==5?(FQ(26950,k[O>>2]|0,5)|0)==0:0){k[A>>2]=393216;k[s>>2]=4912;k[z>>2]=k[A>>2];k[N>>2]=26950}if((k[C>>2]|0)==4?(FQ(26956,k[O>>2]|0,4)|0)==0:0){k[A>>2]=135;k[s>>2]=4936;k[z>>2]=k[A>>2]&k[v>>2];k[N>>2]=26961}if(k[s>>2]|0){k[B>>2]=0;k[w>>2]=0;while(1){if(!(k[(k[s>>2]|0)+(k[w>>2]<<3)>>2]|0))break;k[K>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)>>2];T=k[D>>2]|0;if((T|0)==(Sf(k[K>>2]|0)|0)?0==(FQ(k[P>>2]|0,k[K>>2]|0,k[D>>2]|0)|0):0){R=73;break}k[w>>2]=(k[w>>2]|0)+1}if((R|0)==73){R=0;k[B>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)+4>>2]}if(!(k[B>>2]|0)){R=76;break}if((k[B>>2]&-129|0)>(k[z>>2]|0)){R=78;break}k[v>>2]=k[v>>2]&~k[A>>2]|k[B>>2]}}k[O>>2]=(k[P>>2]|0)+((k[D>>2]|0)+1)}if((R|0)==76){T=k[P>>2]|0;k[H>>2]=k[N>>2];k[H+4>>2]=T;T=Yd(26968,H)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break}else if((R|0)==78){T=k[P>>2]|0;k[I>>2]=k[N>>2];k[I+4>>2]=T;T=Yd(26988,I)|0;k[k[q>>2]>>2]=T;k[F>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(k[h>>2]|0)+2|0;T=Td(T,((T|0)<0)<<31>>31)|0;k[M>>2]=T;if(k[M>>2]|0){sR(k[M>>2]|0,k[m>>2]|0,k[h>>2]|0)|0;i[(k[M>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[M>>2]|0)+((k[h>>2]|0)+1)>>0]=0;k[v>>2]=k[v>>2]&-65;R=84;break}k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}while(0);if((R|0)==84?(T=Md(k[Q>>2]|0)|0,k[k[o>>2]>>2]=T,(k[k[o>>2]>>2]|0)==0):0){k[J>>2]=k[Q>>2];T=Yd(27012,J)|0;k[k[q>>2]>>2]=T;k[F>>2]=1}if(k[F>>2]|0){Ud(k[M>>2]|0);k[M>>2]=0}k[k[n>>2]>>2]=k[v>>2];k[k[p>>2]>>2]=k[M>>2];k[j>>2]=k[F>>2];T=k[j>>2]|0;r=S;return T|0}function fk(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+192|0;C=I+76|0;g=I+72|0;h=I+68|0;n=I+64|0;D=I+60|0;o=I+56|0;p=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;q=I+4|0;G=I;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[D>>2]=d;k[o>>2]=e;k[p>>2]=f;k[F>>2]=0;k[I+40>>2]=0;k[H>>2]=0;if(!(k[h>>2]|0))c=1;else c=(i[k[h>>2]>>0]|0)==0;k[u>>2]=c&1;if((k[h>>2]|0)!=0?(IQ(k[h>>2]|0,26694)|0)==0:0)c=1;else B=5;do if((B|0)==5){if((k[u>>2]|0)!=0?(ar(k[n>>2]|0)|0)!=0:0){c=1;break}c=(k[p>>2]&128|0)!=0}while(0);k[t>>2]=c&1;if(k[t>>2]|0)k[o>>2]=k[o>>2]|2;if((k[p>>2]&256|0)!=0?(k[t>>2]|0)!=0|(k[u>>2]|0)!=0:0)k[p>>2]=k[p>>2]&-257|512;b=sg(48,0)|0;k[E>>2]=b;if(!(k[E>>2]|0)){k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}i[(k[E>>2]|0)+8>>0]=0;k[k[E>>2]>>2]=k[n>>2];k[(k[E>>2]|0)+32>>2]=k[E>>2];k[(k[E>>2]|0)+32+4>>2]=1;do if(!(k[u>>2]|0)){if((k[t>>2]|0)!=0?(k[p>>2]&64|0)==0:0)break;if(k[p>>2]&131072){u=(Sf(k[h>>2]|0)|0)+1|0;k[v>>2]=u;k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+1;u=(k[w>>2]|0)>(k[v>>2]|0)?k[w>>2]|0:k[v>>2]|0;u=ig(u,((u|0)<0)<<31>>31)|0;k[A>>2]=u;i[(k[E>>2]|0)+9>>0]=1;if(!(k[A>>2]|0)){Ud(k[E>>2]|0);k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}if(!(k[t>>2]|0)){w=br(k[g>>2]|0,k[h>>2]|0,k[w>>2]|0,k[A>>2]|0)|0;k[H>>2]=w;if(k[H>>2]|0){Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}}else sR(k[A>>2]|0,k[h>>2]|0,k[v>>2]|0)|0;k[F>>2]=k[1208];while(1){if(!(k[F>>2]|0))break;w=k[A>>2]|0;if(0==(IQ(w,Pi(k[k[F>>2]>>2]|0,0)|0)|0)?(w=Di(k[k[F>>2]>>2]|0)|0,(w|0)==(k[g>>2]|0)):0){B=29;break}k[F>>2]=k[(k[F>>2]|0)+68>>2]}do if((B|0)==29){k[s>>2]=(k[(k[n>>2]|0)+20>>2]|0)-1;while(1){if((k[s>>2]|0)<0){B=35;break}k[y>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[s>>2]<<4)+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+4>>2]|0)==(k[F>>2]|0):0)break;k[s>>2]=(k[s>>2]|0)+-1}if((B|0)==35){k[(k[E>>2]|0)+4>>2]=k[F>>2];y=(k[F>>2]|0)+64|0;k[y>>2]=(k[y>>2]|0)+1;break}Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=19;H=k[C>>2]|0;r=I;return H|0}while(0);Ud(k[A>>2]|0)}}while(0);do if(!(k[F>>2]|0)){A=sg(84,0)|0;k[F>>2]=A;if(!(k[F>>2]|0)){k[H>>2]=7;break}A=dr(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0,88,k[o>>2]|0,k[p>>2]|0,149)|0;k[H>>2]=A;if(!(k[H>>2]|0)){A=(k[n>>2]|0)+40|0;er(k[k[F>>2]>>2]|0,k[A>>2]|0,k[A+4>>2]|0);A=fr(k[k[F>>2]>>2]|0,100,z)|0;k[H>>2]=A}if(!(k[H>>2]|0)){i[(k[F>>2]|0)+16>>0]=k[o>>2];k[(k[F>>2]|0)+4>>2]=k[n>>2];hr(k[k[F>>2]>>2]|0,171,k[F>>2]|0);k[(k[E>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+8>>2]=0;k[(k[F>>2]|0)+12>>2]=0;if((ir(k[k[F>>2]>>2]|0)|0)<<24>>24){A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|1}k[(k[F>>2]|0)+32>>2]=l[z+16>>0]<<8|l[z+17>>0]<<16;if(((k[(k[F>>2]|0)+32>>2]|0)>>>0>=512?(k[(k[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((k[(k[F>>2]|0)+32>>2]|0)-1&k[(k[F>>2]|0)+32>>2]|0)==0:0){i[x>>0]=i[z+20>>0]|0;A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|2;A=(jr(z+52|0)|0)!=0;i[(k[F>>2]|0)+17>>0]=A?1:0;A=(jr(z+64|0)|0)!=0;i[(k[F>>2]|0)+18>>0]=A?1:0}else{k[(k[F>>2]|0)+32>>2]=0;if(!((k[h>>2]|0)==0|(k[t>>2]|0)!=0)){i[(k[F>>2]|0)+17>>0]=0;i[(k[F>>2]|0)+18>>0]=0}i[x>>0]=0}A=_i(k[k[F>>2]>>2]|0,(k[F>>2]|0)+32|0,l[x>>0]|0)|0;k[H>>2]=A;if(!(k[H>>2]|0)){k[(k[F>>2]|0)+36>>2]=(k[(k[F>>2]|0)+32>>2]|0)-(l[x>>0]|0);if(i[(k[E>>2]|0)+9>>0]|0){k[(k[F>>2]|0)+64>>2]=1;k[(k[F>>2]|0)+68>>2]=k[1208];k[1208]=k[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(i[(k[E>>2]|0)+9>>0]|0){k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break a;B=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0;k[G>>2]=B;if((B|0)!=0?(l[(k[G>>2]|0)+9>>0]|0)!=0:0)break;k[q>>2]=(k[q>>2]|0)+1}while(1){if(!(k[(k[G>>2]|0)+28>>2]|0))break;k[G>>2]=k[(k[G>>2]|0)+28>>2]}if((k[(k[E>>2]|0)+4>>2]|0)>>>0<(k[(k[G>>2]|0)+4>>2]|0)>>>0){k[(k[E>>2]|0)+24>>2]=k[G>>2];k[(k[E>>2]|0)+28>>2]=0;k[(k[G>>2]|0)+28>>2]=k[E>>2];break}while(1){if(k[(k[G>>2]|0)+24>>2]|0)e=(k[(k[(k[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(k[(k[E>>2]|0)+4>>2]|0)>>>0;else e=0;c=k[(k[G>>2]|0)+24>>2]|0;if(!e)break;k[G>>2]=c}k[(k[E>>2]|0)+24>>2]=c;k[(k[E>>2]|0)+28>>2]=k[G>>2];if(k[(k[E>>2]|0)+24>>2]|0)k[(k[(k[E>>2]|0)+24>>2]|0)+28>>2]=k[E>>2];k[(k[G>>2]|0)+24>>2]=k[E>>2]}while(0);k[k[D>>2]>>2]=k[E>>2]}if(!(k[H>>2]|0)){if(!($q(k[E>>2]|0,0,0)|0))Sj(k[k[(k[E>>2]|0)+4>>2]>>2]|0,2e3)}else{if((k[F>>2]|0)!=0?(k[k[F>>2]>>2]|0)!=0:0)kr(k[k[F>>2]>>2]|0)|0;Ud(k[F>>2]|0);Ud(k[E>>2]|0);k[k[D>>2]>>2]=0}k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}function gk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=$q(k[d>>2]|0,84,150)|0;k[e>>2]=b}else{b=zh(0,84,0)|0;k[e>>2]=b}if(!(k[e>>2]|0)){th(k[c>>2]|0);b=k[e>>2]|0;r=f;return b|0}if(l[(k[e>>2]|0)+76>>0]|0){b=k[e>>2]|0;r=f;return b|0}Ej((k[e>>2]|0)+8|0);Ej((k[e>>2]|0)+24|0);Ej((k[e>>2]|0)+40|0);Ej((k[e>>2]|0)+56|0);i[(k[e>>2]|0)+77>>0]=1;b=k[e>>2]|0;r=f;return b|0}function hk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;a=Hf(k[b>>2]|0,26688,2)|0;k[d>>2]=a;if((k[d>>2]|0)!=7){r=c;return}th(k[b>>2]|0);r=c;return}function ik(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i;b=i+24|0;d=i+20|0;c=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;k[b>>2]=a;k[c>>2]=1;if(!(k[382]|0)){r=i;return}k[d>>2]=0;while(1){if(!(k[c>>2]|0))break;if((k[d>>2]|0)>>>0>=(k[382]|0)>>>0){k[g>>2]=0;k[c>>2]=0}else k[g>>2]=k[(k[383]|0)+(k[d>>2]<<2)>>2];k[h>>2]=0;if((k[g>>2]|0)!=0?(a=Yb[k[g>>2]&255](k[b>>2]|0,h,3980)|0,k[e>>2]=a,(a|0)!=0):0){j=k[b>>2]|0;a=k[e>>2]|0;k[f>>2]=k[h>>2];rg(j,a,26649,f);k[c>>2]=0}Ud(k[h>>2]|0);k[d>>2]=(k[d>>2]|0)+1}r=i;return}function jk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i+4|0;g=i;k[c>>2]=a;k[h>>2]=0;k[d>>2]=0;k[f>>2]=0;k[e>>2]=0;k[g>>2]=0;kk(g);a=lk(k[c>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}mk(f);nk(e);a=Sd(20)|0;k[d>>2]=a;if(k[d>>2]|0)ok(k[d>>2]|0,1,1);else k[h>>2]=7;do if(!(k[h>>2]|0)){if(((pk(k[d>>2]|0,21308,7,k[f>>2]|0)|0)==0?(pk(k[d>>2]|0,21315,7,k[e>>2]|0)|0)==0:0)?(pk(k[d>>2]|0,21322,10,k[g>>2]|0)|0)==0:0)break;k[h>>2]=7}while(0);if((((((0==(k[h>>2]|0)?(g=qk(k[c>>2]|0,k[d>>2]|0,21332)|0,k[h>>2]=g,0==(g|0)):0)?(g=Hf(k[c>>2]|0,21347,-1)|0,k[h>>2]=g,0==(g|0)):0)?(g=Hf(k[c>>2]|0,21355,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=Hf(k[c>>2]|0,21363,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=Hf(k[c>>2]|0,21363,2)|0,k[h>>2]=g,0==(g|0)):0)?(g=Hf(k[c>>2]|0,21373,1)|0,k[h>>2]=g,0==(g|0)):0){g=pf(k[c>>2]|0,21382,1692,k[d>>2]|0,151)|0;k[h>>2]=g;if(!(k[h>>2]|0)){g=pf(k[c>>2]|0,21387,1692,k[d>>2]|0,0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){g=sk(k[c>>2]|0,k[d>>2]|0)|0;k[h>>2]=g}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}if(k[d>>2]|0){tk(k[d>>2]|0);Ud(k[d>>2]|0)}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}function kk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2312;r=b;return}function lk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=of(k[d>>2]|0,26300,2220,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function mk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2192;r=b;return}function nk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2164;r=b;return}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d;g=d+5|0;f=d+4|0;k[e>>2]=a;i[g>>0]=b;i[f>>0]=c;i[k[e>>2]>>0]=i[g>>0]|0;i[(k[e>>2]|0)+1>>0]=i[f>>0]|0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;h=s+40|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;e=s+12|0;q=s+8|0;t=s+4|0;f=s;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;b=Lk(i[k[j>>2]>>0]|0)|0;k[t>>2]=b;b=gc[k[t>>2]&255](k[l>>2]|0,k[m>>2]|0)|0;k[p>>2]=b;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;b=Mk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){k[f>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[n>>2]|0))dq(k[j>>2]|0,k[e>>2]|0,k[o>>2]|0);else k[(k[e>>2]|0)+8>>2]=k[n>>2];k[h>>2]=k[f>>2];t=k[h>>2]|0;r=s;return t|0}if(!(k[n>>2]|0)){k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}if(!((k[(k[j>>2]|0)+12>>2]|0)==0?(eq(k[j>>2]|0,8)|0)!=0:0))g=10;do if((g|0)==10){if((k[(k[j>>2]|0)+4>>2]|0)>=(k[(k[j>>2]|0)+12>>2]|0)?(eq(k[j>>2]|0,k[(k[j>>2]|0)+12>>2]<<1)|0)!=0:0)break;t=fq(20)|0;k[q>>2]=t;if(!(k[q>>2]|0)){k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}do if((k[l>>2]|0)!=0?(i[(k[j>>2]|0)+1>>0]|0)!=0:0){d=fq(k[m>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=d;d=k[q>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){sR(k[d+12>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;break}uk(d);k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}else k[(k[q>>2]|0)+12>>2]=k[l>>2];while(0);k[(k[q>>2]|0)+16>>2]=k[m>>2];t=(k[j>>2]|0)+4|0;k[t>>2]=(k[t>>2]|0)+1;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;gq(k[j>>2]|0,(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)|0,k[q>>2]|0);k[(k[q>>2]|0)+8>>2]=k[n>>2];k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}while(0);k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}function qk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=k[i>>2];k[h>>2]=5;if(!(k[g>>2]|0)){i=Ff(k[d>>2]|0,k[e>>2]|0,1,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=Ff(k[d>>2]|0,k[e>>2]|0,2,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function rk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];tk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=of(k[f>>2]|0,21392,1784,k[e>>2]|0)|0;k[c>>2]=b;r=d;return k[c>>2]|0}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;uk(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+12>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];if((i[(k[b>>2]|0)+1>>0]|0)!=0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)uk(k[(k[c>>2]|0)+12>>2]|0);uk(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function uk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function vk(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+56|0;x=w+52|0;h=w+48|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;s=w+28|0;q=w+24|0;t=w+20|0;u=w+16|0;o=w+12|0;p=w+8|0;v=w+4|0;n=w;k[x>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[s>>2]=0;k[q>>2]=0;k[t>>2]=0;k[o>>2]=0;f=qf(k[x>>2]|0,21405)|0;k[u>>2]=f;if(k[u>>2]|0){k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}k[p>>2]=(k[i>>2]|0)-3;x=Gk(k[p>>2]|0,(k[j>>2]|0)+12|0,o)|0;k[u>>2]=x;if(!(k[u>>2]|0)){if((k[p>>2]|0)<1)k[v>>2]=21308;else k[v>>2]=k[k[o>>2]>>2];x=Hk(k[h>>2]|0,k[v>>2]|0,q,k[m>>2]|0)|0;k[u>>2]=x}if(!(k[u>>2]|0)){k[n>>2]=(k[o>>2]|0)+4;x=Yb[k[(k[q>>2]|0)+4>>2]&255]((k[p>>2]|0)>1?(k[p>>2]|0)-1|0:0,k[n>>2]|0,t)|0;k[u>>2]=x}if((k[u>>2]|0)==0?(x=Sd(20)|0,k[s>>2]=x,(k[s>>2]|0)==0):0)k[u>>2]=7;if(k[u>>2]|0){if(k[t>>2]|0)bc[k[(k[q>>2]|0)+8>>2]&255](k[t>>2]|0)|0}else{x=k[s>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[(k[s>>2]|0)+12>>2]=k[q>>2];k[(k[s>>2]|0)+16>>2]=k[t>>2];k[k[l>>2]>>2]=k[s>>2]}Ud(k[o>>2]|0);k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){b=8;break}if(((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0|0)!=0?(k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2]|0)==0:0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0]|0|0)==2:0){b=6;break}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==6){k[(k[d>>2]|0)+20>>2]=1;k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=1;i[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1;p[(k[d>>2]|0)+40>>3]=1.0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else if((b|0)==8){k[(k[d>>2]|0)+20>>2]=0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function xk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+16>>2]|0)|0;Ud(k[c>>2]|0);r=b;return 0}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(36)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}else{a=k[e>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function zk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Fk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Ak(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+40|0;g=p+36|0;q=p+32|0;h=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;j=p;k[g>>2]=a;k[q>>2]=b;k[p+28>>2]=c;k[p+24>>2]=d;k[h>>2]=e;k[n>>2]=1;k[l>>2]=k[g>>2];k[m>>2]=k[k[g>>2]>>2];Fk(k[l>>2]|0);do if((k[q>>2]|0)==1){q=ke(k[k[h>>2]>>2]|0)|0;k[o>>2]=q;q=le(k[k[h>>2]>>2]|0)|0;k[j>>2]=q;q=Sd((k[j>>2]|0)+1|0)|0;k[(k[l>>2]|0)+4>>2]=q;if(!(k[(k[l>>2]|0)+4>>2]|0)){k[n>>2]=7;break}sR(k[(k[l>>2]|0)+4>>2]|0,k[o>>2]|0,k[j>>2]|0)|0;i[(k[(k[l>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]=0;q=ec[k[(k[(k[m>>2]|0)+12>>2]|0)+12>>2]&255](k[(k[m>>2]|0)+16>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[j>>2]|0,(k[l>>2]|0)+8|0)|0;k[n>>2]=q;if(!(k[n>>2]|0))k[k[(k[l>>2]|0)+8>>2]>>2]=k[(k[m>>2]|0)+16>>2]}while(0);if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=p;return q|0}else{q=Bk(k[g>>2]|0)|0;k[f>>2]=q;q=k[f>>2]|0;r=p;return q|0}return 0}function Bk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[k[f>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;a=ac[k[(k[(k[e>>2]|0)+12>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+8>>2]|0,(k[b>>2]|0)+16|0,(k[b>>2]|0)+20|0,(k[b>>2]|0)+24|0,(k[b>>2]|0)+28|0,(k[b>>2]|0)+32|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){f=k[c>>2]|0;r=d;return f|0}Fk(k[b>>2]|0);if((k[c>>2]|0)!=101){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=d;return f|0}function Ck(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function Dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]|0,-1,-1);r=f;return 0}case 1:{xe(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0,-1);r=f;return 0}case 2:{ue(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0);r=f;return 0}case 3:{ue(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);r=f;return 0}default:{ue(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);r=f;return 0}}return 0}function Ek(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];a=k[(k[e>>2]|0)+12>>2]|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;r=c;return 0}function Fk(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=k[k[b>>2]>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]&255](k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=0}Ud(k[(k[b>>2]|0)+4>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+20>>2]=0;k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+12>>2]=0;r=d;return}function Gk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;m=n+20|0;h=n+16|0;j=n+12|0;g=n+8|0;l=n+4|0;i=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;if(!(k[d>>2]|0)){k[k[f>>2]>>2]=0;m=k[m>>2]|0;r=n;return m|0}k[j>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=(LQ(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0)+1|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=(k[h>>2]|0)+1}c=Sd((k[d>>2]<<2)+(k[j>>2]|0)|0)|0;k[g>>2]=c;k[k[f>>2]>>2]=c;if(!(k[g>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+(k[d>>2]<<2);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=LQ(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[i>>2]=c;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[l>>2];sR(k[l>>2]|0,k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0,(k[i>>2]|0)+1|0)|0;Sk(k[l>>2]|0);k[l>>2]=(k[l>>2]|0)+((k[i>>2]|0)+1);k[h>>2]=(k[h>>2]|0)+1}m=k[m>>2]|0;r=n;return m|0}function Hk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;j=l;e=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;m=l+4|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=LQ(k[f>>2]|0)|0;k[m>>2]=b;b=Ik(k[n>>2]|0,k[f>>2]|0,(k[m>>2]|0)+1|0)|0;k[i>>2]=b;if(k[i>>2]|0){k[k[g>>2]>>2]=k[i>>2];k[e>>2]=0;n=k[e>>2]|0;r=l;return n|0}else{n=k[h>>2]|0;k[j>>2]=k[f>>2];Jk(n,21456,j);k[e>>2]=1;n=k[e>>2]|0;r=l;return n|0}return 0}function Ik(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=Kk(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){h=0;r=e;return h|0}h=k[(k[d>>2]|0)+8>>2]|0;r=e;return h|0}function Jk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;Ud(k[k[e>>2]>>2]|0);k[f>>2]=c;b=Xd(k[g>>2]|0,f)|0;k[k[e>>2]>>2]=b;r=d;return}function Kk(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+16>>2]|0)!=0:0){b=Lk(i[k[e>>2]>>0]|0)|0;k[j>>2]=b;j=gc[k[j>>2]&255](k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=j;j=Mk(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]&(k[(k[e>>2]|0)+12>>2]|0)-1)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Lk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=180;else k[b>>2]=181;r=c;return k[b>>2]|0}function Mk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;h=p+32|0;e=p+28|0;j=p+24|0;l=p+20|0;f=p+16|0;n=p+12|0;m=p+8|0;o=p+4|0;g=p;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[f>>2]=d;a:do if(k[(k[e>>2]|0)+16>>2]|0){k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<3);k[n>>2]=k[(k[g>>2]|0)+4>>2];k[m>>2]=k[k[g>>2]>>2];b=Nk(i[k[e>>2]>>0]|0)|0;k[o>>2]=b;while(1){b=k[m>>2]|0;k[m>>2]=b+-1;if(!((b|0)!=0?(k[n>>2]|0)!=0:0))break a;b=(ec[k[o>>2]&255](k[(k[n>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0;e=k[n>>2]|0;if(b)break;k[n>>2]=k[e>>2]}k[h>>2]=e;o=k[h>>2]|0;r=p;return o|0}while(0);k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}function Nk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=142;else k[b>>2]=143;r=c;return k[b>>2]|0}function Ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=MQ(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=FQ(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Qk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];k[d>>2]=0;if((k[c>>2]|0)<=0){g=LQ(k[e>>2]|0)|0;k[c>>2]=g}while(1){b=k[d>>2]|0;if((k[c>>2]|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0];k[c>>2]=(k[c>>2]|0)+-1}r=f;return b&2147483647|0}function Rk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=k[g>>2];while(1){g=k[c>>2]|0;k[c>>2]=g+-1;b=k[d>>2]|0;if((g|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0]}r=f;return b&2147483647|0}function Sk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;f=g+12|0;d=g+4|0;e=g;k[c>>2]=a;i[f>>0]=i[k[c>>2]>>0]|0;if((((i[f>>0]|0)!=91?(i[f>>0]|0)!=39:0)?(i[f>>0]|0)!=34:0)?(i[f>>0]|0)!=96:0){r=g;return}k[d>>2]=1;k[e>>2]=0;if((i[f>>0]|0)==91)i[f>>0]=93;while(1){if(!(i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;a=k[d>>2]|0;b=a+1|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)!=(i[f>>0]|0)){k[d>>2]=b;a=i[(k[c>>2]|0)+a>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;continue}if((i[(k[c>>2]|0)+b>>0]|0)!=(i[f>>0]|0))break;a=i[f>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;k[d>>2]=(k[d>>2]|0)+2}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;r=g;return}function Tk(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,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Pp(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function Uk(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,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Pp(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+64|0;q=u+48|0;v=u+44|0;s=u+40|0;m=u+36|0;d=u+32|0;e=u+28|0;j=u+24|0;f=u+20|0;g=u+16|0;h=u+12|0;c=u+8|0;n=u+4|0;t=u;k[v>>2]=a;k[s>>2]=b;k[m>>2]=k[v>>2];k[e>>2]=-1;k[j>>2]=-1;k[f>>2]=-1;k[g>>2]=-1;k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=5.0e6;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[n>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*12|0);b=k[n>>2]|0;b:do if(!(l[(k[n>>2]|0)+5>>0]|0)){if((l[b+4>>0]|0)==64){o=5;break a}}else{if((k[b>>2]|0)<0)b=1;else b=(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+1|0);k[c>>2]=b&1;if((k[e>>2]|0)<0?((k[c>>2]|0)!=0?(l[(k[n>>2]|0)+4>>0]|0)==2:0):0){k[(k[s>>2]|0)+20>>2]=1;p[(k[s>>2]|0)+40>>3]=1.0;k[e>>2]=k[d>>2]}if(((l[(k[n>>2]|0)+4>>0]|0)==64?(k[k[n>>2]>>2]|0)>=0:0)?(k[k[n>>2]>>2]|0)<=(k[(k[m>>2]|0)+24>>2]|0):0){k[(k[s>>2]|0)+20>>2]=2+(k[k[n>>2]>>2]|0);p[(k[s>>2]|0)+40>>3]=2.0;k[e>>2]=k[d>>2]}if((l[(k[n>>2]|0)+4>>0]|0)==2?(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+2|0):0)k[j>>2]=k[d>>2];if(k[c>>2]|0)switch(l[(k[n>>2]|0)+4>>0]|0){case 4:case 32:{k[f>>2]=k[d>>2];break b}case 16:case 8:{k[g>>2]=k[d>>2];break b}default:break b}}while(0);k[d>>2]=(k[d>>2]|0)+1}if((o|0)==5){k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=1.e+50;Np(k[s>>2]|0,0,262144);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)==1)Op(k[s>>2]|0);k[h>>2]=1;if((k[e>>2]|0)>=0){v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=v;i[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1}if((k[j>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|65536;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=v}if((k[f>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|131072;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>2]=v}if((k[g>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|262144;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=v}do if((k[(k[s>>2]|0)+8>>2]|0)==1){k[t>>2]=k[(k[s>>2]|0)+12>>2];if((k[k[t>>2]>>2]|0)>=0?(k[k[t>>2]>>2]|0)!=((k[(k[m>>2]|0)+24>>2]|0)+1|0):0)break;b=(k[s>>2]|0)+24|0;if(i[(k[t>>2]|0)+4>>0]|0)k[b>>2]=24471;else k[b>>2]=24476;k[(k[s>>2]|0)+32>>2]=1}while(0);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}function Wk(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[e>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;ge(k[(k[c>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[c>>2]|0)+240>>2]|0);Ud(k[(k[c>>2]|0)+216>>2]|0);Ud(k[(k[c>>2]|0)+220>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);bc[k[(k[k[(k[c>>2]|0)+36>>2]>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+36>>2]|0)|0;Ud(k[c>>2]|0);r=d;return 0}function Xk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;f=m;b=m+56|0;d=m+52|0;e=m+48|0;l=m+44|0;c=m+40|0;k[b>>2]=a;k[d>>2]=k[b>>2];k[e>>2]=0;k[l>>2]=k[(k[d>>2]|0)+16>>2];k[c>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[(k[d>>2]|0)+40>>2]|0)){a=k[c>>2]|0;n=k[(k[d>>2]|0)+20>>2]|0;k[f>>2]=k[l>>2];k[f+4>>2]=n;rl(e,a,24671,f)}n=k[c>>2]|0;f=k[(k[d>>2]|0)+20>>2]|0;k[i>>2]=k[l>>2];k[i+4>>2]=f;rl(e,n,24708,i);n=k[c>>2]|0;i=k[(k[d>>2]|0)+20>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=i;rl(e,n,24746,j);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[g>>2]=k[l>>2];k[g+4>>2]=j;rl(e,n,24782,g);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[h>>2]=k[l>>2];k[h+4>>2]=j;rl(e,n,24819,h);if(!(k[e>>2]|0)){n=Wk(k[b>>2]|0)|0;r=m;return n|0}else{n=k[e>>2]|0;r=m;return n|0}return 0}function Yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+12|0;f=e+4|0;c=e;k[e+8>>2]=a;k[f>>2]=b;b=Sd(96)|0;k[c>>2]=b;k[k[f>>2]>>2]=b;if(k[c>>2]|0){c=k[c>>2]|0;a=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}return 0}function Zk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ge(k[(k[c>>2]|0)+8>>2]|0)|0;kp(k[(k[c>>2]|0)+12>>2]|0);Mp(k[c>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);Dm(k[(k[c>>2]|0)+92>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function _k(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;B=D+32|0;A=D;t=D+108|0;u=D+104|0;f=D+100|0;m=D+96|0;g=D+88|0;z=D+84|0;C=D+80|0;n=D+76|0;v=D+72|0;w=D+68|0;p=D+64|0;q=D+60|0;x=D+56|0;y=D+52|0;h=D+48|0;o=D+44|0;s=D+40|0;k[u>>2]=a;k[f>>2]=b;k[m>>2]=c;k[D+92>>2]=d;k[g>>2]=e;k[z>>2]=0;k[v>>2]=k[k[u>>2]>>2];k[w>>2]=k[u>>2];k[p>>2]=0;k[q>>2]=0;k[x>>2]=0;k[y>>2]=0;k[n>>2]=k[f>>2]&65535;k[h>>2]=0;if(k[n>>2]|0){a=k[h>>2]|0;k[h>>2]=a+1;k[p>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&65536){a=k[h>>2]|0;k[h>>2]=a+1;k[q>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&131072){a=k[h>>2]|0;k[h>>2]=a+1;k[x>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&262144){a=k[h>>2]|0;k[h>>2]=a+1;k[y>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}ge(k[(k[w>>2]|0)+8>>2]|0)|0;Ud(k[(k[w>>2]|0)+44>>2]|0);Dm(k[(k[w>>2]|0)+92>>2]|0);kp(k[(k[w>>2]|0)+12>>2]|0);f=(k[u>>2]|0)+4|0;g=f+92|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a=lp(k[x>>2]|0,0,-2147483648)|0;d=(k[w>>2]|0)+72|0;k[d>>2]=a;k[d+4>>2]=L;d=lp(k[y>>2]|0,-1,2147483647)|0;a=(k[w>>2]|0)+80|0;k[a>>2]=d;k[a+4>>2]=L;if(k[m>>2]|0)i[(k[w>>2]|0)+52>>0]=(i[k[m>>2]>>0]|0)==68;else i[(k[w>>2]|0)+52>>0]=i[(k[v>>2]|0)+231>>0]|0;j[(k[w>>2]|0)+4>>1]=k[n>>2];do if((k[n>>2]|0)!=1&(k[n>>2]|0)!=0){k[o>>2]=(k[n>>2]|0)-2;m=ke(k[p>>2]|0)|0;k[s>>2]=m;if((k[s>>2]|0)==0?(pe(k[p>>2]|0)|0)!=5:0){k[t>>2]=7;C=k[t>>2]|0;r=D;return C|0}k[(k[w>>2]|0)+16>>2]=0;if(k[q>>2]|0){q=ne(k[q>>2]|0)|0;k[(k[w>>2]|0)+16>>2]=q}s=mp(k[(k[v>>2]|0)+36>>2]|0,k[(k[w>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+28>>2]|0,l[(k[v>>2]|0)+228>>0]|0,k[(k[v>>2]|0)+24>>2]|0,k[o>>2]|0,k[s>>2]|0,-1,(k[w>>2]|0)+12|0,(k[v>>2]|0)+8|0)|0;k[z>>2]=s;if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}s=np(k[w>>2]|0)|0;k[z>>2]=s;Cm(k[v>>2]|0);if(!(k[z>>2]|0)){k[(k[w>>2]|0)+40>>2]=k[(k[w>>2]|0)+44>>2];s=(k[w>>2]|0)+32|0;k[s>>2]=0;k[s+4>>2]=0;break}k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}while(0);do if(!(k[n>>2]|0)){f=k[(k[v>>2]|0)+216>>2]|0;g=k[w>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0){q=g+72|0;p=k[q>>2]|0;q=k[q+4>>2]|0;x=(k[w>>2]|0)+80|0;s=k[x>>2]|0;x=k[x+4>>2]|0;B=(l[(k[w>>2]|0)+52>>0]|0)!=0?24471:24476;k[A>>2]=f;y=A+8|0;k[y>>2]=p;k[y+4>>2]=q;y=A+16|0;k[y>>2]=s;k[y+4>>2]=x;k[A+24>>2]=B;B=Yd(24480,A)|0;k[C>>2]=B}else{A=(l[g+52>>0]|0)!=0?24471:24476;k[B>>2]=f;k[B+4>>2]=A;B=Yd(24542,B)|0;k[C>>2]=B}if(k[C>>2]|0){B=lf(k[(k[v>>2]|0)+12>>2]|0,k[C>>2]|0,-1,(k[w>>2]|0)+8|0,0)|0;k[z>>2]=B;Ud(k[C>>2]|0);break}else{k[z>>2]=7;break}}else if((k[n>>2]|0)==1?(C=Jn(k[w>>2]|0,(k[w>>2]|0)+8|0)|0,k[z>>2]=C,(k[z>>2]|0)==0):0){C=Ze(k[(k[w>>2]|0)+8>>2]|0,1,k[p>>2]|0)|0;k[z>>2]=C}while(0);if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}else{C=$k(k[u>>2]|0)|0;k[t>>2]=C;C=k[t>>2]|0;r=D;return C|0}return 0}function $k(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if((j[(k[c>>2]|0)+4>>1]|0)!=1?(j[(k[c>>2]|0)+4>>1]|0)!=0:0){c=jp(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}a=100!=(Ee(k[(k[c>>2]|0)+8>>2]|0)|0);b=k[c>>2]|0;if(a){i[b+6>>0]=1;c=he(k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}else{a=Oe(k[b+8>>2]|0,0)|0;c=(k[c>>2]|0)+32|0;k[c>>2]=a;k[c+4>>2]=L;k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}return 0}function al(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+6>>0]|0|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;h=j+8|0;g=j+4|0;f=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[i>>2]=0;k[h>>2]=k[l>>2];k[g>>2]=k[k[l>>2]>>2];if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+1|0)){l=(k[h>>2]|0)+32|0;ve(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==(k[(k[g>>2]|0)+24>>2]|0)){qe(k[d>>2]|0,h,4,-1);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)?(k[(k[h>>2]|0)+12>>2]|0)!=0:0){l=k[(k[h>>2]|0)+16>>2]|0;ve(k[d>>2]|0,l,((l|0)<0)<<31>>31);l=k[i>>2]|0;r=j;return l|0}l=xn(0,k[h>>2]|0)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)){k[f>>2]=0;if(k[(k[g>>2]|0)+44>>2]|0){l=Ne(k[(k[h>>2]|0)+8>>2]|0,(k[(k[g>>2]|0)+24>>2]|0)+1|0)|0;k[f>>2]=l}ue(k[d>>2]|0,k[f>>2]|0);l=k[i>>2]|0;r=j;return l|0}else{l=Je(k[(k[h>>2]|0)+8>>2]|0)|0;if((l|0)<=((k[e>>2]|0)+1|0)){l=k[i>>2]|0;r=j;return l|0}l=k[d>>2]|0;ze(l,Qe(k[(k[h>>2]|0)+8>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[i>>2]|0;r=j;return l|0}return 0}function cl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+32|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=Ko(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return a|0}function el(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[(k[c>>2]|0)+52>>2]=0;a=pl(k[c>>2]|0)|0;r=b;return a|0}function fl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f+20|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[g>>2]=a;k[f+16>>2]=64;k[d>>2]=k[g>>2];a=ql(k[d>>2]|0)|0;k[e>>2]=a;if(((((k[e>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)>>>0>4:0)?(k[(k[d>>2]|0)+48>>2]|0)!=0:0)?(k[(k[d>>2]|0)+48>>2]|0)!=255:0)?(k[c>>2]=0,g=jo(k[d>>2]|0,c)|0,k[e>>2]=g,g=ha(k[(k[d>>2]|0)+52>>2]|0,k[c>>2]|0)|0,k[b>>2]=g,k[b>>2]=(k[b>>2]|0)+((k[b>>2]|0)/2|0),(k[b>>2]|0)>64):0){g=ko(k[d>>2]|0,k[b>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0;k[e>>2]=g}Cm(k[d>>2]|0);r=f;return k[e>>2]|0}function gl(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function hl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];nl(k[c>>2]|0);r=b;return 0}function il(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+80|0;h=l+64|0;m=l+60|0;f=l+48|0;i=l+44|0;j=l+8|0;g=l;k[m>>2]=d;d=k[m>>2]|0;k[l+56>>2]=a;k[l+52>>2]=b;k[f>>2]=c;k[i>>2]=d;k[l+40>>2]=e;k[j>>2]=k[509];k[j+4>>2]=k[510];k[j+8>>2]=k[511];k[j+12>>2]=k[512];k[j+16>>2]=k[513];k[j+20>>2]=k[514];k[j+24>>2]=k[515];k[j+28>>2]=k[516];k[g>>2]=0;while(1){if((k[g>>2]|0)>=4){b=6;break}m=(IQ(k[f>>2]|0,k[j+(k[g>>2]<<3)>>2]|0)|0)==0;a=k[g>>2]|0;if(m){b=4;break}k[g>>2]=a+1}if((b|0)==4){k[k[i>>2]>>2]=k[j+(a<<3)+4>>2];k[h>>2]=1;m=k[h>>2]|0;r=l;return m|0}else if((b|0)==6){k[h>>2]=0;m=k[h>>2]|0;r=l;return m|0}return 0}function jl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+96|0;j=n+64|0;h=n+48|0;m=n+32|0;l=n+16|0;g=n;o=n+92|0;c=n+88|0;e=n+84|0;d=n+80|0;f=n+76|0;k[o>>2]=a;k[c>>2]=b;k[e>>2]=k[o>>2];k[d>>2]=k[(k[e>>2]|0)+12>>2];b=pl(k[e>>2]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){o=ql(k[e>>2]|0)|0;k[f>>2]=o}if(!(k[(k[e>>2]|0)+40>>2]|0)){o=k[d>>2]|0;a=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[g>>2]=k[(k[e>>2]|0)+16>>2];k[g+4>>2]=a;k[g+8>>2]=b;rl(f,o,21478,g)}if(i[(k[e>>2]|0)+230>>0]|0){o=k[d>>2]|0;g=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[l>>2]=k[(k[e>>2]|0)+16>>2];k[l+4>>2]=g;k[l+8>>2]=b;rl(f,o,21531,l)}if(i[(k[e>>2]|0)+229>>0]|0){o=k[d>>2]|0;l=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[m>>2]=k[(k[e>>2]|0)+16>>2];k[m+4>>2]=l;k[m+8>>2]=b;rl(f,o,21584,m)}o=k[d>>2]|0;b=k[(k[e>>2]|0)+20>>2]|0;m=k[c>>2]|0;k[h>>2]=k[(k[e>>2]|0)+16>>2];k[h+4>>2]=b;k[h+8>>2]=m;rl(f,o,21631,h);o=k[d>>2]|0;m=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[j>>2]=k[(k[e>>2]|0)+16>>2];k[j+4>>2]=m;k[j+8>>2]=b;rl(f,o,21685,j);r=n;return k[f>>2]|0}function kl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;k[e+4>>2]=b;k[d>>2]=0;if(l[(k[c>>2]|0)+232>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=fl(k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function ll(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function ml(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];nl(k[d>>2]|0);r=c;return 0}function nl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+248>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+252>>2]|0)+((k[c>>2]|0)*24|0)+4;k[d>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];ol(k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}tk(k[e>>2]|0);k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+260>>2]=0;r=g;return}function ol(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function pl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j;b=j+28|0;e=j+24|0;g=j+20|0;h=j+16|0;d=j+12|0;c=j+8|0;k[b>>2]=a;k[e>>2]=0;if((l[(k[b>>2]|0)+229>>0]|0|0)!=2){h=k[e>>2]|0;r=j;return h|0}k[g>>2]=24028;g=k[g>>2]|0;a=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=a;g=Yd(g,f)|0;k[h>>2]=g;if(!(k[h>>2]|0)){k[e>>2]=7;h=k[e>>2]|0;r=j;return h|0}k[d>>2]=0;g=lf(k[(k[b>>2]|0)+12>>2]|0,k[h>>2]|0,-1,d,0)|0;k[e>>2]=g;if((k[e>>2]|0)==0?(g=(Ee(k[d>>2]|0)|0)==100&1,k[c>>2]=g,g=ge(k[d>>2]|0)|0,k[e>>2]=g,(k[e>>2]|0)==0):0)i[(k[b>>2]|0)+229>>0]=k[c>>2];Ud(k[h>>2]|0);h=k[e>>2]|0;r=j;return h|0}function ql(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[f>>2]=0;k[d>>2]=0;while(1){if(!(k[f>>2]|0))a=(k[d>>2]|0)<(k[(k[c>>2]|0)+248>>2]|0);else a=0;b=k[c>>2]|0;if(!a)break;b=sl(b,k[(k[c>>2]|0)+272>>2]|0,k[d>>2]|0,-1)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==101?0:b;k[d>>2]=(k[d>>2]|0)+1}nl(b);if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}if(!(l[(k[c>>2]|0)+229>>0]|0)){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+48>>2]|0)!=255){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+52>>2]|0)>>>0<=0){f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;d=tl(k[c>>2]|0,22,e,0)|0;k[f>>2]=d;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}Ve(k[e>>2]|0,1,2)|0;d=Ee(k[e>>2]|0)|0;k[f>>2]=d;if((k[f>>2]|0)==100){d=Ne(k[e>>2]|0,0)|0;k[(k[c>>2]|0)+48>>2]=d;if((k[(k[c>>2]|0)+48>>2]|0)==1)k[(k[c>>2]|0)+48>>2]=8}else if((k[f>>2]|0)==101)k[(k[c>>2]|0)+48>>2]=0;e=he(k[e>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}function rl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;e=j+32|0;f=j+28|0;g=j+24|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=j;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[k[e>>2]>>2]=7;r=j;return}else{c=kf(k[f>>2]|0,k[i>>2]|0,0,0,0)|0;k[k[e>>2]>>2]=c;Ud(k[i>>2]|0);r=j;return}}function sl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+128|0;e=s+120|0;f=s+116|0;g=s+112|0;h=s+108|0;q=s+104|0;m=s+100|0;o=s+8|0;p=s+96|0;l=s+80|0;j=s+24|0;i=s+16|0;n=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=0;a=o;k[a>>2]=0;k[a+4>>2]=0;k[p>>2]=0;k[i>>2]=0;a=n;k[a>>2]=0;k[a+4>>2]=0;a=ul(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0,1,0,j)|0;k[q>>2]=a;a:do if((k[q>>2]|0)==0?(k[j+4>>2]|0)!=0:0){if((k[h>>2]|0)!=-1?(a=vl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,n)|0,k[q>>2]=a,(k[q>>2]|0)!=0):0)break;do if((k[h>>2]|0)==-2)if((k[j+4>>2]|0)==1){k[q>>2]=101;break a}else{b=n;d=k[b+4>>2]|0;a=o;k[a>>2]=k[b>>2];k[a+4>>2]=d;k[i>>2]=1;break}else{d=wl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0)|0;a=o;k[a>>2]=d;k[a+4>>2]=L;a=xl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0,m)|0;k[q>>2]=a;if((k[h>>2]|0)!=-1){a=o;b=k[a+4>>2]|0;c=n;d=k[c+4>>2]|0;c=(b|0)>(d|0)|((b|0)==(d|0)?(k[a>>2]|0)>>>0>(k[c>>2]|0)>>>0:0)}else c=0;k[i>>2]=c&1}while(0);if(!(k[q>>2]|0)){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+12>>2]=1;a=l+12|0;k[a>>2]=k[a>>2]|((k[i>>2]|0)!=0?2:0);l=yl(k[e>>2]|0,j,l)|0;k[q>>2]=l;while(1){if(k[q>>2]|0)break;l=zl(k[e>>2]|0,j)|0;k[q>>2]=l;if((k[q>>2]|0)!=100)break;l=Al(k[e>>2]|0,p,1,k[j+40>>2]|0,k[j+44>>2]|0,k[j+48>>2]|0,k[j+52>>2]|0)|0;k[q>>2]=l}if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1){l=Bl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[q>>2]=l;if(!((k[q>>2]|0)==0&(k[p>>2]|0)!=0))break}else if(!(k[p>>2]|0))break;l=o;m=Cl(k[e>>2]|0,k[p>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0)|0;k[q>>2]=m;if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1?(m=o,i=k[m+4>>2]|0,n,l=k[n+4>>2]|0,!((i|0)<(l|0)|((i|0)==(l|0)?(k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0:0))):0)break;n=o;o=(k[p>>2]|0)+56|0;o=Dl(k[e>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[q>>2]=o}}}}while(0);El(k[p>>2]|0);Fl(j);r=s;return k[q>>2]|0}function tl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+240|0;n=t+24|0;m=t+16|0;f=t;g=t+228|0;h=t+224|0;p=t+220|0;i=t+216|0;e=t+56|0;s=t+48|0;q=t+44|0;o=t+40|0;j=t+36|0;l=t+32|0;k[g>>2]=a;k[h>>2]=b;k[p>>2]=c;k[i>>2]=d;sR(e|0,1876,160)|0;k[s>>2]=0;k[q>>2]=k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2];do if(!(k[q>>2]|0)){a=k[h>>2]|0;do if((k[h>>2]|0)!=18){d=k[e+(k[h>>2]<<2)>>2]|0;b=k[g>>2]|0;if((a|0)==7){k[m>>2]=k[b+216>>2];n=Yd(d,m)|0;k[o>>2]=n;break}else{m=k[(k[g>>2]|0)+20>>2]|0;k[n>>2]=k[b+16>>2];k[n+4>>2]=m;n=Yd(d,n)|0;k[o>>2]=n;break}}else{n=k[e+(a<<2)>>2]|0;e=k[(k[g>>2]|0)+20>>2]|0;m=k[(k[g>>2]|0)+220>>2]|0;k[f>>2]=k[(k[g>>2]|0)+16>>2];k[f+4>>2]=e;k[f+8>>2]=m;n=Yd(n,f)|0;k[o>>2]=n}while(0);if(k[o>>2]|0){n=lf(k[(k[g>>2]|0)+12>>2]|0,k[o>>2]|0,-1,q,0)|0;k[s>>2]=n;Ud(k[o>>2]|0);k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2]=k[q>>2];break}else{k[s>>2]=7;break}}while(0);if(!(k[i>>2]|0)){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}o=$e(k[q>>2]|0)|0;k[l>>2]=o;k[j>>2]=0;while(1){if(k[s>>2]|0){d=15;break}if((k[j>>2]|0)>=(k[l>>2]|0)){d=15;break}o=Ze(k[q>>2]|0,(k[j>>2]|0)+1|0,k[(k[i>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[s>>2]=o;k[j>>2]=(k[j>>2]|0)+1}if((d|0)==15){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}return 0}function ul(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;j=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;s=u+4|0;t=u;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;c=k[t>>2]|0;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));t=nm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;r=u;return t|0}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;d=tl(k[f>>2]|0,15,j,0)|0;k[l>>2]=d;if(k[l>>2]|0){k[e>>2]=k[l>>2];l=k[e>>2]|0;r=m;return l|0}l=k[j>>2]|0;d=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;We(l,1,d,L)|0;d=k[j>>2]|0;l=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;We(d,2,l,L)|0;if(100==(Ee(k[j>>2]|0)|0)){d=Oe(k[j>>2]|0,0)|0;l=k[i>>2]|0;k[l>>2]=d;k[l+4>>2]=L}l=he(k[j>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=m;return l|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;i=e+20|0;j=e+16|0;h=e+12|0;f=e+8|0;g=e;k[i>>2]=a;k[j>>2]=b;k[h>>2]=c;k[f>>2]=d;a=k[j>>2]|0;d=k[(k[i>>2]|0)+248>>2]|0;d=BR(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;a=k[h>>2]|0;a=qR(d|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;a=BR(a|0,L|0,1024,0)|0;d=g;k[d>>2]=a;k[d+4>>2]=L;d=g;a=k[f>>2]|0;a=qR(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;r=e;return a|0}function xl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;e=tl(k[f>>2]|0,8,m,0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){a=k[m>>2]|0;e=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;We(a,1,e,L)|0;if(100==(Ee(k[m>>2]|0)|0)){e=Ne(k[m>>2]|0,0)|0;k[l>>2]=e}e=he(k[m>>2]|0)|0;k[n>>2]=e}if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[l>>2]|0)>=16){e=sl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[n>>2]=e;k[k[j>>2]>>2]=0;n=k[n>>2]|0;r=o;return n|0}else{k[k[j>>2]>>2]=k[l>>2];n=k[n>>2]|0;r=o;return n|0}return 0}function yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[f>>2]|0)+12>>2]=k[e>>2];c=lm(k[g>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;r=d;return c|0}function zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+128|0;c=J+120|0;d=J+116|0;e=J+112|0;G=J+108|0;s=J+104|0;u=J+100|0;p=J+96|0;t=J+92|0;v=J+88|0;q=J+84|0;h=J+80|0;B=J+76|0;D=J+72|0;H=J+68|0;A=J+64|0;j=J+60|0;F=J+56|0;y=J+52|0;o=J+16|0;w=J+48|0;E=J+44|0;z=J+40|0;x=J+36|0;n=J+8|0;m=J;g=J+32|0;f=J+28|0;C=J+24|0;k[d>>2]=a;k[e>>2]=b;k[G>>2]=0;k[s>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&2;k[u>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&1;k[p>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&4;k[t>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&8;k[v>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&16;k[q>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&32;k[h>>2]=k[k[e>>2]>>2];k[B>>2]=k[(k[e>>2]|0)+4>>2];k[D>>2]=k[(k[e>>2]|0)+12>>2];k[H>>2]=(l[(k[d>>2]|0)+231>>0]|0)!=0?182:183;if(!(k[(k[e>>2]|0)+4>>2]|0)){k[c>>2]=0;I=k[c>>2]|0;r=J;return I|0}a:while(1){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;k[F>>2]=k[(k[h>>2]|0)+(k[j>>2]<<2)>>2];if(i[(k[F>>2]|0)+4>>0]|0)Ul(k[F>>2]|0);else{b=Vl(k[d>>2]|0,k[F>>2]|0,0)|0;k[G>>2]=b}if(k[G>>2]|0){I=9;break a}k[j>>2]=(k[j>>2]|0)+1}Xl(k[h>>2]|0,k[B>>2]|0,k[(k[e>>2]|0)+8>>2]|0,184);k[(k[e>>2]|0)+8>>2]=0;if(!(k[(k[k[h>>2]>>2]|0)+40>>2]|0)){I=61;break}k[(k[e>>2]|0)+44>>2]=k[(k[k[h>>2]>>2]|0)+60>>2];k[(k[e>>2]|0)+40>>2]=k[(k[k[h>>2]>>2]|0)+64>>2];if(!((k[v>>2]|0)!=0?1:(k[k[D>>2]>>2]|0)==0)){if((k[(k[e>>2]|0)+44>>2]|0)<(k[(k[D>>2]|0)+4>>2]|0)){I=61;break}if((k[t>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)>(k[(k[D>>2]|0)+4>>2]|0):0){I=61;break}if(FQ(k[(k[e>>2]|0)+40>>2]|0,k[k[D>>2]>>2]|0,k[(k[D>>2]|0)+4>>2]|0)|0){I=61;break}}k[A>>2]=1;while(1){if(((k[A>>2]|0)<(k[B>>2]|0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+60>>2]|0)==(k[(k[e>>2]|0)+44>>2]|0):0)b=0==(FQ(k[(k[e>>2]|0)+40>>2]|0,k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+64>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0);else b=0;a=k[A>>2]|0;if(!b)break;k[A>>2]=a+1}do if(!((a|0)!=1|(k[s>>2]|0)!=0|(k[q>>2]|0)!=0)){if((l[(k[d>>2]|0)+231>>0]|0)!=0?((k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){I=32;break}k[(k[e>>2]|0)+52>>2]=k[(k[k[h>>2]>>2]|0)+76>>2];if(k[(k[k[h>>2]>>2]|0)+56>>2]|0){b=Yl(k[e>>2]|0,k[(k[k[h>>2]>>2]|0)+72>>2]|0,k[(k[e>>2]|0)+52>>2]|0)|0;k[G>>2]=b;k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2]}else k[(k[e>>2]|0)+48>>2]=k[(k[k[h>>2]>>2]|0)+72>>2];if(!(k[G>>2]|0))k[G>>2]=100}else I=32;while(0);if((I|0)==32){I=0;k[y>>2]=0;b=o;k[b>>2]=0;k[b+4>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[A>>2]|0))break;Zl(k[d>>2]|0,k[(k[h>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+1}Xl(k[h>>2]|0,k[A>>2]|0,k[A>>2]|0,k[H>>2]|0);while(1){if(!(k[(k[k[h>>2]>>2]|0)+80>>2]|0))break;k[E>>2]=0;k[z>>2]=0;K=(k[k[h>>2]>>2]|0)+88|0;a=k[K+4>>2]|0;b=n;k[b>>2]=k[K>>2];k[b+4>>2]=a;_l(k[d>>2]|0,k[k[h>>2]>>2]|0,E,z)|0;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[A>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+80>>2]|0))break;b=(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+88|0;K=n;if(!((k[b>>2]|0)==(k[K>>2]|0)?(k[b+4>>2]|0)==(k[K+4>>2]|0):0))break;_l(k[d>>2]|0,k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0)$l(k[(k[D>>2]|0)+8>>2]|0,0,E,z);do if((k[s>>2]|0)==0|(k[z>>2]|0)>0){if((k[y>>2]|0)>0?(l[(k[d>>2]|0)+231>>0]|0)!=0:0){K=o;b=n;b=pR(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}else{K=n;b=o;b=pR(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}K=m;K=Nl(k[K>>2]|0,k[K+4>>2]|0)|0;k[x>>2]=K+((k[u>>2]|0)!=0?(k[z>>2]|0)+1|0:0);if(((k[y>>2]|0)+(k[x>>2]|0)|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=(k[y>>2]|0)+(k[x>>2]|0)<<1;K=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[g>>2]=K;if(!(k[g>>2]|0)){I=50;break a}k[(k[e>>2]|0)+16>>2]=k[g>>2]}a=(k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0;if(k[q>>2]|0){k[f>>2]=a;K=m;K=am(k[K>>2]|0,k[K+4>>2]|0,k[E>>2]|0,k[z>>2]|0,k[f>>2]|0)|0;k[C>>2]=K;if(!(k[C>>2]|0))break;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;k[y>>2]=(k[y>>2]|0)+(k[C>>2]|0);break}else{b=m;a=Ol(a,k[b>>2]|0,k[b+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+a;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;if(!(k[u>>2]|0))break;sR((k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0,k[E>>2]|0,k[z>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+(k[z>>2]|0);K=k[y>>2]|0;k[y>>2]=K+1;i[(k[(k[e>>2]|0)+16>>2]|0)+K>>0]=0;break}}while(0);Xl(k[h>>2]|0,k[A>>2]|0,k[w>>2]|0,k[H>>2]|0)}if((k[y>>2]|0)>0){k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2];k[(k[e>>2]|0)+52>>2]=k[y>>2];k[G>>2]=100}}k[(k[e>>2]|0)+8>>2]=k[A>>2];if(k[G>>2]|0){I=61;break}}if((I|0)==9){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}else if((I|0)==50){k[c>>2]=7;K=k[c>>2]|0;r=J;return K|0}else if((I|0)==61){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}return 0}function Al(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+68|0;i=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;o=B+44|0;p=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;q=B+4|0;A=B;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[x>>2]=k[k[j>>2]>>2];if(!(k[x>>2]|0)){d=Sd(64)|0;k[x>>2]=d;if(!(k[x>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}f=k[x>>2]|0;c=f+64|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(c|0));k[k[j>>2]>>2]=k[x>>2];j=Sd(k[(k[i>>2]|0)+224>>2]|0)|0;k[(k[x>>2]|0)+48>>2]=j;if(!(k[(k[x>>2]|0)+48>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+40>>2]=k[(k[i>>2]|0)+224>>2];j=tl(k[i>>2]|0,10,w,0)|0;k[y>>2]=j;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}if(100==(Ee(k[w>>2]|0)|0)){d=Oe(k[w>>2]|0,0)|0;b=(k[x>>2]|0)+16|0;k[b>>2]=d;k[b+4>>2]=L;b=(k[x>>2]|0)+16|0;d=k[b+4>>2]|0;j=(k[x>>2]|0)+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=d}w=he(k[w>>2]|0)|0;k[y>>2]=w;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}}k[s>>2]=k[(k[x>>2]|0)+44>>2];y=Ql(k[(k[x>>2]|0)+24>>2]|0,k[(k[x>>2]|0)+28>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[t>>2]=y;k[v>>2]=(k[n>>2]|0)-(k[t>>2]|0);y=k[t>>2]|0;y=Nl(y,((y|0)<0)<<31>>31)|0;w=k[v>>2]|0;w=y+(Nl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(k[v>>2]|0)|0;y=k[p>>2]|0;y=w+(Nl(y,((y|0)<0)<<31>>31)|0)|0;k[u>>2]=y+(k[p>>2]|0);do if((k[s>>2]|0)>0?((k[s>>2]|0)+(k[u>>2]|0)|0)>(k[(k[i>>2]|0)+224>>2]|0):0){j=k[i>>2]|0;d=(k[x>>2]|0)+16|0;y=d;w=k[y>>2]|0;y=k[y+4>>2]|0;b=qR(w|0,y|0,1,0)|0;k[d>>2]=b;k[d+4>>2]=L;y=Jl(j,w,y,k[(k[x>>2]|0)+48>>2]|0,k[s>>2]|0)|0;k[z>>2]=y;if(k[z>>2]|0){k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}y=(k[i>>2]|0)+52|0;k[y>>2]=(k[y>>2]|0)+1;y=Rl(k[i>>2]|0,k[x>>2]|0,k[l>>2]|0,k[m>>2]|0,(k[t>>2]|0)+1|0)|0;k[z>>2]=y;if(!(k[z>>2]|0)){k[s>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[t>>2]=0;k[v>>2]=k[n>>2];y=k[n>>2]|0;y=1+(Nl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(k[n>>2]|0)|0;z=k[p>>2]|0;z=y+(Nl(z,((z|0)<0)<<31>>31)|0)|0;k[u>>2]=z+(k[p>>2]|0);break}k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}while(0);y=k[u>>2]|0;z=(k[x>>2]|0)+56|0;w=z;y=qR(k[w>>2]|0,k[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;k[z>>2]=y;k[z+4>>2]=L;do if((k[u>>2]|0)>(k[(k[x>>2]|0)+40>>2]|0)){z=Vd(k[(k[x>>2]|0)+48>>2]|0,k[u>>2]|0)|0;k[q>>2]=z;if(k[q>>2]|0){k[(k[x>>2]|0)+48>>2]=k[q>>2];k[(k[x>>2]|0)+40>>2]=k[u>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);z=k[t>>2]|0;z=Ol((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;z=k[v>>2]|0;z=Ol((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;sR((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,(k[m>>2]|0)+(k[t>>2]|0)|0,k[v>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[v>>2]|0);z=k[p>>2]|0;z=Ol((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;sR((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;k[(k[x>>2]|0)+44>>2]=(k[s>>2]|0)+(k[p>>2]|0);if(k[l>>2]|0){do if((k[n>>2]|0)>(k[(k[x>>2]|0)+32>>2]|0)){z=Vd(k[(k[x>>2]|0)+36>>2]|0,k[n>>2]<<1)|0;k[A>>2]=z;if(k[A>>2]|0){k[(k[x>>2]|0)+32>>2]=k[n>>2]<<1;k[(k[x>>2]|0)+36>>2]=k[A>>2];k[(k[x>>2]|0)+24>>2]=k[A>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);sR(k[(k[x>>2]|0)+24>>2]|0,k[m>>2]|0,k[n>>2]|0)|0}else k[(k[x>>2]|0)+24>>2]=k[m>>2];k[(k[x>>2]|0)+28>>2]=k[n>>2];k[h>>2]=0;A=k[h>>2]|0;r=B;return A|0}function Bl(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;g=s+16|0;h=s+12|0;q=s+8|0;i=s+4|0;p=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[q>>2]=0;k[p>>2]=0;k[i>>2]=0;while(1){if(k[q>>2]|0)break;if((k[i>>2]|0)>=(k[h>>2]|0))break;a=Pl(k[l>>2]|0,k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[q>>2]=a;k[i>>2]=(k[i>>2]|0)+1}if(k[q>>2]|0){k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}g=k[l>>2]|0;if((k[o>>2]|0)==-2){o=tl(g,26,p,0)|0;k[q>>2]=o;if(!(k[q>>2]|0)){o=k[p>>2]|0;a=wl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,0)|0;We(o,1,a,L)|0;a=k[p>>2]|0;o=wl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,1023)|0;We(a,2,o,L)|0}}else{a=tl(g,16,p,0)|0;k[q>>2]=a;if(!(k[q>>2]|0)){a=k[p>>2]|0;o=wl(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;We(a,1,o,L)|0}}if(!(k[q>>2]|0)){Ee(k[p>>2]|0)|0;p=he(k[p>>2]|0)|0;k[q>>2]=p}k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}function Cl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+44|0;g=p+40|0;h=p+16|0;i=p+36|0;n=p+32|0;j=p+8|0;l=p;o=p+28|0;m=p+24|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;if(!(k[k[g>>2]>>2]|0)){b=h;o=(k[g>>2]|0)+56|0;o=Ll(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[i>>2]|0,0,0,0,0,0,0,k[o>>2]|0,k[o+4>>2]|0,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}b=j;k[b>>2]=0;k[b+4>>2]=0;k[o>>2]=0;k[m>>2]=0;b=(k[g>>2]|0)+16|0;d=k[b+4>>2]|0;e=l;k[e>>2]=k[b>>2];k[e+4>>2]=d;e=k[f>>2]|0;d=(k[g>>2]|0)+16|0;b=d;a=k[b>>2]|0;b=k[b+4>>2]|0;c=qR(a|0,b|0,1,0)|0;k[d>>2]=c;k[d+4>>2]=L;b=Jl(e,a,b,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){a=(k[g>>2]|0)+8|0;b=(k[g>>2]|0)+16|0;b=Kl(k[f>>2]|0,k[k[g>>2]>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,j,o,m)|0;k[n>>2]=b}if(k[n>>2]|0){o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}e=(k[g>>2]|0)+8|0;a=j;b=(k[g>>2]|0)+56|0;o=Ll(k[f>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[i>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[o>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}function Dl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;f=v+72|0;g=v+40|0;h=v+32|0;t=v+68|0;p=v+64|0;i=v+60|0;m=v+24|0;n=v+16|0;o=v+8|0;j=v;l=v+56|0;q=v+52|0;s=v+48|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=0;a=tl(k[f>>2]|0,37,p,0)|0;k[t>>2]=a;if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}k[i>>2]=0;e=g;e=zR(k[e>>2]|0,k[e+4>>2]|0,1024,0)|0;e=qR(e|0,L|0,1,0)|0;e=BR(e|0,L|0,1024,0)|0;e=pR(e|0,L|0,1,0)|0;a=m;k[a>>2]=e;k[a+4>>2]=L;a=h;a=BR(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;a=zR(a|0,L|0,2,0)|0;h=n;k[h>>2]=a;k[h+4>>2]=L;h=k[p>>2]|0;a=g;a=qR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;We(h,1,a,L)|0;a=m;We(k[p>>2]|0,2,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(Ee(k[p>>2]|0)|0))break;a=o;k[a>>2]=0;k[a+4>>2]=0;Il(k[p>>2]|0,2,j,o);a=o;m=k[a+4>>2]|0;if((m|0)<0|(m|0)==0&(k[a>>2]|0)>>>0<=0){u=6;break}m=o;e=k[m+4>>2]|0;a=n;h=k[a+4>>2]|0;if((e|0)>(h|0)|((e|0)==(h|0)?(k[m>>2]|0)>>>0>(k[a>>2]|0)>>>0:0)){u=6;break}k[i>>2]=1}if((u|0)==6)k[i>>2]=0;u=he(k[p>>2]|0)|0;k[t>>2]=u;if(!(k[i>>2]|0)){u=k[t>>2]|0;r=v;return u|0}k[l>>2]=0;k[q>>2]=0;k[s>>2]=0;if(!(k[t>>2]|0)){u=tl(k[f>>2]|0,38,q,0)|0;k[t>>2]=u}if(!(k[t>>2]|0)){u=tl(k[f>>2]|0,39,s,0)|0;k[t>>2]=u}a:do if(!(k[t>>2]|0)){u=g;We(k[p>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;do{if(100!=(Ee(k[p>>2]|0)|0))break a;a=k[q>>2]|0;u=k[l>>2]|0;k[l>>2]=u+1;Ve(a,1,u)|0;u=k[q>>2]|0;Ve(u,2,Ne(k[p>>2]|0,0)|0)|0;u=k[q>>2]|0;Ve(u,3,Ne(k[p>>2]|0,1)|0)|0;Ee(k[q>>2]|0)|0;u=he(k[q>>2]|0)|0;k[t>>2]=u}while((k[t>>2]|0)==0);he(k[p>>2]|0)|0}while(0);if(!(k[t>>2]|0)){u=he(k[p>>2]|0)|0;k[t>>2]=u}if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}u=g;We(k[s>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;Ee(k[s>>2]|0)|0;u=he(k[s>>2]|0)|0;k[t>>2]=u;u=k[t>>2]|0;r=v;return u|0}function El(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);Hl(k[k[b>>2]>>2]|0);Ud(k[b>>2]|0);r=c;return}function Fl(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;Gl(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}Ud(k[k[b>>2]>>2]|0);Ud(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;k[(k[b>>2]|0)+16>>2]=0;r=d;return}function Gl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=c;return}if(!(k[(k[b>>2]|0)+56>>2]|0))Ud(k[(k[b>>2]|0)+64>>2]|0);if(!(l[(k[b>>2]|0)+5>>0]|0))Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;a=k[b>>2]|0;Ud(a);r=c;return}function Hl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}k[c>>2]=k[(k[b>>2]|0)+8>>2];Hl(k[k[c>>2]>>2]|0);while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+4>>2];if((k[(k[c>>2]|0)+36>>2]|0)!=((k[c>>2]|0)+40|0))Ud(k[(k[c>>2]|0)+36>>2]|0);Ud(k[(k[c>>2]|0)+28>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}r=e;return}function Il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;g=m+12|0;h=m+8|0;i=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;d=Pe(k[o>>2]|0,k[n>>2]|0)|0;k[j>>2]=d;if(!(k[j>>2]|0)){r=m;return}k[h>>2]=1;o=i;k[o>>2]=0;k[o+4>>2]=0;k[g>>2]=0;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=BR(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=qR(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}o=k[e>>2]|0;k[o>>2]=a;k[o+4>>2]=c;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)!=32)break;k[g>>2]=(k[g>>2]|0)+1}o=i;k[o>>2]=0;k[o+4>>2]=0;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)==45){k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=-1}while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=BR(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=qR(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}n=k[h>>2]|0;n=BR(a|0,c|0,n|0,((n|0)<0)<<31>>31|0)|0;o=k[f>>2]|0;k[o>>2]=n;k[o+4>>2]=L;r=m;return}function Jl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[m>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=e;d=tl(k[m>>2]|0,9,i,0)|0;k[j>>2]=d;if(k[j>>2]|0){m=k[j>>2]|0;r=l;return m|0}m=f;We(k[i>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;Te(k[i>>2]|0,2,k[g>>2]|0,k[h>>2]|0,0)|0;Ee(k[i>>2]|0)|0;m=he(k[i>>2]|0)|0;k[j>>2]=m;m=k[j>>2]|0;r=l;return m|0}function Kl(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;n=B+72|0;o=B+68|0;p=B+64|0;q=B+24|0;s=B+16|0;t=B+60|0;l=B+56|0;m=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;b=q;k[b>>2]=d;k[b+4>>2]=e;b=s;k[b>>2]=f;k[b+4>>2]=g;k[t>>2]=h;k[l>>2]=i;k[m>>2]=j;k[A>>2]=0;if(!(k[k[o>>2]>>2]|0)){h=q;h=Ml(k[o>>2]|0,k[p>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;h=s;h=pR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=k[t>>2]|0;k[j>>2]=h;k[j+4>>2]=L;k[k[m>>2]>>2]=(k[(k[o>>2]|0)+32>>2]|0)-(k[w>>2]|0);k[k[l>>2]>>2]=(k[(k[o>>2]|0)+36>>2]|0)+(k[w>>2]|0);A=k[A>>2]|0;r=B;return A|0}j=s;h=k[j+4>>2]|0;i=u;k[i>>2]=k[j>>2];k[i+4>>2]=h;i=q;h=k[i+4>>2]|0;j=v;k[j>>2]=k[i>>2];k[j+4>>2]=h;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0?(k[A>>2]|0)==0:0))break;j=v;j=Ml(k[z>>2]|0,k[p>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[x>>2]=j;k[y>>2]=(k[(k[z>>2]|0)+32>>2]|0)-(k[x>>2]|0);j=u;j=Jl(k[n>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[(k[z>>2]|0)+36>>2]|0)+(k[x>>2]|0)|0,k[y>>2]|0)|0;k[A>>2]=j;j=u;j=qR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;h=u;k[h>>2]=j;k[h+4>>2]=L;h=(k[(k[z>>2]|0)+12>>2]|0)+1|0;j=v;h=qR(k[j>>2]|0,k[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=v;k[j>>2]=h;k[j+4>>2]=L;k[z>>2]=k[(k[z>>2]|0)+4>>2]}if(k[A>>2]|0){A=k[A>>2]|0;r=B;return A|0}h=s;j=u;j=Kl(k[n>>2]|0,k[k[o>>2]>>2]|0,(k[p>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0,k[t>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[A>>2]=j;A=k[A>>2]|0;r=B;return A|0}function Ll(a,b,c,d,e,f,g,h,i,j,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;B=D+40|0;p=D+84|0;E=D+80|0;q=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;k[E>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[s>>2]=d;a=t;k[a>>2]=e;k[a+4>>2]=f;a=u;k[a>>2]=g;k[a+4>>2]=h;a=v;k[a>>2]=i;k[a+4>>2]=j;a=w;k[a>>2]=l;k[a+4>>2]=m;k[x>>2]=n;k[y>>2]=o;n=tl(k[E>>2]|0,11,z,0)|0;k[A>>2]=n;if(!(k[A>>2]|0)){E=q;We(k[z>>2]|0,1,k[E>>2]|0,k[E+4>>2]|0)|0;Ve(k[z>>2]|0,2,k[s>>2]|0)|0;E=t;We(k[z>>2]|0,3,k[E>>2]|0,k[E+4>>2]|0)|0;E=u;We(k[z>>2]|0,4,k[E>>2]|0,k[E+4>>2]|0)|0;E=w;do if((k[E>>2]|0)==0&(k[E+4>>2]|0)==0){E=v;We(k[z>>2]|0,5,k[E>>2]|0,k[E+4>>2]|0)|0}else{d=v;o=k[d+4>>2]|0;n=w;a=k[n>>2]|0;n=k[n+4>>2]|0;E=B;k[E>>2]=k[d>>2];k[E+4>>2]=o;E=B+8|0;k[E>>2]=a;k[E+4>>2]=n;E=Yd(24e3,B)|0;k[C>>2]=E;if(k[C>>2]|0){Ye(k[z>>2]|0,5,k[C>>2]|0,-1,148)|0;break}k[p>>2]=7;E=k[p>>2]|0;r=D;return E|0}while(0);Te(k[z>>2]|0,6,k[x>>2]|0,k[y>>2]|0,0)|0;Ee(k[z>>2]|0)|0;E=he(k[z>>2]|0)|0;k[A>>2]=E}k[p>>2]=k[A>>2];E=k[p>>2]|0;r=D;return E|0}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;h=f;e=f+8|0;k[g>>2]=a;k[j>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;a=h;a=10-(Nl(k[a>>2]|0,k[a+4>>2]|0)|0)|0;k[e>>2]=a;i[(k[(k[g>>2]|0)+36>>2]|0)+(k[e>>2]|0)>>0]=k[j>>2];a=h;Ol((k[(k[g>>2]|0)+36>>2]|0)+((k[e>>2]|0)+1)|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=f;return k[e>>2]|0}function Nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=0;do{k[d>>2]=(k[d>>2]|0)+1;b=c;b=rR(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=c;k[f>>2]=b;k[f+4>>2]=L;f=c}while((k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0);r=e;return k[d>>2]|0}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+20|0;h=g+8|0;e=g+16|0;f=g;k[d>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[d>>2];b=h;c=k[b+4>>2]|0;a=f;k[a>>2]=k[b>>2];k[a+4>>2]=c;do{h=(k[f>>2]&127|128)&255;a=k[e>>2]|0;k[e>>2]=a+1;i[a>>0]=h;a=f;a=rR(k[a>>2]|0,k[a+4>>2]|0,7)|0;h=f;k[h>>2]=a;k[h+4>>2]=L;h=f}while((k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0);h=(k[e>>2]|0)+-1|0;i[h>>0]=(l[h>>0]|0)&127;r=g;return (k[e>>2]|0)-(k[d>>2]|0)|0}function Pl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;b=(k[d>>2]|0)+8|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){f=k[f>>2]|0;r=g;return f|0}b=tl(k[c>>2]|0,17,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}b=(k[d>>2]|0)+8|0;We(k[e>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;b=(k[d>>2]|0)+24|0;We(k[e>>2]|0,2,k[b>>2]|0,k[b+4>>2]|0)|0;Ee(k[e>>2]|0)|0;b=he(k[e>>2]|0)|0;k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}function Ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j+4>>2]=d;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[f>>2]|0)){e=5;break}if((i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)){e=5;break}k[h>>2]=(k[h>>2]|0)+1}if((e|0)==5){r=j;return k[h>>2]|0}return 0}function Rl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;l=w+56|0;m=w+52|0;n=w+48|0;o=w+44|0;p=w+40|0;q=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;f=w+20|0;h=w+16|0;g=w+12|0;i=w+8|0;j=w+4|0;t=w;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[u>>2]=k[k[n>>2]>>2];do if(k[u>>2]|0){k[f>>2]=k[(k[u>>2]|0)+32>>2];k[h>>2]=k[f>>2];b=Ql(k[(k[u>>2]|0)+16>>2]|0,k[(k[u>>2]|0)+20>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[g>>2]=b;k[i>>2]=(k[q>>2]|0)-(k[g>>2]|0);b=k[g>>2]|0;b=Nl(b,((b|0)<0)<<31>>31)|0;d=k[i>>2]|0;d=b+(Nl(d,((d|0)<0)<<31>>31)|0)|0;k[h>>2]=(k[h>>2]|0)+(d+(k[i>>2]|0));if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(k[(k[u>>2]|0)+16>>2]|0)!=0:0)break;if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(v=Sd(k[h>>2]|0)|0,k[(k[u>>2]|0)+36>>2]=v,(k[(k[u>>2]|0)+36>>2]|0)==0):0){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}if(k[(k[u>>2]|0)+16>>2]|0){v=k[g>>2]|0;v=Ol((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v}v=k[i>>2]|0;v=Ol((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v;sR((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,(k[p>>2]|0)+(k[g>>2]|0)|0,k[i>>2]|0)|0;k[(k[u>>2]|0)+32>>2]=(k[f>>2]|0)+(k[i>>2]|0);v=(k[u>>2]|0)+12|0;k[v>>2]=(k[v>>2]|0)+1;if(k[o>>2]|0){do if((k[(k[u>>2]|0)+24>>2]|0)<(k[q>>2]|0)){v=Vd(k[(k[u>>2]|0)+28>>2]|0,k[q>>2]<<1)|0;k[j>>2]=v;if(k[j>>2]|0){k[(k[u>>2]|0)+24>>2]=k[q>>2]<<1;k[(k[u>>2]|0)+28>>2]=k[j>>2];break}k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}while(0);k[(k[u>>2]|0)+16>>2]=k[(k[u>>2]|0)+28>>2];sR(k[(k[u>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[(k[u>>2]|0)+20>>2]=k[q>>2]}else{k[(k[u>>2]|0)+16>>2]=k[p>>2];k[(k[u>>2]|0)+20>>2]=k[q>>2]}k[l>>2]=0;v=k[l>>2]|0;r=w;return v|0}while(0);d=Sd(40+(k[(k[m>>2]|0)+224>>2]|0)|0)|0;k[s>>2]=d;if(!(k[s>>2]|0)){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}c=k[s>>2]|0;f=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[s>>2]|0)+32>>2]=11;k[(k[s>>2]|0)+36>>2]=(k[s>>2]|0)+40;if(k[u>>2]|0){k[t>>2]=k[k[u>>2]>>2];q=Rl(k[m>>2]|0,t,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=q;if(!(k[k[u>>2]>>2]|0))k[k[u>>2]>>2]=k[t>>2];k[(k[u>>2]|0)+4>>2]=k[s>>2];k[(k[s>>2]|0)+8>>2]=k[(k[u>>2]|0)+8>>2];k[k[s>>2]>>2]=k[t>>2];k[(k[s>>2]|0)+28>>2]=k[(k[u>>2]|0)+28>>2];k[(k[s>>2]|0)+24>>2]=k[(k[u>>2]|0)+24>>2];k[(k[u>>2]|0)+28>>2]=0}else{k[(k[s>>2]|0)+8>>2]=k[s>>2];u=Rl(k[m>>2]|0,s,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=u}k[k[n>>2]>>2]=k[s>>2];k[l>>2]=k[v>>2];v=k[l>>2]|0;r=w;return v|0}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)<(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Ul(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+5>>0]|0){a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;k[(k[b>>2]|0)+52>>2]=0;a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}function Vl(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;s=v+52|0;d=v+48|0;t=v+44|0;e=v+40|0;p=v+36|0;u=v+32|0;n=v+28|0;o=v+24|0;h=v+20|0;f=v+16|0;j=v+12|0;g=v+8|0;m=v+4|0;q=v;k[d>>2]=a;k[t>>2]=b;k[e>>2]=c;c=k[t>>2]|0;if(k[(k[t>>2]|0)+72>>2]|0)k[u>>2]=(k[(k[t>>2]|0)+72>>2]|0)+(k[c+76>>2]|0);else k[u>>2]=k[c+40>>2];if(!((k[u>>2]|0)!=0?(k[u>>2]|0)>>>0<((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0)){c=k[t>>2]|0;if(k[(k[t>>2]|0)+56>>2]|0){k[h>>2]=k[k[c+56>>2]>>2];Ud(k[(k[t>>2]|0)+40>>2]|0);k[(k[t>>2]|0)+40>>2]=0;do if(k[h>>2]|0){k[j>>2]=k[(k[h>>2]|0)+8>>2];k[g>>2]=(k[k[j>>2]>>2]|0)+1;k[(k[t>>2]|0)+64>>2]=k[(k[h>>2]|0)+12>>2];k[(k[t>>2]|0)+60>>2]=k[(k[h>>2]|0)+16>>2];u=Sd(k[g>>2]|0)|0;k[f>>2]=u;if(k[f>>2]|0){sR(k[f>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[g>>2]|0)|0;u=k[g>>2]|0;k[(k[t>>2]|0)+76>>2]=u;k[(k[t>>2]|0)+44>>2]=u;u=k[f>>2]|0;k[(k[t>>2]|0)+72>>2]=u;k[(k[t>>2]|0)+40>>2]=u;u=(k[t>>2]|0)+56|0;k[u>>2]=(k[u>>2]|0)+4;break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}Ul(c);h=(k[t>>2]|0)+32|0;f=k[h+4>>2]|0;j=(k[t>>2]|0)+16|0;g=k[j+4>>2]|0;if((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>=(k[j>>2]|0)>>>0:0)){k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}g=k[d>>2]|0;f=(k[t>>2]|0)+32|0;h=f;h=qR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;k[f>>2]=h;k[f+4>>2]=j;j=km(g,h,j,(k[t>>2]|0)+40|0,(k[t>>2]|0)+44|0,(k[e>>2]|0)!=0?(k[t>>2]|0)+48|0:0)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}if((k[e>>2]|0)!=0?(k[(k[t>>2]|0)+48>>2]|0)<(k[(k[t>>2]|0)+44>>2]|0):0){k[(k[t>>2]|0)+52>>2]=k[(k[d>>2]|0)+244>>2];k[(k[d>>2]|0)+244>>2]=0}k[u>>2]=k[(k[t>>2]|0)+40>>2]}j=gm(k[t>>2]|0,k[u>>2]|0,20)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=dm(c,n)|0;else{k[n>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=dm(c,o)|0;else{k[o>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;if(!((k[n>>2]|0)<0|(k[o>>2]|0)<=0)?((k[u>>2]|0)+(k[o>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((k[n>>2]|0)+(k[o>>2]|0)|0)>(k[(k[t>>2]|0)+68>>2]|0)){k[m>>2]=(k[n>>2]|0)+(k[o>>2]|0)<<1;j=Vd(k[(k[t>>2]|0)+64>>2]|0,k[m>>2]|0)|0;k[q>>2]=j;if(k[q>>2]|0){k[(k[t>>2]|0)+64>>2]=k[q>>2];k[(k[t>>2]|0)+68>>2]=k[m>>2];break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);q=gm(k[t>>2]|0,k[u>>2]|0,(k[o>>2]|0)+10|0)|0;k[p>>2]=q;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}sR((k[(k[t>>2]|0)+64>>2]|0)+(k[n>>2]|0)|0,k[u>>2]|0,k[o>>2]|0)|0;k[(k[t>>2]|0)+60>>2]=(k[n>>2]|0)+(k[o>>2]|0);k[u>>2]=(k[u>>2]|0)+(k[o>>2]|0);c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=dm(c,(k[t>>2]|0)+76|0)|0;else{k[(k[t>>2]|0)+76>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;k[(k[t>>2]|0)+72>>2]=k[u>>2];k[(k[t>>2]|0)+80>>2]=0;do if(((k[(k[t>>2]|0)+72>>2]|0)+(k[(k[t>>2]|0)+76>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0){if((k[(k[t>>2]|0)+48>>2]|0)==0?(i[(k[(k[t>>2]|0)+72>>2]|0)+((k[(k[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}function Wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if((k[(k[c>>2]|0)+40>>2]|0)!=0?(k[(k[d>>2]|0)+40>>2]|0)!=0:0){k[f>>2]=(k[(k[c>>2]|0)+60>>2]|0)-(k[(k[d>>2]|0)+60>>2]|0);a=k[(k[c>>2]|0)+64>>2]|0;b=k[(k[d>>2]|0)+64>>2]|0;if((k[f>>2]|0)<0){b=FQ(a,b,k[(k[c>>2]|0)+60>>2]|0)|0;k[e>>2]=b}else{b=FQ(a,b,k[(k[d>>2]|0)+60>>2]|0)|0;k[e>>2]=b}if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else k[e>>2]=((k[(k[c>>2]|0)+40>>2]|0)==0&1)-((k[(k[d>>2]|0)+40>>2]|0)==0&1);if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}function Xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[g>>2]|0)==(k[f>>2]|0))k[g>>2]=(k[g>>2]|0)+-1;k[i>>2]=(k[g>>2]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[j>>2]=k[i>>2];while(1){if((k[j>>2]|0)>=((k[f>>2]|0)-1|0))break;if((gc[k[h>>2]&255](k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0,k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]|0)|0)<0)break;k[l>>2]=k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2];k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]=k[(k[e>>2]|0)+(k[j>>2]<<2)>>2];k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+-1}r=m;return}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[g>>2]|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=k[g>>2]<<1;a=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[e>>2]|0)+16>>2]=k[h>>2];break}k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}while(0);sR(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function Zl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;c=g+8|0;f=g+4|0;d=g+16|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;if((l[(k[h>>2]|0)+231>>0]|0|0)!=0?(k[(k[c>>2]|0)+56>>2]|0)!=0:0){i[d>>0]=0;h=(k[c>>2]|0)+88|0;k[h>>2]=0;k[h+4>>2]=0;k[(k[c>>2]|0)+84>>2]=0;em(0,k[(k[c>>2]|0)+72>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[c>>2]|0)+80|0,(k[c>>2]|0)+88|0,(k[c>>2]|0)+84|0,d);h=k[f>>2]|0;r=g;return h|0}h=gm(k[c>>2]|0,k[(k[c>>2]|0)+72>>2]|0,10)|0;k[f>>2]=h;if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=cm(k[(k[c>>2]|0)+72>>2]|0,(k[c>>2]|0)+88|0)|0;k[e>>2]=h;k[(k[c>>2]|0)+80>>2]=(k[(k[c>>2]|0)+72>>2]|0)+(k[e>>2]|0);h=k[f>>2]|0;r=g;return h|0}function _l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;s=u+36|0;t=u+32|0;q=u+28|0;e=u+24|0;f=u+20|0;p=u+16|0;n=u+12|0;h=u+41|0;g=u+40|0;o=u+8|0;m=u;k[t>>2]=a;k[q>>2]=b;k[e>>2]=c;k[f>>2]=d;k[p>>2]=0;k[n>>2]=k[(k[q>>2]|0)+80>>2];i[h>>0]=0;do if((l[(k[t>>2]|0)+231>>0]|0)!=0?(k[(k[q>>2]|0)+56>>2]|0)!=0:0){i[g>>0]=0;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[(k[q>>2]|0)+84>>2]|0)-1}em(0,k[(k[q>>2]|0)+72>>2]|0,k[(k[q>>2]|0)+76>>2]|0,n,(k[q>>2]|0)+88|0,(k[q>>2]|0)+84|0,g);if(i[g>>0]|0){k[(k[q>>2]|0)+80>>2]=0;break}else{k[(k[q>>2]|0)+80>>2]=k[n>>2];break}}else j=8;while(0);do if((j|0)==8){k[o>>2]=(k[(k[q>>2]|0)+72>>2]|0)+(k[(k[q>>2]|0)+76>>2]|0);while(1){if(i[k[n>>2]>>0]|i[h>>0]){c=k[n>>2]|0;k[n>>2]=c+1;i[h>>0]=i[c>>0]&128;continue}if(!(k[(k[q>>2]|0)+52>>2]|0))break;if((k[n>>2]|0)>>>0<((k[(k[q>>2]|0)+40>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0)|0)>>>0)break;c=fm(k[q>>2]|0)|0;k[p>>2]=c;if(k[p>>2]|0){j=14;break}}if((j|0)==14){k[s>>2]=k[p>>2];t=k[s>>2]|0;r=u;return t|0}k[n>>2]=(k[n>>2]|0)+1;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[n>>2]|0)-(k[(k[q>>2]|0)+80>>2]|0)-1}while(1){if((k[n>>2]|0)>>>0<(k[o>>2]|0)>>>0)e=(i[k[n>>2]>>0]|0)==0;else e=0;f=k[n>>2]|0;if(!e)break;k[n>>2]=f+1}e=k[q>>2]|0;if(f>>>0>=(k[o>>2]|0)>>>0){k[e+80>>2]=0;break}o=gm(e,k[n>>2]|0,10)|0;k[p>>2]=o;if(!(k[p>>2]|0)){b=k[n>>2]|0;b=b+(cm(k[n>>2]|0,m)|0)|0;k[(k[q>>2]|0)+80>>2]=b;b=m;h=k[b>>2]|0;b=k[b+4>>2]|0;e=(k[q>>2]|0)+88|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(i[(k[t>>2]|0)+231>>0]|0){q=pR(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}else{q=qR(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}}}while(0);k[s>>2]=0;t=k[s>>2]|0;r=u;return t|0}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;q=t+16|0;n=t+12|0;p=t+8|0;m=t+4|0;o=t;j=t+36|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[q>>2]=k[k[g>>2]>>2];k[n>>2]=k[k[h>>2]>>2];k[p>>2]=(k[q>>2]|0)+(k[n>>2]|0);k[m>>2]=0;k[o>>2]=k[q>>2];while(1){i[j>>0]=0;while(1){if((k[o>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if(!((i[j>>0]|i[k[o>>2]>>0])&254))break;c=k[o>>2]|0;k[o>>2]=c+1;i[j>>0]=i[c>>0]&128}b=(k[o>>2]|0)-(k[q>>2]|0)|0;if((k[e>>2]|0)==(k[m>>2]|0)){s=7;break}k[n>>2]=(k[n>>2]|0)-b;k[q>>2]=k[o>>2];if(!(k[n>>2]|0))break;k[o>>2]=(k[q>>2]|0)+1;b=k[o>>2]|0;if(l[k[o>>2]>>0]&128)b=dm(b,m)|0;else{k[m>>2]=l[b>>0];b=1}k[o>>2]=(k[o>>2]|0)+b}if((s|0)==7)k[n>>2]=b;if(!(k[f>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}if(((k[q>>2]|0)+(k[n>>2]|0)|0)==(k[p>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}uR((k[q>>2]|0)+(k[n>>2]|0)|0,0,(k[p>>2]|0)-((k[q>>2]|0)+(k[n>>2]|0))|0)|0;s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}function am(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+48|0;f=o+8|0;q=o+40|0;p=o+36|0;g=o+32|0;l=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;j=o;s=f;k[s>>2]=a;k[s+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[g>>2]=e;k[l>>2]=0;k[h>>2]=0;k[m>>2]=k[q>>2];k[n>>2]=(k[q>>2]|0)+(k[p>>2]|0);if((i[k[m>>2]>>0]|0)!=1){if((i[k[m>>2]>>0]|0)==2){s=f;s=Ol((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2;k[h>>2]=1}bm(0,m)}while(1){if((k[m>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;if((i[k[m>>2]>>0]|0)!=1)break;k[m>>2]=(k[m>>2]|0)+1;s=cm(k[m>>2]|0,j)|0;k[m>>2]=(k[m>>2]|0)+s;if((i[k[m>>2]>>0]|0)==2){if(!(k[h>>2]|0)){s=f;s=Ol((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;k[h>>2]=1}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=1;s=j;s=Ol((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2}bm(0,m)}if(!(k[h>>2]|0)){s=k[l>>2]|0;r=o;return s|0}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=0;s=k[l>>2]|0;r=o;return s|0}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){if(!(254&(i[k[h>>2]>>0]|i[e>>0])))break;b=k[h>>2]|0;k[h>>2]=b+1;i[e>>0]=i[b>>0]&128}if(!(k[c>>2]|0)){a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];sR(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}function cm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+36|0;d=m+32|0;e=m+28|0;j=m+24|0;f=m+20|0;g=m+8|0;l=m+16|0;h=m;k[d>>2]=a;k[e>>2]=b;k[j>>2]=k[d>>2];a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=i[a>>0];a=k[f>>2]|0;if(!(k[f>>2]&128)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&127|i[b>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=2;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=3;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=4;l=k[c>>2]|0;r=m;return l|0}f=g;k[f>>2]=a&268435455;k[f+4>>2]=0;k[l>>2]=28;while(1){if((k[l>>2]|0)>63)break;f=k[d>>2]|0;k[d>>2]=f+1;f=i[f>>0]|0;b=h;k[b>>2]=f;k[b+4>>2]=((f|0)<0)<<31>>31;b=vR(k[h>>2]&127|0,0,k[l>>2]|0)|0;f=g;b=qR(k[f>>2]|0,k[f+4>>2]|0,b|0,L|0)|0;f=g;k[f>>2]=b;k[f+4>>2]=L;if((k[h>>2]&128|0)==0&0==0)break;k[l>>2]=(k[l>>2]|0)+7}h=k[g+4>>2]|0;l=k[e>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=h;k[c>>2]=(k[d>>2]|0)-(k[j>>2]|0);l=k[c>>2]|0;r=m;return l|0}function dm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=i[b>>0];b=k[f>>2]&127;a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=b|i[a>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){k[k[e>>2]>>2]=a;k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){k[k[e>>2]>>2]=a;k[c>>2]=3;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){k[k[e>>2]>>2]=a;k[c>>2]=4;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=a&268435455;k[k[e>>2]>>2]=k[f>>2]|(i[k[d>>2]>>0]&15)<<28;k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}return 0}function em(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+76|0;j=B+72|0;l=B+68|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;q=B+8|0;v=B+28|0;s=B;A=B+24|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[w>>2]=k[k[m>>2]>>2];if(k[w>>2]|0){k[v>>2]=(k[h>>2]|0)!=0?-1:1;im(w,k[j>>2]|0,s);d=k[v>>2]|0;f=s;f=BR(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=k[n>>2]|0;e=d;f=pR(k[e>>2]|0,k[e+4>>2]|0,f|0,L|0)|0;k[d>>2]=f;k[d+4>>2]=L;if((k[w>>2]|0)==(k[j>>2]|0))i[k[p>>2]>>0]=1;else{k[A>>2]=k[w>>2];jm(k[j>>2]|0,w);k[k[o>>2]>>2]=(k[A>>2]|0)-(k[w>>2]|0)}k[k[m>>2]>>2]=k[w>>2];r=B;return}d=t;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;k[x>>2]=k[j>>2];k[y>>2]=(k[j>>2]|0)+(k[l>>2]|0);k[u>>2]=1;while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;d=cm(k[x>>2]|0,q)|0;k[x>>2]=(k[x>>2]|0)+d;d=k[u>>2]|0;f=q;f=BR(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=t;f=qR(k[d>>2]|0,k[d+4>>2]|0,f|0,L|0)|0;d=t;k[d>>2]=f;k[d+4>>2]=L;k[z>>2]=k[x>>2];hm(0,x);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;if(i[k[x>>2]>>0]|0)break;k[x>>2]=(k[x>>2]|0)+1}k[u>>2]=(k[h>>2]|0)!=0?-1:1}k[k[o>>2]>>2]=(k[y>>2]|0)-(k[z>>2]|0);k[k[m>>2]>>2]=k[z>>2];e=t;f=k[e+4>>2]|0;d=k[n>>2]|0;k[d>>2]=k[e>>2];k[d+4>>2]=f;r=B;return}function fm(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(((k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0)<4096)a=(k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0;else a=4096;k[b>>2]=a;a=ef(k[(k[c>>2]|0)+52>>2]|0,(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0,k[b>>2]|0,k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+48|0;k[a>>2]=(k[a>>2]|0)+(k[b>>2]|0);a=(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if((k[(k[c>>2]|0)+48>>2]|0)!=(k[(k[c>>2]|0)+44>>2]|0)){d=k[d>>2]|0;r=e;return d|0}df(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=0;k[(k[c>>2]|0)+48>>2]=0;d=k[d>>2]|0;r=e;return d|0}function gm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=0:0)){d=5;break}if(((k[e>>2]|0)-(k[(k[d>>2]|0)+40>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[d>>2]|0)+48>>2]|0)){d=5;break}a=fm(k[d>>2]|0)|0;k[g>>2]=a}if((d|0)==5){r=h;return k[g>>2]|0}return 0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){b=(i[k[h>>2]>>0]|i[e>>0]|0)!=0;a=k[h>>2]|0;k[h>>2]=a+1;if(!b)break;i[e>>0]=i[a>>0]&128}if(!(k[c>>2]|0)){g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];sR(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}function im(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;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[k[d>>2]>>2]|0)+-2;while(1){if((k[h>>2]|0)>>>0<(k[e>>2]|0)>>>0)break;if(!(i[k[h>>2]>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}k[h>>2]=(k[h>>2]|0)+1;k[k[d>>2]>>2]=k[h>>2];cm(k[h>>2]|0,g)|0;b=g;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;r=j;return}function jm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+8|0;d=h+4|0;f=h;e=h+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=(k[k[d>>2]>>2]|0)+-2;i[e>>0]=0;do{if((k[f>>2]|0)>>>0<=(k[c>>2]|0)>>>0)break;b=k[f>>2]|0;k[f>>2]=b+-1;b=i[b>>0]|0;i[e>>0]=b}while((b<<24>>24|0)==0);while(1){if((k[f>>2]|0)>>>0>(k[c>>2]|0)>>>0)b=(i[k[f>>2]>>0]&128|i[e>>0]|0)!=0;else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=a+-1;i[e>>0]=i[a>>0]|0}if(a>>>0<=(k[c>>2]|0)>>>0){if((i[e>>0]|0)==0?(k[k[d>>2]>>2]|0)>>>0>((k[f>>2]|0)+2|0)>>>0:0)g=11}else g=11;if((g|0)==11)k[f>>2]=(k[f>>2]|0)+2;do{g=k[f>>2]|0;k[f>>2]=g+1}while((i[g>>0]&128|0)!=0);k[k[d>>2]>>2]=k[f>>2];r=h;return}function km(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+8|0;o=t+40|0;g=t+36|0;h=t;p=t+32|0;j=t+28|0;l=t+24|0;s=t+20|0;m=t+16|0;q=t+12|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[p>>2]=d;k[j>>2]=e;k[l>>2]=f;b=k[g>>2]|0;if(k[(k[g>>2]|0)+244>>2]|0){n=h;n=gf(k[b+244>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[s>>2]=n}else{if(0==(k[b+240>>2]|0)?(k[n>>2]=k[(k[g>>2]|0)+20>>2],n=Yd(24010,n)|0,k[(k[g>>2]|0)+240>>2]=n,0==(k[(k[g>>2]|0)+240>>2]|0)):0){k[o>>2]=7;s=k[o>>2]|0;r=t;return s|0}n=h;n=cf(k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+240>>2]|0,24022,k[n>>2]|0,k[n+4>>2]|0,0,(k[g>>2]|0)+244|0)|0;k[s>>2]=n}if((k[s>>2]|0)==0?(n=ff(k[(k[g>>2]|0)+244>>2]|0)|0,k[m>>2]=n,k[k[j>>2]>>2]=k[m>>2],(k[p>>2]|0)!=0):0){n=Sd((k[m>>2]|0)+20|0)|0;k[q>>2]=n;if(k[q>>2]|0){if((k[l>>2]|0)!=0&(k[m>>2]|0)>16384){k[m>>2]=4096;k[k[l>>2]>>2]=k[m>>2]}b=ef(k[(k[g>>2]|0)+244>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[s>>2]=b;b=(k[q>>2]|0)+(k[m>>2]|0)|0;c=b+20|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0));if(k[s>>2]|0){Ud(k[q>>2]|0);k[q>>2]=0}}else k[s>>2]=7;k[k[p>>2]>>2]=k[q>>2]}k[o>>2]=k[s>>2];s=k[o>>2]|0;r=t;return s|0}function lm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;m=q+36|0;e=q+32|0;n=q+28|0;f=q+24|0;g=q+20|0;h=q+16|0;o=q+12|0;j=q+8|0;i=q+4|0;p=q;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[(k[n>>2]|0)+4>>2];k[h>>2]=0;a:while(1){if(k[(k[n>>2]|0)+28>>2]|0){e=12;break}if((k[h>>2]|0)>=(k[(k[n>>2]|0)+4>>2]|0)){e=12;break}k[j>>2]=0;k[i>>2]=k[(k[k[n>>2]>>2]|0)+(k[h>>2]<<2)>>2];do{c=Vl(k[e>>2]|0,k[i>>2]|0,0)|0;k[p>>2]=c;if(k[p>>2]|0){e=6;break a}if(!(k[f>>2]|0))break;c=mm(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[j>>2]=c}while((c|0)<0);if((k[j>>2]|0)!=0?(l[(k[i>>2]|0)+4>>0]|0|0)!=0:0)Ul(k[i>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if((e|0)==6){k[m>>2]=k[p>>2];p=k[m>>2]|0;r=q;return p|0}else if((e|0)==12){Xl(k[k[n>>2]>>2]|0,k[o>>2]|0,k[o>>2]|0,184);k[m>>2]=0;p=k[m>>2]|0;r=q;return p|0}return 0}function mm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[(k[e>>2]|0)+40>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=k[(k[e>>2]|0)+64>>2]|0;c=k[d>>2]|0;if((k[(k[e>>2]|0)+60>>2]|0)>(k[f>>2]|0)){d=FQ(a,c,k[f>>2]|0)|0;k[g>>2]=d}else{d=FQ(a,c,k[(k[e>>2]|0)+60>>2]|0)|0;k[g>>2]=d}if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}k[g>>2]=(k[(k[e>>2]|0)+60>>2]|0)-(k[f>>2]|0);g=k[g>>2]|0;r=h;return g|0}function nm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;j=F+88|0;l=F+84|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+68|0;q=F+64|0;s=F+60|0;t=F+56|0;C=F+52|0;A=F+48|0;D=F+44|0;y=F+40|0;z=F+36|0;w=F+16|0;v=F+8|0;u=F;x=F+32|0;E=F+28|0;B=F+24|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[C>>2]=0;k[A>>2]=0;if(((k[n>>2]|0)<0?(k[(k[j>>2]|0)+252>>2]|0)!=0:0)?(k[y>>2]=0,e=om(k[j>>2]|0,k[m>>2]|0,k[o>>2]|0,k[p>>2]|0,((k[q>>2]|0)!=0?1:(k[s>>2]|0)!=0)&1,y)|0,k[C>>2]=e,(k[C>>2]|0)==0&(k[y>>2]|0)!=0):0){e=pm(k[t>>2]|0,k[y>>2]|0)|0;k[C>>2]=e}a:do if((k[n>>2]|0)!=-1){if(!(k[C>>2]|0)){e=qm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,A)|0;k[C>>2]=e}while(1){if(k[C>>2]|0)break a;e=Ee(k[A>>2]|0)|0;k[C>>2]=e;if(100!=(e|0))break a;k[z>>2]=0;y=Oe(k[A>>2]|0,1)|0;e=w;k[e>>2]=y;k[e+4>>2]=L;e=Oe(k[A>>2]|0,2)|0;y=v;k[y>>2]=e;k[y+4>>2]=L;y=Oe(k[A>>2]|0,3)|0;e=u;k[e>>2]=y;k[e+4>>2]=L;e=Le(k[A>>2]|0,4)|0;k[x>>2]=e;e=Ke(k[A>>2]|0,4)|0;k[E>>2]=e;e=w;if(((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)&(k[o>>2]|0)!=0){k[B>>2]=(k[q>>2]|0)!=0?v:0;e=rm(k[j>>2]|0,k[o>>2]|0,k[p>>2]|0,k[E>>2]|0,k[x>>2]|0,w,k[B>>2]|0)|0;k[C>>2]=e;if(k[C>>2]|0)break a;if((k[q>>2]|0)==0&(k[s>>2]|0)==0){i=w;y=k[i+4>>2]|0;e=v;k[e>>2]=k[i>>2];k[e+4>>2]=y}}i=w;y=v;e=u;e=sm((k[(k[t>>2]|0)+4>>2]|0)+1|0,((k[q>>2]|0)==0?(k[s>>2]|0)==0:0)&1,k[i>>2]|0,k[i+4>>2]|0,k[y>>2]|0,k[y+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[E>>2]|0,k[x>>2]|0,z)|0;k[C>>2]=e;if(k[C>>2]|0)break a;e=pm(k[t>>2]|0,k[z>>2]|0)|0;k[C>>2]=e}}while(0);e=he(k[A>>2]|0)|0;k[D>>2]=e;if((k[C>>2]|0)!=101){e=k[C>>2]|0;r=F;return e|0}k[C>>2]=k[D>>2];e=k[C>>2]|0;r=F;return e|0}function om(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;A=y+64|0;z=y+60|0;g=y+56|0;h=y+52|0;i=y+48|0;j=y+44|0;u=y+40|0;s=y+36|0;l=y+32|0;p=y+28|0;v=y+24|0;t=y+20|0;n=y+16|0;w=y+12|0;q=y+8|0;m=y+4|0;o=y;k[A>>2]=a;k[z>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[u>>2]=0;k[l>>2]=0;k[p>>2]=0;k[v>>2]=0;k[t>>2]=(k[(k[A>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)+4;if(k[i>>2]|0){k[n>>2]=0;k[s>>2]=k[(k[t>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;k[w>>2]=k[(k[s>>2]|0)+12>>2];k[q>>2]=k[(k[s>>2]|0)+16>>2];if(k[h>>2]|0){if((k[q>>2]|0)>=(k[h>>2]|0)?0==(FQ(k[w>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((k[p>>2]|0)==(k[n>>2]|0)){k[n>>2]=(k[n>>2]|0)+16;A=Vd(k[l>>2]|0,k[n>>2]<<2)|0;k[m>>2]=A;if(!(k[m>>2]|0)){x=9;break}k[l>>2]=k[m>>2]}z=k[s>>2]|0;A=k[p>>2]|0;k[p>>2]=A+1;k[(k[l>>2]|0)+(A<<2)>>2]=z}k[s>>2]=k[k[s>>2]>>2]}if((x|0)==9){k[v>>2]=7;k[p>>2]=0}if((k[p>>2]|0)>1)EQ(k[l>>2]|0,k[p>>2]|0,4,185)}else{A=Kk(k[t>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[s>>2]=A;if(k[s>>2]|0){k[l>>2]=s;k[p>>2]=1}}do if((k[p>>2]|0)>0){k[o>>2]=96+((k[p>>2]|0)+1<<2);A=Sd(k[o>>2]|0)|0;k[u>>2]=A;if(k[u>>2]|0){uR(k[u>>2]|0,0,k[o>>2]|0)|0;k[k[u>>2]>>2]=2147483647;k[(k[u>>2]|0)+56>>2]=(k[u>>2]|0)+96;sR(k[(k[u>>2]|0)+56>>2]|0,k[l>>2]|0,k[p>>2]<<2|0)|0;break}else{k[v>>2]=7;break}}while(0);if(!(k[i>>2]|0)){z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}Ud(k[l>>2]|0);z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}function pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if(!((k[(k[d>>2]|0)+4>>2]|0)%16|0)){k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+16<<2;b=Vd(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[k[d>>2]>>2]=k[f>>2];break}Gl(k[e>>2]|0);k[c>>2]=7;b=k[c>>2]|0;r=h;return b|0}while(0);a=k[e>>2]|0;g=(k[d>>2]|0)+4|0;b=k[g>>2]|0;k[g>>2]=b+1;k[(k[k[d>>2]>>2]|0)+(b<<2)>>2]=a;k[c>>2]=0;b=k[c>>2]|0;r=h;return b|0}function qm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;c=k[f>>2]|0;if((k[i>>2]|0)<0){i=tl(c,13,l,0)|0;k[m>>2]=i;if(!(k[m>>2]|0)){i=k[l>>2]|0;e=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;We(i,1,e,L)|0;e=k[l>>2]|0;i=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;We(e,2,i,L)|0}}else{e=tl(c,12,l,0)|0;k[m>>2]=e;if(!(k[m>>2]|0)){e=k[l>>2]|0;i=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;We(e,1,i,L)|0}}k[k[j>>2]>>2]=k[l>>2];r=n;return k[m>>2]|0}function rm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;o=v+32|0;h=v+28|0;i=v+24|0;p=v+20|0;q=v+16|0;t=v+12|0;j=v+8|0;u=v+4|0;s=v;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[h>>2]=d;k[i>>2]=e;k[p>>2]=f;k[q>>2]=g;k[t>>2]=0;e=k[h>>2]|0;if((l[k[h>>2]>>0]|0)&128)dm(e,j)|0;else k[j>>2]=l[e>>0];i=tm(k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[i>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=i;if(!((k[t>>2]|0)==0&(k[j>>2]|0)>1)){u=k[t>>2]|0;r=v;return u|0}k[u>>2]=0;k[s>>2]=0;if((k[p>>2]|0)!=0&(k[q>>2]|0)!=0?(i=k[p>>2]|0,j=k[q>>2]|0,(k[i>>2]|0)!=(k[j>>2]|0)?1:(k[i+4>>2]|0)!=(k[j+4>>2]|0)):0){j=k[p>>2]|0;j=km(k[m>>2]|0,k[j>>2]|0,k[j+4>>2]|0,u,s,0)|0;k[t>>2]=j;if(!(k[t>>2]|0)){j=rm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=j}Ud(k[u>>2]|0);k[p>>2]=0;k[u>>2]=0}if(!(k[t>>2]|0)){if(k[p>>2]|0){c=k[p>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}else{c=k[q>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}j=km(k[m>>2]|0,e,c,u,s,0)|0;k[t>>2]=j}if(!(k[t>>2]|0)){s=rm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=s}Ud(k[u>>2]|0);u=k[t>>2]|0;r=v;return u|0}function sm(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;n=z+8|0;o=z;p=z+40|0;q=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;k[u>>2]=a;k[v>>2]=b;a=w;k[a>>2]=c;k[a+4>>2]=d;a=n;k[a>>2]=e;k[a+4>>2]=f;a=o;k[a>>2]=g;k[a+4>>2]=h;k[p>>2]=j;k[q>>2]=l;k[s>>2]=m;k[x>>2]=0;j=w;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0)k[x>>2]=(k[q>>2]|0)+20;j=Sd(96+(k[x>>2]|0)|0)|0;k[y>>2]=j;if(!(k[y>>2]|0)){k[t>>2]=7;y=k[t>>2]|0;r=z;return y|0}c=k[y>>2]|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[k[y>>2]>>2]=k[u>>2];i[(k[y>>2]|0)+4>>0]=(k[v>>2]|0)!=0;j=w;u=k[j+4>>2]|0;v=(k[y>>2]|0)+8|0;k[v>>2]=k[j>>2];k[v+4>>2]=u;v=k[n+4>>2]|0;u=(k[y>>2]|0)+16|0;k[u>>2]=k[n>>2];k[u+4>>2]=v;u=k[o+4>>2]|0;v=(k[y>>2]|0)+24|0;k[v>>2]=k[o>>2];k[v+4>>2]=u;if(k[x>>2]|0){k[(k[y>>2]|0)+40>>2]=(k[y>>2]|0)+96;i[(k[y>>2]|0)+5>>0]=1;k[(k[y>>2]|0)+44>>2]=k[q>>2];sR(k[(k[y>>2]|0)+40>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;c=(k[(k[y>>2]|0)+40>>2]|0)+(k[q>>2]|0)|0;d=c+20|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{w=pR(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=(k[y>>2]|0)+32|0;k[x>>2]=w;k[x+4>>2]=L}k[k[s>>2]>>2]=k[y>>2];k[t>>2]=0;y=k[t>>2]|0;r=z;return y|0}function tm(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,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;u=A+76|0;g=A+72|0;h=A+68|0;C=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;q=A+44|0;s=A+40|0;z=A+36|0;m=A+32|0;j=A+28|0;x=A;i=A+24|0;p=A+20|0;o=A+16|0;n=A+12|0;t=A+8|0;k[g>>2]=a;k[h>>2]=b;k[C>>2]=c;k[B>>2]=d;k[v>>2]=e;k[w>>2]=f;k[y>>2]=0;k[q>>2]=k[C>>2];k[s>>2]=(k[q>>2]|0)+(k[B>>2]|0);k[z>>2]=0;k[m>>2]=0;k[j>>2]=1;a=cm(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;a=cm(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;if((k[q>>2]|0)>>>0>(k[s>>2]|0)>>>0){k[u>>2]=267;C=k[u>>2]|0;r=A;return C|0}while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0){d=28;break}if(!((k[v>>2]|0)!=0?1:(k[w>>2]|0)!=0)){d=28;break}k[o>>2]=0;if(!(k[j>>2]|0)){d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=dm(d,o)|0;else{k[o>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d}k[j>>2]=0;d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=dm(d,p)|0;else{k[p>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d;if((k[o>>2]|0)<0|(k[p>>2]|0)<0){d=15;break}if(((k[q>>2]|0)+(k[p>>2]|0)|0)>>>0>(k[s>>2]|0)>>>0){d=15;break}if(((k[o>>2]|0)+(k[p>>2]|0)|0)>(k[m>>2]|0)){k[m>>2]=(k[o>>2]|0)+(k[p>>2]|0)<<1;C=Vd(k[z>>2]|0,k[m>>2]|0)|0;k[t>>2]=C;if(!(k[t>>2]|0)){d=18;break}k[z>>2]=k[t>>2]}sR((k[z>>2]|0)+(k[o>>2]|0)|0,k[q>>2]|0,k[p>>2]|0)|0;k[n>>2]=(k[o>>2]|0)+(k[p>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[p>>2]|0);C=FQ(k[g>>2]|0,k[z>>2]|0,(k[n>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[n>>2]|0)|0;k[i>>2]=C;do if(k[v>>2]|0){if((k[i>>2]|0)>=0){if(k[i>>2]|0)break;if((k[n>>2]|0)<=(k[h>>2]|0))break}a=x;B=k[a+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[v>>2]=0}while(0);if((k[w>>2]|0)!=0&(k[i>>2]|0)<0){a=x;B=k[a+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[w>>2]=0}B=x;B=qR(k[B>>2]|0,k[B+4>>2]|0,1,0)|0;C=x;k[C>>2]=B;k[C+4>>2]=L}if((d|0)==15)k[y>>2]=267;else if((d|0)==18)k[y>>2]=7;else if((d|0)==28){if(k[v>>2]|0){t=x;B=k[t+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=B}if(k[w>>2]|0){B=k[x+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[x>>2];k[C+4>>2]=B}}Ud(k[z>>2]|0);k[u>>2]=k[y>>2];C=k[u>>2]|0;r=A;return C|0}function um(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+28|0;j=f+24|0;i=f+20|0;h=f+16|0;d=f+12|0;e=f+8|0;g=f+4|0;c=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=k[(k[k[l>>2]>>2]|0)+12>>2];k[h>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[d>>2]=k[(k[k[l>>2]>>2]|0)+16>>2];k[e>>2]=k[(k[k[j>>2]>>2]|0)+16>>2];k[g>>2]=(k[d>>2]|0)<(k[e>>2]|0)?k[d>>2]|0:k[e>>2]|0;b=FQ(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){l=k[c>>2]|0;r=f;return l|0}k[c>>2]=(k[d>>2]|0)-(k[e>>2]|0);l=k[c>>2]|0;r=f;return l|0}function vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;g=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;n=o+16|0;m=o+12|0;l=o+8|0;h=o+4|0;i=o;k[g>>2]=a;k[d>>2]=b;k[e>>2]=c;k[n>>2]=24274;k[m>>2]=24278;k[l>>2]=24283;k[h>>2]=-1;k[i>>2]=15;c=k[g>>2]|0;if((k[d>>2]|0)>6){te(c,24294,-1);r=o;return}if(zm(c,21347,k[k[e>>2]>>2]|0,j)|0){r=o;return}switch(k[d>>2]|0){case 6:{f=ne(k[(k[e>>2]|0)+20>>2]|0)|0;k[i>>2]=f;f=6;break}case 5:{f=6;break}case 4:{f=7;break}case 3:{f=8;break}case 2:{f=9;break}default:{}}if((f|0)==6){d=ne(k[(k[e>>2]|0)+16>>2]|0)|0;k[h>>2]=d;f=7}if((f|0)==7){d=ke(k[(k[e>>2]|0)+12>>2]|0)|0;k[l>>2]=d;f=8}if((f|0)==8){d=ke(k[(k[e>>2]|0)+8>>2]|0)|0;k[m>>2]=d;f=9}if((f|0)==9){f=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=f}if(!((k[l>>2]|0)!=0&(k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){De(k[g>>2]|0);r=o;return}c=k[g>>2]|0;if(!(k[i>>2]|0)){xe(c,19266,-1,0);r=o;return}if(xn(c,k[j>>2]|0)|0){r=o;return}ao(k[g>>2]|0,k[j>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0);r=o;return}function wm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;if(zm(k[d>>2]|0,21355,k[k[g>>2]>>2]|0,e)|0){r=f;return}if(xn(k[d>>2]|0,k[e>>2]|0)|0){r=f;return}Yn(k[d>>2]|0,k[e>>2]|0);r=f;return}function xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+12|0;g=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[h+16>>2]=b;k[i>>2]=c;if(zm(k[d>>2]|0,21373,k[k[i>>2]>>2]|0,f)|0){r=h;return}k[e>>2]=k[k[f>>2]>>2];i=Wn(k[e>>2]|0)|0;k[g>>2]=i;switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,24178,-1,0);r=h;return}case 101:{xe(k[d>>2]|0,24194,-1,0);r=h;return}default:{Be(k[d>>2]|0,k[g>>2]|0);r=h;return}}}function ym(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(zm(k[d>>2]|0,21363,k[k[f>>2]>>2]|0,g)|0){r=i;return}k[h>>2]=0;if((k[e>>2]|0)>1){a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=a}Am(k[d>>2]|0,k[g>>2]|0,k[h>>2]|0);r=i;return}function zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((pe(k[h>>2]|0)|0)==4?(le(k[h>>2]|0)|0)==4:0){b=je(k[h>>2]|0)|0;i[l>>0]=i[b>>0]|0;i[l+1>>0]=i[b+1>>0]|0;i[l+2>>0]=i[b+2>>0]|0;i[l+3>>0]=i[b+3>>0]|0;k[k[j>>2]>>2]=k[l>>2];k[e>>2]=0;b=k[e>>2]|0;r=o;return b|0}k[m>>2]=k[g>>2];b=Yd(24149,m)|0;k[n>>2]=b;te(k[f>>2]|0,k[n>>2]|0,-1);Ud(k[n>>2]|0);k[e>>2]=1;b=k[e>>2]|0;r=o;return b|0}function Am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[h>>2]=k[e>>2];else k[h>>2]=24084;d=k[d>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){Bm(d,k[f>>2]|0,k[h>>2]|0);Cm(k[g>>2]|0);r=i;return}else{qe(d,19266,0,0);r=i;return}}function Bm(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;d=u+76|0;e=u+72|0;f=u+68|0;p=u;n=u+64|0;o=u+60|0;h=u+56|0;g=u+52|0;q=u+48|0;m=u+44|0;j=u+40|0;s=u+36|0;l=u+32|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[n>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[h>>2]=0;k[g>>2]=0;k[q>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p+28>>2]=0;k[p>>2]=k[e>>2];k[p+4>>2]=k[(k[n>>2]|0)+24>>2];if((k[(k[e>>2]|0)+92>>2]|0)!=0?(IQ(k[(k[(k[e>>2]|0)+92>>2]|0)+12>>2]|0,k[f>>2]|0)|0)!=0:0){Dm(k[(k[e>>2]|0)+92>>2]|0);k[(k[e>>2]|0)+92>>2]=0}if(!(k[(k[e>>2]|0)+92>>2]|0)){k[m>>2]=0;c=Em(k[(k[e>>2]|0)+12>>2]|0)|0;k[(k[e>>2]|0)+20>>2]=c;k[p+8>>2]=k[(k[e>>2]|0)+20>>2];k[j>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[s>>2]=0;if(Fm(k[n>>2]|0,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0,s)|0){t=8;break}c=Gm(p,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0)|0;k[m>>2]=(k[m>>2]|0)+c;k[j>>2]=(k[j>>2]|0)+1}if((t|0)==8){te(k[d>>2]|0,k[s>>2]|0,-1);Ud(k[s>>2]|0);r=u;return}t=Hm(k[m>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=t;if(!(k[(k[e>>2]|0)+92>>2]|0))k[o>>2]=7;k[(k[e>>2]|0)+88>>2]=1;k[h>>2]=1}if((k[o>>2]|0)==0?(t=Im(k[(k[e>>2]|0)+92>>2]|0,g)|0,k[q>>2]=t,(k[q>>2]|0)==0):0)k[o>>2]=7;if((k[o>>2]|0)==0?(k[p+28>>2]=k[g>>2],k[p+8>>2]=k[(k[e>>2]|0)+20>>2],t=Jm(k[e>>2]|0,k[h>>2]|0,p,k[f>>2]|0)|0,k[o>>2]=t,(k[h>>2]|0)!=0):0)Km(k[(k[e>>2]|0)+92>>2]|0);if(!(k[o>>2]|0)){k[l>>2]=k[(k[(k[e>>2]|0)+92>>2]|0)+4>>2]<<2;qe(k[d>>2]|0,k[g>>2]|0,k[l>>2]|0,k[q>>2]|0);r=u;return}Be(k[d>>2]|0,k[o>>2]|0);if(!(k[q>>2]|0)){r=u;return}_b[k[q>>2]&255](k[g>>2]|0);r=u;return}function Cm(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;df(k[(k[c>>2]|0)+244>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=0;r=b;return}function Dm(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}i[k[b>>2]>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Em(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Rm(k[d>>2]|0,153,b)|0;r=c;return k[b>>2]|0}function Fm(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;j=r;r=r+32|0;h=j;d=j+12|0;e=j+8|0;f=j+16|0;g=j+4|0;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;do if((i[f>>0]|0)!=112?(i[f>>0]|0)!=99:0){if((i[f>>0]|0)==110?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==97?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==108?(l[(k[e>>2]|0)+230>>0]|0)!=0:0)break;if((((i[f>>0]|0)!=115?(i[f>>0]|0)!=120:0)?(i[f>>0]|0)!=121:0)?(i[f>>0]|0)!=98:0){c=k[g>>2]|0;k[h>>2]=i[f>>0];Jk(c,24114,h);k[d>>2]=1;h=k[d>>2]|0;r=j;return h|0}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}function Gm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;f=e+8|0;d=e;k[c>>2]=a;i[f>>0]=b;switch(i[f>>0]|0){case 99:case 112:case 110:{k[d>>2]=1;break}case 115:case 108:case 97:{k[d>>2]=k[(k[c>>2]|0)+4>>2];break}case 121:{f=ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=f;break}case 98:{f=ha(k[(k[c>>2]|0)+8>>2]|0,((k[(k[c>>2]|0)+4>>2]|0)+31|0)/32|0)|0;k[d>>2]=f;break}default:{f=(ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0)*3|0;k[d>>2]=f}}r=e;return k[d>>2]|0}function Hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[c>>2]<<1)+1<<2)+20;b=LQ(k[d>>2]|0)|0;k[f>>2]=b;b=Sd((k[e>>2]|0)+(k[f>>2]|0)+1|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}uR(k[g>>2]|0,0,k[e>>2]|0)|0;k[(k[g>>2]|0)+16>>2]=(k[g>>2]|0)+16+4-(k[g>>2]|0);k[(k[g>>2]|0)+16+(1+(k[c>>2]|0)<<2)>>2]=(k[(k[g>>2]|0)+16>>2]|0)+((k[c>>2]|0)+1<<2);k[(k[g>>2]|0)+4>>2]=k[c>>2];k[(k[g>>2]|0)+12>>2]=(k[g>>2]|0)+(k[e>>2]|0);sR(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,(k[f>>2]|0)+1|0)|0;i[k[g>>2]>>0]=1;b=k[g>>2]|0;r=h;return b|0}function Im(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[e>>2]=0;b=k[c>>2]|0;do if(l[(k[c>>2]|0)+1>>0]|0){a=k[c>>2]|0;if(!(l[b+2>>0]|0)){i[a+2>>0]=1;k[e>>2]=(k[c>>2]|0)+16+((k[(k[c>>2]|0)+4>>2]|0)+2<<2);k[f>>2]=152;break}b=Sd(k[a+4>>2]<<2)|0;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[f>>2]=148,(k[(k[c>>2]|0)+8>>2]|0)!=0):0)sR(k[e>>2]|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0}else{i[b+1>>0]=1;k[e>>2]=(k[c>>2]|0)+16+4;k[f>>2]=152}while(0);k[k[d>>2]>>2]=k[e>>2];r=g;return k[f>>2]|0}function Jm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;e=B+92|0;f=B+88|0;g=B+84|0;h=B+80|0;A=B+76|0;m=B+72|0;y=B+68|0;z=B+64|0;q=B+24|0;s=B+16|0;j=B+60|0;n=B+56|0;p=B+52|0;t=B+8|0;x=B+48|0;o=B+44|0;l=B+40|0;u=B;v=B+36|0;w=B+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[A>>2]=0;k[y>>2]=k[k[e>>2]>>2];k[z>>2]=0;k[m>>2]=0;while(1){if(k[A>>2]|0){e=31;break}if(!(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)){e=31;break}i[(k[g>>2]|0)+24>>0]=i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0;a:do switch(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0){case 112:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+8>>2];break}case 99:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+4>>2];break}case 110:{if(k[f>>2]|0){d=q;k[d>>2]=0;k[d+4>>2]=0;d=Lm(k[y>>2]|0,z,q,0)|0;k[A>>2]=d;k[k[(k[g>>2]|0)+28>>2]>>2]=k[q>>2]}break}case 97:{if((k[f>>2]|0)!=0?(d=Lm(k[y>>2]|0,z,s,j)|0,k[A>>2]=d,(k[A>>2]|0)==0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break a;d=cm(k[j>>2]|0,t)|0;k[j>>2]=(k[j>>2]|0)+d;d=k[t>>2]|0;c=s;c=zR(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;c=qR(d|0,0,c|0,L|0)|0;d=s;d=zR(c|0,L|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[p>>2]=d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[n>>2]<<2)>>2]=k[p>>2];k[n>>2]=(k[n>>2]|0)+1}}break}case 108:{k[x>>2]=0;d=(k[e>>2]|0)+32|0;d=Mm(k[y>>2]|0,k[d>>2]|0,k[d+4>>2]|0,x)|0;k[A>>2]=d;b:do if(!(k[A>>2]|0)){d=Ke(k[x>>2]|0,0)|0;k[l>>2]=d;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break b;d=cm(k[l>>2]|0,u)|0;k[l>>2]=(k[l>>2]|0)+d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[o>>2]<<2)>>2]=k[u>>2];k[o>>2]=(k[o>>2]|0)+1}}while(0);he(k[x>>2]|0)|0;break}case 115:{d=Nm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){d=Om(k[e>>2]|0,k[g>>2]|0)|0;k[A>>2]=d}break}case 121:case 98:{d=(Gm(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0)<<2;k[v>>2]=d;uR(k[(k[g>>2]|0)+28>>2]|0,0,k[v>>2]|0)|0;Pm(k[(k[e>>2]|0)+12>>2]|0,k[g>>2]|0);break}default:{k[w>>2]=k[(k[e>>2]|0)+12>>2];d=Nm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){if(k[f>>2]|0){if((k[(k[e>>2]|0)+24>>2]|0)!=0?(d=Lm(k[y>>2]|0,z,(k[g>>2]|0)+16|0,0)|0,k[A>>2]=d,(k[A>>2]|0)!=0):0)break a;d=Rm(k[w>>2]|0,154,k[g>>2]|0)|0;k[A>>2]=d;Sm(k[e>>2]|0,A)|0;if(k[A>>2]|0)break a}Rm(k[w>>2]|0,155,k[g>>2]|0)|0}}}while(0);c=Gm(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0;d=(k[g>>2]|0)+28|0;k[d>>2]=(k[d>>2]|0)+(c<<2);k[m>>2]=(k[m>>2]|0)+1}if((e|0)==31){he(k[z>>2]|0)|0;r=B;return k[A>>2]|0}return 0}function Km(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=1;sR((k[c>>2]|0)+16+(2+(k[(k[c>>2]|0)+4>>2]|0)<<2)|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0;r=b;return}function Lm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;m=o+16|0;j=o+12|0;l=o;n=o+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)==0?(b=Tn(k[f>>2]|0,k[g>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)!=0):0){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}k[m>>2]=k[k[g>>2]>>2];n=Ke(k[m>>2]|0,0)|0;k[j>>2]=n;n=cm(k[j>>2]|0,l)|0;k[j>>2]=(k[j>>2]|0)+n;n=l;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){k[e>>2]=267;n=k[e>>2]|0;r=o;return n|0}n=k[h>>2]|0;k[n>>2]=k[l>>2];k[n+4>>2]=0;if(k[i>>2]|0)k[k[i>>2]>>2]=k[j>>2];k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}function Mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e;f=e+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;d=h;d=Sn(k[g>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function Nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+24|0;d=h+20|0;e=h+16|0;f=h+12|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g>>2]=k[i>>2];c=Rm(k[(k[i>>2]|0)+12>>2]|0,156,g)|0;k[f>>2]=c;if(k[d>>2]|0)k[k[d>>2]>>2]=k[g+4>>2];if(!(k[e>>2]|0)){i=k[f>>2]|0;r=h;return i|0}k[k[e>>2]>>2]=k[g+8>>2];i=k[f>>2]|0;r=h;return i|0}function Om(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;p=t+56|0;c=t+52|0;d=t+48|0;q=t+44|0;e=t+40|0;f=t+36|0;j=t+32|0;n=t+28|0;g=t+24|0;h=t+20|0;s=t+16|0;m=t+12|0;l=t+8|0;i=t+4|0;o=t;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;b=Sd(k[(k[c>>2]|0)+20>>2]<<4)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[p>>2]=7;s=k[p>>2]|0;r=t;return s|0}uR(k[q>>2]|0,0,k[(k[c>>2]|0)+20>>2]<<4|0)|0;Rm(k[(k[c>>2]|0)+12>>2]|0,157,k[q>>2]|0)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[n>>2]=(k[q>>2]|0)+(k[e>>2]<<4);k[j>>2]=(k[j>>2]|0)-(k[(k[(k[k[n>>2]>>2]|0)+20>>2]|0)+64>>2]|0);k[(k[n>>2]|0)+4>>2]=k[j>>2];k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){c=33;break}k[g>>2]=0;k[h>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[m>>2]=(k[q>>2]|0)+(k[e>>2]<<4);n=Um(k[c>>2]|0,k[k[m>>2]>>2]|0,k[f>>2]|0,(k[m>>2]|0)+8|0)|0;k[s>>2]=n;if(k[s>>2]|0){c=11;break a}if(k[(k[m>>2]|0)+8>>2]|0){k[(k[m>>2]|0)+12>>2]=k[(k[m>>2]|0)+4>>2];Qn((k[q>>2]|0)+(k[e>>2]<<4)|0)|0;k[h>>2]=(k[h>>2]|0)+1}k[e>>2]=(k[e>>2]|0)+1}while(1){if((k[h>>2]|0)<=0)break;k[l>>2]=0;k[i>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[o>>2]=(k[q>>2]|0)+(k[e>>2]<<4);if(k[(k[o>>2]|0)+8>>2]|0){if(!((k[l>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0):0))k[l>>2]=k[o>>2];if((k[i>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)!=(k[(k[o>>2]|0)+-16+12>>2]|0):0)k[i>>2]=1;else k[i>>2]=(k[i>>2]|0)+1;if((k[i>>2]|0)>(k[g>>2]|0))k[g>>2]=k[i>>2]}else k[i>>2]=0;k[e>>2]=(k[e>>2]|0)+1}if(!(Qn(k[l>>2]|0)|0))continue;k[h>>2]=(k[h>>2]|0)+-1}k[(k[(k[d>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]=k[g>>2];k[f>>2]=(k[f>>2]|0)+1}if((c|0)==11){k[p>>2]=k[s>>2];s=k[p>>2]|0;r=t;return s|0}else if((c|0)==33){Ud(k[q>>2]|0);k[p>>2]=0;s=k[p>>2]|0;r=t;return s|0}return 0}function Pm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(l[(k[c>>2]|0)+32>>0]|0){r=e;return}b=(k[c>>2]|0)+24|0;a=(k[k[d>>2]>>2]|0)+32|0;if(!((k[b>>2]|0)==(k[a>>2]|0)?(k[b+4>>2]|0)==(k[a+4>>2]|0):0)){r=e;return}b=k[c>>2]|0;if(k[(k[c>>2]|0)+12>>2]|0){Pm(k[b+12>>2]|0,k[d>>2]|0);Pm(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0);r=e;return}else{On(b,k[d>>2]|0);r=e;return}}function Qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2];a=ha((k[g>>2]|0)*3|0,k[(k[e>>2]|0)+4>>2]|0)|0;a=Ln(k[k[e>>2]>>2]|0,k[f>>2]|0,(k[(k[e>>2]|0)+28>>2]|0)+(a<<2)|0)|0;r=d;return a|0}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;k[h>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;b=Kn(k[h>>2]|0,g,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Sm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[e>>2]=0;if(k[f>>2]|0){b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(b=xn(0,k[c>>2]|0)|0,k[f>>2]=b,(k[f>>2]|0)==0):0){b=yn(k[c>>2]|0)|0;k[f>>2]=b}b=0==(zn(k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,f)|0)&1;k[e>>2]=b;An(k[c>>2]|0);k[k[d>>2]>>2]=k[f>>2];b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;l=j+24|0;m=j+20|0;i=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;h=j;k[d>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=0;k[g>>2]=k[m>>2];a=(ha(k[l>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0)*3|0;k[f>>2]=a;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)?(k[i>>2]|0)==0:0))break;m=Um(k[k[g>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[i>>2]=m;if(k[h>>2]|0){m=Vm(h)|0;k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=m}else k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=j;return k[i>>2]|0} -function Pp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=r;r=r+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;p=ha+16|0;q=ha+8|0;o=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;h=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;m=ha+148|0;t=ha+144|0;j=ha+80|0;l=ha+76|0;n=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;k[v>>2]=a;k[w>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[x>>2]=e;k[da>>2]=f;k[y>>2]=g;k[S>>2]=k[ia>>2];k[ea>>2]=0;k[ga>>2]=0;k[R>>2]=0;k[M>>2]=0;k[G>>2]=(i[(k[k[x>>2]>>2]|0)+3>>0]|0)==52&1;k[fa>>2]=0;k[O>>2]=0;k[A>>2]=0;k[D>>2]=0;k[C>>2]=0;k[ba>>2]=0;k[X>>2]=0;k[ca>>2]=0;k[Y>>2]=0;k[_>>2]=0;k[B>>2]=0;k[Q>>2]=0;g=(LQ(k[(k[x>>2]|0)+4>>2]|0)|0)+1|0;k[N>>2]=g;g=(LQ(k[(k[x>>2]|0)+8>>2]|0)|0)+1|0;k[P>>2]=g;k[L>>2]=(k[h>>2]|0)-2<<2;g=Sd(k[L>>2]|0)|0;k[z>>2]=g;if(k[z>>2]|0){uR(k[z>>2]|0,0,k[L>>2]|0)|0;ia=Sd(k[L>>2]|0)|0;k[B>>2]=ia}if(k[B>>2]|0)uR(k[B>>2]|0,0,k[L>>2]|0)|0;do if((k[z>>2]|0)!=0&(k[B>>2]|0)!=0){k[E>>2]=3;while(1){if(k[ga>>2]|0)break;if((k[E>>2]|0)>=(k[h>>2]|0))break;k[s>>2]=k[(k[x>>2]|0)+(k[E>>2]<<2)>>2];if((((k[fa>>2]|0)==0?(LQ(k[s>>2]|0)|0)>>>0>8:0)?0==(Jd(k[s>>2]|0,24853,8)|0):0)?0==(Qp(i[(k[s>>2]|0)+8>>0]|0)|0):0){ia=Rp(k[S>>2]|0,(k[s>>2]|0)+9|0,fa,k[y>>2]|0)|0;k[ga>>2]=ia}else u=15;do if((u|0)==15){u=0;if((k[G>>2]|0)!=0?(Sp(k[s>>2]|0,m,t)|0)!=0:0){d=j;e=2100;b=d+64|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));if(!(k[t>>2]|0)){k[ga>>2]=7;break}k[l>>2]=0;while(1){if((k[l>>2]|0)>=8)break;k[n>>2]=j+(k[l>>2]<<3);if((k[m>>2]|0)==(k[(k[n>>2]|0)+4>>2]|0)?(Jd(k[s>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)==0:0)break;k[l>>2]=(k[l>>2]|0)+1}a:do if((k[l>>2]|0)==8){ia=k[y>>2]|0;k[o>>2]=k[s>>2];Jk(ia,24862,o);k[ga>>2]=1}else switch(k[l>>2]|0){case 0:{if(!((LQ(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,21382,4)|0)==0:0)){ia=k[y>>2]|0;k[q>>2]=k[t>>2];Jk(ia,24889,q);k[ga>>2]=1}k[D>>2]=1;break a}case 1:{Ud(k[ba>>2]|0);k[ba>>2]=k[t>>2];k[t>>2]=0;break a}case 2:{Ud(k[X>>2]|0);k[X>>2]=k[t>>2];k[t>>2]=0;break a}case 3:{Ud(k[ca>>2]|0);k[ca>>2]=k[t>>2];k[t>>2]=0;break a}case 4:{if(!((LQ(k[t>>2]|0)|0)==3?(Jd(k[t>>2]|0,24916,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((LQ(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,24920,4)|0)==0:0)break;ia=k[y>>2]|0;k[p>>2]=k[t>>2];Jk(ia,24925,p);k[ga>>2]=1}while(0);if((i[k[t>>2]>>0]|0)==100)d=1;else d=(i[k[t>>2]>>0]|0)==68;k[C>>2]=d&1;break a}case 5:{Ud(k[Y>>2]|0);k[Y>>2]=k[t>>2];k[t>>2]=0;break a}case 6:{Ud(k[_>>2]|0);k[_>>2]=k[t>>2];k[t>>2]=0;break a}case 7:{g=k[t>>2]|0;ia=k[Q>>2]|0;k[Q>>2]=ia+1;k[(k[B>>2]|0)+(ia<<2)>>2]=g;k[t>>2]=0;break a}default:break a}while(0);Ud(k[t>>2]|0);break}g=(LQ(k[s>>2]|0)|0)+1|0;k[R>>2]=(k[R>>2]|0)+g;g=k[s>>2]|0;ia=k[M>>2]|0;k[M>>2]=ia+1;k[(k[z>>2]|0)+(ia<<2)>>2]=g}while(0);k[E>>2]=(k[E>>2]|0)+1}b:do if(((k[ga>>2]|0)==0&(k[Y>>2]|0)!=0?(Ud(k[X>>2]|0),Ud(k[ca>>2]|0),k[X>>2]=0,k[ca>>2]=0,(k[M>>2]|0)==0):0)?(Ud(k[z>>2]|0),k[z>>2]=0,ia=Tp(k[w>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[Y>>2]|0,z,M,R,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)==0&(k[_>>2]|0)!=0):0){k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[M>>2]|0))break b;ia=(be(k[_>>2]|0,k[(k[z>>2]|0)+(k[H>>2]<<2)>>2]|0)|0)==0;d=k[H>>2]|0;if(ia)break;k[H>>2]=d+1}k[I>>2]=d;while(1){if((k[I>>2]|0)>=(k[M>>2]|0))break;k[(k[z>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[z>>2]|0)+((k[I>>2]|0)+1<<2)>>2];k[I>>2]=(k[I>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+-1}while(0);if(!(k[ga>>2]|0)){if(!(k[M>>2]|0)){k[k[z>>2]>>2]=24948;k[R>>2]=8;k[M>>2]=1}if((k[fa>>2]|0)==0?(ia=Rp(k[S>>2]|0,21308,fa,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)!=0):0)break;ia=Up(k[ba>>2]|0,O,A)|0;k[ga>>2]=ia;if((k[ga>>2]|0)==1){ia=k[y>>2]|0;k[T>>2]=k[ba>>2];Jk(ia,24956,T)}if(!(k[ga>>2]|0)){k[L>>2]=280+(k[M>>2]<<2)+((k[O>>2]|0)*24|0)+(k[M>>2]|0)+(k[P>>2]|0)+(k[N>>2]|0)+(k[R>>2]|0);ia=Sd(k[L>>2]|0)|0;k[ea>>2]=ia;if(!(k[ea>>2]|0)){k[ga>>2]=7;break}uR(k[ea>>2]|0,0,k[L>>2]|0)|0;k[(k[ea>>2]|0)+12>>2]=k[w>>2];k[(k[ea>>2]|0)+24>>2]=k[M>>2];k[(k[ea>>2]|0)+260>>2]=0;k[(k[ea>>2]|0)+28>>2]=(k[ea>>2]|0)+280;k[(k[ea>>2]|0)+36>>2]=k[fa>>2];k[(k[ea>>2]|0)+256>>2]=1048576;i[(k[ea>>2]|0)+230>>0]=((k[G>>2]|0)!=0?(k[D>>2]|0)==0:0)&1;i[(k[ea>>2]|0)+229>>0]=k[G>>2];i[(k[ea>>2]|0)+228>>0]=k[G>>2];i[(k[ea>>2]|0)+231>>0]=k[C>>2];k[(k[ea>>2]|0)+48>>2]=255;k[(k[ea>>2]|0)+40>>2]=k[Y>>2];k[(k[ea>>2]|0)+44>>2]=k[_>>2];k[Y>>2]=0;k[_>>2]=0;k[(k[ea>>2]|0)+252>>2]=(k[(k[ea>>2]|0)+28>>2]|0)+(k[M>>2]<<2);sR(k[(k[ea>>2]|0)+252>>2]|0,k[A>>2]|0,(k[O>>2]|0)*24|0)|0;k[(k[ea>>2]|0)+248>>2]=k[O>>2];k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[O>>2]|0))break;ok((k[(k[ea>>2]|0)+252>>2]|0)+((k[E>>2]|0)*24|0)+4|0,1,1);k[E>>2]=(k[E>>2]|0)+1}k[(k[ea>>2]|0)+32>>2]=(k[(k[ea>>2]|0)+252>>2]|0)+((k[O>>2]|0)*24|0);k[Z>>2]=(k[(k[ea>>2]|0)+32>>2]|0)+(k[M>>2]|0);k[(k[ea>>2]|0)+20>>2]=k[Z>>2];sR(k[Z>>2]|0,k[(k[x>>2]|0)+8>>2]|0,k[P>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[P>>2]|0);k[(k[ea>>2]|0)+16>>2]=k[Z>>2];sR(k[Z>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[N>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[N>>2]|0);k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;k[J>>2]=0;ia=Vp(k[(k[z>>2]|0)+(k[F>>2]<<2)>>2]|0,J)|0;k[W>>2]=ia;sR(k[Z>>2]|0,k[W>>2]|0,k[J>>2]|0)|0;i[(k[Z>>2]|0)+(k[J>>2]|0)>>0]=0;Sk(k[Z>>2]|0);k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]=k[Z>>2];k[Z>>2]=(k[Z>>2]|0)+((k[J>>2]|0)+1);k[F>>2]=(k[F>>2]|0)+1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;ia=LQ(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0)|0;k[K>>2]=ia;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;k[aa>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];if(((k[aa>>2]|0)!=0?(ia=k[K>>2]|0,(ia|0)==(LQ(k[aa>>2]|0)|0)):0)?0==(Jd(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0,k[aa>>2]|0,k[K>>2]|0)|0):0){i[(k[(k[ea>>2]|0)+32>>2]|0)+(k[F>>2]|0)>>0]=1;Ud(k[aa>>2]|0);k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]=0}k[E>>2]=(k[E>>2]|0)+1}k[F>>2]=(k[F>>2]|0)+1}k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;if(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0){ia=k[y>>2]|0;k[U>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];Jk(ia,24991,U);k[ga>>2]=1}k[E>>2]=(k[E>>2]|0)+1}if((k[ga>>2]|0)==0?((k[X>>2]|0)==0|0)!=((k[ca>>2]|0)==0|0):0){k[$>>2]=(k[X>>2]|0)==0?25010:25019;k[ga>>2]=1;ia=k[y>>2]|0;k[V>>2]=k[$>>2];Jk(ia,25030,V)}ia=Wp(k[ea>>2]|0,k[ca>>2]|0,ga)|0;k[(k[ea>>2]|0)+216>>2]=ia;ia=Xp(k[ea>>2]|0,k[X>>2]|0,ga)|0;k[(k[ea>>2]|0)+220>>2]=ia;if(!(k[ga>>2]|0)){if(k[v>>2]|0){ia=Yp(k[ea>>2]|0)|0;k[ga>>2]=ia}if(!((k[G>>2]|0)!=0|(k[v>>2]|0)!=0))i[(k[ea>>2]|0)+229>>0]=2;Zp(ga,k[ea>>2]|0);k[(k[ea>>2]|0)+224>>2]=(k[(k[ea>>2]|0)+236>>2]|0)-35;_p(ga,k[ea>>2]|0)}}}}else k[ga>>2]=7;while(0);Ud(k[ba>>2]|0);Ud(k[A>>2]|0);Ud(k[X>>2]|0);Ud(k[ca>>2]|0);Ud(k[Y>>2]|0);Ud(k[_>>2]|0);k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;Ud(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0);k[E>>2]=(k[E>>2]|0)+1}Ud(k[z>>2]|0);Ud(k[B>>2]|0);d=k[ea>>2]|0;if(!(k[ga>>2]|0)){k[k[da>>2]>>2]=d;ia=k[ga>>2]|0;r=ha;return ia|0}if(d){Wk(k[ea>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}if(!(k[fa>>2]|0)){ia=k[ga>>2]|0;r=ha;return ia|0}bc[k[(k[k[fa>>2]>>2]|0)+8>>2]&255](k[fa>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}function Qp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(i[b>>0]&128){a=1;a=a&1;r=c;return a|0}a=(i[25712+(i[b>>0]|0)>>0]|0)!=0;a=a&1;r=c;return a|0}function Rp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;t=y+16|0;s=y+8|0;z=y;e=y+76|0;f=y+72|0;A=y+68|0;g=y+64|0;h=y+60|0;q=y+56|0;u=y+52|0;o=y+48|0;v=y+44|0;w=y+40|0;n=y+36|0;j=y+32|0;m=y+28|0;p=y+24|0;l=y+20|0;k[f>>2]=a;k[A>>2]=b;k[g>>2]=c;k[h>>2]=d;k[u>>2]=k[A>>2];k[o>>2]=0;k[z>>2]=k[A>>2];b=Yd(19255,z)|0;k[v>>2]=b;if(!(k[v>>2]|0)){k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=LQ(k[v>>2]|0)|0;k[w>>2]=(k[v>>2]|0)+A;A=Vp(k[v>>2]|0,o)|0;k[u>>2]=A;if(!(k[u>>2]|0))k[u>>2]=k[v>>2];i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Sk(k[u>>2]|0);z=k[f>>2]|0;A=k[u>>2]|0;A=Ik(z,A,(LQ(k[u>>2]|0)|0)+1|0)|0;k[n>>2]=A;if(k[n>>2]|0){k[j>>2]=0;k[m>>2]=0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1);while(1){if((k[u>>2]|0)>>>0>=(k[w>>2]|0)>>>0)break;A=Vp(k[u>>2]|0,o)|0;k[u>>2]=A;if(!A)break;k[p>>2]=(k[m>>2]|0)+1<<2;A=Vd(k[j>>2]|0,k[p>>2]|0)|0;k[l>>2]=A;if(!(k[l>>2]|0)){x=11;break}k[j>>2]=k[l>>2];z=k[u>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[(k[j>>2]|0)+(A<<2)>>2]=z;i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Sk(k[u>>2]|0);k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1)}if((x|0)==11){Ud(k[v>>2]|0);Ud(k[j>>2]|0);k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=Yb[k[(k[n>>2]|0)+4>>2]&255](k[m>>2]|0,k[j>>2]|0,k[g>>2]|0)|0;k[q>>2]=A;if(k[q>>2]|0)Jk(k[h>>2]|0,25694,t);else k[k[k[g>>2]>>2]>>2]=k[n>>2];Ud(k[j>>2]|0)}else{A=k[h>>2]|0;k[s>>2]=k[u>>2];Jk(A,21456,s);k[q>>2]=1}Ud(k[v>>2]|0);k[e>>2]=k[q>>2];A=k[e>>2]|0;r=y;return A|0}function Sp(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,l=0,m=0,n=0;n=r;r=r+32|0;h=n;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;l=n+8|0;j=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[e>>2];while(1){b=k[j>>2]|0;if((i[k[j>>2]>>0]|0)==61)break;if(!(i[b>>0]|0)){m=4;break}k[j>>2]=(k[j>>2]|0)+1}if((m|0)==4){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[k[f>>2]>>2]=b-(k[e>>2]|0);k[h>>2]=(k[j>>2]|0)+1;m=Yd(19255,h)|0;k[l>>2]=m;if(k[l>>2]|0)Sk(k[l>>2]|0);k[k[g>>2]>>2]=k[l>>2];k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}function Tp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+96|0;w=A+8|0;B=A;h=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;l=A+60|0;m=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;n=A+40|0;s=A+36|0;q=A+32|0;o=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;p=A+12|0;k[h>>2]=a;k[C>>2]=b;k[D>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[v>>2]=0;k[u>>2]=0;c=k[D>>2]|0;k[B>>2]=k[C>>2];k[B+4>>2]=c;c=Yd(25639,B)|0;k[z>>2]=c;if(k[z>>2]|0){D=nf(k[h>>2]|0,k[z>>2]|0,-1,u,0)|0;k[v>>2]=D;if(k[v>>2]|0){D=k[m>>2]|0;C=mf(k[h>>2]|0)|0;k[w>>2]=C;Jk(D,19255,w)}}else k[v>>2]=7;Ud(k[z>>2]|0);if(k[v>>2]|0){D=k[v>>2]|0;r=A;return D|0}k[s>>2]=0;D=Ie(k[u>>2]|0)|0;k[q>>2]=D;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;D=Se(k[u>>2]|0,k[o>>2]|0)|0;k[x>>2]=D;D=(LQ(k[x>>2]|0)|0)+1|0;k[s>>2]=(k[s>>2]|0)+D;k[o>>2]=(k[o>>2]|0)+1}D=Sd((k[q>>2]<<2)+(k[s>>2]|0)|0)|0;k[n>>2]=D;a:do if(!(k[n>>2]|0))k[v>>2]=7;else{k[t>>2]=(k[n>>2]|0)+(k[q>>2]<<2);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;D=Se(k[u>>2]|0,k[o>>2]|0)|0;k[y>>2]=D;D=(LQ(k[y>>2]|0)|0)+1|0;k[p>>2]=D;sR(k[t>>2]|0,k[y>>2]|0,k[p>>2]|0)|0;k[(k[n>>2]|0)+(k[o>>2]<<2)>>2]=k[t>>2];k[t>>2]=(k[t>>2]|0)+(k[p>>2]|0);k[o>>2]=(k[o>>2]|0)+1}}while(0);ge(k[u>>2]|0)|0;k[k[j>>2]>>2]=k[q>>2];k[k[l>>2]>>2]=k[s>>2];k[k[i>>2]>>2]=k[n>>2];D=k[v>>2]|0;r=A;return D|0}function Up(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,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;n=p+12|0;o=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=1;a:do if((k[e>>2]|0)!=0?(i[k[e>>2]>>0]|0)!=0:0){k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=k[e>>2];while(1){if(!(i[k[n>>2]>>0]|0))break a;if((i[k[n>>2]>>0]|0)==44)k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}}while(0);a=Sd((k[l>>2]|0)*24|0)|0;k[h>>2]=a;k[k[g>>2]>>2]=k[h>>2];if(!(k[h>>2]|0)){k[d>>2]=7;a=k[d>>2]|0;r=p;return a|0}uR(k[h>>2]|0,0,(k[l>>2]|0)*24|0)|0;b:do if(k[e>>2]|0){k[o>>2]=k[e>>2];k[j>>2]=1;while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break b;k[m>>2]=0;if(bq(o,m)|0)break;if(!(k[m>>2]|0)){k[l>>2]=(k[l>>2]|0)+-1;k[j>>2]=(k[j>>2]|0)+-1}else k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)>>2]=k[m>>2];k[o>>2]=(k[o>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}k[d>>2]=1;a=k[d>>2]|0;r=p;return a|0}while(0);k[k[f>>2]>>2]=k[l>>2];k[d>>2]=0;a=k[d>>2]|0;r=p;return a|0}function Vp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c=h+20|0;k[j>>2]=a;k[e>>2]=b;k[g>>2]=0;k[f>>2]=k[j>>2];a:while(1){if(k[g>>2]|0){b=21;break}i[c>>0]=i[k[f>>2]>>0]|0;switch(i[c>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{k[g>>2]=k[f>>2];while(1){j=(k[g>>2]|0)+1|0;k[g>>2]=j;if(!(i[j>>0]|0))continue a;if((i[k[g>>2]>>0]|0)!=(i[c>>0]|0))continue;j=(k[g>>2]|0)+1|0;k[g>>2]=j;if((i[j>>0]|0)!=(i[c>>0]|0))continue a}}case 91:{k[g>>2]=(k[f>>2]|0)+1;while(1){if(i[k[g>>2]>>0]|0)a=(i[k[g>>2]>>0]|0)!=93;else a=0;b=k[g>>2]|0;if(!a)break;k[g>>2]=b+1}if(!(i[b>>0]|0))continue a;k[g>>2]=(k[g>>2]|0)+1;continue a}default:{j=(Qp(i[k[f>>2]>>0]|0)|0)!=0;b=(k[f>>2]|0)+1|0;if(!j){k[f>>2]=b;continue a}k[g>>2]=b;while(1){if(!(Qp(i[k[g>>2]>>0]|0)|0))continue a;k[g>>2]=(k[g>>2]|0)+1}}}}if((b|0)==4){k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}else if((b|0)==21){k[k[e>>2]>>2]=(k[g>>2]|0)-(k[f>>2]|0);k[d>>2]=k[f>>2];j=k[d>>2]|0;r=h;return j|0}return 0}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+96|0;q=t+56|0;j=t+48|0;i=t+40|0;m=t+32|0;l=t+24|0;h=t+8|0;g=t;p=t+92|0;d=t+88|0;e=t+84|0;s=t+80|0;n=t+76|0;o=t+72|0;f=t+68|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[s>>2]=0;k[n>>2]=0;if(k[(k[p>>2]|0)+40>>2]|0){aq(k[e>>2]|0,s,25592,m);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;k[i>>2]=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2];aq(o,s,25598,i);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[j>>2]=k[(k[p>>2]|0)+44>>2];aq(o,s,25578,j)}}else{if(k[d>>2]|0){b=$p(k[d>>2]|0)|0;k[o>>2]=b;k[n>>2]=b}else k[o>>2]=19266;aq(k[e>>2]|0,s,25557,g);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;b=k[e>>2]|0;j=k[f>>2]|0;m=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]|0;k[h>>2]=k[o>>2];k[h+4>>2]=j;k[h+8>>2]=m;aq(b,s,25563,h);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[l>>2]=25585;aq(o,s,25578,l)}Ud(k[n>>2]|0)}d=k[e>>2]|0;e=k[(k[p>>2]|0)+16>>2]|0;f=k[p>>2]|0;if(k[(k[p>>2]|0)+40>>2]|0){b=k[f+40>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?19266:25607;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;aq(d,s,25616,q);s=k[s>>2]|0;r=t;return s|0}else{b=k[f+20>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?19266:25607;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;aq(d,s,25616,q);s=k[s>>2]|0;r=t;return s|0}return 0}function Xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;i=n+16|0;h=n+8|0;d=n+44|0;e=n+40|0;f=n+36|0;m=n+32|0;j=n+28|0;l=n+24|0;g=n+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[j>>2]=0;if(k[e>>2]|0){b=$p(k[e>>2]|0)|0;k[l>>2]=b;k[j>>2]=b}else k[l>>2]=19266;aq(k[f>>2]|0,m,21139,n);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+24>>2]|0))break;b=k[f>>2]|0;k[h>>2]=k[l>>2];aq(b,m,25541,h);k[g>>2]=(k[g>>2]|0)+1}if(!(k[(k[d>>2]|0)+44>>2]|0)){l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}aq(k[f>>2]|0,m,25548,i);l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}function Yp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+112|0;l=q+64|0;h=q+56|0;g=q+48|0;f=q+32|0;m=q+24|0;j=q+8|0;b=q+96|0;e=q+92|0;d=q+88|0;c=q+84|0;p=q+80|0;o=q+76|0;n=q+72|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];if(!(k[(k[b>>2]|0)+40>>2]|0)){k[p>>2]=k[(k[b>>2]|0)+44>>2];a=Yd(25166,q)|0;k[o>>2]=a;k[d>>2]=0;while(1){if(!(k[o>>2]|0))break;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+24>>2]|0))break;k[n>>2]=k[(k[(k[b>>2]|0)+28>>2]|0)+(k[d>>2]<<2)>>2];s=k[d>>2]|0;a=k[n>>2]|0;k[j>>2]=k[o>>2];k[j+4>>2]=s;k[j+8>>2]=a;a=Yd(25192,j)|0;k[o>>2]=a;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)!=0&(k[o>>2]|0)!=0){s=k[p>>2]|0;k[m>>2]=k[o>>2];k[m+4>>2]=s;s=Yd(25204,m)|0;k[o>>2]=s}if(!(k[o>>2]|0))k[e>>2]=7;s=k[c>>2]|0;n=k[(k[b>>2]|0)+20>>2]|0;p=k[o>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=n;k[f+8>>2]=p;rl(e,s,25215,f);Ud(k[o>>2]|0)}s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[g>>2]=k[(k[b>>2]|0)+16>>2];k[g+4>>2]=p;rl(e,s,25248,g);s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=k[(k[b>>2]|0)+16>>2];k[h+4>>2]=p;rl(e,s,25320,h);if(i[(k[b>>2]|0)+230>>0]|0){s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=k[(k[b>>2]|0)+16>>2];k[l+4>>2]=p;rl(e,s,25473,l)}if(!(i[(k[b>>2]|0)+229>>0]|0)){s=k[e>>2]|0;r=q;return s|0}fp(e,k[b>>2]|0);s=k[e>>2]|0;r=q;return s|0}function Zp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+20|0;d=i+16|0;f=i+12|0;h=i+8|0;e=i+4|0;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){r=i;return}k[g>>2]=k[(k[d>>2]|0)+16>>2];g=Yd(25146,g)|0;k[h>>2]=g;do if(k[h>>2]|0){g=nf(k[(k[d>>2]|0)+12>>2]|0,k[h>>2]|0,-1,e,0)|0;k[f>>2]=g;if(!(k[f>>2]|0)){Ee(k[e>>2]|0)|0;g=Ne(k[e>>2]|0,0)|0;k[(k[d>>2]|0)+236>>2]=g;g=ge(k[e>>2]|0)|0;k[f>>2]=g;break}if((k[f>>2]|0)==23){k[(k[d>>2]|0)+236>>2]=1024;k[f>>2]=0}}else k[f>>2]=7;while(0);Ud(k[h>>2]|0);k[k[c>>2]>>2]=k[f>>2];r=i;return}function _p(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;j=o+24|0;i=o+16|0;d=o+8|0;c=o;e=o+60|0;f=o+56|0;g=o+52|0;h=o+48|0;n=o+44|0;l=o+40|0;m=o+36|0;k[e>>2]=a;k[f>>2]=b;if(k[k[e>>2]>>2]|0){r=o;return}if(k[(k[f>>2]|0)+44>>2]|0)b=k[(k[f>>2]|0)+44>>2]|0;else b=25071;k[m>>2]=b;a=k[(k[f>>2]|0)+12>>2]|0;k[c>>2]=1;sf(a,1,c)|0;k[d>>2]=k[k[(k[f>>2]|0)+28>>2]>>2];d=Yd(25080,d)|0;k[l>>2]=d;k[g>>2]=1;while(1){if(k[l>>2]|0)a=(k[g>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0);else a=0;b=k[l>>2]|0;if(!a)break;d=k[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]<<2)>>2]|0;k[i>>2]=b;k[i+4>>2]=d;d=Yd(25085,i)|0;k[l>>2]=d;k[g>>2]=(k[g>>2]|0)+1}i=k[(k[f>>2]|0)+20>>2]|0;m=k[m>>2]|0;k[j>>2]=b;k[j+4>>2]=i;k[j+8>>2]=m;m=Yd(25092,j)|0;k[n>>2]=m;if((k[l>>2]|0)!=0&(k[n>>2]|0)!=0){m=qf(k[(k[f>>2]|0)+12>>2]|0,k[n>>2]|0)|0;k[h>>2]=m}else k[h>>2]=7;Ud(k[n>>2]|0);Ud(k[l>>2]|0);k[k[e>>2]>>2]=k[h>>2];r=o;return}function $p(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;g=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=2+((LQ(k[b>>2]|0)|0)<<1)+1|0;k[g>>2]=a;a=Sd(k[g>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}k[d>>2]=k[e>>2];g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;k[c>>2]=0;while(1){if(!(i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0))break;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==34){g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34}a=i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=a;k[c>>2]=(k[c>>2]|0)+1}g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=0;g=k[e>>2]|0;r=f;return g|0}function aq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;i=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+16|0;j=m+12|0;l=m+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=m;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[j>>2]=c;if((k[j>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0){c=k[j>>2]|0;k[i>>2]=k[k[f>>2]>>2];k[i+4>>2]=c;c=Yd(25552,i)|0;k[l>>2]=c;Ud(k[j>>2]|0);k[j>>2]=k[l>>2]}if(!(k[j>>2]|0))k[k[e>>2]>>2]=7;Ud(k[k[f>>2]>>2]|0);k[k[f>>2]>>2]=k[j>>2];r=m;return}function bq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;g=j+4|0;f=j;k[d>>2]=a;k[e>>2]=b;k[j+8>>2]=1e7;k[f>>2]=0;k[g>>2]=k[k[d>>2]>>2];while(1){if((i[k[g>>2]>>0]|0)<48)break;if((i[k[g>>2]>>0]|0)>57)break;k[f>>2]=((k[f>>2]|0)*10|0)+((i[k[g>>2]>>0]|0)-48);if((k[f>>2]|0)>1e7){h=5;break}k[g>>2]=(k[g>>2]|0)+1}if((h|0)==5)k[f>>2]=0;if((k[g>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}else{k[k[e>>2]>>2]=k[f>>2];k[k[d>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}return 0}function cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+48|0;h=l;d=l+32|0;m=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;j=l+12|0;e=l+8|0;i=l+4|0;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[g>>2]=0;a=Fe(k[d>>2]|0)|0;k[f>>2]=a;a=ke(k[k[n>>2]>>2]|0)|0;k[j>>2]=a;a=(le(k[k[n>>2]>>2]|0)|0)+1|0;k[e>>2]=a;if((k[m>>2]|0)==2){te(k[d>>2]|0,25840,-1);r=l;return}if(k[j>>2]|0){n=Ik(k[f>>2]|0,k[j>>2]|0,k[e>>2]|0)|0;k[g>>2]=n}if(k[g>>2]|0){qe(k[d>>2]|0,g,4,-1);r=l;return}else{k[h>>2]=k[j>>2];n=Yd(21456,h)|0;k[i>>2]=n;te(k[d>>2]|0,k[i>>2]|0,-1);Ud(k[i>>2]|0);r=l;return}}function dq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];f=k[g>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if((k[k[g>>2]>>2]|0)<=0)k[(k[g>>2]|0)+4>>2]=0;if((i[(k[d>>2]|0)+1>>0]|0)!=0?(k[(k[e>>2]|0)+12>>2]|0)!=0:0)uk(k[(k[e>>2]|0)+12>>2]|0);uk(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if((k[(k[d>>2]|0)+4>>2]|0)>0){r=h;return}tk(k[d>>2]|0);r=h;return}function eq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;e=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;l=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;a=fq(k[e>>2]<<3)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}uk(k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[h>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=Lk(i[k[d>>2]>>0]|0)|0;k[l>>2]=a;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=gc[k[l>>2]&255](k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a&(k[e>>2]|0)-1;k[j>>2]=k[k[f>>2]>>2];gq(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[j>>2]}k[c>>2]=0;l=k[c>>2]|0;r=m;return l|0}function fq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}uR(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function gq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+4|0;f=g;k[g+12>>2]=a;k[g+8>>2]=b;k[e>>2]=c;c=Sd(4)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}else{k[k[f>>2]>>2]=0;k[k[e>>2]>>2]=k[f>>2];k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function iq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function jq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=Sd(28)|0;k[i>>2]=b;if(!(k[i>>2]|0)){k[e>>2]=7;b=k[e>>2]|0;r=j;return b|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){b=LQ(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=b;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;b=k[e>>2]|0;r=j;return b|0}function kq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function lq(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+48|0;x=w+44|0;h=w+40|0;j=w+36|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;u=w+16|0;q=w+12|0;p=w+8|0;s=w+4|0;t=w;k[x>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=k[x>>2];k[u>>2]=k[(k[o>>2]|0)+4>>2];do{if((k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[o>>2]|0)+8>>2]|0)){v=23;break}while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)?(x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0,k[p>>2]=x,(x&128|0)==0):0)if((k[p>>2]|0)<48)a=1;else a=(i[25909+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[q>>2]=f;while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)){x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0;k[p>>2]=x;if(!(x&128))if((k[p>>2]|0)<48)a=1;else a=(i[25909+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;a=a^1}else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[q>>2]|0));if((v|0)==23){k[g>>2]=101;x=k[g>>2]|0;r=w;return x|0}k[s>>2]=(k[(k[o>>2]|0)+12>>2]|0)-(k[q>>2]|0);do if((k[s>>2]|0)>(k[(k[o>>2]|0)+24>>2]|0)){k[(k[o>>2]|0)+24>>2]=(k[s>>2]|0)+20;x=Vd(k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;k[t>>2]=x;if(k[t>>2]|0){k[(k[o>>2]|0)+20>>2]=k[t>>2];break}k[g>>2]=7;x=k[g>>2]|0;r=w;return x|0}while(0);mq((k[u>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[j>>2]|0);k[k[h>>2]>>2]=k[(k[o>>2]|0)+20>>2];k[k[l>>2]>>2]=k[q>>2];k[k[m>>2]>>2]=k[(k[o>>2]|0)+12>>2];v=(k[o>>2]|0)+16|0;x=k[v>>2]|0;k[v>>2]=x+1;k[k[n>>2]>>2]=x;k[g>>2]=0;x=k[g>>2]|0;r=w;return x|0}function mq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;e=s+28|0;f=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;h=s+8|0;l=s+36|0;q=s+4|0;j=s;g=s+32|0;k[e>>2]=a;k[f>>2]=b;k[n>>2]=c;k[o>>2]=d;if((k[f>>2]|0)<3|(k[f>>2]|0)>=21){nq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}k[p>>2]=0;k[h>>2]=22;while(1){if((k[p>>2]|0)>=(k[f>>2]|0))break;i[g>>0]=i[(k[e>>2]|0)+(k[p>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0)i[l+(k[h>>2]|0)>>0]=(i[g>>0]|0)+97-65;else{if((i[g>>0]|0)<97){m=11;break}if((i[g>>0]|0)>122){m=11;break}i[l+(k[h>>2]|0)>>0]=i[g>>0]|0}k[p>>2]=(k[p>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+-1}if((m|0)==11){nq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}m=l+23|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;i[m+4>>0]=0;k[q>>2]=l+((k[h>>2]|0)+1);if((((i[k[q>>2]>>0]|0)==115?(oq(q,25989,25994,0)|0)==0:0)?(oq(q,25997,26001,0)|0)==0:0)?(oq(q,25994,25994,0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1;k[j>>2]=k[q>>2];do if(!(oq(q,26003,26007,172)|0)){if((oq(q,26010,19266,173)|0)==0?(oq(q,26014,19266,173)|0)==0:0)break;if((((k[q>>2]|0)!=(k[j>>2]|0)?(oq(q,26017,26020,0)|0)==0:0)?(oq(q,26024,26027,0)|0)==0:0)?(oq(q,26031,26034,0)|0)==0:0){if((((rq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)!=108:0)?(i[k[q>>2]>>0]|0)!=115:0)?(i[k[q>>2]>>0]|0)!=122:0){k[q>>2]=(k[q>>2]|0)+1;break}if((sq(k[q>>2]|0)|0)!=0?(tq(k[q>>2]|0)|0)!=0:0){m=(k[q>>2]|0)+-1|0;k[q>>2]=m;i[m>>0]=101}}}while(0);if((i[k[q>>2]>>0]|0)==121?(qq((k[q>>2]|0)+1|0)|0)!=0:0)i[k[q>>2]>>0]=105;switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if(!(oq(q,26038,26020,172)|0))oq(q,26046,26053,172)|0;break}case 99:{if(!(oq(q,26058,26063,172)|0))oq(q,26068,26073,172)|0;break}case 101:{oq(q,26078,26034,172)|0;break}case 103:{oq(q,26083,26088,172)|0;break}case 108:{if((((oq(q,26092,26027,172)|0)==0?(oq(q,26096,26101,172)|0)==0:0)?(oq(q,26104,26110,172)|0)==0:0)?(oq(q,26114,26118,172)|0)==0:0)oq(q,26120,26126,172)|0;break}case 111:{if((oq(q,26130,26034,172)|0)==0?(oq(q,26138,26020,172)|0)==0:0)oq(q,26144,26020,172)|0;break}case 115:{if(((oq(q,26149,26101,172)|0)==0?(oq(q,26155,26163,172)|0)==0:0)?(oq(q,26167,26175,172)|0)==0:0)oq(q,26179,26126,172)|0;break}case 116:{if((oq(q,26187,26101,172)|0)==0?(oq(q,26193,26163,172)|0)==0:0)oq(q,26199,26027,172)|0;break}default:{}}switch(i[k[q>>2]>>0]|0){case 101:{if((oq(q,26206,26212,172)|0)==0?(oq(q,26215,19266,172)|0)==0:0)oq(q,26221,26101,172)|0;break}case 105:{oq(q,26227,26212,172)|0;break}case 108:{if(!(oq(q,26233,26212,172)|0))oq(q,26238,19266,172)|0;break}case 115:{oq(q,26242,19266,172)|0;break}default:{}}a:do switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if((i[k[q>>2]>>0]|0)==108?(uq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 99:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==110:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=101:0)break a;if(uq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 101:{if((i[k[q>>2]>>0]|0)==114?(uq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 105:{if((i[k[q>>2]>>0]|0)==99?(uq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 108:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==98:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=105:0)break a;if(uq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 110:{if((i[k[q>>2]>>0]|0)==116){e=k[q>>2]|0;if((i[(k[q>>2]|0)+2>>0]|0)==97){if(!(uq(e+3|0)|0))break a;k[q>>2]=(k[q>>2]|0)+3;break a}if(((i[e+2>>0]|0)==101?(oq(q,26247,19266,174)|0)==0:0)?(oq(q,26253,19266,174)|0)==0:0)oq(q,26258,19266,174)|0}break}case 111:{e=k[q>>2]|0;if((i[k[q>>2]>>0]|0)==117){if(!(uq(e+2|0)|0))break a;k[q>>2]=(k[q>>2]|0)+2;break a}if((i[e+3>>0]|0)!=115?(i[(k[q>>2]|0)+3>>0]|0)!=116:0)break a;oq(q,26262,19266,174)|0;break}case 115:{if(((i[k[q>>2]>>0]|0)==109?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(uq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 116:{if(!(oq(q,26266,19266,174)|0))oq(q,26270,19266,174)|0;break}case 117:{if(((i[k[q>>2]>>0]|0)==115?(i[(k[q>>2]|0)+2>>0]|0)==111:0)?(uq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 122:case 118:{if(((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(uq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}default:{}}while(0);do if((i[k[q>>2]>>0]|0)==101){m=(uq((k[q>>2]|0)+1|0)|0)!=0;e=(k[q>>2]|0)+1|0;if(m){k[q>>2]=e;break}if((sq(e)|0)!=0?(tq((k[q>>2]|0)+1|0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1}while(0);if(((uq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)==108:0)?(i[(k[q>>2]|0)+1>>0]|0)==108:0)k[q>>2]=(k[q>>2]|0)+1;m=LQ(k[q>>2]|0)|0;k[p>>2]=m;k[k[o>>2]>>2]=m;i[(k[n>>2]|0)+(k[p>>2]|0)>>0]=0;while(1){if(!(i[k[q>>2]>>0]|0))break;m=k[q>>2]|0;k[q>>2]=m+1;m=i[m>>0]|0;o=(k[p>>2]|0)+-1|0;k[p>>2]=o;i[(k[n>>2]|0)+o>>0]=m}r=s;return}function nq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;j=p+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[j>>0]=i[(k[e>>2]|0)+(k[m>>2]|0)>>0]|0;if((i[j>>0]|0)>=65?(i[j>>0]|0)<=90:0)i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=(i[j>>0]|0)-65+97;else{if((i[j>>0]|0)>=48?(i[j>>0]|0)<=57:0)k[l>>2]=1;i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=i[j>>0]|0}k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=(k[l>>2]|0)!=0?3:10;if((k[f>>2]|0)<=(k[o>>2]<<1|0)){a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}k[n>>2]=k[o>>2];k[m>>2]=(k[f>>2]|0)-(k[o>>2]|0);while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[n>>2]|0)>>0]=i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0;k[m>>2]=(k[m>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=k[n>>2];a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}function oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];while(1){if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)!=(i[k[l>>2]>>0]|0))break;k[l>>2]=(k[l>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if(i[k[g>>2]>>0]|0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}if((k[j>>2]|0)!=0?(bc[k[j>>2]&255](k[l>>2]|0)|0)==0:0){k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}while(1){if(!(i[k[h>>2]>>0]|0))break;b=k[h>>2]|0;k[h>>2]=b+1;b=i[b>>0]|0;c=(k[l>>2]|0)+-1|0;k[l>>2]=c;i[c>>0]=b}k[k[f>>2]>>2]=k[l>>2];k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function pq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(vq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(wq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function qq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){d=(wq(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!d)break;k[b>>2]=a+1}r=c;return (i[a>>0]|0)!=0|0}function rq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(wq(k[b>>2]|0)|0)){a=0;a=a&1;r=c;return a|0}a=(i[k[b>>2]>>0]|0)==(i[(k[b>>2]|0)+1>>0]|0);a=a&1;r=c;return a|0}function sq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(vq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(wq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(vq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=1;e=k[b>>2]|0;r=d;return e|0}while(1){e=(wq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)==0&1;e=k[b>>2]|0;r=d;return e|0}function tq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((((wq(k[b>>2]|0)|0)!=0?(i[k[b>>2]>>0]|0)!=119:0)?(i[k[b>>2]>>0]|0)!=120:0)?(i[k[b>>2]>>0]|0)!=121:0)?(vq((k[b>>2]|0)+1|0)|0)!=0:0)b=(wq((k[b>>2]|0)+2|0)|0)!=0;else b=0;r=c;return b&1|0}function uq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(vq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(wq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(vq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(wq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function vq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;e=f+12|0;k[c>>2]=a;i[e>>0]=i[k[c>>2]>>0]|0;if(!(i[e>>0]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[d>>2]=i[26274+((i[e>>0]|0)-97)>>0];if((k[d>>2]|0)<2){k[b>>2]=1-(k[d>>2]|0);a=k[b>>2]|0;r=f;return a|0}else{a=wq((k[c>>2]|0)+1|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=f;return a|0}return 0}function wq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;b=f+4|0;c=f;d=f+12|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if(!(i[d>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=i[26274+((i[d>>0]|0)-97)>>0];if((k[c>>2]|0)<2){k[e>>2]=k[c>>2];e=k[e>>2]|0;r=f;return e|0}if(!(i[(k[b>>2]|0)+1>>0]|0))b=1;else b=(vq((k[b>>2]|0)+1|0)|0)!=0;k[e>>2]=b&1;e=k[e>>2]|0;r=f;return e|0}function xq(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,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;o=p+12|0;j=p+8|0;n=p+4|0;h=p+32|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Sd(132)|0;k[o>>2]=c;if(!(k[o>>2]|0)){k[d>>2]=7;o=k[d>>2]|0;r=p;return o|0}uR(k[o>>2]|0,0,132)|0;a:do if((k[e>>2]|0)>1){c=LQ(k[(k[f>>2]|0)+4>>2]|0)|0;k[n>>2]=c;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break a;i[h>>0]=i[(k[(k[f>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]|0;if((l[h>>0]|0|0)>=128)break;i[(k[o>>2]|0)+4+(l[h>>0]|0)>>0]=1;k[j>>2]=(k[j>>2]|0)+1}Ud(k[o>>2]|0);k[d>>2]=1;o=k[d>>2]|0;r=p;return o|0}else{k[m>>2]=1;while(1){if((k[m>>2]|0)>=128)break a;c=(Dq(k[m>>2]|0)|0)!=0^1;i[(k[o>>2]|0)+4+(k[m>>2]|0)>>0]=c?-1:0;k[m>>2]=(k[m>>2]|0)+1}}while(0);k[k[g>>2]>>2]=k[o>>2];k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}function yq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function zq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=LQ(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Aq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Bq(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;m=z+52|0;A=z+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;s=z+28|0;t=z+24|0;h=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;g=z;u=z+56|0;k[A>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=k[A>>2];k[h>>2]=k[k[A>>2]>>2];k[y>>2]=k[(k[t>>2]|0)+4>>2];do{if((k[(k[t>>2]|0)+12>>2]|0)>=(k[(k[t>>2]|0)+8>>2]|0)){j=25;break}while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Cq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[w>>2]=f;while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Cq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[w>>2]|0));if((j|0)==25){k[m>>2]=101;A=k[m>>2]|0;r=z;return A|0}k[x>>2]=(k[(k[t>>2]|0)+12>>2]|0)-(k[w>>2]|0);do if((k[x>>2]|0)>(k[(k[t>>2]|0)+24>>2]|0)){k[(k[t>>2]|0)+24>>2]=(k[x>>2]|0)+20;A=Vd(k[(k[t>>2]|0)+20>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[g>>2]=A;if(k[g>>2]|0){k[(k[t>>2]|0)+20>>2]=k[g>>2];break}k[m>>2]=7;A=k[m>>2]|0;r=z;return A|0}while(0);k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[x>>2]|0))break;i[u>>0]=i[(k[y>>2]|0)+((k[w>>2]|0)+(k[v>>2]|0))>>0]|0;if((l[u>>0]|0|0)>=65?(l[u>>0]|0|0)<=90:0)a=(l[u>>0]|0)-65+97|0;else a=l[u>>0]|0;i[(k[(k[t>>2]|0)+20>>2]|0)+(k[v>>2]|0)>>0]=a;k[v>>2]=(k[v>>2]|0)+1}k[k[n>>2]>>2]=k[(k[t>>2]|0)+20>>2];k[k[o>>2]>>2]=k[x>>2];k[k[p>>2]>>2]=k[w>>2];k[k[q>>2]>>2]=k[(k[t>>2]|0)+12>>2];y=(k[t>>2]|0)+16|0;A=k[y>>2]|0;k[y>>2]=A+1;k[k[s>>2]>>2]=A;k[m>>2]=0;A=k[m>>2]|0;r=z;return A|0}function Cq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((l[d>>0]|0)>=128){a=0;a=a&1;r=e;return a|0}a=(i[(k[c>>2]|0)+4+(l[d>>0]|0)>>0]|0)!=0;a=a&1;r=e;return a|0}function Dq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)>=48&(k[b>>2]|0)<=57)?!((k[b>>2]|0)>=65&(k[b>>2]|0)<=90):0)b=(k[b>>2]|0)>=97?(k[b>>2]|0)<=122:0;else b=1;r=c;return b&1|0}function Eq(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;t=w;g=w+56|0;h=w+52|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;u=w+28|0;v=w+24|0;o=w+20|0;p=w+16|0;n=w+12|0;s=w+8|0;q=w+4|0;k[h>>2]=a;k[w+48>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;do if(!((k[i>>2]|0)!=4&(k[i>>2]|0)!=5)){k[u>>2]=k[(k[j>>2]|0)+4>>2];f=LQ(k[u>>2]|0)|0;k[o>>2]=f;if((k[i>>2]|0)==5){if((k[o>>2]|0)!=4)break;if(Jd(19536,k[u>>2]|0,4)|0)break;k[u>>2]=k[(k[j>>2]|0)+12>>2];t=LQ(k[u>>2]|0)|0;k[o>>2]=t;k[v>>2]=k[(k[j>>2]|0)+16>>2]}else k[v>>2]=k[(k[j>>2]|0)+12>>2];t=LQ(k[v>>2]|0)|0;k[p>>2]=t;t=qf(k[h>>2]|0,26310)|0;k[s>>2]=t;if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[n>>2]=296+(k[o>>2]|0)+(k[p>>2]|0)+2;t=Sd(k[n>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){uR(k[q>>2]|0,0,k[n>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=(k[q>>2]|0)+16;k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]=(k[(k[q>>2]|0)+12>>2]|0)+280;k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]=(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0)+((k[o>>2]|0)+1);k[(k[(k[q>>2]|0)+12>>2]|0)+12>>2]=k[h>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+248>>2]=1;sR(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;sR(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0,k[v>>2]|0,k[p>>2]|0)|0;Sk(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0);k[k[l>>2]>>2]=k[q>>2];k[g>>2]=0;v=k[g>>2]|0;r=w;return v|0}else{k[g>>2]=7;v=k[g>>2]|0;r=w;return v|0}}while(0);Jk(k[m>>2]|0,26379,t);k[g>>2]=1;v=k[g>>2]|0;r=w;return v|0}function Fq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;f=o+32|0;c=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;n=o+8|0;e=o+4|0;d=o;k[o+36>>2]=a;k[f>>2]=b;k[g>>2]=-1;k[h>>2]=-1;k[m>>2]=-1;k[j>>2]=-1;k[n>>2]=1;if(((k[(k[f>>2]|0)+8>>2]|0)==1?(k[k[(k[f>>2]|0)+12>>2]>>2]|0)==0:0)?(l[(k[(k[f>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)k[(k[f>>2]|0)+32>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[f>>2]>>2]|0))break;if(i[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+5>>0]|0){k[e>>2]=l[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+4>>0];k[d>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)>>2];if(!(k[d>>2]|0)){if((k[e>>2]|0)==2)k[g>>2]=k[c>>2];if((k[e>>2]|0)==16)k[m>>2]=k[c>>2];if((k[e>>2]|0)==8)k[m>>2]=k[c>>2];if((k[e>>2]|0)==4)k[h>>2]=k[c>>2];if((k[e>>2]|0)==32)k[h>>2]=k[c>>2]}if((k[d>>2]|0)==4&(k[e>>2]|0)==2)k[j>>2]=k[c>>2]}k[c>>2]=(k[c>>2]|0)+1}c=(k[f>>2]|0)+20|0;if((k[g>>2]|0)<0){k[c>>2]=0;p[(k[f>>2]|0)+40>>3]=2.0e4;if((k[h>>2]|0)>=0){g=(k[f>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+2;g=k[n>>2]|0;k[n>>2]=g+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=g;h=(k[f>>2]|0)+40|0;p[h>>3]=+p[h>>3]/2.0}if((k[m>>2]|0)>=0){h=(k[f>>2]|0)+20|0;k[h>>2]=(k[h>>2]|0)+4;h=k[n>>2]|0;k[n>>2]=h+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<3)>>2]=h;m=(k[f>>2]|0)+40|0;p[m>>3]=+p[m>>3]/2.0}}else{k[c>>2]=1;m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=m;p[(k[f>>2]|0)+40>>3]=5.0}if((k[j>>2]|0)<0){r=o;return 0}m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=m;n=(k[f>>2]|0)+40|0;p[n>>3]=+p[n>>3]+-1.0;r=o;return 0}function Gq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];k[d>>2]=k[(k[c>>2]|0)+12>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;ge(k[(k[d>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[d>>2]|0)+240>>2]|0);Ud(k[c>>2]|0);r=e;return 0}function Hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(120)|0;k[e>>2]=b;if(k[e>>2]|0){a=k[e>>2]|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}return 0}function Iq(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;d=b+4|0;c=b;k[e>>2]=a;k[d>>2]=k[(k[k[e>>2]>>2]|0)+12>>2];k[c>>2]=k[e>>2];Cm(k[d>>2]|0);Fl((k[c>>2]|0)+4|0);Ud(k[(k[c>>2]|0)+60>>2]|0);Ud(k[(k[c>>2]|0)+76>>2]|0);Ud(k[(k[c>>2]|0)+112>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Jq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;x=z+8|0;w=z;f=z+76|0;g=z+72|0;h=z+68|0;i=z+60|0;j=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;n=z+36|0;l=z+32|0;m=z+28|0;p=z+24|0;o=z+20|0;q=z+16|0;y=z+12|0;k[g>>2]=a;k[h>>2]=b;k[z+64>>2]=c;k[i>>2]=d;k[j>>2]=e;k[t>>2]=k[g>>2];k[u>>2]=k[(k[k[g>>2]>>2]|0)+12>>2];k[s>>2]=0;k[n>>2]=0;k[l>>2]=-1;k[m>>2]=-1;k[p>>2]=-1;k[o>>2]=-1;k[q>>2]=0;if((k[h>>2]|0)!=1){k[s>>2]=1;if(k[h>>2]&2){a=k[q>>2]|0;k[q>>2]=a+1;k[m>>2]=a}if(k[h>>2]&4){a=k[q>>2]|0;k[q>>2]=a+1;k[p>>2]=a}}else{a=k[q>>2]|0;k[q>>2]=a+1;k[l>>2]=a}if((k[q>>2]|0)<(k[i>>2]|0)){a=k[q>>2]|0;k[q>>2]=a+1;k[o>>2]=a}Fl((k[t>>2]|0)+4|0);Ud(k[(k[t>>2]|0)+60>>2]|0);Ud(k[(k[t>>2]|0)+112>>2]|0);uR((k[t>>2]|0)+4|0,0,(k[t>>2]|0)+120-((k[t>>2]|0)+4)|0)|0;k[(k[t>>2]|0)+60+12>>2]=3;if(k[s>>2]|0){a=(k[t>>2]|0)+60+12|0;k[a>>2]=k[a>>2]|16}if(((k[l>>2]|0)>=0|(k[m>>2]|0)>=0?(a=ke(k[k[j>>2]>>2]|0)|0,k[y>>2]=a,(k[y>>2]|0)!=0):0)?(k[w>>2]=k[y>>2],y=Yd(19255,w)|0,k[(k[t>>2]|0)+60>>2]=y,y=le(k[k[j>>2]>>2]|0)|0,k[(k[t>>2]|0)+60+4>>2]=y,(k[(k[t>>2]|0)+60>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[p>>2]|0)>=0?(y=ke(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[x>>2]=y,y=Yd(19255,x)|0,k[(k[t>>2]|0)+76>>2]=y,y=le(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[(k[t>>2]|0)+80>>2]=y,(k[(k[t>>2]|0)+76>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[o>>2]|0)>=0){y=ne(k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]|0)|0;k[n>>2]=y;k[n>>2]=(k[n>>2]|0)<0?0:y}k[(k[t>>2]|0)+84>>2]=k[n>>2];y=ul(k[u>>2]|0,k[n>>2]|0,0,-2,k[(k[t>>2]|0)+60>>2]|0,k[(k[t>>2]|0)+60+4>>2]|0,0,k[s>>2]|0,(k[t>>2]|0)+4|0)|0;k[v>>2]=y;if(!(k[v>>2]|0)){y=yl(k[u>>2]|0,(k[t>>2]|0)+4|0,(k[t>>2]|0)+60|0)|0;k[v>>2]=y}if(!(k[v>>2]|0)){y=Kq(k[g>>2]|0)|0;k[v>>2]=y}k[f>>2]=k[v>>2];y=k[f>>2]|0;r=z;return y|0}function Kq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;c=p+52|0;q=p+48|0;l=p+44|0;b=p+40|0;m=p+36|0;f=p+32|0;j=p+28|0;d=p+24|0;g=p+20|0;e=p+16|0;i=p+12|0;h=p+8|0;n=p;k[q>>2]=a;k[l>>2]=k[q>>2];k[b>>2]=k[(k[k[q>>2]>>2]|0)+12>>2];a=(k[l>>2]|0)+96|0;q=a;q=qR(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;k[a>>2]=q;k[a+4>>2]=L;a=(k[l>>2]|0)+104|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if((k[(k[l>>2]|0)+104>>2]|0)>=(k[(k[l>>2]|0)+108>>2]|0))break;q=(k[(k[l>>2]|0)+112>>2]|0)+(k[(k[l>>2]|0)+104>>2]<<4)|0;a=k[q+4>>2]|0;if((a|0)>0|(a|0)==0&(k[q>>2]|0)>>>0>0){o=4;break}q=(k[l>>2]|0)+104|0;k[q>>2]=(k[q>>2]|0)+1}if((o|0)==4){k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}q=zl(k[b>>2]|0,(k[l>>2]|0)+4|0)|0;k[m>>2]=q;do if((k[m>>2]|0)==100){k[f>>2]=0;k[j>>2]=k[(k[l>>2]|0)+4+52>>2];k[d>>2]=k[(k[l>>2]|0)+4+48>>2];k[e>>2]=0;do if(k[(k[l>>2]|0)+76>>2]|0){a=k[l>>2]|0;if((k[(k[l>>2]|0)+80>>2]|0)<(k[(k[l>>2]|0)+4+44>>2]|0))a=k[a+80>>2]|0;else a=k[a+4+44>>2]|0;k[i>>2]=a;q=FQ(k[(k[l>>2]|0)+76>>2]|0,k[(k[l>>2]|0)+4+40>>2]|0,k[i>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)>=0){if(k[h>>2]|0)break;if((k[(k[l>>2]|0)+4+44>>2]|0)<=(k[(k[l>>2]|0)+80>>2]|0))break}k[(k[l>>2]|0)+88>>2]=1;k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}while(0);if(Oq(k[l>>2]|0,2)|0){k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}uR(k[(k[l>>2]|0)+112>>2]|0,0,k[(k[l>>2]|0)+108>>2]<<4|0)|0;k[g>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[j>>2]|0)){o=32;break}q=n;k[q>>2]=0;k[q+4>>2]=0;q=cm((k[d>>2]|0)+(k[f>>2]|0)|0,n)|0;k[f>>2]=(k[f>>2]|0)+q;switch(k[e>>2]|0){case 0:{q=k[(k[l>>2]|0)+112>>2]|0;i=q;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=1;k[g>>2]=0;continue a}case 1:{q=n;i=k[q+4>>2]|0;if((i|0)>0|(i|0)==0&(k[q>>2]|0)>>>0>1){q=(k[(k[l>>2]|0)+112>>2]|0)+16|0;i=q;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L}k[e>>2]=2;break}case 2:break;default:{k[g>>2]=k[n>>2];if(Oq(k[l>>2]|0,(k[g>>2]|0)+2|0)|0)break a;q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)|0;i=q;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=2;continue a}}q=n;if((k[q>>2]|0)==0&(k[q+4>>2]|0)==0){k[e>>2]=0;continue}q=n;if((k[q>>2]|0)==1&(k[q+4>>2]|0)==0){k[e>>2]=3;continue}else{q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)+8|0;i=q;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;q=(k[(k[l>>2]|0)+112>>2]|0)+8|0;i=q;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;continue}}if((o|0)==32){k[(k[l>>2]|0)+104>>2]=0;k[m>>2]=0;break}k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}else k[(k[l>>2]|0)+88>>2]=1;while(0);k[c>>2]=k[m>>2];q=k[c>>2]|0;r=p;return q|0}function Lq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return k[(k[b>>2]|0)+88>>2]|0}function Mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,k[(k[e>>2]|0)+4+40>>2]|0,k[(k[e>>2]|0)+4+44>>2]|0,-1);r=f;return 0}case 1:{d=k[d>>2]|0;if(k[(k[e>>2]|0)+104>>2]|0){ue(d,(k[(k[e>>2]|0)+104>>2]|0)-1|0);r=f;return 0}else{xe(d,26308,-1,0);r=f;return 0}}case 2:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)|0;ve(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}case 3:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)+8|0;ve(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}default:{ue(k[d>>2]|0,k[(k[e>>2]|0)+84>>2]|0);r=f;return 0}}return 0}function Nq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+96|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Oq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;do if((k[e>>2]|0)>(k[(k[d>>2]|0)+108>>2]|0)){a=Vd(k[(k[d>>2]|0)+112>>2]|0,k[e>>2]<<4)|0;k[f>>2]=a;if(k[f>>2]|0){uR((k[f>>2]|0)+(k[(k[d>>2]|0)+108>>2]<<4)|0,0,(k[e>>2]|0)-(k[(k[d>>2]|0)+108>>2]|0)<<4|0)|0;k[(k[d>>2]|0)+112>>2]=k[f>>2];k[(k[d>>2]|0)+108>>2]=k[e>>2];break}k[c>>2]=7;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function Pq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=0;c=Sd(16)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[j>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[(k[j>>2]|0)+4>>2]=1;k[h>>2]=0;while(1){if(k[l>>2]|0)break;if((k[h>>2]|0)>=(k[e>>2]|0))break;k[m>>2]=k[(k[f>>2]|0)+(k[h>>2]<<2)>>2];c=LQ(k[m>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==19?(FQ(26585,k[m>>2]|0,19)|0)==0:0)k[(k[j>>2]|0)+4>>2]=1;else n=9;do if((n|0)==9){n=0;if((k[i>>2]|0)==19?(FQ(26605,k[m>>2]|0,19)|0)==0:0){k[(k[j>>2]|0)+4>>2]=0;break}if((k[i>>2]|0)>=11?(FQ(26625,k[m>>2]|0,11)|0)==0:0){c=_q(k[j>>2]|0,1,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}if((k[i>>2]|0)>=11?(FQ(26637,k[m>>2]|0,11)|0)==0:0){c=_q(k[j>>2]|0,0,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}k[l>>2]=1}while(0);k[h>>2]=(k[h>>2]|0)+1}if(k[l>>2]|0){Qq(k[j>>2]|0)|0;k[j>>2]=0}k[k[g>>2]>>2]=k[j>>2];k[d>>2]=k[l>>2];n=k[d>>2]|0;r=o;return n|0}function Qq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return 0}k[c>>2]=k[b>>2];Ud(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);r=d;return 0}function Rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=LQ(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Sq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Tq(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+80|0;o=A+64|0;B=A+60|0;p=A+56|0;q=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;j=A+32|0;g=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;n=A+8|0;h=A+4|0;m=A;k[B>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=k[B>>2];k[j>>2]=k[k[v>>2]>>2];k[g>>2]=0;k[w>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+12>>2]|0);k[z>>2]=k[w>>2];k[n>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+8>>2]|0);while(1){if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[26420+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))a=((l[k[w>>2]>>0]|0)&192|0)==128;else a=0;b=k[g>>2]|0;if(!a)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(b<<6)+(63&(l[B>>0]|0))}if(((b|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if(Uq(k[j>>2]|0,k[g>>2]|0)|0)break;k[z>>2]=k[w>>2]}if((k[z>>2]|0)>>>0>=(k[n>>2]|0)>>>0){k[o>>2]=101;B=k[o>>2]|0;r=A;return B|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0)|0)>=((k[(k[v>>2]|0)+24>>2]|0)-4|0)){B=Vd(k[(k[v>>2]|0)+20>>2]|0,(k[(k[v>>2]|0)+24>>2]|0)+64|0)|0;k[m>>2]=B;if(!(k[m>>2]|0)){a=20;break}k[y>>2]=(k[m>>2]|0)+((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0));k[(k[v>>2]|0)+20>>2]=k[m>>2];B=(k[v>>2]|0)+24|0;k[B>>2]=(k[B>>2]|0)+64}k[x>>2]=k[w>>2];B=Vq(k[g>>2]|0,k[(k[j>>2]|0)+4>>2]|0)|0;k[h>>2]=B;do if(k[h>>2]|0){a=k[h>>2]|0;if((k[h>>2]|0)<128){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=a;break}b=k[h>>2]|0;if((a|0)<2048){c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=192+(b>>6&31);c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}a=k[h>>2]|0;if((b|0)<65536){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=224+(a>>12&15);B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}else{c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=240+(a>>18&7);c=128+(k[h>>2]>>12&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}}while(0);if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0){a=43;break}B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[26420+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))b=((l[k[w>>2]>>0]|0)&192|0)==128;else b=0;a=k[g>>2]|0;if(!b)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(a<<6)+(63&(l[B>>0]|0))}if(((a|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if(Uq(k[j>>2]|0,k[g>>2]|0)|0)continue;if(!(Wq(k[g>>2]|0)|0)){a=43;break}}if((a|0)==20){k[o>>2]=7;B=k[o>>2]|0;r=A;return B|0}else if((a|0)==43){k[(k[v>>2]|0)+12>>2]=(k[w>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[p>>2]>>2]=k[(k[v>>2]|0)+20>>2];k[k[q>>2]>>2]=(k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0);k[k[s>>2]>>2]=(k[z>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[t>>2]>>2]=(k[x>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);z=(k[v>>2]|0)+16|0;B=k[z>>2]|0;k[z>>2]=B+1;k[k[u>>2]>>2]=B;k[o>>2]=0;B=k[o>>2]|0;r=A;return B|0}return 0}function Uq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Yq(k[d>>2]|0)|0;a=a^(Zq(k[e>>2]|0,k[d>>2]|0)|0);r=c;return a|0}function Vq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=r;r=r+48|0;c=o+32|0;d=o+28|0;n=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;e=o+4|0;j=o;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[c>>2];b=k[c>>2]|0;if((k[c>>2]|0)<128){if(!((b|0)>=65&(k[c>>2]|0)<=90)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+32;n=k[n>>2]|0;r=o;return n|0}if((b|0)>=65536){if(!((k[c>>2]|0)>=66560&(k[c>>2]|0)<66600)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+40;n=k[n>>2]|0;r=o;return n|0}k[f>>2]=162;k[g>>2]=0;k[h>>2]=-1;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[i>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;k[e>>2]=(k[c>>2]|0)-(m[10902+(k[i>>2]<<2)>>1]|0);b=k[i>>2]|0;if((k[e>>2]|0)>=0){k[h>>2]=b;k[g>>2]=(k[i>>2]|0)+1;continue}else{k[f>>2]=b-1;continue}}if(((k[h>>2]|0)>=0?(k[j>>2]=10902+(k[h>>2]<<2),(k[c>>2]|0)<((m[k[j>>2]>>1]|0)+(l[(k[j>>2]|0)+3>>0]|0)|0)):0)?0==(1&(l[(k[j>>2]|0)+2>>0]|0)&((m[k[j>>2]>>1]|0)^k[c>>2])|0):0)k[n>>2]=(k[c>>2]|0)+(m[11554+((l[(k[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[d>>2]|0)){n=k[n>>2]|0;r=o;return n|0}j=Xq(k[n>>2]|0)|0;k[n>>2]=j;n=k[n>>2]|0;r=o;return n|0}function Wq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=134389727;k[d>>2]=221688;if((k[b>>2]|0)<768|(k[b>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}if((k[b>>2]|0)<800)b=k[c>>2]&1<<(k[b>>2]|0)-768;else b=k[d>>2]&1<<(k[b>>2]|0)-768-32;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function Xq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=r;r=r+336|0;d=o+20|0;f=o+24|0;e=o+226|0;n=o+16|0;j=o+12|0;g=o+8|0;h=o+4|0;l=o;k[d>>2]=a;sR(f|0,11708,202)|0;a=e;b=26484;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[n>>2]=k[d>>2]<<3|7;k[j>>2]=0;k[g>>2]=100;k[h>>2]=0;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break;k[l>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;a=k[l>>2]|0;if((k[n>>2]|0)>>>0>=(m[f+(k[l>>2]<<1)>>1]|0)>>>0){k[j>>2]=a;k[h>>2]=(k[l>>2]|0)+1;continue}else{k[g>>2]=a-1;continue}}if((k[d>>2]|0)>((m[f+(k[j>>2]<<1)>>1]>>3)+(m[f+(k[j>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;r=o;return n|0}else{n=i[e+(k[j>>2]|0)>>0]|0;r=o;return n|0}return 0}function Yq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;f=i+12|0;d=i+8|0;e=i+4|0;g=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)<128){k[b>>2]=(k[2340+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;r=i;return h|0}if((a|0)>=4194304){k[b>>2]=1;h=k[b>>2]|0;r=i;return h|0}k[h>>2]=k[c>>2]<<10|1023;k[f>>2]=0;k[d>>2]=405;k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[e>>2]|0))break;k[g>>2]=((k[d>>2]|0)+(k[e>>2]|0)|0)/2|0;a=k[g>>2]|0;if((k[h>>2]|0)>>>0>=(k[2356+(k[g>>2]<<2)>>2]|0)>>>0){k[f>>2]=a;k[e>>2]=(k[g>>2]|0)+1;continue}else{k[d>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[2356+(k[f>>2]<<2)>>2]|0)>>>10)+(k[2356+(k[f>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;r=i;return h|0}function Zq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+8>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+12>>2];k[h>>2]=0;k[g>>2]=(k[(k[c>>2]|0)+8>>2]|0)-1;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break a;k[i>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[h>>2]=c+1;continue}else{k[g>>2]=c-1;continue}}k[d>>2]=1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function _q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;g=t+48|0;h=t+44|0;i=t+40|0;e=t+36|0;u=t+32|0;q=t+28|0;s=t+24|0;n=t+20|0;f=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;o=t;k[h>>2]=a;k[i>>2]=b;k[e>>2]=c;k[u>>2]=d;k[q>>2]=k[e>>2];k[s>>2]=(k[q>>2]|0)+(k[u>>2]|0);k[f>>2]=0;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[26420+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=Yq(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if(Wq(k[n>>2]|0)|0)continue;k[f>>2]=(k[f>>2]|0)+1}if(k[f>>2]|0){u=Vd(k[(k[h>>2]|0)+12>>2]|0,(k[(k[h>>2]|0)+8>>2]|0)+(k[f>>2]|0)<<2)|0;k[j>>2]=u;if(!(k[j>>2]|0)){k[g>>2]=7;u=k[g>>2]|0;r=t;return u|0}k[p>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=k[e>>2];while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[26420+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=Yq(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if(Wq(k[n>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;if((k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]|0)>=(k[n>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=k[p>>2];while(1){if((k[o>>2]|0)<=(k[m>>2]|0))break;k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]=k[(k[j>>2]|0)+((k[o>>2]|0)-1<<2)>>2];k[o>>2]=(k[o>>2]|0)+-1}k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]=k[n>>2];k[p>>2]=(k[p>>2]|0)+1}k[(k[h>>2]|0)+12>>2]=k[j>>2];k[(k[h>>2]|0)+8>>2]=k[p>>2]}k[g>>2]=0;u=k[g>>2]|0;r=t;return u|0}function $q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[h>>2]|0)+4>>2];ug(k[h>>2]|0);if(!((k[d>>2]|0)!=0?(k[(k[f>>2]|0)+48>>2]|0)==0:0)){h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}h=k[d>>2]|0;h=zh(0,h,((h|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+48>>2]=h;k[(k[f>>2]|0)+52>>2]=k[e>>2];h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}function ar(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+64>>0]|0|0)==2|0}function br(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=r;r=r+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;k[j>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;i[k[f>>2]>>0]=0;d=ec[k[(k[j>>2]|0)+36>>2]&255](k[j>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function cr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=St(k[b>>2]|0)|0;k[c>>2]=a;if(!(i[k[c>>2]>>0]|0)){r=d;return}i[k[c>>2]>>0]=0;if((Tt(k[b>>2]|0)|0)<=1){r=d;return}Ut(k[c>>2]|0)|0;r=d;return}function dr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;s=L+96|0;t=L+92|0;u=L+88|0;v=L+84|0;w=L+80|0;h=L+76|0;x=L+72|0;y=L+68|0;n=L+64|0;D=L+60|0;E=L+56|0;H=L+52|0;B=L+48|0;F=L+44|0;l=L+40|0;J=L+36|0;C=L+32|0;I=L+28|0;o=L+24|0;G=L+20|0;q=L+16|0;m=L+12|0;p=L+8|0;z=L+4|0;A=L;k[t>>2]=a;k[u>>2]=b;k[v>>2]=c;k[w>>2]=d;k[h>>2]=e;k[x>>2]=f;k[y>>2]=g;k[D>>2]=0;k[E>>2]=0;k[H>>2]=0;k[B>>2]=0;k[F>>2]=0;k[J>>2]=0;k[C>>2]=0;k[I>>2]=(k[h>>2]&1|0)==0&1;c=st()|0;k[o>>2]=c;k[G>>2]=1024;k[q>>2]=0;k[m>>2]=0;c=k[(k[t>>2]|0)+4>>2]|0;if((c|0)>(Tr()|0))k[l>>2]=(k[(k[t>>2]|0)+4>>2]|0)+7&-8;else{c=(Tr()|0)+7&-8;k[l>>2]=c}k[k[u>>2]>>2]=0;do if(((k[h>>2]&2|0)!=0?(k[B>>2]=1,(k[v>>2]|0)!=0):0)?(i[k[v>>2]>>0]|0)!=0:0){c=xh(0,k[v>>2]|0)|0;k[J>>2]=c;if(k[J>>2]|0){c=Sf(k[J>>2]|0)|0;k[C>>2]=c;k[v>>2]=0;break}k[s>>2]=7;K=k[s>>2]|0;r=L;return K|0}while(0);if((k[v>>2]|0)!=0?(i[k[v>>2]>>0]|0)!=0:0){k[C>>2]=(k[(k[t>>2]|0)+8>>2]|0)+1;c=k[C>>2]<<1;c=Ih(0,c,((c|0)<0)<<31>>31)|0;k[J>>2]=c;if(!(k[J>>2]|0)){k[s>>2]=7;K=k[s>>2]|0;r=L;return K|0}i[k[J>>2]>>0]=0;c=br(k[t>>2]|0,k[v>>2]|0,k[C>>2]|0,k[J>>2]|0)|0;k[E>>2]=c;c=Sf(k[J>>2]|0)|0;k[C>>2]=c;c=(Sf(k[v>>2]|0)|0)+1|0;c=(k[v>>2]|0)+c|0;k[q>>2]=c;k[p>>2]=c;while(1){h=k[p>>2]|0;if(!(i[k[p>>2]>>0]|0))break;c=(Sf(h)|0)+1|0;k[p>>2]=(k[p>>2]|0)+c;c=(Sf(k[p>>2]|0)|0)+1|0;k[p>>2]=(k[p>>2]|0)+c}k[m>>2]=h+1-(k[q>>2]|0);if((k[E>>2]|0)==0?((k[C>>2]|0)+8|0)>(k[(k[t>>2]|0)+8>>2]|0):0){p=ot(48375)|0;k[E>>2]=p}if(k[E>>2]|0){ag(0,k[J>>2]|0);k[s>>2]=k[E>>2];K=k[s>>2]|0;r=L;return K|0}}p=sg(224+((k[o>>2]|0)+7&-8)+((k[(k[t>>2]|0)+4>>2]|0)+7&-8)+(k[l>>2]<<1)+(k[C>>2]|0)+1+(k[m>>2]|0)+(k[C>>2]|0)+8+2+(k[C>>2]|0)+4+2|0,0)|0;k[n>>2]=p;if(!(k[n>>2]|0)){ag(0,k[J>>2]|0);k[s>>2]=7;K=k[s>>2]|0;r=L;return K|0}k[D>>2]=k[n>>2];p=(k[n>>2]|0)+224|0;k[n>>2]=p;k[(k[D>>2]|0)+212>>2]=p;p=(k[n>>2]|0)+((k[o>>2]|0)+7&-8)|0;k[n>>2]=p;k[(k[D>>2]|0)+64>>2]=p;p=(k[n>>2]|0)+((k[(k[t>>2]|0)+4>>2]|0)+7&-8)|0;k[n>>2]=p;k[(k[D>>2]|0)+72>>2]=p;p=(k[n>>2]|0)+(k[l>>2]|0)|0;k[n>>2]=p;k[(k[D>>2]|0)+68>>2]=p;p=(k[n>>2]|0)+(k[l>>2]|0)|0;k[n>>2]=p;k[(k[D>>2]|0)+176>>2]=p;if(k[J>>2]|0){p=(k[n>>2]|0)+((k[C>>2]|0)+1+(k[m>>2]|0))|0;k[n>>2]=p;k[(k[D>>2]|0)+180>>2]=p;sR(k[(k[D>>2]|0)+176>>2]|0,k[J>>2]|0,k[C>>2]|0)|0;if(k[m>>2]|0)sR((k[(k[D>>2]|0)+176>>2]|0)+((k[C>>2]|0)+1)|0,k[q>>2]|0,k[m>>2]|0)|0;sR(k[(k[D>>2]|0)+180>>2]|0,k[J>>2]|0,k[C>>2]|0)|0;h=(k[(k[D>>2]|0)+180>>2]|0)+(k[C>>2]|0)|0;e=26868;d=h+10|0;do{i[h>>0]=i[e>>0]|0;h=h+1|0;e=e+1|0}while((h|0)<(d|0));k[(k[D>>2]|0)+220>>2]=(k[(k[D>>2]|0)+180>>2]|0)+((k[C>>2]|0)+8+1);sR(k[(k[D>>2]|0)+220>>2]|0,k[J>>2]|0,k[C>>2]|0)|0;C=(k[(k[D>>2]|0)+220>>2]|0)+(k[C>>2]|0)|0;i[C>>0]=i[26878]|0;i[C+1>>0]=i[26879]|0;i[C+2>>0]=i[26880]|0;i[C+3>>0]=i[26881]|0;i[C+4>>0]=i[26882]|0;ag(0,k[J>>2]|0)}k[k[D>>2]>>2]=k[t>>2];k[(k[D>>2]|0)+152>>2]=k[x>>2];do if((k[v>>2]|0)!=0?(i[k[v>>2]>>0]|0)!=0:0){k[z>>2]=0;J=ds(k[t>>2]|0,k[(k[D>>2]|0)+176>>2]|0,k[(k[D>>2]|0)+64>>2]|0,k[x>>2]|0,z)|0;k[E>>2]=J;k[F>>2]=k[z>>2]&1;if(!(k[E>>2]|0)){J=as(k[(k[D>>2]|0)+64>>2]|0)|0;k[A>>2]=J;do if((k[F>>2]|0)==0?($r(k[D>>2]|0),(k[G>>2]|0)>>>0<(k[(k[D>>2]|0)+156>>2]|0)>>>0):0)if((k[(k[D>>2]|0)+156>>2]|0)>>>0>8192){k[G>>2]=8192;break}else{k[G>>2]=k[(k[D>>2]|0)+156>>2];break}while(0);J=(Rf(k[v>>2]|0,26884,0)|0)&255;i[(k[D>>2]|0)+14>>0]=J;if((k[A>>2]&8192|0)==0?(Rf(k[v>>2]|0,26891,0)|0)==0:0)break;k[x>>2]=k[x>>2]|1;K=39}}else K=39;while(0);if((K|0)==39){k[H>>2]=1;i[(k[D>>2]|0)+17>>0]=1;i[(k[D>>2]|0)+18>>0]=4;i[(k[D>>2]|0)+14>>0]=1;k[F>>2]=k[x>>2]&1}if(!(k[E>>2]|0)){K=_i(k[D>>2]|0,G,-1)|0;k[E>>2]=K}if(!(k[E>>2]|0)){k[w>>2]=(k[w>>2]|0)+7&-8;K=ut(k[G>>2]|0,k[w>>2]|0,((k[B>>2]|0)!=0^1)&1,(k[B>>2]|0)!=0^1?186:0,k[D>>2]|0,k[(k[D>>2]|0)+212>>2]|0)|0;k[E>>2]=K}if(k[E>>2]|0){rr(k[(k[D>>2]|0)+64>>2]|0)|0;ej(k[(k[D>>2]|0)+208>>2]|0);Ud(k[D>>2]|0);k[s>>2]=k[E>>2];K=k[s>>2]|0;r=L;return K|0}i[(k[D>>2]|0)+6>>0]=k[I>>2];k[(k[D>>2]|0)+164>>2]=1073741823;i[(k[D>>2]|0)+13>>0]=k[H>>2];i[(k[D>>2]|0)+4>>0]=k[H>>2];i[(k[D>>2]|0)+19>>0]=i[(k[D>>2]|0)+13>>0]|0;i[(k[D>>2]|0)+16>>0]=k[B>>2];i[(k[D>>2]|0)+15>>0]=k[F>>2];i[(k[D>>2]|0)+7>>0]=i[(k[D>>2]|0)+13>>0]|0;if(!(i[(k[D>>2]|0)+7>>0]|0)){i[(k[D>>2]|0)+8>>0]=1;i[(k[D>>2]|0)+9>>0]=0;i[(k[D>>2]|0)+12>>0]=2;i[(k[D>>2]|0)+11>>0]=34;i[(k[D>>2]|0)+10>>0]=2}j[(k[D>>2]|0)+148>>1]=k[w>>2];K=(k[D>>2]|0)+168|0;k[K>>2]=-1;k[K+4>>2]=-1;$r(k[D>>2]|0);if(k[I>>2]|0){if(k[B>>2]|0)i[(k[D>>2]|0)+5>>0]=4}else i[(k[D>>2]|0)+5>>0]=2;k[(k[D>>2]|0)+204>>2]=k[y>>2];k[k[u>>2]>>2]=k[D>>2];k[s>>2]=0;K=k[s>>2]|0;r=L;return K|0}function er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=f;c=k[b+4>>2]|0;a=(k[e>>2]|0)+136|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;fj(k[e>>2]|0);r=d;return}function fr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;uR(k[f>>2]|0,0,k[e>>2]|0)|0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=es(k[(k[d>>2]|0)+64>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;k[g>>2]=a;k[g>>2]=(k[g>>2]|0)==522?0:a;g=k[g>>2]|0;r=h;return g|0}function gr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=rt((k[(k[c>>2]|0)+4>>2]|0)+448|0)|0;r=b;return a|0}function hr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[(k[d>>2]|0)+184>>2]=k[h>>2];k[(k[d>>2]|0)+188>>2]=k[g>>2];if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){r=f;return}k[e>>2]=(k[d>>2]|0)+184;Ts(k[(k[d>>2]|0)+64>>2]|0,15,k[e>>2]|0);r=f;return}function ir(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+15>>0]|0}function jr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[k[b>>2]>>0]|0)<<24|(l[(k[b>>2]|0)+1>>0]|0)<<16|(l[(k[b>>2]|0)+2>>0]|0)<<8|(l[(k[b>>2]|0)+3>>0]|0)|0}function kr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+208>>2];ak();lr(k[b>>2]|0);i[(k[b>>2]|0)+4>>0]=0;mr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[c>>2]|0)|0;k[(k[b>>2]|0)+216>>2]=0;cj(k[b>>2]|0);a=k[b>>2]|0;if(i[(k[b>>2]|0)+16>>0]|0)nr(a);else{if(k[k[a+68>>2]>>2]|0){a=k[b>>2]|0;pr(a,or(k[b>>2]|0)|0)|0}qr(k[b>>2]|0)}bk();rr(k[(k[b>>2]|0)+68>>2]|0)|0;rr(k[(k[b>>2]|0)+64>>2]|0)|0;ej(k[c>>2]|0);sr(k[(k[b>>2]|0)+212>>2]|0);Ud(k[b>>2]|0);r=d;return 0}function lr(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+144>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+12>>2];Ud(k[b>>2]|0);k[b>>2]=k[c>>2]}r=d;return}function mr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;if(!(k[e>>2]|0)){d=k[n>>2]|0;r=o;return d|0}k[m>>2]=0;d=Rs(k[(k[e>>2]|0)+4>>2]|0,4)|0;k[n>>2]=d;do if(!(k[n>>2]|0)){if(!(l[(k[e>>2]|0)+43>>0]|0))i[(k[e>>2]|0)+43>>0]=1;d=Ss(k[e>>2]|0,0,0,0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[j>>2]=-1;Ts(k[(k[e>>2]|0)+4>>2]|0,10,j);if((k[j>>2]|0)!=1){k[m>>2]=1;break}d=(k[e>>2]|0)+16|0;b=k[d+4>>2]|0;if((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>=0)Us(k[e>>2]|0,0,0)}}while(0);Vs(k[e>>2]|0,k[m>>2]|0);rr(k[(k[e>>2]|0)+8>>2]|0)|0;if(k[m>>2]|0){ak();Ar(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0,0)|0;bk()}Ud(k[(k[e>>2]|0)+32>>2]|0);Ud(k[e>>2]|0);d=k[n>>2]|0;r=o;return d|0}function nr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;uj(k[(k[b>>2]|0)+60>>2]|0);k[(k[b>>2]|0)+60>>2]=0;vr(k[b>>2]|0);f=(Cr(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!f){if(!(i[a+4>>0]|0)){if(k[k[(k[b>>2]|0)+64>>2]>>2]|0)a=as(k[(k[b>>2]|0)+64>>2]|0)|0;else a=0;k[c>>2]=a;if(!(0!=(k[c>>2]&2048|0)?1==(l[(k[b>>2]|0)+5>>0]&5|0):0))rr(k[(k[b>>2]|0)+68>>2]|0)|0;f=Gr(k[b>>2]|0,0)|0;k[d>>2]=f;if((k[d>>2]|0)!=0?(l[(k[b>>2]|0)+17>>0]|0)==6:0)i[(k[b>>2]|0)+18>>0]=5;i[(k[b>>2]|0)+19>>0]=0;i[(k[b>>2]|0)+17>>0]=0}}else{Qs(k[a+216>>2]|0);i[(k[b>>2]|0)+17>>0]=0}if(!(k[(k[b>>2]|0)+44>>2]|0)){f=k[b>>2]|0;f=f+80|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+88|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}cj(k[b>>2]|0);i[(k[b>>2]|0)+19>>0]=i[(k[b>>2]|0)+13>>0]|0;i[(k[b>>2]|0)+17>>0]=0;k[(k[b>>2]|0)+44>>2]=0;f=k[b>>2]|0;f=f+80|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+88|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}function or(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(i[(k[b>>2]|0)+7>>0]|0)){a=yr(k[(k[b>>2]|0)+68>>2]|0,2)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=aj(k[(k[b>>2]|0)+68>>2]|0,(k[b>>2]|0)+88|0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function pr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2]&255;if(!((k[f>>2]|0)==13|(k[f>>2]|0)==10)){f=k[d>>2]|0;r=e;return f|0}k[(k[c>>2]|0)+44>>2]=k[d>>2];i[(k[c>>2]|0)+17>>0]=6;f=k[d>>2]|0;r=e;return f|0}function qr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if((l[(k[b>>2]|0)+17>>0]|0)!=6?(l[(k[b>>2]|0)+17>>0]|0)!=0:0){if((l[(k[b>>2]|0)+17>>0]|0)>=2){ak();tr(k[b>>2]|0)|0;bk();break}if(!(i[(k[b>>2]|0)+4>>0]|0))ur(k[b>>2]|0,0,0)|0}while(0);nr(k[b>>2]|0);r=c;return}function rr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[k[b>>2]>>2]|0)){c=k[c>>2]|0;r=d;return c|0}a=bc[k[(k[k[b>>2]>>2]|0)+4>>2]&255](k[b>>2]|0)|0;k[c>>2]=a;k[k[b>>2]>>2]=0;c=k[c>>2]|0;r=d;return c|0}function sr(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[156>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function tr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;k[e>>2]=0;a=k[c>>2]|0;if((l[(k[c>>2]|0)+17>>0]|0)==6){k[b>>2]=k[a+44>>2];f=k[b>>2]|0;r=g;return f|0}if((l[a+17>>0]|0)<=1){k[b>>2]=0;f=k[b>>2]|0;r=g;return f|0}h=(Cr(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;do if(h){h=Ur(a,2,-1)|0;k[e>>2]=h;h=ur(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,0)|0;k[f>>2]=h;if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else{if((k[k[a+68>>2]>>2]|0)!=0?(l[(k[c>>2]|0)+17>>0]|0)!=2:0){h=Vr(k[c>>2]|0,0)|0;k[e>>2]=h;break}k[d>>2]=l[(k[c>>2]|0)+17>>0];h=ur(k[c>>2]|0,0,0)|0;k[e>>2]=h;if((k[d>>2]|0)>2?(i[(k[c>>2]|0)+16>>0]|0)==0:0){k[(k[c>>2]|0)+44>>2]=4;i[(k[c>>2]|0)+17>>0]=6;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}}while(0);h=pr(k[c>>2]|0,k[e>>2]|0)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function ur(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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=0;k[m>>2]=0;if((l[(k[e>>2]|0)+17>>0]|0)<2?(l[(k[e>>2]|0)+18>>0]|0)<2:0){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}vr(k[e>>2]|0);a:do if(k[k[(k[e>>2]|0)+68>>2]>>2]|0){a=(wr(k[(k[e>>2]|0)+68>>2]|0)|0)!=0;c=k[e>>2]|0;if(a){rr(k[c+68>>2]|0)|0;break}b=k[e>>2]|0;if((l[c+5>>0]|0)==3){h=b+80|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=xr(k[(k[e>>2]|0)+68>>2]|0,0,0)|0;k[j>>2]=h;if((k[j>>2]|0)==0?(l[(k[e>>2]|0)+8>>0]|0)!=0:0){h=yr(k[(k[e>>2]|0)+68>>2]|0,l[(k[e>>2]|0)+12>>0]|0)|0;k[j>>2]=h}}else k[j>>2]=0;h=(k[e>>2]|0)+80|0;k[h>>2]=0;k[h+4>>2]=0;break}else{do if((l[b+5>>0]|0)!=1){if((l[(k[e>>2]|0)+4>>0]|0)!=0?(l[(k[e>>2]|0)+5>>0]|0)!=5:0)break;k[h>>2]=((i[(k[e>>2]|0)+13>>0]|0)!=0?0:1)&1;rr(k[(k[e>>2]|0)+68>>2]|0)|0;if(!(k[h>>2]|0))break a;h=Ar(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+180>>2]|0,l[(k[e>>2]|0)+9>>0]|0)|0;k[j>>2]=h;break a}while(0);h=zr(k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=h;h=(k[e>>2]|0)+80|0;k[h>>2]=0;k[h+4>>2]=0;break}}while(0);uj(k[(k[e>>2]|0)+60>>2]|0);k[(k[e>>2]|0)+60>>2]=0;k[(k[e>>2]|0)+48>>2]=0;Br(k[(k[e>>2]|0)+212>>2]|0);kj(k[(k[e>>2]|0)+212>>2]|0,k[(k[e>>2]|0)+28>>2]|0);if(!(Cr(k[e>>2]|0)|0)){if((k[j>>2]|0)==0&(k[g>>2]|0)!=0?(k[(k[e>>2]|0)+36>>2]|0)>>>0>(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){h=Er(k[e>>2]|0,k[(k[e>>2]|0)+28>>2]|0)|0;k[j>>2]=h}}else{h=Dr(k[(k[e>>2]|0)+216>>2]|0)|0;k[m>>2]=h}if((k[j>>2]|0)==0&(k[g>>2]|0)!=0?(k[k[(k[e>>2]|0)+64>>2]>>2]|0)!=0:0){h=Fi(k[(k[e>>2]|0)+64>>2]|0,22,0)|0;k[j>>2]=h;k[j>>2]=(k[j>>2]|0)==12?0:h}do if(!(i[(k[e>>2]|0)+4>>0]|0)){if((Cr(k[e>>2]|0)|0)!=0?(Fr(k[(k[e>>2]|0)+216>>2]|0,0)|0)==0:0)break;h=Gr(k[e>>2]|0,1)|0;k[m>>2]=h;i[(k[e>>2]|0)+19>>0]=0}while(0);i[(k[e>>2]|0)+17>>0]=1;i[(k[e>>2]|0)+20>>0]=0;k[d>>2]=(k[j>>2]|0)==0?k[m>>2]|0:k[j>>2]|0;m=k[d>>2]|0;r=n;return m|0}function vr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0))break;uj(k[(k[(k[b>>2]|0)+100>>2]|0)+((k[c>>2]|0)*48|0)+16>>2]|0);k[c>>2]=(k[c>>2]|0)+1}if(!((i[(k[b>>2]|0)+4>>0]|0)!=0?(wr(k[(k[b>>2]|0)+72>>2]|0)|0)==0:0))rr(k[(k[b>>2]|0)+72>>2]|0)|0;Ud(k[(k[b>>2]|0)+100>>2]|0);k[(k[b>>2]|0)+100>>2]=0;k[(k[b>>2]|0)+104>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=d;return}function wr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[b>>2]>>2]|0)==4836|0}function xr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;a=Yb[k[(k[k[e>>2]>>2]|0)+16>>2]&255](k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=d;return a|0}function yr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+20>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function zr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+24|0;d=h+20|0;f=h+16|0;e=h+8|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;a=(k[c>>2]|0)+80|0;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){g=k[f>>2]|0;r=h;return g|0}j=(k[c>>2]|0)+168|0;b=k[j+4>>2]|0;a=e;k[a>>2]=k[j>>2];k[a+4>>2]=b;a=e;b=k[(k[c>>2]|0)+68>>2]|0;if((k[d>>2]|0)!=0|(k[a>>2]|0)==0&(k[a+4>>2]|0)==0){j=xr(b,0,0)|0;k[f>>2]=j}else{j=Pg(b,26703,28,0,0)|0;k[f>>2]=j}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+7>>0]|0)==0:0){j=yr(k[(k[c>>2]|0)+68>>2]|0,16|l[(k[c>>2]|0)+12>>0])|0;k[f>>2]=j}j=e;d=k[j+4>>2]|0;if(!((k[f>>2]|0)==0&((d|0)>0|(d|0)==0&(k[j>>2]|0)>>>0>0))){j=k[f>>2]|0;r=h;return j|0}j=aj(k[(k[c>>2]|0)+68>>2]|0,g)|0;k[f>>2]=j;if(k[f>>2]|0){j=k[f>>2]|0;r=h;return j|0}a=k[g+4>>2]|0;j=e;d=k[j+4>>2]|0;if(!((a|0)>(d|0)|((a|0)==(d|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))){j=k[f>>2]|0;r=h;return j|0}j=e;j=xr(k[(k[c>>2]|0)+68>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=h;return j|0}function Ar(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=Yb[k[(k[g>>2]|0)+28>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Br(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[k[b>>2]>>2]|0;k[c>>2]=a;if(!a)break;lj(k[c>>2]|0)}r=d;return}function Cr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+216>>2]|0)!=0|0}function Dr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+44>>0]|0)){r=c;return 0}Lr(k[b>>2]|0,0,1);i[(k[b>>2]|0)+44>>0]=0;k[(k[b>>2]|0)+104>>2]=0;i[(k[b>>2]|0)+47>>0]=0;r=c;return 0}function Er(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;h=j+24|0;e=j+8|0;f=j;i=j+20|0;g=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){i=k[h>>2]|0;r=j;return i|0}if((l[(k[c>>2]|0)+17>>0]|0|0)<4?(l[(k[c>>2]|0)+17>>0]|0|0)!=0:0){i=k[h>>2]|0;r=j;return i|0}k[i>>2]=k[(k[c>>2]|0)+160>>2];b=aj(k[(k[c>>2]|0)+64>>2]|0,e)|0;k[h>>2]=b;b=k[i>>2]|0;b=BR(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,0)|0;a=f;k[a>>2]=b;k[a+4>>2]=L;if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}b=e;a=f;if(!((k[b>>2]|0)!=(k[a>>2]|0)?1:(k[b+4>>2]|0)!=(k[a+4>>2]|0))){i=k[h>>2]|0;r=j;return i|0}b=e;n=k[b+4>>2]|0;a=f;m=k[a+4>>2]|0;if(!((n|0)>(m|0)|((n|0)==(m|0)?(k[b>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){b=e;m=k[i>>2]|0;m=qR(k[b>>2]|0,k[b+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;b=L;n=f;a=k[n+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?m>>>0<=(k[n>>2]|0)>>>0:0)){k[g>>2]=k[(k[c>>2]|0)+208>>2];uR(k[g>>2]|0,0,k[i>>2]|0)|0;a=k[(k[c>>2]|0)+64>>2]|0;g=k[g>>2]|0;m=k[i>>2]|0;n=k[i>>2]|0;n=pR(k[f>>2]|0,k[f+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Pg(a,g,m,n,L)|0;k[h>>2]=n}}else{n=f;n=xr(k[(k[c>>2]|0)+64>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[h>>2]=n}if(k[h>>2]|0){n=k[h>>2]|0;r=j;return n|0}k[(k[c>>2]|0)+36>>2]=k[d>>2];n=k[h>>2]|0;r=j;return n|0}function Fr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=k[c>>2]|0;if((k[d>>2]|0)>0){Jr(b,3+(j[(k[c>>2]|0)+40>>1]|0)|0);i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=(l[b+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}}if(!(i[(k[c>>2]|0)+43>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+43>>0]=0;if(Ir(k[c>>2]|0,3+(j[(k[c>>2]|0)+40>>1]|0)|0)|0)i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=(l[(k[c>>2]|0)+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}function Gr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Hr(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if((l[(k[c>>2]|0)+18>>0]|0|0)==5){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Hr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+32>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[d>>2]|0)+43>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{a=Kr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,1,6)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+43>>0]|0){r=e;return}Kr(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0,1,5)|0;r=e;return}function Kr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[k[i>>2]>>2]|0)+56>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function Lr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(i[(k[d>>2]|0)+43>>0]|0){r=g;return}Kr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0,9)|0;r=g;return}function Mr(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Pr(k[c>>2]|0,0,0)|0;r=b;return 0}function Nr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+64|0;t=q+52|0;s=q+48|0;m=q+44|0;n=q+8|0;o=q+40|0;l=q+36|0;j=q+32|0;f=q+28|0;p=q+24|0;g=q;h=q+20|0;i=q+16|0;k[t>>2]=a;k[s>>2]=b;k[m>>2]=c;c=n;k[c>>2]=d;k[c+4>>2]=e;k[o>>2]=k[t>>2];k[l>>2]=k[s>>2];k[j>>2]=k[m>>2];c=(k[o>>2]|0)+24|0;a=n;b=n;a:do if(((k[c>>2]|0)!=(k[a>>2]|0)?1:(k[c+4>>2]|0)!=(k[a+4>>2]|0))|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){t=g;k[t>>2]=0;k[t+4>>2]=0;k[p>>2]=k[(k[o>>2]|0)+4>>2];while(1){if(!(k[p>>2]|0))break a;s=g;s=qR(k[s>>2]|0,k[s+4>>2]|0,1020,0)|0;a=L;t=n;b=k[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(k[t>>2]|0)>>>0:0)))break a;s=g;s=qR(k[s>>2]|0,k[s+4>>2]|0,1020,0)|0;t=g;k[t>>2]=s;k[t+4>>2]=L;k[p>>2]=k[k[p>>2]>>2]}}else k[p>>2]=k[(k[o>>2]|0)+24+8>>2];while(0);t=n;t=AR(k[t>>2]|0,k[t+4>>2]|0,1020,0)|0;k[f>>2]=t;while(1){k[h>>2]=1020-(k[f>>2]|0);k[i>>2]=(k[j>>2]|0)<(1020-(k[f>>2]|0)|0)?k[j>>2]|0:1020-(k[f>>2]|0)|0;sR(k[l>>2]|0,(k[p>>2]|0)+4+(k[f>>2]|0)|0,k[i>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[i>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[h>>2]|0);k[f>>2]=0;if((k[j>>2]|0)<0){d=10;break}t=k[k[p>>2]>>2]|0;k[p>>2]=t;if(!((t|0)!=0&(k[j>>2]|0)>0)){d=10;break}}if((d|0)==10){t=n;s=k[m>>2]|0;s=qR(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(k[o>>2]|0)+24|0;k[t>>2]=s;k[t+4>>2]=L;k[(k[o>>2]|0)+24+8>>2]=k[p>>2];r=q;return 0}return 0}function Or(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+64|0;n=o+48|0;s=o+44|0;p=o+40|0;q=o+36|0;i=o+32|0;h=o+28|0;m=o+24|0;j=o+20|0;f=o+16|0;g=o+12|0;l=o+8|0;k[s>>2]=a;k[p>>2]=b;k[q>>2]=c;b=o;k[b>>2]=d;k[b+4>>2]=e;k[i>>2]=k[s>>2];k[h>>2]=k[q>>2];k[m>>2]=k[p>>2];while(1){if((k[h>>2]|0)<=0){d=11;break}k[j>>2]=k[(k[i>>2]|0)+8+8>>2];s=(k[i>>2]|0)+8|0;s=AR(k[s>>2]|0,k[s+4>>2]|0,1020,0)|0;k[f>>2]=s;k[g>>2]=(k[h>>2]|0)<(1020-(k[f>>2]|0)|0)?k[h>>2]|0:1020-(k[f>>2]|0)|0;if(!(k[f>>2]|0)){s=Sd(1024)|0;k[l>>2]=s;if(!(k[l>>2]|0)){d=5;break}k[k[l>>2]>>2]=0;d=k[l>>2]|0;if(k[j>>2]|0)k[k[j>>2]>>2]=d;else k[(k[i>>2]|0)+4>>2]=d;k[(k[i>>2]|0)+8+8>>2]=k[l>>2]}sR((k[(k[i>>2]|0)+8+8>>2]|0)+4+(k[f>>2]|0)|0,k[m>>2]|0,k[g>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);k[h>>2]=(k[h>>2]|0)-(k[g>>2]|0);q=k[g>>2]|0;s=(k[i>>2]|0)+8|0;p=s;q=qR(k[p>>2]|0,k[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;k[s>>2]=q;k[s+4>>2]=L}if((d|0)==5){k[n>>2]=3082;s=k[n>>2]|0;r=o;return s|0}else if((d|0)==11){k[n>>2]=0;s=k[n>>2]|0;r=o;return s|0}return 0}function Pr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+20|0;h=g+16|0;e=g+12|0;f=g+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=k[d>>2];k[e>>2]=k[(k[h>>2]|0)+4>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[e>>2];k[e>>2]=k[k[e>>2]>>2];Ud(k[f>>2]|0)}Sr(k[d>>2]|0);r=g;return 0}function Qr(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function Rr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+8|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Sr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=k[c>>2]|0;uR(a|0,0,Tr()|0)|0;k[k[c>>2]>>2]=4836;r=b;return}function Tr(){return 40}function Ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l+24|0;d=l+20|0;e=l+16|0;j=l+12|0;f=l+8|0;g=l+4|0;i=l;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[j>>2]=k[(k[h>>2]|0)+44>>2];if(k[j>>2]|0){j=k[j>>2]|0;r=l;return j|0}if((k[e>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0)){j=k[j>>2]|0;r=l;return j|0}k[g>>2]=(k[e>>2]|0)+((k[d>>2]|0)==1?0:1);k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0))break;uj(k[(k[(k[h>>2]|0)+100>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[(k[h>>2]|0)+104>>2]=k[g>>2];if((k[d>>2]|0)!=1){if((Cr(k[h>>2]|0)|0)==0?(k[k[(k[h>>2]|0)+68>>2]>>2]|0)==0:0){j=k[j>>2]|0;r=l;return j|0}if(!(k[g>>2]|0))d=0;else d=(k[(k[h>>2]|0)+100>>2]|0)+(((k[g>>2]|0)-1|0)*48|0)|0;k[i>>2]=d;i=qs(k[h>>2]|0,k[i>>2]|0)|0;k[j>>2]=i;j=k[j>>2]|0;r=l;return j|0}if(k[g>>2]|0){j=k[j>>2]|0;r=l;return j|0}if(!(k[k[(k[h>>2]|0)+72>>2]>>2]|0)){j=k[j>>2]|0;r=l;return j|0}if(wr(k[(k[h>>2]|0)+72>>2]|0)|0){i=xr(k[(k[h>>2]|0)+72>>2]|0,0,0)|0;k[j>>2]=i}k[(k[h>>2]|0)+56>>2]=0;j=k[j>>2]|0;r=l;return j|0}function Vr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;q=t+8|0;j=t+56|0;m=t+52|0;f=t+48|0;g=t;d=t+44|0;h=t+40|0;c=t+36|0;o=t+32|0;p=t+28|0;s=t+24|0;e=t+20|0;n=t+16|0;k[j>>2]=a;k[m>>2]=b;k[f>>2]=k[k[j>>2]>>2];k[c>>2]=0;k[p>>2]=1;k[s>>2]=0;k[n>>2]=0;a=aj(k[(k[j>>2]|0)+68>>2]|0,g)|0;k[o>>2]=a;a:do if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];a=Wr(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(i[k[s>>2]>>0]|0)!=0:0){f=Xr(k[f>>2]|0,k[s>>2]|0,0,p)|0;k[o>>2]=f}k[s>>2]=0;if((k[o>>2]|0)==0&(k[p>>2]|0)!=0){f=(k[j>>2]|0)+80|0;k[f>>2]=0;k[f+4>>2]=0;k[e>>2]=k[m>>2];b:while(1){f=g;f=Yr(k[j>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0,d,c)|0;k[o>>2]=f;if(k[o>>2]|0){b=8;break}if((k[d>>2]|0)==-1){a=g;a=pR(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=zR(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}if(!((k[d>>2]|0)!=0|(k[m>>2]|0)!=0)?(a=(k[j>>2]|0)+88|0,a=qR(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0,f=(k[j>>2]|0)+80|0,(a|0)==(k[f>>2]|0)?(L|0)==(k[f+4>>2]|0):0):0){f=g;a=(k[j>>2]|0)+80|0;a=pR(k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=zR(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}f=(k[j>>2]|0)+80|0;if((k[f+4>>2]|0)==0?(k[f>>2]|0)==(k[(k[j>>2]|0)+156>>2]|0):0){f=Er(k[j>>2]|0,k[c>>2]|0)|0;k[o>>2]=f;if(k[o>>2]|0)break a;k[(k[j>>2]|0)+28>>2]=k[c>>2]}k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=(k[d>>2]|0)>>>0)continue b;if(k[e>>2]|0){cj(k[j>>2]|0);k[e>>2]=0}f=Zr(k[j>>2]|0,(k[j>>2]|0)+80|0,0,1,0)|0;k[o>>2]=f;if(k[o>>2]|0)break;k[n>>2]=(k[n>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[o>>2]|0)!=101){b=26;break}b=g;a=k[b+4>>2]|0;f=(k[j>>2]|0)+80|0;k[f>>2]=k[b>>2];k[f+4>>2]=a}if((b|0)==8){if((k[o>>2]|0)!=101)break;k[o>>2]=0;break}else if((b|0)==26){if((k[o>>2]|0)!=522)break;k[o>>2]=0;break}}}while(0);i[(k[j>>2]|0)+19>>0]=i[(k[j>>2]|0)+13>>0]|0;if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];h=Wr(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=h}do if(!(k[o>>2]|0)){if((l[(k[j>>2]|0)+17>>0]|0)<4?(l[(k[j>>2]|0)+17>>0]|0)!=0:0)break;h=Rg(k[j>>2]|0,0)|0;k[o>>2]=h}while(0);if(!(k[o>>2]|0)){h=ur(k[j>>2]|0,(i[k[s>>2]>>0]|0)!=0&1,0)|0;k[o>>2]=h}if((k[o>>2]|0)==0?((k[p>>2]|0)!=0?(i[k[s>>2]>>0]|0)!=0:0):0){s=_r(k[j>>2]|0,k[s>>2]|0)|0;k[o>>2]=s}if(!((k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){s=k[j>>2]|0;$r(s);s=k[o>>2]|0;r=t;return s|0}s=k[(k[j>>2]|0)+180>>2]|0;k[q>>2]=k[n>>2];k[q+4>>2]=s;$d(539,26731,q);s=k[j>>2]|0;$r(s);s=k[o>>2]|0;r=t;return s|0}function Wr(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,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;m=p+20|0;l=p+16|0;n=p;j=p+12|0;o=p+8|0;h=p+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[k[f>>2]>>0]=0;c=aj(k[e>>2]|0,n)|0;k[m>>2]=c;b=n;a=k[b+4>>2]|0;if((((((!(0!=(c|0)|((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<16))?(a=k[e>>2]|0,b=n,b=pR(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=fs(a,b,L,l)|0,k[m>>2]=b,0==(b|0)):0)?!((k[l>>2]|0)==0?1:(k[l>>2]|0)>>>0>=(k[g>>2]|0)>>>0):0)?(a=k[e>>2]|0,b=n,b=pR(k[b>>2]|0,k[b+4>>2]|0,12,0)|0,b=fs(a,b,L,j)|0,k[m>>2]=b,0==(b|0)):0)?(a=k[e>>2]|0,b=n,b=pR(k[b>>2]|0,k[b+4>>2]|0,8,0)|0,b=es(a,h,8,b,L)|0,k[m>>2]=b,0==(b|0)):0)?(FQ(h,26758,8)|0)==0:0)?(h=k[e>>2]|0,c=k[f>>2]|0,a=k[l>>2]|0,b=n,b=pR(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=pR(b|0,L|0,k[l>>2]|0,0)|0,b=es(h,c,a,b,L)|0,k[m>>2]=b,0==(b|0)):0){k[o>>2]=0;while(1){if((k[o>>2]|0)>>>0>=(k[l>>2]|0)>>>0)break;k[j>>2]=(k[j>>2]|0)-(i[(k[f>>2]|0)+(k[o>>2]|0)>>0]|0);k[o>>2]=(k[o>>2]|0)+1}if(k[j>>2]|0)k[l>>2]=0;i[(k[f>>2]|0)+(k[l>>2]|0)>>0]=0;k[d>>2]=0;b=k[d>>2]|0;r=p;return b|0}k[d>>2]=k[m>>2];b=k[d>>2]|0;r=p;return b|0}function Xr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function Yr(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;g=s+44|0;h=s+40|0;i=s+36|0;t=s+8|0;j=s+32|0;l=s+28|0;q=s+24|0;m=s+48|0;n=s;o=s+20|0;p=s+16|0;k[h>>2]=a;k[i>>2]=b;b=t;k[b>>2]=c;k[b+4>>2]=d;k[j>>2]=e;k[l>>2]=f;b=ps(k[h>>2]|0)|0;e=(k[h>>2]|0)+80|0;k[e>>2]=b;k[e+4>>2]=L;e=(k[h>>2]|0)+80|0;e=qR(k[e>>2]|0,k[e+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;b=L;a=t;f=k[a+4>>2]|0;if((b|0)>(f|0)|((b|0)==(f|0)?e>>>0>(k[a>>2]|0)>>>0:0)){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}e=(k[h>>2]|0)+80|0;a=k[e+4>>2]|0;t=n;k[t>>2]=k[e>>2];k[t+4>>2]=a;if(!((k[i>>2]|0)==0?(a=n,t=(k[h>>2]|0)+88|0,!((k[a>>2]|0)!=(k[t>>2]|0)?1:(k[a+4>>2]|0)!=(k[t+4>>2]|0))):0)){t=n;t=es(k[(k[h>>2]|0)+68>>2]|0,m,8,k[t>>2]|0,k[t+4>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}if(FQ(m,26758,8)|0){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}}a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=qR(k[t>>2]|0,k[t+4>>2]|0,8,0)|0;t=fs(a,t,L,k[j>>2]|0)|0;k[q>>2]=t;if((0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=qR(k[t>>2]|0,k[t+4>>2]|0,12,0)|0,t=fs(a,t,L,(k[h>>2]|0)+52|0)|0,k[q>>2]=t,0==(t|0)):0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=qR(k[t>>2]|0,k[t+4>>2]|0,16,0)|0,t=fs(a,t,L,k[l>>2]|0)|0,k[q>>2]=t,0==(t|0)):0){t=(k[h>>2]|0)+80|0;do if((k[t>>2]|0)==0&(k[t+4>>2]|0)==0){a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=qR(k[t>>2]|0,k[t+4>>2]|0,20,0)|0;t=fs(a,t,L,p)|0;k[q>>2]=t;if(0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=qR(k[t>>2]|0,k[t+4>>2]|0,24,0)|0,t=fs(a,t,L,o)|0,k[q>>2]=t,0==(t|0)):0){if(!(k[o>>2]|0))k[o>>2]=k[(k[h>>2]|0)+160>>2];if((!((k[o>>2]|0)>>>0<512|(k[p>>2]|0)>>>0<32|(k[o>>2]|0)>>>0>65536|(k[p>>2]|0)>>>0>65536)?((k[o>>2]|0)-1&k[o>>2]|0)==0:0)?((k[p>>2]|0)-1&k[p>>2]|0)==0:0){t=_i(k[h>>2]|0,o,-1)|0;k[q>>2]=t;k[(k[h>>2]|0)+156>>2]=k[p>>2];break}k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}while(0);t=(k[h>>2]|0)+80|0;a=t;a=qR(k[a>>2]|0,k[a+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;k[t>>2]=a;k[t+4>>2]=L;k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}function Zr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+64|0;y=B+60|0;n=B+56|0;o=B+52|0;f=B+48|0;p=B+44|0;q=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;g=B+24|0;s=B+20|0;h=B+16|0;t=B+12|0;u=B;x=B+8|0;k[n>>2]=a;k[o>>2]=b;k[f>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=k[(k[n>>2]|0)+208>>2];d=k[n>>2]|0;if(k[p>>2]|0)d=k[d+68>>2]|0;else d=k[d+72>>2]|0;k[h>>2]=d;a=k[o>>2]|0;a=fs(k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,v)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}e=k[h>>2]|0;c=k[s>>2]|0;b=k[(k[n>>2]|0)+160>>2]|0;a=k[o>>2]|0;a=qR(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;a=es(e,c,b,a,L)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}b=(k[(k[n>>2]|0)+160>>2]|0)+4+(k[p>>2]<<2)|0;a=k[o>>2]|0;c=a;b=qR(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[a>>2]=b;k[a+4>>2]=L;if((k[v>>2]|0)!=0?(k[v>>2]|0)!=(((k[381]|0)/(k[(k[n>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[v>>2]|0)>>>0<=(k[(k[n>>2]|0)+28>>2]|0)>>>0?(sj(k[f>>2]|0,k[v>>2]|0)|0)==0:0){if(k[p>>2]|0){a=k[h>>2]|0;h=k[o>>2]|0;h=pR(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;h=fs(a,h,L,g)|0;k[A>>2]=h;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[q>>2]|0)==0?(h=gs(k[n>>2]|0,k[s>>2]|0)|0,(h|0)!=(k[g>>2]|0)):0){k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}}if((k[f>>2]|0)!=0?(h=qj(k[f>>2]|0,k[v>>2]|0)|0,k[A>>2]=h,(h|0)!=0):0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[v>>2]|0)==1?(j[(k[n>>2]|0)+150>>1]|0)!=(l[(k[s>>2]|0)+20>>0]|0):0)j[(k[n>>2]|0)+150>>1]=l[(k[s>>2]|0)+20>>0]|0;if(Cr(k[n>>2]|0)|0)k[z>>2]=0;else{h=hs(k[n>>2]|0,k[v>>2]|0)|0;k[z>>2]=h}if(k[p>>2]|0){if(l[(k[n>>2]|0)+7>>0]|0)d=1;else{h=k[o>>2]|0;f=k[h+4>>2]|0;d=(k[n>>2]|0)+88|0;g=k[d+4>>2]|0;d=(f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<=(k[d>>2]|0)>>>0:0)}k[t>>2]=d&1}else{if(!(k[z>>2]|0))d=1;else d=0==(m[(k[z>>2]|0)+24>>1]&8|0);k[t>>2]=d&1}do if(k[k[(k[n>>2]|0)+64>>2]>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)>=4){if(!(k[t>>2]|0)){w=44;break}}else if(!((k[t>>2]|0)!=0?(l[(k[n>>2]|0)+17>>0]|0)==0:0)){w=44;break}h=k[(k[n>>2]|0)+160>>2]|0;h=BR((k[v>>2]|0)-1|0,0,h|0,((h|0)<0)<<31>>31|0)|0;t=u;k[t>>2]=h;k[t+4>>2]=L;u=Pg(k[(k[n>>2]|0)+64>>2]|0,k[s>>2]|0,k[(k[n>>2]|0)+160>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[A>>2]=u;if((k[v>>2]|0)>>>0>(k[(k[n>>2]|0)+36>>2]|0)>>>0)k[(k[n>>2]|0)+36>>2]=k[v>>2];if(k[(k[n>>2]|0)+96>>2]|0){is(k[(k[n>>2]|0)+96>>2]|0,k[v>>2]|0,k[s>>2]|0);k[s>>2]=k[s>>2]}}else w=44;while(0);do if((w|0)==44?(k[p>>2]|0)==0&(k[z>>2]|0)==0:0){w=(k[n>>2]|0)+21|0;i[w>>0]=l[w>>0]|2;w=Cg(k[n>>2]|0,k[v>>2]|0,z,1)|0;k[A>>2]=w;w=(k[n>>2]|0)+21|0;i[w>>0]=l[w>>0]&-3;if(!(k[A>>2]|0)){w=(k[z>>2]|0)+24|0;j[w>>1]=m[w>>1]&-17;js(k[z>>2]|0);break}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}while(0);if(k[z>>2]|0){k[x>>2]=k[(k[z>>2]|0)+4>>2];sR(k[x>>2]|0,k[s>>2]|0,k[(k[n>>2]|0)+160>>2]|0)|0;_b[k[(k[n>>2]|0)+204>>2]&255](k[z>>2]|0);do if(k[p>>2]|0){if((k[q>>2]|0)!=0?(u=k[o>>2]|0,s=k[u+4>>2]|0,w=(k[n>>2]|0)+88|0,t=k[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(k[u>>2]|0)>>>0<=(k[w>>2]|0)>>>0:0))):0)break;lj(k[z>>2]|0)}while(0);if((k[v>>2]|0)==1){c=(k[n>>2]|0)+112|0;d=(k[x>>2]|0)+24|0;e=c+16|0;do{i[c>>0]=i[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0))}ks(k[z>>2]|0)}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}k[y>>2]=0;A=k[y>>2]|0;r=B;return A|0}k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}function _r(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;t=s+60|0;c=s+56|0;m=s+52|0;n=s+48|0;l=s+44|0;j=s+40|0;p=s+36|0;g=s;o=s+32|0;q=s+28|0;h=s+24|0;e=s+16|0;d=s+12|0;f=s+8|0;k[t>>2]=a;k[c>>2]=b;k[m>>2]=k[k[t>>2]>>2];k[p>>2]=0;b=k[(k[m>>2]|0)+4>>2]<<1;b=sg(b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;k[j>>2]=(k[l>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0);if(k[l>>2]|0){k[s+20>>2]=16385;t=ds(k[m>>2]|0,k[c>>2]|0,k[l>>2]|0,16385,0)|0;k[n>>2]=t}else k[n>>2]=7;a:do if((k[n>>2]|0)==0?(t=aj(k[l>>2]|0,g)|0,k[n>>2]=t,(k[n>>2]|0)==0):0){k[h>>2]=(k[(k[m>>2]|0)+8>>2]|0)+1;b=g;t=k[h>>2]|0;t=qR(k[b>>2]|0,k[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=qR(t|0,L|0,1,0)|0;t=ig(t,L)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[n>>2]=7;break}t=g;t=qR(k[t>>2]|0,k[t+4>>2]|0,1,0)|0;k[q>>2]=(k[p>>2]|0)+t;t=es(k[l>>2]|0,k[p>>2]|0,k[g>>2]|0,0,0)|0;k[n>>2]=t;if(!(k[n>>2]|0)){i[(k[p>>2]|0)+(k[g>>2]|0)>>0]=0;k[o>>2]=k[p>>2];while(1){b=(k[o>>2]|0)-(k[p>>2]|0)|0;u=((b|0)<0)<<31>>31;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?b>>>0<(k[t>>2]|0)>>>0:0)))break;u=Xr(k[m>>2]|0,k[o>>2]|0,0,e)|0;k[n>>2]=u;if(k[n>>2]|0)break a;if(k[e>>2]|0){k[f>>2]=2049;u=ds(k[m>>2]|0,k[o>>2]|0,k[j>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=u;if(k[n>>2]|0)break a;u=Wr(k[j>>2]|0,k[q>>2]|0,k[h>>2]|0)|0;k[n>>2]=u;rr(k[j>>2]|0)|0;if(k[n>>2]|0)break a;if(i[k[q>>2]>>0]|0)a=(IQ(k[q>>2]|0,k[c>>2]|0)|0)==0;else a=0;k[d>>2]=a&1;if(k[d>>2]|0)break a}u=(Sf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+u}rr(k[l>>2]|0)|0;u=Ar(k[m>>2]|0,k[c>>2]|0,0)|0;k[n>>2]=u}}while(0);Ud(k[p>>2]|0);if(!(k[l>>2]|0)){u=k[n>>2]|0;r=s;return u|0}rr(k[l>>2]|0)|0;Ud(k[l>>2]|0);u=k[n>>2]|0;r=s;return u|0}function $r(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+13>>0]|0|0)==0?((as(k[(k[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=bs(k[(k[b>>2]|0)+64>>2]|0)|0;k[(k[b>>2]|0)+156>>2]=a;r=c;return}k[(k[b>>2]|0)+156>>2]=512;r=c;return}function as(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[(k[k[c>>2]>>2]|0)+48>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function bs(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=cs(k[d>>2]|0)|0;k[b>>2]=a;if((k[b>>2]|0)>=32){if((k[b>>2]|0)>65536)k[b>>2]=65536}else k[b>>2]=512;r=c;return k[b>>2]|0}function cs(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+44>>2];if(!(k[c>>2]|0)){c=4096;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function ds(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=hc[k[(k[m>>2]|0)+24>>2]&255](k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]&556927,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function es(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+8>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function fs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;i=h+16|0;j=h;e=h+12|0;f=h+20|0;g=h+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=d;d=j;d=es(k[i>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;r=h;return j|0}j=jr(f)|0;k[k[e>>2]>>2]=j;j=k[g>>2]|0;r=h;return j|0}function gs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[(k[g>>2]|0)+160>>2]|0)-200;while(1){if((k[e>>2]|0)<=0)break;k[d>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)-200}r=f;return k[d>>2]|0}function hs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=ms(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}else{b=ns(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}return 0}function is(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}ls(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function js(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+24>>1]|0)&33)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-33;if(!((m[(k[b>>2]|0)+24>>1]|0)&1)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)^3;mj(k[b>>2]|0,2);r=c;return}function ks(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;d=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[b>>2]|0)+26|0;a=(j[d>>1]|0)+-1<<16>>16;j[d>>1]=a;if(a<<16>>16){r=c;return}a=k[b>>2]|0;if((m[(k[b>>2]|0)+24>>1]|0)&1){nj(a);r=c;return}if(!(k[a+36>>2]|0)){r=c;return}mj(k[b>>2]|0,3);r=c;return}function ls(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do{if(((vg(k[(k[d>>2]|0)+28>>2]|0)|0)==0?(k[e>>2]|0)>>>0<(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=Eg(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1)|0,k[g>>2]=a,(k[g>>2]|0)!=0):0)k[(k[d>>2]|0)+28>>2]=k[g>>2];a=k[(k[d>>2]|0)+44>>2]|0;k[d>>2]=a}while((a|0)!=0);r=h;return}function ms(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2]&(l[(k[g>>2]|0)+33>>0]|0);b=Yb[k[140>>2]&255](k[(k[g>>2]|0)+44>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[i>>2]|0;if(k[k[g>>2]>>2]|0){i=a+12|0;k[i>>2]=(k[i>>2]|0)+1;i=(k[g>>2]|0)+26|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16;k[d>>2]=k[g>>2];i=k[d>>2]|0;r=h;return i|0}else{i=os(a,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}return 0}function os(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[g>>2]|0;c=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));k[k[g>>2]>>2]=k[f>>2];k[(k[g>>2]|0)+4>>2]=k[k[f>>2]>>2];k[(k[g>>2]|0)+8>>2]=(k[g>>2]|0)+40;uR(k[(k[g>>2]|0)+8>>2]|0,0,k[(k[d>>2]|0)+28>>2]|0)|0;k[(k[g>>2]|0)+28>>2]=k[d>>2];k[(k[g>>2]|0)+20>>2]=k[e>>2];j[(k[g>>2]|0)+24>>1]=1;g=ns(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=h;return g|0}function ps(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;b=e+16|0;d=e+8|0;c=e;k[b>>2]=a;g=d;k[g>>2]=0;k[g+4>>2]=0;g=(k[b>>2]|0)+80|0;f=k[g+4>>2]|0;a=c;k[a>>2]=k[g>>2];k[a+4>>2]=f;a=c;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}g=c;g=pR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;g=zR(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;g=qR(g|0,L|0,1,0)|0;g=BR(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}function qs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;c=s+56|0;d=s+52|0;e=s+48|0;p=s+16|0;g=s+8|0;o=s+44|0;n=s+40|0;h=s+36|0;l=s+32|0;f=s+28|0;j=s+24|0;m=s;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[n>>2]=0;if((k[e>>2]|0)!=0?(b=pj(k[(k[e>>2]|0)+20>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)==0):0){k[c>>2]=7;q=k[c>>2]|0;r=s;return q|0}if(k[e>>2]|0)a=k[(k[e>>2]|0)+20>>2]|0;else a=k[(k[d>>2]|0)+32>>2]|0;k[(k[d>>2]|0)+28>>2]=a;i[(k[d>>2]|0)+19>>0]=i[(k[d>>2]|0)+13>>0]|0;if((k[e>>2]|0)==0?(Cr(k[d>>2]|0)|0)!=0:0){q=rs(k[d>>2]|0)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}t=(k[d>>2]|0)+80|0;a=k[t+4>>2]|0;b=p;k[b>>2]=k[t>>2];k[b+4>>2]=a;a:do if((k[e>>2]|0)!=0?(Cr(k[d>>2]|0)|0)==0:0){t=(k[e>>2]|0)+8|0;if((k[t>>2]|0)!=0|(k[t+4>>2]|0)!=0){b=(k[e>>2]|0)+8|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=p;a=k[b>>2]|0;b=k[b+4>>2]|0}t=g;k[t>>2]=a;k[t+4>>2]=b;a=k[e>>2]|0;b=k[a+4>>2]|0;t=(k[d>>2]|0)+80|0;k[t>>2]=k[a>>2];k[t+4>>2]=b;while(1){if(k[o>>2]|0)break a;b=(k[d>>2]|0)+80|0;u=k[b+4>>2]|0;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(k[b>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))break a;u=Zr(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u}}else q=19;while(0);if((q|0)==19){u=(k[d>>2]|0)+80|0;k[u>>2]=0;k[u+4>>2]=0}b:while(1){if(k[o>>2]|0)break;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))break;k[l>>2]=0;u=p;u=Yr(k[d>>2]|0,0,k[u>>2]|0,k[u+4>>2]|0,l,f)|0;k[o>>2]=u;if((k[l>>2]|0)==0?(t=(k[d>>2]|0)+88|0,t=qR(k[t>>2]|0,k[t+4>>2]|0,k[(k[d>>2]|0)+156>>2]|0,0)|0,u=(k[d>>2]|0)+80|0,(t|0)==(k[u>>2]|0)?(L|0)==(k[u+4>>2]|0):0):0){u=p;t=(k[d>>2]|0)+80|0;t=pR(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;u=(k[(k[d>>2]|0)+160>>2]|0)+8|0;u=zR(t|0,L|0,u|0,((u|0)<0)<<31>>31|0)|0;k[l>>2]=u}k[h>>2]=0;while(1){if(k[o>>2]|0)continue b;if((k[h>>2]|0)>>>0>=(k[l>>2]|0)>>>0)continue b;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))continue b;u=Zr(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u;k[h>>2]=(k[h>>2]|0)+1}}c:do if(k[e>>2]|0){t=4+(k[(k[d>>2]|0)+160>>2]|0)|0;t=BR(k[(k[e>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;k[u>>2]=t;k[u+4>>2]=L;if(Cr(k[d>>2]|0)|0){u=ss(k[(k[d>>2]|0)+216>>2]|0,(k[e>>2]|0)+28|0)|0;k[o>>2]=u}k[j>>2]=k[(k[e>>2]|0)+24>>2];while(1){if(k[o>>2]|0)break c;if((k[j>>2]|0)>>>0>=(k[(k[d>>2]|0)+56>>2]|0)>>>0)break c;u=Zr(k[d>>2]|0,m,k[n>>2]|0,0,1)|0;k[o>>2]=u;k[j>>2]=(k[j>>2]|0)+1}}while(0);uj(k[n>>2]|0);if(!(k[o>>2]|0)){q=p;t=k[q+4>>2]|0;u=(k[d>>2]|0)+80|0;k[u>>2]=k[q>>2];k[u+4>>2]=t}k[c>>2]=k[o>>2];u=k[c>>2]|0;r=s;return u|0}function rs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[(k[b>>2]|0)+28>>2]=k[(k[b>>2]|0)+32>>2];a=zs(k[(k[b>>2]|0)+216>>2]|0,187,k[b>>2]|0)|0;k[e>>2]=a;a=As(k[(k[b>>2]|0)+212>>2]|0)|0;k[c>>2]=a;while(1){if(!((k[c>>2]|0)!=0?(k[e>>2]|0)==0:0))break;k[d>>2]=k[(k[c>>2]|0)+12>>2];a=ys(k[b>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=a;k[c>>2]=k[d>>2]}r=f;return k[e>>2]|0}function ss(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[c>>2]|0)+112>>2]|0)){k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+112>>2]}if((k[k[d>>2]>>2]|0)>>>0>=(k[(k[c>>2]|0)+52+16>>2]|0)>>>0){e=k[e>>2]|0;r=f;return e|0}k[(k[c>>2]|0)+52+16>>2]=k[k[d>>2]>>2];k[(k[c>>2]|0)+52+24>>2]=k[(k[d>>2]|0)+4>>2];k[(k[c>>2]|0)+52+24+4>>2]=k[(k[d>>2]|0)+8>>2];ts(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function ts(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;f=i+8|0;h=i+4|0;e=i;k[b>>2]=a;k[c>>2]=0;k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;if(!(k[(k[b>>2]|0)+52+16>>2]|0)){r=i;return}a=k[b>>2]|0;vs(a,us(k[(k[b>>2]|0)+52+16>>2]|0)|0,c,d,g)|0;k[f>>2]=(k[(k[b>>2]|0)+52+16>>2]|0)-(k[g>>2]|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=8192)break;if((m[(k[c>>2]|0)+(k[e>>2]<<1)>>1]|0|0)>(k[f>>2]|0))j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=0;k[e>>2]=(k[e>>2]|0)+1}k[h>>2]=(k[c>>2]|0)-((k[d>>2]|0)+((k[f>>2]|0)+1<<2));uR((k[d>>2]|0)+((k[f>>2]|0)+1<<2)|0,0,k[h>>2]|0)|0;r=i;return}function us(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(((k[d>>2]|0)+4096-4062-1|0)>>>0)/4096|0;r=c;return k[b>>2]|0}function vs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;p=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;n=o+12|0;l=o+8|0;m=o+4|0;j=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;e=ws(k[p>>2]|0,k[f>>2]|0,l)|0;k[n>>2]=e;if(k[n>>2]|0){p=k[n>>2]|0;r=o;return p|0}k[j>>2]=(k[l>>2]|0)+16384;if(!(k[f>>2]|0)){k[l>>2]=(k[l>>2]|0)+136;k[m>>2]=0}else k[m>>2]=4062+((k[f>>2]|0)-1<<12);k[k[h>>2]>>2]=(k[l>>2]|0)+-4;k[k[g>>2]>>2]=k[j>>2];k[k[i>>2]>>2]=k[m>>2];p=k[n>>2]|0;r=o;return p|0}function ws(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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;m=n+8|0;j=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;do if((k[(k[e>>2]|0)+24>>2]|0)<=(k[f>>2]|0)){k[j>>2]=(k[f>>2]|0)+1<<2;c=k[j>>2]|0;c=Wd(k[(k[e>>2]|0)+32>>2]|0,c,((c|0)<0)<<31>>31)|0;k[h>>2]=c;if(k[h>>2]|0){uR((k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0,0,(k[f>>2]|0)+1-(k[(k[e>>2]|0)+24>>2]|0)<<2|0)|0;k[(k[e>>2]|0)+32>>2]=k[h>>2];k[(k[e>>2]|0)+24>>2]=(k[f>>2]|0)+1;break}k[k[g>>2]>>2]=0;k[d>>2]=7;m=k[d>>2]|0;r=n;return m|0}while(0);do if(!(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0))if((l[(k[e>>2]|0)+43>>0]|0|0)==2){c=sg(32768,0)|0;k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]=c;if(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0)break;k[m>>2]=7;break}else{c=xs(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,32768,l[(k[e>>2]|0)+44>>0]|0,(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)|0)|0;k[m>>2]=c;if((k[m>>2]|0)!=8)break;c=(k[e>>2]|0)+46|0;i[c>>0]=l[c>>0]|0|2;k[m>>2]=0;break}while(0);k[k[g>>2]>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[d>>2]=k[m>>2];m=k[d>>2]|0;r=n;return m|0}function xs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=hc[k[(k[k[l>>2]>>2]|0)+52>>2]&255](k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return e|0}function ys(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;i=g+20|0;h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;c=g;k[i>>2]=a;k[h>>2]=b;k[f>>2]=0;k[d>>2]=k[i>>2];a=hs(k[d>>2]|0,k[h>>2]|0)|0;k[e>>2]=a;do if(k[e>>2]|0){if((Fs(k[e>>2]|0)|0)==1){Gs(k[e>>2]|0);break}k[c>>2]=0;i=Hs(k[(k[d>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+20>>2]|0,c)|0;k[f>>2]=i;if(!(k[f>>2]|0)){i=Is(k[e>>2]|0,k[c>>2]|0)|0;k[f>>2]=i}if(!(k[f>>2]|0))_b[k[(k[d>>2]|0)+204>>2]&255](k[e>>2]|0);Js(k[e>>2]|0)}while(0);ij(k[(k[d>>2]|0)+96>>2]|0);r=g;return k[f>>2]|0}function zs(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(i[(k[d>>2]|0)+44>>0]|0)){j=k[j>>2]|0;r=l;return j|0}k[h>>2]=k[(k[d>>2]|0)+52+16>>2];c=(k[d>>2]|0)+52|0;a=Ds(k[d>>2]|0)|0;b=c+48|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0));k[g>>2]=(k[(k[d>>2]|0)+52+16>>2]|0)+1;while(1){if(k[j>>2]|0)break;if((k[g>>2]|0)>>>0>(k[h>>2]|0)>>>0)break;c=k[e>>2]|0;a=k[f>>2]|0;b=Es(k[d>>2]|0,k[g>>2]|0)|0;b=gc[c&255](a,b)|0;k[j>>2]=b;k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==(k[(k[d>>2]|0)+52+16>>2]|0)){j=k[j>>2]|0;r=l;return j|0}ts(k[d>>2]|0);j=k[j>>2]|0;r=l;return j|0}function As(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32>>2];k[c>>2]=k[(k[c>>2]|0)+32>>2]}a=Bs(k[k[b>>2]>>2]|0)|0;r=d;return a|0}function Bs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+144|0;c=h+136|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;a=e;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(k[c>>2]|0))break;k[g>>2]=k[c>>2];k[c>>2]=k[(k[g>>2]|0)+12>>2];k[(k[g>>2]|0)+12>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=31)break;if(!(k[e+(k[f>>2]<<2)>>2]|0)){d=6;break}b=Cs(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;k[e+(k[f>>2]<<2)>>2]=0;k[f>>2]=(k[f>>2]|0)+1}if((d|0)==6){d=0;k[e+(k[f>>2]<<2)>>2]=k[g>>2]}if((k[f>>2]|0)!=31)continue;b=Cs(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[e+(k[f>>2]<<2)>>2]=b}k[g>>2]=k[e>>2];k[f>>2]=1;while(1){a=k[g>>2]|0;if((k[f>>2]|0)>=32)break;d=Cs(a,k[e+(k[f>>2]<<2)>>2]|0)|0;k[g>>2]=d;k[f>>2]=(k[f>>2]|0)+1}r=h;return a|0}function Cs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;c=g+52|0;d=g+48|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=f;while(1){a=k[c>>2]|0;if(!((k[c>>2]|0)!=0?(k[d>>2]|0)!=0:0))break;if((k[a+20>>2]|0)>>>0<(k[(k[d>>2]|0)+20>>2]|0)>>>0){k[(k[e>>2]|0)+12>>2]=k[c>>2];k[e>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+12>>2];continue}else{k[(k[e>>2]|0)+12>>2]=k[d>>2];k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];continue}}if(a){k[(k[e>>2]|0)+12>>2]=k[c>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}if(k[d>>2]|0){k[(k[e>>2]|0)+12>>2]=k[d>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}else{k[(k[e>>2]|0)+12>>2]=0;f=f+12|0;f=k[f>>2]|0;r=g;return f|0}return 0}function Ds(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+32>>2]>>2]|0}function Es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;b=us(k[g>>2]|0)|0;k[e>>2]=b;b=k[g>>2]|0;if(!(k[e>>2]|0)){k[c>>2]=k[(k[k[(k[d>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];g=k[c>>2]|0;r=f;return g|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];g=k[c>>2]|0;r=f;return g|0}return 0}function Fs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+26>>1]|0}function Gs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+24>>1]|0)&2)mj(k[b>>2]|0,1);a=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;cc[k[144>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,1);r=c;return}function Hs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;s=w+56|0;d=w+52|0;e=w+48|0;t=w+44|0;u=w+40|0;n=w+36|0;i=w+32|0;o=w+28|0;f=w+24|0;g=w+20|0;p=w+16|0;l=w+12|0;q=w+8|0;v=w+4|0;h=w;k[d>>2]=a;k[e>>2]=b;k[t>>2]=c;k[u>>2]=0;k[n>>2]=k[(k[d>>2]|0)+52+16>>2];if((k[n>>2]|0)!=0?(j[(k[d>>2]|0)+40>>1]|0)!=0:0){c=us(k[(k[d>>2]|0)+100>>2]|0)|0;k[o>>2]=c;c=us(k[n>>2]|0)|0;k[i>>2]=c;a:while(1){if(!((k[i>>2]|0)>=(k[o>>2]|0)?(k[u>>2]|0)==0:0)){d=18;break}c=vs(k[d>>2]|0,k[i>>2]|0,f,g,p)|0;k[v>>2]=c;if(k[v>>2]|0){d=7;break}k[q>>2]=8192;c=Os(k[e>>2]|0)|0;k[l>>2]=c;while(1){if(!(j[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0))break;k[h>>2]=(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0)+(k[p>>2]|0);if(((k[h>>2]|0)>>>0<=(k[n>>2]|0)>>>0?(k[h>>2]|0)>>>0>=(k[(k[d>>2]|0)+100>>2]|0)>>>0:0)?(k[(k[g>>2]|0)+(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]<<2)>>2]|0)==(k[e>>2]|0):0)k[u>>2]=k[h>>2];c=k[q>>2]|0;k[q>>2]=c+-1;if(!c){d=15;break a}c=Ps(k[l>>2]|0)|0;k[l>>2]=c}k[i>>2]=(k[i>>2]|0)+-1}if((d|0)==7){k[s>>2]=k[v>>2];v=k[s>>2]|0;r=w;return v|0}else if((d|0)==15){v=Vj(53690)|0;k[s>>2]=v;v=k[s>>2]|0;r=w;return v|0}else if((d|0)==18){k[k[t>>2]>>2]=k[u>>2];k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}}k[k[t>>2]>>2]=0;k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}function Is(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+32|0;d=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;e=m;j=m+8|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[g>>2]=k[(k[c>>2]|0)+20>>2];k[l>>2]=0;k[h>>2]=k[(k[f>>2]|0)+160>>2];if(k[d>>2]|0){h=Ns(k[(k[f>>2]|0)+216>>2]|0,k[d>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;k[l>>2]=h}else{b=k[(k[f>>2]|0)+160>>2]|0;b=BR((k[g>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;h=es(k[(k[f>>2]|0)+64>>2]|0,k[(k[c>>2]|0)+4>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[l>>2]=h;k[l>>2]=(k[l>>2]|0)==522?0:h}if((k[g>>2]|0)!=1){l=k[l>>2]|0;r=m;return l|0}if(k[l>>2]|0){b=(k[f>>2]|0)+112|0;d=b+16|0;do{i[b>>0]=255;b=b+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}else{k[j>>2]=(k[(k[c>>2]|0)+4>>2]|0)+24;b=(k[f>>2]|0)+112|0;c=k[j>>2]|0;d=b+16|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}return 0}function Js(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+16>>2];a=k[d>>2]|0;if((m[(k[d>>2]|0)+24>>1]|0)&64){Ks(a);d=k[b>>2]|0;Ls(d);r=c;return}else{ks(a);d=k[b>>2]|0;Ls(d);r=c;return}}function Ks(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+4|0;e=b;k[c>>2]=a;k[e>>2]=k[(k[c>>2]|0)+16>>2];d=(k[e>>2]|0)+128|0;k[d>>2]=(k[d>>2]|0)+-1;k[(k[c>>2]|0)+12>>2]=k[(k[e>>2]|0)+144>>2];k[(k[e>>2]|0)+144>>2]=k[c>>2];d=k[(k[e>>2]|0)+64>>2]|0;a=k[(k[e>>2]|0)+160>>2]|0;a=BR((k[(k[c>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Ms(d,a,L,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return}function Ls(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+128>>2]|0){r=c;return}if($i(k[(k[b>>2]|0)+212>>2]|0)|0){r=c;return}qr(k[b>>2]|0);r=c;return}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function Ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=r;r=r+32|0;i=e+24|0;l=e+20|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e;k[i>>2]=a;k[l>>2]=b;k[f>>2]=c;k[h>>2]=d;k[g>>2]=m[(k[i>>2]|0)+52+14>>1];k[g>>2]=(k[g>>2]&65024)+((k[g>>2]&1)<<16);d=(k[g>>2]|0)+24|0;d=BR((k[l>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=qR(32,0,d|0,L|0)|0;d=qR(d|0,L|0,24,0)|0;a=j;k[a>>2]=d;k[a+4>>2]=L;a=j;a=es(k[(k[i>>2]|0)+8>>2]|0,k[h>>2]|0,(k[f>>2]|0)>(k[g>>2]|0)?k[g>>2]|0:k[f>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=e;return a|0}function Os(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)*383&8191|0}function Ps(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+1&8191|0}function Qs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Dr(k[b>>2]|0)|0;if((j[(k[b>>2]|0)+40>>1]|0)<0){r=c;return}Jr(k[b>>2]|0,3+(j[(k[b>>2]|0)+40>>1]|0)|0);j[(k[b>>2]|0)+40>>1]=-1;r=c;return}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+28>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Ss(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+64|0;z=A+52|0;v=A+48|0;w=A+44|0;l=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;k[v>>2]=a;k[w>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[s>>2]=j;k[t>>2]=0;k[x>>2]=k[w>>2];k[u>>2]=k[l>>2];if(i[(k[v>>2]|0)+46>>0]|0){k[z>>2]=8;z=k[z>>2]|0;r=A;return z|0}g=Xs(k[v>>2]|0,1,1)|0;k[y>>2]=g;if(k[y>>2]|0){k[z>>2]=k[y>>2];z=k[z>>2]|0;r=A;return z|0}i[(k[v>>2]|0)+45>>0]=1;do if(k[w>>2]|0){g=Ys(k[v>>2]|0,k[l>>2]|0,k[m>>2]|0,0,1)|0;k[y>>2]=g;if(!(k[y>>2]|0)){i[(k[v>>2]|0)+44>>0]=1;break}if((k[y>>2]|0)==5){k[x>>2]=0;k[u>>2]=0;k[y>>2]=0}}while(0);if(((k[y>>2]|0)==0?(g=Zs(k[v>>2]|0,t)|0,k[y>>2]=g,(k[t>>2]|0)!=0):0)?(k[k[k[(k[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Ms(k[(k[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(k[y>>2]|0)){if((k[(k[v>>2]|0)+52+16>>2]|0)!=0?(g=_s(k[v>>2]|0)|0,(g|0)!=(k[o>>2]|0)):0){g=Vj(54390)|0;k[y>>2]=g}else{g=$s(k[v>>2]|0,k[x>>2]|0,k[u>>2]|0,k[m>>2]|0,k[n>>2]|0,k[p>>2]|0)|0;k[y>>2]=g}if((k[y>>2]|0)==0|(k[y>>2]|0)==5){if(k[q>>2]|0)k[k[q>>2]>>2]=k[(k[v>>2]|0)+52+16>>2];if(k[s>>2]|0){g=at(k[v>>2]|0)|0;k[k[s>>2]>>2]=k[g>>2]}}}if(k[t>>2]|0){l=(k[v>>2]|0)+52|0;m=l+48|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}Dr(k[v>>2]|0)|0;Lr(k[v>>2]|0,1,1);i[(k[v>>2]|0)+45>>0]=0;if((k[y>>2]|0)==0?(k[w>>2]|0)!=(k[x>>2]|0):0)l=5;else l=k[y>>2]|0;k[z>>2]=l;z=k[z>>2]|0;r=A;return z|0}function Ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return}function Us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i+16|0;d=i+24|0;e=i+8|0;g=i;f=i+20|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;ak();a=aj(k[(k[d>>2]|0)+8>>2]|0,g)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(a=g,b=k[a+4>>2]|0,g=e,c=k[g+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0){g=e;g=xr(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[f>>2]=g}bk();if(!(k[f>>2]|0)){r=i;return}g=k[f>>2]|0;k[h>>2]=k[(k[d>>2]|0)+108>>2];$d(g,26766,h);r=i;return}function Vs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+43>>0]|0|0)!=2){Ws(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0;r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+24>>2]|0))break;Ud(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0);k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=f;return}function Ws(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+64>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Xs(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;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(i[(k[e>>2]|0)+43>>0]|0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}else{a=Kr(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,k[g>>2]|0,10)|0;k[h>>2]=a;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}return 0}function Ys(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;while(1){b=Xs(k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=b;if(!((k[g>>2]|0)!=0&(k[l>>2]|0)==5)){f=4;break}if(!(bc[k[g>>2]&255](k[h>>2]|0)|0)){f=4;break}}if((f|0)==4){r=m;return k[l>>2]|0}return 0}function Zs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;a=ws(k[d>>2]|0,0,g)|0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}if(k[g>>2]|0)b=mt(k[d>>2]|0,k[e>>2]|0)|0;else b=1;k[f>>2]=b;do if(k[f>>2]|0){b=k[d>>2]|0;if((l[(k[d>>2]|0)+46>>0]|0)&2){g=Ir(b,0)|0;k[h>>2]=g;if(g)break;Jr(k[d>>2]|0,0);k[h>>2]=264;break}a=Xs(b,0,1)|0;k[h>>2]=a;if(!a){i[(k[d>>2]|0)+44>>0]=1;g=ws(k[d>>2]|0,0,g)|0;k[h>>2]=g;if(0==(g|0)?(g=mt(k[d>>2]|0,k[e>>2]|0)|0,k[f>>2]=g,(k[f>>2]|0)!=0):0){g=nt(k[d>>2]|0)|0;k[h>>2]=g;k[k[e>>2]>>2]=1}i[(k[d>>2]|0)+44>>0]=0;Lr(k[d>>2]|0,0,1)}}while(0);if((k[f>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=3007e3:0){g=ot(53243)|0;k[h>>2]=g}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}function _s(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[b>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function $s(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+112|0;g=G+104|0;h=G+100|0;i=G+96|0;j=G+92|0;l=G+88|0;m=G+84|0;n=G+80|0;A=G+76|0;D=G+72|0;z=G+68|0;p=G+64|0;q=G+60|0;u=G+56|0;t=G+52|0;o=G+48|0;y=G+44|0;E=G+40|0;x=G+24|0;v=G+36|0;w=G+16|0;s=G+8|0;C=G;B=G+32|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[A>>2]=0;k[z>>2]=0;k[p>>2]=0;k[q>>2]=0;f=_s(k[h>>2]|0)|0;k[D>>2]=f;f=at(k[h>>2]|0)|0;k[y>>2]=f;a:do if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){f=bt(k[h>>2]|0,z)|0;k[A>>2]=f;if(k[A>>2]|0){k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}k[u>>2]=k[(k[h>>2]|0)+52+16>>2];k[t>>2]=k[(k[h>>2]|0)+52+20>>2];k[o>>2]=1;while(1){if((k[o>>2]|0)>=5)break;k[E>>2]=k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2];do if((k[u>>2]|0)>>>0>(k[E>>2]|0)>>>0){f=Ys(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3+(k[o>>2]|0)|0,1)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2]=(k[o>>2]|0)==1?k[u>>2]|0:-1;Lr(k[h>>2]|0,3+(k[o>>2]|0)|0,1);break}if((k[A>>2]|0)!=5)break a;k[u>>2]=k[E>>2];k[j>>2]=0}while(0);k[o>>2]=(k[o>>2]|0)+1}if((k[k[y>>2]>>2]|0)>>>0<(k[u>>2]|0)>>>0?(F=Ys(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3,1)|0,k[A>>2]=F,(F|0)==0):0){k[v>>2]=k[k[y>>2]>>2];k[(k[y>>2]|0)+32>>2]=k[u>>2];if(k[m>>2]|0){F=yr(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(((k[A>>2]|0)==0?(f=k[D>>2]|0,f=BR(k[t>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=w,k[F>>2]=f,k[F+4>>2]=L,F=aj(k[(k[h>>2]|0)+4>>2]|0,x)|0,k[A>>2]=F,(k[A>>2]|0)==0):0)?(f=x,c=k[f+4>>2]|0,F=w,E=k[F+4>>2]|0,(c|0)<(E|0)|((c|0)==(E|0)?(k[f>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0)Ts(k[(k[h>>2]|0)+4>>2]|0,5,w);b:while(1){if(k[A>>2]|0)break;while(1){if(ct(k[z>>2]|0,p,q)|0)break b;if((k[q>>2]|0)>>>0<=(k[v>>2]|0)>>>0)continue b;if((k[q>>2]|0)>>>0>(k[u>>2]|0)>>>0)continue b;if((k[p>>2]|0)>>>0>(k[t>>2]|0)>>>0)continue b;f=(k[D>>2]|0)+24|0;f=BR((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=qR(32,0,f|0,L|0)|0;f=qR(f|0,L|0,24,0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=es(k[(k[h>>2]|0)+8>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(k[A>>2]|0)break b;f=k[D>>2]|0;f=BR((k[p>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=Pg(k[(k[h>>2]|0)+4>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(!((k[A>>2]|0)==0&(k[A>>2]|0)==0))break b}}if(!(k[A>>2]|0)){f=k[u>>2]|0;F=(Ds(k[h>>2]|0)|0)+16|0;if((f|0)==(k[F>>2]|0)?(f=k[D>>2]|0,f=BR(k[(k[h>>2]|0)+52+20>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=C,k[F>>2]=f,k[F+4>>2]=L,F=C,F=xr(k[(k[h>>2]|0)+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0,k[A>>2]=F,(k[A>>2]|0)==0&(k[m>>2]|0)!=0):0){F=yr(k[(k[h>>2]|0)+4>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(!(k[A>>2]|0))k[k[y>>2]>>2]=k[u>>2]}Lr(k[h>>2]|0,3,1)}if((k[A>>2]|0)==5){k[A>>2]=0;F=36}else F=36}else F=36;while(0);do if((F|0)==36?(k[A>>2]|0)==0&(k[i>>2]|0)!=0:0){if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){k[A>>2]=5;break}if((k[i>>2]|0)>=2?(ae(4,B),F=Ys(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,4,4)|0,k[A>>2]=F,(k[A>>2]|0)==0):0){if((k[i>>2]|0)==3){dt(k[h>>2]|0,k[B>>2]|0);F=xr(k[(k[h>>2]|0)+8>>2]|0,0,0)|0;k[A>>2]=F}Lr(k[h>>2]|0,4,4)}}while(0);et(k[z>>2]|0);k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}function at(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[(k[b>>2]|0)+32>>2]>>2]|0)+96|0}function bt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+60|0;d=v+56|0;e=v+52|0;t=v+48|0;s=v+44|0;m=v+40|0;p=v+36|0;l=v+32|0;i=v+28|0;u=v+24|0;f=v+20|0;n=v+16|0;h=v+12|0;o=v+8|0;q=v+4|0;g=v;k[d>>2]=a;k[e>>2]=b;k[u>>2]=0;k[m>>2]=k[(k[d>>2]|0)+52+16>>2];b=(us(k[m>>2]|0)|0)+1|0;k[s>>2]=b;k[p>>2]=28+(((k[s>>2]|0)-1|0)*20|0)+(k[m>>2]<<1);b=k[p>>2]|0;b=Td(b,((b|0)<0)<<31>>31)|0;k[t>>2]=b;if(!(k[t>>2]|0)){k[c>>2]=7;u=k[c>>2]|0;r=v;return u|0}uR(k[t>>2]|0,0,k[p>>2]|0)|0;k[(k[t>>2]|0)+4>>2]=k[s>>2];b=Td(((k[m>>2]|0)>>>0>4096?4096:k[m>>2]|0)<<1,0)|0;k[i>>2]=b;if(!(k[i>>2]|0))k[u>>2]=7;k[l>>2]=0;while(1){if(k[u>>2]|0)break;if((k[l>>2]|0)>=(k[s>>2]|0))break;b=vs(k[d>>2]|0,k[l>>2]|0,f,h,n)|0;k[u>>2]=b;if(!(k[u>>2]|0)){k[h>>2]=(k[h>>2]|0)+4;if(((k[l>>2]|0)+1|0)==(k[s>>2]|0))k[q>>2]=(k[m>>2]|0)-(k[n>>2]|0);else k[q>>2]=((k[f>>2]|0)-(k[h>>2]|0)|0)/4|0;k[g>>2]=(k[t>>2]|0)+8+((k[(k[t>>2]|0)+4>>2]|0)*20|0)+(k[n>>2]<<1);k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;j[(k[g>>2]|0)+(k[o>>2]<<1)>>1]=k[o>>2];k[o>>2]=(k[o>>2]|0)+1}kt(k[h>>2]|0,k[i>>2]|0,k[g>>2]|0,q);k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+16>>2]=k[n>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+12>>2]=k[q>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+4>>2]=k[g>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+8>>2]=k[h>>2]}k[l>>2]=(k[l>>2]|0)+1}Ud(k[i>>2]|0);if(k[u>>2]|0)et(k[t>>2]|0);k[k[e>>2]>>2]=k[t>>2];k[c>>2]=k[u>>2];u=k[c>>2]|0;r=v;return u|0}function ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;j=o+12|0;g=o+8|0;l=o+4|0;i=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=-1;k[h>>2]=k[k[d>>2]>>2];k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)-1;while(1){if((k[g>>2]|0)<0)break;k[l>>2]=(k[d>>2]|0)+8+((k[g>>2]|0)*20|0);while(1){if((k[k[l>>2]>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0))break;k[i>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+((m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)<<2)>>2];if((k[i>>2]|0)>>>0>(k[h>>2]|0)>>>0){n=6;break}b=k[l>>2]|0;k[b>>2]=(k[b>>2]|0)+1}if((n|0)==6?(n=0,(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){k[j>>2]=k[i>>2];k[k[f>>2]>>2]=(k[(k[l>>2]|0)+16>>2]|0)+(m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)}k[g>>2]=(k[g>>2]|0)+-1}n=k[j>>2]|0;k[k[d>>2]>>2]=n;k[k[e>>2]>>2]=n;r=o;return (k[j>>2]|0)==-1|0}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e+16|0;g=e+12|0;d=e+8|0;c=e+4|0;h=e;k[f>>2]=a;k[g>>2]=b;b=at(k[f>>2]|0)|0;k[d>>2]=b;k[h>>2]=(k[f>>2]|0)+52+32;b=(k[f>>2]|0)+112|0;k[b>>2]=(k[b>>2]|0)+1;k[(k[f>>2]|0)+52+16>>2]=0;b=k[h>>2]|0;ft(b,1+(jr(k[h>>2]|0)|0)|0);k[(k[f>>2]|0)+52+32+4>>2]=k[g>>2];gt(k[f>>2]|0);k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+4+4>>2]=0;k[c>>2]=2;while(1){if((k[c>>2]|0)>=5)break;k[(k[d>>2]|0)+4+(k[c>>2]<<2)>>2]=-1;k[c>>2]=(k[c>>2]|0)+1}r=e;return}function et(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=(k[e>>2]|0)>>>24;i[(k[d>>2]|0)+1>>0]=(k[e>>2]|0)>>>16;i[(k[d>>2]|0)+2>>0]=(k[e>>2]|0)>>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2];r=c;return}function gt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;k[d>>2]=a;a=Ds(k[d>>2]|0)|0;k[e>>2]=a;k[f>>2]=40;i[(k[d>>2]|0)+52+12>>0]=1;k[(k[d>>2]|0)+52>>2]=3007e3;ht(1,(k[d>>2]|0)+52|0,40,0,(k[d>>2]|0)+52+40|0);a=(k[e>>2]|0)+48|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));it(k[d>>2]|0);a=k[e>>2]|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));r=f;return}function ht(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;f=n+32|0;p=n+28|0;o=n+24|0;g=n+20|0;h=n+16|0;l=n+12|0;m=n+8|0;i=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[p>>2];k[j>>2]=(k[p>>2]|0)+(k[o>>2]|0);if(k[g>>2]|0){k[l>>2]=k[k[g>>2]>>2];k[m>>2]=k[(k[g>>2]|0)+4>>2]}else{k[m>>2]=0;k[l>>2]=0}if(k[f>>2]|0){do{p=k[i>>2]|0;k[i>>2]=p+4;k[l>>2]=(k[l>>2]|0)+((k[p>>2]|0)+(k[m>>2]|0));p=k[i>>2]|0;k[i>>2]=p+4;k[m>>2]=(k[m>>2]|0)+((k[p>>2]|0)+(k[l>>2]|0))}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}else{do{k[l>>2]=(k[l>>2]|0)+(((k[k[i>>2]>>2]&255)<<24)+((k[k[i>>2]>>2]&65280)<<8)+((k[k[i>>2]>>2]&16711680)>>>8)+((k[k[i>>2]>>2]&-16777216)>>>24)+(k[m>>2]|0));k[m>>2]=(k[m>>2]|0)+(((k[(k[i>>2]|0)+4>>2]&255)<<24)+((k[(k[i>>2]|0)+4>>2]&65280)<<8)+((k[(k[i>>2]|0)+4>>2]&16711680)>>>8)+((k[(k[i>>2]|0)+4>>2]&-16777216)>>>24)+(k[l>>2]|0));k[i>>2]=(k[i>>2]|0)+8}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}}function it(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+43>>0]|0|0)==2){r=c;return}jt(k[(k[b>>2]|0)+4>>2]|0);r=c;return}function jt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[(k[k[c>>2]>>2]|0)+60>>2]&255](k[c>>2]|0);r=b;return}function kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+160|0;e=s+144|0;f=s+140|0;g=s+136|0;h=s+132|0;n=s+128|0;o=s+124|0;i=s+120|0;l=s+116|0;m=s+112|0;j=s+8|0;p=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=k[k[h>>2]>>2];k[o>>2]=0;k[i>>2]=0;k[m>>2]=0;b=j;a=b+104|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[n>>2]|0))break;k[o>>2]=1;k[i>>2]=(k[g>>2]|0)+(k[l>>2]<<1);k[m>>2]=0;while(1){if(!(k[l>>2]&1<>2]))break;k[p>>2]=j+(k[m>>2]<<3);lt(k[e>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[k[p>>2]>>2]|0,i,o,k[f>>2]|0);k[m>>2]=(k[m>>2]|0)+1}k[j+(k[m>>2]<<3)+4>>2]=k[i>>2];k[j+(k[m>>2]<<3)>>2]=k[o>>2];k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1;while(1){if((k[m>>2]|0)>>>0>=13)break;if(k[n>>2]&1<>2]){k[q>>2]=j+(k[m>>2]<<3);lt(k[e>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[k[q>>2]>>2]|0,i,o,k[f>>2]|0)}k[m>>2]=(k[m>>2]|0)+1}k[k[h>>2]>>2]=k[o>>2];r=s;return}function lt(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,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;g=y+44|0;h=y+40|0;i=y+36|0;l=y+32|0;n=y+28|0;o=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;p=y+4|0;v=y+48|0;q=y;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[n>>2]=e;k[o>>2]=f;k[s>>2]=0;k[u>>2]=0;k[t>>2]=0;k[w>>2]=k[k[n>>2]>>2];k[p>>2]=k[k[l>>2]>>2];while(1){if((k[u>>2]|0)>=(k[w>>2]|0)?(k[s>>2]|0)>=(k[i>>2]|0):0)break;do if((k[s>>2]|0)<(k[i>>2]|0)){if((k[u>>2]|0)<(k[w>>2]|0)?(k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(k[(k[g>>2]|0)+((m[(k[p>>2]|0)+(k[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}e=k[s>>2]|0;k[s>>2]=e+1;j[v>>1]=j[(k[h>>2]|0)+(e<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;e=k[u>>2]|0;k[u>>2]=e+1;j[v>>1]=j[(k[p>>2]|0)+(e<<1)>>1]|0}k[q>>2]=k[(k[g>>2]|0)+((m[v>>1]|0)<<2)>>2];d=j[v>>1]|0;e=k[t>>2]|0;k[t>>2]=e+1;j[(k[o>>2]|0)+(e<<1)>>1]=d;if((k[s>>2]|0)>=(k[i>>2]|0))continue;if((k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(k[q>>2]|0))continue;k[s>>2]=(k[s>>2]|0)+1}k[k[l>>2]>>2]=k[h>>2];k[k[n>>2]>>2]=k[t>>2];sR(k[h>>2]|0,k[o>>2]|0,k[t>>2]<<1|0)|0;r=y;return}function mt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+128|0;d=o+120|0;e=o+116|0;f=o+112|0;g=o+104|0;j=o+56|0;n=o+8|0;h=o;k[e>>2]=a;k[f>>2]=b;b=Ds(k[e>>2]|0)|0;k[h>>2]=b;b=j;a=k[h>>2]|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));it(k[e>>2]|0);b=n;a=(k[h>>2]|0)+48|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));if(FQ(j,n,48)|0){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}if(!(l[j+12>>0]|0)){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}ht(1,j,40,0,g);if((k[g>>2]|0)==(k[j+40>>2]|0)?(k[g+4>>2]|0)==(k[j+40+4>>2]|0):0){if(FQ((k[e>>2]|0)+52|0,j,48)|0){k[k[f>>2]>>2]=1;b=(k[e>>2]|0)+52|0;a=j;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));k[(k[e>>2]|0)+36>>2]=((m[(k[e>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[e>>2]|0)+52+14>>1]|0)&1)<<16)}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}function nt(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+144|0;B=D+16|0;c=D+96|0;d=D+92|0;y=D+88|0;u=D+8|0;h=D+80|0;o=D+76|0;t=D+72|0;e=D+104|0;g=D+68|0;z=D+64|0;f=D+60|0;n=D+56|0;p=D;A=D+52|0;s=D+48|0;C=D+44|0;q=D+40|0;x=D+36|0;v=D+32|0;w=D+28|0;m=D+24|0;k[d>>2]=a;k[h>>2]=0;k[h+4>>2]=0;k[o>>2]=1+(l[(k[d>>2]|0)+45>>0]|0);k[t>>2]=8-(k[o>>2]|0);b=Xs(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0)|0;k[y>>2]=b;if(k[y>>2]|0){k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}a=(k[d>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=aj(k[(k[d>>2]|0)+8>>2]|0,u)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){b=u;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>32){k[g>>2]=0;b=es(k[(k[d>>2]|0)+8>>2]|0,e,32,0,0)|0;k[y>>2]=b;if(k[y>>2]|0)break a;b=jr(e)|0;k[s>>2]=b;b=jr(e+8|0)|0;k[A>>2]=b;if((((k[s>>2]&-2|0)==931071618?!(((k[A>>2]|0)>65536?1:(k[A>>2]&(k[A>>2]|0)-1|0)!=0)|(k[A>>2]|0)<512):0)?(i[(k[d>>2]|0)+52+13>>0]=k[s>>2]&1,k[(k[d>>2]|0)+36>>2]=k[A>>2],s=jr(e+12|0)|0,k[(k[d>>2]|0)+112>>2]=s,s=(k[d>>2]|0)+52+32|0,b=e+16|0,i[s>>0]=i[b>>0]|0,i[s+1>>0]=i[b+1>>0]|0,i[s+2>>0]=i[b+2>>0]|0,i[s+3>>0]=i[b+3>>0]|0,i[s+4>>0]=i[b+4>>0]|0,i[s+5>>0]=i[b+5>>0]|0,i[s+6>>0]=i[b+6>>0]|0,i[s+7>>0]=i[b+7>>0]|0,ht((l[(k[d>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1,e,24,0,(k[d>>2]|0)+52+24|0),s=k[(k[d>>2]|0)+52+24>>2]|0,(s|0)==(jr(e+24|0)|0)):0)?(s=k[(k[d>>2]|0)+52+24+4>>2]|0,(s|0)==(jr(e+28|0)|0)):0){s=jr(e+4|0)|0;k[C>>2]=s;if((k[C>>2]|0)!=3007e3){C=ot(52297)|0;k[y>>2]=C;break}k[z>>2]=(k[A>>2]|0)+24;C=k[z>>2]|0;C=Td(C,((C|0)<0)<<31>>31)|0;k[g>>2]=C;if(!(k[g>>2]|0)){k[y>>2]=7;break a}k[f>>2]=(k[g>>2]|0)+24;k[n>>2]=0;C=p;k[C>>2]=32;k[C+4>>2]=0;while(1){b=p;s=k[z>>2]|0;s=qR(k[b>>2]|0,k[b+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;b=L;C=u;e=k[C+4>>2]|0;if(!((b|0)<(e|0)|((b|0)==(e|0)?s>>>0<=(k[C>>2]|0)>>>0:0)))break;k[n>>2]=(k[n>>2]|0)+1;C=p;C=es(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[z>>2]|0,k[C>>2]|0,k[C+4>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;C=pt(k[d>>2]|0,x,v,k[f>>2]|0,k[g>>2]|0)|0;k[q>>2]=C;if(!(k[q>>2]|0))break;C=qt(k[d>>2]|0,k[n>>2]|0,k[x>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;if(k[v>>2]|0){k[(k[d>>2]|0)+52+16>>2]=k[n>>2];k[(k[d>>2]|0)+52+20>>2]=k[v>>2];j[(k[d>>2]|0)+52+14>>1]=k[A>>2]&65280|k[A>>2]>>16;k[h>>2]=k[(k[d>>2]|0)+52+24>>2];k[h+4>>2]=k[(k[d>>2]|0)+52+24+4>>2]}s=k[z>>2]|0;C=p;s=qR(k[C>>2]|0,k[C+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;C=p;k[C>>2]=s;k[C+4>>2]=L}Ud(k[g>>2]|0)}}while(0);if(!(k[y>>2]|0)){k[(k[d>>2]|0)+52+24>>2]=k[h>>2];k[(k[d>>2]|0)+52+24+4>>2]=k[h+4>>2];gt(k[d>>2]|0);C=at(k[d>>2]|0)|0;k[w>>2]=C;k[k[w>>2]>>2]=0;k[(k[w>>2]|0)+32>>2]=k[(k[d>>2]|0)+52+16>>2];k[(k[w>>2]|0)+4>>2]=0;k[m>>2]=1;while(1){if((k[m>>2]|0)>=5)break;k[(k[w>>2]|0)+4+(k[m>>2]<<2)>>2]=-1;k[m>>2]=(k[m>>2]|0)+1}if(k[(k[d>>2]|0)+52+16>>2]|0)k[(k[w>>2]|0)+4+4>>2]=k[(k[d>>2]|0)+52+16>>2];if(k[(k[d>>2]|0)+52+20>>2]|0){C=k[(k[d>>2]|0)+108>>2]|0;k[B>>2]=k[(k[d>>2]|0)+52+16>>2];k[B+4>>2]=C;$d(283,26831,B)}}}while(0);Lr(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0);k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}function ot(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+8|0;k[d>>2]=a;d=k[d>>2]|0;a=(uf()|0)+20|0;k[c>>2]=d;k[c+4>>2]=a;$d(14,26792,c);r=b;return 14}function pt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+32|0;g=s+28|0;h=s+24|0;j=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=(k[g>>2]|0)+52+24;if(FQ((k[g>>2]|0)+52+32|0,(k[n>>2]|0)+8|0,8)|0){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}c=jr(k[n>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}k[p>>2]=(l[(k[g>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1;ht(k[p>>2]|0,k[n>>2]|0,8,k[o>>2]|0,k[o>>2]|0);ht(k[p>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[o>>2]|0,k[o>>2]|0);c=k[k[o>>2]>>2]|0;if((c|0)==(jr((k[n>>2]|0)+16|0)|0)?(c=k[(k[o>>2]|0)+4>>2]|0,(c|0)==(jr((k[n>>2]|0)+20|0)|0)):0){k[k[h>>2]>>2]=k[q>>2];c=jr((k[n>>2]|0)+4|0)|0;k[k[j>>2]>>2]=c;k[f>>2]=1;c=k[f>>2]|0;r=s;return c|0}k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}function qt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+44|0;e=t+40|0;f=t+36|0;g=t+32|0;q=t+28|0;m=t+24|0;i=t+20|0;h=t+16|0;l=t+12|0;n=t+8|0;p=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[i>>2]=0;k[h>>2]=0;a=k[e>>2]|0;a=vs(a,us(k[f>>2]|0)|0,h,i,m)|0;k[q>>2]=a;do if(!(k[q>>2]|0)){k[n>>2]=(k[f>>2]|0)-(k[m>>2]|0);if((k[n>>2]|0)==1){k[o>>2]=(k[h>>2]|0)+16384-((k[i>>2]|0)+4);uR((k[i>>2]|0)+4|0,0,k[o>>2]|0)|0}if(k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]|0)ts(k[e>>2]|0);k[p>>2]=k[n>>2];a=Os(k[g>>2]|0)|0;k[l>>2]=a;while(1){if(!(j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]|0)){s=11;break}a=k[p>>2]|0;k[p>>2]=a+-1;if(!a)break;a=Ps(k[l>>2]|0)|0;k[l>>2]=a}if((s|0)==11){k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]=k[g>>2];j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]=k[n>>2];break}s=Vj(52166)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);k[d>>2]=k[q>>2];s=k[d>>2]|0;r=t;return s|0}function rt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;if(((k[b>>2]|0)!=0?(k[k[b>>2]>>2]|0)!=0:0)?(k[(k[b>>2]|0)+8>>2]|0)>=0:0){a=gc[k[k[b>>2]>>2]&255](k[(k[b>>2]|0)+4>>2]|0,k[(k[b>>2]|0)+8>>2]|0)|0;k[d>>2]=a;b=(k[b>>2]|0)+8|0;if(!(k[d>>2]|0))k[b>>2]=-1;else k[b>>2]=(k[b>>2]|0)+1;k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}function st(){return 48}function tt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];k[f>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}do if(l[(k[e>>2]|0)+21>>0]|0){if(((l[(k[e>>2]|0)+21>>0]|0)&3|0)==0?((m[(k[d>>2]|0)+24>>1]|0)&8|0)==0:0)break;k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}while(0);k[(k[d>>2]|0)+12>>2]=0;h=(Cr(k[e>>2]|0)|0)!=0;a=k[d>>2]|0;if(h){h=vt(a)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=wt(k[e>>2]|0,k[d>>2]|0,0,0)|0;k[f>>2]=h}}else{if(!(((m[a+24>>1]|0)&8|0)==0?(l[(k[e>>2]|0)+17>>0]|0|0)!=3:0)){h=xt(k[e>>2]|0,1)|0;k[f>>2]=h}if(!(k[f>>2]|0)){h=yt(k[e>>2]|0,k[d>>2]|0)|0;k[f>>2]=h}}if(!(k[f>>2]|0))lj(k[d>>2]|0);h=pr(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}function ut(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,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;c=k[n>>2]|0;f=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+28>>2]=k[h>>2];i[(k[n>>2]|0)+32>>0]=k[j>>2];i[(k[n>>2]|0)+33>>0]=2;k[(k[n>>2]|0)+36>>2]=k[l>>2];k[(k[n>>2]|0)+40>>2]=k[m>>2];k[(k[n>>2]|0)+16>>2]=100;k[(k[n>>2]|0)+20>>2]=1;n=dj(k[n>>2]|0,k[g>>2]|0)|0;r=o;return n|0}function vt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Nt(k[c>>2]|0)|0){a=Ot(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;n=o+12|0;i=o+8|0;j=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:do if(k[h>>2]|0){k[m>>2]=f;k[i>>2]=0;k[j>>2]=k[f>>2];while(1){a=k[j>>2]|0;k[k[m>>2]>>2]=a;if(!a)break a;if((k[(k[j>>2]|0)+20>>2]|0)>>>0<=(k[g>>2]|0)>>>0){k[m>>2]=(k[j>>2]|0)+12;k[i>>2]=(k[i>>2]|0)+1}k[j>>2]=k[(k[j>>2]|0)+12>>2]}}else k[i>>2]=1;while(0);m=(k[e>>2]|0)+192+8|0;k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0);if((k[(k[f>>2]|0)+20>>2]|0)==1)At(k[f>>2]|0);m=Gt(k[(k[e>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+160>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,l[(k[e>>2]|0)+11>>0]|0)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if(!(k[(k[e>>2]|0)+96>>2]|0)){n=k[n>>2]|0;r=o;return n|0}k[j>>2]=k[f>>2];while(1){if(!(k[j>>2]|0))break;is(k[(k[e>>2]|0)+96>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+4>>2]|0);k[j>>2]=k[(k[j>>2]|0)+12>>2]}n=k[n>>2]|0;r=o;return n|0}function xt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n+24|0;d=n+20|0;e=n+16|0;j=n+12|0;g=n+8|0;h=n;f=n+40|0;m=n+28|0;k[d>>2]=a;k[e>>2]=b;a=Bt(k[d>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if((k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0){a=as(k[(k[d>>2]|0)+64>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]&512)){i[m>>0]=i[26758]|0;i[m+1>>0]=i[26759]|0;i[m+2>>0]=i[26760]|0;i[m+3>>0]=i[26761]|0;i[m+4>>0]=i[26762]|0;i[m+5>>0]=i[26763]|0;i[m+6>>0]=i[26764]|0;i[m+7>>0]=i[26765]|0;ft(m+8|0,k[(k[d>>2]|0)+48>>2]|0);b=ps(k[d>>2]|0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L;a=h;a=es(k[(k[d>>2]|0)+68>>2]|0,f,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a;if((k[j>>2]|0)==0?0==(FQ(f,26758,8)|0):0){a=h;a=Pg(k[(k[d>>2]|0)+68>>2]|0,26901,1,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a}if((k[j>>2]|0)!=0&(k[j>>2]|0)!=522){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}if(((l[(k[d>>2]|0)+8>>0]|0)!=0?0==(k[g>>2]&1024|0):0)?(a=yr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|0)|0,k[j>>2]=a,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+88|0;m=Pg(k[(k[d>>2]|0)+68>>2]|0,m,12,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}}if(0==(k[g>>2]&1024|0)?(m=yr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|((l[(k[d>>2]|0)+12>>0]|0)==3?16:0))|0,k[j>>2]=m,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}b=(k[d>>2]|0)+80|0;a=k[b+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[b>>2];k[m+4>>2]=a;if(!(k[e>>2]|0))break;if(k[g>>2]&512)break;k[(k[d>>2]|0)+48>>2]=0;m=Ct(k[d>>2]|0)|0;k[j>>2]=m;if(!(k[j>>2]|0))break;k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+80|0;j=k[a+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[a>>2];k[m+4>>2]=j}while(0);Dt(k[(k[d>>2]|0)+212>>2]|0);i[(k[d>>2]|0)+17>>0]=4;k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function yt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;d=l+32|0;e=l+28|0;j=l+24|0;c=l+8|0;h=l+20|0;f=l;g=l+16|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){a=zt(k[d>>2]|0,k[(k[d>>2]|0)+64>>2]|0,k[(k[d>>2]|0)+152>>2]|0)|0;k[j>>2]=a}do if((k[j>>2]|0)==0?(k[(k[d>>2]|0)+40>>2]|0)>>>0<(k[(k[d>>2]|0)+28>>2]|0)>>>0:0){if((k[(k[e>>2]|0)+12>>2]|0)==0?(k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[(k[d>>2]|0)+40>>2]|0)>>>0:0)break;b=k[(k[d>>2]|0)+160>>2]|0;b=BR(b|0,((b|0)<0)<<31>>31|0,k[(k[d>>2]|0)+28>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;Ts(k[(k[d>>2]|0)+64>>2]|0,5,c);k[(k[d>>2]|0)+40>>2]=k[(k[d>>2]|0)+28>>2]}while(0);while(1){if(!((k[j>>2]|0)==0?(k[e>>2]|0)!=0:0))break;k[h>>2]=k[(k[e>>2]|0)+20>>2];if((k[h>>2]|0)>>>0<=(k[(k[d>>2]|0)+28>>2]|0)>>>0?0==((m[(k[e>>2]|0)+24>>1]|0)&32|0):0){a=k[(k[d>>2]|0)+160>>2]|0;a=BR((k[h>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=f;k[c>>2]=a;k[c+4>>2]=L;if((k[(k[e>>2]|0)+20>>2]|0)==1)At(k[e>>2]|0);k[g>>2]=k[(k[e>>2]|0)+4>>2];c=f;c=Pg(k[(k[d>>2]|0)+64>>2]|0,k[g>>2]|0,k[(k[d>>2]|0)+160>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[j>>2]=c;if((k[h>>2]|0)==1){b=(k[d>>2]|0)+112|0;a=(k[g>>2]|0)+24|0;c=b+16|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0))}if((k[h>>2]|0)>>>0>(k[(k[d>>2]|0)+36>>2]|0)>>>0)k[(k[d>>2]|0)+36>>2]=k[h>>2];c=(k[d>>2]|0)+192+8|0;k[c>>2]=(k[c>>2]|0)+1;is(k[(k[d>>2]|0)+96>>2]|0,k[h>>2]|0,k[(k[e>>2]|0)+4>>2]|0)}k[e>>2]=k[(k[e>>2]|0)+12>>2]}r=l;return k[j>>2]|0}function zt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;k[f>>2]=k[f>>2]|30;c=ds(k[k[h>>2]>>2]|0,0,k[g>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function At(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=(jr((k[(k[c>>2]|0)+16>>2]|0)+112|0)|0)+1|0;k[d>>2]=a;ft((k[(k[c>>2]|0)+4>>2]|0)+24|0,k[d>>2]|0);ft((k[(k[c>>2]|0)+4>>2]|0)+92|0,k[d>>2]|0);ft((k[(k[c>>2]|0)+4>>2]|0)+96|0,3011e3);r=b;return}function Bt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+44>>2];if((k[c>>2]|0)==0?0==(Cr(k[b>>2]|0)|0):0){a=Et(k[b>>2]|0,4)|0;k[c>>2]=a}r=d;return k[c>>2]|0}function Ct(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=r;r=r+32|0;c=h+20|0;g=h+16|0;f=h+12|0;d=h+8|0;e=h+4|0;b=h;k[c>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[c>>2]|0)+208>>2];k[d>>2]=k[(k[c>>2]|0)+160>>2];if((k[d>>2]|0)>>>0>(k[(k[c>>2]|0)+156>>2]|0)>>>0)k[d>>2]=k[(k[c>>2]|0)+156>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){m=(k[c>>2]|0)+80|0;j=k[m+4>>2]|0;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;k[a>>2]=k[m>>2];k[a+4>>2]=j}k[b>>2]=(k[b>>2]|0)+1}a=ps(k[c>>2]|0)|0;j=L;m=(k[c>>2]|0)+80|0;k[m>>2]=a;k[m+4>>2]=j;m=(k[c>>2]|0)+88|0;k[m>>2]=a;k[m+4>>2]=j;if(((l[(k[c>>2]|0)+7>>0]|0|0)==0?(l[(k[c>>2]|0)+5>>0]|0|0)!=4:0)?((as(k[(k[c>>2]|0)+64>>2]|0)|0)&512|0)==0:0){b=k[f>>2]|0;a=b+12|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(a|0))}else{m=k[f>>2]|0;i[m>>0]=i[26758]|0;i[m+1>>0]=i[26759]|0;i[m+2>>0]=i[26760]|0;i[m+3>>0]=i[26761]|0;i[m+4>>0]=i[26762]|0;i[m+5>>0]=i[26763]|0;i[m+6>>0]=i[26764]|0;i[m+7>>0]=i[26765]|0;ft((k[f>>2]|0)+8|0,-1)}ae(4,(k[c>>2]|0)+52|0);ft((k[f>>2]|0)+12|0,k[(k[c>>2]|0)+52>>2]|0);ft((k[f>>2]|0)+16|0,k[(k[c>>2]|0)+32>>2]|0);ft((k[f>>2]|0)+20|0,k[(k[c>>2]|0)+156>>2]|0);ft((k[f>>2]|0)+24|0,k[(k[c>>2]|0)+160>>2]|0);uR((k[f>>2]|0)+28|0,0,(k[d>>2]|0)-28|0)|0;k[e>>2]=0;while(1){if(k[g>>2]|0){b=17;break}if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+156>>2]|0)>>>0){b=17;break}m=(k[c>>2]|0)+80|0;m=Pg(k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,k[d>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;m=(k[c>>2]|0)+80|0;j=m;j=qR(k[j>>2]|0,k[j+4>>2]|0,k[d>>2]|0,0)|0;k[m>>2]=j;k[m+4>>2]=L;k[e>>2]=(k[e>>2]|0)+(k[d>>2]|0)}if((b|0)==17){r=h;return k[g>>2]|0}return 0}function Dt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-9;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){a=Ft(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)!=5){c=4;break}if(!(bc[k[(k[c>>2]|0)+184>>2]&255](k[(k[c>>2]|0)+188>>2]|0)|0)){c=4;break}}if((c|0)==4){r=f;return k[e>>2]|0}return 0}function Ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[(k[c>>2]|0)+18>>0]|0|0)>=(k[d>>2]|0)?(l[(k[c>>2]|0)+18>>0]|0|0)!=5:0){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Rs(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}if(!((k[d>>2]|0)==4?1:(l[(k[c>>2]|0)+18>>0]|0|0)!=5)){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Gt(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;G=M+100|0;B=M+96|0;E=M+92|0;F=M+88|0;D=M+84|0;J=M+80|0;C=M+40|0;K=M+16|0;o=M+76|0;n=M+72|0;h=M+136|0;g=M+64|0;s=M+60|0;q=M+56|0;p=M+8|0;t=M+52|0;H=M+48|0;I=M;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=e;k[A>>2]=f;k[F>>2]=0;k[D>>2]=0;k[o>>2]=0;b=Ds(k[v>>2]|0)|0;k[n>>2]=b;if(FQ((k[v>>2]|0)+52|0,k[n>>2]|0,48)|0)k[o>>2]=(k[(k[n>>2]|0)+16>>2]|0)+1;b=Ht(k[v>>2]|0)|0;k[G>>2]=b;if(b){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}k[B>>2]=k[(k[v>>2]|0)+52+16>>2];if(!(k[B>>2]|0)){ft(h,931071618|(i[960]|0)==0);ft(h+4|0,3007e3);ft(h+8|0,k[w>>2]|0);ft(h+12|0,k[(k[v>>2]|0)+112>>2]|0);if(!(k[(k[v>>2]|0)+112>>2]|0))ae(8,(k[v>>2]|0)+52+32|0);b=h+16|0;f=(k[v>>2]|0)+52+32|0;i[b>>0]=i[f>>0]|0;i[b+1>>0]=i[f+1>>0]|0;i[b+2>>0]=i[f+2>>0]|0;i[b+3>>0]=i[f+3>>0]|0;i[b+4>>0]=i[f+4>>0]|0;i[b+5>>0]=i[f+5>>0]|0;i[b+6>>0]=i[f+6>>0]|0;i[b+7>>0]=i[f+7>>0]|0;ht(1,h,24,0,g);ft(h+24|0,k[g>>2]|0);ft(h+28|0,k[g+4>>2]|0);k[(k[v>>2]|0)+36>>2]=k[w>>2];i[(k[v>>2]|0)+52+13>>0]=(i[960]|0)==0;k[(k[v>>2]|0)+52+24>>2]=k[g>>2];k[(k[v>>2]|0)+52+24+4>>2]=k[g+4>>2];i[(k[v>>2]|0)+47>>0]=1;b=Pg(k[(k[v>>2]|0)+8>>2]|0,h,32,0,0)|0;k[G>>2]=b;if(k[G>>2]|0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}if(((k[A>>2]|0)!=0?(l[(k[v>>2]|0)+48>>0]|0)!=0:0)?(b=yr(k[(k[v>>2]|0)+8>>2]|0,k[A>>2]&19)|0,k[G>>2]=b,(k[G>>2]|0)!=0):0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}}k[K>>2]=k[v>>2];k[K+4>>2]=k[(k[v>>2]|0)+8>>2];f=K+8|0;k[f>>2]=0;k[f+4>>2]=0;k[K+16>>2]=k[A>>2];k[K+20>>2]=k[w>>2];f=(k[w>>2]|0)+24|0;f=BR((k[B>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=qR(32,0,f|0,L|0)|0;b=C;k[b>>2]=f;k[b+4>>2]=L;k[J>>2]=(k[w>>2]|0)+24;k[E>>2]=k[x>>2];while(1){if(!(k[E>>2]|0)){g=30;break}if(((k[o>>2]|0)!=0?((k[z>>2]|0)==0?1:(k[(k[E>>2]|0)+12>>2]|0)!=0):0)?(k[q>>2]=0,Hs(k[v>>2]|0,k[(k[E>>2]|0)+20>>2]|0,q)|0,(k[q>>2]|0)>>>0>=(k[o>>2]|0)>>>0):0){f=(k[w>>2]|0)+24|0;f=BR((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=qR(32,0,f|0,L|0)|0;f=qR(f|0,L|0,24,0)|0;b=p;k[b>>2]=f;k[b+4>>2]=L;if(!((k[(k[v>>2]|0)+104>>2]|0)!=0?(k[q>>2]|0)>>>0>=(k[(k[v>>2]|0)+104>>2]|0)>>>0:0))k[(k[v>>2]|0)+104>>2]=k[q>>2];k[t>>2]=k[(k[E>>2]|0)+4>>2];b=p;b=Pg(k[(k[v>>2]|0)+8>>2]|0,k[t>>2]|0,k[w>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[G>>2]=b;if(k[G>>2]|0){g=22;break}b=(k[E>>2]|0)+24|0;j[b>>1]=m[b>>1]&-129}else{k[B>>2]=(k[B>>2]|0)+1;if(k[z>>2]|0)g=(k[(k[E>>2]|0)+12>>2]|0)==0?k[y>>2]|0:0;else g=0;k[s>>2]=g;b=C;b=It(K,k[E>>2]|0,k[s>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[G>>2]=b;if(k[G>>2]|0){g=27;break}k[F>>2]=k[E>>2];f=k[J>>2]|0;b=C;f=qR(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;b=C;k[b>>2]=f;k[b+4>>2]=L;b=(k[E>>2]|0)+24|0;j[b>>1]=m[b>>1]|128}k[E>>2]=k[(k[E>>2]|0)+12>>2]}if((g|0)==22){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}else if((g|0)==27){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}else if((g|0)==30){if(((k[z>>2]|0)!=0?(k[(k[v>>2]|0)+104>>2]|0)!=0:0)?(t=Jt(k[v>>2]|0,k[B>>2]|0)|0,k[G>>2]=t,(k[G>>2]|0)!=0):0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}a:do if((k[z>>2]|0)!=0?(k[A>>2]&32|0)!=0:0){if(!(i[(k[v>>2]|0)+49>>0]|0)){K=yr(k[K+4>>2]|0,k[A>>2]&19)|0;k[G>>2]=K;break}t=bs(k[(k[v>>2]|0)+8>>2]|0)|0;k[H>>2]=t;t=C;A=k[H>>2]|0;A=qR(k[t>>2]|0,k[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=pR(A|0,L|0,1,0)|0;t=k[H>>2]|0;t=zR(A|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;A=k[H>>2]|0;A=BR(t|0,L|0,A|0,((A|0)<0)<<31>>31|0)|0;H=K+8|0;k[H>>2]=A;k[H+4>>2]=L;while(1){A=C;s=k[A+4>>2]|0;H=K+8|0;t=k[H+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(k[A>>2]|0)>>>0<(k[H>>2]|0)>>>0:0)))break a;H=C;H=It(K,k[F>>2]|0,k[y>>2]|0,k[H>>2]|0,k[H+4>>2]|0)|0;k[G>>2]=H;if(k[G>>2]|0)break;A=k[J>>2]|0;H=C;A=qR(k[H>>2]|0,k[H+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;H=C;k[H>>2]=A;k[H+4>>2]=L;k[D>>2]=(k[D>>2]|0)+1}k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}while(0);if(((k[z>>2]|0)!=0?(l[(k[v>>2]|0)+47>>0]|0)!=0:0)?(K=(k[v>>2]|0)+16|0,J=k[K+4>>2]|0,(J|0)>0|(J|0)==0&(k[K>>2]|0)>>>0>=0):0){K=(k[v>>2]|0)+16|0;C=k[K+4>>2]|0;J=I;k[J>>2]=k[K>>2];k[J+4>>2]=C;J=(k[w>>2]|0)+24|0;J=BR((k[B>>2]|0)+(k[D>>2]|0)+1-1|0,0,J|0,((J|0)<0)<<31>>31|0)|0;J=qR(32,0,J|0,L|0)|0;C=L;K=(k[v>>2]|0)+16|0;H=k[K+4>>2]|0;if((C|0)>(H|0)|((C|0)==(H|0)?J>>>0>(k[K>>2]|0)>>>0:0)){J=(k[w>>2]|0)+24|0;J=BR((k[B>>2]|0)+(k[D>>2]|0)+1-1|0,0,J|0,((J|0)<0)<<31>>31|0)|0;J=qR(32,0,J|0,L|0)|0;K=I;k[K>>2]=J;k[K+4>>2]=L}K=I;Us(k[v>>2]|0,k[K>>2]|0,k[K+4>>2]|0);i[(k[v>>2]|0)+47>>0]=0}k[B>>2]=k[(k[v>>2]|0)+52+16>>2];k[E>>2]=k[x>>2];while(1){if(!((k[E>>2]|0)!=0?(k[G>>2]|0)==0:0))break;if(m[(k[E>>2]|0)+24>>1]&128){k[B>>2]=(k[B>>2]|0)+1;K=qt(k[v>>2]|0,k[B>>2]|0,k[(k[E>>2]|0)+20>>2]|0)|0;k[G>>2]=K}k[E>>2]=k[(k[E>>2]|0)+12>>2]}while(1){if(!((k[G>>2]|0)==0?(k[D>>2]|0)>0:0))break;k[B>>2]=(k[B>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+-1;K=qt(k[v>>2]|0,k[B>>2]|0,k[(k[F>>2]|0)+20>>2]|0)|0;k[G>>2]=K}if(!(k[G>>2]|0)){j[(k[v>>2]|0)+52+14>>1]=k[w>>2]&65280|k[w>>2]>>16;k[(k[v>>2]|0)+52+16>>2]=k[B>>2];if(k[z>>2]|0){K=(k[v>>2]|0)+52+8|0;k[K>>2]=(k[K>>2]|0)+1;k[(k[v>>2]|0)+52+20>>2]=k[y>>2]}if(k[z>>2]|0){gt(k[v>>2]|0);k[(k[v>>2]|0)+12>>2]=k[B>>2]}}k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}return 0}function Ht(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;g=i+16|0;d=i+12|0;f=i+8|0;h=i+4|0;e=i;k[c>>2]=a;k[g>>2]=0;if(!(j[(k[c>>2]|0)+40>>1]|0)){a=at(k[c>>2]|0)|0;k[f>>2]=a;do if((k[k[f>>2]>>2]|0)>>>0>0){ae(4,h);a=Xs(k[c>>2]|0,4,4)|0;k[g>>2]=a;if(!(k[g>>2]|0)){dt(k[c>>2]|0,k[h>>2]|0);Lr(k[c>>2]|0,4,4);break}if((k[g>>2]|0)!=5){k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}}while(0);Jr(k[c>>2]|0,3);j[(k[c>>2]|0)+40>>1]=-1;k[d>>2]=0;do{a=k[c>>2]|0;h=(k[d>>2]|0)+1|0;k[d>>2]=h;h=Mt(a,e,1,h)|0;k[g>>2]=h}while((k[g>>2]|0)==-1)}k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}function It(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;f=l+28|0;g=l+24|0;o=l+20|0;n=l+16|0;h=l;j=l+12|0;i=l+8|0;m=l+32|0;k[g>>2]=a;k[o>>2]=b;k[n>>2]=c;b=h;k[b>>2]=d;k[b+4>>2]=e;k[i>>2]=k[(k[o>>2]|0)+4>>2];Kt(k[k[g>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[n>>2]|0,k[i>>2]|0,m);b=h;b=Lt(k[g>>2]|0,m,24,k[b>>2]|0,k[b+4>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}else{b=k[g>>2]|0;m=k[i>>2]|0;n=k[(k[g>>2]|0)+20>>2]|0;o=h;o=qR(k[o>>2]|0,k[o+4>>2]|0,24,0)|0;o=Lt(b,m,n,o,L)|0;k[j>>2]=o;k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}return 0}function Jt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;c=p+48|0;d=p+44|0;e=p+40|0;o=p+36|0;n=p+32|0;f=p+28|0;g=p+56|0;l=p+24|0;h=p+8|0;i=p;j=p+20|0;m=p+16|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=k[(k[d>>2]|0)+36>>2];k[n>>2]=0;a=Sd((k[o>>2]|0)+24|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}if((k[(k[d>>2]|0)+104>>2]|0)==1){a=h;k[a>>2]=24;k[a+4>>2]=0}else{b=(k[o>>2]|0)+24|0;b=BR((k[(k[d>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=qR(32,0,b|0,L|0)|0;b=qR(b|0,L|0,16,0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L}a=h;a=es(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;a=jr(k[f>>2]|0)|0;k[(k[d>>2]|0)+52+24>>2]=a;a=jr((k[f>>2]|0)+4|0)|0;k[(k[d>>2]|0)+52+24+4>>2]=a;k[l>>2]=k[(k[d>>2]|0)+104>>2];k[(k[d>>2]|0)+104>>2]=0;while(1){if(k[n>>2]|0)break;if((k[l>>2]|0)>>>0>(k[e>>2]|0)>>>0)break;b=(k[o>>2]|0)+24|0;b=BR((k[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=qR(32,0,b|0,L|0)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=i;a=es(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,(k[o>>2]|0)+24|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){a=jr(k[f>>2]|0)|0;k[j>>2]=a;a=jr((k[f>>2]|0)+4|0)|0;k[m>>2]=a;Kt(k[d>>2]|0,k[j>>2]|0,k[m>>2]|0,(k[f>>2]|0)+24|0,g);a=i;a=Pg(k[(k[d>>2]|0)+8>>2]|0,g,24,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a}k[l>>2]=(k[l>>2]|0)+1}Ud(k[f>>2]|0);k[c>>2]=k[n>>2];o=k[c>>2]|0;r=p;return o|0}function Kt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+32|0;f=n+24|0;p=n+20|0;o=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=(k[f>>2]|0)+52+24;ft(k[h>>2]|0,k[p>>2]|0);ft((k[h>>2]|0)+4|0,k[o>>2]|0);d=(k[h>>2]|0)+8|0;if(!(k[(k[f>>2]|0)+104>>2]|0)){p=(k[f>>2]|0)+52+32|0;i[d>>0]=i[p>>0]|0;i[d+1>>0]=i[p+1>>0]|0;i[d+2>>0]=i[p+2>>0]|0;i[d+3>>0]=i[p+3>>0]|0;i[d+4>>0]=i[p+4>>0]|0;i[d+5>>0]=i[p+5>>0]|0;i[d+6>>0]=i[p+6>>0]|0;i[d+7>>0]=i[p+7>>0]|0;k[m>>2]=(l[(k[f>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1;ht(k[m>>2]|0,k[h>>2]|0,8,k[j>>2]|0,k[j>>2]|0);ht(k[m>>2]|0,k[g>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[j>>2]|0,k[j>>2]|0);ft((k[h>>2]|0)+16|0,k[k[j>>2]>>2]|0);ft((k[h>>2]|0)+20|0,k[(k[j>>2]|0)+4>>2]|0);r=n;return}else{e=d+16|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(e|0));r=n;return}}function Lt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n;m=n+12|0;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;a=j;e=k[a+4>>2]|0;b=(k[g>>2]|0)+8|0;c=k[b+4>>2]|0;if((e|0)<(c|0)|((e|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?(e=j,a=k[i>>2]|0,a=qR(k[e>>2]|0,k[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,e=L,b=(k[g>>2]|0)+8|0,c=k[b+4>>2]|0,(e|0)>(c|0)|((e|0)==(c|0)?a>>>0>=(k[b>>2]|0)>>>0:0)):0){a=(k[g>>2]|0)+8|0;b=j;b=pR(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[l>>2]=b;b=j;b=Pg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[l>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}a=k[l>>2]|0;b=j;a=qR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;k[i>>2]=(k[i>>2]|0)-(k[l>>2]|0);k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);b=yr(k[(k[g>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+16>>2]&19)|0;k[m>>2]=b;if((k[i>>2]|0)==0|(k[m>>2]|0)!=0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}}b=j;b=Pg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}function Mt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;v=w+48|0;e=w+44|0;f=w+40|0;g=w+36|0;h=w+32|0;q=w+28|0;o=w+24|0;n=w+20|0;i=w+16|0;s=w+12|0;m=w+8|0;p=w+4|0;t=w;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=0;if((k[h>>2]|0)>5){k[p>>2]=1;if((k[h>>2]|0)>100){k[v>>2]=15;v=k[v>>2]|0;r=w;return v|0}if((k[h>>2]|0)>=10){c=(ha((k[h>>2]|0)-9|0,(k[h>>2]|0)-9|0)|0)*39|0;k[p>>2]=c}Bi(k[k[e>>2]>>2]|0,k[p>>2]|0)|0}if(!(k[g>>2]|0)){c=Zs(k[e>>2]|0,k[f>>2]|0)|0;k[s>>2]=c;do if((k[s>>2]|0)==5){if(!(k[k[(k[e>>2]|0)+32>>2]>>2]|0)){k[s>>2]=-1;break}c=Ir(k[e>>2]|0,2)|0;k[s>>2]=c;if(!c){Jr(k[e>>2]|0,2);k[s>>2]=-1;break}if((k[s>>2]|0)==5)k[s>>2]=261}while(0);if(k[s>>2]|0){k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}}c=at(k[e>>2]|0)|0;k[q>>2]=c;do if((k[g>>2]|0)==0?(k[k[q>>2]>>2]|0)==(k[(k[e>>2]|0)+52+16>>2]|0):0){c=Ir(k[e>>2]|0,3)|0;k[s>>2]=c;it(k[e>>2]|0);if(k[s>>2]|0){if((k[s>>2]|0)==5)break;k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}u=Ds(k[e>>2]|0)|0;u=(FQ(u,(k[e>>2]|0)+52|0,48)|0)!=0;e=k[e>>2]|0;if(u){Jr(e,3);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}else{j[e+40>>1]=0;k[v>>2]=0;v=k[v>>2]|0;r=w;return v|0}}while(0);k[o>>2]=0;k[n>>2]=0;k[m>>2]=k[(k[e>>2]|0)+52+16>>2];k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break;k[t>>2]=k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0<=(k[t>>2]|0)>>>0?(k[t>>2]|0)>>>0<=(k[m>>2]|0)>>>0:0){k[o>>2]=k[t>>2];k[n>>2]=k[i>>2]}k[i>>2]=(k[i>>2]|0)+1}a:do if(((l[(k[e>>2]|0)+46>>0]|0)&2|0)==0?((k[n>>2]|0)==0?1:(k[o>>2]|0)>>>0<(k[m>>2]|0)>>>0):0){k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break a;c=Xs(k[e>>2]|0,3+(k[i>>2]|0)|0,1)|0;k[s>>2]=c;if(!(k[s>>2]|0)){u=36;break}if((k[s>>2]|0)!=5)break;k[i>>2]=(k[i>>2]|0)+1}if((u|0)==36){u=k[m>>2]|0;k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2]=u;k[o>>2]=u;k[n>>2]=k[i>>2];Lr(k[e>>2]|0,3+(k[i>>2]|0)|0,1);break}k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}while(0);if(!(k[n>>2]|0)){k[v>>2]=(k[s>>2]|0)==5?-1:520;v=k[v>>2]|0;r=w;return v|0}u=Ir(k[e>>2]|0,3+(k[n>>2]|0)|0)|0;k[s>>2]=u;if(k[s>>2]|0){k[v>>2]=(k[s>>2]|0)==5?-1:k[s>>2]|0;v=k[v>>2]|0;r=w;return v|0}k[(k[e>>2]|0)+100>>2]=(k[k[q>>2]>>2]|0)+1;it(k[e>>2]|0);if((k[(k[q>>2]|0)+4+(k[n>>2]<<2)>>2]|0)==(k[o>>2]|0)?(u=Ds(k[e>>2]|0)|0,(FQ(u,(k[e>>2]|0)+52|0,48)|0)==0):0){j[(k[e>>2]|0)+40>>1]=k[n>>2];k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}Jr(k[e>>2]|0,3+(k[n>>2]|0)|0);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}function Nt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g+20|0;h=g+16|0;d=g+12|0;c=g+8|0;e=g+4|0;b=g;k[h>>2]=a;k[d>>2]=k[(k[h>>2]|0)+16>>2];k[e>>2]=k[(k[h>>2]|0)+20>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[d>>2]|0)+104>>2]|0)){b=7;break}k[c>>2]=(k[(k[d>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0);if((k[(k[c>>2]|0)+20>>2]|0)>>>0>=(k[e>>2]|0)>>>0?0==(vj(k[(k[c>>2]|0)+16>>2]|0,k[e>>2]|0)|0):0){b=5;break}k[b>>2]=(k[b>>2]|0)+1}if((b|0)==5){k[f>>2]=1;h=k[f>>2]|0;r=g;return h|0}else if((b|0)==7){k[f>>2]=0;h=k[f>>2]|0;r=g;return h|0}return 0}function Ot(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;b=h+24|0;g=h+20|0;f=h+16|0;d=h+12|0;c=h;e=h+8|0;k[b>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[b>>2]|0)+16>>2];if(((l[(k[f>>2]|0)+5>>0]|0|0)!=2?(a=Pt(k[f>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0)?(k[d>>2]=k[(k[b>>2]|0)+4>>2],i=4+(k[(k[f>>2]|0)+160>>2]|0)|0,i=BR(k[(k[f>>2]|0)+56>>2]|0,0,i|0,((i|0)<0)<<31>>31|0)|0,a=c,k[a>>2]=i,k[a+4>>2]=L,k[e>>2]=k[d>>2],a=c,a=Qt(k[(k[f>>2]|0)+72>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){d=k[(k[f>>2]|0)+72>>2]|0;e=k[e>>2]|0;a=k[(k[f>>2]|0)+160>>2]|0;i=c;i=qR(k[i>>2]|0,k[i+4>>2]|0,4,0)|0;i=Pg(d,e,a,i,L)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=(k[f>>2]|0)+56|0;k[i>>2]=(k[i>>2]|0)+1;i=Rt(k[f>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function Pt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[k[(k[b>>2]|0)+72>>2]>>2]|0){c=k[c>>2]|0;r=d;return c|0}if((l[(k[b>>2]|0)+5>>0]|0|0)!=4?(l[(k[b>>2]|0)+22>>0]|0|0)==0:0){a=zt(k[b>>2]|0,k[(k[b>>2]|0)+72>>2]|0,8192)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}Sr(k[(k[b>>2]|0)+72>>2]|0);c=k[c>>2]|0;r=d;return c|0}function Qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;g=e+12|0;h=e;i=e+8|0;f=e+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;ft(f,k[i>>2]|0);d=h;d=Pg(k[g>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;r=e;return d|0}function Rt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;k[f>>2]=(k[(k[c>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[d>>2]|0)>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0){b=qj(k[(k[f>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[g>>2]=k[g>>2]|b}k[e>>2]=(k[e>>2]|0)+1}r=h;return k[g>>2]|0}function St(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function Tt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Fs(k[c>>2]|0)|0;r=b;return a|0}function Ut(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;f=x+40|0;g=x+36|0;t=x+50|0;n=x+52|0;h=x+32|0;d=x+28|0;w=x+24|0;b=x+48|0;q=x+20|0;v=x+16|0;o=x+12|0;p=x+8|0;c=x+4|0;e=x;s=x+46|0;u=x+44|0;k[g>>2]=a;do if(!(i[k[g>>2]>>0]|0)){k[d>>2]=k[(k[g>>2]|0)+52>>2];i[n>>0]=i[(k[g>>2]|0)+5>>0]|0;k[h>>2]=k[(k[g>>2]|0)+56>>2];if(Vt(k[g>>2]|0,l[(k[h>>2]|0)+(l[n>>0]|0)>>0]|0)|0){w=Vj(57320)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}j[(k[g>>2]|0)+20>>1]=(k[(k[d>>2]|0)+32>>2]|0)-1;i[(k[g>>2]|0)+1>>0]=0;k[w>>2]=k[(k[d>>2]|0)+36>>2];a=(l[n>>0]|0)+8+(l[(k[g>>2]|0)+6>>0]|0)&65535;j[b>>1]=a;j[(k[g>>2]|0)+14>>1]=a;k[(k[g>>2]|0)+60>>2]=(k[h>>2]|0)+(k[w>>2]|0);k[(k[g>>2]|0)+64>>2]=(k[h>>2]|0)+(m[b>>1]|0);k[(k[g>>2]|0)+68>>2]=(k[h>>2]|0)+(l[(k[g>>2]|0)+6>>0]|0);k[v>>2]=((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0])-1&65535)+1;j[(k[g>>2]|0)+18>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+3)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+3)+1>>0];if((m[(k[g>>2]|0)+18>>1]|0)>>>0>((((k[(k[d>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){w=Vj(57338)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}k[o>>2]=(m[b>>1]|0)+(m[(k[g>>2]|0)+18>>1]<<1);k[p>>2]=(k[w>>2]|0)-4;do if(k[(k[(k[d>>2]|0)+4>>2]|0)+24>>2]&268435456){if(!(i[(k[g>>2]|0)+4>>0]|0))k[p>>2]=(k[p>>2]|0)+-1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[g>>2]|0)+18>>1]|0)){b=17;break}j[t>>1]=l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))>>0]<<8|l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))+1>>0];if((m[t>>1]|0)<(k[o>>2]|0)){b=13;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=13;break}a=(gc[k[(k[g>>2]|0)+76>>2]&255](k[g>>2]|0,(k[h>>2]|0)+(m[t>>1]|0)|0)|0)&65535;k[e>>2]=a;if(((m[t>>1]|0)+(k[e>>2]|0)|0)>(k[w>>2]|0)){b=15;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==13){w=Vj(57366)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==15){w=Vj(57371)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==17){if(i[(k[g>>2]|0)+4>>0]|0)break;k[p>>2]=(k[p>>2]|0)+1;break}}while(0);j[t>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0];k[q>>2]=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0)+(k[v>>2]|0);while(1){if((m[t>>1]|0)<=0){b=29;break}if((m[t>>1]|0)<(k[o>>2]|0)){b=23;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=23;break}j[s>>1]=l[(k[h>>2]|0)+(m[t>>1]|0)>>0]<<8|l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0];j[u>>1]=l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]<<8|l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0];if((m[s>>1]|0)>0?(m[s>>1]|0)<=((m[t>>1]|0)+(m[u>>1]|0)+3|0):0){b=27;break}if(((m[t>>1]|0)+(m[u>>1]|0)|0)>(k[w>>2]|0)){b=27;break}k[q>>2]=(k[q>>2]|0)+(m[u>>1]|0);j[t>>1]=j[s>>1]|0}if((b|0)==23){w=Vj(57391)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==27){w=Vj(57398)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==29){if((k[q>>2]|0)<=(k[w>>2]|0)){j[(k[g>>2]|0)+16>>1]=(k[q>>2]|0)-(k[o>>2]|0);i[k[g>>2]>>0]=1;break}w=Vj(57412)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}}while(0);k[f>>2]=0;w=k[f>>2]|0;r=x;return w|0}function Vt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;i[(k[e>>2]|0)+4>>0]=k[c>>2]>>3;k[c>>2]=k[c>>2]&-9;i[(k[e>>2]|0)+6>>0]=4-(l[(k[e>>2]|0)+4>>0]<<2);k[(k[e>>2]|0)+76>>2]=188;k[f>>2]=k[(k[e>>2]|0)+52>>2];do if((k[c>>2]|0)==5){i[(k[e>>2]|0)+2>>0]=1;c=(k[e>>2]|0)+3|0;if(i[(k[e>>2]|0)+4>>0]|0){i[c>>0]=1;k[(k[e>>2]|0)+80>>2]=226}else{i[c>>0]=0;k[(k[e>>2]|0)+76>>2]=189;k[(k[e>>2]|0)+80>>2]=227}j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+28>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+30>>1]|0}else{if((k[c>>2]|0)==2){i[(k[e>>2]|0)+2>>0]=0;i[(k[e>>2]|0)+3>>0]=0;k[(k[e>>2]|0)+80>>2]=228;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+24>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+26>>1]|0;break}f=Vj(57278)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}while(0);i[(k[e>>2]|0)+7>>0]=i[(k[f>>2]|0)+21>>0]|0;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Wt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);k[f>>2]=l[k[h>>2]>>0];a:do if((k[f>>2]|0)>>>0>=128){k[g>>2]=(k[h>>2]|0)+8;k[f>>2]=k[f>>2]&127;do{b=k[f>>2]<<7;a=(k[h>>2]|0)+1|0;k[h>>2]=a;k[f>>2]=b|l[a>>0]&127;if((l[k[h>>2]>>0]|0)<128)break a}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);k[h>>2]=(k[h>>2]|0)+1;b:do if(i[(k[c>>2]|0)+2>>0]|0){k[g>>2]=(k[h>>2]|0)+9;do{a=k[h>>2]|0;k[h>>2]=a+1;if(!(l[a>>0]&128))break b}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);if((k[f>>2]|0)>>>0<=(m[(k[c>>2]|0)+10>>1]|0)>>>0){a=(k[f>>2]|0)+((k[h>>2]|0)-(k[d>>2]|0))|0;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<4?4:a;a=k[f>>2]|0;a=a&65535;r=j;return a|0}k[e>>2]=m[(k[c>>2]|0)+12>>1];k[f>>2]=(k[e>>2]|0)+((((k[f>>2]|0)-(k[e>>2]|0)|0)>>>0)%(((k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[f>>2]|0)>>>0>(m[(k[c>>2]|0)+10>>1]|0)>>>0)k[f>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+(4+((k[h>>2]|0)-(k[d>>2]|0)&65535));a=k[f>>2]|0;a=a&65535;r=j;return a|0}function Xt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;o=p+20|0;h=p+16|0;g=p;i=p+12|0;n=p+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[e>>2];k[h>>2]=l[k[o>>2]>>0];a:do if((k[h>>2]|0)>>>0>=128){k[i>>2]=(k[o>>2]|0)+8;k[h>>2]=k[h>>2]&127;do{c=k[h>>2]<<7;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[h>>2]=c|(l[a>>0]|0)&127;if((l[k[o>>2]>>0]|0|0)<128)break a}while((k[o>>2]|0)>>>0<(k[i>>2]|0)>>>0)}while(0);k[o>>2]=(k[o>>2]|0)+1;a=g;k[a>>2]=l[k[o>>2]>>0];k[a+4>>2]=0;a=g;c=k[a+4>>2]|0;b:do if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=128){k[n>>2]=(k[o>>2]|0)+7;a=g;k[a>>2]=k[g>>2]&127;k[a+4>>2]=0;do{i=g;i=vR(k[i>>2]|0,k[i+4>>2]|0,7)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;c=(l[c>>0]|0)&127;a=g;k[a>>2]=i|c;k[a+4>>2]=L|((c|0)<0)<<31>>31;if((l[k[o>>2]>>0]|0|0)<128)break b}while((k[o>>2]|0)>>>0<(k[n>>2]|0)>>>0);n=g;n=vR(k[n>>2]|0,k[n+4>>2]|0,8)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;a=g;k[a>>2]=n|(l[c>>0]|0);k[a+4>>2]=L}while(0);k[o>>2]=(k[o>>2]|0)+1;n=g;c=k[n+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[n>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+8>>2]=k[o>>2];if((k[h>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){$t(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=p;return}j[(k[f>>2]|0)+18>>1]=(k[h>>2]|0)+((k[o>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[h>>2];r=p;return}function Yt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;e=f+4|0;d=f;k[f+12>>2]=a;k[c>>2]=b;k[e>>2]=(k[c>>2]|0)+4;k[d>>2]=(k[e>>2]|0)+9;do{a=k[e>>2]|0;k[e>>2]=a+1;if(!((l[a>>0]|0)&128))break}while((k[e>>2]|0)>>>0<(k[d>>2]|0)>>>0);r=f;return (k[e>>2]|0)-(k[c>>2]|0)&65535|0}function Zt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d;k[d+8>>2]=a;k[f>>2]=b;k[e>>2]=c;a=4+((au((k[f>>2]|0)+4|0,k[e>>2]|0)|0)&255)&65535;j[(k[e>>2]|0)+18>>1]=a;k[(k[e>>2]|0)+12>>2]=0;j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+8>>2]=0;r=d;return}function _t(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;i=n+8|0;g=n+4|0;h=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+6>>0]|0);k[g>>2]=l[k[i>>2]>>0];a:do if((k[g>>2]|0)>>>0>=128){k[h>>2]=(k[i>>2]|0)+8;k[g>>2]=k[g>>2]&127;do{c=k[g>>2]<<7;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[g>>2]=c|(l[a>>0]|0)&127;if((l[k[i>>2]>>0]|0|0)<128)break a}while((k[i>>2]|0)>>>0<(k[h>>2]|0)>>>0)}while(0);k[i>>2]=(k[i>>2]|0)+1;a=k[f>>2]|0;k[a>>2]=k[g>>2];k[a+4>>2]=0;k[(k[f>>2]|0)+12>>2]=k[g>>2];k[(k[f>>2]|0)+8>>2]=k[i>>2];if((k[g>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){$t(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=n;return}j[(k[f>>2]|0)+18>>1]=(k[g>>2]|0)+((k[i>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[g>>2];r=n;return}function $t(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=r;r=r+32|0;l=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=m[(k[l>>2]|0)+12>>1];k[i>>2]=m[(k[l>>2]|0)+10>>1];k[g>>2]=(k[f>>2]|0)+((((k[(k[e>>2]|0)+12>>2]|0)-(k[f>>2]|0)|0)>>>0)%(((k[(k[(k[l>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[g>>2]|0)<=(k[i>>2]|0))j[(k[e>>2]|0)+16>>1]=k[g>>2];else j[(k[e>>2]|0)+16>>1]=k[f>>2];j[(k[e>>2]|0)+18>>1]=((k[(k[e>>2]|0)+8>>2]|0)+(m[(k[e>>2]|0)+16>>1]|0)-(k[d>>2]|0)&65535)+4;r=h;return} -function DE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=r;r=r+96|0;q=F+80|0;s=F+76|0;f=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;h=F+48|0;m=F+44|0;o=F+40|0;v=F+36|0;p=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;n=F+16|0;g=F+12|0;y=F+8|0;D=F+4|0;B=F;k[s>>2]=a;k[f>>2]=b;k[t>>2]=c;k[u>>2]=d;k[G>>2]=e;k[E>>2]=0;k[w>>2]=k[k[s>>2]>>2];k[A>>2]=0;if(!(FE(k[w>>2]|0,k[f>>2]|0,k[G>>2]|0,p)|0)){k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}k[m>>2]=k[(k[f>>2]|0)+20>>2];k[h>>2]=k[(k[(k[m>>2]|0)+4>>2]|0)+20>>2];if(((l[k[h>>2]>>0]|0)==152?((Xx(k[h>>2]|0)|0)<<24>>24|0)==66:0)?(l[(k[(k[h>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){G=by(k[k[(k[m>>2]|0)+4>>2]>>2]|0)|0;k[z>>2]=G;k[x>>2]=l[k[z>>2]>>0];if((k[x>>2]|0)!=135){if((k[x>>2]|0)==97)k[E>>2]=k[(k[z>>2]|0)+8>>2]}else{k[n>>2]=k[(k[s>>2]|0)+480>>2];k[g>>2]=j[(k[z>>2]|0)+32>>1];G=GE(k[n>>2]|0,k[g>>2]|0,65)|0;k[A>>2]=G;if((k[A>>2]|0)!=0?(pe(k[A>>2]|0)|0)==3:0){G=ke(k[A>>2]|0)|0;k[E>>2]=G}HE(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0)}do if(k[E>>2]|0){k[v>>2]=0;while(1){G=i[(k[E>>2]|0)+(k[v>>2]|0)>>0]|0;k[o>>2]=G;if(((G|0)!=0?(k[o>>2]|0)!=(i[p>>0]|0):0)?(k[o>>2]|0)!=(i[p+1>>0]|0):0)f=(k[o>>2]|0)!=(i[p+2>>0]|0);else f=0;g=k[v>>2]|0;if(!f)break;k[v>>2]=g+1}if((g|0)!=0?255!=(l[(k[E>>2]|0)+((k[v>>2]|0)-1)>>0]|0):0){if((k[o>>2]|0)==(i[p>>0]|0))f=(i[(k[E>>2]|0)+((k[v>>2]|0)+1)>>0]|0)==0;else f=0;k[k[u>>2]>>2]=f&1;G=Tv(k[w>>2]|0,97,k[E>>2]|0)|0;k[y>>2]=G;if(k[y>>2]|0)i[(k[(k[y>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=0;k[k[t>>2]>>2]=k[y>>2];if((k[x>>2]|0)!=135)break;k[D>>2]=k[(k[s>>2]|0)+8>>2];HE(k[D>>2]|0,j[(k[z>>2]|0)+32>>1]|0);if(!(k[k[u>>2]>>2]|0))break;if(!(i[(k[(k[z>>2]|0)+8>>2]|0)+1>>0]|0))break;G=eA(k[s>>2]|0)|0;k[B>>2]=G;IA(k[s>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;G=k[D>>2]|0;IE(G,(Lz(k[D>>2]|0)|0)-1|0,0);iA(k[s>>2]|0,k[B>>2]|0);break}k[E>>2]=0}while(0);k[C>>2]=(k[E>>2]|0)!=0&1;jh(k[A>>2]|0);k[q>>2]=k[C>>2];G=k[q>>2]|0;r=F;return G|0}k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}function EE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+64|0;g=m+56|0;e=m+52|0;h=m+48|0;j=m+16|0;d=m+8|0;c=m+4|0;f=m;k[e>>2]=a;k[h>>2]=b;k[j>>2]=k[1570];k[j+4>>2]=k[1571];k[j+8>>2]=k[1572];k[j+12>>2]=k[1573];k[j+16>>2]=k[1574];k[j+20>>2]=k[1575];k[j+24>>2]=k[1576];k[j+28>>2]=k[1577];if((l[k[e>>2]>>0]|0|0)!=151){k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}k[d>>2]=k[(k[e>>2]|0)+20>>2];if((k[d>>2]|0)!=0?(k[k[d>>2]>>2]|0)==2:0){k[c>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2];if((l[k[c>>2]>>0]|0|0)==152?((l[(k[(k[c>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){c=14;break}b=(be(k[(k[e>>2]|0)+8>>2]|0,k[j+(k[f>>2]<<3)>>2]|0)|0)==0;a=k[f>>2]|0;if(b){c=12;break}k[f>>2]=a+1}if((c|0)==12){i[k[h>>2]>>0]=i[j+(a<<3)+4>>0]|0;k[g>>2]=1;j=k[g>>2]|0;r=m;return j|0}else if((c|0)==14){k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}}k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}function FE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(((l[k[g>>2]>>0]|0|0)==151?(k[(k[g>>2]|0)+20>>2]|0)!=0:0)?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)==2:0){b=k[f>>2]|0;c=k[(k[g>>2]|0)+8>>2]|0;c=qi(b,c,Sf(k[(k[g>>2]|0)+8>>2]|0)|0,2,1,0)|0;k[n>>2]=c;if((k[n>>2]|0)!=0?((m[(k[n>>2]|0)+2>>1]|0)&4|0)!=0:0){c=k[j>>2]|0;b=k[(k[n>>2]|0)+4>>2]|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;k[k[h>>2]>>2]=((m[(k[n>>2]|0)+2>>1]|0)&8|0)==0&1;k[e>>2]=1;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}function GE(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,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+20|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;if((k[e>>2]|0)!=0?(k[h>>2]=(k[(k[e>>2]|0)+60>>2]|0)+(((k[f>>2]|0)-1|0)*40|0),0==((m[(k[h>>2]|0)+8>>1]|0)&1|0)):0){a=di(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){qh(k[j>>2]|0,k[h>>2]|0)|0;vx(k[j>>2]|0,i[g>>0]|0,1)}k[d>>2]=k[j>>2];a=k[d>>2]|0;r=l;return a|0}k[d>>2]=0;a=k[d>>2]|0;r=l;return a|0}function HE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>32){k[(k[c>>2]|0)+188>>2]=-1;r=e;return}else{a=(k[c>>2]|0)+188|0;k[a>>2]=k[a>>2]|1<<(k[d>>2]|0)-1;r=e;return}}function IE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(Wz(k[f>>2]|0,k[e>>2]|0)|0)+12|0;k[c>>2]=a;r=d;return}function JE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;if((m[(k[d>>2]|0)+18>>1]|0|0)!=1024){k[c>>2]=(b|0)==0?k[d>>2]|0:0;e=k[c>>2]|0;r=f;return e|0}if((b|0)<(k[(k[(k[d>>2]|0)+12>>2]|0)+12>>2]|0)){k[c>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0);e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function KE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+28|0;l=s+24|0;e=s+20|0;f=s+16|0;n=s+32|0;g=s+12|0;q=s+8|0;p=s+4|0;o=s;k[h>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=d;j[n>>1]=m[(k[e>>2]|0)+18>>1]|0|(m[(k[f>>2]|0)+18>>1]|0);if(!((m[(k[e>>2]|0)+18>>1]|0)&62)){r=s;return}if(!((m[(k[f>>2]|0)+18>>1]|0)&62)){r=s;return}if(((m[n>>1]|0)&26|0)!=(m[n>>1]|0|0)?((m[n>>1]|0)&38|0)!=(m[n>>1]|0|0):0){r=s;return}if(zy(k[(k[k[e>>2]>>2]|0)+12>>2]|0,k[(k[k[f>>2]>>2]|0)+12>>2]|0,-1)|0){r=s;return}if(zy(k[(k[k[e>>2]>>2]|0)+16>>2]|0,k[(k[k[f>>2]>>2]|0)+16>>2]|0,-1)|0){r=s;return}do if((m[n>>1]|0)&(m[n>>1]|0)-1)if((m[n>>1]|0)&24){j[n>>1]=8;break}else{j[n>>1]=32;break}while(0);k[g>>2]=k[k[k[k[l>>2]>>2]>>2]>>2];b=xy(k[g>>2]|0,k[k[e>>2]>>2]|0,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){r=s;return}k[p>>2]=79;while(1){e=k[p>>2]|0;if((m[n>>1]|0|0)==(2<<(k[p>>2]|0)-79|0))break;k[p>>2]=e+1}i[k[q>>2]>>0]=e;q=xE(k[l>>2]|0,k[q>>2]|0,3)|0;k[o>>2]=q;tE(k[h>>2]|0,k[l>>2]|0,k[o>>2]|0);r=s;return}function LE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+36|0;h=e+32|0;f=e+28|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=0;k[d+4>>2]=199;k[d+24>>2]=k[h>>2];ly(d,k[g>>2]|0)|0;if(k[f>>2]|0){h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}h=d+20|0;i[h>>0]=(l[h>>0]|0)&-3;h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}function ME(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[k[d>>2]>>2]|0;b=k[k[f>>2]>>2]|0;if((j[(k[f>>2]|0)+32>>1]|0)>=0){f=k[(k[(k[f>>2]|0)+4>>2]|0)+((j[(k[f>>2]|0)+32>>1]|0)*24|0)>>2]|0;k[h>>2]=b;k[h+4>>2]=f;f=Lh(a,31016,h)|0;k[l>>2]=f;k[g>>2]=1555;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;lA(f,h,i,l,-1,2);r=m;return}else{k[i>>2]=b;f=Lh(a,36074,i)|0;k[l>>2]=f;k[g>>2]=2579;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;lA(f,h,i,l,-1,2);r=m;return}}function NE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;j=l+20|0;m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;a:do if(k[(k[k[m>>2]>>2]|0)+24>>2]&524288){c=k[e>>2]|0;if(!(k[f>>2]|0)){if(Ox(c)|0)c=1;else c=(k[(k[e>>2]|0)+16>>2]|0)!=0;k[j>>2]=c&1;m=k[j>>2]|0;r=l;return m|0}k[h>>2]=k[c+16>>2];while(1){c=k[e>>2]|0;if(!(k[h>>2]|0))break;if(UC(c,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){i=9;break}k[h>>2]=k[(k[h>>2]|0)+4>>2]}if((i|0)==9){k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}m=Ox(c)|0;k[h>>2]=m;while(1){if(!(k[h>>2]|0))break a;if(XC(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}while(0);k[j>>2]=0;m=k[j>>2]|0;r=l;return m|0}function OE(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+20>>0]=1;r=c;return}function PE(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;p=K+48|0;q=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;k[p>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;j[x>>1]=g;i[y>>0]=h;i[z>>0]=m;i[A>>0]=n;k[s>>2]=o;k[I>>2]=k[(k[p>>2]|0)+8>>2];k[E>>2]=0;c=Mz(k[I>>2]|0)|0;k[D>>2]=c;i[G>>0]=(l[(k[q>>2]|0)+42>>0]&32|0)==0?70:68;if(!(l[A>>0]|0))Oh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;c=(NE(k[p>>2]|0,k[q>>2]|0,0,0)|0)!=0;if(c|(k[t>>2]|0)!=0){c=RE(k[p>>2]|0,k[t>>2]|0,0,0,3,k[q>>2]|0,l[z>>0]|0)|0;k[F>>2]=c;c=SE(k[p>>2]|0,k[q>>2]|0)|0;k[F>>2]=k[F>>2]|c;k[E>>2]=(k[(k[p>>2]|0)+76>>2]|0)+1;c=(k[p>>2]|0)+76|0;k[c>>2]=(k[c>>2]|0)+(1+(j[(k[q>>2]|0)+34>>1]|0));$w(k[I>>2]|0,30,k[w>>2]|0,k[E>>2]|0)|0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[F>>2]|0)!=-1){if((k[C>>2]|0)<=31?(k[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;DA(k[I>>2]|0,k[q>>2]|0,k[u>>2]|0,k[C>>2]|0,(k[E>>2]|0)+(k[C>>2]|0)+1|0)}k[C>>2]=(k[C>>2]|0)+1}J=Lz(k[I>>2]|0)|0;k[B>>2]=J;LC(k[p>>2]|0,k[t>>2]|0,109,0,1,k[q>>2]|0,k[E>>2]|0,l[z>>0]|0,k[D>>2]|0);J=k[B>>2]|0;if((J|0)<(Lz(k[I>>2]|0)|0))Oh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;QC(k[p>>2]|0,k[q>>2]|0,k[E>>2]|0,0,0,0)}if(k[(k[q>>2]|0)+12>>2]|0){a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;TE(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;LC(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;Qz(I,J);r=K;return}i[H>>0]=0;QE(k[p>>2]|0,k[q>>2]|0,k[u>>2]|0,k[v>>2]|0,0,k[s>>2]|0);$w(k[I>>2]|0,95,k[u>>2]|0,(l[y>>0]|0)!=0?1:0)|0;if(i[y>>0]|0)Sh(k[I>>2]|0,-1,k[k[q>>2]>>2]|0,0);if(l[A>>0]|0)Ph(k[I>>2]|0,4);if((k[s>>2]|0)>=0)Hz(k[I>>2]|0,95,k[s>>2]|0)|0;if((l[A>>0]|0)==2)i[H>>0]=l[H>>0]|2;Ph(k[I>>2]|0,i[H>>0]|0);a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;TE(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;LC(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;Qz(I,J);r=K;return}function QE(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,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;h=y+48|0;g=y+44|0;i=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;v=y+20|0;q=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[v>>2]=-1;k[u>>2]=0;k[w>>2]=k[(k[h>>2]|0)+8>>2];if(!((l[(k[g>>2]|0)+42>>0]|0)&32))e=0;else e=Oj(k[g>>2]|0)|0;k[t>>2]=e;k[p>>2]=0;k[s>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;if(!((k[n>>2]|0)!=0?(k[(k[n>>2]|0)+(k[p>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(k[s>>2]|0)!=(k[t>>2]|0)):0)?((k[m>>2]|0)+(k[p>>2]|0)|0)!=(k[o>>2]|0):0){e=fA(k[h>>2]|0,k[s>>2]|0,k[i>>2]|0,0,1,q,k[u>>2]|0,k[v>>2]|0)|0;k[v>>2]=e;e=k[s>>2]|0;if((l[(k[s>>2]|0)+55>>0]|0)>>>3&1)e=j[e+50>>1]|0;else e=j[e+52>>1]|0;dx(k[w>>2]|0,111,(k[m>>2]|0)+(k[p>>2]|0)|0,k[v>>2]|0,e&65535)|0;gA(k[h>>2]|0,k[q>>2]|0);k[u>>2]=k[s>>2]}k[p>>2]=(k[p>>2]|0)+1;k[s>>2]=k[(k[s>>2]|0)+20>>2]}r=y;return}function RE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+40|0;v=u+36|0;i=u+32|0;j=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;s=u+4|0;t=u;k[h>>2]=a;k[v>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[q>>2]=(k[i>>2]|0)!=0?110:109;k[p>>2]=0;k[s>>2]=k[v>>2];while(1){if(!(k[s>>2]|0))break;if((((l[(k[s>>2]|0)+8>>0]|0|0)==(k[q>>2]|0)?(k[m>>2]&(l[(k[s>>2]|0)+9>>0]|0)|0)!=0:0)?(WF(k[(k[s>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)?(v=WE(k[h>>2]|0,k[s>>2]|0,k[n>>2]|0,k[o>>2]|0)|0,k[t>>2]=v,(k[t>>2]|0)!=0):0)k[p>>2]=k[p>>2]|k[(k[t>>2]|0)+16+(k[j>>2]<<2)>>2];k[s>>2]=k[(k[s>>2]|0)+32>>2]}r=u;return k[p>>2]|0}function SE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[(k[k[c>>2]>>2]|0)+24>>2]&524288)){h=k[f>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[g>>2]|0))break;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;if((k[(k[g>>2]|0)+36+(k[e>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(k[e>>2]<<3)>>2];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}k[g>>2]=k[(k[g>>2]|0)+4>>2]}b=Ox(k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break;k[h>>2]=0;mC(k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,h,0)|0;a:do if(k[h>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break a;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[g>>2]=k[(k[g>>2]|0)+12>>2]}h=k[f>>2]|0;r=i;return h|0}function TE(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;if(!(k[(k[k[g>>2]>>2]|0)+24>>2]&524288)){r=q;return}d=Ox(k[h>>2]|0)|0;k[o>>2]=d;while(1){if(!(k[o>>2]|0))break;if(!((k[l>>2]|0)!=0?(XC(k[h>>2]|0,k[o>>2]|0,k[l>>2]|0,k[m>>2]|0)|0)==0:0))p=6;if((p|0)==6?(p=0,d=UE(k[g>>2]|0,k[h>>2]|0,k[o>>2]|0,k[i>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)!=0):0)VE(k[g>>2]|0,k[n>>2]|0,k[h>>2]|0,k[j>>2]|0,2,0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}r=q;return}function UE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;e=N+136|0;f=N+132|0;g=N+128|0;h=N+124|0;m=N+120|0;p=N+116|0;n=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;o=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;q=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;k[p>>2]=k[k[f>>2]>>2];k[s>>2]=(k[m>>2]|0)!=0&1;k[n>>2]=l[(k[h>>2]|0)+25+(k[s>>2]|0)>>0];k[D>>2]=k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2];if(!((k[n>>2]|0)==0|(k[D>>2]|0)!=0)){k[x>>2]=0;k[o>>2]=0;k[C>>2]=0;k[F>>2]=0;k[y>>2]=0;k[B>>2]=0;k[E>>2]=0;if(mC(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,x,o)|0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[h>>2]|0)+20>>2]|0))break;k[J>>2]=k[1578];k[J+4>>2]=k[1579];k[I>>2]=k[1580];k[I+4>>2]=k[1581];if(k[o>>2]|0)d=k[(k[o>>2]|0)+(k[q>>2]<<2)>>2]|0;else d=k[(k[h>>2]|0)+36>>2]|0;k[t>>2]=d;if(k[x>>2]|0)d=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;else d=j[(k[g>>2]|0)+32>>1]|0;My(K,k[(k[(k[g>>2]|0)+4>>2]|0)+((d<<16>>16)*24|0)>>2]|0);My(H,k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+((k[t>>2]|0)*24|0)>>2]|0);a=k[f>>2]|0;c=k[f>>2]|0;b=mz(k[p>>2]|0,27,J,0)|0;b=Bv(c,122,b,mz(k[p>>2]|0,27,K,0)|0,0)|0;b=Bv(a,79,b,mz(k[p>>2]|0,27,H,0)|0,0)|0;k[w>>2]=b;b=kz(k[p>>2]|0,k[F>>2]|0,k[w>>2]|0)|0;k[F>>2]=b;if(k[m>>2]|0){d=k[f>>2]|0;a=k[f>>2]|0;c=mz(k[p>>2]|0,27,J,0)|0;c=Bv(a,122,c,mz(k[p>>2]|0,27,K,0)|0,0)|0;a=k[f>>2]|0;b=mz(k[p>>2]|0,27,I,0)|0;b=Bv(d,73,c,Bv(a,122,b,mz(k[p>>2]|0,27,K,0)|0,0)|0,0)|0;k[w>>2]=b;b=kz(k[p>>2]|0,k[E>>2]|0,k[w>>2]|0)|0;k[E>>2]=b}if((k[n>>2]|0)!=6?(k[n>>2]|0)!=9|(k[m>>2]|0)!=0:0){do if((k[n>>2]|0)!=9){if((k[n>>2]|0)!=8){b=Bv(k[f>>2]|0,101,0,0,0)|0;k[z>>2]=b;break}k[v>>2]=k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+((k[t>>2]|0)*24|0)+4>>2];if(k[v>>2]|0){b=xy(k[p>>2]|0,k[v>>2]|0,0)|0;k[z>>2]=b;break}else{b=Bv(k[f>>2]|0,101,0,0,0)|0;k[z>>2]=b;break}}else{a=k[f>>2]|0;b=mz(k[p>>2]|0,27,I,0)|0;b=Bv(a,122,b,mz(k[p>>2]|0,27,K,0)|0,0)|0;k[z>>2]=b}while(0);b=Qv(k[f>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[y>>2]=b;Rv(k[f>>2]|0,k[y>>2]|0,H,0)}k[q>>2]=(k[q>>2]|0)+1}ag(k[p>>2]|0,k[o>>2]|0);k[L>>2]=k[k[k[h>>2]>>2]>>2];K=Sf(k[L>>2]|0)|0;k[u>>2]=K;if((k[n>>2]|0)==6){k[G>>2]=k[L>>2];k[G+4>>2]=k[u>>2];K=Tv(k[p>>2]|0,57,36044)|0;k[A>>2]=K;if(k[A>>2]|0)i[(k[A>>2]|0)+1>>0]=2;I=k[f>>2]|0;J=Qv(k[f>>2]|0,0,k[A>>2]|0)|0;K=Xv(k[p>>2]|0,0,G,0)|0;K=Pv(I,J,K,k[F>>2]|0,0,0,0,0,0,0)|0;k[B>>2]=K;k[F>>2]=0}K=(k[p>>2]|0)+248|0;k[K>>2]=(k[K>>2]|0)+1;K=zh(k[p>>2]|0,72+(k[u>>2]|0)+1|0,0)|0;k[D>>2]=K;if((k[D>>2]|0)!=0?(K=(k[D>>2]|0)+36|0,k[(k[D>>2]|0)+28>>2]=K,k[C>>2]=K,k[(k[C>>2]|0)+12>>2]=(k[C>>2]|0)+36,sR(k[(k[C>>2]|0)+12>>2]|0,k[L>>2]|0,k[u>>2]|0)|0,L=xy(k[p>>2]|0,k[F>>2]|0,1)|0,k[(k[C>>2]|0)+16>>2]=L,L=Fy(k[p>>2]|0,k[y>>2]|0,1)|0,k[(k[C>>2]|0)+20>>2]=L,L=Rx(k[p>>2]|0,k[B>>2]|0,1)|0,k[(k[C>>2]|0)+8>>2]=L,(k[E>>2]|0)!=0):0){L=Bv(k[f>>2]|0,19,k[E>>2]|0,0,0)|0;k[E>>2]=L;L=xy(k[p>>2]|0,k[E>>2]|0,1)|0;k[(k[D>>2]|0)+12>>2]=L}L=(k[p>>2]|0)+248|0;k[L>>2]=(k[L>>2]|0)+-1;hv(k[p>>2]|0,k[F>>2]|0);hv(k[p>>2]|0,k[E>>2]|0);dv(k[p>>2]|0,k[y>>2]|0);ev(k[p>>2]|0,k[B>>2]|0);if((l[(k[p>>2]|0)+65>>0]|0|0)==1){VF(k[p>>2]|0,k[D>>2]|0);k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}switch(k[n>>2]|0){case 6:{i[k[C>>2]>>0]=119;break}case 9:{if(k[m>>2]|0)M=38;else i[k[C>>2]>>0]=109;break}default:M=38}if((M|0)==38)i[k[C>>2]>>0]=110;k[(k[C>>2]|0)+4>>2]=k[D>>2];k[(k[D>>2]|0)+20>>2]=k[(k[g>>2]|0)+64>>2];k[(k[D>>2]|0)+24>>2]=k[(k[g>>2]|0)+64>>2];k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2]=k[D>>2];i[(k[D>>2]|0)+8>>0]=(k[m>>2]|0)!=0?110:109}k[e>>2]=k[D>>2];M=k[e>>2]|0;r=N;return M|0}function VE(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=r;r=r+48|0;h=o+32|0;g=o+28|0;q=o+24|0;i=o+20|0;p=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[h>>2]=a;k[g>>2]=b;k[q>>2]=c;k[i>>2]=d;k[p>>2]=e;k[j>>2]=f;d=Zw(k[h>>2]|0)|0;k[n>>2]=d;d=WE(k[h>>2]|0,k[g>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[m>>2]=d;if(!(k[m>>2]|0)){r=o;return}if(k[k[g>>2]>>2]|0)g=0==(k[(k[k[h>>2]>>2]|0)+24>>2]&262144|0);else g=0;k[l>>2]=g&1;d=k[n>>2]|0;i=k[i>>2]|0;p=k[j>>2]|0;j=(k[h>>2]|0)+76|0;q=(k[j>>2]|0)+1|0;k[j>>2]=q;cx(d,132,i,p,q,k[(k[m>>2]|0)+8>>2]|0,-18)|0;Ph(k[n>>2]|0,k[l>>2]&255);r=o;return}function WE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[e>>2]|0;if(k[(k[e>>2]|0)+416>>2]|0)d=k[d+416>>2]|0;k[j>>2]=d;k[i>>2]=k[(k[j>>2]|0)+532>>2];while(1){if(!(k[i>>2]|0))break;if((k[k[i>>2]>>2]|0)==(k[f>>2]|0)?(k[(k[i>>2]|0)+12>>2]|0)==(k[h>>2]|0):0)break;k[i>>2]=k[(k[i>>2]|0)+4>>2]}if(k[i>>2]|0){j=k[i>>2]|0;r=l;return j|0}j=XE(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;r=l;return j|0}function XE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;w=x;e=x+84|0;f=x+80|0;g=x+76|0;h=x+72|0;j=x+68|0;s=x+64|0;m=x+60|0;o=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;p=x+12|0;q=x+8|0;n=x+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;d=k[f>>2]|0;if(k[(k[f>>2]|0)+416>>2]|0)d=k[d+416>>2]|0;k[s>>2]=d;k[m>>2]=k[k[f>>2]>>2];k[t>>2]=0;k[p>>2]=0;k[n>>2]=0;b=zh(k[m>>2]|0,24,0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}k[(k[o>>2]|0)+4>>2]=k[(k[s>>2]|0)+532>>2];k[(k[s>>2]|0)+532>>2]=k[o>>2];b=zh(k[m>>2]|0,28,0)|0;k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=b;if(!(k[p>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}YE(k[(k[s>>2]|0)+8>>2]|0,k[p>>2]|0);k[k[o>>2]>>2]=k[g>>2];k[(k[o>>2]|0)+12>>2]=k[j>>2];k[(k[o>>2]|0)+16>>2]=-1;k[(k[o>>2]|0)+16+4>>2]=-1;b=zh(k[m>>2]|0,544,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0};k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;k[u+24>>2]=0;k[u+28>>2]=0;k[u>>2]=k[q>>2];k[k[q>>2]>>2]=k[m>>2];k[(k[q>>2]|0)+420>>2]=k[h>>2];k[(k[q>>2]|0)+416>>2]=k[s>>2];k[(k[q>>2]|0)+496>>2]=k[k[g>>2]>>2];i[(k[q>>2]|0)+440>>0]=i[(k[g>>2]|0)+8>>0]|0;k[(k[q>>2]|0)+428>>2]=k[(k[f>>2]|0)+428>>2];h=Zw(k[q>>2]|0)|0;k[v>>2]=h;if(k[v>>2]|0){b=k[v>>2]|0;h=k[m>>2]|0;k[w>>2]=k[k[g>>2]>>2];Sh(b,-1,Lh(h,35740,w)|0,-1);if(k[(k[g>>2]|0)+12>>2]|0){w=xy(k[m>>2]|0,k[(k[g>>2]|0)+12>>2]|0,0)|0;k[t>>2]=w;if(0==(py(u,k[t>>2]|0)|0)?(l[(k[m>>2]|0)+65>>0]|0|0)==0:0){w=Mz(k[v>>2]|0)|0;k[n>>2]=w;VA(k[q>>2]|0,k[t>>2]|0,k[n>>2]|0,16)}hv(k[m>>2]|0,k[t>>2]|0)}ZE(k[q>>2]|0,k[(k[g>>2]|0)+28>>2]|0,k[j>>2]|0)|0;if(k[n>>2]|0)Qz(k[v>>2]|0,k[n>>2]|0);gx(k[v>>2]|0,21)|0;_E(k[f>>2]|0,k[q>>2]|0);if(!(l[(k[m>>2]|0)+65>>0]|0)){w=$E(k[v>>2]|0,(k[p>>2]|0)+4|0,(k[s>>2]|0)+400|0)|0;k[k[p>>2]>>2]=w}k[(k[p>>2]|0)+8>>2]=k[(k[q>>2]|0)+76>>2];k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+72>>2];k[(k[p>>2]|0)+16>>2]=k[(k[q>>2]|0)+84>>2];k[(k[p>>2]|0)+20>>2]=k[g>>2];k[(k[o>>2]|0)+16>>2]=k[(k[q>>2]|0)+432>>2];k[(k[o>>2]|0)+16+4>>2]=k[(k[q>>2]|0)+436>>2];bv(k[v>>2]|0)}Vh(k[q>>2]|0);ag(k[m>>2]|0,k[q>>2]|0);k[e>>2]=k[o>>2];w=k[e>>2]|0;r=x;return w|0}function YE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[e>>2]|0)+24>>2]=k[(k[d>>2]|0)+192>>2];k[(k[d>>2]|0)+192>>2]=k[e>>2];r=c;return}function ZE(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,m=0,n=0,o=0;n=r;r=r+48|0;d=n+44|0;o=n+40|0;e=n+36|0;h=n+32|0;m=n+28|0;f=n+24|0;j=n+4|0;g=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[m>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[o>>2];while(1){if(!(k[h>>2]|0))break;if((k[e>>2]|0)==10)c=i[(k[h>>2]|0)+1>>0]|0;else c=k[e>>2]&255;i[(k[d>>2]|0)+441>>0]=c;switch(l[k[h>>2]>>0]|0|0){case 110:{a=k[d>>2]|0;b=UF(k[d>>2]|0,k[h>>2]|0)|0;o=Fy(k[f>>2]|0,k[(k[h>>2]|0)+20>>2]|0,0)|0;bw(a,b,o,xy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0,l[(k[d>>2]|0)+441>>0]|0);break}case 108:{a=k[d>>2]|0;b=UF(k[d>>2]|0,k[h>>2]|0)|0;o=Rx(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;cw(a,b,o,xz(k[f>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0,l[(k[d>>2]|0)+441>>0]|0);break}case 109:{o=k[d>>2]|0;$v(o,UF(k[d>>2]|0,k[h>>2]|0)|0,xy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0);break}default:{o=Rx(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;k[g>>2]=o;hB(j,4,0);Mv(k[d>>2]|0,k[g>>2]|0,j)|0;ev(k[f>>2]|0,k[g>>2]|0)}}if((l[k[h>>2]>>0]|0|0)!=119)gx(k[m>>2]|0,98)|0;k[h>>2]=k[(k[h>>2]|0)+28>>2]}r=n;return 0}function _E(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if(!(k[(k[c>>2]|0)+68>>2]|0)){k[(k[c>>2]|0)+4>>2]=k[b+4>>2];k[(k[c>>2]|0)+68>>2]=k[(k[d>>2]|0)+68>>2];k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+12>>2];r=e;return}else{ag(k[b>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=e;return}}function $E(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[(k[f>>2]|0)+4>>2];aF(k[f>>2]|0,k[h>>2]|0);k[k[g>>2]>>2]=k[(k[f>>2]|0)+32>>2];k[(k[f>>2]|0)+4>>2]=0;r=e;return k[d>>2]|0}function aF(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;q=r;r=r+48|0;c=q+28|0;d=q+24|0;f=q+20|0;h=q+16|0;n=q+12|0;o=q+8|0;e=q+4|0;m=q+32|0;g=q;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];k[o>>2]=k[(k[c>>2]|0)+24>>2];k[e>>2]=k[(k[o>>2]|0)+120>>2];b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-65|64;b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-129;k[n>>2]=k[(k[c>>2]|0)+4>>2];k[f>>2]=(k[(k[c>>2]|0)+32>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;i[m>>0]=i[k[n>>2]>>0]|0;switch(l[m>>0]|0|0){case 2:{if(k[(k[n>>2]|0)+8>>2]|0){p=(k[c>>2]|0)+88|0;j[p>>1]=j[p>>1]&-65;p=6}else p=6;break}case 0:case 1:{p=6;break}case 9:case 10:case 8:{b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-65;b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-129|128;break}case 12:{if((k[(k[n>>2]|0)+8>>2]|0)>(k[h>>2]|0))k[h>>2]=k[(k[n>>2]|0)+8>>2];break}case 11:{k[g>>2]=k[(k[n>>2]|0)+-20+4>>2];if((k[g>>2]|0)>(k[h>>2]|0))k[h>>2]=k[g>>2];break}case 3:case 5:case 7:{k[(k[n>>2]|0)+16>>2]=200;i[(k[n>>2]|0)+1>>0]=-19;break}case 4:case 6:{k[(k[n>>2]|0)+16>>2]=201;i[(k[n>>2]|0)+1>>0]=-19;break}default:{}}if((p|0)==6){p=0;b=(k[c>>2]|0)+88|0;j[b>>1]=j[b>>1]&-129|128}i[(k[n>>2]|0)+2>>0]=i[35754+(l[m>>0]|0)>>0]|0;if(((l[(k[n>>2]|0)+2>>0]|0)&1|0)!=0?(k[(k[n>>2]|0)+8>>2]|0)<0:0)k[(k[n>>2]|0)+8>>2]=k[(k[e>>2]|0)+(-1-(k[(k[n>>2]|0)+8>>2]|0)<<2)>>2];k[f>>2]=(k[f>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+20}ag(k[k[c>>2]>>2]|0,k[(k[o>>2]|0)+120>>2]|0);k[(k[o>>2]|0)+120>>2]=0;k[(k[o>>2]|0)+116>>2]=0;k[k[d>>2]>>2]=k[h>>2];r=q;return}function bF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;k[k[e>>2]>>2]=0;a=k[d>>2]|0;if((l[(k[d>>2]|0)+66>>0]|0)!=1){f=SF(a,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}k[f>>2]=k[(k[d>>2]|0)+120+(i[a+68>>0]<<2)>>2];a=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;b=(j[a>>1]|0)+1<<16>>16;j[a>>1]=b;if((b&65535|0)>=(m[(k[f>>2]|0)+18>>1]|0)){f=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16;f=SF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if(i[(k[f>>2]|0)+4>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{f=TF(k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}return 0}function cF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[k[e>>2]>>2]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-15;j[(k[d>>2]|0)+16+18>>1]=0;if(((l[(k[d>>2]|0)+66>>0]|0)==1?(m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(l[(k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+-1<<16>>16;k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}b=dF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function dF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;h=o+8|0;g=o+4|0;c=o;k[e>>2]=a;k[f>>2]=b;if((l[(k[e>>2]|0)+66>>0]|0)!=1){if((l[(k[e>>2]|0)+66>>0]|0)>=3)a=eF(k[e>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}if(!(l[(k[e>>2]|0)+66>>0]|0)){k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}if((k[(k[e>>2]|0)+60>>2]|0)!=0?(i[(k[e>>2]|0)+66>>0]=1,b=(k[(k[e>>2]|0)+60>>2]|0)<0,k[(k[e>>2]|0)+60>>2]=0,b):0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];do if(i[(k[g>>2]|0)+4>>0]|0){while(1){a=i[(k[e>>2]|0)+68>>0]|0;if(m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1]|0)break;b=k[e>>2]|0;if(!a){n=17;break}hF(b)}if((n|0)==17){i[b+66>>0]=0;k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+80+(a<<1)|0;j[n>>1]=(j[n>>1]|0)+-1<<16>>16;k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];if((l[(k[g>>2]|0)+2>>0]|0)!=0?(i[(k[g>>2]|0)+4>>0]|0)==0:0){n=cF(k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=n;break}k[h>>2]=0}else{k[c>>2]=m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1];n=k[e>>2]|0;n=fF(n,jr((k[(k[g>>2]|0)+56>>2]|0)+(m[(k[g>>2]|0)+20>>1]&(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[h>>2]=n;if(!(k[h>>2]|0)){n=gF(k[e>>2]|0)|0;k[h>>2]=n;break}k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}function eF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0|0)==4){k[b>>2]=k[a+60>>2];e=k[b>>2]|0;r=f;return e|0}i[a+66>>0]=0;a=(k[c>>2]|0)+40|0;a=lF(k[c>>2]|0,k[(k[c>>2]|0)+48>>2]|0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(((k[d>>2]|0)==0?(Ud(k[(k[c>>2]|0)+48>>2]|0),k[(k[c>>2]|0)+48>>2]=0,a=(k[c>>2]|0)+60|0,k[a>>2]=k[a>>2]|k[e>>2],(k[(k[c>>2]|0)+60>>2]|0)!=0):0)?(l[(k[c>>2]|0)+66>>0]|0|0)==1:0)i[(k[c>>2]|0)+66>>0]=2;k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}function fF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];if((i[(k[d>>2]|0)+68>>0]|0)>=19){a=Vj(60332)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}else{j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;a=(k[d>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;j[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]=0;a=iF(k[f>>2]|0,k[e>>2]|0,(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)|0,k[d>>2]|0,l[(k[d>>2]|0)+65>>0]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}return 0}function gF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[c>>2]=0;while(1){a=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;b=k[c>>2]|0;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}b=jr((k[(k[c>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0;k[d>>2]=b;j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=j[(k[c>>2]|0)+18>>1]|0;b=fF(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){a=4;break}}if((a|0)==4){k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}else if((a|0)==5){j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=(m[b+18>>1]|0)-1;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}return 0}function hF(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;j[(k[c>>2]|0)+16+18>>1]=0;d=(k[c>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-7;d=(k[c>>2]|0)+68|0;a=i[d>>0]|0;i[d>>0]=a+-1<<24>>24;CB(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0);r=b;return}function iF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;p=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;c=k[h>>2]|0;a:do if(c>>>0<=(jF(k[g>>2]|0)|0)>>>0){c=Cg(k[k[g>>2]>>2]|0,k[h>>2]|0,p,k[o>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){c=St(k[p>>2]|0)|0;k[k[j>>2]>>2]=c;if((l[k[k[j>>2]>>2]>>0]|0|0)==0?(kF(k[p>>2]|0,k[h>>2]|0,k[g>>2]|0)|0,c=Ut(k[k[j>>2]>>2]|0)|0,k[q>>2]=c,(k[q>>2]|0)!=0):0){AB(k[k[j>>2]>>2]|0);break}do if(k[n>>2]|0){if((m[(k[k[j>>2]>>2]|0)+18>>1]|0|0)>=1?(l[(k[k[j>>2]>>2]|0)+2>>0]|0|0)==(l[(k[n>>2]|0)+69>>0]|0|0):0)break;c=Vj(57580)|0;k[q>>2]=c;AB(k[k[j>>2]>>2]|0);break a}while(0);k[f>>2]=0;q=k[f>>2]|0;r=s;return q|0}}else{c=Vj(57558)|0;k[q>>2]=c}while(0);if(k[n>>2]|0){c=(k[n>>2]|0)+68|0;i[c>>0]=(i[c>>0]|0)+-1<<24>>24}k[f>>2]=k[q>>2];q=k[f>>2]|0;r=s;return q|0}function jF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+44>>2]|0}function kF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=St(k[d>>2]|0)|0;k[g>>2]=b;if((k[e>>2]|0)==(k[(k[g>>2]|0)+84>>2]|0)){b=k[g>>2]|0;r=h;return b|0}b=Dg(k[d>>2]|0)|0;k[(k[g>>2]|0)+56>>2]=b;k[(k[g>>2]|0)+72>>2]=k[d>>2];k[(k[g>>2]|0)+52>>2]=k[f>>2];k[(k[g>>2]|0)+84>>2]=k[e>>2];i[(k[g>>2]|0)+5>>0]=(k[e>>2]|0)==1?100:0;b=k[g>>2]|0;r=h;return b|0}function lF(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,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+240|0;g=s+36|0;h=s+32|0;i=s+28|0;j=s;l=s+24|0;n=s+20|0;q=s+16|0;p=s+12|0;o=s+8|0;k[h>>2]=a;k[i>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[l>>2]=e;k[n>>2]=f;k[o>>2]=0;if(k[i>>2]|0){f=mF(k[(k[h>>2]|0)+72>>2]|0,s+40|0,200,o)|0;k[p>>2]=f;if(!(k[p>>2]|0)){k[g>>2]=7;q=k[g>>2]|0;r=s;return q|0}nF(k[(k[h>>2]|0)+72>>2]|0,k[j>>2]|0,k[i>>2]|0,k[p>>2]|0);if(!(m[(k[p>>2]|0)+8>>1]|0)){ag(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);q=Vj(56338)|0;k[g>>2]=q;q=k[g>>2]|0;r=s;return q|0}}else k[p>>2]=0;f=j;f=oF(k[h>>2]|0,k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[q>>2]=f;if(k[o>>2]|0)ag(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);k[g>>2]=k[q>>2];q=k[g>>2]|0;r=s;return q|0}function mF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;p=o+16|0;h=o+12|0;n=o+8|0;l=o+4|0;i=o;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[h>>2]=d;k[l>>2]=8-(k[g>>2]&7)&7;k[i>>2]=16+(((m[(k[f>>2]|0)+6>>1]|0)+1|0)*40|0);if((k[i>>2]|0)>((k[p>>2]|0)+(k[l>>2]|0)|0)){p=k[i>>2]|0;p=Ih(k[(k[f>>2]|0)+12>>2]|0,p,((p|0)<0)<<31>>31)|0;k[n>>2]=p;k[k[h>>2]>>2]=k[n>>2];if(!(k[n>>2]|0)){k[e>>2]=0;p=k[e>>2]|0;r=o;return p|0}}else{k[n>>2]=(k[g>>2]|0)+(k[l>>2]|0);k[k[h>>2]>>2]=0}k[(k[n>>2]|0)+4>>2]=(k[n>>2]|0)+16;k[k[n>>2]>>2]=k[f>>2];j[(k[n>>2]|0)+8>>1]=(m[(k[f>>2]|0)+6>>1]|0)+1;k[e>>2]=k[n>>2];p=k[e>>2]|0;r=o;return p|0}function nF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;v=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;n=u+12|0;t=u+40|0;q=u+8|0;o=u+4|0;p=u;k[e>>2]=a;k[f>>2]=b;k[v>>2]=c;k[s>>2]=d;k[g>>2]=k[v>>2];k[o>>2]=k[(k[s>>2]|0)+4>>2];i[(k[s>>2]|0)+10>>0]=0;b=k[g>>2]|0;if((l[k[g>>2]>>0]|0|0)<128){k[q>>2]=l[b>>0];b=1}else b=(DF(b,q)|0)&255;k[n>>2]=b&255;k[h>>2]=k[q>>2];j[t>>1]=0;while(1){if((k[n>>2]|0)>>>0>=(k[q>>2]|0)>>>0){b=11;break}if((k[h>>2]|0)>(k[f>>2]|0)){b=11;break}b=(k[g>>2]|0)+(k[n>>2]|0)|0;if((l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0|0)<128){k[p>>2]=l[b>>0];b=1}else b=(DF(b,p)|0)&255;k[n>>2]=(k[n>>2]|0)+(b&255);i[(k[o>>2]|0)+10>>0]=i[(k[e>>2]|0)+4>>0]|0;k[(k[o>>2]|0)+32>>2]=k[(k[e>>2]|0)+12>>2];k[(k[o>>2]|0)+24>>2]=0;v=FF((k[g>>2]|0)+(k[h>>2]|0)|0,k[p>>2]|0,k[o>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+v;k[o>>2]=(k[o>>2]|0)+40;v=(j[t>>1]|0)+1<<16>>16;j[t>>1]=v;if((v&65535|0)>=(m[(k[s>>2]|0)+8>>1]|0|0)){b=11;break}}if((b|0)==11){j[(k[s>>2]|0)+8>>1]=j[t>>1]|0;r=u;return}}function oF(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;g=F+80|0;h=F+76|0;n=F+72|0;o=F+8|0;p=F+68|0;q=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;if(((l[(k[h>>2]|0)+66>>0]|0)==1?(l[(k[h>>2]|0)+64>>0]&2|0)!=0:0)?(l[(k[h>>2]|0)+69>>0]|0)!=0:0){b=(k[h>>2]|0)+16|0;f=o;if((k[b>>2]|0)==(k[f>>2]|0)?(k[b+4>>2]|0)==(k[f+4>>2]|0):0){k[k[q>>2]>>2]=0;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}if((l[(k[h>>2]|0)+64>>0]&8|0)!=0?(b=(k[h>>2]|0)+16|0,e=k[b+4>>2]|0,f=o,a=k[f+4>>2]|0,(e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)):0){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}}if(k[n>>2]|0){f=pF(k[n>>2]|0)|0;k[E>>2]=f;i[(k[n>>2]|0)+11>>0]=0}else k[E>>2]=0;f=qF(k[h>>2]|0)|0;k[C>>2]=f;if(k[C>>2]|0){k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}if(!(l[(k[h>>2]|0)+66>>0]|0)){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}a:do{k[B>>2]=k[(k[h>>2]|0)+120+(i[(k[h>>2]|0)+68>>0]<<2)>>2];k[v>>2]=0;k[D>>2]=(m[(k[B>>2]|0)+18>>1]|0)-1;k[u>>2]=k[D>>2]>>1-(k[p>>2]|0);j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];b:do if(!(k[E>>2]|0)){while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));c:do if(i[(k[B>>2]|0)+3>>0]|0)while(1){f=k[y>>2]|0;k[y>>2]=f+1;if(128>(l[f>>0]|0))break c;if((k[y>>2]|0)>>>0>=(k[(k[B>>2]|0)+60>>2]|0)>>>0){d=20;break a}}while(0);au(k[y>>2]|0,x)|0;b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if((e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)){k[v>>2]=(k[u>>2]|0)+1;if((k[v>>2]|0)>(k[D>>2]|0)){d=23;break}}else{b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if(!((e|0)>(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){d=27;break}k[D>>2]=(k[u>>2]|0)-1;if((k[v>>2]|0)>(k[D>>2]|0)){d=26;break}}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}if((d|0)==23){k[s>>2]=-1;d=51;break}else if((d|0)==26){k[s>>2]=1;d=51;break}else if((d|0)==27){d=0;a=(k[h>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;a=x;b=k[a+4>>2]|0;f=(k[h>>2]|0)+16|0;k[f>>2]=k[a>>2];k[f+4>>2]=b;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[B>>2]|0)+4>>0]|0){d=29;break a}k[v>>2]=k[u>>2];break}}else while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));k[w>>2]=l[k[y>>2]>>0];do if((k[w>>2]|0)<=(l[(k[B>>2]|0)+7>>0]|0)){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+1|0,k[n>>2]|0)|0;k[s>>2]=f}else{if((l[(k[y>>2]|0)+1>>0]&128|0)==0?(f=((k[w>>2]&127)<<7)+(l[(k[y>>2]|0)+1>>0]|0)|0,k[w>>2]=f,(f|0)<=(m[(k[B>>2]|0)+10>>1]|0)):0){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+2|0,k[n>>2]|0)|0;k[s>>2]=f;break}k[z>>2]=(k[y>>2]|0)+(0-(l[(k[B>>2]|0)+6>>0]|0));cc[k[(k[B>>2]|0)+80>>2]&255](k[B>>2]|0,k[z>>2]|0,(k[h>>2]|0)+16|0);k[w>>2]=k[(k[h>>2]|0)+16>>2];if((k[w>>2]|0)<2){d=37;break a}f=(k[w>>2]|0)+18|0;f=ig(f,((f|0)<0)<<31>>31)|0;k[A>>2]=f;if(!(k[A>>2]|0)){d=39;break a}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];f=rF(k[h>>2]|0,0,k[w>>2]|0,k[A>>2]|0,2)|0;k[C>>2]=f;if(k[C>>2]|0){d=41;break a}f=Yb[k[E>>2]&255](k[w>>2]|0,k[A>>2]|0,k[n>>2]|0)|0;k[s>>2]=f;Ud(k[A>>2]|0)}while(0);if((k[s>>2]|0)<0)k[v>>2]=(k[u>>2]|0)+1;else{if((k[s>>2]|0)<=0){d=47;break a}k[D>>2]=(k[u>>2]|0)-1}if((k[v>>2]|0)>(k[D>>2]|0)){d=51;break b}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}while(0);if((d|0)==51?(d=0,(i[(k[B>>2]|0)+4>>0]|0)!=0):0){d=52;break}c=k[B>>2]|0;if((k[v>>2]|0)>=(m[(k[B>>2]|0)+18>>1]|0)){f=jr((k[(k[B>>2]|0)+56>>2]|0)+((l[c+5>>0]|0)+8)|0)|0;k[t>>2]=f}else{f=jr((k[c+56>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)+1>>0]))|0)|0;k[t>>2]=f}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[v>>2];f=fF(k[h>>2]|0,k[t>>2]|0)|0;k[C>>2]=f}while((k[C>>2]|0)==0);if((d|0)==20){E=Vj(60709)|0;k[g>>2]=E;E=k[g>>2]|0;r=F;return E|0}else if((d|0)==29){k[k[q>>2]>>2]=0;k[C>>2]=0}else if((d|0)==37){E=Vj(60782)|0;k[C>>2]=E}else if((d|0)==39)k[C>>2]=7;else if((d|0)==41)Ud(k[A>>2]|0);else if((d|0)==47){k[k[q>>2]>>2]=0;k[C>>2]=0;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[n>>2]|0)+11>>0]|0)k[C>>2]=11}else if((d|0)==52){j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];k[k[q>>2]>>2]=k[s>>2];k[C>>2]=0}j[(k[h>>2]|0)+16+18>>1]=0;E=(k[h>>2]|0)+64|0;i[E>>0]=l[E>>0]&-7;k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}function pF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(((m[(k[k[c>>2]>>2]|0)+6>>1]|0)+(m[(k[k[c>>2]>>2]|0)+8>>1]|0)|0)<=13){k[d>>2]=m[(k[(k[c>>2]|0)+4>>2]|0)+8>>1];a=(k[c>>2]|0)+12|0;if(i[k[(k[k[c>>2]>>2]|0)+16>>2]>>0]|0){i[a>>0]=1;i[(k[c>>2]|0)+13>>0]=-1}else{i[a>>0]=-1;i[(k[c>>2]|0)+13>>0]=1}if(k[d>>2]&4){k[b>>2]=160;d=k[b>>2]|0;r=e;return d|0}if((k[d>>2]&25|0)==0?(k[(k[k[c>>2]>>2]|0)+20>>2]|0)==0:0){k[b>>2]=161;d=k[b>>2]|0;r=e;return d|0}}k[b>>2]=162;d=k[b>>2]|0;r=e;return d|0}function qF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;do if((l[(k[c>>2]|0)+66>>0]|0)>=3){a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0)!=4){zB(a);break}k[b>>2]=k[a+60>>2];f=k[b>>2]|0;r=g;return f|0}while(0);a:do if((i[(k[c>>2]|0)+68>>0]|0)>=0)while(1){if(!(i[(k[c>>2]|0)+68>>0]|0))break a;h=(k[c>>2]|0)+68|0;a=i[h>>0]|0;i[h>>0]=a+-1<<24>>24;CB(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0)}else{a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+52>>2]|0)){i[a+66>>0]=0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}a=iF(k[(k[a>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+52>>2]|0,(k[c>>2]|0)+120|0,0,l[(k[c>>2]|0)+65>>0]|0)|0;k[e>>2]=a;a=k[c>>2]|0;if(!(k[e>>2]|0)){i[a+68>>0]=0;i[(k[c>>2]|0)+69>>0]=i[(k[(k[c>>2]|0)+120>>2]|0)+2>>0]|0;break}i[a+66>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}while(0);k[d>>2]=k[(k[c>>2]|0)+120>>2];if((l[k[d>>2]>>0]|0)!=0?((k[(k[c>>2]|0)+72>>2]|0)==0|0)==(l[(k[d>>2]|0)+2>>0]|0):0){j[(k[c>>2]|0)+80>>1]=0;j[(k[c>>2]|0)+16+18>>1]=0;h=(k[c>>2]|0)+64|0;i[h>>0]=l[h>>0]&-15;do if((m[(k[d>>2]|0)+18>>1]|0)>0)i[(k[c>>2]|0)+66>>0]=1;else{if(i[(k[d>>2]|0)+4>>0]|0){i[(k[c>>2]|0)+66>>0]=0;break}if((k[(k[d>>2]|0)+84>>2]|0)==1){h=jr((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[f>>2]=h;i[(k[c>>2]|0)+66>>0]=1;h=fF(k[c>>2]|0,k[f>>2]|0)|0;k[e>>2]=h;break}h=Vj(60470)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}while(0);k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}h=Vj(60459)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function rF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+80|0;f=C+68|0;g=C+64|0;h=C+60|0;j=C+56|0;n=C+52|0;o=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;p=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;q=C+4|0;z=C;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;k[B>>2]=0;k[u>>2]=0;k[A>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];sF(k[g>>2]|0);k[t>>2]=k[(k[g>>2]|0)+16+8>>2];if(((k[t>>2]|0)+(m[(k[g>>2]|0)+16+16>>1]|0)|0)>>>0>((k[(k[A>>2]|0)+56>>2]|0)+(k[(k[y>>2]|0)+36>>2]|0)|0)>>>0){B=Vj(60043)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}if((k[h>>2]|0)>>>0<(m[(k[g>>2]|0)+16+16>>1]|0)>>>0){k[p>>2]=k[j>>2];if(((k[p>>2]|0)+(k[h>>2]|0)|0)>>>0>(m[(k[g>>2]|0)+16+16>>1]|0)>>>0)k[p>>2]=(m[(k[g>>2]|0)+16+16>>1]|0)-(k[h>>2]|0);A=tF((k[t>>2]|0)+(k[h>>2]|0)|0,k[n>>2]|0,k[p>>2]|0,k[o>>2]&1,k[(k[A>>2]|0)+72>>2]|0)|0;k[B>>2]=A;k[h>>2]=0;k[n>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[p>>2]|0)}else k[h>>2]=(k[h>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0);a:do if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){k[x>>2]=(k[(k[y>>2]|0)+36>>2]|0)-4;A=jr((k[t>>2]|0)+(m[(k[g>>2]|0)+16+16>>1]|0)|0)|0;k[w>>2]=A;if((k[o>>2]|0)!=2?(l[(k[g>>2]|0)+64>>0]&4|0)==0:0){k[v>>2]=(((k[(k[g>>2]|0)+16+12>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)+(k[x>>2]|0)-1|0)>>>0)/((k[x>>2]|0)>>>0)|0;do if((k[v>>2]|0)>(k[(k[g>>2]|0)+56>>2]|0)){A=lg(k[(k[g>>2]|0)+12>>2]|0,k[v>>2]<<1<<2,0)|0;k[s>>2]=A;if(!(k[s>>2]|0)){k[B>>2]=7;break}else{k[(k[g>>2]|0)+56>>2]=k[v>>2]<<1;k[(k[g>>2]|0)+12>>2]=k[s>>2];break}}while(0);if(!(k[B>>2]|0)){uR(k[(k[g>>2]|0)+12>>2]|0,0,k[v>>2]<<2|0)|0;A=(k[g>>2]|0)+64|0;i[A>>0]=l[A>>0]|4}}if((l[(k[g>>2]|0)+64>>0]&4|0)!=0?(k[(k[(k[g>>2]|0)+12>>2]|0)+((((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){k[u>>2]=((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0;k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2];k[h>>2]=((k[h>>2]|0)>>>0)%((k[x>>2]|0)>>>0)|0}while(1){if(!((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0&(k[w>>2]|0)!=0))break a;if(l[(k[g>>2]|0)+64>>0]&4)k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2]=k[w>>2];if((k[h>>2]|0)>>>0>=(k[x>>2]|0)>>>0){if(k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2]|0)k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2];else{A=uF(k[y>>2]|0,k[w>>2]|0,0,w)|0;k[B>>2]=A}k[h>>2]=(k[h>>2]|0)-(k[x>>2]|0)}else{k[q>>2]=k[j>>2];if(((k[q>>2]|0)+(k[h>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0)k[q>>2]=(k[x>>2]|0)-(k[h>>2]|0);A=Cg(k[k[y>>2]>>2]|0,k[w>>2]|0,z,(k[o>>2]&1|0)==0?2:0)|0;k[B>>2]=A;if(!(k[B>>2]|0)){A=Dg(k[z>>2]|0)|0;k[t>>2]=A;A=jr(k[t>>2]|0)|0;k[w>>2]=A;A=tF((k[t>>2]|0)+((k[h>>2]|0)+4)|0,k[n>>2]|0,k[q>>2]|0,k[o>>2]&1,k[z>>2]|0)|0;k[B>>2]=A;Fg(k[z>>2]|0);k[h>>2]=0}k[j>>2]=(k[j>>2]|0)-(k[q>>2]|0);k[n>>2]=(k[n>>2]|0)+(k[q>>2]|0)}k[u>>2]=(k[u>>2]|0)+1}}while(0);if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){B=Vj(60200)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}else{k[f>>2]=k[B>>2];B=k[f>>2]|0;r=C;return B|0}return 0}function sF(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(m[(k[b>>2]|0)+16+18>>1]|0){r=d;return}k[c>>2]=i[(k[b>>2]|0)+68>>0];a=(k[b>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;yF(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0,m[(k[b>>2]|0)+80+(k[c>>2]<<1)>>1]|0,(k[b>>2]|0)+16|0);r=d;return}function tF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[n>>2]=d;k[j>>2]=e;do if(k[n>>2]|0){n=Ng(k[j>>2]|0)|0;k[l>>2]=n;if(!(k[l>>2]|0)){sR(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;break}k[f>>2]=k[l>>2];n=k[f>>2]|0;r=m;return n|0}else sR(k[h>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;while(0);k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}function uF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;j=s;h=s+36|0;k[e>>2]=a;k[f>>2]=b;k[p>>2]=c;k[g>>2]=d;k[m>>2]=0;k[n>>2]=0;k[q>>2]=0;if(i[(k[e>>2]|0)+17>>0]|0){k[j>>2]=(k[f>>2]|0)+1;while(1){c=vF(k[e>>2]|0,k[j>>2]|0)|0;if((c|0)==(k[j>>2]|0))a=1;else a=(k[j>>2]|0)==((((k[381]|0)>>>0)/((k[(k[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}if(((b>>>0<=(jF(k[e>>2]|0)|0)>>>0?(c=wF(k[e>>2]|0,k[j>>2]|0,h,o)|0,k[q>>2]=c,(k[q>>2]|0)==0):0)?(l[h>>0]|0)==4:0)?(k[o>>2]|0)==(k[f>>2]|0):0){k[m>>2]=k[j>>2];k[q>>2]=101}}if((k[q>>2]|0)==0?(o=xF(k[e>>2]|0,k[f>>2]|0,n,(k[p>>2]|0)==0?2:0)|0,k[q>>2]=o,(k[q>>2]|0)==0):0){o=jr(k[(k[n>>2]|0)+56>>2]|0)|0;k[m>>2]=o}k[k[g>>2]>>2]=k[m>>2];b=k[n>>2]|0;if(k[p>>2]|0){k[k[p>>2]>>2]=b;p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}else{AB(b);p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}return 0}function vF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>>>0<2){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[g>>2]=(((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0)+1;k[f>>2]=(((k[e>>2]|0)-2|0)>>>0)/((k[g>>2]|0)>>>0)|0;b=(ha(k[f>>2]|0,k[g>>2]|0)|0)+2|0;k[h>>2]=b;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+1;k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}function wF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+36|0;s=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;n=q+16|0;j=q+12|0;o=q+8|0;m=q+4|0;p=q;k[s>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=vF(k[s>>2]|0,k[f>>2]|0)|0;k[j>>2]=d;d=Cg(k[k[s>>2]>>2]|0,k[j>>2]|0,n,0)|0;k[p>>2]=d;if(k[p>>2]|0){k[e>>2]=k[p>>2];s=k[e>>2]|0;r=q;return s|0}s=Dg(k[n>>2]|0)|0;k[o>>2]=s;k[m>>2]=((k[f>>2]|0)-(k[j>>2]|0)-1|0)*5;if((k[m>>2]|0)<0){Fg(k[n>>2]|0);s=Vj(56557)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}i[k[g>>2]>>0]=i[(k[o>>2]|0)+(k[m>>2]|0)>>0]|0;if(k[h>>2]|0){s=jr((k[o>>2]|0)+((k[m>>2]|0)+1)|0)|0;k[k[h>>2]>>2]=s}Fg(k[n>>2]|0);if((l[k[g>>2]>>0]|0|0)>=1?(l[k[g>>2]>>0]|0|0)<=5:0){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}s=Vj(56565)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}function xF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;m=l+8|0;j=l+4|0;i=l;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;c=Cg(k[k[f>>2]>>2]|0,k[g>>2]|0,i,k[m>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){k[e>>2]=k[j>>2];m=k[e>>2]|0;r=l;return m|0}else{m=kF(k[i>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[k[h>>2]>>2]=m;k[e>>2]=0;m=k[e>>2]|0;r=l;return m|0}return 0}function yF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;cc[k[(k[g>>2]|0)+80>>2]&255](k[g>>2]|0,(k[(k[g>>2]|0)+56>>2]|0)+((m[(k[g>>2]|0)+20>>1]|0)&((l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)>>0]|0)<<8|(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)+1>>0]|0)))|0,k[e>>2]|0);r=d;return}function zF(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,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;j=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;d=s+36|0;t=s+32|0;q=s+28|0;h=s+24|0;g=s+16|0;f=s+8|0;e=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[d>>2]=(k[o>>2]|0)+(l[k[o>>2]>>0]&63);k[t>>2]=l[(k[o>>2]|0)+1>>0];a=k[(k[p>>2]|0)+4>>2]|0;b=k[a+4>>2]|0;c=f;k[c>>2]=k[a>>2];k[c+4>>2]=b;do switch(k[t>>2]|0){case 1:{h=i[k[d>>2]>>0]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 2:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 3:{h=i[k[d>>2]>>0]<<16|l[(k[d>>2]|0)+1>>0]<<8|l[(k[d>>2]|0)+2>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 4:{k[h>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];h=k[h>>2]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 5:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];h=qR(l[(k[d>>2]|0)+2>>0]<<24|l[(k[d>>2]|0)+2+1>>0]<<16|l[(k[d>>2]|0)+2+2>>0]<<8|l[(k[d>>2]|0)+2+3>>0]|0,0,BR(0,1,h|0,((h|0)<0)<<31>>31|0)|0,L|0)|0;t=e;k[t>>2]=h;k[t+4>>2]=L;break}case 6:{t=g;k[t>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];k[t+4>>2]=0;t=k[g>>2]|0;h=g;k[h>>2]=l[(k[d>>2]|0)+4>>0]<<24|l[(k[d>>2]|0)+4+1>>0]<<16|l[(k[d>>2]|0)+4+2>>0]<<8|l[(k[d>>2]|0)+4+3>>0];k[h+4>>2]=t;h=k[g+4>>2]|0;t=e;k[t>>2]=k[g>>2];k[t+4>>2]=h;break}case 8:{t=e;k[t>>2]=0;k[t+4>>2]=0;break}case 9:{t=e;k[t>>2]=1;k[t+4>>2]=0;break}case 7:case 0:{t=BF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}default:{t=BF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}}while(0);h=f;c=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;do if(!((c|0)>(g|0)|((c|0)==(g|0)?(k[h>>2]|0)>>>0>(k[t>>2]|0)>>>0:0))){h=f;f=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;d=k[p>>2]|0;if((f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)){k[q>>2]=i[d+13>>0];break}if((m[d+8>>1]|0)>1){t=CF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1)|0;k[q>>2]=t;break}else{k[q>>2]=i[(k[p>>2]|0)+10>>0];i[(k[p>>2]|0)+14>>0]=1;break}}else k[q>>2]=i[(k[p>>2]|0)+12>>0];while(0);k[j>>2]=k[q>>2];t=k[j>>2]|0;r=s;return t|0}function AF(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,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;d=s+16|0;q=s+12|0;j=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[f>>2];a=(k[h>>2]|0)+1|0;if((l[(k[h>>2]|0)+1>>0]|0)<128)k[d>>2]=l[a>>0];else DF(a,d)|0;do if((k[d>>2]|0)>=12){if(!(k[d>>2]&1)){k[q>>2]=i[(k[g>>2]|0)+13>>0];break}k[o>>2]=l[k[h>>2]>>0];k[n>>2]=((k[d>>2]|0)-12|0)/2|0;if(((k[o>>2]|0)+(k[n>>2]|0)|0)>(k[e>>2]|0)){q=(Vj(71970)|0)&255;i[(k[g>>2]|0)+11>>0]=q;k[p>>2]=0;q=k[p>>2]|0;r=s;return q|0}if((k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0)<(k[n>>2]|0))a=k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0;else a=k[n>>2]|0;k[j>>2]=a;o=FQ((k[h>>2]|0)+(k[o>>2]|0)|0,k[(k[(k[g>>2]|0)+4>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0){a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}k[q>>2]=(k[n>>2]|0)-(k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0);if(!(k[q>>2]|0))if((m[(k[g>>2]|0)+8>>1]|0)>1){o=CF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1)|0;k[q>>2]=o;break}else{k[q>>2]=i[(k[g>>2]|0)+10>>0];i[(k[g>>2]|0)+14>>0]=1;break}else{a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}}else k[q>>2]=i[(k[g>>2]|0)+12>>0];while(0);k[p>>2]=k[q>>2];q=k[p>>2]|0;r=s;return q|0}function BF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=CF(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return c|0}function CF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+128|0;A=E+124|0;f=E+120|0;G=E+116|0;B=E+112|0;F=E+108|0;h=E+104|0;n=E+100|0;z=E+96|0;o=E+92|0;D=E+88|0;w=E+84|0;C=E+80|0;g=E+76|0;s=E+16|0;e=E+72|0;y=E+68|0;q=E+8|0;x=E;t=E+64|0;v=E+60|0;u=E+56|0;k[f>>2]=a;k[G>>2]=b;k[B>>2]=c;k[F>>2]=d;k[D>>2]=0;k[w>>2]=k[(k[B>>2]|0)+4>>2];k[C>>2]=k[k[B>>2]>>2];k[g>>2]=k[G>>2];a=k[g>>2]|0;do if(k[F>>2]|0){d=(k[g>>2]|0)+1|0;if((l[a+1>>0]|0)<128){k[e>>2]=l[d>>0];d=1}else d=(DF(d,e)|0)&255;k[o>>2]=1+(d&255);k[z>>2]=l[k[g>>2]>>0];G=k[z>>2]|0;G=G+(EF(k[e>>2]|0)|0)|0;k[h>>2]=G;k[n>>2]=1;k[w>>2]=(k[w>>2]|0)+40}else{d=k[g>>2]|0;if((l[a>>0]|0)<128){k[z>>2]=l[d>>0];d=1}else d=(DF(d,z)|0)&255;k[o>>2]=d&255;k[h>>2]=k[z>>2];if((k[h>>2]|0)>>>0<=(k[f>>2]|0)>>>0){k[n>>2]=0;break}G=(Vj(71688)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}while(0);a:while(1){do if(m[(k[w>>2]|0)+8>>1]&4){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}if((k[y>>2]|0)==7){FF((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;G=k[w>>2]|0;G=0-(GF(k[G>>2]|0,k[G+4>>2]|0,+p[s>>3])|0)|0;k[D>>2]=G;break}c=HF(k[y>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0)|0;G=q;k[G>>2]=c;k[G+4>>2]=L;G=k[w>>2]|0;c=k[G+4>>2]|0;F=x;k[F>>2]=k[G>>2];k[F+4>>2]=c;F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)<(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)){k[D>>2]=-1;break}F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)>(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0))k[D>>2]=1}else{if(m[(k[w>>2]|0)+8>>1]&8){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}FF((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;if((k[y>>2]|0)!=7){G=s;G=GF(k[G>>2]|0,k[G+4>>2]|0,+p[k[w>>2]>>3])|0;k[D>>2]=G;break}if(+p[s>>3]<+p[k[w>>2]>>3]){k[D>>2]=-1;break}if(!(+p[s>>3]>+p[k[w>>2]>>3]))break;k[D>>2]=1;break}if(!(m[(k[w>>2]|0)+8>>1]&2)){d=l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0;if(!(m[(k[w>>2]|0)+8>>1]&16)){k[y>>2]=d;k[D>>2]=(k[y>>2]|0)!=0&1;break}a=(k[g>>2]|0)+(k[o>>2]|0)|0;if((d|0)<128)k[y>>2]=l[a>>0];else DF(a,y)|0;if((k[y>>2]|0)>>>0>=12?(k[y>>2]&1|0)==0:0){k[v>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[v>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=59;break a}if((k[v>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[v>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[u>>2]=d;G=FQ((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[u>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[v>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}k[D>>2]=-1;break}d=(k[g>>2]|0)+(k[o>>2]|0)|0;if((l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0)<128)k[y>>2]=l[d>>0];else DF(d,y)|0;if((k[y>>2]|0)>>>0<12){k[D>>2]=-1;break}if(!(k[y>>2]&1)){k[D>>2]=1;break}k[s+12>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[s+12>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=43;break a}if(k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0){i[s+10>>0]=i[(k[C>>2]|0)+4>>0]|0;k[s+32>>2]=k[(k[C>>2]|0)+12>>2];j[s+8>>1]=2;k[s+16>>2]=(k[g>>2]|0)+(k[h>>2]|0);G=IF(s,k[w>>2]|0,k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0,(k[B>>2]|0)+11|0)|0;k[D>>2]=G;break}if((k[s+12>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[s+12>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[t>>2]=d;G=FQ((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[t>>2]|0)|0;k[D>>2]=G;if(!(k[D>>2]|0))k[D>>2]=(k[s+12>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0)}while(0);a=k[n>>2]|0;if(k[D>>2]|0){d=67;break}k[n>>2]=a+1;k[w>>2]=(k[w>>2]|0)+40;G=EF(k[y>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+G;G=JF(k[y>>2]|0,0)|0;k[o>>2]=(k[o>>2]|0)+G;if((k[o>>2]|0)>>>0>=(k[z>>2]|0)>>>0){d=73;break}if((k[n>>2]|0)>=(m[(k[B>>2]|0)+8>>1]|0)){d=73;break}if((k[h>>2]|0)>>>0>(k[f>>2]|0)>>>0){d=73;break}}if((d|0)==43){G=(Vj(71763)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==59){G=(Vj(71792)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==67){if(i[(k[(k[C>>2]|0)+16>>2]|0)+a>>0]|0)k[D>>2]=0-(k[D>>2]|0);k[A>>2]=k[D>>2];G=k[A>>2]|0;r=E;return G|0}else if((d|0)==73){i[(k[B>>2]|0)+14>>0]=1;k[A>>2]=i[(k[B>>2]|0)+10>>0];G=k[A>>2]|0;r=E;return G|0}return 0}function DF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+25|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;j=m;h=m+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=2;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=3;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+-2;b=au(k[d>>2]|0,j)|0;i[h>>0]=b;b=j;if(0!=(k[b+4>>2]|0)?1:(k[j>>2]|0)!=(k[b>>2]|0))k[k[e>>2]>>2]=-1;else k[k[e>>2]>>2]=k[j>>2];i[c>>0]=i[h>>0]|0;j=i[c>>0]|0;r=m;return j|0}function EF(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;a=k[d>>2]|0;if((k[d>>2]|0)>>>0>=128){k[b>>2]=((a-12|0)>>>0)/2|0;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=l[35916+a>>0];d=k[b>>2]|0;r=c;return d|0}return 0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;switch(k[f>>2]|0){case 0:case 11:case 10:{j[(k[g>>2]|0)+8>>1]=1;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}case 1:{c=i[k[e>>2]>>0]|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}case 2:{c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=2;b=k[d>>2]|0;r=h;return b|0}case 3:{c=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=3;b=k[d>>2]|0;r=h;return b|0}case 4:{c=i[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=4;b=k[d>>2]|0;r=h;return b|0}case 5:{b=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];c=qR(b|0,0,BR(0,1,c|0,((c|0)<0)<<31>>31|0)|0,L|0)|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=L;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=6;b=k[d>>2]|0;r=h;return b|0}case 7:case 6:{b=QF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=h;return b|0}case 9:case 8:{b=k[g>>2]|0;k[b>>2]=(k[f>>2]|0)-8;k[b+4>>2]=0;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}default:{k[(k[g>>2]|0)+16>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(((k[f>>2]|0)-12|0)>>>0)/2|0;j[(k[g>>2]|0)+8>>1]=j[15534+((k[f>>2]&1)<<1)>>1]|0;k[d>>2]=k[(k[g>>2]|0)+12>>2];b=k[d>>2]|0;r=h;return b|0}}return 0}function GF(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;d=i+32|0;e=i+24|0;f=i+16|0;h=i+8|0;g=i;j=e;k[j>>2]=a;k[j+4>>2]=b;p[f>>3]=c;if(+p[f>>3]<-9223372036854775808.0){k[d>>2]=1;j=k[d>>2]|0;r=i;return j|0}if(+p[f>>3]>9223372036854775808.0){k[d>>2]=-1;j=k[d>>2]|0;r=i;return j|0}c=+p[f>>3];l=+W(c)>=1.0?(c>0.0?~~+ia(+V(c/4294967296.0),4294967295.0)>>>0:~~+ga((c-+(~~c>>>0))/4294967296.0)>>>0):0;b=h;k[b>>2]=~~c>>>0;k[b+4>>2]=l;b=e;l=k[b+4>>2]|0;j=h;a=k[j+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?(k[b>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}j=e;a=k[j+4>>2]|0;l=h;b=k[l+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(k[j>>2]|0)>>>0>(k[l>>2]|0)>>>0:0)){l=h;if(((k[l>>2]|0)==0?(k[l+4>>2]|0)==-2147483648:0)&+p[f>>3]>0.0){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}}l=e;p[g>>3]=+((k[l>>2]|0)>>>0)+4294967296.0*+(k[l+4>>2]|0);if(+p[g>>3]<+p[f>>3]){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}if(+p[g>>3]>+p[f>>3]){k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=0;l=k[d>>2]|0;r=i;return l|0}return 0}function HF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+8|0;d=h+24|0;e=h+20|0;g=h+16|0;f=h;k[d>>2]=a;k[e>>2]=b;switch(k[d>>2]|0){case 1:case 0:{f=i[k[e>>2]>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 2:{f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 3:{f=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 4:{k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[g>>2]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 5:{g=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=qR(g|0,0,BR(0,1,f|0,((f|0)<0)<<31>>31|0)|0,L|0)|0;g=c;k[g>>2]=f;k[g+4>>2]=L;break}case 6:{g=f;k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];k[g+4>>2]=0;g=k[f>>2]|0;a=f;k[a>>2]=l[(k[e>>2]|0)+4>>0]<<24|l[(k[e>>2]|0)+4+1>>0]<<16|l[(k[e>>2]|0)+4+2>>0]<<8|l[(k[e>>2]|0)+4+3>>0];k[a+4>>2]=g;a=f;f=k[a+4>>2]|0;g=c;k[g>>2]=k[a>>2];k[g+4>>2]=f;break}default:{g=c;k[g>>2]=(k[d>>2]|0)-8;k[g+4>>2]=0}}g=c;L=k[g+4>>2]|0;r=h;return k[g>>2]|0}function IF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+128|0;e=u+116|0;f=u+112|0;g=u+108|0;h=u+104|0;j=u+100|0;q=u+96|0;s=u+92|0;t=u+88|0;o=u+84|0;p=u+80|0;m=u+40|0;n=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((l[(k[f>>2]|0)+10>>0]|0|0)==(l[(k[h>>2]|0)+4>>0]|0|0)){t=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[e>>2]=t;t=k[e>>2]|0;r=u;return t|0}KF(m,k[(k[f>>2]|0)+32>>2]|0,1);KF(n,k[(k[f>>2]|0)+32>>2]|0,1);LF(m,k[f>>2]|0,4096);LF(n,k[g>>2]|0,4096);d=eh(m,i[(k[h>>2]|0)+4>>0]|0)|0;k[s>>2]=d;k[o>>2]=(k[s>>2]|0)==0?0:k[m+12>>2]|0;d=eh(n,i[(k[h>>2]|0)+4>>0]|0)|0;k[t>>2]=d;k[p>>2]=(k[t>>2]|0)==0?0:k[n+12>>2]|0;d=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[o>>2]|0,k[s>>2]|0,k[p>>2]|0,k[t>>2]|0)|0;k[q>>2]=d;if(((k[s>>2]|0)==0|(k[t>>2]|0)==0)&(k[j>>2]|0)!=0)i[k[j>>2]>>0]=7;ch(m);ch(n);k[e>>2]=k[q>>2];t=k[e>>2]|0;r=u;return t|0}function JF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=1;while(1){b=c;b=rR(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=L;a=c;k[a>>2]=b;k[a+4>>2]=f;a=k[d>>2]|0;if(!((b|0)!=0|(f|0)!=0))break;k[d>>2]=a+1}r=e;return a|0}function KF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+4|0;f=d;g=d+8|0;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;j[(k[e>>2]|0)+8>>1]=j[g>>1]|0;k[(k[e>>2]|0)+32>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=0;r=d;return}function LF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){MF(b,k[e>>2]|0,k[f>>2]|0);r=g;return}c=k[e>>2]|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];k[b+16>>2]=k[c+16>>2];if((m[(k[e>>2]|0)+8>>1]|0)&2048){r=g;return}e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-7169;e=(k[d>>2]|0)+8|0;j[e>>1]=m[e>>1]|0|k[f>>2];r=g;return}function MF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;NF(k[g>>2]|0);LF(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function NF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&8192)OF(k[c>>2]|0,k[k[c>>2]>>2]|0)|0;a=k[c>>2]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&1024)){b=k[c>>2]|0;if((m[a+8>>1]|0)&32){PF(k[b>>2]|0);break}if((m[b+8>>1]|0)&64){k[d>>2]=k[k[c>>2]>>2];k[(k[d>>2]|0)+4>>2]=k[(k[k[d>>2]>>2]|0)+180>>2];k[(k[k[d>>2]>>2]|0)+180>>2]=k[d>>2]}}else _b[k[a+36>>2]&255](k[(k[c>>2]|0)+16>>2]|0);while(0);j[(k[c>>2]|0)+8>>1]=1;r=e;return}function OF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+96|0;d=h+80|0;e=h+76|0;g=h+72|0;f=h+40|0;c=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if(!(k[e>>2]|0)){g=k[g>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+16>>2]|0)){g=k[g>>2]|0;r=h;return g|0};k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;b=c;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));j[c+8>>1]=1;k[c+32>>2]=k[(k[d>>2]|0)+32>>2];k[f>>2]=c;k[f+8>>2]=k[d>>2];k[f+4>>2]=k[e>>2];_b[k[(k[e>>2]|0)+16>>2]&255](f);if((k[(k[d>>2]|0)+24>>2]|0)>0)ag(k[(k[d>>2]|0)+32>>2]|0,k[(k[d>>2]|0)+20>>2]|0);b=k[d>>2]|0;a=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(a|0));k[g>>2]=k[f+20>>2];g=k[g>>2]|0;r=h;return g|0}function PF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];ag(k[(k[b>>2]|0)+4>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}k[k[b>>2]>>2]=0;j[(k[b>>2]|0)+24>>1]=0;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+12>>2]=0;k[(k[b>>2]|0)+20>>2]=0;j[(k[b>>2]|0)+26>>1]=1;r=e;return}function QF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;i=f+20|0;g=f+16|0;d=f+12|0;e=f;h=f+8|0;k[i>>2]=a;k[g>>2]=b;k[d>>2]=c;c=e;k[c>>2]=(l[k[i>>2]>>0]|0)<<24|(l[(k[i>>2]|0)+1>>0]|0)<<16|(l[(k[i>>2]|0)+2>>0]|0)<<8|(l[(k[i>>2]|0)+3>>0]|0);k[c+4>>2]=0;k[h>>2]=(l[(k[i>>2]|0)+4>>0]|0)<<24|(l[(k[i>>2]|0)+4+1>>0]|0)<<16|(l[(k[i>>2]|0)+4+2>>0]|0)<<8|(l[(k[i>>2]|0)+4+3>>0]|0);c=qR(0,k[e>>2]|0,k[h>>2]|0,0)|0;b=e;k[b>>2]=c;k[b+4>>2]=L;if((k[g>>2]|0)==6){g=e;h=k[g+4>>2]|0;i=k[d>>2]|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;j[(k[d>>2]|0)+8>>1]=4;r=f;return 8}else{i=k[d>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=k[e+4>>2];i=(RF(+p[k[d>>2]>>3])|0)!=0;j[(k[d>>2]|0)+8>>1]=i?1:8;r=f;return 8}return 0}function RF(a){a=+a;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;f=c+16|0;b=c+24|0;e=c+8|0;d=c;p[f>>3]=a;p[e>>3]=+p[f>>3];p[d>>3]=+p[e>>3];k[b>>2]=+p[e>>3]!=+p[d>>3]&1;r=c;return k[b>>2]|0}function SF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+20|0;d=o+16|0;e=o+12|0;h=o+8|0;f=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0)!=1){if((l[(k[d>>2]|0)+66>>0]|0)>=3)a=eF(k[d>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}if(!(l[(k[d>>2]|0)+66>>0]|0)){k[k[e>>2]>>2]=1;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if((k[(k[d>>2]|0)+60>>2]|0)!=0?(i[(k[d>>2]|0)+66>>0]=1,b=(k[(k[d>>2]|0)+60>>2]|0)>0,k[(k[d>>2]|0)+60>>2]=0,b):0){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;a=(j[b>>1]|0)+1<<16>>16;j[b>>1]=a;k[f>>2]=a&65535;a=(i[(k[g>>2]|0)+4>>0]|0)!=0;if((k[f>>2]|0)<(m[(k[g>>2]|0)+18>>1]|0))if(a){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}else{n=TF(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}if(!a){n=k[d>>2]|0;n=fF(n,jr((k[(k[g>>2]|0)+56>>2]|0)+((l[(k[g>>2]|0)+5>>0]|0)+8)|0)|0)|0;k[h>>2]=n;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}else{n=TF(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}}do{if(!(i[(k[d>>2]|0)+68>>0]|0)){n=17;break}hF(k[d>>2]|0);k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]}while((m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[g>>2]|0)+18>>1]|0));if((n|0)==17){k[k[e>>2]>>2]=1;i[(k[d>>2]|0)+66>>0]=0;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if(i[(k[g>>2]|0)+2>>0]|0){n=bF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}else{k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}return 0}function TF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;while(1){if(k[e>>2]|0){b=5;break}a=k[(k[b>>2]|0)+120+(i[(k[b>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;if(!((i[a+4>>0]|0)!=0^1)){b=5;break}a=jr((k[(k[c>>2]|0)+56>>2]|0)+(m[(k[c>>2]|0)+20>>1]&(l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;k[d>>2]=a;a=fF(k[b>>2]|0,k[d>>2]|0)|0;k[e>>2]=a}if((b|0)==5){r=f;return k[e>>2]|0}return 0}function UF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=k[k[h>>2]>>2];b=Xv(k[d>>2]|0,0,0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){h=k[f>>2]|0;r=g;return h|0}h=xh(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+8>>2]=h;h=Nh(k[d>>2]|0,k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[e>>2]=h;if(!((k[e>>2]|0)==0|(k[e>>2]|0)>=2)){h=k[f>>2]|0;r=g;return h|0}h=xh(k[d>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+4>>2]=h;h=k[f>>2]|0;r=g;return h|0}function VF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=k[(k[d>>2]|0)+28>>2];hv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);dv(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);ev(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);hv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);ag(k[c>>2]|0,k[d>>2]|0);r=f;return}function WF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((gz(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)+4>>2]|0)|0)>=0){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function XF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0)!=152){r=e;return 0}if((j[(k[d>>2]|0)+32>>1]|0)<0){a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|2;r=e;return 0}if((k[(k[(k[c>>2]|0)+24>>2]|0)+(j[(k[d>>2]|0)+32>>1]<<2)>>2]|0)<0){r=e;return 0}a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|1;r=e;return 0}function YF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;if((m[(k[e>>2]|0)+50>>1]|0)!=(m[(k[f>>2]|0)+50>>1]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}if((l[(k[e>>2]|0)+54>>0]|0)!=(l[(k[f>>2]|0)+54>>0]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0)){c=17;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)!=(j[(k[(k[e>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)){c=8;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)==-2?(zy(k[(k[(k[(k[f>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,k[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){c=11;break}if((l[(k[(k[f>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)!=(l[(k[(k[e>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)){c=13;break}if(be(k[(k[(k[f>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[(k[e>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0)|0){c=15;break}k[c>>2]=(k[c>>2]|0)+1}if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==11){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==13){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==17)if(zy(k[(k[f>>2]|0)+36>>2]|0,k[(k[e>>2]|0)+36>>2]|0,-1)|0){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else{k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}return 0}function ZF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[g>>2]|0)+4>>2]=k[e>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+496>>2];k[(k[e>>2]|0)+496>>2]=k[f>>2];r=d;return}function _F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;e=o+48|0;f=o+44|0;g=o+40|0;h=o+36|0;j=o+16|0;n=o+12|0;m=o+8|0;i=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];c=Nh(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[l>>2]=c;c=xy(k[i>>2]|0,k[g>>2]|0,0)|0;k[g>>2]=c;c=Xv(k[i>>2]|0,0,0,0)|0;k[m>>2]=c;if(k[m>>2]|0){c=xh(k[i>>2]|0,k[k[f>>2]>>2]|0)|0;k[(k[m>>2]|0)+8+8>>2]=c;c=xh(k[i>>2]|0,k[(k[(k[i>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[(k[m>>2]|0)+8+4>>2]=c}c=Pv(k[e>>2]|0,0,k[m>>2]|0,k[g>>2]|0,0,0,0,-32768,0,0)|0;k[n>>2]=c;hB(j,12,k[h>>2]|0);Mv(k[e>>2]|0,k[n>>2]|0,j)|0;ev(k[i>>2]|0,k[n>>2]|0);r=o;return}function $F(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=r;r=r+96|0;q=F+88|0;H=F+84|0;s=F+80|0;l=F+76|0;m=F+72|0;n=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;p=F+16|0;o=F+8|0;v=F+4|0;u=F;k[q>>2]=a;k[H>>2]=b;k[s>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[G>>2]=g;k[t>>2]=h;k[E>>2]=k[(k[q>>2]|0)+8>>2];k[I>>2]=k[k[q>>2]>>2];c=Kx(k[I>>2]|0,k[s>>2]|0)|0;k[z>>2]=c;k[y>>2]=2+(j[(k[s>>2]|0)+34>>1]|0);k[p>>2]=k[(k[H>>2]|0)+8+44>>2];c=(k[q>>2]|0)+72|0;g=k[c>>2]|0;k[c>>2]=g+1;k[w>>2]=g;g=$w(k[E>>2]|0,57,k[w>>2]|0,k[y>>2]|0)|0;k[u>>2]=g;k[B>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;g=(k[q>>2]|0)+76|0;k[g>>2]=(k[g>>2]|0)+(k[y>>2]|0);g=(k[q>>2]|0)+76|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;k[C>>2]=c;c=(k[q>>2]|0)+76|0;g=(k[c>>2]|0)+1|0;k[c>>2]=g;k[D>>2]=g;g=$C(k[q>>2]|0,k[H>>2]|0,k[G>>2]|0,0,0,4,0)|0;k[A>>2]=g;if(!(k[A>>2]|0)){r=F;return}$w(k[E>>2]|0,103,k[p>>2]|0,k[B>>2]|0)|0;if(k[m>>2]|0)HA(k[q>>2]|0,k[m>>2]|0,(k[B>>2]|0)+1|0);else $w(k[E>>2]|0,103,k[p>>2]|0,(k[B>>2]|0)+1|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(j[(k[s>>2]|0)+34>>1]|0))break;if((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)>=0)HA(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0);else dx(k[E>>2]|0,153,k[p>>2]|0,k[x>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}l=aG(k[A>>2]|0,o)|0;k[v>>2]=l;l=k[E>>2]|0;if(k[v>>2]|0){zA(l,k[u>>2]|0)|0;if(!(k[(k[q>>2]|0)+416>>2]|0))i[(k[q>>2]|0)+20>>0]=0}else{dx(l,49,k[B>>2]|0,k[y>>2]|0,k[C>>2]|0)|0;$w(k[E>>2]|0,74,k[w>>2]|0,k[D>>2]|0)|0;dx(k[E>>2]|0,75,k[w>>2]|0,k[C>>2]|0,k[D>>2]|0)|0}a:do if(!(k[v>>2]|0)){aD(k[A>>2]|0);I=Hz(k[E>>2]|0,108,k[w>>2]|0)|0;k[u>>2]=I;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break a;dx(k[E>>2]|0,47,k[w>>2]|0,k[x>>2]|0,(k[B>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);OC(k[q>>2]|0,k[s>>2]|0);cx(k[E>>2]|0,12,0,k[y>>2]|0,k[B>>2]|0,k[z>>2]|0,-10)|0;Ph(k[E>>2]|0,((k[t>>2]|0)==10?2:k[t>>2]|0)&255);Lx(k[q>>2]|0);if(!(k[v>>2]|0)){$w(k[E>>2]|0,7,k[w>>2]|0,(k[u>>2]|0)+1|0)|0;Pz(k[E>>2]|0,k[u>>2]|0);$w(k[E>>2]|0,61,k[w>>2]|0,0)|0;r=F;return}else{aD(k[A>>2]|0);r=F;return}}function aG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=k[e>>2]|0;b=(k[c>>2]|0)+60|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];r=d;return l[(k[c>>2]|0)+38>>0]|0|0}function bG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+4>>2]|0)){r=c;return}k[(k[(k[b>>2]|0)+4>>2]|0)+496>>2]=k[k[b>>2]>>2];k[(k[b>>2]|0)+4>>2]=0;r=c;return}function cG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;i=o+32|0;e=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;f=o+4|0;g=o;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;do if(((k[k[j>>2]>>2]|0)+(k[l>>2]|0)|0)>>>0>(k[(k[j>>2]|0)+4>>2]|0)>>>0){k[f>>2]=(k[k[j>>2]>>2]|0)+(k[l>>2]|0);b=Ow(k[e>>2]|0,k[j>>2]|0,80+(((k[f>>2]|0)-1|0)*72|0)|0,0)|0;k[h>>2]=b;if(k[h>>2]|0){k[j>>2]=k[h>>2];b=((((ju(k[e>>2]|0,k[h>>2]|0)|0)-80|0)>>>0)/72|0)+1|0;k[g>>2]=b;k[(k[j>>2]|0)+4>>2]=k[g>>2];break}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}while(0);k[n>>2]=(k[k[j>>2]>>2]|0)-1;while(1){if((k[n>>2]|0)<(k[m>>2]|0))break;e=(k[j>>2]|0)+8+(((k[n>>2]|0)+(k[l>>2]|0)|0)*72|0)|0;a=(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)|0;d=e+72|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));k[n>>2]=(k[n>>2]|0)+-1}b=k[j>>2]|0;k[b>>2]=(k[b>>2]|0)+(k[l>>2]|0);uR((k[j>>2]|0)+8+((k[m>>2]|0)*72|0)|0,0,(k[l>>2]|0)*72|0)|0;k[n>>2]=k[m>>2];while(1){if((k[n>>2]|0)>=((k[m>>2]|0)+(k[l>>2]|0)|0))break;k[(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]=-1;k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}function dG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;f=g;d=g+20|0;e=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;k[e>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=l[k[j>>2]>>0];if((k[i>>2]|0)>1?(k[h>>2]|0)==10|(k[h>>2]|0)==11:0){Kh(k[e>>2]|0,36847,f);k[d>>2]=1;j=k[d>>2]|0;r=g;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=g;return j|0}function eG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;f=Q+96|0;A=Q+92|0;h=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;g=Q+40|0;o=Q+36|0;q=Q+32|0;n=Q+28|0;p=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;k[u>>2]=a;k[v>>2]=b;k[z>>2]=c;k[f>>2]=d;k[A>>2]=e;k[h>>2]=k[(k[u>>2]|0)+496>>2];k[B>>2]=k[k[u>>2]>>2];if(m[(k[B>>2]|0)+60>>1]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}k[J>>2]=k[(k[v>>2]|0)+32>>2];k[N>>2]=(k[J>>2]|0)+8+((k[z>>2]|0)*72|0);k[D>>2]=k[(k[N>>2]|0)+44>>2];k[K>>2]=k[(k[N>>2]|0)+20>>2];do if(k[A>>2]|0){if(k[f>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[k[J>>2]>>2]|0)>1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!((k[(k[v>>2]|0)+36>>2]|0)!=0?(k[(k[(k[v>>2]|0)+36>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((sz(k[k[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((sz(k[(k[v>>2]|0)+48>>2]|0)|0)&2097152|0)==0:0)break;k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[M>>2]=k[(k[K>>2]|0)+32>>2];if((k[(k[K>>2]|0)+60>>2]|0)!=0?(k[(k[v>>2]|0)+60>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+64>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((m[(k[v>>2]|0)+6>>1]&128|0)!=0?(k[(k[K>>2]|0)+60>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[k[M>>2]>>2]|0)){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(m[(k[K>>2]|0)+6>>1]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+60>>2]|0)!=0?((k[f>>2]|0)!=0?1:(k[k[J>>2]>>2]|0)>1):0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[A>>2]|0)!=0?(m[(k[v>>2]|0)+6>>1]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+48>>2]|0)!=0?(k[(k[K>>2]|0)+48>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[f>>2]|0)!=0?(k[(k[K>>2]|0)+48>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+60>>2]|0)!=0?(k[(k[v>>2]|0)+36>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+60>>2]|0)!=0?(m[(k[v>>2]|0)+6>>1]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(m[(k[K>>2]|0)+6>>1]&12288){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((m[(k[v>>2]|0)+6>>1]&8192|0)!=0?(k[(k[K>>2]|0)+52>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(l[(k[N>>2]|0)+36>>0]&32){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}a:do if(k[(k[K>>2]|0)+52>>2]|0){if(k[(k[K>>2]|0)+48>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}do if(!(k[f>>2]|0)){if(m[(k[v>>2]|0)+6>>1]&1)break;if((k[k[J>>2]>>2]|0)!=1)break;k[L>>2]=k[K>>2];while(1){if(!(k[L>>2]|0))break;if(m[(k[L>>2]|0)+6>>1]&9){t=62;break}if((k[(k[L>>2]|0)+52>>2]|0)!=0?(l[(k[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((k[k[(k[L>>2]|0)+32>>2]>>2]|0)<1){t=62;break}k[L>>2]=k[(k[L>>2]|0)+52>>2]}if((t|0)==62){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[(k[v>>2]|0)+48>>2]|0))break a;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[(k[v>>2]|0)+48>>2]>>2]|0))break a;if(!(m[(k[(k[(k[v>>2]|0)+48>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[(k[u>>2]|0)+496>>2]=k[(k[N>>2]|0)+8>>2];Ww(k[u>>2]|0,21,0,0,0)|0;k[(k[u>>2]|0)+496>>2]=k[h>>2];k[K>>2]=k[(k[K>>2]|0)+52>>2];while(1){if(!(k[K>>2]|0))break;k[q>>2]=k[(k[v>>2]|0)+48>>2];k[n>>2]=k[(k[v>>2]|0)+60>>2];k[p>>2]=k[(k[v>>2]|0)+64>>2];k[s>>2]=k[(k[v>>2]|0)+52>>2];k[(k[v>>2]|0)+48>>2]=0;k[(k[v>>2]|0)+32>>2]=0;k[(k[v>>2]|0)+52>>2]=0;k[(k[v>>2]|0)+60>>2]=0;k[(k[v>>2]|0)+64>>2]=0;f=Rx(k[B>>2]|0,k[v>>2]|0,0)|0;k[o>>2]=f;k[(k[v>>2]|0)+64>>2]=k[p>>2];k[(k[v>>2]|0)+60>>2]=k[n>>2];k[(k[v>>2]|0)+48>>2]=k[q>>2];k[(k[v>>2]|0)+32>>2]=k[J>>2];i[(k[v>>2]|0)+4>>0]=116;f=k[s>>2]|0;if(!(k[o>>2]|0))k[(k[v>>2]|0)+52>>2]=f;else{k[(k[o>>2]|0)+52>>2]=f;if(k[s>>2]|0)k[(k[s>>2]|0)+56>>2]=k[o>>2];k[(k[o>>2]|0)+56>>2]=k[v>>2];k[(k[v>>2]|0)+52>>2]=k[o>>2]}if(i[(k[B>>2]|0)+65>>0]|0){t=78;break}k[K>>2]=k[(k[K>>2]|0)+52>>2]}if((t|0)==78){k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}t=k[(k[N>>2]|0)+20>>2]|0;k[L>>2]=t;k[K>>2]=t;ag(k[B>>2]|0,k[(k[N>>2]|0)+4>>2]|0);ag(k[B>>2]|0,k[(k[N>>2]|0)+8>>2]|0);ag(k[B>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+4>>2]=0;k[(k[N>>2]|0)+8>>2]=0;k[(k[N>>2]|0)+12>>2]=0;k[(k[N>>2]|0)+20>>2]=0;if(k[(k[N>>2]|0)+16>>2]|0){k[w>>2]=k[(k[N>>2]|0)+16>>2];if((m[(k[w>>2]|0)+36>>1]|0)==1){f=k[u>>2]|0;if(k[(k[u>>2]|0)+416>>2]|0)f=k[f+416>>2]|0;k[x>>2]=f;k[(k[w>>2]|0)+68>>2]=k[(k[x>>2]|0)+528>>2];k[(k[x>>2]|0)+528>>2]=k[w>>2]}else{x=(k[w>>2]|0)+36|0;j[x>>1]=(j[x>>1]|0)+-1<<16>>16}k[(k[N>>2]|0)+16>>2]=0}k[I>>2]=k[v>>2];while(1){if(!(k[I>>2]|0))break;i[E>>0]=0;k[M>>2]=k[(k[K>>2]|0)+32>>2];k[F>>2]=k[k[M>>2]>>2];k[J>>2]=k[(k[I>>2]|0)+32>>2];if(!(k[J>>2]|0)){x=Xv(k[B>>2]|0,0,0,0)|0;k[(k[I>>2]|0)+32>>2]=x;k[J>>2]=x;if(!(k[J>>2]|0))break}else i[E>>0]=i[(k[N>>2]|0)+36>>0]|0;if((k[F>>2]|0)>1?(x=cG(k[B>>2]|0,k[J>>2]|0,(k[F>>2]|0)-1|0,(k[z>>2]|0)+1|0)|0,k[J>>2]=x,k[(k[I>>2]|0)+32>>2]=x,(i[(k[B>>2]|0)+65>>0]|0)!=0):0)break;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[F>>2]|0))break;iv(k[B>>2]|0,k[(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)+52>>2]|0);f=(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)|0;c=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(g|0));f=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[C>>2]=(k[C>>2]|0)+1}i[(k[J>>2]|0)+8+((k[z>>2]|0)*72|0)+36>>0]=i[E>>0]|0;k[G>>2]=k[k[I>>2]>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[G>>2]>>2]|0))break;if(!(k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]|0)){x=xh(k[B>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+8>>2]|0)|0;k[P>>2]=x;Tw(k[P>>2]|0)|0;k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]=k[P>>2]}k[C>>2]=(k[C>>2]|0)+1}if(k[(k[K>>2]|0)+48>>2]|0){k[H>>2]=k[(k[K>>2]|0)+48>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[H>>2]>>2]|0))break;j[(k[(k[H>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+16>>1]=0;k[C>>2]=(k[C>>2]|0)+1}k[(k[I>>2]|0)+48>>2]=k[H>>2];k[(k[K>>2]|0)+48>>2]=0}x=xy(k[B>>2]|0,k[(k[K>>2]|0)+36>>2]|0,0)|0;k[O>>2]=x;if(k[A>>2]|0){k[(k[I>>2]|0)+44>>2]=k[(k[I>>2]|0)+36>>2];k[(k[I>>2]|0)+36>>2]=k[O>>2];w=k[B>>2]|0;x=k[(k[I>>2]|0)+44>>2]|0;x=kz(w,x,xy(k[B>>2]|0,k[(k[K>>2]|0)+44>>2]|0,0)|0)|0;k[(k[I>>2]|0)+44>>2]=x;x=Fy(k[B>>2]|0,k[(k[K>>2]|0)+40>>2]|0,0)|0;k[(k[I>>2]|0)+40>>2]=x}else{x=kz(k[B>>2]|0,k[(k[I>>2]|0)+36>>2]|0,k[O>>2]|0)|0;k[(k[I>>2]|0)+36>>2]=x}OG(k[B>>2]|0,k[I>>2]|0,k[D>>2]|0,k[k[K>>2]>>2]|0,0);x=(k[I>>2]|0)+6|0;j[x>>1]=m[x>>1]|m[(k[K>>2]|0)+6>>1]&1;if(k[(k[K>>2]|0)+60>>2]|0){k[(k[I>>2]|0)+60>>2]=k[(k[K>>2]|0)+60>>2];k[(k[K>>2]|0)+60>>2]=0}k[I>>2]=k[(k[I>>2]|0)+52>>2];k[K>>2]=k[(k[K>>2]|0)+52>>2]}ev(k[B>>2]|0,k[L>>2]|0);k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}function fG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=r;r=r+240|0;$=aa+8|0;d=aa;e=aa+220|0;f=aa+216|0;g=aa+212|0;h=aa+208|0;V=aa+204|0;S=aa+200|0;_=aa+196|0;u=aa+176|0;I=aa+172|0;t=aa+168|0;C=aa+164|0;D=aa+160|0;n=aa+156|0;G=aa+152|0;Y=aa+148|0;H=aa+224|0;T=aa+144|0;N=aa+140|0;Q=aa+136|0;o=aa+132|0;Z=aa+112|0;y=aa+108|0;w=aa+104|0;A=aa+100|0;J=aa+96|0;W=aa+92|0;X=aa+88|0;z=aa+84|0;x=aa+80|0;B=aa+76|0;O=aa+72|0;R=aa+68|0;p=aa+64|0;E=aa+44|0;U=aa+40|0;K=aa+36|0;v=aa+32|0;M=aa+28|0;P=aa+24|0;s=aa+20|0;F=aa+16|0;q=aa+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[V>>2]=0;k[I>>2]=0;k[C>>2]=0;k[D>>2]=0;k[t>>2]=k[k[f>>2]>>2];k[S>>2]=k[(k[g>>2]|0)+52>>2];a=k[h>>2]|0;k[u>>2]=k[a>>2];k[u+4>>2]=k[a+4>>2];k[u+8>>2]=k[a+8>>2];k[u+12>>2]=k[a+12>>2];k[u+16>>2]=k[a+16>>2];a:do if(!(k[(k[S>>2]|0)+48>>2]|0)){b=k[f>>2]|0;if(k[(k[S>>2]|0)+60>>2]|0){_=Hy(l[(k[g>>2]|0)+4>>0]|0)|0;k[$>>2]=_;Kh(b,36704,$);k[V>>2]=1;break}$=Zw(b)|0;k[_>>2]=$;if((l[u>>0]|0|0)==12){$w(k[_>>2]|0,57,k[u+4>>2]|0,k[k[k[g>>2]>>2]>>2]|0)|0;Ph(k[_>>2]|0,8);i[u>>0]=14}if((m[(k[g>>2]|0)+6>>1]|0)&512){$=QG(k[f>>2]|0,k[g>>2]|0,u)|0;k[V>>2]=$;break}b:do if((m[(k[g>>2]|0)+6>>1]|0)&8192)RG(k[f>>2]|0,k[g>>2]|0,u);else{if(k[(k[g>>2]|0)+48>>2]|0){$=SG(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[e>>2]=$;$=k[e>>2]|0;r=aa;return $|0}switch(l[(k[g>>2]|0)+4>>0]|0|0){case 116:{k[n>>2]=0;k[(k[S>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];k[(k[S>>2]|0)+12>>2]=k[(k[g>>2]|0)+12>>2];k[(k[S>>2]|0)+60>>2]=k[(k[g>>2]|0)+60>>2];k[(k[S>>2]|0)+64>>2]=k[(k[g>>2]|0)+64>>2];k[C>>2]=k[(k[f>>2]|0)+472>>2];$=Mv(k[f>>2]|0,k[S>>2]|0,u)|0;k[V>>2]=$;k[(k[g>>2]|0)+60>>2]=0;k[(k[g>>2]|0)+64>>2]=0;if(k[V>>2]|0)break a;k[(k[g>>2]|0)+52>>2]=0;k[(k[g>>2]|0)+8>>2]=k[(k[S>>2]|0)+8>>2];k[(k[g>>2]|0)+12>>2]=k[(k[S>>2]|0)+12>>2];if((k[(k[g>>2]|0)+8>>2]|0)!=0?($=Hz(k[_>>2]|0,46,k[(k[g>>2]|0)+8>>2]|0)|0,k[n>>2]=$,(k[(k[g>>2]|0)+12>>2]|0)!=0):0)dx(k[_>>2]|0,139,k[(k[g>>2]|0)+8>>2]|0,(k[(k[g>>2]|0)+12>>2]|0)+1|0,k[(k[g>>2]|0)+12>>2]|0)|0;k[D>>2]=k[(k[f>>2]|0)+472>>2];Z=Mv(k[f>>2]|0,k[g>>2]|0,u)|0;k[V>>2]=Z;k[I>>2]=k[(k[g>>2]|0)+52>>2];k[(k[g>>2]|0)+52>>2]=k[S>>2];Z=(k[S>>2]|0)+24|0;$=(k[g>>2]|0)+24|0;Y=$;Z=qR(k[Y>>2]|0,k[Y+4>>2]|0,k[Z>>2]|0,k[Z+4>>2]|0)|0;k[$>>2]=Z;k[$+4>>2]=L;if(((k[(k[S>>2]|0)+60>>2]|0)!=0?($=(uy(k[(k[S>>2]|0)+60>>2]|0,G)|0)!=0,$&(k[G>>2]|0)>0):0)?(Z=(k[g>>2]|0)+24|0,X=k[Z+4>>2]|0,$=k[G>>2]|0,Y=(($|0)<0)<<31>>31,X>>>0>Y>>>0|((X|0)==(Y|0)?(k[Z>>2]|0)>>>0>$>>>0:0)):0){Z=k[G>>2]|0;$=(k[g>>2]|0)+24|0;k[$>>2]=Z;k[$+4>>2]=((Z|0)<0)<<31>>31}if(!(k[n>>2]|0))break b;Pz(k[_>>2]|0,k[n>>2]|0);break b}case 115:case 117:{i[H>>0]=0;k[T>>2]=1;if((l[u>>0]|0|0)==(k[T>>2]|0))k[Y>>2]=k[u+4>>2];else{X=(k[f>>2]|0)+72|0;$=k[X>>2]|0;k[X>>2]=$+1;k[Y>>2]=$;$=$w(k[_>>2]|0,57,k[Y>>2]|0,0)|0;k[o>>2]=$;k[(k[g>>2]|0)+16>>2]=k[o>>2];$=(az(k[g>>2]|0)|0)+6|0;j[$>>1]=m[$>>1]|0|16}hB(Z,k[T>>2]|0,k[Y>>2]|0);k[C>>2]=k[(k[f>>2]|0)+472>>2];$=Mv(k[f>>2]|0,k[S>>2]|0,Z)|0;k[V>>2]=$;if(k[V>>2]|0)break a;if((l[(k[g>>2]|0)+4>>0]|0|0)==117)i[H>>0]=2;else i[H>>0]=1;k[(k[g>>2]|0)+52>>2]=0;k[N>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;k[Q>>2]=k[(k[g>>2]|0)+64>>2];k[(k[g>>2]|0)+64>>2]=0;i[Z>>0]=i[H>>0]|0;k[D>>2]=k[(k[f>>2]|0)+472>>2];$=Mv(k[f>>2]|0,k[g>>2]|0,Z)|0;k[V>>2]=$;dv(k[t>>2]|0,k[(k[g>>2]|0)+48>>2]|0);k[I>>2]=k[(k[g>>2]|0)+52>>2];k[(k[g>>2]|0)+52>>2]=k[S>>2];k[(k[g>>2]|0)+48>>2]=0;if((l[(k[g>>2]|0)+4>>0]|0|0)==115){Z=(k[S>>2]|0)+24|0;$=(k[g>>2]|0)+24|0;X=$;Z=qR(k[X>>2]|0,k[X+4>>2]|0,k[Z>>2]|0,k[Z+4>>2]|0)|0;k[$>>2]=Z;k[$+4>>2]=L}hv(k[t>>2]|0,k[(k[g>>2]|0)+60>>2]|0);k[(k[g>>2]|0)+60>>2]=k[N>>2];k[(k[g>>2]|0)+64>>2]=k[Q>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0;if((l[u>>0]|0|0)==(k[T>>2]|0))break b;if((l[u>>0]|0|0)==9){k[J>>2]=k[g>>2];while(1){if(!(k[(k[J>>2]|0)+52>>2]|0))break;k[J>>2]=k[(k[J>>2]|0)+52>>2]}EG(k[f>>2]|0,k[(k[J>>2]|0)+32>>2]|0,k[k[J>>2]>>2]|0)}$=Mz(k[_>>2]|0)|0;k[w>>2]=$;$=Mz(k[_>>2]|0)|0;k[y>>2]=$;kG(k[f>>2]|0,k[g>>2]|0,k[w>>2]|0);$w(k[_>>2]|0,108,k[Y>>2]|0,k[w>>2]|0)|0;$=Lz(k[_>>2]|0)|0;k[A>>2]=$;rG(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[Y>>2]|0,0,0,u,k[y>>2]|0,k[w>>2]|0);Qz(k[_>>2]|0,k[y>>2]|0);$w(k[_>>2]|0,7,k[Y>>2]|0,k[A>>2]|0)|0;Qz(k[_>>2]|0,k[w>>2]|0);$w(k[_>>2]|0,61,k[Y>>2]|0,0)|0;break b}default:{$=(k[f>>2]|0)+72|0;Z=k[$>>2]|0;k[$>>2]=Z+1;k[W>>2]=Z;Z=(k[f>>2]|0)+72|0;$=k[Z>>2]|0;k[Z>>2]=$+1;k[X>>2]=$;$=$w(k[_>>2]|0,57,k[W>>2]|0,0)|0;k[p>>2]=$;k[(k[g>>2]|0)+16>>2]=k[p>>2];$=(az(k[g>>2]|0)|0)+6|0;j[$>>1]=m[$>>1]|0|16;hB(E,1,k[W>>2]|0);k[C>>2]=k[(k[f>>2]|0)+472>>2];$=Mv(k[f>>2]|0,k[S>>2]|0,E)|0;k[V>>2]=$;if(k[V>>2]|0)break a;Z=$w(k[_>>2]|0,57,k[X>>2]|0,0)|0;k[p>>2]=Z;k[(k[g>>2]|0)+16+4>>2]=k[p>>2];k[(k[g>>2]|0)+52>>2]=0;k[O>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;k[R>>2]=k[(k[g>>2]|0)+64>>2];k[(k[g>>2]|0)+64>>2]=0;k[E+4>>2]=k[X>>2];k[D>>2]=k[(k[f>>2]|0)+472>>2];Z=Mv(k[f>>2]|0,k[g>>2]|0,E)|0;k[V>>2]=Z;k[I>>2]=k[(k[g>>2]|0)+52>>2];k[(k[g>>2]|0)+52>>2]=k[S>>2];Z=(k[g>>2]|0)+24|0;T=k[Z+4>>2]|0;$=(k[S>>2]|0)+24|0;Y=k[$+4>>2]|0;if(T>>>0>Y>>>0|((T|0)==(Y|0)?(k[Z>>2]|0)>>>0>(k[$>>2]|0)>>>0:0)){Y=(k[S>>2]|0)+24|0;Z=k[Y+4>>2]|0;$=(k[g>>2]|0)+24|0;k[$>>2]=k[Y>>2];k[$+4>>2]=Z}hv(k[t>>2]|0,k[(k[g>>2]|0)+60>>2]|0);k[(k[g>>2]|0)+60>>2]=k[O>>2];k[(k[g>>2]|0)+64>>2]=k[R>>2];if((l[u>>0]|0|0)==9){k[K>>2]=k[g>>2];while(1){if(!(k[(k[K>>2]|0)+52>>2]|0))break;k[K>>2]=k[(k[K>>2]|0)+52>>2]}EG(k[f>>2]|0,k[(k[K>>2]|0)+32>>2]|0,k[k[K>>2]>>2]|0)}$=Mz(k[_>>2]|0)|0;k[x>>2]=$;$=Mz(k[_>>2]|0)|0;k[z>>2]=$;kG(k[f>>2]|0,k[g>>2]|0,k[x>>2]|0);$w(k[_>>2]|0,108,k[W>>2]|0,k[x>>2]|0)|0;$=eA(k[f>>2]|0)|0;k[U>>2]=$;$=$w(k[_>>2]|0,101,k[W>>2]|0,k[U>>2]|0)|0;k[B>>2]=$;Oh(k[_>>2]|0,68,k[X>>2]|0,k[z>>2]|0,k[U>>2]|0,0)|0;iA(k[f>>2]|0,k[U>>2]|0);rG(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[W>>2]|0,0,0,u,k[z>>2]|0,k[x>>2]|0);Qz(k[_>>2]|0,k[z>>2]|0);$w(k[_>>2]|0,7,k[W>>2]|0,k[B>>2]|0)|0;Qz(k[_>>2]|0,k[x>>2]|0);$w(k[_>>2]|0,61,k[X>>2]|0,0)|0;$w(k[_>>2]|0,61,k[W>>2]|0,0)|0;break b}}}while(0);TG(k[f>>2]|0,l[(k[g>>2]|0)+4>>0]|0,k[C>>2]|0,k[D>>2]|0,(l[(k[g>>2]|0)+4>>0]|0|0)!=116&1);if((m[(k[g>>2]|0)+6>>1]|0)&16){k[F>>2]=k[k[k[g>>2]>>2]>>2];$=_z(k[t>>2]|0,k[F>>2]|0,1)|0;k[M>>2]=$;if(!(k[M>>2]|0)){k[V>>2]=7;break}k[v>>2]=0;k[s>>2]=(k[M>>2]|0)+20;while(1){if((k[v>>2]|0)>=(k[F>>2]|0))break;$=UG(k[f>>2]|0,k[g>>2]|0,k[v>>2]|0)|0;k[k[s>>2]>>2]=$;if(!(k[k[s>>2]>>2]|0))k[k[s>>2]>>2]=k[(k[t>>2]|0)+8>>2];k[v>>2]=(k[v>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+4}k[P>>2]=k[g>>2];while(1){if(!(k[P>>2]|0))break;k[v>>2]=0;while(1){if((k[v>>2]|0)>=2)break;k[q>>2]=k[(k[P>>2]|0)+16+(k[v>>2]<<2)>>2];if((k[q>>2]|0)<0)break;Vz(k[_>>2]|0,k[q>>2]|0,k[F>>2]|0);Z=k[_>>2]|0;$=k[q>>2]|0;Sh(Z,$,dA(k[M>>2]|0)|0,-6);k[(k[P>>2]|0)+16+(k[v>>2]<<2)>>2]=-1;k[v>>2]=(k[v>>2]|0)+1}k[P>>2]=k[(k[P>>2]|0)+52>>2]}$z(k[M>>2]|0)}}else{$=k[f>>2]|0;_=Hy(l[(k[g>>2]|0)+4>>0]|0)|0;k[d>>2]=_;Kh($,36656,d);k[V>>2]=1}while(0);k[(k[h>>2]|0)+8>>2]=k[u+8>>2];k[(k[h>>2]|0)+12>>2]=k[u+12>>2];ev(k[t>>2]|0,k[I>>2]|0);k[e>>2]=k[V>>2];$=k[e>>2]|0;r=aa;return $|0}function gG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;qz(k[d>>2]|0,b);r=c;return k[b>>2]|0}function hG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=r;r=r+32|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;n=o+4|0;j=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;if(!(k[h>>2]|0)){k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}if((m[(k[g>>2]|0)+6>>1]|0)&8200){k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}if(k[(k[g>>2]|0)+60>>2]|0){k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}while(1){if((l[k[h>>2]>>0]|0|0)!=72)break;c=hG(k[f>>2]|0,k[g>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[i>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=k[(k[h>>2]|0)+12>>2]}if(k[(k[h>>2]|0)+4>>2]&1){k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}a:do if(OD(k[h>>2]|0,k[i>>2]|0)|0){k[j>>2]=(k[j>>2]|0)+1;while(1){if(!(k[g>>2]|0))break a;c=xy(k[f>>2]|0,k[h>>2]|0,0)|0;k[n>>2]=c;c=NG(k[f>>2]|0,k[n>>2]|0,k[i>>2]|0,k[k[g>>2]>>2]|0)|0;k[n>>2]=c;c=kz(k[f>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[n>>2]|0)|0;k[(k[g>>2]|0)+36>>2]=c;k[g>>2]=k[(k[g>>2]|0)+52>>2]}}while(0);k[e>>2]=k[j>>2];c=k[e>>2]|0;r=o;return c|0}function iG(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+19>>0]=0;k[(k[c>>2]|0)+60>>2]=0;r=b;return}function jG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;e=p+36|0;f=p+32|0;g=p+28|0;q=p+24|0;l=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[l>>2]=k[k[f>>2]>>2];a=_z(k[h>>2]|0,(k[l>>2]|0)-(k[g>>2]|0)|0,(k[q>>2]|0)+1|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){q=k[n>>2]|0;r=p;return q|0}k[j>>2]=k[g>>2];k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break;q=Yx(k[e>>2]|0,k[k[o>>2]>>2]|0)|0;k[m>>2]=q;if(!(k[m>>2]|0))k[m>>2]=k[(k[h>>2]|0)+8>>2];k[(k[n>>2]|0)+20+((k[j>>2]|0)-(k[g>>2]|0)<<2)>>2]=k[m>>2];i[(k[(k[n>>2]|0)+16>>2]|0)+((k[j>>2]|0)-(k[g>>2]|0))>>0]=i[(k[o>>2]|0)+12>>0]|0;k[j>>2]=(k[j>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+20}q=k[n>>2]|0;r=p;return q|0}function kG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;k[g>>2]=0;if(k[(k[e>>2]|0)+8>>2]|0){r=l;return}pC(k[d>>2]|0);if(!(k[(k[e>>2]|0)+60>>2]|0)){r=l;return}b=(k[d>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[g>>2]=a;k[(k[e>>2]|0)+8>>2]=a;a=Zw(k[d>>2]|0)|0;k[j>>2]=a;do if(uy(k[(k[e>>2]|0)+60>>2]|0,i)|0){$w(k[j>>2]|0,22,k[i>>2]|0,k[g>>2]|0)|0;if(!(k[i>>2]|0)){Oz(k[j>>2]|0,k[f>>2]|0)|0;break}if((k[i>>2]|0)>=0?(b=(k[e>>2]|0)+24|0,f=k[b+4>>2]|0,a=k[i>>2]|0,c=((a|0)<0)<<31>>31,f>>>0>c>>>0|((f|0)==(c|0)?(k[b>>2]|0)>>>0>a>>>0:0)):0){b=k[i>>2]|0;a=(k[e>>2]|0)+24|0;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31}}else{HA(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0,k[g>>2]|0);Hz(k[j>>2]|0,38,k[g>>2]|0)|0;$w(k[j>>2]|0,46,k[g>>2]|0,k[f>>2]|0)|0}while(0);if(!(k[(k[e>>2]|0)+64>>2]|0)){r=l;return}b=(k[d>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[h>>2]=a;k[(k[e>>2]|0)+12>>2]=a;a=(k[d>>2]|0)+76|0;k[a>>2]=(k[a>>2]|0)+1;HA(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0,k[h>>2]|0);Hz(k[j>>2]|0,38,k[h>>2]|0)|0;dx(k[j>>2]|0,139,k[g>>2]|0,(k[h>>2]|0)+1|0,k[h>>2]|0)|0;r=l;return}function lG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;i[g>>0]=c;c=i[g>>0]|0;a=Wz(k[f>>2]|0,k[e>>2]|0)|0;i[a>>0]=c;r=d;return}function mG(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=kC(j[(k[c>>2]|0)+32>>1]|0)|0;r=b;return a|0}function nG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+40>>0]|0|0}function oG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+36>>0]|0}function pG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+48>>2]|0}function qG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+52>>2]|0}function rG(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;n=V+112|0;R=V+108|0;o=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;q=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;p=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;k[P>>2]=a;k[Q>>2]=b;k[t>>2]=c;k[n>>2]=d;k[R>>2]=e;k[o>>2]=f;k[M>>2]=g;k[u>>2]=h;k[S>>2]=j;k[U>>2]=k[(k[P>>2]|0)+8>>2];k[C>>2]=l[k[M>>2]>>0];k[O>>2]=k[(k[M>>2]|0)+4>>2];k[N>>2]=0;if(k[o>>2]|0)j=l[(k[o>>2]|0)+1>>0]|0;else j=0;k[q>>2]=j;if((k[R>>2]|0)!=0?(k[k[R>>2]>>2]|0)==0:0)k[R>>2]=0;if(!((k[R>>2]|0)!=0|(k[q>>2]|0)!=0))GG(k[U>>2]|0,k[(k[Q>>2]|0)+12>>2]|0,k[u>>2]|0);k[F>>2]=k[k[t>>2]>>2];if(k[(k[M>>2]|0)+8>>2]|0){if(((k[(k[M>>2]|0)+8>>2]|0)+(k[F>>2]|0)|0)>(k[(k[P>>2]|0)+76>>2]|0)){d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[F>>2]|0)}}else{if(k[R>>2]|0){k[N>>2]=k[k[k[R>>2]>>2]>>2];if(!((l[(k[R>>2]|0)+28>>0]|0)&1))k[N>>2]=(k[N>>2]|0)+1;d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}k[(k[M>>2]|0)+8>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[F>>2]|0)}k[(k[M>>2]|0)+12>>2]=k[F>>2];k[T>>2]=k[(k[M>>2]|0)+8>>2];a:do if((k[n>>2]|0)<0){if((k[C>>2]|0)!=3){if((k[C>>2]|0)==10|(k[C>>2]|0)==9|(k[C>>2]|0)==13)i[p>>0]=1;else i[p>>0]=0;QA(k[P>>2]|0,k[t>>2]|0,k[T>>2]|0,0,i[p>>0]|0)|0}}else{k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[F>>2]|0))break a;dx(k[U>>2]|0,47,k[n>>2]|0,k[D>>2]|0,(k[T>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);if(k[q>>2]|0){switch(l[(k[o>>2]|0)+1>>0]|0|0){case 2:{k[A>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;q=(k[P>>2]|0)+76|0;k[q>>2]=(k[q>>2]|0)+(k[F>>2]|0);zA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;q=Wz(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[s>>2]=q;i[k[s>>2]>>0]=25;k[(k[s>>2]|0)+4>>2]=1;k[(k[s>>2]|0)+8>>2]=k[A>>2];s=Lz(k[U>>2]|0)|0;k[w>>2]=s+(k[F>>2]|0);k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[F>>2]|0))break;j=Yx(k[P>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)>>2]|0)|0;k[x>>2]=j;j=k[U>>2]|0;h=(k[T>>2]|0)+(k[D>>2]|0)|0;if((k[D>>2]|0)<((k[F>>2]|0)-1|0))dx(j,78,h,k[w>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;else dx(j,79,h,k[u>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;Sh(k[U>>2]|0,-1,k[x>>2]|0,-4);Ph(k[U>>2]|0,-128);k[D>>2]=(k[D>>2]|0)+1}dx(k[U>>2]|0,30,k[T>>2]|0,k[A>>2]|0,(k[F>>2]|0)-1|0)|0;break}case 1:{zA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;break}default:HG(k[P>>2]|0,k[(k[o>>2]|0)+4>>2]|0,k[u>>2]|0,k[F>>2]|0,k[T>>2]|0)}if(!(k[R>>2]|0))GG(k[U>>2]|0,k[(k[Q>>2]|0)+12>>2]|0,k[u>>2]|0)}b:do switch(k[C>>2]|0){case 1:{N=eA(k[P>>2]|0)|0;k[y>>2]=N;dx(k[U>>2]|0,49,k[T>>2]|0,k[F>>2]|0,k[y>>2]|0)|0;$w(k[U>>2]|0,110,k[O>>2]|0,k[y>>2]|0)|0;iA(k[P>>2]|0,k[y>>2]|0);break}case 2:{dx(k[U>>2]|0,111,k[O>>2]|0,k[T>>2]|0,k[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{M=uA(k[P>>2]|0,(k[N>>2]|0)+1|0)|0;k[H>>2]=M;dx(k[U>>2]|0,49,k[T>>2]|0,k[F>>2]|0,(k[H>>2]|0)+(k[N>>2]|0)|0)|0;if((k[C>>2]|0)==6){M=(Lz(k[U>>2]|0)|0)+4|0;k[v>>2]=M;Oh(k[U>>2]|0,69,(k[O>>2]|0)+1|0,k[v>>2]|0,k[H>>2]|0,0)|0;$w(k[U>>2]|0,110,(k[O>>2]|0)+1|0,k[H>>2]|0)|0}j=k[P>>2]|0;if(k[R>>2]|0)MG(j,k[R>>2]|0,k[Q>>2]|0,(k[H>>2]|0)+(k[N>>2]|0)|0,k[T>>2]|0,1,k[N>>2]|0);else{T=eA(j)|0;k[K>>2]=T;$w(k[U>>2]|0,74,k[O>>2]|0,k[K>>2]|0)|0;dx(k[U>>2]|0,75,k[O>>2]|0,k[H>>2]|0,k[K>>2]|0)|0;Ph(k[U>>2]|0,8);iA(k[P>>2]|0,k[K>>2]|0)}xA(k[P>>2]|0,k[H>>2]|0,(k[N>>2]|0)+1|0);break}case 11:{j=aB(k[k[(k[t>>2]|0)+4>>2]>>2]|0,i[(k[M>>2]|0)+1>>0]|0)|0;i[(k[M>>2]|0)+1>>0]=j;j=k[P>>2]|0;if(k[R>>2]|0){MG(j,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,1,k[N>>2]|0);break b}else{N=eA(j)|0;k[I>>2]=N;cx(k[U>>2]|0,49,k[T>>2]|0,1,k[I>>2]|0,(k[M>>2]|0)+1|0,1)|0;MA(k[P>>2]|0,k[T>>2]|0,1);$w(k[U>>2]|0,110,k[O>>2]|0,k[I>>2]|0)|0;iA(k[P>>2]|0,k[I>>2]|0);break b}}case 3:{$w(k[U>>2]|0,22,1,k[O>>2]|0)|0;break}case 10:{if(k[R>>2]|0)MG(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,1,k[N>>2]|0);break}case 9:case 13:{if(k[R>>2]|0){MG(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[F>>2]|0,k[N>>2]|0);break b}j=k[U>>2]|0;if((k[C>>2]|0)==13){Hz(j,18,k[(k[M>>2]|0)+4>>2]|0)|0;break b}else{$w(j,33,k[T>>2]|0,k[F>>2]|0)|0;MA(k[P>>2]|0,k[T>>2]|0,k[F>>2]|0);break b}}case 7:case 8:{k[B>>2]=0;k[G>>2]=k[(k[M>>2]|0)+16>>2];k[E>>2]=k[k[G>>2]>>2];N=eA(k[P>>2]|0)|0;k[J>>2]=N;N=uA(k[P>>2]|0,(k[E>>2]|0)+2|0)|0;k[L>>2]=N;k[z>>2]=(k[L>>2]|0)+(k[E>>2]|0)+1;if((k[C>>2]|0)==8){N=Oh(k[U>>2]|0,69,(k[O>>2]|0)+1|0,0,k[T>>2]|0,k[F>>2]|0)|0;k[B>>2]=N}dx(k[U>>2]|0,49,k[T>>2]|0,k[F>>2]|0,k[z>>2]|0)|0;if((k[C>>2]|0)==8){$w(k[U>>2]|0,110,(k[O>>2]|0)+1|0,k[z>>2]|0)|0;Ph(k[U>>2]|0,16)}k[D>>2]=0;while(1){j=k[U>>2]|0;if((k[D>>2]|0)>=(k[E>>2]|0))break;$w(j,31,(k[T>>2]|0)+(m[(k[(k[G>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)+16>>1]|0)-1|0,(k[L>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}$w(j,73,k[O>>2]|0,(k[L>>2]|0)+(k[E>>2]|0)|0)|0;dx(k[U>>2]|0,49,k[L>>2]|0,(k[E>>2]|0)+2|0,k[J>>2]|0)|0;$w(k[U>>2]|0,110,k[O>>2]|0,k[J>>2]|0)|0;if(k[B>>2]|0)Pz(k[U>>2]|0,k[B>>2]|0);iA(k[P>>2]|0,k[J>>2]|0);xA(k[P>>2]|0,k[L>>2]|0,(k[E>>2]|0)+2|0);break}default:{}}while(0);if(k[R>>2]|0){r=V;return}if(!(k[(k[Q>>2]|0)+8>>2]|0)){r=V;return}$w(k[U>>2]|0,141,k[(k[Q>>2]|0)+8>>2]|0,k[S>>2]|0)|0;r=V;return}function sG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;tG(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function tG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=202;k[e+8>>2]=203;k[e+24>>2]=k[f>>2];ly(e,k[d>>2]|0)|0;r=c;return}function uG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;f=h;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+453>>0]|0|0)!=2){r=h;return}k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[k[c>>2]>>2]|0;k[f>>2]=k[d>>2];b=Lh(b,36633,f)|0;k[g>>2]=b;cx(k[e>>2]|0,161,k[(k[c>>2]|0)+468>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}function vG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+37>>0]|0|0}function wG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=d;dx(k[(k[h>>2]|0)+8>>2]|0,29,k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;yA(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function xG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+56|0;d=v+52|0;u=v+48|0;g=v+44|0;t=v+40|0;e=v+36|0;o=v+32|0;l=v+28|0;j=v+24|0;f=v+20|0;s=v+16|0;q=v+12|0;n=v+8|0;p=v+4|0;h=v;k[c>>2]=a;k[d>>2]=b;k[u>>2]=k[(k[c>>2]|0)+8>>2];k[t>>2]=0;k[e>>2]=0;i[k[d>>2]>>0]=1;k[g>>2]=0;k[o>>2]=k[(k[d>>2]|0)+40>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;k[f>>2]=0;k[q>>2]=k[(k[k[o>>2]>>2]|0)+20>>2];if(k[q>>2]|0){k[j>>2]=k[k[q>>2]>>2];a=uA(k[c>>2]|0,k[j>>2]|0)|0;k[s>>2]=a;QA(k[c>>2]|0,k[q>>2]|0,k[s>>2]|0,0,1)|0}else{k[j>>2]=0;k[s>>2]=0}if((k[(k[o>>2]|0)+12>>2]|0)>=0){a=Mz(k[u>>2]|0)|0;k[f>>2]=a;HG(k[c>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[f>>2]|0,1,k[s>>2]|0)}if((m[(k[(k[o>>2]|0)+4>>2]|0)+2>>1]|0)&32){k[n>>2]=0;k[h>>2]=0;k[p>>2]=k[(k[q>>2]|0)+4>>2];while(1){if(k[n>>2]|0)break;if((k[h>>2]|0)>=(k[j>>2]|0))break;a=Yx(k[c>>2]|0,k[k[p>>2]>>2]|0)|0;k[n>>2]=a;k[h>>2]=(k[h>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if(!(k[n>>2]|0))k[n>>2]=k[(k[k[c>>2]>>2]|0)+8>>2];if((k[t>>2]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)!=0:0){b=(k[c>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[t>>2]=a}cx(k[u>>2]|0,34,k[t>>2]|0,0,0,k[n>>2]|0,-4)|0}cx(k[u>>2]|0,143,0,k[s>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+4>>2]|0,-5)|0;Ph(k[u>>2]|0,k[j>>2]&255);MA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);xA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);if(k[f>>2]|0){Qz(k[u>>2]|0,k[f>>2]|0);pC(k[c>>2]|0)}k[g>>2]=(k[g>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+16}if(k[t>>2]|0){t=Hz(k[u>>2]|0,45,k[t>>2]|0)|0;k[e>>2]=t}pC(k[c>>2]|0);k[g>>2]=0;k[l>>2]=k[(k[d>>2]|0)+28>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+36>>2]|0))break;HA(k[c>>2]|0,k[(k[l>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+24}i[k[d>>2]>>0]=0;pC(k[c>>2]|0);if(!(k[e>>2]|0)){r=v;return}Pz(k[u>>2]|0,k[e>>2]|0);r=v;return}function yG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[g>>2]=k[(k[i>>2]|0)+8>>2];k[d>>2]=0;k[e>>2]=k[(k[c>>2]|0)+40>>2];while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+44>>2]|0))break;k[f>>2]=k[(k[k[e>>2]>>2]|0)+20>>2];if(k[f>>2]|0)b=k[k[f>>2]>>2]|0;else b=0;cx(k[g>>2]|0,145,k[(k[e>>2]|0)+8>>2]|0,b,0,k[(k[e>>2]|0)+4>>2]|0,-5)|0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+16}r=h;return}function zG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;j=l;c=l+32|0;d=l+28|0;i=l+24|0;e=l+20|0;g=l+16|0;m=l+12|0;f=l+8|0;h=l+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[c>>2]|0)+8>>2];k[m>>2]=(k[(k[d>>2]|0)+44>>2]|0)+(k[(k[d>>2]|0)+32>>2]|0);if(!(k[m>>2]|0)){r=l;return}dx(k[i>>2]|0,25,0,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=k[(k[d>>2]|0)+40>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;do if((k[(k[g>>2]|0)+12>>2]|0)>=0){k[f>>2]=k[k[g>>2]>>2];if((k[(k[f>>2]|0)+20>>2]|0)!=0?(k[k[(k[f>>2]|0)+20>>2]>>2]|0)==1:0){m=jG(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0,0,0)|0;k[h>>2]=m;cx(k[i>>2]|0,57,k[(k[g>>2]|0)+12>>2]|0,0,0,k[h>>2]|0,-6)|0;break}Kh(k[c>>2]|0,36582,j);k[(k[g>>2]|0)+12>>2]=-1}while(0);k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}r=l;return}function AG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if((((k[(k[d>>2]|0)+36>>2]|0)==0?(k[k[k[d>>2]>>2]>>2]|0)==1:0)?(k[k[(k[d>>2]|0)+32>>2]>>2]|0)==1:0)?(k[(k[(k[d>>2]|0)+32>>2]|0)+8+20>>2]|0)==0:0){k[g>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+8+16>>2];k[f>>2]=k[k[(k[k[d>>2]>>2]|0)+4>>2]>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if((l[k[f>>2]>>0]|0|0)!=153){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+44>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!((m[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(k[(k[f>>2]|0)+4>>2]&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}else{k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}}k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function BG(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,m=0;m=r;r=r+32|0;h=m;f=m+28|0;g=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;if((l[(k[f>>2]|0)+453>>0]|0|0)!=2){r=m;return}if(k[d>>2]|0)if(!((l[(k[g>>2]|0)+42>>0]|0)&32))c=1;else c=(i[(k[d>>2]|0)+55>>0]&3|0)==2^1;else c=0;k[e>>2]=c&1;a=k[k[f>>2]>>2]|0;b=(k[e>>2]|0)!=0?36541:19266;if(k[e>>2]|0)c=k[k[d>>2]>>2]|0;else c=19266;k[h>>2]=k[k[g>>2]>>2];k[h+4>>2]=b;k[h+8>>2]=c;h=Lh(a,36564,h)|0;k[j>>2]=h;cx(k[(k[f>>2]|0)+8>>2]|0,161,k[(k[f>>2]|0)+468>>2]|0,0,0,k[j>>2]|0,-1)|0;r=m;return}function CG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[k[d>>2]>>2]=0;do if((((k[(k[c>>2]|0)+44>>2]|0)==1?(k[g>>2]=k[k[(k[c>>2]|0)+40>>2]>>2],k[f>>2]=k[(k[g>>2]|0)+20>>2],(k[f>>2]|0)!=0):0)?(k[k[f>>2]>>2]|0)==1:0)?(l[k[k[(k[f>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){k[h>>2]=k[(k[g>>2]|0)+8>>2];if(!(be(k[h>>2]|0,36533)|0)){k[e>>2]=1;k[k[d>>2]>>2]=k[f>>2];break}if(!(be(k[h>>2]|0,36537)|0)){k[e>>2]=2;k[k[d>>2]>>2]=k[f>>2]}}while(0);r=i;return k[e>>2]&255|0}function DG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;s=E+84|0;f=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;g=E+48|0;z=E+44|0;p=E+40|0;w=E+36|0;j=E+32|0;x=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;o=E+12|0;i=E+8|0;h=E+4|0;q=E;k[s>>2]=a;k[f>>2]=b;k[B>>2]=c;k[t>>2]=d;k[u>>2]=e;k[D>>2]=k[(k[s>>2]|0)+8>>2];k[C>>2]=k[(k[B>>2]|0)+24>>2];c=Mz(k[D>>2]|0)|0;k[v>>2]=c;k[g>>2]=0;k[p>>2]=k[k[B>>2]>>2];k[w>>2]=l[k[u>>2]>>0];k[j>>2]=k[(k[u>>2]|0)+4>>2];if(k[(k[B>>2]|0)+16>>2]|0){$w(k[D>>2]|0,14,k[(k[B>>2]|0)+12>>2]|0,k[(k[B>>2]|0)+16>>2]|0)|0;Oz(k[D>>2]|0,k[C>>2]|0)|0;Qz(k[D>>2]|0,k[(k[B>>2]|0)+16>>2]|0)}k[z>>2]=k[(k[B>>2]|0)+8>>2];if((k[w>>2]|0)==9|(k[w>>2]|0)==13){k[y>>2]=0;k[x>>2]=k[(k[u>>2]|0)+8>>2];k[o>>2]=k[t>>2]}else{c=eA(k[s>>2]|0)|0;k[y>>2]=c;c=eA(k[s>>2]|0)|0;k[x>>2]=c;k[o>>2]=1}k[n>>2]=(k[k[p>>2]>>2]|0)-(k[(k[B>>2]|0)+4>>2]|0);if((l[(k[B>>2]|0)+28>>0]|0)&1){c=(k[s>>2]|0)+76|0;a=(k[c>>2]|0)+1|0;k[c>>2]=a;k[q>>2]=a;a=(k[s>>2]|0)+72|0;c=k[a>>2]|0;k[a>>2]=c+1;k[m>>2]=c;if(k[(k[B>>2]|0)+16>>2]|0){c=cB(k[s>>2]|0)|0;k[g>>2]=c}dx(k[D>>2]|0,60,k[m>>2]|0,k[q>>2]|0,(k[n>>2]|0)+1+(k[o>>2]|0)|0)|0;if(k[g>>2]|0)Pz(k[D>>2]|0,k[g>>2]|0);c=1+($w(k[D>>2]|0,106,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=c;GG(k[D>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[v>>2]|0);dx(k[D>>2]|0,100,k[z>>2]|0,k[q>>2]|0,k[m>>2]|0)|0;k[h>>2]=0}else{q=1+($w(k[D>>2]|0,107,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=q;GG(k[D>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[v>>2]|0);k[m>>2]=k[z>>2];k[h>>2]=1}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[o>>2]|0))break;dx(k[D>>2]|0,47,k[m>>2]|0,(k[n>>2]|0)+(k[h>>2]|0)+(k[i>>2]|0)|0,(k[x>>2]|0)+(k[i>>2]|0)|0)|0;k[i>>2]=(k[i>>2]|0)+1}a:do switch(k[w>>2]|0){case 12:{$w(k[D>>2]|0,74,k[j>>2]|0,k[y>>2]|0)|0;dx(k[D>>2]|0,75,k[j>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;Ph(k[D>>2]|0,8);break}case 11:{cx(k[D>>2]|0,49,k[x>>2]|0,1,k[y>>2]|0,(k[u>>2]|0)+1|0,1)|0;MA(k[s>>2]|0,k[x>>2]|0,1);$w(k[D>>2]|0,110,k[j>>2]|0,k[y>>2]|0)|0;break}case 10:{wG(k[s>>2]|0,k[x>>2]|0,k[j>>2]|0,1);break}default:{f=k[D>>2]|0;g=k[u>>2]|0;if((k[w>>2]|0)==9){$w(f,33,k[g+8>>2]|0,k[t>>2]|0)|0;MA(k[s>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[t>>2]|0);break a}else{Hz(f,18,k[g+4>>2]|0)|0;break a}}}while(0);if(k[y>>2]|0){iA(k[s>>2]|0,k[x>>2]|0);iA(k[s>>2]|0,k[y>>2]|0)}Qz(k[D>>2]|0,k[v>>2]|0);h=k[D>>2]|0;g=k[z>>2]|0;f=k[A>>2]|0;if((l[(k[B>>2]|0)+28>>0]|0)&1)$w(h,3,g,f)|0;else $w(h,7,g,f)|0;if(!(k[(k[B>>2]|0)+12>>2]|0)){B=k[D>>2]|0;D=k[C>>2]|0;Qz(B,D);r=E;return}Hz(k[D>>2]|0,15,k[(k[B>>2]|0)+12>>2]|0)|0;B=k[D>>2]|0;D=k[C>>2]|0;Qz(B,D);r=E;return}function EG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;v=A+8|0;u=A;d=A+72|0;e=A+68|0;f=A+64|0;t=A+60|0;m=A+56|0;o=A+52|0;g=A+48|0;h=A+44|0;s=A+40|0;p=A+36|0;y=A+32|0;q=A+28|0;x=A+24|0;n=A+20|0;z=A+16|0;w=A+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[t>>2]=k[(k[d>>2]|0)+8>>2];k[g>>2]=k[k[d>>2]>>2];if(i[(k[d>>2]|0)+453>>0]|0){r=A;return}if(l[(k[d>>2]|0)+16>>0]|0){r=A;return}if(l[(k[g>>2]|0)+65>>0]|0){r=A;return}i[(k[d>>2]|0)+16>>0]=1;k[h>>2]=(k[(k[g>>2]|0)+24>>2]&4|0)!=0&1;k[s>>2]=(k[(k[g>>2]|0)+24>>2]&64|0)!=0&1;YB(k[t>>2]|0,k[k[f>>2]>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[p>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2];do if(k[p>>2]|0){if(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2]|0){k[y>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2];ZB(k[t>>2]|0,k[m>>2]|0,0,k[y>>2]|0,-1)|0;break}if((l[k[p>>2]>>0]|0)!=152?(l[k[p>>2]>>0]|0)!=154:0){k[w>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2];c=k[g>>2]|0;if(!(k[w>>2]|0)){k[v>>2]=(k[m>>2]|0)+1;c=Lh(c,36524,v)|0}else c=xh(c,k[w>>2]|0)|0;k[w>>2]=c;ZB(k[t>>2]|0,k[m>>2]|0,0,k[w>>2]|0,170)|0;break}k[n>>2]=j[(k[p>>2]|0)+32>>1];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[e>>2]>>2]|0))break;if((k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0)==(k[(k[p>>2]|0)+28>>2]|0))break;k[o>>2]=(k[o>>2]|0)+1}k[q>>2]=k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2];if((k[n>>2]|0)<0)k[n>>2]=j[(k[q>>2]|0)+32>>1];if((k[n>>2]|0)<0)k[x>>2]=25592;else k[x>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[n>>2]|0)*24|0)>>2];if(!((k[s>>2]|0)!=0|(k[h>>2]|0)!=0)){a=k[t>>2]|0;b=k[m>>2]|0;ZB(a,b,0,xh(k[g>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(k[h>>2]|0){k[z>>2]=0;b=k[g>>2]|0;a=k[x>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;b=Lh(b,31016,u)|0;k[z>>2]=b;ZB(k[t>>2]|0,k[m>>2]|0,0,k[z>>2]|0,170)|0;break}else{ZB(k[t>>2]|0,k[m>>2]|0,0,k[x>>2]|0,-1)|0;break}}while(0);k[m>>2]=(k[m>>2]|0)+1}FG(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=A;return}function FG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+64|0;l=j+56|0;m=j+52|0;d=j+48|0;h=j+44|0;e=j+40|0;g=j+8|0;f=j+4|0;i=j;k[l>>2]=a;k[m>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[l>>2]|0)+8>>2];k[g+4>>2]=k[m>>2];k[g>>2]=k[l>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];m=Wx(g,k[f>>2]|0,0)|0;k[i>>2]=m;ZB(k[h>>2]|0,k[e>>2]|0,1,k[i>>2]|0,-1)|0;k[e>>2]=(k[e>>2]|0)+1}r=j;return}function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}dx(k[d>>2]|0,138,k[e>>2]|0,k[f>>2]|0,1)|0;r=g;return}function HG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=r;r=r+32|0;h=f+24|0;i=f+20|0;n=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;g=f;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[l>>2]=d;k[m>>2]=e;k[j>>2]=k[(k[h>>2]|0)+8>>2];a=eA(k[h>>2]|0)|0;k[g>>2]=a;Oh(k[j>>2]|0,69,k[i>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;dx(k[j>>2]|0,49,k[m>>2]|0,k[l>>2]|0,k[g>>2]|0)|0;$w(k[j>>2]|0,110,k[i>>2]|0,k[g>>2]|0)|0;iA(k[h>>2]|0,k[g>>2]|0);r=f;return}function IG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;t=A+64|0;c=A+60|0;u=A+56|0;w=A+52|0;p=A+48|0;z=A+44|0;q=A+40|0;x=A+36|0;o=A+32|0;g=A+28|0;e=A+24|0;d=A+20|0;f=A+16|0;n=A+12|0;s=A+8|0;h=A+4|0;y=A;v=A+68|0;k[c>>2]=a;k[u>>2]=b;k[p>>2]=k[(k[c>>2]|0)+24>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+4>>2];k[x>>2]=k[(k[p>>2]|0)+12>>2];switch(l[k[u>>2]>>0]|0){case 152:case 154:{a:do if(k[q>>2]|0){k[o>>2]=(k[q>>2]|0)+8;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[k[q>>2]>>2]|0))break a;if((k[(k[u>>2]|0)+28>>2]|0)==(k[(k[o>>2]|0)+44>>2]|0))break;k[w>>2]=(k[w>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+72}k[g>>2]=k[(k[x>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0))break;if((k[(k[g>>2]|0)+4>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0)?(k[(k[g>>2]|0)+8>>2]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+24}if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0)?(y=KG(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[e>>2]=y,(y|0)>=0):0){k[g>>2]=(k[(k[x>>2]|0)+28>>2]|0)+((k[e>>2]|0)*24|0);k[k[g>>2]>>2]=k[(k[u>>2]|0)+44>>2];k[(k[g>>2]|0)+4>>2]=k[(k[u>>2]|0)+28>>2];k[(k[g>>2]|0)+8>>2]=j[(k[u>>2]|0)+32>>1];y=(k[z>>2]|0)+76|0;z=(k[y>>2]|0)+1|0;k[y>>2]=z;k[(k[g>>2]|0)+16>>2]=z;k[(k[g>>2]|0)+12>>2]=-1;k[(k[g>>2]|0)+20>>2]=k[u>>2];b:do if(k[(k[x>>2]|0)+24>>2]|0){k[n>>2]=k[(k[x>>2]|0)+24>>2];k[s>>2]=k[(k[n>>2]|0)+4>>2];k[f>>2]=k[k[n>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;k[h>>2]=k[k[s>>2]>>2];if(((l[k[h>>2]>>0]|0)==152?(k[(k[h>>2]|0)+28>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0):0)?(j[(k[h>>2]|0)+32>>1]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}k[(k[g>>2]|0)+12>>2]=k[d>>2]}while(0);if((k[(k[g>>2]|0)+12>>2]|0)<0){y=(k[x>>2]|0)+12|0;z=k[y>>2]|0;k[y>>2]=z+1;k[(k[g>>2]|0)+12>>2]=z}}k[(k[u>>2]|0)+40>>2]=k[x>>2];i[k[u>>2]>>0]=-102;j[(k[u>>2]|0)+34>>1]=k[e>>2]}while(0);k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}case 153:{if((m[(k[p>>2]|0)+28>>1]&8|0)==0?(k[(k[c>>2]|0)+16>>2]|0)==(l[(k[u>>2]|0)+38>>0]|0):0){k[y>>2]=k[(k[x>>2]|0)+40>>2];k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0))break;if(!(zy(k[k[y>>2]>>2]|0,k[u>>2]|0,-1)|0))break;k[w>>2]=(k[w>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+16}do if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0)?(i[v>>0]=i[(k[k[z>>2]>>2]|0)+62>>0]|0,a=LG(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[w>>2]=a,(k[w>>2]|0)>=0):0){k[y>>2]=(k[(k[x>>2]|0)+40>>2]|0)+(k[w>>2]<<4);k[k[y>>2]>>2]=k[u>>2];d=(k[z>>2]|0)+76|0;c=(k[d>>2]|0)+1|0;k[d>>2]=c;k[(k[y>>2]|0)+8>>2]=c;c=k[k[z>>2]>>2]|0;d=k[(k[u>>2]|0)+8>>2]|0;e=Sf(k[(k[u>>2]|0)+8>>2]|0)|0;if(k[(k[u>>2]|0)+20>>2]|0)f=k[k[(k[u>>2]|0)+20>>2]>>2]|0;else f=0;v=qi(c,d,e,f,i[v>>0]|0,0)|0;k[(k[y>>2]|0)+4>>2]=v;if(k[(k[u>>2]|0)+4>>2]&16){v=(k[z>>2]|0)+72|0;z=k[v>>2]|0;k[v>>2]=z+1;k[(k[y>>2]|0)+12>>2]=z;break}else{k[(k[y>>2]|0)+12>>2]=-1;break}}while(0);j[(k[u>>2]|0)+34>>1]=k[w>>2];k[(k[u>>2]|0)+40>>2]=k[x>>2];k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}default:{k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}}return 0}function JG(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function KG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=BC(k[f>>2]|0,k[(k[e>>2]|0)+28>>2]|0,24,(k[e>>2]|0)+32|0,c)|0;k[(k[e>>2]|0)+28>>2]=b;r=d;return k[c>>2]|0}function LG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=BC(k[f>>2]|0,k[(k[e>>2]|0)+40>>2]|0,16,(k[e>>2]|0)+44|0,c)|0;k[(k[e>>2]|0)+40>>2]=b;r=d;return k[c>>2]|0}function MG(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+96|0;q=J+88|0;s=J+84|0;h=J+80|0;j=J+76|0;n=J+72|0;t=J+68|0;o=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;p=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;k[q>>2]=a;k[s>>2]=b;k[h>>2]=c;k[j>>2]=d;k[n>>2]=e;k[t>>2]=f;k[o>>2]=g;k[I>>2]=k[(k[q>>2]|0)+8>>2];k[x>>2]=(l[(k[s>>2]|0)+28>>0]&1|0)==0&1;k[z>>2]=k[k[k[s>>2]>>2]>>2];k[p>>2]=(k[z>>2]|0)+(k[x>>2]|0)+(k[t>>2]|0);d=(k[q>>2]|0)+76|0;e=(k[d>>2]|0)+1|0;k[d>>2]=e;k[H>>2]=e;k[B>>2]=k[(k[s>>2]|0)+4>>2];if(k[o>>2]|0)k[F>>2]=(k[j>>2]|0)-(k[z>>2]|0)-(k[x>>2]|0);else{k[F>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;e=(k[q>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+(k[p>>2]|0)}f=k[h>>2]|0;if(k[(k[h>>2]|0)+12>>2]|0)f=(k[f+12>>2]|0)+1|0;else f=k[f+8>>2]|0;k[y>>2]=f;h=Mz(k[I>>2]|0)|0;k[(k[s>>2]|0)+24>>2]=h;QA(k[q>>2]|0,k[k[s>>2]>>2]|0,k[F>>2]|0,k[n>>2]|0,5)|0;if(k[x>>2]|0)$w(k[I>>2]|0,73,k[(k[s>>2]|0)+8>>2]|0,(k[F>>2]|0)+(k[z>>2]|0)|0)|0;if(!(k[o>>2]|0))wG(k[q>>2]|0,k[j>>2]|0,(k[F>>2]|0)+(k[z>>2]|0)+(k[x>>2]|0)|0,k[t>>2]|0);dx(k[I>>2]|0,49,(k[F>>2]|0)+(k[B>>2]|0)|0,(k[p>>2]|0)-(k[B>>2]|0)|0,k[H>>2]|0)|0;if((k[B>>2]|0)>0){k[G>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;f=(k[q>>2]|0)+76|0;k[f>>2]=(k[f>>2]|0)+(k[(k[s>>2]|0)+4>>2]|0);k[A>>2]=(k[z>>2]|0)-(k[(k[s>>2]|0)+4>>2]|0)+(k[x>>2]|0);f=k[I>>2]|0;if(k[x>>2]|0){z=Hz(f,46,(k[F>>2]|0)+(k[z>>2]|0)|0)|0;k[v>>2]=z}else{z=Hz(f,59,k[(k[s>>2]|0)+8>>2]|0)|0;k[v>>2]=z}dx(k[I>>2]|0,42,k[G>>2]|0,k[F>>2]|0,k[(k[s>>2]|0)+4>>2]|0)|0;z=Wz(k[I>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;k[E>>2]=z;if(i[(k[k[q>>2]>>2]|0)+65>>0]|0){r=J;return}k[(k[E>>2]|0)+8>>2]=(k[A>>2]|0)+(k[t>>2]|0);k[D>>2]=k[(k[E>>2]|0)+16>>2];uR(k[(k[D>>2]|0)+16>>2]|0,0,m[(k[D>>2]|0)+6>>1]|0)|0;Sh(k[I>>2]|0,-1,k[D>>2]|0,-6);D=jG(k[q>>2]|0,k[k[s>>2]>>2]|0,k[B>>2]|0,(m[(k[D>>2]|0)+8>>1]|0)-1|0)|0;k[(k[E>>2]|0)+16>>2]=D;D=Lz(k[I>>2]|0)|0;k[w>>2]=D;dx(k[I>>2]|0,43,(k[w>>2]|0)+1|0,0,(k[w>>2]|0)+1|0)|0;D=Mz(k[I>>2]|0)|0;k[(k[s>>2]|0)+16>>2]=D;D=(k[q>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[(k[s>>2]|0)+12>>2]=E;$w(k[I>>2]|0,14,k[(k[s>>2]|0)+12>>2]|0,k[(k[s>>2]|0)+16>>2]|0)|0;Hz(k[I>>2]|0,120,k[(k[s>>2]|0)+8>>2]|0)|0;if(k[y>>2]|0)$w(k[I>>2]|0,46,k[y>>2]|0,k[(k[s>>2]|0)+24>>2]|0)|0;Pz(k[I>>2]|0,k[v>>2]|0);wG(k[q>>2]|0,k[F>>2]|0,k[G>>2]|0,k[(k[s>>2]|0)+4>>2]|0);Pz(k[I>>2]|0,k[w>>2]|0)}if(l[(k[s>>2]|0)+28>>0]&1)k[C>>2]=109;else k[C>>2]=110;$w(k[I>>2]|0,k[C>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[H>>2]|0)|0;if(!(k[y>>2]|0)){r=J;return}H=dx(k[I>>2]|0,140,k[y>>2]|0,0,1)|0;k[u>>2]=H;Hz(k[I>>2]|0,105,k[(k[s>>2]|0)+8>>2]|0)|0;Hz(k[I>>2]|0,95,k[(k[s>>2]|0)+8>>2]|0)|0;Pz(k[I>>2]|0,k[u>>2]|0);r=J;return}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;h=p+20|0;e=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;k[e>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;if(!(k[m>>2]|0)){k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}do if((l[k[m>>2]>>0]|0)==152?(k[(k[m>>2]|0)+28>>2]|0)==(k[n>>2]|0):0)if((j[(k[m>>2]|0)+32>>1]|0)<0){i[k[m>>2]>>0]=101;break}else{o=xy(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;k[f>>2]=o;hv(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[f>>2];break}else g=8;while(0);do if((g|0)==8){a=NG(k[e>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+12>>2]=a;a=NG(k[e>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=a;e=k[e>>2]|0;a=(k[m>>2]|0)+20|0;if(k[(k[m>>2]|0)+4>>2]&2048){OG(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0,1);break}else{PG(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0);break}}while(0);k[h>>2]=k[m>>2];o=k[h>>2]|0;r=p;return o|0}function OG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;o=p+8|0;n=p+4|0;m=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if(!(k[g>>2]|0)){r=p;return}while(1){PG(k[f>>2]|0,k[k[g>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0);PG(k[f>>2]|0,k[(k[g>>2]|0)+40>>2]|0,k[h>>2]|0,k[i>>2]|0);PG(k[f>>2]|0,k[(k[g>>2]|0)+48>>2]|0,k[h>>2]|0,k[i>>2]|0);d=NG(k[f>>2]|0,k[(k[g>>2]|0)+44>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+44>>2]=d;d=NG(k[f>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+36>>2]=d;k[o>>2]=k[(k[g>>2]|0)+32>>2];k[m>>2]=k[k[o>>2]>>2];k[n>>2]=(k[o>>2]|0)+8;while(1){if((k[m>>2]|0)<=0)break;OG(k[f>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[h>>2]|0,k[i>>2]|0,1);if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1)PG(k[f>>2]|0,k[(k[n>>2]|0)+64>>2]|0,k[h>>2]|0,k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+72}if(!(k[j>>2]|0)){f=9;break}d=k[(k[g>>2]|0)+52>>2]|0;k[g>>2]=d;if(!d){f=9;break}}if((f|0)==9){r=p;return}}function PG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[k[f>>2]>>2]|0))break;b=NG(k[e>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]=b;k[i>>2]=(k[i>>2]|0)+1}r=j;return}function QG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=1;k[i>>2]=0;while(1){if(!(k[(k[e>>2]|0)+52>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+52>>2];k[g>>2]=(k[g>>2]|0)+1}while(1){if(!(k[e>>2]|0)){d=7;break}k[h>>2]=k[(k[e>>2]|0)+52>>2];k[(k[e>>2]|0)+52>>2]=0;a=Mv(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=a;k[(k[e>>2]|0)+52>>2]=k[h>>2];if(k[i>>2]|0){d=7;break}c=k[g>>2]|0;a=(k[e>>2]|0)+24|0;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;k[e>>2]=k[(k[e>>2]|0)+56>>2]}if((d|0)==7){r=j;return k[i>>2]|0}return 0}function RG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+128|0;H=I;p=I+112|0;q=I+108|0;s=I+104|0;e=I+100|0;i=I+96|0;G=I+92|0;C=I+88|0;v=I+84|0;u=I+80|0;t=I+76|0;x=I+72|0;D=I+68|0;y=I+64|0;h=I+60|0;g=I+56|0;w=I+36|0;d=I+32|0;o=I+28|0;B=I+24|0;z=I+20|0;A=I+16|0;E=I+12|0;F=I+8|0;n=I+4|0;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[e>>2]=k[(k[q>>2]|0)+32>>2];k[i>>2]=k[k[k[q>>2]>>2]>>2];k[G>>2]=k[(k[p>>2]|0)+8>>2];k[C>>2]=k[(k[q>>2]|0)+52>>2];k[x>>2]=0;k[h>>2]=0;k[g>>2]=5;if(Ww(k[p>>2]|0,33,0,0,0)|0){r=I;return}a=Mz(k[G>>2]|0)|0;k[t>>2]=a;kG(k[p>>2]|0,k[q>>2]|0,k[t>>2]|0);k[z>>2]=k[(k[q>>2]|0)+60>>2];k[A>>2]=k[(k[q>>2]|0)+64>>2];k[E>>2]=k[(k[q>>2]|0)+8>>2];k[F>>2]=k[(k[q>>2]|0)+12>>2];k[(k[q>>2]|0)+64>>2]=0;k[(k[q>>2]|0)+60>>2]=0;k[(k[q>>2]|0)+12>>2]=0;k[(k[q>>2]|0)+8>>2]=0;k[B>>2]=k[(k[q>>2]|0)+48>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;b=k[d>>2]|0;if((l[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){f=5;break}k[d>>2]=b+1}if((f|0)==5)k[x>>2]=k[(k[e>>2]|0)+8+(b*72|0)+44>>2];f=(k[p>>2]|0)+72|0;b=k[f>>2]|0;k[f>>2]=b+1;k[y>>2]=b;b=(k[B>>2]|0)!=0;if((l[(k[q>>2]|0)+4>>0]|0|0)==115){k[g>>2]=b?8:6;e=(k[p>>2]|0)+72|0;f=k[e>>2]|0;k[e>>2]=f+1;k[h>>2]=f}else k[g>>2]=b?7:5;hB(w,k[g>>2]|0,k[y>>2]|0);f=(k[p>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[D>>2]=g;dx(k[G>>2]|0,60,k[x>>2]|0,k[D>>2]|0,k[i>>2]|0)|0;if(k[B>>2]|0){i=VG(k[p>>2]|0,k[q>>2]|0,1)|0;k[n>>2]=i;cx(k[G>>2]|0,57,k[y>>2]|0,(k[k[B>>2]>>2]|0)+2|0,0,k[n>>2]|0,-6)|0;k[w+16>>2]=k[B>>2]}else $w(k[G>>2]|0,57,k[y>>2]|0,k[i>>2]|0)|0;if(k[h>>2]|0){n=$w(k[G>>2]|0,57,k[h>>2]|0,0)|0;k[(k[q>>2]|0)+16>>2]=n;n=(k[q>>2]|0)+6|0;j[n>>1]=m[n>>1]|0|16}k[(k[q>>2]|0)+48>>2]=0;k[(k[C>>2]|0)+56>>2]=0;n=Mv(k[p>>2]|0,k[C>>2]|0,w)|0;k[o>>2]=n;k[(k[C>>2]|0)+56>>2]=k[q>>2];if(!(k[o>>2]|0)){b=$w(k[G>>2]|0,108,k[y>>2]|0,k[t>>2]|0)|0;k[v>>2]=b;Hz(k[G>>2]|0,104,k[x>>2]|0)|0;b=k[G>>2]|0;c=k[y>>2]|0;if(k[B>>2]|0)dx(b,47,c,(k[k[B>>2]>>2]|0)+1|0,k[D>>2]|0)|0;else $w(b,102,c,k[D>>2]|0)|0;Hz(k[G>>2]|0,95,k[y>>2]|0)|0;D=Mz(k[G>>2]|0)|0;k[u>>2]=D;GG(k[G>>2]|0,k[F>>2]|0,k[u>>2]|0);rG(k[p>>2]|0,k[q>>2]|0,k[k[q>>2]>>2]|0,k[x>>2]|0,0,0,k[s>>2]|0,k[u>>2]|0,k[t>>2]|0);if(k[E>>2]|0)$w(k[G>>2]|0,141,k[E>>2]|0,k[t>>2]|0)|0;Qz(k[G>>2]|0,k[u>>2]|0);if((m[(k[q>>2]|0)+6>>1]|0)&8)Kh(k[p>>2]|0,36805,H);else{k[(k[q>>2]|0)+52>>2]=0;Mv(k[p>>2]|0,k[q>>2]|0,w)|0;k[(k[q>>2]|0)+52>>2]=k[C>>2]}Oz(k[G>>2]|0,k[v>>2]|0)|0;Qz(k[G>>2]|0,k[t>>2]|0)}dv(k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+48>>2]|0);k[(k[q>>2]|0)+48>>2]=k[B>>2];k[(k[q>>2]|0)+60>>2]=k[z>>2];k[(k[q>>2]|0)+64>>2]=k[A>>2];r=I;return}function SG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+224|0;p=ca+212|0;q=ca+208|0;s=ca+204|0;t=ca+200|0;d=ca+196|0;e=ca+192|0;T=ca+188|0;ba=ca+184|0;H=ca+164|0;I=ca+144|0;U=ca+140|0;V=ca+136|0;E=ca+132|0;F=ca+128|0;Y=ca+124|0;Z=ca+120|0;C=ca+116|0;D=ca+112|0;z=ca+108|0;A=ca+104|0;B=ca+100|0;y=ca+96|0;w=ca+92|0;x=ca+88|0;W=ca+84|0;X=ca+80|0;_=ca+76|0;$=ca+72|0;aa=ca+68|0;M=ca+64|0;N=ca+60|0;v=ca+56|0;P=ca+52|0;R=ca+48|0;S=ca+44|0;G=ca+40|0;o=ca+36|0;O=ca+32|0;u=ca+28|0;J=ca+24|0;K=ca+20|0;g=ca+16|0;n=ca+12|0;h=ca+8|0;f=ca+4|0;Q=ca;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[D>>2]=0;k[R>>2]=0;k[G>>2]=k[k[q>>2]>>2];k[ba>>2]=k[(k[q>>2]|0)+8>>2];a=Mz(k[ba>>2]|0)|0;k[N>>2]=a;a=Mz(k[ba>>2]|0)|0;k[M>>2]=a;k[P>>2]=l[(k[s>>2]|0)+4>>0];k[T>>2]=k[(k[s>>2]|0)+52>>2];k[o>>2]=k[(k[s>>2]|0)+48>>2];k[O>>2]=k[k[o>>2]>>2];a:do if((k[P>>2]|0)!=116){k[d>>2]=1;while(1){if(l[(k[G>>2]|0)+65>>0]|0)break a;if((k[d>>2]|0)>(k[k[k[s>>2]>>2]>>2]|0))break a;k[e>>2]=0;k[g>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[O>>2]|0))break;if((m[(k[g>>2]|0)+16>>1]|0|0)==(k[d>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}if((k[e>>2]|0)==(k[O>>2]|0)){a=Tv(k[G>>2]|0,132,0)|0;k[n>>2]=a;if(!(k[n>>2]|0))break;a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[d>>2];a=Qv(k[q>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){c=k[d>>2]&65535;a=k[O>>2]|0;k[O>>2]=a+1;j[(k[(k[o>>2]|0)+4>>2]|0)+(a*20|0)+16>>1]=c}}k[d>>2]=(k[d>>2]|0)+1}k[p>>2]=7;ba=k[p>>2]|0;r=ca;return ba|0}while(0);a=Pw(k[G>>2]|0,(k[O>>2]|0)+1<<2,0)|0;k[u>>2]=a;if(k[u>>2]|0){k[k[u>>2]>>2]=k[O>>2];k[d>>2]=1;k[h>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[d>>2]|0)>(k[O>>2]|0))break;k[(k[u>>2]|0)+(k[d>>2]<<2)>>2]=(m[(k[h>>2]|0)+16>>1]|0)-1;k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}a=VG(k[q>>2]|0,k[s>>2]|0,1)|0;k[S>>2]=a}else k[S>>2]=0;k[(k[s>>2]|0)+48>>2]=k[o>>2];a=Fy(k[k[q>>2]>>2]|0,k[o>>2]|0,0)|0;k[(k[T>>2]|0)+48>>2]=a;b:do if((k[P>>2]|0)!=116){k[f>>2]=k[k[k[s>>2]>>2]>>2];k[_>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;a=(k[q>>2]|0)+76|0;k[a>>2]=(k[a>>2]|0)+((k[f>>2]|0)+1);$w(k[ba>>2]|0,22,0,k[_>>2]|0)|0;a=_z(k[G>>2]|0,k[f>>2]|0,1)|0;k[R>>2]=a;if(k[R>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;a=UG(k[q>>2]|0,k[s>>2]|0,k[d>>2]|0)|0;k[(k[R>>2]|0)+20+(k[d>>2]<<2)>>2]=a;i[(k[(k[R>>2]|0)+16>>2]|0)+(k[d>>2]|0)>>0]=0;k[d>>2]=(k[d>>2]|0)+1}}}else k[_>>2]=0;while(0);k[(k[s>>2]|0)+52>>2]=0;k[(k[T>>2]|0)+56>>2]=0;Iy(k[q>>2]|0,k[s>>2]|0,k[(k[s>>2]|0)+48>>2]|0,29962)|0;if(!(k[(k[T>>2]|0)+52>>2]|0))Iy(k[q>>2]|0,k[T>>2]|0,k[(k[T>>2]|0)+48>>2]|0,29962)|0;kG(k[q>>2]|0,k[s>>2]|0,k[N>>2]|0);if((k[P>>2]|0)==116?(k[(k[s>>2]|0)+8>>2]|0)!=0:0){d=(k[q>>2]|0)+76|0;a=(k[d>>2]|0)+1|0;k[d>>2]=a;k[W>>2]=a;a=(k[q>>2]|0)+76|0;d=(k[a>>2]|0)+1|0;k[a>>2]=d;k[X>>2]=d;d=k[s>>2]|0;if(k[(k[s>>2]|0)+12>>2]|0)d=(k[d+12>>2]|0)+1|0;else d=k[d+8>>2]|0;$w(k[ba>>2]|0,30,d,k[W>>2]|0)|0;$w(k[ba>>2]|0,30,k[W>>2]|0,k[X>>2]|0)|0}else{k[X>>2]=0;k[W>>2]=0}hv(k[G>>2]|0,k[(k[s>>2]|0)+60>>2]|0);k[(k[s>>2]|0)+60>>2]=0;hv(k[G>>2]|0,k[(k[s>>2]|0)+64>>2]|0);k[(k[s>>2]|0)+64>>2]=0;a=(k[q>>2]|0)+76|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[U>>2]=o;o=(k[q>>2]|0)+76|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[V>>2]=a;a=(k[q>>2]|0)+76|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[Y>>2]=o;o=(k[q>>2]|0)+76|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[Z>>2]=a;hB(H,13,k[U>>2]|0);hB(I,13,k[V>>2]|0);a=(Lz(k[ba>>2]|0)|0)+1|0;k[E>>2]=a;E=dx(k[ba>>2]|0,16,k[U>>2]|0,0,k[E>>2]|0)|0;k[v>>2]=E;k[(k[T>>2]|0)+8>>2]=k[W>>2];k[J>>2]=k[(k[q>>2]|0)+472>>2];Mv(k[q>>2]|0,k[T>>2]|0,H)|0;HC(k[ba>>2]|0,k[U>>2]|0);Pz(k[ba>>2]|0,k[v>>2]|0);W=(Lz(k[ba>>2]|0)|0)+1|0;k[F>>2]=W;W=dx(k[ba>>2]|0,16,k[V>>2]|0,0,k[F>>2]|0)|0;k[v>>2]=W;k[$>>2]=k[(k[s>>2]|0)+8>>2];k[aa>>2]=k[(k[s>>2]|0)+12>>2];k[(k[s>>2]|0)+8>>2]=k[X>>2];k[(k[s>>2]|0)+12>>2]=0;k[K>>2]=k[(k[q>>2]|0)+472>>2];Mv(k[q>>2]|0,k[s>>2]|0,I)|0;k[(k[s>>2]|0)+8>>2]=k[$>>2];k[(k[s>>2]|0)+12>>2]=k[aa>>2];HC(k[ba>>2]|0,k[V>>2]|0);aa=WG(k[q>>2]|0,k[s>>2]|0,H,k[t>>2]|0,k[Y>>2]|0,k[_>>2]|0,k[R>>2]|0,k[N>>2]|0)|0;k[C>>2]=aa;if((k[P>>2]|0)==116|(k[P>>2]|0)==115){aa=WG(k[q>>2]|0,k[s>>2]|0,I,k[t>>2]|0,k[Z>>2]|0,k[_>>2]|0,k[R>>2]|0,k[N>>2]|0)|0;k[D>>2]=aa}$z(k[R>>2]|0);if((k[P>>2]|0)==117|(k[P>>2]|0)==118){aa=k[N>>2]|0;k[z>>2]=aa;k[A>>2]=aa}else{$=$w(k[ba>>2]|0,14,k[Z>>2]|0,k[D>>2]|0)|0;k[z>>2]=$;$=$w(k[ba>>2]|0,18,k[V>>2]|0,k[N>>2]|0)|0;k[A>>2]=$;Oz(k[ba>>2]|0,k[z>>2]|0)|0;$=(k[T>>2]|0)+24|0;aa=(k[s>>2]|0)+24|0;_=aa;$=qR(k[_>>2]|0,k[_+4>>2]|0,k[$>>2]|0,k[$+4>>2]|0)|0;k[aa>>2]=$;k[aa+4>>2]=L}if((k[P>>2]|0)==118){k[B>>2]=k[z>>2];$=(k[s>>2]|0)+24|0;X=k[$+4>>2]|0;aa=(k[T>>2]|0)+24|0;_=k[aa+4>>2]|0;if(X>>>0>_>>>0|((X|0)==(_|0)?(k[$>>2]|0)>>>0>(k[aa>>2]|0)>>>0:0)){_=(k[T>>2]|0)+24|0;$=k[_+4>>2]|0;aa=(k[s>>2]|0)+24|0;k[aa>>2]=k[_>>2];k[aa+4>>2]=$}}else{aa=$w(k[ba>>2]|0,14,k[Y>>2]|0,k[C>>2]|0)|0;k[B>>2]=aa;$w(k[ba>>2]|0,18,k[U>>2]|0,k[N>>2]|0)|0;Oz(k[ba>>2]|0,k[B>>2]|0)|0}aa=$w(k[ba>>2]|0,14,k[Y>>2]|0,k[C>>2]|0)|0;k[y>>2]=aa;$w(k[ba>>2]|0,18,k[U>>2]|0,k[z>>2]|0)|0;Oz(k[ba>>2]|0,k[M>>2]|0)|0;do if((k[P>>2]|0)!=116)if((k[P>>2]|0)==118){k[w>>2]=k[y>>2];k[y>>2]=(k[y>>2]|0)+1;break}else{aa=$w(k[ba>>2]|0,18,k[U>>2]|0,k[z>>2]|0)|0;k[w>>2]=aa;Oz(k[ba>>2]|0,k[M>>2]|0)|0;break}else k[w>>2]=k[y>>2];while(0);aa=Lz(k[ba>>2]|0)|0;k[x>>2]=aa;if((k[P>>2]|0)==116|(k[P>>2]|0)==115)$w(k[ba>>2]|0,14,k[Z>>2]|0,k[D>>2]|0)|0;$w(k[ba>>2]|0,18,k[V>>2]|0,k[B>>2]|0)|0;Oz(k[ba>>2]|0,k[M>>2]|0)|0;Pz(k[ba>>2]|0,k[v>>2]|0);$w(k[ba>>2]|0,18,k[U>>2]|0,k[A>>2]|0)|0;$w(k[ba>>2]|0,18,k[V>>2]|0,k[B>>2]|0)|0;Qz(k[ba>>2]|0,k[M>>2]|0);cx(k[ba>>2]|0,41,0,0,0,k[u>>2]|0,-15)|0;cx(k[ba>>2]|0,42,k[H+8>>2]|0,k[I+8>>2]|0,k[O>>2]|0,k[S>>2]|0,-6)|0;Ph(k[ba>>2]|0,1);dx(k[ba>>2]|0,43,k[y>>2]|0,k[w>>2]|0,k[x>>2]|0)|0;Qz(k[ba>>2]|0,k[N>>2]|0);if((l[k[t>>2]>>0]|0|0)==9){k[Q>>2]=k[T>>2];while(1){if(!(k[(k[Q>>2]|0)+52>>2]|0))break;k[Q>>2]=k[(k[Q>>2]|0)+52>>2]}EG(k[q>>2]|0,k[(k[Q>>2]|0)+32>>2]|0,k[k[Q>>2]>>2]|0)}if(k[(k[s>>2]|0)+52>>2]|0)ev(k[G>>2]|0,k[(k[s>>2]|0)+52>>2]|0);k[(k[s>>2]|0)+52>>2]=k[T>>2];k[(k[T>>2]|0)+56>>2]=k[s>>2];TG(k[q>>2]|0,l[(k[s>>2]|0)+4>>0]|0,k[J>>2]|0,k[K>>2]|0,0);k[p>>2]=(k[(k[q>>2]|0)+68>>2]|0)!=0&1;ba=k[p>>2]|0;r=ca;return ba|0}function TG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;m=p+20|0;o=p+16|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((l[(k[f>>2]|0)+453>>0]|0|0)!=2){r=p;return}k[m>>2]=k[(k[f>>2]|0)+8>>2];a=k[k[f>>2]>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0;d=(k[j>>2]|0)!=0?36749:19266;b=Hy(k[g>>2]|0)|0;k[n>>2]=e;k[n+4>>2]=c;k[n+8>>2]=d;k[n+12>>2]=b;n=Lh(a,36768,n)|0;k[o>>2]=n;cx(k[m>>2]|0,161,k[(k[f>>2]|0)+468>>2]|0,0,0,k[o>>2]|0,-1)|0;r=p;return}function UG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+52>>2]|0){a=UG(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,k[f>>2]|0)|0;k[g>>2]=a}else k[g>>2]=0;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}if((k[f>>2]|0)>=(k[k[k[e>>2]>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=Yx(k[d>>2]|0,k[(k[(k[k[e>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function VG(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,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+40|0;e=q+36|0;s=q+32|0;n=q+28|0;h=q+24|0;f=q+20|0;o=q+16|0;g=q+12|0;l=q+8|0;p=q+4|0;j=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[n>>2]=k[(k[e>>2]|0)+48>>2];k[h>>2]=k[k[(k[e>>2]|0)+48>>2]>>2];k[f>>2]=k[k[d>>2]>>2];a=_z(k[f>>2]|0,(k[h>>2]|0)+(k[s>>2]|0)|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){s=k[o>>2]|0;r=q;return s|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[l>>2]=(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);k[p>>2]=k[k[l>>2]>>2];c=k[d>>2]|0;if(k[(k[p>>2]|0)+4>>2]&256){s=Yx(c,k[p>>2]|0)|0;k[j>>2]=s}else{s=UG(c,k[e>>2]|0,(m[(k[l>>2]|0)+16>>1]|0)-1|0)|0;k[j>>2]=s;if(!(k[j>>2]|0))k[j>>2]=k[(k[f>>2]|0)+8>>2];s=Ly(k[d>>2]|0,k[p>>2]|0,k[k[j>>2]>>2]|0)|0;k[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]=s}k[(k[o>>2]|0)+20+(k[g>>2]<<2)>>2]=k[j>>2];i[(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0;k[g>>2]=(k[g>>2]|0)+1}s=k[o>>2]|0;r=q;return s|0}function WG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;j=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[C>>2]=k[(k[m>>2]|0)+8>>2];e=Lz(k[C>>2]|0)|0;k[v>>2]=e;e=Mz(k[C>>2]|0)|0;k[y>>2]=e;if(k[s>>2]|0){g=Hz(k[C>>2]|0,46,k[s>>2]|0)|0;k[w>>2]=g;g=k[C>>2]|0;a=k[(k[o>>2]|0)+8>>2]|0;f=(k[s>>2]|0)+1|0;e=k[(k[o>>2]|0)+12>>2]|0;e=cx(g,42,a,f,e,dA(k[t>>2]|0)|0,-6)|0;k[x>>2]=e;dx(k[C>>2]|0,43,(k[x>>2]|0)+2|0,k[y>>2]|0,(k[x>>2]|0)+2|0)|0;Pz(k[C>>2]|0,k[w>>2]|0);dx(k[C>>2]|0,30,k[(k[o>>2]|0)+8>>2]|0,(k[s>>2]|0)+1|0,(k[(k[o>>2]|0)+12>>2]|0)-1|0)|0;$w(k[C>>2]|0,22,1,k[s>>2]|0)|0}if(i[(k[k[m>>2]>>2]|0)+65>>0]|0){k[j>>2]=0;C=k[j>>2]|0;r=D;return C|0}GG(k[C>>2]|0,k[(k[n>>2]|0)+12>>2]|0,k[y>>2]|0);switch(l[k[p>>2]>>0]|0){case 12:{e=eA(k[m>>2]|0)|0;k[z>>2]=e;e=eA(k[m>>2]|0)|0;k[B>>2]=e;dx(k[C>>2]|0,49,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[z>>2]|0)|0;$w(k[C>>2]|0,74,k[(k[p>>2]|0)+4>>2]|0,k[B>>2]|0)|0;dx(k[C>>2]|0,75,k[(k[p>>2]|0)+4>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;Ph(k[C>>2]|0,8);iA(k[m>>2]|0,k[B>>2]|0);iA(k[m>>2]|0,k[z>>2]|0);break}case 11:{e=aB(k[k[(k[k[n>>2]>>2]|0)+4>>2]>>2]|0,i[(k[p>>2]|0)+1>>0]|0)|0;i[(k[p>>2]|0)+1>>0]=e;e=eA(k[m>>2]|0)|0;k[A>>2]=e;cx(k[C>>2]|0,49,k[(k[o>>2]|0)+8>>2]|0,1,k[A>>2]|0,(k[p>>2]|0)+1|0,1)|0;MA(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,1);$w(k[C>>2]|0,110,k[(k[p>>2]|0)+4>>2]|0,k[A>>2]|0)|0;iA(k[m>>2]|0,k[A>>2]|0);break}case 10:{wG(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[p>>2]|0)+4>>2]|0,1);break}case 13:{if(!(k[(k[p>>2]|0)+8>>2]|0)){e=uA(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[p>>2]|0)+8>>2]=e;k[(k[p>>2]|0)+12>>2]=k[(k[o>>2]|0)+12>>2]}wG(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[p>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0);Hz(k[C>>2]|0,18,k[(k[p>>2]|0)+4>>2]|0)|0;break}default:{$w(k[C>>2]|0,33,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;MA(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0)}}if(k[(k[n>>2]|0)+8>>2]|0)$w(k[C>>2]|0,141,k[(k[n>>2]|0)+8>>2]|0,k[u>>2]|0)|0;Qz(k[C>>2]|0,k[y>>2]|0);Hz(k[C>>2]|0,15,k[q>>2]|0)|0;k[j>>2]=k[v>>2];C=k[j>>2]|0;r=D;return C|0}function XG(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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[(k[g>>2]|0)+24>>2]&524288)){r=n;return}if((l[(k[f>>2]|0)+42>>0]|0)&16){r=n;return}if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[h>>2]=0;c=Zw(k[d>>2]|0)|0;k[m>>2]=c;do if(!(Ox(k[f>>2]|0)|0)){k[j>>2]=k[(k[f>>2]|0)+16>>2];while(1){if(!(k[j>>2]|0))break;if(l[(k[j>>2]|0)+24>>0]|0)break;if(k[(k[g>>2]|0)+24>>2]&16777216)break;k[j>>2]=k[(k[j>>2]|0)+4>>2]}if(k[j>>2]|0){c=Mz(k[m>>2]|0)|0;k[h>>2]=c;$w(k[m>>2]|0,136,1,k[h>>2]|0)|0;break}else{r=n;return}}while(0);i[(k[d>>2]|0)+442>>0]=1;c=k[d>>2]|0;$v(c,vz(k[g>>2]|0,k[e>>2]|0,0)|0,0);i[(k[d>>2]|0)+442>>0]=0;if(!(k[(k[g>>2]|0)+24>>2]&16777216)){c=k[m>>2]|0;$w(c,136,0,(Lz(k[m>>2]|0)|0)+2|0)|0;lA(k[d>>2]|0,787,2,0,-2,4)}if(!(k[h>>2]|0)){r=n;return}Qz(k[m>>2]|0,k[h>>2]|0);r=n;return}function YG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;n=q+32|0;i=q+28|0;m=q+24|0;j=q+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[j>>2]=(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<4);b=Zw(k[e>>2]|0)|0;k[n>>2]=b;kx(k[e>>2]|0,1,k[g>>2]|0);if((l[(k[f>>2]|0)+42>>0]|0)&16)gx(k[n>>2]|0,149)|0;b=px(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=b;while(1){if(!(k[m>>2]|0))break;KB(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[(k[m>>2]|0)+32>>2]}if((l[(k[f>>2]|0)+42>>0]|0)&8){m=k[e>>2]|0;b=k[k[f>>2]>>2]|0;k[o>>2]=k[k[j>>2]>>2];k[o+4>>2]=b;Yw(m,37066,o)}o=k[e>>2]|0;b=(k[g>>2]|0)==1?20769:20788;m=k[k[f>>2]>>2]|0;k[p>>2]=k[k[j>>2]>>2];k[p+4>>2]=b;k[p+8>>2]=m;Yw(o,37111,p);if((k[h>>2]|0)==0?((l[(k[f>>2]|0)+42>>0]|0)&16|0)==0:0)ZG(k[e>>2]|0,k[f>>2]|0);if(!((l[(k[f>>2]|0)+42>>0]|0)&16)){n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;cx(n,125,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;_w(p,o);o=k[i>>2]|0;p=k[g>>2]|0;_G(o,p);r=q;return}cx(k[n>>2]|0,151,k[g>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;cx(n,125,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;_w(p,o);o=k[i>>2]|0;p=k[g>>2]|0;_G(o,p);r=q;return}function ZG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;i=m+20|0;f=m+16|0;j=m+12|0;h=m+8|0;g=m+4|0;e=m;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+28>>2];k[f>>2]=0;while(1){k[h>>2]=0;if(!((k[f>>2]|0)!=0?(k[i>>2]|0)>=(k[f>>2]|0):0))k[h>>2]=k[i>>2];k[j>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[g>>2]=k[(k[j>>2]|0)+44>>2];if(!((k[f>>2]|0)!=0?(k[g>>2]|0)>=(k[f>>2]|0):0))l=9;if((l|0)==9?(l=0,(k[g>>2]|0)>(k[h>>2]|0)):0)k[h>>2]=k[g>>2];k[j>>2]=k[(k[j>>2]|0)+20>>2]}if(!(k[h>>2]|0))break;b=Nh(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0;k[e>>2]=b;AC(k[c>>2]|0,k[h>>2]|0,k[e>>2]|0);k[f>>2]=k[h>>2]}r=m;return}function _G(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){r=g;return}k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[f>>2]|0)+12>>2]|0){$G(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+4>>2]=0;j[(k[f>>2]|0)+34>>1]=0}k[e>>2]=k[k[e>>2]>>2]}f=(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78|0;j[f>>1]=(m[f>>1]|0)&-3;r=g;return}function $G(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=k[(k[d>>2]|0)+4>>2]|0;k[f>>2]=b;if(!b){r=g;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;ag(a,k[k[f>>2]>>2]|0);hv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+24}ag(a,k[(k[d>>2]|0)+4>>2]|0);r=g;return}function aH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=r;r=r+144|0;f=o+128|0;g=o+124|0;h=o+120|0;i=o+116|0;l=o+112|0;n=o;m=o+80|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[m+28>>2]=0;d=n;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=1;k[n+8+8>>2]=k[k[g>>2]>>2];k[n+8+16>>2]=k[g>>2];k[n+8+44>>2]=-1;k[m>>2]=k[f>>2];k[m+4>>2]=n;j[m+28>>1]=k[h>>2];n=(py(m,k[i>>2]|0)|0)==0;if(!(n&(k[l>>2]|0)!=0)){r=o;return}qy(m,k[l>>2]|0)|0;r=o;return}function bH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;if((l[k[b>>2]>>0]|0|0)==97){i[a>>0]=27;r=c;return}if((l[a>>0]|0|0)!=95){r=c;return}if((l[k[(k[b>>2]|0)+12>>2]>>0]|0|0)!=97){r=c;return}i[k[(k[b>>2]|0)+12>>2]>>0]=27;r=c;return}function cH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0){d=5;break}b=k[f>>2]|0;c=k[d>>2]|0;k[d>>2]=c+2;if((b|0)==(j[c>>1]|0)){d=4;break}}if((d|0)==4){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((d|0)==5){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function dH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;e=g+8|0;d=g+4|0;c=g;f=g+16|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[(k[b>>2]|0)+12>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[b>>2]|0)+52>>1]|0))break;j[f>>1]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0;if((j[f>>1]|0)<0)a=1;else a=l[(k[c>>2]|0)+((j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0)*24|0)+22>>0]|0;k[e>>2]=(k[e>>2]|0)+a;k[d>>2]=(k[d>>2]|0)+1}f=Rj(k[e>>2]<<2,0)|0;j[(k[b>>2]|0)+48>>1]=f;r=g;return}function eH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;fH(k[c>>2]|0,k[d>>2]|0);hv(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0);dv(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0);ag(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(!((l[(k[d>>2]|0)+55>>0]|0)>>>4&1)){a=k[c>>2]|0;b=k[d>>2]|0;ag(a,b);r=e;return}ag(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;ag(a,b);r=e;return}function fH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function gH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=jB(k[e>>2]|0,4+(l[d>>0]|0)|0,0)|0;r=c;return a|0}function hH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+52|0;d=v+48|0;p=v+44|0;s=v+40|0;o=v+36|0;f=v+32|0;h=v+28|0;e=v+24|0;t=v+20|0;q=v+16|0;g=v+8|0;n=v;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[t>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[c>>2]|0)+424>>2]|0)lG(k[t>>2]|0,k[(k[c>>2]|0)+424>>2]|0,121);a=k[d>>2]|0;do if((j[(k[d>>2]|0)+32>>1]|0)>=0){My(g,k[(k[(k[d>>2]|0)+4>>2]|0)+((j[a+32>>1]|0)*24|0)>>2]|0);t=k[c>>2]|0;t=Qv(t,0,mz(k[e>>2]|0,27,g,0)|0)|0;k[q>>2]=t;if(!(k[q>>2]|0)){r=v;return}i[(k[(k[q>>2]|0)+4>>2]|0)+12>>0]=i[(k[c>>2]|0)+452>>0]|0;t=Fv(k[c>>2]|0,0,0,0,k[q>>2]|0,l[(k[d>>2]|0)+43>>0]|0,0,0,0,0)|0;k[s>>2]=t;if(!(k[s>>2]|0)){r=v;return}else{t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-4|2;j[(k[d>>2]|0)+32>>1]=-1;break}}else{q=Oj(a)|0;k[s>>2]=q;if(k[t>>2]|0)lG(k[t>>2]|0,k[(k[s>>2]|0)+44>>2]|0,13);k[h>>2]=1;k[f>>2]=1;while(1){if((k[f>>2]|0)>=(m[(k[s>>2]|0)+50>>1]|0))break;if(cH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0){t=(k[s>>2]|0)+52|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16}else{q=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;t=k[h>>2]|0;k[h>>2]=t+1;j[(k[(k[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=q}k[f>>2]=(k[f>>2]|0)+1}j[(k[s>>2]|0)+50>>1]=k[h>>2]}while(0);t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-33|32;k[o>>2]=m[(k[s>>2]|0)+50>>1];if(!(i[(k[e>>2]|0)+140+7>>0]|0)){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;i[(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)*24|0)+20>>0]=2;k[f>>2]=(k[f>>2]|0)+1}t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-9|8}k[(k[s>>2]|0)+44>>2]=k[(k[d>>2]|0)+28>>2];k[p>>2]=k[(k[d>>2]|0)+8>>2];a:while(1){if(!(k[p>>2]|0))break;b:do if((i[(k[p>>2]|0)+55>>0]&3|0)!=2){k[n>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;if(!(cH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0))k[n>>2]=(k[n>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if(!(k[n>>2]|0)){j[(k[p>>2]|0)+52>>1]=j[(k[p>>2]|0)+50>>1]|0;break}if(mH(k[e>>2]|0,k[p>>2]|0,(m[(k[p>>2]|0)+50>>1]|0)+(k[n>>2]|0)|0)|0){u=46;break a}k[f>>2]=0;k[h>>2]=m[(k[p>>2]|0)+50>>1];while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break b;if(!(cH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0)){j[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;k[(k[(k[p>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=k[(k[(k[s>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((u|0)==46){r=v;return}if((k[o>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0)){j[(k[s>>2]|0)+52>>1]=j[(k[d>>2]|0)+34>>1]|0;r=v;return}if(mH(k[e>>2]|0,k[s>>2]|0,j[(k[d>>2]|0)+34>>1]|0)|0){r=v;return}k[f>>2]=0;k[h>>2]=k[o>>2];while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;if(!(cH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,k[f>>2]|0)|0)){j[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=k[f>>2];k[(k[(k[s>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=35690;k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}r=v;return}function iH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;k[c>>2]=j[(k[b>>2]|0)+34>>1];k[d>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[c>>2]|0)<=0)break;k[e>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+22>>0]|0);k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+24}if((j[(k[b>>2]|0)+32>>1]|0)>=0){d=k[e>>2]|0;d=d<<2;d=Rj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}k[e>>2]=(k[e>>2]|0)+1;d=k[e>>2]|0;d=d<<2;d=Rj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}function jH(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;p=w+16|0;o=w+8|0;d=w;e=w+68|0;c=w+64|0;f=w+60|0;g=w+56|0;h=w+52|0;m=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;q=w+32|0;n=w+28|0;l=w+24|0;v=w+20|0;k[c>>2]=a;k[f>>2]=b;k[m>>2]=0;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;b=(kH(k[k[n>>2]>>2]|0)|0)+5|0;k[m>>2]=(k[m>>2]|0)+b;k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+24}b=kH(k[k[f>>2]>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+b;if((k[m>>2]|0)<50){k[s>>2]=19266;k[t>>2]=38266;k[q>>2]=35518}else{k[s>>2]=38268;k[t>>2]=38272;k[q>>2]=38277}k[m>>2]=(k[m>>2]|0)+(35+((j[(k[f>>2]|0)+34>>1]|0)*6|0));b=k[m>>2]|0;b=Ih(0,b,((b|0)<0)<<31>>31)|0;k[u>>2]=b;if(!(k[u>>2]|0)){th(k[c>>2]|0);k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}_d(k[m>>2]|0,k[u>>2]|0,38280,d)|0;d=Sf(k[u>>2]|0)|0;k[h>>2]=d;lH(k[u>>2]|0,h,k[k[f>>2]>>2]|0);d=k[h>>2]|0;k[h>>2]=d+1;i[(k[u>>2]|0)+d>>0]=40;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){c=(k[m>>2]|0)-(k[h>>2]|0)|0;a=(k[u>>2]|0)+(k[h>>2]|0)|0;if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;_d(c,a,k[s>>2]|0,o)|0;d=Sf((k[u>>2]|0)+(k[h>>2]|0)|0)|0;k[h>>2]=(k[h>>2]|0)+d;k[s>>2]=k[t>>2];lH(k[u>>2]|0,h,k[k[n>>2]>>2]|0);k[v>>2]=k[6328+((i[(k[n>>2]|0)+21>>0]|0)-65<<2)>>2];d=Sf(k[v>>2]|0)|0;k[l>>2]=d;sR((k[u>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0,k[l>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+24}k[p>>2]=k[q>>2];_d(c,a,19255,p)|0;k[e>>2]=k[u>>2];v=k[e>>2]|0;r=w;return v|0}function kH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if(!(i[k[b>>2]>>0]|0))break;if((i[k[b>>2]>>0]|0)==34)k[c>>2]=(k[c>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=(k[b>>2]|0)+1}r=d;return (k[c>>2]|0)+2|0}function lH(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,m=0,n=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;n=m+16|0;j=m+12|0;f=m+8|0;g=m+4|0;h=m;k[d>>2]=a;k[e>>2]=b;k[n>>2]=c;k[j>>2]=k[n>>2];k[f>>2]=k[k[e>>2]>>2];k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[19267+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&6|0)==0?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=95:0)break;k[g>>2]=(k[g>>2]|0)+1}if(((l[19267+(l[k[j>>2]>>0]|0)>>0]&4|0)==0?(Ii(k[j>>2]|0,k[g>>2]|0)|0)==27:0)?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)b=(k[g>>2]|0)==0;else b=1;k[h>>2]=b&1;if(k[h>>2]|0){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;c=i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=c;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==34){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=(k[g>>2]|0)+1}if(!(k[h>>2]|0)){j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}j=k[f>>2]|0;k[f>>2]=j+1;i[(k[d>>2]|0)+j>>0]=34;j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}function mH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;l=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+52>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[h>>2]=(k[g>>2]|0)*7;b=k[h>>2]|0;b=zh(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[d>>2]=7;l=k[d>>2]|0;r=n;return l|0}else{sR(k[l>>2]|0,k[(k[f>>2]|0)+32>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<2|0)|0;k[(k[f>>2]|0)+32>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<2);sR(k[l>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<1|0)|0;k[(k[f>>2]|0)+4>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<1);sR(k[l>>2]|0,k[(k[f>>2]|0)+28>>2]|0,m[(k[f>>2]|0)+52>>1]|0|0)|0;k[(k[f>>2]|0)+28>>2]=k[l>>2];j[(k[f>>2]|0)+52>>1]=k[g>>2];l=(k[f>>2]|0)+55|0;i[l>>0]=i[l>>0]&-17|16;k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}return 0}function nH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;a=Zw(k[c>>2]|0)|0;k[f>>2]=a;Iz(k[c>>2]|0,k[e>>2]|0,1,1,(k[e>>2]|0)==1?20769:20788);Oh(k[f>>2]|0,55,0,1,k[e>>2]|0,5)|0;if(k[(k[c>>2]|0)+72>>2]|0){r=d;return}k[(k[c>>2]|0)+72>>2]=1;r=d;return}function oH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[b>>2]=a;a=Zw(k[b>>2]|0)|0;k[f>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+404>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+408>>2]|0)+(k[c>>2]<<4);k[e>>2]=k[k[d>>2]>>2];cx(k[f>>2]|0,148,k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|0,k[(k[d>>2]|0)+12>>2]|0,-2)|0;k[c>>2]=(k[c>>2]|0)+1}r=g;return}function pH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;f=j+20|0;d=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;c=j;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[h>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+412>>2];while(1){if(!(k[f>>2]|0)){b=5;break}k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[f>>2]|0)+8>>2]<<4);k[e>>2]=k[(k[f>>2]|0)+12>>2];Jz(k[b>>2]|0,0,k[(k[f>>2]|0)+8>>2]|0,k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0,54);bx(k[h>>2]|0,(k[e>>2]|0)-1|0,k[k[(k[f>>2]|0)+4>>2]>>2]|0)|0;a=Qh(k[h>>2]|0,10,38456,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+8>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+4>>2]=(k[e>>2]|0)-1;k[(k[c>>2]|0)+60+12>>2]=k[e>>2];i[(k[c>>2]|0)+60+3>>0]=16;k[(k[c>>2]|0)+80+8>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+100+12>>2]=k[e>>2];k[(k[c>>2]|0)+160+8>>2]=k[e>>2];k[f>>2]=k[k[f>>2]>>2]}if((b|0)==5){r=j;return}}function qH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;c=f+12|0;d=f+4|0;k[c>>2]=a;k[f+8>>2]=b;k[d>>2]=k[(k[c>>2]|0)+8>>2];a=k[c>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;while(1){if((k[k[c>>2]>>2]|0)<0)break;jv(k[c>>2]|0)}Kh(k[d>>2]|0,38496,e);k[(k[c>>2]|0)+8>>2]=k[d>>2];r=f;return}function rH(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+4|0;k[d>>2]=a;k[c>>2]=k[d>>2];$d(21,40353,c);r=b;return}function sH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+96|0;G=I+16|0;s=I+8|0;m=I;C=I+92|0;u=I+88|0;o=I+84|0;v=I+80|0;h=I+76|0;w=I+72|0;p=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;j=I+48|0;n=I+44|0;t=I+40|0;q=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;k[C>>2]=a;k[u>>2]=b;k[o>>2]=c;k[v>>2]=d;k[h>>2]=e;k[w>>2]=f;k[p>>2]=g;k[H>>2]=0;k[F>>2]=0;b=zh(k[C>>2]|0,544,0)|0;k[D>>2]=b;if(!(k[D>>2]|0)){k[F>>2]=7;H=k[D>>2]|0;Vh(H);H=k[C>>2]|0;G=k[D>>2]|0;ag(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=$g(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}k[(k[D>>2]|0)+480>>2]=k[h>>2];k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[C>>2]|0)+20>>2]|0))break;k[j>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if((k[j>>2]|0)!=0?(b=tH(k[j>>2]|0)|0,k[F>>2]=b,(k[F>>2]|0)!=0):0){B=7;break}k[x>>2]=(k[x>>2]|0)+1}if((B|0)==7){k[n>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2];G=k[C>>2]|0;H=k[F>>2]|0;k[m>>2]=k[n>>2];rg(G,H,40398,m);H=k[D>>2]|0;Vh(H);H=k[C>>2]|0;G=k[D>>2]|0;ag(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=$g(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}tu(k[C>>2]|0);k[k[D>>2]>>2]=k[C>>2];k[(k[D>>2]|0)+428>>2]=0;do if((k[o>>2]|0)>=0){if((k[o>>2]|0)!=0?(i[(k[u>>2]|0)+((k[o>>2]|0)-1)>>0]|0)==0:0){B=17;break}k[q>>2]=k[(k[C>>2]|0)+88+4>>2];h=k[C>>2]|0;if((k[o>>2]|0)>(k[q>>2]|0)){rg(h,18,40428,s);H=$g(k[C>>2]|0,18)|0;k[F>>2]=H;H=k[D>>2]|0;Vh(H);H=k[C>>2]|0;G=k[D>>2]|0;ag(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=$g(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}s=k[o>>2]|0;s=Sw(h,k[u>>2]|0,s,((s|0)<0)<<31>>31)|0;k[t>>2]=s;if(k[t>>2]|0){ci(k[D>>2]|0,k[t>>2]|0,H)|0;k[(k[D>>2]|0)+484>>2]=(k[u>>2]|0)+((k[(k[D>>2]|0)+484>>2]|0)-(k[t>>2]|0));ag(k[C>>2]|0,k[t>>2]|0);break}else{k[(k[D>>2]|0)+484>>2]=(k[u>>2]|0)+(k[o>>2]|0);break}}else B=17;while(0);if((B|0)==17)ci(k[D>>2]|0,k[u>>2]|0,H)|0;if((k[(k[D>>2]|0)+12>>2]|0)==101)k[(k[D>>2]|0)+12>>2]=0;if(i[(k[D>>2]|0)+17>>0]|0)uH(k[D>>2]|0);if(i[(k[C>>2]|0)+65>>0]|0)k[(k[D>>2]|0)+12>>2]=7;if(k[p>>2]|0)k[k[p>>2]>>2]=k[(k[D>>2]|0)+484>>2];k[F>>2]=k[(k[D>>2]|0)+12>>2];a:do if(((k[F>>2]|0)==0?(k[(k[D>>2]|0)+8>>2]|0)!=0:0)?(l[(k[D>>2]|0)+453>>0]|0)!=0:0){h=k[(k[D>>2]|0)+8>>2]|0;if((l[(k[D>>2]|0)+453>>0]|0)==2){YB(h,4);k[y>>2]=8;k[z>>2]=12}else{YB(h,8);k[y>>2]=0;k[z>>2]=8}k[x>>2]=k[y>>2];while(1){if((k[x>>2]|0)>=(k[z>>2]|0))break a;ZB(k[(k[D>>2]|0)+8>>2]|0,(k[x>>2]|0)-(k[y>>2]|0)|0,0,k[6360+(k[x>>2]<<2)>>2]|0,0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(l[(k[C>>2]|0)+140+5>>0]|0)){k[A>>2]=k[(k[D>>2]|0)+8>>2];vH(k[A>>2]|0,k[u>>2]|0,(k[(k[D>>2]|0)+484>>2]|0)-(k[u>>2]|0)|0,k[v>>2]|0)}do if(k[(k[D>>2]|0)+8>>2]|0){if((k[F>>2]|0)==0?(l[(k[C>>2]|0)+65>>0]|0)==0:0){B=41;break}_g(k[(k[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)k[k[w>>2]>>2]=k[(k[D>>2]|0)+8>>2];h=k[C>>2]|0;a=k[F>>2]|0;if(k[H>>2]|0){k[G>>2]=k[H>>2];rg(h,a,19255,G);ag(k[C>>2]|0,k[H>>2]|0)}else tg(h,a);while(1){if(!(k[(k[D>>2]|0)+532>>2]|0))break;k[E>>2]=k[(k[D>>2]|0)+532>>2];k[(k[D>>2]|0)+532>>2]=k[(k[E>>2]|0)+4>>2];ag(k[C>>2]|0,k[E>>2]|0)}H=k[D>>2]|0;Vh(H);H=k[C>>2]|0;G=k[D>>2]|0;ag(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=$g(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}function tH(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;ug(k[d>>2]|0);a=wH(k[d>>2]|0,1,1)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function uH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;d=i+20|0;e=i+16|0;h=i+12|0;c=i+8|0;f=i+4|0;g=i;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){b=14;break}k[f>>2]=0;k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(!(yg(k[g>>2]|0)|0)){a=wg(k[g>>2]|0,0)|0;k[h>>2]=a;if((k[h>>2]|0)==7|(k[h>>2]|0)==3082)th(k[d>>2]|0);if(k[h>>2]|0){b=14;break}k[f>>2]=1}xg(k[g>>2]|0,1,c);if((k[c>>2]|0)!=(k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]>>2]|0)){Bj(k[d>>2]|0,k[e>>2]|0);k[(k[b>>2]|0)+12>>2]=17}if(k[f>>2]|0)Lj(k[g>>2]|0)|0}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==14){r=i;return}}function vH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[e>>2]|0)){r=i;return}b=k[g>>2]|0;b=Sw(k[k[e>>2]>>2]|0,k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+168>>2]=b;b=(k[e>>2]|0)+88|0;j[b>>1]=j[b>>1]&-257|(k[h>>2]&1)<<8&65535;r=i;return}function wH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+32|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p+20|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];if(!(i[(k[e>>2]|0)+9>>0]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((k[(k[h>>2]|0)+76>>2]|0)!=(k[e>>2]|0)?(m[(k[h>>2]|0)+22>>1]&32|0)!=0:0){k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}k[n>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[n>>2]|0)){o=15;break}if(((k[k[n>>2]>>2]|0)!=(k[e>>2]|0)?(k[(k[n>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(l[(k[n>>2]|0)+8>>0]|0)!=(l[g>>0]|0):0)break;k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((o|0)==15){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((l[g>>0]|0)==2){o=(k[h>>2]|0)+22|0;j[o>>1]=m[o>>1]|64}k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}function xH(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;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if((k[g>>2]|0)!=(k[f>>2]|0)){if(!(k[e>>2]|0))break;if((k[(k[g>>2]|0)+52>>2]|0)==(k[e>>2]|0))break}k[g>>2]=k[(k[g>>2]|0)+8>>2]}if(k[g>>2]|0){j=yH(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=h;return j|0}if(k[f>>2]|0){j=(k[f>>2]|0)+64|0;i[j>>0]=(l[j>>0]|0)&-33}k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}function yH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a:while(1){do if((k[d>>2]|0)!=(k[f>>2]|0)){if(0!=(k[e>>2]|0)?(k[(k[d>>2]|0)+52>>2]|0)!=(k[e>>2]|0):0)break;if((l[(k[d>>2]|0)+66>>0]|0|0)!=1?(l[(k[d>>2]|0)+66>>0]|0|0)!=2:0){AH(k[d>>2]|0);break}c=zH(k[d>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){d=8;break a}}while(0);k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){d=11;break}}if((d|0)==8){k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}else if((d|0)==11){k[g>>2]=0;h=k[g>>2]|0;r=i;return h|0}return 0}function zH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=k[b>>2]|0;if((l[(k[b>>2]|0)+66>>0]|0|0)==2)i[a+66>>0]=1;else k[a+60>>2]=0;a=BH(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){AH(k[b>>2]|0);i[(k[b>>2]|0)+66>>0]=3}b=(k[b>>2]|0)+64|0;i[b>>0]=(l[b>>0]|0)&-15;r=d;return k[c>>2]|0}function AH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;AB(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]=0;k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+68>>0]=-1;r=d;return}function BH(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;b=e;k[c>>2]=a;a=CH(k[c>>2]|0,(k[c>>2]|0)+40|0)|0;k[d>>2]=a;if(l[(k[c>>2]|0)+69>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+40|0;a=ig(k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=7;d=k[d>>2]|0;r=e;return d|0}a=DH(k[c>>2]|0,0,k[(k[c>>2]|0)+40>>2]|0,k[b>>2]|0)|0;k[d>>2]=a;a=k[b>>2]|0;if(!(k[d>>2]|0)){k[(k[c>>2]|0)+48>>2]=a;d=k[d>>2]|0;r=e;return d|0}else{Ud(a);d=k[d>>2]|0;r=e;return d|0}return 0}function CH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;sF(k[d>>2]|0);d=(k[d>>2]|0)+16|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function DH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=rF(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return a|0}function EH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ug(k[k[c>>2]>>2]|0);r=b;return}function FH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;i[a>>0]=l[a>>0]|0|16;i[(k[k[c>>2]>>2]|0)+11>>0]=1;r=b;return}function GH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[f>>2]=(k[f>>2]|0)+7&-8;c=k[f>>2]|0;a=k[d>>2]|0;if((k[f>>2]|0)<=(k[(k[d>>2]|0)+4>>2]|0)){f=a+4|0;k[f>>2]=(k[f>>2]|0)-c;k[e>>2]=(k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{f=a+8|0;k[f>>2]=(k[f>>2]|0)+c;f=k[e>>2]|0;r=g;return f|0}return 0}function HH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(i[(k[f>>2]|0)+1>>0]|0){AA(k[k[e>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0}if((k[h>>2]|0)<0){Sh(k[e>>2]|0,((k[f>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0)/20|0,k[g>>2]|0,k[h>>2]|0);r=j;return}if(!(k[h>>2]|0)){c=Sf(k[g>>2]|0)|0;k[h>>2]=c}c=k[h>>2]|0;c=Sw(k[k[e>>2]>>2]|0,k[g>>2]|0,c,((c|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+16>>2]=c;i[(k[f>>2]|0)+1>>0]=-1;r=j;return}function IH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function JH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+9>>0]|0|0}function KH(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;q=r;r=r+48|0;o=q;c=q+36|0;d=q+32|0;e=q+28|0;h=q+24|0;m=q+20|0;p=q+16|0;g=q+12|0;n=q+8|0;f=q+4|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=k[k[e>>2]>>2];k[p>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(k[(k[e>>2]|0)+16>>2]|0){k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}if((k[(k[h>>2]|0)+4>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]|0)!=(k[(k[h>>2]|0)+8>>2]|0):0){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}a=(Sf(k[(k[e>>2]|0)+4>>2]|0)|0)+1|0;k[g>>2]=a;a=zh(k[f>>2]|0,72+(k[g>>2]|0)|0,0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}k[(k[e>>2]|0)+16>>2]=k[m>>2];k[k[m>>2]>>2]=(k[m>>2]|0)+72;sR(k[k[m>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0;j[(k[m>>2]|0)+36>>1]=1;k[(k[m>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2];a=(k[m>>2]|0)+42|0;i[a>>0]=l[a>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;j[(k[m>>2]|0)+32>>1]=-1;a=k[f>>2]|0;b=k[m>>2]|0;Vw(a,b,xh(k[f>>2]|0,k[k[m>>2]>>2]|0)|0);Vw(k[f>>2]|0,k[m>>2]|0,0);b=k[f>>2]|0;a=k[m>>2]|0;Vw(b,a,xh(k[f>>2]|0,k[k[m>>2]>>2]|0)|0);m=yz(k[f>>2]|0,k[m>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+8>>2]|0,p)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[d>>2]|0;k[o>>2]=k[p>>2];Kh(n,19255,o);ag(k[f>>2]|0,k[p>>2]|0);LH(k[f>>2]|0,k[e>>2]|0);k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}else{k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}return 0}function LH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}$G(k[c>>2]|0,k[e>>2]|0);MH(k[c>>2]|0,k[e>>2]|0);ag(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function MH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+528>>2]|0)!=0:0))NH(0,k[d>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+48>>2]|0))break;if((k[e>>2]|0)!=1)ag(k[c>>2]|0,k[(k[(k[d>>2]|0)+52>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}ag(k[c>>2]|0,k[(k[d>>2]|0)+52>>2]|0);r=f;return}function NH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[h>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=0;while(1){if(!(k[h>>2]|0))break;k[e>>2]=k[k[h>>2]>>2];k[f>>2]=k[(k[h>>2]|0)+24>>2];if((k[e>>2]|0)==(k[c>>2]|0)){k[g>>2]=k[h>>2];k[(k[d>>2]|0)+56>>2]=k[g>>2];k[(k[g>>2]|0)+24>>2]=0}else{k[(k[h>>2]|0)+24>>2]=k[(k[e>>2]|0)+336>>2];k[(k[e>>2]|0)+336>>2]=k[h>>2]}k[h>>2]=k[f>>2]}r=i;return k[g>>2]|0}function OH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;ch(k[c>>2]|0);b=k[c>>2]|0;a=k[d>>2]|0;c=b+40|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));j[(k[d>>2]|0)+8>>1]=1;k[(k[d>>2]|0)+24>>2]=0;r=e;return}function PH(){return 312}function QH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=r;r=r+224|0;d=c+220|0;e=c+216|0;h=c;g=c+212|0;f=c+208|0;k[d>>2]=a;k[e>>2]=b;sR(h|0,k[d>>2]|0,208)|0;sR(k[d>>2]|0,k[e>>2]|0,208)|0;sR(k[e>>2]|0,h|0,208)|0;k[g>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[e>>2]|0)+52>>2];k[(k[e>>2]|0)+52>>2]=k[g>>2];k[g>>2]=k[(k[d>>2]|0)+48>>2];k[(k[d>>2]|0)+48>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+168>>2];k[(k[d>>2]|0)+168>>2]=k[(k[e>>2]|0)+168>>2];k[(k[e>>2]|0)+168>>2]=k[f>>2];b=(k[e>>2]|0)+88|0;j[b>>1]=j[b>>1]&-257|((m[(k[d>>2]|0)+88>>1]|0)>>>8&1)<<8&65535;r=c;return}function RH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+80>>2]=0;r=b;return}function SH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)>=2?(k[(k[c>>2]|0)+72>>2]|0)!=0:0){e=gc[k[(k[c>>2]|0)+72>>2]&255](k[c>>2]|0,k[d>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}a=gc[k[(k[c>>2]|0)+64>>2]&255](k[c>>2]|0,e)|0;k[f>>2]=a;h=+p[e>>3]*864.0e5;a=+W(h)>=1.0?(h>0.0?~~+ia(+V(h/4294967296.0),4294967295.0)>>>0:~~+ga((h-+(~~h>>>0))/4294967296.0)>>>0):0;e=k[d>>2]|0;k[e>>2]=~~h>>>0;k[e+4>>2]=a;f=k[f>>2]|0;r=g;return f|0}function TH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+80|0;w=y+8|0;p=y;q=y+68|0;s=y+64|0;h=y+60|0;n=y+56|0;b=y+52|0;o=y+48|0;c=y+44|0;d=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;e=y+20|0;g=y+16|0;f=y+12|0;k[s>>2]=a;k[n>>2]=0;k[b>>2]=0;k[o>>2]=0;k[c>>2]=k[k[s>>2]>>2];k[v>>2]=0;k[t>>2]=(k[(k[s>>2]|0)+8>>2]|0)+40;yC(k[t>>2]|0,8);k[(k[s>>2]|0)+20>>2]=0;if((k[(k[s>>2]|0)+80>>2]|0)==7){th(k[c>>2]|0);k[q>>2]=1;x=k[q>>2]|0;r=y;return x|0}k[h>>2]=k[(k[s>>2]|0)+32>>2];a:do if((j[(k[s>>2]|0)+88>>1]&3|0)==1){k[o>>2]=(k[(k[s>>2]|0)+8>>2]|0)+360;if(m[(k[o>>2]|0)+8>>1]&16){k[n>>2]=((k[(k[o>>2]|0)+12>>2]|0)>>>0)/4|0;k[b>>2]=k[(k[o>>2]|0)+16>>2]}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[n>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[(k[(k[b>>2]|0)+(k[d>>2]<<2)>>2]|0)+4>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);do{z=(k[s>>2]|0)+76|0;a=k[z>>2]|0;k[z>>2]=a+1;k[d>>2]=a;if((k[d>>2]|0)>=(k[h>>2]|0))break;if((j[(k[s>>2]|0)+88>>1]&3|0)!=2)break}while((l[(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>0]|0)!=161);do if((k[d>>2]|0)>=(k[h>>2]|0)){k[(k[s>>2]|0)+80>>2]=0;k[v>>2]=101}else{if(k[(k[c>>2]|0)+240>>2]|0){k[(k[s>>2]|0)+80>>2]=9;k[v>>2]=1;z=k[s>>2]|0;aI(z,sh(k[(k[s>>2]|0)+80>>2]|0)|0,p);break}if((k[d>>2]|0)<(k[(k[s>>2]|0)+32>>2]|0))k[u>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0);else{k[d>>2]=(k[d>>2]|0)-(k[(k[s>>2]|0)+32>>2]|0);k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0))break;k[d>>2]=(k[d>>2]|0)-(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[u>>2]=(k[k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]>>2]|0)+((k[d>>2]|0)*20|0)}if((j[(k[s>>2]|0)+88>>1]&3|0)==1?(j[(k[t>>2]|0)+8>>1]=4,p=k[d>>2]|0,z=k[t>>2]|0,k[z>>2]=p,k[z+4>>2]=((p|0)<0)<<31>>31,k[t>>2]=(k[t>>2]|0)+40,j[(k[t>>2]|0)+8>>1]=2562,z=wM(l[k[u>>2]>>0]|0)|0,k[(k[t>>2]|0)+16>>2]=z,z=Sf(k[(k[t>>2]|0)+16>>2]|0)|0,k[(k[t>>2]|0)+12>>2]=z,i[(k[t>>2]|0)+10>>0]=1,k[t>>2]=(k[t>>2]|0)+40,(i[(k[u>>2]|0)+1>>0]|0)==-18):0){k[g>>2]=(k[n>>2]|0)+1<<2;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[n>>2]|0))break;if((k[(k[b>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[u>>2]|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}if((k[f>>2]|0)==(k[n>>2]|0)?0==(Ex(k[o>>2]|0,k[g>>2]|0,(k[n>>2]|0)!=0&1)|0):0){k[b>>2]=k[(k[o>>2]|0)+16>>2];p=k[(k[u>>2]|0)+16>>2]|0;z=k[n>>2]|0;k[n>>2]=z+1;k[(k[b>>2]|0)+(z<<2)>>2]=p;z=(k[o>>2]|0)+8|0;j[z>>1]=m[z>>1]|16;k[(k[o>>2]|0)+12>>2]=k[n>>2]<<2}}j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+4>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;z=k[(k[u>>2]|0)+8>>2]|0;p=k[t>>2]|0;k[p>>2]=z;k[p+4>>2]=((z|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+12>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;if(Dx(k[t>>2]|0,100)|0){k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}j[(k[t>>2]|0)+8>>1]=514;b=xM(k[u>>2]|0,k[(k[t>>2]|0)+16>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[x>>2]=b;b=k[t>>2]|0;if((k[x>>2]|0)!=(k[(k[t>>2]|0)+16>>2]|0))nh(b,k[x>>2]|0,-1,1,0)|0;else{z=Sf(k[b+16>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=z;i[(k[t>>2]|0)+10>>0]=1}k[t>>2]=(k[t>>2]|0)+40;do if((j[(k[s>>2]|0)+88>>1]&3|0)==1){if(!(Dx(k[t>>2]|0,4)|0)){j[(k[t>>2]|0)+8>>1]=514;k[(k[t>>2]|0)+12>>2]=2;z=k[(k[t>>2]|0)+16>>2]|0;k[w>>2]=l[(k[u>>2]|0)+3>>0];_d(3,z,43360,w)|0;i[(k[t>>2]|0)+10>>0]=1;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=1;break}k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}while(0);j[(k[s>>2]|0)+84>>1]=8-((j[(k[s>>2]|0)+88>>1]&3)-1<<2);k[(k[s>>2]|0)+20>>2]=(k[(k[s>>2]|0)+8>>2]|0)+40;k[(k[s>>2]|0)+80>>2]=0;k[v>>2]=100}while(0);k[q>>2]=k[v>>2];z=k[q>>2]|0;r=y;return z|0} -function nJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;g=x+64|0;f=x+60|0;h=x+56|0;s=x+52|0;p=x+48|0;q=x+44|0;e=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;o=x+20|0;c=x+16|0;n=x+12|0;d=x+8|0;m=x+4|0;j=x;k[f>>2]=a;k[h>>2]=b;k[s>>2]=0;k[e>>2]=0;k[o>>2]=0;if(!(i[(k[h>>2]|0)+63>>0]|0)){Hj(k[f>>2]|0,k[h>>2]|0,41344);k[g>>2]=1;w=k[g>>2]|0;r=x;return w|0}if((k[(k[h>>2]|0)+148>>2]|0)>1){Hj(k[f>>2]|0,k[h>>2]|0,41384);k[g>>2]=1;w=k[g>>2]|0;r=x;return w|0}k[t>>2]=k[(k[h>>2]|0)+24>>2];k[u>>2]=k[(k[h>>2]|0)+80>>2];k[v>>2]=k[(k[h>>2]|0)+84>>2];k[w>>2]=k[(k[h>>2]|0)+176>>2];a=(k[h>>2]|0)+24|0;k[a>>2]=k[a>>2]|2107392;a=(k[h>>2]|0)+24|0;k[a>>2]=k[a>>2]&-655361;k[(k[h>>2]|0)+176>>2]=0;k[p>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+4>>2];a=NJ(Yf(k[p>>2]|0)|0)|0;k[c>>2]=a;k[d>>2]=k[(k[h>>2]|0)+20>>2];if(ar(k[h>>2]|0)|0)k[e>>2]=41427;else k[e>>2]=41459;e=OJ(k[h>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[s>>2]=e;if((k[(k[h>>2]|0)+20>>2]|0)>(k[d>>2]|0))k[o>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[(k[h>>2]|0)+20>>2]|0)-1<<4);a:do if((((k[s>>2]|0)==0?(k[q>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+((k[(k[h>>2]|0)+20>>2]|0)-1<<4)+4>>2],Lj(k[q>>2]|0)|0,e=PJ(k[p>>2]|0)|0,k[n>>2]=e,e=OJ(k[h>>2]|0,k[f>>2]|0,41483)|0,k[s>>2]=e,(k[s>>2]|0)==0):0)?(e=OJ(k[h>>2]|0,k[f>>2]|0,41516)|0,k[s>>2]=e,(k[s>>2]|0)==0):0)?(e=wg(k[p>>2]|0,2)|0,k[s>>2]=e,(k[s>>2]|0)==0):0){if((Ag(Yf(k[p>>2]|0)|0)|0)==5)k[(k[h>>2]|0)+72>>2]=0;a=k[q>>2]|0;e=zg(k[p>>2]|0)|0;do if(!(Hi(a,e,k[n>>2]|0,0)|0)){if((k[c>>2]|0)==0?(Hi(k[q>>2]|0,k[(k[h>>2]|0)+72>>2]|0,k[n>>2]|0,0)|0)!=0:0)break;if(!(l[(k[h>>2]|0)+65>>0]|0)){b=k[q>>2]|0;if((i[(k[h>>2]|0)+68>>0]|0)>=0)c=i[(k[h>>2]|0)+68>>0]|0;else c=bC(k[p>>2]|0)|0;dC(b,c)|0;e=QJ(k[h>>2]|0,k[f>>2]|0,41523)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=QJ(k[h>>2]|0,k[f>>2]|0,41671)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=QJ(k[h>>2]|0,k[f>>2]|0,41775)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=(k[h>>2]|0)+24|0;k[e>>2]=k[e>>2]|134217728;e=QJ(k[h>>2]|0,k[f>>2]|0,41893)|0;k[s>>2]=e;e=(k[h>>2]|0)+24|0;k[e>>2]=k[e>>2]&-134217729;if(k[s>>2]|0)break a;e=QJ(k[h>>2]|0,k[f>>2]|0,42089)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=QJ(k[h>>2]|0,k[f>>2]|0,42202)|0;k[s>>2]=e;if(k[s>>2]|0)break a;f=OJ(k[h>>2]|0,k[f>>2]|0,42357)|0;k[s>>2]=f;if(k[s>>2]|0)break a;k[j>>2]=0;while(1){b=k[p>>2]|0;if((k[j>>2]|0)>=10)break;xg(b,l[42541+(k[j>>2]|0)>>0]|0,m);f=Ig(k[q>>2]|0,l[42541+(k[j>>2]|0)>>0]|0,(k[m>>2]|0)+(l[42541+((k[j>>2]|0)+1)>>0]|0)|0)|0;k[s>>2]=f;if(k[s>>2]|0)break a;k[j>>2]=(k[j>>2]|0)+2}m=RJ(b,k[q>>2]|0)|0;k[s>>2]=m;if(k[s>>2]|0)break a;m=Lj(k[q>>2]|0)|0;k[s>>2]=m;if(k[s>>2]|0)break a;m=k[p>>2]|0;dC(m,bC(k[q>>2]|0)|0)|0;m=k[p>>2]|0;q=zg(k[q>>2]|0)|0;q=Hi(m,q,k[n>>2]|0,1)|0;k[s>>2]=q;break a}}while(0);k[s>>2]=7}while(0);k[(k[h>>2]|0)+24>>2]=k[t>>2];k[(k[h>>2]|0)+80>>2]=k[u>>2];k[(k[h>>2]|0)+84>>2]=k[v>>2];k[(k[h>>2]|0)+176>>2]=k[w>>2];Hi(k[p>>2]|0,-1,-1,1)|0;i[(k[h>>2]|0)+63>>0]=1;if(k[o>>2]|0){vB(k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[o>>2]|0)+4>>2]=0;k[(k[o>>2]|0)+12>>2]=0}Jg(k[h>>2]|0);k[g>>2]=k[s>>2];w=k[g>>2]|0;r=x;return w|0}function oJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;f=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;b=g;k[h>>2]=a;k[e>>2]=k[(k[h>>2]|0)+4>>2];ug(k[h>>2]|0);if(!(i[(k[e>>2]|0)+17>>0]|0)){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=jF(k[e>>2]|0)|0;k[d>>2]=h;h=jr((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[c>>2]=h;h=AJ(k[e>>2]|0,k[d>>2]|0,k[c>>2]|0)|0;k[b>>2]=h;if((k[d>>2]|0)>>>0<(k[b>>2]|0)>>>0){h=Vj(59178)|0;k[f>>2]=h;h=k[f>>2]|0;r=g;return h|0}if((k[c>>2]|0)>>>0<=0){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=xH(k[e>>2]|0,0,0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){BJ(k[e>>2]|0);h=CJ(k[e>>2]|0,k[b>>2]|0,k[d>>2]|0,0)|0;k[f>>2]=h}if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=Ng(k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[f>>2]=h;ft((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[e>>2]|0)+44>>2]|0);h=k[f>>2]|0;r=g;return h|0}function pJ(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;j=r;r=r+16|0;d=j+8|0;e=j+4|0;f=j+13|0;h=j;g=j+12|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;k[h>>2]=0;if(!(i[(k[d>>2]|0)+9>>0]|0)){h=k[h>>2]|0;r=j;return h|0}i[g>>0]=1+(l[f>>0]|0);ug(k[d>>2]|0);a=wH(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=j;return h|0}a=zJ(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;h=k[h>>2]|0;r=j;return h|0}function qJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;h=l+8|0;f=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[i>>2]=0;if((k[(k[d>>2]|0)+308>>2]|0)>0?(k[(k[d>>2]|0)+332>>2]|0)==0:0){k[c>>2]=6;j=k[c>>2]|0;r=l;return j|0}if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}k[h>>2]=k[k[(k[e>>2]|0)+8>>2]>>2];if(k[(k[h>>2]|0)+56>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+308>>2]|0))break;if((k[(k[(k[d>>2]|0)+332>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[e>>2]|0)){j=10;break}k[f>>2]=(k[f>>2]|0)+1}if((j|0)==10){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}j=xJ(k[d>>2]|0)|0;k[i>>2]=j;if(((k[i>>2]|0)==0?(j=bc[k[(k[h>>2]|0)+56>>2]&255](k[(k[e>>2]|0)+8>>2]|0)|0,k[i>>2]=j,(k[i>>2]|0)==0):0)?(k[g>>2]=(k[(k[d>>2]|0)+504>>2]|0)+(k[(k[d>>2]|0)+500>>2]|0),yJ(k[d>>2]|0,k[e>>2]|0),(k[g>>2]|0)!=0):0){j=xI(k[d>>2]|0,0,(k[g>>2]|0)-1|0)|0;k[i>>2]=j}}k[c>>2]=k[i>>2];j=k[c>>2]|0;r=l;return j|0}function rJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;f=m+20|0;i=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;k[e>>2]=a;k[n>>2]=b;k[o>>2]=c;k[f>>2]=d;k[i>>2]=0;c=zi(k[e>>2]|0,k[o>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2]|0)|0;k[h>>2]=c;k[l>>2]=k[k[(k[h>>2]|0)+52>>2]>>2];c=xj((k[e>>2]|0)+312|0,k[l>>2]|0)|0;k[g>>2]=c;if(((k[g>>2]|0)!=0?(k[(k[k[g>>2]>>2]|0)+4>>2]|0)!=0:0)?(k[(k[k[g>>2]>>2]|0)+20>>2]|0)!=0:0){o=yz(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+4>>2]|0,k[f>>2]|0)|0;k[i>>2]=o}else{o=k[e>>2]|0;k[j>>2]=k[l>>2];o=Lh(o,31494,j)|0;k[k[f>>2]>>2]=o;k[i>>2]=1}if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}if(!(Kx(k[e>>2]|0,k[h>>2]|0)|0)){o=k[i>>2]|0;r=m;return o|0}o=xJ(k[e>>2]|0)|0;k[i>>2]=o;if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}o=k[e>>2]|0;yJ(o,Kx(k[e>>2]|0,k[h>>2]|0)|0);o=k[i>>2]|0;r=m;return o|0}function sJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;l=j+20|0;m=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;k[e>>2]=a;k[l>>2]=b;k[m>>2]=c;k[h>>2]=0;c=zi(k[e>>2]|0,k[m>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[g>>2]=c;do if((k[g>>2]|0)!=0?(k[(k[g>>2]|0)+56>>2]|0)!=0:0){k[f>>2]=k[(k[g>>2]|0)+56>>2];while(1){if(!(k[f>>2]|0)){a=8;break}if((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}k[f>>2]=k[(k[f>>2]|0)+24>>2]}if((a|0)==6){k[d>>2]=6;m=k[d>>2]|0;r=j;return m|0}else if((a|0)==8){m=NH(k[e>>2]|0,k[g>>2]|0)|0;k[f>>2]=m;k[i>>2]=k[(k[k[(k[f>>2]|0)+4>>2]>>2]|0)+20>>2];m=bc[k[i>>2]&255](k[(k[f>>2]|0)+8>>2]|0)|0;k[h>>2]=m;if(k[h>>2]|0)break;k[(k[f>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+56>>2]=0;ru(k[f>>2]|0);break}}while(0);k[d>>2]=k[h>>2];m=k[d>>2]|0;r=j;return m|0}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;ug(k[f>>2]|0);a=wJ(k[k[(k[f>>2]|0)+4>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function uJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;d=D+148|0;e=D+144|0;f=D+140|0;n=D+136|0;u=D+132|0;o=D+128|0;t=D+124|0;h=D+120|0;v=D+116|0;C=D+88|0;c=D+84|0;q=D+80|0;g=D+152|0;w=D;s=D+76|0;k[d>>2]=a;k[e>>2]=b;k[n>>2]=0;k[u>>2]=1;k[f>>2]=k[k[d>>2]>>2];mg(C,k[f>>2]|0,D+156|0,100,k[(k[f>>2]|0)+88>>2]|0);if((k[(k[f>>2]|0)+160>>2]|0)>1){while(1){if(!(i[k[e>>2]>>0]|0))break;k[c>>2]=k[e>>2];do{B=k[e>>2]|0;k[e>>2]=B+1;if((i[B>>0]|0)==10)break}while((i[k[e>>2]>>0]|0)!=0);kA(C,41310,3);kA(C,k[c>>2]|0,(k[e>>2]|0)-(k[c>>2]|0)|0)}C=og(C)|0;r=D;return C|0}if(!(j[(k[d>>2]|0)+68>>1]|0)){B=k[e>>2]|0;kA(C,B,Sf(k[e>>2]|0)|0);C=og(C)|0;r=D;return C|0}while(1){if(!(i[k[e>>2]>>0]|0)){a=33;break}c=vJ(k[e>>2]|0,t)|0;k[o>>2]=c;kA(C,k[e>>2]|0,k[o>>2]|0);k[e>>2]=(k[e>>2]|0)+(k[o>>2]|0);if(!(k[t>>2]|0)){a=33;break}do if((i[k[e>>2]>>0]|0)==63)if((k[t>>2]|0)>1){Vi((k[e>>2]|0)+1|0,n)|0;break}else{k[n>>2]=k[u>>2];break}else{c=Fh(k[d>>2]|0,k[e>>2]|0,k[t>>2]|0)|0;k[n>>2]=c}while(0);k[e>>2]=(k[e>>2]|0)+(k[t>>2]|0);k[u>>2]=(k[n>>2]|0)+1;k[v>>2]=(k[(k[d>>2]|0)+60>>2]|0)+(((k[n>>2]|0)-1|0)*40|0);if(m[(k[v>>2]|0)+8>>1]&1){kA(C,40498,4);continue}b=k[v>>2]|0;if(m[(k[v>>2]|0)+8>>1]&4){a=b;b=k[a+4>>2]|0;c=x;k[c>>2]=k[a>>2];k[c+4>>2]=b;jA(C,29137,x);continue}a=k[v>>2]|0;if(m[b+8>>1]&8){p[y>>3]=+p[a>>3];jA(C,29142,y);continue}if(m[a+8>>1]&2){i[g>>0]=i[(k[f>>2]|0)+62>>0]|0;if((l[g>>0]|0)!=1){a=w;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[w+32>>2]=k[f>>2];nh(w,k[(k[v>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+12>>2]|0,i[g>>0]|0,0)|0;hu(w,1)|0;k[v>>2]=w}k[q>>2]=k[(k[v>>2]|0)+12>>2];c=k[(k[v>>2]|0)+16>>2]|0;k[A>>2]=k[q>>2];k[A+4>>2]=c;jA(C,41314,A);if((l[g>>0]|0)==1)continue;ch(w);continue}if(m[(k[v>>2]|0)+8>>1]&16384){k[B>>2]=k[k[v>>2]>>2];jA(C,41321,B);continue}kA(C,41334,2);k[s>>2]=k[(k[v>>2]|0)+12>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[s>>2]|0))break;k[z>>2]=i[(k[(k[v>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]&255;jA(C,41337,z);k[h>>2]=(k[h>>2]|0)+1}kA(C,41342,1)}if((a|0)==33){C=og(C)|0;r=D;return C|0}return 0}function vJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[k[d>>2]>>2]=0;while(1){if(!(i[k[c>>2]>>0]|0)){h=6;break}b=_u(k[c>>2]|0,g)|0;k[e>>2]=b;b=k[e>>2]|0;if((k[g>>2]|0)==135)break;k[f>>2]=(k[f>>2]|0)+b;k[c>>2]=(k[c>>2]|0)+(k[e>>2]|0)}if((h|0)==6){h=k[f>>2]|0;r=j;return h|0}k[k[d>>2]>>2]=b;h=k[f>>2]|0;r=j;return h|0}function wJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>0)k[(k[c>>2]|0)+164>>2]=k[d>>2];r=e;return k[(k[c>>2]|0)+164>>2]|0}function xJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=5;do if(!((k[(k[c>>2]|0)+308>>2]|0)%5|0)){k[e>>2]=(k[(k[c>>2]|0)+308>>2]|0)+5<<2;e=k[e>>2]|0;e=Ow(k[c>>2]|0,k[(k[c>>2]|0)+332>>2]|0,e,((e|0)<0)<<31>>31)|0;k[d>>2]=e;if(k[d>>2]|0){e=(k[d>>2]|0)+(k[(k[c>>2]|0)+308>>2]<<2)|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[(k[c>>2]|0)+332>>2]=k[d>>2];break}k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function yJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[d>>2]|0;f=(k[e>>2]|0)+308|0;b=k[f>>2]|0;k[f>>2]=b+1;k[(k[(k[e>>2]|0)+332>>2]|0)+(b<<2)>>2]=a;IH(k[d>>2]|0);r=c;return}function zJ(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,m=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+24|0;h=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[m>>2]=0;k[j>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[j>>2]|0))break;if((k[(k[j>>2]|0)+4>>2]|0)==(k[f>>2]|0)?(k[k[j>>2]>>2]|0)==(k[e>>2]|0):0){n=5;break}k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((n|0)==5)k[m>>2]=k[j>>2];do if(!(k[m>>2]|0)){n=sg(16,0)|0;k[m>>2]=n;if(k[m>>2]|0){k[(k[m>>2]|0)+4>>2]=k[f>>2];k[k[m>>2]>>2]=k[e>>2];k[(k[m>>2]|0)+12>>2]=k[(k[h>>2]|0)+72>>2];k[(k[h>>2]|0)+72>>2]=k[m>>2];break}k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}while(0);if((l[g>>0]|0|0)>(l[(k[m>>2]|0)+8>>0]|0|0))i[(k[m>>2]|0)+8>>0]=i[g>>0]|0;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function AJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;d=f+20|0;g=f+16|0;i=f+12|0;j=f+8|0;h=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[i>>2]=c;k[j>>2]=((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0;a=(k[i>>2]|0)-(k[g>>2]|0)|0;a=a+(vF(k[d>>2]|0,k[g>>2]|0)|0)|0;k[h>>2]=((a+(k[j>>2]|0)|0)>>>0)/((k[j>>2]|0)>>>0)|0;k[e>>2]=(k[g>>2]|0)-(k[i>>2]|0)-(k[h>>2]|0);if((k[g>>2]|0)>>>0>((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(k[e>>2]|0)>>>0<((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)k[e>>2]=(k[e>>2]|0)+-1;while(1){j=vF(k[d>>2]|0,k[e>>2]|0)|0;if((j|0)==(k[e>>2]|0))b=1;else b=(k[e>>2]|0)==((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0);c=k[e>>2]|0;if(!b)break;k[e>>2]=c+-1}r=f;return c|0}function BJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-5;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function CJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+52|0;f=z+48|0;g=z+44|0;h=z+40|0;j=z+36|0;t=z+32|0;x=z+28|0;n=z+57|0;s=z+24|0;o=z+20|0;u=z+16|0;p=z+12|0;w=z+8|0;m=z+56|0;q=z+4|0;v=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;a=vF(k[f>>2]|0,k[h>>2]|0)|0;do if((a|0)!=(k[h>>2]|0)?(k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=jr((k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[t>>2]=a;if(!(k[t>>2]|0)){k[e>>2]=101;y=k[e>>2]|0;r=z;return y|0}a=wF(k[f>>2]|0,k[h>>2]|0,n,s)|0;k[x>>2]=a;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==1){y=Vj(59063)|0;k[e>>2]=y;y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==2){if(k[j>>2]|0)break;y=DJ(k[f>>2]|0,u,o,k[h>>2]|0,1)|0;k[x>>2]=y;if(!(k[x>>2]|0)){AB(k[u>>2]|0);break}k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}i[m>>0]=0;k[q>>2]=0;u=xF(k[f>>2]|0,k[h>>2]|0,w,0)|0;k[x>>2]=u;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if(!(k[j>>2]|0)){i[m>>0]=2;k[q>>2]=k[g>>2]}do{u=DJ(k[f>>2]|0,v,p,k[q>>2]|0,i[m>>0]|0)|0;k[x>>2]=u;if(k[x>>2]|0){y=19;break}AB(k[v>>2]|0);if(!(k[j>>2]|0))break}while((k[p>>2]|0)>>>0>(k[g>>2]|0)>>>0);if((y|0)==19){AB(k[w>>2]|0);k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}y=EJ(k[f>>2]|0,k[w>>2]|0,i[n>>0]|0,k[s>>2]|0,k[p>>2]|0,k[j>>2]|0)|0;k[x>>2]=y;AB(k[w>>2]|0);if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}}while(0);if(!(k[j>>2]|0)){while(1){k[h>>2]=(k[h>>2]|0)+-1;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=vF(k[f>>2]|0,k[h>>2]|0)|0;if((y|0)!=(k[h>>2]|0))break}i[(k[f>>2]|0)+19>>0]=1;k[(k[f>>2]|0)+44>>2]=k[h>>2]}k[e>>2]=0;y=k[e>>2]|0;r=z;return y|0}function DJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;H=L+96|0;j=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;p=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;g=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;q=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;f=L+4|0;h=L;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[p>>0]=e;k[J>>2]=0;k[I>>2]=0;k[F>>2]=k[(k[j>>2]|0)+12>>2];b=jF(k[j>>2]|0)|0;k[A>>2]=b;b=jr((k[(k[F>>2]|0)+56>>2]|0)+36|0)|0;k[B>>2]=b;if((k[B>>2]|0)>>>0>=(k[A>>2]|0)>>>0){K=Vj(61115)|0;k[H>>2]=K;K=k[H>>2]|0;r=L;return K|0}a:do if((k[B>>2]|0)>>>0>0){i[G>>0]=0;k[C>>2]=0;do if((l[p>>0]|0)==1){if((k[o>>2]|0)>>>0<=(k[A>>2]|0)>>>0){b=wF(k[j>>2]|0,k[o>>2]|0,g,0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{if((l[g>>0]|0)!=2)break;i[G>>0]=1;break}}}else if((l[p>>0]|0)==2)i[G>>0]=1;while(0);b=Ng(k[(k[F>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}ft((k[(k[F>>2]|0)+56>>2]|0)+36|0,(k[B>>2]|0)-1|0);b:while(1){k[I>>2]=k[J>>2];if(k[I>>2]|0){b=jr(k[(k[I>>2]|0)+56>>2]|0)|0;k[y>>2]=b}else{b=jr((k[(k[F>>2]|0)+56>>2]|0)+32|0)|0;k[y>>2]=b}if((k[y>>2]|0)>>>0<=(k[A>>2]|0)>>>0?(b=k[C>>2]|0,k[C>>2]=b+1,b>>>0<=(k[B>>2]|0)>>>0):0){b=LJ(k[j>>2]|0,k[y>>2]|0,J,0)|0;k[K>>2]=b}else{b=Vj(61171)|0;k[K>>2]=b}if(k[K>>2]|0){f=23;break}b=jr((k[(k[J>>2]|0)+56>>2]|0)+4|0)|0;k[z>>2]=b;c:do if((k[z>>2]|0)!=0|(i[G>>0]|0)!=0){if((k[z>>2]|0)>>>0>((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){f=28;break b}do if(l[G>>0]|0){if((k[o>>2]|0)!=(k[y>>2]|0)){if((k[y>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[y>>2];k[k[m>>2]>>2]=k[J>>2];i[G>>0]=0;b=Ng(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;do if(!(k[z>>2]|0)){if(!(k[I>>2]|0)){b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;break}b=Ng(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;b=k[(k[I>>2]|0)+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}else{b=jr((k[(k[J>>2]|0)+56>>2]|0)+8|0)|0;k[w>>2]=b;if((k[w>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=40;break b}b=LJ(k[j>>2]|0,k[w>>2]|0,E,0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;e=Ng(k[(k[E>>2]|0)+72>>2]|0)|0;k[K>>2]=e;e=k[E>>2]|0;if(k[K>>2]|0){f=43;break b}b=k[e+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;ft((k[(k[E>>2]|0)+56>>2]|0)+4|0,(k[z>>2]|0)-1|0);sR((k[(k[E>>2]|0)+56>>2]|0)+8|0,(k[(k[J>>2]|0)+56>>2]|0)+12|0,(k[z>>2]|0)-1<<2|0)|0;AB(k[E>>2]|0);if(!(k[I>>2]|0)){ft((k[(k[F>>2]|0)+56>>2]|0)+32|0,k[w>>2]|0);break}b=Ng(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;ft(k[(k[I>>2]|0)+56>>2]|0,k[w>>2]|0)}while(0);k[J>>2]=0;break c}while(0);if((k[z>>2]|0)>>>0>0){k[q>>2]=k[(k[J>>2]|0)+56>>2];b=(k[o>>2]|0)>>>0>0;k[s>>2]=0;d:do if(b)if((l[p>>0]|0)==2){k[v>>2]=0;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;f=jr((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;k[x>>2]=f;f=k[v>>2]|0;if((k[x>>2]|0)>>>0<=(k[o>>2]|0)>>>0)break;k[v>>2]=f+1}k[s>>2]=f;break}else{b=jr((k[q>>2]|0)+8|0)|0;b=Ij(b-(k[o>>2]|0)|0)|0;k[u>>2]=b;k[v>>2]=1;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;b=jr((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;b=Ij(b-(k[o>>2]|0)|0)|0;k[t>>2]=b;if((k[t>>2]|0)<(k[u>>2]|0)){k[s>>2]=k[v>>2];k[u>>2]=k[t>>2]}k[v>>2]=(k[v>>2]|0)+1}}while(0);b=jr((k[q>>2]|0)+(8+(k[s>>2]<<2))|0)|0;k[x>>2]=b;if((k[x>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=63;break b}if((i[G>>0]|0)!=0?(k[x>>2]|0)!=(k[o>>2]|0):0){if((k[x>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[x>>2];b=Ng(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;if((k[s>>2]|0)>>>0<((k[z>>2]|0)-1|0)>>>0){b=(k[q>>2]|0)+(8+(k[s>>2]<<2))|0;c=(k[q>>2]|0)+(4+(k[z>>2]<<2))|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}ft((k[q>>2]|0)+4|0,(k[z>>2]|0)-1|0);b=(MJ(k[j>>2]|0,k[k[n>>2]>>2]|0)|0)!=0^1;k[D>>2]=b?1:0;b=LJ(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[D>>2]|0)|0;k[K>>2]=b;do if(!(k[K>>2]|0)){b=Ng(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(!(k[K>>2]|0))break;AB(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0}while(0);i[G>>0]=0}}else{b=Ng(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;k[k[n>>2]>>2]=k[y>>2];b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;k[k[m>>2]>>2]=k[J>>2];k[J>>2]=0}while(0);AB(k[I>>2]|0);k[I>>2]=0;if(!(i[G>>0]|0))break a}if((f|0)==23){k[J>>2]=0;break}else if((f|0)==28){G=Vj(61200)|0;k[K>>2]=G;break}else if((f|0)==40){G=Vj(61234)|0;k[K>>2]=G;break}else if((f|0)==43){AB(e);break}else if((f|0)==63){G=Vj(61299)|0;k[K>>2]=G;break}}else{k[f>>2]=0==(l[(k[j>>2]|0)+19>>0]|0)?1:0;G=Ng(k[(k[(k[j>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)==((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1}do if((l[(k[j>>2]|0)+17>>0]|0)!=0?(G=vF(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0)|0,(G|0)==(k[(k[j>>2]|0)+44>>2]|0)):0){k[h>>2]=0;G=LJ(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0,h,k[f>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0)){G=Ng(k[(k[h>>2]|0)+72>>2]|0)|0;k[K>>2]=G;AB(k[h>>2]|0)}if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;break}}while(0);ft((k[(k[(k[j>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[j>>2]|0)+44>>2]|0);k[k[n>>2]>>2]=k[(k[j>>2]|0)+44>>2];G=LJ(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[f>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=Ng(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0))break;AB(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;break}}while(0);AB(k[J>>2]|0);AB(k[I>>2]|0);k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}function EJ(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;g=v+32|0;o=v+44|0;p=v+28|0;q=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;h=v;k[n>>2]=a;k[g>>2]=b;i[o>>0]=c;k[p>>2]=d;k[q>>2]=e;k[w>>2]=f;k[s>>2]=k[(k[g>>2]|0)+84>>2];k[x>>2]=k[k[n>>2]>>2];b=FJ(k[x>>2]|0,k[(k[g>>2]|0)+72>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;k[u>>2]=b;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}k[(k[g>>2]|0)+84>>2]=k[q>>2];if((l[o>>0]|0|0)!=5?(l[o>>0]|0|0)!=1:0){x=jr(k[(k[g>>2]|0)+56>>2]|0)|0;k[h>>2]=x;if((k[h>>2]|0)!=0?(HJ(k[n>>2]|0,k[h>>2]|0,4,k[q>>2]|0,u),(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}}else j=5;if((j|0)==5?(x=GJ(k[g>>2]|0)|0,k[u>>2]=x,(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}do if((l[o>>0]|0|0)!=1){x=xF(k[n>>2]|0,k[p>>2]|0,t,0)|0;k[u>>2]=x;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}g=Ng(k[(k[t>>2]|0)+72>>2]|0)|0;k[u>>2]=g;g=k[t>>2]|0;if(k[u>>2]|0){AB(g);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}else{x=IJ(g,k[s>>2]|0,k[q>>2]|0,i[o>>0]|0)|0;k[u>>2]=x;AB(k[t>>2]|0);if(k[u>>2]|0)break;HJ(k[n>>2]|0,k[q>>2]|0,i[o>>0]|0,k[p>>2]|0,u);break}}while(0);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}function FJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+36|0;g=t+32|0;h=t+28|0;l=t+24|0;e=t+20|0;q=t+16|0;n=t+12|0;s=t+8|0;o=t+4|0;p=t;k[g>>2]=a;k[h>>2]=b;k[l>>2]=c;k[e>>2]=d;k[n>>2]=0;if((i[(k[g>>2]|0)+16>>0]|0)!=0?(c=Ng(k[h>>2]|0)|0,k[s>>2]=c,(k[s>>2]|0)!=0):0){k[f>>2]=k[s>>2];s=k[f>>2]|0;r=t;return s|0}if((m[(k[h>>2]|0)+24>>1]&2|0)!=0?(c=vt(k[h>>2]|0)|0,k[s>>2]=c,0!=(c|0)):0){k[f>>2]=k[s>>2];s=k[f>>2]|0;r=t;return s|0}if(!((k[e>>2]|0)!=0?1:(m[(k[h>>2]|0)+24>>1]&8|0)==0))k[n>>2]=k[(k[h>>2]|0)+20>>2];c=(k[h>>2]|0)+24|0;j[c>>1]=m[c>>1]&-9;c=hs(k[g>>2]|0,k[l>>2]|0)|0;k[q>>2]=c;do if(k[q>>2]|0){e=(k[h>>2]|0)+24|0;j[e>>1]=m[e>>1]|m[(k[q>>2]|0)+24>>1]&8;e=k[q>>2]|0;if(i[(k[g>>2]|0)+16>>0]|0){KJ(e,(k[(k[g>>2]|0)+28>>2]|0)+1|0);break}else{Gs(e);break}}while(0);k[o>>2]=k[(k[h>>2]|0)+20>>2];KJ(k[h>>2]|0,k[l>>2]|0);js(k[h>>2]|0);if(i[(k[g>>2]|0)+16>>0]|0){KJ(k[q>>2]|0,k[o>>2]|0);Js(k[q>>2]|0)}do if(k[n>>2]|0){q=Cg(k[g>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=q;if(!(k[s>>2]|0)){s=(k[p>>2]|0)+24|0;j[s>>1]=m[s>>1]|8;js(k[p>>2]|0);Js(k[p>>2]|0);break}if((k[n>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0)rj(k[(k[g>>2]|0)+60>>2]|0,k[n>>2]|0,k[(k[g>>2]|0)+208>>2]|0);k[f>>2]=k[s>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function GJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0;p=r;r=r+48|0;b=p+32|0;e=p+28|0;g=p+24|0;o=p+20|0;h=p+16|0;f=p+36|0;n=p+12|0;j=p+8|0;c=p+4|0;d=p;k[b>>2]=a;k[h>>2]=k[(k[b>>2]|0)+52>>2];i[f>>0]=i[k[b>>2]>>0]|0;k[n>>2]=k[(k[b>>2]|0)+84>>2];a=Ut(k[b>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}k[g>>2]=m[(k[b>>2]|0)+18>>1];k[e>>2]=0;while(1){a=k[b>>2]|0;if((k[e>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=(k[a+56>>2]|0)+(m[(k[b>>2]|0)+20>>1]&(l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)>>0]<<8|l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)+1>>0]));JJ(k[b>>2]|0,k[j>>2]|0,o);if(!(i[(k[b>>2]|0)+4>>0]|0)){a=jr(k[j>>2]|0)|0;k[c>>2]=a;HJ(k[h>>2]|0,k[c>>2]|0,5,k[n>>2]|0,o)}k[e>>2]=(k[e>>2]|0)+1}if(i[a+4>>0]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}j=jr((k[(k[b>>2]|0)+56>>2]|0)+((l[(k[b>>2]|0)+5>>0]|0)+8)|0)|0;k[d>>2]=j;HJ(k[h>>2]|0,k[d>>2]|0,5,k[n>>2]|0,o);j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}function HJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+32|0;g=t+28|0;h=t+36|0;j=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;s=t;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;k[j>>2]=d;k[m>>2]=e;if(k[k[m>>2]>>2]|0){r=t;return}if(!(k[g>>2]|0)){s=Vj(56501)|0;k[k[m>>2]>>2]=s;r=t;return}d=vF(k[f>>2]|0,k[g>>2]|0)|0;k[n>>2]=d;d=Cg(k[k[f>>2]>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=d;if(k[s>>2]|0){k[k[m>>2]>>2]=k[s>>2];r=t;return}k[o>>2]=((k[g>>2]|0)-(k[n>>2]|0)-1|0)*5;do if((k[o>>2]|0)>=0){d=Dg(k[p>>2]|0)|0;k[q>>2]=d;if((l[h>>0]|0|0)==(l[(k[q>>2]|0)+(k[o>>2]|0)>>0]|0|0)?(d=jr((k[q>>2]|0)+((k[o>>2]|0)+1)|0)|0,(d|0)==(k[j>>2]|0)):0)break;d=Ng(k[p>>2]|0)|0;k[s>>2]=d;k[k[m>>2]>>2]=d;if(!(k[s>>2]|0)){i[(k[q>>2]|0)+(k[o>>2]|0)>>0]=i[h>>0]|0;ft((k[q>>2]|0)+((k[o>>2]|0)+1)|0,k[j>>2]|0)}}else{s=Vj(56512)|0;k[k[m>>2]>>2]=s}while(0);Fg(k[p>>2]|0);r=t;return}function IJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+52|0;f=v+48|0;g=v+44|0;h=v+40|0;j=v+57|0;p=v+56|0;n=v+36|0;q=v+32|0;t=v+28|0;s=v+24|0;o=v;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;d=k[f>>2]|0;do if((l[j>>0]|0|0)==4){u=jr(k[d+56>>2]|0)|0;if((u|0)==(k[g>>2]|0)){ft(k[(k[f>>2]|0)+56>>2]|0,k[h>>2]|0);break}u=Vj(58893)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}else{i[p>>0]=i[d>>0]|0;a=Ut(k[f>>2]|0)|0;k[t>>2]=a;if(k[t>>2]|0){k[e>>2]=k[t>>2];u=k[e>>2]|0;r=v;return u|0}k[q>>2]=m[(k[f>>2]|0)+18>>1];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[q>>2]|0))break;k[s>>2]=(k[(k[f>>2]|0)+56>>2]|0)+((m[(k[f>>2]|0)+20>>1]|0)&((l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]|0)<<8|(l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]|0)));if((l[j>>0]|0|0)==3){cc[k[(k[f>>2]|0)+80>>2]&255](k[f>>2]|0,k[s>>2]|0,o);if(((m[o+16>>1]|0)>>>0<(k[o+12>>2]|0)>>>0?((k[s>>2]|0)+(m[o+18>>1]|0)+-1|0)>>>0<=((k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=k[g>>2]|0,(t|0)==(jr((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=jr(k[s>>2]|0)|0;if((t|0)==(k[g>>2]|0)){u=15;break}}k[n>>2]=(k[n>>2]|0)+1}if((u|0)==13)ft((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0,k[h>>2]|0);else if((u|0)==15)ft(k[s>>2]|0,k[h>>2]|0);do if((k[n>>2]|0)==(k[q>>2]|0)){if((l[j>>0]|0|0)==5?(u=jr((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(k[g>>2]|0)):0){ft((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);break}u=Vj(58929)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}while(0);i[k[f>>2]>>0]=i[p>>0]|0}while(0);k[e>>2]=0;u=k[e>>2]|0;r=v;return u|0}function JJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;d=i+36|0;e=i+32|0;f=i+28|0;g=i;h=i+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}cc[k[(k[d>>2]|0)+80>>2]&255](k[d>>2]|0,k[e>>2]|0,g);if((m[g+16>>1]|0)>>>0>=(k[g+12>>2]|0)>>>0){r=i;return}c=jr((k[e>>2]|0)+((m[g+18>>1]|0)-4)|0)|0;k[h>>2]=c;HJ(k[(k[d>>2]|0)+52>>2]|0,k[h>>2]|0,3,k[(k[d>>2]|0)+84>>2]|0,k[f>>2]|0);r=i;return}function KJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[c>>2]|0)+28>>2];ic[k[148>>2]&255](k[(k[f>>2]|0)+44>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+20>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+20>>2]=k[e>>2];if(!((m[(k[c>>2]|0)+24>>1]|0)&2)){r=d;return}if(!((m[(k[c>>2]|0)+24>>1]|0)&8)){r=d;return}mj(k[c>>2]|0,3);r=d;return}function LJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;e=h+20|0;m=h+16|0;l=h+12|0;f=h+8|0;j=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[f>>2]=c;k[j>>2]=d;d=xF(k[m>>2]|0,k[l>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[g>>2]=d;d=k[f>>2]|0;do if(!(k[g>>2]|0)){m=(Tt(k[(k[d>>2]|0)+72>>2]|0)|0)>1;d=k[k[f>>2]>>2]|0;if(!m){i[d>>0]=0;break}AB(d);k[k[f>>2]>>2]=0;m=Vj(57630)|0;k[e>>2]=m;m=k[e>>2]|0;r=h;return m|0}else k[d>>2]=0;while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;r=h;return m|0}function MJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+60>>2];if(!(k[d>>2]|0)){f=0;f=f&1;r=e;return f|0}f=k[c>>2]|0;if(f>>>0>(tj(k[d>>2]|0)|0)>>>0){f=1;f=f&1;r=e;return f|0}f=(sj(k[d>>2]|0,k[c>>2]|0)|0)!=0;f=f&1;r=e;return f|0}function NJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+16>>0]|0|0}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[g>>2]|0)){k[d>>2]=7;c=k[d>>2]|0;r=i;return c|0}if(nf(k[e>>2]|0,k[g>>2]|0,-1,h,0)|0){b=k[f>>2]|0;c=k[e>>2]|0;Hj(b,c,mf(k[e>>2]|0)|0);c=Mf(k[e>>2]|0)|0;k[d>>2]=c;c=k[d>>2]|0;r=i;return c|0}else{Ee(k[h>>2]|0)|0;c=TJ(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;c=k[d>>2]|0;r=i;return c|0}return 0}function PJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;ug(k[d>>2]|0);a=UJ(k[d>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function QJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;c=nf(k[e>>2]|0,k[j>>2]|0,-1,g,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}while(1){j=100==(Ee(k[g>>2]|0)|0);a=k[e>>2]|0;if(!j){b=6;break}j=k[f>>2]|0;j=OJ(a,j,Pe(k[g>>2]|0,0)|0)|0;k[h>>2]=j;if(k[h>>2]|0){b=5;break}}if((b|0)==5){TJ(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}else if((b|0)==6){j=TJ(a,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=i;return j|0}return 0}function RJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+80|0;e=i+68|0;f=i+64|0;h=i+60|0;d=i+56|0;g=i+8|0;c=i;k[e>>2]=a;k[f>>2]=b;ug(k[e>>2]|0);ug(k[f>>2]|0);a=Lg(Yf(k[e>>2]|0)|0)|0;k[d>>2]=a;if((k[k[d>>2]>>2]|0)!=0?(b=zg(k[f>>2]|0)|0,b=BR(b|0,((b|0)<0)<<31>>31|0,Bg(k[f>>2]|0)|0,0)|0,a=c,k[a>>2]=b,k[a+4>>2]=L,a=Fi(k[d>>2]|0,11,c)|0,k[h>>2]=a,k[h>>2]=(k[h>>2]|0)==12?0:a,(k[h>>2]|0)!=0):0){h=k[h>>2]|0;r=i;return h|0}c=g;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[g+20>>2]=k[k[f>>2]>>2];k[g+24>>2]=k[f>>2];k[g+4>>2]=k[e>>2];k[g+16>>2]=1;de(g,2147483647)|0;f=ee(g)|0;k[h>>2]=f;if(!(k[h>>2]|0)){g=(k[(k[e>>2]|0)+4>>2]|0)+22|0;j[g>>1]=(m[g>>1]|0)&-3;h=k[h>>2]|0;r=i;return h|0}else{SJ(Yf(k[g+4>>2]|0)|0);h=k[h>>2]|0;r=i;return h|0}return 0}function SJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(i[(k[b>>2]|0)+16>>0]|0){r=c;return}if(l[(k[b>>2]|0)+13>>0]|0){r=c;return}cj(k[b>>2]|0);r=c;return}function TJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=_g(k[h>>2]|0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){h=k[f>>2]|0;r=g;return h|0}c=k[e>>2]|0;h=k[d>>2]|0;Hj(c,h,mf(k[d>>2]|0)|0);h=k[f>>2]|0;r=g;return h|0}function UJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+32>>2]|0)-(k[(k[(k[d>>2]|0)+4>>2]|0)+36>>2]|0);r=c;return k[b>>2]|0}function VJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;m=p+32|0;n=p+28|0;o=p+24|0;c=p+20|0;f=p+16|0;b=p+12|0;e=p+8|0;d=p+4|0;g=p;j=p+40|0;k[n>>2]=a;k[o>>2]=0;if((l[(k[n>>2]|0)+16>>0]|0)!=0?(k[(k[n>>2]|0)+44>>2]|0)!=0:0){k[m>>2]=k[(k[n>>2]|0)+44>>2];o=k[m>>2]|0;r=p;return o|0}do if((Cr(k[n>>2]|0)|0)==0?(l[(k[n>>2]|0)+17>>0]|0)==0:0){k[c>>2]=1;a=Et(k[n>>2]|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){if((l[(k[n>>2]|0)+18>>0]|0)<=1){a=WJ(k[n>>2]|0,c)|0;k[o>>2]=a}if(!(k[o>>2]|0)){if(k[c>>2]|0){if(i[(k[n>>2]|0)+15>>0]|0){k[o>>2]=776;break}a=Ft(k[n>>2]|0,4)|0;k[o>>2]=a;if(k[o>>2]|0)break;if((((k[k[(k[n>>2]|0)+68>>2]>>2]|0)==0?(k[f>>2]=k[k[n>>2]>>2],a=Xr(k[f>>2]|0,k[(k[n>>2]|0)+180>>2]|0,0,b)|0,k[o>>2]=a,(k[o>>2]|0)==0&(k[b>>2]|0)!=0):0)?(k[e>>2]=0,k[d>>2]=2050,f=ds(k[f>>2]|0,k[(k[n>>2]|0)+180>>2]|0,k[(k[n>>2]|0)+68>>2]|0,k[d>>2]|0,e)|0,k[o>>2]=f,(k[o>>2]|0)==0):0)?(k[e>>2]&1|0)!=0:0){f=ot(48855)|0;k[o>>2]=f;rr(k[(k[n>>2]|0)+68>>2]|0)|0}b=k[n>>2]|0;if(k[k[(k[n>>2]|0)+68>>2]>>2]|0){f=or(b)|0;k[o>>2]=f;if(!(k[o>>2]|0)){f=Vr(k[n>>2]|0,1)|0;k[o>>2]=f;i[(k[n>>2]|0)+17>>0]=0}}else if(!(i[b+4>>0]|0))Gr(k[n>>2]|0,1)|0;if(k[o>>2]|0){pr(k[n>>2]|0,k[o>>2]|0)|0;break}}if((i[(k[n>>2]|0)+13>>0]|0)==0?(l[(k[n>>2]|0)+24>>0]|0)!=0:0){k[g>>2]=0;f=XJ(k[n>>2]|0,g)|0;k[o>>2]=f;if(k[o>>2]|0)break;if((k[g>>2]|0)>>>0>0){g=es(k[(k[n>>2]|0)+64>>2]|0,j,16,24,0)|0;k[o>>2]=g;if((k[o>>2]|0)!=0&(k[o>>2]|0)!=522)break}else{b=j;c=b+16|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0))}if(FQ((k[n>>2]|0)+112|0,j,16)|0)cj(k[n>>2]|0)}h=YJ(k[n>>2]|0)|0;k[o>>2]=h;h=35}}}else h=35;while(0);if((h|0)==35){if(Cr(k[n>>2]|0)|0){j=ZJ(k[n>>2]|0)|0;k[o>>2]=j}if((k[o>>2]|0)==0?(l[(k[n>>2]|0)+17>>0]|0)==0:0){j=XJ(k[n>>2]|0,(k[n>>2]|0)+28|0)|0;k[o>>2]=j}}b=k[n>>2]|0;if(k[o>>2]|0)nr(b);else{i[b+17>>0]=1;i[(k[n>>2]|0)+24>>0]=1}k[m>>2]=k[o>>2];o=k[m>>2]|0;r=p;return o|0}function WJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+32|0;d=p+28|0;n=p+24|0;o=p+20|0;e=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;f=p;g=p+36|0;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[k[c>>2]>>2];k[o>>2]=0;k[e>>2]=1;k[h>>2]=((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;k[k[d>>2]>>2]=0;if(!(k[h>>2]|0)){a=Xr(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0,e)|0;k[o>>2]=a}if(!((k[o>>2]|0)==0&(k[e>>2]|0)!=0)){o=k[o>>2]|0;r=p;return o|0}k[j>>2]=0;a=eK(k[(k[c>>2]|0)+64>>2]|0,j)|0;k[o>>2]=a;if((k[o>>2]|0)!=0|(k[j>>2]|0)!=0){o=k[o>>2]|0;r=p;return o|0}a=XJ(k[c>>2]|0,m)|0;k[o>>2]=a;if(k[o>>2]|0){o=k[o>>2]|0;r=p;return o|0}if(!((k[m>>2]|0)!=0|(k[h>>2]|0)!=0)){ak();if((Ft(k[c>>2]|0,2)|0)==0?(Ar(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0,(i[(k[c>>2]|0)+4>>0]|0)==0):0)Gr(k[c>>2]|0,1)|0;bk();o=k[o>>2]|0;r=p;return o|0}if(!(k[h>>2]|0)){k[f>>2]=2049;n=ds(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,f)|0;k[o>>2]=n}if(!(k[o>>2]|0)){i[g>>0]=0;n=es(k[(k[c>>2]|0)+68>>2]|0,g,1,0,0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)==522?0:n;if(!(k[h>>2]|0))rr(k[(k[c>>2]|0)+68>>2]|0)|0;k[k[d>>2]>>2]=(l[g>>0]|0)!=0&1;o=k[o>>2]|0;r=p;return o|0}else{if((k[o>>2]|0)!=14){o=k[o>>2]|0;r=p;return o|0}k[k[d>>2]>>2]=1;k[o>>2]=0;o=k[o>>2]|0;r=p;return o|0}return 0}function XJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+24|0;d=i+20|0;e=i+16|0;g=i+12|0;f=i;h=i+8|0;k[d>>2]=a;k[e>>2]=b;b=dK(k[(k[d>>2]|0)+216>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=f;k[b>>2]=0;k[b+4>>2]=0;if((k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0?(b=aj(k[(k[d>>2]|0)+64>>2]|0,f)|0,k[h>>2]=b,(k[h>>2]|0)!=0):0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}h=f;b=k[(k[d>>2]|0)+160>>2]|0;b=qR(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(b|0,L|0,1,0)|0;h=k[(k[d>>2]|0)+160>>2]|0;h=zR(b|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0;k[g>>2]=h}if((k[g>>2]|0)>>>0>(k[(k[d>>2]|0)+164>>2]|0)>>>0)k[(k[d>>2]|0)+164>>2]=k[g>>2];k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}function YJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c=h;k[e>>2]=a;k[g>>2]=0;do if(!(i[(k[e>>2]|0)+13>>0]|0)){b=XJ(k[e>>2]|0,c)|0;k[g>>2]=b;if(k[g>>2]|0){k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}a=k[k[e>>2]>>2]|0;b=k[(k[e>>2]|0)+220>>2]|0;if(!(k[c>>2]|0)){c=Ar(a,b,0)|0;k[g>>2]=c;k[g>>2]=(k[g>>2]|0)==5898?0:c;k[f>>2]=0}else{c=Xr(a,b,0,f)|0;k[g>>2]=c}if(!(k[g>>2]|0)){a=k[e>>2]|0;if(k[f>>2]|0){f=$J(a,0)|0;k[g>>2]=f;break}if((l[a+5>>0]|0)==5)i[(k[e>>2]|0)+5>>0]=0}}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function ZJ(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[e>>2]=0;Qs(k[(k[b>>2]|0)+216>>2]|0);a=_J(k[(k[b>>2]|0)+216>>2]|0,e)|0;k[c>>2]=a;if(!((k[c>>2]|0)!=0|(k[e>>2]|0)!=0)){e=k[c>>2]|0;r=d;return e|0}cj(k[b>>2]|0);e=k[c>>2]|0;r=d;return e|0}function _J(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do{h=k[c>>2]|0;b=k[d>>2]|0;a=(k[e>>2]|0)+1|0;k[e>>2]=a;a=Mt(h,b,0,a)|0;k[f>>2]=a}while((k[f>>2]|0)==-1);r=g;return k[f>>2]|0}function $J(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if((i[(k[d>>2]|0)+13>>0]|0)==0?(k[(k[d>>2]|0)+216>>2]|0)==0:0)if(kJ(k[d>>2]|0)|0){rr(k[(k[d>>2]|0)+68>>2]|0)|0;b=aK(k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0)break;i[(k[d>>2]|0)+5>>0]=5;i[(k[d>>2]|0)+17>>0]=0;break}else{k[c>>2]=14;g=k[c>>2]|0;r=h;return g|0}else g=7;while(0);if((g|0)==7)k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function aK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(i[(k[b>>2]|0)+4>>0]|0){a=bK(k[b>>2]|0)|0;k[c>>2]=a}if(k[c>>2]|0){a=k[b>>2]|0;fj(a);c=k[c>>2]|0;r=d;return c|0}a=(k[b>>2]|0)+168|0;a=cK(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+64>>2]|0,k[(k[b>>2]|0)+220>>2]|0,l[(k[b>>2]|0)+4>>0]|0,k[a>>2]|0,k[a+4>>2]|0,(k[b>>2]|0)+216|0)|0;k[c>>2]=a;a=k[b>>2]|0;fj(a);c=k[c>>2]|0;r=d;return c|0}function bK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Ft(k[b>>2]|0,4)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}Gr(k[b>>2]|0,1)|0;c=k[c>>2]|0;r=d;return c|0}function cK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;h=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w;q=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[k[q>>2]>>2]=0;c=sg(120+(k[(k[l>>2]|0)+4>>2]|0)|0,0)|0;k[u>>2]=c;if(!(k[u>>2]|0)){k[h>>2]=7;c=k[h>>2]|0;r=w;return c|0}k[k[u>>2]>>2]=k[l>>2];k[(k[u>>2]|0)+8>>2]=(k[u>>2]|0)+120;k[(k[u>>2]|0)+4>>2]=k[m>>2];j[(k[u>>2]|0)+40>>1]=-1;a=p;g=k[a+4>>2]|0;c=(k[u>>2]|0)+16|0;k[c>>2]=k[a>>2];k[c+4>>2]=g;k[(k[u>>2]|0)+108>>2]=k[n>>2];i[(k[u>>2]|0)+48>>0]=1;i[(k[u>>2]|0)+49>>0]=1;i[(k[u>>2]|0)+43>>0]=(k[o>>2]|0)!=0?2:0;k[s>>2]=524294;c=ds(k[l>>2]|0,k[n>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[s>>2]|0,s)|0;k[v>>2]=c;if((k[v>>2]|0)==0?(k[s>>2]&1|0)!=0:0)i[(k[u>>2]|0)+46>>0]=1;if(k[v>>2]|0){Vs(k[u>>2]|0,0);rr(k[(k[u>>2]|0)+8>>2]|0)|0;Ud(k[u>>2]|0)}else{c=as(k[m>>2]|0)|0;k[t>>2]=c;if(k[t>>2]&1024)i[(k[u>>2]|0)+48>>0]=0;if(k[t>>2]&4096)i[(k[u>>2]|0)+49>>0]=0;k[k[q>>2]>>2]=k[u>>2]}k[h>>2]=k[v>>2];c=k[h>>2]|0;r=w;return c|0}function dK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(j[(k[c>>2]|0)+40>>1]|0)>=0:0){k[b>>2]=k[(k[c>>2]|0)+52+20>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function eK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+36>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function fK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+176|0;c=f+168|0;e=f+164|0;b=f+160|0;d=f;k[c>>2]=a;uR(d|0,0,160)|0;while(1){if(!(k[c>>2]|0))break;k[b>>2]=k[(k[c>>2]|0)+8>>2];k[(k[c>>2]|0)+8>>2]=0;k[e>>2]=0;while(1){if(!(k[d+(k[e>>2]<<2)>>2]|0))break;a=iK(k[d+(k[e>>2]<<2)>>2]|0,k[c>>2]|0)|0;k[c>>2]=a;k[d+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}k[d+(k[e>>2]<<2)>>2]=k[c>>2];k[c>>2]=k[b>>2]}k[c>>2]=0;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>>>0>=40)break;b=iK(a,k[d+(k[e>>2]<<2)>>2]|0)|0;k[c>>2]=b;k[e>>2]=(k[e>>2]|0)+1}r=f;return a|0}function gK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[c>>2]=1;while(1){a=k[d>>2]|0;if(!(k[b>>2]|0))break;k[e>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=kK(b,k[c>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=a;k[c>>2]=(k[c>>2]|0)+1}r=f;return a|0}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;a=k[f>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){hK(k[a+12>>2]|0,k[d>>2]|0,e);k[(k[e>>2]|0)+8>>2]=k[f>>2]}else k[k[d>>2]>>2]=a;a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0){hK(k[a+8>>2]|0,(k[f>>2]|0)+8|0,k[g>>2]|0);r=h;return}else{k[k[g>>2]>>2]=a;r=h;return}}function iK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+24|0;d=g+20|0;e=g;f=g+16|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1){a=k[c>>2]|0;if(!((k[c>>2]|0)!=0?(k[d>>2]|0)!=0:0))break;i=k[a+4>>2]|0;b=k[d>>2]|0;h=k[b+4>>2]|0;if((i|0)<(h|0)|((i|0)==(h|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[(k[f>>2]|0)+8>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+8>>2];k[f>>2]=k[(k[f>>2]|0)+8>>2];continue}h=k[d>>2]|0;a=k[h+4>>2]|0;i=k[c>>2]|0;b=k[i+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0:0)){k[(k[f>>2]|0)+8>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[(k[f>>2]|0)+8>>2];continue}else{k[c>>2]=k[(k[c>>2]|0)+8>>2];continue}}if(a){k[(k[f>>2]|0)+8>>2]=k[c>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}else{k[(k[f>>2]|0)+8>>2]=k[d>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}return 0}function jK(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(m[(k[c>>2]|0)+24>>1]|0)){a=Pw(k[(k[c>>2]|0)+4>>2]|0,1016,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[k[d>>2]>>2]=k[k[c>>2]>>2];k[k[c>>2]>>2]=k[d>>2];k[(k[c>>2]|0)+16>>2]=(k[d>>2]|0)+8;j[(k[c>>2]|0)+24>>1]=63;break}k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=(j[a>>1]|0)+-1<<16>>16;a=(k[c>>2]|0)+16|0;d=k[a>>2]|0;k[a>>2]=d+16;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function kK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}b=k[e>>2]|0;if((k[f>>2]|0)==1){k[g>>2]=k[b>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}b=kK(b,(k[f>>2]|0)-1|0)|0;k[c>>2]=b;k[g>>2]=k[k[e>>2]>>2];b=k[c>>2]|0;if(!(k[g>>2]|0)){k[d>>2]=b;g=k[d>>2]|0;r=h;return g|0}else{k[(k[g>>2]|0)+12>>2]=b;k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];f=kK(k[e>>2]|0,(k[f>>2]|0)-1|0)|0;k[(k[g>>2]|0)+8>>2]=f;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function lK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+26>>1]|0)&1)){a=fK(k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a}a=(k[b>>2]|0)+26|0;j[a>>1]=m[a>>1]|0|2;r=c;return}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=k[h>>2];k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+4>>2]=k[g>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+20>>2]=0;k[(k[d>>2]|0)+16>>2]=(k[d>>2]|0)+32;j[(k[d>>2]|0)+24>>1]=(((k[f>>2]|0)-32|0)>>>0)/16|0;j[(k[d>>2]|0)+26>>1]=1;k[(k[d>>2]|0)+28>>2]=0;r=e;return k[d>>2]|0}function nK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=(k[(k[e>>2]|0)+8>>2]|0)+(((k[d>>2]|0)>>>0)/8|0)|0;i[a>>0]=l[a>>0]|0|1<<(k[d>>2]&7);r=c;return}function oK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;n=x+32|0;o=x+24|0;w=x+16|0;v=x;p=x+76|0;e=x+72|0;q=x+68|0;s=x+64|0;f=x+60|0;t=x+56|0;u=x+52|0;m=x+48|0;j=x+44|0;h=x+40|0;g=x+36|0;k[p>>2]=a;k[e>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=k[s>>2];k[u>>2]=k[q>>2];while(1){a=k[s>>2]|0;k[s>>2]=a+-1;if((a|0)<=0){d=25;break}if(!(k[(k[p>>2]|0)+16>>2]|0)){d=25;break}c=k[p>>2]|0;if((k[q>>2]|0)<1){d=5;break}if(tK(c,k[q>>2]|0)|0){d=25;break}if(Cg(k[(k[p>>2]|0)+4>>2]|0,k[q>>2]|0,m,0)|0){d=8;break}a=Dg(k[m>>2]|0)|0;k[j>>2]=a;do if(!(k[e>>2]|0)){if((k[s>>2]|0)>0?(l[(k[k[p>>2]>>2]|0)+17>>0]|0)!=0:0){a=jr(k[j>>2]|0)|0;k[f>>2]=a;pK(k[p>>2]|0,k[f>>2]|0,4,k[q>>2]|0)}}else{a=jr((k[j>>2]|0)+4|0)|0;k[h>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)pK(k[p>>2]|0,k[q>>2]|0,2,0);if((k[h>>2]|0)>(((k[(k[k[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){a=k[p>>2]|0;k[o>>2]=k[q>>2];sK(a,43167,o);k[s>>2]=(k[s>>2]|0)+-1;break}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[h>>2]|0))break;a=jr((k[j>>2]|0)+(8+(k[f>>2]<<2))|0)|0;k[g>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)pK(k[p>>2]|0,k[g>>2]|0,2,0);tK(k[p>>2]|0,k[g>>2]|0)|0;k[f>>2]=(k[f>>2]|0)+1}k[s>>2]=(k[s>>2]|0)-(k[h>>2]|0)}while(0);a=jr(k[j>>2]|0)|0;k[q>>2]=a;Fg(k[m>>2]|0);if(!(k[e>>2]|0))continue;if((k[s>>2]|0)>=((k[q>>2]|0)!=0|0))continue;sK(k[p>>2]|0,43206,n)}if((d|0)==5){t=k[t>>2]|0;w=k[u>>2]|0;k[v>>2]=(k[s>>2]|0)+1;k[v+4>>2]=t;k[v+8>>2]=w;sK(c,43088,v);r=x;return}else if((d|0)==8){v=k[p>>2]|0;k[w>>2]=k[q>>2];sK(v,43145,w);r=x;return}else if((d|0)==25){r=x;return}}function pK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+44|0;f=q+40|0;g=q+49|0;h=q+36|0;n=q+32|0;j=q+48|0;m=q+28|0;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=d;a=wF(k[k[e>>2]>>2]|0,k[f>>2]|0,j,m)|0;k[n>>2]=a;if(k[n>>2]|0){if((k[n>>2]|0)==7|(k[n>>2]|0)==3082)k[(k[e>>2]|0)+24>>2]=1;p=k[e>>2]|0;k[o>>2]=k[f>>2];sK(p,43005,o);r=q;return}if((l[j>>0]|0|0)==(l[g>>0]|0|0)?(k[m>>2]|0)==(k[h>>2]|0):0){r=q;return}o=k[e>>2]|0;b=l[g>>0]|0;d=k[h>>2]|0;a=l[j>>0]|0;n=k[m>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=b;k[p+8>>2]=d;k[p+12>>2]=a;k[p+16>>2]=n;sK(o,43034,p);r=q;return}function qK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;h=ca+40|0;g=ca+32|0;j=ca+240|0;n=ca+236|0;o=ca+232|0;p=ca+228|0;q=ca+24|0;K=ca+224|0;A=ca+220|0;f=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;c=q;k[c>>2]=d;k[c+4>>2]=e;k[K>>2]=0;k[w>>2]=-1;k[x>>2]=1;k[D>>2]=1;k[z>>2]=0;k[O>>2]=0;k[S>>2]=k[(k[n>>2]|0)+28>>2];k[Q>>2]=k[(k[n>>2]|0)+32>>2];k[R>>2]=k[(k[n>>2]|0)+36>>2];i[P>>0]=0;k[H>>2]=k[k[n>>2]>>2];k[V>>2]=k[(k[H>>2]|0)+36>>2];if(!(k[o>>2]|0)){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}if(tK(k[n>>2]|0,k[o>>2]|0)|0){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}k[(k[n>>2]|0)+28>>2]=42625;k[(k[n>>2]|0)+32>>2]=k[o>>2];c=xF(k[H>>2]|0,k[o>>2]|0,K,0)|0;k[f>>2]=c;do if(!c){i[P>>0]=i[k[K>>2]>>0]|0;i[k[K>>2]>>0]=0;g=Ut(k[K>>2]|0)|0;k[f>>2]=g;if(g){ba=k[n>>2]|0;k[h>>2]=k[f>>2];sK(ba,42673,h);break}k[v>>2]=k[(k[K>>2]|0)+56>>2];k[y>>2]=l[(k[K>>2]|0)+5>>0];k[(k[n>>2]|0)+28>>2]=42711;k[t>>2]=((l[(k[v>>2]|0)+((k[y>>2]|0)+5)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+5)+1>>0])-1&65535)+1;k[E>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+3)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+3)+1>>0];k[s>>2]=(k[y>>2]|0)+12-(l[(k[K>>2]|0)+4>>0]<<2);k[J>>2]=(k[v>>2]|0)+((k[s>>2]|0)+((k[E>>2]|0)-1<<1));if(i[(k[K>>2]|0)+4>>0]|0){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0}else{h=jr((k[v>>2]|0)+((k[y>>2]|0)+8)|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0){k[(k[n>>2]|0)+28>>2]=42737;pK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0)}h=q;h=qK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;k[D>>2]=0}k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break;if(!(k[(k[n>>2]|0)+16>>2]|0))break;k[(k[n>>2]|0)+36>>2]=k[A>>2];k[L>>2]=l[k[J>>2]>>0]<<8|l[(k[J>>2]|0)+1>>0];k[J>>2]=(k[J>>2]|0)+-2;do if((k[L>>2]|0)>>>0>=(k[t>>2]|0)>>>0?(k[L>>2]|0)>>>0<=((k[V>>2]|0)-4|0)>>>0:0){k[I>>2]=(k[v>>2]|0)+(k[L>>2]|0);cc[k[(k[K>>2]|0)+80>>2]&255](k[K>>2]|0,k[I>>2]|0,B);if(((k[L>>2]|0)+(m[B+18>>1]|0)|0)>>>0>(k[V>>2]|0)>>>0){sK(k[n>>2]|0,42795,$);k[x>>2]=0;break}if(i[(k[K>>2]|0)+2>>0]|0){e=B;d=k[e>>2]|0;e=k[e+4>>2]|0;a=q;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[D>>2]|0){if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>b>>>0)ba=26}else if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>=b>>>0)ba=26;if((ba|0)==26){ba=0;h=k[n>>2]|0;c=B;f=k[c+4>>2]|0;g=W;k[g>>2]=k[c>>2];k[g+4>>2]=f;sK(h,42819,W)}f=B;g=k[f+4>>2]|0;h=q;k[h>>2]=k[f>>2];k[h+4>>2]=g}if((k[B+12>>2]|0)>>>0>(m[B+16>>1]|0)>>>0){k[G>>2]=(((k[B+12>>2]|0)-(m[B+16>>1]|0)+(k[V>>2]|0)-5|0)>>>0)/(((k[V>>2]|0)-4|0)>>>0)|0;h=jr((k[I>>2]|0)+((m[B+18>>1]|0)-4)|0)|0;k[N>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)pK(k[n>>2]|0,k[N>>2]|0,3,k[o>>2]|0);oK(k[n>>2]|0,0,k[N>>2]|0,k[G>>2]|0)}if(i[(k[K>>2]|0)+4>>0]|0){uK(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(m[B+18>>1]|0)-1);break}h=jr(k[I>>2]|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)pK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0);h=q;h=qK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[u>>2]=h;k[D>>2]=0;if((k[u>>2]|0)!=(k[w>>2]|0)){sK(k[n>>2]|0,42843,X);k[w>>2]=k[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;h=k[n>>2]|0;f=k[t>>2]|0;g=(k[V>>2]|0)-4|0;k[_>>2]=k[L>>2];k[_+4>>2]=f;k[_+8>>2]=g;sK(h,42765,_);k[x>>2]=0}k[A>>2]=(k[A>>2]|0)+-1}X=q;_=k[X+4>>2]|0;$=k[p>>2]|0;k[$>>2]=k[X>>2];k[$+4>>2]=_;k[(k[n>>2]|0)+28>>2]=0;if((k[x>>2]|0)!=0?(k[(k[n>>2]|0)+16>>2]|0)>0:0){a:do if(!(i[(k[K>>2]|0)+4>>0]|0)){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0;k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break a;k[L>>2]=l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))>>0]<<8|l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))+1>>0];$=(gc[k[(k[K>>2]|0)+76>>2]&255](k[K>>2]|0,(k[v>>2]|0)+(k[L>>2]|0)|0)|0)&65535;k[T>>2]=$;uK(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(k[T>>2]|0)-1);k[A>>2]=(k[A>>2]|0)+-1}}while(0);k[A>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+1)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+1)+1>>0];while(1){if((k[A>>2]|0)<=0)break;k[U>>2]=l[(k[v>>2]|0)+((k[A>>2]|0)+2)>>0]<<8|l[(k[v>>2]|0)+((k[A>>2]|0)+2)+1>>0];uK(k[z>>2]|0,k[A>>2]<<16|(k[A>>2]|0)+(k[U>>2]|0)-1);k[C>>2]=l[(k[v>>2]|0)+(k[A>>2]|0)>>0]<<8|l[(k[v>>2]|0)+(k[A>>2]|0)+1>>0];k[A>>2]=k[C>>2]}k[F>>2]=0;k[O>>2]=(k[t>>2]|0)-1;while(1){if(!(vK(k[z>>2]|0,aa)|0))break;if((k[O>>2]&65535)>>>0>=(k[aa>>2]|0)>>>16>>>0){ba=51;break}k[F>>2]=(k[F>>2]|0)+(((k[aa>>2]|0)>>>16)-(k[O>>2]&65535)-1);k[O>>2]=k[aa>>2]}if((ba|0)==51){ba=k[n>>2]|0;$=k[o>>2]|0;k[Y>>2]=(k[aa>>2]|0)>>>16;k[Y+4>>2]=$;sK(ba,42868,Y)}k[F>>2]=(k[F>>2]|0)+((k[V>>2]|0)-(k[O>>2]&65535)-1);if((k[k[z>>2]>>2]|0)==0?(k[F>>2]|0)!=(l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0):0){ba=k[n>>2]|0;$=l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0;aa=k[o>>2]|0;k[Z>>2]=k[F>>2];k[Z+4>>2]=$;k[Z+8>>2]=aa;sK(ba,42905,Z)}}}else{ba=k[n>>2]|0;k[g>>2]=k[f>>2];sK(ba,42635,g)}while(0);if(!(k[x>>2]|0))i[k[K>>2]>>0]=i[P>>0]|0;AB(k[K>>2]|0);k[(k[n>>2]|0)+28>>2]=k[S>>2];k[(k[n>>2]|0)+32>>2]=k[Q>>2];k[(k[n>>2]|0)+36>>2]=k[R>>2];k[j>>2]=(k[w>>2]|0)+1;ba=k[j>>2]|0;r=ca;return ba|0}function rK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return (l[(k[(k[d>>2]|0)+8>>2]|0)+(((k[c>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[c>>2]&7)|0}function sK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+28|0;e=h+24|0;f=h+8|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+16>>2]|0)){r=h;return}b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1;b=(k[d>>2]|0)+20|0;k[b>>2]=(k[b>>2]|0)+1;k[f>>2]=c;if(k[(k[d>>2]|0)+40+12>>2]|0)kA((k[d>>2]|0)+40|0,42623,1);if(k[(k[d>>2]|0)+28>>2]|0){c=(k[d>>2]|0)+40|0;b=k[(k[d>>2]|0)+28>>2]|0;a=k[(k[d>>2]|0)+36>>2]|0;k[g>>2]=k[(k[d>>2]|0)+32>>2];k[g+4>>2]=a;jA(c,b,g)}ng((k[d>>2]|0)+40|0,k[e>>2]|0,f);if((l[(k[d>>2]|0)+40+24>>0]|0|0)!=1){r=h;return}k[(k[d>>2]|0)+24>>2]=1;r=h;return}function tK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+8|0;d=h;f=h+20|0;c=h+16|0;e=h+12|0;k[c>>2]=a;k[e>>2]=b;do if(k[e>>2]|0){b=k[c>>2]|0;a=k[e>>2]|0;if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+12>>2]|0)>>>0){k[d>>2]=a;sK(b,42957,d);k[f>>2]=1;break}d=(rK(b,a)|0)!=0;a=k[c>>2]|0;b=k[e>>2]|0;if(d){k[g>>2]=b;sK(a,42980,g);k[f>>2]=1;break}else{nK(a,b);k[f>>2]=0;break}}else k[f>>2]=1;while(0);r=h;return k[f>>2]|0}function uK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[e>>2]=b;k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];while(1){b=((k[e>>2]|0)>>>0)/2|0;k[f>>2]=b;if(b>>>0<=0){c=5;break}if((k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<=(k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]|0)>>>0){c=5;break}k[d>>2]=k[(k[c>>2]|0)+(k[f>>2]<<2)>>2];k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];k[e>>2]=k[f>>2]}if((c|0)==5){r=g;return}}function vK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;b=k[k[d>>2]>>2]|0;k[h>>2]=b;if(!b){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[d>>2]|0)+(k[h>>2]<<2)>>2];k[(k[d>>2]|0)+(k[h>>2]<<2)>>2]=-1;b=k[d>>2]|0;k[b>>2]=(k[b>>2]|0)+-1;k[f>>2]=1;while(1){b=k[f>>2]<<1;k[g>>2]=b;if(b>>>0>(k[k[d>>2]>>2]|0)>>>0)break;if((k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0>(k[(k[d>>2]|0)+((k[g>>2]|0)+1<<2)>>2]|0)>>>0)k[g>>2]=(k[g>>2]|0)+1;if((k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<(k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0)break;k[h>>2]=k[(k[d>>2]|0)+(k[f>>2]<<2)>>2];k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[d>>2]|0)+(k[g>>2]<<2)>>2];k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]=k[h>>2];k[f>>2]=k[g>>2]}k[c>>2]=1;h=k[c>>2]|0;r=i;return h|0}function wK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;AK((k[(k[b>>2]|0)+12>>2]|0)+((k[c>>2]|0)*56|0)|0);k[c>>2]=(k[c>>2]|0)+1}a=k[b>>2]|0;Ud(a);r=d;return}function xK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;ag(k[e>>2]|0,k[(k[c>>2]|0)+12>>2]|0);yK(0,k[(k[c>>2]|0)+16>>2]|0);if(k[(k[c>>2]|0)+40>>2]|0)zK(k[(k[c>>2]|0)+40>>2]|0)|0;if(!(k[(k[c>>2]|0)+56>>2]|0)){c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}zK(k[(k[c>>2]|0)+56>>2]|0)|0;c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}function yK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[g>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+4>>2];ag(k[c>>2]|0,k[d>>2]|0);k[d>>2]=k[e>>2]}r=f;return}function zK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;a=rr(k[d>>2]|0)|0;k[b>>2]=a;Ud(k[d>>2]|0);r=c;return k[b>>2]|0}function AK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Ud(k[(k[b>>2]|0)+28>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);if(k[(k[b>>2]|0)+44>>2]|0)Ms(k[(k[b>>2]|0)+24>>2]|0,0,0,k[(k[b>>2]|0)+44>>2]|0)|0;BK(k[(k[b>>2]|0)+48>>2]|0);b=k[b>>2]|0;a=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));r=c;return}function BK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}wK(k[(k[b>>2]|0)+4>>2]|0);Ud(k[b>>2]|0);r=c;return}function CK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(!(l[(k[e>>2]|0)+11>>0]|0)){r=j;return}i[(k[e>>2]|0)+11>>0]=0;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;do if((l[(k[h>>2]|0)+64>>0]|0)&16){i[(k[e>>2]|0)+11>>0]=1;if((k[g>>2]|0)==0?(d=(k[h>>2]|0)+16|0,a=f,!((k[d>>2]|0)==(k[a>>2]|0)?(k[d+4>>2]|0)==(k[a+4>>2]|0):0)):0)break;i[(k[h>>2]|0)+66>>0]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+8>>2]}r=j;return}function DK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;o=u+36|0;f=u+32|0;e=u+28|0;p=u+24|0;g=u+20|0;s=u+16|0;t=u+12|0;j=u+8|0;h=u+4|0;q=u;n=u+40|0;k[f>>2]=a;k[e>>2]=b;k[p>>2]=c;k[g>>2]=d;d=k[e>>2]|0;if(d>>>0>(jF(k[f>>2]|0)|0)>>>0){t=Vj(64010)|0;k[o>>2]=t;t=k[o>>2]|0;r=u;return t|0}d=iF(k[f>>2]|0,k[e>>2]|0,s,0,0)|0;k[t>>2]=d;if(k[t>>2]|0){k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}a:do if(!(i[(k[s>>2]|0)+8>>0]|0)){i[(k[s>>2]|0)+8>>0]=1;k[q>>2]=l[(k[s>>2]|0)+5>>0];k[h>>2]=0;while(1){e=k[s>>2]|0;if((k[h>>2]|0)>=(m[(k[s>>2]|0)+18>>1]|0))break;k[j>>2]=(k[e+56>>2]|0)+(m[(k[s>>2]|0)+20>>1]&(l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)>>0]<<8|l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)+1>>0]));if((i[(k[s>>2]|0)+4>>0]|0)==0?(b=k[f>>2]|0,d=jr(k[j>>2]|0)|0,d=DK(b,d,1,k[g>>2]|0)|0,k[t>>2]=d,(k[t>>2]|0)!=0):0)break a;d=EK(k[s>>2]|0,k[j>>2]|0,n)|0;k[t>>2]=d;if(k[t>>2]|0)break a;k[h>>2]=(k[h>>2]|0)+1}if(i[e+4>>0]|0){if(k[g>>2]|0){n=k[g>>2]|0;k[n>>2]=(k[n>>2]|0)+(m[(k[s>>2]|0)+18>>1]|0)}}else{j=k[f>>2]|0;n=jr((k[(k[s>>2]|0)+56>>2]|0)+((k[q>>2]|0)+8)|0)|0;n=DK(j,n,1,k[g>>2]|0)|0;k[t>>2]=n;if(k[t>>2]|0)break}e=k[s>>2]|0;if(k[p>>2]|0){FK(e,t);break}p=Ng(k[e+72>>2]|0)|0;k[t>>2]=p;if(!p)GK(k[s>>2]|0,l[(k[(k[s>>2]|0)+56>>2]|0)+(k[q>>2]|0)>>0]|8)}else{q=Vj(64015)|0;k[t>>2]=q}while(0);i[(k[s>>2]|0)+8>>0]=0;AB(k[s>>2]|0);k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}function EK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+80|0;d=t+64|0;e=t+60|0;f=t+56|0;u=t+52|0;o=t+48|0;h=t;n=t+44|0;q=t+40|0;i=t+36|0;l=t+32|0;g=t+28|0;p=t+24|0;k[e>>2]=a;k[f>>2]=b;k[u>>2]=c;k[o>>2]=k[(k[e>>2]|0)+52>>2];cc[k[(k[e>>2]|0)+80>>2]&255](k[e>>2]|0,k[f>>2]|0,h);j[k[u>>2]>>1]=j[h+18>>1]|0;if((m[h+16>>1]|0|0)==(k[h+12>>2]|0)){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}if(((k[f>>2]|0)+(m[h+18>>1]|0)+-1|0)>>>0>((k[(k[e>>2]|0)+56>>2]|0)+(m[(k[e>>2]|0)+20>>1]|0)|0)>>>0){u=Vj(61571)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}u=jr((k[f>>2]|0)+(m[h+18>>1]|0)+-4|0)|0;k[n>>2]=u;k[l>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;k[i>>2]=(((k[h+12>>2]|0)-(m[h+16>>1]|0)+(k[l>>2]|0)-1|0)>>>0)/((k[l>>2]|0)>>>0)|0;while(1){u=k[i>>2]|0;k[i>>2]=u+-1;if(!u){s=23;break}k[g>>2]=0;k[p>>2]=0;if((k[n>>2]|0)>>>0<2){s=9;break}u=k[n>>2]|0;if(u>>>0>(jF(k[o>>2]|0)|0)>>>0){s=9;break}if((k[i>>2]|0)!=0?(u=uF(k[o>>2]|0,k[n>>2]|0,p,g)|0,k[q>>2]=u,(k[q>>2]|0)!=0):0){s=12;break}if((k[p>>2]|0)==0?(u=JK(k[o>>2]|0,k[n>>2]|0)|0,k[p>>2]=u,(u|0)==0):0)s=17;else if((Tt(k[(k[p>>2]|0)+72>>2]|0)|0)!=1){u=Vj(61607)|0;k[q>>2]=u}else s=17;if((s|0)==17){s=0;u=HK(k[o>>2]|0,k[p>>2]|0,k[n>>2]|0)|0;k[q>>2]=u}if(k[p>>2]|0)Fg(k[(k[p>>2]|0)+72>>2]|0);if(k[q>>2]|0){s=21;break}k[n>>2]=k[g>>2]}if((s|0)==9){u=Vj(61587)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}else if((s|0)==12){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==21){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==23){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}return 0}function FK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[k[d>>2]>>2]|0){r=e;return}b=HK(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+84>>2]|0)|0;k[k[d>>2]>>2]=b;r=e;return}function GK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0;n=r;r=r+32|0;c=n+12|0;d=n+8|0;e=n+4|0;h=n;g=n+18|0;f=n+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+56>>2];k[h>>2]=k[(k[c>>2]|0)+52>>2];i[g>>0]=i[(k[c>>2]|0)+5>>0]|0;if((m[(k[h>>2]|0)+22>>1]|0)&4)uR((k[e>>2]|0)+(l[g>>0]|0)|0,0,(k[(k[h>>2]|0)+36>>2]|0)-(l[g>>0]|0)|0)|0;i[(k[e>>2]|0)+(l[g>>0]|0)>>0]=k[d>>2];j[f>>1]=(l[g>>0]|0)+((k[d>>2]&8|0)==0?12:8);a=(k[e>>2]|0)+((l[g>>0]|0)+1)|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+7)>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+5)>>0]=(k[(k[h>>2]|0)+36>>2]|0)>>>8;i[(k[e>>2]|0)+((l[g>>0]|0)+5)+1>>0]=k[(k[h>>2]|0)+36>>2];j[(k[c>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[f>>1]|0);Vt(k[c>>2]|0,k[d>>2]|0)|0;j[(k[c>>2]|0)+14>>1]=j[f>>1]|0;k[(k[c>>2]|0)+60>>2]=(k[e>>2]|0)+(k[(k[h>>2]|0)+36>>2]|0);k[(k[c>>2]|0)+64>>2]=(k[e>>2]|0)+(m[f>>1]|0);k[(k[c>>2]|0)+68>>2]=(k[e>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);i[(k[c>>2]|0)+1>>0]=0;j[(k[c>>2]|0)+20>>1]=(k[(k[h>>2]|0)+32>>2]|0)-1;j[(k[c>>2]|0)+18>>1]=0;i[k[c>>2]>>0]=1;r=n;return}function HK(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,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;p=s+24|0;h=s+20|0;o=s+16|0;n=s+12|0;q=s+8|0;j=s+4|0;l=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[p>>2]=0;k[h>>2]=0;k[o>>2]=k[(k[e>>2]|0)+12>>2];if((k[g>>2]|0)>>>0<2){q=Vj(61425)|0;k[d>>2]=q;q=k[d>>2]|0;r=s;return q|0}if(k[f>>2]|0){k[n>>2]=k[f>>2];IK(k[(k[n>>2]|0)+72>>2]|0)}else{b=JK(k[e>>2]|0,k[g>>2]|0)|0;k[n>>2]=b}b=Ng(k[(k[o>>2]|0)+72>>2]|0)|0;k[q>>2]=b;do if(!(k[q>>2]|0)){b=jr((k[(k[o>>2]|0)+56>>2]|0)+36|0)|0;k[j>>2]=b;ft((k[(k[o>>2]|0)+56>>2]|0)+36|0,(k[j>>2]|0)+1|0);if(m[(k[e>>2]|0)+22>>1]&4){if((k[n>>2]|0)==0?(b=xF(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,(b|0)!=0):0)break;b=Ng(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(b)break;uR(k[(k[n>>2]|0)+56>>2]|0,0,k[(k[(k[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((i[(k[e>>2]|0)+17>>0]|0)!=0?(HJ(k[e>>2]|0,k[g>>2]|0,2,0,q),(k[q>>2]|0)!=0):0)break;if(k[j>>2]|0){b=jr((k[(k[o>>2]|0)+56>>2]|0)+32|0)|0;k[h>>2]=b;b=xF(k[e>>2]|0,k[h>>2]|0,p,0)|0;k[q>>2]=b;if(k[q>>2]|0)break;b=jr((k[(k[p>>2]|0)+56>>2]|0)+4|0)|0;k[l>>2]=b;if((k[l>>2]|0)>>>0>((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){o=Vj(61478)|0;k[q>>2]=o;break}if((k[l>>2]|0)>>>0<((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){o=Ng(k[(k[p>>2]|0)+72>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0)break;ft((k[(k[p>>2]|0)+56>>2]|0)+4|0,(k[l>>2]|0)+1|0);ft((k[(k[p>>2]|0)+56>>2]|0)+(8+(k[l>>2]<<2))|0,k[g>>2]|0);if((k[n>>2]|0)!=0?(m[(k[e>>2]|0)+22>>1]&4|0)==0:0)KK(k[(k[n>>2]|0)+72>>2]|0);o=LK(k[e>>2]|0,k[g>>2]|0)|0;k[q>>2]=o;break}}if((k[n>>2]|0)==0?(b=xF(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,0!=(b|0)):0)break;b=Ng(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){ft(k[(k[n>>2]|0)+56>>2]|0,k[h>>2]|0);ft((k[(k[n>>2]|0)+56>>2]|0)+4|0,0);ft((k[(k[o>>2]|0)+56>>2]|0)+32|0,k[g>>2]|0)}}while(0);if(k[n>>2]|0)i[k[n>>2]>>0]=0;AB(k[n>>2]|0);AB(k[p>>2]|0);k[d>>2]=k[q>>2];q=k[d>>2]|0;r=s;return q|0}function IK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;MK(k[c>>2]|0);r=b;return}function JK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=hs(k[k[d>>2]>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){b=kF(k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}else{k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}return 0}function KK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];if(!((m[(k[b>>2]|0)+24>>1]|0)&2)){r=d;return}if(k[(k[c>>2]|0)+104>>2]|0){r=d;return}a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|32;a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-5;r=d;return}function LK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[c>>2]|0)+60>>2]|0)==0?(b=pj(k[(k[c>>2]|0)+44>>2]|0)|0,k[(k[c>>2]|0)+60>>2]=b,(k[(k[c>>2]|0)+60>>2]|0)==0):0)k[e>>2]=7;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}b=k[d>>2]|0;if(b>>>0>(tj(k[(k[c>>2]|0)+60>>2]|0)|0)>>>0){e=k[e>>2]|0;r=f;return e|0}b=qj(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function MK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+26|0;j[a>>1]=(j[a>>1]|0)+1<<16>>16;a=(k[(k[c>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function NK(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,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;n=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[j>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[j>>2]|0)+8>>2]|0){k[d>>2]=262;n=k[d>>2]|0;r=o;return n|0}if((k[f>>2]|0)>>>0<2){n=Vj(64136)|0;k[d>>2]=n;n=k[d>>2]|0;r=o;return n|0}c=xF(k[j>>2]|0,k[f>>2]|0,m,0)|0;k[n>>2]=c;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}c=_I(k[e>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=c;if(k[n>>2]|0){AB(k[m>>2]|0);k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[k[g>>2]>>2]=0;if(i[(k[j>>2]|0)+17>>0]|0){xg(k[e>>2]|0,4,h);b=k[m>>2]|0;do if((k[f>>2]|0)==(k[h>>2]|0)){FK(b,n);AB(k[m>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}}else{AB(b);m=xF(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}m=EJ(k[j>>2]|0,k[l>>2]|0,1,0,k[f>>2]|0,0)|0;k[n>>2]=m;AB(k[l>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[l>>2]=0;m=xF(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;FK(k[l>>2]|0,n);AB(k[l>>2]|0);if(!(k[n>>2]|0)){k[k[g>>2]>>2]=k[h>>2];break}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[h>>2]=(k[h>>2]|0)+-1;while(1){if((k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(m=vF(k[j>>2]|0,k[h>>2]|0)|0,(m|0)!=(k[h>>2]|0)):0)break;k[h>>2]=(k[h>>2]|0)+-1}m=Ig(k[e>>2]|0,4,k[h>>2]|0)|0;k[n>>2]=m}else{FK(k[m>>2]|0,n);AB(k[m>>2]|0)}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function OK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+56>>0]=1;a=PK((k[c>>2]|0)+64|0,(k[c>>2]|0)+36|0)|0;r=b;return a|0}function PK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+64|0;d=j+60|0;e=j+56|0;c=j+52|0;h=j+48|0;i=j;f=j+44|0;g=j+40|0;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2];k[h>>2]=0;b=i;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(k[(k[d>>2]|0)+40>>2]|0)){c=QK(k[c>>2]|0,0,0,(k[d>>2]|0)+40|0)|0;k[h>>2]=c}if(!(k[h>>2]|0)){c=RK(k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=c}if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}k[g>>2]=0;c=(k[d>>2]|0)+40+8|0;SK(k[(k[d>>2]|0)+40>>2]|0,i,k[(k[(k[d>>2]|0)+8>>2]|0)+12>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=(k[d>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+1;c=k[(k[e>>2]|0)+8>>2]|0;TK(i,c,((c|0)<0)<<31>>31);k[f>>2]=k[k[e>>2]>>2];while(1){b=k[f>>2]|0;if(!(k[f>>2]|0))break;k[g>>2]=k[b+4>>2];c=k[k[f>>2]>>2]|0;TK(i,c,((c|0)<0)<<31>>31);UK(i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0);if(!(k[(k[e>>2]|0)+4>>2]|0))Ud(k[f>>2]|0);k[f>>2]=k[g>>2]}k[k[e>>2]>>2]=b;i=VK(i,(k[d>>2]|0)+40+8|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}function QK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[f>>2]=a;a=j+8|0;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(Gi(202)|0){k[e>>2]=3338;i=k[e>>2]|0;r=j;return i|0}d=bL(k[k[f>>2]>>2]|0,0,k[g>>2]|0,4126,i)|0;k[i>>2]=d;if(!(k[i>>2]|0)){d=h;k[d>>2]=0;k[d+4>>2]=0;Ts(k[k[g>>2]>>2]|0,18,h)}k[e>>2]=k[i>>2];i=k[e>>2]|0;r=j;return i|0}function RK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;g=m+12|0;i=m+8|0;c=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;a=WK(k[e>>2]|0)|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];j=k[d>>2]|0;r=m;return j|0}k[i>>2]=k[k[f>>2]>>2];c=XK(k[(k[e>>2]|0)+8>>2]|0)|0;k[(k[e>>2]|0)+32>>2]=c;c=sg(256,0)|0;k[g>>2]=c;if(!(k[g>>2]|0)){k[d>>2]=7;j=k[d>>2]|0;r=m;return j|0}while(1){if(!(k[i>>2]|0))break;b=k[i>>2]|0;do if(k[(k[f>>2]|0)+4>>2]|0)if((b|0)==(k[(k[f>>2]|0)+4>>2]|0)){k[j>>2]=0;break}else{k[j>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[(k[i>>2]|0)+4>>2]|0);break}else k[j>>2]=k[b+4>>2];while(0);k[(k[i>>2]|0)+4>>2]=0;k[h>>2]=0;while(1){if(!(k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0))break;YK(k[e>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0,i);k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=0;k[h>>2]=(k[h>>2]|0)+1}k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[i>>2];k[i>>2]=k[j>>2]}k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=64)break;YK(k[e>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0,i);k[h>>2]=(k[h>>2]|0)+1}k[k[f>>2]>>2]=k[i>>2];Ud(k[g>>2]|0);k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function SK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;d=k[g>>2]|0;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a=k[h>>2]|0;a=ig(a,((a|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+4>>2]=a;if(k[(k[g>>2]|0)+4>>2]|0){b=i;a=k[h>>2]|0;a=AR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[(k[g>>2]|0)+12>>2]=a;k[(k[g>>2]|0)+16>>2]=a;a=k[(k[g>>2]|0)+12>>2]|0;a=pR(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=(k[g>>2]|0)+24|0;k[i>>2]=a;k[i+4>>2]=L;k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];r=j;return}else{k[k[g>>2]>>2]=7;r=j;return}}function TK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+12|0;h=d;e=d+8|0;f=d+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=h;a=uI(f,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;UK(k[g>>2]|0,f,k[e>>2]|0);r=d;return}function UK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[f>>2];while(1){if((k[h>>2]|0)<=0){d=9;break}if(k[k[d>>2]>>2]|0){d=9;break}k[g>>2]=k[h>>2];if((k[g>>2]|0)>((k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0)|0))k[g>>2]=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0);sR((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+16>>2]|0)|0,(k[e>>2]|0)+((k[f>>2]|0)-(k[h>>2]|0))|0,k[g>>2]|0)|0;b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+(k[g>>2]|0);if((k[(k[d>>2]|0)+16>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){j=k[(k[d>>2]|0)+32>>2]|0;c=(k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0;b=(k[(k[d>>2]|0)+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)|0;l=(k[d>>2]|0)+24|0;a=k[(k[d>>2]|0)+12>>2]|0;a=qR(k[l>>2]|0,k[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Pg(j,c,b,a,L)|0;k[k[d>>2]>>2]=a;k[(k[d>>2]|0)+16>>2]=0;k[(k[d>>2]|0)+12>>2]=0;a=k[(k[d>>2]|0)+8>>2]|0;b=(k[d>>2]|0)+24|0;c=b;a=qR(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[b>>2]=a;k[b+4>>2]=L}k[h>>2]=(k[h>>2]|0)-(k[g>>2]|0)}if((d|0)==9){r=i;return}}function VK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(((k[k[c>>2]>>2]|0)==0?(k[(k[c>>2]|0)+4>>2]|0)!=0:0)?(k[(k[c>>2]|0)+16>>2]|0)>(k[(k[c>>2]|0)+12>>2]|0):0){h=k[(k[c>>2]|0)+32>>2]|0;g=(k[(k[c>>2]|0)+4>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0;a=(k[(k[c>>2]|0)+16>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0;i=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+12>>2]|0;b=qR(k[i>>2]|0,k[i+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Pg(h,g,a,b,L)|0;k[k[c>>2]>>2]=b}h=(k[c>>2]|0)+24|0;i=k[(k[c>>2]|0)+16>>2]|0;i=qR(k[h>>2]|0,k[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;d=k[d>>2]|0;k[d>>2]=i;k[d+4>>2]=L;Ud(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=k[k[c>>2]>>2];c=k[c>>2]|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));r=f;return k[e>>2]|0}function WK(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+12>>2]|0)){a=mF(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0,0,0,d)|0;k[(k[c>>2]|0)+12>>2]=a;if(k[d>>2]|0){j[(k[(k[c>>2]|0)+12>>2]|0)+8>>1]=j[(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;i[(k[(k[c>>2]|0)+12>>2]|0)+11>>0]=0;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function XK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((l[(k[c>>2]|0)+60>>0]|0|0)!=1)if((l[(k[c>>2]|0)+60>>0]|0|0)==2){k[b>>2]=139;break}else{k[b>>2]=140;break}else k[b>>2]=138;while(0);r=d;return k[b>>2]|0}function YK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[l>>2]=j;k[i>>2]=0;while(1){if(!((k[f>>2]|0)!=0?(k[g>>2]|0)!=0:0))break;d=ac[k[(k[e>>2]|0)+32>>2]&255](k[e>>2]|0,i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0,(k[g>>2]|0)+8|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=d;if((k[m>>2]|0)<=0){k[k[l>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]|0)+4;k[f>>2]=k[(k[f>>2]|0)+4>>2];continue}else{k[k[l>>2]>>2]=k[g>>2];k[l>>2]=(k[g>>2]|0)+4;k[g>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=0;continue}}k[k[l>>2]>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:k[g>>2]|0;k[k[h>>2]>>2]=k[j>>2];r=n;return}function ZK(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=r;r=r+64|0;p=x+52|0;q=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;h=x+20|0;j=x+16|0;n=x+12|0;o=x+8|0;w=x+4|0;g=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[z>>2]=k[s>>2];k[y>>2]=k[u>>2];k[h>>2]=l[(k[z>>2]|0)+1>>0];k[j>>2]=l[(k[y>>2]|0)+1>>0];k[n>>2]=(k[z>>2]|0)+(l[k[z>>2]>>0]|0);k[o>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);d=k[h>>2]|0;f=k[j>>2]|0;a:do if(!((k[h>>2]|0)>7&(k[j>>2]|0)>7)){if((d|0)==(f|0)){if((l[k[n>>2]>>0]^l[k[o>>2]>>0])&128){k[w>>2]=(l[k[n>>2]>>0]&128|0)!=0?-1:1;break}k[w>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[43245+(k[h>>2]|0)>>0]|0))break a;z=(l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)-(l[(k[o>>2]|0)+(k[g>>2]|0)>>0]|0)|0;k[w>>2]=z;if(z)break a;k[g>>2]=(k[g>>2]|0)+1}}do if((k[j>>2]|0)<=7)if((k[h>>2]|0)>7){k[w>>2]=-1;break}else{k[w>>2]=(k[h>>2]|0)-(k[j>>2]|0);break}else k[w>>2]=1;while(0);if((k[w>>2]|0)>0){if(!(l[k[n>>2]>>0]&128))break;k[w>>2]=-1;break}else{if(!(l[k[o>>2]>>0]&128))break;k[w>>2]=1;break}}else k[w>>2]=d-f;while(0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){z=k[w>>2]|0;r=x;return z|0}z=aL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}else{if(!(i[k[d+16>>2]>>0]|0)){z=k[w>>2]|0;r=x;return z|0}z=ha(k[w>>2]|0,-1)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}return 0}function _K(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;p=x+48|0;q=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;j=x+20|0;n=x+16|0;o=x+12|0;g=x+8|0;h=x+4|0;w=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[y>>2]=k[s>>2];k[j>>2]=k[u>>2];k[n>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);k[o>>2]=(k[j>>2]|0)+(l[k[j>>2]>>0]|0);d=(k[y>>2]|0)+1|0;if((l[(k[y>>2]|0)+1>>0]|0)<128)k[g>>2]=l[d>>0];else DF(d,g)|0;k[g>>2]=((k[g>>2]|0)-13|0)/2|0;d=(k[j>>2]|0)+1|0;if((l[(k[j>>2]|0)+1>>0]|0)<128)k[h>>2]=l[d>>0];else DF(d,h)|0;k[h>>2]=((k[h>>2]|0)-13|0)/2|0;y=FQ(k[n>>2]|0,k[o>>2]|0,(k[g>>2]|0)<(k[h>>2]|0)?k[g>>2]|0:k[h>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0))k[w>>2]=(k[g>>2]|0)-(k[h>>2]|0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){y=k[w>>2]|0;r=x;return y|0}y=aL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}else{if(!(i[k[d+16>>2]>>0]|0)){y=k[w>>2]|0;r=x;return y|0}y=ha(k[w>>2]|0,-1)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}return 0}function $K(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,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=BF(a,b,n)|0;r=o;return n|0}nF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=BF(a,b,n)|0;r=o;return n|0}function aL(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,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=CF(a,b,n,1)|0;r=o;return n|0}nF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=CF(a,b,n,1)|0;r=o;return n|0}function bL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;l=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[g>>2]=b;k[l>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=7;b=k[(k[f>>2]|0)+4>>2]|0;b=sg(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;if(!(k[j>>2]|0)){m=k[m>>2]|0;r=n;return m|0}f=ds(k[f>>2]|0,k[g>>2]|0,k[j>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[m>>2]=f;f=k[j>>2]|0;if(k[m>>2]|0){Ud(f);m=k[m>>2]|0;r=n;return m|0}else{k[k[l>>2]>>2]=f;m=k[m>>2]|0;r=n;return m|0}return 0}function cL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+36|0;d=p+32|0;n=p+28|0;g=p+24|0;m=p+20|0;f=p+16|0;i=p+12|0;j=p+8|0;e=p+4|0;h=p;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2];k[m>>2]=k[(k[c>>2]|0)+4>>2];b=dL((k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){k[e>>2]=0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]&65534)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|1)*56|0);k[f>>2]=((k[k[c>>2]>>2]|0)+(k[g>>2]|0)|0)/2|0;while(1){if((k[f>>2]|0)<=0)break;do if(k[(k[i>>2]|0)+24>>2]|0)if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=-1;break}else{b=ac[k[(k[m>>2]|0)+32>>2]&255](k[m>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[h>>2]=b;break}else k[h>>2]=1;while(0);do if((k[h>>2]|0)<0)o=12;else{if((k[h>>2]|0)==0?(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0:0){o=12;break}if(k[(k[i>>2]|0)+24>>2]|0)k[e>>2]=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[j>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((o|0)==12){o=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[i>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0);k[e>>2]=0}k[f>>2]=(k[f>>2]|0)/2|0}k[k[d>>2]>>2]=(k[(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(k[n>>2]|0)){o=l[(k[(k[m>>2]|0)+12>>2]|0)+11>>0]|0;r=p;return o|0}else{o=k[n>>2]|0;r=p;return o|0}return 0}function dL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;b=h+24|0;c=h+20|0;g=h+16|0;e=h;f=h+12|0;d=h+8|0;k[c>>2]=a;k[g>>2]=0;i=e;k[i>>2]=0;k[i+4>>2]=0;i=k[c>>2]|0;l=k[i+4>>2]|0;a=(k[c>>2]|0)+8|0;j=k[a+4>>2]|0;if((l|0)>(j|0)|((l|0)==(j|0)?(k[i>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){k[f>>2]=k[(k[c>>2]|0)+48>>2];k[d>>2]=1;if(((k[f>>2]|0)!=0?(l=eL(k[f>>2]|0)|0,k[g>>2]=l,(k[g>>2]|0)==0):0)?(k[(k[f>>2]|0)+20>>2]|0)==0:0){l=(k[f>>2]|0)+8|0;l=fL(k[k[f>>2]>>2]|0,k[c>>2]|0,(k[f>>2]|0)+32|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[g>>2]=l;k[d>>2]=0}if(k[d>>2]|0){AK(k[c>>2]|0);k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}}if(!(k[g>>2]|0)){l=gL(k[c>>2]|0,e)|0;k[g>>2]=l}if(!(k[g>>2]|0)){k[(k[c>>2]|0)+20>>2]=k[e>>2];l=hL(k[c>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0)|0;k[g>>2]=l}k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}function eL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;e=kL(k[b>>2]|0)|0;k[c>>2]=e;e=(k[b>>2]|0)+32|0;a=(k[b>>2]|0)+32+16|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];e=(k[b>>2]|0)+32+8|0;a=(k[b>>2]|0)+8|0;if(!((k[e>>2]|0)==(k[a>>2]|0)?(k[e+4>>2]|0)==(k[a+4>>2]|0):0)){e=k[c>>2]|0;r=d;return e|0}k[(k[b>>2]|0)+20>>2]=1;e=k[c>>2]|0;r=d;return e|0}function fL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p;o=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;k[o>>2]=0;if(Gi(201)|0){k[f>>2]=266;o=k[f>>2]|0;r=p;return o|0}if(k[(k[h>>2]|0)+44>>2]|0){Ms(k[(k[h>>2]|0)+24>>2]|0,0,0,k[(k[h>>2]|0)+44>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=0}a=j;b=k[a+4>>2]|0;c=k[h>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=(k[i>>2]|0)+8|0;b=k[c+4>>2]|0;a=(k[h>>2]|0)+8|0;k[a>>2]=k[c>>2];k[a+4>>2]=b;k[(k[h>>2]|0)+24>>2]=k[k[i>>2]>>2];a=iL(k[g>>2]|0,k[i>>2]|0,(k[h>>2]|0)+44|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(k[(k[h>>2]|0)+44>>2]|0)==0:0){k[n>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+12>>2];b=k[h>>2]|0;a=k[n>>2]|0;a=AR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[l>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0)){a=k[n>>2]|0;a=ig(a,((a|0)<0)<<31>>31)|0;k[(k[h>>2]|0)+36>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0))k[o>>2]=7;k[(k[h>>2]|0)+40>>2]=k[n>>2]}if((k[o>>2]|0)==0&(k[l>>2]|0)!=0){k[m>>2]=(k[n>>2]|0)-(k[l>>2]|0);c=k[h>>2]|0;a=k[m>>2]|0;a=qR(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;n=(k[h>>2]|0)+8|0;b=k[n+4>>2]|0;if((c|0)>(b|0)|((c|0)==(b|0)?a>>>0>(k[n>>2]|0)>>>0:0)){a=(k[h>>2]|0)+8|0;n=k[h>>2]|0;n=pR(k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[m>>2]=n}n=k[h>>2]|0;n=es(k[(k[h>>2]|0)+24>>2]|0,(k[(k[h>>2]|0)+36>>2]|0)+(k[l>>2]|0)|0,k[m>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n}}k[f>>2]=k[o>>2];o=k[f>>2]|0;r=p;return o|0}function gL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;c=o+24|0;d=o+20|0;e=o+16|0;j=o+12|0;g=o+32|0;f=o+8|0;h=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;a=k[b>>2]|0;b=k[b+4>>2]|0;do if(k[(k[d>>2]|0)+44>>2]|0){m=(au((k[(k[d>>2]|0)+44>>2]|0)+a|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=qR(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=L}else{p=k[(k[d>>2]|0)+40>>2]|0;b=AR(a|0,b|0,p|0,((p|0)<0)<<31>>31|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=0?((k[(k[d>>2]|0)+40>>2]|0)-(k[j>>2]|0)|0)>=9:0){n=(au((k[(k[d>>2]|0)+36>>2]|0)+(k[j>>2]|0)|0,k[e>>2]|0)|0)&255;p=k[d>>2]|0;m=p;n=qR(k[m>>2]|0,k[m+4>>2]|0,n|0,0)|0;k[p>>2]=n;k[p+4>>2]=L;break}k[h>>2]=0;while(1){p=hL(k[d>>2]|0,1,f)|0;k[m>>2]=p;if(k[m>>2]|0)break;j=i[k[f>>2]>>0]|0;p=k[h>>2]|0;k[h>>2]=p+1;i[g+(p&15)>>0]=j;if(!((l[k[f>>2]>>0]|0)&128)){n=10;break}}if((n|0)==10){au(g,k[e>>2]|0)|0;break}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=o;return p|0}while(0);k[c>>2]=0;p=k[c>>2]|0;r=o;return p|0}function hL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+64|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;m=u+36|0;n=u+32|0;d=u+28|0;e=u+24|0;q=u+20|0;j=u+16|0;p=u+12|0;s=u+8|0;o=u+4|0;l=u;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=k[g>>2]|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[(k[g>>2]|0)+44>>2]|0){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+44>>2]|0)+b;s=k[h>>2]|0;t=k[g>>2]|0;q=t;s=qR(k[q>>2]|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}c=k[(k[g>>2]|0)+40>>2]|0;c=AR(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){w=(k[g>>2]|0)+8|0;a=k[g>>2]|0;a=pR(k[w>>2]|0,k[w+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;w=L;c=k[(k[g>>2]|0)+40>>2]|0;v=((c|0)<0)<<31>>31;b=k[g>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>c>>>0)k[d>>2]=k[b+40>>2];else{v=b+8|0;w=k[g>>2]|0;w=pR(k[v>>2]|0,k[v+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[d>>2]=w}w=k[g>>2]|0;w=es(k[(k[g>>2]|0)+24>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[d>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[e>>2]=w;if(k[e>>2]|0){k[f>>2]=k[e>>2];w=k[f>>2]|0;r=u;return w|0}}k[n>>2]=(k[(k[g>>2]|0)+40>>2]|0)-(k[m>>2]|0);do if((k[h>>2]|0)<=(k[n>>2]|0)){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0);v=k[h>>2]|0;w=k[g>>2]|0;t=w;v=qR(k[t>>2]|0,k[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L}else{do if((k[(k[g>>2]|0)+16>>2]|0)<(k[h>>2]|0)){if(128>(k[(k[g>>2]|0)+16>>2]<<1|0))b=128;else b=k[(k[g>>2]|0)+16>>2]<<1;k[p>>2]=b;while(1){if((k[h>>2]|0)<=(k[p>>2]|0))break;k[p>>2]=k[p>>2]<<1}w=k[p>>2]|0;w=lg(k[(k[g>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;k[j>>2]=w;if(k[j>>2]|0){k[(k[g>>2]|0)+16>>2]=k[p>>2];k[(k[g>>2]|0)+28>>2]=k[j>>2];break}k[f>>2]=7;w=k[f>>2]|0;r=u;return w|0}while(0);sR(k[(k[g>>2]|0)+28>>2]|0,(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0)|0;v=k[n>>2]|0;w=k[g>>2]|0;p=w;v=qR(k[p>>2]|0,k[p+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L;k[q>>2]=(k[h>>2]|0)-(k[n>>2]|0);while(1){if((k[q>>2]|0)<=0){t=27;break}k[o>>2]=k[q>>2];if((k[q>>2]|0)>(k[(k[g>>2]|0)+40>>2]|0))k[o>>2]=k[(k[g>>2]|0)+40>>2];w=hL(k[g>>2]|0,k[o>>2]|0,l)|0;k[s>>2]=w;if(k[s>>2]|0)break;sR((k[(k[g>>2]|0)+28>>2]|0)+((k[h>>2]|0)-(k[q>>2]|0))|0,k[l>>2]|0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}if((t|0)==27){k[k[i>>2]>>2]=k[(k[g>>2]|0)+28>>2];break}k[f>>2]=k[s>>2];w=k[f>>2]|0;r=u;return w|0}while(0);k[f>>2]=0;w=k[f>>2]|0;r=u;return w|0}function iL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;a=(k[d>>2]|0)+8|0;i=k[a+4>>2]|0;c=k[(k[(k[(k[j>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;b=((c|0)<0)<<31>>31;if(!((i|0)<(b|0)|((i|0)==(b|0)?(k[a>>2]|0)>>>0<=c>>>0:0))){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=k[k[d>>2]>>2];if((k[k[k[f>>2]>>2]>>2]|0)<3){j=k[g>>2]|0;r=h;return j|0}j=jL(k[f>>2]|0,0,0,k[(k[d>>2]|0)+8>>2]|0,k[e>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;r=h;return j|0}function jL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function kL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+96|0;b=n+88|0;j=n+84|0;l=n+80|0;e=n+48|0;h=n+76|0;o=n+72|0;g=n+68|0;m=n+8|0;c=n+64|0;i=n+60|0;f=n+56|0;d=n;k[b>>2]=a;k[j>>2]=0;q=(k[b>>2]|0)+8|0;p=k[q+4>>2]|0;a=e;k[a>>2]=k[q>>2];k[a+4>>2]=p;k[h>>2]=(k[b>>2]|0)+32+16;k[o>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+4>>2];a=e;SK(k[k[h>>2]>>2]|0,m,k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]|0,k[a>>2]|0,k[a+4>>2]|0);while(1){if(k[j>>2]|0)break;k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+((k[(k[(k[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[f>>2]=k[(k[i>>2]|0)+20>>2];q=m+24|0;p=k[m+16>>2]|0;p=qR(k[q>>2]|0,k[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=d;k[q>>2]=p;k[q+4>>2]=L;if(!(k[(k[i>>2]|0)+24>>2]|0))break;a=d;o=k[f>>2]|0;o=qR(k[a>>2]|0,k[a+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;a=L;p=k[f>>2]|0;p=JF(p,((p|0)<0)<<31>>31)|0;p=qR(o|0,a|0,p|0,((p|0)<0)<<31>>31|0)|0;a=L;o=e;q=k[(k[b>>2]|0)+16>>2]|0;q=qR(k[o>>2]|0,k[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;o=L;if((a|0)>(o|0)|(a|0)==(o|0)&p>>>0>q>>>0)break;q=k[f>>2]|0;TK(m,q,((q|0)<0)<<31>>31);UK(m,k[(k[i>>2]|0)+32>>2]|0,k[f>>2]|0);q=cL(k[(k[b>>2]|0)+4>>2]|0,c)|0;k[j>>2]=q}q=VK(m,(k[h>>2]|0)+8|0)|0;k[l>>2]=q;if(k[j>>2]|0){q=k[j>>2]|0;r=n;return q|0}k[j>>2]=k[l>>2];q=k[j>>2]|0;r=n;return q|0}function lL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[d>>2]=(k[b>>2]|0)+64;k[c>>2]=0;a=mL(k[b>>2]|0,c)|0;k[e>>2]=a;if(!(k[e>>2]|0)){d=nL(k[d>>2]|0,k[c>>2]|0,0)|0;k[e>>2]=d;k[(k[b>>2]|0)+20>>2]=k[c>>2];k[c>>2]=0}if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}wK(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function mL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;c=s+52|0;d=s+48|0;m=s+44|0;q=s+40|0;h=s+36|0;p=s+32|0;o=s+28|0;i=s+24|0;f=s;e=s+20|0;g=s+16|0;n=s+12|0;j=s+8|0;k[c>>2]=a;k[d>>2]=b;k[m>>2]=0;k[q>>2]=0;k[h>>2]=0;while(1){if(k[q>>2]|0)break;if((k[h>>2]|0)>=(l[(k[c>>2]|0)+59>>0]|0|0))break;k[p>>2]=(k[c>>2]|0)+64+((k[h>>2]|0)*72|0);k[o>>2]=0;b=rL(k[(k[p>>2]|0)+28>>2]|0)|0;k[i>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;a:do if((k[(k[p>>2]|0)+28>>2]|0)<=16){b=sL(k[p>>2]|0,k[(k[p>>2]|0)+28>>2]|0,f,o)|0;k[q>>2]=b}else{k[g>>2]=0;b=tL(16)|0;k[o>>2]=b;if(!(k[o>>2]|0))k[q>>2]=7;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[p>>2]|0)+28>>2]|0)?(k[q>>2]|0)==0:0))break a;k[n>>2]=0;if(((k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0)<16)a=(k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0;else a=16;k[j>>2]=a;b=sL(k[p>>2]|0,k[j>>2]|0,f,n)|0;k[q>>2]=b;if(!(k[q>>2]|0)){t=k[p>>2]|0;a=k[i>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=uL(t,a,b,k[o>>2]|0,k[n>>2]|0)|0;k[q>>2]=b}k[e>>2]=(k[e>>2]|0)+16}}while(0);a=k[o>>2]|0;if(!(k[q>>2]|0))k[m>>2]=a;else wK(a);k[h>>2]=(k[h>>2]|0)+1}if(!(k[q>>2]|0)){p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}wK(k[m>>2]|0);k[m>>2]=0;p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}function nL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+8|0;g=m+4|0;h=m;k[e>>2]=a;k[f>>2]=b;k[m+12>>2]=c;k[i>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;a=oL((k[(k[f>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0,0)|0;k[i>>2]=a;if(k[i>>2]|0){j=4;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==4){k[d>>2]=k[i>>2];j=k[d>>2]|0;r=m;return j|0}k[g>>2]=(k[k[f>>2]>>2]|0)-1;while(1){if((k[g>>2]|0)<=0)break;pL(k[f>>2]|0,k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function oL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[c>>2]|0)+48>>2];k[e>>2]=0;if(!(k[g>>2]|0)){g=k[e>>2]|0;r=f;return g|0}g=qL(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function pL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if((k[d>>2]|0)>=((k[k[c>>2]>>2]|0)/2|0|0)){k[f>>2]=b-((k[k[c>>2]>>2]|0)/2|0)<<1;k[g>>2]=(k[f>>2]|0)+1}else{k[f>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+((k[d>>2]<<1)+1<<2)>>2]}k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[f>>2]|0)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0);do if(k[(k[i>>2]|0)+24>>2]|0){if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=k[f>>2];break}k[l>>2]=k[(k[c>>2]|0)+4>>2];k[e>>2]=0;l=ac[k[(k[l>>2]|0)+32>>2]&255](k[l>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[m>>2]=l;if((k[m>>2]|0)<=0){k[h>>2]=k[f>>2];break}else{k[h>>2]=k[g>>2];break}}else k[h>>2]=k[g>>2];while(0);k[(k[(k[c>>2]|0)+8>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2];r=n;return}function qL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;h=i+16|0;f=i+12|0;g=i+8|0;d=i+4|0;e=i;k[c>>2]=a;k[j>>2]=b;k[h>>2]=0;k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=k[k[f>>2]>>2];k[d>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];a=nL(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[j>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[e>>2]=k[(k[f>>2]|0)+16>>2];if(!(k[(k[g>>2]|0)+56>>2]|0)){j=(k[g>>2]|0)+56+8|0;j=QK(k[d>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[g>>2]|0)+56|0)|0;k[h>>2]=j;j=(k[g>>2]|0)+56+8|0;k[j>>2]=0;k[j+4>>2]=0}if(!(k[h>>2]|0)){k[(k[f>>2]|0)+32+16>>2]=k[(k[g>>2]|0)+56>>2];b=(k[g>>2]|0)+56+8|0;j=k[b+4>>2]|0;a=(k[f>>2]|0)+8|0;k[a>>2]=k[b>>2];k[a+4>>2]=j;a=k[e>>2]|0;j=(k[g>>2]|0)+56+8|0;g=j;g=qR(k[g>>2]|0,k[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[j>>2]=g;k[j+4>>2]=L}}if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=dL(k[c>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function rL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;a=d;k[a>>2]=16;k[a+4>>2]=0;while(1){f=d;h=k[f+4>>2]|0;a=k[b>>2]|0;g=((a|0)<0)<<31>>31;if(!((h|0)<(g|0)|((h|0)==(g|0)?(k[f>>2]|0)>>>0>>0:0)))break;g=d;g=BR(k[g>>2]|0,k[g+4>>2]|0,16,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L;k[c>>2]=(k[c>>2]|0)+1}r=e;return k[c>>2]|0}function sL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;m=p+28|0;j=p+8|0;i=p+24|0;o=p+20|0;l=p;n=p+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[g>>2]|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[o>>2]=0;d=tL(k[f>>2]|0)|0;k[m>>2]=d;k[k[h>>2]>>2]=d;if(!(k[m>>2]|0))k[o>>2]=7;k[i>>2]=0;while(1){if(!((k[i>>2]|0)<(k[f>>2]|0)?(k[o>>2]|0)==0:0))break;k[n>>2]=(k[(k[m>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);a=j;a=wL(k[e>>2]|0,(k[e>>2]|0)+40|0,k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=a;a=(k[n>>2]|0)+8|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[i>>2]=(k[i>>2]|0)+1}if(!(k[o>>2]|0)){c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}wK(k[m>>2]|0);k[k[h>>2]>>2]=0;c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}function tL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;while(1){a=k[d>>2]|0;if((k[d>>2]|0)>=(k[b>>2]|0))break;k[d>>2]=(k[d>>2]|0)+a}k[c>>2]=16+(a*60|0);if(Gi(100)|0)a=0;else{a=k[c>>2]|0;a=sg(a,((a|0)<0)<<31>>31)|0}k[e>>2]=a;if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[k[e>>2]>>2]=k[d>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+16;k[(k[e>>2]|0)+8>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[d>>2]|0)*56|0);e=k[e>>2]|0;r=f;return e|0}function uL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;f=s+48|0;g=s+44|0;o=s+40|0;u=s+36|0;t=s+32|0;q=s+28|0;j=s+24|0;h=s+20|0;p=s+16|0;l=s+12|0;i=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[u>>2]=d;k[t>>2]=e;k[q>>2]=0;k[j>>2]=1;k[p>>2]=k[u>>2];a=vL(k[f>>2]|0,k[t>>2]|0,l)|0;k[q>>2]=a;k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=k[j>>2]<<4;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=1;while(1){if(!((k[h>>2]|0)<(k[g>>2]|0)?(k[q>>2]|0)==0:0))break;k[i>>2]=((k[o>>2]|0)/(k[j>>2]|0)|0|0)%16|0;k[n>>2]=(k[(k[p>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);do if(!(k[(k[n>>2]|0)+48>>2]|0)){u=tL(16)|0;k[m>>2]=u;if(!(k[m>>2]|0)){k[q>>2]=7;break}else{u=vL(k[f>>2]|0,k[m>>2]|0,(k[n>>2]|0)+48|0)|0;k[q>>2]=u;break}}while(0);if(!(k[q>>2]|0)){k[p>>2]=k[(k[(k[n>>2]|0)+48>>2]|0)+4>>2];k[j>>2]=(k[j>>2]|0)/16|0}k[h>>2]=(k[h>>2]|0)+1}f=k[l>>2]|0;if(!(k[q>>2]|0)){k[(k[(k[p>>2]|0)+12>>2]|0)+(((k[o>>2]|0)%16|0)*56|0)+48>>2]=f;u=k[q>>2]|0;r=s;return u|0}else{BK(f);u=k[q>>2]|0;r=s;return u|0}return 0}function vL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;f=i+16|0;d=i+12|0;e=i+8|0;h=i+4|0;g=i;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;if(Gi(100)|0)b=0;else b=sg(64,0)|0;k[k[e>>2]>>2]=b;k[g>>2]=b;b=k[d>>2]|0;if(!(k[g>>2]|0)){wK(b);k[h>>2]=7;h=k[h>>2]|0;r=i;return h|0}k[(k[g>>2]|0)+4>>2]=b;k[k[g>>2]>>2]=k[f>>2];b=k[(k[f>>2]|0)+8>>2]|0;if(((k[(k[(k[f>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(k[b+8>>2]|0)+9|0;else b=(k[b+4>>2]|0)/2|0;k[(k[g>>2]|0)+16>>2]=b;e=k[(k[g>>2]|0)+16>>2]|0;g=(k[f>>2]|0)+56+8|0;f=g;f=qR(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[g>>2]=f;k[g+4>>2]=L;h=k[h>>2]|0;r=i;return h|0}function wL(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,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+48|0;n=l+32|0;m=l+28|0;o=l+8|0;g=l+24|0;h=l+20|0;j=l+16|0;i=l;k[n>>2]=a;k[m>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=e;k[h>>2]=f;f=o;f=fL(k[n>>2]|0,k[g>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[j>>2]=f;if(!(k[j>>2]|0)){n=i;k[n>>2]=0;k[n+4>>2]=0;n=gL(k[g>>2]|0,i)|0;k[j>>2]=n;n=k[g>>2]|0;o=i;o=qR(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=(k[g>>2]|0)+8|0;k[n>>2]=o;k[n+4>>2]=L;n=i;o=k[h>>2]|0;m=o;n=qR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n;k[o+4>>2]=L}if(k[j>>2]|0){o=k[j>>2]|0;r=l;return o|0}o=dL(k[g>>2]|0)|0;k[j>>2]=o;o=k[j>>2]|0;r=l;return o|0}function xL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+66>>0]|0|0)!=1|0}function yL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;a=zL(k[(k[b>>2]|0)+16>>2]|0,e)|0;k[c>>2]=a;k[(k[b>>2]|0)+56>>2]=0;if(!(k[e>>2]|0)){e=k[c>>2]|0;r=d;return e|0}i[(k[b>>2]|0)+2>>0]=1;e=k[c>>2]|0;r=d;return e|0}function zL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=eF(k[f>>2]|0)|0;else a=0;k[d>>2]=a;if(k[d>>2]|0){k[k[c>>2]>>2]=1;k[e>>2]=k[d>>2];f=k[e>>2]|0;r=g;return f|0}a=k[c>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0|0)!=1)k[a>>2]=1;else k[a>>2]=0;k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}function AL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if(i[(k[c>>2]|0)+56>>0]|0){k[f>>2]=(k[(k[(k[c>>2]|0)+20>>2]|0)+12>>2]|0)+((k[(k[(k[a+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[k[d>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[e>>2]=k[(k[f>>2]|0)+32>>2];f=k[e>>2]|0;r=g;return f|0}else{k[k[d>>2]>>2]=k[k[a+36>>2]>>2];k[e>>2]=(k[(k[c>>2]|0)+36>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}return 0}function BL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;n=t+12|0;q=t+8|0;s=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[h>>2]>>2]|0){r=t;return}k[n>>2]=k[(k[e>>2]|0)+56>>2];k[q>>2]=(k[(k[e>>2]|0)+64>>2]|0)+(k[f>>2]<<1);k[p>>2]=(l[k[q>>2]>>0]|0)<<8|(l[(k[q>>2]|0)+1>>0]|0);k[o>>2]=l[(k[e>>2]|0)+5>>0];if((k[p>>2]|0)>>>0>=((l[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0))>>>0?((k[p>>2]|0)+(k[g>>2]|0)|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c=SL(k[e>>2]|0,k[p>>2]&65535,k[g>>2]&65535)|0;k[s>>2]=c;if(k[s>>2]|0){k[k[h>>2]>>2]=k[s>>2];r=t;return}c=(k[e>>2]|0)+18|0;j[c>>1]=(j[c>>1]|0)+-1<<16>>16;if(!(m[(k[e>>2]|0)+18>>1]|0)){c=(k[n>>2]|0)+((k[o>>2]|0)+1)|0;i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;i[c+3>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+7)>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]=k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2];j[(k[e>>2]|0)+16>>1]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-(l[(k[e>>2]|0)+5>>0]|0)-(l[(k[e>>2]|0)+6>>0]|0)-8;r=t;return}else{tR(k[q>>2]|0,(k[q>>2]|0)+2|0,(m[(k[e>>2]|0)+18>>1]|0)-(k[f>>2]|0)<<1|0)|0;i[(k[n>>2]|0)+((k[o>>2]|0)+3)>>0]=(m[(k[e>>2]|0)+18>>1]|0)>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+3)+1>>0]=j[(k[e>>2]|0)+18>>1];c=(k[e>>2]|0)+16|0;j[c>>1]=(m[c>>1]|0)+2;r=t;return}}c=Vj(61841)|0;k[k[h>>2]>>2]=c;r=t;return}function CL(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+48|0;h=z+44|0;n=z+40|0;o=z+36|0;p=z+32|0;q=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[v>>2]=0;if(k[k[t>>2]>>2]|0){r=z;return}if((l[(k[h>>2]|0)+1>>0]|0)==0?((k[p>>2]|0)+2|0)<=(m[(k[h>>2]|0)+16>>1]|0):0){d=Ng(k[(k[h>>2]|0)+72>>2]|0)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}k[u>>2]=k[(k[h>>2]|0)+56>>2];d=UL(k[h>>2]|0,k[p>>2]|0,v)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}d=(k[h>>2]|0)+16|0;j[d>>1]=(m[d>>1]|0)-(2+(k[p>>2]|0)&65535);sR((k[u>>2]|0)+(k[v>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;if(k[s>>2]|0)ft((k[u>>2]|0)+(k[v>>2]|0)|0,k[s>>2]|0);k[x>>2]=(k[(k[h>>2]|0)+64>>2]|0)+(k[n>>2]<<1);tR((k[x>>2]|0)+2|0,k[x>>2]|0,(m[(k[h>>2]|0)+18>>1]|0)-(k[n>>2]|0)<<1|0)|0;i[k[x>>2]>>0]=k[v>>2]>>8;i[(k[x>>2]|0)+1>>0]=k[v>>2];y=(k[h>>2]|0)+18|0;j[y>>1]=(j[y>>1]|0)+1<<16>>16;y=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+4)|0;d=(i[y>>0]|0)+1<<24>>24;i[y>>0]=d;if(!(d&255)){d=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+3)|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24}if(!(i[(k[(k[h>>2]|0)+52>>2]|0)+17>>0]|0)){r=z;return}JJ(k[h>>2]|0,k[o>>2]|0,k[t>>2]|0);r=z;return}if(k[q>>2]|0){sR(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[o>>2]=k[q>>2]}if(k[s>>2]|0)ft(k[o>>2]|0,k[s>>2]|0);y=(k[h>>2]|0)+1|0;d=i[y>>0]|0;i[y>>0]=d+1<<24>>24;k[w>>2]=d&255;k[(k[h>>2]|0)+32+(k[w>>2]<<2)>>2]=k[o>>2];j[(k[h>>2]|0)+22+(k[w>>2]<<1)>>1]=k[n>>2];r=z;return}function DL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;b=q+32|0;p=q+28|0;f=q+24|0;c=q+36|0;g=q+20|0;e=q+16|0;h=q+12|0;n=q+8|0;d=q+4|0;o=q;k[b>>2]=a;k[p>>2]=0;k[f>>2]=(k[(k[(k[b>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;k[g>>2]=0;do{k[e>>2]=i[(k[b>>2]|0)+68>>0];k[h>>2]=k[(k[b>>2]|0)+120+(k[e>>2]<<2)>>2];a=i[(k[h>>2]|0)+1>>0]|0;if(!(k[e>>2]|0)){if(!(a<<24>>24))break;a=EL(k[h>>2]|0,(k[b>>2]|0)+120+4|0)|0;k[p>>2]=a;if(!(k[p>>2]|0)){i[(k[b>>2]|0)+68>>0]=1;j[(k[b>>2]|0)+80>>1]=0;j[(k[b>>2]|0)+80+2>>1]=0}}else{if((a&255|0)==0?(m[(k[h>>2]|0)+16>>1]|0)<=(k[f>>2]|0):0)break;k[n>>2]=k[(k[b>>2]|0)+120+((k[e>>2]|0)-1<<2)>>2];k[d>>2]=m[(k[b>>2]|0)+80+((k[e>>2]|0)-1<<1)>>1];a=Ng(k[(k[n>>2]|0)+72>>2]|0)|0;k[p>>2]=a;do if(!(k[p>>2]|0)){if(((((l[(k[h>>2]|0)+3>>0]|0)!=0?(l[(k[h>>2]|0)+1>>0]|0)==1:0)?(m[(k[h>>2]|0)+22>>1]|0)==(m[(k[h>>2]|0)+18>>1]|0):0)?(k[(k[n>>2]|0)+84>>2]|0)!=1:0)?(m[(k[n>>2]|0)+18>>1]|0)==(k[d>>2]|0):0){a=FL(k[n>>2]|0,k[h>>2]|0,c)|0;k[p>>2]=a;break}a=bj(k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0)|0;k[o>>2]=a;a=GL(k[n>>2]|0,k[d>>2]|0,k[o>>2]|0,(k[e>>2]|0)==1&1,l[(k[b>>2]|0)+67>>0]&1)|0;k[p>>2]=a;if(k[g>>2]|0)ej(k[g>>2]|0);k[g>>2]=k[o>>2]}while(0);i[(k[h>>2]|0)+1>>0]=0;AB(k[h>>2]|0);a=(k[b>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}}while((k[p>>2]|0)==0);if(!(k[g>>2]|0)){p=k[p>>2]|0;r=q;return p|0}ej(k[g>>2]|0);p=k[p>>2]|0;r=q;return p|0}function EL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;k[h>>2]=0;k[f>>2]=k[(k[d>>2]|0)+52>>2];b=Ng(k[(k[d>>2]|0)+72>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)==0?(b=DJ(k[f>>2]|0,g,h,k[(k[d>>2]|0)+84>>2]|0,0)|0,k[j>>2]=b,LL(k[d>>2]|0,k[g>>2]|0,j),(i[(k[f>>2]|0)+17>>0]|0)!=0):0)HJ(k[f>>2]|0,k[h>>2]|0,5,k[(k[d>>2]|0)+84>>2]|0,j);if(k[j>>2]|0){k[k[e>>2]>>2]=0;AB(k[g>>2]|0);k[c>>2]=k[j>>2];j=k[c>>2]|0;r=m;return j|0}else{sR((k[g>>2]|0)+22|0,(k[d>>2]|0)+22|0,l[(k[d>>2]|0)+1>>0]<<1|0)|0;sR((k[g>>2]|0)+32|0,(k[d>>2]|0)+32|0,l[(k[d>>2]|0)+1>>0]<<2|0)|0;i[(k[g>>2]|0)+1>>0]=i[(k[d>>2]|0)+1>>0]|0;GK(k[d>>2]|0,l[k[(k[g>>2]|0)+56>>2]>>0]&-9);ft((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}return 0}function FL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;d=v+40|0;e=v+36|0;f=v+32|0;g=v+28|0;h=v+24|0;o=v+20|0;t=v+16|0;s=v+12|0;p=v+8|0;n=v+4|0;u=v+44|0;q=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[f>>2]|0)+52>>2];if(!(m[(k[f>>2]|0)+18>>1]|0)){u=Vj(62338)|0;k[d>>2]=u;u=k[d>>2]|0;r=v;return u|0}c=DJ(k[h>>2]|0,o,s,0,0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){k[p>>2]=(k[g>>2]|0)+4;k[n>>2]=k[(k[f>>2]|0)+32>>2];c=gc[k[(k[f>>2]|0)+76>>2]&255](k[f>>2]|0,k[n>>2]|0)|0;j[u>>1]=c;GK(k[o>>2]|0,13);c=QL(k[o>>2]|0,1,n,u)|0;k[t>>2]=c;if(k[t>>2]|0){k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}j[(k[o>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[(k[o>>2]|0)+14>>1]|0)-2-(m[u>>1]|0);if((i[(k[h>>2]|0)+17>>0]|0)!=0?(HJ(k[h>>2]|0,k[s>>2]|0,5,k[(k[e>>2]|0)+84>>2]|0,t),(m[u>>1]|0)>(m[(k[o>>2]|0)+12>>1]|0)):0)JJ(k[o>>2]|0,k[n>>2]|0,t);k[n>>2]=(k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]&(l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)+1>>0]));k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;if(!(l[u>>0]&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;u=i[u>>0]|0;c=k[p>>2]|0;k[p>>2]=c+1;i[c>>0]=u;if(!(u&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);CL(k[e>>2]|0,m[(k[e>>2]|0)+18>>1]|0,k[g>>2]|0,(k[p>>2]|0)-(k[g>>2]|0)|0,0,k[(k[f>>2]|0)+84>>2]|0,t);ft((k[(k[e>>2]|0)+56>>2]|0)+((l[(k[e>>2]|0)+5>>0]|0)+8)|0,k[s>>2]|0);AB(k[o>>2]|0)}k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}function GL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=r;r=r+448|0;ga=Da+412|0;ha=Da+408|0;f=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;p=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;o=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;n=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;g=Da+152|0;v=Da+148|0;q=Da+144|0;h=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;k[ha>>2]=a;k[f>>2]=b;k[Q>>2]=c;k[ia>>2]=d;k[C>>2]=e;k[t>>2]=0;k[wa>>2]=0;k[Aa>>2]=0;k[p>>2]=0;k[W>>2]=0;i[ja>>0]=0;i[ja+1>>0]=0;i[ja+2>>0]=0;i[ja+3>>0]=0;i[ja+4>>0]=0;k[ma>>2]=0;k[ma+8>>2]=0;k[za>>2]=k[(k[ha>>2]|0)+52>>2];if(!(k[Q>>2]|0)){k[ga>>2]=7;Ca=k[ga>>2]|0;r=Da;return Ca|0}k[pa>>2]=(l[(k[ha>>2]|0)+1>>0]|0)+(m[(k[ha>>2]|0)+18>>1]|0);if((k[pa>>2]|0)<2)k[Z>>2]=0;else{do if(k[f>>2]|0)if((k[f>>2]|0)==(k[pa>>2]|0)){k[Z>>2]=(k[pa>>2]|0)-2+(k[C>>2]|0);break}else{k[Z>>2]=(k[f>>2]|0)-1;break}else k[Z>>2]=0;while(0);k[pa>>2]=2-(k[C>>2]|0)}k[ya>>2]=(k[pa>>2]|0)+1;f=k[ha>>2]|0;if(((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0)==(m[(k[ha>>2]|0)+18>>1]|0))k[K>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+((l[f+5>>0]|0)+8);else k[K>>2]=(k[f+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=jr(k[K>>2]|0)|0;k[M>>2]=a;while(1){a=iF(k[za>>2]|0,k[M>>2]|0,la+(k[pa>>2]<<2)|0,0,0)|0;k[Aa>>2]=a;if(k[Aa>>2]|0){c=16;break}k[t>>2]=(k[t>>2]|0)+(1+(m[(k[la+(k[pa>>2]<<2)>>2]|0)+18>>1]|0)+(l[(k[la+(k[pa>>2]<<2)>>2]|0)+1>>0]|0));a=k[pa>>2]|0;k[pa>>2]=a+-1;if(!a){c=26;break}if(((k[pa>>2]|0)+(k[Z>>2]|0)|0)==(m[(k[ha>>2]|0)+22>>1]|0)?(l[(k[ha>>2]|0)+1>>0]|0)!=0:0){k[o+(k[pa>>2]<<2)>>2]=k[(k[ha>>2]|0)+32>>2];a=jr(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;i[(k[ha>>2]|0)+1>>0]=0;continue}k[o+(k[pa>>2]<<2)>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=jr(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;if(m[(k[za>>2]|0)+22>>1]&4){k[g>>2]=(k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0);if(((k[g>>2]|0)+(k[Ba+(k[pa>>2]<<2)>>2]|0)|0)>(k[(k[za>>2]|0)+36>>2]|0)){c=23;break}sR((k[Q>>2]|0)+(k[g>>2]|0)|0,k[o+(k[pa>>2]<<2)>>2]|0,k[Ba+(k[pa>>2]<<2)>>2]|0)|0;k[o+(k[pa>>2]<<2)>>2]=(k[Q>>2]|0)+((k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0))}BL(k[ha>>2]|0,(k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0,k[Ba+(k[pa>>2]<<2)>>2]|0,Aa)}a:do if((c|0)==16)uR(la|0,0,(k[pa>>2]|0)+1<<2|0)|0;else if((c|0)==23){Ca=Vj(62677)|0;k[Aa>>2]=Ca;uR(la|0,0,(k[pa>>2]|0)+1<<2|0)|0}else if((c|0)==26){k[t>>2]=(k[t>>2]|0)+3&-4;k[A>>2]=(k[t>>2]<<2)+(k[t>>2]<<1)+(k[(k[za>>2]|0)+32>>2]|0);A=Ji(k[A>>2]|0)|0;k[ma+8>>2]=A;if(!(k[ma+8>>2]|0)){k[Aa>>2]=7;break}k[ma+12>>2]=(k[ma+8>>2]|0)+(k[t>>2]<<2);k[n>>2]=(k[ma+12>>2]|0)+(k[t>>2]<<1);k[ma+4>>2]=k[la>>2];j[ua>>1]=l[(k[ma+4>>2]|0)+4>>0]<<2;k[va>>2]=l[(k[ma+4>>2]|0)+3>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[v>>2]=k[la+(k[pa>>2]<<2)>>2];k[q>>2]=m[(k[v>>2]|0)+18>>1];k[h>>2]=k[(k[v>>2]|0)+56>>2];j[s>>1]=j[(k[v>>2]|0)+20>>1]|0;k[x>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0);if((l[k[(k[v>>2]|0)+56>>2]>>0]|0)!=(l[k[(k[la>>2]|0)+56>>2]>>0]|0)){c=31;break}uR((k[ma+12>>2]|0)+(k[ma>>2]<<1)|0,0,(k[q>>2]|0)+(l[(k[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((l[(k[v>>2]|0)+1>>0]|0)>0){k[q>>2]=m[(k[v>>2]|0)+22>>1];k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[q>>2]|0))break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1;k[Y>>2]=(k[Y>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(l[(k[v>>2]|0)+1>>0]|0))break b;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=k[(k[v>>2]|0)+32+(k[H>>2]<<2)>>2];k[ma>>2]=(k[ma>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}}while(0);k[y>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0)+(m[(k[v>>2]|0)+18>>1]<<1);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1}k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if(!((k[va>>2]|0)!=0?1:(k[pa>>2]|0)>=((k[ya>>2]|0)-1|0))){j[z>>1]=k[Ba+(k[pa>>2]<<2)>>2];j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=j[z>>1]|0;k[w>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[p>>2]=(k[p>>2]|0)+(m[z>>1]|0);sR(k[w>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0,m[z>>1]|0)|0;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[w>>2]|0)+(m[ua>>1]|0);j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=(m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)-(m[ua>>1]|0);c:do if(i[(k[v>>2]|0)+4>>0]|0)while(1){if((m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)>=4)break c;A=k[p>>2]|0;k[p>>2]=A+1;i[(k[n>>2]|0)+A>>0]=0;A=(k[ma+12>>2]|0)+(k[ma>>2]<<1)|0;j[A>>1]=(j[A>>1]|0)+1<<16>>16}else{A=k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]|0;t=(k[(k[v>>2]|0)+56>>2]|0)+8|0;i[A>>0]=i[t>>0]|0;i[A+1>>0]=i[t+1>>0]|0;i[A+2>>0]=i[t+2>>0]|0;i[A+3>>0]=i[t+3>>0]|0}while(0);k[ma>>2]=(k[ma>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==31){Ca=Vj(62744)|0;k[Aa>>2]=Ca;break}k[Ca>>2]=(k[(k[za>>2]|0)+36>>2]|0)-12+(m[ua>>1]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[u>>2]=k[la+(k[pa>>2]<<2)>>2];k[Ba+(k[pa>>2]<<2)>>2]=(k[Ca>>2]|0)-(m[(k[u>>2]|0)+16>>1]|0);if((k[Ba+(k[pa>>2]<<2)>>2]|0)<0){c=52;break}k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(l[(k[u>>2]|0)+1>>0]|0))break;z=2+((gc[k[(k[u>>2]|0)+76>>2]&255](k[u>>2]|0,k[(k[u>>2]|0)+32+(k[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+z;k[Y>>2]=(k[Y>>2]|0)+1}k[na+(k[pa>>2]<<2)>>2]=k[oa+(k[pa>>2]<<2)>>2];k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==52){Ca=Vj(62842)|0;k[Aa>>2]=Ca;break}k[H>>2]=k[ya>>2];k[pa>>2]=0;d:while(1){if((k[pa>>2]|0)>=(k[H>>2]|0)){c=83;break}while(1){if((k[Ba+(k[pa>>2]<<2)>>2]|0)<=(k[Ca>>2]|0))break;if(((k[pa>>2]|0)+1|0)>=(k[H>>2]|0)){k[H>>2]=(k[pa>>2]|0)+2;if((k[H>>2]|0)>5){c=62;break d}k[Ba+((k[H>>2]|0)-1<<2)>>2]=0;k[na+((k[H>>2]|0)-1<<2)>>2]=k[ma>>2]}A=2+((HL(ma,(k[na+(k[pa>>2]<<2)>>2]|0)-1|0)|0)&65535)|0;k[B>>2]=A;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0);do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((HL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+-1}while(1){if((k[na+(k[pa>>2]<<2)>>2]|0)>=(k[ma>>2]|0))break;A=2+((HL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;if(((k[Ba+(k[pa>>2]<<2)>>2]|0)+(k[B>>2]|0)|0)>(k[Ca>>2]|0))break;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+1;do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((HL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0)}f=k[pa>>2]|0;if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){if((k[pa>>2]|0)>0)c=k[na+((k[pa>>2]|0)-1<<2)>>2]|0;else c=0;if((k[na+(f<<2)>>2]|0)<=(c|0)){c=81;break}}else k[H>>2]=f+1;k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==62){Ca=Vj(62854)|0;k[Aa>>2]=Ca;break}else if((c|0)==81){Ca=Vj(62887)|0;k[Aa>>2]=Ca;break}else if((c|0)==83){k[pa>>2]=(k[H>>2]|0)-1;while(1){if((k[pa>>2]|0)<=0)break;k[P>>2]=k[Ba+(k[pa>>2]<<2)>>2];k[O>>2]=k[Ba+((k[pa>>2]|0)-1<<2)>>2];k[N>>2]=(k[na+((k[pa>>2]|0)-1<<2)>>2]|0)-1;k[F>>2]=(k[N>>2]|0)+1-(k[va>>2]|0);HL(ma,k[F>>2]|0)|0;do{HL(ma,k[N>>2]|0)|0;if(k[P>>2]|0){if(k[C>>2]|0)break;if(((k[P>>2]|0)+(m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2|0)>((k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2)|0))break}k[P>>2]=(k[P>>2]|0)+((m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2);k[O>>2]=(k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2);k[na+((k[pa>>2]|0)-1<<2)>>2]=k[N>>2];k[N>>2]=(k[N>>2]|0)+-1;k[F>>2]=(k[F>>2]|0)+-1}while((k[N>>2]|0)>=0);k[Ba+(k[pa>>2]<<2)>>2]=k[P>>2];k[Ba+((k[pa>>2]|0)-1<<2)>>2]=k[O>>2];if((k[pa>>2]|0)>1)f=k[na+((k[pa>>2]|0)-2<<2)>>2]|0;else f=0;if((k[na+((k[pa>>2]|0)-1<<2)>>2]|0)<=(f|0)){c=93;break}k[pa>>2]=(k[pa>>2]|0)+-1}if((c|0)==93){Ca=Vj(62929)|0;k[Aa>>2]=Ca;break}k[L>>2]=l[k[(k[la>>2]|0)+56>>2]>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[H>>2]|0))break;if((k[pa>>2]|0)<(k[ya>>2]|0)){P=k[la+(k[pa>>2]<<2)>>2]|0;k[ka+(k[pa>>2]<<2)>>2]=P;k[I>>2]=P;k[la+(k[pa>>2]<<2)>>2]=0;P=Ng(k[(k[I>>2]|0)+72>>2]|0)|0;k[Aa>>2]=P;k[wa>>2]=(k[wa>>2]|0)+1;if(k[Aa>>2]|0)break a}else{P=DJ(k[za>>2]|0,I,M,(k[C>>2]|0)!=0?1:k[M>>2]|0,0)|0;k[Aa>>2]=P;if(k[Aa>>2]|0)break a;GK(k[I>>2]|0,k[L>>2]|0);k[ka+(k[pa>>2]<<2)>>2]=k[I>>2];k[wa>>2]=(k[wa>>2]|0)+1;k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if((i[(k[za>>2]|0)+17>>0]|0)!=0?(HJ(k[za>>2]|0,k[(k[I>>2]|0)+84>>2]|0,5,k[(k[ha>>2]|0)+84>>2]|0,Aa),(k[Aa>>2]|0)!=0):0)break a}k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;e:while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;P=k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0;k[S+(k[pa>>2]<<2)>>2]=P;k[E+(k[pa>>2]<<2)>>2]=P;j[D+(k[pa>>2]<<1)>>1]=j[(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[pa>>2]|0))break;if((k[S+(k[Y>>2]<<2)>>2]|0)==(k[S+(k[pa>>2]<<2)>>2]|0)){c=108;break e}k[Y>>2]=(k[Y>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==108){Ca=Vj(63003)|0;k[Aa>>2]=Ca;break}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;k[G>>2]=0;k[Y>>2]=1;while(1){if((k[Y>>2]|0)>=(k[wa>>2]|0))break;if((k[E+(k[Y>>2]<<2)>>2]|0)>>>0<(k[E+(k[G>>2]<<2)>>2]|0)>>>0)k[G>>2]=k[Y>>2];k[Y>>2]=(k[Y>>2]|0)+1}k[M>>2]=k[E+(k[G>>2]<<2)>>2];k[E+(k[G>>2]<<2)>>2]=-1;if((k[G>>2]|0)!=(k[pa>>2]|0)){if((k[G>>2]|0)>(k[pa>>2]|0))IL(k[(k[ka+(k[G>>2]<<2)>>2]|0)+72>>2]|0,(k[(k[za>>2]|0)+44>>2]|0)+(k[G>>2]|0)+1|0,0);IL(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0,k[M>>2]|0,j[D+(k[G>>2]<<1)>>1]|0);k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]=k[M>>2]}k[pa>>2]=(k[pa>>2]|0)+1}ft(k[K>>2]|0,k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((k[L>>2]&8|0)==0?(k[ya>>2]|0)!=(k[wa>>2]|0):0){k[J>>2]=k[((k[wa>>2]|0)>(k[ya>>2]|0)?ka:la)+((k[ya>>2]|0)-1<<2)>>2];P=(k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(k[(k[J>>2]|0)+56>>2]|0)+8|0;i[P>>0]=i[O>>0]|0;i[P+1>>0]=i[O+1>>0]|0;i[P+2>>0]=i[O+2>>0]|0;i[P+3>>0]=i[O+3>>0]|0}f:do if(i[(k[za>>2]|0)+17>>0]|0){k[aa>>2]=k[ka>>2];k[R>>2]=k[(k[aa>>2]|0)+56>>2];k[T>>2]=(m[(k[aa>>2]|0)+18>>1]|0)+(l[(k[aa>>2]|0)+1>>0]|0);k[fa>>2]=k[(k[za>>2]|0)+36>>2];k[U>>2]=0;k[V>>2]=0;k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ma>>2]|0))break f;k[_>>2]=k[(k[ma+8>>2]|0)+(k[pa>>2]<<2)>>2];if((k[pa>>2]|0)==(k[T>>2]|0)){P=(k[V>>2]|0)+1|0;k[V>>2]=P;f=k[V>>2]|0;if((P|0)<(k[wa>>2]|0))f=k[ka+(f<<2)>>2]|0;else f=k[la+(f<<2)>>2]|0;k[ca>>2]=f;k[T>>2]=(k[T>>2]|0)+((m[(k[ca>>2]|0)+18>>1]|0)+(l[(k[ca>>2]|0)+1>>0]|0)+(((k[va>>2]|0)!=0^1)&1));k[R>>2]=k[(k[ca>>2]|0)+56>>2]}if(!((k[pa>>2]|0)==(k[na+(k[U>>2]<<2)>>2]|0)?(P=(k[U>>2]|0)+1|0,k[U>>2]=P,k[aa>>2]=k[ka+(P<<2)>>2],(k[va>>2]|0)==0):0))c=136;do if((c|0)==136){c=0;if((((k[V>>2]|0)<(k[wa>>2]|0)?(k[(k[aa>>2]|0)+84>>2]|0)==(k[S+(k[V>>2]<<2)>>2]|0):0)?(k[_>>2]|0)>>>0>=(k[R>>2]|0)>>>0:0)?(k[_>>2]|0)>>>0<((k[R>>2]|0)+(k[fa>>2]|0)|0)>>>0:0)break;if(!(j[ua>>1]|0)){O=k[za>>2]|0;P=jr(k[_>>2]|0)|0;HJ(O,P,5,k[(k[aa>>2]|0)+84>>2]|0,Aa)}P=(HL(ma,k[pa>>2]|0)|0)&65535;if((P|0)>(m[(k[aa>>2]|0)+12>>1]|0))JJ(k[aa>>2]|0,k[_>>2]|0,Aa);if(k[Aa>>2]|0)break a}while(0);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=((k[wa>>2]|0)-1|0))break;k[ba>>2]=k[ka+(k[pa>>2]<<2)>>2];k[Y>>2]=k[na+(k[pa>>2]<<2)>>2];k[$>>2]=k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2];k[ea>>2]=(m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)+(m[ua>>1]|0);k[da>>2]=(k[Q>>2]|0)+(k[W>>2]|0);do if(i[(k[ba>>2]|0)+4>>0]|0){if(k[va>>2]|0){k[Y>>2]=(k[Y>>2]|0)+-1;cc[k[(k[ba>>2]|0)+80>>2]&255](k[ba>>2]|0,k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2]|0,X);k[$>>2]=k[da>>2];fa=X;fa=4+(uI((k[$>>2]|0)+4|0,k[fa>>2]|0,k[fa+4>>2]|0)|0)|0;k[ea>>2]=fa;k[da>>2]=0;break}k[$>>2]=(k[$>>2]|0)+-4;if((m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)==4){fa=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[$>>2]|0)|0)&65535;k[ea>>2]=fa}}else{fa=(k[(k[ba>>2]|0)+56>>2]|0)+8|0;ca=k[$>>2]|0;i[fa>>0]=i[ca>>0]|0;i[fa+1>>0]=i[ca+1>>0]|0;i[fa+2>>0]=i[ca+2>>0]|0;i[fa+3>>0]=i[ca+3>>0]|0}while(0);k[W>>2]=(k[W>>2]|0)+(k[ea>>2]|0);CL(k[ha>>2]|0,(k[Z>>2]|0)+(k[pa>>2]|0)|0,k[$>>2]|0,k[ea>>2]|0,k[da>>2]|0,k[(k[ba>>2]|0)+84>>2]|0,Aa);if(k[Aa>>2]|0)break a;k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=1-(k[wa>>2]|0);while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;fa=k[pa>>2]|0;k[sa>>2]=(k[pa>>2]|0)<0?0-fa|0:fa;do if(!(i[ja+(k[sa>>2]|0)>>0]|0)){if((k[pa>>2]|0)<0?(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)<(k[na+((k[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(k[sa>>2]|0)){k[ra>>2]=0;k[qa>>2]=0;k[xa>>2]=k[na>>2]}else{if((k[sa>>2]|0)<(k[ya>>2]|0))f=(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1)|0;else f=k[ma>>2]|0;k[ra>>2]=f;k[qa>>2]=(k[na+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1);k[xa>>2]=(k[na+(k[sa>>2]<<2)>>2]|0)-(k[qa>>2]|0)}fa=JL(k[ka+(k[sa>>2]<<2)>>2]|0,k[ra>>2]|0,k[qa>>2]|0,k[xa>>2]|0,ma)|0;k[Aa>>2]=fa;if(k[Aa>>2]|0)break a;fa=ja+(k[sa>>2]|0)|0;i[fa>>0]=(i[fa>>0]|0)+1<<24>>24;j[(k[ka+(k[sa>>2]<<2)>>2]|0)+16>>1]=(k[Ca>>2]|0)-(k[Ba+(k[sa>>2]<<2)>>2]|0)}while(0);k[pa>>2]=(k[pa>>2]|0)+1}if(((k[ia>>2]|0)!=0?(m[(k[ha>>2]|0)+18>>1]|0)==0:0)?(l[(k[ha>>2]|0)+5>>0]|0)<=(m[(k[ka>>2]|0)+16>>1]|0):0){Ca=KL(k[ka>>2]|0)|0;k[Aa>>2]=Ca;LL(k[ka>>2]|0,k[ha>>2]|0,Aa);FK(k[ka>>2]|0,Aa)}else c=174;g:do if((c|0)==174?!((j[ua>>1]|0)!=0?1:(l[(k[za>>2]|0)+17>>0]|0)==0):0){k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break g;Ca=jr((k[(k[ka+(k[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;k[ta>>2]=Ca;HJ(k[za>>2]|0,k[ta>>2]|0,5,k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=k[wa>>2];while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break a;FK(k[la+(k[pa>>2]<<2)>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}}while(0);Ki(k[ma+8>>2]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;AB(k[la+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;AB(k[ka+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[ga>>2]=k[Aa>>2];Ca=k[ga>>2]|0;r=Da;return Ca|0}function HL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0){j[c>>1]=j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0;a=j[c>>1]|0;r=f;return a|0}else{a=TL(k[d>>2]|0,k[e>>2]|0)|0;j[c>>1]=a;a=j[c>>1]|0;r=f;return a|0}return 0}function IL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;j[g>>1]=c;j[(k[f>>2]|0)+24>>1]=j[g>>1]|0;KJ(k[f>>2]|0,k[e>>2]|0);r=d;return}function JL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;g=D+16|0;f=D+12|0;h=D+8|0;y=D+4|0;x=D;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=k[(k[o>>2]|0)+56>>2];k[v>>2]=l[(k[o>>2]|0)+5>>0];k[A>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[s>>2]<<1);k[z>>2]=m[(k[o>>2]|0)+18>>1];k[g>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+18>>1]|0)+(l[(k[o>>2]|0)+1>>0]|0);k[f>>2]=(k[q>>2]|0)+(k[s>>2]|0);if((k[p>>2]|0)<(k[q>>2]|0)){a=NL(k[o>>2]|0,k[p>>2]|0,(k[q>>2]|0)-(k[p>>2]|0)|0,k[t>>2]|0)|0;k[h>>2]=a;tR(k[(k[o>>2]|0)+64>>2]|0,(k[(k[o>>2]|0)+64>>2]|0)+(k[h>>2]<<1)|0,k[z>>2]<<1|0)|0;k[z>>2]=(k[z>>2]|0)-(k[h>>2]|0)}if((k[f>>2]|0)<(k[g>>2]|0)){a=NL(k[o>>2]|0,k[f>>2]|0,(k[g>>2]|0)-(k[f>>2]|0)|0,k[t>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-a}k[C>>2]=(k[u>>2]|0)+((((l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((k[C>>2]|0)>>>0>=(k[A>>2]|0)>>>0){if((k[q>>2]|0)<(k[p>>2]|0)){if((k[s>>2]|0)<((k[p>>2]|0)-(k[q>>2]|0)|0))c=k[s>>2]|0;else c=(k[p>>2]|0)-(k[q>>2]|0)|0;k[y>>2]=c;k[B>>2]=k[(k[o>>2]|0)+64>>2];tR((k[B>>2]|0)+(k[y>>2]<<1)|0,k[B>>2]|0,k[z>>2]<<1|0)|0;if(OL(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,k[q>>2]|0,k[y>>2]|0,k[t>>2]|0)|0)break;k[z>>2]=(k[z>>2]|0)+(k[y>>2]|0)}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(l[(k[o>>2]|0)+1>>0]|0|0))break;k[x>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+22+(k[w>>2]<<1)>>1]|0)-(k[q>>2]|0);if(((k[x>>2]|0)>=0?(k[x>>2]|0)<(k[s>>2]|0):0)?(k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[x>>2]<<1),tR((k[B>>2]|0)+2|0,k[B>>2]|0,(k[z>>2]|0)-(k[x>>2]|0)<<1|0)|0,k[z>>2]=(k[z>>2]|0)+1,(OL(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[x>>2]|0)+(k[q>>2]|0)|0,1,k[t>>2]|0)|0)!=0):0)break a;k[w>>2]=(k[w>>2]|0)+1}k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[z>>2]<<1);if(!(OL(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[q>>2]|0)+(k[z>>2]|0)|0,(k[s>>2]|0)-(k[z>>2]|0)|0,k[t>>2]|0)|0)){j[(k[o>>2]|0)+18>>1]=k[s>>2];i[(k[o>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[o>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[o>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[C>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[C>>2]|0)-(k[u>>2]|0);k[n>>2]=0;C=k[n>>2]|0;r=D;return C|0}}while(0);PL(k[t>>2]|0,k[q>>2]|0,k[s>>2]|0);C=QL(k[o>>2]|0,k[s>>2]|0,(k[(k[t>>2]|0)+8>>2]|0)+(k[q>>2]<<2)|0,(k[(k[t>>2]|0)+12>>2]|0)+(k[q>>2]<<1)|0)|0;k[n>>2]=C;C=k[n>>2]|0;r=D;return C|0}function KL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;b=y+64|0;c=y+60|0;h=y+56|0;q=y+52|0;g=y+48|0;s=y+44|0;v=y+40|0;e=y+36|0;d=y+32|0;o=y+28|0;f=y+24|0;u=y+20|0;t=y+16|0;j=y+12|0;n=y+8|0;p=y+4|0;w=y;k[c>>2]=a;k[u>>2]=0;a=k[(k[c>>2]|0)+56>>2]|0;k[f>>2]=a;k[t>>2]=a;k[g>>2]=l[(k[c>>2]|0)+5>>0];k[e>>2]=m[(k[c>>2]|0)+14>>1];k[o>>2]=m[(k[c>>2]|0)+18>>1];k[v>>2]=k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2];k[d>>2]=k[v>>2];k[j>>2]=(k[e>>2]|0)+(k[o>>2]<<1);k[n>>2]=(k[v>>2]|0)-4;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[o>>2]|0)){x=14;break}k[p>>2]=(k[f>>2]|0)+((k[e>>2]|0)+(k[h>>2]<<1));k[q>>2]=(l[k[p>>2]>>0]|0)<<8|(l[(k[p>>2]|0)+1>>0]|0);if((k[q>>2]|0)<(k[j>>2]|0)){x=5;break}if((k[q>>2]|0)>(k[n>>2]|0)){x=5;break}a=(gc[k[(k[c>>2]|0)+76>>2]&255](k[c>>2]|0,(k[t>>2]|0)+(k[q>>2]|0)|0)|0)&65535;k[s>>2]=a;k[d>>2]=(k[d>>2]|0)-(k[s>>2]|0);if((k[d>>2]|0)<(k[j>>2]|0)){x=8;break}if(((k[q>>2]|0)+(k[s>>2]|0)|0)>(k[v>>2]|0)){x=8;break}i[k[p>>2]>>0]=k[d>>2]>>8;i[(k[p>>2]|0)+1>>0]=k[d>>2];if(!(k[u>>2]|0)){if((k[d>>2]|0)!=(k[q>>2]|0)){x=ML(k[k[(k[c>>2]|0)+52>>2]>>2]|0)|0;k[u>>2]=x;k[w>>2]=(l[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]|0)<<8|(l[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]|0);sR((k[u>>2]|0)+(k[w>>2]|0)|0,(k[f>>2]|0)+(k[w>>2]|0)|0,(k[d>>2]|0)+(k[s>>2]|0)-(k[w>>2]|0)|0)|0;k[t>>2]=k[u>>2];x=12}}else x=12;if((x|0)==12){x=0;sR((k[f>>2]|0)+(k[d>>2]|0)|0,(k[t>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0)|0}k[h>>2]=(k[h>>2]|0)+1}if((x|0)==5){x=Vj(56934)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==8){x=Vj(56940)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==14){i[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]=k[d>>2]>>8;i[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]=k[d>>2];i[(k[f>>2]|0)+((k[g>>2]|0)+1)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+2)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+7)>>0]=0;uR((k[f>>2]|0)+(k[j>>2]|0)|0,0,(k[d>>2]|0)-(k[j>>2]|0)|0)|0;if(((k[d>>2]|0)-(k[j>>2]|0)|0)!=(m[(k[c>>2]|0)+16>>1]|0|0)){x=Vj(56964)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else{k[b>>2]=0;x=k[b>>2]|0;r=y;return x|0}}return 0}function LL(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,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;j=s;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=s;return}k[p>>2]=k[(k[d>>2]|0)+52>>2];k[g>>2]=k[(k[d>>2]|0)+56>>2];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[n>>2]=l[(k[d>>2]|0)+5>>0];k[o>>2]=(k[(k[e>>2]|0)+84>>2]|0)==1?100:0;k[j>>2]=l[(k[g>>2]|0)+((k[n>>2]|0)+5)>>0]<<8|l[(k[g>>2]|0)+((k[n>>2]|0)+5)+1>>0];sR((k[h>>2]|0)+(k[j>>2]|0)|0,(k[g>>2]|0)+(k[j>>2]|0)|0,(k[(k[p>>2]|0)+36>>2]|0)-(k[j>>2]|0)|0)|0;sR((k[h>>2]|0)+(k[o>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,(m[(k[d>>2]|0)+14>>1]|0)+(m[(k[d>>2]|0)+18>>1]<<1)|0)|0;i[k[e>>2]>>0]=0;b=Ut(k[e>>2]|0)|0;k[q>>2]=b;if(k[q>>2]|0){k[k[f>>2]>>2]=k[q>>2];r=s;return}if(!(i[(k[p>>2]|0)+17>>0]|0)){r=s;return}q=GJ(k[e>>2]|0)|0;k[k[f>>2]>>2]=q;r=s;return}function ML(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+208>>2]|0}function NL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+64|0;e=w+56|0;f=w+52|0;x=w+48|0;y=w+44|0;g=w+40|0;h=w+36|0;p=w+32|0;s=w+28|0;n=w+24|0;i=w+20|0;j=w+16|0;q=w+12|0;u=w+8|0;o=w+4|0;t=w;k[f>>2]=a;k[x>>2]=b;k[y>>2]=c;k[g>>2]=d;k[h>>2]=k[(k[f>>2]|0)+56>>2];k[p>>2]=(k[h>>2]|0)+(k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0);k[s>>2]=(k[h>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8+(l[(k[f>>2]|0)+6>>0]|0));k[n>>2]=0;k[j>>2]=(k[x>>2]|0)+(k[y>>2]|0);k[q>>2]=0;k[u>>2]=0;k[i>>2]=k[x>>2];while(1){if((k[i>>2]|0)>=(k[j>>2]|0))break;k[o>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0>=(k[s>>2]|0)>>>0?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0){k[t>>2]=m[(k[(k[g>>2]|0)+12>>2]|0)+(k[i>>2]<<1)>>1];if((k[q>>2]|0)!=((k[o>>2]|0)+(k[t>>2]|0)|0)){if(k[q>>2]|0)SL(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[q>>2]=k[o>>2];k[u>>2]=k[t>>2];if(((k[q>>2]|0)+(k[t>>2]|0)|0)>>>0>(k[p>>2]|0)>>>0){v=9;break}}else{k[q>>2]=k[o>>2];k[u>>2]=(k[u>>2]|0)+(k[t>>2]|0)}k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+1}if((v|0)==9){k[e>>2]=0;y=k[e>>2]|0;r=w;return y|0}if(k[q>>2]|0)SL(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[e>>2]=k[n>>2];y=k[e>>2]|0;r=w;return y|0}function OL(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+64|0;h=y+56|0;j=y+52|0;m=y+48|0;n=y+44|0;o=y+40|0;z=y+36|0;A=y+32|0;p=y+28|0;s=y+24|0;q=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[z>>2]=e;k[A>>2]=f;k[p>>2]=g;k[q>>2]=k[(k[j>>2]|0)+56>>2];k[u>>2]=k[k[n>>2]>>2];k[t>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[s>>2]=k[z>>2];while(1){if((k[s>>2]|0)>=(k[t>>2]|0)){e=10;break}A=(HL(k[p>>2]|0,k[s>>2]|0)|0)&65535;k[x>>2]=A;if((l[(k[q>>2]|0)+1>>0]|0|0)==0?(l[(k[q>>2]|0)+2>>0]|0|0)==0:0)e=6;else e=5;if((e|0)==5?(e=0,A=RL(k[j>>2]|0,k[x>>2]|0,w)|0,k[v>>2]=A,(A|0)==0):0)e=6;if((e|0)==6){k[u>>2]=(k[u>>2]|0)+(0-(k[x>>2]|0));if((k[u>>2]|0)>>>0<(k[m>>2]|0)>>>0){e=7;break}k[v>>2]=k[u>>2]}tR(k[v>>2]|0,k[(k[(k[p>>2]|0)+8>>2]|0)+(k[s>>2]<<2)>>2]|0,k[x>>2]|0)|0;i[k[o>>2]>>0]=(k[v>>2]|0)-(k[q>>2]|0)>>8;i[(k[o>>2]|0)+1>>0]=(k[v>>2]|0)-(k[q>>2]|0);k[o>>2]=(k[o>>2]|0)+2;k[s>>2]=(k[s>>2]|0)+1}if((e|0)==7){k[h>>2]=1;A=k[h>>2]|0;r=y;return A|0}else if((e|0)==10){k[k[n>>2]>>2]=k[u>>2];k[h>>2]=0;A=k[h>>2]|0;r=y;return A|0}return 0}function PL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if((k[f>>2]|0)<=0)break;if(!(m[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0)){a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]=a}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+-1}r=g;return}function QL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;q=x+52|0;s=x+48|0;t=x+44|0;e=x+40|0;f=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;o=x+20|0;g=x+16|0;n=x+12|0;p=x+8|0;w=x+4|0;h=x;k[s>>2]=a;k[t>>2]=b;k[e>>2]=c;k[f>>2]=d;k[v>>2]=l[(k[s>>2]|0)+5>>0];k[u>>2]=k[(k[s>>2]|0)+56>>2];k[y>>2]=k[(k[(k[s>>2]|0)+52>>2]|0)+36>>2];k[o>>2]=(k[u>>2]|0)+(k[y>>2]|0);k[n>>2]=k[(k[s>>2]|0)+64>>2];d=ML(k[k[(k[s>>2]|0)+52>>2]>>2]|0)|0;k[p>>2]=d;k[g>>2]=(l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0);sR((k[p>>2]|0)+(k[g>>2]|0)|0,(k[u>>2]|0)+(k[g>>2]|0)|0,(k[y>>2]|0)-(k[g>>2]|0)|0)|0;k[w>>2]=k[o>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[t>>2]|0)){e=9;break}k[h>>2]=k[(k[e>>2]|0)+(k[g>>2]<<2)>>2];if((k[h>>2]|0)>>>0>=(k[u>>2]|0)>>>0?(k[h>>2]|0)>>>0<(k[o>>2]|0)>>>0:0)k[h>>2]=(k[p>>2]|0)+((k[h>>2]|0)-(k[u>>2]|0));k[w>>2]=(k[w>>2]|0)+(0-(m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0));i[k[n>>2]>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[n>>2]|0)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);k[n>>2]=(k[n>>2]|0)+2;if((k[w>>2]|0)>>>0<(k[n>>2]|0)>>>0){e=7;break}sR(k[w>>2]|0,k[h>>2]|0,m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0|0)|0;k[g>>2]=(k[g>>2]|0)+1}if((e|0)==7){y=Vj(62048)|0;k[q>>2]=y;y=k[q>>2]|0;r=x;return y|0}else if((e|0)==9){j[(k[s>>2]|0)+18>>1]=k[t>>2];i[(k[s>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[s>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[s>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);i[(k[u>>2]|0)+((k[v>>2]|0)+7)>>0]=0;k[q>>2]=0;y=k[q>>2]|0;r=x;return y|0}return 0}function RL(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,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;d=t+32|0;g=t+28|0;j=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;s=t+8|0;q=t+4|0;p=t;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;k[j>>2]=l[(k[f>>2]|0)+5>>0];k[h>>2]=k[(k[f>>2]|0)+56>>2];k[n>>2]=(k[j>>2]|0)+1;k[o>>2]=(l[(k[h>>2]|0)+(k[n>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[n>>2]|0)+1>>0]|0);k[q>>2]=k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2];while(1){if((k[o>>2]|0)>((k[q>>2]|0)-4|0)){b=4;break}if((k[o>>2]|0)<((k[n>>2]|0)+4|0)){b=4;break}k[p>>2]=(l[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]|0);c=(k[p>>2]|0)-(k[d>>2]|0)|0;k[s>>2]=c;a=k[o>>2]|0;if((c|0)>=0){b=6;break}k[n>>2]=a;k[o>>2]=(l[(k[h>>2]|0)+(k[o>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[o>>2]|0)+1>>0]|0);if(!(k[o>>2]|0)){b=16;break}}if((b|0)==4){s=Vj(56997)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==6){if((a|0)>=((m[(k[f>>2]|0)+14>>1]|0)+((m[(k[f>>2]|0)+18>>1]|0)<<1)|0)?((k[p>>2]|0)+(k[o>>2]|0)|0)<=(k[q>>2]|0):0){do if((k[s>>2]|0)<4){if((l[(k[h>>2]|0)+((k[j>>2]|0)+7)>>0]|0|0)<=57){q=(k[h>>2]|0)+(k[n>>2]|0)|0;p=(k[h>>2]|0)+(k[o>>2]|0)|0;i[q>>0]=i[p>>0]|0;i[q+1>>0]=i[p+1>>0]|0;q=(k[h>>2]|0)+((k[j>>2]|0)+7)|0;i[q>>0]=(l[q>>0]|0)+(k[s>>2]&255);break}k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else{i[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]=k[s>>2]>>8;i[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]=k[s>>2]}while(0);k[e>>2]=(k[h>>2]|0)+((k[o>>2]|0)+(k[s>>2]|0));s=k[e>>2]|0;r=t;return s|0}s=Vj(57008)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==16){k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}return 0}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;d=x+20|0;e=x+16|0;f=x+32|0;g=x+30|0;t=x+28|0;p=x+26|0;n=x+35|0;v=x+34|0;s=x+24|0;q=x+12|0;o=x+8|0;h=x+4|0;u=x;k[e>>2]=a;j[f>>1]=b;j[g>>1]=c;i[v>>0]=0;j[s>>1]=j[g>>1]|0;k[q>>2]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-4;k[o>>2]=(m[f>>1]|0)+(m[g>>1]|0);k[h>>2]=k[(k[e>>2]|0)+56>>2];if((m[(k[(k[e>>2]|0)+52>>2]|0)+22>>1]|0)&4)uR((k[h>>2]|0)+(m[f>>1]|0)|0,0,m[g>>1]|0|0)|0;i[n>>0]=i[(k[e>>2]|0)+5>>0]|0;j[t>>1]=(l[n>>0]|0)+1;if((l[(k[h>>2]|0)+((m[t>>1]|0)+1)>>0]|0|0)==0?(l[(k[h>>2]|0)+(m[t>>1]|0)>>0]|0|0)==0:0)j[p>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;a=((l[(k[h>>2]|0)+(m[t>>1]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0]|0))&65535;j[p>>1]=a;if((a&65535|0)>0)c=(m[p>>1]|0|0)<(m[f>>1]|0|0);else c=0;b=m[p>>1]|0;if(!c)break;if((b|0)<((m[t>>1]|0)+4|0)){w=10;break}j[t>>1]=j[p>>1]|0;w=6}if((w|0)==10){w=Vj(57169)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}if(b>>>0>(k[q>>2]|0)>>>0){w=Vj(57172)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}do if((m[p>>1]|0|0)!=0?((k[o>>2]|0)+3|0)>>>0>=(m[p>>1]|0)>>>0:0){i[v>>0]=(m[p>>1]|0)-(k[o>>2]|0);if((k[o>>2]|0)>>>0>(m[p>>1]|0)>>>0){w=Vj(57183)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}k[o>>2]=(m[p>>1]|0)+((l[(k[h>>2]|0)+((m[p>>1]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((m[p>>1]|0)+2)+1>>0]|0));if((k[o>>2]|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){j[g>>1]=(k[o>>2]|0)-(m[f>>1]|0);j[p>>1]=(l[(k[h>>2]|0)+(m[p>>1]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(m[p>>1]|0)+1>>0]|0);break}w=Vj(57185)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);do if((m[t>>1]|0|0)>((l[n>>0]|0)+1|0)?(k[u>>2]=(m[t>>1]|0)+((l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0]|0)),((k[u>>2]|0)+3|0)>=(m[f>>1]|0|0)):0){if((k[u>>2]|0)<=(m[f>>1]|0|0)){i[v>>0]=(l[v>>0]|0)+((m[f>>1]|0)-(k[u>>2]|0));j[g>>1]=(k[o>>2]|0)-(m[t>>1]|0);j[f>>1]=j[t>>1]|0;break}w=Vj(57197)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);if((l[v>>0]|0|0)<=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0|0)){w=(k[h>>2]|0)+((l[n>>0]|0)+7)|0;i[w>>0]=(l[w>>0]|0)-(l[v>>0]|0);break}w=Vj(57203)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);do if((m[f>>1]|0|0)==((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0]|0)|0)){if((m[t>>1]|0|0)==((l[n>>0]|0)+1|0)){i[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]=(m[p>>1]|0)>>8;i[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0]=j[p>>1];i[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]=(k[o>>2]|0)>>>8;i[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0]=k[o>>2];break}w=Vj(57210)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}else{i[(k[h>>2]|0)+(m[t>>1]|0)>>0]=(m[f>>1]|0)>>8;i[(k[h>>2]|0)+(m[t>>1]|0)+1>>0]=j[f>>1];i[(k[h>>2]|0)+(m[f>>1]|0)>>0]=(m[p>>1]|0)>>8;i[(k[h>>2]|0)+(m[f>>1]|0)+1>>0]=j[p>>1];i[(k[h>>2]|0)+((m[f>>1]|0)+2)>>0]=(m[g>>1]|0)>>8;i[(k[h>>2]|0)+((m[f>>1]|0)+2)+1>>0]=j[g>>1]}while(0);w=(k[e>>2]|0)+16|0;j[w>>1]=(m[w>>1]|0)+(m[s>>1]|0);k[d>>2]=0;w=k[d>>2]|0;r=x;return w|0}function TL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[c>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]=a;r=e;return j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]|0}function UL(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,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+36|0;e=t+32|0;f=t+28|0;g=t+24|0;n=t+20|0;h=t+16|0;q=t+12|0;p=t+8|0;j=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=l[(k[e>>2]|0)+5>>0];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[p>>2]=0;k[j>>2]=(m[(k[e>>2]|0)+14>>1]|0)+((m[(k[e>>2]|0)+18>>1]|0)<<1);k[q>>2]=(l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0);do if((k[j>>2]|0)>(k[q>>2]|0)){if((k[q>>2]|0)==0?(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){k[q>>2]=65536;break}s=Vj(57075)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);if(!((l[(k[h>>2]|0)+((k[n>>2]|0)+2)>>0]|0|0)==0?(l[(k[h>>2]|0)+((k[n>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((k[j>>2]|0)+2|0)<=(k[q>>2]|0):0){s=RL(k[e>>2]|0,k[f>>2]|0,p)|0;k[o>>2]=s;if(k[o>>2]|0){k[k[g>>2]>>2]=(k[o>>2]|0)-(k[h>>2]|0);k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}if(k[p>>2]|0){k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}}do if(((k[j>>2]|0)+2+(k[f>>2]|0)|0)>(k[q>>2]|0)){s=KL(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0)){k[q>>2]=(((l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}while(0);k[q>>2]=(k[q>>2]|0)-(k[f>>2]|0);i[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]=k[q>>2]>>8;i[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]=k[q>>2];k[k[g>>2]>>2]=k[q>>2];k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}function VL(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=r;r=r+112|0;J=M+96|0;o=M+92|0;p=M+88|0;q=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;n=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;a=s;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=f;k[u>>2]=g;k[N>>2]=h;k[n>>2]=j;k[C>>2]=0;k[K>>2]=0;k[B>>2]=k[(k[o>>2]|0)+52>>2];k[G>>2]=0;k[y>>2]=l[(k[o>>2]|0)+6>>0];k[z>>2]=(k[u>>2]|0)+(k[N>>2]|0);if(i[(k[o>>2]|0)+3>>0]|0){if((k[z>>2]|0)>>>0<128){i[(k[p>>2]|0)+(k[y>>2]|0)>>0]=k[z>>2];d=1}else{d=k[z>>2]|0;d=uI((k[p>>2]|0)+(k[y>>2]|0)|0,d,((d|0)<0)<<31>>31)|0}k[y>>2]=(k[y>>2]|0)+(d&255)}N=s;N=uI((k[p>>2]|0)+(k[y>>2]|0)|0,k[N>>2]|0,k[N+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+N;if(i[(k[o>>2]|0)+2>>0]|0){k[F>>2]=k[t>>2];k[A>>2]=k[u>>2];k[u>>2]=0}else{k[z>>2]=k[s>>2];k[F>>2]=k[q>>2];k[A>>2]=k[s>>2]}if((k[z>>2]|0)<=(m[(k[o>>2]|0)+10>>1]|0)){N=(k[y>>2]|0)+(k[z>>2]|0)|0;k[x>>2]=N;k[x>>2]=(k[x>>2]|0)<4?4:N;k[k[n>>2]>>2]=k[x>>2];k[I>>2]=k[z>>2];k[E>>2]=k[p>>2]}else{k[w>>2]=m[(k[o>>2]|0)+12>>1];k[x>>2]=(k[w>>2]|0)+((((k[z>>2]|0)-(k[w>>2]|0)|0)>>>0)%(((k[(k[(k[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[x>>2]|0)>(m[(k[o>>2]|0)+10>>1]|0))k[x>>2]=k[w>>2];k[I>>2]=k[x>>2];k[k[n>>2]>>2]=(k[x>>2]|0)+(k[y>>2]|0)+4;k[E>>2]=(k[p>>2]|0)+((k[y>>2]|0)+(k[x>>2]|0))}k[D>>2]=(k[p>>2]|0)+(k[y>>2]|0);while(1){if((k[z>>2]|0)<=0){d=35;break}if(!(k[I>>2]|0)){k[H>>2]=k[G>>2];if(i[(k[B>>2]|0)+17>>0]|0)while(1){k[G>>2]=(k[G>>2]|0)+1;N=vF(k[B>>2]|0,k[G>>2]|0)|0;if((N|0)==(k[G>>2]|0))continue;if((k[G>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}N=DJ(k[B>>2]|0,C,G,k[G>>2]|0,0)|0;k[L>>2]=N;if(((k[L>>2]|0)==0?(l[(k[B>>2]|0)+17>>0]|0)!=0:0)?(i[v>>0]=(k[H>>2]|0)!=0?4:3,HJ(k[B>>2]|0,k[G>>2]|0,i[v>>0]|0,k[H>>2]|0,L),(k[L>>2]|0)!=0):0)AB(k[C>>2]|0);if(k[L>>2]|0){d=24;break}ft(k[E>>2]|0,k[G>>2]|0);AB(k[K>>2]|0);k[K>>2]=k[C>>2];k[E>>2]=k[(k[C>>2]|0)+56>>2];ft(k[E>>2]|0,0);k[D>>2]=(k[(k[C>>2]|0)+56>>2]|0)+4;k[I>>2]=(k[(k[B>>2]|0)+36>>2]|0)-4}k[x>>2]=k[z>>2];if((k[x>>2]|0)>(k[I>>2]|0))k[x>>2]=k[I>>2];if((k[A>>2]|0)>0){if((k[x>>2]|0)>(k[A>>2]|0))k[x>>2]=k[A>>2];sR(k[D>>2]|0,k[F>>2]|0,k[x>>2]|0)|0}else uR(k[D>>2]|0,0,k[x>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-(k[x>>2]|0);k[D>>2]=(k[D>>2]|0)+(k[x>>2]|0);k[F>>2]=(k[F>>2]|0)+(k[x>>2]|0);k[A>>2]=(k[A>>2]|0)-(k[x>>2]|0);k[I>>2]=(k[I>>2]|0)-(k[x>>2]|0);if(k[A>>2]|0)continue;k[A>>2]=k[u>>2];k[F>>2]=k[t>>2]}if((d|0)==24){AB(k[K>>2]|0);k[J>>2]=k[L>>2];N=k[J>>2]|0;r=M;return N|0}else if((d|0)==35){AB(k[K>>2]|0);k[J>>2]=0;N=k[J>>2]|0;r=M;return N|0}return 0}function WL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}$I(k[c>>2]|0,k[e>>2]|0);Ud(k[(k[e>>2]|0)+36+4>>2]|0);ag(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function XL(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;d=u+44|0;e=u+40|0;f=u+36|0;g=u+32|0;m=u+28|0;o=u+24|0;q=u+20|0;t=u+16|0;s=u+12|0;p=u+8|0;n=u+4|0;h=u+48|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=k[(k[e>>2]|0)+4>>2];c=k[m>>2]|0;if(i[(k[m>>2]|0)+17>>0]|0){BJ(c);xg(k[e>>2]|0,4,q);k[q>>2]=(k[q>>2]|0)+1;while(1){b=k[q>>2]|0;if((b|0)!=(vF(k[m>>2]|0,k[q>>2]|0)|0)?(k[q>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;k[q>>2]=(k[q>>2]|0)+1}b=DJ(k[m>>2]|0,n,p,k[q>>2]|0,1)|0;k[t>>2]=b;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}if((k[p>>2]|0)!=(k[q>>2]|0)){i[h>>0]=0;k[j>>2]=0;b=xH(k[m>>2]|0,0,0)|0;k[t>>2]=b;AB(k[n>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=xF(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=n;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=wF(k[m>>2]|0,k[q>>2]|0,h,j)|0;k[t>>2]=n;if(!((l[h>>0]|0)!=1?(l[h>>0]|0)!=2:0)){n=Vj(63920)|0;k[t>>2]=n}if(k[t>>2]|0){AB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=EJ(k[m>>2]|0,k[o>>2]|0,i[h>>0]|0,k[j>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=p;AB(k[o>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=xF(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Ng(k[(k[o>>2]|0)+72>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){AB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else k[o>>2]=k[n>>2];HJ(k[m>>2]|0,k[q>>2]|0,1,0,t);if(k[t>>2]|0){AB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Ig(k[e>>2]|0,4,k[q>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){AB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else{p=DJ(c,o,q,1,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}if(k[g>>2]&1)k[s>>2]=13;else k[s>>2]=10;GK(k[o>>2]|0,k[s>>2]|0);Fg(k[(k[o>>2]|0)+72>>2]|0);k[k[f>>2]>>2]=k[q>>2];k[d>>2]=0;t=k[d>>2]|0;r=u;return t|0}function YL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=k[(k[g>>2]|0)+4>>2];if((k[j>>2]|0)!=0?(ZL(k[o>>2]|0),(k[(k[o>>2]|0)+80>>2]|0)==0):0){k[f>>2]=7;c=k[f>>2]|0;r=q;return c|0}if((k[h>>2]|0)==1?(jF(k[o>>2]|0)|0)==0:0)k[h>>2]=0;k[(k[n>>2]|0)+52>>2]=k[h>>2];i[(k[n>>2]|0)+68>>0]=-1;k[(k[n>>2]|0)+72>>2]=k[m>>2];k[k[n>>2]>>2]=k[g>>2];k[(k[n>>2]|0)+4>>2]=k[o>>2];i[(k[n>>2]|0)+64>>0]=(k[j>>2]|0)!=0?1:0;i[(k[n>>2]|0)+65>>0]=(k[j>>2]|0)!=0?0:2;k[p>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[p>>2]|0))break;if((k[(k[p>>2]|0)+52>>2]|0)==(k[h>>2]|0)){c=(k[p>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32;c=(k[n>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32}k[p>>2]=k[(k[p>>2]|0)+8>>2]}k[(k[n>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];k[(k[o>>2]|0)+8>>2]=k[n>>2];i[(k[n>>2]|0)+66>>0]=0;k[f>>2]=0;c=k[f>>2]|0;r=q;return c|0}function ZL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+80>>2]|0){r=c;return}a=bj(k[(k[b>>2]|0)+32>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=k[(k[b>>2]|0)+80>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;i[a+6>>0]=0;i[a+7>>0]=0;a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+4;r=c;return}function _L(){return 200}function $L(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function aM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>(k[(k[d>>2]|0)+104>>2]|0)?(l[(k[d>>2]|0)+6>>0]|0|0)!=0:0){a=bM(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function bM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[i>>2]=0;k[g>>2]=k[(k[c>>2]|0)+104>>2];a=lg(k[(k[c>>2]|0)+100>>2]|0,(k[d>>2]|0)*48|0,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}uR((k[e>>2]|0)+((k[g>>2]|0)*48|0)|0,0,((k[d>>2]|0)-(k[g>>2]|0)|0)*48|0)|0;k[(k[c>>2]|0)+100>>2]=k[e>>2];k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[d>>2]|0)){c=14;break}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+20>>2]=k[(k[c>>2]|0)+28>>2];if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,b=k[a+4>>2]|0,(b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0):0){g=(k[c>>2]|0)+80|0;b=k[g+4>>2]|0;a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[g>>2];k[a+4>>2]=b}else{a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[(k[c>>2]|0)+156>>2];k[a+4>>2]=0}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+24>>2]=k[(k[c>>2]|0)+56>>2];a=pj(k[(k[c>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]=a;if(!(k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0)){c=10;break}if(Cr(k[c>>2]|0)|0)cM(k[(k[c>>2]|0)+216>>2]|0,(k[e>>2]|0)+((k[f>>2]|0)*48|0)+28|0);k[(k[c>>2]|0)+104>>2]=(k[f>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}else if((c|0)==14){k[h>>2]=k[i>>2];i=k[h>>2]|0;r=j;return i|0}return 0}function cM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+52+16>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+52+24>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+52+24+4>>2];k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+112>>2];r=c;return}function dM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;b=h;k[e>>2]=a;if((k[(k[e>>2]|0)+44>>2]|0)>>>0>0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}k[g>>2]=k[(k[e>>2]|0)+12>>2];k[f>>2]=k[(k[g>>2]|0)+56>>2];c=Ng(k[(k[g>>2]|0)+72>>2]|0)|0;k[b>>2]=c;if(k[b>>2]|0){k[d>>2]=k[b>>2];g=k[d>>2]|0;r=h;return g|0}else{a=k[f>>2]|0;b=43252;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));i[(k[f>>2]|0)+16>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>8;i[(k[f>>2]|0)+17>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>16;i[(k[f>>2]|0)+18>>0]=1;i[(k[f>>2]|0)+19>>0]=1;i[(k[f>>2]|0)+20>>0]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);i[(k[f>>2]|0)+21>>0]=64;i[(k[f>>2]|0)+22>>0]=32;i[(k[f>>2]|0)+23>>0]=32;a=(k[f>>2]|0)+24|0;c=a+76|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));GK(k[g>>2]|0,13);g=(k[e>>2]|0)+22|0;j[g>>1]=m[g>>1]|0|2;ft((k[f>>2]|0)+52|0,l[(k[e>>2]|0)+17>>0]|0);ft((k[f>>2]|0)+64|0,l[(k[e>>2]|0)+18>>0]|0);k[(k[e>>2]|0)+44>>2]=1;i[(k[f>>2]|0)+31>>0]=1;k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}return 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,m=0,n=0;n=r;r=r+48|0;d=n+24|0;e=n+20|0;f=n;h=n+16|0;j=n+12|0;m=n+8|0;g=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0!=0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];m=f;m=rR(k[m>>2]|0,k[m+4>>2]|0,8)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=7;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=k[f>>2]&127|128;m=f;m=rR(k[m>>2]|0,k[m+4>>2]|0,7)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=9;a=k[d>>2]|0;r=n;return a|0}k[m>>2]=0;do{a=(k[f>>2]&127|128)&255;c=k[m>>2]|0;k[m>>2]=c+1;i[g+c>>0]=a;c=f;c=rR(k[c>>2]|0,k[c+4>>2]|0,7)|0;a=f;k[a>>2]=c;k[a+4>>2]=L;a=f}while((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0);i[g>>0]=(l[g>>0]|0)&127;k[h>>2]=0;k[j>>2]=(k[m>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=i[g+(k[j>>2]|0)>>0]|0;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];a=k[d>>2]|0;r=n;return a|0}function fM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;j[(k[m>>2]|0)+8>>1]=1;e=Dx(k[m>>2]|0,(k[h>>2]|0)+2|0)|0;k[n>>2]=e;if(e){n=k[n>>2]|0;r=o;return n|0}b=k[f>>2]|0;f=k[g>>2]|0;c=k[h>>2]|0;d=k[(k[m>>2]|0)+16>>2]|0;if(k[l>>2]|0){l=DH(b,f,c,d)|0;k[n>>2]=l}else{l=Wh(b,f,c,d)|0;k[n>>2]=l}if(!(k[n>>2]|0)){i[(k[(k[m>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[(k[m>>2]|0)+16>>2]|0)+((k[h>>2]|0)+1)>>0]=0;j[(k[m>>2]|0)+8>>1]=528;k[(k[m>>2]|0)+12>>2]=k[h>>2];n=k[n>>2]|0;r=o;return n|0}else{ch(k[m>>2]|0);n=k[n>>2]|0;r=o;return n|0}return 0}function gM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[(k[c>>2]|0)+120+(i[(k[c>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(k[(k[c>>2]|0)+16+8>>2]|0);if((m[(k[c>>2]|0)+16+16>>1]|0)>>>0<(k[e>>2]|0)>>>0)k[e>>2]=m[(k[c>>2]|0)+16+16>>1];k[k[d>>2]>>2]=k[e>>2];r=f;return k[(k[c>>2]|0)+16+8>>2]|0}function hM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=(k[c>>2]|0)+40|0;a=oF(k[(k[c>>2]|0)+16>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}if(k[e>>2]|0){e=Vj(70762)|0;k[b>>2]=e;e=k[b>>2]|0;r=f;return e|0}else{i[(k[c>>2]|0)+3>>0]=0;k[(k[c>>2]|0)+56>>2]=0;k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}return 0}function iM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if((k[(k[d>>2]|0)+12>>2]|0)>(k[(k[e>>2]|0)+12>>2]|0))a=k[(k[e>>2]|0)+12>>2]|0;else a=k[(k[d>>2]|0)+12>>2]|0;b=FQ(k[(k[d>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+16>>2]|0,a)|0;k[f>>2]=b;if(k[f>>2]|0){k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=(k[(k[d>>2]|0)+12>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0);f=k[c>>2]|0;r=g;return f|0}return 0}function jM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(Uy(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=0;a=j[b>>1]|0;r=d;return a|0}if(!(Ri(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=4;a=j[b>>1]|0;r=d;return a|0}else{j[b>>1]=8;a=j[b>>1]|0;r=d;return a|0}return 0}function kM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Ex(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}else{i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function lM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;ph(k[b>>2]|0);j[(k[b>>2]|0)+8>>1]=4;r=c;return k[b>>2]|0}function mM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(k[(k[c>>2]|0)+176>>2]|0){k[b>>2]=k[(k[c>>2]|0)+176>>2];while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+4>>2]|0))break;k[b>>2]=k[a+4>>2]}$H(a)|0;k[(k[c>>2]|0)+176>>2]=0;k[(k[c>>2]|0)+184>>2]=0}uM(k[c>>2]|0);if(k[(k[c>>2]|0)+8>>2]|0)yC((k[(k[c>>2]|0)+8>>2]|0)+40|0,k[(k[c>>2]|0)+28>>2]|0);while(1){a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+180>>2]|0))break;k[d>>2]=k[a+180>>2];k[(k[c>>2]|0)+180>>2]=k[(k[d>>2]|0)+4>>2];vM(k[d>>2]|0)}if(!(k[a+204>>2]|0)){r=e;return}lI(k[c>>2]|0,-1,0);r=e;return}function nM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=r;r=r+144|0;z=G+32|0;B=G+24|0;A=G+16|0;y=G+8|0;c=G+128|0;d=G+124|0;H=G+120|0;e=G+116|0;h=G+112|0;v=G+108|0;j=G+104|0;m=G+100|0;n=G+96|0;o=G+92|0;u=G+88|0;i=G+84|0;E=G+80|0;D=G+76|0;t=G+72|0;l=G;w=G+68|0;x=G+64|0;g=G+60|0;f=G+56|0;p=G+52|0;C=G+48|0;q=G+44|0;s=G+40|0;k[d>>2]=a;k[H>>2]=b;k[h>>2]=0;k[v>>2]=0;k[j>>2]=0;b=oM(k[d>>2]|0,k[H>>2]|0)|0;k[v>>2]=b;k[e>>2]=0;while(1){if(k[v>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[m>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(li(k[m>>2]|0)|0){k[j>>2]=1;if((k[e>>2]|0)!=1)k[h>>2]=(k[h>>2]|0)+1;ug(k[m>>2]|0);H=Bt(Yf(k[m>>2]|0)|0)|0;k[v>>2]=H}k[e>>2]=(k[e>>2]|0)+1}if(k[v>>2]|0){k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}if(((k[j>>2]|0)!=0?(k[(k[d>>2]|0)+196>>2]|0)!=0:0)?(H=bc[k[(k[d>>2]|0)+196>>2]&255](k[(k[d>>2]|0)+192>>2]|0)|0,k[v>>2]=H,(k[v>>2]|0)!=0):0){k[c>>2]=531;H=k[c>>2]|0;r=G;return H|0}H=0==(Sf(Ni(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(H|(k[h>>2]|0)<=1){k[e>>2]=0;while(1){if(k[v>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[n>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[n>>2]|0){H=Ug(k[n>>2]|0,0)|0;k[v>>2]=H}k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if(k[v>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[o>>2]|0){H=Tg(k[o>>2]|0,0)|0;k[v>>2]=H}k[e>>2]=(k[e>>2]|0)+1}if(!(k[v>>2]|0))pM(k[d>>2]|0)|0}else{k[u>>2]=k[k[d>>2]>>2];k[i>>2]=0;k[E>>2]=0;H=Ni(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[D>>2]=H;k[t>>2]=0;H=l;k[H>>2]=0;k[H+4>>2]=0;k[x>>2]=0;H=Sf(k[D>>2]|0)|0;k[g>>2]=H;H=k[d>>2]|0;k[y>>2]=k[D>>2];H=Lh(H,43268,y)|0;k[E>>2]=H;if(!(k[E>>2]|0)){k[c>>2]=7;H=k[c>>2]|0;r=G;return H|0}do{if(k[x>>2]|0){if((k[x>>2]|0)>100){F=34;break}if((k[x>>2]|0)==1){k[B>>2]=k[E>>2];$d(13,43298,B)}}k[x>>2]=(k[x>>2]|0)+1;ae(4,f);H=(k[E>>2]|0)+(k[g>>2]|0)|0;D=k[f>>2]&255;k[z>>2]=(k[f>>2]|0)>>>8&16777215;k[z+4>>2]=D;_d(13,H,43313,z)|0;H=Xr(k[u>>2]|0,k[E>>2]|0,0,w)|0;k[v>>2]=H}while((k[v>>2]|0)==0?(k[w>>2]|0)!=0:0);if((F|0)==34){k[A>>2]=k[E>>2];$d(13,43284,A);Ar(k[u>>2]|0,k[E>>2]|0,0)|0}if(!(k[v>>2]|0)){H=bL(k[u>>2]|0,k[E>>2]|0,t,16406,0)|0;k[v>>2]=H}if(k[v>>2]|0){ag(k[d>>2]|0,k[E>>2]|0);k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[p>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if((li(k[p>>2]|0)|0)!=0?(H=qM(k[p>>2]|0)|0,k[C>>2]=H,(k[C>>2]|0)!=0):0){if((k[i>>2]|0)==0?(rM(k[p>>2]|0)|0)==0:0)k[i>>2]=1;A=k[t>>2]|0;B=k[C>>2]|0;H=(Sf(k[C>>2]|0)|0)+1|0;D=l;D=Pg(A,B,H,k[D>>2]|0,k[D+4>>2]|0)|0;k[v>>2]=D;D=(Sf(k[C>>2]|0)|0)+1|0;H=l;D=qR(k[H>>2]|0,k[H+4>>2]|0,D|0,((D|0)<0)<<31>>31|0)|0;H=l;k[H>>2]=D;k[H+4>>2]=L;if(k[v>>2]|0){F=50;break}}k[e>>2]=(k[e>>2]|0)+1}if((F|0)==50){zK(k[t>>2]|0)|0;Ar(k[u>>2]|0,k[E>>2]|0,0)|0;ag(k[d>>2]|0,k[E>>2]|0);k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}if(((k[i>>2]|0)!=0?0==((as(k[t>>2]|0)|0)&1024|0):0)?(H=yr(k[t>>2]|0,2)|0,k[v>>2]=H,0!=(H|0)):0){zK(k[t>>2]|0)|0;Ar(k[u>>2]|0,k[E>>2]|0,0)|0;ag(k[d>>2]|0,k[E>>2]|0);k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}k[e>>2]=0;while(1){if(k[v>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[q>>2]|0){H=Ug(k[q>>2]|0,k[E>>2]|0)|0;k[v>>2]=H}k[e>>2]=(k[e>>2]|0)+1}zK(k[t>>2]|0)|0;if(k[v>>2]|0){ag(k[d>>2]|0,k[E>>2]|0);k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}H=Ar(k[u>>2]|0,k[E>>2]|0,k[i>>2]|0)|0;k[v>>2]=H;ag(k[d>>2]|0,k[E>>2]|0);k[E>>2]=0;if(k[v>>2]|0){k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}ak();k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[s>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[s>>2]|0)Tg(k[s>>2]|0,1)|0;k[e>>2]=(k[e>>2]|0)+1}bk();pM(k[d>>2]|0)|0}k[c>>2]=k[v>>2];H=k[c>>2]|0;r=G;return H|0}function oM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;g=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;f=j+4|0;e=j;k[g>>2]=a;k[c>>2]=b;k[i>>2]=0;k[h>>2]=k[(k[g>>2]|0)+332>>2];k[(k[g>>2]|0)+332>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[g>>2]|0)+308>>2]|0)){c=8;break}k[e>>2]=k[(k[(k[h>>2]|0)+(k[d>>2]<<2)>>2]|0)+8>>2];if((k[e>>2]|0)!=0?(b=k[(k[k[e>>2]>>2]|0)+60>>2]|0,k[f>>2]=b,(b|0)!=0):0){b=bc[k[f>>2]&255](k[e>>2]|0)|0;k[i>>2]=b;QI(k[c>>2]|0,k[e>>2]|0)}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){k[(k[g>>2]|0)+332>>2]=k[h>>2];r=j;return k[i>>2]|0}return 0}function pM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;qu(k[c>>2]|0,64);r=b;return 0}function qM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=tM(k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;r=b;return a|0}function rM(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+4>>2];ug(k[e>>2]|0);a=sM(k[k[d>>2]>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function sM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+7>>0]|0|0}function tM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+180>>2]|0}function uM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+36>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+56>>2]|0)+(k[c>>2]<<2)>>2];if(k[d>>2]|0){II(k[b>>2]|0,k[d>>2]|0);k[(k[(k[b>>2]|0)+56>>2]|0)+(k[c>>2]<<2)>>2]=0}k[c>>2]=(k[c>>2]|0)+1}r=e;return}function vM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=(k[b>>2]|0)+80;k[d>>2]=(k[c>>2]|0)+((k[(k[b>>2]|0)+60>>2]|0)*40|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[b>>2]|0)+64>>2]|0))break;II(k[k[b>>2]>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}yC(k[c>>2]|0,k[(k[b>>2]|0)+60>>2]|0);ag(k[k[k[b>>2]>>2]>>2]|0,k[b>>2]|0);r=f;return}function wM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[6424+(k[b>>2]<<2)>>2]|0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=r;r=r+192|0;y=L+88|0;x=L+80|0;w=L+72|0;I=L+64|0;H=L+56|0;v=L+48|0;u=L+40|0;t=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;s=L;d=L+176|0;e=L+172|0;M=L+168|0;K=L+164|0;J=L+136|0;B=L+132|0;D=L+128|0;C=L+124|0;F=L+120|0;n=L+116|0;o=L+112|0;G=L+108|0;q=L+104|0;g=L+100|0;f=L+96|0;h=L+92|0;k[d>>2]=a;k[e>>2]=b;k[M>>2]=c;k[K>>2]=k[e>>2];mg(J,0,k[e>>2]|0,k[M>>2]|0,0);a:do switch(i[(k[d>>2]|0)+1>>0]|0){case -6:{k[D>>2]=k[(k[d>>2]|0)+16>>2];k[s>>2]=m[(k[D>>2]|0)+6>>1];jA(J,43365,s);k[B>>2]=0;while(1){if((k[B>>2]|0)>=(m[(k[D>>2]|0)+6>>1]|0))break;k[C>>2]=k[(k[D>>2]|0)+20+(k[B>>2]<<2)>>2];if(k[C>>2]|0)d=k[k[C>>2]>>2]|0;else d=19266;k[F>>2]=d;M=(IQ(k[F>>2]|0,35690)|0)==0;k[F>>2]=M?43370:d;M=k[F>>2]|0;k[E>>2]=(l[(k[(k[D>>2]|0)+16>>2]|0)+(k[B>>2]|0)>>0]|0)!=0?29135:19266;k[E+4>>2]=M;jA(J,43372,E);k[B>>2]=(k[B>>2]|0)+1}kA(J,35518,1);break}case -4:{k[n>>2]=k[(k[d>>2]|0)+16>>2];k[z>>2]=k[k[n>>2]>>2];jA(J,43378,z);break}case -5:{k[o>>2]=k[(k[d>>2]|0)+16>>2];M=j[k[o>>2]>>1]|0;k[A>>2]=k[(k[o>>2]|0)+20>>2];k[A+4>>2]=M;jA(J,43386,A);break}case -13:{H=k[(k[d>>2]|0)+16>>2]|0;I=k[H+4>>2]|0;M=t;k[M>>2]=k[H>>2];k[M+4>>2]=I;jA(J,29137,t);break}case -14:{k[u>>2]=k[(k[d>>2]|0)+16>>2];jA(J,43393,u);break}case -12:{p[v>>3]=+p[k[(k[d>>2]|0)+16>>2]>>3];jA(J,43396,v);break}case -8:{k[G>>2]=k[(k[d>>2]|0)+16>>2];d=k[G>>2]|0;if(m[(k[G>>2]|0)+8>>1]&2){k[K>>2]=k[d+16>>2];break a}e=k[G>>2]|0;if(m[d+8>>1]&4){G=e;I=k[G+4>>2]|0;M=H;k[M>>2]=k[G>>2];k[M+4>>2]=I;jA(J,29137,H);break a}d=k[G>>2]|0;if(m[e+8>>1]&8){p[I>>3]=+p[d>>3];jA(J,43396,I);break a}if(m[d+8>>1]&1){k[K>>2]=40498;break a}else{k[K>>2]=43402;break a}}case -10:{k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2];k[w>>2]=k[q>>2];jA(J,43409,w);break}case -15:{k[f>>2]=k[(k[d>>2]|0)+16>>2];k[h>>2]=k[k[f>>2]>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[x>>2]=k[(k[f>>2]|0)+(k[g>>2]<<2)>>2];jA(J,43417,x);k[g>>2]=(k[g>>2]|0)+1}i[k[e>>2]>>0]=91;kA(J,43421,1);break}case -18:{jA(J,43423,y);break}case -19:{i[k[e>>2]>>0]=0;break}default:{k[K>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[K>>2]|0)){k[K>>2]=k[e>>2];i[k[e>>2]>>0]=0}}}while(0);og(J)|0;r=L;return k[K>>2]|0}function yM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;ph(k[e>>2]|0);b=f;c=k[b+4>>2]|0;a=k[e>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;j[(k[e>>2]|0)+8>>1]=4;r=d;return}function zM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+4|0;f=g;e=g+10|0;c=g+9|0;d=g+8|0;k[b>>2]=a;k[f>>2]=0;i[e>>0]=0;if((k[(k[b>>2]|0)+12>>2]|0)>1){i[c>>0]=i[k[(k[b>>2]|0)+16>>2]>>0]|0;i[d>>0]=i[(k[(k[b>>2]|0)+16>>2]|0)+1>>0]|0;if((l[c>>0]|0)==254?(l[d>>0]|0)==255:0)i[e>>0]=3;if((l[c>>0]|0)==255?(l[d>>0]|0)==254:0)i[e>>0]=2}if(!(i[e>>0]|0)){f=k[f>>2]|0;r=g;return f|0}a=ih(k[b>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)-2;tR(k[(k[b>>2]|0)+16>>2]|0,(k[(k[b>>2]|0)+16>>2]|0)+2|0,k[(k[b>>2]|0)+12>>2]|0)|0;i[(k[(k[b>>2]|0)+16>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[b>>2]|0)+16>>2]|0)+((k[(k[b>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[b>>2]|0)+8|0;j[a>>1]=m[a>>1]|512;i[(k[b>>2]|0)+10>>0]=i[e>>0]|0;f=k[f>>2]|0;r=g;return f|0}function AM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+4|0;k[c>>2]=a;i[e>>0]=b;if(!(BM(k[c>>2]|0,i[e>>0]|0)|0)){e=0;r=d;return e|0}e=k[(k[c>>2]|0)+12>>2]|0;r=d;return e|0}function BM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&18){a=b+8|0;j[a>>1]=m[a>>1]|0|2;if((m[(k[d>>2]|0)+8>>1]|0)&16384)dh(k[d>>2]|0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)!=((l[e>>0]|0)&-9|0))hu(k[d>>2]|0,(l[e>>0]|0)&-9)|0;if((((l[e>>0]|0)&8|0)!=0?1==(1&k[(k[d>>2]|0)+16>>2]|0):0)?(ih(k[d>>2]|0)|0)!=0:0){k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}gI(k[d>>2]|0)|0}else Cx(b,i[e>>0]|0,0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)==((l[e>>0]|0)&-9|0)){k[c>>2]=k[(k[d>>2]|0)+16>>2];e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function CM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+8>>1]|0)&9312)NF(k[b>>2]|0);if(!(k[(k[b>>2]|0)+24>>2]|0)){a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}ag(k[(k[b>>2]|0)+32>>2]|0,k[(k[b>>2]|0)+20>>2]|0);k[(k[b>>2]|0)+24>>2]=0;a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}function DM(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];ag(k[d>>2]|0,k[(k[c>>2]|0)+44>>2]|0);k[(k[c>>2]|0)+44>>2]=0;k[(k[c>>2]|0)+20>>2]=0;r=b;return}function EM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;vi(k[c>>2]|0);tg(k[c>>2]|0,7);r=b;return 7}function FM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;uj(k[(k[c>>2]|0)+60>>2]|0);k[(k[c>>2]|0)+60>>2]=0;r=b;return}function GM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];k[e>>2]=k[k[b>>2]>>2];i[(k[c>>2]|0)+19>>0]=0;if((l[(k[b>>2]|0)+8>>0]|0|0)>0?(k[(k[e>>2]|0)+152>>2]|0)>1:0){HM(k[b>>2]|0);i[(k[b>>2]|0)+8>>0]=1;r=d;return}if((l[(k[b>>2]|0)+8>>0]|0|0)!=0?(IM(k[b>>2]|0),e=(k[c>>2]|0)+40|0,k[e>>2]=(k[e>>2]|0)+-1,0==(k[(k[c>>2]|0)+40>>2]|0)):0)i[(k[c>>2]|0)+20>>0]=0;i[(k[b>>2]|0)+8>>0]=0;BB(k[c>>2]|0);r=d;return}function HM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+4>>2];if((k[(k[b>>2]|0)+76>>2]|0)!=(k[e>>2]|0)){r=d;return}k[(k[b>>2]|0)+76>>2]=0;e=(k[b>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;k[c>>2]=k[(k[b>>2]|0)+72>>2];while(1){if(!(k[c>>2]|0))break;i[(k[c>>2]|0)+8>>0]=1;k[c>>2]=k[(k[c>>2]|0)+12>>2]}r=d;return}function IM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[c>>2]=(k[e>>2]|0)+72;while(1){if(!(k[k[c>>2]>>2]|0))break;k[b>>2]=k[k[c>>2]>>2];a=(k[b>>2]|0)+12|0;if((k[k[b>>2]>>2]|0)!=(k[d>>2]|0)){k[c>>2]=a;continue}k[k[c>>2]>>2]=k[a>>2];if((k[(k[b>>2]|0)+4>>2]|0)==1)continue;Ud(k[b>>2]|0)}a=k[e>>2]|0;if((k[(k[e>>2]|0)+76>>2]|0)==(k[d>>2]|0)){k[a+76>>2]=0;e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;r=f;return}if((k[a+40>>2]|0)!=2){r=f;return}e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-65;r=f;return}function JM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;j=l+20|0;h=l+16|0;e=l+12|0;f=l+8|0;d=l+4|0;g=l;k[c>>2]=a;k[j>>2]=0;k[h>>2]=k[k[c>>2]>>2];BJ(k[c>>2]|0);do if(!(i[(k[c>>2]|0)+18>>0]|0)){a=jF(k[c>>2]|0)|0;k[g>>2]=a;a=vF(k[c>>2]|0,k[g>>2]|0)|0;if((a|0)!=(k[g>>2]|0)?(k[g>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[c>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=jr((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=a;a=AJ(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>>>0>(k[g>>2]|0)>>>0){j=Vj(59231)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}if((k[e>>2]|0)>>>0<(k[g>>2]|0)>>>0){a=xH(k[c>>2]|0,0,0)|0;k[j>>2]=a}k[d>>2]=k[g>>2];while(1){if(!((k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0?(k[j>>2]|0)==0:0))break;a=CJ(k[c>>2]|0,k[e>>2]|0,k[d>>2]|0,1)|0;k[j>>2]=a;k[d>>2]=(k[d>>2]|0)+-1}if(((k[j>>2]|0)==101|(k[j>>2]|0)==0)&(k[f>>2]|0)>>>0>0){a=Ng(k[(k[(k[c>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[j>>2]=a;ft((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);ft((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);ft((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[e>>2]|0);i[(k[c>>2]|0)+19>>0]=1;k[(k[c>>2]|0)+44>>2]=k[e>>2]}if(!(k[j>>2]|0))break;tr(k[h>>2]|0)|0;break}j=Vj(59226)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}while(0);k[b>>2]=k[j>>2];j=k[b>>2]|0;r=l;return j|0}function KM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(k[(k[c>>2]|0)+44>>2]|0){k[b>>2]=k[a+44>>2];d=k[b>>2]|0;r=e;return d|0}if(((l[a+17>>0]|0|0)==2?(l[(k[c>>2]|0)+4>>0]|0|0)!=0:0)?(l[(k[c>>2]|0)+5>>0]|0|0)==1:0){i[(k[c>>2]|0)+17>>0]=1;k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;a=ur(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,1)|0;k[d>>2]=a;d=pr(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function LM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;e=f+4|0;d=f;k[c>>2]=a;k[f+8>>2]=b;k[e>>2]=0;if(i[(k[c>>2]|0)+19>>0]|0){e=k[e>>2]|0;r=f;return e|0}if((k[(k[c>>2]|0)+28>>2]|0)>>>0<=0){e=k[e>>2]|0;r=f;return e|0}a=Cg(k[c>>2]|0,1,d,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Ng(k[d>>2]|0)|0;k[e>>2]=a}if(!(k[e>>2]|0)){At(k[d>>2]|0);i[(k[c>>2]|0)+19>>0]=1}Fg(k[d>>2]|0);e=k[e>>2]|0;r=f;return e|0}function MM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;e=n+28|0;m=n+24|0;j=n+20|0;g=n+8|0;h=n;f=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(((k[e>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0)?(k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0:0){i[(k[d>>2]|0)+20>>0]=1;k[j>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[f>>2]=(k[f>>2]|0)+(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0);k[j>>2]=(k[j>>2]|0)+1}if(i[(k[d>>2]|0)+8>>0]|0){a=ps(k[d>>2]|0)|0;b=(k[d>>2]|0)+80|0;k[b>>2]=a;k[b+4>>2]=L}o=(k[d>>2]|0)+80|0;a=k[o+4>>2]|0;b=g;k[b>>2]=k[o>>2];k[b+4>>2]=a;b=g;b=Qt(k[(k[d>>2]|0)+68>>2]|0,k[b>>2]|0,k[b+4>>2]|0,((k[381]|0)/(k[(k[d>>2]|0)+160>>2]|0)|0)+1|0)|0;k[m>>2]=b;if((((0==(b|0)?(p=k[(k[d>>2]|0)+68>>2]|0,a=k[e>>2]|0,b=k[j>>2]|0,o=g,o=qR(k[o>>2]|0,k[o+4>>2]|0,4,0)|0,o=Pg(p,a,b,o,L)|0,k[m>>2]=o,0==(o|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=qR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=qR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=Qt(o,p,L,k[j>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=qR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=qR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=qR(p|0,L|0,4,0)|0,p=Qt(o,p,L,k[f>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=qR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=qR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=qR(p|0,L|0,8,0)|0,p=Pg(o,26758,8,p,L)|0,k[m>>2]=p,0==(p|0)):0){o=(k[j>>2]|0)+20|0;p=(k[d>>2]|0)+80|0;b=p;o=qR(k[b>>2]|0,k[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;k[p>>2]=o;k[p+4>>2]=L;p=aj(k[(k[d>>2]|0)+68>>2]|0,h)|0;k[m>>2]=p;if(0==(p|0)?(o=h,a=k[o+4>>2]|0,p=(k[d>>2]|0)+80|0,b=k[p+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0:0)):0){p=(k[d>>2]|0)+80|0;p=xr(k[(k[d>>2]|0)+68>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[m>>2]=p}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=0;p=k[c>>2]|0;r=n;return p|0} -function NM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;b=u+44|0;s=u+40|0;e=u+36|0;q=u+32|0;d=u+28|0;c=u+24|0;g=u+20|0;o=u+16|0;f=u+12|0;p=u+8|0;h=u+4|0;n=u;k[b>>2]=a;k[s>>2]=0;k[d>>2]=0;k[g>>2]=0;k[o>>2]=k[(k[b>>2]|0)+16>>2];k[f>>2]=((k[(k[o>>2]|0)+156>>2]|0)>>>0)/((k[(k[o>>2]|0)+160>>2]|0)>>>0)|0;a=(k[o>>2]|0)+21|0;i[a>>0]=l[a>>0]|0|4;k[q>>2]=((k[(k[b>>2]|0)+20>>2]|0)-1&~((k[f>>2]|0)-1))+1;k[e>>2]=k[(k[o>>2]|0)+28>>2];do if((k[(k[b>>2]|0)+20>>2]|0)>>>0<=(k[e>>2]|0)>>>0)if(((k[q>>2]|0)+(k[f>>2]|0)-1|0)>>>0>(k[e>>2]|0)>>>0){k[d>>2]=(k[e>>2]|0)+1-(k[q>>2]|0);break}else{k[d>>2]=k[f>>2];break}else k[d>>2]=(k[(k[b>>2]|0)+20>>2]|0)-(k[q>>2]|0)+1;while(0);k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[d>>2]|0)?(k[s>>2]|0)==0:0))break;k[p>>2]=(k[q>>2]|0)+(k[c>>2]|0);if((k[p>>2]|0)!=(k[(k[b>>2]|0)+20>>2]|0)?(sj(k[(k[o>>2]|0)+60>>2]|0,k[p>>2]|0)|0)!=0:0){a=hs(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=a;if(a){if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Js(k[h>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(k[p>>2]|0)!=(((k[381]|0)/(k[(k[o>>2]|0)+160>>2]|0)|0)+1|0)):0)?(a=Cg(k[o>>2]|0,k[p>>2]|0,h,0)|0,k[s>>2]=a,(k[s>>2]|0)==0):0){a=OM(k[h>>2]|0)|0;k[s>>2]=a;if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Js(k[h>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}if(!((k[s>>2]|0)==0&(k[g>>2]|0)!=0)){t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[d>>2]|0))break;t=hs(k[o>>2]|0,(k[q>>2]|0)+(k[c>>2]|0)|0)|0;k[n>>2]=t;if(k[n>>2]|0){t=(k[n>>2]|0)+24|0;j[t>>1]=m[t>>1]|0|8;Js(k[n>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}function OM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];k[e>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0|0)==2?(a=PM(k[d>>2]|0)|0,k[e>>2]=a,(k[e>>2]|0)!=0):0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}js(k[c>>2]|0);do if((k[(k[d>>2]|0)+60>>2]|0)!=0?(vj(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0)==0:0){if((k[(k[c>>2]|0)+20>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){if((l[(k[d>>2]|0)+17>>0]|0|0)==4)break;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;break}a=QM(k[c>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|4;if((k[(k[d>>2]|0)+104>>2]|0)>0){a=vt(k[c>>2]|0)|0;k[e>>2]=a}if((k[(k[d>>2]|0)+28>>2]|0)>>>0<(k[(k[c>>2]|0)+20>>2]|0)>>>0)k[(k[d>>2]|0)+28>>2]=k[(k[c>>2]|0)+20>>2];k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function PM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g+8|0;c=g+4|0;b=g;k[e>>2]=a;k[f>>2]=0;k[c>>2]=k[k[e>>2]>>2];a=k[e>>2]|0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[a+44>>2];f=k[d>>2]|0;r=g;return f|0}if((Cr(a)|0)==0?(l[(k[e>>2]|0)+5>>0]|0|0)!=2:0){a=pj(k[(k[e>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+60>>2]=a;if(!(k[(k[e>>2]|0)+60>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}do if(!(k[k[(k[e>>2]|0)+68>>2]>>2]|0)){a=k[e>>2]|0;if((l[(k[e>>2]|0)+5>>0]|0|0)==4){Sr(k[a+68>>2]|0);break}k[b>>2]=6|((l[a+13>>0]|0|0)!=0?4104:2048);a=RM(k[e>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){c=ds(k[c>>2]|0,k[(k[e>>2]|0)+180>>2]|0,k[(k[e>>2]|0)+68>>2]|0,k[b>>2]|0,0)|0;k[f>>2]=c}}while(0);if(!(k[f>>2]|0)){k[(k[e>>2]|0)+48>>2]=0;c=(k[e>>2]|0)+80|0;k[c>>2]=0;k[c+4>>2]=0;i[(k[e>>2]|0)+20>>0]=0;c=(k[e>>2]|0)+88|0;k[c>>2]=0;k[c+4>>2]=0;c=Ct(k[e>>2]|0)|0;k[f>>2]=c}}a=k[e>>2]|0;if(k[f>>2]|0){uj(k[a+60>>2]|0);k[(k[e>>2]|0)+60>>2]=0}else i[a+17>>0]=3;k[d>>2]=k[f>>2];f=k[d>>2]|0;r=g;return f|0}function QM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=r;r=r+32|0;b=i+28|0;c=i+24|0;g=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i;k[c>>2]=a;k[g>>2]=k[(k[c>>2]|0)+16>>2];n=(k[g>>2]|0)+80|0;l=k[n+4>>2]|0;a=e;k[a>>2]=k[n>>2];k[a+4>>2]=l;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=gs(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;a=e;a=Qt(k[(k[g>>2]|0)+68>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];n=k[b>>2]|0;r=i;return n|0}o=k[(k[g>>2]|0)+68>>2]|0;a=k[f>>2]|0;l=k[(k[g>>2]|0)+160>>2]|0;n=e;n=qR(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;n=Pg(o,a,l,n,L)|0;k[h>>2]=n;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}n=k[(k[g>>2]|0)+68>>2]|0;l=e;o=k[(k[g>>2]|0)+160>>2]|0;o=qR(k[l>>2]|0,k[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=qR(o|0,L|0,4,0)|0;o=Qt(n,o,L,k[d>>2]|0)|0;k[h>>2]=o;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}else{n=8+(k[(k[g>>2]|0)+160>>2]|0)|0;o=(k[g>>2]|0)+80|0;l=o;n=qR(k[l>>2]|0,k[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=(k[g>>2]|0)+48|0;k[o>>2]=(k[o>>2]|0)+1;o=qj(k[(k[g>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=o;o=Rt(k[g>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=k[h>>2]|o;k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}return 0}function RM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=0;if(i[(k[c>>2]|0)+13>>0]|0){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}if(!(k[(k[c>>2]|0)+28>>2]|0)){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}a=Fi(k[(k[c>>2]|0)+64>>2]|0,20,d)|0;k[e>>2]=a;if((k[e>>2]|0)!=12){if((k[e>>2]|0)==0&(k[d>>2]|0)!=0)k[e>>2]=1032}else k[e>>2]=0;k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function SM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=k[f>>2]|0;do if(k[(k[f>>2]|0)+144>>2]|0){d=k[c+144>>2]|0;k[l>>2]=d;k[k[i>>2]>>2]=d;k[(k[f>>2]|0)+144>>2]=k[(k[l>>2]|0)+12>>2];k[(k[l>>2]|0)+12>>2]=0;uR(k[(k[l>>2]|0)+8>>2]|0,0,m[(k[f>>2]|0)+148>>1]|0|0)|0}else{d=sg(40+(m[c+148>>1]|0)|0,0)|0;k[l>>2]=d;k[k[i>>2]>>2]=d;if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=(k[l>>2]|0)+40;j[(k[l>>2]|0)+24>>1]=64;j[(k[l>>2]|0)+26>>1]=1;k[(k[l>>2]|0)+16>>2]=k[f>>2];break}i=k[(k[f>>2]|0)+64>>2]|0;l=k[(k[f>>2]|0)+160>>2]|0;l=BR((k[g>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;Ms(i,l,L,k[h>>2]|0)|0;k[e>>2]=7;l=k[e>>2]|0;r=n;return l|0}while(0);k[(k[l>>2]|0)+20>>2]=k[g>>2];k[(k[l>>2]|0)+4>>2]=k[h>>2];l=(k[f>>2]|0)+128|0;k[l>>2]=(k[l>>2]|0)+1;k[e>>2]=0;l=k[e>>2]|0;r=n;return l|0}function TM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[e>>2]|0)+33>>0]|0)==2){k[d>>2]=0;i=k[d>>2]|0;r=n;return i|0}c=UM(k[e>>2]|0)|0;if((c|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[(k[h>>2]|0)+26>>1]|0)==0?(m[(k[h>>2]|0)+24>>1]&8|0)==0:0)break;k[h>>2]=k[(k[h>>2]|0)+36>>2]}k[(k[e>>2]|0)+8>>2]=k[h>>2];a:do if(!(k[h>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+4>>2];while(1){if(!(k[h>>2]|0))break a;if(!(j[(k[h>>2]|0)+26>>1]|0))break a;k[h>>2]=k[(k[h>>2]|0)+36>>2]}}while(0);if((k[h>>2]|0)!=0?(c=gc[k[(k[e>>2]|0)+36>>2]&255](k[(k[e>>2]|0)+40>>2]|0,k[h>>2]|0)|0,k[i>>2]=c,(k[i>>2]|0)!=0&(k[i>>2]|0)!=5):0){k[d>>2]=k[i>>2];i=k[d>>2]|0;r=n;return i|0}}i=Yb[k[140>>2]&255](k[(k[e>>2]|0)+44>>2]|0,k[f>>2]|0,2)|0;k[k[g>>2]>>2]=i;k[d>>2]=(k[k[g>>2]>>2]|0)==0?7:0;i=k[d>>2]|0;r=n;return i|0}function UM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[136>>2]&255](k[(k[c>>2]|0)+44>>2]|0)|0;r=b;return a|0}function VM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+108>>2]|0}function WM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+40|0;n=q+36|0;f=q+32|0;p=q+28|0;o=q+24|0;c=q+20|0;e=q+12|0;g=q+8|0;d=q+4|0;b=q;k[n>>2]=a;k[c>>2]=0;a=VJ(k[k[n>>2]>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=xF(k[n>>2]|0,1,p,0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=jr((k[(k[p>>2]|0)+56>>2]|0)+28|0)|0;k[q+16>>2]=a;k[o>>2]=a;Mg(k[k[n>>2]>>2]|0,c);if(!((k[o>>2]|0)!=0?(FQ((k[(k[p>>2]|0)+56>>2]|0)+24|0,(k[(k[p>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))k[o>>2]=k[c>>2];a:do if((k[o>>2]|0)>0){k[d>>2]=k[(k[p>>2]|0)+56>>2];k[f>>2]=26;b:do if(!(FQ(k[d>>2]|0,43252,16)|0)){if((l[(k[d>>2]|0)+18>>0]|0|0)>2){a=(k[n>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|1}if((l[(k[d>>2]|0)+19>>0]|0|0)<=2){do if((l[(k[d>>2]|0)+19>>0]|0|0)==2?((m[(k[n>>2]|0)+22>>1]|0)&16|0)==0:0){k[b>>2]=0;a=$J(k[k[n>>2]>>2]|0,b)|0;k[f>>2]=a;if(k[f>>2]|0)break b;if(k[b>>2]|0){k[f>>2]=26;break}AB(k[p>>2]|0);k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}while(0);if((FQ((k[d>>2]|0)+21|0,45492,3)|0)==0?(k[e>>2]=(l[(k[d>>2]|0)+16>>0]|0)<<8|(l[(k[d>>2]|0)+17>>0]|0)<<16,!(((k[e>>2]|0)>>>0>65536?1:((k[e>>2]|0)-1&k[e>>2]|0)!=0)|(k[e>>2]|0)>>>0<=256)):0){k[g>>2]=(k[e>>2]|0)-(l[(k[d>>2]|0)+20>>0]|0);if((k[e>>2]|0)!=(k[(k[n>>2]|0)+32>>2]|0)){AB(k[p>>2]|0);k[(k[n>>2]|0)+36>>2]=k[g>>2];k[(k[n>>2]|0)+32>>2]=k[e>>2];Zi(k[n>>2]|0);p=_i(k[k[n>>2]>>2]|0,(k[n>>2]|0)+32|0,(k[e>>2]|0)-(k[g>>2]|0)|0)|0;k[f>>2]=p;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(k[o>>2]|0)>(k[c>>2]|0):0){o=Vj(58503)|0;k[f>>2]=o;break}if((k[g>>2]|0)>>>0>=480){k[(k[n>>2]|0)+32>>2]=k[e>>2];k[(k[n>>2]|0)+36>>2]=k[g>>2];g=(jr((k[d>>2]|0)+52|0)|0)!=0;i[(k[n>>2]|0)+17>>0]=g?1:0;g=(jr((k[d>>2]|0)+64|0)|0)!=0;i[(k[n>>2]|0)+18>>0]=g?1:0;break a}}}}while(0);AB(k[p>>2]|0);k[(k[n>>2]|0)+12>>2]=0;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}while(0);j[(k[n>>2]|0)+24>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;j[(k[n>>2]|0)+26>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;j[(k[n>>2]|0)+28>>1]=(k[(k[n>>2]|0)+36>>2]|0)-35;j[(k[n>>2]|0)+30>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b=k[n>>2]|0;if((m[(k[n>>2]|0)+24>>1]|0|0)>127)i[b+21>>0]=127;else i[(k[n>>2]|0)+21>>0]=j[b+24>>1];k[(k[n>>2]|0)+12>>2]=k[p>>2];k[(k[n>>2]|0)+44>>2]=k[o>>2];k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}function XM(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;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;d=j+4|0;h=j;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[h>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];h=k[e>>2]|0;r=j;return h|0}i[(k[f>>2]|0)+22>>0]=k[d>>2];if((l[(k[f>>2]|0)+17>>0]|0|0)==1){c=(Cr(k[f>>2]|0)|0)!=0;d=k[f>>2]|0;if(!c){c=Ft(d,2)|0;k[h>>2]=c;if((k[h>>2]|0)==0&(k[g>>2]|0)!=0){g=Et(k[f>>2]|0,4)|0;k[h>>2]=g}}else{do if((l[d+4>>0]|0|0)!=0?(Fr(k[(k[f>>2]|0)+216>>2]|0,-1)|0)!=0:0){g=Ft(k[f>>2]|0,4)|0;k[h>>2]=g;if(!(k[h>>2]|0)){Fr(k[(k[f>>2]|0)+216>>2]|0,1)|0;break}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}while(0);g=YM(k[(k[f>>2]|0)+216>>2]|0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){i[(k[f>>2]|0)+17>>0]=2;k[(k[f>>2]|0)+40>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+36>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+32>>2]=k[(k[f>>2]|0)+28>>2];g=(k[f>>2]|0)+80|0;k[g>>2]=0;k[g+4>>2]=0}}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}function YM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(i[(k[c>>2]|0)+46>>0]|0){k[b>>2]=8;d=k[b>>2]|0;r=e;return d|0}a=Xs(k[c>>2]|0,0,1)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}i[(k[c>>2]|0)+44>>0]=1;a=(k[c>>2]|0)+52|0;if(FQ(a,Ds(k[c>>2]|0)|0,48)|0){Lr(k[c>>2]|0,0,1);i[(k[c>>2]|0)+44>>0]=0;k[d>>2]=517}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function ZM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;ph(k[c>>2]|0);r=b;return}function _M(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+624|0;f=H+92|0;g=H+88|0;h=H+84|0;i=H+80|0;j=H+76|0;l=H+72|0;z=H+68|0;o=H+64|0;x=H+60|0;n=H+56|0;w=H+52|0;B=H+48|0;m=H+44|0;t=H+40|0;s=H+36|0;q=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;p=H;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[z>>2]=k[i>>2];k[o>>2]=-1;k[x>>2]=0;k[n>>2]=k[j>>2]&-256;k[B>>2]=0;k[m>>2]=0;k[t>>2]=k[j>>2]&16;k[s>>2]=k[j>>2]&8;k[q>>2]=k[j>>2]&4;k[v>>2]=k[j>>2]&1;k[u>>2]=k[j>>2]&2;if(k[q>>2]|0)if((k[n>>2]|0)==16384|(k[n>>2]|0)==2048)d=1;else d=(k[n>>2]|0)==524288;else d=0;k[C>>2]=d&1;k[E>>2]=k[h>>2];b=k[1926]|0;if((b|0)!=(VQ()|0)){b=VQ()|0;k[1926]=b;ae(0,0)}d=k[z>>2]|0;c=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));d=k[E>>2]|0;do if((k[n>>2]|0)!=256){if(!d){A=PN(k[(k[g>>2]|0)+8>>2]|0,F)|0;k[B>>2]=A;if(!(k[B>>2]|0)){k[E>>2]=F;break}k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}}else{F=eO(d,k[j>>2]|0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){F=Td(12,0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=H;return G|0}}else k[o>>2]=k[k[A>>2]>>2];k[(k[z>>2]|0)+28>>2]=k[A>>2]}while(0);if(k[v>>2]|0)k[x>>2]=k[x>>2];if(k[u>>2]|0)k[x>>2]=k[x>>2]|2;if(k[q>>2]|0)k[x>>2]=k[x>>2]|64;if(k[t>>2]|0)k[x>>2]=k[x>>2]|131200;k[x>>2]=k[x>>2];do if((k[o>>2]|0)<0){F=fO(k[E>>2]|0,k[j>>2]|0,y,D,p)|0;k[B>>2]=F;if(k[B>>2]|0){k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}F=LN(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F;if((k[o>>2]|0)<0?(F=aQ()|0,(k[F>>2]|0)!=21&(k[u>>2]|0)!=0):0){k[j>>2]=k[j>>2]&-7;k[x>>2]=k[x>>2]&-67;k[j>>2]=k[j>>2]|1;k[x>>2]=k[x>>2];k[v>>2]=1;F=LN(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F}if((k[o>>2]|0)<0){F=ot(33050)|0;F=HN(F,45571,k[E>>2]|0,33050)|0;k[B>>2]=F;break}if(k[j>>2]&526336){gO(k[o>>2]|0,k[D>>2]|0,k[p>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(k[l>>2]|0)k[k[l>>2]>>2]=k[j>>2];if(k[(k[z>>2]|0)+28>>2]|0){k[k[(k[z>>2]|0)+28>>2]>>2]=k[o>>2];k[(k[(k[z>>2]|0)+28>>2]|0)+4>>2]=k[j>>2]}if(k[s>>2]|0)bc[k[7464>>2]&255](k[E>>2]|0)|0;k[w>>2]=(k[n>>2]|0)!=256&1;if(k[s>>2]|0)k[m>>2]=k[m>>2]|32;if(k[v>>2]|0)k[m>>2]=k[m>>2]|2;if(k[w>>2]|0)k[m>>2]=k[m>>2]|128;if(k[C>>2]|0)k[m>>2]=k[m>>2]|8;if(k[j>>2]&64)k[m>>2]=k[m>>2]|64;G=hO(k[g>>2]|0,k[o>>2]|0,k[i>>2]|0,k[h>>2]|0,k[m>>2]|0)|0;k[B>>2]=G}if(k[B>>2]|0)Ud(k[(k[z>>2]|0)+28>>2]|0);k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}function $M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if((bc[k[7464>>2]&255](k[e>>2]|0)|0)==-1){b=aQ()|0;if((k[b>>2]|0)==2)k[h>>2]=5898;else{b=HN(2570,45668,k[e>>2]|0,33178)|0;k[h>>2]=b}k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}do if(k[f>>2]&1){b=gc[k[7476>>2]&255](k[e>>2]|0,g)|0;k[h>>2]=b;if(k[h>>2]|0){k[h>>2]=0;break}if(WN(k[g>>2]|0,0,0)|0){b=HN(1290,45902,k[e>>2]|0,33188)|0;k[h>>2]=b}GN(0,k[g>>2]|0,33190)}while(0);k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}function aN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;e=h+84|0;i=h+80|0;f=h+76|0;g=h;k[h+88>>2]=a;k[e>>2]=b;k[i>>2]=c;k[f>>2]=d;if(!(k[i>>2]|0)){i=0==(gc[k[7320>>2]&255](k[e>>2]|0,g)|0);k[k[f>>2]>>2]=(i?(k[g+36>>2]|0)>0:0)&1;r=h;return 0}else{i=(gc[k[7296>>2]&255](k[e>>2]|0,6)|0)==0&1;k[k[f>>2]>>2]=i;r=h;return 0}return 0}function bN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+128|0;s=q+112|0;e=q+108|0;f=q+104|0;o=q+100|0;l=q+96|0;m=q+92|0;n=q+88|0;p=q+84|0;g=q+80|0;h=q+4|0;j=q;k[q+116>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=d;k[o>>2]=0;k[m>>2]=1;k[n>>2]=k[s>>2];k[p>>2]=0;while(1){k[g>>2]=0;if(gc[k[7596>>2]&255](k[n>>2]|0,h)|0){s=aQ()|0;if((k[s>>2]|0)!=2){s=ot(33302)|0;s=HN(s,45756,k[n>>2]|0,33302)|0;k[o>>2]=s}}else k[g>>2]=(k[h+12>>2]&61440|0)==40960&1;if(k[g>>2]|0){if(!(k[p>>2]|0)){s=Sd(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0))k[o>>2]=7}else{s=(k[m>>2]|0)+1|0;k[m>>2]=s;if((s|0)>100){s=ot(33313)|0;k[o>>2]=s}}do if(!(k[o>>2]|0)){s=Yb[k[7584>>2]&255](k[n>>2]|0,k[p>>2]|0,(k[e>>2]|0)-1|0)|0;k[l>>2]=s;if((k[l>>2]|0)<0){s=ot(33319)|0;s=HN(s,45747,k[n>>2]|0,33319)|0;k[o>>2]=s;break}do if((i[k[p>>2]>>0]|0)!=47){s=Sf(k[n>>2]|0)|0;k[j>>2]=s;while(1){if((k[j>>2]|0)<=0)break;if((i[(k[n>>2]|0)+((k[j>>2]|0)-1)>>0]|0)==47)break;k[j>>2]=(k[j>>2]|0)+-1}if(((k[l>>2]|0)+(k[j>>2]|0)+1|0)>(k[e>>2]|0)){s=ot(33325)|0;k[o>>2]=s;break}else{tR((k[p>>2]|0)+(k[j>>2]|0)|0,k[p>>2]|0,(k[l>>2]|0)+1|0)|0;sR(k[p>>2]|0,k[n>>2]|0,k[j>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[j>>2]|0);break}}while(0);i[(k[p>>2]|0)+(k[l>>2]|0)>>0]=0}while(0);k[n>>2]=k[p>>2]}if((k[o>>2]|0)==0?(k[n>>2]|0)!=(k[f>>2]|0):0){s=dO(k[n>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[o>>2]=s}if(!(k[g>>2]|0)){e=30;break}k[n>>2]=k[f>>2];if(k[o>>2]|0){e=30;break}}if((e|0)==30){Ud(k[p>>2]|0);r=q;return k[o>>2]|0}return 0}function cN(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;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[j+20>>2]=a;k[d>>2]=b;k[e>>2]=c;uR(k[e>>2]|0,0,k[d>>2]|0)|0;c=VQ()|0;k[1926]=c;c=LN(45889,0,0)|0;k[f>>2]=c;if((k[f>>2]|0)<0){Ob(h|0)|0;c=k[e>>2]|0;i[c>>0]=i[h>>0]|0;i[c+1>>0]=i[h+1>>0]|0;i[c+2>>0]=i[h+2>>0]|0;i[c+3>>0]=i[h+3>>0]|0;c=(k[e>>2]|0)+4|0;i[c>>0]=i[7704]|0;i[c+1>>0]=i[7705]|0;i[c+2>>0]=i[7706]|0;i[c+3>>0]=i[7707]|0;k[d>>2]=8;c=k[d>>2]|0;r=j;return c|0}do{c=Yb[k[7368>>2]&255](k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)>=0)break;c=aQ()|0}while((k[c>>2]|0)==4);GN(0,k[f>>2]|0,33449);c=k[d>>2]|0;r=j;return c|0}function dN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[d+8>>2]=a;k[e>>2]=b;k[c>>2]=((k[e>>2]|0)+999999|0)/1e6|0;_Q(k[c>>2]|0)|0;r=d;return (k[c>>2]|0)*1e6|0}function eN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;f=d;c=d+8|0;k[d+16>>2]=a;k[e>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;b=gN(0,f)|0;k[c>>2]=b;b=f;p[k[e>>2]>>3]=(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5;r=d;return k[c>>2]|0}function fN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r;r=r+16|0;k[d+8>>2]=a;k[d+4>>2]=b;k[d>>2]=c;r=d;return 0}function gN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;c=d+8|0;f=d;k[d+16>>2]=a;k[e>>2]=b;k[c>>2]=0;Qb(f|0,0)|0;b=k[f>>2]|0;b=BR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=qR(1045635584,49096,b|0,L|0)|0;a=(k[f+4>>2]|0)/1e3|0;a=qR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=k[e>>2]|0;k[b>>2]=a;k[b+4>>2]=L;r=d;return k[c>>2]|0}function hN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[i+16>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=12;if(!(k[d>>2]|0)){k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28)break;if(k[7268+((k[f>>2]|0)*12|0)+8>>2]|0)k[7268+((k[f>>2]|0)*12|0)+4>>2]=k[7268+((k[f>>2]|0)*12|0)+8>>2];k[f>>2]=(k[f>>2]|0)+1}h=k[g>>2]|0;r=i;return h|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28){h=16;break}b=(IQ(k[d>>2]|0,k[7268+((k[f>>2]|0)*12|0)>>2]|0)|0)==0;c=k[f>>2]|0;if(b)break;k[f>>2]=c+1}if((h|0)==16){h=k[g>>2]|0;r=i;return h|0}if(!(k[7268+(c*12|0)+8>>2]|0))k[7268+((k[f>>2]|0)*12|0)+8>>2]=k[7268+((k[f>>2]|0)*12|0)+4>>2];k[g>>2]=0;if(!(k[e>>2]|0))k[e>>2]=k[7268+((k[f>>2]|0)*12|0)+8>>2];k[7268+((k[f>>2]|0)*12|0)+4>>2]=k[e>>2];h=k[g>>2]|0;r=i;return h|0}function iN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=0;while(1){if((k[d>>2]|0)>>>0>=28){a=6;break}a=(IQ(k[c>>2]|0,k[7268+((k[d>>2]|0)*12|0)>>2]|0)|0)==0;b=k[d>>2]|0;if(a){a=4;break}k[d>>2]=b+1}if((a|0)==4){k[e>>2]=k[7268+(b*12|0)+4>>2];e=k[e>>2]|0;r=f;return e|0}else if((a|0)==6){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function jN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=-1;a:do if(k[c>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=27)break a;if(!(IQ(k[c>>2]|0,k[7268+((k[d>>2]|0)*12|0)>>2]|0)|0))break a;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[d>>2]=(k[d>>2]|0)+1;while(1){if((k[d>>2]|0)>=28){c=11;break}a=k[d>>2]|0;if(k[7268+((k[d>>2]|0)*12|0)+4>>2]|0){c=9;break}k[d>>2]=a+1}if((c|0)==9){k[e>>2]=k[7268+(a*12|0)>>2];e=k[e>>2]|0;r=f;return e|0}else if((c|0)==11){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function kN(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7192}function lN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[c>>2];sN(k[c>>2]|0,0)|0;Ud(k[(k[d>>2]|0)+24>>2]|0);a=ZN(k[c>>2]|0)|0;r=b;return a|0}function mN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;f=l+28|0;n=l+24|0;g=l+20|0;h=l+16|0;m=l;j=l+12|0;i=l+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=m;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];b=m;b=YN(k[j>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=b;if((k[i>>2]|0)==(k[h>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=l;return n|0}if((k[i>>2]|0)<0){k[f>>2]=266;n=k[f>>2]|0;r=l;return n|0}else{UN(k[j>>2]|0,0);uR((k[g>>2]|0)+(k[i>>2]|0)|0,0,(k[h>>2]|0)-(k[i>>2]|0)|0)|0;k[f>>2]=522;n=k[f>>2]|0;r=l;return n|0}return 0}function nN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+28|0;n=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;l=m+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=i;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];k[l>>2]=0;while(1){n=i;n=SN(k[j>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[l>>2]=n;if(!((n|0)<(k[h>>2]|0)?(k[l>>2]|0)>0:0))break;k[h>>2]=(k[h>>2]|0)-(k[l>>2]|0);b=k[l>>2]|0;n=i;b=qR(k[n>>2]|0,k[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=i;k[n>>2]=b;k[n+4>>2]=L;k[g>>2]=(k[g>>2]|0)+(k[l>>2]|0)}if((k[h>>2]|0)<=(k[l>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}if((k[l>>2]|0)<0?(k[(k[j>>2]|0)+20>>2]|0)!=28:0){k[f>>2]=778;n=k[f>>2]|0;r=m;return n|0}UN(k[j>>2]|0,0);k[f>>2]=13;n=k[f>>2]|0;r=m;return n|0}function oN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=k[i>>2];if((k[(k[f>>2]|0)+40>>2]|0)>0){i=e;a=k[(k[f>>2]|0)+40>>2]|0;a=qR(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=pR(a|0,L|0,1,0)|0;i=k[(k[f>>2]|0)+40>>2]|0;i=zR(a|0,L|0,i|0,((i|0)<0)<<31>>31|0)|0;a=k[(k[f>>2]|0)+40>>2]|0;a=BR(i|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;i=e;k[i>>2]=a;k[i+4>>2]=L}i=e;i=XN(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0){g=k[f>>2]|0;i=aQ()|0;UN(g,k[i>>2]|0);i=HN(1546,45594,k[(k[f>>2]|0)+32>>2]|0,30893)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}else{k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}return 0}function pN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=r;r=r+32|0;c=g+28|0;n=g+24|0;l=g+20|0;f=g+16|0;e=g+12|0;h=g+8|0;i=g+4|0;d=g;k[n>>2]=a;k[l>>2]=b;k[e>>2]=k[n>>2];k[h>>2]=k[l>>2]&16;k[i>>2]=(k[l>>2]&15|0)==3&1;b=WN(k[(k[e>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;b=k[e>>2]|0;if(k[f>>2]|0){n=aQ()|0;UN(b,k[n>>2]|0);n=HN(1034,45878,k[(k[e>>2]|0)+32>>2]|0,30848)|0;k[c>>2]=n;n=k[c>>2]|0;r=g;return n|0}if((m[b+18>>1]|0)&8){n=gc[k[7476>>2]&255](k[(k[e>>2]|0)+32>>2]|0,d)|0;k[f>>2]=n;if(!(k[f>>2]|0)){WN(k[d>>2]|0,0,0)|0;GN(k[e>>2]|0,k[d>>2]|0,30862)}else k[f>>2]=0;n=(k[e>>2]|0)+18|0;j[n>>1]=(m[n>>1]|0)&-9}k[c>>2]=k[f>>2];n=k[c>>2]|0;r=g;return n|0}function qN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+96|0;c=g+88|0;d=g+84|0;e=g+80|0;h=g+76|0;f=g;k[d>>2]=a;k[e>>2]=b;b=gc[k[7332>>2]&255](k[(k[d>>2]|0)+12>>2]|0,f)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[d>>2]|0;h=aQ()|0;UN(b,k[h>>2]|0);k[c>>2]=1802;h=k[c>>2]|0;r=g;return h|0}b=k[f+36>>2]|0;h=k[e>>2]|0;k[h>>2]=b;k[h+4>>2]=((b|0)<0)<<31>>31;h=k[e>>2]|0;if((k[h>>2]|0)==1&(k[h+4>>2]|0)==0){h=k[e>>2]|0;k[h>>2]=0;k[h+4>>2]=0}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function rN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];k[f>>2]=0;if((l[(k[e>>2]|0)+16>>0]|0|0)>0){i[(k[e>>2]|0)+16>>0]=k[d>>2];Qa(k[h>>2]|0,0)|0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=gc[k[7488>>2]&255](k[h>>2]|0,511)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=k[d>>2];k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}m=aQ()|0;k[g>>2]=k[m>>2];if(17!=(k[g>>2]|0)){m=VN(k[g>>2]|0,3850)|0;k[f>>2]=m;if((k[f>>2]|0)!=5)UN(k[e>>2]|0,k[g>>2]|0)}else k[f>>2]=5;k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function sN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];if((l[(k[e>>2]|0)+16>>0]|0|0)==(k[d>>2]|0)){k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}if((k[d>>2]|0)==1){i[(k[e>>2]|0)+16>>0]=1;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=bc[k[7500>>2]&255](k[h>>2]|0)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=aQ()|0;k[g>>2]=k[m>>2];if((k[g>>2]|0)==2)k[f>>2]=0;else{k[f>>2]=2058;UN(k[e>>2]|0,k[g>>2]|0)}k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function tN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;h=d+16|0;e=d+12|0;c=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[c>>2]=0;k[f>>2]=0;k[g>>2]=k[h>>2];b=(gc[k[7296>>2]&255](k[(k[g>>2]|0)+24>>2]|0,0)|0)==0&1;k[f>>2]=b;k[k[e>>2]>>2]=k[f>>2];r=d;return k[c>>2]|0}function uN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+32|0;h=j;d=j+28|0;n=j+24|0;m=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[n>>2];do switch(k[m>>2]|0){case 1:{k[k[e>>2]>>2]=l[(k[f>>2]|0)+16>>0];k[d>>2]=0;break}case 4:{k[k[e>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=0;break}case 6:{k[(k[f>>2]|0)+40>>2]=k[k[e>>2]>>2];k[d>>2]=0;break}case 5:{n=k[e>>2]|0;n=NN(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[d>>2]=k[g>>2];break}case 10:{ON(k[f>>2]|0,4,k[e>>2]|0);k[d>>2]=0;break}case 13:{ON(k[f>>2]|0,16,k[e>>2]|0);k[d>>2]=0;break}case 12:{k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+16>>2];n=Yd(19255,h)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}case 16:{n=k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0;n=Td(n,((n|0)<0)<<31>>31)|0;k[i>>2]=n;if(k[i>>2]|0){PN(k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0,k[i>>2]|0)|0;k[k[e>>2]>>2]=k[i>>2]}k[d>>2]=0;break}case 20:{n=QN(k[f>>2]|0)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}default:k[d>>2]=12}while(0);r=j;return k[d>>2]|0}function vN(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 4096}function wN(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=0;if(!((m[(k[d>>2]|0)+18>>1]|0)&16)){e=k[b>>2]|0;r=c;return e|0}k[b>>2]=k[b>>2]|4096;e=k[b>>2]|0;r=c;return e|0}function xN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;v=u+32|0;e=u+28|0;f=u+24|0;g=u+20|0;o=u+16|0;n=u+12|0;q=u+8|0;p=u+4|0;s=u;l=u+40|0;h=u+38|0;i=u+36|0;k[v>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[v>>2];k[n>>2]=k[(k[o>>2]|0)+36>>2];k[p>>2]=k[k[n>>2]>>2];k[s>>2]=0;j[l>>1]=(1<<(k[e>>2]|0)+(k[f>>2]|0))-(1<>2]);if(k[g>>2]&1){j[h>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((k[q>>2]|0)!=(k[n>>2]|0))j[h>>1]=m[h>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if(!((m[l>>1]|0)&(m[h>>1]|0))){v=MN(k[o>>2]|0,2,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v}else k[s>>2]=0;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=(k[n>>2]|0)+10|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}if(!(k[g>>2]&4)){k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=28;break}if((m[(k[q>>2]|0)+10>>1]|0)&(m[l>>1]|0)){t=28;break}k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==28)k[s>>2]=5;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=MN(k[o>>2]|0,1,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}j[i>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=16;break}j[i>>1]=m[i>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==16)k[s>>2]=5;do if(!(k[s>>2]|0))if(!((m[i>>1]|0)&(m[l>>1]|0))){v=MN(k[o>>2]|0,0,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;break}else{k[s>>2]=0;break}while(0);if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+10|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}function yN(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;CN();EN();r=b;return}function zN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;f=i;k[j>>2]=a;k[d>>2]=b;k[f>>2]=k[j>>2];k[e>>2]=k[(k[f>>2]|0)+36>>2];if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}k[g>>2]=k[k[e>>2]>>2];k[h>>2]=(k[g>>2]|0)+32;while(1){if((k[k[h>>2]>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[k[h>>2]>>2]|0)+4}k[k[h>>2]>>2]=k[(k[e>>2]|0)+4>>2];Ud(k[e>>2]|0);k[(k[f>>2]|0)+36>>2]=0;CN();j=(k[g>>2]|0)+28|0;k[j>>2]=(k[j>>2]|0)+-1;if(!(k[(k[g>>2]|0)+28>>2]|0)){if((k[d>>2]|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)>=0:0)bc[k[7464>>2]&255](k[(k[g>>2]|0)+8>>2]|0)|0;DN(k[f>>2]|0)}EN();k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}function AN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function BN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function CN(){return}function DN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=k[(k[(k[b>>2]|0)+8>>2]|0)+20>>2];if(!(k[e>>2]|0)){r=f;return}if(k[(k[e>>2]|0)+28>>2]|0){r=f;return}a=FN()|0;k[d>>2]=a;k[c>>2]=0;while(1){a=k[e>>2]|0;if((k[c>>2]|0)>=(m[(k[e>>2]|0)+20>>1]|0|0))break;if((k[a+12>>2]|0)>=0)gc[k[7548>>2]&255](k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;else Ud(k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+(k[d>>2]|0)}Ud(k[a+24>>2]|0);if((k[(k[e>>2]|0)+12>>2]|0)>=0){GN(k[b>>2]|0,k[(k[e>>2]|0)+12>>2]|0,31469);k[(k[e>>2]|0)+12>>2]=-1}k[(k[k[e>>2]>>2]|0)+20>>2]=0;Ud(k[e>>2]|0);r=f;return}function EN(){return}function FN(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+8|0;c=d+4|0;b=d;k[c>>2]=32768;e=Zb[k[7572>>2]&255]()|0;k[b>>2]=e;if((k[b>>2]|0)<(k[c>>2]|0)){k[a>>2]=1;e=k[a>>2]|0;r=d;return e|0}else{k[a>>2]=(k[b>>2]|0)/(k[c>>2]|0)|0;e=k[a>>2]|0;r=d;return e|0}return 0}function GN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(bc[k[7284>>2]&255](k[g>>2]|0)|0)){r=f;return}if(k[d>>2]|0)d=k[(k[d>>2]|0)+32>>2]|0;else d=0;HN(4106,45534,d,k[e>>2]|0)|0;r=f;return}function HN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;l=m+24|0;i=m+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;c=aQ()|0;k[i>>2]=k[c>>2];c=bQ(k[i>>2]|0)|0;k[l>>2]=c;if(!(k[g>>2]|0))k[g>>2]=19266;c=k[e>>2]|0;a=k[i>>2]|0;i=k[f>>2]|0;d=k[g>>2]|0;b=k[l>>2]|0;k[j>>2]=k[h>>2];k[j+4>>2]=a;k[j+8>>2]=i;k[j+12>>2]=d;k[j+16>>2]=b;$d(c,45540,j);r=m;return k[e>>2]|0}function IN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d;h=d+12|0;g=d+8|0;f=d+4|0;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=k[h>>2]|0;a=k[g>>2]|0;k[e>>2]=k[f>>2];a=dQ(c,a,e)|0;r=d;return a|0}function JN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=r;r=r+544|0;j=h;c=h+20|0;l=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h+24|0;k[l>>2]=a;k[d>>2]=b;k[e>>2]=-1;k[j>>2]=k[l>>2];_d(512,g,19255,j)|0;a=LQ(g)|0;k[f>>2]=a;while(1){if((k[f>>2]|0)<=0)break;if((i[g+(k[f>>2]|0)>>0]|0)==47)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)>0)i[g+(k[f>>2]|0)>>0]=0;else{if((i[g>>0]|0)!=47)i[g>>0]=46;i[g+1>>0]=0}l=LN(g,0,0)|0;k[e>>2]=l;k[k[d>>2]>>2]=k[e>>2];if((k[e>>2]|0)>=0){k[c>>2]=0;l=k[c>>2]|0;r=h;return l|0}else{l=HN(ot(30807)|0,45675,g,30807)|0;k[c>>2]=l;l=k[c>>2]|0;r=h;return l|0}return 0}function KN(){return rb(30)|0}function LN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+112|0;j=l;d=l+100|0;e=l+96|0;f=l+92|0;g=l+88|0;h=l+84|0;i=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:420;while(1){a=Yb[k[7272>>2]&255](k[d>>2]|0,k[e>>2]|524288,k[h>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)<0){a=aQ()|0;if((k[a>>2]|0)==4)continue;else break}if((k[g>>2]|0)>=3)break;bc[k[7284>>2]&255](k[g>>2]|0)|0;a=k[g>>2]|0;k[j>>2]=k[d>>2];k[j+4>>2]=a;$d(28,45762,j);k[g>>2]=-1;if((Yb[k[7272>>2]&255](45805,k[e>>2]|0,k[f>>2]|0)|0)<0)break}if(!((k[g>>2]|0)>=0&(k[f>>2]|0)!=0)){a=k[g>>2]|0;r=l;return a|0}if(gc[k[7332>>2]&255](k[g>>2]|0,i)|0){a=k[g>>2]|0;r=l;return a|0}if(k[i+36>>2]|0){a=k[g>>2]|0;r=l;return a|0}if((k[i+12>>2]&511|0)==(k[f>>2]|0)){a=k[g>>2]|0;r=l;return a|0}gc[k[7440>>2]&255](k[g>>2]|0,k[f>>2]|0)|0;a=k[g>>2]|0;r=l;return a|0}function MN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;m=n;o=n+40|0;e=n+36|0;f=n+32|0;g=n+28|0;i=n+24|0;h=n+8|0;l=n+4|0;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[(k[o>>2]|0)+8>>2]|0)+20>>2];if((k[(k[i>>2]|0)+12>>2]|0)<0){o=k[l>>2]|0;r=n;return o|0};k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;j[h>>1]=k[e>>2];j[h+2>>1]=0;k[h+4>>2]=k[f>>2];k[h+8>>2]=k[g>>2];a=k[1839]|0;o=k[(k[i>>2]|0)+12>>2]|0;k[m>>2]=h;o=Yb[a&255](o,13,m)|0;k[l>>2]=o;k[l>>2]=(k[l>>2]|0)!=-1?0:5;o=k[l>>2]|0;r=n;return o|0}function NN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+128|0;d=m+112|0;e=m+108|0;f=m+16|0;j=m+8|0;g=m+32|0;i=m+28|0;l=m+24|0;h=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a:do if((k[(k[e>>2]|0)+40>>2]|0)>0){if(gc[k[7332>>2]&255](k[(k[e>>2]|0)+12>>2]|0,g)|0){k[d>>2]=1802;a=k[d>>2]|0;r=m;return a|0}b=k[(k[e>>2]|0)+40>>2]|0;b=qR(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(b|0,L|0,1,0)|0;f=k[(k[e>>2]|0)+40>>2]|0;f=zR(b|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;b=k[(k[e>>2]|0)+40>>2]|0;b=BR(f|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;k[f>>2]=b;k[f+4>>2]=L;f=j;b=k[f+4>>2]|0;a=k[g+36>>2]|0;c=((a|0)<0)<<31>>31;if((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>a>>>0:0)){k[i>>2]=k[g+40>>2];k[l>>2]=0;g=ha((k[g+36>>2]|0)/(k[i>>2]|0)|0,k[i>>2]|0)|0;g=g+(k[i>>2]|0)-1|0;a=h;k[a>>2]=g;k[a+4>>2]=((g|0)<0)<<31>>31;while(1){c=h;g=k[c>>2]|0;c=k[c+4>>2]|0;f=j;a=k[i>>2]|0;a=qR(k[f>>2]|0,k[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=pR(a|0,L|0,1,0)|0;f=L;if(!((c|0)<(f|0)|(c|0)==(f|0)&g>>>0>>0))break a;g=h;c=k[g+4>>2]|0;a=j;f=k[a+4>>2]|0;if((c|0)>(f|0)|((c|0)==(f|0)?(k[g>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){g=j;g=pR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}a=h;a=SN(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0,19266,1)|0;k[l>>2]=a;if((k[l>>2]|0)!=1)break;g=k[i>>2]|0;a=h;g=qR(k[a>>2]|0,k[a+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}k[d>>2]=778;a=k[d>>2]|0;r=m;return a|0}}while(0);k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+4|0;d=g+8|0;f=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=c;if((k[k[f>>2]>>2]|0)<0){k[k[f>>2]>>2]=((m[(k[e>>2]|0)+18>>1]|0)&(l[d>>0]|0)|0)!=0&1;r=g;return}d=l[d>>0]|0;if(!(k[k[f>>2]>>2]|0)){f=(k[e>>2]|0)+18|0;j[f>>1]=(m[f>>1]|0)&~d;r=g;return}else{f=(k[e>>2]|0)+18|0;j[f>>1]=m[f>>1]|0|d;r=g;return}}function PN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;g=l+8|0;j=l+48|0;c=l+44|0;d=l+40|0;h=l+36|0;e=l+32|0;f=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;b=RN()|0;k[h>>2]=b;while(1){ae(8,f);i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]=0;a=k[c>>2]|0;b=k[d>>2]|0;n=f;o=k[n>>2]|0;n=k[n+4>>2]|0;k[g>>2]=k[h>>2];m=g+8|0;k[m>>2]=o;k[m+4>>2]=n;k[g+16>>2]=0;_d(a,b,45815,g)|0;if(i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]|0){c=4;break}o=k[e>>2]|0;k[e>>2]=o+1;if((o|0)>10){c=4;break}if(gc[k[7296>>2]&255](k[d>>2]|0,0)|0){c=6;break}}if((c|0)==4){k[j>>2]=1;o=k[j>>2]|0;r=l;return o|0}else if((c|0)==6){k[j>>2]=0;o=k[j>>2]|0;r=l;return o|0}return 0}function QN(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+80|0;b=d+76|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+8>>2]|0)){a=0;a=a&1;r=d;return a|0}if(gc[k[7320>>2]&255](k[(k[b>>2]|0)+32>>2]|0,c)|0){a=1;a=a&1;r=d;return a|0}a=(k[c+72>>2]|0)!=(k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;r=d;return a|0}function RN(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+96|0;b=d+80|0;a=d+4|0;c=d;k[c>>2]=k[241];if(!(k[1901]|0)){e=Ab(45832)|0;k[1901]=e}if(!(k[1902]|0)){e=Ab(45846)|0;k[1902]=e}k[b>>2]=0;while(1){if((k[b>>2]|0)>>>0>=6){a=12;break}if((((k[c>>2]|0)!=0?(gc[k[7320>>2]&255](k[c>>2]|0,a)|0)==0:0)?(k[a+12>>2]&61440|0)==16384:0)?(gc[k[7296>>2]&255](k[c>>2]|0,7)|0)==0:0){a=12;break}e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=k[7604+(e<<2)>>2]}if((a|0)==12){r=d;return k[c>>2]|0}return 0}function SN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f;i=f+12|0;h=f+8|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[h>>2]=e;d=j;d=TN(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[g>>2]|0)+20|0)|0;r=f;return d|0}function TN(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[n>>2]=0;k[j>>2]=k[j>>2]&131071;do{d=WQ(k[g>>2]|0,k[h>>2]|0,0)|0;f=m;k[f>>2]=d;k[f+4>>2]=((d|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}f=Yb[k[7404>>2]&255](k[g>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[n>>2]=f;if((k[n>>2]|0)>=0)break;f=aQ()|0}while((k[f>>2]|0)==4);if((o|0)==3)k[n>>2]=-1;if((k[n>>2]|0)>=0){o=k[n>>2]|0;r=p;return o|0}o=aQ()|0;k[k[l>>2]>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}function UN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];r=c;return}function VN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;switch(k[f>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{k[c>>2]=5;break}case 1:{k[c>>2]=3;break}default:k[c>>2]=k[d>>2]}r=e;return k[c>>2]|0}function WN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e;k[f>>2]=a;k[e+8>>2]=b;k[e+4>>2]=c;b=RQ(k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function XN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g;f=g+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;while(1){a=gc[k[7344>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)>=0){b=4;break}a=aQ()|0;if((k[a>>2]|0)!=4){b=4;break}}if((b|0)==4){r=g;return k[f>>2]|0}return 0}function YN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;do{a=WQ(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,0)|0;d=m;k[d>>2]=a;k[d+4>>2]=((a|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}d=Yb[k[7368>>2]&255](k[(k[g>>2]|0)+12>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=d;if((k[l>>2]|0)==(k[j>>2]|0))break;if((k[l>>2]|0)>=0){if((k[l>>2]|0)>0){k[j>>2]=(k[j>>2]|0)-(k[l>>2]|0);a=k[l>>2]|0;d=h;a=qR(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=a;k[d+4>>2]=L;k[n>>2]=(k[n>>2]|0)+(k[l>>2]|0);k[i>>2]=(k[i>>2]|0)+(k[l>>2]|0)}}else{d=aQ()|0;if((k[d>>2]|0)!=4){o=8;break}k[l>>2]=1}}while((k[l>>2]|0)>0);if((o|0)==3){n=k[g>>2]|0;o=aQ()|0;UN(n,k[o>>2]|0);k[f>>2]=-1;o=k[f>>2]|0;r=p;return o|0}else if((o|0)==8){k[n>>2]=0;d=k[g>>2]|0;o=aQ()|0;UN(d,k[o>>2]|0)}k[f>>2]=(k[l>>2]|0)+(k[n>>2]|0);o=k[f>>2]|0;r=p;return o|0}function ZN(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if((k[(k[b>>2]|0)+12>>2]|0)>=0){GN(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,29216);k[(k[b>>2]|0)+12>>2]=-1}Ud(k[(k[b>>2]|0)+28>>2]|0);a=k[b>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return 0}function _N(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7628}function $N(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=ZN(k[c>>2]|0)|0;r=b;return a|0}function aO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function bO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function cO(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[c+4>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=0;r=c;return 0}function dO(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,l=0,m=0;m=r;r=r+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;j=m+8|0;h=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=Sf(k[e>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;do if((i[k[e>>2]>>0]|0)!=47){if(gc[k[7308>>2]&255](k[f>>2]|0,(k[g>>2]|0)-2|0)|0){a=Sf(k[f>>2]|0)|0;k[h>>2]=a;a=k[h>>2]|0;k[h>>2]=a+1;i[(k[f>>2]|0)+a>>0]=47;break}a=ot(33245)|0;a=HN(a,45576,k[e>>2]|0,33245)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}while(0);if(((k[h>>2]|0)+(k[j>>2]|0)+1|0)>(k[g>>2]|0)){i[(k[f>>2]|0)+(k[h>>2]|0)>>0]=0;a=ot(33254)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}else{b=(k[g>>2]|0)-(k[h>>2]|0)|0;a=(k[f>>2]|0)+(k[h>>2]|0)|0;k[l>>2]=k[e>>2];_d(b,a,19255,l)|0;k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}return 0}function eO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;i=h+92|0;c=h+88|0;e=h+84|0;g=h+8|0;d=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[e>>2]=0;if(gc[k[7320>>2]&255](k[i>>2]|0,g)|0){i=k[e>>2]|0;r=h;return i|0}CN();k[d>>2]=k[1946];while(1){if(k[d>>2]|0)if((k[k[d>>2]>>2]|0)!=(k[g>>2]|0))a=1;else a=(k[(k[d>>2]|0)+4>>2]|0)!=(k[g+72>>2]|0);else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=k[b+32>>2]}if(b){k[f>>2]=(k[d>>2]|0)+28;while(1){if(!(k[k[f>>2]>>2]|0))break;if((k[(k[k[f>>2]>>2]|0)+4>>2]|0)==(k[c>>2]|0))break;k[f>>2]=(k[k[f>>2]>>2]|0)+8}k[e>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2]}EN();i=k[e>>2]|0;r=h;return i|0}function fO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+624|0;f=q+100|0;g=q+96|0;h=q+92|0;j=q+88|0;l=q+84|0;n=q+80|0;p=q+104|0;m=q+76|0;o=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;k[k[h>>2]>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;if(!(k[g>>2]&526336)){if(!(k[g>>2]&8)){a=k[n>>2]|0;r=q;return a|0}k[k[h>>2]>>2]=384;a=k[n>>2]|0;r=q;return a|0}a=(Sf(k[f>>2]|0)|0)-1|0;k[m>>2]=a;while(1){if((i[(k[f>>2]|0)+(k[m>>2]|0)>>0]|0)==45)break;k[m>>2]=(k[m>>2]|0)+-1}sR(p|0,k[f>>2]|0,k[m>>2]|0)|0;i[p+(k[m>>2]|0)>>0]=0;if(!(gc[k[7320>>2]&255](p,o)|0)){k[k[h>>2]>>2]=k[o+12>>2]&511;k[k[j>>2]>>2]=k[o+20>>2];k[k[l>>2]>>2]=k[o+24>>2];a=k[n>>2]|0;r=q;return a|0}else{k[n>>2]=1802;a=k[n>>2]|0;r=q;return a|0}return 0}function gO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Zb[k[7524>>2]&255]()|0){b=0;r=g;return b|0}b=Yb[k[7512>>2]&255](k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return b|0}function hO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;q=t;f=t+40|0;g=t+36|0;u=t+32|0;h=t+28|0;i=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;l=t+4|0;k[f>>2]=a;k[g>>2]=b;k[u>>2]=c;k[h>>2]=d;k[i>>2]=e;k[o>>2]=k[u>>2];k[p>>2]=0;k[(k[o>>2]|0)+12>>2]=k[g>>2];k[(k[o>>2]|0)+4>>2]=k[f>>2];k[(k[o>>2]|0)+32>>2]=k[h>>2];j[(k[o>>2]|0)+18>>1]=k[i>>2]&255;if(Rf((k[i>>2]&64|0)!=0?k[h>>2]|0:0,45908,1)|0){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|16}if(!(IQ(k[(k[f>>2]|0)+16>>2]|0,45524)|0)){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|1}if(k[i>>2]&128)k[n>>2]=7628;else{u=gc[k[k[(k[f>>2]|0)+20>>2]>>2]&255](k[h>>2]|0,k[o>>2]|0)|0;k[n>>2]=u}if((k[n>>2]|0)!=7708){if((k[n>>2]|0)==7192){u=(LQ(k[h>>2]|0)|0)+6|0;k[l>>2]=u;u=k[l>>2]|0;u=Td(u,((u|0)<0)<<31>>31)|0;k[s>>2]=u;if(!(k[s>>2]|0))k[p>>2]=7;else{d=k[l>>2]|0;u=k[s>>2]|0;k[q>>2]=k[h>>2];_d(d,u,45913,q)|0}k[(k[o>>2]|0)+24>>2]=k[s>>2]}}else{CN();u=iO(k[o>>2]|0,(k[o>>2]|0)+8|0)|0;k[p>>2]=u;if(k[p>>2]|0){GN(k[o>>2]|0,k[g>>2]|0,32585);k[g>>2]=-1}EN()}UN(k[o>>2]|0,0);if(!(k[p>>2]|0)){k[k[o>>2]>>2]=k[n>>2];jO(k[o>>2]|0);u=k[p>>2]|0;r=t;return u|0}if((k[g>>2]|0)<0){u=k[p>>2]|0;r=t;return u|0}GN(k[o>>2]|0,k[g>>2]|0,32670);u=k[p>>2]|0;r=t;return u|0}function iO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+112|0;e=i+104|0;c=i+100|0;f=i+96|0;j=i+92|0;l=i+88|0;g=i+80|0;d=i+4|0;h=i;k[c>>2]=a;k[f>>2]=b;k[h>>2]=0;k[l>>2]=k[(k[c>>2]|0)+12>>2];b=gc[k[7332>>2]&255](k[l>>2]|0,d)|0;k[j>>2]=b;if(k[j>>2]|0){j=k[c>>2]|0;l=aQ()|0;UN(j,k[l>>2]|0);if((k[(k[c>>2]|0)+20>>2]|0)==75){k[e>>2]=22;l=k[e>>2]|0;r=i;return l|0}else{k[e>>2]=10;l=k[e>>2]|0;r=i;return l|0}};k[g>>2]=0;k[g+4>>2]=0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+72>>2];k[h>>2]=k[1946];while(1){if(k[h>>2]|0)a=(FQ(g,k[h>>2]|0,8)|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;k[h>>2]=k[c+32>>2]}if(!c){l=Td(40,0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[e>>2]=7;l=k[e>>2]|0;r=i;return l|0}c=k[h>>2]|0;a=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));l=k[h>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=k[g+4>>2];k[(k[h>>2]|0)+16>>2]=1;k[(k[h>>2]|0)+32>>2]=k[1946];k[(k[h>>2]|0)+36>>2]=0;if(k[1946]|0)k[(k[1946]|0)+36>>2]=k[h>>2];k[1946]=k[h>>2]}else{l=(k[h>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)+1}k[k[f>>2]>>2]=k[h>>2];k[e>>2]=0;l=k[e>>2]|0;r=i;return l|0}function jO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+112|0;g=h+24|0;f=h+16|0;c=h+8|0;b=h;d=h+108|0;e=h+32|0;i=h+28|0;k[d>>2]=a;a=gc[k[7332>>2]&255](k[(k[d>>2]|0)+12>>2]|0,e)|0;k[i>>2]=a;if(k[i>>2]|0){k[b>>2]=k[(k[d>>2]|0)+32>>2];$d(28,45921,b);r=h;return}if((k[e+16>>2]|0)==0?((m[(k[d>>2]|0)+18>>1]|0)&32|0)==0:0){k[c>>2]=k[(k[d>>2]|0)+32>>2];$d(28,45945,c);r=h;return}a=k[d>>2]|0;if((k[e+16>>2]|0)>>>0>1){k[f>>2]=k[a+32>>2];$d(28,45974,f);r=h;return}if(!(QN(a)|0)){r=h;return}k[g>>2]=k[(k[d>>2]|0)+32>>2];$d(28,46001,g);r=h;return}function kO(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[b>>2];jO(k[c>>2]|0);mO(k[b>>2]|0,0)|0;CN();if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[(k[(k[c>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)tO(k[c>>2]|0);uO(k[c>>2]|0);c=ZN(k[b>>2]|0)|0;k[d>>2]=c;EN();r=e;return k[d>>2]|0}function lO(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;o=r;r=r+48|0;f=o+44|0;p=o+40|0;g=o+36|0;n=o+32|0;h=o+28|0;m=o+24|0;d=o+8|0;e=o;k[p>>2]=a;k[g>>2]=b;k[n>>2]=0;k[h>>2]=k[p>>2];k[e>>2]=0;if((l[(k[h>>2]|0)+16>>0]|0|0)>=(k[g>>2]|0)){k[f>>2]=0;p=k[f>>2]|0;r=o;return p|0}CN();k[m>>2]=k[(k[h>>2]|0)+8>>2];if((l[(k[h>>2]|0)+16>>0]|0|0)!=(l[(k[m>>2]|0)+12>>0]|0|0)?((k[g>>2]|0)>1?1:(l[(k[m>>2]|0)+12>>0]|0|0)>=3):0)k[n>>2]=5;else c=6;a:do if((c|0)==6){do if((k[g>>2]|0)==1){if((l[(k[m>>2]|0)+12>>0]|0|0)!=1?(l[(k[m>>2]|0)+12>>0]|0|0)!=2:0)break;i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;break a}while(0);k[d+8>>2]=1;j[d+2>>1]=0;if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(l[(k[h>>2]|0)+16>>0]|0|0)<3:0)c=13}else c=13;if((c|0)==13?(j[d>>1]=(k[g>>2]|0)==1?0:1,k[d+4>>2]=k[381],(rO(k[h>>2]|0,d)|0)!=0):0){p=aQ()|0;k[e>>2]=k[p>>2];p=VN(k[e>>2]|0,3850)|0;k[n>>2]=p;if((k[n>>2]|0)==5)break;UN(k[h>>2]|0,k[e>>2]|0);break}do if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(k[(k[m>>2]|0)+8>>2]|0)>1:0){k[n>>2]=5;break}j[d>>1]=1;b=k[381]|0;if((k[g>>2]|0)==2){k[d+4>>2]=b+1;k[d+8>>2]=1}else{k[d+4>>2]=b+2;k[d+8>>2]=510}if((rO(k[h>>2]|0,d)|0)!=0?(p=aQ()|0,k[e>>2]=k[p>>2],p=VN(k[e>>2]|0,3850)|0,k[n>>2]=p,(k[n>>2]|0)!=5):0)UN(k[h>>2]|0,k[e>>2]|0)}else{k[d+4>>2]=(k[381]|0)+2;k[d+8>>2]=510;if(rO(k[h>>2]|0,d)|0){p=aQ()|0;k[e>>2]=k[p>>2];p=VN(k[e>>2]|0,3850)|0;k[n>>2]=p}k[d+4>>2]=k[381];k[d+8>>2]=1;j[d>>1]=2;p=(rO(k[h>>2]|0,d)|0)!=0;if(p&(k[n>>2]|0)==0){p=aQ()|0;k[e>>2]=k[p>>2];k[n>>2]=2058}if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[m>>2]|0)+8>>2]=1;break}if((k[n>>2]|0)==5)break a;UN(k[h>>2]|0,k[e>>2]|0);break a}while(0);b=k[g>>2]|0;if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=b;i[(k[m>>2]|0)+12>>0]=k[g>>2];break}if((b|0)==4){i[(k[h>>2]|0)+16>>0]=3;i[(k[m>>2]|0)+12>>0]=3}}while(0);EN();k[f>>2]=k[n>>2];p=k[f>>2]|0;r=o;return p|0}function mO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=qO(k[e>>2]|0,k[d>>2]|0,0)|0;r=c;return a|0}function nO(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;m=r;r=r+48|0;h=m;n=m+40|0;c=m+36|0;f=m+32|0;g=m+28|0;e=m+24|0;d=m+8|0;k[n>>2]=a;k[c>>2]=b;k[f>>2]=0;k[g>>2]=0;k[e>>2]=k[n>>2];CN();if((l[(k[(k[e>>2]|0)+8>>2]|0)+12>>0]|0)>1)k[g>>2]=1;do if((k[g>>2]|0)==0?(i[(k[(k[e>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){j[d+2>>1]=0;k[d+4>>2]=(k[381]|0)+1;k[d+8>>2]=1;j[d>>1]=1;b=k[1839]|0;n=k[(k[e>>2]|0)+12>>2]|0;k[h>>2]=d;if(Yb[b&255](n,12,h)|0){k[f>>2]=3594;h=k[e>>2]|0;n=aQ()|0;UN(h,k[n>>2]|0);break}if((j[d>>1]|0)!=2)k[g>>2]=1}while(0);EN();k[k[c>>2]>>2]=k[g>>2];r=m;return k[f>>2]|0}function oO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+160|0;z=E+152|0;F=E+148|0;A=E+144|0;f=E+140|0;g=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;q=E+108|0;h=E+104|0;o=E+100|0;w=E+24|0;n=E+20|0;x=E+16|0;y=E+12|0;p=E+8|0;i=E+4|0;v=E;k[F>>2]=a;k[A>>2]=b;k[f>>2]=c;k[g>>2]=d;k[B>>2]=e;k[u>>2]=k[F>>2];k[D>>2]=0;c=FN()|0;k[s>>2]=c;if((k[(k[u>>2]|0)+36>>2]|0)==0?(F=pO(k[u>>2]|0)|0,k[D>>2]=F,(k[D>>2]|0)!=0):0){k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}k[t>>2]=k[(k[u>>2]|0)+36>>2];k[C>>2]=k[k[t>>2]>>2];F=ha(((k[A>>2]|0)+(k[s>>2]|0)|0)/(k[s>>2]|0)|0,k[s>>2]|0)|0;k[q>>2]=F;a:do if((m[(k[C>>2]|0)+20>>1]|0|0)<(k[q>>2]|0)){F=ha(k[q>>2]|0,k[f>>2]|0)|0;k[o>>2]=F;k[(k[C>>2]|0)+16>>2]=k[f>>2];b:do if((k[(k[C>>2]|0)+12>>2]|0)>=0){if(gc[k[7332>>2]&255](k[(k[C>>2]|0)+12>>2]|0,w)|0){k[D>>2]=4874;break a}if((k[w+36>>2]|0)<(k[o>>2]|0)){if(!(k[g>>2]|0))break a;k[n>>2]=(k[w+36>>2]|0)/4096|0;while(1){if((k[n>>2]|0)>=((k[o>>2]|0)/4096|0|0))break b;k[x>>2]=0;F=(k[n>>2]<<12)+4096-1|0;if((TN(k[(k[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19266,1,x)|0)!=1)break;k[n>>2]=(k[n>>2]|0)+1}k[y>>2]=k[(k[C>>2]|0)+8>>2];F=HN(4874,45629,k[y>>2]|0,31732)|0;k[D>>2]=F;break a}}while(0);F=Vd(k[(k[C>>2]|0)+24>>2]|0,k[q>>2]<<2)|0;k[h>>2]=F;if(!(k[h>>2]|0)){k[D>>2]=3082;break}k[(k[C>>2]|0)+24>>2]=k[h>>2];while(1){if((m[(k[C>>2]|0)+20>>1]|0|0)>=(k[q>>2]|0))break a;F=ha(k[f>>2]|0,k[s>>2]|0)|0;k[p>>2]=F;if((k[(k[C>>2]|0)+12>>2]|0)>=0){w=k[1884]|0;c=k[p>>2]|0;x=(l[(k[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=k[(k[C>>2]|0)+12>>2]|0;F=k[f>>2]|0;F=BR(F|0,((F|0)<0)<<31>>31|0,m[(k[C>>2]|0)+20>>1]|0|0,0)|0;F=ac[w&255](0,c,x,1,y,F)|0;k[v>>2]=F;if((k[v>>2]|0)==(-1|0)){f=21;break}}else{F=k[f>>2]|0;F=Td(F,((F|0)<0)<<31>>31)|0;k[v>>2]=F;if(!(k[v>>2]|0)){f=23;break}uR(k[v>>2]|0,0,k[f>>2]|0)|0}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[s>>2]|0))break;F=ha(k[f>>2]|0,k[i>>2]|0)|0;k[(k[(k[C>>2]|0)+24>>2]|0)+((m[(k[C>>2]|0)+20>>1]|0)+(k[i>>2]|0)<<2)>>2]=(k[v>>2]|0)+F;k[i>>2]=(k[i>>2]|0)+1}F=(k[C>>2]|0)+20|0;j[F>>1]=(m[F>>1]|0)+(k[s>>2]|0)}if((f|0)==21){F=HN(5386,45716,k[(k[C>>2]|0)+8>>2]|0,31759)|0;k[D>>2]=F;break}else if((f|0)==23){k[D>>2]=7;break}}while(0);if((m[(k[C>>2]|0)+20>>1]|0|0)>(k[A>>2]|0))k[k[B>>2]>>2]=k[(k[(k[C>>2]|0)+24>>2]|0)+(k[A>>2]<<2)>>2];else k[k[B>>2]>>2]=0;if((k[D>>2]|0)==0?(l[(k[C>>2]|0)+22>>0]|0|0)!=0:0)k[D>>2]=8;k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}function pO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+128|0;n=q;b=q+116|0;c=q+112|0;f=q+108|0;h=q+104|0;j=q+100|0;g=q+96|0;p=q+92|0;d=q+88|0;m=q+12|0;o=q+8|0;e=q+4|0;k[c>>2]=a;k[f>>2]=0;a=Td(16,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;r=q;return p|0}a=k[f>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;CN();k[g>>2]=k[(k[c>>2]|0)+8>>2];k[h>>2]=k[(k[g>>2]|0)+20>>2];a:do if(!(k[h>>2]|0)){k[o>>2]=k[(k[c>>2]|0)+32>>2];do if(!(gc[k[7332>>2]&255](k[(k[c>>2]|0)+12>>2]|0,m)|0)){a=6+(LQ(k[o>>2]|0)|0)|0;k[d>>2]=a;a=Td(36+(k[d>>2]|0)|0,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[j>>2]=7;break}uR(k[h>>2]|0,0,36+(k[d>>2]|0)|0)|0;a=(k[h>>2]|0)+36|0;k[(k[h>>2]|0)+8>>2]=a;k[p>>2]=a;d=k[d>>2]|0;a=k[p>>2]|0;k[n>>2]=k[o>>2];_d(d,a,46029,n)|0;k[(k[h>>2]|0)+12>>2]=-1;k[(k[(k[c>>2]|0)+8>>2]|0)+20>>2]=k[h>>2];k[k[h>>2]>>2]=k[(k[c>>2]|0)+8>>2];k[(k[h>>2]|0)+4>>2]=8;if(!(k[(k[h>>2]|0)+4>>2]|0)){k[j>>2]=7;break}if(l[(k[g>>2]|0)+13>>0]|0)break a;k[e>>2]=66;if(Rf(k[(k[c>>2]|0)+32>>2]|0,46036,0)|0){k[e>>2]=0;i[(k[h>>2]|0)+22>>0]=1}o=LN(k[p>>2]|0,k[e>>2]|0,k[m+12>>2]&511)|0;k[(k[h>>2]|0)+12>>2]=o;if((k[(k[h>>2]|0)+12>>2]|0)<0){o=ot(31584)|0;p=HN(o,45571,k[p>>2]|0,31584)|0;k[j>>2]=p;break}gO(k[(k[h>>2]|0)+12>>2]|0,k[m+20>>2]|0,k[m+24>>2]|0)|0;k[j>>2]=0;if((MN(k[c>>2]|0,1,128,1)|0)==0?(XN(k[(k[h>>2]|0)+12>>2]|0,0,0)|0)!=0:0){p=HN(4618,45594,k[p>>2]|0,31600)|0;k[j>>2]=p}if(!(k[j>>2]|0)){p=MN(k[c>>2]|0,0,128,1)|0;k[j>>2]=p}if(!(k[j>>2]|0))break a}else k[j>>2]=1802;while(0);DN(k[c>>2]|0);Ud(k[f>>2]|0);EN();k[b>>2]=k[j>>2];p=k[b>>2]|0;r=q;return p|0}while(0);k[k[f>>2]>>2]=k[h>>2];p=(k[h>>2]|0)+28|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[c>>2]|0)+36>>2]=k[f>>2];EN();k[(k[f>>2]|0)+4>>2]=k[(k[h>>2]|0)+32>>2];k[(k[h>>2]|0)+32>>2]=k[f>>2];k[b>>2]=0;p=k[b>>2]|0;r=q;return p|0}function qO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+44|0;p=o+40|0;e=o+36|0;g=o+28|0;h=o+24|0;f=o+8|0;m=o;k[p>>2]=a;k[e>>2]=b;k[o+32>>2]=c;k[g>>2]=k[p>>2];k[m>>2]=0;if((l[(k[g>>2]|0)+16>>0]|0|0)<=(k[e>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=o;return p|0}CN();k[h>>2]=k[(k[g>>2]|0)+8>>2];do if((l[(k[g>>2]|0)+16>>0]|0|0)>1){if((k[e>>2]|0)==1?(j[f>>1]=0,j[f+2>>1]=0,k[f+4>>2]=(k[381]|0)+2,k[f+8>>2]=510,(rO(k[g>>2]|0,f)|0)!=0):0){k[m>>2]=2314;a=k[g>>2]|0;p=aQ()|0;UN(a,k[p>>2]|0);break}j[f>>1]=2;j[f+2>>1]=0;k[f+4>>2]=k[381];k[f+8>>2]=2;if(!(rO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=1;n=10;break}else{k[m>>2]=2058;a=k[g>>2]|0;p=aQ()|0;UN(a,k[p>>2]|0);break}}else n=10;while(0);if((n|0)==10?(k[e>>2]|0)==0:0){p=(k[h>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-1;do if(!(k[(k[h>>2]|0)+8>>2]|0)){j[f>>1]=2;j[f+2>>1]=0;k[f+8>>2]=0;k[f+4>>2]=0;if(!(rO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=0;break}else{k[m>>2]=2058;n=k[g>>2]|0;p=aQ()|0;UN(n,k[p>>2]|0);i[(k[h>>2]|0)+12>>0]=0;i[(k[g>>2]|0)+16>>0]=0;break}}while(0);p=(k[h>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[h>>2]|0)+24>>2]|0))sO(k[g>>2]|0)}EN();if(!(k[m>>2]|0))i[(k[g>>2]|0)+16>>0]=k[e>>2];k[d>>2]=k[m>>2];p=k[d>>2]|0;r=o;return p|0}function rO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p+8|0;n=p;c=p+48|0;d=p+44|0;e=p+40|0;h=p+36|0;g=p+32|0;f=p+16|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];do if(((m[(k[d>>2]|0)+18>>1]|0)&3|0)==1){if(l[(k[g>>2]|0)+13>>0]|0){k[h>>2]=0;break}j[f+2>>1]=0;k[f+4>>2]=(k[381]|0)+2;k[f+8>>2]=510;j[f>>1]=1;b=k[1839]|0;o=k[(k[d>>2]|0)+12>>2]|0;k[n>>2]=f;o=Yb[b&255](o,13,n)|0;k[h>>2]=o;if((k[h>>2]|0)>=0){i[(k[g>>2]|0)+13>>0]=1;o=(k[g>>2]|0)+24|0;k[o>>2]=(k[o>>2]|0)+1;break}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}else{b=k[1839]|0;n=k[(k[d>>2]|0)+12>>2]|0;k[o>>2]=k[e>>2];o=Yb[b&255](n,13,o)|0;k[h>>2]=o}while(0);k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}function sO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[c>>2]=k[(k[d>>2]|0)+28>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];GN(k[b>>2]|0,k[k[c>>2]>>2]|0,28492);Ud(k[c>>2]|0);k[c>>2]=k[e>>2]}k[(k[d>>2]|0)+28>>2]=0;r=f;return}function tO(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+8|0;d=b+4|0;e=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[(k[c>>2]|0)+28>>2];k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+28>>2];k[(k[d>>2]|0)+28>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=-1;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function uO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[c>>2]|0)+16>>2]|0){r=d;return}sO(k[b>>2]|0);b=k[(k[c>>2]|0)+32>>2]|0;if(k[(k[c>>2]|0)+36>>2]|0)k[(k[(k[c>>2]|0)+36>>2]|0)+32>>2]=b;else k[1946]=b;if(k[(k[c>>2]|0)+32>>2]|0)k[(k[(k[c>>2]|0)+32>>2]|0)+36>>2]=k[(k[c>>2]|0)+36>>2];Ud(k[c>>2]|0);r=d;return}function vO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7708}function wO(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){c=b;k[c>>2]=0;k[c+4>>2]=0;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=oe(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=L;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}return 0}function xO(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){p[b>>3]=0.0;e=+p[b>>3];r=d;return +e}else{f=(k[c>>2]|0)+4|0;a=k[f>>2]|0;k[f>>2]=a+1;e=+me(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);p[b>>3]=e;e=+p[b>>3];r=d;return +e}return 0.0}function yO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;k[d>>2]=a;k[e>>2]=b;if((k[k[e>>2]>>2]|0)<=0){i[c>>0]=48;a=i[c>>0]|0;r=h;return a|0}else{a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;k[g>>2]=~~+p[k[d>>2]>>3];p[f>>3]=+(k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+48;p[k[d>>2]>>3]=(+p[k[d>>2]>>3]-+p[f>>3])*10.0;i[c>>0]=k[g>>2];a=i[c>>0]|0;r=h;return a|0}return 0}function zO(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=ke(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function AO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=k[e>>2]|0;a=qR(k[(k[d>>2]|0)+12>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;if((c|0)>0|((c|0)==0?a>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=nA(k[d>>2]|0,k[e>>2]|0)|0,k[e>>2]=a,(a|0)<=0):0){r=g;return}while(1){a=k[e>>2]|0;k[e>>2]=a+-1;if((a|0)<=0)break;c=i[f>>0]|0;b=(k[d>>2]|0)+12|0;a=k[b>>2]|0;k[b>>2]=a+1;i[(k[(k[d>>2]|0)+8>>2]|0)+a>>0]=c}r=g;return}function BO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=288;d=k[a+4>>2]|0;if((d|0)<0|(d|0)==0&(k[a>>2]|0)>>>0<=0){r=c;return}Pd(k[b>>2]|0)|0;r=c;return}function CO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[h>>2]=a;k[c>>2]=b;b=bc[k[60>>2]&255](k[h>>2]|0)|0;k[d>>2]=b;Wi(5,k[h>>2]|0);b=288;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){b=hg(0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;b=k[a>>2]|0;a=k[a+4>>2]|0;e=288;h=k[d>>2]|0;h=pR(k[e>>2]|0,k[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;e=L;if((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>=h>>>0){k[77]=1;BO(k[d>>2]|0);break}else{k[77]=0;break}}while(0);h=bc[k[44>>2]&255](k[d>>2]|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}b=jg(k[f>>2]|0)|0;k[d>>2]=b;Xi(0,k[d>>2]|0);Xi(9,1);b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}function DO(){var a=0,b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;a=d;k[c>>2]=1080;k[a>>2]=9708;k[b>>2]=0;while(1){if((k[b>>2]|0)>=8)break;gu(k[c>>2]|0,(k[a>>2]|0)+(k[b>>2]<<5)|0);k[b>>2]=(k[b>>2]|0)+1}r=d;return}function EO(){var a=0,b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;a=d;k[c>>2]=1080;k[a>>2]=9612;k[b>>2]=0;while(1){if((k[b>>2]|0)>=3)break;gu(k[c>>2]|0,(k[a>>2]|0)+(k[b>>2]<<5)|0);k[b>>2]=(k[b>>2]|0)+1}r=d;return}function FO(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;j=q;d=q+60|0;s=q+52|0;n=q+48|0;o=q+44|0;h=q+40|0;g=q+32|0;l=q+28|0;f=q+24|0;m=q+20|0;e=q+16|0;k[d>>2]=a;k[q+56>>2]=b;k[s>>2]=c;a=ke(k[k[s>>2]>>2]|0)|0;k[n>>2]=a;a=ke(k[(k[s>>2]|0)+4>>2]|0)|0;k[o>>2]=a;k[l>>2]=k[n>>2];k[f>>2]=0;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[n>>2]|0)){r=q;return}do{if(!(i[k[l>>2]>>0]|0)){p=7;break}k[g>>2]=k[l>>2];k[g+4>>2]=k[f>>2];do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);s=_u(k[l>>2]|0,h)|0;k[f>>2]=s}while((k[h>>2]|0)==159)}while((k[h>>2]|0)!=22?(k[h>>2]|0)!=125:0);if((p|0)==7){r=q;return}s=k[e>>2]|0;l=k[n>>2]|0;o=k[o>>2]|0;p=(k[g>>2]|0)+(k[g+4>>2]|0)|0;k[j>>2]=(k[g>>2]|0)-(k[n>>2]|0);k[j+4>>2]=l;k[j+8>>2]=o;k[j+12>>2]=p;s=Lh(s,46327,j)|0;k[m>>2]=s;xe(k[d>>2]|0,k[m>>2]|0,-1,170);r=q;return}function GO(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+80|0;l=s;d=s+68|0;t=s+60|0;o=s+56|0;p=s+52|0;j=s+48|0;h=s+40|0;f=s+32|0;m=s+28|0;g=s+24|0;n=s+20|0;e=s+16|0;k[d>>2]=a;k[s+64>>2]=b;k[t>>2]=c;a=ke(k[k[t>>2]>>2]|0)|0;k[o>>2]=a;a=ke(k[(k[t>>2]|0)+4>>2]|0)|0;k[p>>2]=a;k[f>>2]=3;k[m>>2]=k[o>>2];k[g>>2]=0;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[o>>2]|0)){r=s;return}while(1){if(!(i[k[m>>2]>>0]|0)){q=8;break}k[h>>2]=k[m>>2];k[h+4>>2]=k[g>>2];do{k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);t=_u(k[m>>2]|0,j)|0;k[g>>2]=t}while((k[j>>2]|0)==159);t=(k[f>>2]|0)+1|0;k[f>>2]=t;k[f>>2]=(k[j>>2]|0)==122|(k[j>>2]|0)==107?0:t;if((k[f>>2]|0)!=2)continue;if(!((k[j>>2]|0)!=137&(k[j>>2]|0)!=46&(k[j>>2]|0)!=5))break}if((q|0)==8){r=s;return}t=k[e>>2]|0;m=k[o>>2]|0;p=k[p>>2]|0;q=(k[h>>2]|0)+(k[h+4>>2]|0)|0;k[l>>2]=(k[h>>2]|0)-(k[o>>2]|0);k[l+4>>2]=m;k[l+8>>2]=p;k[l+12>>2]=q;t=Lh(t,46327,l)|0;k[n>>2]=t;xe(k[d>>2]|0,k[n>>2]|0,-1,170);r=s;return}function HO(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+80|0;j=u+16|0;h=u;d=u+76|0;v=u+68|0;e=u+64|0;q=u+60|0;t=u+56|0;m=u+52|0;o=u+48|0;n=u+44|0;l=u+40|0;f=u+36|0;g=u+32|0;s=u+28|0;p=u+24|0;k[d>>2]=a;k[u+72>>2]=b;k[v>>2]=c;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;k[q>>2]=0;a=ke(k[k[v>>2]>>2]|0)|0;k[m>>2]=a;a=ke(k[(k[v>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=ke(k[(k[v>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if((k[m>>2]|0)==0|(k[o>>2]|0)==0){r=u;return}k[l>>2]=k[m>>2];while(1){if(!(i[k[l>>2]>>0]|0))break;v=_u(k[l>>2]|0,g)|0;k[f>>2]=v;if((k[g>>2]|0)==105){do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);v=_u(k[l>>2]|0,g)|0;k[f>>2]=v}while((k[g>>2]|0)==159);if((k[g>>2]|0)==160)break;v=k[f>>2]|0;v=Sw(k[e>>2]|0,k[l>>2]|0,v,((v|0)<0)<<31>>31)|0;k[s>>2]=v;if(!(k[s>>2]|0))break;Tw(k[s>>2]|0)|0;if(!(be(k[o>>2]|0,k[s>>2]|0)|0)){v=k[e>>2]|0;b=(k[l>>2]|0)-(k[m>>2]|0)|0;c=k[m>>2]|0;a=k[n>>2]|0;k[h>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:19266;k[h+4>>2]=b;k[h+8>>2]=c;k[h+12>>2]=a;v=Lh(v,46316,h)|0;k[p>>2]=v;ag(k[e>>2]|0,k[q>>2]|0);k[q>>2]=k[p>>2];k[m>>2]=(k[l>>2]|0)+(k[f>>2]|0)}ag(k[e>>2]|0,k[s>>2]|0)}k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0)}v=k[e>>2]|0;s=k[m>>2]|0;k[j>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:19266;k[j+4>>2]=s;v=Lh(v,25552,j)|0;k[t>>2]=v;xe(k[d>>2]|0,k[t>>2]|0,-1,170);ag(k[e>>2]|0,k[q>>2]|0);r=u;return}function IO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+64|0;d=f+56|0;h=f+52|0;g=f+48|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;if(QO(k[d>>2]|0,k[h>>2]|0,k[g>>2]|0,e)|0){r=f;return}RO(e);h=e;se(k[d>>2]|0,(+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0))/864.0e5);r=f;return}function JO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(QO(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}TO(f);i=k[f+12>>2]|0;j=k[f+16>>2]|0;k[e>>2]=k[f+8>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,46623,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function KO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(QO(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}UO(f);i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+20>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,46608,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function LO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+192|0;e=h+48|0;d=h+80|0;j=h+76|0;i=h+72|0;f=h;g=h+84|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(QO(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}SO(f);b=k[f+12>>2]|0;c=k[f+16>>2]|0;a=k[f+20>>2]|0;i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+8>>2];k[e+4>>2]=b;k[e+8>>2]=c;k[e+12>>2]=a;k[e+16>>2]=i;k[e+20>>2]=j;_d(100,g,46578,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function MO(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,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+336|0;z=I+192|0;y=I+184|0;x=I+176|0;w=I+168|0;v=I+160|0;u=I+152|0;t=I+144|0;B=I+136|0;A=I+128|0;s=I+120|0;q=I+112|0;j=I+232|0;d=I+228|0;e=I+224|0;D=I+64|0;g=I+56|0;l=I+220|0;m=I+216|0;F=I+212|0;f=I+208|0;H=I+204|0;G=I+236|0;o=I+48|0;n=I+200|0;E=I;C=I+196|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[d>>2]|0)){r=I;return}a=ke(k[k[e>>2]>>2]|0)|0;k[H>>2]=a;if(!(k[H>>2]|0)){r=I;return}if(QO(k[j>>2]|0,(k[d>>2]|0)-1|0,(k[e>>2]|0)+4|0,D)|0){r=I;return}a=Ge(k[j>>2]|0)|0;k[f>>2]=a;k[l>>2]=0;a=g;k[a>>2]=1;k[a+4>>2]=0;a:while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==37){switch(i[(k[H>>2]|0)+((k[l>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{c=g;c=qR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 37:case 119:break;case 102:{c=g;c=qR(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 106:{c=g;c=qR(k[c>>2]|0,k[c+4>>2]|0,3,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 89:{c=g;c=qR(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 74:case 115:{c=g;c=qR(k[c>>2]|0,k[c+4>>2]|0,50,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}default:{h=44;break a}}k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1;c=g;c=qR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L}if((h|0)==44){r=I;return}h=g;a=k[h+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(k[h>>2]|0)>>>0<100)){a=g;b=k[a+4>>2]|0;h=k[(k[f>>2]|0)+88>>2]|0;c=((h|0)<0)<<31>>31;if(b>>>0>c>>>0|((b|0)==(c|0)?(k[a>>2]|0)>>>0>h>>>0:0)){Ce(k[j>>2]|0);r=I;return}h=k[g>>2]|0;h=Pw(k[f>>2]|0,h,((h|0)<0)<<31>>31)|0;k[F>>2]=h;if(!(k[F>>2]|0)){De(k[j>>2]|0);r=I;return}}else k[F>>2]=G;RO(D);SO(D);k[m>>2]=0;k[l>>2]=0;while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;d=k[l>>2]|0;b:do if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)!=37){g=i[(k[H>>2]|0)+d>>0]|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=g}else{k[l>>2]=d+1;do switch(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0){case 100:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[q>>2]=k[D+16>>2];_d(3,h,46420,q)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 102:{p[o>>3]=+p[D+32>>3];if(+p[o>>3]>59.999)p[o>>3]=59.999;h=(k[F>>2]|0)+(k[m>>2]|0)|0;p[s>>3]=+p[o>>3];_d(7,h,46425,s)|0;h=Sf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 72:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[A>>2]=k[D+20>>2];_d(3,h,46420,A)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 106:case 87:{d=E;e=D;b=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));i[E+42>>0]=0;k[E+12>>2]=1;k[E+16>>2]=1;RO(E);g=D;h=E;h=zR(qR(pR(k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0,L|0,432e5,0)|0,L|0,864e5,0)|0;k[n>>2]=h;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==87){h=D;h=qR(k[h>>2]|0,k[h+4>>2]|0,432e5,0)|0;h=zR(h|0,L|0,864e5,0)|0;h=AR(h|0,L|0,7,0)|0;k[C>>2]=h;h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[B>>2]=((k[n>>2]|0)+7-(k[C>>2]|0)|0)/7|0;_d(3,h,46420,B)|0;k[m>>2]=(k[m>>2]|0)+2;break b}else{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[t>>2]=(k[n>>2]|0)+1;_d(4,h,46432,t)|0;k[m>>2]=(k[m>>2]|0)+3;break b}}case 74:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;g=D;p[u>>3]=(+((k[g>>2]|0)>>>0)+4294967296.0*+(k[g+4>>2]|0))/864.0e5;_d(20,h,43396,u)|0;h=Sf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 109:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[v>>2]=k[D+12>>2];_d(3,h,46420,v)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 77:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[w>>2]=k[D+24>>2];_d(3,h,46420,w)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 115:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;f=D;f=pR(zR(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0,L|0,413362496,49)|0;g=x;k[g>>2]=f;k[g+4>>2]=L;_d(30,h,29137,x)|0;h=Sf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 83:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[y>>2]=~~+p[D+32>>3];_d(3,h,46420,y)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 119:{g=D;g=AR(zR(qR(k[g>>2]|0,k[g+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=((g&255)<<24>>24)+48;break b}case 89:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[z>>2]=k[D+8>>2];_d(5,h,46437,z)|0;h=Sf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}default:{h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=37;break b}}while(0)}while(0);k[l>>2]=(k[l>>2]|0)+1}i[(k[F>>2]|0)+(k[m>>2]|0)>>0]=0;xe(k[j>>2]|0,k[F>>2]|0,-1,(k[F>>2]|0)==(G|0)?-1:170);r=I;return}function NO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;KO(k[e>>2]|0,0,0);r=d;return}function OO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;LO(k[e>>2]|0,0,0);r=d;return}function PO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;JO(k[e>>2]|0,0,0);r=d;return}function QO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0.0;o=r;r=r+32|0;n=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[h>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if(!(k[f>>2]|0)){m=VO(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;n=k[n>>2]|0;r=o;return n|0}d=pe(k[k[g>>2]>>2]|0)|0;k[j>>2]=d;b=k[k[g>>2]>>2]|0;do if((d|0)==2|(k[j>>2]|0)==1){p=+me(b)*864.0e5+.5;d=+W(p)>=1.0?(p>0.0?~~+ia(+V(p/4294967296.0),4294967295.0)>>>0:~~+ga((p-+(~~p>>>0))/4294967296.0)>>>0):0;j=k[h>>2]|0;k[j>>2]=~~p>>>0;k[j+4>>2]=d;i[(k[h>>2]|0)+42>>0]=1}else{j=ke(b)|0;k[m>>2]=j;if((k[m>>2]|0)!=0?(WO(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0)break;k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}while(0);k[l>>2]=1;while(1){if((k[l>>2]|0)>=(k[f>>2]|0)){b=14;break}j=ke(k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)|0;k[m>>2]=j;if(!(k[m>>2]|0)){b=12;break}if(XO(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0){b=12;break}k[l>>2]=(k[l>>2]|0)+1}if((b|0)==12){k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}else if((b|0)==14){k[n>>2]=0;n=k[n>>2]|0;r=o;return n|0}return 0}function RO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;f=l+20|0;e=l+16|0;c=l+12|0;d=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+42>>0]|0){r=l;return}if(i[(k[b>>2]|0)+40>>0]|0){k[j>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+12>>2];k[e>>2]=k[(k[b>>2]|0)+16>>2]}else{k[j>>2]=2e3;k[f>>2]=1;k[e>>2]=1}if((k[f>>2]|0)<=2){k[j>>2]=(k[j>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+12}k[c>>2]=(k[j>>2]|0)/100|0;k[d>>2]=2-(k[c>>2]|0)+((k[c>>2]|0)/4|0);k[g>>2]=(((k[j>>2]|0)+4716|0)*36525|0)/100|0;k[h>>2]=(((k[f>>2]|0)+1|0)*306001|0)/1e4|0;m=(+((k[g>>2]|0)+(k[h>>2]|0)+(k[e>>2]|0)+(k[d>>2]|0)|0)-1524.5)*864.0e5;j=+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0;a=k[b>>2]|0;k[a>>2]=~~m>>>0;k[a+4>>2]=j;i[(k[b>>2]|0)+42>>0]=1;if(!(i[(k[b>>2]|0)+41>>0]|0)){r=l;return}j=ha(k[(k[b>>2]|0)+20>>2]|0,36e5)|0;j=j+((k[(k[b>>2]|0)+24>>2]|0)*6e4|0)|0;m=+p[(k[b>>2]|0)+32>>3]*1.0e3;j=qR(j|0,((j|0)<0)<<31>>31|0,~~m>>>0|0,(+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0)|0;a=k[b>>2]|0;h=a;j=qR(k[h>>2]|0,k[h+4>>2]|0,j|0,L|0)|0;k[a>>2]=j;k[a+4>>2]=L;if(!(i[(k[b>>2]|0)+43>>0]|0)){r=l;return}j=(k[(k[b>>2]|0)+28>>2]|0)*6e4|0;a=k[b>>2]|0;h=a;j=pR(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k[a>>2]=j;k[a+4>>2]=L;i[(k[b>>2]|0)+40>>0]=0;i[(k[b>>2]|0)+41>>0]=0;i[(k[b>>2]|0)+43>>0]=0;r=l;return}function SO(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;TO(k[c>>2]|0);UO(k[c>>2]|0);r=b;return}function TO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;c=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+40>>0]|0){r=l;return}a=k[b>>2]|0;if(i[(k[b>>2]|0)+42>>0]|0){a=qR(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=zR(a|0,L|0,864e5,0)|0;k[j>>2]=a;k[c>>2]=~~((+(k[j>>2]|0)-1867216.25)/36524.25);k[c>>2]=(k[j>>2]|0)+1+(k[c>>2]|0)-((k[c>>2]|0)/4|0);k[d>>2]=(k[c>>2]|0)+1524;k[e>>2]=~~((+(k[d>>2]|0)-122.1)/365.25);k[f>>2]=((k[e>>2]&32767)*36525|0)/100|0;k[g>>2]=~~(+((k[d>>2]|0)-(k[f>>2]|0)|0)/30.6001);k[h>>2]=~~(+(k[g>>2]|0)*30.6001);k[(k[b>>2]|0)+16>>2]=(k[d>>2]|0)-(k[f>>2]|0)-(k[h>>2]|0);j=k[g>>2]|0;k[(k[b>>2]|0)+12>>2]=(k[g>>2]|0)<14?j-1|0:j-13|0;j=k[e>>2]|0;k[(k[b>>2]|0)+8>>2]=(k[(k[b>>2]|0)+12>>2]|0)>2?j-4716|0:j-4715|0}else{k[a+8>>2]=2e3;k[(k[b>>2]|0)+12>>2]=1;k[(k[b>>2]|0)+16>>2]=1}i[(k[b>>2]|0)+40>>0]=1;r=l;return}function UO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(i[(k[b>>2]|0)+41>>0]|0){r=d;return}RO(k[b>>2]|0);a=k[b>>2]|0;a=qR(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=AR(a|0,L|0,864e5,0)|0;k[c>>2]=a;p[(k[b>>2]|0)+32>>3]=+(k[c>>2]|0)/1.0e3;k[c>>2]=~~+p[(k[b>>2]|0)+32>>3];a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]-+(k[c>>2]|0);k[(k[b>>2]|0)+20>>2]=(k[c>>2]|0)/3600|0;k[c>>2]=(k[c>>2]|0)-((k[(k[b>>2]|0)+20>>2]|0)*3600|0);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)/60|0;a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]+ +((k[c>>2]|0)-((k[(k[b>>2]|0)+24>>2]|0)*60|0)|0);i[(k[b>>2]|0)+41>>0]=1;r=d;return}function VO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=dP(k[f>>2]|0)|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=L;b=k[d>>2]|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){i[(k[d>>2]|0)+42>>0]=1;k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=1;f=k[c>>2]|0;r=e;return f|0}return 0}function WO(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,l=0.0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(cP(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(_O(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(be(k[f>>2]|0,46562)|0)){b=VO(k[e>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=j;return b|0}b=k[f>>2]|0;if(Uy(b,h,Sf(k[f>>2]|0)|0,1)|0){l=+p[h>>3]*864.0e5+.5;h=+W(l)>=1.0?(l>0.0?~~+ia(+V(l/4294967296.0),4294967295.0)>>>0:~~+ga((l-+(~~l>>>0))/4294967296.0)>>>0):0;b=k[g>>2]|0;k[b>>2]=~~l>>>0;k[b+4>>2]=h;i[(k[g>>2]|0)+42>>0]=1;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=1;b=k[d>>2]|0;r=j;return b|0}return 0}function XO(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,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+160|0;d=z+124|0;e=z+120|0;w=z+116|0;x=z+112|0;h=z+108|0;j=z+80|0;y=z+104|0;g=z+72|0;f=z+64|0;m=z+56|0;v=z+100|0;u=z+8|0;t=z;n=z+96|0;o=z+92|0;q=z+88|0;k[d>>2]=a;k[e>>2]=b;k[w>>2]=c;k[x>>2]=1;k[y>>2]=z+128;k[h>>2]=0;while(1){if((k[h>>2]|0)<29)a=(i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;i[(k[y>>2]|0)+(k[h>>2]|0)>>0]=i[18477+(l[(k[e>>2]|0)+c>>0]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+1}i[(k[y>>2]|0)+c>>0]=0;switch(i[k[y>>2]>>0]|0){case 108:{if(IQ(k[y>>2]|0,46442)|0){y=k[x>>2]|0;r=z;return y|0}RO(k[w>>2]|0);v=YO(k[w>>2]|0,k[d>>2]|0,x)|0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;ZO(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}case 117:{if((IQ(k[y>>2]|0,46452)|0)==0?(i[(k[w>>2]|0)+42>>0]|0)!=0:0){v=k[w>>2]|0;v=qR(k[v>>2]|0,k[v+4>>2]|0,43200,0)|0;v=zR(v|0,L|0,86400,0)|0;v=qR(v|0,L|0,1045635584,49096)|0;y=k[w>>2]|0;k[y>>2]=v;k[y+4>>2]=L;ZO(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(IQ(k[y>>2]|0,46462)|0){y=k[x>>2]|0;r=z;return y|0}if(i[(k[w>>2]|0)+44>>0]|0){k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}RO(k[w>>2]|0);v=YO(k[w>>2]|0,k[d>>2]|0,x)|0;y=g;k[y>>2]=v;k[y+4>>2]=L;if(!(k[x>>2]|0)){u=g;y=k[w>>2]|0;v=y;u=pR(k[v>>2]|0,k[v+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[y>>2]=u;k[y+4>>2]=L;ZO(k[w>>2]|0);y=g;u=k[y>>2]|0;y=k[y+4>>2]|0;v=YO(k[w>>2]|0,k[d>>2]|0,x)|0;v=pR(u|0,y|0,v|0,L|0)|0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L}i[(k[w>>2]|0)+44>>0]=1;y=k[x>>2]|0;r=z;return y|0}case 119:{if(MQ(k[y>>2]|0,46466,8)|0){y=k[x>>2]|0;r=z;return y|0}if(!(Uy((k[y>>2]|0)+8|0,j,Sf((k[y>>2]|0)+8|0)|0,1)|0)){y=k[x>>2]|0;r=z;return y|0}y=~~+p[j>>3];k[h>>2]=y;if(!(((k[h>>2]|0)>=0?+(y|0)==+p[j>>3]:0)&+p[j>>3]<7.0)){y=k[x>>2]|0;r=z;return y|0}SO(k[w>>2]|0);i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;RO(k[w>>2]|0);t=k[w>>2]|0;t=AR(zR(qR(k[t>>2]|0,k[t+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;v=f;k[v>>2]=t;k[v+4>>2]=L;v=f;t=k[v+4>>2]|0;y=k[h>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(k[v>>2]|0)>>>0>y>>>0:0)){v=f;v=pR(k[v>>2]|0,k[v+4>>2]|0,7,0)|0;y=f;k[y>>2]=v;k[y+4>>2]=L}y=k[h>>2]|0;v=f;v=BR(pR(y|0,((y|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0,L|0,864e5,0)|0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;ZO(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 115:{if(MQ(k[y>>2]|0,46475,9)|0){y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+9;TO(k[w>>2]|0);i[(k[w>>2]|0)+41>>0]=1;k[(k[w>>2]|0)+24>>2]=0;k[(k[w>>2]|0)+20>>2]=0;p[(k[w>>2]|0)+32>>3]=0.0;i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;if(!(IQ(k[y>>2]|0,46485)|0)){k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(!(IQ(k[y>>2]|0,46491)|0)){TO(k[w>>2]|0);k[(k[w>>2]|0)+12>>2]=1;k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(IQ(k[y>>2]|0,46496)|0){y=k[x>>2]|0;r=z;return y|0}k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k[h>>2]=1;while(1){if(!(i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58)break;if(!((l[19267+(l[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;k[h>>2]=(k[h>>2]|0)+1}if(!(Uy(k[y>>2]|0,j,k[h>>2]|0,1)|0)){k[x>>2]=1;y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58){k[v>>2]=k[y>>2];if(!(l[19267+(l[k[v>>2]>>0]|0)>>0]&4))k[v>>2]=(k[v>>2]|0)+1;c=u;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));if(_O(k[v>>2]|0,u)|0){y=k[x>>2]|0;r=z;return y|0}RO(u);v=u;v=pR(k[v>>2]|0,k[v+4>>2]|0,432e5,0)|0;s=u;k[s>>2]=v;k[s+4>>2]=L;s=u;s=zR(k[s>>2]|0,k[s+4>>2]|0,864e5,0)|0;v=t;k[v>>2]=s;k[v+4>>2]=L;t=BR(k[t>>2]|0,k[t+4>>2]|0,864e5,0)|0;v=u;t=pR(k[v>>2]|0,k[v+4>>2]|0,t|0,L|0)|0;v=u;k[v>>2]=t;k[v+4>>2]=L;if((i[k[y>>2]>>0]|0)==45){v=u;v=pR(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;y=u;k[y>>2]=v;k[y+4>>2]=L}RO(k[w>>2]|0);ZO(k[w>>2]|0);v=u;y=k[w>>2]|0;w=y;w=qR(k[w>>2]|0,k[w+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[y>>2]=w;k[y+4>>2]=L;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+(k[h>>2]|0);while(1){c=k[y>>2]|0;if(!(l[19267+(l[k[y>>2]>>0]|0)>>0]&1))break;k[y>>2]=c+1}v=Sf(c)|0;k[h>>2]=v;if((k[h>>2]|0)>10|(k[h>>2]|0)<3){y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]|0)==115){i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]=0;k[h>>2]=(k[h>>2]|0)+-1}RO(k[w>>2]|0);k[x>>2]=0;p[m>>3]=+p[j>>3]<0.0?-.5:.5;if((k[h>>2]|0)==3?(IQ(k[y>>2]|0,46496)|0)==0:0){A=+p[j>>3]*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L}else s=54;do if((s|0)==54){if((k[h>>2]|0)==4?(IQ(k[y>>2]|0,46500)|0)==0:0){A=+p[j>>3]*36.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(IQ(k[y>>2]|0,46505)|0)==0:0){A=+p[j>>3]*6.0e4+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(IQ(k[y>>2]|0,46512)|0)==0:0){A=+p[j>>3]*1.0e3+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==5?(IQ(k[y>>2]|0,46485)|0)==0:0){SO(k[w>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)+~~+p[j>>3];y=k[(k[w>>2]|0)+12>>2]|0;k[n>>2]=(((k[(k[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[n>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)-((k[n>>2]|0)*12|0);i[(k[w>>2]|0)+42>>0]=0;RO(k[w>>2]|0);k[o>>2]=~~+p[j>>3];if(!(+(k[o>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[o>>2]|0))*30.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==4?(IQ(k[y>>2]|0,46491)|0)==0:0){k[q>>2]=~~+p[j>>3];SO(k[w>>2]|0);y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[q>>2]|0);i[(k[w>>2]|0)+42>>0]=0;RO(k[w>>2]|0);if(!(+(k[q>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[q>>2]|0))*365.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=qR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}k[x>>2]=1}while(0);ZO(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}default:{y=k[x>>2]|0;r=z;return y|0}}return 0}function YO(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,l=0,m=0,n=0,o=0;o=r;r=r+176|0;e=o+96|0;d=o+164|0;f=o+160|0;g=o+156|0;m=o+48|0;n=o;l=o+152|0;j=o+108|0;h=o+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;b=j;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=m;a=k[d>>2]|0;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));SO(m);if((k[m+8>>2]|0)>=1971?(k[m+8>>2]|0)<2038:0){k[h>>2]=~~(+p[m+32>>3]+.5);p[m+32>>3]=+(k[h>>2]|0)}else{k[m+8>>2]=2e3;k[m+12>>2]=1;k[m+16>>2]=1;k[m+20>>2]=0;k[m+24>>2]=0;p[m+32>>3]=0.0}k[m+28>>2]=0;i[m+42>>0]=0;RO(m);h=m;h=zR(k[h>>2]|0,k[h+4>>2]|0,1e3,0)|0;h=pR(h|0,L|0,413362496,49)|0;k[l>>2]=h;if(bP(l,j)|0){te(k[f>>2]|0,46539,-1);k[k[g>>2]>>2]=1;m=e;k[m>>2]=0;k[m+4>>2]=0;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}else{k[n+8>>2]=(k[j+20>>2]|0)+1900;k[n+12>>2]=(k[j+16>>2]|0)+1;k[n+16>>2]=k[j+12>>2];k[n+20>>2]=k[j+8>>2];k[n+24>>2]=k[j+4>>2];p[n+32>>3]=+(k[j>>2]|0);i[n+40>>0]=1;i[n+41>>0]=1;i[n+42>>0]=0;i[n+43>>0]=0;RO(n);k[k[g>>2]>>2]=0;l=n;n=m;n=pR(k[l>>2]|0,k[l+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;m=e;k[m>>2]=n;k[m+4>>2]=L;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}return 0}function ZO(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+40>>0]=0;i[(k[c>>2]|0)+41>>0]=0;i[(k[c>>2]|0)+43>>0]=0;r=b;return}function _O(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;n=o+24|0;q=o+16|0;c=o+48|0;d=o+44|0;e=o+40|0;f=o+36|0;g=o+32|0;m=o+28|0;h=o+8|0;j=o;k[d>>2]=a;k[e>>2]=b;p[h>>3]=0.0;a=k[d>>2]|0;k[q>>2]=f;k[q+4>>2]=g;if(($O(a,46519,q)|0)!=2){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+5;if((i[k[d>>2]>>0]|0)==58){k[d>>2]=(k[d>>2]|0)+1;q=k[d>>2]|0;k[n>>2]=m;if(($O(q,46527,n)|0)!=1){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+2;if((i[k[d>>2]>>0]|0)==46?(l[19267+(l[(k[d>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){p[j>>3]=1.0;k[d>>2]=(k[d>>2]|0)+1;while(1){if(!(l[19267+(l[k[d>>2]>>0]|0)>>0]&4))break;p[h>>3]=+p[h>>3]*10.0+ +(i[k[d>>2]>>0]|0)-48.0;p[j>>3]=+p[j>>3]*10.0;k[d>>2]=(k[d>>2]|0)+1}p[h>>3]=+p[h>>3]/+p[j>>3]}}else k[m>>2]=0;i[(k[e>>2]|0)+42>>0]=0;i[(k[e>>2]|0)+41>>0]=1;k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=k[g>>2];p[(k[e>>2]|0)+32>>3]=+(k[m>>2]|0)+ +p[h>>3];if(aP(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}else{i[(k[e>>2]|0)+43>>0]=(k[(k[e>>2]|0)+28>>2]|0)!=0?1:0;k[c>>2]=0;q=k[c>>2]|0;r=o;return q|0}return 0}function $O(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+28|0;e=s+24|0;g=s+8|0;q=s+4|0;o=s+36|0;f=s+35|0;n=s+34|0;p=s;h=s+32|0;k[d>>2]=a;k[e>>2]=b;k[q>>2]=0;k[g>>2]=c;a:while(1){i[f>>0]=(i[k[e>>2]>>0]|0)-48;i[n>>0]=(i[(k[e>>2]|0)+1>>0]|0)-48;k[p>>2]=0;j[h>>1]=j[17286+((i[(k[e>>2]|0)+2>>0]|0)-97<<1)>>1]|0;i[o>>0]=i[(k[e>>2]|0)+3>>0]|0;k[p>>2]=0;while(1){b=i[f>>0]|0;i[f>>0]=b+-1<<24>>24;if(!(b<<24>>24))break;if(!(l[19267+(l[k[d>>2]>>0]|0)>>0]&4)){d=11;break a}k[p>>2]=((k[p>>2]|0)*10|0)+(i[k[d>>2]>>0]|0)-48;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)<(i[n>>0]|0)){d=11;break}if((k[p>>2]|0)>(m[h>>1]|0)){d=11;break}if((i[o>>0]|0)!=0?(i[o>>0]|0)!=(i[k[d>>2]>>0]|0):0){d=11;break}a=k[p>>2]|0;c=(k[g>>2]|0)+(4-1)&~(4-1);b=k[c>>2]|0;k[g>>2]=c+4;k[b>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+4;if(!(i[o>>0]|0)){d=11;break}}if((d|0)==11){r=s;return k[q>>2]|0}return 0}function aP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o;c=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;g=o+16|0;h=o+12|0;f=o+8|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;while(1){if(!(l[19267+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}k[(k[e>>2]|0)+28>>2]=0;k[f>>2]=i[k[d>>2]>>0];do if((k[f>>2]|0)==45){k[j>>2]=-1;n=11}else{if((k[f>>2]|0)==43){k[j>>2]=1;n=11;break}if((k[f>>2]|0)==90|(k[f>>2]|0)==122){k[d>>2]=(k[d>>2]|0)+1;break}k[c>>2]=(k[f>>2]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}while(0);do if((n|0)==11){k[d>>2]=(k[d>>2]|0)+1;n=k[d>>2]|0;k[m>>2]=g;k[m+4>>2]=h;if(($O(n,46531,m)|0)==2){k[d>>2]=(k[d>>2]|0)+5;n=ha(k[j>>2]|0,(k[h>>2]|0)+((k[g>>2]|0)*60|0)|0)|0;k[(k[e>>2]|0)+28>>2]=n;break}k[c>>2]=1;n=k[c>>2]|0;r=o;return n|0}while(0);while(1){if(!(l[19267+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}i[(k[e>>2]|0)+44>>0]=1;k[c>>2]=(i[k[d>>2]>>0]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}function bP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=Tb(k[g>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[69]|0)!=0?0:a;if(k[d>>2]|0){c=k[c>>2]|0;b=k[d>>2]|0;a=c+44|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(a|0))}k[e>>2]=(k[d>>2]|0)==0&1;r=f;return k[e>>2]|0}function cP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n;d=n+36|0;e=n+32|0;f=n+28|0;j=n+24|0;h=n+20|0;g=n+16|0;m=n+12|0;k[e>>2]=a;k[f>>2]=b;if((i[k[e>>2]>>0]|0)==45){k[e>>2]=(k[e>>2]|0)+1;k[m>>2]=1}else k[m>>2]=0;a=k[e>>2]|0;k[c>>2]=j;k[c+4>>2]=h;k[c+8>>2]=g;if(($O(a,46566,c)|0)!=3){k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}k[e>>2]=(k[e>>2]|0)+10;while(1){if(l[19267+(l[k[e>>2]>>0]|0)>>0]&1)c=1;else c=84==(l[k[e>>2]>>0]|0);b=k[e>>2]|0;if(!c)break;k[e>>2]=b+1}do if(_O(b,k[f>>2]|0)|0){if(!(i[k[e>>2]>>0]|0)){i[(k[f>>2]|0)+41>>0]=0;break}k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}while(0);i[(k[f>>2]|0)+42>>0]=0;i[(k[f>>2]|0)+40>>0]=1;j=k[j>>2]|0;k[(k[f>>2]|0)+8>>2]=(k[m>>2]|0)!=0?0-j|0:j;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[g>>2];if(i[(k[f>>2]|0)+43>>0]|0)RO(k[f>>2]|0);k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}function dP(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=(k[(k[b>>2]|0)+12>>2]|0)+136;a=k[c>>2]|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0?(a=SH(k[k[(k[k[b>>2]>>2]|0)+32>>2]>>2]|0,k[c>>2]|0)|0,k[d>>2]=a,(k[d>>2]|0)!=0):0){d=k[c>>2]|0;k[d>>2]=0;k[d+4>>2]=0}d=k[c>>2]|0;L=k[d+4>>2]|0;r=e;return k[d>>2]|0}function eP(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;d=v+52|0;e=v+48|0;f=v+44|0;u=v+40|0;t=v+36|0;q=v+32|0;j=v+28|0;m=v+24|0;g=v+20|0;h=v+16|0;p=v+12|0;s=v+8|0;n=v+4|0;o=v;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=v;return}a=ke(k[k[f>>2]>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=v;return}a=le(k[k[f>>2]>>2]|0)|0;k[q>>2]=a;a:do if((k[e>>2]|0)!=1){a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[t>>2]=a;if(!a){r=v;return}k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break;a=k[s>>2]|0;k[s>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break b;k[s>>2]=(k[s>>2]|0)+1}while(0);k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)>0){c=k[d>>2]|0;a=k[p>>2]|0;a=BR(a|0,((a|0)<0)<<31>>31|0,5,0)|0;a=QP(c,a,L)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=v;return}k[g>>2]=(k[h>>2]|0)+(k[p>>2]<<2);k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break a;k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]=k[s>>2];a=k[s>>2]|0;k[s>>2]=a+1;c:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break c;k[s>>2]=(k[s>>2]|0)+1}while(0);i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=(k[s>>2]|0)-(k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]|0);k[p>>2]=(k[p>>2]|0)+1}}}else{k[p>>2]=1;k[g>>2]=47041;k[h>>2]=9964;k[t>>2]=0}while(0);if((k[p>>2]|0)>0){s=Fe(k[d>>2]|0)|0;k[j>>2]=s;d:do if((k[j>>2]&1|0)!=0&(k[q>>2]|0)>0)do{k[n>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[n>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[n>>2]|0)<=(k[q>>2]|0)?(FQ(k[u>>2]|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[n>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break d;k[u>>2]=(k[u>>2]|0)+(k[n>>2]|0);k[q>>2]=(k[q>>2]|0)-(k[n>>2]|0)}while((k[q>>2]|0)>0);while(0);e:do if((k[j>>2]&2|0)!=0&(k[q>>2]|0)>0)do{k[o>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[o>>2]|0)<=(k[q>>2]|0)?(FQ((k[u>>2]|0)+((k[q>>2]|0)-(k[o>>2]|0))|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[o>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break e;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}while((k[q>>2]|0)>0);while(0);if(k[t>>2]|0)Ud(k[h>>2]|0)}xe(k[d>>2]|0,k[u>>2]|0,k[q>>2]|0,-1);r=v;return}function fP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(Fe(k[d>>2]|0)|0)==0;k[i>>2]=a?0:-1;a=RP(k[d>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=m;return}k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;if((pe(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0)|0)==5){l=9;break}a=mI(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,k[j>>2]|0)|0;if((a^k[i>>2]|0)>=0)k[h>>2]=k[g>>2];k[g>>2]=(k[g>>2]|0)+1}if((l|0)==9){r=m;return}ze(k[d>>2]|0,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0);r=m;return}function gP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;e=m+28|0;d=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;f=m+4|0;l=m;k[e>>2]=a;k[m+24>>2]=b;k[d>>2]=c;k[h>>2]=k[k[d>>2]>>2];a=He(k[e>>2]|0,40)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=m;return}a=(pe(k[k[d>>2]>>2]|0)|0)==5;d=(j[(k[i>>2]|0)+8>>1]|0)!=0;if(a){if(!d){r=m;return}SP(k[e>>2]|0);r=m;return}b=k[e>>2]|0;if(!d){l=Ge(b)|0;k[(k[i>>2]|0)+32>>2]=l;qh(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}a=RP(b)|0;k[l>>2]=a;a=(Fe(k[e>>2]|0)|0)!=0&1;k[g>>2]=a;l=mI(k[i>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[f>>2]=l;if(!((k[g>>2]|0)!=0&(k[f>>2]|0)<0)?!((k[g>>2]|0)==0&(k[f>>2]|0)>0):0){SP(k[e>>2]|0);r=m;return}qh(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}function hP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(j[(k[c>>2]|0)+8>>1]|0)ze(k[b>>2]|0,k[c>>2]|0);ch(k[c>>2]|0);r=d;return}function iP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;k[e>>2]=0;switch(pe(k[k[g>>2]>>2]|0)|0){case 1:{k[e>>2]=40517;break}case 3:{k[e>>2]=47031;break}case 2:{k[e>>2]=40512;break}case 4:{k[e>>2]=47036;break}default:k[e>>2]=40525}xe(k[d>>2]|0,k[e>>2]|0,-1,0);r=f;return}function jP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+12>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 2:case 1:case 4:{ue(k[d>>2]|0,le(k[k[e>>2]>>2]|0)|0);r=h;return}case 3:{a=ke(k[k[e>>2]>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}k[f>>2]=0;a:while(1){if(!(i[k[g>>2]>>0]|0))break;k[f>>2]=(k[f>>2]|0)+1;a=k[g>>2]|0;k[g>>2]=a+1;if((l[a>>0]|0)<192)continue;while(1){if((l[k[g>>2]>>0]&192|0)!=128)continue a;k[g>>2]=(k[g>>2]|0)+1}}ue(k[d>>2]|0,k[f>>2]|0);r=h;return}default:{we(k[d>>2]|0);r=h;return}}}function kP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+32|0;n=p+28|0;o=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;f=p+4|0;g=p;k[d>>2]=a;k[p+36>>2]=b;k[e>>2]=c;k[f>>2]=1;a=pe(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;a=pe(k[(k[e>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if((k[j>>2]|0)==5|(k[m>>2]|0)==5){r=p;return}b=le(k[k[e>>2]>>2]|0)|0;k[h>>2]=b;b=le(k[(k[e>>2]|0)+4>>2]|0)|0;k[i>>2]=b;b=k[k[e>>2]>>2]|0;if((k[j>>2]|0)==4&(k[m>>2]|0)==4){m=je(b)|0;k[n>>2]=m;m=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=0}else{m=ke(b)|0;k[n>>2]=m;m=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=1}a:while(1){if((k[i>>2]|0)>(k[h>>2]|0))break;if(!(FQ(k[n>>2]|0,k[o>>2]|0,k[i>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1;while(1){k[h>>2]=(k[h>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+1;if(!(k[g>>2]|0))continue a;if(((l[k[n>>2]>>0]|0)&192|0)!=128)continue a}}if((k[i>>2]|0)>(k[h>>2]|0))k[f>>2]=0;ue(k[d>>2]|0,k[f>>2]|0);r=p;return}function lP(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,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;p=q+28|0;f=q+24|0;h=q+20|0;m=q+8|0;n=q;g=q+16|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;if((pe(k[(k[e>>2]|0)+4>>2]|0)|0)==5){r=q;return}if((k[d>>2]|0)==3?(pe(k[(k[e>>2]|0)+8>>2]|0)|0)==5:0){r=q;return}a=pe(k[k[e>>2]>>2]|0)|0;k[h>>2]=a;a=ne(k[(k[e>>2]|0)+4>>2]|0)|0;b=m;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=k[k[e>>2]>>2]|0;a:do if((k[h>>2]|0)==4){a=le(b)|0;k[f>>2]=a;a=je(k[k[e>>2]>>2]|0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}}else{a=ke(b)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}k[f>>2]=0;if((k[m+4>>2]|0)<0){k[p>>2]=k[o>>2];while(1){if(!(i[k[p>>2]>>0]|0))break a;a=k[p>>2]|0;k[p>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break b;k[p>>2]=(k[p>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}}}while(0);if((k[d>>2]|0)==3){d=ne(k[(k[e>>2]|0)+8>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;if((k[n+4>>2]|0)<0){d=n;d=pR(0,0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;k[g>>2]=1}}else{d=(Ge(k[j>>2]|0)|0)+88|0;d=k[d>>2]|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31}do if((k[m+4>>2]|0)<0){d=k[f>>2]|0;e=m;d=qR(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;if((k[m+4>>2]|0)<0){c=m;d=n;c=qR(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=L;a=n;k[a>>2]=c;k[a+4>>2]=d;a=(k[n+4>>2]|0)<0;e=n;k[e>>2]=a?0:c;k[e+4>>2]=a?0:d;e=m;k[e>>2]=0;k[e+4>>2]=0}}else{e=m;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=m;d=qR(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;break}e=n;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=n;d=qR(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=n;k[e>>2]=d;k[e+4>>2]=L}}while(0);if((k[g>>2]|0)!=0?(e=n,g=m,e=pR(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0,g=m,k[g>>2]=e,k[g+4>>2]=L,(k[m+4>>2]|0)<0):0){e=m;g=n;e=qR(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;g=n;k[g>>2]=e;k[g+4>>2]=L;g=m;k[g>>2]=0;k[g+4>>2]=0}if((k[h>>2]|0)==4){e=m;h=n;h=qR(k[e>>2]|0,k[e+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;e=L;p=k[f>>2]|0;g=((p|0)<0)<<31>>31;if((e|0)>(g|0)|(e|0)==(g|0)&h>>>0>p>>>0){h=k[f>>2]|0;f=m;f=pR(h|0,((h|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=L;g=n;k[g>>2]=f;k[g+4>>2]=h;g=(k[n+4>>2]|0)<0;p=n;k[p>>2]=g?0:f;k[p+4>>2]=g?0:h}p=n;re(k[j>>2]|0,(k[o>>2]|0)+(k[m>>2]|0)|0,k[p>>2]|0,k[p+4>>2]|0,-1);r=q;return}while(1){h=m;b=k[o>>2]|0;if(!((l[k[o>>2]>>0]|0)!=0?(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0:0))break;k[o>>2]=b+1;c:do if((l[b>>0]|0)>=192)while(1){if((l[k[o>>2]>>0]&192|0)!=128)break c;k[o>>2]=(k[o>>2]|0)+1}while(0);g=m;g=qR(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;h=m;k[h>>2]=g;k[h+4>>2]=L}k[p>>2]=b;while(1){m=n;if(!((l[k[p>>2]>>0]|0)!=0?(k[m>>2]|0)!=0|(k[m+4>>2]|0)!=0:0))break;m=k[p>>2]|0;k[p>>2]=m+1;d:do if((l[m>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break d;k[p>>2]=(k[p>>2]|0)+1}while(0);h=n;h=qR(k[h>>2]|0,k[h+4>>2]|0,-1,-1)|0;m=n;k[m>>2]=h;k[m+4>>2]=L}p=(k[p>>2]|0)-(k[o>>2]|0)|0;ye(k[j>>2]|0,k[o>>2]|0,p,((p|0)<0)<<31>>31,-1,1);r=q;return}function mP(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,l=0,m=0,n=0,o=0;o=r;r=r+80|0;l=o;d=o+64|0;e=o+60|0;f=o+56|0;m=o+44|0;j=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ge(k[d>>2]|0)|0;k[g>>2]=a;if((k[e>>2]|0)<1){r=o;return}a=ke(k[k[f>>2]>>2]|0)|0;k[n>>2]=a;if(!a){r=o;return}k[m>>2]=(k[e>>2]|0)-1;k[m+4>>2]=0;k[m+8>>2]=(k[f>>2]|0)+4;mg(j,k[g>>2]|0,0,0,k[(k[g>>2]|0)+88>>2]|0);i[j+25>>0]=2;n=k[n>>2]|0;k[l>>2]=m;jA(j,n,l);k[h>>2]=k[j+12>>2];m=k[d>>2]|0;n=og(j)|0;xe(m,n,k[h>>2]|0,170);r=o;return}function nP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=ke(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}if(!(l[k[e>>2]>>0]|0)){r=f;return}g=k[d>>2]|0;ue(g,tC(e)|0);r=f;return}function oP(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,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n;g=n+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(k[e>>2]<<2)+1|0;a=Td(a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;k[m>>2]=a;if(!(k[l>>2]|0)){De(k[d>>2]|0);r=n;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;o=oe(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;a=L;c=j;k[c>>2]=o;k[c+4>>2]=a;c=j;b=k[c+4>>2]|0;c=(k[j+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>1114111);b=j;k[b>>2]=c?65533:o;k[b+4>>2]=c?0:a;k[g>>2]=k[j>>2]&2097151;b=k[g>>2]|0;do if((k[g>>2]|0)>>>0>=128){c=k[g>>2]|0;if(b>>>0<2048){a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=192+(c>>>6&31);a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}b=k[g>>2]|0;if(c>>>0<65536){o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=224+(b>>>12&15);o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}else{a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=240+(b>>>18&7);a=128+((k[g>>2]|0)>>>12&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}}else{o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=b}while(0);k[h>>2]=(k[h>>2]|0)+1}o=(k[m>>2]|0)-(k[l>>2]|0)|0;ye(k[d>>2]|0,k[l>>2]|0,o,((o|0)<0)<<31>>31,148,1);r=n;return}function pP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=r;r=r+32|0;d=h+24|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[h+20>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{a=oe(k[k[e>>2]>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;do if((k[f+4>>2]|0)<0){g=f;if(!((k[g>>2]|0)==0?(k[g+4>>2]|0)==-2147483648:0)){a=f;a=pR(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;break}te(k[d>>2]|0,46986,-1);r=h;return}while(0);g=f;ve(k[d>>2]|0,k[g>>2]|0,k[g+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{i=+me(k[k[e>>2]>>2]|0);p[g>>3]=i;if(+p[g>>3]<0.0)p[g>>3]=-+p[g>>3];se(k[d>>2]|0,+p[g>>3]);r=h;return}}}function qP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0.0;j=r;r=r+48|0;h=j+8|0;d=j+40|0;l=j+36|0;e=j+32|0;f=j+28|0;g=j;i=j+24|0;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=0;do if((k[l>>2]|0)==2)if(5==(pe(k[(k[e>>2]|0)+4>>2]|0)|0)){r=j;return}else{l=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=l;l=(k[f>>2]|0)>30?30:l;k[f>>2]=l;k[f>>2]=(k[f>>2]|0)<0?0:l;break}while(0);if((pe(k[k[e>>2]>>2]|0)|0)==5){r=j;return}m=+me(k[k[e>>2]>>2]|0);p[g>>3]=m;do if((k[f>>2]|0)==0&+p[g>>3]>=0.0&+p[g>>3]<9223372036854775808.0){m=+p[g>>3]+.5;m=+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);p[g>>3]=m}else{if((k[f>>2]|0)==0&+p[g>>3]<0.0?-+p[g>>3]<9223372036854775808.0:0){m=-+p[g>>3]+.5;m=-(+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0));p[g>>3]=m;break}m=+p[g>>3];k[h>>2]=k[f>>2];p[h+8>>3]=m;l=Yd(47026,h)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;Uy(l,g,Sf(k[i>>2]|0)|0,1)|0;Ud(k[i>>2]|0);break}De(k[d>>2]|0);r=j;return}while(0);se(k[d>>2]|0,+p[g>>3]);r=j;return}function rP(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,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=ke(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=le(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=qR(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=QP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[(k[h>>2]|0)+(k[e>>2]|0)>>0]&~(l[19267+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]&32);k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function sP(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,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=ke(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=le(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=qR(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=QP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[18477+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]|0;k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function tP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;xe(a,tf()|0,-1,0);r=d;return}function uP(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,m=0,n=0,o=0;n=r;r=r+48|0;d=n+28|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;e=n+32|0;k[d>>2]=a;k[n+24>>2]=b;k[o>>2]=c;c=je(k[k[o>>2]>>2]|0)|0;k[h>>2]=c;c=le(k[k[o>>2]>>2]|0)|0;k[g>>2]=c;c=k[d>>2]|0;a=k[g>>2]|0;a=BR(a|0,((a|0)<0)<<31>>31|0,2,0)|0;a=qR(a|0,L|0,1,0)|0;a=QP(c,a,L)|0;k[m>>2]=a;k[j>>2]=a;if(!(k[m>>2]|0)){r=n;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;i[e>>0]=i[k[h>>2]>>0]|0;o=i[47010+((l[e>>0]|0)>>4&15)>>0]|0;a=k[j>>2]|0;k[j>>2]=a+1;i[a>>0]=o;a=i[47010+((l[e>>0]|0)&15)>>0]|0;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=a;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}i[k[j>>2]>>0]=0;xe(k[d>>2]|0,k[m>>2]|0,k[g>>2]<<1,148);r=n;return}function vP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;e=f;k[d>>2]=a;k[f+12>>2]=b;k[f+8>>2]=c;ae(8,e);if((k[e+4>>2]|0)<0){c=e;c=pR(0,0,k[c>>2]|0,k[c+4>>2]&2147483647|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L}ve(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);r=f;return}function wP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[g+12>>2]=b;k[h>>2]=c;a=ne(k[k[h>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<1?1:a;a=k[e>>2]|0;a=QP(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=g;return}ae(k[e>>2]|0,k[f>>2]|0);qe(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0,148);r=g;return}function xP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;e=f+4|0;g=f;k[d>>2]=a;k[f+8>>2]=b;k[e>>2]=c;a=RP(k[d>>2]|0)|0;k[g>>2]=a;if(!(mI(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0)){r=f;return}ze(k[d>>2]|0,k[k[e>>2]>>2]|0);r=f;return}function yP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;xe(a,uf()|0,-1,0);r=d;return}function zP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d;f=d+4|0;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;a=ne(k[k[f>>2]>>2]|0)|0;c=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[e>>2]=c;$d(a,19255,e);r=d;return}function AP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=ke(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!a){r=f;return}g=k[d>>2]|0;ue(g,Id(k[e>>2]|0)|0);r=f;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+4|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[g>>2]=c;a=ne(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;xe(a,Kd(k[e>>2]|0)|0,-1,0);r=d;return}function CP(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,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=r;r=r+144|0;s=y+32|0;q=y+24|0;d=y+80|0;e=y+72|0;n=y+16|0;o=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;m=y+60|0;f=y+56|0;g=y+52|0;h=y+48|0;j=y;u=y+44|0;t=y+40|0;k[d>>2]=a;k[y+76>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 2:{z=+me(k[k[e>>2]>>2]|0);p[n>>3]=z;p[q>>3]=+p[n>>3];_d(50,w,29142,q)|0;Uy(w,o,20,1)|0;if(+p[n>>3]!=+p[o>>3]){p[s>>3]=+p[n>>3];_d(50,w,47003,s)|0}xe(k[d>>2]|0,w,-1,-1);r=y;return}case 1:{ze(k[d>>2]|0,k[k[e>>2]>>2]|0);r=y;return}case 4:{k[x>>2]=0;u=je(k[k[e>>2]>>2]|0)|0;k[v>>2]=u;u=le(k[k[e>>2]>>2]|0)|0;k[m>>2]=u;u=k[d>>2]|0;w=k[m>>2]|0;w=QP(u,qR(BR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,L|0,4,0)|0,L)|0;k[x>>2]=w;if(!(k[x>>2]|0)){r=y;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;i[(k[x>>2]|0)+((k[f>>2]<<1)+2)>>0]=i[47010+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]>>4&15)>>0]|0;i[(k[x>>2]|0)+((k[f>>2]<<1)+3)>>0]=i[47010+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]&15)>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[x>>2]|0)+((k[m>>2]<<1)+2)>>0]=39;i[(k[x>>2]|0)+((k[m>>2]<<1)+3)>>0]=0;i[k[x>>2]>>0]=88;i[(k[x>>2]|0)+1>>0]=39;xe(k[d>>2]|0,k[x>>2]|0,-1,-1);Ud(k[x>>2]|0);r=y;return}case 3:{x=ke(k[k[e>>2]>>2]|0)|0;k[u>>2]=x;if(!(k[u>>2]|0)){r=y;return}k[g>>2]=0;x=j;k[x>>2]=0;k[x+4>>2]=0;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=j;w=qR(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=j;k[x>>2]=w;k[x+4>>2]=L}k[g>>2]=(k[g>>2]|0)+1}w=k[d>>2]|0;v=k[g>>2]|0;x=j;x=qR(v|0,((v|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;x=qR(x|0,L|0,3,0)|0;x=QP(w,x,L)|0;k[t>>2]=x;if(!(k[t>>2]|0)){r=y;return}i[k[t>>2]>>0]=39;k[g>>2]=0;k[h>>2]=1;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;w=i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=w;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39}k[g>>2]=(k[g>>2]|0)+1}x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39;i[(k[t>>2]|0)+(k[h>>2]|0)>>0]=0;xe(k[d>>2]|0,k[t>>2]|0,k[h>>2]|0,148);r=y;return}default:{xe(k[d>>2]|0,40498,4,0);r=y;return}}}function DP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Ge(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;a=yf(k[e>>2]|0)|0;ve(c,a,L);r=d;return}function EP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;ue(a,zf(k[e>>2]|0)|0);r=d;return}function FP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;ue(a,Af(k[e>>2]|0)|0);r=d;return}function GP(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;o=w+64|0;d=w+56|0;v=w+52|0;m=w+48|0;n=w+44|0;u=w+40|0;s=w+36|0;h=w+32|0;j=w+28|0;g=w;f=w+24|0;p=w+20|0;q=w+16|0;t=w+12|0;e=w+8|0;k[o>>2]=a;k[w+60>>2]=b;k[d>>2]=c;a=ke(k[k[d>>2]>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){r=w;return}a=le(k[k[d>>2]>>2]|0)|0;k[s>>2]=a;a=ke(k[(k[d>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){r=w;return}if(!(l[k[m>>2]>>0]|0)){ze(k[o>>2]|0,k[k[d>>2]>>2]|0);r=w;return}a=le(k[(k[d>>2]|0)+4>>2]|0)|0;k[h>>2]=a;a=ke(k[(k[d>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){r=w;return}c=le(k[(k[d>>2]|0)+8>>2]|0)|0;k[j>>2]=c;c=(k[s>>2]|0)+1|0;a=g;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;a=g;a=QP(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=w;return}k[f>>2]=(k[s>>2]|0)-(k[h>>2]|0);k[q>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>(k[f>>2]|0)){d=18;break}if((l[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0|0)==(l[k[m>>2]>>0]|0|0)?(FQ((k[v>>2]|0)+(k[p>>2]|0)|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0){d=Ge(k[o>>2]|0)|0;k[e>>2]=d;d=(k[j>>2]|0)-(k[h>>2]|0)|0;c=g;d=qR(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c=g;k[c>>2]=d;k[c+4>>2]=L;c=g;c=pR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;d=L;a=k[(k[e>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if((d|0)>(b|0)|(d|0)==(b|0)&c>>>0>a>>>0){d=13;break}k[t>>2]=k[u>>2];a=k[g>>2]|0;a=Wd(k[u>>2]|0,a,((a|0)<0)<<31>>31)|0;k[u>>2]=a;if(!(k[u>>2]|0)){d=15;break}sR((k[u>>2]|0)+(k[q>>2]|0)|0,k[n>>2]|0,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[j>>2]|0);k[p>>2]=(k[p>>2]|0)+((k[h>>2]|0)-1)}else{c=i[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0;a=k[q>>2]|0;k[q>>2]=a+1;i[(k[u>>2]|0)+a>>0]=c}k[p>>2]=(k[p>>2]|0)+1}if((d|0)==13){Ce(k[o>>2]|0);Ud(k[u>>2]|0);r=w;return}else if((d|0)==15){De(k[o>>2]|0);Ud(k[t>>2]|0);r=w;return}else if((d|0)==18){sR((k[u>>2]|0)+(k[q>>2]|0)|0,(k[v>>2]|0)+(k[p>>2]|0)|0,(k[s>>2]|0)-(k[p>>2]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+((k[s>>2]|0)-(k[p>>2]|0));i[(k[u>>2]|0)+(k[q>>2]|0)>>0]=0;xe(k[o>>2]|0,k[u>>2]|0,k[q>>2]|0,148);r=w;return}}function HP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;d=f+20|0;h=f+12|0;g=f;e=f+8|0;k[d>>2]=a;k[f+16>>2]=b;k[h>>2]=c;h=oe(k[k[h>>2]>>2]|0)|0;c=L;b=g;k[b>>2]=h;k[b+4>>2]=c;b=(k[g+4>>2]|0)<0;a=g;k[a>>2]=b?0:h;k[a+4>>2]=b?0:c;a=g;a=Ae(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}Be(k[d>>2]|0,k[e>>2]|0);r=f;return}function IP(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,m=0.0;h=r;r=r+32|0;j=h+24|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[j>>2]=a;k[h+20>>2]=b;k[d>>2]=c;a=He(k[j>>2]|0,32)|0;k[e>>2]=a;a=bf(k[k[d>>2]>>2]|0)|0;k[f>>2]=a;if(!((k[e>>2]|0)!=0&(k[f>>2]|0)!=5)){r=h;return}j=(k[e>>2]|0)+16|0;a=j;a=qR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[j>>2]=a;k[j+4>>2]=L;d=k[k[d>>2]>>2]|0;if((k[f>>2]|0)!=1){m=+me(d);j=k[e>>2]|0;p[j>>3]=+p[j>>3]+m;i[(k[e>>2]|0)+25>>0]=1;r=h;return}j=oe(d)|0;f=g;k[f>>2]=j;k[f+4>>2]=L;f=g;j=k[e>>2]|0;p[j>>3]=+p[j>>3]+(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0));if(l[(k[e>>2]|0)+25>>0]|0|(l[(k[e>>2]|0)+24>>0]|0)){r=h;return}j=g;if(!(iI((k[e>>2]|0)+8|0,k[j>>2]|0,k[j+4>>2]|0)|0)){r=h;return}i[(k[e>>2]|0)+24>>0]=1;r=h;return}function JP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}if(i[(k[c>>2]|0)+24>>0]|0){te(k[b>>2]|0,46986,-1);r=d;return}b=k[b>>2]|0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+25>>0]|0){se(b,+p[a>>3]);r=d;return}else{e=a+8|0;ve(b,k[e>>2]|0,k[e+4>>2]|0);r=d;return}}function KP(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=He(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){e=0.0;se(a,e);r=c;return}e=+p[k[b>>2]>>3];se(a,e);r=c;return}function LP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}e=(k[c>>2]|0)+16|0;se(k[b>>2]|0,+p[k[c>>2]>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)));r=d;return}function MP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;a=He(k[h>>2]|0,8)|0;k[e>>2]=a;if(!(k[g>>2]|0)){if(!(k[e>>2]|0)){r=f;return}}else{h=5!=(pe(k[k[d>>2]>>2]|0)|0);if(!(h&(k[e>>2]|0)!=0)){r=f;return}}h=k[e>>2]|0;g=h;g=qR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[h>>2]=g;k[h+4>>2]=L;r=f;return}function NP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=He(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){b=0;d=0;ve(a,b,d);r=c;return}d=k[b>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0;ve(a,b,d);r=c;return}function OP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+36|0;e=o+32|0;f=o+28|0;n=o+24|0;l=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;g=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=o;return}a=He(k[d>>2]|0,28)|0;k[l>>2]=a;if(!(k[l>>2]|0)){r=o;return}a=Ge(k[d>>2]|0)|0;k[g>>2]=a;k[h>>2]=(k[(k[l>>2]|0)+20>>2]|0)==0&1;k[(k[l>>2]|0)+20>>2]=k[(k[g>>2]|0)+88>>2];if(!(k[h>>2]|0)){if((k[e>>2]|0)==2){h=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[m>>2]=h;h=le(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=h}else{k[m>>2]=38266;k[i>>2]=1}if(k[i>>2]|0)kA(k[l>>2]|0,k[m>>2]|0,k[i>>2]|0)}m=ke(k[k[f>>2]>>2]|0)|0;k[n>>2]=m;m=le(k[k[f>>2]>>2]|0)|0;k[j>>2]=m;if(!(k[n>>2]|0)){r=o;return}kA(k[l>>2]|0,k[n>>2]|0,k[j>>2]|0);r=o;return}function PP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if((l[(k[c>>2]|0)+24>>0]|0|0)==2){Ce(k[b>>2]|0);r=d;return}b=k[b>>2]|0;if((l[(k[c>>2]|0)+24>>0]|0|0)==1){De(b);r=d;return}else{xe(b,og(k[c>>2]|0)|0,-1,148);r=d;return}}function QP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g;f=g+12|0;i=g+8|0;k[d>>2]=a;h=e;k[h>>2]=b;k[h+4>>2]=c;c=Ge(k[d>>2]|0)|0;k[i>>2]=c;c=e;h=k[c+4>>2]|0;a=k[(k[i>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if((h|0)>(b|0)|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){Ce(k[d>>2]|0);k[f>>2]=0;i=k[f>>2]|0;r=g;return i|0}i=e;i=ig(k[i>>2]|0,k[i+4>>2]|0)|0;k[f>>2]=i;if(k[f>>2]|0){i=k[f>>2]|0;r=g;return i|0}De(k[d>>2]|0);i=k[f>>2]|0;r=g;return i|0}function RP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(((k[(k[d>>2]|0)+16>>2]|0)-1|0)*20|0);r=c;return k[(k[b>>2]|0)+16>>2]|0}function SP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+24>>0]=1;r=b;return}function TP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=ju(k[d>>2]|0,k[e>>2]|0)|0;b=k[(k[d>>2]|0)+528>>2]|0;k[b>>2]=(k[b>>2]|0)+a;r=c;return}function UP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){c=k[d>>2]|0;g=k[e>>2]|0;ag(c,g);r=h;return}k[g>>2]=k[e>>2];while(1){if((k[g>>2]|0)>>>0>=((k[e>>2]|0)+((k[f>>2]|0)*20|0)|0)>>>0)break;if(i[(k[g>>2]|0)+1>>0]|0)AA(k[d>>2]|0,i[(k[g>>2]|0)+1>>0]|0,k[(k[g>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+20}c=k[d>>2]|0;g=k[e>>2]|0;ag(c,g);r=h;return}function VP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[f>>2]|0))break;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+528>>2]|0)!=0:0)){a=k[(k[f>>2]|0)+12>>2]|0;if(k[(k[f>>2]|0)+16>>2]|0)k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2]=a;else{k[e>>2]=a;a=k[f>>2]|0;if(k[e>>2]|0)a=k[(k[a+12>>2]|0)+8>>2]|0;else a=k[a+8>>2]|0;k[h>>2]=a;Yj((k[(k[d>>2]|0)+64>>2]|0)+56|0,k[h>>2]|0,k[e>>2]|0)|0}if(k[(k[f>>2]|0)+12>>2]|0)k[(k[(k[f>>2]|0)+12>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2]}VF(k[c>>2]|0,k[(k[f>>2]|0)+28>>2]|0);VF(k[c>>2]|0,k[(k[f>>2]|0)+28+4>>2]|0);k[g>>2]=k[(k[f>>2]|0)+4>>2];ag(k[c>>2]|0,k[f>>2]|0);k[f>>2]=k[g>>2]}r=i;return}function WP(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function XP(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function YP(a){a=a|0;return (a+-97|0)>>>0<26|0}function ZP(a){a=a|0;return (a+-65|0)>>>0<26|0}function _P(a){a=a|0;var b=0;b=(ZP(a)|0)==0;return (b?a:a|32)|0}function $P(a){a=a|0;var b=0;b=(YP(a)|0)==0;return (b?a:a&95)|0}function aQ(){var a=0;if(!(k[2492]|0))a=10016;else{a=(zb()|0)+60|0;a=k[a>>2]|0}return a|0}function bQ(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[47177+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=47265;c=5;break}}if((c|0)==2)if(!b)a=47265;else{a=47265;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function cQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+192|0;h=s+152|0;g=s+136|0;q=s+120|0;p=s+104|0;o=s+96|0;l=s+80|0;j=s+64|0;e=s+48|0;m=s+32|0;f=s+16|0;d=s;t=s+176|0;i=s+168|0;k[t>>2]=c;c=(k[t>>2]|0)+(4-1)&~(4-1);n=k[c>>2]|0;k[t>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{k[d>>2]=a;k[d+4>>2]=14;k[d+8>>2]=n;c=fQ(vb(221,d|0)|0)|0;break}case 9:{k[f>>2]=a;k[f+4>>2]=16;k[f+8>>2]=i;c=vb(221,f|0)|0;switch(c|0){case -22:{k[m>>2]=a;k[m+4>>2]=9;k[m+8>>2]=n;c=vb(221,m|0)|0;break a}case 0:{c=k[i+4>>2]|0;c=(k[i>>2]|0)==2?0-c|0:c;break a}default:{c=fQ(c)|0;break a}}}case 1030:{k[e>>2]=a;k[e+4>>2]=1030;k[e+8>>2]=n;c=vb(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){k[j>>2]=c;k[j+4>>2]=2;k[j+8>>2]=1;vb(221,j|0)|0}c=fQ(c)|0;break a}k[l>>2]=a;k[l+4>>2]=1030;k[l+8>>2]=0;c=vb(221,l|0)|0;if((c|0)==-22){k[p>>2]=a;k[p+4>>2]=0;k[p+8>>2]=n;c=vb(221,p|0)|0;if((c|0)>-1){k[q>>2]=c;k[q+4>>2]=2;k[q+8>>2]=1;vb(221,q|0)|0}c=fQ(c)|0;break a}else{if((c|0)>-1){k[o>>2]=c;Lb(6,o|0)|0}c=fQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=n;c=fQ(vb(221,g|0)|0)|0;break a}else{k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=n;c=fQ(vb(221,h|0)|0)|0;break a}}while(0);r=s;return c|0}function dQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d;f=d+16|0;k[f>>2]=c;g=(k[f>>2]|0)+(4-1)&~(4-1);c=k[g>>2]|0;k[f>>2]=g+4;k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=c;c=fQ(Mb(5,e|0)|0)|0;r=d;return c|0}function eQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){i[a+c>>0]=i[49069+c>>0]|0;if((c|0)==14)break;else c=c+1|0}if(!b){i[a+14>>0]=48;i[a+15>>0]=0}else{c=14;d=b;while(1){c=c+1|0;if(d>>>0<10)break;else d=(d>>>0)/10|0}i[a+c>>0]=0;while(1){c=c+-1|0;i[a+c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}}return}function fQ(a){a=a|0;var b=0;if(a>>>0>4294963200){b=aQ()|0;k[b>>2]=0-a;a=-1}return a|0}function gQ(a){a=+a;return +(+ea(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function hQ(a){a=+a;var b=0;p[t>>3]=a;b=rR(k[t>>2]|0,k[t+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+fa(+(a*2.0-1.0/(+X(+(a*a+-1.0))+a)));break}else{a=+fa(+a)+.6931471805599453;break}else{a=a+-1.0;a=+nQ(a+ +X(+(a*a+a*2.0)))}while(0);return +a}function iQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=rR(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+fa(+(a*2.0+1.0/(a+ +X(+(a*a+1.0)))));break}if(b>>>0>996){e=a*a;a=+nQ(a+e/(+X(+(e+1.0))+1.0))}}else a=+fa(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function jQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=rR(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];if(b>>>0<1022){if(b>>>0>=991){e=a*2.0;a=+nQ(e+a*e/(1.0-a))*.5}}else a=+nQ(a/(1.0-a)*2.0)*.5;return +((c|0)<0?-a:a)}function kQ(a){a=+a;var b=0;p[t>>3]=a;b=k[t+4>>2]&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+lQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+ea(+a);a=(a+1.0/a)*.5;break}else{a=+gQ(a);break}while(0);return +a}function lQ(a){a=+a;var b=0.0,c=0.0,d=0,e=0,f=0,g=0,h=0.0,i=0,j=0.0;p[t>>3]=a;d=k[t>>2]|0;e=k[t+4>>2]|0;f=e&2147483647;g=rR(d|0,e|0,63)|0;do if(f>>>0>1078159481){f=e&2147483647;if(!(f>>>0>2146435072|(f|0)==2146435072&d>>>0>0))if(!g)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{h=0.0;f=0;i=14;break}if(f>>>0<1072734898)if(!g){b=a+-.6931471803691238;d=1;c=1.9082149292705877e-10;i=12;break}else{b=a+.6931471803691238;d=-1;c=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){d=~~(a*1.4426950408889634+((g|0)!=0?-.5:.5));c=+(d|0);b=a-c*.6931471803691238;c=c*1.9082149292705877e-10;i=12}if((i|0)==12){h=b-c;a=h;h=b-h-c;f=d;i=14}a:do if((i|0)==14){c=a*.5;b=a*c;j=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;c=3.0-c*j;c=b*((j-c)/(6.0-a*c));if(!f){a=a-(a*c-b);break}b=a*(c-h)-h-b;switch(f|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{g=vR(f+1023|0,0,52)|0;i=L;k[t>>2]=g;k[t+4>>2]=i;c=+p[t>>3];if(f>>>0>56){a=a-b+1.0;a=((f|0)==1024?a*2.0*8988465674311579538646525.0e283:c*a)+-1.0;break a}d=vR(1023-f|0,0,52)|0;e=L;if((f|0)<20){k[t>>2]=d;k[t+4>>2]=e;a=1.0-+p[t>>3]+(a-b)}else{k[t>>2]=d;k[t+4>>2]=e;a=a-(+p[t>>3]+b)+1.0}a=c*a;break a}}}while(0);return +a}function mQ(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;c=k[t>>2]|0;b=k[t+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[t>>3]=a*18014398509481984.0;b=k[t+4>>2]|0;d=k[t>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;k[t>>2]=d;k[t+4>>2]=(e&1048575)+1072079006;j=+p[t>>3]+-1.0;a=j*(j*.5);h=j/(j+2.0);i=h*h;g=i*i;p[t>>3]=j-a;d=k[t+4>>2]|0;k[t>>2]=0;k[t+4>>2]=d;f=+p[t>>3];a=h*(a+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(j-f-a);j=f*.4342944818781689;g=+(c+(e>>>20)|0);i=g*.30102999566361177;h=i+j;a=h+(j+(i-h)+(a*.4342944818781689+(g*3.694239077158931e-13+(f+a)*2.5082946711645275e-11)))}return +a}function nQ(a){a=+a;var b=0,c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;b=k[t+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){f=vR(b|0,0,1)|0;if(f>>>0<2034237440)break;if(b>>>0<3218259653){d=0.0;c=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-B;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){c=a+1.0;p[t>>3]=c;b=(k[t+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54)a=((e|0)>1?1.0-(c-a):a-(c+-1.0))/c;else a=0.0;k[t>>2]=k[t>>2];k[t+4>>2]=(b&1048575)+1072079006;d=a;a=+p[t>>3]+-1.0;c=+(e|0);e=11}if((e|0)==11){g=a*(a*.5);j=a/(a+2.0);i=j*j;h=i*i;a=c*.6931471803691238+(a+(d+c*1.9082149292705877e-10+j*(g+(h*(h*(h*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(h*(h*(h*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-g))}return +a}function oQ(a){a=+a;var b=0.0,c=0.0,d=0;p[t>>3]=a;d=k[t+4>>2]|0;c=(d|0)<0?-.5:.5;d=d&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=d;b=+p[t>>3];do if(d>>>0<1082535490){b=+lQ(b);if(d>>>0>=1072693248){a=c*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=c*(b*2.0-b*b/(b+1.0))}else a=c*2.0*+gQ(b);while(0);return +a}function pQ(a){a=+a;var b=0,c=0;p[t>>3]=a;c=k[t+4>>2]|0;b=c&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+lQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+lQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+lQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function qQ(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,i=0;i=r;r=r+32|0;g=i;do if((f&4095|0)==0&(((f|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){e=aQ()|0;k[e>>2]=12;e=-1;break}h=(d&16|0)!=0;if(h)fR(-1);k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=c;k[g+12>>2]=d;k[g+16>>2]=e;k[g+20>>2]=f>>12;e=fQ(lb(192,g|0)|0)|0;if(h)gR()}else{e=aQ()|0;k[e>>2]=22;e=-1}while(0);r=i;return e|0}function rQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;fR(-1);k[d>>2]=a;k[d+4>>2]=b;a=fQ(eb(91,d|0)|0)|0;gR();r=c;return a|0}function sQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=sb(94,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){eQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=fQ(Fb(15,f|0)|0)|0}else c=fQ(c)|0;r=g;return c|0}function tQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=mb(197,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){eQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=fQ(ob(195,f|0)|0)|0}else c=fQ(c)|0;r=g;return c|0}function uQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=fQ(nb(196,d|0)|0)|0;r=c;return a|0}function vQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=fQ(gb(39,d|0)|0)|0;r=c;return a|0}function wQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=fQ(ob(195,d|0)|0)|0;r=c;return a|0}function xQ(a){a=a|0;return 0}function yQ(a){a=a|0;return}function zQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=fQ(Lb(6,c|0)|0)|0;r=b;return a|0}function AQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((fQ(Eb(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function BQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[2492]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=fQ(Vb(146,m|0)|0)|0}else{Ua(154,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=fQ(Vb(146,l|0)|0)|0;Ma(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function CQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=163;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(Ta(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=BQ(a,b,c)|0;r=e;return d|0}function DQ(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=cR(a)|0;break}c=(xQ(a)|0)==0;b=cR(a)|0;if(!c)yQ(a)}else{if(!(k[2503]|0))b=0;else b=DQ(k[2503]|0)|0;Kb(9996);a=k[2498]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=xQ(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=cR(a)|0|b;if(c)yQ(a);a=k[a+56>>2]|0}while((a|0)!=0);Db(9996)}while(0);return b|0}function EQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+208|0;n=q+8|0;o=q;e=ha(c,b)|0;m=o;k[m>>2]=1;k[m+4>>2]=0;if(e){h=e-c|0;k[n+4>>2]=c;k[n>>2]=c;f=c;b=c;g=2;while(1){b=b+c+f|0;k[n+(g<<2)>>2]=b;if(b>>>0>>0){m=f;f=b;g=g+1|0;b=m}else break}m=0-c|0;i=a+h|0;l=o+4|0;if((h|0)>0){h=i;e=1;g=1;while(1){do if((e&3|0)==3){dR(a,c,d,g,n);j=k[l>>2]|0;b=j<<30|(k[o>>2]|0)>>>2;k[o>>2]=b;k[l>>2]=j>>>2;g=g+2|0}else{b=g+-1|0;if((k[n+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)dR(a,c,d,g,n);else eR(a,c,d,o,g,0,n);if((g|0)==1){b=k[o>>2]|0;k[l>>2]=b>>>31|k[l>>2]<<1;b=b<<1;k[o>>2]=b;g=0;break}if(b>>>0>31){e=k[o>>2]|0;k[l>>2]=e;k[o>>2]=0;b=g+-33|0;f=0}else{e=k[l>>2]|0;f=k[o>>2]|0}k[l>>2]=f>>>(32-b|0)|e<>2]=b;g=1}while(0);e=b|1;k[o>>2]=e;b=a+c|0;if(b>>>0>=i>>>0){e=b;break}else a=b}}else{e=a;g=1}eR(e,c,d,o,g,0,n);j=o+4|0;b=k[o>>2]|0;if(!((g|0)==1&(b|0)==1&(k[j>>2]|0)==0)){f=e;while(1){if((g|0)<2){e=b+-1|0;do if(e){if(!(e&1)){h=e;e=0;do{e=e+1|0;h=h>>>1}while((h&1|0)==0);if(!e)p=24}else p=24;if((p|0)==24){p=0;i=k[l>>2]|0;if(!i){e=64;p=30;break}if(!(i&1)){h=i;e=0}else{a=0;h=i;e=0;break}while(1){a=e+1|0;h=h>>>1;if(h&1){h=a;break}else e=a}if(!h){a=0;h=i;e=0;break}else e=e+33|0}if(e>>>0>31)p=30;else{a=e;h=k[l>>2]|0}}else{e=32;p=30}while(0);if((p|0)==30){p=0;b=k[l>>2]|0;k[o>>2]=b;k[l>>2]=0;a=e+-32|0;h=0}k[o>>2]=h<<32-a|b>>>a;k[l>>2]=h>>>a;f=f+m|0;e=e+g|0}else{a=b>>>30;i=a|k[l>>2]<<2;e=g+-2|0;k[o>>2]=(b<<1&2147483646|a<<31)^3;k[l>>2]=i>>>1;eR(f+(0-((k[n+(e<<2)>>2]|0)+c))|0,c,d,o,g+-1|0,1,n);i=k[o>>2]|0;k[l>>2]=i>>>31|k[l>>2]<<1;k[o>>2]=i<<1|1;f=f+m|0;eR(f,c,d,o,e,1,n)}b=k[o>>2]|0;if((e|0)==1&(b|0)==1&(k[j>>2]|0)==0)break;else g=e}}}r=q;return}function FQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)c=0;else{e=c;d=a;while(1){a=i[d>>0]|0;c=i[b>>0]|0;if(a<<24>>24!=c<<24>>24)break;e=e+-1|0;if(!e){c=0;break a}else{d=d+1|0;b=b+1|0}}c=(a&255)-(c&255)|0}while(0);return c|0}function GQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function HQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;do if(!((e^a)&3)){d=(c|0)!=0;a:do if(d&(e&3|0)!=0)while(1){e=i[b>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break a;c=c+-1|0;b=b+1|0;a=a+1|0;d=(c|0)!=0;if(!(d&(b&3|0)!=0)){f=5;break}}else f=5;while(0);if((f|0)==5)if(!d){c=0;break}if(i[b>>0]|0){b:do if(c>>>0>3)do{d=k[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009)break b;k[a>>2]=d;c=c+-4|0;b=b+4|0;a=a+4|0}while(c>>>0>3);while(0);f=11}}else f=11;while(0);c:do if((f|0)==11)if(!c)c=0;else while(1){f=i[b>>0]|0;i[a>>0]=f;if(!(f<<24>>24))break c;c=c+-1|0;a=a+1|0;if(!c){c=0;break}else b=b+1|0}while(0);uR(a|0,0,c|0)|0;return a|0}function IQ(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function JQ(a,b){a=a|0;b=b|0;GQ(a,b)|0;return a|0}function KQ(a){a=a|0;var b=0,c=0;c=(LQ(a)|0)+1|0;b=iR(c)|0;if(!b)b=0;else sR(b|0,a|0,c|0)|0;return b|0}function LQ(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function MQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function NQ(a,b,c){a=a|0;b=b|0;c=c|0;HQ(a,b,c)|0;return a|0}function OQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=fQ(Bb(33,d|0)|0)|0;r=c;return a|0}function PQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Lb(6,c|0)|0;a=fQ((a|0)==-4?-115:a)|0;r=b;return a|0}function QQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+64|0;g=h+24|0;f=h+16|0;d=h;e=h+36|0;k[d>>2]=a;k[d+4>>2]=b;k[d+8>>2]=c;d=Ub(207,d|0)|0;if((d|0)==-9?(k[f>>2]=a,k[f+4>>2]=1,(vb(221,f|0)|0)>=0):0){eQ(e,a);k[g>>2]=e;k[g+4>>2]=b;k[g+8>>2]=c;d=fQ(qb(212,g|0)|0)|0}else d=fQ(d)|0;r=h;return d|0}function RQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=fQ(Xa(118,c|0)|0)|0;r=b;return a|0}function SQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=b;k[d+12>>2]=((b|0)<0)<<31>>31;b=fQ(pb(194,d|0)|0)|0;r=c;return b|0}function TQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+4112|0;d=f;c=f+8|0;if(a)if(!b){a=aQ()|0;k[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((fQ(_a(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=KQ(c)|0}else a=0}r=f;return a|0}function UQ(){var a=0,b=0;b=r;r=r+16|0;a=yb(201,b|0)|0;r=b;return a|0}function VQ(){var a=0,b=0;b=r;r=r+16|0;a=Za(20,b|0)|0;r=b;return a|0}function WQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=a;k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;c=(fQ(Eb(140,f|0)|0)|0)!=0;r=e;return (c?-1:k[d>>2]|0)|0}function XQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=fQ(Jb(3,e|0)|0)|0;r=d;return a|0}function YQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=fQ(Na(85,e|0)|0)|0;r=d;return a|0}function ZQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=fQ(Wa(40,c|0)|0)|0;r=b;return a|0}function _Q(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b+4>>2]=0;a=(tb(b|0,b|0)|0)==0;r=c;return (a?0:k[b>>2]|0)|0}function $Q(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=fQ(Hb(10,c|0)|0)|0;r=b;return a|0}function aR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=fQ(Nb(4,e|0)|0)|0;r=d;return a|0}function bR(a){a=a|0;if(!(k[a+68>>2]|0))yQ(a);return}function cR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Yb[k[a+36>>2]&255](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)Yb[k[a+40>>2]&255](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function dR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+240|0;n=o;k[n>>2]=a;a:do if((d|0)>1){m=0-b|0;f=d;g=a;i=a;j=1;while(1){a=g+m|0;l=f+-2|0;h=g+(0-((k[e+(l<<2)>>2]|0)+b))|0;if((gc[c&255](i,h)|0)>-1?(gc[c&255](i,a)|0)>-1:0){d=j;break a}d=j+1|0;g=n+(j<<2)|0;if((gc[c&255](h,a)|0)>-1){k[g>>2]=h;a=h;f=f+-1|0}else{k[g>>2]=a;f=l}if((f|0)<=1)break a;g=a;i=k[n>>2]|0;j=d}}else d=1;while(0);hR(b,n,d);r=o;return}function eR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+240|0;o=q;i=k[d>>2]|0;d=k[d+4>>2]|0;k[o>>2]=a;n=0-b|0;a:do if((d|0)!=0|(i|0)!=1?(h=a+(0-(k[g+(e<<2)>>2]|0))|0,(gc[c&255](h,a)|0)>=1):0){f=(f|0)==0;m=h;j=i;l=d;h=1;while(1){if(f&(e|0)>1){d=k[g+(e+-2<<2)>>2]|0;if((gc[c&255](a+n|0,m)|0)>-1){f=e;d=h;p=20;break a}if((gc[c&255](a+(0-(d+b))|0,m)|0)>-1){f=e;d=h;p=20;break a}}d=h+1|0;k[o+(h<<2)>>2]=m;f=j+-1|0;do if(f){if(!(f&1)){a=f;f=0;do{f=f+1|0;a=a>>>1}while((a&1|0)==0);if(!f)p=11}else p=11;if((p|0)==11){p=0;if(!l){f=64;p=16;break}if(!(l&1)){a=l;f=0}else{i=0;a=j;h=l;f=0;break}while(1){h=f+1|0;a=a>>>1;if(a&1){a=h;break}else f=h}if(!a){i=0;a=j;h=l;f=0;break}else f=f+33|0}if(f>>>0>31)p=16;else{i=f;a=j;h=l}}else{f=32;p=16}while(0);if((p|0)==16){p=0;i=f+-32|0;a=l;h=0}j=h<<32-i|a>>>i;l=h>>>i;f=f+e|0;if(!((l|0)!=0|(j|0)!=1)){a=m;p=20;break a}a=m+(0-(k[g+(f<<2)>>2]|0))|0;if((gc[c&255](a,k[o>>2]|0)|0)<1){a=m;e=f;f=0;p=19;break}else{i=m;e=f;f=1;m=a;h=d;a=i}}}else{d=1;p=19}while(0);if((p|0)==19?(f|0)==0:0){f=e;p=20}if((p|0)==20){hR(b,o,d);dR(a,b,c,f,g)}r=q;return}function fR(a){a=a|0;return}function gR(){return}function hR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+256|0;d=g;a:do if((c|0)>=2?(f=b+(c<<2)|0,k[f>>2]=d,(a|0)!=0):0)while(1){e=a>>>0>256?256:a;sR(d|0,k[b>>2]|0,e|0)|0;d=0;do{h=b+(d<<2)|0;d=d+1|0;sR(k[h>>2]|0,k[b+(d<<2)>>2]|0,e|0)|0;k[h>>2]=(k[h>>2]|0)+e}while((d|0)!=(c|0));if((a|0)==(e|0))break a;a=a-e|0;d=k[f>>2]|0}while(0);r=g;return}function iR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[2533]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=10172+(d<<2)|0;d=10172+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[2537]|0)>>>0)Va();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Va()}else k[2533]=h&~(1<>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[2535]|0;if(o>>>0>g>>>0){if(c){d=2<>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=10172+(d<<2)|0;d=10172+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[2537]|0)>>>0)Va();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[2535]|0;break}else Va()}else{k[2533]=h&~(1<>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[2538]|0;c=j>>>3;b=c<<1;d=10172+(b<<2)|0;a=k[2533]|0;c=1<>2]|0;if(b>>>0<(k[2537]|0)>>>0)Va();else{l=a;m=b}}else{k[2533]=a|c;l=10172+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[2535]=g;k[2538]=h;M=i;return M|0}a=k[2534]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[10436+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0>>0;c=M?a:c;a=b;d=M?b:d}f=k[2537]|0;if(d>>>0>>0)Va();h=d+o|0;if(d>>>0>=h>>>0)Va();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(d|0))Va();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Va()}while(0);do if(g){b=k[d+28>>2]|0;a=10436+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[2537]|0;if(n>>>0>>0)Va();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[2537]|0)>>>0)Va();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[2535]|0;if(b){f=k[2538]|0;c=b>>>3;b=c<<1;e=10172+(b<<2)|0;a=k[2533]|0;c=1<>2]|0;if(a>>>0<(k[2537]|0)>>>0)Va();else{p=b;q=a}}else{k[2533]=a|c;p=10172+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[2535]=i;k[2538]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[2534]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(p|q|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[10436+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[10436+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[2535]|0)-m|0)>>>0:0){e=k[2537]|0;if(i>>>0>>0)Va();g=i+m|0;if(i>>>0>=g>>>0)Va();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Va();b=d+12|0;if((k[b>>2]|0)!=(i|0))Va();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Va()}while(0);do if(f){b=k[i+28>>2]|0;a=10436+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[2537]|0;if(o>>>0>>0)Va();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2537]|0)>>>0)Va();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=10172+(a<<2)|0;c=k[2533]|0;b=1<>2]|0;if(a>>>0<(k[2537]|0)>>>0)Va();else{s=b;t=a}}else{k[2533]=c|b;s=10172+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=10436+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[2534]|0;c=1<>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[2537]|0)>>>0)Va();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[2537]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Va()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[2535]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[2538]|0;if(b>>>0>15){k[2538]=a+q;k[2535]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[2535]=0;k[2538]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[2536]|0;if(a>>>0>q>>>0){L=a-q|0;k[2536]=L;M=k[2539]|0;k[2539]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[2651]|0)){a=rb(30)|0;if(!(a+-1&a)){k[2653]=a;k[2652]=a;k[2654]=-1;k[2655]=-1;k[2656]=0;k[2644]=0;y=(Ob(0)|0)&-16^1431655768;k[2651]=y;break}else Va()}while(0);i=q+48|0;h=k[2653]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[2643]|0;if((a|0)!=0?(t=k[2641]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[2644]&4)){a=k[2539]|0;e:do if(a){e=10580;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[2536]|0)&h;if(c>>>0<2147483647){e=kb(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=kb(0)|0;if((f|0)!=(-1|0)){a=f;c=k[2652]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[2641]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[2643]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=kb(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[2653]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((kb(u|0)|0)==(-1|0)){kb(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[2644]=k[2644]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=kb(l|0)|0,x=kb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[2641]|0)+p|0;k[2641]=a;if(a>>>0>(k[2642]|0)>>>0)k[2642]=a;g=k[2539]|0;g:do if(g){f=10580;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[2536]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[2539]=g+L;k[2536]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[2540]=k[2655];break}a=k[2537]|0;if(w>>>0>>0){k[2537]=w;a=w}c=w+p|0;f=10580;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=10580;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[2538]|0)){M=(k[2535]|0)+l|0;k[2535]=M;k[2538]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((k[a>>2]|0)!=(b|0))Va();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Va()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=10436+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[2537]|0)>>>0)Va();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[2534]=k[2534]&~(1<>>0>>0)Va();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Va();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[2537]|0)>>>0)Va();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=10172+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){k[2533]=k[2533]&~(1<>>0>>0)Va();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Va()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=10172+(a<<2)|0;c=k[2533]|0;b=1<>2]|0;if(a>>>0>=(k[2537]|0)>>>0){K=b;L=a;break}Va()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=10436+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[2534]|0;c=1<>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[2537]|0)>>>0)Va();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[2537]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Va()}else{M=(k[2536]|0)+l|0;k[2536]=M;k[2539]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=10580;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[2539]=w+c;k[2536]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[2540]=k[2655];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2645];k[b+4>>2]=k[2646];k[b+8>>2]=k[2647];k[b+12>>2]=k[2648];k[2645]=w;k[2646]=p;k[2648]=0;k[2647]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=10172+(a<<2)|0;c=k[2533]|0;b=1<>2]|0;if(a>>>0<(k[2537]|0)>>>0)Va();else{G=b;H=a}}else{k[2533]=c|b;G=10172+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=10436+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[2534]|0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[2537]|0)>>>0)Va();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[2537]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Va()}}else{M=k[2537]|0;if((M|0)==0|w>>>0>>0)k[2537]=w;k[2645]=w;k[2646]=p;k[2648]=0;k[2542]=k[2651];k[2541]=-1;b=0;do{M=b<<1;L=10172+(M<<2)|0;k[10172+(M+3<<2)>>2]=L;k[10172+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[2539]=w+M;k[2536]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[2540]=k[2655]}while(0);b=k[2536]|0;if(b>>>0>q>>>0){L=b-q|0;k[2536]=L;M=k[2539]|0;k[2539]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=aQ()|0;k[M>>2]=12;M=0;return M|0}function jR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[2537]|0;if(b>>>0>>0)Va();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Va();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0>>0)Va();if((l|0)==(k[2538]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[2535]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=10172+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)!=(l|0))Va()}if((c|0)==(d|0)){k[2533]=k[2533]&~(1<>>0>>0)Va();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Va()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)Va();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(l|0))Va();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Va()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=10436+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[2537]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[2537]|0)>>>0)Va();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Va();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Va();if(!(c&2)){if((q|0)==(k[2539]|0)){t=(k[2536]|0)+f|0;k[2536]=t;k[2539]=u;k[u+4>>2]=t|1;if((u|0)!=(k[2538]|0))return;k[2538]=0;k[2535]=0;return}if((q|0)==(k[2538]|0)){t=(k[2535]|0)+f|0;k[2535]=t;k[2538]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[2537]|0)>>>0)Va();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[2537]|0)>>>0)Va();d=c+12|0;if((k[d>>2]|0)!=(q|0))Va();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Va()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=10436+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[2537]|0;if(p>>>0>>0)Va();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[2537]|0)>>>0)Va();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=10172+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[2537]|0)>>>0)Va();if((k[d+12>>2]|0)!=(q|0))Va()}if((c|0)==(d|0)){k[2533]=k[2533]&~(1<>>0<(k[2537]|0)>>>0)Va();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Va()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[2538]|0)){k[2535]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=10172+(c<<2)|0;d=k[2533]|0;b=1<>2]|0;if(c>>>0<(k[2537]|0)>>>0)Va();else{r=b;s=c}}else{k[2533]=d|b;r=10172+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=10436+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[2534]|0;d=1<>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[2537]|0)>>>0)Va();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[2537]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Va()}else{k[2534]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[2541]|0)+-1|0;k[2541]=u;if(!u)b=10588;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[2541]=-1;return}function kR(a,b){a=a|0;b=b|0;var c=0;if(a){c=ha(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;b=iR(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;uR(b|0,0,c|0)|0;return b|0}function lR(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=iR(b)|0;return a|0}if(b>>>0>4294967231){a=aQ()|0;k[a>>2]=12;a=0;return a|0}c=mR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=iR(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;sR(c|0,a|0,(d>>>0>>0?d:b)|0)|0;jR(a);a=c;return a|0}function mR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[2537]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0>>0))Va();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Va();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[2653]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;nR(a+b|0,c);return a|0}if((l|0)==(k[2539]|0)){c=(k[2536]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[2539]=a+b;k[2536]=n;return a|0}if((l|0)==(k[2538]|0)){d=(k[2535]|0)+i|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[2535]=c;k[2538]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();c=e+12|0;if((k[c>>2]|0)!=(l|0))Va();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Va()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=10436+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[2537]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[2537]|0)>>>0)Va();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=10172+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(l|0))Va()}if((d|0)==(e|0)){k[2533]=k[2533]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Va()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;nR(a+b|0,n);return a|0}return 0}function nR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[2537]|0;if(n>>>0>>0)Va();if((n|0)==(k[2538]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[2535]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=10172+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(n|0))Va()}if((d|0)==(e|0)){k[2533]=k[2533]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Va()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(n|0))Va();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Va()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=10436+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[2537]|0;if(l>>>0>>0)Va();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0>>0)Va();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[2537]|0)>>>0)Va();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[2537]|0;if(q>>>0>>0)Va();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[2539]|0)){s=(k[2536]|0)+g|0;k[2536]=s;k[2539]=t;k[t+4>>2]=s|1;if((t|0)!=(k[2538]|0))return;k[2538]=0;k[2535]=0;return}if((q|0)==(k[2538]|0)){s=(k[2535]|0)+g|0;k[2535]=s;k[2538]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(q|0))Va();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Va()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=10436+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[2534]=k[2534]&~(1<>>0<(k[2537]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[2537]|0;if(p>>>0>>0)Va();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[2537]|0)>>>0)Va();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=10172+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(q|0))Va()}if((d|0)==(e|0)){k[2533]=k[2533]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Va()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[2538]|0)){k[2535]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=10172+(d<<2)|0;e=k[2533]|0;c=1<>2]|0;if(d>>>0<(k[2537]|0)>>>0)Va();else{r=c;s=d}}else{k[2533]=e|c;r=10172+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=10436+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[2534]|0;e=1<>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[2537]|0)>>>0)Va();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[2537]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Va();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function oR(){}function pR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function qR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function rR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function sR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return ub(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function tR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else sR(a,b,c)|0;return a|0}function uR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function vR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function xR(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function yR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function zR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=pR(j^a,i^b,j,i)|0;g=L;a=f^j;b=e^i;return pR((ER(h,g,pR(f^c,e^d,f,e)|0,L,0)|0)^a,L^b,a,b)|0}function AR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=pR(g^a,f^b,g,f)|0;b=L;ER(a,b,pR(j^c,i^d,j,i)|0,L,h)|0;d=pR(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=L;r=e;return (L=c,d)|0}function BR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=yR(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function CR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ER(a,b,c,d,0)|0}function DR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;ER(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0} -function Um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;z=F+80|0;o=F+76|0;e=F+72|0;A=F+68|0;B=F+64|0;x=F+60|0;m=F+56|0;D=F+52|0;C=F+48|0;u=F;n=F+44|0;p=F+40|0;g=F+36|0;h=F+85|0;v=F+32|0;j=F+28|0;s=F+24|0;f=F+20|0;q=F+84|0;y=F+16|0;w=F+12|0;t=F+8|0;k[o>>2]=a;k[e>>2]=b;k[A>>2]=c;k[B>>2]=d;k[x>>2]=k[(k[e>>2]|0)+20>>2];k[m>>2]=k[k[o>>2]>>2];k[k[B>>2]>>2]=0;if((k[(k[x>>2]|0)+68>>2]|0)<(k[(k[m>>2]|0)+24>>2]|0)?(k[(k[x>>2]|0)+68>>2]|0)!=(k[A>>2]|0):0){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a=(k[e>>2]|0)+24|0;d=k[a+4>>2]|0;b=u;k[b>>2]=k[a>>2];k[b+4>>2]=d;k[D>>2]=k[(k[x>>2]|0)+28>>2];b=u;d=(k[o>>2]|0)+32|0;if(!(!((k[b>>2]|0)!=(k[d>>2]|0)?1:(k[b+4>>2]|0)!=(k[d+4>>2]|0))?(l[(k[e>>2]|0)+32>>0]|0)==0:0))E=6;do if((E|0)==6){k[n>>2]=0;k[p>>2]=l[(k[m>>2]|0)+231>>0];k[g>>2]=0;i[h>>0]=0;k[j>>2]=k[e>>2];k[v>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[v>>2]|0))break;if((k[k[v>>2]>>2]|0)==4)k[g>>2]=1;if((k[k[v>>2]>>2]|0)==1)k[j>>2]=k[v>>2];if(i[(k[v>>2]|0)+32>>0]|0)i[h>>0]=1;k[v>>2]=k[(k[v>>2]|0)+8>>2]}if(!(k[g>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a:do if(k[(k[x>>2]|0)+40>>2]|0){k[f>>2]=l[(k[j>>2]|0)+32>>0];Wm(k[o>>2]|0,k[j>>2]|0,n);b:while(1){if(k[n>>2]|0)break a;while(1){if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break a;Xm(k[o>>2]|0,k[j>>2]|0,n);if(k[f>>2]|0)continue b;m=(k[j>>2]|0)+24|0;d=u;if(!(((k[m>>2]|0)!=(k[d>>2]|0)?1:(k[m+4>>2]|0)!=(k[d+4>>2]|0))&(k[n>>2]|0)==0))break a}}}while(0);c:do if((i[h>>0]|0)!=0&(k[n>>2]|0)==0)do{if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break c;Xm(k[o>>2]|0,k[j>>2]|0,n)}while((k[n>>2]|0)==0);while(0);if(k[n>>2]|0){k[z>>2]=k[n>>2];E=k[z>>2]|0;r=F;return E|0}k[s>>2]=1;k[v>>2]=k[j>>2];while(1){if(!(k[v>>2]|0))break;i[q>>0]=0;k[y>>2]=k[v>>2];if((k[k[y>>2]>>2]|0)==1)k[y>>2]=k[(k[y>>2]|0)+16>>2];k[w>>2]=k[(k[y>>2]|0)+20>>2];k[D>>2]=k[(k[w>>2]|0)+48>>2];d=(k[w>>2]|0)+56|0;n=k[d+4>>2]|0;e=u;k[e>>2]=k[d>>2];k[e+4>>2]=n;e=(k[(k[w>>2]|0)+4>>2]|0)!=0;d:do if((l[(k[o>>2]|0)+52>>0]|0)==(k[p>>2]|0)){if(e)e=(k[D>>2]|0)>>>0>=((k[k[w>>2]>>2]|0)+(k[(k[w>>2]|0)+4>>2]|0)|0)>>>0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=pR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,BR(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,(L|0)>=0):0)break d;if(l[q>>0]|0)break d;Ym(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,q)}}else{if(e)if(k[D>>2]|0)e=(k[D>>2]|0)>>>0<=(k[k[w>>2]>>2]|0)>>>0;else e=0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=pR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,n=BR(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,d=L,!((d|0)>0|(d|0)==0&n>>>0>0)):0)break d;if(l[q>>0]|0)break d;em(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,t,q)}}while(0);k[(k[w>>2]|0)+48>>2]=k[D>>2];m=u;d=k[m+4>>2]|0;n=(k[w>>2]|0)+56|0;k[n>>2]=k[m>>2];k[n+4>>2]=d;if(!((l[q>>0]|0)==0?(d=u,n=(k[o>>2]|0)+32|0,!((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))):0))k[s>>2]=0;k[v>>2]=k[(k[v>>2]|0)+12>>2]}if(k[s>>2]|0){k[D>>2]=k[(k[x>>2]|0)+48>>2];break}else{k[D>>2]=0;break}}while(0);if(!(k[D>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if((i[k[D>>2]>>0]|0)==1){k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=dm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}else k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[A>>2]|0))break;bm(0,D);if(!(i[k[D>>2]>>0]|0)){E=65;break}k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=dm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}if((E|0)==65){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if(!(i[k[D>>2]>>0]|0))k[D>>2]=0;k[k[B>>2]>>2]=(k[A>>2]|0)==(k[C>>2]|0)?k[D>>2]|0:0;k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}function Vm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;e=f+4|0;c=f+12|0;d=f;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];i[c>>0]=0;k[d>>2]=0;while(1){a=k[e>>2]|0;if(!(254&(i[k[e>>2]>>0]|i[c>>0])))break;k[e>>2]=a+1;i[c>>0]=i[a>>0]&128;if(i[c>>0]|0)continue;k[d>>2]=(k[d>>2]|0)+1}k[k[b>>2]>>2]=a;r=f;return k[d>>2]|0}function Wm(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=l;return}if(k[k[f>>2]>>2]|0){r=l;return}k[h>>2]=k[(k[e>>2]|0)+20>>2];if(k[h>>2]|0){Zm(k[h>>2]|0);if(k[(k[h>>2]|0)+40>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0))break;k[j>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);if(k[(k[j>>2]|0)+20>>2]|0)gn(k[(k[j>>2]|0)+20>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+1}j=hn(k[d>>2]|0,0,k[h>>2]|0)|0;k[k[f>>2]>>2]=j}k[(k[h>>2]|0)+8>>2]=0;j=(k[h>>2]|0)+16|0;k[j>>2]=0;k[j+4>>2]=0;k[(k[h>>2]|0)+48>>2]=0}j=(k[e>>2]|0)+24|0;k[j>>2]=0;k[j+4>>2]=0;i[(k[e>>2]|0)+32>>0]=0;i[(k[e>>2]|0)+33>>0]=0;Wm(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0);Wm(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0);r=l;return}function Xm(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;o=x+64|0;w=x+60|0;p=x+56|0;q=x+52|0;u=x+48|0;v=x+44|0;j=x+8|0;s=x+40|0;t=x+36|0;m=x+32|0;n=x+28|0;h=x;d=x+24|0;f=x+20|0;e=x+16|0;k[o>>2]=a;k[w>>2]=b;k[p>>2]=c;if(k[k[p>>2]>>2]|0){r=x;return}k[q>>2]=l[(k[o>>2]|0)+52>>0];i[(k[w>>2]|0)+33>>0]=1;switch(k[k[w>>2]>>2]|0){case 3:case 1:{k[u>>2]=k[(k[w>>2]|0)+12>>2];k[v>>2]=k[(k[w>>2]|0)+16>>2];if(i[(k[u>>2]|0)+34>>0]|0){Xm(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);s=(k[v>>2]|0)+24|0;t=k[s+4>>2]|0;u=(k[w>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[v>>2]|0)+32>>0]|0;r=x;return}n=(i[(k[v>>2]|0)+34>>0]|0)!=0;Xm(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0);if(n){s=(k[u>>2]|0)+24|0;t=k[s+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[s>>2];k[v+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[u>>2]|0)+32>>0]|0;r=x;return}Xm(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);while(1){if(i[(k[u>>2]|0)+32>>0]|0)break;if(i[(k[v>>2]|0)+32>>0]|0)break;if(k[k[p>>2]>>2]|0)break;n=(k[q>>2]|0)!=0?-1:1;h=(k[u>>2]|0)+24|0;m=(k[v>>2]|0)+24|0;m=pR(k[h>>2]|0,k[h+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;m=BR(n|0,((n|0)<0)<<31>>31|0,m|0,L|0)|0;n=j;k[n>>2]=m;k[n+4>>2]=L;n=j;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0)break;a=k[o>>2]|0;if((k[j+4>>2]|0)<0){Xm(a,k[u>>2]|0,k[p>>2]|0);continue}else{Xm(a,k[v>>2]|0,k[p>>2]|0);continue}}m=(k[u>>2]|0)+24|0;n=k[m+4>>2]|0;q=(k[w>>2]|0)+24|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;if(l[(k[u>>2]|0)+32>>0]|0)a=1;else a=(l[(k[v>>2]|0)+32>>0]|0)!=0;i[(k[w>>2]|0)+32>>0]=a&1;if((k[k[w>>2]>>2]|0)!=1){r=x;return}if(!(l[(k[w>>2]|0)+32>>0]|0)){r=x;return}a:do if((k[(k[v>>2]|0)+20>>2]|0)!=0?(k[k[(k[v>>2]|0)+20>>2]>>2]|0)!=0:0){k[s>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0)break a;if(l[(k[v>>2]|0)+32>>0]|0)break a;uR(k[(k[s>>2]|0)+28>>2]|0,0,k[(k[s>>2]|0)+32>>2]|0)|0;Xm(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0)}}while(0);if(!(k[(k[u>>2]|0)+20>>2]|0)){r=x;return}if(!(k[k[(k[u>>2]|0)+20>>2]>>2]|0)){r=x;return}k[t>>2]=k[(k[u>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0){g=53;break}if(l[(k[u>>2]|0)+32>>0]|0){g=53;break}uR(k[(k[t>>2]|0)+28>>2]|0,0,k[(k[t>>2]|0)+32>>2]|0)|0;Xm(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0)}if((g|0)==53){r=x;return}break}case 4:{k[m>>2]=k[(k[w>>2]|0)+12>>2];k[n>>2]=k[(k[w>>2]|0)+16>>2];v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=pR(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=BR(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;do if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){if((l[(k[m>>2]|0)+32>>0]|0)==0?(v=h,u=k[v+4>>2]|0,!((l[(k[n>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(k[v>>2]|0)>>>0>0))):0){Xm(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);Xm(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);break}Xm(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0)}else g=33;while(0);if((g|0)==33)Xm(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);if(l[(k[m>>2]|0)+32>>0]|0)a=(l[(k[n>>2]|0)+32>>0]|0)!=0;else a=0;i[(k[w>>2]|0)+32>>0]=a&1;v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=pR(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=BR(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){u=(k[n>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}u=(k[m>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}case 2:{k[d>>2]=k[(k[w>>2]|0)+12>>2];k[f>>2]=k[(k[w>>2]|0)+16>>2];if(!(l[(k[f>>2]|0)+33>>0]|0))Xm(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0);Xm(k[o>>2]|0,k[d>>2]|0,k[p>>2]|0);b:do if(!(l[(k[d>>2]|0)+32>>0]|0))while(1){if(k[k[p>>2]>>2]|0)break b;if(i[(k[f>>2]|0)+32>>0]|0)break b;u=(k[q>>2]|0)!=0?-1:1;t=(k[d>>2]|0)+24|0;v=(k[f>>2]|0)+24|0;v=pR(k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=BR(u|0,((u|0)<0)<<31>>31|0,v|0,L|0)|0;u=L;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Xm(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0)}while(0);t=(k[d>>2]|0)+24|0;u=k[t+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[t>>2];k[v+4>>2]=u;i[(k[w>>2]|0)+32>>0]=i[(k[d>>2]|0)+32>>0]|0;r=x;return}default:{k[e>>2]=k[(k[w>>2]|0)+20>>2];Zm(k[e>>2]|0);u=_m(k[o>>2]|0,k[e>>2]|0,(k[w>>2]|0)+32|0)|0;k[k[p>>2]>>2]=u;u=(k[e>>2]|0)+16|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}}}function Ym(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;p=q+8|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[p>>2]=k[k[l>>2]>>2];if(!(k[p>>2]|0)){k[p>>2]=k[h>>2];o=cm(k[p>>2]|0,k[m>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+o;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}hm(0,p);while(1){if((k[p>>2]|0)>>>0<((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0)a=(i[k[p>>2]>>0]|0)==0;else a=0;b=k[p>>2]|0;if(!a)break;k[p>>2]=b+1}if(b>>>0>=((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0){i[k[n>>2]>>0]=1;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}else{j=cm(k[p>>2]|0,o)|0;k[p>>2]=(k[p>>2]|0)+j;j=(k[g>>2]|0)!=0?-1:1;n=o;n=BR(j|0,((j|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;o=k[m>>2]|0;m=o;n=qR(k[m>>2]|0,k[m+4>>2]|0,n|0,L|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}}function Zm(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+24>>2]|0)Ud(k[(k[b>>2]|0)+28>>2]|0);k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+24>>2]=0;r=c;return}function _m(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;d=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=k[d>>2];k[g>>2]=k[k[j>>2]>>2];b=k[j>>2]|0;if(k[(k[d>>2]|0)+40>>2]|0){j=$m(b,k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}if((l[b+52>>0]|0|0)!=(l[(k[g>>2]|0)+231>>0]|0|0)?(k[(k[f>>2]|0)+4>>2]|0)!=0:0){em(l[(k[g>>2]|0)+231>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[f>>2]|0)+8|0,(k[f>>2]|0)+16|0,(k[f>>2]|0)+32|0,k[e>>2]|0);k[(k[f>>2]|0)+28>>2]=k[(k[f>>2]|0)+8>>2];j=k[h>>2]|0;r=i;return j|0}an(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);j=k[h>>2]|0;r=i;return j|0}function $m(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+192|0;e=D+172|0;d=D+168|0;f=D+164|0;g=D+160|0;A=D+156|0;v=D+152|0;z=D+148|0;n=D+176|0;m=D+144|0;h=D+8|0;o=D+140|0;q=D;p=D+136|0;u=D+132|0;s=D+128|0;j=D+124|0;w=D+120|0;y=D+116|0;x=D+112|0;t=D+108|0;B=D+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[A>>2]=0;k[v>>2]=k[f>>2];k[z>>2]=k[k[d>>2]>>2];i[n>>0]=0;if((k[(k[f>>2]|0)+64>>2]|0)==1?(k[(k[f>>2]|0)+40>>2]|0)!=0:0){B=bn(k[z>>2]|0,k[(k[f>>2]|0)+72+20>>2]|0,(k[v>>2]|0)+16|0,(k[v>>2]|0)+28|0,(k[v>>2]|0)+32|0)|0;k[A>>2]=B;if(!(k[(k[v>>2]|0)+28>>2]|0))i[n>>0]=1}else C=5;a:do if((C|0)==5){k[m>>2]=l[(k[d>>2]|0)+52>>0];d=h;b=d+96|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(b|0));while(1){if(l[n>>0]|0)break a;k[o>>2]=0;c=q;k[c>>2]=0;k[c+4>>2]=0;k[p>>2]=0;while(1){if(k[A>>2]|0)break;if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;if(l[n>>0]|0)break;c=cn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=c;do if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){if((k[o>>2]|0)!=0?(a=(k[m>>2]|0)!=0?-1:1,b=q,c=h+((k[p>>2]|0)*24|0)+8|0,c=pR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0,BR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0,(L|0)>=0):0)break;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[o>>2]=1}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;while(1){if(k[A>>2]|0)break;if(l[n>>0]|0)break;if(k[h+((k[p>>2]|0)*24|0)>>2]|0)break;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=pR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;BR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;if((L|0)>=0)break;a=cn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=a;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=pR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=BR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;a=L;if(!((a|0)>0|(a|0)==0&c>>>0>0))continue;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[p>>2]=0}k[p>>2]=(k[p>>2]|0)+1}if(l[n>>0]|0)continue;k[u>>2]=0;k[s>>2]=k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c=Sd((k[s>>2]|0)+1|0)|0;k[j>>2]=c;if(!(k[j>>2]|0))break;sR(k[j>>2]|0,k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(k[s>>2]|0)+1|0)|0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=((k[(k[f>>2]|0)+64>>2]|0)-1|0))break;if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){k[w>>2]=k[h+((k[p>>2]|0)*24|0)+16>>2];k[y>>2]=k[j>>2];k[x>>2]=k[j>>2];k[t>>2]=(k[(k[f>>2]|0)+64>>2]|0)-1-(k[p>>2]|0);c=dn(x,k[t>>2]|0,0,1,w,y)|0;k[B>>2]=c;if(!(k[B>>2]|0))break;k[u>>2]=(k[x>>2]|0)-(k[j>>2]|0)}k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)==((k[(k[f>>2]|0)+64>>2]|0)-1|0)){C=35;break}Ud(k[j>>2]|0)}if((C|0)==35){z=q;B=k[z+4>>2]|0;C=(k[v>>2]|0)+16|0;k[C>>2]=k[z>>2];k[C+4>>2]=B;k[(k[v>>2]|0)+28>>2]=k[j>>2];k[(k[v>>2]|0)+32>>2]=k[u>>2];k[(k[v>>2]|0)+24>>2]=1;break}k[e>>2]=7;C=k[e>>2]|0;r=D;return C|0}while(0);i[k[g>>2]>>0]=i[n>>0]|0;k[e>>2]=k[A>>2];C=k[e>>2]|0;r=D;return C|0}function an(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,m=0;m=r;r=r+32|0;d=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;e=m;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);b=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[j>>2]=k[b+8>>2];else k[j>>2]=k[b>>2];if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){i[k[g>>2]>>0]=1;r=m;return}c=cm(k[j>>2]|0,e)|0;k[j>>2]=(k[j>>2]|0)+c;if((l[(k[d>>2]|0)+231>>0]|0)!=0?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){d=e;e=(k[f>>2]|0)+16|0;c=e;d=pR(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}else{d=e;e=(k[f>>2]|0)+16|0;c=e;d=qR(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}k[(k[f>>2]|0)+28>>2]=k[j>>2];hm(0,j);k[(k[f>>2]|0)+32>>2]=(k[j>>2]|0)-(k[(k[f>>2]|0)+28>>2]|0);while(1){if((k[j>>2]|0)>>>0<(k[h>>2]|0)>>>0)a=(i[k[j>>2]>>0]|0)==0;else a=0;b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}k[(k[f>>2]|0)+8>>2]=b;i[k[g>>2]>>0]=0;r=m;return}function bn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;o=x+60|0;f=x+56|0;g=x+52|0;p=x+48|0;q=x+44|0;s=x+40|0;j=x+36|0;h=x+32|0;n=x+28|0;m=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;i=x+8|0;t=x;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[j>>2]=k[(k[g>>2]|0)+8>>2];k[h>>2]=k[k[g>>2]>>2];k[n>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(k[j>>2]|0)){k[k[q>>2]>>2]=0;k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}while(1){k[m>>2]=k[k[k[g>>2]>>2]>>2];if(!(k[(k[m>>2]|0)+80>>2]|0)){f=4;break}d=(k[k[h>>2]>>2]|0)+88|0;c=k[d+4>>2]|0;e=t;k[e>>2]=k[d>>2];k[e+4>>2]=c;e=_l(k[f>>2]|0,k[k[h>>2]>>2]|0,v,u)|0;k[w>>2]=e;k[i>>2]=1;while(1){if(k[w>>2]|0)break;if((k[i>>2]|0)>=(k[j>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+80>>2]|0))break;c=(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+88|0;e=t;if(!((k[c>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]|0)==(k[e+4>>2]|0):0))break;e=_l(k[f>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=e;k[i>>2]=(k[i>>2]|0)+1}if(k[w>>2]|0){f=12;break}Xl(k[k[g>>2]>>2]|0,k[j>>2]|0,k[i>>2]|0,k[n>>2]|0);if((k[u>>2]|0)>0?(k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0:0){e=Yl(k[g>>2]|0,k[v>>2]|0,(k[u>>2]|0)+1|0)|0;k[w>>2]=e;if(k[w>>2]|0){f=16;break}k[v>>2]=k[(k[g>>2]|0)+16>>2]}if((k[(k[g>>2]|0)+24>>2]|0)>=0)$l(k[(k[g>>2]|0)+24>>2]|0,1,v,u);if((k[u>>2]|0)>0){f=21;break}}if((f|0)==4)k[k[q>>2]>>2]=0;else if((f|0)==12){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==16){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==21){k[k[q>>2]>>2]=k[v>>2];v=k[t+4>>2]|0;w=k[p>>2]|0;k[w>>2]=k[t>>2];k[w+4>>2]=v;k[k[s>>2]>>2]=k[u>>2]}k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}function cn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;if((k[(k[g>>2]|0)+44>>2]|0)==(k[h>>2]|0)){an(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0);k[(k[j>>2]|0)+16>>2]=k[(k[g>>2]|0)+28>>2];k[(k[j>>2]|0)+20>>2]=k[(k[g>>2]|0)+32>>2];a=(k[g>>2]|0)+16|0;m=k[a+4>>2]|0;e=(k[j>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=m;n=k[n>>2]|0;r=o;return n|0}k[m>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);if(!(k[(k[m>>2]|0)+20>>2]|0)){k[k[j>>2]>>2]=1;n=k[n>>2]|0;r=o;return n|0}e=bn(k[f>>2]|0,k[(k[m>>2]|0)+20>>2]|0,(k[j>>2]|0)+8|0,(k[j>>2]|0)+16|0,(k[j>>2]|0)+20|0)|0;k[n>>2]=e;if(k[(k[j>>2]|0)+16>>2]|0){n=k[n>>2]|0;r=o;return n|0}i[k[l>>2]>>0]=1;n=k[n>>2]|0;r=o;return n|0}function dn(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;g=C+80|0;h=C+76|0;j=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;x=C+52|0;y=C+48|0;z=C+44|0;q=C+40|0;s=C+36|0;A=C+32|0;v=C+24|0;t=C+16|0;u=C+8|0;w=C;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[x>>2]=k[k[h>>2]>>2];k[y>>2]=k[k[o>>2]>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=0;k[s>>2]=0;if((i[k[y>>2]>>0]|0)==1){k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=dm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d}if((i[k[z>>2]>>0]|0)==1){k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=dm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}while(1){if((k[q>>2]|0)!=(k[s>>2]|0))if((k[q>>2]|0)<(k[s>>2]|0)){bm(0,y);if(!(i[k[y>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=dm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;continue}else{bm(0,z);if(!(i[k[z>>2]>>0]|0))break;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=dm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d;continue}k[A>>2]=k[x>>2];f=v;k[f>>2]=0;k[f+4>>2]=0;f=t;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;if(k[q>>2]|0){f=k[x>>2]|0;k[x>>2]=f+1;i[f>>0]=1;f=k[q>>2]|0;f=Ol(k[x>>2]|0,f,((f|0)<0)<<31>>31)|0;k[x>>2]=(k[x>>2]|0)+f}en(y,t);f=t;f=pR(k[f>>2]|0,k[f+4>>2]|0,2,0)|0;e=t;k[e>>2]=f;k[e+4>>2]=L;en(z,u);e=u;e=pR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L;while(1){f=u;a=k[f>>2]|0;f=k[f+4>>2]|0;b=t;e=k[j>>2]|0;e=qR(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;if(!((a|0)==(e|0)&(f|0)==(L|0))){if(((k[n>>2]|0)==0?(e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,(b|0)>(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0)?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=qR(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0)B=19}else B=19;if((B|0)==19){B=0;c=(k[m>>2]|0)!=0;b=t;a=u;f=c?k[b+4>>2]|0:k[a+4>>2]|0;e=w;k[e>>2]=c?k[b>>2]|0:k[a>>2]|0;k[e+4>>2]=f;e=w;e=qR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;fn(x,v,e,L);e=v;e=pR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=L;k[A>>2]=0}if(!((k[m>>2]|0)==0?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=qR(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0))B=22;if((B|0)==22?(B=0,e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,!((b|0)<(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0))):0){if(!(i[k[y>>2]>>0]&254))break;en(y,t);e=t;e=pR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=t;k[f>>2]=e;k[f+4>>2]=L;continue}if(!(i[k[z>>2]>>0]&254))break;en(z,u);e=u;e=pR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L}if(k[A>>2]|0)k[x>>2]=k[A>>2];bm(0,y);bm(0,z);if(!(i[k[y>>2]>>0]|0))break;if(!(i[k[z>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=dm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=dm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}hm(0,z);hm(0,y);k[k[o>>2]>>2]=k[y>>2];k[k[p>>2]>>2]=k[z>>2];if((k[k[h>>2]>>2]|0)==(k[x>>2]|0)){k[g>>2]=0;B=k[g>>2]|0;r=C;return B|0}else{B=k[x>>2]|0;k[x>>2]=B+1;i[B>>0]=0;k[k[h>>2]>>2]=k[x>>2];k[g>>2]=1;B=k[g>>2]|0;r=C;return B|0}return 0}function en(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+12|0;d=c+8|0;e=c;k[f>>2]=a;k[d>>2]=b;a=cm(k[k[f>>2]>>2]|0,e)|0;b=k[f>>2]|0;k[b>>2]=(k[b>>2]|0)+a;b=e;a=k[d>>2]|0;d=a;b=qR(k[d>>2]|0,k[d+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;r=c;return}function fn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;f=e+8|0;g=e;k[h>>2]=a;k[f>>2]=b;a=g;k[a>>2]=c;k[a+4>>2]=d;d=k[k[h>>2]>>2]|0;a=g;b=k[f>>2]|0;b=pR(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=Ol(d,b,L)|0;d=k[h>>2]|0;k[d>>2]=(k[d>>2]|0)+b;d=g;b=k[d+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[d>>2];k[a+4>>2]=b;r=e;return}function gn(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+28>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+80>>2]=0;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+84>>2]=0;a=(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+88|0;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(k[c>>2]|0)+1}r=d;return 0}function hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+44|0;t=s+40|0;i=s+36|0;o=s+32|0;q=s+28|0;j=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;m=s+8|0;p=s+4|0;n=s;k[d>>2]=a;k[t>>2]=b;k[i>>2]=c;k[o>>2]=k[k[d>>2]>>2];k[q>>2]=0;k[e>>2]=0;if(((k[t>>2]|0)!=0?(l[(k[d>>2]|0)+52>>0]|0|0)==(l[(k[o>>2]|0)+231>>0]|0|0):0)?(k[(k[i>>2]|0)+64>>2]|0)<=4:0)b=(k[(k[i>>2]|0)+64>>2]|0)>0;else b=0;k[f>>2]=b&1;k[j>>2]=0;while(1){if((k[f>>2]|0)!=1)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[g>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);if(!(k[(k[g>>2]|0)+12>>2]|0)){if((k[(k[g>>2]|0)+20>>2]|0)!=0?(k[(k[(k[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)h=11}else h=11;if((h|0)==11){h=0;k[f>>2]=0}if(k[(k[g>>2]|0)+20>>2]|0)k[e>>2]=1;k[j>>2]=(k[j>>2]|0)+1}if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){t=kn(k[d>>2]|0,k[i>>2]|0)|0;k[q>>2]=t;k[(k[i>>2]|0)+40>>2]=0;t=k[q>>2]|0;r=s;return t|0}if((k[(k[i>>2]|0)+68>>2]|0)>=(k[(k[o>>2]|0)+24>>2]|0))b=-1;else b=k[(k[i>>2]|0)+68>>2]|0;k[m>>2]=b;k[j>>2]=0;while(1){if(k[q>>2]|0)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[p>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);k[n>>2]=k[(k[p>>2]|0)+20>>2];if(k[n>>2]|0){t=jn(k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0;k[q>>2]=t}k[j>>2]=(k[j>>2]|0)+1}k[(k[i>>2]|0)+40>>2]=1;t=k[q>>2]|0;r=s;return t|0}function jn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;m=t+40|0;f=t+36|0;n=t+32|0;o=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;q=t+12|0;i=t+8|0;s=t+4|0;j=t;k[f>>2]=a;k[n>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[(k[n>>2]|0)+4>>2];k[s>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;d=lm(k[f>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[i>>2]|0))break;k[j>>2]=k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2];if(!(k[(k[j>>2]|0)+40>>2]|0))break;if(mm(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0)break;k[p>>2]=(k[p>>2]|0)+1}k[(k[n>>2]|0)+8>>2]=k[p>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+8>>2]|0)){f=13;break}d=Zl(k[f>>2]|0,k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){f=11;break}k[p>>2]=(k[p>>2]|0)+1}if((f|0)==11){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}else if((f|0)==13){Xl(k[k[n>>2]>>2]|0,k[p>>2]|0,k[p>>2]|0,k[s>>2]|0);k[(k[n>>2]|0)+24>>2]=k[o>>2];k[m>>2]=0;s=k[m>>2]|0;r=t;return s|0}return 0}function kn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+28|0;c=j+24|0;f=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[c>>2]=b;k[f>>2]=k[k[l>>2]>>2];k[i>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0)){c=8;break}k[h>>2]=(k[c>>2]|0)+72+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[e>>2]=0,k[g>>2]=0,l=ln(k[f>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+68>>2]|0,e,g)|0,k[i>>2]=l,(k[i>>2]|0)==0):0){l=mn(k[f>>2]|0,k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[i>>2]=l}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){r=j;return k[i>>2]|0}return 0}function ln(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+192|0;f=q+176|0;g=q+172|0;h=q+168|0;i=q+164|0;j=q+160|0;o=q+156|0;n=q+152|0;p=q+24|0;l=q+8|0;m=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=k[(k[g>>2]|0)+20>>2];c=p;a=c+128|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[l+12>>2]=3|((k[(k[g>>2]|0)+8>>2]|0)!=0?8:0)|((k[(k[g>>2]|0)+12>>2]|0)!=0?32:0)|((k[h>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0)?4:0);k[l+8>>2]=k[h>>2];k[l>>2]=k[k[g>>2]>>2];k[l+4>>2]=k[(k[g>>2]|0)+4>>2];l=yl(k[f>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=l;while(1){if(k[o>>2]|0)break;l=zl(k[f>>2]|0,k[n>>2]|0)|0;k[o>>2]=l;if(100!=(l|0))break;l=qn(k[f>>2]|0,p,k[(k[n>>2]|0)+48>>2]|0,k[(k[n>>2]|0)+52>>2]|0)|0;k[o>>2]=l}if(!(k[o>>2]|0)){l=rn(k[f>>2]|0,p)|0;k[o>>2]=l}if(!(k[o>>2]|0)){k[k[j>>2]>>2]=k[p>>2];k[k[i>>2]>>2]=k[p+64>>2];p=k[n>>2]|0;sn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}k[m>>2]=0;while(1){if((k[m>>2]|0)>=16)break;Ud(k[p+(k[m>>2]<<2)>>2]|0);k[m>>2]=(k[m>>2]|0)+1}p=k[n>>2]|0;sn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}function mn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;s=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;m=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[s>>2]=0;c=k[g>>2]|0;do if(!(k[i>>2]|0)){Ud(k[c>>2]|0);k[k[g>>2]>>2]=0;k[(k[g>>2]|0)+4>>2]=0}else{if((k[c+44>>2]|0)<0){k[k[g>>2]>>2]=k[i>>2];k[(k[g>>2]|0)+4>>2]=k[j>>2];break}if(!(k[k[g>>2]>>2]|0)){Ud(k[i>>2]|0);break}c=k[k[g>>2]>>2]|0;if((k[(k[g>>2]|0)+44>>2]|0)<(k[h>>2]|0)){k[p>>2]=c;k[n>>2]=k[(k[g>>2]|0)+4>>2];k[q>>2]=k[i>>2];k[o>>2]=k[j>>2];k[m>>2]=(k[h>>2]|0)-(k[(k[g>>2]|0)+44>>2]|0)}else{k[q>>2]=c;k[o>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=k[i>>2];k[n>>2]=k[j>>2];k[m>>2]=(k[(k[g>>2]|0)+44>>2]|0)-(k[h>>2]|0)}n=nn(l[(k[f>>2]|0)+231>>0]|0,k[m>>2]|0,k[p>>2]|0,k[n>>2]|0,q,o)|0;k[s>>2]=n;Ud(k[p>>2]|0);k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[o>>2]}while(0);if((k[h>>2]|0)<=(k[(k[g>>2]|0)+44>>2]|0)){s=k[s>>2]|0;r=t;return s|0}k[(k[g>>2]|0)+44>>2]=k[h>>2];s=k[s>>2]|0;r=t;return s|0}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;var g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=r;r=r+112|0;g=C+104|0;h=C+100|0;i=C+96|0;D=C+92|0;E=C+88|0;j=C+84|0;l=C+80|0;q=C+32|0;s=C+24|0;u=C+16|0;n=C+76|0;z=C+72|0;A=C+68|0;x=C+64|0;y=C+60|0;w=C+56|0;o=C+52|0;m=C+48|0;t=C+8|0;B=C+44|0;v=C;p=C+40|0;k[h>>2]=a;k[i>>2]=b;k[D>>2]=c;k[E>>2]=d;k[j>>2]=e;k[l>>2]=f;f=q;k[f>>2]=0;k[f+4>>2]=0;f=s;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;k[n>>2]=k[k[j>>2]>>2];k[z>>2]=(k[D>>2]|0)+(k[E>>2]|0);k[A>>2]=(k[n>>2]|0)+(k[k[l>>2]>>2]|0);k[x>>2]=k[D>>2];k[y>>2]=k[n>>2];k[o>>2]=0;if(k[h>>2]|0){E=Sd((k[k[l>>2]>>2]|0)+10|0)|0;k[m>>2]=E;if(!(k[m>>2]|0)){k[g>>2]=7;E=k[g>>2]|0;r=C;return E|0}}else k[m>>2]=k[n>>2];k[w>>2]=k[m>>2];on(x,k[z>>2]|0,0,q);on(y,k[A>>2]|0,0,s);while(1){if(!((k[x>>2]|0)!=0?(k[y>>2]|0)!=0:0))break;E=(k[h>>2]|0)!=0?-1:1;f=q;D=s;D=pR(k[f>>2]|0,k[f+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;D=BR(E|0,((E|0)<0)<<31>>31|0,D|0,L|0)|0;E=t;k[E>>2]=D;k[E+4>>2]=L;E=t;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))if((k[t+4>>2]|0)<0){hm(0,x);on(x,k[z>>2]|0,k[h>>2]|0,q);continue}else{hm(0,y);on(y,k[A>>2]|0,k[h>>2]|0,s);continue}else{k[B>>2]=k[w>>2];f=u;D=k[f+4>>2]|0;E=v;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[p>>2]=k[o>>2];E=q;pn(w,k[h>>2]|0,u,o,k[E>>2]|0,k[E+4>>2]|0);if(!(dn(w,k[i>>2]|0,0,1,x,y)|0)){k[w>>2]=k[B>>2];f=v;D=k[f+4>>2]|0;E=u;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[o>>2]=k[p>>2]}on(x,k[z>>2]|0,k[h>>2]|0,q);on(y,k[A>>2]|0,k[h>>2]|0,s);continue}}k[k[l>>2]>>2]=(k[w>>2]|0)-(k[m>>2]|0);if(k[h>>2]|0){Ud(k[n>>2]|0);k[k[j>>2]>>2]=k[m>>2]}k[g>>2]=0;E=k[g>>2]|0;r=C;return E|0}function on(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+20|0;j=i+16|0;h=i+12|0;g=i+8|0;f=i;k[e>>2]=a;k[j>>2]=b;k[h>>2]=c;k[g>>2]=d;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[c>>2]=0;r=i;return}a=cm(k[c>>2]|0,f)|0;e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+a;e=f;a=k[e>>2]|0;e=k[e+4>>2]|0;c=k[g>>2]|0;d=c;b=k[d>>2]|0;d=k[d+4>>2]|0;if(k[h>>2]|0){h=pR(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}else{h=qR(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}}function pn(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,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;g=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+8|0;l=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;a=j;k[a>>2]=e;k[a+4>>2]=f;if((k[n>>2]|0)!=0?(k[k[i>>2]>>2]|0)!=0:0){n=k[h>>2]|0;a=j;a=pR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}else{n=j;a=k[h>>2]|0;a=pR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}a=l;a=Ol(k[k[g>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;c=k[g>>2]|0;k[c>>2]=(k[c>>2]|0)+a;c=j;a=k[c+4>>2]|0;n=k[h>>2]|0;k[n>>2]=k[c>>2];k[n+4>>2]=a;k[k[i>>2]>>2]=1;r=m;return}function qn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;e=t+24|0;j=t+20|0;o=t+16|0;n=t+12|0;m=t+8|0;p=t+4|0;q=t;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[e>>2]=d;a:do if(!(k[k[h>>2]>>2]|0)){s=Sd((k[e>>2]|0)+10+1|0)|0;k[k[h>>2]>>2]=s;k[(k[h>>2]|0)+64>>2]=k[e>>2];if(k[k[h>>2]>>2]|0){sR(k[k[h>>2]>>2]|0,k[i>>2]|0,k[e>>2]|0)|0;break}k[f>>2]=7;s=k[f>>2]|0;r=t;return s|0}else{k[j>>2]=k[i>>2];k[o>>2]=k[e>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break a;if(!(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)){s=8;break}e=tn(l[(k[g>>2]|0)+231>>0]|0,k[j>>2]|0,k[o>>2]|0,k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]|0,m,p)|0;k[q>>2]=e;e=(k[j>>2]|0)!=(k[i>>2]|0);if(k[q>>2]|0)break;if(e)Ud(k[j>>2]|0);Ud(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0);k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=0;k[j>>2]=k[m>>2];k[o>>2]=k[p>>2];if(((k[n>>2]|0)+1|0)==16){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2]}k[n>>2]=(k[n>>2]|0)+1}if((s|0)==8){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2];break}if(e)Ud(k[j>>2]|0);k[f>>2]=k[q>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=r;r=r+48|0;g=n+32|0;c=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;e=n+12|0;f=n+8|0;d=n+4|0;m=n;k[c>>2]=a;k[h>>2]=b;k[i>>2]=0;k[j>>2]=0;k[e>>2]=0;a:while(1){if((k[e>>2]|0)>=16){c=10;break}do if(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0){if(!(k[i>>2]|0)){k[i>>2]=k[(k[h>>2]|0)+(k[e>>2]<<2)>>2];k[j>>2]=k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2];k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;break}b=tn(l[(k[c>>2]|0)+231>>0]|0,k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2]|0,k[i>>2]|0,k[j>>2]|0,d,f)|0;k[m>>2]=b;if(k[m>>2]|0){c=7;break a}Ud(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0);Ud(k[i>>2]|0);k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;k[i>>2]=k[d>>2];k[j>>2]=k[f>>2]}while(0);k[e>>2]=(k[e>>2]|0)+1}if((c|0)==7){Ud(k[i>>2]|0);k[g>>2]=k[m>>2];m=k[g>>2]|0;r=n;return m|0}else if((c|0)==10){k[k[h>>2]>>2]=k[i>>2];k[(k[h>>2]|0)+64>>2]=k[j>>2];k[g>>2]=0;m=k[g>>2]|0;r=n;return m|0}return 0}function sn(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Fl(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function tn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=r;r=r+96|0;h=y+88|0;i=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;j=y+64|0;l=y+60|0;o=y+24|0;p=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;m=y+36|0;n=y+32|0;q=y;k[i>>2]=a;k[C>>2]=b;k[A>>2]=c;k[B>>2]=d;k[z>>2]=e;k[j>>2]=f;k[l>>2]=g;g=o;k[g>>2]=0;k[g+4>>2]=0;g=p;k[g>>2]=0;k[g+4>>2]=0;g=s;k[g>>2]=0;k[g+4>>2]=0;k[w>>2]=(k[C>>2]|0)+(k[A>>2]|0);k[x>>2]=(k[B>>2]|0)+(k[z>>2]|0);k[u>>2]=k[C>>2];k[v>>2]=k[B>>2];k[n>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;g=Sd((k[A>>2]|0)+(k[z>>2]|0)+10-1|0)|0;k[m>>2]=g;if(!(k[m>>2]|0)){k[h>>2]=7;C=k[h>>2]|0;r=y;return C|0}k[t>>2]=k[m>>2];on(u,k[w>>2]|0,0,o);on(v,k[x>>2]|0,0,p);while(1){if(!((k[u>>2]|0)!=0?1:(k[v>>2]|0)!=0))break;C=(k[i>>2]|0)!=0?-1:1;A=o;B=p;B=pR(k[A>>2]|0,k[A+4>>2]|0,k[B>>2]|0,k[B+4>>2]|0)|0;B=BR(C|0,((C|0)<0)<<31>>31|0,B|0,L|0)|0;C=q;k[C>>2]=B;k[C+4>>2]=L;C=q;if((k[v>>2]|0)!=0&(k[u>>2]|0)!=0&((k[C>>2]|0)==0&(k[C+4>>2]|0)==0)){C=o;pn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);un(t,u,v);on(u,k[w>>2]|0,k[i>>2]|0,o);on(v,k[x>>2]|0,k[i>>2]|0,p);continue}if((k[v>>2]|0)!=0?!((k[u>>2]|0)!=0&(k[q+4>>2]|0)<0):0){C=p;pn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);hm(t,v);on(v,k[x>>2]|0,k[i>>2]|0,p);continue}C=o;pn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);hm(t,u);on(u,k[w>>2]|0,k[i>>2]|0,o)}k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=(k[t>>2]|0)-(k[m>>2]|0);k[h>>2]=0;C=k[h>>2]|0;r=y;return C|0}function un(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;d=t+56|0;e=t+52|0;f=t+48|0;p=t+44|0;q=t+40|0;s=t+36|0;j=t+32|0;m=t+28|0;g=t+16|0;h=t+8|0;n=t;o=t+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[p>>2]=k[k[d>>2]>>2];k[q>>2]=k[k[e>>2]>>2];k[s>>2]=k[k[f>>2]>>2];a:while(1){if((i[k[q>>2]>>0]|0)==0?(i[k[s>>2]>>0]|0)==0:0)break;a=k[q>>2]|0;do if((i[k[q>>2]>>0]|0)==1){b=(k[q>>2]|0)+1|0;if(l[a+1>>0]&128){dm(b,j)|0;break}else{k[j>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[j>>2]=2147483647;break}else{k[j>>2]=0;break}while(0);a=k[s>>2]|0;do if((i[k[s>>2]>>0]|0)==1){b=(k[s>>2]|0)+1|0;if(l[a+1>>0]&128){dm(b,m)|0;break}else{k[m>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[m>>2]=2147483647;break}else{k[m>>2]=0;break}while(0);if((k[j>>2]|0)!=(k[m>>2]|0))if((k[j>>2]|0)<(k[m>>2]|0)){c=vn(p,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+c;bm(p,q);continue}else{c=vn(p,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+c;bm(p,s);continue}c=g;k[c>>2]=0;k[c+4>>2]=0;c=h;k[c>>2]=0;k[c+4>>2]=0;c=n;k[c>>2]=0;k[c+4>>2]=0;c=vn(p,k[j>>2]|0)|0;k[o>>2]=c;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)+(k[o>>2]|0);en(q,g);en(s,h);while(1){b=g;u=k[b+4>>2]|0;a=h;c=k[a+4>>2]|0;a=(u|0)<(c|0)|((u|0)==(c|0)?(k[b>>2]|0)>>>0<(k[a>>2]|0)>>>0:0);b=g;c=h;fn(p,n,a?k[b>>2]|0:k[c>>2]|0,a?k[b+4>>2]|0:k[c+4>>2]|0);c=n;c=pR(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;b=n;k[b>>2]=c;k[b+4>>2]=L;b=g;c=h;do if(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)){c=g;a=k[c+4>>2]|0;u=h;b=k[u+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)){wn(q,g);break}else{wn(s,h);break}}else{wn(q,g);wn(s,h)}while(0);c=g;u=h;if(!((k[c>>2]|0)!=2147483647|(k[c+4>>2]|0)!=0?1:(k[u>>2]|0)!=2147483647|(k[u+4>>2]|0)!=0))continue a}}u=k[p>>2]|0;k[p>>2]=u+1;i[u>>0]=0;k[k[d>>2]>>2]=k[p>>2];k[k[e>>2]>>2]=(k[q>>2]|0)+1;k[k[f>>2]>>2]=(k[s>>2]|0)+1;r=t;return}function vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){a=k[e>>2]|0;r=g;return a|0}k[f>>2]=k[k[c>>2]>>2];a=k[d>>2]|0;a=1+(Ol((k[f>>2]|0)+1|0,a,((a|0)<0)<<31>>31)|0)|0;k[e>>2]=a;i[k[f>>2]>>0]=1;k[k[c>>2]>>2]=(k[f>>2]|0)+(k[e>>2]|0);a=k[e>>2]|0;r=g;return a|0}function wn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[k[k[c>>2]>>2]>>0]&254){en(k[c>>2]|0,k[d>>2]|0);a=k[d>>2]|0;b=a;b=pR(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;k[a>>2]=b;k[a+4>>2]=L;r=e;return}else{a=k[d>>2]|0;k[a>>2]=2147483647;k[a+4>>2]=0;r=e;return}}function xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((i[(k[e>>2]|0)+7>>0]|0)!=0?(k[f>>2]=0,f=Jn(k[e>>2]|0,f)|0,k[g>>2]=f,(k[g>>2]|0)==0):0){f=(k[e>>2]|0)+32|0;We(k[(k[e>>2]|0)+8>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;i[(k[e>>2]|0)+7>>0]=0;if(100==(Ee(k[(k[e>>2]|0)+8>>2]|0)|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}f=he(k[(k[e>>2]|0)+8>>2]|0)|0;k[g>>2]=f;if((k[g>>2]|0)==0?(k[(k[k[e>>2]>>2]|0)+40>>2]|0)==0:0){k[g>>2]=267;i[(k[e>>2]|0)+6>>0]=1}}if((k[g>>2]|0)!=0&(k[d>>2]|0)!=0)Be(k[d>>2]|0,k[g>>2]|0);k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function yn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+80|0;b=v+64|0;q=v+60|0;c=v+56|0;d=v;j=v+52|0;i=v+48|0;o=v+44|0;m=v+40|0;s=v+36|0;p=v+32|0;t=v+28|0;h=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;n=v+8|0;k[b>>2]=a;k[q>>2]=0;if(!(k[(k[b>>2]|0)+24>>2]|0)){u=k[q>>2]|0;r=v;return u|0}k[i>>2]=k[k[b>>2]>>2];k[o>>2]=k[(k[i>>2]|0)+36>>2];k[m>>2]=k[k[o>>2]>>2];w=Oe(k[(k[b>>2]|0)+8>>2]|0,0)|0;a=d;k[a>>2]=w;k[a+4>>2]=L;k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[q>>2]|0)==0:0))break;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[c>>2]|0)>>0]|0)){w=Pe(k[(k[b>>2]|0)+8>>2]|0,(k[c>>2]|0)+1|0)|0;k[s>>2]=w;k[p>>2]=0;w=Gn(k[o>>2]|0,k[(k[b>>2]|0)+16>>2]|0,k[s>>2]|0,-1,p)|0;k[q>>2]=w;a:while(1){if(k[q>>2]|0)break;k[h>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;w=ac[k[(k[m>>2]|0)+20>>2]&255](k[p>>2]|0,t,h,e,f,g)|0;k[q>>2]=w;k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))continue a;k[n>>2]=k[k[j>>2]>>2];if(!((k[(k[j>>2]|0)+4>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[(k[j>>2]|0)+4>>2]|0)!=(k[c>>2]|0):0))u=11;do if((u|0)==11?(u=0,(k[g>>2]|0)==0?1:(k[(k[n>>2]|0)+12>>2]|0)==0):0){if((k[(k[n>>2]|0)+4>>2]|0)!=(k[h>>2]|0)){if(!(k[(k[n>>2]|0)+8>>2]|0))break;if((k[(k[n>>2]|0)+4>>2]|0)>=(k[h>>2]|0))break}if(!(FQ(k[t>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)){x=d;a=k[c>>2]|0;w=k[g>>2]|0;Hn((k[j>>2]|0)+12|0,k[x>>2]|0,k[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,q)|0}}while(0);k[j>>2]=k[(k[j>>2]|0)+8>>2]}}if(k[p>>2]|0)bc[k[(k[m>>2]|0)+16>>2]&255](k[p>>2]|0)|0;if((k[q>>2]|0)==101)k[q>>2]=0}k[c>>2]=(k[c>>2]|0)+1}k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))break;if(k[(k[j>>2]|0)+12>>2]|0){x=In((k[j>>2]|0)+12|0,0,0)|0;k[q>>2]=x}k[j>>2]=k[(k[j>>2]|0)+8>>2]}x=k[q>>2]|0;r=v;return x|0}function zn(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,m=0,n=0,o=0;o=r;r=r+32|0;j=o+28|0;h=o+24|0;d=o+20|0;n=o+16|0;m=o+12|0;e=o+8|0;f=o+4|0;g=o;k[j>>2]=a;k[h>>2]=b;k[d>>2]=c;k[n>>2]=1;if(k[k[d>>2]>>2]|0){n=k[n>>2]|0;r=o;return n|0}switch(k[k[h>>2]>>2]|0){case 3:case 1:{if((zn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)!=0?(zn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0:0)d=(Bn(k[h>>2]|0,k[d>>2]|0)|0)!=0;else d=0;k[n>>2]=d&1;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[k[h>>2]>>2]|0)!=1){n=k[n>>2]|0;r=o;return n|0}if((k[(k[h>>2]|0)+8>>2]|0)!=0?(k[k[(k[h>>2]|0)+8>>2]>>2]|0)==1:0){n=k[n>>2]|0;r=o;return n|0}k[m>>2]=k[h>>2];while(1){d=k[m>>2]|0;if(k[(k[m>>2]|0)+20>>2]|0)break;c=(k[d+16>>2]|0)+24|0;h=(k[j>>2]|0)+32|0;if((k[c>>2]|0)==(k[h>>2]|0)?(k[c+4>>2]|0)==(k[h+4>>2]|0):0)Zm(k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}h=d+24|0;j=(k[j>>2]|0)+32|0;if(!((k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0)){n=k[n>>2]|0;r=o;return n|0}Zm(k[(k[m>>2]|0)+20>>2]|0);n=k[n>>2]|0;r=o;return n|0}case 4:{m=zn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0;k[e>>2]=m;m=zn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[f>>2]=m;k[n>>2]=((k[e>>2]|0)!=0?1:(k[f>>2]|0)!=0)&1;n=k[n>>2]|0;r=o;return n|0}case 2:{if(zn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)d=(zn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0^1;else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}default:{do if(k[(k[j>>2]|0)+24>>2]|0){c=(k[h>>2]|0)+24|0;m=(k[j>>2]|0)+32|0;if(!((k[c>>2]|0)==(k[m>>2]|0)?(k[c+4>>2]|0)==(k[m+4>>2]|0):0)?(l[(k[h>>2]|0)+34>>0]|0)==0:0)break;k[g>>2]=k[(k[h>>2]|0)+20>>2];if(i[(k[h>>2]|0)+34>>0]|0)Zm(k[g>>2]|0);c=Cn(k[j>>2]|0,k[g>>2]|0)|0;k[k[d>>2]>>2]=c;k[n>>2]=(k[(k[g>>2]|0)+28>>2]|0)!=0&1;c=(k[j>>2]|0)+32|0;j=k[c+4>>2]|0;m=(k[h>>2]|0)+24|0;k[m>>2]=k[c>>2];k[m+4>>2]=j;n=k[n>>2]|0;r=o;return n|0}while(0);if(!(l[(k[h>>2]|0)+32>>0]|0)){m=(k[h>>2]|0)+24|0;d=(k[j>>2]|0)+32|0;d=(k[m>>2]|0)==(k[d>>2]|0)?(k[m+4>>2]|0)==(k[d+4>>2]|0):0}else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}}return 0}function An(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+24>>2];while(1){if(!(k[b>>2]|0))break;ol(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function Bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q+44|0;d=q+40|0;p=q+36|0;n=q+32|0;f=q+28|0;i=q+24|0;h=q+20|0;m=q+16|0;g=q+12|0;e=q+8|0;j=q+4|0;o=q;k[c>>2]=a;k[d>>2]=b;k[p>>2]=1;if(k[k[d>>2]>>2]|0){p=k[p>>2]|0;r=q;return p|0}if((k[k[c>>2]>>2]|0)!=1){p=k[p>>2]|0;r=q;return p|0}if(l[(k[c>>2]|0)+32>>0]|0){p=k[p>>2]|0;r=q;return p|0}if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[k[(k[c>>2]|0)+8>>2]>>2]|0)==1:0){p=k[p>>2]|0;r=q;return p|0}k[f>>2]=0;k[n>>2]=k[c>>2];while(1){a=k[n>>2]|0;if(!(k[(k[n>>2]|0)+12>>2]|0))break;k[f>>2]=(k[f>>2]|0)+(k[(k[(k[a+16>>2]|0)+20>>2]|0)+32>>2]|0);k[n>>2]=k[(k[n>>2]|0)+12>>2]}k[f>>2]=(k[f>>2]|0)+(k[(k[a+20>>2]|0)+32>>2]|0);if(!(k[f>>2]|0)){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}f=Sd(k[f>>2]<<1)|0;k[i>>2]=f;a:do if(k[i>>2]|0){k[h>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!((k[p>>2]|0)!=0&(k[n>>2]|0)!=0))break;if((k[k[n>>2]>>2]|0)!=1)break;k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+20>>2];k[e>>2]=k[(k[n>>2]|0)+4>>2];f=En(k[e>>2]|0,k[i>>2]|0,h,m,k[g>>2]|0)|0;k[p>>2]=f;k[n>>2]=k[(k[n>>2]|0)+8>>2]}k[h>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[c>>2]|0)+12>>2];while(1){if(!((k[n>>2]|0)!=0?(k[p>>2]|0)!=0:0))break a;k[j>>2]=k[(k[(k[n>>2]|0)+8>>2]|0)+4>>2];a=k[n>>2]|0;if((k[k[n>>2]>>2]|0)==1)a=k[(k[a+16>>2]|0)+20>>2]|0;else a=k[a+20>>2]|0;k[o>>2]=a;g=En(k[j>>2]|0,k[i>>2]|0,h,m,k[o>>2]|0)|0;k[p>>2]=g;k[n>>2]=k[(k[n>>2]|0)+12>>2]}}else{k[k[d>>2]>>2]=7;k[p>>2]=0}while(0);Ud(k[i>>2]|0);p=k[p>>2]|0;r=q;return p|0}function Cn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;l=y+76|0;m=y+72|0;n=y+68|0;d=y+64|0;p=y+60|0;u=y+56|0;q=y+52|0;j=y+48|0;h=y+44|0;i=y+40|0;e=y+36|0;x=y+32|0;c=y+28|0;f=y+24|0;g=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;o=y;k[m>>2]=a;k[n>>2]=b;k[p>>2]=0;k[u>>2]=0;k[q>>2]=-1;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+64>>2]|0)){a=14;break}k[j>>2]=(k[n>>2]|0)+72+((k[d>>2]|0)*24|0);k[h>>2]=k[(k[j>>2]|0)+16>>2];if(k[h>>2]|0){b=Dn(k[h>>2]|0,i,e)|0;k[x>>2]=b;if(k[x>>2]|0){a=5;break}b=k[p>>2]|0;if(!(k[i>>2]|0)){a=7;break}a=k[i>>2]|0;if(b){k[c>>2]=a;k[f>>2]=k[p>>2];k[g>>2]=k[c>>2];dn(c,(k[d>>2]|0)-(k[q>>2]|0)|0,0,1,f,g)|0;Ud(k[p>>2]|0);k[p>>2]=k[i>>2];k[u>>2]=(k[c>>2]|0)-(k[p>>2]|0);if(!(k[u>>2]|0)){a=11;break}}else{k[p>>2]=a;k[u>>2]=k[e>>2]}k[q>>2]=k[d>>2]}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==5){k[l>>2]=k[x>>2];x=k[l>>2]|0;r=y;return x|0}else if((a|0)==7){Ud(b);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==11){Ud(k[p>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==14){do if((k[q>>2]|0)>=0){k[t>>2]=k[(k[n>>2]|0)+44>>2];if((k[t>>2]|0)<0){k[(k[n>>2]|0)+28>>2]=k[p>>2];k[(k[n>>2]|0)+32>>2]=k[u>>2];v=(k[m>>2]|0)+32|0;w=k[v+4>>2]|0;x=(k[n>>2]|0)+16|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;k[(k[n>>2]|0)+24>>2]=1;break}if((k[t>>2]|0)>(k[q>>2]|0)){k[v>>2]=k[p>>2];k[w>>2]=k[(k[n>>2]|0)+28>>2];k[s>>2]=(k[t>>2]|0)-(k[q>>2]|0)}else{k[v>>2]=k[(k[n>>2]|0)+28>>2];k[w>>2]=k[p>>2];k[s>>2]=(k[q>>2]|0)-(k[t>>2]|0)}x=Sd((k[u>>2]|0)+8|0)|0;k[o>>2]=x;if(!(k[o>>2]|0)){Ud(k[p>>2]|0);k[l>>2]=7;x=k[l>>2]|0;r=y;return x|0}k[(k[n>>2]|0)+28>>2]=k[o>>2];if(dn(o,k[s>>2]|0,0,1,v,w)|0){k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+32>>2]=(k[o>>2]|0)-(k[(k[n>>2]|0)+28>>2]|0)}else{Ud(k[o>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0}Ud(k[p>>2]|0)}while(0);k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}return 0}function Dn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;i=j+12|0;h=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;if(!(k[(k[e>>2]|0)+12>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}b=Sd(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){b=cm(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0,j)|0;k[h>>2]=b;k[k[g>>2]>>2]=(k[k[(k[e>>2]|0)+12>>2]>>2]|0)-(k[h>>2]|0);k[k[f>>2]>>2]=k[i>>2];sR(k[i>>2]|0,(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+(k[h>>2]|0)|0,k[k[g>>2]>>2]|0)|0;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=j;return b|0}return 0}function En(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;m=r;r=r+48|0;s=m+40|0;q=m+36|0;f=m+32|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[s>>2]=a;k[q>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[p>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+64>>2]|0);k[o>>2]=(k[s>>2]|0)+(k[k[g>>2]>>2]|0);d=k[(k[h>>2]|0)+28>>2]|0;k[j>>2]=d;k[n>>2]=d;d=Fn(j,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[f>>2]|0,n)|0;k[l>>2]=d;if(!(k[l>>2]|0)){s=k[l>>2]|0;r=m;return s|0}k[i>>2]=(k[j>>2]|0)-(k[(k[h>>2]|0)+28>>2]|0)-1;uR((k[(k[h>>2]|0)+28>>2]|0)+(k[i>>2]|0)|0,0,(k[(k[h>>2]|0)+32>>2]|0)-(k[i>>2]|0)|0)|0;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[k[f>>2]>>2]=k[(k[h>>2]|0)+28>>2];k[k[g>>2]>>2]=k[(k[h>>2]|0)+64>>2];s=k[l>>2]|0;r=m;return s|0}function Fn(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r;r=r+48|0;g=n+44|0;h=n+40|0;u=n+36|0;q=n+32|0;o=n+28|0;p=n+24|0;t=n+20|0;s=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[u>>2]=c;k[q>>2]=d;k[o>>2]=e;k[p>>2]=f;k[t>>2]=k[k[o>>2]>>2];k[s>>2]=k[k[p>>2]>>2];k[j>>2]=k[h>>2];k[m>>2]=1;dn(j,k[u>>2]|0,0,0,k[o>>2]|0,k[p>>2]|0)|0;f=k[j>>2]|0;k[l>>2]=f;k[i>>2]=f;k[k[o>>2]>>2]=k[t>>2];k[k[p>>2]>>2]=k[s>>2];dn(l,k[q>>2]|0,1,0,k[p>>2]|0,k[o>>2]|0)|0;if((k[j>>2]|0)!=(k[h>>2]|0)?(k[l>>2]|0)!=(k[i>>2]|0):0){un(k[g>>2]|0,h,i);u=k[m>>2]|0;r=n;return u|0}if((k[j>>2]|0)!=(k[h>>2]|0)){hm(k[g>>2]|0,h);u=k[m>>2]|0;r=n;return u|0}if((k[l>>2]|0)!=(k[i>>2]|0)){hm(k[g>>2]|0,i);u=k[m>>2]|0;r=n;return u|0}else{k[m>>2]=0;u=k[m>>2]|0;r=n;return u|0}return 0}function Gn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+32|0;f=m+28|0;g=m+24|0;o=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;i=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[n>>2]=d;k[h>>2]=e;k[j>>2]=k[k[f>>2]>>2];k[i>>2]=0;c=ec[k[(k[j>>2]|0)+12>>2]&255](k[f>>2]|0,k[o>>2]|0,k[n>>2]|0,i)|0;k[l>>2]=c;if(((k[l>>2]|0)==0?(k[k[i>>2]>>2]=k[f>>2],(k[k[j>>2]>>2]|0)>=1):0)?(o=gc[k[(k[j>>2]|0)+24>>2]&255](k[i>>2]|0,k[g>>2]|0)|0,k[l>>2]=o,(k[l>>2]|0)!=0):0){bc[k[(k[j>>2]|0)+16>>2]&255](k[i>>2]|0)|0;k[i>>2]=0}k[k[h>>2]>>2]=k[i>>2];r=m;return k[l>>2]|0}function Hn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;l=u+48|0;m=u+44|0;n=u+24|0;o=u+16|0;i=u+8|0;j=u+40|0;q=u+36|0;s=u+32|0;p=u;k[m>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;a=i;k[a>>2]=f;k[a+4>>2]=g;k[j>>2]=h;k[q>>2]=k[k[m>>2]>>2];k[s>>2]=0;if((k[q>>2]|0)!=0?(h=(k[q>>2]|0)+16|0,a=n,!((k[h>>2]|0)!=(k[a>>2]|0)?1:(k[h+4>>2]|0)!=(k[a+4>>2]|0))):0)t=9;else{b=n;if(k[q>>2]|0){d=(k[q>>2]|0)+16|0;c=k[d>>2]|0;d=k[d+4>>2]|0}else{c=0;d=0}h=pR(k[b>>2]|0,k[b+4>>2]|0,c|0,d|0)|0;a=p;k[a>>2]=h;k[a+4>>2]=L;if(k[q>>2]|0){a=k[q>>2]|0;k[a>>2]=(k[a>>2]|0)+1}p=In(q,k[p>>2]|0,k[p+4>>2]|0)|0;k[s>>2]=p;if(!p){p=(k[q>>2]|0)+24|0;k[p>>2]=-1;k[p+4>>2]=-1;p=(k[q>>2]|0)+32|0;k[p>>2]=0;k[p+4>>2]=0;p=k[n+4>>2]|0;t=(k[q>>2]|0)+16|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=9}}do if((t|0)==9){t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>0?(p=(k[q>>2]|0)+24|0,t=o,(k[p>>2]|0)!=(k[t>>2]|0)?1:(k[p+4>>2]|0)!=(k[t+4>>2]|0)):0){t=In(q,1,0)|0;k[s>>2]=t;if(t)break;t=o;t=In(q,k[t>>2]|0,k[t+4>>2]|0)|0;k[s>>2]=t;if(t)break;n=o;p=k[n+4>>2]|0;t=(k[q>>2]|0)+24|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=(k[q>>2]|0)+32|0;k[t>>2]=0;k[t+4>>2]=0}t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>=0?(p=i,p=qR(2,0,k[p>>2]|0,k[p+4>>2]|0)|0,t=(k[q>>2]|0)+32|0,t=pR(p|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0,t=In(q,t,L)|0,k[s>>2]=t,(k[s>>2]|0)==0):0){o=i;p=k[o+4>>2]|0;t=(k[q>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=p}}while(0);k[k[j>>2]>>2]=k[s>>2];if((k[q>>2]|0)!=(k[k[m>>2]>>2]|0)){k[k[m>>2]>>2]=k[q>>2];k[l>>2]=1;t=k[l>>2]|0;r=u;return t|0}else{k[l>>2]=0;t=k[l>>2]|0;r=u;return t|0}return 0}function In(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;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j;h=j+12|0;g=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=k[k[e>>2]>>2];do if(k[h>>2]|0){if(((k[k[h>>2]>>2]|0)+10+1|0)>(k[(k[h>>2]|0)+8>>2]|0)){k[g>>2]=k[(k[h>>2]|0)+8>>2]<<1;a=Vd(k[h>>2]|0,40+(k[g>>2]|0)|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;break}Ud(k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0;k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}}else{a=Sd(140)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=100;k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;k[k[h>>2]>>2]=0;break}k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}while(0);g=f;g=Ol((k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;a=k[h>>2]|0;k[a>>2]=(k[a>>2]|0)+g;i[(k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)>>0]=0;k[k[e>>2]>>2]=k[h>>2];k[d>>2]=0;a=k[d>>2]|0;r=j;return a|0}function Jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;i=j+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;do if(!(k[(k[d>>2]|0)+8>>2]|0)){k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+216>>2];h=Yd(24088,h)|0;k[i>>2]=h;if(k[i>>2]|0){h=lf(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,-1,(k[d>>2]|0)+8|0,0)|0;k[g>>2]=h;Ud(k[i>>2]|0);break}k[c>>2]=7;i=k[c>>2]|0;r=j;return i|0}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+8>>2];k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Kn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if((k[i>>2]|0)==5){c=Yb[k[g>>2]&255](k[e>>2]|0,k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[f>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[j>>2]|0;r=l;return c|0}c=Kn(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;if(!((k[j>>2]|0)==0&(k[i>>2]|0)!=2)){c=k[j>>2]|0;r=l;return c|0}c=Kn(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[j>>2]|0;r=l;return c|0}function Ln(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];k[i>>2]=0;if((l[(k[e>>2]|0)+34>>0]|0|0)!=0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)!=1:0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}b=Mn(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){i=k[i>>2]|0;r=j;return i|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;d=s+44|0;e=s+40|0;c=s+36|0;p=s+32|0;o=s+28|0;n=s+24|0;j=s+20|0;h=s+8|0;g=s;f=s+48|0;m=s+16|0;k[e>>2]=a;k[c>>2]=b;k[p>>2]=0;do if(!(k[(k[c>>2]|0)+40>>2]|0)){k[o>>2]=k[k[e>>2]>>2];t=(k[e>>2]|0)+32|0;a=k[t+4>>2]|0;b=h;k[b>>2]=k[t>>2];k[b+4>>2]=a;k[n>>2]=k[c>>2];while(1){if(k[(k[n>>2]|0)+8>>2]|0)c=(k[k[(k[n>>2]|0)+8>>2]>>2]|0)==1;else c=0;a=k[n>>2]|0;if(!c)break;k[n>>2]=k[a+8>>2]}a=a+24|0;b=k[a+4>>2]|0;t=g;k[t>>2]=k[a>>2];k[t+4>>2]=b;i[f>>0]=i[(k[n>>2]|0)+32>>0]|0;k[j>>2]=k[n>>2];while(1){if(!(k[j>>2]|0))break;c=k[j>>2]|0;if((k[k[j>>2]>>2]|0)!=5)c=k[c+16>>2]|0;k[m>>2]=c;t=Sd((k[(k[o>>2]|0)+24>>2]|0)*3<<2)|0;k[(k[m>>2]|0)+40>>2]=t;if(!(k[(k[m>>2]|0)+40>>2]|0)){q=12;break}uR(k[(k[m>>2]|0)+40>>2]|0,0,(k[(k[o>>2]|0)+24>>2]|0)*3<<2|0)|0;k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((q|0)==12){k[d>>2]=7;t=k[d>>2]|0;r=s;return t|0}Wm(k[e>>2]|0,k[n>>2]|0,p);while(1){if(!((l[(k[e>>2]|0)+6>>0]|0)==0?(k[p>>2]|0)==0:0))break;do{if(!(l[(k[e>>2]|0)+7>>0]|0))he(k[(k[e>>2]|0)+8>>2]|0)|0;Xm(k[e>>2]|0,k[n>>2]|0,p);i[(k[e>>2]|0)+6>>0]=i[(k[n>>2]|0)+32>>0]|0;i[(k[e>>2]|0)+7>>0]=1;k[(k[e>>2]|0)+88>>2]=1;o=(k[n>>2]|0)+24|0;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(l[(k[e>>2]|0)+6>>0]|0)break;if((k[k[n>>2]>>2]|0)!=1)break}while((Sm(k[e>>2]|0,p)|0)!=0);if(k[p>>2]|0)continue;if(l[(k[e>>2]|0)+6>>0]|0)continue;Nn(k[n>>2]|0)}i[(k[e>>2]|0)+6>>0]=0;o=h;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(i[f>>0]|0){i[(k[n>>2]|0)+32>>0]=i[f>>0]|0;break}Wm(k[e>>2]|0,k[n>>2]|0,p);do{Xm(k[e>>2]|0,k[n>>2]|0,p);q=(k[n>>2]|0)+24|0;t=g}while(((k[q>>2]|0)!=(k[t>>2]|0)?1:(k[q+4>>2]|0)!=(k[t+4>>2]|0))?(k[p>>2]|0)==0:0)}while(0);k[d>>2]=k[p>>2];t=k[d>>2]|0;r=s;return t|0}function Nn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;b=h+12|0;f=h+8|0;g=h+4|0;d=h+20|0;e=h;k[c>>2]=a;if(!(k[c>>2]|0)){r=h;return}k[b>>2]=k[(k[c>>2]|0)+20>>2];a:do if((k[b>>2]|0)!=0?(k[(k[b>>2]|0)+28>>2]|0)!=0:0){k[f>>2]=0;k[g>>2]=k[(k[b>>2]|0)+28>>2];while(1){i[d>>0]=0;k[e>>2]=0;while(1){if(!(254&(i[k[g>>2]>>0]|l[d>>0])))break;if(!(l[d>>0]&128))k[e>>2]=(k[e>>2]|0)+1;b=k[g>>2]|0;k[g>>2]=b+1;i[d>>0]=i[b>>0]&128}b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+1<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[e>>2]|0);b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+2<<2)|0;k[b>>2]=(k[b>>2]|0)+((k[e>>2]|0)>0&1);if(!(i[k[g>>2]>>0]|0))break a;k[g>>2]=(k[g>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128)a=dm(a,f)|0;else{k[f>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}}while(0);Nn(k[(k[c>>2]|0)+12>>2]|0);Nn(k[(k[c>>2]|0)+16>>2]|0);r=h;return}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;c=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;g=n+8|0;d=n+4|0;f=n;k[o>>2]=a;k[c>>2]=b;k[j>>2]=k[k[k[c>>2]>>2]>>2];k[h>>2]=k[(k[o>>2]|0)+20>>2];k[g>>2]=k[(k[h>>2]|0)+28>>2];k[d>>2]=0;b=k[(k[o>>2]|0)+36>>2]|0;a=k[(k[c>>2]|0)+4>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){o=ha(b,a)|0;k[e>>2]=o}else{o=ha(b,(a+31|0)/32|0)|0;k[e>>2]=o}while(1){o=Vm(g)|0;k[f>>2]=o;if(!((k[(k[h>>2]|0)+68>>2]|0)<(k[(k[j>>2]|0)+24>>2]|0)?(k[(k[h>>2]|0)+68>>2]|0)!=(k[d>>2]|0):0))m=6;do if((m|0)==6){m=0;b=k[f>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){k[(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(k[d>>2]|0)<<2)>>2]=b;break}if(b){o=(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(((k[d>>2]|0)+1|0)/32|0)<<2)|0;k[o>>2]=k[o>>2]|1<<(k[d>>2]&31)}}while(0);if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;b=k[g>>2]|0;if(l[k[g>>2]>>0]&128)b=dm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}k[g>>2]=(k[g>>2]|0)+b}r=n;return}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[f>>2]=k[h>>2];k[(k[f>>2]|0)+(k[e>>2]<<4)>>2]=k[g>>2];r=d;return 0}function Qn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;d=f+12|0;c=f;e=f+8|0;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=0;g=cm(k[d>>2]|0,c)|0;k[d>>2]=(k[d>>2]|0)+g;g=c;a=c;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0|(k[a>>2]|0)==1&(k[a+4>>2]|0)==0){k[d>>2]=0;k[e>>2]=1;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}else{a=c;a=pR(k[a>>2]|0,k[a+4>>2]|0,2,0)|0;g=(k[b>>2]|0)+12|0;k[g>>2]=(k[g>>2]|0)+a;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}return 0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;i=e+20|0;h=e+12|0;d=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[e+16>>2]=b;k[h>>2]=c;k[d>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=(k[g>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+1;a=(k[g>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+64>>2]|0);r=e;return k[d>>2]|0}function Sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=tl(k[j>>2]|0,21,g,0)|0;k[h>>2]=d;do if(!(k[h>>2]|0)){j=e;We(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;j=Ee(k[g>>2]|0)|0;k[h>>2]=j;if((k[h>>2]|0)==100?(Re(k[g>>2]|0,0)|0)==4:0){k[h>>2]=0;break}j=he(k[g>>2]|0)|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)==0?267:j;k[g>>2]=0}while(0);k[k[f>>2]>>2]=k[g>>2];r=i;return k[h>>2]|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=tl(k[g>>2]|0,22,d,0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){Ve(k[d>>2]|0,1,0)|0;if((Ee(k[d>>2]|0)|0)==100?(Re(k[d>>2]|0,0)|0)==4:0)break;g=he(k[d>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;k[d>>2]=0}while(0);k[k[c>>2]>>2]=k[d>>2];r=f;return k[e>>2]|0}function Un(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[d>>2]|0)+(0-(k[(k[d>>2]|0)+-4>>2]|0));a=k[b>>2]|0;if((k[d>>2]|0)==((k[b>>2]|0)+16+4|0))i[a+1>>0]=0;else i[a+2>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;k[a>>2]=(k[a>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];r=d;return 0}function Wn(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=kf(k[(k[b>>2]|0)+12>>2]|0,24216,0,0,0)|0;k[c>>2]=a;do if(!(k[c>>2]|0)){a=Xn(k[b>>2]|0,1)|0;k[c>>2]=a;a=k[(k[b>>2]|0)+12>>2]|0;if(!((k[c>>2]|0)==0|(k[c>>2]|0)==101)){kf(a,24244,0,0,0)|0;kf(k[(k[b>>2]|0)+12>>2]|0,24231,0,0,0)|0;break}a=kf(a,24231,0,0,0)|0;k[d>>2]=a;if(k[d>>2]|0)k[c>>2]=k[d>>2]}while(0);Cm(k[b>>2]|0);r=e;return k[c>>2]|0}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;h=l+12|0;j=l+8|0;f=l+4|0;g=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[h>>2]=0;a=tl(k[c>>2]|0,27,h,0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ve(k[h>>2]|0,1,k[(k[c>>2]|0)+272>>2]|0)|0;Ve(k[h>>2]|0,2,k[(k[c>>2]|0)+248>>2]|0)|0;a:while(1){a=(Ee(k[h>>2]|0)|0)==100;b=k[h>>2]|0;if(!a)break;a=Ne(b,0)|0;k[g>>2]=a;k[f>>2]=0;while(1){if(k[i>>2]|0)continue a;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+248>>2]|0))continue a;a=sl(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0,-2)|0;k[i>>2]=a;if((k[i>>2]|0)==101){k[e>>2]=1;k[i>>2]=0}k[f>>2]=(k[f>>2]|0)+1}}h=he(b)|0;k[j>>2]=h;if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}Cm(k[c>>2]|0);nl(k[c>>2]|0);r=l;return ((k[i>>2]|0)==0&(k[d>>2]|0)!=0&(k[e>>2]|0)!=0?101:k[i>>2]|0)|0}function Yn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+208|0;y=C+32|0;c=C+132|0;d=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;q=C+112|0;j=C+108|0;B=C+96|0;x=C;s=C+92|0;f=C+88|0;e=C+84|0;o=C+80|0;m=C+76|0;l=C+72|0;z=C+68|0;p=C+64|0;h=C+60|0;n=C+56|0;w=C+52|0;u=C+48|0;g=C+136|0;k[c>>2]=a;k[d>>2]=b;k[v>>2]=k[k[d>>2]>>2];k[t>>2]=k[k[(k[v>>2]|0)+36>>2]>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(k[(k[d>>2]|0)+12>>2]|0)){xe(k[c>>2]|0,19266,0,0);r=C;return};k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[x+20>>2]=0;k[x+24>>2]=0;k[x+28>>2]=0;a=Nm(k[d>>2]|0,0,q)|0;k[A>>2]=a;a:do if(!(k[A>>2]|0)){a=Sd((k[q>>2]|0)*12|0)|0;k[x+24>>2]=a;if(!(k[x+24>>2]|0)){k[A>>2]=7;break}D=(k[d>>2]|0)+32|0;b=k[D+4>>2]|0;a=x+16|0;k[a>>2]=k[D>>2];k[a+4>>2]=b;k[x>>2]=k[d>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[v>>2]|0)+24>>2]|0))break a;k[e>>2]=0;k[o>>2]=0;k[m>>2]=0;k[l>>2]=0;k[x+4>>2]=k[j>>2];k[x+8>>2]=0;Rm(k[(k[d>>2]|0)+12>>2]|0,158,x)|0;D=Pe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[z>>2]=D;D=Le(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[p>>2]=D;if(!(k[z>>2]|0)){if((Re(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0)!=5)break}else{D=Gn(k[(k[v>>2]|0)+36>>2]|0,k[(k[d>>2]|0)+16>>2]|0,k[z>>2]|0,k[p>>2]|0,s)|0;k[A>>2]=D;if(k[A>>2]|0)break a;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D;while(1){if(k[A>>2]|0)break;k[n>>2]=2147483647;k[w>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[q>>2]|0))break;k[u>>2]=(k[x+24>>2]|0)+((k[h>>2]|0)*12|0);if((k[k[u>>2]>>2]|0)!=0?((k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0)|0)<(k[n>>2]|0):0){k[n>>2]=(k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0);k[w>>2]=k[u>>2]}k[h>>2]=(k[h>>2]|0)+1}if(!(k[w>>2]|0)){k[A>>2]=101;continue}b=k[w>>2]|0;if(!(254&i[k[k[w>>2]>>2]>>0]))k[b>>2]=0;else _n(b,(k[w>>2]|0)+4|0);while(1){if(k[A>>2]|0)break;if((k[l>>2]|0)>=(k[n>>2]|0))break;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D}if(!(k[A>>2]|0)){b=((k[w>>2]|0)-(k[x+24>>2]|0)|0)/12|0;a=k[o>>2]|0;D=(k[m>>2]|0)-(k[o>>2]|0)|0;k[y>>2]=k[j>>2];k[y+4>>2]=b;k[y+8>>2]=a;k[y+12>>2]=D;_d(64,g,24261,y)|0;D=$n(B,g,-1)|0;k[A>>2]=D;continue}if((k[A>>2]|0)!=101)continue;if(k[(k[v>>2]|0)+40>>2]|0)continue;k[A>>2]=267}if((k[A>>2]|0)==101)k[A>>2]=0;bc[k[(k[t>>2]|0)+16>>2]&255](k[s>>2]|0)|0;if(k[A>>2]|0)break a}k[j>>2]=(k[j>>2]|0)+1}k[A>>2]=7}while(0);Ud(k[x+24>>2]|0);Cm(k[v>>2]|0);b=k[c>>2]|0;if(k[A>>2]|0){Be(b,k[A>>2]|0);Ud(k[B>>2]|0);r=C;return}else{xe(b,k[B>>2]|0,(k[B+4>>2]|0)-1|0,148);r=C;return}}function Zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+48|0;m=l+36|0;n=l+28|0;g=l+24|0;f=l+20|0;e=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;i=l;k[m>>2]=a;k[l+32>>2]=b;k[n>>2]=c;k[g>>2]=k[n>>2];k[d>>2]=0;a=Um(k[k[g>>2]>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+4>>2]|0,h)|0;k[j>>2]=a;k[f>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];if(k[h>>2]|0)_n(h,d);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;m=(k[g>>2]|0)+8|0;n=k[m>>2]|0;k[m>>2]=n+1;k[i>>2]=(k[(k[g>>2]|0)+24>>2]|0)+(n*12|0);k[(k[i>>2]|0)+8>>2]=(k[f>>2]|0)-(k[e>>2]|0)-1;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}r=l;return k[j>>2]|0}function _n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;b=k[k[c>>2]>>2]|0;if((l[k[k[c>>2]>>2]>>0]|0)&128)b=dm(b,e)|0;else{k[e>>2]=l[b>>0];b=1}c=k[c>>2]|0;k[c>>2]=(k[c>>2]|0)+b;d=k[d>>2]|0;k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)-2);r=f;return}function $n(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[g>>2]|0)<0){b=LQ(k[f>>2]|0)|0;k[g>>2]=b}do if(((k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]|0)+1|0)>=(k[(k[e>>2]|0)+8>>2]|0)){k[h>>2]=(k[(k[e>>2]|0)+8>>2]|0)+(k[g>>2]|0)+100;b=Vd(k[k[e>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[k[e>>2]>>2]=k[j>>2];k[(k[e>>2]|0)+8>>2]=k[h>>2];break}k[d>>2]=7;j=k[d>>2]|0;r=l;return j|0}while(0);sR((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;j=(k[e>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);i[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function ao(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+224|0;h=G+212|0;i=G+208|0;j=G+204|0;l=G+200|0;m=G+196|0;n=G+192|0;o=G+188|0;B=G+184|0;E=G+180|0;q=G+176|0;F=G+164|0;z=G+160|0;p=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[B>>2]=k[k[i>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[z>>2]=0;k[y>>2]=-1;if(!(k[(k[i>>2]|0)+12>>2]|0)){xe(k[h>>2]|0,19266,0,0);r=G;return}k[z>>2]=1;a:while(1){f=w;k[f>>2]=0;k[f+4>>2]=0;f=x;k[f>>2]=0;k[f+4>>2]=0;f=k[o>>2]|0;if((k[o>>2]|0)>=0)k[y>>2]=(f+(k[z>>2]|0)-1|0)/(k[z>>2]|0)|0;else{c=ha(-1,f)|0;k[y>>2]=c}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[z>>2]|0))break;k[s>>2]=-1;k[A>>2]=p+((k[v>>2]|0)*24|0);c=k[A>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[B>>2]|0)+24>>2]|0))break;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[C+16>>2]=0;k[C+20>>2]=0;k[u>>2]=0;if(!((k[n>>2]|0)>=0?(k[t>>2]|0)!=(k[n>>2]|0):0)){c=w;c=bo(k[y>>2]|0,k[i>>2]|0,k[t>>2]|0,k[c>>2]|0,k[c+4>>2]|0,x,C,u)|0;k[E>>2]=c;if(k[E>>2]|0)break a;if((k[u>>2]|0)>(k[s>>2]|0)){c=k[A>>2]|0;k[c>>2]=k[C>>2];k[c+4>>2]=k[C+4>>2];k[c+8>>2]=k[C+8>>2];k[c+12>>2]=k[C+12>>2];k[c+16>>2]=k[C+16>>2];k[c+20>>2]=k[C+20>>2];k[s>>2]=k[u>>2]}}k[t>>2]=(k[t>>2]|0)+1}e=(k[A>>2]|0)+8|0;a=w;d=k[a+4>>2]|k[e+4>>2];c=w;k[c>>2]=k[a>>2]|k[e>>2];k[c+4>>2]=d;k[v>>2]=(k[v>>2]|0)+1}d=x;c=w;if(((k[d>>2]|0)==(k[c>>2]|0)?(k[d+4>>2]|0)==(k[c+4>>2]|0):0)|(k[z>>2]|0)==4){D=20;break}k[z>>2]=(k[z>>2]|0)+1}b:do if((D|0)==20){k[q>>2]=0;while(1){if(!((k[q>>2]|0)<(k[z>>2]|0)?(k[E>>2]|0)==0:0))break b;D=co(k[i>>2]|0,p+((k[q>>2]|0)*24|0)|0,k[q>>2]|0,(k[q>>2]|0)==((k[z>>2]|0)-1|0)&1,k[y>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,F)|0;k[E>>2]=D;k[q>>2]=(k[q>>2]|0)+1}}while(0);Cm(k[B>>2]|0);f=k[h>>2]|0;if(k[E>>2]|0){Be(f,k[E>>2]|0);Ud(k[F>>2]|0);r=G;return}else{xe(f,k[F>>2]|0,-1,148);r=G;return}}function bo(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+112|0;i=C+104|0;j=C+100|0;l=C+96|0;m=C+92|0;n=C+16|0;o=C+88|0;p=C+84|0;q=C+80|0;A=C+76|0;z=C+72|0;B=C+48|0;y=C+40|0;t=C+36|0;s=C+32|0;u=C+28|0;v=C+24|0;w=C+8|0;x=C;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[t>>2]=-1;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;f=Nm(k[l>>2]|0,z,0)|0;k[A>>2]=f;if(k[A>>2]|0){k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}k[y>>2]=(k[z>>2]|0)*24;f=Sd(k[y>>2]|0)|0;k[B+16>>2]=f;if(!(k[B+16>>2]|0)){k[i>>2]=7;B=k[i>>2]|0;r=C;return B|0}uR(k[B+16>>2]|0,0,k[y>>2]|0)|0;k[B>>2]=k[l>>2];k[B+4>>2]=k[m>>2];k[B+8>>2]=k[j>>2];k[B+12>>2]=k[z>>2];k[B+20>>2]=-1;f=Rm(k[(k[l>>2]|0)+12>>2]|0,159,B)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[z>>2]|0))break;if(k[(k[B+16>>2]|0)+((k[s>>2]|0)*24|0)+12>>2]|0){g=vR(1,0,k[s>>2]|0)|0;f=k[o>>2]|0;b=f;h=k[b+4>>2]|L;k[f>>2]=k[b>>2]|g;k[f+4>>2]=h}k[s>>2]=(k[s>>2]|0)+1}k[k[p>>2]>>2]=k[m>>2];while(1){if(!((go(B)|0)!=0^1))break;f=n;ho(B,k[f>>2]|0,k[f+4>>2]|0,u,v,w,x);if((k[v>>2]|0)<=(k[t>>2]|0))continue;k[(k[p>>2]|0)+4>>2]=k[u>>2];f=x;h=k[f+4>>2]|0;g=(k[p>>2]|0)+16|0;k[g>>2]=k[f>>2];k[g+4>>2]=h;g=w;h=k[g+4>>2]|0;f=(k[p>>2]|0)+8|0;k[f>>2]=k[g>>2];k[f+4>>2]=h;k[t>>2]=k[v>>2]}k[k[q>>2]>>2]=k[t>>2]}Ud(k[B+16>>2]|0);k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}function co(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;N=r;r=r+128|0;j=N+112|0;l=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;s=N+80|0;t=N+76|0;I=N+72|0;J=N+68|0;K=N+64|0;F=N+60|0;y=N+56|0;z=N+52|0;D=N+48|0;B=N+44|0;w=N;O=N+40|0;H=N+36|0;G=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;C=N+12|0;E=N+8|0;k[l>>2]=a;k[P>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[I>>2]=k[k[l>>2]>>2];k[y>>2]=0;k[z>>2]=0;k[D>>2]=0;k[B>>2]=k[(k[P>>2]|0)+4>>2];f=(k[P>>2]|0)+16|0;d=k[f+4>>2]|0;c=w;k[c>>2]=k[f>>2];k[c+4>>2]=d;k[O>>2]=(k[k[P>>2]>>2]|0)+1;c=Pe(k[(k[l>>2]|0)+8>>2]|0,k[O>>2]|0)|0;k[K>>2]=c;c=k[(k[l>>2]|0)+8>>2]|0;d=k[O>>2]|0;if(!(k[K>>2]|0))if((Re(c,d)|0)!=5){k[j>>2]=7;P=k[j>>2]|0;r=N;return P|0}else{k[j>>2]=0;P=k[j>>2]|0;r=N;return P|0}P=Le(c,d)|0;k[F>>2]=P;k[H>>2]=k[k[(k[I>>2]|0)+36>>2]>>2];P=Gn(k[(k[I>>2]|0)+36>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[K>>2]|0,k[F>>2]|0,G)|0;k[J>>2]=P;if(k[J>>2]|0){k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}while(1){if(k[J>>2]|0)break;k[u>>2]=-1;k[x>>2]=0;k[A>>2]=0;k[C>>2]=0;P=ac[k[(k[H>>2]|0)+20>>2]&255](k[G>>2]|0,v,u,x,A,y)|0;k[J>>2]=P;if(k[J>>2]|0){M=9;break}if((k[y>>2]|0)<(k[B>>2]|0))continue;if(!(k[D>>2]|0)){k[E>>2]=(k[F>>2]|0)-(k[x>>2]|0);P=eo(k[I>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[o>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,k[E>>2]|0,B,w)|0;k[J>>2]=P;k[D>>2]=1;do if(!(k[J>>2]|0)){if((k[B>>2]|0)>0|(k[m>>2]|0)>0){P=$n(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P;break}if(k[x>>2]|0){P=$n(k[t>>2]|0,k[K>>2]|0,k[x>>2]|0)|0;k[J>>2]=P}}while(0);if(k[J>>2]|0)continue;if((k[y>>2]|0)<(k[B>>2]|0))continue}if((k[y>>2]|0)>=((k[B>>2]|0)+(k[o>>2]|0)|0)){M=21;break}P=w;f=k[P>>2]|0;P=k[P+4>>2]|0;O=vR(1,0,(k[y>>2]|0)-(k[B>>2]|0)|0)|0;k[C>>2]=((f&O|0)!=0|(P&L|0)!=0)&1;if((k[y>>2]|0)>(k[B>>2]|0)){P=$n(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,(k[x>>2]|0)-(k[z>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=$n(k[t>>2]|0,k[p>>2]|0,-1)|0;k[J>>2]=P}if(!(k[J>>2]|0)){P=$n(k[t>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,(k[A>>2]|0)-(k[x>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=$n(k[t>>2]|0,k[q>>2]|0,-1)|0;k[J>>2]=P}k[z>>2]=k[A>>2]}if((M|0)==9){if((k[J>>2]|0)==101){P=$n(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,-1)|0;k[J>>2]=P}}else if((M|0)==21?(k[n>>2]|0)!=0:0){P=$n(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P}bc[k[(k[H>>2]|0)+16>>2]&255](k[G>>2]|0)|0;k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}function eo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;w=E+84|0;h=E+80|0;i=E+76|0;x=E+72|0;j=E+68|0;l=E+64|0;y=E+60|0;z=E+56|0;A=E;s=E+52|0;t=E+48|0;q=E+44|0;C=E+40|0;B=E+36|0;D=E+32|0;v=E+28|0;u=E+24|0;p=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;k[h>>2]=a;k[i>>2]=b;k[x>>2]=c;k[j>>2]=d;k[l>>2]=e;k[y>>2]=f;k[z>>2]=g;a=k[z>>2]|0;f=k[a+4>>2]|0;d=A;k[d>>2]=k[a>>2];k[d+4>>2]=f;d=A;do if((k[d>>2]|0)!=0|(k[d+4>>2]|0)!=0){k[s>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=vR(1,0,k[s>>2]|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[s>>2]=(k[s>>2]|0)+1}k[t>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=vR(1,0,(k[x>>2]|0)-1-(k[t>>2]|0)|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[t>>2]=(k[t>>2]|0)+1}k[q>>2]=((k[s>>2]|0)-(k[t>>2]|0)|0)/2|0;if((k[q>>2]|0)>0){k[B>>2]=0;k[v>>2]=k[k[(k[h>>2]|0)+36>>2]>>2];d=Gn(k[(k[h>>2]|0)+36>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,u)|0;k[D>>2]=d;if(k[D>>2]|0){k[w>>2]=k[D>>2];D=k[w>>2]|0;r=E;return D|0}while(1){if(k[D>>2]|0)break;if((k[B>>2]|0)>=((k[x>>2]|0)+(k[q>>2]|0)|0))break;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;d=ac[k[(k[v>>2]|0)+20>>2]&255](k[u>>2]|0,p,m,n,o,B)|0;k[D>>2]=d}bc[k[(k[v>>2]|0)+16>>2]&255](k[u>>2]|0)|0;h=k[D>>2]|0;if((k[D>>2]|0)!=0&(k[D>>2]|0)!=101){k[w>>2]=h;D=k[w>>2]|0;r=E;return D|0}else{k[C>>2]=((h|0)==101&1)+(k[B>>2]|0)-(k[x>>2]|0);if((k[C>>2]|0)<=0)break;D=k[y>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[C>>2]|0);D=A;C=rR(k[D>>2]|0,k[D+4>>2]|0,k[C>>2]|0)|0;D=k[z>>2]|0;k[D>>2]=C;k[D+4>>2]=L;break}}}while(0);k[w>>2]=0;D=k[w>>2]|0;r=E;return D|0}function fo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=r;r=r+32|0;j=h+28|0;l=h+24|0;m=h+20|0;i=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=k[m>>2];k[f>>2]=(k[(k[i>>2]|0)+16>>2]|0)+((k[l>>2]|0)*24|0);k[k[f>>2]>>2]=k[(k[(k[j>>2]|0)+20>>2]|0)+64>>2];a=Um(k[k[i>>2]>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+4>>2]|0,e)|0;k[g>>2]=a;if(!(k[e>>2]|0)){m=k[g>>2]|0;r=h;return m|0}k[d>>2]=0;k[(k[f>>2]|0)+4>>2]=k[e>>2];_n(e,d);k[(k[f>>2]|0)+12>>2]=k[e>>2];k[(k[f>>2]|0)+20>>2]=k[e>>2];k[(k[f>>2]|0)+8>>2]=k[d>>2];k[(k[f>>2]|0)+16>>2]=k[d>>2];m=k[g>>2]|0;r=h;return m|0}function go(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;d=j+20|0;g=j+16|0;f=j+12|0;e=j+8|0;h=j+4|0;i=j;k[c>>2]=a;a:do if((k[(k[c>>2]|0)+20>>2]|0)<0){k[(k[c>>2]|0)+20>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[g>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);io((k[g>>2]|0)+12|0,(k[g>>2]|0)+8|0,k[(k[c>>2]|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}else{k[e>>2]=2147483647;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;k[h>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<(k[e>>2]|0):0)k[e>>2]=k[(k[h>>2]|0)+8>>2];k[d>>2]=(k[d>>2]|0)+1}if((k[e>>2]|0)==2147483647){k[b>>2]=1;i=k[b>>2]|0;r=j;return i|0}h=(k[e>>2]|0)-(k[(k[c>>2]|0)+8>>2]|0)+1|0;k[f>>2]=h;k[(k[c>>2]|0)+20>>2]=h;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[i>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);io((k[i>>2]|0)+12|0,(k[i>>2]|0)+8|0,(k[e>>2]|0)+1|0);io((k[i>>2]|0)+20|0,(k[i>>2]|0)+16|0,k[f>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=0;i=k[b>>2]|0;r=j;return i|0}function ho(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;h=B+84|0;j=B+32|0;l=B+80|0;m=B+76|0;n=B+72|0;o=B+68|0;t=B+64|0;s=B+60|0;p=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;q=B+44|0;u=B+40|0;x=B+8|0;y=B;k[h>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[t>>2]=k[(k[h>>2]|0)+20>>2];k[s>>2]=0;g=v;k[g>>2]=0;k[g+4>>2]=0;g=w;k[g>>2]=0;k[g+4>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;k[A>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[p>>2]|0)*24|0);a:do if(k[(k[A>>2]|0)+20>>2]|0){k[z>>2]=k[(k[A>>2]|0)+20>>2];k[q>>2]=k[(k[A>>2]|0)+16>>2];while(1){if((k[q>>2]|0)>=((k[t>>2]|0)+(k[(k[h>>2]|0)+8>>2]|0)|0))break a;d=vR(1,0,k[p>>2]|0)|0;f=x;k[f>>2]=d;k[f+4>>2]=L;f=vR(1,0,(k[q>>2]|0)-(k[t>>2]|0)|0)|0;d=y;k[d>>2]=f;k[d+4>>2]=L;d=v;f=j;g=x;b=k[s>>2]|0;if(((k[d>>2]|k[f>>2])&k[g>>2]|0)!=0?1:((k[d+4>>2]|k[f+4>>2])&k[g+4>>2]|0)!=0)k[s>>2]=b+1;else k[s>>2]=b+1e3;d=x;e=v;f=k[e+4>>2]|k[d+4>>2];g=v;k[g>>2]=k[e>>2]|k[d>>2];k[g+4>>2]=f;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[A>>2]>>2]|0))break;d=y;d=rR(k[d>>2]|0,k[d+4>>2]|0,k[u>>2]|0)|0;e=w;f=k[e+4>>2]|L;g=w;k[g>>2]=k[e>>2]|d;k[g+4>>2]=f;k[u>>2]=(k[u>>2]|0)+1}if(!(i[k[z>>2]>>0]&254))break a;_n(z,q)}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[k[l>>2]>>2]=k[t>>2];k[k[m>>2]>>2]=k[s>>2];A=v;z=k[A+4>>2]|0;y=k[n>>2]|0;k[y>>2]=k[A>>2];k[y+4>>2]=z;y=w;z=k[y+4>>2]|0;A=k[o>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;r=B;return}function io(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,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];if(!(k[h>>2]|0)){r=l;return}k[g>>2]=k[k[e>>2]>>2];while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;if(!(i[k[h>>2]>>0]&254)){j=5;break}_n(h,g)}if((j|0)==5){k[g>>2]=-1;k[h>>2]=0}k[k[e>>2]>>2]=k[g>>2];k[k[d>>2]>>2]=k[h>>2];r=l;return}function jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=0;b=tl(k[h>>2]|0,36,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}if(100==(Ee(k[e>>2]|0)|0)){h=Ne(k[e>>2]|0,0)|0;k[d>>2]=h}b=he(k[e>>2]|0)|0;k[f>>2]=b;b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}function ko(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+128|0;d=C+112|0;e=C+108|0;D=C+104|0;f=C+100|0;A=C+96|0;u=C+92|0;w=C+88|0;x=C+84|0;z=C+80|0;v=C+76|0;m=C+16|0;j=C+64|0;g=C+60|0;t=C+8|0;y=C+52|0;i=C+48|0;o=C+44|0;p=C+40|0;n=C;q=C+36|0;h=C+32|0;B=C+28|0;s=C+24|0;k[e>>2]=a;k[D>>2]=b;k[f>>2]=c;k[u>>2]=k[D>>2];k[v>>2]=0;a=m;k[a>>2]=0;k[a+4>>2]=0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[g>>2]=0;k[C+56>>2]=640;a=Sd(640)|0;k[z>>2]=a;if(!(k[z>>2]|0)){k[d>>2]=7;D=k[d>>2]|0;r=C;return D|0}k[x>>2]=(k[z>>2]|0)+568;k[w>>2]=(k[x>>2]|0)+16;D=lo(k[e>>2]|0,j)|0;k[A>>2]=D;while(1){if(!((k[A>>2]|0)==0?(k[u>>2]|0)>0:0))break;a=k[(k[e>>2]|0)+248>>2]<<10;D=t;k[D>>2]=a;k[D+4>>2]=((a|0)<0)<<31>>31;k[y>>2]=0;k[i>>2]=0;k[o>>2]=0;D=tl(k[e>>2]|0,28,y,0)|0;k[A>>2]=D;Ve(k[y>>2]|0,1,k[f>>2]|0)|0;if((Ee(k[y>>2]|0)|0)==100){a=Oe(k[y>>2]|0,0)|0;D=m;k[D>>2]=a;k[D+4>>2]=L;k[v>>2]=k[f>>2]}else k[v>>2]=-1;D=he(k[y>>2]|0)|0;k[A>>2]=D;do if((k[A>>2]|0)==0?(k[j+4>>2]|0)!=0:0){k[p>>2]=k[j+4>>2];D=n;k[D>>2]=0;k[D+4>>2]=0;k[q>>2]=0;D=mo(j,n,q)|0;k[A>>2]=D;if((k[v>>2]|0)>=0?(b=m,a=t,a=AR(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,c=n,D=t,D=AR(k[c>>2]|0,k[c+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0,c=L,!((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>=D>>>0)):0){k[j+4>>2]=k[p>>2];break}c=n;a=k[c+4>>2]|0;D=m;k[D>>2]=k[c>>2];k[D+4>>2]=a;k[v>>2]=k[q>>2];k[i>>2]=1;k[g>>2]=1}while(0);if((k[v>>2]|0)<0)break;uR(k[z>>2]|0,0,640)|0;k[(k[x>>2]|0)+12>>2]=1;do if(!(k[A>>2]|0)){D=m;D=no(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,o)|0;k[A>>2]=D;if((k[o>>2]|0)!=0?!((k[i>>2]|0)!=0&(k[o>>2]|0)==1):0)break;k[h>>2]=0;a=k[e>>2]|0;D=m;D=qR(k[D>>2]|0,k[D+4>>2]|0,1,0)|0;D=oo(a,D,L,h)|0;k[A>>2]=D;if(k[h>>2]|0){D=(k[x>>2]|0)+12|0;k[D>>2]=k[D>>2]|2}}while(0);if(!(k[A>>2]|0)){D=m;D=po(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if(((0==(k[A>>2]|0)?(k[(k[w>>2]|0)+4>>2]|0)==(k[v>>2]|0):0)?(D=yl(k[e>>2]|0,k[w>>2]|0,k[x>>2]|0)|0,k[A>>2]=D,0==(D|0)):0)?(D=zl(k[e>>2]|0,k[w>>2]|0)|0,k[A>>2]=D,100==(D|0)):0){if((k[i>>2]|0)!=0&(k[o>>2]|0)>0){k[B>>2]=k[(k[w>>2]|0)+40>>2];k[s>>2]=k[(k[w>>2]|0)+44>>2];D=m;D=qo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,(k[o>>2]|0)-1|0,k[B>>2]|0,k[s>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}else{D=m;D=ro(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[o>>2]|0,k[w>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==0?(k[k[z>>2]>>2]|0)!=0:0){do{D=so(k[e>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;k[A>>2]=D;if(!(k[A>>2]|0)){D=zl(k[e>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==100?(k[(k[z>>2]|0)+4>>2]|0)>=(k[u>>2]|0):0)k[A>>2]=0}while((k[A>>2]|0)==100);if((k[A>>2]|0)==0?(k[u>>2]=(k[u>>2]|0)-(1+(k[(k[z>>2]|0)+4>>2]|0)),D=m,D=to(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[w>>2]|0,v)|0,k[A>>2]=D,(k[v>>2]|0)!=0):0){k[g>>2]=1;D=m;uo(j,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,A)}}if(k[v>>2]|0){a=(k[z>>2]|0)+40|0;a=BR(k[a>>2]|0,k[a+4>>2]|0,-1,-1)|0;D=(k[z>>2]|0)+40|0;k[D>>2]=a;k[D+4>>2]=L}vo(k[e>>2]|0,k[z>>2]|0,A);if((k[v>>2]|0)==0?(l[(k[z>>2]|0)+48>>0]|0|0)==0:0){c=k[e>>2]|0;a=m;a=qR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;D=(k[z>>2]|0)+40|0;Dl(c,a,L,k[D>>2]|0,k[D+4>>2]|0)|0}}Fl(k[w>>2]|0)}if((k[g>>2]|0)!=0&(k[A>>2]|0)==0){D=wo(k[e>>2]|0,j)|0;k[A>>2]=D}Ud(k[z>>2]|0);Ud(k[j>>2]|0);k[d>>2]=k[A>>2];D=k[d>>2]|0;r=C;return D|0}function lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+24|0;c=i+20|0;f=i+16|0;g=i+12|0;h=i+8|0;d=i+4|0;e=i;k[j>>2]=a;k[c>>2]=b;k[f>>2]=0;k[(k[c>>2]|0)+4>>2]=0;b=tl(k[j>>2]|0,22,f,0)|0;k[g>>2]=b;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}Ve(k[f>>2]|0,1,1)|0;if((100==(Ee(k[f>>2]|0)|0)?(j=Ke(k[f>>2]|0,0)|0,k[d>>2]=j,j=Le(k[f>>2]|0,0)|0,k[e>>2]=j,(k[d>>2]|0)!=0):0)?(xo(k[c>>2]|0,k[e>>2]|0,g),(k[g>>2]|0)==0):0){sR(k[k[c>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[(k[c>>2]|0)+4>>2]=k[e>>2]}j=he(k[f>>2]|0)|0;k[h>>2]=j;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}k[g>>2]=k[h>>2];j=k[g>>2]|0;r=i;return j|0}function mo(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,m=0;m=r;r=r+32|0;g=m+20|0;e=m+16|0;d=m+12|0;f=m+8|0;j=m+4|0;h=m;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[j>>2]=k[(k[e>>2]|0)+4>>2];k[h>>2]=(k[(k[e>>2]|0)+4>>2]|0)-2;while(1){if((k[h>>2]|0)<=0)break;if(!(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}while(1){if((k[h>>2]|0)>0)b=(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128|0)!=0;else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=a+-1}k[(k[e>>2]|0)+4>>2]=a;a=cm((k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0,k[d>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+a;a=(k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0;if(l[(k[k[e>>2]>>2]|0)+(k[h>>2]|0)>>0]&128)a=dm(a,k[f>>2]|0)|0;else{k[k[f>>2]>>2]=l[a>>0];a=1}k[h>>2]=(k[h>>2]|0)+a;if((k[h>>2]|0)!=(k[j>>2]|0)){k[g>>2]=267;j=k[g>>2]|0;r=m;return j|0}else{k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}return 0}function no(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=tl(k[j>>2]|0,8,g,0)|0;k[h>>2]=d;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}d=k[g>>2]|0;j=e;j=qR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;We(d,1,j,L)|0;Ee(k[g>>2]|0)|0;j=Ne(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=j;j=he(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=tl(k[l>>2]|0,15,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){k[e>>2]=k[i>>2];l=k[e>>2]|0;r=j;return l|0}l=k[h>>2]|0;i=f;i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;We(l,1,i,L)|0;i=k[h>>2]|0;l=f;l=zR(k[l>>2]|0,k[l+4>>2]|0,1024,0)|0;l=qR(l|0,L|0,1,0)|0;l=BR(l|0,L|0,1024,0)|0;We(i,2,l,L)|0;k[k[g>>2]>>2]=0;if(100==(Ee(k[h>>2]|0)|0)){l=(Re(k[h>>2]|0,0)|0)==5&1;k[k[g>>2]>>2]=l}l=he(k[h>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}function po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+36|0;g=p;h=p+32|0;i=p+28|0;n=p+24|0;m=p+20|0;l=p+16|0;j=p+12|0;o=p+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;b=k[i>>2]|0;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[l>>2]=k[h>>2]<<2;e=Sd(k[l>>2]|0)|0;k[k[i>>2]>>2]=e;if(!(k[k[i>>2]>>2]|0))k[n>>2]=7;else{uR(k[k[i>>2]>>2]|0,0,k[l>>2]|0)|0;l=tl(k[f>>2]|0,12,m,0)|0;k[n>>2]=l}if(k[n>>2]|0){o=k[n>>2]|0;r=p;return o|0}l=g;We(k[m>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;k[j>>2]=0;while(1){if(k[n>>2]|0)break;if((Ee(k[m>>2]|0)|0)!=100)break;if((k[j>>2]|0)>=(k[h>>2]|0))break;q=k[j>>2]|0;b=Oe(k[m>>2]|0,1)|0;c=L;d=Oe(k[m>>2]|0,2)|0;a=L;e=Oe(k[m>>2]|0,3)|0;f=L;g=Ke(k[m>>2]|0,4)|0;l=Le(k[m>>2]|0,4)|0;l=sm(q,0,b,c,d,a,e,f,g,l,(k[k[i>>2]>>2]|0)+(k[j>>2]<<2)|0)|0;k[n>>2]=l;l=(k[i>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}q=he(k[m>>2]|0)|0;k[o>>2]=q;if(k[n>>2]|0){q=k[n>>2]|0;r=p;return q|0}k[n>>2]=k[o>>2];q=k[n>>2]|0;r=p;return q|0}function qo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+208|0;y=J+200|0;z=J+196|0;h=J+120|0;j=J+192|0;l=J+188|0;m=J+184|0;A=J+180|0;G=J+176|0;F=J+172|0;s=J+112|0;q=J+104|0;p=J+96|0;v=J+168|0;x=J+164|0;H=J+160|0;o=J+156|0;n=J+152|0;t=J+148|0;u=J+48|0;C=J+144|0;w=J+140|0;E=J+136|0;I=J;B=J+132|0;D=J+128|0;k[z>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[A>>2]=g;k[F>>2]=0;e=tl(k[z>>2]|0,32,F,0)|0;k[G>>2]=e;if(!(k[G>>2]|0)){b=s;k[b>>2]=0;k[b+4>>2]=0;b=q;k[b>>2]=0;k[b+4>>2]=0;b=p;k[b>>2]=0;k[b+4>>2]=0;k[v>>2]=0;k[x>>2]=0;k[o>>2]=0;b=k[F>>2]|0;e=h;e=qR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;We(b,1,e,L)|0;Ve(k[F>>2]|0,2,k[j>>2]|0)|0;e=(Ee(k[F>>2]|0)|0)==100;b=k[F>>2]|0;if(!e){I=he(b)|0;k[y>>2]=I;I=k[y>>2]|0;r=J;return I|0}e=Oe(b,1)|0;g=s;k[g>>2]=e;k[g+4>>2]=L;g=Oe(k[F>>2]|0,2)|0;e=q;k[e>>2]=g;k[e+4>>2]=L;Il(k[F>>2]|0,3,p,(k[A>>2]|0)+40|0);if((k[(k[A>>2]|0)+40+4>>2]|0)<0){g=(k[A>>2]|0)+40|0;g=BR(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;e=(k[A>>2]|0)+40|0;k[e>>2]=g;k[e+4>>2]=L}e=(k[A>>2]|0)+40|0;i[(k[A>>2]|0)+48>>0]=(k[e>>2]|0)==0&(k[e+4>>2]|0)==0&1;e=Le(k[F>>2]|0,4)|0;k[x>>2]=e;e=Ke(k[F>>2]|0,4)|0;k[v>>2]=e;e=p;e=Jo(k[z>>2]|0,k[e>>2]|0,k[e+4>>2]|0,o)|0;k[G>>2]=e;if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[n>>2]=0;k[t>>2]=0;q=km(k[z>>2]|0,k[q>>2]|0,k[q+4>>2]|0,n,t,0)|0;k[G>>2]=q;if(!(k[G>>2]|0)){t=Co(u,k[n>>2]|0,k[t>>2]|0)|0;k[G>>2]=t;while(1){if(!((k[G>>2]|0)==0?(k[u>>2]|0)!=0:0))break;t=Go(u)|0;k[G>>2]=t}if((Do(k[l>>2]|0,k[m>>2]|0,k[u+24>>2]|0,k[u+24+4>>2]|0)|0)<=0)k[o>>2]=0;Ho(u)}Ud(k[n>>2]|0)}a:do if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[w>>2]=i[k[v>>2]>>0];u=p;t=s;t=pR(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=qR(t|0,L|0,1,0)|0;k[k[A>>2]>>2]=(t|0)/16|0;t=k[s+4>>2]|0;u=(k[A>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;u=p;t=k[u+4>>2]|0;s=(k[A>>2]|0)+32|0;k[s>>2]=k[u>>2];k[s+4>>2]=t;s=h;t=k[s+4>>2]|0;u=(k[A>>2]|0)+8|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;k[(k[A>>2]|0)+16>>2]=k[j>>2];k[C>>2]=(k[w>>2]|0)+1;while(1){if((k[C>>2]|0)>=16)break;u=(k[A>>2]|0)+24|0;t=ha(k[C>>2]|0,k[k[A>>2]>>2]|0)|0;t=qR(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(k[A>>2]|0)+56+(k[C>>2]<<5)|0;k[u>>2]=t;k[u+4>>2]=L;k[C>>2]=(k[C>>2]|0)+1}k[E>>2]=(k[A>>2]|0)+56+(k[w>>2]<<5);u=(k[A>>2]|0)+24|0;t=ha(k[k[A>>2]>>2]|0,k[w>>2]|0)|0;t=qR(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=k[E>>2]|0;k[u>>2]=t;k[u+4>>2]=L;if((k[x>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[x>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;xo((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){sR(k[(k[E>>2]|0)+20>>2]|0,k[v>>2]|0,k[x>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[x>>2]}k[C>>2]=k[w>>2];while(1){if(!((k[C>>2]|0)>=0?(k[G>>2]|0)==0:0))break a;k[E>>2]=(k[A>>2]|0)+56+(k[C>>2]<<5);x=Co(I,k[(k[E>>2]|0)+20>>2]|0,k[(k[E>>2]|0)+20+4>>2]|0)|0;k[G>>2]=x;while(1){if(!((k[I>>2]|0)!=0?(k[G>>2]|0)==0:0))break;x=Go(I)|0;k[G>>2]=x}xo((k[E>>2]|0)+8|0,k[I+24+4>>2]|0,G);if((k[G>>2]|0)==0?(sR(k[(k[E>>2]|0)+8>>2]|0,k[I+24>>2]|0,k[I+24+4>>2]|0)|0,k[(k[E>>2]|0)+8+4>>2]=k[I+24+4>>2],(k[C>>2]|0)>0):0){k[B>>2]=0;k[D>>2]=0;k[E>>2]=(k[A>>2]|0)+56+((k[C>>2]|0)-1<<5);v=I+16|0;w=k[v+4>>2]|0;x=k[E>>2]|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;x=I+16|0;x=km(k[z>>2]|0,k[x>>2]|0,k[x+4>>2]|0,B,D,0)|0;k[G>>2]=x;if((k[D>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[D>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;xo((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){sR(k[(k[E>>2]|0)+20>>2]|0,k[B>>2]|0,k[D>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[D>>2]}Ud(k[B>>2]|0)}Ho(I);k[C>>2]=(k[C>>2]|0)+-1}}while(0);I=he(k[F>>2]|0)|0;k[H>>2]=I;if(!(k[G>>2]|0))k[G>>2]=k[H>>2]}k[y>>2]=k[G>>2];I=k[y>>2]|0;r=J;return I|0}function ro(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+44|0;h=t+40|0;i=t;j=t+36|0;l=t+32|0;m=t+28|0;s=t+24|0;n=t+20|0;o=t+16|0;q=t+12|0;p=t+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;k[q>>2]=0;k[p>>2]=0;f=tl(k[h>>2]|0,29,q,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){f=i;We(k[q>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[(k[l>>2]|0)+4>>2]|0;We(k[q>>2]|0,2,f,((f|0)<0)<<31>>31)|0;if(100==(Ee(k[q>>2]|0)|0)){f=Ne(k[q>>2]|0,0)|0;k[o>>2]=f}f=he(k[q>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=tl(k[h>>2]|0,10,p,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){if(100==(Ee(k[p>>2]|0)|0)){q=Oe(k[p>>2]|0,0)|0;f=(k[m>>2]|0)+24|0;k[f>>2]=q;k[f+4>>2]=L;f=(k[m>>2]|0)+24|0;f=pR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;q=(k[m>>2]|0)+32|0;k[q>>2]=f;k[q+4>>2]=L;q=k[o>>2]<<4;f=(k[m>>2]|0)+32|0;e=f;q=qR(k[e>>2]|0,k[e+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;k[f>>2]=q;k[f+4>>2]=L}f=he(k[p>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=(k[m>>2]|0)+32|0;f=Jl(k[h>>2]|0,k[f>>2]|0,k[f+4>>2]|0,0,0)|0;k[s>>2]=f;if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}q=i;f=k[q+4>>2]|0;s=(k[m>>2]|0)+8|0;k[s>>2]=k[q>>2];k[s+4>>2]=f;k[k[m>>2]>>2]=k[o>>2];k[(k[m>>2]|0)+16>>2]=k[j>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break;s=(k[m>>2]|0)+24|0;f=ha(k[n>>2]|0,k[k[m>>2]>>2]|0)|0;f=qR(k[s>>2]|0,k[s+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;s=(k[m>>2]|0)+56+(k[n>>2]<<5)|0;k[s>>2]=f;k[s+4>>2]=L;k[n>>2]=(k[n>>2]|0)+1}k[g>>2]=0;s=k[g>>2]|0;r=t;return s|0}function so(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;e=q+40|0;s=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;g=q+20|0;o=q+16|0;j=q+12|0;h=q+8|0;l=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[p>>2]=k[(k[s>>2]|0)+40>>2];k[m>>2]=k[(k[s>>2]|0)+44>>2];k[f>>2]=k[(k[s>>2]|0)+48>>2];k[g>>2]=k[(k[s>>2]|0)+52>>2];k[o>>2]=0;k[n>>2]=(k[e>>2]|0)+56;b=Ql(k[(k[n>>2]|0)+8>>2]|0,k[(k[n>>2]|0)+8+4>>2]|0,k[p>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;k[l>>2]=(k[m>>2]|0)-(k[h>>2]|0);b=k[h>>2]|0;b=Nl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;b=k[l>>2]|0;b=Nl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[l>>2]|0));b=k[g>>2]|0;b=Nl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[g>>2]|0));if((k[(k[n>>2]|0)+20+4>>2]|0)>0?((k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0)>(k[(k[d>>2]|0)+224>>2]|0):0){s=k[n>>2]|0;s=Jl(k[d>>2]|0,k[s>>2]|0,k[s+4>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[(k[n>>2]|0)+20+4>>2]|0)|0;k[o>>2]=s;s=(k[e>>2]|0)+4|0;k[s>>2]=(k[s>>2]|0)+1;if(!(k[o>>2]|0)){s=Io(k[d>>2]|0,k[e>>2]|0,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;k[o>>2]=s}s=k[n>>2]|0;b=s;b=qR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[s>>2]=b;k[s+4>>2]=L;k[(k[n>>2]|0)+8+4>>2]=0;k[(k[n>>2]|0)+20+4>>2]=0;k[l>>2]=k[m>>2];k[j>>2]=1;s=k[l>>2]|0;s=Nl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[l>>2]|0));s=k[g>>2]|0;s=Nl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[g>>2]|0))}b=k[j>>2]|0;s=(k[e>>2]|0)+40|0;c=s;b=qR(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=b;k[s+4>>2]=L;xo((k[n>>2]|0)+20|0,(k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0,o);if(k[o>>2]|0){s=k[o>>2]|0;r=q;return s|0}if(!(k[(k[n>>2]|0)+20+4>>2]|0)){k[(k[n>>2]|0)+20+4>>2]=1;i[k[(k[n>>2]|0)+20>>2]>>0]=0}s=Fo((k[n>>2]|0)+20|0,(k[n>>2]|0)+8|0,k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=s;s=k[o>>2]|0;r=q;return s|0}function to(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+44|0;g=s;h=s+40|0;i=s+36|0;j=s+32|0;m=s+28|0;p=s+24|0;o=s+20|0;l=s+16|0;q=s+12|0;n=s+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;k[p>>2]=0;k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)-1;while(1){if(!((k[j>>2]|0)>=0?(k[p>>2]|0)==0:0))break;k[o>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break;k[o>>2]=k[(k[k[h>>2]>>2]|0)+(k[l>>2]<<2)>>2];if((k[k[o>>2]>>2]|0)==(k[j>>2]|0))break;k[l>>2]=(k[l>>2]|0)+1}if(!(k[(k[o>>2]|0)+40>>2]|0)){e=Pl(k[f>>2]|0,k[o>>2]|0)|0;k[p>>2]=e;if(!(k[p>>2]|0)){e=g;e=yo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0)|0;k[p>>2]=e}k[k[i>>2]>>2]=0}else{k[q>>2]=k[(k[o>>2]|0)+64>>2];k[n>>2]=k[(k[o>>2]|0)+60>>2];e=g;e=zo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0;k[p>>2]=e;k[m>>2]=(k[m>>2]|0)+1}k[j>>2]=(k[j>>2]|0)+-1}if(k[p>>2]|0){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}if((k[m>>2]|0)==(k[(k[h>>2]|0)+4>>2]|0)){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}e=g;e=Ao(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=e;e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}function uo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i+16|0;g=i;h=i+12|0;j=i+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;xo(k[f>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+20|0,k[j>>2]|0);if(k[k[j>>2]>>2]|0){r=i;return}j=g;j=Ol((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[j>>2]|0,k[j+4>>2]|0)|0;e=(k[f>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)+j;e=k[h>>2]|0;e=Ol((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+e;r=i;return}function vo(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,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;m=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;j=q;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[n>>2]>>2];k[f>>2]=15;while(1){if((k[f>>2]|0)<0)break;k[h>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);if((k[(k[h>>2]|0)+20+4>>2]|0)>0)break;Ud(k[(k[h>>2]|0)+20>>2]|0);Ud(k[(k[h>>2]|0)+8>>2]|0);k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){r=q;return}if(!(k[f>>2]|0)){k[g>>2]=(k[m>>2]|0)+56+32+20;xo(k[g>>2]|0,11,p);if(!(k[p>>2]|0)){i[k[k[g>>2]>>2]>>0]=1;b=(k[m>>2]|0)+56|0;b=1+(Ol((k[k[g>>2]>>2]|0)+1|0,k[b>>2]|0,k[b+4>>2]|0)|0)|0;k[(k[g>>2]|0)+4>>2]=b}k[f>>2]=1}k[o>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=(k[m>>2]|0)+56+(k[e>>2]<<5);if((k[p>>2]|0)==0?(k[(k[j>>2]|0)+20+4>>2]|0)>0:0){b=k[j>>2]|0;b=Jl(k[d>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+20+4>>2]|0)|0;k[p>>2]=b}Ud(k[(k[j>>2]|0)+20>>2]|0);Ud(k[(k[j>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[p>>2]|0)){j=k[d>>2]|0;d=(k[m>>2]|0)+8|0;d=qR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=(k[m>>2]|0)+24|0;f=(k[m>>2]|0)+56|0;a=(k[m>>2]|0)+32|0;if(!(l[(k[m>>2]|0)+48>>0]|0)){h=(k[m>>2]|0)+40|0;g=k[h>>2]|0;h=k[h+4>>2]|0}else{g=0;h=0}m=Ll(j,d,L,k[(k[m>>2]|0)+16>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,g,h,k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+20+4>>2]|0)|0;k[p>>2]=m}Ud(k[(k[o>>2]|0)+20>>2]|0);Ud(k[(k[o>>2]|0)+8>>2]|0);k[k[n>>2]>>2]=k[p>>2];r=q;return}function wo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=tl(k[g>>2]|0,23,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}Ve(k[d>>2]|0,1,1)|0;Te(k[d>>2]|0,2,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,0)|0;Ee(k[d>>2]|0)|0;g=he(k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}if((k[e>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){r=i;return}k[h>>2]=k[e>>2];c=Vd(k[k[d>>2]>>2]|0,k[h>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[d>>2]|0)+8>>2]=k[h>>2];k[k[d>>2]>>2]=k[g>>2];r=i;return}else{k[k[f>>2]>>2]=7;r=i;return}}function yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;a=tl(k[j>>2]|0,30,g,0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=e;We(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Ve(k[g>>2]|0,2,k[f>>2]|0)|0;Ee(k[g>>2]|0)|0;j=he(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function zo(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;g=B+104|0;h=B+24|0;i=B+100|0;j=B+96|0;l=B+92|0;y=B+88|0;A=B+76|0;o=B+64|0;p=B+16|0;q=B+8|0;s=B;x=B+60|0;z=B+56|0;n=B+52|0;u=B+48|0;m=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[y>>2]=0;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;e=p;k[e>>2]=0;k[e+4>>2]=0;e=q;k[e>>2]=0;k[e+4>>2]=0;e=s;k[e>>2]=0;k[e+4>>2]=0;k[x>>2]=0;e=tl(k[g>>2]|0,32,x,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=h;We(k[x>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Ve(k[x>>2]|0,2,k[i>>2]|0)|0;if(100==(Ee(k[x>>2]|0)|0)){a=Ke(k[x>>2]|0,4)|0;k[n>>2]=a;a=Le(k[x>>2]|0,4)|0;k[u>>2]=a;a=Oe(k[x>>2]|0,1)|0;e=s;k[e>>2]=a;k[e+4>>2]=L;e=Bo(k[n>>2]|0,k[u>>2]|0,A,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}e=he(k[x>>2]|0)|0;k[z>>2]=e;if(!(k[y>>2]|0))k[y>>2]=k[z>>2]}while(1){e=p;if(!((k[y>>2]|0)==0?(k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0:0))break;k[m>>2]=0;k[t>>2]=0;x=p;z=k[x+4>>2]|0;e=q;k[e>>2]=k[x>>2];k[e+4>>2]=z;e=p;e=km(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,m,t,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=Bo(k[m>>2]|0,k[t>>2]|0,o,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}if(!(k[y>>2]|0)){e=q;e=Jl(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[y>>2]=e}Ud(k[m>>2]|0)}e=q;if((k[y>>2]|0)==0&((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)?(k[w>>2]=0,e=tl(k[g>>2]|0,17,w,0)|0,k[y>>2]=e,(k[y>>2]|0)==0):0){z=s;We(k[w>>2]|0,1,k[z>>2]|0,k[z+4>>2]|0)|0;z=k[w>>2]|0;e=q;e=pR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;We(z,2,e,L)|0;Ee(k[w>>2]|0)|0;e=he(k[w>>2]|0)|0;k[y>>2]=e}if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}k[v>>2]=0;e=tl(k[g>>2]|0,33,v,0)|0;k[y>>2]=e;if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}e=q;We(k[v>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Te(k[v>>2]|0,2,k[A>>2]|0,k[A+4>>2]|0,0)|0;e=h;We(k[v>>2]|0,3,k[e>>2]|0,k[e+4>>2]|0)|0;Ve(k[v>>2]|0,4,k[i>>2]|0)|0;Ee(k[v>>2]|0)|0;e=he(k[v>>2]|0)|0;k[y>>2]=e;e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}function Ao(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+44|0;e=s;o=s+40|0;f=s+36|0;l=s+32|0;j=s+28|0;h=s+24|0;m=s+20|0;n=s+16|0;p=s+12|0;g=s+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=0;k[l>>2]=0;k[j>>2]=0;k[m>>2]=0;k[n>>2]=0;a=tl(k[d>>2]|0,35,m,0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=e;We(k[m>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(Ee(k[m>>2]|0)|0))break;if((k[l>>2]|0)>=(k[j>>2]|0)){k[j>>2]=(k[j>>2]|0)+16;a=Vd(k[f>>2]|0,k[j>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0)){q=6;break}k[f>>2]=k[g>>2]}c=Ne(k[m>>2]|0,0)|0;a=k[l>>2]|0;k[l>>2]=a+1;k[(k[f>>2]|0)+(a<<2)>>2]=c}if((q|0)==6)k[o>>2]=7;q=he(k[m>>2]|0)|0;k[p>>2]=q;if(!(k[o>>2]|0))k[o>>2]=k[p>>2]}if(!(k[o>>2]|0)){q=tl(k[d>>2]|0,31,n,0)|0;k[o>>2]=q}if(!(k[o>>2]|0)){q=e;We(k[n>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0}i[(k[d>>2]|0)+232>>0]=1;k[h>>2]=0;while(1){if(k[o>>2]|0){q=21;break}if((k[h>>2]|0)>=(k[l>>2]|0)){q=21;break}if((k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)!=(k[h>>2]|0)){Ve(k[n>>2]|0,3,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;Ve(k[n>>2]|0,1,k[h>>2]|0)|0;Ee(k[n>>2]|0)|0;q=he(k[n>>2]|0)|0;k[o>>2]=q}k[h>>2]=(k[h>>2]|0)+1}if((q|0)==21){i[(k[d>>2]|0)+232>>0]=0;Ud(k[f>>2]|0);r=s;return k[o>>2]|0}return 0}function Bo(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;g=w+96|0;h=w+92|0;j=w+88|0;l=w+84|0;m=w+80|0;n=w+76|0;o=w+72|0;t=w;q=w+60|0;s=w+56|0;p=w+52|0;u=w+48|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[s>>2]=0;k[p>>2]=(i[k[h>>2]>>0]|0)==0&1;xo(k[l>>2]|0,k[j>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[(k[l>>2]|0)+4>>2]=0;d=Co(t,k[h>>2]|0,k[j>>2]|0)|0;k[s>>2]=d;while(1){if(!((k[s>>2]|0)==0?(k[t>>2]|0)!=0:0))break;if(!(k[(k[l>>2]|0)+4>>2]|0)){d=Do(k[t+24>>2]|0,k[t+24+4>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=d;if((k[u>>2]|0)>=0?!((k[p>>2]|0)==0&(k[u>>2]|0)==0):0){f=t+16|0;Eo(k[l>>2]|0,i[k[h>>2]>>0]|0,k[f>>2]|0,k[f+4>>2]|0);f=t+16|0;d=k[f+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[f>>2];k[v+4>>2]=d;v=9}}else v=9;if((v|0)==9?(v=0,d=Fo(k[l>>2]|0,q,k[t+24>>2]|0,k[t+24+4>>2]|0,k[t+36>>2]|0,k[t+40>>2]|0)|0,k[s>>2]=d,(k[s>>2]|0)!=0):0)break;d=Go(t)|0;k[s>>2]=d}if(!(k[(k[l>>2]|0)+4>>2]|0)){u=t+16|0;Eo(k[l>>2]|0,i[k[h>>2]>>0]|0,k[u>>2]|0,k[u+4>>2]|0);u=t+16|0;d=k[u+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[u>>2];k[v+4>>2]=d}Ho(t);Ud(k[q>>2]|0);k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}function Co(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+8|0;d=g+4|0;e=g;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;b=k[f>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[k[f>>2]>>2]=k[d>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];b=k[f>>2]|0;if(i[k[k[f>>2]>>2]>>0]|0){e=1+(cm((k[b>>2]|0)+1|0,(k[f>>2]|0)+16|0)|0)|0;k[(k[f>>2]|0)+8>>2]=e;f=k[f>>2]|0;f=Go(f)|0;r=g;return f|0}else{k[b+8>>2]=1;f=k[f>>2]|0;f=Go(f)|0;r=g;return f|0}return 0}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;l=h+20|0;e=h+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[e>>2]=b;k[j>>2]=c;k[f>>2]=d;k[i>>2]=(k[e>>2]|0)<(k[f>>2]|0)?k[e>>2]|0:k[f>>2]|0;c=FQ(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){l=k[g>>2]|0;r=h;return l|0}k[g>>2]=(k[e>>2]|0)-(k[f>>2]|0);l=k[g>>2]|0;r=h;return l|0}function Eo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;f=g;k[e>>2]=a;k[h>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;i[k[k[e>>2]>>2]>>0]=k[h>>2];a=f;c=k[e>>2]|0;if((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0){h=f;h=1+(Ol((k[c>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0)|0)|0;k[(k[e>>2]|0)+4>>2]=h;r=g;return}else{k[c+4>>2]=1;r=g;return}}function Fo(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;o=t+8|0;p=t+4|0;q=t;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[s>>2]=0;k[o>>2]=(k[(k[i>>2]|0)+4>>2]|0)==0&1;xo(k[i>>2]|0,k[l>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];c=k[g>>2]|0;r=t;return c|0}c=Ql(k[k[i>>2]>>2]|0,k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[p>>2]=c;k[q>>2]=(k[l>>2]|0)-(k[p>>2]|0);sR(k[k[i>>2]>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=k[l>>2];if(!(k[o>>2]|0)){s=k[p>>2]|0;s=Ol((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s}s=k[q>>2]|0;s=Ol((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;sR((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,(k[j>>2]|0)+(k[p>>2]|0)|0,k[q>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[q>>2]|0);if(k[m>>2]|0){s=k[n>>2]|0;s=Ol((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;sR((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,k[m>>2]|0,k[n>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[n>>2]|0)}k[g>>2]=0;c=k[g>>2]|0;r=t;return c|0}function Go(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;e=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[b>>2]=(k[(k[e>>2]|0)+24+4>>2]|0)==0&1;k[c>>2]=0;k[d>>2]=0;k[f>>2]=0;a=(k[e>>2]|0)+16|0;if(((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)&(k[b>>2]|0)==0){a=(k[e>>2]|0)+16|0;h=a;h=qR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;k[a>>2]=h;k[a+4>>2]=L}if((k[(k[e>>2]|0)+8>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=0;h=k[f>>2]|0;r=g;return h|0}if(!(k[b>>2]|0)){b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=dm(b,c)|0;else{k[c>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=dm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;xo((k[e>>2]|0)+24|0,(k[c>>2]|0)+(k[d>>2]|0)|0,f);if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}sR((k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]|0)|0,(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24+4>>2]=(k[c>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+16|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=k[f>>2]|0;r=g;return h|0}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=dm(b,(k[e>>2]|0)+40|0)|0;else{k[(k[e>>2]|0)+40>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;k[(k[e>>2]|0)+36>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+40>>2]|0);h=k[f>>2]|0;r=g;return h|0}function Ho(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+24>>2]|0);r=b;return}function Io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;t=v+60|0;e=v+56|0;f=v+52|0;g=v+48|0;h=v+44|0;m=v+8|0;j=v+40|0;l=v;s=v+36|0;u=v+32|0;n=v+28|0;p=v+24|0;o=v+20|0;q=v+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=(k[f>>2]|0)+56|0;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=1;while(1){if((k[j>>2]|0)>=16){e=16;break}c=l;k[c>>2]=0;k[c+4>>2]=0;k[s>>2]=(k[f>>2]|0)+56+(k[j>>2]<<5);k[u>>2]=0;c=Ql(k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+8+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=c;k[p>>2]=(k[h>>2]|0)-(k[n>>2]|0);c=k[n>>2]|0;c=Nl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;c=k[p>>2]|0;c=Nl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=(k[o>>2]|0)+(c+(k[p>>2]|0));if((k[(k[s>>2]|0)+8+4>>2]|0)!=0?((k[(k[s>>2]|0)+20+4>>2]|0)+(k[o>>2]|0)|0)>(k[(k[e>>2]|0)+224>>2]|0):0){b=k[s>>2]|0;b=Jl(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[s>>2]|0)+20>>2]|0,k[(k[s>>2]|0)+20+4>>2]|0)|0;k[u>>2]=b;i[k[(k[s>>2]|0)+20>>2]>>0]=k[j>>2];b=(k[(k[s>>2]|0)+20>>2]|0)+1|0;a=m;a=qR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;a=1+(Ol(b,a,L)|0)|0;k[(k[s>>2]|0)+20+4>>2]=a;a=k[s>>2]|0;b=k[a+4>>2]|0;c=l;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=k[s>>2]|0;b=c;b=qR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=L;k[(k[s>>2]|0)+8+4>>2]=0}else{k[q>>2]=(k[s>>2]|0)+20;if((k[(k[q>>2]|0)+4>>2]|0)==0?(xo(k[q>>2]|0,k[(k[e>>2]|0)+224>>2]|0,u),(k[u>>2]|0)==0):0){i[k[k[q>>2]>>2]>>0]=k[j>>2];c=m;c=1+(Ol((k[k[q>>2]>>2]|0)+1|0,k[c>>2]|0,k[c+4>>2]|0)|0)|0;k[(k[q>>2]|0)+4>>2]=c}xo(k[q>>2]|0,(k[(k[q>>2]|0)+4>>2]|0)+(k[o>>2]|0)|0,u);xo((k[s>>2]|0)+8|0,k[h>>2]|0,u);if(!(k[u>>2]|0)){if(k[(k[s>>2]|0)+8+4>>2]|0){b=k[n>>2]|0;b=Ol((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b}b=k[p>>2]|0;b=Ol((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b;sR((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,k[p>>2]|0)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[p>>2]|0);sR(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[s>>2]|0)+8+4>>2]=k[h>>2]}}c=l;if((k[u>>2]|0)!=0|(k[c>>2]|0)==0&(k[c+4>>2]|0)==0){e=14;break}a=l;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=(k[j>>2]|0)+1}if((e|0)==14){k[t>>2]=k[u>>2];u=k[t>>2]|0;r=v;return u|0}else if((e|0)==16){k[t>>2]=0;u=k[t>>2]|0;r=v;return u|0}return 0}function Jo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;e=j;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;d=tl(k[l>>2]|0,34,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}l=e;We(k[h>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;if(100==(Ee(k[h>>2]|0)|0))k[g>>2]=1;d=he(k[h>>2]|0)|0;k[i>>2]=d;d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;u=t+48|0;e=t+44|0;f=t+40|0;g=t+36|0;p=t+32|0;s=t+28|0;n=t+24|0;j=t+20|0;h=t+16|0;o=t+12|0;l=t+8|0;q=t+4|0;m=t;k[u>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[p>>2]=k[u>>2];k[s>>2]=0;k[n>>2]=0;k[j>>2]=0;k[h>>2]=0;k[o>>2]=0;k[l>>2]=0;if(((k[e>>2]|0)>1?(pe(k[k[f>>2]>>2]|0)|0)==5:0)?(pe(k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){u=Lo(k[p>>2]|0,k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[s>>2]=u;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}if((k[e>>2]|0)>1?(ne(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){k[s>>2]=19;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}u=Sd((k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1)|0;k[h>>2]=u;if(!(k[h>>2]|0)){k[s>>2]=7;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}k[j>>2]=(k[h>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+1<<2);uR(k[h>>2]|0,0,(k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;u=Mo(k[p>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}do if((k[e>>2]|0)>1?(k[(k[p>>2]|0)+40>>2]|0)==0:0){k[q>>2]=k[(k[f>>2]|0)+(3+(k[(k[p>>2]|0)+24>>2]|0)<<2)>>2];if((pe(k[q>>2]|0)|0)==5)k[q>>2]=k[(k[f>>2]|0)+4>>2];if((pe(k[q>>2]|0)|0)!=5){if((pe(k[k[f>>2]>>2]|0)|0)!=5?(d=oe(k[k[f>>2]>>2]|0)|0,u=L,a=oe(k[q>>2]|0)|0,!((d|0)!=(a|0)|(u|0)!=(L|0))):0)break;u=(rf(k[(k[p>>2]|0)+12>>2]|0)|0)==5;c=k[p>>2]|0;if(u){u=No(c,k[q>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;break}else{u=Oo(c,k[f>>2]|0,k[g>>2]|0)|0;k[s>>2]=u;k[l>>2]=1;break}}}while(0);if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}if((pe(k[k[f>>2]>>2]|0)|0)!=5){u=No(k[p>>2]|0,k[k[f>>2]>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;k[n>>2]=1}if((k[e>>2]|0)>1&(k[s>>2]|0)==0){u=ne(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[m>>2]=u;if(((k[l>>2]|0)==0?(u=Oo(k[p>>2]|0,k[f>>2]|0,k[g>>2]|0)|0,k[s>>2]=u,(k[s>>2]|0)==19):0)?(k[(k[p>>2]|0)+40>>2]|0)==0:0)k[s>>2]=267;do if(!(k[s>>2]|0)){if((k[n>>2]|0)!=0?(q=k[g>>2]|0,u=(k[p>>2]|0)+264|0,!((k[q>>2]|0)!=(k[u>>2]|0)?1:(k[q+4>>2]|0)!=(k[u+4>>2]|0))):0)break;u=k[g>>2]|0;u=Po(k[p>>2]|0,0,k[m>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[s>>2]=u}while(0);if(!(k[s>>2]|0)){u=Qo(k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[s>>2]=u}if(i[(k[p>>2]|0)+230>>0]|0)Ro(s,k[p>>2]|0,k[j>>2]|0);k[o>>2]=(k[o>>2]|0)+1}if(!(i[(k[p>>2]|0)+228>>0]|0)){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}So(s,k[p>>2]|0,k[j>>2]|0,k[h>>2]|0,k[o>>2]|0);u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Cm(u);u=k[s>>2]|0;r=t;return u|0}function Lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;e=i;k[d>>2]=a;k[j>>2]=b;b=ke(k[j>>2]|0)|0;k[g>>2]=b;b=le(k[j>>2]|0)|0;k[e>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=7;j=k[c>>2]|0;r=i;return j|0}if((k[e>>2]|0)==8?0==(Jd(k[g>>2]|0,21373,8)|0):0){j=Xn(k[d>>2]|0,0)|0;k[f>>2]=j}else h=6;do if((h|0)==6){if((k[e>>2]|0)==7?0==(Jd(k[g>>2]|0,24342,7)|0):0){j=ap(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)==15?0==(Jd(k[g>>2]|0,24350,15)|0):0){j=bp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>6?0==(Jd(k[g>>2]|0,24366,6)|0):0){j=cp(k[d>>2]|0,(k[g>>2]|0)+6|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>10?0==(Jd(k[g>>2]|0,24373,10)|0):0){j=dp(k[d>>2]|0,(k[g>>2]|0)+10|0)|0;k[f>>2]=j;break}k[f>>2]=1}while(0);k[c>>2]=k[f>>2];j=k[c>>2]|0;r=i;return j|0}function Mo(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if((k[(k[b>>2]|0)+260>>2]|0)==0?(a=tl(k[b>>2]|0,16,c,0)|0,k[d>>2]=a,(k[d>>2]|0)==0):0){Xe(k[c>>2]|0,1)|0;Ee(k[c>>2]|0)|0;c=he(k[c>>2]|0)|0;k[d>>2]=c}r=e;return k[d>>2]|0}function No(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;n=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[n>>2]=0;Xo(l,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,n);if(!((k[n>>2]|0)!=0&(k[l>>2]|0)==0)){n=k[l>>2]|0;r=m;return n|0}k[j>>2]=0;n=Yo(k[e>>2]|0,k[f>>2]|0,j)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;r=m;return n|0}if(k[j>>2]|0){n=Zo(k[e>>2]|0,1)|0;k[l>>2]=n;k[k[g>>2]>>2]=0;uR(k[h>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;n=k[l>>2]|0;r=m;return n|0}k[k[g>>2]>>2]=(k[k[g>>2]>>2]|0)-1;if(!(k[(k[e>>2]|0)+40>>2]|0))_o(l,k[e>>2]|0,0,f);if(!(i[(k[e>>2]|0)+230>>0]|0)){n=k[l>>2]|0;r=m;return n|0}_o(l,k[e>>2]|0,19,f);n=k[l>>2]|0;r=m;return n|0}function Oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=k[e>>2]|0;if(k[(k[e>>2]|0)+40>>2]|0){k[i>>2]=k[(k[f>>2]|0)+((k[b+24>>2]|0)+3<<2)>>2];if((pe(k[i>>2]|0)|0)==5)k[i>>2]=k[(k[f>>2]|0)+4>>2];if((pe(k[i>>2]|0)|0)!=1){k[d>>2]=19;j=k[d>>2]|0;r=l;return j|0}else{i=oe(k[i>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=L;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}}i=tl(b,18,h,(k[f>>2]|0)+4|0)|0;k[j>>2]=i;if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)!=0:0){c=k[h>>2]|0;i=(k[(k[e>>2]|0)+24>>2]|0)+2|0;i=Ve(c,i,ne(k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0;k[j>>2]=i}if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}if(5!=(pe(k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(pe(k[k[f>>2]>>2]|0)|0)?5!=(pe(k[(k[f>>2]|0)+4>>2]|0)|0):0){k[d>>2]=1;j=k[d>>2]|0;r=l;return j|0}i=Ze(k[h>>2]|0,1,k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;k[j>>2]=i;if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}}Ee(k[h>>2]|0)|0;h=he(k[h>>2]|0)|0;k[j>>2]=h;h=yf(k[(k[e>>2]|0)+12>>2]|0)|0;i=k[g>>2]|0;k[i>>2]=h;k[i+4>>2]=L;k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}function Po(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;c=j;e=k[c+4>>2]|0;a=(k[g>>2]|0)+264|0;b=k[a+4>>2]|0;do if(!((e|0)<(b|0)|((e|0)==(b|0)?(k[c>>2]|0)>>>0<(k[a>>2]|0)>>>0:0))){c=j;a=(k[g>>2]|0)+264|0;if(((k[c>>2]|0)==(k[a>>2]|0)?(k[c+4>>2]|0)==(k[a+4>>2]|0):0)?(k[(k[g>>2]|0)+276>>2]|0)==0:0){m=6;break}if(!((k[(k[g>>2]|0)+272>>2]|0)==(k[i>>2]|0)?(k[(k[g>>2]|0)+260>>2]|0)<=(k[(k[g>>2]|0)+256>>2]|0):0))m=6}else m=6;while(0);if((m|0)==6?(m=ql(k[g>>2]|0)|0,k[l>>2]=m,(k[l>>2]|0)!=0):0){k[f>>2]=k[l>>2];m=k[f>>2]|0;r=n;return m|0}a=j;l=k[a+4>>2]|0;m=(k[g>>2]|0)+264|0;k[m>>2]=k[a>>2];k[m+4>>2]=l;k[(k[g>>2]|0)+272>>2]=k[i>>2];k[(k[g>>2]|0)+276>>2]=k[h>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function Qo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+8|0;m=p+4|0;o=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=2;while(1){if((k[i>>2]|0)>=((k[(k[e>>2]|0)+24>>2]|0)+2|0)){e=8;break}k[j>>2]=(k[i>>2]|0)-2;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){a=ke(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[m>>2]=a;a=Vo(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0,k[j>>2]|0,(k[h>>2]|0)+(k[j>>2]<<2)|0)|0;k[o>>2]=a;if(k[o>>2]|0){e=5;break}b=le(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;a=(k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+b}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==5){k[n>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}else if((e|0)==8){k[n>>2]=0;o=k[n>>2]|0;r=p;return o|0}return 0}function Ro(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[d>>2]>>2]|0){r=l;return}a=Sd((k[(k[e>>2]|0)+24>>2]|0)*10|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[k[d>>2]>>2]=7;r=l;return}Uo(k[(k[e>>2]|0)+24>>2]|0,k[f>>2]|0,k[h>>2]|0,g);a=tl(k[e>>2]|0,20,i,0)|0;k[j>>2]=a;if(k[j>>2]|0){Ud(k[h>>2]|0);k[k[d>>2]>>2]=k[j>>2];r=l;return}else{j=(k[e>>2]|0)+264|0;We(k[i>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Te(k[i>>2]|0,2,k[h>>2]|0,k[g>>2]|0,148)|0;Ee(k[i>>2]|0)|0;j=he(k[i>>2]|0)|0;k[k[d>>2]>>2]=j;r=l;return}}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;p=u+28|0;n=u+24|0;l=u+20|0;q=u+16|0;m=u+12|0;s=u+8|0;o=u+4|0;t=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=(k[(k[g>>2]|0)+24>>2]|0)+2;if(k[k[f>>2]>>2]|0){r=u;return}a=Sd((k[o>>2]|0)*14|0)|0;k[l>>2]=a;if(!(k[l>>2]|0)){k[k[f>>2]>>2]=7;r=u;return}k[p>>2]=(k[l>>2]|0)+(k[o>>2]<<2);a=tl(k[g>>2]|0,22,q,0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}Ve(k[q>>2]|0,1,0)|0;if((Ee(k[q>>2]|0)|0)==100){e=k[o>>2]|0;b=k[l>>2]|0;a=Ke(k[q>>2]|0,0)|0;To(e,b,a,Le(k[q>>2]|0,0)|0)}else uR(k[l>>2]|0,0,k[o>>2]<<2|0)|0;a=he(k[q>>2]|0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}if((k[j>>2]|0)<0?(k[k[l>>2]>>2]|0)>>>0<(0-(k[j>>2]|0)|0)>>>0:0)k[k[l>>2]>>2]=0;else{a=k[l>>2]|0;k[a>>2]=(k[a>>2]|0)+(k[j>>2]|0)}k[m>>2]=0;while(1){if((k[m>>2]|0)>=((k[(k[g>>2]|0)+24>>2]|0)+1|0))break;k[t>>2]=k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2];if(((k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)|0)>>>0<(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)>>>0)k[t>>2]=0;else k[t>>2]=(k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)-(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0);k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2]=k[t>>2];k[m>>2]=(k[m>>2]|0)+1}Uo(k[o>>2]|0,k[l>>2]|0,k[p>>2]|0,n);t=tl(k[g>>2]|0,23,q,0)|0;k[s>>2]=t;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}else{Ve(k[q>>2]|0,1,0)|0;Te(k[q>>2]|0,2,k[p>>2]|0,k[n>>2]|0,0)|0;Ee(k[q>>2]|0)|0;t=he(k[q>>2]|0)|0;k[k[f>>2]>>2]=t;Ud(k[l>>2]|0);r=u;return}}function To(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+12|0;i=l+8|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l+16>>2]=d;k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;c=cm((k[g>>2]|0)+(k[i>>2]|0)|0,j)|0;k[i>>2]=(k[i>>2]|0)+c;k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];k[h>>2]=(k[h>>2]|0)+1}r=l;return}function Uo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){a=k[j>>2]|0;if((k[i>>2]|0)>=(k[e>>2]|0))break;c=Ol((k[g>>2]|0)+a|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,0)|0;k[j>>2]=(k[j>>2]|0)+c;k[i>>2]=(k[i>>2]|0)+1}k[k[h>>2]>>2]=a;r=l;return}function Vo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;j=B+56|0;l=B+52|0;x=B+48|0;p=B+44|0;n=B+40|0;o=B+36|0;s=B+32|0;z=B+28|0;q=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;m=B+4|0;u=B;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[p>>2]=0;k[n>>2]=0;k[o>>2]=0;k[s>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[g>>2]|0)+36>>2];k[v>>2]=k[k[w>>2]>>2];if(!(k[i>>2]|0)){k[k[l>>2]>>2]=0;k[f>>2]=0;A=k[f>>2]|0;r=B;return A|0}c=Gn(k[w>>2]|0,k[h>>2]|0,k[i>>2]|0,-1,t)|0;k[x>>2]=c;if(k[x>>2]|0){k[f>>2]=k[x>>2];A=k[f>>2]|0;r=B;return A|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];a:while(1){if(k[x>>2]|0)break;c=ac[k[y>>2]&255](k[t>>2]|0,z,q,p,n,o)|0;k[x>>2]=c;if(c)break;if((k[o>>2]|0)>=(k[s>>2]|0))k[s>>2]=(k[o>>2]|0)+1;if((k[o>>2]|0)>=0&(k[z>>2]|0)!=0^1|(k[q>>2]|0)<=0){A=11;break}c=Wo(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[(k[g>>2]|0)+252>>2]|0)+4|0,k[z>>2]|0,k[q>>2]|0)|0;k[x>>2]=c;k[m>>2]=1;while(1){if(k[x>>2]|0)continue a;if((k[m>>2]|0)>=(k[(k[g>>2]|0)+248>>2]|0))continue a;k[u>>2]=(k[(k[g>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0);if((k[q>>2]|0)>=(k[k[u>>2]>>2]|0)){c=Wo(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[u>>2]|0)+4|0,k[z>>2]|0,k[k[u>>2]>>2]|0)|0;k[x>>2]=c}k[m>>2]=(k[m>>2]|0)+1}}if((A|0)==11)k[x>>2]=1;bc[k[(k[v>>2]|0)+16>>2]&255](k[t>>2]|0)|0;A=k[l>>2]|0;k[A>>2]=(k[A>>2]|0)+(k[s>>2]|0);k[f>>2]=(k[x>>2]|0)==101?0:k[x>>2]|0;A=k[f>>2]|0;r=B;return A|0}function Wo(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;e=Ik(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=e;if(k[n>>2]|0){e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)-((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20)}a=(k[g>>2]|0)+264|0;d=k[h>>2]|0;e=k[i>>2]|0;if((Hn(n,k[a>>2]|0,k[a+4>>2]|0,d,((d|0)<0)<<31>>31,e,((e|0)<0)<<31>>31,o)|0)!=0?(e=k[n>>2]|0,(e|0)==(pk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0)):0){Ud(k[n>>2]|0);k[o>>2]=7}if(k[o>>2]|0){e=k[o>>2]|0;r=p;return e|0}e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)+((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20);e=k[o>>2]|0;r=p;return e|0}function Xo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;g=u+48|0;h=u+44|0;f=u+40|0;i=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;m=u+20|0;p=u+16|0;o=u;n=u+12|0;t=u+8|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[i>>2]=d;k[j>>2]=e;if(k[k[g>>2]>>2]|0){r=u;return}f=tl(k[h>>2]|0,7,q,f)|0;k[s>>2]=f;f=k[q>>2]|0;if(!(k[s>>2]|0)){do if(100==(Ee(f)|0)){c=$o(k[h>>2]|0,k[q>>2]|0)|0;k[p>>2]=c;c=Oe(k[q>>2]|0,0)|0;e=o;k[e>>2]=c;k[e+4>>2]=L;o=Po(k[h>>2]|0,1,k[p>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[s>>2]=o;k[m>>2]=1;while(1){if(k[s>>2]|0)break;if((k[m>>2]|0)>(k[(k[h>>2]|0)+24>>2]|0))break;k[n>>2]=(k[m>>2]|0)-1;if(!(l[(k[(k[h>>2]|0)+32>>2]|0)+(k[n>>2]|0)>>0]|0)){e=Pe(k[q>>2]|0,k[m>>2]|0)|0;k[t>>2]=e;e=Vo(k[h>>2]|0,k[p>>2]|0,k[t>>2]|0,-1,(k[i>>2]|0)+(k[n>>2]<<2)|0)|0;k[s>>2]=e;e=Le(k[q>>2]|0,k[m>>2]|0)|0;o=(k[i>>2]|0)+(k[(k[h>>2]|0)+24>>2]<<2)|0;k[o>>2]=(k[o>>2]|0)+e}k[m>>2]=(k[m>>2]|0)+1}if(!(k[s>>2]|0)){k[k[j>>2]>>2]=1;break}he(k[q>>2]|0)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}while(0);t=he(k[q>>2]|0)|0;k[s>>2]=t}else he(f)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+40>>2]|0){k[k[f>>2]>>2]=0;k[h>>2]=0;h=k[h>>2]|0;r=i;return h|0}c=tl(k[d>>2]|0,1,g,e)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if(100==(Ee(k[g>>2]|0)|0)){c=Ne(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=c}c=he(k[g>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function Zo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;nl(k[c>>2]|0);if(k[f>>2]|0)_o(d,k[c>>2]|0,2,0);_o(d,k[c>>2]|0,3,0);_o(d,k[c>>2]|0,4,0);if(i[(k[c>>2]|0)+230>>0]|0)_o(d,k[c>>2]|0,5,0);if(!(i[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;r=e;return f|0}_o(d,k[c>>2]|0,6,0);f=k[d>>2]|0;r=e;return f|0}function _o(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){r=l;return}a=tl(k[f>>2]|0,k[g>>2]|0,i,k[h>>2]|0)|0;k[j>>2]=a;if(!(k[j>>2]|0)){Ee(k[i>>2]|0)|0;i=he(k[i>>2]|0)|0;k[j>>2]=i}k[k[e>>2]>>2]=k[j>>2];r=l;return}function $o(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+44>>2]|0)){b=k[e>>2]|0;r=f;return b|0}b=Ne(k[d>>2]|0,(k[(k[c>>2]|0)+24>>2]|0)+1|0)|0;k[e>>2]=b;b=k[e>>2]|0;r=f;return b|0}function ap(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;c=t;e=t+52|0;p=t+48|0;f=t+44|0;h=t+40|0;g=t+36|0;o=t+32|0;n=t+28|0;d=t+24|0;b=t+20|0;j=t+16|0;m=t+12|0;s=t+8|0;q=t+4|0;k[e>>2]=a;a=Zo(k[e>>2]|0,0)|0;k[p>>2]=a;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[f>>2]=0;k[h>>2]=0;k[g>>2]=0;k[o>>2]=0;k[n>>2]=0;k[c>>2]=k[(k[e>>2]|0)+216>>2];c=Yd(24461,c)|0;k[d>>2]=c;if(k[d>>2]|0){c=lf(k[(k[e>>2]|0)+12>>2]|0,k[d>>2]|0,-1,o,0)|0;k[p>>2]=c;Ud(k[d>>2]|0)}else k[p>>2]=7;do if(!(k[p>>2]|0)){k[b>>2]=((k[(k[e>>2]|0)+24>>2]|0)+1<<2)*3;d=Sd(k[b>>2]|0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[p>>2]=7;break}else{uR(k[f>>2]|0,0,k[b>>2]|0)|0;k[h>>2]=(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);k[g>>2]=(k[h>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(k[p>>2]|0))b=100==(Ee(k[o>>2]|0)|0);else b=0;a=k[e>>2]|0;if(!b)break;a=$o(a,k[o>>2]|0)|0;k[m>>2]=a;a=k[e>>2]|0;c=k[m>>2]|0;d=Oe(k[o>>2]|0,0)|0;d=Po(a,0,c,d,L)|0;k[p>>2]=d;uR(k[f>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2|0)|0;k[j>>2]=0;while(1){if(k[p>>2]|0)break;if((k[j>>2]|0)>=(k[(k[e>>2]|0)+24>>2]|0))break;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){c=Pe(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;k[s>>2]=c;c=Vo(k[e>>2]|0,k[m>>2]|0,k[s>>2]|0,k[j>>2]|0,(k[f>>2]|0)+(k[j>>2]<<2)|0)|0;k[p>>2]=c;c=Le(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;d=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[j>>2]=(k[j>>2]|0)+1}if(i[(k[e>>2]|0)+230>>0]|0)Ro(p,k[e>>2]|0,k[f>>2]|0);if(k[p>>2]|0){ge(k[o>>2]|0)|0;k[o>>2]=0;continue}k[n>>2]=(k[n>>2]|0)+1;k[j>>2]=0;while(1){if((k[j>>2]|0)>(k[(k[e>>2]|0)+24>>2]|0))continue a;d=(k[h>>2]|0)+(k[j>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}}if(i[a+228>>0]|0)So(p,k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[n>>2]|0);Ud(k[f>>2]|0);if(!(k[o>>2]|0)){s=k[p>>2]|0;r=t;return s|0}s=ge(k[o>>2]|0)|0;k[q>>2]=s;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[p>>2]=k[q>>2];s=k[p>>2]|0;r=t;return s|0}function bp(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=0;a=gp(k[e>>2]|0,d)|0;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)==0&(k[d>>2]|0)==0?267:a;r=c;return k[b>>2]|0}function cp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+20|0;j=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;k[c>>2]=a;k[j>>2]=b;k[e>>2]=8;k[d>>2]=0;k[g>>2]=k[j>>2];b=ep(g)|0;k[d>>2]=b;if((i[k[g>>2]>>0]|0)==44?(i[(k[g>>2]|0)+1>>0]|0)!=0:0){k[g>>2]=(k[g>>2]|0)+1;j=ep(g)|0;k[e>>2]=j}if((k[e>>2]|0)<2?1:(i[k[g>>2]>>0]|0)!=0){k[f>>2]=1;j=k[f>>2]|0;r=h;return j|0}k[f>>2]=0;if(!(i[(k[c>>2]|0)+229>>0]|0))fp(f,k[c>>2]|0);if(!(k[f>>2]|0)){j=ko(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=j}Cm(k[c>>2]|0);j=k[f>>2]|0;r=h;return j|0}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;k[f>>2]=0;k[e>>2]=0;b=ep(h)|0;k[(k[d>>2]|0)+48>>2]=b;if(!((k[(k[d>>2]|0)+48>>2]|0)!=1?(k[(k[d>>2]|0)+48>>2]|0)<=16:0))k[(k[d>>2]|0)+48>>2]=8;if((i[(k[d>>2]|0)+229>>0]|0)==0?(fp(f,k[d>>2]|0),(k[f>>2]|0)!=0):0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}h=tl(k[d>>2]|0,23,e,0)|0;k[f>>2]=h;if(k[f>>2]|0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}else{Ve(k[e>>2]|0,1,2)|0;Ve(k[e>>2]|0,2,k[(k[d>>2]|0)+48>>2]|0)|0;Ee(k[e>>2]|0)|0;h=he(k[e>>2]|0)|0;k[f>>2]=h;k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}return 0}function ep(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[c>>2]=0;while(1){if((i[k[d>>2]>>0]|0)<48){a=5;break}if((i[k[d>>2]>>0]|0)>57){a=5;break}f=(k[c>>2]|0)*10|0;a=k[d>>2]|0;k[d>>2]=a+1;k[c>>2]=f+(i[a>>0]|0)-48}if((a|0)==5){k[k[b>>2]>>2]=k[d>>2];r=e;return k[c>>2]|0}return 0}function fp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d;e=d+12|0;c=d+8|0;k[e>>2]=a;k[c>>2]=b;b=k[e>>2]|0;a=k[(k[c>>2]|0)+12>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[f+4>>2]=g;rl(b,a,24384,f);if(k[k[e>>2]>>2]|0){r=d;return}i[(k[c>>2]|0)+229>>0]=1;r=d;return}function gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+112|0;g=E+24|0;i=E+108|0;j=E+104|0;B=E+100|0;m=E+16|0;n=E+8|0;e=E+96|0;f=E+92|0;d=E+88|0;c=E+84|0;y=E+80|0;z=E+76|0;h=E+72|0;q=E;u=E+68|0;p=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;D=E+48|0;x=E+44|0;s=E+40|0;t=E+36|0;v=E+32|0;o=E+28|0;k[i>>2]=a;k[j>>2]=b;k[B>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;b=n;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;b=tl(k[i>>2]|0,27,e,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Ve(k[e>>2]|0,1,k[(k[i>>2]|0)+272>>2]|0)|0;Ve(k[e>>2]|0,2,k[(k[i>>2]|0)+248>>2]|0)|0;a:while(1){if(!(k[B>>2]|0))a=(Ee(k[e>>2]|0)|0)==100;else a=0;b=k[e>>2]|0;if(!a)break;b=Ne(b,0)|0;k[d>>2]=b;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue a;a=m;G=k[a>>2]|0;a=k[a+4>>2]|0;F=hp(k[i>>2]|0,k[d>>2]|0,k[c>>2]|0,B)|0;b=m;k[b>>2]=G^F;k[b+4>>2]=a^L;k[c>>2]=(k[c>>2]|0)+1}}G=he(b)|0;k[f>>2]=G;if(!(k[B>>2]|0))k[B>>2]=k[f>>2]}if(k[B>>2]|0){D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}k[y>>2]=k[k[(k[i>>2]|0)+36>>2]>>2];k[z>>2]=0;k[g>>2]=k[(k[i>>2]|0)+216>>2];G=Yd(24461,g)|0;k[h>>2]=G;if(k[h>>2]|0){G=lf(k[(k[i>>2]|0)+12>>2]|0,k[h>>2]|0,-1,z,0)|0;k[B>>2]=G;Ud(k[h>>2]|0)}else k[B>>2]=7;b:while(1){if(!(k[B>>2]|0))a=100==(Ee(k[z>>2]|0)|0);else a=0;b=k[z>>2]|0;if(!a)break;F=Oe(b,0)|0;G=q;k[G>>2]=F;k[G+4>>2]=L;G=$o(k[i>>2]|0,k[z>>2]|0)|0;k[u>>2]=G;k[p>>2]=0;while(1){if(k[B>>2]|0)continue b;if((k[p>>2]|0)>=(k[(k[i>>2]|0)+24>>2]|0))continue b;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[p>>2]|0)>>0]|0)){G=Pe(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[C>>2]=G;G=Le(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[w>>2]=G;k[A>>2]=0;G=Gn(k[(k[i>>2]|0)+36>>2]|0,k[u>>2]|0,k[C>>2]|0,k[w>>2]|0,A)|0;k[B>>2]=G;c:while(1){if(k[B>>2]|0)break;k[x>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;G=ac[k[(k[y>>2]|0)+20>>2]&255](k[A>>2]|0,D,x,s,t,v)|0;k[B>>2]=G;if(k[B>>2]|0)continue;F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=ip(k[D>>2]|0,k[x>>2]|0,k[u>>2]|0,0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L;k[o>>2]=1;while(1){if((k[o>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue c;if((k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0)<=(k[x>>2]|0)){F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=ip(k[D>>2]|0,k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0,k[u>>2]|0,k[o>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L}k[o>>2]=(k[o>>2]|0)+1}}if(k[A>>2]|0)bc[k[(k[y>>2]|0)+16>>2]&255](k[A>>2]|0)|0;if((k[B>>2]|0)==101)k[B>>2]=0}k[p>>2]=(k[p>>2]|0)+1}}ge(b)|0;D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}function hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+144|0;f=u+140|0;g=u+136|0;h=u+132|0;i=u+128|0;e=u+112|0;l=u+56|0;t=u+48|0;j=u+32|0;q=u+44|0;s=u+40|0;n=u+24|0;m=u+16|0;o=u+8|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=j;k[c>>2]=0;k[c+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;c=l;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[e+12>>2]=3;d=e+12|0;k[d>>2]=k[d>>2]|16;d=ul(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,-2,0,0,0,1,l)|0;k[t>>2]=d;if(!(k[t>>2]|0)){e=yl(k[f>>2]|0,l,e)|0;k[t>>2]=e}if(k[t>>2]|0){Fl(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}a:while(1){e=zl(k[f>>2]|0,l)|0;k[t>>2]=e;if(100!=(e|0))break;k[q>>2]=k[l+48>>2];k[s>>2]=(k[q>>2]|0)+(k[l+52>>2]|0);e=n;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=cm(k[q>>2]|0,n)|0;k[q>>2]=(k[q>>2]|0)+e;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue a;e=p;k[e>>2]=0;k[e+4>>2]=0;e=cm(k[q>>2]|0,p)|0;k[q>>2]=(k[q>>2]|0)+e;if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue;d=p;e=p;if(!((k[d>>2]|0)==0&(k[d+4>>2]|0)==0|(k[e>>2]|0)==1&(k[e+4>>2]|0)==0)){b=p;b=pR(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;d=o;b=qR(k[d>>2]|0,k[d+4>>2]|0,b|0,L|0)|0;d=o;k[d>>2]=b;k[d+4>>2]=L;d=j;b=k[d>>2]|0;d=k[d+4>>2]|0;a=n;a=ip(k[l+40>>2]|0,k[l+44>>2]|0,k[g>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;e=j;k[e>>2]=b^a;k[e+4>>2]=d^L;continue}e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=p;c=k[q>>2]|0;if((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0){e=cm(c,m)|0;k[q>>2]=(k[q>>2]|0)+e;continue}else{d=cm(c,p)|0;k[q>>2]=(k[q>>2]|0)+d;d=p;e=n;d=qR(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;continue}}}Fl(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}function ip(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=r;r=r+48|0;j=o+40|0;l=o+36|0;t=o+32|0;s=o+28|0;u=o+8|0;q=o+24|0;p=o+20|0;m=o+16|0;n=o;k[j>>2]=a;k[l>>2]=b;k[t>>2]=c;k[s>>2]=d;b=u;k[b>>2]=e;k[b+4>>2]=f;k[q>>2]=g;k[p>>2]=h;h=u;b=k[h+4>>2]|0;a=n;k[a>>2]=k[h>>2];k[a+4>>2]=b;a=n;a=vR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[t>>2]|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=qR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=vR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[s>>2]|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=qR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=vR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[q>>2]|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=qR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=vR(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[p>>2]|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=qR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;k[m>>2]=0;while(1){f=n;e=k[f>>2]|0;f=k[f+4>>2]|0;if((k[m>>2]|0)>=(k[l>>2]|0))break;u=vR(e|0,f|0,3)|0;t=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;t=qR(u|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;t=qR(k[u>>2]|0,k[u+4>>2]|0,t|0,L|0)|0;u=n;k[u>>2]=t;k[u+4>>2]=L;k[m>>2]=(k[m>>2]|0)+1}L=f;r=o;return e|0}function jp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];a:do if(!(k[c>>2]|0))i[(k[b>>2]|0)+6>>0]=1;else do{if(!(l[(k[b>>2]|0)+7>>0]|0))he(k[(k[b>>2]|0)+8>>2]|0)|0;Xm(k[b>>2]|0,k[c>>2]|0,d);i[(k[b>>2]|0)+6>>0]=i[(k[c>>2]|0)+32>>0]|0;i[(k[b>>2]|0)+7>>0]=1;k[(k[b>>2]|0)+88>>2]=1;g=(k[c>>2]|0)+24|0;f=k[g+4>>2]|0;a=(k[b>>2]|0)+32|0;k[a>>2]=k[g>>2];k[a+4>>2]=f;if(l[(k[b>>2]|0)+6>>0]|0)break a}while((Sm(k[b>>2]|0,d)|0)!=0);while(0);if(k[d>>2]|0){g=k[d>>2]|0;r=e;return g|0}if(!((l[(k[b>>2]|0)+52>>0]|0|0)==0?(f=(k[b>>2]|0)+32|0,a=k[f+4>>2]|0,g=(k[b>>2]|0)+80|0,c=k[g+4>>2]|0,(a|0)>(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0)){if(!(l[(k[b>>2]|0)+52>>0]|0)){g=k[d>>2]|0;r=e;return g|0}f=(k[b>>2]|0)+32|0;a=k[f+4>>2]|0;g=(k[b>>2]|0)+72|0;c=k[g+4>>2]|0;if(!((a|0)<(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0))){g=k[d>>2]|0;r=e;return g|0}}i[(k[b>>2]|0)+6>>0]=1;g=k[d>>2]|0;r=e;return g|0}function kp(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];while(1){if(!(k[b>>2]|0))break;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)break;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}a:while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+8>>2];Kp(k[b>>2]|0);if(((k[c>>2]|0)!=0?(k[b>>2]|0)==(k[(k[c>>2]|0)+12>>2]|0):0)?(k[(k[c>>2]|0)+16>>2]|0)!=0:0){k[b>>2]=k[(k[c>>2]|0)+16>>2];while(1){if(!(k[b>>2]|0))continue a;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)continue a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}}k[b>>2]=k[c>>2]}r=d;return}function lp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if((k[e>>2]|0)!=0?(a=bf(k[e>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==1):0){a=oe(k[e>>2]|0)|0;g=d;k[g>>2]=a;k[g+4>>2]=L;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}a=k[f+4>>2]|0;g=d;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}function mp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=r;r=r+64|0;q=s+8|0;p=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;l=s+28|0;t=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;k[z>>2]=a;k[y>>2]=b;k[x>>2]=c;k[w>>2]=d;k[v>>2]=e;k[u>>2]=f;k[l>>2]=g;k[t>>2]=h;k[m>>2]=i;k[n>>2]=j;g=yp(k[z>>2]|0,k[y>>2]|0,k[x>>2]|0,k[w>>2]|0,k[v>>2]|0,k[u>>2]|0,k[l>>2]|0,k[t>>2]|0,k[m>>2]|0)|0;k[o>>2]=g;if(((k[o>>2]|0)==0?(k[k[m>>2]>>2]|0)!=0:0)?(z=zp(k[m>>2]|0,12)|0,k[o>>2]=z,(k[o>>2]|0)==0):0){z=Ap(k[k[m>>2]>>2]|0,12)|0;k[o>>2]=z}if(!(k[o>>2]|0)){z=k[o>>2]|0;r=s;return z|0}kp(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;if((k[o>>2]|0)==18){z=k[n>>2]|0;k[p>>2]=12;Jk(z,24570,p);k[o>>2]=1;z=k[o>>2]|0;r=s;return z|0}if((k[o>>2]|0)!=1){z=k[o>>2]|0;r=s;return z|0}z=k[n>>2]|0;k[q>>2]=k[l>>2];Jk(z,24622,q);z=k[o>>2]|0;r=s;return z|0}function np(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=r;r=r+48|0;b=m+36|0;n=m+32|0;j=m+28|0;g=m+24|0;f=m+20|0;c=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;i=m;k[b>>2]=a;k[n>>2]=k[k[b>>2]>>2];k[j>>2]=0;k[g>>2]=0;k[f>>2]=0;op(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,g,f,j);do if((k[j>>2]|0)==0&(k[g>>2]|0)>1?(l[(k[n>>2]|0)+228>>0]|0|0)!=0:0){n=Sd(((k[g>>2]|0)*24|0)+(k[f>>2]<<2<<1)|0)|0;k[c>>2]=n;k[d>>2]=(k[c>>2]|0)+((k[g>>2]|0)*24|0);if(!(k[c>>2]|0)){k[j>>2]=7;break}k[h>>2]=k[c>>2];k[i>>2]=k[d>>2];pp(k[b>>2]|0,0,k[(k[b>>2]|0)+12>>2]|0,h,i,j);k[g>>2]=((k[h>>2]|0)-(k[c>>2]|0)|0)/24|0;k[f>>2]=((k[i>>2]|0)-(k[d>>2]|0)|0)/4|0;a:do if(!(k[j>>2]|0)){n=qp(k[b>>2]|0,0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=0;while(1){if(k[j>>2]|0)break a;if((k[e>>2]|0)>=(k[f>>2]|0))break a;n=qp(k[b>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=(k[e>>2]|0)+1}}while(0);Ud(k[c>>2]|0)}while(0);rp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,j);r=m;return k[j>>2]|0}function op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+32|0;m=p+28|0;g=p+24|0;h=p+20|0;n=p+16|0;i=p+12|0;j=p+8|0;l=p+4|0;o=p;k[f>>2]=a;k[m>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=e;if(!(k[m>>2]|0)){r=p;return}if(k[k[n>>2]>>2]|0){r=p;return}a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)!=5){o=k[h>>2]|0;k[o>>2]=(k[o>>2]|0)+((k[a>>2]|0)==4&1);op(k[f>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);op(k[f>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);r=p;return}k[j>>2]=k[(k[a+20>>2]|0)+64>>2];h=k[g>>2]|0;k[h>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[j>>2]|0)){a=9;break}k[l>>2]=(k[(k[m>>2]|0)+20>>2]|0)+72+((k[i>>2]|0)*24|0);h=wp(k[f>>2]|0,k[k[l>>2]>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[(k[l>>2]|0)+8>>2]|0,(k[l>>2]|0)+20|0)|0;k[o>>2]=h;if(k[o>>2]|0){a=7;break}k[i>>2]=(k[i>>2]|0)+1}if((a|0)==7){k[k[n>>2]>>2]=k[o>>2];r=p;return}else if((a|0)==9){k[(k[(k[m>>2]|0)+20>>2]|0)+44>>2]=-1;r=p;return}}function pp(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;i=q;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;if(k[k[p>>2]>>2]|0){r=q;return}c=k[m>>2]|0;if((k[k[m>>2]>>2]|0)==5){k[h>>2]=k[c+20>>2];k[g>>2]=0;while(1){if(k[k[p>>2]>>2]|0){a=13;break}if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0)){a=13;break}m=k[n>>2]|0;o=k[m>>2]|0;k[m>>2]=o+24;k[i>>2]=o;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+12>>2]=k[l>>2];k[(k[i>>2]|0)+8>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);k[(k[i>>2]|0)+20>>2]=k[(k[h>>2]|0)+68>>2];o=vp(k[j>>2]|0,k[(k[(k[i>>2]|0)+8>>2]|0)+20>>2]|0,(k[i>>2]|0)+16|0)|0;k[k[p>>2]>>2]=o;k[g>>2]=(k[g>>2]|0)+1}if((a|0)==13){r=q;return}}if((k[c>>2]|0)==2){r=q;return}if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+12>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}pp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+16>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}pp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);r=q;return}function qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;e=B+76|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;w=B+56|0;n=B+52|0;z=B+48|0;l=B+44|0;s=B+40|0;t=B+36|0;q=B+32|0;p=B+28|0;j=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;o=B+8|0;u=B+4|0;m=B;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[w>>2]=k[k[f>>2]>>2];k[n>>2]=0;k[z>>2]=0;k[s>>2]=0;k[t>>2]=0;k[q>>2]=0;k[p>>2]=1;if(k[(k[w>>2]|0)+40>>2]|0){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[i>>2]|0))break;if((k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0)){k[s>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+16>>2]|0);k[t>>2]=(k[t>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}if((k[s>>2]|0)==0|(k[t>>2]|0)<2){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}b=sp(k[f>>2]|0,n)|0;k[z>>2]=b;k[l>>2]=0;while(1){if(!((k[l>>2]|0)<(k[t>>2]|0)?(k[z>>2]|0)==0:0))break;k[v>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[i>>2]|0))break;do if((k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+8>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0):0){if((k[v>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+16>>2]|0)>=(k[(k[v>>2]|0)+16>>2]|0):0)break;k[v>>2]=(k[h>>2]|0)+((k[j>>2]|0)*24|0)}while(0);k[j>>2]=(k[j>>2]|0)+1}if((k[l>>2]|0)!=0?(k[(k[v>>2]|0)+16>>2]|0)>=(ha(((k[q>>2]|0)+((k[p>>2]|0)/4|0)-1|0)/((k[p>>2]|0)/4|0|0)|0,k[n>>2]|0)|0):0){k[x>>2]=k[(k[v>>2]|0)+8>>2];b=tp(k[f>>2]|0,k[x>>2]|0,k[(k[v>>2]|0)+20>>2]|0)|0;k[z>>2]=b;sn(k[(k[x>>2]|0)+20>>2]|0);k[(k[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((k[l>>2]|0)<12)k[p>>2]=k[p>>2]<<2;if(k[l>>2]|0){if((k[(k[k[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((k[l>>2]|0)==((k[t>>2]|0)-1|0))break}k[y>>2]=k[(k[v>>2]|0)+8>>2];k[o>>2]=0;k[u>>2]=0;b=ln(k[w>>2]|0,k[y>>2]|0,k[(k[v>>2]|0)+20>>2]|0,o,u)|0;k[z>>2]=b;if(!(k[z>>2]|0)){b=mn(k[w>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[z>>2]=b}if(!(k[z>>2]|0)){b=up(k[k[k[v>>2]>>2]>>2]|0,k[(k[k[v>>2]>>2]|0)+4>>2]|0)|0;k[m>>2]=b;if((k[l>>2]|0)!=0?(k[m>>2]|0)>=(k[q>>2]|0):0)break;k[q>>2]=k[m>>2]}}while(0);k[(k[v>>2]|0)+8>>2]=0;k[l>>2]=(k[l>>2]|0)+1}k[e>>2]=k[z>>2];A=k[e>>2]|0;r=B;return A|0}function rp(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;j=r;r=r+32|0;d=j+16|0;h=j+12|0;e=j+8|0;g=j+4|0;f=j;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(!(k[h>>2]|0)){r=j;return}if(k[k[e>>2]>>2]|0){r=j;return}if((k[k[h>>2]>>2]|0)!=5){rp(k[d>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0);rp(k[d>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0);if(l[(k[(k[h>>2]|0)+12>>2]|0)+34>>0]|0)d=(l[(k[(k[h>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else d=0;i[(k[h>>2]|0)+34>>0]=d&1;r=j;return}k[g>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+64>>2];if(k[g>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+20>>2]|0)+72+((k[f>>2]|0)*24|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}i[(k[h>>2]|0)+34>>0]=(k[f>>2]|0)==(k[g>>2]|0)}h=hn(k[d>>2]|0,1,k[(k[h>>2]|0)+20>>2]|0)|0;k[k[e>>2]>>2]=h;r=j;return}function sp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+44|0;d=n+40|0;e=n+36|0;m=n+32|0;i=n+28|0;l=n+24|0;h=n+8|0;g=n;j=n+20|0;f=n+16|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+60>>2]|0)){k[i>>2]=k[k[d>>2]>>2];b=h;k[b>>2]=0;k[b+4>>2]=0;b=g;k[b>>2]=0;k[b+4>>2]=0;b=Tn(k[i>>2]|0,l)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}b=Ke(k[l>>2]|0,0)|0;k[f>>2]=b;b=Le(k[l>>2]|0,0)|0;k[j>>2]=(k[f>>2]|0)+b;b=cm(k[f>>2]|0,h)|0;k[f>>2]=(k[f>>2]|0)+b;while(1){if((k[f>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break;b=cm(k[f>>2]|0,g)|0;k[f>>2]=(k[f>>2]|0)+b}j=h;b=g;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){he(k[l>>2]|0)|0;k[c>>2]=267;m=k[c>>2]|0;r=n;return m|0}a=h;b=k[a+4>>2]|0;j=(k[d>>2]|0)+64|0;k[j>>2]=k[a>>2];k[j+4>>2]=b;j=g;b=h;b=zR(k[j>>2]|0,k[j+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;j=k[(k[i>>2]|0)+236>>2]|0;j=qR(b|0,L|0,j|0,((j|0)<0)<<31>>31|0)|0;b=k[(k[i>>2]|0)+236>>2]|0;b=zR(j|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;k[(k[d>>2]|0)+60>>2]=b;b=he(k[l>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}}k[k[e>>2]>>2]=k[(k[d>>2]|0)+60>>2];k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function tp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=Sd(16)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[h>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+24>>2];k[(k[h>>2]|0)+4>>2]=k[g>>2];k[(k[e>>2]|0)+24>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[h>>2];k[d>>2]=0;b=k[d>>2]|0;r=i;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=i;return b|0}return 0}function up(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[c>>2]|0)){g=k[f>>2]|0;r=h;return g|0}k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);k[g>>2]=k[c>>2];while(1){if((k[g>>2]|0)>>>0>=(k[e>>2]|0)>>>0)break;k[f>>2]=(k[f>>2]|0)+1;do{b=k[g>>2]|0;k[g>>2]=b+1}while((i[b>>0]&128|0)!=0);hm(0,g)}g=k[f>>2]|0;r=h;return g|0}function vp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+44|0;d=p+40|0;m=p+36|0;h=p+32|0;n=p+28|0;e=p+24|0;o=p+20|0;j=p+16|0;i=p+12|0;f=p;g=p+8|0;k[q>>2]=a;k[d>>2]=b;k[m>>2]=c;k[h>>2]=k[k[q>>2]>>2];k[n>>2]=0;k[o>>2]=0;k[j>>2]=k[(k[h>>2]|0)+236>>2];k[e>>2]=0;while(1){if(k[o>>2]|0){d=13;break}if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){d=13;break}k[i>>2]=k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<2)>>2];a:do if((k[(k[i>>2]|0)+56>>2]|0)==0?(l[(k[i>>2]|0)+5>>0]|0|0)==0:0){b=(k[i>>2]|0)+8|0;c=k[b+4>>2]|0;q=f;k[q>>2]=k[b>>2];k[q+4>>2]=c;while(1){c=f;a=k[c+4>>2]|0;q=(k[i>>2]|0)+16|0;b=k[q+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)))break a;q=f;q=km(k[h>>2]|0,k[q>>2]|0,k[q+4>>2]|0,0,g,0)|0;k[o>>2]=q;if(k[o>>2]|0)break a;if(((k[g>>2]|0)+35|0)>(k[j>>2]|0))k[n>>2]=(k[n>>2]|0)+(((k[g>>2]|0)+34|0)/(k[j>>2]|0)|0);c=f;c=qR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;q=f;k[q>>2]=c;k[q+4>>2]=L}}while(0);k[e>>2]=(k[e>>2]|0)+1}if((d|0)==13){k[k[m>>2]>>2]=k[n>>2];r=p;return k[o>>2]|0}return 0}function wp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;l=q+4|0;n=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[p>>2]=7;b=Sd(56)|0;k[o>>2]=b;if(!(k[o>>2]|0)){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}k[l>>2]=0;k[n>>2]=k[k[f>>2]>>2];a:do if(k[i>>2]|0){k[m>>2]=1;while(1){if(k[l>>2]|0)break;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==(k[h>>2]|0)){k[l>>2]=1;b=ul(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,0,0,k[o>>2]|0)|0;k[p>>2]=b;k[(k[o>>2]|0)+36>>2]=1}k[m>>2]=(k[m>>2]|0)+1}k[m>>2]=1;while(1){if(k[l>>2]|0)break a;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break a;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==((k[h>>2]|0)+1|0)?(k[l>>2]=1,b=ul(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,1,0,k[o>>2]|0)|0,k[p>>2]=b,(k[p>>2]|0)==0):0){b=xp(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[o>>2]|0)|0;k[p>>2]=b}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[l>>2]|0){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}e=ul(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0,-2,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0,k[o>>2]|0)|0;k[p>>2]=e;k[(k[o>>2]|0)+36>>2]=((k[i>>2]|0)!=0^1)&1;e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}function xp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=nm(k[l>>2]|0,k[j>>2]|0,0,-2,k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;r=f;return c|0}function yp(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+96|0;j=y+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[s>>2]=g;k[t>>2]=h;k[u>>2]=i;c=x;d=c+36|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[x>>2]=k[l>>2];k[x+4>>2]=k[m>>2];k[x+8>>2]=k[n>>2];k[x+16>>2]=k[p>>2];k[x+20>>2]=k[q>>2];k[x+12>>2]=k[o>>2];if(!(k[s>>2]|0)){k[k[u>>2]>>2]=0;k[j>>2]=0;x=k[j>>2]|0;r=y;return x|0}if((k[t>>2]|0)<0){q=LQ(k[s>>2]|0)|0;k[t>>2]=q}v=Bp(x,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,v)|0;k[w>>2]=v;if((k[w>>2]|0)==0?(k[x+32>>2]|0)!=0:0)k[w>>2]=1;k[j>>2]=k[w>>2];x=k[j>>2]|0;r=y;return x|0}function zp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;e=t+52|0;f=t+48|0;q=t+44|0;p=t+40|0;n=t+36|0;h=t+32|0;g=t+28|0;i=t+24|0;l=t+20|0;j=t+16|0;o=t+12|0;m=t+8|0;c=t+4|0;d=t;k[e>>2]=a;k[f>>2]=b;k[q>>2]=0;k[p>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[h>>2]=k[k[p>>2]>>2];if(!(k[f>>2]|0))k[q>>2]=1;do if(!(k[q>>2]|0)){if(!((k[h>>2]|0)==3|(k[h>>2]|0)==4)){if((k[h>>2]|0)!=2)break;k[c>>2]=k[(k[p>>2]|0)+12>>2];k[d>>2]=k[(k[p>>2]|0)+16>>2];k[(k[p>>2]|0)+12>>2]=0;k[(k[p>>2]|0)+16>>2]=0;k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+8>>2]=0;s=zp(c,(k[f>>2]|0)-1|0)|0;k[q>>2]=s;if(!(k[q>>2]|0)){s=zp(d,(k[f>>2]|0)-1|0)|0;k[q>>2]=s}if(k[q>>2]|0){kp(k[d>>2]|0);kp(k[c>>2]|0);break}else{k[(k[p>>2]|0)+12>>2]=k[c>>2];k[(k[c>>2]|0)+8>>2]=k[p>>2];k[(k[p>>2]|0)+16>>2]=k[d>>2];k[(k[d>>2]|0)+8>>2]=k[p>>2];break}}a=Sd(k[f>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0))k[q>>2]=7;else uR(k[g>>2]|0,0,k[f>>2]<<2|0)|0;if(!(k[q>>2]|0)){k[l>>2]=k[p>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}while(1){k[o>>2]=k[(k[l>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;if(k[o>>2]|0)k[(k[o>>2]|0)+12>>2]=0;else k[p>>2]=0;a=zp(l,(k[f>>2]|0)-1|0)|0;k[q>>2]=a;if(k[q>>2]|0)break;k[j>>2]=0;while(1){if(!(k[l>>2]|0))break;if((k[j>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)){k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[l>>2]=0}else{k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[j>>2]<<2)>>2];k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(k[l>>2]|0){s=24;break}if(!(k[o>>2]|0))break;k[l>>2]=k[(k[o>>2]|0)+16>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}k[(k[(k[o>>2]|0)+16>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];b=k[(k[o>>2]|0)+16>>2]|0;if(k[(k[o>>2]|0)+8>>2]|0)k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]=b;else k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=k[n>>2];k[n>>2]=k[o>>2]}if((s|0)==24){kp(k[l>>2]|0);k[q>>2]=18}a:do if(!(k[q>>2]|0)){k[l>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;do if(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)if(!(k[l>>2]|0)){k[l>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[l>>2]|0)+8>>2]=0;break}else{k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;break}while(0);k[i>>2]=(k[i>>2]|0)+1}k[p>>2]=k[l>>2]}else{k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;kp(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0);k[i>>2]=(k[i>>2]|0)+1}while(1){s=k[n>>2]|0;k[m>>2]=s;if(!s)break a;k[n>>2]=k[(k[m>>2]|0)+8>>2];Ud(k[m>>2]|0)}}while(0);Ud(k[g>>2]|0)}}while(0);if(!(k[q>>2]|0)){p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}kp(k[p>>2]|0);k[p>>2]=0;p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}function Ap(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[c>>2]|0){if((k[d>>2]|0)<0){k[e>>2]=18;break}a=Ap(k[(k[c>>2]|0)+12>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Ap(k[(k[c>>2]|0)+16>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a}}while(0);r=f;return k[e>>2]|0}function Bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;f=x+64|0;y=x+60|0;n=x+56|0;o=x+52|0;p=x+48|0;v=x+44|0;l=x+40|0;u=x+36|0;s=x+32|0;m=x+28|0;w=x+24|0;q=x+20|0;t=x+16|0;i=x+12|0;h=x+8|0;g=x+4|0;j=x;k[f>>2]=a;k[y>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[v>>2]=0;k[l>>2]=0;k[u>>2]=0;k[s>>2]=k[n>>2];k[m>>2]=k[y>>2];k[w>>2]=0;k[q>>2]=1;while(1){if(k[w>>2]|0){c=25;break}k[t>>2]=0;k[i>>2]=0;y=Cp(k[f>>2]|0,k[m>>2]|0,k[s>>2]|0,t,i)|0;k[w>>2]=y;if((k[w>>2]|0)==0&(k[t>>2]|0)!=0){k[g>>2]=k[k[t>>2]>>2];if((k[g>>2]|0)==5)c=1;else c=(k[(k[t>>2]|0)+12>>2]|0)!=0;k[h>>2]=c&1;if((k[h>>2]|0)==0&(k[q>>2]|0)!=0){c=7;break}if(!((k[h>>2]|0)==0|(k[q>>2]|0)!=0)){y=Dp(48)|0;k[j>>2]=y;if(!(k[j>>2]|0)){c=10;break}k[k[j>>2]>>2]=3;Ep(v,k[l>>2]|0,k[j>>2]|0);k[l>>2]=k[j>>2]}if(k[l>>2]|0){if(!((k[g>>2]|0)!=1|(k[h>>2]|0)!=0)?(k[k[l>>2]>>2]|0)!=5:0){c=17;break}if((k[g>>2]|0)!=5&(k[h>>2]|0)!=0?(k[k[l>>2]>>2]|0)==1:0){c=17;break}}do if(k[h>>2]|0){c=k[t>>2]|0;if(k[v>>2]|0){k[(k[l>>2]|0)+16>>2]=c;k[(k[t>>2]|0)+8>>2]=k[l>>2];break}else{k[v>>2]=c;break}}else Ep(v,k[l>>2]|0,k[t>>2]|0);while(0);k[q>>2]=((k[h>>2]|0)!=0^1)&1;k[l>>2]=k[t>>2]}k[s>>2]=(k[s>>2]|0)-(k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0)}if((c|0)==7){kp(k[t>>2]|0);k[w>>2]=1}else if((c|0)==10){kp(k[t>>2]|0);k[w>>2]=7}else if((c|0)==17){kp(k[t>>2]|0);k[w>>2]=1}else if((c|0)==25){if((k[w>>2]|0)==101&(k[v>>2]|0)!=0&(k[q>>2]|0)!=0)k[w>>2]=1;if((k[w>>2]|0)==101)k[w>>2]=0;k[k[p>>2]>>2]=(k[n>>2]|0)-(k[s>>2]|0)}if(!(k[w>>2]|0)){v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}kp(k[v>>2]|0);kp(k[u>>2]|0);k[v>>2]=0;v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}function Cp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+80|0;o=E+72|0;p=E+68|0;q=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;n=E+32|0;B=E+28|0;y=E+24|0;m=E+20|0;j=E+16|0;h=E+12|0;f=E+76|0;g=E+8|0;C=E+4|0;z=E;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[n>>2]=0;k[B>>2]=k[q>>2];k[y>>2]=k[s>>2];k[(k[p>>2]|0)+24>>2]=0;while(1){if((k[y>>2]|0)>0)a=(Gp(i[k[B>>2]>>0]|0)|0)!=0;else a=0;c=k[y>>2]|0;if(!a)break;k[y>>2]=c+-1;k[B>>2]=(k[B>>2]|0)+1}if(!c){k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=4)break;k[m>>2]=2068+(k[x>>2]<<3);if(((l[(k[m>>2]|0)+5>>0]&-2|0)==0?(k[y>>2]|0)>=(l[(k[m>>2]|0)+4>>0]|0):0)?0==(FQ(k[B>>2]|0,k[k[m>>2]>>2]|0,l[(k[m>>2]|0)+4>>0]|0)|0):0){k[j>>2]=10;k[h>>2]=l[(k[m>>2]|0)+4>>0];a:do if((((l[(k[m>>2]|0)+6>>0]|0)==1?(i[(k[B>>2]|0)+4>>0]|0)==47:0)?(i[(k[B>>2]|0)+5>>0]|0)>=48:0)?(i[(k[B>>2]|0)+5>>0]|0)<=57:0){k[j>>2]=0;k[h>>2]=5;while(1){if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)<48)break a;if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)>57)break a;k[j>>2]=((k[j>>2]|0)*10|0)+((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)-48);k[h>>2]=(k[h>>2]|0)+1}}while(0);i[f>>0]=i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0;if(Gp(i[f>>0]|0)|0){D=26;break}if((i[f>>0]|0)==34){D=26;break}if((i[f>>0]|0)==40){D=26;break}if((i[f>>0]|0)==41){D=26;break}if(!(i[f>>0]|0)){D=26;break}}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==26){D=Dp(48)|0;k[n>>2]=D;if(k[n>>2]|0){k[k[n>>2]>>2]=l[(k[m>>2]|0)+6>>0];k[(k[n>>2]|0)+4>>2]=k[j>>2];k[k[t>>2]>>2]=k[n>>2];k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[h>>2]|0);k[o>>2]=0;D=k[o>>2]|0;r=E;return D|0}else{k[o>>2]=7;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==34){k[x>>2]=1;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break;if((i[(k[B>>2]|0)+(k[x>>2]|0)>>0]|0)==34)break;k[x>>2]=(k[x>>2]|0)+1}k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[x>>2]|0)+1;if((k[x>>2]|0)==(k[y>>2]|0)){k[o>>2]=1;D=k[o>>2]|0;r=E;return D|0}else{D=Hp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[x>>2]|0)-1|0,k[t>>2]|0)|0;k[o>>2]=D;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==40){k[g>>2]=0;D=(k[p>>2]|0)+32|0;k[D>>2]=(k[D>>2]|0)+1;D=Bp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[y>>2]|0)-1|0,k[t>>2]|0,g)|0;k[A>>2]=D;if((k[A>>2]|0)==0?(k[k[t>>2]>>2]|0)==0:0)k[A>>2]=101;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1+(k[g>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}c=k[p>>2]|0;if((i[k[B>>2]>>0]|0)==41){D=c+32|0;k[D>>2]=(k[D>>2]|0)+-1;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1;k[k[t>>2]>>2]=0;k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[v>>2]=k[c+20>>2];k[w>>2]=0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[p>>2]|0)+16>>2]|0))break;k[C>>2]=k[(k[(k[p>>2]|0)+8>>2]|0)+(k[x>>2]<<2)>>2];n=LQ(k[C>>2]|0)|0;k[z>>2]=n;if(((k[y>>2]|0)>(k[z>>2]|0)?(i[(k[B>>2]|0)+(k[z>>2]|0)>>0]|0)==58:0)?(Jd(k[C>>2]|0,k[B>>2]|0,k[z>>2]|0)|0)==0:0){D=50;break}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==50){k[v>>2]=k[x>>2];k[w>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[z>>2]|0)+1}D=Ip(k[p>>2]|0,k[v>>2]|0,(k[q>>2]|0)+(k[w>>2]|0)|0,(k[s>>2]|0)-(k[w>>2]|0)|0,k[t>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;D=k[u>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[w>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}function Dp(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}uR(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function Ep(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;k[f>>2]=k[h>>2];while(1){if(k[(k[f>>2]|0)+8>>2]|0){c=Fp(k[(k[f>>2]|0)+8>>2]|0)|0;c=(c|0)<=(Fp(k[e>>2]|0)|0)}else c=0;b=k[(k[f>>2]|0)+8>>2]|0;if(!c)break;k[f>>2]=b}c=k[e>>2]|0;if(b){k[(k[(k[f>>2]|0)+8>>2]|0)+16>>2]=c;k[(k[e>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}else{k[k[d>>2]>>2]=c;d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}}function Fp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Gp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(((((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)?(i[b>>0]|0)!=13:0)?(i[b>>0]|0)!=11:0)b=(i[b>>0]|0)==12;else b=1;r=c;return b&1|0}function Hp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;e=D+88|0;f=D+84|0;g=D+80|0;h=D+76|0;j=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;o=D+32|0;A=D+28|0;q=D+24|0;l=D+20|0;m=D+16|0;n=D+12|0;x=D+8|0;p=D+4|0;z=D;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[E>>2]=k[k[f>>2]>>2];k[w>>2]=k[k[E>>2]>>2];k[u>>2]=0;k[v>>2]=0;k[B>>2]=0;k[s>>2]=0;k[D+40>>2]=144;k[t>>2]=0;b=Gn(k[E>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[g>>2]|0,k[h>>2]|0,v)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){k[o>>2]=0;while(1){if(k[y>>2]|0)break;k[q>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;E=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,q,l,m,n)|0;k[y>>2]=E;if(!(k[y>>2]|0)){E=Jp(k[u>>2]|0,144+((k[o>>2]|0)*24|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break a;E=Jp(k[B>>2]|0,(k[s>>2]|0)+(k[q>>2]|0)|0)|0;k[B>>2]=E;if(!(k[B>>2]|0))break a;k[x>>2]=(k[u>>2]|0)+48+72+((k[o>>2]|0)*24|0);E=k[x>>2]|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;sR((k[B>>2]|0)+(k[s>>2]|0)|0,k[A>>2]|0,k[q>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[q>>2]|0);k[(k[x>>2]|0)+4>>2]=k[q>>2];if((k[m>>2]|0)<(k[h>>2]|0))c=(i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0)==42;else c=0;k[(k[x>>2]|0)+8>>2]=c&1;if((k[l>>2]|0)>0)c=(i[(k[g>>2]|0)+((k[l>>2]|0)-1)>>0]|0)==94;else c=0;k[(k[x>>2]|0)+12>>2]=c&1;k[t>>2]=(k[o>>2]|0)+1}k[o>>2]=(k[o>>2]|0)+1}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;k[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((k[y>>2]|0)==101){k[z>>2]=0;E=Jp(k[u>>2]|0,144+((k[t>>2]|0)*24|0)+(k[s>>2]|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break;uR(k[u>>2]|0,0,(k[u>>2]|0)+48+72-(k[u>>2]|0)|0)|0;k[k[u>>2]>>2]=5;k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+48;k[(k[(k[u>>2]|0)+20>>2]|0)+68>>2]=k[(k[f>>2]|0)+20>>2];k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]=k[t>>2];k[z>>2]=(k[(k[u>>2]|0)+20>>2]|0)+72+((k[t>>2]|0)*24|0);if(k[B>>2]|0){sR(k[z>>2]|0,k[B>>2]|0,k[s>>2]|0)|0;Ud(k[B>>2]|0)}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]|0))break;k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)>>2]=k[z>>2];k[z>>2]=(k[z>>2]|0)+(k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)+4>>2]|0);k[p>>2]=(k[p>>2]|0)+1}k[y>>2]=0}k[k[j>>2]>>2]=k[u>>2];k[e>>2]=k[y>>2];E=k[e>>2]|0;r=D;return E|0}while(0);if(k[v>>2]|0)bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;Ud(k[B>>2]|0);Ud(k[u>>2]|0);k[k[j>>2]>>2]=0;k[e>>2]=7;E=k[e>>2]|0;r=D;return E|0}function Ip(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;g=B+68|0;h=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;o=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;p=B+8|0;q=B+4|0;t=B;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[y>>2]=k[k[g>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[x>>2]=0;k[o>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[l>>2]|0))break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==40)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==41)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==34)break;k[o>>2]=(k[o>>2]|0)+1}k[k[n>>2]>>2]=k[o>>2];c=Gn(k[y>>2]|0,k[(k[g>>2]|0)+4>>2]|0,k[j>>2]|0,k[o>>2]|0,v)|0;k[z>>2]=c;if(k[z>>2]|0){c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}k[u>>2]=0;k[s>>2]=0;k[p>>2]=0;k[q>>2]=0;c=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,u,s,p,q)|0;k[z>>2]=c;if(k[z>>2]|0){if((k[o>>2]|0)!=0&(k[z>>2]|0)==101)k[z>>2]=0}else{k[t>>2]=144+(k[u>>2]|0);c=Dp(k[t>>2]|0)|0;k[x>>2]=c;a:do if(k[x>>2]|0){k[k[x>>2]>>2]=5;k[(k[x>>2]|0)+20>>2]=(k[x>>2]|0)+48;k[(k[(k[x>>2]|0)+20>>2]|0)+64>>2]=1;k[(k[(k[x>>2]|0)+20>>2]|0)+68>>2]=k[h>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72+4>>2]=k[u>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]=(k[(k[x>>2]|0)+20>>2]|0)+96;sR(k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]|0,k[A>>2]|0,k[u>>2]|0)|0;if((k[p>>2]|0)<(k[l>>2]|0)?(i[(k[j>>2]|0)+(k[p>>2]|0)>>0]|0)==42:0){k[(k[(k[x>>2]|0)+20>>2]|0)+72+8>>2]=1;k[p>>2]=(k[p>>2]|0)+1}while(1){if(!((k[s>>2]|0)>0?(k[(k[g>>2]|0)+12>>2]|0)!=0:0))break a;if((i[(k[j>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=94)break a;k[(k[(k[x>>2]|0)+20>>2]|0)+72+12>>2]=1;k[s>>2]=(k[s>>2]|0)+-1}}else k[z>>2]=7;while(0);k[k[n>>2]>>2]=k[p>>2]}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}function Jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Vd(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){f=k[d>>2]|0;r=e;return f|0}Ud(k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}function Kp(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Lp(k[(k[c>>2]|0)+20>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[c>>2]|0);r=b;return}function Lp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}Ud(k[k[c>>2]>>2]|0);Zm(k[c>>2]|0);a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0))break;sn(k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]|0);k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]=0;k[d>>2]=(k[d>>2]|0)+1}r=e;return}function Mp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+8>>2];ol(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+24>>2]=0;r=e;return}function Np(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((vf()|0)<3008002){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+48|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function Op(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((vf()|0)<3008012){r=c;return}a=(k[b>>2]|0)+56|0;k[a>>2]=k[a>>2]|1;r=c;return} -function cw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;ra=r;r=r+304|0;F=ra+32|0;E=ra+16|0;D=ra;I=ra+288|0;J=ra+284|0;K=ra+280|0;L=ra+276|0;M=ra+272|0;S=ra+268|0;fa=ra+264|0;h=ra+260|0;g=ra+256|0;U=ra+252|0;aa=ra+248|0;Y=ra+244|0;qa=ra+240|0;da=ra+236|0;ba=ra+232|0;ca=ra+228|0;V=ra+224|0;W=ra+220|0;Z=ra+216|0;T=ra+212|0;oa=ra+208|0;Q=ra+204|0;P=ra+200|0;s=ra+180|0;t=ra+176|0;f=ra+172|0;pa=ra+295|0;R=ra+294|0;G=ra+293|0;q=ra+292|0;ea=ra+168|0;ka=ra+164|0;ia=ra+160|0;ma=ra+156|0;la=ra+152|0;na=ra+148|0;ja=ra+144|0;N=ra+140|0;$=ra+136|0;ga=ra+132|0;C=ra+128|0;A=ra+124|0;p=ra+120|0;w=ra+116|0;y=ra+112|0;z=ra+108|0;o=ra+104|0;B=ra+72|0;u=ra+68|0;x=ra+64|0;n=ra+60|0;v=ra+56|0;O=ra+52|0;X=ra+48|0;ha=ra+44|0;_=ra+40|0;k[I>>2]=a;k[J>>2]=b;k[K>>2]=c;k[L>>2]=d;k[M>>2]=e;k[ca>>2]=0;k[V>>2]=0;k[W>>2]=0;k[Z>>2]=-1;k[oa>>2]=0;k[Q>>2]=0;k[P>>2]=0;i[pa>>0]=0;i[R>>0]=0;k[ea>>2]=0;k[ka>>2]=0;k[ia>>2]=0;k[ma>>2]=0;k[N>>2]=0;k[S>>2]=k[k[I>>2]>>2];k[s>>2]=0;k[s+4>>2]=0;k[s+8>>2]=0;k[s+12>>2]=0;k[s+16>>2]=0;a:do if((k[(k[I>>2]|0)+68>>2]|0)==0?(l[(k[S>>2]|0)+65>>0]|0)==0:0){if(((k[K>>2]|0)!=0?(m[(k[K>>2]|0)+6>>1]&256|0)!=0:0)?(k[(k[K>>2]|0)+52>>2]|0)==0:0){k[ea>>2]=k[k[K>>2]>>2];k[k[K>>2]>>2]=0;ev(k[S>>2]|0,k[K>>2]|0);k[K>>2]=0}k[h>>2]=k[(k[J>>2]|0)+8+8>>2];if((((((k[h>>2]|0)!=0?(h=NB(k[I>>2]|0,k[J>>2]|0)|0,k[fa>>2]=h,(k[fa>>2]|0)!=0):0)?(h=Nh(k[S>>2]|0,k[(k[fa>>2]|0)+64>>2]|0)|0,k[t>>2]=h,k[f>>2]=(k[(k[S>>2]|0)+16>>2]|0)+(k[t>>2]<<4),k[g>>2]=k[k[f>>2]>>2],(Ww(k[I>>2]|0,18,k[k[fa>>2]>>2]|0,0,k[g>>2]|0)|0)==0):0)?(i[G>>0]=((l[(k[fa>>2]|0)+42>>0]&32|0)==0^1)&1,h=CC(k[I>>2]|0,k[fa>>2]|0,108,0,C)|0,k[ga>>2]=h,k[$>>2]=(k[(k[fa>>2]|0)+12>>2]|0)!=0&1,(Jx(k[I>>2]|0,k[fa>>2]|0)|0)==0):0)?(DC(k[I>>2]|0,k[fa>>2]|0,k[C>>2]|0)|0)==0:0)?(h=Zw(k[I>>2]|0)|0,k[qa>>2]=h,(k[qa>>2]|0)!=0):0){if(!(l[(k[I>>2]|0)+18>>0]|0))EC(k[qa>>2]|0);kx(k[I>>2]|0,((k[K>>2]|0)!=0?1:(k[ga>>2]|0)!=0)&1,k[t>>2]|0);if(!((k[L>>2]|0)==0?(FC(k[I>>2]|0,k[fa>>2]|0,k[K>>2]|0,k[M>>2]|0,k[t>>2]|0)|0)!=0:0))H=17;b:do if((H|0)==17){h=GC(k[I>>2]|0,k[t>>2]|0,k[fa>>2]|0)|0;k[ia>>2]=h;h=(k[(k[I>>2]|0)+76>>2]|0)+1|0;k[la>>2]=h;k[na>>2]=h;h=(k[I>>2]|0)+76|0;k[h>>2]=(k[h>>2]|0)+((j[(k[fa>>2]|0)+34>>1]|0)+1);if(l[(k[fa>>2]|0)+42>>0]&16){k[na>>2]=(k[na>>2]|0)+1;h=(k[I>>2]|0)+76|0;k[h>>2]=(k[h>>2]|0)+1}k[ja>>2]=(k[na>>2]|0)+1;i[q>>0]=(l[(k[fa>>2]|0)+42>>0]&128|0)==0;c:do if(k[L>>2]|0){k[U>>2]=0;while(1){if((k[U>>2]|0)>=(k[(k[L>>2]|0)+4>>2]|0))break;k[(k[k[L>>2]>>2]|0)+(k[U>>2]<<3)+4>>2]=-1;k[U>>2]=(k[U>>2]|0)+1}k[U>>2]=0;while(1){if((k[U>>2]|0)>=(k[(k[L>>2]|0)+4>>2]|0))break c;k[aa>>2]=0;while(1){if((k[aa>>2]|0)>=(j[(k[fa>>2]|0)+34>>1]|0))break;h=(be(k[(k[k[L>>2]>>2]|0)+(k[U>>2]<<3)>>2]|0,k[(k[(k[fa>>2]|0)+4>>2]|0)+((k[aa>>2]|0)*24|0)>>2]|0)|0)==0;e=k[aa>>2]|0;if(h){H=28;break}k[aa>>2]=e+1}do if((H|0)==28){H=0;k[(k[k[L>>2]>>2]|0)+(k[U>>2]<<3)+4>>2]=e;if((k[U>>2]|0)!=(k[aa>>2]|0))i[q>>0]=0;if((k[aa>>2]|0)!=(j[(k[fa>>2]|0)+32>>1]|0))break;k[Z>>2]=k[U>>2]}while(0);if((k[aa>>2]|0)>=(j[(k[fa>>2]|0)+34>>1]|0)){h=(Ai(k[(k[k[L>>2]>>2]|0)+(k[U>>2]<<3)>>2]|0)|0)==0;if(h|(i[G>>0]|0)!=0)break;k[Z>>2]=k[U>>2];i[q>>0]=0}k[U>>2]=(k[U>>2]|0)+1}qa=k[I>>2]|0;pa=k[(k[k[L>>2]>>2]|0)+(k[U>>2]<<3)>>2]|0;k[D>>2]=k[J>>2];k[D+4>>2]=0;k[D+8>>2]=pa;Kh(qa,35073,D);i[(k[I>>2]|0)+17>>0]=1;break a}while(0);do if(!(k[K>>2]|0)){k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;k[B+24>>2]=0;k[B+28>>2]=0;k[B>>2]=k[I>>2];k[oa>>2]=-1;if(k[ea>>2]|0){k[ba>>2]=k[k[ea>>2]>>2];if(qy(B,k[ea>>2]|0)|0)break a;else break}else{k[ba>>2]=0;break}}else{B=(k[I>>2]|0)+76|0;D=(k[B>>2]|0)+1|0;k[B>>2]=D;k[A>>2]=D;D=(Lz(k[qa>>2]|0)|0)+1|0;k[p>>2]=D;dx(k[qa>>2]|0,16,k[A>>2]|0,0,k[p>>2]|0)|0;hB(s,13,k[A>>2]|0);k[s+8>>2]=(l[q>>0]|0)!=0?k[ja>>2]|0:0;k[s+12>>2]=j[(k[fa>>2]|0)+34>>1];D=Mv(k[I>>2]|0,k[K>>2]|0,s)|0;k[w>>2]=D;k[ka>>2]=k[s+8>>2];if(k[w>>2]|0)break a;if(l[(k[S>>2]|0)+65>>0]|0)break a;if(k[(k[I>>2]|0)+68>>2]|0)break a;HC(k[qa>>2]|0,k[A>>2]|0);Pz(k[qa>>2]|0,(k[p>>2]|0)-1|0);k[ba>>2]=k[k[k[K>>2]>>2]>>2];if(!((k[ga>>2]|0)==0?(IC(k[I>>2]|0,k[t>>2]|0,k[fa>>2]|0)|0)==0:0))i[pa>>0]=1;if(!(i[pa>>0]|0))break;B=(k[I>>2]|0)+72|0;D=k[B>>2]|0;k[B>>2]=D+1;k[oa>>2]=D;D=eA(k[I>>2]|0)|0;k[y>>2]=D;D=eA(k[I>>2]|0)|0;k[z>>2]=D;$w(k[qa>>2]|0,57,k[oa>>2]|0,k[ba>>2]|0)|0;D=Hz(k[qa>>2]|0,18,k[s+4>>2]|0)|0;k[o>>2]=D;dx(k[qa>>2]|0,49,k[ka>>2]|0,k[ba>>2]|0,k[y>>2]|0)|0;$w(k[qa>>2]|0,74,k[oa>>2]|0,k[z>>2]|0)|0;dx(k[qa>>2]|0,75,k[oa>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;Oz(k[qa>>2]|0,k[o>>2]|0)|0;Pz(k[qa>>2]|0,k[o>>2]|0);iA(k[I>>2]|0,k[y>>2]|0);iA(k[I>>2]|0,k[z>>2]|0)}while(0);if((k[L>>2]|0)==0&(k[ba>>2]|0)>0)k[Z>>2]=j[(k[fa>>2]|0)+32>>1];k[U>>2]=0;while(1){if((k[U>>2]|0)>=(j[(k[fa>>2]|0)+34>>1]|0))break;k[ca>>2]=(k[ca>>2]|0)+((l[(k[(k[fa>>2]|0)+4>>2]|0)+((k[U>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);k[U>>2]=(k[U>>2]|0)+1}if((k[L>>2]|0)==0&(k[ba>>2]|0)!=0?(k[ba>>2]|0)!=((j[(k[fa>>2]|0)+34>>1]|0)-(k[ca>>2]|0)|0):0){qa=k[I>>2]|0;oa=(j[(k[fa>>2]|0)+34>>1]|0)-(k[ca>>2]|0)|0;pa=k[ba>>2]|0;k[E>>2]=k[J>>2];k[E+4>>2]=0;k[E+8>>2]=oa;k[E+12>>2]=pa;Kh(qa,35105,E);break a}do if(k[L>>2]|0){if((k[ba>>2]|0)==(k[(k[L>>2]|0)+4>>2]|0))break;qa=k[I>>2]|0;pa=k[(k[L>>2]|0)+4>>2]|0;k[F>>2]=k[ba>>2];k[F+4>>2]=pa;Kh(qa,35157,F);break a}while(0);if(k[(k[S>>2]|0)+24>>2]&128){E=(k[I>>2]|0)+76|0;F=(k[E>>2]|0)+1|0;k[E>>2]=F;k[ma>>2]=F;$w(k[qa>>2]|0,22,0,k[ma>>2]|0)|0}d:do if(!(k[$>>2]|0)){F=qC(k[I>>2]|0,k[fa>>2]|0,55,0,-1,0,V,W)|0;k[u>>2]=F;F=Pw(k[S>>2]|0,(k[u>>2]|0)+1<<2,0)|0;k[N>>2]=F;if(!(k[N>>2]|0))break a;k[U>>2]=0;while(1){if((k[U>>2]|0)>=(k[u>>2]|0))break d;E=(k[I>>2]|0)+76|0;F=(k[E>>2]|0)+1|0;k[E>>2]=F;k[(k[N>>2]|0)+(k[U>>2]<<2)>>2]=F;k[U>>2]=(k[U>>2]|0)+1}}while(0);do if(i[pa>>0]|0){F=Hz(k[qa>>2]|0,108,k[oa>>2]|0)|0;k[Q>>2]=F;F=Lz(k[qa>>2]|0)|0;k[P>>2]=F}else{if(!(k[K>>2]|0))break;F=Hz(k[qa>>2]|0,18,k[s+4>>2]|0)|0;k[P>>2]=F;k[Q>>2]=F}while(0);F=Mz(k[qa>>2]|0)|0;k[T>>2]=F;if(k[C>>2]&1){F=uA(k[I>>2]|0,(j[(k[fa>>2]|0)+34>>1]|0)+1|0)|0;k[x>>2]=F;if((k[Z>>2]|0)<0)$w(k[qa>>2]|0,22,-1,k[x>>2]|0)|0;else{if(i[pa>>0]|0)dx(k[qa>>2]|0,47,k[oa>>2]|0,k[Z>>2]|0,k[x>>2]|0)|0;else HA(k[I>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0,k[x>>2]|0);F=Hz(k[qa>>2]|0,77,k[x>>2]|0)|0;k[n>>2]=F;$w(k[qa>>2]|0,22,-1,k[x>>2]|0)|0;Pz(k[qa>>2]|0,k[n>>2]|0);Hz(k[qa>>2]|0,38,k[x>>2]|0)|0}k[aa>>2]=0;k[U>>2]=0;while(1){if((k[U>>2]|0)>=(j[(k[fa>>2]|0)+34>>1]|0))break;e:do if(k[L>>2]|0){k[aa>>2]=0;while(1){if((k[aa>>2]|0)>=(k[(k[L>>2]|0)+4>>2]|0))break e;if((k[(k[k[L>>2]>>2]|0)+(k[aa>>2]<<3)+4>>2]|0)==(k[U>>2]|0))break e;k[aa>>2]=(k[aa>>2]|0)+1}}while(0);do if((i[pa>>0]|0)!=0|(k[ea>>2]|0)!=0){if((k[L>>2]|0)!=0?(k[aa>>2]|0)>=(k[(k[L>>2]|0)+4>>2]|0):0){H=90;break}if(i[pa>>0]|0){dx(k[qa>>2]|0,47,k[oa>>2]|0,k[aa>>2]|0,(k[x>>2]|0)+(k[U>>2]|0)+1|0)|0;break}else{JC(k[I>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+((k[aa>>2]|0)*20|0)>>2]|0,(k[x>>2]|0)+(k[U>>2]|0)+1|0);break}}else H=90;while(0);if((H|0)==90){H=0;HA(k[I>>2]|0,k[(k[(k[fa>>2]|0)+4>>2]|0)+((k[U>>2]|0)*24|0)+4>>2]|0,(k[x>>2]|0)+(k[U>>2]|0)+1|0)}if(!(k[L>>2]|0))k[aa>>2]=(k[aa>>2]|0)+1;k[U>>2]=(k[U>>2]|0)+1}if(!(k[$>>2]|0))KC(k[qa>>2]|0,k[fa>>2]|0,(k[x>>2]|0)+1|0);LC(k[I>>2]|0,k[ga>>2]|0,108,0,1,k[fa>>2]|0,(k[x>>2]|0)-(j[(k[fa>>2]|0)+34>>1]|0)-1|0,k[M>>2]|0,k[T>>2]|0);xA(k[I>>2]|0,k[x>>2]|0,(j[(k[fa>>2]|0)+34>>1]|0)+1|0)}do if(!(k[$>>2]|0)){if(l[(k[fa>>2]|0)+42>>0]&16)$w(k[qa>>2]|0,25,0,k[la>>2]|0)|0;f:do if((k[Z>>2]|0)>=0){do if(i[pa>>0]|0)dx(k[qa>>2]|0,47,k[oa>>2]|0,k[Z>>2]|0,k[na>>2]|0)|0;else{if(k[K>>2]|0){$w(k[qa>>2]|0,30,(k[ka>>2]|0)+(k[Z>>2]|0)|0,k[na>>2]|0)|0;break}HA(k[I>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+((k[Z>>2]|0)*20|0)>>2]|0,k[na>>2]|0);H=Wz(k[qa>>2]|0,-1)|0;k[v>>2]=H;if(!(k[v>>2]|0))break;if((l[k[v>>2]>>0]|0)!=25)break;if(l[(k[fa>>2]|0)+42>>0]&16)break;i[R>>0]=1;i[k[v>>2]>>0]=74;k[(k[v>>2]|0)+4>>2]=k[V>>2];k[(k[v>>2]|0)+8>>2]=k[na>>2];k[(k[v>>2]|0)+12>>2]=k[ia>>2]}while(0);if(i[R>>0]|0)break;e=k[qa>>2]|0;if(l[(k[fa>>2]|0)+42>>0]&16){H=Lz(e)|0;k[O>>2]=H;$w(k[qa>>2]|0,76,k[na>>2]|0,(k[O>>2]|0)+2|0)|0}else{H=Hz(e,77,k[na>>2]|0)|0;k[O>>2]=H;dx(k[qa>>2]|0,74,k[V>>2]|0,k[na>>2]|0,k[ia>>2]|0)|0;Pz(k[qa>>2]|0,k[O>>2]|0)}Hz(k[qa>>2]|0,38,k[na>>2]|0)|0}else{do if(!(l[(k[fa>>2]|0)+42>>0]&16)){if(l[G>>0]|0)break;dx(k[qa>>2]|0,74,k[V>>2]|0,k[na>>2]|0,k[ia>>2]|0)|0;i[R>>0]=1;break f}while(0);$w(k[qa>>2]|0,25,0,k[na>>2]|0)|0}while(0);MC(k[I>>2]|0,k[ia>>2]|0,k[na>>2]|0);k[ca>>2]=0;k[U>>2]=0;while(1){if((k[U>>2]|0)>=(j[(k[fa>>2]|0)+34>>1]|0))break;k[X>>2]=(k[na>>2]|0)+1+(k[U>>2]|0);g:do if((k[U>>2]|0)==(j[(k[fa>>2]|0)+32>>1]|0))Hz(k[qa>>2]|0,26,k[X>>2]|0)|0;else{h:do if(!(k[L>>2]|0))if(l[(k[(k[fa>>2]|0)+4>>2]|0)+((k[U>>2]|0)*24|0)+23>>0]&2){k[aa>>2]=-1;k[ca>>2]=(k[ca>>2]|0)+1;break}else{k[aa>>2]=(k[U>>2]|0)-(k[ca>>2]|0);break}else{k[aa>>2]=0;while(1){if((k[aa>>2]|0)>=(k[(k[L>>2]|0)+4>>2]|0))break h;if((k[(k[k[L>>2]>>2]|0)+(k[aa>>2]<<3)+4>>2]|0)==(k[U>>2]|0))break h;k[aa>>2]=(k[aa>>2]|0)+1}}while(0);do if(!((k[aa>>2]|0)<0|(k[ba>>2]|0)==0)){if((k[L>>2]|0)!=0?(k[aa>>2]|0)>=(k[(k[L>>2]|0)+4>>2]|0):0)break;if(i[pa>>0]|0){dx(k[qa>>2]|0,47,k[oa>>2]|0,k[aa>>2]|0,k[X>>2]|0)|0;break g}if(!(k[K>>2]|0)){HA(k[I>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+((k[aa>>2]|0)*20|0)>>2]|0,k[X>>2]|0);break g}if((k[ka>>2]|0)==(k[ja>>2]|0))break g;$w(k[qa>>2]|0,31,(k[ka>>2]|0)+(k[aa>>2]|0)|0,k[X>>2]|0)|0;break g}while(0);NC(k[I>>2]|0,k[(k[(k[fa>>2]|0)+4>>2]|0)+((k[U>>2]|0)*24|0)+4>>2]|0,k[X>>2]|0)}while(0);k[U>>2]=(k[U>>2]|0)+1}if(l[(k[fa>>2]|0)+42>>0]&16){na=Kx(k[S>>2]|0,k[fa>>2]|0)|0;k[ha>>2]=na;OC(k[I>>2]|0,k[fa>>2]|0);cx(k[qa>>2]|0,12,1,(j[(k[fa>>2]|0)+34>>1]|0)+2|0,k[la>>2]|0,k[ha>>2]|0,-10)|0;Ph(k[qa>>2]|0,((k[M>>2]|0)==10?2:k[M>>2]|0)&255);Lx(k[I>>2]|0);break}else{PC(k[I>>2]|0,k[fa>>2]|0,k[N>>2]|0,k[V>>2]|0,k[W>>2]|0,k[la>>2]|0,0,(k[Z>>2]|0)>=0&255,k[M>>2]&255,k[T>>2]|0,_,0);QC(k[I>>2]|0,k[fa>>2]|0,0,k[la>>2]|0,0,0);RC(k[I>>2]|0,k[fa>>2]|0,k[V>>2]|0,k[W>>2]|0,k[la>>2]|0,k[N>>2]|0,0,l[R>>0]|0,(k[_>>2]|0)==0&1);break}}while(0);if(k[(k[S>>2]|0)+24>>2]&128)$w(k[qa>>2]|0,37,k[ma>>2]|0,1)|0;if(k[ga>>2]|0)LC(k[I>>2]|0,k[ga>>2]|0,108,0,2,k[fa>>2]|0,(k[ja>>2]|0)-2-(j[(k[fa>>2]|0)+34>>1]|0)|0,k[M>>2]|0,k[T>>2]|0);Qz(k[qa>>2]|0,k[T>>2]|0);do if(i[pa>>0]|0){$w(k[qa>>2]|0,7,k[oa>>2]|0,k[P>>2]|0)|0;Pz(k[qa>>2]|0,k[Q>>2]|0);Hz(k[qa>>2]|0,61,k[oa>>2]|0)|0}else{if(!(k[K>>2]|0))break;Oz(k[qa>>2]|0,k[P>>2]|0)|0;Pz(k[qa>>2]|0,k[Q>>2]|0)}while(0);if((k[$>>2]|0)!=0?1:(l[(k[fa>>2]|0)+42>>0]&16|0)!=0)break;if((k[V>>2]|0)<(k[W>>2]|0))Hz(k[qa>>2]|0,61,k[V>>2]|0)|0;k[Y>>2]=0;k[da>>2]=k[(k[fa>>2]|0)+8>>2];while(1){if(!(k[da>>2]|0))break b;Hz(k[qa>>2]|0,61,(k[Y>>2]|0)+(k[W>>2]|0)|0)|0;k[da>>2]=k[(k[da>>2]|0)+20>>2];k[Y>>2]=(k[Y>>2]|0)+1}}while(0);if((l[(k[I>>2]|0)+18>>0]|0)==0?(k[(k[I>>2]|0)+420>>2]|0)==0:0)SC(k[I>>2]|0);if(((k[(k[S>>2]|0)+24>>2]&128|0)!=0?(i[(k[I>>2]|0)+18>>0]|0)==0:0)?(k[(k[I>>2]|0)+420>>2]|0)==0:0){$w(k[qa>>2]|0,33,k[ma>>2]|0,1)|0;YB(k[qa>>2]|0,1);ZB(k[qa>>2]|0,0,0,35182,0)|0}}}while(0);gv(k[S>>2]|0,k[J>>2]|0);dv(k[S>>2]|0,k[ea>>2]|0);ev(k[S>>2]|0,k[K>>2]|0);iv(k[S>>2]|0,k[L>>2]|0);ag(k[S>>2]|0,k[N>>2]|0);r=ra;return}function dw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)==0?(c=zh(k[d>>2]|0,8,0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=BC(k[d>>2]|0,k[k[f>>2]>>2]|0,8,(k[f>>2]|0)+4|0,h)|0;k[k[f>>2]>>2]=c;d=k[d>>2]|0;if((k[h>>2]|0)<0){iv(d,k[f>>2]|0);k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}else{g=Nw(d,k[g>>2]|0)|0;k[(k[k[f>>2]>>2]|0)+(k[h>>2]<<3)>>2]=g;k[e>>2]=k[f>>2];h=k[e>>2]|0;r=i;return h|0}return 0}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[e>>2]|0)+8>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);r=d;return}function fw(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,p=0,q=0,s=0,t=0;t=r;r=r+64|0;o=t+16|0;n=t+8|0;c=t+44|0;d=t+40|0;g=t+36|0;q=t+32|0;p=t+50|0;m=t+28|0;h=t;f=t+24|0;l=t+48|0;e=t+20|0;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[c>>2]>>2];if(!(k[d>>2]|0)){r=t;return}k[q>>2]=k[(k[d>>2]|0)+8>>2];do if(i[(k[q>>2]|0)+1>>0]|0){j[p>>1]=0;a=Sf(k[q>>2]|0)|0;k[m>>2]=a;if((i[k[q>>2]>>0]|0)==63){s=0==(Ri((k[q>>2]|0)+1|0,h,(k[m>>2]|0)-1|0,1)|0)&1;k[f>>2]=s;s=k[h>>2]&65535;j[p>>1]=s;j[(k[d>>2]|0)+32>>1]=s;s=h;a=k[s+4>>2]|0;if(!(!((k[f>>2]|0)==0|((a|0)<0|(a|0)==0&(k[s>>2]|0)>>>0<1))?(a=h,l=k[a+4>>2]|0,s=k[(k[g>>2]|0)+88+36>>2]|0,b=((s|0)<0)<<31>>31,!((l|0)>(b|0)|((l|0)==(b|0)?(k[a>>2]|0)>>>0>s>>>0:0))):0)){s=k[c>>2]|0;k[n>>2]=k[(k[g>>2]|0)+88+36>>2];Kh(s,35007,n);j[p>>1]=0}n=h;b=k[n+4>>2]|0;s=j[(k[c>>2]|0)+444>>1]|0;a=((s|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[n>>2]|0)>>>0>s>>>0:0))j[(k[c>>2]|0)+444>>1]=k[h>>2]}else{j[l>>1]=0;while(1){if((j[l>>1]|0)>=(k[(k[c>>2]|0)+448>>2]|0))break;if((k[(k[(k[c>>2]|0)+476>>2]|0)+(j[l>>1]<<2)>>2]|0)!=0?(IQ(k[(k[(k[c>>2]|0)+476>>2]|0)+(j[l>>1]<<2)>>2]|0,k[q>>2]|0)|0)==0:0){s=14;break}j[l>>1]=(j[l>>1]|0)+1<<16>>16}if((s|0)==14){s=(j[l>>1]|0)+1&65535;j[p>>1]=s;j[(k[d>>2]|0)+32>>1]=s}if(!(j[p>>1]|0)){n=(k[c>>2]|0)+444|0;s=(j[n>>1]|0)+1<<16>>16;j[n>>1]=s;j[(k[d>>2]|0)+32>>1]=s;j[p>>1]=s}}if((j[p>>1]|0)>0){do if((j[p>>1]|0)>(k[(k[c>>2]|0)+448>>2]|0)){s=Ow(k[g>>2]|0,k[(k[c>>2]|0)+476>>2]|0,j[p>>1]<<2,0)|0;k[e>>2]=s;if(!(k[e>>2]|0)){r=t;return}else{k[(k[c>>2]|0)+476>>2]=k[e>>2];uR((k[e>>2]|0)+(k[(k[c>>2]|0)+448>>2]<<2)|0,0,(j[p>>1]|0)-(k[(k[c>>2]|0)+448>>2]|0)<<2|0)|0;k[(k[c>>2]|0)+448>>2]=j[p>>1];break}}while(0);if((i[k[q>>2]>>0]|0)==63?(k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]|0)!=0:0)break;ag(k[g>>2]|0,k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]|0);s=Sw(k[g>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]=s}}else{q=(k[c>>2]|0)+444|0;s=(j[q>>1]|0)+1<<16>>16;j[q>>1]=s;j[(k[d>>2]|0)+32>>1]=s}while(0);if(k[(k[c>>2]|0)+68>>2]|0){r=t;return}if((j[(k[c>>2]|0)+444>>1]|0)<=(k[(k[g>>2]|0)+88+36>>2]|0)){r=t;return}Kh(k[c>>2]|0,35050,o);r=t;return}function gw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[(k[g>>2]|0)+4>>2]|0)>>>0<=0){a=k[f>>2]|0;r=j;return a|0}a=mz(k[k[e>>2]>>2]|0,95,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){a=k[f>>2]|0;r=j;return a|0}k[(k[i>>2]|0)+12>>2]=k[f>>2];a=(k[i>>2]|0)+4|0;k[a>>2]=k[a>>2]|4352;k[f>>2]=k[i>>2];a=k[f>>2]|0;r=j;return a|0}function hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;h=i+4|0;g=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[g>>2]=k[k[e>>2]>>2];c=mz(k[g>>2]|0,151,k[j>>2]|0,1)|0;k[h>>2]=c;if(!(k[h>>2]|0)){dv(k[g>>2]|0,k[f>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=i;return j|0}else{k[(k[h>>2]|0)+20>>2]=k[f>>2];nw(k[e>>2]|0,k[h>>2]|0);k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}return 0}function iw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;j=f+8|0;i=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;e=Bv(k[l>>2]|0,k[j>>2]|0,k[k[i>>2]>>2]|0,k[k[h>>2]>>2]|0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];r=f;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(k[g>>2]|0)){r=f;return}g=Bv(k[d>>2]|0,19,k[k[e>>2]>>2]|0,0,0)|0;k[k[e>>2]>>2]=g;r=f;return}function kw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;j=f+8|0;i=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;e=Bv(k[l>>2]|0,k[j>>2]|0,k[k[i>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[(k[g>>2]|0)+8>>2]=(k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0);r=f;return}function lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[m>>2]>>2];if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){r=j;return}if((l[k[e>>2]>>0]|0|0)!=101){r=j;return}i[k[f>>2]>>0]=k[g>>2];hv(k[h>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=0;r=j;return}function mw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;j=f+8|0;h=f+4|0;i=f;k[g>>2]=a;k[l>>2]=b;k[j>>2]=c;k[h>>2]=d;k[i>>2]=e;e=Bv(k[l>>2]|0,k[j>>2]|0,k[k[h>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+4>>2]=k[k[i>>2]>>2];k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];r=f;return}function nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+68>>2]|0){r=e;return}oz(k[d>>2]|0);Oy(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0)|0;r=e;return}function ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;j=r;r=r+32|0;i=j;f=j+28|0;o=j+24|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[n>>2]=d;k[m>>2]=e;e=Qv(k[f>>2]|0,k[o>>2]|0,0)|0;k[h>>2]=e;if((k[n>>2]|0)!=0|(k[m>>2]|0)!=-1?(l[(k[k[f>>2]>>2]|0)+140+5>>0]|0|0)==0:0){o=k[f>>2]|0;n=k[k[g>>2]>>2]|0;k[i>>2]=k[(k[g>>2]|0)+4>>2];k[i+4>>2]=n;Kh(o,34967,i)}Rv(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,1);r=j;return k[h>>2]|0}function pw(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;l=u+16|0;j=u+8|0;t=u;o=u+68|0;p=u+64|0;q=u+60|0;f=u+56|0;h=u+52|0;s=u+48|0;e=u+44|0;d=u+40|0;g=u+36|0;m=u+32|0;n=u+28|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=k[k[o>>2]>>2];if(i[(k[s>>2]|0)+65>>0]|0){s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}if(zz(k[o>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}a=Pj(k[s>>2]|0,k[(k[p>>2]|0)+8+8>>2]|0,k[(k[p>>2]|0)+8+4>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){d=k[o>>2]|0;e=k[p>>2]|0;if(k[q>>2]|0)JB(d,k[e+8+4>>2]|0);else{k[t>>2]=e;k[t+4>>2]=0;Kh(d,34757,t)}i[(k[o>>2]|0)+17>>0]=1;s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}if(i[(k[f>>2]|0)+55>>0]&3){t=k[o>>2]|0;k[j>>2]=0;Kh(t,34775,j);s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}t=Nh(k[s>>2]|0,k[(k[f>>2]|0)+24>>2]|0)|0;k[e>>2]=t;k[d>>2]=10;k[g>>2]=k[(k[f>>2]|0)+12>>2];k[m>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[n>>2]=(k[e>>2]|0)==1?20769:20788;if(Ww(k[o>>2]|0,9,k[n>>2]|0,0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}if(k[e>>2]|0)k[d>>2]=12;if(Ww(k[o>>2]|0,k[d>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}t=Zw(k[o>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}kx(k[o>>2]|0,1,k[e>>2]|0);t=k[o>>2]|0;n=(k[e>>2]|0)==1?20769:20788;q=k[k[f>>2]>>2]|0;k[l>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[l+4>>2]=n;k[l+8>>2]=q;Yw(t,34848,l);zC(k[o>>2]|0,k[e>>2]|0,31725,k[k[f>>2]>>2]|0);_w(k[o>>2]|0,k[e>>2]|0);AC(k[o>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[e>>2]|0);cx(k[h>>2]|0,126,k[e>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;s=k[s>>2]|0;t=k[p>>2]|0;gv(s,t);r=u;return}function qw(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=Zw(k[d>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}$w(k[b>>2]|0,10,0,0)|0;Rh(k[b>>2]|0,0);r=c;return}function rw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0;ac=r;r=r+800|0;Ia=ac+264|0;Sb=ac+256|0;Rb=ac+248|0;db=ac+240|0;Aa=ac+208|0;za=ac+200|0;ya=ac+184|0;xa=ac+160|0;Qb=ac+144|0;Pb=ac+128|0;wa=ac+112|0;va=ac+96|0;cb=ac+72|0;ua=ac+64|0;ta=ac+56|0;sa=ac+48|0;q=ac+40|0;o=ac+32|0;Xb=ac+792|0;f=ac+788|0;s=ac+784|0;h=ac+780|0;n=ac+776|0;_b=ac+772|0;$b=ac+768|0;fb=ac+764|0;g=ac+760|0;p=ac+744|0;Wb=ac+736|0;X=ac+732|0;ra=ac+728|0;Y=ac+724|0;la=ac+720|0;Zb=ac+716|0;Fa=ac+712|0;Yb=ac+708|0;Hb=ac+704|0;v=ac+700|0;na=ac+696|0;$=ac+692|0;Ga=ac+688|0;aa=ac+684|0;B=ac+680|0;T=ac+676|0;Pa=ac+672|0;Da=ac+668|0;D=ac+664|0;ga=ac+660|0;U=ac+656|0;E=ac+652|0;V=ac+648|0;Ba=ac+644|0;Z=ac+640|0;ha=ac+636|0;R=ac+24|0;ba=ac+632|0;C=ac+628|0;y=ac+624|0;N=ac+620|0;S=ac+616|0;z=ac+612|0;oa=ac+608|0;pa=ac+604|0;qa=ac+16|0;ma=ac+600|0;Q=ac+596|0;Ea=ac+592|0;Za=ac+588|0;Ma=ac+584|0;Ra=ac+580|0;Ta=ac+576|0;Ua=ac+572|0;Ya=ac+568|0;ea=ac+564|0;G=ac+560|0;ia=ac+556|0;Db=ac+552|0;Jb=ac+548|0;lb=ac+544|0;Bb=ac+540|0;kb=ac+796|0;fa=ac+536|0;ja=ac+532|0;H=ac+528|0;A=ac+516|0;I=ac+512|0;J=ac+508|0;_=ac+504|0;ca=ac+500|0;da=ac+496|0;ka=ac+492|0;K=ac+488|0;W=ac+484|0;Va=ac+480|0;_a=ac+476|0;Xa=ac+472|0;Wa=ac+468|0;Na=ac+464|0;Qa=ac+460|0;Sa=ac+456|0;eb=ac+452|0;ab=ac+448|0;$a=ac+444|0;bb=ac+440|0;Ka=ac+436|0;Ja=ac+432|0;La=ac+428|0;Oa=ac+424|0;mb=ac+420|0;rb=ac+416|0;hb=ac+412|0;Cb=ac+408|0;qb=ac+404|0;Tb=ac+400|0;Mb=ac+396|0;jb=ac+392|0;Kb=ac+388|0;Eb=ac+384|0;Lb=ac+380|0;Fb=ac+376|0;Gb=ac+372|0;Ib=ac+368|0;Ab=ac+364|0;ob=ac+360|0;pb=ac+356|0;Nb=ac+352|0;Ub=ac+348|0;sb=ac+344|0;ub=ac+340|0;tb=ac+336|0;vb=ac+332|0;wb=ac+328|0;xb=ac+324|0;ib=ac+320|0;Ob=ac+316|0;yb=ac+312|0;zb=ac+308|0;nb=ac+304|0;gb=ac+300|0;Ha=ac+296|0;P=ac+292|0;w=ac+288|0;x=ac+284|0;M=ac+280|0;Ca=ac+276|0;O=ac+272|0;F=ac+268|0;t=ac+8|0;u=ac;k[Xb>>2]=a;k[f>>2]=b;k[s>>2]=c;k[h>>2]=d;k[n>>2]=e;k[_b>>2]=0;k[$b>>2]=0;k[fb>>2]=0;k[Y>>2]=0;k[Zb>>2]=k[k[Xb>>2]>>2];d=Zw(k[Xb>>2]|0)|0;k[Yb>>2]=d;if(!(k[Yb>>2]|0)){r=ac;return}UB(k[Yb>>2]|0);k[(k[Xb>>2]|0)+76>>2]=2;d=Dz(k[Xb>>2]|0,k[f>>2]|0,k[s>>2]|0,g)|0;k[Wb>>2]=d;if((k[Wb>>2]|0)<0){r=ac;return}k[Fa>>2]=(k[(k[Zb>>2]|0)+16>>2]|0)+(k[Wb>>2]<<4);if((k[Wb>>2]|0)==1?(mx(k[Xb>>2]|0)|0)!=0:0){r=ac;return}d=Nw(k[Zb>>2]|0,k[g>>2]|0)|0;k[_b>>2]=d;if(!(k[_b>>2]|0)){r=ac;return}e=k[Zb>>2]|0;f=k[h>>2]|0;if(k[n>>2]|0){k[o>>2]=f;o=Lh(e,32915,o)|0;k[$b>>2]=o}else{o=Nw(e,f)|0;k[$b>>2]=o}if((k[(k[s>>2]|0)+4>>2]|0)>>>0>0)f=k[k[Fa>>2]>>2]|0;else f=0;k[fb>>2]=f;a:do if(!(Ww(k[Xb>>2]|0,19,k[_b>>2]|0,k[$b>>2]|0,k[fb>>2]|0)|0)){k[p>>2]=0;k[p+4>>2]=k[_b>>2];k[p+8>>2]=k[$b>>2];k[p+12>>2]=0;k[(k[Zb>>2]|0)+448+8>>2]=0;o=Pf(k[Zb>>2]|0,k[fb>>2]|0,14,p)|0;k[la>>2]=o;if(!(k[la>>2]|0)){VB(k[Yb>>2]|0,32919,k[p>>2]|0);Ud(k[p>>2]|0);break}if((k[la>>2]|0)!=12){if(k[p>>2]|0){Yb=k[Xb>>2]|0;k[q>>2]=k[p>>2];Kh(Yb,19255,q);Ud(k[p>>2]|0)}Yb=(k[Xb>>2]|0)+68|0;k[Yb>>2]=(k[Yb>>2]|0)+1;k[(k[Xb>>2]|0)+12>>2]=k[la>>2];break}k[X>>2]=0;k[ra>>2]=57;while(1){if((k[X>>2]|0)>(k[ra>>2]|0))break;k[Y>>2]=((k[X>>2]|0)+(k[ra>>2]|0)|0)/2|0;q=be(k[_b>>2]|0,k[5312+((k[Y>>2]|0)*12|0)>>2]|0)|0;k[la>>2]=q;if(!(k[la>>2]|0))break;f=k[Y>>2]|0;if((k[la>>2]|0)<0){k[ra>>2]=f-1;continue}else{k[X>>2]=f+1;continue}}if((k[X>>2]|0)<=(k[ra>>2]|0)){k[Hb>>2]=5312+((k[Y>>2]|0)*12|0);if((l[(k[Hb>>2]|0)+5>>0]&1|0)!=0?(zz(k[Xb>>2]|0)|0)!=0:0)break;do switch(l[(k[Hb>>2]|0)+4>>0]|0){case 11:{Rh(k[Yb>>2]|0,k[Wb>>2]|0);if(k[$b>>2]|0){Vb=Ij(Ui(k[$b>>2]|0)|0)|0;k[na>>2]=Vb;kx(k[Xb>>2]|0,0,k[Wb>>2]|0);dx(k[Yb>>2]|0,52,k[Wb>>2]|0,3,k[na>>2]|0)|0;k[(k[(k[Fa>>2]|0)+12>>2]|0)+80>>2]=k[na>>2];Jj(k[(k[Fa>>2]|0)+4>>2]|0,k[(k[(k[Fa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{WB(k[Yb>>2]|0,32926);Xb=(k[Xb>>2]|0)+76|0;k[Xb>>2]=(k[Xb>>2]|0)+2;Yb=Qh(k[Yb>>2]|0,9,32937,0)|0;k[v>>2]=Yb;k[(k[v>>2]|0)+4>>2]=k[Wb>>2];k[(k[v>>2]|0)+20+4>>2]=k[Wb>>2];k[(k[v>>2]|0)+120+4>>2]=2e3;break a}}case 25:{k[$>>2]=k[(k[Fa>>2]|0)+4>>2];if(k[$b>>2]|0){Yb=Ui(k[$b>>2]|0)|0;k[(k[Zb>>2]|0)+72>>2]=Yb;if(7!=(Hi(k[$>>2]|0,k[(k[Zb>>2]|0)+72>>2]|0,-1,0)|0))break a;th(k[Zb>>2]|0);break a}if(k[$>>2]|0)f=zg(k[$>>2]|0)|0;else f=0;k[Ga>>2]=f;Xb=k[Ga>>2]|0;XB(k[Yb>>2]|0,32973,Xb,((Xb|0)<0)<<31>>31);break a}case 26:{k[aa>>2]=k[(k[Fa>>2]|0)+4>>2];k[B>>2]=-1;if(k[$b>>2]|0){Xb=(Li(k[$b>>2]|0,0)|0)&255;k[B>>2]=Xb}b:do if((k[B>>2]|0)>=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[(k[Zb>>2]|0)+20>>2]|0))break b;FB(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[T>>2]<<4)+4>>2]|0,k[B>>2]|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);Xb=FB(k[aa>>2]|0,k[B>>2]|0)|0;k[B>>2]=Xb;Xb=k[B>>2]|0;XB(k[Yb>>2]|0,32983,Xb,((Xb|0)<0)<<31>>31);break a}case 23:{lx(k[Xb>>2]|0,k[Wb>>2]|0);f=(k[Xb>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[Pa>>2]=g;g=k[Yb>>2]|0;f=k[Wb>>2]|0;e=k[Pa>>2]|0;if((l[18477+(l[k[_b>>2]>>0]|0)>>0]|0)==112)$w(g,156,f,e)|0;else dx(g,157,f,e,Ij(Ui(k[$b>>2]|0)|0)|0)|0;$w(k[Yb>>2]|0,33,k[Pa>>2]|0,1)|0;YB(k[Yb>>2]|0,1);ZB(k[Yb>>2]|0,0,0,k[_b>>2]|0,-1)|0;break a}case 22:{k[Da>>2]=32997;Xb=_B(k[$b>>2]|0)|0;k[D>>2]=Xb;if((k[D>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0)k[D>>2]=l[(k[Zb>>2]|0)+67>>0];else{if(!(k[(k[s>>2]|0)+4>>2]|0)){k[U>>2]=2;while(1){if((k[U>>2]|0)>=(k[(k[Zb>>2]|0)+20>>2]|0))break;Xb=Yf(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[U>>2]<<4)+4>>2]|0)|0;k[ga>>2]=Xb;EB(k[ga>>2]|0,k[D>>2]|0)|0;k[U>>2]=(k[U>>2]|0)+1}i[(k[Zb>>2]|0)+67>>0]=k[D>>2]}Xb=Yf(k[(k[Fa>>2]|0)+4>>2]|0)|0;k[ga>>2]=Xb;Xb=EB(k[ga>>2]|0,k[D>>2]|0)|0;k[D>>2]=Xb}if((k[D>>2]|0)==1)k[Da>>2]=33004;VB(k[Yb>>2]|0,33014,k[Da>>2]|0);break a}case 19:{WB(k[Yb>>2]|0,33027);if(k[$b>>2]|0){Xb=Sf(k[$b>>2]|0)|0;k[Z>>2]=Xb;k[E>>2]=0;while(1){Xb=$B(k[E>>2]|0)|0;k[Ba>>2]=Xb;if(!Xb)break;if(!(Jd(k[$b>>2]|0,k[Ba>>2]|0,k[Z>>2]|0)|0))break;k[E>>2]=(k[E>>2]|0)+1}if(!(k[Ba>>2]|0))k[E>>2]=-1}else k[E>>2]=-1;if((k[E>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[Wb>>2]=0;k[(k[s>>2]|0)+4>>2]=1}k[V>>2]=(k[(k[Zb>>2]|0)+20>>2]|0)-1;while(1){if((k[V>>2]|0)<0)break;do if(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[V>>2]<<4)+4>>2]|0){if((k[V>>2]|0)!=(k[Wb>>2]|0)?(k[(k[s>>2]|0)+4>>2]|0)!=0:0)break;Rh(k[Yb>>2]|0,k[V>>2]|0);dx(k[Yb>>2]|0,9,k[V>>2]|0,1,k[E>>2]|0)|0}while(0);k[V>>2]=(k[V>>2]|0)+-1}$w(k[Yb>>2]|0,33,1,1)|0;break a}case 20:{Xb=Yf(k[(k[Fa>>2]|0)+4>>2]|0)|0;k[ha>>2]=Xb;Xb=R;k[Xb>>2]=-2;k[Xb+4>>2]=-1;if((k[$b>>2]|0)!=0?(Mi(k[$b>>2]|0,R)|0,Xb=R,Wb=k[Xb+4>>2]|0,(Wb|0)<-1|(Wb|0)==-1&(k[Xb>>2]|0)>>>0<4294967295):0){Xb=R;k[Xb>>2]=-1;k[Xb+4>>2]=-1}Wb=R;Wb=aC(k[ha>>2]|0,k[Wb>>2]|0,k[Wb+4>>2]|0)|0;Xb=R;k[Xb>>2]=Wb;k[Xb+4>>2]=L;Xb=R;XB(k[Yb>>2]|0,33040,k[Xb>>2]|0,k[Xb+4>>2]|0);break a}case 1:{k[ba>>2]=k[(k[Fa>>2]|0)+4>>2];if(!(k[$b>>2]|0)){Xb=k[Yb>>2]|0;Yb=bC(k[ba>>2]|0)|0;XB(Xb,33059,Yb,((Yb|0)<0)<<31>>31);break a}Xb=cC(k[$b>>2]|0)|0;k[C>>2]=Xb;i[(k[Zb>>2]|0)+68>>0]=k[C>>2];Xb=dC(k[ba>>2]|0,k[C>>2]|0)|0;k[la>>2]=Xb;if(k[la>>2]|0)break a;if(!((k[C>>2]|0)==1|(k[C>>2]|0)==2))break a;Xb=Lz(k[Yb>>2]|0)|0;k[N>>2]=Xb;Xb=Qh(k[Yb>>2]|0,5,33071,0)|0;k[y>>2]=Xb;k[(k[y>>2]|0)+4>>2]=k[Wb>>2];k[(k[y>>2]|0)+20+4>>2]=k[Wb>>2];k[(k[y>>2]|0)+40+8>>2]=(k[N>>2]|0)+4;k[(k[y>>2]|0)+80+4>>2]=k[Wb>>2];k[(k[y>>2]|0)+80+12>>2]=(k[C>>2]|0)-1;Rh(k[Yb>>2]|0,k[Wb>>2]|0);break a}case 15:{if(!((k[$b>>2]|0)!=0?(Vb=(Vi(k[$b>>2]|0,S)|0)==0,!(Vb|(k[S>>2]|0)<=0)):0))k[S>>2]=2147483647;kx(k[Xb>>2]|0,0,k[Wb>>2]|0);$w(k[Yb>>2]|0,22,k[S>>2]|0,1)|0;Xb=Hz(k[Yb>>2]|0,146,k[Wb>>2]|0)|0;k[z>>2]=Xb;Hz(k[Yb>>2]|0,33,1)|0;$w(k[Yb>>2]|0,37,1,-1)|0;$w(k[Yb>>2]|0,138,1,k[z>>2]|0)|0;Pz(k[Yb>>2]|0,k[z>>2]|0);break a}case 4:if(k[$b>>2]|0){Yb=Ui(k[$b>>2]|0)|0;k[oa>>2]=Yb;k[(k[(k[Fa>>2]|0)+12>>2]|0)+80>>2]=k[oa>>2];Jj(k[(k[Fa>>2]|0)+4>>2]|0,k[(k[(k[Fa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Xb=k[(k[(k[Fa>>2]|0)+12>>2]|0)+80>>2]|0;XB(k[Yb>>2]|0,32926,Xb,((Xb|0)<0)<<31>>31);break a}case 5:{if(!(k[$b>>2]|0)){e=k[Yb>>2]|0;if(!(k[(k[Zb>>2]|0)+24>>2]&32))f=0;else f=eC(k[(k[Fa>>2]|0)+4>>2]|0,0)|0;XB(e,33091,f,((f|0)<0)<<31>>31);break a}k[pa>>2]=1;if(Vi(k[$b>>2]|0,pa)|0)eC(k[(k[Fa>>2]|0)+4>>2]|0,k[pa>>2]|0)|0;Yb=(Li(k[$b>>2]|0,(k[pa>>2]|0)!=0&255)|0)<<24>>24!=0;f=(k[Zb>>2]|0)+24|0;e=k[f>>2]|0;if(Yb)k[f>>2]=e|32;else k[f>>2]=e&-33;fC(k[Zb>>2]|0);break a}case 24:{Wb=qa;k[Wb>>2]=0;k[Wb+4>>2]=0;k[la>>2]=0;if(!(k[la>>2]|0)){Xb=qa;XB(k[Yb>>2]|0,33103,k[Xb>>2]|0,k[Xb+4>>2]|0);break a}if((k[la>>2]|0)==12)break a;Yb=(k[Xb>>2]|0)+68|0;k[Yb>>2]=(k[Yb>>2]|0)+1;k[(k[Xb>>2]|0)+12>>2]=k[la>>2];break a}case 32:if(k[$b>>2]|0){gC(k[Xb>>2]|0,k[$b>>2]|0)|0;break a}else{XB(k[Yb>>2]|0,33113,l[(k[Zb>>2]|0)+64>>0]|0,0);break a}case 33:{if(!(k[$b>>2]|0)){VB(k[Yb>>2]|0,33124,k[241]|0);break a}if((i[k[$b>>2]>>0]|0)!=0?(Yb=Xr(k[k[Zb>>2]>>2]|0,k[$b>>2]|0,1,ma)|0,k[la>>2]=Yb,(k[la>>2]|0)!=0|(k[ma>>2]|0)==0):0){Kh(k[Xb>>2]|0,33145,sa);break a}if((l[(k[Zb>>2]|0)+64>>0]|0)<=1)hC(k[Xb>>2]|0)|0;Ud(k[241]|0);if(i[k[$b>>2]>>0]|0){k[ta>>2]=k[$b>>2];Yb=Yd(19255,ta)|0;k[241]=Yb;break a}else{k[241]=0;break a}}case 30:{if(!(k[$b>>2]|0)){Xb=(l[(k[Fa>>2]|0)+8>>0]|0)-1|0;XB(k[Yb>>2]|0,33170,Xb,((Xb|0)<0)<<31>>31);break a}if(i[(k[Zb>>2]|0)+63>>0]|0){Yb=((Ti(k[$b>>2]|0,0,1)|0)&255)+1&7;k[Q>>2]=Yb;k[Q>>2]=(k[Q>>2]|0)==0?1:Yb;i[(k[Fa>>2]|0)+8>>0]=k[Q>>2];fC(k[Zb>>2]|0);break a}else{Kh(k[Xb>>2]|0,33182,ua);break a}}case 2:{if(!(k[$b>>2]|0)){Xb=(k[(k[Zb>>2]|0)+24>>2]&k[(k[Hb>>2]|0)+8>>2]|0)!=0&1;XB(k[Yb>>2]|0,k[k[Hb>>2]>>2]|0,Xb,((Xb|0)<0)<<31>>31);break a}k[Ea>>2]=k[(k[Hb>>2]|0)+8>>2];if(!(l[(k[Zb>>2]|0)+63>>0]|0))k[Ea>>2]=k[Ea>>2]&-524289;Xb=(Li(k[$b>>2]|0,0)|0)<<24>>24!=0;f=k[Ea>>2]|0;if(!Xb){Xb=(k[Zb>>2]|0)+24|0;k[Xb>>2]=k[Xb>>2]&~f;if((k[Ea>>2]|0)==16777216){Xb=(k[Zb>>2]|0)+520|0;k[Xb>>2]=0;k[Xb+4>>2]=0}}else{Xb=(k[Zb>>2]|0)+24|0;k[Xb>>2]=k[Xb>>2]|f}$w(k[Yb>>2]|0,147,0,0)|0;fC(k[Zb>>2]|0);break a}case 31:{if(!(k[$b>>2]|0))break a;Vb=zi(k[Zb>>2]|0,k[$b>>2]|0,k[fb>>2]|0)|0;k[Za>>2]=Vb;if(!(k[Za>>2]|0))break a;k[Ta>>2]=0;Vb=Oj(k[Za>>2]|0)|0;k[Ya>>2]=Vb;k[(k[Xb>>2]|0)+76>>2]=6;lx(k[Xb>>2]|0,k[Wb>>2]|0);iC(k[Yb>>2]|0,6,6008);Jx(k[Xb>>2]|0,k[Za>>2]|0)|0;k[Ma>>2]=0;k[Ua>>2]=k[(k[Za>>2]|0)+4>>2];while(1){if((k[Ma>>2]|0)>=(j[(k[Za>>2]|0)+34>>1]|0))break a;if(l[(k[Ua>>2]|0)+23>>0]&2)k[Ta>>2]=(k[Ta>>2]|0)+1;else{c:do if(!(l[(k[Ua>>2]|0)+23>>0]&1))k[Ra>>2]=0;else{Xb=(k[Ya>>2]|0)==0;k[Ra>>2]=1;if(Xb)break;while(1){if((k[Ra>>2]|0)>(j[(k[Za>>2]|0)+34>>1]|0))break c;if((j[(k[(k[Ya>>2]|0)+4>>2]|0)+((k[Ra>>2]|0)-1<<1)>>1]|0)==(k[Ma>>2]|0))break c;k[Ra>>2]=(k[Ra>>2]|0)+1}}while(0);f=k[Yb>>2]|0;e=k[k[Ua>>2]>>2]|0;if(k[(k[Ua>>2]|0)+12>>2]|0)g=k[(k[Ua>>2]|0)+12>>2]|0;else g=19266;Vb=(l[(k[Ua>>2]|0)+20>>0]|0)!=0?1:0;Wb=k[(k[Ua>>2]|0)+8>>2]|0;Xb=k[Ra>>2]|0;k[cb>>2]=(k[Ma>>2]|0)-(k[Ta>>2]|0);k[cb+4>>2]=e;k[cb+8>>2]=g;k[cb+12>>2]=Vb;k[cb+16>>2]=Wb;k[cb+20>>2]=Xb;jC(f,1,33235,cb);$w(k[Yb>>2]|0,33,1,6)|0}k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ua>>2]=(k[Ua>>2]|0)+24}}case 29:{Vb=Zw(k[Xb>>2]|0)|0;k[Yb>>2]=Vb;k[(k[Xb>>2]|0)+76>>2]=4;lx(k[Xb>>2]|0,k[Wb>>2]|0);iC(k[Yb>>2]|0,4,6032);k[G>>2]=k[(k[(k[Fa>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[G>>2]|0))break a;k[ia>>2]=k[(k[G>>2]|0)+8>>2];Xb=k[Yb>>2]|0;Ub=k[k[ia>>2]>>2]|0;Vb=kC(j[(k[ia>>2]|0)+40>>1]|0)|0;Wb=kC(j[(k[ia>>2]|0)+38>>1]|0)|0;k[va>>2]=Ub;k[va+4>>2]=0;k[va+8>>2]=Vb;k[va+12>>2]=Wb;jC(Xb,1,33242,va);$w(k[Yb>>2]|0,33,1,4)|0;k[ea>>2]=k[(k[ia>>2]|0)+8>>2];while(1){if(!(k[ea>>2]|0))break;Xb=k[Yb>>2]|0;Ub=k[k[ea>>2]>>2]|0;Vb=kC(j[(k[ea>>2]|0)+48>>1]|0)|0;Wb=kC(j[k[(k[ea>>2]|0)+8>>2]>>1]|0)|0;k[wa>>2]=Ub;k[wa+4>>2]=Vb;k[wa+8>>2]=Wb;jC(Xb,2,33247,wa);$w(k[Yb>>2]|0,33,1,4)|0;k[ea>>2]=k[(k[ea>>2]|0)+20>>2]}k[G>>2]=k[k[G>>2]>>2]}}case 16:{if(!(k[$b>>2]|0))break a;Vb=Pj(k[Zb>>2]|0,k[$b>>2]|0,k[fb>>2]|0)|0;k[Db>>2]=Vb;if(!(k[Db>>2]|0))break a;f=k[Db>>2]|0;if(k[(k[Hb>>2]|0)+8>>2]|0){k[Bb>>2]=m[f+52>>1];k[(k[Xb>>2]|0)+76>>2]=6}else{k[Bb>>2]=m[f+50>>1];k[(k[Xb>>2]|0)+76>>2]=3}k[Jb>>2]=k[(k[Db>>2]|0)+12>>2];lx(k[Xb>>2]|0,k[Wb>>2]|0);iC(k[Yb>>2]|0,k[(k[Xb>>2]|0)+76>>2]|0,6048);k[lb>>2]=0;while(1){if((k[lb>>2]|0)>=(k[Bb>>2]|0))break a;j[kb>>1]=j[(k[(k[Db>>2]|0)+4>>2]|0)+(k[lb>>2]<<1)>>1]|0;f=k[Yb>>2]|0;e=j[kb>>1]|0;if((j[kb>>1]|0)<0)g=0;else g=k[(k[(k[Jb>>2]|0)+4>>2]|0)+((j[kb>>1]|0)*24|0)>>2]|0;k[Pb>>2]=k[lb>>2];k[Pb+4>>2]=e;k[Pb+8>>2]=g;jC(f,1,33251,Pb);if(k[(k[Hb>>2]|0)+8>>2]|0){Wb=k[Yb>>2]|0;Ub=k[(k[(k[Db>>2]|0)+32>>2]|0)+(k[lb>>2]<<2)>>2]|0;Vb=(k[lb>>2]|0)<(m[(k[Db>>2]|0)+50>>1]|0)&1;k[Qb>>2]=l[(k[(k[Db>>2]|0)+28>>2]|0)+(k[lb>>2]|0)>>0];k[Qb+4>>2]=Ub;k[Qb+8>>2]=Vb;jC(Wb,4,33255,Qb)}$w(k[Yb>>2]|0,33,1,k[(k[Xb>>2]|0)+76>>2]|0)|0;k[lb>>2]=(k[lb>>2]|0)+1}}case 17:{if(!(k[$b>>2]|0))break a;Vb=zi(k[Zb>>2]|0,k[$b>>2]|0,k[fb>>2]|0)|0;k[ja>>2]=Vb;if(!(k[ja>>2]|0))break a;Vb=Zw(k[Xb>>2]|0)|0;k[Yb>>2]=Vb;k[(k[Xb>>2]|0)+76>>2]=5;lx(k[Xb>>2]|0,k[Wb>>2]|0);iC(k[Yb>>2]|0,5,6072);k[fa>>2]=k[(k[ja>>2]|0)+8>>2];k[H>>2]=0;while(1){if(!(k[fa>>2]|0))break a;k[A>>2]=k[1523];k[A+4>>2]=k[1524];k[A+8>>2]=k[1525];Xb=k[Yb>>2]|0;Tb=k[k[fa>>2]>>2]|0;Ub=(l[(k[fa>>2]|0)+54>>0]|0)!=0&1;Vb=k[A+((i[(k[fa>>2]|0)+55>>0]&3)<<2)>>2]|0;Wb=(k[(k[fa>>2]|0)+36>>2]|0)!=0&1;k[xa>>2]=k[H>>2];k[xa+4>>2]=Tb;k[xa+8>>2]=Ub;k[xa+12>>2]=Vb;k[xa+16>>2]=Wb;jC(Xb,1,33259,xa);$w(k[Yb>>2]|0,33,1,5)|0;k[fa>>2]=k[(k[fa>>2]|0)+20>>2];k[H>>2]=(k[H>>2]|0)+1}}case 10:{k[(k[Xb>>2]|0)+76>>2]=3;iC(k[Yb>>2]|0,3,6104);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[Zb>>2]|0)+20>>2]|0))break a;if(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0){Xb=k[Yb>>2]|0;Ub=k[I>>2]|0;Vb=k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2]|0;Wb=Ni(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0)|0;k[ya>>2]=Ub;k[ya+4>>2]=Vb;k[ya+8>>2]=Wb;jC(Xb,1,33265,ya);$w(k[Yb>>2]|0,33,1,3)|0}k[I>>2]=(k[I>>2]|0)+1}}case 7:{k[J>>2]=0;k[(k[Xb>>2]|0)+76>>2]=2;iC(k[Yb>>2]|0,2,6116);k[_>>2]=k[(k[Zb>>2]|0)+432+8>>2];while(1){if(!(k[_>>2]|0))break a;k[ca>>2]=k[(k[_>>2]|0)+8>>2];Xb=k[Yb>>2]|0;Vb=k[J>>2]|0;k[J>>2]=Vb+1;Wb=k[k[ca>>2]>>2]|0;k[za>>2]=Vb;k[za+4>>2]=Wb;jC(Xb,1,33269,za);$w(k[Yb>>2]|0,33,1,2)|0;k[_>>2]=k[k[_>>2]>>2]}}case 14:{if(!(k[$b>>2]|0))break a;Vb=zi(k[Zb>>2]|0,k[$b>>2]|0,k[fb>>2]|0)|0;k[ka>>2]=Vb;if(!(k[ka>>2]|0))break a;Vb=Zw(k[Xb>>2]|0)|0;k[Yb>>2]=Vb;k[da>>2]=k[(k[ka>>2]|0)+16>>2];if(!(k[da>>2]|0))break a;k[K>>2]=0;k[(k[Xb>>2]|0)+76>>2]=8;lx(k[Xb>>2]|0,k[Wb>>2]|0);iC(k[Yb>>2]|0,8,6124);while(1){if(!(k[da>>2]|0))break a;k[W>>2]=0;while(1){if((k[W>>2]|0)>=(k[(k[da>>2]|0)+20>>2]|0))break;Xb=k[Yb>>2]|0;Qb=k[K>>2]|0;Rb=k[W>>2]|0;Sb=k[(k[da>>2]|0)+8>>2]|0;Tb=k[(k[(k[ka>>2]|0)+4>>2]|0)+((k[(k[da>>2]|0)+36+(k[W>>2]<<3)>>2]|0)*24|0)>>2]|0;Ub=k[(k[da>>2]|0)+36+(k[W>>2]<<3)+4>>2]|0;Vb=lC(i[(k[da>>2]|0)+25+1>>0]|0)|0;Wb=lC(i[(k[da>>2]|0)+25>>0]|0)|0;k[Aa>>2]=Qb;k[Aa+4>>2]=Rb;k[Aa+8>>2]=Sb;k[Aa+12>>2]=Tb;k[Aa+16>>2]=Ub;k[Aa+20>>2]=Vb;k[Aa+24>>2]=Wb;k[Aa+28>>2]=33281;jC(Xb,1,33272,Aa);$w(k[Yb>>2]|0,33,1,8)|0;k[W>>2]=(k[W>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1;k[da>>2]=k[(k[da>>2]|0)+4>>2]}}case 13:{k[ab>>2]=(k[(k[Xb>>2]|0)+76>>2]|0)+1;Ub=(k[Xb>>2]|0)+76|0;k[Ub>>2]=(k[Ub>>2]|0)+4;Ub=(k[Xb>>2]|0)+76|0;Tb=(k[Ub>>2]|0)+1|0;k[Ub>>2]=Tb;k[$a>>2]=Tb;Tb=(k[Xb>>2]|0)+76|0;Ub=(k[Tb>>2]|0)+1|0;k[Tb>>2]=Ub;k[bb>>2]=Ub;Ub=Zw(k[Xb>>2]|0)|0;k[Yb>>2]=Ub;iC(k[Yb>>2]|0,4,6156);lx(k[Xb>>2]|0,k[Wb>>2]|0);k[Sa>>2]=k[(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[Wb>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[Sa>>2]|0))break a;if(k[$b>>2]|0){Ub=Jh(k[Xb>>2]|0,0,k[$b>>2]|0,k[fb>>2]|0)|0;k[_a>>2]=Ub;k[Sa>>2]=0}else{k[_a>>2]=k[(k[Sa>>2]|0)+8>>2];k[Sa>>2]=k[k[Sa>>2]>>2]}if(!(k[_a>>2]|0))continue;if(!(k[(k[_a>>2]|0)+16>>2]|0))continue;Iz(k[Xb>>2]|0,k[Wb>>2]|0,k[(k[_a>>2]|0)+28>>2]|0,0,k[k[_a>>2]>>2]|0);if(((j[(k[_a>>2]|0)+34>>1]|0)+(k[bb>>2]|0)|0)>(k[(k[Xb>>2]|0)+76>>2]|0))k[(k[Xb>>2]|0)+76>>2]=(j[(k[_a>>2]|0)+34>>1]|0)+(k[bb>>2]|0);Jz(k[Xb>>2]|0,0,k[Wb>>2]|0,k[_a>>2]|0,54);bx(k[Yb>>2]|0,k[ab>>2]|0,k[k[_a>>2]>>2]|0)|0;k[Na>>2]=1;k[Va>>2]=k[(k[_a>>2]|0)+16>>2];d:while(1){if(!(k[Va>>2]|0))break;Ub=zi(k[Zb>>2]|0,k[(k[Va>>2]|0)+8>>2]|0,k[fb>>2]|0)|0;k[Xa>>2]=Ub;do if(k[Xa>>2]|0){k[Wa>>2]=0;Iz(k[Xb>>2]|0,k[Wb>>2]|0,k[(k[Xa>>2]|0)+28>>2]|0,0,k[k[Xa>>2]>>2]|0);Ub=mC(k[Xb>>2]|0,k[Xa>>2]|0,k[Va>>2]|0,Wa,0)|0;k[eb>>2]=Ub;if(k[eb>>2]|0){Vb=207;break d}if(!(k[Wa>>2]|0)){Jz(k[Xb>>2]|0,k[Na>>2]|0,k[Wb>>2]|0,k[Xa>>2]|0,54);break}else{dx(k[Yb>>2]|0,54,k[Na>>2]|0,k[(k[Wa>>2]|0)+44>>2]|0,k[Wb>>2]|0)|0;Kz(k[Xb>>2]|0,k[Wa>>2]|0);break}}while(0);k[Na>>2]=(k[Na>>2]|0)+1;k[Va>>2]=k[(k[Va>>2]|0)+4>>2]}if((Vb|0)==207){Vb=0;k[Sa>>2]=0}if(k[Va>>2]|0)break a;if((k[(k[Xb>>2]|0)+72>>2]|0)<(k[Na>>2]|0))k[(k[Xb>>2]|0)+72>>2]=k[Na>>2];Ub=Hz(k[Yb>>2]|0,108,0)|0;k[Ka>>2]=Ub;k[Na>>2]=1;k[Va>>2]=k[(k[_a>>2]|0)+16>>2];while(1){if(!(k[Va>>2]|0))break;Ub=zi(k[Zb>>2]|0,k[(k[Va>>2]|0)+8>>2]|0,k[fb>>2]|0)|0;k[Xa>>2]=Ub;k[Wa>>2]=0;k[La>>2]=0;if(k[Xa>>2]|0){Ub=mC(k[Xb>>2]|0,k[Xa>>2]|0,k[Va>>2]|0,Wa,La)|0;k[eb>>2]=Ub}Ub=Mz(k[Yb>>2]|0)|0;k[Ja>>2]=Ub;do if((k[Xa>>2]|0)!=0&(k[Wa>>2]|0)==0){k[Oa>>2]=k[(k[Va>>2]|0)+36>>2];f=k[Yb>>2]|0;if((k[Oa>>2]|0)!=(j[(k[_a>>2]|0)+32>>1]|0)){dx(f,47,0,k[Oa>>2]|0,k[bb>>2]|0)|0;FA(k[Yb>>2]|0,k[_a>>2]|0,k[Oa>>2]|0,k[bb>>2]|0);$w(k[Yb>>2]|0,76,k[bb>>2]|0,k[Ja>>2]|0)|0;Tb=k[Yb>>2]|0;Ub=k[bb>>2]|0;$w(Tb,38,Ub,(Lz(k[Yb>>2]|0)|0)+3|0)|0}else $w(f,103,0,k[bb>>2]|0)|0;dx(k[Yb>>2]|0,70,k[Na>>2]|0,0,k[bb>>2]|0)|0;Oz(k[Yb>>2]|0,k[Ja>>2]|0)|0;Ub=k[Yb>>2]|0;Pz(Ub,(Lz(k[Yb>>2]|0)|0)-2|0)}else{k[Qa>>2]=0;while(1){if((k[Qa>>2]|0)>=(k[(k[Va>>2]|0)+20>>2]|0))break;f=k[Qa>>2]|0;if(k[La>>2]|0)f=k[(k[La>>2]|0)+(f<<2)>>2]|0;else f=k[(k[Va>>2]|0)+36+(f<<3)>>2]|0;DA(k[Yb>>2]|0,k[_a>>2]|0,0,f,(k[bb>>2]|0)+(k[Qa>>2]|0)|0);$w(k[Yb>>2]|0,76,(k[bb>>2]|0)+(k[Qa>>2]|0)|0,k[Ja>>2]|0)|0;k[Qa>>2]=(k[Qa>>2]|0)+1}if(!(k[Xa>>2]|0))break;Qb=k[Yb>>2]|0;Rb=k[bb>>2]|0;Sb=k[(k[Va>>2]|0)+20>>2]|0;Tb=k[$a>>2]|0;Ub=nC(k[Zb>>2]|0,k[Wa>>2]|0)|0;cx(Qb,49,Rb,Sb,Tb,Ub,k[(k[Va>>2]|0)+20>>2]|0)|0;Oh(k[Yb>>2]|0,69,k[Na>>2]|0,k[Ja>>2]|0,k[$a>>2]|0,0)|0}while(0);$w(k[Yb>>2]|0,103,0,(k[ab>>2]|0)+1|0)|0;Tb=k[Yb>>2]|0;Ub=(k[ab>>2]|0)+2|0;Sb=(k[Na>>2]|0)-1|0;k[db>>2]=k[(k[Va>>2]|0)+8>>2];k[db+4>>2]=Sb;jC(Tb,Ub,33286,db);$w(k[Yb>>2]|0,33,k[ab>>2]|0,4)|0;Qz(k[Yb>>2]|0,k[Ja>>2]|0);ag(k[Zb>>2]|0,k[La>>2]|0);k[Na>>2]=(k[Na>>2]|0)+1;k[Va>>2]=k[(k[Va>>2]|0)+4>>2]}$w(k[Yb>>2]|0,7,0,(k[Ka>>2]|0)+1|0)|0;Pz(k[Yb>>2]|0,k[Ka>>2]|0)}}case 6:{if(!(k[$b>>2]|0))break a;Yb=k[Zb>>2]|0;oC(Yb,(Li(k[$b>>2]|0,0)|0)&255);break a}case 18:{k[qb>>2]=(l[18477+(l[k[_b>>2]>>0]|0)>>0]|0)==113&1;if(!(k[k[s>>2]>>2]|0))k[Wb>>2]=-1;k[(k[Xb>>2]|0)+76>>2]=6;WB(k[Yb>>2]|0,33289);k[Cb>>2]=100;if((k[$b>>2]|0)!=0?(Vi(k[$b>>2]|0,Cb)|0,(k[Cb>>2]|0)<=0):0)k[Cb>>2]=100;$w(k[Yb>>2]|0,22,k[Cb>>2]|0,1)|0;k[mb>>2]=0;while(1){if((k[mb>>2]|0)>=(k[(k[Zb>>2]|0)+20>>2]|0))break;k[jb>>2]=0;if(!((k[Wb>>2]|0)>=0?(k[mb>>2]|0)!=(k[Wb>>2]|0):0))Vb=242;e:do if((Vb|0)==242){Vb=0;lx(k[Xb>>2]|0,k[mb>>2]|0);Qb=Hz(k[Yb>>2]|0,138,1)|0;k[hb>>2]=Qb;$w(k[Yb>>2]|0,21,0,0)|0;Pz(k[Yb>>2]|0,k[hb>>2]|0);k[Mb>>2]=(k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[mb>>2]<<4)+12>>2]|0)+8;k[Tb>>2]=k[(k[Mb>>2]|0)+8>>2];while(1){if(!(k[Tb>>2]|0))break;k[Kb>>2]=k[(k[Tb>>2]|0)+8>>2];if(!(l[(k[Kb>>2]|0)+42>>0]&32)){$w(k[Yb>>2]|0,22,k[(k[Kb>>2]|0)+28>>2]|0,2+(k[jb>>2]|0)|0)|0;k[jb>>2]=(k[jb>>2]|0)+1}k[Eb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Eb>>2]|0))break;$w(k[Yb>>2]|0,22,k[(k[Eb>>2]|0)+44>>2]|0,2+(k[jb>>2]|0)|0)|0;k[jb>>2]=(k[jb>>2]|0)+1;k[Eb>>2]=k[(k[Eb>>2]|0)+20>>2]}k[Tb>>2]=k[k[Tb>>2]>>2]}if((k[(k[Xb>>2]|0)+76>>2]|0)>((k[jb>>2]|0)+8|0))f=k[(k[Xb>>2]|0)+76>>2]|0;else f=(k[jb>>2]|0)+8|0;k[(k[Xb>>2]|0)+76>>2]=f;dx(k[Yb>>2]|0,128,2,k[jb>>2]|0,1)|0;Ph(k[Yb>>2]|0,k[mb>>2]&255);Pb=Hz(k[Yb>>2]|0,76,2)|0;k[hb>>2]=Pb;Pb=k[Yb>>2]|0;Qb=k[Zb>>2]|0;k[Rb>>2]=k[(k[(k[Zb>>2]|0)+16>>2]|0)+(k[mb>>2]<<4)>>2];cx(Pb,97,0,3,0,Lh(Qb,33305,Rb)|0,-1)|0;dx(k[Yb>>2]|0,29,2,4,1)|0;dx(k[Yb>>2]|0,94,4,3,2)|0;$w(k[Yb>>2]|0,33,2,1)|0;Pz(k[Yb>>2]|0,k[hb>>2]|0);k[Tb>>2]=k[(k[Mb>>2]|0)+8>>2];while(1){if(!(k[Tb>>2]|0))break e;if(!((k[qb>>2]|0)!=0^1))break e;k[Lb>>2]=k[(k[Tb>>2]|0)+8>>2];k[Ib>>2]=0;k[Nb>>2]=-1;f:do if(k[(k[Lb>>2]|0)+8>>2]|0){if(!(l[(k[Lb>>2]|0)+42>>0]&32))f=0;else f=Oj(k[Lb>>2]|0)|0;k[Gb>>2]=f;Qb=Hz(k[Yb>>2]|0,138,1)|0;k[hb>>2]=Qb;$w(k[Yb>>2]|0,21,0,0)|0;Pz(k[Yb>>2]|0,k[hb>>2]|0);pC(k[Xb>>2]|0);qC(k[Xb>>2]|0,k[Lb>>2]|0,54,0,1,0,ob,pb)|0;$w(k[Yb>>2]|0,22,0,7)|0;k[rb>>2]=0;k[Fb>>2]=k[(k[Lb>>2]|0)+8>>2];while(1){if(!(k[Fb>>2]|0))break;$w(k[Yb>>2]|0,22,0,8+(k[rb>>2]|0)|0)|0;k[Fb>>2]=k[(k[Fb>>2]|0)+20>>2];k[rb>>2]=(k[rb>>2]|0)+1}if((k[(k[Xb>>2]|0)+76>>2]|0)>(8+(k[rb>>2]|0)|0))f=k[(k[Xb>>2]|0)+76>>2]|0;else f=8+(k[rb>>2]|0)|0;k[(k[Xb>>2]|0)+76>>2]=f;$w(k[Yb>>2]|0,108,k[ob>>2]|0,0)|0;Qb=$w(k[Yb>>2]|0,37,7,1)|0;k[Ab>>2]=Qb;k[rb>>2]=0;while(1){if((k[rb>>2]|0)>=(j[(k[Lb>>2]|0)+34>>1]|0))break;do if((k[rb>>2]|0)!=(j[(k[Lb>>2]|0)+32>>1]|0)){if(!(l[(k[(k[Lb>>2]|0)+4>>2]|0)+((k[rb>>2]|0)*24|0)+20>>0]|0))break;DA(k[Yb>>2]|0,k[Lb>>2]|0,k[ob>>2]|0,k[rb>>2]|0,3);Ph(k[Yb>>2]|0,-128);Qb=Hz(k[Yb>>2]|0,77,3)|0;k[sb>>2]=Qb;$w(k[Yb>>2]|0,37,1,-1)|0;Qb=k[Zb>>2]|0;Pb=k[(k[(k[Lb>>2]|0)+4>>2]|0)+((k[rb>>2]|0)*24|0)>>2]|0;k[Sb>>2]=k[k[Lb>>2]>>2];k[Sb+4>>2]=Pb;Qb=Lh(Qb,33329,Sb)|0;k[Ub>>2]=Qb;cx(k[Yb>>2]|0,97,0,3,0,k[Ub>>2]|0,-1)|0;$w(k[Yb>>2]|0,33,3,1)|0;Qb=Hz(k[Yb>>2]|0,138,1)|0;k[ub>>2]=Qb;gx(k[Yb>>2]|0,21)|0;Pz(k[Yb>>2]|0,k[sb>>2]|0);Pz(k[Yb>>2]|0,k[ub>>2]|0)}while(0);k[rb>>2]=(k[rb>>2]|0)+1}k[rb>>2]=0;k[Fb>>2]=k[(k[Lb>>2]|0)+8>>2];while(1){f=k[Yb>>2]|0;if(!(k[Fb>>2]|0))break;Qb=Mz(f)|0;k[ib>>2]=Qb;if((k[Gb>>2]|0)!=(k[Fb>>2]|0)){Qb=fA(k[Xb>>2]|0,k[Fb>>2]|0,k[ob>>2]|0,0,0,vb,k[Ib>>2]|0,k[Nb>>2]|0)|0;k[Nb>>2]=Qb;k[Ib>>2]=k[Fb>>2];$w(k[Yb>>2]|0,37,8+(k[rb>>2]|0)|0,1)|0;Qb=Oh(k[Yb>>2]|0,69,(k[pb>>2]|0)+(k[rb>>2]|0)|0,k[ib>>2]|0,k[Nb>>2]|0,m[(k[Fb>>2]|0)+52>>1]|0)|0;k[tb>>2]=Qb;$w(k[Yb>>2]|0,37,1,-1)|0;bx(k[Yb>>2]|0,3,33349)|0;dx(k[Yb>>2]|0,94,7,3,3)|0;bx(k[Yb>>2]|0,4,33354)|0;dx(k[Yb>>2]|0,94,4,3,3)|0;Qb=bx(k[Yb>>2]|0,4,k[k[Fb>>2]>>2]|0)|0;k[xb>>2]=Qb;dx(k[Yb>>2]|0,94,4,3,3)|0;$w(k[Yb>>2]|0,33,3,1)|0;Qb=Hz(k[Yb>>2]|0,138,1)|0;k[wb>>2]=Qb;gx(k[Yb>>2]|0,21)|0;Pz(k[Yb>>2]|0,k[tb>>2]|0);if(l[(k[Fb>>2]|0)+54>>0]|0){Qb=Mz(k[Yb>>2]|0)|0;k[Ob>>2]=Qb;k[zb>>2]=0;while(1){if((k[zb>>2]|0)>=(m[(k[Fb>>2]|0)+50>>1]|0))break;k[nb>>2]=j[(k[(k[Fb>>2]|0)+4>>2]|0)+(k[zb>>2]<<1)>>1];if(!((k[nb>>2]|0)>=0?(l[(k[(k[Lb>>2]|0)+4>>2]|0)+((k[nb>>2]|0)*24|0)+20>>0]|0)!=0:0))$w(k[Yb>>2]|0,76,(k[Nb>>2]|0)+(k[zb>>2]|0)|0,k[Ob>>2]|0)|0;k[zb>>2]=(k[zb>>2]|0)+1}Qb=Hz(k[Yb>>2]|0,7,(k[pb>>2]|0)+(k[rb>>2]|0)|0)|0;k[yb>>2]=Qb;Oz(k[Yb>>2]|0,k[Ob>>2]|0)|0;Pz(k[Yb>>2]|0,k[yb>>2]|0);Oh(k[Yb>>2]|0,115,(k[pb>>2]|0)+(k[rb>>2]|0)|0,k[Ob>>2]|0,k[Nb>>2]|0,m[(k[Fb>>2]|0)+50>>1]|0)|0;$w(k[Yb>>2]|0,37,1,-1)|0;bx(k[Yb>>2]|0,3,33375)|0;Oz(k[Yb>>2]|0,k[xb>>2]|0)|0;Qz(k[Yb>>2]|0,k[Ob>>2]|0)}Pz(k[Yb>>2]|0,k[wb>>2]|0);gA(k[Xb>>2]|0,k[vb>>2]|0)}k[Fb>>2]=k[(k[Fb>>2]|0)+20>>2];k[rb>>2]=(k[rb>>2]|0)+1}$w(f,7,k[ob>>2]|0,k[Ab>>2]|0)|0;Pz(k[Yb>>2]|0,(k[Ab>>2]|0)-1|0);bx(k[Yb>>2]|0,2,33402)|0;k[rb>>2]=0;k[Fb>>2]=k[(k[Lb>>2]|0)+8>>2];while(1){if(!(k[Fb>>2]|0))break f;if((k[Gb>>2]|0)!=(k[Fb>>2]|0)){Qb=Lz(k[Yb>>2]|0)|0;k[hb>>2]=Qb;$w(k[Yb>>2]|0,138,1,(k[hb>>2]|0)+2|0)|0;$w(k[Yb>>2]|0,21,0,0)|0;$w(k[Yb>>2]|0,50,(k[pb>>2]|0)+(k[rb>>2]|0)|0,3)|0;dx(k[Yb>>2]|0,79,8+(k[rb>>2]|0)|0,(k[hb>>2]|0)+8|0,3)|0;Ph(k[Yb>>2]|0,-112);$w(k[Yb>>2]|0,37,1,-1)|0;bx(k[Yb>>2]|0,3,k[k[Fb>>2]>>2]|0)|0;dx(k[Yb>>2]|0,94,3,2,7)|0;$w(k[Yb>>2]|0,33,7,1)|0}k[Fb>>2]=k[(k[Fb>>2]|0)+20>>2];k[rb>>2]=(k[rb>>2]|0)+1}}while(0);k[Tb>>2]=k[k[Tb>>2]>>2]}}while(0);k[mb>>2]=(k[mb>>2]|0)+1}Yb=Qh(k[Yb>>2]|0,4,33431,0)|0;k[gb>>2]=Yb;if(!(k[gb>>2]|0))break a;k[(k[gb>>2]|0)+8>>2]=0-(k[Cb>>2]|0);i[(k[gb>>2]|0)+40+1>>0]=-2;k[(k[gb>>2]|0)+40+16>>2]=33447;break a}case 12:{if(!(k[$b>>2]|0)){if(zz(k[Xb>>2]|0)|0)break a;VB(k[Yb>>2]|0,33450,k[6172+(l[(k[k[Xb>>2]>>2]|0)+62>>0]<<3)>>2]|0);break a}if((m[(k[(k[(k[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(m[(k[(k[(k[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;k[Ha>>2]=6172;while(1){if(!(k[k[Ha>>2]>>2]|0))break;Yb=0==(be(k[$b>>2]|0,k[k[Ha>>2]>>2]|0)|0);f=k[Ha>>2]|0;if(Yb){Vb=301;break}k[Ha>>2]=f+8}if((Vb|0)==301){if(l[f+4>>0]|0)f=l[(k[Ha>>2]|0)+4>>0]|0;else f=(i[960]|0)==0?3:2;Yb=f&255;i[(k[Zb>>2]|0)+62>>0]=Yb;i[(k[(k[(k[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=Yb}if(k[k[Ha>>2]>>2]|0)break a;Yb=k[Xb>>2]|0;k[Ia>>2]=k[$b>>2];Kh(Yb,33459,Ia);break a}case 0:{k[P>>2]=k[(k[Hb>>2]|0)+8>>2];Rh(k[Yb>>2]|0,k[Wb>>2]|0);if((k[$b>>2]|0)!=0?(l[(k[Hb>>2]|0)+5>>0]&2|0)==0:0){Yb=Qh(k[Yb>>2]|0,2,33484,0)|0;k[w>>2]=Yb;k[(k[w>>2]|0)+4>>2]=k[Wb>>2];k[(k[w>>2]|0)+20+4>>2]=k[Wb>>2];k[(k[w>>2]|0)+20+8>>2]=k[P>>2];Yb=Ui(k[$b>>2]|0)|0;k[(k[w>>2]|0)+20+12>>2]=Yb;break a}Xb=Qh(k[Yb>>2]|0,3,33492,0)|0;k[x>>2]=Xb;k[(k[x>>2]|0)+4>>2]=k[Wb>>2];k[(k[x>>2]|0)+20+4>>2]=k[Wb>>2];k[(k[x>>2]|0)+20+12>>2]=k[P>>2];YB(k[Yb>>2]|0,1);ZB(k[Yb>>2]|0,0,0,k[_b>>2]|0,-1)|0;break a}case 8:{k[M>>2]=0;k[(k[Xb>>2]|0)+76>>2]=1;WB(k[Yb>>2]|0,33504);while(1){Xb=k[M>>2]|0;k[M>>2]=Xb+1;Xb=Kd(Xb)|0;k[Ca>>2]=Xb;if(!Xb)break a;bx(k[Yb>>2]|0,1,k[Ca>>2]|0)|0;$w(k[Yb>>2]|0,33,1,1)|0}}case 36:{k[O>>2]=(k[k[s>>2]>>2]|0)!=0?k[Wb>>2]|0:10;k[F>>2]=0;do if(k[$b>>2]|0){if(!(be(k[$b>>2]|0,33519)|0)){k[F>>2]=1;break}if(!(be(k[$b>>2]|0,33524)|0)){k[F>>2]=2;break}if(!(be(k[$b>>2]|0,33532)|0))k[F>>2]=3}while(0);iC(k[Yb>>2]|0,3,6244);k[(k[Xb>>2]|0)+76>>2]=3;dx(k[Yb>>2]|0,8,k[O>>2]|0,k[F>>2]|0,1)|0;$w(k[Yb>>2]|0,33,1,3)|0;break a}case 35:{if(k[$b>>2]|0){Xb=k[Zb>>2]|0;If(Xb,Ui(k[$b>>2]|0)|0)|0}if((k[(k[Zb>>2]|0)+216>>2]|0)==139)f=k[(k[Zb>>2]|0)+220>>2]|0;else f=0;XB(k[Yb>>2]|0,33541,f,((f|0)<0)<<31>>31);break a}case 27:{xf(k[Zb>>2]|0)|0;break a}case 28:{if((k[$b>>2]|0)!=0?(Mi(k[$b>>2]|0,t)|0)==0:0){Xb=t;Qd(k[Xb>>2]|0,k[Xb+4>>2]|0)|0}Xb=k[Yb>>2]|0;Yb=Qd(-1,-1)|0;XB(Xb,33568,Yb,L);break a}case 34:{if((k[$b>>2]|0)!=0?(Vb=(Mi(k[$b>>2]|0,u)|0)==0,Xb=u,Wb=k[Xb+4>>2]|0,Vb&((Wb|0)>0|(Wb|0)==0&(k[Xb>>2]|0)>>>0>=0)):0)Nf(k[Zb>>2]|0,11,k[u>>2]&2147483647)|0;Xb=k[Yb>>2]|0;Yb=Nf(k[Zb>>2]|0,11,-1)|0;XB(Xb,33584,Yb,((Yb|0)<0)<<31>>31);break a}default:{if(k[$b>>2]|0){Xb=k[Zb>>2]|0;Ef(Xb,Ui(k[$b>>2]|0)|0)|0}Xb=k[(k[Zb>>2]|0)+496>>2]|0;XB(k[Yb>>2]|0,33560,Xb,((Xb|0)<0)<<31>>31);break a}}while(0)}}while(0);ag(k[Zb>>2]|0,k[_b>>2]|0);ag(k[Zb>>2]|0,k[$b>>2]|0);r=ac;return}function sw(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;t=w+24|0;s=w;d=w+108|0;e=w+104|0;f=w+100|0;o=w+96|0;v=w+92|0;g=w+88|0;p=w+64|0;h=w+56|0;j=w+48|0;q=w+44|0;u=w+40|0;m=w+36|0;l=w+32|0;n=w+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[(k[d>>2]|0)+492>>2];k[g>>2]=k[k[d>>2]>>2];k[(k[d>>2]|0)+492>>2]=0;do if((k[o>>2]|0)!=0?(k[(k[d>>2]|0)+68>>2]|0)==0:0){k[v>>2]=k[k[o>>2]>>2];b=Nh(k[k[d>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0)|0;k[h>>2]=b;k[(k[o>>2]|0)+28>>2]=k[e>>2];while(1){c=k[o>>2]|0;if(!(k[e>>2]|0))break;k[(k[e>>2]|0)+4>>2]=c;k[e>>2]=k[(k[e>>2]|0)+28>>2]}My(j,k[c>>2]|0);OB(p,k[d>>2]|0,k[h>>2]|0,19528,j);if((TB(p,k[(k[o>>2]|0)+28>>2]|0)|0)==0?(RB(p,k[(k[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(i[(k[g>>2]|0)+140+5>>0]|0)){p=Zw(k[d>>2]|0)|0;k[q>>2]=p;if(!(k[q>>2]|0))break;kx(k[d>>2]|0,0,k[h>>2]|0);p=Sw(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,0)|0;k[u>>2]=p;p=k[d>>2]|0;a=(k[h>>2]|0)==1?20769:20788;b=k[v>>2]|0;f=k[(k[o>>2]|0)+4>>2]|0;j=k[u>>2]|0;k[s>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[s+4>>2]=a;k[s+8>>2]=b;k[s+12>>2]=f;k[s+16>>2]=j;Yw(p,32822,s);ag(k[g>>2]|0,k[u>>2]|0);_w(k[d>>2]|0,k[h>>2]|0);q=k[q>>2]|0;s=k[h>>2]|0;u=k[g>>2]|0;k[t>>2]=k[v>>2];ax(q,s,Lh(u,32886,t)|0)}if(i[(k[g>>2]|0)+140+5>>0]|0){k[m>>2]=k[o>>2];k[l>>2]=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+40;v=Yj(k[l>>2]|0,k[v>>2]|0,k[o>>2]|0)|0;k[o>>2]=v;if(k[o>>2]|0){th(k[g>>2]|0);break}if((k[(k[m>>2]|0)+20>>2]|0)==(k[(k[m>>2]|0)+24>>2]|0)){v=xj((k[(k[m>>2]|0)+24>>2]|0)+8|0,k[(k[m>>2]|0)+4>>2]|0)|0;k[n>>2]=v;k[(k[m>>2]|0)+32>>2]=k[(k[n>>2]|0)+60>>2];k[(k[n>>2]|0)+60>>2]=k[m>>2]}}}}while(0);Zf(k[g>>2]|0,k[o>>2]|0);lv(k[g>>2]|0,k[e>>2]|0);r=w;return}function tw(a,b,c,d,e,f,g,h,j,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;q=Q;I=Q+156|0;n=Q+152|0;o=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;p=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;k[I>>2]=a;k[n>>2]=b;k[o>>2]=c;k[x>>2]=d;k[y>>2]=e;k[J>>2]=f;k[K>>2]=g;k[L>>2]=h;k[z>>2]=j;k[A>>2]=m;k[O>>2]=0;k[P>>2]=0;k[M>>2]=k[k[I>>2]>>2];do if(k[z>>2]|0)if((k[(k[o>>2]|0)+4>>2]|0)>>>0<=0){k[N>>2]=1;k[D>>2]=k[n>>2];if(k[K>>2]|0){w=6;break}else break}else{Kh(k[I>>2]|0,32505,q);break}else{q=Dz(k[I>>2]|0,k[n>>2]|0,k[o>>2]|0,D)|0;k[N>>2]=q;if((k[N>>2]|0)>=0&(k[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(l[(k[M>>2]|0)+65>>0]|0)==0:0){if((k[N>>2]|0)!=1?(l[(k[M>>2]|0)+140+5>>0]|0)!=0:0){ag(k[M>>2]|0,k[(k[K>>2]|0)+8+4>>2]|0);k[(k[K>>2]|0)+8+4>>2]=0}w=NB(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(((l[(k[M>>2]|0)+140+5>>0]|0)==0?((k[E>>2]|0)!=0?(k[(k[o>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[E>>2]|0)+64>>2]|0)==(k[(k[(k[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[N>>2]=1;if((i[(k[M>>2]|0)+65>>0]|0)==0?(OB(p,k[I>>2]|0,k[N>>2]|0,19528,k[D>>2]|0),(PB(p,k[K>>2]|0)|0)==0):0){w=NB(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(!(k[E>>2]|0)){if((l[(k[M>>2]|0)+140+4>>0]|0)!=1)break;i[(k[M>>2]|0)+140+6>>0]=1;break}if(l[(k[E>>2]|0)+42>>0]&16){Kh(k[I>>2]|0,32551,s);break}w=Nw(k[M>>2]|0,k[D>>2]|0)|0;k[P>>2]=w;if((k[P>>2]|0)!=0?0==(Ix(k[I>>2]|0,k[P>>2]|0)|0):0){if(xj((k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2]|0)+40|0,k[P>>2]|0)|0){n=k[I>>2]|0;if(k[A>>2]|0){lx(n,k[N>>2]|0);break}else{k[F>>2]=k[D>>2];Kh(n,32592,F);break}}if(!(Jd(k[k[E>>2]>>2]|0,28715,7)|0)){Kh(k[I>>2]|0,32618,t);break}if((k[x>>2]|0)!=49?(k[(k[E>>2]|0)+12>>2]|0)!=0:0){N=k[I>>2]|0;H=k[K>>2]|0;k[u>>2]=(k[x>>2]|0)==35?32656:32663;k[u+4>>2]=H;k[u+8>>2]=0;Kh(N,32669,u);break}if((k[x>>2]|0)==49?(k[(k[E>>2]|0)+12>>2]|0)==0:0){N=k[I>>2]|0;k[v>>2]=k[K>>2];k[v+4>>2]=0;Kh(N,32706,v);break}F=Nh(k[M>>2]|0,k[(k[E>>2]|0)+64>>2]|0)|0;k[C>>2]=F;k[B>>2]=7;k[G>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[C>>2]<<4)>>2];if(k[z>>2]|0)n=k[(k[(k[M>>2]|0)+16>>2]|0)+16>>2]|0;else n=k[G>>2]|0;k[H>>2]=n;if((k[C>>2]|0)==1|(k[z>>2]|0)!=0)k[B>>2]=5;if((Ww(k[I>>2]|0,k[B>>2]|0,k[P>>2]|0,k[k[E>>2]>>2]|0,k[H>>2]|0)|0)==0?(Ww(k[I>>2]|0,18,(k[C>>2]|0)==1?20769:20788,0,k[G>>2]|0)|0)==0:0){if((k[x>>2]|0)==49)k[x>>2]=35;H=zh(k[M>>2]|0,36,0)|0;k[O>>2]=H;if(!(k[O>>2]|0))break;k[k[O>>2]>>2]=k[P>>2];k[P>>2]=0;H=xh(k[M>>2]|0,k[(k[K>>2]|0)+8+8>>2]|0)|0;k[(k[O>>2]|0)+4>>2]=H;k[(k[O>>2]|0)+20>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2];k[(k[O>>2]|0)+24>>2]=k[(k[E>>2]|0)+64>>2];i[(k[O>>2]|0)+8>>0]=k[y>>2];i[(k[O>>2]|0)+9>>0]=(k[x>>2]|0)==35?1:2;N=xy(k[M>>2]|0,k[L>>2]|0,1)|0;k[(k[O>>2]|0)+12>>2]=N;N=xz(k[M>>2]|0,k[J>>2]|0)|0;k[(k[O>>2]|0)+16>>2]=N;k[(k[I>>2]|0)+492>>2]=k[O>>2]}}}}while(0);ag(k[M>>2]|0,k[P>>2]|0);gv(k[M>>2]|0,k[K>>2]|0);iv(k[M>>2]|0,k[J>>2]|0);hv(k[M>>2]|0,k[L>>2]|0);if(k[(k[I>>2]|0)+492>>2]|0){r=Q;return}Zf(k[M>>2]|0,k[O>>2]|0);r=Q;return}function uw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;d=MB(k[f>>2]|0,110,k[n>>2]|0)|0;k[l>>2]=d;if(k[l>>2]|0){n=Fy(k[f>>2]|0,k[g>>2]|0,1)|0;k[(k[l>>2]|0)+20>>2]=n;n=xy(k[f>>2]|0,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+16>>2]=n;i[(k[l>>2]|0)+1>>0]=i[j>>0]|0}dv(k[f>>2]|0,k[g>>2]|0);hv(k[f>>2]|0,k[h>>2]|0);r=m;return k[l>>2]|0}function vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;a=MB(k[f>>2]|0,108,k[n>>2]|0)|0;k[l>>2]=a;a=k[f>>2]|0;if(k[l>>2]|0){n=Rx(a,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+8>>2]=n;k[(k[l>>2]|0)+24>>2]=k[g>>2];i[(k[l>>2]|0)+1>>0]=i[j>>0]|0;j=k[f>>2]|0;n=k[h>>2]|0;ev(j,n);n=k[l>>2]|0;r=m;return n|0}else{iv(a,k[g>>2]|0);j=k[f>>2]|0;n=k[h>>2]|0;ev(j,n);n=k[l>>2]|0;r=m;return n|0}return 0}function ww(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=MB(k[d>>2]|0,109,k[h>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){h=xy(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=10}hv(k[d>>2]|0,k[e>>2]|0);r=g;return k[f>>2]|0}function xw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=zh(k[d>>2]|0,36,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){ev(k[d>>2]|0,k[e>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{i[k[f>>2]>>0]=119;k[(k[f>>2]|0)+8>>2]=k[e>>2];i[(k[f>>2]|0)+1>>0]=10;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function yw(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;j=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;d=q+24|0;p=q+20|0;g=q+16|0;n=q+12|0;e=q+8|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[f>>2]=0;k[n>>2]=k[k[j>>2]>>2];if(i[(k[n>>2]|0)+65>>0]|0){o=k[n>>2]|0;p=k[l>>2]|0;gv(o,p);r=q;return}if(zz(k[j>>2]|0)|0){o=k[n>>2]|0;p=k[l>>2]|0;gv(o,p);r=q;return}k[p>>2]=k[(k[l>>2]|0)+8+4>>2];k[g>>2]=k[(k[l>>2]|0)+8+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;a=k[d>>2]|0;k[e>>2]=(k[d>>2]|0)<2?a^1:a;if(!((k[p>>2]|0)!=0?(be(k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0,k[p>>2]|0)|0)!=0:0))h=7;if((h|0)==7?(h=0,a=xj((k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+40|0,k[g>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0)break;k[d>>2]=(k[d>>2]|0)+1}if(k[f>>2]|0){KB(k[j>>2]|0,k[f>>2]|0);o=k[n>>2]|0;p=k[l>>2]|0;gv(o,p);r=q;return}d=k[j>>2]|0;if(k[m>>2]|0)JB(d,k[p>>2]|0);else{k[o>>2]=k[l>>2];k[o+4>>2]=0;Kh(d,32434,o)}i[(k[j>>2]|0)+17>>0]=1;o=k[n>>2]|0;p=k[l>>2]|0;gv(o,p);r=q;return}function zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;sB(k[i>>2]|0,24,5280,k[h>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function Aw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;sB(k[e>>2]|0,25,5248,k[d>>2]|0,0,0,k[d>>2]|0);r=c;return}function Bw(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;p=u+48|0;d=u+44|0;e=u+40|0;g=u+36|0;l=u+32|0;n=u+28|0;j=u+24|0;s=u+20|0;q=u+16|0;f=u+12|0;h=u+8|0;m=u+4|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[p>>2]>>2];if(zz(k[p>>2]|0)|0){r=u;return}if(!(k[d>>2]|0)){aA(k[p>>2]|0,0);r=u;return}if(!((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0))o=6;do if((o|0)==6){o=Nw(k[k[p>>2]>>2]|0,k[d>>2]|0)|0;k[m>>2]=o;if(!(k[m>>2]|0)){r=u;return}o=Wj(k[f>>2]|0,i[(k[f>>2]|0)+62>>0]|0,k[m>>2]|0,0)|0;k[g>>2]=o;if(!(k[g>>2]|0)){ag(k[f>>2]|0,k[m>>2]|0);break}aA(k[p>>2]|0,k[m>>2]|0);ag(k[f>>2]|0,k[m>>2]|0);r=u;return}while(0);o=Dz(k[p>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[q>>2]=o;if((k[q>>2]|0)<0){r=u;return}o=Nw(k[f>>2]|0,k[h>>2]|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){r=u;return}k[n>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];o=zi(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[j>>2]=o;if(k[j>>2]|0){bA(k[p>>2]|0,k[j>>2]|0,0);ag(k[f>>2]|0,k[l>>2]|0);r=u;return}d=Pj(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[s>>2]=d;ag(k[f>>2]|0,k[l>>2]|0);d=k[p>>2]|0;if(k[s>>2]|0){kx(d,0,k[q>>2]|0);cA(k[p>>2]|0,k[s>>2]|0,-1);r=u;return}else{Kh(d,31878,t);r=u;return}}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;l=q+32|0;g=q+28|0;f=q+24|0;p=q+20|0;i=q+16|0;n=q+12|0;m=q+8|0;h=q+4|0;o=q;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[l>>2]=k[k[j>>2]>>2];if(zz(k[j>>2]|0)|0){r=q;return}a:do if(k[d>>2]|0){if(k[(k[e>>2]|0)+4>>2]|0){a=Dz(k[j>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[g>>2]=a;if((k[g>>2]|0)<0)break;k[i>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];h=Nw(k[l>>2]|0,k[h>>2]|0)|0;k[p>>2]=h;if(!(k[p>>2]|0))break;h=Pj(k[l>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[m>>2]=h;d=k[j>>2]|0;if(!h){m=Jh(d,0,k[p>>2]|0,k[i>>2]|0)|0;k[n>>2]=m;if(m)Cz(k[j>>2]|0,k[n>>2]|0,0)}else Cz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);ag(k[l>>2]|0,k[p>>2]|0);break}i=Bz(k[l>>2]|0,k[d>>2]|0)|0;k[g>>2]=i;if((k[g>>2]|0)>=0){Az(k[j>>2]|0,k[g>>2]|0);break}i=Nw(k[l>>2]|0,k[d>>2]|0)|0;k[p>>2]=i;if(k[p>>2]|0){i=Pj(k[l>>2]|0,k[p>>2]|0,0)|0;k[m>>2]=i;d=k[j>>2]|0;if(!i){m=Jh(d,0,k[p>>2]|0,0)|0;k[n>>2]=m;if(m)Cz(k[j>>2]|0,k[n>>2]|0,0)}else Cz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);ag(k[l>>2]|0,k[p>>2]|0)}}else{k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[l>>2]|0)+20>>2]|0))break a;if((k[f>>2]|0)!=1)Az(k[j>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);p=Zw(k[j>>2]|0)|0;k[o>>2]=p;if(!(k[o>>2]|0)){r=q;return}gx(k[o>>2]|0,147)|0;r=q;return}function Dw(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;e=E;f=E+172|0;g=E+168|0;d=E+164|0;m=E+160|0;A=E+156|0;q=E+152|0;B=E+148|0;h=E+144|0;n=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;j=E+116|0;o=E+112|0;p=E+108|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[B>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[D>>2]=0;k[s>>2]=0;k[t>>2]=k[(k[h>>2]|0)+24>>2];do if(((i[(k[h>>2]|0)+65>>0]|0)==0?(b=ix(k[f>>2]|0,0,(k[g>>2]|0)+8|0)|0,k[q>>2]=b,(k[q>>2]|0)!=0):0)?(b=Nh(k[k[f>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0,k[m>>2]=b,k[A>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[m>>2]<<4)>>2],b=(k[h>>2]|0)+24|0,k[b>>2]=k[b>>2]|2097152,b=Nw(k[h>>2]|0,k[d>>2]|0)|0,k[B>>2]=b,(k[B>>2]|0)!=0):0){if((zi(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0?(Pj(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0:0){if(jx(k[f>>2]|0,k[k[q>>2]>>2]|0)|0)break;if(Ix(k[f>>2]|0,k[B>>2]|0)|0)break;d=k[f>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){k[v>>2]=k[k[q>>2]>>2];Kh(d,29208,v);break}if(Ww(d,26,k[A>>2]|0,k[k[q>>2]>>2]|0,0)|0)break;if(Jx(k[f>>2]|0,k[q>>2]|0)|0)break;if((l[(k[q>>2]|0)+42>>0]&16|0)!=0?(v=Kx(k[h>>2]|0,k[q>>2]|0)|0,k[s>>2]=v,(k[(k[k[(k[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)k[s>>2]=0;v=Zw(k[f>>2]|0)|0;k[u>>2]=v;if(!(k[u>>2]|0))break;kx(k[f>>2]|0,(k[s>>2]|0)!=0&1,k[m>>2]|0);_w(k[f>>2]|0,k[m>>2]|0);if(k[s>>2]|0){e=(k[f>>2]|0)+76|0;v=(k[e>>2]|0)+1|0;k[e>>2]=v;k[j>>2]=v;bx(k[u>>2]|0,k[j>>2]|0,k[B>>2]|0)|0;cx(k[u>>2]|0,155,k[j>>2]|0,0,0,k[s>>2]|0,-10)|0;Lx(k[f>>2]|0)}k[C>>2]=k[k[q>>2]>>2];v=Mx(k[C>>2]|0,-1)|0;k[n>>2]=v;if((k[(k[h>>2]|0)+24>>2]&524288|0)!=0?(v=Nx(k[f>>2]|0,k[q>>2]|0)|0,k[D>>2]=v,(v|0)!=0):0){v=k[f>>2]|0;e=(k[m>>2]|0)==1?20769:20788;j=k[C>>2]|0;s=k[B>>2]|0;u=k[D>>2]|0;k[z>>2]=k[A>>2];k[z+4>>2]=e;k[z+8>>2]=j;k[z+12>>2]=s;k[z+16>>2]=u;Yw(v,29235,z);ag(k[h>>2]|0,k[D>>2]|0)}z=k[f>>2]|0;b=(k[m>>2]|0)==1?20769:20788;e=k[B>>2]|0;j=k[B>>2]|0;m=k[B>>2]|0;s=k[B>>2]|0;u=k[B>>2]|0;v=k[n>>2]|0;C=k[C>>2]|0;k[w>>2]=k[A>>2];k[w+4>>2]=b;k[w+8>>2]=e;k[w+12>>2]=j;k[w+16>>2]=m;k[w+20>>2]=s;k[w+24>>2]=u;k[w+28>>2]=v;k[w+32>>2]=C;Yw(z,29304,w);if(zi(k[h>>2]|0,29688,k[A>>2]|0)|0){C=k[f>>2]|0;w=k[B>>2]|0;z=k[k[q>>2]>>2]|0;k[x>>2]=k[A>>2];k[x+4>>2]=w;k[x+8>>2]=z;Yw(C,29704,x)}C=qx(k[f>>2]|0,k[q>>2]|0)|0;k[D>>2]=C;if(C){C=k[f>>2]|0;z=k[B>>2]|0;A=k[D>>2]|0;k[y>>2]=k[B>>2];k[y+4>>2]=z;k[y+8>>2]=A;Yw(C,29762,y);ag(k[h>>2]|0,k[D>>2]|0)}a:do if(k[(k[h>>2]|0)+24>>2]&524288){D=Ox(k[q>>2]|0)|0;k[o>>2]=D;while(1){if(!(k[o>>2]|0))break a;k[p>>2]=k[k[o>>2]>>2];if((k[p>>2]|0)!=(k[q>>2]|0))ox(k[f>>2]|0,k[k[o>>2]>>2]|0,k[k[p>>2]>>2]|0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}}while(0);ox(k[f>>2]|0,k[q>>2]|0,k[B>>2]|0);break}D=k[f>>2]|0;k[e>>2]=k[B>>2];Kh(D,29149,e)}while(0);gv(k[h>>2]|0,k[g>>2]|0);ag(k[h>>2]|0,k[B>>2]|0);k[(k[h>>2]|0)+24>>2]=k[t>>2];r=E;return}function Ew(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;c=D+124|0;d=D+120|0;m=D+116|0;n=D+112|0;f=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;g=D+92|0;h=D+88|0;e=D+84|0;s=D+80|0;o=D+76|0;p=D+72|0;B=D+68|0;q=D+64|0;k[c>>2]=a;k[d>>2]=b;k[s>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[k[c>>2]>>2];if(k[(k[c>>2]|0)+68>>2]|0){r=D;return}if(l[(k[e>>2]|0)+65>>0]|0){r=D;return}k[m>>2]=k[(k[c>>2]|0)+488>>2];a=Nh(k[e>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[f>>2]=a;k[A>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[C>>2]=(k[k[m>>2]>>2]|0)+16;k[g>>2]=(k[(k[m>>2]|0)+4>>2]|0)+(((j[(k[m>>2]|0)+34>>1]|0)-1|0)*24|0);k[h>>2]=k[(k[g>>2]|0)+4>>2];a=zi(k[e>>2]|0,k[C>>2]|0,k[A>>2]|0)|0;k[n>>2]=a;if(Ww(k[c>>2]|0,26,k[A>>2]|0,k[k[n>>2]>>2]|0,0)|0){r=D;return}if((k[h>>2]|0)!=0?(l[k[h>>2]>>0]|0)==101:0)k[h>>2]=0;if(l[(k[g>>2]|0)+23>>0]&1){Kh(k[c>>2]|0,28751,t);r=D;return}if(k[(k[m>>2]|0)+8>>2]|0){Kh(k[c>>2]|0,28783,w);r=D;return}if((k[(k[e>>2]|0)+24>>2]&524288|0)!=0?((k[h>>2]|0)!=0?(k[(k[m>>2]|0)+16>>2]|0)!=0:0):0){Kh(k[c>>2]|0,28810,x);r=D;return}if(!((k[h>>2]|0)!=0?1:(l[(k[g>>2]|0)+20>>0]|0)==0)){Kh(k[c>>2]|0,28869,y);r=D;return}do if(k[h>>2]|0){k[o>>2]=0;y=nx(k[e>>2]|0,k[h>>2]|0,1,65,o)|0;k[p>>2]=y;if(k[p>>2]|0){r=D;return}if(k[o>>2]|0){jh(k[o>>2]|0);break}Kh(k[c>>2]|0,28922,u);r=D;return}while(0);y=Sw(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[z>>2]=y;if(k[z>>2]|0){k[B>>2]=(k[z>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)-1);k[q>>2]=k[(k[e>>2]|0)+24>>2];while(1){if((k[B>>2]|0)>>>0<=(k[z>>2]|0)>>>0)break;if((i[k[B>>2]>>0]|0)!=59?(l[19267+(l[k[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=k[B>>2]|0;k[B>>2]=y+-1;i[y>>0]=0}B=(k[e>>2]|0)+24|0;k[B>>2]=k[B>>2]|2097152;B=k[c>>2]|0;u=(k[f>>2]|0)==1?20769:20788;w=k[(k[m>>2]|0)+44>>2]|0;x=k[z>>2]|0;y=(k[(k[m>>2]|0)+44>>2]|0)+1|0;C=k[C>>2]|0;k[v>>2]=k[A>>2];k[v+4>>2]=u;k[v+8>>2]=w;k[v+12>>2]=x;k[v+16>>2]=y;k[v+20>>2]=C;Yw(B,28968,v);ag(k[e>>2]|0,k[z>>2]|0);k[(k[e>>2]|0)+24>>2]=k[q>>2]}dx(k[s>>2]|0,52,k[f>>2]|0,2,4)|0;ox(k[c>>2]|0,k[n>>2]|0,k[k[n>>2]>>2]|0);r=D;return}function Fw(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,s=0,t=0,u=0;u=r;r=r+64|0;t=u+16|0;s=u+8|0;c=u;d=u+56|0;e=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;h=u+36|0;g=u+32|0;m=u+28|0;f=u+24|0;n=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];do if((i[(k[f>>2]|0)+65>>0]|0)==0?(b=ix(k[d>>2]|0,0,(k[e>>2]|0)+8|0)|0,k[p>>2]=b,(k[p>>2]|0)!=0):0){if(l[(k[p>>2]|0)+42>>0]&16){Kh(k[d>>2]|0,28562,c);break}a=k[d>>2]|0;if(k[(k[p>>2]|0)+12>>2]|0){Kh(a,28596,s);break}if(((0==(jx(a,k[k[p>>2]>>2]|0)|0)?(s=Nh(k[f>>2]|0,k[(k[p>>2]|0)+64>>2]|0)|0,k[h>>2]=s,s=zh(k[f>>2]|0,72,0)|0,k[o>>2]=s,(k[o>>2]|0)!=0):0)?(k[(k[d>>2]|0)+488>>2]=k[o>>2],j[(k[o>>2]|0)+36>>1]=1,j[(k[o>>2]|0)+34>>1]=j[(k[p>>2]|0)+34>>1]|0,k[m>>2]=((((j[(k[o>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=zh(k[f>>2]|0,(k[m>>2]|0)*24|0,0)|0,k[(k[o>>2]|0)+4>>2]=s,s=k[f>>2]|0,k[t>>2]=k[k[p>>2]>>2],t=Lh(s,28626,t)|0,k[k[o>>2]>>2]=t,(k[(k[o>>2]|0)+4>>2]|0)!=0):0)?(k[k[o>>2]>>2]|0)!=0:0){sR(k[(k[o>>2]|0)+4>>2]|0,k[(k[p>>2]|0)+4>>2]|0,(j[(k[o>>2]|0)+34>>1]|0)*24|0)|0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[o>>2]|0)+34>>1]|0))break;k[n>>2]=(k[(k[o>>2]|0)+4>>2]|0)+((k[g>>2]|0)*24|0);t=xh(k[f>>2]|0,k[k[n>>2]>>2]|0)|0;k[k[n>>2]>>2]=t;k[(k[n>>2]|0)+16>>2]=0;k[(k[n>>2]|0)+12>>2]=0;k[(k[n>>2]|0)+4>>2]=0;k[(k[n>>2]|0)+8>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[(k[o>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[o>>2]|0)+44>>2]=k[(k[p>>2]|0)+44>>2];j[(k[o>>2]|0)+36>>1]=1;kx(k[d>>2]|0,0,k[h>>2]|0);t=Zw(k[d>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0)_w(k[d>>2]|0,k[h>>2]|0)}}while(0);gv(k[f>>2]|0,k[e>>2]|0);r=u;return}function Gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+96|0;p=u+32|0;o=u+8|0;n=u;c=u+80|0;d=u+76|0;l=u+72|0;e=u+68|0;s=u+64|0;t=u+60|0;f=u+56|0;g=u+52|0;m=u+48|0;h=u+44|0;j=u+40|0;q=u+36|0;k[c>>2]=a;k[d>>2]=b;k[l>>2]=k[(k[c>>2]|0)+488>>2];k[e>>2]=k[k[c>>2]>>2];if(!(k[l>>2]|0)){r=u;return}Uw(k[c>>2]|0);k[(k[c>>2]|0)+516>>2]=0;if((k[(k[l>>2]|0)+48>>2]|0)<1){r=u;return}if(!(i[(k[e>>2]|0)+140+5>>0]|0)){if(k[d>>2]|0)k[(k[c>>2]|0)+500+4>>2]=(k[k[d>>2]>>2]|0)-(k[(k[c>>2]|0)+500>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);q=k[e>>2]|0;k[n>>2]=(k[c>>2]|0)+500;q=Lh(q,28423,n)|0;k[s>>2]=q;q=Nh(k[e>>2]|0,k[(k[l>>2]|0)+64>>2]|0)|0;k[f>>2]=q;q=k[c>>2]|0;b=(k[f>>2]|0)==1?20769:20788;h=k[k[l>>2]>>2]|0;a=k[k[l>>2]>>2]|0;j=k[s>>2]|0;n=k[(k[c>>2]|0)+392>>2]|0;k[o>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[o+4>>2]=b;k[o+8>>2]=h;k[o+12>>2]=a;k[o+16>>2]=j;k[o+20>>2]=n;Yw(q,28447,o);ag(k[e>>2]|0,k[s>>2]|0);s=Zw(k[c>>2]|0)|0;k[m>>2]=s;_w(k[c>>2]|0,k[f>>2]|0);$w(k[m>>2]|0,147,0,0)|0;s=k[e>>2]|0;k[p>>2]=k[k[l>>2]>>2];s=Lh(s,28535,p)|0;k[t>>2]=s;ax(k[m>>2]|0,k[f>>2]|0,k[t>>2]|0);s=(k[c>>2]|0)+76|0;t=(k[s>>2]|0)+1|0;k[s>>2]=t;k[g>>2]=t;bx(k[m>>2]|0,k[g>>2]|0,k[k[l>>2]>>2]|0)|0;$w(k[m>>2]|0,150,k[f>>2]|0,k[g>>2]|0)|0;r=u;return}k[j>>2]=k[(k[l>>2]|0)+64>>2];k[q>>2]=k[k[l>>2]>>2];t=Yj((k[j>>2]|0)+8|0,k[q>>2]|0,k[l>>2]|0)|0;k[h>>2]=t;if(k[h>>2]|0){th(k[e>>2]|0);r=u;return}else{k[(k[c>>2]|0)+488>>2]=0;r=u;return}}function Hw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+32|0;f=n+28|0;q=n+24|0;p=n+20|0;g=n+16|0;o=n+12|0;j=n+8|0;m=n+4|0;h=n;k[f>>2]=a;k[q>>2]=b;k[p>>2]=c;k[g>>2]=d;k[o>>2]=e;vv(k[f>>2]|0,k[q>>2]|0,k[p>>2]|0,0,0,1,k[o>>2]|0);k[m>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[m>>2]|0)){r=n;return}k[h>>2]=k[k[f>>2]>>2];q=Nh(k[h>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[j>>2]=q;q=(k[m>>2]|0)+42|0;i[q>>0]=l[q>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;q=k[h>>2]|0;p=k[m>>2]|0;Vw(q,p,Nw(k[h>>2]|0,k[g>>2]|0)|0);Vw(k[h>>2]|0,k[m>>2]|0,0);p=k[h>>2]|0;q=k[m>>2]|0;Vw(p,q,xh(k[h>>2]|0,k[k[m>>2]>>2]|0)|0);k[(k[f>>2]|0)+500+4>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)-(k[(k[f>>2]|0)+500>>2]|0);if(!(k[(k[m>>2]|0)+52>>2]|0)){r=n;return}Ww(k[f>>2]|0,29,k[k[m>>2]>>2]|0,k[k[(k[m>>2]|0)+52>>2]>>2]|0,k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2]|0)|0;r=n;return}function Iw(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Uw(k[c>>2]|0);k[(k[c>>2]|0)+516>>2]=0;k[(k[c>>2]|0)+516+4>>2]=0;r=b;return}function Jw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=(k[f>>2]|0)+516;b=k[c>>2]|0;if(!(k[k[d>>2]>>2]|0)){k[k[d>>2]>>2]=k[b>>2];k[(k[d>>2]|0)+4>>2]=k[(k[c>>2]|0)+4>>2];r=e;return}else{k[(k[d>>2]|0)+4>>2]=(k[k[c>>2]>>2]|0)+(k[b+4>>2]|0)-(k[k[d>>2]>>2]|0);r=e;return}}function Kw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;p=s;f=s+40|0;g=s+36|0;t=s+32|0;h=s+28|0;j=s+24|0;l=s+20|0;o=s+16|0;q=s+12|0;m=s+8|0;n=s+4|0;k[f>>2]=a;k[g>>2]=b;k[t>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=k[k[f>>2]>>2];b=Nw(k[k[f>>2]>>2]|0,k[t>>2]|0)|0;k[q>>2]=b;a:do if((k[q>>2]|0)!=0&(k[g>>2]|0)!=0){k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[g>>2]>>2]|0))break a;if(!(be(k[q>>2]|0,k[(k[g>>2]|0)+8+(k[m>>2]<<4)>>2]|0)|0)){t=k[f>>2]|0;k[p>>2]=k[q>>2];Kh(t,28355,p)}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[g>>2]|0){k[n>>2]=24+(k[k[g>>2]>>2]<<4);t=k[n>>2]|0;t=Ow(k[l>>2]|0,k[g>>2]|0,t,((t|0)<0)<<31>>31)|0;k[o>>2]=t}else{t=zh(k[l>>2]|0,24,0)|0;k[o>>2]=t}if(i[(k[l>>2]|0)+65>>0]|0){dv(k[l>>2]|0,k[h>>2]|0);ev(k[l>>2]|0,k[j>>2]|0);ag(k[l>>2]|0,k[q>>2]|0);k[o>>2]=k[g>>2];t=k[o>>2]|0;r=s;return t|0}else{k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+8>>2]=k[j>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+4>>2]=k[h>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)>>2]=k[q>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+12>>2]=0;t=k[o>>2]|0;k[t>>2]=(k[t>>2]|0)+1;t=k[o>>2]|0;r=s;return t|0}return 0}function Lw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=j[11910+(k[f>>2]<<1)>>1];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);r=d;return m[12532+(k[c>>2]<<1)>>1]|0}function Mw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];while(1){if((k[k[b>>2]>>2]|0)<0)break;jv(k[b>>2]|0)}k[(k[b>>2]|0)+8>>2]=k[c>>2];r=d;return}function Nw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=Sw(k[c>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[e>>2]=b;Tw(k[e>>2]|0)|0;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;c=k[f>>2]|0;if(!(k[g>>2]|0)){h=Pw(c,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}if((ku(c,k[g>>2]|0)|0)!=0?(b=h,a=k[b+4>>2]|0,a>>>0<0|((a|0)==0?(k[b>>2]|0)>>>0<=(m[(k[f>>2]|0)+248+4>>1]|0)>>>0:0)):0){k[e>>2]=k[g>>2];h=k[e>>2]|0;r=i;return h|0}h=Qw(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}function Pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;do if(k[(k[e>>2]|0)+248>>2]|0){if(i[(k[e>>2]|0)+65>>0]|0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}}else{a=f;c=k[a+4>>2]|0;b=(k[e>>2]|0)+248|0;if(c>>>0>0|((c|0)==0?(k[a>>2]|0)>>>0>(m[(k[e>>2]|0)+248+4>>1]|0)>>>0:0)){g=b+16+4|0;k[g>>2]=(k[g>>2]|0)+1;break}a=k[b+28>>2]|0;k[g>>2]=a;if(!a){g=(k[e>>2]|0)+248+16+8|0;k[g>>2]=(k[g>>2]|0)+1;break}k[(k[e>>2]|0)+248+28>>2]=k[k[g>>2]>>2];f=(k[e>>2]|0)+248+8|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[e>>2]|0)+248+16|0;k[f>>2]=(k[f>>2]|0)+1;if((k[(k[e>>2]|0)+248+8>>2]|0)>(k[(k[e>>2]|0)+248+12>>2]|0))k[(k[e>>2]|0)+248+12>>2]=k[(k[e>>2]|0)+248+8>>2];k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}while(0);g=f;g=Rw(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}function Qw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=0;if(l[(k[e>>2]|0)+65>>0]|0){h=k[h>>2]|0;r=i;return h|0}if(ku(k[e>>2]|0,k[f>>2]|0)|0){b=g;b=Pw(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=k[h>>2]|0;r=i;return h|0}sR(k[h>>2]|0,k[f>>2]|0,m[(k[e>>2]|0)+248+4>>1]|0|0)|0;ag(k[e>>2]|0,k[f>>2]|0);h=k[h>>2]|0;r=i;return h|0}else{b=g;b=Wd(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}th(k[e>>2]|0);h=k[h>>2]|0;r=i;return h|0}return 0}function Rw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=g;a=ig(k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}th(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}function Sw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l;j=l+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if(!(k[g>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}a=k[f>>2]|0;b=h;b=qR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;b=Pw(a,b,L)|0;k[j>>2]=b;if(k[j>>2]|0){sR(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;i[(k[j>>2]|0)+(k[h>>2]|0)>>0]=0}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=l;return j|0}function Tw(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+12|0;c=g+8|0;f=g+16|0;d=g+4|0;e=g;k[c>>2]=a;if(!(k[c>>2]|0)){k[b>>2]=-1;f=k[b>>2]|0;r=g;return f|0}i[f>>0]=i[k[c>>2]>>0]|0;switch(i[f>>0]|0){case 96:case 34:case 39:break;case 91:{i[f>>0]=93;break}default:{k[b>>2]=-1;f=k[b>>2]|0;r=g;return f|0}}k[d>>2]=1;k[e>>2]=0;while(1){a=k[d>>2]|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)==(i[f>>0]|0)){if((i[(k[c>>2]|0)+(a+1)>>0]|0)!=(i[f>>0]|0))break;h=i[f>>0]|0;a=k[e>>2]|0;k[e>>2]=a+1;i[(k[c>>2]|0)+a>>0]=h;k[d>>2]=(k[d>>2]|0)+1}else{a=i[(k[c>>2]|0)+a>>0]|0;h=k[e>>2]|0;k[e>>2]=h+1;i[(k[c>>2]|0)+h>>0]=a}k[d>>2]=(k[d>>2]|0)+1}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}function Uw(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;if(!(k[(k[b>>2]|0)+516>>2]|0)){r=f;return}if(!(k[(k[b>>2]|0)+488>>2]|0)){r=f;return}k[e>>2]=k[(k[b>>2]|0)+516>>2];k[d>>2]=k[(k[b>>2]|0)+516+4>>2];k[c>>2]=k[k[b>>2]>>2];g=k[c>>2]|0;b=k[(k[b>>2]|0)+488>>2]|0;a=k[d>>2]|0;Vw(g,b,Sw(k[c>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0);r=f;return}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=2+(k[(k[e>>2]|0)+48>>2]|0)<<2;c=k[j>>2]|0;c=Ow(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){ag(k[d>>2]|0,k[f>>2]|0);r=i;return}else{c=(k[e>>2]|0)+48|0;j=k[c>>2]|0;k[c>>2]=j+1;k[h>>2]=j;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2];k[(k[g>>2]|0)+((k[h>>2]|0)+1<<2)>>2]=0;k[(k[e>>2]|0)+52>>2]=k[g>>2];r=i;return}}function Ww(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=k[k[g>>2]>>2];if((l[(k[n>>2]|0)+140+5>>0]|0|0)==0?(l[(k[g>>2]|0)+454>>0]|0|0)==0:0){if(!(k[(k[n>>2]|0)+288>>2]|0)){k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}e=ac[k[(k[n>>2]|0)+288>>2]&255](k[(k[n>>2]|0)+292>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+496>>2]|0)|0;k[o>>2]=e;if((k[o>>2]|0)!=1){if((k[o>>2]|0)!=0&(k[o>>2]|0)!=2){k[o>>2]=1;Xw(k[g>>2]|0)}}else{Kh(k[g>>2]|0,28385,p);k[(k[g>>2]|0)+12>>2]=23}k[f>>2]=k[o>>2];e=k[f>>2]|0;r=q;return e|0}k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}function Xw(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b+4|0;k[c>>2]=a;Kh(k[c>>2]|0,28400,b);k[(k[c>>2]|0)+12>>2]=1;r=b;return}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+144|0;f=n+36|0;d=n+32|0;e=n+16|0;m=n+8|0;l=n+4|0;g=n;h=n+40|0;k[f>>2]=a;k[d>>2]=b;k[l>>2]=0;k[g>>2]=k[k[f>>2]>>2];if(k[(k[f>>2]|0)+68>>2]|0){r=n;return}k[e>>2]=c;b=hx(k[g>>2]|0,k[d>>2]|0,e)|0;k[m>>2]=b;if(!(k[m>>2]|0)){r=n;return}d=(k[f>>2]|0)+18|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24;d=h;e=(k[f>>2]|0)+444|0;a=d+100|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));d=(k[f>>2]|0)+444|0;a=d+100|0;do{j[d>>1]=0;d=d+2|0}while((d|0)<(a|0));ci(k[f>>2]|0,k[m>>2]|0,l)|0;ag(k[g>>2]|0,k[l>>2]|0);ag(k[g>>2]|0,k[m>>2]|0);d=(k[f>>2]|0)+444|0;e=h;a=d+100|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));m=(k[f>>2]|0)+18|0;i[m>>0]=(i[m>>0]|0)+-1<<24>>24;r=n;return}function Zw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){a=Mh(k[b>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a;k[c>>2]=a;if(k[c>>2]|0)gx(k[c>>2]|0,158)|0;if((k[(k[b>>2]|0)+416>>2]|0)==0?((m[(k[k[b>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)i[(k[b>>2]|0)+23>>0]=1}r=d;return k[c>>2]|0}function _w(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;g=c+12|0;d=c+8|0;e=c+4|0;f=c;k[g>>2]=a;k[d>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];dx(k[f>>2]|0,52,k[d>>2]|0,1,(k[k[(k[(k[e>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)+1|0)|0;r=c;return}function $w(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=dx(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return d|0}function ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;cx(k[d>>2]|0,123,k[h>>2]|0,0,0,k[g>>2]|0,-1)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+20>>2]|0))break;Rh(k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=cx(k[g>>2]|0,97,0,k[f>>2]|0,0,k[e>>2]|0,0)|0;r=d;return c|0}function cx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;i=r;r=r+32|0;m=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;l=i+8|0;j=i+4|0;h=i;k[m>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[l>>2]=f;k[j>>2]=g;f=dx(k[m>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[h>>2]=f;Sh(k[m>>2]|0,k[h>>2]|0,k[l>>2]|0,k[j>>2]|0);r=i;return k[h>>2]|0}function dx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=k[(k[g>>2]|0)+32>>2];b=k[g>>2]|0;if((k[(k[(k[g>>2]|0)+24>>2]|0)+88>>2]|0)<=(k[n>>2]|0)){o=ex(b,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[f>>2]=o;o=k[f>>2]|0;r=p;return o|0}else{e=b+32|0;k[e>>2]=(k[e>>2]|0)+1;k[o>>2]=(k[(k[g>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0);i[k[o>>2]>>0]=k[h>>2];i[(k[o>>2]|0)+3>>0]=0;k[(k[o>>2]|0)+4>>2]=k[j>>2];k[(k[o>>2]|0)+8>>2]=k[l>>2];k[(k[o>>2]|0)+12>>2]=k[m>>2];k[(k[o>>2]|0)+16>>2]=0;i[(k[o>>2]|0)+1>>0]=0;k[f>>2]=k[n>>2];o=k[f>>2]|0;r=p;return o|0}return 0}function ex(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if(fx(k[g>>2]|0,1)|0){k[f>>2]=1;e=k[f>>2]|0;r=m;return e|0}else{e=dx(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[f>>2]=e;e=k[f>>2]|0;r=m;return e|0}return 0}function fx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[g+12>>2]=b;k[e>>2]=k[(k[c>>2]|0)+24>>2];if(k[(k[e>>2]|0)+88>>2]|0)b=k[(k[e>>2]|0)+88>>2]<<1;else b=51;k[d>>2]=b;d=Ow(k[k[e>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,(k[d>>2]|0)*20|0,0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}d=ju(k[k[e>>2]>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=d;k[(k[e>>2]|0)+88>>2]=((k[(k[e>>2]|0)+92>>2]|0)>>>0)/20|0;k[(k[c>>2]|0)+4>>2]=k[f>>2];f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}function gx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=dx(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return a|0}function hx(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;f=r;r=r+128|0;d=f+40|0;j=f+36|0;h=f+32|0;e=f+28|0;g=f;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;mg(g,k[d>>2]|0,f+44|0,70,k[(k[d>>2]|0)+88>>2]|0);i[g+25>>0]=1;ng(g,k[j>>2]|0,k[h>>2]|0);b=og(g)|0;k[e>>2]=b;if((l[g+24>>0]|0|0)!=1){j=k[e>>2]|0;r=f;return j|0}th(k[d>>2]|0);j=k[e>>2]|0;r=f;return j|0}function ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){a=Nh(k[k[d>>2]>>2]|0,k[k[f>>2]>>2]|0)|0;k[g>>2]=a;k[h>>2]=k[(k[(k[k[d>>2]>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]}else k[h>>2]=k[(k[f>>2]|0)+4>>2];h=Jh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[h>>2]|0)|0;r=i;return h|0}function jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((Sf(k[e>>2]|0)|0)>6?0==(Jd(k[e>>2]|0,28715,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Kh(b,28723,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)c=k[c+416>>2]|0;k[g>>2]=c;lx(k[d>>2]|0,k[f>>2]|0);d=(k[g>>2]|0)+336|0;k[d>>2]=k[d>>2]|1<>2];g=(k[g>>2]|0)+20|0;i[g>>0]=l[g>>0]|0|k[e>>2];r=h;return}function lx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;b=k[g>>2]|0;if(k[(k[g>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[e>>2]=b;k[d>>2]=k[k[e>>2]>>2];if((k[(k[e>>2]|0)+340>>2]&1<>2]|0)!=0|0){r=f;return}g=(k[e>>2]|0)+340|0;k[g>>2]=k[g>>2]|1<>2];k[(k[e>>2]|0)+344+(k[c>>2]<<2)>>2]=k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]>>2];if((k[c>>2]|0)!=1){r=f;return}mx(k[e>>2]|0)|0;r=f;return}function mx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];if((k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(i[(k[c>>2]|0)+453>>0]|0)==0:0){a=fk(k[k[d>>2]>>2]|0,0,k[d>>2]|0,e,0,542)|0;k[f>>2]=a;if(k[f>>2]|0){Kh(k[c>>2]|0,28645,g);k[(k[c>>2]|0)+12>>2]=k[f>>2];k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=k[e>>2];if(7==(Hi(k[e>>2]|0,k[(k[d>>2]|0)+72>>2]|0,-1,0)|0)){th(k[d>>2]|0);k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}}k[b>>2]=0;g=k[b>>2]|0;r=h;return g|0}function nx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+16|0;m=f+8|0;l=f+4|0;j=f+13|0;h=f+12|0;g=f;k[m>>2]=a;k[l>>2]=b;i[j>>0]=c;i[h>>0]=d;k[g>>2]=e;e=sx(k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,i[h>>0]|0,k[g>>2]|0,0)|0;r=f;return e|0}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;g=n+12|0;i=n+8|0;h=n+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Zw(k[d>>2]|0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){r=n;return}c=Nh(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;c=px(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=c;while(1){if(!(k[i>>2]|0))break;c=Nh(k[k[d>>2]>>2]|0,k[(k[i>>2]|0)+20>>2]|0)|0;k[h>>2]=c;cx(k[j>>2]|0,127,k[h>>2]|0,0,0,k[k[i>>2]>>2]|0,0)|0;k[i>>2]=k[(k[i>>2]|0)+32>>2]}cx(k[j>>2]|0,125,k[g>>2]|0,0,0,k[k[e>>2]>>2]|0,0)|0;c=k[k[d>>2]>>2]|0;k[l>>2]=k[f>>2];c=Lh(c,29077,l)|0;k[m>>2]=c;if(!(k[m>>2]|0)){r=n;return}ax(k[j>>2]|0,k[g>>2]|0,k[m>>2]|0);c=qx(k[d>>2]|0,k[e>>2]|0)|0;k[m>>2]=c;if(!c){r=n;return}ax(k[j>>2]|0,1,k[m>>2]|0);r=n;return}function px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;h=j+24|0;l=j+20|0;d=j+16|0;c=j+12|0;f=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[d>>2]=b;k[c>>2]=k[(k[(k[k[l>>2]>>2]|0)+16>>2]|0)+16+12>>2];k[f>>2]=0;if(i[(k[l>>2]|0)+442>>0]|0){k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}a:do if((k[c>>2]|0)!=(k[(k[d>>2]|0)+64>>2]|0)){k[e>>2]=k[(k[c>>2]|0)+40+8>>2];while(1){if(!(k[e>>2]|0))break a;k[g>>2]=k[(k[e>>2]|0)+8>>2];if((k[(k[g>>2]|0)+24>>2]|0)==(k[(k[d>>2]|0)+64>>2]|0)?0==(be(k[(k[g>>2]|0)+4>>2]|0,k[k[d>>2]>>2]|0)|0):0){if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[(k[g>>2]|0)+32>>2]=a;k[f>>2]=k[g>>2]}k[e>>2]=k[k[e>>2]>>2]}}while(0);if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[h>>2]=a;l=k[h>>2]|0;r=j;return l|0}function qx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l;c=l+28|0;d=l+24|0;g=l+20|0;j=l+16|0;f=l+12|0;e=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;k[f>>2]=k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((k[(k[d>>2]|0)+64>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[k[c>>2]>>2];b=px(k[c>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break a;if((k[(k[g>>2]|0)+20>>2]|0)==(k[f>>2]|0)){b=rx(k[e>>2]|0,k[j>>2]|0,k[k[g>>2]>>2]|0)|0;k[j>>2]=b}k[g>>2]=k[(k[g>>2]|0)+32>>2]}}while(0);if(!(k[j>>2]|0)){j=k[j>>2]|0;r=l;return j|0}g=k[k[c>>2]>>2]|0;k[h>>2]=k[j>>2];h=Lh(g,29089,h)|0;k[i>>2]=h;ag(k[k[c>>2]>>2]|0,k[j>>2]|0);k[j>>2]=k[i>>2];j=k[j>>2]|0;r=l;return j|0}function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+8|0;g=j;d=j+28|0;e=j+24|0;f=j+20|0;i=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[e>>2]|0){g=k[f>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;h=Lh(a,29121,h)|0;k[i>>2]=h;ag(k[d>>2]|0,k[e>>2]|0);i=k[i>>2]|0;r=j;return i|0}else{k[g>>2]=k[f>>2];h=Lh(a,29113,g)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}return 0}function sx(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,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;t=D;z=D+52|0;v=D+48|0;g=D+44|0;x=D+58|0;y=D+57|0;A=D+40|0;h=D+36|0;s=D+32|0;w=D+28|0;B=D+24|0;q=D+20|0;u=D+16|0;C=D+12|0;n=D+56|0;o=D+8|0;k[v>>2]=a;k[g>>2]=b;i[x>>0]=c;i[y>>0]=d;k[A>>2]=e;k[h>>2]=f;k[w>>2]=0;k[B>>2]=0;k[q>>2]=1;k[u>>2]=19266;k[C>>2]=0;if(!(k[g>>2]|0)){k[k[A>>2]>>2]=0;k[z>>2]=0;C=k[z>>2]|0;r=D;return C|0}while(1){e=l[k[g>>2]>>0]|0;k[s>>2]=e;if((e|0)!=156)break;k[g>>2]=k[(k[g>>2]|0)+12>>2]}if((k[s>>2]|0)==157)k[s>>2]=l[(k[g>>2]|0)+38>>0];if((k[s>>2]|0)==38){B=tx(k[(k[g>>2]|0)+8>>2]|0,0)|0;i[n>>0]=B;B=sx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[n>>0]|0,k[A>>2]|0,k[h>>2]|0)|0;k[C>>2]=B;if(k[k[A>>2]>>2]|0){ux(k[k[A>>2]>>2]|0,i[n>>0]|0,1);vx(k[k[A>>2]>>2]|0,i[y>>0]|0,1)}k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}do if((k[s>>2]|0)==155){if((l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=132?(l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;k[g>>2]=k[(k[g>>2]|0)+12>>2];k[s>>2]=l[k[g>>2]>>0];k[q>>2]=-1;k[u>>2]=29135}while(0);do if((k[s>>2]|0)==97|(k[s>>2]|0)==133|(k[s>>2]|0)==132){e=wx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=e;if(k[B>>2]|0){if(k[(k[g>>2]|0)+4>>2]&1024){v=k[B>>2]|0;u=k[(k[g>>2]|0)+8>>2]|0;w=k[q>>2]|0;w=BR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;oh(v,w,L)}else{e=k[v>>2]|0;b=k[(k[g>>2]|0)+8>>2]|0;k[t>>2]=k[u>>2];k[t+4>>2]=b;u=Lh(e,25552,t)|0;k[w>>2]=u;if(!(k[w>>2]|0)){g=43;break}ei(k[B>>2]|0,-1,k[w>>2]|0,1,170)}if((k[s>>2]|0)==132|(k[s>>2]|0)==133?(l[y>>0]|0|0)==65:0)vx(k[B>>2]|0,67,1);else vx(k[B>>2]|0,i[y>>0]|0,1);if((m[(k[B>>2]|0)+8>>1]|0)&12){y=(k[B>>2]|0)+8|0;j[y>>1]=(m[y>>1]|0)&-3}if((l[x>>0]|0|0)!=1){g=hu(k[B>>2]|0,l[x>>0]|0)|0;k[C>>2]=g;g=42}else g=42}else g=43}else{if((k[s>>2]|0)!=155){if((k[s>>2]|0)==101){y=wx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=43;break}else{g=42;break}}if((k[s>>2]|0)!=134){g=42;break}y=wx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=43;break}k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+2;y=(Sf(k[w>>2]|0)|0)-1|0;k[o>>2]=y;y=k[B>>2]|0;g=yx(k[v>>2]|0,k[w>>2]|0,k[o>>2]|0)|0;nh(y,g,(k[o>>2]|0)/2|0,0,170)|0;g=42;break}w=0==(nx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[y>>0]|0,B)|0);if(w&(k[B>>2]|0)!=0){xx(k[B>>2]|0)|0;g=k[B>>2]|0;do if(!((m[(k[B>>2]|0)+8>>1]|0)&8)){w=g;g=k[B>>2]|0;if((k[w>>2]|0)==0?(k[w+4>>2]|0)==-2147483648:0){p[g>>3]=9223372036854775808.0;j[(k[B>>2]|0)+8>>1]=(m[(k[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=g;v=pR(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;w=k[B>>2]|0;k[w>>2]=v;k[w+4>>2]=L;break}}else p[k[B>>2]>>3]=-+p[g>>3];while(0);vx(k[B>>2]|0,i[y>>0]|0,i[x>>0]|0);g=42}else g=42}while(0);if((g|0)==42){k[k[A>>2]>>2]=k[B>>2];k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}else if((g|0)==43){th(k[v>>2]|0);ag(k[v>>2]|0,k[w>>2]|0);jh(k[B>>2]|0);k[z>>2]=7;C=k[z>>2]|0;r=D;return C|0}return 0}function tx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;c=n+21|0;d=n+16|0;e=n+12|0;g=n+8|0;f=n+20|0;j=n+4|0;h=n;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;i[f>>0]=67;k[j>>2]=0;if(!(k[d>>2]|0)){i[c>>0]=i[f>>0]|0;m=i[c>>0]|0;r=n;return m|0}a:while(1){if(!(i[k[d>>2]>>0]|0))break;k[g>>2]=(k[g>>2]<<8)+(l[18477+(i[k[d>>2]>>0]&255)>>0]|0);k[d>>2]=(k[d>>2]|0)+1;if((k[g>>2]|0)==1667785074){i[f>>0]=66;k[j>>2]=k[d>>2];continue}if((k[g>>2]|0)==1668050786){i[f>>0]=66;continue}if((k[g>>2]|0)==1952807028){i[f>>0]=66;continue}do if((k[g>>2]|0)==1651273570){if((i[f>>0]|0)!=67?(i[f>>0]|0)!=69:0)break;i[f>>0]=65;if((i[k[d>>2]>>0]|0)!=40)continue a;k[j>>2]=k[d>>2];continue a}while(0);if((k[g>>2]|0)==1919246700?(i[f>>0]|0)==67:0){i[f>>0]=69;continue}if((k[g>>2]|0)==1718382433?(i[f>>0]|0)==67:0){i[f>>0]=69;continue}if((k[g>>2]|0)==1685026146?(i[f>>0]|0)==67:0){i[f>>0]=69;continue}if((k[g>>2]&16777215|0)==6909556){m=25;break}}if((m|0)==25)i[f>>0]=68;b:do if((k[e>>2]|0)!=0?(i[k[e>>2]>>0]=1,(i[f>>0]|0)<67):0){if(!(k[j>>2]|0)){i[k[e>>2]>>0]=5;break}while(1){if(!(i[k[j>>2]>>0]|0))break b;if(l[19267+(l[k[j>>2]>>0]|0)>>0]&4)break;k[j>>2]=(k[j>>2]|0)+1}k[h>>2]=0;Vi(k[j>>2]|0,h)|0;m=((k[h>>2]|0)/4|0)+1|0;k[h>>2]=m;k[h>>2]=(k[h>>2]|0)>255?255:m;i[k[e>>2]>>0]=k[h>>2]}while(0);i[c>>0]=i[f>>0]|0;m=i[c>>0]|0;r=n;return m|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g;d=g+5|0;f=g+4|0;k[e>>2]=a;i[d>>0]=b;i[f>>0]=c;if((m[(k[e>>2]|0)+8>>1]|0)&1){r=g;return}switch(l[d>>0]|0|0){case 65:{d=k[e>>2]|0;if(!((m[(k[e>>2]|0)+8>>1]|0)&16)){vx(d,66,i[f>>0]|0);j[(k[e>>2]|0)+8>>1]=(m[(k[e>>2]|0)+8>>1]|0)&-49664|16;r=g;return}else{f=d+8|0;j[f>>1]=(m[f>>1]|0)&-33264;r=g;return}}case 67:{xx(k[e>>2]|0)|0;r=g;return}case 68:{Gx(k[e>>2]|0)|0;r=g;return}case 69:{Hx(k[e>>2]|0)|0;r=g;return}default:{a=(k[e>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|((m[(k[e>>2]|0)+8>>1]|0)&16)>>3;vx(k[e>>2]|0,66,i[f>>0]|0);f=(k[e>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-16413;r=g;return}}}function vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;f=d+5|0;e=d+4|0;k[g>>2]=a;i[f>>0]=b;i[e>>0]=c;Bx(k[g>>2]|0,i[f>>0]|0,i[e>>0]|0);r=d;return}function wx(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;b=di(k[d>>2]|0)|0;r=c;return b|0}function xx(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(!((m[(k[b>>2]|0)+8>>1]|0)&13)){d=0==(Ri(k[(k[b>>2]|0)+16>>2]|0,k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,i[(k[b>>2]|0)+10>>0]|0)|0);a=k[b>>2]|0;if(d){j[(k[b>>2]|0)+8>>1]=(m[a+8>>1]|0)&-49664|4;break}else{e=+gh(a);p[k[b>>2]>>3]=e;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|8;zx(k[b>>2]|0);break}}while(0);d=(k[b>>2]|0)+8|0;j[d>>1]=(m[d>>1]|0)&-19;r=c;return 0}function yx(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;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=((k[e>>2]|0)/2|0)+1|0;b=Pw(k[j>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;k[e>>2]=(k[e>>2]|0)+-1;if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=0;while(1){a=k[f>>2]|0;if((k[f>>2]|0)>=(k[e>>2]|0))break;j=((Qi(i[(k[d>>2]|0)+a>>0]|0)|0)&255)<<4;j=(j|(Qi(i[(k[d>>2]|0)+((k[f>>2]|0)+1)>>0]|0)|0)&255)&255;i[(k[g>>2]|0)+((k[f>>2]|0)/2|0)>>0]=j;k[f>>2]=(k[f>>2]|0)+2}i[(k[g>>2]|0)+((a|0)/2|0)>>0]=0;j=k[g>>2]|0;r=h;return j|0}function zx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;b=d+8|0;c=d;k[b>>2]=a;f=Ax(+p[k[b>>2]>>3])|0;h=c;k[h>>2]=f;k[h+4>>2]=L;h=c;f=c;g=k[f+4>>2]|0;a=c;e=k[a+4>>2]|0;if(!(+p[k[b>>2]>>3]==+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0)&((g|0)>-2147483648|(g|0)==-2147483648&(k[f>>2]|0)>>>0>0)&((e|0)<2147483647|(e|0)==2147483647&(k[a>>2]|0)>>>0<4294967295))){r=d;return}f=c;g=k[f+4>>2]|0;h=k[b>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|4;r=d;return}function Ax(a){a=+a;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d;p[c>>3]=a;do if(!(+p[c>>3]<=-9223372036854775808.0))if(+p[c>>3]>=9223372036854775808.0){c=b;k[c>>2]=-1;k[c+4>>2]=2147483647;break}else{a=+p[c>>3];e=+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0;c=b;k[c>>2]=~~a>>>0;k[c+4>>2]=e;break}else{e=b;k[e>>2]=0;k[e+4>>2]=-2147483648}while(0);e=b;L=k[e+4>>2]|0;r=d;return k[e>>2]|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+5|0;e=g+4|0;k[f>>2]=a;i[d>>0]=b;i[e>>0]=c;if((i[d>>0]|0)<67){if((i[d>>0]|0)!=66){r=g;return}if(0==(m[(k[f>>2]|0)+8>>1]&2|0)?(m[(k[f>>2]|0)+8>>1]&12|0)!=0:0)Cx(k[f>>2]|0,i[e>>0]|0,1)|0;f=(k[f>>2]|0)+8|0;j[f>>1]=m[f>>1]&-13;r=g;return}if(m[(k[f>>2]|0)+8>>1]&4){r=g;return}d=k[f>>2]|0;if(m[(k[f>>2]|0)+8>>1]&8){zx(d);r=g;return}if(!(m[d+8>>1]&2)){r=g;return}Hh(k[f>>2]|0,1);r=g;return}function Cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0;q=r;r=r+48|0;o=q+8|0;n=q;d=q+28|0;e=q+24|0;f=q+33|0;g=q+32|0;h=q+20|0;k[e>>2]=a;i[f>>0]=b;i[g>>0]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[q+16>>2]=32;if(Dx(k[e>>2]|0,32)|0){k[d>>2]=7;o=k[d>>2]|0;r=q;return o|0}c=k[(k[e>>2]|0)+16>>2]|0;b=k[e>>2]|0;if(k[h>>2]&4){a=b;h=k[a+4>>2]|0;o=n;k[o>>2]=k[a>>2];k[o+4>>2]=h;_d(32,c,29137,n)|0}else{p[o>>3]=+p[b>>3];_d(32,c,29142,o)|0}o=Sf(k[(k[e>>2]|0)+16>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=o;i[(k[e>>2]|0)+10>>0]=1;o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]|514;if(i[g>>0]|0){o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]&-13}hu(k[e>>2]|0,l[f>>0]|0)|0;k[d>>2]=0;o=k[d>>2]|0;r=q;return o|0}function Dx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[(k[d>>2]|0)+24>>2]|0)<(k[e>>2]|0)){e=Ex(a,k[e>>2]|0,0)|0;k[c>>2]=e;e=k[c>>2]|0;r=f;return e|0}else{k[(k[d>>2]|0)+16>>2]=k[a+20>>2];e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&13;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Ex(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+24>>2]|0)<(k[d>>2]|0)){if((k[d>>2]|0)<32)k[d>>2]=32;if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+24>>2]|0)>0:0)?(k[(k[f>>2]|0)+16>>2]|0)==(k[(k[f>>2]|0)+20>>2]|0):0){a=k[d>>2]|0;a=Fx(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a;k[(k[f>>2]|0)+16>>2]=a;k[g>>2]=0}else{if((k[(k[f>>2]|0)+24>>2]|0)>0)ag(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0);a=k[d>>2]|0;a=Ih(k[(k[f>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a}d=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){a=ju(k[d+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;break}ph(d);k[(k[f>>2]|0)+16>>2]=0;k[(k[f>>2]|0)+24>>2]=0;k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}while(0);if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+16>>2]|0)!=0:0)?(k[(k[f>>2]|0)+16>>2]|0)!=(k[(k[f>>2]|0)+20>>2]|0):0)sR(k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;if((m[(k[f>>2]|0)+8>>1]|0)&1024)_b[k[(k[f>>2]|0)+36>>2]&255](k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=k[(k[f>>2]|0)+20>>2];g=(k[f>>2]|0)+8|0;j[g>>1]=(m[g>>1]|0)&-7169;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}function Fx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;i=h;g=h+8|0;k[e>>2]=a;k[f>>2]=b;b=i;k[b>>2]=c;k[b+4>>2]=d;b=i;b=Ow(k[e>>2]|0,k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}ag(k[e>>2]|0,k[f>>2]|0);i=k[g>>2]|0;r=h;return i|0}function Gx(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=hh(k[c>>2]|0)|0;a=k[c>>2]|0;k[a>>2]=d;k[a+4>>2]=L;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|4;r=b;return 0}function Hx(a){a=a|0;var b=0,c=0,d=0.0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=+gh(k[c>>2]|0);p[k[c>>2]>>3]=d;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|8;r=b;return 0}function Ix(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((((i[(k[k[d>>2]>>2]|0)+140+5>>0]|0)==0?(l[(k[d>>2]|0)+18>>0]|0)==0:0)?(k[(k[k[d>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Jd(k[e>>2]|0,28715,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Kh(b,31646,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;n=q+20|0;i=q+16|0;h=q+12|0;g=q+8|0;p=q+4|0;k[e>>2]=a;k[f>>2]=b;k[i>>2]=0;k[g>>2]=k[k[e>>2]>>2];if(Px(k[e>>2]|0,k[f>>2]|0)|0){k[d>>2]=1;p=k[d>>2]|0;r=q;return p|0}if(l[(k[f>>2]|0)+42>>0]&16){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((j[(k[f>>2]|0)+34>>1]|0)>0){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((j[(k[f>>2]|0)+34>>1]|0)<0){p=k[e>>2]|0;k[c>>2]=k[k[f>>2]>>2];Kh(p,29854,c);k[d>>2]=1;p=k[d>>2]|0;r=q;return p|0}a=k[g>>2]|0;do if(k[(k[f>>2]|0)+24>>2]|0){p=a+248|0;k[p>>2]=(k[p>>2]|0)+1;Qx(k[e>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[f>>2]|0)+34|0,(k[f>>2]|0)+4|0)|0;p=(k[g>>2]|0)+248|0;k[p>>2]=(k[p>>2]|0)+-1}else{c=Rx(a,k[(k[f>>2]|0)+12>>2]|0,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[i>>2]=(k[i>>2]|0)+1;break}k[h>>2]=k[(k[e>>2]|0)+72>>2];Sx(k[e>>2]|0,k[(k[n>>2]|0)+32>>2]|0);j[(k[f>>2]|0)+34>>1]=-1;c=(k[g>>2]|0)+248|0;k[c>>2]=(k[c>>2]|0)+1;k[p>>2]=k[(k[g>>2]|0)+288>>2];k[(k[g>>2]|0)+288>>2]=0;c=Tx(k[e>>2]|0,k[n>>2]|0)|0;k[o>>2]=c;k[(k[g>>2]|0)+288>>2]=k[p>>2];p=(k[g>>2]|0)+248|0;k[p>>2]=(k[p>>2]|0)+-1;k[(k[e>>2]|0)+72>>2]=k[h>>2];if(k[o>>2]|0){j[(k[f>>2]|0)+34>>1]=j[(k[o>>2]|0)+34>>1]|0;k[(k[f>>2]|0)+4>>2]=k[(k[o>>2]|0)+4>>2];j[(k[o>>2]|0)+34>>1]=0;k[(k[o>>2]|0)+4>>2]=0;_f(k[g>>2]|0,k[o>>2]|0)}else{j[(k[f>>2]|0)+34>>1]=0;k[i>>2]=(k[i>>2]|0)+1}ev(k[g>>2]|0,k[n>>2]|0)}while(0);p=(k[(k[f>>2]|0)+64>>2]|0)+78|0;j[p>>1]=m[p>>1]|2;k[d>>2]=k[i>>2];p=k[d>>2]|0;r=q;return p|0}function Kx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+56>>2];while(1){if(!(k[d>>2]|0)){c=5;break}if((k[k[d>>2]>>2]|0)==(k[c>>2]|0)){c=5;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((c|0)==5){r=e;return k[d>>2]|0}return 0}function Lx(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+21>>0]=1;r=c;return}function Mx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[d>>2]=k[h>>2];if((k[c>>2]|0)>=0)k[e>>2]=(k[d>>2]|0)+(k[c>>2]|0);else k[e>>2]=-1;while(1){if(!(l[k[d>>2]>>0]|0)){c=10;break}if((k[d>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}h=k[d>>2]|0;k[d>>2]=h+1;a:do if((l[h>>0]|0|0)>=192)while(1){if(((l[k[d>>2]>>0]|0)&192|0)!=128)break a;k[d>>2]=(k[d>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Nx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=0;b=Ox(k[g>>2]|0)|0;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;g=rx(k[k[c>>2]>>2]|0,k[e>>2]|0,k[k[k[d>>2]>>2]>>2]|0)|0;k[e>>2]=g;k[d>>2]=k[(k[d>>2]|0)+12>>2]}r=f;return k[e>>2]|0}function Ox(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=xj((k[(k[c>>2]|0)+64>>2]|0)+56|0,k[k[c>>2]>>2]|0)|0;r=b;return a|0}function Px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;j=p+8|0;i=p;c=p+44|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;g=p+24|0;h=p+20|0;o=p+16|0;m=p+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(((l[(k[e>>2]|0)+42>>0]|0)&16|0)!=0?(Kx(k[f>>2]|0,k[e>>2]|0)|0)==0:0){k[n>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=xj((k[f>>2]|0)+312|0,k[n>>2]|0)|0;k[g>>2]=n;if(k[g>>2]|0){k[m>>2]=0;o=yz(k[f>>2]|0,k[e>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+8>>2]|0,m)|0;k[h>>2]=o;if(k[h>>2]|0){o=k[d>>2]|0;k[j>>2]=k[m>>2];Kh(o,19255,j)}ag(k[f>>2]|0,k[m>>2]|0)}else{k[o>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=k[d>>2]|0;k[i>>2]=k[o>>2];Kh(n,31494,i);k[h>>2]=1}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}function Qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;e=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;f=D+72|0;z=D+68|0;p=D+64|0;m=D+60|0;o=D+56|0;v=D+52|0;n=D+48|0;g=D+32|0;q=D+28|0;s=D+24|0;h=D+20|0;k[E>>2]=a;k[e>>2]=b;k[x>>2]=c;k[y>>2]=d;k[A>>2]=k[k[E>>2]>>2];Ej(g);if(k[e>>2]|0){k[m>>2]=k[k[e>>2]>>2];E=zh(k[A>>2]|0,(k[m>>2]|0)*24|0,0)|0;k[z>>2]=E}else{k[m>>2]=0;k[z>>2]=0}j[k[x>>2]>>1]=k[m>>2];k[k[y>>2]>>2]=k[z>>2];k[B>>2]=0;k[p>>2]=k[z>>2];while(1){if((k[B>>2]|0)>=(k[m>>2]|0))break;if(!((i[(k[A>>2]|0)+65>>0]|0)!=0^1))break;E=by(k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=E;E=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+4>>2]|0;k[v>>2]=E;do if(!E){k[q>>2]=k[o>>2];while(1){b=k[q>>2]|0;if((l[k[q>>2]>>0]|0)!=122)break;k[q>>2]=k[b+16>>2]}if((l[b>>0]|0)==152?(k[(k[q>>2]|0)+44>>2]|0)!=0:0){k[h>>2]=j[(k[q>>2]|0)+32>>1];k[s>>2]=k[(k[q>>2]|0)+44>>2];if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)>=0)b=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)>>2]|0;else b=25592;k[v>>2]=b;break}if((l[k[q>>2]>>0]|0)==27){k[v>>2]=k[(k[q>>2]|0)+8>>2];break}else{k[v>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+8>>2];break}}while(0);E=k[A>>2]|0;k[t>>2]=k[v>>2];E=Lh(E,19255,t)|0;k[v>>2]=E;k[f>>2]=0;while(1){if(k[v>>2]|0)a=(xj(g,k[v>>2]|0)|0)!=0;else a=0;b=k[v>>2]|0;if(!a)break;E=Sf(b)|0;k[n>>2]=E;if((k[n>>2]|0)>0){k[C>>2]=(k[n>>2]|0)-1;while(1){if((k[C>>2]|0)<=0)break;if(!(l[19267+(l[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)>>0]&4))break;k[C>>2]=(k[C>>2]|0)+-1}if((i[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)==58)k[n>>2]=k[C>>2]}E=k[A>>2]|0;a=k[n>>2]|0;d=k[v>>2]|0;c=(k[f>>2]|0)+1|0;k[f>>2]=c;k[u>>2]=a;k[u+4>>2]=d;k[u+8>>2]=c;E=Lh(E,31486,u)|0;k[v>>2]=E;if((k[f>>2]|0)>>>0<=3)continue;ae(4,f)}k[k[p>>2]>>2]=b;if((k[v>>2]|0)!=0?(E=Yj(g,k[v>>2]|0,k[p>>2]|0)|0,(E|0)==(k[p>>2]|0)):0)th(k[A>>2]|0);k[B>>2]=(k[B>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+24}Fj(g);if(!(i[(k[A>>2]|0)+65>>0]|0)){k[w>>2]=0;E=k[w>>2]|0;r=D;return E|0}k[C>>2]=0;while(1){b=k[A>>2]|0;if((k[C>>2]|0)>=(k[B>>2]|0))break;ag(b,k[(k[z>>2]|0)+((k[C>>2]|0)*24|0)>>2]|0);k[C>>2]=(k[C>>2]|0)+1}ag(b,k[z>>2]|0);k[k[y>>2]>>2]=0;j[k[x>>2]>>1]=0;k[w>>2]=7;E=k[w>>2]|0;r=D;return E|0}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}b=Pw(k[e>>2]|0,72,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}b=Fy(k[e>>2]|0,k[k[f>>2]>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=b;b=vz(k[e>>2]|0,k[(k[f>>2]|0)+32>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+32>>2]=b;b=xy(k[e>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+36>>2]=b;b=Fy(k[e>>2]|0,k[(k[f>>2]|0)+40>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+40>>2]=b;b=xy(k[e>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=b;b=Fy(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+48>>2]=b;i[(k[h>>2]|0)+4>>0]=i[(k[f>>2]|0)+4>>0]|0;b=Rx(k[e>>2]|0,k[(k[f>>2]|0)+52>>2]|0,k[g>>2]|0)|0;k[l>>2]=b;k[(k[h>>2]|0)+52>>2]=b;if(k[l>>2]|0)k[(k[l>>2]|0)+56>>2]=k[h>>2];k[(k[h>>2]|0)+56>>2]=0;c=xy(k[e>>2]|0,k[(k[f>>2]|0)+60>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+60>>2]=c;c=xy(k[e>>2]|0,k[(k[f>>2]|0)+64>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+64>>2]=c;k[(k[h>>2]|0)+8>>2]=0;k[(k[h>>2]|0)+12>>2]=0;j[(k[h>>2]|0)+6>>1]=(m[(k[f>>2]|0)+6>>1]|0)&-17;k[(k[h>>2]|0)+16>>2]=-1;k[(k[h>>2]|0)+16+4>>2]=-1;c=(k[f>>2]|0)+24|0;b=k[c+4>>2]|0;l=(k[h>>2]|0)+24|0;k[l>>2]=k[c>>2];k[l+4>>2]=b;l=wz(k[e>>2]|0,k[(k[f>>2]|0)+68>>2]|0)|0;k[(k[h>>2]|0)+68>>2]=l;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=n;return l|0}function Sx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((k[(k[f>>2]|0)+44>>2]|0)>=0){c=8;break}b=(k[c>>2]|0)+72|0;a=k[b>>2]|0;k[b>>2]=a+1;k[(k[f>>2]|0)+44>>2]=a;if(k[(k[f>>2]|0)+20>>2]|0)Sx(k[c>>2]|0,k[(k[(k[f>>2]|0)+20>>2]|0)+32>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}if((c|0)==8){r=g;return}}function Tx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;c=l+20|0;d=l+16|0;e=l+12|0;g=l+8|0;f=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+24>>2];b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]&-5;b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]|64;Ux(k[d>>2]|0,k[e>>2]|0,0);if(k[(k[d>>2]|0)+68>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}while(1){if(!(k[(k[e>>2]|0)+52>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+52>>2]}k[(k[f>>2]|0)+24>>2]=k[h>>2];h=zh(k[f>>2]|0,72,0)|0;k[g>>2]=h;if(!(k[g>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}j[(k[g>>2]|0)+36>>1]=1;k[k[g>>2]>>2]=0;j[(k[g>>2]|0)+38>>1]=200;Qx(k[d>>2]|0,k[k[e>>2]>>2]|0,(k[g>>2]|0)+34|0,(k[g>>2]|0)+4|0)|0;Vx(k[d>>2]|0,k[g>>2]|0,k[e>>2]|0);j[(k[g>>2]|0)+32>>1]=-1;if(i[(k[f>>2]|0)+65>>0]|0){_f(k[f>>2]|0,k[g>>2]|0);k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}else{k[c>>2]=k[g>>2];h=k[c>>2]|0;r=l;return h|0}return 0}function Ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}k[g>>2]=k[k[d>>2]>>2];if(i[(k[g>>2]|0)+65>>0]|0){r=h;return}if(m[(k[e>>2]|0)+6>>1]&64){r=h;return}cy(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+68>>2]|0){r=h;return}if(l[(k[g>>2]|0)+65>>0]|0){r=h;return}dy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if(k[(k[d>>2]|0)+68>>2]|0){r=h;return}if(l[(k[g>>2]|0)+65>>0]|0){r=h;return}ey(k[d>>2]|0,k[e>>2]|0);r=h;return}function Vx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+80|0;d=t+76|0;e=t+72|0;f=t+68|0;h=t+64|0;q=t+32|0;o=t+24|0;p=t+20|0;m=t+16|0;n=t+12|0;g=t+8|0;s=t;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];b=s;k[b>>2]=0;k[b+4>>2]=0;if(i[(k[h>>2]|0)+65>>0]|0){r=t;return};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q+4>>2]=k[(k[f>>2]|0)+32>>2];k[g>>2]=k[(k[k[f>>2]>>2]|0)+4>>2];k[m>>2]=0;k[o>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[m>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;k[n>>2]=k[(k[g>>2]|0)+((k[m>>2]|0)*20|0)>>2];if(!(k[(k[o>>2]|0)+12>>2]|0)){b=k[h>>2]|0;b=xh(b,Wx(q,k[n>>2]|0,(k[o>>2]|0)+22|0)|0)|0;k[(k[o>>2]|0)+12>>2]=b}c=s;c=qR(k[c>>2]|0,k[c+4>>2]|0,l[(k[o>>2]|0)+22>>0]|0,0)|0;b=s;k[b>>2]=c;k[b+4>>2]=L;b=Xx(k[n>>2]|0)|0;i[(k[o>>2]|0)+21>>0]=b;if(!(i[(k[o>>2]|0)+21>>0]|0))i[(k[o>>2]|0)+21>>0]=65;b=Yx(k[d>>2]|0,k[n>>2]|0)|0;k[p>>2]=b;if((k[p>>2]|0)!=0?(k[(k[o>>2]|0)+16>>2]|0)==0:0){b=xh(k[h>>2]|0,k[k[p>>2]>>2]|0)|0;k[(k[o>>2]|0)+16>>2]=b}k[m>>2]=(k[m>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+24}s=BR(k[s>>2]|0,k[s+4>>2]|0,4,0)|0;s=Rj(s,L)|0;j[(k[e>>2]|0)+40>>1]=s;r=t;return}function Wx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+128|0;d=x+112|0;e=x+108|0;f=x+104|0;w=x+100|0;m=x+96|0;g=x+116|0;s=x+92|0;p=x+88|0;h=x+84|0;t=x+80|0;u=x+48|0;n=x+40|0;v=x+8|0;q=x+4|0;o=x;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;i[g>>0]=1;a:do switch(l[k[e>>2]>>0]|0){case 152:case 154:{k[s>>2]=0;k[p>>2]=0;k[h>>2]=j[(k[e>>2]|0)+32>>1];while(1){if(!(k[d>>2]|0))break;if(!((k[s>>2]|0)!=0^1))break;k[t>>2]=k[(k[d>>2]|0)+4>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[t>>2]>>2]|0))break;if((k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+44>>2]|0)==(k[(k[e>>2]|0)+28>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)<(k[k[t>>2]>>2]|0)){k[s>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2];k[p>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+20>>2];continue}else{k[d>>2]=k[(k[d>>2]|0)+16>>2];continue}}if(k[s>>2]|0){if(k[p>>2]|0){if((k[h>>2]|0)<0)break a;if((k[h>>2]|0)>=(k[k[k[p>>2]>>2]>>2]|0))break a;k[n>>2]=k[(k[(k[k[p>>2]>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];k[u+4>>2]=k[(k[p>>2]|0)+32>>2];k[u+16>>2]=k[d>>2];k[u>>2]=k[k[d>>2]>>2];v=Wx(u,k[n>>2]|0,g)|0;k[w>>2]=v;break a}if(k[(k[s>>2]|0)+64>>2]|0){if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)<0){k[w>>2]=19623;break a}else{k[w>>2]=k[(k[(k[s>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)+12>>2];i[g>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)+22>>0]|0;break a}}}break}case 119:{k[q>>2]=k[(k[e>>2]|0)+20>>2];k[o>>2]=k[k[(k[k[q>>2]>>2]|0)+4>>2]>>2];k[v+4>>2]=k[(k[q>>2]|0)+32>>2];k[v+16>>2]=k[d>>2];k[v>>2]=k[k[d>>2]>>2];v=Wx(v,k[o>>2]|0,g)|0;k[w>>2]=v;break}default:{}}while(0);if(!(k[f>>2]|0)){w=k[w>>2]|0;r=x;return w|0}i[k[f>>2]>>0]=i[g>>0]|0;w=k[w>>2]|0;r=x;return w|0}function Xx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=by(k[c>>2]|0)|0;k[c>>2]=a;if(k[(k[c>>2]|0)+4>>2]&512){i[b>>0]=0;a=i[b>>0]|0;r=f;return a|0}k[e>>2]=l[k[c>>2]>>0];if((k[e>>2]|0)==119){a=Xx(k[k[(k[k[(k[c>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;i[b>>0]=a;a=i[b>>0]|0;r=f;return a|0}if((k[e>>2]|0)==38){a=tx(k[(k[c>>2]|0)+8>>2]|0,0)|0;i[b>>0]=a;a=i[b>>0]|0;r=f;return a|0}if((k[e>>2]|0)==154|(k[e>>2]|0)==152|(k[e>>2]|0)==157?(k[(k[c>>2]|0)+44>>2]|0)!=0:0){k[d>>2]=j[(k[c>>2]|0)+32>>1];if((k[d>>2]|0)<0){i[b>>0]=68;a=i[b>>0]|0;r=f;return a|0}else{i[b>>0]=i[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+((k[d>>2]|0)*24|0)+21>>0]|0;a=i[b>>0]|0;r=f;return a|0}}i[b>>0]=i[(k[c>>2]|0)+1>>0]|0;a=i[b>>0]|0;r=f;return a|0}function Yx(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,s=0;q=r;r=r+48|0;c=q+36|0;s=q+32|0;d=q+28|0;m=q+24|0;h=q+20|0;g=q+16|0;f=q+12|0;o=q+8|0;n=q+4|0;e=q;k[c>>2]=a;k[s>>2]=b;k[d>>2]=k[k[c>>2]>>2];k[m>>2]=0;k[h>>2]=k[s>>2];while(1){if(!(k[h>>2]|0))break;k[g>>2]=l[k[h>>2]>>0];if(k[(k[h>>2]|0)+4>>2]&512)break;if((k[g>>2]|0)==38|(k[g>>2]|0)==156){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}if((k[g>>2]|0)==95){p=9;break}if((k[g>>2]|0)==157?(l[(k[h>>2]|0)+38>>0]|0)==95:0){p=9;break}if((k[g>>2]|0)==154|(k[g>>2]|0)==152|(k[g>>2]|0)==157|(k[g>>2]|0)==62?(k[(k[h>>2]|0)+44>>2]|0)!=0:0){p=12;break}if(!(k[(k[h>>2]|0)+4>>2]&256))break;if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[(k[h>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}k[n>>2]=k[(k[h>>2]|0)+16>>2];a:do if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]&2048|0)==0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[h>>2]|0)+20>>2]>>2]|0))break a;b=k[e>>2]|0;if(k[(k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[e>>2]=b+1}k[n>>2]=k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+(b*20|0)>>2]}while(0);k[h>>2]=k[n>>2]}if((p|0)==9){s=Zx(k[c>>2]|0,i[(k[d>>2]|0)+62>>0]|0,0,k[(k[h>>2]|0)+8>>2]|0)|0;k[m>>2]=s}else if((p|0)==12?(k[f>>2]=j[(k[h>>2]|0)+32>>1],(k[f>>2]|0)>=0):0){k[o>>2]=k[(k[(k[(k[h>>2]|0)+44>>2]|0)+4>>2]|0)+((k[f>>2]|0)*24|0)+16>>2];s=Wj(k[d>>2]|0,i[(k[d>>2]|0)+62>>0]|0,k[o>>2]|0,0)|0;k[m>>2]=s}if(!(_x(k[c>>2]|0,k[m>>2]|0)|0)){s=k[m>>2]|0;r=q;return s|0}k[m>>2]=0;s=k[m>>2]|0;r=q;return s|0}function Zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;m=n;e=n+20|0;f=n+24|0;o=n+16|0;g=n+12|0;j=n+8|0;h=n+4|0;k[e>>2]=a;i[f>>0]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=k[o>>2];if(!(k[j>>2]|0)){o=Wj(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(!((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)!=0:0)){$x(k[h>>2]|0,l[f>>0]|0,k[g>>2]|0);o=Wj(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)==0:0)?(ay(k[h>>2]|0,k[j>>2]|0)|0)!=0:0)k[j>>2]=0;if(k[j>>2]|0){o=k[j>>2]|0;r=n;return o|0}o=k[e>>2]|0;k[m>>2]=k[g>>2];Kh(o,29884,m);o=k[j>>2]|0;r=n;return o|0}function _x(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[h>>2]=k[k[e>>2]>>2],k[f>>2]=k[k[d>>2]>>2],h=Zx(k[d>>2]|0,i[(k[f>>2]|0)+62>>0]|0,k[e>>2]|0,k[h>>2]|0)|0,k[g>>2]=h,(k[g>>2]|0)==0):0){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}function $x(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,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;h=m+8|0;j=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if(k[(k[d>>2]|0)+224>>2]|0){c=xh(k[d>>2]|0,k[f>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){ic[k[(k[d>>2]|0)+224>>2]&255](k[(k[d>>2]|0)+232>>2]|0,k[d>>2]|0,k[e>>2]|0,k[h>>2]|0);ag(k[d>>2]|0,k[h>>2]|0);break}else{r=m;return}}while(0);if(!(k[(k[d>>2]|0)+228>>2]|0)){r=m;return}c=di(k[d>>2]|0)|0;k[g>>2]=c;ei(k[g>>2]|0,-1,k[f>>2]|0,1,0);c=eh(k[g>>2]|0,((i[960]|0)==0?3:2)&255)|0;k[j>>2]=c;if(k[j>>2]|0)ic[k[(k[d>>2]|0)+228>>2]&255](k[(k[d>>2]|0)+232>>2]|0,k[d>>2]|0,l[(k[d>>2]|0)+62>>0]|0,k[j>>2]|0);jh(k[g>>2]|0);r=m;return}function ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j+20|0;c=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;d=j;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3){c=6;break}b=Wj(k[c>>2]|0,i[29915+(k[d>>2]|0)>>0]|0,k[e>>2]|0,0)|0;k[h>>2]=b;if(k[(k[h>>2]|0)+12>>2]|0){c=4;break}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==4){e=k[g>>2]|0;h=k[h>>2]|0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];k[e+12>>2]=k[h+12>>2];k[e+16>>2]=k[h+16>>2];k[(k[g>>2]|0)+16>>2]=0;k[f>>2]=0;h=k[f>>2]|0;r=j;return h|0}else if((c|0)==6){k[f>>2]=1;h=k[f>>2]|0;r=j;return h|0}return 0}function by(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=a;while(1){if(k[c>>2]|0)a=(k[(k[c>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=k[c>>2]|0;if(!a)break;a=k[c>>2]|0;if(k[b+4>>2]&262144){k[c>>2]=k[k[(k[a+20>>2]|0)+4>>2]>>2];continue}else{k[c>>2]=k[a+12>>2];continue}}r=d;return b|0}function cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+48|0;f=e+32|0;c=e+28|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+4>>2]=190;k[d>>2]=k[f>>2];if(i[(k[f>>2]|0)+22>>0]|0){k[d+8>>2]=191;hy(d,k[c>>2]|0)|0}k[d+8>>2]=192;if(m[(k[c>>2]|0)+6>>1]&512){f=k[c>>2]|0;hy(d,f)|0;r=e;return}k[d+12>>2]=132;f=k[c>>2]|0;hy(d,f)|0;r=e;return}function dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+48|0;h=d+36|0;e=d+32|0;g=d+28|0;f=d;k[h>>2]=a;k[e>>2]=b;k[g>>2]=c;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=193;k[f+8>>2]=194;k[f>>2]=k[h>>2];k[f+24>>2]=k[g>>2];hy(f,k[e>>2]|0)|0;r=d;return}function ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+12>>2]=133;k[e+4>>2]=190;k[e>>2]=k[f>>2];hy(e,k[d>>2]|0)|0;r=c;return}function fy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0;i=r;r=r+32|0;o=i+28|0;n=i+24|0;e=i+20|0;c=i+16|0;h=i+12|0;d=i+8|0;g=i+4|0;f=i;k[o>>2]=a;k[n>>2]=b;a=(k[n>>2]|0)+6|0;j[a>>1]=m[a>>1]|0|64;k[e>>2]=k[k[o>>2]>>2];k[h>>2]=k[(k[n>>2]|0)+32>>2];k[c>>2]=0;k[d>>2]=(k[h>>2]|0)+8;while(1){if((k[c>>2]|0)>=(k[k[h>>2]>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+16>>2];if(((l[(k[g>>2]|0)+42>>0]|0)&2|0)!=0?(k[f>>2]=k[(k[d>>2]|0)+20>>2],(k[f>>2]|0)!=0):0){while(1){if(!(k[(k[f>>2]|0)+52>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+52>>2]}Vx(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+72}r=i;return}function gy(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function hy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;do if(k[c>>2]|0){if((k[(k[e>>2]|0)+8>>2]|0)==0?(k[(k[e>>2]|0)+12>>2]|0)==0:0)break;k[f>>2]=0;a=(k[e>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if(!(k[c>>2]|0)){c=15;break}if((k[(k[e>>2]|0)+8>>2]|0)!=0?(a=gc[k[(k[e>>2]|0)+8>>2]&255](k[e>>2]|0,k[c>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0){c=15;break}if(iy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(jy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(k[(k[e>>2]|0)+12>>2]|0)$b[k[(k[e>>2]|0)+12>>2]&255](k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}if((c|0)==11){f=(k[e>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){e=(k[e>>2]|0)+16|0;k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(!(ky(k[d>>2]|0,k[k[e>>2]>>2]|0)|0)){if(ly(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0)|0){k[c>>2]=2;break}if(ky(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0)|0){k[c>>2]=2;break}if(ly(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0){k[c>>2]=2;break}if(ky(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0)|0){k[c>>2]=2;break}if(ly(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0)|0){k[c>>2]=2;break}if(ly(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0){k[c>>2]=2;break}else{k[c>>2]=0;break}}else k[c>>2]=2;while(0);r=f;return k[c>>2]|0}function jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;g=h+20|0;c=h+16|0;i=h+12|0;f=h+8|0;d=h+4|0;e=h;k[c>>2]=a;k[i>>2]=b;k[f>>2]=k[(k[i>>2]|0)+32>>2];a:do if(k[f>>2]|0){k[d>>2]=k[k[f>>2]>>2];k[e>>2]=(k[f>>2]|0)+8;while(1){if((k[d>>2]|0)<=0)break a;if(hy(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){c=5;break}if(((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ky(k[c>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0)!=0:0){c=8;break}k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+72}if((c|0)==5){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}else if((c|0)==8){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}}while(0);k[g>>2]=0;i=k[g>>2]|0;r=h;return i|0}function ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=k[k[e>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[f>>2]|0)<=0)break a;if(ly(k[d>>2]|0,k[k[g>>2]>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+20}k[c>>2]=2;a=k[c>>2]|0;r=h;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}function ly(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){a=0;r=e;return a|0}a=my(k[c>>2]|0,k[d>>2]|0)|0;r=e;return a|0}function my(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=b;a=gc[k[(k[c>>2]|0)+4>>2]&255](k[c>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;do if((k[f>>2]|0)==0?(k[(k[e>>2]|0)+4>>2]&16384|0)==0:0){if(ly(k[c>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0){k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}if(ly(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0){k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}c=k[c>>2]|0;b=(k[e>>2]|0)+20|0;if(k[(k[e>>2]|0)+4>>2]&2048){if(!(hy(c,k[b>>2]|0)|0))break;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else{if(!(ky(c,k[b>>2]|0)|0))break;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}function ny(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;h=J+112|0;n=J+108|0;x=J+104|0;z=J+100|0;e=J+96|0;g=J+92|0;f=J+88|0;d=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;q=J+64|0;o=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;p=J+120|0;y=J+44|0;c=J+40|0;k[h>>2]=a;k[n>>2]=b;k[x>>2]=k[(k[h>>2]|0)+24>>2];k[z>>2]=k[k[x>>2]>>2];if(k[(k[n>>2]|0)+4>>2]&4){k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|4;switch(l[k[n>>2]>>0]|0){case 27:{H=Py(k[z>>2]|0,0,0,k[(k[n>>2]|0)+8>>2]|0,k[x>>2]|0,k[n>>2]|0)|0;k[I>>2]=H;I=k[I>>2]|0;r=J;return I|0}case 122:{Qy(k[z>>2]|0,k[x>>2]|0,30424,32);k[d>>2]=k[(k[n>>2]|0)+16>>2];if((l[k[d>>2]>>0]|0)==27){k[f>>2]=0;k[g>>2]=k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2];k[e>>2]=k[(k[d>>2]|0)+8>>2]}else{k[f>>2]=k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2];k[g>>2]=k[(k[(k[d>>2]|0)+12>>2]|0)+8>>2];k[e>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2]}H=Py(k[z>>2]|0,k[f>>2]|0,k[g>>2]|0,k[e>>2]|0,k[x>>2]|0,k[n>>2]|0)|0;k[I>>2]=H;I=k[I>>2]|0;r=J;return I|0}case 151:{k[w>>2]=k[(k[n>>2]|0)+20>>2];if(k[w>>2]|0)c=k[k[w>>2]>>2]|0;else c=0;k[s>>2]=c;k[u>>2]=0;k[F>>2]=0;k[q>>2]=0;i[p>>0]=i[(k[k[z>>2]>>2]|0)+62>>0]|0;Qy(k[z>>2]|0,k[x>>2]|0,30441,16);k[G>>2]=k[(k[n>>2]|0)+8>>2];g=Sf(k[G>>2]|0)|0;k[t>>2]=g;g=qi(k[k[z>>2]>>2]|0,k[G>>2]|0,k[t>>2]|0,k[s>>2]|0,i[p>>0]|0,0)|0;k[v>>2]=g;do if(!(k[v>>2]|0)){B=qi(k[k[z>>2]>>2]|0,k[G>>2]|0,k[t>>2]|0,-2,i[p>>0]|0,0)|0;k[v>>2]=B;if(!(k[v>>2]|0)){k[u>>2]=1;break}else{k[F>>2]=1;break}}else{k[q>>2]=(k[(k[v>>2]|0)+16>>2]|0)!=0&1;do if(m[(k[v>>2]|0)+2>>1]&1024){p=(k[n>>2]|0)+4|0;k[p>>2]=k[p>>2]|266240;if((k[s>>2]|0)!=2){k[(k[n>>2]|0)+28>>2]=(i[k[(k[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Ry(k[(k[(k[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+28>>2]=s;if((k[(k[n>>2]|0)+28>>2]|0)<0){Kh(k[z>>2]|0,30451,A);A=(k[x>>2]|0)+24|0;k[A>>2]=(k[A>>2]|0)+1}}while(0);A=Ww(k[z>>2]|0,31,0,k[(k[v>>2]|0)+20>>2]|0,0)|0;k[o>>2]=A;if(k[o>>2]|0){if((k[o>>2]|0)==1){H=k[z>>2]|0;k[B>>2]=k[(k[v>>2]|0)+20>>2];Kh(H,30522,B);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1}i[k[n>>2]>>0]=101;k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}else{if(m[(k[v>>2]|0)+2>>1]&10240){B=(k[n>>2]|0)+4|0;k[B>>2]=k[B>>2]|524288}if(m[(k[v>>2]|0)+2>>1]&2048)break;Qy(k[z>>2]|0,k[x>>2]|0,30557,32);break}}while(0);if((k[q>>2]|0)!=0?(m[(k[x>>2]|0)+28>>1]&1|0)==0:0){F=k[z>>2]|0;G=k[G>>2]|0;k[D>>2]=k[t>>2];k[D+4>>2]=G;Kh(F,30585,D);G=(k[x>>2]|0)+24|0;k[G>>2]=(k[G>>2]|0)+1;k[q>>2]=0}else H=31;do if((H|0)==31){if((k[u>>2]|0)!=0?(l[(k[k[z>>2]>>2]|0)+140+5>>0]|0)==0:0){H=k[z>>2]|0;G=k[G>>2]|0;k[E>>2]=k[t>>2];k[E+4>>2]=G;Kh(H,30621,E);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1;break}if(k[F>>2]|0){H=k[z>>2]|0;G=k[G>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=G;Kh(H,30644,C);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1}}while(0);if(k[q>>2]|0){H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]&-2}ky(k[h>>2]|0,k[w>>2]|0)|0;if(k[q>>2]|0){k[y>>2]=k[x>>2];i[k[n>>2]>>0]=-103;i[(k[n>>2]|0)+38>>0]=0;while(1){if(!(k[y>>2]|0))break;if(!((Sy(k[n>>2]|0,k[(k[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(k[n>>2]|0)+38|0;i[H>>0]=(i[H>>0]|0)+1<<24>>24;k[y>>2]=k[(k[y>>2]|0)+16>>2]}if(k[y>>2]|0){H=(k[y>>2]|0)+28|0;j[H>>1]=m[H>>1]|(2|m[(k[v>>2]|0)+2>>1]&4096)}H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]|1}k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}case 75:case 20:case 119:{if((k[(k[n>>2]|0)+4>>2]&2048|0)!=0?(k[c>>2]=k[(k[x>>2]|0)+20>>2],Qy(k[z>>2]|0,k[x>>2]|0,30689,52),hy(k[h>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0,(k[c>>2]|0)!=(k[(k[x>>2]|0)+20>>2]|0)):0){H=(k[n>>2]|0)+4|0;k[H>>2]=k[H>>2]|32}break}case 135:{Qy(k[z>>2]|0,k[x>>2]|0,30700,52);break}default:{}}if(k[(k[z>>2]|0)+68>>2]|0)c=1;else c=(l[(k[k[z>>2]>>2]|0)+65>>0]|0)!=0;k[I>>2]=c?2:0;I=k[I>>2]|0;r=J;return I|0}function oy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+128|0;C=E+8|0;B=E;D=E+116|0;c=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;f=E+64|0;A=E+60|0;e=E+56|0;h=E+52|0;z=E+48|0;d=E+44|0;t=E+40|0;n=E+36|0;q=E+32|0;g=E+28|0;w=E+24|0;o=E+20|0;u=E+16|0;p=E+12|0;k[c>>2]=a;k[x>>2]=b;if(m[(k[x>>2]|0)+6>>1]&4){k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}k[s>>2]=k[(k[c>>2]|0)+24>>2];k[A>>2]=k[k[c>>2]>>2];k[d>>2]=k[k[A>>2]>>2];if(!(m[(k[x>>2]|0)+6>>1]&32)){Ux(k[A>>2]|0,k[x>>2]|0,k[s>>2]|0);if(k[(k[A>>2]|0)+68>>2]|0)c=1;else c=(l[(k[d>>2]|0)+65>>0]|0)!=0;k[D>>2]=c?2:1;D=k[D>>2]|0;r=E;return D|0}k[y>>2]=(k[(k[x>>2]|0)+52>>2]|0)!=0&1;k[f>>2]=0;k[z>>2]=k[x>>2];a:while(1){if(!(k[x>>2]|0)){c=68;break}a=(k[x>>2]|0)+6|0;j[a>>1]=m[a>>1]|4;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[A>>2];if(py(v,k[(k[x>>2]|0)+60>>2]|0)|0){c=11;break}if(py(v,k[(k[x>>2]|0)+64>>2]|0)|0){c=11;break}if(m[(k[x>>2]|0)+6>>1]&16384){k[t>>2]=k[(k[(k[x>>2]|0)+32>>2]|0)+8+20>>2];k[(k[t>>2]|0)+48>>2]=k[(k[x>>2]|0)+48>>2];k[(k[x>>2]|0)+48>>2]=0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+32>>2]>>2]|0))break;k[n>>2]=(k[(k[x>>2]|0)+32>>2]|0)+8+((k[e>>2]|0)*72|0);if(k[(k[n>>2]|0)+20>>2]|0){k[g>>2]=0;k[w>>2]=k[(k[A>>2]|0)+496>>2];k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)+(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}if(k[(k[n>>2]|0)+8>>2]|0)k[(k[A>>2]|0)+496>>2]=k[(k[n>>2]|0)+8>>2];dy(k[A>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[s>>2]|0);k[(k[A>>2]|0)+496>>2]=k[w>>2];if(k[(k[A>>2]|0)+68>>2]|0){c=24;break a}if(l[(k[d>>2]|0)+65>>0]|0){c=24;break a}k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)-(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}a=(k[n>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-9|((k[g>>2]|0)!=0&1)<<3&255}k[e>>2]=(k[e>>2]|0)+1}j[v+28>>1]=1;k[v+4>>2]=k[(k[x>>2]|0)+32>>2];k[v+16>>2]=k[s>>2];if(qy(v,k[k[x>>2]>>2]|0)|0){c=31;break}k[h>>2]=k[(k[x>>2]|0)+40>>2];if((k[h>>2]|0)==0?(m[v+28>>1]&2|0)==0:0){a=v+28|0;j[a>>1]=m[a>>1]&-2}else{a=(k[x>>2]|0)+6|0;j[a>>1]=m[a>>1]|(8|m[v+28>>1]&4096)}if(!((k[h>>2]|0)!=0?1:(k[(k[x>>2]|0)+44>>2]|0)==0)){c=37;break}k[v+8>>2]=k[k[x>>2]>>2];if(py(v,k[(k[x>>2]|0)+44>>2]|0)|0){c=39;break}if(py(v,k[(k[x>>2]|0)+36>>2]|0)|0){c=41;break}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+32>>2]>>2]|0))break;k[o>>2]=(k[(k[x>>2]|0)+32>>2]|0)+8+((k[e>>2]|0)*72|0);if(((l[(k[o>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(qy(v,k[(k[o>>2]|0)+64>>2]|0)|0)!=0:0){c=46;break a}k[e>>2]=(k[e>>2]|0)+1}k[v+16>>2]=0;a=v+28|0;j[a>>1]=m[a>>1]|1;if(m[(k[x>>2]|0)+6>>1]&16384){k[u>>2]=k[(k[(k[x>>2]|0)+32>>2]|0)+8+20>>2];k[(k[x>>2]|0)+48>>2]=k[(k[u>>2]|0)+48>>2];k[(k[u>>2]|0)+48>>2]=0}if((k[y>>2]|0)<=(k[f>>2]|0)?(ry(v,k[x>>2]|0,k[(k[x>>2]|0)+48>>2]|0,29962)|0)!=0:0){c=52;break}if(i[(k[d>>2]|0)+65>>0]|0){c=54;break}b:do if(k[h>>2]|0){if(ry(v,k[x>>2]|0,k[h>>2]|0,29968)|0){c=58;break a}if(l[(k[d>>2]|0)+65>>0]|0){c=58;break a}k[e>>2]=0;k[p>>2]=k[(k[h>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break b;if(k[(k[k[p>>2]>>2]|0)+4>>2]&2){c=62;break a}k[e>>2]=(k[e>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}}while(0);if((k[(k[x>>2]|0)+56>>2]|0)!=0?(k[k[k[x>>2]>>2]>>2]|0)!=(k[k[k[(k[x>>2]|0)+56>>2]>>2]>>2]|0):0){c=66;break}k[x>>2]=k[(k[x>>2]|0)+52>>2];k[f>>2]=(k[f>>2]|0)+1}switch(c|0){case 11:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 24:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 31:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 37:{Kh(k[A>>2]|0,29918,B);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 39:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 41:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 46:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 52:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 54:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 58:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 62:{Kh(k[A>>2]|0,29974,C);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 66:{sy(k[A>>2]|0,k[(k[x>>2]|0)+56>>2]|0);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 68:{if((k[y>>2]|0)!=0?(ty(k[A>>2]|0,k[z>>2]|0)|0)!=0:0){k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}}return 0}function py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+48|0;c=l+40|0;d=l+36|0;e=l+32|0;g=l+44|0;h=l+4|0;f=l;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}k[f>>2]=k[k[d>>2]>>2];if(Oy(k[f>>2]|0,(k[(k[e>>2]|0)+24>>2]|0)+(k[(k[k[d>>2]>>2]|0)+464>>2]|0)|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=l;return h|0}f=(k[f>>2]|0)+464|0;k[f>>2]=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);j[g>>1]=(m[(k[d>>2]|0)+28>>1]|0)&4098;f=(k[d>>2]|0)+28|0;j[f>>1]=(m[f>>1]|0)&-4099;k[h>>2]=k[k[d>>2]>>2];k[h+4>>2]=193;k[h+8>>2]=194;k[h+12>>2]=0;k[h+16>>2]=0;i[h+20>>0]=0;k[h+24>>2]=k[d>>2];ly(h,k[e>>2]|0)|0;f=(k[k[d>>2]>>2]|0)+464|0;k[f>>2]=(k[f>>2]|0)-(k[(k[e>>2]|0)+24>>2]|0);if(!((k[(k[d>>2]|0)+24>>2]|0)<=0?(k[(k[h>>2]|0)+68>>2]|0)<=0:0)){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|8}if((m[(k[d>>2]|0)+28>>1]|0)&2){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|2}h=(k[d>>2]|0)+28|0;j[h>>1]=m[h>>1]|0|(m[g>>1]|0);k[c>>2]=(k[(k[e>>2]|0)+4>>2]&8|0)!=0&1;h=k[c>>2]|0;r=l;return h|0}function qy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[e>>2]>>2]|0))break a;if(py(k[d>>2]|0,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=2;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function ry(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;e=w+48|0;f=w+44|0;g=w+40|0;h=w+36|0;l=w+32|0;m=w+28|0;o=w+24|0;n=w+20|0;t=w+16|0;u=w+12|0;p=w+8|0;q=w+4|0;s=w;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(!(k[h>>2]|0)){k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}k[p>>2]=k[k[k[g>>2]>>2]>>2];k[u>>2]=k[k[f>>2]>>2];k[m>>2]=0;k[t>>2]=k[(k[h>>2]|0)+4>>2];a:while(1){if((k[m>>2]|0)>=(k[k[h>>2]>>2]|0)){v=20;break}k[q>>2]=k[k[t>>2]>>2];d=by(k[q>>2]|0)|0;k[s>>2]=d;if((i[k[l>>2]>>0]|0)!=71?(d=wy(k[u>>2]|0,k[k[g>>2]>>2]|0,k[s>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)>0):0)j[(k[t>>2]|0)+16>>1]=k[n>>2];else v=8;b:do if((v|0)==8){v=0;if(uy(k[s>>2]|0,n)|0){if((k[n>>2]|0)<1|(k[n>>2]|0)>65535){v=10;break a}j[(k[t>>2]|0)+16>>1]=k[n>>2];break}j[(k[t>>2]|0)+16>>1]=0;if(py(k[f>>2]|0,k[q>>2]|0)|0){v=13;break a}k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[k[g>>2]>>2]>>2]|0))break b;if(!(zy(k[q>>2]|0,k[(k[(k[k[g>>2]>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,-1)|0))j[(k[t>>2]|0)+16>>1]=(k[o>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[m>>2]=(k[m>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==10){vy(k[u>>2]|0,k[l>>2]|0,(k[m>>2]|0)+1|0,k[p>>2]|0);k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==13){k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==20){v=Iy(k[u>>2]|0,k[g>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[e>>2]=v;v=k[e>>2]|0;r=w;return v|0}return 0}function sy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;d=e+8|0;f=e+16|0;c=e+12|0;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if((m[(k[c>>2]|0)+6>>1]|0)&256){Kh(b,30184,e);r=e;return}else{f=Hy(l[(k[c>>2]|0)+4>>0]|0)|0;k[d>>2]=f;Kh(b,30230,d);r=e;return}}function ty(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,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;v=w+8|0;p=w+64|0;q=w+60|0;c=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;d=w+40|0;f=w+36|0;m=w+32|0;e=w+28|0;h=w+24|0;g=w+20|0;n=w+16|0;o=w+12|0;k[q>>2]=a;k[c>>2]=b;k[f>>2]=1;k[u>>2]=k[(k[c>>2]|0)+48>>2];if(!(k[u>>2]|0)){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}k[d>>2]=k[k[q>>2]>>2];if((k[k[u>>2]>>2]|0)>(k[(k[d>>2]|0)+88+8>>2]|0)){Kh(k[q>>2]|0,30033,w);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;b=(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13|0;i[b>>0]=i[b>>0]&-2;k[s>>2]=(k[s>>2]|0)+1}k[(k[c>>2]|0)+56>>2]=0;while(1){if(!(k[(k[c>>2]|0)+52>>2]|0))break;k[(k[(k[c>>2]|0)+52>>2]|0)+56>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+52>>2]}a:while(1){if(!((k[c>>2]|0)!=0?(k[f>>2]|0)!=0:0)){c=36;break}k[f>>2]=0;k[t>>2]=k[k[c>>2]>>2];k[s>>2]=0;k[m>>2]=k[(k[u>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;k[e>>2]=-1;do if(!(i[(k[m>>2]|0)+13>>0]&1)){b=by(k[k[m>>2]>>2]|0)|0;k[h>>2]=b;if(uy(k[h>>2]|0,e)|0){if((k[e>>2]|0)<=0){c=18;break a}if((k[e>>2]|0)>(k[k[t>>2]>>2]|0)){c=18;break a}}else{b=wy(k[q>>2]|0,k[t>>2]|0,k[h>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){b=xy(k[d>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=b;if(!(i[(k[d>>2]|0)+65>>0]|0)){b=yy(k[q>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[e>>2]=b}hv(k[d>>2]|0,k[g>>2]|0)}}if((k[e>>2]|0)<=0){k[f>>2]=1;break}b=Tv(k[d>>2]|0,132,0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){c=25;break a}b=(k[n>>2]|0)+4|0;k[b>>2]=k[b>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[e>>2];if((k[k[m>>2]>>2]|0)==(k[h>>2]|0))k[k[m>>2]>>2]=k[n>>2];else{k[o>>2]=k[k[m>>2]>>2];while(1){if((l[k[(k[o>>2]|0)+12>>2]>>0]|0)!=95)break;k[o>>2]=k[(k[o>>2]|0)+12>>2]}k[(k[o>>2]|0)+12>>2]=k[n>>2]}hv(k[d>>2]|0,k[h>>2]|0);j[(k[m>>2]|0)+16>>1]=k[e>>2];b=(k[m>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2|1}while(0);k[s>>2]=(k[s>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+20}k[c>>2]=k[(k[c>>2]|0)+56>>2]}if((c|0)==18){vy(k[q>>2]|0,29962,(k[s>>2]|0)+1|0,k[k[t>>2]>>2]|0);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==25){k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==36){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0)){c=41;break}if(!(i[(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13>>0]&1)){c=39;break}k[s>>2]=(k[s>>2]|0)+1}if((c|0)==39){u=k[q>>2]|0;k[v>>2]=(k[s>>2]|0)+1;Kh(u,30067,v);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==41){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}}return 0}function uy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]&1024){k[k[e>>2]>>2]=k[a+8>>2];k[c>>2]=1;g=k[c>>2]|0;r=h;return g|0}switch(l[a>>0]|0|0){case 156:{g=uy(k[(k[d>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=g;break}case 155:{if(uy(k[(k[d>>2]|0)+12>>2]|0,g)|0){k[k[e>>2]>>2]=0-(k[g>>2]|0);k[f>>2]=1}break}default:{}}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;f=e;j=e+24|0;i=e+20|0;g=e+16|0;h=e+12|0;k[j>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[j>>2]|0;d=k[i>>2]|0;a=k[h>>2]|0;k[f>>2]=k[g>>2];k[f+4>>2]=d;k[f+8>>2]=a;Kh(b,30128,f);r=e;return}function wy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;k[j+20>>2]=a;k[e>>2]=b;k[f>>2]=c;a:do if((l[k[f>>2]>>0]|0|0)==27){k[i>>2]=k[(k[f>>2]|0)+8>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break a;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+4>>2];if((k[h>>2]|0)!=0?(be(k[h>>2]|0,k[i>>2]|0)|0)==0:0)break;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=(k[g>>2]|0)+1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function xy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=By(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return b|0}function yy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;h=r;r=r+80|0;g=h+60|0;p=h+56|0;q=h+52|0;d=h+48|0;e=h+44|0;f=h+40|0;o=h+8|0;m=h+4|0;l=h;n=h+64|0;k[p>>2]=a;k[q>>2]=b;k[d>>2]=c;k[f>>2]=k[k[q>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[p>>2];k[o+4>>2]=k[(k[q>>2]|0)+32>>2];k[o+8>>2]=k[f>>2];j[o+28>>1]=1;k[o+24>>2]=0;k[m>>2]=k[k[p>>2]>>2];i[n>>0]=i[(k[m>>2]|0)+69>>0]|0;i[(k[m>>2]|0)+69>>0]=1;b=py(o,k[d>>2]|0)|0;k[l>>2]=b;i[(k[m>>2]|0)+69>>0]=i[n>>0]|0;if(k[l>>2]|0){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0)){c=8;break}q=(zy(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0,-1)|0)<2;a=(k[e>>2]|0)+1|0;if(q){c=6;break}k[e>>2]=a}if((c|0)==6){k[g>>2]=a;q=k[g>>2]|0;r=h;return q|0}else if((c|0)==8){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}return 0}function zy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)==0|(k[f>>2]|0)==0){k[d>>2]=(k[f>>2]|0)==(k[e>>2]|0)?0:2;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+4>>2]|k[(k[f>>2]|0)+4>>2];c=k[e>>2]|0;if(k[h>>2]&1024){if((k[c+4>>2]&k[(k[f>>2]|0)+4>>2]&1024|0)!=0?(k[(k[e>>2]|0)+8>>2]|0)==(k[(k[f>>2]|0)+8>>2]|0):0){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}a=l[k[e>>2]>>0]|0;if((l[c>>0]|0)!=(l[k[f>>2]>>0]|0)){if((a|0)==95?(zy(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}if((l[k[f>>2]>>0]|0)==95?(zy(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(((a|0)!=152?(l[k[e>>2]>>0]|0)!=154:0)?(k[(k[e>>2]|0)+8>>2]|0)!=0:0){c=k[(k[e>>2]|0)+8>>2]|0;a=k[(k[f>>2]|0)+8>>2]|0;if((l[k[e>>2]>>0]|0)==151){if(!(be(c,a)|0))break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}else{if(!(IQ(c,a)|0))break;k[d>>2]=(l[k[e>>2]>>0]|0)==95?1:2;h=k[d>>2]|0;r=i;return h|0}}while(0);if((k[(k[e>>2]|0)+4>>2]&16|0)!=(k[(k[f>>2]|0)+4>>2]&16|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(!(k[h>>2]&16384)){if(k[h>>2]&2048){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(zy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(zy(k[(k[e>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Ay(k[(k[e>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[h>>2]&8192|0)==0?(l[k[e>>2]>>0]|0)!=97:0){if((j[(k[e>>2]|0)+32>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[(k[e>>2]|0)+28>>2]|0)!=(k[(k[f>>2]|0)+28>>2]|0)){if((k[(k[e>>2]|0)+28>>2]|0)==(k[g>>2]|0)?(k[(k[f>>2]|0)+28>>2]|0)<0:0)break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function Ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;j=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[d>>2]|0)==0&(k[e>>2]|0)==0){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}if((k[d>>2]|0)==0|(k[e>>2]|0)==0){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}if((k[k[d>>2]>>2]|0)!=(k[k[e>>2]>>2]|0)){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0)){d=14;break}k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];if((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)!=(l[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)){d=10;break}if(zy(k[h>>2]|0,k[i>>2]|0,k[f>>2]|0)|0){d=12;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==10){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==12){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==14){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}return 0}function By(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;m=t+48|0;n=t+44|0;o=t+40|0;p=t+36|0;q=t+32|0;l=t+28|0;s=t+24|0;i=t+20|0;g=t+16|0;e=t+12|0;h=t+8|0;f=t+4|0;j=t;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=0;if(!(k[n>>2]|0)){s=k[q>>2]|0;r=t;return s|0}k[l>>2]=k[o>>2]&1;k[i>>2]=0;if(k[p>>2]|0){k[s>>2]=k[k[p>>2]>>2];k[i>>2]=32768}else{b=k[m>>2]|0;d=Cy(k[n>>2]|0,k[o>>2]|0)|0;d=Pw(b,d,((d|0)<0)<<31>>31)|0;k[s>>2]=d}k[q>>2]=k[s>>2];if(!(k[q>>2]|0)){s=k[q>>2]|0;r=t;return s|0}d=Dy(k[n>>2]|0,k[o>>2]|0)|0;k[g>>2]=d;k[e>>2]=k[g>>2]&4095;if((k[(k[n>>2]|0)+4>>2]&1024|0)==0?(k[(k[n>>2]|0)+8>>2]|0)!=0:0){d=(Sf(k[(k[n>>2]|0)+8>>2]|0)|0)+1|0;k[h>>2]=d}else k[h>>2]=0;if(!(k[l>>2]|0)){d=Ey(k[n>>2]|0)|0;k[f>>2]=d;sR(k[s>>2]|0,k[n>>2]|0,k[f>>2]|0)|0;if((k[f>>2]|0)>>>0<48)uR((k[s>>2]|0)+(k[f>>2]|0)|0,0,48-(k[f>>2]|0)|0)|0}else sR(k[s>>2]|0,k[n>>2]|0,k[e>>2]|0)|0;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]&-122881;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[g>>2]&24576;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[i>>2];if(k[h>>2]|0){i=(k[s>>2]|0)+(k[e>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=i;k[j>>2]=i;sR(k[j>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[h>>2]|0)|0}do if(!((k[(k[n>>2]|0)+4>>2]|k[(k[q>>2]|0)+4>>2])&16384)){c=k[m>>2]|0;a=(k[n>>2]|0)+20|0;if(k[(k[n>>2]|0)+4>>2]&2048){l=Rx(c,k[a>>2]|0,k[l>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=l;break}else{l=Fy(c,k[a>>2]|0,k[l>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=l;break}}while(0);a=k[n>>2]|0;if(!(k[(k[q>>2]|0)+4>>2]&24576)){if(k[a+4>>2]&16384){s=k[q>>2]|0;r=t;return s|0}s=xy(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[q>>2]|0)+12>>2]=s;s=xy(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,0)|0;k[(k[q>>2]|0)+16>>2]=s;s=k[q>>2]|0;r=t;return s|0}o=Gy(a,k[o>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+o;if(k[(k[q>>2]|0)+4>>2]&8192){o=By(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,1,s)|0;k[(k[q>>2]|0)+12>>2]=o;o=By(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,1,s)|0;k[(k[q>>2]|0)+16>>2]=o}if(!(k[p>>2]|0)){s=k[q>>2]|0;r=t;return s|0}k[k[p>>2]>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}function Cy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){a=k[e>>2]|0;r=f;return a|0}a=Gy(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if(!(k[d>>2]&1)){a=k[e>>2]|0;r=f;return a|0}a=Cy(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0)|0;a=a+(Cy(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=(k[e>>2]|0)+a;a=k[e>>2]|0;r=f;return a|0}function Dy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;do if(!(k[f>>2]&1))k[d>>2]=48;else{if((k[(k[c>>2]|0)+12>>2]|0)==0?(k[(k[c>>2]|0)+20>>2]|0)==0:0){k[d>>2]=16396;break}k[d>>2]=8220}while(0);r=e;return k[d>>2]|0}function Ey(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+4>>2]&16384))if(k[(k[c>>2]|0)+4>>2]&8192){k[b>>2]=28;break}else{k[b>>2]=48;break}else k[b>>2]=12;while(0);r=d;return k[b>>2]|0}function Fy(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,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;m=p+16|0;j=p+12|0;o=p+8|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=Pw(k[e>>2]|0,8,0)|0;k[m>>2]=b;if(!(k[m>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=k[k[f>>2]>>2]|0;k[h>>2]=b;k[k[m>>2]>>2]=b;a:do if(!(k[g>>2]&1)){k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[h>>2]|0)}}while(0);b=Pw(k[e>>2]|0,(k[h>>2]|0)*20|0,0)|0;k[j>>2]=b;k[(k[m>>2]|0)+4>>2]=b;if(!(k[j>>2]|0)){ag(k[e>>2]|0,k[m>>2]|0);k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}k[o>>2]=k[(k[f>>2]|0)+4>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=k[k[o>>2]>>2];b=xy(k[e>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[k[j>>2]>>2]=b;b=xh(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[j>>2]|0)+4>>2]=b;b=xh(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[j>>2]|0)+8>>2]=b;i[(k[j>>2]|0)+12>>0]=i[(k[o>>2]|0)+12>>0]|0;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-3|((l[(k[o>>2]|0)+13>>0]|0)>>>1&1)<<1&255;k[(k[j>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2];k[h>>2]=(k[h>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+20;k[o>>2]=(k[o>>2]|0)+20}k[d>>2]=k[m>>2];o=k[d>>2]|0;r=p;return o|0}function Gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=(Dy(k[c>>2]|0,k[f>>2]|0)|0)&4095;k[d>>2]=a;if((k[(k[c>>2]|0)+4>>2]&1024|0)==0?(k[(k[c>>2]|0)+8>>2]|0)!=0:0){f=(Sf(k[(k[c>>2]|0)+8>>2]|0)|0)+1|0;k[d>>2]=(k[d>>2]|0)+f}r=e;return (k[d>>2]|0)+7&-8|0}function Hy(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;switch(k[d>>2]|0){case 116:{k[b>>2]=30312;break}case 118:{k[b>>2]=30322;break}case 117:{k[b>>2]=30332;break}default:k[b>>2]=30339}r=c;return k[b>>2]|0}function Iy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t;o=t+36|0;h=t+32|0;e=t+28|0;i=t+24|0;p=t+20|0;q=t+16|0;f=t+12|0;s=t+8|0;n=t+4|0;k[h>>2]=a;k[e>>2]=b;k[i>>2]=c;k[p>>2]=d;k[f>>2]=k[k[h>>2]>>2];if((k[i>>2]|0)!=0?(l[(k[k[h>>2]>>2]|0)+65>>0]|0)==0:0){if((k[k[i>>2]>>2]|0)>(k[(k[f>>2]|0)+88+8>>2]|0)){s=k[h>>2]|0;k[g>>2]=k[p>>2];Kh(s,30345,g);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}k[s>>2]=k[k[e>>2]>>2];k[q>>2]=0;k[n>>2]=k[(k[i>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(k[k[i>>2]>>2]|0)){e=13;break}if(j[(k[n>>2]|0)+16>>1]|0){f=k[h>>2]|0;if((m[(k[n>>2]|0)+16>>1]|0)>(k[k[s>>2]>>2]|0)){e=10;break}Jy(f,k[s>>2]|0,(m[(k[n>>2]|0)+16>>1]|0)-1|0,k[k[n>>2]>>2]|0,k[p>>2]|0,0)}k[q>>2]=(k[q>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}if((e|0)==10){vy(f,k[p>>2]|0,(k[q>>2]|0)+1|0,k[k[s>>2]>>2]|0);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}else if((e|0)==13){k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}}k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}function Jy(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=r;r=r+48|0;g=p+32|0;t=p+28|0;s=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;q=p+8|0;o=p+4|0;n=p;k[g>>2]=a;k[t>>2]=b;k[s>>2]=c;k[m>>2]=d;k[h>>2]=e;k[j>>2]=f;k[q>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[n>>2]=k[k[g>>2]>>2];e=xy(k[n>>2]|0,k[q>>2]|0,0)|0;k[o>>2]=e;if(!(k[o>>2]|0)){r=p;return}if((i[k[h>>2]>>0]|0)!=71)Ky(k[o>>2]|0,k[j>>2]|0);if((l[k[m>>2]>>0]|0)==95){t=Ly(k[g>>2]|0,k[o>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[o>>2]=t}g=(k[o>>2]|0)+4|0;k[g>>2]=k[g>>2]|4194304;g=(k[m>>2]|0)+4|0;k[g>>2]=k[g>>2]|32768;hv(k[n>>2]|0,k[m>>2]|0);g=k[m>>2]|0;h=k[o>>2]|0;j=g+48|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((k[(k[m>>2]|0)+4>>2]&1024|0)==0?(k[(k[m>>2]|0)+8>>2]|0)!=0:0){t=xh(k[n>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[(k[m>>2]|0)+8>>2]=t;t=(k[m>>2]|0)+4|0;k[t>>2]=k[t>>2]|65536}ag(k[n>>2]|0,k[o>>2]|0);r=p;return}function Ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+48|0;c=f+32|0;d=f+28|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<=0){r=f;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=195;k[e+24>>2]=k[d>>2];ly(e,k[c>>2]|0)|0;r=f;return}function Ly(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+16|0;f=d+12|0;h=d+8|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;My(e,k[h>>2]|0);c=gw(k[g>>2]|0,k[f>>2]|0,e,0)|0;r=d;return c|0}function My(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];b=Sf(k[e>>2]|0)|0;k[(k[d>>2]|0)+4>>2]=b;r=c;return}function Ny(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=153){r=e;return 0}a=(k[d>>2]|0)+38|0;i[a>>0]=(l[a>>0]|0)+(k[(k[c>>2]|0)+24>>2]|0);r=e;return 0}function Oy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g;c=g+16|0;h=g+12|0;e=g+8|0;d=g+4|0;k[c>>2]=a;k[h>>2]=b;k[e>>2]=0;k[d>>2]=k[(k[k[c>>2]>>2]|0)+88+12>>2];if((k[h>>2]|0)<=(k[d>>2]|0)){h=k[e>>2]|0;r=g;return h|0}h=k[c>>2]|0;k[f>>2]=k[d>>2];Kh(h,30376,f);k[e>>2]=1;h=k[e>>2]|0;r=g;return h|0}function Py(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;W=X+40|0;V=X+24|0;C=X+8|0;B=X;H=X+164|0;I=X+160|0;g=X+156|0;J=X+152|0;K=X+148|0;M=X+144|0;N=X+140|0;p=X+136|0;s=X+132|0;O=X+128|0;n=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;o=X+76|0;E=X+72|0;u=X+68|0;q=X+64|0;D=X+60|0;y=X+56|0;G=X+52|0;R=X+48|0;k[I>>2]=a;k[g>>2]=b;k[J>>2]=c;k[K>>2]=d;k[M>>2]=e;k[N>>2]=f;k[O>>2]=0;k[n>>2]=0;k[t>>2]=0;k[P>>2]=k[k[I>>2]>>2];k[S>>2]=0;k[U>>2]=k[M>>2];k[T>>2]=0;k[Q>>2]=0;k[A>>2]=0;k[(k[N>>2]|0)+28>>2]=-1;k[(k[N>>2]|0)+44>>2]=0;a:do if(k[g>>2]|0){if(m[(k[M>>2]|0)+28>>1]&20){k[g>>2]=0;break}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[P>>2]|0)+20>>2]|0))break a;c=(be(k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0,k[g>>2]|0)|0)==0;f=k[p>>2]|0;if(c)break;k[p>>2]=f+1}k[T>>2]=k[(k[(k[P>>2]|0)+16>>2]|0)+(f<<4)+12>>2]}while(0);b:while(1){if(!((k[M>>2]|0)!=0?(k[O>>2]|0)==0:0)){F=89;break}k[z>>2]=k[(k[M>>2]|0)+4>>2];if(k[z>>2]|0){k[p>>2]=0;k[x>>2]=(k[z>>2]|0)+8;while(1){if((k[p>>2]|0)>=(k[k[z>>2]>>2]|0))break;k[A>>2]=k[(k[x>>2]|0)+16>>2];if((k[(k[x>>2]|0)+20>>2]|0)!=0?(m[(k[(k[x>>2]|0)+20>>2]|0)+6>>1]&1024|0)!=0:0){k[o>>2]=0;k[w>>2]=k[k[(k[x>>2]|0)+20>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break;if(Vy(k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+8>>2]|0,k[K>>2]|0,k[J>>2]|0,k[g>>2]|0)|0){k[O>>2]=(k[O>>2]|0)+1;k[n>>2]=2;k[S>>2]=k[x>>2];j[(k[N>>2]|0)+32>>1]=k[s>>2];k[o>>2]=1}k[s>>2]=(k[s>>2]|0)+1}if(!((k[o>>2]|0)!=0|(k[J>>2]|0)==0))F=21}else F=21;c:do if((F|0)==21){F=0;if((k[g>>2]|0)!=0?(k[(k[A>>2]|0)+64>>2]|0)!=(k[T>>2]|0):0)break;if(k[J>>2]|0){if(k[(k[x>>2]|0)+12>>2]|0)f=k[(k[x>>2]|0)+12>>2]|0;else f=k[k[A>>2]>>2]|0;k[E>>2]=f;if(be(k[E>>2]|0,k[J>>2]|0)|0)break}c=k[n>>2]|0;k[n>>2]=c+1;if(!c)k[S>>2]=k[x>>2];k[s>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break c;if(!(be(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)){if((k[O>>2]|0)!=1)break;if((l[(k[x>>2]|0)+36>>0]&4|0)==0?(Wy(k[(k[x>>2]|0)+52>>2]|0,k[K>>2]|0)|0)==0:0)break}k[s>>2]=(k[s>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+24}k[O>>2]=(k[O>>2]|0)+1;k[S>>2]=k[x>>2];if((k[s>>2]|0)==(j[(k[A>>2]|0)+32>>1]|0))f=-1;else f=(k[s>>2]&65535)<<16>>16;j[(k[N>>2]|0)+32>>1]=f}while(0);k[p>>2]=(k[p>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+72}if(k[S>>2]|0){k[(k[N>>2]|0)+28>>2]=k[(k[S>>2]|0)+44>>2];k[(k[N>>2]|0)+44>>2]=k[(k[S>>2]|0)+16>>2];if(l[(k[S>>2]|0)+36>>0]&8){c=(k[N>>2]|0)+4|0;k[c>>2]=k[c>>2]|1048576}k[T>>2]=k[(k[(k[N>>2]|0)+44>>2]|0)+64>>2]}}if((k[g>>2]|0)==0&(k[J>>2]|0)!=0&(k[n>>2]|0)==0?(k[(k[I>>2]|0)+420>>2]|0)!=0:0){k[u>>2]=l[(k[I>>2]|0)+440>>0];if((k[u>>2]|0)!=109?(be(30795,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=1;k[A>>2]=k[(k[I>>2]|0)+420>>2]}else F=50;do if((F|0)==50){F=0;if((k[u>>2]|0)!=108?(be(30799,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=0;k[A>>2]=k[(k[I>>2]|0)+420>>2];break}k[A>>2]=0}while(0);if(k[A>>2]|0){k[T>>2]=k[(k[A>>2]|0)+64>>2];k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;c=(be(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)==0;h=k[q>>2]|0;if(c){F=58;break}k[q>>2]=h+1;k[v>>2]=(k[v>>2]|0)+24}if((F|0)==58?(F=0,(h|0)==(j[(k[A>>2]|0)+32>>1]|0)):0)k[q>>2]=-1;if(((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0)?(Ai(k[K>>2]|0)|0)!=0:0)?(l[(k[A>>2]|0)+42>>0]&64|0)==0:0)k[q>>2]=-1;if((k[q>>2]|0)<(j[(k[A>>2]|0)+34>>1]|0)){k[O>>2]=(k[O>>2]|0)+1;f=k[N>>2]|0;do if((k[q>>2]|0)>=0){e=(k[q>>2]|0)>=32?-1:1<>2];a=k[I>>2]|0;if(!(k[f+28>>2]|0)){c=a+432|0;k[c>>2]=k[c>>2]|e;break}else{c=a+436|0;k[c>>2]=k[c>>2]|e;break}}else i[f+1>>0]=68;while(0);j[(k[N>>2]|0)+32>>1]=k[q>>2];k[(k[N>>2]|0)+44>>2]=k[A>>2];k[Q>>2]=1}}}if((((k[O>>2]|0)==0&(k[n>>2]|0)==1&(k[S>>2]|0)!=0?(m[(k[M>>2]|0)+28>>1]&32|0)==0:0)?(Ai(k[K>>2]|0)|0)!=0:0)?(l[(k[(k[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){k[O>>2]=1;j[(k[N>>2]|0)+32>>1]=-1;i[(k[N>>2]|0)+1>>0]=68}c=k[(k[M>>2]|0)+8>>2]|0;k[w>>2]=c;d:do if((c|0)!=0&(k[J>>2]|0)==0&(k[O>>2]|0)==0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break d;k[D>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2];if((k[D>>2]|0)!=0?(be(k[D>>2]|0,k[K>>2]|0)|0)==0:0){F=82;break b}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[O>>2]|0)continue;k[M>>2]=k[(k[M>>2]|0)+16>>2];k[t>>2]=(k[t>>2]|0)+1}if((F|0)==82){k[y>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((m[(k[M>>2]|0)+28>>1]&1|0)==0?(k[(k[y>>2]|0)+4>>2]&2|0)!=0:0){W=k[I>>2]|0;k[B>>2]=k[D>>2];Kh(W,30803,B);k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}Jy(k[I>>2]|0,k[w>>2]|0,k[s>>2]|0,k[N>>2]|0,19266,k[t>>2]|0);k[O>>2]=1;k[S>>2]=0}else if((F|0)==89){if((k[O>>2]|0)==0&(k[J>>2]|0)==0?(k[(k[N>>2]|0)+4>>2]&64|0)!=0:0){i[k[N>>2]>>0]=97;k[(k[N>>2]|0)+44>>2]=0;k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}if((k[O>>2]|0)!=1){k[G>>2]=(k[O>>2]|0)==0?30834:30849;do if(!(k[g>>2]|0)){e=k[I>>2]|0;f=k[G>>2]|0;if(k[J>>2]|0){J=k[J>>2]|0;W=k[K>>2]|0;k[V>>2]=f;k[V+4>>2]=J;k[V+8>>2]=W;Kh(e,30884,V);break}else{V=k[K>>2]|0;k[W>>2]=f;k[W+4>>2]=V;Kh(e,30894,W);break}}else{W=k[I>>2]|0;F=k[g>>2]|0;J=k[J>>2]|0;V=k[K>>2]|0;k[C>>2]=k[G>>2];k[C+4>>2]=F;k[C+8>>2]=J;k[C+12>>2]=V;Kh(W,30871,C)}while(0);i[(k[I>>2]|0)+17>>0]=1;W=(k[U>>2]|0)+24|0;k[W>>2]=(k[W>>2]|0)+1}if((k[S>>2]|0)!=0?(j[(k[N>>2]|0)+32>>1]|0)>=0:0){W=j[(k[N>>2]|0)+32>>1]|0;k[R>>2]=W;k[R>>2]=(k[R>>2]|0)>=64?63:W;R=vR(1,0,k[R>>2]|0)|0;W=(k[S>>2]|0)+56|0;S=W;V=k[S+4>>2]|L;k[W>>2]=k[S>>2]|R;k[W+4>>2]=V}hv(k[P>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+12>>2]=0;hv(k[P>>2]|0,k[(k[N>>2]|0)+16>>2]|0);k[(k[N>>2]|0)+16>>2]=0;i[k[N>>2]>>0]=(k[Q>>2]|0)!=0?62:152}if((k[O>>2]|0)!=1){k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}if(!(k[(k[N>>2]|0)+4>>2]&4194304))Xy(k[I>>2]|0,k[N>>2]|0,k[T>>2]|0,k[(k[M>>2]|0)+4>>2]|0);while(1){W=(k[U>>2]|0)+20|0;k[W>>2]=(k[W>>2]|0)+1;if((k[U>>2]|0)==(k[M>>2]|0))break;k[U>>2]=k[(k[U>>2]|0)+16>>2]}k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}function Qy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;h=j;e=j+24|0;f=j+20|0;g=j+16|0;l=j+12|0;i=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=d;if(!((m[(k[f>>2]|0)+28>>1]|0)&k[l>>2])){r=j;return}k[i>>2]=30711;if(!((m[(k[f>>2]|0)+28>>1]|0)&32)){if((m[(k[f>>2]|0)+28>>1]|0)&4)k[i>>2]=30757}else k[i>>2]=30739;l=k[e>>2]|0;c=k[i>>2]|0;k[h>>2]=k[g>>2];k[h+4>>2]=c;Kh(l,30775,h);r=j;return}function Ry(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=-1.0;if((l[k[c>>2]>>0]|0|0)!=133){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}a=k[(k[c>>2]|0)+8>>2]|0;Uy(a,d,Sf(k[(k[c>>2]|0)+8>>2]|0)|0,1)|0;if(+p[d>>3]>1.0){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}else{k[b>>2]=~~(+p[d>>3]*134217728.0);d=k[b>>2]|0;r=e;return d|0}return 0}function Sy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+48|0;e=d+44|0;g=d+40|0;f=d+12|0;c=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=196;k[f+24>>2]=c;k[c>>2]=k[g>>2];k[c+4>>2]=0;k[c+8>>2]=0;ky(f,k[(k[e>>2]|0)+20>>2]|0)|0;r=d;return ((k[c+4>>2]|0)>0?1:(k[c+8>>2]|0)==0)&1|0}function Ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=152?(l[k[d>>2]>>0]|0|0)!=154:0){r=i;return 0}k[e>>2]=k[(k[c>>2]|0)+24>>2];k[f>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[h>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+44>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}c=k[e>>2]|0;if((k[g>>2]|0)<(k[h>>2]|0)){h=c+4|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}else{h=c+8|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}return 0}function Uy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;E=F+76|0;v=F+72|0;w=F+68|0;e=F+64|0;h=F+80|0;q=F+60|0;D=F+56|0;t=F+52|0;s=F+16|0;n=F+48|0;y=F+44|0;o=F+40|0;x=F+36|0;C=F+8|0;z=F+32|0;A=F+28|0;j=F+24|0;u=F;k[v>>2]=a;k[w>>2]=b;k[e>>2]=c;i[h>>0]=d;k[D>>2]=(k[v>>2]|0)+(k[e>>2]|0);k[t>>2]=1;a=s;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=0;k[y>>2]=1;k[o>>2]=0;k[x>>2]=1;k[z>>2]=0;k[A>>2]=0;p[k[w>>2]>>3]=0.0;if((l[h>>0]|0)==1)k[q>>2]=1;else{k[q>>2]=2;k[j>>2]=3-(l[h>>0]|0);while(1){if((k[j>>2]|0)>=(k[e>>2]|0))break;if(i[(k[v>>2]|0)+(k[j>>2]|0)>>0]|0)break;k[j>>2]=(k[j>>2]|0)+2}k[A>>2]=(k[j>>2]|0)<(k[e>>2]|0)&1;k[D>>2]=(k[v>>2]|0)+(k[j>>2]|0)+(l[h>>0]|0)+-3;k[v>>2]=(k[v>>2]|0)+(l[h>>0]&1)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[19267+(l[k[v>>2]>>0]|0)>>0]&1))break;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0){k[E>>2]=0;E=k[E>>2]|0;r=F;return E|0}if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}else{k[t>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if((i[k[v>>2]>>0]|0)!=48)break;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[19267+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=BR(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[19267+(l[k[v>>2]>>0]|0)>>0]&4))break;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}a:do if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){b:do if((i[k[v>>2]>>0]|0)==46){k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[19267+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=BR(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=qR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+-1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break b;if(!(l[19267+(l[k[v>>2]>>0]|0)>>0]&4))break b;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1}}while(0);if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){if(!((i[k[v>>2]>>0]|0)!=101?(i[k[v>>2]>>0]|0)!=69:0))m=38;c:do if((m|0)==38){k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[x>>2]=0;if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}else{k[y>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break c;if(!(l[19267+(l[k[v>>2]>>0]|0)>>0]&4))break c;if((k[o>>2]|0)<1e4)e=((k[o>>2]|0)*10|0)+((i[k[v>>2]>>0]|0)-48)|0;else e=1e4;k[o>>2]=e;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[x>>2]=1}}while(0);if((k[z>>2]|0)!=0&(k[x>>2]|0)!=0)while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if(!(l[19267+(l[k[v>>2]>>0]|0)>>0]&1))break a;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}}}while(0);q=ha(k[o>>2]|0,k[y>>2]|0)|0;k[o>>2]=q+(k[n>>2]|0);if((k[o>>2]|0)<0){k[y>>2]=-1;q=ha(k[o>>2]|0,-1)|0;k[o>>2]=q}else k[y>>2]=1;q=s;do if((k[q>>2]|0)!=0|(k[q+4>>2]|0)!=0){d:do if((k[y>>2]|0)>0)while(1){q=s;n=k[q+4>>2]|0;if(!((n|0)<214748364|(n|0)==214748364&(k[q>>2]|0)>>>0<3435973836?(k[o>>2]|0)>0:0))break d;k[o>>2]=(k[o>>2]|0)+-1;n=s;n=BR(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;q=s;k[q>>2]=n;k[q+4>>2]=L}else while(1){q=s;q=AR(k[q>>2]|0,k[q+4>>2]|0,10,0)|0;if(!((q|0)!=0|(L|0)!=0?0:(k[o>>2]|0)>0))break d;k[o>>2]=(k[o>>2]|0)+-1;n=s;n=zR(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;q=s;k[q>>2]=n;k[q+4>>2]=L}while(0);n=(k[t>>2]|0)<0;q=s;m=k[q>>2]|0;q=k[q+4>>2]|0;a=pR(0,0,m|0,q|0)|0;t=s;k[t>>2]=n?a:m;k[t+4>>2]=n?L:q;if(!(k[o>>2]|0)){y=s;p[C>>3]=+((k[y>>2]|0)>>>0)+4294967296.0*+(k[y+4>>2]|0);break}p[u>>3]=1.0;if((k[o>>2]|0)>307&(k[o>>2]|0)<342){while(1){if(!((k[o>>2]|0)%308|0))break;p[u>>3]=+p[u>>3]*10.0;k[o>>2]=(k[o>>2]|0)-1}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;p[C>>3]=+p[C>>3]/1.e+308;break}else{p[C>>3]=g*f;p[C>>3]=+p[C>>3]*1.e+308;break}}if((k[o>>2]|0)>=342){u=s;f=+((k[u>>2]|0)>>>0)+4294967296.0*+(k[u+4>>2]|0);if((k[y>>2]|0)<0){p[C>>3]=0.0*f;break}else{p[C>>3]=B*f;break}}while(1){if(!((k[o>>2]|0)%22|0))break;p[u>>3]=+p[u>>3]*10.0;k[o>>2]=(k[o>>2]|0)-1}while(1){if((k[o>>2]|0)<=0)break;p[u>>3]=+p[u>>3]*1.0e22;k[o>>2]=(k[o>>2]|0)-22}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;break}else{p[C>>3]=g*f;break}}else p[C>>3]=((k[t>>2]|0)<0?(k[z>>2]|0)!=0:0)?-0.0:0.0;while(0);p[k[w>>2]>>3]=+p[C>>3];if(((k[z>>2]|0)>0?(k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0:0)&(k[x>>2]|0)!=0)e=(k[A>>2]|0)==0;else e=0;k[E>>2]=e&1;E=k[E>>2]|0;r=F;return E|0}function Vy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[j>>2]|0){if((Jd(k[f>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0?(i[(k[j>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[h>>2]|0){if((Jd(k[f>>2]|0,k[h>>2]|0,k[l>>2]|0)|0)==0?(i[(k[h>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);if((k[g>>2]|0)!=0?(be(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function Wy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[d>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break a;if(!(be(k[(k[k[d>>2]>>2]|0)+(k[f>>2]<<3)>>2]|0,k[e>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}while(0);k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function Xy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;f=s+36|0;g=s+32|0;e=s+28|0;h=s+24|0;t=s+20|0;p=s+16|0;q=s+12|0;o=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[t>>2]=k[k[f>>2]>>2];k[p>>2]=0;if(!(k[(k[t>>2]|0)+288>>2]|0)){r=s;return}t=Nh(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[n>>2]=t;if((k[n>>2]|0)<0){r=s;return}a:do if((l[k[g>>2]>>0]|0)==62)k[p>>2]=k[(k[f>>2]|0)+420>>2];else{k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[h>>2]>>2]|0))break a;e=k[o>>2]|0;if((k[(k[g>>2]|0)+28>>2]|0)==(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0))break;k[o>>2]=e+1}k[p>>2]=k[(k[h>>2]|0)+8+(e*72|0)+16>>2]}while(0);k[m>>2]=j[(k[g>>2]|0)+32>>1];if(!(k[p>>2]|0)){r=s;return}do if((k[m>>2]|0)<0)if((j[(k[p>>2]|0)+32>>1]|0)>=0){k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((j[(k[p>>2]|0)+32>>1]|0)*24|0)>>2];break}else{k[q>>2]=20759;break}else k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[m>>2]|0)*24|0)>>2];while(0);if(2!=(Yy(k[f>>2]|0,k[k[p>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)){r=s;return}i[k[g>>2]>>0]=101;r=s;return}function Yy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;m=o+16|0;l=o;e=o+48|0;f=o+44|0;g=o+40|0;h=o+36|0;i=o+32|0;n=o+28|0;j=o+24|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[n>>2]=k[(k[(k[i>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];b=ac[k[(k[i>>2]|0)+288>>2]&255](k[(k[i>>2]|0)+292>>2]|0,20,k[f>>2]|0,k[g>>2]|0,k[n>>2]|0,k[(k[e>>2]|0)+496>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=1){if(!((k[j>>2]|0)!=2&(k[j>>2]|0)!=0)){n=k[j>>2]|0;r=o;return n|0}Xw(k[e>>2]|0);n=k[j>>2]|0;r=o;return n|0}d=k[e>>2]|0;if((k[h>>2]|0)!=0?1:(k[(k[i>>2]|0)+20>>2]|0)>2){i=k[f>>2]|0;m=k[g>>2]|0;k[l>>2]=k[n>>2];k[l+4>>2]=i;k[l+8>>2]=m;Kh(d,30901,l)}else{n=k[g>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=n;Kh(d,30934,m)}k[(k[e>>2]|0)+12>>2]=23;n=k[j>>2]|0;r=o;return n|0} -function au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;r=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;r=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;r=j;return h|0}return 0}function bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;while(1){if((k[d>>2]|0)>0)a=(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)==32;else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=b+-1}r=e;return (b|0)==0|0}function cu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;if(!(k[e>>2]|0)){j=k[j>>2]|0;r=m;return j|0}k[i>>2]=k[(k[e>>2]|0)+4>>2];ug(k[e>>2]|0);if(l[(k[i>>2]|0)+20>>0]|0){k[j>>2]=6;j=k[j>>2]|0;r=m;return j|0}else{c=du(k[k[i>>2]>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;j=k[j>>2]|0;r=m;return j|0}return 0}function du(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[(k[e>>2]|0)+216>>2]|0)){i=k[i>>2]|0;r=j;return i|0}if(!(k[f>>2]|0))b=0;else b=k[(k[e>>2]|0)+184>>2]|0;h=Ss(k[(k[e>>2]|0)+216>>2]|0,k[f>>2]|0,b,k[(k[e>>2]|0)+188>>2]|0,l[(k[e>>2]|0)+10>>0]|0,k[(k[e>>2]|0)+160>>2]|0,k[(k[e>>2]|0)+208>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}function eu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;j=r;r=r+32|0;g=j+20|0;m=j+16|0;l=j+12|0;e=j+8|0;f=j+4|0;h=j;k[m>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=d;k[h>>2]=k[(k[m>>2]|0)+(k[l>>2]<<2)>>2];while(1){if(!(k[h>>2]|0)){e=7;break}if((Jd(k[(k[h>>2]|0)+20>>2]|0,k[e>>2]|0,k[f>>2]|0)|0)==0?(i[(k[(k[h>>2]|0)+20>>2]|0)+(k[f>>2]|0)>>0]|0)==0:0){e=5;break}k[h>>2]=k[(k[h>>2]|0)+24>>2]}if((e|0)==5){k[g>>2]=k[h>>2];m=k[g>>2]|0;r=j;return m|0}else if((e|0)==7){k[g>>2]=0;m=k[g>>2]|0;r=j;return m|0}return 0}function fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0;n=r;r=r+32|0;d=n+12|0;e=n+8|0;f=n+4|0;g=n+16|0;h=n;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;c=k[e>>2]|0;if((k[f>>2]|0)==-2){k[d>>2]=(k[c+12>>2]|0)==0?0:6;h=k[d>>2]|0;r=n;return h|0}if((j[c>>1]|0)!=(k[f>>2]|0)?(j[k[e>>2]>>1]|0)>=0:0){k[d>>2]=0;h=k[d>>2]|0;r=n;return h|0}if((j[k[e>>2]>>1]|0)==(k[f>>2]|0))k[h>>2]=4;else k[h>>2]=1;if((l[g>>0]|0)!=(m[(k[e>>2]|0)+2>>1]&3|0)){if(l[g>>0]&m[(k[e>>2]|0)+2>>1]&2)k[h>>2]=(k[h>>2]|0)+1}else k[h>>2]=(k[h>>2]|0)+2;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=n;return h|0}function gu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;f=g+8|0;h=g+4|0;j=g+20|0;e=g;k[c>>2]=a;k[d>>2]=b;a=Sf(k[(k[d>>2]|0)+20>>2]|0)|0;k[h>>2]=a;i[j>>0]=i[k[(k[d>>2]|0)+20>>2]>>0]|0;k[e>>2]=((l[18477+(l[j>>0]|0)>>0]|0)+(k[h>>2]|0)|0)%23|0;a=eu(k[c>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0,k[h>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){k[(k[d>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];k[(k[f>>2]|0)+8>>2]=k[d>>2];r=g;return}else{k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+24>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];r=g;return}}function hu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(((m[(k[d>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[d>>2]|0)+10>>0]|0|0)!=(k[e>>2]|0):0){a=iu(k[d>>2]|0,k[e>>2]&255)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function iu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;h=v+40|0;n=v+36|0;o=v+45|0;e=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;q=v+16|0;p=v+12|0;d=v+44|0;c=v+8|0;f=v+4|0;g=v;k[n>>2]=a;i[o>>0]=b;if((l[(k[n>>2]|0)+10>>0]|0|0)!=1?(l[o>>0]|0|0)!=1:0){t=ih(k[n>>2]|0)|0;k[c>>2]=t;if(k[c>>2]|0){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]&-2);while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break;i[d>>0]=i[k[s>>2]>>0]|0;i[k[s>>2]>>0]=i[(k[s>>2]|0)+1>>0]|0;k[s>>2]=(k[s>>2]|0)+1;q=i[d>>0]|0;t=k[s>>2]|0;k[s>>2]=t+1;i[t>>0]=q}i[(k[n>>2]|0)+10>>0]=i[o>>0]|0}else{b=(k[n>>2]|0)+12|0;a=k[b>>2]|0;if((l[o>>0]|0|0)==1){k[b>>2]=a&-2;k[e>>2]=(k[(k[n>>2]|0)+12>>2]<<1)+1}else k[e>>2]=(a<<1)+2;k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]|0);e=k[e>>2]|0;e=Ih(k[(k[n>>2]|0)+32>>2]|0,e,((e|0)<0)<<31>>31)|0;k[t>>2]=e;if(!(k[t>>2]|0)){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[q>>2]=k[t>>2];if((l[(k[n>>2]|0)+10>>0]|0|0)==1){a:do if((l[o>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[26420+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;f=(k[p>>2]|0)>>>8&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{g=(b>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=216+(((k[p>>2]|0)-65536|0)>>>18&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=k[p>>2]&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=220+((k[p>>2]|0)>>>8&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[26420+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b>>>8;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=216+((b-65536|0)>>>18&3);f=((k[p>>2]|0)>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=220+((k[p>>2]|0)>>>8&3)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0);u=k[q>>2]|0;k[q>>2]=u+1;i[u>>0]=0}else{b:do if((l[(k[n>>2]|0)+10>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(k[p>>2]|0)+((l[g>>0]|0)<<8);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=(k[f>>2]|0)+((l[g>>0]|0)<<8);k[p>>2]=(k[f>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=224+(b>>>12&15);g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(k[p>>2]|0)+(l[f>>0]|0);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(k[g>>2]|0)+(l[f>>0]|0);k[p>>2]=(k[g>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=224+(b>>>12&15);f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0)}i[k[q>>2]>>0]=0;k[p>>2]=m[(k[n>>2]|0)+8>>1];ch(k[n>>2]|0);j[(k[n>>2]|0)+8>>1]=514|k[p>>2]&32799;i[(k[n>>2]|0)+10>>0]=i[o>>0]|0;k[(k[n>>2]|0)+16>>2]=k[t>>2];k[(k[n>>2]|0)+20>>2]=k[(k[n>>2]|0)+16>>2];u=ju(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+16>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=u}k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}function ju(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[d>>2]|0)!=0?(ku(k[d>>2]|0,k[e>>2]|0)|0)!=0:0){k[c>>2]=m[(k[d>>2]|0)+248+4>>1];b=k[c>>2]|0;r=f;return b|0}b=bc[k[56>>2]&255](k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function ku(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+248+32>>2]|0)>>>0){b=0;b=b&1;r=e;return b|0}b=(k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+248+36>>2]|0)>>>0;b=b&1;r=e;return b|0}function lu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+28>>2];if(!(k[d>>2]|0)){r=e;return}f=k[d>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if(k[k[d>>2]>>2]|0){r=e;return}_b[k[(k[d>>2]|0)+4>>2]&255](k[(k[d>>2]|0)+8>>2]|0);ag(k[c>>2]|0,k[d>>2]|0);r=e;return}function mu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[b>>2]=a;Xf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[f>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2];a:do if(k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]|0){k[d>>2]=k[(k[f>>2]|0)+8+8>>2];while(1){if(!(k[d>>2]|0))break a;k[g>>2]=k[(k[d>>2]|0)+8>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16)su(k[b>>2]|0,k[g>>2]|0);k[d>>2]=k[k[d>>2]>>2]}}while(0);k[c>>2]=(k[c>>2]|0)+1}k[d>>2]=k[(k[b>>2]|0)+312+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[e>>2]|0)+16>>2]|0)su(k[b>>2]|0,k[(k[e>>2]|0)+16>>2]|0);k[d>>2]=k[k[d>>2]>>2]}tu(k[b>>2]|0);r=h;return}function nu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;qu(k[c>>2]|0,68);r=b;return 0}function ou(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(k[(k[b>>2]|0)+4>>2]|0){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0)){b=9;break}k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[d>>2]|0)!=0?(pu(k[d>>2]|0)|0)!=0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function pu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+16>>2]|0)!=0|0}function qu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+332>>2]|0)){r=j;return}k[e>>2]=k[(k[c>>2]|0)+332>>2];k[(k[c>>2]|0)+332>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[c>>2]|0)+308>>2]|0))break;k[h>>2]=k[(k[e>>2]|0)+(k[f>>2]<<2)>>2];k[g>>2]=k[(k[h>>2]|0)+8>>2];if((k[g>>2]|0)!=0?(k[i>>2]=k[(k[k[g>>2]>>2]|0)+(k[d>>2]|0)>>2],(k[i>>2]|0)!=0):0)bc[k[i>>2]&255](k[g>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=0;ru(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+1}ag(k[c>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+308>>2]=0;r=j;return}function ru(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){r=e;return}k[d>>2]=k[(k[b>>2]|0)+8>>2];if(k[d>>2]|0)bc[k[(k[k[d>>2]>>2]|0)+16>>2]&255](k[d>>2]|0)|0;ag(k[c>>2]|0,k[b>>2]|0);r=e;return}function su(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;h=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[h>>2]=b;k[e>>2]=(k[h>>2]|0)+56;while(1){if(!(k[k[e>>2]>>2]|0)){f=6;break}a=k[k[e>>2]>>2]|0;if((k[k[k[e>>2]>>2]>>2]|0)==(k[c>>2]|0))break;k[e>>2]=a+24}if((f|0)==6){r=g;return}k[d>>2]=a;k[k[e>>2]>>2]=k[(k[d>>2]|0)+24>>2];ru(k[d>>2]|0);r=g;return}function tu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+336>>2];k[(k[b>>2]|0)+336>>2]=0;if(!(k[c>>2]|0)){r=e;return}Yh(k[b>>2]|0);do{k[d>>2]=k[(k[c>>2]|0)+24>>2];ru(k[c>>2]|0);k[c>>2]=k[d>>2]}while((k[c>>2]|0)!=0);r=e;return}function uu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[160>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function vu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1584;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[410]=(k[53]|0)==0&1;if((k[410]|0)!=0&(k[55]|0)!=0&(k[53]|0)==0){k[411]=k[55];k[399]=10;k[409]=1;r=c;return 0}else{k[411]=0;k[399]=10;k[409]=1;r=c;return 0}return 0}function wu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1584;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function xu(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,m=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;m=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=60+((k[410]|0)*52|0);a=k[m>>2]|0;a=sg(a,((a|0)<0)<<31>>31)|0;k[g>>2]=a;if(!(k[g>>2]|0)){m=k[g>>2]|0;r=j;return m|0}if(k[410]|0){k[h>>2]=(k[g>>2]|0)+60;k[(k[h>>2]|0)+12>>2]=10}else k[h>>2]=1584;if(!(l[(k[h>>2]|0)+20+14>>0]|0)){i[(k[h>>2]|0)+20+14>>0]=1;m=(k[h>>2]|0)+20|0;k[(k[h>>2]|0)+20+24>>2]=m;k[(k[h>>2]|0)+20+28>>2]=m}k[k[g>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=k[d>>2];k[(k[g>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(k[d>>2]|0)+(k[e>>2]|0)+32;k[(k[g>>2]|0)+16>>2]=(k[f>>2]|0)!=0?1:0;Ou(k[g>>2]|0);if(k[f>>2]|0){k[(k[g>>2]|0)+20>>2]=10;m=(k[h>>2]|0)+8|0;k[m>>2]=(k[m>>2]|0)+(k[(k[g>>2]|0)+20>>2]|0);k[(k[h>>2]|0)+12>>2]=(k[(k[h>>2]|0)+4>>2]|0)+10-(k[(k[h>>2]|0)+8>>2]|0)}if(k[(k[g>>2]|0)+44>>2]|0){m=k[g>>2]|0;r=j;return m|0}Eu(k[g>>2]|0);k[g>>2]=0;m=k[g>>2]|0;r=j;return m|0}function yu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];if(!(k[(k[d>>2]|0)+16>>2]|0)){r=f;return}k[e>>2]=k[k[d>>2]>>2];g=(k[e>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+((k[c>>2]|0)-(k[(k[d>>2]|0)+24>>2]|0));k[(k[e>>2]|0)+12>>2]=(k[(k[e>>2]|0)+4>>2]|0)+10-(k[(k[e>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+24>>2]=k[c>>2];k[(k[d>>2]|0)+28>>2]=(((k[(k[d>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Gu(k[d>>2]|0);r=f;return}function zu(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=k[(k[d>>2]|0)+40>>2];r=c;return k[b>>2]|0}function Au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;a=Lu(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return a|0}function Bu(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,l=0,m=0;h=r;r=r+32|0;m=h+24|0;l=h+20|0;j=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[d>>2]=k[m>>2];k[f>>2]=k[l>>2];k[e>>2]=k[k[d>>2]>>2];if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+16>>2]|0)>>>0<=(k[(k[e>>2]|0)+4>>2]|0)>>>0:0){k[g>>2]=(k[e>>2]|0)+20+24;k[(k[f>>2]|0)+28>>2]=(k[e>>2]|0)+20;l=k[f>>2]|0;m=k[k[g>>2]>>2]|0;k[(k[f>>2]|0)+24>>2]=m;k[m+28>>2]=l;k[k[g>>2]>>2]=k[f>>2];m=(k[d>>2]|0)+36|0;k[m>>2]=(k[m>>2]|0)+1;i[(k[f>>2]|0)+12>>0]=0;r=h;return}Iu(k[f>>2]|0,1);r=h;return}function Cu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;n=j+28|0;m=j+24|0;l=j+20|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[e>>2]=d;k[g>>2]=k[n>>2];k[h>>2]=k[m>>2];k[f>>2]=((k[l>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[i>>2]=(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2);while(1){if((k[k[i>>2]>>2]|0)==(k[h>>2]|0))break;k[i>>2]=(k[k[i>>2]>>2]|0)+16}k[k[i>>2]>>2]=k[(k[h>>2]|0)+16>>2];k[f>>2]=((k[e>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[(k[h>>2]|0)+8>>2]=k[e>>2];k[(k[h>>2]|0)+16>>2]=k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2];k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]=k[h>>2];if((k[e>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0){r=j;return}k[(k[g>>2]|0)+32>>2]=k[e>>2];r=j;return}function Du(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if((k[c>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){r=e;return}Ku(k[d>>2]|0,k[c>>2]|0);k[(k[d>>2]|0)+32>>2]=(k[c>>2]|0)-1;r=e;return}function Eu(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;c=b+4|0;d=b;k[e>>2]=a;k[c>>2]=k[e>>2];k[d>>2]=k[k[c>>2]>>2];Ku(k[c>>2]|0,0);a=(k[d>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)-(k[(k[c>>2]|0)+24>>2]|0);a=(k[d>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)-(k[(k[c>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+12>>2]=(k[(k[d>>2]|0)+4>>2]|0)+10-(k[(k[d>>2]|0)+8>>2]|0);Gu(k[c>>2]|0);Ud(k[(k[c>>2]|0)+56>>2]|0);Ud(k[(k[c>>2]|0)+48>>2]|0);Ud(k[c>>2]|0);r=b;return}function Fu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(!(k[(k[b>>2]|0)+16>>2]|0)){r=e;return}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=0;Gu(k[b>>2]|0);k[(k[c>>2]|0)+4>>2]=k[d>>2];r=e;return}function Gu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];while(1){if((k[(k[d>>2]|0)+16>>2]|0)>>>0<=(k[(k[d>>2]|0)+4>>2]|0)>>>0)break;a=k[(k[d>>2]|0)+20+28>>2]|0;k[c>>2]=a;if(l[a+14>>0]|0)break;Hu(k[c>>2]|0)|0;Iu(k[c>>2]|0,1)}if(k[(k[b>>2]|0)+40>>2]|0){r=e;return}if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}Ud(k[(k[b>>2]|0)+56>>2]|0);k[(k[b>>2]|0)+52>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=e;return}function Hu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+20>>2];k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;i[(k[b>>2]|0)+12>>0]=1;a=(k[d>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return k[b>>2]|0}function Iu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+20>>2];k[h>>2]=((k[(k[c>>2]|0)+8>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2);while(1){b=(k[k[f>>2]>>2]|0)+16|0;if((k[k[f>>2]>>2]|0)==(k[c>>2]|0))break;k[f>>2]=b}k[k[f>>2]>>2]=k[b>>2];h=(k[e>>2]|0)+40|0;k[h>>2]=(k[h>>2]|0)+-1;if(!(k[d>>2]|0)){r=g;return}Ju(k[c>>2]|0);r=g;return}function Ju(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+20>>2];if(i[(k[b>>2]|0)+13>>0]|0){k[(k[b>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[b>>2]}else gj(k[k[b>>2]>>2]|0);if(!(k[(k[c>>2]|0)+16>>2]|0)){r=d;return}c=(k[k[c>>2]>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+-1;r=d;return}function Ku(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2);while(1){a=k[k[g>>2]>>2]|0;k[f>>2]=a;if(!a)break;if((k[(k[f>>2]|0)+8>>2]|0)>>>0<(k[d>>2]|0)>>>0){k[g>>2]=(k[f>>2]|0)+16;continue}a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+-1;k[k[g>>2]>>2]=k[(k[f>>2]|0)+16>>2];if(!(i[(k[f>>2]|0)+12>>0]|0))Hu(k[f>>2]|0)|0;Ju(k[f>>2]|0)}k[e>>2]=(k[e>>2]|0)+1}r=h;return}function Lu(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,l=0;j=r;r=r+32|0;g=j+20|0;l=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[l>>2];k[h>>2]=0;k[h>>2]=k[(k[(k[f>>2]|0)+48>>2]|0)+((((k[d>>2]|0)>>>0)%((k[(k[f>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(k[h>>2]|0)b=(k[(k[h>>2]|0)+8>>2]|0)!=(k[d>>2]|0);else b=0;c=k[h>>2]|0;if(!b)break;k[h>>2]=k[c+16>>2]}if(c){c=k[h>>2]|0;if(i[(k[h>>2]|0)+12>>0]|0){k[g>>2]=c;l=k[g>>2]|0;r=j;return l|0}else{l=Hu(c)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}}else if(k[e>>2]|0){l=Mu(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}else{k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}return 0}function Mu(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,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[j>>2]=(k[(k[e>>2]|0)+40>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);do if((k[g>>2]|0)==1){if((k[j>>2]|0)>>>0<(k[(k[l>>2]|0)+12>>2]|0)>>>0?(k[j>>2]|0)>>>0<(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){if(!(Nu(k[e>>2]|0)|0))break;if((k[(k[e>>2]|0)+36>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((k[(k[e>>2]|0)+40>>2]|0)>>>0>=(k[(k[e>>2]|0)+44>>2]|0)>>>0)Ou(k[e>>2]|0);do if((k[(k[e>>2]|0)+16>>2]|0)!=0?(i[(k[(k[l>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((k[(k[e>>2]|0)+40>>2]|0)+1|0)>>>0<(k[(k[e>>2]|0)+24>>2]|0)>>>0?(Nu(k[e>>2]|0)|0)==0:0)break;k[n>>2]=k[(k[l>>2]|0)+20+28>>2];Iu(k[n>>2]|0,0);Hu(k[n>>2]|0)|0;k[m>>2]=k[(k[n>>2]|0)+20>>2];if((k[(k[m>>2]|0)+12>>2]|0)!=(k[(k[e>>2]|0)+12>>2]|0)){Ju(k[n>>2]|0);k[n>>2]=0;break}else{l=(k[l>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)-((k[(k[m>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+16>>2]|0));break}}while(0);if(!(k[n>>2]|0)){m=Pu(k[e>>2]|0,(k[g>>2]|0)==1&1)|0;k[n>>2]=m}if((k[n>>2]|0)!=0?(k[h>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0,m=(k[e>>2]|0)+40|0,k[m>>2]=(k[m>>2]|0)+1,k[(k[n>>2]|0)+8>>2]=k[f>>2],k[(k[n>>2]|0)+16>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2],k[(k[n>>2]|0)+20>>2]=k[e>>2],k[(k[n>>2]|0)+28>>2]=0,k[(k[n>>2]|0)+24>>2]=0,i[(k[n>>2]|0)+12>>0]=1,k[k[(k[n>>2]|0)+4>>2]>>2]=0,k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2]=k[n>>2],(k[f>>2]|0)>>>0>(k[(k[e>>2]|0)+32>>2]|0)>>>0):0)k[(k[e>>2]|0)+32>>2]=k[f>>2];k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Nu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[413]|0)!=0?((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0)<=(k[412]|0):0){k[b>>2]=k[420];d=k[b>>2]|0;r=c;return d|0}d=Ru()|0;k[b>>2]=d;d=k[b>>2]|0;r=c;return d|0}function Ou(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;f=i+16|0;e=i+12|0;h=i+8|0;g=i+4|0;d=i;k[b>>2]=a;a=k[(k[b>>2]|0)+44>>2]<<1;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<256?256:a;if(k[(k[b>>2]|0)+44>>2]|0)ak();a=sg(k[f>>2]<<2,0)|0;k[c>>2]=a;if(k[(k[b>>2]|0)+44>>2]|0)bk();if(!(k[c>>2]|0)){r=i;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[b>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=k[(k[(k[b>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2];while(1){a=k[g>>2]|0;k[h>>2]=a;if(!a)break;k[d>>2]=((k[(k[h>>2]|0)+8>>2]|0)>>>0)%((k[f>>2]|0)>>>0)|0;k[g>>2]=k[(k[h>>2]|0)+16>>2];k[(k[h>>2]|0)+16>>2]=k[(k[c>>2]|0)+(k[d>>2]<<2)>>2];k[(k[c>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2]}k[e>>2]=(k[e>>2]|0)+1}Ud(k[(k[b>>2]|0)+48>>2]|0);k[(k[b>>2]|0)+48>>2]=k[c>>2];k[(k[b>>2]|0)+44>>2]=k[f>>2];r=i;return}function Pu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(k[(k[d>>2]|0)+52>>2]|0)h=4;else{if((k[(k[d>>2]|0)+40>>2]|0)==0?(Qu(k[d>>2]|0)|0)!=0:0){h=4;break}if(k[e>>2]|0)ak();a=oj(k[(k[d>>2]|0)+12>>2]|0)|0;k[g>>2]=a;k[f>>2]=(k[g>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);if(k[e>>2]|0)bk();if(k[g>>2]|0){k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=0;i[(k[f>>2]|0)+14>>0]=0;break}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);if((h|0)==4){k[f>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=0}if(k[(k[d>>2]|0)+16>>2]|0){h=(k[k[d>>2]>>2]|0)+16|0;k[h>>2]=(k[h>>2]|0)+1}k[c>>2]=k[f>>2];h=k[c>>2]|0;r=j;return h|0}function Qu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;g=j;h=j+20|0;e=j+16|0;d=j+12|0;f=j+8|0;k[c>>2]=a;if(!(k[411]|0)){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}if((k[(k[c>>2]|0)+24>>2]|0)>>>0<3){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}ak();if((k[411]|0)>0){a=k[(k[c>>2]|0)+12>>2]|0;l=k[411]|0;l=BR(a|0,((a|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;a=g;k[a>>2]=l;k[a+4>>2]=L}else{a=k[411]|0;a=BR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;l=g;k[l>>2]=a;k[l+4>>2]=L}n=g;a=k[n>>2]|0;n=k[n+4>>2]|0;l=k[(k[c>>2]|0)+12>>2]|0;l=BR(l|0,((l|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;m=L;if((n|0)>(m|0)|(n|0)==(m|0)&a>>>0>l>>>0){m=ha(k[(k[c>>2]|0)+12>>2]|0,k[(k[c>>2]|0)+24>>2]|0)|0;n=g;k[n>>2]=m;k[n+4>>2]=0}n=g;n=ig(k[n>>2]|0,k[n+4>>2]|0)|0;k[(k[c>>2]|0)+56>>2]=n;k[h>>2]=n;bk();a:do if(k[h>>2]|0){n=jg(k[h>>2]|0)|0;k[e>>2]=(n|0)/(k[(k[c>>2]|0)+12>>2]|0)|0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break a;k[f>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+4>>2]|0);k[k[f>>2]>>2]=k[h>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=1;i[(k[f>>2]|0)+14>>0]=0;k[(k[f>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[f>>2];k[h>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=(k[(k[c>>2]|0)+52>>2]|0)!=0&1;n=k[b>>2]|0;r=j;return n|0}function Ru(){return k[77]|0}function Su(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+8|0;b=d+4|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)+7&-8;a=iR((k[e>>2]|0)+8|0)|0;k[b>>2]=a;a=k[e>>2]|0;if(k[b>>2]|0){e=k[b>>2]|0;k[e>>2]=a;k[e+4>>2]=((a|0)<0)<<31>>31;k[b>>2]=(k[b>>2]|0)+8;e=k[b>>2]|0;r=d;return e|0}else{k[c>>2]=a;$d(7,27278,c);e=k[b>>2]|0;r=d;return e|0}return 0}function Tu(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[c>>2]=(k[c>>2]|0)+-8;jR(k[c>>2]|0);r=b;return}function Uu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-8;a=lR(k[e>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=a;if(k[e>>2]|0){a=k[d>>2]|0;f=k[e>>2]|0;k[f>>2]=a;k[f+4>>2]=((a|0)<0)<<31>>31;k[e>>2]=(k[e>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}else{b=Vu(k[c>>2]|0)|0;a=k[d>>2]|0;k[f>>2]=b;k[f+4>>2]=a;$d(7,27242,f);f=k[e>>2]|0;r=g;return f|0}return 0}function Vu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];k[b>>2]=(k[b>>2]|0)+-8;r=c;return k[k[b>>2]>>2]|0}function Wu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+7&-8|0}function Xu(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function Yu(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function Zu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=gc[k[d>>2]&255](1612,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;r=c;return d|0}k[k[b>>2]>>2]=-1;d=k[b>>2]|0;r=c;return d|0}function _u(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;f=n+8|0;c=n+4|0;d=n;k[j>>2]=a;k[e>>2]=b;a:do switch(l[40089+(l[k[j>>2]>>0]|0)>>0]|0){case 7:{k[h>>2]=1;while(1){if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=159;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 11:{if((l[(k[j>>2]|0)+1>>0]|0)!=45){k[k[e>>2]>>2]=90;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}k[h>>2]=2;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!((g|0)!=0?(k[f>>2]|0)!=10:0))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=159;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 17:{k[k[e>>2]>>2]=22;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 18:{k[k[e>>2]>>2]=23;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 19:{k[k[e>>2]>>2]=1;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 20:{k[k[e>>2]>>2]=89;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 21:{k[k[e>>2]>>2]=91;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 16:{if((l[(k[j>>2]|0)+1>>0]|0)==42?(l[(k[j>>2]|0)+2>>0]|0)!=0:0){k[h>>2]=3;k[f>>2]=l[(k[j>>2]|0)+2>>0];while(1){if((k[f>>2]|0)==42?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==47:0)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}if(k[f>>2]|0)k[h>>2]=(k[h>>2]|0)+1;k[k[e>>2]>>2]=159;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}k[k[e>>2]>>2]=92;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 22:{k[k[e>>2]>>2]=93;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 14:{k[k[e>>2]>>2]=79;k[m>>2]=1+((l[(k[j>>2]|0)+1>>0]|0)==61&1);m=k[m>>2]|0;r=n;return m|0}case 12:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=81;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}if((k[f>>2]|0)==62){k[k[e>>2]>>2]=78;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==60){k[c>>2]=87;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=82;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 13:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=83;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==62){k[c>>2]=88;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=80;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 15:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=61){k[c>>2]=160;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=78;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 10:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=124){k[c>>2]=86;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=94;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 23:{k[k[e>>2]>>2]=26;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 24:{k[k[e>>2]>>2]=85;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 25:{k[k[e>>2]>>2]=96;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 8:{k[c>>2]=l[k[j>>2]>>0];k[h>>2]=1;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)==(k[c>>2]|0)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=(k[c>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)==39){k[k[e>>2]>>2]=97;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if(k[f>>2]|0){k[c>>2]=27;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}}case 26:{if(l[19267+(l[(k[j>>2]|0)+1>>0]|0)>>0]&4)g=64;else{k[k[e>>2]>>2]=122;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}break}case 3:{g=64;break}case 9:{k[h>>2]=1;k[f>>2]=l[k[j>>2]>>0];while(1){if((k[f>>2]|0)==93)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=(k[f>>2]|0)==93?27:160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 6:{k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){c=k[h>>2]|0;if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}case 5:case 4:{k[d>>2]=0;k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){a=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=a;if(!a)break;if(l[19267+(k[f>>2]&255)>>0]&70)k[d>>2]=(k[d>>2]|0)+1;else{if((k[f>>2]|0)==40&(k[d>>2]|0)>0){g=107;break}if((k[f>>2]|0)!=58)break;if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=58)break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}do if((g|0)==107){while(1){k[h>>2]=(k[h>>2]|0)+1;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)!=41?(l[19267+(k[f>>2]&255)>>0]&1|0)==0:0)g=107;else break}if((k[f>>2]|0)==41){k[h>>2]=(k[h>>2]|0)+1;break}else{k[k[e>>2]>>2]=160;break}}while(0);if(!(k[d>>2]|0))k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 1:{k[h>>2]=1;while(1){c=k[h>>2]|0;if((l[40089+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]|0)>1)break;k[h>>2]=c+1}if(l[19267+(l[(k[j>>2]|0)+c>>0]|0)>>0]&70){k[h>>2]=(k[h>>2]|0)+1;break a}k[k[e>>2]>>2]=27;j=Yi(k[j>>2]|0,k[h>>2]|0,k[e>>2]|0)|0;k[m>>2]=j;m=k[m>>2]|0;r=n;return m|0}case 0:{if((l[(k[j>>2]|0)+1>>0]|0)==39){k[k[e>>2]>>2]=134;k[h>>2]=2;while(1){c=k[h>>2]|0;if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}if(!((l[(k[j>>2]|0)+c>>0]|0)==39?((k[h>>2]|0)%2|0|0)==0:0))g=131;b:do if((g|0)==131){k[k[e>>2]>>2]=160;while(1){if(!(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0))break b;if((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==39)break b;k[h>>2]=(k[h>>2]|0)+1}}while(0);if(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else g=138;break}case 2:{g=138;break}default:{k[k[e>>2]>>2]=160;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}while(0);if((g|0)==64){k[k[e>>2]>>2]=132;do if((l[k[j>>2]>>0]|0)==48){if((l[(k[j>>2]|0)+1>>0]|0)!=120?(l[(k[j>>2]|0)+1>>0]|0)!=88:0)break;if(l[19267+(l[(k[j>>2]|0)+2>>0]|0)>>0]&8){k[h>>2]=3;while(1){c=k[h>>2]|0;if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}}while(0);k[h>>2]=0;while(1){c=k[h>>2]|0;if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}if((l[(k[j>>2]|0)+c>>0]|0)==46){k[h>>2]=(k[h>>2]|0)+1;while(1){if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=133}if(!((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=101?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=69:0))g=82;do if((g|0)==82){if(!(l[19267+(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)>>0]&4)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=43?(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=45:0)break;if(!(l[19267+(l[(k[j>>2]|0)+((k[h>>2]|0)+2)>>0]|0)>>0]&4))break}k[h>>2]=(k[h>>2]|0)+2;while(1){if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=133}while(0);while(1){if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[k[e>>2]>>2]=160;k[h>>2]=(k[h>>2]|0)+1}k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else if((g|0)==138)k[h>>2]=1;while(1){if(!(l[19267+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=27;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}function $u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;l=n+32|0;o=n+28|0;f=n+24|0;e=n+20|0;h=n+8|0;g=n+4|0;m=n;k[o>>2]=a;k[f>>2]=b;k[e>>2]=d;k[m>>2]=k[o>>2];if((k[k[m>>2]>>2]|0)<0){k[k[m>>2]>>2]=0;k[(k[m>>2]|0)+4>>2]=-1;j[(k[m>>2]|0)+12>>1]=0;i[(k[m>>2]|0)+12+2>>0]=0};k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];k[(k[m>>2]|0)+8>>2]=k[e>>2];while(1){e=mv(k[m>>2]|0,k[f>>2]&255)|0;k[g>>2]=e;e=k[g>>2]|0;do if((k[g>>2]|0)>976){d=k[m>>2]|0;if((e|0)<=1304){ov(d,(k[g>>2]|0)-977|0);break}else{o=k[f>>2]|0;k[l>>2]=k[h>>2];k[l+4>>2]=k[h+4>>2];k[l+8>>2]=k[h+8>>2];pv(d,o,l);kv(k[m>>2]|0,k[f>>2]&255,h);k[f>>2]=253;break}}else{if((e|0)>435)k[g>>2]=(k[g>>2]|0)+328;nv(k[m>>2]|0,k[g>>2]|0,k[f>>2]|0,h);o=(k[m>>2]|0)+4|0;k[o>>2]=(k[o>>2]|0)+-1;k[f>>2]=253}while(0);if((k[f>>2]|0)==253){e=13;break}if((k[k[m>>2]>>2]|0)<0){e=13;break}}if((e|0)==13){r=n;return}}function av(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];while(1){if((k[k[d>>2]>>2]|0)<0)break;jv(k[d>>2]|0)}_b[k[c>>2]&255](k[d>>2]|0);r=e;return}function bv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];$f(k[c>>2]|0,k[b>>2]|0);a=k[(k[b>>2]|0)+52>>2]|0;if(k[(k[b>>2]|0)+48>>2]|0)k[(k[(k[b>>2]|0)+48>>2]|0)+52>>2]=a;else k[(k[c>>2]|0)+4>>2]=a;if(k[(k[b>>2]|0)+52>>2]|0)k[(k[(k[b>>2]|0)+52>>2]|0)+48>>2]=k[(k[b>>2]|0)+48>>2];k[(k[b>>2]|0)+40>>2]=-1241070648;k[k[b>>2]>>2]=0;ag(k[c>>2]|0,k[b>>2]|0);r=d;return}function cv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<4);dv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);ev(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);ag(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1}ag(k[c>>2]|0,k[d>>2]|0);r=g;return}function dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;hv(a,k[k[f>>2]>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}ag(a,k[(k[d>>2]|0)+4>>2]|0);ag(k[c>>2]|0,k[d>>2]|0);r=g;return}function ev(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;fv(k[e>>2]|0,k[d>>2]|0,1);r=c;return}function fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+52>>2];dv(k[d>>2]|0,k[k[e>>2]>>2]|0);gv(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);hv(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0);dv(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0);hv(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0);dv(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0);hv(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0);hv(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0);cv(k[d>>2]|0,k[(k[e>>2]|0)+68>>2]|0);if(k[f>>2]|0)ag(k[d>>2]|0,k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=1}r=h;return}function gv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=(k[d>>2]|0)+8;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;ag(a,k[(k[f>>2]|0)+4>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);ag(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1)ag(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1)dv(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);_f(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);ev(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0);hv(k[c>>2]|0,k[(k[f>>2]|0)+48>>2]|0);iv(k[c>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}ag(a,k[d>>2]|0);r=g;return}function hv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}do if(!(k[(k[d>>2]|0)+4>>2]&16384)){hv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);hv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(k[(k[d>>2]|0)+4>>2]&65536)ag(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0);a=k[c>>2]|0;b=(k[d>>2]|0)+20|0;if(k[(k[d>>2]|0)+4>>2]&2048){ev(a,k[b>>2]|0);break}else{dv(a,k[b>>2]|0);break}}while(0);if(k[(k[d>>2]|0)+4>>2]&32768){r=e;return}ag(k[c>>2]|0,k[d>>2]|0);r=e;return}function iv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break;ag(a,k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}ag(a,k[k[d>>2]>>2]|0);ag(k[c>>2]|0,k[d>>2]|0);r=f;return}function jv(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-1;k[c>>2]=(k[d>>2]|0)+12+(a<<4);kv(k[d>>2]|0,i[(k[c>>2]|0)+2>>0]|0,(k[c>>2]|0)+4|0);r=b;return}function kv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+12|0;d=f+4|0;e=f;k[h>>2]=a;i[g>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[h>>2]|0)+8>>2];do switch(l[g>>0]|0|0){case 208:case 197:case 196:case 163:{ev(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 175:case 174:{hv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 227:case 220:case 211:case 210:case 209:case 206:case 204:case 201:case 189:case 188:case 179:{dv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 214:case 213:case 202:case 195:{gv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 251:case 198:{cv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 242:case 237:case 228:case 226:case 217:case 205:case 203:{hv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 222:case 219:case 218:{iv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 238:case 233:{lv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 235:{iv(k[k[e>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=f;return}default:{r=f;return}}while(0)}function lv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+28>>2];hv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);dv(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);ev(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);iv(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0);ag(k[c>>2]|0,k[e>>2]|0)}r=f;return}function mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;o=r;r=r+32|0;c=o+16|0;p=o+12|0;d=o+21|0;e=o+8|0;h=o+4|0;f=o+20|0;g=o;k[p>>2]=a;i[d>>0]=b;k[h>>2]=m[(k[p>>2]|0)+12+(k[k[p>>2]>>2]<<4)>>1];if((k[h>>2]|0)>=977){k[c>>2]=k[h>>2];p=k[c>>2]|0;r=o;return p|0}while(1){k[e>>2]=j[15538+(k[h>>2]<<1)>>1];if((k[e>>2]|0)==-89){n=4;break}k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=1501)?(l[38518+(k[e>>2]|0)>>0]|0)==(l[d>>0]|0):0){n=15;break}if((l[d>>0]|0)<=0)break;if((l[d>>0]|0)>>>0>=70){n=11;break}p=i[40019+(l[d>>0]|0)>>0]|0;i[f>>0]=p;if(!(p&255)){n=11;break}i[d>>0]=i[f>>0]|0}if((n|0)==4){k[c>>2]=m[16410+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}else if((n|0)==11){k[g>>2]=(k[e>>2]|0)-(l[d>>0]|0)+70;if((k[g>>2]|0)>=0&(k[g>>2]|0)<1501?(l[38518+(k[g>>2]|0)>>0]|0)==70:0){k[c>>2]=m[12532+(k[g>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}}else if((n|0)==15){k[c>>2]=m[12532+(k[e>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[c>>2]=m[16410+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}function nv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;c=k[e>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>=100){qH(c,k[h>>2]|0);r=m;return}else{k[l>>2]=(k[e>>2]|0)+12+(k[c>>2]<<4);j[k[l>>2]>>1]=k[f>>2];i[(k[l>>2]|0)+2>>0]=k[g>>2];l=(k[l>>2]|0)+4|0;h=k[h>>2]|0;k[l>>2]=k[h>>2];k[l+4>>2]=k[h+4>>2];k[l+8>>2]=k[h+8>>2];r=m;return}}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=r;r=r+256|0;M=$+40|0;L=$+32|0;O=$+24|0;N=$+16|0;R=$+8|0;K=$;U=$+248|0;V=$+244|0;X=$+240|0;W=$+236|0;Y=$+224|0;Z=$+220|0;_=$+216|0;T=$+212|0;I=$+200|0;J=$+188|0;d=$+168|0;e=$+164|0;y=$+160|0;q=$+156|0;n=$+152|0;P=$+144|0;z=$+136|0;o=$+132|0;f=$+128|0;A=$+124|0;p=$+120|0;h=$+116|0;v=$+112|0;w=$+108|0;B=$+104|0;C=$+100|0;E=$+96|0;D=$+92|0;F=$+88|0;G=$+84|0;H=$+80|0;s=$+76|0;t=$+72|0;u=$+68|0;x=$+64|0;Q=$+60|0;g=$+56|0;c=$+48|0;k[U>>2]=a;k[V>>2]=b;k[T>>2]=k[(k[U>>2]|0)+8>>2];k[Z>>2]=(k[U>>2]|0)+12+(k[k[U>>2]>>2]<<4);k[Y>>2]=k[1265];k[Y+4>>2]=k[1266];k[Y+8>>2]=k[1267];a:do switch(k[V>>2]|0){case 6:{i[(k[T>>2]|0)+453>>0]=1;break}case 7:{i[(k[T>>2]|0)+453>>0]=2;break}case 8:{qv(k[T>>2]|0);break}case 9:{rv(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);break}case 13:{k[Y>>2]=7;break}case 117:case 115:case 16:case 15:case 14:{k[Y>>2]=l[(k[Z>>2]|0)+2>>0];break}case 18:case 17:{sv(k[T>>2]|0);break}case 19:{tv(k[T>>2]|0);break}case 22:{uv(k[T>>2]|0,0,(k[Z>>2]|0)+4|0);break}case 23:{uv(k[T>>2]|0,1,(k[Z>>2]|0)+4|0);break}case 24:{uv(k[T>>2]|0,2,(k[Z>>2]|0)+4|0);break}case 26:{vv(k[T>>2]|0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0,k[(k[Z>>2]|0)+-64+4>>2]|0,0,0,k[(k[Z>>2]|0)+-32+4>>2]|0);break}case 27:{wv(k[T>>2]|0);T=(k[Z>>2]|0)+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];break}case 247:case 222:case 219:case 124:case 108:case 97:case 85:case 83:case 81:case 68:case 34:case 31:case 28:{k[Y>>2]=0;break}case 248:case 223:case 220:case 107:case 84:case 69:case 30:case 29:{k[Y>>2]=1;break}case 32:{xv(k[T>>2]|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+-16+4|0,k[(k[Z>>2]|0)+4>>2]&255,0);break}case 33:{xv(k[T>>2]|0,0,0,0,k[(k[Z>>2]|0)+4>>2]|0);ev(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 35:{if((k[(k[Z>>2]|0)+4+4>>2]|0)==5?(Jd(k[(k[Z>>2]|0)+4>>2]|0,25592,5)|0)==0:0){k[Y>>2]=96;break a}k[Y>>2]=0;T=k[T>>2]|0;S=k[(k[Z>>2]|0)+4>>2]|0;k[K>>2]=k[(k[Z>>2]|0)+4+4>>2];k[K+4>>2]=S;Kh(T,27365,K);break}case 38:{k[Y>>2]=k[(k[Z>>2]|0)+-32+4>>2];k[Y+4>>2]=(k[(k[T>>2]|0)+508>>2]|0)-(k[(k[Z>>2]|0)+-32+4>>2]|0)+(k[(k[T>>2]|0)+508+4>>2]|0);break}case 39:{yv(k[T>>2]|0,(k[Z>>2]|0)+4|0);S=(k[Z>>2]|0)+4|0;k[Y>>2]=k[S>>2];k[Y+4>>2]=k[S+4>>2];k[(k[T>>2]|0)+328+4>>2]=0;break}case 280:case 264:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 151:case 142:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{T=(k[Z>>2]|0)+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];break}case 44:{zv(k[T>>2]|0,(k[Z>>2]|0)+4|0);break}case 46:{k[Y>>2]=k[(k[Z>>2]|0)+-48+4>>2];k[Y+4>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0)-(k[(k[Z>>2]|0)+-48+4>>2]|0);break}case 47:{k[Y>>2]=k[(k[Z>>2]|0)+-80+4>>2];k[Y+4>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0)-(k[(k[Z>>2]|0)+-80+4>>2]|0);break}case 49:{k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2];k[Y+4>>2]=(k[(k[Z>>2]|0)+4+4>>2]|0)+((k[(k[Z>>2]|0)+4>>2]|0)-(k[(k[Z>>2]|0)+-16+4>>2]|0));break}case 92:case 54:{T=(k[T>>2]|0)+328|0;S=(k[Z>>2]|0)+4|0;k[T>>2]=k[S>>2];k[T+4>>2]=k[S+4>>2];break}case 57:case 55:{Av(k[T>>2]|0,(k[Z>>2]|0)+4|0);break}case 56:{Av(k[T>>2]|0,(k[Z>>2]|0)+-16+4|0);break}case 58:{S=Bv(k[T>>2]|0,155,k[(k[Z>>2]|0)+4>>2]|0,0,0)|0;k[I>>2]=S;k[I+4>>2]=k[(k[Z>>2]|0)+-16+4>>2];k[I+8>>2]=k[(k[Z>>2]|0)+4+8>>2];Av(k[T>>2]|0,I);break}case 59:{Cv(J,k[T>>2]|0,97,(k[Z>>2]|0)+4|0);Av(k[T>>2]|0,J);break}case 61:{Dv(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 62:{Ev(k[T>>2]|0,0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0);break}case 63:{Fv(k[T>>2]|0,0,0,0,0,k[(k[Z>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 64:{Gv(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);break}case 65:{Hv(k[T>>2]|0,0,(k[Z>>2]|0)+-32+4|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 66:{Iv(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 67:{Jv(k[T>>2]|0,(k[Z>>2]|0)+4|0);break}case 70:{k[Y>>2]=0;break}case 71:{k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2]&~k[(k[Z>>2]|0)+4+4>>2]|k[(k[Z>>2]|0)+4>>2];break}case 73:case 72:{k[Y>>2]=0;k[Y+4>>2]=0;break}case 74:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];k[Y+4>>2]=255;break}case 75:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2]<<8;k[Y+4>>2]=65280;break}case 76:{k[Y>>2]=7;break}case 77:{k[Y>>2]=8;break}case 78:{k[Y>>2]=9;break}case 79:{k[Y>>2]=6;break}case 80:{k[Y>>2]=0;break}case 178:case 103:case 102:case 100:case 98:case 82:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 86:{k[Y+4>>2]=0;k[Y>>2]=0;break}case 87:{T=(k[Z>>2]|0)+-16+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];break}case 90:{k[(k[T>>2]|0)+328+4>>2]=0;break}case 93:{Ev(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,0);break}case 94:{Fv(k[T>>2]|0,0,0,0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 95:{Gv(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0);break}case 96:{Hv(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,(k[Z>>2]|0)+-48+4|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);Iv(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 101:case 99:{k[Y>>2]=10;break}case 104:{k[Y>>2]=4;break}case 179:case 105:{k[Y>>2]=5;break}case 106:{Kv(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,0,k[(k[Z>>2]|0)+-16+4>>2]|0);break}case 109:{Lv(k[T>>2]|0,(k[Z>>2]|0)+-128+4|0,(k[Z>>2]|0)+-64+4|0,(k[Z>>2]|0)+-48+4|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-112+4>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]|0);break}case 110:{Kv(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,1,k[(k[Z>>2]|0)+-16+4>>2]|0);break}case 111:{k[d>>2]=k[1268];k[d+4>>2]=k[1269];k[d+8>>2]=k[1270];k[d+12>>2]=k[1271];k[d+16>>2]=k[1272];Mv(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,d)|0;ev(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 112:{k[e>>2]=k[(k[Z>>2]|0)+4>>2];if(k[e>>2]|0){k[(k[e>>2]|0)+68>>2]=k[(k[Z>>2]|0)+-16+4>>2];Nv(k[T>>2]|0,k[e>>2]|0)}else cv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);k[Y>>2]=k[e>>2];break}case 119:case 113:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 114:{k[y>>2]=k[(k[Z>>2]|0)+4>>2];k[q>>2]=k[(k[Z>>2]|0)+-32+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+52>>2]|0)!=0:0){k[P+4>>2]=0;Nv(k[T>>2]|0,k[y>>2]|0);S=Ov(k[T>>2]|0,0,0,0,P,k[y>>2]|0,0,0)|0;k[n>>2]=S;S=Pv(k[T>>2]|0,0,k[n>>2]|0,0,0,0,0,0,0,0)|0;k[y>>2]=S}if(k[y>>2]|0){i[(k[y>>2]|0)+4>>0]=k[(k[Z>>2]|0)+-16+4>>2];k[(k[y>>2]|0)+52>>2]=k[q>>2];if(k[q>>2]|0){S=(k[q>>2]|0)+6|0;j[S>>1]=m[S>>1]&-513}S=(k[y>>2]|0)+6|0;j[S>>1]=m[S>>1]&-513;if((k[(k[Z>>2]|0)+-16+4>>2]|0)!=116)i[(k[T>>2]|0)+22>>0]=1}else ev(k[k[T>>2]>>2]|0,k[q>>2]|0);k[Y>>2]=k[y>>2];break}case 116:{k[Y>>2]=116;break}case 118:{T=Pv(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+-112+4>>2]&65535,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+4+4>>2]|0)|0;k[Y>>2]=T;break}case 120:{T=Pv(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,0,0,0,0,0,256,0,0)|0;k[Y>>2]=T;break}case 121:{k[o>>2]=k[(k[Z>>2]|0)+-64+4>>2];T=Pv(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,0,0,0,0,0,768,0,0)|0;k[z>>2]=T;if(k[o>>2]|0){T=(k[o>>2]|0)+6|0;j[T>>1]=m[T>>1]&-513}if(k[z>>2]|0){i[(k[z>>2]|0)+4>>0]=116;k[o>>2]=k[(k[Z>>2]|0)+-64+4>>2];k[(k[z>>2]|0)+52>>2]=k[o>>2];k[Y>>2]=k[z>>2];break a}else{k[Y>>2]=k[o>>2];break a}}case 122:{k[Y>>2]=1;break}case 123:{k[Y>>2]=2;break}case 244:case 125:{k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2];break}case 243:case 237:case 162:case 155:case 126:{k[Y>>2]=0;break}case 127:{S=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0)|0;k[Y>>2]=S;if((k[(k[Z>>2]|0)+4+4>>2]|0)>>>0>0)Rv(k[T>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+4|0,1);Sv(k[T>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+-16+4|0);break}case 128:{S=Tv(k[k[T>>2]>>2]|0,158,0)|0;k[f>>2]=S;T=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[f>>2]|0)|0;k[Y>>2]=T;break}case 129:{S=Bv(k[T>>2]|0,158,0,0,(k[Z>>2]|0)+4|0)|0;k[A>>2]=S;S=Bv(k[T>>2]|0,27,0,0,(k[Z>>2]|0)+-32+4|0)|0;k[p>>2]=S;S=Bv(k[T>>2]|0,122,k[p>>2]|0,k[A>>2]|0,0)|0;k[h>>2]=S;T=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,k[h>>2]|0)|0;k[Y>>2]=T;break}case 132:{k[Y+4>>2]=0;break}case 133:{T=zh(k[k[T>>2]>>2]|0,80,0)|0;k[Y>>2]=T;break}case 134:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];Uv(k[Y>>2]|0);break}case 135:{k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2];if((k[Y>>2]|0)!=0?(k[k[Y>>2]>>2]|0)>0:0)i[(k[Y>>2]|0)+8+(((k[k[Y>>2]>>2]|0)-1|0)*72|0)+36>>0]=k[(k[Z>>2]|0)+4>>2];break}case 136:{k[Y>>2]=0;break}case 137:{S=Ov(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,(k[Z>>2]|0)+-80+4|0,(k[Z>>2]|0)+-64+4|0,(k[Z>>2]|0)+-48+4|0,0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=S;Vv(k[T>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+-32+4|0);break}case 138:{S=Ov(k[T>>2]|0,k[(k[Z>>2]|0)+-128+4>>2]|0,(k[Z>>2]|0)+-112+4|0,(k[Z>>2]|0)+-96+4|0,(k[Z>>2]|0)+-32+4|0,0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=S;Wv(k[T>>2]|0,k[Y>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0);break}case 139:{T=Ov(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,0,0,(k[Z>>2]|0)+-32+4|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 140:{if((((k[(k[Z>>2]|0)+-96+4>>2]|0)==0?(k[(k[Z>>2]|0)+-32+4+4>>2]|0)==0:0)?(k[(k[Z>>2]|0)+-16+4>>2]|0)==0:0)?(k[(k[Z>>2]|0)+4>>2]|0)==0:0){k[Y>>2]=k[(k[Z>>2]|0)+-64+4>>2];break a}if((k[k[(k[Z>>2]|0)+-64+4>>2]>>2]|0)!=1){Uv(k[(k[Z>>2]|0)+-64+4>>2]|0);S=Pv(k[T>>2]|0,0,k[(k[Z>>2]|0)+-64+4>>2]|0,0,0,0,0,1024,0,0)|0;k[B>>2]=S;T=Ov(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,0,0,(k[Z>>2]|0)+-32+4|0,k[B>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break a}S=Ov(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,0,0,(k[Z>>2]|0)+-32+4|0,0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=S;if(k[Y>>2]|0){k[v>>2]=(k[Y>>2]|0)+8+(((k[k[Y>>2]>>2]|0)-1|0)*72|0);k[w>>2]=(k[(k[Z>>2]|0)+-64+4>>2]|0)+8;k[(k[v>>2]|0)+8>>2]=k[(k[w>>2]|0)+8>>2];k[(k[v>>2]|0)+4>>2]=k[(k[w>>2]|0)+4>>2];k[(k[v>>2]|0)+20>>2]=k[(k[w>>2]|0)+20>>2];k[(k[w>>2]|0)+4>>2]=0;k[(k[w>>2]|0)+8>>2]=0;k[(k[w>>2]|0)+20>>2]=0}gv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0);break}case 150:case 141:{k[Y>>2]=0;k[Y+4>>2]=0;break}case 143:{T=Xv(k[k[T>>2]>>2]|0,0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0)|0;k[Y>>2]=T;break}case 144:{k[Y>>2]=1;break}case 145:{T=Yv(k[T>>2]|0,(k[Z>>2]|0)+-16+4|0,0,0)|0;k[Y>>2]=T;break}case 146:{T=Yv(k[T>>2]|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+-16+4|0,0)|0;k[Y>>2]=T;break}case 147:{T=Yv(k[T>>2]|0,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+-16+4|0)|0;k[Y>>2]=T;break}case 234:case 232:case 172:case 165:case 148:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 235:case 233:case 171:case 164:case 149:{k[Y>>2]=0;break}case 152:{k[Y>>2]=0;k[Y+4>>2]=1;break}case 181:case 153:{k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2];break}case 180:case 154:{k[Y>>2]=0;break}case 236:case 163:case 156:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 157:{T=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0)|0;k[Y>>2]=T;Zv(k[Y>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 158:{T=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+-16+4>>2]|0)|0;k[Y>>2]=T;Zv(k[Y>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 159:{k[Y>>2]=0;break}case 160:{k[Y>>2]=1;break}case 161:{k[Y>>2]=-1;break}case 166:{k[Y>>2]=0;k[Y+4>>2]=0;break}case 167:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];k[Y+4>>2]=0;break}case 168:{k[Y>>2]=k[(k[Z>>2]|0)+-32+4>>2];k[Y+4>>2]=k[(k[Z>>2]|0)+4>>2];break}case 169:{k[Y+4>>2]=k[(k[Z>>2]|0)+-32+4>>2];k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 170:{_v(k[T>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]|0,1);Vv(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,(k[Z>>2]|0)+-16+4|0);$v(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 173:{_v(k[T>>2]|0,k[(k[Z>>2]|0)+-112+4>>2]|0,1);Vv(k[T>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,(k[Z>>2]|0)+-48+4|0);aw(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,27392);bw(k[T>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]|0);break}case 174:{S=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=S;Rv(k[T>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+-32+4|0,1);break}case 175:{S=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=S;Rv(k[T>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+-32+4|0,1);break}case 176:{_v(k[T>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]|0,1);cw(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0);break}case 177:{_v(k[T>>2]|0,k[(k[Z>>2]|0)+-96+4>>2]|0,1);cw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]|0);break}case 182:{T=dw(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,(k[Z>>2]|0)+4|0)|0;k[Y>>2]=T;break}case 183:{T=dw(k[k[T>>2]>>2]|0,0,(k[Z>>2]|0)+4|0)|0;k[Y>>2]=T;break}case 184:{T=(k[Z>>2]|0)+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];k[Y+8>>2]=k[T+8>>2];break}case 185:{k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2];ew(Y,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0);break}case 192:case 191:case 186:{Cv(Y,k[T>>2]|0,l[(k[Z>>2]|0)+2>>0]|0,(k[Z>>2]|0)+4|0);break}case 188:case 187:{Cv(Y,k[T>>2]|0,27,(k[Z>>2]|0)+4|0);break}case 189:{S=Bv(k[T>>2]|0,27,0,0,(k[Z>>2]|0)+-32+4|0)|0;k[C>>2]=S;S=Bv(k[T>>2]|0,27,0,0,(k[Z>>2]|0)+4|0)|0;k[E>>2]=S;T=Bv(k[T>>2]|0,122,k[C>>2]|0,k[E>>2]|0,0)|0;k[Y>>2]=T;ew(Y,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0);break}case 190:{S=Bv(k[T>>2]|0,27,0,0,(k[Z>>2]|0)+-64+4|0)|0;k[D>>2]=S;S=Bv(k[T>>2]|0,27,0,0,(k[Z>>2]|0)+-32+4|0)|0;k[F>>2]=S;S=Bv(k[T>>2]|0,27,0,0,(k[Z>>2]|0)+4|0)|0;k[G>>2]=S;S=Bv(k[T>>2]|0,122,k[F>>2]|0,k[G>>2]|0,0)|0;k[H>>2]=S;T=Bv(k[T>>2]|0,122,k[D>>2]|0,k[H>>2]|0,0)|0;k[Y>>2]=T;ew(Y,(k[Z>>2]|0)+-64+4|0,(k[Z>>2]|0)+4|0);break}case 193:{do if(((k[(k[Z>>2]|0)+4+4>>2]|0)>>>0>=2?(i[k[(k[Z>>2]|0)+4>>2]>>0]|0)==35:0)?(l[19267+(l[(k[(k[Z>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){c=k[T>>2]|0;d=(k[Z>>2]|0)+4|0;if(!(l[(k[T>>2]|0)+18>>0]|0)){k[R>>2]=d;Kh(c,27341,R);k[Y>>2]=0;break}T=Bv(c,157,0,0,d)|0;k[Y>>2]=T;if(k[Y>>2]|0)Vi((k[(k[Z>>2]|0)+4>>2]|0)+1|0,(k[Y>>2]|0)+28|0)|0}else S=161;while(0);if((S|0)==161){Cv(Y,k[T>>2]|0,135,(k[Z>>2]|0)+4|0);fw(k[T>>2]|0,k[Y>>2]|0)}ew(Y,(k[Z>>2]|0)+4|0,(k[Z>>2]|0)+4|0);break}case 194:{T=gw(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,(k[Z>>2]|0)+4|0,1)|0;k[Y>>2]=T;k[Y+4>>2]=k[(k[Z>>2]|0)+-32+4+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 195:{T=Bv(k[T>>2]|0,38,k[(k[Z>>2]|0)+-48+4>>2]|0,0,(k[Z>>2]|0)+-16+4|0)|0;k[Y>>2]=T;ew(Y,(k[Z>>2]|0)+-80+4|0,(k[Z>>2]|0)+4|0);break}case 196:{if((k[(k[Z>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[Z>>2]|0)+-16+4>>2]>>2]|0)>(k[(k[k[T>>2]>>2]|0)+88+24>>2]|0):0){S=k[T>>2]|0;k[N>>2]=(k[Z>>2]|0)+-64+4;Kh(S,27401,N)}T=hw(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,(k[Z>>2]|0)+-64+4|0)|0;k[Y>>2]=T;ew(Y,(k[Z>>2]|0)+-64+4|0,(k[Z>>2]|0)+4|0);if((k[(k[Z>>2]|0)+-32+4>>2]|0)==1?(k[Y>>2]|0)!=0:0){T=(k[Y>>2]|0)+4|0;k[T>>2]=k[T>>2]|16}break}case 197:{T=hw(k[T>>2]|0,0,(k[Z>>2]|0)+-48+4|0)|0;k[Y>>2]=T;ew(Y,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+4|0);break}case 198:{T=hw(k[T>>2]|0,0,(k[Z>>2]|0)+4|0)|0;k[Y>>2]=T;ew(Y,(k[Z>>2]|0)+4|0,(k[Z>>2]|0)+4|0);break}case 206:case 205:case 204:case 203:case 202:case 201:case 200:case 199:{iw(Y,k[T>>2]|0,l[(k[Z>>2]|0)+-16+2>>0]|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0);break}case 207:{T=(k[Z>>2]|0)+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];k[Y+8>>2]=0;break}case 208:{T=(k[Z>>2]|0)+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];k[Y+8>>2]=1;break}case 209:{S=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[s>>2]=S;S=Qv(k[T>>2]|0,k[s>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0)|0;k[s>>2]=S;S=hw(k[T>>2]|0,k[s>>2]|0,(k[Z>>2]|0)+-16+4|0)|0;k[Y>>2]=S;jw(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4+8>>2]|0,Y);k[Y+4>>2]=k[(k[Z>>2]|0)+-32+4+4>>2];k[Y+8>>2]=k[(k[Z>>2]|0)+4+8>>2];if(k[Y>>2]|0){T=(k[Y>>2]|0)+4|0;k[T>>2]=k[T>>2]|128}break}case 210:{S=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+-32+4>>2]|0)|0;k[t>>2]=S;S=Qv(k[T>>2]|0,k[t>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0)|0;k[t>>2]=S;S=Qv(k[T>>2]|0,k[t>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[t>>2]=S;S=hw(k[T>>2]|0,k[t>>2]|0,(k[Z>>2]|0)+-48+4|0)|0;k[Y>>2]=S;jw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4+8>>2]|0,Y);k[Y+4>>2]=k[(k[Z>>2]|0)+-64+4+4>>2];k[Y+8>>2]=k[(k[Z>>2]|0)+4+8>>2];if(k[Y>>2]|0){T=(k[Y>>2]|0)+4|0;k[T>>2]=k[T>>2]|128}break}case 211:{kw(Y,k[T>>2]|0,l[(k[Z>>2]|0)+2>>0]|0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0);break}case 212:{kw(Y,k[T>>2]|0,77,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0);break}case 213:{iw(Y,k[T>>2]|0,73,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0);lw(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[Y>>2]|0,76);break}case 214:{iw(Y,k[T>>2]|0,148,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+4|0);lw(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[Y>>2]|0,77);break}case 216:case 215:{mw(Y,k[T>>2]|0,l[(k[Z>>2]|0)+-16+2>>0]|0,(k[Z>>2]|0)+4|0,(k[Z>>2]|0)+-16+4|0);break}case 217:{mw(Y,k[T>>2]|0,155,(k[Z>>2]|0)+4|0,(k[Z>>2]|0)+-16+4|0);break}case 218:{mw(Y,k[T>>2]|0,156,(k[Z>>2]|0)+4|0,(k[Z>>2]|0)+-16+4|0);break}case 221:{S=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+-32+4>>2]|0)|0;k[u>>2]=S;S=Qv(k[T>>2]|0,k[u>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[u>>2]=S;S=Bv(k[T>>2]|0,74,k[(k[Z>>2]|0)+-64+4>>2]|0,0,0)|0;k[Y>>2]=S;if(k[Y>>2]|0)k[(k[Y>>2]|0)+20>>2]=k[u>>2];else dv(k[k[T>>2]>>2]|0,k[u>>2]|0);jw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,Y);k[Y+4>>2]=k[(k[Z>>2]|0)+-64+4+4>>2];k[Y+8>>2]=k[(k[Z>>2]|0)+4+8>>2];break}case 224:{do if(!(k[(k[Z>>2]|0)+-16+4>>2]|0)){S=Bv(k[T>>2]|0,132,0,0,5092+(k[(k[Z>>2]|0)+-48+4>>2]<<3)|0)|0;k[Y>>2]=S;hv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0)}else{if((k[k[(k[Z>>2]|0)+-16+4>>2]>>2]|0)==1){k[x>>2]=k[k[(k[(k[Z>>2]|0)+-16+4>>2]|0)+4>>2]>>2];k[k[(k[(k[Z>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;dv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);if(k[x>>2]|0){S=(k[x>>2]|0)+4|0;k[S>>2]=k[S>>2]&-257;S=(k[x>>2]|0)+4|0;k[S>>2]=k[S>>2]|512}T=Bv(k[T>>2]|0,(k[(k[Z>>2]|0)+-48+4>>2]|0)!=0?78:79,k[(k[Z>>2]|0)+-64+4>>2]|0,k[x>>2]|0,0)|0;k[Y>>2]=T;break}S=Bv(k[T>>2]|0,75,k[(k[Z>>2]|0)+-64+4>>2]|0,0,0)|0;k[Y>>2]=S;if(k[Y>>2]|0){k[(k[Y>>2]|0)+20>>2]=k[(k[Z>>2]|0)+-16+4>>2];nw(k[T>>2]|0,k[Y>>2]|0)}else dv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);jw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,Y)}while(0);k[Y+4>>2]=k[(k[Z>>2]|0)+-64+4+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 225:{S=Bv(k[T>>2]|0,119,0,0,0)|0;k[Y>>2]=S;if(k[Y>>2]|0){k[(k[Y>>2]|0)+20>>2]=k[(k[Z>>2]|0)+-16+4>>2];S=(k[Y>>2]|0)+4|0;k[S>>2]=k[S>>2]|2099200;nw(k[T>>2]|0,k[Y>>2]|0)}else ev(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);k[Y+4>>2]=k[(k[Z>>2]|0)+-32+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 226:{S=Bv(k[T>>2]|0,75,k[(k[Z>>2]|0)+-64+4>>2]|0,0,0)|0;k[Y>>2]=S;if(k[Y>>2]|0){k[(k[Y>>2]|0)+20>>2]=k[(k[Z>>2]|0)+-16+4>>2];S=(k[Y>>2]|0)+4|0;k[S>>2]=k[S>>2]|2099200;nw(k[T>>2]|0,k[Y>>2]|0)}else ev(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);jw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,Y);k[Y+4>>2]=k[(k[Z>>2]|0)+-64+4+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 227:{c=Xv(k[k[T>>2]>>2]|0,0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0)|0;k[Q>>2]=c;c=Bv(k[T>>2]|0,75,k[(k[Z>>2]|0)+-48+4>>2]|0,0,0)|0;k[Y>>2]=c;c=k[T>>2]|0;if(k[Y>>2]|0){S=Pv(c,0,k[Q>>2]|0,0,0,0,0,0,0,0)|0;k[(k[Y>>2]|0)+20>>2]=S;S=(k[Y>>2]|0)+4|0;k[S>>2]=k[S>>2]|2099200;nw(k[T>>2]|0,k[Y>>2]|0)}else gv(k[c>>2]|0,k[Q>>2]|0);jw(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,Y);k[Y+4>>2]=k[(k[Z>>2]|0)+-48+4+4>>2];c=k[Z>>2]|0;if(k[(k[Z>>2]|0)+4>>2]|0)c=(k[(k[Z>>2]|0)+4>>2]|0)+(k[c+4+4>>2]|0)|0;else c=(k[(k[Z>>2]|0)+-16+4>>2]|0)+(k[c+-16+4+4>>2]|0)|0;k[Y+8>>2]=c;break}case 228:{S=Bv(k[T>>2]|0,20,0,0,0)|0;k[Y>>2]=S;k[g>>2]=S;if(k[g>>2]|0){k[(k[g>>2]|0)+20>>2]=k[(k[Z>>2]|0)+-16+4>>2];S=(k[g>>2]|0)+4|0;k[S>>2]=k[S>>2]|2099200;nw(k[T>>2]|0,k[g>>2]|0)}else ev(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);k[Y+4>>2]=k[(k[Z>>2]|0)+-48+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 229:{S=Bv(k[T>>2]|0,136,k[(k[Z>>2]|0)+-48+4>>2]|0,0,0)|0;k[Y>>2]=S;if(k[Y>>2]|0){if(k[(k[Z>>2]|0)+-16+4>>2]|0)c=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0)|0;else c=k[(k[Z>>2]|0)+-32+4>>2]|0;k[(k[Y>>2]|0)+20>>2]=c;nw(k[T>>2]|0,k[Y>>2]|0)}else{dv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0);hv(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0)}k[Y+4>>2]=k[(k[Z>>2]|0)+-64+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 230:{S=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0)|0;k[Y>>2]=S;T=Qv(k[T>>2]|0,k[Y>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 231:{S=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+-32+4>>2]|0)|0;k[Y>>2]=S;T=Qv(k[T>>2]|0,k[Y>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 238:{T=Qv(k[T>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 239:{T=Qv(k[T>>2]|0,0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 240:{Fv(k[T>>2]|0,(k[Z>>2]|0)+-112+4|0,(k[Z>>2]|0)+-96+4|0,Xv(k[k[T>>2]>>2]|0,0,(k[Z>>2]|0)+-64+4|0,0)|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+-160+4>>2]|0,(k[Z>>2]|0)+-176+4|0,k[(k[Z>>2]|0)+4>>2]|0,0,k[(k[Z>>2]|0)+-128+4>>2]|0)|0;break}case 292:case 241:{k[Y>>2]=2;break}case 242:{k[Y>>2]=0;break}case 245:{T=ow(k[T>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,(k[Z>>2]|0)+-32+4|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 246:{T=ow(k[T>>2]|0,0,(k[Z>>2]|0)+-32+4|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 249:{pw(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);break}case 251:case 250:{qw(k[T>>2]|0);break}case 252:{rw(k[T>>2]|0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0,0,0);break}case 253:{rw(k[T>>2]|0,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0,0);break}case 254:{rw(k[T>>2]|0,(k[Z>>2]|0)+-64+4|0,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+-16+4|0,0);break}case 255:{rw(k[T>>2]|0,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0,1);break}case 256:{rw(k[T>>2]|0,(k[Z>>2]|0)+-64+4|0,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+-16+4|0,1);break}case 265:{k[c>>2]=k[(k[Z>>2]|0)+-48+4>>2];k[c+4>>2]=(k[(k[Z>>2]|0)+4>>2]|0)-(k[(k[Z>>2]|0)+-48+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);sw(k[T>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,c);break}case 266:{tw(k[T>>2]|0,(k[Z>>2]|0)+-112+4|0,(k[Z>>2]|0)+-96+4|0,k[(k[Z>>2]|0)+-80+4>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-64+4+4>>2]|0,k[(k[Z>>2]|0)+-32+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-160+4>>2]|0,k[(k[Z>>2]|0)+-128+4>>2]|0);c=k[Z>>2]|0;if(!(k[(k[Z>>2]|0)+-96+4+4>>2]|0)){T=c+-112+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];break a}else{T=c+-96+4|0;k[Y>>2]=k[T>>2];k[Y+4>>2]=k[T+4>>2];break a}}case 270:case 267:{k[Y>>2]=35;break}case 268:{k[Y>>2]=31;break}case 269:{k[Y>>2]=49;break}case 272:case 271:{k[Y>>2]=l[(k[Z>>2]|0)+2>>0];k[Y+4>>2]=0;break}case 273:{k[Y>>2]=110;k[Y+4>>2]=k[(k[Z>>2]|0)+4>>2];break}case 297:case 276:{k[Y>>2]=0;break}case 298:case 277:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 278:{k[(k[(k[(k[Z>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=k[(k[Z>>2]|0)+-16+4>>2];k[(k[(k[Z>>2]|0)+-32+4>>2]|0)+32>>2]=k[(k[Z>>2]|0)+-16+4>>2];k[Y>>2]=k[(k[Z>>2]|0)+-32+4>>2];break}case 279:{k[(k[(k[Z>>2]|0)+-16+4>>2]|0)+32>>2]=k[(k[Z>>2]|0)+-16+4>>2];k[Y>>2]=k[(k[Z>>2]|0)+-16+4>>2];break}case 281:{S=(k[Z>>2]|0)+4|0;k[Y>>2]=k[S>>2];k[Y+4>>2]=k[S+4>>2];Kh(k[T>>2]|0,27435,O);break}case 283:{Kh(k[T>>2]|0,27530,L);break}case 284:{Kh(k[T>>2]|0,27614,M);break}case 285:{T=uw(k[k[T>>2]>>2]|0,(k[Z>>2]|0)+-64+4|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-80+4>>2]&255)|0;k[Y>>2]=T;break}case 286:{T=vw(k[k[T>>2]>>2]|0,(k[Z>>2]|0)+-32+4|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-64+4>>2]&255)|0;k[Y>>2]=T;break}case 287:{T=ww(k[k[T>>2]>>2]|0,(k[Z>>2]|0)+-32+4|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 288:{T=xw(k[k[T>>2]>>2]|0,k[(k[Z>>2]|0)+4>>2]|0)|0;k[Y>>2]=T;break}case 289:{T=Bv(k[T>>2]|0,57,0,0,0)|0;k[Y>>2]=T;if(k[Y>>2]|0)i[(k[Y>>2]|0)+1>>0]=4;k[Y+4>>2]=k[(k[Z>>2]|0)+-48+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 290:{T=Bv(k[T>>2]|0,57,0,0,(k[Z>>2]|0)+-16+4|0)|0;k[Y>>2]=T;if(k[Y>>2]|0)i[(k[Y>>2]|0)+1>>0]=k[(k[Z>>2]|0)+-48+4>>2];k[Y+4>>2]=k[(k[Z>>2]|0)+-80+4>>2];k[Y+8>>2]=(k[(k[Z>>2]|0)+4>>2]|0)+(k[(k[Z>>2]|0)+4+4>>2]|0);break}case 291:{k[Y>>2]=1;break}case 293:{k[Y>>2]=3;break}case 294:{yw(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0);break}case 295:{zw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 296:{Aw(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 301:{Bw(k[T>>2]|0,0,0);break}case 302:{Bw(k[T>>2]|0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0);break}case 303:{Cw(k[T>>2]|0,0,0);break}case 304:{Cw(k[T>>2]|0,(k[Z>>2]|0)+-16+4|0,(k[Z>>2]|0)+4|0);break}case 305:{Dw(k[T>>2]|0,k[(k[Z>>2]|0)+-48+4>>2]|0,(k[Z>>2]|0)+4|0);break}case 306:{Ew(k[T>>2]|0,(k[Z>>2]|0)+4|0);break}case 307:{wv(k[T>>2]|0);Fw(k[T>>2]|0,k[(k[Z>>2]|0)+4>>2]|0);break}case 310:{Gw(k[T>>2]|0,0);break}case 311:{Gw(k[T>>2]|0,(k[Z>>2]|0)+4|0);break}case 312:{Hw(k[T>>2]|0,(k[Z>>2]|0)+-48+4|0,(k[Z>>2]|0)+-32+4|0,(k[Z>>2]|0)+4|0,k[(k[Z>>2]|0)+-64+4>>2]|0);break}case 315:{Iw(k[T>>2]|0);break}case 319:case 318:case 317:{Jw(k[T>>2]|0,(k[Z>>2]|0)+4|0);break}case 323:{k[Y>>2]=0;break}case 325:case 324:{k[Y>>2]=k[(k[Z>>2]|0)+4>>2];break}case 326:{T=Kw(k[T>>2]|0,0,(k[Z>>2]|0)+-80+4|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0)|0;k[Y>>2]=T;break}case 327:{T=Kw(k[T>>2]|0,k[(k[Z>>2]|0)+-112+4>>2]|0,(k[Z>>2]|0)+-80+4|0,k[(k[Z>>2]|0)+-64+4>>2]|0,k[(k[Z>>2]|0)+-16+4>>2]|0)|0;k[Y>>2]=T;break}default:{}}while(0);k[X>>2]=l[27699+(k[V>>2]<<1)>>0];k[_>>2]=l[27699+(k[V>>2]<<1)+1>>0];V=k[U>>2]|0;k[V>>2]=(k[V>>2]|0)-(k[_>>2]|0);V=Lw(m[(k[Z>>2]|0)+(0-(k[_>>2]|0)<<4)>>1]|0,k[X>>2]&255)|0;k[W>>2]=V;if((k[W>>2]|0)>976){Mw(k[U>>2]|0);r=$;return}if((k[W>>2]|0)>435)k[W>>2]=(k[W>>2]|0)+328;c=k[U>>2]|0;if(k[_>>2]|0){k[c>>2]=(k[c>>2]|0)+1;k[Z>>2]=(k[Z>>2]|0)+(0-((k[_>>2]|0)-1)<<4);j[k[Z>>2]>>1]=k[W>>2];i[(k[Z>>2]|0)+2>>0]=k[X>>2];_=(k[Z>>2]|0)+4|0;k[_>>2]=k[Y>>2];k[_+4>>2]=k[Y+4>>2];k[_+8>>2]=k[Y+8>>2];r=$;return}else{nv(c,k[W>>2]|0,k[X>>2]|0,Y);r=$;return}}function pv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;e=d+12|0;f=d+4|0;k[e>>2]=a;k[d+8>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];a=k[f>>2]|0;k[g>>2]=c;Kh(a,27341,g);k[(k[e>>2]|0)+8>>2]=k[f>>2];r=d;return}function qv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;c=j+20|0;g=j+16|0;e=j+12|0;d=j+8|0;h=j+4|0;f=j;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(i[(k[b>>2]|0)+18>>0]|0){r=j;return}if((l[(k[c>>2]|0)+65>>0]|0)==0?(k[(k[b>>2]|0)+68>>2]|0)==0:0){a=Zw(k[b>>2]|0)|0;k[g>>2]=a;do if(k[g>>2]|0){do{}while((wA(k[g>>2]|0,61)|0)!=0);gx(k[g>>2]|0,21)|0;if(!(l[(k[c>>2]|0)+65>>0]|0)){if((k[(k[b>>2]|0)+340>>2]|0)==0?(k[(k[b>>2]|0)+324>>2]|0)==0:0)break;Pz(k[g>>2]|0,0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(((k[(k[b>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Rh(k[g>>2]|0,k[e>>2]|0),Oh(k[g>>2]|0,2,k[e>>2]|0,(k[(k[b>>2]|0)+336>>2]&1<>2]|0)!=0&1,k[(k[b>>2]|0)+344+(k[e>>2]<<2)>>2]|0,k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(l[(k[c>>2]|0)+140+5>>0]|0)==0):0)Ph(k[g>>2]|0,1);k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+456>>2]|0))break;a=Kx(k[c>>2]|0,k[(k[(k[b>>2]|0)+524>>2]|0)+(k[d>>2]<<2)>>2]|0)|0;k[h>>2]=a;cx(k[g>>2]|0,149,0,0,0,k[h>>2]|0,-10)|0;k[d>>2]=(k[d>>2]|0)+1}k[(k[b>>2]|0)+456>>2]=0;oH(k[b>>2]|0);pH(k[b>>2]|0);a:do if(k[(k[b>>2]|0)+324>>2]|0){k[f>>2]=k[(k[b>>2]|0)+324>>2];i[(k[b>>2]|0)+23>>0]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[f>>2]>>2]|0))break a;HA(k[b>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);Oz(k[g>>2]|0,1)|0}}while(0);if(((k[g>>2]|0)!=0?(k[(k[b>>2]|0)+68>>2]|0)==0:0)?(i[(k[c>>2]|0)+65>>0]|0)==0:0){if((k[(k[b>>2]|0)+412>>2]|0)!=0?(k[(k[b>>2]|0)+72>>2]|0)==0:0)k[(k[b>>2]|0)+72>>2]=1;Th(k[g>>2]|0,k[b>>2]|0);k[(k[b>>2]|0)+12>>2]=101;r=j;return}k[(k[b>>2]|0)+12>>2]=1;r=j;return}if(k[(k[b>>2]|0)+12>>2]|0){r=j;return}k[(k[b>>2]|0)+12>>2]=1;r=j;return}function rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];if(Ww(k[c>>2]|0,22,38426,0,0)|0){r=h;return}b=Zw(k[c>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){r=h;return}a:do if((k[d>>2]|0)!=7){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break a;$w(k[g>>2]|0,2,k[f>>2]|0,((k[d>>2]|0)==9&1)+1|0)|0;Rh(k[g>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);gx(k[g>>2]|0,1)|0;r=h;return}function sv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(Ww(k[b>>2]|0,22,38449,0,0)|0){r=d;return}a=Zw(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}Hz(k[c>>2]|0,1,1)|0;r=d;return}function tv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(Ww(k[b>>2]|0,22,38440,0,0)|0){r=d;return}a=Zw(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}$w(k[c>>2]|0,1,1,1)|0;r=d;return}function uv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;i=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;a=Nw(k[k[d>>2]>>2]|0,k[i>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}i=Zw(k[d>>2]|0)|0;k[f>>2]=i;if((k[f>>2]|0)!=0?(Ww(k[d>>2]|0,32,k[6348+(k[e>>2]<<2)>>2]|0,k[g>>2]|0,0)|0)==0:0){cx(k[f>>2]|0,0,k[e>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}ag(k[k[d>>2]>>2]|0,k[g>>2]|0);r=h;return}function vv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;h=J+92|0;m=J+88|0;n=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;q=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;o=J+36|0;p=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;k[w>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[x>>2]=e;k[y>>2]=f;k[z>>2]=g;k[H>>2]=0;k[A>>2]=k[k[w>>2]>>2];if((l[(k[A>>2]|0)+140+5>>0]|0)!=0?(k[(k[A>>2]|0)+140>>2]|0)==1:0){k[I>>2]=l[(k[A>>2]|0)+140+4>>0];s=xh(k[A>>2]|0,(k[I>>2]|0)==1?20769:20788)|0;k[H>>2]=s;k[B>>2]=k[h>>2]}else{a=Dz(k[w>>2]|0,k[h>>2]|0,k[m>>2]|0,B)|0;k[I>>2]=a;if((k[I>>2]|0)<0){r=J;return}if((k[n>>2]|0)!=0?((k[I>>2]|0)!=1?(k[(k[m>>2]|0)+4>>2]|0)>>>0>0:0):0){Kh(k[w>>2]|0,38316,s);r=J;return}if(k[n>>2]|0)k[I>>2]=1;s=Nw(k[A>>2]|0,k[B>>2]|0)|0;k[H>>2]=s}s=(k[w>>2]|0)+500|0;a=k[B>>2]|0;k[s>>2]=k[a>>2];k[s+4>>2]=k[a+4>>2];if(!(k[H>>2]|0)){r=J;return}a:do if(!(Ix(k[w>>2]|0,k[H>>2]|0)|0)){if((l[(k[A>>2]|0)+140+4>>0]|0)==1)k[n>>2]=1;k[u>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(!(Ww(k[w>>2]|0,18,(k[n>>2]|0)==1?20769:20788,0,k[u>>2]|0)|0)){if((k[y>>2]|0)==0?(Ww(k[w>>2]|0,l[38357+((k[n>>2]|0)+(k[x>>2]<<1))>>0]|0,k[H>>2]|0,0,k[u>>2]|0)|0)!=0:0)break;do if(!(i[(k[w>>2]|0)+454>>0]|0)){k[v>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(zz(k[w>>2]|0)|0)break a;u=zi(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0;k[q>>2]=u;if(!(k[q>>2]|0)){if(!(Pj(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0))break;I=k[w>>2]|0;k[t>>2]=k[H>>2];Kh(I,38385,t);break a}h=k[w>>2]|0;if(k[z>>2]|0){lx(h,k[I>>2]|0);break a}else{k[G>>2]=k[B>>2];Kh(h,38361,G);break a}}while(0);G=zh(k[A>>2]|0,72,0)|0;k[q>>2]=G;if(!(k[q>>2]|0)){k[(k[w>>2]|0)+12>>2]=7;I=(k[w>>2]|0)+68|0;k[I>>2]=(k[I>>2]|0)+1;break}k[k[q>>2]>>2]=k[H>>2];j[(k[q>>2]|0)+32>>1]=-1;k[(k[q>>2]|0)+64>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+12>>2];j[(k[q>>2]|0)+36>>1]=1;j[(k[q>>2]|0)+38>>1]=200;k[(k[w>>2]|0)+488>>2]=k[q>>2];if((i[(k[w>>2]|0)+18>>0]|0)==0?(IQ(k[H>>2]|0,29688)|0)==0:0)k[(k[(k[q>>2]|0)+64>>2]|0)+72>>2]=k[q>>2];if(i[(k[A>>2]|0)+140+5>>0]|0){r=J;return}H=Zw(k[w>>2]|0)|0;k[F>>2]=H;if(!H){r=J;return}kx(k[w>>2]|0,1,k[I>>2]|0);if(k[y>>2]|0)gx(k[F>>2]|0,149)|0;H=(k[w>>2]|0)+76|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[(k[w>>2]|0)+392>>2]=h;k[C>>2]=h;h=(k[w>>2]|0)+76|0;H=(k[h>>2]|0)+1|0;k[h>>2]=H;k[(k[w>>2]|0)+396>>2]=H;k[D>>2]=H;H=(k[w>>2]|0)+76|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[E>>2]=h;dx(k[F>>2]|0,51,k[I>>2]|0,k[E>>2]|0,2)|0;Rh(k[F>>2]|0,k[I>>2]|0);h=Hz(k[F>>2]|0,45,k[E>>2]|0)|0;k[o>>2]=h;k[p>>2]=(k[(k[A>>2]|0)+24>>2]&32768|0)!=0?1:4;dx(k[F>>2]|0,52,k[I>>2]|0,2,k[p>>2]|0)|0;dx(k[F>>2]|0,52,k[I>>2]|0,5,l[(k[A>>2]|0)+62>>0]|0)|0;Pz(k[F>>2]|0,k[o>>2]|0);h=k[F>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0)$w(h,22,0,k[D>>2]|0)|0;else{H=$w(h,122,k[I>>2]|0,k[D>>2]|0)|0;k[(k[w>>2]|0)+424>>2]=H}nH(k[w>>2]|0,k[I>>2]|0);$w(k[F>>2]|0,74,0,k[C>>2]|0)|0;cx(k[F>>2]|0,27,6,k[E>>2]|0,0,38420,-2)|0;dx(k[F>>2]|0,75,0,k[E>>2]|0,k[C>>2]|0)|0;Ph(k[F>>2]|0,8);gx(k[F>>2]|0,61)|0;r=J;return}}while(0);ag(k[A>>2]|0,k[H>>2]|0);r=J;return}function wv(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=(k[k[c>>2]>>2]|0)+248|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function xv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;f=R+192|0;g=R+188|0;h=R+184|0;m=R+196|0;n=R+180|0;w=R+176|0;q=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;p=R+116|0;D=R+112|0;E=R+108|0;o=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[m>>0]=d;k[n>>2]=e;k[q>>2]=k[k[f>>2]>>2];if((k[h>>2]|0)==0&(k[n>>2]|0)==0){r=R;return}k[w>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[w>>2]|0)){r=R;return}if((i[(k[q>>2]|0)+140+5>>0]|0)!=0?(k[(k[w>>2]|0)+28>>2]=k[(k[q>>2]|0)+140>>2],(k[(k[w>>2]|0)+28>>2]|0)==1):0){d=(k[w>>2]|0)+42|0;i[d>>0]=l[d>>0]|1}do if(l[m>>0]&32){if(l[(k[w>>2]|0)+42>>0]&8){Kh(k[f>>2]|0,37995,H);r=R;return}if(!(l[(k[w>>2]|0)+42>>0]&4)){H=k[f>>2]|0;k[J>>2]=k[k[w>>2]>>2];Kh(H,38045,J);break}else{J=(k[w>>2]|0)+42|0;i[J>>0]=l[J>>0]|96;hH(k[f>>2]|0,k[w>>2]|0);break}}while(0);J=Nh(k[q>>2]|0,k[(k[w>>2]|0)+64>>2]|0)|0;k[t>>2]=J;if(k[(k[w>>2]|0)+24>>2]|0)aH(k[f>>2]|0,k[w>>2]|0,4,0,k[(k[w>>2]|0)+24>>2]|0);iH(k[w>>2]|0);k[z>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;dH(k[z>>2]|0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(!(i[(k[q>>2]|0)+140+5>>0]|0)){J=Zw(k[f>>2]|0)|0;k[G>>2]=J;if(!(k[G>>2]|0)){r=R;return}Hz(k[G>>2]|0,61,0)|0;if(!(k[(k[w>>2]|0)+12>>2]|0)){k[P>>2]=33805;k[Q>>2]=38077}else{k[P>>2]=36955;k[Q>>2]=38083}do if(k[n>>2]|0){H=(k[f>>2]|0)+76|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[F>>2]=J;J=(k[f>>2]|0)+76|0;H=(k[J>>2]|0)+1|0;k[J>>2]=H;k[D>>2]=H;H=(k[f>>2]|0)+76|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[E>>2]=J;Lx(k[f>>2]|0);dx(k[G>>2]|0,55,1,k[(k[f>>2]|0)+396>>2]|0,k[t>>2]|0)|0;Ph(k[G>>2]|0,16);k[(k[f>>2]|0)+72>>2]=2;J=(Lz(k[G>>2]|0)|0)+1|0;k[p>>2]=J;dx(k[G>>2]|0,16,k[F>>2]|0,0,k[p>>2]|0)|0;hB(s,13,k[F>>2]|0);Mv(k[f>>2]|0,k[n>>2]|0,s)|0;HC(k[G>>2]|0,k[F>>2]|0);Pz(k[G>>2]|0,(k[p>>2]|0)-1|0);if(k[(k[f>>2]|0)+68>>2]|0){r=R;return}J=Tx(k[f>>2]|0,k[n>>2]|0)|0;k[C>>2]=J;if(!(k[C>>2]|0)){r=R;return}else{j[(k[w>>2]|0)+34>>1]=j[(k[C>>2]|0)+34>>1]|0;k[(k[w>>2]|0)+4>>2]=k[(k[C>>2]|0)+4>>2];j[(k[C>>2]|0)+34>>1]=0;k[(k[C>>2]|0)+4>>2]=0;_f(k[q>>2]|0,k[C>>2]|0);J=Hz(k[G>>2]|0,18,k[s+4>>2]|0)|0;k[o>>2]=J;dx(k[G>>2]|0,49,k[s+8>>2]|0,k[s+12>>2]|0,k[D>>2]|0)|0;KC(k[G>>2]|0,k[w>>2]|0,0);$w(k[G>>2]|0,74,1,k[E>>2]|0)|0;dx(k[G>>2]|0,75,1,k[D>>2]|0,k[E>>2]|0)|0;Oz(k[G>>2]|0,k[o>>2]|0)|0;Pz(k[G>>2]|0,k[o>>2]|0);Hz(k[G>>2]|0,61,1)|0;break}}while(0);if(k[n>>2]|0){Q=jH(k[q>>2]|0,k[w>>2]|0)|0;k[O>>2]=Q}else{k[y>>2]=(l[m>>0]|0)!=0?(k[f>>2]|0)+508|0:k[h>>2]|0;k[u>>2]=(k[k[y>>2]>>2]|0)-(k[(k[f>>2]|0)+500>>2]|0);if((i[k[k[y>>2]>>2]>>0]|0)!=59)k[u>>2]=(k[u>>2]|0)+(k[(k[y>>2]|0)+4>>2]|0);J=k[q>>2]|0;d=k[u>>2]|0;H=k[(k[f>>2]|0)+500>>2]|0;k[L>>2]=k[Q>>2];k[L+4>>2]=d;k[L+8>>2]=H;Q=Lh(J,38088,L)|0;k[O>>2]=Q}Q=k[f>>2]|0;E=(k[t>>2]|0)==1?20769:20788;F=k[P>>2]|0;d=k[k[w>>2]>>2]|0;H=k[k[w>>2]>>2]|0;J=k[(k[f>>2]|0)+396>>2]|0;L=k[O>>2]|0;P=k[(k[f>>2]|0)+392>>2]|0;k[M>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[M+4>>2]=E;k[M+8>>2]=F;k[M+12>>2]=d;k[M+16>>2]=H;k[M+20>>2]=J;k[M+24>>2]=L;k[M+28>>2]=P;Yw(Q,38103,M);ag(k[q>>2]|0,k[O>>2]|0);_w(k[f>>2]|0,k[t>>2]|0);if((l[(k[w>>2]|0)+42>>0]&8|0)!=0?(k[x>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4),(k[(k[(k[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=k[f>>2]|0;k[I>>2]=k[k[x>>2]>>2];Yw(Q,38190,I)}O=k[G>>2]|0;P=k[t>>2]|0;Q=k[q>>2]|0;k[K>>2]=k[k[w>>2]>>2];ax(O,P,Lh(Q,38232,K)|0)}if(!(i[(k[q>>2]|0)+140+5>>0]|0)){r=R;return}k[B>>2]=k[(k[w>>2]|0)+64>>2];Q=Yj((k[B>>2]|0)+8|0,k[k[w>>2]>>2]|0,k[w>>2]|0)|0;k[A>>2]=Q;if(k[A>>2]|0){th(k[q>>2]|0);r=R;return}k[(k[f>>2]|0)+488>>2]=0;Q=(k[q>>2]|0)+24|0;k[Q>>2]=k[Q>>2]|2;if(k[(k[w>>2]|0)+12>>2]|0){r=R;return}k[N>>2]=k[(k[f>>2]|0)+500>>2];if(!(k[k[g>>2]>>2]|0))k[g>>2]=k[h>>2];k[v>>2]=(k[k[g>>2]>>2]|0)-(k[N>>2]|0);Q=13+(Mx(k[N>>2]|0,k[v>>2]|0)|0)|0;k[(k[w>>2]|0)+44>>2]=Q;r=R;return}function yv(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,p=0,q=0;q=r;r=r+48|0;n=q+8|0;m=q;c=q+40|0;d=q+36|0;h=q+32|0;g=q+28|0;o=q+24|0;l=q+20|0;f=q+16|0;e=q+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[c>>2]>>2];a=k[(k[c>>2]|0)+488>>2]|0;k[h>>2]=a;if(!a){r=q;return}if(((j[(k[h>>2]|0)+34>>1]|0)+1|0)>(k[(k[f>>2]|0)+88+8>>2]|0)){p=k[c>>2]|0;k[m>>2]=k[k[h>>2]>>2];Kh(p,37946,m);r=q;return}m=Nw(k[f>>2]|0,k[d>>2]|0)|0;k[o>>2]=m;if(!(k[o>>2]|0)){r=q;return}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[h>>2]|0)+34>>1]|0))break;if(!(be(k[o>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[g>>2]|0)*24|0)>>2]|0)|0)){p=8;break}k[g>>2]=(k[g>>2]|0)+1}if((p|0)==8){p=k[c>>2]|0;k[n>>2]=k[o>>2];Kh(p,37969,n);ag(k[f>>2]|0,k[o>>2]|0);r=q;return}do if(!(j[(k[h>>2]|0)+34>>1]&7)){p=Ow(k[f>>2]|0,k[(k[h>>2]|0)+4>>2]|0,((j[(k[h>>2]|0)+34>>1]|0)+8|0)*24|0,0)|0;k[e>>2]=p;if(k[e>>2]|0){k[(k[h>>2]|0)+4>>2]=k[e>>2];break}ag(k[f>>2]|0,k[o>>2]|0);r=q;return}while(0);k[l>>2]=(k[(k[h>>2]|0)+4>>2]|0)+((j[(k[h>>2]|0)+34>>1]|0)*24|0);p=k[l>>2]|0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[k[l>>2]>>2]=k[o>>2];i[(k[l>>2]|0)+21>>0]=65;i[(k[l>>2]|0)+22>>0]=1;p=(k[h>>2]|0)+34|0;j[p>>1]=(j[p>>1]|0)+1<<16>>16;r=q;return}function zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+488>>2];if(!(k[e>>2]|0)){r=g;return}if((j[(k[e>>2]|0)+34>>1]|0)<1){r=g;return}k[f>>2]=(k[(k[e>>2]|0)+4>>2]|0)+(((j[(k[e>>2]|0)+34>>1]|0)-1|0)*24|0);ag(k[k[c>>2]>>2]|0,k[(k[f>>2]|0)+12>>2]|0);b=Nw(k[k[c>>2]>>2]|0,k[d>>2]|0)|0;k[(k[f>>2]|0)+12>>2]=b;b=tx(k[(k[f>>2]|0)+12>>2]|0,(k[f>>2]|0)+22|0)|0;i[(k[f>>2]|0)+21>>0]=b;r=g;return}function Av(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;h=l;c=l+20|0;d=l+16|0;f=l+12|0;g=l+8|0;e=l+4|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=k[(k[c>>2]|0)+488>>2];if(!(k[f>>2]|0)){b=k[e>>2]|0;h=k[d>>2]|0;h=k[h>>2]|0;hv(b,h);r=l;return}k[g>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((j[(k[f>>2]|0)+34>>1]|0)-1|0)*24|0);if(gH(k[k[d>>2]>>2]|0,i[(k[e>>2]|0)+140+5>>0]|0)|0){hv(k[e>>2]|0,k[(k[g>>2]|0)+4>>2]|0);b=xy(k[e>>2]|0,k[k[d>>2]>>2]|0,1)|0;k[(k[g>>2]|0)+4>>2]=b;ag(k[e>>2]|0,k[(k[g>>2]|0)+8>>2]|0);b=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+4>>2]|0)|0;b=Sw(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=b;b=k[e>>2]|0;h=k[d>>2]|0;h=k[h>>2]|0;hv(b,h);r=l;return}else{b=k[c>>2]|0;k[h>>2]=k[k[g>>2]>>2];Kh(b,37901,h);b=k[e>>2]|0;h=k[d>>2]|0;h=k[h>>2]|0;hv(b,h);r=l;return}}function Bv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)==72?(k[(k[f>>2]|0)+68>>2]|0)==0:0){e=kz(k[k[f>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[l>>2]=e}else{e=mz(k[k[f>>2]>>2]|0,k[g>>2]&255,k[j>>2]|0,1)|0;k[l>>2]=e;nz(k[k[f>>2]>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0)}if(!(k[l>>2]|0)){e=k[l>>2]|0;r=m;return e|0}Oy(k[f>>2]|0,k[(k[l>>2]|0)+24>>2]|0)|0;e=k[l>>2]|0;r=m;return e|0}function Cv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;f=e+12|0;i=e+8|0;h=e+4|0;g=e;k[f>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;d=Bv(k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[f>>2]|0)+8>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0);r=e;return}function Dv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[d>>2]|0)){r=e;return}if((j[(k[d>>2]|0)+34>>1]|0)<1){r=e;return}i[(k[(k[d>>2]|0)+4>>2]|0)+(((j[(k[d>>2]|0)+34>>1]|0)-1|0)*24|0)+20>>0]=k[c>>2];r=e;return}function Ev(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;y=z+8|0;f=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;o=z+40|0;q=z+36|0;h=z+32|0;g=z+28|0;m=z+24|0;n=z+20|0;p=z+16|0;x=z+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[w>>2]=e;k[o>>2]=k[(k[s>>2]|0)+488>>2];k[q>>2]=0;k[h>>2]=-1;if(!(k[o>>2]|0)){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}if(l[(k[s>>2]|0)+454>>0]|0){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}if(l[(k[o>>2]|0)+42>>0]&4){x=k[s>>2]|0;k[f>>2]=k[k[o>>2]>>2];Kh(x,37804,f);x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}f=(k[o>>2]|0)+42|0;i[f>>0]=l[f>>0]|4;a:do if(!(k[t>>2]|0)){k[h>>2]=(j[(k[o>>2]|0)+34>>1]|0)-1;p=(k[(k[o>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)+23|0;i[p>>0]=l[p>>0]|1;k[q>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)+12>>2];k[m>>2]=1}else{k[m>>2]=k[k[t>>2]>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[m>>2]|0))break a;f=by(k[(k[(k[t>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=f;bH(k[n>>2]|0);b:do if((l[k[n>>2]>>0]|0)==27){k[p>>2]=k[(k[n>>2]|0)+8>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[o>>2]|0)+34>>1]|0))break b;f=(be(k[p>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)>>2]|0)|0)==0;d=k[h>>2]|0;if(f)break;k[h>>2]=d+1}f=(k[(k[o>>2]|0)+4>>2]|0)+(d*24|0)+23|0;i[f>>0]=l[f>>0]|1;k[q>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)+12>>2]}while(0);k[g>>2]=(k[g>>2]|0)+1}}while(0);if((k[m>>2]|0)==1&(k[q>>2]|0)!=0?(q=(be(k[q>>2]|0,19623)|0)==0,q&(k[w>>2]|0)!=1):0){j[(k[o>>2]|0)+32>>1]=k[h>>2];i[(k[o>>2]|0)+43>>0]=k[u>>2];y=(k[o>>2]|0)+42|0;i[y>>0]=l[y>>0]|k[v>>2]<<3;if(!(k[t>>2]|0)){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}i[(k[s>>2]|0)+452>>0]=i[(k[(k[t>>2]|0)+4>>2]|0)+12>>0]|0;x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}d=k[s>>2]|0;if(k[v>>2]|0){Kh(d,37845,y);x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}y=Fv(d,0,0,0,k[t>>2]|0,k[u>>2]|0,0,0,k[w>>2]|0,0)|0;k[x>>2]=y;if(k[x>>2]|0){y=(k[x>>2]|0)+55|0;i[y>>0]=i[y>>0]&-4|2}k[t>>2]=0;x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;dv(x,y);r=z;return}function Fv(a,b,c,d,e,f,g,h,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=r;r=r+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;p=ya+332|0;q=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;k[F>>2]=a;k[p>>2]=b;k[q>>2]=c;k[ra>>2]=d;k[sa>>2]=e;k[la>>2]=f;k[G>>2]=g;k[ta>>2]=h;k[s>>2]=n;k[H>>2]=o;k[wa>>2]=0;k[oa>>2]=0;k[va>>2]=0;k[xa>>2]=0;k[ua>>2]=k[k[F>>2]>>2];k[W>>2]=0;k[O>>2]=0;k[ja>>2]=0;k[X>>2]=0;a:do if((((l[(k[ua>>2]|0)+65>>0]|0)==0?(l[(k[F>>2]|0)+454>>0]|0)==0:0)?(k[(k[F>>2]|0)+68>>2]|0)<=0:0)?0==(zz(k[F>>2]|0)|0):0){o=k[F>>2]|0;if(k[ra>>2]|0){p=Dz(o,k[p>>2]|0,k[q>>2]|0,W)|0;k[ma>>2]=p;if((k[ma>>2]|0)<0)break;if(((i[(k[ua>>2]|0)+140+5>>0]|0)==0?(p=NB(k[F>>2]|0,k[ra>>2]|0)|0,k[oa>>2]=p,(k[oa>>2]|0)!=0?(k[(k[q>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[oa>>2]|0)+64>>2]|0)==(k[(k[(k[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[ma>>2]=1;OB(x,k[F>>2]|0,k[ma>>2]|0,33970,k[W>>2]|0);PB(x,k[ra>>2]|0)|0;x=ix(k[F>>2]|0,0,(k[ra>>2]|0)+8|0)|0;k[oa>>2]=x;if(!(k[oa>>2]|0))break;if((k[ma>>2]|0)==1?(k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)+12>>2]|0)!=(k[(k[oa>>2]|0)+64>>2]|0):0){qa=k[F>>2]|0;k[y>>2]=k[k[oa>>2]>>2];Kh(qa,37370,y);break}if(l[(k[oa>>2]|0)+42>>0]&32){y=Oj(k[oa>>2]|0)|0;k[X>>2]=y}}else{k[oa>>2]=k[o+488>>2];if(!(k[oa>>2]|0))break;y=Nh(k[ua>>2]|0,k[(k[oa>>2]|0)+64>>2]|0)|0;k[ma>>2]=y}k[T>>2]=(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4);if(((Jd(k[k[oa>>2]>>2]|0,28715,7)|0)==0?(l[(k[ua>>2]|0)+140+5>>0]|0)==0:0)?(Jd((k[k[oa>>2]>>2]|0)+7|0,37420,9)|0)!=0:0){qa=k[F>>2]|0;k[C>>2]=k[k[oa>>2]>>2];Kh(qa,37430,C);break}if(k[(k[oa>>2]|0)+12>>2]|0){Kh(k[F>>2]|0,37458,D);break}if(l[(k[oa>>2]|0)+42>>0]&16){Kh(k[F>>2]|0,37483,z);break}if(k[W>>2]|0){D=Nw(k[ua>>2]|0,k[W>>2]|0)|0;k[xa>>2]=D;if(!(k[xa>>2]|0))break;if(Ix(k[F>>2]|0,k[xa>>2]|0)|0)break;if((i[(k[ua>>2]|0)+140+5>>0]|0)==0?(zi(k[ua>>2]|0,k[xa>>2]|0,0)|0)!=0:0){qa=k[F>>2]|0;k[A>>2]=k[xa>>2];Kh(qa,37517,A);break}if(Pj(k[ua>>2]|0,k[xa>>2]|0,k[k[T>>2]>>2]|0)|0){o=k[F>>2]|0;if(k[H>>2]|0){lx(o,k[ma>>2]|0);break}else{k[$>>2]=k[xa>>2];Kh(o,37551,$);break}}}else{k[v>>2]=k[(k[oa>>2]|0)+8>>2];k[t>>2]=1;while(1){if(!(k[v>>2]|0))break;k[v>>2]=k[(k[v>>2]|0)+20>>2];k[t>>2]=(k[t>>2]|0)+1}$=k[ua>>2]|0;H=k[t>>2]|0;k[B>>2]=k[k[oa>>2]>>2];k[B+4>>2]=H;$=Lh($,37575,B)|0;k[xa>>2]=$;if(!(k[xa>>2]|0))break}k[E>>2]=k[k[T>>2]>>2];if((Ww(k[F>>2]|0,18,(k[ma>>2]|0)==1?20769:20788,0,k[E>>2]|0)|0)==0?(k[I>>2]=1,k[I>>2]=(k[ma>>2]|0)==1?3:1,(Ww(k[F>>2]|0,k[I>>2]|0,k[xa>>2]|0,k[k[oa>>2]>>2]|0,k[E>>2]|0)|0)==0):0){if(!(k[sa>>2]|0)){My(w,k[(k[(k[oa>>2]|0)+4>>2]|0)+(((j[(k[oa>>2]|0)+34>>1]|0)-1|0)*24|0)>>2]|0);$=k[F>>2]|0;$=Qv($,0,mz(k[ua>>2]|0,27,w,0)|0)|0;k[sa>>2]=$;if(!(k[sa>>2]|0))break;Zv(k[sa>>2]|0,k[s>>2]|0)}else aw(k[F>>2]|0,k[sa>>2]|0,33970);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[k[sa>>2]>>2]|0))break;k[u>>2]=k[(k[(k[sa>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)>>2];if((l[k[u>>2]>>0]|0)==95){$=1+(Sf(k[(k[u>>2]|0)+8>>2]|0)|0)|0;k[O>>2]=(k[O>>2]|0)+$}k[I>>2]=(k[I>>2]|0)+1}$=Sf(k[xa>>2]|0)|0;k[Q>>2]=$;if(k[X>>2]|0)o=m[(k[X>>2]|0)+50>>1]|0;else o=1;k[P>>2]=o;$=RD(k[ua>>2]|0,(k[k[sa>>2]>>2]|0)+(k[P>>2]|0)&65535,(k[Q>>2]|0)+(k[O>>2]|0)+1|0,ja)|0;k[va>>2]=$;if(!(i[(k[ua>>2]|0)+65>>0]|0)){k[k[va>>2]>>2]=k[ja>>2];k[ja>>2]=(k[ja>>2]|0)+((k[Q>>2]|0)+1);sR(k[k[va>>2]>>2]|0,k[xa>>2]|0,(k[Q>>2]|0)+1|0)|0;k[(k[va>>2]|0)+12>>2]=k[oa>>2];i[(k[va>>2]|0)+54>>0]=k[la>>2];$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9|((k[la>>2]|0)!=0&1)<<3&255;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-4|((k[W>>2]|0)!=0?0:1)&3;k[(k[va>>2]|0)+24>>2]=k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)+12>>2];j[(k[va>>2]|0)+50>>1]=k[k[sa>>2]>>2];if(k[ta>>2]|0){aH(k[F>>2]|0,k[oa>>2]|0,16,k[ta>>2]|0,0);k[(k[va>>2]|0)+36>>2]=k[ta>>2];k[ta>>2]=0}if((l[(k[(k[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)k[Z>>2]=-1;else k[Z>>2]=0;k[I>>2]=0;k[V>>2]=k[(k[sa>>2]|0)+4>>2];while(1){if((k[I>>2]|0)>=(k[k[sa>>2]>>2]|0))break;bH(k[k[V>>2]>>2]|0);aH(k[F>>2]|0,k[oa>>2]|0,32,k[k[V>>2]>>2]|0,0);if(k[(k[F>>2]|0)+68>>2]|0)break a;$=by(k[k[V>>2]>>2]|0)|0;k[R>>2]=$;if((l[k[R>>2]>>0]|0)!=152){if((k[oa>>2]|0)==(k[(k[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(k[(k[va>>2]|0)+40>>2]|0)){$=Fy(k[ua>>2]|0,k[sa>>2]|0,0)|0;k[S>>2]=$;k[(k[va>>2]|0)+40>>2]=k[S>>2];if(i[(k[ua>>2]|0)+65>>0]|0)break;k[V>>2]=(k[(k[S>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)}while(0);k[K>>2]=-2;j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=-2;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9}else{k[K>>2]=j[(k[R>>2]|0)+32>>1];do if((k[K>>2]|0)<0)k[K>>2]=j[(k[oa>>2]|0)+32>>1];else{if(l[(k[(k[oa>>2]|0)+4>>2]|0)+((k[K>>2]|0)*24|0)+20>>0]|0)break;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9}while(0);j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=k[K>>2]}k[ia>>2]=0;do if((l[k[k[V>>2]>>2]>>0]|0)==95){k[ia>>2]=k[(k[k[V>>2]>>2]|0)+8>>2];$=(Sf(k[ia>>2]|0)|0)+1|0;k[N>>2]=$;sR(k[ja>>2]|0,k[ia>>2]|0,k[N>>2]|0)|0;k[ia>>2]=k[ja>>2];k[ja>>2]=(k[ja>>2]|0)+(k[N>>2]|0);k[O>>2]=(k[O>>2]|0)-(k[N>>2]|0)}else{if((k[K>>2]|0)<0)break;k[ia>>2]=k[(k[(k[oa>>2]|0)+4>>2]|0)+((k[K>>2]|0)*24|0)+16>>2]}while(0);if(!(k[ia>>2]|0))k[ia>>2]=35690;if((i[(k[ua>>2]|0)+140+5>>0]|0)==0?(Nz(k[F>>2]|0,k[ia>>2]|0)|0)==0:0)break a;k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=k[ia>>2];k[Y>>2]=l[(k[V>>2]|0)+12>>0]&k[Z>>2];i[(k[(k[va>>2]|0)+28>>2]|0)+(k[I>>2]|0)>>0]=k[Y>>2];k[I>>2]=(k[I>>2]|0)+1;k[V>>2]=(k[V>>2]|0)+20}if((qa|0)==65){Kh(k[F>>2]|0,37598,aa);break}b:do if(k[X>>2]|0){k[K>>2]=0;while(1){if((k[K>>2]|0)>=(m[(k[X>>2]|0)+50>>1]|0))break b;k[fa>>2]=j[(k[(k[X>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1];if(cH(k[(k[va>>2]|0)+4>>2]|0,m[(k[va>>2]|0)+50>>1]|0,k[fa>>2]|0)|0){ja=(k[va>>2]|0)+52|0;j[ja>>1]=(j[ja>>1]|0)+-1<<16>>16}else{j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=k[fa>>2];k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[(k[X>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2];i[(k[(k[va>>2]|0)+28>>2]|0)+(k[I>>2]|0)>>0]=i[(k[(k[X>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]|0;k[I>>2]=(k[I>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1}}else{j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=-1;k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=35690}while(0);Mj(k[va>>2]|0);if(!(k[(k[F>>2]|0)+488>>2]|0))dH(k[va>>2]|0);c:do if((k[oa>>2]|0)==(k[(k[F>>2]|0)+488>>2]|0)){k[U>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(!(k[U>>2]|0))break c;if((m[(k[U>>2]|0)+50>>1]|0)==(m[(k[va>>2]|0)+50>>1]|0)){k[L>>2]=0;while(1){if((k[L>>2]|0)>=(m[(k[U>>2]|0)+50>>1]|0))break;if((j[(k[(k[U>>2]|0)+4>>2]|0)+(k[L>>2]<<1)>>1]|0)!=(j[(k[(k[va>>2]|0)+4>>2]|0)+(k[L>>2]<<1)>>1]|0))break;k[ga>>2]=k[(k[(k[U>>2]|0)+32>>2]|0)+(k[L>>2]<<2)>>2];k[ha>>2]=k[(k[(k[va>>2]|0)+32>>2]|0)+(k[L>>2]<<2)>>2];if((k[ga>>2]|0)!=(k[ha>>2]|0)?(be(k[ga>>2]|0,k[ha>>2]|0)|0)!=0:0)break;k[L>>2]=(k[L>>2]|0)+1}if((k[L>>2]|0)==(m[(k[U>>2]|0)+50>>1]|0))break}k[U>>2]=k[(k[U>>2]|0)+20>>2]}do if((l[(k[U>>2]|0)+54>>0]|0)!=(l[(k[va>>2]|0)+54>>0]|0)){do if((l[(k[U>>2]|0)+54>>0]|0)!=10){if((l[(k[va>>2]|0)+54>>0]|0)==10)break;qa=k[F>>2]|0;k[ba>>2]=0;Kh(qa,37659,ba)}while(0);if((l[(k[U>>2]|0)+54>>0]|0)!=10)break;i[(k[U>>2]|0)+54>>0]=i[(k[va>>2]|0)+54>>0]|0}while(0);k[wa>>2]=k[U>>2];break a}while(0);do if(i[(k[ua>>2]|0)+140+5>>0]|0){o=Yj((k[(k[va>>2]|0)+24>>2]|0)+24|0,k[k[va>>2]>>2]|0,k[va>>2]|0)|0;k[na>>2]=o;o=k[ua>>2]|0;if(k[na>>2]|0){th(o);break a}na=o+24|0;k[na>>2]=k[na>>2]|2;if(!(k[ra>>2]|0))break;k[(k[va>>2]|0)+44>>2]=k[(k[ua>>2]|0)+140>>2]}else{if(!((k[ra>>2]|0)!=0?1:(l[(k[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(k[F>>2]|0)+76|0;na=(k[ja>>2]|0)+1|0;k[ja>>2]=na;k[J>>2]=na;na=Zw(k[F>>2]|0)|0;k[_>>2]=na;if(!(k[_>>2]|0))break a;kx(k[F>>2]|0,1,k[ma>>2]|0);na=gx(k[_>>2]|0,160)|0;k[(k[va>>2]|0)+44>>2]=na;$w(k[_>>2]|0,121,k[ma>>2]|0,k[J>>2]|0)|0;if(k[G>>2]|0){k[M>>2]=(k[(k[F>>2]|0)+508>>2]|0)-(k[k[W>>2]>>2]|0)+(k[(k[F>>2]|0)+508+4>>2]|0);if((i[(k[k[W>>2]>>2]|0)+((k[M>>2]|0)-1)>>0]|0)==59)k[M>>2]=(k[M>>2]|0)+-1;na=k[ua>>2]|0;ia=k[M>>2]|0;ja=k[k[W>>2]>>2]|0;k[ca>>2]=(k[la>>2]|0)==0?19266:37701;k[ca+4>>2]=ia;k[ca+8>>2]=ja;na=Lh(na,37709,ca)|0;k[ka>>2]=na}else k[ka>>2]=0;na=k[F>>2]|0;fa=(k[ma>>2]|0)==1?20769:20788;ga=k[k[va>>2]>>2]|0;ha=k[k[oa>>2]>>2]|0;ia=k[J>>2]|0;ja=k[ka>>2]|0;k[da>>2]=k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)>>2];k[da+4>>2]=fa;k[da+8>>2]=ga;k[da+12>>2]=ha;k[da+16>>2]=ia;k[da+20>>2]=ja;Yw(na,37729,da);ag(k[ua>>2]|0,k[ka>>2]|0);if(k[ra>>2]|0){cA(k[F>>2]|0,k[va>>2]|0,k[J>>2]|0);_w(k[F>>2]|0,k[ma>>2]|0);ka=k[_>>2]|0;ma=k[ma>>2]|0;na=k[ua>>2]|0;k[ea>>2]=k[k[va>>2]>>2];ax(ka,ma,Lh(na,37777,ea)|0);Hz(k[_>>2]|0,147,0)|0}Pz(k[_>>2]|0,k[(k[va>>2]|0)+44>>2]|0)}while(0);if(!((k[ra>>2]|0)==0?1:(l[(k[ua>>2]|0)+140+5>>0]|0)!=0))break;do if((k[la>>2]|0)!=5)qa=132;else{if(!(k[(k[oa>>2]|0)+8>>2]|0)){qa=132;break}if((l[(k[(k[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=132;break}k[pa>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(k[(k[pa>>2]|0)+20>>2]|0)f=(l[(k[(k[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else f=0;o=k[(k[pa>>2]|0)+20>>2]|0;if(!f)break;k[pa>>2]=o}k[(k[va>>2]|0)+20>>2]=o;k[(k[pa>>2]|0)+20>>2]=k[va>>2]}while(0);if((qa|0)==132){k[(k[va>>2]|0)+20>>2]=k[(k[oa>>2]|0)+8>>2];k[(k[oa>>2]|0)+8>>2]=k[va>>2]}k[wa>>2]=k[va>>2];k[va>>2]=0}}}while(0);if(!(k[va>>2]|0)){qa=k[ua>>2]|0;va=k[ta>>2]|0;hv(qa,va);va=k[ua>>2]|0;ta=k[sa>>2]|0;dv(va,ta);ta=k[ua>>2]|0;va=k[ra>>2]|0;gv(ta,va);va=k[ua>>2]|0;xa=k[xa>>2]|0;ag(va,xa);xa=k[wa>>2]|0;r=ya;return xa|0}eH(k[ua>>2]|0,k[va>>2]|0);qa=k[ua>>2]|0;va=k[ta>>2]|0;hv(qa,va);va=k[ua>>2]|0;ta=k[sa>>2]|0;dv(va,ta);ta=k[ua>>2]|0;va=k[ra>>2]|0;gv(ta,va);va=k[ua>>2]|0;xa=k[xa>>2]|0;ag(va,xa);xa=k[wa>>2]|0;r=ya;return xa|0}function Gv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+488>>2];k[e>>2]=k[k[c>>2]>>2];if(((k[f>>2]|0)!=0?(i[(k[c>>2]|0)+454>>0]|0)==0:0)?(Oi(k[(k[(k[e>>2]|0)+16>>2]|0)+(l[(k[e>>2]|0)+140+4>>0]<<4)+4>>2]|0)|0)==0:0){a=Qv(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;if(!(k[(k[c>>2]|0)+328+4>>2]|0)){r=g;return}Rv(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[c>>2]|0)+328|0,1);r=g;return}hv(k[k[c>>2]>>2]|0,k[d>>2]|0);r=g;return}function Hv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+16|0;n=E+8|0;m=E;o=E+80|0;p=E+76|0;f=E+72|0;q=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;h=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;g=E+28|0;v=E+24|0;w=E+20|0;k[o>>2]=a;k[p>>2]=b;k[f>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=k[k[o>>2]>>2];k[z>>2]=0;k[y>>2]=k[(k[o>>2]|0)+488>>2];a:do if((k[y>>2]|0)!=0?(l[(k[o>>2]|0)+454>>0]|0)==0:0){if(!(k[p>>2]|0)){k[g>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;if((k[g>>2]|0)<0)break;if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=1:0){D=k[o>>2]|0;C=k[f>>2]|0;k[m>>2]=k[(k[(k[y>>2]|0)+4>>2]|0)+((k[g>>2]|0)*24|0)>>2];k[m+4>>2]=C;Kh(D,37167,m);break}k[x>>2]=1}else{if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[p>>2]>>2]|0):0){Kh(k[o>>2]|0,37230,n);break}k[x>>2]=k[k[p>>2]>>2]}k[h>>2]=44+((k[x>>2]|0)-1<<3)+(k[(k[f>>2]|0)+4>>2]|0)+1;b:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[q>>2]>>2]|0))break b;n=(Sf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;k[h>>2]=(k[h>>2]|0)+n;k[u>>2]=(k[u>>2]|0)+1}}while(0);n=k[h>>2]|0;n=zh(k[t>>2]|0,n,((n|0)<0)<<31>>31)|0;k[z>>2]=n;if(k[z>>2]|0){k[k[z>>2]>>2]=k[y>>2];k[(k[z>>2]|0)+4>>2]=k[(k[y>>2]|0)+16>>2];k[C>>2]=(k[z>>2]|0)+36+(k[x>>2]<<3);k[(k[z>>2]|0)+8>>2]=k[C>>2];sR(k[C>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[C>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;Tw(k[C>>2]|0)|0;k[C>>2]=(k[C>>2]|0)+((k[(k[f>>2]|0)+4>>2]|0)+1);k[(k[z>>2]|0)+20>>2]=k[x>>2];c:do if(!(k[p>>2]|0))k[(k[z>>2]|0)+36>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;else{k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break c;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;n=(be(k[(k[(k[y>>2]|0)+4>>2]|0)+((k[v>>2]|0)*24|0)>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)==0;f=k[v>>2]|0;if(n){D=25;break}k[v>>2]=f+1}if((D|0)==25){D=0;k[(k[z>>2]|0)+36+(k[u>>2]<<3)>>2]=f}if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;k[u>>2]=(k[u>>2]|0)+1}D=k[o>>2]|0;k[B>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2];Kh(D,37324,B);break a}while(0);d:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break d;D=Sf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0;k[w>>2]=D;k[(k[z>>2]|0)+36+(k[u>>2]<<3)+4>>2]=k[C>>2];sR(k[C>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0,k[w>>2]|0)|0;i[(k[C>>2]|0)+(k[w>>2]|0)>>0]=0;k[C>>2]=(k[C>>2]|0)+((k[w>>2]|0)+1);k[u>>2]=(k[u>>2]|0)+1}}while(0);i[(k[z>>2]|0)+24>>0]=0;i[(k[z>>2]|0)+25>>0]=k[s>>2];i[(k[z>>2]|0)+25+1>>0]=k[s>>2]>>8;D=Yj((k[(k[y>>2]|0)+64>>2]|0)+56|0,k[(k[z>>2]|0)+8>>2]|0,k[z>>2]|0)|0;k[A>>2]=D;if((k[A>>2]|0)==(k[z>>2]|0)){th(k[t>>2]|0);break}if(k[A>>2]|0){k[(k[z>>2]|0)+12>>2]=k[A>>2];k[(k[A>>2]|0)+16>>2]=k[z>>2]}k[(k[y>>2]|0)+16>>2]=k[z>>2];k[z>>2]=0}}while(0);ag(k[t>>2]|0,k[z>>2]|0);dv(k[t>>2]|0,k[p>>2]|0);dv(k[t>>2]|0,k[q>>2]|0);r=E;return}function Iv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=k[(k[g>>2]|0)+488>>2]|0;k[e>>2]=a;if(!a){r=f;return}g=k[(k[e>>2]|0)+16>>2]|0;k[d>>2]=g;if(!g){r=f;return}i[(k[d>>2]|0)+24>>0]=k[c>>2];r=f;return}function Jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;g=l+16|0;f=l+12|0;i=l+8|0;e=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;b=k[(k[c>>2]|0)+488>>2]|0;k[g>>2]=b;if(!b){r=l;return}k[f>>2]=(j[(k[g>>2]|0)+34>>1]|0)-1;k[e>>2]=k[k[c>>2]>>2];b=Nw(k[e>>2]|0,k[d>>2]|0)|0;k[i>>2]=b;if(!(k[i>>2]|0)){r=l;return}b=(Nz(k[c>>2]|0,k[i>>2]|0)|0)!=0;c=k[e>>2]|0;if(!b){ag(c,k[i>>2]|0);r=l;return}ag(c,k[(k[(k[g>>2]|0)+4>>2]|0)+((k[f>>2]|0)*24|0)+16>>2]|0);k[(k[(k[g>>2]|0)+4>>2]|0)+((k[f>>2]|0)*24|0)+16>>2]=k[i>>2];k[h>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[k[(k[h>>2]|0)+4>>2]>>1]|0)==(k[f>>2]|0))k[k[(k[h>>2]|0)+32>>2]>>2]=k[(k[(k[g>>2]|0)+4>>2]|0)+((k[f>>2]|0)*24|0)+16>>2];k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=l;return}function Kv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;t=x+16|0;s=x+8|0;q=x;e=x+64|0;f=x+60|0;g=x+56|0;h=x+52|0;o=x+48|0;p=x+44|0;m=x+40|0;n=x+36|0;j=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=k[k[e>>2]>>2];do if((i[(k[m>>2]|0)+65>>0]|0)==0?(zz(k[e>>2]|0)|0)==0:0){if(k[h>>2]|0){a=(k[m>>2]|0)+69|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}a=ix(k[e>>2]|0,k[g>>2]|0,(k[f>>2]|0)+8|0)|0;k[o>>2]=a;if(k[h>>2]|0){a=(k[m>>2]|0)+69|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}if(!(k[o>>2]|0)){if(!(k[h>>2]|0))break;JB(k[e>>2]|0,k[(k[f>>2]|0)+8+4>>2]|0);break}a=Nh(k[m>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[n>>2]=a;if((l[(k[o>>2]|0)+42>>0]&16|0)!=0?(Jx(k[e>>2]|0,k[o>>2]|0)|0)!=0:0)break;k[w>>2]=(k[n>>2]|0)==1?20769:20788;k[v>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2];k[u>>2]=0;if(!(Ww(k[e>>2]|0,9,k[w>>2]|0,0,k[v>>2]|0)|0)){do if(k[g>>2]|0)if((k[n>>2]|0)==1){k[j>>2]=15;break}else{k[j>>2]=17;break}else{if(l[(k[o>>2]|0)+42>>0]&16){k[j>>2]=30;w=(Kx(k[m>>2]|0,k[o>>2]|0)|0)+4|0;k[u>>2]=k[(k[w>>2]|0)+4>>2];break}if((k[n>>2]|0)==1){k[j>>2]=13;break}else{k[j>>2]=11;break}}while(0);if((Ww(k[e>>2]|0,k[j>>2]|0,k[k[o>>2]>>2]|0,k[u>>2]|0,k[v>>2]|0)|0)==0?(Ww(k[e>>2]|0,9,k[k[o>>2]>>2]|0,0,k[v>>2]|0)|0)==0:0){if((Jd(k[k[o>>2]>>2]|0,28715,7)|0)==0?(Jd(k[k[o>>2]>>2]|0,36960,11)|0)!=0:0){w=k[e>>2]|0;k[q>>2]=k[k[o>>2]>>2];Kh(w,36972,q);break}if((k[g>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)==0:0){w=k[e>>2]|0;k[s>>2]=k[k[o>>2]>>2];Kh(w,37e3,s);break}if((k[g>>2]|0)==0?(k[(k[o>>2]|0)+12>>2]|0)!=0:0){w=k[e>>2]|0;k[t>>2]=k[k[o>>2]>>2];Kh(w,37034,t);break}w=Zw(k[e>>2]|0)|0;k[p>>2]=w;if(k[p>>2]|0){kx(k[e>>2]|0,1,k[n>>2]|0);zC(k[e>>2]|0,k[n>>2]|0,31729,k[k[o>>2]>>2]|0);XG(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0);YG(k[e>>2]|0,k[o>>2]|0,k[n>>2]|0,k[g>>2]|0)}}}}while(0);gv(k[m>>2]|0,k[f>>2]|0);r=x;return}function Lv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+96|0;w=D+88|0;m=D+84|0;n=D+80|0;o=D+76|0;x=D+72|0;y=D+68|0;p=D+64|0;q=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;k[w>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[x>>2]=e;k[y>>2]=f;k[p>>2]=g;k[q>>2]=h;k[u>>2]=0;k[z>>2]=k[k[w>>2]>>2];g=k[w>>2]|0;if((j[(k[w>>2]|0)+444>>1]|0)<=0){vv(g,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1,0,k[q>>2]|0);k[t>>2]=k[(k[w>>2]|0)+488>>2];if((((k[t>>2]|0)!=0?(k[(k[w>>2]|0)+68>>2]|0)==0:0)?(Dz(k[w>>2]|0,k[n>>2]|0,k[o>>2]|0,u)|0,q=Nh(k[z>>2]|0,k[(k[t>>2]|0)+64>>2]|0)|0,k[s>>2]=q,OB(v,k[w>>2]|0,k[s>>2]|0,36955,k[u>>2]|0),(QB(v,k[y>>2]|0)|0)==0):0)?(v=Rx(k[z>>2]|0,k[y>>2]|0,1)|0,k[(k[t>>2]|0)+12>>2]=v,v=Fy(k[z>>2]|0,k[x>>2]|0,1)|0,k[(k[t>>2]|0)+24>>2]=v,(i[(k[z>>2]|0)+65>>0]|0)==0):0){v=(k[w>>2]|0)+508|0;k[B>>2]=k[v>>2];k[B+4>>2]=k[v+4>>2];if((i[k[B>>2]>>0]|0)!=59)k[B>>2]=(k[B>>2]|0)+(k[B+4>>2]|0);k[B+4>>2]=0;k[A>>2]=(k[B>>2]|0)-(k[k[m>>2]>>2]|0);k[C>>2]=k[k[m>>2]>>2];while(1){g=k[A>>2]|0;if(!(l[19267+(l[(k[C>>2]|0)+((k[A>>2]|0)-1)>>0]|0)>>0]&1))break;k[A>>2]=g+-1}k[B>>2]=(k[C>>2]|0)+(g-1);k[B+4>>2]=1;xv(k[w>>2]|0,0,B,0,0)}}else Kh(g,36919,D);ev(k[z>>2]|0,k[y>>2]|0);dv(k[z>>2]|0,k[x>>2]|0);r=D;return}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=r;r=r+432|0;w=Da;O=Da+412|0;P=Da+408|0;Q=Da+404|0;R=Da+400|0;$=Da+396|0;ga=Da+392|0;qa=Da+388|0;Ca=Da+384|0;f=Da+380|0;la=Da+376|0;pa=Da+372|0;M=Da+368|0;ma=Da+364|0;na=Da+360|0;sa=Da+356|0;ya=Da+344|0;za=Da+312|0;xa=Da+264|0;da=Da+256|0;Z=Da+252|0;ea=Da+248|0;n=Da+244|0;q=Da+240|0;g=Da+236|0;t=Da+232|0;o=Da+228|0;e=Da+208|0;s=Da+204|0;d=Da+200|0;v=Da+196|0;h=Da+192|0;u=Da+188|0;p=Da+184|0;x=Da+416|0;N=Da+152|0;aa=Da+148|0;ca=Da+144|0;fa=Da+140|0;ba=Da+136|0;_=Da+132|0;T=Da+128|0;Ba=Da+124|0;Aa=Da+120|0;ja=Da+116|0;z=Da+112|0;A=Da+108|0;oa=Da+104|0;S=Da+100|0;U=Da+96|0;ua=Da+92|0;W=Da+88|0;Y=Da+84|0;X=Da+80|0;V=Da+76|0;wa=Da+72|0;ta=Da+68|0;va=Da+64|0;ha=Da+60|0;ia=Da+56|0;ka=Da+52|0;ra=Da+48|0;G=Da+44|0;K=Da+40|0;D=Da+36|0;C=Da+32|0;H=Da+28|0;I=Da+24|0;F=Da+20|0;E=Da+16|0;J=Da+12|0;B=Da+418|0;k[P>>2]=a;k[Q>>2]=b;k[R>>2]=c;k[la>>2]=0;k[sa>>2]=1;k[ea>>2]=k[(k[P>>2]|0)+468>>2];c=(k[P>>2]|0)+472|0;a=k[c>>2]|0;k[c>>2]=a+1;k[(k[P>>2]|0)+468>>2]=a;k[Z>>2]=k[k[P>>2]>>2];if(((k[Q>>2]|0)!=0?(l[(k[Z>>2]|0)+65>>0]|0)==0:0)?(k[(k[P>>2]|0)+68>>2]|0)==0:0){if(Ww(k[P>>2]|0,21,0,0,0)|0){k[O>>2]=1;Ca=k[O>>2]|0;r=Da;return Ca|0}b=xa;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((l[k[R>>2]>>0]|0)<=8){dv(k[Z>>2]|0,k[(k[Q>>2]|0)+48>>2]|0);k[(k[Q>>2]|0)+48>>2]=0;a=(k[Q>>2]|0)+6|0;j[a>>1]=m[a>>1]&-2}Ux(k[P>>2]|0,k[Q>>2]|0,0);k[za>>2]=0;k[za+4>>2]=0;k[za+8>>2]=0;k[za+12>>2]=0;k[za+16>>2]=0;k[za+20>>2]=0;k[za+24>>2]=0;k[za+28>>2]=0;k[za>>2]=k[(k[Q>>2]|0)+48>>2];k[pa>>2]=k[(k[Q>>2]|0)+32>>2];a:do if(((k[(k[P>>2]|0)+68>>2]|0)==0?(l[(k[Z>>2]|0)+65>>0]|0)==0:0)?(k[f>>2]=(m[(k[Q>>2]|0)+6>>1]&8|0)!=0&1,(dG(k[P>>2]|0,k[R>>2]|0,k[k[k[Q>>2]>>2]>>2]|0)|0)==0):0){k[$>>2]=0;while(1){if(k[(k[Q>>2]|0)+52>>2]|0)break;if((k[$>>2]|0)>=(k[k[pa>>2]>>2]|0))break;k[n>>2]=(k[pa>>2]|0)+8+((k[$>>2]|0)*72|0);k[q>>2]=k[(k[n>>2]|0)+20>>2];k[t>>2]=k[(k[n>>2]|0)+16>>2];if(k[q>>2]|0){if((j[(k[t>>2]|0)+34>>1]|0)!=(k[k[k[q>>2]>>2]>>2]|0)){y=17;break}k[g>>2]=(m[(k[q>>2]|0)+6>>1]&8|0)!=0&1;if(eG(k[P>>2]|0,k[Q>>2]|0,k[$>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){if(k[g>>2]|0){k[f>>2]=1;a=(k[Q>>2]|0)+6|0;j[a>>1]=m[a>>1]|8}k[$>>2]=-1}k[pa>>2]=k[(k[Q>>2]|0)+32>>2];if(i[(k[Z>>2]|0)+65>>0]|0)break a;if((l[k[R>>2]>>0]|0)>8)k[za>>2]=k[(k[Q>>2]|0)+48>>2]}k[$>>2]=(k[$>>2]|0)+1}if((y|0)==17){Ca=k[P>>2]|0;Aa=k[k[t>>2]>>2]|0;Ba=k[k[k[q>>2]>>2]>>2]|0;k[w>>2]=j[(k[t>>2]|0)+34>>1];k[w+4>>2]=Aa;k[w+8>>2]=Ba;Kh(Ca,36434,w);break}w=Zw(k[P>>2]|0)|0;k[Ca>>2]=w;if(k[Ca>>2]|0){if(k[(k[Q>>2]|0)+52>>2]|0){Ca=fG(k[P>>2]|0,k[Q>>2]|0,k[R>>2]|0)|0;k[sa>>2]=Ca;k[(k[P>>2]|0)+468>>2]=k[ea>>2];k[O>>2]=k[sa>>2];Ca=k[O>>2]|0;r=Da;return Ca|0}k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[k[pa>>2]>>2]|0))break;k[o>>2]=(k[pa>>2]|0)+8+((k[$>>2]|0)*72|0);k[s>>2]=k[(k[o>>2]|0)+20>>2];do if(k[s>>2]|0){if(k[(k[o>>2]|0)+24>>2]|0){if((l[(k[o>>2]|0)+36+1>>0]|0)>>>4&1)break;$w(k[Ca>>2]|0,14,k[(k[o>>2]|0)+28>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;break}t=gG(k[Q>>2]|0)|0;w=(k[P>>2]|0)+464|0;k[w>>2]=(k[w>>2]|0)+t;if(!(l[(k[o>>2]|0)+36>>0]&32))hG(k[Z>>2]|0,k[s>>2]|0,k[(k[Q>>2]|0)+36>>2]|0,k[(k[o>>2]|0)+44>>2]|0)|0;do if((k[k[pa>>2]>>2]|0)==1){if(m[(k[Q>>2]|0)+6>>1]&2){y=41;break}if(m[(k[Z>>2]|0)+60>>1]&256){y=41;break}t=(Lz(k[Ca>>2]|0)|0)+1|0;k[d>>2]=t;t=(k[P>>2]|0)+76|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;dx(k[Ca>>2]|0,16,k[(k[o>>2]|0)+28>>2]|0,0,k[d>>2]|0)|0;k[(k[o>>2]|0)+24>>2]=k[d>>2];hB(e,13,k[(k[o>>2]|0)+28>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[P>>2]|0)+472>>2];Mv(k[P>>2]|0,k[s>>2]|0,e)|0;w=(k[s>>2]|0)+24|0;w=Rj(k[w>>2]|0,k[w+4>>2]|0)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=w;w=(k[o>>2]|0)+36+1|0;i[w>>0]=i[w>>0]&-17|16;k[(k[o>>2]|0)+32>>2]=k[e+8>>2];HC(k[Ca>>2]|0,k[(k[o>>2]|0)+28>>2]|0);Pz(k[Ca>>2]|0,(k[d>>2]|0)-1|0);iG(k[P>>2]|0)}else y=41;while(0);if((y|0)==41){y=0;k[h>>2]=0;t=(k[P>>2]|0)+76|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;w=$w(k[Ca>>2]|0,22,0,k[(k[o>>2]|0)+28>>2]|0)|0;k[v>>2]=w;k[(k[o>>2]|0)+24>>2]=(k[v>>2]|0)+1;if(!((l[(k[o>>2]|0)+36+1>>0]|0)>>>3&1)){w=cB(k[P>>2]|0)|0;k[h>>2]=w}hB(e,12,k[(k[o>>2]|0)+44>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[P>>2]|0)+472>>2];Mv(k[P>>2]|0,k[s>>2]|0,e)|0;w=(k[s>>2]|0)+24|0;w=Rj(k[w>>2]|0,k[w+4>>2]|0)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=w;if(k[h>>2]|0)Pz(k[Ca>>2]|0,k[h>>2]|0);w=Hz(k[Ca>>2]|0,15,k[(k[o>>2]|0)+28>>2]|0)|0;k[u>>2]=w;GD(k[Ca>>2]|0,k[v>>2]|0,k[u>>2]|0);iG(k[P>>2]|0)}if(i[(k[Z>>2]|0)+65>>0]|0)break a;t=gG(k[Q>>2]|0)|0;w=(k[P>>2]|0)+464|0;k[w>>2]=(k[w>>2]|0)-t}while(0);k[$>>2]=(k[$>>2]|0)+1}k[la>>2]=k[k[Q>>2]>>2];k[M>>2]=k[(k[Q>>2]|0)+36>>2];k[ma>>2]=k[(k[Q>>2]|0)+40>>2];k[na>>2]=k[(k[Q>>2]|0)+44>>2];i[ya>>0]=(m[(k[Q>>2]|0)+6>>1]&1|0)!=0;if((m[(k[Q>>2]|0)+6>>1]&9|0)==1?(Ay(k[za>>2]|0,k[la>>2]|0,-1)|0)==0:0){y=(k[Q>>2]|0)+6|0;j[y>>1]=m[y>>1]&-2;y=Fy(k[Z>>2]|0,k[la>>2]|0,0)|0;k[(k[Q>>2]|0)+40>>2]=y;k[ma>>2]=y}if(k[za>>2]|0){w=jG(k[P>>2]|0,k[za>>2]|0,0,k[k[la>>2]>>2]|0)|0;k[p>>2]=w;w=(k[P>>2]|0)+72|0;y=k[w>>2]|0;k[w>>2]=y+1;k[za+8>>2]=y;y=cx(k[Ca>>2]|0,57,k[za+8>>2]|0,(k[k[za>>2]>>2]|0)+1+(k[k[la>>2]>>2]|0)|0,0,k[p>>2]|0,-6)|0;k[za+20>>2]=y}else k[za+20>>2]=-1;if((l[k[R>>2]>>0]|0)==12)$w(k[Ca>>2]|0,57,k[(k[R>>2]|0)+4>>2]|0,k[k[la>>2]>>2]|0)|0;y=Mz(k[Ca>>2]|0)|0;k[da>>2]=y;y=(k[Q>>2]|0)+24|0;k[y>>2]=-1;k[y+4>>2]=2147483647;kG(k[P>>2]|0,k[Q>>2]|0,k[da>>2]|0);if((k[(k[Q>>2]|0)+8>>2]|0)==0?(k[za+20>>2]|0)>=0:0){lG(k[Ca>>2]|0,k[za+20>>2]|0,58);y=za+28|0;i[y>>0]=l[y>>0]|1}if(m[(k[Q>>2]|0)+6>>1]&1){y=(k[P>>2]|0)+72|0;w=k[y>>2]|0;k[y>>2]=w+1;k[ya+4>>2]=w;w=k[Ca>>2]|0;y=k[ya+4>>2]|0;y=cx(w,57,y,0,0,jG(k[P>>2]|0,k[k[Q>>2]>>2]|0,0,0)|0,-6)|0;k[ya+8>>2]=y;Ph(k[Ca>>2]|0,8);i[ya+1>>0]=3}else i[ya+1>>0]=0;if((k[f>>2]|0)==0&(k[ma>>2]|0)==0){j[x>>1]=(l[ya>>0]|0)!=0?1024:0;Ba=$C(k[P>>2]|0,k[pa>>2]|0,k[M>>2]|0,k[za>>2]|0,k[k[Q>>2]>>2]|0,j[x>>1]|0,0)|0;k[qa>>2]=Ba;if(!(k[qa>>2]|0))break;Aa=mG(k[qa>>2]|0)|0;va=L;Ba=(k[Q>>2]|0)+24|0;wa=k[Ba+4>>2]|0;if(va>>>0>>0|((va|0)==(wa|0)?Aa>>>0<(k[Ba>>2]|0)>>>0:0)){Aa=mG(k[qa>>2]|0)|0;Ba=(k[Q>>2]|0)+24|0;k[Ba>>2]=Aa;k[Ba+4>>2]=L}do if(l[ya>>0]|0){if(!(nG(k[qa>>2]|0)|0))break;Ba=(nG(k[qa>>2]|0)|0)&255;i[ya+1>>0]=Ba}while(0);do if(k[za>>2]|0){Ba=oG(k[qa>>2]|0)|0;k[za+4>>2]=Ba;if((k[za+4>>2]|0)!=(k[k[za>>2]>>2]|0))break;k[za>>2]=0}while(0);do if((k[za+20>>2]|0)>=0){if(k[za>>2]|0)break;zA(k[Ca>>2]|0,k[za+20>>2]|0)|0}while(0);ua=k[P>>2]|0;va=k[Q>>2]|0;wa=k[la>>2]|0;Aa=k[R>>2]|0;Ba=pG(k[qa>>2]|0)|0;rG(ua,va,wa,-1,za,ya,Aa,Ba,qG(k[qa>>2]|0)|0);aD(k[qa>>2]|0)}else{k[Ba>>2]=0;k[Aa>>2]=0;k[ja>>2]=0;b=k[Q>>2]|0;do if(k[ma>>2]|0){k[z>>2]=k[k[b>>2]>>2];k[A>>2]=k[(k[k[Q>>2]>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}k[z>>2]=k[k[ma>>2]>>2];k[A>>2]=k[(k[ma>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}A=(k[Q>>2]|0)+24|0;z=k[A+4>>2]|0;if(!(z>>>0>0|(z|0)==0&(k[A>>2]|0)>>>0>100))break;A=(k[Q>>2]|0)+24|0;k[A>>2]=100;k[A+4>>2]=0}else{A=b+24|0;k[A>>2]=1;k[A+4>>2]=0}while(0);if(!(Ay(k[ma>>2]|0,k[za>>2]|0,-1)|0))k[ja>>2]=1;A=Mz(k[Ca>>2]|0)|0;k[T>>2]=A;k[N>>2]=0;k[N+4>>2]=0;k[N+8>>2]=0;k[N+12>>2]=0;k[N+16>>2]=0;k[N+20>>2]=0;k[N+24>>2]=0;k[N+28>>2]=0;k[N>>2]=k[P>>2];k[N+4>>2]=k[pa>>2];k[N+12>>2]=xa;k[xa+16>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;if(k[ma>>2]|0)b=k[k[ma>>2]>>2]|0;else b=0;k[xa+12>>2]=b;k[xa+24>>2]=k[ma>>2];sG(N,k[la>>2]|0);sG(N,k[za>>2]|0);if(k[na>>2]|0)tG(N,k[na>>2]|0);k[xa+36>>2]=k[xa+32>>2];k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[xa+44>>2]|0))break;A=N+28|0;j[A>>1]=m[A>>1]|8;sG(N,k[(k[(k[xa+40>>2]|0)+(k[$>>2]<<4)>>2]|0)+20>>2]|0);A=N+28|0;j[A>>1]=m[A>>1]&-9;k[$>>2]=(k[$>>2]|0)+1}k[xa+20>>2]=k[(k[P>>2]|0)+76>>2];if(i[(k[Z>>2]|0)+65>>0]|0)break;if(k[ma>>2]|0){K=(k[P>>2]|0)+72|0;N=k[K>>2]|0;k[K>>2]=N+1;k[xa+4>>2]=N;N=jG(k[P>>2]|0,k[ma>>2]|0,0,k[xa+32>>2]|0)|0;k[oa>>2]=N;N=cx(k[Ca>>2]|0,58,k[xa+4>>2]|0,k[xa+12>>2]|0,0,k[oa>>2]|0,-6)|0;k[X>>2]=N;N=(k[P>>2]|0)+76|0;K=(k[N>>2]|0)+1|0;k[N>>2]=K;k[fa>>2]=K;K=(k[P>>2]|0)+76|0;N=(k[K>>2]|0)+1|0;k[K>>2]=N;k[ba>>2]=N;N=(k[P>>2]|0)+76|0;K=(k[N>>2]|0)+1|0;k[N>>2]=K;k[ua>>2]=K;K=Mz(k[Ca>>2]|0)|0;k[U>>2]=K;K=(k[P>>2]|0)+76|0;N=(k[K>>2]|0)+1|0;k[K>>2]=N;k[wa>>2]=N;N=Mz(k[Ca>>2]|0)|0;k[V>>2]=N;k[aa>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;N=(k[P>>2]|0)+76|0;k[N>>2]=(k[N>>2]|0)+(k[k[ma>>2]>>2]|0);k[ca>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;N=(k[P>>2]|0)+76|0;k[N>>2]=(k[N>>2]|0)+(k[k[ma>>2]>>2]|0);$w(k[Ca>>2]|0,22,0,k[ba>>2]|0)|0;$w(k[Ca>>2]|0,22,0,k[fa>>2]|0)|0;dx(k[Ca>>2]|0,25,0,k[aa>>2]|0,(k[aa>>2]|0)+(k[k[ma>>2]>>2]|0)-1|0)|0;$w(k[Ca>>2]|0,14,k[wa>>2]|0,k[V>>2]|0)|0;N=$C(k[P>>2]|0,k[pa>>2]|0,k[M>>2]|0,k[ma>>2]|0,0,(256|((k[ja>>2]|0)!=0?2048:0))&65535,0)|0;k[qa>>2]=N;if(!(k[qa>>2]|0))break;N=oG(k[qa>>2]|0)|0;if((N|0)==(k[k[ma>>2]>>2]|0))k[_>>2]=0;else{if(l[ya>>0]|0)b=(m[(k[Q>>2]|0)+6>>1]&1|0)==0;else b=0;uG(k[P>>2]|0,b?36474:36483);k[_>>2]=1;k[ia>>2]=k[k[ma>>2]>>2];k[ha>>2]=k[ia>>2];k[ga>>2]=k[ia>>2];k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[xa+32>>2]|0))break;if((k[(k[xa+28>>2]|0)+((k[$>>2]|0)*24|0)+12>>2]|0)>=(k[ga>>2]|0)){k[ha>>2]=(k[ha>>2]|0)+1;k[ga>>2]=(k[ga>>2]|0)+1}k[$>>2]=(k[$>>2]|0)+1}N=uA(k[P>>2]|0,k[ha>>2]|0)|0;k[ta>>2]=N;pC(k[P>>2]|0);QA(k[P>>2]|0,k[ma>>2]|0,k[ta>>2]|0,0,0)|0;k[ga>>2]=k[ia>>2];k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[xa+32>>2]|0))break;k[ka>>2]=(k[xa+28>>2]|0)+((k[$>>2]|0)*24|0);if((k[(k[ka>>2]|0)+12>>2]|0)>=(k[ga>>2]|0)){k[ra>>2]=(k[ga>>2]|0)+(k[ta>>2]|0);FD(k[P>>2]|0,k[k[ka>>2]>>2]|0,k[(k[ka>>2]|0)+8>>2]|0,k[(k[ka>>2]|0)+4>>2]|0,k[ra>>2]|0);k[ga>>2]=(k[ga>>2]|0)+1}k[$>>2]=(k[$>>2]|0)+1}ra=eA(k[P>>2]|0)|0;k[va>>2]=ra;dx(k[Ca>>2]|0,49,k[ta>>2]|0,k[ha>>2]|0,k[va>>2]|0)|0;$w(k[Ca>>2]|0,109,k[xa+4>>2]|0,k[va>>2]|0)|0;iA(k[P>>2]|0,k[va>>2]|0);xA(k[P>>2]|0,k[ta>>2]|0,k[ha>>2]|0);aD(k[qa>>2]|0);ta=(k[P>>2]|0)+72|0;va=k[ta>>2]|0;k[ta>>2]=va+1;k[Ba>>2]=va;k[xa+8>>2]=va;va=eA(k[P>>2]|0)|0;k[Aa>>2]=va;dx(k[Ca>>2]|0,60,k[Ba>>2]|0,k[Aa>>2]|0,k[ha>>2]|0)|0;$w(k[Ca>>2]|0,106,k[xa+4>>2]|0,k[T>>2]|0)|0;i[xa+1>>0]=1;pC(k[P>>2]|0)}do if(k[ja>>2]|0){if(m[(k[Z>>2]|0)+60>>1]&4)break;if((k[_>>2]|0)==0?(vG(k[qa>>2]|0)|0)==0:0)break;k[za>>2]=0;zA(k[Ca>>2]|0,k[za+20>>2]|0)|0}while(0);va=Lz(k[Ca>>2]|0)|0;k[Y>>2]=va;pC(k[P>>2]|0);if(k[_>>2]|0)dx(k[Ca>>2]|0,100,k[xa+4>>2]|0,k[Aa>>2]|0,k[Ba>>2]|0)|0;k[ga>>2]=0;while(1){if((k[ga>>2]|0)>=(k[k[ma>>2]>>2]|0))break;if(k[_>>2]|0)dx(k[Ca>>2]|0,47,k[Ba>>2]|0,k[ga>>2]|0,(k[ca>>2]|0)+(k[ga>>2]|0)|0)|0;else{i[xa>>0]=1;HA(k[P>>2]|0,k[(k[(k[ma>>2]|0)+4>>2]|0)+((k[ga>>2]|0)*20|0)>>2]|0,(k[ca>>2]|0)+(k[ga>>2]|0)|0)}k[ga>>2]=(k[ga>>2]|0)+1}ta=k[Ca>>2]|0;va=k[aa>>2]|0;Aa=k[ca>>2]|0;Ba=k[k[ma>>2]>>2]|0;cx(ta,42,va,Aa,Ba,dA(k[oa>>2]|0)|0,-6)|0;Ba=Lz(k[Ca>>2]|0)|0;k[S>>2]=Ba;dx(k[Ca>>2]|0,43,(k[S>>2]|0)+1|0,0,(k[S>>2]|0)+1|0)|0;wG(k[P>>2]|0,k[ca>>2]|0,k[aa>>2]|0,k[k[ma>>2]>>2]|0);$w(k[Ca>>2]|0,14,k[ua>>2]|0,k[U>>2]|0)|0;$w(k[Ca>>2]|0,138,k[ba>>2]|0,k[T>>2]|0)|0;$w(k[Ca>>2]|0,14,k[wa>>2]|0,k[V>>2]|0)|0;Pz(k[Ca>>2]|0,k[S>>2]|0);xG(k[P>>2]|0,xa);$w(k[Ca>>2]|0,22,1,k[fa>>2]|0)|0;if(k[_>>2]|0)$w(k[Ca>>2]|0,3,k[xa+4>>2]|0,k[Y>>2]|0)|0;else{aD(k[qa>>2]|0);zA(k[Ca>>2]|0,k[X>>2]|0)|0}$w(k[Ca>>2]|0,14,k[ua>>2]|0,k[U>>2]|0)|0;Oz(k[Ca>>2]|0,k[T>>2]|0)|0;Ba=Lz(k[Ca>>2]|0)|0;k[W>>2]=Ba;$w(k[Ca>>2]|0,22,1,k[ba>>2]|0)|0;Hz(k[Ca>>2]|0,15,k[ua>>2]|0)|0;Qz(k[Ca>>2]|0,k[U>>2]|0);Ba=Lz(k[Ca>>2]|0)|0;k[U>>2]=Ba;$w(k[Ca>>2]|0,138,k[fa>>2]|0,(k[U>>2]|0)+2|0)|0;Hz(k[Ca>>2]|0,15,k[ua>>2]|0)|0;yG(k[P>>2]|0,xa);VA(k[P>>2]|0,k[na>>2]|0,(k[U>>2]|0)+1|0,16);rG(k[P>>2]|0,k[Q>>2]|0,k[k[Q>>2]>>2]|0,-1,za,ya,k[R>>2]|0,(k[U>>2]|0)+1|0,k[W>>2]|0);Hz(k[Ca>>2]|0,15,k[ua>>2]|0)|0;Qz(k[Ca>>2]|0,k[V>>2]|0);zG(k[P>>2]|0,xa);Hz(k[Ca>>2]|0,15,k[wa>>2]|0)|0}else{k[G>>2]=0;Ba=AG(k[Q>>2]|0,xa)|0;k[K>>2]=Ba;if(Ba){Aa=Nh(k[k[P>>2]>>2]|0,k[(k[K>>2]|0)+64>>2]|0)|0;k[D>>2]=Aa;Aa=(k[P>>2]|0)+72|0;Ba=k[Aa>>2]|0;k[Aa>>2]=Ba+1;k[C>>2]=Ba;k[I>>2]=0;k[F>>2]=0;k[E>>2]=k[(k[K>>2]|0)+28>>2];lx(k[P>>2]|0,k[D>>2]|0);Iz(k[P>>2]|0,k[D>>2]|0,k[(k[K>>2]|0)+28>>2]|0,0,k[k[K>>2]>>2]|0);if(l[(k[K>>2]|0)+42>>0]&32){Ba=Oj(k[K>>2]|0)|0;k[F>>2]=Ba}k[H>>2]=k[(k[K>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;do if(!((l[(k[H>>2]|0)+55>>0]|0)>>>2&1)){if((j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[K>>2]|0)+40>>1]|0))break;if(k[(k[H>>2]|0)+36>>2]|0)break;if((k[F>>2]|0)!=0?(j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[F>>2]|0)+48>>1]|0):0)break;k[F>>2]=k[H>>2]}while(0);k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[F>>2]|0){k[E>>2]=k[(k[F>>2]|0)+44>>2];Ba=Zz(k[P>>2]|0,k[F>>2]|0)|0;k[I>>2]=Ba}Oh(k[Ca>>2]|0,54,k[C>>2]|0,k[E>>2]|0,k[D>>2]|0,1)|0;if(k[I>>2]|0)Sh(k[Ca>>2]|0,-1,k[I>>2]|0,-6);$w(k[Ca>>2]|0,50,k[C>>2]|0,k[(k[xa+40>>2]|0)+8>>2]|0)|0;Hz(k[Ca>>2]|0,61,k[C>>2]|0)|0;BG(k[P>>2]|0,k[K>>2]|0,k[F>>2]|0)}else{k[J>>2]=0;i[B>>0]=0;if(!(k[(k[Q>>2]|0)+44>>2]|0)){Ba=CG(xa,J)|0;i[B>>0]=Ba}do if(i[B>>0]|0){Ba=Fy(k[Z>>2]|0,k[J>>2]|0,0)|0;k[J>>2]=Ba;k[G>>2]=k[J>>2];if(i[(k[Z>>2]|0)+65>>0]|0)break;i[(k[(k[J>>2]|0)+4>>2]|0)+12>>0]=(l[B>>0]|0)!=1?1:0;i[k[k[(k[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);zG(k[P>>2]|0,xa);Ba=$C(k[P>>2]|0,k[pa>>2]|0,k[M>>2]|0,k[J>>2]|0,0,l[B>>0]|0,0)|0;k[qa>>2]=Ba;if(!(k[qa>>2]|0)){dv(k[Z>>2]|0,k[G>>2]|0);break}xG(k[P>>2]|0,xa);if((oG(k[qa>>2]|0)|0)>0){Ba=k[Ca>>2]|0;Oz(Ba,qG(k[qa>>2]|0)|0)|0}aD(k[qa>>2]|0);yG(k[P>>2]|0,xa)}k[za>>2]=0;VA(k[P>>2]|0,k[na>>2]|0,k[T>>2]|0,16);rG(k[P>>2]|0,k[Q>>2]|0,k[k[Q>>2]>>2]|0,-1,0,0,k[R>>2]|0,k[T>>2]|0,k[T>>2]|0);dv(k[Z>>2]|0,k[G>>2]|0)}Qz(k[Ca>>2]|0,k[T>>2]|0)}if((l[ya+1>>0]|0)==3)uG(k[P>>2]|0,36474);if(k[za>>2]|0){uG(k[P>>2]|0,(k[za+4>>2]|0)>0?36492:36515);DG(k[P>>2]|0,k[Q>>2]|0,za,k[k[la>>2]>>2]|0,k[R>>2]|0)}Qz(k[Ca>>2]|0,k[da>>2]|0);k[sa>>2]=(k[(k[P>>2]|0)+68>>2]|0)>0&1}}while(0);k[(k[P>>2]|0)+468>>2]=k[ea>>2];if((k[sa>>2]|0)==0?(l[k[R>>2]>>0]|0)==9:0)EG(k[P>>2]|0,k[pa>>2]|0,k[la>>2]|0);ag(k[Z>>2]|0,k[xa+28>>2]|0);ag(k[Z>>2]|0,k[xa+40>>2]|0);k[O>>2]=k[sa>>2];Ca=k[O>>2]|0;r=Da;return Ca|0}k[O>>2]=1;Ca=k[O>>2]|0;r=Da;return Ca|0}function Nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;i=l;c=l+24|0;d=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;e=l+4|0;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+52>>2]|0)){r=l;return}k[h>>2]=0;k[e>>2]=0;k[g>>2]=k[d>>2];while(1){if(!(k[g>>2]|0))break;k[(k[g>>2]|0)+56>>2]=k[h>>2];a=(k[g>>2]|0)+6|0;j[a>>1]=m[a>>1]|0|128;k[h>>2]=k[g>>2];k[g>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[e>>2]|0)+1}if((m[(k[d>>2]|0)+6>>1]|0)&512){r=l;return}a=k[(k[k[c>>2]>>2]|0)+88+16>>2]|0;k[f>>2]=a;if((a|0)<=0){r=l;return}if((k[e>>2]|0)<=(k[f>>2]|0)){r=l;return}Kh(k[c>>2]|0,36400,i);r=l;return}function Ov(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;v=x;i=x+44|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=k[k[j>>2]>>2];if((k[l>>2]|0)==0?(k[q>>2]|0)!=0|(k[s>>2]|0)!=0:0){h=k[j>>2]|0;k[v>>2]=(k[q>>2]|0)!=0?36355:36358;Kh(h,36364,v)}else w=4;if(((w|0)==4?(w=Xv(k[t>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0,k[l>>2]=w,(k[l>>2]|0)!=0):0)?(k[k[l>>2]>>2]|0)!=0:0){k[u>>2]=(k[l>>2]|0)+8+(((k[k[l>>2]>>2]|0)-1|0)*72|0);if(k[(k[o>>2]|0)+4>>2]|0){w=Nw(k[t>>2]|0,k[o>>2]|0)|0;k[(k[u>>2]|0)+12>>2]=w}k[(k[u>>2]|0)+20>>2]=k[p>>2];k[(k[u>>2]|0)+48>>2]=k[q>>2];k[(k[u>>2]|0)+52>>2]=k[s>>2];k[i>>2]=k[l>>2];w=k[i>>2]|0;r=x;return w|0}hv(k[t>>2]|0,k[q>>2]|0);iv(k[t>>2]|0,k[s>>2]|0);ev(k[t>>2]|0,k[p>>2]|0);k[i>>2]=0;w=k[i>>2]|0;r=x;return w|0}function Pv(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+128|0;n=B+112|0;o=B+108|0;p=B+104|0;q=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+116|0;w=B+84|0;x=B+80|0;z=B+76|0;A=B;y=B+72|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;j[v>>1]=h;k[w>>2]=l;k[x>>2]=m;k[y>>2]=k[k[n>>2]>>2];h=Pw(k[y>>2]|0,72,0)|0;k[z>>2]=h;k[z>>2]=(k[z>>2]|0)==0?A:h;if(!(k[o>>2]|0)){h=k[n>>2]|0;h=Qv(h,0,Tv(k[y>>2]|0,158,0)|0)|0;k[o>>2]=h}k[k[z>>2]>>2]=k[o>>2];i[(k[z>>2]|0)+4>>0]=119;j[(k[z>>2]|0)+6>>1]=j[v>>1]|0;k[(k[z>>2]|0)+8>>2]=0;k[(k[z>>2]|0)+12>>2]=0;k[(k[z>>2]|0)+16>>2]=-1;k[(k[z>>2]|0)+16+4>>2]=-1;h=(k[z>>2]|0)+24|0;k[h>>2]=0;k[h+4>>2]=0;if(!(k[p>>2]|0)){h=zh(k[y>>2]|0,80,0)|0;k[p>>2]=h}k[(k[z>>2]|0)+32>>2]=k[p>>2];k[(k[z>>2]|0)+36>>2]=k[q>>2];k[(k[z>>2]|0)+40>>2]=k[s>>2];k[(k[z>>2]|0)+44>>2]=k[t>>2];k[(k[z>>2]|0)+48>>2]=k[u>>2];k[(k[z>>2]|0)+52>>2]=0;k[(k[z>>2]|0)+56>>2]=0;k[(k[z>>2]|0)+60>>2]=k[w>>2];k[(k[z>>2]|0)+64>>2]=k[x>>2];k[(k[z>>2]|0)+68>>2]=0;if(!(i[(k[y>>2]|0)+65>>0]|0)){A=k[z>>2]|0;r=B;return A|0}fv(k[y>>2]|0,k[z>>2]|0,(k[z>>2]|0)!=(A|0)&1);k[z>>2]=0;A=k[z>>2]|0;r=B;return A|0}function Qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;i=j;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[k[l>>2]>>2];if(!(k[f>>2]|0)){l=Pw(k[h>>2]|0,8,0)|0;k[f>>2]=l;if((k[f>>2]|0)!=0?(k[k[f>>2]>>2]=0,l=Pw(k[h>>2]|0,20,0)|0,k[(k[f>>2]|0)+4>>2]=l,(k[(k[f>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(k[k[f>>2]>>2]&(k[k[f>>2]>>2]|0)-1)){l=Ow(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[k[f>>2]>>2]<<1)*20|0,0)|0;k[d>>2]=l;if(!(k[d>>2]|0))d=8;else{k[(k[f>>2]|0)+4>>2]=k[d>>2];d=7}}else d=7;if((d|0)==7){h=k[f>>2]|0;l=k[h>>2]|0;k[h>>2]=l+1;k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(l*20|0);l=k[i>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[k[i>>2]>>2]=k[g>>2];k[e>>2]=k[f>>2];l=k[e>>2]|0;r=j;return l|0}else if((d|0)==8){hv(k[h>>2]|0,k[g>>2]|0);dv(k[h>>2]|0,k[f>>2]|0);k[e>>2]=0;l=k[e>>2]|0;r=j;return l|0}return 0}function Rv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0);a=Sw(k[k[e>>2]>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[(k[i>>2]|0)+4>>2]=a;if(!(k[h>>2]|0)){r=j;return}if(!(k[(k[i>>2]|0)+4>>2]|0)){r=j;return}Tw(k[(k[i>>2]|0)+4>>2]|0)|0;r=j;return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[i>>2]>>2];if(!(k[d>>2]|0)){r=h;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+(((k[k[d>>2]>>2]|0)-1|0)*20|0);ag(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0);i=(k[(k[e>>2]|0)+8>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0;i=Sw(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,i,((i|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=i;r=h;return}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;k[g>>2]=k[d>>2];if(k[d>>2]|0)d=Sf(k[d>>2]|0)|0;else d=0;k[g+4>>2]=d;g=mz(k[e>>2]|0,k[f>>2]|0,g,0)|0;r=h;return g|0}function Uv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=(k[k[b>>2]>>2]|0)-1;while(1){if((k[c>>2]|0)<=0)break;i[(k[b>>2]|0)+8+((k[c>>2]|0)*72|0)+36>>0]=i[(k[b>>2]|0)+8+(((k[c>>2]|0)-1|0)*72|0)+36>>0]|0;k[c>>2]=(k[c>>2]|0)+-1}i[(k[b>>2]|0)+8+36>>0]=0;r=d;return}function Vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}if((k[k[e>>2]>>2]|0)<=0){r=h;return}k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);if((k[(k[f>>2]|0)+4>>2]|0)==1?(k[k[f>>2]>>2]|0)==0:0){a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-2|1;r=h;return}a=Nw(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+64>>2]=a;a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-3|((k[(k[g>>2]|0)+64>>2]|0)!=0&1)<<1&255;r=h;return}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);k[(k[g>>2]|0)+64>>2]=k[f>>2];a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-5|4;r=h;return}else{dv(k[k[d>>2]>>2]|0,k[f>>2]|0);r=h;return}}function Xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;do if(!(k[g>>2]|0)){c=Pw(k[f>>2]|0,80,0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[g>>2]|0)+4>>2]=1;k[k[g>>2]>>2]=0;break}k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}while(0);c=cG(k[f>>2]|0,k[g>>2]|0,1,k[k[g>>2]>>2]|0)|0;k[g>>2]=c;if(i[(k[f>>2]|0)+65>>0]|0){gv(k[f>>2]|0,k[g>>2]|0);k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+8+(((k[k[g>>2]>>2]|0)-1|0)*72|0);if((k[j>>2]|0)!=0?(k[k[j>>2]>>2]|0)==0:0)k[j>>2]=0;if(k[j>>2]|0){k[m>>2]=k[j>>2];k[j>>2]=k[h>>2];k[h>>2]=k[m>>2]}m=Nw(k[f>>2]|0,k[h>>2]|0)|0;k[(k[l>>2]|0)+8>>2]=m;m=Nw(k[f>>2]|0,k[j>>2]|0)|0;k[(k[l>>2]|0)+4>>2]=m;k[e>>2]=k[g>>2];m=k[e>>2]|0;r=n;return m|0}function Yv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;q=u+16|0;p=u;e=u+64|0;f=u+60|0;g=u+56|0;h=u+52|0;n=u+48|0;i=u+36|0;o=u+32|0;j=u+28|0;m=u+24|0;s=u+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[i>>2]=k[f>>2];k[i+4>>2]=k[g>>2];k[i+8>>2]=k[h>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=3)break;if(!(k[i+(k[j>>2]<<2)>>2]|0))break;k[o>>2]=k[i+(k[j>>2]<<2)>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=7)break;if((k[(k[o>>2]|0)+4>>2]|0)==(l[36199+((k[m>>2]|0)*3|0)+1>>0]|0|0)?(Jd(k[k[o>>2]>>2]|0,36220+(l[36199+((k[m>>2]|0)*3|0)>>0]|0)|0,k[(k[o>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}k[m>>2]=(k[m>>2]|0)+1}if((t|0)==8){t=0;k[n>>2]=k[n>>2]|(l[36199+((k[m>>2]|0)*3|0)+2>>0]|0)}if((k[m>>2]|0)>=7){t=11;break}k[j>>2]=(k[j>>2]|0)+1}if((t|0)==11)k[n>>2]=k[n>>2]|64;if((k[n>>2]&33|0)!=33?(k[n>>2]&64|0)==0:0){if(!(k[n>>2]&32)){t=k[n>>2]|0;r=u;return t|0}if((k[n>>2]&24|0)==8){t=k[n>>2]|0;r=u;return t|0}Kh(k[e>>2]|0,36300,q);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}k[s>>2]=36254;if(!(k[h>>2]|0))k[s>>2]=(k[s>>2]|0)+1;t=k[e>>2]|0;a=k[g>>2]|0;q=k[s>>2]|0;s=k[h>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=a;k[p+8>>2]=q;k[p+12>>2]=s;Kh(t,36256,p);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}function Zv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)<0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[k[c>>2]>>2]|0)-1|0)*20|0)+12>>0]=k[d>>2];r=e;return}function _v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;if(!(k[e>>2]|0)){r=g;return}k[(k[e>>2]|0)+4>>2]=k[(k[d>>2]|0)+536>>2];k[(k[d>>2]|0)+536>>2]=k[e>>2];if(!(i[f>>0]|0)){r=g;return}k[(k[d>>2]|0)+540>>2]=k[e>>2];r=g;return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;h=Y+144|0;O=Y+140|0;Q=Y+136|0;n=Y+132|0;M=Y+128|0;W=Y+120|0;q=Y+88|0;f=Y+84|0;S=Y+80|0;p=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;g=Y+52|0;o=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;d=Y+28|0;R=Y+24|0;E=Y+20|0;x=Y+16|0;s=Y+184|0;e=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;k[H>>2]=a;k[I>>2]=b;k[J>>2]=c;k[O>>2]=0;k[Q>>2]=0;k[S>>2]=-1;k[K>>2]=0;k[g>>2]=0;j[o>>1]=1;k[P>>2]=0;k[C>>2]=0;k[v>>2]=0;k[L>>2]=0;k[d>>2]=0;k[W>>2]=0;k[W+4>>2]=0;k[M>>2]=k[k[H>>2]>>2];a:do if(((k[(k[H>>2]|0)+68>>2]|0)==0?(l[(k[M>>2]|0)+65>>0]|0)==0:0)?(c=NB(k[H>>2]|0,k[I>>2]|0)|0,k[V>>2]=c,(k[V>>2]|0)!=0):0){c=CC(k[H>>2]|0,k[V>>2]|0,109,0,0)|0;k[E>>2]=c;k[R>>2]=(k[(k[V>>2]|0)+12>>2]|0)!=0&1;if(k[E>>2]|0)a=1;else a=(NE(k[H>>2]|0,k[V>>2]|0,0,0)|0)!=0;k[x>>2]=a&1;if(((Jx(k[H>>2]|0,k[V>>2]|0)|0)==0?(DC(k[H>>2]|0,k[V>>2]|0,(k[E>>2]|0)!=0?1:0)|0)==0:0)?(c=Nh(k[M>>2]|0,k[(k[V>>2]|0)+64>>2]|0)|0,k[f>>2]=c,k[t>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2],t=Ww(k[H>>2]|0,9,k[k[V>>2]>>2]|0,0,k[t>>2]|0)|0,k[p>>2]=t,(k[p>>2]|0)!=1):0){c=(k[H>>2]|0)+72|0;t=k[c>>2]|0;k[c>>2]=t+1;k[(k[I>>2]|0)+8+44>>2]=t;k[h>>2]=t;k[n>>2]=0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break;t=(k[H>>2]|0)+72|0;k[t>>2]=(k[t>>2]|0)+1;k[T>>2]=k[(k[T>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if(k[R>>2]|0)ZF(k[H>>2]|0,W,k[k[V>>2]>>2]|0);t=Zw(k[H>>2]|0)|0;k[X>>2]=t;if(k[X>>2]|0){if(!(l[(k[H>>2]|0)+18>>0]|0))EC(k[X>>2]|0);kx(k[H>>2]|0,1,k[f>>2]|0);if(k[R>>2]|0){_F(k[H>>2]|0,k[V>>2]|0,k[J>>2]|0,k[h>>2]|0);t=k[h>>2]|0;k[Q>>2]=t;k[O>>2]=t};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q>>2]=k[H>>2];k[q+4>>2]=k[I>>2];if(!(py(q,k[J>>2]|0)|0)){if(k[(k[M>>2]|0)+24>>2]&128){q=(k[H>>2]|0)+76|0;t=(k[q>>2]|0)+1|0;k[q>>2]=t;k[S>>2]=t;$w(k[X>>2]|0,22,0,k[S>>2]|0)|0}b:do if(!((k[p>>2]|0)==0&(k[J>>2]|0)==0^1|(k[x>>2]|0)!=0)?(l[(k[V>>2]|0)+42>>0]&16|0)==0:0){Iz(k[H>>2]|0,k[f>>2]|0,k[(k[V>>2]|0)+28>>2]|0,1,k[k[V>>2]>>2]|0);if(!(l[(k[V>>2]|0)+42>>0]&32))cx(k[X>>2]|0,119,k[(k[V>>2]|0)+28>>2]|0,k[f>>2]|0,k[S>>2]|0,k[k[V>>2]>>2]|0,-2)|0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break b;$w(k[X>>2]|0,119,k[(k[T>>2]|0)+44>>2]|0,k[f>>2]|0)|0;k[T>>2]=k[(k[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){j[s>>1]=12;j[s>>1]=m[s>>1]|((k[x>>2]|0)!=0?0:8192);if(!(l[(k[V>>2]|0)+42>>0]&32)){k[U>>2]=0;j[o>>1]=1;t=(k[H>>2]|0)+76|0;u=(k[t>>2]|0)+1|0;k[t>>2]=u;k[C>>2]=u;$w(k[X>>2]|0,25,0,k[C>>2]|0)|0}else{t=Oj(k[V>>2]|0)|0;k[U>>2]=t;j[o>>1]=j[(k[U>>2]|0)+50>>1]|0;k[g>>2]=(k[(k[H>>2]|0)+76>>2]|0)+1;t=(k[H>>2]|0)+76|0;k[t>>2]=(k[t>>2]|0)+(j[o>>1]|0);t=(k[H>>2]|0)+72|0;u=k[t>>2]|0;k[t>>2]=u+1;k[P>>2]=u;u=$w(k[X>>2]|0,57,k[P>>2]|0,j[o>>1]|0)|0;k[d>>2]=u;Kz(k[H>>2]|0,k[U>>2]|0)}u=$C(k[H>>2]|0,k[I>>2]|0,k[J>>2]|0,0,0,j[s>>1]|0,(k[h>>2]|0)+1|0)|0;k[G>>2]=u;if(!(k[G>>2]|0))break a;u=aG(k[G>>2]|0,w)|0;k[z>>2]=u;if(k[(k[M>>2]|0)+24>>2]&128)$w(k[X>>2]|0,37,k[S>>2]|0,1)|0;do if(k[U>>2]|0){k[N>>2]=0;while(1){if((k[N>>2]|0)>=(j[o>>1]|0))break;DA(k[X>>2]|0,k[V>>2]|0,k[h>>2]|0,j[(k[(k[U>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0,(k[g>>2]|0)+(k[N>>2]|0)|0);k[N>>2]=(k[N>>2]|0)+1}k[B>>2]=k[g>>2]}else{k[B>>2]=(k[(k[H>>2]|0)+76>>2]|0)+1;u=JA(k[H>>2]|0,k[V>>2]|0,-1,k[h>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=u;if((k[B>>2]|0)<=(k[(k[H>>2]|0)+76>>2]|0))break;k[(k[H>>2]|0)+76>>2]=k[B>>2]}while(0);do if(!(k[z>>2]|0))if(k[U>>2]|0){q=(k[H>>2]|0)+76|0;p=(k[q>>2]|0)+1|0;k[q>>2]=p;k[B>>2]=p;j[D>>1]=0;p=k[X>>2]|0;q=k[g>>2]|0;s=j[o>>1]|0;t=k[B>>2]|0;u=nC(k[k[H>>2]>>2]|0,k[U>>2]|0)|0;cx(p,49,q,s,t,u,j[o>>1]|0)|0;$w(k[X>>2]|0,110,k[P>>2]|0,k[B>>2]|0)|0;break}else{j[D>>1]=1;$w(k[X>>2]|0,129,k[C>>2]|0,k[B>>2]|0)|0;break}else{j[D>>1]=j[o>>1]|0;u=(k[n>>2]|0)+2|0;u=Pw(k[M>>2]|0,u,((u|0)<0)<<31>>31)|0;k[K>>2]=u;if(!(k[K>>2]|0)){aD(k[G>>2]|0);break a}uR(k[K>>2]|0,1,(k[n>>2]|0)+1|0)|0;i[(k[K>>2]|0)+((k[n>>2]|0)+1)>>0]=0;if((k[w>>2]|0)>=0)i[(k[K>>2]|0)+((k[w>>2]|0)-(k[h>>2]|0))>>0]=0;if((k[w+4>>2]|0)>=0)i[(k[K>>2]|0)+((k[w+4>>2]|0)-(k[h>>2]|0))>>0]=0;if(!(k[d>>2]|0))break;zA(k[X>>2]|0,k[d>>2]|0)|0}while(0);if(k[z>>2]|0){u=Mz(k[X>>2]|0)|0;k[v>>2]=u}else aD(k[G>>2]|0);do if(!(k[R>>2]|0)){k[e>>2]=0;if((k[z>>2]|0)==2){u=cB(k[H>>2]|0)|0;k[e>>2]=u}qC(k[H>>2]|0,k[V>>2]|0,55,8,k[h>>2]|0,k[K>>2]|0,O,Q)|0;if((k[z>>2]|0)!=2)break;Pz(k[X>>2]|0,k[e>>2]|0)}while(0);do if(!(k[z>>2]|0)){a=k[X>>2]|0;if(k[U>>2]|0){C=Hz(a,108,k[P>>2]|0)|0;k[L>>2]=C;$w(k[X>>2]|0,101,k[P>>2]|0,k[B>>2]|0)|0;break}else{C=dx(a,130,k[C>>2]|0,0,k[B>>2]|0)|0;k[L>>2]=C;break}}else{if(l[(k[V>>2]|0)+42>>0]&16)break;if(!(l[(k[K>>2]|0)+((k[O>>2]|0)-(k[h>>2]|0))>>0]|0))break;Oh(k[X>>2]|0,68,k[O>>2]|0,k[v>>2]|0,k[B>>2]|0,j[D>>1]|0)|0}while(0);do if(l[(k[V>>2]|0)+42>>0]&16){E=Kx(k[M>>2]|0,k[V>>2]|0)|0;k[F>>2]=E;OC(k[H>>2]|0,k[V>>2]|0);cx(k[X>>2]|0,12,0,1,k[B>>2]|0,k[F>>2]|0,-10)|0;Ph(k[X>>2]|0,2);Lx(k[H>>2]|0);if((k[z>>2]|0)!=1)break;if(k[(k[H>>2]|0)+416>>2]|0)break;i[(k[H>>2]|0)+20>>0]=0}else{k[y>>2]=(l[(k[H>>2]|0)+18>>0]|0)==0&1;k[A>>2]=-1;do if(!(k[x>>2]|0)){if((k[w+4>>2]|0)==(k[O>>2]|0))break;k[A>>2]=k[w+4>>2]}while(0);PE(k[H>>2]|0,k[V>>2]|0,k[E>>2]|0,k[O>>2]|0,k[Q>>2]|0,k[B>>2]|0,j[D>>1]|0,k[y>>2]&255,10,k[z>>2]&255,k[A>>2]|0)}while(0);do if(!(k[z>>2]|0)){a=k[X>>2]|0;if(k[U>>2]|0){$w(a,7,k[P>>2]|0,(k[L>>2]|0)+1|0)|0;Pz(k[X>>2]|0,k[L>>2]|0);break}else{Oz(a,k[L>>2]|0)|0;Pz(k[X>>2]|0,k[L>>2]|0);break}}else{Qz(k[X>>2]|0,k[v>>2]|0);aD(k[G>>2]|0)}while(0);if(k[R>>2]|0)break;if(l[(k[V>>2]|0)+42>>0]&16)break;if(!(k[U>>2]|0))Hz(k[X>>2]|0,61,k[O>>2]|0)|0;k[N>>2]=0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break c;Hz(k[X>>2]|0,61,(k[Q>>2]|0)+(k[N>>2]|0)|0)|0;k[N>>2]=(k[N>>2]|0)+1;k[T>>2]=k[(k[T>>2]|0)+20>>2]}}while(0);if((l[(k[H>>2]|0)+18>>0]|0)==0?(k[(k[H>>2]|0)+420>>2]|0)==0:0)SC(k[H>>2]|0);if(((k[(k[M>>2]|0)+24>>2]&128|0)!=0?(i[(k[H>>2]|0)+18>>0]|0)==0:0)?(k[(k[H>>2]|0)+420>>2]|0)==0:0){$w(k[X>>2]|0,33,k[S>>2]|0,1)|0;YB(k[X>>2]|0,1);ZB(k[X>>2]|0,0,0,36186,0)|0}}}}}while(0);bG(W);gv(k[M>>2]|0,k[I>>2]|0);hv(k[M>>2]|0,k[J>>2]|0);ag(k[M>>2]|0,k[K>>2]|0);r=Y;return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+88+8>>2];if(!(k[e>>2]|0)){r=i;return}if((k[k[e>>2]>>2]|0)<=(k[g>>2]|0)){r=i;return}c=k[d>>2]|0;k[h>>2]=k[f>>2];Kh(c,36163,h);r=i;return}function bw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;p=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;o=oa+120|0;f=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;h=oa+28|0;n=oa+24|0;g=oa+250|0;u=oa+20|0;w=oa+248|0;q=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;k[X>>2]=a;k[Y>>2]=b;k[Z>>2]=c;k[_>>2]=d;k[K>>2]=e;k[ba>>2]=0;k[L>>2]=0;k[aa>>2]=0;k[z>>2]=0;k[fa>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[V>>2]=0;k[U>>2]=0;k[I>>2]=0;k[F>>2]=0;k[A>>2]=0;k[T>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ca>>2]=k[k[X>>2]>>2];if(k[(k[X>>2]|0)+68>>2]|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(l[(k[ca>>2]|0)+65>>0]|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}d=NB(k[X>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=d;if(!(k[ka>>2]|0)){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}d=Nh(k[k[X>>2]>>2]|0,k[(k[ka>>2]|0)+64>>2]|0)|0;k[f>>2]=d;d=CC(k[X>>2]|0,k[ka>>2]|0,110,k[Z>>2]|0,G)|0;k[S>>2]=d;k[H>>2]=(k[(k[ka>>2]|0)+12>>2]|0)!=0&1;if(Jx(k[X>>2]|0,k[ka>>2]|0)|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(DC(k[X>>2]|0,k[ka>>2]|0,k[G>>2]|0)|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}b=(k[X>>2]|0)+72|0;d=k[b>>2]|0;k[b>>2]=d+1;k[ea>>2]=d;k[t>>2]=d;k[(k[Y>>2]|0)+8+44>>2]=d;k[ga>>2]=(k[ea>>2]|0)+1;if(!(l[(k[ka>>2]|0)+42>>0]&32))e=0;else e=Oj(k[ka>>2]|0)|0;k[ja>>2]=e;k[v>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if((k[ja>>2]|0)!=0?(i[(k[ia>>2]|0)+55>>0]&3|0)==2:0){k[ea>>2]=k[(k[X>>2]|0)+72>>2];k[(k[Y>>2]|0)+8+44>>2]=k[ea>>2]}d=(k[X>>2]|0)+72|0;k[d>>2]=(k[d>>2]|0)+1;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}d=Pw(k[ca>>2]|0,((j[(k[ka>>2]|0)+34>>1]|0)+(k[v>>2]|0)<<2)+(k[v>>2]|0)+2|0,0)|0;k[aa>>2]=d;if(!(k[aa>>2]|0)){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}k[L>>2]=(k[aa>>2]|0)+(j[(k[ka>>2]|0)+34>>1]<<2);k[$>>2]=(k[L>>2]|0)+(k[v>>2]<<2);uR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;i[(k[$>>2]|0)+((k[v>>2]|0)+1)>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[X>>2];k[o+4>>2]=k[Y>>2];i[y>>0]=0;i[B>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[k[Z>>2]>>2]|0)){J=41;break}if(py(o,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;d=(be(k[(k[(k[ka>>2]|0)+4>>2]|0)+((k[C>>2]|0)*24|0)>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)==0;e=k[C>>2]|0;if(d){J=23;break}k[C>>2]=e+1}if((J|0)==23){J=0;if((e|0)!=(j[(k[ka>>2]|0)+32>>1]|0)){if((k[ja>>2]|0)!=0?(l[(k[(k[ka>>2]|0)+4>>2]|0)+((k[C>>2]|0)*24|0)+23>>0]&1|0)!=0:0)i[y>>0]=1}else{i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=k[da>>2]}if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0)){if(k[ja>>2]|0){J=34;break}if(!(Ai(k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}k[C>>2]=-1;i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}if((k[C>>2]|0)<0)e=20759;else e=k[(k[(k[ka>>2]|0)+4>>2]|0)+((k[C>>2]|0)*24|0)>>2]|0;d=Ww(k[X>>2]|0,23,k[k[ka>>2]>>2]|0,e,k[(k[(k[ca>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;k[h>>2]=d;if((k[h>>2]|0)==1){J=185;break}if((k[h>>2]|0)==2)k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}if((J|0)==34){na=k[X>>2]|0;k[p>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2];Kh(na,24991,p);i[(k[X>>2]|0)+17>>0]=1;bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}else if((J|0)==41){i[O>>0]=(l[B>>0]|0)+(l[y>>0]|0);h=(l[(k[ka>>2]|0)+42>>0]&16|0)!=0;p=(k[Y>>2]|0)+8+56|0;k[p>>2]=h?-1:0;k[p+4>>2]=h?-1:0;p=NE(k[X>>2]|0,k[ka>>2]|0,k[aa>>2]|0,l[O>>0]|0)|0;k[P>>2]=p;k[C>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;a:do if((!((l[O>>0]|0)!=0|(k[P>>2]|0)!=0)?(k[(k[ia>>2]|0)+36>>2]|0)==0:0)?(k[ia>>2]|0)!=(k[ja>>2]|0):0){k[n>>2]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(m[(k[ia>>2]|0)+50>>1]|0))break a;j[g>>1]=j[(k[(k[ia>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0;if((j[g>>1]|0)<0)break;if((k[(k[aa>>2]|0)+(j[g>>1]<<2)>>2]|0)>=0)break;k[da>>2]=(k[da>>2]|0)+1}h=(k[X>>2]|0)+76|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}else J=46;while(0);if((J|0)==46){J=0;h=(k[X>>2]|0)+76|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}if(!(k[n>>2]|0))i[(k[$>>2]|0)+((k[C>>2]|0)+1)>>0]=0;k[(k[L>>2]|0)+(k[C>>2]<<2)>>2]=k[n>>2];k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[C>>2]=(k[C>>2]|0)+1}p=Zw(k[X>>2]|0)|0;k[na>>2]=p;if(!(k[na>>2]|0)){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(!(l[(k[X>>2]|0)+18>>0]|0))EC(k[na>>2]|0);kx(k[X>>2]|0,1,k[f>>2]|0);if(!(l[(k[ka>>2]|0)+42>>0]&16)){p=(k[X>>2]|0)+76|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;n=(k[X>>2]|0)+76|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p;k[V>>2]=p;if((l[y>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){k[F>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if((l[O>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){n=(k[X>>2]|0)+76|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p}k[I>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if(k[H>>2]|0)ZF(k[X>>2]|0,ma,k[k[ka>>2]>>2]|0);if(k[H>>2]|0)_F(k[X>>2]|0,k[ka>>2]|0,k[_>>2]|0,k[ea>>2]|0);if(py(o,k[_>>2]|0)|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(l[(k[ka>>2]|0)+42>>0]&16){$F(k[X>>2]|0,k[Y>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[z>>2]|0,k[aa>>2]|0,k[_>>2]|0,k[K>>2]|0);bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(!(l[(k[ka>>2]|0)+42>>0]&32)){dx(k[na>>2]|0,25,0,k[A>>2]|0,k[V>>2]|0)|0;w=$C(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=w;if(!(k[x>>2]|0)){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}w=aG(k[x>>2]|0,s)|0;k[R>>2]=w;$w(k[na>>2]|0,103,k[ea>>2]|0,k[V>>2]|0)|0;if(!(k[R>>2]|0))$w(k[na>>2]|0,129,k[A>>2]|0,k[V>>2]|0)|0;aD(k[x>>2]|0)}else{j[w>>1]=j[(k[ja>>2]|0)+50>>1]|0;k[u>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[w>>1]|0);p=(k[X>>2]|0)+76|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[T>>2]=o;o=(k[X>>2]|0)+72|0;p=k[o>>2]|0;k[o>>2]=p+1;k[fa>>2]=p;$w(k[na>>2]|0,25,0,k[u>>2]|0)|0;p=$w(k[na>>2]|0,57,k[fa>>2]|0,j[w>>1]|0)|0;k[q>>2]=p;Kz(k[X>>2]|0,k[ja>>2]|0);p=$C(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=p;if(!(k[x>>2]|0)){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}p=aG(k[x>>2]|0,s)|0;k[R>>2]=p;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[w>>1]|0))break;DA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,j[(k[(k[ja>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0,(k[u>>2]|0)+(k[da>>2]|0)|0);k[da>>2]=(k[da>>2]|0)+1}e=k[na>>2]|0;if(k[R>>2]|0){zA(e,k[q>>2]|0)|0;k[Q>>2]=j[w>>1];k[T>>2]=k[u>>2]}else{o=k[u>>2]|0;p=j[w>>1]|0;q=k[T>>2]|0;u=nC(k[ca>>2]|0,k[ja>>2]|0)|0;cx(e,49,o,p,q,u,j[w>>1]|0)|0;$w(k[na>>2]|0,110,k[fa>>2]|0,k[T>>2]|0)|0}aD(k[x>>2]|0)}if((k[(k[ca>>2]|0)+24>>2]&128|0)!=0?(k[(k[X>>2]|0)+420>>2]|0)==0:0){w=(k[X>>2]|0)+76|0;x=(k[w>>2]|0)+1|0;k[w>>2]=x;k[la>>2]=x;$w(k[na>>2]|0,22,0,k[la>>2]|0)|0}x=Mz(k[na>>2]|0)|0;k[ha>>2]=x;if(!(k[H>>2]|0)){b:do if((k[K>>2]|0)==5)uR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;else{k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break b;if((l[(k[ia>>2]|0)+54>>0]|0)==5)break;k[ia>>2]=k[(k[ia>>2]|0)+20>>2]}uR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0}while(0);do if(k[R>>2]|0){if((k[s>>2]|0)>=0)i[(k[$>>2]|0)+((k[s>>2]|0)-(k[t>>2]|0))>>0]=0;if((k[s+4>>2]|0)<0)break;i[(k[$>>2]|0)+((k[s+4>>2]|0)-(k[t>>2]|0))>>0]=0}while(0);qC(k[X>>2]|0,k[ka>>2]|0,55,0,k[t>>2]|0,k[$>>2]|0,0,0)|0}do if(!(k[R>>2]|0)){e=k[na>>2]|0;if(k[ja>>2]|0){A=Mz(e)|0;k[W>>2]=A;$w(k[na>>2]|0,108,k[fa>>2]|0,k[ha>>2]|0)|0;A=$w(k[na>>2]|0,101,k[fa>>2]|0,k[T>>2]|0)|0;k[ba>>2]=A;Oh(k[na>>2]|0,68,k[ea>>2]|0,k[W>>2]|0,k[T>>2]|0,0)|0;break}else{A=dx(e,130,k[A>>2]|0,k[ha>>2]|0,k[V>>2]|0)|0;k[W>>2]=A;dx(k[na>>2]|0,70,k[ea>>2]|0,k[W>>2]|0,k[V>>2]|0)|0;break}}else{if(!((k[H>>2]|0)!=0?1:(l[(k[$>>2]|0)+((k[ea>>2]|0)-(k[t>>2]|0))>>0]|0)==0))Oh(k[na>>2]|0,68,k[ea>>2]|0,k[ha>>2]|0,k[T>>2]|0,k[Q>>2]|0)|0;k[W>>2]=k[ha>>2];$w(k[na>>2]|0,76,(k[ja>>2]|0)!=0?k[T>>2]|0:k[V>>2]|0,k[ha>>2]|0)|0}while(0);if(i[B>>0]|0){HA(k[X>>2]|0,k[z>>2]|0,k[U>>2]|0);Hz(k[na>>2]|0,38,k[U>>2]|0)|0}do if((l[y>>0]|0)!=0|(k[P>>2]|0)!=0|(k[S>>2]|0)!=0){if(k[P>>2]|0)e=SE(k[X>>2]|0,k[ka>>2]|0)|0;else e=0;k[E>>2]=e;A=RE(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,0,3,k[ka>>2]|0,k[K>>2]|0)|0;k[E>>2]=k[E>>2]|A;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;do if((k[E>>2]|0)==-1)J=120;else{if((k[da>>2]|0)<32?(k[E>>2]&1<>2]|0)!=0:0){J=120;break}if(l[(k[(k[ka>>2]|0)+4>>2]|0)+((k[da>>2]|0)*24|0)+23>>0]&1){J=120;break}$w(k[na>>2]|0,25,0,(k[F>>2]|0)+(k[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;DA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[F>>2]|0)+(k[da>>2]|0)|0)}k[da>>2]=(k[da>>2]|0)+1}if(!((l[B>>0]|0)==0&(k[ja>>2]|0)==0))break;$w(k[na>>2]|0,30,k[V>>2]|0,k[U>>2]|0)|0}while(0);F=RE(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,1,1,k[ka>>2]|0,k[K>>2]|0)|0;k[D>>2]=F;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;c:do if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))$w(k[na>>2]|0,25,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;else{k[C>>2]=k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2];if((k[C>>2]|0)>=0){HA(k[X>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0);break}do if(!((k[da>>2]|0)>31?1:0==(k[G>>2]&1|0))){if(k[D>>2]&1<>2])break;$w(k[na>>2]|0,25,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;break c}while(0);FD(k[X>>2]|0,k[ka>>2]|0,k[da>>2]|0,k[ea>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}d:do if(k[G>>2]&1){KC(k[na>>2]|0,k[ka>>2]|0,k[I>>2]|0);LC(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,1,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);e=k[na>>2]|0;c=k[ea>>2]|0;a=k[W>>2]|0;if(k[ja>>2]|0)Oh(e,68,c,a,k[T>>2]|0,k[Q>>2]|0)|0;else dx(e,70,c,a,k[V>>2]|0)|0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break d;do if((k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]|0)<0){if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))break;DA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}}while(0);do if(!(k[H>>2]|0)){k[M>>2]=0;k[N>>2]=0;PC(k[X>>2]|0,k[ka>>2]|0,k[L>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[V>>2]|0,i[O>>0]|0,k[K>>2]&255,k[W>>2]|0,N,k[aa>>2]|0);if(k[P>>2]|0)QC(k[X>>2]|0,k[ka>>2]|0,k[V>>2]|0,0,k[aa>>2]|0,l[O>>0]|0);if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))J=151;do if((J|0)==151){e=k[na>>2]|0;c=k[ea>>2]|0;if(k[ja>>2]|0){T=Oh(e,68,c,0,k[T>>2]|0,k[Q>>2]|0)|0;k[M>>2]=T;break}else{T=dx(e,70,c,0,k[V>>2]|0)|0;k[M>>2]=T;break}}while(0);QE(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[L>>2]|0,-1);if(!((k[P>>2]|0)==0?!((l[O>>0]|0)!=0|(k[ja>>2]|0)!=0):0))$w(k[na>>2]|0,95,k[ea>>2]|0,0)|0;if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))Pz(k[na>>2]|0,k[M>>2]|0);if(k[P>>2]|0)QC(k[X>>2]|0,k[ka>>2]|0,0,k[U>>2]|0,k[aa>>2]|0,l[O>>0]|0);RC(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[L>>2]|0,1,0,0);if(!(k[P>>2]|0))break;TE(k[X>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[V>>2]|0,k[aa>>2]|0,l[O>>0]|0)}while(0);do if(k[(k[ca>>2]|0)+24>>2]&128){if(k[(k[X>>2]|0)+420>>2]|0)break;$w(k[na>>2]|0,37,k[la>>2]|0,1)|0}while(0);LC(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,2,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);do if(!(k[R>>2]|0)){c=k[na>>2]|0;e=k[W>>2]|0;if(k[ja>>2]|0){Qz(c,e);$w(k[na>>2]|0,7,k[fa>>2]|0,k[ba>>2]|0)|0;break}else{Oz(c,e)|0;break}}while(0);Qz(k[na>>2]|0,k[ha>>2]|0);k[da>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if(i[(k[$>>2]|0)+((k[da>>2]|0)+1)>>0]|0)$w(k[na>>2]|0,61,(k[ga>>2]|0)+(k[da>>2]|0)|0,0)|0;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[da>>2]=(k[da>>2]|0)+1}if((k[ea>>2]|0)<(k[ga>>2]|0))$w(k[na>>2]|0,61,k[ea>>2]|0,0)|0;do if(!(l[(k[X>>2]|0)+18>>0]|0)){if(k[(k[X>>2]|0)+420>>2]|0)break;SC(k[X>>2]|0)}while(0);if(!(k[(k[ca>>2]|0)+24>>2]&128)){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(k[(k[X>>2]|0)+420>>2]|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}if(i[(k[X>>2]|0)+18>>0]|0){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}$w(k[na>>2]|0,33,k[la>>2]|0,1)|0;YB(k[na>>2]|0,1);ZB(k[na>>2]|0,0,0,36150,0)|0;bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}else if((J|0)==185){bG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;ag(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;gv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;dv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;hv(ma,na);r=oa;return}} -function VC(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+96|0;n=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;g=Zw(k[n>>2]|0)|0;k[J>>2]=g;k[z>>2]=(k[(k[n>>2]|0)+72>>2]|0)-1;g=Mz(k[J>>2]|0)|0;k[C>>2]=g;if((k[v>>2]|0)<0)$w(k[J>>2]|0,136,l[(k[s>>2]|0)+24>>0]|0,k[C>>2]|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[s>>2]|0)+20>>2]|0))break;k[E>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+(k[u>>2]|0)+1;$w(k[J>>2]|0,76,k[E>>2]|0,k[C>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}do if(!(k[w>>2]|0)){if(!(k[q>>2]|0)){I=eA(k[n>>2]|0)|0;k[H>>2]=I;$w(k[J>>2]|0,31,(k[k[t>>2]>>2]|0)+1+(k[u>>2]|0)|0,k[H>>2]|0)|0;I=$w(k[J>>2]|0,38,k[H>>2]|0,0)|0;k[B>>2]=I;if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){dx(k[J>>2]|0,79,k[u>>2]|0,k[C>>2]|0,k[H>>2]|0)|0;Ph(k[J>>2]|0,-112)}Jz(k[n>>2]|0,k[z>>2]|0,k[o>>2]|0,k[p>>2]|0,54);dx(k[J>>2]|0,70,k[z>>2]|0,0,k[H>>2]|0)|0;Oz(k[J>>2]|0,k[C>>2]|0)|0;I=k[J>>2]|0;Pz(I,(Lz(k[J>>2]|0)|0)-2|0);Pz(k[J>>2]|0,k[B>>2]|0);iA(k[n>>2]|0,k[H>>2]|0);break}k[F>>2]=k[(k[s>>2]|0)+20>>2];H=uA(k[n>>2]|0,k[F>>2]|0)|0;k[I>>2]=H;H=eA(k[n>>2]|0)|0;k[G>>2]=H;dx(k[J>>2]|0,54,k[z>>2]|0,k[(k[q>>2]|0)+44>>2]|0,k[o>>2]|0)|0;Kz(k[n>>2]|0,k[q>>2]|0);k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;$w(k[J>>2]|0,30,(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0)|0,(k[I>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){H=Lz(k[J>>2]|0)|0;k[A>>2]=H+(k[F>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;k[y>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0);k[D>>2]=(j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)+1+(k[u>>2]|0);if((j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)==(j[(k[p>>2]|0)+32>>1]|0))k[D>>2]=k[u>>2];dx(k[J>>2]|0,78,k[y>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;Ph(k[J>>2]|0,16);k[x>>2]=(k[x>>2]|0)+1}Oz(k[J>>2]|0,k[C>>2]|0)|0}d=k[J>>2]|0;a=k[I>>2]|0;c=k[F>>2]|0;g=k[G>>2]|0;H=nC(k[k[n>>2]>>2]|0,k[q>>2]|0)|0;cx(d,49,a,c,g,H,k[F>>2]|0)|0;Oh(k[J>>2]|0,69,k[z>>2]|0,k[C>>2]|0,k[G>>2]|0,0)|0;iA(k[n>>2]|0,k[G>>2]|0);xA(k[n>>2]|0,k[I>>2]|0,k[F>>2]|0)}while(0);if((((i[(k[s>>2]|0)+24>>0]|0)==0?(k[(k[k[n>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(k[(k[n>>2]|0)+416>>2]|0)==0:0)?(i[(k[n>>2]|0)+20>>0]|0)==0:0){lA(k[n>>2]|0,787,2,0,-2,4);H=k[J>>2]|0;I=k[C>>2]|0;Qz(H,I);I=k[J>>2]|0;J=k[z>>2]|0;Hz(I,61,J)|0;r=K;return}if((k[v>>2]|0)>0?(l[(k[s>>2]|0)+24>>0]|0)==0:0)Lx(k[n>>2]|0);$w(k[J>>2]|0,135,l[(k[s>>2]|0)+24>>0]|0,k[v>>2]|0)|0;H=k[J>>2]|0;I=k[C>>2]|0;Qz(H,I);I=k[J>>2]|0;J=k[z>>2]|0;Hz(I,61,J)|0;r=K;return}function WC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;b=k[h>>2]|0;if(k[(k[h>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[f>>2]=b;do if(k[(k[f>>2]|0)+532>>2]|0){k[e>>2]=k[k[(k[f>>2]|0)+532>>2]>>2];if(!((k[e>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)?(l[(k[d>>2]|0)+25>>0]|0|0)==7:0)){if((k[e>>2]|0)!=(k[(k[d>>2]|0)+28+4>>2]|0))break;if((l[(k[d>>2]|0)+25+1>>0]|0|0)!=7)break}k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}while(0);k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function XC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s+16|0;m=s+12|0;p=s+8|0;n=s+4|0;o=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=0;a:while(1){if((k[m>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){q=14;break}k[p>>2]=k[(k[g>>2]|0)+36+(k[m>>2]<<3)+4>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;if(!((k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)<0?!((k[i>>2]|0)!=0?(k[n>>2]|0)==(j[(k[f>>2]|0)+32>>1]|0):0):0))q=7;do if((q|0)==7){q=0;k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[n>>2]|0)*24|0);c=k[o>>2]|0;if(k[p>>2]|0)if(!(be(k[c>>2]|0,k[p>>2]|0)|0)){q=9;break a}else break;else if(l[c+23>>0]&1){q=11;break a}else break}while(0);k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1}if((q|0)==9){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==11){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==14){k[e>>2]=0;q=k[e>>2]|0;r=s;return q|0}return 0}function YC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+144|0;i=O+128|0;n=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;k[i>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[v>>2]=k[k[i>>2]>>2];k[K>>2]=0;k[z>>2]=0;g=Zw(k[i>>2]|0)|0;k[M>>2]=g;if((k[u>>2]|0)<0){g=$w(k[M>>2]|0,136,l[(k[q>>2]|0)+24>>0]|0,0)|0;k[z>>2]=g}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[q>>2]|0)+20>>2]|0))break;if(k[p>>2]|0)f=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;else f=-1;j[x>>1]=f;g=ZC(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[x>>1]|0)|0;k[D>>2]=g;if(k[s>>2]|0)f=k[(k[s>>2]|0)+(k[w>>2]<<2)>>2]|0;else f=k[(k[q>>2]|0)+36>>2]|0;j[x>>1]=f;k[N>>2]=k[(k[(k[k[q>>2]>>2]|0)+4>>2]|0)+((j[x>>1]|0)*24|0)>>2];g=Tv(k[v>>2]|0,27,k[N>>2]|0)|0;k[H>>2]=g;g=Bv(k[i>>2]|0,79,k[D>>2]|0,k[H>>2]|0,0)|0;k[B>>2]=g;g=kz(k[v>>2]|0,k[K>>2]|0,k[B>>2]|0)|0;k[K>>2]=g;k[w>>2]=(k[w>>2]|0)+1}if((k[u>>2]|0)>0?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){if(!(l[(k[o>>2]|0)+42>>0]&32)){N=ZC(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,-1)|0;k[E>>2]=N;N=_C(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,-1)|0;k[I>>2]=N;N=Bv(k[i>>2]|0,78,k[E>>2]|0,k[I>>2]|0,0)|0;k[F>>2]=N}else{k[A>>2]=0;N=Oj(k[o>>2]|0)|0;k[G>>2]=N;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[G>>2]|0)+50>>1]|0))break;j[y>>1]=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;N=ZC(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[y>>1]|0)|0;k[E>>2]=N;N=_C(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,j[y>>1]|0)|0;k[I>>2]=N;N=Bv(k[i>>2]|0,79,k[E>>2]|0,k[I>>2]|0,0)|0;k[C>>2]=N;N=kz(k[v>>2]|0,k[A>>2]|0,k[C>>2]|0)|0;k[A>>2]=N;k[w>>2]=(k[w>>2]|0)+1}N=Bv(k[i>>2]|0,19,k[A>>2]|0,0,0)|0;k[F>>2]=N}N=kz(k[v>>2]|0,k[K>>2]|0,k[F>>2]|0)|0;k[K>>2]=N};k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L+4>>2]=k[n>>2];k[L>>2]=k[i>>2];py(L,k[K>>2]|0)|0;N=$C(k[i>>2]|0,k[n>>2]|0,k[K>>2]|0,0,0,0,0)|0;k[J>>2]=N;$w(k[M>>2]|0,135,l[(k[q>>2]|0)+24>>0]|0,k[u>>2]|0)|0;if(k[J>>2]|0)aD(k[J>>2]|0);hv(k[v>>2]|0,k[K>>2]|0);if(!(k[z>>2]|0)){r=O;return}Pz(k[M>>2]|0,k[z>>2]|0);r=O;return}function ZC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+28|0;n=p+12|0;m=p+8|0;o=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;k[l>>2]=k[k[e>>2]>>2];c=Tv(k[l>>2]|0,157,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){o=k[n>>2]|0;r=p;return o|0}if((j[h>>1]|0)>=0?(j[h>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0):0){k[m>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((j[h>>1]|0)*24|0);k[(k[n>>2]|0)+28>>2]=(k[g>>2]|0)+(j[h>>1]|0)+1;i[(k[n>>2]|0)+1>>0]=i[(k[m>>2]|0)+21>>0]|0;k[o>>2]=k[(k[m>>2]|0)+16>>2];if(!(k[o>>2]|0))k[o>>2]=k[k[(k[l>>2]|0)+8>>2]>>2];o=Ly(k[e>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}k[(k[n>>2]|0)+28>>2]=k[g>>2];i[(k[n>>2]|0)+1>>0]=68;o=k[n>>2]|0;r=p;return o|0}function _C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=r;r=r+32|0;l=i+12|0;e=i+8|0;f=i+4|0;g=i+16|0;h=i;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;j[g>>1]=d;b=Tv(k[l>>2]|0,152,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){l=k[h>>2]|0;r=i;return l|0}k[(k[h>>2]|0)+44>>2]=k[e>>2];k[(k[h>>2]|0)+28>>2]=k[f>>2];j[(k[h>>2]|0)+32>>1]=j[g>>1]|0;l=k[h>>2]|0;r=i;return l|0}function $C(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+192|0;h=ca+24|0;p=ca+180|0;q=ca+176|0;s=ca+172|0;n=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;o=ca+152|0;H=ca+148|0;W=ca+144|0;_=ca+140|0;I=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;F=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;D=ca+72|0;T=ca+68|0;V=ca+64|0;C=ca+60|0;J=ca+56|0;y=ca;G=ca+52|0;N=ca+48|0;E=ca+44|0;K=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;k[q>>2]=a;k[s>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[v>>1]=f;k[w>>2]=g;k[_>>2]=k[(k[q>>2]|0)+8>>2];i[z>>0]=0;k[B>>2]=k[k[q>>2]>>2];k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[Y+12>>2]=0;k[Y+16>>2]=0;if((k[t>>2]|0)!=0?(k[k[t>>2]>>2]|0)>=64:0)k[t>>2]=0;k[Y+8>>2]=k[t>>2];if(m[(k[B>>2]|0)+60>>1]&32)j[v>>1]=m[v>>1]&-1025;if((k[k[s>>2]>>2]|0)>64){ba=k[q>>2]|0;k[h>>2]=64;Kh(ba,35216,h);k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}if(m[v>>1]&64)g=1;else g=k[k[s>>2]>>2]|0;k[H>>2]=g;k[o>>2]=816+(((k[H>>2]|0)-1|0)*80|0)+7&-8;f=zh(k[B>>2]|0,(k[o>>2]|0)+72|0,0)|0;k[W>>2]=f;a:do if(!(i[(k[B>>2]|0)+65>>0]|0)){k[(k[W>>2]|0)+60+4>>2]=-1;k[(k[W>>2]|0)+60>>2]=-1;i[(k[W>>2]|0)+41>>0]=k[H>>2];k[k[W>>2]>>2]=k[q>>2];k[(k[W>>2]|0)+4>>2]=k[s>>2];k[(k[W>>2]|0)+8>>2]=k[t>>2];k[(k[W>>2]|0)+12>>2]=k[u>>2];f=Mz(k[_>>2]|0)|0;k[(k[W>>2]|0)+48>>2]=f;k[(k[W>>2]|0)+52>>2]=f;j[(k[W>>2]|0)+34>>1]=j[v>>1]|0;k[(k[W>>2]|0)+56>>2]=k[(k[q>>2]|0)+428>>2];k[R>>2]=(k[W>>2]|0)+68;k[Y>>2]=k[W>>2];k[Y+4>>2]=(k[W>>2]|0)+328;k[Y+12>>2]=(k[W>>2]|0)+(k[o>>2]|0);hD(k[Y+12>>2]|0);k[k[R>>2]>>2]=0;kD((k[W>>2]|0)+328|0,k[W>>2]|0);lD((k[W>>2]|0)+328|0,k[n>>2]|0,72);k[F>>2]=0;while(1){g=(k[H>>2]|0)==0;if((k[F>>2]|0)>=(k[(k[Y+4>>2]|0)+12>>2]|0))break;if(!(!g?(nB(k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0)|0)==0:0)){VA(k[q>>2]|0,k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0,k[(k[W>>2]|0)+52>>2]|0,16);o=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)+20|0;j[o>>1]=m[o>>1]|4}k[F>>2]=(k[F>>2]|0)+1}if(g){if(k[t>>2]|0)i[(k[W>>2]|0)+36>>0]=k[k[t>>2]>>2];if(m[v>>1]&1024)i[(k[W>>2]|0)+40>>0]=1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[k[s>>2]>>2]|0))break;mD(k[R>>2]|0,k[(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)+44>>2]|0);nD(k[q>>2]|0,(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)|0,(k[W>>2]|0)+328|0);k[F>>2]=(k[F>>2]|0)+1}oD(k[s>>2]|0,(k[W>>2]|0)+328|0);if(!(i[(k[B>>2]|0)+65>>0]|0)){do if(m[v>>1]&1024){if(pD(k[q>>2]|0,k[s>>2]|0,(k[W>>2]|0)+328|0,k[u>>2]|0)|0){i[(k[W>>2]|0)+40>>0]=1;break}if(!(k[t>>2]|0)){t=(k[W>>2]|0)+34|0;j[t>>1]=m[t>>1]|512;k[(k[W>>2]|0)+8>>2]=k[u>>2]}}while(0);if(!((k[H>>2]|0)==1?(qD(Y)|0)!=0:0)){t=rD(Y)|0;k[X>>2]=t;if(k[X>>2]|0)break;sD(k[W>>2]|0,0)|0;if(i[(k[B>>2]|0)+65>>0]|0)break;if((k[(k[W>>2]|0)+8>>2]|0)!=0?(sD(k[W>>2]|0,(j[(k[W>>2]|0)+32>>1]|0)+1&65535)|0,(i[(k[B>>2]|0)+65>>0]|0)!=0):0)break}if((k[(k[W>>2]|0)+8>>2]|0)==0?(k[(k[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(k[W>>2]|0)+24|0;k[X>>2]=-1;k[X+4>>2]=-1}if((k[(k[q>>2]|0)+68>>2]|0)==0?(l[(k[B>>2]|0)+65>>0]|0)==0:0){b:do if(((k[u>>2]|0)!=0?(l[(k[W>>2]|0)+41>>0]|0)>=2:0)?(m[(k[B>>2]|0)+60>>1]&1024|0)==0:0){u=tD(k[R>>2]|0,k[u>>2]|0)|0;X=Z;k[X>>2]=u;k[X+4>>2]=L;if(k[Y+8>>2]|0){u=tD(k[R>>2]|0,k[Y+8>>2]|0)|0;t=Z;R=k[t+4>>2]|L;X=Z;k[X>>2]=k[t>>2]|u;k[X+4>>2]=R}while(1){if((l[(k[W>>2]|0)+41>>0]|0)<2)break b;k[Q>>2]=k[(k[W>>2]|0)+736+(((l[(k[W>>2]|0)+41>>0]|0)-1|0)*80|0)+64>>2];if(!(l[(k[(k[W>>2]|0)+4>>2]|0)+8+((l[(k[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((m[v>>1]&1024|0)==0?(k[(k[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(k[Q>>2]|0)+8|0;if((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)break b;k[M>>2]=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[(k[Y+4>>2]|0)+12>>2]|0)*48|0);k[U>>2]=k[(k[Y+4>>2]|0)+20>>2];while(1){if((k[U>>2]|0)>>>0>=(k[M>>2]|0)>>>0)break;R=(k[U>>2]|0)+40|0;X=(k[Q>>2]|0)+8|0;if(((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)?(k[(k[k[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;k[U>>2]=(k[U>>2]|0)+48}if((k[U>>2]|0)>>>0<(k[M>>2]|0)>>>0)break b;X=(k[W>>2]|0)+41|0;i[X>>0]=(i[X>>0]|0)+-1<<24>>24;k[H>>2]=(k[H>>2]|0)+-1}}while(0);Z=(k[k[W>>2]>>2]|0)+428|0;k[Z>>2]=(k[Z>>2]|0)+(j[(k[W>>2]|0)+32>>1]|0);do if(m[v>>1]&4){k[$>>2]=k[(k[(k[W>>2]|0)+736+64>>2]|0)+36>>2];k[A>>2]=(k[$>>2]&4096|0)!=0&1;if(!(k[A>>2]|0)){if(!(m[v>>1]&8192))break;if(k[$>>2]&1024)break}i[(k[W>>2]|0)+38>>0]=(k[A>>2]|0)!=0?1:2;if((l[(k[(k[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(k[$>>2]&64|0)!=0:0){if(m[v>>1]&8192)i[z>>0]=8;k[(k[(k[W>>2]|0)+736+64>>2]|0)+36>>2]=k[$>>2]&-65}}while(0);k[F>>2]=0;k[P>>2]=(k[W>>2]|0)+736;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[T>>2]=(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0);k[S>>2]=k[(k[T>>2]|0)+16>>2];$=Nh(k[B>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0;k[D>>2]=$;k[Q>>2]=k[(k[P>>2]|0)+64>>2];c:do if((l[(k[S>>2]|0)+42>>0]&2|0)==0?(k[(k[S>>2]|0)+12>>2]|0)==0:0){if(k[(k[Q>>2]|0)+36>>2]&1024){$=Kx(k[B>>2]|0,k[S>>2]|0)|0;k[V>>2]=$;k[C>>2]=k[(k[T>>2]|0)+44>>2];cx(k[_>>2]|0,152,k[C>>2]|0,0,0,k[V>>2]|0,-10)|0;break}if(l[(k[S>>2]|0)+42>>0]&16)break;do if(!(k[(k[Q>>2]|0)+36>>2]&64)){if(m[v>>1]&16)break;k[J>>2]=54;if(l[(k[W>>2]|0)+38>>0]|0){k[J>>2]=55;k[(k[W>>2]|0)+60>>2]=k[(k[T>>2]|0)+44>>2]}Jz(k[q>>2]|0,k[(k[T>>2]|0)+44>>2]|0,k[D>>2]|0,k[S>>2]|0,k[J>>2]|0);do if(!(l[(k[W>>2]|0)+38>>0]|0)){if((j[(k[S>>2]|0)+34>>1]|0)>=64)break;if(l[(k[S>>2]|0)+42>>0]&32)break;Y=(k[T>>2]|0)+56|0;Z=k[Y+4>>2]|0;$=y;k[$>>2]=k[Y>>2];k[$+4>>2]=Z;k[G>>2]=0;while(1){$=y;if(!((k[$>>2]|0)!=0|(k[$+4>>2]|0)!=0))break;Z=y;Z=rR(k[Z>>2]|0,k[Z+4>>2]|0,1)|0;$=y;k[$>>2]=Z;k[$+4>>2]=L;k[G>>2]=(k[G>>2]|0)+1}Sh(k[_>>2]|0,-1,k[G>>2]|0,-14)}while(0);Ph(k[_>>2]|0,i[z>>0]|0);break c}while(0);Iz(k[q>>2]|0,k[D>>2]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0)}while(0);do if(k[(k[Q>>2]|0)+36>>2]&512){k[N>>2]=k[(k[Q>>2]|0)+24+4>>2];k[K>>2]=54;do if(!(l[(k[S>>2]|0)+42>>0]&32))ba=93;else{if((i[(k[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(m[v>>1]&64)){ba=93;break}k[E>>2]=k[(k[P>>2]|0)+4>>2];k[K>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(l[(k[W>>2]|0)+38>>0]|0){k[O>>2]=k[(k[(k[T>>2]|0)+16>>2]|0)+8>>2];k[E>>2]=k[w>>2];while(1){if(!(k[O>>2]|0))break;if((k[O>>2]|0)==(k[N>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1;k[O>>2]=k[(k[O>>2]|0)+20>>2]}k[K>>2]=55;k[(k[W>>2]|0)+60+4>>2]=k[E>>2];break}else{do if(k[w>>2]|0){if(!(m[v>>1]&64))break;k[E>>2]=k[w>>2];if(!(m[v>>1]&4096))break d;k[K>>2]=53;break d}while(0);Z=(k[q>>2]|0)+72|0;$=k[Z>>2]|0;k[Z>>2]=$+1;k[E>>2]=$;break}}while(0);k[(k[P>>2]|0)+8>>2]=k[E>>2];if(!(k[K>>2]|0))break;dx(k[_>>2]|0,k[K>>2]|0,k[E>>2]|0,k[(k[N>>2]|0)+44>>2]|0,k[D>>2]|0)|0;Kz(k[q>>2]|0,k[N>>2]|0);if(!(k[(k[Q>>2]|0)+36>>2]&15))break;if(k[(k[Q>>2]|0)+36>>2]&32770)break;if(m[(k[W>>2]|0)+34>>1]&1)break;Ph(k[_>>2]|0,2)}while(0);if((k[D>>2]|0)>=0)lx(k[q>>2]|0,k[D>>2]|0);k[F>>2]=(k[F>>2]|0)+1;k[P>>2]=(k[P>>2]|0)+80}ba=Lz(k[_>>2]|0)|0;k[(k[W>>2]|0)+44>>2]=ba;if(!(i[(k[B>>2]|0)+65>>0]|0)){ba=I;k[ba>>2]=-1;k[ba+4>>2]=-1;k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[P>>2]=(k[W>>2]|0)+736+((k[F>>2]|0)*80|0);k[aa>>2]=k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2];if((k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=I,uD(k[q>>2]|0,(k[W>>2]|0)+328|0,(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0)|0,k[ba>>2]|0,k[ba+4>>2]|0,k[P>>2]|0),(i[(k[B>>2]|0)+65>>0]|0)!=0):0)break a;$=vD(k[q>>2]|0,k[s>>2]|0,k[P>>2]|0,k[F>>2]|0,l[(k[P>>2]|0)+44>>0]|0,j[v>>1]|0)|0;k[x>>2]=$;$=Lz(k[_>>2]|0)|0;k[(k[P>>2]|0)+32>>2]=$;$=I;$=wD(k[W>>2]|0,k[F>>2]|0,k[$>>2]|0,k[$+4>>2]|0)|0;ba=I;k[ba>>2]=$;k[ba+4>>2]=L;k[(k[W>>2]|0)+48>>2]=k[(k[P>>2]|0)+24>>2];do if((k[aa>>2]&8192|0)==0?(m[v>>1]&64|0)!=0:0)break;while(0);k[F>>2]=(k[F>>2]|0)+1}k[p>>2]=k[W>>2];ba=k[p>>2]|0;r=ca;return ba|0}}}}else{ag(k[B>>2]|0,k[W>>2]|0);k[W>>2]=0}while(0);if(k[W>>2]|0){k[(k[q>>2]|0)+428>>2]=k[(k[W>>2]|0)+56>>2];cD(k[B>>2]|0,k[W>>2]|0)}k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}function aD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;g=E+80|0;v=E+76|0;A=E+72|0;n=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;h=E+52|0;c=E+48|0;f=E+44|0;d=E+40|0;e=E+36|0;o=E+32|0;p=E+28|0;u=E+24|0;q=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;k[g>>2]=a;k[v>>2]=k[k[g>>2]>>2];k[A>>2]=k[(k[v>>2]|0)+8>>2];k[z>>2]=k[(k[g>>2]|0)+4>>2];k[h>>2]=k[k[v>>2]>>2];pC(k[v>>2]|0);k[n>>2]=(l[(k[g>>2]|0)+41>>0]|0)-1;while(1){if((k[n>>2]|0)<0)break;k[s>>2]=(k[g>>2]|0)+736+((k[n>>2]|0)*80|0);k[t>>2]=k[(k[s>>2]|0)+64>>2];Qz(k[A>>2]|0,k[(k[s>>2]|0)+24>>2]|0);if((l[(k[s>>2]|0)+45>>0]|0)!=160){dx(k[A>>2]|0,l[(k[s>>2]|0)+45>>0]|0,k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+52>>2]|0,l[(k[s>>2]|0)+46>>0]|0)|0;Ph(k[A>>2]|0,i[(k[s>>2]|0)+47>>0]|0)}a:do if((k[(k[t>>2]|0)+36>>2]&2048|0)!=0?(k[(k[s>>2]|0)+56>>2]|0)>0:0){Qz(k[A>>2]|0,k[(k[s>>2]|0)+16>>2]|0);k[d>>2]=k[(k[s>>2]|0)+56>>2];k[f>>2]=(k[(k[s>>2]|0)+56+4>>2]|0)+(((k[d>>2]|0)-1|0)*12|0);while(1){if((k[d>>2]|0)<=0)break a;Pz(k[A>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+1|0);$w(k[A>>2]|0,l[(k[f>>2]|0)+8>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;Pz(k[A>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)-1|0);k[d>>2]=(k[d>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+-12}}while(0);Qz(k[A>>2]|0,k[(k[s>>2]|0)+12>>2]|0);if(k[(k[s>>2]|0)+20>>2]|0){Oz(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;Pz(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0);Pz(k[A>>2]|0,(k[(k[s>>2]|0)+20>>2]|0)-2|0)}if(k[(k[s>>2]|0)+40>>2]|0){b=(Wz(k[A>>2]|0,(k[(k[s>>2]|0)+40>>2]|0)-1|0)|0)+4|0;if(k[b>>2]|0)k[e>>2]=141;else k[e>>2]=142;$w(k[A>>2]|0,k[e>>2]|0,k[(k[s>>2]|0)+36>>2]|0,k[(k[s>>2]|0)+40>>2]|0)|0}if(k[k[s>>2]>>2]|0){b=Hz(k[A>>2]|0,138,k[k[s>>2]>>2]|0)|0;k[c>>2]=b;if(!(k[(k[t>>2]|0)+36>>2]&64))Hz(k[A>>2]|0,104,k[(k[z>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]|0)|0;if(k[(k[t>>2]|0)+36>>2]&512)Hz(k[A>>2]|0,104,k[(k[s>>2]|0)+8>>2]|0)|0;a=k[A>>2]|0;b=k[s>>2]|0;if((l[(k[s>>2]|0)+45>>0]|0)==15)$w(a,14,k[b+48>>2]|0,k[(k[s>>2]|0)+28>>2]|0)|0;else Oz(a,k[b+28>>2]|0)|0;Pz(k[A>>2]|0,k[c>>2]|0)}k[n>>2]=(k[n>>2]|0)+-1}Qz(k[A>>2]|0,k[(k[g>>2]|0)+52>>2]|0);k[n>>2]=0;k[s>>2]=(k[g>>2]|0)+736;while(1){if((k[n>>2]|0)>=(l[(k[g>>2]|0)+41>>0]|0))break;k[q>>2]=0;k[y>>2]=(k[z>>2]|0)+8+((l[(k[s>>2]|0)+44>>0]|0)*72|0);k[x>>2]=k[(k[y>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+64>>2];if(((l[(k[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(i[(k[h>>2]|0)+65>>0]|0)==0:0)bD(k[A>>2]|0,k[(k[s>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+4>>2]|0,k[(k[y>>2]|0)+32>>2]|0,0);else D=32;b:do if((D|0)==32){D=0;if(((l[(k[x>>2]|0)+42>>0]&2|0)==0?(k[(k[x>>2]|0)+12>>2]|0)==0:0)?(m[(k[g>>2]|0)+34>>1]&16|0)==0:0){k[B>>2]=k[(k[t>>2]|0)+36>>2];if((l[(k[g>>2]|0)+38>>0]|0)==0?(k[B>>2]&64|0)==0:0)Hz(k[A>>2]|0,61,k[(k[y>>2]|0)+44>>2]|0)|0;if(((k[B>>2]&512|0)!=0?(k[B>>2]&16640|0)==0:0)?(k[(k[s>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+60+4>>2]|0):0)Hz(k[A>>2]|0,61,k[(k[s>>2]|0)+8>>2]|0)|0}a=k[t>>2]|0;if(!(k[(k[t>>2]|0)+36>>2]&576)){if(k[a+36>>2]&8192)k[q>>2]=k[(k[s>>2]|0)+56>>2]}else k[q>>2]=k[a+24+4>>2];if(k[q>>2]|0){if((l[(k[g>>2]|0)+38>>0]|0)!=0?(l[(k[(k[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(i[(k[h>>2]|0)+65>>0]|0)){f=Lz(k[A>>2]|0)|0;k[p>>2]=f;k[o>>2]=k[(k[s>>2]|0)+32>>2];f=Wz(k[A>>2]|0,k[o>>2]|0)|0;k[u>>2]=f;while(1){if((k[o>>2]|0)>=(k[p>>2]|0))break b;do if((k[(k[u>>2]|0)+4>>2]|0)==(k[(k[s>>2]|0)+4>>2]|0)){a=k[u>>2]|0;if((l[k[u>>2]>>0]|0)!=47){if((l[a>>0]|0)!=103)break;k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2];i[k[u>>2]>>0]=113;break}k[C>>2]=k[a+8>>2];if(l[(k[x>>2]|0)+42>>0]&32){f=Oj(k[x>>2]|0)|0;k[w>>2]=f;k[C>>2]=j[(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1]}f=(EA(k[q>>2]|0,k[C>>2]&65535)|0)<<16>>16;k[C>>2]=f;if((k[C>>2]|0)>=0){k[(k[u>>2]|0)+8>>2]=k[C>>2];k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2]}}while(0);k[o>>2]=(k[o>>2]|0)+1;k[u>>2]=(k[u>>2]|0)+20}}}}while(0);k[n>>2]=(k[n>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+80}k[(k[v>>2]|0)+428>>2]=k[(k[g>>2]|0)+56>>2];cD(k[h>>2]|0,k[g>>2]|0);r=E;return}function bD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;p=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;j=o+8|0;n=o+4|0;m=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=e;a=Wz(k[p>>2]|0,k[f>>2]|0)|0;k[n>>2]=a;a=Lz(k[p>>2]|0)|0;k[m>>2]=a;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;do if((k[(k[n>>2]|0)+4>>2]|0)==(k[g>>2]|0)){e=k[n>>2]|0;if((l[k[n>>2]>>0]|0|0)==47){i[e>>0]=30;k[(k[n>>2]|0)+4>>2]=(k[(k[n>>2]|0)+8>>2]|0)+(k[h>>2]|0);k[(k[n>>2]|0)+8>>2]=k[(k[n>>2]|0)+12>>2];k[(k[n>>2]|0)+12>>2]=0;break}if((l[e>>0]|0|0)==103){e=k[n>>2]|0;if(k[j>>2]|0){i[e>>0]=37;k[(k[n>>2]|0)+4>>2]=k[(k[n>>2]|0)+8>>2];k[(k[n>>2]|0)+8>>2]=1;break}else{i[e>>0]=25;k[(k[n>>2]|0)+4>>2]=0;k[(k[n>>2]|0)+12>>2]=0;break}}}while(0);k[f>>2]=(k[f>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}r=o;return}function cD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=h;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+41>>0]|0|0))break;k[g>>2]=(k[d>>2]|0)+736+((k[e>>2]|0)*80|0);if((k[(k[g>>2]|0)+64>>2]|0)!=0?(k[(k[(k[g>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)ag(k[c>>2]|0,k[(k[g>>2]|0)+56+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}dD((k[d>>2]|0)+328|0);while(1){if(!(k[(k[d>>2]|0)+16>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[f>>2]|0)+52>>2];eD(k[c>>2]|0,k[f>>2]|0)}ag(k[c>>2]|0,k[d>>2]|0);r=h;return}function dD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[d>>2]=k[k[k[k[b>>2]>>2]>>2]>>2];k[e>>2]=(k[(k[b>>2]|0)+12>>2]|0)-1;k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){if((k[e>>2]|0)<0)break;if((m[(k[c>>2]|0)+20>>1]|0)&1)hv(k[d>>2]|0,k[k[c>>2]>>2]|0);if(!((m[(k[c>>2]|0)+20>>1]|0)&16)){if((m[(k[c>>2]|0)+20>>1]|0)&32)jD(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)}else iD(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0);k[e>>2]=(k[e>>2]|0)+-1;k[c>>2]=(k[c>>2]|0)+48}if((k[(k[b>>2]|0)+20>>2]|0)==((k[b>>2]|0)+24|0)){r=f;return}ag(k[d>>2]|0,k[(k[b>>2]|0)+20>>2]|0);r=f;return}function eD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;fD(k[e>>2]|0,k[d>>2]|0);ag(k[e>>2]|0,k[d>>2]|0);r=c;return}function fD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+48>>2]|0)!=((k[d>>2]|0)+56|0))ag(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0);gD(k[c>>2]|0,k[d>>2]|0);hD(k[d>>2]|0);r=e;return}function gD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+36>>2]&17408)){r=e;return}if((k[(k[d>>2]|0)+36>>2]&1024|0)!=0?(l[(k[d>>2]|0)+24+4>>0]|0|0)!=0:0){Ud(k[(k[d>>2]|0)+24+8>>2]|0);i[(k[d>>2]|0)+24+4>>0]=0;k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}if(!(k[(k[d>>2]|0)+36>>2]&16384)){r=e;return}if(!(k[(k[d>>2]|0)+24+4>>2]|0)){r=e;return}ag(k[c>>2]|0,k[(k[(k[d>>2]|0)+24+4>>2]|0)+16>>2]|0);ag(k[c>>2]|0,k[(k[d>>2]|0)+24+4>>2]|0);k[(k[d>>2]|0)+24+4>>2]=0;r=e;return}function hD(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+48>>2]=(k[c>>2]|0)+56;j[(k[c>>2]|0)+40>>1]=0;j[(k[c>>2]|0)+44>>1]=3;k[(k[c>>2]|0)+36>>2]=0;r=b;return}function iD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;dD(k[d>>2]|0);ag(k[e>>2]|0,k[d>>2]|0);r=c;return}function jD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;dD(k[d>>2]|0);ag(k[e>>2]|0,k[d>>2]|0);r=c;return}function kD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+16>>2]=8;k[(k[d>>2]|0)+20>>2]=(k[d>>2]|0)+24;r=c;return}function lD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=by(k[e>>2]|0)|0;k[g>>2]=a;i[(k[d>>2]|0)+8>>0]=i[f>>0]|0;if(!(k[g>>2]|0)){r=h;return}c=k[d>>2]|0;if((l[k[g>>2]>>0]|0|0)!=(l[f>>0]|0|0)){xE(c,k[e>>2]|0,0)|0;r=h;return}else{lD(c,k[(k[g>>2]|0)+12>>2]|0,i[f>>0]|0);lD(k[d>>2]|0,k[(k[g>>2]|0)+16>>2]|0,i[f>>0]|0);r=h;return}}function mD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[(k[d>>2]|0)+4+(a<<2)>>2]=b;r=c;return}function nD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;d=q+40|0;e=q+36|0;f=q+32|0;o=q+28|0;n=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;m=q+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1)){r=q;return}k[o>>2]=k[(k[e>>2]|0)+16>>2];k[h>>2]=k[(k[e>>2]|0)+64>>2];if(!(k[h>>2]|0)){r=q;return}k[g>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[h>>2]>>2]|0)){b=13;break}while(1){if((k[g>>2]|0)<(j[(k[o>>2]|0)+34>>1]|0))b=(l[(k[(k[o>>2]|0)+4>>2]|0)+((k[g>>2]|0)*24|0)+23>>0]&2|0)==0;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+1}c=k[d>>2]|0;if((a|0)>=(j[(k[o>>2]|0)+34>>1]|0)){b=10;break}c=Bv(c,152,0,0,0)|0;k[i>>2]=c;if(!(k[i>>2]|0)){b=13;break}k[(k[i>>2]|0)+28>>2]=k[(k[e>>2]|0)+44>>2];a=k[g>>2]|0;k[g>>2]=a+1;j[(k[i>>2]|0)+32>>1]=a;k[(k[i>>2]|0)+44>>2]=k[o>>2];a=k[d>>2]|0;c=k[i>>2]|0;c=Bv(a,79,c,xy(k[k[d>>2]>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[m>>2]=c;xE(k[f>>2]|0,k[m>>2]|0,1)|0;k[n>>2]=(k[n>>2]|0)+1}if((b|0)==10){n=k[n>>2]|0;k[p>>2]=k[k[o>>2]>>2];k[p+4>>2]=n;Kh(c,35704,p);r=q;return}else if((b|0)==13){r=q;return}}function oD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[d>>2]|0)+12>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;tE(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}r=f;return}function pD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;s=u+16|0;q=u+12|0;n=u+8|0;o=u+4|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)!=1){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}k[o>>2]=k[(k[g>>2]|0)+8+44>>2];k[s>>2]=k[(k[g>>2]|0)+8+16>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[i>>2]>>2]|0))break;c=by(k[(k[(k[i>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[p>>2]=c;if(((l[k[p>>2]>>0]|0)==152?(k[(k[p>>2]|0)+28>>2]|0)==(k[o>>2]|0):0)?(j[(k[p>>2]|0)+32>>1]|0)<0:0){t=8;break}k[n>>2]=(k[n>>2]|0)+1}if((t|0)==8){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}k[q>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[q>>2]|0)){t=22;break}if(l[(k[q>>2]|0)+54>>0]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[q>>2]|0)+50>>1]|0))break;if(!(HD(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,-1,-1,2,k[q>>2]|0)|0)){if((sE(k[f>>2]|0,k[i>>2]|0,k[o>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)<0)break;if(!(lE(k[q>>2]|0,k[n>>2]|0)|0))break}k[n>>2]=(k[n>>2]|0)+1}if((k[n>>2]|0)==(m[(k[q>>2]|0)+50>>1]|0)){t=20;break}}k[q>>2]=k[(k[q>>2]|0)+20>>2]}if((t|0)==20){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}else if((t|0)==22){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}return 0}function qD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;b=t+44|0;c=t+40|0;s=t+36|0;h=t+32|0;q=t+28|0;p=t+24|0;n=t+20|0;d=t+16|0;e=t+12|0;o=t+8|0;g=t+4|0;f=t;k[c>>2]=a;k[s>>2]=k[k[c>>2]>>2];if((m[(k[s>>2]|0)+34>>1]|0)&32){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[h>>2]=(k[(k[s>>2]|0)+4>>2]|0)+8;k[o>>2]=k[(k[h>>2]|0)+16>>2];if((l[(k[o>>2]|0)+42>>0]|0)&16){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}if((l[(k[h>>2]|0)+36+1>>0]|0)>>>1&1){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[d>>2]=k[(k[h>>2]|0)+44>>2];k[q>>2]=(k[s>>2]|0)+328;k[n>>2]=k[(k[c>>2]|0)+12>>2];k[(k[n>>2]|0)+36>>2]=0;j[(k[n>>2]|0)+42>>1]=0;a=HD(k[q>>2]|0,k[d>>2]|0,-1,0,0,130,0)|0;k[p>>2]=a;a:do if(k[p>>2]|0){k[(k[n>>2]|0)+36>>2]=4353;k[k[(k[n>>2]|0)+48>>2]>>2]=k[p>>2];j[(k[n>>2]|0)+40>>1]=1;j[(k[n>>2]|0)+24>>1]=1;j[(k[n>>2]|0)+20>>1]=33}else{k[g>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break a;if(((l[(k[g>>2]|0)+54>>0]|0|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)==0:0)?(m[(k[g>>2]|0)+50>>1]|0|0)<=3:0){k[f>>2]=((l[(k[g>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[g>>2]|0)+50>>1]|0|0))break;o=HD(k[q>>2]|0,k[d>>2]|0,k[e>>2]|0,0,0,k[f>>2]|0,k[g>>2]|0)|0;k[p>>2]=o;if(!(k[p>>2]|0))break;k[(k[(k[n>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]=k[p>>2];k[e>>2]=(k[e>>2]|0)+1}if((k[e>>2]|0)==(m[(k[g>>2]|0)+50>>1]|0|0))break}k[g>>2]=k[(k[g>>2]|0)+20>>2]}k[(k[n>>2]|0)+36>>2]=4609;if(!(((l[(k[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(k[h>>2]|0)+56|0,o=k[q>>2]|0,q=k[q+4>>2]|0,p=jE(k[g>>2]|0)|0,!((o&~p|0)==0&(q&~L|0)==0)):0)){q=(k[n>>2]|0)+36|0;k[q>>2]=k[q>>2]|64}j[(k[n>>2]|0)+40>>1]=k[e>>2];j[(k[n>>2]|0)+24>>1]=k[e>>2];k[(k[n>>2]|0)+24+4>>2]=k[g>>2];j[(k[n>>2]|0)+20>>1]=39}while(0);if(!(k[(k[n>>2]|0)+36>>2]|0)){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}j[(k[n>>2]|0)+22>>1]=1;k[(k[s>>2]|0)+736+64>>2]=k[n>>2];p=xD((k[s>>2]|0)+68|0,k[d>>2]|0)|0;q=(k[n>>2]|0)+8|0;k[q>>2]=p;k[q+4>>2]=L;k[(k[s>>2]|0)+736+4>>2]=k[d>>2];j[(k[s>>2]|0)+32>>1]=1;if(k[(k[s>>2]|0)+8>>2]|0)i[(k[s>>2]|0)+36>>0]=k[k[(k[s>>2]|0)+8>>2]>>2];if((m[(k[s>>2]|0)+34>>1]|0)&1024)i[(k[s>>2]|0)+40>>0]=1;k[b>>2]=1;s=k[b>>2]|0;r=t;return s|0}function rD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=r;r=r+80|0;b=s+60|0;m=s+56|0;d=s+16|0;e=s+8|0;c=s+52|0;t=s+48|0;j=s+44|0;h=s+40|0;o=s+36|0;q=s+32|0;p=s+28|0;n=s+64|0;f=s;g=s+24|0;k[b>>2]=a;k[m>>2]=k[k[b>>2]>>2];a=d;k[a>>2]=0;k[a+4>>2]=0;a=e;k[a>>2]=0;k[a+4>>2]=0;k[t>>2]=k[(k[m>>2]|0)+4>>2];k[h>>2]=(k[t>>2]|0)+8+((l[(k[m>>2]|0)+41>>0]|0)*72|0);k[o>>2]=k[k[k[m>>2]>>2]>>2];k[q>>2]=0;i[n>>0]=0;k[p>>2]=k[(k[b>>2]|0)+12>>2];hD(k[p>>2]|0);k[c>>2]=0;k[j>>2]=(k[t>>2]|0)+8;while(1){if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){b=19;break}a=f;k[a>>2]=0;k[a+4>>2]=0;i[(k[p>>2]|0)+16>>0]=k[c>>2];a=xD((k[m>>2]|0)+68|0,k[(k[j>>2]|0)+44>>2]|0)|0;t=(k[p>>2]|0)+8|0;k[t>>2]=a;k[t+4>>2]=L;if((l[(k[j>>2]|0)+36>>0]|0|(l[n>>0]|0))&10){u=e;a=k[u+4>>2]|0;t=d;k[t>>2]=k[u>>2];k[t+4>>2]=a}i[n>>0]=i[(k[j>>2]|0)+36>>0]|0;if((l[(k[(k[j>>2]|0)+16>>2]|0)+42>>0]|0)&16){k[g>>2]=(k[j>>2]|0)+72;while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;u=f;if(!(!((k[u>>2]|0)!=0|(k[u+4>>2]|0)!=0)?((l[(k[g>>2]|0)+36>>0]|0)&10|0)==0:0)){a=xD((k[m>>2]|0)+68|0,k[(k[g>>2]|0)+44>>2]|0)|0;v=f;t=k[v+4>>2]|L;u=f;k[u>>2]=k[v>>2]|a;k[u+4>>2]=t}k[g>>2]=(k[g>>2]|0)+72}u=d;v=f;v=YD(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}else{v=d;v=ZD(k[b>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}if(!(k[q>>2]|0)){u=d;v=f;v=_D(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}t=(k[p>>2]|0)+8|0;a=e;u=k[a+4>>2]|k[t+4>>2];v=e;k[v>>2]=k[a>>2]|k[t>>2];k[v+4>>2]=u;if(k[q>>2]|0){b=19;break}if(l[(k[o>>2]|0)+65>>0]|0){b=19;break}k[c>>2]=(k[c>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+72}if((b|0)==19){fD(k[o>>2]|0,k[p>>2]|0);r=s;return k[q>>2]|0}return 0}function sD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=r;r=r+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;q=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;h=U+104|0;o=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;e=U+80|0;g=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;d=U+60|0;f=U+56|0;S=U+52|0;c=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;n=U+148|0;p=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;k[N>>2]=a;j[G>>1]=b;k[t>>2]=0;j[s>>1]=0;j[u>>1]=0;k[f>>2]=0;k[z>>2]=k[k[N>>2]>>2];k[O>>2]=k[k[z>>2]>>2];k[P>>2]=l[(k[N>>2]|0)+41>>0];if((k[P>>2]|0)<=1)b=1;else b=(k[P>>2]|0)==2?5:10;k[q>>2]=b;if((k[(k[N>>2]|0)+8>>2]|0)!=0?(j[G>>1]|0)!=0:0)k[w>>2]=k[k[(k[N>>2]|0)+8>>2]>>2];else k[w>>2]=0;a=(ha(32+(k[P>>2]<<2)|0,k[q>>2]|0)|0)<<1;k[c>>2]=a;k[c>>2]=(k[c>>2]|0)+(k[w>>2]<<1);c=k[c>>2]|0;c=Pw(k[O>>2]|0,c,((c|0)<0)<<31>>31)|0;k[S>>2]=c;if(!(k[S>>2]|0)){k[M>>2]=7;T=k[M>>2]|0;r=U;return T|0}k[g>>2]=k[S>>2];k[e>>2]=(k[g>>2]|0)+(k[q>>2]<<5);c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;k[d>>2]=(k[e>>2]|0)+(k[q>>2]<<5);k[h>>2]=k[q>>2]<<1;k[R>>2]=k[g>>2];while(1){if((k[h>>2]|0)<=0)break;k[(k[R>>2]|0)+24>>2]=k[d>>2];k[h>>2]=(k[h>>2]|0)+-1;k[R>>2]=(k[R>>2]|0)+32;k[d>>2]=(k[d>>2]|0)+(k[P>>2]<<2)}if(k[w>>2]|0){k[f>>2]=k[d>>2];uR(k[f>>2]|0,0,k[w>>2]<<1|0)|0}if((k[(k[z>>2]|0)+428>>2]|0)>>>0<48)b=k[(k[z>>2]|0)+428>>2]|0;else b=48;j[(k[e>>2]|0)+16>>1]=b;k[v>>2]=1;if(k[w>>2]|0)i[(k[e>>2]|0)+22>>0]=(k[P>>2]|0)>0?-1:k[w>>2]|0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[P>>2]|0))break;k[y>>2]=0;k[h>>2]=0;k[R>>2]=k[e>>2];while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;k[K>>2]=k[(k[N>>2]|0)+16>>2];while(1){if(!(k[K>>2]|0))break;i[n>>0]=i[(k[R>>2]|0)+22>>0]|0;c=D;k[c>>2]=0;k[c+4>>2]=0;c=k[K>>2]|0;d=k[R>>2]|0;a:do if(!((k[c>>2]&~k[d>>2]|0)!=0?1:(k[c+4>>2]&~k[d+4>>2]|0)!=0)?(c=(k[K>>2]|0)+8|0,d=k[R>>2]|0,!((k[c>>2]&k[d>>2]|0)!=0?1:(k[c+4>>2]&k[d+4>>2]|0)!=0)):0){b=UD(j[(k[K>>2]|0)+18>>1]|0,(j[(k[K>>2]|0)+20>>1]|0)+(j[(k[R>>2]|0)+16>>1]|0)&65535)|0;j[C>>1]=b;b=UD(j[C>>1]|0,j[(k[R>>2]|0)+20>>1]|0)|0;j[C>>1]=b;j[x>>1]=(j[(k[R>>2]|0)+16>>1]|0)+(j[(k[K>>2]|0)+22>>1]|0);b=k[R>>2]|0;a=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[a+4>>2];d=p;k[d>>2]=k[b>>2]|k[a>>2];k[d+4>>2]=c;if((i[n>>0]|0)<0){d=VD(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0,j[(k[N>>2]|0)+34>>1]|0,k[H>>2]&65535,k[K>>2]|0,D)|0;i[n>>0]=d}else{a=(k[R>>2]|0)+8|0;c=k[a+4>>2]|0;d=D;k[d>>2]=k[a>>2];k[d+4>>2]=c}if((i[n>>0]|0)>=0?(i[n>>0]|0)<(k[w>>2]|0):0){if(!(j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)){d=WD(j[G>>1]|0,k[w>>2]|0,i[n>>0]|0)|0;j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]=d}d=UD(j[C>>1]|0,j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)|0;j[B>>1]=d}else j[B>>1]=j[C>>1]|0;k[o>>2]=0;k[A>>2]=k[g>>2];while(1){if((k[o>>2]|0)>=(k[y>>2]|0))break;c=k[A>>2]|0;d=p;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?((i[(k[A>>2]|0)+22>>0]^i[n>>0])&128|0)==0:0)break;k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}do if((k[o>>2]|0)<(k[y>>2]|0)){if((j[(k[A>>2]|0)+18>>1]|0)<(j[B>>1]|0))break a;if((j[(k[A>>2]|0)+18>>1]|0)!=(j[B>>1]|0))break;if((j[(k[A>>2]|0)+16>>1]|0)<=(j[x>>1]|0))break a}else{do if((k[y>>2]|0)>=(k[q>>2]|0)){if((j[B>>1]|0)>(j[s>>1]|0))break a;if((j[B>>1]|0)!=(j[s>>1]|0))break;if((j[C>>1]|0)>=(j[u>>1]|0))break a}while(0);if((k[y>>2]|0)<(k[q>>2]|0)){d=k[y>>2]|0;k[y>>2]=d+1;k[o>>2]=d}else k[o>>2]=k[t>>2];k[A>>2]=(k[g>>2]|0)+(k[o>>2]<<5)}while(0);b=k[R>>2]|0;d=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[d+4>>2];a=k[A>>2]|0;k[a>>2]=k[b>>2]|k[d>>2];k[a+4>>2]=c;a=D;c=k[a+4>>2]|0;d=(k[A>>2]|0)+8|0;k[d>>2]=k[a>>2];k[d+4>>2]=c;j[(k[A>>2]|0)+16>>1]=j[x>>1]|0;j[(k[A>>2]|0)+18>>1]=j[B>>1]|0;j[(k[A>>2]|0)+20>>1]=j[C>>1]|0;i[(k[A>>2]|0)+22>>0]=i[n>>0]|0;sR(k[(k[A>>2]|0)+24>>2]|0,k[(k[R>>2]|0)+24>>2]|0,k[H>>2]<<2|0)|0;k[(k[(k[A>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]=k[K>>2];if((k[y>>2]|0)>=(k[q>>2]|0)){k[t>>2]=0;j[s>>1]=j[(k[g>>2]|0)+18>>1]|0;j[u>>1]=j[(k[g>>2]|0)+16>>1]|0;k[o>>2]=1;k[A>>2]=(k[g>>2]|0)+32;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;do if((j[(k[A>>2]|0)+18>>1]|0)<=(j[s>>1]|0)){if((j[(k[A>>2]|0)+18>>1]|0)!=(j[s>>1]|0))break;if((j[(k[A>>2]|0)+20>>1]|0)>(j[u>>1]|0))F=58}else F=58;while(0);if((F|0)==58){F=0;j[s>>1]=j[(k[A>>2]|0)+18>>1]|0;j[u>>1]=j[(k[A>>2]|0)+20>>1]|0;k[t>>2]=k[o>>2]}k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}}}while(0);k[K>>2]=k[(k[K>>2]|0)+52>>2]}k[h>>2]=(k[h>>2]|0)+1;k[R>>2]=(k[R>>2]|0)+32}k[R>>2]=k[g>>2];k[g>>2]=k[e>>2];k[e>>2]=k[R>>2];k[v>>2]=k[y>>2];k[H>>2]=(k[H>>2]|0)+1}if(!(k[v>>2]|0)){Kh(k[z>>2]|0,35564,E);ag(k[O>>2]|0,k[S>>2]|0);k[M>>2]=1;T=k[M>>2]|0;r=U;return T|0}k[R>>2]=k[e>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;if((j[(k[R>>2]|0)+18>>1]|0)>(j[(k[e>>2]|0)+(k[h>>2]<<5)+18>>1]|0))k[R>>2]=(k[e>>2]|0)+(k[h>>2]<<5);k[h>>2]=(k[h>>2]|0)+1}k[H>>2]=0;while(1){b=k[N>>2]|0;if((k[H>>2]|0)>=(k[P>>2]|0))break;k[J>>2]=b+736+((k[H>>2]|0)*80|0);F=k[(k[(k[R>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]|0;k[K>>2]=F;k[(k[J>>2]|0)+64>>2]=F;i[(k[J>>2]|0)+44>>0]=i[(k[K>>2]|0)+16>>0]|0;k[(k[J>>2]|0)+4>>2]=k[(k[(k[N>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+44>>0]|0)*72|0)+44>>2];k[H>>2]=(k[H>>2]|0)+1}if(((((m[b+34>>1]&1024|0)!=0?(m[(k[N>>2]|0)+34>>1]&512|0)==0:0)?(l[(k[N>>2]|0)+40>>0]|0)==0:0)?(j[G>>1]|0)!=0:0)?(K=(VD(k[N>>2]|0,k[(k[N>>2]|0)+12>>2]|0,k[R>>2]|0,512,(k[P>>2]|0)-1&65535,k[(k[(k[R>>2]|0)+24>>2]|0)+((k[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,k[L>>2]=K,(k[L>>2]|0)==(k[k[(k[N>>2]|0)+12>>2]>>2]|0)):0)i[(k[N>>2]|0)+40>>0]=2;if(k[(k[N>>2]|0)+8>>2]|0){b=i[(k[R>>2]|0)+22>>0]|0;if(m[(k[N>>2]|0)+34>>1]&512){if((b<<24>>24|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0))i[(k[N>>2]|0)+40>>0]=2}else{i[(k[N>>2]|0)+36>>0]=b;if((i[(k[N>>2]|0)+36>>0]|0)<0)i[(k[N>>2]|0)+36>>0]=0;J=(k[R>>2]|0)+8|0;K=k[J+4>>2]|0;L=(k[N>>2]|0)+24|0;k[L>>2]=k[J>>2];k[L+4>>2]=K}if(((m[(k[N>>2]|0)+34>>1]&2048|0)!=0?((k[P>>2]|0)>0?(i[(k[N>>2]|0)+36>>0]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,k[L>>2]=0,k[L+4>>2]=0,P=(VD(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0,0,(k[P>>2]|0)-1&65535,k[(k[(k[R>>2]|0)+24>>2]|0)+((k[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,k[Q>>2]=P,(k[Q>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+37>>0]=1;P=T;Q=k[P+4>>2]|0;T=(k[N>>2]|0)+24|0;k[T>>2]=k[P>>2];k[T+4>>2]=Q}}j[(k[N>>2]|0)+32>>1]=j[(k[R>>2]|0)+16>>1]|0;ag(k[O>>2]|0,k[S>>2]|0);k[M>>2]=0;T=k[M>>2]|0;r=U;return T|0}function tD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[d>>2]|0)){b=f;a=b;a=k[a>>2]|0;b=b+4|0;b=k[b>>2]|0;L=b;r=g;return a|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;h=SD(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|h;k[a+4>>2]=b;k[e>>2]=(k[e>>2]|0)+1}h=f;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+176|0;p=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;D=Y+144|0;I=Y+140|0;J=Y+136|0;F=Y+132|0;X=Y+128|0;Q=Y+124|0;H=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;C=Y+100|0;E=Y+96|0;G=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;o=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;n=Y+64|0;h=Y+60|0;g=Y+8|0;z=Y+56|0;w=Y;K=Y+52|0;M=Y+48|0;k[N>>2]=a;k[t>>2]=b;k[u>>2]=c;b=v;k[b>>2]=d;k[b+4>>2]=e;k[O>>2]=f;i[o>>0]=0;k[T>>2]=0;k[A>>2]=0;k[P>>2]=0;k[X>>2]=k[(k[N>>2]|0)+8>>2];b=cB(k[N>>2]|0)|0;k[Q>>2]=b;k[D>>2]=0;k[H>>2]=k[(k[u>>2]|0)+16>>2];k[J>>2]=(k[(k[t>>2]|0)+20>>2]|0)+((k[(k[t>>2]|0)+12>>2]|0)*48|0);k[G>>2]=k[(k[O>>2]|0)+64>>2];b=B;k[b>>2]=0;k[b+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;k[n>>2]=k[k[I>>2]>>2];b=k[G>>2]|0;if((((k[b>>2]|0)==0&(k[b+4>>2]|0)==0?(m[(k[I>>2]|0)+20>>1]&2|0)==0:0)?(k[(k[n>>2]|0)+4>>2]&1|0)==0:0)?(OD(k[n>>2]|0,k[(k[u>>2]|0)+44>>2]|0)|0)!=0:0){c=k[k[N>>2]>>2]|0;b=k[T>>2]|0;b=kz(c,b,xy(k[k[N>>2]>>2]|0,k[n>>2]|0,0)|0)|0;k[T>>2]=b}b=v;if(PD(k[I>>2]|0,k[u>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0){k[h>>2]=k[(k[I>>2]|0)+12>>2];if((k[h>>2]|0)>=64){d=0;e=-2147483648}else{d=vR(1,0,k[h>>2]|0)|0;e=L}b=g;k[b>>2]=d;k[b+4>>2]=e;if(!(i[o>>0]|0)){b=k[(k[(k[H>>2]|0)+4>>2]|0)+((k[h>>2]|0)*24|0)>>2]|0;k[p>>2]=k[k[H>>2]>>2];k[p+4>>2]=b;$d(284,35527,p);i[o>>0]=1}c=B;b=g;if((k[c>>2]&k[b>>2]|0)==0?(k[c+4>>2]&k[b+4>>2]|0)==0:0){if(QD(k[k[N>>2]>>2]|0,k[G>>2]|0,(k[D>>2]|0)+1|0)|0){q=57;break}f=k[I>>2]|0;a=k[D>>2]|0;k[D>>2]=a+1;k[(k[(k[G>>2]|0)+48>>2]|0)+(a<<2)>>2]=f;a=g;f=B;c=k[f+4>>2]|k[a+4>>2];b=B;k[b>>2]=k[f>>2]|k[a>>2];k[b+4>>2]=c}}k[I>>2]=(k[I>>2]|0)+48}if((q|0)==57){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;hv(W,X);r=Y;return}n=k[D>>2]&65535;j[(k[G>>2]|0)+40>>1]=n;j[(k[G>>2]|0)+24>>1]=n;k[(k[G>>2]|0)+36>>2]=16961;n=(k[u>>2]|0)+56|0;o=B;p=k[n+4>>2]&(~k[o+4>>2]|-2147483648);q=x;k[q>>2]=k[n>>2]&~k[o>>2];k[q+4>>2]=p;if(63<(j[(k[H>>2]|0)+34>>1]|0))d=63;else d=j[(k[H>>2]|0)+34>>1]|0;k[C>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;q=x;o=k[q>>2]|0;q=k[q+4>>2]|0;p=vR(1,0,k[y>>2]|0)|0;if((o&p|0)!=0|(q&L|0)!=0)k[D>>2]=(k[D>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)k[D>>2]=(k[D>>2]|0)+((j[(k[H>>2]|0)+34>>1]|0)-64+1);s=RD(k[k[N>>2]>>2]|0,(k[D>>2]|0)+1&65535,0,s)|0;k[F>>2]=s;if(!(k[F>>2]|0)){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;hv(W,X);r=Y;return}k[(k[G>>2]|0)+24+4>>2]=k[F>>2];k[k[F>>2]>>2]=35553;k[(k[F>>2]|0)+12>>2]=k[H>>2];k[S>>2]=0;s=B;k[s>>2]=0;k[s+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;s=v;if(PD(k[I>>2]|0,k[u>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0){k[z>>2]=k[(k[I>>2]|0)+12>>2];if((k[z>>2]|0)>=64){d=0;e=-2147483648}else{d=vR(1,0,k[z>>2]|0)|0;e=L}q=w;k[q>>2]=d;k[q+4>>2]=e;q=B;s=w;if((k[q>>2]&k[s>>2]|0)==0?(k[q+4>>2]&k[s+4>>2]|0)==0:0){k[K>>2]=k[k[I>>2]>>2];p=w;o=B;q=k[o+4>>2]|k[p+4>>2];s=B;k[s>>2]=k[o>>2]|k[p>>2];k[s+4>>2]=q;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[(k[I>>2]|0)+12>>2];s=dB(k[N>>2]|0,k[(k[K>>2]|0)+12>>2]|0,k[(k[K>>2]|0)+16>>2]|0)|0;k[E>>2]=s;if(k[E>>2]|0)d=k[k[E>>2]>>2]|0;else d=35690;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=d;k[S>>2]=(k[S>>2]|0)+1}}k[I>>2]=(k[I>>2]|0)+48}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;K=x;I=k[K>>2]|0;K=k[K+4>>2]|0;J=vR(1,0,k[y>>2]|0)|0;if((I&J|0)!=0|(K&L|0)!=0){j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35690;k[S>>2]=(k[S>>2]|0)+1}k[y>>2]=(k[y>>2]|0)+1}a:do if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){k[y>>2]=63;while(1){if((k[y>>2]|0)>=(j[(k[H>>2]|0)+34>>1]|0))break a;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35690;k[S>>2]=(k[S>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}}while(0);j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=-1;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35690;J=(k[N>>2]|0)+72|0;K=k[J>>2]|0;k[J>>2]=K+1;k[(k[O>>2]|0)+8>>2]=K;$w(k[X>>2]|0,56,k[(k[O>>2]|0)+8>>2]|0,(k[D>>2]|0)+1|0)|0;Kz(k[N>>2]|0,k[F>>2]|0);sA(k[N>>2]|0);k[U>>2]=(k[(k[k[t>>2]>>2]|0)+4>>2]|0)+8+((l[(k[O>>2]|0)+44>>0]|0)*72|0);if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){k[M>>2]=k[(k[U>>2]|0)+28>>2];K=$w(k[X>>2]|0,22,0,0)|0;k[P>>2]=K;dx(k[X>>2]|0,16,k[M>>2]|0,0,k[(k[U>>2]|0)+24>>2]|0)|0;M=Hz(k[X>>2]|0,18,k[M>>2]|0)|0;k[R>>2]=M}else{M=Hz(k[X>>2]|0,108,k[(k[O>>2]|0)+4>>2]|0)|0;k[R>>2]=M}if(k[T>>2]|0){M=Mz(k[X>>2]|0)|0;k[A>>2]=M;VA(k[N>>2]|0,k[T>>2]|0,k[A>>2]|0,16);M=(k[G>>2]|0)+36|0;k[M>>2]=k[M>>2]|131072}M=eA(k[N>>2]|0)|0;k[W>>2]=M;M=fA(k[N>>2]|0,k[F>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[W>>2]|0,0,0,0,0)|0;k[V>>2]=M;$w(k[X>>2]|0,110,k[(k[O>>2]|0)+8>>2]|0,k[W>>2]|0)|0;Ph(k[X>>2]|0,16);if(k[T>>2]|0)Qz(k[X>>2]|0,k[A>>2]|0);d=k[X>>2]|0;if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){Vz(d,k[P>>2]|0,(k[V>>2]|0)+(k[S>>2]|0)|0);bD(k[X>>2]|0,k[R>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[(k[U>>2]|0)+32>>2]|0,1);Oz(k[X>>2]|0,k[R>>2]|0)|0;V=(k[U>>2]|0)+36+1|0;i[V>>0]=i[V>>0]&-17}else $w(d,7,k[(k[O>>2]|0)+4>>2]|0,(k[R>>2]|0)+1|0)|0;Ph(k[X>>2]|0,3);Pz(k[X>>2]|0,k[R>>2]|0);iA(k[N>>2]|0,k[W>>2]|0);qA(k[N>>2]|0);Pz(k[X>>2]|0,k[Q>>2]|0);W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;hv(W,X);r=Y;return}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;g=O+140|0;h=O+136|0;n=O+132|0;t=O+128|0;u=O+124|0;o=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;p=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;q=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[o>>1]=f;k[B>>2]=0;do if((l[(k[g>>2]|0)+453>>0]|0|0)==2){k[z>>2]=(k[h>>2]|0)+8+((l[(k[n>>2]|0)+44>>0]|0)*72|0);k[D>>2]=k[(k[g>>2]|0)+8>>2];k[p>>2]=k[k[g>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+468>>2];k[A>>2]=k[(k[n>>2]|0)+64>>2];k[v>>2]=k[(k[A>>2]|0)+36>>2];if((k[v>>2]&8192|0)==0?((m[o>>1]|0)&64|0)==0:0){do if(k[v>>2]&48)g=1;else{if((k[v>>2]&1024|0)==0?(m[(k[A>>2]|0)+24>>1]|0|0)>0:0){g=1;break}g=((m[o>>1]|0)&3|0)!=0}while(0);k[x>>2]=g&1;mg(C,k[p>>2]|0,q,100,1e9);KD(C,(k[x>>2]|0)!=0?35264:35271);g=k[z>>2]|0;if(k[(k[z>>2]|0)+20>>2]|0){k[E>>2]=l[g+40>>0];jA(C,35276,E)}else{k[F>>2]=k[g+8>>2];jA(C,35289,F)}if(k[(k[z>>2]|0)+12>>2]|0){k[I>>2]=k[(k[z>>2]|0)+12>>2];jA(C,35299,I)}do if(!(k[v>>2]&1280)){k[K>>2]=0;k[y>>2]=k[(k[A>>2]|0)+24+4>>2];if(((l[(k[(k[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[y>>2]|0)+55>>0]&3|0)==2:0){if(k[x>>2]|0)k[K>>2]=35306}else N=19;do if((N|0)==19){if(k[v>>2]&131072){k[K>>2]=35318;break}if(k[v>>2]&16384){k[K>>2]=35351;break}if(k[v>>2]&64){k[K>>2]=35376;break}else{k[K>>2]=35394;break}}while(0);if(k[K>>2]|0){kA(C,35403,7);N=k[K>>2]|0;k[J>>2]=k[k[y>>2]>>2];jA(C,N,J);LD(C,k[A>>2]|0)}}else{if((k[v>>2]&256|0)!=0?(k[v>>2]&15|0)!=0:0){do if(!(k[v>>2]&5)){if((k[v>>2]&48|0)==48){k[M>>2]=35413;break}if(k[v>>2]&32){k[M>>2]=35427;break}else{k[M>>2]=35429;break}}else k[M>>2]=35411;while(0);k[G>>2]=k[M>>2];jA(C,35431,G);break}if(k[v>>2]&1024){N=k[(k[A>>2]|0)+24+8>>2]|0;k[H>>2]=k[(k[A>>2]|0)+24>>2];k[H+4>>2]=N;jA(C,35469,H)}}while(0);N=og(C)|0;k[L>>2]=N;N=cx(k[D>>2]|0,161,k[w>>2]|0,k[t>>2]|0,k[u>>2]|0,k[L>>2]|0,-1)|0;k[B>>2]=N;break}k[s>>2]=0;N=k[s>>2]|0;r=O;return N|0}while(0);k[s>>2]=k[B>>2];N=k[s>>2]|0;r=O;return N|0}function wD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;Za=r;r=r+368|0;Ia=Za+8|0;Ja=Za+352|0;Z=Za+348|0;Ka=Za;Oa=Za+344|0;Ha=Za+340|0;Na=Za+336|0;E=Za+332|0;N=Za+328|0;Fa=Za+324|0;Ta=Za+320|0;Ga=Za+316|0;Wa=Za+312|0;Va=Za+308|0;Ua=Za+304|0;Ma=Za+300|0;Ya=Za+296|0;D=Za+292|0;v=Za+288|0;La=Za+284|0;J=Za+280|0;f=Za+276|0;e=Za+272|0;A=Za+268|0;z=Za+264|0;C=Za+260|0;B=Za+256|0;u=Za+252|0;t=Za+248|0;g=Za+244|0;n=Za+240|0;h=Za+236|0;o=Za+232|0;q=Za+228|0;s=Za+224|0;p=Za+220|0;M=Za+358|0;V=Za+216|0;S=Za+212|0;R=Za+208|0;W=Za+204|0;I=Za+200|0;X=Za+196|0;K=Za+192|0;P=Za+188|0;ba=Za+184|0;w=Za+180|0;O=Za+176|0;Y=Za+172|0;H=Za+363|0;F=Za+362|0;G=Za+361|0;x=Za+168|0;y=Za+360|0;T=Za+164|0;U=Za+160|0;Q=Za+156|0;sa=Za+152|0;qa=Za+148|0;na=Za+144|0;aa=Za+140|0;za=Za+136|0;Ba=Za+132|0;Aa=Za+128|0;ca=Za+124|0;ea=Za+120|0;Ca=Za+116|0;ha=Za+112|0;Da=Za+356|0;ma=Za+108|0;xa=Za+104|0;ja=Za+100|0;la=Za+96|0;ta=Za+92|0;ga=Za+88|0;oa=Za+84|0;ra=Za+80|0;wa=Za+76|0;pa=Za+72|0;ia=Za+68|0;va=Za+64|0;_=Za+60|0;ya=Za+56|0;fa=Za+52|0;ua=Za+48|0;ka=Za+44|0;da=Za+40|0;$=Za+36|0;Qa=Za+32|0;Xa=Za+28|0;Ra=Za+24|0;Sa=Za+20|0;Pa=Za+16|0;k[Ja>>2]=a;k[Z>>2]=b;b=Ka;k[b>>2]=c;k[b+4>>2]=d;k[J>>2]=0;k[f>>2]=0;k[Ua>>2]=k[k[Ja>>2]>>2];k[Ya>>2]=k[(k[Ua>>2]|0)+8>>2];k[Wa>>2]=(k[Ja>>2]|0)+328;k[Ma>>2]=k[k[Ua>>2]>>2];k[Ta>>2]=(k[Ja>>2]|0)+736+((k[Z>>2]|0)*80|0);k[Ga>>2]=k[(k[Ta>>2]|0)+64>>2];k[D>>2]=(k[(k[Ja>>2]|0)+4>>2]|0)+8+((l[(k[Ta>>2]|0)+44>>0]|0)*72|0);k[Na>>2]=k[(k[D>>2]|0)+44>>2];b=Ka;c=k[b>>2]|0;b=k[b+4>>2]|0;d=xD((k[Ja>>2]|0)+68|0,k[Na>>2]|0)|0;a=(k[Ta>>2]|0)+72|0;k[a>>2]=c&~d;k[a+4>>2]=b&~L;a=(k[Ja>>2]|0)+24|0;a=rR(k[a>>2]|0,k[a+4>>2]|0,k[Z>>2]|0)|0;k[Fa>>2]=a&1;if(k[(k[Ga>>2]|0)+36>>2]&64)c=(m[(k[Ja>>2]|0)+34>>1]&32|0)==0;else c=0;k[N>>2]=c&1;a=Mz(k[Ya>>2]|0)|0;k[(k[Ta>>2]|0)+16>>2]=a;k[(k[Ta>>2]|0)+12>>2]=a;k[v>>2]=a;a=Mz(k[Ya>>2]|0)|0;k[(k[Ta>>2]|0)+24>>2]=a;k[La>>2]=a;if((l[(k[Ta>>2]|0)+44>>0]|0)>0?(l[(k[D>>2]|0)+36>>0]&8|0)!=0:0){b=(k[Ua>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[k[Ta>>2]>>2]=a;$w(k[Ya>>2]|0,22,0,k[k[Ta>>2]>>2]|0)|0}do if(!((l[(k[D>>2]|0)+36+1>>0]|0)>>>4&1)){c=k[Ga>>2]|0;if(k[(k[Ga>>2]|0)+36>>2]&1024){k[C>>2]=m[c+40>>1];sA(k[Ua>>2]|0);Ha=uA(k[Ua>>2]|0,(k[C>>2]|0)+2|0)|0;k[A>>2]=Ha;k[z>>2]=k[(k[Ta>>2]|0)+12>>2];k[Oa>>2]=0;while(1){if((k[Oa>>2]|0)>=(k[C>>2]|0))break;k[B>>2]=(k[A>>2]|0)+(k[Oa>>2]|0)+2;k[Va>>2]=k[(k[(k[Ga>>2]|0)+48>>2]|0)+(k[Oa>>2]<<2)>>2];do if(k[Va>>2]|0){c=k[Ua>>2]|0;d=k[Va>>2]|0;if(m[(k[Va>>2]|0)+18>>1]&1){yD(c,d,k[Ta>>2]|0,k[Oa>>2]|0,k[Fa>>2]|0,k[B>>2]|0)|0;k[z>>2]=k[(k[Ta>>2]|0)+16>>2];break}else{HA(c,k[(k[d>>2]|0)+16>>2]|0,k[B>>2]|0);break}}while(0);k[Oa>>2]=(k[Oa>>2]|0)+1}$w(k[Ya>>2]|0,22,k[(k[Ga>>2]|0)+24>>2]|0,k[A>>2]|0)|0;$w(k[Ya>>2]|0,22,k[C>>2]|0,(k[A>>2]|0)+1|0)|0;cx(k[Ya>>2]|0,11,k[Na>>2]|0,k[z>>2]|0,k[A>>2]|0,k[(k[Ga>>2]|0)+24+8>>2]|0,(l[(k[Ga>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;i[(k[Ga>>2]|0)+24+4>>0]=0;k[Oa>>2]=0;while(1){if(!((k[Oa>>2]|0)<(k[C>>2]|0)?(k[Oa>>2]|0)<16:0))break;if(m[(k[Ga>>2]|0)+24+6>>1]>>k[Oa>>2]&1)zD(k[Ta>>2]|0,k[(k[(k[Ga>>2]|0)+48>>2]|0)+(k[Oa>>2]<<2)>>2]|0);k[Oa>>2]=(k[Oa>>2]|0)+1}k[(k[Ta>>2]|0)+48>>2]=k[Na>>2];i[(k[Ta>>2]|0)+45>>0]=(l[(k[Ja>>2]|0)+38>>0]|0)!=0?160:154;Ha=Lz(k[Ya>>2]|0)|0;k[(k[Ta>>2]|0)+52>>2]=Ha;xA(k[Ua>>2]|0,k[A>>2]|0,(k[C>>2]|0)+2|0);qA(k[Ua>>2]|0);break}if((k[c+36>>2]&256|0)!=0?(k[(k[Ga>>2]|0)+36>>2]&5|0)!=0:0){k[Va>>2]=k[k[(k[Ga>>2]|0)+48>>2]>>2];Ga=(k[Ua>>2]|0)+76|0;Ha=(k[Ga>>2]|0)+1|0;k[Ga>>2]=Ha;k[f>>2]=Ha;Ha=yD(k[Ua>>2]|0,k[Va>>2]|0,k[Ta>>2]|0,0,k[Fa>>2]|0,k[f>>2]|0)|0;k[J>>2]=Ha;if((k[J>>2]|0)!=(k[f>>2]|0))iA(k[Ua>>2]|0,k[f>>2]|0);k[E>>2]=k[(k[Ta>>2]|0)+16>>2];$w(k[Ya>>2]|0,38,k[J>>2]|0,k[E>>2]|0)|0;dx(k[Ya>>2]|0,70,k[Na>>2]|0,k[E>>2]|0,k[J>>2]|0)|0;MA(k[Ua>>2]|0,k[J>>2]|0,1);qB(k[Ua>>2]|0,k[Na>>2]|0,-1,k[J>>2]|0);i[(k[Ta>>2]|0)+45>>0]=-96;break}if((k[(k[Ga>>2]|0)+36>>2]&256|0)!=0?(k[(k[Ga>>2]|0)+36>>2]&2|0)!=0:0){k[u>>2]=160;k[g>>2]=0;k[Oa>>2]=0;k[h>>2]=0;k[n>>2]=0;if(k[(k[Ga>>2]|0)+36>>2]&32){Ha=k[Oa>>2]|0;k[Oa>>2]=Ha+1;k[n>>2]=k[(k[(k[Ga>>2]|0)+48>>2]|0)+(Ha<<2)>>2]}if(k[(k[Ga>>2]|0)+36>>2]&16){Ha=k[Oa>>2]|0;k[Oa>>2]=Ha+1;k[h>>2]=k[(k[(k[Ga>>2]|0)+48>>2]|0)+(Ha<<2)>>2]}if(k[Fa>>2]|0){k[Va>>2]=k[n>>2];k[n>>2]=k[h>>2];k[h>>2]=k[Va>>2]}if(k[n>>2]|0){k[o>>2]=k[k[n>>2]>>2];Ha=NA(k[Ua>>2]|0,k[(k[o>>2]|0)+16>>2]|0,s)|0;k[q>>2]=Ha;dx(k[Ya>>2]|0,l[35244+((l[k[o>>2]>>0]|0)-80)>>0]|0,k[Na>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;MA(k[Ua>>2]|0,k[q>>2]|0,1);iA(k[Ua>>2]|0,k[s>>2]|0);zD(k[Ta>>2]|0,k[n>>2]|0)}else $w(k[Ya>>2]|0,(k[Fa>>2]|0)!=0?105:108,k[Na>>2]|0,k[v>>2]|0)|0;if(k[h>>2]|0){k[p>>2]=k[k[h>>2]>>2];Ga=(k[Ua>>2]|0)+76|0;Ha=(k[Ga>>2]|0)+1|0;k[Ga>>2]=Ha;k[g>>2]=Ha;HA(k[Ua>>2]|0,k[(k[p>>2]|0)+16>>2]|0,k[g>>2]|0);if((l[k[p>>2]>>0]|0)!=82?(l[k[p>>2]>>0]|0)!=80:0)k[u>>2]=(k[Fa>>2]|0)!=0?82:80;else k[u>>2]=(k[Fa>>2]|0)!=0?81:83;zD(k[Ta>>2]|0,k[h>>2]|0)}Ha=Lz(k[Ya>>2]|0)|0;k[t>>2]=Ha;i[(k[Ta>>2]|0)+45>>0]=(k[Fa>>2]|0)!=0?6:7;k[(k[Ta>>2]|0)+48>>2]=k[Na>>2];k[(k[Ta>>2]|0)+52>>2]=k[t>>2];if((k[u>>2]|0)==160)break;Ga=(k[Ua>>2]|0)+76|0;Ha=(k[Ga>>2]|0)+1|0;k[Ga>>2]=Ha;k[J>>2]=Ha;$w(k[Ya>>2]|0,103,k[Na>>2]|0,k[J>>2]|0)|0;qB(k[Ua>>2]|0,k[Na>>2]|0,-1,k[J>>2]|0);dx(k[Ya>>2]|0,k[u>>2]|0,k[g>>2]|0,k[v>>2]|0,k[J>>2]|0)|0;Ph(k[Ya>>2]|0,83);break}c=k[Ga>>2]|0;if(k[(k[Ga>>2]|0)+36>>2]&512){j[M>>1]=j[c+24>>1]|0;k[S>>2]=0;k[R>>2]=0;k[w>>2]=0;i[H>>0]=0;i[F>>0]=0;i[G>>0]=0;k[P>>2]=k[(k[Ga>>2]|0)+24+4>>2];k[ba>>2]=k[(k[Ta>>2]|0)+8>>2];if(((m[(k[Ja>>2]|0)+34>>1]&1|0)!=0?(i[(k[Ja>>2]|0)+36>>0]|0)>0:0)?(m[(k[P>>2]|0)+50>>1]|0)>(m[M>>1]|0):0){i[F>>0]=1;k[w>>2]=1}k[Oa>>2]=m[M>>1];if(k[(k[Ga>>2]|0)+36>>2]&32){Ea=k[Oa>>2]|0;k[Oa>>2]=Ea+1;k[S>>2]=k[(k[(k[Ga>>2]|0)+48>>2]|0)+(Ea<<2)>>2];k[w>>2]=1}if(k[(k[Ga>>2]|0)+36>>2]&16){Ea=k[Oa>>2]|0;k[Oa>>2]=Ea+1;k[R>>2]=k[(k[(k[Ga>>2]|0)+48>>2]|0)+(Ea<<2)>>2];k[w>>2]=1;if(m[(k[R>>2]|0)+20>>1]&256){Da=(k[Ua>>2]|0)+76|0;Ea=(k[Da>>2]|0)+1|0;k[Da>>2]=Ea;k[(k[Ta>>2]|0)+36>>2]=Ea;$w(k[Ya>>2]|0,22,k[Fa>>2]^(l[(k[(k[P>>2]|0)+28>>2]|0)+(m[M>>1]|0)>>0]|0)==1,k[(k[Ta>>2]|0)+36>>2]|0)|0;Ea=Lz(k[Ya>>2]|0)|0;k[(k[Ta>>2]|0)+40>>2]=Ea}if(((k[S>>2]|0)==0?(Ea=j[(k[(k[P>>2]|0)+4>>2]|0)+(m[M>>1]<<1)>>1]|0,k[Oa>>2]=Ea,(Ea|0)>=0):0)?(l[(k[(k[(k[P>>2]|0)+12>>2]|0)+4>>2]|0)+((k[Oa>>2]|0)*24|0)+20>>0]|0)==0:0)i[F>>0]=1}if((m[M>>1]|0)<(m[(k[P>>2]|0)+50>>1]|0)?(k[Fa>>2]|0)==((l[(k[(k[P>>2]|0)+28>>2]|0)+(m[M>>1]|0)>>0]|0)==0|0):0)Ea=64;else Ea=62;if(((Ea|0)==62?(k[Fa>>2]|0)!=0:0)?(m[(k[P>>2]|0)+50>>1]|0)==(m[M>>1]|0):0)Ea=64;if((Ea|0)==64){k[x>>2]=k[R>>2];k[R>>2]=k[S>>2];k[S>>2]=k[x>>2];i[y>>0]=i[F>>0]|0;i[F>>0]=i[G>>0]|0;i[G>>0]=i[y>>0]|0}Ea=AD(k[Ua>>2]|0,k[Ta>>2]|0,k[Fa>>2]|0,k[w>>2]|0,Y)|0;k[V>>2]=Ea;if(k[Y>>2]|0)i[H>>0]=i[(k[Y>>2]|0)+(m[M>>1]|0)>>0]|0;k[E>>2]=k[(k[Ta>>2]|0)+16>>2];if(k[S>>2]|0)c=(m[(k[S>>2]|0)+18>>1]&40|0)!=0;else c=1;k[W>>2]=c&1;if(k[R>>2]|0)c=(m[(k[R>>2]|0)+18>>1]&40|0)!=0;else c=1;k[I>>2]=c&1;if(k[S>>2]|0)c=1;else c=(m[M>>1]|0)>0;k[X>>2]=c&1;k[K>>2]=m[M>>1];if(!(k[S>>2]|0)){if(i[F>>0]|0){$w(k[Ya>>2]|0,25,0,(k[V>>2]|0)+(m[M>>1]|0)|0)|0;k[K>>2]=(k[K>>2]|0)+1;k[W>>2]=0;k[X>>2]=1}}else{k[T>>2]=k[(k[k[S>>2]>>2]|0)+16>>2];HA(k[Ua>>2]|0,k[T>>2]|0,(k[V>>2]|0)+(m[M>>1]|0)|0);BD(k[Ya>>2]|0,k[Ta>>2]|0,k[S>>2]|0);do if(!(m[(k[S>>2]|0)+20>>1]&0)){if(!($A(k[T>>2]|0)|0))break;$w(k[Ya>>2]|0,76,(k[V>>2]|0)+(m[M>>1]|0)|0,k[E>>2]|0)|0}while(0);do if(k[Y>>2]|0){if(((aB(k[T>>2]|0,i[(k[Y>>2]|0)+(m[M>>1]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[Y>>2]|0)+(m[M>>1]|0)>>0]=65;if(!(CD(k[T>>2]|0,i[(k[Y>>2]|0)+(m[M>>1]|0)>>0]|0)|0))break;i[(k[Y>>2]|0)+(m[M>>1]|0)>>0]=65}while(0);k[K>>2]=(k[K>>2]|0)+1}DD(k[Ua>>2]|0,k[V>>2]|0,(k[K>>2]|0)-(l[F>>0]|0)|0,k[Y>>2]|0);k[O>>2]=l[35248+((k[X>>2]<<2)+(k[W>>2]<<1)+(k[Fa>>2]|0))>>0];Oh(k[Ya>>2]|0,k[O>>2]|0,k[ba>>2]|0,k[E>>2]|0,k[V>>2]|0,k[K>>2]|0)|0;k[K>>2]=m[M>>1];do if(k[R>>2]|0){k[U>>2]=k[(k[k[R>>2]>>2]|0)+16>>2];yA(k[Ua>>2]|0,(k[V>>2]|0)+(m[M>>1]|0)|0,1);HA(k[Ua>>2]|0,k[U>>2]|0,(k[V>>2]|0)+(m[M>>1]|0)|0);BD(k[Ya>>2]|0,k[Ta>>2]|0,k[R>>2]|0);do if(!(m[(k[R>>2]|0)+20>>1]&0)){if(!($A(k[U>>2]|0)|0))break;$w(k[Ya>>2]|0,76,(k[V>>2]|0)+(m[M>>1]|0)|0,k[E>>2]|0)|0}while(0);do if(((aB(k[U>>2]|0,i[H>>0]|0)|0)<<24>>24|0)!=65){if(CD(k[U>>2]|0,i[H>>0]|0)|0)break;DD(k[Ua>>2]|0,(k[V>>2]|0)+(m[M>>1]|0)|0,1,H)}while(0);k[K>>2]=(k[K>>2]|0)+1}else{if(!(i[G>>0]|0))break;$w(k[Ya>>2]|0,25,0,(k[V>>2]|0)+(m[M>>1]|0)|0)|0;k[I>>2]=0;k[K>>2]=(k[K>>2]|0)+1}while(0);ag(k[Ma>>2]|0,k[Y>>2]|0);Ea=Lz(k[Ya>>2]|0)|0;k[(k[Ta>>2]|0)+52>>2]=Ea;if(k[K>>2]|0){k[O>>2]=l[35256+((k[Fa>>2]<<1)+(k[I>>2]|0))>>0];Oh(k[Ya>>2]|0,k[O>>2]|0,k[ba>>2]|0,k[E>>2]|0,k[V>>2]|0,k[K>>2]|0)|0}zD(k[Ta>>2]|0,k[S>>2]|0);zD(k[Ta>>2]|0,k[R>>2]|0);do if(!(k[N>>2]|0)){if(!(l[(k[(k[P>>2]|0)+12>>2]|0)+42>>0]&32))if(l[(k[Ja>>2]|0)+38>>0]|0){Ea=(k[Ua>>2]|0)+76|0;Ha=(k[Ea>>2]|0)+1|0;k[Ea>>2]=Ha;k[J>>2]=Ha;$w(k[Ya>>2]|0,113,k[ba>>2]|0,k[J>>2]|0)|0;qB(k[Ua>>2]|0,k[Na>>2]|0,-1,k[J>>2]|0);dx(k[Ya>>2]|0,70,k[Na>>2]|0,0,k[J>>2]|0)|0;break}else{ED(k[Ja>>2]|0,k[P>>2]|0,k[Na>>2]|0,k[ba>>2]|0);break}if((k[Na>>2]|0)==(k[ba>>2]|0))break;Ea=Oj(k[(k[P>>2]|0)+12>>2]|0)|0;k[Q>>2]=Ea;Ea=uA(k[Ua>>2]|0,m[(k[Q>>2]|0)+50>>1]|0)|0;k[J>>2]=Ea;k[Oa>>2]=0;while(1){if((k[Oa>>2]|0)>=(m[(k[Q>>2]|0)+50>>1]|0))break;Ea=(EA(k[P>>2]|0,j[(k[(k[Q>>2]|0)+4>>2]|0)+(k[Oa>>2]<<1)>>1]|0)|0)<<16>>16;k[Ha>>2]=Ea;dx(k[Ya>>2]|0,47,k[ba>>2]|0,k[Ha>>2]|0,(k[J>>2]|0)+(k[Oa>>2]|0)|0)|0;k[Oa>>2]=(k[Oa>>2]|0)+1}Oh(k[Ya>>2]|0,68,k[Na>>2]|0,k[La>>2]|0,k[J>>2]|0,m[(k[Q>>2]|0)+50>>1]|0)|0}while(0);do if(!(k[(k[Ga>>2]|0)+36>>2]&4096)){c=(k[Ta>>2]|0)+45|0;if(k[Fa>>2]|0){i[c>>0]=6;break}else{i[c>>0]=7;break}}else i[(k[Ta>>2]|0)+45>>0]=-96;while(0);k[(k[Ta>>2]|0)+48>>2]=k[ba>>2];i[(k[Ta>>2]|0)+46>>0]=(k[(k[Ga>>2]|0)+36>>2]&65536|0)!=0?1:0;if(k[(k[Ga>>2]|0)+36>>2]&15)break;i[(k[Ta>>2]|0)+47>>0]=1;break}if(!(k[c+36>>2]&8192))if((l[(k[D>>2]|0)+36+1>>0]|0)>>>5&1){i[(k[Ta>>2]|0)+45>>0]=-96;break}else{i[(k[Ta>>2]|0)+45>>0]=i[35260+(k[Fa>>2]|0)>>0]|0;k[(k[Ta>>2]|0)+48>>2]=k[Na>>2];Ha=1+($w(k[Ya>>2]|0,l[35262+(k[Fa>>2]|0)>>0]|0,k[Na>>2]|0,k[v>>2]|0)|0)|0;k[(k[Ta>>2]|0)+52>>2]=Ha;i[(k[Ta>>2]|0)+47>>0]=1;break}k[na>>2]=0;c=(k[Ua>>2]|0)+72|0;Fa=k[c>>2]|0;k[c>>2]=Fa+1;k[aa>>2]=Fa;Fa=(k[Ua>>2]|0)+76|0;c=(k[Fa>>2]|0)+1|0;k[Fa>>2]=c;k[za>>2]=c;k[Ba>>2]=0;k[Aa>>2]=0;c=Mz(k[Ya>>2]|0)|0;k[ca>>2]=c;k[Ca>>2]=0;k[ma>>2]=0;k[xa>>2]=k[(k[D>>2]|0)+16>>2];k[Va>>2]=k[k[(k[Ga>>2]|0)+48>>2]>>2];k[sa>>2]=k[(k[Va>>2]|0)+12>>2];i[(k[Ta>>2]|0)+45>>0]=15;k[(k[Ta>>2]|0)+48>>2]=k[za>>2];c=k[Ja>>2]|0;a:do if((l[(k[Ja>>2]|0)+41>>0]|0)>1){k[ja>>2]=(l[c+41>>0]|0)-(k[Z>>2]|0)-1;Ga=Ih(k[Ma>>2]|0,80+((k[ja>>2]|0)*72|0)|0,0)|0;k[qa>>2]=Ga;if(!(k[qa>>2]|0)){Wa=Ka;Ya=k[Wa+4>>2]|0;Xa=Ia;k[Xa>>2]=k[Wa>>2];k[Xa+4>>2]=Ya;Xa=Ia;Ya=Xa;Ya=k[Ya>>2]|0;Xa=Xa+4|0;Xa=k[Xa>>2]|0;L=Xa;r=Za;return Ya|0}k[(k[qa>>2]|0)+4>>2]=(k[ja>>2]|0)+1&255;k[k[qa>>2]>>2]=k[(k[qa>>2]|0)+4>>2];b=(k[qa>>2]|0)+8|0;c=k[D>>2]|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[la>>2]=(k[(k[Ja>>2]|0)+4>>2]|0)+8;k[Ha>>2]=1;while(1){if((k[Ha>>2]|0)>(k[ja>>2]|0))break a;b=(k[qa>>2]|0)+8+((k[Ha>>2]|0)*72|0)|0;c=(k[la>>2]|0)+((l[(k[Ta>>2]|0)+((k[Ha>>2]|0)*80|0)+44>>0]|0)*72|0)|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[Ha>>2]=(k[Ha>>2]|0)+1}}else k[qa>>2]=k[c+4>>2];while(0);if(!(m[(k[Ja>>2]|0)+34>>1]&8)){if(!(l[(k[xa>>2]|0)+42>>0]&32)){Ga=(k[Ua>>2]|0)+76|0;Ha=(k[Ga>>2]|0)+1|0;k[Ga>>2]=Ha;k[Ba>>2]=Ha;$w(k[Ya>>2]|0,25,0,k[Ba>>2]|0)|0}else{Ga=Oj(k[xa>>2]|0)|0;k[ta>>2]=Ga;Ga=(k[Ua>>2]|0)+72|0;Ha=k[Ga>>2]|0;k[Ga>>2]=Ha+1;k[Ba>>2]=Ha;$w(k[Ya>>2]|0,57,k[Ba>>2]|0,m[(k[ta>>2]|0)+50>>1]|0)|0;Kz(k[Ua>>2]|0,k[ta>>2]|0)}Ga=(k[Ua>>2]|0)+76|0;Ha=(k[Ga>>2]|0)+1|0;k[Ga>>2]=Ha;k[Aa>>2]=Ha}Ha=$w(k[Ya>>2]|0,22,0,k[za>>2]|0)|0;k[ea>>2]=Ha;if((k[(k[Wa>>2]|0)+12>>2]|0)>1){k[ga>>2]=0;while(1){if((k[ga>>2]|0)>=(k[(k[Wa>>2]|0)+12>>2]|0))break;k[oa>>2]=k[(k[(k[Wa>>2]|0)+20>>2]|0)+((k[ga>>2]|0)*48|0)>>2];if(((((k[(k[Wa>>2]|0)+20>>2]|0)+((k[ga>>2]|0)*48|0)|0)!=(k[Va>>2]|0)?(k[(k[oa>>2]|0)+4>>2]&1|0)==0:0)?(m[(k[(k[Wa>>2]|0)+20>>2]|0)+((k[ga>>2]|0)*48|0)+20>>1]&6|0)==0:0)?(m[(k[(k[Wa>>2]|0)+20>>2]|0)+((k[ga>>2]|0)*48|0)+18>>1]&8191|0)!=0:0){Ha=xy(k[Ma>>2]|0,k[oa>>2]|0,0)|0;k[oa>>2]=Ha;Ha=kz(k[Ma>>2]|0,k[ma>>2]|0,k[oa>>2]|0)|0;k[ma>>2]=Ha}k[ga>>2]=(k[ga>>2]|0)+1}if(k[ma>>2]|0){Ha=Bv(k[Ua>>2]|0,328,0,k[ma>>2]|0,0)|0;k[ma>>2]=Ha}}j[Da>>1]=240;k[ha>>2]=0;while(1){if((k[ha>>2]|0)>=(k[(k[sa>>2]|0)+12>>2]|0))break;k[ra>>2]=(k[(k[sa>>2]|0)+20>>2]|0)+((k[ha>>2]|0)*48|0);if(!((k[(k[ra>>2]|0)+8>>2]|0)!=(k[Na>>2]|0)?(m[(k[ra>>2]|0)+18>>1]&1024|0)==0:0)){k[pa>>2]=k[k[ra>>2]>>2];k[ia>>2]=0;if((k[ma>>2]|0)!=0?(k[(k[pa>>2]|0)+4>>2]&1|0)==0:0){k[(k[ma>>2]|0)+12>>2]=k[pa>>2];k[pa>>2]=k[ma>>2]}Ha=$C(k[Ua>>2]|0,k[qa>>2]|0,k[pa>>2]|0,0,0,j[Da>>1]|0,k[aa>>2]|0)|0;k[wa>>2]=Ha;if(k[wa>>2]|0){Ha=vD(k[Ua>>2]|0,k[qa>>2]|0,(k[wa>>2]|0)+736|0,k[Z>>2]|0,l[(k[Ta>>2]|0)+44>>0]|0,0)|0;k[_>>2]=Ha;do if(!(m[(k[Ja>>2]|0)+34>>1]&8)){k[fa>>2]=(k[ha>>2]|0)==((k[(k[sa>>2]|0)+12>>2]|0)-1|0)?-1:k[ha>>2]|0;if(!(l[(k[xa>>2]|0)+42>>0]&32)){Ha=JA(k[Ua>>2]|0,k[xa>>2]|0,-1,k[Na>>2]|0,k[Aa>>2]|0,0)|0;k[ya>>2]=Ha;Ha=Oh(k[Ya>>2]|0,131,k[Ba>>2]|0,0,k[ya>>2]|0,k[fa>>2]|0)|0;k[ia>>2]=Ha;break}Ha=Oj(k[xa>>2]|0)|0;k[ua>>2]=Ha;k[ka>>2]=m[(k[ua>>2]|0)+50>>1];Ha=uA(k[Ua>>2]|0,k[ka>>2]|0)|0;k[ya>>2]=Ha;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[ka>>2]|0))break;k[$>>2]=j[(k[(k[ua>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1];FD(k[Ua>>2]|0,k[xa>>2]|0,k[$>>2]|0,k[Na>>2]|0,(k[ya>>2]|0)+(k[da>>2]|0)|0);k[da>>2]=(k[da>>2]|0)+1}if(k[fa>>2]|0){Ha=Oh(k[Ya>>2]|0,69,k[Ba>>2]|0,0,k[ya>>2]|0,k[ka>>2]|0)|0;k[ia>>2]=Ha}do if((k[fa>>2]|0)>=0){dx(k[Ya>>2]|0,49,k[ya>>2]|0,k[ka>>2]|0,k[Aa>>2]|0)|0;dx(k[Ya>>2]|0,110,k[Ba>>2]|0,k[Aa>>2]|0,0)|0;if(!(k[fa>>2]|0))break;Ph(k[Ya>>2]|0,16)}while(0);xA(k[Ua>>2]|0,k[ya>>2]|0,k[ka>>2]|0)}while(0);$w(k[Ya>>2]|0,14,k[za>>2]|0,k[ca>>2]|0)|0;if(k[ia>>2]|0)Pz(k[Ya>>2]|0,k[ia>>2]|0);if(i[(k[wa>>2]|0)+39>>0]|0)k[Ca>>2]=1;k[va>>2]=k[(k[wa>>2]|0)+736+64>>2];do if(k[(k[va>>2]|0)+36>>2]&512){if((k[ha>>2]|0)!=0?(k[(k[va>>2]|0)+24+4>>2]|0)!=(k[na>>2]|0):0){Ea=168;break}if((l[(k[xa>>2]|0)+42>>0]&32|0)!=0?(i[(k[(k[va>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ea=168;break}k[na>>2]=k[(k[va>>2]|0)+24+4>>2];j[Da>>1]=m[Da>>1]|4096}else Ea=168;while(0);if((Ea|0)==168){Ea=0;k[na>>2]=0}aD(k[wa>>2]|0)}}k[ha>>2]=(k[ha>>2]|0)+1}k[(k[Ta>>2]|0)+56>>2]=k[na>>2];if(k[na>>2]|0)k[(k[Ta>>2]|0)+8>>2]=k[aa>>2];if(k[ma>>2]|0){k[(k[ma>>2]|0)+12>>2]=0;hv(k[Ma>>2]|0,k[ma>>2]|0)}Ga=k[Ya>>2]|0;Ha=k[ea>>2]|0;GD(Ga,Ha,Lz(k[Ya>>2]|0)|0);Oz(k[Ya>>2]|0,k[(k[Ta>>2]|0)+12>>2]|0)|0;Qz(k[Ya>>2]|0,k[ca>>2]|0);if((l[(k[Ja>>2]|0)+41>>0]|0)>1)ag(k[Ma>>2]|0,k[qa>>2]|0);if(!(k[Ca>>2]|0))zD(k[Ta>>2]|0,k[Va>>2]|0)}else{k[e>>2]=k[(k[D>>2]|0)+28>>2];dx(k[Ya>>2]|0,16,k[e>>2]|0,0,k[(k[D>>2]|0)+24>>2]|0)|0;Ha=$w(k[Ya>>2]|0,18,k[e>>2]|0,k[v>>2]|0)|0;k[(k[Ta>>2]|0)+52>>2]=Ha;i[(k[Ta>>2]|0)+45>>0]=13}while(0);k[Va>>2]=k[(k[Wa>>2]|0)+20>>2];k[Oa>>2]=k[(k[Wa>>2]|0)+12>>2];while(1){if((k[Oa>>2]|0)<=0)break;k[Xa>>2]=0;do if(!(m[(k[Va>>2]|0)+20>>1]&6)){Ga=(k[Va>>2]|0)+40|0;Ha=(k[Ta>>2]|0)+72|0;if((k[Ga>>2]&k[Ha>>2]|0)!=0?1:(k[Ga+4>>2]&k[Ha+4>>2]|0)!=0){i[(k[Ja>>2]|0)+39>>0]=1;break}k[Qa>>2]=k[k[Va>>2]>>2];if((k[k[Ta>>2]>>2]|0)!=0?(k[(k[Qa>>2]|0)+4>>2]&1|0)==0:0)break;if(m[(k[Va>>2]|0)+20>>1]&512){Ha=Hz(k[Ya>>2]|0,46,k[(k[Ta>>2]|0)+36>>2]|0)|0;k[Xa>>2]=Ha}VA(k[Ua>>2]|0,k[Qa>>2]|0,k[La>>2]|0,16);if(k[Xa>>2]|0)Pz(k[Ya>>2]|0,k[Xa>>2]|0);Ha=(k[Va>>2]|0)+20|0;j[Ha>>1]=m[Ha>>1]|4}while(0);k[Oa>>2]=(k[Oa>>2]|0)+-1;k[Va>>2]=(k[Va>>2]|0)+48}k[Va>>2]=k[(k[Wa>>2]|0)+20>>2];k[Oa>>2]=k[(k[Wa>>2]|0)+12>>2];while(1){if((k[Oa>>2]|0)<=0)break;if((((((((m[(k[Va>>2]|0)+20>>1]&6|0)==0?(m[(k[Va>>2]|0)+18>>1]&130|0)!=0:0)?(m[(k[Va>>2]|0)+18>>1]&2048|0)!=0:0)?(k[(k[Va>>2]|0)+8>>2]|0)==(k[Na>>2]|0):0)?(k[k[Ta>>2]>>2]|0)==0:0)?(k[Ra>>2]=k[k[Va>>2]>>2],Xa=Ka,Xa=HD(k[Wa>>2]|0,k[Na>>2]|0,k[(k[Va>>2]|0)+12>>2]|0,k[Xa>>2]|0,k[Xa+4>>2]|0,131,0)|0,k[Pa>>2]=Xa,(k[Pa>>2]|0)!=0):0)?(m[(k[Pa>>2]|0)+20>>1]&4|0)==0:0)?(Xa=Ih(k[Ma>>2]|0,48,0)|0,k[Sa>>2]=Xa,(k[Sa>>2]|0)!=0):0){b=k[Sa>>2]|0;c=k[k[Pa>>2]>>2]|0;d=b+48|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[(k[Sa>>2]|0)+12>>2]=k[(k[Ra>>2]|0)+12>>2];VA(k[Ua>>2]|0,k[Sa>>2]|0,k[La>>2]|0,16);ag(k[Ma>>2]|0,k[Sa>>2]|0)}k[Oa>>2]=(k[Oa>>2]|0)+-1;k[Va>>2]=(k[Va>>2]|0)+48}b:do if(k[k[Ta>>2]>>2]|0){Xa=Lz(k[Ya>>2]|0)|0;k[(k[Ta>>2]|0)+28>>2]=Xa;$w(k[Ya>>2]|0,22,1,k[k[Ta>>2]>>2]|0)|0;pC(k[Ua>>2]|0);k[Va>>2]=k[(k[Wa>>2]|0)+20>>2];k[Oa>>2]=0;while(1){if((k[Oa>>2]|0)>=(k[(k[Wa>>2]|0)+12>>2]|0))break b;if((m[(k[Va>>2]|0)+20>>1]&6|0)==0?(Xa=(k[Va>>2]|0)+40|0,Ya=(k[Ta>>2]|0)+72|0,!((k[Xa>>2]&k[Ya>>2]|0)!=0?1:(k[Xa+4>>2]&k[Ya+4>>2]|0)!=0)):0){VA(k[Ua>>2]|0,k[k[Va>>2]>>2]|0,k[La>>2]|0,16);Ya=(k[Va>>2]|0)+20|0;j[Ya>>1]=m[Ya>>1]|4}k[Oa>>2]=(k[Oa>>2]|0)+1;k[Va>>2]=(k[Va>>2]|0)+48}}while(0);Wa=(k[Ta>>2]|0)+72|0;Ya=k[Wa+4>>2]|0;Xa=Ia;k[Xa>>2]=k[Wa>>2];k[Xa+4>>2]=Ya;Xa=Ia;Ya=Xa;Ya=k[Ya>>2]|0;Xa=Xa+4|0;Xa=k[Xa>>2]|0;L=Xa;r=Za;return Ya|0}function xD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){b=6;break}a=k[e>>2]|0;if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){d=vR(1,0,a|0)|0;e=f;k[e>>2]=d;k[e+4>>2]=L;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}else if((b|0)==6){e=f;k[e>>2]=0;k[e+4>>2]=0;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}return 0}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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;g=x+48|0;p=x+44|0;q=x+40|0;h=x+36|0;s=x+32|0;j=x+28|0;n=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;o=x+8|0;v=x+4|0;m=x;k[g>>2]=a;k[p>>2]=b;k[q>>2]=c;k[h>>2]=d;k[s>>2]=e;k[j>>2]=f;k[n>>2]=k[k[p>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+8>>2];if((l[k[n>>2]>>0]|0|0)!=79?(l[k[n>>2]>>0]|0|0)!=73:0){if((l[k[n>>2]>>0]|0|0)==76){k[u>>2]=k[j>>2];$w(k[w>>2]|0,25,0,k[u>>2]|0)|0;v=k[q>>2]|0;w=k[p>>2]|0;zD(v,w);w=k[u>>2]|0;r=x;return w|0}k[m>>2]=k[(k[q>>2]|0)+64>>2];if(((k[(k[m>>2]|0)+36>>2]&1024|0)==0?(k[(k[m>>2]|0)+24+4>>2]|0)!=0:0)?(l[(k[(k[(k[m>>2]|0)+24+4>>2]|0)+28>>2]|0)+(k[h>>2]|0)>>0]|0|0)!=0:0)k[s>>2]=((k[s>>2]|0)!=0^1)&1;k[u>>2]=k[j>>2];b=ZA(k[g>>2]|0,k[n>>2]|0,4,0)|0;k[t>>2]=b;if((k[t>>2]|0)==4)k[s>>2]=((k[s>>2]|0)!=0^1)&1;k[o>>2]=k[(k[n>>2]|0)+28>>2];$w(k[w>>2]|0,(k[s>>2]|0)!=0?105:108,k[o>>2]|0,0)|0;n=(k[m>>2]|0)+36|0;k[n>>2]=k[n>>2]|2048;if(!(k[(k[q>>2]|0)+56>>2]|0)){n=Mz(k[w>>2]|0)|0;k[(k[q>>2]|0)+16>>2]=n}n=(k[q>>2]|0)+56|0;k[n>>2]=(k[n>>2]|0)+1;g=Fx(k[k[g>>2]>>2]|0,k[(k[q>>2]|0)+56+4>>2]|0,(k[(k[q>>2]|0)+56>>2]|0)*12|0,0)|0;k[(k[q>>2]|0)+56+4>>2]=g;k[v>>2]=k[(k[q>>2]|0)+56+4>>2];g=(k[q>>2]|0)+56|0;if(!(k[v>>2]|0)){k[g>>2]=0;v=k[q>>2]|0;w=k[p>>2]|0;zD(v,w);w=k[u>>2]|0;r=x;return w|0}k[v>>2]=(k[v>>2]|0)+(((k[g>>2]|0)-1|0)*12|0);k[k[v>>2]>>2]=k[o>>2];j=k[w>>2]|0;g=k[o>>2]|0;h=k[u>>2]|0;if((k[t>>2]|0)==1){t=$w(j,103,g,h)|0;k[(k[v>>2]|0)+4>>2]=t}else{t=dx(j,47,g,0,h)|0;k[(k[v>>2]|0)+4>>2]=t}i[(k[v>>2]|0)+8>>0]=(k[s>>2]|0)!=0?4:5;Hz(k[w>>2]|0,76,k[u>>2]|0)|0;v=k[q>>2]|0;w=k[p>>2]|0;zD(v,w);w=k[u>>2]|0;r=x;return w|0}v=IA(k[g>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[u>>2]=v;v=k[q>>2]|0;w=k[p>>2]|0;zD(v,w);w=k[u>>2]|0;r=x;return w|0}function zD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if(!(k[d>>2]|0)){c=14;break}if((m[(k[d>>2]|0)+20>>1]|0)&4){c=14;break}if((k[k[c>>2]>>2]|0)!=0?(k[(k[k[d>>2]>>2]|0)+4>>2]&1|0)==0:0){c=14;break}a=(k[c>>2]|0)+72|0;b=(k[d>>2]|0)+40|0;if(!((k[a>>2]&k[b>>2]|0)==0?(k[a+4>>2]&k[b+4>>2]|0)==0:0)){c=14;break}if((k[e>>2]|0)!=0?((m[(k[d>>2]|0)+20>>1]|0)&1024|0)!=0:0){b=(k[d>>2]|0)+20|0;j[b>>1]=m[b>>1]|0|512}else{b=(k[d>>2]|0)+20|0;j[b>>1]=m[b>>1]|0|4}if((k[(k[d>>2]|0)+4>>2]|0)<0){c=14;break}k[d>>2]=(k[(k[(k[d>>2]|0)+24>>2]|0)+20>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)*48|0);b=(k[d>>2]|0)+22|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;if(l[(k[d>>2]|0)+22>>0]|0){c=14;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==14){r=f;return}}function AD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;f=A+60|0;g=A+56|0;h=A+52|0;C=A+48|0;l=A+44|0;p=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;o=A+24|0;x=A+20|0;q=A+16|0;z=A+12|0;n=A+8|0;w=A+4|0;u=A;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[C>>2]=d;k[l>>2]=e;k[y>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[(k[g>>2]|0)+64>>2];j[p>>1]=j[(k[t>>2]|0)+24>>1]|0;j[s>>1]=j[(k[t>>2]|0)+42>>1]|0;k[B>>2]=k[(k[t>>2]|0)+24+4>>2];k[x>>2]=(k[(k[f>>2]|0)+76>>2]|0)+1;k[q>>2]=(m[(k[t>>2]|0)+24>>1]|0)+(k[C>>2]|0);e=(k[f>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+(k[q>>2]|0);e=k[k[f>>2]>>2]|0;e=xh(e,nC(k[k[f>>2]>>2]|0,k[B>>2]|0)|0)|0;k[z>>2]=e;a:do if(j[s>>1]|0){k[n>>2]=k[(k[g>>2]|0)+8>>2];Hz(k[y>>2]|0,(k[h>>2]|0)!=0?105:108,k[n>>2]|0)|0;C=gx(k[y>>2]|0,13)|0;k[o>>2]=C;C=Oh(k[y>>2]|0,(k[h>>2]|0)!=0?63:66,k[n>>2]|0,0,k[x>>2]|0,m[s>>1]|0)|0;k[(k[g>>2]|0)+20>>2]=C;Pz(k[y>>2]|0,k[o>>2]|0);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[s>>1]|0))break a;dx(k[y>>2]|0,47,k[n>>2]|0,k[o>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[o>>2]=m[s>>1];while(1){if((k[o>>2]|0)>=(m[p>>1]|0))break;k[v>>2]=k[(k[(k[t>>2]|0)+48>>2]|0)+(k[o>>2]<<2)>>2];C=yD(k[f>>2]|0,k[v>>2]|0,k[g>>2]|0,k[o>>2]|0,k[h>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;k[w>>2]=C;do if((k[w>>2]|0)!=((k[x>>2]|0)+(k[o>>2]|0)|0))if((k[q>>2]|0)==1){iA(k[f>>2]|0,k[x>>2]|0);k[x>>2]=k[w>>2];break}else{$w(k[y>>2]|0,31,k[w>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;break}while(0);if(!(m[(k[v>>2]|0)+18>>1]&257)){k[u>>2]=k[(k[k[v>>2]>>2]|0)+16>>2];if((m[(k[v>>2]|0)+20>>1]&2048|0)==0?($A(k[u>>2]|0)|0)!=0:0)$w(k[y>>2]|0,76,(k[x>>2]|0)+(k[o>>2]|0)|0,k[(k[g>>2]|0)+12>>2]|0)|0;if(k[z>>2]|0){if(((aB(k[u>>2]|0,i[(k[z>>2]|0)+(k[o>>2]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[z>>2]|0)+(k[o>>2]|0)>>0]=65;if(CD(k[u>>2]|0,i[(k[z>>2]|0)+(k[o>>2]|0)>>0]|0)|0)i[(k[z>>2]|0)+(k[o>>2]|0)>>0]=65}}k[o>>2]=(k[o>>2]|0)+1}k[k[l>>2]>>2]=k[z>>2];r=A;return k[x>>2]|0}function BD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[h>>2]=c;if(!((m[(k[h>>2]|0)+20>>1]|0)&256)){r=g;return}h=Wz(k[d>>2]|0,-1)|0;k[f>>2]=h;k[(k[f>>2]|0)+12>>2]=k[(k[e>>2]|0)+36>>2];i[(k[f>>2]|0)+3>>0]=1;r=g;return}function CD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+4|0;c=g;d=g+9|0;e=g+8|0;k[c>>2]=a;i[d>>0]=b;a:do if((i[d>>0]|0)==65)k[f>>2]=1;else{while(1){if((l[k[c>>2]>>0]|0)==156)a=1;else a=(l[k[c>>2]>>0]|0)==155;b=k[c>>2]|0;if(!a)break;k[c>>2]=k[b+12>>2]}i[e>>0]=i[b>>0]|0;if((l[e>>0]|0)==157)i[e>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[e>>0]|0){case 132:{if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 133:{if((i[d>>0]|0)==69)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 97:{k[f>>2]=(i[d>>0]|0)==66&1;break a}case 134:{k[f>>2]=1;break a}case 152:{if((j[(k[c>>2]|0)+32>>1]|0)<0)if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;else b=0;k[f>>2]=b&1;break a}default:{k[f>>2]=0;break a}}}while(0);r=g;return k[f>>2]|0}function DD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[h>>2]|0)){r=l;return}while(1){if((k[g>>2]|0)<=0)break;if((i[k[h>>2]>>0]|0)!=65)break;k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}while(1){if((k[g>>2]|0)>1)c=(i[(k[h>>2]|0)+((k[g>>2]|0)-1)>>0]|0)==65;else c=0;b=k[g>>2]|0;if(!c)break;k[g>>2]=b+-1}if((b|0)<=0){r=l;return}cx(k[j>>2]|0,48,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0,k[g>>2]|0)|0;MA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=l;return}function ED(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;n=r;r=r+48|0;o=n+32|0;e=n+28|0;p=n+24|0;q=n+20|0;h=n+16|0;l=n+12|0;g=n+8|0;i=n+4|0;f=n;k[o>>2]=a;k[e>>2]=b;k[p>>2]=c;k[q>>2]=d;k[h>>2]=k[k[o>>2]>>2];k[l>>2]=k[(k[h>>2]|0)+8>>2];dx(k[l>>2]|0,112,k[q>>2]|0,0,k[p>>2]|0)|0;if(!(m[(k[o>>2]|0)+34>>1]&32)){r=n;return}c=k[h>>2]|0;if(k[(k[h>>2]|0)+416>>2]|0)c=k[c+416>>2]|0;if(k[c+336>>2]|0){r=n;return}k[i>>2]=k[(k[e>>2]|0)+12>>2];q=zh(k[k[h>>2]>>2]|0,(j[(k[i>>2]|0)+34>>1]|0)+1<<2,0)|0;k[f>>2]=q;if(!(k[f>>2]|0)){r=n;return}k[k[f>>2]>>2]=j[(k[i>>2]|0)+34>>1];k[g>>2]=0;while(1){if((k[g>>2]|0)>=((m[(k[e>>2]|0)+52>>1]|0)-1|0))break;if((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)>=0)k[(k[f>>2]|0)+((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)+1<<2)>>2]=(k[g>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}Sh(k[l>>2]|0,-1,k[f>>2]|0,-15);r=n;return}function FD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=r;r=r+32|0;f=i+20|0;m=i+16|0;l=i+12|0;j=i+8|0;g=i+4|0;h=i;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[g>>2]=e;b=JA(k[f>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[g>>2]|0,0)|0;k[h>>2]=b;if((k[h>>2]|0)==(k[g>>2]|0)){r=i;return}$w(k[(k[f>>2]|0)+8>>2]|0,31,k[h>>2]|0,k[g>>2]|0)|0;r=i;return}function GD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(Wz(k[f>>2]|0,k[e>>2]|0)|0)+4|0;k[c>>2]=a;r=d;return}function HD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=r;r=r+144|0;l=p+132|0;u=p+128|0;t=p+124|0;s=p+120|0;h=p;i=p+116|0;q=p+112|0;o=p+108|0;n=p+104|0;j=p+8|0;k[u>>2]=a;k[t>>2]=b;k[s>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[i>>2]=f;k[q>>2]=g;k[o>>2]=0;a=ID(j,k[u>>2]|0,k[t>>2]|0,k[s>>2]|0,k[i>>2]|0,k[q>>2]|0)|0;k[n>>2]=a;k[i>>2]=k[i>>2]&130;while(1){if(!(k[n>>2]|0)){d=10;break}t=(k[n>>2]|0)+32|0;u=h;if((k[t>>2]&k[u>>2]|0)==0?(k[t+4>>2]&k[u+4>>2]|0)==0:0){u=(k[n>>2]|0)+32|0;if((k[u>>2]|0)==0&(k[u+4>>2]|0)==0?((m[(k[n>>2]|0)+18>>1]|0)&k[i>>2]|0)!=0:0){d=6;break}if(!(k[o>>2]|0))k[o>>2]=k[n>>2]}u=JD(j)|0;k[n>>2]=u}if((d|0)==6){k[l>>2]=k[n>>2];u=k[l>>2]|0;r=p;return u|0}else if((d|0)==10){k[l>>2]=k[o>>2];u=k[l>>2]|0;r=p;return u|0}return 0}function ID(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,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;g=p+24|0;q=p+20|0;h=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[q>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=0;k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[q>>2];k[(k[g>>2]|0)+12>>2]=0;if((k[n>>2]|0)!=0?(k[o>>2]=k[l>>2],k[l>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1],(k[l>>2]|0)==-2):0)k[(k[g>>2]|0)+12>>2]=k[(k[(k[(k[n>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2];if((k[n>>2]|0)!=0&(k[l>>2]|0)>=0){i[(k[g>>2]|0)+16>>0]=i[(k[(k[(k[n>>2]|0)+12>>2]|0)+4>>2]|0)+((k[l>>2]|0)*24|0)+21>>0]|0;k[(k[g>>2]|0)+8>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+(k[o>>2]<<2)>>2]}else{i[(k[g>>2]|0)+16>>0]=0;k[(k[g>>2]|0)+8>>2]=0}k[(k[g>>2]|0)+20>>2]=k[m>>2];k[(k[g>>2]|0)+24>>2]=0;k[(k[g>>2]|0)+28>>2]=k[h>>2];j[(k[g>>2]|0)+72>>1]=k[l>>2];i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+18>>0]=1;q=JD(k[g>>2]|0)|0;r=p;return q|0}function JD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;o=s+32|0;c=s+28|0;b=s+40|0;h=s+24|0;g=s+20|0;q=s+16|0;p=s+12|0;d=s+8|0;e=s+4|0;f=s;k[o>>2]=a;k[p>>2]=k[(k[o>>2]|0)+24>>2];a:while(1){if((l[(k[o>>2]|0)+18>>0]|0)>(l[(k[o>>2]|0)+17>>0]|0)){b=40;break}k[c>>2]=k[(k[o>>2]|0)+28+((l[(k[o>>2]|0)+18>>0]|0)-1<<2)>>2];j[b>>1]=j[(k[o>>2]|0)+72+((l[(k[o>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((j[b>>1]|0)==-2?(k[(k[o>>2]|0)+12>>2]|0)==0:0){b=5;break}while(1){a=k[(k[o>>2]|0)+4>>2]|0;k[g>>2]=a;if(!a)break;k[q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);while(1){if((k[p>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;do if((k[(k[q>>2]|0)+8>>2]|0)==(k[c>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==(j[b>>1]|0):0){if((j[b>>1]|0)==-2?(zy(k[(k[k[q>>2]>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[c>>2]|0)|0)!=0:0)break;if((l[(k[o>>2]|0)+18>>0]|0)>1?(k[(k[k[q>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((m[(k[q>>2]|0)+18>>1]&2048|0)!=0?(l[(k[o>>2]|0)+17>>0]|0)<11:0)?(a=by(k[(k[k[q>>2]>>2]|0)+16>>2]|0)|0,k[h>>2]=a,(l[a>>0]|0)==152):0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(l[(k[o>>2]|0)+17>>0]|0))break;if((k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]|0)==(k[(k[h>>2]|0)+28>>2]|0)?(j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]|0)==(j[(k[h>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)==(l[(k[o>>2]|0)+17>>0]|0)){k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]=k[(k[h>>2]|0)+28>>2];j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]=j[(k[h>>2]|0)+32>>1]|0;a=(k[o>>2]|0)+17|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}}if(m[(k[q>>2]|0)+18>>1]&k[(k[o>>2]|0)+20>>2]){if((k[(k[o>>2]|0)+8>>2]|0)!=0?(m[(k[q>>2]|0)+18>>1]&256|0)==0:0){k[f>>2]=k[k[k[g>>2]>>2]>>2];k[h>>2]=k[k[q>>2]>>2];if(!(eB(k[h>>2]|0,i[(k[o>>2]|0)+16>>0]|0)|0))break;a=dB(k[f>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[(k[h>>2]|0)+16>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0))k[e>>2]=k[(k[k[f>>2]>>2]|0)+8>>2];if(be(k[k[e>>2]>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0)break}if(!(m[(k[q>>2]|0)+18>>1]&130)){b=36;break a}a=k[(k[k[q>>2]>>2]|0)+16>>2]|0;k[h>>2]=a;if((l[a>>0]|0)!=152){b=36;break a}if((k[(k[h>>2]|0)+28>>2]|0)!=(k[(k[o>>2]|0)+28>>2]|0)){b=36;break a}if((j[(k[h>>2]|0)+32>>1]|0)!=(j[(k[o>>2]|0)+72>>1]|0)){b=36;break a}}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+48}k[(k[o>>2]|0)+4>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+4>>2];k[p>>2]=0}k[(k[o>>2]|0)+4>>2]=k[k[o>>2]>>2];k[p>>2]=0;a=(k[o>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}if((b|0)==5){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}else if((b|0)==36){k[(k[o>>2]|0)+24>>2]=(k[p>>2]|0)+1;k[n>>2]=k[q>>2];q=k[n>>2]|0;r=s;return q|0}else if((b|0)==40){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function KD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;kA(a,b,Sf(k[d>>2]|0)|0);r=c;return}function LD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;l=q;c=q+32|0;d=q+28|0;i=q+24|0;g=q+38|0;h=q+36|0;e=q+20|0;f=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+24+4>>2];j[g>>1]=j[(k[d>>2]|0)+24>>1]|0;j[h>>1]=j[(k[d>>2]|0)+42>>1]|0;if((m[g>>1]|0|0)==0?(k[(k[d>>2]|0)+36>>2]&48|0)==0:0){r=q;return}kA(k[c>>2]|0,35496,2);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[g>>1]|0|0))break;a=MD(k[i>>2]|0,k[e>>2]|0)|0;k[n>>2]=a;if(k[e>>2]|0)kA(k[c>>2]|0,35499,5);b=k[c>>2]|0;a=(k[e>>2]|0)>=(m[h>>1]|0|0)?35505:35510;k[l>>2]=k[n>>2];jA(b,a,l);k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=k[e>>2];if(k[(k[d>>2]|0)+36>>2]&32){l=MD(k[i>>2]|0,k[e>>2]|0)|0;k[o>>2]=l;l=k[c>>2]|0;n=k[e>>2]|0;k[e>>2]=n+1;ND(l,n,k[o>>2]|0,35427)}if(k[(k[d>>2]|0)+36>>2]&16){o=MD(k[i>>2]|0,k[f>>2]|0)|0;k[p>>2]=o;ND(k[c>>2]|0,k[e>>2]|0,k[p>>2]|0,35429)}kA(k[c>>2]|0,35518,1);r=q;return}function MD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];if((k[e>>2]|0)==-2){k[c>>2]=35520;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)==-1){k[c>>2]=25592;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+((k[e>>2]|0)*24|0)>>2];a=k[c>>2]|0;r=f;return a|0}return 0}function ND(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[i>>2]=b;k[f>>2]=c;k[g>>2]=d;if(k[i>>2]|0)kA(k[e>>2]|0,35499,5);KD(k[e>>2]|0,k[f>>2]|0);kA(k[e>>2]|0,k[g>>2]|0,1);kA(k[e>>2]|0,21139,1);r=h;return}function OD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=jB(k[e>>2]|0,3,k[d>>2]|0)|0;r=c;return a|0}function PD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l;j=l+20|0;k[f>>2]=a;k[g>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;if((k[(k[f>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+44>>2]|0)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if(!((m[(k[f>>2]|0)+18>>1]|0)&130)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}b=(k[f>>2]|0)+32|0;a=h;if((k[b>>2]&k[a>>2]|0)!=0?1:(k[b+4>>2]&k[a+4>>2]|0)!=0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if((k[(k[f>>2]|0)+12>>2]|0)<0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}i[j>>0]=i[(k[(k[(k[g>>2]|0)+16>>2]|0)+4>>2]|0)+((k[(k[f>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(eB(k[k[f>>2]>>2]|0,i[j>>0]|0)|0){k[e>>2]=1;a=k[e>>2]|0;r=l;return a|0}else{k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}return 0}function QD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+44>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[g>>2]=(k[g>>2]|0)+7&-8;b=Pw(k[e>>2]|0,k[g>>2]<<2,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}sR(k[h>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[f>>2]|0)+44>>1]|0)<<2|0)|0;if((k[(k[f>>2]|0)+48>>2]|0)!=((k[f>>2]|0)+56|0))ag(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0);k[(k[f>>2]|0)+48>>2]=k[h>>2];j[(k[f>>2]|0)+44>>1]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;r=i;return h|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,h=0,i=0,l=0,m=0,n=0;l=r;r=r+32|0;m=l+20|0;e=l+24|0;n=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[m>>2]=a;j[e>>1]=b;k[n>>2]=c;k[f>>2]=d;k[g>>2]=56+((j[e>>1]<<2)+7&-8)+(((j[e>>1]|0)+1<<1)+(j[e>>1]<<1)+(j[e>>1]|0)+7&-8);d=(k[g>>2]|0)+(k[n>>2]|0)|0;d=zh(k[m>>2]|0,d,((d|0)<0)<<31>>31)|0;k[h>>2]=d;if(!(k[h>>2]|0)){n=k[h>>2]|0;r=l;return n|0}k[i>>2]=(k[h>>2]|0)+56;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]<<2)+7&-8);k[(k[h>>2]|0)+8>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]|0)+1<<1);k[(k[h>>2]|0)+4>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+(j[e>>1]<<1);k[(k[h>>2]|0)+28>>2]=k[i>>2];j[(k[h>>2]|0)+52>>1]=j[e>>1]|0;j[(k[h>>2]|0)+50>>1]=(j[e>>1]|0)-1;k[k[f>>2]>>2]=(k[h>>2]|0)+(k[g>>2]|0);n=k[h>>2]|0;r=l;return n|0}function SD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+8|0;c=g+20|0;e=g+16|0;f=g;k[c>>2]=a;k[e>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[e>>2]|0)){e=d;k[e>>2]=0;k[e+4>>2]=0;e=d;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}b=k[c>>2]|0;a=k[e>>2]|0;if((l[k[e>>2]>>0]|0|0)==152){e=xD(b,k[a+28>>2]|0)|0;c=f;k[c>>2]=e;k[c+4>>2]=L;c=f;f=k[c+4>>2]|0;e=d;k[e>>2]=k[c>>2];k[e+4>>2]=f;e=d;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}i=SD(b,k[a+16>>2]|0)|0;h=f;k[h>>2]=i;k[h+4>>2]=L;h=SD(k[c>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0;i=f;a=k[i+4>>2]|L;b=f;k[b>>2]=k[i>>2]|h;k[b+4>>2]=a;b=k[c>>2]|0;a=(k[e>>2]|0)+20|0;if(k[(k[e>>2]|0)+4>>2]&2048){e=TD(b,k[a>>2]|0)|0;c=f;h=k[c+4>>2]|L;i=f;k[i>>2]=k[c>>2]|e;k[i+4>>2]=h}else{e=tD(b,k[a>>2]|0)|0;c=f;h=k[c+4>>2]|L;i=f;k[i>>2]=k[c>>2]|e;k[i+4>>2]=h}i=k[f+4>>2]|0;h=d;k[h>>2]=k[f>>2];k[h+4>>2]=i;h=d;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function TD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;f=h;g=h+12|0;e=h+8|0;k[c>>2]=a;k[d>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+32>>2];i=tD(k[c>>2]|0,k[k[d>>2]>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=tD(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;j=tD(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|j;k[a+4>>2]=b;a=SD(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0;b=f;j=k[b+4>>2]|L;i=f;k[i>>2]=k[b>>2]|a;k[i+4>>2]=j;i=SD(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;a:do if(k[g>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[g>>2]>>2]|0))break a;i=TD(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+20>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=SD(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+48>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[d>>2]=k[(k[d>>2]|0)+52>>2]}j=f;L=k[j+4>>2]|0;r=h;return k[j>>2]|0}function UD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f+2|0;e=f;j[d>>1]=a;j[e>>1]=b;if((j[d>>1]|0)>=(j[e>>1]|0)){a=j[d>>1]|0;if((j[d>>1]|0)>((j[e>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[d>>1]|0;if((a<<16>>16|0)>((j[e>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[35582+((j[d>>1]|0)-(j[e>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}else{a=j[e>>1]|0;if((j[e>>1]|0)>((j[d>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[e>>1]|0;if((a<<16>>16|0)>((j[d>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[35582+((j[e>>1]|0)-(j[d>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}return 0}function VD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=r;r=r+144|0;W=$+141|0;h=$+120|0;n=$+116|0;o=$+112|0;p=$+132|0;q=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;F=$+128|0;E=$+126|0;G=$+124|0;z=$+100|0;X=$+96|0;C=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;K=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;H=$+32|0;I=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;J=$+48|0;D=$+8|0;Y=$;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;j[p>>1]=d;j[q>>1]=e;k[s>>2]=f;k[t>>2]=g;k[N>>2]=0;k[v>>2]=k[k[k[h>>2]>>2]>>2];d=Z;k[d>>2]=0;k[d+4>>2]=0;if((m[q>>1]|0)!=0?(m[(k[v>>2]|0)+60>>1]&128|0)!=0:0){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}j[G>>1]=k[k[n>>2]>>2];if((m[G>>1]|0)>63){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}i[B>>0]=1;a=vR(1,0,m[G>>1]|0)|0;a=pR(a|0,L|0,1,0)|0;d=H;k[d>>2]=a;k[d+4>>2]=L;d=I;k[d>>2]=0;k[d+4>>2]=0;d=Q;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;while(1){if(!(l[B>>0]|0))break;a=Z;c=k[a+4>>2]|0;d=H;g=k[d+4>>2]|0;if(!(c>>>0>>0|((c|0)==(g|0)?(k[a>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)))break;if((k[z>>2]|0)>(m[q>>1]|0))break;if((k[z>>2]|0)>0){g=(k[N>>2]|0)+8|0;c=Q;a=k[c+4>>2]|k[g+4>>2];d=Q;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a}if((k[z>>2]|0)<(m[q>>1]|0))e=k[(k[(k[o>>2]|0)+24>>2]|0)+(k[z>>2]<<2)>>2]|0;else e=k[s>>2]|0;k[N>>2]=e;e=k[N>>2]|0;if(k[(k[N>>2]|0)+36>>2]&1024){_=16;break}k[y>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+8+((l[e+16>>0]|0)*72|0)+44>>2];k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[G>>1]|0))break;a=vR(1,0,k[X>>2]|0)|0;d=Z;do if(((!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)?(d=by(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0,k[O>>2]=d,(l[k[O>>2]>>0]|0)==152):0)?(k[(k[O>>2]|0)+28>>2]|0)==(k[y>>2]|0):0)?(d=Q,d=HD((k[h>>2]|0)+328|0,k[y>>2]|0,j[(k[O>>2]|0)+32>>1]|0,~k[d>>2],~k[d+4>>2],386,0)|0,k[P>>2]=d,(k[P>>2]|0)!=0):0){if((m[(k[P>>2]|0)+18>>1]&130|0)!=0?(j[(k[O>>2]|0)+32>>1]|0)>=0:0){d=Yx(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];k[U>>2]=k[k[K>>2]>>2];d=Yx(k[k[h>>2]>>2]|0,k[k[P>>2]>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];k[V>>2]=k[k[K>>2]>>2];if(be(k[U>>2]|0,k[V>>2]|0)|0)break}g=vR(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}while(0);k[X>>2]=(k[X>>2]|0)+1}if(!(k[(k[N>>2]|0)+36>>2]&4096)){if(k[(k[N>>2]|0)+36>>2]&256){k[M>>2]=0;j[F>>1]=0;j[E>>1]=1}else{d=k[(k[N>>2]|0)+24+4>>2]|0;k[M>>2]=d;if(!d){_=38;break}if((l[(k[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}j[F>>1]=j[(k[M>>2]|0)+50>>1]|0;j[E>>1]=j[(k[M>>2]|0)+52>>1]|0;i[B>>0]=(l[(k[M>>2]|0)+54>>0]|0)!=0}i[T>>0]=0;i[R>>0]=0;i[w>>0]=0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[E>>1]|0))break;if(((k[C>>2]|0)<(m[(k[N>>2]|0)+24>>1]|0)?(m[(k[N>>2]|0)+42>>1]|0)==0:0)?(d=m[(k[(k[(k[N>>2]|0)+48>>2]|0)+(k[C>>2]<<2)>>2]|0)+18>>1]|0,k[X>>2]=d,(d&386|0)!=0):0){if(k[X>>2]&256)i[B>>0]=0}else{if(k[M>>2]|0){k[x>>2]=j[(k[(k[M>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1];i[S>>0]=i[(k[(k[M>>2]|0)+28>>2]|0)+(k[C>>2]|0)>>0]|0;if((k[x>>2]|0)==(j[(k[(k[M>>2]|0)+12>>2]|0)+32>>1]|0))k[x>>2]=-1}else{k[x>>2]=-1;i[S>>0]=0}do if((l[B>>0]|0)!=0&(k[x>>2]|0)>=0?(k[C>>2]|0)>=(m[(k[N>>2]|0)+24>>1]|0):0){if(l[(k[(k[(k[M>>2]|0)+12>>2]|0)+4>>2]|0)+((k[x>>2]|0)*24|0)+20>>0]|0)break;i[B>>0]=0}while(0);i[u>>0]=1;i[A>>0]=0;k[X>>2]=0;a:while(1){if(!(l[u>>0]|0))break;if((k[X>>2]|0)>=(m[G>>1]|0))break;a=vR(1,0,k[X>>2]|0)|0;d=Z;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){d=by(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[O>>2]=d;if(!(m[p>>1]&768))i[u>>0]=0;e=k[O>>2]|0;if((k[x>>2]|0)>=-1){if((l[e>>0]|0)!=152)break;if((k[(k[O>>2]|0)+28>>2]|0)!=(k[y>>2]|0))break;if((j[(k[O>>2]|0)+32>>1]|0)!=(k[x>>2]|0))break}else if(zy(e,k[(k[(k[(k[M>>2]|0)+40>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,k[y>>2]|0)|0)break;if((k[x>>2]|0)<0){_=70;break a}d=Yx(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];if(!(be(k[k[K>>2]>>2]|0,k[(k[(k[M>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);k[X>>2]=(k[X>>2]|0)+1}if((_|0)==70){_=0;i[A>>0]=1}do if(l[A>>0]|0){if(m[p>>1]&256)break;if(i[T>>0]|0){if((l[R>>0]^l[S>>0]|0)==(l[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+12>>0]|0))break;i[A>>0]=0;break}i[R>>0]=l[S>>0]^l[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+12>>0];if(i[R>>0]|0){g=vR(1,0,k[z>>2]|0)|0;d=k[t>>2]|0;c=d;a=k[c+4>>2]|L;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}i[T>>0]=1}while(0);if(!(i[A>>0]|0)){_=84;break}if((k[x>>2]|0)<0)i[w>>0]=1;g=vR(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}k[C>>2]=(k[C>>2]|0)+1}do if((_|0)==84){_=0;if((k[C>>2]|0)!=0?(k[C>>2]|0)>=(m[F>>1]|0):0)break;i[B>>0]=0}while(0);if(i[w>>0]|0)i[B>>0]=1}b:do if(i[B>>0]|0){g=(k[N>>2]|0)+8|0;c=I;a=k[c+4>>2]|k[g+4>>2];d=I;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[G>>1]|0))break b;a=vR(1,0,k[X>>2]|0)|0;d=Z;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){k[J>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2];a=SD((k[h>>2]|0)+68|0,k[J>>2]|0)|0;d=D;k[d>>2]=a;k[d+4>>2]=L;d=D;if((k[d>>2]|0)==0&(k[d+4>>2]|0)==0?(PA(k[J>>2]|0)|0)==0:0)break;a=D;d=I;if((k[a>>2]&~k[d>>2]|0)==0?(k[a+4>>2]&~k[d+4>>2]|0)==0:0){g=vR(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}}while(0);k[X>>2]=(k[X>>2]|0)+1}}while(0);k[z>>2]=(k[z>>2]|0)+1}if((_|0)==16){if(i[e+24+5>>0]|0){U=H;V=k[U+4>>2]|0;_=Z;k[_>>2]=k[U>>2];k[_+4>>2]=V}}else if((_|0)==38){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}V=Z;_=H;if((k[V>>2]|0)==(k[_>>2]|0)?(k[V+4>>2]|0)==(k[_+4>>2]|0):0){i[W>>0]=j[G>>1];_=i[W>>0]|0;r=$;return _|0}if(i[B>>0]|0){i[W>>0]=-1;_=i[W>>0]|0;r=$;return _|0}k[X>>2]=(m[G>>1]|0)-1;while(1){if((k[X>>2]|0)<=0){_=108;break}V=vR(1,0,k[X>>2]|0)|0;V=pR(V|0,L|0,1,0)|0;U=Y;k[U>>2]=V;k[U+4>>2]=L;U=Z;V=Y;_=Y;e=k[X>>2]|0;if((k[U>>2]&k[V>>2]|0)==(k[_>>2]|0)?(k[U+4>>2]&k[V+4>>2]|0)==(k[_+4>>2]|0):0){_=106;break}k[X>>2]=e+-1}if((_|0)==106){i[W>>0]=e;_=i[W>>0]|0;r=$;return _|0}else if((_|0)==108){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}return 0}function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;g=e+12|0;h=e+4|0;i=e;f=e+10|0;d=e+8|0;j[g>>1]=a;k[h>>2]=b;k[i>>2]=c;c=(((k[h>>2]|0)-(k[i>>2]|0)|0)*100|0)/(k[h>>2]|0)|0;c=((Rj(c,((c|0)<0)<<31>>31)|0)<<16>>16)-66&65535;j[f>>1]=c;c=j[g>>1]|0;c=c+((XD(j[g>>1]|0)|0)<<16>>16)|0;j[d>>1]=c+(j[f>>1]|0)+16;r=e;return j[d>>1]|0}function XD(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;j[b>>1]=a;if((j[b>>1]|0)<=10){a=0;a=a&65535;r=c;return a|0}a=j[b>>1]|0;a=((Rj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;r=c;return a|0}function YD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;K=r;r=r+112|0;I=K+16|0;f=K+104|0;g=K+100|0;h=K+8|0;L=K;M=K+96|0;z=K+92|0;E=K+88|0;A=K+84|0;B=K+80|0;n=K+76|0;x=K+72|0;w=K+68|0;D=K+64|0;C=K+60|0;o=K+56|0;t=K+52|0;s=K+48|0;u=K+44|0;v=K+40|0;G=K+36|0;H=K+32|0;q=K+28|0;y=K+24|0;F=K+20|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=L;k[a>>2]=d;k[a+4>>2]=e;k[G>>2]=0;k[H>>2]=0;k[F>>2]=0;k[M>>2]=k[k[g>>2]>>2];k[z>>2]=k[k[M>>2]>>2];k[n>>2]=k[k[z>>2]>>2];k[E>>2]=k[(k[g>>2]|0)+4>>2];k[y>>2]=k[(k[g>>2]|0)+12>>2];k[A>>2]=(k[(k[M>>2]|0)+4>>2]|0)+8+((l[(k[y>>2]|0)+16>>0]|0)*72|0);k[B>>2]=k[(k[A>>2]|0)+16>>2];a=L;a=pE(k[z>>2]|0,k[E>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[A>>2]|0,k[(k[g>>2]|0)+8>>2]|0)|0;k[x>>2]=a;if(!(k[x>>2]|0)){k[f>>2]=7;M=k[f>>2]|0;r=K;return M|0}M=k[y>>2]|0;k[M>>2]=0;k[M+4>>2]=0;j[(k[y>>2]|0)+18>>1]=0;k[(k[y>>2]|0)+36>>2]=1024;j[(k[y>>2]|0)+40>>1]=0;i[(k[y>>2]|0)+24+4>>0]=0;k[D>>2]=k[(k[x>>2]|0)+16>>2];k[v>>2]=k[k[x>>2]>>2];if(QD(k[n>>2]|0,k[y>>2]|0,k[v>>2]|0)|0){ag(k[n>>2]|0,k[x>>2]|0);k[f>>2]=7;M=k[f>>2]|0;r=K;return M|0}k[q>>2]=0;a:while(1){if((k[q>>2]|0)>3)break;if(((k[G>>2]|0)==0?(k[q>>2]&1|0)!=0:0)?(k[q>>2]=(k[q>>2]|0)+1,(k[q>>2]|0)>3):0)break;if((k[H>>2]|0)==0&(k[q>>2]|0)>1)break;k[w>>2]=k[(k[x>>2]|0)+4>>2];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[x>>2]>>2]|0))break;k[t>>2]=k[(k[w>>2]|0)+8>>2];k[C>>2]=(k[(k[E>>2]|0)+20>>2]|0)+((k[t>>2]|0)*48|0);b:do switch(k[q>>2]|0){case 0:{i[(k[w>>2]|0)+5>>0]=0;if(m[(k[C>>2]|0)+18>>1]&1)k[G>>2]=1;L=(k[C>>2]|0)+32|0;M=h;if((k[L>>2]&~k[M>>2]|0)!=0?1:(k[L+4>>2]&~k[M+4>>2]|0)!=0){k[H>>2]=1;break b}if(!(m[(k[C>>2]|0)+18>>1]&1))i[(k[w>>2]|0)+5>>0]=1;break}case 1:{L=(k[C>>2]|0)+32|0;M=h;i[(k[w>>2]|0)+5>>0]=((k[L>>2]&~k[M>>2]|0)==0?(k[L+4>>2]&~k[M+4>>2]|0)==0:0)&1;break}case 2:{i[(k[w>>2]|0)+5>>0]=(m[(k[C>>2]|0)+18>>1]&1|0)==0;break}default:i[(k[w>>2]|0)+5>>0]=1}while(0);k[o>>2]=(k[o>>2]|0)+1;k[w>>2]=(k[w>>2]|0)+12}uR(k[D>>2]|0,0,k[k[x>>2]>>2]<<3|0)|0;if(k[(k[x>>2]|0)+28>>2]|0)Ud(k[(k[x>>2]|0)+24>>2]|0);k[(k[x>>2]|0)+24>>2]=0;k[(k[x>>2]|0)+20>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[(k[x>>2]|0)+32>>2]=0;p[(k[x>>2]|0)+40>>3]=5.e+98;a=(k[x>>2]|0)+48|0;k[a>>2]=25;k[a+4>>2]=0;k[(k[x>>2]|0)+56>>2]=0;a=(k[A>>2]|0)+56|0;L=k[a+4>>2]|0;M=(k[x>>2]|0)+64|0;k[M>>2]=k[a>>2];k[M+4>>2]=L;M=qE(k[z>>2]|0,k[B>>2]|0,k[x>>2]|0)|0;k[F>>2]=M;if(k[F>>2]|0)break;k[w>>2]=k[(k[x>>2]|0)+4>>2];a=h;L=k[a+4>>2]|0;M=k[y>>2]|0;k[M>>2]=k[a>>2];k[M+4>>2]=L;k[u>>2]=-1;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[v>>2]|0))break;k[(k[(k[y>>2]|0)+48>>2]|0)+(k[o>>2]<<2)>>2]=0;k[o>>2]=(k[o>>2]|0)+1}j[(k[y>>2]|0)+24+6>>1]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[v>>2]|0))break;M=(k[(k[D>>2]|0)+(k[o>>2]<<3)>>2]|0)-1|0;k[s>>2]=M;if((M|0)>=0){k[t>>2]=k[(k[w>>2]|0)+8>>2];if((k[t>>2]|0)<0?1:(k[s>>2]|0)>=(k[v>>2]|0)){J=36;break a}if((k[t>>2]|0)>=(k[(k[E>>2]|0)+12>>2]|0)){J=36;break a}if(k[(k[(k[y>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]|0){J=36;break a}k[C>>2]=(k[(k[E>>2]|0)+20>>2]|0)+((k[t>>2]|0)*48|0);a=(k[C>>2]|0)+32|0;M=k[y>>2]|0;e=M;L=k[e+4>>2]|k[a+4>>2];k[M>>2]=k[e>>2]|k[a>>2];k[M+4>>2]=L;k[(k[(k[y>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]=k[C>>2];if((k[s>>2]|0)>(k[u>>2]|0))k[u>>2]=k[s>>2];if((k[s>>2]|0)<16?(l[(k[D>>2]|0)+(k[o>>2]<<3)+4>>0]|0)!=0:0){M=(k[y>>2]|0)+24+6|0;j[M>>1]=m[M>>1]|1<>2]}if(m[(k[C>>2]|0)+18>>1]&1){if(!(l[(k[D>>2]|0)+(k[o>>2]<<3)+4>>0]|0))break;k[(k[x>>2]|0)+32>>2]=0;M=(k[x>>2]|0)+56|0;k[M>>2]=k[M>>2]&-2}}k[o>>2]=(k[o>>2]|0)+1;k[w>>2]=(k[w>>2]|0)+12}if((k[o>>2]|0)>=(k[v>>2]|0)){j[(k[y>>2]|0)+40>>1]=(k[u>>2]|0)+1;k[(k[y>>2]|0)+24>>2]=k[(k[x>>2]|0)+20>>2];i[(k[y>>2]|0)+24+4>>0]=k[(k[x>>2]|0)+28>>2];k[(k[x>>2]|0)+28>>2]=0;k[(k[y>>2]|0)+24+8>>2]=k[(k[x>>2]|0)+24>>2];if(k[(k[x>>2]|0)+32>>2]|0)b=k[(k[x>>2]|0)+8>>2]|0;else b=0;i[(k[y>>2]|0)+24+5>>0]=b;j[(k[y>>2]|0)+18>>1]=0;b=rE(+p[(k[x>>2]|0)+40>>3])|0;j[(k[y>>2]|0)+20>>1]=b;b=(k[x>>2]|0)+48|0;b=Rj(k[b>>2]|0,k[b+4>>2]|0)|0;j[(k[y>>2]|0)+22>>1]=b;b=(k[y>>2]|0)+36|0;c=k[b>>2]|0;if(k[(k[x>>2]|0)+56>>2]&1)k[b>>2]=c|4096;else k[b>>2]=c&-4097;bE(k[g>>2]|0,k[y>>2]|0)|0;if(i[(k[y>>2]|0)+24+4>>0]|0){Ud(k[(k[y>>2]|0)+24+8>>2]|0);i[(k[y>>2]|0)+24+4>>0]=0}}k[q>>2]=(k[q>>2]|0)+1}if((J|0)==36){k[F>>2]=1;M=k[z>>2]|0;k[I>>2]=k[k[B>>2]>>2];Kh(M,35614,I)}if(k[(k[x>>2]|0)+28>>2]|0)Ud(k[(k[x>>2]|0)+24>>2]|0);ag(k[n>>2]|0,k[x>>2]|0);k[f>>2]=k[F>>2];M=k[f>>2]|0;r=K;return M|0}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+144|0;d=D+128|0;e=D+8|0;y=D+124|0;s=D+120|0;B=D+64|0;g=D+140|0;f=D+136|0;E=D+56|0;t=D+52|0;q=D+48|0;C=D+44|0;n=D+40|0;h=D+36|0;A=D+134|0;z=D+132|0;w=D+32|0;u=D+28|0;p=D+24|0;v=D+20|0;x=D+16|0;o=D;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;j[f>>1]=-1;k[C>>2]=0;k[n>>2]=1;k[q>>2]=k[(k[d>>2]|0)+12>>2];k[y>>2]=k[k[d>>2]>>2];k[E>>2]=k[(k[y>>2]|0)+4>>2];k[t>>2]=(k[E>>2]|0)+8+((l[(k[q>>2]|0)+16>>0]|0)*72|0);k[u>>2]=k[(k[t>>2]|0)+16>>2];k[w>>2]=k[(k[d>>2]|0)+4>>2];do if(k[(k[t>>2]|0)+68>>2]|0)k[s>>2]=k[(k[t>>2]|0)+68>>2];else{if(l[(k[u>>2]|0)+42>>0]&32){k[s>>2]=k[(k[u>>2]|0)+8>>2];break}b=B;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j[B+50>>1]=1;j[B+52>>1]=1;k[B+4>>2]=f;k[B+8>>2]=g;i[B+54>>0]=5;k[B+12>>2]=k[u>>2];j[B+48>>1]=j[(k[u>>2]|0)+40>>1]|0;j[g>>1]=j[(k[u>>2]|0)+38>>1]|0;j[g+2>>1]=0;k[p>>2]=k[(k[(k[t>>2]|0)+16>>2]|0)+8>>2];if(!(i[(k[t>>2]|0)+36+1>>0]&1))k[B+20>>2]=k[p>>2];k[s>>2]=B}while(0);j[A>>1]=j[(k[u>>2]|0)+38>>1]|0;E=XD(j[A>>1]|0)|0;j[z>>1]=E;a:do if((((((((k[(k[d>>2]|0)+16>>2]|0)==0?(m[(k[y>>2]|0)+34>>1]&128|0)==0:0)?(k[(k[k[k[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(k[(k[t>>2]|0)+68>>2]|0)==0:0)?(i[(k[t>>2]|0)+36+1>>0]&1|0)==0:0)?(l[(k[u>>2]|0)+42>>0]&32|0)==0:0)?((l[(k[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((l[(k[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[v>>2]=k[(k[w>>2]|0)+20>>2];while(1){if(k[C>>2]|0)break a;if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break a;B=(k[v>>2]|0)+32|0;E=(k[q>>2]|0)+8|0;if(!((k[B>>2]&k[E>>2]|0)!=0?1:(k[B+4>>2]&k[E+4>>2]|0)!=0)?(PD(k[v>>2]|0,k[t>>2]|0,0,0)|0)!=0:0){j[(k[q>>2]|0)+24>>1]=1;j[(k[q>>2]|0)+42>>1]=0;k[(k[q>>2]|0)+24+4>>2]=0;j[(k[q>>2]|0)+40>>1]=1;k[k[(k[q>>2]|0)+48>>2]>>2]=k[v>>2];j[(k[q>>2]|0)+18>>1]=(j[z>>1]|0)+(j[A>>1]|0)+4;if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+42>>0]&2|0)==0:0){E=(k[q>>2]|0)+18|0;j[E>>1]=(j[E>>1]|0)+24}j[(k[q>>2]|0)+22>>1]=43;g=UD(j[z>>1]|0,j[(k[q>>2]|0)+22>>1]|0)|0;j[(k[q>>2]|0)+20>>1]=g;k[(k[q>>2]|0)+36>>2]=16384;g=e;p=(k[v>>2]|0)+32|0;B=k[g+4>>2]|k[p+4>>2];E=k[q>>2]|0;k[E>>2]=k[g>>2]|k[p>>2];k[E+4>>2]=B;E=bE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E}k[v>>2]=(k[v>>2]|0)+48}}while(0);b:while(1){if(!((k[C>>2]|0)==0?(k[s>>2]|0)!=0:0)){b=46;break}if(!((k[(k[s>>2]|0)+36>>2]|0)!=0?(gE(k[(k[t>>2]|0)+44>>2]|0,k[w>>2]|0,k[(k[s>>2]|0)+36>>2]|0)|0)==0:0)){j[A>>1]=j[k[(k[s>>2]|0)+8>>2]>>1]|0;j[(k[q>>2]|0)+24>>1]=0;j[(k[q>>2]|0)+42>>1]=0;j[(k[q>>2]|0)+40>>1]=0;i[(k[q>>2]|0)+17>>0]=0;j[(k[q>>2]|0)+18>>1]=0;z=e;B=k[z+4>>2]|0;E=k[q>>2]|0;k[E>>2]=k[z>>2];k[E+4>>2]=B;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;k[(k[q>>2]|0)+24+4>>2]=k[s>>2];E=hE(k[d>>2]|0,k[s>>2]|0,k[(k[t>>2]|0)+44>>2]|0)|0;k[h>>2]=E;do if((k[(k[s>>2]|0)+44>>2]|0)<=0){k[(k[q>>2]|0)+36>>2]=256;i[(k[q>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[n>>2]|0:0;j[(k[q>>2]|0)+20>>1]=(j[A>>1]|0)+16;iE(k[w>>2]|0,k[q>>2]|0,j[A>>1]|0);E=bE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;if(k[C>>2]|0){b=46;break b}}else{if((l[(k[s>>2]|0)+55>>0]|0)>>>5&1){k[(k[q>>2]|0)+36>>2]=576;E=o;k[E>>2]=0;k[E+4>>2]=0}else{B=(k[t>>2]|0)+56|0;x=k[B>>2]|0;B=k[B+4>>2]|0;z=jE(k[s>>2]|0)|0;E=o;k[E>>2]=x&~z;k[E+4>>2]=B&~L;E=o;k[(k[q>>2]|0)+36>>2]=(k[E>>2]|0)==0&(k[E+4>>2]|0)==0?576:512}if((k[h>>2]|0)==0?(l[(k[u>>2]|0)+42>>0]&32|0)==0:0){E=o;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))break;if((l[(k[s>>2]|0)+55>>0]|0)>>>2&1)break;if((j[(k[s>>2]|0)+48>>1]|0)>=(j[(k[u>>2]|0)+40>>1]|0))break;if(!((k[6]|0)!=0?(m[(k[y>>2]|0)+34>>1]&4|0)==0:0))break;if(m[(k[k[k[y>>2]>>2]>>2]|0)+60>>1]&64)break}i[(k[q>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[n>>2]|0:0;j[(k[q>>2]|0)+20>>1]=(j[A>>1]|0)+1+(((j[(k[s>>2]|0)+48>>1]|0)*15|0)/(j[(k[u>>2]|0)+40>>1]|0)|0);E=o;if((k[E>>2]|0)!=0|(k[E+4>>2]|0)!=0){E=UD(j[(k[q>>2]|0)+20>>1]|0,(j[A>>1]|0)+16&65535)|0;j[(k[q>>2]|0)+20>>1]=E}iE(k[w>>2]|0,k[q>>2]|0,j[A>>1]|0);E=bE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;if(k[C>>2]|0){b=46;break b}}while(0);E=kE(k[d>>2]|0,k[t>>2]|0,k[s>>2]|0,0)|0;k[C>>2]=E;if(k[(k[t>>2]|0)+68>>2]|0){b=46;break}}k[s>>2]=k[(k[s>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if((b|0)==46){r=D;return k[C>>2]|0}return 0}function _D(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+672|0;g=I+668|0;h=I+584|0;n=I+576|0;f=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;p=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;o=I+596|0;q=I+592|0;D=I;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[f>>2]=k[k[g>>2]>>2];k[B>>2]=0;k[z>>2]=k[(k[g>>2]|0)+4>>2];k[A>>2]=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+12>>2]|0)*48|0);k[u>>2]=k[(k[g>>2]|0)+12>>2];b=F;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[t>>2]=(k[(k[f>>2]|0)+4>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[t>>2]|0)+44>>2];k[y>>2]=k[(k[z>>2]|0)+20>>2];while(1){if(!((k[y>>2]|0)>>>0<(k[A>>2]|0)>>>0?(k[B>>2]|0)==0:0))break;a:do if((m[(k[y>>2]|0)+18>>1]&512|0)!=0?(a=(k[(k[y>>2]|0)+12>>2]|0)+408|0,f=(k[u>>2]|0)+8|0,(k[a>>2]&k[f>>2]|0)!=0?1:(k[a+4>>2]&k[f+4>>2]|0)!=0):0){k[w>>2]=k[(k[y>>2]|0)+12>>2];k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[s>>2]=1;f=k[g>>2]|0;k[E>>2]=k[f>>2];k[E+4>>2]=k[f+4>>2];k[E+8>>2]=k[f+8>>2];k[E+12>>2]=k[f+12>>2];k[E+16>>2]=k[f+16>>2];k[E+8>>2]=0;k[E+16>>2]=C;k[v>>2]=k[(k[w>>2]|0)+20>>2];b:while(1){if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;b=k[v>>2]|0;if(!(m[(k[v>>2]|0)+18>>1]&1024)){if((k[b+8>>2]|0)==(k[p>>2]|0)){k[G>>2]=k[k[z>>2]>>2];k[G+4>>2]=k[z>>2];i[G+8>>0]=72;k[G+12>>2]=1;k[G+20>>2]=k[v>>2];k[E+4>>2]=G;H=11}}else{k[E+4>>2]=k[b+12>>2];H=11}c:do if((H|0)==11){H=0;j[C>>1]=0;c=h;b=k[c>>2]|0;c=k[c+4>>2]|0;if(l[(k[(k[t>>2]|0)+16>>2]|0)+42>>0]&16){f=n;f=YD(E,b,c,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}else{f=ZD(E,b,c)|0;k[B>>2]=f}if(!(k[B>>2]|0)){a=h;f=n;f=_D(E,k[a>>2]|0,k[a+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}if(!(m[C>>1]|0)){H=17;break b}if(k[s>>2]|0){$D(F,C);k[s>>2]=0;break}$D(D,F);j[F>>1]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[D>>1]|0))break c;k[q>>2]=0;while(1){b=k[o>>2]|0;if((k[q>>2]|0)>=(m[C>>1]|0))break;f=D+8+(b<<4)|0;a=C+8+(k[q>>2]<<4)|0;e=k[f>>2]|k[a>>2];a=k[f+4>>2]|k[a+4>>2];f=UD(j[D+8+(k[o>>2]<<4)+8>>1]|0,j[C+8+(k[q>>2]<<4)+8>>1]|0)|0;aE(F,e,a,f,UD(j[D+8+(k[o>>2]<<4)+10>>1]|0,j[C+8+(k[q>>2]<<4)+10>>1]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+1}k[o>>2]=b+1}}while(0);k[v>>2]=(k[v>>2]|0)+48}if((H|0)==17){H=0;j[F>>1]=0}j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];k[(k[u>>2]|0)+36>>2]=8192;j[(k[u>>2]|0)+18>>1]=0;i[(k[u>>2]|0)+17>>0]=0;f=(k[u>>2]|0)+24|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[o>>2]=0;while(1){if(k[B>>2]|0)break a;if((k[o>>2]|0)>=(m[F>>1]|0))break a;j[(k[u>>2]|0)+20>>1]=(j[F+8+(k[o>>2]<<4)+8>>1]|0)+1;j[(k[u>>2]|0)+22>>1]=j[F+8+(k[o>>2]<<4)+10>>1]|0;e=F+8+(k[o>>2]<<4)|0;a=k[e+4>>2]|0;f=k[u>>2]|0;k[f>>2]=k[e>>2];k[f+4>>2]=a;f=bE(k[g>>2]|0,k[u>>2]|0)|0;k[B>>2]=f;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[y>>2]=(k[y>>2]|0)+48}r=I;return k[B>>2]|0}function $D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;j[k[d>>2]>>1]=j[k[e>>2]>>1]|0;sR((k[d>>2]|0)+8|0,(k[e>>2]|0)+8|0,(m[k[d>>2]>>1]|0)<<4|0)|0;r=c;return}function aE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+16|0;h=q+12|0;i=q;l=q+24|0;n=q+22|0;o=q+20|0;p=q+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;j[l>>1]=d;j[n>>1]=e;j[o>>1]=j[k[h>>2]>>1]|0;k[p>>2]=(k[h>>2]|0)+8;while(1){if((m[o>>1]|0)<=0){f=9;break}if((j[l>>1]|0)<=(j[(k[p>>2]|0)+8>>1]|0)?(e=i,a=k[p>>2]|0,d=i,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0)break;if((j[(k[p>>2]|0)+8>>1]|0)<=(j[l>>1]|0)?(e=k[p>>2]|0,a=i,d=k[p>>2]|0,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0){f=7;break}j[o>>1]=(j[o>>1]|0)+-1<<16>>16;k[p>>2]=(k[p>>2]|0)+16}if((f|0)==7){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}do if((f|0)==9){b=k[h>>2]|0;if((m[k[h>>2]>>1]|0)<3){o=j[b>>1]|0;j[b>>1]=o+1<<16>>16;k[p>>2]=(k[h>>2]|0)+8+((o&65535)<<4);j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;break}k[p>>2]=b+8;j[o>>1]=1;while(1){b=j[(k[p>>2]|0)+8>>1]|0;if((m[o>>1]|0)>=(m[k[h>>2]>>1]|0))break;if((b|0)>(j[(k[h>>2]|0)+8+(m[o>>1]<<4)+8>>1]|0))k[p>>2]=(k[h>>2]|0)+8+(m[o>>1]<<4);j[o>>1]=(j[o>>1]|0)+1<<16>>16}if((b|0)<=(j[l>>1]|0)){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}}while(0);h=i;i=k[h+4>>2]|0;o=k[p>>2]|0;k[o>>2]=k[h>>2];k[o+4>>2]=i;j[(k[p>>2]|0)+8>>1]=j[l>>1]|0;if((j[(k[p>>2]|0)+10>>1]|0)>(j[n>>1]|0))j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;k[g>>2]=1;p=k[g>>2]|0;r=q;return p|0}function bE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;c=o+36|0;d=o+32|0;e=o+28|0;m=o+24|0;g=o+20|0;l=o+16|0;f=o+12|0;n=o+8|0;i=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;k[l>>2]=k[k[d>>2]>>2];k[f>>2]=k[k[k[l>>2]>>2]>>2];if(k[(k[d>>2]|0)+16>>2]|0){if(j[(k[e>>2]|0)+40>>1]|0){n=k[e>>2]|0;aE(k[(k[d>>2]|0)+16>>2]|0,k[n>>2]|0,k[n+4>>2]|0,j[(k[e>>2]|0)+20>>1]|0,j[(k[e>>2]|0)+22>>1]|0)|0}k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}cE(k[(k[l>>2]|0)+16>>2]|0,k[e>>2]|0);l=dE((k[l>>2]|0)+16|0,k[e>>2]|0)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}k[g>>2]=k[k[m>>2]>>2];a:do if(!(k[g>>2]|0)){n=Pw(k[f>>2]|0,72,0)|0;k[g>>2]=n;k[k[m>>2]>>2]=n;if(k[g>>2]|0){hD(k[g>>2]|0);k[(k[g>>2]|0)+52>>2]=0;break}k[c>>2]=7;n=k[c>>2]|0;r=o;return n|0}else{k[n>>2]=(k[g>>2]|0)+52;while(1){if(!(k[k[n>>2]>>2]|0))break a;m=dE(k[n>>2]|0,k[e>>2]|0)|0;k[n>>2]=m;if(!(k[n>>2]|0))break a;k[i>>2]=k[k[n>>2]>>2];if(!(k[i>>2]|0))break a;k[k[n>>2]>>2]=k[(k[i>>2]|0)+52>>2];eD(k[f>>2]|0,k[i>>2]|0)}}while(0);eE(k[f>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;if(((k[(k[g>>2]|0)+36>>2]&1024|0)==0?(k[h>>2]=k[(k[g>>2]|0)+24+4>>2],(k[h>>2]|0)!=0):0)?(k[(k[h>>2]|0)+44>>2]|0)==0:0)k[(k[g>>2]|0)+24+4>>2]=0;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}function cE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]&512|0)!=0:0)){r=e;return}do{do if((l[(k[c>>2]|0)+16>>0]|0)==(l[(k[d>>2]|0)+16>>0]|0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0){if(fE(k[c>>2]|0,k[d>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)-1;break}if(fE(k[d>>2]|0,k[c>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)+1}}while(0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}while((k[c>>2]|0)!=0);r=e;return}function dE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0)){c=19;break}if((l[(k[d>>2]|0)+16>>0]|0)==(l[(k[c>>2]|0)+16>>0]|0)?(l[(k[d>>2]|0)+17>>0]|0)==(l[(k[c>>2]|0)+17>>0]|0):0){if(((((k[(k[d>>2]|0)+36>>2]&16384|0)!=0?(m[(k[c>>2]|0)+42>>1]|0)==0:0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0)?(k[(k[c>>2]|0)+36>>2]&1|0)!=0:0)?(h=k[d>>2]|0,b=k[c>>2]|0,a=k[c>>2]|0,(k[h>>2]&k[b>>2]|0)==(k[a>>2]|0)?(k[h+4>>2]&k[b+4>>2]|0)==(k[a+4>>2]|0):0):0){c=19;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[d>>2]|0;if(((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+18>>1]|0)<=(j[(k[c>>2]|0)+18>>1]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)<=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)<=(j[(k[c>>2]|0)+22>>1]|0):0){c=14;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[c>>2]|0;if((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)>=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)>=(j[(k[c>>2]|0)+22>>1]|0):0){c=19;break}}k[f>>2]=(k[d>>2]|0)+52;k[d>>2]=k[k[f>>2]>>2]}if((c|0)==14){k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}else if((c|0)==19){k[e>>2]=k[f>>2];h=k[e>>2]|0;r=g;return h|0}return 0}function eE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=c;gD(k[h>>2]|0,k[d>>2]|0);b=(QD(k[h>>2]|0,k[d>>2]|0,m[(k[f>>2]|0)+40>>1]|0)|0)!=0;a=k[d>>2]|0;if(b){h=a+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e>>2]=7;h=k[e>>2]|0;r=g;return h|0}c=k[f>>2]|0;b=a+44|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(b|0));sR(k[(k[d>>2]|0)+48>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[d>>2]|0)+40>>1]|0)<<2|0)|0;a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+36>>2]&1024)){if(k[a+36>>2]&16384)k[(k[f>>2]|0)+24+4>>2]=0}else i[a+24+4>>0]=0;k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}function fE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(((m[(k[c>>2]|0)+40>>1]|0)-(m[(k[c>>2]|0)+42>>1]|0)|0)>=((m[(k[d>>2]|0)+40>>1]|0)-(m[(k[d>>2]|0)+42>>1]|0)|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((m[(k[d>>2]|0)+42>>1]|0)>(m[(k[c>>2]|0)+42>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+20>>1]|0)>=(j[(k[d>>2]|0)+20>>1]|0)){if((j[(k[c>>2]|0)+20>>1]|0)>(j[(k[d>>2]|0)+20>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+22>>1]|0)>(j[(k[d>>2]|0)+22>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}}k[e>>2]=(m[(k[c>>2]|0)+40>>1]|0)-1;while(1){if((k[e>>2]|0)<0){c=20;break}if(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0){k[f>>2]=(m[(k[d>>2]|0)+40>>1]|0)-1;while(1){if((k[f>>2]|0)<0)break;if((k[(k[(k[d>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){c=18;break}}k[e>>2]=(k[e>>2]|0)+-1}if((c|0)==18){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==20){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}return 0}function gE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;while(1){if((l[k[g>>2]>>0]|0)!=72)break;if(!(gE(k[e>>2]|0,k[f>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0)){n=4;break}k[g>>2]=k[(k[g>>2]|0)+16>>2]}if((n|0)==4){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[h>>2]=0;k[m>>2]=k[(k[f>>2]|0)+20>>2];while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0)){n=13;break}k[i>>2]=k[k[m>>2]>>2];if(oE(k[i>>2]|0,k[g>>2]|0,k[e>>2]|0)|0){if(!(k[(k[i>>2]|0)+4>>2]&1)){n=11;break}if((j[(k[i>>2]|0)+36>>1]|0)==(k[e>>2]|0)){n=11;break}}k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+48}if((n|0)==11){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}else if((n|0)==13){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}return 0}function hE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+32|0;e=s+28|0;f=s+24|0;g=s+20|0;p=s+16|0;h=s+12|0;i=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[f>>2]|0)+55>>0]|0)>>>2&1){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}b=k[(k[k[e>>2]>>2]|0)+8>>2]|0;k[p>>2]=b;if(!b){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}k[i>>2]=0;a:while(1){if((k[i>>2]|0)>=(k[k[p>>2]>>2]|0)){q=24;break}b=by(k[(k[(k[p>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=b;b:do if((l[k[o>>2]>>0]|0)==152?(k[(k[o>>2]|0)+28>>2]|0)==(k[g>>2]|0):0){if((j[(k[o>>2]|0)+32>>1]|0)<0){q=10;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break b;if((j[(k[o>>2]|0)+32>>1]|0)==(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)){q=14;break a}k[n>>2]=(k[n>>2]|0)+1}}else q=16;while(0);c:do if((q|0)==16?(q=0,b=k[(k[f>>2]|0)+40>>2]|0,k[h>>2]=b,(b|0)!=0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break c;if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(zy(k[o>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[g>>2]|0)|0)==0:0){q=21;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[i>>2]=(k[i>>2]|0)+1}if((q|0)==10){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==14){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==21){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==24){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}return 0}function iE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+42|0;p=s+28|0;q=s+24|0;n=s;g=s+20|0;i=s+16|0;l=s+12|0;h=s+40|0;o=s+8|0;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;t=k[e>>2]|0;c=(k[e>>2]|0)+8|0;b=~(k[t+4>>2]|k[c+4>>2]);a=n;k[a>>2]=~(k[t>>2]|k[c>>2]);k[a+4>>2]=b;j[h>>1]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];k[p>>2]=k[(k[d>>2]|0)+20>>2];while(1){if((k[g>>2]|0)<=0)break;if(m[(k[p>>2]|0)+20>>1]&2)break;a=(k[p>>2]|0)+40|0;t=(k[e>>2]|0)+8|0;do if(!((k[a>>2]&k[t>>2]|0)==0?(k[a+4>>2]&k[t+4>>2]|0)==0:0)?(a=(k[p>>2]|0)+40|0,t=n,!((k[a>>2]&k[t>>2]|0)!=0?1:(k[a+4>>2]&k[t+4>>2]|0)!=0)):0){k[i>>2]=(m[(k[e>>2]|0)+40>>1]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[q>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[i>>2]<<2)>>2];if(k[q>>2]|0){if((k[q>>2]|0)==(k[p>>2]|0))break;if((k[(k[q>>2]|0)+4>>2]|0)>=0?((k[(k[d>>2]|0)+20>>2]|0)+((k[(k[q>>2]|0)+4>>2]|0)*48|0)|0)==(k[p>>2]|0):0)break}k[i>>2]=(k[i>>2]|0)+-1}if((k[i>>2]|0)<0){if((j[(k[p>>2]|0)+16>>1]|0)<=0){t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+(j[(k[p>>2]|0)+16>>1]|0);break}t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16;if(m[(k[p>>2]|0)+18>>1]&130){k[o>>2]=k[(k[k[p>>2]>>2]|0)+16>>2];t=(uy(k[o>>2]|0,l)|0)!=0;if(t&(k[l>>2]|0)>=-1&(k[l>>2]|0)<=1)k[l>>2]=10;else k[l>>2]=20;if((j[h>>1]|0)<(k[l>>2]|0))j[h>>1]=k[l>>2]}}}while(0);k[g>>2]=(k[g>>2]|0)+-1;k[p>>2]=(k[p>>2]|0)+48}if((j[(k[e>>2]|0)+22>>1]|0)<=((j[f>>1]|0)-(j[h>>1]|0)|0)){r=s;return}j[(k[e>>2]|0)+22>>1]=(j[f>>1]|0)-(j[h>>1]|0);r=s;return}function jE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;b=f+16|0;d=f;c=f+12|0;e=f+8|0;k[b>>2]=a;a=d;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(m[(k[b>>2]|0)+52>>1]|0)-1;while(1){if((k[c>>2]|0)<0)break;k[e>>2]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1];if((k[e>>2]|0)>=0&(k[e>>2]|0)<63){h=vR(1,0,k[e>>2]|0)|0;i=d;g=k[i+4>>2]|L;a=d;k[a>>2]=k[i>>2]|h;k[a+4>>2]=g}k[c>>2]=(k[c>>2]|0)+-1}i=d;L=k[i+4>>2]|0;r=f;return k[i>>2]|0}function kE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=r;r=r+208|0;f=O+172|0;g=O+168|0;h=O+164|0;n=O+160|0;o=O+196|0;P=O+156|0;A=O+152|0;p=O+148|0;z=O+144|0;B=O+140|0;e=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;q=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;j[o>>1]=d;k[P>>2]=k[k[g>>2]>>2];k[A>>2]=k[k[P>>2]>>2];k[p>>2]=k[k[A>>2]>>2];k[G>>2]=0;k[C>>2]=0;k[x>>2]=0;k[z>>2]=k[(k[g>>2]|0)+12>>2];if(i[(k[p>>2]|0)+65>>0]|0){k[f>>2]=7;P=k[f>>2]|0;r=O;return P|0}do if(!(k[(k[z>>2]|0)+36>>2]&32))if(l[(k[h>>2]|0)+36>>0]&8){k[e>>2]=63;break}else{k[e>>2]=447;break}else k[e>>2]=24;while(0);if((l[(k[n>>2]|0)+55>>0]|0)>>>2&1)k[e>>2]=k[e>>2]&-61;j[H>>1]=j[(k[z>>2]|0)+24>>1]|0;j[K>>1]=j[(k[z>>2]|0)+42>>1]|0;j[I>>1]=j[(k[z>>2]|0)+40>>1]|0;k[M>>2]=k[(k[z>>2]|0)+36>>2];c=k[z>>2]|0;b=k[c+4>>2]|0;P=L;k[P>>2]=k[c>>2];k[P+4>>2]=b;j[J>>1]=j[(k[z>>2]|0)+22>>1]|0;P=ID(N,k[(k[g>>2]|0)+4>>2]|0,k[(k[h>>2]|0)+44>>2]|0,m[H>>1]|0,k[e>>2]|0,k[n>>2]|0)|0;k[B>>2]=P;j[(k[z>>2]|0)+18>>1]=0;j[F>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0;P=XD(j[F>>1]|0)|0;j[E>>1]=P;a:while(1){if(!((k[G>>2]|0)==0?(k[B>>2]|0)!=0:0))break;j[q>>1]=j[(k[B>>2]|0)+18>>1]|0;k[u>>2]=0;if((m[q>>1]|0)!=256?(m[(k[B>>2]|0)+20>>1]&0|0)==0:0)d=15;else d=14;if((d|0)==14?(d=0,(lE(k[n>>2]|0,m[H>>1]|0)|0)==0):0)d=15;do if((d|0)==15?(0,b=(k[B>>2]|0)+32|0,P=(k[z>>2]|0)+8|0,!((k[b>>2]&k[P>>2]|0)!=0?1:(k[b+4>>2]&k[P+4>>2]|0)!=0)):0){if((m[(k[B>>2]|0)+20>>1]&256|0)!=0?(m[(k[B>>2]|0)+18>>1]|0)==16:0)break;k[(k[z>>2]|0)+36>>2]=k[M>>2];j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+40>>1]=j[I>>1]|0;if(QD(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0)break a;a=k[B>>2]|0;c=(k[z>>2]|0)+40|0;e=j[c>>1]|0;j[c>>1]=e+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((e&65535)<<2)>>2]=a;e=L;a=(k[B>>2]|0)+32|0;c=(k[z>>2]|0)+8|0;b=(k[e+4>>2]|k[a+4>>2])&~k[c+4>>2];P=k[z>>2]|0;k[P>>2]=(k[e>>2]|k[a>>2])&~k[c>>2];k[P+4>>2]=b;do if(m[q>>1]&1){k[y>>2]=k[k[B>>2]>>2];P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|4;if(k[(k[y>>2]|0)+4>>2]&2048){k[u>>2]=46;break}if((k[(k[y>>2]|0)+20>>2]|0)!=0?(k[k[(k[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=k[k[(k[y>>2]|0)+20>>2]>>2]|0;P=(Rj(P,((P|0)<0)<<31>>31)|0)<<16>>16;k[u>>2]=P}}else{if(m[q>>1]&130){k[s>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(m[H>>1]<<1)>>1];P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|1;if((k[s>>2]|0)!=-1){if((k[s>>2]|0)<=0)break;if(j[o>>1]|0)break;if((m[H>>1]|0)!=((m[(k[n>>2]|0)+50>>1]|0)-1|0))break}if((k[s>>2]|0)>=0?((l[(k[n>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|65536;break}P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|4096;break}if(m[q>>1]&256){P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|8;break}d=(k[z>>2]|0)+36|0;e=k[d>>2]|0;if(m[q>>1]&36){k[d>>2]=e|34;k[x>>2]=k[B>>2];k[C>>2]=0;if(!(m[(k[B>>2]|0)+20>>1]&256))break;k[C>>2]=(k[B>>2]|0)+48;if(QD(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0)break a;b=k[C>>2]|0;c=(k[z>>2]|0)+40|0;P=j[c>>1]|0;j[c>>1]=P+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=b;P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|16;break}else{k[d>>2]=e|18;k[C>>2]=k[B>>2];if(k[(k[z>>2]|0)+36>>2]&32)d=k[(k[(k[z>>2]|0)+48>>2]|0)+((m[(k[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else d=0;k[x>>2]=d;break}}while(0);do if(!(k[(k[z>>2]|0)+36>>2]&2)){b=(k[z>>2]|0)+24|0;P=(j[b>>1]|0)+1<<16>>16;j[b>>1]=P;k[t>>2]=P&65535;if((j[(k[B>>2]|0)+16>>1]|0)<=0?(j[(k[(k[n>>2]|0)+4>>2]|0)+(m[H>>1]<<1)>>1]|0)>=0:0){P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+(j[(k[B>>2]|0)+16>>1]|0);P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)-(k[u>>2]|0);break}P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+((j[(k[(k[n>>2]|0)+8>>2]|0)+(k[t>>2]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((k[t>>2]|0)-1<<1)>>1]|0));if(m[q>>1]&256){P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+10}}else mE(k[A>>2]|0,k[g>>2]|0,k[x>>2]|0,k[C>>2]|0,k[z>>2]|0)|0;while(0);j[D>>1]=(j[(k[z>>2]|0)+22>>1]|0)+1+(((j[(k[n>>2]|0)+48>>1]|0)*15|0)/(j[(k[(k[h>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=UD(j[E>>1]|0,j[D>>1]|0)|0;j[(k[z>>2]|0)+20>>1]=P;if(!(k[(k[z>>2]|0)+36>>2]&320)){P=UD(j[(k[z>>2]|0)+20>>1]|0,(j[(k[z>>2]|0)+22>>1]|0)+16&65535)|0;j[(k[z>>2]|0)+20>>1]=P}j[w>>1]=j[(k[z>>2]|0)+22>>1]|0;P=(k[z>>2]|0)+20|0;j[P>>1]=(j[P>>1]|0)+((j[o>>1]|0)+(k[u>>2]|0));P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+((j[o>>1]|0)+(k[u>>2]|0));iE(k[(k[g>>2]|0)+4>>2]|0,k[z>>2]|0,j[F>>1]|0);P=bE(k[g>>2]|0,k[z>>2]|0)|0;k[G>>2]=P;if(k[(k[z>>2]|0)+36>>2]&2)j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;else j[(k[z>>2]|0)+22>>1]=j[w>>1]|0;if((k[(k[z>>2]|0)+36>>2]&16|0)==0?(m[(k[z>>2]|0)+24>>1]|0)<(m[(k[n>>2]|0)+52>>1]|0):0)kE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[o>>1]|0)+(k[u>>2]|0)&65535)|0;j[(k[z>>2]|0)+22>>1]=j[J>>1]|0}while(0);P=JD(N)|0;k[B>>2]=P}N=k[L+4>>2]|0;P=k[z>>2]|0;k[P>>2]=k[L>>2];k[P+4>>2]=N;j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+42>>1]=j[K>>1]|0;k[(k[z>>2]|0)+36>>2]=k[M>>2];j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;j[(k[z>>2]|0)+40>>1]=j[I>>1]|0;if(((((m[H>>1]|0)==(m[K>>1]|0)?((m[H>>1]|0)+1|0)<(m[(k[n>>2]|0)+50>>1]|0):0)?((l[(k[n>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=QD(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0,k[G>>2]=P,(P|0)==0):0){N=(k[z>>2]|0)+24|0;j[N>>1]=(j[N>>1]|0)+1<<16>>16;N=(k[z>>2]|0)+42|0;j[N>>1]=(j[N>>1]|0)+1<<16>>16;N=(k[z>>2]|0)+40|0;P=j[N>>1]|0;j[N>>1]=P+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|32768;j[v>>1]=(j[(k[(k[n>>2]|0)+8>>2]|0)+(m[H>>1]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[H>>1]|0)+1<<1)>>1]|0);P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)-(j[v>>1]|0);j[v>>1]=(j[v>>1]|0)+5;kE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[v>>1]|0)+(j[o>>1]|0)&65535)|0;j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+42>>1]=j[K>>1]|0;k[(k[z>>2]|0)+36>>2]=k[M>>2]}k[f>>2]=k[G>>2];P=k[f>>2]|0;r=O;return P|0}function lE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;d=e+8|0;g=e+4|0;f=e;k[d>>2]=a;k[g>>2]=b;k[f>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];b=k[f>>2]|0;if((k[f>>2]|0)>=0){k[c>>2]=l[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(b*24|0)+20>>0];g=k[c>>2]|0;r=e;return g|0}if((b|0)==-1){k[c>>2]=1;g=k[c>>2]|0;r=e;return g|0}else{k[c>>2]=0;g=k[c>>2]|0;r=e;return g|0}return 0}function mE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;l=n;i=n+28|0;k[n+24>>2]=a;k[n+20>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[m>>2]=0;k[l>>2]=j[(k[h>>2]|0)+22>>1];d=nE(k[f>>2]|0,k[l>>2]&65535)|0;j[i>>1]=d;d=nE(k[g>>2]|0,j[i>>1]|0)|0;j[i>>1]=d;if(((k[f>>2]|0)!=0?((k[g>>2]|0)!=0?(j[(k[f>>2]|0)+16>>1]|0)>0:0):0)?(j[(k[g>>2]|0)+16>>1]|0)>0:0)j[i>>1]=(j[i>>1]|0)-20;k[l>>2]=(k[l>>2]|0)-(((k[f>>2]|0)!=0&1)+((k[g>>2]|0)!=0&1));if((j[i>>1]|0)<10)j[i>>1]=10;if((j[i>>1]|0)>=(k[l>>2]|0)){a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=j[i>>1];a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}function nE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;f=e+6|0;d=e+4|0;k[c>>2]=a;j[f>>1]=b;j[d>>1]=j[f>>1]|0;do if(k[c>>2]|0){b=k[c>>2]|0;if((j[(k[c>>2]|0)+16>>1]|0)<=0){j[d>>1]=(j[d>>1]|0)+(j[b+16>>1]|0);break}if(!(m[b+20>>1]&0))j[d>>1]=(j[d>>1]|0)-20}while(0);r=e;return j[d>>1]|0}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(zy(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}do if((l[k[f>>2]>>0]|0|0)==71){if((oE(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0?(oE(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0)==0:0)break;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}while(0);if((((l[k[f>>2]>>0]|0|0)==77?(zy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0:0)?(l[k[e>>2]>>0]|0|0)!=76:0)?(l[k[e>>2]>>0]|0|0)!=73:0){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}function pE(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+96|0;F=G+8|0;g=G+76|0;h=G+72|0;n=G+68|0;o=G;p=G+64|0;q=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;k[w>>2]=0;k[s>>2]=0;k[D>>2]=k[(k[n>>2]|0)+20>>2];while(1){if((k[s>>2]|0)>=(k[(k[n>>2]|0)+12>>2]|0))break;if((((k[(k[D>>2]|0)+8>>2]|0)==(k[(k[p>>2]|0)+44>>2]|0)?(e=(k[D>>2]|0)+32|0,b=o,!((k[e>>2]&k[b>>2]|0)!=0?1:(k[e+4>>2]&k[b+4>>2]|0)!=0)):0)?(m[(k[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(m[(k[D>>2]|0)+20>>1]&0|0)==0:0)k[w>>2]=(k[w>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+48}k[v>>2]=0;if(k[q>>2]|0){k[u>>2]=k[k[q>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[u>>2]|0))break;k[y>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((l[k[y>>2]>>0]|0)!=152)break;if((k[(k[y>>2]|0)+28>>2]|0)!=(k[(k[p>>2]|0)+44>>2]|0))break;k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)==(k[u>>2]|0))k[v>>2]=k[u>>2]}b=zh(k[k[h>>2]>>2]|0,72+((k[w>>2]|0)*20|0)+(k[v>>2]<<3)|0,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Kh(k[h>>2]|0,32392,F);k[g>>2]=0;F=k[g>>2]|0;r=G;return F|0}k[A>>2]=(k[B>>2]|0)+72;k[C>>2]=(k[A>>2]|0)+((k[w>>2]|0)*12|0);k[E>>2]=(k[C>>2]|0)+(k[v>>2]<<3);k[k[B>>2]>>2]=k[w>>2];k[(k[B>>2]|0)+8>>2]=k[v>>2];k[(k[B>>2]|0)+4>>2]=k[A>>2];k[(k[B>>2]|0)+12>>2]=k[C>>2];k[(k[B>>2]|0)+16>>2]=k[E>>2];k[t>>2]=0;k[s>>2]=0;k[D>>2]=k[(k[n>>2]|0)+20>>2];while(1){if((k[s>>2]|0)>=(k[(k[n>>2]|0)+12>>2]|0))break;if((((k[(k[D>>2]|0)+8>>2]|0)==(k[(k[p>>2]|0)+44>>2]|0)?(b=(k[D>>2]|0)+32|0,F=o,!((k[b>>2]&k[F>>2]|0)!=0?1:(k[b+4>>2]&k[F+4>>2]|0)!=0)):0)?(m[(k[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(m[(k[D>>2]|0)+20>>1]&0|0)==0:0){k[(k[A>>2]|0)+((k[t>>2]|0)*12|0)>>2]=k[(k[D>>2]|0)+12>>2];k[(k[A>>2]|0)+((k[t>>2]|0)*12|0)+8>>2]=k[s>>2];F=j[(k[D>>2]|0)+18>>1]&255;i[x>>0]=F;i[x>>0]=(l[x>>0]|0)==1?2:F;if((l[x>>0]|0)==64)i[x>>0]=i[(k[D>>2]|0)+23>>0]|0;i[(k[A>>2]|0)+((k[t>>2]|0)*12|0)+4>>0]=i[x>>0]|0;k[t>>2]=(k[t>>2]|0)+1}k[s>>2]=(k[s>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+48}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[v>>2]|0))break;k[z>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[(k[C>>2]|0)+(k[s>>2]<<3)>>2]=j[(k[z>>2]|0)+32>>1];i[(k[C>>2]|0)+(k[s>>2]<<3)+4>>0]=i[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+12>>0]|0;k[s>>2]=(k[s>>2]|0)+1}k[g>>2]=k[B>>2];F=k[g>>2]|0;r=G;return F|0}function qE(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,l=0,m=0,n=0,o=0;o=r;r=r+48|0;n=o+16|0;m=o+8|0;l=o;d=o+40|0;e=o+36|0;f=o+32|0;h=o+28|0;g=o+24|0;j=o+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=(Kx(k[k[d>>2]>>2]|0,k[e>>2]|0)|0)+8|0;k[h>>2]=k[b>>2];b=gc[k[(k[k[h>>2]>>2]|0)+12>>2]&255](k[h>>2]|0,k[f>>2]|0)|0;k[j>>2]=b;do if(k[j>>2]|0){if((k[j>>2]|0)==7){th(k[k[d>>2]>>2]|0);break}c=k[d>>2]|0;if(k[(k[h>>2]|0)+8>>2]|0){k[m>>2]=k[(k[h>>2]|0)+8>>2];Kh(c,19255,m);break}else{m=sh(k[j>>2]|0)|0;k[l>>2]=m;Kh(c,19255,l);break}}while(0);Ud(k[(k[h>>2]|0)+8>>2]|0);k[(k[h>>2]|0)+8>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[f>>2]>>2]|0))break;if((i[(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*12|0)+5>>0]|0)==0?(k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]|0)>0:0){m=k[d>>2]|0;k[n>>2]=k[k[e>>2]>>2];Kh(m,35642,n)}k[g>>2]=(k[g>>2]|0)+1}r=o;return k[(k[d>>2]|0)+68>>2]|0}function rE(a){a=+a;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+18|0;c=f+8|0;d=f;e=f+16|0;p[c>>3]=a;if(+p[c>>3]<=1.0){j[b>>1]=0;e=j[b>>1]|0;r=f;return e|0}if(+p[c>>3]<=2.0e9){a=+p[c>>3];e=Rj(~~a>>>0,+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;j[b>>1]=e;e=j[b>>1]|0;r=f;return e|0}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];d=rR(k[d>>2]|0,k[d+4>>2]|0,52)|0;d=pR(d|0,L|0,1022,0)|0;j[e>>1]=d;j[b>>1]=(j[e>>1]|0)*10;e=j[b>>1]|0;r=f;return e|0}return 0}function sE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;q=t+36|0;f=t+32|0;g=t+28|0;h=t+24|0;i=t+20|0;m=t+16|0;s=t+12|0;p=t+8|0;n=t+4|0;o=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;k[p>>2]=k[(k[(k[i>>2]|0)+32>>2]|0)+(k[m>>2]<<2)>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[g>>2]>>2]|0)){f=10;break}a=by(k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=a;if(((((l[k[n>>2]>>0]|0)==152?(j[(k[n>>2]|0)+32>>1]|0)==(j[(k[(k[i>>2]|0)+4>>2]|0)+(k[m>>2]<<1)>>1]|0):0)?(k[(k[n>>2]|0)+28>>2]|0)==(k[h>>2]|0):0)?(a=Yx(k[f>>2]|0,k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0,k[o>>2]=a,(k[o>>2]|0)!=0):0)?0==(be(k[k[o>>2]>>2]|0,k[p>>2]|0)|0):0){f=8;break}k[s>>2]=(k[s>>2]|0)+1}if((f|0)==8){k[q>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}else if((f|0)==10){k[q>>2]=-1;s=k[q>>2]|0;r=t;return s|0}return 0}function tE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+224|0;f=ga+196|0;g=ga+192|0;h=ga+188|0;d=ga+184|0;$=ga+180|0;P=ga+176|0;J=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;D=ga+164|0;E=ga+160|0;F=ga+156|0;W=ga+152|0;p=ga+148|0;s=ga+208|0;e=ga+16|0;x=ga+144|0;w=ga+140|0;K=ga+136|0;X=ga+132|0;G=ga+204|0;Q=ga+128|0;I=ga+124|0;q=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;n=ga+207|0;o=ga+206|0;H=ga+68|0;C=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[k[g>>2]>>2];b=t;k[b>>2]=0;k[b+4>>2]=0;k[Z>>2]=0;k[D>>2]=0;k[E>>2]=0;k[W>>2]=k[k[d>>2]>>2];k[p>>2]=k[k[W>>2]>>2];if(i[(k[p>>2]|0)+65>>0]|0){r=ga;return}k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);k[P>>2]=(k[d>>2]|0)+68;k[J>>2]=k[k[$>>2]>>2];b=SD(k[P>>2]|0,k[(k[J>>2]|0)+12>>2]|0)|0;d=da;k[d>>2]=b;k[d+4>>2]=L;k[F>>2]=l[k[J>>2]>>0];do if((k[F>>2]|0)==75){c=k[P>>2]|0;a=(k[J>>2]|0)+20|0;if(k[(k[J>>2]|0)+4>>2]&2048){b=TD(c,k[a>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}else{b=tD(c,k[a>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}}else if((k[F>>2]|0)==76){d=(k[$>>2]|0)+32|0;k[d>>2]=0;k[d+4>>2]=0;break}else{b=SD(k[P>>2]|0,k[(k[J>>2]|0)+16>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}while(0);b=SD(k[P>>2]|0,k[J>>2]|0)|0;d=aa;k[d>>2]=b;k[d+4>>2]=L;if(k[(k[J>>2]|0)+4>>2]&1){c=xD(k[P>>2]|0,j[(k[J>>2]|0)+36>>1]|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L;a=e;c=aa;b=k[c+4>>2]|k[a+4>>2];d=aa;k[d>>2]=k[c>>2]|k[a>>2];k[d+4>>2]=b;d=e;d=pR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=t;k[e>>2]=d;k[e+4>>2]=L}d=aa;c=k[d+4>>2]|0;e=(k[$>>2]|0)+40|0;k[e>>2]=k[d>>2];k[e+4>>2]=c;k[(k[$>>2]|0)+8>>2]=-1;k[(k[$>>2]|0)+4>>2]=-1;j[(k[$>>2]|0)+18>>1]=0;e=(uE(k[F>>2]|0)|0)!=0;c=k[J>>2]|0;a:do if(e){O=by(k[c+12>>2]|0)|0;k[K>>2]=O;O=by(k[(k[J>>2]|0)+16>>2]|0)|0;k[X>>2]=O;O=(k[$>>2]|0)+32|0;R=da;j[G>>1]=((k[O>>2]&k[R>>2]|0)==0?(k[O+4>>2]&k[R+4>>2]|0)==0:0)?8191:2048;R=da;if(vE(k[f>>2]|0,k[R>>2]|0,k[R+4>>2]|0,k[K>>2]|0,x,w)|0){k[(k[$>>2]|0)+8>>2]=k[x>>2];k[(k[$>>2]|0)+12>>2]=k[w>>2];R=(wE(k[F>>2]|0)|0)&65535;j[(k[$>>2]|0)+18>>1]=R&m[G>>1]}if((k[F>>2]|0)==73){R=(k[$>>2]|0)+20|0;j[R>>1]=m[R>>1]|2048}if((k[X>>2]|0)!=0?(R=(k[$>>2]|0)+32|0,(vE(k[f>>2]|0,k[R>>2]|0,k[R+4>>2]|0,k[X>>2]|0,x,w)|0)!=0):0){j[q>>1]=0;if((k[(k[$>>2]|0)+8>>2]|0)>=0){X=xy(k[p>>2]|0,k[J>>2]|0,0)|0;k[I>>2]=X;if(i[(k[p>>2]|0)+65>>0]|0){hv(k[p>>2]|0,k[I>>2]|0);r=ga;return}X=xE(k[g>>2]|0,k[I>>2]|0,3)|0;k[y>>2]=X;if(!(k[y>>2]|0)){r=ga;return}k[Q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);yE(k[g>>2]|0,k[y>>2]|0,k[h>>2]|0);if((k[F>>2]|0)==73){X=(k[Q>>2]|0)+20|0;j[X>>1]=m[X>>1]|2048}k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);X=(k[$>>2]|0)+20|0;j[X>>1]=m[X>>1]|8;if(zE(k[W>>2]|0,k[I>>2]|0)|0){X=(k[$>>2]|0)+18|0;j[X>>1]=m[X>>1]|2048;j[q>>1]=2048}}else{k[I>>2]=k[J>>2];k[Q>>2]=k[$>>2]}AE(k[W>>2]|0,k[I>>2]|0);k[(k[Q>>2]|0)+8>>2]=k[x>>2];k[(k[Q>>2]|0)+12>>2]=k[w>>2];O=da;R=t;da=k[O+4>>2]|k[R+4>>2];X=(k[Q>>2]|0)+32|0;k[X>>2]=k[O>>2]|k[R>>2];k[X+4>>2]=da;X=aa;aa=k[X+4>>2]|0;da=(k[Q>>2]|0)+40|0;k[da>>2]=k[X>>2];k[da+4>>2]=aa;da=(wE(l[k[I>>2]>>0]|0)|0)&65535;j[(k[Q>>2]|0)+18>>1]=da+(m[q>>1]|0)&m[G>>1]}}else{if((l[c>>0]|0)==74?(l[(k[g>>2]|0)+8>>0]|0)==72:0){k[O>>2]=k[(k[J>>2]|0)+20>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break a;X=k[W>>2]|0;aa=l[35688+(k[u>>2]|0)>>0]|0;da=xy(k[p>>2]|0,k[(k[J>>2]|0)+12>>2]|0,0)|0;da=Bv(X,aa,da,xy(k[p>>2]|0,k[(k[(k[O>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[R>>2]=da;BE(k[R>>2]|0,k[J>>2]|0);da=xE(k[g>>2]|0,k[R>>2]|0,3)|0;k[z>>2]=da;tE(k[f>>2]|0,k[g>>2]|0,k[z>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);yE(k[g>>2]|0,k[z>>2]|0,k[h>>2]|0);k[u>>2]=(k[u>>2]|0)+1}}if((l[k[J>>2]>>0]|0)==71){CE(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0)}}while(0);if((l[(k[g>>2]|0)+8>>0]|0)==72?(DE(k[W>>2]|0,k[J>>2]|0,Z,D,E)|0)!=0:0){j[ea>>1]=259;k[M>>2]=k[(k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];ea=xy(k[p>>2]|0,k[Z>>2]|0,0)|0;k[_>>2]=ea;b:do if((k[E>>2]|0)!=0?(i[(k[k[W>>2]>>2]|0)+65>>0]|0)==0:0){ea=(k[$>>2]|0)+20|0;j[ea>>1]=m[ea>>1]|1024;k[v>>2]=0;while(1){ea=i[(k[(k[Z>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]|0;i[n>>0]=ea;if(!(ea<<24>>24))break b;i[(k[(k[Z>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=i[n>>0]&~(l[19267+(l[n>>0]|0)>>0]&32);i[(k[(k[_>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=i[18477+(l[n>>0]|0)>>0]|0;k[v>>2]=(k[v>>2]|0)+1}}while(0);if(!(i[(k[p>>2]|0)+65>>0]|0)){ea=(Sf(k[(k[_>>2]|0)+8>>2]|0)|0)-1|0;k[H>>2]=(k[(k[_>>2]|0)+8>>2]|0)+ea;i[o>>0]=i[k[H>>2]>>0]|0;if(k[E>>2]|0){if((l[o>>0]|0)==64)k[D>>2]=0;i[o>>0]=i[18477+(l[o>>0]|0)>>0]|0}i[k[H>>2]>>0]=(l[o>>0]|0)+1}k[fa>>2]=(k[E>>2]|0)!=0?21290:35690;da=xy(k[p>>2]|0,k[M>>2]|0,0)|0;k[S>>2]=da;da=k[W>>2]|0;ea=Ly(k[W>>2]|0,k[S>>2]|0,k[fa>>2]|0)|0;ea=Bv(da,83,ea,k[Z>>2]|0,0)|0;k[S>>2]=ea;BE(k[S>>2]|0,k[J>>2]|0);ea=xE(k[g>>2]|0,k[S>>2]|0,259)|0;k[A>>2]=ea;tE(k[f>>2]|0,k[g>>2]|0,k[A>>2]|0);ea=xy(k[p>>2]|0,k[M>>2]|0,0)|0;k[T>>2]=ea;ea=k[W>>2]|0;fa=Ly(k[W>>2]|0,k[T>>2]|0,k[fa>>2]|0)|0;fa=Bv(ea,82,fa,k[_>>2]|0,0)|0;k[T>>2]=fa;BE(k[T>>2]|0,k[J>>2]|0);fa=xE(k[g>>2]|0,k[T>>2]|0,259)|0;k[B>>2]=fa;tE(k[f>>2]|0,k[g>>2]|0,k[B>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);if(k[D>>2]|0){yE(k[g>>2]|0,k[A>>2]|0,k[h>>2]|0);yE(k[g>>2]|0,k[B>>2]|0,k[h>>2]|0)}}if((EE(k[J>>2]|0,s)|0)!=0?(k[Y>>2]=k[k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]>>2],k[N>>2]=k[(k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=SD(k[P>>2]|0,k[Y>>2]|0)|0,fa=ca,k[fa>>2]=ea,k[fa+4>>2]=L,fa=SD(k[P>>2]|0,k[N>>2]|0)|0,ea=ba,k[ea>>2]=fa,k[ea+4>>2]=L,ea=ca,fa=ba,(k[ea>>2]&k[fa>>2]|0)==0?(k[ea+4>>2]&k[fa+4>>2]|0)==0:0):0){fa=k[W>>2]|0;fa=Bv(fa,51,0,xy(k[p>>2]|0,k[Y>>2]|0,0)|0,0)|0;k[U>>2]=fa;fa=xE(k[g>>2]|0,k[U>>2]|0,3)|0;k[C>>2]=fa;k[V>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[C>>2]|0)*48|0);fa=ca;ea=k[fa+4>>2]|0;da=(k[V>>2]|0)+32|0;k[da>>2]=k[fa>>2];k[da+4>>2]=ea;k[(k[V>>2]|0)+8>>2]=k[(k[N>>2]|0)+28>>2];k[(k[V>>2]|0)+12>>2]=j[(k[N>>2]|0)+32>>1];j[(k[V>>2]|0)+18>>1]=64;i[(k[V>>2]|0)+23>>0]=i[s>>0]|0;yE(k[g>>2]|0,k[C>>2]|0,k[h>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);da=(k[$>>2]|0)+20|0;j[da>>1]=m[da>>1]|8;da=(k[$>>2]|0)+40|0;ea=k[da+4>>2]|0;fa=(k[V>>2]|0)+40|0;k[fa>>2]=k[da>>2];k[fa+4>>2]=ea}da=t;fa=(k[$>>2]|0)+32|0;ca=fa;ea=k[ca+4>>2]|k[da+4>>2];k[fa>>2]=k[ca>>2]|k[da>>2];k[fa+4>>2]=ea;r=ga;return}function uE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[b>>2]|0)!=75?!((k[b>>2]|0)>=79&(k[b>>2]|0)<=83|(k[b>>2]|0)==76):0)b=(k[b>>2]|0)==73;else b=1;r=c;return b&1|0}function vE(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,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;p=u+36|0;g=u+32|0;h=u;i=u+28|0;q=u+24|0;s=u+20|0;o=u+16|0;n=u+12|0;t=u+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[q>>2]=e;k[s>>2]=f;if((l[k[i>>2]>>0]|0)==152){k[k[q>>2]>>2]=k[(k[i>>2]|0)+28>>2];k[k[s>>2]>>2]=j[(k[i>>2]|0)+32>>1];k[p>>2]=1;t=k[p>>2]|0;r=u;return t|0}e=h;if((k[e>>2]|0)==0&(k[e+4>>2]|0)==0){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}e=h;a=k[e>>2]|0;e=k[e+4>>2]|0;f=h;f=pR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;if((a&f|0)!=0|(e&L|0)!=0){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}k[n>>2]=0;while(1){e=h;f=k[e+4>>2]|0;b=k[n>>2]|0;if(!(f>>>0>0|(f|0)==0&(k[e>>2]|0)>>>0>1))break;k[n>>2]=b+1;f=h;f=rR(k[f>>2]|0,k[f+4>>2]|0,1)|0;e=h;k[e>>2]=f;k[e+4>>2]=L}k[t>>2]=k[(k[g>>2]|0)+8+(b*72|0)+44>>2];k[o>>2]=k[(k[(k[g>>2]|0)+8+((k[n>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(k[o>>2]|0)){b=20;break}b:do if(k[(k[o>>2]|0)+40>>2]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[o>>2]|0)+50>>1]|0))break b;if((j[(k[(k[o>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(zy(k[i>>2]|0,k[(k[(k[(k[o>>2]|0)+40>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[t>>2]|0)|0)==0:0){b=17;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[o>>2]=k[(k[o>>2]|0)+20>>2]}if((b|0)==17){k[k[q>>2]>>2]=k[t>>2];k[k[s>>2]>>2]=-2;k[p>>2]=1;t=k[p>>2]|0;r=u;return t|0}else if((b|0)==20){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function wE(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;do if((k[b>>2]|0)!=75){if((k[b>>2]|0)==76){j[c>>1]=256;break}if((k[b>>2]|0)==73){j[c>>1]=128;break}else{j[c>>1]=2<<(k[b>>2]|0)-79;break}}else j[c>>1]=1;while(0);r=d;return j[c>>1]|0}function xE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+28|0;n=o+12|0;i=o+8|0;l=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;do if((k[(k[e>>2]|0)+12>>2]|0)>=(k[(k[e>>2]|0)+16>>2]|0)){k[l>>2]=k[(k[e>>2]|0)+20>>2];k[h>>2]=k[k[k[k[e>>2]>>2]>>2]>>2];c=Pw(k[h>>2]|0,(k[(k[e>>2]|0)+16>>2]|0)*48<<1,0)|0;k[(k[e>>2]|0)+20>>2]=c;if(k[(k[e>>2]|0)+20>>2]|0){sR(k[(k[e>>2]|0)+20>>2]|0,k[l>>2]|0,(k[(k[e>>2]|0)+12>>2]|0)*48|0)|0;if((k[l>>2]|0)!=((k[e>>2]|0)+24|0))ag(k[h>>2]|0,k[l>>2]|0);c=((ju(k[h>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0)>>>0)/48|0;k[(k[e>>2]|0)+16>>2]=c;uR((k[(k[e>>2]|0)+20>>2]|0)+((k[(k[e>>2]|0)+12>>2]|0)*48|0)|0,0,((k[(k[e>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((m[g>>1]|0)&1)hv(k[h>>2]|0,k[f>>2]|0);k[(k[e>>2]|0)+20>>2]=k[l>>2];k[d>>2]=0;c=k[d>>2]|0;r=o;return c|0}while(0);a=(k[e>>2]|0)+12|0;c=k[a>>2]|0;k[a>>2]=c+1;k[i>>2]=c;k[n>>2]=(k[(k[e>>2]|0)+20>>2]|0)+(c*48|0);if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&262144|0)!=0:0){c=k[(k[f>>2]|0)+28>>2]|0;c=((Rj(c,((c|0)<0)<<31>>31)|0)<<16>>16)-270&65535;j[(k[n>>2]|0)+16>>1]=c}else j[(k[n>>2]|0)+16>>1]=1;c=by(k[f>>2]|0)|0;k[k[n>>2]>>2]=c;j[(k[n>>2]|0)+20>>1]=j[g>>1]|0;k[(k[n>>2]|0)+24>>2]=k[e>>2];k[(k[n>>2]|0)+4>>2]=-1;k[d>>2]=k[i>>2];c=k[d>>2]|0;r=o;return c|0}function yE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+4>>2]=k[e>>2];j[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+16>>1]=j[(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+16>>1]|0;a=(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+22|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;r=d;return}function zE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;h=o+20|0;e=o+16|0;f=o+12|0;c=o+25|0;d=o+24|0;g=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;if(m[(k[k[e>>2]>>2]|0)+60>>1]&512){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if((l[k[f>>2]>>0]|0)!=79?(l[k[f>>2]>>0]|0)!=73:0){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if(k[(k[f>>2]|0)+4>>2]&1){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}a=Xx(k[(k[f>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=Xx(k[(k[f>>2]|0)+16>>2]|0)|0;i[d>>0]=a;do if((i[c>>0]|0)!=(i[d>>0]|0)){if((i[c>>0]|0)>=67?(i[d>>0]|0)>=67:0)break;k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}while(0);a=dB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)!=0?(be(k[k[g>>2]>>2]|0,35690)|0)!=0:0){a=Yx(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[j>>2]=c;f=Yx(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=f;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[n>>2]=c;n=(be(k[j>>2]|0,k[n>>2]|0)|0)==0&1;k[h>>2]=n;n=k[h>>2]|0;r=o;return n|0}k[h>>2]=1;n=k[h>>2]|0;r=o;return n|0}function AE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g+14|0;h=g+12|0;f=g;k[c>>2]=a;k[d>>2]=b;j[e>>1]=k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]&256;j[h>>1]=k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]&256;do if((m[e>>1]|0)==(m[h>>1]|0)){if(j[e>>1]|0){h=(k[(k[d>>2]|0)+16>>2]|0)+4|0;k[h>>2]=k[h>>2]&-257;break}if(Yx(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0)|0){h=(k[(k[d>>2]|0)+12>>2]|0)+4|0;k[h>>2]=k[h>>2]|256}}while(0);k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];if((l[k[d>>2]>>0]|0)<80){r=g;return}i[k[d>>2]>>0]=((l[k[d>>2]>>0]|0)-80^2)+80;r=g;return}function BE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|k[(k[d>>2]|0)+4>>2]&1;j[(k[c>>2]|0)+36>>1]=j[(k[d>>2]|0)+36>>1]|0;r=e;return}function CE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=r;r=r+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;C=V+136|0;S=V+132|0;K=V+128|0;D=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;h=V+16|0;o=V+108|0;q=V+104|0;p=V+100|0;n=V+96|0;d=V+8|0;e=V;u=V+92|0;f=V+88|0;s=V+84|0;g=V+80|0;v=V+76|0;I=V+72|0;E=V+68|0;F=V+64|0;H=V+60|0;z=V+56|0;A=V+52|0;J=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;G=V+32|0;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[T>>2]=k[k[x>>2]>>2];k[R>>2]=k[k[T>>2]>>2];k[C>>2]=k[k[R>>2]>>2];k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);k[K>>2]=k[k[S>>2]>>2];b=zh(k[C>>2]|0,416,0)|0;k[t>>2]=b;k[(k[S>>2]|0)+12>>2]=b;if(!(k[t>>2]|0)){r=V;return}b=(k[S>>2]|0)+20|0;j[b>>1]=m[b>>1]|16;k[Q>>2]=k[t>>2];kD(k[Q>>2]|0,k[T>>2]|0);lD(k[Q>>2]|0,k[K>>2]|0,71);oD(k[w>>2]|0,k[Q>>2]|0);if(i[(k[C>>2]|0)+65>>0]|0){r=V;return}b=h;k[b>>2]=-1;k[b+4>>2]=-1;b=B;k[b>>2]=-1;k[b+4>>2]=-1;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){b=h;if(!((k[D>>2]|0)>=0?(k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0:0))break;do if(!(m[(k[P>>2]|0)+18>>1]&511)){b=B;k[b>>2]=0;k[b+4>>2]=0;b=Pw(k[C>>2]|0,408,0)|0;k[o>>2]=b;if(k[o>>2]|0){b=d;k[b>>2]=0;k[b+4>>2]=0;k[(k[P>>2]|0)+12>>2]=k[o>>2];b=(k[P>>2]|0)+20|0;j[b>>1]=m[b>>1]|32;j[(k[P>>2]|0)+18>>1]=1024;k[q>>2]=k[o>>2];kD(k[q>>2]|0,k[k[x>>2]>>2]|0);lD(k[q>>2]|0,k[k[P>>2]>>2]|0,72);oD(k[w>>2]|0,k[q>>2]|0);k[(k[q>>2]|0)+4>>2]=k[x>>2];a:do if(!(i[(k[C>>2]|0)+65>>0]|0)){k[n>>2]=0;k[p>>2]=k[(k[q>>2]|0)+20>>2];while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+12>>2]|0))break a;if(uE(l[k[k[p>>2]>>2]>>0]|0)|0){c=xD((k[T>>2]|0)+68|0,k[(k[p>>2]|0)+8>>2]|0)|0;W=d;a=k[W+4>>2]|L;b=d;k[b>>2]=k[W>>2]|c;k[b+4>>2]=a}k[n>>2]=(k[n>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+48}}while(0);a=d;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b}}else if(!(m[(k[P>>2]|0)+20>>1]&8)){b=xD((k[T>>2]|0)+68|0,k[(k[P>>2]|0)+8>>2]|0)|0;W=e;k[W>>2]=b;k[W+4>>2]=L;if(m[(k[P>>2]|0)+20>>1]&2){k[u>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[(k[P>>2]|0)+4>>2]|0)*48|0);a=xD((k[T>>2]|0)+68|0,k[(k[u>>2]|0)+8>>2]|0)|0;c=e;b=k[c+4>>2]|L;W=e;k[W>>2]=k[c>>2]|a;k[W+4>>2]=b}a=e;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;if(!(m[(k[P>>2]|0)+18>>1]&2)){W=B;k[W>>2]=0;k[W+4>>2]=0;break}else{a=e;c=B;b=k[c+4>>2]&k[a+4>>2];W=B;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;break}}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}a=h;b=k[a+4>>2]|0;W=(k[t>>2]|0)+408|0;k[W>>2]=k[a>>2];k[W+4>>2]=b;W=h;j[(k[S>>2]|0)+18>>1]=(k[W>>2]|0)==0&(k[W+4>>2]|0)==0?0:512;W=h;b:do if((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0?(k[(k[Q>>2]|0)+12>>2]|0)==2:0){k[f>>2]=0;c:while(1){b=k[(k[Q>>2]|0)+20>>2]|0;W=k[f>>2]|0;k[f>>2]=W+1;W=JE(b,W)|0;k[s>>2]=W;if(!W)break b;k[g>>2]=0;while(1){b=(k[(k[Q>>2]|0)+20>>2]|0)+48|0;W=k[g>>2]|0;k[g>>2]=W+1;W=JE(b,W)|0;k[v>>2]=W;if(!W)continue c;KE(k[w>>2]|0,k[x>>2]|0,k[s>>2]|0,k[v>>2]|0)}}}while(0);W=B;if(!((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0)){r=V;return}k[I>>2]=0;k[E>>2]=-1;k[F>>2]=-1;k[H>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=2)break;if(!((k[I>>2]|0)!=0^1))break;k[P>>2]=k[(k[Q>>2]|0)+20>>2];k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;while(1){if((k[D>>2]|0)<0)break;W=(k[P>>2]|0)+20|0;j[W>>1]=m[W>>1]&-65;if((k[(k[P>>2]|0)+8>>2]|0)!=(k[F>>2]|0)?(W=B,v=k[W>>2]|0,W=k[W+4>>2]|0,b=xD((k[T>>2]|0)+68|0,k[(k[P>>2]|0)+8>>2]|0)|0,!((v&b|0)==0&(W&L|0)==0)):0){U=36;break}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}if((U|0)==36){U=0;k[E>>2]=k[(k[P>>2]|0)+12>>2];k[F>>2]=k[(k[P>>2]|0)+8>>2]}if((k[D>>2]|0)<0)break;k[I>>2]=1;while(1){if(!((k[D>>2]|0)>=0?(k[I>>2]|0)!=0:0))break;d=k[P>>2]|0;do if((k[(k[P>>2]|0)+8>>2]|0)!=(k[F>>2]|0)){W=d+20|0;j[W>>1]=m[W>>1]&-65}else{if((k[d+12>>2]|0)!=(k[E>>2]|0)){k[I>>2]=0;break}W=(Xx(k[(k[k[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;k[A>>2]=W;W=(Xx(k[(k[k[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;k[z>>2]=W;if((k[A>>2]|0)!=0?(k[A>>2]|0)!=(k[z>>2]|0):0){k[I>>2]=0;break}W=(k[P>>2]|0)+20|0;j[W>>1]=m[W>>1]|64}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}k[H>>2]=(k[H>>2]|0)+1}if(!(k[I>>2]|0)){r=V;return}k[N>>2]=0;k[M>>2]=0;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){if((k[D>>2]|0)<0)break;if(m[(k[P>>2]|0)+20>>1]&64){W=xy(k[C>>2]|0,k[(k[k[P>>2]>>2]|0)+16>>2]|0,0)|0;k[J>>2]=W;W=Qv(k[k[T>>2]>>2]|0,k[N>>2]|0,k[J>>2]|0)|0;k[N>>2]=W;k[M>>2]=k[(k[k[P>>2]>>2]|0)+12>>2]}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}W=xy(k[C>>2]|0,k[M>>2]|0,0)|0;k[J>>2]=W;W=Bv(k[R>>2]|0,75,k[J>>2]|0,0,0)|0;k[O>>2]=W;if(k[O>>2]|0){BE(k[O>>2]|0,k[K>>2]|0);k[(k[O>>2]|0)+20>>2]=k[N>>2];W=xE(k[x>>2]|0,k[O>>2]|0,3)|0;k[G>>2]=W;tE(k[w>>2]|0,k[x>>2]|0,k[G>>2]|0);k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);yE(k[x>>2]|0,k[G>>2]|0,k[y>>2]|0)}else dv(k[C>>2]|0,k[N>>2]|0);j[(k[S>>2]|0)+18>>1]=4096;r=V;return} -function UH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Zb=0,_b=0,ac=0,dc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0.0,Af=0;xf=r;r=r+1824|0;Qe=xf+496|0;Pe=xf+488|0;Oe=xf+480|0;Ne=xf+472|0;Me=xf+456|0;Le=xf+448|0;Ke=xf+440|0;Je=xf+432|0;Ie=xf+424|0;He=xf+416|0;Ge=xf+400|0;Fe=xf+392|0;Ee=xf+384|0;De=xf+376|0;Ce=xf+368|0;Be=xf+360|0;Ae=xf+352|0;uf=xf+336|0;tf=xf+328|0;sf=xf+320|0;ze=xf+312|0;lf=xf+1612|0;g=xf+1608|0;pf=xf+1604|0;rf=xf+1600|0;mf=xf+1596|0;ee=xf+1819|0;G=xf+1818|0;da=xf+1592|0;of=xf+1588|0;db=xf+1584|0;e=xf+1580|0;Oc=xf+1576|0;Pc=xf+1572|0;Qc=xf+1568|0;id=xf+1564|0;h=xf+1560|0;nf=xf+304|0;b=xf+1556|0;Xb=xf+1552|0;Gd=xf+1548|0;wf=xf+1544|0;vf=xf+1540|0;Gc=xf+1536|0;qf=xf+1532|0;B=xf+1528|0;jb=xf+1626|0;vd=xf+1524|0;Ha=xf+1520|0;pb=xf+1516|0;tb=xf+1512|0;Ia=xf+1508|0;Wc=xf+1504|0;Q=xf+1500|0;Qa=xf+296|0;x=xf+1817|0;K=xf+1624|0;re=xf+1622|0;se=xf+1620|0;$=xf+288|0;ba=xf+280|0;Od=xf+272|0;Pd=xf+264|0;Ja=xf+1496|0;mc=xf+1492|0;X=xf+1488|0;nc=xf+1484|0;aa=xf+256|0;te=xf+248|0;ca=xf+240|0;nb=xf+1816|0;Qd=xf+1480|0;s=xf+1815|0;M=xf+1618|0;N=xf+1616|0;Ma=xf+1476|0;Y=xf+1472|0;sb=xf+1468|0;ub=xf+1464|0;Sc=xf+1460|0;wa=xf+1456|0;Zb=xf+1452|0;y=xf+1448|0;ve=xf+1444|0;we=xf+1440|0;z=xf+1436|0;Fd=xf+232|0;vb=xf+1432|0;Cb=xf+1428|0;_b=xf+1424|0;f=xf+1420|0;Fa=xf+1416|0;S=xf+1412|0;Dc=xf+1408|0;ie=xf+192|0;Ye=xf+1404|0;af=xf+1400|0;_e=xf+1396|0;lb=xf+1392|0;mb=xf+184|0;w=xf+1388|0;ne=xf+1384|0;nd=xf+1380|0;We=xf+1376|0;A=xf+1814|0;ef=xf+1372|0;md=xf+1368|0;Ua=xf+176|0;_a=xf+1364|0;Ra=xf+168|0;gb=xf+160|0;fb=xf+1360|0;me=xf+1356|0;zc=xf+1352|0;Vc=xf+1348|0;Xa=xf+1344|0;Xe=xf+1340|0;J=xf+1336|0;U=xf+1332|0;Da=xf+1328|0;Ga=xf+1324|0;Va=xf+152|0;ac=xf+1320|0;rb=xf+1316|0;df=xf+1312|0;cb=xf+1308|0;hd=xf+1304|0;pd=xf+1300|0;rd=xf+1296|0;ua=xf+1292|0;xa=xf+1288|0;Ba=xf+1284|0;Aa=xf+1280|0;D=xf+1276|0;ta=xf+1272|0;yb=xf+1268|0;pa=xf+1264|0;la=xf+1260|0;qa=xf+1256|0;fa=xf+1252|0;ea=xf+1248|0;Ac=xf+1244|0;Ya=xf+1240|0;Tc=xf+1236|0;wb=xf+1232|0;ha=xf+1228|0;Se=xf+1224|0;Dd=xf+1220|0;qc=xf+1216|0;Bc=xf+1212|0;vc=xf+1208|0;Uc=xf+1204|0;Hd=xf+1200|0;wc=xf+1196|0;Db=xf+1192|0;xc=xf+1188|0;Td=xf+1184|0;kb=xf+1180|0;Eb=xf+1176|0;Kd=xf+1160|0;Za=xf+1152|0;ma=xf+144|0;H=xf+1148|0;t=xf+1144|0;qe=xf+1140|0;ya=xf+1136|0;Fb=xf+1132|0;Ud=xf+1128|0;Lc=xf+1124|0;Mc=xf+1120|0;Ld=xf+1104|0;q=xf+1631|0;Gb=xf+1100|0;dc=xf+1096|0;Vd=xf+1092|0;na=xf+136|0;ue=xf+128|0;Hb=xf+1088|0;Wd=xf+1084|0;C=xf+1080|0;Xc=xf+1076|0;Hc=xf+1072|0;yc=xf+1068|0;Rc=xf+1064|0;oa=xf+120|0;Ib=xf+1060|0;hb=xf+1056|0;le=xf+1052|0;Ze=xf+1048|0;hf=xf+1044|0;ob=xf+1040|0;Jb=xf+1036|0;P=xf+1630|0;Kb=xf+1032|0;Xd=xf+1028|0;ab=xf+1024|0;Lb=xf+1020|0;Mb=xf+1016|0;ic=xf+1012|0;Ka=xf+1008|0;La=xf+112|0;Nb=xf+1004|0;xe=xf+104|0;wd=xf+1e3|0;ad=xf+996|0;Ob=xf+992|0;Pb=xf+988|0;jc=xf+984|0;Yd=xf+980|0;Qb=xf+976|0;kc=xf+972|0;Zd=xf+968|0;Rb=xf+964|0;_d=xf+960|0;Sb=xf+956|0;$a=xf+952|0;bf=xf+948|0;Tb=xf+944|0;lc=xf+940|0;ce=xf+936|0;Md=xf+920|0;Ub=xf+916|0;qd=xf+912|0;fe=xf+96|0;Vb=xf+908|0;de=xf+904|0;Nd=xf+888|0;ra=xf+884|0;ja=xf+880|0;Ta=xf+876|0;Wb=xf+872|0;Id=xf+868|0;O=xf+864|0;Cc=xf+860|0;ka=xf+856|0;cf=xf+852|0;ff=xf+848|0;za=xf+832|0;eb=xf+828|0;o=xf+824|0;Ea=xf+820|0;Wa=xf+816|0;Te=xf+812|0;Jd=xf+808|0;ye=xf+88|0;va=xf+804|0;I=xf+800|0;bb=xf+796|0;Sa=xf+792|0;od=xf+788|0;Yc=xf+784|0;Fc=xf+780|0;Ic=xf+776|0;kd=xf+772|0;oe=xf+768|0;Jc=xf+764|0;Nc=xf+760|0;Kc=xf+756|0;Na=xf+752|0;oc=xf+748|0;Z=xf+744|0;pc=xf+740|0;Zc=xf+736|0;pe=xf+48|0;_c=xf+732|0;_=xf+728|0;n=xf+716|0;$c=xf+712|0;Ab=xf+708|0;jd=xf+704|0;E=xf+700|0;F=xf+696|0;$e=xf+692|0;Bb=xf+688|0;Ca=xf+1629|0;qb=xf+684|0;Ue=xf+680|0;ud=xf+676|0;je=xf+8|0;gf=xf+672|0;rc=xf+668|0;sd=xf+664|0;xd=xf+660|0;bd=xf+656|0;Oa=xf+652|0;sa=xf+648|0;cd=xf+644|0;ld=xf+640|0;xb=xf+636|0;td=xf+632|0;yd=xf+628|0;sc=xf+624|0;Rd=xf+620|0;R=xf+616|0;u=xf+612|0;zd=xf+608|0;dd=xf+604|0;Ec=xf+600|0;he=xf+568|0;tc=xf+564|0;Ad=xf+560|0;ed=xf+556|0;Sd=xf+552|0;uc=xf+548|0;Bd=xf+544|0;gd=xf+540|0;Cd=xf+536|0;fd=xf+532|0;Pa=xf+528|0;T=xf+524|0;ge=xf;v=xf+520|0;Ed=xf+516|0;Re=xf+1628|0;ib=xf+512|0;zb=xf+508|0;jf=xf+504|0;Ve=xf+500|0;k[lf>>2]=a;k[g>>2]=k[(k[lf>>2]|0)+4>>2];k[pf>>2]=k[g>>2];k[rf>>2]=0;k[mf>>2]=k[k[lf>>2]>>2];i[ee>>0]=0;i[G>>0]=i[(k[mf>>2]|0)+62>>0]|0;k[da>>2]=0;k[of>>2]=0;k[db>>2]=0;k[e>>2]=k[(k[lf>>2]|0)+8>>2];k[Oc>>2]=0;k[Pc>>2]=0;k[Qc>>2]=0;k[id>>2]=0;k[h>>2]=0;yf=(k[mf>>2]|0)+32|0;a=k[yf+4>>2]|0;c=nf;k[c>>2]=k[yf>>2];k[c+4>>2]=a;ZH(k[lf>>2]|0);a:do if((k[(k[lf>>2]|0)+80>>2]|0)==7)d=860;else{k[(k[lf>>2]|0)+80>>2]=0;yf=(k[lf>>2]|0)+136|0;k[yf>>2]=0;k[yf+4>>2]=0;k[(k[lf>>2]|0)+20>>2]=0;k[(k[mf>>2]|0)+448+8>>2]=0;b:do if(!(k[(k[mf>>2]|0)+240>>2]|0)){if(k[(k[mf>>2]|0)+296>>2]|0){k[b>>2]=k[(k[lf>>2]|0)+108+16>>2];k[db>>2]=(k[(k[mf>>2]|0)+304>>2]|0)-(((k[b>>2]|0)>>>0)%((k[(k[mf>>2]|0)+304>>2]|0)>>>0)|0)}k[pf>>2]=(k[g>>2]|0)+((k[(k[lf>>2]|0)+76>>2]|0)*20|0);c:while(1){if(k[rf>>2]|0)break a;k[of>>2]=(k[of>>2]|0)+1;d:do switch(l[k[pf>>2]>>0]|0){case 13:{d=8;break}case 14:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Oc>>2]|0)+8>>1]=4;yf=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;d=k[Oc>>2]|0;k[d>>2]=yf;k[d+4>>2]=((yf|0)<0)<<31>>31;d=15;break}case 15:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[pf>>2]=(k[g>>2]|0)+((k[k[Oc>>2]>>2]|0)*20|0);j[(k[Oc>>2]|0)+8>>1]=128;break}case 16:{k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);c=(k[(k[pf>>2]|0)+12>>2]|0)-1|0;yf=k[id>>2]|0;k[yf>>2]=c;k[yf+4>>2]=((c|0)<0)<<31>>31;j[(k[id>>2]|0)+8>>1]=4;if(k[(k[pf>>2]|0)+8>>2]|0)d=15;break}case 17:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Xb>>2]=(k[g>>2]|0)+((k[k[Oc>>2]>>2]|0)*20|0);k[pf>>2]=(k[g>>2]|0)+(((k[(k[Xb>>2]|0)+8>>2]|0)-1|0)*20|0);j[(k[Oc>>2]|0)+8>>1]=128;break}case 18:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[Oc>>2]|0)+8>>1]=4;k[Gd>>2]=k[k[Oc>>2]>>2];c=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;yf=k[Oc>>2]|0;k[yf>>2]=c;k[yf+4>>2]=((c|0)<0)<<31>>31;k[pf>>2]=(k[g>>2]|0)+((k[Gd>>2]|0)*20|0);break}case 20:{k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Qc>>2]|0)+8>>1]&1)d=21;break}case 21:{d=21;break}case 22:{c=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=c;c=k[(k[pf>>2]|0)+4>>2]|0;yf=k[id>>2]|0;k[yf>>2]=c;k[yf+4>>2]=((c|0)<0)<<31>>31;break}case 23:{a=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=a;a=k[(k[pf>>2]|0)+16>>2]|0;c=k[a+4>>2]|0;yf=k[id>>2]|0;k[yf>>2]=k[a>>2];k[yf+4>>2]=c;break}case 133:{yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;j[(k[id>>2]|0)+8>>1]=8;p[k[id>>2]>>3]=+p[k[(k[pf>>2]|0)+16>>2]>>3];break}case 97:{yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;i[k[pf>>2]>>0]=24;yf=Sf(k[(k[pf>>2]|0)+16>>2]|0)|0;k[(k[pf>>2]|0)+4>>2]=yf;if((l[G>>0]|0)!=1){yf=nh(k[id>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,-1,1,0)|0;k[rf>>2]=yf;if((k[rf>>2]|0)==18){d=859;break c}if(hu(k[id>>2]|0,l[G>>0]|0)|0){d=860;break a}k[(k[id>>2]|0)+24>>2]=0;yf=(k[id>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|2048;if((i[(k[pf>>2]|0)+1>>0]|0)==-1)ag(k[mf>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);i[(k[pf>>2]|0)+1>>0]=-1;k[(k[pf>>2]|0)+16>>2]=k[(k[id>>2]|0)+16>>2];k[(k[pf>>2]|0)+4>>2]=k[(k[id>>2]|0)+12>>2]}if((k[(k[pf>>2]|0)+4>>2]|0)>(k[(k[mf>>2]|0)+88>>2]|0)){d=859;break c}else d=50;break}case 24:{d=50;break}case 25:{yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;k[B>>2]=(k[(k[pf>>2]|0)+12>>2]|0)-(k[(k[pf>>2]|0)+8>>2]|0);yf=((k[(k[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;j[jb>>1]=yf;j[(k[id>>2]|0)+8>>1]=yf;while(1){if((k[B>>2]|0)<=0)break d;k[id>>2]=(k[id>>2]|0)+40;ph(k[id>>2]|0);j[(k[id>>2]|0)+8>>1]=j[jb>>1]|0;k[B>>2]=(k[B>>2]|0)+-1}}case 26:{k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);j[(k[id>>2]|0)+8>>1]=(m[(k[id>>2]|0)+8>>1]|1)&-129;break}case 27:{yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;nh(k[id>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,0)|0;i[(k[id>>2]|0)+10>>0]=i[G>>0]|0;break}case 28:{k[vd>>2]=(k[(k[lf>>2]|0)+60>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(dI(k[vd>>2]|0)|0){d=859;break c}yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;LF(k[id>>2]|0,k[vd>>2]|0,2048);break}case 29:{k[Ha>>2]=k[(k[pf>>2]|0)+12>>2];k[pb>>2]=k[(k[pf>>2]|0)+4>>2];k[tb>>2]=k[(k[pf>>2]|0)+8>>2];k[Oc>>2]=(k[e>>2]|0)+((k[pb>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[tb>>2]|0)*40|0);do{OH(k[id>>2]|0,k[Oc>>2]|0);if((m[(k[id>>2]|0)+8>>1]&4096|0)!=0?(ih(k[id>>2]|0)|0)!=0:0){d=860;break a}k[Oc>>2]=(k[Oc>>2]|0)+40;k[id>>2]=(k[id>>2]|0)+40;yf=(k[Ha>>2]|0)+-1|0;k[Ha>>2]=yf}while((yf|0)!=0);break}case 30:{k[Ia>>2]=k[(k[pf>>2]|0)+12>>2];k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);while(1){LF(k[id>>2]|0,k[Oc>>2]|0,4096);if((m[(k[id>>2]|0)+8>>1]&4096|0)!=0?(ih(k[id>>2]|0)|0)!=0:0){d=860;break a}yf=k[Ia>>2]|0;k[Ia>>2]=yf+-1;if(!yf)break d;k[id>>2]=(k[id>>2]|0)+40;k[Oc>>2]=(k[Oc>>2]|0)+40}}case 31:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);LF(k[id>>2]|0,k[Oc>>2]|0,4096);break}case 32:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);yf=k[Oc>>2]|0;oh(k[id>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0);break}case 33:{if(((k[(k[mf>>2]|0)+296>>2]|0)!=0?(k[of>>2]|0)>>>0>=(k[db>>2]|0)>>>0:0)?(bc[k[(k[mf>>2]|0)+296>>2]&255](k[(k[mf>>2]|0)+300>>2]|0)|0)!=0:0){d=74;break c}yf=eI(k[lf>>2]|0,0)|0;k[rf>>2]=yf;if(0==(yf|0)?(yf=fI(k[lf>>2]|0,1)|0,k[rf>>2]=yf,(k[rf>>2]|0)==0):0){d=77;break c}break}case 94:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]|m[(k[Pc>>2]|0)+8>>1])&1){ph(k[id>>2]|0);break d}if((m[(k[Oc>>2]|0)+8>>1]&16384|0)!=0?(dh(k[Oc>>2]|0)|0)!=0:0){d=860;break a}if((m[(k[Pc>>2]|0)+8>>1]&16384|0)!=0?(dh(k[Pc>>2]|0)|0)!=0:0){d=860;break a}if((m[(k[Oc>>2]|0)+8>>1]&18|0)==0?(Cx(k[Oc>>2]|0,i[G>>0]|0,0)|0)!=0:0){d=860;break a}if((m[(k[Pc>>2]|0)+8>>1]&18|0)==0?(Cx(k[Pc>>2]|0,i[G>>0]|0,0)|0)!=0:0){d=860;break a}b=(k[(k[Oc>>2]|0)+12>>2]|0)+(k[(k[Pc>>2]|0)+12>>2]|0)|0;c=Qa;k[c>>2]=b;k[c+4>>2]=((b|0)<0)<<31>>31;c=Qa;b=k[c+4>>2]|0;yf=k[(k[mf>>2]|0)+88>>2]|0;a=((yf|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0>yf>>>0:0)){d=859;break c}if(Ex(k[id>>2]|0,(k[Qa>>2]|0)+2|0,(k[id>>2]|0)==(k[Pc>>2]|0)&1)|0){d=860;break a}j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|2;if((k[id>>2]|0)!=(k[Pc>>2]|0))sR(k[(k[id>>2]|0)+16>>2]|0,k[(k[Pc>>2]|0)+16>>2]|0,k[(k[Pc>>2]|0)+12>>2]|0)|0;sR((k[(k[id>>2]|0)+16>>2]|0)+(k[(k[Pc>>2]|0)+12>>2]|0)|0,k[(k[Oc>>2]|0)+16>>2]|0,k[(k[Oc>>2]|0)+12>>2]|0)|0;i[(k[(k[id>>2]|0)+16>>2]|0)+(k[Qa>>2]|0)>>0]=0;yf=Qa;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;i[(k[(k[id>>2]|0)+16>>2]|0)+yf>>0]=0;yf=(k[id>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|512;k[(k[id>>2]|0)+12>>2]=k[Qa>>2];i[(k[id>>2]|0)+10>>0]=i[G>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);yf=hI(k[Oc>>2]|0)|0;j[re>>1]=yf;k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);yf=hI(k[Pc>>2]|0)|0;j[se>>1]=yf;k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[K>>1]=m[(k[Oc>>2]|0)+8>>1]|m[(k[Pc>>2]|0)+8>>1];e:do if(!(m[K>>1]&1)){f:do if(m[re>>1]&m[se>>1]&4){yf=k[Oc>>2]|0;c=k[yf+4>>2]|0;a=$;k[a>>2]=k[yf>>2];k[a+4>>2]=c;a=k[Pc>>2]|0;c=k[a+4>>2]|0;yf=ba;k[yf>>2]=k[a>>2];k[yf+4>>2]=c;i[x>>0]=1;switch(l[k[pf>>2]>>0]|0){case 89:{yf=$;if(iI(ba,k[yf>>2]|0,k[yf+4>>2]|0)|0)break f;break}case 90:{yf=$;if(jI(ba,k[yf>>2]|0,k[yf+4>>2]|0)|0)break f;break}case 91:{yf=$;if(kI(ba,k[yf>>2]|0,k[yf+4>>2]|0)|0)break f;break}case 92:{yf=$;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)break e;c=$;yf=ba;if(((k[c>>2]|0)==-1?(k[c+4>>2]|0)==-1:0)&((k[yf>>2]|0)==0?(k[yf+4>>2]|0)==-2147483648:0))break f;c=$;yf=ba;c=zR(k[yf>>2]|0,k[yf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=ba;k[yf>>2]=c;k[yf+4>>2]=L;break}default:{yf=$;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)break e;yf=$;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==-1:0){yf=$;k[yf>>2]=1;k[yf+4>>2]=0}c=$;yf=ba;c=AR(k[yf>>2]|0,k[yf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=ba;k[yf>>2]=c;k[yf+4>>2]=L}}a=ba;c=k[a+4>>2]|0;yf=k[id>>2]|0;k[yf>>2]=k[a>>2];k[yf+4>>2]=c;j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|4;break d}else i[x>>0]=0;while(0);zf=+gh(k[Oc>>2]|0);p[Od>>3]=zf;zf=+gh(k[Pc>>2]|0);p[Pd>>3]=zf;switch(l[k[pf>>2]>>0]|0){case 89:{p[Pd>>3]=+p[Pd>>3]+ +p[Od>>3];break}case 90:{p[Pd>>3]=+p[Pd>>3]-+p[Od>>3];break}case 91:{p[Pd>>3]=+p[Pd>>3]*+p[Od>>3];break}case 92:{if(+p[Od>>3]==0.0)break e;p[Pd>>3]=+p[Pd>>3]/+p[Od>>3];break}default:{zf=+p[Od>>3];yf=+W(zf)>=1.0?(zf>0.0?~~+ia(+V(zf/4294967296.0),4294967295.0)>>>0:~~+ga((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;c=$;k[c>>2]=~~zf>>>0;k[c+4>>2]=yf;zf=+p[Pd>>3];c=+W(zf)>=1.0?(zf>0.0?~~+ia(+V(zf/4294967296.0),4294967295.0)>>>0:~~+ga((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;yf=ba;k[yf>>2]=~~zf>>>0;k[yf+4>>2]=c;yf=$;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)break e;yf=$;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==-1:0){yf=$;k[yf>>2]=1;k[yf+4>>2]=0}c=ba;yf=$;yf=AR(k[c>>2]|0,k[c+4>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0;p[Pd>>3]=+(yf>>>0)+4294967296.0*+(L|0)}}if(!(RF(+p[Pd>>3])|0)){p[k[id>>2]>>3]=+p[Pd>>3];j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|8;if((i[x>>0]|0)!=0?1:((m[re>>1]|m[se>>1])&8|0)!=0)break d;zx(k[id>>2]|0);break d}}while(0);ph(k[id>>2]|0);break}case 34:{if(k[(k[pf>>2]|0)+4>>2]|0)oh((k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 35:{k[Ja>>2]=l[(k[pf>>2]|0)+3>>0];yf=Pw(k[mf>>2]|0,32+((k[Ja>>2]|0)-1<<2)|0,0)|0;k[mc>>2]=yf;if(!(k[mc>>2]|0)){d=860;break a}k[k[mc>>2]>>2]=0;k[(k[mc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[mc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;k[(k[mc>>2]|0)+12>>2]=k[lf>>2];i[(k[mc>>2]|0)+26>>0]=k[Ja>>2];i[(k[pf>>2]|0)+1>>0]=-20;k[(k[pf>>2]|0)+16>>2]=k[mc>>2];i[k[pf>>2]>>0]=36;d=132;break}case 36:{d=132;break}case 88:case 87:case 86:case 85:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]|m[(k[Pc>>2]|0)+8>>1])&1){ph(k[id>>2]|0);break d}yf=hh(k[Pc>>2]|0)|0;c=aa;k[c>>2]=yf;k[c+4>>2]=L;c=hh(k[Oc>>2]|0)|0;yf=ca;k[yf>>2]=c;k[yf+4>>2]=L;i[nb>>0]=i[k[pf>>2]>>0]|0;do if((l[nb>>0]|0)!=85){a=ca;b=k[a>>2]|0;a=k[a+4>>2]|0;if((l[nb>>0]|0)==86){Af=aa;c=k[Af+4>>2]|a;yf=aa;k[yf>>2]=k[Af>>2]|b;k[yf+4>>2]=c;break}if((b|0)!=0|(a|0)!=0){if((k[ca+4>>2]|0)<0){i[nb>>0]=175-(l[nb>>0]|0);yf=ca;c=k[yf+4>>2]|0;yf=(c|0)>-1|(c|0)==-1&(k[yf>>2]|0)>>>0>4294967232;c=ca;c=pR(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;Af=ca;k[Af>>2]=yf?c:64;k[Af+4>>2]=yf?L:0}Af=ca;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>=64){Af=aa;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>=0)b=1;else b=(l[nb>>0]|0)==87;yf=b?0:-1;Af=aa;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break};k[te>>2]=k[aa>>2];k[te+4>>2]=k[aa+4>>2];b=k[ca>>2]|0;c=te;a=k[c>>2]|0;c=k[c+4>>2]|0;if((l[nb>>0]|0)!=87){yf=rR(a|0,c|0,b|0)|0;Af=te;k[Af>>2]=yf;k[Af+4>>2]=L;if((k[aa+4>>2]|0)<0){c=ca;c=pR(64,0,k[c>>2]|0,k[c+4>>2]|0)|0;c=vR(-1,-1,c|0)|0;a=te;yf=k[a+4>>2]|L;Af=te;k[Af>>2]=k[a>>2]|c;k[Af+4>>2]=yf}}else{yf=vR(a|0,c|0,b|0)|0;Af=te;k[Af>>2]=yf;k[Af+4>>2]=L};k[aa>>2]=k[te>>2];k[aa+4>>2]=k[te+4>>2]}}else{c=ca;a=aa;yf=k[a+4>>2]&k[c+4>>2];Af=aa;k[Af>>2]=k[a>>2]&k[c>>2];k[Af+4>>2]=yf}while(0);c=aa;yf=k[c+4>>2]|0;Af=k[id>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|4;break}case 37:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Gx(k[Oc>>2]|0)|0;yf=k[(k[pf>>2]|0)+8>>2]|0;Af=k[Oc>>2]|0;c=Af;yf=qR(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=L;break}case 38:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]&4|0)==0?(Bx(k[Oc>>2]|0,67,i[G>>0]|0),(m[(k[Oc>>2]|0)+8>>1]&4|0)==0):0)if(!(k[(k[pf>>2]|0)+8>>2]|0)){d=165;break c}else{d=15;break d}j[(k[Oc>>2]|0)+8>>1]=m[(k[Oc>>2]|0)+8>>1]&-49664|4;break}case 39:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Oc>>2]|0)+8>>1]&4)Hx(k[Oc>>2]|0)|0;break}case 40:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Oc>>2]|0)+8>>1]&16384)b=dh(k[Oc>>2]|0)|0;else b=0;k[rf>>2]=b;ux(k[Oc>>2]|0,k[(k[pf>>2]|0)+8>>2]&255,i[G>>0]|0);break}case 83:case 80:case 81:case 82:case 78:case 79:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j[M>>1]=j[(k[Oc>>2]|0)+8>>1]|0;j[N>>1]=j[(k[Qc>>2]|0)+8>>1]|0;b=l[(k[pf>>2]|0)+3>>0]|0;do if((m[M>>1]|m[N>>1])&1){if(!(b&128)){b=k[pf>>2]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(l[b+3>>0]&16){d=15;break d}else break d;else{k[id>>2]=(k[e>>2]|0)+((k[b+8>>2]|0)*40|0);j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|1;break d}}if(((m[M>>1]&1|0)!=0?(m[N>>1]&1|0)!=0:0)?(m[N>>1]&256|0)==0:0){k[Qd>>2]=0;break}k[Qd>>2]=1}else{i[s>>0]=b&71;if((i[s>>0]|0)>=67){if((m[M>>1]&14|0)==2)Hh(k[Oc>>2]|0,0);if((m[N>>1]&14|0)==2)Hh(k[Qc>>2]|0,0)}else if((i[s>>0]|0)==66){if((m[M>>1]&2|0)==0?(m[M>>1]&12|0)!=0:0){Cx(k[Oc>>2]|0,i[G>>0]|0,1)|0;j[M>>1]=m[(k[Oc>>2]|0)+8>>1]&-33280|m[M>>1]&33279}if((m[N>>1]&2|0)==0?(m[N>>1]&12|0)!=0:0){Cx(k[Qc>>2]|0,i[G>>0]|0,1)|0;j[N>>1]=m[(k[Qc>>2]|0)+8>>1]&-33280|m[N>>1]&33279}}if(m[M>>1]&16384){dh(k[Oc>>2]|0)|0;j[M>>1]=m[M>>1]&-16385}if(m[N>>1]&16384){dh(k[Qc>>2]|0)|0;j[N>>1]=m[N>>1]&-16385}Af=mI(k[Qc>>2]|0,k[Oc>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[Qd>>2]=Af}while(0);switch(l[k[pf>>2]>>0]|0){case 79:{k[Qd>>2]=(k[Qd>>2]|0)==0&1;break}case 78:{k[Qd>>2]=(k[Qd>>2]|0)!=0&1;break}case 82:{k[Qd>>2]=(k[Qd>>2]|0)<0&1;break}case 81:{k[Qd>>2]=(k[Qd>>2]|0)<=0&1;break}case 80:{k[Qd>>2]=(k[Qd>>2]|0)>0&1;break}default:k[Qd>>2]=(k[Qd>>2]|0)>=0&1}j[(k[Oc>>2]|0)+8>>1]=j[M>>1]|0;j[(k[Qc>>2]|0)+8>>1]=j[N>>1]|0;if(!(l[(k[pf>>2]|0)+3>>0]&32))if(k[Qd>>2]|0){d=15;break d}else break d;else{k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|4;yf=k[Qd>>2]|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break d}}case 41:{k[h>>2]=(k[(k[pf>>2]|0)+16>>2]|0)+4;break}case 42:{if(!(l[(k[pf>>2]|0)+3>>0]&1))k[h>>2]=0;k[Ma>>2]=k[(k[pf>>2]|0)+12>>2];k[Sc>>2]=k[(k[pf>>2]|0)+16>>2];k[sb>>2]=k[(k[pf>>2]|0)+4>>2];k[ub>>2]=k[(k[pf>>2]|0)+8>>2];k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[Ma>>2]|0))break;b=k[Y>>2]|0;if(k[h>>2]|0)b=k[(k[h>>2]|0)+(b<<2)>>2]|0;k[wa>>2]=b;k[Zb>>2]=k[(k[Sc>>2]|0)+20+(k[Y>>2]<<2)>>2];k[y>>2]=l[(k[(k[Sc>>2]|0)+16>>2]|0)+(k[Y>>2]|0)>>0];Af=mI((k[e>>2]|0)+(((k[sb>>2]|0)+(k[wa>>2]|0)|0)*40|0)|0,(k[e>>2]|0)+(((k[ub>>2]|0)+(k[wa>>2]|0)|0)*40|0)|0,k[Zb>>2]|0)|0;k[da>>2]=Af;if(k[da>>2]|0){d=217;break}k[Y>>2]=(k[Y>>2]|0)+1}if((d|0)==217?(d=0,(k[y>>2]|0)!=0):0)k[da>>2]=0-(k[da>>2]|0);k[h>>2]=0;break}case 43:{if((k[da>>2]|0)<0){k[pf>>2]=(k[g>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}b=k[pf>>2]|0;if(!(k[da>>2]|0)){k[pf>>2]=(k[g>>2]|0)+(((k[b+8>>2]|0)-1|0)*20|0);break d}else{k[pf>>2]=(k[g>>2]|0)+(((k[b+12>>2]|0)-1|0)*20|0);break d}}case 71:case 72:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Oc>>2]|0)+8>>1]&1)k[ve>>2]=2;else{Af=hh(k[Oc>>2]|0)|0;k[ve>>2]=((Af|0)!=0|(L|0)!=0)&1}k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(m[(k[Pc>>2]|0)+8>>1]&1)k[we>>2]=2;else{Af=hh(k[Pc>>2]|0)|0;k[we>>2]=((Af|0)!=0|(L|0)!=0)&1}b=((k[ve>>2]|0)*3|0)+(k[we>>2]|0)|0;if((l[k[pf>>2]>>0]|0)==72)k[ve>>2]=l[40716+b>>0];else k[ve>>2]=l[40725+b>>0];k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((k[ve>>2]|0)==2){j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|1;break d}else{yf=k[ve>>2]|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|4;break d}}case 19:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);ph(k[id>>2]|0);if(!(m[(k[Oc>>2]|0)+8>>1]&1)){j[(k[id>>2]|0)+8>>1]=4;yf=hh(k[Oc>>2]|0)|0;yf=(((yf|0)!=0|(L|0)!=0)^1)&1;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31}break}case 96:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);ph(k[id>>2]|0);if(!(m[(k[Oc>>2]|0)+8>>1]&1)){j[(k[id>>2]|0)+8>>1]=4;yf=hh(k[Oc>>2]|0)|0;Af=k[id>>2]|0;k[Af>>2]=~yf;k[Af+4>>2]=~L}break}case 44:{if(i[(k[(k[lf>>2]|0)+200>>2]|0)+(k[(k[pf>>2]|0)+4>>2]|0)>>0]|0)d=15;else i[(k[(k[lf>>2]|0)+200>>2]|0)+(k[(k[pf>>2]|0)+4>>2]|0)>>0]=1;break}case 46:case 45:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Oc>>2]|0)+8>>1]&1)){Af=+gh(k[Oc>>2]|0)!=0.0&1;k[z>>2]=Af;if((l[k[pf>>2]>>0]|0)==46)k[z>>2]=((k[z>>2]|0)!=0^1)&1}else k[z>>2]=k[(k[pf>>2]|0)+12>>2];if(k[z>>2]|0)d=15;break}case 76:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Oc>>2]|0)+8>>1]&1)d=15;break}case 77:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Oc>>2]|0)+8>>1]&1))d=15;break}case 47:{k[Cb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[vb>>2]=k[(k[pf>>2]|0)+8>>2];Af=nI(Cb,vb)|0;k[rf>>2]=Af;k[Dc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[f>>2]=k[(k[Cb>>2]|0)+76>>2];k[_b>>2]=k[(k[Cb>>2]|0)+16>>2];if(k[rf>>2]|0){d=861;break c}b=k[Cb>>2]|0;do if((k[(k[Cb>>2]|0)+56>>2]|0)!=(k[(k[lf>>2]|0)+72>>2]|0)){a=k[Cb>>2]|0;do if(i[b+2>>0]|0)if((l[a>>0]|0)==3){k[nd>>2]=(k[e>>2]|0)+((k[(k[Cb>>2]|0)+16>>2]|0)*40|0);Af=k[(k[nd>>2]|0)+12>>2]|0;k[w>>2]=Af;k[(k[Cb>>2]|0)+64>>2]=Af;k[(k[Cb>>2]|0)+60>>2]=Af;k[(k[Cb>>2]|0)+72>>2]=k[(k[nd>>2]|0)+16>>2];break}else{ph(k[Dc>>2]|0);break d}else{b=k[_b>>2]|0;if(!(l[a+4>>0]|0)){CH(b,Fd)|0;Af=oI(k[_b>>2]|0,w)|0;k[(k[Cb>>2]|0)+72>>2]=Af;k[(k[Cb>>2]|0)+60>>2]=k[Fd>>2]}else{pI(b,(k[Cb>>2]|0)+60|0)|0;Af=qI(k[_b>>2]|0,w)|0;k[(k[Cb>>2]|0)+72>>2]=Af}b=k[(k[Cb>>2]|0)+60>>2]|0;if((k[(k[Cb>>2]|0)+60>>2]|0)>>>0<=(k[w>>2]|0)>>>0){k[(k[Cb>>2]|0)+64>>2]=b;break}if(b>>>0>(k[(k[mf>>2]|0)+88>>2]|0)>>>0){d=859;break c}k[(k[Cb>>2]|0)+64>>2]=k[w>>2]}while(0);k[(k[Cb>>2]|0)+56>>2]=k[(k[lf>>2]|0)+72>>2];b=k[(k[Cb>>2]|0)+72>>2]|0;if((l[k[(k[Cb>>2]|0)+72>>2]>>0]|0)<128){k[lb>>2]=l[b>>0];b=1}else b=(DF(b,lb)|0)&255;k[(k[Cb>>2]|0)+68>>2]=b&255;j[(k[Cb>>2]|0)+14>>1]=0;k[k[f>>2]>>2]=k[lb>>2];if((k[w>>2]|0)>>>0<(k[lb>>2]|0)>>>0){k[(k[Cb>>2]|0)+72>>2]=0;k[(k[Cb>>2]|0)+64>>2]=0;if((k[lb>>2]|0)>>>0<=98307?(k[lb>>2]|0)>>>0<=(k[(k[Cb>>2]|0)+60>>2]|0)>>>0:0){d=272;break}Af=Vj(76686)|0;k[rf>>2]=Af;break d}else d=272}else if((m[b+14>>1]|0)<=(k[vb>>2]|0))d=272;else k[ne>>2]=k[(k[Cb>>2]|0)+80+(k[vb>>2]<<2)>>2];while(0);if((d|0)==272){d=0;do if((k[(k[Cb>>2]|0)+68>>2]|0)>>>0<(k[k[f>>2]>>2]|0)>>>0){if(!(k[(k[Cb>>2]|0)+72>>2]|0)){b=ie;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));Af=rI(k[_b>>2]|0,0,k[k[f>>2]>>2]|0,((i[(k[Cb>>2]|0)+4>>0]|0)!=0^1)&1,ie)|0;k[rf>>2]=Af;if(k[rf>>2]|0)break d;k[Ye>>2]=k[ie+16>>2]}else k[Ye>>2]=k[(k[Cb>>2]|0)+72>>2];k[S>>2]=m[(k[Cb>>2]|0)+14>>1];Af=mb;k[Af>>2]=k[(k[f>>2]|0)+(k[S>>2]<<2)>>2];k[Af+4>>2]=0;k[af>>2]=(k[Ye>>2]|0)+(k[(k[Cb>>2]|0)+68>>2]|0);k[_e>>2]=(k[Ye>>2]|0)+(k[k[f>>2]>>2]|0);do{Af=l[k[af>>2]>>0]|0;k[ne>>2]=Af;b=k[af>>2]|0;if(Af>>>0<128){k[af>>2]=b+1;yf=(sI(k[ne>>2]&255)|0)&255;Af=mb;yf=qR(k[Af>>2]|0,k[Af+4>>2]|0,yf|0,0)|0;Af=mb;k[Af>>2]=yf;k[Af+4>>2]=L}else{yf=(DF(b,ne)|0)&255;k[af>>2]=(k[af>>2]|0)+yf;yf=EF(k[ne>>2]|0)|0;Af=mb;yf=qR(k[Af>>2]|0,k[Af+4>>2]|0,yf|0,0)|0;Af=mb;k[Af>>2]=yf;k[Af+4>>2]=L}yf=k[ne>>2]|0;Af=k[S>>2]|0;k[S>>2]=Af+1;k[(k[Cb>>2]|0)+80+(Af<<2)>>2]=yf;k[(k[f>>2]|0)+(k[S>>2]<<2)>>2]=k[mb>>2];if((k[S>>2]|0)>(k[vb>>2]|0))break}while((k[af>>2]|0)>>>0<(k[_e>>2]|0)>>>0);j[(k[Cb>>2]|0)+14>>1]=k[S>>2];k[(k[Cb>>2]|0)+68>>2]=(k[af>>2]|0)-(k[Ye>>2]|0);if(!(k[(k[Cb>>2]|0)+72>>2]|0))ch(ie);if((k[af>>2]|0)>>>0>=(k[_e>>2]|0)>>>0){if((k[af>>2]|0)>>>0<=(k[_e>>2]|0)>>>0?(Af=mb,!((k[Af+4>>2]|0)!=0?1:(k[Af>>2]|0)!=(k[(k[Cb>>2]|0)+60>>2]|0))):0)d=288}else d=288;if((d|0)==288?(d=0,Af=mb,yf=k[Af+4>>2]|0,!(yf>>>0>0|((yf|0)==0?(k[Af>>2]|0)>>>0>(k[(k[Cb>>2]|0)+60>>2]|0)>>>0:0))):0)break;Af=Vj(76747)|0;k[rf>>2]=Af;break d}else k[ne>>2]=0;while(0);if((m[(k[Cb>>2]|0)+14>>1]|0)<=(k[vb>>2]|0)){b=k[Dc>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)==-8){LF(b,k[(k[pf>>2]|0)+16>>2]|0,2048);break d}else{ph(b);break d}}}if(m[(k[Dc>>2]|0)+8>>1]&9312)ph(k[Dc>>2]|0);i[(k[Dc>>2]|0)+10>>0]=i[G>>0]|0;if((k[(k[Cb>>2]|0)+64>>2]|0)>>>0>=(k[(k[f>>2]|0)+((k[vb>>2]|0)+1<<2)>>2]|0)>>>0){k[Ye>>2]=(k[(k[Cb>>2]|0)+72>>2]|0)+(k[(k[f>>2]|0)+(k[vb>>2]<<2)>>2]|0);if((k[ne>>2]|0)>>>0<12){FF(k[Ye>>2]|0,k[ne>>2]|0,k[Dc>>2]|0)|0;break d}b=(((k[ne>>2]|0)-12|0)>>>0)/2|0;k[Fa>>2]=b;k[(k[Dc>>2]|0)+12>>2]=b;b=k[Dc>>2]|0;if((k[(k[Dc>>2]|0)+24>>2]|0)<((k[Fa>>2]|0)+2|0)){j[b+8>>1]=1;if(Ex(k[Dc>>2]|0,(k[Fa>>2]|0)+2|0,0)|0){d=860;break a}}else k[(k[Dc>>2]|0)+16>>2]=k[b+20>>2];sR(k[(k[Dc>>2]|0)+16>>2]|0,k[Ye>>2]|0,k[Fa>>2]|0)|0;i[(k[(k[Dc>>2]|0)+16>>2]|0)+(k[Fa>>2]|0)>>0]=0;i[(k[(k[Dc>>2]|0)+16>>2]|0)+((k[Fa>>2]|0)+1)>>0]=0;j[(k[Dc>>2]|0)+8>>1]=j[17282+((k[ne>>2]&1)<<1)>>1]|0;break d}do if(l[(k[pf>>2]|0)+3>>0]&192){if((k[ne>>2]|0)>>>0>=12?(k[ne>>2]&1|0)==0:0)break;if(!(l[(k[pf>>2]|0)+3>>0]&128))d=309}else d=309;while(0);if((d|0)==309?(d=0,Af=EF(k[ne>>2]|0)|0,k[Fa>>2]=Af,(Af|0)!=0):0){Af=rI(k[_b>>2]|0,k[(k[f>>2]|0)+(k[vb>>2]<<2)>>2]|0,k[Fa>>2]|0,((i[(k[Cb>>2]|0)+4>>0]|0)!=0^1)&1,k[Dc>>2]|0)|0;k[rf>>2]=Af;if(k[rf>>2]|0)break d;FF(k[(k[Dc>>2]|0)+16>>2]|0,k[ne>>2]|0,k[Dc>>2]|0)|0;Af=(k[Dc>>2]|0)+8|0;j[Af>>1]=m[Af>>1]&-4097;break d}FF(40734,k[ne>>2]|0,k[Dc>>2]|0)|0;break}case 48:{k[We>>2]=k[(k[pf>>2]|0)+16>>2];k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);while(1){Af=k[We>>2]|0;k[We>>2]=Af+1;Af=i[Af>>0]|0;i[A>>0]=Af;if(!(Af<<24>>24))break d;Bx(k[Oc>>2]|0,i[A>>0]|0,i[G>>0]|0);k[Oc>>2]=(k[Oc>>2]|0)+40}}case 49:{Af=Ua;k[Af>>2]=0;k[Af+4>>2]=0;k[_a>>2]=0;Af=gb;k[Af>>2]=0;k[Af+4>>2]=0;k[Xa>>2]=k[(k[pf>>2]|0)+4>>2];k[Xe>>2]=k[(k[pf>>2]|0)+16>>2];k[zc>>2]=(k[e>>2]|0)+((k[Xa>>2]|0)*40|0);k[Xa>>2]=k[(k[pf>>2]|0)+8>>2];k[Vc>>2]=(k[zc>>2]|0)+(((k[Xa>>2]|0)-1|0)*40|0);k[J>>2]=l[(k[lf>>2]|0)+87>>0];k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(k[Xe>>2]|0){k[md>>2]=k[zc>>2];do{yf=k[md>>2]|0;k[md>>2]=yf+40;Af=k[Xe>>2]|0;k[Xe>>2]=Af+1;Bx(yf,i[Af>>0]|0,i[G>>0]|0)}while((i[k[Xe>>2]>>0]|0)!=0)}k[md>>2]=k[Vc>>2];do{Af=tI(k[md>>2]|0,k[J>>2]|0,Ga)|0;k[me>>2]=Af;k[(k[md>>2]|0)+28>>2]=Af;do if(m[(k[md>>2]|0)+8>>1]&16384){Af=Ua;b=k[md>>2]|0;if((k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0)if(dh(b)|0){d=860;break a}else break;else{yf=k[b>>2]|0;Af=gb;yf=qR(k[Af>>2]|0,k[Af+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;Af=gb;k[Af>>2]=yf;k[Af+4>>2]=L;k[Ga>>2]=(k[Ga>>2]|0)-(k[k[md>>2]>>2]|0);break}}while(0);yf=Ua;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,k[Ga>>2]|0,0)|0;Af=Ua;k[Af>>2]=yf;k[Af+4>>2]=L;if((k[me>>2]|0)>>>0<=127)b=1;else b=JF(k[me>>2]|0,0)|0;k[_a>>2]=(k[_a>>2]|0)+b;Af=(k[md>>2]|0)+-40|0;k[md>>2]=Af}while(Af>>>0>=(k[zc>>2]|0)>>>0);b=k[_a>>2]|0;if((k[_a>>2]|0)>126){yf=JF(b,((b|0)<0)<<31>>31)|0;k[fb>>2]=yf;k[_a>>2]=(k[_a>>2]|0)+(k[fb>>2]|0);yf=k[fb>>2]|0;Af=k[_a>>2]|0;if((yf|0)<(JF(Af,((Af|0)<0)<<31>>31)|0))k[_a>>2]=(k[_a>>2]|0)+1}else k[_a>>2]=b+1;a=k[_a>>2]|0;yf=Ua;yf=qR(a|0,((a|0)<0)<<31>>31|0,k[yf>>2]|0,k[yf+4>>2]|0)|0;a=Ra;k[a>>2]=yf;k[a+4>>2]=L;a=Ra;yf=gb;yf=qR(k[a>>2]|0,k[a+4>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0;a=L;Af=k[(k[mf>>2]|0)+88>>2]|0;c=((Af|0)<0)<<31>>31;if((a|0)>(c|0)|(a|0)==(c|0)&yf>>>0>Af>>>0){d=859;break c}if(Dx(k[id>>2]|0,k[Ra>>2]|0)|0){d=860;break a}k[ef>>2]=k[(k[id>>2]|0)+16>>2];if((k[_a>>2]|0)>>>0<128){i[k[ef>>2]>>0]=k[_a>>2];b=1}else{b=k[_a>>2]|0;b=uI(k[ef>>2]|0,b,((b|0)<0)<<31>>31)|0}k[U>>2]=b&255;k[Da>>2]=k[_a>>2];k[md>>2]=k[zc>>2];do{k[me>>2]=k[(k[md>>2]|0)+28>>2];if((k[me>>2]|0)>>>0<128){i[(k[ef>>2]|0)+(k[U>>2]|0)>>0]=k[me>>2];b=1}else b=uI((k[ef>>2]|0)+(k[U>>2]|0)|0,k[me>>2]|0,0)|0;k[U>>2]=(k[U>>2]|0)+(b&255);Af=vI((k[ef>>2]|0)+(k[Da>>2]|0)|0,k[md>>2]|0,k[me>>2]|0)|0;k[Da>>2]=(k[Da>>2]|0)+Af;Af=(k[md>>2]|0)+40|0;k[md>>2]=Af}while(Af>>>0<=(k[Vc>>2]|0)>>>0);k[(k[id>>2]|0)+12>>2]=k[Ra>>2];j[(k[id>>2]|0)+8>>1]=16;Af=gb;if((k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0){k[k[id>>2]>>2]=k[gb>>2];Af=(k[id>>2]|0)+8|0;j[Af>>1]=m[Af>>1]|16384}i[(k[id>>2]|0)+10>>0]=1;break}case 50:{k[ac>>2]=k[(k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];c=Va;k[c>>2]=0;k[c+4>>2]=0;c=wI(k[ac>>2]|0,Va)|0;k[rf>>2]=c;c=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=c;c=Va;yf=k[c+4>>2]|0;Af=k[id>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break}case 0:{k[rb>>2]=k[(k[pf>>2]|0)+4>>2];k[df>>2]=k[(k[pf>>2]|0)+16>>2];if(!(k[rb>>2]|0)){if((k[(k[mf>>2]|0)+156>>2]|0)>0){aI(k[lf>>2]|0,40742,Be);k[rf>>2]=5;break d}Af=Sf(k[df>>2]|0)|0;k[cb>>2]=Af;Af=xI(k[mf>>2]|0,0,(k[(k[mf>>2]|0)+504>>2]|0)+(k[(k[mf>>2]|0)+500>>2]|0)|0)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}Af=Pw(k[mf>>2]|0,32+(k[cb>>2]|0)+1|0,0)|0;k[hd>>2]=Af;if(!(k[hd>>2]|0))break d;k[k[hd>>2]>>2]=(k[hd>>2]|0)+32;sR(k[k[hd>>2]>>2]|0,k[df>>2]|0,(k[cb>>2]|0)+1|0)|0;b=k[mf>>2]|0;if(i[(k[mf>>2]|0)+63>>0]|0){i[b+63>>0]=0;i[(k[mf>>2]|0)+71>>0]=1}else{Af=b+500|0;k[Af>>2]=(k[Af>>2]|0)+1}k[(k[hd>>2]|0)+24>>2]=k[(k[mf>>2]|0)+492>>2];k[(k[mf>>2]|0)+492>>2]=k[hd>>2];Af=(k[mf>>2]|0)+512|0;yf=k[Af+4>>2]|0;c=(k[hd>>2]|0)+8|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=(k[mf>>2]|0)+520|0;yf=k[c+4>>2]|0;Af=(k[hd>>2]|0)+16|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break d}k[ua>>2]=0;k[pd>>2]=k[(k[mf>>2]|0)+492>>2];while(1){if(!(k[pd>>2]|0))break;if(!(be(k[k[pd>>2]>>2]|0,k[df>>2]|0)|0))break;k[ua>>2]=(k[ua>>2]|0)+1;k[pd>>2]=k[(k[pd>>2]|0)+24>>2]}if(!(k[pd>>2]|0)){Af=k[lf>>2]|0;k[Ce>>2]=k[df>>2];aI(Af,40793,Ce);k[rf>>2]=1;break d}if((k[rb>>2]|0)==1?(k[(k[mf>>2]|0)+156>>2]|0)>0:0){aI(k[lf>>2]|0,40815,De);k[rf>>2]=5;break d}if(!(k[(k[pd>>2]|0)+24>>2]|0))b=(l[(k[mf>>2]|0)+71>>0]|0)!=0;else b=0;k[Ba>>2]=b&1;if(!((k[Ba>>2]|0)!=0&(k[rb>>2]|0)==1)){k[ua>>2]=(k[(k[mf>>2]|0)+500>>2]|0)-(k[ua>>2]|0)-1;g:do if((k[rb>>2]|0)==2){k[Aa>>2]=(k[(k[mf>>2]|0)+24>>2]&2|0)!=0&1;k[xa>>2]=0;while(1){if((k[xa>>2]|0)>=(k[(k[mf>>2]|0)+20>>2]|0))break g;Af=yI(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[xa>>2]<<4)+4>>2]|0,516,(k[Aa>>2]|0)==0&1)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}k[xa>>2]=(k[xa>>2]|0)+1}}else k[Aa>>2]=0;while(0);k[xa>>2]=0;while(1){if((k[xa>>2]|0)>=(k[(k[mf>>2]|0)+20>>2]|0))break;Af=zI(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[xa>>2]<<4)+4>>2]|0,k[rb>>2]|0,k[ua>>2]|0)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}k[xa>>2]=(k[xa>>2]|0)+1}if(k[Aa>>2]|0){Yh(k[mf>>2]|0);Jg(k[mf>>2]|0);k[(k[mf>>2]|0)+24>>2]=k[(k[mf>>2]|0)+24>>2]|2}}else{Af=eI(k[lf>>2]|0,1)|0;k[rf>>2]=Af;if(Af){d=858;break c}i[(k[mf>>2]|0)+63>>0]=1;if((bI(k[lf>>2]|0)|0)==5){d=367;break c}i[(k[mf>>2]|0)+71>>0]=0;k[rf>>2]=k[(k[lf>>2]|0)+80>>2]}while(1){if((k[(k[mf>>2]|0)+492>>2]|0)==(k[pd>>2]|0))break;k[rd>>2]=k[(k[mf>>2]|0)+492>>2];k[(k[mf>>2]|0)+492>>2]=k[(k[rd>>2]|0)+24>>2];ag(k[mf>>2]|0,k[rd>>2]|0);Af=(k[mf>>2]|0)+500|0;k[Af>>2]=(k[Af>>2]|0)+-1}b=k[pd>>2]|0;if((k[rb>>2]|0)==1){k[(k[mf>>2]|0)+492>>2]=k[b+24>>2];ag(k[mf>>2]|0,k[pd>>2]|0);if(!(k[Ba>>2]|0)){Af=(k[mf>>2]|0)+500|0;k[Af>>2]=(k[Af>>2]|0)+-1}}else{Af=b+8|0;yf=k[Af+4>>2]|0;c=(k[mf>>2]|0)+512|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=(k[pd>>2]|0)+16|0;yf=k[c+4>>2]|0;Af=(k[mf>>2]|0)+520|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}if((k[Ba>>2]|0)==0|(k[rb>>2]|0)==2?(Af=xI(k[mf>>2]|0,k[rb>>2]|0,k[ua>>2]|0)|0,k[rf>>2]=Af,(k[rf>>2]|0)!=0):0){d=861;break c}break}case 1:{k[D>>2]=k[(k[pf>>2]|0)+4>>2];k[ta>>2]=k[(k[pf>>2]|0)+8>>2];if((k[D>>2]|0)==(l[(k[mf>>2]|0)+63>>0]|0)){if(k[D>>2]|0)b=(k[ta>>2]|0)!=0?40924:40967;else b=41008;aI(k[lf>>2]|0,b,Fe);k[rf>>2]=1;break d}if(k[ta>>2]|0){d=391;break c}if(!(k[D>>2]|0)){d=395;break c}if((k[(k[mf>>2]|0)+156>>2]|0)<=0){d=395;break c}aI(k[lf>>2]|0,40869,Ee);k[rf>>2]=5;break}case 2:{if((k[(k[pf>>2]|0)+8>>2]|0)!=0?(k[(k[mf>>2]|0)+24>>2]&33554432|0)!=0:0){d=407;break c}k[yb>>2]=k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];if(k[yb>>2]|0){Af=wg(k[yb>>2]|0,k[(k[pf>>2]|0)+8>>2]|0)|0;k[rf>>2]=Af;if((k[rf>>2]&255|0)==5){d=410;break c}if(k[rf>>2]|0){d=861;break c}do if((k[(k[pf>>2]|0)+8>>2]|0)!=0?((m[(k[lf>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){if((l[(k[mf>>2]|0)+63>>0]|0)!=0?(k[(k[mf>>2]|0)+152>>2]|0)<=1:0)break;if(!(k[(k[lf>>2]|0)+104>>2]|0)){Af=(k[mf>>2]|0)+504|0;k[Af>>2]=(k[Af>>2]|0)+1;k[(k[lf>>2]|0)+104>>2]=(k[(k[mf>>2]|0)+500>>2]|0)+(k[(k[mf>>2]|0)+504>>2]|0)}Af=xI(k[mf>>2]|0,0,(k[(k[lf>>2]|0)+104>>2]|0)-1|0)|0;k[rf>>2]=Af;if(!(k[rf>>2]|0)){Af=CI(k[yb>>2]|0,k[(k[lf>>2]|0)+104>>2]|0)|0;k[rf>>2]=Af}Af=(k[mf>>2]|0)+512|0;yf=k[Af+4>>2]|0;c=(k[lf>>2]|0)+152|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=(k[mf>>2]|0)+520|0;yf=k[c+4>>2]|0;Af=(k[lf>>2]|0)+160|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}while(0);xg(k[yb>>2]|0,1,pa);k[la>>2]=k[(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{k[pa>>2]=0;k[la>>2]=0}if(l[(k[pf>>2]|0)+3>>0]|0){if((k[pa>>2]|0)==(k[(k[pf>>2]|0)+12>>2]|0)?(k[la>>2]|0)==(k[(k[pf>>2]|0)+16>>2]|0):0)break d;ag(k[mf>>2]|0,k[(k[lf>>2]|0)+44>>2]|0);Af=xh(k[mf>>2]|0,41056)|0;k[(k[lf>>2]|0)+44>>2]=Af;if((k[k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(k[pa>>2]|0))Bj(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);Af=(k[lf>>2]|0)+88|0;j[Af>>1]=j[Af>>1]&-9|8;k[rf>>2]=17}break}case 51:{k[fa>>2]=k[(k[pf>>2]|0)+4>>2];k[ea>>2]=k[(k[pf>>2]|0)+12>>2];xg(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[fa>>2]<<4)+4>>2]|0,k[ea>>2]|0,qa);yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;yf=k[qa>>2]|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 52:{k[Ac>>2]=(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);b=Ig(k[(k[Ac>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,k[(k[pf>>2]|0)+12>>2]|0)|0;k[rf>>2]=b;b=k[pf>>2]|0;if((k[(k[pf>>2]|0)+8>>2]|0)!=1){if((k[b+8>>2]|0)==2)i[(k[(k[Ac>>2]|0)+12>>2]|0)+76>>0]=k[(k[pf>>2]|0)+12>>2]}else{k[k[(k[Ac>>2]|0)+12>>2]>>2]=k[b+12>>2];Af=(k[mf>>2]|0)+24|0;k[Af>>2]=k[Af>>2]|2}if((k[(k[pf>>2]|0)+4>>2]|0)==1){Yh(k[mf>>2]|0);Af=(k[lf>>2]|0)+88|0;j[Af>>1]=j[Af>>1]&-9}break}case 53:{k[qc>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((k[qc>>2]|0)!=0?(k[(k[qc>>2]|0)+8>>2]|0)==(k[(k[pf>>2]|0)+8>>2]|0):0)d=453;else d=438;break}case 55:case 54:{d=438;break}case 57:case 56:{Af=DI(k[lf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,0)|0;k[vc>>2]=Af;if(!(k[vc>>2]|0)){d=860;break a}i[(k[vc>>2]|0)+2>>0]=1;Af=(k[vc>>2]|0)+5|0;i[Af>>0]=i[Af>>0]&-2|1;Af=fk(k[k[mf>>2]>>2]|0,0,k[mf>>2]|0,(k[vc>>2]|0)+20|0,5|l[(k[pf>>2]|0)+3>>0],1054)|0;k[rf>>2]=Af;if(!(k[rf>>2]|0)){Af=wg(k[(k[vc>>2]|0)+20>>2]|0,1)|0;k[rf>>2]=Af}do if(!(k[rf>>2]|0)){Af=k[(k[pf>>2]|0)+16>>2]|0;k[Uc>>2]=Af;b=k[(k[vc>>2]|0)+20>>2]|0;if(!Af){Af=EI(b,1,4,0,k[(k[vc>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af;i[(k[vc>>2]|0)+4>>0]=1;break}Af=GI(b,Hd,2|l[(k[pf>>2]|0)+3>>0])|0;k[rf>>2]=Af;if(!(k[rf>>2]|0)){k[(k[vc>>2]|0)+24>>2]=k[Uc>>2];Af=EI(k[(k[vc>>2]|0)+20>>2]|0,k[Hd>>2]|0,4,k[Uc>>2]|0,k[(k[vc>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af}i[(k[vc>>2]|0)+4>>0]=0}while(0);Af=(k[vc>>2]|0)+5|0;i[Af>>0]=i[Af>>0]&-5|((l[(k[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 58:{Af=DI(k[lf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,-1,1)|0;k[wc>>2]=Af;if(!(k[wc>>2]|0)){d=860;break a}k[(k[wc>>2]|0)+24>>2]=k[(k[pf>>2]|0)+16>>2];Af=HI(k[mf>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,k[wc>>2]|0)|0;k[rf>>2]=Af;break}case 59:{k[Db>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];c=(k[Db>>2]|0)+32|0;Af=c;yf=k[Af>>2]|0;Af=k[Af+4>>2]|0;a=qR(yf|0,Af|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((yf|0)==0&(Af|0)==0)d=15;break}case 60:{Af=DI(k[lf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+12>>2]|0,-1,3)|0;k[xc>>2]=Af;if(!(k[xc>>2]|0)){d=860;break a}i[(k[xc>>2]|0)+2>>0]=1;k[(k[xc>>2]|0)+16>>2]=k[(k[pf>>2]|0)+8>>2];i[(k[xc>>2]|0)+4>>0]=1;break}case 61:{II(k[lf>>2]|0,k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0);k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 66:case 65:case 64:case 63:{k[Eb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[kb>>2]=l[k[pf>>2]>>0];k[H>>2]=0;i[(k[Eb>>2]|0)+2>>0]=0;if(i[(k[Eb>>2]|0)+4>>0]|0){k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Qc>>2]|0)+8>>1]&14|0)==2)Hh(k[Qc>>2]|0,0);yf=hh(k[Qc>>2]|0)|0;Af=ma;k[Af>>2]=yf;k[Af+4>>2]=L;do if(!(m[(k[Qc>>2]|0)+8>>1]&4)){if(!(m[(k[Qc>>2]|0)+8>>1]&8)){d=15;break d}Af=ma;if(+p[k[Qc>>2]>>3]<+((k[Af>>2]|0)>>>0)+4294967296.0*+(k[Af+4>>2]|0)){if(k[kb>>2]&1)break;k[kb>>2]=(k[kb>>2]|0)+-1;break}Af=ma;if(+p[k[Qc>>2]>>3]>+((k[Af>>2]|0)>>>0)+4294967296.0*+(k[Af+4>>2]|0)?(k[kb>>2]&1|0)==1:0)k[kb>>2]=(k[kb>>2]|0)+1}while(0);d=ma;d=oF(k[(k[Eb>>2]|0)+16>>2]|0,0,k[d>>2]|0,k[d+4>>2]|0,0,Td)|0;k[rf>>2]=d;d=ma;yf=k[d+4>>2]|0;Af=(k[Eb>>2]|0)+40|0;k[Af>>2]=k[d>>2];k[Af+4>>2]=yf;if(k[rf>>2]|0){d=861;break c}else d=489}else{if(JI(k[(k[Eb>>2]|0)+16>>2]|0,2)|0)k[H>>2]=1;k[Za>>2]=k[(k[pf>>2]|0)+16>>2];k[Kd>>2]=k[(k[Eb>>2]|0)+24>>2];j[Kd+8>>1]=k[Za>>2];i[Kd+10>>0]=(1&(k[kb>>2]|0)-63|0)!=0?-1:1;k[Kd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Kd+4>>2]|0)+8>>1]&16384)dh(k[Kd+4>>2]|0)|0;i[Kd+14>>0]=0;Af=oF(k[(k[Eb>>2]|0)+16>>2]|0,Kd,0,0,0,Td)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}if(!((k[H>>2]|0)!=0?(l[Kd+14>>0]|0)==0:0))d=489}do if((d|0)==489){d=0;i[(k[Eb>>2]|0)+3>>0]=0;k[(k[Eb>>2]|0)+56>>2]=0;b=k[Td>>2]|0;if((k[kb>>2]|0)>=65){if((b|0)>=0?!((k[Td>>2]|0)==0&(k[kb>>2]|0)==66):0){k[Td>>2]=0;break}k[Td>>2]=0;Af=bF(k[(k[Eb>>2]|0)+16>>2]|0,Td)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}else break}else{if((b|0)<=0?!((k[Td>>2]|0)==0&(k[kb>>2]|0)==63):0){Af=KI(k[(k[Eb>>2]|0)+16>>2]|0)|0;k[Td>>2]=Af;break}k[Td>>2]=0;Af=cF(k[(k[Eb>>2]|0)+16>>2]|0,Td)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}else break}}while(0);if(!(k[Td>>2]|0)){if(k[H>>2]|0)k[pf>>2]=(k[pf>>2]|0)+20}else d=15;break}case 69:case 68:case 67:{k[Fb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Lc>>2]=0;b=k[(k[Fb>>2]|0)+24>>2]|0;if((k[(k[pf>>2]|0)+16>>2]|0)>0){k[Ld>>2]=b;j[Ld+8>>1]=k[(k[pf>>2]|0)+16>>2];k[Ld+4>>2]=k[Qc>>2];k[ya>>2]=0;while(1){if((k[ya>>2]|0)>=(m[Ld+8>>1]|0))break;if(m[(k[Ld+4>>2]|0)+((k[ya>>2]|0)*40|0)+8>>1]&16384)dh((k[Ld+4>>2]|0)+((k[ya>>2]|0)*40|0)|0)|0;k[ya>>2]=(k[ya>>2]|0)+1}k[Mc>>2]=Ld}else{Af=mF(b,q,183,Lc)|0;k[Mc>>2]=Af;if(!(k[Mc>>2]|0)){d=860;break a}if(m[(k[Qc>>2]|0)+8>>1]&16384)dh(k[Qc>>2]|0)|0;nF(k[(k[Fb>>2]|0)+24>>2]|0,k[(k[Qc>>2]|0)+12>>2]|0,k[(k[Qc>>2]|0)+16>>2]|0,k[Mc>>2]|0)}i[(k[Mc>>2]|0)+10>>0]=0;k[qe>>2]=0;h:do if((l[k[pf>>2]>>0]|0)==67){k[ya>>2]=0;while(1){if((k[ya>>2]|0)>=(m[(k[Mc>>2]|0)+8>>1]|0))break h;if(m[(k[(k[Mc>>2]|0)+4>>2]|0)+((k[ya>>2]|0)*40|0)+8>>1]&1)break;k[ya>>2]=(k[ya>>2]|0)+1}k[qe>>2]=1}while(0);Af=oF(k[(k[Fb>>2]|0)+16>>2]|0,k[Mc>>2]|0,0,0,0,Ud)|0;k[rf>>2]=Af;ag(k[mf>>2]|0,k[Lc>>2]|0);if(!(k[rf>>2]|0)){k[(k[Fb>>2]|0)+28>>2]=k[Ud>>2];k[t>>2]=(k[Ud>>2]|0)==0&1;i[(k[Fb>>2]|0)+2>>0]=1-(k[t>>2]|0);i[(k[Fb>>2]|0)+3>>0]=0;k[(k[Fb>>2]|0)+56>>2]=0;if((l[k[pf>>2]>>0]|0)==69)if(k[t>>2]|0){d=15;break d}else break d;else if((k[qe>>2]|0)==0&(k[t>>2]|0)!=0)break d;else{d=15;break d}}break}case 70:{k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Gb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[dc>>2]=k[(k[Gb>>2]|0)+16>>2];k[Vd>>2]=0;Af=k[Qc>>2]|0;yf=k[Af+4>>2]|0;c=na;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;c=na;c=oF(k[dc>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Vd)|0;k[rf>>2]=c;c=na;yf=k[c+4>>2]|0;Af=(k[Gb>>2]|0)+40|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;i[(k[Gb>>2]|0)+2>>0]=0;k[(k[Gb>>2]|0)+56>>2]=0;i[(k[Gb>>2]|0)+3>>0]=0;k[(k[Gb>>2]|0)+28>>2]=k[Vd>>2];if(k[Vd>>2]|0)if(!(k[(k[pf>>2]|0)+8>>2]|0)){Af=Vj(78267)|0;k[rf>>2]=Af}else d=15;break}case 73:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;Af=(k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;yf=Af;c=k[yf>>2]|0;yf=k[yf+4>>2]|0;a=qR(c|0,yf|0,1,0)|0;k[Af>>2]=a;k[Af+4>>2]=L;Af=k[id>>2]|0;k[Af>>2]=c;k[Af+4>>2]=yf;break}case 74:{Af=ue;k[Af>>2]=0;k[Af+4>>2]=0;k[Wd>>2]=0;Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;k[Hb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];do if(!((l[(k[Hb>>2]|0)+5>>0]|0)>>>1&1)){Af=LI(k[(k[Hb>>2]|0)+16>>2]|0,Wd)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}if(k[Wd>>2]|0){Af=ue;k[Af>>2]=1;k[Af+4>>2]=0;break}Af=CH(k[(k[Hb>>2]|0)+16>>2]|0,ue)|0;k[rf>>2]=Af;Af=ue;yf=k[Af+4>>2]|0;if((yf|0)>2147483647|(yf|0)==2147483647&(k[Af>>2]|0)>>>0>=4294967295){Af=(k[Hb>>2]|0)+5|0;i[Af>>0]=i[Af>>0]&-3|2;break}else{yf=ue;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;Af=ue;k[Af>>2]=yf;k[Af+4>>2]=L;break}}while(0);if(k[(k[pf>>2]|0)+12>>2]|0){if(k[(k[lf>>2]|0)+176>>2]|0){k[Hc>>2]=k[(k[lf>>2]|0)+176>>2];while(1){if(!(k[(k[Hc>>2]|0)+4>>2]|0))break;k[Hc>>2]=k[(k[Hc>>2]|0)+4>>2]}k[Xc>>2]=(k[(k[Hc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)}else k[Xc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);Gx(k[Xc>>2]|0)|0;Af=k[Xc>>2]|0;if((k[Af>>2]|0)==-1?(k[Af+4>>2]|0)==2147483647:0){d=542;break c}if((l[(k[Hb>>2]|0)+5>>0]|0)>>>1&1){d=542;break c}a=ue;yf=k[a>>2]|0;a=k[a+4>>2]|0;Af=k[Xc>>2]|0;Af=qR(k[Af>>2]|0,k[Af+4>>2]|0,1,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&yf>>>0>>0){yf=k[Xc>>2]|0;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;Af=ue;k[Af>>2]=yf;k[Af+4>>2]=L}c=ue;yf=k[c+4>>2]|0;Af=k[Xc>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}if((l[(k[Hb>>2]|0)+5>>0]|0)>>>1&1){k[C>>2]=0;do{ae(8,ue);c=ue;Af=k[c+4>>2]&1073741823;yf=ue;k[yf>>2]=k[c>>2];k[yf+4>>2]=Af;yf=ue;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;Af=ue;k[Af>>2]=yf;k[Af+4>>2]=L;Af=ue;Af=oF(k[(k[Hb>>2]|0)+16>>2]|0,0,k[Af>>2]|0,k[Af+4>>2]|0,0,Wd)|0;k[rf>>2]=Af;if(!((Af|0)==0&(k[Wd>>2]|0)==0))break;Af=(k[C>>2]|0)+1|0;k[C>>2]=Af}while((Af|0)<100);if((k[rf>>2]|0)==0&(k[Wd>>2]|0)==0){d=551;break c}}i[(k[Hb>>2]|0)+3>>0]=0;k[(k[Hb>>2]|0)+56>>2]=0;c=ue;yf=k[c+4>>2]|0;Af=k[id>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break}case 84:case 75:{k[yc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Ib>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];b=k[(k[pf>>2]|0)+12>>2]|0;if((l[k[pf>>2]>>0]|0)==75){k[Rc>>2]=(k[e>>2]|0)+(b*40|0);c=k[Rc>>2]|0;yf=k[c+4>>2]|0;Af=oa;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}else{Af=oa;k[Af>>2]=b;k[Af+4>>2]=((b|0)<0)<<31>>31}if(l[(k[pf>>2]|0)+3>>0]&1){Af=(k[lf>>2]|0)+92|0;k[Af>>2]=(k[Af>>2]|0)+1}if(l[(k[pf>>2]|0)+3>>0]&2){yf=oa;c=k[yf>>2]|0;yf=k[yf+4>>2]|0;Af=nf;k[Af>>2]=c;k[Af+4>>2]=yf;Af=(k[mf>>2]|0)+32|0;k[Af>>2]=c;k[Af+4>>2]=yf}if(m[(k[yc>>2]|0)+8>>1]&1){k[(k[yc>>2]|0)+16>>2]=0;k[(k[yc>>2]|0)+12>>2]=0}if(l[(k[pf>>2]|0)+3>>0]&16)b=k[(k[Ib>>2]|0)+28>>2]|0;else b=0;k[le>>2]=b;if(m[(k[yc>>2]|0)+8>>1]&16384)k[hb>>2]=k[k[yc>>2]>>2];else k[hb>>2]=0;Af=oa;Af=MI(k[(k[Ib>>2]|0)+16>>2]|0,0,k[Af>>2]|0,k[Af+4>>2]|0,k[(k[yc>>2]|0)+16>>2]|0,k[(k[yc>>2]|0)+12>>2]|0,k[hb>>2]|0,(l[(k[pf>>2]|0)+3>>0]&8|0)!=0&1,k[le>>2]|0)|0;k[rf>>2]=Af;i[(k[Ib>>2]|0)+3>>0]=0;k[(k[Ib>>2]|0)+56>>2]=0;if(((k[rf>>2]|0)==0?(k[(k[mf>>2]|0)+212>>2]|0)!=0:0)?(k[(k[pf>>2]|0)+16>>2]|0)!=0:0){k[Ze>>2]=k[(k[(k[mf>>2]|0)+16>>2]|0)+(i[(k[Ib>>2]|0)+1>>0]<<4)>>2];k[hf>>2]=k[(k[pf>>2]|0)+16>>2];k[ob>>2]=(l[(k[pf>>2]|0)+3>>0]&4|0)!=0?23:18;Af=oa;fc[k[(k[mf>>2]|0)+212>>2]&255](k[(k[mf>>2]|0)+208>>2]|0,k[ob>>2]|0,k[Ze>>2]|0,k[hf>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)}break}case 95:{k[Jb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((k[(k[mf>>2]|0)+212>>2]|0)!=0?(k[(k[pf>>2]|0)+16>>2]|0)!=0:0)b=(l[(k[Jb>>2]|0)+4>>0]|0)!=0;else b=0;i[P>>0]=b&1;if((l[(k[pf>>2]|0)+3>>0]|0)!=0?(l[P>>0]|0)!=0:0)CH(k[(k[Jb>>2]|0)+16>>2]|0,(k[Jb>>2]|0)+40|0)|0;Af=NI(k[(k[Jb>>2]|0)+16>>2]|0,i[(k[pf>>2]|0)+3>>0]|0)|0;k[rf>>2]=Af;k[(k[Jb>>2]|0)+56>>2]=0;if((k[rf>>2]|0)==0?(l[P>>0]|0)!=0:0){Af=(k[Jb>>2]|0)+40|0;fc[k[(k[mf>>2]|0)+212>>2]&255](k[(k[mf>>2]|0)+208>>2]|0,9,k[(k[(k[mf>>2]|0)+16>>2]|0)+(i[(k[Jb>>2]|0)+1>>0]<<4)>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)}if(k[(k[pf>>2]|0)+8>>2]&1){Af=(k[lf>>2]|0)+92|0;k[Af>>2]=(k[Af>>2]|0)+1}break}case 98:{_H(k[mf>>2]|0,k[(k[lf>>2]|0)+92>>2]|0);k[(k[lf>>2]|0)+92>>2]=0;break}case 99:{k[Kb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[ab>>2]=k[(k[pf>>2]|0)+16>>2];k[Xd>>2]=0;Af=OI(k[Kb>>2]|0,k[Qc>>2]|0,k[ab>>2]|0,Xd)|0;k[rf>>2]=Af;if(k[Xd>>2]|0)d=15;break}case 100:{k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Lb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];Af=PI(k[Lb>>2]|0,k[id>>2]|0)|0;k[rf>>2]=Af;k[(k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 102:case 101:{k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);k[Mb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[ic>>2]=k[(k[Mb>>2]|0)+16>>2];b=k[ic>>2]|0;if(l[(k[Mb>>2]|0)+4>>0]|0){pI(b,Ka)|0;if((k[Ka>>2]|0)>>>0>(k[(k[mf>>2]|0)+88>>2]|0)>>>0){d=859;break c}}else{CH(b,La)|0;yf=La;a=k[yf+4>>2]|0;Af=k[(k[mf>>2]|0)+88>>2]|0;c=((Af|0)<0)<<31>>31;if((a|0)>(c|0)|((a|0)==(c|0)?(k[yf>>2]|0)>>>0>Af>>>0:0)){d=859;break c}k[Ka>>2]=k[La>>2]}if(Dx(k[id>>2]|0,(k[Ka>>2]|0)>>>0>32?k[Ka>>2]|0:32)|0){d=860;break a}k[(k[id>>2]|0)+12>>2]=k[Ka>>2];j[(k[id>>2]|0)+8>>1]=m[(k[id>>2]|0)+8>>1]&-49664|16;b=k[ic>>2]|0;a=k[Ka>>2]|0;c=k[(k[id>>2]|0)+16>>2]|0;if(!(l[(k[Mb>>2]|0)+4>>0]|0)){Af=DH(b,0,a,c)|0;k[rf>>2]=Af}else{Af=Wh(b,0,a,c)|0;k[rf>>2]=Af}i[(k[id>>2]|0)+10>>0]=1;break}case 103:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;k[Nb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(i[(k[Nb>>2]|0)+2>>0]|0){j[(k[id>>2]|0)+8>>1]=1;break d}b=k[Nb>>2]|0;do if(!(i[(k[Nb>>2]|0)+3>>0]|0)){a=k[Nb>>2]|0;if((l[b>>0]|0)==2){k[wd>>2]=k[k[a+16>>2]>>2];k[ad>>2]=k[k[wd>>2]>>2];Af=gc[k[(k[ad>>2]|0)+48>>2]&255](k[(k[Nb>>2]|0)+16>>2]|0,xe)|0;k[rf>>2]=Af;QI(k[lf>>2]|0,k[wd>>2]|0);break}Af=RI(a)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}if(i[(k[Nb>>2]|0)+2>>0]|0){j[(k[id>>2]|0)+8>>1]=1;break d}else{Af=CH(k[(k[Nb>>2]|0)+16>>2]|0,xe)|0;k[rf>>2]=Af;break}}else{c=b+40|0;yf=k[c+4>>2]|0;Af=xe;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}while(0);c=xe;yf=k[c+4>>2]|0;Af=k[id>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;break}case 104:{k[Ob>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];i[(k[Ob>>2]|0)+2>>0]=1;k[(k[Ob>>2]|0)+56>>2]=0;if(!(l[k[Ob>>2]>>0]|0))zB(k[(k[Ob>>2]|0)+16>>2]|0);break}case 105:{k[Pb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[jc>>2]=k[(k[Pb>>2]|0)+16>>2];k[Yd>>2]=0;Af=LI(k[jc>>2]|0,Yd)|0;k[rf>>2]=Af;i[(k[Pb>>2]|0)+2>>0]=k[Yd>>2];i[(k[Pb>>2]|0)+3>>0]=0;k[(k[Pb>>2]|0)+56>>2]=0;k[(k[Pb>>2]|0)+28>>2]=k[(k[pf>>2]|0)+12>>2];if((k[Yd>>2]|0)!=0?(k[(k[pf>>2]|0)+8>>2]|0)>0:0)d=15;break}case 107:case 106:{d=(k[lf>>2]|0)+108+8|0;k[d>>2]=(k[d>>2]|0)+1;d=609;break}case 108:{d=609;break}case 3:{k[Rb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[_d>>2]=0;d=UI(k[mf>>2]|0,k[Rb>>2]|0,_d)|0;k[rf>>2]=d;d=616;break}case 5:case 4:{if(k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2]|0)d=615;break}case 7:case 6:{d=615;break}case 110:case 109:{k[Sb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if(l[(k[pf>>2]|0)+3>>0]&1){Af=(k[lf>>2]|0)+92|0;k[Af>>2]=(k[Af>>2]|0)+1}if(m[(k[Pc>>2]|0)+8>>1]&16384)b=dh(k[Pc>>2]|0)|0;else b=0;k[rf>>2]=b;if(!(k[rf>>2]|0)){if((l[k[pf>>2]>>0]|0)==109){Af=VI(k[Sb>>2]|0,k[Pc>>2]|0)|0;k[rf>>2]=Af;break d}k[$a>>2]=k[(k[Pc>>2]|0)+12>>2];k[bf>>2]=k[(k[Pc>>2]|0)+16>>2];b=k[$a>>2]|0;if(l[(k[pf>>2]|0)+3>>0]&16)a=k[(k[Sb>>2]|0)+28>>2]|0;else a=0;Af=MI(k[(k[Sb>>2]|0)+16>>2]|0,k[bf>>2]|0,b,((b|0)<0)<<31>>31,19266,0,0,k[(k[pf>>2]|0)+12>>2]|0,a)|0;k[rf>>2]=Af;k[(k[Sb>>2]|0)+56>>2]=0}break}case 111:{k[Tb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[lc>>2]=k[(k[Tb>>2]|0)+16>>2];k[Md>>2]=k[(k[Tb>>2]|0)+24>>2];j[Md+8>>1]=k[(k[pf>>2]|0)+12>>2];i[Md+10>>0]=0;k[Md+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);Af=oF(k[lc>>2]|0,Md,0,0,0,ce)|0;k[rf>>2]=Af;if((k[rf>>2]|0)==0&(k[ce>>2]|0)==0){Af=NI(k[lc>>2]|0,4)|0;k[rf>>2]=Af}k[(k[Tb>>2]|0)+56>>2]=0;break}case 113:case 112:{k[Ub>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];Af=RI(k[Ub>>2]|0)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}if(i[(k[Ub>>2]|0)+2>>0]|0){ph((k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}Af=fe;k[Af>>2]=0;k[Af+4>>2]=0;Af=WI(k[mf>>2]|0,k[(k[Ub>>2]|0)+16>>2]|0,fe)|0;k[rf>>2]=Af;if(k[rf>>2]|0){d=861;break c}if((l[k[pf>>2]>>0]|0)==112){k[qd>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+12>>2]<<2)>>2];i[(k[qd>>2]|0)+2>>0]=0;c=fe;yf=k[c+4>>2]|0;Af=(k[qd>>2]|0)+40|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;i[(k[qd>>2]|0)+3>>0]=1;k[(k[qd>>2]|0)+52>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[qd>>2]|0)+48>>2]=k[Ub>>2];break d}else{c=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=c;c=fe;yf=k[c+4>>2]|0;Af=k[id>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;j[(k[id>>2]|0)+8>>1]=4;break d}}case 117:case 116:case 115:case 114:{k[Vb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Nd>>2]=k[(k[Vb>>2]|0)+24>>2];j[Nd+8>>1]=k[(k[pf>>2]|0)+16>>2];b=Nd+10|0;if((l[k[pf>>2]>>0]|0)<116)i[b>>0]=-1;else i[b>>0]=0;k[Nd+4>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[de>>2]=0;b=XI(k[mf>>2]|0,k[Vb>>2]|0,Nd,de)|0;k[rf>>2]=b;b=k[de>>2]|0;if(!(l[k[pf>>2]>>0]&1))k[de>>2]=0-b;else k[de>>2]=b+1;if((k[de>>2]|0)>0)d=15;break}case 118:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;j[(k[id>>2]|0)+8>>1]=1;if((k[(k[mf>>2]|0)+152>>2]|0)>((k[(k[mf>>2]|0)+164>>2]|0)+1|0)){k[rf>>2]=6;i[(k[lf>>2]|0)+86>>0]=2;break d}k[ja>>2]=k[(k[pf>>2]|0)+12>>2];k[ra>>2]=0;yf=YI(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[ja>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,ra)|0;k[rf>>2]=yf;j[(k[id>>2]|0)+8>>1]=4;yf=k[ra>>2]|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;if((k[rf>>2]|0)==0&(k[ra>>2]|0)!=0){ZI(k[mf>>2]|0,k[ja>>2]|0,k[ra>>2]|0,k[(k[pf>>2]|0)+4>>2]|0);i[ee>>0]=(k[ja>>2]|0)+1}break}case 119:{k[Ta>>2]=0;Af=_I(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+8>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,(k[(k[pf>>2]|0)+12>>2]|0)!=0?Ta:0)|0;k[rf>>2]=Af;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(Af=(k[lf>>2]|0)+92|0,k[Af>>2]=(k[Af>>2]|0)+(k[Ta>>2]|0),(k[(k[pf>>2]|0)+12>>2]|0)>0):0){yf=k[Ta>>2]|0;Af=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0;c=Af;yf=qR(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=L}break}case 120:{k[Wb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if((l[k[Wb>>2]>>0]|0)==1){$I(k[mf>>2]|0,k[(k[Wb>>2]|0)+16>>2]|0);break d}else{Af=aJ(k[(k[Wb>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af;break d}}case 122:case 121:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;k[Id>>2]=0;k[Cc>>2]=(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4);if((l[k[pf>>2]>>0]|0)==122)k[O>>2]=1;else k[O>>2]=2;yf=GI(k[(k[Cc>>2]|0)+4>>2]|0,Id,k[O>>2]|0)|0;k[rf>>2]=yf;yf=k[Id>>2]|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 123:{k[ka>>2]=k[(k[pf>>2]|0)+4>>2];k[cf>>2]=(k[ka>>2]|0)==1?20769:20788;k[za>>2]=k[mf>>2];k[za+8>>2]=k[(k[pf>>2]|0)+4>>2];k[za+4>>2]=(k[lf>>2]|0)+44;Af=k[mf>>2]|0;c=k[cf>>2]|0;yf=k[(k[pf>>2]|0)+16>>2]|0;k[Ge>>2]=k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[ka>>2]<<4)>>2];k[Ge+4>>2]=c;k[Ge+8>>2]=yf;Af=Lh(Af,41084,Ge)|0;k[ff>>2]=Af;if(!(k[ff>>2]|0))k[rf>>2]=7;else{i[(k[mf>>2]|0)+140+5>>0]=1;k[za+12>>2]=0;Af=kf(k[mf>>2]|0,k[ff>>2]|0,140,za,0)|0;k[rf>>2]=Af;if(!(k[rf>>2]|0))k[rf>>2]=k[za+12>>2];ag(k[mf>>2]|0,k[ff>>2]|0);i[(k[mf>>2]|0)+140+5>>0]=0}if(k[rf>>2]|0)Jg(k[mf>>2]|0);if((k[rf>>2]|0)==7){d=860;break a}break}case 124:{Af=Kj(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)|0;k[rf>>2]=Af;break}case 125:{bJ(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 126:{cJ(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 127:{dJ(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0);break}case 128:{k[eb>>2]=k[(k[pf>>2]|0)+8>>2];Af=Pw(k[mf>>2]|0,(k[eb>>2]|0)+1<<2,0)|0;k[o>>2]=Af;if(!(k[o>>2]|0)){d=860;break a}k[Jd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Ea>>2]=0;while(1){b=k[Ea>>2]|0;if((k[Ea>>2]|0)>=(k[eb>>2]|0))break;Af=hh((k[Oc>>2]|0)+(b*40|0)|0)|0;k[(k[o>>2]|0)+(k[Ea>>2]<<2)>>2]=Af;k[Ea>>2]=(k[Ea>>2]|0)+1}k[(k[o>>2]|0)+(b<<2)>>2]=0;yf=eJ(k[(k[(k[mf>>2]|0)+16>>2]|0)+(l[(k[pf>>2]|0)+3>>0]<<4)+4>>2]|0,k[o>>2]|0,k[eb>>2]|0,k[k[Jd>>2]>>2]|0,Wa)|0;k[Te>>2]=yf;ag(k[mf>>2]|0,k[o>>2]|0);yf=k[Wa>>2]|0;Af=k[Jd>>2]|0;c=Af;yf=pR(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=L;ph(k[Oc>>2]|0);if(k[Wa>>2]|0){if(!(k[Te>>2]|0)){d=860;break a}nh(k[Oc>>2]|0,k[Te>>2]|0,-1,1,148)|0}hu(k[Oc>>2]|0,l[G>>0]|0)|0;break}case 129:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]&32|0)==0?(fJ(k[Oc>>2]|0),(m[(k[Oc>>2]|0)+8>>1]&32|0)==0):0){d=860;break a}Af=k[Pc>>2]|0;gJ(k[k[Oc>>2]>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0);break}case 130:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]&32|0)!=0?(hJ(k[k[Oc>>2]>>2]|0,ye)|0)!=0:0){d=ye;oh((k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0)|0,k[d>>2]|0,k[d+4>>2]|0);d=9;break d}ph(k[Oc>>2]|0);d=8;break}case 131:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[va>>2]=k[(k[pf>>2]|0)+16>>2];if((m[(k[Oc>>2]|0)+8>>1]&32|0)==0?(fJ(k[Oc>>2]|0),(m[(k[Oc>>2]|0)+8>>1]&32|0)==0):0){d=860;break a}if((k[va>>2]|0)!=0?(Af=k[Qc>>2]|0,Af=iJ(k[k[Oc>>2]>>2]|0,k[va>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)|0,k[I>>2]=Af,(k[I>>2]|0)!=0):0){d=15;break d}if((k[va>>2]|0)>=0){Af=k[Qc>>2]|0;gJ(k[k[Oc>>2]>>2]|0,k[Af>>2]|0,k[Af+4>>2]|0)}break}case 132:{k[kd>>2]=k[(k[pf>>2]|0)+16>>2];k[od>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[pf>>2]|0)+3>>0]|0){k[oe>>2]=k[(k[kd>>2]|0)+20>>2];k[Ic>>2]=k[(k[lf>>2]|0)+176>>2];while(1){if(!(k[Ic>>2]|0))break;if((k[(k[Ic>>2]|0)+28>>2]|0)==(k[oe>>2]|0))break;k[Ic>>2]=k[(k[Ic>>2]|0)+4>>2]}if(k[Ic>>2]|0)break d}if((k[(k[lf>>2]|0)+184>>2]|0)>=(k[(k[mf>>2]|0)+88+40>>2]|0)){k[rf>>2]=1;aI(k[lf>>2]|0,41148,He);break d}i:do if(!(m[(k[od>>2]|0)+8>>1]&64)){k[bb>>2]=(k[(k[kd>>2]|0)+8>>2]|0)+(k[(k[kd>>2]|0)+12>>2]|0);k[Sa>>2]=80+((k[bb>>2]|0)*40|0)+(k[(k[kd>>2]|0)+12>>2]<<2)+(k[(k[kd>>2]|0)+16>>2]|0);Af=k[Sa>>2]|0;Af=zh(k[mf>>2]|0,Af,((Af|0)<0)<<31>>31)|0;k[Ic>>2]=Af;if(!(k[Ic>>2]|0)){d=860;break a}ch(k[od>>2]|0);j[(k[od>>2]|0)+8>>1]=64;k[k[od>>2]>>2]=k[Ic>>2];k[k[Ic>>2]>>2]=k[lf>>2];k[(k[Ic>>2]|0)+60>>2]=k[bb>>2];k[(k[Ic>>2]|0)+64>>2]=k[(k[kd>>2]|0)+12>>2];k[(k[Ic>>2]|0)+44>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;k[(k[Ic>>2]|0)+16>>2]=k[(k[lf>>2]|0)+8>>2];k[(k[Ic>>2]|0)+52>>2]=k[(k[lf>>2]|0)+28>>2];k[(k[Ic>>2]|0)+24>>2]=k[(k[lf>>2]|0)+56>>2];k[(k[Ic>>2]|0)+40>>2]=k[(k[lf>>2]|0)+36>>2];k[(k[Ic>>2]|0)+8>>2]=k[(k[lf>>2]|0)+4>>2];k[(k[Ic>>2]|0)+48>>2]=k[(k[lf>>2]|0)+32>>2];k[(k[Ic>>2]|0)+28>>2]=k[(k[kd>>2]|0)+20>>2];k[(k[Ic>>2]|0)+20>>2]=k[(k[lf>>2]|0)+200>>2];k[(k[Ic>>2]|0)+56>>2]=k[(k[lf>>2]|0)+196>>2];k[Fc>>2]=(k[Ic>>2]|0)+80+((k[(k[Ic>>2]|0)+60>>2]|0)*40|0);k[Yc>>2]=(k[Ic>>2]|0)+80;while(1){if((k[Yc>>2]|0)==(k[Fc>>2]|0))break i;j[(k[Yc>>2]|0)+8>>1]=128;k[(k[Yc>>2]|0)+32>>2]=k[mf>>2];k[Yc>>2]=(k[Yc>>2]|0)+40}}else k[Ic>>2]=k[k[od>>2]>>2];while(0);c=(k[lf>>2]|0)+184|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[Ic>>2]|0)+4>>2]=k[(k[lf>>2]|0)+176>>2];c=nf;yf=k[c+4>>2]|0;Af=(k[Ic>>2]|0)+32|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;k[(k[Ic>>2]|0)+68>>2]=k[(k[lf>>2]|0)+92>>2];k[(k[Ic>>2]|0)+72>>2]=k[(k[k[lf>>2]>>2]|0)+80>>2];k[(k[lf>>2]|0)+92>>2]=0;k[(k[lf>>2]|0)+176>>2]=k[Ic>>2];Af=(k[Ic>>2]|0)+80+-40|0;k[e>>2]=Af;k[(k[lf>>2]|0)+8>>2]=Af;k[(k[lf>>2]|0)+28>>2]=k[(k[Ic>>2]|0)+60>>2];k[(k[lf>>2]|0)+36>>2]=k[(k[Ic>>2]|0)+64>>2]&65535;k[(k[lf>>2]|0)+56>>2]=(k[e>>2]|0)+(((k[(k[lf>>2]|0)+28>>2]|0)+1|0)*40|0);Af=k[k[kd>>2]>>2]|0;k[g>>2]=Af;k[(k[lf>>2]|0)+4>>2]=Af;k[(k[lf>>2]|0)+32>>2]=k[(k[kd>>2]|0)+4>>2];k[(k[lf>>2]|0)+200>>2]=(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[lf>>2]|0)+36>>2]<<2);k[(k[lf>>2]|0)+196>>2]=k[(k[kd>>2]|0)+16>>2];k[pf>>2]=(k[g>>2]|0)+-20;uR(k[(k[lf>>2]|0)+200>>2]|0,0,k[(k[lf>>2]|0)+196>>2]|0)|0;break}case 134:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;k[Jc>>2]=k[(k[lf>>2]|0)+176>>2];k[Nc>>2]=(k[(k[Jc>>2]|0)+16>>2]|0)+(((k[(k[pf>>2]|0)+4>>2]|0)+(k[(k[(k[Jc>>2]|0)+8>>2]|0)+((k[(k[Jc>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);LF(k[id>>2]|0,k[Nc>>2]|0,4096);break}case 135:{b=k[pf>>2]|0;if(k[(k[mf>>2]|0)+24>>2]&16777216){yf=k[b+8>>2]|0;Af=(k[mf>>2]|0)+520|0;c=Af;yf=qR(k[c>>2]|0,k[c+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[Af>>2]=yf;k[Af+4>>2]=L;break d}a=k[(k[pf>>2]|0)+8>>2]|0;c=((a|0)<0)<<31>>31;if(k[b+4>>2]|0){Af=(k[mf>>2]|0)+512|0;yf=Af;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,a|0,c|0)|0;k[Af>>2]=yf;k[Af+4>>2]=L;break d}else{Af=(k[lf>>2]|0)+144|0;yf=Af;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,a|0,c|0)|0;k[Af>>2]=yf;k[Af+4>>2]=L;break d}}case 136:if(k[(k[pf>>2]|0)+4>>2]|0){Af=(k[mf>>2]|0)+512|0;if(!((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0))break d;Af=(k[mf>>2]|0)+520|0;if((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0){d=15;break d}else break d}else{Af=(k[lf>>2]|0)+144|0;if(!((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0))break d;Af=(k[mf>>2]|0)+520|0;if((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0){d=15;break d}else break d}case 137:{if(k[(k[lf>>2]|0)+176>>2]|0){k[Kc>>2]=k[(k[lf>>2]|0)+176>>2];while(1){if(!(k[(k[Kc>>2]|0)+4>>2]|0))break;k[Kc>>2]=k[(k[Kc>>2]|0)+4>>2]}k[Oc>>2]=(k[(k[Kc>>2]|0)+16>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)}else k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Gx(k[Oc>>2]|0)|0;k[Pc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0);Gx(k[Pc>>2]|0)|0;yf=k[Oc>>2]|0;a=k[yf+4>>2]|0;Af=k[Pc>>2]|0;c=k[Af+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[yf>>2]|0)>>>0<(k[Af>>2]|0)>>>0:0)){c=k[Pc>>2]|0;yf=k[c+4>>2]|0;Af=k[Oc>>2]|0;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf}break}case 138:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Af=k[Oc>>2]|0;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>0){Af=k[(k[pf>>2]|0)+12>>2]|0;d=k[Oc>>2]|0;yf=d;Af=pR(k[yf>>2]|0,k[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;k[d>>2]=Af;k[d+4>>2]=L;d=15}break}case 139:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;Af=k[Oc>>2]|0;yf=k[Af+4>>2]|0;if((yf|0)<0|(yf|0)==0&(k[Af>>2]|0)>>>0<=0){b=-1;a=-1}else{b=k[Oc>>2]|0;Af=k[Qc>>2]|0;yf=k[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(k[Af>>2]|0)>>>0>0){c=k[Qc>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0}else{a=0;c=0}b=qR(k[b>>2]|0,k[b+4>>2]|0,a|0,c|0)|0;a=L}Af=k[id>>2]|0;k[Af>>2]=b;k[Af+4>>2]=a;break}case 140:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Af=k[Oc>>2]|0;if((k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0){Af=k[(k[pf>>2]|0)+12>>2]|0;d=k[Oc>>2]|0;yf=d;Af=pR(k[yf>>2]|0,k[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;k[d>>2]=Af;k[d+4>>2]=L;d=15}break}case 141:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Af=k[Oc>>2]|0;yf=Af;yf=qR(k[yf>>2]|0,k[yf+4>>2]|0,-1,-1)|0;k[Af>>2]=yf;k[Af+4>>2]=L;Af=k[Oc>>2]|0;if((k[Af>>2]|0)==0&(k[Af+4>>2]|0)==0)d=15;break}case 142:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);c=k[Oc>>2]|0;Af=c;yf=k[Af>>2]|0;Af=k[Af+4>>2]|0;a=qR(yf|0,Af|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((yf|0)==0&(Af|0)==0)d=15;break}case 143:{k[Na>>2]=l[(k[pf>>2]|0)+3>>0];Af=Pw(k[mf>>2]|0,32+((k[Na>>2]|0)-1<<2)|0,0)|0;k[oc>>2]=Af;if(!(k[oc>>2]|0)){d=860;break a}k[(k[oc>>2]|0)+8>>2]=0;k[(k[oc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[oc>>2]|0)+16>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;k[(k[oc>>2]|0)+12>>2]=k[lf>>2];i[(k[oc>>2]|0)+26>>0]=k[Na>>2];i[(k[pf>>2]|0)+1>>0]=-20;k[(k[pf>>2]|0)+16>>2]=k[oc>>2];i[k[pf>>2]>>0]=-112;d=740;break}case 144:{d=740;break}case 145:{k[_c>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Af=OF(k[_c>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af;if(k[rf>>2]|0){Af=k[lf>>2]|0;yf=ke(k[_c>>2]|0)|0;k[Je>>2]=yf;aI(Af,19255,Je)}hu(k[_c>>2]|0,l[G>>0]|0)|0;if(dI(k[_c>>2]|0)|0){d=859;break c}break}case 8:{k[n>>2]=0;k[n+8>>2]=-1;k[n+4>>2]=-1;Af=ui(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,n+4|0,n+8|0)|0;k[rf>>2]=Af;if((k[rf>>2]|0)==5){k[rf>>2]=0;k[n>>2]=1}k[_>>2]=0;k[$c>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((k[_>>2]|0)>=3)break d;Af=k[n+(k[_>>2]<<2)>>2]|0;oh(k[$c>>2]|0,Af,((Af|0)<0)<<31>>31);k[_>>2]=(k[_>>2]|0)+1;k[$c>>2]=(k[$c>>2]|0)+40}}case 9:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;k[E>>2]=k[(k[pf>>2]|0)+12>>2];k[Ab>>2]=k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];Af=Yf(k[Ab>>2]|0)|0;k[jd>>2]=Af;Af=Ag(k[jd>>2]|0)|0;k[F>>2]=Af;if((k[E>>2]|0)==-1)k[E>>2]=k[F>>2];if(!(jJ(k[jd>>2]|0)|0))k[E>>2]=k[F>>2];Af=Pi(k[jd>>2]|0,1)|0;k[$e>>2]=Af;do if((k[E>>2]|0)==5){if((Sf(k[$e>>2]|0)|0)!=0?(kJ(k[jd>>2]|0)|0)!=0:0)break;k[E>>2]=k[F>>2]}while(0);do if((k[E>>2]|0)!=(k[F>>2]|0)?(k[F>>2]|0)==5|(k[E>>2]|0)==5:0){if((i[(k[mf>>2]|0)+63>>0]|0)!=0?(k[(k[mf>>2]|0)+152>>2]|0)<=1:0){if((k[F>>2]|0)==5){Af=lJ(k[jd>>2]|0)|0;k[rf>>2]=Af;if(!(k[rf>>2]|0))mJ(k[jd>>2]|0,k[E>>2]|0)|0}else if((k[F>>2]|0)==4)mJ(k[jd>>2]|0,2)|0;if(k[rf>>2]|0)break;Af=Kg(k[Ab>>2]|0,(k[E>>2]|0)==5?2:1)|0;k[rf>>2]=Af;break}k[rf>>2]=1;Af=k[lf>>2]|0;k[Ke>>2]=(k[E>>2]|0)==5?41185:41190;aI(Af,41197,Ke);break d}while(0);if(k[rf>>2]|0)k[E>>2]=k[F>>2];Af=mJ(k[jd>>2]|0,k[E>>2]|0)|0;k[E>>2]=Af;j[(k[id>>2]|0)+8>>1]=2562;Af=$B(k[E>>2]|0)|0;k[(k[id>>2]|0)+16>>2]=Af;Af=Sf(k[(k[id>>2]|0)+16>>2]|0)|0;k[(k[id>>2]|0)+12>>2]=Af;i[(k[id>>2]|0)+10>>0]=1;hu(k[id>>2]|0,l[G>>0]|0)|0;break}case 10:{Af=nJ((k[lf>>2]|0)+44|0,k[mf>>2]|0)|0;k[rf>>2]=Af;break}case 146:{k[Bb>>2]=k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];Af=oJ(k[Bb>>2]|0)|0;k[rf>>2]=Af;if((k[rf>>2]|0)==101){k[rf>>2]=0;d=15}break}case 147:if(k[(k[pf>>2]|0)+4>>2]|0){Af=(k[lf>>2]|0)+88|0;j[Af>>1]=j[Af>>1]&-9|8;break d}else{Yh(k[mf>>2]|0);break d}case 148:{i[Ca>>0]=k[(k[pf>>2]|0)+12>>2];if((l[Ca>>0]|0)==0?0!=(k[(k[mf>>2]|0)+24>>2]&16384|0):0)break d;k[qb>>2]=k[(k[pf>>2]|0)+4>>2];Af=pJ(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[qb>>2]<<4)+4>>2]|0,k[(k[pf>>2]|0)+8>>2]|0,i[Ca>>0]|0)|0;k[rf>>2]=Af;if((k[rf>>2]&255|0)==6){k[Ue>>2]=k[(k[pf>>2]|0)+16>>2];Af=k[lf>>2]|0;k[Le>>2]=k[Ue>>2];aI(Af,41249,Le)}break}case 149:{k[ud>>2]=k[(k[pf>>2]|0)+16>>2];Af=qJ(k[mf>>2]|0,k[ud>>2]|0)|0;k[rf>>2]=Af;if(k[ud>>2]|0)QI(k[lf>>2]|0,k[(k[ud>>2]|0)+8>>2]|0);break}case 150:{b=je;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[je+32>>2]=k[mf>>2];Af=qh(je,(k[e>>2]|0)+((k[(k[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;k[rf>>2]=Af;Af=ke(je)|0;k[gf>>2]=Af;if(k[gf>>2]|0){Af=rJ(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[gf>>2]|0,(k[lf>>2]|0)+44|0)|0;k[rf>>2]=Af}ch(je);break}case 151:{Af=(k[mf>>2]|0)+164|0;k[Af>>2]=(k[Af>>2]|0)+1;Af=sJ(k[mf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[(k[pf>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af;Af=(k[mf>>2]|0)+164|0;k[Af>>2]=(k[Af>>2]|0)+-1;break}case 152:{k[rc>>2]=0;k[sd>>2]=0;k[xd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if((k[xd>>2]|0)!=0?(k[k[xd>>2]>>2]|0)!=0:0){k[bd>>2]=k[k[xd>>2]>>2];Af=gc[k[(k[bd>>2]|0)+24>>2]&255](k[xd>>2]|0,sd)|0;k[rf>>2]=Af;QI(k[lf>>2]|0,k[xd>>2]|0);if(k[rf>>2]|0)break d;k[k[sd>>2]>>2]=k[xd>>2];Af=DI(k[lf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,0,-1,2)|0;k[rc>>2]=Af;if(!(k[rc>>2]|0)){d=804;break c}k[(k[rc>>2]|0)+16>>2]=k[sd>>2];Af=(k[xd>>2]|0)+4|0;k[Af>>2]=(k[Af>>2]|0)+1;break d}k[rf>>2]=6;break}case 11:{k[ld>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[xb>>2]=(k[ld>>2]|0)+40;k[sc>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[td>>2]=k[(k[sc>>2]|0)+16>>2];k[yd>>2]=k[k[td>>2]>>2];k[cd>>2]=k[k[yd>>2]>>2];k[Oa>>2]=k[k[xb>>2]>>2];k[sa>>2]=k[k[ld>>2]>>2];k[Rd>>2]=0;k[u>>2]=k[(k[lf>>2]|0)+12>>2];k[R>>2]=0;while(1){if((k[R>>2]|0)>=(k[Oa>>2]|0))break;k[(k[u>>2]|0)+(k[R>>2]<<2)>>2]=(k[xb>>2]|0)+(((k[R>>2]|0)+1|0)*40|0);k[R>>2]=(k[R>>2]|0)+1}Af=hc[k[(k[cd>>2]|0)+32>>2]&255](k[td>>2]|0,k[sa>>2]|0,k[(k[pf>>2]|0)+16>>2]|0,k[Oa>>2]|0,k[u>>2]|0)|0;k[rf>>2]=Af;QI(k[lf>>2]|0,k[yd>>2]|0);if(!(k[rf>>2]|0)){Af=bc[k[(k[cd>>2]|0)+40>>2]&255](k[td>>2]|0)|0;k[Rd>>2]=Af}i[(k[sc>>2]|0)+2>>0]=0;if(k[Rd>>2]|0)d=15;break}case 153:{k[tc>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Ec>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);if(i[(k[tc>>2]|0)+2>>0]|0){ph(k[Ec>>2]|0);break d}k[zd>>2]=k[k[(k[tc>>2]|0)+16>>2]>>2];k[dd>>2]=k[k[zd>>2]>>2];k[he>>2]=0;k[he+4>>2]=0;k[he+8>>2]=0;k[he+12>>2]=0;k[he+16>>2]=0;k[he+20>>2]=0;k[he+24>>2]=0;k[he+28>>2]=0;k[he>>2]=k[Ec>>2];j[(k[Ec>>2]|0)+8>>1]=m[(k[Ec>>2]|0)+8>>1]&-49664|1;Af=Yb[k[(k[dd>>2]|0)+44>>2]&255](k[(k[tc>>2]|0)+16>>2]|0,he,k[(k[pf>>2]|0)+8>>2]|0)|0;k[rf>>2]=Af;QI(k[lf>>2]|0,k[zd>>2]|0);if(k[he+20>>2]|0)k[rf>>2]=k[he+20>>2];hu(k[Ec>>2]|0,l[G>>0]|0)|0;if(dI(k[Ec>>2]|0)|0){d=859;break c}break}case 154:{k[Sd>>2]=0;k[uc>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];if(!(i[(k[uc>>2]|0)+2>>0]|0)){k[Ad>>2]=k[k[(k[uc>>2]|0)+16>>2]>>2];k[ed>>2]=k[k[Ad>>2]>>2];Af=bc[k[(k[ed>>2]|0)+36>>2]&255](k[(k[uc>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af;QI(k[lf>>2]|0,k[Ad>>2]|0);if(!(k[rf>>2]|0)){Af=bc[k[(k[ed>>2]|0)+40>>2]&255](k[(k[uc>>2]|0)+16>>2]|0)|0;k[Sd>>2]=Af}if(k[Sd>>2]|0)d=9;else d=8}break}case 155:{k[Bd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];k[gd>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0);Af=hu(k[gd>>2]|0,1)|0;k[rf>>2]=Af;if(!(k[rf>>2]|0)){Af=gc[k[(k[k[Bd>>2]>>2]|0)+76>>2]&255](k[Bd>>2]|0,k[(k[gd>>2]|0)+16>>2]|0)|0;k[rf>>2]=Af;QI(k[lf>>2]|0,k[Bd>>2]|0);Af=(k[lf>>2]|0)+88|0;j[Af>>1]=j[Af>>1]&-9}break}case 12:{k[Cd>>2]=k[(k[(k[pf>>2]|0)+16>>2]|0)+8>>2];if((k[Cd>>2]|0)!=0?(k[k[Cd>>2]>>2]|0)!=0:0){k[fd>>2]=k[k[Cd>>2]>>2];k[Pa>>2]=k[(k[pf>>2]|0)+8>>2];if(!(k[(k[fd>>2]|0)+52>>2]|0))break d;i[Re>>0]=i[(k[mf>>2]|0)+70>>0]|0;k[v>>2]=k[(k[lf>>2]|0)+12>>2];k[Ed>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[Pa>>2]|0))break;k[(k[v>>2]|0)+(k[T>>2]<<2)>>2]=k[Ed>>2];k[Ed>>2]=(k[Ed>>2]|0)+40;k[T>>2]=(k[T>>2]|0)+1}i[(k[mf>>2]|0)+70>>0]=i[(k[pf>>2]|0)+3>>0]|0;Af=ec[k[(k[fd>>2]|0)+52>>2]&255](k[Cd>>2]|0,k[Pa>>2]|0,k[v>>2]|0,ge)|0;k[rf>>2]=Af;i[(k[mf>>2]|0)+70>>0]=i[Re>>0]|0;QI(k[lf>>2]|0,k[Cd>>2]|0);if((k[rf>>2]|0)==0?(k[(k[pf>>2]|0)+4>>2]|0)!=0:0){yf=ge;c=k[yf>>2]|0;yf=k[yf+4>>2]|0;Af=nf;k[Af>>2]=c;k[Af+4>>2]=yf;Af=(k[mf>>2]|0)+32|0;k[Af>>2]=c;k[Af+4>>2]=yf}if((k[rf>>2]&255|0)==19?(l[(k[(k[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((l[(k[pf>>2]|0)+3>>0]|0)==4){k[rf>>2]=0;break d}if((l[(k[pf>>2]|0)+3>>0]|0)==5)b=2;else b=l[(k[pf>>2]|0)+3>>0]|0;i[(k[lf>>2]|0)+86>>0]=b;break d}Af=(k[lf>>2]|0)+92|0;k[Af>>2]=(k[Af>>2]|0)+1;break d}k[rf>>2]=6;break}case 156:{yf=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=yf;yf=Bg(k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=0;break}case 157:{Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;k[zb>>2]=k[(k[(k[mf>>2]|0)+16>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<4)+4>>2];k[ib>>2]=0;if((k[(k[pf>>2]|0)+12>>2]|0)!=0?(Af=Bg(k[zb>>2]|0)|0,k[ib>>2]=Af,(k[ib>>2]|0)>>>0<(k[(k[pf>>2]|0)+12>>2]|0)>>>0):0)k[ib>>2]=k[(k[pf>>2]|0)+12>>2];yf=tJ(k[zb>>2]|0,k[ib>>2]|0)|0;Af=k[id>>2]|0;k[Af>>2]=yf;k[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 158:{if((k[(k[mf>>2]|0)+176>>2]|0)!=0?((m[(k[lf>>2]|0)+88>>1]|0)>>>9&1|0)==0:0){if(k[(k[pf>>2]|0)+16>>2]|0)b=k[(k[pf>>2]|0)+16>>2]|0;else b=k[(k[lf>>2]|0)+168>>2]|0;k[jf>>2]=b;if(b){Af=uJ(k[lf>>2]|0,k[jf>>2]|0)|0;k[Ve>>2]=Af;$b[k[(k[mf>>2]|0)+176>>2]&255](k[(k[mf>>2]|0)+180>>2]|0,k[Ve>>2]|0);ag(k[mf>>2]|0,k[Ve>>2]|0)}}if(k[(k[pf>>2]|0)+8>>2]|0)d=15;break}default:{}}while(0);do if((d|0)==21){d=0;k[qf>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;if(k[(k[pf>>2]|0)+4>>2]|0){d=26;break c}if(!(k[(k[lf>>2]|0)+176>>2]|0)){d=26;break c}k[Gc>>2]=k[(k[lf>>2]|0)+176>>2];k[(k[lf>>2]|0)+176>>2]=k[(k[Gc>>2]|0)+4>>2];c=(k[lf>>2]|0)+184|0;k[c>>2]=(k[c>>2]|0)+-1;_H(k[mf>>2]|0,k[(k[lf>>2]|0)+92>>2]|0);c=$H(k[Gc>>2]|0)|0;k[qf>>2]=c;c=(k[mf>>2]|0)+32|0;yf=k[c+4>>2]|0;Af=nf;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;if((k[(k[pf>>2]|0)+8>>2]|0)==4)k[qf>>2]=(k[(k[(k[lf>>2]|0)+4>>2]|0)+((k[qf>>2]|0)*20|0)+8>>2]|0)-1;k[g>>2]=k[(k[lf>>2]|0)+4>>2];k[e>>2]=k[(k[lf>>2]|0)+8>>2];k[pf>>2]=(k[g>>2]|0)+((k[qf>>2]|0)*20|0)}else if((d|0)==50){d=0;Af=cI(k[lf>>2]|0,k[pf>>2]|0)|0;k[id>>2]=Af;j[(k[id>>2]|0)+8>>1]=2562;k[(k[id>>2]|0)+16>>2]=k[(k[pf>>2]|0)+16>>2];k[(k[id>>2]|0)+12>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[id>>2]|0)+10>>0]=i[G>>0]|0;if((i[(k[pf>>2]|0)+3>>0]|0)!=0?(k[Qc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0),Af=k[Qc>>2]|0,(k[Af>>2]|0)!=0|(k[Af+4>>2]|0)!=0):0)j[(k[id>>2]|0)+8>>1]=2576}else if((d|0)==132){d=0;k[nc>>2]=k[(k[pf>>2]|0)+16>>2];k[id>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);j:do if((k[k[nc>>2]>>2]|0)!=(k[id>>2]|0)){k[k[nc>>2]>>2]=k[id>>2];k[X>>2]=(l[(k[nc>>2]|0)+26>>0]|0)-1;while(1){if((k[X>>2]|0)<0)break j;k[(k[nc>>2]|0)+28+(k[X>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[X>>2]|0)|0)*40|0);k[X>>2]=(k[X>>2]|0)+-1}}while(0);j[(k[k[nc>>2]>>2]|0)+8>>1]=m[(k[k[nc>>2]>>2]|0)+8>>1]&-49664|1;i[(k[nc>>2]|0)+25>>0]=0;Af=nf;yf=k[Af+4>>2]|0;c=(k[mf>>2]|0)+32|0;k[c>>2]=k[Af>>2];k[c+4>>2]=yf;cc[k[(k[(k[nc>>2]|0)+4>>2]|0)+12>>2]&255](k[nc>>2]|0,l[(k[nc>>2]|0)+26>>0]|0,(k[nc>>2]|0)+28|0);c=(k[mf>>2]|0)+32|0;yf=k[c+4>>2]|0;Af=nf;k[Af>>2]=k[c>>2];k[Af+4>>2]=yf;if(i[(k[nc>>2]|0)+25>>0]|0){if(k[(k[nc>>2]|0)+20>>2]|0){Af=k[lf>>2]|0;yf=ke(k[k[nc>>2]>>2]|0)|0;k[Ae>>2]=yf;aI(Af,19255,Ae);k[rf>>2]=k[(k[nc>>2]|0)+20>>2]}lI(k[lf>>2]|0,k[(k[nc>>2]|0)+16>>2]|0,k[(k[pf>>2]|0)+4>>2]|0)}if((m[(k[id>>2]|0)+8>>1]&18|0)!=0?(hu(k[k[nc>>2]>>2]|0,l[G>>0]|0)|0,(dI(k[k[nc>>2]>>2]|0)|0)!=0):0){d=859;break c}}else if((d|0)==438){d=0;if((m[(k[lf>>2]|0)+88>>1]|0)>>>3&1){k[rf>>2]=516;break}k[Ya>>2]=0;k[Tc>>2]=0;k[wb>>2]=k[(k[pf>>2]|0)+8>>2];k[ha>>2]=k[(k[pf>>2]|0)+12>>2];k[Bc>>2]=(k[(k[mf>>2]|0)+16>>2]|0)+(k[ha>>2]<<4);k[Dd>>2]=k[(k[Bc>>2]|0)+4>>2];if((l[k[pf>>2]>>0]|0)==55){k[Se>>2]=4|l[(k[pf>>2]|0)+3>>0]&8;if((l[(k[(k[Bc>>2]|0)+12>>2]|0)+76>>0]|0)<(l[(k[lf>>2]|0)+87>>0]|0))i[(k[lf>>2]|0)+87>>0]=i[(k[(k[Bc>>2]|0)+12>>2]|0)+76>>0]|0}else k[Se>>2]=0;if((l[(k[pf>>2]|0)+3>>0]&16|0)!=0?(k[Pc>>2]=(k[e>>2]|0)+((k[wb>>2]|0)*40|0),Gx(k[Pc>>2]|0)|0,k[wb>>2]=k[k[Pc>>2]>>2],(k[wb>>2]|0)<2):0){d=446;break c}b=k[pf>>2]|0;if((i[(k[pf>>2]|0)+1>>0]|0)!=-6){if((i[b+1>>0]|0)==-14)k[Ya>>2]=k[(k[pf>>2]|0)+16>>2]}else{k[Tc>>2]=k[b+16>>2];k[Ya>>2]=(m[(k[Tc>>2]|0)+6>>1]|0)+(m[(k[Tc>>2]|0)+8>>1]|0)}Af=DI(k[lf>>2]|0,k[(k[pf>>2]|0)+4>>2]|0,k[Ya>>2]|0,k[ha>>2]|0,0)|0;k[qc>>2]=Af;if(!(k[qc>>2]|0)){d=860;break a}i[(k[qc>>2]|0)+2>>0]=1;d=(k[qc>>2]|0)+5|0;i[d>>0]=i[d>>0]&-5|4;k[(k[qc>>2]|0)+8>>2]=k[wb>>2];d=EI(k[Dd>>2]|0,k[wb>>2]|0,k[Se>>2]|0,k[Tc>>2]|0,k[(k[qc>>2]|0)+16>>2]|0)|0;k[rf>>2]=d;k[(k[qc>>2]|0)+24>>2]=k[Tc>>2];i[(k[qc>>2]|0)+4>>0]=(i[(k[pf>>2]|0)+1>>0]|0)!=-6;d=453}else if((d|0)==609){d=0;k[Qb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[Zd>>2]=1;b=k[Qb>>2]|0;if((l[k[Qb>>2]>>0]|0)==1){Af=SI(b,Zd)|0;k[rf>>2]=Af}else{k[kc>>2]=k[b+16>>2];Af=TI(k[kc>>2]|0,Zd)|0;k[rf>>2]=Af;i[(k[Qb>>2]|0)+3>>0]=0;k[(k[Qb>>2]|0)+56>>2]=0}i[(k[Qb>>2]|0)+2>>0]=k[Zd>>2];if(k[Zd>>2]|0)d=15}else if((d|0)==615){k[Rb>>2]=k[(k[(k[lf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+4>>2]<<2)>>2];k[_d>>2]=k[(k[pf>>2]|0)+12>>2];Af=gc[k[(k[pf>>2]|0)+16>>2]&255](k[(k[Rb>>2]|0)+16>>2]|0,_d)|0;k[rf>>2]=Af;d=616}else if((d|0)==740){d=0;k[pc>>2]=k[(k[pf>>2]|0)+16>>2];k[Zc>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+12>>2]|0)*40|0);k:do if((k[(k[pc>>2]|0)+8>>2]|0)!=(k[Zc>>2]|0)){k[(k[pc>>2]|0)+8>>2]=k[Zc>>2];k[Z>>2]=(l[(k[pc>>2]|0)+26>>0]|0)-1;while(1){if((k[Z>>2]|0)<0)break k;k[(k[pc>>2]|0)+28+(k[Z>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)+(k[Z>>2]|0)|0)*40|0);k[Z>>2]=(k[Z>>2]|0)+-1}}while(0);Af=(k[Zc>>2]|0)+12|0;k[Af>>2]=(k[Af>>2]|0)+1;KF(pe,k[mf>>2]|0,1);k[k[pc>>2]>>2]=pe;i[(k[pc>>2]|0)+25>>0]=0;i[(k[pc>>2]|0)+24>>0]=0;cc[k[(k[(k[pc>>2]|0)+4>>2]|0)+12>>2]&255](k[pc>>2]|0,l[(k[pc>>2]|0)+26>>0]|0,(k[pc>>2]|0)+28|0);if(i[(k[pc>>2]|0)+25>>0]|0){if(k[(k[pc>>2]|0)+20>>2]|0){Af=k[lf>>2]|0;yf=ke(pe)|0;k[Ie>>2]=yf;aI(Af,19255,Ie);k[rf>>2]=k[(k[pc>>2]|0)+20>>2]}ch(pe)}if((i[(k[pc>>2]|0)+24>>0]|0)!=0?(k[Z>>2]=k[(k[pf>>2]|0)+-20+4>>2],(k[Z>>2]|0)!=0):0)oh((k[e>>2]|0)+((k[Z>>2]|0)*40|0)|0,1,0)}while(0);do if((d|0)==15){d=0;k[pf>>2]=(k[g>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((d|0)==453){d=0;FI(k[(k[qc>>2]|0)+16>>2]|0,l[(k[pf>>2]|0)+3>>0]&3)}else if((d|0)==616){k[(k[Rb>>2]|0)+56>>2]=0;b=(k[Rb>>2]|0)+2|0;if(!(k[_d>>2]|0)){i[b>>0]=0;d=(k[lf>>2]|0)+108+(l[(k[pf>>2]|0)+3>>0]<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=8;break}else{i[b>>0]=1;d=9;break}}while(0);if((d|0)==8){k[pf>>2]=(k[g>>2]|0)+(((k[(k[pf>>2]|0)+8>>2]|0)-1|0)*20|0);d=9}if((d|0)==9){d=0;if(k[(k[mf>>2]|0)+240>>2]|0)break b;if(((k[(k[mf>>2]|0)+296>>2]|0)!=0?(k[of>>2]|0)>>>0>=(k[db>>2]|0)>>>0:0)?(k[db>>2]=(k[of>>2]|0)+(k[(k[mf>>2]|0)+304>>2]|0)-(((k[of>>2]|0)>>>0)%((k[(k[mf>>2]|0)+304>>2]|0)>>>0)|0),(bc[k[(k[mf>>2]|0)+296>>2]&255](k[(k[mf>>2]|0)+300>>2]|0)|0)!=0):0){d=13;break}}k[pf>>2]=(k[pf>>2]|0)+20}switch(d|0){case 13:{k[rf>>2]=9;break a}case 26:{k[(k[lf>>2]|0)+80>>2]=k[(k[pf>>2]|0)+4>>2];i[(k[lf>>2]|0)+86>>0]=k[(k[pf>>2]|0)+8>>2];k[(k[lf>>2]|0)+76>>2]=k[qf>>2];if(k[(k[lf>>2]|0)+80>>2]|0){if(i[(k[pf>>2]|0)+3>>0]|0)k[wf>>2]=k[6408+((l[(k[pf>>2]|0)+3>>0]|0)-1<<2)>>2];else k[wf>>2]=0;k[vf>>2]=40646;if((k[wf>>2]|0)!=0?(k[(k[pf>>2]|0)+16>>2]|0)!=0:0){Af=k[lf>>2]|0;yf=k[(k[pf>>2]|0)+16>>2]|0;k[ze>>2]=k[wf>>2];k[ze+4>>2]=yf;aI(Af,40670,ze)}else d=33;do if((d|0)==33){b=k[lf>>2]|0;if(k[(k[pf>>2]|0)+16>>2]|0){k[sf>>2]=k[(k[pf>>2]|0)+16>>2];aI(b,19255,sf);break}else{k[tf>>2]=k[wf>>2];aI(b,40695,tf);break}}while(0);yf=k[(k[pf>>2]|0)+4>>2]|0;Af=k[vf>>2]|0;vf=k[(k[lf>>2]|0)+168>>2]|0;wf=k[(k[lf>>2]|0)+44>>2]|0;k[uf>>2]=k[qf>>2];k[uf+4>>2]=vf;k[uf+8>>2]=wf;$d(yf,Af,uf)}Af=bI(k[lf>>2]|0)|0;k[rf>>2]=Af;if((k[rf>>2]|0)==5){k[rf>>2]=5;k[(k[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}else{k[rf>>2]=(k[(k[lf>>2]|0)+80>>2]|0)!=0?1:101;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}}case 74:{k[rf>>2]=9;break a}case 77:{k[(k[lf>>2]|0)+72>>2]=(k[(k[lf>>2]|0)+72>>2]|0)+2|1;Af=(k[e>>2]|0)+((k[(k[pf>>2]|0)+4>>2]|0)*40|0)|0;k[(k[lf>>2]|0)+20>>2]=Af;k[Wc>>2]=Af;k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[(k[pf>>2]|0)+8>>2]|0))break;if((m[(k[Wc>>2]|0)+((k[Q>>2]|0)*40|0)+8>>1]&4096|0)!=0?(ih((k[Wc>>2]|0)+((k[Q>>2]|0)*40|0)|0)|0)!=0:0){d=860;break a}gI((k[Wc>>2]|0)+((k[Q>>2]|0)*40|0)|0)|0;k[Q>>2]=(k[Q>>2]|0)+1}if(i[(k[mf>>2]|0)+65>>0]|0){d=860;break a}k[(k[lf>>2]|0)+76>>2]=(((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0)+1;k[rf>>2]=100;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}case 165:{k[rf>>2]=20;d=861;break}case 367:{k[(k[lf>>2]|0)+76>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;i[(k[mf>>2]|0)+63>>0]=0;k[rf>>2]=5;k[(k[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}case 391:{AI(k[mf>>2]|0,516);i[(k[mf>>2]|0)+63>>0]=1;break}case 395:{Af=eI(k[lf>>2]|0,1)|0;k[rf>>2]=Af;if(Af){Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}else{i[(k[mf>>2]|0)+63>>0]=k[D>>2];break}}case 407:{k[rf>>2]=8;d=861;break}case 410:{k[(k[lf>>2]|0)+76>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;k[(k[lf>>2]|0)+80>>2]=k[rf>>2];Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}case 446:{Af=Vj(77597)|0;k[rf>>2]=Af;d=861;break}case 542:{k[rf>>2]=13;d=861;break}case 551:{k[rf>>2]=13;d=861;break}case 804:{bc[k[(k[bd>>2]|0)+28>>2]&255](k[sd>>2]|0)|0;d=860;break a}case 858:{Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}case 859:{aI(k[lf>>2]|0,19034,Ne);k[rf>>2]=18;break a}}if((d|0)==861){if(i[(k[mf>>2]|0)+65>>0]|0)k[rf>>2]=7;if((k[rf>>2]|0)==3082)break a;Af=k[lf>>2]|0;yf=sh(k[rf>>2]|0)|0;k[Pe>>2]=yf;aI(Af,19255,Pe);break a}if((bI(k[lf>>2]|0)|0)==5){k[(k[lf>>2]|0)+76>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;i[(k[mf>>2]|0)+63>>0]=1-(k[D>>2]|0);k[rf>>2]=5;k[(k[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}BI(k[mf>>2]|0);if(!(k[(k[lf>>2]|0)+80>>2]|0)){k[rf>>2]=101;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}else{k[rf>>2]=1;Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}}while(0);k[rf>>2]=(l[(k[mf>>2]|0)+65>>0]|0)!=0?7:9;k[(k[lf>>2]|0)+80>>2]=k[rf>>2];Af=k[lf>>2]|0;yf=sh(k[rf>>2]|0)|0;k[Qe>>2]=yf;aI(Af,19255,Qe)}while(0);if((d|0)==860){th(k[mf>>2]|0);aI(k[lf>>2]|0,32392,Oe);k[rf>>2]=7}k[(k[lf>>2]|0)+80>>2]=k[rf>>2];Af=k[rf>>2]|0;wf=k[(k[lf>>2]|0)+168>>2]|0;yf=k[(k[lf>>2]|0)+44>>2]|0;k[Me>>2]=((k[pf>>2]|0)-(k[g>>2]|0)|0)/20|0;k[Me+4>>2]=wf;k[Me+8>>2]=yf;$d(Af,41278,Me);bI(k[lf>>2]|0)|0;if((k[rf>>2]|0)==3082)th(k[mf>>2]|0);k[rf>>2]=1;if((l[ee>>0]|0)<=0){Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}Bj(k[mf>>2]|0,(l[ee>>0]|0)-1|0);Af=nf;vf=Af;vf=k[vf>>2]|0;Af=Af+4|0;Af=k[Af>>2]|0;yf=k[mf>>2]|0;yf=yf+32|0;wf=yf;k[wf>>2]=vf;yf=yf+4|0;k[yf>>2]=Af;yf=k[of>>2]|0;Af=k[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=k[Af>>2]|0;yf=wf+yf|0;k[Af>>2]=yf;Af=k[rf>>2]|0;r=xf;return Af|0}function VH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;f=g+12|0;c=g+8|0;e=g+4|0;d=g;k[b>>2]=a;k[f>>2]=0;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[e>>2]|0)!=0?(ug(k[e>>2]|0),a=XH(Yf(k[e>>2]|0)|0)|0,k[d>>2]=a,((k[d>>2]|0)>0?(k[(k[b>>2]|0)+216>>2]|0)!=0:0)&(k[f>>2]|0)==0):0){a=ec[k[(k[b>>2]|0)+216>>2]&255](k[(k[b>>2]|0)+220>>2]|0,k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)>>2]|0,k[d>>2]|0)|0;k[f>>2]=a}k[c>>2]=(k[c>>2]|0)+1}r=g;return k[f>>2]|0}function WH(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[b>>2]|0)+80>>2];a=k[c>>2]|0;if(!(k[(k[b>>2]|0)+44>>2]|0)){tg(a,k[d>>2]|0);d=k[d>>2]|0;r=e;return d|0}a=a+66|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;ak();if(!(k[(k[c>>2]|0)+236>>2]|0)){a=di(k[c>>2]|0)|0;k[(k[c>>2]|0)+236>>2]=a}ei(k[(k[c>>2]|0)+236>>2]|0,-1,k[(k[b>>2]|0)+44>>2]|0,1,-1);bk();b=(k[c>>2]|0)+66|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;k[(k[c>>2]|0)+52>>2]=k[d>>2];d=k[d>>2]|0;r=e;return d|0}function XH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=YH(k[(k[c>>2]|0)+216>>2]|0)|0;r=b;return a|0}function YH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;c=k[c>>2]|0;r=d;return c|0}function ZH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[b>>2]=a;if(!(k[(k[b>>2]|0)+100>>2]|0)){r=g;return}k[d>>2]=k[k[b>>2]>>2];k[c>>2]=k[(k[d>>2]|0)+16>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;if(((k[e>>2]|0)!=1?(k[(k[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0)!=0:0)ug(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=g;return}function _H(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+80>>2]=k[d>>2];b=(k[e>>2]|0)+84|0;k[b>>2]=(k[b>>2]|0)+(k[d>>2]|0);r=c;return}function $H(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];uM(k[d>>2]|0);k[(k[d>>2]|0)+200>>2]=k[(k[b>>2]|0)+20>>2];k[(k[d>>2]|0)+196>>2]=k[(k[b>>2]|0)+56>>2];k[(k[d>>2]|0)+4>>2]=k[(k[b>>2]|0)+8>>2];k[(k[d>>2]|0)+32>>2]=k[(k[b>>2]|0)+48>>2];k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+16>>2];k[(k[d>>2]|0)+28>>2]=k[(k[b>>2]|0)+52>>2];k[(k[d>>2]|0)+56>>2]=k[(k[b>>2]|0)+24>>2];k[(k[d>>2]|0)+36>>2]=k[(k[b>>2]|0)+40>>2];f=(k[b>>2]|0)+32|0;e=k[f+4>>2]|0;a=(k[k[d>>2]>>2]|0)+32|0;k[a>>2]=k[f>>2];k[a+4>>2]=e;k[(k[d>>2]|0)+92>>2]=k[(k[b>>2]|0)+68>>2];k[(k[k[d>>2]>>2]|0)+80>>2]=k[(k[b>>2]|0)+72>>2];r=c;return k[(k[b>>2]|0)+44>>2]|0}function aI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;ag(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+44>>2]|0);k[f>>2]=c;b=hx(k[k[e>>2]>>2]|0,k[g>>2]|0,f)|0;k[(k[e>>2]|0)+44>>2]=b;r=d;return}function bI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;d=n+16|0;h=n+12|0;c=n+8|0;j=n+4|0;b=n;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];if(i[(k[h>>2]|0)+65>>0]|0)k[(k[g>>2]|0)+80>>2]=7;if(k[(k[g>>2]|0)+200>>2]|0)uR(k[(k[g>>2]|0)+200>>2]|0,0,k[(k[g>>2]|0)+196>>2]|0)|0;mM(k[g>>2]|0);if((k[(k[g>>2]|0)+40>>2]|0)!=-1108210269){k[f>>2]=0;j=k[f>>2]|0;r=n;return j|0}if((k[(k[g>>2]|0)+76>>2]|0)>=0?((m[(k[g>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){k[j>>2]=0;ZH(k[g>>2]|0);k[c>>2]=k[(k[g>>2]|0)+80>>2]&255;if((k[c>>2]|0)==7|(k[c>>2]|0)==10|(k[c>>2]|0)==9)a=1;else a=(k[c>>2]|0)==13;k[b>>2]=a&1;do if((k[b>>2]|0)!=0?((k[c>>2]|0)!=9?1:((m[(k[g>>2]|0)+88>>1]|0)>>>6&1|0)==0):0){if((k[c>>2]|0)==7|(k[c>>2]|0)==13?((m[(k[g>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){k[j>>2]=2;break}AI(k[h>>2]|0,516);BI(k[h>>2]|0);i[(k[h>>2]|0)+63>>0]=1;k[(k[g>>2]|0)+92>>2]=0}while(0);if(!(k[(k[g>>2]|0)+80>>2]|0))eI(k[g>>2]|0,0)|0;if((k[(k[h>>2]|0)+308>>2]|0)>0?(k[(k[h>>2]|0)+332>>2]|0)==0:0)e=38;else if((l[(k[h>>2]|0)+63>>0]|0)!=0?(k[(k[h>>2]|0)+156>>2]|0)==(((m[(k[g>>2]|0)+88>>1]|0)>>>6&1|0)==0|0):0){if((k[(k[g>>2]|0)+80>>2]|0)!=0?((k[b>>2]|0)!=0?1:(l[(k[g>>2]|0)+86>>0]|0)!=3):0){AI(k[h>>2]|0,0);k[(k[g>>2]|0)+92>>2]=0}else e=25;do if((e|0)==25){c=eI(k[g>>2]|0,1)|0;k[d>>2]=c;do if(k[d>>2]|0){if(!((m[(k[g>>2]|0)+88>>1]|0)>>>6&1)){k[d>>2]=787;break}k[f>>2]=1;j=k[f>>2]|0;r=n;return j|0}else{c=nM(k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c}while(0);if((k[d>>2]|0)==5?((m[(k[g>>2]|0)+88>>1]|0)>>>6&1|0)!=0:0){k[f>>2]=5;j=k[f>>2]|0;r=n;return j|0}if(k[d>>2]|0){k[(k[g>>2]|0)+80>>2]=k[d>>2];AI(k[h>>2]|0,0);k[(k[g>>2]|0)+92>>2]=0;break}else{c=(k[h>>2]|0)+512|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+520|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+24|0;k[c>>2]=k[c>>2]&-16777217;Cj(k[h>>2]|0);break}}while(0);k[(k[h>>2]|0)+504>>2]=0}else e=38;do if((e|0)==38?(k[j>>2]|0)==0:0){if((k[(k[g>>2]|0)+80>>2]|0)!=0?(l[(k[g>>2]|0)+86>>0]|0)!=3:0)if((l[(k[g>>2]|0)+86>>0]|0)==2){k[j>>2]=2;break}else{AI(k[h>>2]|0,516);BI(k[h>>2]|0);i[(k[h>>2]|0)+63>>0]=1;k[(k[g>>2]|0)+92>>2]=0;break}k[j>>2]=1}while(0);if((k[j>>2]|0)!=0?(e=fI(k[g>>2]|0,k[j>>2]|0)|0,k[d>>2]=e,(k[d>>2]|0)!=0):0){if(!((k[(k[g>>2]|0)+80>>2]|0)!=0?(k[(k[g>>2]|0)+80>>2]&255|0)!=19:0)){k[(k[g>>2]|0)+80>>2]=k[d>>2];ag(k[h>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[(k[g>>2]|0)+44>>2]=0}AI(k[h>>2]|0,516);BI(k[h>>2]|0);i[(k[h>>2]|0)+63>>0]=1;k[(k[g>>2]|0)+92>>2]=0}if((m[(k[g>>2]|0)+88>>1]|0)>>>2&1){a=k[h>>2]|0;if((k[j>>2]|0)!=2)_H(a,k[(k[g>>2]|0)+92>>2]|0);else _H(a,0);k[(k[g>>2]|0)+92>>2]=0}}if((k[(k[g>>2]|0)+76>>2]|0)>=0){j=(k[h>>2]|0)+148|0;k[j>>2]=(k[j>>2]|0)+-1;if(!((m[(k[g>>2]|0)+88>>1]|0)>>>6&1)){j=(k[h>>2]|0)+156|0;k[j>>2]=(k[j>>2]|0)+-1}if((m[(k[g>>2]|0)+88>>1]|0)>>>7&1){j=(k[h>>2]|0)+152|0;k[j>>2]=(k[j>>2]|0)+-1}}k[(k[g>>2]|0)+40>>2]=1369188723;if(i[(k[h>>2]|0)+65>>0]|0)k[(k[g>>2]|0)+80>>2]=7;k[f>>2]=(k[(k[g>>2]|0)+80>>2]|0)==5?5:0;j=k[f>>2]|0;r=n;return j|0}function cI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[g>>2]|0)+8>>2]|0)+((k[(k[f>>2]|0)+8>>2]|0)*40|0);a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){g=lM(a)|0;k[c>>2]=g;g=k[c>>2]|0;r=e;return g|0}else{j[a+8>>1]=4;k[c>>2]=k[d>>2];g=k[c>>2]|0;r=e;return g|0}return 0}function dI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}k[d>>2]=k[(k[c>>2]|0)+12>>2];if((m[(k[c>>2]|0)+8>>1]|0)&16384)k[d>>2]=(k[d>>2]|0)+(k[k[c>>2]>>2]|0);k[b>>2]=(k[d>>2]|0)>(k[(k[(k[c>>2]|0)+32>>2]|0)+88>>2]|0)&1;a=k[b>>2]|0;r=e;return a|0}function eI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(!((k[e>>2]|0)!=0?(b=(k[f>>2]|0)+512|0,a=(k[f>>2]|0)+520|0,a=qR(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,(b|0)>0|(b|0)==0&a>>>0>0):0))h=3;do if((h|0)==3){if((k[e>>2]|0)==0?(h=(k[d>>2]|0)+144|0,a=k[h+4>>2]|0,(a|0)>0|(a|0)==0&(k[h>>2]|0)>>>0>0):0)break;k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);k[(k[d>>2]|0)+80>>2]=787;i[(k[d>>2]|0)+86>>0]=2;aI(k[d>>2]|0,36044,g);k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}function fI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;f=l+12|0;g=l+8|0;j=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[i>>2]=0;if(!(k[(k[e>>2]|0)+504>>2]|0)){j=k[i>>2]|0;r=l;return j|0}if(!(k[(k[c>>2]|0)+104>>2]|0)){j=k[i>>2]|0;r=l;return j|0}k[g>>2]=(k[(k[c>>2]|0)+104>>2]|0)-1;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[j>>2]=0;k[h>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];if(k[h>>2]|0){if((k[d>>2]|0)==2){a=zI(k[h>>2]|0,2,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[j>>2]|0)){a=zI(k[h>>2]|0,1,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}k[f>>2]=(k[f>>2]|0)+1}j=(k[e>>2]|0)+504|0;k[j>>2]=(k[j>>2]|0)+-1;k[(k[c>>2]|0)+104>>2]=0;if(!(k[i>>2]|0)){if((k[d>>2]|0)==2){j=xI(k[e>>2]|0,2,k[g>>2]|0)|0;k[i>>2]=j}if(!(k[i>>2]|0)){j=xI(k[e>>2]|0,1,k[g>>2]|0)|0;k[i>>2]=j}}if((k[d>>2]|0)!=2){j=k[i>>2]|0;r=l;return j|0}j=(k[c>>2]|0)+152|0;h=k[j+4>>2]|0;a=(k[e>>2]|0)+512|0;k[a>>2]=k[j>>2];k[a+4>>2]=h;a=(k[c>>2]|0)+160|0;h=k[a+4>>2]|0;j=(k[e>>2]|0)+520|0;k[j>>2]=k[a>>2];k[j+4>>2]=h;j=k[i>>2]|0;r=l;return j|0}function gI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(((m[(k[c>>2]|0)+8>>1]|0)&514|0)!=2){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{a=kM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function hI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=m[(k[c>>2]|0)+8>>1]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&12))if(a&18){c=jM(k[c>>2]|0)|0;j[b>>1]=c;break}else{j[b>>1]=0;break}else j[b>>1]=a&12;while(0);r=d;return j[b>>1]|0}function iI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;i=f;k[i>>2]=b;k[i+4>>2]=c;b=k[e>>2]|0;i=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=i;a=f;i=k[a+4>>2]|0;b=g;c=k[b+4>>2]|0;if((i|0)>0|(i|0)==0&(k[a>>2]|0)>>>0>=0){if((c|0)>0|(c|0)==0&(k[b>>2]|0)>>>0>0?(g,g=pR(-1,2147483647,k[g>>2]|0,k[g+4>>2]|0)|0,c=L,i=f,a=k[i+4>>2]|0,(c|0)<(a|0)|((c|0)==(a|0)?g>>>0<(k[i>>2]|0)>>>0:0)):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((c|0)<0?(g,g=qR(k[g>>2]|0,k[g+4>>2]|0,-1,2147483647)|0,g=pR(0,0,g|0,L|0)|0,c=L,i=f,i=qR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0,a=L,(c|0)>(a|0)|(c|0)==(a|0)&g>>>0>i>>>0):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}g=f;i=k[e>>2]|0;f=i;g=qR(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[i>>2]=g;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function jI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[e>>2]|0;if(!((k[a>>2]|0)==0?(k[a+4>>2]|0)==-2147483648:0)){f=pR(0,0,k[f>>2]|0,k[f+4>>2]|0)|0;f=iI(b,f,L)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}a=b;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>=0){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else{a=f;f=k[e>>2]|0;e=f;e=pR(k[e>>2]|0,k[e+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=L;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function kI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+60|0;e=m+56|0;f=m+48|0;n=m+40|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;l=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=k[e>>2]|0;b=k[c+4>>2]|0;a=n;k[a>>2]=k[c>>2];k[a+4>>2]=b;a=n;a=zR(k[a>>2]|0,k[a+4>>2]|0,0,1)|0;b=h;k[b>>2]=a;k[b+4>>2]=L;b=n;b=AR(k[b>>2]|0,k[b+4>>2]|0,0,1)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;a=f;a=zR(k[a>>2]|0,k[a+4>>2]|0,0,1)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;b=f;b=AR(k[b>>2]|0,k[b+4>>2]|0,0,1)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=h;b=j;b=(k[b>>2]|0)==0&(k[b+4>>2]|0)==0;do if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){if(!b){n=g;j=BR(k[n>>2]|0,k[n+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;n=l;k[n>>2]=j;k[n+4>>2]=L;break}l=f;n=k[e>>2]|0;j=n;l=BR(k[j>>2]|0,k[j+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[n>>2]=l;k[n+4>>2]=L;k[d>>2]=0;n=k[d>>2]|0;r=m;return n|0}else{if(b){n=h;j=i;j=BR(k[n>>2]|0,k[n+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;n=l;k[n>>2]=j;k[n+4>>2]=L;break}k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}while(0);h=l;f=k[h+4>>2]|0;n=l;j=k[n+4>>2]|0;if((f|0)<-1|(f|0)==-1&(k[h>>2]|0)>>>0<2147483648|((j|0)>0|(j|0)==0&(k[n>>2]|0)>>>0>=2147483648)){k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}n=l;n=BR(k[n>>2]|0,k[n+4>>2]|0,0,1)|0;j=l;k[j>>2]=n;k[j+4>>2]=L;j=g;n=i;n=BR(k[j>>2]|0,k[j+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;if(iI(l,n,L)|0){k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}else{j=l;l=k[j+4>>2]|0;n=k[e>>2]|0;k[n>>2]=k[j>>2];k[n+4>>2]=l;k[d>>2]=0;n=k[d>>2]|0;r=m;return n|0}return 0}function lI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[d>>2]|0)+204;a:while(1){if(!(k[k[h>>2]>>2]|0))break;k[g>>2]=k[k[h>>2]>>2];do if((k[e>>2]|0)>=0){if((k[k[g>>2]>>2]|0)==(k[e>>2]|0)){if((k[(k[g>>2]|0)+4>>2]|0)>31)break;if(!(k[f>>2]&1<>2]|0)+4>>2]))break}k[h>>2]=(k[g>>2]|0)+16;continue a}while(0);if(k[(k[g>>2]|0)+12>>2]|0)_b[k[(k[g>>2]|0)+12>>2]&255](k[(k[g>>2]|0)+8>>2]|0);k[k[h>>2]>>2]=k[(k[g>>2]|0)+16>>2];ag(k[k[d>>2]>>2]|0,k[g>>2]|0)}r=i;return}function mI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;i=l+8|0;j=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[i>>2]=m[(k[e>>2]|0)+8>>1];k[j>>2]=m[(k[f>>2]|0)+8>>1];k[h>>2]=k[i>>2]|k[j>>2];do if(!(k[h>>2]&1)){if(!(k[h>>2]&12)){if(k[h>>2]&2){if(!(k[i>>2]&2)){k[d>>2]=1;break}if(!(k[j>>2]&2)){k[d>>2]=-1;break}if(k[g>>2]|0){b=IF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[d>>2]=b;break}}b=iM(k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;break}if(k[i>>2]&k[j>>2]&4){a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)<(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[d>>2]=-1;break}a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)>(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&k[j>>2]&8){if(+p[k[e>>2]>>3]<+p[k[f>>2]>>3]){k[d>>2]=-1;break}if(+p[k[e>>2]>>3]>+p[k[f>>2]>>3]){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&4)if(k[j>>2]&8){b=k[e>>2]|0;b=GF(k[b>>2]|0,k[b+4>>2]|0,+p[k[f>>2]>>3])|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}if(!(k[i>>2]&8)){k[d>>2]=1;break}if(k[j>>2]&4){b=k[f>>2]|0;b=0-(GF(k[b>>2]|0,k[b+4>>2]|0,+p[k[e>>2]>>3])|0)|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}}else k[d>>2]=(k[j>>2]&1)-(k[i>>2]&1);while(0);r=l;return k[d>>2]|0}function nI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[d>>2]>>2];do if(!(l[k[g>>2]>>0]|0)){b=k[g>>2]|0;if(!(i[(k[g>>2]|0)+3>>0]|0)){if(!(xL(k[b+16>>2]|0)|0))break;g=yL(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}if((k[b+52>>2]|0)!=0?(a=k[(k[(k[g>>2]|0)+52>>2]|0)+(1+(k[k[e>>2]>>2]|0)<<2)>>2]|0,k[f>>2]=a,(a|0)>0):0){k[k[d>>2]>>2]=k[(k[g>>2]|0)+48>>2];k[k[e>>2]>>2]=(k[f>>2]|0)-1;k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}g=hM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function oI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function pI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;sF(k[e>>2]|0);k[k[d>>2]>>2]=k[(k[e>>2]|0)+16+12>>2];r=c;return 0}function qI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function rI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[n>>2]=0;c=k[f>>2]|0;if(k[i>>2]|0){e=oI(c,m)|0;k[o>>2]=e}else{e=qI(c,m)|0;k[o>>2]=e}if(((k[g>>2]|0)+(k[h>>2]|0)|0)>>>0<=(k[m>>2]|0)>>>0){k[(k[l>>2]|0)+16>>2]=(k[o>>2]|0)+(k[g>>2]|0);j[(k[l>>2]|0)+8>>1]=4112;k[(k[l>>2]|0)+12>>2]=k[h>>2];o=k[n>>2]|0;r=p;return o|0}else{o=fM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[l>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}return 0}function sI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return i[35916+(l[b>>0]|0)>>0]|0}function tI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=r;r=r+48|0;l=n+36|0;d=n+32|0;h=n+28|0;g=n+24|0;e=n+20|0;f=n+16|0;i=n+8|0;j=n;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[e>>2]=m[(k[d>>2]|0)+8>>1];if(k[e>>2]&1){k[k[g>>2]>>2]=0;k[l>>2]=0;l=k[l>>2]|0;r=n;return l|0}if(!(k[e>>2]&4)){if(k[e>>2]&8){k[k[g>>2]>>2]=8;k[l>>2]=7;l=k[l>>2]|0;r=n;return l|0}k[f>>2]=k[(k[d>>2]|0)+12>>2];if(k[e>>2]&16384)k[f>>2]=(k[f>>2]|0)+(k[k[d>>2]>>2]|0);k[k[g>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]<<1)+12+((k[e>>2]&2|0)!=0&1);l=k[l>>2]|0;r=n;return l|0}a=k[d>>2]|0;d=k[a+4>>2]|0;b=i;k[b>>2]=k[a>>2];k[b+4>>2]=d;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;if((k[i+4>>2]|0)<0){a=j;k[a>>2]=~d;k[a+4>>2]=~b}else{a=j;k[a>>2]=d;k[a+4>>2]=b}a=j;c=k[a+4>>2]|0;if(c>>>0<0|(c|0)==0&(k[a>>2]|0)>>>0<=127){a=i;d=k[g>>2]|0;if((0==(k[a+4>>2]|0)?(k[i>>2]&1|0)==(k[a>>2]|0):0)&(k[h>>2]|0)>=4){k[d>>2]=0;k[l>>2]=8+(k[j>>2]|0);l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=1;k[l>>2]=1;l=k[l>>2]|0;r=n;return l|0}}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=32767){k[k[g>>2]>>2]=2;k[l>>2]=2;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=8388607){k[k[g>>2]>>2]=3;k[l>>2]=3;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=2147483647){k[k[g>>2]>>2]=4;k[l>>2]=4;l=k[l>>2]|0;r=n;return l|0}i=k[j+4>>2]|0;d=k[g>>2]|0;if(i>>>0<32767|(i|0)==32767&(k[j>>2]|0)>>>0<=4294967295){k[d>>2]=6;k[l>>2]=5;l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=8;k[l>>2]=6;l=k[l>>2]|0;r=n;return l|0}return 0}function uI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;h=k[a+4>>2]|0;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[a>>2]|0)>>>0<=127){i[k[e>>2]>>0]=b&127;k[d>>2]=1;h=k[d>>2]|0;r=g;return h|0}if(c>>>0<0|(c|0)==0&b>>>0<=16383){h=f;h=rR(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;r=g;return h|0}else{h=f;h=eM(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;r=g;return h|0}return 0}function vI(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,m=0,n=0;n=r;r=r+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;j=n+12|0;m=n;h=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if((k[g>>2]|0)>>>0<=7&(k[g>>2]|0)>>>0>0){if((a|0)==7){f=k[f>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=k[f+4>>2]}else{b=k[f>>2]|0;c=k[b+4>>2]|0;f=m;k[f>>2]=k[b>>2];k[f+4>>2]=c}g=l[35916+(k[g>>2]|0)>>0]|0;k[h>>2]=g;k[j>>2]=g;do{g=k[m>>2]&255;f=(k[h>>2]|0)+-1|0;k[h>>2]=f;i[(k[e>>2]|0)+f>>0]=g;f=m;f=rR(k[f>>2]|0,k[f+4>>2]|0,8)|0;g=m;k[g>>2]=f;k[g+4>>2]=L}while((k[h>>2]|0)!=0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}else{if(a>>>0<12){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[j>>2]=k[(k[f>>2]|0)+12>>2];if((k[j>>2]|0)>>>0>0)sR(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}return 0}function wI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o;n=o+16|0;c=o+12|0;d=o+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=0;k[b+4>>2]=0;if(!(k[(k[f>>2]|0)+52>>2]|0)){n=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}b=qF(k[f>>2]|0)|0;k[n>>2]=b;a:while(1){if(k[n>>2]|0){a=16;break}k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];if(!((l[(k[d>>2]|0)+4>>0]|0)==0?(i[(k[d>>2]|0)+2>>0]|0)!=0:0)){a=h;a=qR(k[a>>2]|0,k[a+4>>2]|0,m[(k[d>>2]|0)+18>>1]|0,0)|0;b=h;k[b>>2]=a;k[b+4>>2]=L}if(i[(k[d>>2]|0)+4>>0]|0){do{if(!(i[(k[f>>2]|0)+68>>0]|0)){a=10;break a}hF(k[f>>2]|0)}while((m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));b=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+1<<16>>16;k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]}k[c>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];a=k[f>>2]|0;b=k[d>>2]|0;if((k[c>>2]|0)==(m[(k[d>>2]|0)+18>>1]|0)){b=fF(a,jr((k[(k[d>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0)|0;k[n>>2]=b;continue}else{b=fF(a,jr((k[b+56>>2]|0)+(m[(k[d>>2]|0)+20>>1]&(l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[n>>2]=b;continue}}if((a|0)==10){d=h;h=k[d+4>>2]|0;n=k[g>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=h;n=qF(k[f>>2]|0)|0;k[e>>2]=n;n=k[e>>2]|0;r=o;return n|0}else if((a|0)==16){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}return 0}function xI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;if(!(k[(k[d>>2]|0)+332>>2]|0)){l=k[l>>2]|0;r=m;return l|0}k[g>>2]=0;while(1){if(k[l>>2]|0){d=15;break}if((k[g>>2]|0)>=(k[(k[d>>2]|0)+308>>2]|0)){d=15;break}k[i>>2]=k[(k[(k[d>>2]|0)+332>>2]|0)+(k[g>>2]<<2)>>2];k[h>>2]=k[k[(k[i>>2]|0)+4>>2]>>2];if((k[(k[i>>2]|0)+8>>2]|0)!=0?(k[k[h>>2]>>2]|0)>=2:0){switch(k[e>>2]|0){case 0:{k[j>>2]=k[(k[h>>2]|0)+80>>2];k[(k[i>>2]|0)+20>>2]=(k[f>>2]|0)+1;break}case 2:{k[j>>2]=k[(k[h>>2]|0)+88>>2];break}default:k[j>>2]=k[(k[h>>2]|0)+84>>2]}if((k[j>>2]|0)!=0?(k[(k[i>>2]|0)+20>>2]|0)>(k[f>>2]|0):0){b=gc[k[j>>2]&255](k[(k[i>>2]|0)+8>>2]|0,k[f>>2]|0)|0;k[l>>2]=b}}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==15){l=k[l>>2]|0;r=m;return l|0}return 0}function yI(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,m=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;h=n+8|0;j=n+4|0;g=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(k[d>>2]|0)){m=k[j>>2]|0;r=n;return m|0}ug(k[d>>2]|0);k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(k[h>>2]|0)){m=15;break}do if((k[f>>2]|0)!=0?(l[(k[h>>2]|0)+64>>0]&1|0)==0:0){if((l[(k[h>>2]|0)+66>>0]|0)!=1?(l[(k[h>>2]|0)+66>>0]|0)!=2:0)break;c=zH(k[h>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0)break a}else m=10;while(0);if((m|0)==10){m=0;zB(k[h>>2]|0);i[(k[h>>2]|0)+66>>0]=4;k[(k[h>>2]|0)+60>>2]=k[e>>2]}k[g>>2]=0;while(1){if((k[g>>2]|0)>(i[(k[h>>2]|0)+68>>0]|0))break;AB(k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]|0);k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=k[(k[h>>2]|0)+8>>2]}if((m|0)==15){m=k[j>>2]|0;r=n;return m|0}yI(k[d>>2]|0,k[j>>2]|0,0)|0;m=k[j>>2]|0;r=n;return m|0}function zI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if(!(k[d>>2]|0)){h=k[h>>2]|0;r=i;return h|0}if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){h=k[h>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+4>>2];ug(k[d>>2]|0);a=Ur(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if((k[f>>2]|0)<0?((m[(k[g>>2]|0)+22>>1]|0)&8|0)!=0:0)k[(k[g>>2]|0)+44>>2]=0;a=dM(k[g>>2]|0)|0;k[h>>2]=a;a=jr((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;k[(k[g>>2]|0)+44>>2]=a;h=k[h>>2]|0;r=i;return h|0}function AI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;ak();Xf(k[c>>2]|0);if(k[(k[c>>2]|0)+24>>2]&2)a=(l[(k[c>>2]|0)+140+5>>0]|0)==0;else a=0;k[h>>2]=a&1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(li(k[g>>2]|0)|0)k[f>>2]=1;Wg(k[g>>2]|0,k[d>>2]|0,((k[h>>2]|0)!=0^1)&1)|0}k[e>>2]=(k[e>>2]|0)+1}nu(k[c>>2]|0)|0;bk();if((k[(k[c>>2]|0)+24>>2]&2|0)!=0?(l[(k[c>>2]|0)+140+5>>0]|0)==0:0){Yh(k[c>>2]|0);Jg(k[c>>2]|0)}h=(k[c>>2]|0)+512|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+520|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+24|0;k[h>>2]=k[h>>2]&-16777217;if(!(k[(k[c>>2]|0)+204>>2]|0)){r=j;return}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+63>>0]|0)!=0:0){r=j;return}_b[k[(k[c>>2]|0)+204>>2]&255](k[(k[c>>2]|0)+200>>2]|0);r=j;return}function BI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+492>>2]|0))break;k[c>>2]=k[a+492>>2];k[(k[b>>2]|0)+492>>2]=k[(k[c>>2]|0)+24>>2];ag(k[b>>2]|0,k[c>>2]|0)}k[a+500>>2]=0;k[(k[b>>2]|0)+504>>2]=0;i[(k[b>>2]|0)+71>>0]=0;r=d;return}function CI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];ug(k[g>>2]|0);a=aM(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function DI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;o=s+28|0;q=s+8|0;h=s+4|0;p=s;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;i[o>>0]=e;k[q>>2]=(k[(k[f>>2]|0)+8>>2]|0)+(((k[(k[f>>2]|0)+28>>2]|0)-(k[g>>2]|0)|0)*40|0);k[p>>2]=0;e=88+(k[m>>2]<<3)|0;if(!(l[o>>0]|0))b=_L()|0;else b=0;k[h>>2]=e+b;if(k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]|0){II(k[f>>2]|0,k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]|0);k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]=0}if(Dx(k[q>>2]|0,k[h>>2]|0)|0){q=k[p>>2]|0;r=s;return q|0}e=k[(k[q>>2]|0)+16>>2]|0;k[p>>2]=e;k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]=e;e=k[p>>2]|0;b=e+88|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(b|0));i[k[p>>2]>>0]=i[o>>0]|0;i[(k[p>>2]|0)+1>>0]=k[n>>2];j[(k[p>>2]|0)+12>>1]=k[m>>2];k[(k[p>>2]|0)+76>>2]=(k[p>>2]|0)+80+(k[m>>2]<<2);if(l[o>>0]|0){q=k[p>>2]|0;r=s;return q|0}k[(k[p>>2]|0)+16>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(88+(k[m>>2]<<3));$L(k[(k[p>>2]|0)+16>>2]|0);q=k[p>>2]|0;r=s;return q|0}function EI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)<1){c=Vj(59722)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}else{ug(k[f>>2]|0);c=YL(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}return 0}function FI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+67>>0]=k[e>>2];r=c;return}function GI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;ug(k[h>>2]|0);b=XL(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function HI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;q=w+48|0;d=w+44|0;e=w+40|0;u=w+36|0;f=w+32|0;g=w+28|0;t=w+24|0;s=w+20|0;o=w+16|0;n=w+12|0;v=w+8|0;h=w+4|0;p=w;k[q>>2]=a;k[d>>2]=b;k[e>>2]=c;k[v>>2]=0;k[o>>2]=24+((m[(k[(k[e>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);k[n>>2]=136;c=(k[n>>2]|0)+(k[o>>2]|0)|0;c=zh(k[q>>2]|0,c,((c|0)<0)<<31>>31)|0;k[t>>2]=c;k[(k[e>>2]|0)+16>>2]=k[t>>2];if(!(k[t>>2]|0)){k[v>>2]=7;v=k[v>>2]|0;r=w;return v|0}n=(k[t>>2]|0)+(k[n>>2]|0)|0;k[s>>2]=n;k[(k[t>>2]|0)+28>>2]=n;sR(k[s>>2]|0,k[(k[e>>2]|0)+24>>2]|0,k[o>>2]|0)|0;k[(k[s>>2]|0)+12>>2]=0;if(k[d>>2]|0){o=(k[s>>2]|0)+8|0;j[o>>1]=(m[o>>1]|0)+((m[(k[s>>2]|0)+6>>1]|0)-(k[d>>2]|0));j[(k[s>>2]|0)+6>>1]=k[d>>2]}o=zg(k[(k[(k[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[u>>2]=o;k[(k[t>>2]|0)+12>>2]=o;i[(k[t>>2]|0)+59>>0]=1;i[(k[t>>2]|0)+58>>0]=-1;i[(k[t>>2]|0)+57>>0]=(l[(k[t>>2]|0)+59>>0]|0|0)>1;k[(k[t>>2]|0)+24>>2]=k[q>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(l[(k[t>>2]|0)+59>>0]|0|0))break;k[h>>2]=(k[t>>2]|0)+64+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+8>>2]=k[t>>2];k[f>>2]=(k[f>>2]|0)+1}if(!(ar(k[q>>2]|0)|0)){k[p>>2]=k[58];o=ha(k[p>>2]|0,k[u>>2]|0)|0;k[k[t>>2]>>2]=o;k[g>>2]=k[(k[(k[(k[q>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2];if((k[g>>2]|0)<(k[p>>2]|0))k[g>>2]=k[p>>2];o=k[g>>2]|0;p=k[u>>2]|0;p=BR(o|0,((o|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;o=L;if((o|0)<0|(o|0)==0&p>>>0<536870912){p=k[g>>2]|0;d=k[u>>2]|0;d=BR(p|0,((p|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0}else d=536870912;k[(k[t>>2]|0)+4>>2]=d;if((k[50]|0)==0?(k[(k[t>>2]|0)+52>>2]=k[u>>2],u=k[u>>2]|0,u=ig(u,((u|0)<0)<<31>>31)|0,k[(k[t>>2]|0)+36+4>>2]=u,(k[(k[t>>2]|0)+36+4>>2]|0)==0):0)k[v>>2]=7}if(((m[(k[s>>2]|0)+6>>1]|0)+(m[(k[s>>2]|0)+8>>1]|0)|0)>=13){v=k[v>>2]|0;r=w;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)!=0?(k[(k[s>>2]|0)+20>>2]|0)!=(k[(k[q>>2]|0)+8>>2]|0):0){v=k[v>>2]|0;r=w;return v|0}i[(k[t>>2]|0)+60>>0]=3;v=k[v>>2]|0;r=w;return v|0}function II(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[f>>2]=b;if(!(k[f>>2]|0)){r=g;return}switch(l[k[f>>2]>>0]|0|0){case 1:{WL(k[k[c>>2]>>2]|0,k[f>>2]|0);r=g;return}case 0:{c=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){vB(k[c+20>>2]|0)|0;r=g;return}else{xB(k[c+16>>2]|0)|0;r=g;return}}case 2:{k[e>>2]=k[(k[f>>2]|0)+16>>2];k[d>>2]=k[k[k[e>>2]>>2]>>2];f=(k[k[e>>2]>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+-1;bc[k[(k[d>>2]|0)+28>>2]&255](k[e>>2]|0)|0;r=g;return}default:{r=g;return}}}function JI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return ((l[(k[d>>2]|0)+67>>0]|0)&k[c>>2]|0)!=0|0}function KI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return 1!=(l[(k[b>>2]|0)+66>>0]|0|0)|0}function LI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[c>>2]=b;if(1==(l[(k[d>>2]|0)+66>>0]|0|0)?((l[(k[d>>2]|0)+64>>0]|0)&8|0)!=0:0){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}b=qF(k[d>>2]|0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}k[c>>2]=0;c=gF(k[d>>2]|0)|0;k[f>>2]=c;c=(k[d>>2]|0)+64|0;a=l[c>>0]|0;if(!(k[f>>2]|0)){i[c>>0]=a|8;break}else{i[c>>0]=a&-9;break}}while(0);k[e>>2]=k[f>>2];f=k[e>>2]|0;r=g;return f|0}function MI(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+80|0;o=H+72|0;p=H+68|0;q=H+64|0;s=H;t=H+60|0;u=H+56|0;v=H+52|0;w=H+48|0;I=H+44|0;E=H+40|0;y=H+36|0;F=H+32|0;x=H+28|0;D=H+24|0;B=H+20|0;C=H+16|0;A=H+12|0;z=H+8|0;G=H+76|0;k[p>>2]=a;k[q>>2]=b;b=s;k[b>>2]=c;k[b+4>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=g;k[w>>2]=h;k[I>>2]=n;k[y>>2]=k[I>>2];k[F>>2]=0;k[B>>2]=k[k[p>>2]>>2];k[C>>2]=k[(k[B>>2]|0)+4>>2];k[z>>2]=0;c=k[p>>2]|0;if((l[(k[p>>2]|0)+66>>0]|0)==4){k[o>>2]=k[c+60>>2];I=k[o>>2]|0;r=H;return I|0}if((l[c+64>>0]&32|0)!=0?(I=xH(k[C>>2]|0,k[(k[p>>2]|0)+52>>2]|0,k[p>>2]|0)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}do if(!(k[(k[p>>2]|0)+72>>2]|0)){I=s;CK(k[B>>2]|0,k[I>>2]|0,k[I+4>>2]|0,0);I=s;B=k[I+4>>2]|0;if((l[(k[p>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(k[I>>2]|0)>>>0>0)?(I=(k[p>>2]|0)+16|0,n=k[I>>2]|0,I=k[I+4>>2]|0,B=s,B=pR(k[B>>2]|0,k[B+4>>2]|0,1,0)|0,(n|0)==(B|0)&(I|0)==(L|0)):0){k[y>>2]=-1;break}if((k[y>>2]|0)==0?(I=s,I=oF(k[p>>2]|0,0,k[I>>2]|0,k[I+4>>2]|0,k[w>>2]|0,y)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}}else if((k[y>>2]|0)==0?(I=s,I=lF(k[p>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[w>>2]|0,y)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}while(0);k[D>>2]=k[(k[p>>2]|0)+120+(i[(k[p>>2]|0)+68>>0]<<2)>>2];k[z>>2]=k[(k[C>>2]|0)+80>>2];I=s;I=VL(k[D>>2]|0,k[z>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,F)|0;k[E>>2]=I;do if(!(k[E>>2]|0)){k[x>>2]=m[(k[p>>2]|0)+80+(i[(k[p>>2]|0)+68>>0]<<1)>>1];if(!(k[y>>2]|0)){I=Ng(k[(k[D>>2]|0)+72>>2]|0)|0;k[E>>2]=I;if(k[E>>2]|0)break;k[A>>2]=(k[(k[D>>2]|0)+56>>2]|0)+(m[(k[D>>2]|0)+20>>1]&(l[(k[(k[D>>2]|0)+64>>2]|0)+(k[x>>2]<<1)>>0]<<8|l[(k[(k[D>>2]|0)+64>>2]|0)+(k[x>>2]<<1)+1>>0]));if(!(i[(k[D>>2]|0)+4>>0]|0)){I=k[z>>2]|0;C=k[A>>2]|0;i[I>>0]=i[C>>0]|0;i[I+1>>0]=i[C+1>>0]|0;i[I+2>>0]=i[C+2>>0]|0;i[I+3>>0]=i[C+3>>0]|0}I=EK(k[D>>2]|0,k[A>>2]|0,G)|0;k[E>>2]=I;BL(k[D>>2]|0,k[x>>2]|0,m[G>>1]|0,E);if(k[E>>2]|0)break}else if((k[y>>2]|0)<0?(m[(k[D>>2]|0)+18>>1]|0)>0:0){G=(k[p>>2]|0)+80+(i[(k[p>>2]|0)+68>>0]<<1)|0;I=(j[G>>1]|0)+1<<16>>16;j[G>>1]=I;k[x>>2]=I&65535}CL(k[D>>2]|0,k[x>>2]|0,k[z>>2]|0,k[F>>2]|0,0,0,E);j[(k[p>>2]|0)+16+18>>1]=0;if((k[E>>2]|0)==0?(l[(k[D>>2]|0)+1>>0]|0)!=0:0){I=(k[p>>2]|0)+64|0;i[I>>0]=l[I>>0]&-3;I=DL(k[p>>2]|0)|0;k[E>>2]=I;i[(k[(k[p>>2]|0)+120+(i[(k[p>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;i[(k[p>>2]|0)+66>>0]=0}}while(0);k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}function NI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;t=z+56|0;u=z+52|0;A=z+63|0;f=z+48|0;g=z+44|0;y=z+40|0;x=z+36|0;h=z+32|0;w=z+28|0;v=z+24|0;p=z+60|0;s=z+20|0;q=z+62|0;e=z+16|0;n=z+12|0;d=z+8|0;c=z+4|0;o=z;k[u>>2]=a;i[A>>0]=b;k[f>>2]=k[k[u>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+4>>2];k[s>>2]=0;i[q>>0]=l[A>>0]&2;k[v>>2]=i[(k[u>>2]|0)+68>>0];k[w>>2]=m[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1];k[x>>2]=k[(k[u>>2]|0)+120+(k[v>>2]<<2)>>2];k[h>>2]=(k[(k[x>>2]|0)+56>>2]|0)+(m[(k[x>>2]|0)+20>>1]&(l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)>>0]<<8|l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)+1>>0]));if((i[(k[x>>2]|0)+4>>0]|0)==0?(k[e>>2]=0,A=cF(k[u>>2]|0,e)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if((l[(k[u>>2]|0)+64>>0]&32|0)!=0?(A=xH(k[g>>2]|0,k[(k[u>>2]|0)+52>>2]|0,k[u>>2]|0)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(k[(k[u>>2]|0)+72>>2]|0)){A=(k[u>>2]|0)+16|0;CK(k[f>>2]|0,k[A>>2]|0,k[A+4>>2]|0,0)}do if(i[q>>0]|0){if((i[(k[x>>2]|0)+4>>0]|0)!=0?(A=m[(k[x>>2]|0)+16>>1]|0,A=A+((Wt(k[x>>2]|0,k[h>>2]|0)|0)&65535)+2|0,(A|0)<=((k[(k[g>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){k[s>>2]=1;break}A=BH(k[u>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}while(0);A=Ng(k[(k[x>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}A=EK(k[x>>2]|0,k[h>>2]|0,p)|0;k[y>>2]=A;BL(k[x>>2]|0,k[w>>2]|0,m[p>>1]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(i[(k[x>>2]|0)+4>>0]|0)){k[n>>2]=k[(k[u>>2]|0)+120+(i[(k[u>>2]|0)+68>>0]<<2)>>2];k[c>>2]=k[(k[(k[u>>2]|0)+120+((k[v>>2]|0)+1<<2)>>2]|0)+84>>2];k[h>>2]=(k[(k[n>>2]|0)+56>>2]|0)+(m[(k[n>>2]|0)+20>>1]&(l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((k[h>>2]|0)>>>0<((k[(k[n>>2]|0)+56>>2]|0)+4|0)>>>0){A=Vj(63773)|0;k[t>>2]=A;A=k[t>>2]|0;r=z;return A|0}A=(gc[k[(k[n>>2]|0)+76>>2]&255](k[n>>2]|0,k[h>>2]|0)|0)&65535;k[d>>2]=A;k[o>>2]=k[(k[g>>2]|0)+80>>2];A=Ng(k[(k[n>>2]|0)+72>>2]|0)|0;k[y>>2]=A;CL(k[x>>2]|0,k[w>>2]|0,(k[h>>2]|0)+-4|0,(k[d>>2]|0)+4|0,k[o>>2]|0,k[c>>2]|0,y);BL(k[n>>2]|0,(m[(k[n>>2]|0)+18>>1]|0)-1|0,k[d>>2]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}A=DL(k[u>>2]|0)|0;k[y>>2]=A;if((k[y>>2]|0)==0?(i[(k[u>>2]|0)+68>>0]|0)>(k[v>>2]|0):0){while(1){b=k[u>>2]|0;if((i[(k[u>>2]|0)+68>>0]|0)<=(k[v>>2]|0))break;p=b+68|0;A=i[p>>0]|0;i[p>>0]=A+-1<<24>>24;AB(k[(k[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}A=DL(b)|0;k[y>>2]=A}do if(!(k[y>>2]|0)){b=k[u>>2]|0;if(!(k[s>>2]|0)){A=qF(b)|0;k[y>>2]=A;if(!(i[q>>0]|0))break;i[(k[u>>2]|0)+66>>0]=3;break}i[b+66>>0]=2;b=(k[u>>2]|0)+60|0;if((k[w>>2]|0)>=(m[(k[x>>2]|0)+18>>1]|0)){k[b>>2]=-1;j[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1]=(m[(k[x>>2]|0)+18>>1]|0)-1;break}else{k[b>>2]=1;break}}while(0);k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}function OI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;n=s+44|0;t=s+40|0;o=s+36|0;e=s+32|0;p=s+28|0;l=s+24|0;q=s+20|0;i=s+16|0;f=s+12|0;h=s+8|0;g=s+4|0;k[t>>2]=a;k[o>>2]=b;k[e>>2]=c;k[p>>2]=d;k[l>>2]=k[(k[t>>2]|0)+16>>2];k[q>>2]=k[(k[l>>2]|0)+32>>2];k[i>>2]=k[(k[t>>2]|0)+24>>2];do if(!(k[q>>2]|0)){t=mF(k[i>>2]|0,0,0,s)|0;k[(k[l>>2]|0)+32>>2]=t;k[q>>2]=t;if(k[q>>2]|0){j[(k[q>>2]|0)+8>>1]=k[e>>2];break}k[n>>2]=7;t=k[n>>2]|0;r=s;return t|0}while(0);t=AL(k[l>>2]|0,g)|0;k[h>>2]=t;nF(k[i>>2]|0,k[g>>2]|0,k[h>>2]|0,k[q>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){e=10;break}if((m[(k[(k[q>>2]|0)+4>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]|0)&1){e=8;break}k[f>>2]=(k[f>>2]|0)+1}if((e|0)==8){k[k[p>>2]>>2]=-1;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}else if((e|0)==10){t=BF(k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[q>>2]|0)|0;k[k[p>>2]>>2]=t;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}return 0}function PI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+20|0;i=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[i>>2]=a;k[d>>2]=b;k[h>>2]=k[(k[i>>2]|0)+16>>2];b=AL(k[h>>2]|0,e)|0;k[f>>2]=b;if(Dx(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=7;i=k[c>>2]|0;r=g;return i|0}else{k[(k[d>>2]|0)+12>>2]=k[e>>2];j[(k[d>>2]|0)+8>>1]=(m[(k[d>>2]|0)+8>>1]|0)&-49664|16;sR(k[(k[d>>2]|0)+16>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=0;i=k[c>>2]|0;r=g;return i|0}return 0}function QI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+8>>2]|0)){r=f;return}k[e>>2]=k[k[c>>2]>>2];ag(k[e>>2]|0,k[(k[c>>2]|0)+44>>2]|0);b=xh(k[e>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[c>>2]|0)+44>>2]=b;Ud(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0;r=f;return}function RI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(xL(k[(k[c>>2]|0)+16>>2]|0)|0){a=yL(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function SI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+12|0;c=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[e>>2]=k[(k[h>>2]|0)+16>>2];b=k[e>>2]|0;if(l[(k[e>>2]|0)+56>>0]|0){h=OK(b)|0;k[f>>2]=h;k[f>>2]=k[f>>2];if(!(k[f>>2]|0)){h=lL(k[e>>2]|0)|0;k[f>>2]=h;k[k[c>>2]>>2]=0}k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}a=k[c>>2]|0;if(k[b+36>>2]|0){k[a>>2]=0;h=RK((k[e>>2]|0)+64|0,(k[e>>2]|0)+36|0)|0;k[f>>2]=h}else k[a>>2]=1;k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}function TI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;c=f+4|0;e=f;k[d>>2]=a;k[c>>2]=b;b=qF(k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}else{k[c>>2]=0;d=TF(k[d>>2]|0)|0;k[e>>2]=d;break}}while(0);r=f;return k[e>>2]|0}function UI(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,l=0;j=r;r=r+32|0;d=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[g>>2]=k[(k[l>>2]|0)+16>>2];a=k[g>>2]|0;if(i[(k[g>>2]|0)+56>>0]|0){l=cL(k[a+20>>2]|0,k[e>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;r=j;return l|0}k[f>>2]=k[a+36>>2];k[(k[g>>2]|0)+36>>2]=k[(k[f>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;if(!(k[(k[g>>2]|0)+36+4>>2]|0))yK(k[d>>2]|0,k[f>>2]|0);k[k[e>>2]>>2]=((k[(k[g>>2]|0)+36>>2]|0)!=0^1)&1;k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}function VI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;f=t+52|0;u=t+48|0;g=t+44|0;q=t+40|0;s=t+36|0;p=t+32|0;d=t+28|0;o=t+24|0;e=t+20|0;c=t+16|0;m=t+12|0;h=t+8|0;j=t+4|0;n=t;k[u>>2]=a;k[g>>2]=b;k[s>>2]=0;k[q>>2]=k[(k[u>>2]|0)+16>>2];a=(k[(k[g>>2]|0)+16>>2]|0)+1|0;if((l[(k[(k[g>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)k[c>>2]=l[a>>0];else DF(a,c)|0;do if((k[c>>2]|0)>0&(k[c>>2]|0)<10&(k[c>>2]|0)!=7){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&1}else{if((k[c>>2]|0)>10?(k[c>>2]&1|0)!=0:0){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&2;break}i[(k[q>>2]|0)+60>>0]=0}while(0);k[o>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;c=k[(k[g>>2]|0)+12>>2]|0;u=k[(k[g>>2]|0)+12>>2]|0;u=c+(JF(u,((u|0)<0)<<31>>31)|0)|0;k[e>>2]=u;if(k[(k[q>>2]|0)+4>>2]|0){a=k[q>>2]|0;if(k[(k[q>>2]|0)+36+4>>2]|0){if(k[a+48>>2]|0)a=((k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0)|0)>(k[(k[q>>2]|0)+4>>2]|0);else a=0;k[d>>2]=a&1}else{if((k[a+36+8>>2]|0)<=(k[(k[q>>2]|0)+4>>2]|0))if((k[(k[q>>2]|0)+36+8>>2]|0)>(k[k[q>>2]>>2]|0))a=(Ru()|0)!=0;else a=0;else a=1;k[d>>2]=a&1}if(k[d>>2]|0){u=OK(k[q>>2]|0)|0;k[s>>2]=u;k[(k[q>>2]|0)+36+8>>2]=0;k[(k[q>>2]|0)+48>>2]=0}}u=(k[q>>2]|0)+36+8|0;k[u>>2]=(k[u>>2]|0)+(k[e>>2]|0);if((k[e>>2]|0)>(k[(k[q>>2]|0)+8>>2]|0))k[(k[q>>2]|0)+8>>2]=k[e>>2];do if(k[(k[q>>2]|0)+36+4>>2]|0){k[m>>2]=(k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0);do if((k[m>>2]|0)>(k[(k[q>>2]|0)+52>>2]|0)){k[j>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0);k[n>>2]=k[(k[q>>2]|0)+52>>2]<<1;while(1){a=k[n>>2]|0;if((k[n>>2]|0)>=(k[m>>2]|0))break;k[n>>2]=a<<1}if((a|0)>(k[(k[q>>2]|0)+4>>2]|0))k[n>>2]=k[(k[q>>2]|0)+4>>2];if((k[n>>2]|0)<(k[m>>2]|0))k[n>>2]=k[m>>2];u=k[n>>2]|0;u=lg(k[(k[q>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;k[h>>2]=u;if(k[h>>2]|0){k[(k[q>>2]|0)+36>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[(k[q>>2]|0)+36+4>>2]=k[h>>2];k[(k[q>>2]|0)+52>>2]=k[n>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);k[p>>2]=(k[(k[q>>2]|0)+36+4>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0);u=(k[q>>2]|0)+48|0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+7&-8);if(k[(k[q>>2]|0)+36>>2]|0)k[(k[p>>2]|0)+4>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0)}else{u=k[o>>2]|0;u=ig(u,((u|0)<0)<<31>>31)|0;k[p>>2]=u;if(k[p>>2]|0){k[(k[p>>2]|0)+4>>2]=k[(k[q>>2]|0)+36>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);sR((k[p>>2]|0)+8|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0;k[k[p>>2]>>2]=k[(k[g>>2]|0)+12>>2];k[(k[q>>2]|0)+36>>2]=k[p>>2];k[f>>2]=k[s>>2];u=k[f>>2]|0;r=t;return u|0}function WI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+128|0;e=n+116|0;q=n+112|0;p=n+108|0;f=n+104|0;o=n+80|0;d=n+100|0;i=n+96|0;j=n+92|0;g=n+88|0;h=n+40|0;m=n;k[q>>2]=a;k[p>>2]=b;k[f>>2]=c;c=o;k[c>>2]=0;k[c+4>>2]=0;CH(k[p>>2]|0,o)|0;KF(h,k[q>>2]|0,0);c=rI(k[p>>2]|0,0,k[o>>2]|0,1,h)|0;k[d>>2]=c;if(k[d>>2]|0){k[e>>2]=k[d>>2];q=k[e>>2]|0;r=n;return q|0}a=k[h+16>>2]|0;if((l[k[h+16>>2]>>0]|0|0)<128)k[i>>2]=l[a>>0];else DF(a,i)|0;if((k[i>>2]|0)>>>0>=3?(k[i>>2]|0)<=(k[h+12>>2]|0):0){a=(k[h+16>>2]|0)+((k[i>>2]|0)-1)|0;if((l[(k[h+16>>2]|0)+((k[i>>2]|0)-1)>>0]|0|0)<128)k[j>>2]=l[a>>0];else DF(a,j)|0;if(!((k[j>>2]|0)>>>0<1|(k[j>>2]|0)>>>0>9|(k[j>>2]|0)==7)?(k[g>>2]=l[35916+(k[j>>2]|0)>>0],(k[h+12>>2]|0)>>>0>=((k[i>>2]|0)+(k[g>>2]|0)|0)>>>0):0){FF((k[h+16>>2]|0)+((k[h+12>>2]|0)-(k[g>>2]|0))|0,k[j>>2]|0,m)|0;o=m;p=k[o+4>>2]|0;q=k[f>>2]|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;ch(h);k[e>>2]=0;q=k[e>>2]|0;r=n;return q|0}}ch(h);q=Vj(72119)|0;k[e>>2]=q;q=k[e>>2]|0;r=n;return q|0}function XI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+72|0;f=n+68|0;o=n+64|0;g=n+60|0;h=n+56|0;j=n+40|0;m=n+52|0;l=n+48|0;i=n;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[h>>2]=d;b=j;k[b>>2]=0;k[b+4>>2]=0;k[l>>2]=k[(k[o>>2]|0)+16>>2];CH(k[l>>2]|0,j)|0;b=j;a=k[b+4>>2]|0;d=j;c=k[d+4>>2]|0;if((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<=0|((c|0)>0|(c|0)==0&(k[d>>2]|0)>>>0>2147483647)){k[k[h>>2]>>2]=0;o=Vj(72153)|0;k[e>>2]=o;o=k[e>>2]|0;r=n;return o|0}KF(i,k[f>>2]|0,0);o=rI(k[l>>2]|0,0,k[j>>2]|0,1,i)|0;k[m>>2]=o;if(k[m>>2]|0){k[e>>2]=k[m>>2];o=k[e>>2]|0;r=n;return o|0}else{o=BF(k[i+12>>2]|0,k[i+16>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=o;ch(i);k[e>>2]=0;o=k[e>>2]|0;r=n;return o|0}return 0}function YI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;ug(k[h>>2]|0);c=NK(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function ZI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;l=m+4|0;j=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;k[g>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[n>>2]<<4);k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[l>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[l>>2]|0)+28>>2]|0)==(k[e>>2]|0))k[(k[l>>2]|0)+28>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+24;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[j>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[j>>2]|0)+44>>2]|0)==(k[e>>2]|0))k[(k[j>>2]|0)+44>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}r=m;return}function _I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];ug(k[d>>2]|0);c=xH(k[g>>2]|0,k[e>>2]|0,0)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}CK(k[d>>2]|0,0,0,1);c=DK(k[g>>2]|0,k[e>>2]|0,0,k[f>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function $I(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;wK(k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+20>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+59>>0]|0|0))break;k[f>>2]=(k[d>>2]|0)+64+((k[e>>2]|0)*72|0);xK(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+8>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}if(!(k[(k[d>>2]|0)+36+4>>2]|0))yK(0,k[(k[d>>2]|0)+36>>2]|0);k[(k[d>>2]|0)+36>>2]=0;k[(k[d>>2]|0)+36+8>>2]=0;i[(k[d>>2]|0)+56>>0]=0;k[(k[d>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+8>>2]=0;ag(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);k[(k[d>>2]|0)+32>>2]=0;r=g;return}function aJ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=_I(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+52>>2]|0,0)|0;r=b;return a|0}function bJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d+16|0;i=d+12|0;g=d+8|0;f=d+4|0;h=d;k[e>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[i>>2]<<4);c=Yj((k[(k[h>>2]|0)+12>>2]|0)+8|0,k[g>>2]|0,0)|0;k[f>>2]=c;_f(k[e>>2]|0,k[f>>2]|0);c=(k[e>>2]|0)+24|0;k[c>>2]=k[c>>2]|2;r=d;return}function cJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;d=g+20|0;j=g+16|0;h=g+12|0;f=g+8|0;i=g+4|0;e=g;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;k[i>>2]=(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[j>>2]<<4)+12>>2]|0)+24;c=Yj(k[i>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}a=k[f>>2]|0;if((k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[(k[a+12>>2]|0)+8>>2];while(1){if(k[e>>2]|0)b=(k[(k[e>>2]|0)+20>>2]|0)!=(k[f>>2]|0);else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=k[a+20>>2]}if((a|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)==(k[f>>2]|0):0)k[(k[e>>2]|0)+20>>2]=k[(k[f>>2]|0)+20>>2]}else k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]=k[a+20>>2];eH(k[d>>2]|0,k[f>>2]|0);j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}function dJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;e=h+24|0;l=h+20|0;i=h+16|0;f=h+12|0;j=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[l>>2]=b;k[i>>2]=c;k[j>>2]=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)+12>>2]|0)+40;c=Yj(k[j>>2]|0,k[i>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){r=h;return}if((k[(k[f>>2]|0)+20>>2]|0)==(k[(k[f>>2]|0)+24>>2]|0)){l=LB(k[f>>2]|0)|0;k[d>>2]=l;k[g>>2]=(k[d>>2]|0)+60;while(1){a=(k[k[g>>2]>>2]|0)+32|0;if((k[k[g>>2]>>2]|0)==(k[f>>2]|0))break;k[g>>2]=a}k[k[g>>2]>>2]=k[a>>2]}Zf(k[e>>2]|0,k[f>>2]|0);l=(k[e>>2]|0)+24|0;k[l>>2]=k[l>>2]|2;r=h;return}function eJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+240|0;s=t+16|0;q=t+8|0;v=t+124|0;f=t+120|0;g=t+116|0;u=t+112|0;h=t+108|0;j=t+104|0;o=t+32|0;n=t+24|0;p=t+20|0;m=t;k[v>>2]=a;k[f>>2]=b;k[g>>2]=c;k[u>>2]=d;k[h>>2]=e;k[n>>2]=k[(k[v>>2]|0)+4>>2];k[p>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2];ug(k[v>>2]|0);k[o>>2]=k[n>>2];k[o+4>>2]=k[k[n>>2]>>2];e=jF(k[o>>2]|0)|0;k[o+12>>2]=e;k[o+16>>2]=k[u>>2];k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o+32>>2]=0;k[o+36>>2]=0;k[o+8>>2]=0;k[o+68>>2]=0;mg(o+40|0,0,t+128|0,100,1e9);i[o+40+25>>0]=1;a:do if(k[o+12>>2]|0){v=sg((((k[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;k[o+8>>2]=v;if(!(k[o+8>>2]|0)){k[o+24>>2]=1;break}v=bj(k[(k[n>>2]|0)+32>>2]|0)|0;k[o+68>>2]=v;if(!(k[o+68>>2]|0)){k[o+24>>2]=1;break}k[j>>2]=(((k[381]|0)>>>0)/((k[(k[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0)nK(o,k[j>>2]|0);k[o+28>>2]=42551;v=jr((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;oK(o,1,v,jr((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);k[o+28>>2]=0;v=(k[(k[n>>2]|0)+4>>2]|0)+24|0;k[v>>2]=k[v>>2]&-268435457;k[j>>2]=0;while(1){if(!((k[j>>2]|0)<(k[g>>2]|0)?(k[o+16>>2]|0)!=0:0))break;if(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)!=0?(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0)>1:0)pK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,1,0);qK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,m,-1,2147483647)|0}k[j>>2]=(k[j>>2]|0)+1}k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]=k[p>>2];k[j>>2]=1;while(1){if(!((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0?(k[o+16>>2]|0)!=0:0))break a;do if(!(rK(o,k[j>>2]|0)|0)){v=vF(k[n>>2]|0,k[j>>2]|0)|0;if((v|0)==(k[j>>2]|0)?(i[(k[n>>2]|0)+17>>0]|0)!=0:0)break;k[q>>2]=k[j>>2];sK(o,42567,q)}while(0);if(((rK(o,k[j>>2]|0)|0)!=0?(v=vF(k[n>>2]|0,k[j>>2]|0)|0,(v|0)==(k[j>>2]|0)):0)?(l[(k[n>>2]|0)+17>>0]|0)!=0:0){k[s>>2]=k[j>>2];sK(o,42589,s)}k[j>>2]=(k[j>>2]|0)+1}}while(0);ej(k[o+68>>2]|0);Ud(k[o+8>>2]|0);if(k[o+24>>2]|0){pA(o+40|0);v=o+20|0;k[v>>2]=(k[v>>2]|0)+1}k[k[h>>2]>>2]=k[o+20>>2];if(k[o+20>>2]|0){v=o+40|0;v=og(v)|0;r=t;return v|0}pA(o+40|0);v=o+40|0;v=og(v)|0;r=t;return v|0}function fJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+32>>2];ch(k[b>>2]|0);a=Pw(k[c>>2]|0,64,0)|0;k[(k[b>>2]|0)+20>>2]=a;if(i[(k[c>>2]|0)+65>>0]|0){j[(k[b>>2]|0)+8>>1]=1;k[(k[b>>2]|0)+24>>2]=0;r=d;return}else{a=ju(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[(k[b>>2]|0)+24>>2]=a;a=mK(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0,k[(k[b>>2]|0)+24>>2]|0)|0;k[k[b>>2]>>2]=a;j[(k[b>>2]|0)+8>>1]=32;r=d;return}}function gJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=jK(k[d>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=h;return}b=e;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+8>>2]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];if(k[g>>2]|0){if(((m[(k[d>>2]|0)+26>>1]|0)&1|0)!=0?(e,b=k[e+4>>2]|0,a=k[g>>2]|0,c=k[a+4>>2]|0,(b|0)<(c|0)|((b|0)==(c|0)?(k[e>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)):0){a=(k[d>>2]|0)+26|0;j[a>>1]=(m[a>>1]|0)&-2}k[(k[g>>2]|0)+8>>2]=k[f>>2]}else k[(k[d>>2]|0)+8>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];r=h;return}function hJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((m[(k[d>>2]|0)+26>>1]|0)&2))lK(k[d>>2]|0);if(!(k[(k[d>>2]|0)+8>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}g=k[(k[d>>2]|0)+8>>2]|0;a=k[g+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[g>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+8>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+8>>2];if(!(k[(k[d>>2]|0)+8>>2]|0))PF(k[d>>2]|0);k[c>>2]=1;g=k[c>>2]|0;r=f;return g|0}function iJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;e=s+32|0;f=s+28|0;o=s;p=s+24|0;q=s+20|0;i=s+16|0;g=s+12|0;h=s+8|0;k[e>>2]=a;k[f>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;if((k[f>>2]|0)!=(k[(k[e>>2]|0)+28>>2]|0)){k[p>>2]=k[(k[e>>2]|0)+8>>2];if(k[p>>2]|0){k[i>>2]=(k[e>>2]|0)+20;if(!((m[(k[e>>2]|0)+26>>1]|0)&1)){a=fK(k[p>>2]|0)|0;k[p>>2]=a}k[q>>2]=k[(k[e>>2]|0)+20>>2];while(1){if(!(k[q>>2]|0))break;k[i>>2]=(k[q>>2]|0)+8;if(!(k[(k[q>>2]|0)+12>>2]|0)){l=8;break}hK(k[(k[q>>2]|0)+12>>2]|0,g,h);k[(k[q>>2]|0)+12>>2]=0;a=iK(k[g>>2]|0,k[p>>2]|0)|0;k[p>>2]=a;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==8){l=gK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}if((k[q>>2]|0)==0?(l=jK(k[e>>2]|0)|0,k[q>>2]=l,k[k[i>>2]>>2]=l,(k[q>>2]|0)!=0):0){l=k[q>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[(k[q>>2]|0)+8>>2]=0;l=gK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;l=(k[e>>2]|0)+26|0;j[l>>1]=m[l>>1]|0|1}k[(k[e>>2]|0)+28>>2]=k[f>>2]}k[q>>2]=k[(k[e>>2]|0)+20>>2];a:while(1){if(!(k[q>>2]|0)){l=25;break}k[p>>2]=k[(k[q>>2]|0)+12>>2];while(1){if(!(k[p>>2]|0))break;i=k[p>>2]|0;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;c=k[p>>2]|0;if((a|0)<(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0<(k[l>>2]|0)>>>0:0)){k[p>>2]=k[c+8>>2];continue}i=c;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;if(!((a|0)>(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0>(k[l>>2]|0)>>>0:0))){l=23;break a}k[p>>2]=k[(k[p>>2]|0)+12>>2]}k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==23){k[n>>2]=1;q=k[n>>2]|0;r=s;return q|0}else if((l|0)==25){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function jJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((l[(k[c>>2]|0)+17>>0]|0|0)>=3){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,c=k[a+4>>2]|0,(c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0):0){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}function kJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[k[(k[d>>2]|0)+64>>2]>>2];if(l[(k[d>>2]|0)+4>>0]|0){d=1;d=d&1;r=c;return d|0}if((k[k[b>>2]>>2]|0)<2){d=0;d=d&1;r=c;return d|0}d=(k[(k[b>>2]|0)+52>>2]|0)!=0;d=d&1;r=c;return d|0}function lJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if(!(k[(k[b>>2]|0)+216>>2]|0)){k[c>>2]=0;a=Ft(k[b>>2]|0,1)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=Xr(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+220>>2]|0,0,c)|0;k[d>>2]=a}if((k[d>>2]|0)==0&(k[c>>2]|0)!=0){a=aK(k[b>>2]|0)|0;k[d>>2]=a}}if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}if(!(k[(k[b>>2]|0)+216>>2]|0)){d=k[d>>2]|0;r=e;return d|0}a=bK(k[b>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=mr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[(k[b>>2]|0)+208>>2]|0)|0;k[d>>2]=a;k[(k[b>>2]|0)+216>>2]=0;fj(k[b>>2]|0);d=k[d>>2]|0;r=e;return d|0}function mJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+12|0;d=h+8|0;e=h+16|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+5>>0]|0;if((i[(k[c>>2]|0)+16>>0]|0)!=0?(k[d>>2]|0)!=4&(k[d>>2]|0)!=2:0)k[d>>2]=l[e>>0];do if((k[d>>2]|0)!=(l[e>>0]|0)){i[(k[c>>2]|0)+5>>0]=k[d>>2];if(((i[(k[c>>2]|0)+4>>0]|0)==0?(l[e>>0]&5|0)==1:0)?(k[d>>2]&1|0)==0:0){rr(k[(k[c>>2]|0)+68>>2]|0)|0;if((l[(k[c>>2]|0)+18>>0]|0)>=2){Ar(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;break}k[f>>2]=0;k[g>>2]=l[(k[c>>2]|0)+17>>0];if(!(k[g>>2]|0)){a=VJ(k[c>>2]|0)|0;k[f>>2]=a}if((l[(k[c>>2]|0)+17>>0]|0)==1){a=Ft(k[c>>2]|0,2)|0;k[f>>2]=a}if(!(k[f>>2]|0))Ar(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;if((k[f>>2]|0)==0&(k[g>>2]|0)==1){Gr(k[c>>2]|0,1)|0;break}if(k[g>>2]|0)break;nr(k[c>>2]|0);break}if((k[d>>2]|0)==2)rr(k[(k[c>>2]|0)+68>>2]|0)|0}while(0);r=h;return l[(k[c>>2]|0)+5>>0]|0} -function ER(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=xR(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((xR(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=qR(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;pR(j,c,d,n)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=pR(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function FR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&255](b|0,c|0,d|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;return na(0,a|0,b|0,c|0)|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;return na(1,a|0,b|0,c|0)|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;return na(2,a|0,b|0,c|0)|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;return na(3,a|0,b|0,c|0)|0}function KR(a,b,c){a=a|0;b=b|0;c=c|0;return na(4,a|0,b|0,c|0)|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;return na(5,a|0,b|0,c|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return na(6,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return na(7,a|0,b|0,c|0)|0}function OR(a,b,c){a=a|0;b=b|0;c=c|0;return na(8,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return na(9,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return na(10,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return na(11,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return na(12,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return na(13,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return na(14,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return na(15,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return na(16,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return na(17,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return na(18,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return na(19,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return na(20,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return na(21,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return na(22,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return na(23,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return na(24,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return na(25,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return na(26,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return na(27,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return na(28,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return na(29,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return na(30,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return na(31,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return na(32,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return na(33,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return na(34,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return na(35,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return na(36,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return na(37,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return na(38,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return na(39,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return na(40,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return na(41,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return na(42,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return na(43,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return na(44,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return na(45,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return na(46,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return na(47,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return na(48,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return na(49,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return na(50,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return na(51,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return na(52,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return na(53,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return na(54,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return na(55,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return na(56,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return na(57,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return na(58,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return na(59,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return na(60,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return na(61,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return na(62,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return na(63,a|0,b|0,c|0)|0}function QS(a){a=a|0;return Zb[a&255]()|0}function RS(){return pa(0)|0}function SS(){return pa(1)|0}function TS(){return pa(2)|0}function US(){return pa(3)|0}function VS(){return pa(4)|0}function WS(){return pa(5)|0}function XS(){return pa(6)|0}function YS(){return pa(7)|0}function ZS(){return pa(8)|0}function _S(){return pa(9)|0}function $S(){return pa(10)|0}function aT(){return pa(11)|0}function bT(){return pa(12)|0}function cT(){return pa(13)|0}function dT(){return pa(14)|0}function eT(){return pa(15)|0}function fT(){return pa(16)|0}function gT(){return pa(17)|0}function hT(){return pa(18)|0}function iT(){return pa(19)|0}function jT(){return pa(20)|0}function kT(){return pa(21)|0}function lT(){return pa(22)|0}function mT(){return pa(23)|0}function nT(){return pa(24)|0}function oT(){return pa(25)|0}function pT(){return pa(26)|0}function qT(){return pa(27)|0}function rT(){return pa(28)|0}function sT(){return pa(29)|0}function tT(){return pa(30)|0}function uT(){return pa(31)|0}function vT(){return pa(32)|0}function wT(){return pa(33)|0}function xT(){return pa(34)|0}function yT(){return pa(35)|0}function zT(){return pa(36)|0}function AT(){return pa(37)|0}function BT(){return pa(38)|0}function CT(){return pa(39)|0}function DT(){return pa(40)|0}function ET(){return pa(41)|0}function FT(){return pa(42)|0}function GT(){return pa(43)|0}function HT(){return pa(44)|0}function IT(){return pa(45)|0}function JT(){return pa(46)|0}function KT(){return pa(47)|0}function LT(){return pa(48)|0}function MT(){return pa(49)|0}function NT(){return pa(50)|0}function OT(){return pa(51)|0}function PT(){return pa(52)|0}function QT(){return pa(53)|0}function RT(){return pa(54)|0}function ST(){return pa(55)|0}function TT(){return pa(56)|0}function UT(){return pa(57)|0}function VT(){return pa(58)|0}function WT(){return pa(59)|0}function XT(){return pa(60)|0}function YT(){return pa(61)|0}function ZT(){return pa(62)|0}function _T(){return pa(63)|0}function $T(a,b){a=a|0;b=b|0;_b[a&255](b|0)}function aU(a){a=a|0;ra(0,a|0)}function bU(a){a=a|0;ra(1,a|0)}function cU(a){a=a|0;ra(2,a|0)}function dU(a){a=a|0;ra(3,a|0)}function eU(a){a=a|0;ra(4,a|0)}function fU(a){a=a|0;ra(5,a|0)}function gU(a){a=a|0;ra(6,a|0)}function hU(a){a=a|0;ra(7,a|0)}function iU(a){a=a|0;ra(8,a|0)}function jU(a){a=a|0;ra(9,a|0)}function kU(a){a=a|0;ra(10,a|0)}function lU(a){a=a|0;ra(11,a|0)}function mU(a){a=a|0;ra(12,a|0)}function nU(a){a=a|0;ra(13,a|0)}function oU(a){a=a|0;ra(14,a|0)}function pU(a){a=a|0;ra(15,a|0)}function qU(a){a=a|0;ra(16,a|0)}function rU(a){a=a|0;ra(17,a|0)}function sU(a){a=a|0;ra(18,a|0)}function tU(a){a=a|0;ra(19,a|0)}function uU(a){a=a|0;ra(20,a|0)}function vU(a){a=a|0;ra(21,a|0)}function wU(a){a=a|0;ra(22,a|0)}function xU(a){a=a|0;ra(23,a|0)}function yU(a){a=a|0;ra(24,a|0)}function zU(a){a=a|0;ra(25,a|0)}function AU(a){a=a|0;ra(26,a|0)}function BU(a){a=a|0;ra(27,a|0)}function CU(a){a=a|0;ra(28,a|0)}function DU(a){a=a|0;ra(29,a|0)}function EU(a){a=a|0;ra(30,a|0)}function FU(a){a=a|0;ra(31,a|0)}function GU(a){a=a|0;ra(32,a|0)}function HU(a){a=a|0;ra(33,a|0)}function IU(a){a=a|0;ra(34,a|0)}function JU(a){a=a|0;ra(35,a|0)}function KU(a){a=a|0;ra(36,a|0)}function LU(a){a=a|0;ra(37,a|0)}function MU(a){a=a|0;ra(38,a|0)}function NU(a){a=a|0;ra(39,a|0)}function OU(a){a=a|0;ra(40,a|0)}function PU(a){a=a|0;ra(41,a|0)}function QU(a){a=a|0;ra(42,a|0)}function RU(a){a=a|0;ra(43,a|0)}function SU(a){a=a|0;ra(44,a|0)}function TU(a){a=a|0;ra(45,a|0)}function UU(a){a=a|0;ra(46,a|0)}function VU(a){a=a|0;ra(47,a|0)}function WU(a){a=a|0;ra(48,a|0)}function XU(a){a=a|0;ra(49,a|0)}function YU(a){a=a|0;ra(50,a|0)}function ZU(a){a=a|0;ra(51,a|0)}function _U(a){a=a|0;ra(52,a|0)}function $U(a){a=a|0;ra(53,a|0)}function aV(a){a=a|0;ra(54,a|0)}function bV(a){a=a|0;ra(55,a|0)}function cV(a){a=a|0;ra(56,a|0)}function dV(a){a=a|0;ra(57,a|0)}function eV(a){a=a|0;ra(58,a|0)}function fV(a){a=a|0;ra(59,a|0)}function gV(a){a=a|0;ra(60,a|0)}function hV(a){a=a|0;ra(61,a|0)}function iV(a){a=a|0;ra(62,a|0)}function jV(a){a=a|0;ra(63,a|0)}function kV(a,b,c){a=a|0;b=b|0;c=c|0;$b[a&255](b|0,c|0)}function lV(a,b){a=a|0;b=b|0;ta(0,a|0,b|0)}function mV(a,b){a=a|0;b=b|0;ta(1,a|0,b|0)}function nV(a,b){a=a|0;b=b|0;ta(2,a|0,b|0)}function oV(a,b){a=a|0;b=b|0;ta(3,a|0,b|0)}function pV(a,b){a=a|0;b=b|0;ta(4,a|0,b|0)}function qV(a,b){a=a|0;b=b|0;ta(5,a|0,b|0)}function rV(a,b){a=a|0;b=b|0;ta(6,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ta(7,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ta(8,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ta(9,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ta(10,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ta(11,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ta(12,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ta(13,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ta(14,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ta(15,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ta(16,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ta(17,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ta(18,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ta(19,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ta(20,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ta(21,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ta(22,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ta(23,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ta(24,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ta(25,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ta(26,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ta(27,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ta(28,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ta(29,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ta(30,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ta(31,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ta(32,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ta(33,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ta(34,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ta(35,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ta(36,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ta(37,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ta(38,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ta(39,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ta(40,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ta(41,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ta(42,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ta(43,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ta(44,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ta(45,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ta(46,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ta(47,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ta(48,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ta(49,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ta(50,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ta(51,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ta(52,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ta(53,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ta(54,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ta(55,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ta(56,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ta(57,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ta(58,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ta(59,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ta(60,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ta(61,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ta(62,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ta(63,a|0,b|0)}function vW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ac[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function wW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b){a=a|0;b=b|0;return bc[a&255](b|0)|0}function HX(a){a=a|0;return xa(0,a|0)|0}function IX(a){a=a|0;return xa(1,a|0)|0}function JX(a){a=a|0;return xa(2,a|0)|0}function KX(a){a=a|0;return xa(3,a|0)|0}function LX(a){a=a|0;return xa(4,a|0)|0}function MX(a){a=a|0;return xa(5,a|0)|0}function NX(a){a=a|0;return xa(6,a|0)|0}function OX(a){a=a|0;return xa(7,a|0)|0}function PX(a){a=a|0;return xa(8,a|0)|0}function QX(a){a=a|0;return xa(9,a|0)|0}function RX(a){a=a|0;return xa(10,a|0)|0}function SX(a){a=a|0;return xa(11,a|0)|0}function TX(a){a=a|0;return xa(12,a|0)|0}function UX(a){a=a|0;return xa(13,a|0)|0}function VX(a){a=a|0;return xa(14,a|0)|0}function WX(a){a=a|0;return xa(15,a|0)|0}function XX(a){a=a|0;return xa(16,a|0)|0}function YX(a){a=a|0;return xa(17,a|0)|0}function ZX(a){a=a|0;return xa(18,a|0)|0}function _X(a){a=a|0;return xa(19,a|0)|0}function $X(a){a=a|0;return xa(20,a|0)|0}function aY(a){a=a|0;return xa(21,a|0)|0}function bY(a){a=a|0;return xa(22,a|0)|0}function cY(a){a=a|0;return xa(23,a|0)|0}function dY(a){a=a|0;return xa(24,a|0)|0}function eY(a){a=a|0;return xa(25,a|0)|0}function fY(a){a=a|0;return xa(26,a|0)|0}function gY(a){a=a|0;return xa(27,a|0)|0}function hY(a){a=a|0;return xa(28,a|0)|0}function iY(a){a=a|0;return xa(29,a|0)|0}function jY(a){a=a|0;return xa(30,a|0)|0}function kY(a){a=a|0;return xa(31,a|0)|0}function lY(a){a=a|0;return xa(32,a|0)|0}function mY(a){a=a|0;return xa(33,a|0)|0}function nY(a){a=a|0;return xa(34,a|0)|0}function oY(a){a=a|0;return xa(35,a|0)|0}function pY(a){a=a|0;return xa(36,a|0)|0}function qY(a){a=a|0;return xa(37,a|0)|0}function rY(a){a=a|0;return xa(38,a|0)|0}function sY(a){a=a|0;return xa(39,a|0)|0}function tY(a){a=a|0;return xa(40,a|0)|0}function uY(a){a=a|0;return xa(41,a|0)|0}function vY(a){a=a|0;return xa(42,a|0)|0}function wY(a){a=a|0;return xa(43,a|0)|0}function xY(a){a=a|0;return xa(44,a|0)|0}function yY(a){a=a|0;return xa(45,a|0)|0}function zY(a){a=a|0;return xa(46,a|0)|0}function AY(a){a=a|0;return xa(47,a|0)|0}function BY(a){a=a|0;return xa(48,a|0)|0}function CY(a){a=a|0;return xa(49,a|0)|0}function DY(a){a=a|0;return xa(50,a|0)|0}function EY(a){a=a|0;return xa(51,a|0)|0}function FY(a){a=a|0;return xa(52,a|0)|0}function GY(a){a=a|0;return xa(53,a|0)|0}function HY(a){a=a|0;return xa(54,a|0)|0}function IY(a){a=a|0;return xa(55,a|0)|0}function JY(a){a=a|0;return xa(56,a|0)|0}function KY(a){a=a|0;return xa(57,a|0)|0}function LY(a){a=a|0;return xa(58,a|0)|0}function MY(a){a=a|0;return xa(59,a|0)|0}function NY(a){a=a|0;return xa(60,a|0)|0}function OY(a){a=a|0;return xa(61,a|0)|0}function PY(a){a=a|0;return xa(62,a|0)|0}function QY(a){a=a|0;return xa(63,a|0)|0}function RY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cc[a&255](b|0,c|0,d|0)}function SY(a,b,c){a=a|0;b=b|0;c=c|0;za(0,a|0,b|0,c|0)}function TY(a,b,c){a=a|0;b=b|0;c=c|0;za(1,a|0,b|0,c|0)}function UY(a,b,c){a=a|0;b=b|0;c=c|0;za(2,a|0,b|0,c|0)}function VY(a,b,c){a=a|0;b=b|0;c=c|0;za(3,a|0,b|0,c|0)}function WY(a,b,c){a=a|0;b=b|0;c=c|0;za(4,a|0,b|0,c|0)}function XY(a,b,c){a=a|0;b=b|0;c=c|0;za(5,a|0,b|0,c|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;za(6,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;za(7,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;za(8,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;za(9,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;za(10,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;za(11,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;za(12,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;za(13,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;za(14,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;za(15,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;za(16,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;za(17,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;za(18,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;za(19,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;za(20,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;za(21,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;za(22,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;za(23,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;za(24,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;za(25,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;za(26,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;za(27,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;za(28,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;za(29,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;za(30,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;za(31,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;za(32,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;za(33,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;za(34,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;za(35,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;za(36,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;za(37,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;za(38,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;za(39,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;za(40,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;za(41,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;za(42,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;za(43,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;za(44,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;za(45,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;za(46,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;za(47,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;za(48,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;za(49,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;za(50,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;za(51,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;za(52,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;za(53,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;za(54,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;za(55,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;za(56,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;za(57,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;za(58,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;za(59,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;za(60,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;za(61,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;za(62,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;za(63,a|0,b|0,c|0)}function a_(a){a=a|0;dc[a&255]()}function b_(){Ba(0)}function c_(){Ba(1)}function d_(){Ba(2)}function e_(){Ba(3)}function f_(){Ba(4)}function g_(){Ba(5)}function h_(){Ba(6)}function i_(){Ba(7)}function j_(){Ba(8)}function k_(){Ba(9)}function l_(){Ba(10)}function m_(){Ba(11)}function n_(){Ba(12)}function o_(){Ba(13)}function p_(){Ba(14)}function q_(){Ba(15)}function r_(){Ba(16)}function s_(){Ba(17)}function t_(){Ba(18)}function u_(){Ba(19)}function v_(){Ba(20)}function w_(){Ba(21)}function x_(){Ba(22)}function y_(){Ba(23)}function z_(){Ba(24)}function A_(){Ba(25)}function B_(){Ba(26)}function C_(){Ba(27)}function D_(){Ba(28)}function E_(){Ba(29)}function F_(){Ba(30)}function G_(){Ba(31)}function H_(){Ba(32)}function I_(){Ba(33)}function J_(){Ba(34)}function K_(){Ba(35)}function L_(){Ba(36)}function M_(){Ba(37)}function N_(){Ba(38)}function O_(){Ba(39)}function P_(){Ba(40)}function Q_(){Ba(41)}function R_(){Ba(42)}function S_(){Ba(43)}function T_(){Ba(44)}function U_(){Ba(45)}function V_(){Ba(46)}function W_(){Ba(47)}function X_(){Ba(48)}function Y_(){Ba(49)}function Z_(){Ba(50)}function __(){Ba(51)}function $_(){Ba(52)}function a$(){Ba(53)}function b$(){Ba(54)}function c$(){Ba(55)}function d$(){Ba(56)}function e$(){Ba(57)}function f$(){Ba(58)}function g$(){Ba(59)}function h$(){Ba(60)}function i$(){Ba(61)}function j$(){Ba(62)}function k$(){Ba(63)}function l$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ec[a&255](b|0,c|0,d|0,e|0)|0}function m$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(0,a|0,b|0,c|0,d|0)|0}function n$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(1,a|0,b|0,c|0,d|0)|0}function o$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(2,a|0,b|0,c|0,d|0)|0}function p$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(3,a|0,b|0,c|0,d|0)|0}function q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(4,a|0,b|0,c|0,d|0)|0}function r$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(5,a|0,b|0,c|0,d|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(6,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(7,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(8,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(9,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(10,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(11,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(12,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(13,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(14,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(15,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(16,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(17,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(18,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(19,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(20,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(21,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(22,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(23,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(24,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(25,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(26,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(27,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(28,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(29,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(30,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(31,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(32,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(33,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(34,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(35,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(36,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(37,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(38,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(39,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(40,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(41,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(42,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(43,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(44,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(45,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(46,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(47,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(48,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(49,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(50,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(51,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(52,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(53,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(54,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(55,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(56,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(57,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(58,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(59,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(60,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(61,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(62,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(63,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;fc[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function x0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function A0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function B0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function C0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&255](b|0,c|0)|0}function I1(a,b){a=a|0;b=b|0;return Ha(0,a|0,b|0)|0}function J1(a,b){a=a|0;b=b|0;return Ha(1,a|0,b|0)|0}function K1(a,b){a=a|0;b=b|0;return Ha(2,a|0,b|0)|0}function L1(a,b){a=a|0;b=b|0;return Ha(3,a|0,b|0)|0}function M1(a,b){a=a|0;b=b|0;return Ha(4,a|0,b|0)|0}function N1(a,b){a=a|0;b=b|0;return Ha(5,a|0,b|0)|0}function O1(a,b){a=a|0;b=b|0;return Ha(6,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return Ha(7,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return Ha(8,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return Ha(9,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return Ha(10,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return Ha(11,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return Ha(12,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return Ha(13,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return Ha(14,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return Ha(15,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return Ha(16,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return Ha(17,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return Ha(18,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return Ha(19,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return Ha(20,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return Ha(21,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return Ha(22,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return Ha(23,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return Ha(24,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return Ha(25,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return Ha(26,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return Ha(27,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return Ha(28,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return Ha(29,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return Ha(30,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return Ha(31,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return Ha(32,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return Ha(33,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return Ha(34,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return Ha(35,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return Ha(36,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return Ha(37,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return Ha(38,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return Ha(39,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return Ha(40,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return Ha(41,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return Ha(42,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return Ha(43,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return Ha(44,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return Ha(45,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return Ha(46,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return Ha(47,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return Ha(48,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return Ha(49,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return Ha(50,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return Ha(51,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return Ha(52,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return Ha(53,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return Ha(54,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return Ha(55,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return Ha(56,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return Ha(57,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return Ha(58,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return Ha(59,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return Ha(60,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return Ha(61,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return Ha(62,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return Ha(63,a|0,b|0)|0}function S2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hc[a&255](b|0,c|0,d|0,e|0,f|0)|0}function T2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(0,a|0,b|0,c|0,d|0,e|0)|0}function U2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(1,a|0,b|0,c|0,d|0,e|0)|0}function V2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(2,a|0,b|0,c|0,d|0,e|0)|0}function W2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(3,a|0,b|0,c|0,d|0,e|0)|0}function X2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(4,a|0,b|0,c|0,d|0,e|0)|0}function Y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(5,a|0,b|0,c|0,d|0,e|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(6,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(7,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(8,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(9,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(10,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(11,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(12,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(13,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(14,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(15,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(16,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(17,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(18,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(19,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(20,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(21,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(22,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(23,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(24,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(25,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(26,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(27,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(28,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(29,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(30,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(31,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(32,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(33,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(34,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(35,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(36,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(37,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(38,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(39,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(40,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(41,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(42,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(43,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(44,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(45,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(46,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(47,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(48,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(49,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(50,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(51,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(52,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(53,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(54,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(55,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(56,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(57,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(58,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(59,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(60,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(61,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(62,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(63,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ic[a&255](b|0,c|0,d|0,e|0)}function c4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(0,a|0,b|0,c|0,d|0)}function d4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(1,a|0,b|0,c|0,d|0)}function e4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(2,a|0,b|0,c|0,d|0)}function f4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(3,a|0,b|0,c|0,d|0)}function g4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(4,a|0,b|0,c|0,d|0)}function h4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(5,a|0,b|0,c|0,d|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(6,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(7,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(8,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(9,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(10,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(11,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(12,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(13,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(14,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(15,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(16,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(17,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(18,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(19,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(20,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(21,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(22,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(23,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(24,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(25,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(26,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(27,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(28,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(29,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(30,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(31,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(32,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(33,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(34,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(35,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(36,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(37,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(38,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(39,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(40,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(41,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(42,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(43,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(44,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(45,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(46,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(47,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(48,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(49,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(50,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(51,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(52,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(53,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(54,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(55,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(56,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(57,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(58,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(59,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(60,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(61,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(62,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(63,a|0,b|0,c|0,d|0)}function m5(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function n5(){ka(1);return 0}function o5(a){a=a|0;ka(2)}function p5(a,b){a=a|0;b=b|0;ka(3)}function q5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(4);return 0}function r5(a){a=a|0;ka(5);return 0}function s5(a,b,c){a=a|0;b=b|0;c=c|0;ka(6)}function t5(){ka(7)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8);return 0}function v5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(9)}function w5(a,b){a=a|0;b=b|0;ka(10);return 0}function x5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(11);return 0}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(12)} +function jc(a){a=a|0;var b=0;b=r;r=r+a|0;r=r+15&-16;return b|0}function kc(){return r|0}function lc(a){a=a|0;r=a}function mc(a,b){a=a|0;b=b|0;r=a;s=b}function nc(a,b){a=a|0;b=b|0;if(!w){w=a;x=b}}function oc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0]}function pc(a){a=a|0;i[t>>0]=i[a>>0];i[t+1>>0]=i[a+1>>0];i[t+2>>0]=i[a+2>>0];i[t+3>>0]=i[a+3>>0];i[t+4>>0]=i[a+4>>0];i[t+5>>0]=i[a+5>>0];i[t+6>>0]=i[a+6>>0];i[t+7>>0]=i[a+7>>0]}function qc(a){a=a|0;L=a}function rc(){return L|0}function sc(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=40)break;k[d>>2]=0;switch(l[352+((k[c>>2]|0)*12|0)+5>>0]|0){case 1:{k[d>>2]=k[b>>2];break}case 2:{k[d>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[352+((k[c>>2]|0)*12|0)>>2]|0,i[352+((k[c>>2]|0)*12|0)+4>>0]|0,l[352+((k[c>>2]|0)*12|0)+6>>0]|0,k[d>>2]|0,k[352+((k[c>>2]|0)*12|0)+8>>2]|0,0,0)|0;k[c>>2]=(k[c>>2]|0)+1}k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=6)break;k[e>>2]=0;switch(l[832+(k[c>>2]<<4)+5>>0]|0){case 1:{k[e>>2]=k[b>>2];break}case 2:{k[e>>2]=-1;break}default:{}}Gf(k[b>>2]|0,k[832+(k[c>>2]<<4)>>2]|0,i[832+(k[c>>2]<<4)+4>>0]|0,1,k[e>>2]|0,0,k[832+(k[c>>2]<<4)+8>>2]|0,k[832+(k[c>>2]<<4)+12>>2]|0)|0;k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,378,17366);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+aa(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,379,17375);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+ba(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,380,17384);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+ca(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[i>>2]|0)!=2)$a(17393,17342,570,17401);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;j=+me(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=j;se(k[d>>2]|0,+da(+(+p[f>>3]),+(+p[g>>3])));r=h;return}we(k[d>>2]|0);r=h;return}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,394,17410);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+qQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function yc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,402,17420);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+rQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function zc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,410,17430);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+sQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ac(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,l=0,m=0,n=0,o=0;n=r;r=r+64|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;g=n+12|0;f=n+8|0;h=n+4|0;j=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[l>>2]=n+48;k[m>>2]=n+40;k[g>>2]=0;k[f>>2]=0;if((k[o>>2]|0)!=2)$a(17393,17342,1680,17440);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){o=ke(k[k[e>>2]>>2]|0)|0;k[h>>2]=o;o=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=o;wd(k[h>>2]|0,k[l>>2]|0);wd(k[j>>2]|0,k[m>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=4)break;o=xd(k[l>>2]|0)|0;if((o|0)==(xd(k[m>>2]|0)|0))k[g>>2]=(k[g>>2]|0)+1;do{o=(k[l>>2]|0)+1|0;k[l>>2]=o}while((192&i[o>>0]|0)==128);do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}ue(k[d>>2]|0,k[g>>2]|0);r=n;return}we(k[d>>2]|0);r=n;return}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,498,17844);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+yd(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,499,17856);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+zd(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,420,17868);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+Z(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ec(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,419,17876);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+_(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Fc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,421,17884);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+$(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Gc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,422,17892);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+Ad(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,446,17900);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+tQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,438,17909);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+xQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,454,17918);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+yQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Kc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,456,17927);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+Bd(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,474,17936);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+ea(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,472,17944);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+fa(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,473,17952);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+vQ(+p[f>>3]);p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+48|0;d=i+32|0;j=i+28|0;e=i+24|0;f=i+16|0;g=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;p[f>>3]=0.0;p[g>>3]=0.0;if((k[j>>2]|0)!=2)$a(17393,17342,546,17962);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){l=+me(k[k[e>>2]>>2]|0);p[f>>3]=l;l=+me(k[(k[e>>2]|0)+4>>2]|0);p[g>>3]=l;j=jQ()|0;k[j>>2]=0;l=+Y(+(+p[f>>3]),+(+p[g>>3]));p[h>>3]=l;j=jQ()|0;d=k[d>>2]|0;if(!(k[j>>2]|0)){se(d,+p[h>>3]);r=i;return}else{h=jQ()|0;h=kQ(k[h>>2]|0)|0;j=jQ()|0;te(d,h,k[j>>2]|0);r=i;return}}we(k[d>>2]|0);r=i;return}function Pc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;g=h+24|0;i=h+20|0;d=h+16|0;f=h+8|0;e=h;k[g>>2]=a;k[i>>2]=b;k[d>>2]=c;p[f>>3]=0.0;a=e;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17334,17342,590,17972);switch(pe(k[k[d>>2]>>2]|0)|0){case 1:{f=oe(k[k[d>>2]>>2]|0)|0;i=e;k[i>>2]=f;k[i+4>>2]=L;i=e;f=k[i+4>>2]|0;if((f|0)>0|(f|0)==0&(k[i>>2]|0)>>>0>0)d=1;else d=(k[e+4>>2]|0)<0?-1:0;i=e;k[i>>2]=d;k[i+4>>2]=((d|0)<0)<<31>>31;i=e;ve(k[g>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[g>>2]|0);r=h;return}default:{j=+me(k[k[d>>2]>>2]|0);p[f>>3]=j;if(+p[f>>3]>0.0)d=1;else d=+p[f>>3]<0.0?-1:0;p[f>>3]=+(d|0);se(k[g>>2]|0,+p[f>>3]);r=h;return}}}function Qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[f>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,375,17981);if((pe(k[k[e>>2]>>2]|0)|0)==5){we(k[d>>2]|0);r=h;return}j=+me(k[k[e>>2]>>2]|0);p[f>>3]=j;i=jQ()|0;k[i>>2]=0;j=+X(+(+p[f>>3]));p[g>>3]=j;i=jQ()|0;d=k[d>>2]|0;if(!(k[i>>2]|0)){se(d,+p[g>>3]);r=h;return}else{g=jQ()|0;g=kQ(k[g>>2]|0)|0;i=jQ()|0;te(d,g,k[i>>2]|0);r=h;return}}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+32|0;d=h+24|0;i=h+20|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;p[g>>3]=0.0;if((k[i>>2]|0)!=1)$a(17334,17342,514,17990);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;a=f;k[a>>2]=g;k[a+4>>2]=L;a=k[d>>2]|0;g=f;i=f;ve(a,KR(k[g>>2]|0,k[g+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0,L);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;se(k[d>>2]|0,+p[g>>3]*+p[g>>3]);r=h;return}}}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,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17334,17342,620,18001);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ve(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+ga(+(+p[g>>3]));ve(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Tc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0.0;h=r;r=r+48|0;d=h+32|0;i=h+28|0;e=h+24|0;g=h+16|0;f=h;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;p[g>>3]=0.0;a=h+8|0;k[a>>2]=0;k[a+4>>2]=0;if((k[i>>2]|0)!=1)$a(17334,17342,645,18010);switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{g=oe(k[k[e>>2]>>2]|0)|0;i=f;k[i>>2]=g;k[i+4>>2]=L;i=f;ve(k[d>>2]|0,k[i>>2]|0,k[i+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{j=+me(k[k[e>>2]>>2]|0);p[g>>3]=j;j=+V(+(+p[g>>3]));ve(k[d>>2]|0,~~j>>>0,+W(j)>=1.0?(j>0.0?~~+ia(+V(j/4294967296.0),4294967295.0)>>>0:~~+ga((j-+(~~j>>>0))/4294967296.0)>>>0):0);r=h;return}}}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;se(k[e>>2]|0,3.141592653589793);r=d;return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+48|0;n=m+44|0;e=m+40|0;j=m+36|0;l=m+32|0;g=m+24|0;h=m+16|0;i=m+8|0;f=m;k[d>>2]=a;k[n>>2]=b;k[e>>2]=c;a=f;k[a>>2]=0;k[a+4>>2]=0;if((k[n>>2]|0)!=2){r=m;return}if(5==(pe(k[k[e>>2]>>2]|0)|0)){r=m;return}a=oe(k[(k[e>>2]|0)+4>>2]|0)|0;n=g;k[n>>2]=a;k[n+4>>2]=L;if((k[g+4>>2]|0)<0){te(k[d>>2]|0,18020,-1);r=m;return}a=le(k[k[e>>2]>>2]|0)|0;n=h;k[n>>2]=a;k[n+4>>2]=((a|0)<0)<<31>>31;n=h;a=g;a=KR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=i;k[n>>2]=a;k[n+4>>2]=L;n=i;n=zR(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[j>>2]=n;n=h;n=zR(k[n>>2]|0,k[n+4>>2]|0,1,0)|0;n=Sd(n)|0;k[l>>2]=n;if((k[j>>2]|0)!=0&(k[l>>2]|0)!=0){n=k[l>>2]|0;SQ(n,ke(k[k[e>>2]>>2]|0)|0)|0;n=f;k[n>>2]=0;k[n+4>>2]=0;while(1){i=f;c=k[i+4>>2]|0;n=g;a=k[n+4>>2]|0;if(!((c|0)<(a|0)|((c|0)==(a|0)?(k[i>>2]|0)>>>0<(k[n>>2]|0)>>>0:0)))break;n=k[j>>2]|0;a=f;i=h;i=KR(k[a>>2]|0,k[a+4>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;SQ(n+i|0,k[l>>2]|0)|0;i=f;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;n=f;k[n>>2]=i;k[n+4>>2]=L}xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);Ud(k[l>>2]|0);r=m;return}De(k[d>>2]|0);if(k[j>>2]|0)Ud(k[j>>2]|0);if(!(k[l>>2]|0)){r=m;return}Ud(k[l>>2]|0);r=m;return}function Wc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;i=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;k[g>>2]=0;if(!((k[e>>2]|0)==3|(k[e>>2]|0)==2))$a(18033,17342,1038,18051);if(5!=(pe(k[k[f>>2]>>2]|0)|0)?5!=(pe(k[(k[f>>2]|0)+4>>2]|0)|0):0){a=ke(k[k[f>>2]>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=l;return}a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[j>>2]=a;if((k[e>>2]|0)==3){a=(ne(k[(k[f>>2]|0)+8>>2]|0)|0)-1|0;k[h>>2]=a;k[h>>2]=(k[h>>2]|0)<0?0:a}else k[h>>2]=0;j=Cd(k[i>>2]|0,k[j>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=j;ue(k[d>>2]|0,(k[g>>2]|0)+1|0);r=l;return}we(k[d>>2]|0);r=l;return}function Xc(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,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+32|0;p=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;m=o+8|0;n=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;k[h>>2]=0;if((k[p>>2]|0)!=2)$a(17393,17342,1073,18065);if(5!=(pe(k[k[e>>2]>>2]|0)|0)?5!=(pe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=p;p=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[m>>2];a:while(1){if(!(xd(k[n>>2]|0)|0))break;p=k[f>>2]|0;k[f>>2]=p+1;if((p|0)>=(k[h>>2]|0))break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&(l[p>>0]|0)|0)!=128)continue a}}k[g>>2]=(k[n>>2]|0)-(k[m>>2]|0);p=Sd((k[n>>2]|0)-(k[m>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){WQ(k[j>>2]|0,k[m>>2]|0,(k[n>>2]|0)-(k[m>>2]|0)|0)|0;i[(k[j>>2]|0)+(k[g>>2]|0)>>0]=0;xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{De(k[d>>2]|0);r=o;return}}we(k[d>>2]|0);r=o;return}function Yc(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,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+36|0;p=o+32|0;e=o+28|0;h=o+24|0;f=o+20|0;g=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;j=o;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=0;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17393,17342,1113,18074);if(5!=(pe(k[k[e>>2]>>2]|0)|0)?5!=(pe(k[(k[e>>2]|0)+4>>2]|0)|0):0){p=ke(k[k[e>>2]>>2]|0)|0;k[l>>2]=p;p=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[h>>2]=p;k[n>>2]=k[l>>2];while(1){if(!(xd(k[n>>2]|0)|0))break;do{p=(k[n>>2]|0)+1|0;k[n>>2]=p}while((192&i[p>>0]|0)==128);k[f>>2]=(k[f>>2]|0)+1}k[m>>2]=k[n>>2];k[n>>2]=k[l>>2];p=(k[f>>2]|0)-(k[h>>2]|0)|0;k[g>>2]=p;k[g>>2]=(k[g>>2]|0)<0?0:p;a:while(1){p=k[g>>2]|0;k[g>>2]=p+-1;if((p|0)<=0)break;while(1){p=(k[n>>2]|0)+1|0;k[n>>2]=p;if((192&i[p>>0]|0)!=128)continue a}}p=Sd((k[m>>2]|0)-(k[n>>2]|0)+1|0)|0;k[j>>2]=p;if(k[j>>2]|0){SQ(k[j>>2]|0,k[n>>2]|0)|0;xe(k[d>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=o;return}else{De(k[d>>2]|0);r=o;return}}we(k[d>>2]|0);r=o;return}function Zc(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,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;o=n+28|0;e=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n+8|0;g=n+4|0;f=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=0;if(1!=(k[o>>2]|0))$a(18084,17342,1323,18092);if(5==(pe(k[k[e>>2]>>2]|0)|0)){we(k[d>>2]|0);r=n;return}o=ke(k[k[e>>2]>>2]|0)|0;k[l>>2]=o;o=UQ(k[l>>2]|0)|0;k[g>>2]=o;o=Sd((k[g>>2]|0)+1|0)|0;k[h>>2]=o;if(!(k[h>>2]|0)){De(k[d>>2]|0);r=n;return}k[j>>2]=(k[h>>2]|0)+(k[g>>2]|0);o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=0;k[m>>2]=k[l>>2];a:while(1){if(!(xd(k[m>>2]|0)|0))break;k[l>>2]=k[m>>2];do{o=(k[m>>2]|0)+1|0;k[m>>2]=o}while((192&i[o>>0]|0)==128);k[f>>2]=1;while(1){if(((k[m>>2]|0)+(0-(k[f>>2]|0))|0)>>>0<(k[l>>2]|0)>>>0)continue a;g=i[(k[m>>2]|0)+(0-(k[f>>2]|0))>>0]|0;o=k[j>>2]|0;k[j>>2]=o+-1;i[o>>0]=g;k[f>>2]=(k[f>>2]|0)+1}}xe(k[d>>2]|0,k[h>>2]|0,-1,-1);Ud(k[h>>2]|0);r=n;return}function _c(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,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;n=m+20|0;d=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m+28|0;f=m;k[e>>2]=a;k[n>>2]=b;k[d>>2]=c;k[f>>2]=1;if((k[n>>2]|0)!=1)$a(17334,17342,724,18104);if(5==(pe(k[k[d>>2]>>2]|0)|0)){we(k[e>>2]|0);r=m;return}n=ke(k[k[d>>2]>>2]|0)|0;k[h>>2]=n;n=Dd(k[h>>2]|0)|0;k[j>>2]=n;if(!(k[j>>2]|0)){De(k[e>>2]|0);r=m;return}k[l>>2]=k[j>>2];while(1){n=k[h>>2]|0;k[h>>2]=n+1;n=i[n>>0]|0;i[g>>0]=n;if(!(n<<24>>24))break;if(eQ(i[g>>0]|0)|0)k[f>>2]=1;else{d=i[g>>0]|0;if((k[f>>2]|0)==1){n=(iQ(d)|0)&255;i[g>>0]=n}else{n=(hQ(d)|0)&255;i[g>>0]=n}k[f>>2]=0}a=i[g>>0]|0;n=k[l>>2]|0;k[l>>2]=n+1;i[n>>0]=a}i[k[l>>2]>>0]=0;xe(k[e>>2]|0,k[j>>2]|0,-1,-1);Ud(k[j>>2]|0);r=m;return}function $c(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,l=0,m=0,n=0,o=0;n=r;r=r+48|0;l=n+40|0;o=n+36|0;d=n+32|0;f=n+8|0;h=n;e=n+28|0;g=n+24|0;m=n+20|0;j=n+16|0;k[l>>2]=a;k[o>>2]=b;k[d>>2]=c;k[e>>2]=0;if((k[o>>2]|0)!=2)$a(17393,17342,771,18115);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[l>>2]|0);r=n;return}a=ke(k[k[d>>2]>>2]|0)|0;k[g>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;o=f;k[o>>2]=a;k[o+4>>2]=L;if((k[f+4>>2]|0)<0){te(k[l>>2]|0,18020,-1);r=n;return}b=Ed(k[g>>2]|0,-1)|0;a=h;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=h;b=k[a+4>>2]|0;o=f;c=k[o+4>>2]|0;d=k[g>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[o>>2]|0)>>>0:0)){d=Dd(d)|0;k[m>>2]=d;d=k[l>>2]|0;if(k[m>>2]|0){xe(d,k[m>>2]|0,-1,-1);break}De(d);r=n;return}else{o=UQ(d)|0;a=f;a=zR(o|0,0,k[a>>2]|0,k[a+4>>2]|0)|0;o=h;o=yR(a|0,L|0,k[o>>2]|0,k[o+4>>2]|0)|0;o=zR(o|0,L|0,1,0)|0;o=Sd(o)|0;k[m>>2]=o;if(!(k[m>>2]|0)){De(k[l>>2]|0);r=n;return}k[j>>2]=k[m>>2];k[e>>2]=1;while(1){b=k[e>>2]|0;a=h;a=zR(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;o=f;c=k[o+4>>2]|0;d=k[j>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[o>>2]|0)>>>0:0)))break;k[j>>2]=d+1;i[d>>0]=32;k[e>>2]=(k[e>>2]|0)+1}SQ(d,k[g>>2]|0)|0}while(0);xe(k[l>>2]|0,k[m>>2]|0,-1,-1);Ud(k[m>>2]|0);r=n;return}function ad(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,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17393,17342,825,18152);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[m>>2]|0);r=o;return}a=ke(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){te(k[m>>2]|0,18020,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){xe(d,k[n>>2]|0,-1,-1);break}De(d);r=o;return}else{a=UQ(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=zR(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=yR(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=zR(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){De(k[m>>2]|0);r=o;return}p=SQ(k[n>>2]|0,k[e>>2]|0)|0;k[l>>2]=p+(k[f>>2]|0);k[g>>2]=1;while(1){a=k[g>>2]|0;f=j;f=zR(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);xe(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function bd(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,l=0,m=0,n=0,o=0,p=0;o=r;r=r+64|0;m=o+48|0;p=o+44|0;d=o+40|0;h=o+16|0;j=o+8|0;f=o;g=o+36|0;e=o+32|0;n=o+28|0;l=o+24|0;k[m>>2]=a;k[p>>2]=b;k[d>>2]=c;k[g>>2]=0;if((k[p>>2]|0)!=2)$a(17393,17342,880,18161);if((pe(k[k[d>>2]>>2]|0)|0)==5){we(k[m>>2]|0);r=o;return}a=ke(k[k[d>>2]>>2]|0)|0;k[e>>2]=a;a=oe(k[(k[d>>2]|0)+4>>2]|0)|0;p=h;k[p>>2]=a;k[p+4>>2]=L;if((k[h+4>>2]|0)<0){te(k[m>>2]|0,18020,-1);r=o;return}b=Ed(k[e>>2]|0,-1)|0;a=j;k[a>>2]=b;k[a+4>>2]=((b|0)<0)<<31>>31;a=j;b=k[a+4>>2]|0;p=h;c=k[p+4>>2]|0;d=k[e>>2]|0;do if((b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>=(k[p>>2]|0)>>>0:0)){d=Dd(d)|0;k[n>>2]=d;d=k[m>>2]|0;if(k[n>>2]|0){xe(d,k[n>>2]|0,-1,-1);break}De(d);r=o;return}else{a=UQ(d)|0;p=f;k[p>>2]=a;k[p+4>>2]=0;p=f;a=h;a=zR(k[p>>2]|0,k[p+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;p=j;p=yR(a|0,L|0,k[p>>2]|0,k[p+4>>2]|0)|0;p=zR(p|0,L|0,1,0)|0;p=Sd(p)|0;k[n>>2]=p;if(!(k[n>>2]|0)){De(k[m>>2]|0);r=o;return}k[l>>2]=k[n>>2];k[g>>2]=1;while(1){b=k[g>>2]<<1;a=j;a=zR(b|0,((b|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0;b=L;p=h;c=k[p+4>>2]|0;d=k[l>>2]|0;if(!((b|0)<(c|0)|((b|0)==(c|0)?a>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}SQ(d,k[e>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);while(1){a=k[g>>2]|0;f=j;f=zR(a|0,((a|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;a=L;p=h;e=k[p+4>>2]|0;d=k[l>>2]|0;if(!((a|0)<(e|0)|((a|0)==(e|0)?f>>>0<=(k[p>>2]|0)>>>0:0)))break;k[l>>2]=d+1;i[d>>0]=32;k[g>>2]=(k[g>>2]|0)+1}i[d>>0]=0}while(0);xe(k[m>>2]|0,k[n>>2]|0,-1,-1);Ud(k[n>>2]|0);r=o;return}function cd(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;s=q+40|0;e=q+36|0;m=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;k[d>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=0;k[g>>2]=0;if((k[s>>2]|0)!=2)$a(17393,17342,939,18170);if((pe(k[k[e>>2]>>2]|0)|0)!=5?(pe(k[(k[e>>2]|0)+4>>2]|0)|0)!=5:0){s=ke(k[k[e>>2]>>2]|0)|0;k[m>>2]=s;s=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=s;s=Sd((UQ(k[m>>2]|0)|0)+1|0)|0;k[o>>2]=s;if(!(k[o>>2]|0)){De(k[d>>2]|0);r=q;return}k[p>>2]=k[o>>2];k[h>>2]=k[m>>2];a:while(1){s=xd(k[h>>2]|0)|0;k[f>>2]=s;if(!s)break;k[j>>2]=k[n>>2];b:while(1){s=xd(k[j>>2]|0)|0;k[g>>2]=s;if(!s)break;if((k[g>>2]|0)==(k[f>>2]|0))break;while(1){s=(k[j>>2]|0)+1|0;k[j>>2]=s;if((192&i[s>>0]|0)!=128)continue b}}if(k[g>>2]|0){k[l>>2]=k[j>>2];do{s=(k[l>>2]|0)+1|0;k[l>>2]=s}while((192&i[s>>0]|0)==128);WQ(k[p>>2]|0,k[j>>2]|0,(k[l>>2]|0)-(k[j>>2]|0)|0)|0;k[p>>2]=(k[p>>2]|0)+((k[l>>2]|0)-(k[j>>2]|0))}while(1){s=(k[h>>2]|0)+1|0;k[h>>2]=s;if((192&i[s>>0]|0)!=128)continue a}}i[k[p>>2]>>0]=0;xe(k[d>>2]|0,k[o>>2]|0,-1,-1);Ud(k[o>>2]|0);r=q;return}we(k[d>>2]|0);r=q;return}function dd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0.0;i=r;r=r+32|0;d=i+28|0;j=i+24|0;e=i+20|0;g=i+16|0;f=i+8|0;h=i;k[d>>2]=a;k[j>>2]=b;k[e>>2]=c;if((k[j>>2]|0)!=1)$a(17334,17342,1395,18184);j=He(k[d>>2]|0,24)|0;k[g>>2]=j;if(5==(bf(k[k[e>>2]>>2]|0)|0)){r=i;return}a=(k[g>>2]|0)+16|0;j=a;j=zR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[a>>2]=j;k[a+4>>2]=L;l=+me(k[k[e>>2]>>2]|0);p[h>>3]=l;p[f>>3]=+p[h>>3]-+p[k[g>>2]>>3];a=(k[g>>2]|0)+16|0;j=k[g>>2]|0;p[j>>3]=+p[j>>3]+ +p[f>>3]/(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0));j=(k[g>>2]|0)+8|0;p[j>>3]=+p[j>>3]+ +p[f>>3]*(+p[h>>3]-+p[k[g>>2]>>3]);r=i;return}function ed(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=yR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;se(a,+X(+(f/(+(e>>>0)+4294967296.0*+(L|0)))));r=d;return}se(k[b>>2]|0,0.0);r=d;return}function fd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0.0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if((k[c>>2]|0)!=0?(a=(k[c>>2]|0)+16|0,e=k[a+4>>2]|0,(e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>1):0){a=k[b>>2]|0;f=+p[(k[c>>2]|0)+8>>3];e=(k[c>>2]|0)+16|0;e=yR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;se(a,f/(+(e>>>0)+4294967296.0*+(L|0)));r=d;return}se(k[b>>2]|0,0.0);r=d;return}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0,s=0.0;o=r;r=r+80|0;d=o+64|0;q=o+60|0;e=o+56|0;l=o+52|0;n=o+8|0;m=o;j=o+48|0;i=o+44|0;h=o+40|0;f=o+28|0;g=o+16|0;k[d>>2]=a;k[q>>2]=b;k[e>>2]=c;a=n;k[a>>2]=0;k[a+4>>2]=0;p[m>>3]=0.0;if((k[q>>2]|0)!=1)$a(17334,17342,1418,18197);q=bf(k[k[e>>2]>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)==5){r=o;return}q=He(k[d>>2]|0,64)|0;k[l>>2]=q;do if(!(k[(k[l>>2]|0)+56>>2]|0)){d=tR(1,12)|0;k[(k[l>>2]|0)+56>>2]=d;d=k[l>>2]|0;if((k[h>>2]|0)==1){q=k[d+56>>2]|0;ld(f,176);k[q>>2]=k[f>>2];k[q+4>>2]=k[f+4>>2];k[q+8>>2]=k[f+8>>2];q=(k[l>>2]|0)+48|0;k[q>>2]=0;k[q+4>>2]=0;break}else{q=d+48|0;k[q>>2]=1;k[q+4>>2]=0;q=k[(k[l>>2]|0)+56>>2]|0;ld(g,177);k[q>>2]=k[g>>2];k[q+4>>2]=k[g+4>>2];k[q+8>>2]=k[g+8>>2];break}}while(0);q=(k[l>>2]|0)+16|0;d=q;d=zR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;k[q>>2]=d;k[q+4>>2]=L;q=(k[l>>2]|0)+48|0;d=k[k[e>>2]>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){q=oe(d)|0;m=n;k[m>>2]=q;k[m+4>>2]=L;m=tR(1,8)|0;k[j>>2]=m;m=n;n=k[m+4>>2]|0;q=k[j>>2]|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;pd(k[(k[l>>2]|0)+56>>2]|0,k[j>>2]|0);r=o;return}else{s=+me(d);p[m>>3]=s;q=tR(1,8)|0;k[i>>2]=q;p[k[i>>2]>>3]=+p[m>>3];pd(k[(k[l>>2]|0)+56>>2]|0,k[i>>2]|0);r=o;return}}function hd(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(!(k[(k[c>>2]|0)+56>>2]|0)){r=d;return}rd(k[(k[c>>2]|0)+56>>2]|0,131,k[c>>2]|0);td(k[(k[c>>2]|0)+56>>2]|0);sR(k[(k[c>>2]|0)+56>>2]|0);a=(k[c>>2]|0)+40|0;if(!(1==(k[a>>2]|0)?0==(k[a+4>>2]|0):0)){r=d;return}e=(k[c>>2]|0)+48|0;a=k[b>>2]|0;b=k[c>>2]|0;if(0==(k[e>>2]|0)?0==(k[e+4>>2]|0):0){e=b;ve(a,k[e>>2]|0,k[e+4>>2]|0);r=d;return}else{se(a,+p[b+8>>3]);r=d;return}}function id(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/2.0;Gd(k[b>>2]|0);r=d;return}function jd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;p[(k[c>>2]|0)+24>>3]=(+((k[a>>2]|0)>>>0)+4294967296.0*+(k[a+4>>2]|0))/4.0;Gd(k[b>>2]|0);r=d;return}function kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;a=KR(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;p[(k[c>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(L|0))/4.0;Gd(k[b>>2]|0);r=d;return}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+12|0;d=c;k[e>>2]=b;k[d+4>>2]=k[e>>2];k[d>>2]=0;k[a>>2]=k[d>>2];k[a+4>>2]=k[d+4>>2];k[a+8>>2]=k[d+8>>2];r=c;return}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;d=e;k[g>>2]=a;k[f>>2]=b;k[e+4>>2]=c;b=tR(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function nd(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sR(k[c>>2]|0);r=b;return}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[k[d>>2]>>2]|0)){h=md(1,24,17325)|0;k[e>>2]=h;k[(k[e>>2]|0)+8>>2]=k[g>>2];h=(k[e>>2]|0)+16|0;k[h>>2]=1;k[h+4>>2]=0;k[k[d>>2]>>2]=k[e>>2];r=i;return}e=gc[k[f>>2]&255](k[(k[k[d>>2]>>2]|0)+8>>2]|0,k[g>>2]|0)|0;k[h>>2]=e;if(!(k[h>>2]|0)){h=(k[k[d>>2]>>2]|0)+16|0;f=h;f=zR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;k[h>>2]=f;k[h+4>>2]=L;nd(k[g>>2]|0);r=i;return}d=k[k[d>>2]>>2]|0;if((k[h>>2]|0)>0){od(d,k[f>>2]|0,k[g>>2]|0);r=i;return}else{od(d+4|0,k[f>>2]|0,k[g>>2]|0);r=i;return}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;od(k[e>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[d>>2]|0);r=c;return}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}if(k[k[d>>2]>>2]|0)qd(k[k[d>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0);c=(k[d>>2]|0)+16|0;ic[k[e>>2]&255](k[(k[d>>2]|0)+8>>2]|0,k[c>>2]|0,k[c+4>>2]|0,k[f>>2]|0);if(!(k[(k[d>>2]|0)+4>>2]|0)){r=g;return}qd(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;qd(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function sd(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}nd(k[(k[b>>2]|0)+8>>2]|0);if(k[k[b>>2]>>2]|0)sd(k[k[b>>2]>>2]|0);if(k[(k[b>>2]|0)+4>>2]|0)sd(k[(k[b>>2]|0)+4>>2]|0);nd(k[b>>2]|0);r=c;return}function td(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;sd(k[k[c>>2]>>2]|0);r=b;return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;h=k[h>>2]|0;a=k[h+4>>2]|0;b=d;k[b>>2]=k[h>>2];k[b+4>>2]=a;g=k[g>>2]|0;b=k[g+4>>2]|0;a=e;k[a>>2]=k[g>>2];k[a+4>>2]=b;a=d;b=e;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[c>>2]=0;h=k[c>>2]|0;r=f;return h|0}g=d;b=k[g+4>>2]|0;h=e;e=k[h+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(k[g>>2]|0)>>>0<(k[h>>2]|0)>>>0:0)){k[c>>2]=-1;h=k[c>>2]|0;r=f;return h|0}else{k[c>>2]=1;h=k[c>>2]|0;r=f;return h|0}return 0}function vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+24|0;h=f+20|0;g=f+16|0;d=f+8|0;e=f;k[h>>2]=a;k[g>>2]=b;p[d>>3]=+p[k[h>>2]>>3];p[e>>3]=+p[k[g>>2]>>3];do if(!(+p[d>>3]==+p[e>>3]))if(+p[d>>3]<+p[e>>3]){k[c>>2]=-1;break}else{k[c>>2]=1;break}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[c>>2]=a;k[f>>2]=b;k[e>>2]=0;while(1){if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;if(!((dQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)!=0^1))break;k[e>>2]=(k[e>>2]|0)+1}if(!(i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)){SQ(k[f>>2]|0,17583)|0;r=h;return}b=(iQ(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)|0)&255;i[k[f>>2]>>0]=b;k[g>>2]=1;while(1){if((k[g>>2]|0)>=4)break;if(!(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0))break;k[d>>2]=l[17455+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]&127)>>0];if((k[d>>2]|0)>0){a=(k[d>>2]|0)+48&255;b=k[g>>2]|0;k[g>>2]=b+1;i[(k[f>>2]|0)+b>>0]=a}k[e>>2]=(k[e>>2]|0)+1}while(1){c=k[g>>2]|0;if((k[g>>2]|0)>=4)break;k[g>>2]=c+1;i[(k[f>>2]|0)+c>>0]=48}i[(k[f>>2]|0)+c>>0]=0;r=h;return}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=k[b>>2]|0;k[b>>2]=a+1;k[c>>2]=l[a>>0];k[d>>2]=l[17588+(k[c>>2]|0)>>0];switch(k[d>>2]|0){case 4:{k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}case 3:{a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);e=4;break}case 2:{e=4;break}case 1:break;default:{e=k[c>>2]|0;r=f;return e|0}}if((e|0)==4){a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0)}a=k[c>>2]<<6;e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=a+(l[e>>0]|0);k[c>>2]=(k[c>>2]|0)-(k[928+(k[d>>2]<<2)>>2]|0);if(((k[944+(k[d>>2]<<2)>>2]&k[c>>2]|0)!=0?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){e=k[c>>2]|0;r=f;return e|0}k[c>>2]=65533;e=k[c>>2]|0;r=f;return e|0}function yd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*180.0/3.141592653589793)}function zd(a){a=+a;var b=0,c=0;c=r;r=r+16|0;b=c;p[b>>3]=a;r=c;return +(+p[b>>3]*3.141592653589793/180.0)}function Ad(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+$(+(+p[c>>3]));r=b;return +a}function Bd(a){a=+a;var b=0,c=0;b=r;r=r+16|0;c=b;p[c>>3]=a;a=1.0/+yQ(+p[c>>3]);r=b;return +a}function Cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;g=t+32|0;h=t+28|0;j=t+24|0;l=t+20|0;o=t+16|0;p=t+12|0;q=t+8|0;m=t+4|0;n=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;k[o>>2]=-1;if(!(i[k[f>>2]>>0]|0)){k[e>>2]=-1;s=k[e>>2]|0;r=t;return s|0}a:while(1){if(!(xd(k[g>>2]|0)|0))break;b=k[l>>2]|0;k[l>>2]=b+1;if((b|0)>=(k[h>>2]|0))break;while(1){b=(k[g>>2]|0)+1|0;k[g>>2]=b;if((192&i[b>>0]|0)!=128)continue a}}k[l>>2]=0;while(1){if(!(xd(k[g>>2]|0)|0))break;k[p>>2]=k[f>>2];k[q>>2]=k[g>>2];do{b=xd(k[p>>2]|0)|0;k[m>>2]=b;b=xd(k[q>>2]|0)|0;k[n>>2]=b;do{b=(k[p>>2]|0)+1|0;k[p>>2]=b}while((192&i[b>>0]|0)==128);do{b=(k[q>>2]|0)+1|0;k[q>>2]=b}while((192&i[b>>0]|0)==128)}while(((k[m>>2]|0)!=0?(k[m>>2]|0)==(k[n>>2]|0):0)&(k[n>>2]|0)!=0);if(!(k[m>>2]|0)){s=14;break}do{b=(k[g>>2]|0)+1|0;k[g>>2]=b}while((192&i[b>>0]|0)==128);k[l>>2]=(k[l>>2]|0)+1}if((s|0)==14)k[o>>2]=k[l>>2];if(k[j>>2]|0)k[k[j>>2]>>2]=k[g>>2];s=k[o>>2]|0;k[e>>2]=(k[o>>2]|0)>=0?s+(k[h>>2]|0)|0:s;s=k[e>>2]|0;r=t;return s|0}function Dd(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Sd((UQ(k[c>>2]|0)|0)+1|0)|0;k[d>>2]=a;a=SQ(k[d>>2]|0,k[c>>2]|0)|0;r=b;return a|0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if((k[d>>2]|0)>=0)k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);else k[e>>2]=-1;if((k[c>>2]|0)>>>0>(k[e>>2]|0)>>>0)$a(18124,17342,316,18133);while(1){if(!(i[k[c>>2]>>0]|0)){c=10;break}if((k[c>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}k[c>>2]=(k[c>>2]|0)+((l[17588+(l[k[c>>2]>>0]|0)>>0]|0)+1);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;j=i+32|0;g=i+16|0;l=i+28|0;f=i+8|0;e=i;h=i+24|0;k[j>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[h>>2]=k[l>>2];d=(k[h>>2]|0)+48|0;b=k[j>>2]|0;if(0==(k[d>>2]|0)?0==(k[d+4>>2]|0):0){l=k[b>>2]|0;j=f;k[j>>2]=l;k[j+4>>2]=((l|0)<0)<<31>>31;j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=zR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;e=k[l+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}l=k[f+4>>2]|0;j=k[h>>2]|0;k[j>>2]=k[f>>2];k[j+4>>2]=l;j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}else{p[e>>3]=+p[b>>3];j=(k[h>>2]|0)+32|0;l=g;b=k[h>>2]|0;if((k[j>>2]|0)==(k[l>>2]|0)?(k[j+4>>2]|0)==(k[l+4>>2]|0):0){l=b+40|0;j=l;j=zR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;k[l>>2]=j;k[l+4>>2]=L;r=i;return}j=b+32|0;d=k[j+4>>2]|0;l=g;f=k[l+4>>2]|0;if(!((d|0)<(f|0)|((d|0)==(f|0)?(k[j>>2]|0)>>>0<(k[l>>2]|0)>>>0:0))){r=i;return}p[(k[h>>2]|0)+8>>3]=+p[e>>3];j=k[g+4>>2]|0;l=(k[h>>2]|0)+32|0;k[l>>2]=k[g>>2];k[l+4>>2]=j;l=(k[h>>2]|0)+40|0;k[l>>2]=1;k[l+4>>2]=0;r=i;return}}function Gd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;k[b>>2]=a;c=He(k[b>>2]|0,0)|0;k[d>>2]=c;if(!(k[d>>2]|0)){r=e;return}if(!(k[(k[d>>2]|0)+56>>2]|0)){r=e;return}k[(k[d>>2]|0)+60>>2]=0;rd(k[(k[d>>2]|0)+56>>2]|0,132,k[d>>2]|0);td(k[(k[d>>2]|0)+56>>2]|0);sR(k[(k[d>>2]|0)+56>>2]|0);c=(k[d>>2]|0)+48|0;if(!(0==(k[c>>2]|0)?0==(k[c+4>>2]|0):0)){c=(k[d>>2]|0)+40|0;se(k[b>>2]|0,+p[(k[d>>2]|0)+8>>3]/(+((k[c>>2]|0)>>>0)+4294967296.0*+(k[c+4>>2]|0)));r=e;return}f=(k[d>>2]|0)+40|0;b=k[b>>2]|0;c=k[d>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0;if(1==(k[f>>2]|0)?0==(k[f+4>>2]|0):0){ve(b,a,c);r=e;return}else{f=(k[d>>2]|0)+40|0;se(b,(+(a>>>0)+4294967296.0*+(c|0))*1.0/(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0)));r=e;return}}function Hd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;g=o+56|0;j=o+32|0;q=o+52|0;m=o+24|0;l=o+16|0;e=o+8|0;h=o;f=o+48|0;i=o+44|0;n=o+40|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[q>>2]=d;k[n>>2]=k[q>>2];if((k[(k[n>>2]|0)+60>>2]|0)>0){r=o;return}p[e>>3]=+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+16|0;p[h>>3]=+((k[q>>2]|0)>>>0)+4294967296.0*+(k[q+4>>2]|0)-+p[(k[n>>2]|0)+24>>3];q=(k[n>>2]|0)+32|0;d=j;d=zR(k[q>>2]|0,k[q+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[f>>2]=d;d=(k[n>>2]|0)+16|0;q=(k[n>>2]|0)+32|0;q=yR(k[d>>2]|0,k[d+4>>2]|0,k[q>>2]|0,k[q+4>>2]|0)|0;k[i>>2]=q;do if(+(k[f>>2]|0)>=+p[e>>3]){b=k[n>>2]|0;if(!(+(k[i>>2]|0)>=+p[h>>3])){k[b+60>>2]=1;break}q=b+40|0;b=q;b=zR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[q>>2]=b;k[q+4>>2]=L;q=(k[n>>2]|0)+48|0;b=k[g>>2]|0;if(0==(k[q>>2]|0)?0==(k[q+4>>2]|0):0){l=k[b>>2]|0;q=m;k[q>>2]=l;k[q+4>>2]=((l|0)<0)<<31>>31;q=k[n>>2]|0;l=q;m=zR(k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=m;k[q+4>>2]=L;break}else{p[l>>3]=+p[b>>3];q=(k[n>>2]|0)+8|0;p[q>>3]=+p[q>>3]+ +p[l>>3];break}}while(0);m=j;q=(k[n>>2]|0)+32|0;n=q;n=zR(k[n>>2]|0,k[n+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[q>>2]=n;k[q+4>>2]=L;r=o;return}function Id(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(!(Jd(k[b>>2]|0,18213,7)|0))k[b>>2]=(k[b>>2]|0)+7;a=Tf(k[b>>2]|0)|0;k[d>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=7){b=9;break}if((Jd(k[b>>2]|0,k[968+(k[c>>2]<<2)>>2]|0,k[d>>2]|0)|0)==0?(Uf(i[(k[968+(k[c>>2]<<2)>>2]|0)+(k[d>>2]|0)>>0]|0)|0)==0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[e>>2]|0;if(!(k[d>>2]|0)){k[i>>2]=(c|0)!=0?-1:0;i=k[i>>2]|0;r=j;return i|0}if(!c){k[i>>2]=1;i=k[i>>2]|0;r=j;return i|0}k[g>>2]=k[d>>2];k[h>>2]=k[e>>2];while(1){e=k[f>>2]|0;k[f>>2]=e+-1;if((e|0)<=0)break;if(!(l[k[g>>2]>>0]|0))break;if((l[18221+(l[k[g>>2]>>0]|0)>>0]|0|0)!=(l[18221+(l[k[h>>2]>>0]|0)>>0]|0|0))break;k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)<0)c=0;else c=(l[18221+(l[k[g>>2]>>0]|0)>>0]|0)-(l[18221+(l[k[h>>2]>>0]|0)>>0]|0)|0;k[i>>2]=c;i=k[i>>2]|0;r=j;return i|0}function Kd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)>=0&(k[c>>2]|0)<7){k[b>>2]=k[968+(k[c>>2]<<2)>>2];a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ld(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[f>>2]|0)<0|(k[f>>2]|0)>=10){j=Vf(16513)|0;k[e>>2]=j;j=k[e>>2]|0;r=l;return j|0}if(i[18477+(k[f>>2]|0)>>0]|0)a=Wf()|0;else a=Xf()|0;k[l>>2]=a;g=k[g>>2]|0;k[g>>2]=k[996+(k[f>>2]<<2)>>2];k[g+4>>2]=0;h=k[h>>2]|0;k[h>>2]=k[1036+(k[f>>2]<<2)>>2];k[h+4>>2]=0;if(k[j>>2]|0)k[1036+(k[f>>2]<<2)>>2]=k[996+(k[f>>2]<<2)>>2];k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=0;a=Nd()|0;k[f>>2]=a;if(k[f>>2]|0){k[b>>2]=0;f=k[b>>2]|0;r=e;return f|0}k[d>>2]=k[269];while(1){if((k[d>>2]|0)==0|(k[c>>2]|0)==0)break;if(!(RQ(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0))break;k[d>>2]=k[(k[d>>2]|0)+12>>2]}k[b>>2]=k[d>>2];f=k[b>>2]|0;r=e;return f|0}function Nd(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+4|0;b=d;if(k[59]|0){k[a>>2]=0;e=k[a>>2]|0;r=d;return e|0}k[b>>2]=0;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}k[61]=1;if(!(k[62]|0)){e=cg()|0;k[b>>2]=e}if(((k[b>>2]|0)==0?(k[62]=1,(k[65]|0)==0):0)?(k[65]=8,!((k[3]|0)==0|(k[65]|0)!=0)):0)k[b>>2]=7;if(!(k[b>>2]|0))k[64]=(k[64]|0)+1;if(k[b>>2]|0){k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}if((k[59]|0)==0&(k[60]|0)==0){k[60]=1;c=1080;e=c+92|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(e|0));dg();if(!(k[63]|0)){e=eg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){k[63]=1;e=fg()|0;k[b>>2]=e}if(!(k[b>>2]|0)){gg(k[53]|0,k[54]|0,k[55]|0);k[59]=1}k[60]=0}k[64]=(k[64]|0)+-1;if((k[64]|0)<=0)k[65]=0;k[a>>2]=k[b>>2];e=k[a>>2]|0;r=d;return e|0}function Od(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;a=Nd()|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];f=k[d>>2]|0;r=g;return f|0}hg(k[e>>2]|0);b=k[269]|0;if((k[f>>2]|0)!=0|(k[269]|0)==0){k[(k[e>>2]|0)+12>>2]=b;k[269]=k[e>>2]}else{k[(k[e>>2]|0)+12>>2]=k[b+12>>2];k[(k[269]|0)+12>>2]=k[e>>2]}k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function Pd(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+48|0;d=h+32|0;e=h+24|0;g=h+16|0;f=h+8|0;c=h;i=h+40|0;j=e;k[j>>2]=a;k[j+4>>2]=b;b=Nd()|0;k[i>>2]=b;if(k[i>>2]|0){i=d;k[i>>2]=-1;k[i+4>>2]=-1;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=288;i=k[b+4>>2]|0;j=g;k[j>>2]=k[b>>2];k[j+4>>2]=i;if((k[e+4>>2]|0)<0){j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}b=e;j=k[b+4>>2]|0;i=288;k[i>>2]=k[b>>2];k[i+4>>2]=j;i=ig(0)|0;j=c;k[j>>2]=i;k[j+4>>2]=L;j=e;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0){j=e;b=k[j+4>>2]|0;a=c;i=k[a+4>>2]|0;a=(b|0)<(i|0)|((b|0)==(i|0)?(k[j>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)}else a=0;k[77]=a&1;j=Rd()|0;i=e;i=yR(j|0,L|0,k[i>>2]|0,k[i+4>>2]|0)|0;j=f;k[j>>2]=i;k[j+4>>2]=L;j=f;i=k[j+4>>2]|0;if((i|0)>0|(i|0)==0&(k[j>>2]|0)>>>0>0)Pd(k[f>>2]&2147483647)|0;j=k[g+4>>2]|0;i=d;k[i>>2]=k[g>>2];k[i+4>>2]=j;i=d;j=i;j=k[j>>2]|0;i=i+4|0;i=k[i>>2]|0;L=i;r=h;return j|0}function Rd(){var a=0,b=0;b=r;r=r+16|0;a=b+8|0;Ld(0,a,b,0)|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Sd(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d+4|0;b=d;k[b>>2]=a;if(Nd()|0){k[c>>2]=0;c=k[c>>2]|0;r=d;return c|0}if((k[b>>2]|0)<=0)b=0;else{b=k[b>>2]|0;b=jg(b,((b|0)<0)<<31>>31)|0}k[c>>2]=b;c=k[c>>2]|0;r=d;return c|0}function Td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e;f=d;k[f>>2]=a;k[f+4>>2]=b;if(Nd()|0){k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{f=d;f=jg(k[f>>2]|0,k[f+4>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}return 0}function Ud(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}if(k[2]|0){lg(0,kg(k[b>>2]|0)|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=c;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=c;return}}function Vd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)<0)k[e>>2]=0;a=k[e>>2]|0;a=mg(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(Nd()|0){k[d>>2]=0;a=k[d>>2]|0;r=g;return a|0}else{a=f;a=mg(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[d>>2]=a;a=k[d>>2]|0;r=g;return a|0}return 0}function Xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+128|0;c=h+40|0;d=h+36|0;e=h+32|0;g=h+28|0;f=h;k[d>>2]=a;k[e>>2]=b;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}else{ng(f,0,h+44|0,70,1e9);og(f,k[d>>2]|0,k[e>>2]|0);a=pg(f)|0;k[g>>2]=a;k[c>>2]=k[g>>2];a=k[c>>2]|0;r=h;return a|0}return 0}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+28|0;d=g+24|0;e=g+8|0;f=g;k[d>>2]=a;if(Nd()|0){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}else{k[e>>2]=b;a=Xd(k[d>>2]|0,e)|0;k[f>>2]=a;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}return 0}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+48|0;e=j+44|0;f=j+40|0;l=j+36|0;g=j+32|0;h=j+28|0;i=j;k[f>>2]=a;k[l>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[l>>2]|0;if((k[f>>2]|0)<=0){k[e>>2]=d;l=k[e>>2]|0;r=j;return l|0}else{ng(i,0,d,k[f>>2]|0,0);og(i,k[g>>2]|0,k[h>>2]|0);l=pg(i)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}return 0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;j=f+28|0;i=f+24|0;h=f+20|0;e=f+16|0;g=f;k[j>>2]=a;k[i>>2]=b;k[h>>2]=c;k[g>>2]=d;c=Zd(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,g)|0;k[e>>2]=c;r=f;return k[e>>2]|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+20|0;e=g+16|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[66]|0)){r=g;return}k[f>>2]=c;qg(k[d>>2]|0,k[e>>2]|0,f);r=g;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+288|0;c=j+12|0;d=j+8|0;g=j+272|0;h=j+4|0;e=j;f=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[d>>2];if(Nd()|0){r=j;return}if((k[c>>2]|0)<=0|(k[d>>2]|0)==0){i[18487]=0;r=j;return}if(!(i[18487]|0)){i[18489]=0;i[18488]=0;rg(Md(0)|0,256,f)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[18490+(k[e>>2]|0)>>0]=k[e>>2];k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if((k[e>>2]|0)>=256)break;i[18489]=(l[18489]|0)+((l[18490+(k[e>>2]|0)>>0]|0)+(i[f+(k[e>>2]|0)>>0]|0));i[g>>0]=i[18490+(l[18489]|0)>>0]|0;i[18490+(l[18489]|0)>>0]=i[18490+(k[e>>2]|0)>>0]|0;i[18490+(k[e>>2]|0)>>0]=i[g>>0]|0;k[e>>2]=(k[e>>2]|0)+1}i[18487]=1}do{i[18488]=(i[18488]|0)+1<<24>>24;i[g>>0]=i[18490+(l[18488]|0)>>0]|0;i[18489]=(l[18489]|0)+(l[g>>0]|0);i[18490+(l[18488]|0)>>0]=i[18490+(l[18489]|0)>>0]|0;i[18490+(l[18489]|0)>>0]=i[g>>0]|0;i[g>>0]=(l[g>>0]|0)+(l[18490+(l[18488]|0)>>0]|0);f=i[18490+(l[g>>0]|0)>>0]|0;b=k[h>>2]|0;k[h>>2]=b+1;i[b>>0]=f;b=(k[c>>2]|0)+-1|0;k[c>>2]=b}while((b|0)!=0);r=j;return}function be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;do if(k[d>>2]|0)if(!a){k[c>>2]=1;break}else{e=sg(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=e;break}else k[c>>2]=(a|0)!=0?-1:0;while(0);r=f;return k[c>>2]|0}function ce(){var a=0,b=0;b=r;r=r+16|0;a=b;k[a>>2]=0;while(1){if((k[a>>2]|0)>>>0>=4)break;Od(1172+((k[a>>2]|0)*88|0)|0,(k[a>>2]|0)==0&1)|0;k[a>>2]=(k[a>>2]|0)+1}r=b;return 0}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+112|0;q=E+108|0;c=E+104|0;C=E+100|0;d=E+96|0;B=E+92|0;o=E+88|0;z=E+84|0;x=E+80|0;g=E+76|0;j=E+72|0;s=E+68|0;f=E+64|0;n=E+60|0;h=E+56|0;p=E+52|0;v=E+16|0;y=E+48|0;e=E+44|0;i=E+40|0;u=E+8|0;t=E;m=E+36|0;A=E+32|0;w=E+28|0;D=E+24|0;k[q>>2]=a;k[c>>2]=b;k[B>>2]=0;k[o>>2]=0;wg(k[(k[q>>2]|0)+24>>2]|0);k[C>>2]=k[(k[q>>2]|0)+28>>2];if(xg(k[C>>2]|0)|0){D=k[C>>2]|0;r=E;return D|0}a=Zf(k[(k[q>>2]|0)+24>>2]|0)|0;k[z>>2]=a;a=Zf(k[(k[q>>2]|0)+4>>2]|0)|0;k[x>>2]=a;k[j>>2]=-1;k[s>>2]=0;if((k[k[q>>2]>>2]|0)!=0?(l[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)k[C>>2]=5;else k[C>>2]=0;if((0==(k[C>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==0:0)?(a=yg(k[(k[q>>2]|0)+4>>2]|0,2)|0,k[C>>2]=a,0==(a|0)):0){k[(k[q>>2]|0)+12>>2]=1;zg(k[(k[q>>2]|0)+4>>2]|0,1,(k[q>>2]|0)+8|0)}if((k[C>>2]|0)==0?0==(Ag(k[(k[q>>2]|0)+24>>2]|0)|0):0){a=yg(k[(k[q>>2]|0)+24>>2]|0,0)|0;k[C>>2]=a;k[s>>2]=1}a=Bg(k[(k[q>>2]|0)+24>>2]|0)|0;k[B>>2]=a;a=Bg(k[(k[q>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=Cg(Zf(k[(k[q>>2]|0)+4>>2]|0)|0)|0;k[d>>2]=a;if(0==(k[C>>2]|0)&(k[d>>2]|0)==5?(k[B>>2]|0)!=(k[o>>2]|0):0)k[C>>2]=8;a=Dg(k[(k[q>>2]|0)+24>>2]|0)|0;k[j>>2]=a;k[g>>2]=0;while(1){if((k[c>>2]|0)>=0?(k[g>>2]|0)>=(k[c>>2]|0):0)break;if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0)break;if(!((k[C>>2]|0)!=0^1))break;k[f>>2]=k[(k[q>>2]|0)+16>>2];if((k[f>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(a=Eg(k[z>>2]|0,k[f>>2]|0,n,2)|0,k[C>>2]=a,(k[C>>2]|0)==0):0){b=k[q>>2]|0;a=k[f>>2]|0;a=Gg(b,a,Fg(k[n>>2]|0)|0,0)|0;k[C>>2]=a;Hg(k[n>>2]|0)}a=(k[q>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}do if(!(k[C>>2]|0)){k[(k[q>>2]|0)+36>>2]=k[j>>2];k[(k[q>>2]|0)+32>>2]=(k[j>>2]|0)+1-(k[(k[q>>2]|0)+16>>2]|0);if((k[(k[q>>2]|0)+16>>2]|0)>>>0>(k[j>>2]|0)>>>0){k[C>>2]=101;break}if(!(k[(k[q>>2]|0)+40>>2]|0))Ig(k[q>>2]|0)}while(0);if((k[C>>2]|0)==101){if(!(k[j>>2]|0)){n=Jg(k[(k[q>>2]|0)+4>>2]|0)|0;k[C>>2]=n;k[j>>2]=1}if((k[C>>2]|0)==0|(k[C>>2]|0)==101){n=Kg(k[(k[q>>2]|0)+4>>2]|0,1,(k[(k[q>>2]|0)+8>>2]|0)+1|0)|0;k[C>>2]=n}if(!(k[C>>2]|0)){if(k[k[q>>2]>>2]|0)Lg(k[k[q>>2]>>2]|0);if((k[d>>2]|0)==5){n=Mg(k[(k[q>>2]|0)+4>>2]|0,2)|0;k[C>>2]=n}}if(!(k[C>>2]|0)){if((k[B>>2]|0)<(k[o>>2]|0)){k[p>>2]=(k[o>>2]|0)/(k[B>>2]|0)|0;k[h>>2]=((k[j>>2]|0)+(k[p>>2]|0)-1|0)/(k[p>>2]|0)|0;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+-1}else{p=ha(k[j>>2]|0,(k[B>>2]|0)/(k[o>>2]|0)|0)|0;k[h>>2]=p}if((k[B>>2]|0)<(k[o>>2]|0)){p=k[B>>2]|0;n=k[j>>2]|0;n=KR(p|0,((p|0)<0)<<31>>31|0,n|0,((n|0)<0)<<31>>31|0)|0;p=v;k[p>>2]=n;k[p+4>>2]=L;p=Ng(k[x>>2]|0)|0;k[y>>2]=p;Og(k[x>>2]|0,i);k[e>>2]=k[h>>2];while(1){if(k[C>>2]|0)break;if((k[e>>2]|0)>>>0>(k[i>>2]|0)>>>0)break;do if((k[e>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){p=Eg(k[x>>2]|0,k[e>>2]|0,m,0)|0;k[C>>2]=p;if(k[C>>2]|0)break;p=Pg(k[m>>2]|0)|0;k[C>>2]=p;Hg(k[m>>2]|0)}while(0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[C>>2]|0)){p=Qg(k[x>>2]|0,0,1)|0;k[C>>2]=p}n=(k[381]|0)+(k[o>>2]|0)|0;a=((n|0)<0)<<31>>31;p=v;m=k[p+4>>2]|0;if((a|0)<(m|0)|((a|0)==(m|0)?n>>>0<(k[p>>2]|0)>>>0:0)){d=(k[381]|0)+(k[o>>2]|0)|0;c=d;d=((d|0)<0)<<31>>31}else{d=v;c=k[d>>2]|0;d=k[d+4>>2]|0}o=t;k[o>>2]=c;k[o+4>>2]=d;o=(k[381]|0)+(k[B>>2]|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=((o|0)<0)<<31>>31;while(1){if(k[C>>2]|0)break;o=u;m=k[o+4>>2]|0;p=t;n=k[p+4>>2]|0;if(!((m|0)<(n|0)|((m|0)==(n|0)?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0)))break;k[A>>2]=0;o=u;p=k[B>>2]|0;p=IR(k[o>>2]|0,k[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=zR(p|0,L|0,1,0)|0;k[w>>2]=p;p=Eg(k[z>>2]|0,k[w>>2]|0,A,0)|0;k[C>>2]=p;if(!(k[C>>2]|0)){p=Fg(k[A>>2]|0)|0;k[D>>2]=p;p=u;p=Rg(k[y>>2]|0,k[D>>2]|0,k[B>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[C>>2]=p}Hg(k[A>>2]|0);o=k[B>>2]|0;p=u;o=zR(k[p>>2]|0,k[p+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;p=u;k[p>>2]=o;k[p+4>>2]=L}if(!(k[C>>2]|0)){D=v;D=Sg(k[y>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Tg(k[x>>2]|0,0)|0;k[C>>2]=D}}else{Ug(k[x>>2]|0,k[h>>2]|0);D=Qg(k[x>>2]|0,0,0)|0;k[C>>2]=D}if(!(k[C>>2]|0)){D=Vg(k[(k[q>>2]|0)+4>>2]|0,0)|0;k[C>>2]=D;k[C>>2]=0==(D|0)?101:D}}}if(k[s>>2]|0){Wg(k[(k[q>>2]|0)+24>>2]|0,0)|0;Vg(k[(k[q>>2]|0)+24>>2]|0,0)|0}if((k[C>>2]|0)==3082)k[C>>2]=7;k[(k[q>>2]|0)+28>>2]=k[C>>2];D=k[C>>2]|0;r=E;return D|0}function ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;b=g+8|0;e=g+4|0;f=g;k[d>>2]=a;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}k[e>>2]=k[(k[d>>2]|0)+20>>2];wg(k[(k[d>>2]|0)+24>>2]|0);if(k[k[d>>2]>>2]|0){a=(k[(k[d>>2]|0)+24>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1}if(k[(k[d>>2]|0)+40>>2]|0){a=Xg(Zf(k[(k[d>>2]|0)+24>>2]|0)|0)|0;k[b>>2]=a;while(1){if((k[k[b>>2]>>2]|0)==(k[d>>2]|0))break;k[b>>2]=(k[k[b>>2]>>2]|0)+44}k[k[b>>2]>>2]=k[(k[d>>2]|0)+44>>2]}Yg(k[(k[d>>2]|0)+4>>2]|0,0,0)|0;if((k[(k[d>>2]|0)+28>>2]|0)==101)a=0;else a=k[(k[d>>2]|0)+28>>2]|0;k[f>>2]=a;if(k[k[d>>2]>>2]|0){vg(k[k[d>>2]>>2]|0,k[f>>2]|0);Zg(k[k[d>>2]>>2]|0)}if(k[k[d>>2]>>2]|0)Ud(k[d>>2]|0);Zg(k[e>>2]|0);k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}function fe(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+168>>2]|0;r=c;return d|0}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;if(!(k[c>>2]|0))k[e>>2]=0;else{k[f>>2]=k[c>>2];k[d>>2]=k[k[f>>2]>>2];if(_g(k[f>>2]|0)|0){f=Vf(72615)|0;k[b>>2]=f;f=k[b>>2]|0;r=g;return f|0}a=(k[f>>2]|0)+128|0;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0)$g(k[d>>2]|0,k[f>>2]|0);f=ah(k[f>>2]|0)|0;k[e>>2]=f;f=bh(k[d>>2]|0,k[e>>2]|0)|0;k[e>>2]=f;Zg(k[d>>2]|0)}k[b>>2]=k[e>>2];f=k[b>>2]|0;r=g;return f|0}function he(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=0;e=k[d>>2]|0;r=f;return e|0}k[e>>2]=k[b>>2];k[c>>2]=k[k[e>>2]>>2];a=(k[e>>2]|0)+128|0;b=k[a+4>>2]|0;if((b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0)$g(k[c>>2]|0,k[e>>2]|0);a=ch(k[e>>2]|0)|0;k[d>>2]=a;dh(k[e>>2]|0);e=bh(k[c>>2]|0,k[d>>2]|0)|0;k[d>>2]=e;e=k[d>>2]|0;r=f;return e|0}function ie(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;d=e+4|0;c=e;k[f>>2]=a;k[d>>2]=0;k[c>>2]=k[f>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(j[(k[c>>2]|0)+68>>1]|0))break;eh((k[(k[c>>2]|0)+60>>2]|0)+((k[b>>2]|0)*40|0)|0);j[(k[(k[c>>2]|0)+60>>2]|0)+((k[b>>2]|0)*40|0)+8>>1]=1;k[b>>2]=(k[b>>2]|0)+1}if(!((l[(k[c>>2]|0)+89>>0]|0)>>>7&255)){f=k[d>>2]|0;r=e;return f|0}if(!(k[(k[c>>2]|0)+188>>2]|0)){f=k[d>>2]|0;r=e;return f|0}f=(k[c>>2]|0)+87|0;i[f>>0]=i[f>>0]&-2|1;f=k[d>>2]|0;r=e;return f|0}function je(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){a=ke(k[b>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}if(fh(k[c>>2]|0)|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|16;if(k[(k[c>>2]|0)+12>>2]|0)b=k[(k[c>>2]|0)+16>>2]|0;else b=0;k[d>>2]=b;d=k[d>>2]|0;r=e;return d|0}function ke(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=gh(k[c>>2]|0,1)|0;r=b;return a|0}function le(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=hh(k[c>>2]|0,1)|0;r=b;return a|0}function me(a){a=a|0;var b=0.0,c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;b=+ih(k[d>>2]|0);r=c;return +b}function ne(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jh(k[c>>2]|0)|0;r=b;return a|0}function oe(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=jh(k[c>>2]|0)|0;r=b;return a|0}function pe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[18746+((m[(k[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;mh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0,k[f>>2]|0);r=e;return}function re(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;b=h;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){nh(k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;r=j;return}else{mh(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,k[i>>2]|0);r=j;return}}function se(a,b){a=a|0;b=+b;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;p[d>>3]=b;oh(k[k[e>>2]>>2]|0,+p[d>>3]);r=c;return}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[g>>2]|0)+20>>2]=1;i[(k[g>>2]|0)+25>>0]=1;ph(k[k[g>>2]>>2]|0,k[f>>2]|0,k[e>>2]|0,1,-1)|0;r=d;return}function ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=k[e>>2]|0;qh(k[k[d>>2]>>2]|0,a,((a|0)<0)<<31>>31);r=c;return}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;qh(k[k[e>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=d;return}function we(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rh(k[k[c>>2]>>2]|0);r=b;return}function xe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;mh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1,k[f>>2]|0);r=e;return}function ye(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,m=0,n=0,o=0;o=r;r=r+32|0;g=o+16|0;h=o+12|0;j=o;m=o+8|0;n=o+20|0;k[g>>2]=a;k[h>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[m>>2]=e;i[n>>0]=f;if((l[n>>0]|0)==4)i[n>>0]=(i[960]|0)==0?3:2;b=j;e=k[b+4>>2]|0;if(e>>>0>0|(e|0)==0&(k[b>>2]|0)>>>0>2147483647){nh(k[h>>2]|0,k[m>>2]|0,k[g>>2]|0)|0;r=o;return}else{mh(k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0);r=o;return}}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;sh(k[k[e>>2]>>2]|0,k[d>>2]|0)|0;r=c;return}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g;i=g+8|0;k[e>>2]=a;h=f;k[h>>2]=b;k[h+4>>2]=c;k[i>>2]=k[k[e>>2]>>2];c=f;h=k[c+4>>2]|0;a=k[(k[(k[i>>2]|0)+32>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if(h>>>0>b>>>0|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){k[d>>2]=18;i=k[d>>2]|0;r=g;return i|0}else{th(k[k[e>>2]>>2]|0,k[f>>2]|0);k[d>>2]=0;i=k[d>>2]|0;r=g;return i|0}return 0}function Be(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+20>>2]=k[d>>2];i[(k[c>>2]|0)+25>>0]=1;if(!((m[(k[k[c>>2]>>2]|0)+8>>1]|0)&1)){r=e;return}a=k[k[c>>2]>>2]|0;ph(a,uh(k[d>>2]|0)|0,-1,1,0)|0;r=e;return}function Ce(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+20>>2]=18;i[(k[c>>2]|0)+25>>0]=1;ph(k[k[c>>2]>>2]|0,18778,-1,1,0)|0;r=b;return}function De(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rh(k[k[c>>2]>>2]|0);k[(k[c>>2]|0)+20>>2]=7;i[(k[c>>2]|0)+25>>0]=1;vh(k[(k[k[c>>2]>>2]|0)+32>>2]|0);r=b;return}function Ee(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;b=m+32|0;c=m+28|0;f=m+24|0;g=m+20|0;j=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;l=m;k[c>>2]=a;k[f>>2]=0;k[g>>2]=0;k[j>>2]=k[c>>2];k[d>>2]=0;if(wh(k[j>>2]|0)|0){l=Vf(73166)|0;k[b>>2]=l;l=k[b>>2]|0;r=m;return l|0}k[e>>2]=k[k[j>>2]>>2];a=(k[j>>2]|0)+87|0;i[a>>0]=i[a>>0]&-3;while(1){a=xh(k[j>>2]|0)|0;k[f>>2]=a;if((a|0)!=17)break;a=k[d>>2]|0;k[d>>2]=a+1;if((a|0)>=50)break;k[h>>2]=k[(k[j>>2]|0)+76>>2];a=yh(k[j>>2]|0)|0;k[f>>2]=a;k[g>>2]=a;if(k[f>>2]|0)break;he(k[c>>2]|0)|0;if((k[h>>2]|0)<0)continue;a=(k[j>>2]|0)+87|0;i[a>>0]=i[a>>0]&-3|2}do if(k[g>>2]|0){h=ke(k[(k[e>>2]|0)+240>>2]|0)|0;k[l>>2]=h;bg(k[e>>2]|0,k[(k[j>>2]|0)+44>>2]|0);if(i[(k[e>>2]|0)+69>>0]|0){k[(k[j>>2]|0)+44>>2]=0;k[f>>2]=7;k[(k[j>>2]|0)+80>>2]=7;break}else{l=zh(k[e>>2]|0,k[l>>2]|0)|0;k[(k[j>>2]|0)+44>>2]=l;k[(k[j>>2]|0)+80>>2]=k[g>>2];break}}while(0);l=bh(k[e>>2]|0,k[f>>2]|0)|0;k[f>>2]=l;k[b>>2]=k[f>>2];l=k[b>>2]|0;r=m;return l|0}function Fe(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+4>>2]|0}function Ge(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[k[b>>2]>>2]|0)+32>>2]|0}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;b=k[f>>2]|0;if(!((m[(k[(k[f>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){f=Ah(b,k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=k[(k[b+8>>2]|0)+16>>2];f=k[c>>2]|0;r=e;return f|0}return 0}function Ie(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=m[(k[b>>2]|0)+84>>1]|0;r=c;return d|0}function Je(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=k[e>>2];if((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[b>>2]=m[(k[c>>2]|0)+84>>1];e=k[b>>2]|0;r=d;return e|0}k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=je(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=le(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;d=r;r=r+16|0;e=d+12|0;g=d+8|0;c=d;k[e>>2]=a;k[g>>2]=b;f=+me(Ch(k[e>>2]|0,k[g>>2]|0)|0);p[c>>3]=f;Dh(k[e>>2]|0);r=d;return +(+p[c>>3])}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ne(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+12|0;f=c+8|0;d=c;k[e>>2]=a;k[f>>2]=b;b=oe(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;a=d;k[a>>2]=b;k[a+4>>2]=L;Dh(k[e>>2]|0);a=d;L=k[a+4>>2]|0;r=c;return k[a>>2]|0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=ke(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Ch(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(!((m[(k[d>>2]|0)+8>>1]|0)&2048)){f=k[c>>2]|0;Dh(f);f=k[d>>2]|0;r=e;return f|0}f=(k[d>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-2049;f=(k[d>>2]|0)+8|0;j[f>>1]=m[f>>1]|0|4096;f=k[c>>2]|0;Dh(f);f=k[d>>2]|0;r=e;return f|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;c=d;k[e>>2]=a;k[f>>2]=b;a=pe(Ch(k[e>>2]|0,k[f>>2]|0)|0)|0;k[c>>2]=a;Dh(k[e>>2]|0);r=d;return k[c>>2]|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=Eh(k[e>>2]|0,k[d>>2]|0,169,0)|0;r=c;return a|0}function Te(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Fh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,0)|0;r=f;return c|0}function Ue(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;d=h+16|0;e=h;g=h+12|0;f=h+8|0;k[i>>2]=a;k[d>>2]=b;p[e>>3]=c;k[f>>2]=k[i>>2];a=Gh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}oh((k[(k[f>>2]|0)+60>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,+p[e>>3]);i=k[g>>2]|0;r=h;return i|0}function Ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;a=We(k[f>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;r=d;return a|0}function We(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i+16|0;f=i;h=i+12|0;g=i+8|0;k[j>>2]=a;k[e>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=k[j>>2];a=Gh(k[g>>2]|0,k[e>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=f;qh((k[(k[g>>2]|0)+60>>2]|0)+(((k[e>>2]|0)-1|0)*40|0)|0,k[j>>2]|0,k[j+4>>2]|0);j=k[h>>2]|0;r=i;return j|0}function Xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[g>>2];a=Gh(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function Ye(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=Fh(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,1)|0;r=f;return c|0}function Ze(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;switch(pe(k[f>>2]|0)|0){case 1:{f=k[f>>2]|0;f=We(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 2:{f=Ue(k[d>>2]|0,k[e>>2]|0,+p[k[f>>2]>>3])|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}case 4:{a=k[d>>2]|0;d=k[e>>2]|0;b=k[f>>2]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16384){f=_e(a,d,k[b>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}else{f=Te(a,d,k[b+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}case 3:{f=Fh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0,-1,i[(k[f>>2]|0)+10>>0]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}default:{f=Xe(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=f;g=k[g>>2]|0;r=h;return g|0}}return 0}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[i>>2];a=Gh(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}th((k[(k[f>>2]|0)+60>>2]|0)+(((k[d>>2]|0)-1|0)*40|0)|0,k[e>>2]|0);i=k[g>>2]|0;r=h;return i|0}function $e(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}d=j[(k[b>>2]|0)+68>>1]|0;r=c;return d|0}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;b=Hh(a,b,Tf(k[d>>2]|0)|0)|0;r=c;return b|0}function bf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=pe(k[b>>2]|0)|0;k[c>>2]=a;if((k[c>>2]|0)!=3){a=k[c>>2]|0;r=e;return a|0}k[d>>2]=k[b>>2];Jh(k[d>>2]|0,0);a=pe(k[b>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=e;return a|0}function cf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;n=Q+128|0;o=Q+124|0;G=Q+120|0;p=Q;q=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[G>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[H>>2]=h;k[x>>2]=0;k[K>>2]=0;k[O>>2]=0;k[J>>2]=0;k[I>>2]=0;k[k[H>>2]>>2]=0;k[q>>2]=((k[q>>2]|0)!=0^1^1)&1;c=Bh(k[F>>2]|0,28,0)|0;k[I>>2]=c;a:do if((k[I>>2]|0)!=0?(c=Kh(k[F>>2]|0,544,0)|0,k[J>>2]=c,(k[J>>2]|0)!=0):0){while(1){DR(k[J>>2]|0,0,544)|0;k[k[J>>2]>>2]=k[F>>2];bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=0;Yf(k[F>>2]|0);c=Lh(k[J>>2]|0,0,k[o>>2]|0,k[n>>2]|0)|0;k[A>>2]=c;if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&16|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[C>>2]=k[o>>2];Mh(c,18801,C)}if((k[A>>2]|0)!=0?(l[(k[A>>2]|0)+42>>0]&32|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[D>>2]=k[o>>2];Mh(c,18831,D)}if((k[A>>2]|0)!=0?(k[(k[A>>2]|0)+12>>2]|0)!=0:0){k[A>>2]=0;c=k[J>>2]|0;k[E>>2]=k[o>>2];Mh(c,18867,E)}if(!(k[A>>2]|0)){e=13;break}k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;if(!(sg(k[(k[(k[A>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0,k[G>>2]|0)|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(j[(k[A>>2]|0)+34>>1]|0)){e=21;break}if(k[q>>2]|0){k[P>>2]=0;b:do if(k[(k[F>>2]|0)+24>>2]&524288){k[y>>2]=k[(k[A>>2]|0)+16>>2];while(1){if(!(k[y>>2]|0))break b;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[(k[y>>2]|0)+20>>2]|0))break;if((k[(k[y>>2]|0)+36+(k[v>>2]<<3)>>2]|0)==(k[t>>2]|0))k[P>>2]=18909;k[v>>2]=(k[v>>2]|0)+1}k[y>>2]=k[(k[y>>2]|0)+4>>2]}}while(0);k[z>>2]=k[(k[A>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[z>>2]|0)+50>>1]|0))break;if(!((j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=(k[t>>2]|0)?(j[(k[(k[z>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0)!=-2:0))k[P>>2]=18921;k[w>>2]=(k[w>>2]|0)+1}k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(k[P>>2]|0){e=42;break}}c=Oh(k[J>>2]|0)|0;k[(k[I>>2]|0)+20>>2]=c;if(k[(k[I>>2]|0)+20>>2]|0){k[B>>2]=k[(k[I>>2]|0)+20>>2];c=Ph(k[F>>2]|0,k[(k[A>>2]|0)+64>>2]|0)|0;k[u>>2]=c;Qh(k[B>>2]|0,2,k[u>>2]|0,k[q>>2]|0,k[k[(k[A>>2]|0)+64>>2]>>2]|0,k[(k[(k[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Rh(k[B>>2]|0,1);c=Sh(k[B>>2]|0,9,18963,0)|0;k[s>>2]=c;Th(k[B>>2]|0,k[u>>2]|0);if(!(l[(k[F>>2]|0)+69>>0]|0)){k[(k[s>>2]|0)+4>>2]=k[u>>2];k[(k[s>>2]|0)+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+12>>2]=k[q>>2];Uh(k[B>>2]|0,1,k[k[A>>2]>>2]|0,0)}if(!(l[(k[F>>2]|0)+69>>0]|0)){if(k[q>>2]|0)i[(k[s>>2]|0)+20>>0]=55;k[(k[s>>2]|0)+20+8>>2]=k[(k[A>>2]|0)+28>>2];k[(k[s>>2]|0)+20+12>>2]=k[u>>2];i[(k[s>>2]|0)+20+1>>0]=-14;k[(k[s>>2]|0)+20+16>>2]=(j[(k[A>>2]|0)+34>>1]|0)+1;k[(k[s>>2]|0)+80+8>>2]=j[(k[A>>2]|0)+34>>1];j[(k[J>>2]|0)+444>>1]=1;k[(k[J>>2]|0)+76>>2]=1;k[(k[J>>2]|0)+72>>2]=1;Vh(k[B>>2]|0,k[J>>2]|0)}}k[k[I>>2]>>2]=k[q>>2];k[(k[I>>2]|0)+12>>2]=k[t>>2];k[(k[I>>2]|0)+24>>2]=k[F>>2];if(i[(k[F>>2]|0)+69>>0]|0)break a;c=p;We(k[(k[I>>2]|0)+20>>2]|0,1,k[c>>2]|0,k[c+4>>2]|0)|0;c=p;c=Wh(k[I>>2]|0,k[c>>2]|0,k[c+4>>2]|0,O)|0;k[K>>2]=c;c=(k[x>>2]|0)+1|0;k[x>>2]=c;if(!((c|0)<50?(k[K>>2]|0)==17:0))break a}if((e|0)==13){if(k[(k[J>>2]|0)+4>>2]|0){bg(k[F>>2]|0,k[O>>2]|0);k[O>>2]=k[(k[J>>2]|0)+4>>2];k[(k[J>>2]|0)+4>>2]=0}k[K>>2]=1;break}else if((e|0)==21){bg(k[F>>2]|0,k[O>>2]|0);P=k[F>>2]|0;k[N>>2]=k[G>>2];P=Nh(P,18888,N)|0;k[O>>2]=P;k[K>>2]=1;break}else if((e|0)==42){bg(k[F>>2]|0,k[O>>2]|0);N=k[F>>2]|0;k[L>>2]=k[P>>2];P=Nh(N,18929,L)|0;k[O>>2]=P;k[K>>2]=1;break}}while(0);if((k[K>>2]|0)==0?(l[(k[F>>2]|0)+69>>0]|0)==0:0){k[k[H>>2]>>2]=k[I>>2];L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?18999:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Xh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=bh(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}if((k[I>>2]|0)!=0?(k[(k[I>>2]|0)+20>>2]|0)!=0:0)ah(k[(k[I>>2]|0)+20>>2]|0)|0;bg(k[F>>2]|0,k[I>>2]|0);L=k[F>>2]|0;P=k[K>>2]|0;N=k[O>>2]|0;N=(N|0)!=0;N=N?18999:0;I=k[O>>2]|0;k[M>>2]=I;tg(L,P,N,M);N=k[F>>2]|0;P=k[O>>2]|0;bg(N,P);P=k[J>>2]|0;Xh(P);P=k[F>>2]|0;O=k[J>>2]|0;bg(P,O);O=k[F>>2]|0;P=k[K>>2]|0;P=bh(O,P)|0;k[K>>2]=P;P=k[K>>2]|0;r=Q;return P|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];if(k[c>>2]|0){k[b>>2]=k[(k[c>>2]|0)+24>>2];f=ge(k[(k[c>>2]|0)+20>>2]|0)|0;k[d>>2]=f;bg(k[b>>2]|0,k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}return 0}function ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=Zh(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,138)|0;r=e;return b|0}function ff(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){d=0;r=c;return d|0}if(!(k[(k[b>>2]|0)+20>>2]|0)){d=0;r=c;return d|0}d=k[(k[b>>2]|0)+4>>2]|0;r=c;return d|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;i=l+8|0;d=l+32|0;m=l+28|0;e=l;h=l+24|0;g=l+20|0;f=l+16|0;j=l+12|0;k[m>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=k[m>>2];if(!(k[g>>2]|0)){m=Vf(81809)|0;k[d>>2]=m;m=k[d>>2]|0;r=l;return m|0}k[f>>2]=k[(k[g>>2]|0)+24>>2];if(k[(k[g>>2]|0)+20>>2]|0){m=e;m=Wh(k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0,j)|0;k[h>>2]=m;if(k[h>>2]|0){g=k[f>>2]|0;a=k[h>>2]|0;m=(k[j>>2]|0)!=0?18999:0;k[i>>2]=k[j>>2];tg(g,a,m,i);bg(k[f>>2]|0,k[j>>2]|0)}}else k[h>>2]=4;m=bh(k[f>>2]|0,k[h>>2]|0)|0;k[h>>2]=m;k[d>>2]=k[h>>2];m=k[d>>2]|0;r=l;return m|0}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=($h(k[e>>2]|0,k[d>>2]|0,19002,91)|0)==0&1;r=c;return b|0}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=($h(k[g>>2]|0,k[f>>2]|0,19006,k[e>>2]|0)|0)==0&1;r=d;return b|0}function kf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+56|0;g=z+52|0;h=z+48|0;j=z+44|0;m=z+40|0;n=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;o=z+20|0;q=z+16|0;t=z+12|0;p=z+8|0;s=z+4|0;u=z;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[w>>2]=0;k[v>>2]=0;k[o>>2]=0;if(!(ai(k[g>>2]|0)|0)){y=Vf(105726)|0;k[f>>2]=y;y=k[f>>2]|0;r=z;return y|0}if(!(k[h>>2]|0))k[h>>2]=19010;vg(k[g>>2]|0,0);a:while(1){if(k[w>>2]|0)break;if(!(i[k[h>>2]>>0]|0))break;k[p>>2]=0;k[v>>2]=0;b=lf(k[g>>2]|0,k[h>>2]|0,-1,v,x)|0;k[w>>2]=b;if(k[w>>2]|0)continue;if(!(k[v>>2]|0)){k[h>>2]=k[x>>2];continue}k[q>>2]=0;b=Ie(k[v>>2]|0)|0;k[t>>2]=b;do{b=Ee(k[v>>2]|0)|0;k[w>>2]=b;do if(k[j>>2]|0){if(100!=(k[w>>2]|0)){if(101!=(k[w>>2]|0)|(k[q>>2]|0)!=0)break;if(!(k[(k[g>>2]|0)+24>>2]&256))break}if(!(k[q>>2]|0)){b=Bh(k[g>>2]|0,(k[t>>2]<<1<<2)+1|0,0)|0;k[o>>2]=b;if(!(k[o>>2]|0))break a;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break;b=Se(k[v>>2]|0,k[s>>2]|0)|0;k[(k[o>>2]|0)+(k[s>>2]<<2)>>2]=b;k[s>>2]=(k[s>>2]|0)+1}k[q>>2]=1}b:do if((k[w>>2]|0)==100){k[p>>2]=(k[o>>2]|0)+(k[t>>2]<<2);k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[t>>2]|0))break b;b=Pe(k[v>>2]|0,k[s>>2]|0)|0;k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]=b;if((k[(k[p>>2]|0)+(k[s>>2]<<2)>>2]|0)==0?(Re(k[v>>2]|0,k[s>>2]|0)|0)!=5:0){y=27;break a}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(ec[k[j>>2]&255](k[m>>2]|0,k[t>>2]|0,k[p>>2]|0,k[o>>2]|0)|0){y=30;break a}}while(0)}while((k[w>>2]|0)==100);b=ah(k[v>>2]|0)|0;k[w>>2]=b;k[v>>2]=0;k[h>>2]=k[x>>2];while(1){if(!(l[19011+(l[k[h>>2]>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}bg(k[g>>2]|0,k[o>>2]|0);k[o>>2]=0}if((y|0)==27)vh(k[g>>2]|0);else if((y|0)==30){k[w>>2]=4;ah(k[v>>2]|0)|0;k[v>>2]=0;vg(k[g>>2]|0,4)}if(k[v>>2]|0)ah(k[v>>2]|0)|0;bg(k[g>>2]|0,k[o>>2]|0);y=bh(k[g>>2]|0,k[w>>2]|0)|0;k[w>>2]=y;do if((k[w>>2]|0)!=0&(k[n>>2]|0)!=0){y=1+(Tf(mf(k[g>>2]|0)|0)|0)|0;k[u>>2]=y;y=k[u>>2]|0;y=jg(y,((y|0)<0)<<31>>31)|0;k[k[n>>2]>>2]=y;if(k[k[n>>2]>>2]|0){b=k[k[n>>2]>>2]|0;y=mf(k[g>>2]|0)|0;BR(b|0,y|0,k[u>>2]|0)|0;break}else{k[w>>2]=7;vg(k[g>>2]|0,7);break}}else if(k[n>>2]|0)k[k[n>>2]>>2]=0;while(0);k[f>>2]=k[w>>2];y=k[f>>2]|0;r=z;return y|0}function lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=bi(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,1,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function mf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){d=uh(7)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(ci(k[c>>2]|0)|0)){d=uh(Vf(135352)|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}if(!(i[(k[c>>2]|0)+69>>0]|0)){a=ke(k[(k[c>>2]|0)+240>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=uh(k[(k[c>>2]|0)+52>>2]|0)|0;k[d>>2]=a}}else{a=uh(7)|0;k[d>>2]=a}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function nf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=bi(k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0,0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=di(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return b|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;b=di(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return b|0}function qf(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;p=r;r=r+48|0;n=p;c=p+32|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;m=p+12|0;h=p+8|0;o=p+4|0;k[d>>2]=a;k[e>>2]=b;k[m>>2]=0;k[o>>2]=0;k[f>>2]=k[(k[d>>2]|0)+336>>2];if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)==0:0){k[h>>2]=k[(k[f>>2]|0)+4>>2];b=Bh(k[d>>2]|0,544,0)|0;k[g>>2]=b;if(!(k[g>>2]|0))k[m>>2]=7;else{i[(k[g>>2]|0)+454>>0]=1;k[k[g>>2]>>2]=k[d>>2];k[(k[g>>2]|0)+428>>2]=1;if((((0==(ei(k[g>>2]|0,k[e>>2]|0,o)|0)?(k[(k[g>>2]|0)+488>>2]|0)!=0:0)?(i[(k[d>>2]|0)+69>>0]|0)==0:0)?(k[(k[(k[g>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(l[(k[(k[g>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(k[(k[h>>2]|0)+4>>2]|0)){k[(k[h>>2]|0)+4>>2]=k[(k[(k[g>>2]|0)+488>>2]|0)+4>>2];j[(k[h>>2]|0)+34>>1]=j[(k[(k[g>>2]|0)+488>>2]|0)+34>>1]|0;j[(k[(k[g>>2]|0)+488>>2]|0)+34>>1]=0;k[(k[(k[g>>2]|0)+488>>2]|0)+4>>2]=0}k[(k[f>>2]|0)+12>>2]=1}else{h=k[d>>2]|0;b=(k[o>>2]|0)!=0?18999:0;k[n>>2]=k[o>>2];tg(h,1,b,n);bg(k[d>>2]|0,k[o>>2]|0);k[m>>2]=1}i[(k[g>>2]|0)+454>>0]=0;if(k[(k[g>>2]|0)+8>>2]|0)ah(k[(k[g>>2]|0)+8>>2]|0)|0;$f(k[d>>2]|0,k[(k[g>>2]|0)+488>>2]|0);Xh(k[g>>2]|0);bg(k[d>>2]|0,k[g>>2]|0)}o=bh(k[d>>2]|0,k[m>>2]|0)|0;k[m>>2]=o;k[c>>2]=k[m>>2];o=k[c>>2]|0;r=p;return o|0}vg(k[d>>2]|0,21);o=Vf(119383)|0;k[c>>2]=o;o=k[c>>2]|0;r=p;return o|0}function rf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[19267+((l[(k[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function sf(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;h=r;r=r+32|0;d=h+28|0;j=h+24|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[j>>2]=b;k[g>>2]=0;k[e>>2]=c;do if((k[j>>2]|0)==1){k[f>>2]=k[(k[d>>2]|0)+336>>2];if(k[f>>2]|0){c=(k[e>>2]|0)+(4-1)&~(4-1);j=k[c>>2]|0;k[e>>2]=c+4;i[(k[k[f>>2]>>2]|0)+16>>0]=j;break}else{j=Vf(119834)|0;k[g>>2]=j;break}}else{j=Vf(119842)|0;k[g>>2]=j}while(0);if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}vg(k[d>>2]|0,k[g>>2]|0);j=k[g>>2]|0;r=h;return j|0}function tf(){return 18206}function uf(){return 19285}function vf(){return 3012e3}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;g=i+44|0;c=i+40|0;d=i+24|0;h=i+16|0;f=i+8|0;e=i;k[c>>2]=a;k[h>>2]=0;if(k[59]|0){h=Vf(133555)|0;k[g>>2]=h;h=k[g>>2]|0;r=i;return h|0}k[d>>2]=b;do switch(k[c>>2]|0){case 4:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[12]=k[b>>2];k[13]=k[b+4>>2];k[14]=k[b+8>>2];k[15]=k[b+12>>2];k[16]=k[b+16>>2];k[17]=k[b+20>>2];k[18]=k[b+24>>2];k[19]=k[b+28>>2];break}case 5:{if(!(k[12]|0))hi();f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[b>>2]=k[12];k[b+4>>2]=k[13];k[b+8>>2]=k[14];k[b+12>>2]=k[15];k[b+16>>2]=k[16];k[b+20>>2]=k[17];k[b+24>>2]=k[18];k[b+28>>2]=k[19];break}case 9:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[2]=b;break}case 6:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[50]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[51]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[52]=b;break}case 7:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[53]=b;b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[54]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[55]=b;break}case 24:{f=(ii()|0)+(ji()|0)+(ki()|0)|0;a=(k[d>>2]|0)+(4-1)&~(4-1);b=k[a>>2]|0;k[d>>2]=a+4;k[b>>2]=f;break}case 14:break;case 15:{k[h>>2]=1;break}case 18:{c=(k[d>>2]|0)+(4-1)&~(4-1);e=k[c>>2]|0;k[d>>2]=c+4;c=116;d=e;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 19:{if(!(k[31]|0))li();e=(k[d>>2]|0)+(4-1)&~(4-1);c=k[e>>2]|0;k[d>>2]=e+4;d=116;e=c+52|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));break}case 13:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[9]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[10]=b;break}case 16:{b=(k[d>>2]|0)+(4-1)&~(4-1);f=k[b>>2]|0;k[d>>2]=b+4;k[66]=f;f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[67]=b;break}case 17:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[5]=b;break}case 20:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[6]=b;break}case 22:{b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;b=f;k[b>>2]=c;k[b+4>>2]=a;b=(k[d>>2]|0)+(8-1)&~(8-1);a=b;c=k[a>>2]|0;a=k[a+4>>2]|0;k[d>>2]=b+8;d=e;k[d>>2]=c;k[d+4>>2]=a;d=e;b=k[d+4>>2]|0;d=(k[e+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>0);b=e;k[b>>2]=d?0:c;k[b+4>>2]=d?0:a;if((k[f+4>>2]|0)<0){b=f;k[b>>2]=0;k[b+4>>2]=0}a=f;c=k[a+4>>2]|0;b=e;d=k[b+4>>2]|0;if((c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){d=e;a=k[d+4>>2]|0;b=f;k[b>>2]=k[d>>2];k[b+4>>2]=a}b=k[e+4>>2]|0;a=192;k[a>>2]=k[e>>2];k[a+4>>2]=b;a=f;f=k[a+4>>2]|0;b=184;k[b>>2]=k[a>>2];k[b+4>>2]=f;break}case 25:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[58]=b;break}case 26:{f=(k[d>>2]|0)+(4-1)&~(4-1);b=k[f>>2]|0;k[d>>2]=f+4;k[11]=b;break}default:k[h>>2]=1}while(0);k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}function xf(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0){a=Zf(k[d>>2]|0)|0;k[e>>2]=a;mi(k[e>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;d=q+52|0;e=q+48|0;f=q+32|0;n=q+28|0;l=q+24|0;o=q+20|0;g=q+16|0;h=q+12|0;j=q+8|0;m=q+4|0;i=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)==1001){c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[l>>2]=p;p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[o>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[g>>2]=p;p=oi(k[d>>2]|0,k[l>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;k[n>>2]=p;p=k[n>>2]|0;r=q;return p|0}k[n>>2]=1;k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=3){p=16;break}if((k[1536+(k[h>>2]<<3)>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}if((p|0)==16){p=k[n>>2]|0;r=q;return p|0}p=(k[f>>2]|0)+(4-1)&~(4-1);c=k[p>>2]|0;k[f>>2]=p+4;k[j>>2]=c;c=(k[f>>2]|0)+(4-1)&~(4-1);p=k[c>>2]|0;k[f>>2]=c+4;k[m>>2]=p;k[i>>2]=k[(k[d>>2]|0)+24>>2];if((k[j>>2]|0)<=0){if(!(k[j>>2]|0)){p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]&~k[1536+(k[h>>2]<<3)+4>>2]}}else{p=(k[d>>2]|0)+24|0;k[p>>2]=k[p>>2]|k[1536+(k[h>>2]<<3)+4>>2]}if((k[i>>2]|0)!=(k[(k[d>>2]|0)+24>>2]|0))_h(k[d>>2]|0);if(k[m>>2]|0)k[k[m>>2]>>2]=(k[(k[d>>2]|0)+24>>2]&k[1536+(k[h>>2]<<3)+4>>2]|0)!=0&1;k[n>>2]=0;p=k[n>>2]|0;r=q;return p|0}function zf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+32|0;L=k[a+4>>2]|0;r=b;return k[a>>2]|0}function Af(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+84>>2]|0}function Bf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+88>>2]|0}function Cf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=pi(k[c>>2]|0,0)|0;r=b;return a|0}function Df(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=pi(k[c>>2]|0,1)|0;r=b;return a|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+380>>2]=k[g>>2];k[(k[e>>2]|0)+380+4>>2]=k[f>>2];k[(k[e>>2]|0)+380+8>>2]=0;k[(k[e>>2]|0)+428>>2]=0;r=d;return 0}function Ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if((k[d>>2]|0)>0){Ef(a,178,k[c>>2]|0)|0;k[(k[c>>2]|0)+428>>2]=k[d>>2];r=e;return 0}else{Ef(a,0,0)|0;r=e;return 0}return 0}function Gf(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;i=r;r=r+32|0;s=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;l=i+4|0;j=i;k[s>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[m>>2]=f;k[l>>2]=g;k[j>>2]=h;b=Hf(k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,0)|0;r=i;return b|0}function Hf(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[v>>2]=1;k[u>>2]=0;do if(k[t>>2]|0){a=Bh(k[j>>2]|0,12,0)|0;k[u>>2]=a;a=k[t>>2]|0;if(k[u>>2]|0){k[(k[u>>2]|0)+4>>2]=a;k[(k[u>>2]|0)+8>>2]=k[o>>2];w=5;break}else{_b[a&255](k[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(w=ri(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[u>>2]|0)|0,k[v>>2]=w,(k[u>>2]|0)!=0):0)?(k[k[u>>2]>>2]|0)==0:0){_b[k[t>>2]&255](k[o>>2]|0);bg(k[j>>2]|0,k[u>>2]|0)}w=bh(k[j>>2]|0,k[v>>2]|0)|0;k[v>>2]=w;r=x;return k[v>>2]|0}function If(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(si(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0)|0)){b=ri(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1,0,224,0,0,0)|0;k[g>>2]=b}b=bh(k[d>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;r=h;return k[g>>2]|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;a=k[e>>2]|0;if((k[c>>2]|0)>0){Kf(a,139,k[c>>2]|0)|0;r=d;return 0}else{Kf(a,0,0)|0;r=d;return 0}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e+4|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=k[(k[f>>2]|0)+224>>2];k[(k[f>>2]|0)+220>>2]=k[h>>2];k[(k[f>>2]|0)+224>>2]=k[g>>2];r=e;return k[d>>2]|0}function Lf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;n=q+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=10;if(k[l>>2]|0)k[k[l>>2]>>2]=-1;if(k[m>>2]|0)k[k[m>>2]>>2]=-1;if((k[j>>2]|0)<0|(k[j>>2]|0)>3){k[f>>2]=21;b=k[f>>2]|0;r=q;return b|0}if((k[h>>2]|0)!=0?(i[k[h>>2]>>0]|0)!=0:0){b=vi(k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=b}if((k[n>>2]|0)<0){k[o>>2]=1;b=k[g>>2]|0;k[p>>2]=k[h>>2];tg(b,1,19346,p)}else{k[(k[g>>2]|0)+380+8>>2]=0;b=wi(k[g>>2]|0,k[n>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[o>>2]=b;vg(k[g>>2]|0,k[o>>2]|0)}b=bh(k[g>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;k[f>>2]=k[o>>2];b=k[f>>2]|0;r=q;return b|0}function Mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=Lf(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return b|0}function Nf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(ci(k[c>>2]|0)|0)==0:0){a=Vf(135421)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}if((k[c>>2]|0)!=0?(l[(k[c>>2]|0)+69>>0]|0|0)==0:0){k[b>>2]=k[(k[c>>2]|0)+52>>2]&k[(k[c>>2]|0)+56>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)<0|(k[f>>2]|0)>=12){k[d>>2]=-1;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+92+(k[f>>2]<<2)>>2];if((k[g>>2]|0)>=0){if((k[g>>2]|0)>(k[1560+(k[f>>2]<<2)>>2]|0))k[g>>2]=k[1560+(k[f>>2]<<2)>>2];k[(k[e>>2]|0)+92+(k[f>>2]<<2)>>2]=k[g>>2]}k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}function Pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=yi(k[e>>2]|0,k[d>>2]|0,6,0)|0;r=c;return a|0}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;n=l+28|0;m=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;h=l+8|0;i=l+4|0;g=l;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=d;k[j>>2]=1;b=Fi(k[n>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){n=k[j>>2]|0;r=l;return n|0}wg(k[h>>2]|0);n=Zf(k[h>>2]|0)|0;k[i>>2]=n;n=Ng(k[i>>2]|0)|0;k[g>>2]=n;if((k[e>>2]|0)==7){k[k[f>>2]>>2]=k[g>>2];k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==27){n=Gi(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if((k[e>>2]|0)==28){n=Hi(k[i>>2]|0)|0;k[k[f>>2]>>2]=n;k[j>>2]=0;n=k[j>>2]|0;r=l;return n|0}if(k[k[g>>2]>>2]|0){n=Ii(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=n;n=k[j>>2]|0;r=l;return n|0}else{k[j>>2]=12;n=k[j>>2]|0;r=l;return n|0}return 0}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;while(1){if(!(i[k[c>>2]>>0]|0)){a=8;break}b=RQ(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;b=(Tf(k[c>>2]|0)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b;b=k[c>>2]|0;if(!(k[e>>2]|0)){a=6;break}b=(Tf(b)|0)+1|0;k[c>>2]=(k[c>>2]|0)+b}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;b=Rf(k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;k[d>>2]=(k[d>>2]|0)!=0&1;if(k[e>>2]|0){h=(Oi(k[e>>2]|0,k[d>>2]&255)|0)&255;r=f;return h|0}else{h=k[d>>2]|0;r=f;return h|0}return 0}function Tf(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(k[c>>2]|0))k[b>>2]=0;else{a=1073741823&(UQ(k[c>>2]|0)|0);k[b>>2]=a}r=d;return k[b>>2]|0}function Uf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return ((l[19011+(l[b>>0]|0)>>0]|0)&70|0)!=0|0}function Vf(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Zj(21,k[c>>2]|0,46699)|0;r=b;return a|0}function Wf(){return k[423]|0}function Xf(){return k[70]|0}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if(k[d>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+4>>2]=k[k[d>>2]>>2];k[c>>2]=(k[c>>2]|0)+1}r=e;return}function Zf(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+4>>2]>>2]|0}function _f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}rv(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+4>>2]|0);nv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);ov(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=i;return}if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))h=4;if((h|0)==4?(b=(k[d>>2]|0)+36|0,h=(j[b>>1]|0)+-1<<16>>16,j[b>>1]=h,(h&65535|0)>0):0){r=i;return}k[e>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+20>>2];if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){k[g>>2]=k[k[e>>2]>>2];ak((k[(k[e>>2]|0)+24>>2]|0)+24|0,k[g>>2]|0,0)|0}lH(k[c>>2]|0,k[e>>2]|0);k[e>>2]=k[f>>2]}cQ(k[c>>2]|0,k[d>>2]|0);gH(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0);kv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);jv(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0);SH(k[c>>2]|0,k[d>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=i;return}function ag(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;c=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;EC(k[(k[f>>2]|0)+60>>2]|0,j[(k[f>>2]|0)+68>>1]|0);EC(k[(k[f>>2]|0)+16>>2]|0,m[(k[f>>2]|0)+84>>1]<<1);k[d>>2]=k[(k[f>>2]|0)+192>>2];while(1){if(!(k[d>>2]|0))break;k[c>>2]=k[(k[d>>2]|0)+24>>2];bQ(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);k[d>>2]=k[c>>2]}k[g>>2]=(j[(k[f>>2]|0)+70>>1]|0)-1;while(1){a=k[e>>2]|0;if((k[g>>2]|0)<0)break;bg(a,k[(k[(k[f>>2]|0)+64>>2]|0)+(k[g>>2]<<2)>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}bg(a,k[(k[f>>2]|0)+64>>2]|0);bQ(k[e>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[f>>2]|0)+32>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+168>>2]|0);bg(k[e>>2]|0,k[(k[f>>2]|0)+172>>2]|0);r=h;return}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}if(k[c>>2]|0){a=k[c>>2]|0;b=k[d>>2]|0;if(k[(k[c>>2]|0)+456>>2]|0){aQ(a,b);r=f;return}if(qu(a,b)|0){k[e>>2]=k[d>>2];k[k[e>>2]>>2]=k[(k[c>>2]|0)+256+28>>2];k[(k[c>>2]|0)+256+28>>2]=k[e>>2];e=(k[c>>2]|0)+256+8|0;k[e>>2]=(k[e>>2]|0)+-1;r=f;return}}Ud(k[d>>2]|0);r=f;return}function cg(){var a=0,b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;a=f+12|0;b=f+8|0;e=f+4|0;c=f;if(!(k[12]|0))hi();k[70]=0;k[71]=0;k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;k[70]=8;if((k[50]|0)!=0&(k[51]|0)>=100&(k[52]|0)>0){k[e>>2]=k[51]&-8;k[51]=k[e>>2];k[c>>2]=k[50];k[b>>2]=k[52];k[75]=k[c>>2];k[76]=k[b>>2];k[a>>2]=0;while(1){if((k[a>>2]|0)>=((k[b>>2]|0)-1|0))break;k[k[c>>2]>>2]=(k[c>>2]|0)+(k[e>>2]|0);k[c>>2]=k[k[c>>2]>>2];k[a>>2]=(k[a>>2]|0)+1}k[k[c>>2]>>2]=0;k[74]=(k[c>>2]|0)+4}else{k[74]=0;k[50]=0;k[51]=0;k[52]=0}if((k[53]|0)==0|(k[54]|0)<512|(k[55]|0)<=0){k[53]=0;k[54]=0}e=bc[k[68>>2]&255](k[19]|0)|0;k[d>>2]=e;if(!(k[d>>2]|0)){e=k[d>>2]|0;r=f;return e|0};k[70]=0;k[71]=0;k[72]=0;k[73]=0;k[74]=0;k[75]=0;k[76]=0;k[77]=0;e=k[d>>2]|0;r=f;return e|0}function dg(){LO();MO();NO(7784,57);return}function eg(){if(!(k[31]|0))li();return bc[k[124>>2]&255](k[30]|0)|0}function fg(){var a=0,b=0,c=0,d=0;c=r;r=r+16|0;a=c+4|0;b=c;d=Sd(10)|0;k[b>>2]=d;if(!(k[b>>2]|0)){k[a>>2]=7;d=k[a>>2]|0;r=c;return d|0}else{Ud(k[b>>2]|0);d=ce()|0;k[a>>2]=d;d=k[a>>2]|0;r=c;return d|0}return 0}function gg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[415]|0)){r=h;return}if(!(k[d>>2]|0)){k[f>>2]=0;k[e>>2]=0}k[e>>2]=k[e>>2]&-8;k[418]=k[e>>2];b=k[f>>2]|0;k[425]=b;k[419]=b;if((k[f>>2]|0)>90)c=10;else c=((k[f>>2]|0)/10|0)+1|0;k[420]=c;k[421]=k[d>>2];k[424]=0;k[426]=0;while(1){b=k[f>>2]|0;k[f>>2]=b+-1;c=k[d>>2]|0;if(!b)break;k[g>>2]=c;k[k[g>>2]>>2]=k[424];k[424]=k[g>>2];k[d>>2]=(k[d>>2]|0)+(k[e>>2]|0)}k[422]=c;r=h;return}function hg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}if((k[269]|0)==(k[c>>2]|0)){k[269]=k[(k[c>>2]|0)+12>>2];r=e;return}if(!(k[269]|0)){r=e;return}k[d>>2]=k[269];while(1){if(k[(k[d>>2]|0)+12>>2]|0)b=(k[(k[d>>2]|0)+12>>2]|0)!=(k[c>>2]|0);else b=0;a=k[(k[d>>2]|0)+12>>2]|0;if(!b)break;k[d>>2]=a}if((a|0)!=(k[c>>2]|0)){r=e;return}k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+12>>2];r=e;return}function ig(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;L=0;r=c;return k[996+(k[b>>2]<<2)>>2]|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;f=c;b=c;a=k[b+4>>2]|0;if((k[f>>2]|0)==0&(k[f+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(k[b>>2]|0)>>>0>=2147483392)){k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}if(k[2]|0){KO(k[c>>2]|0,d)|0;f=k[d>>2]|0;r=e;return f|0}else{f=bc[k[48>>2]&255](k[c>>2]|0)|0;k[d>>2]=f;f=k[d>>2]|0;r=e;return f|0}return 0}function kg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[60>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=996+(k[e>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)-(k[d>>2]|0);r=c;return}function mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;d=l+28|0;e=l+24|0;f=l;i=l+20|0;h=l+16|0;g=l+12|0;j=l+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(!(k[e>>2]|0)){j=jg(b,c)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}if((b|0)==0&(c|0)==0){Ud(k[e>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=f;c=k[a+4>>2]|0;if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=2147483392){k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}a=kg(k[e>>2]|0)|0;k[i>>2]=a;a=bc[k[64>>2]&255](k[f>>2]|0)|0;k[h>>2]=a;do if((k[i>>2]|0)!=(k[h>>2]|0)){if(!(k[2]|0)){i=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=i;break}Zi(5,k[f>>2]|0);k[g>>2]=(k[h>>2]|0)-(k[i>>2]|0);c=ig(0)|0;m=L;b=288;a=k[g>>2]|0;a=yR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((m|0)>(b|0)|(m|0)==(b|0)&c>>>0>=a>>>0)JO(k[g>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m;m=288;g=k[m+4>>2]|0;if((k[j>>2]|0)==0&((g|0)>0|(g|0)==0&(k[m>>2]|0)>>>0>0)){JO(k[f>>2]|0);m=gc[k[56>>2]&255](k[e>>2]|0,k[h>>2]|0)|0;k[j>>2]=m}if(k[j>>2]|0){m=kg(k[j>>2]|0)|0;k[h>>2]=m;_i(0,(k[h>>2]|0)-(k[i>>2]|0)|0)}}else k[j>>2]=k[e>>2];while(0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=l;return m|0}function ng(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;h=f;k[g>>2]=a;k[l>>2]=b;k[m>>2]=c;k[j>>2]=d;k[h>>2]=e;c=k[m>>2]|0;k[(k[g>>2]|0)+4>>2]=c;k[(k[g>>2]|0)+8>>2]=c;k[k[g>>2]>>2]=k[l>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[h>>2];i[(k[g>>2]|0)+24>>0]=0;i[(k[g>>2]|0)+25>>0]=0;r=f;return}function og(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=r;r=r+272|0;e=ra+176|0;f=ra+172|0;g=ra+168|0;o=ra+164|0;n=ra+160|0;aa=ra+156|0;Q=ra+152|0;J=ra+148|0;ja=ra+144|0;B=ra+268|0;E=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;G=ra+263|0;C=ra+262|0;D=ra+261|0;t=ra+260|0;na=ra+259|0;h=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;K=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;F=ra+254|0;X=ra+112|0;m=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;j=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;H=ra+88|0;U=ra+84|0;I=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;q=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[na>>0]=0;k[oa>>2]=0;k[X>>2]=0;k[n>>2]=0;if(i[(k[e>>2]|0)+25>>0]|0){a=l[(k[e>>2]|0)+25>>0]&2;i[h>>0]=a;if(a&255){b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[X>>2]=a}i[ha>>0]=l[(k[e>>2]|0)+25>>0]&1}else{i[ha>>0]=0;i[h>>0]=0}a:while(1){a=i[k[f>>2]>>0]|0;k[o>>2]=a;if(!a){qa=268;break}if((k[o>>2]|0)!=37){k[n>>2]=k[f>>2];do{k[f>>2]=(k[f>>2]|0)+1;if(!(i[k[f>>2]>>0]|0))break}while((i[k[f>>2]>>0]|0)!=37);qA(k[e>>2]|0,k[n>>2]|0,(k[f>>2]|0)-(k[n>>2]|0)|0);if(!(i[k[f>>2]>>0]|0)){qa=268;break}}a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a;if(!a){qa=13;break}i[G>>0]=0;i[y>>0]=0;i[x>>0]=0;i[z>>0]=0;i[E>>0]=0;i[B>>0]=0;i[t>>0]=0;do{switch(k[o>>2]|0){case 45:{i[B>>0]=1;break}case 43:{i[E>>0]=1;break}case 32:{i[z>>0]=1;break}case 35:{i[x>>0]=1;break}case 33:{i[y>>0]=1;break}case 48:{i[G>>0]=1;break}default:i[t>>0]=1}if(i[t>>0]|0)break;a=(k[f>>2]|0)+1|0;k[f>>2]=a;a=i[a>>0]|0;k[o>>2]=a}while((a|0)!=0);if((k[o>>2]|0)==42){if(i[h>>0]|0){a=EO(k[X>>2]|0)|0;k[ja>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[ja>>2]=a}if((k[ja>>2]|0)<0){i[B>>0]=1;k[ja>>2]=(k[ja>>2]|0)>=-2147483647?0-(k[ja>>2]|0)|0:0}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}else{k[ka>>2]=0;while(1){c=k[ka>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ka>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[ja>>2]=c&2147483647}do if((k[o>>2]|0)==46){a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)!=42){k[ca>>2]=0;while(1){c=k[ca>>2]|0;if(!((k[o>>2]|0)>=48?(k[o>>2]|0)<=57:0))break;k[ca>>2]=(c*10|0)+(k[o>>2]|0)-48;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0]}k[aa>>2]=c&2147483647;break}if(i[h>>0]|0){a=EO(k[X>>2]|0)|0;k[aa>>2]=a}else{b=k[g>>2]|0;c=(k[b>>2]|0)+(4-1)&~(4-1);a=k[c>>2]|0;k[b>>2]=c+4;k[aa>>2]=a}a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[aa>>2]|0)<0)k[aa>>2]=(k[aa>>2]|0)>=-2147483647?0-(k[aa>>2]|0)|0:-1}else k[aa>>2]=-1;while(0);do if((k[o>>2]|0)==108){i[C>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];if((k[o>>2]|0)==108){i[D>>0]=1;a=(k[f>>2]|0)+1|0;k[f>>2]=a;k[o>>2]=i[a>>0];break}else{i[D>>0]=0;break}}else{i[D>>0]=0;i[C>>0]=0}while(0);k[K>>2]=45708;i[na>>0]=0;k[J>>2]=0;while(1){if((k[J>>2]|0)>=23)break;c=k[J>>2]|0;if((k[o>>2]|0)==(i[45708+((k[J>>2]|0)*6|0)>>0]|0)){qa=56;break}k[J>>2]=c+1}if((qa|0)==56){qa=0;k[K>>2]=45708+(c*6|0);if((l[ha>>0]|0)==0?(l[(k[K>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}i[na>>0]=i[(k[K>>2]|0)+3>>0]|0}b:do switch(l[na>>0]|0){case 14:{i[D>>0]=0;i[C>>0]=1;qa=62;break}case 1:case 16:{qa=62;break}case 4:case 3:case 2:{if(i[h>>0]|0){d=+FO(k[X>>2]|0);p[ea>>3]=d}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(8-1)&~(8-1);d=+p[b>>3];k[a>>2]=b+8;p[ea>>3]=d}if((k[aa>>2]|0)<0)k[aa>>2]=6;do if(!(+p[ea>>3]<0.0)){if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{p[ea>>3]=-+p[ea>>3];i[ba>>0]=45}while(0);if((l[na>>0]|0)==4&(k[aa>>2]|0)>0)k[aa>>2]=(k[aa>>2]|0)+-1;k[J>>2]=k[aa>>2]&4095;p[fa>>3]=.5;while(1){if((k[J>>2]|0)<=0)break;k[J>>2]=(k[J>>2]|0)+-1;p[fa>>3]=+p[fa>>3]*.1}if((l[na>>0]|0)==2)p[ea>>3]=+p[ea>>3]+ +p[fa>>3];k[w>>2]=0;if(YF(+p[ea>>3])|0){k[n>>2]=45895;k[Q>>2]=3;break b}if(+p[ea>>3]>0.0){p[ga>>3]=1.0;while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.e+100?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.e+100;k[w>>2]=(k[w>>2]|0)+100}while(1){if(!(+p[ea>>3]>=+p[ga>>3]*1.0e10?(k[w>>2]|0)<=350:0))break;p[ga>>3]=+p[ga>>3]*1.0e10;k[w>>2]=(k[w>>2]|0)+10}while(1){d=+p[ga>>3];if(!(+p[ea>>3]>=+p[ga>>3]*10.0?(k[w>>2]|0)<=350:0))break;p[ga>>3]=d*10.0;k[w>>2]=(k[w>>2]|0)+1}p[ea>>3]=+p[ea>>3]/d;while(1){if(!(+p[ea>>3]<1.0e-08))break;p[ea>>3]=+p[ea>>3]*1.0e8;k[w>>2]=(k[w>>2]|0)-8}while(1){if(!(+p[ea>>3]<1.0))break;p[ea>>3]=+p[ea>>3]*10.0;k[w>>2]=(k[w>>2]|0)+-1}if((k[w>>2]|0)>350){k[n>>2]=m;i[m>>0]=i[ba>>0]|0;a=m+((i[ba>>0]|0)!=0&1)|0;i[a>>0]=i[45899]|0;i[a+1>>0]=i[45900]|0;i[a+2>>0]=i[45901]|0;i[a+3>>0]=i[45902]|0;k[Q>>2]=3+((i[ba>>0]|0)!=0&1);break b}}k[n>>2]=m;if((l[na>>0]|0)!=2?(p[ea>>3]=+p[ea>>3]+ +p[fa>>3],+p[ea>>3]>=10.0):0){p[ea>>3]=+p[ea>>3]*.1;k[w>>2]=(k[w>>2]|0)+1}c:do if((l[na>>0]|0)==4){i[F>>0]=((i[x>>0]|0)!=0^1)&1;do if((k[w>>2]|0)>=-4){if((k[w>>2]|0)>(k[aa>>2]|0))break;k[aa>>2]=(k[aa>>2]|0)-(k[w>>2]|0);i[na>>0]=2;break c}while(0);i[na>>0]=3}else i[F>>0]=i[y>>0]|0;while(0);if((l[na>>0]|0)==3)k[u>>2]=0;else k[u>>2]=k[w>>2];a=(k[u>>2]|0)>0?k[u>>2]|0:0;b=k[aa>>2]|0;b=zR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;a=k[ja>>2]|0;a=zR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=L;if((b|0)>0|(b|0)==0&a>>>0>55?(a=(k[u>>2]|0)>0?k[u>>2]|0:0,b=k[aa>>2]|0,b=zR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=k[ja>>2]|0,a=zR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0,a=zR(a|0,L|0,15,0)|0,a=jg(a,L)|0,k[oa>>2]=a,k[n>>2]=a,(k[n>>2]|0)==0):0){qa=161;break a}k[pa>>2]=k[n>>2];k[W>>2]=16+((l[y>>0]|0)*10|0);i[A>>0]=((k[aa>>2]|0)>0?1:0)|l[x>>0]|l[y>>0];if(i[ba>>0]|0){b=i[ba>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}d:do if((k[u>>2]|0)<0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48}else while(1){if((k[u>>2]|0)<0)break d;b=GO(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[u>>2]=(k[u>>2]|0)+-1}while(0);if(i[A>>0]|0){a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=46}k[u>>2]=(k[u>>2]|0)+1;while(1){if((k[u>>2]|0)>=0)break;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=48;k[aa>>2]=(k[aa>>2]|0)+-1;k[u>>2]=(k[u>>2]|0)+1}while(1){a=k[aa>>2]|0;k[aa>>2]=a+-1;if((a|0)<=0)break;b=GO(ea,W)|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}do if(l[F>>0]|0){if(!(l[A>>0]|0))break;while(1){c=(k[n>>2]|0)+-1|0;if((i[(k[n>>2]|0)+-1>>0]|0)!=48)break;k[n>>2]=c;i[c>>0]=0}if((i[c>>0]|0)!=46)break;c=k[n>>2]|0;if(i[y>>0]|0){k[n>>2]=c+1;i[c>>0]=48;break}else{a=c+-1|0;k[n>>2]=a;i[a>>0]=0;break}}while(0);if((l[na>>0]|0)==3){c=i[45855+(l[(k[K>>2]|0)+4>>0]|0)>>0]|0;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=c;a=(k[w>>2]|0)<0;c=k[n>>2]|0;k[n>>2]=c+1;if(a){i[c>>0]=45;k[w>>2]=0-(k[w>>2]|0)}else i[c>>0]=43;if((k[w>>2]|0)>=100){b=((k[w>>2]|0)/100|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b;k[w>>2]=(k[w>>2]|0)%100|0}a=((k[w>>2]|0)/10|0)+48&255;b=k[n>>2]|0;k[n>>2]=b+1;i[b>>0]=a;b=((k[w>>2]|0)%10|0)+48&255;a=k[n>>2]|0;k[n>>2]=a+1;i[a>>0]=b}i[k[n>>2]>>0]=0;k[Q>>2]=(k[n>>2]|0)-(k[pa>>2]|0);k[n>>2]=k[pa>>2];if((l[G>>0]|0)==0|(i[B>>0]|0)!=0)break b;if((k[Q>>2]|0)>=(k[ja>>2]|0))break b;k[U>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);k[H>>2]=k[ja>>2];while(1){if((k[H>>2]|0)<(k[U>>2]|0))break;i[(k[n>>2]|0)+(k[H>>2]|0)>>0]=i[(k[n>>2]|0)+((k[H>>2]|0)-(k[U>>2]|0))>>0]|0;k[H>>2]=(k[H>>2]|0)+-1}k[H>>2]=(i[ba>>0]|0)!=0&1;while(1){a=k[U>>2]|0;k[U>>2]=a+-1;if(!a)break;a=k[H>>2]|0;k[H>>2]=a+1;i[(k[n>>2]|0)+a>>0]=48}k[Q>>2]=k[ja>>2];break}case 5:{if(!(i[h>>0]|0)){b=k[(k[e>>2]|0)+12>>2]|0;c=k[g>>2]|0;sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;k[a>>2]=b}k[ja>>2]=0;k[Q>>2]=0;break}case 8:{i[m>>0]=37;k[n>>2]=m;k[Q>>2]=1;break}case 9:{if(i[h>>0]|0){sa=HO(k[X>>2]|0)|0;k[n>>2]=sa;if(k[n>>2]|0)c=i[k[n>>2]>>0]|0;else c=0;k[o>>2]=c}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[o>>2]=sa}if((k[aa>>2]|0)>1){k[ja>>2]=(k[ja>>2]|0)-((k[aa>>2]|0)-1);if(!((k[ja>>2]|0)<=1|(i[B>>0]|0)!=0)){IO(k[e>>2]|0,(k[ja>>2]|0)-1|0,32);k[ja>>2]=0}IO(k[e>>2]|0,(k[aa>>2]|0)-1|0,k[o>>2]&255)}k[Q>>2]=1;i[m>>0]=k[o>>2];k[n>>2]=m;break}case 7:case 6:{if(i[h>>0]|0){sa=HO(k[X>>2]|0)|0;k[n>>2]=sa;i[na>>0]=6}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[n>>2]=sa}if(k[n>>2]|0){if((l[na>>0]|0)==7)k[oa>>2]=k[n>>2]}else k[n>>2]=19010;if((k[aa>>2]|0)<0){sa=Tf(k[n>>2]|0)|0;k[Q>>2]=sa;break b}k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[aa>>2]|0))break b;if(!(i[(k[n>>2]|0)+(k[Q>>2]|0)>>0]|0))break b;k[Q>>2]=(k[Q>>2]|0)+1}}case 15:case 11:case 10:{i[da>>0]=(l[na>>0]|0)==15?34:39;if(i[h>>0]|0){sa=HO(k[X>>2]|0)|0;k[v>>2]=sa}else{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[v>>2]=sa}k[M>>2]=(k[v>>2]|0)==0&1;if(k[M>>2]|0)k[v>>2]=(l[na>>0]|0)==11?40149:45903;k[O>>2]=k[aa>>2];k[S>>2]=0;k[I>>2]=0;while(1){if(!(k[O>>2]|0))break;sa=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=sa;if(!(sa<<24>>24))break;if((i[q>>0]|0)==(i[da>>0]|0))k[S>>2]=(k[S>>2]|0)+1;k[I>>2]=(k[I>>2]|0)+1;k[O>>2]=(k[O>>2]|0)+-1}if(k[M>>2]|0)c=0;else c=(l[na>>0]|0)==11;k[V>>2]=c&1;k[S>>2]=(k[S>>2]|0)+((k[I>>2]|0)+3);if((k[S>>2]|0)>70){sa=k[S>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[n>>2]=sa;if(!(k[n>>2]|0)){qa=241;break a}}else k[n>>2]=m;k[N>>2]=0;if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[O>>2]=k[I>>2];k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[O>>2]|0))break;a=i[(k[v>>2]|0)+(k[I>>2]|0)>>0]|0;i[q>>0]=a;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a;if((i[q>>0]|0)==(i[da>>0]|0)){a=i[q>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}k[I>>2]=(k[I>>2]|0)+1}if(k[V>>2]|0){a=i[da>>0]|0;sa=k[N>>2]|0;k[N>>2]=sa+1;i[(k[n>>2]|0)+sa>>0]=a}i[(k[n>>2]|0)+(k[N>>2]|0)>>0]=0;k[Q>>2]=k[N>>2];break}case 12:{a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[_>>2]=sa;if((k[_>>2]|0)!=0?(k[(k[_>>2]|0)+4>>2]|0)!=0:0)qA(k[e>>2]|0,k[k[_>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}case 13:{b=k[g>>2]|0;sa=(k[b>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[b>>2]=sa+4;k[Z>>2]=a;a=k[g>>2]|0;b=(k[a>>2]|0)+(4-1)&~(4-1);sa=k[b>>2]|0;k[a>>2]=b+4;k[P>>2]=sa;k[Y>>2]=(k[Z>>2]|0)+8+((k[P>>2]|0)*72|0);if(k[(k[Y>>2]|0)+4>>2]|0){QD(k[e>>2]|0,k[(k[Y>>2]|0)+4>>2]|0);qA(k[e>>2]|0,45533,1)}QD(k[e>>2]|0,k[(k[Y>>2]|0)+8>>2]|0);k[ja>>2]=0;k[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;c=(i[h>>0]|0)!=0;do if(l[(k[K>>2]|0)+2>>0]&1){do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=ia;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=ia;k[sa>>2]=a;k[sa+4>>2]=((a|0)<0)<<31>>31;break}}else{a=EO(k[X>>2]|0)|0;sa=ia;k[sa>>2]=a;k[sa+4>>2]=L}while(0);b=ia;c=k[b>>2]|0;b=k[b+4>>2]|0;if((k[ia+4>>2]|0)<0){if((c|0)==0&(b|0)==-2147483648){sa=R;k[sa>>2]=0;k[sa+4>>2]=-2147483648}else{a=ia;a=yR(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}i[ba>>0]=45;break}sa=R;k[sa>>2]=c;k[sa+4>>2]=b;if(i[E>>0]|0){i[ba>>0]=43;break}if(i[z>>0]|0){i[ba>>0]=32;break}else{i[ba>>0]=0;break}}else{do if(!c){c=k[g>>2]|0;if(i[D>>0]|0){sa=(k[c>>2]|0)+(8-1)&~(8-1);a=sa;b=k[a>>2]|0;a=k[a+4>>2]|0;k[c>>2]=sa+8;sa=R;k[sa>>2]=b;k[sa+4>>2]=a;break}else{sa=(k[c>>2]|0)+(4-1)&~(4-1);a=k[sa>>2]|0;k[c>>2]=sa+4;sa=R;k[sa>>2]=a;k[sa+4>>2]=0;break}}else{a=EO(k[X>>2]|0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L}while(0);i[ba>>0]=0}while(0);sa=R;if((k[sa>>2]|0)==0&(k[sa+4>>2]|0)==0)i[x>>0]=0;if((l[G>>0]|0)!=0?(k[aa>>2]|0)<((k[ja>>2]|0)-((i[ba>>0]|0)!=0&1)|0):0)k[aa>>2]=(k[ja>>2]|0)-((i[ba>>0]|0)!=0&1);if((k[aa>>2]|0)>=60){k[T>>2]=(k[aa>>2]|0)+10;sa=k[T>>2]|0;sa=jg(sa,((sa|0)<0)<<31>>31)|0;k[oa>>2]=sa;k[pa>>2]=sa;if(!(k[pa>>2]|0)){qa=92;break}}else{k[T>>2]=70;k[pa>>2]=m}k[n>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1);if((l[na>>0]|0)==16){sa=R;sa=MR(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0;k[la>>2]=sa;if(!((k[la>>2]|0)<4?(sa=R,sa=LR(k[sa>>2]|0,k[sa+4>>2]|0,10,0)|0,sa=MR(sa|0,L|0,10,0)|0,!((sa|0)==1&(L|0)==0)):0))k[la>>2]=0;sa=i[45846+((k[la>>2]<<1)+1)>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=i[45846+(k[la>>2]<<1)>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}k[s>>2]=45855+(l[(k[K>>2]|0)+4>>0]|0);i[j>>0]=i[(k[K>>2]|0)+1>>0]|0;do{sa=R;sa=MR(k[sa>>2]|0,k[sa+4>>2]|0,l[j>>0]|0,0)|0;sa=i[(k[s>>2]|0)+sa>>0]|0;a=(k[n>>2]|0)+-1|0;k[n>>2]=a;i[a>>0]=sa;a=R;a=LR(k[a>>2]|0,k[a+4>>2]|0,l[j>>0]|0,0)|0;sa=R;k[sa>>2]=a;k[sa+4>>2]=L;sa=R;a=k[sa+4>>2]|0}while(a>>>0>0|(a|0)==0&(k[sa>>2]|0)>>>0>0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0);k[J>>2]=(k[aa>>2]|0)-(k[Q>>2]|0);while(1){if((k[J>>2]|0)<=0)break;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=48;k[J>>2]=(k[J>>2]|0)+-1}if(i[ba>>0]|0){a=i[ba>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a}e:do if((l[x>>0]|0)!=0?(l[(k[K>>2]|0)+5>>0]|0)!=0:0){k[$>>2]=45888+(l[(k[K>>2]|0)+5>>0]|0);while(1){sa=i[k[$>>2]>>0]|0;i[ma>>0]=sa;if(!(sa<<24>>24))break e;a=i[ma>>0]|0;sa=(k[n>>2]|0)+-1|0;k[n>>2]=sa;i[sa>>0]=a;k[$>>2]=(k[$>>2]|0)+1}}while(0);k[Q>>2]=(k[pa>>2]|0)+((k[T>>2]|0)-1)-(k[n>>2]|0)}k[ja>>2]=(k[ja>>2]|0)-(k[Q>>2]|0);if(!((k[ja>>2]|0)<=0|(i[B>>0]|0)!=0))IO(k[e>>2]|0,k[ja>>2]|0,32);qA(k[e>>2]|0,k[n>>2]|0,k[Q>>2]|0);if((k[ja>>2]|0)>0?(l[B>>0]|0)!=0:0)IO(k[e>>2]|0,k[ja>>2]|0,32);if(k[oa>>2]|0){bg(k[k[e>>2]>>2]|0,k[oa>>2]|0);k[oa>>2]=0}k[f>>2]=(k[f>>2]|0)+1}if((qa|0)==13){qA(k[e>>2]|0,45706,1);r=ra;return}else if((qa|0)==92){uA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==161){uA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==241){uA(k[e>>2]|0,1);r=ra;return}else if((qa|0)==268){r=ra;return}}function pg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(((k[(k[b>>2]|0)+8>>2]|0)!=0?(i[(k[(k[b>>2]|0)+8>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0,(k[(k[b>>2]|0)+20>>2]|0)>>>0>0):0)?((l[(k[b>>2]|0)+25>>0]|0)&4|0)==0:0){a=Kh(k[k[b>>2]>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0,0)|0;k[(k[b>>2]|0)+8>>2]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+8>>2]|0){BR(k[a+8>>2]|0,k[(k[b>>2]|0)+4>>2]|0,(k[(k[b>>2]|0)+12>>2]|0)+1|0)|0;a=(k[b>>2]|0)+25|0;i[a>>0]=l[a>>0]|0|4;break}else{uA(a,1);break}}while(0);r=c;return k[(k[b>>2]|0)+8>>2]|0}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+256|0;g=d+36|0;h=d+32|0;e=d+28|0;f=d;k[g>>2]=a;k[h>>2]=b;k[e>>2]=c;ng(f,0,d+40|0,210,0);og(f,k[h>>2]|0,k[e>>2]|0);e=k[66]|0;c=k[67]|0;a=k[g>>2]|0;b=pg(f)|0;cc[e&255](c,a,b);r=d;return}function rg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[g>>2]|0)+56>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[c>>2]=k[h>>2];k[d>>2]=k[g>>2];while(1){k[e>>2]=(l[18221+(l[k[c>>2]>>0]|0)>>0]|0)-(l[18221+(l[k[d>>2]>>0]|0)>>0]|0);if(k[e>>2]|0){c=5;break}if(!(l[k[c>>2]>>0]|0)){c=5;break}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}if((c|0)==5){r=f;return k[e>>2]|0}return 0}function tg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[(k[e>>2]|0)+52>>2]=k[f>>2];BJ(k[e>>2]|0,k[f>>2]|0);a=k[e>>2]|0;if(!(k[g>>2]|0)){vg(a,k[f>>2]|0);r=j;return}if((k[a+240>>2]|0)==0?(f=fi(k[e>>2]|0)|0,k[(k[e>>2]|0)+240>>2]=f,(f|0)==0):0){r=j;return}k[h>>2]=d;d=nx(k[e>>2]|0,k[g>>2]|0,h)|0;k[i>>2]=d;gi(k[(k[e>>2]|0)+240>>2]|0,-1,k[i>>2]|0,1,170);r=j;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;b=c;b=jg(k[b>>2]|0,k[b+4>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){f=k[d>>2]|0;r=e;return f|0}DR(k[d>>2]|0,0,k[c>>2]|0)|0;f=k[d>>2]|0;r=e;return f|0}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;k[(k[c>>2]|0)+52>>2]=k[d>>2];if((k[d>>2]|0)==0?(k[(k[c>>2]|0)+240>>2]|0)==0:0){r=e;return}eN(k[c>>2]|0,k[d>>2]|0);r=e;return}function wg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[(k[c>>2]|0)+4>>2]|0)+4>>2]=k[k[c>>2]>>2];r=b;return}function xg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)!=0&(k[b>>2]|0)!=5)){a=0;a=a&1;r=c;return a|0}a=(k[b>>2]|0)!=6;a=a&1;r=c;return a|0}function yg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+24|0;d=o+20|0;f=o+16|0;n=o+12|0;e=o+8|0;g=o+4|0;h=o;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];k[n>>2]=0;wg(k[c>>2]|0);do if((l[(k[c>>2]|0)+8>>0]|0)!=2?((k[d>>2]|0)!=0?1:(l[(k[c>>2]|0)+8>>0]|0)!=1):0){if((k[d>>2]|0)!=0?(m[(k[f>>2]|0)+22>>1]&1|0)!=0:0){k[n>>2]=8;break}k[e>>2]=0;if((k[d>>2]|0)!=0?(l[(k[f>>2]|0)+20>>0]|0)==2:0)b=8;else b=7;a:do if((b|0)==7)if(!(m[(k[f>>2]|0)+22>>1]&64)){if((k[d>>2]|0)>1){k[g>>2]=k[(k[f>>2]|0)+72>>2];while(1){if(!(k[g>>2]|0))break a;a=k[g>>2]|0;if((k[k[g>>2]>>2]|0)!=(k[c>>2]|0))break;k[g>>2]=k[a+12>>2]}k[e>>2]=k[k[a>>2]>>2]}}else b=8;while(0);if((b|0)==8)k[e>>2]=k[k[(k[f>>2]|0)+76>>2]>>2];if(k[e>>2]|0){k[n>>2]=262;break}g=CH(k[c>>2]|0,1,1)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-9;if(!(k[(k[f>>2]|0)+44>>2]|0)){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|8}while(1){if((k[(k[f>>2]|0)+12>>2]|0)==0?(g=bN(k[f>>2]|0)|0,k[n>>2]=g,0==(g|0)):0)continue;do if((k[n>>2]|0)==0&(k[d>>2]|0)!=0){if(m[(k[f>>2]|0)+22>>1]&1){k[n>>2]=8;break}e=k[k[f>>2]>>2]|0;g=(k[d>>2]|0)>1&1;g=cN(e,g,fr(k[k[c>>2]>>2]|0)|0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){g=lM(k[f>>2]|0)|0;k[n>>2]=g}}while(0);if(k[n>>2]|0)HB(k[f>>2]|0);if((k[n>>2]&255|0)!=5)break;if(l[(k[f>>2]|0)+20>>0]|0)break;if(!(lr(k[f>>2]|0)|0))break}if(!(k[n>>2]|0)){if((l[(k[c>>2]|0)+8>>0]|0)==0?(g=(k[f>>2]|0)+40|0,k[g>>2]=(k[g>>2]|0)+1,(i[(k[c>>2]|0)+9>>0]|0)!=0):0){i[(k[c>>2]|0)+32+8>>0]=1;k[(k[c>>2]|0)+32+12>>2]=k[(k[f>>2]|0)+72>>2];k[(k[f>>2]|0)+72>>2]=(k[c>>2]|0)+32}i[(k[c>>2]|0)+8>>0]=(k[d>>2]|0)!=0?2:1;if((l[(k[c>>2]|0)+8>>0]|0)>(l[(k[f>>2]|0)+20>>0]|0))i[(k[f>>2]|0)+20>>0]=i[(k[c>>2]|0)+8>>0]|0;if(k[d>>2]|0){k[h>>2]=k[(k[f>>2]|0)+12>>2];k[(k[f>>2]|0)+76>>2]=k[c>>2];g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]&-33;if((k[d>>2]|0)>1){g=(k[f>>2]|0)+22|0;j[g>>1]=m[g>>1]|32}g=k[(k[f>>2]|0)+44>>2]|0;if((g|0)!=(or((k[(k[h>>2]|0)+56>>2]|0)+28|0)|0)?(g=Pg(k[(k[h>>2]|0)+72>>2]|0)|0,k[n>>2]=g,(k[n>>2]|0)==0):0)kt((k[(k[h>>2]|0)+56>>2]|0)+28|0,k[(k[f>>2]|0)+44>>2]|0)}}}}while(0);if(!((k[n>>2]|0)==0&(k[d>>2]|0)!=0)){n=k[n>>2]|0;r=o;return n|0}h=iM(k[k[f>>2]>>2]|0,k[(k[k[c>>2]>>2]|0)+432>>2]|0)|0;k[n>>2]=h;n=k[n>>2]|0;r=o;return n|0}function zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((k[e>>2]|0)==15){c=aN(k[k[g>>2]>>2]|0)|0;k[k[f>>2]>>2]=c+(k[(k[d>>2]|0)+20>>2]|0);r=h;return}else{c=or((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(k[e>>2]<<2))|0)|0;k[k[f>>2]>>2]=c;r=h;return}}function Ag(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+8>>0]|0|0)!=0|0}function Bg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0}function Cg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+5>>0]|0|0}function Dg(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=qF(k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function Eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;h=t+44|0;i=t+40|0;j=t+36|0;m=t+32|0;u=t+28|0;s=t+24|0;q=t+20|0;o=t+16|0;p=t+12|0;n=t+8|0;f=t+4|0;e=t;k[i>>2]=a;k[j>>2]=b;k[m>>2]=c;k[u>>2]=d;k[s>>2]=0;k[q>>2]=0;k[o>>2]=0;k[p>>2]=k[u>>2]&1;k[n>>2]=0;if((k[j>>2]|0)>>>0<=1&(k[j>>2]|0)==0){u=Yj(49316)|0;k[h>>2]=u;u=k[h>>2]|0;r=t;return u|0}do if(k[(k[i>>2]|0)+44>>2]|0){k[s>>2]=k[(k[i>>2]|0)+44>>2];g=23}else{if(((k[n>>2]|0)!=0?(Hr(k[i>>2]|0)|0)!=0:0)?(u=Ms(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;if((k[n>>2]|0)!=0&(k[o>>2]|0)==0){k[f>>2]=0;c=k[(k[i>>2]|0)+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=KR((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;u=rL(c,u,L,k[(k[i>>2]|0)+160>>2]|0,f)|0;k[s>>2]=u;if((k[s>>2]|0)==0&(k[f>>2]|0)!=0){if((l[(k[i>>2]|0)+17>>0]|0|0)>1){u=ms(k[i>>2]|0,k[j>>2]|0)|0;k[q>>2]=u}d=k[i>>2]|0;if(!(k[q>>2]|0)){u=ZM(d,k[j>>2]|0,k[f>>2]|0,q)|0;k[s>>2]=u}else{c=k[d+64>>2]|0;u=k[(k[i>>2]|0)+160>>2]|0;u=KR((k[j>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Rs(c,u,L,k[f>>2]|0)|0}if(k[q>>2]|0){k[k[m>>2]>>2]=k[q>>2];k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}}if(k[s>>2]|0)break}u=rs(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,3)|0;k[e>>2]=u;if(!(k[e>>2]|0)){u=_M(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,e)|0;k[s>>2]=u;if(k[s>>2]|0)break;if(!(k[e>>2]|0)){k[k[m>>2]>>2]=0;k[q>>2]=0;k[s>>2]=7;break}}g=ss(k[(k[i>>2]|0)+212>>2]|0,k[j>>2]|0,k[e>>2]|0)|0;k[k[m>>2]>>2]=g;k[q>>2]=g;g=23}while(0);do if((g|0)==23){if(k[s>>2]|0){k[q>>2]=0;break}d=k[i>>2]|0;if(!((k[p>>2]|0)!=0?1:(k[(k[q>>2]|0)+16>>2]|0)==0)){u=d+192|0;k[u>>2]=(k[u>>2]|0)+1;k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}k[(k[q>>2]|0)+16>>2]=d;if((k[j>>2]|0)>>>0<=2147483647?(k[j>>2]|0)!=(((k[381]|0)/(k[(k[i>>2]|0)+160>>2]|0)|0)+1|0):0){if(((l[(k[i>>2]|0)+16>>0]|0|0)==0?!((k[p>>2]|0)!=0?1:(k[(k[i>>2]|0)+28>>2]|0)>>>0<(k[j>>2]|0)>>>0):0)?(k[k[(k[i>>2]|0)+64>>2]>>2]|0)!=0:0){u=(Hr(k[i>>2]|0)|0)!=0;if(u&(k[n>>2]|0)==0?(u=Ms(k[(k[i>>2]|0)+216>>2]|0,k[j>>2]|0,o)|0,k[s>>2]=u,(k[s>>2]|0)!=0):0)break;u=(k[i>>2]|0)+192+4|0;k[u>>2]=(k[u>>2]|0)+1;u=Ns(k[q>>2]|0,k[o>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0)break}else{if((k[j>>2]|0)>>>0>(k[(k[i>>2]|0)+164>>2]|0)>>>0){k[s>>2]=13;break}if(k[p>>2]|0){ek();if((k[j>>2]|0)>>>0<=(k[(k[i>>2]|0)+32>>2]|0)>>>0)tj(k[(k[i>>2]|0)+60>>2]|0,k[j>>2]|0)|0;Xt(k[i>>2]|0,k[j>>2]|0)|0;fk()}DR(k[(k[q>>2]|0)+4>>2]|0,0,k[(k[i>>2]|0)+160>>2]|0)|0}k[h>>2]=0;u=k[h>>2]|0;r=t;return u|0}u=Yj(49405)|0;k[s>>2]=u}while(0);if(k[q>>2]|0)Ls(k[q>>2]|0);Qs(k[i>>2]|0);k[k[m>>2]>>2]=0;k[h>>2]=k[s>>2];u=k[h>>2]|0;r=t;return u|0}function Fg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+4>>2]|0}function Gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+80|0;e=w+68|0;x=w+64|0;f=w+60|0;g=w+56|0;p=w+52|0;o=w+48|0;n=w+44|0;m=w+40|0;j=w+8|0;v=w+36|0;l=w;q=w+32|0;h=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;k[e>>2]=a;k[x>>2]=b;k[f>>2]=c;k[g>>2]=d;a=Zf(k[(k[e>>2]|0)+4>>2]|0)|0;k[p>>2]=a;a=Bg(k[(k[e>>2]|0)+24>>2]|0)|0;k[o>>2]=a;a=Bg(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=a;k[m>>2]=(k[o>>2]|0)<(k[n>>2]|0)?k[o>>2]|0:k[n>>2]|0;a=k[o>>2]|0;a=KR(k[x>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=j;k[c>>2]=a;k[c+4>>2]=L;k[v>>2]=0;if((k[o>>2]|0)!=(k[n>>2]|0)?(VJ(k[p>>2]|0)|0)!=0:0)k[v>>2]=8;x=j;c=k[o>>2]|0;c=yR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L;while(1){if(k[v>>2]|0){e=14;break}c=l;b=k[c+4>>2]|0;x=j;a=k[x+4>>2]|0;if(!((b|0)<(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0<(k[x>>2]|0)>>>0:0))){e=14;break}k[q>>2]=0;c=l;x=k[n>>2]|0;x=IR(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;k[h>>2]=x+1;if((k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[(k[(k[e>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=Eg(k[p>>2]|0,k[h>>2]|0,q,0)|0;k[v>>2]=x;if((0==(x|0)?(x=Pg(k[q>>2]|0)|0,k[v>>2]=x,0==(x|0)):0)?(x=l,c=k[o>>2]|0,c=JR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0,k[t>>2]=(k[f>>2]|0)+c,c=Fg(k[q>>2]|0)|0,k[s>>2]=c,c=l,x=k[n>>2]|0,x=JR(k[c>>2]|0,k[c+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,k[u>>2]=(k[s>>2]|0)+x,BR(k[u>>2]|0,k[t>>2]|0,k[m>>2]|0)|0,x=Zt(k[q>>2]|0)|0,i[x>>0]=0,x=l,(k[x>>2]|0)==0&(k[x+4>>2]|0)==0&(k[g>>2]|0)==0):0){x=(k[u>>2]|0)+28|0;kt(x,Dg(k[(k[e>>2]|0)+24>>2]|0)|0)}Hg(k[q>>2]|0)}c=k[n>>2]|0;x=l;c=zR(k[x>>2]|0,k[x+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;x=l;k[x>>2]=c;k[x+4>>2]=L}if((e|0)==14){r=w;return k[v>>2]|0}return 0}function Hg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Os(k[b>>2]|0);r=c;return}function Ig(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=Xg(Zf(k[(k[c>>2]|0)+24>>2]|0)|0)|0;k[d>>2]=a;k[(k[c>>2]|0)+44>>2]=k[k[d>>2]>>2];k[k[d>>2]>>2]=k[c>>2];k[(k[c>>2]|0)+40>>2]=1;r=b;return}function Jg(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);k[(k[(k[d>>2]|0)+4>>2]|0)+44>>2]=0;a=lM(k[(k[d>>2]|0)+4>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function Kg(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,l=0;j=r;r=r+32|0;l=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[l>>2]|0)+4>>2];wg(k[l>>2]|0);k[g>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];a=Pg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){l=k[h>>2]|0;r=j;return l|0}kt((k[g>>2]|0)+(36+(k[d>>2]<<2))|0,k[e>>2]|0);if((k[d>>2]|0)!=7){l=k[h>>2]|0;r=j;return l|0}i[(k[f>>2]|0)+18>>0]=k[e>>2];l=k[h>>2]|0;r=j;return l|0}function Lg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(k[(k[d>>2]|0)+12>>2]|0)Gj(k[(k[d>>2]|0)+12>>2]|0);k[c>>2]=(k[c>>2]|0)+1}d=(k[b>>2]|0)+24|0;k[d>>2]=k[d>>2]&-3;zu(k[b>>2]|0);CB(k[b>>2]|0);r=e;return}function Mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;if((k[d>>2]|0)==1){a=(k[f>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|16}a=yg(k[c>>2]|0,0)|0;k[g>>2]=a;do if(!(k[g>>2]|0)){k[e>>2]=k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2];if((l[(k[e>>2]|0)+18>>0]|0|0)==(k[d>>2]&255|0)?(l[(k[e>>2]|0)+19>>0]|0|0)==(k[d>>2]&255|0):0)break;a=yg(k[c>>2]|0,2)|0;k[g>>2]=a;if((k[g>>2]|0)==0?(a=Pg(k[(k[(k[f>>2]|0)+12>>2]|0)+72>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){i[(k[e>>2]|0)+18>>0]=k[d>>2];i[(k[e>>2]|0)+19>>0]=k[d>>2]}}while(0);a=(k[f>>2]|0)+22|0;j[a>>1]=(m[a>>1]|0)&-17;r=h;return k[g>>2]|0}function Ng(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+64>>2]|0}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+28>>2];r=c;return}function Pg(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+16>>2];if(k[(k[d>>2]|0)+44>>2]|0){k[c>>2]=k[(k[d>>2]|0)+44>>2];d=k[c>>2]|0;r=e;return d|0}if(((m[(k[b>>2]|0)+24>>1]|0)&4|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)>>>0>=(k[(k[b>>2]|0)+20>>2]|0)>>>0:0)if(k[(k[d>>2]|0)+104>>2]|0){d=Bt(k[b>>2]|0)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}b=k[b>>2]|0;if((k[(k[d>>2]|0)+156>>2]|0)>>>0>(k[(k[d>>2]|0)+160>>2]|0)>>>0){d=TM(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}else{d=UM(b)|0;k[c>>2]=d;d=k[c>>2]|0;r=e;return d|0}return 0}function Qg(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,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;n=o+12|0;j=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=0;c=k[e>>2]|0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[c+44>>2];n=k[d>>2]|0;r=o;return n|0}if((l[c+17>>0]|0)<3){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}c=k[e>>2]|0;do if(!(i[(k[e>>2]|0)+16>>0]|0)){b=(Hr(c)|0)!=0;c=k[e>>2]|0;if(b){h=Fs(k[c+212>>2]|0)|0;k[j>>2]=h;k[m>>2]=0;if(!(k[j>>2]|0)){h=Eg(k[e>>2]|0,1,m,0)|0;k[n>>2]=h;k[j>>2]=k[m>>2];k[(k[j>>2]|0)+12>>2]=0}if(k[j>>2]|0){j=Ct(k[e>>2]|0,k[j>>2]|0,k[(k[e>>2]|0)+28>>2]|0,1)|0;k[n>>2]=j}Hg(k[m>>2]|0);if(k[n>>2]|0)break;Gr(k[(k[e>>2]|0)+212>>2]|0);break}m=RM(c,0)|0;k[n>>2]=m;if((((k[n>>2]|0)==0?(m=SM(k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=Dt(k[e>>2]|0,0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0)?(m=k[e>>2]|0,m=Et(m,Fs(k[(k[e>>2]|0)+212>>2]|0)|0)|0,k[n>>2]=m,(k[n>>2]|0)==0):0){Gr(k[(k[e>>2]|0)+212>>2]|0);if((k[(k[e>>2]|0)+28>>2]|0)>>>0>(k[(k[e>>2]|0)+36>>2]|0)>>>0){k[h>>2]=(k[(k[e>>2]|0)+28>>2]|0)-((k[(k[e>>2]|0)+28>>2]|0)==(((k[381]|0)/(k[(k[e>>2]|0)+160>>2]|0)|0)+1|0)&1);m=Jr(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;if((k[n>>2]|0)!=0|(k[g>>2]|0)!=0)break}else if(k[g>>2]|0)break;m=Tg(k[e>>2]|0,k[f>>2]|0)|0;k[n>>2]=m}}else lj(k[c+96>>2]|0);while(0);if((k[n>>2]|0)==0?(Hr(k[e>>2]|0)|0)==0:0)i[(k[e>>2]|0)+17>>0]=5;k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Rg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+12>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function Sg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+20|0;e=h+8|0;f=h;g=h+16|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=dj(k[d>>2]|0,f)|0;k[g>>2]=a;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}b=k[f+4>>2]|0;a=e;c=k[a+4>>2]|0;if(!((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){g=k[g>>2]|0;r=h;return g|0}a=e;a=Cr(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function Tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(k[k[(k[c>>2]|0)+64>>2]>>2]|0){k[e>>2]=k[d>>2];b=Ii(k[(k[c>>2]|0)+64>>2]|0,21,k[e>>2]|0)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==12?0:b}if(k[f>>2]|0){b=k[f>>2]|0;r=g;return b|0}if(i[(k[c>>2]|0)+7>>0]|0){b=k[f>>2]|0;r=g;return b|0}b=Dr(k[(k[c>>2]|0)+64>>2]|0,l[(k[c>>2]|0)+12>>0]|0)|0;k[f>>2]=b;b=k[f>>2]|0;r=g;return b|0}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+28>>2]=k[e>>2];r=c;return}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(l[(k[d>>2]|0)+8>>0]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}wg(k[d>>2]|0);do if((l[(k[d>>2]|0)+8>>0]|0|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];a=QM(k[k[f>>2]>>2]|0)|0;k[g>>2]=a;if(!((k[g>>2]|0)!=0&(k[e>>2]|0)==0)){g=(k[d>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+-1;i[(k[f>>2]|0)+20>>0]=1;LM(k[f>>2]|0);break}k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}while(0);MM(k[d>>2]|0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function Wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((l[(k[d>>2]|0)+8>>0]|0)==2){k[f>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if((i[(k[f>>2]|0)+17>>0]|0)!=0?(b=PM(k[f>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}if(i[(k[f>>2]|0)+19>>0]|0)Ug(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+44>>2]|0);b=Qg(k[k[f>>2]>>2]|0,k[e>>2]|0,0)|0;k[g>>2]=b}k[c>>2]=k[g>>2];b=k[c>>2]|0;r=h;return b|0}function Xg(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+96|0}function Yg(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,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;n=p+8|0;o=p+4|0;g=p;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);if(!(k[e>>2]|0)){c=DH(k[h>>2]|0,0,0)|0;k[e>>2]=c;k[m>>2]=c;if(k[m>>2]|0)k[f>>2]=0}else k[m>>2]=0;if((k[e>>2]|0)!=0?(c=EI(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0,k[n>>2]=c,(k[n>>2]|0)!=0):0)k[m>>2]=k[n>>2];if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){c=k[d>>2]|0;MM(c);c=k[m>>2]|0;r=p;return c|0}c=yr(k[k[h>>2]>>2]|0)|0;k[o>>2]=c;if(k[o>>2]|0)k[m>>2]=k[o>>2];if(!(EF(k[h>>2]|0,1,j,0)|0)){c=or((k[(k[j>>2]|0)+56>>2]|0)+28|0)|0;k[g>>2]=c;if(!(k[g>>2]|0))Og(k[k[h>>2]>>2]|0,g);k[(k[h>>2]|0)+44>>2]=k[g>>2];GB(k[j>>2]|0)}i[(k[h>>2]|0)+20>>0]=1;LM(k[h>>2]|0);c=k[d>>2]|0;MM(c);c=k[m>>2]|0;r=p;return c|0}function Zg(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;d=l+20|0;g=l+16|0;j=l+12|0;e=l+8|0;f=l+4|0;h=l;k[b>>2]=a;if((k[(k[b>>2]|0)+80>>2]|0)!=1691352191){r=l;return}if(uu(k[b>>2]|0)|0){r=l;return}GI(k[b>>2]|0,0);HI(k[b>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(BB(k[(k[g>>2]|0)+4>>2]|0)|0,k[(k[g>>2]|0)+4>>2]=0,(k[d>>2]|0)!=1):0)k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=(k[d>>2]|0)+1}if(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0)Gj(k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);zu(k[b>>2]|0);CB(k[b>>2]|0);k[c>>2]=k[(k[b>>2]|0)+348+8>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];do{ru(k[b>>2]|0,k[e>>2]|0);k[j>>2]=k[(k[e>>2]|0)+8>>2];bg(k[b>>2]|0,k[e>>2]|0);k[e>>2]=k[j>>2]}while((k[e>>2]|0)!=0);k[c>>2]=k[k[c>>2]>>2]}Ij((k[b>>2]|0)+348|0);k[c>>2]=k[(k[b>>2]|0)+364+8>>2];while(1){if(!(k[c>>2]|0))break;k[f>>2]=k[(k[c>>2]|0)+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3)break;if(k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0)_b[k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]&255](k[(k[f>>2]|0)+((k[d>>2]|0)*20|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}bg(k[b>>2]|0,k[f>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Ij((k[b>>2]|0)+364|0);k[c>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[c>>2]|0))break;k[h>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[h>>2]|0)+12>>2]|0)_b[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0);RH(k[b>>2]|0,k[h>>2]|0);bg(k[b>>2]|0,k[h>>2]|0);k[c>>2]=k[k[c>>2]>>2]}Ij((k[b>>2]|0)+320|0);vg(k[b>>2]|0,0);lh(k[(k[b>>2]|0)+240>>2]|0);k[(k[b>>2]|0)+80>>2]=-1254786768;bg(k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+16+12>>2]|0);k[(k[b>>2]|0)+80>>2]=-1623446221;if(i[(k[b>>2]|0)+256+6>>0]|0)Ud(k[(k[b>>2]|0)+256+32>>2]|0);Ud(k[b>>2]|0);r=l;return}function _g(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+8|0;d=c+4|0;k[d>>2]=a;if(!(k[k[d>>2]>>2]|0)){$d(21,45104,c);k[b>>2]=1;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=0;d=k[b>>2]|0;r=c;return d|0}return 0}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;e=c+12|0;d=c+8|0;g=c;k[e>>2]=a;k[d>>2]=b;YH(k[k[e>>2]>>2]|0,g)|0;f=k[(k[e>>2]|0)+188>>2]|0;e=k[(k[e>>2]|0)+192>>2]|0;a=k[(k[d>>2]|0)+168>>2]|0;b=(k[d>>2]|0)+128|0;b=yR(k[g>>2]|0,k[g+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=KR(b|0,L|0,1e6,0)|0;ic[f&255](e,a,b,L);b=(k[d>>2]|0)+128|0;k[b>>2]=0;k[b+4>>2]=0;r=c;return}function ah(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!((k[(k[b>>2]|0)+40>>2]|0)!=-1108210269?(k[(k[b>>2]|0)+40>>2]|0)!=1369188723:0)){a=ch(k[b>>2]|0)|0;k[c>>2]=a}hv(k[b>>2]|0);r=d;return k[c>>2]|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)==3082?1:(l[(k[d>>2]|0)+69>>0]|0|0)!=0){b=KM(k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}else{k[c>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];b=k[c>>2]|0;r=f;return b|0}return 0}function ch(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];hI(k[b>>2]|0)|0;a=k[b>>2]|0;if((k[(k[b>>2]|0)+76>>2]|0)>=0){aI(a)|0;bg(k[c>>2]|0,k[(k[b>>2]|0)+44>>2]|0);k[(k[b>>2]|0)+44>>2]=0;if((l[(k[b>>2]|0)+89>>0]|0)>>>3&1){d=(k[b>>2]|0)+87|0;i[d>>0]=i[d>>0]&-2|1}}else if((k[a+80>>2]|0)!=0?(i[(k[b>>2]|0)+87>>0]&1|0)!=0:0){g=k[c>>2]|0;f=k[(k[b>>2]|0)+80>>2]|0;a=(k[(k[b>>2]|0)+44>>2]|0)!=0?18999:0;k[d>>2]=k[(k[b>>2]|0)+44>>2];tg(g,f,a,d);bg(k[c>>2]|0,k[(k[b>>2]|0)+44>>2]|0);k[(k[b>>2]|0)+44>>2]=0}JM(k[b>>2]|0);g=(k[b>>2]|0)+136|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[b>>2]|0)+40>>2]=649915045;r=e;return k[(k[b>>2]|0)+80>>2]&k[(k[c>>2]|0)+56>>2]|0}function dh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+40>>2]=-1108210269;k[(k[c>>2]|0)+76>>2]=-1;k[(k[c>>2]|0)+80>>2]=0;i[(k[c>>2]|0)+86>>0]=2;k[(k[c>>2]|0)+92>>2]=0;k[(k[c>>2]|0)+72>>2]=1;i[(k[c>>2]|0)+88>>0]=-1;k[(k[c>>2]|0)+104>>2]=0;a=(k[c>>2]|0)+144|0;k[a>>2]=0;k[a+4>>2]=0;r=b;return}function eh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((m[(k[b>>2]|0)+8>>1]|0)&9312|0)==0?(k[(k[b>>2]|0)+24>>2]|0)==0:0){r=c;return}IM(k[b>>2]|0);r=c;return}function fh(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if((m[(k[c>>2]|0)+8>>1]|0)&16384){a=(k[(k[c>>2]|0)+12>>2]|0)+(k[k[c>>2]>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[d>>2]|0)<=0?1:a;if(!(Kx(k[c>>2]|0,k[d>>2]|0,1)|0)){DR((k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0,0,k[k[c>>2]>>2]|0)|0;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+(k[k[c>>2]>>2]|0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-16897;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;do if(k[d>>2]|0){if(((m[(k[d>>2]|0)+8>>1]|0)&514|0)==514?(l[(k[d>>2]|0)+10>>0]|0|0)==(l[e>>0]|0|0):0){k[c>>2]=k[(k[d>>2]|0)+16>>2];break}if((m[(k[d>>2]|0)+8>>1]|0)&1){k[c>>2]=0;break}else{a=HM(k[d>>2]|0,i[e>>0]|0)|0;k[c>>2]=a;break}}else k[c>>2]=0;while(0);r=f;return k[c>>2]|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;c=g+4|0;d=g+12|0;f=g;k[c>>2]=a;i[d>>0]=b;k[f>>2]=k[c>>2];if(((m[(k[f>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[c>>2]|0)+10>>0]|0|0)==(l[d>>0]|0|0):0){k[e>>2]=k[(k[f>>2]|0)+12>>2];f=k[e>>2]|0;r=g;return f|0}a=m[(k[f>>2]|0)+8>>1]|0;if((m[(k[f>>2]|0)+8>>1]|0)&16){b=k[(k[f>>2]|0)+12>>2]|0;if(a&16384){k[e>>2]=b+(k[k[f>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{k[e>>2]=b;f=k[e>>2]|0;r=g;return f|0}}else if(a&1){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}else{f=GM(k[c>>2]|0,i[d>>0]|0)|0;k[e>>2]=f;f=k[e>>2]|0;r=g;return f|0}return 0}function ih(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0.0;f=r;r=r+32|0;c=f+8|0;d=f+16|0;e=f;k[d>>2]=a;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&8){p[c>>3]=+p[b>>3];g=+p[c>>3];r=f;return +g}a=k[d>>2]|0;if((m[b+8>>1]|0)&4){e=a;p[c>>3]=+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0);g=+p[c>>3];r=f;return +g}if((m[a+8>>1]|0)&18){p[e>>3]=0.0;_y(k[(k[d>>2]|0)+16>>2]|0,e,k[(k[d>>2]|0)+12>>2]|0,i[(k[d>>2]|0)+10>>0]|0)|0;p[c>>3]=+p[e>>3];g=+p[c>>3];r=f;return +g}else{p[c>>3]=0.0;g=+p[c>>3];r=f;return +g}return 0.0}function jh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+8|0;c=f+20|0;d=f+16|0;e=f;k[c>>2]=a;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(!(k[d>>2]&4)){if(k[d>>2]&8){a=Gx(+p[k[c>>2]>>3])|0;e=b;k[e>>2]=a;k[e+4>>2]=L;break}if(k[d>>2]&18){d=e;k[d>>2]=0;k[d+4>>2]=0;Ui(k[(k[c>>2]|0)+16>>2]|0,e,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0;d=e;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a;break}else{e=b;k[e>>2]=0;k[e+4>>2]=0;break}}else{d=k[c>>2]|0;a=k[d+4>>2]|0;e=b;k[e>>2]=k[d>>2];k[e+4>>2]=a}while(0);e=b;L=k[e+4>>2]|0;r=f;return k[e>>2]|0}function kh(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&16384)fh(k[c>>2]|0)|0;k[d>>2]=m[(k[c>>2]|0)+8>>1];do if(k[d>>2]&18){if((k[(k[c>>2]|0)+24>>2]|0)!=0?(k[(k[c>>2]|0)+16>>2]|0)==(k[(k[c>>2]|0)+20>>2]|0):0)break;if(!(Kx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0)){i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-4097;k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function lh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}eh(k[b>>2]|0);bg(k[(k[b>>2]|0)+32>>2]|0,k[b>>2]|0);r=c;return}function mh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;g=r;r=r+32|0;f=g+12|0;m=g+8|0;l=g+4|0;j=g+16|0;h=g;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;i[j>>0]=d;k[h>>2]=e;if((ph(k[k[f>>2]>>2]|0,k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,k[h>>2]|0)|0)!=18){r=g;return}Ce(k[f>>2]|0);r=g;return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((k[e>>2]|0)==0|(k[e>>2]|0)==(-1|0)))_b[k[e>>2]&255](k[d>>2]|0);if(!(k[f>>2]|0)){r=g;return 18}Ce(k[f>>2]|0);r=g;return 18}function oh(a,b){a=a|0;b=+b;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=b;rh(k[c>>2]|0);if(YF(+p[d>>3])|0){r=e;return}p[k[c>>2]>>3]=+p[d>>3];j[(k[c>>2]|0)+8>>1]=8;r=e;return}function ph(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+28|0;n=u+24|0;f=u+20|0;v=u+16|0;o=u+34|0;p=u+12|0;t=u+8|0;s=u+4|0;q=u+32|0;g=u;k[n>>2]=a;k[f>>2]=b;k[v>>2]=c;i[o>>0]=d;k[p>>2]=e;k[t>>2]=k[v>>2];j[q>>1]=0;d=k[n>>2]|0;if(!(k[f>>2]|0)){rh(d);k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}if(k[d+32>>2]|0)k[s>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+92>>2];else k[s>>2]=1e9;j[q>>1]=(l[o>>0]|0)==0?16:2;if((k[t>>2]|0)<0){a:do if((l[o>>0]|0)==1){v=Tf(k[f>>2]|0)|0;k[t>>2]=v;if((k[t>>2]|0)>(k[s>>2]|0))k[t>>2]=(k[s>>2]|0)+1}else{k[t>>2]=0;while(1){if((k[t>>2]|0)>(k[s>>2]|0))break a;if(!(i[(k[f>>2]|0)+(k[t>>2]|0)>>0]|i[(k[f>>2]|0)+((k[t>>2]|0)+1)>>0]))break a;k[t>>2]=(k[t>>2]|0)+2}}while(0);j[q>>1]=m[q>>1]|512}do if((k[p>>2]|0)!=(-1|0)){v=(k[p>>2]|0)==170;eh(k[n>>2]|0);d=k[f>>2]|0;k[(k[n>>2]|0)+16>>2]=d;if(v){k[(k[n>>2]|0)+20>>2]=d;v=pu(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=v;break}else{k[(k[n>>2]|0)+36>>2]=k[p>>2];j[q>>1]=m[q>>1]|((k[p>>2]|0)==0?2048:1024);break}}else{k[g>>2]=k[t>>2];if(m[q>>1]&512)k[g>>2]=(k[g>>2]|0)+((l[o>>0]|0)==1?1:2);if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}if(!(Jx(k[n>>2]|0,(k[g>>2]|0)>32?k[g>>2]|0:32)|0)){BR(k[(k[n>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;break}k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}while(0);k[(k[n>>2]|0)+12>>2]=k[t>>2];j[(k[n>>2]|0)+8>>1]=j[q>>1]|0;i[(k[n>>2]|0)+10>>0]=(l[o>>0]|0)==0?1:l[o>>0]|0;if((l[(k[n>>2]|0)+10>>0]|0)!=1?(FM(k[n>>2]|0)|0)!=0:0){k[h>>2]=7;v=k[h>>2]|0;r=u;return v|0}if((k[t>>2]|0)>(k[s>>2]|0)){k[h>>2]=18;v=k[h>>2]|0;r=u;return v|0}else{k[h>>2]=0;v=k[h>>2]|0;r=u;return v|0}return 0}function qh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((m[(k[d>>2]|0)+8>>1]|0)&9312){a=e;EM(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0);r=f;return}else{c=e;e=k[c+4>>2]|0;a=k[d>>2]|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;j[(k[d>>2]|0)+8>>1]=4;r=f;return}}function rh(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if((m[(k[c>>2]|0)+8>>1]|0)&9312){UF(a);r=b;return}else{j[a+8>>1]=1;r=b;return}}function sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((m[(k[c>>2]|0)+8>>1]|0)&9312)UF(k[c>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];k[a+8>>2]=k[b+8>>2];k[a+12>>2]=k[b+12>>2];k[a+16>>2]=k[b+16>>2];a=(k[c>>2]|0)+8|0;j[a>>1]=(m[a>>1]|0)&-1025;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){e=k[e>>2]|0;r=f;return e|0}if((m[(k[d>>2]|0)+8>>1]|0)&2048){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|4096;a=kh(k[c>>2]|0)|0;k[e>>2]=a;e=k[e>>2]|0;r=f;return e|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;eh(k[c>>2]|0);j[(k[c>>2]|0)+8>>1]=16400;k[(k[c>>2]|0)+12>>2]=0;if((k[d>>2]|0)<0)k[d>>2]=0;k[k[c>>2]>>2]=k[d>>2];i[(k[c>>2]|0)+10>>0]=1;k[(k[c>>2]|0)+16>>2]=0;r=e;return}function uh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=44478;if((k[b>>2]|0)!=516){k[b>>2]=k[b>>2]&255;if((k[b>>2]|0)>=0&(k[b>>2]|0)<27?(k[7068+(k[b>>2]<<2)>>2]|0)!=0:0)k[c>>2]=k[7068+(k[b>>2]<<2)>>2]}else k[c>>2]=44492;r=d;return k[c>>2]|0}function vh(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+69>>0]|0){r=c;return}if(l[(k[b>>2]|0)+70>>0]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=1;if((k[(k[b>>2]|0)+164>>2]|0)>0)k[(k[b>>2]|0)+248>>2]=1;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=c;return}function wh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;k[c>>2]=a;if(!(k[c>>2]|0)){$d(21,44438,d);k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}else{a=_g(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function xh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;if((k[(k[c>>2]|0)+40>>2]|0)!=-1108210269)he(k[c>>2]|0)|0;k[d>>2]=k[k[c>>2]>>2];a=k[c>>2]|0;if(i[(k[d>>2]|0)+69>>0]|0){k[a+80>>2]=7;k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}if((k[a+76>>2]|0)<=0?(i[(k[c>>2]|0)+87>>0]&1|0)!=0:0){k[(k[c>>2]|0)+80>>2]=17;k[e>>2]=1}else{if((k[(k[c>>2]|0)+76>>2]|0)<0){if(!(k[(k[d>>2]|0)+152>>2]|0))k[(k[d>>2]|0)+248>>2]=0;if(((k[(k[d>>2]|0)+188>>2]|0)!=0?(i[(k[d>>2]|0)+144+5>>0]|0)==0:0)?(k[(k[c>>2]|0)+168>>2]|0)!=0:0)YH(k[k[d>>2]>>2]|0,(k[c>>2]|0)+128|0)|0;a=(k[d>>2]|0)+152|0;k[a>>2]=(k[a>>2]|0)+1;if(!((l[(k[c>>2]|0)+89>>0]|0)>>>5&1)){a=(k[d>>2]|0)+160|0;k[a>>2]=(k[a>>2]|0)+1}if((l[(k[c>>2]|0)+89>>0]|0)>>>6&1){a=(k[d>>2]|0)+156|0;k[a>>2]=(k[a>>2]|0)+1}k[(k[c>>2]|0)+76>>2]=0}if(i[(k[c>>2]|0)+89>>0]&3){a=ZH(k[c>>2]|0)|0;k[e>>2]=a}else{a=(k[d>>2]|0)+164|0;k[a>>2]=(k[a>>2]|0)+1;a=_H(k[c>>2]|0)|0;k[e>>2]=a;a=(k[d>>2]|0)+164|0;k[a>>2]=(k[a>>2]|0)+-1}if((k[e>>2]|0)!=100?(a=(k[c>>2]|0)+128|0,g=k[a+4>>2]|0,(g|0)>0|(g|0)==0&(k[a>>2]|0)>>>0>0):0)$g(k[d>>2]|0,k[c>>2]|0);if((k[e>>2]|0)==101?(g=$H(k[d>>2]|0)|0,k[(k[c>>2]|0)+80>>2]=g,(k[(k[c>>2]|0)+80>>2]|0)!=0):0)k[e>>2]=1;k[(k[d>>2]|0)+52>>2]=k[e>>2];if(7==(bh(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+80>>2]|0)|0))k[(k[c>>2]|0)+80>>2]=7}if(((k[e>>2]|0)!=100?((l[(k[c>>2]|0)+89>>0]|0)>>>7&255|0)!=0:0)&(k[e>>2]|0)!=101){g=aI(k[c>>2]|0)|0;k[e>>2]=g}k[b>>2]=k[e>>2]&k[(k[d>>2]|0)+56>>2];g=k[b>>2]|0;r=f;return g|0}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+20|0;c=g+16|0;f=g+12|0;e=g+8|0;h=g+4|0;d=g;k[c>>2]=a;a=fe(k[c>>2]|0)|0;k[h>>2]=a;a=MA(k[c>>2]|0)|0;k[d>>2]=a;a=bi(k[d>>2]|0,k[h>>2]|0,-1,0,k[c>>2]|0,e,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){WH(k[e>>2]|0,k[c>>2]|0);Ih(k[e>>2]|0,k[c>>2]|0)|0;XH(k[e>>2]|0);ah(k[e>>2]|0)|0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}if((k[f>>2]|0)==7)vh(k[d>>2]|0);k[b>>2]=k[f>>2];h=k[b>>2]|0;r=g;return h|0}function zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}b=(Tf(k[e>>2]|0)|0)+1|0;k[f>>2]=b;b=k[f>>2]|0;b=Kh(k[d>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(k[g>>2]|0)BR(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[e>>2]|0;if((k[d>>2]|0)>0){Jx(b,k[d>>2]|0)|0;j[(k[e>>2]|0)+8>>1]=8192;k[k[e>>2]>>2]=k[(k[c>>2]|0)+4>>2];if(k[(k[e>>2]|0)+16>>2]|0)DR(k[(k[e>>2]|0)+16>>2]|0,0,k[d>>2]|0)|0}else{rh(b);k[(k[e>>2]|0)+16>>2]=0}r=f;return k[(k[e>>2]|0)+16>>2]|0}function Bh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;d=f;e=f+8|0;k[g>>2]=a;a=d;k[a>>2]=b;k[a+4>>2]=c;a=d;a=Kh(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}DR(k[e>>2]|0,0,k[d>>2]|0)|0;g=k[e>>2]|0;r=f;return g|0}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];if(((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)!=0:0)?((k[c>>2]|0)>=0?(k[c>>2]|0)<(m[(k[e>>2]|0)+84>>1]|0|0):0):0){k[d>>2]=(k[(k[e>>2]|0)+20>>2]|0)+((k[c>>2]|0)*40|0);g=k[d>>2]|0;r=f;return g|0}if((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0)vg(k[k[e>>2]>>2]|0,25);g=VH()|0;k[d>>2]=g;g=k[d>>2]|0;r=f;return g|0}function Dh(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if(!(k[b>>2]|0)){r=c;return}d=bh(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+80>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=d;r=c;return}function Eh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;m=n+12|0;l=n+8|0;j=n+4|0;h=n;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[m>>2]=0;k[l>>2]=k[o>>2];k[h>>2]=k[k[l>>2]>>2];c=Ie(k[o>>2]|0)|0;k[j>>2]=c;if(!((k[e>>2]|0)>=0?(k[e>>2]|0)<(k[j>>2]|0):0)){o=k[m>>2]|0;r=n;return o|0}o=ha(k[g>>2]|0,k[j>>2]|0)|0;k[e>>2]=(k[e>>2]|0)+o;o=bc[k[f>>2]&255]((k[(k[l>>2]|0)+16>>2]|0)+((k[e>>2]|0)*40|0)|0)|0;k[m>>2]=o;if(!(i[(k[h>>2]|0)+69>>0]|0)){o=k[m>>2]|0;r=n;return o|0}xi(k[h>>2]|0);k[m>>2]=0;o=k[m>>2]|0;r=n;return o|0}function Fh(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;m=s+12|0;n=s+32|0;o=s+8|0;p=s+4|0;q=s;k[t>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=e;i[n>>0]=f;k[o>>2]=k[t>>2];c=Gh(k[o>>2]|0,k[g>>2]|0)|0;k[q>>2]=c;if(k[q>>2]|0){if(!((k[m>>2]|0)!=0&(k[m>>2]|0)!=(-1|0))){t=k[q>>2]|0;r=s;return t|0}_b[k[m>>2]&255](k[h>>2]|0);t=k[q>>2]|0;r=s;return t|0}if(!(k[h>>2]|0)){t=k[q>>2]|0;r=s;return t|0}k[p>>2]=(k[(k[o>>2]|0)+60>>2]|0)+(((k[g>>2]|0)-1|0)*40|0);t=ph(k[p>>2]|0,k[h>>2]|0,k[j>>2]|0,i[n>>0]|0,k[m>>2]|0)|0;k[q>>2]=t;if((k[q>>2]|0)==0?(l[n>>0]|0|0)!=0:0){t=nu(k[p>>2]|0,l[(k[k[o>>2]>>2]|0)+66>>0]|0)|0;k[q>>2]=t}vg(k[k[o>>2]>>2]|0,k[q>>2]|0);t=bh(k[k[o>>2]>>2]|0,k[q>>2]|0)|0;k[q>>2]=t;t=k[q>>2]|0;r=s;return t|0}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,m=0;m=r;r=r+32|0;g=m;c=m+16|0;d=m+12|0;e=m+8|0;f=m+4|0;k[d>>2]=a;k[e>>2]=b;if(wh(k[d>>2]|0)|0){h=Vf(73738)|0;k[c>>2]=h;h=k[c>>2]|0;r=m;return h|0}if((k[(k[d>>2]|0)+40>>2]|0)==-1108210269?(k[(k[d>>2]|0)+76>>2]|0)<0:0){if((k[e>>2]|0)>=1?(k[e>>2]|0)<=(j[(k[d>>2]|0)+68>>1]|0):0){k[e>>2]=(k[e>>2]|0)+-1;k[f>>2]=(k[(k[d>>2]|0)+60>>2]|0)+((k[e>>2]|0)*40|0);eh(k[f>>2]|0);j[(k[f>>2]|0)+8>>1]=1;vg(k[k[d>>2]>>2]|0,0);do if((l[(k[d>>2]|0)+89>>0]|0)>>>7&255){if(!((k[e>>2]|0)<32?(k[(k[d>>2]|0)+188>>2]&1<>2]|0)!=0:0))h=12;if((h|0)==12?(k[(k[d>>2]|0)+188>>2]|0)!=-1:0)break;h=(k[d>>2]|0)+87|0;i[h>>0]=i[h>>0]&-2|1}while(0);k[c>>2]=0;h=k[c>>2]|0;r=m;return h|0}vg(k[k[d>>2]>>2]|0,25);k[c>>2]=25;h=k[c>>2]|0;r=m;return h|0}vg(k[k[d>>2]>>2]|0,21);k[g>>2]=k[(k[d>>2]|0)+168>>2];$d(21,40257,g);h=Vf(73746)|0;k[c>>2]=h;h=k[c>>2]|0;r=m;return h|0}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[e>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}a:do if(k[f>>2]|0){k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+70>>1]|0))break a;k[l>>2]=k[(k[(k[e>>2]|0)+64>>2]|0)+(k[h>>2]<<2)>>2];if(((k[l>>2]|0)!=0?(VQ(k[l>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)==0:0)?(i[(k[l>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)break;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=(k[h>>2]|0)+1;b=k[d>>2]|0;r=m;return b|0}while(0);k[d>>2]=0;b=k[d>>2]|0;r=m;return b|0}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;h=f+16|0;g=f+12|0;d=f+8|0;e=f+4|0;c=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[e>>2]=k[g>>2];k[c>>2]=0;while(1){if((k[c>>2]|0)>=(j[(k[d>>2]|0)+68>>1]|0))break;UH((k[(k[e>>2]|0)+60>>2]|0)+((k[c>>2]|0)*40|0)|0,(k[(k[d>>2]|0)+60>>2]|0)+((k[c>>2]|0)*40|0)|0);k[c>>2]=(k[c>>2]|0)+1}r=f;return 0}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;g=h+8|0;f=h;e=h+24|0;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+10>>0]|0;if(!(_y(k[(k[c>>2]|0)+16>>2]|0,g,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){r=h;return}if(!(Ui(k[(k[c>>2]|0)+16>>2]|0,f,k[(k[c>>2]|0)+12>>2]|0,i[e>>0]|0)|0)){a=k[f+4>>2]|0;g=k[c>>2]|0;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|4;r=h;return}p[k[c>>2]>>3]=+p[g>>3];g=(k[c>>2]|0)+8|0;j[g>>1]=m[g>>1]|0|8;if(!(k[d>>2]|0)){r=h;return}Fx(k[c>>2]|0);r=h;return}function Kh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(k[e>>2]|0){g=f;g=Vw(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}else{a=f;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[g>>2]=a;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function Lh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+16|0;o=q;h=q+52|0;j=q+48|0;e=q+44|0;l=q+40|0;m=q+36|0;n=q+32|0;g=q+28|0;f=q+24|0;k[j>>2]=a;k[e>>2]=b;k[l>>2]=c;k[m>>2]=d;if(Fz(k[j>>2]|0)|0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}c=Bi(k[k[j>>2]>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[g>>2]=(k[e>>2]|0)!=0?40230:40243;if(((vi(k[k[j>>2]>>2]|0,k[m>>2]|0)|0)<1?(c=Aj((k[k[j>>2]>>2]|0)+320|0,k[l>>2]|0)|0,k[f>>2]=c,(k[f>>2]|0)!=0):0)?(QH(k[j>>2]|0,k[f>>2]|0)|0)!=0:0){k[h>>2]=k[(k[f>>2]|0)+16>>2];p=k[h>>2]|0;r=q;return p|0}b=k[j>>2]|0;e=k[g>>2]|0;if(k[m>>2]|0){m=k[m>>2]|0;p=k[l>>2]|0;k[o>>2]=e;k[o+4>>2]=m;k[o+8>>2]=p;Mh(b,30609,o)}else{o=k[l>>2]|0;k[p>>2]=e;k[p+4>>2]=o;Mh(b,30619,p)}i[(k[j>>2]|0)+17>>0]=1}k[h>>2]=k[n>>2];p=k[h>>2]|0;r=q;return p|0}function Mh(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;g=r;r=r+48|0;d=g+32|0;j=g+28|0;f=g+24|0;h=g+8|0;e=g;k[d>>2]=a;k[j>>2]=b;k[e>>2]=k[k[d>>2]>>2];k[h>>2]=c;b=nx(k[e>>2]|0,k[j>>2]|0,h)|0;k[f>>2]=b;if(i[(k[e>>2]|0)+73>>0]|0){bg(k[e>>2]|0,k[f>>2]|0);r=g;return}else{j=(k[d>>2]|0)+68|0;k[j>>2]=(k[j>>2]|0)+1;bg(k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0);k[(k[d>>2]|0)+4>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=1;r=g;return}}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;h=e+28|0;g=e+24|0;f=e+8|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=nx(k[h>>2]|0,k[g>>2]|0,f)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];a=Bh(k[d>>2]|0,208,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[k[e>>2]>>2]=k[d>>2];if(k[(k[d>>2]|0)+4>>2]|0)k[(k[(k[d>>2]|0)+4>>2]|0)+48>>2]=k[e>>2];k[(k[e>>2]|0)+52>>2]=k[(k[d>>2]|0)+4>>2];k[(k[e>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+4>>2]=k[e>>2];k[(k[e>>2]|0)+40>>2]=649915045;k[(k[e>>2]|0)+24>>2]=k[c>>2];k[b>>2]=k[e>>2];a=k[b>>2]|0;r=f;return a|0}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=-1e6;if(!(k[d>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){c=6;break}if((k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)==(k[d>>2]|0)){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){e=k[e>>2]|0;r=f;return e|0}return 0}function Qh(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,i=0,j=0,l=0,m=0,n=0,o=0;h=r;r=r+32|0;j=h+24|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;i=h+4|0;g=h;k[j>>2]=a;k[o>>2]=b;k[n>>2]=c;k[m>>2]=d;k[l>>2]=e;k[i>>2]=f;f=jx(k[j>>2]|0,k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;k[g>>2]=f;Uh(k[j>>2]|0,k[g>>2]|0,k[i>>2]|0,-14);r=h;return k[g>>2]|0}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if(i[(k[k[c>>2]>>2]|0)+69>>0]|0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[(k[c>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=i[d>>0]|0;r=e;return}function Sh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[o+12>>2]=d;if(((k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]|0)|0)>(k[(k[(k[f>>2]|0)+24>>2]|0)+88>>2]|0)?(lx(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}a=(k[(k[f>>2]|0)+4>>2]|0)+((k[(k[f>>2]|0)+32>>2]|0)*20|0)|0;k[n>>2]=a;k[m>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[g>>2]|0))break;i[k[n>>2]>>0]=i[k[h>>2]>>0]|0;k[(k[n>>2]|0)+4>>2]=i[(k[h>>2]|0)+1>>0];k[(k[n>>2]|0)+8>>2]=i[(k[h>>2]|0)+2>>0];if((l[35407+(l[k[h>>2]>>0]|0)>>0]&1|0)!=0?(i[(k[h>>2]|0)+2>>0]|0)>0:0){a=(k[n>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+32>>2]|0)}k[(k[n>>2]|0)+12>>2]=i[(k[h>>2]|0)+3>>0];i[(k[n>>2]|0)+1>>0]=0;k[(k[n>>2]|0)+16>>2]=0;i[(k[n>>2]|0)+3>>0]=0;k[j>>2]=(k[j>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+4;k[n>>2]=(k[n>>2]|0)+20}n=(k[f>>2]|0)+32|0;k[n>>2]=(k[n>>2]|0)+(k[g>>2]|0);k[e>>2]=k[m>>2];n=k[e>>2]|0;r=o;return n|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;a=(k[c>>2]|0)+96|0;k[a>>2]=k[a>>2]|1<>2];if((k[d>>2]|0)==1){r=e;return}if(!(PH(k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+4>>2]|0)|0)){r=e;return}a=(k[c>>2]|0)+100|0;k[a>>2]=k[a>>2]|1<>2];r=e;return}function Uh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;g=m;k[e>>2]=a;k[f>>2]=b;k[h>>2]=c;k[j>>2]=d;k[g>>2]=k[k[e>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){if((k[j>>2]|0)==-10){r=m;return}GA(k[g>>2]|0,k[j>>2]|0,k[h>>2]|0);r=m;return}if((k[f>>2]|0)<0)k[f>>2]=(k[(k[e>>2]|0)+32>>2]|0)-1;k[l>>2]=(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0);if((k[j>>2]|0)<0?(i[(k[l>>2]|0)+1>>0]|0)==0:0){e=k[h>>2]|0;if((k[j>>2]|0)==-14){k[(k[l>>2]|0)+16>>2]=e;i[(k[l>>2]|0)+1>>0]=-14;r=m;return}if(!e){r=m;return}k[(k[l>>2]|0)+16>>2]=k[h>>2];i[(k[l>>2]|0)+1>>0]=k[j>>2];if((k[j>>2]|0)!=-10){r=m;return}OH(k[h>>2]|0);r=m;return}NH(k[e>>2]|0,k[l>>2]|0,k[h>>2]|0,k[j>>2]|0);r=m;return}function Vh(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;q=r;r=r+48|0;c=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;m=q+28|0;h=q+24|0;g=q+20|0;n=q+16|0;f=q+12|0;p=q;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[o>>2]=j[(k[d>>2]|0)+444>>1];k[m>>2]=k[(k[d>>2]|0)+76>>2];k[h>>2]=k[(k[d>>2]|0)+72>>2];k[g>>2]=k[(k[d>>2]|0)+400>>2];b=k[(k[d>>2]|0)+84>>2]|0;k[n>>2]=b;k[n>>2]=(k[n>>2]|0)==0?1:b;k[m>>2]=(k[m>>2]|0)+(k[h>>2]|0);if((k[h>>2]|0)==0&(k[m>>2]|0)>0)k[m>>2]=(k[m>>2]|0)+1;k[f>>2]=((k[(k[c>>2]|0)+32>>2]|0)*20|0)+7&-8;k[p>>2]=(k[(k[c>>2]|0)+4>>2]|0)+(k[f>>2]|0);k[p+4>>2]=(k[(k[d>>2]|0)+92>>2]|0)-(k[f>>2]|0)&-8;if((k[p+4>>2]|0)>0)DR(k[p>>2]|0,0,k[p+4>>2]|0)|0;hF(k[c>>2]|0,g);if(l[(k[d>>2]|0)+20>>0]|0)a=(l[(k[d>>2]|0)+21>>0]|0)!=0;else a=0;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-17|(a&1)<<4&255;if((k[m>>2]|0)<10?(l[(k[d>>2]|0)+453>>0]|0)!=0:0)k[m>>2]=10;b=(k[c>>2]|0)+87|0;i[b>>0]=i[b>>0]&-2;do{k[p+8>>2]=0;b=MH(p,k[(k[c>>2]|0)+8>>2]|0,(k[m>>2]|0)*40|0)|0;k[(k[c>>2]|0)+8>>2]=b;b=MH(p,k[(k[c>>2]|0)+60>>2]|0,(k[o>>2]|0)*40|0)|0;k[(k[c>>2]|0)+60>>2]=b;b=MH(p,k[(k[c>>2]|0)+12>>2]|0,k[g>>2]<<2)|0;k[(k[c>>2]|0)+12>>2]=b;b=MH(p,k[(k[c>>2]|0)+56>>2]|0,k[h>>2]<<2)|0;k[(k[c>>2]|0)+56>>2]=b;b=MH(p,k[(k[c>>2]|0)+200>>2]|0,k[n>>2]|0)|0;k[(k[c>>2]|0)+200>>2]=b;if(!(k[p+8>>2]|0))break;b=k[p+8>>2]|0;b=Bh(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[c>>2]|0)+172>>2]=b;k[p>>2]=b;k[p+4>>2]=k[p+8>>2]}while((i[(k[e>>2]|0)+69>>0]|0)!=0^1);k[(k[c>>2]|0)+36>>2]=k[h>>2];k[(k[c>>2]|0)+196>>2]=k[n>>2];a:do if(k[(k[c>>2]|0)+60>>2]|0){j[(k[c>>2]|0)+68>>1]=k[o>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break a;j[(k[(k[c>>2]|0)+60>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]=1;k[(k[(k[c>>2]|0)+60>>2]|0)+((k[f>>2]|0)*40|0)+32>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+1}}while(0);j[(k[c>>2]|0)+70>>1]=k[(k[d>>2]|0)+448>>2];k[(k[c>>2]|0)+64>>2]=k[(k[d>>2]|0)+476>>2];k[(k[d>>2]|0)+448>>2]=0;k[(k[d>>2]|0)+476>>2]=0;if(!(k[(k[c>>2]|0)+8>>2]|0)){o=k[d>>2]|0;o=o+453|0;o=i[o>>0]|0;o=o&255;p=k[c>>2]|0;p=p+89|0;o=o&255;n=i[p>>0]|0;o=o&3;n=n&-4;o=n|o;i[p>>0]=o;p=k[c>>2]|0;dh(p);r=q;return}k[(k[c>>2]|0)+28>>2]=k[m>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;j[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]=128;k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]|0)*40|0)+32>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+1}o=k[d>>2]|0;o=o+453|0;o=i[o>>0]|0;o=o&255;p=k[c>>2]|0;p=p+89|0;o=o&255;n=i[p>>0]|0;o=o&3;n=n&-4;o=n|o;i[p>>0]=o;p=k[c>>2]|0;dh(p);r=q;return}function Wh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;p=s+24|0;o=s+16|0;h=s+8|0;i=s+52|0;l=s;m=s+48|0;n=s+44|0;q=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;k[i>>2]=a;a=l;k[a>>2]=b;k[a+4>>2]=c;k[m>>2]=d;k[q>>2]=0;k[e>>2]=k[(k[i>>2]|0)+20>>2];c=l;a=k[c+4>>2]|0;d=k[(k[e>>2]|0)+60>>2]|0;k[d>>2]=k[c>>2];k[d+4>>2]=a;d=Ee(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=d;do if((k[n>>2]|0)==100){k[f>>2]=k[k[(k[e>>2]|0)+56>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+80+(k[(k[i>>2]|0)+12>>2]<<2)>>2];b=k[i>>2]|0;if((k[g>>2]|0)>>>0>=12){k[(k[i>>2]|0)+8>>2]=k[(k[f>>2]|0)+80+((k[b+12>>2]|0)+(j[(k[f>>2]|0)+12>>1]|0)<<2)>>2];h=LF(k[g>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=h;k[(k[i>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2];LH(k[(k[i>>2]|0)+16>>2]|0);break}c=k[b+24>>2]|0;if(!(k[g>>2]|0))b=40176;else b=(k[g>>2]|0)==7?40163:40168;k[h>>2]=b;h=Nh(c,40181,h)|0;k[q>>2]=h;k[n>>2]=1;ge(k[(k[i>>2]|0)+20>>2]|0)|0;k[(k[i>>2]|0)+20>>2]=0}while(0);if((k[n>>2]|0)==100){k[n>>2]=0;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}if(!(k[(k[i>>2]|0)+20>>2]|0)){p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}b=ge(k[(k[i>>2]|0)+20>>2]|0)|0;k[n>>2]=b;k[(k[i>>2]|0)+20>>2]=0;b=k[(k[i>>2]|0)+24>>2]|0;if(!(k[n>>2]|0)){i=l;l=k[i+4>>2]|0;p=o;k[p>>2]=k[i>>2];k[p+4>>2]=l;p=Nh(b,40210,o)|0;k[q>>2]=p;k[n>>2]=1;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}else{o=mf(k[(k[i>>2]|0)+24>>2]|0)|0;k[p>>2]=o;p=Nh(b,18999,p)|0;k[q>>2]=p;p=k[q>>2]|0;q=k[m>>2]|0;k[q>>2]=p;q=k[n>>2]|0;r=s;return q|0}return 0}function Xh(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];bg(k[c>>2]|0,k[(k[b>>2]|0)+120>>2]|0);jv(k[c>>2]|0,k[(k[b>>2]|0)+324>>2]|0);if(k[c>>2]|0){a=(k[c>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)-(l[(k[b>>2]|0)+24>>0]|0)}i[(k[b>>2]|0)+24>>0]=0;r=d;return}function Yh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if(!(l[(k[f>>2]|0)+66>>0]|0)){k[e>>2]=4;j=k[e>>2]|0;r=m;return j|0}if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)c=lF(k[f>>2]|0)|0;else c=0;k[j>>2]=c;if(!(k[j>>2]|0)){i=yF(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0)|0;k[j>>2]=i}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=m;return j|0}function Zh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;f=q+36|0;s=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;n=q+12|0;m=q+8|0;o=q+4|0;l=q;k[s>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=k[s>>2];if(!(k[m>>2]|0)){s=Vf(81735)|0;k[f>>2]=s;s=k[f>>2]|0;r=q;return s|0}k[l>>2]=k[(k[m>>2]|0)+24>>2];k[o>>2]=k[(k[m>>2]|0)+20>>2];do if(!((k[h>>2]|0)<0|(k[i>>2]|0)<0)?(a=k[i>>2]|0,b=k[h>>2]|0,b=zR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=L,s=k[(k[m>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>s>>>0)):0){if(!(k[o>>2]|0)){k[n>>2]=4;break}KH(k[(k[m>>2]|0)+16>>2]|0);s=ec[k[j>>2]&255](k[(k[m>>2]|0)+16>>2]|0,(k[i>>2]|0)+(k[(k[m>>2]|0)+8>>2]|0)|0,k[h>>2]|0,k[g>>2]|0)|0;k[n>>2]=s;if((k[n>>2]|0)==4){ah(k[o>>2]|0)|0;k[(k[m>>2]|0)+20>>2]=0;break}else{k[(k[o>>2]|0)+80>>2]=k[n>>2];break}}else p=5;while(0);if((p|0)==5)k[n>>2]=1;vg(k[l>>2]|0,k[n>>2]|0);s=bh(k[l>>2]|0,k[n>>2]|0)|0;k[n>>2]=s;k[f>>2]=k[n>>2];s=k[f>>2]|0;r=q;return s|0}function _h(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+4>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+87|0;i[d>>0]=i[d>>0]&-2|1;k[b>>2]=k[(k[b>>2]|0)+52>>2]}r=c;return}function $h(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;p=x+32|0;q=x+28|0;m=x+24|0;j=x+20|0;o=x+56|0;h=x+16|0;n=x+12|0;f=x+8|0;g=x+4|0;e=x;k[t>>2]=a;k[u>>2]=b;k[v>>2]=c;k[w>>2]=d;k[m>>2]=l[(k[v>>2]|0)+1>>0];k[j>>2]=l[k[v>>2]>>0];i[o>>0]=i[(k[v>>2]|0)+3>>0]|0;k[h>>2]=0;a:while(1){if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=zC(t)|0;k[p>>2]=d;if(!d){a=83;break}if((k[p>>2]|0)==(k[j>>2]|0)){a=7;break}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){b=zC(t)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=49;break a}k[h>>2]=k[t>>2];break}k[f>>2]=0;k[g>>2]=0;k[e>>2]=0;b=zC(u)|0;k[p>>2]=b;if(!(k[p>>2]|0)){a=52;break a}b=zC(t)|0;k[q>>2]=b;if((k[q>>2]|0)==94){k[e>>2]=1;b=zC(t)|0;k[q>>2]=b}if((k[q>>2]|0)==93){if((k[p>>2]|0)==93)k[g>>2]=1;b=zC(t)|0;k[q>>2]=b}while(1){d=k[q>>2]|0;if(!((k[q>>2]|0)!=0?(k[q>>2]|0)!=93:0))break;if(((d|0)==45?(l[k[t>>2]>>0]|0)!=93:0)?((k[f>>2]|0)>>>0>0?(l[k[t>>2]>>0]|0)!=0:0):0){b=zC(t)|0;k[q>>2]=b;if((k[p>>2]|0)>>>0>=(k[f>>2]|0)>>>0?(k[p>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)k[g>>2]=1;k[f>>2]=0}else{if((k[p>>2]|0)==(k[q>>2]|0))k[g>>2]=1;k[f>>2]=k[q>>2]}b=zC(t)|0;k[q>>2]=b}if(!d){a=73;break a}if(!(k[g>>2]^k[e>>2])){a=73;break a}else continue a}while(0);if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=zC(u)|0;k[q>>2]=d;if((k[p>>2]|0)==(k[q>>2]|0))continue;if((l[o>>0]|0)!=0&(k[p>>2]|0)>>>0<128&(k[q>>2]|0)>>>0<128?(l[18221+(k[p>>2]&255)>>0]|0)==(l[18221+(k[q>>2]&255)>>0]|0):0)continue;if((k[p>>2]|0)!=(k[m>>2]|0)){a=82;break}if(!((k[q>>2]|0)!=0?(k[t>>2]|0)!=(k[h>>2]|0):0)){a=82;break}}if((a|0)==7){while(1){a=0;if((l[k[t>>2]>>0]|0)<128){d=k[t>>2]|0;k[t>>2]=d+1;d=l[d>>0]|0}else d=zC(t)|0;k[p>>2]=d;if((d|0)==(k[j>>2]|0))d=1;else d=(k[p>>2]|0)==(k[m>>2]|0);c=k[p>>2]|0;if(!d)break;if((c|0)!=(k[m>>2]|0)){a=7;continue}if(!(zC(u)|0)){a=15;break}else a=7}if((a|0)==15){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}if(!c){k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}do if((k[p>>2]|0)==(k[w>>2]|0)){if(!(l[(k[v>>2]|0)+2>>0]|0)){m=zC(t)|0;k[p>>2]=m;if(k[p>>2]|0)break;k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}b:while(1){if(l[k[u>>2]>>0]|0)d=($h((k[t>>2]|0)+-1|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)==0;else d=0;c=k[u>>2]|0;if(!d)break;k[u>>2]=c+1;if((l[c>>0]|0)<192)continue;while(1){if((l[k[u>>2]>>0]&192|0)!=128)continue b;k[u>>2]=(k[u>>2]|0)+1}}k[s>>2]=(l[c>>0]|0)!=0&1;w=k[s>>2]|0;r=x;return w|0}while(0);c:do if((k[p>>2]|0)>>>0<=128){d=k[p>>2]|0;if(i[o>>0]|0){k[n>>2]=d&~(l[19011+(k[p>>2]&255)>>0]&32);k[p>>2]=l[18221+(k[p>>2]&255)>>0]}else k[n>>2]=d;while(1){o=k[u>>2]|0;k[u>>2]=o+1;o=l[o>>0]|0;k[q>>2]=o;if(!o)break c;if((k[q>>2]|0)!=(k[p>>2]|0)?(k[q>>2]|0)!=(k[n>>2]|0):0)continue;if($h(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}else{while(1){if((l[k[u>>2]>>0]|0)<128){d=k[u>>2]|0;k[u>>2]=d+1;d=l[d>>0]|0}else d=zC(u)|0;k[q>>2]=d;if(!d)break c;if((k[q>>2]|0)!=(k[p>>2]|0))continue;if($h(k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,k[w>>2]|0)|0)break}k[s>>2]=1;w=k[s>>2]|0;r=x;return w|0}while(0);k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==49){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==52){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==73){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==82){k[s>>2]=0;w=k[s>>2]|0;r=x;return w|0}else if((a|0)==83){k[s>>2]=(l[k[u>>2]>>0]|0)==0&1;w=k[s>>2]|0;r=x;return w|0}return 0}function ai(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[c>>2]|0)){xH(40149);k[b>>2]=0}else{k[d>>2]=k[(k[c>>2]|0)+80>>2];if((k[d>>2]|0)==-1607883113){k[b>>2]=1;break}if(ci(k[c>>2]|0)|0)xH(40154);k[b>>2]=0}while(0);r=e;return k[b>>2]|0}function bi(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+32|0;i=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[k[o>>2]>>2]=0;b=(ai(k[i>>2]|0)|0)==0;if(b|(k[j>>2]|0)==0){b=Vf(110313)|0;k[h>>2]=b;b=k[h>>2]|0;r=s;return b|0}Yf(k[i>>2]|0);b=yH(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b;if((k[q>>2]|0)==17){ge(k[k[o>>2]>>2]|0)|0;b=yH(k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[q>>2]=b}k[h>>2]=k[q>>2];b=k[h>>2]|0;r=s;return b|0}function ci(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;b=c+8|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[(k[e>>2]|0)+80>>2];if((k[d>>2]|0)!=1266094736&(k[d>>2]|0)!=-1607883113&(k[d>>2]|0)!=-264537850){xH(39996);k[b>>2]=0;e=k[b>>2]|0;r=c;return e|0}else{k[b>>2]=1;e=k[b>>2]|0;r=c;return e|0}return 0}function di(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;n=q+8|0;m=q+4|0;p=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=0;b=Tf(k[g>>2]|0)|0;k[l>>2]=b;if(!(Aj((k[f>>2]|0)+320|0,k[g>>2]|0)|0)){b=Vw(k[f>>2]|0,20+(k[l>>2]|0)+1|0,0)|0;k[n>>2]=b;if((k[n>>2]|0)!=0?(k[p>>2]=(k[n>>2]|0)+20,BR(k[p>>2]|0,k[g>>2]|0,(k[l>>2]|0)+1|0)|0,k[(k[n>>2]|0)+4>>2]=k[p>>2],k[k[n>>2]>>2]=k[h>>2],k[(k[n>>2]|0)+8>>2]=k[i>>2],k[(k[n>>2]|0)+12>>2]=k[j>>2],k[(k[n>>2]|0)+16>>2]=0,b=ak((k[f>>2]|0)+320|0,k[p>>2]|0,k[n>>2]|0)|0,k[m>>2]=b,(k[m>>2]|0)!=0):0){vh(k[f>>2]|0);bg(k[f>>2]|0,k[m>>2]|0)}}else{b=Vf(118695)|0;k[o>>2]=b}b=bh(k[f>>2]|0,k[o>>2]|0)|0;k[o>>2]=b;if(!((k[o>>2]|0)!=0&(k[j>>2]|0)!=0)){b=k[o>>2]|0;r=q;return b|0}_b[k[j>>2]&255](k[i>>2]|0);b=k[o>>2]|0;r=q;return b|0}function ei(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+80|0;d=z+72|0;p=z+16|0;o=z+8|0;n=z;s=z+68|0;t=z+64|0;e=z+60|0;f=z+56|0;w=z+52|0;v=z+48|0;j=z+44|0;m=z+40|0;g=z+36|0;u=z+32|0;h=z+28|0;x=z+24|0;y=z+20|0;k[t>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;k[g>>2]=-1;k[u>>2]=k[k[t>>2]>>2];k[h>>2]=k[(k[u>>2]|0)+92+4>>2];if(!(k[(k[u>>2]|0)+152>>2]|0))k[(k[u>>2]|0)+248>>2]=0;k[(k[t>>2]|0)+12>>2]=0;k[(k[t>>2]|0)+484>>2]=k[e>>2];k[v>>2]=0;b=dv(179)|0;k[j>>2]=b;if(!(k[j>>2]|0)){vh(k[u>>2]|0);k[s>>2]=7;y=k[s>>2]|0;r=z;return y|0}while(1){if(!(i[(k[e>>2]|0)+(k[v>>2]|0)>>0]|0))break;k[(k[t>>2]|0)+508>>2]=(k[e>>2]|0)+(k[v>>2]|0);b=ev((k[e>>2]|0)+(k[v>>2]|0)|0,m)|0;k[(k[t>>2]|0)+508+4>>2]=b;k[v>>2]=(k[v>>2]|0)+(k[(k[t>>2]|0)+508+4>>2]|0);if((k[v>>2]|0)>(k[h>>2]|0)){q=7;break}if((k[m>>2]|0)>=160){if(k[(k[u>>2]|0)+248>>2]|0){q=10;break}if((k[m>>2]|0)==161){q=12;break}else continue}else{a=k[j>>2]|0;c=k[m>>2]|0;A=(k[t>>2]|0)+508|0;b=k[t>>2]|0;k[d>>2]=k[A>>2];k[d+4>>2]=k[A+4>>2];fv(a,c,d,b);k[g>>2]=k[m>>2];if(k[(k[t>>2]|0)+12>>2]|0)break;if(l[(k[u>>2]|0)+69>>0]|0)break;else continue}}if((q|0)==7)k[(k[t>>2]|0)+12>>2]=18;else if((q|0)==10)k[(k[t>>2]|0)+12>>2]=9;else if((q|0)==12){A=k[t>>2]|0;k[n>>2]=(k[t>>2]|0)+508;Mh(A,27045,n)}k[(k[t>>2]|0)+484>>2]=(k[e>>2]|0)+(k[v>>2]|0);if((k[(k[t>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+69>>0]|0)==0:0){if((k[g>>2]|0)!=1){q=k[j>>2]|0;b=(k[t>>2]|0)+508|0;A=k[t>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];fv(q,1,d,A)}if((k[(k[t>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+69>>0]|0)==0:0){q=k[j>>2]|0;b=(k[t>>2]|0)+508|0;A=k[t>>2]|0;k[d>>2]=k[b>>2];k[d+4>>2]=k[b+4>>2];fv(q,0,d,A)}}gv(k[j>>2]|0,148);if(i[(k[u>>2]|0)+69>>0]|0)k[(k[t>>2]|0)+12>>2]=7;if(((k[(k[t>>2]|0)+12>>2]|0)!=0?(k[(k[t>>2]|0)+12>>2]|0)!=101:0)?(k[(k[t>>2]|0)+4>>2]|0)==0:0){A=k[u>>2]|0;q=uh(k[(k[t>>2]|0)+12>>2]|0)|0;k[o>>2]=q;A=Nh(A,18999,o)|0;k[(k[t>>2]|0)+4>>2]=A}if(k[(k[t>>2]|0)+4>>2]|0){k[k[f>>2]>>2]=k[(k[t>>2]|0)+4>>2];A=k[(k[t>>2]|0)+12>>2]|0;k[p>>2]=k[k[f>>2]>>2];$d(A,18999,p);k[(k[t>>2]|0)+4>>2]=0;k[w>>2]=(k[w>>2]|0)+1}if(((k[(k[t>>2]|0)+8>>2]|0)!=0?(k[(k[t>>2]|0)+68>>2]|0)>0:0)?(l[(k[t>>2]|0)+18>>0]|0)==0:0){hv(k[(k[t>>2]|0)+8>>2]|0);k[(k[t>>2]|0)+8>>2]=0}if(!(l[(k[t>>2]|0)+18>>0]|0)){bg(k[u>>2]|0,k[(k[t>>2]|0)+408>>2]|0);k[(k[t>>2]|0)+408>>2]=0;k[(k[t>>2]|0)+404>>2]=0}Ud(k[(k[t>>2]|0)+524>>2]|0);if(!(i[(k[t>>2]|0)+454>>0]|0))$f(k[u>>2]|0,k[(k[t>>2]|0)+488>>2]|0);iv(k[u>>2]|0,k[(k[t>>2]|0)+540>>2]|0);_f(k[u>>2]|0,k[(k[t>>2]|0)+492>>2]|0);k[v>>2]=(k[(k[t>>2]|0)+448>>2]|0)-1;while(1){d=k[u>>2]|0;if((k[v>>2]|0)<0)break;bg(d,k[(k[(k[t>>2]|0)+476>>2]|0)+(k[v>>2]<<2)>>2]|0);k[v>>2]=(k[v>>2]|0)+-1}bg(d,k[(k[t>>2]|0)+476>>2]|0);while(1){if(!(k[(k[t>>2]|0)+412>>2]|0))break;k[x>>2]=k[(k[t>>2]|0)+412>>2];k[(k[t>>2]|0)+412>>2]=k[k[x>>2]>>2];bg(k[u>>2]|0,k[x>>2]|0)}while(1){if(!(k[(k[t>>2]|0)+528>>2]|0))break;k[y>>2]=k[(k[t>>2]|0)+528>>2];k[(k[t>>2]|0)+528>>2]=k[(k[y>>2]|0)+68>>2];$f(k[u>>2]|0,k[y>>2]|0)}k[s>>2]=k[w>>2];A=k[s>>2]|0;r=z;return A|0}function fi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Bh(k[b>>2]|0,40,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}j[(k[c>>2]|0)+8>>1]=1;k[(k[c>>2]|0)+32>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function gi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m+16|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;k[l>>2]=e;if(!(k[f>>2]|0)){r=m;return}ph(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,i[j>>0]|0,k[l>>2]|0)|0;r=m;return}function hi(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=5056;wf(4,b)|0;r=a;return}function ii(){return 88}function ji(){return 40}function ki(){return 32}function li(){var a=0,b=0;a=r;r=r+16|0;b=a;k[b>>2]=5004;wf(18,b)|0;r=a;return}function mi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Au(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function ni(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+8>>0]|0|0)==2;a=a&1;r=c;return a|0}function oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(k[(k[f>>2]|0)+256+8>>2]|0){k[e>>2]=5;c=k[e>>2]|0;r=p;return c|0}if(i[(k[f>>2]|0)+256+6>>0]|0)Ud(k[(k[f>>2]|0)+256+32>>2]|0);c=k[h>>2]&-8;k[h>>2]=c;k[h>>2]=(k[h>>2]|0)<=4?0:c;if((k[l>>2]|0)<0)k[l>>2]=0;do if(!((k[h>>2]|0)==0|(k[l>>2]|0)==0)){if(k[g>>2]|0){k[o>>2]=k[g>>2];break}ek();c=ha(k[h>>2]|0,k[l>>2]|0)|0;c=jg(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;fk();if(k[o>>2]|0){c=kg(k[o>>2]|0)|0;k[l>>2]=(c|0)/(k[h>>2]|0)|0}}else{k[h>>2]=0;k[o>>2]=0}while(0);k[(k[f>>2]|0)+256+32>>2]=k[o>>2];k[(k[f>>2]|0)+256+28>>2]=0;j[(k[f>>2]|0)+256+4>>1]=k[h>>2];if(k[o>>2]|0){k[n>>2]=k[o>>2];k[m>>2]=(k[l>>2]|0)-1;while(1){if((k[m>>2]|0)<0)break;k[k[n>>2]>>2]=k[(k[f>>2]|0)+256+28>>2];k[(k[f>>2]|0)+256+28>>2]=k[n>>2];k[n>>2]=(k[n>>2]|0)+(k[h>>2]|0);k[m>>2]=(k[m>>2]|0)+-1}k[(k[f>>2]|0)+256+36>>2]=k[n>>2];k[(k[f>>2]|0)+256>>2]=0;i[(k[f>>2]|0)+256+6>>0]=(k[g>>2]|0)==0?1:0}else{k[(k[f>>2]|0)+256+32>>2]=k[f>>2];k[(k[f>>2]|0)+256+36>>2]=k[f>>2];k[(k[f>>2]|0)+256>>2]=1;i[(k[f>>2]|0)+256+6>>0]=0}k[e>>2]=0;c=k[e>>2]|0;r=p;return c|0}function pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}if(!(ci(k[d>>2]|0)|0)){f=Vf(134226)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}su(k[d>>2]|0);tu(k[d>>2]|0)|0;if((k[e>>2]|0)==0?(uu(k[d>>2]|0)|0)!=0:0){tg(k[d>>2]|0,5,26903,f);k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}k[(k[d>>2]|0)+80>>2]=1691352191;Zg(k[d>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;c=e+16|0;h=e+12|0;g=e+8|0;d=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[d>>2]=k[h>>2];k[f>>2]=k[(k[h>>2]|0)+428>>2];if((((k[g>>2]|0)+1|0)*1e3|0)>(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=e;return h|0}else{Ei(k[k[d>>2]>>2]|0,1e6)|0;k[c>>2]=1;h=k[c>>2]|0;r=e;return h|0}return 0} +function Tp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=r;r=r+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;p=ha+16|0;q=ha+8|0;o=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;h=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;m=ha+148|0;t=ha+144|0;j=ha+80|0;l=ha+76|0;n=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;k[v>>2]=a;k[w>>2]=b;k[ia>>2]=c;k[h>>2]=d;k[x>>2]=e;k[da>>2]=f;k[y>>2]=g;k[S>>2]=k[ia>>2];k[ea>>2]=0;k[ga>>2]=0;k[R>>2]=0;k[M>>2]=0;k[G>>2]=(i[(k[k[x>>2]>>2]|0)+3>>0]|0)==52&1;k[fa>>2]=0;k[O>>2]=0;k[A>>2]=0;k[D>>2]=0;k[C>>2]=0;k[ba>>2]=0;k[X>>2]=0;k[ca>>2]=0;k[Y>>2]=0;k[_>>2]=0;k[B>>2]=0;k[Q>>2]=0;g=(UQ(k[(k[x>>2]|0)+4>>2]|0)|0)+1|0;k[N>>2]=g;g=(UQ(k[(k[x>>2]|0)+8>>2]|0)|0)+1|0;k[P>>2]=g;k[L>>2]=(k[h>>2]|0)-2<<2;g=Sd(k[L>>2]|0)|0;k[z>>2]=g;if(k[z>>2]|0){DR(k[z>>2]|0,0,k[L>>2]|0)|0;ia=Sd(k[L>>2]|0)|0;k[B>>2]=ia}if(k[B>>2]|0)DR(k[B>>2]|0,0,k[L>>2]|0)|0;do if((k[z>>2]|0)!=0&(k[B>>2]|0)!=0){k[E>>2]=3;while(1){if(k[ga>>2]|0)break;if((k[E>>2]|0)>=(k[h>>2]|0))break;k[s>>2]=k[(k[x>>2]|0)+(k[E>>2]<<2)>>2];if((((k[fa>>2]|0)==0?(UQ(k[s>>2]|0)|0)>>>0>8:0)?0==(Jd(k[s>>2]|0,24614,8)|0):0)?0==(Up(i[(k[s>>2]|0)+8>>0]|0)|0):0){ia=Vp(k[S>>2]|0,(k[s>>2]|0)+9|0,fa,k[y>>2]|0)|0;k[ga>>2]=ia}else u=15;do if((u|0)==15){u=0;if((k[G>>2]|0)!=0?(Wp(k[s>>2]|0,m,t)|0)!=0:0){d=j;e=2124;b=d+64|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));if(!(k[t>>2]|0)){k[ga>>2]=7;break}k[l>>2]=0;while(1){if((k[l>>2]|0)>=8)break;k[n>>2]=j+(k[l>>2]<<3);if((k[m>>2]|0)==(k[(k[n>>2]|0)+4>>2]|0)?(Jd(k[s>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)==0:0)break;k[l>>2]=(k[l>>2]|0)+1}a:do if((k[l>>2]|0)==8){ia=k[y>>2]|0;k[o>>2]=k[s>>2];Nk(ia,24623,o);k[ga>>2]=1}else switch(k[l>>2]|0){case 0:{if(!((UQ(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,21129,4)|0)==0:0)){ia=k[y>>2]|0;k[q>>2]=k[t>>2];Nk(ia,24650,q);k[ga>>2]=1}k[D>>2]=1;break a}case 1:{Ud(k[ba>>2]|0);k[ba>>2]=k[t>>2];k[t>>2]=0;break a}case 2:{Ud(k[X>>2]|0);k[X>>2]=k[t>>2];k[t>>2]=0;break a}case 3:{Ud(k[ca>>2]|0);k[ca>>2]=k[t>>2];k[t>>2]=0;break a}case 4:{if(!((UQ(k[t>>2]|0)|0)==3?(Jd(k[t>>2]|0,24677,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((UQ(k[t>>2]|0)|0)==4?(Jd(k[t>>2]|0,24681,4)|0)==0:0)break;ia=k[y>>2]|0;k[p>>2]=k[t>>2];Nk(ia,24686,p);k[ga>>2]=1}while(0);if((i[k[t>>2]>>0]|0)==100)d=1;else d=(i[k[t>>2]>>0]|0)==68;k[C>>2]=d&1;break a}case 5:{Ud(k[Y>>2]|0);k[Y>>2]=k[t>>2];k[t>>2]=0;break a}case 6:{Ud(k[_>>2]|0);k[_>>2]=k[t>>2];k[t>>2]=0;break a}case 7:{g=k[t>>2]|0;ia=k[Q>>2]|0;k[Q>>2]=ia+1;k[(k[B>>2]|0)+(ia<<2)>>2]=g;k[t>>2]=0;break a}default:break a}while(0);Ud(k[t>>2]|0);break}g=(UQ(k[s>>2]|0)|0)+1|0;k[R>>2]=(k[R>>2]|0)+g;g=k[s>>2]|0;ia=k[M>>2]|0;k[M>>2]=ia+1;k[(k[z>>2]|0)+(ia<<2)>>2]=g}while(0);k[E>>2]=(k[E>>2]|0)+1}b:do if(((k[ga>>2]|0)==0&(k[Y>>2]|0)!=0?(Ud(k[X>>2]|0),Ud(k[ca>>2]|0),k[X>>2]=0,k[ca>>2]=0,(k[M>>2]|0)==0):0)?(Ud(k[z>>2]|0),k[z>>2]=0,ia=Xp(k[w>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[Y>>2]|0,z,M,R,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)==0&(k[_>>2]|0)!=0):0){k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[M>>2]|0))break b;ia=(be(k[_>>2]|0,k[(k[z>>2]|0)+(k[H>>2]<<2)>>2]|0)|0)==0;d=k[H>>2]|0;if(ia)break;k[H>>2]=d+1}k[I>>2]=d;while(1){if((k[I>>2]|0)>=(k[M>>2]|0))break;k[(k[z>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[z>>2]|0)+((k[I>>2]|0)+1<<2)>>2];k[I>>2]=(k[I>>2]|0)+1}k[M>>2]=(k[M>>2]|0)+-1}while(0);if(!(k[ga>>2]|0)){if(!(k[M>>2]|0)){k[k[z>>2]>>2]=24709;k[R>>2]=8;k[M>>2]=1}if((k[fa>>2]|0)==0?(ia=Vp(k[S>>2]|0,21055,fa,k[y>>2]|0)|0,k[ga>>2]=ia,(k[ga>>2]|0)!=0):0)break;ia=Yp(k[ba>>2]|0,O,A)|0;k[ga>>2]=ia;if((k[ga>>2]|0)==1){ia=k[y>>2]|0;k[T>>2]=k[ba>>2];Nk(ia,24717,T)}if(!(k[ga>>2]|0)){k[L>>2]=280+(k[M>>2]<<2)+((k[O>>2]|0)*24|0)+(k[M>>2]|0)+(k[P>>2]|0)+(k[N>>2]|0)+(k[R>>2]|0);ia=Sd(k[L>>2]|0)|0;k[ea>>2]=ia;if(!(k[ea>>2]|0)){k[ga>>2]=7;break}DR(k[ea>>2]|0,0,k[L>>2]|0)|0;k[(k[ea>>2]|0)+12>>2]=k[w>>2];k[(k[ea>>2]|0)+24>>2]=k[M>>2];k[(k[ea>>2]|0)+260>>2]=0;k[(k[ea>>2]|0)+28>>2]=(k[ea>>2]|0)+280;k[(k[ea>>2]|0)+36>>2]=k[fa>>2];k[(k[ea>>2]|0)+256>>2]=1048576;i[(k[ea>>2]|0)+230>>0]=((k[G>>2]|0)!=0?(k[D>>2]|0)==0:0)&1;i[(k[ea>>2]|0)+229>>0]=k[G>>2];i[(k[ea>>2]|0)+228>>0]=k[G>>2];i[(k[ea>>2]|0)+231>>0]=k[C>>2];k[(k[ea>>2]|0)+48>>2]=255;k[(k[ea>>2]|0)+40>>2]=k[Y>>2];k[(k[ea>>2]|0)+44>>2]=k[_>>2];k[Y>>2]=0;k[_>>2]=0;k[(k[ea>>2]|0)+252>>2]=(k[(k[ea>>2]|0)+28>>2]|0)+(k[M>>2]<<2);BR(k[(k[ea>>2]|0)+252>>2]|0,k[A>>2]|0,(k[O>>2]|0)*24|0)|0;k[(k[ea>>2]|0)+248>>2]=k[O>>2];k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[O>>2]|0))break;sk((k[(k[ea>>2]|0)+252>>2]|0)+((k[E>>2]|0)*24|0)+4|0,1,1);k[E>>2]=(k[E>>2]|0)+1}k[(k[ea>>2]|0)+32>>2]=(k[(k[ea>>2]|0)+252>>2]|0)+((k[O>>2]|0)*24|0);k[Z>>2]=(k[(k[ea>>2]|0)+32>>2]|0)+(k[M>>2]|0);k[(k[ea>>2]|0)+20>>2]=k[Z>>2];BR(k[Z>>2]|0,k[(k[x>>2]|0)+8>>2]|0,k[P>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[P>>2]|0);k[(k[ea>>2]|0)+16>>2]=k[Z>>2];BR(k[Z>>2]|0,k[(k[x>>2]|0)+4>>2]|0,k[N>>2]|0)|0;k[Z>>2]=(k[Z>>2]|0)+(k[N>>2]|0);k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;k[J>>2]=0;ia=Zp(k[(k[z>>2]|0)+(k[F>>2]<<2)>>2]|0,J)|0;k[W>>2]=ia;BR(k[Z>>2]|0,k[W>>2]|0,k[J>>2]|0)|0;i[(k[Z>>2]|0)+(k[J>>2]|0)>>0]=0;Wk(k[Z>>2]|0);k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]=k[Z>>2];k[Z>>2]=(k[Z>>2]|0)+((k[J>>2]|0)+1);k[F>>2]=(k[F>>2]|0)+1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[M>>2]|0))break;ia=UQ(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0)|0;k[K>>2]=ia;k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;k[aa>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];if(((k[aa>>2]|0)!=0?(ia=k[K>>2]|0,(ia|0)==(UQ(k[aa>>2]|0)|0)):0)?0==(Jd(k[(k[(k[ea>>2]|0)+28>>2]|0)+(k[F>>2]<<2)>>2]|0,k[aa>>2]|0,k[K>>2]|0)|0):0){i[(k[(k[ea>>2]|0)+32>>2]|0)+(k[F>>2]|0)>>0]=1;Ud(k[aa>>2]|0);k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]=0}k[E>>2]=(k[E>>2]|0)+1}k[F>>2]=(k[F>>2]|0)+1}k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;if(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0){ia=k[y>>2]|0;k[U>>2]=k[(k[B>>2]|0)+(k[E>>2]<<2)>>2];Nk(ia,24752,U);k[ga>>2]=1}k[E>>2]=(k[E>>2]|0)+1}if((k[ga>>2]|0)==0?((k[X>>2]|0)==0|0)!=((k[ca>>2]|0)==0|0):0){k[$>>2]=(k[X>>2]|0)==0?24771:24780;k[ga>>2]=1;ia=k[y>>2]|0;k[V>>2]=k[$>>2];Nk(ia,24791,V)}ia=_p(k[ea>>2]|0,k[ca>>2]|0,ga)|0;k[(k[ea>>2]|0)+216>>2]=ia;ia=$p(k[ea>>2]|0,k[X>>2]|0,ga)|0;k[(k[ea>>2]|0)+220>>2]=ia;if(!(k[ga>>2]|0)){if(k[v>>2]|0){ia=aq(k[ea>>2]|0)|0;k[ga>>2]=ia}if(!((k[G>>2]|0)!=0|(k[v>>2]|0)!=0))i[(k[ea>>2]|0)+229>>0]=2;bq(ga,k[ea>>2]|0);k[(k[ea>>2]|0)+224>>2]=(k[(k[ea>>2]|0)+236>>2]|0)-35;cq(ga,k[ea>>2]|0)}}}}else k[ga>>2]=7;while(0);Ud(k[ba>>2]|0);Ud(k[A>>2]|0);Ud(k[X>>2]|0);Ud(k[ca>>2]|0);Ud(k[Y>>2]|0);Ud(k[_>>2]|0);k[E>>2]=0;while(1){if((k[E>>2]|0)>=(k[Q>>2]|0))break;Ud(k[(k[B>>2]|0)+(k[E>>2]<<2)>>2]|0);k[E>>2]=(k[E>>2]|0)+1}Ud(k[z>>2]|0);Ud(k[B>>2]|0);d=k[ea>>2]|0;if(!(k[ga>>2]|0)){k[k[da>>2]>>2]=d;ia=k[ga>>2]|0;r=ha;return ia|0}if(d){_k(k[ea>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}if(!(k[fa>>2]|0)){ia=k[ga>>2]|0;r=ha;return ia|0}bc[k[(k[k[fa>>2]>>2]|0)+8>>2]&255](k[fa>>2]|0)|0;ia=k[ga>>2]|0;r=ha;return ia|0}function Up(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(i[b>>0]&128){a=1;a=a&1;r=c;return a|0}a=(i[25473+(i[b>>0]|0)>>0]|0)!=0;a=a&1;r=c;return a|0}function Vp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;t=y+16|0;s=y+8|0;z=y;e=y+76|0;f=y+72|0;A=y+68|0;g=y+64|0;h=y+60|0;q=y+56|0;u=y+52|0;o=y+48|0;v=y+44|0;w=y+40|0;n=y+36|0;j=y+32|0;m=y+28|0;p=y+24|0;l=y+20|0;k[f>>2]=a;k[A>>2]=b;k[g>>2]=c;k[h>>2]=d;k[u>>2]=k[A>>2];k[o>>2]=0;k[z>>2]=k[A>>2];b=Yd(18999,z)|0;k[v>>2]=b;if(!(k[v>>2]|0)){k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=UQ(k[v>>2]|0)|0;k[w>>2]=(k[v>>2]|0)+A;A=Zp(k[v>>2]|0,o)|0;k[u>>2]=A;if(!(k[u>>2]|0))k[u>>2]=k[v>>2];i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Wk(k[u>>2]|0);z=k[f>>2]|0;A=k[u>>2]|0;A=Mk(z,A,(UQ(k[u>>2]|0)|0)+1|0)|0;k[n>>2]=A;if(k[n>>2]|0){k[j>>2]=0;k[m>>2]=0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1);while(1){if((k[u>>2]|0)>>>0>=(k[w>>2]|0)>>>0)break;A=Zp(k[u>>2]|0,o)|0;k[u>>2]=A;if(!A)break;k[p>>2]=(k[m>>2]|0)+1<<2;A=Vd(k[j>>2]|0,k[p>>2]|0)|0;k[l>>2]=A;if(!(k[l>>2]|0)){x=11;break}k[j>>2]=k[l>>2];z=k[u>>2]|0;A=k[m>>2]|0;k[m>>2]=A+1;k[(k[j>>2]|0)+(A<<2)>>2]=z;i[(k[u>>2]|0)+(k[o>>2]|0)>>0]=0;Wk(k[u>>2]|0);k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+1)}if((x|0)==11){Ud(k[v>>2]|0);Ud(k[j>>2]|0);k[e>>2]=7;A=k[e>>2]|0;r=y;return A|0}A=Yb[k[(k[n>>2]|0)+4>>2]&255](k[m>>2]|0,k[j>>2]|0,k[g>>2]|0)|0;k[q>>2]=A;if(k[q>>2]|0)Nk(k[h>>2]|0,25455,t);else k[k[k[g>>2]>>2]>>2]=k[n>>2];Ud(k[j>>2]|0)}else{A=k[h>>2]|0;k[s>>2]=k[u>>2];Nk(A,21203,s);k[q>>2]=1}Ud(k[v>>2]|0);k[e>>2]=k[q>>2];A=k[e>>2]|0;r=y;return A|0}function Wp(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,l=0,m=0,n=0;n=r;r=r+32|0;h=n;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;l=n+8|0;j=n+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=k[e>>2];while(1){b=k[j>>2]|0;if((i[k[j>>2]>>0]|0)==61)break;if(!(i[b>>0]|0)){m=4;break}k[j>>2]=(k[j>>2]|0)+1}if((m|0)==4){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[k[f>>2]>>2]=b-(k[e>>2]|0);k[h>>2]=(k[j>>2]|0)+1;m=Yd(18999,h)|0;k[l>>2]=m;if(k[l>>2]|0)Wk(k[l>>2]|0);k[k[g>>2]>>2]=k[l>>2];k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}function Xp(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=r;r=r+96|0;w=A+8|0;B=A;h=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;l=A+60|0;m=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;n=A+40|0;s=A+36|0;q=A+32|0;o=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;p=A+12|0;k[h>>2]=a;k[C>>2]=b;k[D>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[m>>2]=g;k[v>>2]=0;k[u>>2]=0;c=k[D>>2]|0;k[B>>2]=k[C>>2];k[B+4>>2]=c;c=Yd(25400,B)|0;k[z>>2]=c;if(k[z>>2]|0){D=nf(k[h>>2]|0,k[z>>2]|0,-1,u,0)|0;k[v>>2]=D;if(k[v>>2]|0){D=k[m>>2]|0;C=mf(k[h>>2]|0)|0;k[w>>2]=C;Nk(D,18999,w)}}else k[v>>2]=7;Ud(k[z>>2]|0);if(k[v>>2]|0){D=k[v>>2]|0;r=A;return D|0}k[s>>2]=0;D=Ie(k[u>>2]|0)|0;k[q>>2]=D;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;D=Se(k[u>>2]|0,k[o>>2]|0)|0;k[x>>2]=D;D=(UQ(k[x>>2]|0)|0)+1|0;k[s>>2]=(k[s>>2]|0)+D;k[o>>2]=(k[o>>2]|0)+1}D=Sd((k[q>>2]<<2)+(k[s>>2]|0)|0)|0;k[n>>2]=D;a:do if(!(k[n>>2]|0))k[v>>2]=7;else{k[t>>2]=(k[n>>2]|0)+(k[q>>2]<<2);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;D=Se(k[u>>2]|0,k[o>>2]|0)|0;k[y>>2]=D;D=(UQ(k[y>>2]|0)|0)+1|0;k[p>>2]=D;BR(k[t>>2]|0,k[y>>2]|0,k[p>>2]|0)|0;k[(k[n>>2]|0)+(k[o>>2]<<2)>>2]=k[t>>2];k[t>>2]=(k[t>>2]|0)+(k[p>>2]|0);k[o>>2]=(k[o>>2]|0)+1}}while(0);ge(k[u>>2]|0)|0;k[k[j>>2]>>2]=k[q>>2];k[k[l>>2]>>2]=k[s>>2];k[k[i>>2]>>2]=k[n>>2];D=k[v>>2]|0;r=A;return D|0}function Yp(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,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;n=p+12|0;o=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=1;a:do if((k[e>>2]|0)!=0?(i[k[e>>2]>>0]|0)!=0:0){k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=k[e>>2];while(1){if(!(i[k[n>>2]>>0]|0))break a;if((i[k[n>>2]>>0]|0)==44)k[l>>2]=(k[l>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}}while(0);a=Sd((k[l>>2]|0)*24|0)|0;k[h>>2]=a;k[k[g>>2]>>2]=k[h>>2];if(!(k[h>>2]|0)){k[d>>2]=7;a=k[d>>2]|0;r=p;return a|0}DR(k[h>>2]|0,0,(k[l>>2]|0)*24|0)|0;b:do if(k[e>>2]|0){k[o>>2]=k[e>>2];k[j>>2]=1;while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break b;k[m>>2]=0;if(fq(o,m)|0)break;if(!(k[m>>2]|0)){k[l>>2]=(k[l>>2]|0)+-1;k[j>>2]=(k[j>>2]|0)+-1}else k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)>>2]=k[m>>2];k[o>>2]=(k[o>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}k[d>>2]=1;a=k[d>>2]|0;r=p;return a|0}while(0);k[k[f>>2]>>2]=k[l>>2];k[d>>2]=0;a=k[d>>2]|0;r=p;return a|0}function Zp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c=h+20|0;k[j>>2]=a;k[e>>2]=b;k[g>>2]=0;k[f>>2]=k[j>>2];a:while(1){if(k[g>>2]|0){b=21;break}i[c>>0]=i[k[f>>2]>>0]|0;switch(i[c>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{k[g>>2]=k[f>>2];while(1){j=(k[g>>2]|0)+1|0;k[g>>2]=j;if(!(i[j>>0]|0))continue a;if((i[k[g>>2]>>0]|0)!=(i[c>>0]|0))continue;j=(k[g>>2]|0)+1|0;k[g>>2]=j;if((i[j>>0]|0)!=(i[c>>0]|0))continue a}}case 91:{k[g>>2]=(k[f>>2]|0)+1;while(1){if(i[k[g>>2]>>0]|0)a=(i[k[g>>2]>>0]|0)!=93;else a=0;b=k[g>>2]|0;if(!a)break;k[g>>2]=b+1}if(!(i[b>>0]|0))continue a;k[g>>2]=(k[g>>2]|0)+1;continue a}default:{j=(Up(i[k[f>>2]>>0]|0)|0)!=0;b=(k[f>>2]|0)+1|0;if(!j){k[f>>2]=b;continue a}k[g>>2]=b;while(1){if(!(Up(i[k[g>>2]>>0]|0)|0))continue a;k[g>>2]=(k[g>>2]|0)+1}}}}if((b|0)==4){k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}else if((b|0)==21){k[k[e>>2]>>2]=(k[g>>2]|0)-(k[f>>2]|0);k[d>>2]=k[f>>2];j=k[d>>2]|0;r=h;return j|0}return 0}function _p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+96|0;q=t+56|0;j=t+48|0;i=t+40|0;m=t+32|0;l=t+24|0;h=t+8|0;g=t;p=t+92|0;d=t+88|0;e=t+84|0;s=t+80|0;n=t+76|0;o=t+72|0;f=t+68|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[s>>2]=0;k[n>>2]=0;if(k[(k[p>>2]|0)+40>>2]|0){eq(k[e>>2]|0,s,25353,m);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;o=k[e>>2]|0;k[i>>2]=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2];eq(o,s,25359,i);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[j>>2]=k[(k[p>>2]|0)+44>>2];eq(o,s,25339,j)}}else{if(k[d>>2]|0){b=dq(k[d>>2]|0)|0;k[o>>2]=b;k[n>>2]=b}else k[o>>2]=19010;eq(k[e>>2]|0,s,25318,g);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+24>>2]|0))break;b=k[e>>2]|0;j=k[f>>2]|0;m=k[(k[(k[p>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]|0;k[h>>2]=k[o>>2];k[h+4>>2]=j;k[h+8>>2]=m;eq(b,s,25324,h);k[f>>2]=(k[f>>2]|0)+1}if(k[(k[p>>2]|0)+44>>2]|0){o=k[e>>2]|0;k[l>>2]=25346;eq(o,s,25339,l)}Ud(k[n>>2]|0)}d=k[e>>2]|0;e=k[(k[p>>2]|0)+16>>2]|0;f=k[p>>2]|0;if(k[(k[p>>2]|0)+40>>2]|0){b=k[f+40>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?19010:25368;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;eq(d,s,25377,q);s=k[s>>2]|0;r=t;return s|0}else{b=k[f+20>>2]|0;o=k[p>>2]|0;o=o+40|0;o=k[o>>2]|0;o=(o|0)!=0;o=o?19010:25368;k[q>>2]=e;p=q+4|0;k[p>>2]=b;p=q+8|0;k[p>>2]=o;eq(d,s,25377,q);s=k[s>>2]|0;r=t;return s|0}return 0}function $p(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;i=n+16|0;h=n+8|0;d=n+44|0;e=n+40|0;f=n+36|0;m=n+32|0;j=n+28|0;l=n+24|0;g=n+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[j>>2]=0;if(k[e>>2]|0){b=dq(k[e>>2]|0)|0;k[l>>2]=b;k[j>>2]=b}else k[l>>2]=19010;eq(k[f>>2]|0,m,20883,n);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+24>>2]|0))break;b=k[f>>2]|0;k[h>>2]=k[l>>2];eq(b,m,25302,h);k[g>>2]=(k[g>>2]|0)+1}if(!(k[(k[d>>2]|0)+44>>2]|0)){l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}eq(k[f>>2]|0,m,25309,i);l=k[j>>2]|0;Ud(l);m=k[m>>2]|0;r=n;return m|0}function aq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+112|0;l=q+64|0;h=q+56|0;g=q+48|0;f=q+32|0;m=q+24|0;j=q+8|0;b=q+96|0;e=q+92|0;d=q+88|0;c=q+84|0;p=q+80|0;o=q+76|0;n=q+72|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];if(!(k[(k[b>>2]|0)+40>>2]|0)){k[p>>2]=k[(k[b>>2]|0)+44>>2];a=Yd(24927,q)|0;k[o>>2]=a;k[d>>2]=0;while(1){if(!(k[o>>2]|0))break;if((k[d>>2]|0)>=(k[(k[b>>2]|0)+24>>2]|0))break;k[n>>2]=k[(k[(k[b>>2]|0)+28>>2]|0)+(k[d>>2]<<2)>>2];s=k[d>>2]|0;a=k[n>>2]|0;k[j>>2]=k[o>>2];k[j+4>>2]=s;k[j+8>>2]=a;a=Yd(24953,j)|0;k[o>>2]=a;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)!=0&(k[o>>2]|0)!=0){s=k[p>>2]|0;k[m>>2]=k[o>>2];k[m+4>>2]=s;s=Yd(24965,m)|0;k[o>>2]=s}if(!(k[o>>2]|0))k[e>>2]=7;s=k[c>>2]|0;n=k[(k[b>>2]|0)+20>>2]|0;p=k[o>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=n;k[f+8>>2]=p;vl(e,s,24976,f);Ud(k[o>>2]|0)}s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[g>>2]=k[(k[b>>2]|0)+16>>2];k[g+4>>2]=p;vl(e,s,25009,g);s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[h>>2]=k[(k[b>>2]|0)+16>>2];k[h+4>>2]=p;vl(e,s,25081,h);if(i[(k[b>>2]|0)+230>>0]|0){s=k[c>>2]|0;p=k[(k[b>>2]|0)+20>>2]|0;k[l>>2]=k[(k[b>>2]|0)+16>>2];k[l+4>>2]=p;vl(e,s,25234,l)}if(!(i[(k[b>>2]|0)+229>>0]|0)){s=k[e>>2]|0;r=q;return s|0}jp(e,k[b>>2]|0);s=k[e>>2]|0;r=q;return s|0}function bq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i;c=i+20|0;d=i+16|0;f=i+12|0;h=i+8|0;e=i+4|0;k[c>>2]=a;k[d>>2]=b;if(k[k[c>>2]>>2]|0){r=i;return}k[g>>2]=k[(k[d>>2]|0)+16>>2];g=Yd(24907,g)|0;k[h>>2]=g;do if(k[h>>2]|0){g=nf(k[(k[d>>2]|0)+12>>2]|0,k[h>>2]|0,-1,e,0)|0;k[f>>2]=g;if(!(k[f>>2]|0)){Ee(k[e>>2]|0)|0;g=Ne(k[e>>2]|0,0)|0;k[(k[d>>2]|0)+236>>2]=g;g=ge(k[e>>2]|0)|0;k[f>>2]=g;break}if((k[f>>2]|0)==23){k[(k[d>>2]|0)+236>>2]=1024;k[f>>2]=0}}else k[f>>2]=7;while(0);Ud(k[h>>2]|0);k[k[c>>2]>>2]=k[f>>2];r=i;return}function cq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;j=o+24|0;i=o+16|0;d=o+8|0;c=o;e=o+60|0;f=o+56|0;g=o+52|0;h=o+48|0;n=o+44|0;l=o+40|0;m=o+36|0;k[e>>2]=a;k[f>>2]=b;if(k[k[e>>2]>>2]|0){r=o;return}if(k[(k[f>>2]|0)+44>>2]|0)b=k[(k[f>>2]|0)+44>>2]|0;else b=24832;k[m>>2]=b;a=k[(k[f>>2]|0)+12>>2]|0;k[c>>2]=1;sf(a,1,c)|0;k[d>>2]=k[k[(k[f>>2]|0)+28>>2]>>2];d=Yd(24841,d)|0;k[l>>2]=d;k[g>>2]=1;while(1){if(k[l>>2]|0)a=(k[g>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0);else a=0;b=k[l>>2]|0;if(!a)break;d=k[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]<<2)>>2]|0;k[i>>2]=b;k[i+4>>2]=d;d=Yd(24846,i)|0;k[l>>2]=d;k[g>>2]=(k[g>>2]|0)+1}i=k[(k[f>>2]|0)+20>>2]|0;m=k[m>>2]|0;k[j>>2]=b;k[j+4>>2]=i;k[j+8>>2]=m;m=Yd(24853,j)|0;k[n>>2]=m;if((k[l>>2]|0)!=0&(k[n>>2]|0)!=0){m=qf(k[(k[f>>2]|0)+12>>2]|0,k[n>>2]|0)|0;k[h>>2]=m}else k[h>>2]=7;Ud(k[n>>2]|0);Ud(k[l>>2]|0);k[k[e>>2]>>2]=k[h>>2];r=o;return}function dq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;g=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;a=2+((UQ(k[b>>2]|0)|0)<<1)+1|0;k[g>>2]=a;a=Sd(k[g>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){g=k[e>>2]|0;r=f;return g|0}k[d>>2]=k[e>>2];g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;k[c>>2]=0;while(1){if(!(i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0))break;if((i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0)==34){g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34}a=i[(k[b>>2]|0)+(k[c>>2]|0)>>0]|0;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=a;k[c>>2]=(k[c>>2]|0)+1}g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=34;g=k[d>>2]|0;k[d>>2]=g+1;i[g>>0]=0;g=k[e>>2]|0;r=f;return g|0}function eq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;i=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+16|0;j=m+12|0;l=m+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=m;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[j>>2]=c;if((k[j>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0){c=k[j>>2]|0;k[i>>2]=k[k[f>>2]>>2];k[i+4>>2]=c;c=Yd(25313,i)|0;k[l>>2]=c;Ud(k[j>>2]|0);k[j>>2]=k[l>>2]}if(!(k[j>>2]|0))k[k[e>>2]>>2]=7;Ud(k[k[f>>2]>>2]|0);k[k[f>>2]>>2]=k[j>>2];r=m;return}function fq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;g=j+4|0;f=j;k[d>>2]=a;k[e>>2]=b;k[j+8>>2]=1e7;k[f>>2]=0;k[g>>2]=k[k[d>>2]>>2];while(1){if((i[k[g>>2]>>0]|0)<48)break;if((i[k[g>>2]>>0]|0)>57)break;k[f>>2]=((k[f>>2]|0)*10|0)+((i[k[g>>2]>>0]|0)-48);if((k[f>>2]|0)>1e7){h=5;break}k[g>>2]=(k[g>>2]|0)+1}if((h|0)==5)k[f>>2]=0;if((k[g>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}else{k[k[e>>2]>>2]=k[f>>2];k[k[d>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}return 0}function gq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;l=o;d=o+40|0;p=o+36|0;e=o+32|0;h=o+28|0;j=o+24|0;n=o+20|0;g=o+16|0;i=o+12|0;f=o+8|0;m=o+4|0;k[d>>2]=a;k[p>>2]=b;k[e>>2]=c;k[j>>2]=0;a=Fe(k[d>>2]|0)|0;k[h>>2]=a;a=ke(k[k[e>>2]>>2]|0)|0;k[n>>2]=a;a=(le(k[k[e>>2]>>2]|0)|0)+1|0;k[g>>2]=a;do if((k[p>>2]|0)==2){if(!(hq(k[d>>2]|0)|0)){te(k[d>>2]|0,25638,-1);r=o;return}p=le(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=p;if((k[n>>2]|0)==0|(k[f>>2]|0)!=4){te(k[d>>2]|0,25601,-1);r=o;return}else{p=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[j>>2]=k[p>>2];p=tk(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0,k[j>>2]|0)|0;k[i>>2]=p;if((k[i>>2]|0)!=(k[j>>2]|0))break;te(k[d>>2]|0,25624,-1);break}}else{if(k[n>>2]|0){p=Mk(k[h>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[j>>2]=p}if(!(k[j>>2]|0)){k[l>>2]=k[n>>2];p=Yd(21203,l)|0;k[m>>2]=p;te(k[d>>2]|0,k[m>>2]|0,-1);Ud(k[m>>2]|0);r=o;return}}while(0);qe(k[d>>2]|0,j,4,-1);r=o;return}function hq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;d=c;f=c+16|0;e=c+12|0;b=c+8|0;k[f>>2]=a;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;k[b>>2]=0;a=k[e>>2]|0;k[d>>2]=-1;k[d+4>>2]=b;yf(a,1004,d)|0;r=c;return k[b>>2]|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];f=k[g>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if((k[k[g>>2]>>2]|0)<=0)k[(k[g>>2]|0)+4>>2]=0;if((i[(k[d>>2]|0)+1>>0]|0)!=0?(k[(k[e>>2]|0)+12>>2]|0)!=0:0)yk(k[(k[e>>2]|0)+12>>2]|0);yk(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if((k[(k[d>>2]|0)+4>>2]|0)>0){r=h;return}xk(k[d>>2]|0);r=h;return}function jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;e=m+20|0;h=m+16|0;f=m+12|0;j=m+8|0;l=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;a=kq(k[e>>2]<<3)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}yk(k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[h>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=Pk(i[k[d>>2]>>0]|0)|0;k[l>>2]=a;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=gc[k[l>>2]&255](k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a&(k[e>>2]|0)-1;k[j>>2]=k[k[f>>2]>>2];lq(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[j>>2]}k[c>>2]=0;l=k[c>>2]|0;r=m;return l|0}function kq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}DR(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[e>>2]|0)+4>>2];if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[d>>2]|0)+8>>2]|0)k[(k[(k[d>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+8>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];g=k[e>>2]|0;d=k[g>>2]|0;d=d+1|0;k[g>>2]=d;f=k[f>>2]|0;g=k[e>>2]|0;g=g+4|0;k[g>>2]=f;r=h;return}function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+4|0;f=g;k[g+12>>2]=a;k[g+8>>2]=b;k[e>>2]=c;c=Sd(4)|0;k[f>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}else{k[k[f>>2]>>2]=0;k[k[e>>2]>>2]=k[f>>2];k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function nq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function oq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=Sd(28)|0;k[i>>2]=b;if(!(k[i>>2]|0)){k[e>>2]=7;b=k[e>>2]|0;r=j;return b|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){b=UQ(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=b;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;b=k[e>>2]|0;r=j;return b|0}function pq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function qq(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+48|0;x=w+44|0;h=w+40|0;j=w+36|0;l=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;u=w+16|0;q=w+12|0;p=w+8|0;s=w+4|0;t=w;k[x>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=k[x>>2];k[u>>2]=k[(k[o>>2]|0)+4>>2];do{if((k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[o>>2]|0)+8>>2]|0)){v=23;break}while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)?(x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0,k[p>>2]=x,(x&128|0)==0):0)if((k[p>>2]|0)<48)a=1;else a=(i[25660+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[q>>2]=f;while(1){if((k[(k[o>>2]|0)+12>>2]|0)<(k[(k[o>>2]|0)+8>>2]|0)){x=i[(k[u>>2]|0)+(k[(k[o>>2]|0)+12>>2]|0)>>0]|0;k[p>>2]=x;if(!(x&128))if((k[p>>2]|0)<48)a=1;else a=(i[25660+((k[p>>2]|0)-48)>>0]|0)!=0^1;else a=0;a=a^1}else a=0;e=(k[o>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[q>>2]|0));if((v|0)==23){k[g>>2]=101;x=k[g>>2]|0;r=w;return x|0}k[s>>2]=(k[(k[o>>2]|0)+12>>2]|0)-(k[q>>2]|0);do if((k[s>>2]|0)>(k[(k[o>>2]|0)+24>>2]|0)){k[(k[o>>2]|0)+24>>2]=(k[s>>2]|0)+20;x=Vd(k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;k[t>>2]=x;if(k[t>>2]|0){k[(k[o>>2]|0)+20>>2]=k[t>>2];break}k[g>>2]=7;x=k[g>>2]|0;r=w;return x|0}while(0);rq((k[u>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[j>>2]|0);k[k[h>>2]>>2]=k[(k[o>>2]|0)+20>>2];k[k[l>>2]>>2]=k[q>>2];k[k[m>>2]>>2]=k[(k[o>>2]|0)+12>>2];v=(k[o>>2]|0)+16|0;x=k[v>>2]|0;k[v>>2]=x+1;k[k[n>>2]>>2]=x;k[g>>2]=0;x=k[g>>2]|0;r=w;return x|0}function rq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+64|0;e=s+28|0;f=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;h=s+8|0;l=s+36|0;q=s+4|0;j=s;g=s+32|0;k[e>>2]=a;k[f>>2]=b;k[n>>2]=c;k[o>>2]=d;if((k[f>>2]|0)<3|(k[f>>2]|0)>=21){sq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}k[p>>2]=0;k[h>>2]=22;while(1){if((k[p>>2]|0)>=(k[f>>2]|0))break;i[g>>0]=i[(k[e>>2]|0)+(k[p>>2]|0)>>0]|0;if((i[g>>0]|0)>=65?(i[g>>0]|0)<=90:0)i[l+(k[h>>2]|0)>>0]=(i[g>>0]|0)+97-65;else{if((i[g>>0]|0)<97){m=11;break}if((i[g>>0]|0)>122){m=11;break}i[l+(k[h>>2]|0)>>0]=i[g>>0]|0}k[p>>2]=(k[p>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+-1}if((m|0)==11){sq(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,k[o>>2]|0);r=s;return}m=l+23|0;i[m>>0]=0;i[m+1>>0]=0;i[m+2>>0]=0;i[m+3>>0]=0;i[m+4>>0]=0;k[q>>2]=l+((k[h>>2]|0)+1);if((((i[k[q>>2]>>0]|0)==115?(tq(q,25740,25745,0)|0)==0:0)?(tq(q,25748,25752,0)|0)==0:0)?(tq(q,25745,25745,0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1;k[j>>2]=k[q>>2];do if(!(tq(q,25754,25758,172)|0)){if((tq(q,25761,19010,173)|0)==0?(tq(q,25765,19010,173)|0)==0:0)break;if((((k[q>>2]|0)!=(k[j>>2]|0)?(tq(q,25768,25771,0)|0)==0:0)?(tq(q,25775,25778,0)|0)==0:0)?(tq(q,25782,25785,0)|0)==0:0){if((((wq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)!=108:0)?(i[k[q>>2]>>0]|0)!=115:0)?(i[k[q>>2]>>0]|0)!=122:0){k[q>>2]=(k[q>>2]|0)+1;break}if((xq(k[q>>2]|0)|0)!=0?(yq(k[q>>2]|0)|0)!=0:0){m=(k[q>>2]|0)+-1|0;k[q>>2]=m;i[m>>0]=101}}}while(0);if((i[k[q>>2]>>0]|0)==121?(vq((k[q>>2]|0)+1|0)|0)!=0:0)i[k[q>>2]>>0]=105;switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if(!(tq(q,25789,25771,172)|0))tq(q,25797,25804,172)|0;break}case 99:{if(!(tq(q,25809,25814,172)|0))tq(q,25819,25824,172)|0;break}case 101:{tq(q,25829,25785,172)|0;break}case 103:{tq(q,25834,25839,172)|0;break}case 108:{if((((tq(q,25843,25778,172)|0)==0?(tq(q,25847,25852,172)|0)==0:0)?(tq(q,25855,25861,172)|0)==0:0)?(tq(q,25865,25869,172)|0)==0:0)tq(q,25871,25877,172)|0;break}case 111:{if((tq(q,25881,25785,172)|0)==0?(tq(q,25889,25771,172)|0)==0:0)tq(q,25895,25771,172)|0;break}case 115:{if(((tq(q,25900,25852,172)|0)==0?(tq(q,25906,25914,172)|0)==0:0)?(tq(q,25918,25926,172)|0)==0:0)tq(q,25930,25877,172)|0;break}case 116:{if((tq(q,25938,25852,172)|0)==0?(tq(q,25944,25914,172)|0)==0:0)tq(q,25950,25778,172)|0;break}default:{}}switch(i[k[q>>2]>>0]|0){case 101:{if((tq(q,25957,25963,172)|0)==0?(tq(q,25966,19010,172)|0)==0:0)tq(q,25972,25852,172)|0;break}case 105:{tq(q,25978,25963,172)|0;break}case 108:{if(!(tq(q,25984,25963,172)|0))tq(q,25989,19010,172)|0;break}case 115:{tq(q,25993,19010,172)|0;break}default:{}}a:do switch(i[(k[q>>2]|0)+1>>0]|0){case 97:{if((i[k[q>>2]>>0]|0)==108?(zq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 99:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==110:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=101:0)break a;if(zq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 101:{if((i[k[q>>2]>>0]|0)==114?(zq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 105:{if((i[k[q>>2]>>0]|0)==99?(zq((k[q>>2]|0)+2|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+2;break}case 108:{if((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==98:0){if((i[(k[q>>2]|0)+3>>0]|0)!=97?(i[(k[q>>2]|0)+3>>0]|0)!=105:0)break a;if(zq((k[q>>2]|0)+4|0)|0)k[q>>2]=(k[q>>2]|0)+4}break}case 110:{if((i[k[q>>2]>>0]|0)==116){e=k[q>>2]|0;if((i[(k[q>>2]|0)+2>>0]|0)==97){if(!(zq(e+3|0)|0))break a;k[q>>2]=(k[q>>2]|0)+3;break a}if(((i[e+2>>0]|0)==101?(tq(q,25998,19010,174)|0)==0:0)?(tq(q,26004,19010,174)|0)==0:0)tq(q,26009,19010,174)|0}break}case 111:{e=k[q>>2]|0;if((i[k[q>>2]>>0]|0)==117){if(!(zq(e+2|0)|0))break a;k[q>>2]=(k[q>>2]|0)+2;break a}if((i[e+3>>0]|0)!=115?(i[(k[q>>2]|0)+3>>0]|0)!=116:0)break a;tq(q,26013,19010,174)|0;break}case 115:{if(((i[k[q>>2]>>0]|0)==109?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(zq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 116:{if(!(tq(q,26017,19010,174)|0))tq(q,26021,19010,174)|0;break}case 117:{if(((i[k[q>>2]>>0]|0)==115?(i[(k[q>>2]|0)+2>>0]|0)==111:0)?(zq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}case 122:case 118:{if(((i[k[q>>2]>>0]|0)==101?(i[(k[q>>2]|0)+2>>0]|0)==105:0)?(zq((k[q>>2]|0)+3|0)|0)!=0:0)k[q>>2]=(k[q>>2]|0)+3;break}default:{}}while(0);do if((i[k[q>>2]>>0]|0)==101){m=(zq((k[q>>2]|0)+1|0)|0)!=0;e=(k[q>>2]|0)+1|0;if(m){k[q>>2]=e;break}if((xq(e)|0)!=0?(yq((k[q>>2]|0)+1|0)|0)==0:0)k[q>>2]=(k[q>>2]|0)+1}while(0);if(((zq(k[q>>2]|0)|0)!=0?(i[k[q>>2]>>0]|0)==108:0)?(i[(k[q>>2]|0)+1>>0]|0)==108:0)k[q>>2]=(k[q>>2]|0)+1;m=UQ(k[q>>2]|0)|0;k[p>>2]=m;k[k[o>>2]>>2]=m;i[(k[n>>2]|0)+(k[p>>2]|0)>>0]=0;while(1){if(!(i[k[q>>2]>>0]|0))break;m=k[q>>2]|0;k[q>>2]=m+1;m=i[m>>0]|0;o=(k[p>>2]|0)+-1|0;k[p>>2]=o;i[(k[n>>2]|0)+o>>0]=m}r=s;return}function sq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;j=p+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[j>>0]=i[(k[e>>2]|0)+(k[m>>2]|0)>>0]|0;if((i[j>>0]|0)>=65?(i[j>>0]|0)<=90:0)i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=(i[j>>0]|0)-65+97;else{if((i[j>>0]|0)>=48?(i[j>>0]|0)<=57:0)k[l>>2]=1;i[(k[g>>2]|0)+(k[m>>2]|0)>>0]=i[j>>0]|0}k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=(k[l>>2]|0)!=0?3:10;if((k[f>>2]|0)<=(k[o>>2]<<1|0)){a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}k[n>>2]=k[o>>2];k[m>>2]=(k[f>>2]|0)-(k[o>>2]|0);while(1){if((k[m>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[n>>2]|0)>>0]=i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0;k[m>>2]=(k[m>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=k[n>>2];a=k[m>>2]|0;c=k[g>>2]|0;a=c+a|0;i[a>>0]=0;a=k[m>>2]|0;c=k[h>>2]|0;k[c>>2]=a;r=p;return}function tq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=k[k[f>>2]>>2];while(1){if(!(i[k[g>>2]>>0]|0))break;if((i[k[g>>2]>>0]|0)!=(i[k[l>>2]>>0]|0))break;k[l>>2]=(k[l>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}if(i[k[g>>2]>>0]|0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}if((k[j>>2]|0)!=0?(bc[k[j>>2]&255](k[l>>2]|0)|0)==0:0){k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}while(1){if(!(i[k[h>>2]>>0]|0))break;b=k[h>>2]|0;k[h>>2]=b+1;b=i[b>>0]|0;c=(k[l>>2]|0)+-1|0;k[l>>2]=c;i[c>>0]=b}k[k[f>>2]>>2]=k[l>>2];k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function uq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function vq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){d=(Bq(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!d)break;k[b>>2]=a+1}r=c;return (i[a>>0]|0)!=0|0}function wq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(Bq(k[b>>2]|0)|0)){a=0;a=a&1;r=c;return a|0}a=(i[k[b>>2]>>0]|0)==(i[(k[b>>2]|0)+1>>0]|0);a=a&1;r=c;return a|0}function xq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=1;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)==0&1;e=k[b>>2]|0;r=d;return e|0}function yq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(((((Bq(k[b>>2]|0)|0)!=0?(i[k[b>>2]>>0]|0)!=119:0)?(i[k[b>>2]>>0]|0)!=120:0)?(i[k[b>>2]>>0]|0)!=121:0)?(Aq((k[b>>2]|0)+1|0)|0)!=0:0)b=(Bq((k[b>>2]|0)+2|0)|0)!=0;else b=0;r=c;return b&1|0}function zq(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Aq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}if(!(i[a>>0]|0)){k[b>>2]=0;e=k[b>>2]|0;r=d;return e|0}while(1){e=(Bq(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;if(!e)break;k[c>>2]=a+1}k[b>>2]=(i[a>>0]|0)!=0&1;e=k[b>>2]|0;r=d;return e|0}function Aq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;c=f+4|0;d=f;e=f+12|0;k[c>>2]=a;i[e>>0]=i[k[c>>2]>>0]|0;if(!(i[e>>0]|0)){k[b>>2]=0;a=k[b>>2]|0;r=f;return a|0}k[d>>2]=i[26025+((i[e>>0]|0)-97)>>0];if((k[d>>2]|0)<2){k[b>>2]=1-(k[d>>2]|0);a=k[b>>2]|0;r=f;return a|0}else{a=Bq((k[c>>2]|0)+1|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=f;return a|0}return 0}function Bq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;b=f+4|0;c=f;d=f+12|0;k[b>>2]=a;i[d>>0]=i[k[b>>2]>>0]|0;if(!(i[d>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=i[26025+((i[d>>0]|0)-97)>>0];if((k[c>>2]|0)<2){k[e>>2]=k[c>>2];e=k[e>>2]|0;r=f;return e|0}if(!(i[(k[b>>2]|0)+1>>0]|0))b=1;else b=(Aq((k[b>>2]|0)+1|0)|0)!=0;k[e>>2]=b&1;e=k[e>>2]|0;r=f;return e|0}function Cq(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,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+28|0;e=p+24|0;f=p+20|0;g=p+16|0;o=p+12|0;j=p+8|0;n=p+4|0;h=p+32|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=Sd(132)|0;k[o>>2]=c;if(!(k[o>>2]|0)){k[d>>2]=7;o=k[d>>2]|0;r=p;return o|0}DR(k[o>>2]|0,0,132)|0;a:do if((k[e>>2]|0)>1){c=UQ(k[(k[f>>2]|0)+4>>2]|0)|0;k[n>>2]=c;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[n>>2]|0))break a;i[h>>0]=i[(k[(k[f>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]|0;if((l[h>>0]|0|0)>=128)break;i[(k[o>>2]|0)+4+(l[h>>0]|0)>>0]=1;k[j>>2]=(k[j>>2]|0)+1}Ud(k[o>>2]|0);k[d>>2]=1;o=k[d>>2]|0;r=p;return o|0}else{k[m>>2]=1;while(1){if((k[m>>2]|0)>=128)break a;c=(Iq(k[m>>2]|0)|0)!=0^1;i[(k[o>>2]|0)+4+(k[m>>2]|0)>>0]=c?-1:0;k[m>>2]=(k[m>>2]|0)+1}}while(0);k[k[g>>2]>>2]=k[o>>2];k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}function Dq(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return 0}function Eq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=UQ(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[(k[i>>2]|0)+12>>2]=0;k[(k[i>>2]|0)+16>>2]=0;k[(k[i>>2]|0)+20>>2]=0;k[(k[i>>2]|0)+24>>2]=0;k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Fq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Gq(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;m=z+52|0;A=z+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;s=z+28|0;t=z+24|0;h=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;g=z;u=z+56|0;k[A>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=k[A>>2];k[h>>2]=k[k[A>>2]>>2];k[y>>2]=k[(k[t>>2]|0)+4>>2];do{if((k[(k[t>>2]|0)+12>>2]|0)>=(k[(k[t>>2]|0)+8>>2]|0)){j=25;break}while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Hq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}k[w>>2]=f;while(1){if((k[(k[t>>2]|0)+12>>2]|0)<(k[(k[t>>2]|0)+8>>2]|0))a=(Hq(k[h>>2]|0,i[(k[y>>2]|0)+(k[(k[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else a=0;e=(k[t>>2]|0)+12|0;f=k[e>>2]|0;if(!a)break;k[e>>2]=f+1}}while((f|0)<=(k[w>>2]|0));if((j|0)==25){k[m>>2]=101;A=k[m>>2]|0;r=z;return A|0}k[x>>2]=(k[(k[t>>2]|0)+12>>2]|0)-(k[w>>2]|0);do if((k[x>>2]|0)>(k[(k[t>>2]|0)+24>>2]|0)){k[(k[t>>2]|0)+24>>2]=(k[x>>2]|0)+20;A=Vd(k[(k[t>>2]|0)+20>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[g>>2]=A;if(k[g>>2]|0){k[(k[t>>2]|0)+20>>2]=k[g>>2];break}k[m>>2]=7;A=k[m>>2]|0;r=z;return A|0}while(0);k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[x>>2]|0))break;i[u>>0]=i[(k[y>>2]|0)+((k[w>>2]|0)+(k[v>>2]|0))>>0]|0;if((l[u>>0]|0|0)>=65?(l[u>>0]|0|0)<=90:0)a=(l[u>>0]|0)-65+97|0;else a=l[u>>0]|0;i[(k[(k[t>>2]|0)+20>>2]|0)+(k[v>>2]|0)>>0]=a;k[v>>2]=(k[v>>2]|0)+1}k[k[n>>2]>>2]=k[(k[t>>2]|0)+20>>2];k[k[o>>2]>>2]=k[x>>2];k[k[p>>2]>>2]=k[w>>2];k[k[q>>2]>>2]=k[(k[t>>2]|0)+12>>2];y=(k[t>>2]|0)+16|0;A=k[y>>2]|0;k[y>>2]=A+1;k[k[s>>2]>>2]=A;k[m>>2]=0;A=k[m>>2]|0;r=z;return A|0}function Hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e;d=e+4|0;k[c>>2]=a;i[d>>0]=b;if((l[d>>0]|0)>=128){a=0;a=a&1;r=e;return a|0}a=(i[(k[c>>2]|0)+4+(l[d>>0]|0)>>0]|0)!=0;a=a&1;r=e;return a|0}function Iq(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((k[b>>2]|0)>=48&(k[b>>2]|0)<=57)?!((k[b>>2]|0)>=65&(k[b>>2]|0)<=90):0)b=(k[b>>2]|0)>=97?(k[b>>2]|0)<=122:0;else b=1;r=c;return b&1|0}function Jq(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;t=w;g=w+56|0;h=w+52|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;u=w+28|0;v=w+24|0;o=w+20|0;p=w+16|0;n=w+12|0;s=w+8|0;q=w+4|0;k[h>>2]=a;k[w+48>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;do if(!((k[i>>2]|0)!=4&(k[i>>2]|0)!=5)){k[u>>2]=k[(k[j>>2]|0)+4>>2];f=UQ(k[u>>2]|0)|0;k[o>>2]=f;if((k[i>>2]|0)==5){if((k[o>>2]|0)!=4)break;if(Jd(19280,k[u>>2]|0,4)|0)break;k[u>>2]=k[(k[j>>2]|0)+12>>2];t=UQ(k[u>>2]|0)|0;k[o>>2]=t;k[v>>2]=k[(k[j>>2]|0)+16>>2]}else k[v>>2]=k[(k[j>>2]|0)+12>>2];t=UQ(k[v>>2]|0)|0;k[p>>2]=t;t=qf(k[h>>2]|0,26061)|0;k[s>>2]=t;if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[n>>2]=296+(k[o>>2]|0)+(k[p>>2]|0)+2;t=Sd(k[n>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){DR(k[q>>2]|0,0,k[n>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=(k[q>>2]|0)+16;k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]=(k[(k[q>>2]|0)+12>>2]|0)+280;k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]=(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0)+((k[o>>2]|0)+1);k[(k[(k[q>>2]|0)+12>>2]|0)+12>>2]=k[h>>2];k[(k[(k[q>>2]|0)+12>>2]|0)+248>>2]=1;BR(k[(k[(k[q>>2]|0)+12>>2]|0)+16>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;BR(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0,k[v>>2]|0,k[p>>2]|0)|0;Wk(k[(k[(k[q>>2]|0)+12>>2]|0)+20>>2]|0);k[k[l>>2]>>2]=k[q>>2];k[g>>2]=0;v=k[g>>2]|0;r=w;return v|0}else{k[g>>2]=7;v=k[g>>2]|0;r=w;return v|0}}while(0);Nk(k[m>>2]|0,26130,t);k[g>>2]=1;v=k[g>>2]|0;r=w;return v|0}function Kq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;f=o+32|0;c=o+28|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;n=o+8|0;e=o+4|0;d=o;k[o+36>>2]=a;k[f>>2]=b;k[g>>2]=-1;k[h>>2]=-1;k[m>>2]=-1;k[j>>2]=-1;k[n>>2]=1;if(((k[(k[f>>2]|0)+8>>2]|0)==1?(k[k[(k[f>>2]|0)+12>>2]>>2]|0)==0:0)?(l[(k[(k[f>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)k[(k[f>>2]|0)+32>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[f>>2]>>2]|0))break;if(i[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+5>>0]|0){k[e>>2]=l[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)+4>>0];k[d>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[c>>2]|0)*12|0)>>2];if(!(k[d>>2]|0)){if((k[e>>2]|0)==2)k[g>>2]=k[c>>2];if((k[e>>2]|0)==16)k[m>>2]=k[c>>2];if((k[e>>2]|0)==8)k[m>>2]=k[c>>2];if((k[e>>2]|0)==4)k[h>>2]=k[c>>2];if((k[e>>2]|0)==32)k[h>>2]=k[c>>2]}if((k[d>>2]|0)==4&(k[e>>2]|0)==2)k[j>>2]=k[c>>2]}k[c>>2]=(k[c>>2]|0)+1}c=(k[f>>2]|0)+20|0;if((k[g>>2]|0)<0){k[c>>2]=0;p[(k[f>>2]|0)+40>>3]=2.0e4;if((k[h>>2]|0)>=0){g=(k[f>>2]|0)+20|0;k[g>>2]=(k[g>>2]|0)+2;g=k[n>>2]|0;k[n>>2]=g+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<3)>>2]=g;h=(k[f>>2]|0)+40|0;p[h>>3]=+p[h>>3]/2.0}if((k[m>>2]|0)>=0){h=(k[f>>2]|0)+20|0;k[h>>2]=(k[h>>2]|0)+4;h=k[n>>2]|0;k[n>>2]=h+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<3)>>2]=h;m=(k[f>>2]|0)+40|0;p[m>>3]=+p[m>>3]/2.0}}else{k[c>>2]=1;m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=m;p[(k[f>>2]|0)+40>>3]=5.0}if((k[j>>2]|0)<0){r=o;return 0}m=k[n>>2]|0;k[n>>2]=m+1;k[(k[(k[f>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=m;n=(k[f>>2]|0)+40|0;p[n>>3]=+p[n>>3]+-1.0;r=o;return 0}function Lq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;c=e+8|0;d=e+4|0;b=e;k[f>>2]=a;k[c>>2]=k[f>>2];k[d>>2]=k[(k[c>>2]|0)+12>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;ge(k[(k[d>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[d>>2]|0)+240>>2]|0);Ud(k[c>>2]|0);r=e;return 0}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(120)|0;k[e>>2]=b;if(k[e>>2]|0){a=k[e>>2]|0;b=a+120|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}return 0}function Nq(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;d=b+4|0;c=b;k[e>>2]=a;k[d>>2]=k[(k[k[e>>2]>>2]|0)+12>>2];k[c>>2]=k[e>>2];Gm(k[d>>2]|0);Jl((k[c>>2]|0)+4|0);Ud(k[(k[c>>2]|0)+60>>2]|0);Ud(k[(k[c>>2]|0)+76>>2]|0);Ud(k[(k[c>>2]|0)+112>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Oq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;x=z+8|0;w=z;f=z+76|0;g=z+72|0;h=z+68|0;i=z+60|0;j=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;n=z+36|0;l=z+32|0;m=z+28|0;p=z+24|0;o=z+20|0;q=z+16|0;y=z+12|0;k[g>>2]=a;k[h>>2]=b;k[z+64>>2]=c;k[i>>2]=d;k[j>>2]=e;k[t>>2]=k[g>>2];k[u>>2]=k[(k[k[g>>2]>>2]|0)+12>>2];k[s>>2]=0;k[n>>2]=0;k[l>>2]=-1;k[m>>2]=-1;k[p>>2]=-1;k[o>>2]=-1;k[q>>2]=0;if((k[h>>2]|0)!=1){k[s>>2]=1;if(k[h>>2]&2){a=k[q>>2]|0;k[q>>2]=a+1;k[m>>2]=a}if(k[h>>2]&4){a=k[q>>2]|0;k[q>>2]=a+1;k[p>>2]=a}}else{a=k[q>>2]|0;k[q>>2]=a+1;k[l>>2]=a}if((k[q>>2]|0)<(k[i>>2]|0)){a=k[q>>2]|0;k[q>>2]=a+1;k[o>>2]=a}Jl((k[t>>2]|0)+4|0);Ud(k[(k[t>>2]|0)+60>>2]|0);Ud(k[(k[t>>2]|0)+112>>2]|0);DR((k[t>>2]|0)+4|0,0,(k[t>>2]|0)+120-((k[t>>2]|0)+4)|0)|0;k[(k[t>>2]|0)+60+12>>2]=3;if(k[s>>2]|0){a=(k[t>>2]|0)+60+12|0;k[a>>2]=k[a>>2]|16}if(((k[l>>2]|0)>=0|(k[m>>2]|0)>=0?(a=ke(k[k[j>>2]>>2]|0)|0,k[y>>2]=a,(k[y>>2]|0)!=0):0)?(k[w>>2]=k[y>>2],y=Yd(18999,w)|0,k[(k[t>>2]|0)+60>>2]=y,y=le(k[k[j>>2]>>2]|0)|0,k[(k[t>>2]|0)+60+4>>2]=y,(k[(k[t>>2]|0)+60>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[p>>2]|0)>=0?(y=ke(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[x>>2]=y,y=Yd(18999,x)|0,k[(k[t>>2]|0)+76>>2]=y,y=le(k[(k[j>>2]|0)+(k[p>>2]<<2)>>2]|0)|0,k[(k[t>>2]|0)+80>>2]=y,(k[(k[t>>2]|0)+76>>2]|0)==0):0){k[f>>2]=7;y=k[f>>2]|0;r=z;return y|0}if((k[o>>2]|0)>=0){y=ne(k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]|0)|0;k[n>>2]=y;k[n>>2]=(k[n>>2]|0)<0?0:y}k[(k[t>>2]|0)+84>>2]=k[n>>2];y=yl(k[u>>2]|0,k[n>>2]|0,0,-2,k[(k[t>>2]|0)+60>>2]|0,k[(k[t>>2]|0)+60+4>>2]|0,0,k[s>>2]|0,(k[t>>2]|0)+4|0)|0;k[v>>2]=y;if(!(k[v>>2]|0)){y=Cl(k[u>>2]|0,(k[t>>2]|0)+4|0,(k[t>>2]|0)+60|0)|0;k[v>>2]=y}if(!(k[v>>2]|0)){y=Pq(k[g>>2]|0)|0;k[v>>2]=y}k[f>>2]=k[v>>2];y=k[f>>2]|0;r=z;return y|0}function Pq(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+64|0;c=p+52|0;q=p+48|0;l=p+44|0;b=p+40|0;m=p+36|0;f=p+32|0;j=p+28|0;d=p+24|0;g=p+20|0;e=p+16|0;i=p+12|0;h=p+8|0;n=p;k[q>>2]=a;k[l>>2]=k[q>>2];k[b>>2]=k[(k[k[q>>2]>>2]|0)+12>>2];a=(k[l>>2]|0)+96|0;q=a;q=zR(k[q>>2]|0,k[q+4>>2]|0,1,0)|0;k[a>>2]=q;k[a+4>>2]=L;a=(k[l>>2]|0)+104|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if((k[(k[l>>2]|0)+104>>2]|0)>=(k[(k[l>>2]|0)+108>>2]|0))break;q=(k[(k[l>>2]|0)+112>>2]|0)+(k[(k[l>>2]|0)+104>>2]<<4)|0;a=k[q+4>>2]|0;if((a|0)>0|(a|0)==0&(k[q>>2]|0)>>>0>0){o=4;break}q=(k[l>>2]|0)+104|0;k[q>>2]=(k[q>>2]|0)+1}if((o|0)==4){k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}q=Dl(k[b>>2]|0,(k[l>>2]|0)+4|0)|0;k[m>>2]=q;do if((k[m>>2]|0)==100){k[f>>2]=0;k[j>>2]=k[(k[l>>2]|0)+4+52>>2];k[d>>2]=k[(k[l>>2]|0)+4+48>>2];k[e>>2]=0;do if(k[(k[l>>2]|0)+76>>2]|0){a=k[l>>2]|0;if((k[(k[l>>2]|0)+80>>2]|0)<(k[(k[l>>2]|0)+4+44>>2]|0))a=k[a+80>>2]|0;else a=k[a+4+44>>2]|0;k[i>>2]=a;q=OQ(k[(k[l>>2]|0)+76>>2]|0,k[(k[l>>2]|0)+4+40>>2]|0,k[i>>2]|0)|0;k[h>>2]=q;if((k[h>>2]|0)>=0){if(k[h>>2]|0)break;if((k[(k[l>>2]|0)+4+44>>2]|0)<=(k[(k[l>>2]|0)+80>>2]|0))break}k[(k[l>>2]|0)+88>>2]=1;k[c>>2]=0;q=k[c>>2]|0;r=p;return q|0}while(0);if(Tq(k[l>>2]|0,2)|0){k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}DR(k[(k[l>>2]|0)+112>>2]|0,0,k[(k[l>>2]|0)+108>>2]<<4|0)|0;k[g>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[j>>2]|0)){o=32;break}q=n;k[q>>2]=0;k[q+4>>2]=0;q=gm((k[d>>2]|0)+(k[f>>2]|0)|0,n)|0;k[f>>2]=(k[f>>2]|0)+q;switch(k[e>>2]|0){case 0:{q=k[(k[l>>2]|0)+112>>2]|0;i=q;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=1;k[g>>2]=0;continue a}case 1:{q=n;i=k[q+4>>2]|0;if((i|0)>0|(i|0)==0&(k[q>>2]|0)>>>0>1){q=(k[(k[l>>2]|0)+112>>2]|0)+16|0;i=q;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L}k[e>>2]=2;break}case 2:break;default:{k[g>>2]=k[n>>2];if(Tq(k[l>>2]|0,(k[g>>2]|0)+2|0)|0)break a;q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)|0;i=q;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;k[e>>2]=2;continue a}}q=n;if((k[q>>2]|0)==0&(k[q+4>>2]|0)==0){k[e>>2]=0;continue}q=n;if((k[q>>2]|0)==1&(k[q+4>>2]|0)==0){k[e>>2]=3;continue}else{q=(k[(k[l>>2]|0)+112>>2]|0)+((k[g>>2]|0)+1<<4)+8|0;i=q;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;q=(k[(k[l>>2]|0)+112>>2]|0)+8|0;i=q;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;k[q>>2]=i;k[q+4>>2]=L;continue}}if((o|0)==32){k[(k[l>>2]|0)+104>>2]=0;k[m>>2]=0;break}k[c>>2]=7;q=k[c>>2]|0;r=p;return q|0}else k[(k[l>>2]|0)+88>>2]=1;while(0);k[c>>2]=k[m>>2];q=k[c>>2]|0;r=p;return q|0}function Qq(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return k[(k[b>>2]|0)+88>>2]|0}function Rq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,k[(k[e>>2]|0)+4+40>>2]|0,k[(k[e>>2]|0)+4+44>>2]|0,-1);r=f;return 0}case 1:{d=k[d>>2]|0;if(k[(k[e>>2]|0)+104>>2]|0){ue(d,(k[(k[e>>2]|0)+104>>2]|0)-1|0);r=f;return 0}else{xe(d,26059,-1,0);r=f;return 0}}case 2:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)|0;ve(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}case 3:{h=(k[(k[e>>2]|0)+112>>2]|0)+(k[(k[e>>2]|0)+104>>2]<<4)+8|0;ve(k[d>>2]|0,k[h>>2]|0,k[h+4>>2]|0);r=f;return 0}default:{ue(k[d>>2]|0,k[(k[e>>2]|0)+84>>2]|0);r=f;return 0}}return 0}function Sq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+96|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Tq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;do if((k[e>>2]|0)>(k[(k[d>>2]|0)+108>>2]|0)){a=Vd(k[(k[d>>2]|0)+112>>2]|0,k[e>>2]<<4)|0;k[f>>2]=a;if(k[f>>2]|0){DR((k[f>>2]|0)+(k[(k[d>>2]|0)+108>>2]<<4)|0,0,(k[e>>2]|0)-(k[(k[d>>2]|0)+108>>2]|0)<<4|0)|0;k[(k[d>>2]|0)+112>>2]=k[f>>2];k[(k[d>>2]|0)+108>>2]=k[e>>2];break}k[c>>2]=7;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function Uq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=0;c=Sd(16)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[j>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[(k[j>>2]|0)+4>>2]=1;k[h>>2]=0;while(1){if(k[l>>2]|0)break;if((k[h>>2]|0)>=(k[e>>2]|0))break;k[m>>2]=k[(k[f>>2]|0)+(k[h>>2]<<2)>>2];c=UQ(k[m>>2]|0)|0;k[i>>2]=c;if((k[i>>2]|0)==19?(OQ(26336,k[m>>2]|0,19)|0)==0:0)k[(k[j>>2]|0)+4>>2]=1;else n=9;do if((n|0)==9){n=0;if((k[i>>2]|0)==19?(OQ(26356,k[m>>2]|0,19)|0)==0:0){k[(k[j>>2]|0)+4>>2]=0;break}if((k[i>>2]|0)>=11?(OQ(26376,k[m>>2]|0,11)|0)==0:0){c=dr(k[j>>2]|0,1,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}if((k[i>>2]|0)>=11?(OQ(26388,k[m>>2]|0,11)|0)==0:0){c=dr(k[j>>2]|0,0,(k[m>>2]|0)+11|0,(k[i>>2]|0)-11|0)|0;k[l>>2]=c;break}k[l>>2]=1}while(0);k[h>>2]=(k[h>>2]|0)+1}if(k[l>>2]|0){Vq(k[j>>2]|0)|0;k[j>>2]=0}k[k[g>>2]>>2]=k[j>>2];k[d>>2]=k[l>>2];n=k[d>>2]|0;r=o;return n|0}function Vq(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return 0}k[c>>2]=k[b>>2];Ud(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);r=d;return 0}function Wq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[j+16>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=Sd(28)|0;k[i>>2]=d;if(!(k[i>>2]|0)){k[e>>2]=7;d=k[e>>2]|0;r=j;return d|0}d=k[i>>2]|0;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[(k[i>>2]|0)+4>>2]=k[f>>2];do if(k[f>>2]|0)if((k[g>>2]|0)<0){d=UQ(k[f>>2]|0)|0;k[(k[i>>2]|0)+8>>2]=d;break}else{k[(k[i>>2]|0)+8>>2]=k[g>>2];break}else k[(k[i>>2]|0)+8>>2]=0;while(0);k[k[h>>2]>>2]=k[i>>2];k[e>>2]=0;d=k[e>>2]|0;r=j;return d|0}function Xq(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Ud(k[(k[c>>2]|0)+20>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Yq(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+80|0;o=A+64|0;B=A+60|0;p=A+56|0;q=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;j=A+32|0;g=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;n=A+8|0;h=A+4|0;m=A;k[B>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=k[B>>2];k[j>>2]=k[k[v>>2]>>2];k[g>>2]=0;k[w>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+12>>2]|0);k[z>>2]=k[w>>2];k[n>>2]=(k[(k[v>>2]|0)+4>>2]|0)+(k[(k[v>>2]|0)+8>>2]|0);while(1){if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[26171+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))a=((l[k[w>>2]>>0]|0)&192|0)==128;else a=0;b=k[g>>2]|0;if(!a)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(b<<6)+(63&(l[B>>0]|0))}if(((b|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if(Zq(k[j>>2]|0,k[g>>2]|0)|0)break;k[z>>2]=k[w>>2]}if((k[z>>2]|0)>>>0>=(k[n>>2]|0)>>>0){k[o>>2]=101;B=k[o>>2]|0;r=A;return B|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0)|0)>=((k[(k[v>>2]|0)+24>>2]|0)-4|0)){B=Vd(k[(k[v>>2]|0)+20>>2]|0,(k[(k[v>>2]|0)+24>>2]|0)+64|0)|0;k[m>>2]=B;if(!(k[m>>2]|0)){a=20;break}k[y>>2]=(k[m>>2]|0)+((k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0));k[(k[v>>2]|0)+20>>2]=k[m>>2];B=(k[v>>2]|0)+24|0;k[B>>2]=(k[B>>2]|0)+64}k[x>>2]=k[w>>2];B=_q(k[g>>2]|0,k[(k[j>>2]|0)+4>>2]|0)|0;k[h>>2]=B;do if(k[h>>2]|0){a=k[h>>2]|0;if((k[h>>2]|0)<128){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=a;break}b=k[h>>2]|0;if((a|0)<2048){c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=192+(b>>6&31);c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}a=k[h>>2]|0;if((b|0)<65536){B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=224+(a>>12&15);B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}else{c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=240+(a>>18&7);c=128+(k[h>>2]>>12&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;B=128+(k[h>>2]>>6&63)&255;c=k[y>>2]|0;k[y>>2]=c+1;i[c>>0]=B;c=128+(k[h>>2]&63)&255;B=k[y>>2]|0;k[y>>2]=B+1;i[B>>0]=c;break}}while(0);if((k[w>>2]|0)>>>0>=(k[n>>2]|0)>>>0){a=43;break}B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=l[B>>0];do if((k[g>>2]|0)>=192){k[g>>2]=l[26171+((k[g>>2]|0)-192)>>0];while(1){if((k[w>>2]|0)!=(k[n>>2]|0))b=((l[k[w>>2]>>0]|0)&192|0)==128;else b=0;a=k[g>>2]|0;if(!b)break;B=k[w>>2]|0;k[w>>2]=B+1;k[g>>2]=(a<<6)+(63&(l[B>>0]|0))}if(((a|0)>=128?(k[g>>2]&-2048|0)!=55296:0)?(k[g>>2]&-2|0)!=65534:0)break;k[g>>2]=65533}while(0);if(Zq(k[j>>2]|0,k[g>>2]|0)|0)continue;if(!($q(k[g>>2]|0)|0)){a=43;break}}if((a|0)==20){k[o>>2]=7;B=k[o>>2]|0;r=A;return B|0}else if((a|0)==43){k[(k[v>>2]|0)+12>>2]=(k[w>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[p>>2]>>2]=k[(k[v>>2]|0)+20>>2];k[k[q>>2]>>2]=(k[y>>2]|0)-(k[(k[v>>2]|0)+20>>2]|0);k[k[s>>2]>>2]=(k[z>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);k[k[t>>2]>>2]=(k[x>>2]|0)-(k[(k[v>>2]|0)+4>>2]|0);z=(k[v>>2]|0)+16|0;B=k[z>>2]|0;k[z>>2]=B+1;k[k[u>>2]>>2]=B;k[o>>2]=0;B=k[o>>2]|0;r=A;return B|0}return 0}function Zq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=br(k[d>>2]|0)|0;a=a^(cr(k[e>>2]|0,k[d>>2]|0)|0);r=c;return a|0}function _q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0;o=r;r=r+48|0;c=o+32|0;d=o+28|0;n=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;i=o+8|0;e=o+4|0;j=o;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[c>>2];b=k[c>>2]|0;if((k[c>>2]|0)<128){if(!((b|0)>=65&(k[c>>2]|0)<=90)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+32;n=k[n>>2]|0;r=o;return n|0}if((b|0)>=65536){if(!((k[c>>2]|0)>=66560&(k[c>>2]|0)<66600)){n=k[n>>2]|0;r=o;return n|0}k[n>>2]=(k[c>>2]|0)+40;n=k[n>>2]|0;r=o;return n|0}k[f>>2]=162;k[g>>2]=0;k[h>>2]=-1;while(1){if((k[f>>2]|0)<(k[g>>2]|0))break;k[i>>2]=((k[f>>2]|0)+(k[g>>2]|0)|0)/2|0;k[e>>2]=(k[c>>2]|0)-(m[10626+(k[i>>2]<<2)>>1]|0);b=k[i>>2]|0;if((k[e>>2]|0)>=0){k[h>>2]=b;k[g>>2]=(k[i>>2]|0)+1;continue}else{k[f>>2]=b-1;continue}}if(((k[h>>2]|0)>=0?(k[j>>2]=10626+(k[h>>2]<<2),(k[c>>2]|0)<((m[k[j>>2]>>1]|0)+(l[(k[j>>2]|0)+3>>0]|0)|0)):0)?0==(1&(l[(k[j>>2]|0)+2>>0]|0)&((m[k[j>>2]>>1]|0)^k[c>>2])|0):0)k[n>>2]=(k[c>>2]|0)+(m[11278+((l[(k[j>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(k[d>>2]|0)){n=k[n>>2]|0;r=o;return n|0}j=ar(k[n>>2]|0)|0;k[n>>2]=j;n=k[n>>2]|0;r=o;return n|0}function $q(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=134389727;k[d>>2]=221688;if((k[b>>2]|0)<768|(k[b>>2]|0)>817){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}if((k[b>>2]|0)<800)b=k[c>>2]&1<<(k[b>>2]|0)-768;else b=k[d>>2]&1<<(k[b>>2]|0)-768-32;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function ar(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0;o=r;r=r+336|0;d=o+20|0;f=o+24|0;e=o+226|0;n=o+16|0;j=o+12|0;g=o+8|0;h=o+4|0;l=o;k[d>>2]=a;BR(f|0,11432,202)|0;a=e;b=26235;c=a+101|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));k[n>>2]=k[d>>2]<<3|7;k[j>>2]=0;k[g>>2]=100;k[h>>2]=0;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break;k[l>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;a=k[l>>2]|0;if((k[n>>2]|0)>>>0>=(m[f+(k[l>>2]<<1)>>1]|0)>>>0){k[j>>2]=a;k[h>>2]=(k[l>>2]|0)+1;continue}else{k[g>>2]=a-1;continue}}if((k[d>>2]|0)>((m[f+(k[j>>2]<<1)>>1]>>3)+(m[f+(k[j>>2]<<1)>>1]&7)|0)){n=k[d>>2]|0;r=o;return n|0}else{n=i[e+(k[j>>2]|0)>>0]|0;r=o;return n|0}return 0}function br(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;f=i+12|0;d=i+8|0;e=i+4|0;g=i;k[c>>2]=a;a=k[c>>2]|0;if((k[c>>2]|0)<128){k[b>>2]=(k[2364+(a>>5<<2)>>2]&1<<(k[c>>2]&31)|0)==0&1;h=k[b>>2]|0;r=i;return h|0}if((a|0)>=4194304){k[b>>2]=1;h=k[b>>2]|0;r=i;return h|0}k[h>>2]=k[c>>2]<<10|1023;k[f>>2]=0;k[d>>2]=405;k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[e>>2]|0))break;k[g>>2]=((k[d>>2]|0)+(k[e>>2]|0)|0)/2|0;a=k[g>>2]|0;if((k[h>>2]|0)>>>0>=(k[2380+(k[g>>2]<<2)>>2]|0)>>>0){k[f>>2]=a;k[e>>2]=(k[g>>2]|0)+1;continue}else{k[d>>2]=a-1;continue}}k[b>>2]=(k[c>>2]|0)>>>0>=(((k[2380+(k[f>>2]<<2)>>2]|0)>>>10)+(k[2380+(k[f>>2]<<2)>>2]&1023)|0)>>>0&1;h=k[b>>2]|0;r=i;return h|0}function cr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;c=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[e>>2]=b;a:do if((k[(k[c>>2]|0)+8>>2]|0)>0){k[f>>2]=k[(k[c>>2]|0)+12>>2];k[h>>2]=0;k[g>>2]=(k[(k[c>>2]|0)+8>>2]|0)-1;while(1){if((k[g>>2]|0)<(k[h>>2]|0))break a;k[i>>2]=((k[g>>2]|0)+(k[h>>2]|0)|0)/2|0;if((k[e>>2]|0)==(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0))break;c=k[i>>2]|0;if((k[e>>2]|0)>(k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0)){k[h>>2]=c+1;continue}else{k[g>>2]=c-1;continue}}k[d>>2]=1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function dr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;g=t+48|0;h=t+44|0;i=t+40|0;e=t+36|0;u=t+32|0;q=t+28|0;s=t+24|0;n=t+20|0;f=t+16|0;j=t+12|0;p=t+8|0;m=t+4|0;o=t;k[h>>2]=a;k[i>>2]=b;k[e>>2]=c;k[u>>2]=d;k[q>>2]=k[e>>2];k[s>>2]=(k[q>>2]|0)+(k[u>>2]|0);k[f>>2]=0;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[26171+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=br(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if($q(k[n>>2]|0)|0)continue;k[f>>2]=(k[f>>2]|0)+1}if(k[f>>2]|0){u=Vd(k[(k[h>>2]|0)+12>>2]|0,(k[(k[h>>2]|0)+8>>2]|0)+(k[f>>2]|0)<<2)|0;k[j>>2]=u;if(!(k[j>>2]|0)){k[g>>2]=7;u=k[g>>2]|0;r=t;return u|0}k[p>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=k[e>>2];while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=l[u>>0];do if((k[n>>2]|0)>=192){k[n>>2]=l[26171+((k[n>>2]|0)-192)>>0];while(1){if((k[q>>2]|0)!=(k[s>>2]|0))b=((l[k[q>>2]>>0]|0)&192|0)==128;else b=0;d=k[n>>2]|0;if(!b)break;u=k[q>>2]|0;k[q>>2]=u+1;k[n>>2]=(d<<6)+(63&(l[u>>0]|0))}if(((d|0)>=128?(k[n>>2]&-2048|0)!=55296:0)?(k[n>>2]&-2|0)!=65534:0)break;k[n>>2]=65533}while(0);u=br(k[n>>2]|0)|0;if((u|0)==(k[i>>2]|0))continue;if($q(k[n>>2]|0)|0)continue;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;if((k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]|0)>=(k[n>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}k[o>>2]=k[p>>2];while(1){if((k[o>>2]|0)<=(k[m>>2]|0))break;k[(k[j>>2]|0)+(k[o>>2]<<2)>>2]=k[(k[j>>2]|0)+((k[o>>2]|0)-1<<2)>>2];k[o>>2]=(k[o>>2]|0)+-1}k[(k[j>>2]|0)+(k[m>>2]<<2)>>2]=k[n>>2];k[p>>2]=(k[p>>2]|0)+1}k[(k[h>>2]|0)+12>>2]=k[j>>2];k[(k[h>>2]|0)+8>>2]=k[p>>2]}k[g>>2]=0;u=k[g>>2]|0;r=t;return u|0}function er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!((k[d>>2]|0)!=0?(k[(k[f>>2]|0)+48>>2]|0)==0:0)){h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}h=k[d>>2]|0;h=Bh(0,h,((h|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+48>>2]=h;k[(k[f>>2]|0)+52>>2]=k[e>>2];h=k[f>>2]|0;h=h+48|0;h=k[h>>2]|0;r=g;return h|0}function fr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+68>>0]|0|0)==2|0}function gr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=r;r=r+16|0;j=e+12|0;h=e+8|0;g=e+4|0;f=e;k[j>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;i[k[f>>2]>>0]=0;d=ec[k[(k[j>>2]|0)+36>>2]&255](k[j>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function hr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Zt(k[b>>2]|0)|0;k[c>>2]=a;if(!(i[k[c>>2]>>0]|0)){r=d;return}i[k[c>>2]>>0]=0;if((_t(k[b>>2]|0)|0)<=1){r=d;return}$t(k[c>>2]|0)|0;r=d;return}function ir(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=r;r=r+112|0;q=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;m=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;h=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;n=K+24|0;F=K+20|0;p=K+16|0;l=K+12|0;o=K+8|0;y=K+4|0;z=K;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[L>>2]=e;k[w>>2]=f;k[x>>2]=g;k[C>>2]=0;k[D>>2]=0;k[G>>2]=0;k[A>>2]=0;k[E>>2]=0;k[I>>2]=0;k[B>>2]=0;k[H>>2]=(k[L>>2]&1|0)==0&1;c=xt()|0;k[n>>2]=c;k[F>>2]=4096;k[p>>2]=0;k[l>>2]=0;c=(yt(k[s>>2]|0)|0)+7&-8;k[h>>2]=c;k[k[t>>2]>>2]=0;do if(((k[L>>2]&2|0)!=0?(k[A>>2]=1,(k[u>>2]|0)!=0):0)?(i[k[u>>2]>>0]|0)!=0:0){L=zh(0,k[u>>2]|0)|0;k[I>>2]=L;if(k[I>>2]|0){L=Tf(k[I>>2]|0)|0;k[B>>2]=L;k[u>>2]=0;break}k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}while(0);if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[B>>2]=(k[(k[s>>2]|0)+8>>2]|0)+1;L=k[B>>2]<<1;L=Kh(0,L,((L|0)<0)<<31>>31)|0;k[I>>2]=L;if(!(k[I>>2]|0)){k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}i[k[I>>2]>>0]=0;L=gr(k[s>>2]|0,k[u>>2]|0,k[B>>2]|0,k[I>>2]|0)|0;k[D>>2]=L;L=Tf(k[I>>2]|0)|0;k[B>>2]=L;L=(Tf(k[u>>2]|0)|0)+1|0;L=(k[u>>2]|0)+L|0;k[p>>2]=L;k[o>>2]=L;while(1){e=k[o>>2]|0;if(!(i[k[o>>2]>>0]|0))break;L=(Tf(e)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L;L=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+L}k[l>>2]=e+1-(k[p>>2]|0);if((k[D>>2]|0)==0?((k[B>>2]|0)+8|0)>(k[(k[s>>2]|0)+8>>2]|0):0){L=tt(48619)|0;k[D>>2]=L}if(k[D>>2]|0){bg(0,k[I>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}}L=ug(224+((k[n>>2]|0)+7&-8)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)+(k[h>>2]<<1)+(k[B>>2]|0)+1+(k[l>>2]|0)+(k[B>>2]|0)+8+2+(k[B>>2]|0)+4+2|0,0)|0;k[m>>2]=L;if(!(k[m>>2]|0)){bg(0,k[I>>2]|0);k[q>>2]=7;L=k[q>>2]|0;r=K;return L|0}k[C>>2]=k[m>>2];L=(k[m>>2]|0)+224|0;k[m>>2]=L;k[(k[C>>2]|0)+212>>2]=L;L=(k[m>>2]|0)+((k[n>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+64>>2]=L;L=(k[m>>2]|0)+((k[(k[s>>2]|0)+4>>2]|0)+7&-8)|0;k[m>>2]=L;k[(k[C>>2]|0)+72>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+68>>2]=L;L=(k[m>>2]|0)+(k[h>>2]|0)|0;k[m>>2]=L;k[(k[C>>2]|0)+176>>2]=L;if(k[I>>2]|0){L=(k[m>>2]|0)+((k[B>>2]|0)+1+(k[l>>2]|0))|0;k[m>>2]=L;k[(k[C>>2]|0)+180>>2]=L;BR(k[(k[C>>2]|0)+176>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;if(k[l>>2]|0)BR((k[(k[C>>2]|0)+176>>2]|0)+((k[B>>2]|0)+1)|0,k[p>>2]|0,k[l>>2]|0)|0;BR(k[(k[C>>2]|0)+180>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;e=(k[(k[C>>2]|0)+180>>2]|0)+(k[B>>2]|0)|0;d=26597;a=e+10|0;do{i[e>>0]=i[d>>0]|0;e=e+1|0;d=d+1|0}while((e|0)<(a|0));k[(k[C>>2]|0)+220>>2]=(k[(k[C>>2]|0)+180>>2]|0)+((k[B>>2]|0)+8+1);BR(k[(k[C>>2]|0)+220>>2]|0,k[I>>2]|0,k[B>>2]|0)|0;L=(k[(k[C>>2]|0)+220>>2]|0)+(k[B>>2]|0)|0;i[L>>0]=i[26607]|0;i[L+1>>0]=i[26608]|0;i[L+2>>0]=i[26609]|0;i[L+3>>0]=i[26610]|0;i[L+4>>0]=i[26611]|0;bg(0,k[I>>2]|0)}k[k[C>>2]>>2]=k[s>>2];k[(k[C>>2]|0)+152>>2]=k[w>>2];do if((k[u>>2]|0)!=0?(i[k[u>>2]>>0]|0)!=0:0){k[y>>2]=0;L=Zr(k[s>>2]|0,k[(k[C>>2]|0)+176>>2]|0,k[(k[C>>2]|0)+64>>2]|0,k[w>>2]|0,y)|0;k[D>>2]=L;k[E>>2]=k[y>>2]&1;if(!(k[D>>2]|0)){L=gs(k[(k[C>>2]|0)+64>>2]|0)|0;k[z>>2]=L;do if((k[E>>2]|0)==0?(fs(k[C>>2]|0),(k[F>>2]|0)>>>0<(k[(k[C>>2]|0)+156>>2]|0)>>>0):0)if((k[(k[C>>2]|0)+156>>2]|0)>>>0>8192){k[F>>2]=8192;break}else{k[F>>2]=k[(k[C>>2]|0)+156>>2];break}while(0);L=(Sf(k[u>>2]|0,26613,0)|0)&255;i[(k[C>>2]|0)+14>>0]=L;if((k[z>>2]&8192|0)==0?(Sf(k[u>>2]|0,26620,0)|0)==0:0)break;k[w>>2]=k[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){k[G>>2]=1;i[(k[C>>2]|0)+17>>0]=1;i[(k[C>>2]|0)+18>>0]=4;i[(k[C>>2]|0)+14>>0]=1;k[E>>2]=k[w>>2]&1}if(!(k[D>>2]|0)){L=bj(k[C>>2]|0,F,-1)|0;k[D>>2]=L}if(!(k[D>>2]|0)){k[v>>2]=(k[v>>2]|0)+7&-8;L=At(k[F>>2]|0,k[v>>2]|0,((k[A>>2]|0)!=0^1)&1,(k[A>>2]|0)!=0^1?186:0,k[C>>2]|0,k[(k[C>>2]|0)+212>>2]|0)|0;k[D>>2]=L}if(k[D>>2]|0){wr(k[(k[C>>2]|0)+64>>2]|0)|0;hj(k[(k[C>>2]|0)+208>>2]|0);Ud(k[C>>2]|0);k[q>>2]=k[D>>2];L=k[q>>2]|0;r=K;return L|0}i[(k[C>>2]|0)+6>>0]=k[H>>2];k[(k[C>>2]|0)+164>>2]=1073741823;i[(k[C>>2]|0)+13>>0]=k[G>>2];i[(k[C>>2]|0)+4>>0]=k[G>>2];i[(k[C>>2]|0)+19>>0]=i[(k[C>>2]|0)+13>>0]|0;i[(k[C>>2]|0)+16>>0]=k[A>>2];i[(k[C>>2]|0)+15>>0]=k[E>>2];i[(k[C>>2]|0)+7>>0]=i[(k[C>>2]|0)+13>>0]|0;if(!(i[(k[C>>2]|0)+7>>0]|0)){i[(k[C>>2]|0)+8>>0]=1;i[(k[C>>2]|0)+9>>0]=0;i[(k[C>>2]|0)+12>>0]=2;i[(k[C>>2]|0)+11>>0]=34;i[(k[C>>2]|0)+10>>0]=2}j[(k[C>>2]|0)+148>>1]=k[v>>2];L=(k[C>>2]|0)+168|0;k[L>>2]=-1;k[L+4>>2]=-1;fs(k[C>>2]|0);if(k[H>>2]|0){if(k[A>>2]|0)i[(k[C>>2]|0)+5>>0]=4}else i[(k[C>>2]|0)+5>>0]=2;k[(k[C>>2]|0)+204>>2]=k[x>>2];k[k[t>>2]>>2]=k[C>>2];k[q>>2]=0;L=k[q>>2]|0;r=K;return L|0}function jr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;b=f;c=k[b+4>>2]|0;a=(k[e>>2]|0)+136|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;ij(k[e>>2]|0);r=d;return}function kr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;DR(k[f>>2]|0,0,k[e>>2]|0)|0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=js(k[(k[d>>2]|0)+64>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;k[g>>2]=a;k[g>>2]=(k[g>>2]|0)==522?0:a;g=k[g>>2]|0;r=h;return g|0}function lr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];a=wt((k[(k[c>>2]|0)+4>>2]|0)+380|0)|0;r=b;return a|0}function mr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[(k[d>>2]|0)+184>>2]=k[h>>2];k[(k[d>>2]|0)+188>>2]=k[g>>2];if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){r=f;return}k[e>>2]=(k[d>>2]|0)+184;Ys(k[(k[d>>2]|0)+64>>2]|0,15,k[e>>2]|0);r=f;return}function nr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+15>>0]|0}function or(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[k[b>>2]>>0]|0)<<24|(l[(k[b>>2]|0)+1>>0]|0)<<16|(l[(k[b>>2]|0)+2>>0]|0)<<8|(l[(k[b>>2]|0)+3>>0]|0)|0}function pr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+208>>2];ek();qr(k[b>>2]|0);i[(k[b>>2]|0)+4>>0]=0;rr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[c>>2]|0)|0;k[(k[b>>2]|0)+216>>2]=0;fj(k[b>>2]|0);a=k[b>>2]|0;if(i[(k[b>>2]|0)+16>>0]|0)sr(a);else{if(k[k[a+68>>2]>>2]|0){a=k[b>>2]|0;ur(a,tr(k[b>>2]|0)|0)|0}vr(k[b>>2]|0)}fk();wr(k[(k[b>>2]|0)+68>>2]|0)|0;wr(k[(k[b>>2]|0)+64>>2]|0)|0;hj(k[c>>2]|0);xr(k[(k[b>>2]|0)+212>>2]|0);Ud(k[b>>2]|0);r=d;return 0}function qr(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+144>>2];while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+12>>2];Ud(k[b>>2]|0);k[b>>2]=k[c>>2]}r=d;return}function rr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;if(!(k[e>>2]|0)){d=k[n>>2]|0;r=o;return d|0}k[m>>2]=0;d=Ws(k[(k[e>>2]|0)+4>>2]|0,4)|0;k[n>>2]=d;do if(!(k[n>>2]|0)){if(!(l[(k[e>>2]|0)+43>>0]|0))i[(k[e>>2]|0)+43>>0]=1;d=Xs(k[e>>2]|0,0,0,0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0)|0;k[n>>2]=d;if(!(k[n>>2]|0)){k[j>>2]=-1;Ys(k[(k[e>>2]|0)+4>>2]|0,10,j);if((k[j>>2]|0)!=1){k[m>>2]=1;break}d=(k[e>>2]|0)+16|0;b=k[d+4>>2]|0;if((b|0)>0|(b|0)==0&(k[d>>2]|0)>>>0>=0)Zs(k[e>>2]|0,0,0)}}while(0);_s(k[e>>2]|0,k[m>>2]|0);wr(k[(k[e>>2]|0)+8>>2]|0)|0;if(k[m>>2]|0){ek();Fr(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+108>>2]|0,0)|0;fk()}Ud(k[(k[e>>2]|0)+32>>2]|0);Ud(k[e>>2]|0);d=k[n>>2]|0;r=o;return d|0}function sr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;xj(k[(k[b>>2]|0)+60>>2]|0);k[(k[b>>2]|0)+60>>2]=0;Ar(k[b>>2]|0);f=(Hr(k[b>>2]|0)|0)!=0;a=k[b>>2]|0;if(!f){if(!(i[a+4>>0]|0)){if(k[k[(k[b>>2]|0)+64>>2]>>2]|0)a=gs(k[(k[b>>2]|0)+64>>2]|0)|0;else a=0;k[c>>2]=a;if(!(0!=(k[c>>2]&2048|0)?1==(l[(k[b>>2]|0)+5>>0]&5|0):0))wr(k[(k[b>>2]|0)+68>>2]|0)|0;f=Lr(k[b>>2]|0,0)|0;k[d>>2]=f;if((k[d>>2]|0)!=0?(l[(k[b>>2]|0)+17>>0]|0)==6:0)i[(k[b>>2]|0)+18>>0]=5;i[(k[b>>2]|0)+19>>0]=0;i[(k[b>>2]|0)+17>>0]=0}}else{Vs(k[a+216>>2]|0);i[(k[b>>2]|0)+17>>0]=0}if(!(k[(k[b>>2]|0)+44>>2]|0)){f=k[b>>2]|0;f=f+80|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+88|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}fj(k[b>>2]|0);i[(k[b>>2]|0)+19>>0]=i[(k[b>>2]|0)+13>>0]|0;i[(k[b>>2]|0)+17>>0]=0;k[(k[b>>2]|0)+44>>2]=0;f=k[b>>2]|0;f=f+80|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+88|0;d=f;k[d>>2]=0;f=f+4|0;k[f>>2]=0;f=k[b>>2]|0;f=f+20|0;i[f>>0]=0;r=e;return}function tr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(i[(k[b>>2]|0)+7>>0]|0)){a=Dr(k[(k[b>>2]|0)+68>>2]|0,2)|0;k[c>>2]=a}if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=dj(k[(k[b>>2]|0)+68>>2]|0,(k[b>>2]|0)+88|0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function ur(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;f=e;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[d>>2]&255;if(!((k[f>>2]|0)==13|(k[f>>2]|0)==10)){f=k[d>>2]|0;r=e;return f|0}k[(k[c>>2]|0)+44>>2]=k[d>>2];i[(k[c>>2]|0)+17>>0]=6;f=k[d>>2]|0;r=e;return f|0}function vr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if((l[(k[b>>2]|0)+17>>0]|0)!=6?(l[(k[b>>2]|0)+17>>0]|0)!=0:0){if((l[(k[b>>2]|0)+17>>0]|0)>=2){ek();yr(k[b>>2]|0)|0;fk();break}if(!(i[(k[b>>2]|0)+4>>0]|0))zr(k[b>>2]|0,0,0)|0}while(0);sr(k[b>>2]|0);r=c;return}function wr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[k[b>>2]>>2]|0)){c=k[c>>2]|0;r=d;return c|0}a=bc[k[(k[k[b>>2]>>2]|0)+4>>2]&255](k[b>>2]|0)|0;k[c>>2]=a;k[k[b>>2]>>2]=0;c=k[c>>2]|0;r=d;return c|0}function xr(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[160>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function yr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;e=g+8|0;f=g+4|0;d=g;k[c>>2]=a;k[e>>2]=0;a=k[c>>2]|0;if((l[(k[c>>2]|0)+17>>0]|0)==6){k[b>>2]=k[a+44>>2];f=k[b>>2]|0;r=g;return f|0}if((l[a+17>>0]|0)<=1){k[b>>2]=0;f=k[b>>2]|0;r=g;return f|0}h=(Hr(k[c>>2]|0)|0)!=0;a=k[c>>2]|0;do if(h){h=_r(a,2,-1)|0;k[e>>2]=h;h=zr(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,0)|0;k[f>>2]=h;if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else{if((k[k[a+68>>2]>>2]|0)!=0?(l[(k[c>>2]|0)+17>>0]|0)!=2:0){h=$r(k[c>>2]|0,0)|0;k[e>>2]=h;break}k[d>>2]=l[(k[c>>2]|0)+17>>0];h=zr(k[c>>2]|0,0,0)|0;k[e>>2]=h;if((k[d>>2]|0)>2?(i[(k[c>>2]|0)+16>>0]|0)==0:0){k[(k[c>>2]|0)+44>>2]=4;i[(k[c>>2]|0)+17>>0]=6;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}}while(0);h=ur(k[c>>2]|0,k[e>>2]|0)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function zr(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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j>>2]=0;k[m>>2]=0;if((l[(k[e>>2]|0)+17>>0]|0)<2?(l[(k[e>>2]|0)+18>>0]|0)<2:0){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}Ar(k[e>>2]|0);a:do if(k[k[(k[e>>2]|0)+68>>2]>>2]|0){a=(Br(k[(k[e>>2]|0)+68>>2]|0)|0)!=0;c=k[e>>2]|0;if(a){wr(k[c+68>>2]|0)|0;break}b=k[e>>2]|0;if((l[c+5>>0]|0)==3){h=b+80|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=Cr(k[(k[e>>2]|0)+68>>2]|0,0,0)|0;k[j>>2]=h;if((k[j>>2]|0)==0?(l[(k[e>>2]|0)+8>>0]|0)!=0:0){h=Dr(k[(k[e>>2]|0)+68>>2]|0,l[(k[e>>2]|0)+12>>0]|0)|0;k[j>>2]=h}}else k[j>>2]=0;h=(k[e>>2]|0)+80|0;k[h>>2]=0;k[h+4>>2]=0;break}else{do if((l[b+5>>0]|0)!=1){if((l[(k[e>>2]|0)+4>>0]|0)!=0?(l[(k[e>>2]|0)+5>>0]|0)!=5:0)break;k[h>>2]=((i[(k[e>>2]|0)+13>>0]|0)!=0^1)&1;wr(k[(k[e>>2]|0)+68>>2]|0)|0;if(!(k[h>>2]|0))break a;h=Fr(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+180>>2]|0,l[(k[e>>2]|0)+9>>0]|0)|0;k[j>>2]=h;break a}while(0);h=Er(k[e>>2]|0,k[f>>2]|0)|0;k[j>>2]=h;h=(k[e>>2]|0)+80|0;k[h>>2]=0;k[h+4>>2]=0;break}}while(0);xj(k[(k[e>>2]|0)+60>>2]|0);k[(k[e>>2]|0)+60>>2]=0;k[(k[e>>2]|0)+48>>2]=0;Gr(k[(k[e>>2]|0)+212>>2]|0);nj(k[(k[e>>2]|0)+212>>2]|0,k[(k[e>>2]|0)+28>>2]|0);if(!(Hr(k[e>>2]|0)|0)){if((k[j>>2]|0)==0&(k[g>>2]|0)!=0?(k[(k[e>>2]|0)+36>>2]|0)>>>0>(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){h=Jr(k[e>>2]|0,k[(k[e>>2]|0)+28>>2]|0)|0;k[j>>2]=h}}else{h=Ir(k[(k[e>>2]|0)+216>>2]|0)|0;k[m>>2]=h}if((k[j>>2]|0)==0&(k[g>>2]|0)!=0?(k[k[(k[e>>2]|0)+64>>2]>>2]|0)!=0:0){h=Ii(k[(k[e>>2]|0)+64>>2]|0,22,0)|0;k[j>>2]=h;k[j>>2]=(k[j>>2]|0)==12?0:h}do if(!(i[(k[e>>2]|0)+4>>0]|0)){if((Hr(k[e>>2]|0)|0)!=0?(Kr(k[(k[e>>2]|0)+216>>2]|0,0)|0)==0:0)break;h=Lr(k[e>>2]|0,1)|0;k[m>>2]=h;i[(k[e>>2]|0)+19>>0]=0}while(0);i[(k[e>>2]|0)+17>>0]=1;i[(k[e>>2]|0)+20>>0]=0;k[d>>2]=(k[j>>2]|0)==0?k[m>>2]|0:k[j>>2]|0;m=k[d>>2]|0;r=n;return m|0}function Ar(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+104>>2]|0))break;xj(k[(k[(k[b>>2]|0)+100>>2]|0)+((k[c>>2]|0)*48|0)+16>>2]|0);k[c>>2]=(k[c>>2]|0)+1}if(!((i[(k[b>>2]|0)+4>>0]|0)!=0?(Br(k[(k[b>>2]|0)+72>>2]|0)|0)==0:0))wr(k[(k[b>>2]|0)+72>>2]|0)|0;Ud(k[(k[b>>2]|0)+100>>2]|0);k[(k[b>>2]|0)+100>>2]=0;k[(k[b>>2]|0)+104>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=d;return}function Br(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[b>>2]>>2]|0)==4864|0}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;a=Yb[k[(k[k[e>>2]>>2]|0)+16>>2]&255](k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=d;return a|0}function Dr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+20>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Er(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+24|0;d=h+20|0;f=h+16|0;e=h+8|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;a=(k[c>>2]|0)+80|0;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){g=k[f>>2]|0;r=h;return g|0}j=(k[c>>2]|0)+168|0;b=k[j+4>>2]|0;a=e;k[a>>2]=k[j>>2];k[a+4>>2]=b;a=e;b=k[(k[c>>2]|0)+68>>2]|0;if((k[d>>2]|0)!=0|(k[a>>2]|0)==0&(k[a+4>>2]|0)==0){j=Cr(b,0,0)|0;k[f>>2]=j}else{j=Rg(b,26454,28,0,0)|0;k[f>>2]=j}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+7>>0]|0)==0:0){j=Dr(k[(k[c>>2]|0)+68>>2]|0,16|l[(k[c>>2]|0)+12>>0])|0;k[f>>2]=j}j=e;d=k[j+4>>2]|0;if(!((k[f>>2]|0)==0&((d|0)>0|(d|0)==0&(k[j>>2]|0)>>>0>0))){j=k[f>>2]|0;r=h;return j|0}j=dj(k[(k[c>>2]|0)+68>>2]|0,g)|0;k[f>>2]=j;if(k[f>>2]|0){j=k[f>>2]|0;r=h;return j|0}a=k[g+4>>2]|0;j=e;d=k[j+4>>2]|0;if(!((a|0)>(d|0)|((a|0)==(d|0)?(k[g>>2]|0)>>>0>(k[j>>2]|0)>>>0:0))){j=k[f>>2]|0;r=h;return j|0}j=e;j=Cr(k[(k[c>>2]|0)+68>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=h;return j|0}function Fr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=Yb[k[(k[g>>2]|0)+28>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Gr(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[k[b>>2]>>2]|0;k[c>>2]=a;if(!a)break;oj(k[c>>2]|0)}r=d;return}function Hr(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+216>>2]|0)!=0|0}function Ir(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[b>>2]|0)+44>>0]|0)){r=c;return 0}Qr(k[b>>2]|0,0,1);i[(k[b>>2]|0)+44>>0]=0;k[(k[b>>2]|0)+104>>2]=0;i[(k[b>>2]|0)+47>>0]=0;r=c;return 0}function Jr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;h=j+24|0;e=j+8|0;f=j;i=j+20|0;g=j+16|0;k[c>>2]=a;k[d>>2]=b;k[h>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){i=k[h>>2]|0;r=j;return i|0}if((l[(k[c>>2]|0)+17>>0]|0|0)<4?(l[(k[c>>2]|0)+17>>0]|0|0)!=0:0){i=k[h>>2]|0;r=j;return i|0}k[i>>2]=k[(k[c>>2]|0)+160>>2];b=dj(k[(k[c>>2]|0)+64>>2]|0,e)|0;k[h>>2]=b;b=k[i>>2]|0;b=KR(b|0,((b|0)<0)<<31>>31|0,k[d>>2]|0,0)|0;a=f;k[a>>2]=b;k[a+4>>2]=L;if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}b=e;a=f;if(!((k[b>>2]|0)!=(k[a>>2]|0)?1:(k[b+4>>2]|0)!=(k[a+4>>2]|0))){i=k[h>>2]|0;r=j;return i|0}b=e;n=k[b+4>>2]|0;a=f;m=k[a+4>>2]|0;if(!((n|0)>(m|0)|((n|0)==(m|0)?(k[b>>2]|0)>>>0>(k[a>>2]|0)>>>0:0))){b=e;m=k[i>>2]|0;m=zR(k[b>>2]|0,k[b+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;b=L;n=f;a=k[n+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?m>>>0<=(k[n>>2]|0)>>>0:0)){k[g>>2]=k[(k[c>>2]|0)+208>>2];DR(k[g>>2]|0,0,k[i>>2]|0)|0;a=k[(k[c>>2]|0)+64>>2]|0;g=k[g>>2]|0;m=k[i>>2]|0;n=k[i>>2]|0;n=yR(k[f>>2]|0,k[f+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;n=Rg(a,g,m,n,L)|0;k[h>>2]=n}}else{n=f;n=Cr(k[(k[c>>2]|0)+64>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[h>>2]=n}if(k[h>>2]|0){n=k[h>>2]|0;r=j;return n|0}k[(k[c>>2]|0)+36>>2]=k[d>>2];n=k[h>>2]|0;r=j;return n|0}function Kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=k[c>>2]|0;if((k[d>>2]|0)>0){Or(b,3+(j[(k[c>>2]|0)+40>>1]|0)|0);i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=(l[b+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}}if(!(i[(k[c>>2]|0)+43>>0]|0)){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+43>>0]=0;if(Nr(k[c>>2]|0,3+(j[(k[c>>2]|0)+40>>1]|0)|0)|0)i[(k[c>>2]|0)+43>>0]=1;k[e>>2]=(l[(k[c>>2]|0)+43>>0]|0)==0&1;e=k[e>>2]|0;r=f;return e|0}function Lr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[k[(k[c>>2]|0)+64>>2]>>2]|0)){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Mr(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if((l[(k[c>>2]|0)+18>>0]|0|0)==5){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+32>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Nr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[d>>2]|0)+43>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{a=Pr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,1,6)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[(k[c>>2]|0)+43>>0]|0){r=e;return}Pr(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0,1,5)|0;r=e;return}function Pr(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[k[i>>2]>>2]|0)+56>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function Qr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(i[(k[d>>2]|0)+43>>0]|0){r=g;return}Pr(k[(k[d>>2]|0)+4>>2]|0,k[e>>2]|0,k[f>>2]|0,9)|0;r=g;return}function Rr(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Xr(k[c>>2]|0);r=b;return 0}function Sr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;q=r;r=r+64|0;t=q+52|0;s=q+48|0;m=q+44|0;n=q+8|0;o=q+40|0;l=q+36|0;j=q+32|0;g=q+28|0;p=q+24|0;f=q;h=q+20|0;i=q+16|0;k[t>>2]=a;k[s>>2]=b;k[m>>2]=c;c=n;k[c>>2]=d;k[c+4>>2]=e;k[o>>2]=k[t>>2];k[l>>2]=k[s>>2];k[j>>2]=k[m>>2];c=(k[o>>2]|0)+40|0;a=n;b=n;a:do if(((k[c>>2]|0)!=(k[a>>2]|0)?1:(k[c+4>>2]|0)!=(k[a+4>>2]|0))|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){t=f;k[t>>2]=0;k[t+4>>2]=0;k[p>>2]=k[(k[o>>2]|0)+16>>2];while(1){if(!(k[p>>2]|0))break a;a=f;s=k[(k[o>>2]|0)+4>>2]|0;s=zR(k[a>>2]|0,k[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=L;t=n;b=k[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(k[t>>2]|0)>>>0:0)))break a;s=k[(k[o>>2]|0)+4>>2]|0;t=f;s=zR(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=f;k[t>>2]=s;k[t+4>>2]=L;k[p>>2]=k[k[p>>2]>>2]}}else k[p>>2]=k[(k[o>>2]|0)+40+8>>2];while(0);s=n;t=k[(k[o>>2]|0)+4>>2]|0;t=JR(k[s>>2]|0,k[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;k[g>>2]=t;while(1){k[h>>2]=(k[(k[o>>2]|0)+4>>2]|0)-(k[g>>2]|0);if((k[j>>2]|0)<((k[(k[o>>2]|0)+4>>2]|0)-(k[g>>2]|0)|0))d=k[j>>2]|0;else d=(k[(k[o>>2]|0)+4>>2]|0)-(k[g>>2]|0)|0;k[i>>2]=d;BR(k[l>>2]|0,(k[p>>2]|0)+4+(k[g>>2]|0)|0,k[i>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[i>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[h>>2]|0);k[g>>2]=0;if((k[j>>2]|0)<0){d=13;break}t=k[k[p>>2]>>2]|0;k[p>>2]=t;if(!((t|0)!=0&(k[j>>2]|0)>0)){d=13;break}}if((d|0)==13){t=n;s=k[m>>2]|0;s=zR(k[t>>2]|0,k[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(k[o>>2]|0)+40|0;k[t>>2]=s;k[t+4>>2]=L;k[(k[o>>2]|0)+40+8>>2]=k[p>>2];r=q;return 0}return 0}function Tr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;p=u+52|0;f=u+48|0;g=u+44|0;q=u+40|0;s=u;t=u+36|0;l=u+32|0;o=u+28|0;h=u+24|0;m=u+20|0;i=u+16|0;j=u+12|0;n=u+8|0;k[f>>2]=a;k[g>>2]=b;k[q>>2]=c;b=s;k[b>>2]=d;k[b+4>>2]=e;k[t>>2]=k[f>>2];k[l>>2]=k[q>>2];k[o>>2]=k[g>>2];if((k[(k[t>>2]|0)+8>>2]|0)>0?(e=k[q>>2]|0,a=s,a=zR(e|0,((e|0)<0)<<31>>31|0,k[a>>2]|0,k[a+4>>2]|0)|0,e=L,b=k[(k[t>>2]|0)+8>>2]|0,c=((b|0)<0)<<31>>31,(e|0)>(c|0)|(e|0)==(c|0)&a>>>0>b>>>0):0){t=Yr(k[t>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){t=s;t=Rg(k[f>>2]|0,k[g>>2]|0,k[q>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;k[h>>2]=t}k[p>>2]=k[h>>2];t=k[p>>2]|0;r=u;return t|0}while(1){if((k[l>>2]|0)<=0){d=18;break}k[m>>2]=k[(k[t>>2]|0)+24+8>>2];h=(k[t>>2]|0)+24|0;b=k[(k[t>>2]|0)+4>>2]|0;b=JR(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[i>>2]=b;if((k[l>>2]|0)<((k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0))d=k[l>>2]|0;else d=(k[(k[t>>2]|0)+4>>2]|0)-(k[i>>2]|0)|0;k[j>>2]=d;if(!(k[i>>2]|0)){b=Sd(12+((k[(k[t>>2]|0)+4>>2]|0)-8)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){d=12;break}k[k[n>>2]>>2]=0;d=k[n>>2]|0;if(k[m>>2]|0)k[k[m>>2]>>2]=d;else k[(k[t>>2]|0)+16>>2]=d;k[(k[t>>2]|0)+24+8>>2]=k[n>>2]}BR((k[(k[t>>2]|0)+24+8>>2]|0)+4+(k[i>>2]|0)|0,k[o>>2]|0,k[j>>2]|0)|0;k[o>>2]=(k[o>>2]|0)+(k[j>>2]|0);k[l>>2]=(k[l>>2]|0)-(k[j>>2]|0);h=k[j>>2]|0;b=(k[t>>2]|0)+24|0;a=b;h=zR(k[a>>2]|0,k[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;k[b>>2]=h;k[b+4>>2]=L}if((d|0)==12){k[p>>2]=3082;t=k[p>>2]|0;r=u;return t|0}else if((d|0)==18){q=k[q>>2]|0;s=zR(q|0,((q|0)<0)<<31>>31|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=s;k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function Ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e;d=e+8|0;k[g>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[d>>2]=k[g>>2];a=f;if(!((k[a>>2]|0)==0&(k[a+4>>2]|0)==0)){r=e;return 0}Xr(k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+24+8>>2]=0;g=(k[d>>2]|0)+24|0;k[g>>2]=0;k[g+4>>2]=0;k[(k[d>>2]|0)+40+8>>2]=0;g=(k[d>>2]|0)+40|0;k[g>>2]=0;k[g+4>>2]=0;r=e;return 0}function Vr(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function Wr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+24|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function Xr(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+16>>2]=0;r=e;return}function Yr(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+112|0;d=l+96|0;j=l+92|0;i=l+88|0;e=l+8|0;g=l+84|0;f=l;h=l+80|0;k[d>>2]=a;k[i>>2]=k[d>>2];a=e;b=k[d>>2]|0;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));a=k[d>>2]|0;c=a+72|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));c=Zr(k[e+60>>2]|0,k[e+64>>2]|0,k[i>>2]|0,k[e+56>>2]|0,0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){k[g>>2]=k[e+4>>2];c=f;k[c>>2]=0;k[c+4>>2]=0;k[h>>2]=k[e+16>>2];while(1){if(!(k[h>>2]|0))break;m=f;b=k[g>>2]|0;b=zR(k[m>>2]|0,k[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;m=L;c=e+24|0;a=k[c+4>>2]|0;if((m|0)>(a|0)|((m|0)==(a|0)?b>>>0>(k[c>>2]|0)>>>0:0)){c=e+24|0;m=f;m=yR(k[c>>2]|0,k[c+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m}m=f;m=Rg(k[i>>2]|0,(k[h>>2]|0)+4|0,k[g>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0)break;c=k[g>>2]|0;m=f;c=zR(k[m>>2]|0,k[m+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;m=f;k[m>>2]=c;k[m+4>>2]=L;k[h>>2]=k[k[h>>2]>>2]}if(!(k[j>>2]|0))Xr(e)}if(!(k[j>>2]|0)){m=k[j>>2]|0;r=l;return m|0}wr(k[i>>2]|0)|0;a=k[d>>2]|0;b=e;c=a+72|0;do{k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(c|0));m=k[j>>2]|0;r=l;return m|0}function Zr(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;g=r;r=r+32|0;m=g+20|0;l=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;f=g;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[i>>2]=d;k[h>>2]=e;b=hc[k[(k[m>>2]|0)+24>>2]&255](k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]&556927,k[h>>2]|0)|0;k[f>>2]=b;r=g;return k[f>>2]|0}function _r(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l+24|0;d=l+20|0;e=l+16|0;j=l+12|0;f=l+8|0;g=l+4|0;i=l;k[h>>2]=a;k[d>>2]=b;k[e>>2]=c;k[j>>2]=k[(k[h>>2]|0)+44>>2];if(k[j>>2]|0){j=k[j>>2]|0;r=l;return j|0}if((k[e>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0)){j=k[j>>2]|0;r=l;return j|0}k[g>>2]=(k[e>>2]|0)+((k[d>>2]|0)==1?0:1);k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[(k[h>>2]|0)+104>>2]|0))break;xj(k[(k[(k[h>>2]|0)+100>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0);k[f>>2]=(k[f>>2]|0)+1}k[(k[h>>2]|0)+104>>2]=k[g>>2];if((k[d>>2]|0)!=1){if((Hr(k[h>>2]|0)|0)==0?(k[k[(k[h>>2]|0)+68>>2]>>2]|0)==0:0){j=k[j>>2]|0;r=l;return j|0}if(!(k[g>>2]|0))d=0;else d=(k[(k[h>>2]|0)+100>>2]|0)+(((k[g>>2]|0)-1|0)*48|0)|0;k[i>>2]=d;i=vs(k[h>>2]|0,k[i>>2]|0)|0;k[j>>2]=i;j=k[j>>2]|0;r=l;return j|0}if(k[g>>2]|0){j=k[j>>2]|0;r=l;return j|0}if(!(k[k[(k[h>>2]|0)+72>>2]>>2]|0)){j=k[j>>2]|0;r=l;return j|0}if(Br(k[(k[h>>2]|0)+72>>2]|0)|0){i=Cr(k[(k[h>>2]|0)+72>>2]|0,0,0)|0;k[j>>2]=i}k[(k[h>>2]|0)+56>>2]=0;j=k[j>>2]|0;r=l;return j|0}function $r(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;q=t+8|0;j=t+56|0;m=t+52|0;f=t+48|0;g=t;d=t+44|0;h=t+40|0;c=t+36|0;o=t+32|0;p=t+28|0;s=t+24|0;e=t+20|0;n=t+16|0;k[j>>2]=a;k[m>>2]=b;k[f>>2]=k[k[j>>2]>>2];k[c>>2]=0;k[p>>2]=1;k[s>>2]=0;k[n>>2]=0;a=dj(k[(k[j>>2]|0)+68>>2]|0,g)|0;k[o>>2]=a;a:do if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];a=as(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(i[k[s>>2]>>0]|0)!=0:0){f=bs(k[f>>2]|0,k[s>>2]|0,0,p)|0;k[o>>2]=f}k[s>>2]=0;if((k[o>>2]|0)==0&(k[p>>2]|0)!=0){f=(k[j>>2]|0)+80|0;k[f>>2]=0;k[f+4>>2]=0;k[e>>2]=k[m>>2];b:while(1){f=g;f=cs(k[j>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0,d,c)|0;k[o>>2]=f;if(k[o>>2]|0){b=8;break}if((k[d>>2]|0)==-1){a=g;a=yR(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=IR(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}if(!((k[d>>2]|0)!=0|(k[m>>2]|0)!=0)?(a=(k[j>>2]|0)+88|0,a=zR(k[a>>2]|0,k[a+4>>2]|0,k[(k[j>>2]|0)+156>>2]|0,0)|0,f=(k[j>>2]|0)+80|0,(a|0)==(k[f>>2]|0)?(L|0)==(k[f+4>>2]|0):0):0){f=g;a=(k[j>>2]|0)+80|0;a=yR(k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;f=(k[(k[j>>2]|0)+160>>2]|0)+8|0;f=IR(a|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;k[d>>2]=f}f=(k[j>>2]|0)+80|0;if((k[f+4>>2]|0)==0?(k[f>>2]|0)==(k[(k[j>>2]|0)+156>>2]|0):0){f=Jr(k[j>>2]|0,k[c>>2]|0)|0;k[o>>2]=f;if(k[o>>2]|0)break a;k[(k[j>>2]|0)+28>>2]=k[c>>2]}k[h>>2]=0;while(1){if((k[h>>2]|0)>>>0>=(k[d>>2]|0)>>>0)continue b;if(k[e>>2]|0){fj(k[j>>2]|0);k[e>>2]=0}f=ds(k[j>>2]|0,(k[j>>2]|0)+80|0,0,1,0)|0;k[o>>2]=f;if(k[o>>2]|0)break;k[n>>2]=(k[n>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}if((k[o>>2]|0)!=101){b=26;break}b=g;a=k[b+4>>2]|0;f=(k[j>>2]|0)+80|0;k[f>>2]=k[b>>2];k[f+4>>2]=a}if((b|0)==8){if((k[o>>2]|0)!=101)break;k[o>>2]=0;break}else if((b|0)==26){if((k[o>>2]|0)!=522)break;k[o>>2]=0;break}}}while(0);i[(k[j>>2]|0)+19>>0]=i[(k[j>>2]|0)+13>>0]|0;if(!(k[o>>2]|0)){k[s>>2]=k[(k[j>>2]|0)+208>>2];h=as(k[(k[j>>2]|0)+68>>2]|0,k[s>>2]|0,(k[(k[k[j>>2]>>2]|0)+8>>2]|0)+1|0)|0;k[o>>2]=h}do if(!(k[o>>2]|0)){if((l[(k[j>>2]|0)+17>>0]|0)<4?(l[(k[j>>2]|0)+17>>0]|0)!=0:0)break;h=Tg(k[j>>2]|0,0)|0;k[o>>2]=h}while(0);if(!(k[o>>2]|0)){h=zr(k[j>>2]|0,(i[k[s>>2]>>0]|0)!=0&1,0)|0;k[o>>2]=h}if((k[o>>2]|0)==0?((k[p>>2]|0)!=0?(i[k[s>>2]>>0]|0)!=0:0):0){s=es(k[j>>2]|0,k[s>>2]|0)|0;k[o>>2]=s}if(!((k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){s=k[j>>2]|0;fs(s);s=k[o>>2]|0;r=t;return s|0}s=k[(k[j>>2]|0)+180>>2]|0;k[q>>2]=k[n>>2];k[q+4>>2]=s;$d(539,26482,q);s=k[j>>2]|0;fs(s);s=k[o>>2]|0;r=t;return s|0}function as(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,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+36|0;e=p+32|0;f=p+28|0;g=p+24|0;m=p+20|0;l=p+16|0;n=p;j=p+12|0;o=p+8|0;h=p+40|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;i[k[f>>2]>>0]=0;c=dj(k[e>>2]|0,n)|0;k[m>>2]=c;b=n;a=k[b+4>>2]|0;if((((((!(0!=(c|0)|((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<16))?(a=k[e>>2]|0,b=n,b=yR(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=ks(a,b,L,l)|0,k[m>>2]=b,0==(b|0)):0)?!((k[l>>2]|0)==0?1:(k[l>>2]|0)>>>0>=(k[g>>2]|0)>>>0):0)?(a=k[e>>2]|0,b=n,b=yR(k[b>>2]|0,k[b+4>>2]|0,12,0)|0,b=ks(a,b,L,j)|0,k[m>>2]=b,0==(b|0)):0)?(a=k[e>>2]|0,b=n,b=yR(k[b>>2]|0,k[b+4>>2]|0,8,0)|0,b=js(a,h,8,b,L)|0,k[m>>2]=b,0==(b|0)):0)?(OQ(h,26509,8)|0)==0:0)?(h=k[e>>2]|0,c=k[f>>2]|0,a=k[l>>2]|0,b=n,b=yR(k[b>>2]|0,k[b+4>>2]|0,16,0)|0,b=yR(b|0,L|0,k[l>>2]|0,0)|0,b=js(h,c,a,b,L)|0,k[m>>2]=b,0==(b|0)):0){k[o>>2]=0;while(1){if((k[o>>2]|0)>>>0>=(k[l>>2]|0)>>>0)break;k[j>>2]=(k[j>>2]|0)-(i[(k[f>>2]|0)+(k[o>>2]|0)>>0]|0);k[o>>2]=(k[o>>2]|0)+1}if(k[j>>2]|0)k[l>>2]=0;i[(k[f>>2]|0)+(k[l>>2]|0)>>0]=0;k[d>>2]=0;b=k[d>>2]|0;r=p;return b|0}k[d>>2]=k[m>>2];b=k[d>>2]|0;r=p;return b|0}function bs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;b=ec[k[(k[i>>2]|0)+32>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return b|0}function cs(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;g=s+44|0;h=s+40|0;i=s+36|0;t=s+8|0;j=s+32|0;l=s+28|0;q=s+24|0;m=s+48|0;n=s;o=s+20|0;p=s+16|0;k[h>>2]=a;k[i>>2]=b;b=t;k[b>>2]=c;k[b+4>>2]=d;k[j>>2]=e;k[l>>2]=f;b=us(k[h>>2]|0)|0;e=(k[h>>2]|0)+80|0;k[e>>2]=b;k[e+4>>2]=L;e=(k[h>>2]|0)+80|0;e=zR(k[e>>2]|0,k[e+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;b=L;a=t;f=k[a+4>>2]|0;if((b|0)>(f|0)|((b|0)==(f|0)?e>>>0>(k[a>>2]|0)>>>0:0)){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}e=(k[h>>2]|0)+80|0;a=k[e+4>>2]|0;t=n;k[t>>2]=k[e>>2];k[t+4>>2]=a;if(!((k[i>>2]|0)==0?(a=n,t=(k[h>>2]|0)+88|0,!((k[a>>2]|0)!=(k[t>>2]|0)?1:(k[a+4>>2]|0)!=(k[t+4>>2]|0))):0)){t=n;t=js(k[(k[h>>2]|0)+68>>2]|0,m,8,k[t>>2]|0,k[t+4>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0){k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}if(OQ(m,26509,8)|0){k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}}a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=zR(k[t>>2]|0,k[t+4>>2]|0,8,0)|0;t=ks(a,t,L,k[j>>2]|0)|0;k[q>>2]=t;if((0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=zR(k[t>>2]|0,k[t+4>>2]|0,12,0)|0,t=ks(a,t,L,(k[h>>2]|0)+52|0)|0,k[q>>2]=t,0==(t|0)):0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=zR(k[t>>2]|0,k[t+4>>2]|0,16,0)|0,t=ks(a,t,L,k[l>>2]|0)|0,k[q>>2]=t,0==(t|0)):0){t=(k[h>>2]|0)+80|0;do if((k[t>>2]|0)==0&(k[t+4>>2]|0)==0){a=k[(k[h>>2]|0)+68>>2]|0;t=n;t=zR(k[t>>2]|0,k[t+4>>2]|0,20,0)|0;t=ks(a,t,L,p)|0;k[q>>2]=t;if(0==(t|0)?(a=k[(k[h>>2]|0)+68>>2]|0,t=n,t=zR(k[t>>2]|0,k[t+4>>2]|0,24,0)|0,t=ks(a,t,L,o)|0,k[q>>2]=t,0==(t|0)):0){if(!(k[o>>2]|0))k[o>>2]=k[(k[h>>2]|0)+160>>2];if((!((k[o>>2]|0)>>>0<512|(k[p>>2]|0)>>>0<32|(k[o>>2]|0)>>>0>65536|(k[p>>2]|0)>>>0>65536)?((k[o>>2]|0)-1&k[o>>2]|0)==0:0)?((k[p>>2]|0)-1&k[p>>2]|0)==0:0){t=bj(k[h>>2]|0,o,-1)|0;k[q>>2]=t;k[(k[h>>2]|0)+156>>2]=k[p>>2];break}k[g>>2]=101;t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}while(0);t=(k[h>>2]|0)+80|0;a=t;a=zR(k[a>>2]|0,k[a+4>>2]|0,k[(k[h>>2]|0)+156>>2]|0,0)|0;k[t>>2]=a;k[t+4>>2]=L;k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}k[g>>2]=k[q>>2];t=k[g>>2]|0;r=s;return t|0}function ds(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+64|0;y=B+60|0;n=B+56|0;o=B+52|0;f=B+48|0;p=B+44|0;q=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;g=B+24|0;s=B+20|0;h=B+16|0;t=B+12|0;u=B;x=B+8|0;k[n>>2]=a;k[o>>2]=b;k[f>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=k[(k[n>>2]|0)+208>>2];d=k[n>>2]|0;if(k[p>>2]|0)d=k[d+68>>2]|0;else d=k[d+72>>2]|0;k[h>>2]=d;a=k[o>>2]|0;a=ks(k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,v)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}e=k[h>>2]|0;c=k[s>>2]|0;b=k[(k[n>>2]|0)+160>>2]|0;a=k[o>>2]|0;a=zR(k[a>>2]|0,k[a+4>>2]|0,4,0)|0;a=js(e,c,b,a,L)|0;k[A>>2]=a;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}b=(k[(k[n>>2]|0)+160>>2]|0)+4+(k[p>>2]<<2)|0;a=k[o>>2]|0;c=a;b=zR(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[a>>2]=b;k[a+4>>2]=L;if((k[v>>2]|0)!=0?(k[v>>2]|0)!=(((k[381]|0)/(k[(k[n>>2]|0)+160>>2]|0)|0)+1|0):0){if((k[v>>2]|0)>>>0<=(k[(k[n>>2]|0)+28>>2]|0)>>>0?(vj(k[f>>2]|0,k[v>>2]|0)|0)==0:0){if(k[p>>2]|0){a=k[h>>2]|0;h=k[o>>2]|0;h=yR(k[h>>2]|0,k[h+4>>2]|0,4,0)|0;h=ks(a,h,L,g)|0;k[A>>2]=h;if(k[A>>2]|0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[q>>2]|0)==0?(h=ls(k[n>>2]|0,k[s>>2]|0)|0,(h|0)!=(k[g>>2]|0)):0){k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}}if((k[f>>2]|0)!=0?(h=tj(k[f>>2]|0,k[v>>2]|0)|0,k[A>>2]=h,(h|0)!=0):0){k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}if((k[v>>2]|0)==1?(j[(k[n>>2]|0)+150>>1]|0)!=(l[(k[s>>2]|0)+20>>0]|0):0)j[(k[n>>2]|0)+150>>1]=l[(k[s>>2]|0)+20>>0]|0;if(Hr(k[n>>2]|0)|0)k[z>>2]=0;else{h=ms(k[n>>2]|0,k[v>>2]|0)|0;k[z>>2]=h}if(k[p>>2]|0){if(l[(k[n>>2]|0)+7>>0]|0)d=1;else{h=k[o>>2]|0;f=k[h+4>>2]|0;d=(k[n>>2]|0)+88|0;g=k[d+4>>2]|0;d=(f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<=(k[d>>2]|0)>>>0:0)}k[t>>2]=d&1}else{if(!(k[z>>2]|0))d=1;else d=0==(m[(k[z>>2]|0)+24>>1]&8|0);k[t>>2]=d&1}do if(k[k[(k[n>>2]|0)+64>>2]>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)>=4){if(!(k[t>>2]|0)){w=44;break}}else if(!((k[t>>2]|0)!=0?(l[(k[n>>2]|0)+17>>0]|0)==0:0)){w=44;break}h=k[(k[n>>2]|0)+160>>2]|0;h=KR((k[v>>2]|0)-1|0,0,h|0,((h|0)<0)<<31>>31|0)|0;t=u;k[t>>2]=h;k[t+4>>2]=L;u=Rg(k[(k[n>>2]|0)+64>>2]|0,k[s>>2]|0,k[(k[n>>2]|0)+160>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[A>>2]=u;if((k[v>>2]|0)>>>0>(k[(k[n>>2]|0)+36>>2]|0)>>>0)k[(k[n>>2]|0)+36>>2]=k[v>>2];if(k[(k[n>>2]|0)+96>>2]|0){ns(k[(k[n>>2]|0)+96>>2]|0,k[v>>2]|0,k[s>>2]|0);k[s>>2]=k[s>>2]}}else w=44;while(0);do if((w|0)==44?(k[p>>2]|0)==0&(k[z>>2]|0)==0:0){w=(k[n>>2]|0)+21|0;i[w>>0]=l[w>>0]|2;w=Eg(k[n>>2]|0,k[v>>2]|0,z,1)|0;k[A>>2]=w;w=(k[n>>2]|0)+21|0;i[w>>0]=l[w>>0]&-3;if(!(k[A>>2]|0)){w=(k[z>>2]|0)+24|0;j[w>>1]=m[w>>1]&-17;os(k[z>>2]|0);break}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}while(0);if(k[z>>2]|0){k[x>>2]=k[(k[z>>2]|0)+4>>2];BR(k[x>>2]|0,k[s>>2]|0,k[(k[n>>2]|0)+160>>2]|0)|0;_b[k[(k[n>>2]|0)+204>>2]&255](k[z>>2]|0);do if(k[p>>2]|0){if((k[q>>2]|0)!=0?(u=k[o>>2]|0,s=k[u+4>>2]|0,w=(k[n>>2]|0)+88|0,t=k[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(k[u>>2]|0)>>>0<=(k[w>>2]|0)>>>0:0))):0)break;oj(k[z>>2]|0)}while(0);if((k[v>>2]|0)==1){c=(k[n>>2]|0)+112|0;d=(k[x>>2]|0)+24|0;e=c+16|0;do{i[c>>0]=i[d>>0]|0;c=c+1|0;d=d+1|0}while((c|0)<(e|0))}ps(k[z>>2]|0)}k[y>>2]=k[A>>2];A=k[y>>2]|0;r=B;return A|0}k[y>>2]=0;A=k[y>>2]|0;r=B;return A|0}k[y>>2]=101;A=k[y>>2]|0;r=B;return A|0}function es(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;t=s+60|0;c=s+56|0;m=s+52|0;n=s+48|0;l=s+44|0;j=s+40|0;p=s+36|0;g=s;o=s+32|0;q=s+28|0;h=s+24|0;e=s+16|0;d=s+12|0;f=s+8|0;k[t>>2]=a;k[c>>2]=b;k[m>>2]=k[k[t>>2]>>2];k[p>>2]=0;b=k[(k[m>>2]|0)+4>>2]<<1;b=ug(b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;k[j>>2]=(k[l>>2]|0)+(k[(k[m>>2]|0)+4>>2]|0);if(k[l>>2]|0){k[s+20>>2]=16385;t=Zr(k[m>>2]|0,k[c>>2]|0,k[l>>2]|0,16385,0)|0;k[n>>2]=t}else k[n>>2]=7;a:do if((k[n>>2]|0)==0?(t=dj(k[l>>2]|0,g)|0,k[n>>2]=t,(k[n>>2]|0)==0):0){k[h>>2]=(k[(k[m>>2]|0)+8>>2]|0)+1;b=g;t=k[h>>2]|0;t=zR(k[b>>2]|0,k[b+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=zR(t|0,L|0,1,0)|0;t=jg(t,L)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[n>>2]=7;break}t=g;t=zR(k[t>>2]|0,k[t+4>>2]|0,1,0)|0;k[q>>2]=(k[p>>2]|0)+t;t=js(k[l>>2]|0,k[p>>2]|0,k[g>>2]|0,0,0)|0;k[n>>2]=t;if(!(k[n>>2]|0)){i[(k[p>>2]|0)+(k[g>>2]|0)>>0]=0;k[o>>2]=k[p>>2];while(1){b=(k[o>>2]|0)-(k[p>>2]|0)|0;u=((b|0)<0)<<31>>31;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?b>>>0<(k[t>>2]|0)>>>0:0)))break;u=bs(k[m>>2]|0,k[o>>2]|0,0,e)|0;k[n>>2]=u;if(k[n>>2]|0)break a;if(k[e>>2]|0){k[f>>2]=2049;u=Zr(k[m>>2]|0,k[o>>2]|0,k[j>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=u;if(k[n>>2]|0)break a;u=as(k[j>>2]|0,k[q>>2]|0,k[h>>2]|0)|0;k[n>>2]=u;wr(k[j>>2]|0)|0;if(k[n>>2]|0)break a;if(i[k[q>>2]>>0]|0)a=(RQ(k[q>>2]|0,k[c>>2]|0)|0)==0;else a=0;k[d>>2]=a&1;if(k[d>>2]|0)break a}u=(Tf(k[o>>2]|0)|0)+1|0;k[o>>2]=(k[o>>2]|0)+u}wr(k[l>>2]|0)|0;u=Fr(k[m>>2]|0,k[c>>2]|0,0)|0;k[n>>2]=u}}while(0);Ud(k[p>>2]|0);if(!(k[l>>2]|0)){u=k[n>>2]|0;r=s;return u|0}wr(k[l>>2]|0)|0;Ud(k[l>>2]|0);u=k[n>>2]|0;r=s;return u|0}function fs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+13>>0]|0|0)==0?((gs(k[(k[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=hs(k[(k[b>>2]|0)+64>>2]|0)|0;k[(k[b>>2]|0)+156>>2]=a;r=c;return}k[(k[b>>2]|0)+156>>2]=512;r=c;return}function gs(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[(k[k[c>>2]>>2]|0)+48>>2]&255](k[c>>2]|0)|0;r=b;return a|0}function hs(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=is(k[d>>2]|0)|0;k[b>>2]=a;if((k[b>>2]|0)>=32){if((k[b>>2]|0)>65536)k[b>>2]=65536}else k[b>>2]=512;r=c;return k[b>>2]|0}function is(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[k[b>>2]>>2]|0)+44>>2];if(!(k[c>>2]|0)){c=4096;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function js(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;i=f+16|0;h=f+12|0;g=f+8|0;j=f;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;b=j;k[b>>2]=d;k[b+4>>2]=e;b=j;b=hc[k[(k[k[i>>2]>>2]|0)+8>>2]&255](k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;r=f;return b|0}function ks(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;i=h+16|0;j=h;e=h+12|0;f=h+20|0;g=h+8|0;k[i>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=d;d=j;d=js(k[i>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;k[g>>2]=d;if(k[g>>2]|0){j=k[g>>2]|0;r=h;return j|0}j=or(f)|0;k[k[e>>2]>>2]=j;j=k[g>>2]|0;r=h;return j|0}function ls(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[g>>2]|0)+52>>2];k[e>>2]=(k[(k[g>>2]|0)+160>>2]|0)-200;while(1){if((k[e>>2]|0)<=0)break;k[d>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0);k[e>>2]=(k[e>>2]|0)-200}r=f;return k[d>>2]|0}function ms(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=rs(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}else{b=ss(k[(k[d>>2]|0)+212>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}return 0}function ns(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=g;return}qs(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function os(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+24>>1]|0)&33)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-33;if(!((m[(k[b>>2]|0)+24>>1]|0)&1)){r=c;return}a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)^3;pj(k[b>>2]|0,2);r=c;return}function ps(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;d=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[d>>2]=(k[d>>2]|0)+-1;d=(k[b>>2]|0)+26|0;a=(j[d>>1]|0)+-1<<16>>16;j[d>>1]=a;if(a<<16>>16){r=c;return}a=k[b>>2]|0;if((m[(k[b>>2]|0)+24>>1]|0)&1){qj(a);r=c;return}if(!(k[a+36>>2]|0)){r=c;return}pj(k[b>>2]|0,3);r=c;return}function qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do{if(((xg(k[(k[d>>2]|0)+28>>2]|0)|0)==0?(k[e>>2]|0)>>>0<(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=Gg(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,1)|0,k[g>>2]=a,(k[g>>2]|0)!=0):0)k[(k[d>>2]|0)+28>>2]=k[g>>2];a=k[(k[d>>2]|0)+44>>2]|0;k[d>>2]=a}while((a|0)!=0);r=h;return}function rs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;f=d+8|0;h=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2]&(l[(k[g>>2]|0)+33>>0]|0);b=Yb[k[144>>2]&255](k[(k[g>>2]|0)+44>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function ss(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[i>>2]|0;if(k[k[g>>2]>>2]|0){i=a+12|0;k[i>>2]=(k[i>>2]|0)+1;i=(k[g>>2]|0)+26|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16;k[d>>2]=k[g>>2];i=k[d>>2]|0;r=h;return i|0}else{i=ts(a,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}return 0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[f>>2]|0)+4>>2];a=k[g>>2]|0;c=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(c|0));k[k[g>>2]>>2]=k[f>>2];k[(k[g>>2]|0)+4>>2]=k[k[f>>2]>>2];k[(k[g>>2]|0)+8>>2]=(k[g>>2]|0)+40;DR(k[(k[g>>2]|0)+8>>2]|0,0,k[(k[d>>2]|0)+28>>2]|0)|0;k[(k[g>>2]|0)+28>>2]=k[d>>2];k[(k[g>>2]|0)+20>>2]=k[e>>2];j[(k[g>>2]|0)+24>>1]=1;g=ss(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=h;return g|0}function us(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+32|0;b=e+16|0;d=e+8|0;c=e;k[b>>2]=a;g=d;k[g>>2]=0;k[g+4>>2]=0;g=(k[b>>2]|0)+80|0;f=k[g+4>>2]|0;a=c;k[a>>2]=k[g>>2];k[a+4>>2]=f;a=c;if(!((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)){f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}g=c;g=yR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;g=IR(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;g=zR(g|0,L|0,1,0)|0;g=KR(g|0,L|0,k[(k[b>>2]|0)+156>>2]|0,0)|0;f=d;k[f>>2]=g;k[f+4>>2]=L;f=d;g=f;g=k[g>>2]|0;f=f+4|0;f=k[f>>2]|0;L=f;r=e;return g|0}function vs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;c=s+56|0;d=s+52|0;e=s+48|0;p=s+16|0;g=s+8|0;o=s+44|0;n=s+40|0;h=s+36|0;l=s+32|0;f=s+28|0;j=s+24|0;m=s;k[d>>2]=a;k[e>>2]=b;k[o>>2]=0;k[n>>2]=0;if((k[e>>2]|0)!=0?(b=sj(k[(k[e>>2]|0)+20>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)==0):0){k[c>>2]=7;q=k[c>>2]|0;r=s;return q|0}if(k[e>>2]|0)a=k[(k[e>>2]|0)+20>>2]|0;else a=k[(k[d>>2]|0)+32>>2]|0;k[(k[d>>2]|0)+28>>2]=a;i[(k[d>>2]|0)+19>>0]=i[(k[d>>2]|0)+13>>0]|0;if((k[e>>2]|0)==0?(Hr(k[d>>2]|0)|0)!=0:0){q=ws(k[d>>2]|0)|0;k[c>>2]=q;q=k[c>>2]|0;r=s;return q|0}t=(k[d>>2]|0)+80|0;a=k[t+4>>2]|0;b=p;k[b>>2]=k[t>>2];k[b+4>>2]=a;a:do if((k[e>>2]|0)!=0?(Hr(k[d>>2]|0)|0)==0:0){t=(k[e>>2]|0)+8|0;if((k[t>>2]|0)!=0|(k[t+4>>2]|0)!=0){b=(k[e>>2]|0)+8|0;a=k[b>>2]|0;b=k[b+4>>2]|0}else{b=p;a=k[b>>2]|0;b=k[b+4>>2]|0}t=g;k[t>>2]=a;k[t+4>>2]=b;a=k[e>>2]|0;b=k[a+4>>2]|0;t=(k[d>>2]|0)+80|0;k[t>>2]=k[a>>2];k[t+4>>2]=b;while(1){if(k[o>>2]|0)break a;b=(k[d>>2]|0)+80|0;u=k[b+4>>2]|0;t=g;a=k[t+4>>2]|0;if(!((u|0)<(a|0)|((u|0)==(a|0)?(k[b>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)))break a;u=ds(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u}}else q=19;while(0);if((q|0)==19){u=(k[d>>2]|0)+80|0;k[u>>2]=0;k[u+4>>2]=0}b:while(1){if(k[o>>2]|0)break;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))break;k[l>>2]=0;u=p;u=cs(k[d>>2]|0,0,k[u>>2]|0,k[u+4>>2]|0,l,f)|0;k[o>>2]=u;if((k[l>>2]|0)==0?(t=(k[d>>2]|0)+88|0,t=zR(k[t>>2]|0,k[t+4>>2]|0,k[(k[d>>2]|0)+156>>2]|0,0)|0,u=(k[d>>2]|0)+80|0,(t|0)==(k[u>>2]|0)?(L|0)==(k[u+4>>2]|0):0):0){u=p;t=(k[d>>2]|0)+80|0;t=yR(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;u=(k[(k[d>>2]|0)+160>>2]|0)+8|0;u=IR(t|0,L|0,u|0,((u|0)<0)<<31>>31|0)|0;k[l>>2]=u}k[h>>2]=0;while(1){if(k[o>>2]|0)continue b;if((k[h>>2]|0)>>>0>=(k[l>>2]|0)>>>0)continue b;t=(k[d>>2]|0)+80|0;g=k[t+4>>2]|0;u=p;q=k[u+4>>2]|0;if(!((g|0)<(q|0)|((g|0)==(q|0)?(k[t>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)))continue b;u=ds(k[d>>2]|0,(k[d>>2]|0)+80|0,k[n>>2]|0,1,1)|0;k[o>>2]=u;k[h>>2]=(k[h>>2]|0)+1}}c:do if(k[e>>2]|0){t=4+(k[(k[d>>2]|0)+160>>2]|0)|0;t=KR(k[(k[e>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;k[u>>2]=t;k[u+4>>2]=L;if(Hr(k[d>>2]|0)|0){u=xs(k[(k[d>>2]|0)+216>>2]|0,(k[e>>2]|0)+28|0)|0;k[o>>2]=u}k[j>>2]=k[(k[e>>2]|0)+24>>2];while(1){if(k[o>>2]|0)break c;if((k[j>>2]|0)>>>0>=(k[(k[d>>2]|0)+56>>2]|0)>>>0)break c;u=ds(k[d>>2]|0,m,k[n>>2]|0,0,1)|0;k[o>>2]=u;k[j>>2]=(k[j>>2]|0)+1}}while(0);xj(k[n>>2]|0);if(!(k[o>>2]|0)){q=p;t=k[q+4>>2]|0;u=(k[d>>2]|0)+80|0;k[u>>2]=k[q>>2];k[u+4>>2]=t}k[c>>2]=k[o>>2];u=k[c>>2]|0;r=s;return u|0}function ws(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[(k[b>>2]|0)+28>>2]=k[(k[b>>2]|0)+32>>2];a=Es(k[(k[b>>2]|0)+216>>2]|0,187,k[b>>2]|0)|0;k[e>>2]=a;a=Fs(k[(k[b>>2]|0)+212>>2]|0)|0;k[c>>2]=a;while(1){if(!((k[c>>2]|0)!=0?(k[e>>2]|0)==0:0))break;k[d>>2]=k[(k[c>>2]|0)+12>>2];a=Ds(k[b>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[e>>2]=a;k[c>>2]=k[d>>2]}r=f;return k[e>>2]|0}function xs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[d>>2]|0)+12>>2]|0)!=(k[(k[c>>2]|0)+112>>2]|0)){k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+12>>2]=k[(k[c>>2]|0)+112>>2]}if((k[k[d>>2]>>2]|0)>>>0>=(k[(k[c>>2]|0)+52+16>>2]|0)>>>0){e=k[e>>2]|0;r=f;return e|0}k[(k[c>>2]|0)+52+16>>2]=k[k[d>>2]>>2];k[(k[c>>2]|0)+52+24>>2]=k[(k[d>>2]|0)+4>>2];k[(k[c>>2]|0)+52+24+4>>2]=k[(k[d>>2]|0)+8>>2];ys(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function ys(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;f=i+8|0;h=i+4|0;e=i;k[b>>2]=a;k[c>>2]=0;k[d>>2]=0;k[g>>2]=0;k[f>>2]=0;if(!(k[(k[b>>2]|0)+52+16>>2]|0)){r=i;return}a=k[b>>2]|0;As(a,zs(k[(k[b>>2]|0)+52+16>>2]|0)|0,c,d,g)|0;k[f>>2]=(k[(k[b>>2]|0)+52+16>>2]|0)-(k[g>>2]|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=8192)break;if((m[(k[c>>2]|0)+(k[e>>2]<<1)>>1]|0|0)>(k[f>>2]|0))j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=0;k[e>>2]=(k[e>>2]|0)+1}k[h>>2]=(k[c>>2]|0)-((k[d>>2]|0)+((k[f>>2]|0)+1<<2));DR((k[d>>2]|0)+((k[f>>2]|0)+1<<2)|0,0,k[h>>2]|0)|0;r=i;return}function zs(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(((k[d>>2]|0)+4096-4062-1|0)>>>0)/4096|0;r=c;return k[b>>2]|0}function As(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;p=o+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;n=o+12|0;l=o+8|0;m=o+4|0;j=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;e=Bs(k[p>>2]|0,k[f>>2]|0,l)|0;k[n>>2]=e;if(k[n>>2]|0){p=k[n>>2]|0;r=o;return p|0}k[j>>2]=(k[l>>2]|0)+16384;if(!(k[f>>2]|0)){k[l>>2]=(k[l>>2]|0)+136;k[m>>2]=0}else k[m>>2]=4062+((k[f>>2]|0)-1<<12);k[k[h>>2]>>2]=(k[l>>2]|0)+-4;k[k[g>>2]>>2]=k[j>>2];k[k[i>>2]>>2]=k[m>>2];p=k[n>>2]|0;r=o;return p|0}function Bs(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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;m=n+8|0;j=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;do if((k[(k[e>>2]|0)+24>>2]|0)<=(k[f>>2]|0)){k[j>>2]=(k[f>>2]|0)+1<<2;c=k[j>>2]|0;c=Wd(k[(k[e>>2]|0)+32>>2]|0,c,((c|0)<0)<<31>>31)|0;k[h>>2]=c;if(k[h>>2]|0){DR((k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0,0,(k[f>>2]|0)+1-(k[(k[e>>2]|0)+24>>2]|0)<<2|0)|0;k[(k[e>>2]|0)+32>>2]=k[h>>2];k[(k[e>>2]|0)+24>>2]=(k[f>>2]|0)+1;break}k[k[g>>2]>>2]=0;k[d>>2]=7;m=k[d>>2]|0;r=n;return m|0}while(0);do if(!(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0))if((l[(k[e>>2]|0)+43>>0]|0|0)==2){c=ug(32768,0)|0;k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]=c;if(k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2]|0)break;k[m>>2]=7;break}else{c=Cs(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,32768,l[(k[e>>2]|0)+44>>0]|0,(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)|0)|0;k[m>>2]=c;if((k[m>>2]|0)!=8)break;c=(k[e>>2]|0)+46|0;i[c>>0]=l[c>>0]|0|2;k[m>>2]=0;break}while(0);k[k[g>>2]>>2]=k[(k[(k[e>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[d>>2]=k[m>>2];m=k[d>>2]|0;r=n;return m|0}function Cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;e=hc[k[(k[k[l>>2]>>2]|0)+52>>2]&255](k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;r=f;return e|0}function Ds(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;i=g+20|0;h=g+16|0;f=g+12|0;d=g+8|0;e=g+4|0;c=g;k[i>>2]=a;k[h>>2]=b;k[f>>2]=0;k[d>>2]=k[i>>2];a=ms(k[d>>2]|0,k[h>>2]|0)|0;k[e>>2]=a;do if(k[e>>2]|0){if((Ks(k[e>>2]|0)|0)==1){Ls(k[e>>2]|0);break}k[c>>2]=0;i=Ms(k[(k[d>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+20>>2]|0,c)|0;k[f>>2]=i;if(!(k[f>>2]|0)){i=Ns(k[e>>2]|0,k[c>>2]|0)|0;k[f>>2]=i}if(!(k[f>>2]|0))_b[k[(k[d>>2]|0)+204>>2]&255](k[e>>2]|0);Os(k[e>>2]|0)}while(0);lj(k[(k[d>>2]|0)+96>>2]|0);r=g;return k[f>>2]|0}function Es(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(i[(k[d>>2]|0)+44>>0]|0)){j=k[j>>2]|0;r=l;return j|0}k[h>>2]=k[(k[d>>2]|0)+52+16>>2];c=(k[d>>2]|0)+52|0;a=Is(k[d>>2]|0)|0;b=c+48|0;do{i[c>>0]=i[a>>0]|0;c=c+1|0;a=a+1|0}while((c|0)<(b|0));k[g>>2]=(k[(k[d>>2]|0)+52+16>>2]|0)+1;while(1){if(k[j>>2]|0)break;if((k[g>>2]|0)>>>0>(k[h>>2]|0)>>>0)break;c=k[e>>2]|0;a=k[f>>2]|0;b=Js(k[d>>2]|0,k[g>>2]|0)|0;b=gc[c&255](a,b)|0;k[j>>2]=b;k[g>>2]=(k[g>>2]|0)+1}if((k[h>>2]|0)==(k[(k[d>>2]|0)+52+16>>2]|0)){j=k[j>>2]|0;r=l;return j|0}ys(k[d>>2]|0);j=k[j>>2]|0;r=l;return j|0}function Fs(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[(k[c>>2]|0)+12>>2]=k[(k[c>>2]|0)+32>>2];k[c>>2]=k[(k[c>>2]|0)+32>>2]}a=Gs(k[k[b>>2]>>2]|0)|0;r=d;return a|0}function Gs(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+144|0;c=h+136|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;a=e;b=a+128|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(k[c>>2]|0))break;k[g>>2]=k[c>>2];k[c>>2]=k[(k[g>>2]|0)+12>>2];k[(k[g>>2]|0)+12>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=31)break;if(!(k[e+(k[f>>2]<<2)>>2]|0)){d=6;break}b=Hs(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[g>>2]=b;k[e+(k[f>>2]<<2)>>2]=0;k[f>>2]=(k[f>>2]|0)+1}if((d|0)==6){d=0;k[e+(k[f>>2]<<2)>>2]=k[g>>2]}if((k[f>>2]|0)!=31)continue;b=Hs(k[e+(k[f>>2]<<2)>>2]|0,k[g>>2]|0)|0;k[e+(k[f>>2]<<2)>>2]=b}k[g>>2]=k[e>>2];k[f>>2]=1;while(1){a=k[g>>2]|0;if((k[f>>2]|0)>=32)break;d=Hs(a,k[e+(k[f>>2]<<2)>>2]|0)|0;k[g>>2]=d;k[f>>2]=(k[f>>2]|0)+1}r=h;return a|0}function Hs(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;c=g+52|0;d=g+48|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=f;while(1){a=k[c>>2]|0;if(!((k[c>>2]|0)!=0?(k[d>>2]|0)!=0:0))break;if((k[a+20>>2]|0)>>>0<(k[(k[d>>2]|0)+20>>2]|0)>>>0){k[(k[e>>2]|0)+12>>2]=k[c>>2];k[e>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+12>>2];continue}else{k[(k[e>>2]|0)+12>>2]=k[d>>2];k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+12>>2];continue}}if(a){k[(k[e>>2]|0)+12>>2]=k[c>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}if(k[d>>2]|0){k[(k[e>>2]|0)+12>>2]=k[d>>2];f=f+12|0;f=k[f>>2]|0;r=g;return f|0}else{k[(k[e>>2]|0)+12>>2]=0;f=f+12|0;f=k[f>>2]|0;r=g;return f|0}return 0}function Is(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[(k[b>>2]|0)+32>>2]>>2]|0}function Js(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;b=zs(k[g>>2]|0)|0;k[e>>2]=b;b=k[g>>2]|0;if(!(k[e>>2]|0)){k[c>>2]=k[(k[k[(k[d>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];g=k[c>>2]|0;r=f;return g|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];g=k[c>>2]|0;r=f;return g|0}return 0}function Ks(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+26>>1]|0}function Ls(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+24>>1]|0)&2)pj(k[b>>2]|0,1);a=(k[(k[b>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,1);r=c;return}function Ms(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;s=w+56|0;d=w+52|0;e=w+48|0;t=w+44|0;u=w+40|0;n=w+36|0;i=w+32|0;o=w+28|0;f=w+24|0;g=w+20|0;p=w+16|0;l=w+12|0;q=w+8|0;v=w+4|0;h=w;k[d>>2]=a;k[e>>2]=b;k[t>>2]=c;k[u>>2]=0;k[n>>2]=k[(k[d>>2]|0)+52+16>>2];if((k[n>>2]|0)!=0?(j[(k[d>>2]|0)+40>>1]|0)!=0:0){c=zs(k[(k[d>>2]|0)+100>>2]|0)|0;k[o>>2]=c;c=zs(k[n>>2]|0)|0;k[i>>2]=c;a:while(1){if(!((k[i>>2]|0)>=(k[o>>2]|0)?(k[u>>2]|0)==0:0)){d=18;break}c=As(k[d>>2]|0,k[i>>2]|0,f,g,p)|0;k[v>>2]=c;if(k[v>>2]|0){d=7;break}k[q>>2]=8192;c=Ts(k[e>>2]|0)|0;k[l>>2]=c;while(1){if(!(j[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0))break;k[h>>2]=(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]|0)+(k[p>>2]|0);if(((k[h>>2]|0)>>>0<=(k[n>>2]|0)>>>0?(k[h>>2]|0)>>>0>=(k[(k[d>>2]|0)+100>>2]|0)>>>0:0)?(k[(k[g>>2]|0)+(m[(k[f>>2]|0)+(k[l>>2]<<1)>>1]<<2)>>2]|0)==(k[e>>2]|0):0)k[u>>2]=k[h>>2];c=k[q>>2]|0;k[q>>2]=c+-1;if(!c){d=15;break a}c=Us(k[l>>2]|0)|0;k[l>>2]=c}k[i>>2]=(k[i>>2]|0)+-1}if((d|0)==7){k[s>>2]=k[v>>2];v=k[s>>2]|0;r=w;return v|0}else if((d|0)==15){v=Yj(53923)|0;k[s>>2]=v;v=k[s>>2]|0;r=w;return v|0}else if((d|0)==18){k[k[t>>2]>>2]=k[u>>2];k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}}k[k[t>>2]>>2]=0;k[s>>2]=0;v=k[s>>2]|0;r=w;return v|0}function Ns(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+32|0;d=m+28|0;f=m+24|0;g=m+20|0;l=m+16|0;h=m+12|0;e=m;j=m+8|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[g>>2]=k[(k[c>>2]|0)+20>>2];k[l>>2]=0;k[h>>2]=k[(k[f>>2]|0)+160>>2];if(k[d>>2]|0){h=Ss(k[(k[f>>2]|0)+216>>2]|0,k[d>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+4>>2]|0)|0;k[l>>2]=h}else{b=k[(k[f>>2]|0)+160>>2]|0;b=KR((k[g>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;h=js(k[(k[f>>2]|0)+64>>2]|0,k[(k[c>>2]|0)+4>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[l>>2]=h;k[l>>2]=(k[l>>2]|0)==522?0:h}if((k[g>>2]|0)!=1){l=k[l>>2]|0;r=m;return l|0}if(k[l>>2]|0){b=(k[f>>2]|0)+112|0;d=b+16|0;do{i[b>>0]=255;b=b+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}else{k[j>>2]=(k[(k[c>>2]|0)+4>>2]|0)+24;b=(k[f>>2]|0)+112|0;c=k[j>>2]|0;d=b+16|0;do{i[b>>0]=i[c>>0]|0;b=b+1|0;c=c+1|0}while((b|0)<(d|0));l=k[l>>2]|0;r=m;return l|0}return 0}function Os(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+16>>2];a=k[d>>2]|0;if((m[(k[d>>2]|0)+24>>1]|0)&64){Ps(a);d=k[b>>2]|0;Qs(d);r=c;return}else{ps(a);d=k[b>>2]|0;Qs(d);r=c;return}}function Ps(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+4|0;e=b;k[c>>2]=a;k[e>>2]=k[(k[c>>2]|0)+16>>2];d=(k[e>>2]|0)+128|0;k[d>>2]=(k[d>>2]|0)+-1;k[(k[c>>2]|0)+12>>2]=k[(k[e>>2]|0)+144>>2];k[(k[e>>2]|0)+144>>2]=k[c>>2];d=k[(k[e>>2]|0)+64>>2]|0;a=k[(k[e>>2]|0)+160>>2]|0;a=KR((k[(k[c>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Rs(d,a,L,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return}function Qs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+128>>2]|0){r=c;return}if(cj(k[(k[b>>2]|0)+212>>2]|0)|0){r=c;return}vr(k[b>>2]|0);r=c;return}function Rs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function Ss(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;e=r;r=r+32|0;i=e+24|0;l=e+20|0;f=e+16|0;h=e+12|0;g=e+8|0;j=e;k[i>>2]=a;k[l>>2]=b;k[f>>2]=c;k[h>>2]=d;k[g>>2]=m[(k[i>>2]|0)+52+14>>1];k[g>>2]=(k[g>>2]&65024)+((k[g>>2]&1)<<16);d=(k[g>>2]|0)+24|0;d=KR((k[l>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=zR(32,0,d|0,L|0)|0;d=zR(d|0,L|0,24,0)|0;a=j;k[a>>2]=d;k[a+4>>2]=L;a=j;a=js(k[(k[i>>2]|0)+8>>2]|0,k[h>>2]|0,(k[f>>2]|0)>(k[g>>2]|0)?k[g>>2]|0:k[f>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=e;return a|0}function Ts(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)*383&8191|0}function Us(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+1&8191|0}function Vs(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Ir(k[b>>2]|0)|0;if((j[(k[b>>2]|0)+40>>1]|0)<0){r=c;return}Or(k[b>>2]|0,3+(j[(k[b>>2]|0)+40>>1]|0)|0);j[(k[b>>2]|0)+40>>1]=-1;r=c;return}function Ws(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+28>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function Xs(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+64|0;z=A+52|0;v=A+48|0;w=A+44|0;l=A+40|0;m=A+36|0;n=A+32|0;o=A+28|0;p=A+24|0;q=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;k[v>>2]=a;k[w>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[s>>2]=j;k[t>>2]=0;k[x>>2]=k[w>>2];k[u>>2]=k[l>>2];if(i[(k[v>>2]|0)+46>>0]|0){k[z>>2]=8;z=k[z>>2]|0;r=A;return z|0}g=at(k[v>>2]|0,1,1)|0;k[y>>2]=g;if(k[y>>2]|0){k[z>>2]=k[y>>2];z=k[z>>2]|0;r=A;return z|0}i[(k[v>>2]|0)+45>>0]=1;do if(k[w>>2]|0){g=bt(k[v>>2]|0,k[l>>2]|0,k[m>>2]|0,0,1)|0;k[y>>2]=g;if(!(k[y>>2]|0)){i[(k[v>>2]|0)+44>>0]=1;break}if((k[y>>2]|0)==5){k[x>>2]=0;k[u>>2]=0;k[y>>2]=0}}while(0);if(((k[y>>2]|0)==0?(g=ct(k[v>>2]|0,t)|0,k[y>>2]=g,(k[t>>2]|0)!=0):0)?(k[k[k[(k[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Rs(k[(k[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(k[y>>2]|0)){if((k[(k[v>>2]|0)+52+16>>2]|0)!=0?(g=dt(k[v>>2]|0)|0,(g|0)!=(k[o>>2]|0)):0){g=Yj(54623)|0;k[y>>2]=g}else{g=et(k[v>>2]|0,k[x>>2]|0,k[u>>2]|0,k[m>>2]|0,k[n>>2]|0,k[p>>2]|0)|0;k[y>>2]=g}if((k[y>>2]|0)==0|(k[y>>2]|0)==5){if(k[q>>2]|0)k[k[q>>2]>>2]=k[(k[v>>2]|0)+52+16>>2];if(k[s>>2]|0){g=ft(k[v>>2]|0)|0;k[k[s>>2]>>2]=k[g>>2]}}}if(k[t>>2]|0){l=(k[v>>2]|0)+52|0;m=l+48|0;do{k[l>>2]=0;l=l+4|0}while((l|0)<(m|0))}Ir(k[v>>2]|0)|0;Qr(k[v>>2]|0,1,1);i[(k[v>>2]|0)+45>>0]=0;if((k[y>>2]|0)==0?(k[w>>2]|0)!=(k[x>>2]|0):0)l=5;else l=k[y>>2]|0;k[z>>2]=l;z=k[z>>2]|0;r=A;return z|0}function Ys(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return}function Zs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i+16|0;d=i+24|0;e=i+8|0;g=i;f=i+20|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;ek();a=dj(k[(k[d>>2]|0)+8>>2]|0,g)|0;k[f>>2]=a;if((k[f>>2]|0)==0?(a=g,b=k[a+4>>2]|0,g=e,c=k[g+4>>2]|0,(b|0)>(c|0)|((b|0)==(c|0)?(k[a>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0){g=e;g=Cr(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[f>>2]=g}fk();if(!(k[f>>2]|0)){r=i;return}g=k[f>>2]|0;k[h>>2]=k[(k[d>>2]|0)+108>>2];$d(g,26517,h);r=i;return}function _s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+43>>0]|0|0)!=2){$s(k[(k[c>>2]|0)+4>>2]|0,k[d>>2]|0)|0;r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+24>>2]|0))break;Ud(k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]|0);k[(k[(k[c>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=f;return}function $s(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[k[e>>2]>>2]|0)+64>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function at(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;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(i[(k[e>>2]|0)+43>>0]|0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}else{a=Pr(k[(k[e>>2]|0)+4>>2]|0,k[f>>2]|0,k[g>>2]|0,10)|0;k[h>>2]=a;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}return 0}function bt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;while(1){b=at(k[f>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=b;if(!((k[g>>2]|0)!=0&(k[l>>2]|0)==5)){f=4;break}if(!(bc[k[g>>2]&255](k[h>>2]|0)|0)){f=4;break}}if((f|0)==4){r=m;return k[l>>2]|0}return 0}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;a=Bs(k[d>>2]|0,0,g)|0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}if(k[g>>2]|0)b=rt(k[d>>2]|0,k[e>>2]|0)|0;else b=1;k[f>>2]=b;do if(k[f>>2]|0){b=k[d>>2]|0;if((l[(k[d>>2]|0)+46>>0]|0)&2){g=Nr(b,0)|0;k[h>>2]=g;if(g)break;Or(k[d>>2]|0,0);k[h>>2]=264;break}a=at(b,0,1)|0;k[h>>2]=a;if(!a){i[(k[d>>2]|0)+44>>0]=1;g=Bs(k[d>>2]|0,0,g)|0;k[h>>2]=g;if(0==(g|0)?(g=rt(k[d>>2]|0,k[e>>2]|0)|0,k[f>>2]=g,(k[f>>2]|0)!=0):0){g=st(k[d>>2]|0)|0;k[h>>2]=g;k[k[e>>2]>>2]=1}i[(k[d>>2]|0)+44>>0]=0;Qr(k[d>>2]|0,0,1)}}while(0);if((k[f>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=3007e3:0){g=tt(53476)|0;k[h>>2]=g}k[c>>2]=k[h>>2];h=k[c>>2]|0;r=j;return h|0}function dt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[b>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function et(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+112|0;g=G+104|0;h=G+100|0;i=G+96|0;j=G+92|0;l=G+88|0;m=G+84|0;n=G+80|0;A=G+76|0;D=G+72|0;z=G+68|0;p=G+64|0;q=G+60|0;u=G+56|0;t=G+52|0;o=G+48|0;y=G+44|0;E=G+40|0;x=G+24|0;v=G+36|0;w=G+16|0;s=G+8|0;C=G;B=G+32|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[A>>2]=0;k[z>>2]=0;k[p>>2]=0;k[q>>2]=0;f=dt(k[h>>2]|0)|0;k[D>>2]=f;f=ft(k[h>>2]|0)|0;k[y>>2]=f;a:do if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){f=gt(k[h>>2]|0,z)|0;k[A>>2]=f;if(k[A>>2]|0){k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}k[u>>2]=k[(k[h>>2]|0)+52+16>>2];k[t>>2]=k[(k[h>>2]|0)+52+20>>2];k[o>>2]=1;while(1){if((k[o>>2]|0)>=5)break;k[E>>2]=k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2];do if((k[u>>2]|0)>>>0>(k[E>>2]|0)>>>0){f=bt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3+(k[o>>2]|0)|0,1)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[(k[y>>2]|0)+4+(k[o>>2]<<2)>>2]=(k[o>>2]|0)==1?k[u>>2]|0:-1;Qr(k[h>>2]|0,3+(k[o>>2]|0)|0,1);break}if((k[A>>2]|0)!=5)break a;k[u>>2]=k[E>>2];k[j>>2]=0}while(0);k[o>>2]=(k[o>>2]|0)+1}if((k[k[y>>2]>>2]|0)>>>0<(k[u>>2]|0)>>>0?(F=bt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,3,1)|0,k[A>>2]=F,(F|0)==0):0){k[v>>2]=k[k[y>>2]>>2];k[(k[y>>2]|0)+32>>2]=k[u>>2];if(k[m>>2]|0){F=Dr(k[(k[h>>2]|0)+8>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(((k[A>>2]|0)==0?(f=k[D>>2]|0,f=KR(k[t>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=w,k[F>>2]=f,k[F+4>>2]=L,F=dj(k[(k[h>>2]|0)+4>>2]|0,x)|0,k[A>>2]=F,(k[A>>2]|0)==0):0)?(f=x,c=k[f+4>>2]|0,F=w,E=k[F+4>>2]|0,(c|0)<(E|0)|((c|0)==(E|0)?(k[f>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0)Ys(k[(k[h>>2]|0)+4>>2]|0,5,w);b:while(1){if(k[A>>2]|0)break;while(1){if(ht(k[z>>2]|0,p,q)|0)break b;if((k[q>>2]|0)>>>0<=(k[v>>2]|0)>>>0)continue b;if((k[q>>2]|0)>>>0>(k[u>>2]|0)>>>0)continue b;if((k[p>>2]|0)>>>0>(k[t>>2]|0)>>>0)continue b;f=(k[D>>2]|0)+24|0;f=KR((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=zR(32,0,f|0,L|0)|0;f=zR(f|0,L|0,24,0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=js(k[(k[h>>2]|0)+8>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(k[A>>2]|0)break b;f=k[D>>2]|0;f=KR((k[p>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;F=s;k[F>>2]=f;k[F+4>>2]=L;F=s;F=Rg(k[(k[h>>2]|0)+4>>2]|0,k[n>>2]|0,k[D>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0;k[A>>2]=F;if(!((k[A>>2]|0)==0&(k[A>>2]|0)==0))break b}}if(!(k[A>>2]|0)){f=k[u>>2]|0;F=(Is(k[h>>2]|0)|0)+16|0;if((f|0)==(k[F>>2]|0)?(f=k[D>>2]|0,f=KR(k[(k[h>>2]|0)+52+20>>2]|0,0,f|0,((f|0)<0)<<31>>31|0)|0,F=C,k[F>>2]=f,k[F+4>>2]=L,F=C,F=Cr(k[(k[h>>2]|0)+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0)|0,k[A>>2]=F,(k[A>>2]|0)==0&(k[m>>2]|0)!=0):0){F=Dr(k[(k[h>>2]|0)+4>>2]|0,k[m>>2]|0)|0;k[A>>2]=F}if(!(k[A>>2]|0))k[k[y>>2]>>2]=k[u>>2]}Qr(k[h>>2]|0,3,1)}if((k[A>>2]|0)==5){k[A>>2]=0;F=36}else F=36}else F=36;while(0);do if((F|0)==36?(k[A>>2]|0)==0&(k[i>>2]|0)!=0:0){if((k[k[y>>2]>>2]|0)>>>0<(k[(k[h>>2]|0)+52+16>>2]|0)>>>0){k[A>>2]=5;break}if((k[i>>2]|0)>=2?(ae(4,B),F=bt(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,4,4)|0,k[A>>2]=F,(k[A>>2]|0)==0):0){if((k[i>>2]|0)==3){it(k[h>>2]|0,k[B>>2]|0);F=Cr(k[(k[h>>2]|0)+8>>2]|0,0,0)|0;k[A>>2]=F}Qr(k[h>>2]|0,4,4)}}while(0);jt(k[z>>2]|0);k[g>>2]=k[A>>2];F=k[g>>2]|0;r=G;return F|0}function ft(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[k[(k[b>>2]|0)+32>>2]>>2]|0)+96|0}function gt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+60|0;d=v+56|0;e=v+52|0;t=v+48|0;s=v+44|0;m=v+40|0;p=v+36|0;l=v+32|0;i=v+28|0;u=v+24|0;f=v+20|0;n=v+16|0;h=v+12|0;o=v+8|0;q=v+4|0;g=v;k[d>>2]=a;k[e>>2]=b;k[u>>2]=0;k[m>>2]=k[(k[d>>2]|0)+52+16>>2];b=(zs(k[m>>2]|0)|0)+1|0;k[s>>2]=b;k[p>>2]=28+(((k[s>>2]|0)-1|0)*20|0)+(k[m>>2]<<1);b=k[p>>2]|0;b=Td(b,((b|0)<0)<<31>>31)|0;k[t>>2]=b;if(!(k[t>>2]|0)){k[c>>2]=7;u=k[c>>2]|0;r=v;return u|0}DR(k[t>>2]|0,0,k[p>>2]|0)|0;k[(k[t>>2]|0)+4>>2]=k[s>>2];b=Td(((k[m>>2]|0)>>>0>4096?4096:k[m>>2]|0)<<1,0)|0;k[i>>2]=b;if(!(k[i>>2]|0))k[u>>2]=7;k[l>>2]=0;while(1){if(k[u>>2]|0)break;if((k[l>>2]|0)>=(k[s>>2]|0))break;b=As(k[d>>2]|0,k[l>>2]|0,f,h,n)|0;k[u>>2]=b;if(!(k[u>>2]|0)){k[h>>2]=(k[h>>2]|0)+4;if(((k[l>>2]|0)+1|0)==(k[s>>2]|0))k[q>>2]=(k[m>>2]|0)-(k[n>>2]|0);else k[q>>2]=((k[f>>2]|0)-(k[h>>2]|0)|0)/4|0;k[g>>2]=(k[t>>2]|0)+8+((k[(k[t>>2]|0)+4>>2]|0)*20|0)+(k[n>>2]<<1);k[n>>2]=(k[n>>2]|0)+1;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break;j[(k[g>>2]|0)+(k[o>>2]<<1)>>1]=k[o>>2];k[o>>2]=(k[o>>2]|0)+1}pt(k[h>>2]|0,k[i>>2]|0,k[g>>2]|0,q);k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+16>>2]=k[n>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+12>>2]=k[q>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+4>>2]=k[g>>2];k[(k[t>>2]|0)+8+((k[l>>2]|0)*20|0)+8>>2]=k[h>>2]}k[l>>2]=(k[l>>2]|0)+1}Ud(k[i>>2]|0);if(k[u>>2]|0)jt(k[t>>2]|0);k[k[e>>2]>>2]=k[t>>2];k[c>>2]=k[u>>2];u=k[c>>2]|0;r=v;return u|0}function ht(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;j=o+12|0;g=o+8|0;l=o+4|0;i=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=-1;k[h>>2]=k[k[d>>2]>>2];k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)-1;while(1){if((k[g>>2]|0)<0)break;k[l>>2]=(k[d>>2]|0)+8+((k[g>>2]|0)*20|0);while(1){if((k[k[l>>2]>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0))break;k[i>>2]=k[(k[(k[l>>2]|0)+8>>2]|0)+((m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)<<2)>>2];if((k[i>>2]|0)>>>0>(k[h>>2]|0)>>>0){n=6;break}b=k[l>>2]|0;k[b>>2]=(k[b>>2]|0)+1}if((n|0)==6?(n=0,(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0):0){k[j>>2]=k[i>>2];k[k[f>>2]>>2]=(k[(k[l>>2]|0)+16>>2]|0)+(m[(k[(k[l>>2]|0)+4>>2]|0)+(k[k[l>>2]>>2]<<1)>>1]|0)}k[g>>2]=(k[g>>2]|0)+-1}n=k[j>>2]|0;k[k[d>>2]>>2]=n;k[k[e>>2]>>2]=n;r=o;return (k[j>>2]|0)==-1|0}function it(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e+16|0;g=e+12|0;d=e+8|0;c=e+4|0;h=e;k[f>>2]=a;k[g>>2]=b;b=ft(k[f>>2]|0)|0;k[d>>2]=b;k[h>>2]=(k[f>>2]|0)+52+32;b=(k[f>>2]|0)+112|0;k[b>>2]=(k[b>>2]|0)+1;k[(k[f>>2]|0)+52+16>>2]=0;b=k[h>>2]|0;kt(b,1+(or(k[h>>2]|0)|0)|0);k[(k[f>>2]|0)+52+32+4>>2]=k[g>>2];lt(k[f>>2]|0);k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+32>>2]=0;k[(k[d>>2]|0)+4+4>>2]=0;k[c>>2]=2;while(1){if((k[c>>2]|0)>=5)break;k[(k[d>>2]|0)+4+(k[c>>2]<<2)>>2]=-1;k[c>>2]=(k[c>>2]|0)+1}r=e;return}function jt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function kt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[k[d>>2]>>0]=(k[e>>2]|0)>>>24;i[(k[d>>2]|0)+1>>0]=(k[e>>2]|0)>>>16;i[(k[d>>2]|0)+2>>0]=(k[e>>2]|0)>>>8;i[(k[d>>2]|0)+3>>0]=k[e>>2];r=c;return}function lt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;k[d>>2]=a;a=Is(k[d>>2]|0)|0;k[e>>2]=a;k[f>>2]=40;i[(k[d>>2]|0)+52+12>>0]=1;k[(k[d>>2]|0)+52>>2]=3007e3;mt(1,(k[d>>2]|0)+52|0,40,0,(k[d>>2]|0)+52+40|0);a=(k[e>>2]|0)+48|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));nt(k[d>>2]|0);a=k[e>>2]|0;b=(k[d>>2]|0)+52|0;c=a+48|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));r=f;return}function mt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;f=n+32|0;p=n+28|0;o=n+24|0;g=n+20|0;h=n+16|0;l=n+12|0;m=n+8|0;i=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[p>>2];k[j>>2]=(k[p>>2]|0)+(k[o>>2]|0);if(k[g>>2]|0){k[l>>2]=k[k[g>>2]>>2];k[m>>2]=k[(k[g>>2]|0)+4>>2]}else{k[m>>2]=0;k[l>>2]=0}if(k[f>>2]|0){do{p=k[i>>2]|0;k[i>>2]=p+4;k[l>>2]=(k[l>>2]|0)+((k[p>>2]|0)+(k[m>>2]|0));p=k[i>>2]|0;k[i>>2]=p+4;k[m>>2]=(k[m>>2]|0)+((k[p>>2]|0)+(k[l>>2]|0))}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}else{do{k[l>>2]=(k[l>>2]|0)+(((k[k[i>>2]>>2]&255)<<24)+((k[k[i>>2]>>2]&65280)<<8)+((k[k[i>>2]>>2]&16711680)>>>8)+((k[k[i>>2]>>2]&-16777216)>>>24)+(k[m>>2]|0));k[m>>2]=(k[m>>2]|0)+(((k[(k[i>>2]|0)+4>>2]&255)<<24)+((k[(k[i>>2]|0)+4>>2]&65280)<<8)+((k[(k[i>>2]|0)+4>>2]&16711680)>>>8)+((k[(k[i>>2]|0)+4>>2]&-16777216)>>>24)+(k[l>>2]|0));k[i>>2]=(k[i>>2]|0)+8}while((k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0);p=k[l>>2]|0;o=k[h>>2]|0;k[o>>2]=p;o=k[m>>2]|0;p=k[h>>2]|0;p=p+4|0;k[p>>2]=o;r=n;return}}function nt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((l[(k[b>>2]|0)+43>>0]|0|0)==2){r=c;return}ot(k[(k[b>>2]|0)+4>>2]|0);r=c;return}function ot(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[(k[k[c>>2]>>2]|0)+60>>2]&255](k[c>>2]|0);r=b;return}function pt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+160|0;e=s+144|0;f=s+140|0;g=s+136|0;h=s+132|0;n=s+128|0;o=s+124|0;i=s+120|0;l=s+116|0;m=s+112|0;j=s+8|0;p=s+4|0;q=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=k[k[h>>2]>>2];k[o>>2]=0;k[i>>2]=0;k[m>>2]=0;b=j;a=b+104|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[n>>2]|0))break;k[o>>2]=1;k[i>>2]=(k[g>>2]|0)+(k[l>>2]<<1);k[m>>2]=0;while(1){if(!(k[l>>2]&1<>2]))break;k[p>>2]=j+(k[m>>2]<<3);qt(k[e>>2]|0,k[(k[p>>2]|0)+4>>2]|0,k[k[p>>2]>>2]|0,i,o,k[f>>2]|0);k[m>>2]=(k[m>>2]|0)+1}k[j+(k[m>>2]<<3)+4>>2]=k[i>>2];k[j+(k[m>>2]<<3)>>2]=k[o>>2];k[l>>2]=(k[l>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1;while(1){if((k[m>>2]|0)>>>0>=13)break;if(k[n>>2]&1<>2]){k[q>>2]=j+(k[m>>2]<<3);qt(k[e>>2]|0,k[(k[q>>2]|0)+4>>2]|0,k[k[q>>2]>>2]|0,i,o,k[f>>2]|0)}k[m>>2]=(k[m>>2]|0)+1}k[k[h>>2]>>2]=k[o>>2];r=s;return}function qt(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,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;g=y+44|0;h=y+40|0;i=y+36|0;l=y+32|0;n=y+28|0;o=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;p=y+4|0;v=y+48|0;q=y;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[l>>2]=d;k[n>>2]=e;k[o>>2]=f;k[s>>2]=0;k[u>>2]=0;k[t>>2]=0;k[w>>2]=k[k[n>>2]>>2];k[p>>2]=k[k[l>>2]>>2];while(1){if((k[u>>2]|0)>=(k[w>>2]|0)?(k[s>>2]|0)>=(k[i>>2]|0):0)break;do if((k[s>>2]|0)<(k[i>>2]|0)){if((k[u>>2]|0)<(k[w>>2]|0)?(k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(k[(k[g>>2]|0)+((m[(k[p>>2]|0)+(k[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}e=k[s>>2]|0;k[s>>2]=e+1;j[v>>1]=j[(k[h>>2]|0)+(e<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;e=k[u>>2]|0;k[u>>2]=e+1;j[v>>1]=j[(k[p>>2]|0)+(e<<1)>>1]|0}k[q>>2]=k[(k[g>>2]|0)+((m[v>>1]|0)<<2)>>2];d=j[v>>1]|0;e=k[t>>2]|0;k[t>>2]=e+1;j[(k[o>>2]|0)+(e<<1)>>1]=d;if((k[s>>2]|0)>=(k[i>>2]|0))continue;if((k[(k[g>>2]|0)+((m[(k[h>>2]|0)+(k[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(k[q>>2]|0))continue;k[s>>2]=(k[s>>2]|0)+1}k[k[l>>2]>>2]=k[h>>2];k[k[n>>2]>>2]=k[t>>2];BR(k[h>>2]|0,k[o>>2]|0,k[t>>2]<<1|0)|0;r=y;return}function rt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+128|0;d=o+120|0;e=o+116|0;f=o+112|0;g=o+104|0;j=o+56|0;n=o+8|0;h=o;k[e>>2]=a;k[f>>2]=b;b=Is(k[e>>2]|0)|0;k[h>>2]=b;b=j;a=k[h>>2]|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));nt(k[e>>2]|0);b=n;a=(k[h>>2]|0)+48|0;c=b+48|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0));if(OQ(j,n,48)|0){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}if(!(l[j+12>>0]|0)){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}mt(1,j,40,0,g);if((k[g>>2]|0)==(k[j+40>>2]|0)?(k[g+4>>2]|0)==(k[j+40+4>>2]|0):0){if(OQ((k[e>>2]|0)+52|0,j,48)|0){k[k[f>>2]>>2]=1;b=(k[e>>2]|0)+52|0;a=j;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));k[(k[e>>2]|0)+36>>2]=((m[(k[e>>2]|0)+52+14>>1]|0)&65024)+(((m[(k[e>>2]|0)+52+14>>1]|0)&1)<<16)}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}function st(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+144|0;B=D+16|0;c=D+96|0;d=D+92|0;y=D+88|0;u=D+8|0;h=D+80|0;o=D+76|0;t=D+72|0;e=D+104|0;g=D+68|0;z=D+64|0;f=D+60|0;n=D+56|0;p=D;A=D+52|0;s=D+48|0;C=D+44|0;q=D+40|0;x=D+36|0;v=D+32|0;w=D+28|0;m=D+24|0;k[d>>2]=a;k[h>>2]=0;k[h+4>>2]=0;k[o>>2]=1+(l[(k[d>>2]|0)+45>>0]|0);k[t>>2]=8-(k[o>>2]|0);b=at(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0)|0;k[y>>2]=b;if(k[y>>2]|0){k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}a=(k[d>>2]|0)+52|0;b=a+48|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));b=dj(k[(k[d>>2]|0)+8>>2]|0,u)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){b=u;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>32){k[g>>2]=0;b=js(k[(k[d>>2]|0)+8>>2]|0,e,32,0,0)|0;k[y>>2]=b;if(k[y>>2]|0)break a;b=or(e)|0;k[s>>2]=b;b=or(e+8|0)|0;k[A>>2]=b;if((((k[s>>2]&-2|0)==931071618?!(((k[A>>2]|0)>65536?1:(k[A>>2]&(k[A>>2]|0)-1|0)!=0)|(k[A>>2]|0)<512):0)?(i[(k[d>>2]|0)+52+13>>0]=k[s>>2]&1,k[(k[d>>2]|0)+36>>2]=k[A>>2],s=or(e+12|0)|0,k[(k[d>>2]|0)+112>>2]=s,s=(k[d>>2]|0)+52+32|0,b=e+16|0,i[s>>0]=i[b>>0]|0,i[s+1>>0]=i[b+1>>0]|0,i[s+2>>0]=i[b+2>>0]|0,i[s+3>>0]=i[b+3>>0]|0,i[s+4>>0]=i[b+4>>0]|0,i[s+5>>0]=i[b+5>>0]|0,i[s+6>>0]=i[b+6>>0]|0,i[s+7>>0]=i[b+7>>0]|0,mt((l[(k[d>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1,e,24,0,(k[d>>2]|0)+52+24|0),s=k[(k[d>>2]|0)+52+24>>2]|0,(s|0)==(or(e+24|0)|0)):0)?(s=k[(k[d>>2]|0)+52+24+4>>2]|0,(s|0)==(or(e+28|0)|0)):0){s=or(e+4|0)|0;k[C>>2]=s;if((k[C>>2]|0)!=3007e3){C=tt(52530)|0;k[y>>2]=C;break}k[z>>2]=(k[A>>2]|0)+24;C=k[z>>2]|0;C=Td(C,((C|0)<0)<<31>>31)|0;k[g>>2]=C;if(!(k[g>>2]|0)){k[y>>2]=7;break a}k[f>>2]=(k[g>>2]|0)+24;k[n>>2]=0;C=p;k[C>>2]=32;k[C+4>>2]=0;while(1){b=p;s=k[z>>2]|0;s=zR(k[b>>2]|0,k[b+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;b=L;C=u;e=k[C+4>>2]|0;if(!((b|0)<(e|0)|((b|0)==(e|0)?s>>>0<=(k[C>>2]|0)>>>0:0)))break;k[n>>2]=(k[n>>2]|0)+1;C=p;C=js(k[(k[d>>2]|0)+8>>2]|0,k[g>>2]|0,k[z>>2]|0,k[C>>2]|0,k[C+4>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;C=ut(k[d>>2]|0,x,v,k[f>>2]|0,k[g>>2]|0)|0;k[q>>2]=C;if(!(k[q>>2]|0))break;C=vt(k[d>>2]|0,k[n>>2]|0,k[x>>2]|0)|0;k[y>>2]=C;if(k[y>>2]|0)break;if(k[v>>2]|0){k[(k[d>>2]|0)+52+16>>2]=k[n>>2];k[(k[d>>2]|0)+52+20>>2]=k[v>>2];j[(k[d>>2]|0)+52+14>>1]=k[A>>2]&65280|k[A>>2]>>16;k[h>>2]=k[(k[d>>2]|0)+52+24>>2];k[h+4>>2]=k[(k[d>>2]|0)+52+24+4>>2]}s=k[z>>2]|0;C=p;s=zR(k[C>>2]|0,k[C+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;C=p;k[C>>2]=s;k[C+4>>2]=L}Ud(k[g>>2]|0)}}while(0);if(!(k[y>>2]|0)){k[(k[d>>2]|0)+52+24>>2]=k[h>>2];k[(k[d>>2]|0)+52+24+4>>2]=k[h+4>>2];lt(k[d>>2]|0);C=ft(k[d>>2]|0)|0;k[w>>2]=C;k[k[w>>2]>>2]=0;k[(k[w>>2]|0)+32>>2]=k[(k[d>>2]|0)+52+16>>2];k[(k[w>>2]|0)+4>>2]=0;k[m>>2]=1;while(1){if((k[m>>2]|0)>=5)break;k[(k[w>>2]|0)+4+(k[m>>2]<<2)>>2]=-1;k[m>>2]=(k[m>>2]|0)+1}if(k[(k[d>>2]|0)+52+16>>2]|0)k[(k[w>>2]|0)+4+4>>2]=k[(k[d>>2]|0)+52+16>>2];if(k[(k[d>>2]|0)+52+20>>2]|0){C=k[(k[d>>2]|0)+108>>2]|0;k[B>>2]=k[(k[d>>2]|0)+52+16>>2];k[B+4>>2]=C;$d(283,26560,B)}}}while(0);Qr(k[d>>2]|0,k[o>>2]|0,k[t>>2]|0);k[c>>2]=k[y>>2];C=k[c>>2]|0;r=D;return C|0}function tt(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Zj(14,k[c>>2]|0,26543)|0;r=b;return a|0}function ut(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+32|0;g=s+28|0;h=s+24|0;j=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=(k[g>>2]|0)+52+24;if(OQ((k[g>>2]|0)+52+32|0,(k[n>>2]|0)+8|0,8)|0){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}c=or(k[n>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}k[p>>2]=(l[(k[g>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1;mt(k[p>>2]|0,k[n>>2]|0,8,k[o>>2]|0,k[o>>2]|0);mt(k[p>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[o>>2]|0,k[o>>2]|0);c=k[k[o>>2]>>2]|0;if((c|0)==(or((k[n>>2]|0)+16|0)|0)?(c=k[(k[o>>2]|0)+4>>2]|0,(c|0)==(or((k[n>>2]|0)+20|0)|0)):0){k[k[h>>2]>>2]=k[q>>2];c=or((k[n>>2]|0)+4|0)|0;k[k[j>>2]>>2]=c;k[f>>2]=1;c=k[f>>2]|0;r=s;return c|0}k[f>>2]=0;c=k[f>>2]|0;r=s;return c|0}function vt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+44|0;e=t+40|0;f=t+36|0;g=t+32|0;q=t+28|0;m=t+24|0;i=t+20|0;h=t+16|0;l=t+12|0;n=t+8|0;p=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[i>>2]=0;k[h>>2]=0;a=k[e>>2]|0;a=As(a,zs(k[f>>2]|0)|0,h,i,m)|0;k[q>>2]=a;do if(!(k[q>>2]|0)){k[n>>2]=(k[f>>2]|0)-(k[m>>2]|0);if((k[n>>2]|0)==1){k[o>>2]=(k[h>>2]|0)+16384-((k[i>>2]|0)+4);DR((k[i>>2]|0)+4|0,0,k[o>>2]|0)|0}if(k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]|0)ys(k[e>>2]|0);k[p>>2]=k[n>>2];a=Ts(k[g>>2]|0)|0;k[l>>2]=a;while(1){if(!(j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]|0)){s=11;break}a=k[p>>2]|0;k[p>>2]=a+-1;if(!a)break;a=Us(k[l>>2]|0)|0;k[l>>2]=a}if((s|0)==11){k[(k[i>>2]|0)+(k[n>>2]<<2)>>2]=k[g>>2];j[(k[h>>2]|0)+(k[l>>2]<<1)>>1]=k[n>>2];break}s=Yj(52399)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);k[d>>2]=k[q>>2];s=k[d>>2]|0;r=t;return s|0}function wt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[b>>2]=a;if(((k[b>>2]|0)!=0?(k[k[b>>2]>>2]|0)!=0:0)?(k[(k[b>>2]|0)+8>>2]|0)>=0:0){a=gc[k[k[b>>2]>>2]&255](k[(k[b>>2]|0)+4>>2]|0,k[(k[b>>2]|0)+8>>2]|0)|0;k[d>>2]=a;b=(k[b>>2]|0)+8|0;if(!(k[d>>2]|0))k[b>>2]=-1;else k[b>>2]=(k[b>>2]|0)+1;k[c>>2]=k[d>>2];d=k[c>>2]|0;r=e;return d|0}k[c>>2]=0;d=k[c>>2]|0;r=e;return d|0}function xt(){return 48}function yt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[(k[b>>2]|0)+4>>2]|0)<=72){a=72;r=c;return a|0}a=k[(k[b>>2]|0)+4>>2]|0;r=c;return a|0}function zt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[e>>2]=k[h>>2];k[f>>2]=0;if(k[(k[e>>2]|0)+44>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}do if(l[(k[e>>2]|0)+21>>0]|0){if(((l[(k[e>>2]|0)+21>>0]|0)&3|0)==0?((m[(k[d>>2]|0)+24>>1]|0)&8|0)==0:0)break;k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}while(0);k[(k[d>>2]|0)+12>>2]=0;h=(Hr(k[e>>2]|0)|0)!=0;a=k[d>>2]|0;if(h){h=Bt(a)|0;k[f>>2]=h;if(!(k[f>>2]|0)){h=Ct(k[e>>2]|0,k[d>>2]|0,0,0)|0;k[f>>2]=h}}else{if(!(((m[a+24>>1]|0)&8|0)==0?(l[(k[e>>2]|0)+17>>0]|0|0)!=3:0)){h=Dt(k[e>>2]|0,1)|0;k[f>>2]=h}if(!(k[f>>2]|0)){h=Et(k[e>>2]|0,k[d>>2]|0)|0;k[f>>2]=h}}if(!(k[f>>2]|0))oj(k[d>>2]|0);h=ur(k[e>>2]|0,k[f>>2]|0)|0;k[c>>2]=h;h=k[c>>2]|0;r=g;return h|0}function At(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,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;c=k[n>>2]|0;f=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+28>>2]=k[h>>2];i[(k[n>>2]|0)+32>>0]=k[j>>2];i[(k[n>>2]|0)+33>>0]=2;k[(k[n>>2]|0)+36>>2]=k[l>>2];k[(k[n>>2]|0)+40>>2]=k[m>>2];k[(k[n>>2]|0)+16>>2]=100;k[(k[n>>2]|0)+20>>2]=1;n=gj(k[n>>2]|0,k[g>>2]|0)|0;r=o;return n|0}function Bt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Tt(k[c>>2]|0)|0){a=Ut(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function Ct(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;n=o+12|0;i=o+8|0;j=o+4|0;m=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:do if(k[h>>2]|0){k[m>>2]=f;k[i>>2]=0;k[j>>2]=k[f>>2];while(1){a=k[j>>2]|0;k[k[m>>2]>>2]=a;if(!a)break a;if((k[(k[j>>2]|0)+20>>2]|0)>>>0<=(k[g>>2]|0)>>>0){k[m>>2]=(k[j>>2]|0)+12;k[i>>2]=(k[i>>2]|0)+1}k[j>>2]=k[(k[j>>2]|0)+12>>2]}}else k[i>>2]=1;while(0);m=(k[e>>2]|0)+192+8|0;k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0);if((k[(k[f>>2]|0)+20>>2]|0)==1)Gt(k[f>>2]|0);m=Mt(k[(k[e>>2]|0)+216>>2]|0,k[(k[e>>2]|0)+160>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,l[(k[e>>2]|0)+11>>0]|0)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if(!(k[(k[e>>2]|0)+96>>2]|0)){n=k[n>>2]|0;r=o;return n|0}k[j>>2]=k[f>>2];while(1){if(!(k[j>>2]|0))break;ns(k[(k[e>>2]|0)+96>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+4>>2]|0);k[j>>2]=k[(k[j>>2]|0)+12>>2]}n=k[n>>2]|0;r=o;return n|0}function Dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n+24|0;d=n+20|0;e=n+16|0;j=n+12|0;g=n+8|0;h=n;f=n+40|0;m=n+28|0;k[d>>2]=a;k[e>>2]=b;a=Ht(k[d>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if((k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0){a=gs(k[(k[d>>2]|0)+64>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]&512)){i[m>>0]=i[26509]|0;i[m+1>>0]=i[26510]|0;i[m+2>>0]=i[26511]|0;i[m+3>>0]=i[26512]|0;i[m+4>>0]=i[26513]|0;i[m+5>>0]=i[26514]|0;i[m+6>>0]=i[26515]|0;i[m+7>>0]=i[26516]|0;kt(m+8|0,k[(k[d>>2]|0)+48>>2]|0);b=us(k[d>>2]|0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L;a=h;a=js(k[(k[d>>2]|0)+68>>2]|0,f,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a;if((k[j>>2]|0)==0?0==(OQ(f,26509,8)|0):0){a=h;a=Rg(k[(k[d>>2]|0)+68>>2]|0,26630,1,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=a}if((k[j>>2]|0)!=0&(k[j>>2]|0)!=522){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}if(((l[(k[d>>2]|0)+8>>0]|0)!=0?0==(k[g>>2]&1024|0):0)?(a=Dr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|0)|0,k[j>>2]=a,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+88|0;m=Rg(k[(k[d>>2]|0)+68>>2]|0,m,12,k[a>>2]|0,k[a+4>>2]|0)|0;k[j>>2]=m;if(k[j>>2]|0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}}if(0==(k[g>>2]&1024|0)?(m=Dr(k[(k[d>>2]|0)+68>>2]|0,l[(k[d>>2]|0)+12>>0]|((l[(k[d>>2]|0)+12>>0]|0)==3?16:0))|0,k[j>>2]=m,(k[j>>2]|0)!=0):0){k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}b=(k[d>>2]|0)+80|0;a=k[b+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[b>>2];k[m+4>>2]=a;if(!(k[e>>2]|0))break;if(k[g>>2]&512)break;k[(k[d>>2]|0)+48>>2]=0;m=It(k[d>>2]|0)|0;k[j>>2]=m;if(!(k[j>>2]|0))break;k[c>>2]=k[j>>2];m=k[c>>2]|0;r=n;return m|0}a=(k[d>>2]|0)+80|0;j=k[a+4>>2]|0;m=(k[d>>2]|0)+88|0;k[m>>2]=k[a>>2];k[m+4>>2]=j}while(0);Jt(k[(k[d>>2]|0)+212>>2]|0);i[(k[d>>2]|0)+17>>0]=4;k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function Et(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+48|0;d=l+32|0;e=l+28|0;j=l+24|0;c=l+8|0;h=l+20|0;f=l;g=l+16|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;if(!(k[k[(k[d>>2]|0)+64>>2]>>2]|0)){a=Ft(k[d>>2]|0,k[(k[d>>2]|0)+64>>2]|0,k[(k[d>>2]|0)+152>>2]|0)|0;k[j>>2]=a}do if((k[j>>2]|0)==0?(k[(k[d>>2]|0)+40>>2]|0)>>>0<(k[(k[d>>2]|0)+28>>2]|0)>>>0:0){if((k[(k[e>>2]|0)+12>>2]|0)==0?(k[(k[e>>2]|0)+20>>2]|0)>>>0<=(k[(k[d>>2]|0)+40>>2]|0)>>>0:0)break;b=k[(k[d>>2]|0)+160>>2]|0;b=KR(b|0,((b|0)<0)<<31>>31|0,k[(k[d>>2]|0)+28>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;Ys(k[(k[d>>2]|0)+64>>2]|0,5,c);k[(k[d>>2]|0)+40>>2]=k[(k[d>>2]|0)+28>>2]}while(0);while(1){if(!((k[j>>2]|0)==0?(k[e>>2]|0)!=0:0))break;k[h>>2]=k[(k[e>>2]|0)+20>>2];if((k[h>>2]|0)>>>0<=(k[(k[d>>2]|0)+28>>2]|0)>>>0?0==((m[(k[e>>2]|0)+24>>1]|0)&32|0):0){a=k[(k[d>>2]|0)+160>>2]|0;a=KR((k[h>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=f;k[c>>2]=a;k[c+4>>2]=L;if((k[(k[e>>2]|0)+20>>2]|0)==1)Gt(k[e>>2]|0);k[g>>2]=k[(k[e>>2]|0)+4>>2];c=f;c=Rg(k[(k[d>>2]|0)+64>>2]|0,k[g>>2]|0,k[(k[d>>2]|0)+160>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;k[j>>2]=c;if((k[h>>2]|0)==1){b=(k[d>>2]|0)+112|0;a=(k[g>>2]|0)+24|0;c=b+16|0;do{i[b>>0]=i[a>>0]|0;b=b+1|0;a=a+1|0}while((b|0)<(c|0))}if((k[h>>2]|0)>>>0>(k[(k[d>>2]|0)+36>>2]|0)>>>0)k[(k[d>>2]|0)+36>>2]=k[h>>2];c=(k[d>>2]|0)+192+8|0;k[c>>2]=(k[c>>2]|0)+1;ns(k[(k[d>>2]|0)+96>>2]|0,k[h>>2]|0,k[(k[e>>2]|0)+4>>2]|0)}k[e>>2]=k[(k[e>>2]|0)+12>>2]}r=l;return k[j>>2]|0}function Ft(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;k[f>>2]=k[f>>2]|30;c=Zr(k[k[h>>2]>>2]|0,0,k[g>>2]|0,k[f>>2]|0,0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function Gt(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;a=(or((k[(k[c>>2]|0)+16>>2]|0)+112|0)|0)+1|0;k[d>>2]=a;kt((k[(k[c>>2]|0)+4>>2]|0)+24|0,k[d>>2]|0);kt((k[(k[c>>2]|0)+4>>2]|0)+92|0,k[d>>2]|0);kt((k[(k[c>>2]|0)+4>>2]|0)+96|0,3012e3);r=b;return}function Ht(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+44>>2];if((k[c>>2]|0)==0?0==(Hr(k[b>>2]|0)|0):0){a=Kt(k[b>>2]|0,4)|0;k[c>>2]=a}r=d;return k[c>>2]|0}function It(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;h=r;r=r+32|0;c=h+20|0;g=h+16|0;f=h+12|0;d=h+8|0;e=h+4|0;b=h;k[c>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[c>>2]|0)+208>>2];k[d>>2]=k[(k[c>>2]|0)+160>>2];if((k[d>>2]|0)>>>0>(k[(k[c>>2]|0)+156>>2]|0)>>>0)k[d>>2]=k[(k[c>>2]|0)+156>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){m=(k[c>>2]|0)+80|0;j=k[m+4>>2]|0;a=(k[(k[c>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0)+8|0;k[a>>2]=k[m>>2];k[a+4>>2]=j}k[b>>2]=(k[b>>2]|0)+1}a=us(k[c>>2]|0)|0;j=L;m=(k[c>>2]|0)+80|0;k[m>>2]=a;k[m+4>>2]=j;m=(k[c>>2]|0)+88|0;k[m>>2]=a;k[m+4>>2]=j;if(((l[(k[c>>2]|0)+7>>0]|0|0)==0?(l[(k[c>>2]|0)+5>>0]|0|0)!=4:0)?((gs(k[(k[c>>2]|0)+64>>2]|0)|0)&512|0)==0:0){b=k[f>>2]|0;a=b+12|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(a|0))}else{m=k[f>>2]|0;i[m>>0]=i[26509]|0;i[m+1>>0]=i[26510]|0;i[m+2>>0]=i[26511]|0;i[m+3>>0]=i[26512]|0;i[m+4>>0]=i[26513]|0;i[m+5>>0]=i[26514]|0;i[m+6>>0]=i[26515]|0;i[m+7>>0]=i[26516]|0;kt((k[f>>2]|0)+8|0,-1)}ae(4,(k[c>>2]|0)+52|0);kt((k[f>>2]|0)+12|0,k[(k[c>>2]|0)+52>>2]|0);kt((k[f>>2]|0)+16|0,k[(k[c>>2]|0)+32>>2]|0);kt((k[f>>2]|0)+20|0,k[(k[c>>2]|0)+156>>2]|0);kt((k[f>>2]|0)+24|0,k[(k[c>>2]|0)+160>>2]|0);DR((k[f>>2]|0)+28|0,0,(k[d>>2]|0)-28|0)|0;k[e>>2]=0;while(1){if(k[g>>2]|0){b=17;break}if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+156>>2]|0)>>>0){b=17;break}m=(k[c>>2]|0)+80|0;m=Rg(k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,k[d>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;k[g>>2]=m;m=(k[c>>2]|0)+80|0;j=m;j=zR(k[j>>2]|0,k[j+4>>2]|0,k[d>>2]|0,0)|0;k[m>>2]=j;k[m+4>>2]=L;k[e>>2]=(k[e>>2]|0)+(k[d>>2]|0)}if((b|0)==17){r=h;return k[g>>2]|0}return 0}function Jt(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-9;k[c>>2]=k[(k[c>>2]|0)+32>>2]}k[(k[b>>2]|0)+8>>2]=k[(k[b>>2]|0)+4>>2];r=d;return}function Kt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){a=Lt(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)!=5){c=4;break}if(!(bc[k[(k[c>>2]|0)+184>>2]&255](k[(k[c>>2]|0)+188>>2]|0)|0)){c=4;break}}if((c|0)==4){r=f;return k[e>>2]|0}return 0}function Lt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((l[(k[c>>2]|0)+18>>0]|0|0)>=(k[d>>2]|0)?(l[(k[c>>2]|0)+18>>0]|0|0)!=5:0){e=k[e>>2]|0;r=f;return e|0}if(l[(k[c>>2]|0)+14>>0]|0)b=0;else b=Ws(k[(k[c>>2]|0)+64>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}if(!((k[d>>2]|0)==4?1:(l[(k[c>>2]|0)+18>>0]|0|0)!=5)){e=k[e>>2]|0;r=f;return e|0}i[(k[c>>2]|0)+18>>0]=k[d>>2];e=k[e>>2]|0;r=f;return e|0}function Mt(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0;M=r;r=r+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;G=M+100|0;B=M+96|0;E=M+92|0;F=M+88|0;D=M+84|0;J=M+80|0;C=M+40|0;K=M+16|0;o=M+76|0;n=M+72|0;h=M+136|0;g=M+64|0;s=M+60|0;q=M+56|0;p=M+8|0;t=M+52|0;H=M+48|0;I=M;k[v>>2]=a;k[w>>2]=b;k[x>>2]=c;k[y>>2]=d;k[z>>2]=e;k[A>>2]=f;k[F>>2]=0;k[D>>2]=0;k[o>>2]=0;b=Is(k[v>>2]|0)|0;k[n>>2]=b;if(OQ((k[v>>2]|0)+52|0,k[n>>2]|0,48)|0)k[o>>2]=(k[(k[n>>2]|0)+16>>2]|0)+1;b=Nt(k[v>>2]|0)|0;k[G>>2]=b;if(b){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}k[B>>2]=k[(k[v>>2]|0)+52+16>>2];if(!(k[B>>2]|0)){kt(h,931071618|(i[960]|0)==0);kt(h+4|0,3007e3);kt(h+8|0,k[w>>2]|0);kt(h+12|0,k[(k[v>>2]|0)+112>>2]|0);if(!(k[(k[v>>2]|0)+112>>2]|0))ae(8,(k[v>>2]|0)+52+32|0);b=h+16|0;f=(k[v>>2]|0)+52+32|0;i[b>>0]=i[f>>0]|0;i[b+1>>0]=i[f+1>>0]|0;i[b+2>>0]=i[f+2>>0]|0;i[b+3>>0]=i[f+3>>0]|0;i[b+4>>0]=i[f+4>>0]|0;i[b+5>>0]=i[f+5>>0]|0;i[b+6>>0]=i[f+6>>0]|0;i[b+7>>0]=i[f+7>>0]|0;mt(1,h,24,0,g);kt(h+24|0,k[g>>2]|0);kt(h+28|0,k[g+4>>2]|0);k[(k[v>>2]|0)+36>>2]=k[w>>2];i[(k[v>>2]|0)+52+13>>0]=(i[960]|0)==0;k[(k[v>>2]|0)+52+24>>2]=k[g>>2];k[(k[v>>2]|0)+52+24+4>>2]=k[g+4>>2];i[(k[v>>2]|0)+47>>0]=1;b=Rg(k[(k[v>>2]|0)+8>>2]|0,h,32,0,0)|0;k[G>>2]=b;if(k[G>>2]|0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}if(((k[A>>2]|0)!=0?(l[(k[v>>2]|0)+48>>0]|0)!=0:0)?(b=Dr(k[(k[v>>2]|0)+8>>2]|0,k[A>>2]&19)|0,k[G>>2]=b,(k[G>>2]|0)!=0):0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}}k[K>>2]=k[v>>2];k[K+4>>2]=k[(k[v>>2]|0)+8>>2];f=K+8|0;k[f>>2]=0;k[f+4>>2]=0;k[K+16>>2]=k[A>>2];k[K+20>>2]=k[w>>2];f=(k[w>>2]|0)+24|0;f=KR((k[B>>2]|0)+1-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=zR(32,0,f|0,L|0)|0;b=C;k[b>>2]=f;k[b+4>>2]=L;k[J>>2]=(k[w>>2]|0)+24;k[E>>2]=k[x>>2];while(1){if(!(k[E>>2]|0)){g=30;break}if(((k[o>>2]|0)!=0?((k[z>>2]|0)==0?1:(k[(k[E>>2]|0)+12>>2]|0)!=0):0)?(k[q>>2]=0,Ms(k[v>>2]|0,k[(k[E>>2]|0)+20>>2]|0,q)|0,(k[q>>2]|0)>>>0>=(k[o>>2]|0)>>>0):0){f=(k[w>>2]|0)+24|0;f=KR((k[q>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=zR(32,0,f|0,L|0)|0;f=zR(f|0,L|0,24,0)|0;b=p;k[b>>2]=f;k[b+4>>2]=L;if(!((k[(k[v>>2]|0)+104>>2]|0)!=0?(k[q>>2]|0)>>>0>=(k[(k[v>>2]|0)+104>>2]|0)>>>0:0))k[(k[v>>2]|0)+104>>2]=k[q>>2];k[t>>2]=k[(k[E>>2]|0)+4>>2];b=p;b=Rg(k[(k[v>>2]|0)+8>>2]|0,k[t>>2]|0,k[w>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[G>>2]=b;if(k[G>>2]|0){g=22;break}b=(k[E>>2]|0)+24|0;j[b>>1]=m[b>>1]&-129}else{k[B>>2]=(k[B>>2]|0)+1;if(k[z>>2]|0)g=(k[(k[E>>2]|0)+12>>2]|0)==0?k[y>>2]|0:0;else g=0;k[s>>2]=g;b=C;b=Ot(K,k[E>>2]|0,k[s>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[G>>2]=b;if(k[G>>2]|0){g=27;break}k[F>>2]=k[E>>2];f=k[J>>2]|0;b=C;f=zR(k[b>>2]|0,k[b+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;b=C;k[b>>2]=f;k[b+4>>2]=L;b=(k[E>>2]|0)+24|0;j[b>>1]=m[b>>1]|128}k[E>>2]=k[(k[E>>2]|0)+12>>2]}if((g|0)==22){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}else if((g|0)==27){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}else if((g|0)==30){if(((k[z>>2]|0)!=0?(k[(k[v>>2]|0)+104>>2]|0)!=0:0)?(t=Pt(k[v>>2]|0,k[B>>2]|0)|0,k[G>>2]=t,(k[G>>2]|0)!=0):0){k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}a:do if((k[z>>2]|0)!=0?(k[A>>2]&32|0)!=0:0){if(!(i[(k[v>>2]|0)+49>>0]|0)){K=Dr(k[K+4>>2]|0,k[A>>2]&19)|0;k[G>>2]=K;break}t=hs(k[(k[v>>2]|0)+8>>2]|0)|0;k[H>>2]=t;t=C;A=k[H>>2]|0;A=zR(k[t>>2]|0,k[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=yR(A|0,L|0,1,0)|0;t=k[H>>2]|0;t=IR(A|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;A=k[H>>2]|0;A=KR(t|0,L|0,A|0,((A|0)<0)<<31>>31|0)|0;H=K+8|0;k[H>>2]=A;k[H+4>>2]=L;while(1){A=C;s=k[A+4>>2]|0;H=K+8|0;t=k[H+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(k[A>>2]|0)>>>0<(k[H>>2]|0)>>>0:0)))break a;H=C;H=Ot(K,k[F>>2]|0,k[y>>2]|0,k[H>>2]|0,k[H+4>>2]|0)|0;k[G>>2]=H;if(k[G>>2]|0)break;A=k[J>>2]|0;H=C;A=zR(k[H>>2]|0,k[H+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;H=C;k[H>>2]=A;k[H+4>>2]=L;k[D>>2]=(k[D>>2]|0)+1}k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}while(0);if(((k[z>>2]|0)!=0?(l[(k[v>>2]|0)+47>>0]|0)!=0:0)?(K=(k[v>>2]|0)+16|0,J=k[K+4>>2]|0,(J|0)>0|(J|0)==0&(k[K>>2]|0)>>>0>=0):0){K=(k[v>>2]|0)+16|0;C=k[K+4>>2]|0;J=I;k[J>>2]=k[K>>2];k[J+4>>2]=C;J=(k[w>>2]|0)+24|0;J=KR((k[B>>2]|0)+(k[D>>2]|0)+1-1|0,0,J|0,((J|0)<0)<<31>>31|0)|0;J=zR(32,0,J|0,L|0)|0;C=L;K=(k[v>>2]|0)+16|0;H=k[K+4>>2]|0;if((C|0)>(H|0)|((C|0)==(H|0)?J>>>0>(k[K>>2]|0)>>>0:0)){J=(k[w>>2]|0)+24|0;J=KR((k[B>>2]|0)+(k[D>>2]|0)+1-1|0,0,J|0,((J|0)<0)<<31>>31|0)|0;J=zR(32,0,J|0,L|0)|0;K=I;k[K>>2]=J;k[K+4>>2]=L}K=I;Zs(k[v>>2]|0,k[K>>2]|0,k[K+4>>2]|0);i[(k[v>>2]|0)+47>>0]=0}k[B>>2]=k[(k[v>>2]|0)+52+16>>2];k[E>>2]=k[x>>2];while(1){if(!((k[E>>2]|0)!=0?(k[G>>2]|0)==0:0))break;if(m[(k[E>>2]|0)+24>>1]&128){k[B>>2]=(k[B>>2]|0)+1;K=vt(k[v>>2]|0,k[B>>2]|0,k[(k[E>>2]|0)+20>>2]|0)|0;k[G>>2]=K}k[E>>2]=k[(k[E>>2]|0)+12>>2]}while(1){if(!((k[G>>2]|0)==0?(k[D>>2]|0)>0:0))break;k[B>>2]=(k[B>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+-1;K=vt(k[v>>2]|0,k[B>>2]|0,k[(k[F>>2]|0)+20>>2]|0)|0;k[G>>2]=K}if(!(k[G>>2]|0)){j[(k[v>>2]|0)+52+14>>1]=k[w>>2]&65280|k[w>>2]>>16;k[(k[v>>2]|0)+52+16>>2]=k[B>>2];if(k[z>>2]|0){K=(k[v>>2]|0)+52+8|0;k[K>>2]=(k[K>>2]|0)+1;k[(k[v>>2]|0)+52+20>>2]=k[y>>2]}if(k[z>>2]|0){lt(k[v>>2]|0);k[(k[v>>2]|0)+12>>2]=k[B>>2]}}k[u>>2]=k[G>>2];K=k[u>>2]|0;r=M;return K|0}return 0}function Nt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;g=i+16|0;d=i+12|0;f=i+8|0;h=i+4|0;e=i;k[c>>2]=a;k[g>>2]=0;if(!(j[(k[c>>2]|0)+40>>1]|0)){a=ft(k[c>>2]|0)|0;k[f>>2]=a;do if((k[k[f>>2]>>2]|0)>>>0>0){ae(4,h);a=at(k[c>>2]|0,4,4)|0;k[g>>2]=a;if(!(k[g>>2]|0)){it(k[c>>2]|0,k[h>>2]|0);Qr(k[c>>2]|0,4,4);break}if((k[g>>2]|0)!=5){k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}}while(0);Or(k[c>>2]|0,3);j[(k[c>>2]|0)+40>>1]=-1;k[d>>2]=0;do{a=k[c>>2]|0;h=(k[d>>2]|0)+1|0;k[d>>2]=h;h=St(a,e,1,h)|0;k[g>>2]=h}while((k[g>>2]|0)==-1)}k[b>>2]=k[g>>2];h=k[b>>2]|0;r=i;return h|0}function Ot(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;f=l+28|0;g=l+24|0;o=l+20|0;n=l+16|0;h=l;j=l+12|0;i=l+8|0;m=l+32|0;k[g>>2]=a;k[o>>2]=b;k[n>>2]=c;b=h;k[b>>2]=d;k[b+4>>2]=e;k[i>>2]=k[(k[o>>2]|0)+4>>2];Qt(k[k[g>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[n>>2]|0,k[i>>2]|0,m);b=h;b=Rt(k[g>>2]|0,m,24,k[b>>2]|0,k[b+4>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}else{b=k[g>>2]|0;m=k[i>>2]|0;n=k[(k[g>>2]|0)+20>>2]|0;o=h;o=zR(k[o>>2]|0,k[o+4>>2]|0,24,0)|0;o=Rt(b,m,n,o,L)|0;k[j>>2]=o;k[f>>2]=k[j>>2];o=k[f>>2]|0;r=l;return o|0}return 0}function Pt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+80|0;c=p+48|0;d=p+44|0;e=p+40|0;o=p+36|0;n=p+32|0;f=p+28|0;g=p+56|0;l=p+24|0;h=p+8|0;i=p;j=p+20|0;m=p+16|0;k[d>>2]=a;k[e>>2]=b;k[o>>2]=k[(k[d>>2]|0)+36>>2];k[n>>2]=0;a=Sd((k[o>>2]|0)+24|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}if((k[(k[d>>2]|0)+104>>2]|0)==1){a=h;k[a>>2]=24;k[a+4>>2]=0}else{b=(k[o>>2]|0)+24|0;b=KR((k[(k[d>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=zR(32,0,b|0,L|0)|0;b=zR(b|0,L|0,16,0)|0;a=h;k[a>>2]=b;k[a+4>>2]=L}a=h;a=js(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,8,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;a=or(k[f>>2]|0)|0;k[(k[d>>2]|0)+52+24>>2]=a;a=or((k[f>>2]|0)+4|0)|0;k[(k[d>>2]|0)+52+24+4>>2]=a;k[l>>2]=k[(k[d>>2]|0)+104>>2];k[(k[d>>2]|0)+104>>2]=0;while(1){if(k[n>>2]|0)break;if((k[l>>2]|0)>>>0>(k[e>>2]|0)>>>0)break;b=(k[o>>2]|0)+24|0;b=KR((k[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=zR(32,0,b|0,L|0)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=i;a=js(k[(k[d>>2]|0)+8>>2]|0,k[f>>2]|0,(k[o>>2]|0)+24|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){a=or(k[f>>2]|0)|0;k[j>>2]=a;a=or((k[f>>2]|0)+4|0)|0;k[m>>2]=a;Qt(k[d>>2]|0,k[j>>2]|0,k[m>>2]|0,(k[f>>2]|0)+24|0,g);a=i;a=Rg(k[(k[d>>2]|0)+8>>2]|0,g,24,k[a>>2]|0,k[a+4>>2]|0)|0;k[n>>2]=a}k[l>>2]=(k[l>>2]|0)+1}Ud(k[f>>2]|0);k[c>>2]=k[n>>2];o=k[c>>2]|0;r=p;return o|0}function Qt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+32|0;f=n+24|0;p=n+20|0;o=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[p>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[j>>2]=(k[f>>2]|0)+52+24;kt(k[h>>2]|0,k[p>>2]|0);kt((k[h>>2]|0)+4|0,k[o>>2]|0);d=(k[h>>2]|0)+8|0;if(!(k[(k[f>>2]|0)+104>>2]|0)){p=(k[f>>2]|0)+52+32|0;i[d>>0]=i[p>>0]|0;i[d+1>>0]=i[p+1>>0]|0;i[d+2>>0]=i[p+2>>0]|0;i[d+3>>0]=i[p+3>>0]|0;i[d+4>>0]=i[p+4>>0]|0;i[d+5>>0]=i[p+5>>0]|0;i[d+6>>0]=i[p+6>>0]|0;i[d+7>>0]=i[p+7>>0]|0;k[m>>2]=(l[(k[f>>2]|0)+52+13>>0]|0)==((i[960]|0)==0|0)&1;mt(k[m>>2]|0,k[h>>2]|0,8,k[j>>2]|0,k[j>>2]|0);mt(k[m>>2]|0,k[g>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[j>>2]|0,k[j>>2]|0);kt((k[h>>2]|0)+16|0,k[k[j>>2]>>2]|0);kt((k[h>>2]|0)+20|0,k[(k[j>>2]|0)+4>>2]|0);r=n;return}else{e=d+16|0;do{i[d>>0]=0;d=d+1|0}while((d|0)<(e|0));r=n;return}}function Rt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n;m=n+12|0;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;a=j;e=k[a+4>>2]|0;b=(k[g>>2]|0)+8|0;c=k[b+4>>2]|0;if((e|0)<(c|0)|((e|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?(e=j,a=k[i>>2]|0,a=zR(k[e>>2]|0,k[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,e=L,b=(k[g>>2]|0)+8|0,c=k[b+4>>2]|0,(e|0)>(c|0)|((e|0)==(c|0)?a>>>0>=(k[b>>2]|0)>>>0:0)):0){a=(k[g>>2]|0)+8|0;b=j;b=yR(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[l>>2]=b;b=j;b=Rg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[l>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}a=k[l>>2]|0;b=j;a=zR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;k[i>>2]=(k[i>>2]|0)-(k[l>>2]|0);k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);b=Dr(k[(k[g>>2]|0)+4>>2]|0,k[(k[g>>2]|0)+16>>2]&19)|0;k[m>>2]=b;if((k[i>>2]|0)==0|(k[m>>2]|0)!=0){k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}}b=j;b=Rg(k[(k[g>>2]|0)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[m>>2]=b;k[f>>2]=k[m>>2];m=k[f>>2]|0;r=n;return m|0}function St(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;v=w+48|0;e=w+44|0;f=w+40|0;g=w+36|0;h=w+32|0;q=w+28|0;o=w+24|0;n=w+20|0;i=w+16|0;s=w+12|0;m=w+8|0;p=w+4|0;t=w;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=0;if((k[h>>2]|0)>5){k[p>>2]=1;if((k[h>>2]|0)>100){k[v>>2]=15;v=k[v>>2]|0;r=w;return v|0}if((k[h>>2]|0)>=10){c=(ha((k[h>>2]|0)-9|0,(k[h>>2]|0)-9|0)|0)*39|0;k[p>>2]=c}Ei(k[k[e>>2]>>2]|0,k[p>>2]|0)|0}if(!(k[g>>2]|0)){c=ct(k[e>>2]|0,k[f>>2]|0)|0;k[s>>2]=c;do if((k[s>>2]|0)==5){if(!(k[k[(k[e>>2]|0)+32>>2]>>2]|0)){k[s>>2]=-1;break}c=Nr(k[e>>2]|0,2)|0;k[s>>2]=c;if(!c){Or(k[e>>2]|0,2);k[s>>2]=-1;break}if((k[s>>2]|0)==5)k[s>>2]=261}while(0);if(k[s>>2]|0){k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}}c=ft(k[e>>2]|0)|0;k[q>>2]=c;do if((k[g>>2]|0)==0?(k[k[q>>2]>>2]|0)==(k[(k[e>>2]|0)+52+16>>2]|0):0){c=Nr(k[e>>2]|0,3)|0;k[s>>2]=c;nt(k[e>>2]|0);if(k[s>>2]|0){if((k[s>>2]|0)==5)break;k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}u=Is(k[e>>2]|0)|0;u=(OQ(u,(k[e>>2]|0)+52|0,48)|0)!=0;e=k[e>>2]|0;if(u){Or(e,3);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}else{j[e+40>>1]=0;k[v>>2]=0;v=k[v>>2]|0;r=w;return v|0}}while(0);k[o>>2]=0;k[n>>2]=0;k[m>>2]=k[(k[e>>2]|0)+52+16>>2];k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break;k[t>>2]=k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0<=(k[t>>2]|0)>>>0?(k[t>>2]|0)>>>0<=(k[m>>2]|0)>>>0:0){k[o>>2]=k[t>>2];k[n>>2]=k[i>>2]}k[i>>2]=(k[i>>2]|0)+1}a:do if(((l[(k[e>>2]|0)+46>>0]|0)&2|0)==0?((k[n>>2]|0)==0?1:(k[o>>2]|0)>>>0<(k[m>>2]|0)>>>0):0){k[i>>2]=1;while(1){if((k[i>>2]|0)>=5)break a;c=at(k[e>>2]|0,3+(k[i>>2]|0)|0,1)|0;k[s>>2]=c;if(!(k[s>>2]|0)){u=36;break}if((k[s>>2]|0)!=5)break;k[i>>2]=(k[i>>2]|0)+1}if((u|0)==36){u=k[m>>2]|0;k[(k[q>>2]|0)+4+(k[i>>2]<<2)>>2]=u;k[o>>2]=u;k[n>>2]=k[i>>2];Qr(k[e>>2]|0,3+(k[i>>2]|0)|0,1);break}k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}while(0);if(!(k[n>>2]|0)){k[v>>2]=(k[s>>2]|0)==5?-1:520;v=k[v>>2]|0;r=w;return v|0}u=Nr(k[e>>2]|0,3+(k[n>>2]|0)|0)|0;k[s>>2]=u;if(k[s>>2]|0){k[v>>2]=(k[s>>2]|0)==5?-1:k[s>>2]|0;v=k[v>>2]|0;r=w;return v|0}k[(k[e>>2]|0)+100>>2]=(k[k[q>>2]>>2]|0)+1;nt(k[e>>2]|0);if((k[(k[q>>2]|0)+4+(k[n>>2]<<2)>>2]|0)==(k[o>>2]|0)?(u=Is(k[e>>2]|0)|0,(OQ(u,(k[e>>2]|0)+52|0,48)|0)==0):0){j[(k[e>>2]|0)+40>>1]=k[n>>2];k[v>>2]=k[s>>2];v=k[v>>2]|0;r=w;return v|0}Or(k[e>>2]|0,3+(k[n>>2]|0)|0);k[v>>2]=-1;v=k[v>>2]|0;r=w;return v|0}function Tt(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g+20|0;h=g+16|0;d=g+12|0;c=g+8|0;e=g+4|0;b=g;k[h>>2]=a;k[d>>2]=k[(k[h>>2]|0)+16>>2];k[e>>2]=k[(k[h>>2]|0)+20>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=(k[(k[d>>2]|0)+104>>2]|0)){b=7;break}k[c>>2]=(k[(k[d>>2]|0)+100>>2]|0)+((k[b>>2]|0)*48|0);if((k[(k[c>>2]|0)+20>>2]|0)>>>0>=(k[e>>2]|0)>>>0?0==(yj(k[(k[c>>2]|0)+16>>2]|0,k[e>>2]|0)|0):0){b=5;break}k[b>>2]=(k[b>>2]|0)+1}if((b|0)==5){k[f>>2]=1;h=k[f>>2]|0;r=g;return h|0}else if((b|0)==7){k[f>>2]=0;h=k[f>>2]|0;r=g;return h|0}return 0}function Ut(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;b=h+24|0;g=h+20|0;f=h+16|0;d=h+12|0;c=h;e=h+8|0;k[b>>2]=a;k[g>>2]=0;k[f>>2]=k[(k[b>>2]|0)+16>>2];if(((l[(k[f>>2]|0)+5>>0]|0|0)!=2?(a=Vt(k[f>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0)?(k[d>>2]=k[(k[b>>2]|0)+4>>2],i=4+(k[(k[f>>2]|0)+160>>2]|0)|0,i=KR(k[(k[f>>2]|0)+56>>2]|0,0,i|0,((i|0)<0)<<31>>31|0)|0,a=c,k[a>>2]=i,k[a+4>>2]=L,k[e>>2]=k[d>>2],a=c,a=Wt(k[(k[f>>2]|0)+72>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==0):0){d=k[(k[f>>2]|0)+72>>2]|0;e=k[e>>2]|0;a=k[(k[f>>2]|0)+160>>2]|0;i=c;i=zR(k[i>>2]|0,k[i+4>>2]|0,4,0)|0;i=Rg(d,e,a,i,L)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=(k[f>>2]|0)+56|0;k[i>>2]=(k[i>>2]|0)+1;i=Xt(k[f>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function Vt(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;d=e+8|0;c=e;k[b>>2]=a;k[d>>2]=0;if(k[k[(k[b>>2]|0)+72>>2]>>2]|0){d=k[d>>2]|0;r=e;return d|0}k[e+4>>2]=8222;k[c>>2]=k[11];if(!((l[(k[b>>2]|0)+5>>0]|0|0)!=4?(l[(k[b>>2]|0)+22>>0]|0|0)==0:0))k[c>>2]=-1;a=Yt(k[k[b>>2]>>2]|0,0,k[(k[b>>2]|0)+72>>2]|0,8222,k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function Wt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;g=e+12|0;h=e;i=e+8|0;f=e+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;kt(f,k[i>>2]|0);d=h;d=Rg(k[g>>2]|0,f,4,k[d>>2]|0,k[d+4>>2]|0)|0;r=e;return d|0}function Xt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+104>>2]|0))break;k[f>>2]=(k[(k[c>>2]|0)+100>>2]|0)+((k[e>>2]|0)*48|0);if((k[d>>2]|0)>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0){b=tj(k[(k[f>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[g>>2]=k[g>>2]|b}k[e>>2]=(k[e>>2]|0)+1}r=h;return k[g>>2]|0}function Yt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;l=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[i>>2];d=k[m>>2]|0;e=d+72|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(k[l>>2]|0)){m=Zr(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,0)|0;k[f>>2]=m;m=k[f>>2]|0;r=n;return m|0}if((k[l>>2]|0)>0)k[(k[m>>2]|0)+4>>2]=k[l>>2];else k[(k[m>>2]|0)+4>>2]=1020;k[k[m>>2]>>2]=4864;k[(k[m>>2]|0)+8>>2]=k[l>>2];k[(k[m>>2]|0)+56>>2]=k[j>>2];k[(k[m>>2]|0)+64>>2]=k[h>>2];k[(k[m>>2]|0)+60>>2]=k[g>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function Zt(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function _t(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Ks(k[c>>2]|0)|0;r=b;return a|0}function $t(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;f=x+40|0;g=x+36|0;t=x+50|0;n=x+52|0;h=x+32|0;d=x+28|0;w=x+24|0;b=x+48|0;q=x+20|0;v=x+16|0;o=x+12|0;p=x+8|0;c=x+4|0;e=x;s=x+46|0;u=x+44|0;k[g>>2]=a;do if(!(i[k[g>>2]>>0]|0)){k[d>>2]=k[(k[g>>2]|0)+52>>2];i[n>>0]=i[(k[g>>2]|0)+5>>0]|0;k[h>>2]=k[(k[g>>2]|0)+56>>2];if(au(k[g>>2]|0,l[(k[h>>2]|0)+(l[n>>0]|0)>>0]|0)|0){w=Yj(57553)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}j[(k[g>>2]|0)+20>>1]=(k[(k[d>>2]|0)+32>>2]|0)-1;i[(k[g>>2]|0)+1>>0]=0;k[w>>2]=k[(k[d>>2]|0)+36>>2];a=(l[n>>0]|0)+8+(l[(k[g>>2]|0)+6>>0]|0)&65535;j[b>>1]=a;j[(k[g>>2]|0)+14>>1]=a;k[(k[g>>2]|0)+60>>2]=(k[h>>2]|0)+(k[w>>2]|0);k[(k[g>>2]|0)+64>>2]=(k[h>>2]|0)+(m[b>>1]|0);k[(k[g>>2]|0)+68>>2]=(k[h>>2]|0)+(l[(k[g>>2]|0)+6>>0]|0);k[v>>2]=((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0])-1&65535)+1;j[(k[g>>2]|0)+18>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+3)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+3)+1>>0];if((m[(k[g>>2]|0)+18>>1]|0)>>>0>((((k[(k[d>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){w=Yj(57571)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}k[o>>2]=(m[b>>1]|0)+(m[(k[g>>2]|0)+18>>1]<<1);k[p>>2]=(k[w>>2]|0)-4;do if(k[(k[(k[d>>2]|0)+4>>2]|0)+24>>2]&268435456){if(!(i[(k[g>>2]|0)+4>>0]|0))k[p>>2]=(k[p>>2]|0)+-1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[g>>2]|0)+18>>1]|0)){b=17;break}j[t>>1]=l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))>>0]<<8|l[(k[h>>2]|0)+((m[b>>1]|0)+(k[c>>2]<<1))+1>>0];if((m[t>>1]|0)<(k[o>>2]|0)){b=13;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=13;break}a=(gc[k[(k[g>>2]|0)+76>>2]&255](k[g>>2]|0,(k[h>>2]|0)+(m[t>>1]|0)|0)|0)&65535;k[e>>2]=a;if(((m[t>>1]|0)+(k[e>>2]|0)|0)>(k[w>>2]|0)){b=15;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==13){w=Yj(57599)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==15){w=Yj(57604)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==17){if(i[(k[g>>2]|0)+4>>0]|0)break;k[p>>2]=(k[p>>2]|0)+1;break}}while(0);j[t>>1]=l[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]<<8|l[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0];k[q>>2]=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0)+(k[v>>2]|0);while(1){if((m[t>>1]|0)<=0){b=29;break}if((m[t>>1]|0)<(k[o>>2]|0)){b=23;break}if((m[t>>1]|0)>(k[p>>2]|0)){b=23;break}j[s>>1]=l[(k[h>>2]|0)+(m[t>>1]|0)>>0]<<8|l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0];j[u>>1]=l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]<<8|l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0];if((m[s>>1]|0)>0?(m[s>>1]|0)<=((m[t>>1]|0)+(m[u>>1]|0)+3|0):0){b=27;break}if(((m[t>>1]|0)+(m[u>>1]|0)|0)>(k[w>>2]|0)){b=27;break}k[q>>2]=(k[q>>2]|0)+(m[u>>1]|0);j[t>>1]=j[s>>1]|0}if((b|0)==23){w=Yj(57624)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==27){w=Yj(57631)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}else if((b|0)==29){if((k[q>>2]|0)<=(k[w>>2]|0)){j[(k[g>>2]|0)+16>>1]=(k[q>>2]|0)-(k[o>>2]|0);i[k[g>>2]>>0]=1;break}w=Yj(57645)|0;k[f>>2]=w;w=k[f>>2]|0;r=x;return w|0}}while(0);k[f>>2]=0;w=k[f>>2]|0;r=x;return w|0}function au(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;i[(k[e>>2]|0)+4>>0]=k[c>>2]>>3;k[c>>2]=k[c>>2]&-9;i[(k[e>>2]|0)+6>>0]=4-(l[(k[e>>2]|0)+4>>0]<<2);k[(k[e>>2]|0)+76>>2]=188;k[f>>2]=k[(k[e>>2]|0)+52>>2];do if((k[c>>2]|0)==5){i[(k[e>>2]|0)+2>>0]=1;c=(k[e>>2]|0)+3|0;if(i[(k[e>>2]|0)+4>>0]|0){i[c>>0]=1;k[(k[e>>2]|0)+80>>2]=226}else{i[c>>0]=0;k[(k[e>>2]|0)+76>>2]=189;k[(k[e>>2]|0)+80>>2]=227}j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+28>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+30>>1]|0}else{if((k[c>>2]|0)==2){i[(k[e>>2]|0)+2>>0]=0;i[(k[e>>2]|0)+3>>0]=0;k[(k[e>>2]|0)+80>>2]=228;j[(k[e>>2]|0)+10>>1]=j[(k[f>>2]|0)+24>>1]|0;j[(k[e>>2]|0)+12>>1]=j[(k[f>>2]|0)+26>>1]|0;break}f=Yj(57511)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}while(0);i[(k[e>>2]|0)+7>>0]=i[(k[f>>2]|0)+21>>0]|0;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=(k[d>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);k[f>>2]=l[k[h>>2]>>0];a:do if((k[f>>2]|0)>>>0>=128){k[g>>2]=(k[h>>2]|0)+8;k[f>>2]=k[f>>2]&127;do{b=k[f>>2]<<7;a=(k[h>>2]|0)+1|0;k[h>>2]=a;k[f>>2]=b|l[a>>0]&127;if((l[k[h>>2]>>0]|0)<128)break a}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);k[h>>2]=(k[h>>2]|0)+1;b:do if(i[(k[c>>2]|0)+2>>0]|0){k[g>>2]=(k[h>>2]|0)+9;do{a=k[h>>2]|0;k[h>>2]=a+1;if(!(l[a>>0]&128))break b}while((k[h>>2]|0)>>>0<(k[g>>2]|0)>>>0)}while(0);if((k[f>>2]|0)>>>0<=(m[(k[c>>2]|0)+10>>1]|0)>>>0){a=(k[f>>2]|0)+((k[h>>2]|0)-(k[d>>2]|0))|0;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<4?4:a;a=k[f>>2]|0;a=a&65535;r=j;return a|0}k[e>>2]=m[(k[c>>2]|0)+12>>1];k[f>>2]=(k[e>>2]|0)+((((k[f>>2]|0)-(k[e>>2]|0)|0)>>>0)%(((k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[f>>2]|0)>>>0>(m[(k[c>>2]|0)+10>>1]|0)>>>0)k[f>>2]=k[e>>2];k[f>>2]=(k[f>>2]|0)+(4+((k[h>>2]|0)-(k[d>>2]|0)&65535));a=k[f>>2]|0;a=a&65535;r=j;return a|0}function cu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;o=p+20|0;h=p+16|0;g=p;i=p+12|0;n=p+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[e>>2];k[h>>2]=l[k[o>>2]>>0];a:do if((k[h>>2]|0)>>>0>=128){k[i>>2]=(k[o>>2]|0)+8;k[h>>2]=k[h>>2]&127;do{c=k[h>>2]<<7;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[h>>2]=c|(l[a>>0]|0)&127;if((l[k[o>>2]>>0]|0|0)<128)break a}while((k[o>>2]|0)>>>0<(k[i>>2]|0)>>>0)}while(0);k[o>>2]=(k[o>>2]|0)+1;a=g;k[a>>2]=l[k[o>>2]>>0];k[a+4>>2]=0;a=g;c=k[a+4>>2]|0;b:do if(c>>>0>0|(c|0)==0&(k[a>>2]|0)>>>0>=128){k[n>>2]=(k[o>>2]|0)+7;a=g;k[a>>2]=k[g>>2]&127;k[a+4>>2]=0;do{i=g;i=ER(k[i>>2]|0,k[i+4>>2]|0,7)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;c=(l[c>>0]|0)&127;a=g;k[a>>2]=i|c;k[a+4>>2]=L|((c|0)<0)<<31>>31;if((l[k[o>>2]>>0]|0|0)<128)break b}while((k[o>>2]|0)>>>0<(k[n>>2]|0)>>>0);n=g;n=ER(k[n>>2]|0,k[n+4>>2]|0,8)|0;c=(k[o>>2]|0)+1|0;k[o>>2]=c;a=g;k[a>>2]=n|(l[c>>0]|0);k[a+4>>2]=L}while(0);k[o>>2]=(k[o>>2]|0)+1;n=g;c=k[n+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[n>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+8>>2]=k[o>>2];if((k[h>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){gu(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=p;return}j[(k[f>>2]|0)+18>>1]=(k[h>>2]|0)+((k[o>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[h>>2];r=p;return}function du(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;e=f+4|0;d=f;k[f+12>>2]=a;k[c>>2]=b;k[e>>2]=(k[c>>2]|0)+4;k[d>>2]=(k[e>>2]|0)+9;do{a=k[e>>2]|0;k[e>>2]=a+1;if(!((l[a>>0]|0)&128))break}while((k[e>>2]|0)>>>0<(k[d>>2]|0)>>>0);r=f;return (k[e>>2]|0)-(k[c>>2]|0)&65535|0}function eu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d;k[d+8>>2]=a;k[f>>2]=b;k[e>>2]=c;a=4+((hu((k[f>>2]|0)+4|0,k[e>>2]|0)|0)&255)&65535;j[(k[e>>2]|0)+18>>1]=a;k[(k[e>>2]|0)+12>>2]=0;j[(k[e>>2]|0)+16>>1]=0;k[(k[e>>2]|0)+8>>2]=0;r=d;return} +function ri(a,b,c,d,e,f,g,h,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;C=D;p=D+56|0;q=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;n=D+12|0;A=D+8|0;o=D+4|0;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;k[x>>2]=g;k[y>>2]=h;k[z>>2]=l;do if(k[s>>2]|0){if((k[w>>2]|0)!=0?(k[y>>2]|0)!=0|(k[x>>2]|0)!=0:0)break;if(((k[w>>2]|0)==0&(k[y>>2]|0)!=0^1|(k[x>>2]|0)!=0?!((((k[w>>2]|0)!=0|(k[y>>2]|0)!=0)^1)&(k[x>>2]|0)!=0|(k[t>>2]|0)<-1|(k[t>>2]|0)>127):0)?(b=Tf(k[s>>2]|0)|0,k[n>>2]=b,255>=(b|0)):0){k[A>>2]=k[u>>2]&2048;k[u>>2]=k[u>>2]&7;do if((k[u>>2]|0)!=4){if((k[u>>2]|0)==5){b=ri(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,1|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){b=ri(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,2|k[A>>2],k[v>>2]|0,k[w>>2]|0,k[x>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[o>>2]=b}if(!(k[o>>2]|0)){k[u>>2]=3;break}k[p>>2]=k[o>>2];C=k[p>>2]|0;r=D;return C|0}}else k[u>>2]=(i[960]|0)==0?3:2;while(0);b=si(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,0)|0;k[B>>2]=b;do if(((k[B>>2]|0)!=0?(m[(k[B>>2]|0)+2>>1]&3|0)==(k[u>>2]|0):0)?(i[k[B>>2]>>0]|0)==(k[t>>2]|0):0){a=k[q>>2]|0;if(!(k[(k[q>>2]|0)+152>>2]|0)){_h(a);break}tg(a,5,26840,C);k[p>>2]=5;C=k[p>>2]|0;r=D;return C|0}while(0);C=si(k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]&255,1)|0;k[B>>2]=C;if(!(k[B>>2]|0)){k[p>>2]=7;C=k[p>>2]|0;r=D;return C|0}ru(k[q>>2]|0,k[B>>2]|0);if(k[z>>2]|0){C=k[z>>2]|0;k[C>>2]=(k[C>>2]|0)+1}k[(k[B>>2]|0)+24>>2]=k[z>>2];j[(k[B>>2]|0)+2>>1]=m[(k[B>>2]|0)+2>>1]&3|k[A>>2];k[(k[B>>2]|0)+12>>2]=(k[w>>2]|0)!=0?k[w>>2]|0:k[x>>2]|0;k[(k[B>>2]|0)+16>>2]=k[y>>2];k[(k[B>>2]|0)+4>>2]=k[v>>2];i[k[B>>2]>>0]=k[t>>2];k[p>>2]=0;C=k[p>>2]|0;r=D;return C|0}}while(0);C=Vf(134792)|0;k[p>>2]=C;C=k[p>>2]|0;r=D;return C|0}function si(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;f=y+44|0;g=y+40|0;h=y+36|0;m=y+32|0;n=y+49|0;o=y+48|0;t=y+28|0;u=y+24|0;p=y+20|0;q=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;i[n>>0]=d;i[o>>0]=e;k[u>>2]=0;k[p>>2]=0;b=Tf(k[h>>2]|0)|0;k[s>>2]=b;b=Aj((k[g>>2]|0)+348|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break;b=lu(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[w>>2]=b;if((k[w>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[w>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}a:do if(!(i[o>>0]|0)){if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&2097152|0)==0:0)break;k[p>>2]=0;k[q>>2]=((l[18221+(l[k[h>>2]>>0]|0)>>0]|0)+(k[s>>2]|0)|0)%23|0;b=mu(k[q>>2]|0,k[h>>2]|0)|0;k[t>>2]=b;while(1){if(!(k[t>>2]|0))break a;b=lu(k[t>>2]|0,k[m>>2]|0,i[n>>0]|0)|0;k[x>>2]=b;if((k[x>>2]|0)>(k[p>>2]|0)){k[u>>2]=k[t>>2];k[p>>2]=k[x>>2]}k[t>>2]=k[(k[t>>2]|0)+8>>2]}}while(0);do if((l[o>>0]|0)!=0&(k[p>>2]|0)<6?(b=Bh(k[g>>2]|0,28+(k[s>>2]|0)+1|0,0)|0,k[u>>2]=b,(b|0)!=0):0){k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+28;i[k[u>>2]>>0]=k[m>>2];j[(k[u>>2]|0)+2>>1]=l[n>>0]|0;BR((k[u>>2]|0)+28|0,k[h>>2]|0,(k[s>>2]|0)+1|0)|0;b=ak((k[g>>2]|0)+348|0,k[(k[u>>2]|0)+20>>2]|0,k[u>>2]|0)|0;k[v>>2]=b;if((k[v>>2]|0)!=(k[u>>2]|0)){k[(k[u>>2]|0)+8>>2]=k[v>>2];break}bg(k[g>>2]|0,k[u>>2]|0);vh(k[g>>2]|0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}while(0);do if(k[u>>2]|0){if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[o>>0]|0)==0:0)break;k[f>>2]=k[u>>2];b=k[f>>2]|0;r=y;return b|0}while(0);k[f>>2]=0;b=k[f>>2]|0;r=y;return b|0}function ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d;f=d+20|0;h=d+8|0;e=d+4|0;k[f>>2]=a;k[d+16>>2]=b;k[d+12>>2]=c;k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=Yd(26789,g)|0;k[e>>2]=a;te(k[f>>2]|0,k[e>>2]|0,-1);Ud(k[e>>2]|0);r=d;return}function ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=r;r=r+16|0;h=g+12|0;e=g+8|0;f=g+4|0;i=g;k[h>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=d;if((k[i>>2]|0)<(k[h>>2]|0)){r=g;return 0}ek();Mf(k[e>>2]|0,k[f>>2]|0)|0;fk();r=g;return 0}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=-1;if(!(k[d>>2]|0)){f=k[f>>2]|0;r=g;return f|0}k[f>>2]=(k[(k[c>>2]|0)+20>>2]|0)-1;k[e>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);while(1){if((k[f>>2]|0)<0){c=6;break}if(!(sg(k[k[e>>2]>>2]|0,k[d>>2]|0)|0)){c=6;break}k[f>>2]=(k[f>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+-16}if((c|0)==6){f=k[f>>2]|0;r=g;return f|0}return 0}function wi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;k[l>>2]=0;k[m>>2]=0;while(1){if(!((k[m>>2]|0)<(k[(k[f>>2]|0)+20>>2]|0)?(k[n>>2]|0)==0:0))break;if(((k[g>>2]|0)==10?1:(k[m>>2]|0)==(k[g>>2]|0))?(d=ju(k[(k[(k[f>>2]|0)+16>>2]|0)+(k[m>>2]<<4)+4>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0,k[n>>2]=d,k[i>>2]=0,k[j>>2]=0,(k[n>>2]|0)==5):0){k[l>>2]=1;k[n>>2]=0}k[m>>2]=(k[m>>2]|0)+1}r=o;return ((k[n>>2]|0)==0&(k[l>>2]|0)!=0?5:k[n>>2]|0)|0}function xi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(l[(k[b>>2]|0)+69>>0]|0)){r=c;return}if(k[(k[b>>2]|0)+164>>2]|0){r=c;return}i[(k[b>>2]|0)+69>>0]=0;k[(k[b>>2]|0)+248>>2]=0;a=(k[b>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return}function yi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;o=s;f=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;e=s+12|0;q=s+8|0;p=s+4|0;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[q>>2]=0;k[p>>2]=0;k[k[h>>2]>>2]=0;d=Nd()|0;k[n>>2]=d;if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=s;return q|0}if(!(1<<(k[j>>2]&7)&70)){q=Vf(135927)|0;k[f>>2]=q;q=k[f>>2]|0;r=s;return q|0}do if(k[3]|0){if(k[j>>2]&32768){k[e>>2]=0;break}if(k[j>>2]&65536){k[e>>2]=1;break}else{k[e>>2]=k[4];break}}else k[e>>2]=0;while(0);if(!(k[j>>2]&262144)){if(k[57]|0)k[j>>2]=k[j>>2]|131072}else k[j>>2]=k[j>>2]&-131073;k[j>>2]=k[j>>2]&-655129;d=ug(464,0)|0;k[m>>2]=d;do if(k[m>>2]|0){if((k[e>>2]|0)!=0?(k[(k[m>>2]|0)+12>>2]=8,(k[(k[m>>2]|0)+12>>2]|0)==0):0){Ud(k[m>>2]|0);k[m>>2]=0;break}k[(k[m>>2]|0)+56>>2]=255;k[(k[m>>2]|0)+20>>2]=2;k[(k[m>>2]|0)+80>>2]=-264537850;k[(k[m>>2]|0)+16>>2]=(k[m>>2]|0)+392;c=(k[m>>2]|0)+92|0;e=1560;b=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(b|0));k[(k[m>>2]|0)+92+44>>2]=0;i[(k[m>>2]|0)+67>>0]=1;i[(k[m>>2]|0)+72>>0]=-1;b=184;a=k[b+4>>2]|0;d=(k[m>>2]|0)+40|0;k[d>>2]=k[b>>2];k[d+4>>2]=a;k[(k[m>>2]|0)+76>>2]=0;k[(k[m>>2]|0)+140>>2]=2147483647;d=(k[m>>2]|0)+24|0;k[d>>2]=k[d>>2]|9437280;Hj((k[m>>2]|0)+364|0);Hj((k[m>>2]|0)+320|0);zi(k[m>>2]|0,35343,1,0,141,0)|0;zi(k[m>>2]|0,35343,3,0,141,0)|0;zi(k[m>>2]|0,35343,2,0,141,0)|0;zi(k[m>>2]|0,21037,1,0,142,0)|0;zi(k[m>>2]|0,21044,1,1,141,0)|0;if(!(i[(k[m>>2]|0)+69>>0]|0)){d=_j(k[m>>2]|0,1,35343,0)|0;k[(k[m>>2]|0)+8>>2]=d;k[(k[m>>2]|0)+48>>2]=k[j>>2];l=ik(k[l>>2]|0,k[g>>2]|0,j,k[m>>2]|0,q,p)|0;k[n>>2]=l;if(k[n>>2]|0){if((k[n>>2]|0)==7)vh(k[m>>2]|0);g=k[m>>2]|0;j=k[n>>2]|0;l=(k[p>>2]|0)!=0?18999:0;k[o>>2]=k[p>>2];tg(g,j,l,o);Ud(k[p>>2]|0);break}p=jk(k[k[m>>2]>>2]|0,k[q>>2]|0,k[m>>2]|0,(k[(k[m>>2]|0)+16>>2]|0)+4|0,0,k[j>>2]|256)|0;k[n>>2]=p;if(k[n>>2]|0){if((k[n>>2]|0)==3082)k[n>>2]=7;vg(k[m>>2]|0,k[n>>2]|0);break}wg(k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0);p=kk(k[m>>2]|0,k[(k[(k[m>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]=p;if(!(i[(k[m>>2]|0)+69>>0]|0))i[(k[m>>2]|0)+66>>0]=i[(k[(k[(k[m>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;p=kk(k[m>>2]|0,0)|0;k[(k[(k[m>>2]|0)+16>>2]|0)+16+12>>2]=p;k[k[(k[m>>2]|0)+16>>2]>>2]=21050;i[(k[(k[m>>2]|0)+16>>2]|0)+8>>0]=3;k[(k[(k[m>>2]|0)+16>>2]|0)+16>>2]=19280;i[(k[(k[m>>2]|0)+16>>2]|0)+16+8>>0]=1;k[(k[m>>2]|0)+80>>2]=-1607883113;if(!(i[(k[m>>2]|0)+69>>0]|0)){vg(k[m>>2]|0,0);lk(k[m>>2]|0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)==0?(mk(k[m>>2]|0),p=Nf(k[m>>2]|0)|0,k[n>>2]=p,(k[n>>2]|0)!=0):0)break;if((k[n>>2]|0)==0?(i[(k[m>>2]|0)+69>>0]|0)==0:0){p=nk(k[m>>2]|0)|0;k[n>>2]=p}if(k[n>>2]|0)vg(k[m>>2]|0,k[n>>2]|0);oi(k[m>>2]|0,0,k[9]|0,k[10]|0)|0;Jf(k[m>>2]|0,1e3)|0}}}while(0);p=Nf(k[m>>2]|0)|0;k[n>>2]=p;if((k[n>>2]|0)!=7){if(k[n>>2]|0)k[(k[m>>2]|0)+80>>2]=1266094736}else{Cf(k[m>>2]|0)|0;k[m>>2]=0}k[k[h>>2]>>2]=k[m>>2];Ud(k[q>>2]|0);k[f>>2]=k[n>>2]&255;q=k[f>>2]|0;r=s;return q|0}function zi(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;w=x;g=x+44|0;h=x+40|0;j=x+36|0;m=x+48|0;n=x+32|0;o=x+28|0;p=x+24|0;v=x+20|0;s=x+16|0;q=x+12|0;t=x+8|0;u=x+4|0;k[h>>2]=a;k[j>>2]=b;i[m>>0]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[s>>2]=l[m>>0];if((k[s>>2]|0)==4|(k[s>>2]|0)==8)k[s>>2]=(i[960]|0)==0?3:2;if((k[s>>2]|0)<1|(k[s>>2]|0)>3){w=Vf(135478)|0;k[g>>2]=w;w=k[g>>2]|0;r=x;return w|0}b=_j(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,0)|0;k[v>>2]=b;a:do if((k[v>>2]|0)!=0?(k[(k[v>>2]|0)+12>>2]|0)!=0:0){a=k[h>>2]|0;if(k[(k[h>>2]|0)+152>>2]|0){tg(a,5,20969,w);k[g>>2]=5;w=k[g>>2]|0;r=x;return w|0}_h(a);if((l[(k[v>>2]|0)+4>>0]&-9|0)==(k[s>>2]|0)){w=Aj((k[h>>2]|0)+364|0,k[j>>2]|0)|0;k[q>>2]=w;k[t>>2]=0;while(1){if((k[t>>2]|0)>=3)break a;k[u>>2]=(k[q>>2]|0)+((k[t>>2]|0)*20|0);if((l[(k[u>>2]|0)+4>>0]|0)==(l[(k[v>>2]|0)+4>>0]|0)){if(k[(k[u>>2]|0)+16>>2]|0)_b[k[(k[u>>2]|0)+16>>2]&255](k[(k[u>>2]|0)+8>>2]|0);k[(k[u>>2]|0)+12>>2]=0}k[t>>2]=(k[t>>2]|0)+1}}}while(0);w=_j(k[h>>2]|0,k[s>>2]&255,k[j>>2]|0,1)|0;k[v>>2]=w;if(!(k[v>>2]|0)){k[g>>2]=7;w=k[g>>2]|0;r=x;return w|0}else{k[(k[v>>2]|0)+12>>2]=k[o>>2];k[(k[v>>2]|0)+8>>2]=k[n>>2];k[(k[v>>2]|0)+16>>2]=k[p>>2];i[(k[v>>2]|0)+4>>0]=k[s>>2]|l[m>>0]&8;vg(k[h>>2]|0,0);k[g>>2]=0;w=k[g>>2]|0;r=x;return w|0}return 0}function Ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+24>>2]&2|0)!=0^1)&1;k[g>>2]=0;i[(k[c>>2]|0)+144+5>>0]=1;i[(k[c>>2]|0)+66>>0]=i[(k[(k[(k[c>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;k[f>>2]=0;while(1){if(k[g>>2]|0)break;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(!((k[f>>2]|0)==1?1:((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(b=Dj(k[c>>2]|0,k[f>>2]|0,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Ej(k[c>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}if(((k[g>>2]|0)==0?((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(b=Dj(k[c>>2]|0,1,k[d>>2]|0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0)Ej(k[c>>2]|0,1);i[(k[c>>2]|0)+144+5>>0]=0;if(!((k[g>>2]|0)==0&(k[e>>2]|0)!=0)){g=k[g>>2]|0;r=h;return g|0}Fj(k[c>>2]|0);g=k[g>>2]|0;r=h;return g|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;i=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){j=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))j=5;if((j|0)==5?(j=0,b=Aj((k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+8|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){j=7;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==7){r=l;return k[i>>2]|0}return 0}function Ci(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(sg(k[c>>2]|0,20495)|0){if(!(sg(k[c>>2]|0,20503)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,20509)|0)){k[b>>2]=1;break}else{k[b>>2]=0;break}}else k[b>>2]=1;while(0);r=d;return k[b>>2]|0}function Di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((l[(k[d>>2]|0)+15>>0]|0)&4)){k[c>>2]=k[e>>2];b=k[c>>2]|0;r=f;return b|0}else{b=k[k[d>>2]>>2]|0;b=b+(UQ(k[k[d>>2]>>2]|0)|0)+1|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}return 0}function Ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=gc[k[(k[e>>2]|0)+60>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function Fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){c=8;break}if(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2]|0){if(!(k[c>>2]|0)){c=6;break}if(!(sg(k[c>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0)){c=6;break}}k[f>>2]=(k[f>>2]|0)+1}if((c|0)==6){k[d>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];f=k[d>>2]|0;r=g;return f|0}else if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function Gi(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Hi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=k[c>>2]|0;if(k[(k[c>>2]|0)+216>>2]|0){c=zj(k[a+216>>2]|0)|0;r=b;return c|0}else{c=k[a+68>>2]|0;r=b;return c|0}return 0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=Yb[k[(k[k[g>>2]>>2]|0)+40>>2]&255](k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return c|0}function Ji(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[68];if(!(k[c>>2]|0)){c=0;r=d;return c|0}c=bc[k[c>>2]&255](k[b>>2]|0)|0;r=d;return c|0}function Ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;n=r;r=r+32|0;e=n+24|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;l=n+4|0;i=n;k[o>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[o>>2]|0)+4>>2];wg(k[o>>2]|0);if((m[(k[i>>2]|0)+22>>1]|0)&2){k[e>>2]=8;o=k[e>>2]|0;r=n;return o|0}if((k[g>>2]|0)<0)k[g>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[(k[i>>2]|0)+36>>2]|0);if((k[f>>2]|0)>=512&(k[f>>2]|0)<=65536?((k[f>>2]|0)-1&k[f>>2]|0)==0:0){k[(k[i>>2]|0)+32>>2]=k[f>>2];aj(k[i>>2]|0)}o=bj(k[k[i>>2]>>2]|0,(k[i>>2]|0)+32|0,k[g>>2]|0)|0;k[l>>2]=o;k[(k[i>>2]|0)+36>>2]=(k[(k[i>>2]|0)+32>>2]|0)-(k[g>>2]&65535);if(k[h>>2]|0){o=(k[i>>2]|0)+22|0;j[o>>1]=m[o>>1]|0|2}k[e>>2]=k[l>>2];o=k[e>>2]|0;r=n;return o|0}function Li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;k[c>>2]=27;$i(k[f>>2]|0,k[e>>2]|0,c)|0;r=d;return k[c>>2]|0}function Mi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;Zi(8,k[b>>2]|0);if((k[76]|0)!=0?(k[51]|0)>=(k[b>>2]|0):0){k[c>>2]=k[75];k[75]=k[k[75]>>2];k[76]=(k[76]|0)+-1;_i(3,1);c=k[c>>2]|0;r=d;return c|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!((k[2]|0)!=0&(k[c>>2]|0)!=0)){c=k[c>>2]|0;r=d;return c|0}_i(4,kg(k[c>>2]|0)|0);c=k[c>>2]|0;r=d;return c|0}function Ni(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[50]|0)>>>0?(k[b>>2]|0)>>>0<(k[74]|0)>>>0:0){k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[75];k[75]=k[d>>2];k[76]=(k[76]|0)+1;lg(3,1);r=e;return}if(k[2]|0){d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(4,k[c>>2]|0);lg(0,k[c>>2]|0);lg(9,1);_b[k[52>>2]&255](k[b>>2]|0);r=e;return}else{_b[k[52>>2]&255](k[b>>2]|0);r=e;return}}function Oi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=((Wi(k[e>>2]|0,1,i[d>>0]|0)|0)&255|0)!=0&255;r=c;return a|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;g=j;e=j+12|0;f=j+8|0;k[c>>2]=a;k[d>>2]=b;do if((i[k[c>>2]>>0]|0)==48){if((i[(k[c>>2]|0)+1>>0]|0)!=120?(i[(k[c>>2]|0)+1>>0]|0)!=88:0)break;if(l[19011+(l[(k[c>>2]|0)+2>>0]|0)>>0]&8){a=g;k[a>>2]=0;k[a+4>>2]=0;k[e>>2]=2;while(1){b=k[e>>2]|0;if((i[(k[c>>2]|0)+(k[e>>2]|0)>>0]|0)!=48)break;k[e>>2]=b+1}k[f>>2]=b;while(1){if(!(l[19011+(l[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)>>0]&8))break;a=g;a=KR(k[a>>2]|0,k[a+4>>2]|0,16,0)|0;b=L;b=zR(a|0,b|0,(Ti(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0)|0)&255|0,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[f>>2]=(k[f>>2]|0)+1}d=k[d>>2]|0;k[d>>2]=k[g>>2];k[d+4>>2]=k[g+4>>2];if(!(i[(k[c>>2]|0)+(k[f>>2]|0)>>0]|0))b=((k[f>>2]|0)-(k[e>>2]|0)|0)<=16;else b=0;k[h>>2]=b?0:1;h=k[h>>2]|0;r=j;return h|0}}while(0);f=k[c>>2]|0;g=k[d>>2]|0;g=Ui(f,g,Tf(k[c>>2]|0)|0,1)|0;k[h>>2]=g;h=k[h>>2]|0;r=j;return h|0}function Qi(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Si(k[k[(k[c>>2]|0)+4>>2]>>2]|0,1)|0;r=b;return a|0}function Ri(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return ((m[(k[(k[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Si(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(l[(k[c>>2]|0)+16>>0]|0|0)!=0:0){e=19010;r=d;return e|0}e=k[(k[c>>2]|0)+176>>2]|0;r=d;return e|0}function Ti(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)+((1&k[b>>2]>>6)*9|0);r=c;return k[b>>2]&15|0}function Ui(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;h=w+48|0;j=w+44|0;m=w+40|0;e=w+36|0;f=w+52|0;p=w+32|0;g=w;q=w+28|0;o=w+24|0;n=w+20|0;s=w+16|0;u=w+12|0;t=w+8|0;k[j>>2]=a;k[m>>2]=b;k[e>>2]=c;i[f>>0]=d;a=g;k[a>>2]=0;k[a+4>>2]=0;k[q>>2]=0;k[n>>2]=0;k[s>>2]=0;k[t>>2]=(k[j>>2]|0)+(k[e>>2]|0);if((l[f>>0]|0)==1)k[p>>2]=1;else{k[p>>2]=2;k[o>>2]=3-(l[f>>0]|0);while(1){if((k[o>>2]|0)>=(k[e>>2]|0))break;if(i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)break;k[o>>2]=(k[o>>2]|0)+2}k[s>>2]=(k[o>>2]|0)<(k[e>>2]|0)&1;k[t>>2]=(k[j>>2]|0)+(k[o>>2]|0)+(l[f>>0]|0)+-3;k[j>>2]=(k[j>>2]|0)+(l[f>>0]&1)}while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if(!(l[19011+(l[k[j>>2]>>0]|0)>>0]&1))break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}do if((k[j>>2]|0)>>>0<(k[t>>2]|0)>>>0){if((i[k[j>>2]>>0]|0)==45){k[q>>2]=1;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0);break}if((i[k[j>>2]>>0]|0)==43)k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}while(0);k[u>>2]=k[j>>2];while(1){if((k[j>>2]|0)>>>0>=(k[t>>2]|0)>>>0)break;if((i[k[j>>2]>>0]|0)!=48)break;k[j>>2]=(k[j>>2]|0)+(k[p>>2]|0)}k[o>>2]=0;while(1){if(((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0?(a=i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0,k[n>>2]=a,(a|0)>=48):0)e=(k[n>>2]|0)<=57;else e=0;d=g;f=k[d>>2]|0;d=k[d+4>>2]|0;if(!e)break;a=KR(f|0,d|0,10,0)|0;b=k[n>>2]|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;b=yR(b|0,L|0,48,0)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;k[o>>2]=(k[o>>2]|0)+(k[p>>2]|0)}c=(k[q>>2]|0)!=0;do if(!(d>>>0>2147483647|(d|0)==2147483647&f>>>0>4294967295)){f=g;e=k[f>>2]|0;f=k[f+4>>2]|0;if(c){g=yR(0,0,e|0,f|0)|0;m=k[m>>2]|0;k[m>>2]=g;k[m+4>>2]=L;break}else{m=k[m>>2]|0;k[m>>2]=e;k[m+4>>2]=f;break}}else{m=k[m>>2]|0;k[m>>2]=c?0:-1;k[m+4>>2]=c?-2147483648:2147483647}while(0);if(!((k[n>>2]|0)!=0?((k[j>>2]|0)+(k[o>>2]|0)|0)>>>0<(k[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((k[o>>2]|0)==0?(k[u>>2]|0)==(k[j>>2]|0):0)break;if(!((k[s>>2]|0)!=0?1:(k[o>>2]|0)>((k[p>>2]|0)*19|0))){if((k[o>>2]|0)<((k[p>>2]|0)*19|0)){k[h>>2]=0;v=k[h>>2]|0;r=w;return v|0}v=Vi(k[j>>2]|0,k[p>>2]|0)|0;k[n>>2]=v;if((k[n>>2]|0)<0){k[h>>2]=0;v=k[h>>2]|0;r=w;return v|0}if((k[n>>2]|0)>0){k[h>>2]=1;v=k[h>>2]|0;r=w;return v|0}else{k[h>>2]=(k[q>>2]|0)!=0?0:2;v=k[h>>2]|0;r=w;return v|0}}}while(0);k[h>>2]=1;v=k[h>>2]|0;r=w;return v|0}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[g>>2]=19375;k[f>>2]=0;while(1){if(!((k[e>>2]|0)==0?(k[f>>2]|0)<18:0))break;a=ha(k[f>>2]|0,k[d>>2]|0)|0;k[e>>2]=((i[(k[c>>2]|0)+a>>0]|0)-(i[(k[g>>2]|0)+(k[f>>2]|0)>>0]|0)|0)*10;k[f>>2]=(k[f>>2]|0)+1}if(k[e>>2]|0){a=k[e>>2]|0;r=h;return a|0}k[e>>2]=(i[(k[c>>2]|0)+((k[d>>2]|0)*18|0)>>0]|0)-56;a=k[e>>2]|0;r=h;return a|0}function Wi(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,m=0;m=r;r=r+32|0;g=m+17|0;d=m+12|0;e=m+8|0;h=m+16|0;j=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;i[h>>0]=c;c=k[d>>2]|0;if((l[19011+(l[k[d>>2]>>0]|0)>>0]|0)&4){j=(Xi(c)|0)&255;i[g>>0]=j;j=i[g>>0]|0;r=m;return j|0}a=Tf(c)|0;k[f>>2]=a;k[j>>2]=0;while(1){if((k[j>>2]|0)>=8){c=11;break}if((l[19394+(k[j>>2]|0)>>0]|0|0)==(k[f>>2]|0)?(Jd(19410+(l[19402+(k[j>>2]|0)>>0]|0)|0,k[d>>2]|0,k[f>>2]|0)|0)==0:0){if(!(k[e>>2]|0)){c=9;break}if((l[19435+(k[j>>2]|0)>>0]|0|0)<=1){c=9;break}}k[j>>2]=(k[j>>2]|0)+1}if((c|0)==9){i[g>>0]=i[19435+(k[j>>2]|0)>>0]|0;j=i[g>>0]|0;r=m;return j|0}else if((c|0)==11){i[g>>0]=i[h>>0]|0;j=i[g>>0]|0;r=m;return j|0}return 0}function Xi(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(k[b>>2]|0)Yi(k[b>>2]|0,c)|0;r=d;return k[c>>2]|0}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;f=n+32|0;g=n+28|0;h=n+24|0;e=n;j=n+20|0;c=n+16|0;d=n+12|0;m=n+8|0;k[g>>2]=a;k[h>>2]=b;a=e;k[a>>2]=0;k[a+4>>2]=0;k[d>>2]=0;do if((i[k[g>>2]>>0]|0)!=45){b=k[g>>2]|0;if((i[k[g>>2]>>0]|0)==43){k[g>>2]=b+1;break}if((i[b>>0]|0)==48){if((i[(k[g>>2]|0)+1>>0]|0)!=120?(i[(k[g>>2]|0)+1>>0]|0)!=88:0)break;if(l[19011+(l[(k[g>>2]|0)+2>>0]|0)>>0]&8){k[m>>2]=0;k[g>>2]=(k[g>>2]|0)+2;while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){b=k[m>>2]|0;if(!((l[19011+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)!=0?(k[j>>2]|0)<8:0))break;e=(b<<4)+((Ti(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)|0)&255)|0;k[m>>2]=e;k[j>>2]=(k[j>>2]|0)+1}if((b&-2147483648|0)==0?(l[19011+(l[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)>>0]&8|0)==0:0){k[k[h>>2]>>2]=k[m>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}}}else{k[d>>2]=1;k[g>>2]=(k[g>>2]|0)+1}while(0);while(1){if((i[k[g>>2]>>0]|0)!=48)break;k[g>>2]=(k[g>>2]|0)+1}k[j>>2]=0;while(1){if((k[j>>2]|0)>=11)break;m=(i[(k[g>>2]|0)+(k[j>>2]|0)>>0]|0)-48|0;k[c>>2]=m;if(!((m|0)>=0&(k[c>>2]|0)<=9))break;m=e;m=KR(k[m>>2]|0,k[m+4>>2]|0,10,0)|0;a=k[c>>2]|0;a=zR(m|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;m=e;k[m>>2]=a;k[m+4>>2]=L;k[j>>2]=(k[j>>2]|0)+1}if((k[j>>2]|0)>10){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}j=e;m=k[d>>2]|0;m=yR(k[j>>2]|0,k[j+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;j=L;if((j|0)>0|(j|0)==0&m>>>0>2147483647){k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}if(k[d>>2]|0){j=e;j=yR(0,0,k[j>>2]|0,k[j+4>>2]|0)|0;m=e;k[m>>2]=j;k[m+4>>2]=L}k[k[h>>2]>>2]=k[e>>2];k[f>>2]=1;m=k[f>>2]|0;r=n;return m|0}function Zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[f>>2];if((k[d>>2]|0)>>>0<=(k[1036+(k[c>>2]<<2)>>2]|0)>>>0){r=e;return}k[1036+(k[c>>2]<<2)>>2]=k[d>>2];r=e;return}function _i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=996+(k[c>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+(k[e>>2]|0);if((k[996+(k[c>>2]<<2)>>2]|0)>>>0<=(k[1036+(k[c>>2]<<2)>>2]|0)>>>0){r=d;return}k[1036+(k[c>>2]<<2)>>2]=k[996+(k[c>>2]<<2)>>2];r=d;return}function $i(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,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<2){n=k[e>>2]|0;r=o;return n|0}k[g>>2]=(l[18221+(l[k[d>>2]>>0]|0)>>0]<<2^(l[18221+(l[(k[d>>2]|0)+((k[e>>2]|0)-1)>>0]|0)>>0]|0)*3^k[e>>2]|0)%127|0;k[g>>2]=(l[19443+(k[g>>2]|0)>>0]|0)-1;while(1){if((k[g>>2]|0)<0){n=13;break}if((l[19570+(k[g>>2]|0)>>0]|0)==(k[e>>2]|0)){k[h>>2]=0;k[j>>2]=19694+(m[10352+(k[g>>2]<<1)>>1]|0);while(1){if((k[h>>2]|0)<(k[e>>2]|0))c=(i[(k[d>>2]|0)+(k[h>>2]|0)>>0]&-33|0)==(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0);else c=0;b=k[h>>2]|0;if(!c)break;k[h>>2]=b+1}if((b|0)>=(k[e>>2]|0))break}k[g>>2]=(l[20371+(k[g>>2]|0)>>0]|0)-1}if((n|0)==13){n=k[e>>2]|0;r=o;return n|0}k[k[f>>2]>>2]=l[20247+(k[g>>2]|0)>>0];n=k[e>>2]|0;r=o;return n|0}function aj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+-4;hj(k[(k[b>>2]|0)+80>>2]|0);k[(k[b>>2]|0)+80>>2]=0;r=c;return}function bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;m=o+16|0;i=o+12|0;h=o+8|0;g=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;k[i>>2]=k[k[e>>2]>>2];if(!((l[(k[d>>2]|0)+16>>0]|0)!=0?(k[(k[d>>2]|0)+28>>2]|0)!=0:0))n=3;do if(((n|0)==3?(n=(cj(k[(k[d>>2]|0)+212>>2]|0)|0)==0,n&(k[i>>2]|0)!=0):0)?(k[i>>2]|0)!=(k[(k[d>>2]|0)+160>>2]|0):0){k[h>>2]=0;n=g;k[n>>2]=0;k[n+4>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0)>0?(k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0:0){n=dj(k[(k[d>>2]|0)+64>>2]|0,g)|0;k[m>>2]=n}if((k[m>>2]|0)==0?(n=ej(k[i>>2]|0)|0,k[h>>2]=n,(k[h>>2]|0)==0):0)k[m>>2]=7;if(!(k[m>>2]|0)){fj(k[d>>2]|0);n=gj(k[(k[d>>2]|0)+212>>2]|0,k[i>>2]|0)|0;k[m>>2]=n}if(!(k[m>>2]|0)){hj(k[(k[d>>2]|0)+208>>2]|0);k[(k[d>>2]|0)+208>>2]=k[h>>2];n=g;n=zR(k[n>>2]|0,k[n+4>>2]|0,k[i>>2]|0,0)|0;n=yR(n|0,L|0,1,0)|0;n=IR(n|0,L|0,k[i>>2]|0,0)|0;k[(k[d>>2]|0)+28>>2]=n;k[(k[d>>2]|0)+160>>2]=k[i>>2];break}else{hj(k[h>>2]|0);break}}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+160>>2];if(k[m>>2]|0){n=k[m>>2]|0;r=o;return n|0}if((k[f>>2]|0)<0)k[f>>2]=j[(k[d>>2]|0)+150>>1];j[(k[d>>2]|0)+150>>1]=k[f>>2];ij(k[d>>2]|0);n=k[m>>2]|0;r=o;return n|0}function cj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+12>>2]|0}function dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+24>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function ej(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=rj(k[c>>2]|0)|0;r=b;return a|0}function fj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;lj(k[(k[c>>2]|0)+96>>2]|0);mj(k[(k[c>>2]|0)+212>>2]|0);r=b;return}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(k[(k[d>>2]|0)+24>>2]|0){b=Yb[k[132>>2]&255](k[e>>2]|0,(k[(k[d>>2]|0)+28>>2]|0)+40|0,l[(k[d>>2]|0)+32>>0]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){k[c>>2]=7;b=k[c>>2]|0;r=g;return b|0}h=k[34]|0;a=k[f>>2]|0;b=kj(k[d>>2]|0)|0;$b[h&255](a,b);if(k[(k[d>>2]|0)+44>>2]|0)_b[k[160>>2]&255](k[(k[d>>2]|0)+44>>2]|0);k[(k[d>>2]|0)+44>>2]=k[f>>2];k[(k[d>>2]|0)+24>>2]=k[e>>2]}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;jj(k[c>>2]|0);r=b;return}function ij(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function jj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}if((k[b>>2]|0)>>>0>=(k[421]|0)>>>0?(k[b>>2]|0)>>>0<(k[422]|0)>>>0:0){lg(1,1);k[d>>2]=k[b>>2];k[k[d>>2]>>2]=k[424];k[424]=k[d>>2];k[425]=(k[425]|0)+1;k[426]=(k[425]|0)<(k[420]|0)&1;r=e;return}k[c>>2]=0;d=kg(k[b>>2]|0)|0;k[c>>2]=d;lg(2,k[c>>2]|0);Ud(k[b>>2]|0);r=e;return}function kj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[(k[c>>2]|0)+16>>2]|0;if((k[(k[c>>2]|0)+16>>2]|0)>=0){k[b>>2]=a;c=k[b>>2]|0;r=d;return c|0}else{a=KR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;c=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;c=IR(a|0,L|0,c|0,((c|0)<0)<<31>>31|0)|0;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}return 0}function lj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];while(1){if(!(k[b>>2]|0))break;k[(k[b>>2]|0)+16>>2]=1;k[b>>2]=k[(k[b>>2]|0)+44>>2]}r=c;return}function mj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;nj(k[c>>2]|0,0);r=b;return}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+44>>2]|0)){r=h;return}k[e>>2]=k[k[c>>2]>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+32>>2];if((k[(k[e>>2]|0)+20>>2]|0)>>>0>(k[d>>2]|0)>>>0)oj(k[e>>2]|0);k[e>>2]=k[f>>2]}if(((k[d>>2]|0)==0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)?(b=Yb[k[144>>2]&255](k[(k[c>>2]|0)+44>>2]|0,1,0)|0,k[g>>2]=b,(k[g>>2]|0)!=0):0){DR(k[k[g>>2]>>2]|0,0,k[(k[c>>2]|0)+24>>2]|0)|0;k[d>>2]=1}$b[k[156>>2]&255](k[(k[c>>2]|0)+44>>2]|0,(k[d>>2]|0)+1|0);r=h;return}function oj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(m[(k[b>>2]|0)+24>>1]&2)){r=c;return}pj(k[b>>2]|0,1);a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]&-15;a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|1;if(j[(k[b>>2]|0)+26>>1]|0){r=c;return}qj(k[b>>2]|0);r=c;return}function pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+8|0;d=g+12|0;f=g+4|0;c=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=k[(k[e>>2]|0)+28>>2];if(l[d>>0]&1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[e>>2]|0)){k[c>>2]=k[(k[e>>2]|0)+36>>2];while(1){if(k[c>>2]|0)b=(m[(k[c>>2]|0)+24>>1]&8|0)!=0;else b=0;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+36>>2]}k[(k[f>>2]|0)+8>>2]=a}b=k[(k[e>>2]|0)+36>>2]|0;if(k[(k[e>>2]|0)+32>>2]|0)k[(k[(k[e>>2]|0)+32>>2]|0)+36>>2]=b;else k[(k[f>>2]|0)+4>>2]=b;b=k[(k[e>>2]|0)+32>>2]|0;if(!(k[(k[e>>2]|0)+36>>2]|0)){k[k[f>>2]>>2]=b;if((k[k[f>>2]>>2]|0)==0?(l[(k[f>>2]|0)+32>>0]|0)!=0:0)i[(k[f>>2]|0)+33>>0]=2}else k[(k[(k[e>>2]|0)+36>>2]|0)+32>>2]=b;k[(k[e>>2]|0)+32>>2]=0;k[(k[e>>2]|0)+36>>2]=0}if(!(l[d>>0]&2)){r=g;return}k[(k[e>>2]|0)+32>>2]=k[k[f>>2]>>2];b=k[e>>2]|0;if(!(k[(k[e>>2]|0)+32>>2]|0)){k[(k[f>>2]|0)+4>>2]=b;if(i[(k[f>>2]|0)+32>>0]|0)i[(k[f>>2]|0)+33>>0]=1}else k[(k[(k[e>>2]|0)+32>>2]|0)+36>>2]=b;k[k[f>>2]>>2]=k[e>>2];if(k[(k[f>>2]|0)+8>>2]|0){r=g;return}if(m[(k[e>>2]|0)+24>>1]&8){r=g;return}k[(k[f>>2]|0)+8>>2]=k[e>>2];r=g;return}function qj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(i[(k[(k[b>>2]|0)+28>>2]|0)+32>>0]|0)){r=c;return}cc[k[148>>2]&255](k[(k[(k[b>>2]|0)+28>>2]|0)+44>>2]|0,k[k[b>>2]>>2]|0,0);r=c;return}function rj(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;if((k[b>>2]|0)<=(k[418]|0)?(k[c>>2]=k[424],(k[c>>2]|0)!=0):0){k[424]=k[k[424]>>2];k[425]=(k[425]|0)+-1;k[426]=(k[425]|0)<(k[420]|0)&1;Zi(7,k[b>>2]|0);_i(1,1)}if(k[c>>2]|0){d=k[c>>2]|0;r=e;return d|0}a=k[b>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[c>>2]=a;if(!(k[c>>2]|0)){d=k[c>>2]|0;r=e;return d|0}a=kg(k[c>>2]|0)|0;k[d>>2]=a;Zi(7,k[b>>2]|0);_i(2,k[d>>2]|0);d=k[c>>2]|0;r=e;return d|0}function sj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=ug(512,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[k[c>>2]>>2]=k[b>>2];c=k[c>>2]|0;r=d;return c|0}function tj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;h=o+16|0;c=o+12|0;j=o+8|0;m=o+4|0;g=o;k[e>>2]=a;k[f>>2]=b;if(!(k[e>>2]|0)){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=(k[f>>2]|0)+-1;while(1){if((k[k[e>>2]>>2]|0)>>>0<=4e3)break;if(!(k[(k[e>>2]|0)+8>>2]|0))break;k[c>>2]=((k[f>>2]|0)>>>0)/((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+8>>2]|0)>>>0)|0;if((k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0?(a=sj(k[(k[e>>2]|0)+8>>2]|0)|0,k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]=a,(k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]|0)==0):0){n=8;break}k[e>>2]=k[(k[e>>2]|0)+12+(k[c>>2]<<2)>>2]}if((n|0)==8){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}c=k[f>>2]|0;if((k[k[e>>2]>>2]|0)>>>0<=4e3){n=(k[e>>2]|0)+12+(((k[f>>2]|0)>>>0)/8|0)|0;i[n>>0]=l[n>>0]|0|1<<(c&7);k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[f>>2]=c+1;k[h>>2]=(c>>>0)%125|0;a:do if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){if((k[(k[e>>2]|0)+4>>2]|0)>>>0>=124)n=17}else{while(1){if((k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[f>>2]|0))break;n=(k[h>>2]|0)+1|0;k[h>>2]=n;k[h>>2]=(k[h>>2]|0)>>>0>=125?0:n;if(!(k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){n=17;break a}}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((n|0)==17?(k[(k[e>>2]|0)+4>>2]|0)>>>0>=62:0){n=Kh(0,500,0)|0;k[g>>2]=n;if(!(k[g>>2]|0)){k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}BR(k[g>>2]|0,(k[e>>2]|0)+12|0,500)|0;DR((k[e>>2]|0)+12|0,0,500)|0;k[(k[e>>2]|0)+8>>2]=(((k[k[e>>2]>>2]|0)+125-1|0)>>>0)/125|0;n=tj(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=n;k[j>>2]=0;while(1){if((k[j>>2]|0)>>>0>=125)break;if(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0){n=tj(k[e>>2]|0,k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[m>>2]=k[m>>2]|n}k[j>>2]=(k[j>>2]|0)+1}bg(0,k[g>>2]|0);k[d>>2]=k[m>>2];n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;k[(k[e>>2]|0)+12+(k[h>>2]<<2)>>2]=k[f>>2];k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function uj(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,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;h=o+12|0;m=o+8|0;g=o+4|0;j=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[d>>2]|0)){r=o;return}k[e>>2]=(k[e>>2]|0)+-1;while(1){if(!(k[(k[d>>2]|0)+8>>2]|0))break;k[h>>2]=((k[e>>2]|0)>>>0)/((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[e>>2]=((k[e>>2]|0)>>>0)%((k[(k[d>>2]|0)+8>>2]|0)>>>0)|0;k[d>>2]=k[(k[d>>2]|0)+12+(k[h>>2]<<2)>>2];if(!(k[d>>2]|0)){n=16;break}}if((n|0)==16){r=o;return}if((k[k[d>>2]>>2]|0)>>>0<=4e3){n=(k[d>>2]|0)+12+(((k[e>>2]|0)>>>0)/8|0)|0;i[n>>0]=(l[n>>0]|0)&~(1<<(k[e>>2]&7));r=o;return}k[g>>2]=k[f>>2];BR(k[g>>2]|0,(k[d>>2]|0)+12|0,500)|0;DR((k[d>>2]|0)+12|0,0,500)|0;k[(k[d>>2]|0)+4>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>>>0>=125)break;if((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=0?(k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)!=((k[e>>2]|0)+1|0):0){k[j>>2]=(((k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;n=(k[d>>2]|0)+4|0;k[n>>2]=(k[n>>2]|0)+1;while(1){if(!(k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]|0))break;n=(k[j>>2]|0)+1|0;k[j>>2]=n;k[j>>2]=(k[j>>2]|0)>>>0>=125?0:n}k[(k[d>>2]|0)+12+(k[j>>2]<<2)>>2]=k[(k[g>>2]|0)+(k[m>>2]<<2)>>2]}k[m>>2]=(k[m>>2]|0)+1}r=o;return}function vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){a=0;a=a&1;r=e;return a|0}a=(yj(k[c>>2]|0,k[d>>2]|0)|0)!=0;a=a&1;r=e;return a|0}function wj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function xj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}a:do if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=0;while(1){if((k[c>>2]|0)>>>0>=125)break a;xj(k[(k[b>>2]|0)+12+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}}while(0);Ud(k[b>>2]|0);r=d;return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;c=i+4|0;h=i;k[f>>2]=a;k[g>>2]=b;k[g>>2]=(k[g>>2]|0)+-1;if((k[g>>2]|0)>>>0>=(k[k[f>>2]>>2]|0)>>>0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}while(1){if(!(k[(k[f>>2]|0)+8>>2]|0))break;k[c>>2]=((k[g>>2]|0)>>>0)/((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[g>>2]=((k[g>>2]|0)>>>0)%((k[(k[f>>2]|0)+8>>2]|0)>>>0)|0;k[f>>2]=k[(k[f>>2]|0)+12+(k[c>>2]<<2)>>2];if(!(k[f>>2]|0)){d=5;break}}if((d|0)==5){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=k[g>>2]|0;if((k[k[f>>2]>>2]|0)>>>0<=4e3){k[e>>2]=((l[(k[f>>2]|0)+12+((c>>>0)/8|0)>>0]|0)&1<<(k[g>>2]&7)|0)!=0&1;h=k[e>>2]|0;r=i;return h|0}k[g>>2]=c+1;k[h>>2]=(c>>>0)%125|0;while(1){if(!(k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)){d=13;break}if((k[(k[f>>2]|0)+12+(k[h>>2]<<2)>>2]|0)==(k[g>>2]|0)){d=11;break}k[h>>2]=(((k[h>>2]|0)+1|0)>>>0)%125|0}if((d|0)==11){k[e>>2]=1;h=k[e>>2]|0;r=i;return h|0}else if((d|0)==13){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}return 0}function zj(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+8>>2]|0}function Aj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d+8|0;c=d+4|0;k[f>>2]=a;k[e>>2]=b;b=Bj(k[f>>2]|0,k[e>>2]|0,d)|0;k[c>>2]=b;if(!(k[c>>2]|0)){f=0;r=d;return f|0}f=k[(k[c>>2]|0)+8>>2]|0;r=d;return f|0}function Bj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;l=m+28|0;d=m+24|0;h=m+20|0;e=m+16|0;j=m+12|0;i=m+8|0;f=m+4|0;g=m;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(k[(k[d>>2]|0)+12>>2]|0){b=Cj(k[h>>2]|0)|0;k[f>>2]=(b>>>0)%((k[k[d>>2]>>2]|0)>>>0)|0;k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);k[j>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=k[k[g>>2]>>2]}else{k[f>>2]=0;k[j>>2]=k[(k[d>>2]|0)+8>>2];k[i>>2]=k[(k[d>>2]|0)+4>>2]}k[k[e>>2]>>2]=k[f>>2];while(1){b=k[i>>2]|0;k[i>>2]=b+-1;if(!b){d=9;break}b=(sg(k[(k[j>>2]|0)+12>>2]|0,k[h>>2]|0)|0)==0;e=k[j>>2]|0;if(b){d=7;break}k[j>>2]=k[e>>2]}if((d|0)==7){k[l>>2]=e;l=k[l>>2]|0;r=m;return l|0}else if((d|0)==9){k[l>>2]=0;l=k[l>>2]|0;r=m;return l|0}return 0}function Cj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+4|0;d=e;c=e+8|0;k[b>>2]=a;k[d>>2]=0;while(1){f=k[b>>2]|0;k[b>>2]=f+1;f=i[f>>0]|0;i[c>>0]=f;a=k[d>>2]|0;if(!(f&255))break;k[d>>2]=a<<3^k[d>>2]^(l[18221+(l[c>>0]|0)>>0]|0)}r=e;return a|0}function Dj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=r;r=r+128|0;w=A;f=A+108|0;g=A+104|0;h=A+100|0;n=A+96|0;u=A+92|0;d=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;q=A+40|0;p=A+24|0;y=A+20|0;s=A+16|0;o=A+112|0;z=A+12|0;x=A+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[s>>2]=0;c=(k[h>>2]|0)==1?20513:20532;k[y>>2]=c;k[B>>2]=c;k[B+4>>2]=20546;k[B+8>>2]=20548;k[B+12>>2]=0;k[p>>2]=k[g>>2];k[p+8>>2]=k[h>>2];k[p+12>>2]=0;k[p+4>>2]=k[n>>2];Jj(p,3,B,0)|0;if(!(k[p+12>>2]|0)){k[t>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4);if(!(k[(k[t>>2]|0)+4>>2]|0)){if((k[h>>2]|0)==1){B=(k[(k[(k[g>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1}k[f>>2]=0;B=k[f>>2]|0;r=A;return B|0}wg(k[(k[t>>2]|0)+4>>2]|0);do if(!(Ag(k[(k[t>>2]|0)+4>>2]|0)|0)){B=yg(k[(k[t>>2]|0)+4>>2]|0,0)|0;k[u>>2]=B;if(k[u>>2]|0){z=k[n>>2]|0;B=k[g>>2]|0;Kj(z,B,uh(k[u>>2]|0)|0);break}else{k[s>>2]=1;e=11;break}}else e=11;while(0);a:do if((e|0)==11){k[d>>2]=0;while(1){if((k[d>>2]|0)>=5)break;zg(k[(k[t>>2]|0)+4>>2]|0,(k[d>>2]|0)+1|0,q+(k[d>>2]<<2)|0);k[d>>2]=(k[d>>2]|0)+1}k[k[(k[t>>2]|0)+12>>2]>>2]=k[q>>2];a=k[h>>2]|0;do if(k[q+16>>2]|0){d=k[q+16>>2]|0;if(!a){B=d&3;i[o>>0]=B;i[o>>0]=(l[o>>0]|0)==0?1:B;i[(k[g>>2]|0)+66>>0]=i[o>>0]|0;break}if((d|0)!=(l[(k[g>>2]|0)+66>>0]|0)){Kj(k[n>>2]|0,k[g>>2]|0,20624);k[u>>2]=1;break a}}else{B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(a<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|4}while(0);i[(k[(k[t>>2]|0)+12>>2]|0)+77>>0]=i[(k[g>>2]|0)+66>>0]|0;if(!(k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Lj(k[q+8>>2]|0)|0;k[v>>2]=B;k[v>>2]=(k[v>>2]|0)==0?-2e3:B;k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]=k[v>>2];Mj(k[(k[t>>2]|0)+4>>2]|0,k[(k[(k[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=k[q+4>>2];if(!(l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0))i[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]=1;if((l[(k[(k[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Kj(k[n>>2]|0,k[g>>2]|0,20692);k[u>>2]=1;break}if((k[h>>2]|0)==0?(k[q+4>>2]|0)>=4:0){B=(k[g>>2]|0)+24|0;k[B>>2]=k[B>>2]&-32769}B=k[g>>2]|0;y=k[y>>2]|0;k[w>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[w+4>>2]=y;B=Nh(B,20716,w)|0;k[z>>2]=B;k[x>>2]=k[(k[g>>2]|0)+296>>2];k[(k[g>>2]|0)+296>>2]=0;B=kf(k[g>>2]|0,k[z>>2]|0,140,p,0)|0;k[u>>2]=B;k[(k[g>>2]|0)+296>>2]=k[x>>2];if(!(k[u>>2]|0))k[u>>2]=k[p+12>>2];bg(k[g>>2]|0,k[z>>2]|0);if(!(k[u>>2]|0))Nj(k[g>>2]|0,k[h>>2]|0)|0;if(i[(k[g>>2]|0)+69>>0]|0){k[u>>2]=7;Lg(k[g>>2]|0)}if((k[u>>2]|0)!=0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0)break;B=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[B>>1]=m[B>>1]|1;k[u>>2]=0}while(0);if(k[s>>2]|0)Oj(k[(k[t>>2]|0)+4>>2]|0)|0}else k[u>>2]=k[p+12>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082)vh(k[g>>2]|0);k[f>>2]=k[u>>2];B=k[f>>2]|0;r=A;return B|0}function Ej(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+(k[f>>2]<<4);Gj(k[(k[d>>2]|0)+12>>2]|0);if((k[f>>2]|0)==1){r=e;return}k[d>>2]=(k[(k[c>>2]|0)+16>>2]|0)+16;Gj(k[(k[d>>2]|0)+12>>2]|0);r=e;return}function Fj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;k[a>>2]=k[a>>2]&-3;r=b;return}function Gj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+64|0;h=g+48|0;e=g+32|0;f=g+16|0;b=g+8|0;c=g+4|0;d=g;k[h>>2]=a;k[c>>2]=k[h>>2];a=(k[c>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];a=(k[c>>2]|0)+40|0;k[f>>2]=k[a>>2];k[f+4>>2]=k[a+4>>2];k[f+8>>2]=k[a+8>>2];k[f+12>>2]=k[a+12>>2];Hj((k[c>>2]|0)+40|0);Ij((k[c>>2]|0)+24|0);k[b>>2]=k[f+8>>2];while(1){if(!(k[b>>2]|0))break;_f(0,k[(k[b>>2]|0)+8>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Ij(f);Hj((k[c>>2]|0)+8|0);k[b>>2]=k[e+8>>2];while(1){if(!(k[b>>2]|0))break;k[d>>2]=k[(k[b>>2]|0)+8>>2];$f(0,k[d>>2]|0);k[b>>2]=k[k[b>>2]>>2]}Ij(e);Ij((k[c>>2]|0)+56|0);k[(k[c>>2]|0)+72>>2]=0;if(!((m[(k[c>>2]|0)+78>>1]|0)&1)){r=g;return}h=(k[c>>2]|0)+4|0;k[h>>2]=(k[h>>2]|0)+1;h=(k[c>>2]|0)+78|0;j[h>>1]=(m[h>>1]|0)&-2;r=g;return}function Hj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=0;k[(k[c>>2]|0)+4>>2]=0;k[k[c>>2]>>2]=0;k[(k[c>>2]|0)+12>>2]=0;r=b;return}function Ij(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;Ud(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[k[b>>2]>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function Jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+40|0;s=q+36|0;f=q+28|0;l=q+20|0;g=q+16|0;h=q+12|0;p=q+8|0;o=q+4|0;n=q;k[s>>2]=a;k[q+32>>2]=b;k[f>>2]=c;k[q+24>>2]=d;k[l>>2]=k[s>>2];k[g>>2]=k[k[l>>2]>>2];k[h>>2]=k[(k[l>>2]|0)+8>>2];a=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+78|0;j[a>>1]=m[a>>1]&-5;if(i[(k[g>>2]|0)+69>>0]|0){Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);k[e>>2]=1;s=k[e>>2]|0;r=q;return s|0}if(!(k[f>>2]|0)){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}a:do if(!(k[(k[f>>2]|0)+4>>2]|0))Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);else{if(Jd(k[(k[f>>2]|0)+8>>2]|0,20858,7)|0){do if(k[k[f>>2]>>2]|0){if((k[(k[f>>2]|0)+8>>2]|0)!=0?(i[k[(k[f>>2]|0)+8>>2]>>0]|0)!=0:0)break;s=Sj(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0;k[n>>2]=s;if(!(k[n>>2]|0))break a;if(Yi(k[(k[f>>2]|0)+4>>2]|0,(k[n>>2]|0)+44|0)|0)break a;Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,20866);break a}while(0);Xj(k[l>>2]|0,k[k[f>>2]>>2]|0,0);break}i[(k[g>>2]|0)+144+4>>0]=k[h>>2];s=Xi(k[(k[f>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+144>>2]=s;i[(k[g>>2]|0)+144+6>>0]=0;nf(k[g>>2]|0,k[(k[f>>2]|0)+8>>2]|0,-1,o,0)|0;k[p>>2]=k[(k[g>>2]|0)+52>>2];i[(k[g>>2]|0)+144+4>>0]=0;do if(0!=(k[p>>2]|0)?(i[(k[g>>2]|0)+144+6>>0]|0)==0:0){k[(k[l>>2]|0)+12>>2]=k[p>>2];if((k[p>>2]|0)==7){vh(k[g>>2]|0);break}if((k[p>>2]|0)!=9?(k[p>>2]&255|0)!=6:0){p=k[l>>2]|0;s=k[k[f>>2]>>2]|0;Xj(p,s,mf(k[g>>2]|0)|0)}}while(0);ge(k[o>>2]|0)|0}while(0);k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;bg(k[g>>2]|0,k[k[e>>2]>>2]|0);c=zh(k[g>>2]|0,k[f>>2]|0)|0;k[k[e>>2]>>2]=c;r=d;return}function Lj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;do if((k[c>>2]|0)<0)if((a|0)==-2147483648){k[b>>2]=2147483647;break}else{k[b>>2]=0-(k[c>>2]|0);break}else k[b>>2]=a;while(0);r=d;return k[b>>2]|0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);Vj(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function Nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;c=m+40|0;d=m+36|0;e=m+32|0;i=m+24|0;f=m+16|0;l=m+12|0;h=m+8|0;g=m+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(k[f>>2]|0))break;k[g>>2]=k[(k[f>>2]|0)+8>>2];Pj(k[g>>2]|0);k[f>>2]=k[k[f>>2]>>2]}k[i>>2]=k[d>>2];k[i+4>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];if(!(Bi(k[d>>2]|0,20771,k[i+4>>2]|0)|0)){k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}g=k[d>>2]|0;k[j>>2]=k[i+4>>2];j=Nh(g,20784,j)|0;k[l>>2]=j;if(!(k[l>>2]|0))k[h>>2]=7;else{j=kf(k[d>>2]|0,k[l>>2]|0,141,i,0)|0;k[h>>2]=j;bg(k[d>>2]|0,k[l>>2]|0)}if((k[h>>2]|0)==7)vh(k[d>>2]|0);k[c>>2]=k[h>>2];l=k[c>>2]|0;r=m;return l|0}function Oj(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);a=Wg(k[b>>2]|0,0)|0;k[c>>2]=a;if(k[c>>2]|0){c=k[c>>2]|0;r=d;return c|0}a=Vg(k[b>>2]|0,0)|0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function Pj(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;d=g+16|0;c=g+8|0;f=g+4|0;e=g;k[b>>2]=a;j[d>>1]=j[5308]|0;j[d+2>>1]=j[5309]|0;j[d+4>>1]=j[5310]|0;j[d+6>>1]=j[5311]|0;j[d+8>>1]=j[5312]|0;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(5<(m[(k[b>>2]|0)+50>>1]|0))a=5;else a=m[(k[b>>2]|0)+50>>1]|0;k[f>>2]=a;j[k[c>>2]>>1]=j[(k[(k[b>>2]|0)+12>>2]|0)+38>>1]|0;if((j[k[c>>2]>>1]|0)<33)j[k[c>>2]>>1]=33;BR((k[c>>2]|0)+2|0,d|0,k[f>>2]<<1|0)|0;k[e>>2]=(k[f>>2]|0)+1;while(1){if((k[e>>2]|0)>(m[(k[b>>2]|0)+50>>1]|0))break;j[(k[c>>2]|0)+(k[e>>2]<<1)>>1]=23;k[e>>2]=(k[e>>2]|0)+1}if(!(l[(k[b>>2]|0)+54>>0]|0)){r=g;return}j[(k[c>>2]|0)+(m[(k[b>>2]|0)+50>>1]<<1)>>1]=0;r=g;return}function Qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+112|0;e=s+96|0;t=s+92|0;f=s+84|0;o=s+76|0;n=s+72|0;p=s+68|0;q=s+64|0;g=s+60|0;l=s+56|0;h=s;k[t>>2]=a;k[s+88>>2]=b;k[f>>2]=c;k[s+80>>2]=d;k[o>>2]=k[t>>2];if(((k[f>>2]|0)!=0?(k[k[f>>2]>>2]|0)!=0:0)?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){t=Bi(k[k[o>>2]>>2]|0,k[k[f>>2]>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[p>>2]=t;if(!(k[p>>2]|0)){k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}do if(k[(k[f>>2]|0)+4>>2]|0)if(!(be(k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0)){t=Rj(k[p>>2]|0)|0;k[n>>2]=t;break}else{t=Sj(k[k[o>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[n>>2]=t;break}else k[n>>2]=0;while(0);k[q>>2]=k[(k[f>>2]|0)+8>>2];if(k[n>>2]|0){k[g>>2]=0;k[l>>2]=(m[(k[n>>2]|0)+50>>1]|0)+1;t=(k[n>>2]|0)+55|0;i[t>>0]=i[t>>0]&-5;Tj(k[q>>2]|0,k[l>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[n>>2]|0);if(!(k[(k[n>>2]|0)+36>>2]|0))j[(k[p>>2]|0)+38>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0}else{j[h+48>>1]=j[(k[p>>2]|0)+40>>1]|0;Tj(k[q>>2]|0,1,0,(k[p>>2]|0)+38|0,h);j[(k[p>>2]|0)+40>>1]=j[h+48>>1]|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}k[e>>2]=0;t=k[e>>2]|0;r=s;return t|0}function Rj(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0)){a=5;break}if(!((i[(k[b>>2]|0)+55>>0]&3|0)==2^1)){a=5;break}k[b>>2]=k[(k[b>>2]|0)+20>>2]}if((a|0)==5){r=c;return k[b>>2]|0}return 0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+12|0;g=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){l=7;break}b=k[g>>2]|0;k[h>>2]=(k[g>>2]|0)<2?b^1:b;k[j>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];if(!((k[f>>2]|0)!=0?(sg(k[f>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,b=Aj((k[j>>2]|0)+24|0,k[e>>2]|0)|0,k[i>>2]=b,(k[i>>2]|0)!=0):0){l=7;break}k[g>>2]=(k[g>>2]|0)+1}if((l|0)==7){r=m;return k[i>>2]|0}return 0}function Tj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+32|0;f=p+28|0;g=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;l=p+4|0;m=p;k[q>>2]=a;k[f>>2]=b;k[p+24>>2]=c;k[g>>2]=d;k[n>>2]=e;k[o>>2]=k[q>>2];k[l>>2]=0;while(1){if(!(i[k[o>>2]>>0]|0))break;if((k[l>>2]|0)>=(k[f>>2]|0))break;k[m>>2]=0;while(1){q=i[k[o>>2]>>0]|0;k[h>>2]=q;if(!((q|0)>=48?(k[h>>2]|0)<=57:0))break;k[m>>2]=((k[m>>2]|0)*10|0)+(k[h>>2]|0)-48;k[o>>2]=(k[o>>2]|0)+1}q=Uj(k[m>>2]|0,0)|0;j[(k[g>>2]|0)+(k[l>>2]<<1)>>1]=q;if((i[k[o>>2]>>0]|0)==32)k[o>>2]=(k[o>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+1}q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5;q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65;a:while(1){if(!(i[k[o>>2]>>0]|0))break;do if(hf(20825,k[o>>2]|0)|0){q=(hf(20836,k[o>>2]|0)|0)==0;f=k[o>>2]|0;if(q){q=Xi(f+3|0)|0;q=Uj(q,((q|0)<0)<<31>>31)|0;j[(k[n>>2]|0)+48>>1]=q;break}if(!(hf(20846,f)|0)){q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-65|64}}else{q=(k[n>>2]|0)+55|0;i[q>>0]=i[q>>0]&-5|4}while(0);while(1){if(!(i[k[o>>2]>>0]|0))break;if((i[k[o>>2]>>0]|0)==32)break;k[o>>2]=(k[o>>2]|0)+1}while(1){if((i[k[o>>2]>>0]|0)!=32)continue a;k[o>>2]=(k[o>>2]|0)+1}}r=p;return}function Uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+10|0;d=f;e=f+8|0;g=d;k[g>>2]=a;k[g+4>>2]=b;j[e>>1]=40;b=d;a=k[b+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(k[b>>2]|0)>>>0<8){g=d;b=k[g+4>>2]|0;if(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<2){j[c>>1]=0;g=j[c>>1]|0;r=f;return g|0}else while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(k[g>>2]|0)>>>0<8))break a;j[e>>1]=(j[e>>1]|0)-10;b=d;b=ER(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}else{while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>255))break;j[e>>1]=(j[e>>1]|0)+40;b=d;b=AR(k[b>>2]|0,k[b+4>>2]|0,4)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}while(1){g=d;b=k[g+4>>2]|0;if(!(b>>>0>0|(b|0)==0&(k[g>>2]|0)>>>0>15))break a;j[e>>1]=(j[e>>1]|0)+10;b=d;b=AR(k[b>>2]|0,k[b+4>>2]|0,1)|0;g=d;k[g>>2]=b;k[g+4>>2]=L}}while(0);j[c>>1]=(j[10600+((k[d>>2]&7)<<1)>>1]|0)+(j[e>>1]|0)-10;g=j[c>>1]|0;r=f;return g|0}function Vj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;Wj(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0);r=c;return}function Wj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+16>>2]=k[d>>2];d=k[34]|0;b=k[(k[e>>2]|0)+44>>2]|0;a=kj(k[e>>2]|0)|0;$b[d&255](b,a);r=c;return}function Xj(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,m=0,n=0;n=r;r=r+48|0;j=n+8|0;h=n;d=n+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if((i[(k[g>>2]|0)+69>>0]|0)==0?(k[(k[g>>2]|0)+24>>2]&65536|0)==0:0){if(!(k[e>>2]|0))k[e>>2]=20883;b=k[g>>2]|0;k[h>>2]=k[e>>2];b=Nh(b,20885,h)|0;k[m>>2]=b;if(k[f>>2]|0){b=k[g>>2]|0;c=k[f>>2]|0;k[j>>2]=k[m>>2];k[j+4>>2]=c;b=Nh(b,20916,j)|0;k[m>>2]=b}bg(k[g>>2]|0,k[k[(k[d>>2]|0)+4>>2]>>2]|0);k[k[(k[d>>2]|0)+4>>2]>>2]=k[m>>2]}if(l[(k[g>>2]|0)+69>>0]|0){c=7;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}c=Yj(109666)|0;b=k[d>>2]|0;b=b+12|0;k[b>>2]=c;r=n;return}function Yj(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Zj(11,k[c>>2]|0,20924)|0;r=b;return a|0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+32|0;f=e;d=e+20|0;h=e+16|0;g=e+12|0;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;c=k[d>>2]|0;g=k[g>>2]|0;a=k[h>>2]|0;b=(uf()|0)+20|0;k[f>>2]=g;k[f+4>>2]=a;k[f+8>>2]=b;$d(c,20944,f);r=e;return k[d>>2]|0}function _j(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+12|0;e=j+16|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;i[e>>0]=b;k[f>>2]=c;k[g>>2]=d;d=k[m>>2]|0;if(k[f>>2]|0){m=$j(d,k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=m}else k[h>>2]=k[d+8>>2];if(!(k[h>>2]|0)){m=k[h>>2]|0;r=j;return m|0}k[h>>2]=(k[h>>2]|0)+(((l[e>>0]|0)-1|0)*20|0);m=k[h>>2]|0;r=j;return m|0}function $j(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,l=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;l=j+12|0;g=j+8|0;f=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;b=Aj((k[d>>2]|0)+364|0,k[e>>2]|0)|0;k[g>>2]=b;if(!(0==(k[g>>2]|0)&(k[l>>2]|0)!=0)){l=k[g>>2]|0;r=j;return l|0}l=Tf(k[e>>2]|0)|0;k[f>>2]=l;l=Bh(k[d>>2]|0,60+(k[f>>2]|0)+1|0,0)|0;k[g>>2]=l;if(!(k[g>>2]|0)){l=k[g>>2]|0;r=j;return l|0}k[h>>2]=0;k[k[g>>2]>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+4>>0]=1;k[(k[g>>2]|0)+20>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+20+4>>0]=2;k[(k[g>>2]|0)+40>>2]=(k[g>>2]|0)+60;i[(k[g>>2]|0)+40+4>>0]=3;BR(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;i[(k[k[g>>2]>>2]|0)+(k[f>>2]|0)>>0]=0;l=ak((k[d>>2]|0)+364|0,k[k[g>>2]>>2]|0,k[g>>2]|0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){l=k[g>>2]|0;r=j;return l|0}vh(k[d>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}function ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;i=m+28|0;j=m+24|0;d=m+20|0;e=m+16|0;g=m+12|0;f=m+8|0;l=m+4|0;h=m;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=Bj(k[j>>2]|0,k[d>>2]|0,g)|0;k[f>>2]=b;if(k[f>>2]|0){k[h>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[e>>2]|0))bk(k[j>>2]|0,k[f>>2]|0,k[g>>2]|0);else{k[(k[f>>2]|0)+8>>2]=k[e>>2];k[(k[f>>2]|0)+12>>2]=k[d>>2]}k[i>>2]=k[h>>2];l=k[i>>2]|0;r=m;return l|0}if(!(k[e>>2]|0)){k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}b=jg(16,0)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[i>>2]=k[e>>2];l=k[i>>2]|0;r=m;return l|0}k[(k[l>>2]|0)+12>>2]=k[d>>2];k[(k[l>>2]|0)+8>>2]=k[e>>2];b=(k[j>>2]|0)+4|0;k[b>>2]=(k[b>>2]|0)+1;if(((k[(k[j>>2]|0)+4>>2]|0)>>>0>=10?(k[(k[j>>2]|0)+4>>2]|0)>>>0>k[k[j>>2]>>2]<<1>>>0:0)?(ck(k[j>>2]|0,k[(k[j>>2]|0)+4>>2]<<1)|0)!=0:0){b=Cj(k[d>>2]|0)|0;k[g>>2]=(b>>>0)%((k[k[j>>2]>>2]|0)>>>0)|0}if(k[(k[j>>2]|0)+12>>2]|0)d=(k[(k[j>>2]|0)+12>>2]|0)+(k[g>>2]<<3)|0;else d=0;dk(k[j>>2]|0,d,k[l>>2]|0);k[i>>2]=0;l=k[i>>2]|0;r=m;return l|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[k[e>>2]>>2]|0;if(k[(k[e>>2]|0)+4>>2]|0)k[k[(k[e>>2]|0)+4>>2]>>2]=b;else k[(k[d>>2]|0)+8>>2]=b;if(k[k[e>>2]>>2]|0)k[(k[k[e>>2]>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[d>>2]|0)+12>>2]|0){k[g>>2]=(k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]<<3);if((k[(k[g>>2]|0)+4>>2]|0)==(k[e>>2]|0))k[(k[g>>2]|0)+4>>2]=k[k[e>>2]>>2];g=k[g>>2]|0;k[g>>2]=(k[g>>2]|0)+-1}Ud(k[e>>2]|0);g=(k[d>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+-1;if(k[(k[d>>2]|0)+4>>2]|0){r=h;return}Ij(k[d>>2]|0);r=h;return}function ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;f=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[e>>2]=k[e>>2]<<3>>>0>1024?128:b;if((k[e>>2]|0)==(k[k[d>>2]>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}ek();a=jg(k[e>>2]<<3,0)|0;k[h>>2]=a;fk();if(!(k[h>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=j;return a|0}Ud(k[(k[d>>2]|0)+12>>2]|0);k[(k[d>>2]|0)+12>>2]=k[h>>2];a=((kg(k[h>>2]|0)|0)>>>0)/8|0;k[e>>2]=a;k[k[d>>2]>>2]=a;DR(k[h>>2]|0,0,k[e>>2]<<3|0)|0;k[f>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;while(1){if(!(k[f>>2]|0))break;a=Cj(k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=(a>>>0)%((k[e>>2]|0)>>>0)|0;k[i>>2]=k[k[f>>2]>>2];dk(k[d>>2]|0,(k[h>>2]|0)+(k[g>>2]<<3)|0,k[f>>2]|0);k[f>>2]=k[i>>2]}k[c>>2]=1;a=k[c>>2]|0;r=j;return a|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;if(k[d>>2]|0){if(k[k[d>>2]>>2]|0)b=k[(k[d>>2]|0)+4>>2]|0;else b=0;k[g>>2]=b;c=k[d>>2]|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[d>>2]|0)+4>>2]=k[f>>2]}else k[g>>2]=0;if(!(k[g>>2]|0)){k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[e>>2]|0)+8>>2]|0)k[(k[(k[e>>2]|0)+8>>2]|0)+4>>2]=k[f>>2];k[(k[f>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+8>>2]=k[f>>2];r=h;return}k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=k[(k[g>>2]|0)+4>>2];b=k[f>>2]|0;if(k[(k[g>>2]|0)+4>>2]|0)k[k[(k[g>>2]|0)+4>>2]>>2]=b;else k[(k[e>>2]|0)+8>>2]=b;k[(k[g>>2]|0)+4>>2]=k[f>>2];r=h;return}function ek(){if(!(k[427]|0))return;dc[k[1708>>2]&255]();return}function fk(){if(!(k[428]|0))return;dc[k[1712>>2]&255]();return}function gk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=(k[g>>2]|0)<(k[i>>2]|0)?k[g>>2]|0:k[i>>2]|0;a=OQ(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[m>>2]=a;if(k[m>>2]|0){m=k[m>>2]|0;r=n;return m|0}if(((k[f>>2]|0)!=0?(iu((k[h>>2]|0)+(k[l>>2]|0)|0,(k[g>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0)?(iu((k[j>>2]|0)+(k[l>>2]|0)|0,(k[i>>2]|0)-(k[l>>2]|0)|0)|0)!=0:0){m=k[m>>2]|0;r=n;return m|0}k[m>>2]=(k[g>>2]|0)-(k[i>>2]|0);m=k[m>>2]|0;r=n;return m|0}function hk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;f=i+16|0;l=i+12|0;g=i+8|0;j=i+4|0;h=i;k[i+20>>2]=a;k[f>>2]=b;k[l>>2]=c;k[g>>2]=d;k[j>>2]=e;e=Jd(k[l>>2]|0,k[j>>2]|0,(k[f>>2]|0)<(k[g>>2]|0)?k[f>>2]|0:k[g>>2]|0)|0;k[h>>2]=e;if(k[h>>2]|0){l=k[h>>2]|0;r=i;return l|0}k[h>>2]=(k[f>>2]|0)-(k[g>>2]|0);l=k[h>>2]|0;r=i;return l|0}function ik(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=r;r=r+160|0;J=S+32|0;I=S+24|0;H=S+16|0;G=S+8|0;j=S+140|0;T=S+136|0;m=S+132|0;n=S+128|0;o=S+124|0;p=S+120|0;q=S+116|0;F=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;h=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;g=S;E=S+76|0;C=S+72|0;P=S+68|0;D=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;K=S+36|0;k[T>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[F>>2]=0;k[v>>2]=k[k[n>>2]>>2];k[Q>>2]=k[T>>2];b=Tf(k[m>>2]|0)|0;k[h>>2]=b;a:do if(((k[v>>2]&64|0)!=0|(k[5]|0)!=0)&(k[h>>2]|0)>=5?(OQ(k[m>>2]|0,26631,5)|0)==0:0){k[y>>2]=0;b=(k[h>>2]|0)+2|0;T=g;k[T>>2]=b;k[T+4>>2]=((b|0)<0)<<31>>31;k[v>>2]=k[v>>2]|64;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[h>>2]|0))break;b=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==38&1;T=g;b=zR(k[T>>2]|0,k[T+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;T=g;k[T>>2]=b;k[T+4>>2]=L;k[x>>2]=(k[x>>2]|0)+1}T=g;T=Td(k[T>>2]|0,k[T+4>>2]|0)|0;k[M>>2]=T;if(!(k[M>>2]|0)){k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}k[x>>2]=5;do if((i[(k[m>>2]|0)+5>>0]|0)==47?(i[(k[m>>2]|0)+6>>0]|0)==47:0){k[x>>2]=7;while(1){if(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)g=(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)!=47;else g=0;h=k[x>>2]|0;if(!g)break;k[x>>2]=h+1}if((h|0)!=7){if((k[x>>2]|0)==16?(OQ(26637,(k[m>>2]|0)+7|0,9)|0)==0:0)break;T=(k[m>>2]|0)+7|0;k[G>>2]=(k[x>>2]|0)-7;k[G+4>>2]=T;T=Yd(26647,G)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break a}}while(0);k[u>>2]=0;b:while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))break;if((i[t>>0]|0)==35)break;k[x>>2]=(k[x>>2]|0)+1;do if(((i[t>>0]|0)==37?(l[19011+(l[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(l[19011+(l[(k[m>>2]|0)+((k[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=k[x>>2]|0;k[x>>2]=T+1;T=((Ti(i[(k[m>>2]|0)+T>>0]|0)|0)&255)<<4;k[E>>2]=T;T=k[x>>2]|0;k[x>>2]=T+1;T=(Ti(i[(k[m>>2]|0)+T>>0]|0)|0)&255;k[E>>2]=(k[E>>2]|0)+T;if(k[E>>2]|0){i[t>>0]=k[E>>2];break}while(1){T=i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0;i[t>>0]=T;if(!(T<<24>>24))continue b;if((i[t>>0]|0)==35)continue b;if((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)continue b;if((k[u>>2]|0)==1){if((i[t>>0]|0)==61)continue b;if((i[t>>0]|0)==38)continue b}if((k[u>>2]|0)==2?(i[t>>0]|0)==38:0)continue b;k[x>>2]=(k[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((k[u>>2]|0)==1){if((i[t>>0]|0)!=38?(i[t>>0]|0)!=61:0)break;if(!(i[(k[M>>2]|0)+((k[y>>2]|0)-1)>>0]|0))while(1){if(!(i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0))continue b;if((i[(k[m>>2]|0)+(k[x>>2]|0)>>0]|0)==35)continue b;if((i[(k[m>>2]|0)+((k[x>>2]|0)-1)>>0]|0)==38)continue b;k[x>>2]=(k[x>>2]|0)+1}else{if((i[t>>0]|0)==38){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}else k[u>>2]=2;i[t>>0]=0;break c}}while(0);if(!((k[u>>2]|0)==0?(i[t>>0]|0)==63:0)){if((k[u>>2]|0)!=2)break;if((i[t>>0]|0)!=38)break}i[t>>0]=0;k[u>>2]=1}while(0);G=i[t>>0]|0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=G}if((k[u>>2]|0)==1){T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0}T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=k[y>>2]|0;k[y>>2]=T+1;i[(k[M>>2]|0)+T>>0]=0;T=(Tf(k[M>>2]|0)|0)+1|0;k[O>>2]=(k[M>>2]|0)+T;while(1){if(!(i[k[O>>2]>>0]|0)){R=84;break a}T=Tf(k[O>>2]|0)|0;k[C>>2]=T;k[P>>2]=(k[O>>2]|0)+((k[C>>2]|0)+1);T=Tf(k[P>>2]|0)|0;k[D>>2]=T;if((k[C>>2]|0)==3?(OQ(26675,k[O>>2]|0,3)|0)==0:0)k[Q>>2]=k[P>>2];else{k[s>>2]=0;k[N>>2]=0;k[A>>2]=0;k[z>>2]=0;if((k[C>>2]|0)==5?(OQ(26679,k[O>>2]|0,5)|0)==0:0){k[A>>2]=393216;k[s>>2]=4940;k[z>>2]=k[A>>2];k[N>>2]=26679}if((k[C>>2]|0)==4?(OQ(26685,k[O>>2]|0,4)|0)==0:0){k[A>>2]=135;k[s>>2]=4964;k[z>>2]=k[A>>2]&k[v>>2];k[N>>2]=26690}if(k[s>>2]|0){k[B>>2]=0;k[w>>2]=0;while(1){if(!(k[(k[s>>2]|0)+(k[w>>2]<<3)>>2]|0))break;k[K>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)>>2];T=k[D>>2]|0;if((T|0)==(Tf(k[K>>2]|0)|0)?0==(OQ(k[P>>2]|0,k[K>>2]|0,k[D>>2]|0)|0):0){R=73;break}k[w>>2]=(k[w>>2]|0)+1}if((R|0)==73){R=0;k[B>>2]=k[(k[s>>2]|0)+(k[w>>2]<<3)+4>>2]}if(!(k[B>>2]|0)){R=76;break}if((k[B>>2]&-129|0)>(k[z>>2]|0)){R=78;break}k[v>>2]=k[v>>2]&~k[A>>2]|k[B>>2]}}k[O>>2]=(k[P>>2]|0)+((k[D>>2]|0)+1)}if((R|0)==76){T=k[P>>2]|0;k[H>>2]=k[N>>2];k[H+4>>2]=T;T=Yd(26697,H)|0;k[k[q>>2]>>2]=T;k[F>>2]=1;break}else if((R|0)==78){T=k[P>>2]|0;k[I>>2]=k[N>>2];k[I+4>>2]=T;T=Yd(26717,I)|0;k[k[q>>2]>>2]=T;k[F>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(k[h>>2]|0)+2|0;T=Td(T,((T|0)<0)<<31>>31)|0;k[M>>2]=T;if(k[M>>2]|0){BR(k[M>>2]|0,k[m>>2]|0,k[h>>2]|0)|0;i[(k[M>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[M>>2]|0)+((k[h>>2]|0)+1)>>0]=0;k[v>>2]=k[v>>2]&-65;R=84;break}k[j>>2]=7;T=k[j>>2]|0;r=S;return T|0}while(0);if((R|0)==84?(T=Md(k[Q>>2]|0)|0,k[k[o>>2]>>2]=T,(k[k[o>>2]>>2]|0)==0):0){k[J>>2]=k[Q>>2];T=Yd(26741,J)|0;k[k[q>>2]>>2]=T;k[F>>2]=1}if(k[F>>2]|0){Ud(k[M>>2]|0);k[M>>2]=0}k[k[n>>2]>>2]=k[v>>2];k[k[p>>2]>>2]=k[M>>2];k[j>>2]=k[F>>2];T=k[j>>2]|0;r=S;return T|0}function jk(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+192|0;C=I+76|0;g=I+72|0;h=I+68|0;n=I+64|0;D=I+60|0;o=I+56|0;p=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;q=I+4|0;G=I;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[D>>2]=d;k[o>>2]=e;k[p>>2]=f;k[F>>2]=0;k[I+40>>2]=0;k[H>>2]=0;if(!(k[h>>2]|0))c=1;else c=(i[k[h>>2]>>0]|0)==0;k[u>>2]=c&1;if((k[h>>2]|0)!=0?(RQ(k[h>>2]|0,26445)|0)==0:0)c=1;else B=5;do if((B|0)==5){if((k[u>>2]|0)!=0?(fr(k[n>>2]|0)|0)!=0:0){c=1;break}c=(k[p>>2]&128|0)!=0}while(0);k[t>>2]=c&1;if(k[t>>2]|0)k[o>>2]=k[o>>2]|2;if((k[p>>2]&256|0)!=0?(k[t>>2]|0)!=0|(k[u>>2]|0)!=0:0)k[p>>2]=k[p>>2]&-257|512;b=ug(48,0)|0;k[E>>2]=b;if(!(k[E>>2]|0)){k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}i[(k[E>>2]|0)+8>>0]=0;k[k[E>>2]>>2]=k[n>>2];k[(k[E>>2]|0)+32>>2]=k[E>>2];k[(k[E>>2]|0)+32+4>>2]=1;do if(!(k[u>>2]|0)){if((k[t>>2]|0)!=0?(k[p>>2]&64|0)==0:0)break;if(k[p>>2]&131072){u=(Tf(k[h>>2]|0)|0)+1|0;k[v>>2]=u;k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+1;u=(k[w>>2]|0)>(k[v>>2]|0)?k[w>>2]|0:k[v>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[A>>2]=u;i[(k[E>>2]|0)+9>>0]=1;if(!(k[A>>2]|0)){Ud(k[E>>2]|0);k[C>>2]=7;H=k[C>>2]|0;r=I;return H|0}if(!(k[t>>2]|0)){w=gr(k[g>>2]|0,k[h>>2]|0,k[w>>2]|0,k[A>>2]|0)|0;k[H>>2]=w;if(k[H>>2]|0){Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}}else BR(k[A>>2]|0,k[h>>2]|0,k[v>>2]|0)|0;k[F>>2]=k[1215];while(1){if(!(k[F>>2]|0))break;w=k[A>>2]|0;if(0==(RQ(w,Si(k[k[F>>2]>>2]|0,0)|0)|0)?(w=Gi(k[k[F>>2]>>2]|0)|0,(w|0)==(k[g>>2]|0)):0){B=29;break}k[F>>2]=k[(k[F>>2]|0)+68>>2]}do if((B|0)==29){k[s>>2]=(k[(k[n>>2]|0)+20>>2]|0)-1;while(1){if((k[s>>2]|0)<0){B=35;break}k[y>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[s>>2]<<4)+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+4>>2]|0)==(k[F>>2]|0):0)break;k[s>>2]=(k[s>>2]|0)+-1}if((B|0)==35){k[(k[E>>2]|0)+4>>2]=k[F>>2];y=(k[F>>2]|0)+64|0;k[y>>2]=(k[y>>2]|0)+1;break}Ud(k[A>>2]|0);Ud(k[E>>2]|0);k[C>>2]=19;H=k[C>>2]|0;r=I;return H|0}while(0);Ud(k[A>>2]|0)}}while(0);do if(!(k[F>>2]|0)){A=ug(84,0)|0;k[F>>2]=A;if(!(k[F>>2]|0)){k[H>>2]=7;break}A=ir(k[g>>2]|0,k[F>>2]|0,k[h>>2]|0,88,k[o>>2]|0,k[p>>2]|0,149)|0;k[H>>2]=A;if(!(k[H>>2]|0)){A=(k[n>>2]|0)+40|0;jr(k[k[F>>2]>>2]|0,k[A>>2]|0,k[A+4>>2]|0);A=kr(k[k[F>>2]>>2]|0,100,z)|0;k[H>>2]=A}if(!(k[H>>2]|0)){i[(k[F>>2]|0)+16>>0]=k[o>>2];k[(k[F>>2]|0)+4>>2]=k[n>>2];mr(k[k[F>>2]>>2]|0,171,k[F>>2]|0);k[(k[E>>2]|0)+4>>2]=k[F>>2];k[(k[F>>2]|0)+8>>2]=0;k[(k[F>>2]|0)+12>>2]=0;if((nr(k[k[F>>2]>>2]|0)|0)<<24>>24){A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|1}k[(k[F>>2]|0)+32>>2]=l[z+16>>0]<<8|l[z+17>>0]<<16;if(((k[(k[F>>2]|0)+32>>2]|0)>>>0>=512?(k[(k[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((k[(k[F>>2]|0)+32>>2]|0)-1&k[(k[F>>2]|0)+32>>2]|0)==0:0){i[x>>0]=i[z+20>>0]|0;A=(k[F>>2]|0)+22|0;j[A>>1]=m[A>>1]|2;A=(or(z+52|0)|0)!=0;i[(k[F>>2]|0)+17>>0]=A?1:0;A=(or(z+64|0)|0)!=0;i[(k[F>>2]|0)+18>>0]=A?1:0}else{k[(k[F>>2]|0)+32>>2]=0;if(!((k[h>>2]|0)==0|(k[t>>2]|0)!=0)){i[(k[F>>2]|0)+17>>0]=0;i[(k[F>>2]|0)+18>>0]=0}i[x>>0]=0}A=bj(k[k[F>>2]>>2]|0,(k[F>>2]|0)+32|0,l[x>>0]|0)|0;k[H>>2]=A;if(!(k[H>>2]|0)){k[(k[F>>2]|0)+36>>2]=(k[(k[F>>2]|0)+32>>2]|0)-(l[x>>0]|0);if(i[(k[E>>2]|0)+9>>0]|0){k[(k[F>>2]|0)+64>>2]=1;k[(k[F>>2]|0)+68>>2]=k[1215];k[1215]=k[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(i[(k[E>>2]|0)+9>>0]|0){k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break a;B=k[(k[(k[n>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0;k[G>>2]=B;if((B|0)!=0?(l[(k[G>>2]|0)+9>>0]|0)!=0:0)break;k[q>>2]=(k[q>>2]|0)+1}while(1){if(!(k[(k[G>>2]|0)+28>>2]|0))break;k[G>>2]=k[(k[G>>2]|0)+28>>2]}if((k[(k[E>>2]|0)+4>>2]|0)>>>0<(k[(k[G>>2]|0)+4>>2]|0)>>>0){k[(k[E>>2]|0)+24>>2]=k[G>>2];k[(k[E>>2]|0)+28>>2]=0;k[(k[G>>2]|0)+28>>2]=k[E>>2];break}while(1){if(k[(k[G>>2]|0)+24>>2]|0)e=(k[(k[(k[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(k[(k[E>>2]|0)+4>>2]|0)>>>0;else e=0;c=k[(k[G>>2]|0)+24>>2]|0;if(!e)break;k[G>>2]=c}k[(k[E>>2]|0)+24>>2]=c;k[(k[E>>2]|0)+28>>2]=k[G>>2];if(k[(k[E>>2]|0)+24>>2]|0)k[(k[(k[E>>2]|0)+24>>2]|0)+28>>2]=k[E>>2];k[(k[G>>2]|0)+24>>2]=k[E>>2]}while(0);k[k[D>>2]>>2]=k[E>>2]}if(!(k[H>>2]|0)){if(!(er(k[E>>2]|0,0,0)|0))Vj(k[k[(k[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((k[F>>2]|0)!=0?(k[k[F>>2]>>2]|0)!=0:0)pr(k[k[F>>2]>>2]|0)|0;Ud(k[F>>2]|0);Ud(k[E>>2]|0);k[k[D>>2]>>2]=0}k[C>>2]=k[H>>2];H=k[C>>2]|0;r=I;return H|0}function kk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=er(k[d>>2]|0,84,150)|0;k[e>>2]=b}else{b=Bh(0,84,0)|0;k[e>>2]=b}if(!(k[e>>2]|0)){vh(k[c>>2]|0);b=k[e>>2]|0;r=f;return b|0}if(l[(k[e>>2]|0)+76>>0]|0){b=k[e>>2]|0;r=f;return b|0}Hj((k[e>>2]|0)+8|0);Hj((k[e>>2]|0)+24|0);Hj((k[e>>2]|0)+40|0);Hj((k[e>>2]|0)+56|0);i[(k[e>>2]|0)+77>>0]=1;b=k[e>>2]|0;r=f;return b|0}function lk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;a=If(k[b>>2]|0,26439,2)|0;k[d>>2]=a;if((k[d>>2]|0)!=7){r=c;return}vh(k[b>>2]|0);r=c;return}function mk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i;b=i+24|0;d=i+20|0;c=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;k[b>>2]=a;k[c>>2]=1;if(!(k[382]|0)){r=i;return}k[d>>2]=0;while(1){if(!(k[c>>2]|0))break;if((k[d>>2]|0)>>>0>=(k[382]|0)>>>0){k[g>>2]=0;k[c>>2]=0}else k[g>>2]=k[(k[383]|0)+(k[d>>2]<<2)>>2];k[h>>2]=0;if((k[g>>2]|0)!=0?(a=Yb[k[g>>2]&255](k[b>>2]|0,h,4004)|0,k[e>>2]=a,(a|0)!=0):0){j=k[b>>2]|0;a=k[e>>2]|0;k[f>>2]=k[h>>2];tg(j,a,26400,f);k[c>>2]=0}Ud(k[h>>2]|0);k[d>>2]=(k[d>>2]|0)+1}r=i;return}function nk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i+4|0;g=i;k[c>>2]=a;k[h>>2]=0;k[d>>2]=0;k[f>>2]=0;k[e>>2]=0;k[g>>2]=0;ok(g);a=pk(k[c>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}qk(f);rk(e);a=Sd(20)|0;k[d>>2]=a;if(k[d>>2]|0)sk(k[d>>2]|0,1,1);else k[h>>2]=7;do if(!(k[h>>2]|0)){if(((tk(k[d>>2]|0,21055,7,k[f>>2]|0)|0)==0?(tk(k[d>>2]|0,21062,7,k[e>>2]|0)|0)==0:0)?(tk(k[d>>2]|0,21069,10,k[g>>2]|0)|0)==0:0)break;k[h>>2]=7}while(0);if((((((0==(k[h>>2]|0)?(g=uk(k[c>>2]|0,k[d>>2]|0,21079)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21094,-1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21102,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21110,1)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21110,2)|0,k[h>>2]=g,0==(g|0)):0)?(g=If(k[c>>2]|0,21120,1)|0,k[h>>2]=g,0==(g|0)):0){g=pf(k[c>>2]|0,21129,1716,k[d>>2]|0,151)|0;k[h>>2]=g;if(!(k[h>>2]|0)){g=pf(k[c>>2]|0,21134,1716,k[d>>2]|0,0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){g=wk(k[c>>2]|0,k[d>>2]|0)|0;k[h>>2]=g}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}if(k[d>>2]|0){xk(k[d>>2]|0);Ud(k[d>>2]|0)}k[b>>2]=k[h>>2];h=k[b>>2]|0;r=i;return h|0}function ok(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2336;r=b;return}function pk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=of(k[d>>2]|0,26051,2244,0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function qk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2216;r=b;return}function rk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[k[c>>2]>>2]=2188;r=b;return}function sk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d;g=d+5|0;f=d+4|0;k[e>>2]=a;i[g>>0]=b;i[f>>0]=c;i[k[e>>2]>>0]=i[g>>0]|0;i[(k[e>>2]|0)+1>>0]=i[f>>0]|0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=0;k[(k[e>>2]|0)+16>>2]=0;r=d;return}function tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;h=s+40|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;p=s+20|0;o=s+16|0;e=s+12|0;q=s+8|0;t=s+4|0;f=s;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;b=Pk(i[k[j>>2]>>0]|0)|0;k[t>>2]=b;b=gc[k[t>>2]&255](k[l>>2]|0,k[m>>2]|0)|0;k[p>>2]=b;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;b=Qk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;k[e>>2]=b;if(k[e>>2]|0){k[f>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[n>>2]|0))iq(k[j>>2]|0,k[e>>2]|0,k[o>>2]|0);else k[(k[e>>2]|0)+8>>2]=k[n>>2];k[h>>2]=k[f>>2];t=k[h>>2]|0;r=s;return t|0}if(!(k[n>>2]|0)){k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}if(!((k[(k[j>>2]|0)+12>>2]|0)==0?(jq(k[j>>2]|0,8)|0)!=0:0))g=10;do if((g|0)==10){if((k[(k[j>>2]|0)+4>>2]|0)>=(k[(k[j>>2]|0)+12>>2]|0)?(jq(k[j>>2]|0,k[(k[j>>2]|0)+12>>2]<<1)|0)!=0:0)break;t=kq(20)|0;k[q>>2]=t;if(!(k[q>>2]|0)){k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}do if((k[l>>2]|0)!=0?(i[(k[j>>2]|0)+1>>0]|0)!=0:0){d=kq(k[m>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=d;d=k[q>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){BR(k[d+12>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;break}yk(d);k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}else k[(k[q>>2]|0)+12>>2]=k[l>>2];while(0);k[(k[q>>2]|0)+16>>2]=k[m>>2];t=(k[j>>2]|0)+4|0;k[t>>2]=(k[t>>2]|0)+1;k[o>>2]=k[p>>2]&(k[(k[j>>2]|0)+12>>2]|0)-1;lq(k[j>>2]|0,(k[(k[j>>2]|0)+16>>2]|0)+(k[o>>2]<<3)|0,k[q>>2]|0);k[(k[q>>2]|0)+8>>2]=k[n>>2];k[h>>2]=0;t=k[h>>2]|0;r=s;return t|0}while(0);k[(k[j>>2]|0)+4>>2]=0;k[h>>2]=k[n>>2];t=k[h>>2]|0;r=s;return t|0}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;k[d>>2]=a;k[i>>2]=b;k[e>>2]=c;k[g>>2]=0;k[f>>2]=k[i>>2];k[h>>2]=5;if(!(k[g>>2]|0)){i=Gf(k[d>>2]|0,k[e>>2]|0,1,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i}if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}i=Gf(k[d>>2]|0,k[e>>2]|0,2,5,k[f>>2]|0,225,0,0)|0;k[g>>2]=i;i=k[g>>2]|0;r=h;return i|0}function vk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];xk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function wk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=of(k[f>>2]|0,21139,1808,k[e>>2]|0)|0;k[c>>2]=b;r=d;return k[c>>2]|0}function xk(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];k[(k[b>>2]|0)+8>>2]=0;yk(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+12>>2]=0;while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];if((i[(k[b>>2]|0)+1>>0]|0)!=0?(k[(k[c>>2]|0)+12>>2]|0)!=0:0)yk(k[(k[c>>2]|0)+12>>2]|0);yk(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+4>>2]=0;r=e;return}function yk(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function zk(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;w=r;r=r+64|0;g=w+56|0;x=w+52|0;h=w+48|0;i=w+44|0;j=w+40|0;l=w+36|0;m=w+32|0;s=w+28|0;q=w+24|0;t=w+20|0;u=w+16|0;o=w+12|0;p=w+8|0;v=w+4|0;n=w;k[x>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[s>>2]=0;k[q>>2]=0;k[t>>2]=0;k[o>>2]=0;f=qf(k[x>>2]|0,21152)|0;k[u>>2]=f;if(k[u>>2]|0){k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}k[p>>2]=(k[i>>2]|0)-3;x=Kk(k[p>>2]|0,(k[j>>2]|0)+12|0,o)|0;k[u>>2]=x;if(!(k[u>>2]|0)){if((k[p>>2]|0)<1)k[v>>2]=21055;else k[v>>2]=k[k[o>>2]>>2];x=Lk(k[h>>2]|0,k[v>>2]|0,q,k[m>>2]|0)|0;k[u>>2]=x}if(!(k[u>>2]|0)){k[n>>2]=(k[o>>2]|0)+4;x=Yb[k[(k[q>>2]|0)+4>>2]&255]((k[p>>2]|0)>1?(k[p>>2]|0)-1|0:0,k[n>>2]|0,t)|0;k[u>>2]=x}if((k[u>>2]|0)==0?(x=Sd(20)|0,k[s>>2]=x,(k[s>>2]|0)==0):0)k[u>>2]=7;if(k[u>>2]|0){if(k[t>>2]|0)bc[k[(k[q>>2]|0)+8>>2]&255](k[t>>2]|0)|0}else{x=k[s>>2]|0;k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[(k[s>>2]|0)+12>>2]=k[q>>2];k[(k[s>>2]|0)+16>>2]=k[t>>2];k[k[l>>2]>>2]=k[s>>2]}Ud(k[o>>2]|0);k[g>>2]=k[u>>2];x=k[g>>2]|0;r=w;return x|0}function Ak(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){b=8;break}if(((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+5>>0]|0|0)!=0?(k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)>>2]|0)==0:0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*12|0)+4>>0]|0|0)==2:0){b=6;break}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==6){k[(k[d>>2]|0)+20>>2]=1;k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=1;i[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1;p[(k[d>>2]|0)+40>>3]=1.0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}else if((b|0)==8){k[(k[d>>2]|0)+20>>2]=0;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Bk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+16>>2]|0)|0;Ud(k[c>>2]|0);r=b;return 0}function Ck(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;d=f+4|0;e=f;k[f+8>>2]=a;k[d>>2]=b;b=Sd(36)|0;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=7;e=k[c>>2]|0;r=f;return e|0}else{a=k[e>>2]|0;b=a+36|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[k[d>>2]>>2]=k[e>>2];k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Dk(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];Jk(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function Ek(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+40|0;g=p+36|0;q=p+32|0;h=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;j=p;k[g>>2]=a;k[q>>2]=b;k[p+28>>2]=c;k[p+24>>2]=d;k[h>>2]=e;k[n>>2]=1;k[l>>2]=k[g>>2];k[m>>2]=k[k[g>>2]>>2];Jk(k[l>>2]|0);do if((k[q>>2]|0)==1){q=ke(k[k[h>>2]>>2]|0)|0;k[o>>2]=q;q=le(k[k[h>>2]>>2]|0)|0;k[j>>2]=q;q=Sd((k[j>>2]|0)+1|0)|0;k[(k[l>>2]|0)+4>>2]=q;if(!(k[(k[l>>2]|0)+4>>2]|0)){k[n>>2]=7;break}BR(k[(k[l>>2]|0)+4>>2]|0,k[o>>2]|0,k[j>>2]|0)|0;i[(k[(k[l>>2]|0)+4>>2]|0)+(k[j>>2]|0)>>0]=0;q=ec[k[(k[(k[m>>2]|0)+12>>2]|0)+12>>2]&255](k[(k[m>>2]|0)+16>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[j>>2]|0,(k[l>>2]|0)+8|0)|0;k[n>>2]=q;if(!(k[n>>2]|0))k[k[(k[l>>2]|0)+8>>2]>>2]=k[(k[m>>2]|0)+16>>2]}while(0);if(k[n>>2]|0){k[f>>2]=k[n>>2];q=k[f>>2]|0;r=p;return q|0}else{q=Fk(k[g>>2]|0)|0;k[f>>2]=q;q=k[f>>2]|0;r=p;return q|0}return 0}function Fk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;b=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[b>>2]=k[f>>2];k[e>>2]=k[k[f>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;a=ac[k[(k[(k[e>>2]|0)+12>>2]|0)+20>>2]&255](k[(k[b>>2]|0)+8>>2]|0,(k[b>>2]|0)+16|0,(k[b>>2]|0)+20|0,(k[b>>2]|0)+24|0,(k[b>>2]|0)+28|0,(k[b>>2]|0)+32|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){f=k[c>>2]|0;r=d;return f|0}Jk(k[b>>2]|0);if((k[c>>2]|0)!=101){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=d;return f|0}function Gk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];r=c;return (k[(k[b>>2]|0)+16>>2]|0)==0|0}function Hk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;d=f+8|0;g=f+4|0;e=f;k[h>>2]=a;k[d>>2]=b;k[g>>2]=c;k[e>>2]=k[h>>2];switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]|0,-1,-1);r=f;return 0}case 1:{xe(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0,-1);r=f;return 0}case 2:{ue(k[d>>2]|0,k[(k[e>>2]|0)+24>>2]|0);r=f;return 0}case 3:{ue(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);r=f;return 0}default:{ue(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);r=f;return 0}}return 0}function Ik(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[f>>2];a=k[(k[e>>2]|0)+12>>2]|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;r=c;return 0}function Jk(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(k[(k[b>>2]|0)+8>>2]|0){k[c>>2]=k[k[b>>2]>>2];bc[k[(k[(k[c>>2]|0)+12>>2]|0)+16>>2]&255](k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=0}Ud(k[(k[b>>2]|0)+4>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[(k[b>>2]|0)+16>>2]=0;k[(k[b>>2]|0)+20>>2]=0;k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+12>>2]=0;r=d;return}function Kk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;m=n+20|0;h=n+16|0;j=n+12|0;g=n+8|0;l=n+4|0;i=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=0;if(!(k[d>>2]|0)){k[k[f>>2]>>2]=0;m=k[m>>2]|0;r=n;return m|0}k[j>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=(UQ(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0)+1|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=(k[h>>2]|0)+1}c=Sd((k[d>>2]<<2)+(k[j>>2]|0)|0)|0;k[g>>2]=c;k[k[f>>2]>>2]=c;if(!(k[g>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+(k[d>>2]<<2);k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[d>>2]|0))break;c=UQ(k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;k[i>>2]=c;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[l>>2];BR(k[l>>2]|0,k[(k[e>>2]|0)+(k[h>>2]<<2)>>2]|0,(k[i>>2]|0)+1|0)|0;Wk(k[l>>2]|0);k[l>>2]=(k[l>>2]|0)+((k[i>>2]|0)+1);k[h>>2]=(k[h>>2]|0)+1}m=k[m>>2]|0;r=n;return m|0}function Lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;j=l;e=l+28|0;n=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;i=l+8|0;m=l+4|0;k[n>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=UQ(k[f>>2]|0)|0;k[m>>2]=b;b=Mk(k[n>>2]|0,k[f>>2]|0,(k[m>>2]|0)+1|0)|0;k[i>>2]=b;if(k[i>>2]|0){k[k[g>>2]>>2]=k[i>>2];k[e>>2]=0;n=k[e>>2]|0;r=l;return n|0}else{n=k[h>>2]|0;k[j>>2]=k[f>>2];Nk(n,21203,j);k[e>>2]=1;n=k[e>>2]|0;r=l;return n|0}return 0}function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;b=Ok(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;if(!(k[d>>2]|0)){h=0;r=e;return h|0}h=k[(k[d>>2]|0)+8>>2]|0;r=e;return h|0}function Nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;Ud(k[k[e>>2]>>2]|0);k[f>>2]=c;b=Xd(k[g>>2]|0,f)|0;k[k[e>>2]>>2]=b;r=d;return}function Ok(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)!=0?(k[(k[e>>2]|0)+16>>2]|0)!=0:0){b=Pk(i[k[e>>2]>>0]|0)|0;k[j>>2]=b;j=gc[k[j>>2]&255](k[f>>2]|0,k[g>>2]|0)|0;k[h>>2]=j;j=Qk(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]&(k[(k[e>>2]|0)+12>>2]|0)-1)|0;k[d>>2]=j;j=k[d>>2]|0;r=l;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Pk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=180;else k[b>>2]=181;r=c;return k[b>>2]|0}function Qk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;h=p+32|0;e=p+28|0;j=p+24|0;l=p+20|0;f=p+16|0;n=p+12|0;m=p+8|0;o=p+4|0;g=p;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[f>>2]=d;a:do if(k[(k[e>>2]|0)+16>>2]|0){k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<3);k[n>>2]=k[(k[g>>2]|0)+4>>2];k[m>>2]=k[k[g>>2]>>2];b=Rk(i[k[e>>2]>>0]|0)|0;k[o>>2]=b;while(1){b=k[m>>2]|0;k[m>>2]=b+-1;if(!((b|0)!=0?(k[n>>2]|0)!=0:0))break a;b=(ec[k[o>>2]&255](k[(k[n>>2]|0)+12>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0;e=k[n>>2]|0;if(b)break;k[n>>2]=k[e>>2]}k[h>>2]=e;o=k[h>>2]|0;r=p;return o|0}while(0);k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}function Rk(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[d>>2]|0)==1)k[b>>2]=142;else k[b>>2]=143;r=c;return k[b>>2]|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=VQ(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Tk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;j=i;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((k[g>>2]|0)!=(k[j>>2]|0)){k[e>>2]=1;j=k[e>>2]|0;r=i;return j|0}else{j=OQ(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[e>>2]=j;j=k[e>>2]|0;r=i;return j|0}return 0}function Uk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[e>>2]=k[g>>2];k[d>>2]=0;if((k[c>>2]|0)<=0){g=UQ(k[e>>2]|0)|0;k[c>>2]=g}while(1){b=k[d>>2]|0;if((k[c>>2]|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0];k[c>>2]=(k[c>>2]|0)+-1}r=f;return b&2147483647|0}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=k[g>>2];while(1){g=k[c>>2]|0;k[c>>2]=g+-1;b=k[d>>2]|0;if((g|0)<=0)break;a=b<<3^k[d>>2];g=k[e>>2]|0;k[e>>2]=g+1;k[d>>2]=a^i[g>>0]}r=f;return b&2147483647|0}function Wk(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;f=g+12|0;d=g+4|0;e=g;k[c>>2]=a;i[f>>0]=i[k[c>>2]>>0]|0;if((((i[f>>0]|0)!=91?(i[f>>0]|0)!=39:0)?(i[f>>0]|0)!=34:0)?(i[f>>0]|0)!=96:0){r=g;return}k[d>>2]=1;k[e>>2]=0;if((i[f>>0]|0)==91)i[f>>0]=93;while(1){if(!(i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0))break;a=k[d>>2]|0;b=a+1|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)!=(i[f>>0]|0)){k[d>>2]=b;a=i[(k[c>>2]|0)+a>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;continue}if((i[(k[c>>2]|0)+b>>0]|0)!=(i[f>>0]|0))break;a=i[f>>0]|0;b=k[e>>2]|0;k[e>>2]=b+1;i[(k[c>>2]|0)+b>>0]=a;k[d>>2]=(k[d>>2]|0)+2}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;r=g;return}function Xk(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,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Tp(1,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function Yk(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,i=0,j=0,l=0,m=0,n=0;g=r;r=r+32|0;n=g+20|0;m=g+16|0;l=g+12|0;j=g+8|0;i=g+4|0;h=g;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[i>>2]=e;k[h>>2]=f;f=Tp(0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;r=g;return f|0}function Zk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+64|0;q=u+48|0;v=u+44|0;s=u+40|0;m=u+36|0;d=u+32|0;e=u+28|0;j=u+24|0;f=u+20|0;g=u+16|0;h=u+12|0;c=u+8|0;n=u+4|0;t=u;k[v>>2]=a;k[s>>2]=b;k[m>>2]=k[v>>2];k[e>>2]=-1;k[j>>2]=-1;k[f>>2]=-1;k[g>>2]=-1;k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=5.0e6;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=(k[k[s>>2]>>2]|0))break;k[n>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*12|0);b=k[n>>2]|0;b:do if(!(l[(k[n>>2]|0)+5>>0]|0)){if((l[b+4>>0]|0)==64){o=5;break a}}else{if((k[b>>2]|0)<0)b=1;else b=(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+1|0);k[c>>2]=b&1;if((k[e>>2]|0)<0?((k[c>>2]|0)!=0?(l[(k[n>>2]|0)+4>>0]|0)==2:0):0){k[(k[s>>2]|0)+20>>2]=1;p[(k[s>>2]|0)+40>>3]=1.0;k[e>>2]=k[d>>2]}if(((l[(k[n>>2]|0)+4>>0]|0)==64?(k[k[n>>2]>>2]|0)>=0:0)?(k[k[n>>2]>>2]|0)<=(k[(k[m>>2]|0)+24>>2]|0):0){k[(k[s>>2]|0)+20>>2]=2+(k[k[n>>2]>>2]|0);p[(k[s>>2]|0)+40>>3]=2.0;k[e>>2]=k[d>>2]}if((l[(k[n>>2]|0)+4>>0]|0)==2?(k[k[n>>2]>>2]|0)==((k[(k[m>>2]|0)+24>>2]|0)+2|0):0)k[j>>2]=k[d>>2];if(k[c>>2]|0)switch(l[(k[n>>2]|0)+4>>0]|0){case 4:case 32:{k[f>>2]=k[d>>2];break b}case 16:case 8:{k[g>>2]=k[d>>2];break b}default:break b}}while(0);k[d>>2]=(k[d>>2]|0)+1}if((o|0)==5){k[(k[s>>2]|0)+20>>2]=0;p[(k[s>>2]|0)+40>>3]=1.e+50;Rp(k[s>>2]|0,0,262144);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)==1)Sp(k[s>>2]|0);k[h>>2]=1;if((k[e>>2]|0)>=0){v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)>>2]=v;i[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<3)+4>>0]=1}if((k[j>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|65536;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[j>>2]<<3)>>2]=v}if((k[f>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|131072;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[f>>2]<<3)>>2]=v}if((k[g>>2]|0)>=0){v=(k[s>>2]|0)+20|0;k[v>>2]=k[v>>2]|262144;v=k[h>>2]|0;k[h>>2]=v+1;k[(k[(k[s>>2]|0)+16>>2]|0)+(k[g>>2]<<3)>>2]=v}do if((k[(k[s>>2]|0)+8>>2]|0)==1){k[t>>2]=k[(k[s>>2]|0)+12>>2];if((k[k[t>>2]>>2]|0)>=0?(k[k[t>>2]>>2]|0)!=((k[(k[m>>2]|0)+24>>2]|0)+1|0):0)break;b=(k[s>>2]|0)+24|0;if(i[(k[t>>2]|0)+4>>0]|0)k[b>>2]=24232;else k[b>>2]=24237;k[(k[s>>2]|0)+32>>2]=1}while(0);k[q>>2]=0;v=k[q>>2]|0;r=u;return v|0}function _k(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[e>>2];k[b>>2]=0;while(1){if((k[b>>2]|0)>=40)break;ge(k[(k[c>>2]|0)+56+(k[b>>2]<<2)>>2]|0)|0;k[b>>2]=(k[b>>2]|0)+1}Ud(k[(k[c>>2]|0)+240>>2]|0);Ud(k[(k[c>>2]|0)+216>>2]|0);Ud(k[(k[c>>2]|0)+220>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);bc[k[(k[k[(k[c>>2]|0)+36>>2]>>2]|0)+8>>2]&255](k[(k[c>>2]|0)+36>>2]|0)|0;Ud(k[c>>2]|0);r=d;return 0}function $k(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;f=m;b=m+56|0;d=m+52|0;e=m+48|0;l=m+44|0;c=m+40|0;k[b>>2]=a;k[d>>2]=k[b>>2];k[e>>2]=0;k[l>>2]=k[(k[d>>2]|0)+16>>2];k[c>>2]=k[(k[d>>2]|0)+12>>2];if(!(k[(k[d>>2]|0)+40>>2]|0)){a=k[c>>2]|0;n=k[(k[d>>2]|0)+20>>2]|0;k[f>>2]=k[l>>2];k[f+4>>2]=n;vl(e,a,24432,f)}n=k[c>>2]|0;f=k[(k[d>>2]|0)+20>>2]|0;k[i>>2]=k[l>>2];k[i+4>>2]=f;vl(e,n,24469,i);n=k[c>>2]|0;i=k[(k[d>>2]|0)+20>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=i;vl(e,n,24507,j);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[g>>2]=k[l>>2];k[g+4>>2]=j;vl(e,n,24543,g);n=k[c>>2]|0;j=k[(k[d>>2]|0)+20>>2]|0;k[h>>2]=k[l>>2];k[h+4>>2]=j;vl(e,n,24580,h);if(!(k[e>>2]|0)){n=_k(k[b>>2]|0)|0;r=m;return n|0}else{n=k[e>>2]|0;r=m;return n|0}return 0}function al(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;d=e+12|0;f=e+4|0;c=e;k[e+8>>2]=a;k[f>>2]=b;b=Sd(96)|0;k[c>>2]=b;k[k[f>>2]>>2]=b;if(k[c>>2]|0){c=k[c>>2]|0;a=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[d>>2]=0;f=k[d>>2]|0;r=e;return f|0}else{k[d>>2]=7;f=k[d>>2]|0;r=e;return f|0}return 0}function bl(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];ge(k[(k[c>>2]|0)+8>>2]|0)|0;op(k[(k[c>>2]|0)+12>>2]|0);Qp(k[c>>2]|0);Ud(k[(k[c>>2]|0)+44>>2]|0);Hm(k[(k[c>>2]|0)+92>>2]|0);Ud(k[c>>2]|0);r=b;return 0}function cl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+112|0;B=D+32|0;A=D;t=D+108|0;u=D+104|0;f=D+100|0;m=D+96|0;g=D+88|0;z=D+84|0;C=D+80|0;n=D+76|0;v=D+72|0;w=D+68|0;p=D+64|0;q=D+60|0;x=D+56|0;y=D+52|0;h=D+48|0;o=D+44|0;s=D+40|0;k[u>>2]=a;k[f>>2]=b;k[m>>2]=c;k[D+92>>2]=d;k[g>>2]=e;k[z>>2]=0;k[v>>2]=k[k[u>>2]>>2];k[w>>2]=k[u>>2];k[p>>2]=0;k[q>>2]=0;k[x>>2]=0;k[y>>2]=0;k[n>>2]=k[f>>2]&65535;k[h>>2]=0;if(k[n>>2]|0){a=k[h>>2]|0;k[h>>2]=a+1;k[p>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&65536){a=k[h>>2]|0;k[h>>2]=a+1;k[q>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&131072){a=k[h>>2]|0;k[h>>2]=a+1;k[x>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}if(k[f>>2]&262144){a=k[h>>2]|0;k[h>>2]=a+1;k[y>>2]=k[(k[g>>2]|0)+(a<<2)>>2]}ge(k[(k[w>>2]|0)+8>>2]|0)|0;Ud(k[(k[w>>2]|0)+44>>2]|0);Hm(k[(k[w>>2]|0)+92>>2]|0);op(k[(k[w>>2]|0)+12>>2]|0);f=(k[u>>2]|0)+4|0;g=f+92|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a=pp(k[x>>2]|0,0,-2147483648)|0;d=(k[w>>2]|0)+72|0;k[d>>2]=a;k[d+4>>2]=L;d=pp(k[y>>2]|0,-1,2147483647)|0;a=(k[w>>2]|0)+80|0;k[a>>2]=d;k[a+4>>2]=L;if(k[m>>2]|0)i[(k[w>>2]|0)+52>>0]=(i[k[m>>2]>>0]|0)==68;else i[(k[w>>2]|0)+52>>0]=i[(k[v>>2]|0)+231>>0]|0;j[(k[w>>2]|0)+4>>1]=k[n>>2];do if((k[n>>2]|0)!=1&(k[n>>2]|0)!=0){k[o>>2]=(k[n>>2]|0)-2;m=ke(k[p>>2]|0)|0;k[s>>2]=m;if((k[s>>2]|0)==0?(pe(k[p>>2]|0)|0)!=5:0){k[t>>2]=7;C=k[t>>2]|0;r=D;return C|0}k[(k[w>>2]|0)+16>>2]=0;if(k[q>>2]|0){q=ne(k[q>>2]|0)|0;k[(k[w>>2]|0)+16>>2]=q}s=qp(k[(k[v>>2]|0)+36>>2]|0,k[(k[w>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+28>>2]|0,l[(k[v>>2]|0)+228>>0]|0,k[(k[v>>2]|0)+24>>2]|0,k[o>>2]|0,k[s>>2]|0,-1,(k[w>>2]|0)+12|0,(k[v>>2]|0)+8|0)|0;k[z>>2]=s;if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}s=rp(k[w>>2]|0)|0;k[z>>2]=s;Gm(k[v>>2]|0);if(!(k[z>>2]|0)){k[(k[w>>2]|0)+40>>2]=k[(k[w>>2]|0)+44>>2];s=(k[w>>2]|0)+32|0;k[s>>2]=0;k[s+4>>2]=0;break}k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}while(0);do if(!(k[n>>2]|0)){f=k[(k[v>>2]|0)+216>>2]|0;g=k[w>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0){q=g+72|0;p=k[q>>2]|0;q=k[q+4>>2]|0;x=(k[w>>2]|0)+80|0;s=k[x>>2]|0;x=k[x+4>>2]|0;B=(l[(k[w>>2]|0)+52>>0]|0)!=0?24232:24237;k[A>>2]=f;y=A+8|0;k[y>>2]=p;k[y+4>>2]=q;y=A+16|0;k[y>>2]=s;k[y+4>>2]=x;k[A+24>>2]=B;B=Yd(24241,A)|0;k[C>>2]=B}else{A=(l[g+52>>0]|0)!=0?24232:24237;k[B>>2]=f;k[B+4>>2]=A;B=Yd(24303,B)|0;k[C>>2]=B}if(k[C>>2]|0){B=lf(k[(k[v>>2]|0)+12>>2]|0,k[C>>2]|0,-1,(k[w>>2]|0)+8|0,0)|0;k[z>>2]=B;Ud(k[C>>2]|0);break}else{k[z>>2]=7;break}}else if((k[n>>2]|0)==1?(C=Nn(k[w>>2]|0,(k[w>>2]|0)+8|0)|0,k[z>>2]=C,(k[z>>2]|0)==0):0){C=Ze(k[(k[w>>2]|0)+8>>2]|0,1,k[p>>2]|0)|0;k[z>>2]=C}while(0);if(k[z>>2]|0){k[t>>2]=k[z>>2];C=k[t>>2]|0;r=D;return C|0}else{C=dl(k[u>>2]|0)|0;k[t>>2]=C;C=k[t>>2]|0;r=D;return C|0}return 0}function dl(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[b>>2];if((j[(k[c>>2]|0)+4>>1]|0)!=1?(j[(k[c>>2]|0)+4>>1]|0)!=0:0){c=np(k[b>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}a=100!=(Ee(k[(k[c>>2]|0)+8>>2]|0)|0);b=k[c>>2]|0;if(a){i[b+6>>0]=1;c=he(k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=c;d=k[d>>2]|0;r=e;return d|0}else{a=Oe(k[b+8>>2]|0,0)|0;c=(k[c>>2]|0)+32|0;k[c>>2]=a;k[c+4>>2]=L;k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}return 0}function el(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+6>>0]|0|0}function fl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;d=j+20|0;e=j+16|0;i=j+12|0;h=j+8|0;g=j+4|0;f=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[i>>2]=0;k[h>>2]=k[l>>2];k[g>>2]=k[k[l>>2]>>2];if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+1|0)){l=(k[h>>2]|0)+32|0;ve(k[d>>2]|0,k[l>>2]|0,k[l+4>>2]|0);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==(k[(k[g>>2]|0)+24>>2]|0)){qe(k[d>>2]|0,h,4,-1);l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)?(k[(k[h>>2]|0)+12>>2]|0)!=0:0){l=k[(k[h>>2]|0)+16>>2]|0;ve(k[d>>2]|0,l,((l|0)<0)<<31>>31);l=k[i>>2]|0;r=j;return l|0}l=Bn(0,k[h>>2]|0)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;r=j;return l|0}if((k[e>>2]|0)==((k[(k[g>>2]|0)+24>>2]|0)+2|0)){k[f>>2]=0;if(k[(k[g>>2]|0)+44>>2]|0){l=Ne(k[(k[h>>2]|0)+8>>2]|0,(k[(k[g>>2]|0)+24>>2]|0)+1|0)|0;k[f>>2]=l}ue(k[d>>2]|0,k[f>>2]|0);l=k[i>>2]|0;r=j;return l|0}else{l=Je(k[(k[h>>2]|0)+8>>2]|0)|0;if((l|0)<=((k[e>>2]|0)+1|0)){l=k[i>>2]|0;r=j;return l|0}l=k[d>>2]|0;ze(l,Qe(k[(k[h>>2]|0)+8>>2]|0,(k[e>>2]|0)+1|0)|0);l=k[i>>2]|0;r=j;return l|0}return 0}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;e=c+4|0;d=c;k[f>>2]=a;k[e>>2]=b;k[d>>2]=k[f>>2];d=(k[d>>2]|0)+32|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function hl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=Oo(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;r=e;return a|0}function il(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[(k[c>>2]|0)+52>>2]=0;a=tl(k[c>>2]|0)|0;r=b;return a|0}function jl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;g=f+20|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[g>>2]=a;k[f+16>>2]=64;k[d>>2]=k[g>>2];a=ul(k[d>>2]|0)|0;k[e>>2]=a;if(((((k[e>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)>>>0>4:0)?(k[(k[d>>2]|0)+48>>2]|0)!=0:0)?(k[(k[d>>2]|0)+48>>2]|0)!=255:0)?(k[c>>2]=0,g=no(k[d>>2]|0,c)|0,k[e>>2]=g,g=ha(k[(k[d>>2]|0)+52>>2]|0,k[c>>2]|0)|0,k[b>>2]=g,k[b>>2]=(k[b>>2]|0)+((k[b>>2]|0)/2|0),(k[b>>2]|0)>64):0){g=oo(k[d>>2]|0,k[b>>2]|0,k[(k[d>>2]|0)+48>>2]|0)|0;k[e>>2]=g}Gm(k[d>>2]|0);r=f;return k[e>>2]|0}function kl(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function ll(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];rl(k[c>>2]|0);r=b;return 0}function ml(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+80|0;h=l+64|0;m=l+60|0;f=l+48|0;i=l+44|0;j=l+8|0;g=l;k[m>>2]=d;d=k[m>>2]|0;k[l+56>>2]=a;k[l+52>>2]=b;k[f>>2]=c;k[i>>2]=d;k[l+40>>2]=e;k[j>>2]=k[515];k[j+4>>2]=k[516];k[j+8>>2]=k[517];k[j+12>>2]=k[518];k[j+16>>2]=k[519];k[j+20>>2]=k[520];k[j+24>>2]=k[521];k[j+28>>2]=k[522];k[g>>2]=0;while(1){if((k[g>>2]|0)>=4){b=6;break}m=(RQ(k[f>>2]|0,k[j+(k[g>>2]<<3)>>2]|0)|0)==0;a=k[g>>2]|0;if(m){b=4;break}k[g>>2]=a+1}if((b|0)==4){k[k[i>>2]>>2]=k[j+(a<<3)+4>>2];k[h>>2]=1;m=k[h>>2]|0;r=l;return m|0}else if((b|0)==6){k[h>>2]=0;m=k[h>>2]|0;r=l;return m|0}return 0}function nl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+96|0;j=n+64|0;h=n+48|0;m=n+32|0;l=n+16|0;g=n;o=n+92|0;c=n+88|0;e=n+84|0;d=n+80|0;f=n+76|0;k[o>>2]=a;k[c>>2]=b;k[e>>2]=k[o>>2];k[d>>2]=k[(k[e>>2]|0)+12>>2];b=tl(k[e>>2]|0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){o=ul(k[e>>2]|0)|0;k[f>>2]=o}if(!(k[(k[e>>2]|0)+40>>2]|0)){o=k[d>>2]|0;a=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[g>>2]=k[(k[e>>2]|0)+16>>2];k[g+4>>2]=a;k[g+8>>2]=b;vl(f,o,21225,g)}if(i[(k[e>>2]|0)+230>>0]|0){o=k[d>>2]|0;g=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[l>>2]=k[(k[e>>2]|0)+16>>2];k[l+4>>2]=g;k[l+8>>2]=b;vl(f,o,21278,l)}if(i[(k[e>>2]|0)+229>>0]|0){o=k[d>>2]|0;l=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[m>>2]=k[(k[e>>2]|0)+16>>2];k[m+4>>2]=l;k[m+8>>2]=b;vl(f,o,21331,m)}o=k[d>>2]|0;b=k[(k[e>>2]|0)+20>>2]|0;m=k[c>>2]|0;k[h>>2]=k[(k[e>>2]|0)+16>>2];k[h+4>>2]=b;k[h+8>>2]=m;vl(f,o,21378,h);o=k[d>>2]|0;m=k[(k[e>>2]|0)+20>>2]|0;b=k[c>>2]|0;k[j>>2]=k[(k[e>>2]|0)+16>>2];k[j+4>>2]=m;k[j+8>>2]=b;vl(f,o,21432,j);r=n;return k[f>>2]|0}function ol(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e;k[c>>2]=a;k[e+4>>2]=b;k[d>>2]=0;if(l[(k[c>>2]|0)+232>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=jl(k[c>>2]|0)|0;k[d>>2]=a;d=k[d>>2]|0;r=e;return d|0}function pl(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function ql(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c;k[e>>2]=a;k[c+4>>2]=b;k[d>>2]=k[e>>2];rl(k[d>>2]|0);r=c;return 0}function rl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+248>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+252>>2]|0)+((k[c>>2]|0)*24|0)+4;k[d>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+8>>2];sl(k[f>>2]|0);k[d>>2]=k[k[d>>2]>>2]}xk(k[e>>2]|0);k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+260>>2]=0;r=g;return}function sl(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[c>>2]|0);r=b;return}function tl(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j;b=j+28|0;e=j+24|0;g=j+20|0;h=j+16|0;d=j+12|0;c=j+8|0;k[b>>2]=a;k[e>>2]=0;if((l[(k[b>>2]|0)+229>>0]|0|0)!=2){h=k[e>>2]|0;r=j;return h|0}k[g>>2]=23789;g=k[g>>2]|0;a=k[(k[b>>2]|0)+20>>2]|0;k[f>>2]=k[(k[b>>2]|0)+16>>2];k[f+4>>2]=a;g=Yd(g,f)|0;k[h>>2]=g;if(!(k[h>>2]|0)){k[e>>2]=7;h=k[e>>2]|0;r=j;return h|0}k[d>>2]=0;g=lf(k[(k[b>>2]|0)+12>>2]|0,k[h>>2]|0,-1,d,0)|0;k[e>>2]=g;if((k[e>>2]|0)==0?(g=(Ee(k[d>>2]|0)|0)==100&1,k[c>>2]=g,g=ge(k[d>>2]|0)|0,k[e>>2]=g,(k[e>>2]|0)==0):0)i[(k[b>>2]|0)+229>>0]=k[c>>2];Ud(k[h>>2]|0);h=k[e>>2]|0;r=j;return h|0}function ul(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[f>>2]=0;k[d>>2]=0;while(1){if(!(k[f>>2]|0))a=(k[d>>2]|0)<(k[(k[c>>2]|0)+248>>2]|0);else a=0;b=k[c>>2]|0;if(!a)break;b=wl(b,k[(k[c>>2]|0)+272>>2]|0,k[d>>2]|0,-1)|0;k[f>>2]=b;k[f>>2]=(k[f>>2]|0)==101?0:b;k[d>>2]=(k[d>>2]|0)+1}rl(b);if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}if(!(l[(k[c>>2]|0)+229>>0]|0)){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+48>>2]|0)!=255){f=k[f>>2]|0;r=g;return f|0}if((k[(k[c>>2]|0)+52>>2]|0)>>>0<=0){f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;d=xl(k[c>>2]|0,22,e,0)|0;k[f>>2]=d;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}Ve(k[e>>2]|0,1,2)|0;d=Ee(k[e>>2]|0)|0;k[f>>2]=d;if((k[f>>2]|0)==100){d=Ne(k[e>>2]|0,0)|0;k[(k[c>>2]|0)+48>>2]=d;if((k[(k[c>>2]|0)+48>>2]|0)==1)k[(k[c>>2]|0)+48>>2]=8}else if((k[f>>2]|0)==101)k[(k[c>>2]|0)+48>>2]=0;e=he(k[e>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}function vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;e=j+32|0;f=j+28|0;g=j+24|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(k[k[e>>2]>>2]|0){r=j;return}k[h>>2]=d;c=Xd(k[g>>2]|0,h)|0;k[i>>2]=c;if(!(k[i>>2]|0)){k[k[e>>2]>>2]=7;r=j;return}else{c=kf(k[f>>2]|0,k[i>>2]|0,0,0,0)|0;k[k[e>>2]>>2]=c;Ud(k[i>>2]|0);r=j;return}}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+128|0;e=s+120|0;f=s+116|0;g=s+112|0;h=s+108|0;q=s+104|0;m=s+100|0;o=s+8|0;p=s+96|0;l=s+80|0;j=s+24|0;i=s+16|0;n=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=0;a=o;k[a>>2]=0;k[a+4>>2]=0;k[p>>2]=0;k[i>>2]=0;a=n;k[a>>2]=0;k[a+4>>2]=0;a=yl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0,0,1,0,j)|0;k[q>>2]=a;do if((k[q>>2]|0)==0?(k[j+4>>2]|0)!=0:0){if((k[h>>2]|0)!=-1?(a=zl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,n)|0,k[q>>2]=a,(k[q>>2]|0)!=0):0)break;if((k[h>>2]|0)==-2){if((k[j+4>>2]|0)==1?0==((k[(k[k[j>>2]>>2]|0)+56>>2]|0)!=0|0):0){k[q>>2]=101;break}b=n;d=k[b+4>>2]|0;a=o;k[a>>2]=k[b>>2];k[a+4>>2]=d;k[i>>2]=1}else{d=Al(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0)|0;a=o;k[a>>2]=d;k[a+4>>2]=L;a=Bl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,(k[h>>2]|0)+1|0,m)|0;k[q>>2]=a;if((k[h>>2]|0)!=-1){a=o;b=k[a+4>>2]|0;c=n;d=k[c+4>>2]|0;c=(b|0)>(d|0)|((b|0)==(d|0)?(k[a>>2]|0)>>>0>(k[c>>2]|0)>>>0:0)}else c=0;k[i>>2]=c&1}if(!(k[q>>2]|0)){k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+12>>2]=1;a=l+12|0;k[a>>2]=k[a>>2]|((k[i>>2]|0)!=0?2:0);l=Cl(k[e>>2]|0,j,l)|0;k[q>>2]=l;while(1){if(k[q>>2]|0)break;l=Dl(k[e>>2]|0,j)|0;k[q>>2]=l;if((k[q>>2]|0)!=100)break;l=El(k[e>>2]|0,p,1,k[j+40>>2]|0,k[j+44>>2]|0,k[j+48>>2]|0,k[j+52>>2]|0)|0;k[q>>2]=l}if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1){l=Fl(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[q>>2]=l;if(!((k[q>>2]|0)==0&(k[p>>2]|0)!=0))break}else if(!(k[p>>2]|0))break;l=o;m=Gl(k[e>>2]|0,k[p>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[m>>2]|0)|0;k[q>>2]=m;if(!(k[q>>2]|0)){if((k[h>>2]|0)!=-1?(m=o,i=k[m+4>>2]|0,n,l=k[n+4>>2]|0,!((i|0)<(l|0)|((i|0)==(l|0)?(k[m>>2]|0)>>>0<(k[n>>2]|0)>>>0:0))):0)break;n=o;o=(k[p>>2]|0)+56|0;o=Hl(k[e>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[q>>2]=o}}}}while(0);Il(k[p>>2]|0);Jl(j);r=s;return k[q>>2]|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+240|0;n=t+24|0;m=t+16|0;f=t;g=t+228|0;h=t+224|0;p=t+220|0;i=t+216|0;e=t+56|0;s=t+48|0;q=t+44|0;o=t+40|0;j=t+36|0;l=t+32|0;k[g>>2]=a;k[h>>2]=b;k[p>>2]=c;k[i>>2]=d;BR(e|0,1900,160)|0;k[s>>2]=0;k[q>>2]=k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2];do if(!(k[q>>2]|0)){a=k[h>>2]|0;do if((k[h>>2]|0)!=18){d=k[e+(k[h>>2]<<2)>>2]|0;b=k[g>>2]|0;if((a|0)==7){k[m>>2]=k[b+216>>2];n=Yd(d,m)|0;k[o>>2]=n;break}else{m=k[(k[g>>2]|0)+20>>2]|0;k[n>>2]=k[b+16>>2];k[n+4>>2]=m;n=Yd(d,n)|0;k[o>>2]=n;break}}else{n=k[e+(a<<2)>>2]|0;e=k[(k[g>>2]|0)+20>>2]|0;m=k[(k[g>>2]|0)+220>>2]|0;k[f>>2]=k[(k[g>>2]|0)+16>>2];k[f+4>>2]=e;k[f+8>>2]=m;n=Yd(n,f)|0;k[o>>2]=n}while(0);if(k[o>>2]|0){n=lf(k[(k[g>>2]|0)+12>>2]|0,k[o>>2]|0,-1,q,0)|0;k[s>>2]=n;Ud(k[o>>2]|0);k[(k[g>>2]|0)+56+(k[h>>2]<<2)>>2]=k[q>>2];break}else{k[s>>2]=7;break}}while(0);if(!(k[i>>2]|0)){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}o=$e(k[q>>2]|0)|0;k[l>>2]=o;k[j>>2]=0;while(1){if(k[s>>2]|0){d=15;break}if((k[j>>2]|0)>=(k[l>>2]|0)){d=15;break}o=Ze(k[q>>2]|0,(k[j>>2]|0)+1|0,k[(k[i>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[s>>2]=o;k[j>>2]=(k[j>>2]|0)+1}if((d|0)==15){o=k[q>>2]|0;q=k[p>>2]|0;k[q>>2]=o;s=k[s>>2]|0;r=t;return s|0}return 0}function yl(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;j=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;s=u+4|0;t=u;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;c=k[t>>2]|0;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));t=rm(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0)|0;r=u;return t|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;d=xl(k[f>>2]|0,15,j,0)|0;k[l>>2]=d;if(k[l>>2]|0){k[e>>2]=k[l>>2];l=k[e>>2]|0;r=m;return l|0}l=k[j>>2]|0;d=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;We(l,1,d,L)|0;d=k[j>>2]|0;l=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;We(d,2,l,L)|0;if(100==(Ee(k[j>>2]|0)|0)){d=Oe(k[j>>2]|0,0)|0;l=k[i>>2]|0;k[l>>2]=d;k[l+4>>2]=L}l=he(k[j>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=m;return l|0}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;i=e+20|0;j=e+16|0;h=e+12|0;f=e+8|0;g=e;k[i>>2]=a;k[j>>2]=b;k[h>>2]=c;k[f>>2]=d;a=k[j>>2]|0;d=k[(k[i>>2]|0)+248>>2]|0;d=KR(a|0,((a|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;a=k[h>>2]|0;a=zR(d|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;a=KR(a|0,L|0,1024,0)|0;d=g;k[d>>2]=a;k[d+4>>2]=L;d=g;a=k[f>>2]|0;a=zR(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;r=e;return a|0}function Bl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+28|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;e=xl(k[f>>2]|0,8,m,0)|0;k[n>>2]=e;if(!(k[n>>2]|0)){a=k[m>>2]|0;e=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;We(a,1,e,L)|0;if(100==(Ee(k[m>>2]|0)|0)){e=Ne(k[m>>2]|0,0)|0;k[l>>2]=e}e=he(k[m>>2]|0)|0;k[n>>2]=e}if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[l>>2]|0)>=16){e=wl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[n>>2]=e;k[k[j>>2]>>2]=0;n=k[n>>2]|0;r=o;return n|0}else{k[k[j>>2]>>2]=k[l>>2];n=k[n>>2]|0;r=o;return n|0}return 0}function Cl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;k[(k[f>>2]|0)+12>>2]=k[e>>2];c=pm(k[g>>2]|0,k[f>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;r=d;return c|0}function Dl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=r;r=r+128|0;c=J+120|0;d=J+116|0;e=J+112|0;G=J+108|0;s=J+104|0;u=J+100|0;p=J+96|0;t=J+92|0;v=J+88|0;q=J+84|0;h=J+80|0;B=J+76|0;D=J+72|0;H=J+68|0;A=J+64|0;j=J+60|0;F=J+56|0;y=J+52|0;o=J+16|0;w=J+48|0;E=J+44|0;z=J+40|0;x=J+36|0;n=J+8|0;m=J;g=J+32|0;f=J+28|0;C=J+24|0;k[d>>2]=a;k[e>>2]=b;k[G>>2]=0;k[s>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&2;k[u>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&1;k[p>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&4;k[t>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&8;k[v>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&16;k[q>>2]=k[(k[(k[e>>2]|0)+12>>2]|0)+12>>2]&32;k[h>>2]=k[k[e>>2]>>2];k[B>>2]=k[(k[e>>2]|0)+4>>2];k[D>>2]=k[(k[e>>2]|0)+12>>2];k[H>>2]=(l[(k[d>>2]|0)+231>>0]|0)!=0?182:183;if(!(k[(k[e>>2]|0)+4>>2]|0)){k[c>>2]=0;I=k[c>>2]|0;r=J;return I|0}a:while(1){k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[e>>2]|0)+8>>2]|0))break;k[F>>2]=k[(k[h>>2]|0)+(k[j>>2]<<2)>>2];if(i[(k[F>>2]|0)+4>>0]|0)Yl(k[F>>2]|0);else{b=Zl(k[d>>2]|0,k[F>>2]|0,0)|0;k[G>>2]=b}if(k[G>>2]|0){I=9;break a}k[j>>2]=(k[j>>2]|0)+1}$l(k[h>>2]|0,k[B>>2]|0,k[(k[e>>2]|0)+8>>2]|0,184);k[(k[e>>2]|0)+8>>2]=0;if(!(k[(k[k[h>>2]>>2]|0)+40>>2]|0)){I=61;break}k[(k[e>>2]|0)+44>>2]=k[(k[k[h>>2]>>2]|0)+60>>2];k[(k[e>>2]|0)+40>>2]=k[(k[k[h>>2]>>2]|0)+64>>2];if(!((k[v>>2]|0)!=0?1:(k[k[D>>2]>>2]|0)==0)){if((k[(k[e>>2]|0)+44>>2]|0)<(k[(k[D>>2]|0)+4>>2]|0)){I=61;break}if((k[t>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)>(k[(k[D>>2]|0)+4>>2]|0):0){I=61;break}if(OQ(k[(k[e>>2]|0)+40>>2]|0,k[k[D>>2]>>2]|0,k[(k[D>>2]|0)+4>>2]|0)|0){I=61;break}}k[A>>2]=1;while(1){if(((k[A>>2]|0)<(k[B>>2]|0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+60>>2]|0)==(k[(k[e>>2]|0)+44>>2]|0):0)b=0==(OQ(k[(k[e>>2]|0)+40>>2]|0,k[(k[(k[h>>2]|0)+(k[A>>2]<<2)>>2]|0)+64>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0);else b=0;a=k[A>>2]|0;if(!b)break;k[A>>2]=a+1}do if(!((a|0)!=1|(k[s>>2]|0)!=0|(k[q>>2]|0)!=0)){if((l[(k[d>>2]|0)+231>>0]|0)!=0?((k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){I=32;break}k[(k[e>>2]|0)+52>>2]=k[(k[k[h>>2]>>2]|0)+76>>2];if(k[(k[k[h>>2]>>2]|0)+56>>2]|0){b=am(k[e>>2]|0,k[(k[k[h>>2]>>2]|0)+72>>2]|0,k[(k[e>>2]|0)+52>>2]|0)|0;k[G>>2]=b;k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2]}else k[(k[e>>2]|0)+48>>2]=k[(k[k[h>>2]>>2]|0)+72>>2];if(!(k[G>>2]|0))k[G>>2]=100}else I=32;while(0);if((I|0)==32){I=0;k[y>>2]=0;b=o;k[b>>2]=0;k[b+4>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[A>>2]|0))break;bm(k[d>>2]|0,k[(k[h>>2]|0)+(k[j>>2]<<2)>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+1}$l(k[h>>2]|0,k[A>>2]|0,k[A>>2]|0,k[H>>2]|0);while(1){if(!(k[(k[k[h>>2]>>2]|0)+80>>2]|0))break;k[E>>2]=0;k[z>>2]=0;K=(k[k[h>>2]>>2]|0)+88|0;a=k[K+4>>2]|0;b=n;k[b>>2]=k[K>>2];k[b+4>>2]=a;cm(k[d>>2]|0,k[k[h>>2]>>2]|0,E,z)|0;k[w>>2]=1;while(1){if((k[w>>2]|0)>=(k[A>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+80>>2]|0))break;b=(k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0)+88|0;K=n;if(!((k[b>>2]|0)==(k[K>>2]|0)?(k[b+4>>2]|0)==(k[K+4>>2]|0):0))break;cm(k[d>>2]|0,k[(k[h>>2]|0)+(k[w>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=(k[w>>2]|0)+1}if(k[p>>2]|0)dm(k[(k[D>>2]|0)+8>>2]|0,0,E,z);do if((k[s>>2]|0)==0|(k[z>>2]|0)>0){if((k[y>>2]|0)>0?(l[(k[d>>2]|0)+231>>0]|0)!=0:0){K=o;b=n;b=yR(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}else{K=n;b=o;b=yR(k[K>>2]|0,k[K+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;K=m;k[K>>2]=b;k[K+4>>2]=L}K=m;K=Rl(k[K>>2]|0,k[K+4>>2]|0)|0;k[x>>2]=K+((k[u>>2]|0)!=0?(k[z>>2]|0)+1|0:0);if(((k[y>>2]|0)+(k[x>>2]|0)|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=(k[y>>2]|0)+(k[x>>2]|0)<<1;K=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[g>>2]=K;if(!(k[g>>2]|0)){I=50;break a}k[(k[e>>2]|0)+16>>2]=k[g>>2]}a=(k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0;if(k[q>>2]|0){k[f>>2]=a;K=m;K=em(k[K>>2]|0,k[K+4>>2]|0,k[E>>2]|0,k[z>>2]|0,k[f>>2]|0)|0;k[C>>2]=K;if(!(k[C>>2]|0))break;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;k[y>>2]=(k[y>>2]|0)+(k[C>>2]|0);break}else{b=m;a=Sl(a,k[b>>2]|0,k[b+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+a;a=n;b=k[a+4>>2]|0;K=o;k[K>>2]=k[a>>2];k[K+4>>2]=b;if(!(k[u>>2]|0))break;BR((k[(k[e>>2]|0)+16>>2]|0)+(k[y>>2]|0)|0,k[E>>2]|0,k[z>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+(k[z>>2]|0);K=k[y>>2]|0;k[y>>2]=K+1;i[(k[(k[e>>2]|0)+16>>2]|0)+K>>0]=0;break}}while(0);$l(k[h>>2]|0,k[A>>2]|0,k[w>>2]|0,k[H>>2]|0)}if((k[y>>2]|0)>0){k[(k[e>>2]|0)+48>>2]=k[(k[e>>2]|0)+16>>2];k[(k[e>>2]|0)+52>>2]=k[y>>2];k[G>>2]=100}}k[(k[e>>2]|0)+8>>2]=k[A>>2];if(k[G>>2]|0){I=61;break}}if((I|0)==9){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}else if((I|0)==50){k[c>>2]=7;K=k[c>>2]|0;r=J;return K|0}else if((I|0)==61){k[c>>2]=k[G>>2];K=k[c>>2]|0;r=J;return K|0}return 0}function El(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+68|0;i=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;o=B+44|0;p=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;q=B+4|0;A=B;k[i>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[x>>2]=k[k[j>>2]>>2];if(!(k[x>>2]|0)){d=Sd(64)|0;k[x>>2]=d;if(!(k[x>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}f=k[x>>2]|0;c=f+64|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(c|0));k[k[j>>2]>>2]=k[x>>2];j=Sd(k[(k[i>>2]|0)+224>>2]|0)|0;k[(k[x>>2]|0)+48>>2]=j;if(!(k[(k[x>>2]|0)+48>>2]|0)){k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+40>>2]=k[(k[i>>2]|0)+224>>2];j=xl(k[i>>2]|0,10,w,0)|0;k[y>>2]=j;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}if(100==(Ee(k[w>>2]|0)|0)){d=Oe(k[w>>2]|0,0)|0;b=(k[x>>2]|0)+16|0;k[b>>2]=d;k[b+4>>2]=L;b=(k[x>>2]|0)+16|0;d=k[b+4>>2]|0;j=(k[x>>2]|0)+8|0;k[j>>2]=k[b>>2];k[j+4>>2]=d}w=he(k[w>>2]|0)|0;k[y>>2]=w;if(k[y>>2]|0){k[h>>2]=k[y>>2];A=k[h>>2]|0;r=B;return A|0}}k[s>>2]=k[(k[x>>2]|0)+44>>2];y=Ul(k[(k[x>>2]|0)+24>>2]|0,k[(k[x>>2]|0)+28>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[t>>2]=y;k[v>>2]=(k[n>>2]|0)-(k[t>>2]|0);y=k[t>>2]|0;y=Rl(y,((y|0)<0)<<31>>31)|0;w=k[v>>2]|0;w=y+(Rl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(k[v>>2]|0)|0;y=k[p>>2]|0;y=w+(Rl(y,((y|0)<0)<<31>>31)|0)|0;k[u>>2]=y+(k[p>>2]|0);do if((k[s>>2]|0)>0?((k[s>>2]|0)+(k[u>>2]|0)|0)>(k[(k[i>>2]|0)+224>>2]|0):0){j=k[i>>2]|0;d=(k[x>>2]|0)+16|0;y=d;w=k[y>>2]|0;y=k[y+4>>2]|0;b=zR(w|0,y|0,1,0)|0;k[d>>2]=b;k[d+4>>2]=L;y=Nl(j,w,y,k[(k[x>>2]|0)+48>>2]|0,k[s>>2]|0)|0;k[z>>2]=y;if(k[z>>2]|0){k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}y=(k[i>>2]|0)+52|0;k[y>>2]=(k[y>>2]|0)+1;y=Vl(k[i>>2]|0,k[x>>2]|0,k[l>>2]|0,k[m>>2]|0,(k[t>>2]|0)+1|0)|0;k[z>>2]=y;if(!(k[z>>2]|0)){k[s>>2]=0;k[(k[x>>2]|0)+28>>2]=0;k[t>>2]=0;k[v>>2]=k[n>>2];y=k[n>>2]|0;y=1+(Rl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(k[n>>2]|0)|0;z=k[p>>2]|0;z=y+(Rl(z,((z|0)<0)<<31>>31)|0)|0;k[u>>2]=z+(k[p>>2]|0);break}k[h>>2]=k[z>>2];A=k[h>>2]|0;r=B;return A|0}while(0);y=k[u>>2]|0;z=(k[x>>2]|0)+56|0;w=z;y=zR(k[w>>2]|0,k[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;k[z>>2]=y;k[z+4>>2]=L;do if((k[u>>2]|0)>(k[(k[x>>2]|0)+40>>2]|0)){z=Vd(k[(k[x>>2]|0)+48>>2]|0,k[u>>2]|0)|0;k[q>>2]=z;if(k[q>>2]|0){k[(k[x>>2]|0)+48>>2]=k[q>>2];k[(k[x>>2]|0)+40>>2]=k[u>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);z=k[t>>2]|0;z=Sl((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;z=k[v>>2]|0;z=Sl((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;BR((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,(k[m>>2]|0)+(k[t>>2]|0)|0,k[v>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[v>>2]|0);z=k[p>>2]|0;z=Sl((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;k[s>>2]=(k[s>>2]|0)+z;BR((k[(k[x>>2]|0)+48>>2]|0)+(k[s>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;k[(k[x>>2]|0)+44>>2]=(k[s>>2]|0)+(k[p>>2]|0);if(k[l>>2]|0){do if((k[n>>2]|0)>(k[(k[x>>2]|0)+32>>2]|0)){z=Vd(k[(k[x>>2]|0)+36>>2]|0,k[n>>2]<<1)|0;k[A>>2]=z;if(k[A>>2]|0){k[(k[x>>2]|0)+32>>2]=k[n>>2]<<1;k[(k[x>>2]|0)+36>>2]=k[A>>2];k[(k[x>>2]|0)+24>>2]=k[A>>2];break}k[h>>2]=7;A=k[h>>2]|0;r=B;return A|0}while(0);BR(k[(k[x>>2]|0)+24>>2]|0,k[m>>2]|0,k[n>>2]|0)|0}else k[(k[x>>2]|0)+24>>2]=k[m>>2];k[(k[x>>2]|0)+28>>2]=k[n>>2];k[h>>2]=0;A=k[h>>2]|0;r=B;return A|0}function Fl(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;j=s+36|0;l=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;g=s+16|0;h=s+12|0;q=s+8|0;i=s+4|0;p=s;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[g>>2]=e;k[h>>2]=f;k[q>>2]=0;k[p>>2]=0;k[i>>2]=0;while(1){if(k[q>>2]|0)break;if((k[i>>2]|0)>=(k[h>>2]|0))break;a=Tl(k[l>>2]|0,k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[q>>2]=a;k[i>>2]=(k[i>>2]|0)+1}if(k[q>>2]|0){k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}g=k[l>>2]|0;if((k[o>>2]|0)==-2){o=xl(g,26,p,0)|0;k[q>>2]=o;if(!(k[q>>2]|0)){o=k[p>>2]|0;a=Al(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,0)|0;We(o,1,a,L)|0;a=k[p>>2]|0;o=Al(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,1023)|0;We(a,2,o,L)|0}}else{a=xl(g,16,p,0)|0;k[q>>2]=a;if(!(k[q>>2]|0)){a=k[p>>2]|0;o=Al(k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;We(a,1,o,L)|0}}if(!(k[q>>2]|0)){Ee(k[p>>2]|0)|0;p=he(k[p>>2]|0)|0;k[q>>2]=p}k[j>>2]=k[q>>2];q=k[j>>2]|0;r=s;return q|0}function Gl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+44|0;g=p+40|0;h=p+16|0;i=p+36|0;n=p+32|0;j=p+8|0;l=p;o=p+28|0;m=p+24|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;k[i>>2]=e;if(!(k[k[g>>2]>>2]|0)){b=h;o=(k[g>>2]|0)+56|0;o=Pl(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[i>>2]|0,0,0,0,0,0,0,k[o>>2]|0,k[o+4>>2]|0,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}b=j;k[b>>2]=0;k[b+4>>2]=0;k[o>>2]=0;k[m>>2]=0;b=(k[g>>2]|0)+16|0;d=k[b+4>>2]|0;e=l;k[e>>2]=k[b>>2];k[e+4>>2]=d;e=k[f>>2]|0;d=(k[g>>2]|0)+16|0;b=d;a=k[b>>2]|0;b=k[b+4>>2]|0;c=zR(a|0,b|0,1,0)|0;k[d>>2]=c;k[d+4>>2]=L;b=Nl(e,a,b,k[(k[g>>2]|0)+48>>2]|0,k[(k[g>>2]|0)+44>>2]|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){a=(k[g>>2]|0)+8|0;b=(k[g>>2]|0)+16|0;b=Ol(k[f>>2]|0,k[k[g>>2]>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,j,o,m)|0;k[n>>2]=b}if(k[n>>2]|0){o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}e=(k[g>>2]|0)+8|0;a=j;b=(k[g>>2]|0)+56|0;o=Pl(k[f>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[i>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[o>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;o=k[f>>2]|0;o=o+52|0;b=k[o>>2]|0;b=b+1|0;k[o>>2]=b;o=k[n>>2]|0;r=p;return o|0}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+80|0;f=v+72|0;g=v+40|0;h=v+32|0;t=v+68|0;p=v+64|0;i=v+60|0;m=v+24|0;n=v+16|0;o=v+8|0;j=v;l=v+56|0;q=v+52|0;s=v+48|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=0;a=xl(k[f>>2]|0,37,p,0)|0;k[t>>2]=a;if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}k[i>>2]=0;e=g;e=IR(k[e>>2]|0,k[e+4>>2]|0,1024,0)|0;e=zR(e|0,L|0,1,0)|0;e=KR(e|0,L|0,1024,0)|0;e=yR(e|0,L|0,1,0)|0;a=m;k[a>>2]=e;k[a+4>>2]=L;a=h;a=KR(k[a>>2]|0,k[a+4>>2]|0,3,0)|0;a=IR(a|0,L|0,2,0)|0;h=n;k[h>>2]=a;k[h+4>>2]=L;h=k[p>>2]|0;a=g;a=zR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;We(h,1,a,L)|0;a=m;We(k[p>>2]|0,2,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(Ee(k[p>>2]|0)|0))break;a=o;k[a>>2]=0;k[a+4>>2]=0;Ml(k[p>>2]|0,2,j,o);a=o;m=k[a+4>>2]|0;if((m|0)<0|(m|0)==0&(k[a>>2]|0)>>>0<=0){u=6;break}m=o;e=k[m+4>>2]|0;a=n;h=k[a+4>>2]|0;if((e|0)>(h|0)|((e|0)==(h|0)?(k[m>>2]|0)>>>0>(k[a>>2]|0)>>>0:0)){u=6;break}k[i>>2]=1}if((u|0)==6)k[i>>2]=0;u=he(k[p>>2]|0)|0;k[t>>2]=u;if(!(k[i>>2]|0)){u=k[t>>2]|0;r=v;return u|0}k[l>>2]=0;k[q>>2]=0;k[s>>2]=0;if(!(k[t>>2]|0)){u=xl(k[f>>2]|0,38,q,0)|0;k[t>>2]=u}if(!(k[t>>2]|0)){u=xl(k[f>>2]|0,39,s,0)|0;k[t>>2]=u}a:do if(!(k[t>>2]|0)){u=g;We(k[p>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;do{if(100!=(Ee(k[p>>2]|0)|0))break a;a=k[q>>2]|0;u=k[l>>2]|0;k[l>>2]=u+1;Ve(a,1,u)|0;u=k[q>>2]|0;Ve(u,2,Ne(k[p>>2]|0,0)|0)|0;u=k[q>>2]|0;Ve(u,3,Ne(k[p>>2]|0,1)|0)|0;Ee(k[q>>2]|0)|0;u=he(k[q>>2]|0)|0;k[t>>2]=u}while((k[t>>2]|0)==0);he(k[p>>2]|0)|0}while(0);if(!(k[t>>2]|0)){u=he(k[p>>2]|0)|0;k[t>>2]=u}if(k[t>>2]|0){u=k[t>>2]|0;r=v;return u|0}u=g;We(k[s>>2]|0,1,k[u>>2]|0,k[u+4>>2]|0)|0;Ee(k[s>>2]|0)|0;u=he(k[s>>2]|0)|0;k[t>>2]=u;u=k[t>>2]|0;r=v;return u|0}function Il(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}Ud(k[(k[b>>2]|0)+48>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);Ll(k[k[b>>2]>>2]|0);Ud(k[b>>2]|0);r=c;return}function Jl(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;Kl(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}Ud(k[k[b>>2]>>2]|0);Ud(k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+4>>2]=0;k[k[b>>2]>>2]=0;k[(k[b>>2]|0)+16>>2]=0;r=d;return}function Kl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=c;return}if(!(k[(k[b>>2]|0)+56>>2]|0))Ud(k[(k[b>>2]|0)+64>>2]|0);if(!(l[(k[b>>2]|0)+5>>0]|0))Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;a=k[b>>2]|0;Ud(a);r=c;return}function Ll(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[b>>2]|0)){r=e;return}k[c>>2]=k[(k[b>>2]|0)+8>>2];Ll(k[k[c>>2]>>2]|0);while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+4>>2];if((k[(k[c>>2]|0)+36>>2]|0)!=((k[c>>2]|0)+40|0))Ud(k[(k[c>>2]|0)+36>>2]|0);Ud(k[(k[c>>2]|0)+28>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}r=e;return}function Ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;g=m+12|0;h=m+8|0;i=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;d=Pe(k[o>>2]|0,k[n>>2]|0)|0;k[j>>2]=d;if(!(k[j>>2]|0)){r=m;return}k[h>>2]=1;o=i;k[o>>2]=0;k[o+4>>2]=0;k[g>>2]=0;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=KR(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=zR(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}o=k[e>>2]|0;k[o>>2]=a;k[o+4>>2]=c;while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)!=32)break;k[g>>2]=(k[g>>2]|0)+1}o=i;k[o>>2]=0;k[o+4>>2]=0;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)==45){k[g>>2]=(k[g>>2]|0)+1;k[h>>2]=-1}while(1){if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)>=48)b=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0|0)<=57;else b=0;c=i;a=k[c>>2]|0;c=k[c+4>>2]|0;if(!b)break;o=KR(a|0,c|0,10,0)|0;n=(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)-48|0;n=zR(o|0,L|0,n|0,((n|0)<0)<<31>>31|0)|0;o=i;k[o>>2]=n;k[o+4>>2]=L;k[g>>2]=(k[g>>2]|0)+1}n=k[h>>2]|0;n=KR(a|0,c|0,n|0,((n|0)<0)<<31>>31|0)|0;o=k[f>>2]|0;k[o>>2]=n;k[o+4>>2]=L;r=m;return}function Nl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;i=l+12|0;j=l+8|0;k[m>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;k[h>>2]=e;d=xl(k[m>>2]|0,9,i,0)|0;k[j>>2]=d;if(k[j>>2]|0){m=k[j>>2]|0;r=l;return m|0}m=f;We(k[i>>2]|0,1,k[m>>2]|0,k[m+4>>2]|0)|0;Te(k[i>>2]|0,2,k[g>>2]|0,k[h>>2]|0,0)|0;Ee(k[i>>2]|0)|0;m=he(k[i>>2]|0)|0;k[j>>2]=m;m=k[j>>2]|0;r=l;return m|0}function Ol(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;n=B+72|0;o=B+68|0;p=B+64|0;q=B+24|0;s=B+16|0;t=B+60|0;l=B+56|0;m=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;b=q;k[b>>2]=d;k[b+4>>2]=e;b=s;k[b>>2]=f;k[b+4>>2]=g;k[t>>2]=h;k[l>>2]=i;k[m>>2]=j;k[A>>2]=0;if(!(k[k[o>>2]>>2]|0)){h=q;h=Ql(k[o>>2]|0,k[p>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;h=s;h=yR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=k[t>>2]|0;k[j>>2]=h;k[j+4>>2]=L;k[k[m>>2]>>2]=(k[(k[o>>2]|0)+32>>2]|0)-(k[w>>2]|0);k[k[l>>2]>>2]=(k[(k[o>>2]|0)+36>>2]|0)+(k[w>>2]|0);A=k[A>>2]|0;r=B;return A|0}j=s;h=k[j+4>>2]|0;i=u;k[i>>2]=k[j>>2];k[i+4>>2]=h;i=q;h=k[i+4>>2]|0;j=v;k[j>>2]=k[i>>2];k[j+4>>2]=h;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0?(k[A>>2]|0)==0:0))break;j=v;j=Ql(k[z>>2]|0,k[p>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;k[x>>2]=j;k[y>>2]=(k[(k[z>>2]|0)+32>>2]|0)-(k[x>>2]|0);j=u;j=Nl(k[n>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[(k[z>>2]|0)+36>>2]|0)+(k[x>>2]|0)|0,k[y>>2]|0)|0;k[A>>2]=j;j=u;j=zR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;h=u;k[h>>2]=j;k[h+4>>2]=L;h=(k[(k[z>>2]|0)+12>>2]|0)+1|0;j=v;h=zR(k[j>>2]|0,k[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=v;k[j>>2]=h;k[j+4>>2]=L;k[z>>2]=k[(k[z>>2]|0)+4>>2]}if(k[A>>2]|0){A=k[A>>2]|0;r=B;return A|0}h=s;j=u;j=Ol(k[n>>2]|0,k[k[o>>2]>>2]|0,(k[p>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0,k[t>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[A>>2]=j;A=k[A>>2]|0;r=B;return A|0}function Pl(a,b,c,d,e,f,g,h,i,j,l,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;B=D+40|0;p=D+84|0;E=D+80|0;q=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;k[E>>2]=a;a=q;k[a>>2]=b;k[a+4>>2]=c;k[s>>2]=d;a=t;k[a>>2]=e;k[a+4>>2]=f;a=u;k[a>>2]=g;k[a+4>>2]=h;a=v;k[a>>2]=i;k[a+4>>2]=j;a=w;k[a>>2]=l;k[a+4>>2]=m;k[x>>2]=n;k[y>>2]=o;n=xl(k[E>>2]|0,11,z,0)|0;k[A>>2]=n;if(!(k[A>>2]|0)){E=q;We(k[z>>2]|0,1,k[E>>2]|0,k[E+4>>2]|0)|0;Ve(k[z>>2]|0,2,k[s>>2]|0)|0;E=t;We(k[z>>2]|0,3,k[E>>2]|0,k[E+4>>2]|0)|0;E=u;We(k[z>>2]|0,4,k[E>>2]|0,k[E+4>>2]|0)|0;E=w;do if((k[E>>2]|0)==0&(k[E+4>>2]|0)==0){E=v;We(k[z>>2]|0,5,k[E>>2]|0,k[E+4>>2]|0)|0}else{d=v;o=k[d+4>>2]|0;n=w;a=k[n>>2]|0;n=k[n+4>>2]|0;E=B;k[E>>2]=k[d>>2];k[E+4>>2]=o;E=B+8|0;k[E>>2]=a;k[E+4>>2]=n;E=Yd(23761,B)|0;k[C>>2]=E;if(k[C>>2]|0){Ye(k[z>>2]|0,5,k[C>>2]|0,-1,148)|0;break}k[p>>2]=7;E=k[p>>2]|0;r=D;return E|0}while(0);Te(k[z>>2]|0,6,k[x>>2]|0,k[y>>2]|0,0)|0;Ee(k[z>>2]|0)|0;E=he(k[z>>2]|0)|0;k[A>>2]=E}k[p>>2]=k[A>>2];E=k[p>>2]|0;r=D;return E|0}function Ql(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;h=f;e=f+8|0;k[g>>2]=a;k[j>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;a=h;a=10-(Rl(k[a>>2]|0,k[a+4>>2]|0)|0)|0;k[e>>2]=a;i[(k[(k[g>>2]|0)+36>>2]|0)+(k[e>>2]|0)>>0]=k[j>>2];a=h;Sl((k[(k[g>>2]|0)+36>>2]|0)+((k[e>>2]|0)+1)|0,k[a>>2]|0,k[a+4>>2]|0)|0;r=f;return k[e>>2]|0}function Rl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=0;do{k[d>>2]=(k[d>>2]|0)+1;b=c;b=AR(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=c;k[f>>2]=b;k[f+4>>2]=L;f=c}while((k[f>>2]|0)!=0|(k[f+4>>2]|0)!=0);r=e;return k[d>>2]|0}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;g=r;r=r+32|0;d=g+20|0;h=g+8|0;e=g+16|0;f=g;k[d>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[e>>2]=k[d>>2];b=h;c=k[b+4>>2]|0;a=f;k[a>>2]=k[b>>2];k[a+4>>2]=c;do{h=(k[f>>2]&127|128)&255;a=k[e>>2]|0;k[e>>2]=a+1;i[a>>0]=h;a=f;a=AR(k[a>>2]|0,k[a+4>>2]|0,7)|0;h=f;k[h>>2]=a;k[h+4>>2]=L;h=f}while((k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0);h=(k[e>>2]|0)+-1|0;i[h>>0]=(l[h>>0]|0)&127;r=g;return (k[e>>2]|0)-(k[d>>2]|0)|0}function Tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;b=(k[d>>2]|0)+8|0;if(!((k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0)){f=k[f>>2]|0;r=g;return f|0}b=xl(k[c>>2]|0,17,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}b=(k[d>>2]|0)+8|0;We(k[e>>2]|0,1,k[b>>2]|0,k[b+4>>2]|0)|0;b=(k[d>>2]|0)+24|0;We(k[e>>2]|0,2,k[b>>2]|0,k[b+4>>2]|0)|0;Ee(k[e>>2]|0)|0;b=he(k[e>>2]|0)|0;k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}function Ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[j+4>>2]=d;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[f>>2]|0)){e=5;break}if((i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=(i[(k[g>>2]|0)+(k[h>>2]|0)>>0]|0)){e=5;break}k[h>>2]=(k[h>>2]|0)+1}if((e|0)==5){r=j;return k[h>>2]|0}return 0}function Vl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;l=w+56|0;m=w+52|0;n=w+48|0;o=w+44|0;p=w+40|0;q=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;f=w+20|0;h=w+16|0;g=w+12|0;i=w+8|0;j=w+4|0;t=w;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[u>>2]=k[k[n>>2]>>2];do if(k[u>>2]|0){k[f>>2]=k[(k[u>>2]|0)+32>>2];k[h>>2]=k[f>>2];b=Ul(k[(k[u>>2]|0)+16>>2]|0,k[(k[u>>2]|0)+20>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[g>>2]=b;k[i>>2]=(k[q>>2]|0)-(k[g>>2]|0);b=k[g>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;d=k[i>>2]|0;d=b+(Rl(d,((d|0)<0)<<31>>31)|0)|0;k[h>>2]=(k[h>>2]|0)+(d+(k[i>>2]|0));if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(k[(k[u>>2]|0)+16>>2]|0)!=0:0)break;if((k[h>>2]|0)>(k[(k[m>>2]|0)+224>>2]|0)?(v=Sd(k[h>>2]|0)|0,k[(k[u>>2]|0)+36>>2]=v,(k[(k[u>>2]|0)+36>>2]|0)==0):0){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}if(k[(k[u>>2]|0)+16>>2]|0){v=k[g>>2]|0;v=Sl((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v}v=k[i>>2]|0;v=Sl((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;k[f>>2]=(k[f>>2]|0)+v;BR((k[(k[u>>2]|0)+36>>2]|0)+(k[f>>2]|0)|0,(k[p>>2]|0)+(k[g>>2]|0)|0,k[i>>2]|0)|0;k[(k[u>>2]|0)+32>>2]=(k[f>>2]|0)+(k[i>>2]|0);v=(k[u>>2]|0)+12|0;k[v>>2]=(k[v>>2]|0)+1;if(k[o>>2]|0){do if((k[(k[u>>2]|0)+24>>2]|0)<(k[q>>2]|0)){v=Vd(k[(k[u>>2]|0)+28>>2]|0,k[q>>2]<<1)|0;k[j>>2]=v;if(k[j>>2]|0){k[(k[u>>2]|0)+24>>2]=k[q>>2]<<1;k[(k[u>>2]|0)+28>>2]=k[j>>2];break}k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}while(0);k[(k[u>>2]|0)+16>>2]=k[(k[u>>2]|0)+28>>2];BR(k[(k[u>>2]|0)+16>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[(k[u>>2]|0)+20>>2]=k[q>>2]}else{k[(k[u>>2]|0)+16>>2]=k[p>>2];k[(k[u>>2]|0)+20>>2]=k[q>>2]}k[l>>2]=0;v=k[l>>2]|0;r=w;return v|0}while(0);d=Sd(40+(k[(k[m>>2]|0)+224>>2]|0)|0)|0;k[s>>2]=d;if(!(k[s>>2]|0)){k[l>>2]=7;v=k[l>>2]|0;r=w;return v|0}c=k[s>>2]|0;f=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(f|0));k[(k[s>>2]|0)+32>>2]=11;k[(k[s>>2]|0)+36>>2]=(k[s>>2]|0)+40;if(k[u>>2]|0){k[t>>2]=k[k[u>>2]>>2];q=Vl(k[m>>2]|0,t,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=q;if(!(k[k[u>>2]>>2]|0))k[k[u>>2]>>2]=k[t>>2];k[(k[u>>2]|0)+4>>2]=k[s>>2];k[(k[s>>2]|0)+8>>2]=k[(k[u>>2]|0)+8>>2];k[k[s>>2]>>2]=k[t>>2];k[(k[s>>2]|0)+28>>2]=k[(k[u>>2]|0)+28>>2];k[(k[s>>2]|0)+24>>2]=k[(k[u>>2]|0)+24>>2];k[(k[u>>2]|0)+28>>2]=0}else{k[(k[s>>2]|0)+8>>2]=k[s>>2];u=Vl(k[m>>2]|0,s,k[o>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[v>>2]=u}k[k[n>>2]>>2]=k[s>>2];k[l>>2]=k[v>>2];v=k[l>>2]|0;r=w;return v|0}function Wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)<(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[(k[c>>2]|0)+80>>2]|0)==0&1)-((k[(k[d>>2]|0)+80>>2]|0)==0&1);if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}a=(k[c>>2]|0)+88|0;b=(k[d>>2]|0)+88|0;if((k[a>>2]|0)==(k[b>>2]|0)?(k[a+4>>2]|0)==(k[b+4>>2]|0):0){k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);e=k[e>>2]|0;r=f;return e|0}else{a=(k[c>>2]|0)+88|0;c=k[a+4>>2]|0;b=(k[d>>2]|0)+88|0;d=k[b+4>>2]|0;k[e>>2]=(c|0)>(d|0)|((c|0)==(d|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)?1:-1;e=k[e>>2]|0;r=f;return e|0}return 0}function Yl(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(l[(k[b>>2]|0)+5>>0]|0){a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}Ud(k[(k[b>>2]|0)+40>>2]|0);df(k[(k[b>>2]|0)+52>>2]|0)|0;k[(k[b>>2]|0)+52>>2]=0;a=k[b>>2]|0;a=a+40|0;k[a>>2]=0;r=c;return}function Zl(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;s=v+52|0;d=v+48|0;t=v+44|0;e=v+40|0;p=v+36|0;u=v+32|0;n=v+28|0;o=v+24|0;h=v+20|0;f=v+16|0;j=v+12|0;g=v+8|0;m=v+4|0;q=v;k[d>>2]=a;k[t>>2]=b;k[e>>2]=c;c=k[t>>2]|0;if(k[(k[t>>2]|0)+72>>2]|0)k[u>>2]=(k[(k[t>>2]|0)+72>>2]|0)+(k[c+76>>2]|0);else k[u>>2]=k[c+40>>2];if(!((k[u>>2]|0)!=0?(k[u>>2]|0)>>>0<((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0)){c=k[t>>2]|0;if(k[(k[t>>2]|0)+56>>2]|0){k[h>>2]=k[k[c+56>>2]>>2];Ud(k[(k[t>>2]|0)+40>>2]|0);k[(k[t>>2]|0)+40>>2]=0;do if(k[h>>2]|0){k[j>>2]=k[(k[h>>2]|0)+8>>2];k[g>>2]=(k[k[j>>2]>>2]|0)+1;k[(k[t>>2]|0)+64>>2]=k[(k[h>>2]|0)+12>>2];k[(k[t>>2]|0)+60>>2]=k[(k[h>>2]|0)+16>>2];u=Sd(k[g>>2]|0)|0;k[f>>2]=u;if(k[f>>2]|0){BR(k[f>>2]|0,k[(k[j>>2]|0)+4>>2]|0,k[g>>2]|0)|0;u=k[g>>2]|0;k[(k[t>>2]|0)+76>>2]=u;k[(k[t>>2]|0)+44>>2]=u;u=k[f>>2]|0;k[(k[t>>2]|0)+72>>2]=u;k[(k[t>>2]|0)+40>>2]=u;u=(k[t>>2]|0)+56|0;k[u>>2]=(k[u>>2]|0)+4;break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}Yl(c);h=(k[t>>2]|0)+32|0;f=k[h+4>>2]|0;j=(k[t>>2]|0)+16|0;g=k[j+4>>2]|0;if((f|0)>(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0>=(k[j>>2]|0)>>>0:0)){k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}g=k[d>>2]|0;f=(k[t>>2]|0)+32|0;h=f;h=zR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;j=L;k[f>>2]=h;k[f+4>>2]=j;j=om(g,h,j,(k[t>>2]|0)+40|0,(k[t>>2]|0)+44|0,(k[e>>2]|0)!=0?(k[t>>2]|0)+48|0:0)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}if((k[e>>2]|0)!=0?(k[(k[t>>2]|0)+48>>2]|0)<(k[(k[t>>2]|0)+44>>2]|0):0){k[(k[t>>2]|0)+52>>2]=k[(k[d>>2]|0)+244>>2];k[(k[d>>2]|0)+244>>2]=0}k[u>>2]=k[(k[t>>2]|0)+40>>2]}j=km(k[t>>2]|0,k[u>>2]|0,20)|0;k[p>>2]=j;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=hm(c,n)|0;else{k[n>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=hm(c,o)|0;else{k[o>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;if(!((k[n>>2]|0)<0|(k[o>>2]|0)<=0)?((k[u>>2]|0)+(k[o>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((k[n>>2]|0)+(k[o>>2]|0)|0)>(k[(k[t>>2]|0)+68>>2]|0)){k[m>>2]=(k[n>>2]|0)+(k[o>>2]|0)<<1;j=Vd(k[(k[t>>2]|0)+64>>2]|0,k[m>>2]|0)|0;k[q>>2]=j;if(k[q>>2]|0){k[(k[t>>2]|0)+64>>2]=k[q>>2];k[(k[t>>2]|0)+68>>2]=k[m>>2];break}k[s>>2]=7;u=k[s>>2]|0;r=v;return u|0}while(0);q=km(k[t>>2]|0,k[u>>2]|0,(k[o>>2]|0)+10|0)|0;k[p>>2]=q;if(k[p>>2]|0){k[s>>2]=k[p>>2];u=k[s>>2]|0;r=v;return u|0}BR((k[(k[t>>2]|0)+64>>2]|0)+(k[n>>2]|0)|0,k[u>>2]|0,k[o>>2]|0)|0;k[(k[t>>2]|0)+60>>2]=(k[n>>2]|0)+(k[o>>2]|0);k[u>>2]=(k[u>>2]|0)+(k[o>>2]|0);c=k[u>>2]|0;if(l[k[u>>2]>>0]&128)c=hm(c,(k[t>>2]|0)+76|0)|0;else{k[(k[t>>2]|0)+76>>2]=l[c>>0];c=1}k[u>>2]=(k[u>>2]|0)+c;k[(k[t>>2]|0)+72>>2]=k[u>>2];k[(k[t>>2]|0)+80>>2]=0;do if(((k[(k[t>>2]|0)+72>>2]|0)+(k[(k[t>>2]|0)+76>>2]|0)|0)>>>0<=((k[(k[t>>2]|0)+40>>2]|0)+(k[(k[t>>2]|0)+44>>2]|0)|0)>>>0){if((k[(k[t>>2]|0)+48>>2]|0)==0?(i[(k[(k[t>>2]|0)+72>>2]|0)+((k[(k[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;k[s>>2]=0;u=k[s>>2]|0;r=v;return u|0}while(0);k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}k[s>>2]=267;u=k[s>>2]|0;r=v;return u|0}function _l(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if((k[(k[c>>2]|0)+40>>2]|0)!=0?(k[(k[d>>2]|0)+40>>2]|0)!=0:0){k[f>>2]=(k[(k[c>>2]|0)+60>>2]|0)-(k[(k[d>>2]|0)+60>>2]|0);a=k[(k[c>>2]|0)+64>>2]|0;b=k[(k[d>>2]|0)+64>>2]|0;if((k[f>>2]|0)<0){b=OQ(a,b,k[(k[c>>2]|0)+60>>2]|0)|0;k[e>>2]=b}else{b=OQ(a,b,k[(k[d>>2]|0)+60>>2]|0)|0;k[e>>2]=b}if(!(k[e>>2]|0))k[e>>2]=k[f>>2]}else k[e>>2]=((k[(k[c>>2]|0)+40>>2]|0)==0&1)-((k[(k[d>>2]|0)+40>>2]|0)==0&1);if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[e>>2]=(k[k[d>>2]>>2]|0)-(k[k[c>>2]>>2]|0);f=k[e>>2]|0;r=g;return f|0}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[g>>2]|0)==(k[f>>2]|0))k[g>>2]=(k[g>>2]|0)+-1;k[i>>2]=(k[g>>2]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[j>>2]=k[i>>2];while(1){if((k[j>>2]|0)>=((k[f>>2]|0)-1|0))break;if((gc[k[h>>2]&255](k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]|0,k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]|0)|0)<0)break;k[l>>2]=k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2];k[(k[e>>2]|0)+((k[j>>2]|0)+1<<2)>>2]=k[(k[e>>2]|0)+(k[j>>2]<<2)>>2];k[(k[e>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[j>>2]=(k[j>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+-1}r=m;return}function am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;do if((k[g>>2]|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[(k[e>>2]|0)+20>>2]=k[g>>2]<<1;a=Vd(k[(k[e>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[e>>2]|0)+16>>2]=k[h>>2];break}k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}while(0);BR(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function bm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;c=g+8|0;f=g+4|0;d=g+16|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;if((l[(k[h>>2]|0)+231>>0]|0|0)!=0?(k[(k[c>>2]|0)+56>>2]|0)!=0:0){i[d>>0]=0;h=(k[c>>2]|0)+88|0;k[h>>2]=0;k[h+4>>2]=0;k[(k[c>>2]|0)+84>>2]=0;im(0,k[(k[c>>2]|0)+72>>2]|0,k[(k[c>>2]|0)+76>>2]|0,(k[c>>2]|0)+80|0,(k[c>>2]|0)+88|0,(k[c>>2]|0)+84|0,d);h=k[f>>2]|0;r=g;return h|0}h=km(k[c>>2]|0,k[(k[c>>2]|0)+72>>2]|0,10)|0;k[f>>2]=h;if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=gm(k[(k[c>>2]|0)+72>>2]|0,(k[c>>2]|0)+88|0)|0;k[e>>2]=h;k[(k[c>>2]|0)+80>>2]=(k[(k[c>>2]|0)+72>>2]|0)+(k[e>>2]|0);h=k[f>>2]|0;r=g;return h|0}function cm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;s=u+36|0;t=u+32|0;q=u+28|0;e=u+24|0;f=u+20|0;p=u+16|0;n=u+12|0;h=u+41|0;g=u+40|0;o=u+8|0;m=u;k[t>>2]=a;k[q>>2]=b;k[e>>2]=c;k[f>>2]=d;k[p>>2]=0;k[n>>2]=k[(k[q>>2]|0)+80>>2];i[h>>0]=0;do if((l[(k[t>>2]|0)+231>>0]|0)!=0?(k[(k[q>>2]|0)+56>>2]|0)!=0:0){i[g>>0]=0;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[(k[q>>2]|0)+84>>2]|0)-1}im(0,k[(k[q>>2]|0)+72>>2]|0,k[(k[q>>2]|0)+76>>2]|0,n,(k[q>>2]|0)+88|0,(k[q>>2]|0)+84|0,g);if(i[g>>0]|0){k[(k[q>>2]|0)+80>>2]=0;break}else{k[(k[q>>2]|0)+80>>2]=k[n>>2];break}}else j=8;while(0);do if((j|0)==8){k[o>>2]=(k[(k[q>>2]|0)+72>>2]|0)+(k[(k[q>>2]|0)+76>>2]|0);while(1){if(i[k[n>>2]>>0]|i[h>>0]){c=k[n>>2]|0;k[n>>2]=c+1;i[h>>0]=i[c>>0]&128;continue}if(!(k[(k[q>>2]|0)+52>>2]|0))break;if((k[n>>2]|0)>>>0<((k[(k[q>>2]|0)+40>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0)|0)>>>0)break;c=jm(k[q>>2]|0)|0;k[p>>2]=c;if(k[p>>2]|0){j=14;break}}if((j|0)==14){k[s>>2]=k[p>>2];t=k[s>>2]|0;r=u;return t|0}k[n>>2]=(k[n>>2]|0)+1;if(k[e>>2]|0){k[k[e>>2]>>2]=k[(k[q>>2]|0)+80>>2];k[k[f>>2]>>2]=(k[n>>2]|0)-(k[(k[q>>2]|0)+80>>2]|0)-1}while(1){if((k[n>>2]|0)>>>0<(k[o>>2]|0)>>>0)e=(i[k[n>>2]>>0]|0)==0;else e=0;f=k[n>>2]|0;if(!e)break;k[n>>2]=f+1}e=k[q>>2]|0;if(f>>>0>=(k[o>>2]|0)>>>0){k[e+80>>2]=0;break}o=km(e,k[n>>2]|0,10)|0;k[p>>2]=o;if(!(k[p>>2]|0)){b=k[n>>2]|0;b=b+(gm(k[n>>2]|0,m)|0)|0;k[(k[q>>2]|0)+80>>2]=b;b=m;h=k[b>>2]|0;b=k[b+4>>2]|0;e=(k[q>>2]|0)+88|0;g=e;f=k[g>>2]|0;g=k[g+4>>2]|0;if(i[(k[t>>2]|0)+231>>0]|0){q=yR(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}else{q=zR(f|0,g|0,h|0,b|0)|0;t=e;k[t>>2]=q;k[t+4>>2]=L;break}}}while(0);k[s>>2]=0;t=k[s>>2]|0;r=u;return t|0}function dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;q=t+16|0;n=t+12|0;p=t+8|0;m=t+4|0;o=t;j=t+36|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[q>>2]=k[k[g>>2]>>2];k[n>>2]=k[k[h>>2]>>2];k[p>>2]=(k[q>>2]|0)+(k[n>>2]|0);k[m>>2]=0;k[o>>2]=k[q>>2];while(1){i[j>>0]=0;while(1){if((k[o>>2]|0)>>>0>=(k[p>>2]|0)>>>0)break;if(!((i[j>>0]|i[k[o>>2]>>0])&254))break;c=k[o>>2]|0;k[o>>2]=c+1;i[j>>0]=i[c>>0]&128}b=(k[o>>2]|0)-(k[q>>2]|0)|0;if((k[e>>2]|0)==(k[m>>2]|0)){s=7;break}k[n>>2]=(k[n>>2]|0)-b;k[q>>2]=k[o>>2];if(!(k[n>>2]|0))break;k[o>>2]=(k[q>>2]|0)+1;b=k[o>>2]|0;if(l[k[o>>2]>>0]&128)b=hm(b,m)|0;else{k[m>>2]=l[b>>0];b=1}k[o>>2]=(k[o>>2]|0)+b}if((s|0)==7)k[n>>2]=b;if(!(k[f>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}if(((k[q>>2]|0)+(k[n>>2]|0)|0)==(k[p>>2]|0)){s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}DR((k[q>>2]|0)+(k[n>>2]|0)|0,0,(k[p>>2]|0)-((k[q>>2]|0)+(k[n>>2]|0))|0)|0;s=k[q>>2]|0;q=k[g>>2]|0;k[q>>2]=s;q=k[n>>2]|0;s=k[h>>2]|0;k[s>>2]=q;r=t;return}function em(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;o=r;r=r+48|0;f=o+8|0;q=o+40|0;p=o+36|0;g=o+32|0;l=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;j=o;s=f;k[s>>2]=a;k[s+4>>2]=b;k[q>>2]=c;k[p>>2]=d;k[g>>2]=e;k[l>>2]=0;k[h>>2]=0;k[m>>2]=k[q>>2];k[n>>2]=(k[q>>2]|0)+(k[p>>2]|0);if((i[k[m>>2]>>0]|0)!=1){if((i[k[m>>2]>>0]|0)==2){s=f;s=Sl((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2;k[h>>2]=1}fm(0,m)}while(1){if((k[m>>2]|0)>>>0>=(k[n>>2]|0)>>>0)break;if((i[k[m>>2]>>0]|0)!=1)break;k[m>>2]=(k[m>>2]|0)+1;s=gm(k[m>>2]|0,j)|0;k[m>>2]=(k[m>>2]|0)+s;if((i[k[m>>2]>>0]|0)==2){if(!(k[h>>2]|0)){s=f;s=Sl((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;k[h>>2]=1}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=1;s=j;s=Sl((k[g>>2]|0)+(k[l>>2]|0)|0,k[s>>2]|0,k[s+4>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+s;s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=2}fm(0,m)}if(!(k[h>>2]|0)){s=k[l>>2]|0;r=o;return s|0}s=k[l>>2]|0;k[l>>2]=s+1;i[(k[g>>2]|0)+s>>0]=0;s=k[l>>2]|0;r=o;return s|0}function fm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){if(!(254&(i[k[h>>2]>>0]|i[e>>0])))break;b=k[h>>2]|0;k[h>>2]=b+1;i[e>>0]=i[b>>0]&128}if(!(k[c>>2]|0)){a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];BR(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];a=k[h>>2]|0;b=k[d>>2]|0;k[b>>2]=a;r=j;return}function gm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+48|0;c=m+36|0;d=m+32|0;e=m+28|0;j=m+24|0;f=m+20|0;g=m+8|0;l=m+16|0;h=m;k[d>>2]=a;k[e>>2]=b;k[j>>2]=k[d>>2];a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=i[a>>0];a=k[f>>2]|0;if(!(k[f>>2]&128)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=1;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&127|i[b>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=2;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=3;l=k[c>>2]|0;r=m;return l|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){l=k[e>>2]|0;k[l>>2]=a;k[l+4>>2]=0;k[c>>2]=4;l=k[c>>2]|0;r=m;return l|0}f=g;k[f>>2]=a&268435455;k[f+4>>2]=0;k[l>>2]=28;while(1){if((k[l>>2]|0)>63)break;f=k[d>>2]|0;k[d>>2]=f+1;f=i[f>>0]|0;b=h;k[b>>2]=f;k[b+4>>2]=((f|0)<0)<<31>>31;b=ER(k[h>>2]&127|0,0,k[l>>2]|0)|0;f=g;b=zR(k[f>>2]|0,k[f+4>>2]|0,b|0,L|0)|0;f=g;k[f>>2]=b;k[f+4>>2]=L;if((k[h>>2]&128|0)==0&0==0)break;k[l>>2]=(k[l>>2]|0)+7}h=k[g+4>>2]|0;l=k[e>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=h;k[c>>2]=(k[d>>2]|0)-(k[j>>2]|0);l=k[c>>2]|0;r=m;return l|0}function hm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=i[b>>0];b=k[f>>2]&127;a=k[d>>2]|0;k[d>>2]=a+1;k[f>>2]=b|i[a>>0]<<7;a=k[f>>2]|0;if(!(k[f>>2]&16384)){k[k[e>>2]>>2]=a;k[c>>2]=2;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&16383|i[b>>0]<<14;a=k[f>>2]|0;if(!(k[f>>2]&2097152)){k[k[e>>2]>>2]=a;k[c>>2]=3;f=k[c>>2]|0;r=g;return f|0}b=k[d>>2]|0;k[d>>2]=b+1;k[f>>2]=a&2097151|i[b>>0]<<21;a=k[f>>2]|0;if(!(k[f>>2]&268435456)){k[k[e>>2]>>2]=a;k[c>>2]=4;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=a&268435455;k[k[e>>2]>>2]=k[f>>2]|(i[k[d>>2]>>0]&15)<<28;k[c>>2]=5;f=k[c>>2]|0;r=g;return f|0}return 0}function im(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;h=B+76|0;j=B+72|0;l=B+68|0;m=B+64|0;n=B+60|0;o=B+56|0;p=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;q=B+8|0;v=B+28|0;s=B;A=B+24|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;k[w>>2]=k[k[m>>2]>>2];if(k[w>>2]|0){k[v>>2]=(k[h>>2]|0)!=0?-1:1;mm(w,k[j>>2]|0,s);d=k[v>>2]|0;f=s;f=KR(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=k[n>>2]|0;e=d;f=yR(k[e>>2]|0,k[e+4>>2]|0,f|0,L|0)|0;k[d>>2]=f;k[d+4>>2]=L;if((k[w>>2]|0)==(k[j>>2]|0))i[k[p>>2]>>0]=1;else{k[A>>2]=k[w>>2];nm(k[j>>2]|0,w);k[k[o>>2]>>2]=(k[A>>2]|0)-(k[w>>2]|0)}k[k[m>>2]>>2]=k[w>>2];r=B;return}d=t;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;k[x>>2]=k[j>>2];k[y>>2]=(k[j>>2]|0)+(k[l>>2]|0);k[u>>2]=1;while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;d=gm(k[x>>2]|0,q)|0;k[x>>2]=(k[x>>2]|0)+d;d=k[u>>2]|0;f=q;f=KR(d|0,((d|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;d=t;f=zR(k[d>>2]|0,k[d+4>>2]|0,f|0,L|0)|0;d=t;k[d>>2]=f;k[d+4>>2]=L;k[z>>2]=k[x>>2];lm(0,x);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;if(i[k[x>>2]>>0]|0)break;k[x>>2]=(k[x>>2]|0)+1}k[u>>2]=(k[h>>2]|0)!=0?-1:1}k[k[o>>2]>>2]=(k[y>>2]|0)-(k[z>>2]|0);k[k[m>>2]>>2]=k[z>>2];e=t;f=k[e+4>>2]|0;d=k[n>>2]|0;k[d>>2]=k[e>>2];k[d+4>>2]=f;r=B;return}function jm(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(((k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0)<4096)a=(k[(k[c>>2]|0)+44>>2]|0)-(k[(k[c>>2]|0)+48>>2]|0)|0;else a=4096;k[b>>2]=a;a=ef(k[(k[c>>2]|0)+52>>2]|0,(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0,k[b>>2]|0,k[(k[c>>2]|0)+48>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+48|0;k[a>>2]=(k[a>>2]|0)+(k[b>>2]|0);a=(k[(k[c>>2]|0)+40>>2]|0)+(k[(k[c>>2]|0)+48>>2]|0)|0;b=a+20|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(b|0));if((k[(k[c>>2]|0)+48>>2]|0)!=(k[(k[c>>2]|0)+44>>2]|0)){d=k[d>>2]|0;r=e;return d|0}df(k[(k[c>>2]|0)+52>>2]|0)|0;k[(k[c>>2]|0)+52>>2]=0;k[(k[c>>2]|0)+48>>2]=0;d=k[d>>2]|0;r=e;return d|0}function km(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;while(1){if(!((k[g>>2]|0)==0?(k[(k[d>>2]|0)+52>>2]|0)!=0:0)){d=5;break}if(((k[e>>2]|0)-(k[(k[d>>2]|0)+40>>2]|0)+(k[f>>2]|0)|0)<=(k[(k[d>>2]|0)+48>>2]|0)){d=5;break}a=jm(k[d>>2]|0)|0;k[g>>2]=a}if((d|0)==5){r=h;return k[g>>2]|0}return 0}function lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;h=j+8|0;e=j+20|0;f=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];i[e>>0]=0;while(1){b=(i[k[h>>2]>>0]|i[e>>0]|0)!=0;a=k[h>>2]|0;k[h>>2]=a+1;if(!b)break;i[e>>0]=i[a>>0]&128}if(!(k[c>>2]|0)){g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}k[f>>2]=(k[h>>2]|0)-(k[k[d>>2]>>2]|0);k[g>>2]=k[k[c>>2]>>2];BR(k[g>>2]|0,k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+(k[f>>2]|0);k[k[c>>2]>>2]=k[g>>2];g=k[h>>2]|0;h=k[d>>2]|0;k[h>>2]=g;r=j;return}function mm(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;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[k[d>>2]>>2]|0)+-2;while(1){if((k[h>>2]|0)>>>0<(k[e>>2]|0)>>>0)break;if(!(i[k[h>>2]>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}k[h>>2]=(k[h>>2]|0)+1;k[k[d>>2]>>2]=k[h>>2];gm(k[h>>2]|0,g)|0;b=g;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;r=j;return}function nm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+8|0;d=h+4|0;f=h;e=h+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=(k[k[d>>2]>>2]|0)+-2;i[e>>0]=0;do{if((k[f>>2]|0)>>>0<=(k[c>>2]|0)>>>0)break;b=k[f>>2]|0;k[f>>2]=b+-1;b=i[b>>0]|0;i[e>>0]=b}while((b<<24>>24|0)==0);while(1){if((k[f>>2]|0)>>>0>(k[c>>2]|0)>>>0)b=(i[k[f>>2]>>0]&128|i[e>>0]|0)!=0;else b=0;a=k[f>>2]|0;if(!b)break;k[f>>2]=a+-1;i[e>>0]=i[a>>0]|0}if(a>>>0<=(k[c>>2]|0)>>>0){if((i[e>>0]|0)==0?(k[k[d>>2]>>2]|0)>>>0>((k[f>>2]|0)+2|0)>>>0:0)g=11}else g=11;if((g|0)==11)k[f>>2]=(k[f>>2]|0)+2;do{g=k[f>>2]|0;k[f>>2]=g+1}while((i[g>>0]&128|0)!=0);k[k[d>>2]>>2]=k[f>>2];r=h;return}function om(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;n=t+8|0;o=t+40|0;g=t+36|0;h=t;p=t+32|0;j=t+28|0;l=t+24|0;s=t+20|0;m=t+16|0;q=t+12|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[p>>2]=d;k[j>>2]=e;k[l>>2]=f;b=k[g>>2]|0;if(k[(k[g>>2]|0)+244>>2]|0){n=h;n=gf(k[b+244>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[s>>2]=n}else{if(0==(k[b+240>>2]|0)?(k[n>>2]=k[(k[g>>2]|0)+20>>2],n=Yd(23771,n)|0,k[(k[g>>2]|0)+240>>2]=n,0==(k[(k[g>>2]|0)+240>>2]|0)):0){k[o>>2]=7;s=k[o>>2]|0;r=t;return s|0}n=h;n=cf(k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+240>>2]|0,23783,k[n>>2]|0,k[n+4>>2]|0,0,(k[g>>2]|0)+244|0)|0;k[s>>2]=n}if((k[s>>2]|0)==0?(n=ff(k[(k[g>>2]|0)+244>>2]|0)|0,k[m>>2]=n,k[k[j>>2]>>2]=k[m>>2],(k[p>>2]|0)!=0):0){n=Sd((k[m>>2]|0)+20|0)|0;k[q>>2]=n;if(k[q>>2]|0){if((k[l>>2]|0)!=0&(k[m>>2]|0)>16384){k[m>>2]=4096;k[k[l>>2]>>2]=k[m>>2]}b=ef(k[(k[g>>2]|0)+244>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[s>>2]=b;b=(k[q>>2]|0)+(k[m>>2]|0)|0;c=b+20|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0));if(k[s>>2]|0){Ud(k[q>>2]|0);k[q>>2]=0}}else k[s>>2]=7;k[k[p>>2]>>2]=k[q>>2]}k[o>>2]=k[s>>2];s=k[o>>2]|0;r=t;return s|0}function pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;m=q+36|0;e=q+32|0;n=q+28|0;f=q+24|0;g=q+20|0;h=q+16|0;o=q+12|0;j=q+8|0;i=q+4|0;p=q;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[(k[n>>2]|0)+4>>2];k[h>>2]=0;a:while(1){if(k[(k[n>>2]|0)+28>>2]|0){e=12;break}if((k[h>>2]|0)>=(k[(k[n>>2]|0)+4>>2]|0)){e=12;break}k[j>>2]=0;k[i>>2]=k[(k[k[n>>2]>>2]|0)+(k[h>>2]<<2)>>2];do{c=Zl(k[e>>2]|0,k[i>>2]|0,0)|0;k[p>>2]=c;if(k[p>>2]|0){e=6;break a}if(!(k[f>>2]|0))break;c=qm(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[j>>2]=c}while((c|0)<0);if((k[j>>2]|0)!=0?(l[(k[i>>2]|0)+4>>0]|0|0)!=0:0)Yl(k[i>>2]|0);k[h>>2]=(k[h>>2]|0)+1}if((e|0)==6){k[m>>2]=k[p>>2];p=k[m>>2]|0;r=q;return p|0}else if((e|0)==12){$l(k[k[n>>2]>>2]|0,k[o>>2]|0,k[o>>2]|0,184);k[m>>2]=0;p=k[m>>2]|0;r=q;return p|0}return 0}function qm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[g>>2]=0;if(!(k[(k[e>>2]|0)+40>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=k[(k[e>>2]|0)+64>>2]|0;c=k[d>>2]|0;if((k[(k[e>>2]|0)+60>>2]|0)>(k[f>>2]|0)){d=OQ(a,c,k[f>>2]|0)|0;k[g>>2]=d}else{d=OQ(a,c,k[(k[e>>2]|0)+60>>2]|0)|0;k[g>>2]=d}if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}k[g>>2]=(k[(k[e>>2]|0)+60>>2]|0)-(k[f>>2]|0);g=k[g>>2]|0;r=h;return g|0}function rm(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;j=F+88|0;l=F+84|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+68|0;q=F+64|0;s=F+60|0;t=F+56|0;C=F+52|0;A=F+48|0;D=F+44|0;y=F+40|0;z=F+36|0;w=F+16|0;v=F+8|0;u=F;x=F+32|0;E=F+28|0;B=F+24|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[C>>2]=0;k[A>>2]=0;if(((k[n>>2]|0)<0?(k[(k[j>>2]|0)+252>>2]|0)!=0:0)?(k[y>>2]=0,e=sm(k[j>>2]|0,k[m>>2]|0,k[o>>2]|0,k[p>>2]|0,((k[q>>2]|0)!=0?1:(k[s>>2]|0)!=0)&1,y)|0,k[C>>2]=e,(k[C>>2]|0)==0&(k[y>>2]|0)!=0):0){e=tm(k[t>>2]|0,k[y>>2]|0)|0;k[C>>2]=e}a:do if((k[n>>2]|0)!=-1){if(!(k[C>>2]|0)){e=um(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,A)|0;k[C>>2]=e}while(1){if(k[C>>2]|0)break a;e=Ee(k[A>>2]|0)|0;k[C>>2]=e;if(100!=(e|0))break a;k[z>>2]=0;y=Oe(k[A>>2]|0,1)|0;e=w;k[e>>2]=y;k[e+4>>2]=L;e=Oe(k[A>>2]|0,2)|0;y=v;k[y>>2]=e;k[y+4>>2]=L;y=Oe(k[A>>2]|0,3)|0;e=u;k[e>>2]=y;k[e+4>>2]=L;e=Le(k[A>>2]|0,4)|0;k[x>>2]=e;e=Ke(k[A>>2]|0,4)|0;k[E>>2]=e;e=w;if(((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)&(k[o>>2]|0)!=0){k[B>>2]=(k[q>>2]|0)!=0?v:0;e=vm(k[j>>2]|0,k[o>>2]|0,k[p>>2]|0,k[E>>2]|0,k[x>>2]|0,w,k[B>>2]|0)|0;k[C>>2]=e;if(k[C>>2]|0)break a;if((k[q>>2]|0)==0&(k[s>>2]|0)==0){i=w;y=k[i+4>>2]|0;e=v;k[e>>2]=k[i>>2];k[e+4>>2]=y}}i=w;y=v;e=u;e=wm((k[(k[t>>2]|0)+4>>2]|0)+1|0,((k[q>>2]|0)==0?(k[s>>2]|0)==0:0)&1,k[i>>2]|0,k[i+4>>2]|0,k[y>>2]|0,k[y+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[E>>2]|0,k[x>>2]|0,z)|0;k[C>>2]=e;if(k[C>>2]|0)break a;e=tm(k[t>>2]|0,k[z>>2]|0)|0;k[C>>2]=e}}while(0);e=he(k[A>>2]|0)|0;k[D>>2]=e;if((k[C>>2]|0)!=101){e=k[C>>2]|0;r=F;return e|0}k[C>>2]=k[D>>2];e=k[C>>2]|0;r=F;return e|0}function sm(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+80|0;A=y+64|0;z=y+60|0;g=y+56|0;h=y+52|0;i=y+48|0;j=y+44|0;u=y+40|0;s=y+36|0;l=y+32|0;p=y+28|0;v=y+24|0;t=y+20|0;n=y+16|0;w=y+12|0;q=y+8|0;m=y+4|0;o=y;k[A>>2]=a;k[z>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=e;k[j>>2]=f;k[u>>2]=0;k[l>>2]=0;k[p>>2]=0;k[v>>2]=0;k[t>>2]=(k[(k[A>>2]|0)+252>>2]|0)+((k[z>>2]|0)*24|0)+4;if(k[i>>2]|0){k[n>>2]=0;k[s>>2]=k[(k[t>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;k[w>>2]=k[(k[s>>2]|0)+12>>2];k[q>>2]=k[(k[s>>2]|0)+16>>2];if(k[h>>2]|0){if((k[q>>2]|0)>=(k[h>>2]|0)?0==(OQ(k[w>>2]|0,k[g>>2]|0,k[h>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((k[p>>2]|0)==(k[n>>2]|0)){k[n>>2]=(k[n>>2]|0)+16;A=Vd(k[l>>2]|0,k[n>>2]<<2)|0;k[m>>2]=A;if(!(k[m>>2]|0)){x=9;break}k[l>>2]=k[m>>2]}z=k[s>>2]|0;A=k[p>>2]|0;k[p>>2]=A+1;k[(k[l>>2]|0)+(A<<2)>>2]=z}k[s>>2]=k[k[s>>2]>>2]}if((x|0)==9){k[v>>2]=7;k[p>>2]=0}if((k[p>>2]|0)>1)NQ(k[l>>2]|0,k[p>>2]|0,4,185)}else{A=Ok(k[t>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[s>>2]=A;if(k[s>>2]|0){k[l>>2]=s;k[p>>2]=1}}do if((k[p>>2]|0)>0){k[o>>2]=96+((k[p>>2]|0)+1<<2);A=Sd(k[o>>2]|0)|0;k[u>>2]=A;if(k[u>>2]|0){DR(k[u>>2]|0,0,k[o>>2]|0)|0;k[k[u>>2]>>2]=2147483647;k[(k[u>>2]|0)+56>>2]=(k[u>>2]|0)+96;BR(k[(k[u>>2]|0)+56>>2]|0,k[l>>2]|0,k[p>>2]<<2|0)|0;break}else{k[v>>2]=7;break}}while(0);if(!(k[i>>2]|0)){z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}Ud(k[l>>2]|0);z=k[u>>2]|0;A=k[j>>2]|0;k[A>>2]=z;A=k[v>>2]|0;r=y;return A|0}function tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;do if(!((k[(k[d>>2]|0)+4>>2]|0)%16|0)){k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+16<<2;b=Vd(k[k[d>>2]>>2]|0,k[g>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){k[k[d>>2]>>2]=k[f>>2];break}Kl(k[e>>2]|0);k[c>>2]=7;b=k[c>>2]|0;r=h;return b|0}while(0);a=k[e>>2]|0;g=(k[d>>2]|0)+4|0;b=k[g>>2]|0;k[g>>2]=b+1;k[(k[k[d>>2]>>2]|0)+(b<<2)>>2]=a;k[c>>2]=0;b=k[c>>2]|0;r=h;return b|0}function um(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;m=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=0;c=k[f>>2]|0;if((k[i>>2]|0)<0){i=xl(c,13,l,0)|0;k[m>>2]=i;if(!(k[m>>2]|0)){i=k[l>>2]|0;e=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,0)|0;We(i,1,e,L)|0;e=k[l>>2]|0;i=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,1023)|0;We(e,2,i,L)|0}}else{e=xl(c,12,l,0)|0;k[m>>2]=e;if(!(k[m>>2]|0)){e=k[l>>2]|0;i=Al(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;We(e,1,i,L)|0}}k[k[j>>2]>>2]=k[l>>2];r=n;return k[m>>2]|0}function vm(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;o=v+32|0;h=v+28|0;i=v+24|0;p=v+20|0;q=v+16|0;t=v+12|0;j=v+8|0;u=v+4|0;s=v;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[h>>2]=d;k[i>>2]=e;k[p>>2]=f;k[q>>2]=g;k[t>>2]=0;e=k[h>>2]|0;if((l[k[h>>2]>>0]|0)&128)hm(e,j)|0;else k[j>>2]=l[e>>0];i=xm(k[n>>2]|0,k[o>>2]|0,k[h>>2]|0,k[i>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=i;if(!((k[t>>2]|0)==0&(k[j>>2]|0)>1)){u=k[t>>2]|0;r=v;return u|0}k[u>>2]=0;k[s>>2]=0;if((k[p>>2]|0)!=0&(k[q>>2]|0)!=0?(i=k[p>>2]|0,j=k[q>>2]|0,(k[i>>2]|0)!=(k[j>>2]|0)?1:(k[i+4>>2]|0)!=(k[j+4>>2]|0)):0){j=k[p>>2]|0;j=om(k[m>>2]|0,k[j>>2]|0,k[j+4>>2]|0,u,s,0)|0;k[t>>2]=j;if(!(k[t>>2]|0)){j=vm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=j}Ud(k[u>>2]|0);k[p>>2]=0;k[u>>2]=0}if(!(k[t>>2]|0)){if(k[p>>2]|0){c=k[p>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}else{c=k[q>>2]|0;e=k[c>>2]|0;c=k[c+4>>2]|0}j=om(k[m>>2]|0,e,c,u,s,0)|0;k[t>>2]=j}if(!(k[t>>2]|0)){s=vm(k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[u>>2]|0,k[s>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;k[t>>2]=s}Ud(k[u>>2]|0);u=k[t>>2]|0;r=v;return u|0}function wm(a,b,c,d,e,f,g,h,j,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;n=z+8|0;o=z;p=z+40|0;q=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;k[u>>2]=a;k[v>>2]=b;a=w;k[a>>2]=c;k[a+4>>2]=d;a=n;k[a>>2]=e;k[a+4>>2]=f;a=o;k[a>>2]=g;k[a+4>>2]=h;k[p>>2]=j;k[q>>2]=l;k[s>>2]=m;k[x>>2]=0;j=w;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0)k[x>>2]=(k[q>>2]|0)+20;j=Sd(96+(k[x>>2]|0)|0)|0;k[y>>2]=j;if(!(k[y>>2]|0)){k[t>>2]=7;y=k[t>>2]|0;r=z;return y|0}c=k[y>>2]|0;d=c+96|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[k[y>>2]>>2]=k[u>>2];i[(k[y>>2]|0)+4>>0]=(k[v>>2]|0)!=0;j=w;u=k[j+4>>2]|0;v=(k[y>>2]|0)+8|0;k[v>>2]=k[j>>2];k[v+4>>2]=u;v=k[n+4>>2]|0;u=(k[y>>2]|0)+16|0;k[u>>2]=k[n>>2];k[u+4>>2]=v;u=k[o+4>>2]|0;v=(k[y>>2]|0)+24|0;k[v>>2]=k[o>>2];k[v+4>>2]=u;if(k[x>>2]|0){k[(k[y>>2]|0)+40>>2]=(k[y>>2]|0)+96;i[(k[y>>2]|0)+5>>0]=1;k[(k[y>>2]|0)+44>>2]=k[q>>2];BR(k[(k[y>>2]|0)+40>>2]|0,k[p>>2]|0,k[q>>2]|0)|0;c=(k[(k[y>>2]|0)+40>>2]|0)+(k[q>>2]|0)|0;d=c+20|0;do{i[c>>0]=0;c=c+1|0}while((c|0)<(d|0))}else{w=yR(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=(k[y>>2]|0)+32|0;k[x>>2]=w;k[x+4>>2]=L}k[k[s>>2]>>2]=k[y>>2];k[t>>2]=0;y=k[t>>2]|0;r=z;return y|0}function xm(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,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;u=A+76|0;g=A+72|0;h=A+68|0;C=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;q=A+44|0;s=A+40|0;z=A+36|0;m=A+32|0;j=A+28|0;x=A;i=A+24|0;p=A+20|0;o=A+16|0;n=A+12|0;t=A+8|0;k[g>>2]=a;k[h>>2]=b;k[C>>2]=c;k[B>>2]=d;k[v>>2]=e;k[w>>2]=f;k[y>>2]=0;k[q>>2]=k[C>>2];k[s>>2]=(k[q>>2]|0)+(k[B>>2]|0);k[z>>2]=0;k[m>>2]=0;k[j>>2]=1;a=gm(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;a=gm(k[q>>2]|0,x)|0;k[q>>2]=(k[q>>2]|0)+a;if((k[q>>2]|0)>>>0>(k[s>>2]|0)>>>0){k[u>>2]=267;C=k[u>>2]|0;r=A;return C|0}while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0){d=28;break}if(!((k[v>>2]|0)!=0?1:(k[w>>2]|0)!=0)){d=28;break}k[o>>2]=0;if(!(k[j>>2]|0)){d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=hm(d,o)|0;else{k[o>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d}k[j>>2]=0;d=k[q>>2]|0;if((l[k[q>>2]>>0]|0)&128)d=hm(d,p)|0;else{k[p>>2]=l[d>>0];d=1}k[q>>2]=(k[q>>2]|0)+d;if((k[o>>2]|0)<0|(k[p>>2]|0)<0){d=15;break}if(((k[q>>2]|0)+(k[p>>2]|0)|0)>>>0>(k[s>>2]|0)>>>0){d=15;break}if(((k[o>>2]|0)+(k[p>>2]|0)|0)>(k[m>>2]|0)){k[m>>2]=(k[o>>2]|0)+(k[p>>2]|0)<<1;C=Vd(k[z>>2]|0,k[m>>2]|0)|0;k[t>>2]=C;if(!(k[t>>2]|0)){d=18;break}k[z>>2]=k[t>>2]}BR((k[z>>2]|0)+(k[o>>2]|0)|0,k[q>>2]|0,k[p>>2]|0)|0;k[n>>2]=(k[o>>2]|0)+(k[p>>2]|0);k[q>>2]=(k[q>>2]|0)+(k[p>>2]|0);C=OQ(k[g>>2]|0,k[z>>2]|0,(k[n>>2]|0)>(k[h>>2]|0)?k[h>>2]|0:k[n>>2]|0)|0;k[i>>2]=C;do if(k[v>>2]|0){if((k[i>>2]|0)>=0){if(k[i>>2]|0)break;if((k[n>>2]|0)<=(k[h>>2]|0))break}a=x;B=k[a+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[v>>2]=0}while(0);if((k[w>>2]|0)!=0&(k[i>>2]|0)<0){a=x;B=k[a+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[a>>2];k[C+4>>2]=B;k[w>>2]=0}B=x;B=zR(k[B>>2]|0,k[B+4>>2]|0,1,0)|0;C=x;k[C>>2]=B;k[C+4>>2]=L}if((d|0)==15)k[y>>2]=267;else if((d|0)==18)k[y>>2]=7;else if((d|0)==28){if(k[v>>2]|0){t=x;B=k[t+4>>2]|0;C=k[v>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=B}if(k[w>>2]|0){B=k[x+4>>2]|0;C=k[w>>2]|0;k[C>>2]=k[x>>2];k[C+4>>2]=B}}Ud(k[z>>2]|0);k[u>>2]=k[y>>2];C=k[u>>2]|0;r=A;return C|0}function ym(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+28|0;j=f+24|0;i=f+20|0;h=f+16|0;d=f+12|0;e=f+8|0;g=f+4|0;c=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=k[(k[k[l>>2]>>2]|0)+12>>2];k[h>>2]=k[(k[k[j>>2]>>2]|0)+12>>2];k[d>>2]=k[(k[k[l>>2]>>2]|0)+16>>2];k[e>>2]=k[(k[k[j>>2]>>2]|0)+16>>2];k[g>>2]=(k[d>>2]|0)<(k[e>>2]|0)?k[d>>2]|0:k[e>>2]|0;b=OQ(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0;k[c>>2]=b;if(k[c>>2]|0){l=k[c>>2]|0;r=f;return l|0}k[c>>2]=(k[d>>2]|0)-(k[e>>2]|0);l=k[c>>2]|0;r=f;return l|0}function zm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;g=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;n=o+16|0;m=o+12|0;l=o+8|0;h=o+4|0;i=o;k[g>>2]=a;k[d>>2]=b;k[e>>2]=c;k[n>>2]=24035;k[m>>2]=24039;k[l>>2]=24044;k[h>>2]=-1;k[i>>2]=15;c=k[g>>2]|0;if((k[d>>2]|0)>6){te(c,24055,-1);r=o;return}if(Dm(c,21094,k[k[e>>2]>>2]|0,j)|0){r=o;return}switch(k[d>>2]|0){case 6:{f=ne(k[(k[e>>2]|0)+20>>2]|0)|0;k[i>>2]=f;f=6;break}case 5:{f=6;break}case 4:{f=7;break}case 3:{f=8;break}case 2:{f=9;break}default:{}}if((f|0)==6){d=ne(k[(k[e>>2]|0)+16>>2]|0)|0;k[h>>2]=d;f=7}if((f|0)==7){d=ke(k[(k[e>>2]|0)+12>>2]|0)|0;k[l>>2]=d;f=8}if((f|0)==8){d=ke(k[(k[e>>2]|0)+8>>2]|0)|0;k[m>>2]=d;f=9}if((f|0)==9){f=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[n>>2]=f}if(!((k[l>>2]|0)!=0&(k[m>>2]|0)!=0&(k[n>>2]|0)!=0)){De(k[g>>2]|0);r=o;return}c=k[g>>2]|0;if(!(k[i>>2]|0)){xe(c,19010,-1,0);r=o;return}if(Bn(c,k[j>>2]|0)|0){r=o;return}fo(k[g>>2]|0,k[j>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0);r=o;return}function Am(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;if(Dm(k[d>>2]|0,21102,k[k[g>>2]>>2]|0,e)|0){r=f;return}if(Bn(k[d>>2]|0,k[e>>2]|0)|0){r=f;return}ao(k[d>>2]|0,k[e>>2]|0);r=f;return}function Bm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+12|0;g=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[h+16>>2]=b;k[i>>2]=c;if(Dm(k[d>>2]|0,21120,k[k[i>>2]>>2]|0,f)|0){r=h;return}k[e>>2]=k[k[f>>2]>>2];i=_n(k[e>>2]|0)|0;k[g>>2]=i;switch(k[g>>2]|0){case 0:{xe(k[d>>2]|0,23939,-1,0);r=h;return}case 101:{xe(k[d>>2]|0,23955,-1,0);r=h;return}default:{Be(k[d>>2]|0,k[g>>2]|0);r=h;return}}}function Cm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Dm(k[d>>2]|0,21110,k[k[f>>2]>>2]|0,g)|0){r=i;return}k[h>>2]=0;if((k[e>>2]|0)>1){a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[h>>2]=a}Em(k[d>>2]|0,k[g>>2]|0,k[h>>2]|0);r=i;return}function Dm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;m=o;e=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((pe(k[h>>2]|0)|0)==4?(le(k[h>>2]|0)|0)==4:0){b=je(k[h>>2]|0)|0;i[l>>0]=i[b>>0]|0;i[l+1>>0]=i[b+1>>0]|0;i[l+2>>0]=i[b+2>>0]|0;i[l+3>>0]=i[b+3>>0]|0;k[k[j>>2]>>2]=k[l>>2];k[e>>2]=0;b=k[e>>2]|0;r=o;return b|0}k[m>>2]=k[g>>2];b=Yd(23910,m)|0;k[n>>2]=b;te(k[f>>2]|0,k[n>>2]|0,-1);Ud(k[n>>2]|0);k[e>>2]=1;b=k[e>>2]|0;r=o;return b|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,i=0;i=r;r=r+32|0;d=i+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[h>>2]=k[e>>2];else k[h>>2]=23845;d=k[d>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){Fm(d,k[f>>2]|0,k[h>>2]|0);Gm(k[g>>2]|0);r=i;return}else{qe(d,19010,0,0);r=i;return}}function Fm(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;d=u+76|0;e=u+72|0;f=u+68|0;p=u;n=u+64|0;o=u+60|0;h=u+56|0;g=u+52|0;q=u+48|0;m=u+44|0;j=u+40|0;s=u+36|0;l=u+32|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[n>>2]=k[k[e>>2]>>2];k[o>>2]=0;k[h>>2]=0;k[g>>2]=0;k[q>>2]=0;k[p>>2]=0;k[p+4>>2]=0;k[p+8>>2]=0;k[p+12>>2]=0;k[p+16>>2]=0;k[p+20>>2]=0;k[p+24>>2]=0;k[p+28>>2]=0;k[p>>2]=k[e>>2];k[p+4>>2]=k[(k[n>>2]|0)+24>>2];if((k[(k[e>>2]|0)+92>>2]|0)!=0?(RQ(k[(k[(k[e>>2]|0)+92>>2]|0)+12>>2]|0,k[f>>2]|0)|0)!=0:0){Hm(k[(k[e>>2]|0)+92>>2]|0);k[(k[e>>2]|0)+92>>2]=0}if(!(k[(k[e>>2]|0)+92>>2]|0)){k[m>>2]=0;c=Im(k[(k[e>>2]|0)+12>>2]|0)|0;k[(k[e>>2]|0)+20>>2]=c;k[p+8>>2]=k[(k[e>>2]|0)+20>>2];k[j>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[s>>2]=0;if(Jm(k[n>>2]|0,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0,s)|0){t=8;break}c=Km(p,i[(k[f>>2]|0)+(k[j>>2]|0)>>0]|0)|0;k[m>>2]=(k[m>>2]|0)+c;k[j>>2]=(k[j>>2]|0)+1}if((t|0)==8){te(k[d>>2]|0,k[s>>2]|0,-1);Ud(k[s>>2]|0);r=u;return}t=Lm(k[m>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=t;if(!(k[(k[e>>2]|0)+92>>2]|0))k[o>>2]=7;k[(k[e>>2]|0)+88>>2]=1;k[h>>2]=1}if((k[o>>2]|0)==0?(t=Mm(k[(k[e>>2]|0)+92>>2]|0,g)|0,k[q>>2]=t,(k[q>>2]|0)==0):0)k[o>>2]=7;if((k[o>>2]|0)==0?(k[p+28>>2]=k[g>>2],k[p+8>>2]=k[(k[e>>2]|0)+20>>2],t=Nm(k[e>>2]|0,k[h>>2]|0,p,k[f>>2]|0)|0,k[o>>2]=t,(k[h>>2]|0)!=0):0)Om(k[(k[e>>2]|0)+92>>2]|0);if(!(k[o>>2]|0)){k[l>>2]=k[(k[(k[e>>2]|0)+92>>2]|0)+4>>2]<<2;qe(k[d>>2]|0,k[g>>2]|0,k[l>>2]|0,k[q>>2]|0);r=u;return}Be(k[d>>2]|0,k[o>>2]|0);if(!(k[q>>2]|0)){r=u;return}_b[k[q>>2]&255](k[g>>2]|0);r=u;return}function Gm(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;df(k[(k[c>>2]|0)+244>>2]|0)|0;k[(k[c>>2]|0)+244>>2]=0;r=b;return}function Hm(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}i[k[b>>2]>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Im(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;Vm(k[d>>2]|0,153,b)|0;r=c;return k[b>>2]|0}function Jm(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;j=r;r=r+32|0;h=j;d=j+12|0;e=j+8|0;f=j+16|0;g=j+4|0;k[e>>2]=a;i[f>>0]=b;k[g>>2]=c;do if((i[f>>0]|0)!=112?(i[f>>0]|0)!=99:0){if((i[f>>0]|0)==110?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==97?(l[(k[e>>2]|0)+228>>0]|0)!=0:0)break;if((i[f>>0]|0)==108?(l[(k[e>>2]|0)+230>>0]|0)!=0:0)break;if((((i[f>>0]|0)!=115?(i[f>>0]|0)!=120:0)?(i[f>>0]|0)!=121:0)?(i[f>>0]|0)!=98:0){c=k[g>>2]|0;k[h>>2]=i[f>>0];Nk(c,23875,h);k[d>>2]=1;h=k[d>>2]|0;r=j;return h|0}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}function Km(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;f=e+8|0;d=e;k[c>>2]=a;i[f>>0]=b;switch(i[f>>0]|0){case 99:case 112:case 110:{k[d>>2]=1;break}case 115:case 108:case 97:{k[d>>2]=k[(k[c>>2]|0)+4>>2];break}case 121:{f=ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0;k[d>>2]=f;break}case 98:{f=ha(k[(k[c>>2]|0)+8>>2]|0,((k[(k[c>>2]|0)+4>>2]|0)+31|0)/32|0)|0;k[d>>2]=f;break}default:{f=(ha(k[(k[c>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+8>>2]|0)|0)*3|0;k[d>>2]=f}}r=e;return k[d>>2]|0}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=((k[c>>2]<<1)+1<<2)+20;b=UQ(k[d>>2]|0)|0;k[f>>2]=b;b=Sd((k[e>>2]|0)+(k[f>>2]|0)+1|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=k[g>>2]|0;r=h;return b|0}DR(k[g>>2]|0,0,k[e>>2]|0)|0;k[(k[g>>2]|0)+16>>2]=(k[g>>2]|0)+16+4-(k[g>>2]|0);k[(k[g>>2]|0)+16+(1+(k[c>>2]|0)<<2)>>2]=(k[(k[g>>2]|0)+16>>2]|0)+((k[c>>2]|0)+1<<2);k[(k[g>>2]|0)+4>>2]=k[c>>2];k[(k[g>>2]|0)+12>>2]=(k[g>>2]|0)+(k[e>>2]|0);BR(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,(k[f>>2]|0)+1|0)|0;i[k[g>>2]>>0]=1;b=k[g>>2]|0;r=h;return b|0}function Mm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[e>>2]=0;b=k[c>>2]|0;do if(l[(k[c>>2]|0)+1>>0]|0){a=k[c>>2]|0;if(!(l[b+2>>0]|0)){i[a+2>>0]=1;k[e>>2]=(k[c>>2]|0)+16+((k[(k[c>>2]|0)+4>>2]|0)+2<<2);k[f>>2]=152;break}b=Sd(k[a+4>>2]<<2)|0;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[f>>2]=148,(k[(k[c>>2]|0)+8>>2]|0)!=0):0)BR(k[e>>2]|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0}else{i[b+1>>0]=1;k[e>>2]=(k[c>>2]|0)+16+4;k[f>>2]=152}while(0);k[k[d>>2]>>2]=k[e>>2];r=g;return k[f>>2]|0}function Nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;e=B+92|0;f=B+88|0;g=B+84|0;h=B+80|0;A=B+76|0;m=B+72|0;y=B+68|0;z=B+64|0;q=B+24|0;s=B+16|0;j=B+60|0;n=B+56|0;p=B+52|0;t=B+8|0;x=B+48|0;o=B+44|0;l=B+40|0;u=B;v=B+36|0;w=B+32|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[A>>2]=0;k[y>>2]=k[k[e>>2]>>2];k[z>>2]=0;k[m>>2]=0;while(1){if(k[A>>2]|0){e=31;break}if(!(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)){e=31;break}i[(k[g>>2]|0)+24>>0]=i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0;a:do switch(i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0){case 112:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+8>>2];break}case 99:{if(k[f>>2]|0)k[k[(k[g>>2]|0)+28>>2]>>2]=k[(k[g>>2]|0)+4>>2];break}case 110:{if(k[f>>2]|0){d=q;k[d>>2]=0;k[d+4>>2]=0;d=Pm(k[y>>2]|0,z,q,0)|0;k[A>>2]=d;k[k[(k[g>>2]|0)+28>>2]>>2]=k[q>>2]}break}case 97:{if((k[f>>2]|0)!=0?(d=Pm(k[y>>2]|0,z,s,j)|0,k[A>>2]=d,(k[A>>2]|0)==0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break a;d=gm(k[j>>2]|0,t)|0;k[j>>2]=(k[j>>2]|0)+d;d=k[t>>2]|0;c=s;c=IR(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;c=zR(d|0,0,c|0,L|0)|0;d=s;d=IR(c|0,L|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[p>>2]=d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[n>>2]<<2)>>2]=k[p>>2];k[n>>2]=(k[n>>2]|0)+1}}break}case 108:{k[x>>2]=0;d=(k[e>>2]|0)+32|0;d=Qm(k[y>>2]|0,k[d>>2]|0,k[d+4>>2]|0,x)|0;k[A>>2]=d;b:do if(!(k[A>>2]|0)){d=Ke(k[x>>2]|0,0)|0;k[l>>2]=d;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[(k[g>>2]|0)+4>>2]|0))break b;d=gm(k[l>>2]|0,u)|0;k[l>>2]=(k[l>>2]|0)+d;k[(k[(k[g>>2]|0)+28>>2]|0)+(k[o>>2]<<2)>>2]=k[u>>2];k[o>>2]=(k[o>>2]|0)+1}}while(0);he(k[x>>2]|0)|0;break}case 115:{d=Rm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){d=Sm(k[e>>2]|0,k[g>>2]|0)|0;k[A>>2]=d}break}case 121:case 98:{d=(Km(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0)<<2;k[v>>2]=d;DR(k[(k[g>>2]|0)+28>>2]|0,0,k[v>>2]|0)|0;Tm(k[(k[e>>2]|0)+12>>2]|0,k[g>>2]|0);break}default:{k[w>>2]=k[(k[e>>2]|0)+12>>2];d=Rm(k[e>>2]|0,0,0)|0;k[A>>2]=d;if(!(k[A>>2]|0)){if(k[f>>2]|0){if((k[(k[e>>2]|0)+24>>2]|0)!=0?(d=Pm(k[y>>2]|0,z,(k[g>>2]|0)+16|0,0)|0,k[A>>2]=d,(k[A>>2]|0)!=0):0)break a;d=Vm(k[w>>2]|0,154,k[g>>2]|0)|0;k[A>>2]=d;Wm(k[e>>2]|0,A)|0;if(k[A>>2]|0)break a}Vm(k[w>>2]|0,155,k[g>>2]|0)|0}}}while(0);c=Km(k[g>>2]|0,i[(k[h>>2]|0)+(k[m>>2]|0)>>0]|0)|0;d=(k[g>>2]|0)+28|0;k[d>>2]=(k[d>>2]|0)+(c<<2);k[m>>2]=(k[m>>2]|0)+1}if((e|0)==31){he(k[z>>2]|0)|0;r=B;return k[A>>2]|0}return 0}function Om(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+8>>2]=1;BR((k[c>>2]|0)+16+(2+(k[(k[c>>2]|0)+4>>2]|0)<<2)|0,(k[c>>2]|0)+16+4|0,k[(k[c>>2]|0)+4>>2]<<2|0)|0;r=b;return}function Pm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;e=o+36|0;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;m=o+16|0;j=o+12|0;l=o;n=o+8|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)==0?(b=Xn(k[f>>2]|0,k[g>>2]|0)|0,k[n>>2]=b,(k[n>>2]|0)!=0):0){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}k[m>>2]=k[k[g>>2]>>2];n=Ke(k[m>>2]|0,0)|0;k[j>>2]=n;n=gm(k[j>>2]|0,l)|0;k[j>>2]=(k[j>>2]|0)+n;n=l;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0){k[e>>2]=267;n=k[e>>2]|0;r=o;return n|0}n=k[h>>2]|0;k[n>>2]=k[l>>2];k[n+4>>2]=0;if(k[i>>2]|0)k[k[i>>2]>>2]=k[j>>2];k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}function Qm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e;f=e+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;d=h;d=Wn(k[g>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[f>>2]|0)|0;r=e;return d|0}function Rm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+24|0;d=h+20|0;e=h+16|0;f=h+12|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;k[g+4>>2]=0;k[g+8>>2]=0;k[g>>2]=k[i>>2];c=Vm(k[(k[i>>2]|0)+12>>2]|0,156,g)|0;k[f>>2]=c;if(k[d>>2]|0)k[k[d>>2]>>2]=k[g+4>>2];if(!(k[e>>2]|0)){i=k[f>>2]|0;r=h;return i|0}k[k[e>>2]>>2]=k[g+8>>2];i=k[f>>2]|0;r=h;return i|0}function Sm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;p=t+56|0;c=t+52|0;d=t+48|0;q=t+44|0;e=t+40|0;f=t+36|0;j=t+32|0;n=t+28|0;g=t+24|0;h=t+20|0;s=t+16|0;m=t+12|0;l=t+8|0;i=t+4|0;o=t;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;b=Sd(k[(k[c>>2]|0)+20>>2]<<4)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[p>>2]=7;s=k[p>>2]|0;r=t;return s|0}DR(k[q>>2]|0,0,k[(k[c>>2]|0)+20>>2]<<4|0)|0;Vm(k[(k[c>>2]|0)+12>>2]|0,157,k[q>>2]|0)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[n>>2]=(k[q>>2]|0)+(k[e>>2]<<4);k[j>>2]=(k[j>>2]|0)-(k[(k[(k[k[n>>2]>>2]|0)+20>>2]|0)+64>>2]|0);k[(k[n>>2]|0)+4>>2]=k[j>>2];k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=0;a:while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){c=33;break}k[g>>2]=0;k[h>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[m>>2]=(k[q>>2]|0)+(k[e>>2]<<4);n=Ym(k[c>>2]|0,k[k[m>>2]>>2]|0,k[f>>2]|0,(k[m>>2]|0)+8|0)|0;k[s>>2]=n;if(k[s>>2]|0){c=11;break a}if(k[(k[m>>2]|0)+8>>2]|0){k[(k[m>>2]|0)+12>>2]=k[(k[m>>2]|0)+4>>2];Un((k[q>>2]|0)+(k[e>>2]<<4)|0)|0;k[h>>2]=(k[h>>2]|0)+1}k[e>>2]=(k[e>>2]|0)+1}while(1){if((k[h>>2]|0)<=0)break;k[l>>2]=0;k[i>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+8>>2]|0))break;k[o>>2]=(k[q>>2]|0)+(k[e>>2]<<4);if(k[(k[o>>2]|0)+8>>2]|0){if(!((k[l>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)>=(k[(k[l>>2]|0)+12>>2]|0):0))k[l>>2]=k[o>>2];if((k[i>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)!=(k[(k[o>>2]|0)+-16+12>>2]|0):0)k[i>>2]=1;else k[i>>2]=(k[i>>2]|0)+1;if((k[i>>2]|0)>(k[g>>2]|0))k[g>>2]=k[i>>2]}else k[i>>2]=0;k[e>>2]=(k[e>>2]|0)+1}if(!(Un(k[l>>2]|0)|0))continue;k[h>>2]=(k[h>>2]|0)+-1}k[(k[(k[d>>2]|0)+28>>2]|0)+(k[f>>2]<<2)>>2]=k[g>>2];k[f>>2]=(k[f>>2]|0)+1}if((c|0)==11){k[p>>2]=k[s>>2];s=k[p>>2]|0;r=t;return s|0}else if((c|0)==33){Ud(k[q>>2]|0);k[p>>2]=0;s=k[p>>2]|0;r=t;return s|0}return 0}function Tm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(l[(k[c>>2]|0)+32>>0]|0){r=e;return}b=(k[c>>2]|0)+24|0;a=(k[k[d>>2]>>2]|0)+32|0;if(!((k[b>>2]|0)==(k[a>>2]|0)?(k[b+4>>2]|0)==(k[a+4>>2]|0):0)){r=e;return}b=k[c>>2]|0;if(k[(k[c>>2]|0)+12>>2]|0){Tm(k[b+12>>2]|0,k[d>>2]|0);Tm(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0);r=e;return}else{Sn(b,k[d>>2]|0);r=e;return}}function Um(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[e>>2]=k[h>>2];a=ha((k[g>>2]|0)*3|0,k[(k[e>>2]|0)+4>>2]|0)|0;a=Pn(k[k[e>>2]>>2]|0,k[f>>2]|0,(k[(k[e>>2]|0)+28>>2]|0)+(a<<2)|0)|0;r=d;return a|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;h=d+12|0;f=d+8|0;e=d+4|0;g=d;k[h>>2]=a;k[f>>2]=b;k[e>>2]=c;k[g>>2]=0;b=On(k[h>>2]|0,g,k[f>>2]|0,k[e>>2]|0)|0;r=d;return b|0}function Wm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[e>>2]=0;if(k[f>>2]|0){b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}if((k[(k[c>>2]|0)+24>>2]|0)!=0?(b=Bn(0,k[c>>2]|0)|0,k[f>>2]=b,(k[f>>2]|0)==0):0){b=Cn(k[c>>2]|0)|0;k[f>>2]=b}b=0==(Dn(k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,f)|0)&1;k[e>>2]=b;En(k[c>>2]|0);k[k[d>>2]>>2]=k[f>>2];b=k[f>>2]|0;b=(b|0)==0;f=k[e>>2]|0;f=(f|0)!=0;f=b?f:0;f=f&1;r=g;return f|0}function Xm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;l=j+24|0;m=j+20|0;i=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;h=j;k[d>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=0;k[g>>2]=k[m>>2];a=(ha(k[l>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0)*3|0;k[f>>2]=a;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[g>>2]|0)+4>>2]|0)?(k[i>>2]|0)==0:0))break;m=Ym(k[k[g>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[i>>2]=m;if(k[h>>2]|0){m=Zm(h)|0;k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=m}else k[(k[(k[g>>2]|0)+28>>2]|0)+((k[f>>2]|0)+((k[e>>2]|0)*3|0)<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}r=j;return k[i>>2]|0} +function Vy(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=r;r=r+176|0;W=X+40|0;V=X+24|0;C=X+8|0;B=X;H=X+164|0;I=X+160|0;g=X+156|0;J=X+152|0;K=X+148|0;M=X+144|0;N=X+140|0;p=X+136|0;s=X+132|0;O=X+128|0;n=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;o=X+76|0;E=X+72|0;u=X+68|0;q=X+64|0;D=X+60|0;y=X+56|0;G=X+52|0;R=X+48|0;k[I>>2]=a;k[g>>2]=b;k[J>>2]=c;k[K>>2]=d;k[M>>2]=e;k[N>>2]=f;k[O>>2]=0;k[n>>2]=0;k[t>>2]=0;k[P>>2]=k[k[I>>2]>>2];k[S>>2]=0;k[U>>2]=k[M>>2];k[T>>2]=0;k[Q>>2]=0;k[A>>2]=0;k[(k[N>>2]|0)+28>>2]=-1;k[(k[N>>2]|0)+44>>2]=0;a:do if(k[g>>2]|0){if(m[(k[M>>2]|0)+28>>1]&20){k[g>>2]=0;break}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[P>>2]|0)+20>>2]|0))break a;c=(sg(k[(k[(k[P>>2]|0)+16>>2]|0)+(k[p>>2]<<4)>>2]|0,k[g>>2]|0)|0)==0;f=k[p>>2]|0;if(c)break;k[p>>2]=f+1}k[T>>2]=k[(k[(k[P>>2]|0)+16>>2]|0)+(f<<4)+12>>2]}while(0);b:while(1){if(!((k[M>>2]|0)!=0?(k[O>>2]|0)==0:0)){F=89;break}k[z>>2]=k[(k[M>>2]|0)+4>>2];if(k[z>>2]|0){k[p>>2]=0;k[x>>2]=(k[z>>2]|0)+8;while(1){if((k[p>>2]|0)>=(k[k[z>>2]>>2]|0))break;k[A>>2]=k[(k[x>>2]|0)+16>>2];if((k[(k[x>>2]|0)+20>>2]|0)!=0?(k[(k[(k[x>>2]|0)+20>>2]|0)+8>>2]&1024|0)!=0:0){k[o>>2]=0;k[w>>2]=k[k[(k[x>>2]|0)+20>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break;if($y(k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+8>>2]|0,k[K>>2]|0,k[J>>2]|0,k[g>>2]|0)|0){k[O>>2]=(k[O>>2]|0)+1;k[n>>2]=2;k[S>>2]=k[x>>2];j[(k[N>>2]|0)+32>>1]=k[s>>2];k[o>>2]=1}k[s>>2]=(k[s>>2]|0)+1}if(!((k[o>>2]|0)!=0|(k[J>>2]|0)==0))F=21}else F=21;c:do if((F|0)==21){F=0;if((k[g>>2]|0)!=0?(k[(k[A>>2]|0)+64>>2]|0)!=(k[T>>2]|0):0)break;if(k[J>>2]|0){if(k[(k[x>>2]|0)+12>>2]|0)f=k[(k[x>>2]|0)+12>>2]|0;else f=k[k[A>>2]>>2]|0;k[E>>2]=f;if(sg(k[E>>2]|0,k[J>>2]|0)|0)break}c=k[n>>2]|0;k[n>>2]=c+1;if(!c)k[S>>2]=k[x>>2];k[s>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break c;if(!(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)){if((k[O>>2]|0)!=1)break;if((l[(k[x>>2]|0)+36>>0]&4|0)==0?(az(k[(k[x>>2]|0)+52>>2]|0,k[K>>2]|0)|0)==0:0)break}k[s>>2]=(k[s>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+16}k[O>>2]=(k[O>>2]|0)+1;k[S>>2]=k[x>>2];if((k[s>>2]|0)==(j[(k[A>>2]|0)+32>>1]|0))f=-1;else f=(k[s>>2]&65535)<<16>>16;j[(k[N>>2]|0)+32>>1]=f}while(0);k[p>>2]=(k[p>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+72}if(k[S>>2]|0){k[(k[N>>2]|0)+28>>2]=k[(k[S>>2]|0)+44>>2];k[(k[N>>2]|0)+44>>2]=k[(k[S>>2]|0)+16>>2];if(l[(k[S>>2]|0)+36>>0]&8){c=(k[N>>2]|0)+4|0;k[c>>2]=k[c>>2]|1048576}k[T>>2]=k[(k[(k[N>>2]|0)+44>>2]|0)+64>>2]}}if((k[g>>2]|0)==0&(k[J>>2]|0)!=0&(k[n>>2]|0)==0?(k[(k[I>>2]|0)+420>>2]|0)!=0:0){k[u>>2]=l[(k[I>>2]|0)+440>>0];if((k[u>>2]|0)!=109?(sg(30520,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=1;k[A>>2]=k[(k[I>>2]|0)+420>>2]}else F=50;do if((F|0)==50){F=0;if((k[u>>2]|0)!=108?(sg(30524,k[J>>2]|0)|0)==0:0){k[(k[N>>2]|0)+28>>2]=0;k[A>>2]=k[(k[I>>2]|0)+420>>2];break}k[A>>2]=0}while(0);if(k[A>>2]|0){k[T>>2]=k[(k[A>>2]|0)+64>>2];k[n>>2]=(k[n>>2]|0)+1;k[q>>2]=0;k[v>>2]=k[(k[A>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0))break;c=(sg(k[k[v>>2]>>2]|0,k[K>>2]|0)|0)==0;h=k[q>>2]|0;if(c){F=58;break}k[q>>2]=h+1;k[v>>2]=(k[v>>2]|0)+16}if((F|0)==58?(F=0,(h|0)==(j[(k[A>>2]|0)+32>>1]|0)):0)k[q>>2]=-1;if(((k[q>>2]|0)>=(j[(k[A>>2]|0)+34>>1]|0)?(Ci(k[K>>2]|0)|0)!=0:0)?(l[(k[A>>2]|0)+42>>0]&64|0)==0:0)k[q>>2]=-1;if((k[q>>2]|0)<(j[(k[A>>2]|0)+34>>1]|0)){k[O>>2]=(k[O>>2]|0)+1;f=k[N>>2]|0;do if((k[q>>2]|0)>=0){e=(k[q>>2]|0)>=32?-1:1<>2];a=k[I>>2]|0;if(!(k[f+28>>2]|0)){c=a+432|0;k[c>>2]=k[c>>2]|e;break}else{c=a+436|0;k[c>>2]=k[c>>2]|e;break}}else i[f+1>>0]=68;while(0);j[(k[N>>2]|0)+32>>1]=k[q>>2];k[(k[N>>2]|0)+44>>2]=k[A>>2];k[Q>>2]=1}}}if((((k[O>>2]|0)==0&(k[n>>2]|0)==1&(k[S>>2]|0)!=0?(m[(k[M>>2]|0)+28>>1]&32|0)==0:0)?(Ci(k[K>>2]|0)|0)!=0:0)?(l[(k[(k[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){k[O>>2]=1;j[(k[N>>2]|0)+32>>1]=-1;i[(k[N>>2]|0)+1>>0]=68}c=k[(k[M>>2]|0)+8>>2]|0;k[w>>2]=c;d:do if((c|0)!=0&(k[J>>2]|0)==0&(k[O>>2]|0)==0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[w>>2]>>2]|0))break d;k[D>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+4>>2];if((k[D>>2]|0)!=0?(sg(k[D>>2]|0,k[K>>2]|0)|0)==0:0){F=82;break b}k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[O>>2]|0)continue;k[M>>2]=k[(k[M>>2]|0)+16>>2];k[t>>2]=(k[t>>2]|0)+1}if((F|0)==82){k[y>>2]=k[(k[(k[w>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((m[(k[M>>2]|0)+28>>1]&1|0)==0?(k[(k[y>>2]|0)+4>>2]&2|0)!=0:0){W=k[I>>2]|0;k[B>>2]=k[D>>2];Mh(W,30528,B);k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}Py(k[I>>2]|0,k[w>>2]|0,k[s>>2]|0,k[N>>2]|0,19010,k[t>>2]|0);k[O>>2]=1;k[S>>2]=0}else if((F|0)==89){if((k[O>>2]|0)==0&(k[J>>2]|0)==0?(k[(k[N>>2]|0)+4>>2]&64|0)!=0:0){i[k[N>>2]>>0]=97;k[(k[N>>2]|0)+44>>2]=0;k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}if((k[O>>2]|0)!=1){k[G>>2]=(k[O>>2]|0)==0?30559:30574;do if(!(k[g>>2]|0)){e=k[I>>2]|0;f=k[G>>2]|0;if(k[J>>2]|0){J=k[J>>2]|0;W=k[K>>2]|0;k[V>>2]=f;k[V+4>>2]=J;k[V+8>>2]=W;Mh(e,30609,V);break}else{V=k[K>>2]|0;k[W>>2]=f;k[W+4>>2]=V;Mh(e,30619,W);break}}else{W=k[I>>2]|0;F=k[g>>2]|0;J=k[J>>2]|0;V=k[K>>2]|0;k[C>>2]=k[G>>2];k[C+4>>2]=F;k[C+8>>2]=J;k[C+12>>2]=V;Mh(W,30596,C)}while(0);i[(k[I>>2]|0)+17>>0]=1;W=(k[U>>2]|0)+24|0;k[W>>2]=(k[W>>2]|0)+1}if((k[S>>2]|0)!=0?(j[(k[N>>2]|0)+32>>1]|0)>=0:0){W=j[(k[N>>2]|0)+32>>1]|0;k[R>>2]=W;k[R>>2]=(k[R>>2]|0)>=64?63:W;R=ER(1,0,k[R>>2]|0)|0;W=(k[S>>2]|0)+56|0;S=W;V=k[S+4>>2]|L;k[W>>2]=k[S>>2]|R;k[W+4>>2]=V}nv(k[P>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+12>>2]=0;nv(k[P>>2]|0,k[(k[N>>2]|0)+16>>2]|0);k[(k[N>>2]|0)+16>>2]=0;i[k[N>>2]>>0]=(k[Q>>2]|0)!=0?62:152}if((k[O>>2]|0)!=1){k[H>>2]=2;W=k[H>>2]|0;r=X;return W|0}if(!(k[(k[N>>2]|0)+4>>2]&4194304))bz(k[I>>2]|0,k[N>>2]|0,k[T>>2]|0,k[(k[M>>2]|0)+4>>2]|0);while(1){W=(k[U>>2]|0)+20|0;k[W>>2]=(k[W>>2]|0)+1;if((k[U>>2]|0)==(k[M>>2]|0))break;k[U>>2]=k[(k[U>>2]|0)+16>>2]}k[H>>2]=1;W=k[H>>2]|0;r=X;return W|0}function Wy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;h=j;e=j+24|0;f=j+20|0;g=j+16|0;l=j+12|0;i=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=d;if(!((m[(k[f>>2]|0)+28>>1]|0)&k[l>>2])){r=j;return}k[i>>2]=30436;if(!((m[(k[f>>2]|0)+28>>1]|0)&32)){if((m[(k[f>>2]|0)+28>>1]|0)&4)k[i>>2]=30482}else k[i>>2]=30464;l=k[e>>2]|0;c=k[i>>2]|0;k[h>>2]=k[g>>2];k[h+4>>2]=c;Mh(l,30500,h);r=j;return}function Xy(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[c>>2]=a;p[d>>3]=-1.0;if((l[k[c>>2]>>0]|0|0)!=133){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}a=k[(k[c>>2]|0)+8>>2]|0;_y(a,d,Tf(k[(k[c>>2]|0)+8>>2]|0)|0,1)|0;if(+p[d>>3]>1.0){k[b>>2]=-1;d=k[b>>2]|0;r=e;return d|0}else{k[b>>2]=~~(+p[d>>3]*134217728.0);d=k[b>>2]|0;r=e;return d|0}return 0}function Yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+48|0;e=d+44|0;g=d+40|0;f=d+12|0;c=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=196;k[f+24>>2]=c;k[c>>2]=k[g>>2];k[c+4>>2]=0;k[c+8>>2]=0;qy(f,k[(k[e>>2]|0)+20>>2]|0)|0;r=d;return ((k[c+4>>2]|0)>0?1:(k[c+8>>2]|0)==0)&1|0}function Zy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=152?(l[k[d>>2]>>0]|0|0)!=154:0){r=i;return 0}k[e>>2]=k[(k[c>>2]|0)+24>>2];k[f>>2]=k[k[e>>2]>>2];if(k[f>>2]|0)c=k[k[f>>2]>>2]|0;else c=0;k[h>>2]=c;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;if((k[(k[d>>2]|0)+28>>2]|0)==(k[(k[f>>2]|0)+8+((k[g>>2]|0)*72|0)+44>>2]|0))break;k[g>>2]=(k[g>>2]|0)+1}c=k[e>>2]|0;if((k[g>>2]|0)<(k[h>>2]|0)){h=c+4|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}else{h=c+8|0;k[h>>2]=(k[h>>2]|0)+1;r=i;return 0}return 0}function _y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,h=0,j=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;E=F+76|0;v=F+72|0;w=F+68|0;e=F+64|0;h=F+80|0;q=F+60|0;D=F+56|0;t=F+52|0;s=F+16|0;n=F+48|0;y=F+44|0;o=F+40|0;x=F+36|0;C=F+8|0;z=F+32|0;A=F+28|0;j=F+24|0;u=F;k[v>>2]=a;k[w>>2]=b;k[e>>2]=c;i[h>>0]=d;k[D>>2]=(k[v>>2]|0)+(k[e>>2]|0);k[t>>2]=1;a=s;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=0;k[y>>2]=1;k[o>>2]=0;k[x>>2]=1;k[z>>2]=0;k[A>>2]=0;p[k[w>>2]>>3]=0.0;if((l[h>>0]|0)==1)k[q>>2]=1;else{k[q>>2]=2;k[j>>2]=3-(l[h>>0]|0);while(1){if((k[j>>2]|0)>=(k[e>>2]|0))break;if(i[(k[v>>2]|0)+(k[j>>2]|0)>>0]|0)break;k[j>>2]=(k[j>>2]|0)+2}k[A>>2]=(k[j>>2]|0)<(k[e>>2]|0)&1;k[D>>2]=(k[v>>2]|0)+(k[j>>2]|0)+(l[h>>0]|0)+-3;k[v>>2]=(k[v>>2]|0)+(l[h>>0]&1)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[19011+(l[k[v>>2]>>0]|0)>>0]&1))break;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0){k[E>>2]=0;E=k[E>>2]|0;r=F;return E|0}if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}else{k[t>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if((i[k[v>>2]>>0]|0)!=48)break;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[19011+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=KR(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;if(!(l[19011+(l[k[v>>2]>>0]|0)>>0]&4))break;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+1}a:do if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){b:do if((i[k[v>>2]>>0]|0)==46){k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break;a=s;b=k[a+4>>2]|0;if(!((l[19011+(l[k[v>>2]>>0]|0)>>0]&4|0)!=0&((b|0)<214748364|(b|0)==214748364&(k[a>>2]|0)>>>0<3435973835)))break;a=s;a=KR(k[a>>2]|0,k[a+4>>2]|0,10,0)|0;b=(i[k[v>>2]>>0]|0)-48|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=s;k[a>>2]=b;k[a+4>>2]=L;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+-1}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break b;if(!(l[19011+(l[k[v>>2]>>0]|0)>>0]&4))break b;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[z>>2]=(k[z>>2]|0)+1}}while(0);if((k[v>>2]|0)>>>0<(k[D>>2]|0)>>>0){if(!((i[k[v>>2]>>0]|0)!=101?(i[k[v>>2]>>0]|0)!=69:0))m=38;c:do if((m|0)==38){k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[x>>2]=0;if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if((i[k[v>>2]>>0]|0)!=45){if((i[k[v>>2]>>0]|0)==43)k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}else{k[y>>2]=-1;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break c;if(!(l[19011+(l[k[v>>2]>>0]|0)>>0]&4))break c;if((k[o>>2]|0)<1e4)e=((k[o>>2]|0)*10|0)+((i[k[v>>2]>>0]|0)-48)|0;else e=1e4;k[o>>2]=e;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0);k[x>>2]=1}}while(0);if((k[z>>2]|0)!=0&(k[x>>2]|0)!=0)while(1){if((k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0)break a;if(!(l[19011+(l[k[v>>2]>>0]|0)>>0]&1))break a;k[v>>2]=(k[v>>2]|0)+(k[q>>2]|0)}}}while(0);q=ha(k[o>>2]|0,k[y>>2]|0)|0;k[o>>2]=q+(k[n>>2]|0);if((k[o>>2]|0)<0){k[y>>2]=-1;q=ha(k[o>>2]|0,-1)|0;k[o>>2]=q}else k[y>>2]=1;q=s;do if((k[q>>2]|0)!=0|(k[q+4>>2]|0)!=0){d:do if((k[y>>2]|0)>0)while(1){q=s;n=k[q+4>>2]|0;if(!((n|0)<214748364|(n|0)==214748364&(k[q>>2]|0)>>>0<3435973836?(k[o>>2]|0)>0:0))break d;k[o>>2]=(k[o>>2]|0)+-1;n=s;n=KR(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;q=s;k[q>>2]=n;k[q+4>>2]=L}else while(1){q=s;q=JR(k[q>>2]|0,k[q+4>>2]|0,10,0)|0;if(!((q|0)!=0|(L|0)!=0?0:(k[o>>2]|0)>0))break d;k[o>>2]=(k[o>>2]|0)+-1;n=s;n=IR(k[n>>2]|0,k[n+4>>2]|0,10,0)|0;q=s;k[q>>2]=n;k[q+4>>2]=L}while(0);n=(k[t>>2]|0)<0;q=s;m=k[q>>2]|0;q=k[q+4>>2]|0;a=yR(0,0,m|0,q|0)|0;t=s;k[t>>2]=n?a:m;k[t+4>>2]=n?L:q;if(!(k[o>>2]|0)){y=s;p[C>>3]=+((k[y>>2]|0)>>>0)+4294967296.0*+(k[y+4>>2]|0);break}p[u>>3]=1.0;if((k[o>>2]|0)>307&(k[o>>2]|0)<342){while(1){if(!((k[o>>2]|0)%308|0))break;p[u>>3]=+p[u>>3]*10.0;k[o>>2]=(k[o>>2]|0)-1}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;p[C>>3]=+p[C>>3]/1.e+308;break}else{p[C>>3]=g*f;p[C>>3]=+p[C>>3]*1.e+308;break}}if((k[o>>2]|0)>=342){u=s;f=+((k[u>>2]|0)>>>0)+4294967296.0*+(k[u+4>>2]|0);if((k[y>>2]|0)<0){p[C>>3]=0.0*f;break}else{p[C>>3]=B*f;break}}while(1){if(!((k[o>>2]|0)%22|0))break;p[u>>3]=+p[u>>3]*10.0;k[o>>2]=(k[o>>2]|0)-1}while(1){if((k[o>>2]|0)<=0)break;p[u>>3]=+p[u>>3]*1.0e22;k[o>>2]=(k[o>>2]|0)-22}t=s;g=+((k[t>>2]|0)>>>0)+4294967296.0*+(k[t+4>>2]|0);f=+p[u>>3];if((k[y>>2]|0)<0){p[C>>3]=g/f;break}else{p[C>>3]=g*f;break}}else p[C>>3]=((k[t>>2]|0)<0?(k[z>>2]|0)!=0:0)?-0.0:0.0;while(0);p[k[w>>2]>>3]=+p[C>>3];if(((k[z>>2]|0)>0?(k[v>>2]|0)>>>0>=(k[D>>2]|0)>>>0:0)&(k[x>>2]|0)!=0)e=(k[A>>2]|0)==0;else e=0;k[E>>2]=e&1;E=k[E>>2]|0;r=F;return E|0}function $y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[j>>2]|0){if((Jd(k[f>>2]|0,k[j>>2]|0,k[l>>2]|0)|0)==0?(i[(k[j>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);k[l>>2]=0;while(1){if(!(i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[f>>2]|0)+(k[l>>2]|0)>>0]|0)==46)break;k[l>>2]=(k[l>>2]|0)+1}do if(k[h>>2]|0){if((Jd(k[f>>2]|0,k[h>>2]|0,k[l>>2]|0)|0)==0?(i[(k[h>>2]|0)+(k[l>>2]|0)>>0]|0)==0:0)break;k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}while(0);k[f>>2]=(k[f>>2]|0)+((k[l>>2]|0)+1);if((k[g>>2]|0)!=0?(sg(k[f>>2]|0,k[g>>2]|0)|0)!=0:0){k[e>>2]=0;c=k[e>>2]|0;r=m;return c|0}k[e>>2]=1;c=k[e>>2]|0;r=m;return c|0}function az(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[d>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break a;if(!(sg(k[(k[k[d>>2]>>2]|0)+(k[f>>2]<<3)>>2]|0,k[e>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}while(0);k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function bz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;f=s+36|0;g=s+32|0;e=s+28|0;h=s+24|0;t=s+20|0;p=s+16|0;q=s+12|0;o=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[h>>2]=d;k[t>>2]=k[k[f>>2]>>2];k[p>>2]=0;if(!(k[(k[t>>2]|0)+296>>2]|0)){r=s;return}t=Ph(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[n>>2]=t;if((k[n>>2]|0)<0){r=s;return}a:do if((l[k[g>>2]>>0]|0)==62)k[p>>2]=k[(k[f>>2]|0)+420>>2];else{k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[h>>2]>>2]|0))break a;e=k[o>>2]|0;if((k[(k[g>>2]|0)+28>>2]|0)==(k[(k[h>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0))break;k[o>>2]=e+1}k[p>>2]=k[(k[h>>2]|0)+8+(e*72|0)+16>>2]}while(0);k[m>>2]=j[(k[g>>2]|0)+32>>1];if(!(k[p>>2]|0)){r=s;return}do if((k[m>>2]|0)<0)if((j[(k[p>>2]|0)+32>>1]|0)>=0){k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(j[(k[p>>2]|0)+32>>1]<<4)>>2];break}else{k[q>>2]=20503;break}else k[q>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2];while(0);if(2!=(cz(k[f>>2]|0,k[k[p>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)){r=s;return}i[k[g>>2]>>0]=101;r=s;return}function cz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;m=o+16|0;l=o;e=o+48|0;f=o+44|0;g=o+40|0;h=o+36|0;i=o+32|0;n=o+28|0;j=o+24|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[n>>2]=k[(k[(k[i>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];b=ac[k[(k[i>>2]|0)+296>>2]&255](k[(k[i>>2]|0)+300>>2]|0,20,k[f>>2]|0,k[g>>2]|0,k[n>>2]|0,k[(k[e>>2]|0)+496>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=1){if(!((k[j>>2]|0)!=2&(k[j>>2]|0)!=0)){n=k[j>>2]|0;r=o;return n|0}bx(k[e>>2]|0);n=k[j>>2]|0;r=o;return n|0}d=k[e>>2]|0;if((k[h>>2]|0)!=0?1:(k[(k[i>>2]|0)+20>>2]|0)>2){i=k[f>>2]|0;m=k[g>>2]|0;k[l>>2]=k[n>>2];k[l+4>>2]=i;k[l+8>>2]=m;Mh(d,30626,l)}else{n=k[g>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=n;Mh(d,30659,m)}k[(k[e>>2]|0)+12>>2]=23;n=k[j>>2]|0;r=o;return n|0}function dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+44|0;c=q+40|0;j=q+36|0;f=q+32|0;n=q+28|0;g=q+24|0;m=q+20|0;d=q+16|0;o=q+12|0;p=q+8|0;e=q;k[c>>2]=a;k[j>>2]=b;if(!(k[(k[j>>2]|0)+48>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}if(!(k[(k[j>>2]|0)+44>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[g>>2]=k[j>>2];while(1){if(!(k[g>>2]|0))break;if((l[(k[g>>2]|0)+4>>0]|0|0)!=116?(l[(k[g>>2]|0)+4>>0]|0|0)!=119:0)break;k[g>>2]=k[(k[g>>2]|0)+48>>2]}if(!(k[g>>2]|0)){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[d>>2]=k[(k[(k[j>>2]|0)+44>>2]|0)+4>>2];k[f>>2]=(k[k[(k[j>>2]|0)+44>>2]>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;if(k[(k[(k[d>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}k[p>>2]=k[k[c>>2]>>2];k[m>>2]=k[k[p>>2]>>2];g=Bh(k[m>>2]|0,68,0)|0;k[n>>2]=g;if(!(k[n>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0};k[e>>2]=0;k[e+4>>2]=0;g=Uv(k[p>>2]|0,0,0,0,e,k[n>>2]|0,0,0)|0;k[o>>2]=g;if(!(k[o>>2]|0)){k[h>>2]=2;p=k[h>>2]|0;r=q;return p|0}else{c=k[n>>2]|0;d=k[j>>2]|0;e=c+68|0;do{k[c>>2]=k[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));k[(k[j>>2]|0)+28>>2]=k[o>>2];p=k[p>>2]|0;p=Wv(p,0,Zv(k[m>>2]|0,158,0)|0)|0;k[k[j>>2]>>2]=p;i[(k[j>>2]|0)+4>>0]=119;k[(k[j>>2]|0)+32>>2]=0;k[(k[n>>2]|0)+36>>2]=0;k[(k[n>>2]|0)+40>>2]=0;k[(k[n>>2]|0)+44>>2]=0;k[(k[j>>2]|0)+48>>2]=0;k[(k[j>>2]|0)+52>>2]=0;k[(k[j>>2]|0)+64>>2]=0;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]&-129;p=(k[j>>2]|0)+8|0;k[p>>2]=k[p>>2]|32768;k[(k[(k[n>>2]|0)+48>>2]|0)+52>>2]=k[n>>2];k[(k[n>>2]|0)+56>>2]=0;k[(k[n>>2]|0)+60>>2]=0;k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}return 0}function ez(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;o=Y+8|0;g=Y;p=Y+196|0;c=Y+192|0;q=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;f=Y+202|0;n=Y+140|0;e=Y+136|0;d=Y+200|0;s=Y+132|0;E=Y+128|0;h=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;k[c>>2]=a;k[q>>2]=b;k[F>>2]=k[k[c>>2]>>2];k[t>>2]=k[k[F>>2]>>2];j[f>>1]=k[(k[q>>2]|0)+8>>2];a=(k[q>>2]|0)+8|0;k[a>>2]=k[a>>2]|32;if(i[(k[t>>2]|0)+69>>0]|0){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}if((k[(k[q>>2]|0)+28>>2]|0)!=0?(m[f>>1]&32|0)==0:0){k[J>>2]=k[(k[q>>2]|0)+28>>2];k[A>>2]=k[k[q>>2]>>2];if((k[(k[c>>2]|0)+12>>2]|0)==132){a=k[F>>2]|0;f=(gz(k[q>>2]|0)|0)+64|0;ew(a,k[f>>2]|0,0)}Yx(k[F>>2]|0,k[J>>2]|0);k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;a:while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0)){d=38;break}if(!((l[(k[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(hz(k[c>>2]|0,k[C>>2]|0)|0){d=12;break}do if(!(k[(k[C>>2]|0)+16>>2]|0)){if(!(k[(k[C>>2]|0)+8>>2]|0)){k[e>>2]=k[(k[C>>2]|0)+20>>2];if(ny(k[c>>2]|0,k[e>>2]|0)|0){d=16;break a}f=Bh(k[t>>2]|0,72,0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=18;break a}j[(k[n>>2]|0)+36>>1]=1;f=k[t>>2]|0;k[g>>2]=k[n>>2];f=Nh(f,30689,g)|0;k[k[n>>2]>>2]=f;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}Wx(k[F>>2]|0,k[k[e>>2]>>2]|0,(k[n>>2]|0)+34|0,(k[n>>2]|0)+4|0)|0;j[(k[n>>2]|0)+32>>1]=-1;j[(k[n>>2]|0)+38>>1]=200;f=(k[n>>2]|0)+42|0;i[f>>0]=l[f>>0]|2;break}f=ox(k[F>>2]|0,0,k[C>>2]|0)|0;k[n>>2]=f;k[(k[C>>2]|0)+16>>2]=f;if(!(k[n>>2]|0)){d=24;break a}if((m[(k[n>>2]|0)+36>>1]|0)==65535){d=26;break a}f=(k[n>>2]|0)+36|0;j[f>>1]=(j[f>>1]|0)+1<<16>>16;if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(iz(k[F>>2]|0,k[C>>2]|0)|0)!=0:0){d=29;break a}if((l[(k[n>>2]|0)+42>>0]&16|0)==0?(k[(k[n>>2]|0)+12>>2]|0)==0:0)break;if(Px(k[F>>2]|0,k[n>>2]|0)|0){d=33;break a}f=Xx(k[t>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[C>>2]|0)+20>>2]=f;j[d>>1]=j[(k[n>>2]|0)+34>>1]|0;j[(k[n>>2]|0)+34>>1]=-1;ny(k[c>>2]|0,k[(k[C>>2]|0)+20>>2]|0)|0;j[(k[n>>2]|0)+34>>1]=j[d>>1]|0}while(0);if(jz(k[F>>2]|0,k[C>>2]|0)|0){d=36;break}}k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if((d|0)==12){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==16){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==18){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==24){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==26){X=k[F>>2]|0;k[o>>2]=k[k[n>>2]>>2];Mh(X,30702,o);k[(k[C>>2]|0)+16>>2]=0;k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==29){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==33){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==36){k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}else if((d|0)==38){if((l[(k[t>>2]|0)+69>>0]|0)==0?(kz(k[F>>2]|0,k[q>>2]|0)|0)==0:0){k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[(k[A>>2]|0)+4>>2]|0)+((k[x>>2]|0)*20|0)>>2];if((l[k[z>>2]>>0]|0)==158)break;if((l[k[z>>2]>>0]|0)==122?(l[k[(k[z>>2]|0)+16>>2]>>0]|0)==158:0)break;k[x>>2]=(k[x>>2]|0)+1}if((k[x>>2]|0)<(k[k[A>>2]>>2]|0)){k[s>>2]=k[(k[A>>2]|0)+4>>2];k[E>>2]=0;k[h>>2]=k[(k[k[F>>2]>>2]|0)+24>>2];if(k[h>>2]&4)c=(k[h>>2]&64|0)==0;else c=0;k[y>>2]=c&1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[k[A>>2]>>2]|0))break;k[z>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2];k[G>>2]=k[(k[z>>2]|0)+16>>2];do if((l[k[z>>2]>>0]|0)!=158){if((l[k[z>>2]>>0]|0)==122?(l[k[G>>2]>>0]|0)==158:0){d=58;break}o=Wv(k[F>>2]|0,k[E>>2]|0,k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]|0)|0;k[E>>2]=o;if(k[E>>2]|0){k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2];k[(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2];k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+4>>2]=0;k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)+8>>2]=0}k[(k[s>>2]|0)+((k[x>>2]|0)*20|0)>>2]=0}else d=58;while(0);do if((d|0)==58){d=0;k[M>>2]=0;k[V>>2]=0;if((l[k[z>>2]>>0]|0)==122)k[V>>2]=k[(k[(k[z>>2]|0)+12>>2]|0)+8>>2];k[u>>2]=0;k[C>>2]=(k[J>>2]|0)+8;while(1){if((k[u>>2]|0)>=(k[k[J>>2]>>2]|0))break;k[I>>2]=k[(k[C>>2]|0)+16>>2];k[H>>2]=k[(k[C>>2]|0)+20>>2];k[W>>2]=k[(k[C>>2]|0)+12>>2];k[U>>2]=0;if(!(k[W>>2]|0))k[W>>2]=k[k[I>>2]>>2];if(i[(k[t>>2]|0)+69>>0]|0)break;if((k[H>>2]|0)!=0?(k[(k[H>>2]|0)+8>>2]&1024|0)!=0:0)d=72;else d=67;do if((d|0)==67){d=0;k[H>>2]=0;if((k[V>>2]|0)!=0?(sg(k[V>>2]|0,k[W>>2]|0)|0)!=0:0)break;o=Ph(k[t>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[v>>2]=o;if((k[v>>2]|0)>=0)c=k[(k[(k[t>>2]|0)+16>>2]|0)+(k[v>>2]<<4)>>2]|0;else c=26059;k[U>>2]=c;d=72}while(0);b:do if((d|0)==72){d=0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(j[(k[I>>2]|0)+34>>1]|0))break b;k[T>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)>>2];if(!((k[V>>2]|0)!=0&(k[H>>2]|0)!=0?($y(k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0,0,k[V>>2]|0,0)|0)==0:0))d=76;do if((d|0)==76){d=0;if((k[(k[q>>2]|0)+8>>2]&65536|0)==0?(l[(k[(k[I>>2]|0)+4>>2]|0)+(k[w>>2]<<4)+15>>0]&2|0)!=0:0)break;k[M>>2]=1;if((k[u>>2]|0)>0&(k[V>>2]|0)==0){if((l[(k[C>>2]|0)+36>>0]&4|0)!=0?(lz(k[J>>2]|0,k[u>>2]|0,k[T>>2]|0,0,0)|0)!=0:0)break;if((mz(k[(k[C>>2]|0)+52>>2]|0,k[T>>2]|0)|0)>=0)break}o=Zv(k[t>>2]|0,27,k[T>>2]|0)|0;k[G>>2]=o;k[S>>2]=k[T>>2];k[X>>2]=0;do if(k[y>>2]|0)d=84;else{if((k[k[J>>2]>>2]|0)>1){d=84;break}k[B>>2]=k[G>>2]}while(0);do if((d|0)==84){d=0;o=Zv(k[t>>2]|0,27,k[W>>2]|0)|0;k[D>>2]=o;o=Hv(k[F>>2]|0,122,k[D>>2]|0,k[G>>2]|0,0)|0;k[B>>2]=o;if(k[U>>2]|0){o=Zv(k[t>>2]|0,27,k[U>>2]|0)|0;k[D>>2]=o;o=Hv(k[F>>2]|0,122,k[D>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=o}if(!(k[y>>2]|0))break;o=k[t>>2]|0;n=k[T>>2]|0;k[R>>2]=k[W>>2];k[R+4>>2]=n;o=Nh(o,30741,R)|0;k[S>>2]=o;k[X>>2]=k[S>>2]}while(0);o=Wv(k[F>>2]|0,k[E>>2]|0,k[B>>2]|0)|0;k[E>>2]=o;Sy(L,k[S>>2]|0);Xv(k[F>>2]|0,k[E>>2]|0,L,0);do if(k[E>>2]|0){if(!(k[(k[q>>2]|0)+8>>2]&1024))break;k[K>>2]=(k[(k[E>>2]|0)+4>>2]|0)+(((k[k[E>>2]>>2]|0)-1|0)*20|0);c=k[t>>2]|0;if(k[H>>2]|0){o=zh(c,k[(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+((k[w>>2]|0)*20|0)+8>>2]|0)|0;k[(k[K>>2]|0)+8>>2]=o}else{n=k[W>>2]|0;o=k[S>>2]|0;k[N>>2]=k[U>>2];k[N+4>>2]=n;k[N+8>>2]=o;o=Nh(c,30747,N)|0;k[(k[K>>2]|0)+8>>2]=o}o=(k[K>>2]|0)+13|0;i[o>>0]=i[o>>0]&-3|2}while(0);bg(k[t>>2]|0,k[X>>2]|0)}while(0);k[w>>2]=(k[w>>2]|0)+1}}while(0);k[u>>2]=(k[u>>2]|0)+1;k[C>>2]=(k[C>>2]|0)+72}if(!(k[M>>2]|0)){c=k[F>>2]|0;if(k[V>>2]|0){k[O>>2]=k[V>>2];Mh(c,30756,O);break}else{Mh(c,30774,P);break}}}while(0);k[x>>2]=(k[x>>2]|0)+1}jv(k[t>>2]|0,k[A>>2]|0);k[k[q>>2]>>2]=k[E>>2]}if((k[k[q>>2]>>2]|0)!=0?(k[k[k[q>>2]>>2]>>2]|0)>(k[(k[t>>2]|0)+92+8>>2]|0):0){Mh(k[F>>2]|0,30794,Q);k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=0;X=k[p>>2]|0;r=Y;return X|0}k[p>>2]=2;X=k[p>>2]|0;r=Y;return X|0}}k[p>>2]=1;X=k[p>>2]|0;r=Y;return X|0}function fz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;g=e+12|0;f=e+8|0;c=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[c>>2]=k[k[g>>2]>>2];a=(gz(k[f>>2]|0)|0)+64|0;k[d>>2]=k[a>>2];if(!(k[d>>2]|0)){r=e;return}k[(k[c>>2]|0)+536>>2]=k[(k[d>>2]|0)+4>>2];r=e;return}function gz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+52>>2]|0))break;k[b>>2]=k[a+52>>2]}r=c;return a|0}function hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;u=B+16|0;n=B+8|0;d=B;v=B+88|0;w=B+84|0;e=B+80|0;y=B+76|0;c=B+72|0;x=B+68|0;o=B+64|0;t=B+60|0;q=B+56|0;A=B+52|0;s=B+48|0;p=B+44|0;z=B+40|0;f=B+36|0;h=B+32|0;g=B+28|0;k[w>>2]=a;k[e>>2]=b;k[y>>2]=k[k[w>>2]>>2];k[c>>2]=k[k[y>>2]>>2];a=Az(k[(k[y>>2]|0)+536>>2]|0,k[e>>2]|0,o)|0;k[x>>2]=a;if(k[x>>2]|0){b=k[y>>2]|0;if(k[(k[x>>2]|0)+12>>2]|0){A=k[(k[x>>2]|0)+12>>2]|0;k[d>>2]=k[k[x>>2]>>2];Mh(b,A,d);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}if(iz(b,k[e>>2]|0)|0){k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}d=Bh(k[c>>2]|0,72,0)|0;k[t>>2]=d;k[(k[e>>2]|0)+16>>2]=d;if(!(k[t>>2]|0)){k[v>>2]=2;A=k[v>>2]|0;r=B;return A|0}j[(k[t>>2]|0)+36>>1]=1;d=zh(k[c>>2]|0,k[k[x>>2]>>2]|0)|0;k[k[t>>2]>>2]=d;j[(k[t>>2]|0)+32>>1]=-1;j[(k[t>>2]|0)+38>>1]=200;d=(k[t>>2]|0)+42|0;i[d>>0]=l[d>>0]|66;d=Xx(k[c>>2]|0,k[(k[x>>2]|0)+8>>2]|0,0)|0;k[(k[e>>2]|0)+20>>2]=d;if(i[(k[c>>2]|0)+69>>0]|0){k[v>>2]=7;A=k[v>>2]|0;r=B;return A|0}k[A>>2]=k[(k[e>>2]|0)+20>>2];if((l[(k[A>>2]|0)+4>>0]|0)==116)b=1;else b=(l[(k[A>>2]|0)+4>>0]|0)==115;k[p>>2]=b&1;a:do if(k[p>>2]|0){k[h>>2]=k[(k[(k[e>>2]|0)+20>>2]|0)+28>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[h>>2]>>2]|0))break a;k[g>>2]=(k[h>>2]|0)+8+((k[f>>2]|0)*72|0);if(((k[(k[g>>2]|0)+4>>2]|0)==0?(k[(k[g>>2]|0)+8>>2]|0)!=0:0)?0==(sg(k[(k[g>>2]|0)+8>>2]|0,k[k[x>>2]>>2]|0)|0):0){k[(k[g>>2]|0)+16>>2]=k[t>>2];e=(k[g>>2]|0)+36+1|0;i[e>>0]=i[e>>0]&-33|32;e=(k[t>>2]|0)+36|0;j[e>>1]=(j[e>>1]|0)+1<<16>>16;e=(k[A>>2]|0)+8|0;k[e>>2]=k[e>>2]|8192}k[f>>2]=(k[f>>2]|0)+1}}while(0);if((m[(k[t>>2]|0)+36>>1]|0)>2){A=k[y>>2]|0;k[n>>2]=k[k[x>>2]>>2];Mh(A,31035,n);k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[(k[x>>2]|0)+12>>2]=31078;k[z>>2]=k[(k[y>>2]|0)+536>>2];k[(k[y>>2]|0)+536>>2]=k[o>>2];b=k[A>>2]|0;if(k[p>>2]|0)b=k[b+48>>2]|0;ny(k[w>>2]|0,b)|0;k[(k[y>>2]|0)+536>>2]=k[o>>2];k[s>>2]=k[A>>2];while(1){b=k[s>>2]|0;if(!(k[(k[s>>2]|0)+48>>2]|0))break;k[s>>2]=k[b+48>>2]}k[q>>2]=k[b>>2];if(k[(k[x>>2]|0)+4>>2]|0){if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[(k[x>>2]|0)+4>>2]>>2]|0):0){A=k[y>>2]|0;t=k[k[q>>2]>>2]|0;w=k[k[(k[x>>2]|0)+4>>2]>>2]|0;k[u>>2]=k[k[x>>2]>>2];k[u+4>>2]=t;k[u+8>>2]=w;Mh(A,31101,u);k[(k[y>>2]|0)+536>>2]=k[z>>2];k[v>>2]=1;A=k[v>>2]|0;r=B;return A|0}k[q>>2]=k[(k[x>>2]|0)+4>>2]}Wx(k[y>>2]|0,k[q>>2]|0,(k[t>>2]|0)+34|0,(k[t>>2]|0)+4|0)|0;if(k[p>>2]|0){b=(k[x>>2]|0)+12|0;if(k[(k[A>>2]|0)+8>>2]&8192)k[b>>2]=31139;else k[b>>2]=31173;ny(k[w>>2]|0,k[A>>2]|0)|0}k[(k[x>>2]|0)+12>>2]=0;k[(k[y>>2]|0)+536>>2]=k[z>>2]}k[v>>2]=0;A=k[v>>2]|0;r=B;return A|0}function iz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1){a=k[d>>2]|0;k[f>>2]=k[(k[e>>2]|0)+8>>2];Mh(a,31012,f);k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}return 0}function jz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;h=m;c=m+28|0;d=m+24|0;e=m+20|0;g=m+16|0;j=m+12|0;f=m+8|0;k[d>>2]=a;k[e>>2]=b;do if((k[(k[e>>2]|0)+16>>2]|0)!=0?((l[(k[e>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){k[g>>2]=k[(k[e>>2]|0)+16>>2];k[j>>2]=k[(k[e>>2]|0)+64>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[f>>2]|0))break;if(!(sg(k[k[f>>2]>>2]|0,k[j>>2]|0)|0))break;k[f>>2]=k[(k[f>>2]|0)+20>>2]}if(k[f>>2]|0){k[(k[e>>2]|0)+68>>2]=k[f>>2];break}g=k[d>>2]|0;k[h>>2]=k[j>>2];k[h+4>>2]=0;Mh(g,30994,h);i[(k[d>>2]|0)+17>>0]=1;k[c>>2]=1;j=k[c>>2]|0;r=m;return j|0}while(0);k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}function kz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;c=C+84|0;u=C+80|0;d=C+76|0;n=C+72|0;o=C+68|0;s=C+64|0;p=C+60|0;t=C+56|0;m=C+52|0;v=C+48|0;e=C+44|0;g=C+40|0;q=C+36|0;B=C+32|0;f=C+28|0;h=C+24|0;i=C+20|0;k[x>>2]=a;k[c>>2]=b;k[u>>2]=k[(k[c>>2]|0)+28>>2];k[o>>2]=(k[u>>2]|0)+8;k[s>>2]=(k[o>>2]|0)+72;k[d>>2]=0;a:while(1){if((k[d>>2]|0)>=((k[k[u>>2]>>2]|0)-1|0)){c=28;break}k[p>>2]=k[(k[o>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+16>>2];b:do if(!((k[p>>2]|0)==0|(k[t>>2]|0)==0)){k[m>>2]=(l[(k[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(l[(k[s>>2]|0)+36>>0]&4){if(k[(k[s>>2]|0)+48>>2]|0){c=7;break a}if(k[(k[s>>2]|0)+52>>2]|0){c=7;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[t>>2]|0)+34>>1]|0))break c;k[v>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(lz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[v>>2]|0,e,g)|0)oz(k[x>>2]|0,k[u>>2]|0,k[e>>2]|0,k[g>>2]|0,(k[d>>2]|0)+1|0,k[n>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}while(0);if((k[(k[s>>2]|0)+48>>2]|0)!=0?(k[(k[s>>2]|0)+52>>2]|0)!=0:0){c=15;break a}if(k[(k[s>>2]|0)+48>>2]|0){if(k[m>>2]|0)pz(k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+44>>2]|0);a=qz(k[k[x>>2]>>2]|0,k[(k[c>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+48>>2]|0)|0;k[(k[c>>2]|0)+32>>2]=a;k[(k[s>>2]|0)+48>>2]=0}if(k[(k[s>>2]|0)+52>>2]|0){k[q>>2]=k[(k[s>>2]|0)+52>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+4>>2]|0))break b;k[B>>2]=k[(k[k[q>>2]>>2]|0)+(k[n>>2]<<3)>>2];a=nz(k[t>>2]|0,k[B>>2]|0)|0;k[i>>2]=a;if((k[i>>2]|0)<0){c=25;break a}if(!(lz(k[u>>2]|0,(k[d>>2]|0)+1|0,k[B>>2]|0,f,h)|0)){c=25;break a}oz(k[x>>2]|0,k[u>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[d>>2]|0)+1|0,k[i>>2]|0,k[m>>2]|0,(k[c>>2]|0)+32|0);k[n>>2]=(k[n>>2]|0)+1}}}while(0);k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+72;k[o>>2]=(k[o>>2]|0)+72}if((c|0)==7){B=k[x>>2]|0;k[y>>2]=0;Mh(B,30825,y);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==15){Mh(k[x>>2]|0,30875,z);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==25){z=k[x>>2]|0;k[A>>2]=k[B>>2];Mh(z,30930,A);k[w>>2]=1;B=k[w>>2]|0;r=C;return B|0}else if((c|0)==28){k[w>>2]=0;B=k[w>>2]|0;r=C;return B|0}return 0}function lz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;l=p+8|0;m=p+4|0;n=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[h>>2]|0)){o=8;break}c=nz(k[(k[g>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2]|0,k[i>>2]|0)|0;k[n>>2]=c;if((k[n>>2]|0)>=0)break;k[m>>2]=(k[m>>2]|0)+1}if((o|0)==8){k[f>>2]=0;o=k[f>>2]|0;r=p;return o|0}if(k[j>>2]|0){k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=k[n>>2]}k[f>>2]=1;o=k[f>>2]|0;r=p;return o|0}function mz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+4>>2]|0)){a=8;break}a=(sg(k[(k[k[c>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=6;break}k[e>>2]=b+1}if((a|0)==6){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==8){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function nz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(j[(k[c>>2]|0)+34>>1]|0)){a=6;break}a=(sg(k[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2]|0,k[d>>2]|0)|0)==0;b=k[e>>2]|0;if(a){a=4;break}k[e>>2]=b+1}if((a|0)==4){k[f>>2]=b;f=k[f>>2]|0;r=g;return f|0}else if((a|0)==6){k[f>>2]=-1;f=k[f>>2]|0;r=g;return f|0}return 0}function oz(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;o=r;r=r+48|0;s=o+44|0;v=o+40|0;x=o+36|0;w=o+32|0;u=o+28|0;t=o+24|0;p=o+20|0;i=o+16|0;l=o+12|0;q=o+8|0;m=o+4|0;n=o;k[s>>2]=a;k[v>>2]=b;k[x>>2]=c;k[w>>2]=d;k[u>>2]=e;k[t>>2]=f;k[p>>2]=g;k[i>>2]=h;k[l>>2]=k[k[s>>2]>>2];h=zz(k[l>>2]|0,k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[q>>2]=h;h=zz(k[l>>2]|0,k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0;k[m>>2]=h;h=Hv(k[s>>2]|0,79,k[q>>2]|0,k[m>>2]|0,0)|0;k[n>>2]=h;if(!((k[n>>2]|0)!=0&(k[p>>2]|0)!=0)){v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=qz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}v=(k[n>>2]|0)+4|0;k[v>>2]=k[v>>2]|1;j[(k[n>>2]|0)+36>>1]=k[(k[m>>2]|0)+28>>2];v=k[l>>2]|0;x=k[i>>2]|0;x=k[x>>2]|0;w=k[n>>2]|0;w=qz(v,x,w)|0;x=k[i>>2]|0;k[x>>2]=w;r=o;return}function pz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[c>>2]|0))break;a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|1;j[(k[c>>2]|0)+36>>1]=k[d>>2];a:do if((l[k[c>>2]>>0]|0|0)==151?(k[(k[c>>2]|0)+20>>2]|0)!=0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[c>>2]|0)+20>>2]>>2]|0))break a;pz(k[(k[(k[(k[c>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}}while(0);pz(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0);k[c>>2]=k[(k[c>>2]|0)+16>>2]}r=f;return}function qz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if(!(k[f>>2]|0)){k[d>>2]=a;h=k[d>>2]|0;r=i;return h|0}b=k[f>>2]|0;if(!a){k[d>>2]=b;h=k[d>>2]|0;r=i;return h|0}if((rz(b)|0)==0?(rz(k[g>>2]|0)|0)==0:0){c=sz(k[e>>2]|0,72,0,0)|0;k[h>>2]=c;tz(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0);k[d>>2]=k[h>>2];h=k[d>>2]|0;r=i;return h|0}nv(k[e>>2]|0,k[f>>2]|0);nv(k[e>>2]|0,k[g>>2]|0);h=sz(k[e>>2]|0,132,5108,0)|0;k[d>>2]=h;h=k[d>>2]|0;r=i;return h|0}function rz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Ay(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)==0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;o=p+12|0;n=p+8|0;m=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[m>>2]=0;do if(k[g>>2]|0){if(((k[f>>2]|0)==132?(k[k[g>>2]>>2]|0)!=0:0)?(Yi(k[k[g>>2]>>2]|0,m)|0)!=0:0)break;k[n>>2]=(k[(k[g>>2]|0)+4>>2]|0)+1}while(0);c=Vw(k[e>>2]|0,48+(k[n>>2]|0)|0,0)|0;k[o>>2]=c;if(!(k[o>>2]|0)){o=k[o>>2]|0;r=p;return o|0}e=k[o>>2]|0;a=e+48|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(a|0));i[k[o>>2]>>0]=k[f>>2];j[(k[o>>2]|0)+34>>1]=-1;do if(k[g>>2]|0){e=k[o>>2]|0;if(!(k[n>>2]|0)){n=e+4|0;k[n>>2]=k[n>>2]|1024;k[(k[o>>2]|0)+8>>2]=k[m>>2];break}k[(k[o>>2]|0)+8>>2]=e+48;if(k[(k[g>>2]|0)+4>>2]|0)BR(k[(k[o>>2]|0)+8>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0)|0;i[(k[(k[o>>2]|0)+8>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)>>0]=0;if(((k[h>>2]|0)!=0&(k[n>>2]|0)>=3?(n=i[k[k[g>>2]>>2]>>0]|0,k[l>>2]=n,(n|0)==39|(k[l>>2]|0)==34|(k[l>>2]|0)==91|(k[l>>2]|0)==96):0)?(Zw(k[(k[o>>2]|0)+8>>2]|0)|0,(k[l>>2]|0)==34):0){n=(k[o>>2]|0)+4|0;k[n>>2]=k[n>>2]|64}}while(0);k[(k[o>>2]|0)+24>>2]=1;o=k[o>>2]|0;r=p;return o|0}function tz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){nv(k[e>>2]|0,k[g>>2]|0);nv(k[e>>2]|0,k[h>>2]|0);r=i;return}if(k[h>>2]|0){k[(k[f>>2]|0)+16>>2]=k[h>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[h>>2]|0)+4>>2]}if(k[g>>2]|0){k[(k[f>>2]|0)+12>>2]=k[g>>2];b=(k[f>>2]|0)+4|0;k[b>>2]=k[b>>2]|2097408&k[(k[g>>2]|0)+4>>2]}uz(k[f>>2]|0);r=i;return}function uz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;vz(k[(k[b>>2]|0)+12>>2]|0,c);vz(k[(k[b>>2]|0)+16>>2]|0,c);a=(k[b>>2]|0)+20|0;if(!(k[(k[b>>2]|0)+4>>2]&2048)){if(k[a>>2]|0){xz(k[(k[b>>2]|0)+20>>2]|0,c);e=2097408&(yz(k[(k[b>>2]|0)+20>>2]|0)|0);a=(k[b>>2]|0)+4|0;k[a>>2]=k[a>>2]|e}}else wz(k[a>>2]|0,c);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)+1;r=d;return}function vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}if((k[(k[c>>2]|0)+24>>2]|0)<=(k[k[d>>2]>>2]|0)){r=e;return}k[k[d>>2]>>2]=k[(k[c>>2]|0)+24>>2];r=e;return}function wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}vz(k[(k[c>>2]|0)+32>>2]|0,k[d>>2]|0);vz(k[(k[c>>2]|0)+40>>2]|0,k[d>>2]|0);vz(k[(k[c>>2]|0)+56>>2]|0,k[d>>2]|0);vz(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0);xz(k[k[c>>2]>>2]|0,k[d>>2]|0);xz(k[(k[c>>2]|0)+36>>2]|0,k[d>>2]|0);xz(k[(k[c>>2]|0)+44>>2]|0,k[d>>2]|0);wz(k[(k[c>>2]|0)+48>>2]|0,k[d>>2]|0);r=e;return}function xz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0))break;vz(k[(k[(k[c>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function yz(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=0;if(!(k[b>>2]|0)){a=k[d>>2]|0;r=f;return a|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2];k[d>>2]=k[d>>2]|k[(k[e>>2]|0)+4>>2];k[c>>2]=(k[c>>2]|0)+1}a=k[d>>2]|0;r=f;return a|0}function zz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0;l=r;r=r+32|0;m=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;i=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;b=sz(k[m>>2]|0,152,0,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){m=k[h>>2]|0;r=l;return m|0}k[i>>2]=(k[e>>2]|0)+8+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+44>>2]=k[(k[i>>2]|0)+16>>2];k[(k[h>>2]|0)+28>>2]=k[(k[i>>2]|0)+44>>2];if((j[(k[(k[h>>2]|0)+44>>2]|0)+32>>1]|0)==(k[g>>2]|0))j[(k[h>>2]|0)+32>>1]=-1;else{j[(k[h>>2]|0)+32>>1]=k[g>>2];c=ER(1,0,((k[g>>2]|0)>=64?63:k[g>>2]|0)|0)|0;m=(k[i>>2]|0)+56|0;i=m;b=k[i+4>>2]|L;k[m>>2]=k[i>>2]|c;k[m+4>>2]=b}m=(k[h>>2]|0)+4|0;k[m>>2]=k[m>>2]|4;m=k[h>>2]|0;r=l;return m|0}function Az(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;i=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a:do if((k[(k[f>>2]|0)+4>>2]|0)==0?(c=k[(k[f>>2]|0)+8>>2]|0,k[j>>2]=c,(c|0)!=0):0){k[i>>2]=k[e>>2];b:while(1){if(!(k[i>>2]|0))break a;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[i>>2]>>2]|0))break;if(!(sg(k[j>>2]|0,k[(k[i>>2]|0)+8+(k[h>>2]<<4)>>2]|0)|0))break b;k[h>>2]=(k[h>>2]|0)+1}k[i>>2]=k[(k[i>>2]|0)+4>>2]}k[k[g>>2]>>2]=k[i>>2];k[d>>2]=(k[i>>2]|0)+8+(k[h>>2]<<4);j=k[d>>2]|0;r=l;return j|0}while(0);k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;e=q+32|0;f=q+28|0;g=q+24|0;m=q+20|0;h=q+16|0;i=q+12|0;n=q+8|0;o=q+4|0;p=q;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((k[k[f>>2]>>2]|0)>0)a=((k[k[f>>2]>>2]|0)-1|0)*72|0;else a=0;k[i>>2]=80+a;i=k[i>>2]|0;i=Vw(k[e>>2]|0,i,((i|0)<0)<<31>>31)|0;k[m>>2]=i;if(!(k[m>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}i=k[k[f>>2]>>2]|0;k[(k[m>>2]|0)+4>>2]=i;k[k[m>>2]>>2]=i;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=(k[m>>2]|0)+8+((k[h>>2]|0)*72|0);k[o>>2]=(k[f>>2]|0)+8+((k[h>>2]|0)*72|0);k[k[n>>2]>>2]=k[k[o>>2]>>2];i=zh(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+4>>2]=i;i=zh(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[n>>2]|0)+8>>2]=i;i=zh(k[e>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=i;k[(k[n>>2]|0)+36>>2]=k[(k[o>>2]|0)+36>>2];k[(k[n>>2]|0)+44>>2]=k[(k[o>>2]|0)+44>>2];k[(k[n>>2]|0)+24>>2]=k[(k[o>>2]|0)+24>>2];k[(k[n>>2]|0)+28>>2]=k[(k[o>>2]|0)+28>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>1&1){i=zh(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}k[(k[n>>2]|0)+68>>2]=k[(k[o>>2]|0)+68>>2];if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1){i=Ly(k[e>>2]|0,k[(k[o>>2]|0)+64>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+64>>2]=i}i=k[(k[o>>2]|0)+16>>2]|0;k[(k[n>>2]|0)+16>>2]=i;k[p>>2]=i;if(k[p>>2]|0){i=(k[p>>2]|0)+36|0;j[i>>1]=(j[i>>1]|0)+1<<16>>16}c=Xx(k[e>>2]|0,k[(k[o>>2]|0)+20>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+20>>2]=c;c=Dy(k[e>>2]|0,k[(k[o>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[(k[n>>2]|0)+48>>2]=c;c=Dz(k[e>>2]|0,k[(k[o>>2]|0)+52>>2]|0)|0;k[(k[n>>2]|0)+52>>2]=c;c=(k[o>>2]|0)+56|0;b=k[c+4>>2]|0;i=(k[n>>2]|0)+56|0;k[i>>2]=k[c>>2];k[i+4>>2]=b;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];p=k[d>>2]|0;r=q;return p|0}function Cz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;g=h+8|0;f=h+4|0;e=h;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;if(!(k[d>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[f>>2]=24+((k[k[d>>2]>>2]|0)-1<<4);b=k[f>>2]|0;b=Bh(k[c>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;if(!(k[g>>2]|0)){g=k[g>>2]|0;r=h;return g|0}k[k[g>>2]>>2]=k[k[d>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;b=Xx(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+8>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+8>>2]=b;b=Ly(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)+4>>2]|0,0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)+4>>2]=b;b=zh(k[c>>2]|0,k[(k[d>>2]|0)+8+(k[e>>2]<<4)>>2]|0)|0;k[(k[g>>2]|0)+8+(k[e>>2]<<4)>>2]=b;k[e>>2]=(k[e>>2]|0)+1}g=k[g>>2]|0;r=h;return g|0}function Dz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}b=Vw(k[d>>2]|0,8,0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[(k[g>>2]|0)+4>>2]=k[(k[e>>2]|0)+4>>2];b=Vw(k[d>>2]|0,k[(k[e>>2]|0)+4>>2]<<3,0)|0;k[k[g>>2]>>2]=b;if(!(k[k[g>>2]>>2]|0)){bg(k[d>>2]|0,k[g>>2]|0);k[c>>2]=0;i=k[c>>2]|0;r=j;return i|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0))break;k[h>>2]=(k[k[g>>2]>>2]|0)+(k[f>>2]<<3);k[i>>2]=(k[k[e>>2]>>2]|0)+(k[f>>2]<<3);b=zh(k[d>>2]|0,k[k[i>>2]>>2]|0)|0;k[k[h>>2]>>2]=b;k[(k[h>>2]|0)+4>>2]=k[(k[i>>2]|0)+4>>2];k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function Ez(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;B=N+32|0;K=N+24|0;J=N+16|0;h=N+8|0;g=N;E=N+132|0;F=N+128|0;n=N+124|0;o=N+120|0;p=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;q=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;f=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;k[F>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[G>>2]=e;k[q>>2]=k[(k[n>>2]|0)+52>>2];k[w>>2]=k[(k[n>>2]|0)+48>>2];k[L>>2]=0;k[f>>2]=k[(k[F>>2]|0)+336>>2];while(1){if(!(k[f>>2]|0))break;if((k[(k[f>>2]|0)+4>>2]|0)==(k[n>>2]|0)){m=4;break}k[f>>2]=k[(k[f>>2]|0)+8>>2]}if((m|0)==4){M=k[F>>2]|0;k[g>>2]=k[k[n>>2]>>2];M=Nh(M,31238,g)|0;k[k[G>>2]>>2]=M;k[E>>2]=6;M=k[E>>2]|0;r=N;return M|0}m=k[F>>2]|0;k[h>>2]=k[k[n>>2]>>2];m=Nh(m,18999,h)|0;k[M>>2]=m;if(!(k[M>>2]|0)){k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}a=Bh(k[F>>2]|0,28,0)|0;k[H>>2]=a;a=k[F>>2]|0;if(!(k[H>>2]|0)){bg(a,k[M>>2]|0);k[E>>2]=7;M=k[E>>2]|0;r=N;return M|0}k[k[H>>2]>>2]=a;k[(k[H>>2]|0)+4>>2]=k[o>>2];m=Ph(k[F>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[u>>2]=m;k[(k[(k[n>>2]|0)+52>>2]|0)+4>>2]=k[(k[(k[F>>2]|0)+16>>2]|0)+(k[u>>2]<<4)>>2];k[A+4>>2]=k[n>>2];k[A>>2]=k[H>>2];k[A+8>>2]=k[(k[F>>2]|0)+336>>2];k[A+12>>2]=0;k[(k[F>>2]|0)+336>>2]=A;w=ac[k[p>>2]&255](k[F>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[w>>2]|0,k[q>>2]|0,(k[H>>2]|0)+8|0,L)|0;k[I>>2]=w;k[(k[F>>2]|0)+336>>2]=k[A+8>>2];if((k[I>>2]|0)==7)vh(k[F>>2]|0);a:do if(!(k[I>>2]|0)){if(k[(k[H>>2]|0)+8>>2]|0){L=k[(k[H>>2]|0)+8>>2]|0;k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[k[(k[H>>2]|0)+8>>2]>>2]=k[k[o>>2]>>2];k[(k[H>>2]|0)+12>>2]=1;if(!(k[A+12>>2]|0)){k[C>>2]=31310;K=k[F>>2]|0;L=k[C>>2]|0;k[B>>2]=k[k[n>>2]>>2];L=Nh(K,L,B)|0;k[k[G>>2]>>2]=L;xu(k[H>>2]|0);k[I>>2]=1;break}i[z>>0]=0;k[(k[H>>2]|0)+24>>2]=k[(k[n>>2]|0)+56>>2];k[(k[n>>2]|0)+56>>2]=k[H>>2];k[t>>2]=0;while(1){if((k[t>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break a;L=Di((k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)|0,19010)|0;k[D>>2]=L;k[s>>2]=0;L=Tf(k[D>>2]|0)|0;k[y>>2]=L;k[s>>2]=0;b:while(1){if((k[s>>2]|0)>=(k[y>>2]|0))break;do if(!(Jd(31356,(k[D>>2]|0)+(k[s>>2]|0)|0,6)|0)){if((k[s>>2]|0)!=0?(i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0))break b;if((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)==32)break b}while(0);k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)<(k[y>>2]|0)){k[x>>2]=6+((i[(k[D>>2]|0)+((k[s>>2]|0)+6)>>0]|0)!=0?1:0);k[v>>2]=k[s>>2];while(1){if(((k[v>>2]|0)+(k[x>>2]|0)|0)>(k[y>>2]|0))break;i[(k[D>>2]|0)+(k[v>>2]|0)>>0]=i[(k[D>>2]|0)+((k[v>>2]|0)+(k[x>>2]|0))>>0]|0;k[v>>2]=(k[v>>2]|0)+1}if((k[s>>2]|0)>0?(i[(k[D>>2]|0)+(k[s>>2]|0)>>0]|0)==0:0)i[(k[D>>2]|0)+((k[s>>2]|0)-1)>>0]=0;L=(k[(k[n>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+15|0;i[L>>0]=l[L>>0]|2;i[z>>0]=-128}else{L=(k[n>>2]|0)+42|0;i[L>>0]=l[L>>0]|l[z>>0]}k[t>>2]=(k[t>>2]|0)+1}}}else{a=k[F>>2]|0;if(!(k[L>>2]|0)){k[J>>2]=k[M>>2];L=Nh(a,31280,J)|0;k[k[G>>2]>>2]=L}else{k[K>>2]=k[L>>2];K=Nh(a,18999,K)|0;k[k[G>>2]>>2]=K;Ud(k[L>>2]|0)}bg(k[F>>2]|0,k[H>>2]|0)}while(0);bg(k[F>>2]|0,k[M>>2]|0);k[E>>2]=k[I>>2];M=k[E>>2]|0;r=N;return M|0}function Fz(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[k[b>>2]>>2];if(!(i[(k[c>>2]|0)+144+5>>0]|0)){a=Ai(k[c>>2]|0,(k[b>>2]|0)+4|0)|0;k[d>>2]=a}if(!(k[d>>2]|0)){d=k[d>>2]|0;r=e;return d|0}k[(k[b>>2]|0)+12>>2]=k[d>>2];a=(k[b>>2]|0)+68|0;k[a>>2]=(k[a>>2]|0)+1;d=k[d>>2]|0;r=e;return d|0}function Gz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;c=j+32|0;d=j+28|0;m=j+24|0;l=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[m>>2]=k[k[c>>2]>>2];k[l>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2];qx(k[c>>2]|0,0,k[d>>2]|0);k[f>>2]=k[(k[c>>2]|0)+72>>2];a=(k[c>>2]|0)+72|0;k[a>>2]=(k[a>>2]|0)+3;Kz(k[c>>2]|0,k[d>>2]|0,k[f>>2]|0,0,0);k[e>>2]=(k[(k[c>>2]|0)+76>>2]|0)+1;k[g>>2]=k[(k[c>>2]|0)+72>>2];k[h>>2]=k[(k[l>>2]|0)+8+8>>2];while(1){if(!(k[h>>2]|0))break;k[i>>2]=k[(k[h>>2]|0)+8>>2];Lz(k[c>>2]|0,k[i>>2]|0,0,k[f>>2]|0,k[e>>2]|0,k[g>>2]|0);k[h>>2]=k[k[h>>2]>>2]}Mz(k[c>>2]|0,k[d>>2]|0);r=j;return}function Hz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+8|0;c=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;b=Tw(k[f>>2]|0,k[g>>2]|0)|0;k[e>>2]=b;b=vi(k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;bg(k[f>>2]|0,k[e>>2]|0);r=d;return k[c>>2]|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;qx(k[d>>2]|0,0,k[g>>2]|0);k[h>>2]=k[(k[d>>2]|0)+72>>2];c=(k[d>>2]|0)+72|0;k[c>>2]=(k[c>>2]|0)+3;c=k[d>>2]|0;a=k[g>>2]|0;b=k[h>>2]|0;if(k[f>>2]|0)Kz(c,a,b,k[k[f>>2]>>2]|0,31442);else Kz(c,a,b,k[k[e>>2]>>2]|0,31446);Lz(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,(k[(k[d>>2]|0)+76>>2]|0)+1|0,k[(k[d>>2]|0)+72>>2]|0);Mz(k[d>>2]|0,k[g>>2]|0);r=i;return}function Jz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+8|0;o=q;e=q+36|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;n=q+16|0;m=q+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[m>>2]=k[k[f>>2]>>2];b=(k[m>>2]|0)+144|0;if((k[(k[h>>2]|0)+4>>2]|0)>>>0>0){if(i[b+5>>0]|0){Mh(k[f>>2]|0,31405,o);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}k[k[j>>2]>>2]=k[h>>2];o=Hz(k[m>>2]|0,k[g>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)<0){o=k[f>>2]|0;k[p>>2]=k[g>>2];Mh(o,31422,p);k[e>>2]=-1;p=k[e>>2]|0;r=q;return p|0}}else{k[n>>2]=l[b+4>>0];k[k[j>>2]>>2]=k[g>>2]}k[e>>2]=k[n>>2];p=k[e>>2]|0;r=q;return p|0}function Kz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;v=x+16|0;u=x;f=x+84|0;g=x+80|0;h=x+76|0;j=x+72|0;l=x+68|0;p=x+64|0;o=x+60|0;q=x+56|0;t=x+52|0;n=x+40|0;m=x+88|0;w=x+36|0;s=x+32|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[o>>2]=k[k[f>>2]>>2];e=dx(k[f>>2]|0)|0;k[t>>2]=e;if(!(k[t>>2]|0)){r=x;return}k[q>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]<<4);k[p>>2]=0;while(1){if((k[p>>2]|0)>=3)break;k[w>>2]=k[5228+(k[p>>2]<<3)>>2];e=Bi(k[o>>2]|0,k[w>>2]|0,k[k[q>>2]>>2]|0)|0;k[s>>2]=e;do if(!e){if(k[5228+(k[p>>2]<<3)+4>>2]|0){e=k[f>>2]|0;a=k[w>>2]|0;d=k[5228+(k[p>>2]<<3)+4>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;k[u+8>>2]=d;cx(e,31503,u);k[n+(k[p>>2]<<2)>>2]=k[(k[f>>2]|0)+396>>2];i[m+(k[p>>2]|0)>>0]=16}}else{k[n+(k[p>>2]<<2)>>2]=k[(k[s>>2]|0)+28>>2];i[m+(k[p>>2]|0)>>0]=0;Oz(k[f>>2]|0,k[g>>2]|0,k[n+(k[p>>2]<<2)>>2]|0,1,k[w>>2]|0);if(k[j>>2]|0){e=k[f>>2]|0;c=k[w>>2]|0;a=k[l>>2]|0;d=k[j>>2]|0;k[v>>2]=k[k[q>>2]>>2];k[v+4>>2]=c;k[v+8>>2]=a;k[v+12>>2]=d;cx(e,31526,v);break}else{fx(k[t>>2]|0,119,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0)|0;break}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if(!(k[5228+(k[p>>2]<<3)+4>>2]|0))break;Qh(k[t>>2]|0,55,(k[h>>2]|0)+(k[p>>2]|0)|0,k[n+(k[p>>2]<<2)>>2]|0,k[g>>2]|0,3)|0;Rh(k[t>>2]|0,i[m+(k[p>>2]|0)>>0]|0);k[p>>2]=(k[p>>2]|0)+1}r=x;return}function Lz(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+128|0;j=R+116|0;n=R+112|0;o=R+108|0;p=R+104|0;g=R+100|0;h=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;q=R+4|0;E=R;k[j>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[g>>2]=e;k[h>>2]=f;k[u>>2]=k[k[j>>2]>>2];k[A>>2]=-1;i[D>>0]=1;b=k[g>>2]|0;k[g>>2]=b+1;k[I>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[L>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[G>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[N>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[M>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[H>>2]=b;b=k[g>>2]|0;k[g>>2]=b+1;k[K>>2]=b;k[J>>2]=k[g>>2];if((k[(k[j>>2]|0)+76>>2]|0)>(k[g>>2]|0))g=k[(k[j>>2]|0)+76>>2]|0;else g=k[g>>2]|0;k[(k[j>>2]|0)+76>>2]=g;b=dx(k[j>>2]|0)|0;k[O>>2]=b;if((k[O>>2]|0)==0|(k[n>>2]|0)==0){r=R;return}if(!(k[(k[n>>2]|0)+28>>2]|0)){r=R;return}if(!(jf(31450,k[k[n>>2]>>2]|0,0)|0)){r=R;return}b=Ph(k[u>>2]|0,k[(k[n>>2]|0)+64>>2]|0)|0;k[x>>2]=b;if(ax(k[j>>2]|0,28,k[k[n>>2]>>2]|0,0,k[(k[(k[u>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2]|0)|0){r=R;return}Oz(k[j>>2]|0,k[x>>2]|0,k[(k[n>>2]|0)+28>>2]|0,0,k[k[n>>2]>>2]|0);b=k[h>>2]|0;k[h>>2]=b+1;k[z>>2]=b;b=k[h>>2]|0;k[h>>2]=b+1;k[y>>2]=b;if((k[(k[j>>2]|0)+72>>2]|0)>(k[h>>2]|0))g=k[(k[j>>2]|0)+72>>2]|0;else g=k[h>>2]|0;k[(k[j>>2]|0)+72>>2]=g;Pz(k[j>>2]|0,k[z>>2]|0,k[x>>2]|0,k[n>>2]|0,54);hx(k[O>>2]|0,k[M>>2]|0,k[k[n>>2]>>2]|0)|0;k[F>>2]=k[(k[n>>2]|0)+8>>2];while(1){g=k[o>>2]|0;if(!(k[F>>2]|0))break;if(!((g|0)!=0?(k[o>>2]|0)!=(k[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(k[(k[F>>2]|0)+36>>2]|0))i[D>>0]=0;if(((l[(k[n>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[F>>2]|0)+55>>0]&3|0)==2:0){k[B>>2]=m[(k[F>>2]|0)+50>>1];k[P>>2]=k[k[n>>2]>>2];k[C>>2]=(k[B>>2]|0)-1}else{k[B>>2]=m[(k[F>>2]|0)+52>>1];k[P>>2]=k[k[F>>2]>>2];if((l[(k[F>>2]|0)+55>>0]|0)>>>3&1)g=m[(k[F>>2]|0)+50>>1]|0;else g=k[B>>2]|0;k[C>>2]=g-1}hx(k[O>>2]|0,k[H>>2]|0,k[P>>2]|0)|0;if((k[(k[j>>2]|0)+76>>2]|0)>((k[J>>2]|0)+(k[C>>2]|0)|0))g=k[(k[j>>2]|0)+76>>2]|0;else g=(k[J>>2]|0)+(k[C>>2]|0)|0;k[(k[j>>2]|0)+76>>2]=g;jx(k[O>>2]|0,54,k[y>>2]|0,k[(k[F>>2]|0)+44>>2]|0,k[x>>2]|0)|0;Qz(k[j>>2]|0,k[F>>2]|0);fx(k[O>>2]|0,22,k[B>>2]|0,(k[L>>2]|0)+1|0)|0;fx(k[O>>2]|0,22,m[(k[F>>2]|0)+50>>1]|0,(k[L>>2]|0)+2|0)|0;ix(k[O>>2]|0,35,0,(k[L>>2]|0)+1|0,k[L>>2]|0,5124,-5)|0;Rh(k[O>>2]|0,2);h=Nz(k[O>>2]|0,108,k[y>>2]|0)|0;k[t>>2]=h;fx(k[O>>2]|0,22,0,k[G>>2]|0)|0;h=Rz(k[O>>2]|0)|0;k[s>>2]=h;if((k[C>>2]|0)>0){h=Sz(k[O>>2]|0)|0;k[v>>2]=h;h=Vw(k[u>>2]|0,k[C>>2]<<2,0)|0;k[q>>2]=h;if(!(k[q>>2]|0))break;mx(k[O>>2]|0,13)|0;h=Rz(k[O>>2]|0)|0;k[s>>2]=h;if(((k[C>>2]|0)==1?(m[(k[F>>2]|0)+50>>1]|0|0)==1:0)?(l[(k[F>>2]|0)+54>>0]|0|0)!=0:0)fx(k[O>>2]|0,77,k[J>>2]|0,k[v>>2]|0)|0;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[C>>2]|0))break;h=Tz(k[j>>2]|0,k[(k[(k[F>>2]|0)+32>>2]|0)+(k[w>>2]<<2)>>2]|0)|0;k[E>>2]=h;fx(k[O>>2]|0,22,k[w>>2]|0,k[G>>2]|0)|0;jx(k[O>>2]|0,47,k[y>>2]|0,k[w>>2]|0,k[N>>2]|0)|0;h=ix(k[O>>2]|0,78,k[N>>2]|0,0,(k[J>>2]|0)+(k[w>>2]|0)|0,k[E>>2]|0,-4)|0;k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]=h;Rh(k[O>>2]|0,-128);k[w>>2]=(k[w>>2]|0)+1}fx(k[O>>2]|0,22,k[C>>2]|0,k[G>>2]|0)|0;Uz(k[O>>2]|0,k[v>>2]|0)|0;Vz(k[O>>2]|0,(k[s>>2]|0)-1|0);k[w>>2]=0;while(1){g=k[O>>2]|0;if((k[w>>2]|0)>=(k[C>>2]|0))break;Vz(g,k[(k[q>>2]|0)+(k[w>>2]<<2)>>2]|0);jx(k[O>>2]|0,47,k[y>>2]|0,k[w>>2]|0,(k[J>>2]|0)+(k[w>>2]|0)|0)|0;k[w>>2]=(k[w>>2]|0)+1}Wz(g,k[v>>2]|0);bg(k[u>>2]|0,k[q>>2]|0)}ix(k[O>>2]|0,35,1,k[L>>2]|0,k[N>>2]|0,5152,-5)|0;Rh(k[O>>2]|0,2);fx(k[O>>2]|0,7,k[y>>2]|0,k[s>>2]|0)|0;Xz(k[O>>2]|0,k[L>>2]|0,0,k[K>>2]|0);ix(k[O>>2]|0,49,k[M>>2]|0,3,k[N>>2]|0,31459,0)|0;fx(k[O>>2]|0,74,k[p>>2]|0,k[I>>2]|0)|0;jx(k[O>>2]|0,75,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Rh(k[O>>2]|0,8);Vz(k[O>>2]|0,k[t>>2]|0)}while(0);k[F>>2]=k[(k[F>>2]|0)+20>>2]}if(g){r=R;return}if(!(l[D>>0]|0)){r=R;return}fx(k[O>>2]|0,50,k[z>>2]|0,k[K>>2]|0)|0;Q=Nz(k[O>>2]|0,46,k[K>>2]|0)|0;k[A>>2]=Q;fx(k[O>>2]|0,25,0,k[H>>2]|0)|0;ix(k[O>>2]|0,49,k[M>>2]|0,3,k[N>>2]|0,31459,0)|0;fx(k[O>>2]|0,74,k[p>>2]|0,k[I>>2]|0)|0;jx(k[O>>2]|0,75,k[p>>2]|0,k[N>>2]|0,k[I>>2]|0)|0;Rh(k[O>>2]|0,8);Vz(k[O>>2]|0,k[A>>2]|0);r=R;return}function Mz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;a=dx(k[f>>2]|0)|0;k[d>>2]=a;if(!(k[d>>2]|0)){r=e;return}Nz(k[d>>2]|0,124,k[c>>2]|0)|0;r=e;return}function Nz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=jx(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0,0)|0;r=d;return c|0}function Oz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;t=s+28|0;j=s+24|0;m=s+20|0;n=s+32|0;o=s+16|0;p=s+12|0;f=s+8|0;g=s+4|0;q=s;k[t>>2]=a;k[j>>2]=b;k[m>>2]=c;i[n>>0]=d;k[o>>2]=e;b=k[t>>2]|0;if(k[(k[t>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[p>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[p>>2]|0)+404>>2]|0))break;k[q>>2]=(k[(k[p>>2]|0)+408>>2]|0)+(k[f>>2]<<4);if((k[k[q>>2]>>2]|0)==(k[j>>2]|0)?(k[(k[q>>2]|0)+4>>2]|0)==(k[m>>2]|0):0){h=7;break}k[f>>2]=(k[f>>2]|0)+1}if((h|0)==7){if(l[(k[q>>2]|0)+8>>0]|0)b=1;else b=(l[n>>0]|0|0)!=0;i[(k[q>>2]|0)+8>>0]=b&1;r=s;return}k[g>>2]=(k[(k[p>>2]|0)+404>>2]|0)+1<<4;b=k[g>>2]|0;b=Lx(k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+408>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[p>>2]|0)+408>>2]=b;b=(k[p>>2]|0)+404|0;if(k[(k[p>>2]|0)+408>>2]|0){t=k[b>>2]|0;k[b>>2]=t+1;k[q>>2]=(k[(k[p>>2]|0)+408>>2]|0)+(t<<4);k[k[q>>2]>>2]=k[j>>2];k[(k[q>>2]|0)+4>>2]=k[m>>2];i[(k[q>>2]|0)+8>>0]=i[n>>0]|0;k[(k[q>>2]|0)+12>>2]=k[o>>2];r=s;return}else{k[b>>2]=0;vh(k[k[p>>2]>>2]|0);r=s;return}}function Pz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;d=dx(k[f>>2]|0)|0;k[o>>2]=d;Oz(k[f>>2]|0,k[h>>2]|0,k[(k[i>>2]|0)+28>>2]|0,((k[m>>2]|0)==55?1:0)&255,k[k[i>>2]>>2]|0);if(!(l[(k[i>>2]|0)+42>>0]&32)){Qh(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[i>>2]|0)+28>>2]|0,k[h>>2]|0,j[(k[i>>2]|0)+34>>1]|0)|0;r=p;return}else{d=Rj(k[i>>2]|0)|0;k[n>>2]=d;jx(k[o>>2]|0,k[m>>2]|0,k[g>>2]|0,k[(k[n>>2]|0)+44>>2]|0,k[h>>2]|0)|0;Qz(k[f>>2]|0,k[n>>2]|0);r=p;return}}function Qz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;f=c;k[e>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[e>>2]|0)+8>>2];a=k[f>>2]|0;Uh(a,-1,dA(k[e>>2]|0,k[d>>2]|0)|0,-6);r=c;return}function Rz(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+32>>2]|0}function Sz(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;c=d+4|0;b=d;k[e>>2]=a;k[c>>2]=k[(k[e>>2]|0)+24>>2];e=(k[c>>2]|0)+116|0;a=k[e>>2]|0;k[e>>2]=a+1;k[b>>2]=a;if(!(k[b>>2]&(k[b>>2]|0)-1)){e=Lx(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+120>>2]|0,(k[b>>2]<<1)+1<<2,0)|0;k[(k[c>>2]|0)+120>>2]=e}if(!(k[(k[c>>2]|0)+120>>2]|0)){e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}k[(k[(k[c>>2]|0)+120>>2]|0)+(k[b>>2]<<2)>>2]=-1;e=k[b>>2]|0;e=-1-e|0;r=d;return e|0}function Tz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;g=r;r=r+32|0;c=g+12|0;d=g+8|0;j=g+4|0;e=g+17|0;h=g+16|0;f=g;k[c>>2]=a;k[d>>2]=b;k[j>>2]=k[k[c>>2]>>2];i[e>>0]=i[(k[j>>2]|0)+66>>0]|0;i[h>>0]=i[(k[j>>2]|0)+144+5>>0]|0;b=_j(k[j>>2]|0,i[e>>0]|0,k[d>>2]|0,l[h>>0]|0)|0;k[f>>2]=b;if(i[h>>0]|0){j=k[f>>2]|0;r=g;return j|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[f>>2]|0;r=g;return j|0}j=dy(k[c>>2]|0,i[e>>0]|0,k[f>>2]|0,k[d>>2]|0)|0;k[f>>2]=j;j=k[f>>2]|0;r=g;return j|0}function Uz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=jx(k[e>>2]|0,13,0,k[d>>2]|0,0)|0;r=c;return a|0}function Vz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[(k[d>>2]|0)+24>>2]|0)+96>>2]=(k[(k[d>>2]|0)+32>>2]|0)-1;$z(k[d>>2]|0,k[e>>2]|0,k[(k[d>>2]|0)+32>>2]|0);r=c;return}function Wz(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;e=f+4|0;d=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[(k[c>>2]|0)+24>>2];k[d>>2]=-1-(k[g>>2]|0);if(k[(k[e>>2]|0)+120>>2]|0)k[(k[(k[e>>2]|0)+120>>2]|0)+(k[d>>2]<<2)>>2]=k[(k[c>>2]|0)+32>>2];k[(k[e>>2]|0)+96>>2]=(k[(k[c>>2]|0)+32>>2]|0)-1;r=f;return}function Xz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;h=e+8|0;g=e;k[f>>2]=a;k[h>>2]=b;k[e+4>>2]=c;k[g>>2]=d;ix(k[f>>2]|0,35,0,k[h>>2]|0,k[g>>2]|0,5180,-5)|0;Rh(k[f>>2]|0,1);r=e;return}function Yz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+64|0;j=n+24|0;i=n+16|0;d=n+56|0;o=n+48|0;h=n+44|0;l=n+40|0;e=n+36|0;m=n+32|0;g=n+8|0;f=n;k[d>>2]=a;k[n+52>>2]=b;k[o>>2]=c;a=je(k[k[o>>2]>>2]|0)|0;k[h>>2]=a;a=((k[(k[h>>2]|0)+12>>2]|0)+1|0)*25|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[m>>2]=a;if(!(k[m>>2]|0)){De(k[d>>2]|0);r=n;return}o=k[m>>2]|0;a=i;k[a>>2]=k[k[h>>2]>>2];k[a+4>>2]=0;_d(24,o,31472,i)|0;o=k[m>>2]|0;o=o+(Tf(k[m>>2]|0)|0)|0;k[l>>2]=o;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;o=g;k[o>>2]=(k[(k[(k[h>>2]|0)+20+4>>2]|0)+(k[e>>2]<<2)>>2]|0)+1;k[o+4>>2]=0;o=g;o=zR(k[k[h>>2]>>2]|0,0,k[o>>2]|0,k[o+4>>2]|0)|0;o=yR(o|0,L|0,1,0)|0;c=g;c=LR(o|0,L|0,k[c>>2]|0,k[c+4>>2]|0)|0;o=f;k[o>>2]=c;k[o+4>>2]=L;o=k[l>>2]|0;c=f;a=k[c+4>>2]|0;i=j;k[i>>2]=k[c>>2];k[i+4>>2]=a;_d(24,o,31477,j)|0;o=Tf(k[l>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+o;k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[m>>2]|0,-1,148);r=n;return}function Zz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[g+20>>2]=a;k[g+16>>2]=b;k[h>>2]=c;a=je(k[k[h>>2]>>2]|0)|0;k[f>>2]=a;a=ne(k[(k[h>>2]|0)+4>>2]|0)|0;k[e>>2]=a;if(!(k[k[f>>2]>>2]|0)){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}_z(k[f>>2]|0,k[e>>2]|0);k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break;h=(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+1}k[d>>2]=k[e>>2];while(1){if((k[d>>2]|0)>=(k[(k[f>>2]|0)+8>>2]|0))break;h=(k[(k[f>>2]|0)+20+4>>2]|0)+(k[d>>2]<<2)|0;k[h>>2]=(k[h>>2]|0)+1;k[(k[(k[f>>2]|0)+20>>2]|0)+(k[d>>2]<<2)>>2]=1;k[d>>2]=(k[d>>2]|0)+1}h=k[f>>2]|0;f=k[h>>2]|0;f=f+1|0;k[h>>2]=f;r=g;return}function _z(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function $z(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(aA(k[f>>2]|0,k[e>>2]|0)|0)+8|0;k[c>>2]=a;r=d;return}function aA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)<0)k[e>>2]=(k[(k[d>>2]|0)+32>>2]|0)-1;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=5208;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0);a=k[c>>2]|0;r=f;return a|0}return 0}function bA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+48|0;d=j+32|0;m=j+24|0;i=j+20|0;f=j+16|0;h=j+12|0;g=j+8|0;l=j+4|0;e=j;k[d>>2]=a;k[j+28>>2]=b;k[m>>2]=c;a=ne(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;k[g>>2]=(k[f>>2]|0)+1&-2;a=ne(k[(k[m>>2]|0)+4>>2]|0)|0;k[h>>2]=a;k[l>>2]=56+(k[g>>2]<<2)+(k[g>>2]<<2);a=Ge(k[d>>2]|0)|0;k[e>>2]=a;a=k[l>>2]|0;a=Bh(k[e>>2]|0,a,((a|0)<0)<<31>>31)|0;k[i>>2]=a;if(!(k[i>>2]|0)){De(k[d>>2]|0);r=j;return}else{k[(k[i>>2]|0)+52>>2]=k[e>>2];k[k[i>>2]>>2]=0;k[(k[i>>2]|0)+8>>2]=k[f>>2];k[(k[i>>2]|0)+12>>2]=k[h>>2];k[(k[i>>2]|0)+20+4>>2]=(k[i>>2]|0)+56;k[(k[i>>2]|0)+20>>2]=(k[(k[i>>2]|0)+20+4>>2]|0)+(k[g>>2]<<2);qe(k[d>>2]|0,k[i>>2]|0,56,153);r=j;return}}function cA(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];bg(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0);r=b;return}function dA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;d=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;c=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;k[h>>2]=m[(k[f>>2]|0)+52>>1];k[c>>2]=m[(k[f>>2]|0)+50>>1];if(k[(k[e>>2]|0)+68>>2]|0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}b=k[k[e>>2]>>2]|0;if((l[(k[f>>2]|0)+55>>0]|0)>>>3&1){c=eA(b,k[c>>2]|0,(k[h>>2]|0)-(k[c>>2]|0)|0)|0;k[j>>2]=c}else{c=eA(b,k[h>>2]|0,0)|0;k[j>>2]=c}if(k[j>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[n>>2]=k[(k[(k[f>>2]|0)+32>>2]|0)+(k[g>>2]<<2)>>2];if((k[n>>2]|0)==35343)b=0;else b=Tz(k[e>>2]|0,k[n>>2]|0)|0;k[(k[j>>2]|0)+20+(k[g>>2]<<2)>>2]=b;i[(k[(k[j>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[f>>2]|0)+28>>2]|0)+(k[g>>2]|0)>>0]|0;k[g>>2]=(k[g>>2]|0)+1}if(k[(k[e>>2]|0)+68>>2]|0){fA(k[j>>2]|0);k[j>>2]=0}}k[d>>2]=k[j>>2];n=k[d>>2]|0;r=o;return n|0}function eA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=((k[e>>2]|0)+(k[f>>2]|0)|0)*5;a=jg(24+(k[g>>2]|0)|0,0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+16>>2]=(k[h>>2]|0)+20+((k[e>>2]|0)+(k[f>>2]|0)<<2);j[(k[h>>2]|0)+6>>1]=k[e>>2];j[(k[h>>2]|0)+8>>1]=k[f>>2];i[(k[h>>2]|0)+4>>0]=i[(k[d>>2]|0)+66>>0]|0;k[(k[h>>2]|0)+12>>2]=k[d>>2];k[k[h>>2]>>2]=1;DR((k[h>>2]|0)+24|0,0,k[g>>2]|0)|0;h=k[h>>2]|0;r=l;return h|0}else{vh(k[d>>2]|0);h=k[h>>2]|0;r=l;return h|0}return 0}function fA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[k[b>>2]>>2]|0){r=c;return}bg(0,k[b>>2]|0);r=c;return}function gA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;h=j+16|0;f=j+12|0;e=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;k[h>>2]=k[(k[e>>2]|0)+16>>2];while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[h>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[g>>2]|0))break;k[i>>2]=k[(k[g>>2]|0)+8>>2];hA(k[c>>2]|0,k[i>>2]|0,k[d>>2]|0);k[g>>2]=k[k[g>>2]>>2]}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+16}r=j;return}function hA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if(!((k[f>>2]|0)!=0?(xB(k[f>>2]|0,k[h>>2]|0)|0)==0:0)){c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;qx(k[d>>2]|0,0,k[g>>2]|0);iA(k[d>>2]|0,k[h>>2]|0,-1)}k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=i;return}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,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;j=x+64|0;n=x+60|0;d=x+56|0;h=x+52|0;t=x+48|0;q=x+44|0;s=x+40|0;o=x+36|0;p=x+32|0;i=x+28|0;f=x+24|0;w=x+20|0;g=x+16|0;v=x+12|0;y=x+8|0;e=x+4|0;u=x;k[j>>2]=a;k[n>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[n>>2]|0)+12>>2];a=(k[j>>2]|0)+72|0;b=k[a>>2]|0;k[a>>2]=b+1;k[t>>2]=b;b=(k[j>>2]|0)+72|0;a=k[b>>2]|0;k[b>>2]=a+1;k[q>>2]=a;k[y>>2]=k[k[j>>2]>>2];a=Ph(k[y>>2]|0,k[(k[n>>2]|0)+24>>2]|0)|0;k[e>>2]=a;if(ax(k[j>>2]|0,27,k[k[n>>2]>>2]|0,0,k[(k[(k[y>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0){r=x;return}Oz(k[j>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+28>>2]|0,1,k[k[h>>2]>>2]|0);y=dx(k[j>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0)){r=x;return}if((k[d>>2]|0)>=0)k[i>>2]=k[d>>2];else k[i>>2]=k[(k[n>>2]|0)+44>>2];a=dA(k[j>>2]|0,k[n>>2]|0)|0;k[g>>2]=a;a=(k[j>>2]|0)+72|0;b=k[a>>2]|0;k[a>>2]=b+1;k[s>>2]=b;b=k[w>>2]|0;a=k[s>>2]|0;y=m[(k[n>>2]|0)+50>>1]|0;ix(b,58,a,0,y,jA(k[g>>2]|0)|0,-6)|0;Pz(k[j>>2]|0,k[t>>2]|0,k[e>>2]|0,k[h>>2]|0,54);y=fx(k[w>>2]|0,108,k[t>>2]|0,0)|0;k[o>>2]=y;y=kA(k[j>>2]|0)|0;k[v>>2]=y;lA(k[j>>2]|0,k[n>>2]|0,k[t>>2]|0,k[v>>2]|0,0,f,0,0)|0;fx(k[w>>2]|0,109,k[s>>2]|0,k[v>>2]|0)|0;mA(k[j>>2]|0,k[f>>2]|0);fx(k[w>>2]|0,7,k[t>>2]|0,(k[o>>2]|0)+1|0)|0;Vz(k[w>>2]|0,k[o>>2]|0);if((k[d>>2]|0)<0)fx(k[w>>2]|0,119,k[i>>2]|0,k[e>>2]|0)|0;ix(k[w>>2]|0,55,k[q>>2]|0,k[i>>2]|0,k[e>>2]|0,k[g>>2]|0,-6)|0;Rh(k[w>>2]|0,(1|((k[d>>2]|0)>=0?16:0))&255);y=fx(k[w>>2]|0,106,k[s>>2]|0,0)|0;k[o>>2]=y;y=(k[g>>2]|0)!=0?(l[(k[n>>2]|0)+54>>0]|0|0)!=0:0;d=Rz(k[w>>2]|0)|0;if(y){k[u>>2]=d+3;Uz(k[w>>2]|0,k[u>>2]|0)|0;y=Rz(k[w>>2]|0)|0;k[p>>2]=y;Qh(k[w>>2]|0,99,k[s>>2]|0,k[u>>2]|0,k[v>>2]|0,m[(k[n>>2]|0)+50>>1]|0)|0;nA(k[j>>2]|0,2,k[n>>2]|0)}else k[p>>2]=d;jx(k[w>>2]|0,100,k[s>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;jx(k[w>>2]|0,105,k[q>>2]|0,0,-1)|0;jx(k[w>>2]|0,110,k[q>>2]|0,k[v>>2]|0,0)|0;Rh(k[w>>2]|0,16);oA(k[j>>2]|0,k[v>>2]|0);fx(k[w>>2]|0,3,k[s>>2]|0,k[p>>2]|0)|0;Vz(k[w>>2]|0,k[o>>2]|0);Nz(k[w>>2]|0,61,k[t>>2]|0)|0;Nz(k[w>>2]|0,61,k[q>>2]|0)|0;Nz(k[w>>2]|0,61,k[s>>2]|0)|0;r=x;return}function jA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[b>>2]|0){a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+1}r=c;return k[b>>2]|0}function kA(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=k[c>>2]|0;if(!(l[(k[c>>2]|0)+19>>0]|0)){a=a+76|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[b>>2]=c;c=k[b>>2]|0;r=d;return c|0}else{e=a+19|0;a=(i[e>>0]|0)+-1<<24>>24;i[e>>0]=a;k[b>>2]=k[(k[c>>2]|0)+28+((a&255)<<2)>>2];c=k[b>>2]|0;r=d;return c|0}return 0}function lA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+48|0;n=y+44|0;o=y+40|0;p=y+36|0;q=y+32|0;i=y+28|0;m=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[i>>2]=e;k[m>>2]=f;k[s>>2]=g;k[t>>2]=h;k[x>>2]=k[(k[n>>2]|0)+8>>2];do if(k[m>>2]|0)if(k[(k[o>>2]|0)+36>>2]|0){h=Sz(k[x>>2]|0)|0;k[k[m>>2]>>2]=h;k[(k[n>>2]|0)+104>>2]=k[p>>2];yA(k[n>>2]|0);zA(k[n>>2]|0,k[(k[o>>2]|0)+36>>2]|0,k[k[m>>2]>>2]|0,16);break}else{k[k[m>>2]>>2]=0;break}while(0);if((k[i>>2]|0)!=0?((l[(k[o>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)i=j[(k[o>>2]|0)+50>>1]|0;else i=j[(k[o>>2]|0)+52>>1]|0;k[v>>2]=i&65535;h=AA(k[n>>2]|0,k[v>>2]|0)|0;k[w>>2]=h;do if(k[s>>2]|0){if((k[w>>2]|0)==(k[t>>2]|0)?(k[(k[s>>2]|0)+36>>2]|0)==0:0)break;k[s>>2]=0}while(0);k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[v>>2]|0))break;if(!(((k[s>>2]|0)!=0?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)==(j[(k[(k[o>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0):0)?(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[u>>2]<<1)>>1]|0)!=-2:0)){BA(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[u>>2]|0,(k[w>>2]|0)+(k[u>>2]|0)|0);CA(k[x>>2]|0,39)|0}k[u>>2]=(k[u>>2]|0)+1}if(!(k[q>>2]|0)){t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;DA(t,u,x);x=k[w>>2]|0;r=y;return x|0}jx(k[x>>2]|0,49,k[w>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;t=k[n>>2]|0;u=k[w>>2]|0;x=k[v>>2]|0;DA(t,u,x);x=k[w>>2]|0;r=y;return x|0}function mA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}Wz(k[(k[c>>2]|0)+8>>2]|0,k[d>>2]|0);wA(k[c>>2]|0);r=e;return}function nA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+80|0;o=s+8|0;n=s;d=s+68|0;e=s+64|0;f=s+60|0;q=s+56|0;h=s+52|0;g=s+24|0;l=s+20|0;p=s+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=k[(k[f>>2]|0)+12>>2];ng(g,k[k[d>>2]>>2]|0,0,0,200);if(k[(k[f>>2]|0)+40>>2]|0){k[n>>2]=k[k[f>>2]>>2];pA(g,31641,n);n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;rA(n,o,p,q,-1,2);r=s;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break;k[p>>2]=k[(k[(k[l>>2]|0)+4>>2]|0)+(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]<<4)>>2];if(k[h>>2]|0)qA(g,31652,2);n=k[p>>2]|0;k[o>>2]=k[k[l>>2]>>2];k[o+4>>2]=n;pA(g,30741,o);k[h>>2]=(k[h>>2]|0)+1}n=pg(g)|0;k[q>>2]=n;n=k[d>>2]|0;o=k[f>>2]|0;o=o+55|0;o=i[o>>0]|0;o=o&3;o=o&255;o=(o|0)==2;o=o?1555:2067;p=k[e>>2]|0;q=k[q>>2]|0;rA(n,o,p,q,-1,2);r=s;return}function oA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){r=g;return}if((l[(k[d>>2]|0)+19>>0]|0|0)>=8){r=g;return}k[c>>2]=0;k[f>>2]=(k[d>>2]|0)+124;while(1){if((k[c>>2]|0)>=10){c=8;break}if((k[(k[f>>2]|0)+12>>2]|0)==(k[e>>2]|0)){c=6;break}k[c>>2]=(k[c>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){i[(k[f>>2]|0)+6>>0]=1;r=g;return}else if((c|0)==8){e=k[e>>2]|0;a=(k[d>>2]|0)+19|0;f=i[a>>0]|0;i[a>>0]=f+1<<24>>24;k[(k[d>>2]|0)+28+((f&255)<<2)>>2]=e;r=g;return}}function pA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;g=d+20|0;f=d+16|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;og(k[g>>2]|0,k[f>>2]|0,e);r=d;return}function qA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(((k[(k[d>>2]|0)+12>>2]|0)+(k[f>>2]|0)|0)>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0){sA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}else{b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);BR((k[(k[d>>2]|0)+8>>2]|0)+((k[(k[d>>2]|0)+12>>2]|0)-(k[f>>2]|0))|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}}function rA(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,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+16|0;h=p+12|0;j=p+8|0;l=p+4|0;m=p+21|0;n=p+20|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;i[m>>0]=e;i[n>>0]=f;a=dx(k[g>>2]|0)|0;k[o>>2]=a;if((k[j>>2]|0)==2)Rx(k[g>>2]|0);ix(k[o>>2]|0,21,k[h>>2]|0,k[j>>2]|0,0,k[l>>2]|0,i[m>>0]|0)|0;Rh(k[o>>2]|0,i[n>>0]|0);r=p;return}function sA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=tA(k[d>>2]|0,k[f>>2]|0)|0;k[f>>2]=b;if((k[f>>2]|0)<=0){r=g;return}BR((k[(k[d>>2]|0)+8>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0,k[e>>2]|0,k[f>>2]|0)|0;b=(k[d>>2]|0)+12|0;k[b>>2]=(k[b>>2]|0)+(k[f>>2]|0);r=g;return}function tA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+24|0;f=j+20|0;g=j+16|0;h=j+12|0;d=j+8|0;c=j;k[f>>2]=a;k[g>>2]=b;if(i[(k[f>>2]|0)+24>>0]|0){k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}b=k[f>>2]|0;if(!(k[(k[f>>2]|0)+20>>2]|0)){k[g>>2]=(k[b+16>>2]|0)-(k[(k[f>>2]|0)+12>>2]|0)-1;uA(k[f>>2]|0,2);k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}if(l[b+25>>0]&4)b=k[(k[f>>2]|0)+8>>2]|0;else b=0;k[d>>2]=b;b=c;k[b>>2]=k[(k[f>>2]|0)+12>>2];k[b+4>>2]=0;b=(k[g>>2]|0)+1|0;a=c;b=zR(k[a>>2]|0,k[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L;a=c;a=zR(k[a>>2]|0,k[a+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;b=L;if((b|0)<0|((b|0)==0?a>>>0<=(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){b=c;b=zR(k[b>>2]|0,k[b+4>>2]|0,k[(k[f>>2]|0)+12>>2]|0,0)|0;a=c;k[a>>2]=b;k[a+4>>2]=L}a=c;b=k[a+4>>2]|0;if((b|0)>0|((b|0)==0?(k[a>>2]|0)>>>0>(k[(k[f>>2]|0)+20>>2]|0)>>>0:0)){vA(k[f>>2]|0);uA(k[f>>2]|0,2);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}k[(k[f>>2]|0)+16>>2]=k[c>>2];if(k[k[f>>2]>>2]|0){d=Uw(k[k[f>>2]>>2]|0,k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}else{d=Wd(k[d>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0)|0;k[h>>2]=d}b=k[f>>2]|0;if(!(k[h>>2]|0)){vA(b);uA(k[f>>2]|0,1);k[e>>2]=0;h=k[e>>2]|0;r=j;return h|0}if((l[b+25>>0]&4|0)==0?(k[(k[f>>2]|0)+12>>2]|0)>>>0>0:0)BR(k[h>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8>>2]=k[h>>2];h=pu(k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[(k[f>>2]|0)+16>>2]=h;h=(k[f>>2]|0)+25|0;i[h>>0]=l[h>>0]|4;k[e>>2]=k[g>>2];h=k[e>>2]|0;r=j;return h|0}function uA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c;e=c+4|0;k[d>>2]=a;i[e>>0]=b;i[(k[d>>2]|0)+24>>0]=i[e>>0]|0;k[(k[d>>2]|0)+16>>2]=0;r=c;return}function vA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((l[(k[b>>2]|0)+25>>0]|0)&4)){a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}bg(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+8>>2]|0);a=(k[b>>2]|0)+25|0;i[a>>0]=(l[a>>0]|0)&-5;a=k[b>>2]|0;a=a+8|0;k[a>>2]=0;r=c;return}function wA(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=(k[b>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+-1;k[c>>2]=0;k[d>>2]=(k[b>>2]|0)+124;while(1){if((k[c>>2]|0)>=10)break;if((k[(k[d>>2]|0)+12>>2]|0)!=0?(k[(k[d>>2]|0)+8>>2]|0)>(k[(k[b>>2]|0)+108>>2]|0):0){xA(k[b>>2]|0,k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+20}r=e;return}function xA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(i[(k[d>>2]|0)+6>>0]|0)){r=e;return}if((l[(k[c>>2]|0)+19>>0]|0)<8){b=k[(k[d>>2]|0)+12>>2]|0;f=(k[c>>2]|0)+19|0;a=i[f>>0]|0;i[f>>0]=a+1<<24>>24;k[(k[c>>2]|0)+28+((a&255)<<2)>>2]=b}i[(k[d>>2]|0)+6>>0]=0;r=e;return}function yA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function zA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;j=r;r=r+32|0;e=j+20|0;m=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[m>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];a=Dy(k[h>>2]|0,k[m>>2]|0,0)|0;k[i>>2]=a;if(l[(k[h>>2]|0)+69>>0]|0){a=k[h>>2]|0;m=k[i>>2]|0;nv(a,m);r=j;return}$A(k[e>>2]|0,k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=k[h>>2]|0;m=k[i>>2]|0;nv(a,m);r=j;return}function AA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;e=f+4|0;g=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+64>>2];k[g>>2]=k[(k[c>>2]|0)+60>>2];if((k[d>>2]|0)<=(k[g>>2]|0)){g=(k[c>>2]|0)+64|0;k[g>>2]=(k[g>>2]|0)+(k[d>>2]|0);g=(k[c>>2]|0)+60|0;k[g>>2]=(k[g>>2]|0)-(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}else{k[e>>2]=(k[(k[c>>2]|0)+76>>2]|0)+1;g=(k[c>>2]|0)+76|0;k[g>>2]=(k[g>>2]|0)+(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}return 0}function BA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;m=n+20|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;j[m>>1]=j[(k[(k[g>>2]|0)+4>>2]|0)+(k[i>>2]<<1)>>1]|0;if((j[m>>1]|0)==-2){k[(k[f>>2]|0)+104>>2]=k[h>>2];IA(k[f>>2]|0,k[(k[(k[(k[g>>2]|0)+40>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[l>>2]|0);r=n;return}else{JA(k[(k[f>>2]|0)+8>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,j[m>>1]|0,k[l>>2]|0);r=n;return}}function CA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+4|0;d=e;f=e+8|0;k[d>>2]=a;i[f>>0]=b;if(((k[(k[d>>2]|0)+32>>2]|0)-1|0)>(k[(k[(k[d>>2]|0)+24>>2]|0)+96>>2]|0)?(l[(k[(k[d>>2]|0)+4>>2]|0)+(((k[(k[d>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(l[f>>0]|0|0):0){f=FA(k[d>>2]|0,(k[(k[d>>2]|0)+32>>2]|0)-1|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=e;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}function DA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;EA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if((k[f>>2]|0)<=(k[(k[d>>2]|0)+60>>2]|0)){r=g;return}k[(k[d>>2]|0)+60>>2]=k[f>>2];k[(k[d>>2]|0)+64>>2]=k[e>>2];r=g;return}function EA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;d=j+24|0;e=j+20|0;l=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[d>>2]=a;k[e>>2]=b;k[l>>2]=c;k[g>>2]=(k[e>>2]|0)+(k[l>>2]|0)-1;k[f>>2]=0;k[h>>2]=(k[d>>2]|0)+124;while(1){if((k[f>>2]|0)>=10)break;k[i>>2]=k[(k[h>>2]|0)+12>>2];if((k[i>>2]|0)>=(k[e>>2]|0)?(k[i>>2]|0)<=(k[g>>2]|0):0){xA(k[d>>2]|0,k[h>>2]|0);k[(k[h>>2]|0)+12>>2]=0}k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}r=j;return}function FA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(i[(k[k[d>>2]>>2]|0)+69>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{k[f>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0);GA(k[k[d>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0;i[k[f>>2]>>0]=-96;k[c>>2]=1;f=k[c>>2]|0;r=g;return f|0}return 0}function GA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;e=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[e>>2]|0)){r=h;return}switch(k[d>>2]|0){case -20:{HA(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(k[(k[f>>2]|0)+456>>2]|0){r=h;return}fA(k[e>>2]|0);r=h;return}case -11:{if(k[(k[f>>2]|0)+456>>2]|0){r=h;return}Ud(k[e>>2]|0);r=h;return}case -5:{HA(k[f>>2]|0,k[e>>2]|0);r=h;return}case -8:{d=k[e>>2]|0;if(!(k[(k[f>>2]|0)+456>>2]|0)){lh(d);r=h;return}k[g>>2]=d;if(k[(k[g>>2]|0)+24>>2]|0)bg(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0);bg(k[f>>2]|0,k[g>>2]|0);r=h;return}case -10:{if(k[(k[f>>2]|0)+456>>2]|0){r=h;return}xu(k[e>>2]|0);r=h;return}default:{r=h;return}}bg(k[f>>2]|0,k[e>>2]|0);r=h;return}function HA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}if(!((m[(k[d>>2]|0)+2>>1]|0)&16)){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}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;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];c=Dy(k[g>>2]|0,k[e>>2]|0,0)|0;k[e>>2]=c;if(i[(k[g>>2]|0)+69>>0]|0){a=k[g>>2]|0;c=k[e>>2]|0;nv(a,c);r=h;return}NA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);a=k[g>>2]|0;c=k[e>>2]|0;nv(a,c);r=h;return}function JA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;m=p+8|0;n=p+4|0;o=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;if((k[i>>2]|0)>=0?(k[i>>2]|0)!=(j[(k[g>>2]|0)+32>>1]|0):0){k[n>>2]=(l[(k[g>>2]|0)+42>>0]&16|0)!=0?153:47;k[o>>2]=k[i>>2];if(l[(k[g>>2]|0)+42>>0]&32){a=Rj(k[g>>2]|0)|0;a=(KA(a,k[i>>2]&65535)|0)<<16>>16;k[o>>2]=a}jx(k[f>>2]|0,k[n>>2]|0,k[h>>2]|0,k[o>>2]|0,k[m>>2]|0)|0}else fx(k[f>>2]|0,103,k[h>>2]|0,k[m>>2]|0)|0;if((k[i>>2]|0)<0){r=p;return}LA(k[f>>2]|0,k[g>>2]|0,k[i>>2]|0,k[m>>2]|0);r=p;return}function KA(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+10|0;c=g+4|0;d=g+8|0;e=g;k[c>>2]=a;j[d>>1]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[c>>2]|0)+52>>1]|0)){b=6;break}a=k[e>>2]|0;if((j[d>>1]|0)==(j[(k[(k[c>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){j[f>>1]=a;f=j[f>>1]|0;r=g;return f|0}else if((b|0)==6){j[f>>1]=-1;f=j[f>>1]|0;r=g;return f|0}return 0}function LA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n+24|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[m>>2]=0;a=(MA(k[e>>2]|0)|0)+66|0;i[j>>0]=i[a>>0]|0;k[l>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4);a=MA(k[e>>2]|0)|0;tx(a,k[(k[l>>2]|0)+4>>2]|0,i[j>>0]|0,i[(k[l>>2]|0)+13>>0]|0,m)|0;if(k[m>>2]|0)Uh(k[e>>2]|0,-1,k[m>>2]|0,-8);if((i[(k[(k[f>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+13>>0]|0)!=69){r=n;return}Nz(k[e>>2]|0,39,k[h>>2]|0)|0;r=n;return}function MA(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function NA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)!=0?(l[k[e>>2]>>0]|0|0)==157:0){fx(k[(k[d>>2]|0)+8>>2]|0,30,k[(k[e>>2]|0)+28>>2]|0,k[f>>2]|0)|0;r=h;return}c=OA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)==(k[f>>2]|0)){r=h;return}if(!(k[(k[d>>2]|0)+8>>2]|0)){r=h;return}fx(k[(k[d>>2]|0)+8>>2]|0,31,k[g>>2]|0,k[f>>2]|0)|0;r=h;return}function OA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0;ka=r;r=r+320|0;C=ka+16|0;G=ka+8|0;B=ka;ba=ka+300|0;ca=ka+296|0;I=ka+292|0;da=ka+288|0;ia=ka+284|0;n=ka+280|0;ea=ka+276|0;fa=ka+272|0;ga=ka+268|0;Q=ka+264|0;y=ka+260|0;z=ka+256|0;A=ka+252|0;K=ka+248|0;T=ka+200|0;p=ka+196|0;q=ka+192|0;g=ka+188|0;h=ka+184|0;D=ka+180|0;E=ka+176|0;u=ka+172|0;d=ka+168|0;s=ka+164|0;S=ka+160|0;R=ka+156|0;P=ka+152|0;H=ka+148|0;J=ka+144|0;N=ka+140|0;F=ka+305|0;O=ka+136|0;L=ka+132|0;M=ka+304|0;e=ka+128|0;f=ka+124|0;v=ka+120|0;t=ka+116|0;w=ka+112|0;x=ka+108|0;o=ka+104|0;V=ka+100|0;Y=ka+96|0;X=ka+92|0;W=ka+88|0;_=ka+84|0;U=ka+80|0;Z=ka+32|0;aa=ka+24|0;$=ka+20|0;k[ca>>2]=a;k[I>>2]=b;k[da>>2]=c;k[ia>>2]=k[(k[ca>>2]|0)+8>>2];k[ea>>2]=k[da>>2];k[fa>>2]=0;k[ga>>2]=0;k[K>>2]=k[k[ca>>2]>>2];if(!(k[ia>>2]|0)){k[ba>>2]=0;ja=k[ba>>2]|0;r=ka;return ja|0}if(!(k[I>>2]|0))k[n>>2]=101;else k[n>>2]=l[k[I>>2]>>0];a:do switch(k[n>>2]|0){case 154:{k[p>>2]=k[(k[I>>2]|0)+40>>2];k[q>>2]=(k[(k[p>>2]|0)+28>>2]|0)+((j[(k[I>>2]|0)+34>>1]|0)*24|0);if(!(i[k[p>>2]>>0]|0)){k[ea>>2]=k[(k[q>>2]|0)+16>>2];break a}if(i[(k[p>>2]|0)+1>>0]|0)jx(k[ia>>2]|0,47,k[(k[p>>2]|0)+8>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[da>>2]|0)|0;else ja=11;break}case 152:{ja=11;break}case 132:{QA(k[ca>>2]|0,k[I>>2]|0,0,k[da>>2]|0);break}case 133:{RA(k[ia>>2]|0,k[(k[I>>2]|0)+8>>2]|0,0,k[da>>2]|0);break}case 97:{hx(k[ia>>2]|0,k[da>>2]|0,k[(k[I>>2]|0)+8>>2]|0)|0;break}case 101:{fx(k[ia>>2]|0,25,0,k[da>>2]|0)|0;break}case 134:{k[D>>2]=(k[(k[I>>2]|0)+8>>2]|0)+2;aa=(Tf(k[D>>2]|0)|0)-1|0;k[h>>2]=aa;aa=Ex(MA(k[ia>>2]|0)|0,k[D>>2]|0,k[h>>2]|0)|0;k[E>>2]=aa;ix(k[ia>>2]|0,27,(k[h>>2]|0)/2|0,k[da>>2]|0,0,k[E>>2]|0,-1)|0;break}case 135:{fx(k[ia>>2]|0,28,j[(k[I>>2]|0)+32>>1]|0,k[da>>2]|0)|0;if(i[(k[(k[I>>2]|0)+8>>2]|0)+1>>0]|0)Uh(k[ia>>2]|0,-1,k[(k[(k[ca>>2]|0)+476>>2]|0)+((j[(k[I>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{k[ea>>2]=k[(k[I>>2]|0)+28>>2];break}case 38:{aa=OA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[da>>2]|0)|0;k[ea>>2]=aa;if((k[ea>>2]|0)!=(k[da>>2]|0)){fx(k[ia>>2]|0,31,k[ea>>2]|0,k[da>>2]|0)|0;k[ea>>2]=k[da>>2]}fx(k[ia>>2]|0,40,k[da>>2]|0,(zx(k[(k[I>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;SA(k[ca>>2]|0,k[ea>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{ia=TA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=ia;ia=TA(k[ca>>2]|0,k[(k[I>>2]|0)+16>>2]|0,ga)|0;k[y>>2]=ia;UA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[(k[I>>2]|0)+16>>2]|0,k[n>>2]|0,k[Q>>2]|0,k[y>>2]|0,k[ea>>2]|0,32)|0;break}case 148:case 73:{ia=TA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=ia;ia=TA(k[ca>>2]|0,k[(k[I>>2]|0)+16>>2]|0,ga)|0;k[y>>2]=ia;k[n>>2]=(k[n>>2]|0)==73?79:78;UA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[(k[I>>2]|0)+16>>2]|0,k[n>>2]|0,k[Q>>2]|0,k[y>>2]|0,k[ea>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{aa=TA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=aa;aa=TA(k[ca>>2]|0,k[(k[I>>2]|0)+16>>2]|0,ga)|0;k[y>>2]=aa;jx(k[ia>>2]|0,k[n>>2]|0,k[y>>2]|0,k[Q>>2]|0,k[da>>2]|0)|0;break}case 155:{k[u>>2]=k[(k[I>>2]|0)+12>>2];do if((l[k[u>>2]>>0]|0)!=132)if((l[k[u>>2]>>0]|0)==133){RA(k[ia>>2]|0,k[(k[u>>2]|0)+8>>2]|0,1,k[da>>2]|0);break}else{i[T>>0]=-124;k[T+4>>2]=17408;k[T+8>>2]=0;aa=TA(k[ca>>2]|0,T,fa)|0;k[Q>>2]=aa;aa=TA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,ga)|0;k[y>>2]=aa;jx(k[ia>>2]|0,90,k[y>>2]|0,k[Q>>2]|0,k[da>>2]|0)|0;break}else QA(k[ca>>2]|0,k[u>>2]|0,1,k[da>>2]|0);while(0);k[ea>>2]=k[da>>2];break}case 19:case 96:{aa=TA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=aa;k[ea>>2]=k[da>>2];fx(k[ia>>2]|0,k[n>>2]|0,k[Q>>2]|0,k[ea>>2]|0)|0;break}case 77:case 76:{fx(k[ia>>2]|0,22,1,k[da>>2]|0)|0;aa=TA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,fa)|0;k[Q>>2]=aa;aa=Nz(k[ia>>2]|0,k[n>>2]|0,k[Q>>2]|0)|0;k[d>>2]=aa;fx(k[ia>>2]|0,22,0,k[da>>2]|0)|0;Vz(k[ia>>2]|0,k[d>>2]|0);break}case 153:{k[s>>2]=k[(k[I>>2]|0)+40>>2];if(!(k[s>>2]|0)){ia=k[ca>>2]|0;k[B>>2]=k[(k[I>>2]|0)+8>>2];Mh(ia,31655,B);break a}else{k[ea>>2]=k[(k[(k[s>>2]|0)+40>>2]|0)+(j[(k[I>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{k[J>>2]=0;i[F>>0]=i[(k[K>>2]|0)+66>>0]|0;k[O>>2]=0;if(k[(k[I>>2]|0)+4>>2]&16384)k[S>>2]=0;else k[S>>2]=k[(k[I>>2]|0)+20>>2];if(k[S>>2]|0)d=k[k[S>>2]>>2]|0;else d=0;k[R>>2]=d;k[H>>2]=k[(k[I>>2]|0)+8>>2];aa=si(k[K>>2]|0,k[H>>2]|0,k[R>>2]|0,i[F>>0]|0,0)|0;k[P>>2]=aa;if((k[P>>2]|0)!=0?(k[(k[P>>2]|0)+16>>2]|0)==0:0){if(m[(k[P>>2]|0)+2>>1]&512){aa=Sz(k[ia>>2]|0)|0;k[L>>2]=aa;NA(k[ca>>2]|0,k[k[(k[S>>2]|0)+4>>2]>>2]|0,k[da>>2]|0);k[N>>2]=1;while(1){d=k[ia>>2]|0;if((k[N>>2]|0)>=(k[R>>2]|0))break;fx(d,77,k[da>>2]|0,k[L>>2]|0)|0;EA(k[ca>>2]|0,k[da>>2]|0,1);yA(k[ca>>2]|0);NA(k[ca>>2]|0,k[(k[(k[S>>2]|0)+4>>2]|0)+((k[N>>2]|0)*20|0)>>2]|0,k[da>>2]|0);wA(k[ca>>2]|0);k[N>>2]=(k[N>>2]|0)+1}Wz(d,k[L>>2]|0);break a}if(m[(k[P>>2]|0)+2>>1]&1024){ia=OA(k[ca>>2]|0,k[k[(k[S>>2]|0)+4>>2]>>2]|0,k[da>>2]|0)|0;k[ea>>2]=ia;break a}k[N>>2]=0;while(1){if((k[N>>2]|0)>=(k[R>>2]|0))break;if((k[N>>2]|0)<32?(VA(k[(k[(k[S>>2]|0)+4>>2]|0)+((k[N>>2]|0)*20|0)>>2]|0)|0)!=0:0)k[J>>2]=k[J>>2]|1<>2];if(!((k[O>>2]|0)!=0?1:(m[(k[P>>2]|0)+2>>1]&32|0)==0)){aa=cy(k[ca>>2]|0,k[(k[(k[S>>2]|0)+4>>2]|0)+((k[N>>2]|0)*20|0)>>2]|0)|0;k[O>>2]=aa}k[N>>2]=(k[N>>2]|0)+1}if(k[S>>2]|0){d=k[ca>>2]|0;if(k[J>>2]|0){k[Q>>2]=(k[d+76>>2]|0)+1;aa=(k[ca>>2]|0)+76|0;k[aa>>2]=(k[aa>>2]|0)+(k[R>>2]|0)}else{aa=AA(d,k[R>>2]|0)|0;k[Q>>2]=aa}do if(m[(k[P>>2]|0)+2>>1]&192){i[M>>0]=i[k[k[(k[S>>2]|0)+4>>2]>>2]>>0]|0;if((l[M>>0]|0)!=152?(l[M>>0]|0)!=154:0)break;i[(k[k[(k[S>>2]|0)+4>>2]>>2]|0)+38>>0]=m[(k[P>>2]|0)+2>>1]&192}while(0);yA(k[ca>>2]|0);WA(k[ca>>2]|0,k[S>>2]|0,k[Q>>2]|0,0,3)|0;wA(k[ca>>2]|0)}else k[Q>>2]=0;if((k[R>>2]|0)>=2?(k[(k[I>>2]|0)+4>>2]&128|0)!=0:0){aa=XA(k[K>>2]|0,k[P>>2]|0,k[R>>2]|0,k[(k[(k[S>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[P>>2]=aa}else ja=77;if((ja|0)==77?(k[R>>2]|0)>0:0){aa=XA(k[K>>2]|0,k[P>>2]|0,k[R>>2]|0,k[k[(k[S>>2]|0)+4>>2]>>2]|0)|0;k[P>>2]=aa}if(m[(k[P>>2]|0)+2>>1]&32){if(!(k[O>>2]|0))k[O>>2]=k[(k[K>>2]|0)+8>>2];ix(k[ia>>2]|0,34,0,0,0,k[O>>2]|0,-4)|0}ix(k[ia>>2]|0,35,k[J>>2]|0,k[Q>>2]|0,k[da>>2]|0,k[P>>2]|0,-5)|0;Rh(k[ia>>2]|0,k[R>>2]&255);if(!((k[R>>2]|0)!=0&(k[J>>2]|0)==0))break a;DA(k[ca>>2]|0,k[Q>>2]|0,k[R>>2]|0);break a}ia=k[ca>>2]|0;k[G>>2]=k[H>>2];Mh(ia,31681,G);break}case 119:case 20:{ia=YA(k[ca>>2]|0,k[I>>2]|0,0,0)|0;k[ea>>2]=ia;break}case 75:{aa=Sz(k[ia>>2]|0)|0;k[e>>2]=aa;aa=Sz(k[ia>>2]|0)|0;k[f>>2]=aa;fx(k[ia>>2]|0,25,0,k[da>>2]|0)|0;ZA(k[ca>>2]|0,k[I>>2]|0,k[e>>2]|0,k[f>>2]|0);fx(k[ia>>2]|0,22,1,k[da>>2]|0)|0;Wz(k[ia>>2]|0,k[e>>2]|0);fx(k[ia>>2]|0,37,k[da>>2]|0,0)|0;Wz(k[ia>>2]|0,k[f>>2]|0);break}case 74:{k[v>>2]=k[(k[I>>2]|0)+12>>2];k[t>>2]=k[(k[(k[I>>2]|0)+20>>2]|0)+4>>2];k[w>>2]=k[k[t>>2]>>2];aa=TA(k[ca>>2]|0,k[v>>2]|0,fa)|0;k[Q>>2]=aa;aa=TA(k[ca>>2]|0,k[w>>2]|0,ga)|0;k[y>>2]=aa;aa=kA(k[ca>>2]|0)|0;k[z>>2]=aa;aa=kA(k[ca>>2]|0)|0;k[A>>2]=aa;UA(k[ca>>2]|0,k[v>>2]|0,k[w>>2]|0,83,k[Q>>2]|0,k[y>>2]|0,k[z>>2]|0,32)|0;k[t>>2]=(k[t>>2]|0)+20;k[w>>2]=k[k[t>>2]>>2];oA(k[ca>>2]|0,k[ga>>2]|0);aa=TA(k[ca>>2]|0,k[w>>2]|0,ga)|0;k[y>>2]=aa;UA(k[ca>>2]|0,k[v>>2]|0,k[w>>2]|0,81,k[Q>>2]|0,k[y>>2]|0,k[A>>2]|0,32)|0;jx(k[ia>>2]|0,72,k[z>>2]|0,k[A>>2]|0,k[da>>2]|0)|0;oA(k[ca>>2]|0,k[z>>2]|0);oA(k[ca>>2]|0,k[A>>2]|0);break}case 156:case 95:case 159:{ia=OA(k[ca>>2]|0,k[(k[I>>2]|0)+12>>2]|0,k[da>>2]|0)|0;k[ea>>2]=ia;break}case 62:{k[x>>2]=k[(k[I>>2]|0)+44>>2];aa=(ha(k[(k[I>>2]|0)+28>>2]|0,(j[(k[x>>2]|0)+34>>1]|0)+1|0)|0)+1|0;k[o>>2]=aa+(j[(k[I>>2]|0)+32>>1]|0);fx(k[ia>>2]|0,134,k[o>>2]|0,k[da>>2]|0)|0;if((j[(k[I>>2]|0)+32>>1]|0)>=0?(i[(k[(k[x>>2]|0)+4>>2]|0)+(j[(k[I>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Nz(k[ia>>2]|0,39,k[da>>2]|0)|0;break}case 57:{if(!(k[(k[ca>>2]|0)+420>>2]|0)){Mh(k[ca>>2]|0,31704,C);k[ba>>2]=0;ja=k[ba>>2]|0;r=ka;return ja|0}if((i[(k[I>>2]|0)+1>>0]|0)==2)Rx(k[ca>>2]|0);if((i[(k[I>>2]|0)+1>>0]|0)==4){ix(k[ia>>2]|0,21,0,4,0,k[(k[I>>2]|0)+8>>2]|0,0)|0;break a}else{rA(k[ca>>2]|0,1811,i[(k[I>>2]|0)+1>>0]|0,k[(k[I>>2]|0)+8>>2]|0,0,0);break a}}default:{k[$>>2]=0;k[_>>2]=k[(k[I>>2]|0)+20>>2];k[U>>2]=k[(k[_>>2]|0)+4>>2];k[X>>2]=k[k[_>>2]>>2];S=Sz(k[ia>>2]|0)|0;k[V>>2]=S;S=k[(k[I>>2]|0)+12>>2]|0;k[aa>>2]=S;if(S){d=T;e=k[aa>>2]|0;f=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));_A(T,TA(k[ca>>2]|0,k[aa>>2]|0,fa)|0);i[Z>>0]=79;k[Z+12>>2]=T;k[$>>2]=Z;k[fa>>2]=0}k[W>>2]=0;while(1){if((k[W>>2]|0)>=((k[X>>2]|0)-1|0))break;yA(k[ca>>2]|0);d=k[(k[U>>2]|0)+((k[W>>2]|0)*20|0)>>2]|0;if(k[aa>>2]|0)k[Z+16>>2]=d;else k[$>>2]=d;T=Sz(k[ia>>2]|0)|0;k[Y>>2]=T;$A(k[ca>>2]|0,k[$>>2]|0,k[Y>>2]|0,16);NA(k[ca>>2]|0,k[(k[U>>2]|0)+(((k[W>>2]|0)+1|0)*20|0)>>2]|0,k[da>>2]|0);Uz(k[ia>>2]|0,k[V>>2]|0)|0;wA(k[ca>>2]|0);Wz(k[ia>>2]|0,k[Y>>2]|0);k[W>>2]=(k[W>>2]|0)+2}if(k[X>>2]&1){yA(k[ca>>2]|0);NA(k[ca>>2]|0,k[(k[(k[_>>2]|0)+4>>2]|0)+(((k[X>>2]|0)-1|0)*20|0)>>2]|0,k[da>>2]|0);wA(k[ca>>2]|0)}else fx(k[ia>>2]|0,25,0,k[da>>2]|0)|0;Wz(k[ia>>2]|0,k[V>>2]|0)}}while(0);b:do if((ja|0)==11){k[g>>2]=k[(k[I>>2]|0)+28>>2];do if((k[g>>2]|0)<0)if((k[(k[ca>>2]|0)+100>>2]|0)>0){k[ea>>2]=(j[(k[I>>2]|0)+32>>1]|0)+(k[(k[ca>>2]|0)+100>>2]|0);break b}else{k[g>>2]=k[(k[ca>>2]|0)+104>>2];break}while(0);ja=PA(k[ca>>2]|0,k[(k[I>>2]|0)+44>>2]|0,j[(k[I>>2]|0)+32>>1]|0,k[g>>2]|0,k[da>>2]|0,i[(k[I>>2]|0)+38>>0]|0)|0;k[ea>>2]=ja}while(0);oA(k[ca>>2]|0,k[fa>>2]|0);oA(k[ca>>2]|0,k[ga>>2]|0);k[ba>>2]=k[ea>>2];ja=k[ba>>2]|0;r=ka;return ja|0}function PA(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;g=v+32|0;h=v+28|0;l=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+36|0;t=v+8|0;q=v+4|0;s=v;k[h>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;i[p>>0]=f;k[t>>2]=k[(k[h>>2]|0)+8>>2];k[q>>2]=0;k[s>>2]=(k[h>>2]|0)+124;while(1){if((k[q>>2]|0)>=10)break;if(((k[(k[s>>2]|0)+12>>2]|0)>0?(k[k[s>>2]>>2]|0)==(k[n>>2]|0):0)?(j[(k[s>>2]|0)+4>>1]|0)==(k[m>>2]|0):0){u=6;break}k[q>>2]=(k[q>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}if((u|0)==6){t=(k[h>>2]|0)+112|0;u=k[t>>2]|0;k[t>>2]=u+1;k[(k[s>>2]|0)+16>>2]=u;vB(k[h>>2]|0,k[(k[s>>2]|0)+12>>2]|0);k[g>>2]=k[(k[s>>2]|0)+12>>2];u=k[g>>2]|0;r=v;return u|0}JA(k[t>>2]|0,k[l>>2]|0,k[n>>2]|0,k[m>>2]|0,k[o>>2]|0);if(i[p>>0]|0)Rh(k[t>>2]|0,i[p>>0]|0);else wB(k[h>>2]|0,k[n>>2]|0,k[m>>2]|0,k[o>>2]|0);k[g>>2]=k[o>>2];u=k[g>>2]|0;r=v;return u|0}function QA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;m=o+8|0;e=o+40|0;p=o+36|0;f=o+32|0;g=o+28|0;j=o+24|0;i=o+20|0;h=o+16|0;l=o;n=o+12|0;k[e>>2]=a;k[p>>2]=b;k[f>>2]=c;k[g>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];d=(k[p>>2]|0)+8|0;if(k[(k[p>>2]|0)+4>>2]&1024){k[i>>2]=k[d>>2];if(k[f>>2]|0)k[i>>2]=0-(k[i>>2]|0);fx(k[j>>2]|0,22,k[i>>2]|0,k[g>>2]|0)|0;r=o;return}k[n>>2]=k[d>>2];p=Pi(k[n>>2]|0,l)|0;k[h>>2]=p;if((k[h>>2]|0)!=0?!((k[h>>2]|0)==2&(k[f>>2]|0)!=0):0)if(!(Jd(k[n>>2]|0,31803,2)|0)){p=k[e>>2]|0;k[m>>2]=k[n>>2];Mh(p,31806,m);r=o;return}else{RA(k[j>>2]|0,k[n>>2]|0,k[f>>2]|0,k[g>>2]|0);r=o;return}if(k[f>>2]|0){n=(k[h>>2]|0)==2;m=l;m=yR(0,0,k[m>>2]|0,k[m+4>>2]|0)|0;p=l;k[p>>2]=n?0:m;k[p+4>>2]=n?-2147483648:L}uB(k[j>>2]|0,23,0,k[g>>2]|0,0,l,-13)|0;r=o;return}function RA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}b=k[f>>2]|0;_y(b,i,Tf(k[f>>2]|0)|0,1)|0;if(k[g>>2]|0)p[i>>3]=-+p[i>>3];uB(k[e>>2]|0,133,0,k[h>>2]|0,0,i,-12)|0;r=j;return}function SA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;EA(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function TA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;n=p+16|0;i=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=hy(k[f>>2]|0)|0;k[f>>2]=c;if(((l[(k[e>>2]|0)+23>>0]|0|0)!=0?(l[k[f>>2]>>0]|0|0)!=157:0)?(tB(k[f>>2]|0)|0)!=0:0){k[i>>2]=k[(k[e>>2]|0)+324>>2];k[k[g>>2]>>2]=0;a:do if(k[i>>2]|0){k[j>>2]=k[(k[i>>2]|0)+4>>2];k[h>>2]=k[k[i>>2]>>2];while(1){if((k[h>>2]|0)<=0)break a;if(((l[(k[j>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(Fy(k[k[j>>2]>>2]|0,k[f>>2]|0,-1)|0)==0:0)break;k[j>>2]=(k[j>>2]|0)+20;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=k[(k[j>>2]|0)+16>>2];o=k[d>>2]|0;r=p;return o|0}while(0);c=(k[e>>2]|0)+76|0;m=(k[c>>2]|0)+1|0;k[c>>2]=m;k[n>>2]=m;oB(k[e>>2]|0,k[f>>2]|0,k[n>>2]|0,1)}else o=12;do if((o|0)==12){o=kA(k[e>>2]|0)|0;k[m>>2]=o;o=OA(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0)|0;k[n>>2]=o;if((k[n>>2]|0)==(k[m>>2]|0)){k[k[g>>2]>>2]=k[m>>2];break}else{oA(k[e>>2]|0,k[m>>2]|0);k[k[g>>2]>>2]=0;break}}while(0);k[d>>2]=k[n>>2];o=k[d>>2]|0;r=p;return o|0}function UA(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;j=r;r=r+48|0;m=j+40|0;v=j+36|0;u=j+32|0;s=j+28|0;o=j+24|0;q=j+20|0;p=j+16|0;t=j+12|0;l=j+8|0;i=j+4|0;n=j;k[m>>2]=a;k[v>>2]=b;k[u>>2]=c;k[s>>2]=d;k[o>>2]=e;k[q>>2]=f;k[p>>2]=g;k[t>>2]=h;c=jB(k[m>>2]|0,k[v>>2]|0,k[u>>2]|0)|0;k[n>>2]=c;c=(sB(k[v>>2]|0,k[u>>2]|0,k[t>>2]|0)|0)&255;k[l>>2]=c;c=ix(k[(k[m>>2]|0)+8>>2]|0,k[s>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0,-4)|0;k[i>>2]=c;Rh(k[(k[m>>2]|0)+8>>2]|0,k[l>>2]&255);r=j;return k[i>>2]|0}function VA(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=pB(k[c>>2]|0,1,0)|0;r=b;return a|0}function WA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;f=z+44|0;g=z+40|0;h=z+36|0;j=z+32|0;n=z+49|0;v=z+28|0;p=z+24|0;s=z+20|0;t=z+16|0;o=z+48|0;x=z+12|0;u=z+8|0;q=z+4|0;w=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;i[n>>0]=e;i[o>>0]=(l[n>>0]&1|0)!=0?30:31;k[x>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[k[g>>2]>>2];if(!(i[(k[f>>2]|0)+23>>0]|0))i[n>>0]=l[n>>0]&-3;k[v>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[t>>2]|0))break;k[u>>2]=k[k[v>>2]>>2];if((l[n>>0]&4|0)!=0?(c=m[(k[(k[g>>2]|0)+4>>2]|0)+((k[p>>2]|0)*20|0)+16>>1]|0,k[s>>2]=c,(c|0)>0):0)fx(k[x>>2]|0,l[o>>0]|0,(k[s>>2]|0)+(k[j>>2]|0)-1|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((l[n>>0]&2|0)!=0?(VA(k[u>>2]|0)|0)!=0:0){oB(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0,0);break}c=OA(k[f>>2]|0,k[u>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0;k[q>>2]=c;if((k[q>>2]|0)!=((k[h>>2]|0)+(k[p>>2]|0)|0)){if((((l[o>>0]|0)==30?(c=aA(k[x>>2]|0,-1)|0,k[w>>2]=c,(l[c>>0]|0)==30):0)?((k[(k[w>>2]|0)+4>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==(k[q>>2]|0):0)?((k[(k[w>>2]|0)+8>>2]|0)+(k[(k[w>>2]|0)+12>>2]|0)+1|0)==((k[h>>2]|0)+(k[p>>2]|0)|0):0){c=(k[w>>2]|0)+12|0;k[c>>2]=(k[c>>2]|0)+1;break}fx(k[x>>2]|0,l[o>>0]|0,k[q>>2]|0,(k[h>>2]|0)+(k[p>>2]|0)|0)|0}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[v>>2]=(k[v>>2]|0)+20}r=z;return k[t>>2]|0}function XA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+56|0;f=z+52|0;g=z+48|0;h=z+44|0;n=z+40|0;t=z+36|0;u=z+32|0;q=z+28|0;w=z+24|0;p=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;o=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[w>>2]=0;k[p>>2]=0;k[v>>2]=0;if(!(k[n>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}if((l[k[n>>2]>>0]|0)!=152){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}k[t>>2]=k[(k[n>>2]|0)+44>>2];if(!(k[t>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}if(!(l[(k[t>>2]|0)+42>>0]&16)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}t=(Qx(k[f>>2]|0,k[t>>2]|0)|0)+8|0;k[u>>2]=k[t>>2];k[q>>2]=k[k[u>>2]>>2];if(!(k[(k[q>>2]|0)+72>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}t=zh(k[f>>2]|0,k[(k[g>>2]|0)+20>>2]|0)|0;k[y>>2]=t;if(k[y>>2]|0){k[x>>2]=k[y>>2];while(1){if(!(i[k[x>>2]>>0]|0))break;i[k[x>>2]>>0]=i[18221+(l[k[x>>2]>>0]|0)>>0]|0;k[x>>2]=(k[x>>2]|0)+1}q=k[(k[q>>2]|0)+72>>2]|0;t=k[u>>2]|0;u=k[h>>2]|0;x=k[y>>2]|0;k[o>>2]=w;x=hc[q&255](t,u,x,k[o>>2]|0,p)|0;k[v>>2]=x;bg(k[f>>2]|0,k[y>>2]|0)}if(!(k[v>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}y=k[f>>2]|0;y=Bh(y,28+(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0,0)|0;k[s>>2]=y;if(!(k[s>>2]|0)){k[e>>2]=k[g>>2];y=k[e>>2]|0;r=z;return y|0}else{x=k[s>>2]|0;y=k[g>>2]|0;k[x>>2]=k[y>>2];k[x+4>>2]=k[y+4>>2];k[x+8>>2]=k[y+8>>2];k[x+12>>2]=k[y+12>>2];k[x+16>>2]=k[y+16>>2];k[x+20>>2]=k[y+20>>2];k[x+24>>2]=k[y+24>>2];k[(k[s>>2]|0)+20>>2]=(k[s>>2]|0)+28;x=(k[s>>2]|0)+28|0;y=k[(k[g>>2]|0)+20>>2]|0;BR(x|0,y|0,(Tf(k[(k[g>>2]|0)+20>>2]|0)|0)+1|0)|0;k[(k[s>>2]|0)+12>>2]=k[w>>2];k[(k[s>>2]|0)+4>>2]=k[p>>2];y=(k[s>>2]|0)+2|0;j[y>>1]=m[y>>1]|16;k[e>>2]=k[s>>2];y=k[e>>2]|0;r=z;return y|0}return 0}function YA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+160|0;e=K;q=K+140|0;s=K+136|0;t=K+132|0;u=K+128|0;v=K+124|0;A=K+120|0;H=K+116|0;I=K+112|0;f=K+108|0;x=K+144|0;w=K+104|0;h=K+100|0;D=K+96|0;p=K+92|0;m=K+72|0;n=K+68|0;y=K+64|0;o=K+60|0;C=K+56|0;E=K+52|0;F=K+48|0;G=K+44|0;B=K+40|0;z=K+36|0;j=K+32|0;g=K+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[A>>2]=-1;k[H>>2]=0;c=dx(k[s>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[q>>2]=0;J=k[q>>2]|0;r=K;return J|0}yA(k[s>>2]|0);if(!(k[(k[t>>2]|0)+4>>2]&32)){c=iB(k[s>>2]|0)|0;k[A>>2]=c}if((l[(k[s>>2]|0)+453>>0]|0)==2){c=k[k[s>>2]>>2]|0;b=(l[k[t>>2]>>0]|0)==75?31766:31771;a=k[(k[s>>2]|0)+472>>2]|0;k[e>>2]=(k[A>>2]|0)>=0?19010:31754;k[e+4>>2]=b;k[e+8>>2]=a;e=Nh(c,31778,e)|0;k[f>>2]=e;ix(k[I>>2]|0,161,k[(k[s>>2]|0)+468>>2]|0,0,0,k[f>>2]|0,-1)|0}d=k[t>>2]|0;do if((l[k[t>>2]>>0]|0)==75){k[h>>2]=k[d+12>>2];k[D>>2]=0;h=by(k[h>>2]|0)|0;i[x>>0]=h;h=(k[s>>2]|0)+72|0;j=k[h>>2]|0;k[h>>2]=j+1;k[(k[t>>2]|0)+28>>2]=j;j=fx(k[I>>2]|0,57,k[(k[t>>2]|0)+28>>2]|0,((k[v>>2]|0)!=0^1)&1)|0;k[w>>2]=j;if(k[v>>2]|0)d=0;else d=eA(k[k[s>>2]>>2]|0,1,1)|0;k[D>>2]=d;d=(k[t>>2]|0)+20|0;do if(!(k[(k[t>>2]|0)+4>>2]&2048)){if(k[d>>2]|0){k[o>>2]=k[(k[t>>2]|0)+20>>2];if(!(i[x>>0]|0))i[x>>0]=65;if(k[D>>2]|0){p=cy(k[s>>2]|0,k[(k[t>>2]|0)+12>>2]|0)|0;k[(k[D>>2]|0)+20>>2]=p}p=kA(k[s>>2]|0)|0;k[E>>2]=p;p=kA(k[s>>2]|0)|0;k[F>>2]=p;if(k[v>>2]|0)fx(k[I>>2]|0,25,0,k[F>>2]|0)|0;k[y>>2]=k[k[o>>2]>>2];k[C>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[y>>2]|0)<=0)break;k[B>>2]=k[k[C>>2]>>2];if((k[A>>2]|0)>=0?(VA(k[B>>2]|0)|0)==0:0){FA(k[I>>2]|0,k[A>>2]|0)|0;k[A>>2]=-1}if((k[v>>2]|0)!=0?(Ay(k[B>>2]|0,z)|0)!=0:0)jx(k[I>>2]|0,84,k[(k[t>>2]|0)+28>>2]|0,k[F>>2]|0,k[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;d=OA(k[s>>2]|0,k[B>>2]|0,k[E>>2]|0)|0;k[G>>2]=d;d=k[I>>2]|0;b=k[G>>2]|0;if(k[v>>2]|0){fx(d,38,b,(Rz(k[I>>2]|0)|0)+2|0)|0;jx(k[I>>2]|0,75,k[(k[t>>2]|0)+28>>2]|0,k[F>>2]|0,k[G>>2]|0)|0;break}else{ix(d,49,b,1,k[F>>2]|0,x,1)|0;SA(k[s>>2]|0,k[G>>2]|0,1);fx(k[I>>2]|0,110,k[(k[t>>2]|0)+28>>2]|0,k[F>>2]|0)|0;break}}while(0);k[y>>2]=(k[y>>2]|0)+-1;k[C>>2]=(k[C>>2]|0)+20}oA(k[s>>2]|0,k[E>>2]|0);oA(k[s>>2]|0,k[F>>2]|0)}}else{k[p>>2]=k[d>>2];nB(m,11,k[(k[t>>2]|0)+28>>2]|0);i[m+1>>0]=i[x>>0]|0;k[(k[p>>2]|0)+12>>2]=0;if(!(Sv(k[s>>2]|0,k[p>>2]|0,m)|0)){k[n>>2]=k[k[p>>2]>>2];J=jB(k[s>>2]|0,k[(k[t>>2]|0)+12>>2]|0,k[k[(k[n>>2]|0)+4>>2]>>2]|0)|0;k[(k[D>>2]|0)+20>>2]=J;break}fA(k[D>>2]|0);k[q>>2]=0;J=k[q>>2]|0;r=K;return J|0}while(0);if(k[D>>2]|0)Uh(k[I>>2]|0,k[w>>2]|0,k[D>>2]|0,-6)}else{k[j>>2]=k[d+20>>2];G=(k[s>>2]|0)+76|0;J=(k[G>>2]|0)+1|0;k[G>>2]=J;nB(g,0,J);if((l[k[t>>2]>>0]|0)==119){i[g>>0]=10;k[g+8>>2]=k[g+4>>2];fx(k[I>>2]|0,25,0,k[g+4>>2]|0)|0}else{i[g>>0]=3;fx(k[I>>2]|0,22,0,k[g+4>>2]|0)|0}nv(k[k[s>>2]>>2]|0,k[(k[j>>2]|0)+56>>2]|0);J=Hv(k[s>>2]|0,132,0,0,5116)|0;k[(k[j>>2]|0)+56>>2]=J;k[(k[j>>2]|0)+12>>2]=0;J=(k[j>>2]|0)+8|0;k[J>>2]=k[J>>2]&-513;if(!(Sv(k[s>>2]|0,k[j>>2]|0,g)|0)){k[H>>2]=k[g+4>>2];break}k[q>>2]=0;J=k[q>>2]|0;r=K;return J|0}while(0);if(k[u>>2]|0)lB(k[I>>2]|0,k[(k[t>>2]|0)+28>>2]|0,k[u>>2]|0);if((k[A>>2]|0)>=0)Vz(k[I>>2]|0,k[A>>2]|0);wA(k[s>>2]|0);k[q>>2]=k[H>>2];J=k[q>>2]|0;r=K;return J|0}function ZA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+80|0;s=z+64|0;q=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;o=z+68|0;p=z+44|0;w=z+40|0;y=z+36|0;h=z+32|0;g=z+28|0;f=z+24|0;j=z+20|0;m=z+16|0;l=z+12|0;e=z+8|0;n=z+4|0;v=z;k[s>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[x>>2]=0;k[y>>2]=k[(k[s>>2]|0)+8>>2];c=dB(k[s>>2]|0,k[q>>2]|0,3,(k[t>>2]|0)==(k[u>>2]|0)?0:x)|0;k[p>>2]=c;c=eB(k[q>>2]|0)|0;i[o>>0]=c;yA(k[s>>2]|0);c=kA(k[s>>2]|0)|0;k[w>>2]=c;NA(k[s>>2]|0,k[(k[q>>2]|0)+12>>2]|0,k[w>>2]|0);c=k[q>>2]|0;if((k[p>>2]|0)!=5){do if(fB(k[c+12>>2]|0)|0){c=k[y>>2]|0;d=k[w>>2]|0;if((k[u>>2]|0)==(k[t>>2]|0)){fx(c,76,d,k[u>>2]|0)|0;break}else{m=Nz(c,77,d)|0;k[n>>2]=m;fx(k[y>>2]|0,108,k[(k[q>>2]|0)+28>>2]|0,k[t>>2]|0)|0;Uz(k[y>>2]|0,k[u>>2]|0)|0;Vz(k[y>>2]|0,k[n>>2]|0);break}}while(0);c=k[y>>2]|0;d=k[w>>2]|0;if((k[p>>2]|0)==1){fx(c,38,d,k[t>>2]|0)|0;jx(k[y>>2]|0,70,k[(k[q>>2]|0)+28>>2]|0,k[t>>2]|0,k[w>>2]|0)|0;x=k[s>>2]|0;y=k[w>>2]|0;oA(x,y);y=k[s>>2]|0;wA(y);r=z;return}ix(c,48,d,1,0,o,1)|0;d=k[y>>2]|0;c=k[(k[q>>2]|0)+28>>2]|0;if(!(k[x>>2]|0)){Qh(d,68,c,k[t>>2]|0,k[w>>2]|0,1)|0;x=k[s>>2]|0;y=k[w>>2]|0;oA(x,y);y=k[s>>2]|0;wA(y);r=z;return}else{q=Qh(d,69,c,0,k[w>>2]|0,1)|0;k[v>>2]=q;fx(k[y>>2]|0,76,k[x>>2]|0,k[u>>2]|0)|0;Uz(k[y>>2]|0,k[t>>2]|0)|0;Vz(k[y>>2]|0,k[v>>2]|0);x=k[s>>2]|0;y=k[w>>2]|0;oA(x,y);y=k[s>>2]|0;wA(y);r=z;return}}k[h>>2]=k[c+20>>2];x=cy(k[s>>2]|0,k[(k[q>>2]|0)+12>>2]|0)|0;k[g>>2]=x;x=Sz(k[y>>2]|0)|0;k[f>>2]=x;k[l>>2]=0;if((k[u>>2]|0)!=(k[t>>2]|0)){x=kA(k[s>>2]|0)|0;k[l>>2]=x;jx(k[y>>2]|0,85,k[w>>2]|0,k[w>>2]|0,k[l>>2]|0)|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break;x=TA(k[s>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,m)|0;k[j>>2]=x;if((k[l>>2]|0)!=0?(fB(k[(k[(k[h>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0)!=0:0)jx(k[y>>2]|0,85,k[l>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;if((k[e>>2]|0)>=((k[k[h>>2]>>2]|0)-1|0)?(k[u>>2]|0)==(k[t>>2]|0):0){ix(k[y>>2]|0,78,k[w>>2]|0,k[t>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;Rh(k[y>>2]|0,(i[o>>0]|16)&255)}else{ix(k[y>>2]|0,79,k[w>>2]|0,k[f>>2]|0,k[j>>2]|0,k[g>>2]|0,-4)|0;Rh(k[y>>2]|0,i[o>>0]|0)}oA(k[s>>2]|0,k[m>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(k[l>>2]|0){fx(k[y>>2]|0,76,k[l>>2]|0,k[u>>2]|0)|0;Uz(k[y>>2]|0,k[t>>2]|0)|0}Wz(k[y>>2]|0,k[f>>2]|0);oA(k[s>>2]|0,k[l>>2]|0);x=k[s>>2]|0;y=k[w>>2]|0;oA(x,y);y=k[s>>2]|0;wA(y);r=z;return}function _A(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+38>>0]=i[k[d>>2]>>0]|0;i[k[d>>2]>>0]=-99;k[(k[d>>2]|0)+28>>2]=k[e>>2];a=(k[d>>2]|0)+4|0;k[a>>2]=k[a>>2]&-4097;r=c;return}function $A(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;s=u+28|0;m=u+24|0;p=u+20|0;q=u+16|0;n=u+12|0;o=u+8|0;i=u+4|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[s>>2]=k[(k[e>>2]|0)+8>>2];k[m>>2]=0;k[p>>2]=0;k[q>>2]=0;if((k[s>>2]|0)==0|(k[f>>2]|0)==0){r=u;return}k[m>>2]=((l[k[f>>2]>>0]|0)+0^1)-0;a:do switch(l[k[f>>2]>>0]|0|0){case 72:{$A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);yA(k[e>>2]|0);$A(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);wA(k[e>>2]|0);break}case 71:{o=Sz(k[s>>2]|0)|0;k[i>>2]=o;aB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);yA(k[e>>2]|0);$A(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);Wz(k[s>>2]|0,k[i>>2]|0);wA(k[e>>2]|0);break}case 19:{aB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 73:{k[m>>2]=(l[k[f>>2]>>0]|0|0)==73?78:79;k[h>>2]=128;t=7;break}case 79:case 78:case 83:case 80:case 81:case 82:{t=7;break}case 77:case 76:{o=TA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=o;fx(k[s>>2]|0,k[m>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;break}case 74:{bB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0);break}case 75:if(k[h>>2]|0){ZA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[g>>2]|0);break a}else{o=Sz(k[s>>2]|0)|0;k[j>>2]=o;ZA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[j>>2]|0);Wz(k[s>>2]|0,k[j>>2]|0);break a}default:{if(rz(k[f>>2]|0)|0){Uz(k[s>>2]|0,k[g>>2]|0)|0;break a}if(!(cB(k[f>>2]|0)|0)){o=TA(k[e>>2]|0,k[f>>2]|0,p)|0;k[n>>2]=o;jx(k[s>>2]|0,46,k[n>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}}while(0);if((t|0)==7){t=TA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,p)|0;k[n>>2]=t;t=TA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,q)|0;k[o>>2]=t;UA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}oA(k[e>>2]|0,k[p>>2]|0);oA(k[e>>2]|0,k[q>>2]|0);r=u;return}function aB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+48|0;f=v+44|0;g=v+40|0;h=v+36|0;t=v+32|0;n=v+28|0;q=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;i=v+8|0;j=v+4|0;m=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[t>>2]=k[(k[e>>2]|0)+8>>2];k[n>>2]=0;k[q>>2]=0;k[s>>2]=0;if((k[t>>2]|0)==0|(k[f>>2]|0)==0){r=v;return}k[n>>2]=l[k[f>>2]>>0];a:do switch(k[n>>2]|0){case 72:{p=Sz(k[t>>2]|0)|0;k[i>>2]=p;$A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]^16);yA(k[e>>2]|0);aB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);Wz(k[t>>2]|0,k[i>>2]|0);wA(k[e>>2]|0);break}case 71:{aB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);yA(k[e>>2]|0);aB(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0);wA(k[e>>2]|0);break}case 19:{$A(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0);break}case 148:case 73:{k[n>>2]=(k[n>>2]|0)==73?79:78;k[h>>2]=128;u=7;break}case 79:case 78:case 83:case 80:case 81:case 82:{u=7;break}case 77:case 76:{p=TA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=p;fx(k[t>>2]|0,k[n>>2]|0,k[o>>2]|0,k[g>>2]|0)|0;break}case 74:{bB(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1,k[h>>2]|0);break}case 75:{p=Sz(k[t>>2]|0)|0;k[j>>2]=p;k[m>>2]=(k[h>>2]|0)!=0?k[g>>2]|0:k[j>>2]|0;ZA(k[e>>2]|0,k[f>>2]|0,k[j>>2]|0,k[m>>2]|0);Uz(k[t>>2]|0,k[g>>2]|0)|0;Wz(k[t>>2]|0,k[j>>2]|0);break}default:{if(cB(k[f>>2]|0)|0){Uz(k[t>>2]|0,k[g>>2]|0)|0;break a}if(!(rz(k[f>>2]|0)|0)){p=TA(k[e>>2]|0,k[f>>2]|0,q)|0;k[o>>2]=p;jx(k[t>>2]|0,45,k[o>>2]|0,k[g>>2]|0,(k[h>>2]|0)!=0&1)|0}}}while(0);if((u|0)==7){u=TA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,q)|0;k[o>>2]=u;u=TA(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,s)|0;k[p>>2]=u;UA(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,k[g>>2]|0,k[h>>2]|0)|0}oA(k[e>>2]|0,k[q>>2]|0);oA(k[e>>2]|0,k[s>>2]|0);r=v;return}function bB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+224|0;n=s+216|0;f=s+212|0;l=s+208|0;o=s+204|0;m=s+200|0;p=s+152|0;g=s+104|0;h=s+56|0;j=s+8|0;q=s;k[n>>2]=a;k[f>>2]=b;k[l>>2]=c;k[o>>2]=d;k[m>>2]=e;k[q>>2]=0;c=j;e=k[(k[f>>2]|0)+12>>2]|0;d=c+48|0;do{k[c>>2]=k[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(d|0));i[p>>0]=72;k[p+12>>2]=g;k[p+16>>2]=h;i[g>>0]=83;k[g+12>>2]=j;k[g+16>>2]=k[k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]>>2];i[h>>0]=81;k[h+12>>2]=j;k[h+16>>2]=k[(k[(k[(k[f>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];_A(j,TA(k[n>>2]|0,j,q)|0);d=k[n>>2]|0;e=k[l>>2]|0;c=k[m>>2]|0;if(k[o>>2]|0){aB(d,p,e,c);p=k[n>>2]|0;q=k[q>>2]|0;oA(p,q);r=s;return}else{$A(d,p,e,c);p=k[n>>2]|0;q=k[q>>2]|0;oA(p,q);r=s;return}}function cB(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;do if(!(k[(k[c>>2]|0)+4>>2]&1))if(Ay(k[c>>2]|0,d)|0){k[b>>2]=(k[d>>2]|0)!=0&1;break}else{k[b>>2]=0;break}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+80|0;f=F+72|0;g=F+68|0;h=F+64|0;n=F+60|0;e=F+56|0;q=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;p=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;o=F+12|0;t=F+8|0;D=F+4|0;C=F;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[n>>2]=d;k[q>>2]=0;b=(k[f>>2]|0)+72|0;d=k[b>>2]|0;k[b>>2]=d+1;k[w>>2]=d;d=dx(k[f>>2]|0)|0;k[E>>2]=d;k[x>>2]=(k[h>>2]&4|0)!=0&1;a:do if((k[(k[f>>2]|0)+68>>2]|0)==0?(d=hB(k[g>>2]|0)|0,k[e>>2]=d,(d|0)!=0):0){k[p>>2]=k[k[f>>2]>>2];k[B>>2]=k[(k[(k[e>>2]|0)+28>>2]|0)+8+16>>2];k[y>>2]=k[k[(k[k[e>>2]>>2]|0)+4>>2]>>2];j[u>>1]=j[(k[y>>2]|0)+32>>1]|0;c=(Ph(k[p>>2]|0,k[(k[B>>2]|0)+64>>2]|0)|0)&65535;j[v>>1]=c;rx(k[f>>2]|0,j[v>>1]|0);Oz(k[f>>2]|0,j[v>>1]|0,k[(k[B>>2]|0)+28>>2]|0,0,k[k[B>>2]>>2]|0);c=k[f>>2]|0;if((j[u>>1]|0)<0){A=iB(c)|0;k[s>>2]=A;Pz(k[f>>2]|0,k[w>>2]|0,j[v>>1]|0,k[B>>2]|0,54);k[q>>2]=1;Vz(k[E>>2]|0,k[s>>2]|0);break}y=jB(c,k[(k[g>>2]|0)+12>>2]|0,k[y>>2]|0)|0;k[A>>2]=y;y=kB(k[g>>2]|0,i[(k[(k[B>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+13>>0]|0)|0;k[o>>2]=y;k[z>>2]=k[(k[B>>2]|0)+8>>2];while(1){if(!((k[z>>2]|0)!=0&(k[q>>2]|0)==0&(k[o>>2]|0)!=0))break a;do if((j[k[(k[z>>2]|0)+4>>2]>>1]|0)==(j[u>>1]|0)?(y=_j(k[p>>2]|0,i[(k[p>>2]|0)+66>>0]|0,k[k[(k[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(k[A>>2]|0)):0){if(k[x>>2]|0){if((m[(k[z>>2]|0)+50>>1]|0)!=1)break;if(!(l[(k[z>>2]|0)+54>>0]|0))break}y=iB(k[f>>2]|0)|0;k[t>>2]=y;jx(k[E>>2]|0,54,k[w>>2]|0,k[(k[z>>2]|0)+44>>2]|0,j[v>>1]|0)|0;Qz(k[f>>2]|0,k[z>>2]|0);k[q>>2]=3+(l[k[(k[z>>2]|0)+28>>2]>>0]|0);if((k[n>>2]|0)!=0?(i[(k[(k[B>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+12>>0]|0)==0:0){s=(k[f>>2]|0)+76|0;y=(k[s>>2]|0)+1|0;k[s>>2]=y;k[k[n>>2]>>2]=y;lB(k[E>>2]|0,k[w>>2]|0,k[k[n>>2]>>2]|0)}Vz(k[E>>2]|0,k[t>>2]|0)}while(0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}}while(0);do if(((k[q>>2]|0)==0?(k[h>>2]&1|0)!=0:0)?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0){if((mB(k[g>>2]|0)|0)!=0?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)>2:0)break;k[q>>2]=5}while(0);if(k[q>>2]|0){k[(k[g>>2]|0)+28>>2]=k[w>>2];E=k[q>>2]|0;r=F;return E|0}k[D>>2]=k[(k[f>>2]|0)+428>>2];k[C>>2]=0;k[q>>2]=2;if(k[h>>2]&4){k[(k[f>>2]|0)+428>>2]=0;if((j[(k[(k[g>>2]|0)+12>>2]|0)+32>>1]|0)<0?(k[(k[g>>2]|0)+4>>2]&2048|0)==0:0)k[q>>2]=1}else if(k[n>>2]|0){B=(k[f>>2]|0)+76|0;E=(k[B>>2]|0)+1|0;k[B>>2]=E;k[C>>2]=E;k[k[n>>2]>>2]=E}YA(k[f>>2]|0,k[g>>2]|0,k[C>>2]|0,(k[q>>2]|0)==1&1)|0;k[(k[f>>2]|0)+428>>2]=k[D>>2];E=k[q>>2]|0;r=F;return E|0}function eB(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;a=by(k[(k[b>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+16>>2]|0){b=gB(k[a+16>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(k[a+4>>2]&2048){b=gB(k[k[(k[k[(k[b>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,i[c>>0]|0)|0;i[c>>0]=b;c=i[c>>0]|0;r=d;return c|0}if(i[c>>0]|0){c=i[c>>0]|0;r=d;return c|0}i[c>>0]=65;c=i[c>>0]|0;r=d;return c|0}function fB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+4|0;c=f;d=f+8|0;k[c>>2]=a;while(1){if((l[k[c>>2]>>0]|0)==156)b=1;else b=(l[k[c>>2]>>0]|0)==155;a=k[c>>2]|0;if(!b)break;k[c>>2]=k[a+12>>2]}i[d>>0]=i[a>>0]|0;if((l[d>>0]|0)==157)i[d>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[d>>0]|0){case 134:case 133:case 97:case 132:{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}case 152:{if(!(k[(k[c>>2]|0)+4>>2]&1048576))if((j[(k[c>>2]|0)+32>>1]|0)>=0)a=(l[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(j[(k[c>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else a=0;else a=1;k[e>>2]=a&1;e=k[e>>2]|0;r=f;return e|0}default:{k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}}return 0}function gB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+6|0;g=f;d=f+5|0;e=f+4|0;k[g>>2]=a;i[d>>0]=b;a=by(k[g>>2]|0)|0;i[e>>0]=a;if((i[e>>0]|0)!=0?(i[d>>0]|0)!=0:0){if((i[e>>0]|0)<67?(i[d>>0]|0)<67:0){i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}i[c>>0]=67;g=i[c>>0]|0;r=f;return g|0}if((i[e>>0]|0)!=0|(i[d>>0]|0)!=0){i[c>>0]=(i[e>>0]|0)+(i[d>>0]|0);g=i[c>>0]|0;r=f;return g|0}else{i[c>>0]=65;g=i[c>>0]|0;r=f;return g|0}return 0}function hB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;d=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;h=i;k[c>>2]=a;do if(k[(k[c>>2]|0)+4>>2]&2048){if(k[(k[c>>2]|0)+4>>2]&32){k[b>>2]=0;break}k[d>>2]=k[(k[c>>2]|0)+20>>2];if(k[(k[d>>2]|0)+48>>2]|0){k[b>>2]=0;break}if(k[(k[d>>2]|0)+8>>2]&9){k[b>>2]=0;break}if(k[(k[d>>2]|0)+56>>2]|0){k[b>>2]=0;break}if(k[(k[d>>2]|0)+32>>2]|0){k[b>>2]=0;break}k[g>>2]=k[(k[d>>2]|0)+28>>2];if((k[k[g>>2]>>2]|0)!=1){k[b>>2]=0;break}if(k[(k[g>>2]|0)+8+20>>2]|0){k[b>>2]=0;break}k[h>>2]=k[(k[g>>2]|0)+8+16>>2];if((l[(k[h>>2]|0)+42>>0]|0)&16){k[b>>2]=0;break}k[e>>2]=k[k[d>>2]>>2];if((k[k[e>>2]>>2]|0)!=1){k[b>>2]=0;break}k[f>>2]=k[k[(k[e>>2]|0)+4>>2]>>2];if((l[k[f>>2]>>0]|0|0)!=152){k[b>>2]=0;break}else{k[b>>2]=k[d>>2];break}}else k[b>>2]=0;while(0);r=i;return k[b>>2]|0}function iB(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;a=dx(k[d>>2]|0)|0;k[c>>2]=a;c=k[c>>2]|0;d=(k[d>>2]|0)+84|0;a=k[d>>2]|0;k[d>>2]=a+1;a=Nz(c,44,a)|0;r=b;return a|0}function jB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+4>>2]&256){c=cy(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&256|0)!=0:0){c=cy(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}c=cy(k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){c=k[g>>2]|0;r=h;return c|0}c=cy(k[d>>2]|0,k[f>>2]|0)|0;k[g>>2]=c;c=k[g>>2]|0;r=h;return c|0}function kB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+4|0;g=e;d=e+9|0;f=e+8|0;k[g>>2]=a;i[d>>0]=b;a=eB(k[g>>2]|0)|0;i[f>>0]=a;switch(i[f>>0]|0){case 65:{k[c>>2]=1;break}case 66:{k[c>>2]=(i[d>>0]|0)==66&1;break}default:k[c>>2]=(i[d>>0]|0)>=67&1}r=e;return k[c>>2]|0}function lB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;f=d+12|0;h=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;fx(k[f>>2]|0,22,0,k[g>>2]|0)|0;a=Nz(k[f>>2]|0,108,k[h>>2]|0)|0;k[e>>2]=a;jx(k[f>>2]|0,47,k[h>>2]|0,0,k[g>>2]|0)|0;Rh(k[f>>2]|0,-128);Vz(k[f>>2]|0,k[e>>2]|0);r=d;return}function mB(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;d=c+8|0;e=c+4|0;b=c;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=0;a=VA(k[d>>2]|0)|0;k[b>>2]=a;k[(k[d>>2]|0)+12>>2]=k[e>>2];r=c;return k[b>>2]|0}function nB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;i[k[e>>2]>>0]=k[g>>2];k[(k[e>>2]|0)+4>>2]=k[f>>2];i[(k[e>>2]|0)+1>>0]=0;k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;r=d;return}function oB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0;m=r;r=r+32|0;e=m+16|0;n=m+12|0;f=m+8|0;g=m+20|0;h=m+4|0;j=m;k[e>>2]=a;k[n>>2]=b;k[f>>2]=c;i[g>>0]=d;k[h>>2]=k[(k[e>>2]|0)+324>>2];d=Dy(k[k[e>>2]>>2]|0,k[n>>2]|0,0)|0;k[n>>2]=d;d=Wv(k[e>>2]|0,k[h>>2]|0,k[n>>2]|0)|0;k[h>>2]=d;if(!(k[h>>2]|0)){d=k[h>>2]|0;n=k[e>>2]|0;n=n+324|0;k[n>>2]=d;r=m;return}k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)+(((k[k[h>>2]>>2]|0)-1|0)*20|0);k[(k[j>>2]|0)+16>>2]=k[f>>2];d=(k[j>>2]|0)+13|0;i[d>>0]=i[d>>0]&-5|((l[g>>0]|0)&1)<<2&255;d=k[h>>2]|0;n=k[e>>2]|0;n=n+324|0;k[n>>2]=d;r=m;return}function pB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;f=e+36|0;h=e+32|0;g=e+28|0;d=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=k[h>>2];k[d+4>>2]=197;k[d+8>>2]=198;k[d+24>>2]=k[g>>2];ry(d,k[f>>2]|0)|0;r=e;return l[d+20>>0]|0|0}function qB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+20>>0]|0|0)==2?(k[(k[e>>2]|0)+4>>2]&1|0)!=0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2}else f=4;a:do if((f|0)==4){b:do switch(l[k[e>>2]>>0]|0|0){case 151:{if((l[(k[d>>2]|0)+20>>0]|0|0)<4?(k[(k[e>>2]|0)+4>>2]&524288|0)==0:0){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}k[c>>2]=0;break a}case 154:case 153:case 152:case 27:{if((l[(k[d>>2]|0)+20>>0]|0|0)==3?(k[(k[e>>2]|0)+28>>2]|0)==(k[(k[d>>2]|0)+24>>2]|0):0){k[c>>2]=0;break a}i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}case 135:{if((l[(k[d>>2]|0)+20>>0]|0|0)==5){i[k[e>>2]>>0]=101;break b}if((l[(k[d>>2]|0)+20>>0]|0|0)==4){i[(k[d>>2]|0)+20>>0]=0;k[c>>2]=2;break a}break}default:{}}while(0);k[c>>2]=0}while(0);r=g;return k[c>>2]|0}function rB(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;i[(k[d>>2]|0)+20>>0]=0;r=c;return 2}function sB(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+8|0;h=e+4|0;f=e;d=e+12|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;b=by(k[h>>2]|0)|0;i[d>>0]=b;b=(gB(k[g>>2]|0,i[d>>0]|0)|0)&255;i[d>>0]=b|k[f>>2]&255;r=e;return i[d>>0]|0}function tB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=pB(k[c>>2]|0,2,0)|0;r=b;return a|0}function uB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;h=s+28|0;j=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+8|0;p=s+4|0;q=s;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[p>>2]=g;f=Vw(MA(k[h>>2]|0)|0,8,0)|0;k[q>>2]=f;if(k[q>>2]|0){f=k[q>>2]|0;g=k[o>>2]|0;i[f>>0]=i[g>>0]|0;i[f+1>>0]=i[g+1>>0]|0;i[f+2>>0]=i[g+2>>0]|0;i[f+3>>0]=i[g+3>>0]|0;i[f+4>>0]=i[g+4>>0]|0;i[f+5>>0]=i[g+5>>0]|0;i[f+6>>0]=i[g+6>>0]|0;i[f+7>>0]=i[g+7>>0]|0}f=ix(k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;r=s;return f|0}function vB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=(k[g>>2]|0)+124;while(1){if((k[d>>2]|0)>=10)break;if((k[(k[e>>2]|0)+12>>2]|0)==(k[c>>2]|0))i[(k[e>>2]|0)+6>>0]=0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+20}r=f;return}function wB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;e=s+28|0;f=s+24|0;g=s+20|0;h=s+16|0;l=s+12|0;o=s+8|0;n=s+4|0;p=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((m[(k[k[e>>2]>>2]|0)+64>>1]|0)&2){r=s;return}k[l>>2]=0;k[p>>2]=(k[e>>2]|0)+124;while(1){if((k[l>>2]|0)>=10)break;if(!(k[(k[p>>2]|0)+12>>2]|0)){q=5;break}k[l>>2]=(k[l>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((q|0)==5){k[(k[p>>2]|0)+8>>2]=k[(k[e>>2]|0)+108>>2];k[k[p>>2]>>2]=k[f>>2];j[(k[p>>2]|0)+4>>1]=k[g>>2];k[(k[p>>2]|0)+12>>2]=k[h>>2];i[(k[p>>2]|0)+6>>0]=0;a=(k[e>>2]|0)+112|0;q=k[a>>2]|0;k[a>>2]=q+1;k[(k[p>>2]|0)+16>>2]=q;r=s;return}k[o>>2]=2147483647;k[n>>2]=-1;k[l>>2]=0;k[p>>2]=(k[e>>2]|0)+124;while(1){if((k[l>>2]|0)>=10)break;if((k[(k[p>>2]|0)+16>>2]|0)<(k[o>>2]|0)){k[n>>2]=k[l>>2];k[o>>2]=k[(k[p>>2]|0)+16>>2]}k[l>>2]=(k[l>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if((k[n>>2]|0)<0){r=s;return}k[p>>2]=(k[e>>2]|0)+124+((k[n>>2]|0)*20|0);k[(k[p>>2]|0)+8>>2]=k[(k[e>>2]|0)+108>>2];k[k[p>>2]>>2]=k[f>>2];j[(k[p>>2]|0)+4>>1]=k[g>>2];k[(k[p>>2]|0)+12>>2]=k[h>>2];i[(k[p>>2]|0)+6>>0]=0;a=(k[e>>2]|0)+112|0;q=k[a>>2]|0;k[a>>2]=q+1;k[(k[p>>2]|0)+16>>2]=q;r=s;return}function xB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[d>>2]|0)+52>>1]|0)){c=7;break}k[f>>2]=k[(k[(k[d>>2]|0)+32>>2]|0)+(k[e>>2]<<2)>>2];if((j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>=0?0==(sg(k[f>>2]|0,k[c>>2]|0)|0):0){c=5;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==5){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==7){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function yB(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;h=y+76|0;j=y+72|0;m=y+68|0;n=y+64|0;o=y+60|0;p=y+56|0;q=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=k[k[h>>2]>>2];k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[h>>2];b=zB(v,k[o>>2]|0)|0;k[t>>2]=b;do if((0==(b|0)?(b=zB(v,k[p>>2]|0)|0,k[t>>2]=b,0==(b|0)):0)?(b=zB(v,k[q>>2]|0)|0,k[t>>2]=b,0==(b|0)):0){if(k[n>>2]|0){if((l[k[n>>2]>>0]|0)==97)k[x>>2]=k[(k[n>>2]|0)+8>>2];else k[x>>2]=0;x=ax(k[h>>2]|0,k[j>>2]|0,k[x>>2]|0,0,0)|0;k[t>>2]=x;if(k[t>>2]|0)break}x=dx(k[h>>2]|0)|0;k[w>>2]=x;x=AA(k[h>>2]|0,4)|0;k[u>>2]=x;NA(k[h>>2]|0,k[o>>2]|0,k[u>>2]|0);NA(k[h>>2]|0,k[p>>2]|0,(k[u>>2]|0)+1|0);NA(k[h>>2]|0,k[q>>2]|0,(k[u>>2]|0)+2|0);if(k[w>>2]|0){ix(k[w>>2]|0,35,0,(k[u>>2]|0)+3-(i[k[m>>2]>>0]|0)|0,(k[u>>2]|0)+3|0,k[m>>2]|0,-5)|0;Rh(k[w>>2]|0,i[k[m>>2]>>0]|0);Nz(k[w>>2]|0,147,(k[j>>2]|0)==24&1)|0}}while(0);nv(k[s>>2]|0,k[o>>2]|0);nv(k[s>>2]|0,k[p>>2]|0);nv(k[s>>2]|0,k[q>>2]|0);r=y;return}function zB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[d>>2]|0)if((l[k[d>>2]>>0]|0|0)!=27){a=vy(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;break}else{i[k[d>>2]>>0]=97;break}while(0);r=f;return k[e>>2]|0}function AB(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,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+192|0;m=p+24|0;l=p+16|0;j=p+8|0;h=p;d=p+52|0;q=p+44|0;o=p+40|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+56|0;k[d>>2]=a;k[p+48>>2]=b;k[q>>2]=c;a=ke(k[k[q>>2]>>2]|0)|0;k[o>>2]=a;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;k[g>>2]=0;if(!(k[o>>2]|0))k[o>>2]=19010;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);if((k[(k[g>>2]|0)+4>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,k[o>>2]|0)|0)==0:0)break;k[f>>2]=(k[f>>2]|0)+1}do if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[o>>2];_d(128,n,31844,h)|0}else{if((k[f>>2]|0)<2){k[j>>2]=k[o>>2];_d(128,n,31865,j)|0;break}if(!(i[(k[e>>2]|0)+67>>0]|0)){_d(128,n,31891,l)|0;break}if((Ag(k[(k[g>>2]|0)+4>>2]|0)|0)==0?(vu(k[(k[g>>2]|0)+4>>2]|0)|0)==0:0){BB(k[(k[g>>2]|0)+4>>2]|0)|0;k[(k[g>>2]|0)+4>>2]=0;k[(k[g>>2]|0)+12>>2]=0;CB(k[e>>2]|0);r=p;return}k[m>>2]=k[o>>2];_d(128,n,31933,m)|0}while(0);te(k[d>>2]|0,n,-1);r=p;return}function BB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];wg(k[b>>2]|0);k[d>>2]=k[(k[c>>2]|0)+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];if((k[k[e>>2]>>2]|0)!=(k[b>>2]|0))continue;DB(k[e>>2]|0)|0}Yg(k[b>>2]|0,0,0)|0;if(!((i[(k[b>>2]|0)+9>>0]|0)!=0?(EB(k[c>>2]|0)|0)==0:0)){pr(k[k[c>>2]>>2]|0)|0;if((k[(k[c>>2]|0)+52>>2]|0)!=0?(k[(k[c>>2]|0)+48>>2]|0)!=0:0)_b[k[(k[c>>2]|0)+52>>2]&255](k[(k[c>>2]|0)+48>>2]|0);bg(0,k[(k[c>>2]|0)+48>>2]|0);aj(k[c>>2]|0);Ud(k[c>>2]|0)}if(k[(k[b>>2]|0)+28>>2]|0)k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];if(!(k[(k[b>>2]|0)+24>>2]|0)){e=k[b>>2]|0;Ud(e);r=f;return 0}k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];e=k[b>>2]|0;Ud(e);r=f;return 0}function CB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;k[c>>2]=2;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4);if(!(k[(k[e>>2]|0)+4>>2]|0)){bg(k[b>>2]|0,k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0}else{if((k[d>>2]|0)<(k[c>>2]|0)){a=(k[(k[b>>2]|0)+16>>2]|0)+(k[d>>2]<<4)|0;g=(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)|0;k[a>>2]=k[g>>2];k[a+4>>2]=k[g+4>>2];k[a+8>>2]=k[g+8>>2];k[a+12>>2]=k[g+12>>2]}k[d>>2]=(k[d>>2]|0)+1}k[c>>2]=(k[c>>2]|0)+1}k[(k[b>>2]|0)+20>>2]=k[d>>2];if((k[(k[b>>2]|0)+20>>2]|0)>2){r=f;return}if((k[(k[b>>2]|0)+16>>2]|0)==((k[b>>2]|0)+392|0)){r=f;return}g=(k[b>>2]|0)+392|0;e=k[(k[b>>2]|0)+16>>2]|0;k[g>>2]=k[e>>2];k[g+4>>2]=k[e+4>>2];k[g+8>>2]=k[e+8>>2];k[g+12>>2]=k[e+12>>2];k[g+16>>2]=k[e+16>>2];k[g+20>>2]=k[e+20>>2];k[g+24>>2]=k[e+24>>2];k[g+28>>2]=k[e+28>>2];bg(k[b>>2]|0,k[(k[b>>2]|0)+16>>2]|0);k[(k[b>>2]|0)+16>>2]=(k[b>>2]|0)+392;r=f;return}function DB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;c=g+8|0;d=g+4|0;f=g;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];if(!(k[e>>2]|0)){r=g;return 0}k[d>>2]=k[(k[b>>2]|0)+4>>2];wg(k[e>>2]|0);FB(k[b>>2]|0);a:do if((k[(k[d>>2]|0)+8>>2]|0)==(k[b>>2]|0))k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2];else{k[f>>2]=k[(k[d>>2]|0)+8>>2];while(1){if((k[(k[f>>2]|0)+8>>2]|0)==(k[b>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+8>>2];if(!(k[f>>2]|0))break a}k[(k[f>>2]|0)+8>>2]=k[(k[b>>2]|0)+8>>2]}while(0);k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;GB(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+1}HB(k[d>>2]|0);Ud(k[(k[b>>2]|0)+12>>2]|0);r=g;return 0}function EB(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[e>>2]=0;b=(k[c>>2]|0)+64|0;k[b>>2]=(k[b>>2]|0)+-1;if((k[(k[c>>2]|0)+64>>2]|0)>0){e=k[e>>2]|0;r=f;return e|0}if((k[1215]|0)!=(k[c>>2]|0)){k[d>>2]=k[1215];while(1){if(k[d>>2]|0)b=(k[(k[d>>2]|0)+68>>2]|0)!=(k[c>>2]|0);else b=0;a=k[d>>2]|0;if(!b)break;k[d>>2]=k[a+68>>2]}if(a)k[(k[d>>2]|0)+68>>2]=k[(k[c>>2]|0)+68>>2]}else k[1215]=k[(k[c>>2]|0)+68>>2];k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}function FB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+48>>2]|0);k[(k[c>>2]|0)+48>>2]=0;i[(k[c>>2]|0)+66>>0]=0;r=b;return}function GB(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}IB(k[b>>2]|0);r=c;return}function HB(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(l[(k[b>>2]|0)+20>>0]|0){r=d;return}if(!(k[(k[b>>2]|0)+12>>2]|0)){r=d;return}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;IB(k[c>>2]|0);r=d;return}function IB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Os(k[(k[c>>2]|0)+72>>2]|0);r=b;return}function JB(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;g=E+16|0;f=E+8|0;e=E;m=E+116|0;F=E+108|0;d=E+104|0;u=E+100|0;o=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;p=E+76|0;n=E+72|0;A=E+68|0;t=E+64|0;h=E+60|0;s=E+56|0;q=E+52|0;k[m>>2]=a;k[E+112>>2]=b;k[F>>2]=c;k[u>>2]=0;a=Ge(k[m>>2]|0)|0;k[o>>2]=a;k[D>>2]=0;k[z>>2]=0;k[A>>2]=0;a=ke(k[k[F>>2]>>2]|0)|0;k[B>>2]=a;a=ke(k[(k[F>>2]|0)+4>>2]|0)|0;k[C>>2]=a;if(!(k[B>>2]|0))k[B>>2]=19010;if(!(k[C>>2]|0))k[C>>2]=19010;b=k[o>>2]|0;do if((k[(k[o>>2]|0)+20>>2]|0)<((k[(k[o>>2]|0)+92+28>>2]|0)+2|0)){if(!(i[b+67>>0]|0)){F=Nh(k[o>>2]|0,32006,f)|0;k[A>>2]=F;break}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[o>>2]|0)+20>>2]|0))break;k[h>>2]=k[(k[(k[o>>2]|0)+16>>2]|0)+(k[d>>2]<<4)>>2];if(!(sg(k[h>>2]|0,k[C>>2]|0)|0)){j=12;break}k[d>>2]=(k[d>>2]|0)+1}if((j|0)==12){F=k[o>>2]|0;k[g>>2]=k[C>>2];F=Nh(F,32048,g)|0;k[A>>2]=F;break}b=k[o>>2]|0;do if((k[(k[o>>2]|0)+16>>2]|0)==((k[o>>2]|0)+392|0)){F=Vw(b,48,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}else{F=k[n>>2]|0;j=k[(k[o>>2]|0)+16>>2]|0;k[F>>2]=k[j>>2];k[F+4>>2]=k[j+4>>2];k[F+8>>2]=k[j+8>>2];k[F+12>>2]=k[j+12>>2];k[F+16>>2]=k[j+16>>2];k[F+20>>2]=k[j+20>>2];k[F+24>>2]=k[j+24>>2];k[F+28>>2]=k[j+28>>2];break}}else{F=Uw(b,k[(k[o>>2]|0)+16>>2]|0,(k[(k[o>>2]|0)+20>>2]|0)+1<<4,0)|0;k[n>>2]=F;if(!(k[n>>2]|0)){r=E;return}}while(0);k[(k[o>>2]|0)+16>>2]=k[n>>2];k[n>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[(k[o>>2]|0)+20>>2]<<4);F=k[n>>2]|0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[F+12>>2]=0;k[p>>2]=k[(k[o>>2]|0)+48>>2];F=ik(k[(k[k[o>>2]>>2]|0)+16>>2]|0,k[B>>2]|0,p,t,D,z)|0;k[u>>2]=F;if(k[u>>2]|0){if((k[u>>2]|0)==7)vh(k[o>>2]|0);te(k[m>>2]|0,k[z>>2]|0,-1);Ud(k[z>>2]|0);r=E;return}k[p>>2]=k[p>>2]|256;F=jk(k[t>>2]|0,k[D>>2]|0,k[o>>2]|0,(k[n>>2]|0)+4|0,0,k[p>>2]|0)|0;k[u>>2]=F;Ud(k[D>>2]|0);F=(k[o>>2]|0)+20|0;k[F>>2]=(k[F>>2]|0)+1;if((k[u>>2]|0)!=19){if(!(k[u>>2]|0)){F=kk(k[o>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0;k[(k[n>>2]|0)+12>>2]=F;if(k[(k[n>>2]|0)+12>>2]|0){if((l[(k[(k[n>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(l[(k[(k[n>>2]|0)+12>>2]|0)+77>>0]|0)!=(l[(k[o>>2]|0)+66>>0]|0):0){F=Nh(k[o>>2]|0,20624,y)|0;k[A>>2]=F;k[u>>2]=1}}else k[u>>2]=7;wg(k[(k[n>>2]|0)+4>>2]|0);F=Zf(k[(k[n>>2]|0)+4>>2]|0)|0;k[s>>2]=F;KB(k[s>>2]|0,l[(k[o>>2]|0)+71>>0]|0)|0;F=k[(k[n>>2]|0)+4>>2]|0;LB(F,LB(k[(k[(k[o>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;MB(k[(k[n>>2]|0)+4>>2]|0,3|k[(k[o>>2]|0)+24>>2]&56)|0}}else{k[u>>2]=1;F=Nh(k[o>>2]|0,32078,x)|0;k[A>>2]=F}i[(k[n>>2]|0)+8>>0]=3;F=zh(k[o>>2]|0,k[C>>2]|0)|0;k[k[n>>2]>>2]=F;if((k[u>>2]|0)==0?(k[k[n>>2]>>2]|0)==0:0)k[u>>2]=7;if(!(k[u>>2]|0)){Yf(k[o>>2]|0);F=Ai(k[o>>2]|0,A)|0;k[u>>2]=F}if(!(k[u>>2]|0)){r=E;return}k[q>>2]=(k[(k[o>>2]|0)+20>>2]|0)-1;if(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0){BB(k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]|0)|0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+4>>2]=0;k[(k[(k[o>>2]|0)+16>>2]|0)+(k[q>>2]<<4)+12>>2]=0}Lg(k[o>>2]|0);k[(k[o>>2]|0)+20>>2]=k[q>>2];if((k[u>>2]|0)==7|(k[u>>2]|0)==3082){vh(k[o>>2]|0);bg(k[o>>2]|0,k[A>>2]|0);F=Nh(k[o>>2]|0,25624,v)|0;k[A>>2]=F;break}if(!(k[A>>2]|0)){F=k[o>>2]|0;k[w>>2]=k[B>>2];F=Nh(F,32107,w)|0;k[A>>2]=F}}else{k[e>>2]=k[(k[o>>2]|0)+92+28>>2];F=Nh(b,31969,e)|0;k[A>>2]=F}while(0);if(k[A>>2]|0){te(k[m>>2]|0,k[A>>2]|0,-1);bg(k[o>>2]|0,k[A>>2]|0)}if(!(k[u>>2]|0)){r=E;return}Be(k[m>>2]|0,k[u>>2]|0);r=E;return}function KB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(((k[d>>2]|0)>=0?(i[(k[c>>2]|0)+13>>0]|0)==0:0)?(OB(k[(k[c>>2]|0)+216>>2]|0)|0)==0:0)i[(k[c>>2]|0)+4>>0]=k[d>>2];r=e;return l[(k[c>>2]|0)+4>>0]|0}function LB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(!(k[d>>2]|0)){k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}wg(k[d>>2]|0);if((k[e>>2]|0)>=0?(a=(k[(k[d>>2]|0)+4>>2]|0)+22|0,j[a>>1]=(m[a>>1]|0)&-5,(k[e>>2]|0)!=0):0){a=(k[(k[d>>2]|0)+4>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|4}k[f>>2]=((m[(k[(k[d>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;k[c>>2]=k[f>>2];a=k[c>>2]|0;r=g;return a|0}function MB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+8|0;d=c+4|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[f>>2]|0)+4>>2];wg(k[f>>2]|0);NB(k[k[e>>2]>>2]|0,k[d>>2]|0);r=c;return 0}function NB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f+4|0;c=f;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[e>>2]&7;if(i[(k[d>>2]|0)+13>>0]|0){i[(k[d>>2]|0)+7>>0]=1;i[(k[d>>2]|0)+8>>0]=0;i[(k[d>>2]|0)+9>>0]=0}else{i[(k[d>>2]|0)+7>>0]=(k[c>>2]|0)==1?1:0;i[(k[d>>2]|0)+8>>0]=(k[c>>2]|0)>>>0>=3?1:0;i[(k[d>>2]|0)+9>>0]=(k[c>>2]|0)==4?1:0}do if(!(i[(k[d>>2]|0)+7>>0]|0)){if(k[e>>2]&8){i[(k[d>>2]|0)+12>>0]=3;i[(k[d>>2]|0)+10>>0]=3;break}b=(k[e>>2]&16|0)!=0;i[(k[d>>2]|0)+12>>0]=2;c=(k[d>>2]|0)+10|0;if(b){i[c>>0]=3;break}else{i[c>>0]=2;break}}else{i[(k[d>>2]|0)+12>>0]=0;i[(k[d>>2]|0)+10>>0]=0}while(0);i[(k[d>>2]|0)+11>>0]=i[(k[d>>2]|0)+12>>0]|0;if(i[(k[d>>2]|0)+8>>0]|0){b=(k[d>>2]|0)+11|0;i[b>>0]=l[b>>0]|32}c=(k[d>>2]|0)+21|0;a=l[c>>0]|0;if(k[e>>2]&32){i[c>>0]=a&-2;r=f;return}else{i[c>>0]=a|1;r=f;return}}function OB(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){a=0;a=a&1;r=c;return a|0}a=(l[(k[b>>2]|0)+43>>0]|0|0)==2;a=a&1;r=c;return a|0}function PB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[g>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4);do if(k[(k[g>>2]|0)+4>>2]|0){if((k[d>>2]|0)!=0?0!=(sg(k[d>>2]|0,k[k[g>>2]>>2]|0)|0):0)break;rx(k[c>>2]|0,k[f>>2]|0)}while(0);k[f>>2]=(k[f>>2]|0)+1}r=h;return}function QB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;j=n;c=n+44|0;d=n+40|0;h=n+36|0;i=n+32|0;f=n+28|0;g=n+24|0;e=n+20|0;l=n+16|0;m=n+12|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[k[c>>2]>>2];b=Ph(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=b;b=RB(k[d>>2]|0)|0;k[h>>2]=b;k[e>>2]=16;k[l>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[m>>2]=(k[g>>2]|0)==1?20513:20532;if((k[g>>2]|0)==1)k[e>>2]=14;if(ax(k[c>>2]|0,k[e>>2]|0,k[k[d>>2]>>2]|0,k[k[h>>2]>>2]|0,k[l>>2]|0)|0){r=n;return}if(ax(k[c>>2]|0,9,k[m>>2]|0,0,k[l>>2]|0)|0){r=n;return}m=dx(k[c>>2]|0)|0;k[i>>2]=m;if(!m){r=n;return}m=k[c>>2]|0;b=(k[g>>2]|0)==1?20513:20532;l=k[k[d>>2]>>2]|0;k[j>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];k[j+4>>2]=b;k[j+8>>2]=l;cx(m,32155,j);ex(k[c>>2]|0,k[g>>2]|0);ix(k[i>>2]|0,127,k[g>>2]|0,0,0,k[k[d>>2]>>2]|0,0)|0;r=n;return}function RB(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Aj((k[(k[c>>2]|0)+24>>2]|0)+8|0,k[(k[c>>2]|0)+4>>2]|0)|0;r=b;return a|0}function SB(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;h=r;r=r+32|0;j=h+12|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;i[d>>0]=b;k[e>>2]=c;c=Bh(k[j>>2]|0,36+(k[(k[e>>2]|0)+4>>2]|0)+1|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[f>>2]|0;r=h;return j|0}k[g>>2]=(k[f>>2]|0)+36;BR(k[g>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;Zw(k[g>>2]|0)|0;k[(k[f>>2]|0)+12>>2]=k[g>>2];i[k[f>>2]>>0]=i[d>>0]|0;j=k[f>>2]|0;r=h;return j|0}function TB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=(k[g>>2]|0)+8;b=ox(k[c>>2]|0,0,k[d>>2]|0)|0;k[e>>2]=b;$f(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+16>>2]|0);k[(k[d>>2]|0)+16>>2]=k[e>>2];if(k[e>>2]|0){g=(k[e>>2]|0)+36|0;j[g>>1]=(j[g>>1]|0)+1<<16>>16}if(!(jz(k[c>>2]|0,k[d>>2]|0)|0)){g=k[e>>2]|0;r=f;return g|0}k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}function UB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;f=r;r=r+32|0;g=f+20|0;m=f+16|0;h=f+12|0;j=f+8|0;i=f+4|0;l=f;k[g>>2]=a;k[m>>2]=b;k[h>>2]=c;k[j>>2]=d;k[i>>2]=e;k[l>>2]=k[k[m>>2]>>2];k[k[g>>2]>>2]=k[m>>2];k[(k[g>>2]|0)+12>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[(k[g>>2]|0)+4>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[g>>2]|0)+16>>2]=k[j>>2];k[(k[g>>2]|0)+20>>2]=k[i>>2];k[(k[g>>2]|0)+8>>2]=(k[h>>2]|0)==1&1;r=f;return}function VB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+48|0;i=j;f=j+32|0;g=j+28|0;c=j+24|0;d=j+20|0;e=j+16|0;h=j+12|0;k[g>>2]=a;k[c>>2]=b;if(!(k[c>>2]|0)){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}k[e>>2]=k[(k[g>>2]|0)+12>>2];k[d>>2]=0;k[h>>2]=(k[c>>2]|0)+8;while(1){if((k[d>>2]|0)>=(k[k[c>>2]>>2]|0)){c=15;break}if(!(k[(k[g>>2]|0)+8>>2]|0)){if((k[(k[h>>2]|0)+4>>2]|0)!=0?(sg(k[(k[h>>2]|0)+4>>2]|0,k[e>>2]|0)|0)!=0:0){c=8;break}bg(k[k[k[g>>2]>>2]>>2]|0,k[(k[h>>2]|0)+4>>2]|0);k[(k[h>>2]|0)+4>>2]=0;k[k[h>>2]>>2]=k[(k[g>>2]|0)+4>>2]}if(WB(k[g>>2]|0,k[(k[h>>2]|0)+20>>2]|0)|0){c=11;break}if(XB(k[g>>2]|0,k[(k[h>>2]|0)+48>>2]|0)|0){c=13;break}k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+72}if((c|0)==8){e=k[k[g>>2]>>2]|0;b=k[(k[g>>2]|0)+20>>2]|0;h=k[(k[h>>2]|0)+4>>2]|0;k[i>>2]=k[(k[g>>2]|0)+16>>2];k[i+4>>2]=b;k[i+8>>2]=h;Mh(e,32453,i);k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==11){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==13){k[f>>2]=1;i=k[f>>2]|0;r=j;return i|0}else if((c|0)==15){k[f>>2]=0;i=k[f>>2]|0;r=j;return i|0}return 0}function WB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=20;break}if(YB(k[c>>2]|0,k[k[d>>2]>>2]|0)|0){c=4;break}if(VB(k[c>>2]|0,k[(k[d>>2]|0)+28>>2]|0)|0){c=6;break}if(XB(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0){c=8;break}if(YB(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0){c=10;break}if(XB(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0){c=12;break}if(YB(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0){c=14;break}if(XB(k[c>>2]|0,k[(k[d>>2]|0)+56>>2]|0)|0){c=16;break}if(XB(k[c>>2]|0,k[(k[d>>2]|0)+60>>2]|0)|0){c=18;break}k[d>>2]=k[(k[d>>2]|0)+48>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=1;else if((c|0)==12)k[e>>2]=1;else if((c|0)==14)k[e>>2]=1;else if((c|0)==16)k[e>>2]=1;else if((c|0)==18)k[e>>2]=1;else if((c|0)==20)k[e>>2]=0;r=f;return k[e>>2]|0}function XB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+12|0;e=g+8|0;c=g+4|0;k[e>>2]=a;k[c>>2]=b;while(1){if(!(k[c>>2]|0)){b=16;break}if((l[k[c>>2]>>0]|0)==135){if(!(i[(k[k[k[e>>2]>>2]>>2]|0)+144+5>>0]|0)){b=6;break}i[k[c>>2]>>0]=101}if(k[(k[c>>2]|0)+4>>2]&16384){b=16;break}b=k[e>>2]|0;a=(k[c>>2]|0)+20|0;if(k[(k[c>>2]|0)+4>>2]&2048){if(WB(b,k[a>>2]|0)|0){b=10;break}}else if(YB(b,k[a>>2]|0)|0){b=12;break}if(XB(k[e>>2]|0,k[(k[c>>2]|0)+16>>2]|0)|0){b=14;break}k[c>>2]=k[(k[c>>2]|0)+12>>2]}if((b|0)==6){c=k[k[e>>2]>>2]|0;k[f>>2]=k[(k[e>>2]|0)+16>>2];Mh(c,32499,f);k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==10){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==12){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==14){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else if((b|0)==16){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function YB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}k[e>>2]=0;k[f>>2]=k[(k[d>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if(XB(k[c>>2]|0,k[k[f>>2]>>2]|0)|0){c=6;break}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}if((c|0)==6){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==8){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function ZB(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+8|0;c=f+4|0;d=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0)){c=10;break}if(WB(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0){c=4;break}if(XB(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0)|0){c=6;break}if(YB(k[c>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0){c=8;break}k[d>>2]=k[(k[d>>2]|0)+28>>2]}if((c|0)==4)k[e>>2]=1;else if((c|0)==6)k[e>>2]=1;else if((c|0)==8)k[e>>2]=1;else if((c|0)==10)k[e>>2]=0;r=f;return k[e>>2]|0}function _B(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+89|0;i[a>>0]=i[a>>0]&-9|8;r=b;return}function $B(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[f>>2]|0)){r=g;return}hx(k[d>>2]|0,1,k[f>>2]|0)|0;aC(k[d>>2]|0,k[e>>2]|0);fx(k[d>>2]|0,33,1,1)|0;r=g;return}function aC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;oC(k[e>>2]|0,1,d);r=c;return}function bC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;uB(k[f>>2]|0,23,0,1,0,h,-13)|0;aC(k[f>>2]|0,k[g>>2]|0);fx(k[f>>2]|0,33,1,1)|0;r=e;return}function cC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;c=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;g=f;k[c>>2]=a;k[h>>2]=b;k[g>>2]=k[k[c>>2]>>2];EC(k[(k[c>>2]|0)+16>>2]|0,(m[(k[c>>2]|0)+84>>1]|0)<<1);bg(k[g>>2]|0,k[(k[c>>2]|0)+16>>2]|0);k[d>>2]=k[h>>2]<<1;j[(k[c>>2]|0)+84>>1]=k[h>>2];a=Bh(k[g>>2]|0,(k[d>>2]|0)*40|0,0)|0;k[e>>2]=a;k[(k[c>>2]|0)+16>>2]=a;if(!(k[(k[c>>2]|0)+16>>2]|0)){r=f;return}while(1){h=k[d>>2]|0;k[d>>2]=h+-1;if((h|0)<=0)break;j[(k[e>>2]|0)+8>>1]=1;k[(k[e>>2]|0)+32>>2]=k[k[c>>2]>>2];k[e>>2]=(k[e>>2]|0)+40}r=f;return}function dC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;l=q+12|0;n=q+8|0;p=q+4|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[n>>2]=e;if(i[(k[k[g>>2]>>2]|0)+69>>0]|0){k[f>>2]=7;d=k[f>>2]|0;r=q;return d|0}else{d=(k[h>>2]|0)+(ha(k[j>>2]|0,m[(k[g>>2]|0)+84>>1]|0)|0)|0;k[o>>2]=(k[(k[g>>2]|0)+16>>2]|0)+(d*40|0);d=ph(k[o>>2]|0,k[l>>2]|0,-1,1,k[n>>2]|0)|0;k[p>>2]=d;k[f>>2]=k[p>>2];d=k[f>>2]|0;r=q;return d|0}return 0}function eC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;do if(k[c>>2]|0){if(!(sg(k[c>>2]|0,32705)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,32698)|0))k[b>>2]=0;else d=6}else d=6;while(0);if((d|0)==6)k[b>>2]=-1;r=e;return k[b>>2]|0}function fC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)==6)k[b>>2]=0;else k[b>>2]=k[6252+(k[c>>2]<<2)>>2];r=d;return k[b>>2]|0}function gC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=e;c=k[a+4>>2]|0;if((c|0)>-1|(c|0)==-1&(k[a>>2]|0)>>>0>=4294967295){b=e;c=k[b+4>>2]|0;a=(k[d>>2]|0)+168|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;a=e;DC(k[(k[d>>2]|0)+216>>2]|0,k[a>>2]|0,k[a+4>>2]|0)}a=(k[d>>2]|0)+168|0;L=k[a+4>>2]|0;r=f;return k[a>>2]|0}function hC(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;wg(k[b>>2]|0);if(!(i[(k[(k[b>>2]|0)+4>>2]|0)+17>>0]|0)){a=0;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}a=(i[(k[(k[b>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;k[c>>2]=a;c=k[c>>2]|0;r=d;return c|0}function iC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(sg(k[c>>2]|0,33776)|0){if(!(sg(k[c>>2]|0,33220)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,33781)|0)){k[b>>2]=2;break}else{a=Xi(k[c>>2]|0)|0;k[d>>2]=a;k[b>>2]=((k[d>>2]|0)>=0&(k[d>>2]|0)<=2?k[d>>2]|0:0)&255;break}}else k[b>>2]=0;while(0);r=e;return k[b>>2]|0}function jC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;g=f+12|0;h=f+8|0;d=f+4|0;e=f;c=f+16|0;k[g>>2]=a;k[h>>2]=b;k[d>>2]=k[(k[g>>2]|0)+4>>2];k[e>>2]=0;i[c>>0]=k[h>>2];wg(k[g>>2]|0);if(((m[(k[d>>2]|0)+22>>1]|0)&2|0)!=0?(((l[c>>0]|0|0)!=0?1:0)|0)!=(l[(k[d>>2]|0)+17>>0]|0|0):0){k[e>>2]=8;h=k[e>>2]|0;r=f;return h|0}i[(k[d>>2]|0)+17>>0]=(l[c>>0]|0|0)!=0?1:0;i[(k[d>>2]|0)+18>>0]=(l[c>>0]|0|0)==2?1:0;h=k[e>>2]|0;r=f;return h|0}function kC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;f=d+4|0;c=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=BC(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function lC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;if(!(i[(k[b>>2]|0)+67>>0]|0)){r=e;return}k[d>>2]=k[(k[b>>2]|0)+16>>2];k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){a=k[c>>2]|0;k[c>>2]=a+-1;if((a|0)<=0)break;if(k[(k[d>>2]|0)+4>>2]|0)MB(k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|k[(k[b>>2]|0)+24>>2]&56)|0;k[d>>2]=(k[d>>2]|0)+16}r=e;return}function mC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;b=AC(k[h>>2]|0)|0;k[f>>2]=b;k[e>>2]=k[k[d>>2]>>2];if((l[(k[e>>2]|0)+68>>0]|0|0)==(k[f>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}if(nC(k[d>>2]|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}else{i[(k[e>>2]|0)+68>>0]=k[f>>2];k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}return 0}function nC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f;b=f+12|0;c=f+8|0;d=f+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];do if(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0){if((i[(k[d>>2]|0)+67>>0]|0)!=0?(Ag(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){BB(k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=0;Lg(k[d>>2]|0);break}Mh(k[c>>2]|0,33714,e);k[b>>2]=1;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function oC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;cC(k[d>>2]|0,k[e>>2]|0);k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;dC(k[d>>2]|0,k[g>>2]|0,0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,0)|0;k[g>>2]=(k[g>>2]|0)+1}r=h;return}function pC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+8|0;l=n+4|0;j=n+36|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;while(1){c=i[(k[g>>2]|0)+(k[l>>2]|0)>>0]|0;i[j>>0]=c;if(!(c<<24>>24))break;if((i[j>>0]|0)==115){d=(k[h>>2]|0)+(4-1)&~(4-1);a=k[d>>2]|0;k[h>>2]=d+4;k[m>>2]=a;a=k[e>>2]|0;d=(k[m>>2]|0)==0?25:97;c=k[f>>2]|0;k[f>>2]=c+1;ix(a,d,0,c,0,k[m>>2]|0,0)|0}else{a=k[e>>2]|0;c=(k[h>>2]|0)+(4-1)&~(4-1);d=k[c>>2]|0;k[h>>2]=c+4;c=k[f>>2]|0;k[f>>2]=c+1;fx(a,22,d,c)|0}k[l>>2]=(k[l>>2]|0)+1}r=n;return}function qC(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;i[d>>0]=a;switch(l[d>>0]|0|0){case 7:{k[b>>2]=33524;break}case 8:{k[b>>2]=33533;break}case 9:{k[b>>2]=33545;break}case 6:{k[b>>2]=33553;break}default:k[b>>2]=33562}r=c;return k[b>>2]|0}function rC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;y=D;f=D+64|0;g=D+60|0;h=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;x=D+40|0;q=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[x>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[n>>2]|0)+20>>2];k[B>>2]=k[(k[n>>2]|0)+36+4>>2];do if((k[w>>2]|0)==1){if((j[(k[h>>2]|0)+32>>1]|0)>=0){if(!(k[B>>2]|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(sg(k[(k[(k[h>>2]|0)+4>>2]|0)+(j[(k[h>>2]|0)+32>>1]<<4)>>2]|0,k[B>>2]|0)|0)){k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}}}else if(k[p>>2]|0){d=Vw(k[k[g>>2]>>2]|0,k[w>>2]<<2,0)|0;k[q>>2]=d;if(k[q>>2]|0){k[k[p>>2]>>2]=k[q>>2];break}k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}while(0);k[x>>2]=k[(k[h>>2]|0)+8>>2];a:while(1){if(!(k[x>>2]|0))break;do if((m[(k[x>>2]|0)+50>>1]|0)==(k[w>>2]|0)?(l[(k[x>>2]|0)+54>>0]|0)!=0:0){if(!(k[B>>2]|0))if((i[(k[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[w>>2]|0))break;j[u>>1]=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[t>>2]<<1)>>1]|0;if((j[u>>1]|0)<0)break;d=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)+8>>2]|0;k[z>>2]=d;k[z>>2]=(k[z>>2]|0)!=0?d:35343;if(sg(k[(k[(k[x>>2]|0)+32>>2]|0)+(k[t>>2]<<2)>>2]|0,k[z>>2]|0)|0)break;k[A>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+(j[u>>1]<<4)>>2];k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[w>>2]|0))break;if(!(sg(k[(k[n>>2]|0)+36+(k[v>>2]<<3)+4>>2]|0,k[A>>2]|0)|0)){C=28;break}k[v>>2]=(k[v>>2]|0)+1}if((C|0)==28?(C=0,(k[q>>2]|0)!=0):0)k[(k[q>>2]|0)+(k[t>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[v>>2]<<3)>>2];if((k[v>>2]|0)==(k[w>>2]|0))break;k[t>>2]=(k[t>>2]|0)+1}if((k[t>>2]|0)==(k[w>>2]|0))break a}while(0);k[x>>2]=k[(k[x>>2]|0)+20>>2]}b:do if((C|0)==17?(k[q>>2]|0)!=0:0){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break b;k[(k[q>>2]|0)+(k[s>>2]<<2)>>2]=k[(k[n>>2]|0)+36+(k[s>>2]<<3)>>2];k[s>>2]=(k[s>>2]|0)+1}}while(0);if(k[x>>2]|0){k[k[o>>2]>>2]=k[x>>2];k[f>>2]=0;C=k[f>>2]|0;r=D;return C|0}if(!(i[(k[g>>2]|0)+442>>0]|0)){C=k[g>>2]|0;B=k[(k[n>>2]|0)+8>>2]|0;k[y>>2]=k[k[k[n>>2]>>2]>>2];k[y+4>>2]=B;Mh(C,33461,y)}bg(k[k[g>>2]>>2]|0,k[q>>2]|0);k[f>>2]=1;C=k[f>>2]|0;r=D;return C|0}function sC(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;n=r;r=r+32|0;d=n+16|0;c=n+12|0;e=n+8|0;g=n+4|0;h=n;l=n+20|0;f=n+22|0;k[c>>2]=a;k[e>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+12>>2];b=(m[(k[e>>2]|0)+52>>1]|0)+1|0;b=Kh(0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+16>>2]=b;if(!(k[(k[e>>2]|0)+16>>2]|0)){vh(k[c>>2]|0);k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[g>>2]=0;while(1){c=k[g>>2]|0;a=k[e>>2]|0;if((k[g>>2]|0)>=(m[(k[e>>2]|0)+52>>1]|0))break;j[l>>1]=j[(k[a+4>>2]|0)+(c<<1)>>1]|0;c=j[l>>1]|0;do if((j[l>>1]|0)<0){a=k[g>>2]|0;b=k[e>>2]|0;if((c|0)==-1){i[(k[b+16>>2]|0)+a>>0]=68;break}else{b=by(k[(k[(k[b+40>>2]|0)+4>>2]|0)+(a*20|0)>>2]|0)|0;i[f>>0]=b;i[f>>0]=(i[f>>0]|0)==0?65:b;i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[f>>0]|0;break}}else i[(k[(k[e>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[h>>2]|0)+4>>2]|0)+(c<<4)+13>>0]|0;while(0);k[g>>2]=(k[g>>2]|0)+1}i[(k[a+16>>2]|0)+c>>0]=0}k[d>>2]=k[(k[e>>2]|0)+16>>2];l=k[d>>2]|0;r=n;return l|0}function tC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0)k[e>>2]=33369;else k[e>>2]=19006;ri(k[c>>2]|0,33373,2,1,k[e>>2]|0,212,0,0,0)|0;ri(k[c>>2]|0,33373,3,1,k[e>>2]|0,212,0,0,0)|0;ri(k[c>>2]|0,33378,2,1,19002,212,0,0,0)|0;yC(k[c>>2]|0,33378,12);yC(k[c>>2]|0,33373,((k[d>>2]|0)!=0?12:4)&255);r=f;return}function uC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=0;k[d>>2]=(k[b>>2]|0)+124;while(1){if((k[c>>2]|0)>=10)break;if(k[(k[d>>2]|0)+12>>2]|0){xA(k[b>>2]|0,k[d>>2]|0);k[(k[d>>2]|0)+12>>2]=0}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+20}r=e;return}function vC(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+64|0;o=C+52|0;p=C+48|0;q=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;j=C+24|0;x=C+20|0;y=C+16|0;m=C+12|0;A=C+8|0;B=C+4|0;z=C;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;i[t>>0]=d;k[u>>2]=e;k[v>>2]=f;k[w>>2]=g;k[j>>2]=h;if((l[(k[q>>2]|0)+42>>0]|0)&16){k[o>>2]=0;B=k[o>>2]|0;r=C;return B|0}h=Ph(k[k[p>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0;k[y>>2]=h;h=dx(k[p>>2]|0)|0;k[B>>2]=h;if((k[u>>2]|0)<0)k[u>>2]=k[(k[p>>2]|0)+72>>2];h=k[u>>2]|0;k[u>>2]=h+1;k[m>>2]=h;if(k[w>>2]|0)k[k[w>>2]>>2]=k[m>>2];do if(!((l[(k[q>>2]|0)+42>>0]|0)&32)){if((k[v>>2]|0)!=0?(l[k[v>>2]>>0]|0|0)==0:0){n=11;break}Pz(k[p>>2]|0,k[m>>2]|0,k[y>>2]|0,k[q>>2]|0,k[s>>2]|0)}else n=11;while(0);if((n|0)==11)Oz(k[p>>2]|0,k[y>>2]|0,k[(k[q>>2]|0)+28>>2]|0,(k[s>>2]|0)==55&255,k[k[q>>2]>>2]|0);if(k[j>>2]|0)k[k[j>>2]>>2]=k[u>>2];k[x>>2]=0;k[A>>2]=k[(k[q>>2]|0)+8>>2];while(1){j=k[u>>2]|0;if(!(k[A>>2]|0))break;k[u>>2]=j+1;k[z>>2]=j;if(!((k[v>>2]|0)!=0?(l[(k[v>>2]|0)+((k[x>>2]|0)+1)>>0]|0|0)==0:0)){jx(k[B>>2]|0,k[s>>2]|0,k[z>>2]|0,k[(k[A>>2]|0)+44>>2]|0,k[y>>2]|0)|0;Qz(k[p>>2]|0,k[A>>2]|0)}if((i[(k[A>>2]|0)+55>>0]&3|0)==2?((l[(k[q>>2]|0)+42>>0]|0)&32|0)!=0:0){if(k[w>>2]|0)k[k[w>>2]>>2]=k[z>>2]}else Rh(k[B>>2]|0,i[t>>0]|0);k[A>>2]=k[(k[A>>2]|0)+20>>2];k[x>>2]=(k[x>>2]|0)+1}if((j|0)>(k[(k[p>>2]|0)+72>>2]|0))k[(k[p>>2]|0)+72>>2]=k[u>>2];k[o>>2]=k[x>>2];B=k[o>>2]|0;r=C;return B|0}function wC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+89|0;i[a>>0]=i[a>>0]&-9;r=b;return}function xC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;d=n+36|0;e=n+32|0;f=n+28|0;i=n+24|0;j=n+20|0;g=n+16|0;p=n+12|0;o=n+8|0;h=n+4|0;m=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ge(k[d>>2]|0)|0;k[o>>2]=a;a=Fe(k[d>>2]|0)|0;k[h>>2]=a;a=ke(k[k[f>>2]>>2]|0)|0;k[j>>2]=a;a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=a;a=le(k[k[f>>2]>>2]|0)|0;k[p>>2]=a;if((k[p>>2]|0)>(k[(k[o>>2]|0)+92+32>>2]|0)){te(k[d>>2]|0,33383,-1);r=n;return}do if((k[e>>2]|0)==3){p=ke(k[(k[f>>2]|0)+8>>2]|0)|0;k[m>>2]=p;if(!(k[m>>2]|0)){r=n;return}if((Sx(k[m>>2]|0,-1)|0)==1){p=zC(m)|0;k[g>>2]=p;break}te(k[d>>2]|0,33416,-1);r=n;return}else k[g>>2]=l[(k[h>>2]|0)+2>>0];while(0);if(!((k[i>>2]|0)!=0&(k[j>>2]|0)!=0)){r=n;return}p=k[d>>2]|0;ue(p,$h(k[j>>2]|0,k[i>>2]|0,k[h>>2]|0,k[g>>2]|0)|0);r=n;return}function yC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+4|0;d=f+12|0;e=f;k[h>>2]=a;k[g>>2]=b;i[d>>0]=c;b=si(k[h>>2]|0,k[g>>2]|0,2,1,0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){r=f;return}h=(k[e>>2]|0)+2|0;j[h>>1]=m[h>>1]|0|(l[d>>0]|0);r=f;return}function zC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;e=k[b>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[c>>2]=l[a>>0];if((k[c>>2]|0)>>>0<192){e=k[c>>2]|0;r=d;return e|0}k[c>>2]=l[26171+((k[c>>2]|0)-192)>>0];while(1){a=k[c>>2]|0;if(((l[k[k[b>>2]>>2]>>0]|0)&192|0)!=128)break;f=k[b>>2]|0;e=k[f>>2]|0;k[f>>2]=e+1;k[c>>2]=(a<<6)+(63&(l[e>>0]|0))}if((a>>>0>=128?(k[c>>2]&-2048|0)!=55296:0)?(k[c>>2]&-2|0)!=65534:0){f=k[c>>2]|0;r=d;return f|0}k[c>>2]=65533;f=k[c>>2]|0;r=d;return f|0}function AC(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+4|0;c=e;k[c>>2]=a;if((i[k[c>>2]>>0]|0)>=48?(i[k[c>>2]>>0]|0)<=50:0)k[b>>2]=(i[k[c>>2]>>0]|0)-48;else d=4;do if((d|0)==4){if(!(sg(k[c>>2]|0,33618)|0)){k[b>>2]=1;break}if(!(sg(k[c>>2]|0,26767)|0)){k[b>>2]=2;break}else{k[b>>2]=0;break}}while(0);r=e;return k[b>>2]|0}function BC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=CC(k[(k[e>>2]|0)+212>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function CC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){if((k[d>>2]|0)<0){b=k[d>>2]|0;b=KR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(k[(k[c>>2]|0)+24>>2]|0)+(k[(k[c>>2]|0)+28>>2]|0)|0;a=IR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;k[d>>2]=a}k[(k[c>>2]|0)+20>>2]=k[d>>2]}a=kj(k[c>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[e>>2]=k[(k[c>>2]|0)+20>>2];e=k[e>>2]|0;r=f;return e|0}function DC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if(!(k[d>>2]|0)){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+16|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function EC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[c>>2]=b;if(!((k[d>>2]|0)!=0&(k[c>>2]|0)!=0)){r=g;return}k[f>>2]=(k[d>>2]|0)+((k[c>>2]|0)*40|0);k[e>>2]=k[(k[d>>2]|0)+32>>2];if(k[(k[e>>2]|0)+456>>2]|0){do{if(k[(k[d>>2]|0)+24>>2]|0)bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}do{c=k[d>>2]|0;if(!((m[(k[d>>2]|0)+8>>1]|0)&9312)){if(k[c+24>>2]|0){bg(k[e>>2]|0,k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+24>>2]=0}}else eh(c);j[(k[d>>2]|0)+8>>1]=128;a=(k[d>>2]|0)+40|0;k[d>>2]=a}while(a>>>0<(k[f>>2]|0)>>>0);r=g;return}function FC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;j=n+8|0;i=n;e=n+44|0;o=n+40|0;f=n+36|0;g=n+32|0;h=n+28|0;l=n+24|0;m=n+48|0;k[e>>2]=a;k[o>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=k[(k[(k[k[e>>2]>>2]|0)+16>>2]|0)+(k[o>>2]<<4)>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>4)break;k[i>>2]=k[h>>2];_d(24,m,34654,i)|0;if(Bi(k[k[e>>2]>>2]|0,m,k[l>>2]|0)|0){o=k[e>>2]|0;d=k[f>>2]|0;c=k[g>>2]|0;k[j>>2]=k[l>>2];k[j+4>>2]=m;k[j+8>>2]=d;k[j+12>>2]=c;cx(o,31526,j)}k[h>>2]=(k[h>>2]|0)+1}r=n;return}function GC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=r;r=r+48|0;g=d;f=d+36|0;h=d+32|0;j=d+28|0;i=d+24|0;e=d+20|0;k[f>>2]=a;k[h>>2]=b;k[j>>2]=c;a=dx(k[f>>2]|0)|0;k[i>>2]=a;a=kA(k[f>>2]|0)|0;k[e>>2]=a;jx(k[i>>2]|0,118,k[h>>2]|0,k[e>>2]|0,k[j>>2]|0)|0;Rx(k[f>>2]|0);a=k[f>>2]|0;i=(k[j>>2]|0)==1?20513:20532;h=k[h>>2]|0;c=k[e>>2]|0;b=k[e>>2]|0;k[g>>2]=k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2];k[g+4>>2]=i;k[g+8>>2]=h;k[g+12>>2]=c;k[g+16>>2]=b;cx(a,34598,g);oA(k[f>>2]|0,k[e>>2]|0);r=d;return}function HC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;l=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=k[k[j>>2]>>2];do if(!(k[m>>2]&(k[m>>2]|0)-1)){k[o>>2]=(k[m>>2]|0)==0?1:k[m>>2]<<1;c=ha(k[o>>2]|0,k[i>>2]|0)|0;c=Uw(k[g>>2]|0,k[h>>2]|0,c,((c|0)<0)<<31>>31)|0;k[n>>2]=c;if(k[n>>2]|0){k[h>>2]=k[n>>2];break}k[k[l>>2]>>2]=-1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}while(0);k[p>>2]=k[h>>2];c=ha(k[m>>2]|0,k[i>>2]|0)|0;DR((k[p>>2]|0)+c|0,0,k[i>>2]|0)|0;k[k[l>>2]>>2]=k[m>>2];p=k[j>>2]|0;k[p>>2]=(k[p>>2]|0)+1;k[f>>2]=k[h>>2];p=k[f>>2]|0;r=q;return p|0}function IC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;o=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[m>>2]=0;k[o>>2]=0;if(k[(k[k[f>>2]>>2]|0)+24>>2]&8388608){b=vx(k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=b}k[n>>2]=k[o>>2];while(1){if(!(k[n>>2]|0))break;if((l[(k[n>>2]|0)+8>>0]|0|0)==(k[h>>2]|0)?(bG(k[(k[n>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)k[m>>2]=k[m>>2]|(l[(k[n>>2]|0)+9>>0]|0);k[n>>2]=k[(k[n>>2]|0)+32>>2]}if(!(k[j>>2]|0)){a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}k[k[j>>2]>>2]=k[m>>2];a=k[m>>2]|0;a=(a|0)!=0;b=k[o>>2]|0;b=a?b:0;r=p;return b|0}function JC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(((l[(k[f>>2]|0)+42>>0]|0)&16|0)!=0?(c=(Qx(k[k[e>>2]>>2]|0,k[f>>2]|0)|0)+4|0,(k[(k[k[c>>2]>>2]|0)+52>>2]|0)==0):0))j=3;do if((j|0)==3){if((((l[(k[f>>2]|0)+42>>0]|0)&1|0)!=0?(k[(k[k[e>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(l[(k[e>>2]|0)+18>>0]|0|0)==0:0)break;if((k[g>>2]|0)==0?(k[(k[f>>2]|0)+12>>2]|0)!=0:0){j=k[e>>2]|0;k[i>>2]=k[k[f>>2]>>2];Mh(j,35765,i);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);j=k[e>>2]|0;k[h>>2]=k[k[f>>2]>>2];Mh(j,35736,h);k[d>>2]=1;j=k[d>>2]|0;r=m;return j|0}function KC(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+89|0;i[a>>0]=i[a>>0]&-5|4;r=b;return}function LC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+128|0;u=O+108|0;v=O+104|0;w=O+100|0;f=O+96|0;q=O+92|0;x=O+88|0;z=O+84|0;h=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;n=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;p=O+20|0;K=O+16|0;L=O+12|0;g=O+8|0;o=O+4|0;G=O+112|0;N=O;k[v>>2]=a;k[w>>2]=b;k[f>>2]=c;k[q>>2]=d;k[x>>2]=e;k[z>>2]=k[k[v>>2]>>2];k[A>>2]=0;k[B>>2]=0;k[p>>2]=0;if(!(k[f>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[(k[v>>2]|0)+536>>2]|0)==0?(k[(k[f>>2]|0)+64>>2]|0)==0:0){if(vx(k[v>>2]|0,k[w>>2]|0)|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[w>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[q>>2]|0)==10){if((j[(k[w>>2]|0)+32>>1]|0)>=0)k[q>>2]=l[(k[w>>2]|0)+43>>0];if((k[q>>2]|0)==10)k[q>>2]=2}if((k[k[(k[f>>2]|0)+28>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[(k[f>>2]|0)+28>>2]|0)+8+20>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+32>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+44>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+36>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+56>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+48>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[f>>2]|0)+8>>2]&1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[h>>2]=k[k[f>>2]>>2];if((k[k[h>>2]>>2]|0)!=1){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((l[k[k[(k[h>>2]|0)+4>>2]>>2]>>0]|0)!=158){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[n>>2]=(k[(k[f>>2]|0)+28>>2]|0)+8;c=ox(k[v>>2]|0,0,k[n>>2]|0)|0;k[I>>2]=c;if(!(k[I>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((k[I>>2]|0)==(k[w>>2]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(((l[(k[w>>2]|0)+42>>0]&32|0)==0|0)!=((l[(k[I>>2]|0)+42>>0]&32|0)==0|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(l[(k[I>>2]|0)+42>>0]&16){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if(k[(k[I>>2]|0)+12>>2]|0){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+34>>1]|0)!=(j[(k[I>>2]|0)+34>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}if((j[(k[w>>2]|0)+32>>1]|0)!=(j[(k[I>>2]|0)+32>>1]|0)){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}k[C>>2]=0;a:while(1){if((k[C>>2]|0)>=(j[(k[w>>2]|0)+34>>1]|0)){f=64;break}k[g>>2]=(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<4);k[o>>2]=(k[(k[I>>2]|0)+4>>2]|0)+(k[C>>2]<<4);if((i[(k[g>>2]|0)+13>>0]|0)!=(i[(k[o>>2]|0)+13>>0]|0)){f=52;break}if(be(k[(k[g>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0){f=54;break}if((l[(k[g>>2]|0)+12>>0]|0)!=0?(i[(k[o>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((k[C>>2]|0)>0){if(((k[(k[g>>2]|0)+4>>2]|0)==0|0)!=((k[(k[o>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(k[(k[g>>2]|0)+4>>2]|0))break;if(RQ(k[(k[(k[g>>2]|0)+4>>2]|0)+8>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);k[C>>2]=(k[C>>2]|0)+1}if((f|0)==52){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==54){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==57){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==62){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else if((f|0)==64){k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;if(l[(k[H>>2]|0)+54>>0]|0)k[p>>2]=1;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(dG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}if(!(k[J>>2]|0)){f=73;break}k[H>>2]=k[(k[H>>2]|0)+20>>2]}if((f|0)==73){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}do if(k[(k[w>>2]|0)+24>>2]|0){if(!(Gy(k[(k[I>>2]|0)+24>>2]|0,k[(k[w>>2]|0)+24>>2]|0,-1)|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);do if(k[(k[z>>2]|0)+24>>2]&524288){if(!(k[(k[w>>2]|0)+16>>2]|0))break;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}while(0);if(k[(k[z>>2]|0)+24>>2]&128){k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}o=Ph(k[z>>2]|0,k[(k[I>>2]|0)+64>>2]|0)|0;k[D>>2]=o;o=dx(k[v>>2]|0)|0;k[M>>2]=o;rx(k[v>>2]|0,k[D>>2]|0);o=(k[v>>2]|0)+72|0;c=k[o>>2]|0;k[o>>2]=c+1;k[F>>2]=c;c=(k[v>>2]|0)+72|0;o=k[c>>2]|0;k[c>>2]=o+1;k[E>>2]=o;o=MC(k[v>>2]|0,k[x>>2]|0,k[w>>2]|0)|0;k[t>>2]=o;o=kA(k[v>>2]|0)|0;k[K>>2]=o;o=kA(k[v>>2]|0)|0;k[L>>2]=o;Pz(k[v>>2]|0,k[E>>2]|0,k[x>>2]|0,k[w>>2]|0,55);do if(!(k[(k[z>>2]|0)+24>>2]&134217728)){if((j[(k[w>>2]|0)+32>>1]|0)<0){if(!((k[p>>2]|0)!=0?1:(k[(k[w>>2]|0)+8>>2]|0)!=0))f=87}else if(!(k[p>>2]|0))f=87;if((f|0)==87?!((k[q>>2]|0)!=2&(k[q>>2]|0)!=1):0)break;p=fx(k[M>>2]|0,108,k[E>>2]|0,0)|0;k[y>>2]=p;p=mx(k[M>>2]|0,13)|0;k[A>>2]=p;Vz(k[M>>2]|0,k[y>>2]|0)}while(0);f=k[v>>2]|0;if(!(l[(k[I>>2]|0)+42>>0]&32)){Pz(f,k[F>>2]|0,k[D>>2]|0,k[I>>2]|0,54);p=fx(k[M>>2]|0,108,k[F>>2]|0,0)|0;k[B>>2]=p;do if((j[(k[w>>2]|0)+32>>1]|0)<0){f=k[M>>2]|0;if(!(k[(k[w>>2]|0)+8>>2]|0)){t=fx(f,74,k[E>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}else{t=fx(f,103,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=t;break}}else{p=fx(k[M>>2]|0,103,k[F>>2]|0,k[L>>2]|0)|0;k[y>>2]=p;p=jx(k[M>>2]|0,70,k[E>>2]|0,0,k[L>>2]|0)|0;k[s>>2]=p;TE(k[v>>2]|0,k[q>>2]|0,k[w>>2]|0);Vz(k[M>>2]|0,k[s>>2]|0);SC(k[v>>2]|0,k[t>>2]|0,k[L>>2]|0)}while(0);fx(k[M>>2]|0,102,k[F>>2]|0,k[K>>2]|0)|0;ix(k[M>>2]|0,75,k[E>>2]|0,k[K>>2]|0,k[L>>2]|0,k[k[w>>2]>>2]|0,0)|0;Rh(k[M>>2]|0,11);fx(k[M>>2]|0,7,k[F>>2]|0,k[y>>2]|0)|0;fx(k[M>>2]|0,61,k[F>>2]|0,0)|0;fx(k[M>>2]|0,61,k[E>>2]|0,0)|0}else{Oz(f,k[x>>2]|0,k[(k[w>>2]|0)+28>>2]|0,1,k[k[w>>2]>>2]|0);Oz(k[v>>2]|0,k[D>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0)}k[H>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;i[G>>0]=0;k[J>>2]=k[(k[I>>2]|0)+8>>2];while(1){if(!(k[J>>2]|0))break;if(dG(k[H>>2]|0,k[J>>2]|0)|0)break;k[J>>2]=k[(k[J>>2]|0)+20>>2]}jx(k[M>>2]|0,54,k[F>>2]|0,k[(k[J>>2]|0)+44>>2]|0,k[D>>2]|0)|0;Qz(k[v>>2]|0,k[J>>2]|0);jx(k[M>>2]|0,55,k[E>>2]|0,k[(k[H>>2]|0)+44>>2]|0,k[x>>2]|0)|0;Qz(k[v>>2]|0,k[H>>2]|0);Rh(k[M>>2]|0,1);w=fx(k[M>>2]|0,108,k[F>>2]|0,0)|0;k[y>>2]=w;fx(k[M>>2]|0,101,k[F>>2]|0,k[K>>2]|0)|0;do if(k[(k[z>>2]|0)+24>>2]&134217728){k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[(k[J>>2]|0)+52>>1]|0))break;k[N>>2]=k[(k[(k[J>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2];if(be(35343,k[N>>2]|0)|0)break;k[C>>2]=(k[C>>2]|0)+1}if((k[C>>2]|0)!=(m[(k[J>>2]|0)+52>>1]|0))break;i[G>>0]=16;jx(k[M>>2]|0,105,k[E>>2]|0,0,-1)|0}while(0);do if(l[(k[I>>2]|0)+42>>0]&32){if((i[(k[H>>2]|0)+55>>0]&3|0)!=2)break;i[G>>0]=l[G>>0]|1}while(0);jx(k[M>>2]|0,110,k[E>>2]|0,k[K>>2]|0,1)|0;Rh(k[M>>2]|0,i[G>>0]|0);fx(k[M>>2]|0,7,k[F>>2]|0,(k[y>>2]|0)+1|0)|0;Vz(k[M>>2]|0,k[y>>2]|0);fx(k[M>>2]|0,61,k[F>>2]|0,0)|0;fx(k[M>>2]|0,61,k[E>>2]|0,0)|0;k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[B>>2]|0)Vz(k[M>>2]|0,k[B>>2]|0);oA(k[v>>2]|0,k[L>>2]|0);oA(k[v>>2]|0,k[K>>2]|0);if(k[A>>2]|0){fx(k[M>>2]|0,21,0,0)|0;Vz(k[M>>2]|0,k[A>>2]|0);fx(k[M>>2]|0,61,k[E>>2]|0,0)|0;k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}else{k[u>>2]=1;N=k[u>>2]|0;r=O;return N|0}}}k[u>>2]=0;N=k[u>>2]|0;r=O;return N|0}function MC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=0;if((l[(k[g>>2]|0)+42>>0]|0)&8){b=k[e>>2]|0;if(k[(k[e>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[j>>2]=b;k[i>>2]=k[(k[j>>2]|0)+412>>2];while(1){if(k[i>>2]|0)a=(k[(k[i>>2]|0)+4>>2]|0)!=(k[g>>2]|0);else a=0;b=k[i>>2]|0;if(!a)break;k[i>>2]=k[b>>2]}do if(!b){e=Vw(k[k[e>>2]>>2]|0,16,0)|0;k[i>>2]=e;if(k[i>>2]|0){k[k[i>>2]>>2]=k[(k[j>>2]|0)+412>>2];k[(k[j>>2]|0)+412>>2]=k[i>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+8>>2]=k[f>>2];f=(k[j>>2]|0)+76|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[j>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[(k[i>>2]|0)+12>>2]=g;j=(k[j>>2]|0)+76|0;k[j>>2]=(k[j>>2]|0)+1;break}k[d>>2]=0;j=k[d>>2]|0;r=m;return j|0}while(0);k[h>>2]=k[(k[i>>2]|0)+12>>2]}k[d>>2]=k[h>>2];j=k[d>>2]|0;r=m;return j|0}function NC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;Nz(k[d>>2]|0,17,k[e>>2]|0)|0;i[(k[(k[d>>2]|0)+24>>2]|0)+19>>0]=0;k[(k[(k[d>>2]|0)+24>>2]|0)+60>>2]=0;r=c;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q+40|0;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;m=q+12|0;j=q+8|0;i=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=dx(k[d>>2]|0)|0;k[o>>2]=c;c=Rz(k[o>>2]|0)|0;k[h>>2]=c;if((l[(k[f>>2]|0)+42>>0]|0)&16)d=Qx(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;else d=0;k[m>>2]=d;k[g>>2]=1;a:while(1){if((k[g>>2]|0)>=(k[h>>2]|0)){d=18;break}c=aA(k[o>>2]|0,k[g>>2]|0)|0;k[j>>2]=c;b:do if((l[k[j>>2]>>0]|0|0)==54?(k[(k[j>>2]|0)+12>>2]|0)==(k[e>>2]|0):0){k[n>>2]=k[(k[j>>2]|0)+8>>2];if((k[n>>2]|0)==(k[(k[f>>2]|0)+28>>2]|0)){d=8;break a}k[i>>2]=k[(k[f>>2]|0)+8>>2];while(1){if(!(k[i>>2]|0))break b;if((k[n>>2]|0)==(k[(k[i>>2]|0)+44>>2]|0)){d=12;break a}k[i>>2]=k[(k[i>>2]|0)+20>>2]}}while(0);if((l[k[j>>2]>>0]|0|0)==152?(k[(k[j>>2]|0)+16>>2]|0)==(k[m>>2]|0):0){d=16;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==8){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==12){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==16){k[p>>2]=1;p=k[p>>2]|0;r=q;return p|0}else if((d|0)==18){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}return 0}function PC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;i=d+16|0;f=d+12|0;g=d+8|0;h=d+4|0;e=d;k[i>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[i>>2]|0)+8>>2];NA(k[i>>2]|0,k[f>>2]|0,k[g>>2]|0);a=(k[i>>2]|0)+76|0;c=(k[a>>2]|0)+1|0;k[a>>2]=c;k[e>>2]=c;fx(k[h>>2]|0,30,k[g>>2]|0,k[e>>2]|0)|0;_A(k[f>>2]|0,k[e>>2]|0);r=d;return}function QC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=c;k[l>>2]=k[(k[e>>2]|0)+20>>2];if(!(k[l>>2]|0)){a=MA(k[d>>2]|0)|0;k[f>>2]=a;a=(j[(k[e>>2]|0)+34>>1]|0)+1|0;a=Kh(0,a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;if(!(k[l>>2]|0)){vh(k[f>>2]|0);r=m;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;i[(k[l>>2]|0)+(k[h>>2]|0)>>0]=i[(k[(k[e>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+13>>0]|0;k[h>>2]=(k[h>>2]|0)+1}do{a=k[h>>2]|0;k[h>>2]=a+-1;i[(k[l>>2]|0)+a>>0]=0;if((k[h>>2]|0)<0)break}while((i[(k[l>>2]|0)+(k[h>>2]|0)>>0]|0)==65);k[(k[e>>2]|0)+20>>2]=k[l>>2]}a=Tf(k[l>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=m;return}d=k[d>>2]|0;if(k[g>>2]|0){ix(d,48,k[g>>2]|0,k[h>>2]|0,0,k[l>>2]|0,k[h>>2]|0)|0;r=m;return}else{Uh(d,-1,k[l>>2]|0,k[h>>2]|0);r=m;return}}function RC(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;v=r;r=r+48|0;j=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;s=v+8|0;t=v+4|0;u=v;k[j>>2]=a;k[w>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[u>>2]=k[w>>2];while(1){if(!(k[u>>2]|0))break;if(((l[(k[u>>2]|0)+8>>0]|0|0)==(k[m>>2]|0)?(l[(k[u>>2]|0)+9>>0]|0|0)==(k[o>>2]|0):0)?(bG(k[(k[u>>2]|0)+16>>2]|0,k[n>>2]|0)|0)!=0:0)aF(k[j>>2]|0,k[u>>2]|0,k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0);k[u>>2]=k[(k[u>>2]|0)+32>>2]}r=v;return}function SC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}fx(k[(k[d>>2]|0)+8>>2]|0,137,k[e>>2]|0,k[f>>2]|0)|0;r=g;return}function TC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((l[(k[d>>2]|0)+23>>0]|0|0)!=0?(VA(k[e>>2]|0)|0)!=0:0){oB(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0,0);r=g;return}NA(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=g;return}function UC(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;c=i+16|0;g=i+12|0;e=i+8|0;f=i+4|0;d=i;k[j>>2]=a;k[c>>2]=b;a=k[j>>2]|0;if(k[(k[j>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[g>>2]=a;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+456>>2]|0))break;if((k[c>>2]|0)==(k[(k[(k[g>>2]|0)+524>>2]|0)+(k[e>>2]<<2)>>2]|0)){h=10;break}k[e>>2]=(k[e>>2]|0)+1}if((h|0)==10){r=i;return}k[f>>2]=(k[(k[g>>2]|0)+456>>2]|0)+1<<2;j=k[f>>2]|0;j=Wd(k[(k[g>>2]|0)+524>>2]|0,j,((j|0)<0)<<31>>31)|0;k[d>>2]=j;if(k[d>>2]|0){k[(k[g>>2]|0)+524>>2]=k[d>>2];h=k[c>>2]|0;f=(k[g>>2]|0)+456|0;j=k[f>>2]|0;k[f>>2]=j+1;k[(k[(k[g>>2]|0)+524>>2]|0)+(j<<2)>>2]=h;r=i;return}else{vh(k[k[g>>2]>>2]|0);r=i;return}} +function AE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=r;r=r+224|0;f=ga+196|0;g=ga+192|0;h=ga+188|0;d=ga+184|0;$=ga+180|0;P=ga+176|0;J=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;D=ga+164|0;E=ga+160|0;F=ga+156|0;W=ga+152|0;p=ga+148|0;s=ga+208|0;e=ga+16|0;x=ga+144|0;w=ga+140|0;K=ga+136|0;X=ga+132|0;G=ga+204|0;Q=ga+128|0;I=ga+124|0;q=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;n=ga+207|0;o=ga+206|0;H=ga+68|0;C=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[k[g>>2]>>2];b=t;k[b>>2]=0;k[b+4>>2]=0;k[Z>>2]=0;k[D>>2]=0;k[E>>2]=0;k[W>>2]=k[k[d>>2]>>2];k[p>>2]=k[k[W>>2]>>2];if(i[(k[p>>2]|0)+69>>0]|0){r=ga;return}k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);k[P>>2]=(k[d>>2]|0)+68;k[J>>2]=k[k[$>>2]>>2];b=YD(k[P>>2]|0,k[(k[J>>2]|0)+12>>2]|0)|0;d=da;k[d>>2]=b;k[d+4>>2]=L;k[F>>2]=l[k[J>>2]>>0];do if((k[F>>2]|0)==75){c=k[P>>2]|0;a=(k[J>>2]|0)+20|0;if(k[(k[J>>2]|0)+4>>2]&2048){b=ZD(c,k[a>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}else{b=zD(c,k[a>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}}else if((k[F>>2]|0)==76){d=(k[$>>2]|0)+32|0;k[d>>2]=0;k[d+4>>2]=0;break}else{b=YD(k[P>>2]|0,k[(k[J>>2]|0)+16>>2]|0)|0;d=(k[$>>2]|0)+32|0;k[d>>2]=b;k[d+4>>2]=L;break}while(0);b=YD(k[P>>2]|0,k[J>>2]|0)|0;d=aa;k[d>>2]=b;k[d+4>>2]=L;if(k[(k[J>>2]|0)+4>>2]&1){c=DD(k[P>>2]|0,j[(k[J>>2]|0)+36>>1]|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L;a=e;c=aa;b=k[c+4>>2]|k[a+4>>2];d=aa;k[d>>2]=k[c>>2]|k[a>>2];k[d+4>>2]=b;d=e;d=yR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=t;k[e>>2]=d;k[e+4>>2]=L}d=aa;c=k[d+4>>2]|0;e=(k[$>>2]|0)+40|0;k[e>>2]=k[d>>2];k[e+4>>2]=c;k[(k[$>>2]|0)+8>>2]=-1;k[(k[$>>2]|0)+4>>2]=-1;j[(k[$>>2]|0)+18>>1]=0;e=(BE(k[F>>2]|0)|0)!=0;c=k[J>>2]|0;a:do if(e){O=hy(k[c+12>>2]|0)|0;k[K>>2]=O;O=hy(k[(k[J>>2]|0)+16>>2]|0)|0;k[X>>2]=O;O=(k[$>>2]|0)+32|0;R=da;j[G>>1]=((k[O>>2]&k[R>>2]|0)==0?(k[O+4>>2]&k[R+4>>2]|0)==0:0)?8191:2048;R=da;if(CE(k[f>>2]|0,k[R>>2]|0,k[R+4>>2]|0,k[K>>2]|0,x,w)|0){k[(k[$>>2]|0)+8>>2]=k[x>>2];k[(k[$>>2]|0)+12>>2]=k[w>>2];R=(DE(k[F>>2]|0)|0)&65535;j[(k[$>>2]|0)+18>>1]=R&m[G>>1]}if((k[F>>2]|0)==73){R=(k[$>>2]|0)+20|0;j[R>>1]=m[R>>1]|2048}if((k[X>>2]|0)!=0?(R=(k[$>>2]|0)+32|0,(CE(k[f>>2]|0,k[R>>2]|0,k[R+4>>2]|0,k[X>>2]|0,x,w)|0)!=0):0){j[q>>1]=0;if((k[(k[$>>2]|0)+8>>2]|0)>=0){X=Dy(k[p>>2]|0,k[J>>2]|0,0)|0;k[I>>2]=X;if(i[(k[p>>2]|0)+69>>0]|0){nv(k[p>>2]|0,k[I>>2]|0);r=ga;return}X=EE(k[g>>2]|0,k[I>>2]|0,3)|0;k[y>>2]=X;if(!(k[y>>2]|0)){r=ga;return}k[Q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);FE(k[g>>2]|0,k[y>>2]|0,k[h>>2]|0);if((k[F>>2]|0)==73){X=(k[Q>>2]|0)+20|0;j[X>>1]=m[X>>1]|2048}k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);X=(k[$>>2]|0)+20|0;j[X>>1]=m[X>>1]|8;if(GE(k[W>>2]|0,k[I>>2]|0)|0){X=(k[$>>2]|0)+18|0;j[X>>1]=m[X>>1]|2048;j[q>>1]=2048}}else{k[I>>2]=k[J>>2];k[Q>>2]=k[$>>2]}HE(k[W>>2]|0,k[I>>2]|0);k[(k[Q>>2]|0)+8>>2]=k[x>>2];k[(k[Q>>2]|0)+12>>2]=k[w>>2];O=da;R=t;da=k[O+4>>2]|k[R+4>>2];X=(k[Q>>2]|0)+32|0;k[X>>2]=k[O>>2]|k[R>>2];k[X+4>>2]=da;X=aa;aa=k[X+4>>2]|0;da=(k[Q>>2]|0)+40|0;k[da>>2]=k[X>>2];k[da+4>>2]=aa;da=(DE(l[k[I>>2]>>0]|0)|0)&65535;j[(k[Q>>2]|0)+18>>1]=da+(m[q>>1]|0)&m[G>>1]}}else{if((l[c>>0]|0)==74?(l[(k[g>>2]|0)+8>>0]|0)==72:0){k[O>>2]=k[(k[J>>2]|0)+20>>2];k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break a;X=k[W>>2]|0;aa=l[35341+(k[u>>2]|0)>>0]|0;da=Dy(k[p>>2]|0,k[(k[J>>2]|0)+12>>2]|0,0)|0;da=Hv(X,aa,da,Dy(k[p>>2]|0,k[(k[(k[O>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[R>>2]=da;IE(k[R>>2]|0,k[J>>2]|0);da=EE(k[g>>2]|0,k[R>>2]|0,3)|0;k[z>>2]=da;AE(k[f>>2]|0,k[g>>2]|0,k[z>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);FE(k[g>>2]|0,k[z>>2]|0,k[h>>2]|0);k[u>>2]=(k[u>>2]|0)+1}}if((l[k[J>>2]>>0]|0)==71){JE(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0)}}while(0);if((l[(k[g>>2]|0)+8>>0]|0)==72?(KE(k[W>>2]|0,k[J>>2]|0,Z,D,E)|0)!=0:0){j[ea>>1]=259;k[M>>2]=k[(k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];ea=Dy(k[p>>2]|0,k[Z>>2]|0,0)|0;k[_>>2]=ea;b:do if((k[E>>2]|0)!=0?(i[(k[k[W>>2]>>2]|0)+69>>0]|0)==0:0){ea=(k[$>>2]|0)+20|0;j[ea>>1]=m[ea>>1]|1024;k[v>>2]=0;while(1){ea=i[(k[(k[Z>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]|0;i[n>>0]=ea;if(!(ea<<24>>24))break b;i[(k[(k[Z>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=i[n>>0]&~(l[19011+(l[n>>0]|0)>>0]&32);i[(k[(k[_>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=i[18221+(l[n>>0]|0)>>0]|0;k[v>>2]=(k[v>>2]|0)+1}}while(0);if(!(i[(k[p>>2]|0)+69>>0]|0)){ea=(Tf(k[(k[_>>2]|0)+8>>2]|0)|0)-1|0;k[H>>2]=(k[(k[_>>2]|0)+8>>2]|0)+ea;i[o>>0]=i[k[H>>2]>>0]|0;if(k[E>>2]|0){if((l[o>>0]|0)==64)k[D>>2]=0;i[o>>0]=i[18221+(l[o>>0]|0)>>0]|0}i[k[H>>2]>>0]=(l[o>>0]|0)+1}k[fa>>2]=(k[E>>2]|0)!=0?21037:35343;da=Dy(k[p>>2]|0,k[M>>2]|0,0)|0;k[S>>2]=da;da=k[W>>2]|0;ea=Ry(k[W>>2]|0,k[S>>2]|0,k[fa>>2]|0)|0;ea=Hv(da,83,ea,k[Z>>2]|0,0)|0;k[S>>2]=ea;IE(k[S>>2]|0,k[J>>2]|0);ea=EE(k[g>>2]|0,k[S>>2]|0,259)|0;k[A>>2]=ea;AE(k[f>>2]|0,k[g>>2]|0,k[A>>2]|0);ea=Dy(k[p>>2]|0,k[M>>2]|0,0)|0;k[T>>2]=ea;ea=k[W>>2]|0;fa=Ry(k[W>>2]|0,k[T>>2]|0,k[fa>>2]|0)|0;fa=Hv(ea,82,fa,k[_>>2]|0,0)|0;k[T>>2]=fa;IE(k[T>>2]|0,k[J>>2]|0);fa=EE(k[g>>2]|0,k[T>>2]|0,259)|0;k[B>>2]=fa;AE(k[f>>2]|0,k[g>>2]|0,k[B>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);if(k[D>>2]|0){FE(k[g>>2]|0,k[A>>2]|0,k[h>>2]|0);FE(k[g>>2]|0,k[B>>2]|0,k[h>>2]|0)}}if((LE(k[J>>2]|0,s)|0)!=0?(k[Y>>2]=k[k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]>>2],k[N>>2]=k[(k[(k[(k[J>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=YD(k[P>>2]|0,k[Y>>2]|0)|0,fa=ca,k[fa>>2]=ea,k[fa+4>>2]=L,fa=YD(k[P>>2]|0,k[N>>2]|0)|0,ea=ba,k[ea>>2]=fa,k[ea+4>>2]=L,ea=ca,fa=ba,(k[ea>>2]&k[fa>>2]|0)==0?(k[ea+4>>2]&k[fa+4>>2]|0)==0:0):0){fa=k[W>>2]|0;fa=Hv(fa,51,0,Dy(k[p>>2]|0,k[Y>>2]|0,0)|0,0)|0;k[U>>2]=fa;fa=EE(k[g>>2]|0,k[U>>2]|0,3)|0;k[C>>2]=fa;k[V>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[C>>2]|0)*48|0);fa=ca;ea=k[fa+4>>2]|0;da=(k[V>>2]|0)+32|0;k[da>>2]=k[fa>>2];k[da+4>>2]=ea;k[(k[V>>2]|0)+8>>2]=k[(k[N>>2]|0)+28>>2];k[(k[V>>2]|0)+12>>2]=j[(k[N>>2]|0)+32>>1];j[(k[V>>2]|0)+18>>1]=64;i[(k[V>>2]|0)+23>>0]=i[s>>0]|0;FE(k[g>>2]|0,k[C>>2]|0,k[h>>2]|0);k[$>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[h>>2]|0)*48|0);da=(k[$>>2]|0)+20|0;j[da>>1]=m[da>>1]|8;da=(k[$>>2]|0)+40|0;ea=k[da+4>>2]|0;fa=(k[V>>2]|0)+40|0;k[fa>>2]=k[da>>2];k[fa+4>>2]=ea}da=t;fa=(k[$>>2]|0)+32|0;ca=fa;ea=k[ca+4>>2]|k[da+4>>2];k[fa>>2]=k[ca>>2]|k[da>>2];k[fa+4>>2]=ea;r=ga;return}function BE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((k[b>>2]|0)!=75?!((k[b>>2]|0)>=79&(k[b>>2]|0)<=83|(k[b>>2]|0)==76):0)b=(k[b>>2]|0)==73;else b=1;r=c;return b&1|0}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,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;p=u+36|0;g=u+32|0;h=u;i=u+28|0;q=u+24|0;s=u+20|0;o=u+16|0;n=u+12|0;t=u+8|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[q>>2]=e;k[s>>2]=f;if((l[k[i>>2]>>0]|0)==152){k[k[q>>2]>>2]=k[(k[i>>2]|0)+28>>2];k[k[s>>2]>>2]=j[(k[i>>2]|0)+32>>1];k[p>>2]=1;t=k[p>>2]|0;r=u;return t|0}e=h;if((k[e>>2]|0)==0&(k[e+4>>2]|0)==0){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}e=h;a=k[e>>2]|0;e=k[e+4>>2]|0;f=h;f=yR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;if((a&f|0)!=0|(e&L|0)!=0){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}k[n>>2]=0;while(1){e=h;f=k[e+4>>2]|0;b=k[n>>2]|0;if(!(f>>>0>0|(f|0)==0&(k[e>>2]|0)>>>0>1))break;k[n>>2]=b+1;f=h;f=AR(k[f>>2]|0,k[f+4>>2]|0,1)|0;e=h;k[e>>2]=f;k[e+4>>2]=L}k[t>>2]=k[(k[g>>2]|0)+8+(b*72|0)+44>>2];k[o>>2]=k[(k[(k[g>>2]|0)+8+((k[n>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(k[o>>2]|0)){b=20;break}b:do if(k[(k[o>>2]|0)+40>>2]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[o>>2]|0)+50>>1]|0))break b;if((j[(k[(k[o>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(Fy(k[i>>2]|0,k[(k[(k[(k[o>>2]|0)+40>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[t>>2]|0)|0)==0:0){b=17;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[o>>2]=k[(k[o>>2]|0)+20>>2]}if((b|0)==17){k[k[q>>2]>>2]=k[t>>2];k[k[s>>2]>>2]=-2;k[p>>2]=1;t=k[p>>2]|0;r=u;return t|0}else if((b|0)==20){k[p>>2]=0;t=k[p>>2]|0;r=u;return t|0}return 0}function DE(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d;c=d+4|0;k[b>>2]=a;do if((k[b>>2]|0)!=75){if((k[b>>2]|0)==76){j[c>>1]=256;break}if((k[b>>2]|0)==73){j[c>>1]=128;break}else{j[c>>1]=2<<(k[b>>2]|0)-79;break}}else j[c>>1]=1;while(0);r=d;return j[c>>1]|0}function EE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+28|0;n=o+12|0;i=o+8|0;l=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;do if((k[(k[e>>2]|0)+12>>2]|0)>=(k[(k[e>>2]|0)+16>>2]|0)){k[l>>2]=k[(k[e>>2]|0)+20>>2];k[h>>2]=k[k[k[k[e>>2]>>2]>>2]>>2];c=Vw(k[h>>2]|0,(k[(k[e>>2]|0)+16>>2]|0)*48<<1,0)|0;k[(k[e>>2]|0)+20>>2]=c;if(k[(k[e>>2]|0)+20>>2]|0){BR(k[(k[e>>2]|0)+20>>2]|0,k[l>>2]|0,(k[(k[e>>2]|0)+12>>2]|0)*48|0)|0;if((k[l>>2]|0)!=((k[e>>2]|0)+24|0))bg(k[h>>2]|0,k[l>>2]|0);c=((pu(k[h>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0)>>>0)/48|0;k[(k[e>>2]|0)+16>>2]=c;DR((k[(k[e>>2]|0)+20>>2]|0)+((k[(k[e>>2]|0)+12>>2]|0)*48|0)|0,0,((k[(k[e>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((m[g>>1]|0)&1)nv(k[h>>2]|0,k[f>>2]|0);k[(k[e>>2]|0)+20>>2]=k[l>>2];k[d>>2]=0;c=k[d>>2]|0;r=o;return c|0}while(0);a=(k[e>>2]|0)+12|0;c=k[a>>2]|0;k[a>>2]=c+1;k[i>>2]=c;k[n>>2]=(k[(k[e>>2]|0)+20>>2]|0)+(c*48|0);if((k[f>>2]|0)!=0?(k[(k[f>>2]|0)+4>>2]&262144|0)!=0:0){c=k[(k[f>>2]|0)+28>>2]|0;c=((Uj(c,((c|0)<0)<<31>>31)|0)<<16>>16)-270&65535;j[(k[n>>2]|0)+16>>1]=c}else j[(k[n>>2]|0)+16>>1]=1;c=hy(k[f>>2]|0)|0;k[k[n>>2]>>2]=c;j[(k[n>>2]|0)+20>>1]=j[g>>1]|0;k[(k[n>>2]|0)+24>>2]=k[e>>2];k[(k[n>>2]|0)+4>>2]=-1;k[d>>2]=k[i>>2];c=k[d>>2]|0;r=o;return c|0}function FE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;g=d+4|0;e=d;k[f>>2]=a;k[g>>2]=b;k[e>>2]=c;k[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+4>>2]=k[e>>2];j[(k[(k[f>>2]|0)+20>>2]|0)+((k[g>>2]|0)*48|0)+16>>1]=j[(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+16>>1]|0;a=(k[(k[f>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0)+22|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;r=d;return}function GE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;h=o+20|0;e=o+16|0;f=o+12|0;c=o+25|0;d=o+24|0;g=o+8|0;j=o+4|0;n=o;k[e>>2]=a;k[f>>2]=b;if(m[(k[k[e>>2]>>2]|0)+64>>1]&512){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if((l[k[f>>2]>>0]|0)!=79?(l[k[f>>2]>>0]|0)!=73:0){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}if(k[(k[f>>2]|0)+4>>2]&1){k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}a=by(k[(k[f>>2]|0)+12>>2]|0)|0;i[c>>0]=a;a=by(k[(k[f>>2]|0)+16>>2]|0)|0;i[d>>0]=a;do if((i[c>>0]|0)!=(i[d>>0]|0)){if((i[c>>0]|0)>=67?(i[d>>0]|0)>=67:0)break;k[h>>2]=0;n=k[h>>2]|0;r=o;return n|0}while(0);a=jB(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)!=0?(sg(k[k[g>>2]>>2]|0,35343)|0)!=0:0){a=cy(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;k[g>>2]=a;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[j>>2]=c;f=cy(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0)|0;k[g>>2]=f;if(k[g>>2]|0)c=k[k[g>>2]>>2]|0;else c=0;k[n>>2]=c;n=(sg(k[j>>2]|0,k[n>>2]|0)|0)==0&1;k[h>>2]=n;n=k[h>>2]|0;r=o;return n|0}k[h>>2]=1;n=k[h>>2]|0;r=o;return n|0}function HE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+8|0;d=g+4|0;e=g+14|0;h=g+12|0;f=g;k[c>>2]=a;k[d>>2]=b;j[e>>1]=k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]&256;j[h>>1]=k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]&256;do if((m[e>>1]|0)==(m[h>>1]|0)){if(j[e>>1]|0){h=(k[(k[d>>2]|0)+16>>2]|0)+4|0;k[h>>2]=k[h>>2]&-257;break}if(cy(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0)|0){h=(k[(k[d>>2]|0)+12>>2]|0)+4|0;k[h>>2]=k[h>>2]|256}}while(0);k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[d>>2]|0)+12>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];if((l[k[d>>2]>>0]|0)<80){r=g;return}i[k[d>>2]>>0]=((l[k[d>>2]>>0]|0)-80^2)+80;r=g;return}function IE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[c>>2]|0)){r=e;return}a=(k[c>>2]|0)+4|0;k[a>>2]=k[a>>2]|k[(k[d>>2]|0)+4>>2]&1;j[(k[c>>2]|0)+36>>1]=j[(k[d>>2]|0)+36>>1]|0;r=e;return}function JE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=r;r=r+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;C=V+136|0;S=V+132|0;K=V+128|0;D=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;h=V+16|0;o=V+108|0;q=V+104|0;p=V+100|0;n=V+96|0;d=V+8|0;e=V;u=V+92|0;f=V+88|0;s=V+84|0;g=V+80|0;v=V+76|0;I=V+72|0;E=V+68|0;F=V+64|0;H=V+60|0;z=V+56|0;A=V+52|0;J=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;G=V+32|0;k[w>>2]=a;k[x>>2]=b;k[y>>2]=c;k[T>>2]=k[k[x>>2]>>2];k[R>>2]=k[k[T>>2]>>2];k[C>>2]=k[k[R>>2]>>2];k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);k[K>>2]=k[k[S>>2]>>2];b=Bh(k[C>>2]|0,416,0)|0;k[t>>2]=b;k[(k[S>>2]|0)+12>>2]=b;if(!(k[t>>2]|0)){r=V;return}b=(k[S>>2]|0)+20|0;j[b>>1]=m[b>>1]|16;k[Q>>2]=k[t>>2];DR((k[Q>>2]|0)+24|0,0,384)|0;qD(k[Q>>2]|0,k[T>>2]|0);rD(k[Q>>2]|0,k[K>>2]|0,71);uD(k[w>>2]|0,k[Q>>2]|0);if(i[(k[C>>2]|0)+69>>0]|0){r=V;return}b=h;k[b>>2]=-1;k[b+4>>2]=-1;b=B;k[b>>2]=-1;k[b+4>>2]=-1;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){b=h;if(!((k[D>>2]|0)>=0?(k[b>>2]|0)!=0|(k[b+4>>2]|0)!=0:0))break;do if(!(m[(k[P>>2]|0)+18>>1]&511)){b=B;k[b>>2]=0;k[b+4>>2]=0;b=Vw(k[C>>2]|0,408,0)|0;k[o>>2]=b;if(k[o>>2]|0){b=d;k[b>>2]=0;k[b+4>>2]=0;k[(k[P>>2]|0)+12>>2]=k[o>>2];b=(k[P>>2]|0)+20|0;j[b>>1]=m[b>>1]|32;j[(k[P>>2]|0)+18>>1]=1024;k[q>>2]=k[o>>2];DR((k[q>>2]|0)+24|0,0,384)|0;qD(k[q>>2]|0,k[k[x>>2]>>2]|0);rD(k[q>>2]|0,k[k[P>>2]>>2]|0,72);uD(k[w>>2]|0,k[q>>2]|0);k[(k[q>>2]|0)+4>>2]=k[x>>2];a:do if(!(i[(k[C>>2]|0)+69>>0]|0)){k[n>>2]=0;k[p>>2]=k[(k[q>>2]|0)+20>>2];while(1){if((k[n>>2]|0)>=(k[(k[q>>2]|0)+12>>2]|0))break a;if(BE(l[k[k[p>>2]>>2]>>0]|0)|0){c=DD((k[T>>2]|0)+68|0,k[(k[p>>2]|0)+8>>2]|0)|0;W=d;a=k[W+4>>2]|L;b=d;k[b>>2]=k[W>>2]|c;k[b+4>>2]=a}k[n>>2]=(k[n>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+48}}while(0);a=d;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b}}else if(!(m[(k[P>>2]|0)+20>>1]&8)){b=DD((k[T>>2]|0)+68|0,k[(k[P>>2]|0)+8>>2]|0)|0;W=e;k[W>>2]=b;k[W+4>>2]=L;if(m[(k[P>>2]|0)+20>>1]&2){k[u>>2]=(k[(k[Q>>2]|0)+20>>2]|0)+((k[(k[P>>2]|0)+4>>2]|0)*48|0);a=DD((k[T>>2]|0)+68|0,k[(k[u>>2]|0)+8>>2]|0)|0;c=e;b=k[c+4>>2]|L;W=e;k[W>>2]=k[c>>2]|a;k[W+4>>2]=b}a=e;c=h;b=k[c+4>>2]&k[a+4>>2];W=h;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;if(!(m[(k[P>>2]|0)+18>>1]&2)){W=B;k[W>>2]=0;k[W+4>>2]=0;break}else{a=e;c=B;b=k[c+4>>2]&k[a+4>>2];W=B;k[W>>2]=k[c>>2]&k[a>>2];k[W+4>>2]=b;break}}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}a=h;b=k[a+4>>2]|0;W=(k[t>>2]|0)+408|0;k[W>>2]=k[a>>2];k[W+4>>2]=b;W=h;j[(k[S>>2]|0)+18>>1]=(k[W>>2]|0)==0&(k[W+4>>2]|0)==0?0:512;W=h;b:do if((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0?(k[(k[Q>>2]|0)+12>>2]|0)==2:0){k[f>>2]=0;c:while(1){b=k[(k[Q>>2]|0)+20>>2]|0;W=k[f>>2]|0;k[f>>2]=W+1;W=QE(b,W)|0;k[s>>2]=W;if(!W)break b;k[g>>2]=0;while(1){b=(k[(k[Q>>2]|0)+20>>2]|0)+48|0;W=k[g>>2]|0;k[g>>2]=W+1;W=QE(b,W)|0;k[v>>2]=W;if(!W)continue c;RE(k[w>>2]|0,k[x>>2]|0,k[s>>2]|0,k[v>>2]|0)}}}while(0);W=B;if(!((k[W>>2]|0)!=0|(k[W+4>>2]|0)!=0)){r=V;return}k[I>>2]=0;k[E>>2]=-1;k[F>>2]=-1;k[H>>2]=0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=2)break;if(!((k[I>>2]|0)!=0^1))break;k[P>>2]=k[(k[Q>>2]|0)+20>>2];k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;while(1){if((k[D>>2]|0)<0)break;W=(k[P>>2]|0)+20|0;j[W>>1]=m[W>>1]&-65;if((k[(k[P>>2]|0)+8>>2]|0)!=(k[F>>2]|0)?(W=B,v=k[W>>2]|0,W=k[W+4>>2]|0,b=DD((k[T>>2]|0)+68|0,k[(k[P>>2]|0)+8>>2]|0)|0,!((v&b|0)==0&(W&L|0)==0)):0){U=36;break}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}if((U|0)==36){U=0;k[E>>2]=k[(k[P>>2]|0)+12>>2];k[F>>2]=k[(k[P>>2]|0)+8>>2]}if((k[D>>2]|0)<0)break;k[I>>2]=1;while(1){if(!((k[D>>2]|0)>=0?(k[I>>2]|0)!=0:0))break;d=k[P>>2]|0;do if((k[(k[P>>2]|0)+8>>2]|0)!=(k[F>>2]|0)){W=d+20|0;j[W>>1]=m[W>>1]&-65}else{if((k[d+12>>2]|0)!=(k[E>>2]|0)){k[I>>2]=0;break}W=(by(k[(k[k[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;k[A>>2]=W;W=(by(k[(k[k[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;k[z>>2]=W;if((k[A>>2]|0)!=0?(k[A>>2]|0)!=(k[z>>2]|0):0){k[I>>2]=0;break}W=(k[P>>2]|0)+20|0;j[W>>1]=m[W>>1]|64}while(0);k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}k[H>>2]=(k[H>>2]|0)+1}if(!(k[I>>2]|0)){r=V;return}k[N>>2]=0;k[M>>2]=0;k[D>>2]=(k[(k[Q>>2]|0)+12>>2]|0)-1;k[P>>2]=k[(k[Q>>2]|0)+20>>2];while(1){if((k[D>>2]|0)<0)break;if(m[(k[P>>2]|0)+20>>1]&64){W=Dy(k[C>>2]|0,k[(k[k[P>>2]>>2]|0)+16>>2]|0,0)|0;k[J>>2]=W;W=Wv(k[k[T>>2]>>2]|0,k[N>>2]|0,k[J>>2]|0)|0;k[N>>2]=W;k[M>>2]=k[(k[k[P>>2]>>2]|0)+12>>2]}k[D>>2]=(k[D>>2]|0)+-1;k[P>>2]=(k[P>>2]|0)+48}W=Dy(k[C>>2]|0,k[M>>2]|0,0)|0;k[J>>2]=W;W=Hv(k[R>>2]|0,75,k[J>>2]|0,0,0)|0;k[O>>2]=W;if(k[O>>2]|0){IE(k[O>>2]|0,k[K>>2]|0);k[(k[O>>2]|0)+20>>2]=k[N>>2];W=EE(k[x>>2]|0,k[O>>2]|0,3)|0;k[G>>2]=W;AE(k[w>>2]|0,k[x>>2]|0,k[G>>2]|0);k[S>>2]=(k[(k[x>>2]|0)+20>>2]|0)+((k[y>>2]|0)*48|0);FE(k[x>>2]|0,k[G>>2]|0,k[y>>2]|0)}else jv(k[C>>2]|0,k[N>>2]|0);j[(k[S>>2]|0)+18>>1]=4096;r=V;return}function KE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=r;r=r+96|0;q=F+80|0;s=F+76|0;f=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;h=F+48|0;m=F+44|0;o=F+40|0;v=F+36|0;p=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;n=F+16|0;g=F+12|0;y=F+8|0;D=F+4|0;B=F;k[s>>2]=a;k[f>>2]=b;k[t>>2]=c;k[u>>2]=d;k[G>>2]=e;k[E>>2]=0;k[w>>2]=k[k[s>>2]>>2];k[A>>2]=0;if(!(ME(k[w>>2]|0,k[f>>2]|0,k[G>>2]|0,p)|0)){k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}k[m>>2]=k[(k[f>>2]|0)+20>>2];k[h>>2]=k[(k[(k[m>>2]|0)+4>>2]|0)+20>>2];if(((l[k[h>>2]>>0]|0)==152?((by(k[h>>2]|0)|0)<<24>>24|0)==66:0)?(l[(k[(k[h>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){G=hy(k[k[(k[m>>2]|0)+4>>2]>>2]|0)|0;k[z>>2]=G;k[x>>2]=l[k[z>>2]>>0];if((k[x>>2]|0)!=135){if((k[x>>2]|0)==97)k[E>>2]=k[(k[z>>2]|0)+8>>2]}else{k[n>>2]=k[(k[s>>2]|0)+480>>2];k[g>>2]=j[(k[z>>2]|0)+32>>1];G=NE(k[n>>2]|0,k[g>>2]|0,65)|0;k[A>>2]=G;if((k[A>>2]|0)!=0?(pe(k[A>>2]|0)|0)==3:0){G=ke(k[A>>2]|0)|0;k[E>>2]=G}OE(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0)}do if(k[E>>2]|0){k[v>>2]=0;while(1){G=i[(k[E>>2]|0)+(k[v>>2]|0)>>0]|0;k[o>>2]=G;if(((G|0)!=0?(k[o>>2]|0)!=(i[p>>0]|0):0)?(k[o>>2]|0)!=(i[p+1>>0]|0):0)f=(k[o>>2]|0)!=(i[p+2>>0]|0);else f=0;g=k[v>>2]|0;if(!f)break;k[v>>2]=g+1}if((g|0)!=0?255!=(l[(k[E>>2]|0)+((k[v>>2]|0)-1)>>0]|0):0){if((k[o>>2]|0)==(i[p>>0]|0))f=(i[(k[E>>2]|0)+((k[v>>2]|0)+1)>>0]|0)==0;else f=0;k[k[u>>2]>>2]=f&1;G=Zv(k[w>>2]|0,97,k[E>>2]|0)|0;k[y>>2]=G;if(k[y>>2]|0)i[(k[(k[y>>2]|0)+8>>2]|0)+(k[v>>2]|0)>>0]=0;k[k[t>>2]>>2]=k[y>>2];if((k[x>>2]|0)!=135)break;k[D>>2]=k[(k[s>>2]|0)+8>>2];OE(k[D>>2]|0,j[(k[z>>2]|0)+32>>1]|0);if(!(k[k[u>>2]>>2]|0))break;if(!(i[(k[(k[z>>2]|0)+8>>2]|0)+1>>0]|0))break;G=kA(k[s>>2]|0)|0;k[B>>2]=G;OA(k[s>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;G=k[D>>2]|0;PE(G,(Rz(k[D>>2]|0)|0)-1|0,0);oA(k[s>>2]|0,k[B>>2]|0);break}k[E>>2]=0}while(0);k[C>>2]=(k[E>>2]|0)!=0&1;lh(k[A>>2]|0);k[q>>2]=k[C>>2];G=k[q>>2]|0;r=F;return G|0}k[q>>2]=0;G=k[q>>2]|0;r=F;return G|0}function LE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+64|0;g=m+56|0;e=m+52|0;h=m+48|0;j=m+16|0;d=m+8|0;c=m+4|0;f=m;k[e>>2]=a;k[h>>2]=b;k[j>>2]=k[1569];k[j+4>>2]=k[1570];k[j+8>>2]=k[1571];k[j+12>>2]=k[1572];k[j+16>>2]=k[1573];k[j+20>>2]=k[1574];k[j+24>>2]=k[1575];k[j+28>>2]=k[1576];if((l[k[e>>2]>>0]|0|0)!=151){k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}k[d>>2]=k[(k[e>>2]|0)+20>>2];if((k[d>>2]|0)!=0?(k[k[d>>2]>>2]|0)==2:0){k[c>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+20>>2];if((l[k[c>>2]>>0]|0|0)==152?((l[(k[(k[c>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=4){c=14;break}b=(sg(k[(k[e>>2]|0)+8>>2]|0,k[j+(k[f>>2]<<3)>>2]|0)|0)==0;a=k[f>>2]|0;if(b){c=12;break}k[f>>2]=a+1}if((c|0)==12){i[k[h>>2]>>0]=i[j+(a<<3)+4>>0]|0;k[g>>2]=1;j=k[g>>2]|0;r=m;return j|0}else if((c|0)==14){k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}}k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}function ME(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0;o=r;r=r+32|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;j=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if(((l[k[g>>2]>>0]|0|0)==151?(k[(k[g>>2]|0)+20>>2]|0)!=0:0)?(k[k[(k[g>>2]|0)+20>>2]>>2]|0)==2:0){c=si(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0,2,1,0)|0;k[n>>2]=c;if((k[n>>2]|0)!=0?((m[(k[n>>2]|0)+2>>1]|0)&4|0)!=0:0){c=k[j>>2]|0;b=k[(k[n>>2]|0)+4>>2]|0;i[c>>0]=i[b>>0]|0;i[c+1>>0]=i[b+1>>0]|0;i[c+2>>0]=i[b+2>>0]|0;k[k[h>>2]>>2]=((m[(k[n>>2]|0)+2>>1]|0)&8|0)==0&1;k[e>>2]=1;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}k[e>>2]=0;c=k[e>>2]|0;r=o;return c|0}function NE(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,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+20|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;if((k[e>>2]|0)!=0?(k[h>>2]=(k[(k[e>>2]|0)+60>>2]|0)+(((k[f>>2]|0)-1|0)*40|0),0==((m[(k[h>>2]|0)+8>>1]|0)&1|0)):0){a=fi(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;if(k[j>>2]|0){sh(k[j>>2]|0,k[h>>2]|0)|0;Bx(k[j>>2]|0,i[g>>0]|0,1)}k[d>>2]=k[j>>2];a=k[d>>2]|0;r=l;return a|0}k[d>>2]=0;a=k[d>>2]|0;r=l;return a|0}function OE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>32){k[(k[c>>2]|0)+188>>2]=-1;r=e;return}else{a=(k[c>>2]|0)+188|0;k[a>>2]=k[a>>2]|1<<(k[d>>2]|0)-1;r=e;return}}function PE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(aA(k[f>>2]|0,k[e>>2]|0)|0)+12|0;k[c>>2]=a;r=d;return}function QE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;if((m[(k[d>>2]|0)+18>>1]|0|0)!=1024){k[c>>2]=(b|0)==0?k[d>>2]|0:0;e=k[c>>2]|0;r=f;return e|0}if((b|0)<(k[(k[(k[d>>2]|0)+12>>2]|0)+12>>2]|0)){k[c>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+20>>2]|0)+((k[e>>2]|0)*48|0);e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function RE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;h=s+28|0;l=s+24|0;e=s+20|0;f=s+16|0;n=s+32|0;g=s+12|0;q=s+8|0;p=s+4|0;o=s;k[h>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=d;j[n>>1]=m[(k[e>>2]|0)+18>>1]|0|(m[(k[f>>2]|0)+18>>1]|0);if(!((m[(k[e>>2]|0)+18>>1]|0)&62)){r=s;return}if(!((m[(k[f>>2]|0)+18>>1]|0)&62)){r=s;return}if(((m[n>>1]|0)&26|0)!=(m[n>>1]|0|0)?((m[n>>1]|0)&38|0)!=(m[n>>1]|0|0):0){r=s;return}if(Fy(k[(k[k[e>>2]>>2]|0)+12>>2]|0,k[(k[k[f>>2]>>2]|0)+12>>2]|0,-1)|0){r=s;return}if(Fy(k[(k[k[e>>2]>>2]|0)+16>>2]|0,k[(k[k[f>>2]>>2]|0)+16>>2]|0,-1)|0){r=s;return}do if((m[n>>1]|0)&(m[n>>1]|0)-1)if((m[n>>1]|0)&24){j[n>>1]=8;break}else{j[n>>1]=32;break}while(0);k[g>>2]=k[k[k[k[l>>2]>>2]>>2]>>2];b=Dy(k[g>>2]|0,k[k[e>>2]>>2]|0,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){r=s;return}k[p>>2]=79;while(1){e=k[p>>2]|0;if((m[n>>1]|0|0)==(2<<(k[p>>2]|0)-79|0))break;k[p>>2]=e+1}i[k[q>>2]>>0]=e;q=EE(k[l>>2]|0,k[q>>2]|0,3)|0;k[o>>2]=q;AE(k[h>>2]|0,k[l>>2]|0,k[o>>2]|0);r=s;return}function SE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+48|0;g=e+36|0;h=e+32|0;f=e+28|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;i[d+20>>0]=0;k[d+4>>2]=199;k[d+24>>2]=k[h>>2];ry(d,k[g>>2]|0)|0;if(k[f>>2]|0){h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}h=d+20|0;i[h>>0]=(l[h>>0]|0)&-3;h=d+20|0;h=i[h>>0]|0;h=h<<24>>24!=0;h=h^1;h=h&1;r=e;return h|0}function TE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;i=m+8|0;h=m;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[k[d>>2]>>2]|0;b=k[k[f>>2]>>2]|0;if((j[(k[f>>2]|0)+32>>1]|0)>=0){f=k[(k[(k[f>>2]|0)+4>>2]|0)+(j[(k[f>>2]|0)+32>>1]<<4)>>2]|0;k[h>>2]=b;k[h+4>>2]=f;f=Nh(a,30741,h)|0;k[l>>2]=f;k[g>>2]=1555;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;rA(f,h,i,l,-1,2);r=m;return}else{k[i>>2]=b;f=Nh(a,35727,i)|0;k[l>>2]=f;k[g>>2]=2579;f=k[d>>2]|0;h=k[g>>2]|0;i=k[e>>2]|0;l=k[l>>2]|0;rA(f,h,i,l,-1,2);r=m;return}}function UE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;j=l+20|0;m=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;a:do if(k[(k[k[m>>2]>>2]|0)+24>>2]&524288){c=k[e>>2]|0;if(!(k[f>>2]|0)){if(Ux(c)|0)c=1;else c=(k[(k[e>>2]|0)+16>>2]|0)!=0;k[j>>2]=c&1;m=k[j>>2]|0;r=l;return m|0}k[h>>2]=k[c+16>>2];while(1){c=k[e>>2]|0;if(!(k[h>>2]|0))break;if(_C(c,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){i=9;break}k[h>>2]=k[(k[h>>2]|0)+4>>2]}if((i|0)==9){k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}m=Ux(c)|0;k[h>>2]=m;while(1){if(!(k[h>>2]|0))break a;if(bD(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)break;k[h>>2]=k[(k[h>>2]|0)+12>>2]}k[j>>2]=1;m=k[j>>2]|0;r=l;return m|0}while(0);k[j>>2]=0;m=k[j>>2]|0;r=l;return m|0}function VE(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+20>>0]=1;r=c;return}function WE(a,b,c,d,e,f,g,h,m,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+64|0;p=K+48|0;q=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;k[p>>2]=a;k[q>>2]=b;k[t>>2]=c;k[u>>2]=d;k[v>>2]=e;k[w>>2]=f;j[x>>1]=g;i[y>>0]=h;i[z>>0]=m;i[A>>0]=n;k[s>>2]=o;k[I>>2]=k[(k[p>>2]|0)+8>>2];k[E>>2]=0;c=Sz(k[I>>2]|0)|0;k[D>>2]=c;i[G>>0]=(l[(k[q>>2]|0)+42>>0]&32|0)==0?70:68;if(!(l[A>>0]|0))Qh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;c=(UE(k[p>>2]|0,k[q>>2]|0,0,0)|0)!=0;if(c|(k[t>>2]|0)!=0){c=YE(k[p>>2]|0,k[t>>2]|0,0,0,3,k[q>>2]|0,l[z>>0]|0)|0;k[F>>2]=c;c=ZE(k[p>>2]|0,k[q>>2]|0)|0;k[F>>2]=k[F>>2]|c;k[E>>2]=(k[(k[p>>2]|0)+76>>2]|0)+1;c=(k[p>>2]|0)+76|0;k[c>>2]=(k[c>>2]|0)+(1+(j[(k[q>>2]|0)+34>>1]|0));fx(k[I>>2]|0,30,k[w>>2]|0,k[E>>2]|0)|0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[q>>2]|0)+34>>1]|0))break;if((k[F>>2]|0)!=-1){if((k[C>>2]|0)<=31?(k[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;JA(k[I>>2]|0,k[q>>2]|0,k[u>>2]|0,k[C>>2]|0,(k[E>>2]|0)+(k[C>>2]|0)+1|0)}k[C>>2]=(k[C>>2]|0)+1}J=Rz(k[I>>2]|0)|0;k[B>>2]=J;RC(k[p>>2]|0,k[t>>2]|0,109,0,1,k[q>>2]|0,k[E>>2]|0,l[z>>0]|0,k[D>>2]|0);J=k[B>>2]|0;if((J|0)<(Rz(k[I>>2]|0)|0))Qh(k[I>>2]|0,l[G>>0]|0,k[u>>2]|0,k[D>>2]|0,k[w>>2]|0,j[x>>1]|0)|0;WC(k[p>>2]|0,k[q>>2]|0,k[E>>2]|0,0,0,0)}if(k[(k[q>>2]|0)+12>>2]|0){a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;_E(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;RC(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;Wz(I,J);r=K;return}i[H>>0]=0;XE(k[p>>2]|0,k[q>>2]|0,k[u>>2]|0,k[v>>2]|0,0,k[s>>2]|0);fx(k[I>>2]|0,95,k[u>>2]|0,(l[y>>0]|0)!=0?1:0)|0;if(i[y>>0]|0)Uh(k[I>>2]|0,-1,k[k[q>>2]>>2]|0,0);if(l[A>>0]|0)Rh(k[I>>2]|0,4);if((k[s>>2]|0)>=0)Nz(k[I>>2]|0,95,k[s>>2]|0)|0;if((l[A>>0]|0)==2)i[H>>0]=l[H>>0]|2;Rh(k[I>>2]|0,i[H>>0]|0);a=k[p>>2]|0;H=k[q>>2]|0;G=k[E>>2]|0;_E(a,H,0,G,0,0);G=k[p>>2]|0;H=k[t>>2]|0;a=k[q>>2]|0;b=k[E>>2]|0;c=i[z>>0]|0;c=c&255;J=k[D>>2]|0;RC(G,H,109,0,2,a,b,c,J);I=k[I>>2]|0;J=k[D>>2]|0;Wz(I,J);r=K;return}function XE(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,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+64|0;h=y+48|0;g=y+44|0;i=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;v=y+20|0;q=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[v>>2]=-1;k[u>>2]=0;k[w>>2]=k[(k[h>>2]|0)+8>>2];if(!((l[(k[g>>2]|0)+42>>0]|0)&32))e=0;else e=Rj(k[g>>2]|0)|0;k[t>>2]=e;k[p>>2]=0;k[s>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[s>>2]|0))break;if(!((k[n>>2]|0)!=0?(k[(k[n>>2]|0)+(k[p>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(k[s>>2]|0)!=(k[t>>2]|0)):0)?((k[m>>2]|0)+(k[p>>2]|0)|0)!=(k[o>>2]|0):0){e=lA(k[h>>2]|0,k[s>>2]|0,k[i>>2]|0,0,1,q,k[u>>2]|0,k[v>>2]|0)|0;k[v>>2]=e;e=k[s>>2]|0;if((l[(k[s>>2]|0)+55>>0]|0)>>>3&1)e=j[e+50>>1]|0;else e=j[e+52>>1]|0;jx(k[w>>2]|0,111,(k[m>>2]|0)+(k[p>>2]|0)|0,k[v>>2]|0,e&65535)|0;mA(k[h>>2]|0,k[q>>2]|0);k[u>>2]=k[s>>2]}k[p>>2]=(k[p>>2]|0)+1;k[s>>2]=k[(k[s>>2]|0)+20>>2]}r=y;return}function YE(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;h=u+40|0;v=u+36|0;i=u+32|0;j=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;q=u+12|0;p=u+8|0;s=u+4|0;t=u;k[h>>2]=a;k[v>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[q>>2]=(k[i>>2]|0)!=0?110:109;k[p>>2]=0;k[s>>2]=k[v>>2];while(1){if(!(k[s>>2]|0))break;if((((l[(k[s>>2]|0)+8>>0]|0|0)==(k[q>>2]|0)?(k[m>>2]&(l[(k[s>>2]|0)+9>>0]|0)|0)!=0:0)?(bG(k[(k[s>>2]|0)+16>>2]|0,k[i>>2]|0)|0)!=0:0)?(v=bF(k[h>>2]|0,k[s>>2]|0,k[n>>2]|0,k[o>>2]|0)|0,k[t>>2]=v,(k[t>>2]|0)!=0):0)k[p>>2]=k[p>>2]|k[(k[t>>2]|0)+16+(k[j>>2]<<2)>>2];k[s>>2]=k[(k[s>>2]|0)+32>>2]}r=u;return k[p>>2]|0}function ZE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[(k[k[c>>2]>>2]|0)+24>>2]&524288)){h=k[f>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[g>>2]|0))break;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0))break;if((k[(k[g>>2]|0)+36+(k[e>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(k[e>>2]<<3)>>2];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}k[g>>2]=k[(k[g>>2]|0)+4>>2]}b=Ux(k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break;k[h>>2]=0;rC(k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,h,0)|0;a:do if(k[h>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[h>>2]|0)+50>>1]|0))break a;if((j[(k[(k[h>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];k[f>>2]=k[f>>2]|a;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[g>>2]=k[(k[g>>2]|0)+12>>2]}h=k[f>>2]|0;r=i;return h|0}function _E(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;l=q+12|0;m=q+8|0;o=q+4|0;n=q;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;if(!(k[(k[k[g>>2]>>2]|0)+24>>2]&524288)){r=q;return}d=Ux(k[h>>2]|0)|0;k[o>>2]=d;while(1){if(!(k[o>>2]|0))break;if(!((k[l>>2]|0)!=0?(bD(k[h>>2]|0,k[o>>2]|0,k[l>>2]|0,k[m>>2]|0)|0)==0:0))p=6;if((p|0)==6?(p=0,d=$E(k[g>>2]|0,k[h>>2]|0,k[o>>2]|0,k[i>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)!=0):0)aF(k[g>>2]|0,k[n>>2]|0,k[h>>2]|0,k[j>>2]|0,2,0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}r=q;return}function $E(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=r;r=r+144|0;e=N+136|0;f=N+132|0;g=N+128|0;h=N+124|0;m=N+120|0;p=N+116|0;n=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;o=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;q=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;k[p>>2]=k[k[f>>2]>>2];k[s>>2]=(k[m>>2]|0)!=0&1;k[n>>2]=l[(k[h>>2]|0)+25+(k[s>>2]|0)>>0];if((k[n>>2]|0)==6?(k[(k[p>>2]|0)+24>>2]&16777216|0)!=0:0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[D>>2]=k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2];if(!((k[n>>2]|0)==0|(k[D>>2]|0)!=0)){k[x>>2]=0;k[o>>2]=0;k[C>>2]=0;k[F>>2]=0;k[y>>2]=0;k[B>>2]=0;k[E>>2]=0;if(rC(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,x,o)|0){k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}k[q>>2]=0;while(1){if((k[q>>2]|0)>=(k[(k[h>>2]|0)+20>>2]|0))break;k[J>>2]=k[1577];k[J+4>>2]=k[1578];k[I>>2]=k[1579];k[I+4>>2]=k[1580];if(k[o>>2]|0)d=k[(k[o>>2]|0)+(k[q>>2]<<2)>>2]|0;else d=k[(k[h>>2]|0)+36>>2]|0;k[t>>2]=d;if(k[x>>2]|0)d=j[(k[(k[x>>2]|0)+4>>2]|0)+(k[q>>2]<<1)>>1]|0;else d=j[(k[g>>2]|0)+32>>1]|0;Sy(K,k[(k[(k[g>>2]|0)+4>>2]|0)+(d<<16>>16<<4)>>2]|0);Sy(H,k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)>>2]|0);a=k[f>>2]|0;c=k[f>>2]|0;b=sz(k[p>>2]|0,27,J,0)|0;b=Hv(c,122,b,sz(k[p>>2]|0,27,K,0)|0,0)|0;b=Hv(a,79,b,sz(k[p>>2]|0,27,H,0)|0,0)|0;k[w>>2]=b;b=qz(k[p>>2]|0,k[F>>2]|0,k[w>>2]|0)|0;k[F>>2]=b;if(k[m>>2]|0){d=k[f>>2]|0;a=k[f>>2]|0;c=sz(k[p>>2]|0,27,J,0)|0;c=Hv(a,122,c,sz(k[p>>2]|0,27,K,0)|0,0)|0;a=k[f>>2]|0;b=sz(k[p>>2]|0,27,I,0)|0;b=Hv(d,73,c,Hv(a,122,b,sz(k[p>>2]|0,27,K,0)|0,0)|0,0)|0;k[w>>2]=b;b=qz(k[p>>2]|0,k[E>>2]|0,k[w>>2]|0)|0;k[E>>2]=b}if((k[n>>2]|0)!=6?(k[n>>2]|0)!=9|(k[m>>2]|0)!=0:0){do if((k[n>>2]|0)!=9){if((k[n>>2]|0)!=8){b=Hv(k[f>>2]|0,101,0,0,0)|0;k[z>>2]=b;break}k[v>>2]=k[(k[(k[k[h>>2]>>2]|0)+4>>2]|0)+(k[t>>2]<<4)+4>>2];if(k[v>>2]|0){b=Dy(k[p>>2]|0,k[v>>2]|0,0)|0;k[z>>2]=b;break}else{b=Hv(k[f>>2]|0,101,0,0,0)|0;k[z>>2]=b;break}}else{a=k[f>>2]|0;b=sz(k[p>>2]|0,27,I,0)|0;b=Hv(a,122,b,sz(k[p>>2]|0,27,K,0)|0,0)|0;k[z>>2]=b}while(0);b=Wv(k[f>>2]|0,k[y>>2]|0,k[z>>2]|0)|0;k[y>>2]=b;Xv(k[f>>2]|0,k[y>>2]|0,H,0)}k[q>>2]=(k[q>>2]|0)+1}bg(k[p>>2]|0,k[o>>2]|0);k[L>>2]=k[k[k[h>>2]>>2]>>2];K=Tf(k[L>>2]|0)|0;k[u>>2]=K;if((k[n>>2]|0)==6){k[G>>2]=k[L>>2];k[G+4>>2]=k[u>>2];K=Zv(k[p>>2]|0,57,35697)|0;k[A>>2]=K;if(k[A>>2]|0)i[(k[A>>2]|0)+1>>0]=2;I=k[f>>2]|0;J=Wv(k[f>>2]|0,0,k[A>>2]|0)|0;K=bw(k[p>>2]|0,0,G,0)|0;K=Vv(I,J,K,k[F>>2]|0,0,0,0,0,0,0)|0;k[B>>2]=K;k[F>>2]=0}K=(k[p>>2]|0)+256|0;k[K>>2]=(k[K>>2]|0)+1;K=Bh(k[p>>2]|0,72+(k[u>>2]|0)+1|0,0)|0;k[D>>2]=K;if((k[D>>2]|0)!=0?(K=(k[D>>2]|0)+36|0,k[(k[D>>2]|0)+28>>2]=K,k[C>>2]=K,k[(k[C>>2]|0)+12>>2]=(k[C>>2]|0)+36,BR(k[(k[C>>2]|0)+12>>2]|0,k[L>>2]|0,k[u>>2]|0)|0,L=Dy(k[p>>2]|0,k[F>>2]|0,1)|0,k[(k[C>>2]|0)+16>>2]=L,L=Ly(k[p>>2]|0,k[y>>2]|0,1)|0,k[(k[C>>2]|0)+20>>2]=L,L=Xx(k[p>>2]|0,k[B>>2]|0,1)|0,k[(k[C>>2]|0)+8>>2]=L,(k[E>>2]|0)!=0):0){L=Hv(k[f>>2]|0,19,k[E>>2]|0,0,0)|0;k[E>>2]=L;L=Dy(k[p>>2]|0,k[E>>2]|0,1)|0;k[(k[D>>2]|0)+12>>2]=L}L=(k[p>>2]|0)+256|0;k[L>>2]=(k[L>>2]|0)+-1;nv(k[p>>2]|0,k[F>>2]|0);nv(k[p>>2]|0,k[E>>2]|0);jv(k[p>>2]|0,k[y>>2]|0);kv(k[p>>2]|0,k[B>>2]|0);if((l[(k[p>>2]|0)+69>>0]|0|0)==1){aG(k[p>>2]|0,k[D>>2]|0);k[e>>2]=0;M=k[e>>2]|0;r=N;return M|0}switch(k[n>>2]|0){case 6:{i[k[C>>2]>>0]=119;break}case 9:{if(k[m>>2]|0)M=41;else i[k[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)i[k[C>>2]>>0]=110;k[(k[C>>2]|0)+4>>2]=k[D>>2];k[(k[D>>2]|0)+20>>2]=k[(k[g>>2]|0)+64>>2];k[(k[D>>2]|0)+24>>2]=k[(k[g>>2]|0)+64>>2];k[(k[h>>2]|0)+28+(k[s>>2]<<2)>>2]=k[D>>2];i[(k[D>>2]|0)+8>>0]=(k[m>>2]|0)!=0?110:109}k[e>>2]=k[D>>2];M=k[e>>2]|0;r=N;return M|0}function aF(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;o=r;r=r+48|0;h=o+32|0;g=o+28|0;q=o+24|0;i=o+20|0;p=o+16|0;j=o+12|0;n=o+8|0;m=o+4|0;l=o;k[h>>2]=a;k[g>>2]=b;k[q>>2]=c;k[i>>2]=d;k[p>>2]=e;k[j>>2]=f;d=dx(k[h>>2]|0)|0;k[n>>2]=d;d=bF(k[h>>2]|0,k[g>>2]|0,k[q>>2]|0,k[p>>2]|0)|0;k[m>>2]=d;if(!(k[m>>2]|0)){r=o;return}if(k[k[g>>2]>>2]|0)g=0==(k[(k[k[h>>2]>>2]|0)+24>>2]&262144|0);else g=0;k[l>>2]=g&1;d=k[n>>2]|0;i=k[i>>2]|0;p=k[j>>2]|0;j=(k[h>>2]|0)+76|0;q=(k[j>>2]|0)+1|0;k[j>>2]=q;ix(d,132,i,p,q,k[(k[m>>2]|0)+8>>2]|0,-18)|0;Rh(k[n>>2]|0,k[l>>2]&255);r=o;return}function bF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=k[e>>2]|0;if(k[(k[e>>2]|0)+416>>2]|0)d=k[d+416>>2]|0;k[j>>2]=d;k[i>>2]=k[(k[j>>2]|0)+532>>2];while(1){if(!(k[i>>2]|0))break;if((k[k[i>>2]>>2]|0)==(k[f>>2]|0)?(k[(k[i>>2]|0)+12>>2]|0)==(k[h>>2]|0):0)break;k[i>>2]=k[(k[i>>2]|0)+4>>2]}if(k[i>>2]|0){j=k[i>>2]|0;r=l;return j|0}j=cF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=j;j=k[i>>2]|0;r=l;return j|0}function cF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+96|0;w=x;e=x+84|0;f=x+80|0;g=x+76|0;h=x+72|0;j=x+68|0;s=x+64|0;m=x+60|0;o=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;p=x+12|0;q=x+8|0;n=x+4|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;d=k[f>>2]|0;if(k[(k[f>>2]|0)+416>>2]|0)d=k[d+416>>2]|0;k[s>>2]=d;k[m>>2]=k[k[f>>2]>>2];k[t>>2]=0;k[p>>2]=0;k[n>>2]=0;b=Bh(k[m>>2]|0,24,0)|0;k[o>>2]=b;if(!(k[o>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}k[(k[o>>2]|0)+4>>2]=k[(k[s>>2]|0)+532>>2];k[(k[s>>2]|0)+532>>2]=k[o>>2];b=Bh(k[m>>2]|0,28,0)|0;k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=b;if(!(k[p>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0}dF(k[(k[s>>2]|0)+8>>2]|0,k[p>>2]|0);k[k[o>>2]>>2]=k[g>>2];k[(k[o>>2]|0)+12>>2]=k[j>>2];k[(k[o>>2]|0)+16>>2]=-1;k[(k[o>>2]|0)+16+4>>2]=-1;b=Bh(k[m>>2]|0,544,0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){k[e>>2]=0;w=k[e>>2]|0;r=x;return w|0};k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[u+16>>2]=0;k[u+20>>2]=0;k[u+24>>2]=0;k[u+28>>2]=0;k[u>>2]=k[q>>2];k[k[q>>2]>>2]=k[m>>2];k[(k[q>>2]|0)+420>>2]=k[h>>2];k[(k[q>>2]|0)+416>>2]=k[s>>2];k[(k[q>>2]|0)+496>>2]=k[k[g>>2]>>2];i[(k[q>>2]|0)+440>>0]=i[(k[g>>2]|0)+8>>0]|0;k[(k[q>>2]|0)+428>>2]=k[(k[f>>2]|0)+428>>2];h=dx(k[q>>2]|0)|0;k[v>>2]=h;if(k[v>>2]|0){b=k[v>>2]|0;h=k[m>>2]|0;k[w>>2]=k[k[g>>2]>>2];Uh(b,-1,Nh(h,35393,w)|0,-1);if(k[(k[g>>2]|0)+12>>2]|0){w=Dy(k[m>>2]|0,k[(k[g>>2]|0)+12>>2]|0,0)|0;k[t>>2]=w;if(0==(vy(u,k[t>>2]|0)|0)?(l[(k[m>>2]|0)+69>>0]|0|0)==0:0){w=Sz(k[v>>2]|0)|0;k[n>>2]=w;$A(k[q>>2]|0,k[t>>2]|0,k[n>>2]|0,16)}nv(k[m>>2]|0,k[t>>2]|0)}eF(k[q>>2]|0,k[(k[g>>2]|0)+28>>2]|0,k[j>>2]|0)|0;if(k[n>>2]|0)Wz(k[v>>2]|0,k[n>>2]|0);mx(k[v>>2]|0,21)|0;fF(k[f>>2]|0,k[q>>2]|0);if(!(l[(k[m>>2]|0)+69>>0]|0)){w=gF(k[v>>2]|0,(k[p>>2]|0)+4|0,(k[s>>2]|0)+400|0)|0;k[k[p>>2]>>2]=w}k[(k[p>>2]|0)+8>>2]=k[(k[q>>2]|0)+76>>2];k[(k[p>>2]|0)+12>>2]=k[(k[q>>2]|0)+72>>2];k[(k[p>>2]|0)+16>>2]=k[(k[q>>2]|0)+84>>2];k[(k[p>>2]|0)+20>>2]=k[g>>2];k[(k[o>>2]|0)+16>>2]=k[(k[q>>2]|0)+432>>2];k[(k[o>>2]|0)+16+4>>2]=k[(k[q>>2]|0)+436>>2];hv(k[v>>2]|0)}Xh(k[q>>2]|0);bg(k[m>>2]|0,k[q>>2]|0);k[e>>2]=k[o>>2];w=k[e>>2]|0;r=x;return w|0}function dF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[e>>2]|0)+24>>2]=k[(k[d>>2]|0)+192>>2];k[(k[d>>2]|0)+192>>2]=k[e>>2];r=c;return}function eF(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,m=0,n=0,o=0;n=r;r=r+48|0;d=n+44|0;o=n+40|0;e=n+36|0;h=n+32|0;m=n+28|0;f=n+24|0;j=n+4|0;g=n;k[d>>2]=a;k[o>>2]=b;k[e>>2]=c;k[m>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[o>>2];while(1){if(!(k[h>>2]|0))break;if((k[e>>2]|0)==10)c=i[(k[h>>2]|0)+1>>0]|0;else c=k[e>>2]&255;i[(k[d>>2]|0)+441>>0]=c;switch(l[k[h>>2]>>0]|0|0){case 110:{a=k[d>>2]|0;b=$F(k[d>>2]|0,k[h>>2]|0)|0;o=Ly(k[f>>2]|0,k[(k[h>>2]|0)+20>>2]|0,0)|0;hw(a,b,o,Dy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0,l[(k[d>>2]|0)+441>>0]|0);break}case 108:{a=k[d>>2]|0;b=$F(k[d>>2]|0,k[h>>2]|0)|0;o=Xx(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;iw(a,b,o,Dz(k[f>>2]|0,k[(k[h>>2]|0)+24>>2]|0)|0,l[(k[d>>2]|0)+441>>0]|0);break}case 109:{o=k[d>>2]|0;fw(o,$F(k[d>>2]|0,k[h>>2]|0)|0,Dy(k[f>>2]|0,k[(k[h>>2]|0)+16>>2]|0,0)|0);break}default:{o=Xx(k[f>>2]|0,k[(k[h>>2]|0)+8>>2]|0,0)|0;k[g>>2]=o;nB(j,4,0);Sv(k[d>>2]|0,k[g>>2]|0,j)|0;kv(k[f>>2]|0,k[g>>2]|0)}}if((l[k[h>>2]>>0]|0|0)!=119)mx(k[m>>2]|0,98)|0;k[h>>2]=k[(k[h>>2]|0)+28>>2]}r=n;return 0}function fF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if(!(k[(k[c>>2]|0)+68>>2]|0)){k[(k[c>>2]|0)+4>>2]=k[b+4>>2];k[(k[c>>2]|0)+68>>2]=k[(k[d>>2]|0)+68>>2];k[(k[c>>2]|0)+12>>2]=k[(k[d>>2]|0)+12>>2];r=e;return}else{bg(k[b>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=e;return}}function gF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+12|0;g=e+8|0;h=e+4|0;d=e;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[d>>2]=k[(k[f>>2]|0)+4>>2];hF(k[f>>2]|0,k[h>>2]|0);k[k[g>>2]>>2]=k[(k[f>>2]|0)+32>>2];k[(k[f>>2]|0)+4>>2]=0;r=e;return k[d>>2]|0}function hF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+28|0;d=p+24|0;f=p+20|0;h=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;j=p+32|0;g=p;k[c>>2]=a;k[d>>2]=b;k[h>>2]=k[k[d>>2]>>2];k[n>>2]=k[(k[c>>2]|0)+24>>2];k[e>>2]=k[(k[n>>2]|0)+120>>2];b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-33|32;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-65;k[m>>2]=k[(k[c>>2]|0)+4>>2];k[f>>2]=(k[(k[c>>2]|0)+32>>2]|0)-1;while(1){if((k[f>>2]|0)<0)break;i[j>>0]=i[k[m>>2]>>0]|0;switch(l[j>>0]|0|0){case 2:{if(k[(k[m>>2]|0)+8>>2]|0){o=(k[c>>2]|0)+89|0;i[o>>0]=i[o>>0]&-33;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-33;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-65|64;break}case 12:{if((k[(k[m>>2]|0)+8>>2]|0)>(k[h>>2]|0))k[h>>2]=k[(k[m>>2]|0)+8>>2];break}case 11:{k[g>>2]=k[(k[m>>2]|0)+-20+4>>2];if((k[g>>2]|0)>(k[h>>2]|0))k[h>>2]=k[g>>2];break}case 3:case 5:case 7:{k[(k[m>>2]|0)+16>>2]=200;i[(k[m>>2]|0)+1>>0]=-19;break}case 4:case 6:{k[(k[m>>2]|0)+16>>2]=201;i[(k[m>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;b=(k[c>>2]|0)+89|0;i[b>>0]=i[b>>0]&-65|64}i[(k[m>>2]|0)+2>>0]=i[35407+(l[j>>0]|0)>>0]|0;if(((l[(k[m>>2]|0)+2>>0]|0)&1|0)!=0?(k[(k[m>>2]|0)+8>>2]|0)<0:0)k[(k[m>>2]|0)+8>>2]=k[(k[e>>2]|0)+(-1-(k[(k[m>>2]|0)+8>>2]|0)<<2)>>2];k[f>>2]=(k[f>>2]|0)+-1;k[m>>2]=(k[m>>2]|0)+20}bg(k[k[c>>2]>>2]|0,k[(k[n>>2]|0)+120>>2]|0);k[(k[n>>2]|0)+120>>2]=0;k[(k[n>>2]|0)+116>>2]=0;k[k[d>>2]>>2]=k[h>>2];r=p;return}function iF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;k[k[e>>2]>>2]=0;a=k[d>>2]|0;if((l[(k[d>>2]|0)+66>>0]|0)!=1){f=ZF(a,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}k[f>>2]=k[(k[d>>2]|0)+120+(i[a+68>>0]<<2)>>2];a=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;b=(j[a>>1]|0)+1<<16>>16;j[a>>1]=b;if((b&65535|0)>=(m[(k[f>>2]|0)+18>>1]|0)){f=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[f>>1]=(j[f>>1]|0)+-1<<16>>16;f=ZF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}if(i[(k[f>>2]|0)+4>>0]|0){k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{f=_F(k[d>>2]|0)|0;k[c>>2]=f;f=k[c>>2]|0;r=g;return f|0}return 0}function jF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[k[e>>2]>>2]=0;b=(k[d>>2]|0)+64|0;i[b>>0]=l[b>>0]&-15;j[(k[d>>2]|0)+16+18>>1]=0;if(((l[(k[d>>2]|0)+66>>0]|0)==1?(m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(l[(k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+-1<<16>>16;k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}b=kF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function kF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;h=o+8|0;g=o+4|0;c=o;k[e>>2]=a;k[f>>2]=b;if((l[(k[e>>2]|0)+66>>0]|0)!=1){if((l[(k[e>>2]|0)+66>>0]|0)>=3)a=lF(k[e>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}if(!(l[(k[e>>2]|0)+66>>0]|0)){k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}if((k[(k[e>>2]|0)+60>>2]|0)!=0?(i[(k[e>>2]|0)+66>>0]=1,b=(k[(k[e>>2]|0)+60>>2]|0)<0,k[(k[e>>2]|0)+60>>2]=0,b):0){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];do if(i[(k[g>>2]|0)+4>>0]|0){while(1){a=i[(k[e>>2]|0)+68>>0]|0;if(m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1]|0)break;b=k[e>>2]|0;if(!a){n=17;break}oF(b)}if((n|0)==17){i[b+66>>0]=0;k[k[f>>2]>>2]=1;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}n=(k[e>>2]|0)+80+(a<<1)|0;j[n>>1]=(j[n>>1]|0)+-1<<16>>16;k[g>>2]=k[(k[e>>2]|0)+120+(i[(k[e>>2]|0)+68>>0]<<2)>>2];if((l[(k[g>>2]|0)+2>>0]|0)!=0?(i[(k[g>>2]|0)+4>>0]|0)==0:0){n=jF(k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=n;break}k[h>>2]=0}else{k[c>>2]=m[(k[e>>2]|0)+80+(i[(k[e>>2]|0)+68>>0]<<1)>>1];n=k[e>>2]|0;n=mF(n,or((k[(k[g>>2]|0)+56>>2]|0)+(m[(k[g>>2]|0)+20>>1]&(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[g>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[h>>2]=n;if(!(k[h>>2]|0)){n=nF(k[e>>2]|0)|0;k[h>>2]=n;break}k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[d>>2]=k[h>>2];n=k[d>>2]|0;r=o;return n|0}function lF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0|0)==4){k[b>>2]=k[a+60>>2];e=k[b>>2]|0;r=f;return e|0}i[a+66>>0]=0;a=(k[c>>2]|0)+40|0;a=sF(k[c>>2]|0,k[(k[c>>2]|0)+48>>2]|0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(((k[d>>2]|0)==0?(Ud(k[(k[c>>2]|0)+48>>2]|0),k[(k[c>>2]|0)+48>>2]=0,a=(k[c>>2]|0)+60|0,k[a>>2]=k[a>>2]|k[e>>2],(k[(k[c>>2]|0)+60>>2]|0)!=0):0)?(l[(k[c>>2]|0)+66>>0]|0|0)==1:0)i[(k[c>>2]|0)+66>>0]=2;k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}function mF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[d>>2]|0)+4>>2];if((i[(k[d>>2]|0)+68>>0]|0)>=19){a=Yj(60571)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}else{j[(k[d>>2]|0)+16+18>>1]=0;a=(k[d>>2]|0)+64|0;i[a>>0]=l[a>>0]&-7;a=(k[d>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;j[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]=0;a=pF(k[f>>2]|0,k[e>>2]|0,(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)|0,k[d>>2]|0,l[(k[d>>2]|0)+65>>0]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=g;return a|0}return 0}function nF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h+4|0;c=h;k[f>>2]=a;k[g>>2]=0;k[c>>2]=0;while(1){a=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;b=k[c>>2]|0;if(!((i[a+4>>0]|0)!=0^1)){a=5;break}b=or((k[(k[c>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0;k[d>>2]=b;j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=j[(k[c>>2]|0)+18>>1]|0;b=mF(k[f>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){a=4;break}}if((a|0)==4){k[e>>2]=k[g>>2];g=k[e>>2]|0;r=h;return g|0}else if((a|0)==5){j[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]=(m[b+18>>1]|0)-1;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}return 0}function oF(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;j[(k[c>>2]|0)+16+18>>1]=0;d=(k[c>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-7;d=(k[c>>2]|0)+68|0;a=i[d>>0]|0;i[d>>0]=a+-1<<24>>24;IB(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0);r=b;return}function pF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+28|0;g=s+24|0;h=s+20|0;j=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;p=s;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;c=k[h>>2]|0;a:do if(c>>>0<=(qF(k[g>>2]|0)|0)>>>0){c=Eg(k[k[g>>2]>>2]|0,k[h>>2]|0,p,k[o>>2]|0)|0;k[q>>2]=c;if(!(k[q>>2]|0)){c=Zt(k[p>>2]|0)|0;k[k[j>>2]>>2]=c;if((l[k[k[j>>2]>>2]>>0]|0|0)==0?(rF(k[p>>2]|0,k[h>>2]|0,k[g>>2]|0)|0,c=$t(k[k[j>>2]>>2]|0)|0,k[q>>2]=c,(k[q>>2]|0)!=0):0){GB(k[k[j>>2]>>2]|0);break}do if(k[n>>2]|0){if((m[(k[k[j>>2]>>2]|0)+18>>1]|0|0)>=1?(l[(k[k[j>>2]>>2]|0)+2>>0]|0|0)==(l[(k[n>>2]|0)+69>>0]|0|0):0)break;c=Yj(57813)|0;k[q>>2]=c;GB(k[k[j>>2]>>2]|0);break a}while(0);k[f>>2]=0;q=k[f>>2]|0;r=s;return q|0}}else{c=Yj(57791)|0;k[q>>2]=c}while(0);if(k[n>>2]|0){c=(k[n>>2]|0)+68|0;i[c>>0]=(i[c>>0]|0)+-1<<24>>24}k[f>>2]=k[q>>2];q=k[f>>2]|0;r=s;return q|0}function qF(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+44>>2]|0}function rF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=Zt(k[d>>2]|0)|0;k[g>>2]=b;if((k[e>>2]|0)==(k[(k[g>>2]|0)+84>>2]|0)){b=k[g>>2]|0;r=h;return b|0}b=Fg(k[d>>2]|0)|0;k[(k[g>>2]|0)+56>>2]=b;k[(k[g>>2]|0)+72>>2]=k[d>>2];k[(k[g>>2]|0)+52>>2]=k[f>>2];k[(k[g>>2]|0)+84>>2]=k[e>>2];i[(k[g>>2]|0)+5>>0]=(k[e>>2]|0)==1?100:0;b=k[g>>2]|0;r=h;return b|0}function sF(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,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+240|0;g=s+36|0;h=s+32|0;i=s+28|0;j=s;l=s+24|0;n=s+20|0;q=s+16|0;p=s+12|0;o=s+8|0;k[h>>2]=a;k[i>>2]=b;b=j;k[b>>2]=c;k[b+4>>2]=d;k[l>>2]=e;k[n>>2]=f;k[o>>2]=0;if(k[i>>2]|0){f=tF(k[(k[h>>2]|0)+72>>2]|0,s+40|0,200,o)|0;k[p>>2]=f;if(!(k[p>>2]|0)){k[g>>2]=7;q=k[g>>2]|0;r=s;return q|0}uF(k[(k[h>>2]|0)+72>>2]|0,k[j>>2]|0,k[i>>2]|0,k[p>>2]|0);if(!(m[(k[p>>2]|0)+8>>1]|0)){bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);q=Yj(56571)|0;k[g>>2]=q;q=k[g>>2]|0;r=s;return q|0}}else k[p>>2]=0;f=j;f=vF(k[h>>2]|0,k[p>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[q>>2]=f;if(k[o>>2]|0)bg(k[(k[(k[h>>2]|0)+72>>2]|0)+12>>2]|0,k[o>>2]|0);k[g>>2]=k[q>>2];q=k[g>>2]|0;r=s;return q|0}function tF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;p=o+16|0;h=o+12|0;n=o+8|0;l=o+4|0;i=o;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[h>>2]=d;k[l>>2]=8-(k[g>>2]&7)&7;k[i>>2]=16+(((m[(k[f>>2]|0)+6>>1]|0)+1|0)*40|0);if((k[i>>2]|0)>((k[p>>2]|0)+(k[l>>2]|0)|0)){p=k[i>>2]|0;p=Kh(k[(k[f>>2]|0)+12>>2]|0,p,((p|0)<0)<<31>>31)|0;k[n>>2]=p;k[k[h>>2]>>2]=k[n>>2];if(!(k[n>>2]|0)){k[e>>2]=0;p=k[e>>2]|0;r=o;return p|0}}else{k[n>>2]=(k[g>>2]|0)+(k[l>>2]|0);k[k[h>>2]>>2]=0}k[(k[n>>2]|0)+4>>2]=(k[n>>2]|0)+16;k[k[n>>2]>>2]=k[f>>2];j[(k[n>>2]|0)+8>>1]=(m[(k[f>>2]|0)+6>>1]|0)+1;k[e>>2]=k[n>>2];p=k[e>>2]|0;r=o;return p|0}function uF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;v=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;n=u+12|0;t=u+40|0;q=u+8|0;o=u+4|0;p=u;k[e>>2]=a;k[f>>2]=b;k[v>>2]=c;k[s>>2]=d;k[g>>2]=k[v>>2];k[o>>2]=k[(k[s>>2]|0)+4>>2];i[(k[s>>2]|0)+10>>0]=0;b=k[g>>2]|0;if((l[k[g>>2]>>0]|0|0)<128){k[q>>2]=l[b>>0];b=1}else b=(KF(b,q)|0)&255;k[n>>2]=b&255;k[h>>2]=k[q>>2];j[t>>1]=0;while(1){if((k[n>>2]|0)>>>0>=(k[q>>2]|0)>>>0){b=11;break}if((k[h>>2]|0)>(k[f>>2]|0)){b=11;break}b=(k[g>>2]|0)+(k[n>>2]|0)|0;if((l[(k[g>>2]|0)+(k[n>>2]|0)>>0]|0|0)<128){k[p>>2]=l[b>>0];b=1}else b=(KF(b,p)|0)&255;k[n>>2]=(k[n>>2]|0)+(b&255);i[(k[o>>2]|0)+10>>0]=i[(k[e>>2]|0)+4>>0]|0;k[(k[o>>2]|0)+32>>2]=k[(k[e>>2]|0)+12>>2];k[(k[o>>2]|0)+24>>2]=0;v=MF((k[g>>2]|0)+(k[h>>2]|0)|0,k[p>>2]|0,k[o>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+v;k[o>>2]=(k[o>>2]|0)+40;v=(j[t>>1]|0)+1<<16>>16;j[t>>1]=v;if((v&65535|0)>=(m[(k[s>>2]|0)+8>>1]|0|0)){b=11;break}}if((b|0)==11){j[(k[s>>2]|0)+8>>1]=j[t>>1]|0;r=u;return}}function vF(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;g=F+80|0;h=F+76|0;n=F+72|0;o=F+8|0;p=F+68|0;q=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;if(((l[(k[h>>2]|0)+66>>0]|0)==1?(l[(k[h>>2]|0)+64>>0]&2|0)!=0:0)?(l[(k[h>>2]|0)+69>>0]|0)!=0:0){b=(k[h>>2]|0)+16|0;f=o;if((k[b>>2]|0)==(k[f>>2]|0)?(k[b+4>>2]|0)==(k[f+4>>2]|0):0){k[k[q>>2]>>2]=0;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}if((l[(k[h>>2]|0)+64>>0]&8|0)!=0?(b=(k[h>>2]|0)+16|0,e=k[b+4>>2]|0,f=o,a=k[f+4>>2]|0,(e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)):0){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}}if(k[n>>2]|0){f=wF(k[n>>2]|0)|0;k[E>>2]=f;i[(k[n>>2]|0)+11>>0]=0}else k[E>>2]=0;f=xF(k[h>>2]|0)|0;k[C>>2]=f;if(k[C>>2]|0){k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}if(!(l[(k[h>>2]|0)+66>>0]|0)){k[k[q>>2]>>2]=-1;k[g>>2]=0;E=k[g>>2]|0;r=F;return E|0}a:do{k[B>>2]=k[(k[h>>2]|0)+120+(i[(k[h>>2]|0)+68>>0]<<2)>>2];k[v>>2]=0;k[D>>2]=(m[(k[B>>2]|0)+18>>1]|0)-1;k[u>>2]=k[D>>2]>>1-(k[p>>2]|0);j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];b:do if(!(k[E>>2]|0)){while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));c:do if(i[(k[B>>2]|0)+3>>0]|0)while(1){f=k[y>>2]|0;k[y>>2]=f+1;if(128>(l[f>>0]|0))break c;if((k[y>>2]|0)>>>0>=(k[(k[B>>2]|0)+60>>2]|0)>>>0){d=20;break a}}while(0);hu(k[y>>2]|0,x)|0;b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if((e|0)<(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0<(k[f>>2]|0)>>>0:0)){k[v>>2]=(k[u>>2]|0)+1;if((k[v>>2]|0)>(k[D>>2]|0)){d=23;break}}else{b=x;e=k[b+4>>2]|0;f=o;a=k[f+4>>2]|0;if(!((e|0)>(a|0)|((e|0)==(a|0)?(k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0:0))){d=27;break}k[D>>2]=(k[u>>2]|0)-1;if((k[v>>2]|0)>(k[D>>2]|0)){d=26;break}}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}if((d|0)==23){k[s>>2]=-1;d=51;break}else if((d|0)==26){k[s>>2]=1;d=51;break}else if((d|0)==27){d=0;a=(k[h>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;a=x;b=k[a+4>>2]|0;f=(k[h>>2]|0)+16|0;k[f>>2]=k[a>>2];k[f+4>>2]=b;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[B>>2]|0)+4>>0]|0){d=29;break a}k[v>>2]=k[u>>2];break}}else while(1){k[y>>2]=(k[(k[B>>2]|0)+68>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[u>>2]<<1)+1>>0]));k[w>>2]=l[k[y>>2]>>0];do if((k[w>>2]|0)<=(l[(k[B>>2]|0)+7>>0]|0)){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+1|0,k[n>>2]|0)|0;k[s>>2]=f}else{if((l[(k[y>>2]|0)+1>>0]&128|0)==0?(f=((k[w>>2]&127)<<7)+(l[(k[y>>2]|0)+1>>0]|0)|0,k[w>>2]=f,(f|0)<=(m[(k[B>>2]|0)+10>>1]|0)):0){f=Yb[k[E>>2]&255](k[w>>2]|0,(k[y>>2]|0)+2|0,k[n>>2]|0)|0;k[s>>2]=f;break}k[z>>2]=(k[y>>2]|0)+(0-(l[(k[B>>2]|0)+6>>0]|0));cc[k[(k[B>>2]|0)+80>>2]&255](k[B>>2]|0,k[z>>2]|0,(k[h>>2]|0)+16|0);k[w>>2]=k[(k[h>>2]|0)+16>>2];if((k[w>>2]|0)<2){d=37;break a}f=(k[w>>2]|0)+18|0;f=jg(f,((f|0)<0)<<31>>31)|0;k[A>>2]=f;if(!(k[A>>2]|0)){d=39;break a}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];f=yF(k[h>>2]|0,0,k[w>>2]|0,k[A>>2]|0,2)|0;k[C>>2]=f;if(k[C>>2]|0){d=41;break a}f=Yb[k[E>>2]&255](k[w>>2]|0,k[A>>2]|0,k[n>>2]|0)|0;k[s>>2]=f;Ud(k[A>>2]|0)}while(0);if((k[s>>2]|0)<0)k[v>>2]=(k[u>>2]|0)+1;else{if((k[s>>2]|0)<=0){d=47;break a}k[D>>2]=(k[u>>2]|0)-1}if((k[v>>2]|0)>(k[D>>2]|0)){d=51;break b}k[u>>2]=(k[v>>2]|0)+(k[D>>2]|0)>>1}while(0);if((d|0)==51?(d=0,(i[(k[B>>2]|0)+4>>0]|0)!=0):0){d=52;break}c=k[B>>2]|0;if((k[v>>2]|0)>=(m[(k[B>>2]|0)+18>>1]|0)){f=or((k[(k[B>>2]|0)+56>>2]|0)+((l[c+5>>0]|0)+8)|0)|0;k[t>>2]=f}else{f=or((k[c+56>>2]|0)+(m[(k[B>>2]|0)+20>>1]&(l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)>>0]<<8|l[(k[(k[B>>2]|0)+64>>2]|0)+(k[v>>2]<<1)+1>>0]))|0)|0;k[t>>2]=f}j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[v>>2];f=mF(k[h>>2]|0,k[t>>2]|0)|0;k[C>>2]=f}while((k[C>>2]|0)==0);if((d|0)==20){E=Yj(60948)|0;k[g>>2]=E;E=k[g>>2]|0;r=F;return E|0}else if((d|0)==29){k[k[q>>2]>>2]=0;k[C>>2]=0}else if((d|0)==37){E=Yj(61021)|0;k[C>>2]=E}else if((d|0)==39)k[C>>2]=7;else if((d|0)==41)Ud(k[A>>2]|0);else if((d|0)==47){k[k[q>>2]>>2]=0;k[C>>2]=0;j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];if(i[(k[n>>2]|0)+11>>0]|0)k[C>>2]=11}else if((d|0)==52){j[(k[h>>2]|0)+80+(i[(k[h>>2]|0)+68>>0]<<1)>>1]=k[u>>2];k[k[q>>2]>>2]=k[s>>2];k[C>>2]=0}j[(k[h>>2]|0)+16+18>>1]=0;E=(k[h>>2]|0)+64|0;i[E>>0]=l[E>>0]&-7;k[g>>2]=k[C>>2];E=k[g>>2]|0;r=F;return E|0}function wF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(((m[(k[k[c>>2]>>2]|0)+6>>1]|0)+(m[(k[k[c>>2]>>2]|0)+8>>1]|0)|0)<=13){k[d>>2]=m[(k[(k[c>>2]|0)+4>>2]|0)+8>>1];a=(k[c>>2]|0)+12|0;if(i[k[(k[k[c>>2]>>2]|0)+16>>2]>>0]|0){i[a>>0]=1;i[(k[c>>2]|0)+13>>0]=-1}else{i[a>>0]=-1;i[(k[c>>2]|0)+13>>0]=1}if(k[d>>2]&4){k[b>>2]=160;d=k[b>>2]|0;r=e;return d|0}if((k[d>>2]&25|0)==0?(k[(k[k[c>>2]>>2]|0)+20>>2]|0)==0:0){k[b>>2]=161;d=k[b>>2]|0;r=e;return d|0}}k[b>>2]=162;d=k[b>>2]|0;r=e;return d|0}function xF(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=0;do if((l[(k[c>>2]|0)+66>>0]|0)>=3){a=k[c>>2]|0;if((l[(k[c>>2]|0)+66>>0]|0)!=4){FB(a);break}k[b>>2]=k[a+60>>2];f=k[b>>2]|0;r=g;return f|0}while(0);a:do if((i[(k[c>>2]|0)+68>>0]|0)>=0)while(1){if(!(i[(k[c>>2]|0)+68>>0]|0))break a;h=(k[c>>2]|0)+68|0;a=i[h>>0]|0;i[h>>0]=a+-1<<24>>24;IB(k[(k[c>>2]|0)+120+(a<<24>>24<<2)>>2]|0)}else{a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+52>>2]|0)){i[a+66>>0]=0;k[b>>2]=0;h=k[b>>2]|0;r=g;return h|0}a=pF(k[(k[a>>2]|0)+4>>2]|0,k[(k[c>>2]|0)+52>>2]|0,(k[c>>2]|0)+120|0,0,l[(k[c>>2]|0)+65>>0]|0)|0;k[e>>2]=a;a=k[c>>2]|0;if(!(k[e>>2]|0)){i[a+68>>0]=0;i[(k[c>>2]|0)+69>>0]=i[(k[(k[c>>2]|0)+120>>2]|0)+2>>0]|0;break}i[a+66>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}while(0);k[d>>2]=k[(k[c>>2]|0)+120>>2];if((l[k[d>>2]>>0]|0)!=0?((k[(k[c>>2]|0)+72>>2]|0)==0|0)==(l[(k[d>>2]|0)+2>>0]|0):0){j[(k[c>>2]|0)+80>>1]=0;j[(k[c>>2]|0)+16+18>>1]=0;h=(k[c>>2]|0)+64|0;i[h>>0]=l[h>>0]&-15;do if((m[(k[d>>2]|0)+18>>1]|0)>0)i[(k[c>>2]|0)+66>>0]=1;else{if(i[(k[d>>2]|0)+4>>0]|0){i[(k[c>>2]|0)+66>>0]=0;break}if((k[(k[d>>2]|0)+84>>2]|0)==1){h=or((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0)|0;k[f>>2]=h;i[(k[c>>2]|0)+66>>0]=1;h=mF(k[c>>2]|0,k[f>>2]|0)|0;k[e>>2]=h;break}h=Yj(60709)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}while(0);k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}h=Yj(60698)|0;k[b>>2]=h;h=k[b>>2]|0;r=g;return h|0}function yF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+80|0;f=C+68|0;g=C+64|0;h=C+60|0;j=C+56|0;n=C+52|0;o=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;p=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;q=C+4|0;z=C;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[n>>2]=d;k[o>>2]=e;k[B>>2]=0;k[u>>2]=0;k[A>>2]=k[(k[g>>2]|0)+120+(i[(k[g>>2]|0)+68>>0]<<2)>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];zF(k[g>>2]|0);k[t>>2]=k[(k[g>>2]|0)+16+8>>2];if(((k[t>>2]|0)-(k[(k[A>>2]|0)+56>>2]|0)|0)>>>0>((k[(k[y>>2]|0)+36>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)|0)>>>0){B=Yj(60282)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}if((k[h>>2]|0)>>>0<(m[(k[g>>2]|0)+16+16>>1]|0)>>>0){k[p>>2]=k[j>>2];if(((k[p>>2]|0)+(k[h>>2]|0)|0)>>>0>(m[(k[g>>2]|0)+16+16>>1]|0)>>>0)k[p>>2]=(m[(k[g>>2]|0)+16+16>>1]|0)-(k[h>>2]|0);A=AF((k[t>>2]|0)+(k[h>>2]|0)|0,k[n>>2]|0,k[p>>2]|0,k[o>>2]&1,k[(k[A>>2]|0)+72>>2]|0)|0;k[B>>2]=A;k[h>>2]=0;k[n>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[j>>2]=(k[j>>2]|0)-(k[p>>2]|0)}else k[h>>2]=(k[h>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0);a:do if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){k[x>>2]=(k[(k[y>>2]|0)+36>>2]|0)-4;A=or((k[t>>2]|0)+(m[(k[g>>2]|0)+16+16>>1]|0)|0)|0;k[w>>2]=A;if((k[o>>2]|0)!=2?(l[(k[g>>2]|0)+64>>0]&4|0)==0:0){k[v>>2]=(((k[(k[g>>2]|0)+16+12>>2]|0)-(m[(k[g>>2]|0)+16+16>>1]|0)+(k[x>>2]|0)-1|0)>>>0)/((k[x>>2]|0)>>>0)|0;do if((k[v>>2]|0)>(k[(k[g>>2]|0)+56>>2]|0)){A=mg(k[(k[g>>2]|0)+12>>2]|0,k[v>>2]<<1<<2,0)|0;k[s>>2]=A;if(!(k[s>>2]|0)){k[B>>2]=7;break}else{k[(k[g>>2]|0)+56>>2]=k[v>>2]<<1;k[(k[g>>2]|0)+12>>2]=k[s>>2];break}}while(0);if(!(k[B>>2]|0)){DR(k[(k[g>>2]|0)+12>>2]|0,0,k[v>>2]<<2|0)|0;A=(k[g>>2]|0)+64|0;i[A>>0]=l[A>>0]|4}}if((l[(k[g>>2]|0)+64>>0]&4|0)!=0?(k[(k[(k[g>>2]|0)+12>>2]|0)+((((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){k[u>>2]=((k[h>>2]|0)>>>0)/((k[x>>2]|0)>>>0)|0;k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2];k[h>>2]=((k[h>>2]|0)>>>0)%((k[x>>2]|0)>>>0)|0}while(1){if(!((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0&(k[w>>2]|0)!=0))break a;if(l[(k[g>>2]|0)+64>>0]&4)k[(k[(k[g>>2]|0)+12>>2]|0)+(k[u>>2]<<2)>>2]=k[w>>2];if((k[h>>2]|0)>>>0>=(k[x>>2]|0)>>>0){if(k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2]|0)k[w>>2]=k[(k[(k[g>>2]|0)+12>>2]|0)+((k[u>>2]|0)+1<<2)>>2];else{A=BF(k[y>>2]|0,k[w>>2]|0,0,w)|0;k[B>>2]=A}k[h>>2]=(k[h>>2]|0)-(k[x>>2]|0)}else{k[q>>2]=k[j>>2];if(((k[q>>2]|0)+(k[h>>2]|0)|0)>>>0>(k[x>>2]|0)>>>0)k[q>>2]=(k[x>>2]|0)-(k[h>>2]|0);A=Eg(k[k[y>>2]>>2]|0,k[w>>2]|0,z,(k[o>>2]&1|0)==0?2:0)|0;k[B>>2]=A;if(!(k[B>>2]|0)){A=Fg(k[z>>2]|0)|0;k[t>>2]=A;A=or(k[t>>2]|0)|0;k[w>>2]=A;A=AF((k[t>>2]|0)+((k[h>>2]|0)+4)|0,k[n>>2]|0,k[q>>2]|0,k[o>>2]&1,k[z>>2]|0)|0;k[B>>2]=A;Hg(k[z>>2]|0);k[h>>2]=0}k[j>>2]=(k[j>>2]|0)-(k[q>>2]|0);k[n>>2]=(k[n>>2]|0)+(k[q>>2]|0)}k[u>>2]=(k[u>>2]|0)+1}}while(0);if((k[B>>2]|0)==0&(k[j>>2]|0)>>>0>0){B=Yj(60439)|0;k[f>>2]=B;B=k[f>>2]|0;r=C;return B|0}else{k[f>>2]=k[B>>2];B=k[f>>2]|0;r=C;return B|0}return 0}function zF(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(m[(k[b>>2]|0)+16+18>>1]|0){r=d;return}k[c>>2]=i[(k[b>>2]|0)+68>>0];a=(k[b>>2]|0)+64|0;i[a>>0]=l[a>>0]|2;FF(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0,m[(k[b>>2]|0)+80+(k[c>>2]<<1)>>1]|0,(k[b>>2]|0)+16|0);r=d;return}function AF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[n>>2]=d;k[j>>2]=e;do if(k[n>>2]|0){n=Pg(k[j>>2]|0)|0;k[l>>2]=n;if(!(k[l>>2]|0)){BR(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;break}k[f>>2]=k[l>>2];n=k[f>>2]|0;r=m;return n|0}else BR(k[h>>2]|0,k[g>>2]|0,k[i>>2]|0)|0;while(0);k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}function BF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;j=s;h=s+36|0;k[e>>2]=a;k[f>>2]=b;k[p>>2]=c;k[g>>2]=d;k[m>>2]=0;k[n>>2]=0;k[q>>2]=0;if(i[(k[e>>2]|0)+17>>0]|0){k[j>>2]=(k[f>>2]|0)+1;while(1){c=CF(k[e>>2]|0,k[j>>2]|0)|0;if((c|0)==(k[j>>2]|0))a=1;else a=(k[j>>2]|0)==((((k[381]|0)>>>0)/((k[(k[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}if(((b>>>0<=(qF(k[e>>2]|0)|0)>>>0?(c=DF(k[e>>2]|0,k[j>>2]|0,h,o)|0,k[q>>2]=c,(k[q>>2]|0)==0):0)?(l[h>>0]|0)==4:0)?(k[o>>2]|0)==(k[f>>2]|0):0){k[m>>2]=k[j>>2];k[q>>2]=101}}if((k[q>>2]|0)==0?(o=EF(k[e>>2]|0,k[f>>2]|0,n,(k[p>>2]|0)==0?2:0)|0,k[q>>2]=o,(k[q>>2]|0)==0):0){o=or(k[(k[n>>2]|0)+56>>2]|0)|0;k[m>>2]=o}k[k[g>>2]>>2]=k[m>>2];b=k[n>>2]|0;if(k[p>>2]|0){k[k[p>>2]>>2]=b;p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}else{GB(b);p=k[q>>2]|0;p=(p|0)==101;q=k[q>>2]|0;q=p?0:q;r=s;return q|0}return 0}function CF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>>>0<2){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[g>>2]=(((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0)+1;k[f>>2]=(((k[e>>2]|0)-2|0)>>>0)/((k[g>>2]|0)>>>0)|0;b=(ha(k[f>>2]|0,k[g>>2]|0)|0)+2|0;k[h>>2]=b;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0))k[h>>2]=(k[h>>2]|0)+1;k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}function DF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;e=q+36|0;s=q+32|0;f=q+28|0;g=q+24|0;h=q+20|0;n=q+16|0;j=q+12|0;o=q+8|0;m=q+4|0;p=q;k[s>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;d=CF(k[s>>2]|0,k[f>>2]|0)|0;k[j>>2]=d;d=Eg(k[k[s>>2]>>2]|0,k[j>>2]|0,n,0)|0;k[p>>2]=d;if(k[p>>2]|0){k[e>>2]=k[p>>2];s=k[e>>2]|0;r=q;return s|0}s=Fg(k[n>>2]|0)|0;k[o>>2]=s;k[m>>2]=((k[f>>2]|0)-(k[j>>2]|0)-1|0)*5;if((k[m>>2]|0)<0){Hg(k[n>>2]|0);s=Yj(56790)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}i[k[g>>2]>>0]=i[(k[o>>2]|0)+(k[m>>2]|0)>>0]|0;if(k[h>>2]|0){s=or((k[o>>2]|0)+((k[m>>2]|0)+1)|0)|0;k[k[h>>2]>>2]=s}Hg(k[n>>2]|0);if((l[k[g>>2]>>0]|0|0)>=1?(l[k[g>>2]>>0]|0|0)<=5:0){k[e>>2]=0;s=k[e>>2]|0;r=q;return s|0}s=Yj(56798)|0;k[e>>2]=s;s=k[e>>2]|0;r=q;return s|0}function EF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+32|0;e=l+24|0;f=l+20|0;g=l+16|0;h=l+12|0;m=l+8|0;j=l+4|0;i=l;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[m>>2]=d;c=Eg(k[k[f>>2]>>2]|0,k[g>>2]|0,i,k[m>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0){k[e>>2]=k[j>>2];m=k[e>>2]|0;r=l;return m|0}else{m=rF(k[i>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[k[h>>2]>>2]=m;k[e>>2]=0;m=k[e>>2]|0;r=l;return m|0}return 0}function FF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;cc[k[(k[g>>2]|0)+80>>2]&255](k[g>>2]|0,(k[(k[g>>2]|0)+56>>2]|0)+((m[(k[g>>2]|0)+20>>1]|0)&((l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)>>0]|0)<<8|(l[(k[(k[g>>2]|0)+64>>2]|0)+(k[f>>2]<<1)+1>>0]|0)))|0,k[e>>2]|0);r=d;return}function GF(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,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;j=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;d=s+36|0;t=s+32|0;q=s+28|0;h=s+24|0;g=s+16|0;f=s+8|0;e=s;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[d>>2]=(k[o>>2]|0)+(l[k[o>>2]>>0]&63);k[t>>2]=l[(k[o>>2]|0)+1>>0];a=k[(k[p>>2]|0)+4>>2]|0;b=k[a+4>>2]|0;c=f;k[c>>2]=k[a>>2];k[c+4>>2]=b;do switch(k[t>>2]|0){case 1:{h=i[k[d>>2]>>0]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 2:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 3:{h=i[k[d>>2]>>0]<<16|l[(k[d>>2]|0)+1>>0]<<8|l[(k[d>>2]|0)+2>>0];t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 4:{k[h>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];h=k[h>>2]|0;t=e;k[t>>2]=h;k[t+4>>2]=((h|0)<0)<<31>>31;break}case 5:{h=i[k[d>>2]>>0]<<8|l[(k[d>>2]|0)+1>>0];h=zR(l[(k[d>>2]|0)+2>>0]<<24|l[(k[d>>2]|0)+2+1>>0]<<16|l[(k[d>>2]|0)+2+2>>0]<<8|l[(k[d>>2]|0)+2+3>>0]|0,0,KR(0,1,h|0,((h|0)<0)<<31>>31|0)|0,L|0)|0;t=e;k[t>>2]=h;k[t+4>>2]=L;break}case 6:{t=g;k[t>>2]=l[k[d>>2]>>0]<<24|l[(k[d>>2]|0)+1>>0]<<16|l[(k[d>>2]|0)+2>>0]<<8|l[(k[d>>2]|0)+3>>0];k[t+4>>2]=0;t=k[g>>2]|0;h=g;k[h>>2]=l[(k[d>>2]|0)+4>>0]<<24|l[(k[d>>2]|0)+4+1>>0]<<16|l[(k[d>>2]|0)+4+2>>0]<<8|l[(k[d>>2]|0)+4+3>>0];k[h+4>>2]=t;h=k[g+4>>2]|0;t=e;k[t>>2]=k[g>>2];k[t+4>>2]=h;break}case 8:{t=e;k[t>>2]=0;k[t+4>>2]=0;break}case 9:{t=e;k[t>>2]=1;k[t+4>>2]=0;break}case 7:case 0:{t=IF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}default:{t=IF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[j>>2]=t;t=k[j>>2]|0;r=s;return t|0}}while(0);h=f;c=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;do if(!((c|0)>(g|0)|((c|0)==(g|0)?(k[h>>2]|0)>>>0>(k[t>>2]|0)>>>0:0))){h=f;f=k[h+4>>2]|0;t=e;g=k[t+4>>2]|0;d=k[p>>2]|0;if((f|0)<(g|0)|((f|0)==(g|0)?(k[h>>2]|0)>>>0<(k[t>>2]|0)>>>0:0)){k[q>>2]=i[d+13>>0];break}if((m[d+8>>1]|0)>1){t=JF(k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1)|0;k[q>>2]=t;break}else{k[q>>2]=i[(k[p>>2]|0)+10>>0];i[(k[p>>2]|0)+14>>0]=1;break}}else k[q>>2]=i[(k[p>>2]|0)+12>>0];while(0);k[j>>2]=k[q>>2];t=k[j>>2]|0;r=s;return t|0}function HF(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,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;p=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;d=s+16|0;q=s+12|0;j=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[f>>2];a=(k[h>>2]|0)+1|0;if((l[(k[h>>2]|0)+1>>0]|0)<128)k[d>>2]=l[a>>0];else KF(a,d)|0;do if((k[d>>2]|0)>=12){if(!(k[d>>2]&1)){k[q>>2]=i[(k[g>>2]|0)+13>>0];break}k[o>>2]=l[k[h>>2]>>0];k[n>>2]=((k[d>>2]|0)-12|0)/2|0;if(((k[o>>2]|0)+(k[n>>2]|0)|0)>(k[e>>2]|0)){q=(Yj(72223)|0)&255;i[(k[g>>2]|0)+11>>0]=q;k[p>>2]=0;q=k[p>>2]|0;r=s;return q|0}if((k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0)<(k[n>>2]|0))a=k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0;else a=k[n>>2]|0;k[j>>2]=a;o=OQ((k[h>>2]|0)+(k[o>>2]|0)|0,k[(k[(k[g>>2]|0)+4>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0){a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}k[q>>2]=(k[n>>2]|0)-(k[(k[(k[g>>2]|0)+4>>2]|0)+12>>2]|0);if(!(k[q>>2]|0))if((m[(k[g>>2]|0)+8>>1]|0)>1){o=JF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,1)|0;k[q>>2]=o;break}else{k[q>>2]=i[(k[g>>2]|0)+10>>0];i[(k[g>>2]|0)+14>>0]=1;break}else{a=k[g>>2]|0;if((k[q>>2]|0)>0){k[q>>2]=i[a+13>>0];break}else{k[q>>2]=i[a+12>>0];break}}}else k[q>>2]=i[(k[g>>2]|0)+12>>0];while(0);k[p>>2]=k[q>>2];q=k[p>>2]|0;r=s;return q|0}function IF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=JF(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return c|0}function JF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+128|0;A=E+124|0;f=E+120|0;G=E+116|0;B=E+112|0;F=E+108|0;h=E+104|0;n=E+100|0;z=E+96|0;o=E+92|0;D=E+88|0;w=E+84|0;C=E+80|0;g=E+76|0;s=E+16|0;e=E+72|0;y=E+68|0;q=E+8|0;x=E;t=E+64|0;v=E+60|0;u=E+56|0;k[f>>2]=a;k[G>>2]=b;k[B>>2]=c;k[F>>2]=d;k[D>>2]=0;k[w>>2]=k[(k[B>>2]|0)+4>>2];k[C>>2]=k[k[B>>2]>>2];k[g>>2]=k[G>>2];a=k[g>>2]|0;do if(k[F>>2]|0){d=(k[g>>2]|0)+1|0;if((l[a+1>>0]|0)<128){k[e>>2]=l[d>>0];d=1}else d=(KF(d,e)|0)&255;k[o>>2]=1+(d&255);k[z>>2]=l[k[g>>2]>>0];G=k[z>>2]|0;G=G+(LF(k[e>>2]|0)|0)|0;k[h>>2]=G;k[n>>2]=1;k[w>>2]=(k[w>>2]|0)+40}else{d=k[g>>2]|0;if((l[a>>0]|0)<128){k[z>>2]=l[d>>0];d=1}else d=(KF(d,z)|0)&255;k[o>>2]=d&255;k[h>>2]=k[z>>2];if((k[h>>2]|0)>>>0<=(k[f>>2]|0)>>>0){k[n>>2]=0;break}G=(Yj(71941)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}while(0);a:while(1){do if(m[(k[w>>2]|0)+8>>1]&4){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}if((k[y>>2]|0)==7){MF((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;G=k[w>>2]|0;G=0-(NF(k[G>>2]|0,k[G+4>>2]|0,+p[s>>3])|0)|0;k[D>>2]=G;break}c=OF(k[y>>2]|0,(k[g>>2]|0)+(k[h>>2]|0)|0)|0;G=q;k[G>>2]=c;k[G+4>>2]=L;G=k[w>>2]|0;c=k[G+4>>2]|0;F=x;k[F>>2]=k[G>>2];k[F+4>>2]=c;F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)<(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0<(k[G>>2]|0)>>>0:0)){k[D>>2]=-1;break}F=q;c=k[F+4>>2]|0;G=x;e=k[G+4>>2]|0;if((c|0)>(e|0)|((c|0)==(e|0)?(k[F>>2]|0)>>>0>(k[G>>2]|0)>>>0:0))k[D>>2]=1}else{if(m[(k[w>>2]|0)+8>>1]&8){k[y>>2]=l[(k[g>>2]|0)+(k[o>>2]|0)>>0];if((k[y>>2]|0)>>>0>=10){k[D>>2]=1;break}if(!(k[y>>2]|0)){k[D>>2]=-1;break}MF((k[g>>2]|0)+(k[h>>2]|0)|0,k[y>>2]|0,s)|0;if((k[y>>2]|0)!=7){G=s;G=NF(k[G>>2]|0,k[G+4>>2]|0,+p[k[w>>2]>>3])|0;k[D>>2]=G;break}if(+p[s>>3]<+p[k[w>>2]>>3]){k[D>>2]=-1;break}if(!(+p[s>>3]>+p[k[w>>2]>>3]))break;k[D>>2]=1;break}if(!(m[(k[w>>2]|0)+8>>1]&2)){d=l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0;if(!(m[(k[w>>2]|0)+8>>1]&16)){k[y>>2]=d;k[D>>2]=(k[y>>2]|0)!=0&1;break}a=(k[g>>2]|0)+(k[o>>2]|0)|0;if((d|0)<128)k[y>>2]=l[a>>0];else KF(a,y)|0;if((k[y>>2]|0)>>>0>=12?(k[y>>2]&1|0)==0:0){k[v>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[v>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=59;break a}if((k[v>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[v>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[u>>2]=d;G=OQ((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[u>>2]|0)|0;k[D>>2]=G;if(k[D>>2]|0)break;k[D>>2]=(k[v>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0);break}k[D>>2]=-1;break}d=(k[g>>2]|0)+(k[o>>2]|0)|0;if((l[(k[g>>2]|0)+(k[o>>2]|0)>>0]|0)<128)k[y>>2]=l[d>>0];else KF(d,y)|0;if((k[y>>2]|0)>>>0<12){k[D>>2]=-1;break}if(!(k[y>>2]&1)){k[D>>2]=1;break}k[s+12>>2]=(((k[y>>2]|0)-12|0)>>>0)/2|0;if(((k[h>>2]|0)+(k[s+12>>2]|0)|0)>>>0>(k[f>>2]|0)>>>0){d=43;break a}if(k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0){i[s+10>>0]=i[(k[C>>2]|0)+4>>0]|0;k[s+32>>2]=k[(k[C>>2]|0)+12>>2];j[s+8>>1]=2;k[s+16>>2]=(k[g>>2]|0)+(k[h>>2]|0);G=PF(s,k[w>>2]|0,k[(k[C>>2]|0)+20+(k[n>>2]<<2)>>2]|0,(k[B>>2]|0)+11|0)|0;k[D>>2]=G;break}if((k[s+12>>2]|0)<(k[(k[w>>2]|0)+12>>2]|0))d=k[s+12>>2]|0;else d=k[(k[w>>2]|0)+12>>2]|0;k[t>>2]=d;G=OQ((k[g>>2]|0)+(k[h>>2]|0)|0,k[(k[w>>2]|0)+16>>2]|0,k[t>>2]|0)|0;k[D>>2]=G;if(!(k[D>>2]|0))k[D>>2]=(k[s+12>>2]|0)-(k[(k[w>>2]|0)+12>>2]|0)}while(0);a=k[n>>2]|0;if(k[D>>2]|0){d=67;break}k[n>>2]=a+1;k[w>>2]=(k[w>>2]|0)+40;G=LF(k[y>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+G;G=QF(k[y>>2]|0,0)|0;k[o>>2]=(k[o>>2]|0)+G;if((k[o>>2]|0)>>>0>=(k[z>>2]|0)>>>0){d=73;break}if((k[n>>2]|0)>=(m[(k[B>>2]|0)+8>>1]|0)){d=73;break}if((k[h>>2]|0)>>>0>(k[f>>2]|0)>>>0){d=73;break}}if((d|0)==43){G=(Yj(72016)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==59){G=(Yj(72045)|0)&255;i[(k[B>>2]|0)+11>>0]=G;k[A>>2]=0;G=k[A>>2]|0;r=E;return G|0}else if((d|0)==67){if(i[(k[(k[C>>2]|0)+16>>2]|0)+a>>0]|0)k[D>>2]=0-(k[D>>2]|0);k[A>>2]=k[D>>2];G=k[A>>2]|0;r=E;return G|0}else if((d|0)==73){i[(k[B>>2]|0)+14>>0]=1;k[A>>2]=i[(k[B>>2]|0)+10>>0];G=k[A>>2]|0;r=E;return G|0}return 0}function KF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+25|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;j=m;h=m+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=2;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[k[e>>2]>>2]=k[f>>2]|k[g>>2];i[c>>0]=3;j=i[c>>0]|0;r=m;return j|0}k[d>>2]=(k[d>>2]|0)+-2;b=hu(k[d>>2]|0,j)|0;i[h>>0]=b;b=j;if(0!=(k[b+4>>2]|0)?1:(k[j>>2]|0)!=(k[b>>2]|0))k[k[e>>2]>>2]=-1;else k[k[e>>2]>>2]=k[j>>2];i[c>>0]=i[h>>0]|0;j=i[c>>0]|0;r=m;return j|0}function LF(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;a=k[d>>2]|0;if((k[d>>2]|0)>>>0>=128){k[b>>2]=((a-12|0)>>>0)/2|0;d=k[b>>2]|0;r=c;return d|0}else{k[b>>2]=l[35569+a>>0];d=k[b>>2]|0;r=c;return d|0}return 0}function MF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;switch(k[f>>2]|0){case 0:case 11:case 10:{j[(k[g>>2]|0)+8>>1]=1;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}case 1:{c=i[k[e>>2]>>0]|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}case 2:{c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=2;b=k[d>>2]|0;r=h;return b|0}case 3:{c=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=3;b=k[d>>2]|0;r=h;return b|0}case 4:{c=i[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=((c|0)<0)<<31>>31;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=4;b=k[d>>2]|0;r=h;return b|0}case 5:{b=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];c=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];c=zR(b|0,0,KR(0,1,c|0,((c|0)<0)<<31>>31|0)|0,L|0)|0;b=k[g>>2]|0;k[b>>2]=c;k[b+4>>2]=L;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=6;b=k[d>>2]|0;r=h;return b|0}case 7:case 6:{b=XF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=h;return b|0}case 9:case 8:{b=k[g>>2]|0;k[b>>2]=(k[f>>2]|0)-8;k[b+4>>2]=0;j[(k[g>>2]|0)+8>>1]=4;k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}default:{k[(k[g>>2]|0)+16>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(((k[f>>2]|0)-12|0)>>>0)/2|0;j[(k[g>>2]|0)+8>>1]=j[15262+((k[f>>2]&1)<<1)>>1]|0;k[d>>2]=k[(k[g>>2]|0)+12>>2];b=k[d>>2]|0;r=h;return b|0}}return 0}function NF(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+48|0;d=i+32|0;e=i+24|0;f=i+16|0;h=i+8|0;g=i;j=e;k[j>>2]=a;k[j+4>>2]=b;p[f>>3]=c;if(+p[f>>3]<-9223372036854775808.0){k[d>>2]=1;j=k[d>>2]|0;r=i;return j|0}if(+p[f>>3]>9223372036854775808.0){k[d>>2]=-1;j=k[d>>2]|0;r=i;return j|0}c=+p[f>>3];l=+W(c)>=1.0?(c>0.0?~~+ia(+V(c/4294967296.0),4294967295.0)>>>0:~~+ga((c-+(~~c>>>0))/4294967296.0)>>>0):0;b=h;k[b>>2]=~~c>>>0;k[b+4>>2]=l;b=e;l=k[b+4>>2]|0;j=h;a=k[j+4>>2]|0;if((l|0)<(a|0)|((l|0)==(a|0)?(k[b>>2]|0)>>>0<(k[j>>2]|0)>>>0:0)){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}j=e;a=k[j+4>>2]|0;l=h;b=k[l+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(k[j>>2]|0)>>>0>(k[l>>2]|0)>>>0:0)){l=h;if(((k[l>>2]|0)==0?(k[l+4>>2]|0)==-2147483648:0)&+p[f>>3]>0.0){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}}l=e;p[g>>3]=+((k[l>>2]|0)>>>0)+4294967296.0*+(k[l+4>>2]|0);if(+p[g>>3]<+p[f>>3]){k[d>>2]=-1;l=k[d>>2]|0;r=i;return l|0}if(+p[g>>3]>+p[f>>3]){k[d>>2]=1;l=k[d>>2]|0;r=i;return l|0}else{k[d>>2]=0;l=k[d>>2]|0;r=i;return l|0}return 0}function OF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+8|0;d=h+24|0;e=h+20|0;g=h+16|0;f=h;k[d>>2]=a;k[e>>2]=b;switch(k[d>>2]|0){case 1:case 0:{f=i[k[e>>2]>>0]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 2:{f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 3:{f=i[k[e>>2]>>0]<<16|l[(k[e>>2]|0)+1>>0]<<8|l[(k[e>>2]|0)+2>>0];g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 4:{k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];f=k[g>>2]|0;g=c;k[g>>2]=f;k[g+4>>2]=((f|0)<0)<<31>>31;break}case 5:{g=l[(k[e>>2]|0)+2>>0]<<24|l[(k[e>>2]|0)+2+1>>0]<<16|l[(k[e>>2]|0)+2+2>>0]<<8|l[(k[e>>2]|0)+2+3>>0];f=i[k[e>>2]>>0]<<8|l[(k[e>>2]|0)+1>>0];f=zR(g|0,0,KR(0,1,f|0,((f|0)<0)<<31>>31|0)|0,L|0)|0;g=c;k[g>>2]=f;k[g+4>>2]=L;break}case 6:{g=f;k[g>>2]=l[k[e>>2]>>0]<<24|l[(k[e>>2]|0)+1>>0]<<16|l[(k[e>>2]|0)+2>>0]<<8|l[(k[e>>2]|0)+3>>0];k[g+4>>2]=0;g=k[f>>2]|0;a=f;k[a>>2]=l[(k[e>>2]|0)+4>>0]<<24|l[(k[e>>2]|0)+4+1>>0]<<16|l[(k[e>>2]|0)+4+2>>0]<<8|l[(k[e>>2]|0)+4+3>>0];k[a+4>>2]=g;a=f;f=k[a+4>>2]|0;g=c;k[g>>2]=k[a>>2];k[g+4>>2]=f;break}default:{g=c;k[g>>2]=(k[d>>2]|0)-8;k[g+4>>2]=0}}g=c;L=k[g+4>>2]|0;r=h;return k[g>>2]|0}function PF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+128|0;e=u+116|0;f=u+112|0;g=u+108|0;h=u+104|0;j=u+100|0;q=u+96|0;s=u+92|0;t=u+88|0;o=u+84|0;p=u+80|0;m=u+40|0;n=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;if((l[(k[f>>2]|0)+10>>0]|0|0)==(l[(k[h>>2]|0)+4>>0]|0|0)){t=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[e>>2]=t;t=k[e>>2]|0;r=u;return t|0}RF(m,k[(k[f>>2]|0)+32>>2]|0,1);RF(n,k[(k[f>>2]|0)+32>>2]|0,1);SF(m,k[f>>2]|0,4096);SF(n,k[g>>2]|0,4096);d=gh(m,i[(k[h>>2]|0)+4>>0]|0)|0;k[s>>2]=d;k[o>>2]=(k[s>>2]|0)==0?0:k[m+12>>2]|0;d=gh(n,i[(k[h>>2]|0)+4>>0]|0)|0;k[t>>2]=d;k[p>>2]=(k[t>>2]|0)==0?0:k[n+12>>2]|0;d=hc[k[(k[h>>2]|0)+12>>2]&255](k[(k[h>>2]|0)+8>>2]|0,k[o>>2]|0,k[s>>2]|0,k[p>>2]|0,k[t>>2]|0)|0;k[q>>2]=d;if(((k[s>>2]|0)==0|(k[t>>2]|0)==0)&(k[j>>2]|0)!=0)i[k[j>>2]>>0]=7;eh(m);eh(n);k[e>>2]=k[q>>2];t=k[e>>2]|0;r=u;return t|0}function QF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;d=e+8|0;f=c;k[f>>2]=a;k[f+4>>2]=b;k[d>>2]=1;while(1){b=c;b=AR(k[b>>2]|0,k[b+4>>2]|0,7)|0;f=L;a=c;k[a>>2]=b;k[a+4>>2]=f;a=k[d>>2]|0;if(!((b|0)!=0|(f|0)!=0))break;k[d>>2]=a+1}r=e;return a|0}function RF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+4|0;f=d;g=d+8|0;k[e>>2]=a;k[f>>2]=b;j[g>>1]=c;j[(k[e>>2]|0)+8>>1]=j[g>>1]|0;k[(k[e>>2]|0)+32>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=0;r=d;return}function SF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){TF(b,k[e>>2]|0,k[f>>2]|0);r=g;return}c=k[e>>2]|0;k[b>>2]=k[c>>2];k[b+4>>2]=k[c+4>>2];k[b+8>>2]=k[c+8>>2];k[b+12>>2]=k[c+12>>2];k[b+16>>2]=k[c+16>>2];if((m[(k[e>>2]|0)+8>>1]|0)&2048){r=g;return}e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&-7169;e=(k[d>>2]|0)+8|0;j[e>>1]=m[e>>1]|0|k[f>>2];r=g;return}function TF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;UF(k[g>>2]|0);SF(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);r=d;return}function UF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if((m[(k[c>>2]|0)+8>>1]|0)&8192)VF(k[c>>2]|0,k[k[c>>2]>>2]|0)|0;a=k[c>>2]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&1024)){b=k[c>>2]|0;if((m[a+8>>1]|0)&32){WF(k[b>>2]|0);break}if((m[b+8>>1]|0)&64){k[d>>2]=k[k[c>>2]>>2];k[(k[d>>2]|0)+4>>2]=k[(k[k[d>>2]>>2]|0)+180>>2];k[(k[k[d>>2]>>2]|0)+180>>2]=k[d>>2]}}else _b[k[a+36>>2]&255](k[(k[c>>2]|0)+16>>2]|0);while(0);j[(k[c>>2]|0)+8>>1]=1;r=e;return}function VF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+96|0;d=h+80|0;e=h+76|0;g=h+72|0;f=h+40|0;c=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if(!(k[e>>2]|0)){g=k[g>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+16>>2]|0)){g=k[g>>2]|0;r=h;return g|0};k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+28>>2]=0;b=c;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));j[c+8>>1]=1;k[c+32>>2]=k[(k[d>>2]|0)+32>>2];k[f>>2]=c;k[f+8>>2]=k[d>>2];k[f+4>>2]=k[e>>2];_b[k[(k[e>>2]|0)+16>>2]&255](f);if((k[(k[d>>2]|0)+24>>2]|0)>0)bg(k[(k[d>>2]|0)+32>>2]|0,k[(k[d>>2]|0)+20>>2]|0);b=k[d>>2]|0;a=b+40|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(a|0));k[g>>2]=k[f+20>>2];g=k[g>>2]|0;r=h;return g|0}function WF(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[k[c>>2]>>2];bg(k[(k[b>>2]|0)+4>>2]|0,k[c>>2]|0);k[c>>2]=k[d>>2]}k[k[b>>2]>>2]=0;j[(k[b>>2]|0)+24>>1]=0;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+12>>2]=0;k[(k[b>>2]|0)+20>>2]=0;j[(k[b>>2]|0)+26>>1]=1;r=e;return}function XF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;i=f+20|0;g=f+16|0;d=f+12|0;e=f;h=f+8|0;k[i>>2]=a;k[g>>2]=b;k[d>>2]=c;c=e;k[c>>2]=(l[k[i>>2]>>0]|0)<<24|(l[(k[i>>2]|0)+1>>0]|0)<<16|(l[(k[i>>2]|0)+2>>0]|0)<<8|(l[(k[i>>2]|0)+3>>0]|0);k[c+4>>2]=0;k[h>>2]=(l[(k[i>>2]|0)+4>>0]|0)<<24|(l[(k[i>>2]|0)+4+1>>0]|0)<<16|(l[(k[i>>2]|0)+4+2>>0]|0)<<8|(l[(k[i>>2]|0)+4+3>>0]|0);c=zR(0,k[e>>2]|0,k[h>>2]|0,0)|0;b=e;k[b>>2]=c;k[b+4>>2]=L;if((k[g>>2]|0)==6){g=e;h=k[g+4>>2]|0;i=k[d>>2]|0;k[i>>2]=k[g>>2];k[i+4>>2]=h;j[(k[d>>2]|0)+8>>1]=4;r=f;return 8}else{i=k[d>>2]|0;k[i>>2]=k[e>>2];k[i+4>>2]=k[e+4>>2];i=(YF(+p[k[d>>2]>>3])|0)!=0;j[(k[d>>2]|0)+8>>1]=i?1:8;r=f;return 8}return 0}function YF(a){a=+a;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+32|0;f=c+16|0;b=c+24|0;e=c+8|0;d=c;p[f>>3]=a;p[e>>3]=+p[f>>3];p[d>>3]=+p[e>>3];k[b>>2]=+p[e>>3]!=+p[d>>3]&1;r=c;return k[b>>2]|0}function ZF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;c=o+20|0;d=o+16|0;e=o+12|0;h=o+8|0;f=o+4|0;g=o;k[d>>2]=a;k[e>>2]=b;if((l[(k[d>>2]|0)+66>>0]|0)!=1){if((l[(k[d>>2]|0)+66>>0]|0)>=3)a=lF(k[d>>2]|0)|0;else a=0;k[h>>2]=a;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}if(!(l[(k[d>>2]|0)+66>>0]|0)){k[k[e>>2]>>2]=1;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if((k[(k[d>>2]|0)+60>>2]|0)!=0?(i[(k[d>>2]|0)+66>>0]=1,b=(k[(k[d>>2]|0)+60>>2]|0)>0,k[(k[d>>2]|0)+60>>2]=0,b):0){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}}k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2];b=(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)|0;a=(j[b>>1]|0)+1<<16>>16;j[b>>1]=a;k[f>>2]=a&65535;a=(i[(k[g>>2]|0)+4>>0]|0)!=0;if((k[f>>2]|0)<(m[(k[g>>2]|0)+18>>1]|0))if(a){k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}else{n=_F(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}if(!a){n=k[d>>2]|0;n=mF(n,or((k[(k[g>>2]|0)+56>>2]|0)+((l[(k[g>>2]|0)+5>>0]|0)+8)|0)|0)|0;k[h>>2]=n;if(k[h>>2]|0){k[c>>2]=k[h>>2];n=k[c>>2]|0;r=o;return n|0}else{n=_F(k[d>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}}do{if(!(i[(k[d>>2]|0)+68>>0]|0)){n=17;break}oF(k[d>>2]|0);k[g>>2]=k[(k[d>>2]|0)+120+(i[(k[d>>2]|0)+68>>0]<<2)>>2]}while((m[(k[d>>2]|0)+80+(i[(k[d>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[g>>2]|0)+18>>1]|0));if((n|0)==17){k[k[e>>2]>>2]=1;i[(k[d>>2]|0)+66>>0]=0;k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}if(i[(k[g>>2]|0)+2>>0]|0){n=iF(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=n;n=k[c>>2]|0;r=o;return n|0}else{k[c>>2]=0;n=k[c>>2]|0;r=o;return n|0}return 0}function _F(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;e=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;while(1){if(k[e>>2]|0){b=5;break}a=k[(k[b>>2]|0)+120+(i[(k[b>>2]|0)+68>>0]<<2)>>2]|0;k[c>>2]=a;if(!((i[a+4>>0]|0)!=0^1)){b=5;break}a=or((k[(k[c>>2]|0)+56>>2]|0)+(m[(k[c>>2]|0)+20>>1]&(l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|l[(k[(k[c>>2]|0)+64>>2]|0)+(m[(k[b>>2]|0)+80+(i[(k[b>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;k[d>>2]=a;a=mF(k[b>>2]|0,k[d>>2]|0)|0;k[e>>2]=a}if((b|0)==5){r=f;return k[e>>2]|0}return 0}function $F(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=k[k[h>>2]>>2];b=bw(k[d>>2]|0,0,0,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){h=k[f>>2]|0;r=g;return h|0}h=zh(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+8>>2]=h;h=Ph(k[d>>2]|0,k[(k[(k[c>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[e>>2]=h;if(!((k[e>>2]|0)==0|(k[e>>2]|0)>=2)){h=k[f>>2]|0;r=g;return h|0}h=zh(k[d>>2]|0,k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0)|0;k[(k[f>>2]|0)+8+(((k[k[f>>2]>>2]|0)-1|0)*72|0)+4>>2]=h;h=k[f>>2]|0;r=g;return h|0}function aG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=k[(k[d>>2]|0)+28>>2];nv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);jv(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);kv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);nv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function bG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+12|0;c=g+8|0;d=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)==0){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((mz(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)+4>>2]|0)|0)>=0){c=6;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==6){k[f>>2]=1;f=k[f>>2]|0;r=g;return f|0}else if((c|0)==8){k[f>>2]=0;f=k[f>>2]|0;r=g;return f|0}return 0}function cG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0)!=152){r=e;return 0}if((j[(k[d>>2]|0)+32>>1]|0)<0){a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|2;r=e;return 0}if((k[(k[(k[c>>2]|0)+24>>2]|0)+(j[(k[d>>2]|0)+32>>1]<<2)>>2]|0)<0){r=e;return 0}a=(k[c>>2]|0)+20|0;i[a>>0]=l[a>>0]|1;r=e;return 0}function dG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g+4|0;c=g;k[e>>2]=a;k[f>>2]=b;if((m[(k[e>>2]|0)+50>>1]|0)!=(m[(k[f>>2]|0)+50>>1]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}if((l[(k[e>>2]|0)+54>>0]|0)!=(l[(k[f>>2]|0)+54>>0]|0)){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0)){c=17;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)!=(j[(k[(k[e>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)){c=8;break}if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1]|0)==-2?(Fy(k[(k[(k[(k[f>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,k[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+((k[c>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){c=11;break}if((l[(k[(k[f>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)!=(l[(k[(k[e>>2]|0)+28>>2]|0)+(k[c>>2]|0)>>0]|0)){c=13;break}if(be(k[(k[(k[f>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[(k[e>>2]|0)+32>>2]|0)+(k[c>>2]<<2)>>2]|0)|0){c=15;break}k[c>>2]=(k[c>>2]|0)+1}if((c|0)==8){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==11){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==13){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==17)if(Fy(k[(k[f>>2]|0)+36>>2]|0,k[(k[e>>2]|0)+36>>2]|0,-1)|0){k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}else{k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}return 0}function eG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[g>>2]|0)+4>>2]=k[e>>2];k[k[g>>2]>>2]=k[(k[e>>2]|0)+496>>2];k[(k[e>>2]|0)+496>>2]=k[f>>2];r=d;return}function fG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+64|0;e=o+48|0;f=o+44|0;g=o+40|0;h=o+36|0;j=o+16|0;n=o+12|0;m=o+8|0;i=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];c=Ph(k[i>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[l>>2]=c;c=Dy(k[i>>2]|0,k[g>>2]|0,0)|0;k[g>>2]=c;c=bw(k[i>>2]|0,0,0,0)|0;k[m>>2]=c;if(k[m>>2]|0){c=zh(k[i>>2]|0,k[k[f>>2]>>2]|0)|0;k[(k[m>>2]|0)+8+8>>2]=c;c=zh(k[i>>2]|0,k[(k[(k[i>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[(k[m>>2]|0)+8+4>>2]=c}c=Vv(k[e>>2]|0,0,k[m>>2]|0,k[g>>2]|0,0,0,0,65536,0,0)|0;k[n>>2]=c;nB(j,12,k[h>>2]|0);Sv(k[e>>2]|0,k[n>>2]|0,j)|0;kv(k[i>>2]|0,k[n>>2]|0);r=o;return}function gG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=r;r=r+96|0;q=F+88|0;H=F+84|0;s=F+80|0;l=F+76|0;m=F+72|0;n=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;p=F+16|0;o=F+8|0;v=F+4|0;u=F;k[q>>2]=a;k[H>>2]=b;k[s>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[G>>2]=g;k[t>>2]=h;k[E>>2]=k[(k[q>>2]|0)+8>>2];k[I>>2]=k[k[q>>2]>>2];c=Qx(k[I>>2]|0,k[s>>2]|0)|0;k[z>>2]=c;k[y>>2]=2+(j[(k[s>>2]|0)+34>>1]|0);k[p>>2]=k[(k[H>>2]|0)+8+44>>2];c=(k[q>>2]|0)+72|0;g=k[c>>2]|0;k[c>>2]=g+1;k[w>>2]=g;g=fx(k[E>>2]|0,57,k[w>>2]|0,k[y>>2]|0)|0;k[u>>2]=g;k[B>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;g=(k[q>>2]|0)+76|0;k[g>>2]=(k[g>>2]|0)+(k[y>>2]|0);g=(k[q>>2]|0)+76|0;c=(k[g>>2]|0)+1|0;k[g>>2]=c;k[C>>2]=c;c=(k[q>>2]|0)+76|0;g=(k[c>>2]|0)+1|0;k[c>>2]=g;k[D>>2]=g;g=fD(k[q>>2]|0,k[H>>2]|0,k[G>>2]|0,0,0,4,0)|0;k[A>>2]=g;if(!(k[A>>2]|0)){r=F;return}fx(k[E>>2]|0,103,k[p>>2]|0,k[B>>2]|0)|0;if(k[m>>2]|0)NA(k[q>>2]|0,k[m>>2]|0,(k[B>>2]|0)+1|0);else fx(k[E>>2]|0,103,k[p>>2]|0,(k[B>>2]|0)+1|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(j[(k[s>>2]|0)+34>>1]|0))break;if((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)>=0)NA(k[q>>2]|0,k[(k[(k[l>>2]|0)+4>>2]|0)+((k[(k[n>>2]|0)+(k[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0);else jx(k[E>>2]|0,153,k[p>>2]|0,k[x>>2]|0,(k[B>>2]|0)+2+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}l=hG(k[A>>2]|0,o)|0;k[v>>2]=l;l=k[E>>2]|0;if(k[v>>2]|0){FA(l,k[u>>2]|0)|0;if(!(k[(k[q>>2]|0)+416>>2]|0))i[(k[q>>2]|0)+20>>0]=0}else{jx(l,49,k[B>>2]|0,k[y>>2]|0,k[C>>2]|0)|0;fx(k[E>>2]|0,74,k[w>>2]|0,k[D>>2]|0)|0;jx(k[E>>2]|0,75,k[w>>2]|0,k[C>>2]|0,k[D>>2]|0)|0}a:do if(!(k[v>>2]|0)){gD(k[A>>2]|0);I=Nz(k[E>>2]|0,108,k[w>>2]|0)|0;k[u>>2]=I;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break a;jx(k[E>>2]|0,47,k[w>>2]|0,k[x>>2]|0,(k[B>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);UC(k[q>>2]|0,k[s>>2]|0);ix(k[E>>2]|0,12,0,k[y>>2]|0,k[B>>2]|0,k[z>>2]|0,-10)|0;Rh(k[E>>2]|0,((k[t>>2]|0)==10?2:k[t>>2]|0)&255);Rx(k[q>>2]|0);if(!(k[v>>2]|0)){fx(k[E>>2]|0,7,k[w>>2]|0,(k[u>>2]|0)+1|0)|0;Vz(k[E>>2]|0,k[u>>2]|0);fx(k[E>>2]|0,61,k[w>>2]|0,0)|0;r=F;return}else{gD(k[A>>2]|0);r=F;return}}function hG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d+4|0;e=d;k[c>>2]=a;k[e>>2]=b;a=k[e>>2]|0;b=(k[c>>2]|0)+60|0;k[a>>2]=k[b>>2];k[a+4>>2]=k[b+4>>2];r=d;return l[(k[c>>2]|0)+40>>0]|0|0}function iG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+4>>2]|0)){r=c;return}k[(k[(k[b>>2]|0)+4>>2]|0)+496>>2]=k[k[b>>2]>>2];k[(k[b>>2]|0)+4>>2]=0;r=c;return}function jG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;i=o+32|0;e=o+28|0;j=o+24|0;l=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;f=o+4|0;g=o;k[e>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;do if(((k[k[j>>2]>>2]|0)+(k[l>>2]|0)|0)>>>0>(k[(k[j>>2]|0)+4>>2]|0)>>>0){k[f>>2]=(k[k[j>>2]>>2]|0)+(k[l>>2]|0);b=Uw(k[e>>2]|0,k[j>>2]|0,80+(((k[f>>2]|0)-1|0)*72|0)|0,0)|0;k[h>>2]=b;if(k[h>>2]|0){k[j>>2]=k[h>>2];b=((((pu(k[e>>2]|0,k[h>>2]|0)|0)-80|0)>>>0)/72|0)+1|0;k[g>>2]=b;k[(k[j>>2]|0)+4>>2]=k[g>>2];break}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}while(0);k[n>>2]=(k[k[j>>2]>>2]|0)-1;while(1){if((k[n>>2]|0)<(k[m>>2]|0))break;e=(k[j>>2]|0)+8+(((k[n>>2]|0)+(k[l>>2]|0)|0)*72|0)|0;a=(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)|0;d=e+72|0;do{k[e>>2]=k[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));k[n>>2]=(k[n>>2]|0)+-1}b=k[j>>2]|0;k[b>>2]=(k[b>>2]|0)+(k[l>>2]|0);DR((k[j>>2]|0)+8+((k[m>>2]|0)*72|0)|0,0,(k[l>>2]|0)*72|0)|0;k[n>>2]=k[m>>2];while(1){if((k[n>>2]|0)>=((k[m>>2]|0)+(k[l>>2]|0)|0))break;k[(k[j>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]=-1;k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=k[j>>2];n=k[i>>2]|0;r=o;return n|0}function kG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;f=g;d=g+20|0;e=g+16|0;j=g+12|0;i=g+8|0;h=g+4|0;k[e>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=l[k[j>>2]>>0];if((k[i>>2]|0)>1?(k[h>>2]|0)==10|(k[h>>2]|0)==11:0){Mh(k[e>>2]|0,36500,f);k[d>>2]=1;j=k[d>>2]|0;r=g;return j|0}k[d>>2]=0;j=k[d>>2]|0;r=g;return j|0}function lG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;f=Q+96|0;A=Q+92|0;h=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;g=Q+40|0;o=Q+36|0;q=Q+32|0;n=Q+28|0;p=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;k[u>>2]=a;k[v>>2]=b;k[z>>2]=c;k[f>>2]=d;k[A>>2]=e;k[h>>2]=k[(k[u>>2]|0)+496>>2];k[B>>2]=k[k[u>>2]>>2];if(m[(k[B>>2]|0)+64>>1]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}k[J>>2]=k[(k[v>>2]|0)+28>>2];k[N>>2]=(k[J>>2]|0)+8+((k[z>>2]|0)*72|0);k[D>>2]=k[(k[N>>2]|0)+44>>2];k[K>>2]=k[(k[N>>2]|0)+20>>2];do if(k[A>>2]|0){if(k[f>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[k[J>>2]>>2]|0)>1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!((k[(k[v>>2]|0)+32>>2]|0)!=0?(k[(k[(k[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((yz(k[k[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((yz(k[(k[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[M>>2]=k[(k[K>>2]|0)+28>>2];if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+60>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&128|0)!=0?(k[(k[K>>2]|0)+56>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[k[M>>2]>>2]|0)){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&1){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?((k[f>>2]|0)!=0?1:(k[k[J>>2]>>2]|0)>1):0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[A>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+44>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[f>>2]|0)!=0?(k[(k[K>>2]|0)+44>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+32>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[K>>2]|0)+56>>2]|0)!=0?(k[(k[v>>2]|0)+8>>2]&1|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(k[(k[K>>2]|0)+8>>2]&12288){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if((k[(k[v>>2]|0)+8>>2]&8192|0)!=0?(k[(k[K>>2]|0)+48>>2]|0)!=0:0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(l[(k[N>>2]|0)+36>>0]&32){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}a:do if(k[(k[K>>2]|0)+48>>2]|0){if(k[(k[K>>2]|0)+44>>2]|0){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}do if(!(k[f>>2]|0)){if(k[(k[v>>2]|0)+8>>2]&1)break;if((k[k[J>>2]>>2]|0)!=1)break;k[L>>2]=k[K>>2];while(1){if(!(k[L>>2]|0))break;if(k[(k[L>>2]|0)+8>>2]&9){t=62;break}if((k[(k[L>>2]|0)+48>>2]|0)!=0?(l[(k[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((k[k[(k[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}k[L>>2]=k[(k[L>>2]|0)+48>>2]}if((t|0)==62){k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}if(!(k[(k[v>>2]|0)+44>>2]|0))break a;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[(k[v>>2]|0)+44>>2]>>2]|0))break a;if(!(m[(k[(k[(k[v>>2]|0)+44>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+16>>1]|0))break;k[g>>2]=(k[g>>2]|0)+1}k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[y>>2]=0;P=k[y>>2]|0;r=Q;return P|0}while(0);k[(k[u>>2]|0)+496>>2]=k[(k[N>>2]|0)+8>>2];ax(k[u>>2]|0,21,0,0,0)|0;k[(k[u>>2]|0)+496>>2]=k[h>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2];while(1){if(!(k[K>>2]|0))break;k[q>>2]=k[(k[v>>2]|0)+44>>2];k[n>>2]=k[(k[v>>2]|0)+56>>2];k[p>>2]=k[(k[v>>2]|0)+60>>2];k[s>>2]=k[(k[v>>2]|0)+48>>2];k[(k[v>>2]|0)+44>>2]=0;k[(k[v>>2]|0)+28>>2]=0;k[(k[v>>2]|0)+48>>2]=0;k[(k[v>>2]|0)+56>>2]=0;k[(k[v>>2]|0)+60>>2]=0;f=Xx(k[B>>2]|0,k[v>>2]|0,0)|0;k[o>>2]=f;k[(k[v>>2]|0)+60>>2]=k[p>>2];k[(k[v>>2]|0)+56>>2]=k[n>>2];k[(k[v>>2]|0)+44>>2]=k[q>>2];k[(k[v>>2]|0)+28>>2]=k[J>>2];i[(k[v>>2]|0)+4>>0]=116;f=k[s>>2]|0;if(!(k[o>>2]|0))k[(k[v>>2]|0)+48>>2]=f;else{k[(k[o>>2]|0)+48>>2]=f;if(k[s>>2]|0)k[(k[s>>2]|0)+52>>2]=k[o>>2];k[(k[o>>2]|0)+52>>2]=k[v>>2];k[(k[v>>2]|0)+48>>2]=k[o>>2]}if(i[(k[B>>2]|0)+69>>0]|0){t=78;break}k[K>>2]=k[(k[K>>2]|0)+48>>2]}if((t|0)==78){k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}t=k[(k[N>>2]|0)+20>>2]|0;k[L>>2]=t;k[K>>2]=t;bg(k[B>>2]|0,k[(k[N>>2]|0)+4>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+8>>2]|0);bg(k[B>>2]|0,k[(k[N>>2]|0)+12>>2]|0);k[(k[N>>2]|0)+4>>2]=0;k[(k[N>>2]|0)+8>>2]=0;k[(k[N>>2]|0)+12>>2]=0;k[(k[N>>2]|0)+20>>2]=0;if(k[(k[N>>2]|0)+16>>2]|0){k[w>>2]=k[(k[N>>2]|0)+16>>2];if((m[(k[w>>2]|0)+36>>1]|0)==1){f=k[u>>2]|0;if(k[(k[u>>2]|0)+416>>2]|0)f=k[f+416>>2]|0;k[x>>2]=f;k[(k[w>>2]|0)+68>>2]=k[(k[x>>2]|0)+528>>2];k[(k[x>>2]|0)+528>>2]=k[w>>2]}else{x=(k[w>>2]|0)+36|0;j[x>>1]=(j[x>>1]|0)+-1<<16>>16}k[(k[N>>2]|0)+16>>2]=0}k[I>>2]=k[v>>2];while(1){if(!(k[I>>2]|0))break;i[E>>0]=0;k[M>>2]=k[(k[K>>2]|0)+28>>2];k[F>>2]=k[k[M>>2]>>2];k[J>>2]=k[(k[I>>2]|0)+28>>2];if(!(k[J>>2]|0)){x=bw(k[B>>2]|0,0,0,0)|0;k[(k[I>>2]|0)+28>>2]=x;k[J>>2]=x;if(!(k[J>>2]|0))break}else i[E>>0]=i[(k[N>>2]|0)+36>>0]|0;if((k[F>>2]|0)>1?(x=jG(k[B>>2]|0,k[J>>2]|0,(k[F>>2]|0)-1|0,(k[z>>2]|0)+1|0)|0,k[J>>2]=x,k[(k[I>>2]|0)+28>>2]=x,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[F>>2]|0))break;ov(k[B>>2]|0,k[(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)+52>>2]|0);f=(k[J>>2]|0)+8+(((k[C>>2]|0)+(k[z>>2]|0)|0)*72|0)|0;c=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=k[c>>2];f=f+4|0;c=c+4|0}while((f|0)<(g|0));f=(k[M>>2]|0)+8+((k[C>>2]|0)*72|0)|0;g=f+72|0;do{k[f>>2]=0;f=f+4|0}while((f|0)<(g|0));k[C>>2]=(k[C>>2]|0)+1}i[(k[J>>2]|0)+8+((k[z>>2]|0)*72|0)+36>>0]=i[E>>0]|0;k[G>>2]=k[k[I>>2]>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[G>>2]>>2]|0))break;if(!(k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]|0)){x=zh(k[B>>2]|0,k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+8>>2]|0)|0;k[P>>2]=x;Zw(k[P>>2]|0)|0;k[(k[(k[G>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+4>>2]=k[P>>2]}k[C>>2]=(k[C>>2]|0)+1}if(k[(k[K>>2]|0)+44>>2]|0){k[H>>2]=k[(k[K>>2]|0)+44>>2];k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[k[H>>2]>>2]|0))break;j[(k[(k[H>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)+16>>1]=0;k[C>>2]=(k[C>>2]|0)+1}k[(k[I>>2]|0)+44>>2]=k[H>>2];k[(k[K>>2]|0)+44>>2]=0}x=Dy(k[B>>2]|0,k[(k[K>>2]|0)+32>>2]|0,0)|0;k[O>>2]=x;if(k[A>>2]|0){k[(k[I>>2]|0)+40>>2]=k[(k[I>>2]|0)+32>>2];k[(k[I>>2]|0)+32>>2]=k[O>>2];w=k[B>>2]|0;x=k[(k[I>>2]|0)+40>>2]|0;x=qz(w,x,Dy(k[B>>2]|0,k[(k[K>>2]|0)+40>>2]|0,0)|0)|0;k[(k[I>>2]|0)+40>>2]=x;x=Ly(k[B>>2]|0,k[(k[K>>2]|0)+36>>2]|0,0)|0;k[(k[I>>2]|0)+36>>2]=x}else{x=qz(k[B>>2]|0,k[(k[I>>2]|0)+32>>2]|0,k[O>>2]|0)|0;k[(k[I>>2]|0)+32>>2]=x}VG(k[B>>2]|0,k[I>>2]|0,k[D>>2]|0,k[k[K>>2]>>2]|0,0);x=(k[I>>2]|0)+8|0;k[x>>2]=k[x>>2]|k[(k[K>>2]|0)+8>>2]&1;if(k[(k[K>>2]|0)+56>>2]|0){k[(k[I>>2]|0)+56>>2]=k[(k[K>>2]|0)+56>>2];k[(k[K>>2]|0)+56>>2]=0}k[I>>2]=k[(k[I>>2]|0)+48>>2];k[K>>2]=k[(k[K>>2]|0)+48>>2]}kv(k[B>>2]|0,k[L>>2]|0);k[y>>2]=1;P=k[y>>2]|0;r=Q;return P|0}function mG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=r;r=r+240|0;Z=_+8|0;d=_;e=_+220|0;f=_+216|0;g=_+212|0;h=_+208|0;T=_+204|0;Q=_+200|0;Y=_+196|0;t=_+176|0;H=_+172|0;s=_+168|0;B=_+164|0;C=_+160|0;m=_+156|0;F=_+152|0;W=_+148|0;G=_+224|0;R=_+144|0;L=_+140|0;O=_+136|0;n=_+132|0;X=_+112|0;x=_+108|0;v=_+104|0;z=_+100|0;I=_+96|0;U=_+92|0;V=_+88|0;y=_+84|0;w=_+80|0;A=_+76|0;M=_+72|0;P=_+68|0;o=_+64|0;D=_+44|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;q=_+20|0;E=_+16|0;p=_+12|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[T>>2]=0;k[H>>2]=0;k[B>>2]=0;k[C>>2]=0;k[s>>2]=k[k[f>>2]>>2];k[Q>>2]=k[(k[g>>2]|0)+48>>2];a=k[h>>2]|0;k[t>>2]=k[a>>2];k[t+4>>2]=k[a+4>>2];k[t+8>>2]=k[a+8>>2];k[t+12>>2]=k[a+12>>2];k[t+16>>2]=k[a+16>>2];a:do if(!(k[(k[Q>>2]|0)+44>>2]|0)){b=k[f>>2]|0;if(k[(k[Q>>2]|0)+56>>2]|0){Y=Ny(l[(k[g>>2]|0)+4>>0]|0)|0;k[Z>>2]=Y;Mh(b,36357,Z);k[T>>2]=1;break}Z=dx(b)|0;k[Y>>2]=Z;if((l[t>>0]|0)==12){fx(k[Y>>2]|0,57,k[t+4>>2]|0,k[k[k[g>>2]>>2]>>2]|0)|0;i[t>>0]=14}if(k[(k[g>>2]|0)+8>>2]&512){Z=XG(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;break}b:do if(k[(k[g>>2]|0)+8>>2]&8192)YG(k[f>>2]|0,k[g>>2]|0,t);else{if(k[(k[g>>2]|0)+44>>2]|0){Z=ZG(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[e>>2]=Z;Z=k[e>>2]|0;r=_;return Z|0}switch(l[(k[g>>2]|0)+4>>0]|0){case 116:{k[m>>2]=0;k[(k[Q>>2]|0)+12>>2]=k[(k[g>>2]|0)+12>>2];k[(k[Q>>2]|0)+16>>2]=k[(k[g>>2]|0)+16>>2];k[(k[Q>>2]|0)+56>>2]=k[(k[g>>2]|0)+56>>2];k[(k[Q>>2]|0)+60>>2]=k[(k[g>>2]|0)+60>>2];k[B>>2]=k[(k[f>>2]|0)+472>>2];Z=Sv(k[f>>2]|0,k[Q>>2]|0,t)|0;k[T>>2]=Z;k[(k[g>>2]|0)+56>>2]=0;k[(k[g>>2]|0)+60>>2]=0;if(k[T>>2]|0)break a;k[(k[g>>2]|0)+48>>2]=0;k[(k[g>>2]|0)+12>>2]=k[(k[Q>>2]|0)+12>>2];k[(k[g>>2]|0)+16>>2]=k[(k[Q>>2]|0)+16>>2];if((k[(k[g>>2]|0)+12>>2]|0)!=0?(Z=Nz(k[Y>>2]|0,46,k[(k[g>>2]|0)+12>>2]|0)|0,k[m>>2]=Z,(k[(k[g>>2]|0)+16>>2]|0)!=0):0)jx(k[Y>>2]|0,139,k[(k[g>>2]|0)+12>>2]|0,(k[(k[g>>2]|0)+16>>2]|0)+1|0,k[(k[g>>2]|0)+16>>2]|0)|0;k[C>>2]=k[(k[f>>2]|0)+472>>2];Z=Sv(k[f>>2]|0,k[g>>2]|0,t)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];Z=_D(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z;if(((k[(k[Q>>2]|0)+56>>2]|0)!=0?(Z=(Ay(k[(k[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(k[F>>2]|0)>0):0)?(X=j[(k[g>>2]|0)+6>>1]|0,Z=k[F>>2]|0,(X|0)>((Uj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=k[F>>2]|0;Z=Uj(Z,((Z|0)<0)<<31>>31)|0;j[(k[g>>2]|0)+6>>1]=Z}if(!(k[m>>2]|0))break b;Vz(k[Y>>2]|0,k[m>>2]|0);break b}case 115:case 117:{i[G>>0]=0;k[R>>2]=1;if((l[t>>0]|0)==(k[R>>2]|0))k[W>>2]=k[t+4>>2];else{V=(k[f>>2]|0)+72|0;Z=k[V>>2]|0;k[V>>2]=Z+1;k[W>>2]=Z;Z=fx(k[Y>>2]|0,57,k[W>>2]|0,0)|0;k[n>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[n>>2];Z=(gz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|16}nB(X,k[R>>2]|0,k[W>>2]|0);k[B>>2]=k[(k[f>>2]|0)+472>>2];Z=Sv(k[f>>2]|0,k[Q>>2]|0,X)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;if((l[(k[g>>2]|0)+4>>0]|0)==117)i[G>>0]=2;else i[G>>0]=1;k[(k[g>>2]|0)+48>>2]=0;k[L>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[O>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;i[X>>0]=i[G>>0]|0;k[C>>2]=k[(k[f>>2]|0)+472>>2];Z=Sv(k[f>>2]|0,k[g>>2]|0,X)|0;k[T>>2]=Z;jv(k[s>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];k[(k[g>>2]|0)+44>>2]=0;if((l[(k[g>>2]|0)+4>>0]|0)==115){Z=_D(j[(k[g>>2]|0)+6>>1]|0,j[(k[Q>>2]|0)+6>>1]|0)|0;j[(k[g>>2]|0)+6>>1]=Z}nv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[L>>2];k[(k[g>>2]|0)+60>>2]=k[O>>2];k[(k[g>>2]|0)+12>>2]=0;k[(k[g>>2]|0)+16>>2]=0;if((l[t>>0]|0)==(k[R>>2]|0))break b;if((l[t>>0]|0)==9){k[I>>2]=k[g>>2];while(1){if(!(k[(k[I>>2]|0)+48>>2]|0))break;k[I>>2]=k[(k[I>>2]|0)+48>>2]}LG(k[f>>2]|0,k[(k[I>>2]|0)+28>>2]|0,k[k[I>>2]>>2]|0)}Z=Sz(k[Y>>2]|0)|0;k[v>>2]=Z;Z=Sz(k[Y>>2]|0)|0;k[x>>2]=Z;rG(k[f>>2]|0,k[g>>2]|0,k[v>>2]|0);fx(k[Y>>2]|0,108,k[W>>2]|0,k[v>>2]|0)|0;Z=Rz(k[Y>>2]|0)|0;k[z>>2]=Z;yG(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[W>>2]|0,0,0,t,k[x>>2]|0,k[v>>2]|0);Wz(k[Y>>2]|0,k[x>>2]|0);fx(k[Y>>2]|0,7,k[W>>2]|0,k[z>>2]|0)|0;Wz(k[Y>>2]|0,k[v>>2]|0);fx(k[Y>>2]|0,61,k[W>>2]|0,0)|0;break b}default:{Z=(k[f>>2]|0)+72|0;X=k[Z>>2]|0;k[Z>>2]=X+1;k[U>>2]=X;X=(k[f>>2]|0)+72|0;Z=k[X>>2]|0;k[X>>2]=Z+1;k[V>>2]=Z;Z=fx(k[Y>>2]|0,57,k[U>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20>>2]=k[o>>2];Z=(gz(k[g>>2]|0)|0)+8|0;k[Z>>2]=k[Z>>2]|16;nB(D,1,k[U>>2]|0);k[B>>2]=k[(k[f>>2]|0)+472>>2];Z=Sv(k[f>>2]|0,k[Q>>2]|0,D)|0;k[T>>2]=Z;if(k[T>>2]|0)break a;Z=fx(k[Y>>2]|0,57,k[V>>2]|0,0)|0;k[o>>2]=Z;k[(k[g>>2]|0)+20+4>>2]=k[o>>2];k[(k[g>>2]|0)+48>>2]=0;k[M>>2]=k[(k[g>>2]|0)+56>>2];k[(k[g>>2]|0)+56>>2]=0;k[P>>2]=k[(k[g>>2]|0)+60>>2];k[(k[g>>2]|0)+60>>2]=0;k[D+4>>2]=k[V>>2];k[C>>2]=k[(k[f>>2]|0)+472>>2];Z=Sv(k[f>>2]|0,k[g>>2]|0,D)|0;k[T>>2]=Z;k[H>>2]=k[(k[g>>2]|0)+48>>2];k[(k[g>>2]|0)+48>>2]=k[Q>>2];if((j[(k[g>>2]|0)+6>>1]|0)>(j[(k[Q>>2]|0)+6>>1]|0))j[(k[g>>2]|0)+6>>1]=j[(k[Q>>2]|0)+6>>1]|0;nv(k[s>>2]|0,k[(k[g>>2]|0)+56>>2]|0);k[(k[g>>2]|0)+56>>2]=k[M>>2];k[(k[g>>2]|0)+60>>2]=k[P>>2];if((l[t>>0]|0)==9){k[J>>2]=k[g>>2];while(1){if(!(k[(k[J>>2]|0)+48>>2]|0))break;k[J>>2]=k[(k[J>>2]|0)+48>>2]}LG(k[f>>2]|0,k[(k[J>>2]|0)+28>>2]|0,k[k[J>>2]>>2]|0)}Z=Sz(k[Y>>2]|0)|0;k[w>>2]=Z;Z=Sz(k[Y>>2]|0)|0;k[y>>2]=Z;rG(k[f>>2]|0,k[g>>2]|0,k[w>>2]|0);fx(k[Y>>2]|0,108,k[U>>2]|0,k[w>>2]|0)|0;Z=kA(k[f>>2]|0)|0;k[S>>2]=Z;Z=fx(k[Y>>2]|0,101,k[U>>2]|0,k[S>>2]|0)|0;k[A>>2]=Z;Qh(k[Y>>2]|0,68,k[V>>2]|0,k[y>>2]|0,k[S>>2]|0,0)|0;oA(k[f>>2]|0,k[S>>2]|0);yG(k[f>>2]|0,k[g>>2]|0,k[k[g>>2]>>2]|0,k[U>>2]|0,0,0,t,k[y>>2]|0,k[w>>2]|0);Wz(k[Y>>2]|0,k[y>>2]|0);fx(k[Y>>2]|0,7,k[U>>2]|0,k[A>>2]|0)|0;Wz(k[Y>>2]|0,k[w>>2]|0);fx(k[Y>>2]|0,61,k[V>>2]|0,0)|0;fx(k[Y>>2]|0,61,k[U>>2]|0,0)|0;break b}}}while(0);_G(k[f>>2]|0,l[(k[g>>2]|0)+4>>0]|0,k[B>>2]|0,k[C>>2]|0,(l[(k[g>>2]|0)+4>>0]|0)!=116&1);if(k[(k[g>>2]|0)+8>>2]&16){k[E>>2]=k[k[k[g>>2]>>2]>>2];Z=eA(k[s>>2]|0,k[E>>2]|0,1)|0;k[K>>2]=Z;if(!(k[K>>2]|0)){k[T>>2]=7;break}k[u>>2]=0;k[q>>2]=(k[K>>2]|0)+20;while(1){if((k[u>>2]|0)>=(k[E>>2]|0))break;Z=$G(k[f>>2]|0,k[g>>2]|0,k[u>>2]|0)|0;k[k[q>>2]>>2]=Z;if(!(k[k[q>>2]>>2]|0))k[k[q>>2]>>2]=k[(k[s>>2]|0)+8>>2];k[u>>2]=(k[u>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+4}k[N>>2]=k[g>>2];while(1){if(!(k[N>>2]|0))break;k[u>>2]=0;while(1){if((k[u>>2]|0)>=2)break;k[p>>2]=k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2];if((k[p>>2]|0)<0)break;$z(k[Y>>2]|0,k[p>>2]|0,k[E>>2]|0);X=k[Y>>2]|0;Z=k[p>>2]|0;Uh(X,Z,jA(k[K>>2]|0)|0,-6);k[(k[N>>2]|0)+20+(k[u>>2]<<2)>>2]=-1;k[u>>2]=(k[u>>2]|0)+1}k[N>>2]=k[(k[N>>2]|0)+48>>2]}fA(k[K>>2]|0)}}else{Z=k[f>>2]|0;Y=Ny(l[(k[g>>2]|0)+4>>0]|0)|0;k[d>>2]=Y;Mh(Z,36309,d);k[T>>2]=1}while(0);k[(k[h>>2]|0)+8>>2]=k[t+8>>2];k[(k[h>>2]|0)+12>>2]=k[t+12>>2];kv(k[s>>2]|0,k[H>>2]|0);k[e>>2]=k[T>>2];Z=k[e>>2]|0;r=_;return Z|0}function nG(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;wz(k[d>>2]|0,b);r=c;return k[b>>2]|0}function oG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=r;r=r+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=0;if(!(k[h>>2]|0)){k[e>>2]=0;c=k[e>>2]|0;r=n;return c|0}if(k[(k[g>>2]|0)+8>>2]&8200){k[e>>2]=0;c=k[e>>2]|0;r=n;return c|0}if(k[(k[g>>2]|0)+56>>2]|0){k[e>>2]=0;c=k[e>>2]|0;r=n;return c|0}while(1){if((l[k[h>>2]>>0]|0|0)!=72)break;c=oG(k[f>>2]|0,k[g>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[i>>2]|0)|0;k[j>>2]=(k[j>>2]|0)+c;k[h>>2]=k[(k[h>>2]|0)+12>>2]}if(k[(k[h>>2]|0)+4>>2]&1){k[e>>2]=0;c=k[e>>2]|0;r=n;return c|0}a:do if(UD(k[h>>2]|0,k[i>>2]|0)|0){k[j>>2]=(k[j>>2]|0)+1;while(1){if(!(k[g>>2]|0))break a;c=Dy(k[f>>2]|0,k[h>>2]|0,0)|0;k[m>>2]=c;c=UG(k[f>>2]|0,k[m>>2]|0,k[i>>2]|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=c;c=qz(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[m>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=c;k[g>>2]=k[(k[g>>2]|0)+48>>2]}}while(0);k[e>>2]=k[j>>2];c=k[e>>2]|0;r=n;return c|0}function pG(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+19>>0]=0;k[(k[c>>2]|0)+60>>2]=0;r=b;return}function qG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;e=p+36|0;f=p+32|0;g=p+28|0;q=p+24|0;l=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;j=p+4|0;m=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[q>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[l>>2]=k[k[f>>2]>>2];a=eA(k[h>>2]|0,(k[l>>2]|0)-(k[g>>2]|0)|0,(k[q>>2]|0)+1|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){q=k[n>>2]|0;r=p;return q|0}k[j>>2]=k[g>>2];k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);while(1){if((k[j>>2]|0)>=(k[l>>2]|0))break;q=cy(k[e>>2]|0,k[k[o>>2]>>2]|0)|0;k[m>>2]=q;if(!(k[m>>2]|0))k[m>>2]=k[(k[h>>2]|0)+8>>2];k[(k[n>>2]|0)+20+((k[j>>2]|0)-(k[g>>2]|0)<<2)>>2]=k[m>>2];i[(k[(k[n>>2]|0)+16>>2]|0)+((k[j>>2]|0)-(k[g>>2]|0))>>0]=i[(k[o>>2]|0)+12>>0]|0;k[j>>2]=(k[j>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+20}q=k[n>>2]|0;r=p;return q|0}function rG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;k[g>>2]=0;if(k[(k[e>>2]|0)+12>>2]|0){r=m;return}uC(k[d>>2]|0);if(!(k[(k[e>>2]|0)+56>>2]|0)){r=m;return}b=(k[d>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[g>>2]=a;k[(k[e>>2]|0)+12>>2]=a;a=dx(k[d>>2]|0)|0;k[l>>2]=a;do if(Ay(k[(k[e>>2]|0)+56>>2]|0,i)|0){fx(k[l>>2]|0,22,k[i>>2]|0,k[g>>2]|0)|0;if(!(k[i>>2]|0)){Uz(k[l>>2]|0,k[f>>2]|0)|0;break}if((k[i>>2]|0)>=0?(b=j[(k[e>>2]|0)+6>>1]|0,a=k[i>>2]|0,(b|0)>((Uj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=k[i>>2]|0;a=Uj(a,((a|0)<0)<<31>>31)|0;j[(k[e>>2]|0)+6>>1]=a;a=(k[e>>2]|0)+8|0;k[a>>2]=k[a>>2]|16384}}else{NA(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0,k[g>>2]|0);Nz(k[l>>2]|0,38,k[g>>2]|0)|0;fx(k[l>>2]|0,46,k[g>>2]|0,k[f>>2]|0)|0}while(0);if(!(k[(k[e>>2]|0)+60>>2]|0)){r=m;return}b=(k[d>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[h>>2]=a;k[(k[e>>2]|0)+16>>2]=a;a=(k[d>>2]|0)+76|0;k[a>>2]=(k[a>>2]|0)+1;NA(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0,k[h>>2]|0);Nz(k[l>>2]|0,38,k[h>>2]|0)|0;jx(k[l>>2]|0,139,k[g>>2]|0,(k[h>>2]|0)+1|0,k[h>>2]|0)|0;r=m;return}function sG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;i[g>>0]=c;c=i[g>>0]|0;a=aA(k[f>>2]|0,k[e>>2]|0)|0;i[a>>0]=c;r=d;return}function tG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return j[(k[b>>2]|0)+32>>1]|0}function uG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+42>>0]|0|0}function vG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return i[(k[b>>2]|0)+38>>0]|0}function wG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+48>>2]|0}function xG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+52>>2]|0}function yG(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=r;r=r+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;n=V+112|0;R=V+108|0;o=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;q=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;p=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;k[P>>2]=a;k[Q>>2]=b;k[t>>2]=c;k[n>>2]=d;k[R>>2]=e;k[o>>2]=f;k[M>>2]=g;k[u>>2]=h;k[S>>2]=j;k[U>>2]=k[(k[P>>2]|0)+8>>2];k[C>>2]=l[k[M>>2]>>0];k[O>>2]=k[(k[M>>2]|0)+4>>2];k[N>>2]=0;if(k[o>>2]|0)j=l[(k[o>>2]|0)+1>>0]|0;else j=0;k[q>>2]=j;if((k[R>>2]|0)!=0?(k[k[R>>2]>>2]|0)==0:0)k[R>>2]=0;if(!((k[R>>2]|0)!=0|(k[q>>2]|0)!=0))NG(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0);k[F>>2]=k[k[t>>2]>>2];if(k[(k[M>>2]|0)+8>>2]|0){if(((k[(k[M>>2]|0)+8>>2]|0)+(k[F>>2]|0)|0)>(k[(k[P>>2]|0)+76>>2]|0)){d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[F>>2]|0)}}else{if(k[R>>2]|0){k[N>>2]=k[k[k[R>>2]>>2]>>2];if(!((l[(k[R>>2]|0)+28>>0]|0)&1))k[N>>2]=(k[N>>2]|0)+1;d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[N>>2]|0)}k[(k[M>>2]|0)+8>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;d=(k[P>>2]|0)+76|0;k[d>>2]=(k[d>>2]|0)+(k[F>>2]|0)}k[(k[M>>2]|0)+12>>2]=k[F>>2];k[T>>2]=k[(k[M>>2]|0)+8>>2];a:do if((k[n>>2]|0)<0){if((k[C>>2]|0)!=3){if((k[C>>2]|0)==10|(k[C>>2]|0)==9|(k[C>>2]|0)==13)i[p>>0]=1;else i[p>>0]=0;WA(k[P>>2]|0,k[t>>2]|0,k[T>>2]|0,0,i[p>>0]|0)|0}}else{k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[F>>2]|0))break a;jx(k[U>>2]|0,47,k[n>>2]|0,k[D>>2]|0,(k[T>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}}while(0);if(k[q>>2]|0){switch(l[(k[o>>2]|0)+1>>0]|0|0){case 2:{k[A>>2]=(k[(k[P>>2]|0)+76>>2]|0)+1;q=(k[P>>2]|0)+76|0;k[q>>2]=(k[q>>2]|0)+(k[F>>2]|0);FA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;q=aA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[s>>2]=q;i[k[s>>2]>>0]=25;k[(k[s>>2]|0)+4>>2]=1;k[(k[s>>2]|0)+8>>2]=k[A>>2];s=Rz(k[U>>2]|0)|0;k[w>>2]=s+(k[F>>2]|0);k[D>>2]=0;while(1){if((k[D>>2]|0)>=(k[F>>2]|0))break;j=cy(k[P>>2]|0,k[(k[(k[t>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)>>2]|0)|0;k[x>>2]=j;j=k[U>>2]|0;h=(k[T>>2]|0)+(k[D>>2]|0)|0;if((k[D>>2]|0)<((k[F>>2]|0)-1|0))jx(j,78,h,k[w>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;else jx(j,79,h,k[u>>2]|0,(k[A>>2]|0)+(k[D>>2]|0)|0)|0;Uh(k[U>>2]|0,-1,k[x>>2]|0,-4);Rh(k[U>>2]|0,-128);k[D>>2]=(k[D>>2]|0)+1}jx(k[U>>2]|0,30,k[T>>2]|0,k[A>>2]|0,(k[F>>2]|0)-1|0)|0;break}case 1:{FA(k[U>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;break}default:OG(k[P>>2]|0,k[(k[o>>2]|0)+4>>2]|0,k[u>>2]|0,k[F>>2]|0,k[T>>2]|0)}if(!(k[R>>2]|0))NG(k[U>>2]|0,k[(k[Q>>2]|0)+16>>2]|0,k[u>>2]|0)}b:do switch(k[C>>2]|0){case 1:{N=kA(k[P>>2]|0)|0;k[y>>2]=N;jx(k[U>>2]|0,49,k[T>>2]|0,k[F>>2]|0,k[y>>2]|0)|0;fx(k[U>>2]|0,110,k[O>>2]|0,k[y>>2]|0)|0;oA(k[P>>2]|0,k[y>>2]|0);break}case 2:{jx(k[U>>2]|0,111,k[O>>2]|0,k[T>>2]|0,k[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{M=AA(k[P>>2]|0,(k[N>>2]|0)+1|0)|0;k[H>>2]=M;jx(k[U>>2]|0,49,k[T>>2]|0,k[F>>2]|0,(k[H>>2]|0)+(k[N>>2]|0)|0)|0;if((k[C>>2]|0)==6){M=(Rz(k[U>>2]|0)|0)+4|0;k[v>>2]=M;Qh(k[U>>2]|0,69,(k[O>>2]|0)+1|0,k[v>>2]|0,k[H>>2]|0,0)|0;fx(k[U>>2]|0,110,(k[O>>2]|0)+1|0,k[H>>2]|0)|0}j=k[P>>2]|0;if(k[R>>2]|0)TG(j,k[R>>2]|0,k[Q>>2]|0,(k[H>>2]|0)+(k[N>>2]|0)|0,k[T>>2]|0,1,k[N>>2]|0);else{T=kA(j)|0;k[K>>2]=T;fx(k[U>>2]|0,74,k[O>>2]|0,k[K>>2]|0)|0;jx(k[U>>2]|0,75,k[O>>2]|0,k[H>>2]|0,k[K>>2]|0)|0;Rh(k[U>>2]|0,8);oA(k[P>>2]|0,k[K>>2]|0)}DA(k[P>>2]|0,k[H>>2]|0,(k[N>>2]|0)+1|0);break}case 11:{j=gB(k[k[(k[t>>2]|0)+4>>2]>>2]|0,i[(k[M>>2]|0)+1>>0]|0)|0;i[(k[M>>2]|0)+1>>0]=j;j=k[P>>2]|0;if(k[R>>2]|0){TG(j,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,1,k[N>>2]|0);break b}else{N=kA(j)|0;k[I>>2]=N;ix(k[U>>2]|0,49,k[T>>2]|0,1,k[I>>2]|0,(k[M>>2]|0)+1|0,1)|0;SA(k[P>>2]|0,k[T>>2]|0,1);fx(k[U>>2]|0,110,k[O>>2]|0,k[I>>2]|0)|0;oA(k[P>>2]|0,k[I>>2]|0);break b}}case 3:{fx(k[U>>2]|0,22,1,k[O>>2]|0)|0;break}case 10:{if(k[R>>2]|0)TG(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,1,k[N>>2]|0);break}case 9:case 13:{if(k[R>>2]|0){TG(k[P>>2]|0,k[R>>2]|0,k[Q>>2]|0,k[T>>2]|0,k[T>>2]|0,k[F>>2]|0,k[N>>2]|0);break b}j=k[U>>2]|0;if((k[C>>2]|0)==13){Nz(j,18,k[(k[M>>2]|0)+4>>2]|0)|0;break b}else{fx(j,33,k[T>>2]|0,k[F>>2]|0)|0;SA(k[P>>2]|0,k[T>>2]|0,k[F>>2]|0);break b}}case 7:case 8:{k[B>>2]=0;k[G>>2]=k[(k[M>>2]|0)+16>>2];k[E>>2]=k[k[G>>2]>>2];N=kA(k[P>>2]|0)|0;k[J>>2]=N;N=AA(k[P>>2]|0,(k[E>>2]|0)+2|0)|0;k[L>>2]=N;k[z>>2]=(k[L>>2]|0)+(k[E>>2]|0)+1;if((k[C>>2]|0)==8){N=Qh(k[U>>2]|0,69,(k[O>>2]|0)+1|0,0,k[T>>2]|0,k[F>>2]|0)|0;k[B>>2]=N}jx(k[U>>2]|0,49,k[T>>2]|0,k[F>>2]|0,k[z>>2]|0)|0;if((k[C>>2]|0)==8){fx(k[U>>2]|0,110,(k[O>>2]|0)+1|0,k[z>>2]|0)|0;Rh(k[U>>2]|0,16)}k[D>>2]=0;while(1){j=k[U>>2]|0;if((k[D>>2]|0)>=(k[E>>2]|0))break;fx(j,31,(k[T>>2]|0)+(m[(k[(k[G>>2]|0)+4>>2]|0)+((k[D>>2]|0)*20|0)+16>>1]|0)-1|0,(k[L>>2]|0)+(k[D>>2]|0)|0)|0;k[D>>2]=(k[D>>2]|0)+1}fx(j,73,k[O>>2]|0,(k[L>>2]|0)+(k[E>>2]|0)|0)|0;jx(k[U>>2]|0,49,k[L>>2]|0,(k[E>>2]|0)+2|0,k[J>>2]|0)|0;fx(k[U>>2]|0,110,k[O>>2]|0,k[J>>2]|0)|0;if(k[B>>2]|0)Vz(k[U>>2]|0,k[B>>2]|0);oA(k[P>>2]|0,k[J>>2]|0);DA(k[P>>2]|0,k[L>>2]|0,(k[E>>2]|0)+2|0);break}default:{}}while(0);if(k[R>>2]|0){r=V;return}if(!(k[(k[Q>>2]|0)+12>>2]|0)){r=V;return}fx(k[U>>2]|0,141,k[(k[Q>>2]|0)+12>>2]|0,k[S>>2]|0)|0;r=V;return}function zG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;AG(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}r=g;return}function AG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=202;k[e+8>>2]=203;k[e+24>>2]=k[f>>2];ry(e,k[d>>2]|0)|0;r=c;return}function BG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;f=h;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;k[c>>2]=a;k[d>>2]=b;if((l[(k[c>>2]|0)+453>>0]|0|0)!=2){r=h;return}k[e>>2]=k[(k[c>>2]|0)+8>>2];b=k[k[c>>2]>>2]|0;k[f>>2]=k[d>>2];b=Nh(b,36286,f)|0;k[g>>2]=b;ix(k[e>>2]|0,161,k[(k[c>>2]|0)+468>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}function CG(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+39>>0]|0|0}function DG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;k[h>>2]=a;k[g>>2]=b;k[i>>2]=c;k[f>>2]=d;jx(k[(k[h>>2]|0)+8>>2]|0,29,k[g>>2]|0,k[i>>2]|0,k[f>>2]|0)|0;EA(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function EG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+56|0;d=v+52|0;u=v+48|0;g=v+44|0;t=v+40|0;e=v+36|0;o=v+32|0;l=v+28|0;j=v+24|0;f=v+20|0;s=v+16|0;q=v+12|0;n=v+8|0;p=v+4|0;h=v;k[c>>2]=a;k[d>>2]=b;k[u>>2]=k[(k[c>>2]|0)+8>>2];k[t>>2]=0;k[e>>2]=0;i[k[d>>2]>>0]=1;k[g>>2]=0;k[o>>2]=k[(k[d>>2]|0)+40>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;k[f>>2]=0;k[q>>2]=k[(k[k[o>>2]>>2]|0)+20>>2];if(k[q>>2]|0){k[j>>2]=k[k[q>>2]>>2];a=AA(k[c>>2]|0,k[j>>2]|0)|0;k[s>>2]=a;WA(k[c>>2]|0,k[q>>2]|0,k[s>>2]|0,0,1)|0}else{k[j>>2]=0;k[s>>2]=0}if((k[(k[o>>2]|0)+12>>2]|0)>=0){a=Sz(k[u>>2]|0)|0;k[f>>2]=a;OG(k[c>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[f>>2]|0,1,k[s>>2]|0)}if((m[(k[(k[o>>2]|0)+4>>2]|0)+2>>1]|0)&32){k[n>>2]=0;k[h>>2]=0;k[p>>2]=k[(k[q>>2]|0)+4>>2];while(1){if(k[n>>2]|0)break;if((k[h>>2]|0)>=(k[j>>2]|0))break;a=cy(k[c>>2]|0,k[k[p>>2]>>2]|0)|0;k[n>>2]=a;k[h>>2]=(k[h>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}if(!(k[n>>2]|0))k[n>>2]=k[(k[k[c>>2]>>2]|0)+8>>2];if((k[t>>2]|0)==0?(k[(k[d>>2]|0)+36>>2]|0)!=0:0){b=(k[c>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[t>>2]=a}ix(k[u>>2]|0,34,k[t>>2]|0,0,0,k[n>>2]|0,-4)|0}ix(k[u>>2]|0,143,0,k[s>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+4>>2]|0,-5)|0;Rh(k[u>>2]|0,k[j>>2]&255);SA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);DA(k[c>>2]|0,k[s>>2]|0,k[j>>2]|0);if(k[f>>2]|0){Wz(k[u>>2]|0,k[f>>2]|0);uC(k[c>>2]|0)}k[g>>2]=(k[g>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+16}if(k[t>>2]|0){t=Nz(k[u>>2]|0,45,k[t>>2]|0)|0;k[e>>2]=t}uC(k[c>>2]|0);k[g>>2]=0;k[l>>2]=k[(k[d>>2]|0)+28>>2];while(1){if((k[g>>2]|0)>=(k[(k[d>>2]|0)+36>>2]|0))break;NA(k[c>>2]|0,k[(k[l>>2]|0)+20>>2]|0,k[(k[l>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[l>>2]=(k[l>>2]|0)+24}i[k[d>>2]>>0]=0;uC(k[c>>2]|0);if(!(k[e>>2]|0)){r=v;return}Vz(k[u>>2]|0,k[e>>2]|0);r=v;return}function FG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+20|0;c=h+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[g>>2]=k[(k[i>>2]|0)+8>>2];k[d>>2]=0;k[e>>2]=k[(k[c>>2]|0)+40>>2];while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+44>>2]|0))break;k[f>>2]=k[(k[k[e>>2]>>2]|0)+20>>2];if(k[f>>2]|0)b=k[k[f>>2]>>2]|0;else b=0;ix(k[g>>2]|0,145,k[(k[e>>2]|0)+8>>2]|0,b,0,k[(k[e>>2]|0)+4>>2]|0,-5)|0;k[d>>2]=(k[d>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+16}r=h;return}function GG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;l=r;r=r+48|0;j=l;c=l+32|0;d=l+28|0;i=l+24|0;e=l+20|0;g=l+16|0;m=l+12|0;f=l+8|0;h=l+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[c>>2]|0)+8>>2];k[m>>2]=(k[(k[d>>2]|0)+44>>2]|0)+(k[(k[d>>2]|0)+32>>2]|0);if(!(k[m>>2]|0)){r=l;return}jx(k[i>>2]|0,25,0,k[(k[d>>2]|0)+16>>2]|0,k[(k[d>>2]|0)+20>>2]|0)|0;k[g>>2]=k[(k[d>>2]|0)+40>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+44>>2]|0))break;do if((k[(k[g>>2]|0)+12>>2]|0)>=0){k[f>>2]=k[k[g>>2]>>2];if((k[(k[f>>2]|0)+20>>2]|0)!=0?(k[k[(k[f>>2]|0)+20>>2]>>2]|0)==1:0){m=qG(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0,0,0)|0;k[h>>2]=m;ix(k[i>>2]|0,57,k[(k[g>>2]|0)+12>>2]|0,0,0,k[h>>2]|0,-6)|0;break}Mh(k[c>>2]|0,36235,j);k[(k[g>>2]|0)+12>>2]=-1}while(0);k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+16}r=l;return}function HG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;if((((k[(k[d>>2]|0)+32>>2]|0)==0?(k[k[k[d>>2]>>2]>>2]|0)==1:0)?(k[k[(k[d>>2]|0)+28>>2]>>2]|0)==1:0)?(k[(k[(k[d>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){k[g>>2]=k[(k[(k[d>>2]|0)+28>>2]|0)+8+16>>2];k[f>>2]=k[k[(k[k[d>>2]>>2]|0)+4>>2]>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if((l[k[f>>2]>>0]|0|0)!=153){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!(k[(k[e>>2]|0)+44>>2]|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(!((m[(k[(k[(k[e>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}if(k[(k[f>>2]|0)+4>>2]&16){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}else{k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}}k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function IG(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,m=0;m=r;r=r+32|0;h=m;f=m+28|0;g=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;if((l[(k[f>>2]|0)+453>>0]|0|0)!=2){r=m;return}if(k[d>>2]|0)if(!((l[(k[g>>2]|0)+42>>0]|0)&32))c=1;else c=(i[(k[d>>2]|0)+55>>0]&3|0)==2^1;else c=0;k[e>>2]=c&1;a=k[k[f>>2]>>2]|0;b=(k[e>>2]|0)!=0?36194:19010;if(k[e>>2]|0)c=k[k[d>>2]>>2]|0;else c=19010;k[h>>2]=k[k[g>>2]>>2];k[h+4>>2]=b;k[h+8>>2]=c;h=Nh(a,36217,h)|0;k[j>>2]=h;ix(k[(k[f>>2]|0)+8>>2]|0,161,k[(k[f>>2]|0)+468>>2]|0,0,0,k[j>>2]|0,-1)|0;r=m;return}function JG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[k[d>>2]>>2]=0;do if((((k[(k[c>>2]|0)+44>>2]|0)==1?(k[g>>2]=k[k[(k[c>>2]|0)+40>>2]>>2],k[f>>2]=k[(k[g>>2]|0)+20>>2],(k[f>>2]|0)!=0):0)?(k[k[f>>2]>>2]|0)==1:0)?(l[k[k[(k[f>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){k[h>>2]=k[(k[g>>2]|0)+8>>2];if(!(sg(k[h>>2]|0,36186)|0)){k[e>>2]=1;k[k[d>>2]>>2]=k[f>>2];break}if(!(sg(k[h>>2]|0,36190)|0)){k[e>>2]=2;k[k[d>>2]>>2]=k[f>>2]}}while(0);r=i;return k[e>>2]&255|0}function KG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;s=E+84|0;f=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;g=E+48|0;z=E+44|0;p=E+40|0;w=E+36|0;j=E+32|0;x=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;o=E+12|0;i=E+8|0;h=E+4|0;q=E;k[s>>2]=a;k[f>>2]=b;k[B>>2]=c;k[t>>2]=d;k[u>>2]=e;k[D>>2]=k[(k[s>>2]|0)+8>>2];k[C>>2]=k[(k[B>>2]|0)+24>>2];c=Sz(k[D>>2]|0)|0;k[v>>2]=c;k[g>>2]=0;k[p>>2]=k[k[B>>2]>>2];k[w>>2]=l[k[u>>2]>>0];k[j>>2]=k[(k[u>>2]|0)+4>>2];if(k[(k[B>>2]|0)+16>>2]|0){fx(k[D>>2]|0,14,k[(k[B>>2]|0)+12>>2]|0,k[(k[B>>2]|0)+16>>2]|0)|0;Uz(k[D>>2]|0,k[C>>2]|0)|0;Wz(k[D>>2]|0,k[(k[B>>2]|0)+16>>2]|0)}k[z>>2]=k[(k[B>>2]|0)+8>>2];if((k[w>>2]|0)==9|(k[w>>2]|0)==13){k[y>>2]=0;k[x>>2]=k[(k[u>>2]|0)+8>>2];k[o>>2]=k[t>>2]}else{c=kA(k[s>>2]|0)|0;k[y>>2]=c;c=kA(k[s>>2]|0)|0;k[x>>2]=c;k[o>>2]=1}k[n>>2]=(k[k[p>>2]>>2]|0)-(k[(k[B>>2]|0)+4>>2]|0);if((l[(k[B>>2]|0)+28>>0]|0)&1){c=(k[s>>2]|0)+76|0;a=(k[c>>2]|0)+1|0;k[c>>2]=a;k[q>>2]=a;a=(k[s>>2]|0)+72|0;c=k[a>>2]|0;k[a>>2]=c+1;k[m>>2]=c;if(k[(k[B>>2]|0)+16>>2]|0){c=iB(k[s>>2]|0)|0;k[g>>2]=c}jx(k[D>>2]|0,60,k[m>>2]|0,k[q>>2]|0,(k[n>>2]|0)+1+(k[o>>2]|0)|0)|0;if(k[g>>2]|0)Vz(k[D>>2]|0,k[g>>2]|0);c=1+(fx(k[D>>2]|0,106,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=c;NG(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[v>>2]|0);jx(k[D>>2]|0,100,k[z>>2]|0,k[q>>2]|0,k[m>>2]|0)|0;k[h>>2]=0}else{q=1+(fx(k[D>>2]|0,107,k[z>>2]|0,k[C>>2]|0)|0)|0;k[A>>2]=q;NG(k[D>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[v>>2]|0);k[m>>2]=k[z>>2];k[h>>2]=1}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[o>>2]|0))break;jx(k[D>>2]|0,47,k[m>>2]|0,(k[n>>2]|0)+(k[h>>2]|0)+(k[i>>2]|0)|0,(k[x>>2]|0)+(k[i>>2]|0)|0)|0;k[i>>2]=(k[i>>2]|0)+1}a:do switch(k[w>>2]|0){case 12:{fx(k[D>>2]|0,74,k[j>>2]|0,k[y>>2]|0)|0;jx(k[D>>2]|0,75,k[j>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;Rh(k[D>>2]|0,8);break}case 11:{ix(k[D>>2]|0,49,k[x>>2]|0,1,k[y>>2]|0,(k[u>>2]|0)+1|0,1)|0;SA(k[s>>2]|0,k[x>>2]|0,1);fx(k[D>>2]|0,110,k[j>>2]|0,k[y>>2]|0)|0;break}case 10:{DG(k[s>>2]|0,k[x>>2]|0,k[j>>2]|0,1);break}default:{f=k[D>>2]|0;g=k[u>>2]|0;if((k[w>>2]|0)==9){fx(f,33,k[g+8>>2]|0,k[t>>2]|0)|0;SA(k[s>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[t>>2]|0);break a}else{Nz(f,18,k[g+4>>2]|0)|0;break a}}}while(0);if(k[y>>2]|0){oA(k[s>>2]|0,k[x>>2]|0);oA(k[s>>2]|0,k[y>>2]|0)}Wz(k[D>>2]|0,k[v>>2]|0);h=k[D>>2]|0;g=k[z>>2]|0;f=k[A>>2]|0;if((l[(k[B>>2]|0)+28>>0]|0)&1)fx(h,3,g,f)|0;else fx(h,7,g,f)|0;if(!(k[(k[B>>2]|0)+12>>2]|0)){B=k[D>>2]|0;D=k[C>>2]|0;Wz(B,D);r=E;return}Nz(k[D>>2]|0,15,k[(k[B>>2]|0)+12>>2]|0)|0;B=k[D>>2]|0;D=k[C>>2]|0;Wz(B,D);r=E;return}function LG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;v=A+8|0;u=A;d=A+72|0;e=A+68|0;f=A+64|0;t=A+60|0;m=A+56|0;o=A+52|0;g=A+48|0;h=A+44|0;s=A+40|0;p=A+36|0;y=A+32|0;q=A+28|0;x=A+24|0;n=A+20|0;z=A+16|0;w=A+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[t>>2]=k[(k[d>>2]|0)+8>>2];k[g>>2]=k[k[d>>2]>>2];if(i[(k[d>>2]|0)+453>>0]|0){r=A;return}if(l[(k[d>>2]|0)+16>>0]|0){r=A;return}if(l[(k[g>>2]|0)+69>>0]|0){r=A;return}i[(k[d>>2]|0)+16>>0]=1;k[h>>2]=(k[(k[g>>2]|0)+24>>2]&4|0)!=0&1;k[s>>2]=(k[(k[g>>2]|0)+24>>2]&64|0)!=0&1;cC(k[t>>2]|0,k[k[f>>2]>>2]|0);k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[p>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)>>2];do if(k[p>>2]|0){if(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2]|0){k[y>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+4>>2];dC(k[t>>2]|0,k[m>>2]|0,0,k[y>>2]|0,-1)|0;break}if((l[k[p>>2]>>0]|0)!=152?(l[k[p>>2]>>0]|0)!=154:0){k[w>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2];c=k[g>>2]|0;if(!(k[w>>2]|0)){k[v>>2]=(k[m>>2]|0)+1;c=Nh(c,36177,v)|0}else c=zh(c,k[w>>2]|0)|0;k[w>>2]=c;dC(k[t>>2]|0,k[m>>2]|0,0,k[w>>2]|0,170)|0;break}k[n>>2]=j[(k[p>>2]|0)+32>>1];k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[e>>2]>>2]|0))break;if((k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+44>>2]|0)==(k[(k[p>>2]|0)+28>>2]|0))break;k[o>>2]=(k[o>>2]|0)+1}k[q>>2]=k[(k[e>>2]|0)+8+((k[o>>2]|0)*72|0)+16>>2];if((k[n>>2]|0)<0)k[n>>2]=j[(k[q>>2]|0)+32>>1];if((k[n>>2]|0)<0)k[x>>2]=25353;else k[x>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+(k[n>>2]<<4)>>2];if(!((k[s>>2]|0)!=0|(k[h>>2]|0)!=0)){a=k[t>>2]|0;b=k[m>>2]|0;dC(a,b,0,zh(k[g>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[m>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(k[h>>2]|0){k[z>>2]=0;b=k[g>>2]|0;a=k[x>>2]|0;k[u>>2]=k[k[q>>2]>>2];k[u+4>>2]=a;b=Nh(b,30741,u)|0;k[z>>2]=b;dC(k[t>>2]|0,k[m>>2]|0,0,k[z>>2]|0,170)|0;break}else{dC(k[t>>2]|0,k[m>>2]|0,0,k[x>>2]|0,-1)|0;break}}while(0);k[m>>2]=(k[m>>2]|0)+1}MG(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=A;return}function MG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+64|0;l=j+56|0;m=j+52|0;d=j+48|0;h=j+44|0;e=j+40|0;g=j+8|0;f=j+4|0;i=j;k[l>>2]=a;k[m>>2]=b;k[d>>2]=c;k[h>>2]=k[(k[l>>2]|0)+8>>2];k[g+4>>2]=k[m>>2];k[g>>2]=k[l>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2];m=ay(g,k[f>>2]|0,0)|0;k[i>>2]=m;dC(k[h>>2]|0,k[e>>2]|0,1,k[i>>2]|0,-1)|0;k[e>>2]=(k[e>>2]|0)+1}r=j;return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[e>>2]|0)<=0){r=g;return}jx(k[d>>2]|0,138,k[e>>2]|0,k[f>>2]|0,1)|0;r=g;return}function OG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;f=r;r=r+32|0;h=f+24|0;i=f+20|0;n=f+16|0;l=f+12|0;m=f+8|0;j=f+4|0;g=f;k[h>>2]=a;k[i>>2]=b;k[n>>2]=c;k[l>>2]=d;k[m>>2]=e;k[j>>2]=k[(k[h>>2]|0)+8>>2];a=kA(k[h>>2]|0)|0;k[g>>2]=a;Qh(k[j>>2]|0,69,k[i>>2]|0,k[n>>2]|0,k[m>>2]|0,k[l>>2]|0)|0;jx(k[j>>2]|0,49,k[m>>2]|0,k[l>>2]|0,k[g>>2]|0)|0;fx(k[j>>2]|0,110,k[i>>2]|0,k[g>>2]|0)|0;oA(k[h>>2]|0,k[g>>2]|0);r=f;return}function PG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=r;r=r+80|0;t=A+64|0;c=A+60|0;u=A+56|0;w=A+52|0;p=A+48|0;z=A+44|0;q=A+40|0;x=A+36|0;o=A+32|0;g=A+28|0;e=A+24|0;d=A+20|0;f=A+16|0;n=A+12|0;s=A+8|0;h=A+4|0;y=A;v=A+68|0;k[c>>2]=a;k[u>>2]=b;k[p>>2]=k[(k[c>>2]|0)+24>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=k[(k[p>>2]|0)+4>>2];k[x>>2]=k[(k[p>>2]|0)+12>>2];switch(l[k[u>>2]>>0]|0){case 152:case 154:{a:do if(k[q>>2]|0){k[o>>2]=(k[q>>2]|0)+8;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[k[q>>2]>>2]|0))break a;if((k[(k[u>>2]|0)+28>>2]|0)==(k[(k[o>>2]|0)+44>>2]|0))break;k[w>>2]=(k[w>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+72}k[g>>2]=k[(k[x>>2]|0)+28>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0))break;if((k[(k[g>>2]|0)+4>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0)?(k[(k[g>>2]|0)+8>>2]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+24}if((k[e>>2]|0)>=(k[(k[x>>2]|0)+32>>2]|0)?(y=RG(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[e>>2]=y,(y|0)>=0):0){k[g>>2]=(k[(k[x>>2]|0)+28>>2]|0)+((k[e>>2]|0)*24|0);k[k[g>>2]>>2]=k[(k[u>>2]|0)+44>>2];k[(k[g>>2]|0)+4>>2]=k[(k[u>>2]|0)+28>>2];k[(k[g>>2]|0)+8>>2]=j[(k[u>>2]|0)+32>>1];y=(k[z>>2]|0)+76|0;z=(k[y>>2]|0)+1|0;k[y>>2]=z;k[(k[g>>2]|0)+16>>2]=z;k[(k[g>>2]|0)+12>>2]=-1;k[(k[g>>2]|0)+20>>2]=k[u>>2];b:do if(k[(k[x>>2]|0)+24>>2]|0){k[n>>2]=k[(k[x>>2]|0)+24>>2];k[s>>2]=k[(k[n>>2]|0)+4>>2];k[f>>2]=k[k[n>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;k[h>>2]=k[k[s>>2]>>2];if(((l[k[h>>2]>>0]|0)==152?(k[(k[h>>2]|0)+28>>2]|0)==(k[(k[u>>2]|0)+28>>2]|0):0)?(j[(k[h>>2]|0)+32>>1]|0)==(j[(k[u>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+20}k[(k[g>>2]|0)+12>>2]=k[d>>2]}while(0);if((k[(k[g>>2]|0)+12>>2]|0)<0){y=(k[x>>2]|0)+12|0;z=k[y>>2]|0;k[y>>2]=z+1;k[(k[g>>2]|0)+12>>2]=z}}k[(k[u>>2]|0)+40>>2]=k[x>>2];i[k[u>>2]>>0]=-102;j[(k[u>>2]|0)+34>>1]=k[e>>2]}while(0);k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}case 153:{if((m[(k[p>>2]|0)+28>>1]&8|0)==0?(k[(k[c>>2]|0)+16>>2]|0)==(l[(k[u>>2]|0)+38>>0]|0):0){k[y>>2]=k[(k[x>>2]|0)+40>>2];k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0))break;if(!(Fy(k[k[y>>2]>>2]|0,k[u>>2]|0,-1)|0))break;k[w>>2]=(k[w>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+16}do if((k[w>>2]|0)>=(k[(k[x>>2]|0)+44>>2]|0)?(i[v>>0]=i[(k[k[z>>2]>>2]|0)+66>>0]|0,a=SG(k[k[z>>2]>>2]|0,k[x>>2]|0)|0,k[w>>2]=a,(k[w>>2]|0)>=0):0){k[y>>2]=(k[(k[x>>2]|0)+40>>2]|0)+(k[w>>2]<<4);k[k[y>>2]>>2]=k[u>>2];s=(k[z>>2]|0)+76|0;a=(k[s>>2]|0)+1|0;k[s>>2]=a;k[(k[y>>2]|0)+8>>2]=a;if(k[(k[u>>2]|0)+20>>2]|0)c=k[k[(k[u>>2]|0)+20>>2]>>2]|0;else c=0;v=si(k[k[z>>2]>>2]|0,k[(k[u>>2]|0)+8>>2]|0,c,i[v>>0]|0,0)|0;k[(k[y>>2]|0)+4>>2]=v;if(k[(k[u>>2]|0)+4>>2]&16){v=(k[z>>2]|0)+72|0;z=k[v>>2]|0;k[v>>2]=z+1;k[(k[y>>2]|0)+12>>2]=z;break}else{k[(k[y>>2]|0)+12>>2]=-1;break}}while(0);j[(k[u>>2]|0)+34>>1]=k[w>>2];k[(k[u>>2]|0)+40>>2]=k[x>>2];k[t>>2]=1;z=k[t>>2]|0;r=A;return z|0}k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}default:{k[t>>2]=0;z=k[t>>2]|0;r=A;return z|0}}return 0}function QG(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function RG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=HC(k[f>>2]|0,k[(k[e>>2]|0)+28>>2]|0,24,(k[e>>2]|0)+32|0,c)|0;k[(k[e>>2]|0)+28>>2]=b;r=d;return k[c>>2]|0}function SG(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;b=HC(k[f>>2]|0,k[(k[e>>2]|0)+40>>2]|0,16,(k[e>>2]|0)+44|0,c)|0;k[(k[e>>2]|0)+40>>2]=b;r=d;return k[c>>2]|0}function TG(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+96|0;q=J+88|0;s=J+84|0;h=J+80|0;j=J+76|0;n=J+72|0;t=J+68|0;o=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;p=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;k[q>>2]=a;k[s>>2]=b;k[h>>2]=c;k[j>>2]=d;k[n>>2]=e;k[t>>2]=f;k[o>>2]=g;k[I>>2]=k[(k[q>>2]|0)+8>>2];k[x>>2]=(l[(k[s>>2]|0)+28>>0]&1|0)==0&1;k[z>>2]=k[k[k[s>>2]>>2]>>2];k[p>>2]=(k[z>>2]|0)+(k[x>>2]|0)+(k[t>>2]|0);d=(k[q>>2]|0)+76|0;e=(k[d>>2]|0)+1|0;k[d>>2]=e;k[H>>2]=e;k[B>>2]=k[(k[s>>2]|0)+4>>2];if(k[o>>2]|0)k[F>>2]=(k[j>>2]|0)-(k[z>>2]|0)-(k[x>>2]|0);else{k[F>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;e=(k[q>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+(k[p>>2]|0)}f=k[h>>2]|0;if(k[(k[h>>2]|0)+16>>2]|0)f=(k[f+16>>2]|0)+1|0;else f=k[f+12>>2]|0;k[y>>2]=f;h=Sz(k[I>>2]|0)|0;k[(k[s>>2]|0)+24>>2]=h;WA(k[q>>2]|0,k[k[s>>2]>>2]|0,k[F>>2]|0,k[n>>2]|0,5)|0;if(k[x>>2]|0)fx(k[I>>2]|0,73,k[(k[s>>2]|0)+8>>2]|0,(k[F>>2]|0)+(k[z>>2]|0)|0)|0;if(!(k[o>>2]|0))DG(k[q>>2]|0,k[j>>2]|0,(k[F>>2]|0)+(k[z>>2]|0)+(k[x>>2]|0)|0,k[t>>2]|0);jx(k[I>>2]|0,49,(k[F>>2]|0)+(k[B>>2]|0)|0,(k[p>>2]|0)-(k[B>>2]|0)|0,k[H>>2]|0)|0;if((k[B>>2]|0)>0){k[G>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;f=(k[q>>2]|0)+76|0;k[f>>2]=(k[f>>2]|0)+(k[(k[s>>2]|0)+4>>2]|0);k[A>>2]=(k[z>>2]|0)-(k[(k[s>>2]|0)+4>>2]|0)+(k[x>>2]|0);f=k[I>>2]|0;if(k[x>>2]|0){z=Nz(f,46,(k[F>>2]|0)+(k[z>>2]|0)|0)|0;k[v>>2]=z}else{z=Nz(f,59,k[(k[s>>2]|0)+8>>2]|0)|0;k[v>>2]=z}jx(k[I>>2]|0,42,k[G>>2]|0,k[F>>2]|0,k[(k[s>>2]|0)+4>>2]|0)|0;z=aA(k[I>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;k[E>>2]=z;if(i[(k[k[q>>2]>>2]|0)+69>>0]|0){r=J;return}k[(k[E>>2]|0)+8>>2]=(k[A>>2]|0)+(k[t>>2]|0);k[D>>2]=k[(k[E>>2]|0)+16>>2];DR(k[(k[D>>2]|0)+16>>2]|0,0,m[(k[D>>2]|0)+6>>1]|0)|0;Uh(k[I>>2]|0,-1,k[D>>2]|0,-6);D=qG(k[q>>2]|0,k[k[s>>2]>>2]|0,k[B>>2]|0,(m[(k[D>>2]|0)+8>>1]|0)-1|0)|0;k[(k[E>>2]|0)+16>>2]=D;D=Rz(k[I>>2]|0)|0;k[w>>2]=D;jx(k[I>>2]|0,43,(k[w>>2]|0)+1|0,0,(k[w>>2]|0)+1|0)|0;D=Sz(k[I>>2]|0)|0;k[(k[s>>2]|0)+16>>2]=D;D=(k[q>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[(k[s>>2]|0)+12>>2]=E;fx(k[I>>2]|0,14,k[(k[s>>2]|0)+12>>2]|0,k[(k[s>>2]|0)+16>>2]|0)|0;Nz(k[I>>2]|0,120,k[(k[s>>2]|0)+8>>2]|0)|0;if(k[y>>2]|0)fx(k[I>>2]|0,46,k[y>>2]|0,k[(k[s>>2]|0)+24>>2]|0)|0;Vz(k[I>>2]|0,k[v>>2]|0);DG(k[q>>2]|0,k[F>>2]|0,k[G>>2]|0,k[(k[s>>2]|0)+4>>2]|0);Vz(k[I>>2]|0,k[w>>2]|0)}if(l[(k[s>>2]|0)+28>>0]&1)k[C>>2]=109;else k[C>>2]=110;fx(k[I>>2]|0,k[C>>2]|0,k[(k[s>>2]|0)+8>>2]|0,k[H>>2]|0)|0;if(!(k[y>>2]|0)){r=J;return}H=jx(k[I>>2]|0,140,k[y>>2]|0,0,1)|0;k[u>>2]=H;Nz(k[I>>2]|0,105,k[(k[s>>2]|0)+8>>2]|0)|0;Nz(k[I>>2]|0,95,k[(k[s>>2]|0)+8>>2]|0)|0;Vz(k[I>>2]|0,k[u>>2]|0);r=J;return}function UG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;h=p+20|0;e=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;k[e>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;if(!(k[m>>2]|0)){k[h>>2]=0;o=k[h>>2]|0;r=p;return o|0}do if((l[k[m>>2]>>0]|0)==152?(k[(k[m>>2]|0)+28>>2]|0)==(k[n>>2]|0):0)if((j[(k[m>>2]|0)+32>>1]|0)<0){i[k[m>>2]>>0]=101;break}else{o=Dy(k[e>>2]|0,k[(k[(k[o>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;k[f>>2]=o;nv(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[f>>2];break}else g=8;while(0);do if((g|0)==8){a=UG(k[e>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+12>>2]=a;a=UG(k[e>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[(k[m>>2]|0)+16>>2]=a;e=k[e>>2]|0;a=(k[m>>2]|0)+20|0;if(k[(k[m>>2]|0)+4>>2]&2048){VG(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0,1);break}else{WG(e,k[a>>2]|0,k[n>>2]|0,k[o>>2]|0);break}}while(0);k[h>>2]=k[m>>2];o=k[h>>2]|0;r=p;return o|0}function VG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;o=p+8|0;n=p+4|0;m=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if(!(k[g>>2]|0)){r=p;return}while(1){WG(k[f>>2]|0,k[k[g>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0);WG(k[f>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[h>>2]|0,k[i>>2]|0);WG(k[f>>2]|0,k[(k[g>>2]|0)+44>>2]|0,k[h>>2]|0,k[i>>2]|0);d=UG(k[f>>2]|0,k[(k[g>>2]|0)+40>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+40>>2]=d;d=UG(k[f>>2]|0,k[(k[g>>2]|0)+32>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[(k[g>>2]|0)+32>>2]=d;k[o>>2]=k[(k[g>>2]|0)+28>>2];k[m>>2]=k[k[o>>2]>>2];k[n>>2]=(k[o>>2]|0)+8;while(1){if((k[m>>2]|0)<=0)break;VG(k[f>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[h>>2]|0,k[i>>2]|0,1);if((l[(k[n>>2]|0)+36+1>>0]|0)>>>2&1)WG(k[f>>2]|0,k[(k[n>>2]|0)+64>>2]|0,k[h>>2]|0,k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+72}if(!(k[j>>2]|0)){f=9;break}d=k[(k[g>>2]|0)+48>>2]|0;k[g>>2]=d;if(!d){f=9;break}}if((f|0)==9){r=p;return}}function WG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[k[f>>2]>>2]|0))break;b=UG(k[e>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[(k[f>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]=b;k[i>>2]=(k[i>>2]|0)+1}r=j;return}function XG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=1;k[i>>2]=0;while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2];k[g>>2]=(k[g>>2]|0)+1}while(1){if(!(k[e>>2]|0)){d=7;break}k[h>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=0;a=Sv(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[i>>2]=a;k[(k[e>>2]|0)+48>>2]=k[h>>2];if(k[i>>2]|0){d=7;break}j[(k[e>>2]|0)+6>>1]=k[g>>2];k[e>>2]=k[(k[e>>2]|0)+52>>2]}if((d|0)==7){r=l;return k[i>>2]|0}return 0}function YG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+128|0;F=G;n=G+112|0;o=G+108|0;p=G+104|0;e=G+100|0;i=G+96|0;E=G+92|0;A=G+88|0;t=G+84|0;s=G+80|0;q=G+76|0;v=G+72|0;B=G+68|0;w=G+64|0;h=G+60|0;g=G+56|0;u=G+36|0;d=G+32|0;m=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;j=G+4|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[e>>2]=k[(k[o>>2]|0)+28>>2];k[i>>2]=k[k[k[o>>2]>>2]>>2];k[E>>2]=k[(k[n>>2]|0)+8>>2];k[A>>2]=k[(k[o>>2]|0)+48>>2];k[v>>2]=0;k[h>>2]=0;k[g>>2]=5;if(ax(k[n>>2]|0,33,0,0,0)|0){r=G;return}a=Sz(k[E>>2]|0)|0;k[q>>2]=a;rG(k[n>>2]|0,k[o>>2]|0,k[q>>2]|0);k[x>>2]=k[(k[o>>2]|0)+56>>2];k[y>>2]=k[(k[o>>2]|0)+60>>2];k[C>>2]=k[(k[o>>2]|0)+12>>2];k[D>>2]=k[(k[o>>2]|0)+16>>2];k[(k[o>>2]|0)+60>>2]=0;k[(k[o>>2]|0)+56>>2]=0;k[(k[o>>2]|0)+16>>2]=0;k[(k[o>>2]|0)+12>>2]=0;k[z>>2]=k[(k[o>>2]|0)+44>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[e>>2]>>2]|0))break;b=k[d>>2]|0;if((l[(k[e>>2]|0)+8+((k[d>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){f=5;break}k[d>>2]=b+1}if((f|0)==5)k[v>>2]=k[(k[e>>2]|0)+8+(b*72|0)+44>>2];f=(k[n>>2]|0)+72|0;b=k[f>>2]|0;k[f>>2]=b+1;k[w>>2]=b;b=(k[z>>2]|0)!=0;if((l[(k[o>>2]|0)+4>>0]|0|0)==115){k[g>>2]=b?8:6;e=(k[n>>2]|0)+72|0;f=k[e>>2]|0;k[e>>2]=f+1;k[h>>2]=f}else k[g>>2]=b?7:5;nB(u,k[g>>2]|0,k[w>>2]|0);f=(k[n>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[B>>2]=g;jx(k[E>>2]|0,60,k[v>>2]|0,k[B>>2]|0,k[i>>2]|0)|0;if(k[z>>2]|0){i=aH(k[n>>2]|0,k[o>>2]|0,1)|0;k[j>>2]=i;ix(k[E>>2]|0,57,k[w>>2]|0,(k[k[z>>2]>>2]|0)+2|0,0,k[j>>2]|0,-6)|0;k[u+16>>2]=k[z>>2]}else fx(k[E>>2]|0,57,k[w>>2]|0,k[i>>2]|0)|0;if(k[h>>2]|0){j=fx(k[E>>2]|0,57,k[h>>2]|0,0)|0;k[(k[o>>2]|0)+20>>2]=j;j=(k[o>>2]|0)+8|0;k[j>>2]=k[j>>2]|16}k[(k[o>>2]|0)+44>>2]=0;k[(k[A>>2]|0)+52>>2]=0;j=Sv(k[n>>2]|0,k[A>>2]|0,u)|0;k[m>>2]=j;k[(k[A>>2]|0)+52>>2]=k[o>>2];if(!(k[m>>2]|0)){b=fx(k[E>>2]|0,108,k[w>>2]|0,k[q>>2]|0)|0;k[t>>2]=b;Nz(k[E>>2]|0,104,k[v>>2]|0)|0;b=k[E>>2]|0;c=k[w>>2]|0;if(k[z>>2]|0)jx(b,47,c,(k[k[z>>2]>>2]|0)+1|0,k[B>>2]|0)|0;else fx(b,102,c,k[B>>2]|0)|0;Nz(k[E>>2]|0,95,k[w>>2]|0)|0;B=Sz(k[E>>2]|0)|0;k[s>>2]=B;NG(k[E>>2]|0,k[D>>2]|0,k[s>>2]|0);yG(k[n>>2]|0,k[o>>2]|0,k[k[o>>2]>>2]|0,k[v>>2]|0,0,0,k[p>>2]|0,k[s>>2]|0,k[q>>2]|0);if(k[C>>2]|0)fx(k[E>>2]|0,141,k[C>>2]|0,k[q>>2]|0)|0;Wz(k[E>>2]|0,k[s>>2]|0);if(k[(k[o>>2]|0)+8>>2]&8)Mh(k[n>>2]|0,36458,F);else{k[(k[o>>2]|0)+48>>2]=0;Sv(k[n>>2]|0,k[o>>2]|0,u)|0;k[(k[o>>2]|0)+48>>2]=k[A>>2]}Uz(k[E>>2]|0,k[t>>2]|0)|0;Wz(k[E>>2]|0,k[q>>2]|0)}jv(k[k[n>>2]>>2]|0,k[(k[o>>2]|0)+44>>2]|0);k[(k[o>>2]|0)+44>>2]=k[z>>2];k[(k[o>>2]|0)+56>>2]=k[x>>2];k[(k[o>>2]|0)+60>>2]=k[y>>2];r=G;return}function ZG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=r;r=r+224|0;p=ba+212|0;q=ba+208|0;s=ba+204|0;t=ba+200|0;d=ba+196|0;e=ba+192|0;S=ba+188|0;aa=ba+184|0;H=ba+164|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;o=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;g=ba+16|0;n=ba+12|0;h=ba+8|0;f=ba+4|0;P=ba;k[q>>2]=a;k[s>>2]=b;k[t>>2]=c;k[D>>2]=0;k[Q>>2]=0;k[G>>2]=k[k[q>>2]>>2];k[aa>>2]=k[(k[q>>2]|0)+8>>2];a=Sz(k[aa>>2]|0)|0;k[M>>2]=a;a=Sz(k[aa>>2]|0)|0;k[L>>2]=a;k[O>>2]=l[(k[s>>2]|0)+4>>0];k[S>>2]=k[(k[s>>2]|0)+48>>2];k[o>>2]=k[(k[s>>2]|0)+44>>2];k[N>>2]=k[k[o>>2]>>2];a:do if((k[O>>2]|0)!=116){k[d>>2]=1;while(1){if(l[(k[G>>2]|0)+69>>0]|0)break a;if((k[d>>2]|0)>(k[k[k[s>>2]>>2]>>2]|0))break a;k[e>>2]=0;k[g>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[N>>2]|0))break;if((m[(k[g>>2]|0)+16>>1]|0)==(k[d>>2]|0))break;k[e>>2]=(k[e>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+20}if((k[e>>2]|0)==(k[N>>2]|0)){a=Zv(k[G>>2]|0,132,0)|0;k[n>>2]=a;if(!(k[n>>2]|0))break;a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[d>>2];a=Wv(k[q>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){c=k[d>>2]&65535;a=k[N>>2]|0;k[N>>2]=a+1;j[(k[(k[o>>2]|0)+4>>2]|0)+(a*20|0)+16>>1]=c}}k[d>>2]=(k[d>>2]|0)+1}k[p>>2]=7;aa=k[p>>2]|0;r=ba;return aa|0}while(0);a=Vw(k[G>>2]|0,(k[N>>2]|0)+1<<2,0)|0;k[u>>2]=a;if(k[u>>2]|0){k[k[u>>2]>>2]=k[N>>2];k[d>>2]=1;k[h>>2]=k[(k[o>>2]|0)+4>>2];while(1){if((k[d>>2]|0)>(k[N>>2]|0))break;k[(k[u>>2]|0)+(k[d>>2]<<2)>>2]=(m[(k[h>>2]|0)+16>>1]|0)-1;k[d>>2]=(k[d>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+20}a=aH(k[q>>2]|0,k[s>>2]|0,1)|0;k[R>>2]=a}else k[R>>2]=0;k[(k[s>>2]|0)+44>>2]=k[o>>2];a=Ly(k[k[q>>2]>>2]|0,k[o>>2]|0,0)|0;k[(k[S>>2]|0)+44>>2]=a;b:do if((k[O>>2]|0)!=116){k[f>>2]=k[k[k[s>>2]>>2]>>2];k[Z>>2]=(k[(k[q>>2]|0)+76>>2]|0)+1;a=(k[q>>2]|0)+76|0;k[a>>2]=(k[a>>2]|0)+((k[f>>2]|0)+1);fx(k[aa>>2]|0,22,0,k[Z>>2]|0)|0;a=eA(k[G>>2]|0,k[f>>2]|0,1)|0;k[Q>>2]=a;if(k[Q>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[f>>2]|0))break b;a=$G(k[q>>2]|0,k[s>>2]|0,k[d>>2]|0)|0;k[(k[Q>>2]|0)+20+(k[d>>2]<<2)>>2]=a;i[(k[(k[Q>>2]|0)+16>>2]|0)+(k[d>>2]|0)>>0]=0;k[d>>2]=(k[d>>2]|0)+1}}}else k[Z>>2]=0;while(0);k[(k[s>>2]|0)+48>>2]=0;k[(k[S>>2]|0)+52>>2]=0;Oy(k[q>>2]|0,k[s>>2]|0,k[(k[s>>2]|0)+44>>2]|0,29687)|0;if(!(k[(k[S>>2]|0)+48>>2]|0))Oy(k[q>>2]|0,k[S>>2]|0,k[(k[S>>2]|0)+44>>2]|0,29687)|0;rG(k[q>>2]|0,k[s>>2]|0,k[M>>2]|0);if((k[O>>2]|0)==116?(k[(k[s>>2]|0)+12>>2]|0)!=0:0){d=(k[q>>2]|0)+76|0;a=(k[d>>2]|0)+1|0;k[d>>2]=a;k[V>>2]=a;a=(k[q>>2]|0)+76|0;d=(k[a>>2]|0)+1|0;k[a>>2]=d;k[W>>2]=d;d=k[s>>2]|0;if(k[(k[s>>2]|0)+16>>2]|0)d=(k[d+16>>2]|0)+1|0;else d=k[d+12>>2]|0;fx(k[aa>>2]|0,30,d,k[V>>2]|0)|0;fx(k[aa>>2]|0,30,k[V>>2]|0,k[W>>2]|0)|0}else{k[W>>2]=0;k[V>>2]=0}nv(k[G>>2]|0,k[(k[s>>2]|0)+56>>2]|0);k[(k[s>>2]|0)+56>>2]=0;nv(k[G>>2]|0,k[(k[s>>2]|0)+60>>2]|0);k[(k[s>>2]|0)+60>>2]=0;a=(k[q>>2]|0)+76|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[T>>2]=o;o=(k[q>>2]|0)+76|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[U>>2]=a;a=(k[q>>2]|0)+76|0;o=(k[a>>2]|0)+1|0;k[a>>2]=o;k[X>>2]=o;o=(k[q>>2]|0)+76|0;a=(k[o>>2]|0)+1|0;k[o>>2]=a;k[Y>>2]=a;nB(H,13,k[T>>2]|0);nB(I,13,k[U>>2]|0);a=(Rz(k[aa>>2]|0)|0)+1|0;k[E>>2]=a;E=jx(k[aa>>2]|0,16,k[T>>2]|0,0,k[E>>2]|0)|0;k[v>>2]=E;k[(k[S>>2]|0)+12>>2]=k[V>>2];k[J>>2]=k[(k[q>>2]|0)+472>>2];Sv(k[q>>2]|0,k[S>>2]|0,H)|0;NC(k[aa>>2]|0,k[T>>2]|0);Vz(k[aa>>2]|0,k[v>>2]|0);V=(Rz(k[aa>>2]|0)|0)+1|0;k[F>>2]=V;V=jx(k[aa>>2]|0,16,k[U>>2]|0,0,k[F>>2]|0)|0;k[v>>2]=V;k[_>>2]=k[(k[s>>2]|0)+12>>2];k[$>>2]=k[(k[s>>2]|0)+16>>2];k[(k[s>>2]|0)+12>>2]=k[W>>2];k[(k[s>>2]|0)+16>>2]=0;k[K>>2]=k[(k[q>>2]|0)+472>>2];Sv(k[q>>2]|0,k[s>>2]|0,I)|0;k[(k[s>>2]|0)+12>>2]=k[_>>2];k[(k[s>>2]|0)+16>>2]=k[$>>2];NC(k[aa>>2]|0,k[U>>2]|0);$=bH(k[q>>2]|0,k[s>>2]|0,H,k[t>>2]|0,k[X>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[C>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115){$=bH(k[q>>2]|0,k[s>>2]|0,I,k[t>>2]|0,k[Y>>2]|0,k[Z>>2]|0,k[Q>>2]|0,k[M>>2]|0)|0;k[D>>2]=$}fA(k[Q>>2]|0);if((k[O>>2]|0)==117|(k[O>>2]|0)==118){$=k[M>>2]|0;k[z>>2]=$;k[A>>2]=$}else{$=fx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;k[z>>2]=$;$=fx(k[aa>>2]|0,18,k[U>>2]|0,k[M>>2]|0)|0;k[A>>2]=$;Uz(k[aa>>2]|0,k[z>>2]|0)|0;$=_D(j[(k[s>>2]|0)+6>>1]|0,j[(k[S>>2]|0)+6>>1]|0)|0;j[(k[s>>2]|0)+6>>1]=$}if((k[O>>2]|0)==118){k[B>>2]=k[z>>2];if((j[(k[s>>2]|0)+6>>1]|0)>(j[(k[S>>2]|0)+6>>1]|0))j[(k[s>>2]|0)+6>>1]=j[(k[S>>2]|0)+6>>1]|0}else{$=fx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[B>>2]=$;fx(k[aa>>2]|0,18,k[T>>2]|0,k[M>>2]|0)|0;Uz(k[aa>>2]|0,k[B>>2]|0)|0}$=fx(k[aa>>2]|0,14,k[X>>2]|0,k[C>>2]|0)|0;k[y>>2]=$;fx(k[aa>>2]|0,18,k[T>>2]|0,k[z>>2]|0)|0;Uz(k[aa>>2]|0,k[L>>2]|0)|0;do if((k[O>>2]|0)!=116)if((k[O>>2]|0)==118){k[w>>2]=k[y>>2];k[y>>2]=(k[y>>2]|0)+1;break}else{$=fx(k[aa>>2]|0,18,k[T>>2]|0,k[z>>2]|0)|0;k[w>>2]=$;Uz(k[aa>>2]|0,k[L>>2]|0)|0;break}else k[w>>2]=k[y>>2];while(0);$=Rz(k[aa>>2]|0)|0;k[x>>2]=$;if((k[O>>2]|0)==116|(k[O>>2]|0)==115)fx(k[aa>>2]|0,14,k[Y>>2]|0,k[D>>2]|0)|0;fx(k[aa>>2]|0,18,k[U>>2]|0,k[B>>2]|0)|0;Uz(k[aa>>2]|0,k[L>>2]|0)|0;Vz(k[aa>>2]|0,k[v>>2]|0);fx(k[aa>>2]|0,18,k[T>>2]|0,k[A>>2]|0)|0;fx(k[aa>>2]|0,18,k[U>>2]|0,k[B>>2]|0)|0;Wz(k[aa>>2]|0,k[L>>2]|0);ix(k[aa>>2]|0,41,0,0,0,k[u>>2]|0,-15)|0;ix(k[aa>>2]|0,42,k[H+8>>2]|0,k[I+8>>2]|0,k[N>>2]|0,k[R>>2]|0,-6)|0;Rh(k[aa>>2]|0,1);jx(k[aa>>2]|0,43,k[y>>2]|0,k[w>>2]|0,k[x>>2]|0)|0;Wz(k[aa>>2]|0,k[M>>2]|0);if((l[k[t>>2]>>0]|0)==9){k[P>>2]=k[S>>2];while(1){if(!(k[(k[P>>2]|0)+48>>2]|0))break;k[P>>2]=k[(k[P>>2]|0)+48>>2]}LG(k[q>>2]|0,k[(k[P>>2]|0)+28>>2]|0,k[k[P>>2]>>2]|0)}if(k[(k[s>>2]|0)+48>>2]|0)kv(k[G>>2]|0,k[(k[s>>2]|0)+48>>2]|0);k[(k[s>>2]|0)+48>>2]=k[S>>2];k[(k[S>>2]|0)+52>>2]=k[s>>2];_G(k[q>>2]|0,l[(k[s>>2]|0)+4>>0]|0,k[J>>2]|0,k[K>>2]|0,0);k[p>>2]=(k[(k[q>>2]|0)+68>>2]|0)!=0&1;aa=k[p>>2]|0;r=ba;return aa|0}function _G(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p;f=p+40|0;g=p+36|0;h=p+32|0;i=p+28|0;j=p+24|0;m=p+20|0;o=p+16|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((l[(k[f>>2]|0)+453>>0]|0|0)!=2){r=p;return}k[m>>2]=k[(k[f>>2]|0)+8>>2];a=k[k[f>>2]>>2]|0;e=k[h>>2]|0;c=k[i>>2]|0;d=(k[j>>2]|0)!=0?36402:19010;b=Ny(k[g>>2]|0)|0;k[n>>2]=e;k[n+4>>2]=c;k[n+8>>2]=d;k[n+12>>2]=b;n=Nh(a,36421,n)|0;k[o>>2]=n;ix(k[m>>2]|0,161,k[(k[f>>2]|0)+468>>2]|0,0,0,k[o>>2]|0,-1)|0;r=p;return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[e>>2]|0)+48>>2]|0){a=$G(k[d>>2]|0,k[(k[e>>2]|0)+48>>2]|0,k[f>>2]|0)|0;k[g>>2]=a}else k[g>>2]=0;if(k[g>>2]|0){g=k[g>>2]|0;r=h;return g|0}if((k[f>>2]|0)>=(k[k[k[e>>2]>>2]>>2]|0)){g=k[g>>2]|0;r=h;return g|0}a=cy(k[d>>2]|0,k[(k[(k[k[e>>2]>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0;k[g>>2]=a;g=k[g>>2]|0;r=h;return g|0}function aH(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,l=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+40|0;e=q+36|0;s=q+32|0;n=q+28|0;h=q+24|0;f=q+20|0;o=q+16|0;g=q+12|0;l=q+8|0;p=q+4|0;j=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[n>>2]=k[(k[e>>2]|0)+44>>2];k[h>>2]=k[k[(k[e>>2]|0)+44>>2]>>2];k[f>>2]=k[k[d>>2]>>2];a=eA(k[f>>2]|0,(k[h>>2]|0)+(k[s>>2]|0)|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){s=k[o>>2]|0;r=q;return s|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[l>>2]=(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0);k[p>>2]=k[k[l>>2]>>2];c=k[d>>2]|0;if(k[(k[p>>2]|0)+4>>2]&256){s=cy(c,k[p>>2]|0)|0;k[j>>2]=s}else{s=$G(c,k[e>>2]|0,(m[(k[l>>2]|0)+16>>1]|0)-1|0)|0;k[j>>2]=s;if(!(k[j>>2]|0))k[j>>2]=k[(k[f>>2]|0)+8>>2];s=Ry(k[d>>2]|0,k[p>>2]|0,k[k[j>>2]>>2]|0)|0;k[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]=s}k[(k[o>>2]|0)+20+(k[g>>2]<<2)>>2]=k[j>>2];i[(k[(k[o>>2]|0)+16>>2]|0)+(k[g>>2]|0)>>0]=i[(k[(k[n>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0;k[g>>2]=(k[g>>2]|0)+1}s=k[o>>2]|0;r=q;return s|0}function bH(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;j=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[C>>2]=k[(k[m>>2]|0)+8>>2];e=Rz(k[C>>2]|0)|0;k[v>>2]=e;e=Sz(k[C>>2]|0)|0;k[y>>2]=e;if(k[s>>2]|0){g=Nz(k[C>>2]|0,46,k[s>>2]|0)|0;k[w>>2]=g;g=k[C>>2]|0;a=k[(k[o>>2]|0)+8>>2]|0;f=(k[s>>2]|0)+1|0;e=k[(k[o>>2]|0)+12>>2]|0;e=ix(g,42,a,f,e,jA(k[t>>2]|0)|0,-6)|0;k[x>>2]=e;jx(k[C>>2]|0,43,(k[x>>2]|0)+2|0,k[y>>2]|0,(k[x>>2]|0)+2|0)|0;Vz(k[C>>2]|0,k[w>>2]|0);jx(k[C>>2]|0,30,k[(k[o>>2]|0)+8>>2]|0,(k[s>>2]|0)+1|0,(k[(k[o>>2]|0)+12>>2]|0)-1|0)|0;fx(k[C>>2]|0,22,1,k[s>>2]|0)|0}if(i[(k[k[m>>2]>>2]|0)+69>>0]|0){k[j>>2]=0;C=k[j>>2]|0;r=D;return C|0}NG(k[C>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[y>>2]|0);switch(l[k[p>>2]>>0]|0){case 12:{e=kA(k[m>>2]|0)|0;k[z>>2]=e;e=kA(k[m>>2]|0)|0;k[B>>2]=e;jx(k[C>>2]|0,49,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[z>>2]|0)|0;fx(k[C>>2]|0,74,k[(k[p>>2]|0)+4>>2]|0,k[B>>2]|0)|0;jx(k[C>>2]|0,75,k[(k[p>>2]|0)+4>>2]|0,k[z>>2]|0,k[B>>2]|0)|0;Rh(k[C>>2]|0,8);oA(k[m>>2]|0,k[B>>2]|0);oA(k[m>>2]|0,k[z>>2]|0);break}case 11:{e=gB(k[k[(k[k[n>>2]>>2]|0)+4>>2]>>2]|0,i[(k[p>>2]|0)+1>>0]|0)|0;i[(k[p>>2]|0)+1>>0]=e;e=kA(k[m>>2]|0)|0;k[A>>2]=e;ix(k[C>>2]|0,49,k[(k[o>>2]|0)+8>>2]|0,1,k[A>>2]|0,(k[p>>2]|0)+1|0,1)|0;SA(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,1);fx(k[C>>2]|0,110,k[(k[p>>2]|0)+4>>2]|0,k[A>>2]|0)|0;oA(k[m>>2]|0,k[A>>2]|0);break}case 10:{DG(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[p>>2]|0)+4>>2]|0,1);break}case 13:{if(!(k[(k[p>>2]|0)+8>>2]|0)){e=AA(k[m>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;k[(k[p>>2]|0)+8>>2]=e;k[(k[p>>2]|0)+12>>2]=k[(k[o>>2]|0)+12>>2]}DG(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[p>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0);Nz(k[C>>2]|0,18,k[(k[p>>2]|0)+4>>2]|0)|0;break}default:{fx(k[C>>2]|0,33,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0)|0;SA(k[m>>2]|0,k[(k[o>>2]|0)+8>>2]|0,k[(k[o>>2]|0)+12>>2]|0)}}if(k[(k[n>>2]|0)+12>>2]|0)fx(k[C>>2]|0,141,k[(k[n>>2]|0)+12>>2]|0,k[u>>2]|0)|0;Wz(k[C>>2]|0,k[y>>2]|0);Nz(k[C>>2]|0,15,k[q>>2]|0)|0;k[j>>2]=k[v>>2];C=k[j>>2]|0;r=D;return C|0}function cH(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,m=0,n=0;n=r;r=r+32|0;d=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[k[d>>2]>>2];if(!(k[(k[g>>2]|0)+24>>2]&524288)){r=n;return}if((l[(k[f>>2]|0)+42>>0]|0)&16){r=n;return}if(k[(k[f>>2]|0)+12>>2]|0){r=n;return}k[h>>2]=0;c=dx(k[d>>2]|0)|0;k[m>>2]=c;do if(!(Ux(k[f>>2]|0)|0)){k[j>>2]=k[(k[f>>2]|0)+16>>2];while(1){if(!(k[j>>2]|0))break;if(l[(k[j>>2]|0)+24>>0]|0)break;if(k[(k[g>>2]|0)+24>>2]&16777216)break;k[j>>2]=k[(k[j>>2]|0)+4>>2]}if(k[j>>2]|0){c=Sz(k[m>>2]|0)|0;k[h>>2]=c;fx(k[m>>2]|0,136,1,k[h>>2]|0)|0;break}else{r=n;return}}while(0);i[(k[d>>2]|0)+442>>0]=1;c=k[d>>2]|0;fw(c,Bz(k[g>>2]|0,k[e>>2]|0,0)|0,0);i[(k[d>>2]|0)+442>>0]=0;if(!(k[(k[g>>2]|0)+24>>2]&16777216)){c=k[m>>2]|0;fx(c,136,0,(Rz(k[m>>2]|0)|0)+2|0)|0;rA(k[d>>2]|0,787,2,0,-2,4)}if(!(k[h>>2]|0)){r=n;return}Wz(k[m>>2]|0,k[h>>2]|0);r=n;return}function dH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+48|0;f=q+44|0;g=q+40|0;h=q+36|0;n=q+32|0;i=q+28|0;m=q+24|0;j=q+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];k[j>>2]=(k[(k[i>>2]|0)+16>>2]|0)+(k[g>>2]<<4);b=dx(k[e>>2]|0)|0;k[n>>2]=b;qx(k[e>>2]|0,1,k[g>>2]|0);if((l[(k[f>>2]|0)+42>>0]|0)&16)mx(k[n>>2]|0,149)|0;b=vx(k[e>>2]|0,k[f>>2]|0)|0;k[m>>2]=b;while(1){if(!(k[m>>2]|0))break;QB(k[e>>2]|0,k[m>>2]|0);k[m>>2]=k[(k[m>>2]|0)+32>>2]}if((l[(k[f>>2]|0)+42>>0]|0)&8){m=k[e>>2]|0;b=k[k[f>>2]>>2]|0;k[o>>2]=k[k[j>>2]>>2];k[o+4>>2]=b;cx(m,36719,o)}o=k[e>>2]|0;b=(k[g>>2]|0)==1?20513:20532;m=k[k[f>>2]>>2]|0;k[p>>2]=k[k[j>>2]>>2];k[p+4>>2]=b;k[p+8>>2]=m;cx(o,36764,p);if((k[h>>2]|0)==0?((l[(k[f>>2]|0)+42>>0]|0)&16|0)==0:0)eH(k[e>>2]|0,k[f>>2]|0);if(!((l[(k[f>>2]|0)+42>>0]|0)&16)){n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;ix(n,125,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;ex(p,o);o=k[i>>2]|0;p=k[g>>2]|0;fH(o,p);r=q;return}ix(k[n>>2]|0,151,k[g>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;n=k[n>>2]|0;o=k[g>>2]|0;p=k[f>>2]|0;p=k[p>>2]|0;ix(n,125,o,0,0,p,0)|0;p=k[e>>2]|0;o=k[g>>2]|0;ex(p,o);o=k[i>>2]|0;p=k[g>>2]|0;fH(o,p);r=q;return}function eH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;c=m+28|0;d=m+24|0;i=m+20|0;f=m+16|0;j=m+12|0;h=m+8|0;g=m+4|0;e=m;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+28>>2];k[f>>2]=0;while(1){k[h>>2]=0;if(!((k[f>>2]|0)!=0?(k[i>>2]|0)>=(k[f>>2]|0):0))k[h>>2]=k[i>>2];k[j>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[j>>2]|0))break;k[g>>2]=k[(k[j>>2]|0)+44>>2];if(!((k[f>>2]|0)!=0?(k[g>>2]|0)>=(k[f>>2]|0):0))l=9;if((l|0)==9?(l=0,(k[g>>2]|0)>(k[h>>2]|0)):0)k[h>>2]=k[g>>2];k[j>>2]=k[(k[j>>2]|0)+20>>2]}if(!(k[h>>2]|0))break;b=Ph(k[k[c>>2]>>2]|0,k[(k[d>>2]|0)+64>>2]|0)|0;k[e>>2]=b;GC(k[c>>2]|0,k[h>>2]|0,k[e>>2]|0);k[f>>2]=k[h>>2]}r=m;return}function fH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(((m[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){r=g;return}k[e>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[e>>2]|0))break;k[f>>2]=k[(k[e>>2]|0)+8>>2];if(k[(k[f>>2]|0)+12>>2]|0){gH(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+4>>2]=0;j[(k[f>>2]|0)+34>>1]=0}k[e>>2]=k[k[e>>2]>>2]}f=(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]|0)+78|0;j[f>>1]=(m[f>>1]|0)&-3;r=g;return}function gH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;b=k[(k[d>>2]|0)+4>>2]|0;k[f>>2]=b;if(!b){r=g;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;bg(a,k[k[f>>2]>>2]|0);nv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+16}bg(a,k[(k[d>>2]|0)+4>>2]|0);r=g;return}function hH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;o=r;r=r+144|0;f=o+128|0;g=o+124|0;h=o+120|0;i=o+116|0;l=o+112|0;n=o;m=o+80|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[m+4>>2]=0;k[m+8>>2]=0;k[m+12>>2]=0;k[m+16>>2]=0;k[m+20>>2]=0;k[m+24>>2]=0;k[m+28>>2]=0;d=n;e=d+80|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));k[n>>2]=1;k[n+8+8>>2]=k[k[g>>2]>>2];k[n+8+16>>2]=k[g>>2];k[n+8+44>>2]=-1;k[m>>2]=k[f>>2];k[m+4>>2]=n;j[m+28>>1]=k[h>>2];n=(vy(m,k[i>>2]|0)|0)==0;if(!(n&(k[l>>2]|0)!=0)){r=o;return}wy(m,k[l>>2]|0)|0;r=o;return}function iH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;if((l[k[b>>2]>>0]|0|0)==97){i[a>>0]=27;r=c;return}if((l[a>>0]|0|0)!=95){r=c;return}if((l[k[(k[b>>2]|0)+12>>2]>>0]|0|0)!=97){r=c;return}i[k[(k[b>>2]|0)+12>>2]>>0]=27;r=c;return}function jH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){c=k[e>>2]|0;k[e>>2]=c+-1;if((c|0)<=0){d=5;break}b=k[f>>2]|0;c=k[d>>2]|0;k[d>>2]=c+2;if((b|0)==(j[c>>1]|0)){d=4;break}}if((d|0)==4){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}else if((d|0)==5){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}return 0}function kH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+12|0;e=g+8|0;d=g+4|0;c=g;f=g+16|0;k[b>>2]=a;k[e>>2]=0;k[c>>2]=k[(k[(k[b>>2]|0)+12>>2]|0)+4>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(m[(k[b>>2]|0)+52>>1]|0))break;j[f>>1]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]|0;if((j[f>>1]|0)<0)a=1;else a=l[(k[c>>2]|0)+(j[(k[(k[b>>2]|0)+4>>2]|0)+(k[d>>2]<<1)>>1]<<4)+14>>0]|0;k[e>>2]=(k[e>>2]|0)+a;k[d>>2]=(k[d>>2]|0)+1}f=Uj(k[e>>2]<<2,0)|0;j[(k[b>>2]|0)+48>>1]=f;r=g;return}function lH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;mH(k[c>>2]|0,k[d>>2]|0);nv(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0);jv(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(!((l[(k[d>>2]|0)+55>>0]|0)>>>4&1)){a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);a=k[c>>2]|0;b=k[d>>2]|0;bg(a,b);r=e;return}function mH(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return}function nH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c;d=c+4|0;k[e>>2]=a;i[d>>0]=b;a=pB(k[e>>2]|0,4+(l[d>>0]|0)|0,0)|0;r=c;return a|0}function oH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;c=v+52|0;d=v+48|0;p=v+44|0;s=v+40|0;o=v+36|0;f=v+32|0;h=v+28|0;e=v+24|0;t=v+20|0;q=v+16|0;g=v+8|0;n=v;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[t>>2]=k[(k[c>>2]|0)+8>>2];if(k[(k[c>>2]|0)+424>>2]|0)sG(k[t>>2]|0,k[(k[c>>2]|0)+424>>2]|0,121);a=k[d>>2]|0;do if((j[(k[d>>2]|0)+32>>1]|0)>=0){Sy(g,k[(k[(k[d>>2]|0)+4>>2]|0)+(j[a+32>>1]<<4)>>2]|0);t=k[c>>2]|0;t=Wv(t,0,sz(k[e>>2]|0,27,g,0)|0)|0;k[q>>2]=t;if(!(k[q>>2]|0)){r=v;return}i[(k[(k[q>>2]|0)+4>>2]|0)+12>>0]=i[(k[c>>2]|0)+452>>0]|0;t=Lv(k[c>>2]|0,0,0,0,k[q>>2]|0,l[(k[d>>2]|0)+43>>0]|0,0,0,0,0)|0;k[s>>2]=t;if(!(k[s>>2]|0)){r=v;return}else{t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-4|2;j[(k[d>>2]|0)+32>>1]=-1;break}}else{q=Rj(a)|0;k[s>>2]=q;if(k[t>>2]|0)sG(k[t>>2]|0,k[(k[s>>2]|0)+44>>2]|0,13);k[h>>2]=1;k[f>>2]=1;while(1){if((k[f>>2]|0)>=(m[(k[s>>2]|0)+50>>1]|0))break;if(jH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0){t=(k[s>>2]|0)+52|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16}else{q=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;t=k[h>>2]|0;k[h>>2]=t+1;j[(k[(k[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=q}k[f>>2]=(k[f>>2]|0)+1}j[(k[s>>2]|0)+50>>1]=k[h>>2]}while(0);t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-33|32;k[o>>2]=m[(k[s>>2]|0)+50>>1];if(!(i[(k[e>>2]|0)+144+7>>0]|0)){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;i[(k[(k[d>>2]|0)+4>>2]|0)+(j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]<<4)+12>>0]=2;k[f>>2]=(k[f>>2]|0)+1}t=(k[s>>2]|0)+55|0;i[t>>0]=i[t>>0]&-9|8}k[(k[s>>2]|0)+44>>2]=k[(k[d>>2]|0)+28>>2];k[p>>2]=k[(k[d>>2]|0)+8>>2];a:while(1){if(!(k[p>>2]|0))break;b:do if((i[(k[p>>2]|0)+55>>0]&3|0)!=2){k[n>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break;if(!(jH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0))k[n>>2]=(k[n>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if(!(k[n>>2]|0)){j[(k[p>>2]|0)+52>>1]=j[(k[p>>2]|0)+50>>1]|0;break}if(tH(k[e>>2]|0,k[p>>2]|0,(m[(k[p>>2]|0)+50>>1]|0)+(k[n>>2]|0)|0)|0){u=46;break a}k[f>>2]=0;k[h>>2]=m[(k[p>>2]|0)+50>>1];while(1){if((k[f>>2]|0)>=(k[o>>2]|0))break b;if(!(jH(k[(k[p>>2]|0)+4>>2]|0,m[(k[p>>2]|0)+50>>1]|0,j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0)|0)){j[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=j[(k[(k[s>>2]|0)+4>>2]|0)+(k[f>>2]<<1)>>1]|0;k[(k[(k[p>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=k[(k[(k[s>>2]|0)+32>>2]|0)+(k[f>>2]<<2)>>2];k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}}while(0);k[p>>2]=k[(k[p>>2]|0)+20>>2]}if((u|0)==46){r=v;return}if((k[o>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0)){j[(k[s>>2]|0)+52>>1]=j[(k[d>>2]|0)+34>>1]|0;r=v;return}if(tH(k[e>>2]|0,k[s>>2]|0,j[(k[d>>2]|0)+34>>1]|0)|0){r=v;return}k[f>>2]=0;k[h>>2]=k[o>>2];while(1){if((k[f>>2]|0)>=(j[(k[d>>2]|0)+34>>1]|0))break;if(!(jH(k[(k[s>>2]|0)+4>>2]|0,k[h>>2]|0,k[f>>2]|0)|0)){j[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<1)>>1]=k[f>>2];k[(k[(k[s>>2]|0)+32>>2]|0)+(k[h>>2]<<2)>>2]=35343;k[h>>2]=(k[h>>2]|0)+1}k[f>>2]=(k[f>>2]|0)+1}r=v;return}function pH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=0;k[c>>2]=j[(k[b>>2]|0)+34>>1];k[d>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[c>>2]|0)<=0)break;k[e>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+14>>0]|0);k[c>>2]=(k[c>>2]|0)+-1;k[d>>2]=(k[d>>2]|0)+16}if((j[(k[b>>2]|0)+32>>1]|0)>=0){d=k[e>>2]|0;d=d<<2;d=Uj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}k[e>>2]=(k[e>>2]|0)+1;d=k[e>>2]|0;d=d<<2;d=Uj(d,0)|0;e=k[b>>2]|0;e=e+40|0;j[e>>1]=d;r=f;return}function qH(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,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;p=w+16|0;o=w+8|0;d=w;e=w+68|0;c=w+64|0;f=w+60|0;g=w+56|0;h=w+52|0;m=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;q=w+32|0;n=w+28|0;l=w+24|0;v=w+20|0;k[c>>2]=a;k[f>>2]=b;k[m>>2]=0;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;b=(rH(k[k[n>>2]>>2]|0)|0)+5|0;k[m>>2]=(k[m>>2]|0)+b;k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}b=rH(k[k[f>>2]>>2]|0)|0;k[m>>2]=(k[m>>2]|0)+b;if((k[m>>2]|0)<50){k[s>>2]=19010;k[t>>2]=37919;k[q>>2]=35219}else{k[s>>2]=37921;k[t>>2]=37925;k[q>>2]=37930}k[m>>2]=(k[m>>2]|0)+(35+((j[(k[f>>2]|0)+34>>1]|0)*6|0));b=k[m>>2]|0;b=Kh(0,b,((b|0)<0)<<31>>31)|0;k[u>>2]=b;if(!(k[u>>2]|0)){vh(k[c>>2]|0);k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}_d(k[m>>2]|0,k[u>>2]|0,37933,d)|0;d=Tf(k[u>>2]|0)|0;k[h>>2]=d;sH(k[u>>2]|0,h,k[k[f>>2]>>2]|0);d=k[h>>2]|0;k[h>>2]=d+1;i[(k[u>>2]|0)+d>>0]=40;k[n>>2]=k[(k[f>>2]|0)+4>>2];k[g>>2]=0;while(1){c=(k[m>>2]|0)-(k[h>>2]|0)|0;a=(k[u>>2]|0)+(k[h>>2]|0)|0;if((k[g>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;_d(c,a,k[s>>2]|0,o)|0;d=Tf((k[u>>2]|0)+(k[h>>2]|0)|0)|0;k[h>>2]=(k[h>>2]|0)+d;k[s>>2]=k[t>>2];sH(k[u>>2]|0,h,k[k[n>>2]>>2]|0);k[v>>2]=k[6324+((i[(k[n>>2]|0)+13>>0]|0)-65<<2)>>2];d=Tf(k[v>>2]|0)|0;k[l>>2]=d;BR((k[u>>2]|0)+(k[h>>2]|0)|0,k[v>>2]|0,k[l>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+(k[l>>2]|0);k[g>>2]=(k[g>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+16}k[p>>2]=k[q>>2];_d(c,a,18999,p)|0;k[e>>2]=k[u>>2];v=k[e>>2]|0;r=w;return v|0}function rH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if(!(i[k[b>>2]>>0]|0))break;if((i[k[b>>2]>>0]|0)==34)k[c>>2]=(k[c>>2]|0)+1;k[c>>2]=(k[c>>2]|0)+1;k[b>>2]=(k[b>>2]|0)+1}r=d;return (k[c>>2]|0)+2|0}function sH(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,m=0,n=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;n=m+16|0;j=m+12|0;f=m+8|0;g=m+4|0;h=m;k[d>>2]=a;k[e>>2]=b;k[n>>2]=c;k[j>>2]=k[n>>2];k[f>>2]=k[k[e>>2]>>2];k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[19011+(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)>>0]&6|0)==0?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)!=95:0)break;k[g>>2]=(k[g>>2]|0)+1}if(((l[19011+(l[k[j>>2]>>0]|0)>>0]&4|0)==0?(Li(k[j>>2]|0,k[g>>2]|0)|0)==27:0)?(l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==0:0)b=(k[g>>2]|0)==0;else b=1;k[h>>2]=b&1;if(k[h>>2]|0){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=0;while(1){if(!(i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0))break;c=i[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0;n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=c;if((l[(k[j>>2]|0)+(k[g>>2]|0)>>0]|0)==34){n=k[f>>2]|0;k[f>>2]=n+1;i[(k[d>>2]|0)+n>>0]=34}k[g>>2]=(k[g>>2]|0)+1}if(!(k[h>>2]|0)){j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}j=k[f>>2]|0;k[f>>2]=j+1;i[(k[d>>2]|0)+j>>0]=34;j=k[f>>2]|0;n=k[d>>2]|0;j=n+j|0;i[j>>0]=0;j=k[f>>2]|0;n=k[e>>2]|0;k[n>>2]=j;r=m;return}function tH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;l=n+4|0;h=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+52>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}k[h>>2]=(k[g>>2]|0)*7;b=k[h>>2]|0;b=Bh(k[e>>2]|0,b,((b|0)<0)<<31>>31)|0;k[l>>2]=b;if(!(k[l>>2]|0)){k[d>>2]=7;l=k[d>>2]|0;r=n;return l|0}else{BR(k[l>>2]|0,k[(k[f>>2]|0)+32>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<2|0)|0;k[(k[f>>2]|0)+32>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<2);BR(k[l>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(m[(k[f>>2]|0)+52>>1]|0)<<1|0)|0;k[(k[f>>2]|0)+4>>2]=k[l>>2];k[l>>2]=(k[l>>2]|0)+(k[g>>2]<<1);BR(k[l>>2]|0,k[(k[f>>2]|0)+28>>2]|0,m[(k[f>>2]|0)+52>>1]|0|0)|0;k[(k[f>>2]|0)+28>>2]=k[l>>2];j[(k[f>>2]|0)+52>>1]=k[g>>2];l=(k[f>>2]|0)+55|0;i[l>>0]=i[l>>0]&-17|16;k[d>>2]=0;l=k[d>>2]|0;r=n;return l|0}return 0}function uH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;a=dx(k[c>>2]|0)|0;k[f>>2]=a;Oz(k[c>>2]|0,k[e>>2]|0,1,1,(k[e>>2]|0)==1?20513:20532);Qh(k[f>>2]|0,55,0,1,k[e>>2]|0,5)|0;if(k[(k[c>>2]|0)+72>>2]|0){r=d;return}k[(k[c>>2]|0)+72>>2]=1;r=d;return}function vH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[b>>2]=a;a=dx(k[b>>2]|0)|0;k[f>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+404>>2]|0))break;k[d>>2]=(k[(k[b>>2]|0)+408>>2]|0)+(k[c>>2]<<4);k[e>>2]=k[k[d>>2]>>2];ix(k[f>>2]|0,148,k[e>>2]|0,k[(k[d>>2]|0)+4>>2]|0,l[(k[d>>2]|0)+8>>0]|0,k[(k[d>>2]|0)+12>>2]|0,-2)|0;k[c>>2]=(k[c>>2]|0)+1}r=g;return}function wH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;f=j+20|0;d=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;c=j;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[h>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+412>>2];while(1){if(!(k[f>>2]|0)){b=5;break}k[g>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[f>>2]|0)+8>>2]<<4);k[e>>2]=k[(k[f>>2]|0)+12>>2];Pz(k[b>>2]|0,0,k[(k[f>>2]|0)+8>>2]|0,k[(k[(k[g>>2]|0)+12>>2]|0)+72>>2]|0,54);hx(k[h>>2]|0,(k[e>>2]|0)-1|0,k[k[(k[f>>2]|0)+4>>2]>>2]|0)|0;a=Sh(k[h>>2]|0,10,38109,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+8>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+4>>2]=(k[e>>2]|0)-1;k[(k[c>>2]|0)+60+12>>2]=k[e>>2];i[(k[c>>2]|0)+60+3>>0]=16;k[(k[c>>2]|0)+80+8>>2]=(k[e>>2]|0)+1;k[(k[c>>2]|0)+100+12>>2]=k[e>>2];k[(k[c>>2]|0)+160+8>>2]=k[e>>2];k[f>>2]=k[k[f>>2]>>2]}if((b|0)==5){r=j;return}}function xH(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;d=b+4|0;k[d>>2]=a;k[c>>2]=k[d>>2];$d(21,40004,c);r=b;return} +function vM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+144|0;A=H+32|0;C=H+24|0;B=H+16|0;z=H+8|0;c=H+128|0;d=H+124|0;I=H+120|0;e=H+116|0;h=H+112|0;w=H+108|0;i=H+104|0;m=H+100|0;u=H+96|0;n=H+92|0;o=H+88|0;v=H+84|0;F=H+80|0;E=H+76|0;t=H+72|0;j=H;x=H+68|0;y=H+64|0;g=H+60|0;f=H+56|0;p=H+52|0;D=H+48|0;q=H+44|0;s=H+40|0;k[d>>2]=a;k[I>>2]=b;k[h>>2]=0;k[w>>2]=0;k[i>>2]=0;b=wM(k[d>>2]|0,k[I>>2]|0)|0;k[w>>2]=b;k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[m>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(ni(k[m>>2]|0)|0){k[i>>2]=1;wg(k[m>>2]|0);I=Zf(k[m>>2]|0)|0;k[u>>2]=I;if((l[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+8>>0]|0|0)!=1?(I=42919+(Cg(k[u>>2]|0)|0)|0,(l[I>>0]|0|0)!=0):0)k[h>>2]=(k[h>>2]|0)+1;I=Ht(k[u>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(((k[i>>2]|0)!=0?(k[(k[d>>2]|0)+200>>2]|0)!=0:0)?(I=bc[k[(k[d>>2]|0)+200>>2]&255](k[(k[d>>2]|0)+196>>2]|0)|0,k[w>>2]=I,(k[w>>2]|0)!=0):0){k[c>>2]=531;I=k[c>>2]|0;r=H;return I|0}I=0==(Tf(Qi(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(k[h>>2]|0)<=1){k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[n>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[n>>2]|0){I=Wg(k[n>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[o>>2]|0){I=Vg(k[o>>2]|0,0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}if(!(k[w>>2]|0))xM(k[d>>2]|0)|0}else{k[v>>2]=k[k[d>>2]>>2];k[F>>2]=0;I=Qi(k[(k[(k[d>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[E>>2]=I;k[t>>2]=0;I=j;k[I>>2]=0;k[I+4>>2]=0;k[y>>2]=0;I=Tf(k[E>>2]|0)|0;k[g>>2]=I;I=k[d>>2]|0;k[z>>2]=k[E>>2];I=Nh(I,42925,z)|0;k[F>>2]=I;if(!(k[F>>2]|0)){k[c>>2]=7;I=k[c>>2]|0;r=H;return I|0}do{if(k[y>>2]|0){if((k[y>>2]|0)>100){G=35;break}if((k[y>>2]|0)==1){k[C>>2]=k[F>>2];$d(13,42955,C)}}k[y>>2]=(k[y>>2]|0)+1;ae(4,f);I=(k[F>>2]|0)+(k[g>>2]|0)|0;E=k[f>>2]&255;k[A>>2]=(k[f>>2]|0)>>>8&16777215;k[A+4>>2]=E;_d(13,I,42970,A)|0;I=bs(k[v>>2]|0,k[F>>2]|0,0,x)|0;k[w>>2]=I}while((k[w>>2]|0)==0?(k[x>>2]|0)!=0:0);if((G|0)==35){k[B>>2]=k[F>>2];$d(13,42941,B);Fr(k[v>>2]|0,k[F>>2]|0,0)|0}if(!(k[w>>2]|0)){I=jL(k[v>>2]|0,k[F>>2]|0,t,16406,0)|0;k[w>>2]=I}if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[p>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(((ni(k[p>>2]|0)|0)!=0?(I=yM(k[p>>2]|0)|0,k[D>>2]=I,(k[D>>2]|0)!=0):0)?(B=k[t>>2]|0,C=k[D>>2]|0,I=(Tf(k[D>>2]|0)|0)+1|0,E=j,E=Rg(B,C,I,k[E>>2]|0,k[E+4>>2]|0)|0,k[w>>2]=E,E=(Tf(k[D>>2]|0)|0)+1|0,I=j,E=zR(k[I>>2]|0,k[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0,I=j,k[I>>2]=E,k[I+4>>2]=L,(k[w>>2]|0)!=0):0){G=48;break}k[e>>2]=(k[e>>2]|0)+1}if((G|0)==48){HK(k[t>>2]|0)|0;Fr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}if(0==((gs(k[t>>2]|0)|0)&1024|0)?(I=Dr(k[t>>2]|0,2)|0,k[w>>2]=I,0!=(I|0)):0){HK(k[t>>2]|0)|0;Fr(k[v>>2]|0,k[F>>2]|0,0)|0;bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}k[e>>2]=0;while(1){if(k[w>>2]|0)break;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[q>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[q>>2]|0){I=Wg(k[q>>2]|0,k[F>>2]|0)|0;k[w>>2]=I}k[e>>2]=(k[e>>2]|0)+1}HK(k[t>>2]|0)|0;if(k[w>>2]|0){bg(k[d>>2]|0,k[F>>2]|0);k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}I=Fr(k[v>>2]|0,k[F>>2]|0,1)|0;k[w>>2]=I;bg(k[d>>2]|0,k[F>>2]|0);k[F>>2]=0;if(k[w>>2]|0){k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}ek();k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0))break;k[s>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[s>>2]|0)Vg(k[s>>2]|0,1)|0;k[e>>2]=(k[e>>2]|0)+1}fk();xM(k[d>>2]|0)|0}k[c>>2]=k[w>>2];I=k[c>>2]|0;r=H;return I|0}function wM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;g=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;f=j+4|0;e=j;k[g>>2]=a;k[c>>2]=b;k[i>>2]=0;k[h>>2]=k[(k[g>>2]|0)+340>>2];k[(k[g>>2]|0)+340>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[g>>2]|0)+316>>2]|0)){c=8;break}k[e>>2]=k[(k[(k[h>>2]|0)+(k[d>>2]<<2)>>2]|0)+8>>2];if((k[e>>2]|0)!=0?(b=k[(k[k[e>>2]>>2]|0)+60>>2]|0,k[f>>2]=b,(b|0)!=0):0){b=bc[k[f>>2]&255](k[e>>2]|0)|0;k[i>>2]=b;WI(k[c>>2]|0,k[e>>2]|0)}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){k[(k[g>>2]|0)+340>>2]=k[h>>2];r=j;return k[i>>2]|0}return 0}function xM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wu(k[c>>2]|0,64);r=b;return 0}function yM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=zM(k[k[(k[c>>2]|0)+4>>2]>>2]|0)|0;r=b;return a|0}function zM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+180>>2]|0}function AM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+36>>2]|0))break;k[d>>2]=k[(k[(k[b>>2]|0)+56>>2]|0)+(k[c>>2]<<2)>>2];if(k[d>>2]|0){OI(k[b>>2]|0,k[d>>2]|0);k[(k[(k[b>>2]|0)+56>>2]|0)+(k[c>>2]<<2)>>2]=0}k[c>>2]=(k[c>>2]|0)+1}r=e;return}function BM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[c>>2]=(k[b>>2]|0)+80;k[d>>2]=(k[c>>2]|0)+((k[(k[b>>2]|0)+64>>2]|0)*40|0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[b>>2]|0)+68>>2]|0))break;OI(k[k[b>>2]>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}EC(k[c>>2]|0,k[(k[b>>2]|0)+64>>2]|0);rI(k[k[k[b>>2]>>2]>>2]|0,(k[b>>2]|0)+40|0,-1,0);bg(k[k[k[b>>2]>>2]>>2]|0,k[b>>2]|0);r=f;return}function CM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[6420+(k[b>>2]<<2)>>2]|0}function DM(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,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=r;r=r+192|0;x=K+88|0;w=K+80|0;v=K+72|0;H=K+64|0;G=K+56|0;u=K+48|0;t=K+40|0;s=K+32|0;z=K+24|0;y=K+16|0;D=K+8|0;q=K;d=K+176|0;e=K+172|0;L=K+168|0;J=K+164|0;I=K+136|0;A=K+132|0;C=K+128|0;B=K+124|0;E=K+120|0;j=K+116|0;n=K+112|0;F=K+108|0;o=K+104|0;g=K+100|0;f=K+96|0;h=K+92|0;k[d>>2]=a;k[e>>2]=b;k[L>>2]=c;k[J>>2]=k[e>>2];ng(I,0,k[e>>2]|0,k[L>>2]|0,0);a:do switch(i[(k[d>>2]|0)+1>>0]|0){case -6:{k[C>>2]=k[(k[d>>2]|0)+16>>2];k[q>>2]=m[(k[C>>2]|0)+6>>1];pA(I,43022,q);k[A>>2]=0;while(1){if((k[A>>2]|0)>=(m[(k[C>>2]|0)+6>>1]|0))break;k[B>>2]=k[(k[C>>2]|0)+20+(k[A>>2]<<2)>>2];if(k[B>>2]|0)d=k[k[B>>2]>>2]|0;else d=19010;k[E>>2]=d;L=(RQ(k[E>>2]|0,35343)|0)==0;k[E>>2]=L?43027:d;L=k[E>>2]|0;k[D>>2]=(l[(k[(k[C>>2]|0)+16>>2]|0)+(k[A>>2]|0)>>0]|0)!=0?28860:19010;k[D+4>>2]=L;pA(I,43029,D);k[A>>2]=(k[A>>2]|0)+1}qA(I,35219,1);break}case -4:{k[j>>2]=k[(k[d>>2]|0)+16>>2];k[y>>2]=k[k[j>>2]>>2];pA(I,43035,y);break}case -5:{k[n>>2]=k[(k[d>>2]|0)+16>>2];L=i[k[n>>2]>>0]|0;k[z>>2]=k[(k[n>>2]|0)+20>>2];k[z+4>>2]=L;pA(I,43043,z);break}case -13:{G=k[(k[d>>2]|0)+16>>2]|0;H=k[G+4>>2]|0;L=s;k[L>>2]=k[G>>2];k[L+4>>2]=H;pA(I,28862,s);break}case -14:{k[t>>2]=k[(k[d>>2]|0)+16>>2];pA(I,43050,t);break}case -12:{p[u>>3]=+p[k[(k[d>>2]|0)+16>>2]>>3];pA(I,43053,u);break}case -8:{k[F>>2]=k[(k[d>>2]|0)+16>>2];d=k[F>>2]|0;if(m[(k[F>>2]|0)+8>>1]&2){k[J>>2]=k[d+16>>2];break a}e=k[F>>2]|0;if(m[d+8>>1]&4){F=e;H=k[F+4>>2]|0;L=G;k[L>>2]=k[F>>2];k[L+4>>2]=H;pA(I,28862,G);break a}d=k[F>>2]|0;if(m[e+8>>1]&8){p[H>>3]=+p[d>>3];pA(I,43053,H);break a}if(m[d+8>>1]&1){k[J>>2]=40149;break a}else{k[J>>2]=43059;break a}}case -10:{k[o>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2];k[v>>2]=k[o>>2];pA(I,43066,v);break}case -15:{k[f>>2]=k[(k[d>>2]|0)+16>>2];k[h>>2]=k[k[f>>2]>>2];k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;k[w>>2]=k[(k[f>>2]|0)+(k[g>>2]<<2)>>2];pA(I,43074,w);k[g>>2]=(k[g>>2]|0)+1}i[k[e>>2]>>0]=91;qA(I,43078,1);break}case -18:{pA(I,43080,x);break}case -19:{i[k[e>>2]>>0]=0;break}default:{k[J>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[J>>2]|0)){k[J>>2]=k[e>>2];i[k[e>>2]>>0]=0}}}while(0);pg(I)|0;r=K;return k[J>>2]|0}function EM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d+8|0;f=d;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;rh(k[e>>2]|0);b=f;c=k[b+4>>2]|0;a=k[e>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;j[(k[e>>2]|0)+8>>1]=4;r=d;return}function FM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;b=g+4|0;f=g;e=g+10|0;c=g+9|0;d=g+8|0;k[b>>2]=a;k[f>>2]=0;i[e>>0]=0;if((k[(k[b>>2]|0)+12>>2]|0)>1){i[c>>0]=i[k[(k[b>>2]|0)+16>>2]>>0]|0;i[d>>0]=i[(k[(k[b>>2]|0)+16>>2]|0)+1>>0]|0;if((l[c>>0]|0)==254?(l[d>>0]|0)==255:0)i[e>>0]=3;if((l[c>>0]|0)==255?(l[d>>0]|0)==254:0)i[e>>0]=2}if(!(i[e>>0]|0)){f=k[f>>2]|0;r=g;return f|0}a=kh(k[b>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){f=k[f>>2]|0;r=g;return f|0}a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)-2;CR(k[(k[b>>2]|0)+16>>2]|0,(k[(k[b>>2]|0)+16>>2]|0)+2|0,k[(k[b>>2]|0)+12>>2]|0)|0;i[(k[(k[b>>2]|0)+16>>2]|0)+(k[(k[b>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[b>>2]|0)+16>>2]|0)+((k[(k[b>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[b>>2]|0)+8|0;j[a>>1]=m[a>>1]|512;i[(k[b>>2]|0)+10>>0]=i[e>>0]|0;f=k[f>>2]|0;r=g;return f|0}function GM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+4|0;k[c>>2]=a;i[e>>0]=b;if(!(HM(k[c>>2]|0,i[e>>0]|0)|0)){e=0;r=d;return e|0}e=k[(k[c>>2]|0)+12>>2]|0;r=d;return e|0}function HM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f;e=f+8|0;k[d>>2]=a;i[e>>0]=b;b=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&18){a=b+8|0;j[a>>1]=m[a>>1]|0|2;if((m[(k[d>>2]|0)+8>>1]|0)&16384)fh(k[d>>2]|0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)!=((l[e>>0]|0)&-9|0))nu(k[d>>2]|0,(l[e>>0]|0)&-9)|0;if((((l[e>>0]|0)&8|0)!=0?1==(1&k[(k[d>>2]|0)+16>>2]|0):0)?(kh(k[d>>2]|0)|0)!=0:0){k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}mI(k[d>>2]|0)|0}else Ix(b,i[e>>0]|0,0)|0;if((l[(k[d>>2]|0)+10>>0]|0|0)==((l[e>>0]|0)&-9|0)){k[c>>2]=k[(k[d>>2]|0)+16>>2];e=k[c>>2]|0;r=f;return e|0}else{k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function IM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((m[(k[b>>2]|0)+8>>1]|0)&9312)UF(k[b>>2]|0);if(!(k[(k[b>>2]|0)+24>>2]|0)){a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}bg(k[(k[b>>2]|0)+32>>2]|0,k[(k[b>>2]|0)+20>>2]|0);k[(k[b>>2]|0)+24>>2]=0;a=k[b>>2]|0;a=a+16|0;k[a>>2]=0;r=c;return}function JM(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];bg(k[d>>2]|0,k[(k[c>>2]|0)+44>>2]|0);k[(k[c>>2]|0)+44>>2]=0;k[(k[c>>2]|0)+20>>2]=0;r=b;return}function KM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;xi(k[c>>2]|0);vg(k[c>>2]|0,7);r=b;return 7}function LM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;xj(k[(k[c>>2]|0)+60>>2]|0);k[(k[c>>2]|0)+60>>2]=0;r=b;return}function MM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];k[e>>2]=k[k[b>>2]>>2];i[(k[c>>2]|0)+19>>0]=0;if((l[(k[b>>2]|0)+8>>0]|0|0)>0?(k[(k[e>>2]|0)+156>>2]|0)>1:0){NM(k[b>>2]|0);i[(k[b>>2]|0)+8>>0]=1;r=d;return}if((l[(k[b>>2]|0)+8>>0]|0|0)!=0?(OM(k[b>>2]|0),e=(k[c>>2]|0)+40|0,k[e>>2]=(k[e>>2]|0)+-1,0==(k[(k[c>>2]|0)+40>>2]|0)):0)i[(k[c>>2]|0)+20>>0]=0;i[(k[b>>2]|0)+8>>0]=0;HB(k[c>>2]|0);r=d;return}function NM(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[(k[e>>2]|0)+4>>2];if((k[(k[b>>2]|0)+76>>2]|0)!=(k[e>>2]|0)){r=d;return}k[(k[b>>2]|0)+76>>2]=0;e=(k[b>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;k[c>>2]=k[(k[b>>2]|0)+72>>2];while(1){if(!(k[c>>2]|0))break;i[(k[c>>2]|0)+8>>0]=1;k[c>>2]=k[(k[c>>2]|0)+12>>2]}r=d;return}function OM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+12|0;e=f+8|0;c=f+4|0;b=f;k[d>>2]=a;k[e>>2]=k[(k[d>>2]|0)+4>>2];k[c>>2]=(k[e>>2]|0)+72;while(1){if(!(k[k[c>>2]>>2]|0))break;k[b>>2]=k[k[c>>2]>>2];a=(k[b>>2]|0)+12|0;if((k[k[b>>2]>>2]|0)!=(k[d>>2]|0)){k[c>>2]=a;continue}k[k[c>>2]>>2]=k[a>>2];if((k[(k[b>>2]|0)+4>>2]|0)==1)continue;Ud(k[b>>2]|0)}a=k[e>>2]|0;if((k[(k[e>>2]|0)+76>>2]|0)==(k[d>>2]|0)){k[a+76>>2]=0;e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-97;r=f;return}if((k[a+40>>2]|0)!=2){r=f;return}e=(k[e>>2]|0)+22|0;j[e>>1]=(m[e>>1]|0)&-65;r=f;return}function PM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;c=l+24|0;j=l+20|0;h=l+16|0;e=l+12|0;f=l+8|0;d=l+4|0;g=l;k[c>>2]=a;k[j>>2]=0;k[h>>2]=k[k[c>>2]>>2];JJ(k[c>>2]|0);do if(!(i[(k[c>>2]|0)+18>>0]|0)){a=qF(k[c>>2]|0)|0;k[g>>2]=a;a=CF(k[c>>2]|0,k[g>>2]|0)|0;if((a|0)!=(k[g>>2]|0)?(k[g>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[c>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=or((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[f>>2]=a;a=IJ(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[e>>2]=a;if((k[e>>2]|0)>>>0>(k[g>>2]|0)>>>0){j=Yj(59465)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}if((k[e>>2]|0)>>>0<(k[g>>2]|0)>>>0){a=DH(k[c>>2]|0,0,0)|0;k[j>>2]=a}k[d>>2]=k[g>>2];while(1){if(!((k[d>>2]|0)>>>0>(k[e>>2]|0)>>>0?(k[j>>2]|0)==0:0))break;a=KJ(k[c>>2]|0,k[e>>2]|0,k[d>>2]|0,1)|0;k[j>>2]=a;k[d>>2]=(k[d>>2]|0)+-1}if(((k[j>>2]|0)==101|(k[j>>2]|0)==0)&(k[f>>2]|0)>>>0>0){a=Pg(k[(k[(k[c>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[j>>2]=a;kt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);kt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);kt((k[(k[(k[c>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[e>>2]|0);i[(k[c>>2]|0)+19>>0]=1;k[(k[c>>2]|0)+44>>2]=k[e>>2]}if(!(k[j>>2]|0))break;yr(k[h>>2]|0)|0;break}j=Yj(59460)|0;k[b>>2]=j;j=k[b>>2]|0;r=l;return j|0}while(0);k[b>>2]=k[j>>2];j=k[b>>2]|0;r=l;return j|0}function QM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=0;a=k[c>>2]|0;if(k[(k[c>>2]|0)+44>>2]|0){k[b>>2]=k[a+44>>2];d=k[b>>2]|0;r=e;return d|0}if(((l[a+17>>0]|0|0)==2?(l[(k[c>>2]|0)+4>>0]|0|0)!=0:0)?(l[(k[c>>2]|0)+5>>0]|0|0)==1:0){i[(k[c>>2]|0)+17>>0]=1;k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+108|0;k[a>>2]=(k[a>>2]|0)+1;a=zr(k[c>>2]|0,l[(k[c>>2]|0)+20>>0]|0,1)|0;k[d>>2]=a;d=ur(k[c>>2]|0,k[d>>2]|0)|0;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function RM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+12|0;e=f+4|0;d=f;k[c>>2]=a;k[f+8>>2]=b;k[e>>2]=0;if(i[(k[c>>2]|0)+19>>0]|0){e=k[e>>2]|0;r=f;return e|0}if((k[(k[c>>2]|0)+28>>2]|0)>>>0<=0){e=k[e>>2]|0;r=f;return e|0}a=Eg(k[c>>2]|0,1,d,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Pg(k[d>>2]|0)|0;k[e>>2]=a}if(!(k[e>>2]|0)){Gt(k[d>>2]|0);i[(k[c>>2]|0)+19>>0]=1}Hg(k[d>>2]|0);e=k[e>>2]|0;r=f;return e|0}function SM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;e=n+28|0;m=n+24|0;j=n+20|0;g=n+8|0;h=n;f=n+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;if(((k[e>>2]|0)!=0?(l[(k[d>>2]|0)+5>>0]|0)!=4:0)?(k[k[(k[d>>2]|0)+68>>2]>>2]|0)!=0:0){i[(k[d>>2]|0)+20>>0]=1;k[j>>2]=0;while(1){if(!(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0))break;k[f>>2]=(k[f>>2]|0)+(i[(k[e>>2]|0)+(k[j>>2]|0)>>0]|0);k[j>>2]=(k[j>>2]|0)+1}if(i[(k[d>>2]|0)+8>>0]|0){a=us(k[d>>2]|0)|0;b=(k[d>>2]|0)+80|0;k[b>>2]=a;k[b+4>>2]=L}o=(k[d>>2]|0)+80|0;a=k[o+4>>2]|0;b=g;k[b>>2]=k[o>>2];k[b+4>>2]=a;b=g;b=Wt(k[(k[d>>2]|0)+68>>2]|0,k[b>>2]|0,k[b+4>>2]|0,((k[381]|0)/(k[(k[d>>2]|0)+160>>2]|0)|0)+1|0)|0;k[m>>2]=b;if((((0==(b|0)?(p=k[(k[d>>2]|0)+68>>2]|0,a=k[e>>2]|0,b=k[j>>2]|0,o=g,o=zR(k[o>>2]|0,k[o+4>>2]|0,4,0)|0,o=Rg(p,a,b,o,L)|0,k[m>>2]=o,0==(o|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=zR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=zR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=Wt(o,p,L,k[j>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=zR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=zR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=zR(p|0,L|0,4,0)|0,p=Wt(o,p,L,k[f>>2]|0)|0,k[m>>2]=p,0==(p|0)):0)?(o=k[(k[d>>2]|0)+68>>2]|0,b=g,b=zR(k[b>>2]|0,k[b+4>>2]|0,4,0)|0,p=k[j>>2]|0,p=zR(b|0,L|0,p|0,((p|0)<0)<<31>>31|0)|0,p=zR(p|0,L|0,8,0)|0,p=Rg(o,26509,8,p,L)|0,k[m>>2]=p,0==(p|0)):0){o=(k[j>>2]|0)+20|0;p=(k[d>>2]|0)+80|0;b=p;o=zR(k[b>>2]|0,k[b+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;k[p>>2]=o;k[p+4>>2]=L;p=dj(k[(k[d>>2]|0)+68>>2]|0,h)|0;k[m>>2]=p;if(0==(p|0)?(o=h,a=k[o+4>>2]|0,p=(k[d>>2]|0)+80|0,b=k[p+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(k[o>>2]|0)>>>0>(k[p>>2]|0)>>>0:0)):0){p=(k[d>>2]|0)+80|0;p=Cr(k[(k[d>>2]|0)+68>>2]|0,k[p>>2]|0,k[p+4>>2]|0)|0;k[m>>2]=p}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=n;return p|0}k[c>>2]=0;p=k[c>>2]|0;r=n;return p|0}function TM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;b=u+44|0;s=u+40|0;e=u+36|0;q=u+32|0;d=u+28|0;c=u+24|0;g=u+20|0;o=u+16|0;f=u+12|0;p=u+8|0;h=u+4|0;n=u;k[b>>2]=a;k[s>>2]=0;k[d>>2]=0;k[g>>2]=0;k[o>>2]=k[(k[b>>2]|0)+16>>2];k[f>>2]=((k[(k[o>>2]|0)+156>>2]|0)>>>0)/((k[(k[o>>2]|0)+160>>2]|0)>>>0)|0;a=(k[o>>2]|0)+21|0;i[a>>0]=l[a>>0]|0|4;k[q>>2]=((k[(k[b>>2]|0)+20>>2]|0)-1&~((k[f>>2]|0)-1))+1;k[e>>2]=k[(k[o>>2]|0)+28>>2];do if((k[(k[b>>2]|0)+20>>2]|0)>>>0<=(k[e>>2]|0)>>>0)if(((k[q>>2]|0)+(k[f>>2]|0)-1|0)>>>0>(k[e>>2]|0)>>>0){k[d>>2]=(k[e>>2]|0)+1-(k[q>>2]|0);break}else{k[d>>2]=k[f>>2];break}else k[d>>2]=(k[(k[b>>2]|0)+20>>2]|0)-(k[q>>2]|0)+1;while(0);k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[d>>2]|0)?(k[s>>2]|0)==0:0))break;k[p>>2]=(k[q>>2]|0)+(k[c>>2]|0);if((k[p>>2]|0)!=(k[(k[b>>2]|0)+20>>2]|0)?(vj(k[(k[o>>2]|0)+60>>2]|0,k[p>>2]|0)|0)!=0:0){a=ms(k[o>>2]|0,k[p>>2]|0)|0;k[h>>2]=a;if(a){if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Os(k[h>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(k[p>>2]|0)!=(((k[381]|0)/(k[(k[o>>2]|0)+160>>2]|0)|0)+1|0)):0)?(a=Eg(k[o>>2]|0,k[p>>2]|0,h,0)|0,k[s>>2]=a,(k[s>>2]|0)==0):0){a=UM(k[h>>2]|0)|0;k[s>>2]=a;if((m[(k[h>>2]|0)+24>>1]|0)&8)k[g>>2]=1;Os(k[h>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}if(!((k[s>>2]|0)==0&(k[g>>2]|0)!=0)){t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[d>>2]|0))break;t=ms(k[o>>2]|0,(k[q>>2]|0)+(k[c>>2]|0)|0)|0;k[n>>2]=t;if(k[n>>2]|0){t=(k[n>>2]|0)+24|0;j[t>>1]=m[t>>1]|0|8;Os(k[n>>2]|0)}k[c>>2]=(k[c>>2]|0)+1}t=k[o>>2]|0;t=t+21|0;q=i[t>>0]|0;q=q&255;q=q&-5;q=q&255;i[t>>0]=q;t=k[s>>2]|0;r=u;return t|0}function UM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+16>>2];k[e>>2]=0;if((l[(k[d>>2]|0)+17>>0]|0|0)==2?(a=VM(k[d>>2]|0)|0,k[e>>2]=a,(k[e>>2]|0)!=0):0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}os(k[c>>2]|0);do if((k[(k[d>>2]|0)+60>>2]|0)!=0?(yj(k[(k[d>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0)==0:0){if((k[(k[c>>2]|0)+20>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){if((l[(k[d>>2]|0)+17>>0]|0|0)==4)break;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;break}a=WM(k[c>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|4;if((k[(k[d>>2]|0)+104>>2]|0)>0){a=Bt(k[c>>2]|0)|0;k[e>>2]=a}if((k[(k[d>>2]|0)+28>>2]|0)>>>0<(k[(k[c>>2]|0)+20>>2]|0)>>>0)k[(k[d>>2]|0)+28>>2]=k[(k[c>>2]|0)+20>>2];k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function VM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;d=g+16|0;e=g+12|0;f=g+8|0;c=g+4|0;b=g;k[e>>2]=a;k[f>>2]=0;k[c>>2]=k[k[e>>2]>>2];a=k[e>>2]|0;if(k[(k[e>>2]|0)+44>>2]|0){k[d>>2]=k[a+44>>2];f=k[d>>2]|0;r=g;return f|0}if((Hr(a)|0)==0?(l[(k[e>>2]|0)+5>>0]|0|0)!=2:0){a=sj(k[(k[e>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+60>>2]=a;if(!(k[(k[e>>2]|0)+60>>2]|0)){k[d>>2]=7;f=k[d>>2]|0;r=g;return f|0}do if(!(k[k[(k[e>>2]|0)+68>>2]>>2]|0)){a=k[e>>2]|0;if((l[(k[e>>2]|0)+5>>0]|0|0)==4){XM(k[a+68>>2]|0);break}k[b>>2]=6|((l[a+13>>0]|0|0)!=0?4104:2048);a=YM(k[e>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){c=Zr(k[c>>2]|0,k[(k[e>>2]|0)+180>>2]|0,k[(k[e>>2]|0)+68>>2]|0,k[b>>2]|0,0)|0;k[f>>2]=c}}while(0);if(!(k[f>>2]|0)){k[(k[e>>2]|0)+48>>2]=0;c=(k[e>>2]|0)+80|0;k[c>>2]=0;k[c+4>>2]=0;i[(k[e>>2]|0)+20>>0]=0;c=(k[e>>2]|0)+88|0;k[c>>2]=0;k[c+4>>2]=0;c=It(k[e>>2]|0)|0;k[f>>2]=c}}a=k[e>>2]|0;if(k[f>>2]|0){xj(k[a+60>>2]|0);k[(k[e>>2]|0)+60>>2]=0}else i[a+17>>0]=3;k[d>>2]=k[f>>2];f=k[d>>2]|0;r=g;return f|0}function WM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0;i=r;r=r+32|0;b=i+28|0;c=i+24|0;g=i+20|0;h=i+16|0;d=i+12|0;f=i+8|0;e=i;k[c>>2]=a;k[g>>2]=k[(k[c>>2]|0)+16>>2];n=(k[g>>2]|0)+80|0;l=k[n+4>>2]|0;a=e;k[a>>2]=k[n>>2];k[a+4>>2]=l;k[f>>2]=k[(k[c>>2]|0)+4>>2];a=ls(k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;a=(k[c>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|8;a=e;a=Wt(k[(k[g>>2]|0)+68>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[b>>2]=k[h>>2];n=k[b>>2]|0;r=i;return n|0}o=k[(k[g>>2]|0)+68>>2]|0;a=k[f>>2]|0;l=k[(k[g>>2]|0)+160>>2]|0;n=e;n=zR(k[n>>2]|0,k[n+4>>2]|0,4,0)|0;n=Rg(o,a,l,n,L)|0;k[h>>2]=n;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}n=k[(k[g>>2]|0)+68>>2]|0;l=e;o=k[(k[g>>2]|0)+160>>2]|0;o=zR(k[l>>2]|0,k[l+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=zR(o|0,L|0,4,0)|0;o=Wt(n,o,L,k[d>>2]|0)|0;k[h>>2]=o;if(k[h>>2]|0){k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}else{n=8+(k[(k[g>>2]|0)+160>>2]|0)|0;o=(k[g>>2]|0)+80|0;l=o;n=zR(k[l>>2]|0,k[l+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=(k[g>>2]|0)+48|0;k[o>>2]=(k[o>>2]|0)+1;o=tj(k[(k[g>>2]|0)+60>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=o;o=Xt(k[g>>2]|0,k[(k[c>>2]|0)+20>>2]|0)|0;k[h>>2]=k[h>>2]|o;k[b>>2]=k[h>>2];o=k[b>>2]|0;r=i;return o|0}return 0}function XM(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Yt(0,0,k[c>>2]|0,0,-1)|0;r=b;return}function YM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=0;if(i[(k[c>>2]|0)+13>>0]|0){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}if(!(k[(k[c>>2]|0)+28>>2]|0)){k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}a=Ii(k[(k[c>>2]|0)+64>>2]|0,20,d)|0;k[e>>2]=a;if((k[e>>2]|0)!=12){if((k[e>>2]|0)==0&(k[d>>2]|0)!=0)k[e>>2]=1032}else k[e>>2]=0;k[b>>2]=k[e>>2];e=k[b>>2]|0;r=f;return e|0}function ZM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;n=r;r=r+32|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=k[f>>2]|0;do if(k[(k[f>>2]|0)+144>>2]|0){d=k[c+144>>2]|0;k[l>>2]=d;k[k[i>>2]>>2]=d;k[(k[f>>2]|0)+144>>2]=k[(k[l>>2]|0)+12>>2];k[(k[l>>2]|0)+12>>2]=0;DR(k[(k[l>>2]|0)+8>>2]|0,0,m[(k[f>>2]|0)+148>>1]|0|0)|0}else{d=ug(40+(m[c+148>>1]|0)|0,0)|0;k[l>>2]=d;k[k[i>>2]>>2]=d;if(k[l>>2]|0){k[(k[l>>2]|0)+8>>2]=(k[l>>2]|0)+40;j[(k[l>>2]|0)+24>>1]=64;j[(k[l>>2]|0)+26>>1]=1;k[(k[l>>2]|0)+16>>2]=k[f>>2];break}i=k[(k[f>>2]|0)+64>>2]|0;l=k[(k[f>>2]|0)+160>>2]|0;l=KR((k[g>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;Rs(i,l,L,k[h>>2]|0)|0;k[e>>2]=7;l=k[e>>2]|0;r=n;return l|0}while(0);k[(k[l>>2]|0)+20>>2]=k[g>>2];k[(k[l>>2]|0)+4>>2]=k[h>>2];l=(k[f>>2]|0)+128|0;k[l>>2]=(k[l>>2]|0)+1;k[e>>2]=0;l=k[e>>2]|0;r=n;return l|0}function _M(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;h=n+4|0;i=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[e>>2]|0)+33>>0]|0)==2){k[d>>2]=0;i=k[d>>2]|0;r=n;return i|0}c=$M(k[e>>2]|0)|0;if((c|0)>(k[(k[e>>2]|0)+20>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[(k[h>>2]|0)+26>>1]|0)==0?(m[(k[h>>2]|0)+24>>1]&8|0)==0:0)break;k[h>>2]=k[(k[h>>2]|0)+36>>2]}k[(k[e>>2]|0)+8>>2]=k[h>>2];a:do if(!(k[h>>2]|0)){k[h>>2]=k[(k[e>>2]|0)+4>>2];while(1){if(!(k[h>>2]|0))break a;if(!(j[(k[h>>2]|0)+26>>1]|0))break a;k[h>>2]=k[(k[h>>2]|0)+36>>2]}}while(0);if((k[h>>2]|0)!=0?(c=gc[k[(k[e>>2]|0)+36>>2]&255](k[(k[e>>2]|0)+40>>2]|0,k[h>>2]|0)|0,k[i>>2]=c,(k[i>>2]|0)!=0&(k[i>>2]|0)!=5):0){k[d>>2]=k[i>>2];i=k[d>>2]|0;r=n;return i|0}}i=Yb[k[144>>2]&255](k[(k[e>>2]|0)+44>>2]|0,k[f>>2]|0,2)|0;k[k[g>>2]>>2]=i;k[d>>2]=(k[k[g>>2]>>2]|0)==0?7:0;i=k[d>>2]|0;r=n;return i|0}function $M(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=bc[k[140>>2]&255](k[(k[c>>2]|0)+44>>2]|0)|0;r=b;return a|0}function aN(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+108>>2]|0}function bN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;h=q+40|0;n=q+36|0;f=q+32|0;p=q+28|0;o=q+24|0;c=q+20|0;e=q+12|0;g=q+8|0;d=q+4|0;b=q;k[n>>2]=a;k[c>>2]=0;a=bK(k[k[n>>2]>>2]|0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=EF(k[n>>2]|0,1,p,0)|0;k[f>>2]=a;if(k[f>>2]|0){k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}a=or((k[(k[p>>2]|0)+56>>2]|0)+28|0)|0;k[q+16>>2]=a;k[o>>2]=a;Og(k[k[n>>2]>>2]|0,c);if(!((k[o>>2]|0)!=0?(OQ((k[(k[p>>2]|0)+56>>2]|0)+24|0,(k[(k[p>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))k[o>>2]=k[c>>2];a:do if((k[o>>2]|0)>0){k[d>>2]=k[(k[p>>2]|0)+56>>2];k[f>>2]=26;b:do if(!(OQ(k[d>>2]|0,42903,16)|0)){if((l[(k[d>>2]|0)+18>>0]|0|0)>2){a=(k[n>>2]|0)+22|0;j[a>>1]=m[a>>1]|0|1}if((l[(k[d>>2]|0)+19>>0]|0|0)<=2){do if((l[(k[d>>2]|0)+19>>0]|0|0)==2?((m[(k[n>>2]|0)+22>>1]|0)&16|0)==0:0){k[b>>2]=0;a=hK(k[k[n>>2]>>2]|0,b)|0;k[f>>2]=a;if(k[f>>2]|0)break b;if(k[b>>2]|0){k[f>>2]=26;break}GB(k[p>>2]|0);k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}while(0);if((OQ((k[d>>2]|0)+21|0,45149,3)|0)==0?(k[e>>2]=(l[(k[d>>2]|0)+16>>0]|0)<<8|(l[(k[d>>2]|0)+17>>0]|0)<<16,!(((k[e>>2]|0)>>>0>65536?1:((k[e>>2]|0)-1&k[e>>2]|0)!=0)|(k[e>>2]|0)>>>0<=256)):0){k[g>>2]=(k[e>>2]|0)-(l[(k[d>>2]|0)+20>>0]|0);if((k[e>>2]|0)!=(k[(k[n>>2]|0)+32>>2]|0)){GB(k[p>>2]|0);k[(k[n>>2]|0)+36>>2]=k[g>>2];k[(k[n>>2]|0)+32>>2]=k[e>>2];aj(k[n>>2]|0);p=bj(k[k[n>>2]>>2]|0,(k[n>>2]|0)+32|0,(k[e>>2]|0)-(k[g>>2]|0)|0)|0;k[f>>2]=p;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}if((k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(k[o>>2]|0)>(k[c>>2]|0):0){o=Yj(58737)|0;k[f>>2]=o;break}if((k[g>>2]|0)>>>0>=480){k[(k[n>>2]|0)+32>>2]=k[e>>2];k[(k[n>>2]|0)+36>>2]=k[g>>2];g=(or((k[d>>2]|0)+52|0)|0)!=0;i[(k[n>>2]|0)+17>>0]=g?1:0;g=(or((k[d>>2]|0)+64|0)|0)!=0;i[(k[n>>2]|0)+18>>0]=g?1:0;break a}}}}while(0);GB(k[p>>2]|0);k[(k[n>>2]|0)+12>>2]=0;k[h>>2]=k[f>>2];p=k[h>>2]|0;r=q;return p|0}while(0);j[(k[n>>2]|0)+24>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;j[(k[n>>2]|0)+26>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;j[(k[n>>2]|0)+28>>1]=(k[(k[n>>2]|0)+36>>2]|0)-35;j[(k[n>>2]|0)+30>>1]=(((k[(k[n>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b=k[n>>2]|0;if((m[(k[n>>2]|0)+24>>1]|0|0)>127)i[b+21>>0]=127;else i[(k[n>>2]|0)+21>>0]=j[b+24>>1];k[(k[n>>2]|0)+12>>2]=k[p>>2];k[(k[n>>2]|0)+44>>2]=k[o>>2];k[h>>2]=0;p=k[h>>2]|0;r=q;return p|0}function cN(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;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;d=j+4|0;h=j;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[h>>2]=0;if(k[(k[f>>2]|0)+44>>2]|0){k[e>>2]=k[(k[f>>2]|0)+44>>2];h=k[e>>2]|0;r=j;return h|0}i[(k[f>>2]|0)+22>>0]=k[d>>2];if((l[(k[f>>2]|0)+17>>0]|0|0)==1){c=(Hr(k[f>>2]|0)|0)!=0;d=k[f>>2]|0;if(!c){c=Lt(d,2)|0;k[h>>2]=c;if((k[h>>2]|0)==0&(k[g>>2]|0)!=0){g=Kt(k[f>>2]|0,4)|0;k[h>>2]=g}}else{do if((l[d+4>>0]|0|0)!=0?(Kr(k[(k[f>>2]|0)+216>>2]|0,-1)|0)!=0:0){g=Lt(k[f>>2]|0,4)|0;k[h>>2]=g;if(!(k[h>>2]|0)){Kr(k[(k[f>>2]|0)+216>>2]|0,1)|0;break}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}while(0);g=dN(k[(k[f>>2]|0)+216>>2]|0)|0;k[h>>2]=g}if(!(k[h>>2]|0)){i[(k[f>>2]|0)+17>>0]=2;k[(k[f>>2]|0)+40>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+36>>2]=k[(k[f>>2]|0)+28>>2];k[(k[f>>2]|0)+32>>2]=k[(k[f>>2]|0)+28>>2];g=(k[f>>2]|0)+80|0;k[g>>2]=0;k[g+4>>2]=0}}k[e>>2]=k[h>>2];h=k[e>>2]|0;r=j;return h|0}function dN(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(i[(k[c>>2]|0)+46>>0]|0){k[b>>2]=8;d=k[b>>2]|0;r=e;return d|0}a=at(k[c>>2]|0,0,1)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}i[(k[c>>2]|0)+44>>0]=1;a=(k[c>>2]|0)+52|0;if(OQ(a,Is(k[c>>2]|0)|0,48)|0){Qr(k[c>>2]|0,0,1);i[(k[c>>2]|0)+44>>0]=0;k[d>>2]=517}k[b>>2]=k[d>>2];d=k[b>>2]|0;r=e;return d|0}function eN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+240>>2]|0)fN(k[(k[c>>2]|0)+240>>2]|0);BJ(k[c>>2]|0,k[d>>2]|0);r=e;return}function fN(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;rh(k[c>>2]|0);r=b;return}function gN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=r;r=r+624|0;f=H+92|0;g=H+88|0;h=H+84|0;i=H+80|0;j=H+76|0;l=H+72|0;z=H+68|0;o=H+64|0;x=H+60|0;n=H+56|0;w=H+52|0;B=H+48|0;m=H+44|0;t=H+40|0;s=H+36|0;q=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;p=H;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[z>>2]=k[i>>2];k[o>>2]=-1;k[x>>2]=0;k[n>>2]=k[j>>2]&-256;k[B>>2]=0;k[m>>2]=0;k[t>>2]=k[j>>2]&16;k[s>>2]=k[j>>2]&8;k[q>>2]=k[j>>2]&4;k[v>>2]=k[j>>2]&1;k[u>>2]=k[j>>2]&2;if(k[q>>2]|0)if((k[n>>2]|0)==16384|(k[n>>2]|0)==2048)d=1;else d=(k[n>>2]|0)==524288;else d=0;k[C>>2]=d&1;k[E>>2]=k[h>>2];b=k[1925]|0;if((b|0)!=(cR()|0)){b=cR()|0;k[1925]=b;ae(0,0)}d=k[z>>2]|0;c=d+44|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(c|0));d=k[E>>2]|0;do if((k[n>>2]|0)!=256){if(!d){A=XN(k[(k[g>>2]|0)+8>>2]|0,F)|0;k[B>>2]=A;if(!(k[B>>2]|0)){k[E>>2]=F;break}k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}}else{F=mO(d,k[j>>2]|0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){F=Td(12,0)|0;k[A>>2]=F;if(!(k[A>>2]|0)){k[f>>2]=7;G=k[f>>2]|0;r=H;return G|0}}else k[o>>2]=k[k[A>>2]>>2];k[(k[z>>2]|0)+28>>2]=k[A>>2]}while(0);if(k[v>>2]|0)k[x>>2]=k[x>>2];if(k[u>>2]|0)k[x>>2]=k[x>>2]|2;if(k[q>>2]|0)k[x>>2]=k[x>>2]|64;if(k[t>>2]|0)k[x>>2]=k[x>>2]|131200;k[x>>2]=k[x>>2];do if((k[o>>2]|0)<0){F=nO(k[E>>2]|0,k[j>>2]|0,y,D,p)|0;k[B>>2]=F;if(k[B>>2]|0){k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}F=TN(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F;if((k[o>>2]|0)<0?(F=jQ()|0,(k[F>>2]|0)!=21&(k[u>>2]|0)!=0):0){k[j>>2]=k[j>>2]&-7;k[x>>2]=k[x>>2]&-67;k[j>>2]=k[j>>2]|1;k[x>>2]=k[x>>2];k[v>>2]=1;F=TN(k[E>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;k[o>>2]=F}if((k[o>>2]|0)<0){F=tt(33278)|0;F=PN(F,45228,k[E>>2]|0,33278)|0;k[B>>2]=F;break}if(k[j>>2]&526336){oO(k[o>>2]|0,k[D>>2]|0,k[p>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(k[l>>2]|0)k[k[l>>2]>>2]=k[j>>2];if(k[(k[z>>2]|0)+28>>2]|0){k[k[(k[z>>2]|0)+28>>2]>>2]=k[o>>2];k[(k[(k[z>>2]|0)+28>>2]|0)+4>>2]=k[j>>2]}if(k[s>>2]|0)bc[k[7460>>2]&255](k[E>>2]|0)|0;if(k[s>>2]|0)k[m>>2]=k[m>>2]|32;if(k[v>>2]|0)k[m>>2]=k[m>>2]|2;k[w>>2]=(k[n>>2]|0)!=256&1;if(k[w>>2]|0)k[m>>2]=k[m>>2]|128;if(k[C>>2]|0)k[m>>2]=k[m>>2]|8;if(k[j>>2]&64)k[m>>2]=k[m>>2]|64;G=pO(k[g>>2]|0,k[o>>2]|0,k[i>>2]|0,k[h>>2]|0,k[m>>2]|0)|0;k[B>>2]=G}if(k[B>>2]|0)Ud(k[(k[z>>2]|0)+28>>2]|0);k[f>>2]=k[B>>2];G=k[f>>2]|0;r=H;return G|0}function hN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+20|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[i+16>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if((bc[k[7460>>2]&255](k[e>>2]|0)|0)==-1){b=jQ()|0;if((k[b>>2]|0)==2)k[h>>2]=5898;else{b=PN(2570,45325,k[e>>2]|0,33404)|0;k[h>>2]=b}k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}do if(k[f>>2]&1){b=gc[k[7472>>2]&255](k[e>>2]|0,g)|0;k[h>>2]=b;if(k[h>>2]|0){k[h>>2]=0;break}if(cO(k[g>>2]|0,0,0)|0){b=PN(1290,45559,k[e>>2]|0,33414)|0;k[h>>2]=b}ON(0,k[g>>2]|0,33416)}while(0);k[d>>2]=k[h>>2];b=k[d>>2]|0;r=i;return b|0}function iN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;e=h+84|0;i=h+80|0;f=h+76|0;g=h;k[h+88>>2]=a;k[e>>2]=b;k[i>>2]=c;k[f>>2]=d;if(!(k[i>>2]|0)){i=0==(gc[k[7316>>2]&255](k[e>>2]|0,g)|0);k[k[f>>2]>>2]=(i?(k[g+36>>2]|0)>0:0)&1;r=h;return 0}else{i=(gc[k[7292>>2]&255](k[e>>2]|0,6)|0)==0&1;k[k[f>>2]>>2]=i;r=h;return 0}return 0}function jN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+128|0;s=q+112|0;e=q+108|0;f=q+104|0;o=q+100|0;l=q+96|0;m=q+92|0;n=q+88|0;p=q+84|0;g=q+80|0;h=q+4|0;j=q;k[q+116>>2]=a;k[s>>2]=b;k[e>>2]=c;k[f>>2]=d;k[o>>2]=0;k[m>>2]=1;k[n>>2]=k[s>>2];k[p>>2]=0;while(1){k[g>>2]=0;if(gc[k[7592>>2]&255](k[n>>2]|0,h)|0){s=jQ()|0;if((k[s>>2]|0)!=2){s=tt(33528)|0;s=PN(s,45413,k[n>>2]|0,33528)|0;k[o>>2]=s}}else k[g>>2]=(k[h+12>>2]&61440|0)==40960&1;if(k[g>>2]|0){if(!(k[p>>2]|0)){s=Sd(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0))k[o>>2]=7}else{s=(k[m>>2]|0)+1|0;k[m>>2]=s;if((s|0)>100){s=tt(33539)|0;k[o>>2]=s}}do if(!(k[o>>2]|0)){s=Yb[k[7580>>2]&255](k[n>>2]|0,k[p>>2]|0,(k[e>>2]|0)-1|0)|0;k[l>>2]=s;if((k[l>>2]|0)<0){s=tt(33545)|0;s=PN(s,45404,k[n>>2]|0,33545)|0;k[o>>2]=s;break}do if((i[k[p>>2]>>0]|0)!=47){s=Tf(k[n>>2]|0)|0;k[j>>2]=s;while(1){if((k[j>>2]|0)<=0)break;if((i[(k[n>>2]|0)+((k[j>>2]|0)-1)>>0]|0)==47)break;k[j>>2]=(k[j>>2]|0)+-1}if(((k[l>>2]|0)+(k[j>>2]|0)+1|0)>(k[e>>2]|0)){s=tt(33551)|0;k[o>>2]=s;break}else{CR((k[p>>2]|0)+(k[j>>2]|0)|0,k[p>>2]|0,(k[l>>2]|0)+1|0)|0;BR(k[p>>2]|0,k[n>>2]|0,k[j>>2]|0)|0;k[l>>2]=(k[l>>2]|0)+(k[j>>2]|0);break}}while(0);i[(k[p>>2]|0)+(k[l>>2]|0)>>0]=0}while(0);k[n>>2]=k[p>>2]}if((k[o>>2]|0)==0?(k[n>>2]|0)!=(k[f>>2]|0):0){s=lO(k[n>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[o>>2]=s}if(!(k[g>>2]|0)){e=30;break}k[n>>2]=k[f>>2];if(k[o>>2]|0){e=30;break}}if((e|0)==30){Ud(k[p>>2]|0);r=q;return k[o>>2]|0}return 0}function kN(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;j=r;r=r+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[j+20>>2]=a;k[d>>2]=b;k[e>>2]=c;DR(k[e>>2]|0,0,k[d>>2]|0)|0;c=cR()|0;k[1925]=c;c=TN(45546,0,0)|0;k[f>>2]=c;if((k[f>>2]|0)<0){Ob(h|0)|0;c=k[e>>2]|0;i[c>>0]=i[h>>0]|0;i[c+1>>0]=i[h+1>>0]|0;i[c+2>>0]=i[h+2>>0]|0;i[c+3>>0]=i[h+3>>0]|0;c=(k[e>>2]|0)+4|0;i[c>>0]=i[7700]|0;i[c+1>>0]=i[7701]|0;i[c+2>>0]=i[7702]|0;i[c+3>>0]=i[7703]|0;k[d>>2]=8;c=k[d>>2]|0;r=j;return c|0}do{c=Yb[k[7364>>2]&255](k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[g>>2]=c;if((k[g>>2]|0)>=0)break;c=jQ()|0}while((k[c>>2]|0)==4);ON(0,k[f>>2]|0,33675);c=k[d>>2]|0;r=j;return c|0}function lN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[d+8>>2]=a;k[e>>2]=b;k[c>>2]=((k[e>>2]|0)+999999|0)/1e6|0;hR(k[c>>2]|0)|0;r=d;return (k[c>>2]|0)*1e6|0}function mN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;f=d;c=d+8|0;k[d+16>>2]=a;k[e>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;b=oN(0,f)|0;k[c>>2]=b;b=f;p[k[e>>2]>>3]=(+((k[b>>2]|0)>>>0)+4294967296.0*+(k[b+4>>2]|0))/864.0e5;r=d;return k[c>>2]|0}function nN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=r;r=r+16|0;k[d+8>>2]=a;k[d+4>>2]=b;k[d>>2]=c;c=jQ()|0;r=d;return k[c>>2]|0}function oN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+32|0;e=d+12|0;c=d+8|0;f=d;k[d+16>>2]=a;k[e>>2]=b;k[c>>2]=0;Qb(f|0,0)|0;b=k[f>>2]|0;b=KR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=zR(1045635584,49096,b|0,L|0)|0;a=(k[f+4>>2]|0)/1e3|0;a=zR(b|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;b=k[e>>2]|0;k[b>>2]=a;k[b+4>>2]=L;r=d;return k[c>>2]|0}function pN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;k[i+16>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=12;if(!(k[d>>2]|0)){k[g>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28)break;if(k[7264+((k[f>>2]|0)*12|0)+8>>2]|0)k[7264+((k[f>>2]|0)*12|0)+4>>2]=k[7264+((k[f>>2]|0)*12|0)+8>>2];k[f>>2]=(k[f>>2]|0)+1}h=k[g>>2]|0;r=i;return h|0}k[f>>2]=0;while(1){if((k[f>>2]|0)>>>0>=28){h=16;break}b=(RQ(k[d>>2]|0,k[7264+((k[f>>2]|0)*12|0)>>2]|0)|0)==0;c=k[f>>2]|0;if(b)break;k[f>>2]=c+1}if((h|0)==16){h=k[g>>2]|0;r=i;return h|0}if(!(k[7264+(c*12|0)+8>>2]|0))k[7264+((k[f>>2]|0)*12|0)+8>>2]=k[7264+((k[f>>2]|0)*12|0)+4>>2];k[g>>2]=0;if(!(k[e>>2]|0))k[e>>2]=k[7264+((k[f>>2]|0)*12|0)+8>>2];k[7264+((k[f>>2]|0)*12|0)+4>>2]=k[e>>2];h=k[g>>2]|0;r=i;return h|0}function qN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=0;while(1){if((k[d>>2]|0)>>>0>=28){a=6;break}a=(RQ(k[c>>2]|0,k[7264+((k[d>>2]|0)*12|0)>>2]|0)|0)==0;b=k[d>>2]|0;if(a){a=4;break}k[d>>2]=b+1}if((a|0)==4){k[e>>2]=k[7264+(b*12|0)+4>>2];e=k[e>>2]|0;r=f;return e|0}else if((a|0)==6){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function rN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;c=f+4|0;d=f;k[f+8>>2]=a;k[c>>2]=b;k[d>>2]=-1;a:do if(k[c>>2]|0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=27)break a;if(!(RQ(k[c>>2]|0,k[7264+((k[d>>2]|0)*12|0)>>2]|0)|0))break a;k[d>>2]=(k[d>>2]|0)+1}}while(0);k[d>>2]=(k[d>>2]|0)+1;while(1){if((k[d>>2]|0)>=28){c=11;break}a=k[d>>2]|0;if(k[7264+((k[d>>2]|0)*12|0)+4>>2]|0){c=9;break}k[d>>2]=a+1}if((c|0)==9){k[e>>2]=k[7264+(a*12|0)>>2];e=k[e>>2]|0;r=f;return e|0}else if((c|0)==11){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function sN(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7188}function tN(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b+4|0;d=b;k[c>>2]=a;k[d>>2]=k[c>>2];AN(k[c>>2]|0,0)|0;Ud(k[(k[d>>2]|0)+24>>2]|0);a=fO(k[c>>2]|0)|0;r=b;return a|0}function uN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+32|0;f=l+28|0;n=l+24|0;g=l+20|0;h=l+16|0;m=l;j=l+12|0;i=l+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=m;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];b=m;b=eO(k[j>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=b;if((k[i>>2]|0)==(k[h>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=l;return n|0}if((k[i>>2]|0)<0){k[f>>2]=266;n=k[f>>2]|0;r=l;return n|0}else{aO(k[j>>2]|0,0);DR((k[g>>2]|0)+(k[i>>2]|0)|0,0,(k[h>>2]|0)-(k[i>>2]|0)|0)|0;k[f>>2]=522;n=k[f>>2]|0;r=l;return n|0}return 0}function vN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+28|0;n=m+24|0;g=m+20|0;h=m+16|0;i=m;j=m+12|0;l=m+8|0;k[n>>2]=a;k[g>>2]=b;k[h>>2]=c;b=i;k[b>>2]=d;k[b+4>>2]=e;k[j>>2]=k[n>>2];k[l>>2]=0;while(1){n=i;n=_N(k[j>>2]|0,k[n>>2]|0,k[n+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[l>>2]=n;if(!((n|0)<(k[h>>2]|0)?(k[l>>2]|0)>0:0))break;k[h>>2]=(k[h>>2]|0)-(k[l>>2]|0);b=k[l>>2]|0;n=i;b=zR(k[n>>2]|0,k[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=i;k[n>>2]=b;k[n+4>>2]=L;k[g>>2]=(k[g>>2]|0)+(k[l>>2]|0)}if((k[h>>2]|0)<=(k[l>>2]|0)){k[f>>2]=0;n=k[f>>2]|0;r=m;return n|0}if((k[l>>2]|0)<0?(k[(k[j>>2]|0)+20>>2]|0)!=28:0){k[f>>2]=778;n=k[f>>2]|0;r=m;return n|0}aO(k[j>>2]|0,0);k[f>>2]=13;n=k[f>>2]|0;r=m;return n|0}function wN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;i=h+16|0;e=h;f=h+12|0;g=h+8|0;k[i>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=k[i>>2];if((k[(k[f>>2]|0)+40>>2]|0)>0){i=e;a=k[(k[f>>2]|0)+40>>2]|0;a=zR(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=yR(a|0,L|0,1,0)|0;i=k[(k[f>>2]|0)+40>>2]|0;i=IR(a|0,L|0,i|0,((i|0)<0)<<31>>31|0)|0;a=k[(k[f>>2]|0)+40>>2]|0;a=KR(i|0,L|0,a|0,((a|0)<0)<<31>>31|0)|0;i=e;k[i>>2]=a;k[i+4>>2]=L}i=e;i=dO(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,k[i+4>>2]|0)|0;k[g>>2]=i;if(k[g>>2]|0){g=k[f>>2]|0;i=jQ()|0;aO(g,k[i>>2]|0);i=PN(1546,45251,k[(k[f>>2]|0)+32>>2]|0,31121)|0;k[d>>2]=i;i=k[d>>2]|0;r=h;return i|0}else{k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}return 0}function xN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0;g=r;r=r+32|0;c=g+28|0;n=g+24|0;l=g+20|0;f=g+16|0;e=g+12|0;h=g+8|0;i=g+4|0;d=g;k[n>>2]=a;k[l>>2]=b;k[e>>2]=k[n>>2];k[h>>2]=k[l>>2]&16;k[i>>2]=(k[l>>2]&15|0)==3&1;b=cO(k[(k[e>>2]|0)+12>>2]|0,k[i>>2]|0,k[h>>2]|0)|0;k[f>>2]=b;b=k[e>>2]|0;if(k[f>>2]|0){n=jQ()|0;aO(b,k[n>>2]|0);n=PN(1034,45535,k[(k[e>>2]|0)+32>>2]|0,31076)|0;k[c>>2]=n;n=k[c>>2]|0;r=g;return n|0}if((m[b+18>>1]|0)&8){n=gc[k[7472>>2]&255](k[(k[e>>2]|0)+32>>2]|0,d)|0;k[f>>2]=n;if(!(k[f>>2]|0)){cO(k[d>>2]|0,0,0)|0;ON(k[e>>2]|0,k[d>>2]|0,31090)}else k[f>>2]=0;n=(k[e>>2]|0)+18|0;j[n>>1]=(m[n>>1]|0)&-9}k[c>>2]=k[f>>2];n=k[c>>2]|0;r=g;return n|0}function yN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+96|0;c=g+88|0;d=g+84|0;e=g+80|0;h=g+76|0;f=g;k[d>>2]=a;k[e>>2]=b;b=gc[k[7328>>2]&255](k[(k[d>>2]|0)+12>>2]|0,f)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[d>>2]|0;h=jQ()|0;aO(b,k[h>>2]|0);k[c>>2]=1802;h=k[c>>2]|0;r=g;return h|0}b=k[f+36>>2]|0;h=k[e>>2]|0;k[h>>2]=b;k[h+4>>2]=((b|0)<0)<<31>>31;h=k[e>>2]|0;if((k[h>>2]|0)==1&(k[h+4>>2]|0)==0){h=k[e>>2]|0;k[h>>2]=0;k[h+4>>2]=0}k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function zN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];k[f>>2]=0;if((l[(k[e>>2]|0)+16>>0]|0|0)>0){i[(k[e>>2]|0)+16>>0]=k[d>>2];Qa(k[h>>2]|0,0)|0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=gc[k[7484>>2]&255](k[h>>2]|0,511)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=k[d>>2];k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}m=jQ()|0;k[g>>2]=k[m>>2];if(17!=(k[g>>2]|0)){m=bO(k[g>>2]|0,3850)|0;k[f>>2]=m;if((k[f>>2]|0)!=5)aO(k[e>>2]|0,k[g>>2]|0)}else k[f>>2]=5;k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function AN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;c=j+24|0;m=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[m>>2]=a;k[d>>2]=b;k[e>>2]=k[m>>2];k[h>>2]=k[(k[e>>2]|0)+24>>2];if((l[(k[e>>2]|0)+16>>0]|0|0)==(k[d>>2]|0)){k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}if((k[d>>2]|0)==1){i[(k[e>>2]|0)+16>>0]=1;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=bc[k[7496>>2]&255](k[h>>2]|0)|0;k[f>>2]=m;if((k[f>>2]|0)>=0){i[(k[e>>2]|0)+16>>0]=0;k[c>>2]=0;m=k[c>>2]|0;r=j;return m|0}m=jQ()|0;k[g>>2]=k[m>>2];if((k[g>>2]|0)==2)k[f>>2]=0;else{k[f>>2]=2058;aO(k[e>>2]|0,k[g>>2]|0)}k[c>>2]=k[f>>2];m=k[c>>2]|0;r=j;return m|0}function BN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;h=d+16|0;e=d+12|0;c=d+8|0;f=d+4|0;g=d;k[h>>2]=a;k[e>>2]=b;k[c>>2]=0;k[f>>2]=0;k[g>>2]=k[h>>2];b=(gc[k[7292>>2]&255](k[(k[g>>2]|0)+24>>2]|0,0)|0)==0&1;k[f>>2]=b;k[k[e>>2]>>2]=k[f>>2];r=d;return k[c>>2]|0}function CN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;j=r;r=r+32|0;h=j;d=j+28|0;n=j+24|0;m=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;k[n>>2]=a;k[m>>2]=b;k[e>>2]=c;k[f>>2]=k[n>>2];do switch(k[m>>2]|0){case 1:{k[k[e>>2]>>2]=l[(k[f>>2]|0)+16>>0];k[d>>2]=0;break}case 4:{k[k[e>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[d>>2]=0;break}case 6:{k[(k[f>>2]|0)+40>>2]=k[k[e>>2]>>2];k[d>>2]=0;break}case 5:{n=k[e>>2]|0;n=VN(k[f>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[g>>2]=n;k[d>>2]=k[g>>2];break}case 10:{WN(k[f>>2]|0,4,k[e>>2]|0);k[d>>2]=0;break}case 13:{WN(k[f>>2]|0,16,k[e>>2]|0);k[d>>2]=0;break}case 12:{k[h>>2]=k[(k[(k[f>>2]|0)+4>>2]|0)+16>>2];n=Yd(18999,h)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}case 16:{n=k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0;n=Td(n,((n|0)<0)<<31>>31)|0;k[i>>2]=n;if(k[i>>2]|0){XN(k[(k[(k[f>>2]|0)+4>>2]|0)+8>>2]|0,k[i>>2]|0)|0;k[k[e>>2]>>2]=k[i>>2]}k[d>>2]=0;break}case 20:{n=YN(k[f>>2]|0)|0;k[k[e>>2]>>2]=n;k[d>>2]=0;break}default:k[d>>2]=12}while(0);r=j;return k[d>>2]|0}function DN(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 4096}function EN(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;d=c+4|0;b=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=0;if(!((m[(k[d>>2]|0)+18>>1]|0)&16)){e=k[b>>2]|0;r=c;return e|0}k[b>>2]=k[b>>2]|4096;e=k[b>>2]|0;r=c;return e|0}function FN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+48|0;v=u+32|0;e=u+28|0;f=u+24|0;g=u+20|0;o=u+16|0;n=u+12|0;q=u+8|0;p=u+4|0;s=u;l=u+40|0;h=u+38|0;i=u+36|0;k[v>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[o>>2]=k[v>>2];k[n>>2]=k[(k[o>>2]|0)+36>>2];k[p>>2]=k[k[n>>2]>>2];k[s>>2]=0;j[l>>1]=(1<<(k[e>>2]|0)+(k[f>>2]|0))-(1<>2]);if(k[g>>2]&1){j[h>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((k[q>>2]|0)!=(k[n>>2]|0))j[h>>1]=m[h>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if(!((m[l>>1]|0)&(m[h>>1]|0))){v=UN(k[o>>2]|0,2,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v}else k[s>>2]=0;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=(k[n>>2]|0)+10|0;j[v>>1]=(m[v>>1]|0)&~(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}if(!(k[g>>2]&4)){k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=28;break}if((m[(k[q>>2]|0)+10>>1]|0)&(m[l>>1]|0)){t=28;break}k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==28)k[s>>2]=5;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=UN(k[o>>2]|0,1,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+12|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}j[i>>1]=0;k[q>>2]=k[(k[p>>2]|0)+32>>2];while(1){if(!(k[q>>2]|0))break;if((m[(k[q>>2]|0)+12>>1]|0)&(m[l>>1]|0)){t=16;break}j[i>>1]=m[i>>1]|0|(m[(k[q>>2]|0)+10>>1]|0);k[q>>2]=k[(k[q>>2]|0)+4>>2]}if((t|0)==16)k[s>>2]=5;do if(!(k[s>>2]|0))if(!((m[i>>1]|0)&(m[l>>1]|0))){v=UN(k[o>>2]|0,0,(k[e>>2]|0)+120|0,k[f>>2]|0)|0;k[s>>2]=v;break}else{k[s>>2]=0;break}while(0);if(k[s>>2]|0){v=k[s>>2]|0;r=u;return v|0}v=(k[n>>2]|0)+10|0;j[v>>1]=m[v>>1]|0|(m[l>>1]|0);v=k[s>>2]|0;r=u;return v|0}function GN(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;KN();MN();r=b;return}function HN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;h=i+4|0;f=i;k[j>>2]=a;k[d>>2]=b;k[f>>2]=k[j>>2];k[e>>2]=k[(k[f>>2]|0)+36>>2];if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}k[g>>2]=k[k[e>>2]>>2];k[h>>2]=(k[g>>2]|0)+32;while(1){if((k[k[h>>2]>>2]|0)==(k[e>>2]|0))break;k[h>>2]=(k[k[h>>2]>>2]|0)+4}k[k[h>>2]>>2]=k[(k[e>>2]|0)+4>>2];Ud(k[e>>2]|0);k[(k[f>>2]|0)+36>>2]=0;KN();j=(k[g>>2]|0)+28|0;k[j>>2]=(k[j>>2]|0)+-1;if(!(k[(k[g>>2]|0)+28>>2]|0)){if((k[d>>2]|0)!=0?(k[(k[g>>2]|0)+12>>2]|0)>=0:0)bc[k[7460>>2]&255](k[(k[g>>2]|0)+8>>2]|0)|0;LN(k[f>>2]|0)}MN();k[c>>2]=0;j=k[c>>2]|0;r=i;return j|0}function IN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function JN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=r;r=r+16|0;k[e+12>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[e+8>>2]=d;r=e;return 0}function KN(){return}function LN(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[e>>2]=k[(k[(k[b>>2]|0)+8>>2]|0)+20>>2];if(!(k[e>>2]|0)){r=f;return}if(k[(k[e>>2]|0)+28>>2]|0){r=f;return}a=NN()|0;k[d>>2]=a;k[c>>2]=0;while(1){a=k[e>>2]|0;if((k[c>>2]|0)>=(m[(k[e>>2]|0)+20>>1]|0|0))break;if((k[a+12>>2]|0)>=0)gc[k[7544>>2]&255](k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0;else Ud(k[(k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]<<2)>>2]|0);k[c>>2]=(k[c>>2]|0)+(k[d>>2]|0)}Ud(k[a+24>>2]|0);if((k[(k[e>>2]|0)+12>>2]|0)>=0){ON(k[b>>2]|0,k[(k[e>>2]|0)+12>>2]|0,31697);k[(k[e>>2]|0)+12>>2]=-1}k[(k[k[e>>2]>>2]|0)+20>>2]=0;Ud(k[e>>2]|0);r=f;return}function MN(){return}function NN(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+16|0;a=d+8|0;c=d+4|0;b=d;k[c>>2]=32768;e=Zb[k[7568>>2]&255]()|0;k[b>>2]=e;if((k[b>>2]|0)<(k[c>>2]|0)){k[a>>2]=1;e=k[a>>2]|0;r=d;return e|0}else{k[a>>2]=(k[b>>2]|0)/(k[c>>2]|0)|0;e=k[a>>2]|0;r=d;return e|0}return 0}function ON(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(bc[k[7280>>2]&255](k[g>>2]|0)|0)){r=f;return}if(k[d>>2]|0)d=k[(k[d>>2]|0)+32>>2]|0;else d=0;PN(4106,45191,d,k[e>>2]|0)|0;r=f;return}function PN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+48|0;j=m;e=m+40|0;f=m+36|0;g=m+32|0;h=m+28|0;l=m+24|0;i=m+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;c=jQ()|0;k[i>>2]=k[c>>2];c=kQ(k[i>>2]|0)|0;k[l>>2]=c;if(!(k[g>>2]|0))k[g>>2]=19010;c=k[e>>2]|0;a=k[i>>2]|0;i=k[f>>2]|0;d=k[g>>2]|0;b=k[l>>2]|0;k[j>>2]=k[h>>2];k[j+4>>2]=a;k[j+8>>2]=i;k[j+12>>2]=d;k[j+16>>2]=b;$d(c,45197,j);r=m;return k[e>>2]|0}function QN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;e=d;h=d+12|0;g=d+8|0;f=d+4|0;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;c=k[h>>2]|0;a=k[g>>2]|0;k[e>>2]=k[f>>2];a=mQ(c,a,e)|0;r=d;return a|0}function RN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;h=r;r=r+544|0;j=h;c=h+20|0;l=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h+24|0;k[l>>2]=a;k[d>>2]=b;k[e>>2]=-1;k[j>>2]=k[l>>2];_d(512,g,18999,j)|0;a=UQ(g)|0;k[f>>2]=a;while(1){if((k[f>>2]|0)<=0)break;if((i[g+(k[f>>2]|0)>>0]|0)==47)break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)>0)i[g+(k[f>>2]|0)>>0]=0;else{if((i[g>>0]|0)!=47)i[g>>0]=46;i[g+1>>0]=0}l=TN(g,0,0)|0;k[e>>2]=l;k[k[d>>2]>>2]=k[e>>2];if((k[e>>2]|0)>=0){k[c>>2]=0;l=k[c>>2]|0;r=h;return l|0}else{l=PN(tt(31035)|0,45332,g,31035)|0;k[c>>2]=l;l=k[c>>2]|0;r=h;return l|0}return 0}function SN(){return rb(30)|0}function TN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+112|0;j=l;d=l+100|0;e=l+96|0;f=l+92|0;g=l+88|0;h=l+84|0;i=l+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:420;while(1){a=Yb[k[7268>>2]&255](k[d>>2]|0,k[e>>2]|524288,k[h>>2]|0)|0;k[g>>2]=a;if((k[g>>2]|0)<0){a=jQ()|0;if((k[a>>2]|0)==4)continue;else break}if((k[g>>2]|0)>=3)break;bc[k[7280>>2]&255](k[g>>2]|0)|0;a=k[g>>2]|0;k[j>>2]=k[d>>2];k[j+4>>2]=a;$d(28,45419,j);k[g>>2]=-1;if((Yb[k[7268>>2]&255](45462,k[e>>2]|0,k[f>>2]|0)|0)<0)break}if(!((k[g>>2]|0)>=0&(k[f>>2]|0)!=0)){a=k[g>>2]|0;r=l;return a|0}if(gc[k[7328>>2]&255](k[g>>2]|0,i)|0){a=k[g>>2]|0;r=l;return a|0}if(k[i+36>>2]|0){a=k[g>>2]|0;r=l;return a|0}if((k[i+12>>2]&511|0)==(k[f>>2]|0)){a=k[g>>2]|0;r=l;return a|0}gc[k[7436>>2]&255](k[g>>2]|0,k[f>>2]|0)|0;a=k[g>>2]|0;r=l;return a|0}function UN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;m=n;o=n+40|0;e=n+36|0;f=n+32|0;g=n+28|0;i=n+24|0;h=n+8|0;l=n+4|0;k[o>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[l>>2]=0;k[i>>2]=k[(k[(k[o>>2]|0)+8>>2]|0)+20>>2];if((k[(k[i>>2]|0)+12>>2]|0)<0){o=k[l>>2]|0;r=n;return o|0};k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[h+12>>2]=0;j[h>>1]=k[e>>2];j[h+2>>1]=0;k[h+4>>2]=k[f>>2];k[h+8>>2]=k[g>>2];a=k[1838]|0;o=k[(k[i>>2]|0)+12>>2]|0;k[m>>2]=h;o=Yb[a&255](o,13,m)|0;k[l>>2]=o;k[l>>2]=(k[l>>2]|0)!=-1?0:5;o=k[l>>2]|0;r=n;return o|0}function VN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+128|0;d=m+112|0;e=m+108|0;f=m+16|0;j=m+8|0;g=m+32|0;i=m+28|0;l=m+24|0;h=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a:do if((k[(k[e>>2]|0)+40>>2]|0)>0){if(gc[k[7328>>2]&255](k[(k[e>>2]|0)+12>>2]|0,g)|0){k[d>>2]=1802;a=k[d>>2]|0;r=m;return a|0}b=k[(k[e>>2]|0)+40>>2]|0;b=zR(k[f>>2]|0,k[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=yR(b|0,L|0,1,0)|0;f=k[(k[e>>2]|0)+40>>2]|0;f=IR(b|0,L|0,f|0,((f|0)<0)<<31>>31|0)|0;b=k[(k[e>>2]|0)+40>>2]|0;b=KR(f|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;k[f>>2]=b;k[f+4>>2]=L;f=j;b=k[f+4>>2]|0;a=k[g+36>>2]|0;c=((a|0)<0)<<31>>31;if((b|0)>(c|0)|((b|0)==(c|0)?(k[f>>2]|0)>>>0>a>>>0:0)){k[i>>2]=k[g+40>>2];k[l>>2]=0;g=ha((k[g+36>>2]|0)/(k[i>>2]|0)|0,k[i>>2]|0)|0;g=g+(k[i>>2]|0)-1|0;a=h;k[a>>2]=g;k[a+4>>2]=((g|0)<0)<<31>>31;while(1){c=h;g=k[c>>2]|0;c=k[c+4>>2]|0;f=j;a=k[i>>2]|0;a=zR(k[f>>2]|0,k[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=yR(a|0,L|0,1,0)|0;f=L;if(!((c|0)<(f|0)|(c|0)==(f|0)&g>>>0>>0))break a;g=h;c=k[g+4>>2]|0;a=j;f=k[a+4>>2]|0;if((c|0)>(f|0)|((c|0)==(f|0)?(k[g>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){g=j;g=yR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}a=h;a=_N(k[e>>2]|0,k[a>>2]|0,k[a+4>>2]|0,19010,1)|0;k[l>>2]=a;if((k[l>>2]|0)!=1)break;g=k[i>>2]|0;a=h;g=zR(k[a>>2]|0,k[a+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;a=h;k[a>>2]=g;k[a+4>>2]=L}k[d>>2]=778;a=k[d>>2]|0;r=m;return a|0}}while(0);k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}function WN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+4|0;d=g+8|0;f=g;k[e>>2]=a;i[d>>0]=b;k[f>>2]=c;if((k[k[f>>2]>>2]|0)<0){k[k[f>>2]>>2]=((m[(k[e>>2]|0)+18>>1]|0)&(l[d>>0]|0)|0)!=0&1;r=g;return}d=l[d>>0]|0;if(!(k[k[f>>2]>>2]|0)){f=(k[e>>2]|0)+18|0;j[f>>1]=(m[f>>1]|0)&~d;r=g;return}else{f=(k[e>>2]|0)+18|0;j[f>>1]=m[f>>1]|0|d;r=g;return}}function XN(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+64|0;g=l+8|0;j=l+48|0;c=l+44|0;d=l+40|0;h=l+36|0;e=l+32|0;f=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;b=ZN()|0;k[h>>2]=b;while(1){ae(8,f);i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]=0;a=k[c>>2]|0;b=k[d>>2]|0;n=f;o=k[n>>2]|0;n=k[n+4>>2]|0;k[g>>2]=k[h>>2];m=g+8|0;k[m>>2]=o;k[m+4>>2]=n;k[g+16>>2]=0;_d(a,b,45472,g)|0;if(i[(k[d>>2]|0)+((k[c>>2]|0)-2)>>0]|0){c=4;break}o=k[e>>2]|0;k[e>>2]=o+1;if((o|0)>10){c=4;break}if(gc[k[7292>>2]&255](k[d>>2]|0,0)|0){c=6;break}}if((c|0)==4){k[j>>2]=1;o=k[j>>2]|0;r=l;return o|0}else if((c|0)==6){k[j>>2]=0;o=k[j>>2]|0;r=l;return o|0}return 0}function YN(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+80|0;b=d+76|0;c=d;k[b>>2]=a;if(!(k[(k[b>>2]|0)+8>>2]|0)){a=0;a=a&1;r=d;return a|0}if(gc[k[7316>>2]&255](k[(k[b>>2]|0)+32>>2]|0,c)|0){a=1;a=a&1;r=d;return a|0}a=(k[c+72>>2]|0)!=(k[(k[(k[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;r=d;return a|0}function ZN(){var a=0,b=0,c=0,d=0,e=0;d=r;r=r+96|0;b=d+80|0;a=d+4|0;c=d;k[c>>2]=k[241];if(!(k[1900]|0)){e=Ab(45489)|0;k[1900]=e}if(!(k[1901]|0)){e=Ab(45503)|0;k[1901]=e}k[b>>2]=0;while(1){if((k[b>>2]|0)>>>0>=6){a=12;break}if((((k[c>>2]|0)!=0?(gc[k[7316>>2]&255](k[c>>2]|0,a)|0)==0:0)?(k[a+12>>2]&61440|0)==16384:0)?(gc[k[7292>>2]&255](k[c>>2]|0,7)|0)==0:0){a=12;break}e=k[b>>2]|0;k[b>>2]=e+1;k[c>>2]=k[7600+(e<<2)>>2]}if((a|0)==12){r=d;return k[c>>2]|0}return 0}function _N(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;g=f+16|0;j=f;i=f+12|0;h=f+8|0;k[g>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[h>>2]=e;d=j;d=$N(k[(k[g>>2]|0)+12>>2]|0,k[d>>2]|0,k[d+4>>2]|0,k[i>>2]|0,k[h>>2]|0,(k[g>>2]|0)+20|0)|0;r=f;return d|0}function $N(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[n>>2]=0;k[j>>2]=k[j>>2]&131071;do{d=dR(k[g>>2]|0,k[h>>2]|0,0)|0;f=m;k[f>>2]=d;k[f+4>>2]=((d|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}f=Yb[k[7400>>2]&255](k[g>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[n>>2]=f;if((k[n>>2]|0)>=0)break;f=jQ()|0}while((k[f>>2]|0)==4);if((o|0)==3)k[n>>2]=-1;if((k[n>>2]|0)>=0){o=k[n>>2]|0;r=p;return o|0}o=jQ()|0;k[k[l>>2]>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}function aO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[(k[d>>2]|0)+20>>2]=k[e>>2];r=c;return}function bO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;switch(k[f>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{k[c>>2]=5;break}case 1:{k[c>>2]=3;break}default:k[c>>2]=k[d>>2]}r=e;return k[c>>2]|0}function cO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;d=e;k[f>>2]=a;k[e+8>>2]=b;k[e+4>>2]=c;b=_Q(k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function dO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g;f=g+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;while(1){a=gc[k[7340>>2]&255](k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;if((k[f>>2]|0)>=0){b=4;break}a=jQ()|0;if((k[a>>2]|0)!=4){b=4;break}}if((b|0)==4){r=g;return k[f>>2]|0}return 0}function eO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+8|0;i=p+28|0;j=p+24|0;l=p+20|0;n=p+16|0;m=p;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=0;do{a=dR(k[(k[g>>2]|0)+12>>2]|0,k[h>>2]|0,0)|0;d=m;k[d>>2]=a;k[d+4>>2]=((a|0)<0)<<31>>31;if((k[m+4>>2]|0)<0){o=3;break}d=Yb[k[7364>>2]&255](k[(k[g>>2]|0)+12>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=d;if((k[l>>2]|0)==(k[j>>2]|0))break;if((k[l>>2]|0)>=0){if((k[l>>2]|0)>0){k[j>>2]=(k[j>>2]|0)-(k[l>>2]|0);a=k[l>>2]|0;d=h;a=zR(k[d>>2]|0,k[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=h;k[d>>2]=a;k[d+4>>2]=L;k[n>>2]=(k[n>>2]|0)+(k[l>>2]|0);k[i>>2]=(k[i>>2]|0)+(k[l>>2]|0)}}else{d=jQ()|0;if((k[d>>2]|0)!=4){o=8;break}k[l>>2]=1}}while((k[l>>2]|0)>0);if((o|0)==3){n=k[g>>2]|0;o=jQ()|0;aO(n,k[o>>2]|0);k[f>>2]=-1;o=k[f>>2]|0;r=p;return o|0}else if((o|0)==8){k[n>>2]=0;d=k[g>>2]|0;o=jQ()|0;aO(d,k[o>>2]|0)}k[f>>2]=(k[l>>2]|0)+(k[n>>2]|0);o=k[f>>2]|0;r=p;return o|0}function fO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];if((k[(k[b>>2]|0)+12>>2]|0)>=0){ON(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,29444);k[(k[b>>2]|0)+12>>2]=-1}Ud(k[(k[b>>2]|0)+28>>2]|0);a=k[b>>2]|0;b=a+44|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return 0}function gO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7624}function hO(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=fO(k[c>>2]|0)|0;r=b;return a|0}function iO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function jO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function kO(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[c+4>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=0;r=c;return 0}function lO(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,l=0,m=0;m=r;r=r+32|0;l=m;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;j=m+8|0;h=m+4|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=Tf(k[e>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;do if((i[k[e>>2]>>0]|0)!=47){if(gc[k[7304>>2]&255](k[f>>2]|0,(k[g>>2]|0)-2|0)|0){a=Tf(k[f>>2]|0)|0;k[h>>2]=a;a=k[h>>2]|0;k[h>>2]=a+1;i[(k[f>>2]|0)+a>>0]=47;break}a=tt(33471)|0;a=PN(a,45233,k[e>>2]|0,33471)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}while(0);if(((k[h>>2]|0)+(k[j>>2]|0)+1|0)>(k[g>>2]|0)){i[(k[f>>2]|0)+(k[h>>2]|0)>>0]=0;a=tt(33480)|0;k[d>>2]=a;a=k[d>>2]|0;r=m;return a|0}else{b=(k[g>>2]|0)-(k[h>>2]|0)|0;a=(k[f>>2]|0)+(k[h>>2]|0)|0;k[l>>2]=k[e>>2];_d(b,a,18999,l)|0;k[d>>2]=0;a=k[d>>2]|0;r=m;return a|0}return 0}function mO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+96|0;i=h+92|0;c=h+88|0;e=h+84|0;g=h+8|0;d=h+4|0;f=h;k[i>>2]=a;k[c>>2]=b;k[e>>2]=0;if(gc[k[7316>>2]&255](k[i>>2]|0,g)|0){i=k[e>>2]|0;r=h;return i|0}KN();k[d>>2]=k[1945];while(1){if(k[d>>2]|0)if((k[k[d>>2]>>2]|0)!=(k[g>>2]|0))a=1;else a=(k[(k[d>>2]|0)+4>>2]|0)!=(k[g+72>>2]|0);else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=k[b+32>>2]}if(b){k[f>>2]=(k[d>>2]|0)+28;while(1){if(!(k[k[f>>2]>>2]|0))break;if((k[(k[k[f>>2]>>2]|0)+4>>2]|0)==(k[c>>2]|0))break;k[f>>2]=(k[k[f>>2]>>2]|0)+8}k[e>>2]=k[k[f>>2]>>2];if(k[e>>2]|0)k[k[f>>2]>>2]=k[(k[e>>2]|0)+8>>2]}MN();i=k[e>>2]|0;r=h;return i|0}function nO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+624|0;f=q+100|0;g=q+96|0;h=q+92|0;j=q+88|0;l=q+84|0;n=q+80|0;p=q+104|0;m=q+76|0;o=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;k[k[h>>2]>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;if(!(k[g>>2]&526336)){if(!(k[g>>2]&8)){a=k[n>>2]|0;r=q;return a|0}k[k[h>>2]>>2]=384;a=k[n>>2]|0;r=q;return a|0}a=(Tf(k[f>>2]|0)|0)-1|0;k[m>>2]=a;while(1){if((i[(k[f>>2]|0)+(k[m>>2]|0)>>0]|0)==45)break;k[m>>2]=(k[m>>2]|0)+-1}BR(p|0,k[f>>2]|0,k[m>>2]|0)|0;i[p+(k[m>>2]|0)>>0]=0;if(!(gc[k[7316>>2]&255](p,o)|0)){k[k[h>>2]>>2]=k[o+12>>2]&511;k[k[j>>2]>>2]=k[o+20>>2];k[k[l>>2]>>2]=k[o+24>>2];a=k[n>>2]|0;r=q;return a|0}else{k[n>>2]=1802;a=k[n>>2]|0;r=q;return a|0}return 0}function oO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(Zb[k[7520>>2]&255]()|0){b=0;r=g;return b|0}b=Yb[k[7508>>2]&255](k[d>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;r=g;return b|0}function pO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+48|0;q=t;f=t+40|0;g=t+36|0;u=t+32|0;h=t+28|0;i=t+24|0;n=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;l=t+4|0;k[f>>2]=a;k[g>>2]=b;k[u>>2]=c;k[h>>2]=d;k[i>>2]=e;k[o>>2]=k[u>>2];k[p>>2]=0;k[(k[o>>2]|0)+12>>2]=k[g>>2];k[(k[o>>2]|0)+4>>2]=k[f>>2];k[(k[o>>2]|0)+32>>2]=k[h>>2];j[(k[o>>2]|0)+18>>1]=k[i>>2]&255;if(Sf((k[i>>2]&64|0)!=0?k[h>>2]|0:0,45565,1)|0){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|16}if(!(RQ(k[(k[f>>2]|0)+16>>2]|0,45181)|0)){u=(k[o>>2]|0)+18|0;j[u>>1]=m[u>>1]|0|1}if(k[i>>2]&128)k[n>>2]=7624;else{u=gc[k[k[(k[f>>2]|0)+20>>2]>>2]&255](k[h>>2]|0,k[o>>2]|0)|0;k[n>>2]=u}if((k[n>>2]|0)!=7704){if((k[n>>2]|0)==7188){u=(UQ(k[h>>2]|0)|0)+6|0;k[l>>2]=u;u=k[l>>2]|0;u=Td(u,((u|0)<0)<<31>>31)|0;k[s>>2]=u;if(!(k[s>>2]|0))k[p>>2]=7;else{d=k[l>>2]|0;u=k[s>>2]|0;k[q>>2]=k[h>>2];_d(d,u,45570,q)|0}k[(k[o>>2]|0)+24>>2]=k[s>>2]}}else{KN();u=qO(k[o>>2]|0,(k[o>>2]|0)+8|0)|0;k[p>>2]=u;if(k[p>>2]|0){ON(k[o>>2]|0,k[g>>2]|0,32813);k[g>>2]=-1}MN()}aO(k[o>>2]|0,0);if(!(k[p>>2]|0)){k[k[o>>2]>>2]=k[n>>2];rO(k[o>>2]|0);u=k[p>>2]|0;r=t;return u|0}if((k[g>>2]|0)<0){u=k[p>>2]|0;r=t;return u|0}ON(k[o>>2]|0,k[g>>2]|0,32898);u=k[p>>2]|0;r=t;return u|0}function qO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+112|0;e=i+104|0;c=i+100|0;f=i+96|0;j=i+92|0;l=i+88|0;g=i+80|0;d=i+4|0;h=i;k[c>>2]=a;k[f>>2]=b;k[h>>2]=0;k[l>>2]=k[(k[c>>2]|0)+12>>2];b=gc[k[7328>>2]&255](k[l>>2]|0,d)|0;k[j>>2]=b;if(k[j>>2]|0){j=k[c>>2]|0;l=jQ()|0;aO(j,k[l>>2]|0);if((k[(k[c>>2]|0)+20>>2]|0)==75){k[e>>2]=22;l=k[e>>2]|0;r=i;return l|0}else{k[e>>2]=10;l=k[e>>2]|0;r=i;return l|0}};k[g>>2]=0;k[g+4>>2]=0;k[g>>2]=k[d>>2];k[g+4>>2]=k[d+72>>2];k[h>>2]=k[1945];while(1){if(k[h>>2]|0)a=(OQ(g,k[h>>2]|0,8)|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;k[h>>2]=k[c+32>>2]}if(!c){l=Td(40,0)|0;k[h>>2]=l;if(!(k[h>>2]|0)){k[e>>2]=7;l=k[e>>2]|0;r=i;return l|0}c=k[h>>2]|0;a=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));l=k[h>>2]|0;k[l>>2]=k[g>>2];k[l+4>>2]=k[g+4>>2];k[(k[h>>2]|0)+16>>2]=1;k[(k[h>>2]|0)+32>>2]=k[1945];k[(k[h>>2]|0)+36>>2]=0;if(k[1945]|0)k[(k[1945]|0)+36>>2]=k[h>>2];k[1945]=k[h>>2]}else{l=(k[h>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)+1}k[k[f>>2]>>2]=k[h>>2];k[e>>2]=0;l=k[e>>2]|0;r=i;return l|0}function rO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+112|0;h=i+24|0;g=i+16|0;d=i+8|0;c=i;e=i+108|0;f=i+32|0;b=i+28|0;k[e>>2]=a;if((m[(k[e>>2]|0)+18>>1]|0)&128){r=i;return}a=gc[k[7328>>2]&255](k[(k[e>>2]|0)+12>>2]|0,f)|0;k[b>>2]=a;if(k[b>>2]|0){k[c>>2]=k[(k[e>>2]|0)+32>>2];$d(28,45578,c);r=i;return}if(!(k[f+16>>2]|0)){k[d>>2]=k[(k[e>>2]|0)+32>>2];$d(28,45602,d);r=i;return}a=k[e>>2]|0;if((k[f+16>>2]|0)>>>0>1){k[g>>2]=k[a+32>>2];$d(28,45631,g);r=i;return}if(!(YN(a)|0)){r=i;return}k[h>>2]=k[(k[e>>2]|0)+32>>2];$d(28,45658,h);r=i;return}function sO(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[b>>2];rO(k[c>>2]|0);uO(k[b>>2]|0,0)|0;KN();if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[(k[(k[c>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)BO(k[c>>2]|0);CO(k[c>>2]|0);c=fO(k[b>>2]|0)|0;k[d>>2]=c;MN();r=e;return k[d>>2]|0}function tO(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;o=r;r=r+48|0;f=o+44|0;p=o+40|0;g=o+36|0;n=o+32|0;h=o+28|0;m=o+24|0;d=o+8|0;e=o;k[p>>2]=a;k[g>>2]=b;k[n>>2]=0;k[h>>2]=k[p>>2];k[e>>2]=0;if((l[(k[h>>2]|0)+16>>0]|0|0)>=(k[g>>2]|0)){k[f>>2]=0;p=k[f>>2]|0;r=o;return p|0}KN();k[m>>2]=k[(k[h>>2]|0)+8>>2];if((l[(k[h>>2]|0)+16>>0]|0|0)!=(l[(k[m>>2]|0)+12>>0]|0|0)?((k[g>>2]|0)>1?1:(l[(k[m>>2]|0)+12>>0]|0|0)>=3):0)k[n>>2]=5;else c=6;a:do if((c|0)==6){do if((k[g>>2]|0)==1){if((l[(k[m>>2]|0)+12>>0]|0|0)!=1?(l[(k[m>>2]|0)+12>>0]|0|0)!=2:0)break;i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;break a}while(0);k[d+8>>2]=1;j[d+2>>1]=0;if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(l[(k[h>>2]|0)+16>>0]|0|0)<3:0)c=13}else c=13;if((c|0)==13?(j[d>>1]=(k[g>>2]|0)==1?0:1,k[d+4>>2]=k[381],(zO(k[h>>2]|0,d)|0)!=0):0){p=jQ()|0;k[e>>2]=k[p>>2];p=bO(k[e>>2]|0,3850)|0;k[n>>2]=p;if((k[n>>2]|0)==5)break;aO(k[h>>2]|0,k[e>>2]|0);break}do if((k[g>>2]|0)!=1){if((k[g>>2]|0)==4?(k[(k[m>>2]|0)+8>>2]|0)>1:0){k[n>>2]=5;break}j[d>>1]=1;b=k[381]|0;if((k[g>>2]|0)==2){k[d+4>>2]=b+1;k[d+8>>2]=1}else{k[d+4>>2]=b+2;k[d+8>>2]=510}if((zO(k[h>>2]|0,d)|0)!=0?(p=jQ()|0,k[e>>2]=k[p>>2],p=bO(k[e>>2]|0,3850)|0,k[n>>2]=p,(k[n>>2]|0)!=5):0)aO(k[h>>2]|0,k[e>>2]|0)}else{k[d+4>>2]=(k[381]|0)+2;k[d+8>>2]=510;if(zO(k[h>>2]|0,d)|0){p=jQ()|0;k[e>>2]=k[p>>2];p=bO(k[e>>2]|0,3850)|0;k[n>>2]=p}k[d+4>>2]=k[381];k[d+8>>2]=1;j[d>>1]=2;p=(zO(k[h>>2]|0,d)|0)!=0;if(p&(k[n>>2]|0)==0){p=jQ()|0;k[e>>2]=k[p>>2];k[n>>2]=2058}if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=1;p=(k[m>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[m>>2]|0)+8>>2]=1;break}if((k[n>>2]|0)==5)break a;aO(k[h>>2]|0,k[e>>2]|0);break a}while(0);b=k[g>>2]|0;if(!(k[n>>2]|0)){i[(k[h>>2]|0)+16>>0]=b;i[(k[m>>2]|0)+12>>0]=k[g>>2];break}if((b|0)==4){i[(k[h>>2]|0)+16>>0]=3;i[(k[m>>2]|0)+12>>0]=3}}while(0);MN();k[f>>2]=k[n>>2];p=k[f>>2]|0;r=o;return p|0}function uO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=yO(k[e>>2]|0,k[d>>2]|0,0)|0;r=c;return a|0}function vO(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;m=r;r=r+48|0;h=m;n=m+40|0;c=m+36|0;f=m+32|0;g=m+28|0;e=m+24|0;d=m+8|0;k[n>>2]=a;k[c>>2]=b;k[f>>2]=0;k[g>>2]=0;k[e>>2]=k[n>>2];KN();if((l[(k[(k[e>>2]|0)+8>>2]|0)+12>>0]|0)>1)k[g>>2]=1;do if((k[g>>2]|0)==0?(i[(k[(k[e>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){j[d+2>>1]=0;k[d+4>>2]=(k[381]|0)+1;k[d+8>>2]=1;j[d>>1]=1;b=k[1838]|0;n=k[(k[e>>2]|0)+12>>2]|0;k[h>>2]=d;if(Yb[b&255](n,12,h)|0){k[f>>2]=3594;h=k[e>>2]|0;n=jQ()|0;aO(h,k[n>>2]|0);break}if((j[d>>1]|0)!=2)k[g>>2]=1}while(0);MN();k[k[c>>2]>>2]=k[g>>2];r=m;return k[f>>2]|0}function wO(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=r;r=r+160|0;z=E+152|0;F=E+148|0;A=E+144|0;f=E+140|0;g=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;q=E+108|0;h=E+104|0;o=E+100|0;w=E+24|0;n=E+20|0;x=E+16|0;y=E+12|0;p=E+8|0;i=E+4|0;v=E;k[F>>2]=a;k[A>>2]=b;k[f>>2]=c;k[g>>2]=d;k[B>>2]=e;k[u>>2]=k[F>>2];k[D>>2]=0;c=NN()|0;k[s>>2]=c;if((k[(k[u>>2]|0)+36>>2]|0)==0?(F=xO(k[u>>2]|0)|0,k[D>>2]=F,(k[D>>2]|0)!=0):0){k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}k[t>>2]=k[(k[u>>2]|0)+36>>2];k[C>>2]=k[k[t>>2]>>2];F=ha(((k[A>>2]|0)+(k[s>>2]|0)|0)/(k[s>>2]|0)|0,k[s>>2]|0)|0;k[q>>2]=F;a:do if((m[(k[C>>2]|0)+20>>1]|0|0)<(k[q>>2]|0)){F=ha(k[q>>2]|0,k[f>>2]|0)|0;k[o>>2]=F;k[(k[C>>2]|0)+16>>2]=k[f>>2];b:do if((k[(k[C>>2]|0)+12>>2]|0)>=0){if(gc[k[7328>>2]&255](k[(k[C>>2]|0)+12>>2]|0,w)|0){k[D>>2]=4874;break a}if((k[w+36>>2]|0)<(k[o>>2]|0)){if(!(k[g>>2]|0))break a;k[n>>2]=(k[w+36>>2]|0)/4096|0;while(1){if((k[n>>2]|0)>=((k[o>>2]|0)/4096|0|0))break b;k[x>>2]=0;F=(k[n>>2]<<12)+4096-1|0;if(($N(k[(k[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19010,1,x)|0)!=1)break;k[n>>2]=(k[n>>2]|0)+1}k[y>>2]=k[(k[C>>2]|0)+8>>2];F=PN(4874,45286,k[y>>2]|0,31960)|0;k[D>>2]=F;break a}}while(0);F=Vd(k[(k[C>>2]|0)+24>>2]|0,k[q>>2]<<2)|0;k[h>>2]=F;if(!(k[h>>2]|0)){k[D>>2]=3082;break}k[(k[C>>2]|0)+24>>2]=k[h>>2];while(1){if((m[(k[C>>2]|0)+20>>1]|0|0)>=(k[q>>2]|0))break a;F=ha(k[f>>2]|0,k[s>>2]|0)|0;k[p>>2]=F;if((k[(k[C>>2]|0)+12>>2]|0)>=0){w=k[1883]|0;c=k[p>>2]|0;x=(l[(k[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=k[(k[C>>2]|0)+12>>2]|0;F=k[f>>2]|0;F=KR(F|0,((F|0)<0)<<31>>31|0,m[(k[C>>2]|0)+20>>1]|0|0,0)|0;F=ac[w&255](0,c,x,1,y,F)|0;k[v>>2]=F;if((k[v>>2]|0)==(-1|0)){f=21;break}}else{F=k[f>>2]|0;F=Td(F,((F|0)<0)<<31>>31)|0;k[v>>2]=F;if(!(k[v>>2]|0)){f=23;break}DR(k[v>>2]|0,0,k[f>>2]|0)|0}k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[s>>2]|0))break;F=ha(k[f>>2]|0,k[i>>2]|0)|0;k[(k[(k[C>>2]|0)+24>>2]|0)+((m[(k[C>>2]|0)+20>>1]|0)+(k[i>>2]|0)<<2)>>2]=(k[v>>2]|0)+F;k[i>>2]=(k[i>>2]|0)+1}F=(k[C>>2]|0)+20|0;j[F>>1]=(m[F>>1]|0)+(k[s>>2]|0)}if((f|0)==21){F=PN(5386,45373,k[(k[C>>2]|0)+8>>2]|0,31987)|0;k[D>>2]=F;break}else if((f|0)==23){k[D>>2]=7;break}}while(0);if((m[(k[C>>2]|0)+20>>1]|0|0)>(k[A>>2]|0))k[k[B>>2]>>2]=k[(k[(k[C>>2]|0)+24>>2]|0)+(k[A>>2]<<2)>>2];else k[k[B>>2]>>2]=0;if((k[D>>2]|0)==0?(l[(k[C>>2]|0)+22>>0]|0|0)!=0:0)k[D>>2]=8;k[z>>2]=k[D>>2];F=k[z>>2]|0;r=E;return F|0}function xO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+128|0;n=q;b=q+116|0;c=q+112|0;f=q+108|0;h=q+104|0;j=q+100|0;g=q+96|0;p=q+92|0;d=q+88|0;m=q+12|0;o=q+8|0;e=q+4|0;k[c>>2]=a;k[f>>2]=0;a=Td(16,0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){k[b>>2]=7;p=k[b>>2]|0;r=q;return p|0}a=k[f>>2]|0;k[a>>2]=0;k[a+4>>2]=0;k[a+8>>2]=0;k[a+12>>2]=0;KN();k[g>>2]=k[(k[c>>2]|0)+8>>2];k[h>>2]=k[(k[g>>2]|0)+20>>2];a:do if(!(k[h>>2]|0)){k[o>>2]=k[(k[c>>2]|0)+32>>2];do if(!(gc[k[7328>>2]&255](k[(k[c>>2]|0)+12>>2]|0,m)|0)){a=6+(UQ(k[o>>2]|0)|0)|0;k[d>>2]=a;a=Td(36+(k[d>>2]|0)|0,0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[j>>2]=7;break}DR(k[h>>2]|0,0,36+(k[d>>2]|0)|0)|0;a=(k[h>>2]|0)+36|0;k[(k[h>>2]|0)+8>>2]=a;k[p>>2]=a;d=k[d>>2]|0;a=k[p>>2]|0;k[n>>2]=k[o>>2];_d(d,a,45686,n)|0;k[(k[h>>2]|0)+12>>2]=-1;k[(k[(k[c>>2]|0)+8>>2]|0)+20>>2]=k[h>>2];k[k[h>>2]>>2]=k[(k[c>>2]|0)+8>>2];k[(k[h>>2]|0)+4>>2]=8;if(!(k[(k[h>>2]|0)+4>>2]|0)){k[j>>2]=7;break}if(l[(k[g>>2]|0)+13>>0]|0)break a;k[e>>2]=66;if(Sf(k[(k[c>>2]|0)+32>>2]|0,45693,0)|0){k[e>>2]=0;i[(k[h>>2]|0)+22>>0]=1}o=TN(k[p>>2]|0,k[e>>2]|0,k[m+12>>2]&511)|0;k[(k[h>>2]|0)+12>>2]=o;if((k[(k[h>>2]|0)+12>>2]|0)<0){o=tt(31812)|0;p=PN(o,45228,k[p>>2]|0,31812)|0;k[j>>2]=p;break}oO(k[(k[h>>2]|0)+12>>2]|0,k[m+20>>2]|0,k[m+24>>2]|0)|0;k[j>>2]=0;if((UN(k[c>>2]|0,1,128,1)|0)==0?(dO(k[(k[h>>2]|0)+12>>2]|0,0,0)|0)!=0:0){p=PN(4618,45251,k[p>>2]|0,31828)|0;k[j>>2]=p}if(!(k[j>>2]|0)){p=UN(k[c>>2]|0,0,128,1)|0;k[j>>2]=p}if(!(k[j>>2]|0))break a}else k[j>>2]=1802;while(0);LN(k[c>>2]|0);Ud(k[f>>2]|0);MN();k[b>>2]=k[j>>2];p=k[b>>2]|0;r=q;return p|0}while(0);k[k[f>>2]>>2]=k[h>>2];p=(k[h>>2]|0)+28|0;k[p>>2]=(k[p>>2]|0)+1;k[(k[c>>2]|0)+36>>2]=k[f>>2];MN();k[(k[f>>2]|0)+4>>2]=k[(k[h>>2]|0)+32>>2];k[(k[h>>2]|0)+32>>2]=k[f>>2];k[b>>2]=0;p=k[b>>2]|0;r=q;return p|0}function yO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;d=o+44|0;p=o+40|0;e=o+36|0;g=o+28|0;h=o+24|0;f=o+8|0;m=o;k[p>>2]=a;k[e>>2]=b;k[o+32>>2]=c;k[g>>2]=k[p>>2];k[m>>2]=0;if((l[(k[g>>2]|0)+16>>0]|0|0)<=(k[e>>2]|0)){k[d>>2]=0;p=k[d>>2]|0;r=o;return p|0}KN();k[h>>2]=k[(k[g>>2]|0)+8>>2];do if((l[(k[g>>2]|0)+16>>0]|0|0)>1){if((k[e>>2]|0)==1?(j[f>>1]=0,j[f+2>>1]=0,k[f+4>>2]=(k[381]|0)+2,k[f+8>>2]=510,(zO(k[g>>2]|0,f)|0)!=0):0){k[m>>2]=2314;a=k[g>>2]|0;p=jQ()|0;aO(a,k[p>>2]|0);break}j[f>>1]=2;j[f+2>>1]=0;k[f+4>>2]=k[381];k[f+8>>2]=2;if(!(zO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=1;n=10;break}else{k[m>>2]=2058;a=k[g>>2]|0;p=jQ()|0;aO(a,k[p>>2]|0);break}}else n=10;while(0);if((n|0)==10?(k[e>>2]|0)==0:0){p=(k[h>>2]|0)+8|0;k[p>>2]=(k[p>>2]|0)+-1;do if(!(k[(k[h>>2]|0)+8>>2]|0)){j[f>>1]=2;j[f+2>>1]=0;k[f+8>>2]=0;k[f+4>>2]=0;if(!(zO(k[g>>2]|0,f)|0)){i[(k[h>>2]|0)+12>>0]=0;break}else{k[m>>2]=2058;n=k[g>>2]|0;p=jQ()|0;aO(n,k[p>>2]|0);i[(k[h>>2]|0)+12>>0]=0;i[(k[g>>2]|0)+16>>0]=0;break}}while(0);p=(k[h>>2]|0)+24|0;k[p>>2]=(k[p>>2]|0)+-1;if(!(k[(k[h>>2]|0)+24>>2]|0))AO(k[g>>2]|0)}MN();if(!(k[m>>2]|0))i[(k[g>>2]|0)+16>>0]=k[e>>2];k[d>>2]=k[m>>2];p=k[d>>2]|0;r=o;return p|0}function zO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+64|0;o=p+8|0;n=p;c=p+48|0;d=p+44|0;e=p+40|0;h=p+36|0;g=p+32|0;f=p+16|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[(k[d>>2]|0)+8>>2];do if(((m[(k[d>>2]|0)+18>>1]|0)&3|0)==1){if(l[(k[g>>2]|0)+13>>0]|0){k[h>>2]=0;break}j[f+2>>1]=0;k[f+4>>2]=(k[381]|0)+2;k[f+8>>2]=510;j[f>>1]=1;b=k[1838]|0;o=k[(k[d>>2]|0)+12>>2]|0;k[n>>2]=f;o=Yb[b&255](o,13,n)|0;k[h>>2]=o;if((k[h>>2]|0)>=0){i[(k[g>>2]|0)+13>>0]=1;o=(k[g>>2]|0)+24|0;k[o>>2]=(k[o>>2]|0)+1;break}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}else{b=k[1838]|0;n=k[(k[d>>2]|0)+12>>2]|0;k[o>>2]=k[e>>2];o=Yb[b&255](n,13,o)|0;k[h>>2]=o}while(0);k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}function AO(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[c>>2]=k[(k[d>>2]|0)+28>>2];while(1){if(!(k[c>>2]|0))break;k[e>>2]=k[(k[c>>2]|0)+8>>2];ON(k[b>>2]|0,k[k[c>>2]>>2]|0,28716);Ud(k[c>>2]|0);k[c>>2]=k[e>>2]}k[(k[d>>2]|0)+28>>2]=0;r=f;return}function BO(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;c=b+8|0;d=b+4|0;e=b;k[c>>2]=a;k[d>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[(k[c>>2]|0)+28>>2];k[(k[e>>2]|0)+8>>2]=k[(k[d>>2]|0)+28>>2];k[(k[d>>2]|0)+28>>2]=k[e>>2];k[(k[c>>2]|0)+12>>2]=-1;k[(k[c>>2]|0)+28>>2]=0;r=b;return}function CO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[c>>2]|0)+16>>2]|0){r=d;return}AO(k[b>>2]|0);b=k[(k[c>>2]|0)+32>>2]|0;if(k[(k[c>>2]|0)+36>>2]|0)k[(k[(k[c>>2]|0)+36>>2]|0)+32>>2]=b;else k[1945]=b;if(k[(k[c>>2]|0)+32>>2]|0)k[(k[(k[c>>2]|0)+32>>2]|0)+36>>2]=k[(k[c>>2]|0)+36>>2];Ud(k[c>>2]|0);r=d;return}function DO(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 7704}function EO(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){c=b;k[c>>2]=0;k[c+4>>2]=0;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=oe(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;c=b;k[c>>2]=a;k[c+4>>2]=L;c=b;a=c;a=k[a>>2]|0;c=c+4|0;c=k[c>>2]|0;L=c;r=d;return a|0}return 0}function FO(a){a=a|0;var b=0,c=0,d=0,e=0.0,f=0;d=r;r=r+16|0;b=d;c=d+8|0;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){p[b>>3]=0.0;e=+p[b>>3];r=d;return +e}else{f=(k[c>>2]|0)+4|0;a=k[f>>2]|0;k[f>>2]=a+1;e=+me(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);p[b>>3]=e;e=+p[b>>3];r=d;return +e}return 0.0}function GO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;k[d>>2]=a;k[e>>2]=b;if((k[k[e>>2]>>2]|0)<=0){i[c>>0]=48;a=i[c>>0]|0;r=h;return a|0}else{a=k[e>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;k[g>>2]=~~+p[k[d>>2]>>3];p[f>>3]=+(k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+48;p[k[d>>2]>>3]=(+p[k[d>>2]>>3]-+p[f>>3])*10.0;i[c>>0]=k[g>>2];a=i[c>>0]|0;r=h;return a|0}return 0}function HO(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[k[c>>2]>>2]|0)<=(k[(k[c>>2]|0)+4>>2]|0)){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{e=(k[c>>2]|0)+4|0;a=k[e>>2]|0;k[e>>2]=a+1;a=ke(k[(k[(k[c>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function IO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=k[e>>2]|0;a=zR(k[(k[d>>2]|0)+12>>2]|0,0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;if((c|0)>0|((c|0)==0?a>>>0>=(k[(k[d>>2]|0)+16>>2]|0)>>>0:0)?(a=tA(k[d>>2]|0,k[e>>2]|0)|0,k[e>>2]=a,(a|0)<=0):0){r=g;return}while(1){a=k[e>>2]|0;k[e>>2]=a+-1;if((a|0)<=0)break;c=i[f>>0]|0;b=(k[d>>2]|0)+12|0;a=k[b>>2]|0;k[b>>2]=a+1;i[(k[(k[d>>2]|0)+8>>2]|0)+a>>0]=c}r=g;return}function JO(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=288;d=k[a+4>>2]|0;if((d|0)<0|(d|0)==0&(k[a>>2]|0)>>>0<=0){r=c;return}Pd(k[b>>2]|0)|0;r=c;return}function KO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[h>>2]=a;k[c>>2]=b;b=bc[k[64>>2]&255](k[h>>2]|0)|0;k[d>>2]=b;Zi(5,k[h>>2]|0);b=288;a=k[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){b=ig(0)|0;a=e;k[a>>2]=b;k[a+4>>2]=L;a=e;b=k[a>>2]|0;a=k[a+4>>2]|0;e=288;h=k[d>>2]|0;h=yR(k[e>>2]|0,k[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;e=L;if((a|0)>(e|0)|(a|0)==(e|0)&b>>>0>=h>>>0){k[77]=1;JO(k[d>>2]|0);break}else{k[77]=0;break}}while(0);h=bc[k[48>>2]&255](k[d>>2]|0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}b=kg(k[f>>2]|0)|0;k[d>>2]=b;_i(0,k[d>>2]|0);_i(9,1);b=k[f>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[d>>2]|0;r=g;return h|0}function LO(){NO(9608,3);return}function MO(){NO(9384,8);return}function NO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;h=j+12|0;i=j+8|0;g=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[d>>2]|0))break;k[i>>2]=k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+20>>2];b=Tf(k[i>>2]|0)|0;k[g>>2]=b;k[e>>2]=((l[18221+(l[k[i>>2]>>0]|0)>>0]|0)+(k[g>>2]|0)|0)%23|0;b=mu(k[e>>2]|0,k[i>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=k[(k[h>>2]|0)+8>>2];k[(k[h>>2]|0)+8>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}else{k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+8>>2]=0;k[(k[c>>2]|0)+((k[f>>2]|0)*28|0)+24>>2]=k[1080+(k[e>>2]<<2)>>2];k[1080+(k[e>>2]<<2)>>2]=(k[c>>2]|0)+((k[f>>2]|0)*28|0)}k[f>>2]=(k[f>>2]|0)+1}r=j;return}function OO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=ke(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!a){r=f;return}g=k[d>>2]|0;ue(g,Id(k[e>>2]|0)|0);r=f;return}function PO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+12|0;g=d+4|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[g>>2]=c;a=ne(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;xe(a,Kd(k[e>>2]|0)|0,-1,0);r=d;return}function QO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;xe(a,tf()|0,-1,0);r=d;return}function RO(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;d=v+52|0;e=v+48|0;f=v+44|0;u=v+40|0;t=v+36|0;q=v+32|0;j=v+28|0;m=v+24|0;g=v+20|0;h=v+16|0;p=v+12|0;s=v+8|0;n=v+4|0;o=v;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=0;k[h>>2]=0;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=v;return}a=ke(k[k[f>>2]>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=v;return}a=le(k[k[f>>2]>>2]|0)|0;k[q>>2]=a;a:do if((k[e>>2]|0)!=1){a=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[t>>2]=a;if(!a){r=v;return}k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break;a=k[s>>2]|0;k[s>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break b;k[s>>2]=(k[s>>2]|0)+1}while(0);k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)>0){c=k[d>>2]|0;a=k[p>>2]|0;a=KR(a|0,((a|0)<0)<<31>>31|0,5,0)|0;a=yP(c,a,L)|0;k[h>>2]=a;if(!(k[h>>2]|0)){r=v;return}k[g>>2]=(k[h>>2]|0)+(k[p>>2]<<2);k[s>>2]=k[t>>2];k[p>>2]=0;while(1){if(!(i[k[s>>2]>>0]|0))break a;k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]=k[s>>2];a=k[s>>2]|0;k[s>>2]=a+1;c:do if((l[a>>0]|0)>=192)while(1){if((l[k[s>>2]>>0]&192|0)!=128)break c;k[s>>2]=(k[s>>2]|0)+1}while(0);i[(k[g>>2]|0)+(k[p>>2]|0)>>0]=(k[s>>2]|0)-(k[(k[h>>2]|0)+(k[p>>2]<<2)>>2]|0);k[p>>2]=(k[p>>2]|0)+1}}}else{k[p>>2]=1;k[g>>2]=46313;k[h>>2]=9380;k[t>>2]=0}while(0);if((k[p>>2]|0)>0){s=Fe(k[d>>2]|0)|0;k[j>>2]=s;d:do if((k[j>>2]&1|0)!=0&(k[q>>2]|0)>0)do{k[n>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[n>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[n>>2]|0)<=(k[q>>2]|0)?(OQ(k[u>>2]|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[n>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break d;k[u>>2]=(k[u>>2]|0)+(k[n>>2]|0);k[q>>2]=(k[q>>2]|0)-(k[n>>2]|0)}while((k[q>>2]|0)>0);while(0);e:do if((k[j>>2]&2|0)!=0&(k[q>>2]|0)>0)do{k[o>>2]=0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[p>>2]|0))break;k[o>>2]=l[(k[g>>2]|0)+(k[m>>2]|0)>>0];if((k[o>>2]|0)<=(k[q>>2]|0)?(OQ((k[u>>2]|0)+((k[q>>2]|0)-(k[o>>2]|0))|0,k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0,k[o>>2]|0)|0)==0:0)break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)>=(k[p>>2]|0))break e;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}while((k[q>>2]|0)>0);while(0);if(k[t>>2]|0)Ud(k[h>>2]|0)}xe(k[d>>2]|0,k[u>>2]|0,k[q>>2]|0,-1);r=v;return}function SO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(Fe(k[d>>2]|0)|0)==0;k[i>>2]=a?0:-1;a=zP(k[d>>2]|0)|0;k[j>>2]=a;k[h>>2]=0;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=m;return}k[g>>2]=1;while(1){if((k[g>>2]|0)>=(k[e>>2]|0))break;if((pe(k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0)|0)==5){l=9;break}a=sI(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0,k[(k[f>>2]|0)+(k[g>>2]<<2)>>2]|0,k[j>>2]|0)|0;if((a^k[i>>2]|0)>=0)k[h>>2]=k[g>>2];k[g>>2]=(k[g>>2]|0)+1}if((l|0)==9){r=m;return}ze(k[d>>2]|0,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0);r=m;return}function TO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0;m=r;r=r+32|0;e=m+28|0;d=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;f=m+4|0;l=m;k[e>>2]=a;k[m+24>>2]=b;k[d>>2]=c;k[h>>2]=k[k[d>>2]>>2];a=He(k[e>>2]|0,40)|0;k[i>>2]=a;if(!(k[i>>2]|0)){r=m;return}a=(pe(k[k[d>>2]>>2]|0)|0)==5;d=(j[(k[i>>2]|0)+8>>1]|0)!=0;if(a){if(!d){r=m;return}AP(k[e>>2]|0);r=m;return}b=k[e>>2]|0;if(!d){l=Ge(b)|0;k[(k[i>>2]|0)+32>>2]=l;sh(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}a=zP(b)|0;k[l>>2]=a;a=(Fe(k[e>>2]|0)|0)!=0&1;k[g>>2]=a;l=sI(k[i>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[f>>2]=l;if(!((k[g>>2]|0)!=0&(k[f>>2]|0)<0)?!((k[g>>2]|0)==0&(k[f>>2]|0)>0):0){AP(k[e>>2]|0);r=m;return}sh(k[i>>2]|0,k[h>>2]|0)|0;r=m;return}function UO(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if(j[(k[c>>2]|0)+8>>1]|0)ze(k[b>>2]|0,k[c>>2]|0);eh(k[c>>2]|0);r=d;return}function VO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;k[e>>2]=0;switch(pe(k[k[g>>2]>>2]|0)|0){case 1:{k[e>>2]=40168;break}case 3:{k[e>>2]=46303;break}case 2:{k[e>>2]=40163;break}case 4:{k[e>>2]=46308;break}default:k[e>>2]=40176}xe(k[d>>2]|0,k[e>>2]|0,-1,0);r=f;return}function WO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[h+12>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 2:case 1:case 4:{ue(k[d>>2]|0,le(k[k[e>>2]>>2]|0)|0);r=h;return}case 3:{a=ke(k[k[e>>2]>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}k[f>>2]=0;a:while(1){if(!(i[k[g>>2]>>0]|0))break;k[f>>2]=(k[f>>2]|0)+1;a=k[g>>2]|0;k[g>>2]=a+1;if((l[a>>0]|0)<192)continue;while(1){if((l[k[g>>2]>>0]&192|0)!=128)continue a;k[g>>2]=(k[g>>2]|0)+1}}ue(k[d>>2]|0,k[f>>2]|0);r=h;return}default:{we(k[d>>2]|0);r=h;return}}}function XO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+40|0;e=p+32|0;n=p+28|0;o=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;m=p+8|0;f=p+4|0;g=p;k[d>>2]=a;k[p+36>>2]=b;k[e>>2]=c;k[f>>2]=1;a=pe(k[k[e>>2]>>2]|0)|0;k[j>>2]=a;a=pe(k[(k[e>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if((k[j>>2]|0)==5|(k[m>>2]|0)==5){r=p;return}b=le(k[k[e>>2]>>2]|0)|0;k[h>>2]=b;b=le(k[(k[e>>2]|0)+4>>2]|0)|0;k[i>>2]=b;b=k[k[e>>2]>>2]|0;if((k[j>>2]|0)==4&(k[m>>2]|0)==4){m=je(b)|0;k[n>>2]=m;m=je(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=0}else{m=ke(b)|0;k[n>>2]=m;m=ke(k[(k[e>>2]|0)+4>>2]|0)|0;k[o>>2]=m;k[g>>2]=1}a:while(1){if((k[i>>2]|0)>(k[h>>2]|0))break;if(!(OQ(k[n>>2]|0,k[o>>2]|0,k[i>>2]|0)|0))break;k[f>>2]=(k[f>>2]|0)+1;while(1){k[h>>2]=(k[h>>2]|0)+-1;k[n>>2]=(k[n>>2]|0)+1;if(!(k[g>>2]|0))continue a;if(((l[k[n>>2]>>0]|0)&192|0)!=128)continue a}}if((k[i>>2]|0)>(k[h>>2]|0))k[f>>2]=0;ue(k[d>>2]|0,k[f>>2]|0);r=p;return}function YO(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,l=0,m=0,n=0,o=0;o=r;r=r+80|0;l=o;d=o+64|0;e=o+60|0;f=o+56|0;m=o+44|0;j=o+16|0;n=o+12|0;h=o+8|0;g=o+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=Ge(k[d>>2]|0)|0;k[g>>2]=a;if((k[e>>2]|0)<1){r=o;return}a=ke(k[k[f>>2]>>2]|0)|0;k[n>>2]=a;if(!a){r=o;return}k[m>>2]=(k[e>>2]|0)-1;k[m+4>>2]=0;k[m+8>>2]=(k[f>>2]|0)+4;ng(j,k[g>>2]|0,0,0,k[(k[g>>2]|0)+92>>2]|0);i[j+25>>0]=2;n=k[n>>2]|0;k[l>>2]=m;pA(j,n,l);k[h>>2]=k[j+12>>2];m=k[d>>2]|0;n=pg(j)|0;xe(m,n,k[h>>2]|0,170);r=o;return}function ZO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f+4|0;e=f;k[d>>2]=a;k[f+8>>2]=b;k[g>>2]=c;a=ke(k[k[g>>2]>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}if(!(l[k[e>>2]>>0]|0)){r=f;return}g=k[d>>2]|0;ue(g,zC(e)|0);r=f;return}function _O(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,l=0,m=0,n=0,o=0;n=r;r=r+48|0;d=n+32|0;e=n+28|0;f=n+24|0;l=n+20|0;m=n+16|0;h=n+12|0;j=n;g=n+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=(k[e>>2]<<2)+1|0;a=Td(a,((a|0)<0)<<31>>31)|0;k[l>>2]=a;k[m>>2]=a;if(!(k[l>>2]|0)){De(k[d>>2]|0);r=n;return}k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;o=oe(k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;a=L;c=j;k[c>>2]=o;k[c+4>>2]=a;c=j;b=k[c+4>>2]|0;c=(k[j+4>>2]|0)<0|((b|0)>0|(b|0)==0&(k[c>>2]|0)>>>0>1114111);b=j;k[b>>2]=c?65533:o;k[b+4>>2]=c?0:a;k[g>>2]=k[j>>2]&2097151;b=k[g>>2]|0;do if((k[g>>2]|0)>>>0>=128){c=k[g>>2]|0;if(b>>>0<2048){a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=192+(c>>>6&31);a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}b=k[g>>2]|0;if(c>>>0<65536){o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=224+(b>>>12&15);o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}else{a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=240+(b>>>18&7);a=128+((k[g>>2]|0)>>>12&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;o=128+((k[g>>2]|0)>>>6&63)&255;a=k[m>>2]|0;k[m>>2]=a+1;i[a>>0]=o;a=128+(k[g>>2]&63)&255;o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=a;break}}else{o=k[m>>2]|0;k[m>>2]=o+1;i[o>>0]=b}while(0);k[h>>2]=(k[h>>2]|0)+1}o=(k[m>>2]|0)-(k[l>>2]|0)|0;ye(k[d>>2]|0,k[l>>2]|0,o,((o|0)<0)<<31>>31,148,1);r=n;return}function $O(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=r;r=r+32|0;d=h+24|0;e=h+16|0;f=h+8|0;g=h;k[d>>2]=a;k[h+20>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 1:{a=oe(k[k[e>>2]>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;do if((k[f+4>>2]|0)<0){g=f;if(!((k[g>>2]|0)==0?(k[g+4>>2]|0)==-2147483648:0)){a=f;a=yR(0,0,k[a>>2]|0,k[a+4>>2]|0)|0;g=f;k[g>>2]=a;k[g+4>>2]=L;break}te(k[d>>2]|0,46258,-1);r=h;return}while(0);g=f;ve(k[d>>2]|0,k[g>>2]|0,k[g+4>>2]|0);r=h;return}case 5:{we(k[d>>2]|0);r=h;return}default:{i=+me(k[k[e>>2]>>2]|0);p[g>>3]=i;if(+p[g>>3]<0.0)p[g>>3]=-+p[g>>3];se(k[d>>2]|0,+p[g>>3]);r=h;return}}}function aP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0.0;j=r;r=r+48|0;h=j+8|0;d=j+40|0;l=j+36|0;e=j+32|0;f=j+28|0;g=j;i=j+24|0;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[f>>2]=0;do if((k[l>>2]|0)==2)if(5==(pe(k[(k[e>>2]|0)+4>>2]|0)|0)){r=j;return}else{l=ne(k[(k[e>>2]|0)+4>>2]|0)|0;k[f>>2]=l;l=(k[f>>2]|0)>30?30:l;k[f>>2]=l;k[f>>2]=(k[f>>2]|0)<0?0:l;break}while(0);if((pe(k[k[e>>2]>>2]|0)|0)==5){r=j;return}m=+me(k[k[e>>2]>>2]|0);p[g>>3]=m;do if((k[f>>2]|0)==0&+p[g>>3]>=0.0&+p[g>>3]<9223372036854775808.0){m=+p[g>>3]+.5;m=+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0);p[g>>3]=m}else{if((k[f>>2]|0)==0&+p[g>>3]<0.0?-+p[g>>3]<9223372036854775808.0:0){m=-+p[g>>3]+.5;m=-(+(~~m>>>0>>>0)+4294967296.0*+((+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0));p[g>>3]=m;break}m=+p[g>>3];k[h>>2]=k[f>>2];p[h+8>>3]=m;l=Yd(46298,h)|0;k[i>>2]=l;if(k[i>>2]|0){l=k[i>>2]|0;_y(l,g,Tf(k[i>>2]|0)|0,1)|0;Ud(k[i>>2]|0);break}De(k[d>>2]|0);r=j;return}while(0);se(k[d>>2]|0,+p[g>>3]);r=j;return}function bP(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,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=ke(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=le(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=zR(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=yP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[(k[h>>2]|0)+(k[e>>2]|0)>>0]&~(l[19011+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]&32);k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function cP(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,m=0;j=r;r=r+32|0;d=j+24|0;m=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;k[d>>2]=a;k[j+20>>2]=b;k[m>>2]=c;a=ke(k[k[m>>2]>>2]|0)|0;k[h>>2]=a;a=le(k[k[m>>2]>>2]|0)|0;k[f>>2]=a;if(!(k[h>>2]|0)){r=j;return}a=k[d>>2]|0;m=k[f>>2]|0;m=zR(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=yP(a,m,L)|0;k[g>>2]=m;if(!(k[g>>2]|0)){r=j;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;i[(k[g>>2]|0)+(k[e>>2]|0)>>0]=i[18221+(l[(k[h>>2]|0)+(k[e>>2]|0)>>0]|0)>>0]|0;k[e>>2]=(k[e>>2]|0)+1}xe(k[d>>2]|0,k[g>>2]|0,k[f>>2]|0,148);r=j;return}function dP(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,m=0,n=0,o=0;n=r;r=r+48|0;d=n+28|0;o=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;j=n;e=n+32|0;k[d>>2]=a;k[n+24>>2]=b;k[o>>2]=c;c=je(k[k[o>>2]>>2]|0)|0;k[h>>2]=c;c=le(k[k[o>>2]>>2]|0)|0;k[g>>2]=c;c=k[d>>2]|0;a=k[g>>2]|0;a=KR(a|0,((a|0)<0)<<31>>31|0,2,0)|0;a=zR(a|0,L|0,1,0)|0;a=yP(c,a,L)|0;k[m>>2]=a;k[j>>2]=a;if(!(k[m>>2]|0)){r=n;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;i[e>>0]=i[k[h>>2]>>0]|0;o=i[46282+((l[e>>0]|0)>>4&15)>>0]|0;a=k[j>>2]|0;k[j>>2]=a+1;i[a>>0]=o;a=i[46282+((l[e>>0]|0)&15)>>0]|0;o=k[j>>2]|0;k[j>>2]=o+1;i[o>>0]=a;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}i[k[j>>2]>>0]=0;xe(k[d>>2]|0,k[m>>2]|0,k[g>>2]<<1,148);r=n;return}function eP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+32|0;d=f+16|0;e=f;k[d>>2]=a;k[f+12>>2]=b;k[f+8>>2]=c;ae(8,e);if((k[e+4>>2]|0)<0){c=e;c=yR(0,0,k[c>>2]|0,k[c+4>>2]&2147483647|0)|0;a=e;k[a>>2]=c;k[a+4>>2]=L}ve(k[d>>2]|0,k[e>>2]|0,k[e+4>>2]|0);r=f;return}function fP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[g+12>>2]=b;k[h>>2]=c;a=ne(k[k[h>>2]>>2]|0)|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)<1?1:a;a=k[e>>2]|0;a=yP(k[d>>2]|0,a,((a|0)<0)<<31>>31)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=g;return}ae(k[e>>2]|0,k[f>>2]|0);qe(k[d>>2]|0,k[f>>2]|0,k[e>>2]|0,148);r=g;return}function gP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;e=f+4|0;g=f;k[d>>2]=a;k[f+8>>2]=b;k[e>>2]=c;a=zP(k[d>>2]|0)|0;k[g>>2]=a;if(!(sI(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0)){r=f;return}ze(k[d>>2]|0,k[k[e>>2]>>2]|0);r=f;return}function hP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;a=k[e>>2]|0;xe(a,uf()|0,-1,0);r=d;return}function iP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;e=d;f=d+4|0;k[d+12>>2]=a;k[d+8>>2]=b;k[f>>2]=c;a=ne(k[k[f>>2]>>2]|0)|0;c=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[e>>2]=c;$d(a,18999,e);r=d;return}function jP(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,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=r;r=r+144|0;s=y+32|0;q=y+24|0;d=y+80|0;e=y+72|0;n=y+16|0;o=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;m=y+60|0;f=y+56|0;g=y+52|0;h=y+48|0;j=y;u=y+44|0;t=y+40|0;k[d>>2]=a;k[y+76>>2]=b;k[e>>2]=c;switch(pe(k[k[e>>2]>>2]|0)|0){case 2:{z=+me(k[k[e>>2]>>2]|0);p[n>>3]=z;p[q>>3]=+p[n>>3];_d(50,w,28867,q)|0;_y(w,o,20,1)|0;if(+p[n>>3]!=+p[o>>3]){p[s>>3]=+p[n>>3];_d(50,w,46275,s)|0}xe(k[d>>2]|0,w,-1,-1);r=y;return}case 1:{ze(k[d>>2]|0,k[k[e>>2]>>2]|0);r=y;return}case 4:{k[x>>2]=0;u=je(k[k[e>>2]>>2]|0)|0;k[v>>2]=u;u=le(k[k[e>>2]>>2]|0)|0;k[m>>2]=u;u=k[d>>2]|0;w=k[m>>2]|0;w=yP(u,zR(KR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,L|0,4,0)|0,L)|0;k[x>>2]=w;if(!(k[x>>2]|0)){r=y;return}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;i[(k[x>>2]|0)+((k[f>>2]<<1)+2)>>0]=i[46282+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]>>4&15)>>0]|0;i[(k[x>>2]|0)+((k[f>>2]<<1)+3)>>0]=i[46282+(i[(k[v>>2]|0)+(k[f>>2]|0)>>0]&15)>>0]|0;k[f>>2]=(k[f>>2]|0)+1}i[(k[x>>2]|0)+((k[m>>2]<<1)+2)>>0]=39;i[(k[x>>2]|0)+((k[m>>2]<<1)+3)>>0]=0;i[k[x>>2]>>0]=88;i[(k[x>>2]|0)+1>>0]=39;xe(k[d>>2]|0,k[x>>2]|0,-1,-1);Ud(k[x>>2]|0);r=y;return}case 3:{x=ke(k[k[e>>2]>>2]|0)|0;k[u>>2]=x;if(!(k[u>>2]|0)){r=y;return}k[g>>2]=0;x=j;k[x>>2]=0;k[x+4>>2]=0;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){w=j;w=zR(k[w>>2]|0,k[w+4>>2]|0,1,0)|0;x=j;k[x>>2]=w;k[x+4>>2]=L}k[g>>2]=(k[g>>2]|0)+1}w=k[d>>2]|0;v=k[g>>2]|0;x=j;x=zR(v|0,((v|0)<0)<<31>>31|0,k[x>>2]|0,k[x+4>>2]|0)|0;x=zR(x|0,L|0,3,0)|0;x=yP(w,x,L)|0;k[t>>2]=x;if(!(k[t>>2]|0)){r=y;return}i[k[t>>2]>>0]=39;k[g>>2]=0;k[h>>2]=1;while(1){if(!(i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0))break;w=i[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0;x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=w;if((l[(k[u>>2]|0)+(k[g>>2]|0)>>0]|0)==39){x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39}k[g>>2]=(k[g>>2]|0)+1}x=k[h>>2]|0;k[h>>2]=x+1;i[(k[t>>2]|0)+x>>0]=39;i[(k[t>>2]|0)+(k[h>>2]|0)>>0]=0;xe(k[d>>2]|0,k[t>>2]|0,k[h>>2]|0,148);r=y;return}default:{xe(k[d>>2]|0,40149,4,0);r=y;return}}}function kP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;c=Ge(k[f>>2]|0)|0;k[e>>2]=c;c=k[f>>2]|0;a=zf(k[e>>2]|0)|0;ve(c,a,L);r=d;return}function lP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;ue(a,Af(k[e>>2]|0)|0);r=d;return}function mP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=r;r=r+16|0;f=d+12|0;e=d;k[f>>2]=a;k[d+8>>2]=b;k[d+4>>2]=c;a=Ge(k[f>>2]|0)|0;k[e>>2]=a;a=k[f>>2]|0;ue(a,Bf(k[e>>2]|0)|0);r=d;return}function nP(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;o=w+64|0;d=w+56|0;v=w+52|0;m=w+48|0;n=w+44|0;u=w+40|0;s=w+36|0;h=w+32|0;j=w+28|0;g=w;f=w+24|0;p=w+20|0;q=w+16|0;t=w+12|0;e=w+8|0;k[o>>2]=a;k[w+60>>2]=b;k[d>>2]=c;a=ke(k[k[d>>2]>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){r=w;return}a=le(k[k[d>>2]>>2]|0)|0;k[s>>2]=a;a=ke(k[(k[d>>2]|0)+4>>2]|0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){r=w;return}if(!(l[k[m>>2]>>0]|0)){ze(k[o>>2]|0,k[k[d>>2]>>2]|0);r=w;return}a=le(k[(k[d>>2]|0)+4>>2]|0)|0;k[h>>2]=a;a=ke(k[(k[d>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if(!(k[n>>2]|0)){r=w;return}c=le(k[(k[d>>2]|0)+8>>2]|0)|0;k[j>>2]=c;c=(k[s>>2]|0)+1|0;a=g;k[a>>2]=c;k[a+4>>2]=((c|0)<0)<<31>>31;a=g;a=yP(k[o>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[u>>2]=a;if(!(k[u>>2]|0)){r=w;return}k[f>>2]=(k[s>>2]|0)-(k[h>>2]|0);k[q>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>(k[f>>2]|0)){d=18;break}if((l[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0|0)==(l[k[m>>2]>>0]|0|0)?(OQ((k[v>>2]|0)+(k[p>>2]|0)|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0){d=Ge(k[o>>2]|0)|0;k[e>>2]=d;d=(k[j>>2]|0)-(k[h>>2]|0)|0;c=g;d=zR(k[c>>2]|0,k[c+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c=g;k[c>>2]=d;k[c+4>>2]=L;c=g;c=yR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;d=L;a=k[(k[e>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((d|0)>(b|0)|(d|0)==(b|0)&c>>>0>a>>>0){d=13;break}k[t>>2]=k[u>>2];a=k[g>>2]|0;a=Wd(k[u>>2]|0,a,((a|0)<0)<<31>>31)|0;k[u>>2]=a;if(!(k[u>>2]|0)){d=15;break}BR((k[u>>2]|0)+(k[q>>2]|0)|0,k[n>>2]|0,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+(k[j>>2]|0);k[p>>2]=(k[p>>2]|0)+((k[h>>2]|0)-1)}else{c=i[(k[v>>2]|0)+(k[p>>2]|0)>>0]|0;a=k[q>>2]|0;k[q>>2]=a+1;i[(k[u>>2]|0)+a>>0]=c}k[p>>2]=(k[p>>2]|0)+1}if((d|0)==13){Ce(k[o>>2]|0);Ud(k[u>>2]|0);r=w;return}else if((d|0)==15){De(k[o>>2]|0);Ud(k[t>>2]|0);r=w;return}else if((d|0)==18){BR((k[u>>2]|0)+(k[q>>2]|0)|0,(k[v>>2]|0)+(k[p>>2]|0)|0,(k[s>>2]|0)-(k[p>>2]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+((k[s>>2]|0)-(k[p>>2]|0));i[(k[u>>2]|0)+(k[q>>2]|0)>>0]=0;xe(k[o>>2]|0,k[u>>2]|0,k[q>>2]|0,148);r=w;return}}function oP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+32|0;d=f+20|0;h=f+12|0;g=f;e=f+8|0;k[d>>2]=a;k[f+16>>2]=b;k[h>>2]=c;h=oe(k[k[h>>2]>>2]|0)|0;c=L;b=g;k[b>>2]=h;k[b+4>>2]=c;b=(k[g+4>>2]|0)<0;a=g;k[a>>2]=b?0:h;k[a+4>>2]=b?0:c;a=g;a=Ae(k[d>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){r=f;return}Be(k[d>>2]|0,k[e>>2]|0);r=f;return}function pP(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,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;o=q+32|0;p=q+28|0;f=q+24|0;h=q+20|0;m=q+8|0;n=q;g=q+16|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;if((pe(k[(k[e>>2]|0)+4>>2]|0)|0)==5){r=q;return}if((k[d>>2]|0)==3?(pe(k[(k[e>>2]|0)+8>>2]|0)|0)==5:0){r=q;return}a=pe(k[k[e>>2]>>2]|0)|0;k[h>>2]=a;a=ne(k[(k[e>>2]|0)+4>>2]|0)|0;b=m;k[b>>2]=a;k[b+4>>2]=((a|0)<0)<<31>>31;b=k[k[e>>2]>>2]|0;a:do if((k[h>>2]|0)==4){a=le(b)|0;k[f>>2]=a;a=je(k[k[e>>2]>>2]|0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}}else{a=ke(b)|0;k[o>>2]=a;if(!(k[o>>2]|0)){r=q;return}k[f>>2]=0;if((k[m+4>>2]|0)<0){k[p>>2]=k[o>>2];while(1){if(!(i[k[p>>2]>>0]|0))break a;a=k[p>>2]|0;k[p>>2]=a+1;b:do if((l[a>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break b;k[p>>2]=(k[p>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}}}while(0);if((k[d>>2]|0)==3){d=ne(k[(k[e>>2]|0)+8>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31;if((k[n+4>>2]|0)<0){d=n;d=yR(0,0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;k[g>>2]=1}}else{d=(Ge(k[j>>2]|0)|0)+92|0;d=k[d>>2]|0;e=n;k[e>>2]=d;k[e+4>>2]=((d|0)<0)<<31>>31}do if((k[m+4>>2]|0)<0){d=k[f>>2]|0;e=m;d=zR(k[e>>2]|0,k[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;if((k[m+4>>2]|0)<0){c=m;d=n;c=zR(k[d>>2]|0,k[d+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;d=L;a=n;k[a>>2]=c;k[a+4>>2]=d;a=(k[n+4>>2]|0)<0;e=n;k[e>>2]=a?0:c;k[e+4>>2]=a?0:d;e=m;k[e>>2]=0;k[e+4>>2]=0}}else{e=m;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=m;d=zR(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=m;k[e>>2]=d;k[e+4>>2]=L;break}e=n;d=k[e+4>>2]|0;if((d|0)>0|(d|0)==0&(k[e>>2]|0)>>>0>0){d=n;d=zR(k[d>>2]|0,k[d+4>>2]|0,-1,-1)|0;e=n;k[e>>2]=d;k[e+4>>2]=L}}while(0);if((k[g>>2]|0)!=0?(e=n,g=m,e=yR(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0,g=m,k[g>>2]=e,k[g+4>>2]=L,(k[m+4>>2]|0)<0):0){e=m;g=n;e=zR(k[g>>2]|0,k[g+4>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;g=n;k[g>>2]=e;k[g+4>>2]=L;g=m;k[g>>2]=0;k[g+4>>2]=0}if((k[h>>2]|0)==4){e=m;h=n;h=zR(k[e>>2]|0,k[e+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;e=L;p=k[f>>2]|0;g=((p|0)<0)<<31>>31;if((e|0)>(g|0)|(e|0)==(g|0)&h>>>0>p>>>0){h=k[f>>2]|0;f=m;f=yR(h|0,((h|0)<0)<<31>>31|0,k[f>>2]|0,k[f+4>>2]|0)|0;h=L;g=n;k[g>>2]=f;k[g+4>>2]=h;g=(k[n+4>>2]|0)<0;p=n;k[p>>2]=g?0:f;k[p+4>>2]=g?0:h}p=n;re(k[j>>2]|0,(k[o>>2]|0)+(k[m>>2]|0)|0,k[p>>2]|0,k[p+4>>2]|0,-1);r=q;return}while(1){h=m;b=k[o>>2]|0;if(!((l[k[o>>2]>>0]|0)!=0?(k[h>>2]|0)!=0|(k[h+4>>2]|0)!=0:0))break;k[o>>2]=b+1;c:do if((l[b>>0]|0)>=192)while(1){if((l[k[o>>2]>>0]&192|0)!=128)break c;k[o>>2]=(k[o>>2]|0)+1}while(0);g=m;g=zR(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;h=m;k[h>>2]=g;k[h+4>>2]=L}k[p>>2]=b;while(1){m=n;if(!((l[k[p>>2]>>0]|0)!=0?(k[m>>2]|0)!=0|(k[m+4>>2]|0)!=0:0))break;m=k[p>>2]|0;k[p>>2]=m+1;d:do if((l[m>>0]|0)>=192)while(1){if((l[k[p>>2]>>0]&192|0)!=128)break d;k[p>>2]=(k[p>>2]|0)+1}while(0);h=n;h=zR(k[h>>2]|0,k[h+4>>2]|0,-1,-1)|0;m=n;k[m>>2]=h;k[m+4>>2]=L}p=(k[p>>2]|0)-(k[o>>2]|0)|0;ye(k[j>>2]|0,k[o>>2]|0,p,((p|0)<0)<<31>>31,-1,1);r=q;return}function qP(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,m=0.0;h=r;r=r+32|0;j=h+24|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;k[j>>2]=a;k[h+20>>2]=b;k[d>>2]=c;a=He(k[j>>2]|0,32)|0;k[e>>2]=a;a=bf(k[k[d>>2]>>2]|0)|0;k[f>>2]=a;if(!((k[e>>2]|0)!=0&(k[f>>2]|0)!=5)){r=h;return}j=(k[e>>2]|0)+16|0;a=j;a=zR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;k[j>>2]=a;k[j+4>>2]=L;d=k[k[d>>2]>>2]|0;if((k[f>>2]|0)!=1){m=+me(d);j=k[e>>2]|0;p[j>>3]=+p[j>>3]+m;i[(k[e>>2]|0)+25>>0]=1;r=h;return}j=oe(d)|0;f=g;k[f>>2]=j;k[f+4>>2]=L;f=g;j=k[e>>2]|0;p[j>>3]=+p[j>>3]+(+((k[f>>2]|0)>>>0)+4294967296.0*+(k[f+4>>2]|0));if(l[(k[e>>2]|0)+25>>0]|0|(l[(k[e>>2]|0)+24>>0]|0)){r=h;return}j=g;if(!(oI((k[e>>2]|0)+8|0,k[j>>2]|0,k[j+4>>2]|0)|0)){r=h;return}i[(k[e>>2]|0)+24>>0]=1;r=h;return}function rP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}if(i[(k[c>>2]|0)+24>>0]|0){te(k[b>>2]|0,46258,-1);r=d;return}b=k[b>>2]|0;a=k[c>>2]|0;if(i[(k[c>>2]|0)+25>>0]|0){se(b,+p[a>>3]);r=d;return}else{e=a+8|0;ve(b,k[e>>2]|0,k[e+4>>2]|0);r=d;return}}function sP(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=He(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){e=0.0;se(a,e);r=c;return}e=+p[k[b>>2]>>3];se(a,e);r=c;return}function tP(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}a=(k[c>>2]|0)+16|0;e=k[a+4>>2]|0;if(!((e|0)>0|(e|0)==0&(k[a>>2]|0)>>>0>0)){r=d;return}e=(k[c>>2]|0)+16|0;se(k[b>>2]|0,+p[k[c>>2]>>3]/(+((k[e>>2]|0)>>>0)+4294967296.0*+(k[e+4>>2]|0)));r=d;return}function uP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;k[h>>2]=a;k[g>>2]=b;k[d>>2]=c;a=He(k[h>>2]|0,8)|0;k[e>>2]=a;if(!(k[g>>2]|0)){if(!(k[e>>2]|0)){r=f;return}}else{h=5!=(pe(k[k[d>>2]>>2]|0)|0);if(!(h&(k[e>>2]|0)!=0)){r=f;return}}h=k[e>>2]|0;g=h;g=zR(k[g>>2]|0,k[g+4>>2]|0,1,0)|0;k[h>>2]=g;k[h+4>>2]=L;r=f;return}function vP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=He(k[d>>2]|0,0)|0;k[b>>2]=a;a=k[d>>2]|0;if(!(k[b>>2]|0)){b=0;d=0;ve(a,b,d);r=c;return}d=k[b>>2]|0;b=k[d>>2]|0;d=k[d+4>>2]|0;ve(a,b,d);r=c;return}function wP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+36|0;e=o+32|0;f=o+28|0;n=o+24|0;l=o+20|0;m=o+16|0;j=o+12|0;i=o+8|0;g=o+4|0;h=o;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((pe(k[k[f>>2]>>2]|0)|0)==5){r=o;return}a=He(k[d>>2]|0,28)|0;k[l>>2]=a;if(!(k[l>>2]|0)){r=o;return}a=Ge(k[d>>2]|0)|0;k[g>>2]=a;k[h>>2]=(k[(k[l>>2]|0)+20>>2]|0)==0&1;k[(k[l>>2]|0)+20>>2]=k[(k[g>>2]|0)+92>>2];if(!(k[h>>2]|0)){if((k[e>>2]|0)==2){h=ke(k[(k[f>>2]|0)+4>>2]|0)|0;k[m>>2]=h;h=le(k[(k[f>>2]|0)+4>>2]|0)|0;k[i>>2]=h}else{k[m>>2]=37919;k[i>>2]=1}if(k[i>>2]|0)qA(k[l>>2]|0,k[m>>2]|0,k[i>>2]|0)}m=ke(k[k[f>>2]>>2]|0)|0;k[n>>2]=m;m=le(k[k[f>>2]>>2]|0)|0;k[j>>2]=m;if(!(k[n>>2]|0)){r=o;return}qA(k[l>>2]|0,k[n>>2]|0,k[j>>2]|0);r=o;return}function xP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=He(k[b>>2]|0,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}if((l[(k[c>>2]|0)+24>>0]|0|0)==2){Ce(k[b>>2]|0);r=d;return}b=k[b>>2]|0;if((l[(k[c>>2]|0)+24>>0]|0|0)==1){De(b);r=d;return}else{xe(b,pg(k[c>>2]|0)|0,-1,148);r=d;return}}function yP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+16|0;e=g;f=g+12|0;i=g+8|0;k[d>>2]=a;h=e;k[h>>2]=b;k[h+4>>2]=c;c=Ge(k[d>>2]|0)|0;k[i>>2]=c;c=e;h=k[c+4>>2]|0;a=k[(k[i>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((h|0)>(b|0)|((h|0)==(b|0)?(k[c>>2]|0)>>>0>a>>>0:0)){Ce(k[d>>2]|0);k[f>>2]=0;i=k[f>>2]|0;r=g;return i|0}i=e;i=jg(k[i>>2]|0,k[i+4>>2]|0)|0;k[f>>2]=i;if(k[f>>2]|0){i=k[f>>2]|0;r=g;return i|0}De(k[d>>2]|0);i=k[f>>2]|0;r=g;return i|0}function zP(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(((k[(k[d>>2]|0)+16>>2]|0)-1|0)*20|0);r=c;return k[(k[b>>2]|0)+16>>2]|0}function AP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+24>>0]=1;r=b;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+64|0;d=f+56|0;h=f+52|0;g=f+48|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;if(JP(k[d>>2]|0,k[h>>2]|0,k[g>>2]|0,e)|0){r=f;return}KP(e);h=e;se(k[d>>2]|0,(+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0))/864.0e5);r=f;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(JP(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}MP(f);i=k[f+12>>2]|0;j=k[f+16>>2]|0;k[e>>2]=k[f+8>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,46599,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function DP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+176|0;e=h+48|0;d=h+68|0;j=h+64|0;i=h+60|0;f=h;g=h+72|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(JP(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}NP(f);i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+20>>2];k[e+4>>2]=i;k[e+8>>2]=j;_d(100,g,46584,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function EP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+192|0;e=h+48|0;d=h+80|0;j=h+76|0;i=h+72|0;f=h;g=h+84|0;k[d>>2]=a;k[j>>2]=b;k[i>>2]=c;if(JP(k[d>>2]|0,k[j>>2]|0,k[i>>2]|0,f)|0){r=h;return}LP(f);b=k[f+12>>2]|0;c=k[f+16>>2]|0;a=k[f+20>>2]|0;i=k[f+24>>2]|0;j=~~+p[f+32>>3];k[e>>2]=k[f+8>>2];k[e+4>>2]=b;k[e+8>>2]=c;k[e+12>>2]=a;k[e+16>>2]=i;k[e+20>>2]=j;_d(100,g,46554,e)|0;xe(k[d>>2]|0,g,-1,-1);r=h;return}function FP(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,l=0,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+336|0;z=I+192|0;y=I+184|0;x=I+176|0;w=I+168|0;v=I+160|0;u=I+152|0;t=I+144|0;B=I+136|0;A=I+128|0;s=I+120|0;q=I+112|0;j=I+232|0;d=I+228|0;e=I+224|0;D=I+64|0;g=I+56|0;l=I+220|0;m=I+216|0;F=I+212|0;f=I+208|0;H=I+204|0;G=I+236|0;o=I+48|0;n=I+200|0;E=I;C=I+196|0;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;if(!(k[d>>2]|0)){r=I;return}a=ke(k[k[e>>2]>>2]|0)|0;k[H>>2]=a;if(!(k[H>>2]|0)){r=I;return}if(JP(k[j>>2]|0,(k[d>>2]|0)-1|0,(k[e>>2]|0)+4|0,D)|0){r=I;return}a=Ge(k[j>>2]|0)|0;k[f>>2]=a;k[l>>2]=0;a=g;k[a>>2]=1;k[a+4>>2]=0;a:while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==37){switch(i[(k[H>>2]|0)+((k[l>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{c=g;c=zR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 37:case 119:break;case 102:{c=g;c=zR(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 106:{c=g;c=zR(k[c>>2]|0,k[c+4>>2]|0,3,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 89:{c=g;c=zR(k[c>>2]|0,k[c+4>>2]|0,8,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}case 74:case 115:{c=g;c=zR(k[c>>2]|0,k[c+4>>2]|0,50,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L;break}default:{h=44;break a}}k[l>>2]=(k[l>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1;c=g;c=zR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;a=g;k[a>>2]=c;k[a+4>>2]=L}if((h|0)==44){r=I;return}h=g;a=k[h+4>>2]|0;if(!(a>>>0<0|(a|0)==0&(k[h>>2]|0)>>>0<100)){a=g;b=k[a+4>>2]|0;h=k[(k[f>>2]|0)+92>>2]|0;c=((h|0)<0)<<31>>31;if(b>>>0>c>>>0|((b|0)==(c|0)?(k[a>>2]|0)>>>0>h>>>0:0)){Ce(k[j>>2]|0);r=I;return}h=k[g>>2]|0;h=Vw(k[f>>2]|0,h,((h|0)<0)<<31>>31)|0;k[F>>2]=h;if(!(k[F>>2]|0)){De(k[j>>2]|0);r=I;return}}else k[F>>2]=G;KP(D);LP(D);k[m>>2]=0;k[l>>2]=0;while(1){if(!(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0))break;d=k[l>>2]|0;b:do if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)!=37){g=i[(k[H>>2]|0)+d>>0]|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=g}else{k[l>>2]=d+1;do switch(i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0){case 100:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[q>>2]=k[D+16>>2];_d(3,h,46396,q)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 102:{p[o>>3]=+p[D+32>>3];if(+p[o>>3]>59.999)p[o>>3]=59.999;h=(k[F>>2]|0)+(k[m>>2]|0)|0;p[s>>3]=+p[o>>3];_d(7,h,46401,s)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 72:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[A>>2]=k[D+20>>2];_d(3,h,46396,A)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 106:case 87:{d=E;e=D;b=d+48|0;do{k[d>>2]=k[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(b|0));i[E+42>>0]=0;k[E+12>>2]=1;k[E+16>>2]=1;KP(E);g=D;h=E;h=IR(zR(yR(k[g>>2]|0,k[g+4>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0,L|0,432e5,0)|0,L|0,864e5,0)|0;k[n>>2]=h;if((i[(k[H>>2]|0)+(k[l>>2]|0)>>0]|0)==87){h=D;h=zR(k[h>>2]|0,k[h+4>>2]|0,432e5,0)|0;h=IR(h|0,L|0,864e5,0)|0;h=JR(h|0,L|0,7,0)|0;k[C>>2]=h;h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[B>>2]=((k[n>>2]|0)+7-(k[C>>2]|0)|0)/7|0;_d(3,h,46396,B)|0;k[m>>2]=(k[m>>2]|0)+2;break b}else{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[t>>2]=(k[n>>2]|0)+1;_d(4,h,46408,t)|0;k[m>>2]=(k[m>>2]|0)+3;break b}}case 74:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;g=D;p[u>>3]=(+((k[g>>2]|0)>>>0)+4294967296.0*+(k[g+4>>2]|0))/864.0e5;_d(20,h,43053,u)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 109:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[v>>2]=k[D+12>>2];_d(3,h,46396,v)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 77:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[w>>2]=k[D+24>>2];_d(3,h,46396,w)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 115:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;f=D;f=yR(IR(k[f>>2]|0,k[f+4>>2]|0,1e3,0)|0,L|0,413362496,49)|0;g=x;k[g>>2]=f;k[g+4>>2]=L;_d(30,h,28862,x)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}case 83:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[y>>2]=~~+p[D+32>>3];_d(3,h,46396,y)|0;k[m>>2]=(k[m>>2]|0)+2;break b}case 119:{g=D;g=JR(IR(zR(k[g>>2]|0,k[g+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=((g&255)<<24>>24)+48;break b}case 89:{h=(k[F>>2]|0)+(k[m>>2]|0)|0;k[z>>2]=k[D+8>>2];_d(5,h,46413,z)|0;h=Tf((k[F>>2]|0)+(k[m>>2]|0)|0)|0;k[m>>2]=(k[m>>2]|0)+h;break b}default:{h=k[m>>2]|0;k[m>>2]=h+1;i[(k[F>>2]|0)+h>>0]=37;break b}}while(0)}while(0);k[l>>2]=(k[l>>2]|0)+1}i[(k[F>>2]|0)+(k[m>>2]|0)>>0]=0;xe(k[j>>2]|0,k[F>>2]|0,-1,(k[F>>2]|0)==(G|0)?-1:170);r=I;return}function GP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;DP(k[e>>2]|0,0,0);r=d;return}function HP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;EP(k[e>>2]|0,0,0);r=d;return}function IP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d+8|0;k[e>>2]=a;k[d+4>>2]=b;k[d>>2]=c;CP(k[e>>2]|0,0,0);r=d;return}function JP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0.0;o=r;r=r+32|0;n=o+28|0;e=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[h>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if(!(k[f>>2]|0)){m=OP(k[e>>2]|0,k[h>>2]|0)|0;k[n>>2]=m;n=k[n>>2]|0;r=o;return n|0}d=pe(k[k[g>>2]>>2]|0)|0;k[j>>2]=d;b=k[k[g>>2]>>2]|0;do if((d|0)==2|(k[j>>2]|0)==1){p=+me(b)*864.0e5+.5;d=+W(p)>=1.0?(p>0.0?~~+ia(+V(p/4294967296.0),4294967295.0)>>>0:~~+ga((p-+(~~p>>>0))/4294967296.0)>>>0):0;j=k[h>>2]|0;k[j>>2]=~~p>>>0;k[j+4>>2]=d;i[(k[h>>2]|0)+42>>0]=1}else{j=ke(b)|0;k[m>>2]=j;if((k[m>>2]|0)!=0?(PP(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0)==0:0)break;k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}while(0);k[l>>2]=1;while(1){if((k[l>>2]|0)>=(k[f>>2]|0)){b=14;break}j=ke(k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)|0;k[m>>2]=j;if(!(k[m>>2]|0)){b=12;break}if(QP(k[e>>2]|0,k[m>>2]|0,k[h>>2]|0)|0){b=12;break}k[l>>2]=(k[l>>2]|0)+1}if((b|0)==12){k[n>>2]=1;n=k[n>>2]|0;r=o;return n|0}else if((b|0)==14){k[n>>2]=0;n=k[n>>2]|0;r=o;return n|0}return 0}function KP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0.0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;f=l+20|0;e=l+16|0;c=l+12|0;d=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+42>>0]|0){r=l;return}if(i[(k[b>>2]|0)+40>>0]|0){k[j>>2]=k[(k[b>>2]|0)+8>>2];k[f>>2]=k[(k[b>>2]|0)+12>>2];k[e>>2]=k[(k[b>>2]|0)+16>>2]}else{k[j>>2]=2e3;k[f>>2]=1;k[e>>2]=1}if((k[f>>2]|0)<=2){k[j>>2]=(k[j>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+12}k[c>>2]=(k[j>>2]|0)/100|0;k[d>>2]=2-(k[c>>2]|0)+((k[c>>2]|0)/4|0);k[g>>2]=(((k[j>>2]|0)+4716|0)*36525|0)/100|0;k[h>>2]=(((k[f>>2]|0)+1|0)*306001|0)/1e4|0;m=(+((k[g>>2]|0)+(k[h>>2]|0)+(k[e>>2]|0)+(k[d>>2]|0)|0)-1524.5)*864.0e5;j=+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0;a=k[b>>2]|0;k[a>>2]=~~m>>>0;k[a+4>>2]=j;i[(k[b>>2]|0)+42>>0]=1;if(!(i[(k[b>>2]|0)+41>>0]|0)){r=l;return}j=ha(k[(k[b>>2]|0)+20>>2]|0,36e5)|0;j=j+((k[(k[b>>2]|0)+24>>2]|0)*6e4|0)|0;m=+p[(k[b>>2]|0)+32>>3]*1.0e3;j=zR(j|0,((j|0)<0)<<31>>31|0,~~m>>>0|0,(+W(m)>=1.0?(m>0.0?~~+ia(+V(m/4294967296.0),4294967295.0)>>>0:~~+ga((m-+(~~m>>>0))/4294967296.0)>>>0):0)|0)|0;a=k[b>>2]|0;h=a;j=zR(k[h>>2]|0,k[h+4>>2]|0,j|0,L|0)|0;k[a>>2]=j;k[a+4>>2]=L;if(!(i[(k[b>>2]|0)+43>>0]|0)){r=l;return}j=(k[(k[b>>2]|0)+28>>2]|0)*6e4|0;a=k[b>>2]|0;h=a;j=yR(k[h>>2]|0,k[h+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k[a>>2]=j;k[a+4>>2]=L;i[(k[b>>2]|0)+40>>0]=0;i[(k[b>>2]|0)+41>>0]=0;i[(k[b>>2]|0)+43>>0]=0;r=l;return}function LP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;MP(k[c>>2]|0);NP(k[c>>2]|0);r=b;return}function MP(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;j=l+24|0;c=l+20|0;d=l+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[b>>2]=a;if(i[(k[b>>2]|0)+40>>0]|0){r=l;return}a=k[b>>2]|0;if(i[(k[b>>2]|0)+42>>0]|0){a=zR(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=IR(a|0,L|0,864e5,0)|0;k[j>>2]=a;k[c>>2]=~~((+(k[j>>2]|0)-1867216.25)/36524.25);k[c>>2]=(k[j>>2]|0)+1+(k[c>>2]|0)-((k[c>>2]|0)/4|0);k[d>>2]=(k[c>>2]|0)+1524;k[e>>2]=~~((+(k[d>>2]|0)-122.1)/365.25);k[f>>2]=((k[e>>2]&32767)*36525|0)/100|0;k[g>>2]=~~(+((k[d>>2]|0)-(k[f>>2]|0)|0)/30.6001);k[h>>2]=~~(+(k[g>>2]|0)*30.6001);k[(k[b>>2]|0)+16>>2]=(k[d>>2]|0)-(k[f>>2]|0)-(k[h>>2]|0);j=k[g>>2]|0;k[(k[b>>2]|0)+12>>2]=(k[g>>2]|0)<14?j-1|0:j-13|0;j=k[e>>2]|0;k[(k[b>>2]|0)+8>>2]=(k[(k[b>>2]|0)+12>>2]|0)>2?j-4716|0:j-4715|0}else{k[a+8>>2]=2e3;k[(k[b>>2]|0)+12>>2]=1;k[(k[b>>2]|0)+16>>2]=1}i[(k[b>>2]|0)+40>>0]=1;r=l;return}function NP(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(i[(k[b>>2]|0)+41>>0]|0){r=d;return}KP(k[b>>2]|0);a=k[b>>2]|0;a=zR(k[a>>2]|0,k[a+4>>2]|0,432e5,0)|0;a=JR(a|0,L|0,864e5,0)|0;k[c>>2]=a;p[(k[b>>2]|0)+32>>3]=+(k[c>>2]|0)/1.0e3;k[c>>2]=~~+p[(k[b>>2]|0)+32>>3];a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]-+(k[c>>2]|0);k[(k[b>>2]|0)+20>>2]=(k[c>>2]|0)/3600|0;k[c>>2]=(k[c>>2]|0)-((k[(k[b>>2]|0)+20>>2]|0)*3600|0);k[(k[b>>2]|0)+24>>2]=(k[c>>2]|0)/60|0;a=(k[b>>2]|0)+32|0;p[a>>3]=+p[a>>3]+ +((k[c>>2]|0)-((k[(k[b>>2]|0)+24>>2]|0)*60|0)|0);i[(k[b>>2]|0)+41>>0]=1;r=d;return}function OP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[f>>2]=a;k[d>>2]=b;a=YP(k[f>>2]|0)|0;b=k[d>>2]|0;k[b>>2]=a;k[b+4>>2]=L;b=k[d>>2]|0;a=k[b+4>>2]|0;if((a|0)>0|(a|0)==0&(k[b>>2]|0)>>>0>0){i[(k[d>>2]|0)+42>>0]=1;k[c>>2]=0;f=k[c>>2]|0;r=e;return f|0}else{k[c>>2]=1;f=k[c>>2]|0;r=e;return f|0}return 0}function PP(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,l=0.0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(XP(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(TP(k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}if(!(sg(k[f>>2]|0,46538)|0)){b=OP(k[e>>2]|0,k[g>>2]|0)|0;k[d>>2]=b;b=k[d>>2]|0;r=j;return b|0}b=k[f>>2]|0;if(_y(b,h,Tf(k[f>>2]|0)|0,1)|0){l=+p[h>>3]*864.0e5+.5;h=+W(l)>=1.0?(l>0.0?~~+ia(+V(l/4294967296.0),4294967295.0)>>>0:~~+ga((l-+(~~l>>>0))/4294967296.0)>>>0):0;b=k[g>>2]|0;k[b>>2]=~~l>>>0;k[b+4>>2]=h;i[(k[g>>2]|0)+42>>0]=1;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=1;b=k[d>>2]|0;r=j;return b|0}return 0}function QP(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,m=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=r;r=r+160|0;d=z+124|0;e=z+120|0;w=z+116|0;x=z+112|0;h=z+108|0;j=z+80|0;y=z+104|0;g=z+72|0;f=z+64|0;m=z+56|0;v=z+100|0;u=z+8|0;t=z;n=z+96|0;o=z+92|0;q=z+88|0;k[d>>2]=a;k[e>>2]=b;k[w>>2]=c;k[x>>2]=1;k[y>>2]=z+128;k[h>>2]=0;while(1){if((k[h>>2]|0)<29)a=(i[(k[e>>2]|0)+(k[h>>2]|0)>>0]|0)!=0;else a=0;c=k[h>>2]|0;if(!a)break;i[(k[y>>2]|0)+(k[h>>2]|0)>>0]=i[18221+(l[(k[e>>2]|0)+c>>0]|0)>>0]|0;k[h>>2]=(k[h>>2]|0)+1}i[(k[y>>2]|0)+c>>0]=0;switch(i[k[y>>2]>>0]|0){case 108:{if(RQ(k[y>>2]|0,46418)|0){y=k[x>>2]|0;r=z;return y|0}KP(k[w>>2]|0);v=RP(k[w>>2]|0,k[d>>2]|0,x)|0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;SP(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}case 117:{if((RQ(k[y>>2]|0,46428)|0)==0?(i[(k[w>>2]|0)+42>>0]|0)!=0:0){v=k[w>>2]|0;v=zR(k[v>>2]|0,k[v+4>>2]|0,43200,0)|0;v=IR(v|0,L|0,86400,0)|0;v=zR(v|0,L|0,1045635584,49096)|0;y=k[w>>2]|0;k[y>>2]=v;k[y+4>>2]=L;SP(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(RQ(k[y>>2]|0,46438)|0){y=k[x>>2]|0;r=z;return y|0}if(i[(k[w>>2]|0)+44>>0]|0){k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}KP(k[w>>2]|0);v=RP(k[w>>2]|0,k[d>>2]|0,x)|0;y=g;k[y>>2]=v;k[y+4>>2]=L;if(!(k[x>>2]|0)){u=g;y=k[w>>2]|0;v=y;u=yR(k[v>>2]|0,k[v+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[y>>2]=u;k[y+4>>2]=L;SP(k[w>>2]|0);y=g;u=k[y>>2]|0;y=k[y+4>>2]|0;v=RP(k[w>>2]|0,k[d>>2]|0,x)|0;v=yR(u|0,y|0,v|0,L|0)|0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L}i[(k[w>>2]|0)+44>>0]=1;y=k[x>>2]|0;r=z;return y|0}case 119:{if(VQ(k[y>>2]|0,46442,8)|0){y=k[x>>2]|0;r=z;return y|0}if(!(_y((k[y>>2]|0)+8|0,j,Tf((k[y>>2]|0)+8|0)|0,1)|0)){y=k[x>>2]|0;r=z;return y|0}y=~~+p[j>>3];k[h>>2]=y;if(!(((k[h>>2]|0)>=0?+(y|0)==+p[j>>3]:0)&+p[j>>3]<7.0)){y=k[x>>2]|0;r=z;return y|0}LP(k[w>>2]|0);i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;KP(k[w>>2]|0);t=k[w>>2]|0;t=JR(IR(zR(k[t>>2]|0,k[t+4>>2]|0,1296e5,0)|0,L|0,864e5,0)|0,L|0,7,0)|0;v=f;k[v>>2]=t;k[v+4>>2]=L;v=f;t=k[v+4>>2]|0;y=k[h>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(k[v>>2]|0)>>>0>y>>>0:0)){v=f;v=yR(k[v>>2]|0,k[v+4>>2]|0,7,0)|0;y=f;k[y>>2]=v;k[y+4>>2]=L}y=k[h>>2]|0;v=f;v=KR(yR(y|0,((y|0)<0)<<31>>31|0,k[v>>2]|0,k[v+4>>2]|0)|0,L|0,864e5,0)|0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,v|0,L|0)|0;k[y>>2]=v;k[y+4>>2]=L;SP(k[w>>2]|0);k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 115:{if(VQ(k[y>>2]|0,46451,9)|0){y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+9;MP(k[w>>2]|0);i[(k[w>>2]|0)+41>>0]=1;k[(k[w>>2]|0)+24>>2]=0;k[(k[w>>2]|0)+20>>2]=0;p[(k[w>>2]|0)+32>>3]=0.0;i[(k[w>>2]|0)+43>>0]=0;i[(k[w>>2]|0)+42>>0]=0;if(!(RQ(k[y>>2]|0,46461)|0)){k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(!(RQ(k[y>>2]|0,46467)|0)){MP(k[w>>2]|0);k[(k[w>>2]|0)+12>>2]=1;k[(k[w>>2]|0)+16>>2]=1;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}if(RQ(k[y>>2]|0,46472)|0){y=k[x>>2]|0;r=z;return y|0}k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{k[h>>2]=1;while(1){if(!(i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0))break;if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58)break;if(!((l[19011+(l[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;k[h>>2]=(k[h>>2]|0)+1}if(!(_y(k[y>>2]|0,j,k[h>>2]|0,1)|0)){k[x>>2]=1;y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+(k[h>>2]|0)>>0]|0)==58){k[v>>2]=k[y>>2];if(!(l[19011+(l[k[v>>2]>>0]|0)>>0]&4))k[v>>2]=(k[v>>2]|0)+1;c=u;a=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));if(TP(k[v>>2]|0,u)|0){y=k[x>>2]|0;r=z;return y|0}KP(u);v=u;v=yR(k[v>>2]|0,k[v+4>>2]|0,432e5,0)|0;s=u;k[s>>2]=v;k[s+4>>2]=L;s=u;s=IR(k[s>>2]|0,k[s+4>>2]|0,864e5,0)|0;v=t;k[v>>2]=s;k[v+4>>2]=L;t=KR(k[t>>2]|0,k[t+4>>2]|0,864e5,0)|0;v=u;t=yR(k[v>>2]|0,k[v+4>>2]|0,t|0,L|0)|0;v=u;k[v>>2]=t;k[v+4>>2]=L;if((i[k[y>>2]>>0]|0)==45){v=u;v=yR(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;y=u;k[y>>2]=v;k[y+4>>2]=L}KP(k[w>>2]|0);SP(k[w>>2]|0);v=u;y=k[w>>2]|0;w=y;w=zR(k[w>>2]|0,k[w+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[y>>2]=w;k[y+4>>2]=L;k[x>>2]=0;y=k[x>>2]|0;r=z;return y|0}k[y>>2]=(k[y>>2]|0)+(k[h>>2]|0);while(1){c=k[y>>2]|0;if(!(l[19011+(l[k[y>>2]>>0]|0)>>0]&1))break;k[y>>2]=c+1}v=Tf(c)|0;k[h>>2]=v;if((k[h>>2]|0)>10|(k[h>>2]|0)<3){y=k[x>>2]|0;r=z;return y|0}if((i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]|0)==115){i[(k[y>>2]|0)+((k[h>>2]|0)-1)>>0]=0;k[h>>2]=(k[h>>2]|0)+-1}KP(k[w>>2]|0);k[x>>2]=0;p[m>>3]=+p[j>>3]<0.0?-.5:.5;if((k[h>>2]|0)==3?(RQ(k[y>>2]|0,46472)|0)==0:0){A=+p[j>>3]*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L}else s=54;do if((s|0)==54){if((k[h>>2]|0)==4?(RQ(k[y>>2]|0,46476)|0)==0:0){A=+p[j>>3]*36.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(RQ(k[y>>2]|0,46481)|0)==0:0){A=+p[j>>3]*6.0e4+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==6?(RQ(k[y>>2]|0,46488)|0)==0:0){A=+p[j>>3]*1.0e3+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==5?(RQ(k[y>>2]|0,46461)|0)==0:0){LP(k[w>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)+~~+p[j>>3];y=k[(k[w>>2]|0)+12>>2]|0;k[n>>2]=(((k[(k[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[n>>2]|0);y=(k[w>>2]|0)+12|0;k[y>>2]=(k[y>>2]|0)-((k[n>>2]|0)*12|0);i[(k[w>>2]|0)+42>>0]=0;KP(k[w>>2]|0);k[o>>2]=~~+p[j>>3];if(!(+(k[o>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[o>>2]|0))*30.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}if((k[h>>2]|0)==4?(RQ(k[y>>2]|0,46467)|0)==0:0){k[q>>2]=~~+p[j>>3];LP(k[w>>2]|0);y=(k[w>>2]|0)+8|0;k[y>>2]=(k[y>>2]|0)+(k[q>>2]|0);i[(k[w>>2]|0)+42>>0]=0;KP(k[w>>2]|0);if(!(+(k[q>>2]|0)!=+p[j>>3]))break;A=(+p[j>>3]-+(k[q>>2]|0))*365.0*864.0e5+ +p[m>>3];v=+W(A)>=1.0?(A>0.0?~~+ia(+V(A/4294967296.0),4294967295.0)>>>0:~~+ga((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=k[w>>2]|0;u=y;v=zR(k[u>>2]|0,k[u+4>>2]|0,~~A>>>0|0,v|0)|0;k[y>>2]=v;k[y+4>>2]=L;break}k[x>>2]=1}while(0);SP(k[w>>2]|0);y=k[x>>2]|0;r=z;return y|0}default:{y=k[x>>2]|0;r=z;return y|0}}return 0}function RP(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,l=0,m=0,n=0,o=0;o=r;r=r+176|0;e=o+96|0;d=o+164|0;f=o+160|0;g=o+156|0;m=o+48|0;n=o;l=o+152|0;j=o+108|0;h=o+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;b=j;c=b+44|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));b=m;a=k[d>>2]|0;c=b+48|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));LP(m);if((k[m+8>>2]|0)>=1971?(k[m+8>>2]|0)<2038:0){k[h>>2]=~~(+p[m+32>>3]+.5);p[m+32>>3]=+(k[h>>2]|0)}else{k[m+8>>2]=2e3;k[m+12>>2]=1;k[m+16>>2]=1;k[m+20>>2]=0;k[m+24>>2]=0;p[m+32>>3]=0.0}k[m+28>>2]=0;i[m+42>>0]=0;KP(m);h=m;h=IR(k[h>>2]|0,k[h+4>>2]|0,1e3,0)|0;h=yR(h|0,L|0,413362496,49)|0;k[l>>2]=h;if(WP(l,j)|0){te(k[f>>2]|0,46515,-1);k[k[g>>2]>>2]=1;m=e;k[m>>2]=0;k[m+4>>2]=0;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}else{k[n+8>>2]=(k[j+20>>2]|0)+1900;k[n+12>>2]=(k[j+16>>2]|0)+1;k[n+16>>2]=k[j+12>>2];k[n+20>>2]=k[j+8>>2];k[n+24>>2]=k[j+4>>2];p[n+32>>3]=+(k[j>>2]|0);i[n+40>>0]=1;i[n+41>>0]=1;i[n+42>>0]=0;i[n+43>>0]=0;KP(n);k[k[g>>2]>>2]=0;l=n;n=m;n=yR(k[l>>2]|0,k[l+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;m=e;k[m>>2]=n;k[m+4>>2]=L;m=e;n=m;n=k[n>>2]|0;m=m+4|0;m=k[m>>2]|0;L=m;r=o;return n|0}return 0}function SP(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+40>>0]=0;i[(k[c>>2]|0)+41>>0]=0;i[(k[c>>2]|0)+43>>0]=0;r=b;return}function TP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,q=0;o=r;r=r+64|0;n=o+24|0;q=o+16|0;c=o+48|0;d=o+44|0;e=o+40|0;f=o+36|0;g=o+32|0;m=o+28|0;h=o+8|0;j=o;k[d>>2]=a;k[e>>2]=b;p[h>>3]=0.0;a=k[d>>2]|0;k[q>>2]=f;k[q+4>>2]=g;if((UP(a,46495,q)|0)!=2){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+5;if((i[k[d>>2]>>0]|0)==58){k[d>>2]=(k[d>>2]|0)+1;q=k[d>>2]|0;k[n>>2]=m;if((UP(q,46503,n)|0)!=1){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}k[d>>2]=(k[d>>2]|0)+2;if((i[k[d>>2]>>0]|0)==46?(l[19011+(l[(k[d>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){p[j>>3]=1.0;k[d>>2]=(k[d>>2]|0)+1;while(1){if(!(l[19011+(l[k[d>>2]>>0]|0)>>0]&4))break;p[h>>3]=+p[h>>3]*10.0+ +(i[k[d>>2]>>0]|0)-48.0;p[j>>3]=+p[j>>3]*10.0;k[d>>2]=(k[d>>2]|0)+1}p[h>>3]=+p[h>>3]/+p[j>>3]}}else k[m>>2]=0;i[(k[e>>2]|0)+42>>0]=0;i[(k[e>>2]|0)+41>>0]=1;k[(k[e>>2]|0)+20>>2]=k[f>>2];k[(k[e>>2]|0)+24>>2]=k[g>>2];p[(k[e>>2]|0)+32>>3]=+(k[m>>2]|0)+ +p[h>>3];if(VP(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=1;q=k[c>>2]|0;r=o;return q|0}else{i[(k[e>>2]|0)+43>>0]=(k[(k[e>>2]|0)+28>>2]|0)!=0?1:0;k[c>>2]=0;q=k[c>>2]|0;r=o;return q|0}return 0}function UP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+28|0;e=s+24|0;g=s+8|0;q=s+4|0;o=s+36|0;f=s+35|0;n=s+34|0;p=s;h=s+32|0;k[d>>2]=a;k[e>>2]=b;k[q>>2]=0;k[g>>2]=c;a:while(1){i[f>>0]=(i[k[e>>2]>>0]|0)-48;i[n>>0]=(i[(k[e>>2]|0)+1>>0]|0)-48;k[p>>2]=0;j[h>>1]=j[17030+((i[(k[e>>2]|0)+2>>0]|0)-97<<1)>>1]|0;i[o>>0]=i[(k[e>>2]|0)+3>>0]|0;k[p>>2]=0;while(1){b=i[f>>0]|0;i[f>>0]=b+-1<<24>>24;if(!(b<<24>>24))break;if(!(l[19011+(l[k[d>>2]>>0]|0)>>0]&4)){d=11;break a}k[p>>2]=((k[p>>2]|0)*10|0)+(i[k[d>>2]>>0]|0)-48;k[d>>2]=(k[d>>2]|0)+1}if((k[p>>2]|0)<(i[n>>0]|0)){d=11;break}if((k[p>>2]|0)>(m[h>>1]|0)){d=11;break}if((i[o>>0]|0)!=0?(i[o>>0]|0)!=(i[k[d>>2]>>0]|0):0){d=11;break}a=k[p>>2]|0;c=(k[g>>2]|0)+(4-1)&~(4-1);b=k[c>>2]|0;k[g>>2]=c+4;k[b>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+1;k[e>>2]=(k[e>>2]|0)+4;if(!(i[o>>0]|0)){d=11;break}}if((d|0)==11){r=s;return k[q>>2]|0}return 0}function VP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;o=r;r=r+48|0;m=o;c=o+32|0;d=o+28|0;e=o+24|0;j=o+20|0;g=o+16|0;h=o+12|0;f=o+8|0;k[d>>2]=a;k[e>>2]=b;k[j>>2]=0;while(1){if(!(l[19011+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}k[(k[e>>2]|0)+28>>2]=0;k[f>>2]=i[k[d>>2]>>0];do if((k[f>>2]|0)==45){k[j>>2]=-1;n=11}else{if((k[f>>2]|0)==43){k[j>>2]=1;n=11;break}if((k[f>>2]|0)==90|(k[f>>2]|0)==122){k[d>>2]=(k[d>>2]|0)+1;break}k[c>>2]=(k[f>>2]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}while(0);do if((n|0)==11){k[d>>2]=(k[d>>2]|0)+1;n=k[d>>2]|0;k[m>>2]=g;k[m+4>>2]=h;if((UP(n,46507,m)|0)==2){k[d>>2]=(k[d>>2]|0)+5;n=ha(k[j>>2]|0,(k[h>>2]|0)+((k[g>>2]|0)*60|0)|0)|0;k[(k[e>>2]|0)+28>>2]=n;break}k[c>>2]=1;n=k[c>>2]|0;r=o;return n|0}while(0);while(1){if(!(l[19011+(l[k[d>>2]>>0]|0)>>0]&1))break;k[d>>2]=(k[d>>2]|0)+1}i[(k[e>>2]|0)+44>>0]=1;k[c>>2]=(i[k[d>>2]>>0]|0)!=0&1;n=k[c>>2]|0;r=o;return n|0}function WP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=Tb(k[g>>2]|0)|0;k[d>>2]=a;k[d>>2]=(k[69]|0)!=0?0:a;if(k[d>>2]|0){c=k[c>>2]|0;b=k[d>>2]|0;a=c+44|0;do{k[c>>2]=k[b>>2];c=c+4|0;b=b+4|0}while((c|0)<(a|0))}k[e>>2]=(k[d>>2]|0)==0&1;r=f;return k[e>>2]|0}function XP(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+48|0;c=n;d=n+36|0;e=n+32|0;f=n+28|0;j=n+24|0;h=n+20|0;g=n+16|0;m=n+12|0;k[e>>2]=a;k[f>>2]=b;if((i[k[e>>2]>>0]|0)==45){k[e>>2]=(k[e>>2]|0)+1;k[m>>2]=1}else k[m>>2]=0;a=k[e>>2]|0;k[c>>2]=j;k[c+4>>2]=h;k[c+8>>2]=g;if((UP(a,46542,c)|0)!=3){k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}k[e>>2]=(k[e>>2]|0)+10;while(1){if(l[19011+(l[k[e>>2]>>0]|0)>>0]&1)c=1;else c=84==(l[k[e>>2]>>0]|0);b=k[e>>2]|0;if(!c)break;k[e>>2]=b+1}do if(TP(b,k[f>>2]|0)|0){if(!(i[k[e>>2]>>0]|0)){i[(k[f>>2]|0)+41>>0]=0;break}k[d>>2]=1;m=k[d>>2]|0;r=n;return m|0}while(0);i[(k[f>>2]|0)+42>>0]=0;i[(k[f>>2]|0)+40>>0]=1;j=k[j>>2]|0;k[(k[f>>2]|0)+8>>2]=(k[m>>2]|0)!=0?0-j|0:j;k[(k[f>>2]|0)+12>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[g>>2];if(i[(k[f>>2]|0)+43>>0]|0)KP(k[f>>2]|0);k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}function YP(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[c>>2]=(k[(k[b>>2]|0)+12>>2]|0)+136;a=k[c>>2]|0;if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0?(a=YH(k[k[(k[k[b>>2]>>2]|0)+32>>2]>>2]|0,k[c>>2]|0)|0,k[d>>2]=a,(k[d>>2]|0)!=0):0){d=k[c>>2]|0;k[d>>2]=0;k[d+4>>2]=0}d=k[c>>2]|0;L=k[d+4>>2]|0;r=e;return k[d>>2]|0}function ZP(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+64|0;j=q;d=q+60|0;s=q+52|0;n=q+48|0;o=q+44|0;h=q+40|0;g=q+32|0;l=q+28|0;f=q+24|0;m=q+20|0;e=q+16|0;k[d>>2]=a;k[q+56>>2]=b;k[s>>2]=c;a=ke(k[k[s>>2]>>2]|0)|0;k[n>>2]=a;a=ke(k[(k[s>>2]|0)+4>>2]|0)|0;k[o>>2]=a;k[l>>2]=k[n>>2];k[f>>2]=0;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[n>>2]|0)){r=q;return}do{if(!(i[k[l>>2]>>0]|0)){p=7;break}k[g>>2]=k[l>>2];k[g+4>>2]=k[f>>2];do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);s=ev(k[l>>2]|0,h)|0;k[f>>2]=s}while((k[h>>2]|0)==160)}while((k[h>>2]|0)!=22?(k[h>>2]|0)!=125:0);if((p|0)==7){r=q;return}s=k[e>>2]|0;l=k[n>>2]|0;o=k[o>>2]|0;p=(k[g>>2]|0)+(k[g+4>>2]|0)|0;k[j>>2]=(k[g>>2]|0)-(k[n>>2]|0);k[j+4>>2]=l;k[j+8>>2]=o;k[j+12>>2]=p;s=Nh(s,46688,j)|0;k[m>>2]=s;xe(k[d>>2]|0,k[m>>2]|0,-1,170);r=q;return}function _P(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+80|0;l=s;d=s+68|0;t=s+60|0;o=s+56|0;p=s+52|0;j=s+48|0;h=s+40|0;f=s+32|0;m=s+28|0;g=s+24|0;n=s+20|0;e=s+16|0;k[d>>2]=a;k[s+64>>2]=b;k[t>>2]=c;a=ke(k[k[t>>2]>>2]|0)|0;k[o>>2]=a;a=ke(k[(k[t>>2]|0)+4>>2]|0)|0;k[p>>2]=a;k[f>>2]=3;k[m>>2]=k[o>>2];k[g>>2]=0;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;if(!(k[o>>2]|0)){r=s;return}while(1){if(!(i[k[m>>2]>>0]|0)){q=8;break}k[h>>2]=k[m>>2];k[h+4>>2]=k[g>>2];do{k[m>>2]=(k[m>>2]|0)+(k[g>>2]|0);t=ev(k[m>>2]|0,j)|0;k[g>>2]=t}while((k[j>>2]|0)==160);t=(k[f>>2]|0)+1|0;k[f>>2]=t;k[f>>2]=(k[j>>2]|0)==122|(k[j>>2]|0)==107?0:t;if((k[f>>2]|0)!=2)continue;if(!((k[j>>2]|0)!=137&(k[j>>2]|0)!=46&(k[j>>2]|0)!=5))break}if((q|0)==8){r=s;return}t=k[e>>2]|0;m=k[o>>2]|0;p=k[p>>2]|0;q=(k[h>>2]|0)+(k[h+4>>2]|0)|0;k[l>>2]=(k[h>>2]|0)-(k[o>>2]|0);k[l+4>>2]=m;k[l+8>>2]=p;k[l+12>>2]=q;t=Nh(t,46688,l)|0;k[n>>2]=t;xe(k[d>>2]|0,k[n>>2]|0,-1,170);r=s;return}function $P(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;u=r;r=r+80|0;j=u+16|0;h=u;d=u+76|0;v=u+68|0;e=u+64|0;q=u+60|0;t=u+56|0;m=u+52|0;o=u+48|0;n=u+44|0;l=u+40|0;f=u+36|0;g=u+32|0;s=u+28|0;p=u+24|0;k[d>>2]=a;k[u+72>>2]=b;k[v>>2]=c;a=Ge(k[d>>2]|0)|0;k[e>>2]=a;k[q>>2]=0;a=ke(k[k[v>>2]>>2]|0)|0;k[m>>2]=a;a=ke(k[(k[v>>2]|0)+4>>2]|0)|0;k[o>>2]=a;a=ke(k[(k[v>>2]|0)+8>>2]|0)|0;k[n>>2]=a;if((k[m>>2]|0)==0|(k[o>>2]|0)==0){r=u;return}k[l>>2]=k[m>>2];while(1){if(!(i[k[l>>2]>>0]|0))break;v=ev(k[l>>2]|0,g)|0;k[f>>2]=v;if((k[g>>2]|0)==105){do{k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0);v=ev(k[l>>2]|0,g)|0;k[f>>2]=v}while((k[g>>2]|0)==160);if((k[g>>2]|0)==161)break;v=k[f>>2]|0;v=Yw(k[e>>2]|0,k[l>>2]|0,v,((v|0)<0)<<31>>31)|0;k[s>>2]=v;if(!(k[s>>2]|0))break;Zw(k[s>>2]|0)|0;if(!(sg(k[o>>2]|0,k[s>>2]|0)|0)){v=k[e>>2]|0;b=(k[l>>2]|0)-(k[m>>2]|0)|0;c=k[m>>2]|0;a=k[n>>2]|0;k[h>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:19010;k[h+4>>2]=b;k[h+8>>2]=c;k[h+12>>2]=a;v=Nh(v,46677,h)|0;k[p>>2]=v;bg(k[e>>2]|0,k[q>>2]|0);k[q>>2]=k[p>>2];k[m>>2]=(k[l>>2]|0)+(k[f>>2]|0)}bg(k[e>>2]|0,k[s>>2]|0)}k[l>>2]=(k[l>>2]|0)+(k[f>>2]|0)}v=k[e>>2]|0;s=k[m>>2]|0;k[j>>2]=(k[q>>2]|0)!=0?k[q>>2]|0:19010;k[j+4>>2]=s;v=Nh(v,25313,j)|0;k[t>>2]=v;xe(k[d>>2]|0,k[t>>2]|0,-1,170);bg(k[e>>2]|0,k[q>>2]|0);r=u;return}function aQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;a=pu(k[d>>2]|0,k[e>>2]|0)|0;b=k[(k[d>>2]|0)+456>>2]|0;k[b>>2]=(k[b>>2]|0)+a;r=c;return}function bQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}k[g>>2]=k[e>>2];while(1){if((k[g>>2]|0)>>>0>=((k[e>>2]|0)+((k[f>>2]|0)*20|0)|0)>>>0)break;if(i[(k[g>>2]|0)+1>>0]|0)GA(k[d>>2]|0,i[(k[g>>2]|0)+1>>0]|0,k[(k[g>>2]|0)+16>>2]|0);k[g>>2]=(k[g>>2]|0)+20}c=k[d>>2]|0;g=k[e>>2]|0;bg(c,g);r=h;return}function cQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;f=i+12|0;g=i+8|0;e=i+4|0;h=i;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[d>>2]|0)+16>>2];while(1){if(!(k[f>>2]|0))break;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0)){a=k[(k[f>>2]|0)+12>>2]|0;if(k[(k[f>>2]|0)+16>>2]|0)k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2]=a;else{k[e>>2]=a;a=k[f>>2]|0;if(k[e>>2]|0)a=k[(k[a+12>>2]|0)+8>>2]|0;else a=k[a+8>>2]|0;k[h>>2]=a;ak((k[(k[d>>2]|0)+64>>2]|0)+56|0,k[h>>2]|0,k[e>>2]|0)|0}if(k[(k[f>>2]|0)+12>>2]|0)k[(k[(k[f>>2]|0)+12>>2]|0)+16>>2]=k[(k[f>>2]|0)+16>>2]}aG(k[c>>2]|0,k[(k[f>>2]|0)+28>>2]|0);aG(k[c>>2]|0,k[(k[f>>2]|0)+28+4>>2]|0);k[g>>2]=k[(k[f>>2]|0)+4>>2];bg(k[c>>2]|0,k[f>>2]|0);k[f>>2]=k[g>>2]}r=i;return}function dQ(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function eQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function fQ(a){a=a|0;return (a+-97|0)>>>0<26|0}function gQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function hQ(a){a=a|0;var b=0;b=(gQ(a)|0)==0;return (b?a:a|32)|0}function iQ(a){a=a|0;var b=0;b=(fQ(a)|0)==0;return (b?a:a&95)|0}function jQ(){var a=0;if(!(k[2423]|0))a=9740;else{a=(zb()|0)+60|0;a=k[a>>2]|0}return a|0}function kQ(a){a=a|0;var b=0,c=0;b=0;while(1){if((l[46812+b>>0]|0)==(a|0)){c=2;break}b=b+1|0;if((b|0)==87){b=87;a=46900;c=5;break}}if((c|0)==2)if(!b)a=46900;else{a=46900;c=5}if((c|0)==5)while(1){c=a;while(1){a=c+1|0;if(!(i[c>>0]|0))break;else c=a}b=b+-1|0;if(!b)break;else c=5}return a|0}function lQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+192|0;h=s+152|0;g=s+136|0;q=s+120|0;p=s+104|0;o=s+96|0;l=s+80|0;j=s+64|0;e=s+48|0;m=s+32|0;f=s+16|0;d=s;t=s+176|0;i=s+168|0;k[t>>2]=c;c=(k[t>>2]|0)+(4-1)&~(4-1);n=k[c>>2]|0;k[t>>2]=c+4;n=(b|0)==4?n|32768:n;a:do switch(b|0){case 14:{k[d>>2]=a;k[d+4>>2]=14;k[d+8>>2]=n;c=oQ(vb(221,d|0)|0)|0;break}case 9:{k[f>>2]=a;k[f+4>>2]=16;k[f+8>>2]=i;c=vb(221,f|0)|0;switch(c|0){case -22:{k[m>>2]=a;k[m+4>>2]=9;k[m+8>>2]=n;c=vb(221,m|0)|0;break a}case 0:{c=k[i+4>>2]|0;c=(k[i>>2]|0)==2?0-c|0:c;break a}default:{c=oQ(c)|0;break a}}}case 1030:{k[e>>2]=a;k[e+4>>2]=1030;k[e+8>>2]=n;c=vb(221,e|0)|0;if((c|0)!=-22){if((c|0)>-1){k[j>>2]=c;k[j+4>>2]=2;k[j+8>>2]=1;vb(221,j|0)|0}c=oQ(c)|0;break a}k[l>>2]=a;k[l+4>>2]=1030;k[l+8>>2]=0;c=vb(221,l|0)|0;if((c|0)==-22){k[p>>2]=a;k[p+4>>2]=0;k[p+8>>2]=n;c=vb(221,p|0)|0;if((c|0)>-1){k[q>>2]=c;k[q+4>>2]=2;k[q+8>>2]=1;vb(221,q|0)|0}c=oQ(c)|0;break a}else{if((c|0)>-1){k[o>>2]=c;Lb(6,o|0)|0}c=oQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=n;c=oQ(vb(221,g|0)|0)|0;break a}else{k[h>>2]=a;k[h+4>>2]=b;k[h+8>>2]=n;c=oQ(vb(221,h|0)|0)|0;break a}}while(0);r=s;return c|0}function mQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d;f=d+16|0;k[f>>2]=c;g=(k[f>>2]|0)+(4-1)&~(4-1);c=k[g>>2]|0;k[f>>2]=g+4;k[e>>2]=a;k[e+4>>2]=b|32768;k[e+8>>2]=c;c=oQ(Mb(5,e|0)|0)|0;r=d;return c|0}function nQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=0;while(1){i[a+c>>0]=i[48704+c>>0]|0;if((c|0)==14)break;else c=c+1|0}if(!b){i[a+14>>0]=48;i[a+15>>0]=0}else{c=14;d=b;while(1){c=c+1|0;if(d>>>0<10)break;else d=(d>>>0)/10|0}i[a+c>>0]=0;while(1){c=c+-1|0;i[a+c>>0]=(b>>>0)%10|0|48;if(b>>>0<10)break;else b=(b>>>0)/10|0}}return}function oQ(a){a=a|0;var b=0;if(a>>>0>4294963200){b=jQ()|0;k[b>>2]=0-a;a=-1}return a|0}function pQ(a){a=+a;return +(+ea(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function qQ(a){a=+a;var b=0;p[t>>3]=a;b=AR(k[t>>2]|0,k[t+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+fa(+(a*2.0-1.0/(+X(+(a*a+-1.0))+a)));break}else{a=+fa(+a)+.6931471805599453;break}else{a=a+-1.0;a=+wQ(a+ +X(+(a*a+a*2.0)))}while(0);return +a}function rQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=AR(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+fa(+(a*2.0+1.0/(a+ +X(+(a*a+1.0)))));break}if(b>>>0>996){e=a*a;a=+wQ(a+e/(+X(+(e+1.0))+1.0))}}else a=+fa(+a)+.6931471805599453;while(0);return +((c|0)<0?-a:a)}function sQ(a){a=+a;var b=0,c=0,d=0,e=0.0;p[t>>3]=a;d=k[t>>2]|0;c=k[t+4>>2]|0;b=AR(d|0,c|0,52)|0;b=b&2047;k[t>>2]=d;k[t+4>>2]=c&2147483647;a=+p[t>>3];if(b>>>0<1022){if(b>>>0>=991){e=a*2.0;a=+wQ(e+a*e/(1.0-a))*.5}}else a=+wQ(a/(1.0-a)*2.0)*.5;return +((c|0)<0?-a:a)}function tQ(a){a=+a;var b=0;p[t>>3]=a;b=k[t+4>>2]&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+uQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+ea(+a);a=(a+1.0/a)*.5;break}else{a=+pQ(a);break}while(0);return +a}function uQ(a){a=+a;var b=0.0,c=0.0,d=0,e=0,f=0,g=0,h=0.0,i=0,j=0.0;p[t>>3]=a;d=k[t>>2]|0;e=k[t+4>>2]|0;f=e&2147483647;g=AR(d|0,e|0,63)|0;do if(f>>>0>1078159481){f=e&2147483647;if(!(f>>>0>2146435072|(f|0)==2146435072&d>>>0>0))if(!g)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else i=11;else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{h=0.0;f=0;i=14;break}if(f>>>0<1072734898)if(!g){b=a+-.6931471803691238;d=1;c=1.9082149292705877e-10;i=12;break}else{b=a+.6931471803691238;d=-1;c=-1.9082149292705877e-10;i=12;break}else i=11}while(0);if((i|0)==11){d=~~(a*1.4426950408889634+((g|0)!=0?-.5:.5));c=+(d|0);b=a-c*.6931471803691238;c=c*1.9082149292705877e-10;i=12}if((i|0)==12){h=b-c;a=h;h=b-h-c;f=d;i=14}a:do if((i|0)==14){c=a*.5;b=a*c;j=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;c=3.0-c*j;c=b*((j-c)/(6.0-a*c));if(!f){a=a-(a*c-b);break}b=a*(c-h)-h-b;switch(f|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{g=ER(f+1023|0,0,52)|0;i=L;k[t>>2]=g;k[t+4>>2]=i;c=+p[t>>3];if(f>>>0>56){a=a-b+1.0;a=((f|0)==1024?a*2.0*8988465674311579538646525.0e283:c*a)+-1.0;break a}d=ER(1023-f|0,0,52)|0;e=L;if((f|0)<20){k[t>>2]=d;k[t+4>>2]=e;a=1.0-+p[t>>3]+(a-b)}else{k[t>>2]=d;k[t+4>>2]=e;a=a-(+p[t>>3]+b)+1.0}a=c*a;break a}}}while(0);return +a}function vQ(a){a=+a;var b=0,c=0,d=0,e=0,f=0.0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;c=k[t>>2]|0;b=k[t+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[t>>3]=a*18014398509481984.0;b=k[t+4>>2]|0;d=k[t>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;k[t>>2]=d;k[t+4>>2]=(e&1048575)+1072079006;j=+p[t>>3]+-1.0;a=j*(j*.5);h=j/(j+2.0);i=h*h;g=i*i;p[t>>3]=j-a;d=k[t+4>>2]|0;k[t>>2]=0;k[t+4>>2]=d;f=+p[t>>3];a=h*(a+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(j-f-a);j=f*.4342944818781689;g=+(c+(e>>>20)|0);i=g*.30102999566361177;h=i+j;a=h+(j+(i-h)+(a*.4342944818781689+(g*3.694239077158931e-13+(f+a)*2.5082946711645275e-11)))}return +a}function wQ(a){a=+a;var b=0,c=0.0,d=0.0,e=0,f=0,g=0.0,h=0.0,i=0.0,j=0.0;p[t>>3]=a;b=k[t+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){f=ER(b|0,0,1)|0;if(f>>>0<2034237440)break;if(b>>>0<3218259653){d=0.0;c=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-B;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){c=a+1.0;p[t>>3]=c;b=(k[t+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54)a=((e|0)>1?1.0-(c-a):a-(c+-1.0))/c;else a=0.0;k[t>>2]=k[t>>2];k[t+4>>2]=(b&1048575)+1072079006;d=a;a=+p[t>>3]+-1.0;c=+(e|0);e=11}if((e|0)==11){g=a*(a*.5);j=a/(a+2.0);i=j*j;h=i*i;a=c*.6931471803691238+(a+(d+c*1.9082149292705877e-10+j*(g+(h*(h*(h*.15313837699209373+.22222198432149784)+.3999999999940942)+i*(h*(h*(h*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-g))}return +a}function xQ(a){a=+a;var b=0.0,c=0.0,d=0;p[t>>3]=a;d=k[t+4>>2]|0;c=(d|0)<0?-.5:.5;d=d&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=d;b=+p[t>>3];do if(d>>>0<1082535490){b=+uQ(b);if(d>>>0>=1072693248){a=c*(b+b/(b+1.0));break}if(d>>>0>=1045430272)a=c*(b*2.0-b*b/(b+1.0))}else a=c*2.0*+pQ(b);while(0);return +a}function yQ(a){a=+a;var b=0,c=0;p[t>>3]=a;c=k[t+4>>2]|0;b=c&2147483647;k[t>>2]=k[t>>2];k[t+4>>2]=b;a=+p[t>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+uQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+uQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+uQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((c|0)<0?-a:a)}function zQ(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,i=0;i=r;r=r+32|0;g=i;do if((f&4095|0)==0&(((f|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){e=jQ()|0;k[e>>2]=12;e=-1;break}h=(d&16|0)!=0;if(h)oR(-1);k[g>>2]=a;k[g+4>>2]=b;k[g+8>>2]=c;k[g+12>>2]=d;k[g+16>>2]=e;k[g+20>>2]=f>>12;e=oQ(lb(192,g|0)|0)|0;if(h)pR()}else{e=jQ()|0;k[e>>2]=22;e=-1}while(0);r=i;return e|0}function AQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;oR(-1);k[d>>2]=a;k[d+4>>2]=b;a=oQ(eb(91,d|0)|0)|0;pR();r=c;return a|0}function BQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=sb(94,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){nQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=oQ(Fb(15,f|0)|0)|0}else c=oQ(c)|0;r=g;return c|0}function CQ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+64|0;f=g+16|0;e=g+8|0;c=g;d=g+24|0;k[c>>2]=a;k[c+4>>2]=b;c=mb(197,c|0)|0;if((c|0)==-9?(k[e>>2]=a,k[e+4>>2]=1,(vb(221,e|0)|0)>=0):0){nQ(d,a);k[f>>2]=d;k[f+4>>2]=b;c=oQ(ob(195,f|0)|0)|0}else c=oQ(c)|0;r=g;return c|0}function DQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=oQ(nb(196,d|0)|0)|0;r=c;return a|0}function EQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=oQ(gb(39,d|0)|0)|0;r=c;return a|0}function FQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=oQ(ob(195,d|0)|0)|0;r=c;return a|0}function GQ(a){a=a|0;return 0}function HQ(a){a=a|0;return}function IQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=k[a+60>>2];a=oQ(Lb(6,c|0)|0)|0;r=b;return a|0}function JQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=k[a+60>>2];k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;if((oQ(Eb(140,f|0)|0)|0)<0){k[d>>2]=-1;a=-1}else a=k[d>>2]|0;r=e;return a|0}function KQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;m=p+16|0;l=p;d=p+32|0;n=a+28|0;e=k[n>>2]|0;k[d>>2]=e;o=a+20|0;e=(k[o>>2]|0)-e|0;k[d+4>>2]=e;k[d+8>>2]=b;k[d+12>>2]=c;i=a+60|0;j=a+44|0;b=2;e=e+c|0;while(1){if(!(k[2423]|0)){k[m>>2]=k[i>>2];k[m+4>>2]=d;k[m+8>>2]=b;g=oQ(Vb(146,m|0)|0)|0}else{Ua(154,a|0);k[l>>2]=k[i>>2];k[l+4>>2]=d;k[l+8>>2]=b;g=oQ(Vb(146,l|0)|0)|0;Ma(0)}if((e|0)==(g|0)){e=6;break}if((g|0)<0){e=8;break}e=e-g|0;f=k[d+4>>2]|0;if(g>>>0<=f>>>0)if((b|0)==2){k[n>>2]=(k[n>>2]|0)+g;h=f;b=2}else h=f;else{h=k[j>>2]|0;k[n>>2]=h;k[o>>2]=h;h=k[d+12>>2]|0;g=g-f|0;d=d+8|0;b=b+-1|0}k[d>>2]=(k[d>>2]|0)+g;k[d+4>>2]=h-g}if((e|0)==6){m=k[j>>2]|0;k[a+16>>2]=m+(k[a+48>>2]|0);a=m;k[n>>2]=a;k[o>>2]=a}else if((e|0)==8){k[a+16>>2]=0;k[n>>2]=0;k[o>>2]=0;k[a>>2]=k[a>>2]|32;if((b|0)==2)c=0;else c=c-(k[d+4>>2]|0)|0}r=p;return c|0}function LQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=r;r=r+80|0;d=e;k[a+36>>2]=163;if((k[a>>2]&64|0)==0?(k[d>>2]=k[a+60>>2],k[d+4>>2]=21505,k[d+8>>2]=e+12,(Ta(54,d|0)|0)!=0):0)i[a+75>>0]=-1;d=KQ(a,b,c)|0;r=e;return d|0}function MQ(a){a=a|0;var b=0,c=0;do if(a){if((k[a+76>>2]|0)<=-1){b=lR(a)|0;break}c=(GQ(a)|0)==0;b=lR(a)|0;if(!c)HQ(a)}else{if(!(k[2434]|0))b=0;else b=MQ(k[2434]|0)|0;Kb(9720);a=k[2429]|0;if(a)do{if((k[a+76>>2]|0)>-1)c=GQ(a)|0;else c=0;if((k[a+20>>2]|0)>>>0>(k[a+28>>2]|0)>>>0)b=lR(a)|0|b;if(c)HQ(a);a=k[a+56>>2]|0}while((a|0)!=0);Db(9720)}while(0);return b|0}function NQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+208|0;n=q+8|0;o=q;e=ha(c,b)|0;m=o;k[m>>2]=1;k[m+4>>2]=0;if(e){h=e-c|0;k[n+4>>2]=c;k[n>>2]=c;f=c;b=c;g=2;while(1){b=b+c+f|0;k[n+(g<<2)>>2]=b;if(b>>>0>>0){m=f;f=b;g=g+1|0;b=m}else break}m=0-c|0;i=a+h|0;l=o+4|0;if((h|0)>0){h=i;e=1;g=1;while(1){do if((e&3|0)==3){mR(a,c,d,g,n);j=k[l>>2]|0;b=j<<30|(k[o>>2]|0)>>>2;k[o>>2]=b;k[l>>2]=j>>>2;g=g+2|0}else{b=g+-1|0;if((k[n+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)mR(a,c,d,g,n);else nR(a,c,d,o,g,0,n);if((g|0)==1){b=k[o>>2]|0;k[l>>2]=b>>>31|k[l>>2]<<1;b=b<<1;k[o>>2]=b;g=0;break}if(b>>>0>31){e=k[o>>2]|0;k[l>>2]=e;k[o>>2]=0;b=g+-33|0;f=0}else{e=k[l>>2]|0;f=k[o>>2]|0}k[l>>2]=f>>>(32-b|0)|e<>2]=b;g=1}while(0);e=b|1;k[o>>2]=e;b=a+c|0;if(b>>>0>=i>>>0){e=b;break}else a=b}}else{e=a;g=1}nR(e,c,d,o,g,0,n);j=o+4|0;b=k[o>>2]|0;if(!((g|0)==1&(b|0)==1&(k[j>>2]|0)==0)){f=e;while(1){if((g|0)<2){e=b+-1|0;do if(e){if(!(e&1)){h=e;e=0;do{e=e+1|0;h=h>>>1}while((h&1|0)==0);if(!e)p=24}else p=24;if((p|0)==24){p=0;i=k[l>>2]|0;if(!i){e=64;p=30;break}if(!(i&1)){h=i;e=0}else{a=0;h=i;e=0;break}while(1){a=e+1|0;h=h>>>1;if(h&1){h=a;break}else e=a}if(!h){a=0;h=i;e=0;break}else e=e+33|0}if(e>>>0>31)p=30;else{a=e;h=k[l>>2]|0}}else{e=32;p=30}while(0);if((p|0)==30){p=0;b=k[l>>2]|0;k[o>>2]=b;k[l>>2]=0;a=e+-32|0;h=0}k[o>>2]=h<<32-a|b>>>a;k[l>>2]=h>>>a;f=f+m|0;e=e+g|0}else{a=b>>>30;i=a|k[l>>2]<<2;e=g+-2|0;k[o>>2]=(b<<1&2147483646|a<<31)^3;k[l>>2]=i>>>1;nR(f+(0-((k[n+(e<<2)>>2]|0)+c))|0,c,d,o,g+-1|0,1,n);i=k[o>>2]|0;k[l>>2]=i>>>31|k[l>>2]<<1;k[o>>2]=i<<1|1;f=f+m|0;nR(f,c,d,o,e,1,n)}b=k[o>>2]|0;if((e|0)==1&(b|0)==1&(k[j>>2]|0)==0)break;else g=e}}}r=q;return}function OQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do if(!c)c=0;else{e=c;d=a;while(1){a=i[d>>0]|0;c=i[b>>0]|0;if(a<<24>>24!=c<<24>>24)break;e=e+-1|0;if(!e){c=0;break a}else{d=d+1|0;b=b+1|0}}c=(a&255)-(c&255)|0}while(0);return c|0}function PQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=b;a:do if(!((c^a)&3)){if(c&3)do{c=i[b>>0]|0;i[a>>0]=c;if(!(c<<24>>24))break a;b=b+1|0;a=a+1|0}while((b&3|0)!=0);c=k[b>>2]|0;if(!((c&-2139062144^-2139062144)&c+-16843009)){d=a;while(1){b=b+4|0;a=d+4|0;k[d>>2]=c;c=k[b>>2]|0;if((c&-2139062144^-2139062144)&c+-16843009)break;else d=a}}d=8}else d=8;while(0);if((d|0)==8){d=i[b>>0]|0;i[a>>0]=d;if(d<<24>>24)do{b=b+1|0;a=a+1|0;d=i[b>>0]|0;i[a>>0]=d}while(d<<24>>24!=0)}return a|0}function QQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=b;do if(!((e^a)&3)){d=(c|0)!=0;a:do if(d&(e&3|0)!=0)while(1){e=i[b>>0]|0;i[a>>0]=e;if(!(e<<24>>24))break a;c=c+-1|0;b=b+1|0;a=a+1|0;d=(c|0)!=0;if(!(d&(b&3|0)!=0)){f=5;break}}else f=5;while(0);if((f|0)==5)if(!d){c=0;break}if(i[b>>0]|0){b:do if(c>>>0>3)do{d=k[b>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009)break b;k[a>>2]=d;c=c+-4|0;b=b+4|0;a=a+4|0}while(c>>>0>3);while(0);f=11}}else f=11;while(0);c:do if((f|0)==11)if(!c)c=0;else while(1){f=i[b>>0]|0;i[a>>0]=f;if(!(f<<24>>24))break c;c=c+-1|0;a=a+1|0;if(!c){c=0;break}else b=b+1|0}while(0);DR(a|0,0,c|0)|0;return a|0}function RQ(a,b){a=a|0;b=b|0;var c=0,d=0;d=i[a>>0]|0;c=i[b>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=c<<24>>24)b=d;else{do{a=a+1|0;b=b+1|0;d=i[a>>0]|0;c=i[b>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=c<<24>>24));b=d}return (b&255)-(c&255)|0}function SQ(a,b){a=a|0;b=b|0;PQ(a,b)|0;return a|0}function TQ(a){a=a|0;var b=0,c=0;c=(UQ(a)|0)+1|0;b=rR(c)|0;if(!b)b=0;else BR(b|0,a|0,c|0)|0;return b|0}function UQ(a){a=a|0;var b=0,c=0,d=0;d=a;a:do if(!(d&3))c=4;else{b=a;a=d;while(1){if(!(i[b>>0]|0))break a;b=b+1|0;a=b;if(!(a&3)){a=b;c=4;break}}}while(0);if((c|0)==4){while(1){b=k[a>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))a=a+4|0;else break}if((b&255)<<24>>24)do a=a+1|0;while((i[a>>0]|0)!=0)}return a-d|0}function VQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(!c)b=0;else{d=i[a>>0]|0;a:do if(!(d<<24>>24))d=0;else while(1){c=c+-1|0;e=i[b>>0]|0;if(!(d<<24>>24==e<<24>>24&((c|0)!=0&e<<24>>24!=0)))break a;a=a+1|0;b=b+1|0;d=i[a>>0]|0;if(!(d<<24>>24)){d=0;break}}while(0);b=(d&255)-(l[b>>0]|0)|0}return b|0}function WQ(a,b,c){a=a|0;b=b|0;c=c|0;QQ(a,b,c)|0;return a|0}function XQ(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=b;a=oQ(Bb(33,d|0)|0)|0;r=c;return a|0}function YQ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Lb(6,c|0)|0;a=oQ((a|0)==-4?-115:a)|0;r=b;return a|0}function ZQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+64|0;g=h+24|0;f=h+16|0;d=h;e=h+36|0;k[d>>2]=a;k[d+4>>2]=b;k[d+8>>2]=c;d=Ub(207,d|0)|0;if((d|0)==-9?(k[f>>2]=a,k[f+4>>2]=1,(vb(221,f|0)|0)>=0):0){nQ(e,a);k[g>>2]=e;k[g+4>>2]=b;k[g+8>>2]=c;d=oQ(qb(212,g|0)|0)|0}else d=oQ(d)|0;r=h;return d|0}function _Q(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=oQ(Xa(118,c|0)|0)|0;r=b;return a|0}function $Q(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c;k[d>>2]=a;k[d+4>>2]=0;k[d+8>>2]=b;k[d+12>>2]=((b|0)<0)<<31>>31;b=oQ(pb(194,d|0)|0)|0;r=c;return b|0}function aR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+4112|0;d=f;c=f+8|0;if(a)if(!b){a=jQ()|0;k[a>>2]=22;a=0}else e=4;else{b=4096;a=c;e=4}if((e|0)==4){k[d>>2]=a;k[d+4>>2]=b;if((oQ(_a(183,d|0)|0)|0)>=0){if((a|0)==(c|0))a=TQ(c)|0}else a=0}r=f;return a|0}function bR(){var a=0,b=0;b=r;r=r+16|0;a=yb(201,b|0)|0;r=b;return a|0}function cR(){var a=0,b=0;b=r;r=r+16|0;a=Za(20,b|0)|0;r=b;return a|0}function dR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;e=r;r=r+32|0;f=e;d=e+20|0;k[f>>2]=a;k[f+4>>2]=0;k[f+8>>2]=b;k[f+12>>2]=d;k[f+16>>2]=c;c=(oQ(Eb(140,f|0)|0)|0)!=0;r=e;return (c?-1:k[d>>2]|0)|0}function eR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=oQ(Jb(3,e|0)|0)|0;r=d;return a|0}function fR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=oQ(Na(85,e|0)|0)|0;r=d;return a|0}function gR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=oQ(Wa(40,c|0)|0)|0;r=b;return a|0}function hR(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;k[b+4>>2]=0;a=(tb(b|0,b|0)|0)==0;r=c;return (a?0:k[b>>2]|0)|0}function iR(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=oQ(Hb(10,c|0)|0)|0;r=b;return a|0}function jR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=r;r=r+16|0;e=d;k[e>>2]=a;k[e+4>>2]=b;k[e+8>>2]=c;a=oQ(Nb(4,e|0)|0)|0;r=d;return a|0}function kR(a){a=a|0;if(!(k[a+68>>2]|0))HQ(a);return}function lR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=a+20|0;f=a+28|0;if((k[b>>2]|0)>>>0>(k[f>>2]|0)>>>0?(Yb[k[a+36>>2]&255](a,0,0)|0,(k[b>>2]|0)==0):0)b=-1;else{g=a+4|0;c=k[g>>2]|0;d=a+8|0;e=k[d>>2]|0;if(c>>>0>>0)Yb[k[a+40>>2]&255](a,c-e|0,1)|0;k[a+16>>2]=0;k[f>>2]=0;k[b>>2]=0;k[d>>2]=0;k[g>>2]=0;b=0}return b|0}function mR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+240|0;n=o;k[n>>2]=a;a:do if((d|0)>1){m=0-b|0;f=d;g=a;i=a;j=1;while(1){a=g+m|0;l=f+-2|0;h=g+(0-((k[e+(l<<2)>>2]|0)+b))|0;if((gc[c&255](i,h)|0)>-1?(gc[c&255](i,a)|0)>-1:0){d=j;break a}d=j+1|0;g=n+(j<<2)|0;if((gc[c&255](h,a)|0)>-1){k[g>>2]=h;a=h;f=f+-1|0}else{k[g>>2]=a;f=l}if((f|0)<=1)break a;g=a;i=k[n>>2]|0;j=d}}else d=1;while(0);qR(b,n,d);r=o;return}function nR(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+240|0;o=q;i=k[d>>2]|0;d=k[d+4>>2]|0;k[o>>2]=a;n=0-b|0;a:do if((d|0)!=0|(i|0)!=1?(h=a+(0-(k[g+(e<<2)>>2]|0))|0,(gc[c&255](h,a)|0)>=1):0){f=(f|0)==0;m=h;j=i;l=d;h=1;while(1){if(f&(e|0)>1){d=k[g+(e+-2<<2)>>2]|0;if((gc[c&255](a+n|0,m)|0)>-1){f=e;d=h;p=20;break a}if((gc[c&255](a+(0-(d+b))|0,m)|0)>-1){f=e;d=h;p=20;break a}}d=h+1|0;k[o+(h<<2)>>2]=m;f=j+-1|0;do if(f){if(!(f&1)){a=f;f=0;do{f=f+1|0;a=a>>>1}while((a&1|0)==0);if(!f)p=11}else p=11;if((p|0)==11){p=0;if(!l){f=64;p=16;break}if(!(l&1)){a=l;f=0}else{i=0;a=j;h=l;f=0;break}while(1){h=f+1|0;a=a>>>1;if(a&1){a=h;break}else f=h}if(!a){i=0;a=j;h=l;f=0;break}else f=f+33|0}if(f>>>0>31)p=16;else{i=f;a=j;h=l}}else{f=32;p=16}while(0);if((p|0)==16){p=0;i=f+-32|0;a=l;h=0}j=h<<32-i|a>>>i;l=h>>>i;f=f+e|0;if(!((l|0)!=0|(j|0)!=1)){a=m;p=20;break a}a=m+(0-(k[g+(f<<2)>>2]|0))|0;if((gc[c&255](a,k[o>>2]|0)|0)<1){a=m;e=f;f=0;p=19;break}else{i=m;e=f;f=1;m=a;h=d;a=i}}}else{d=1;p=19}while(0);if((p|0)==19?(f|0)==0:0){f=e;p=20}if((p|0)==20){qR(b,o,d);mR(a,b,c,f,g)}r=q;return}function oR(a){a=a|0;return}function pR(){return}function qR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+256|0;d=g;a:do if((c|0)>=2?(f=b+(c<<2)|0,k[f>>2]=d,(a|0)!=0):0)while(1){e=a>>>0>256?256:a;BR(d|0,k[b>>2]|0,e|0)|0;d=0;do{h=b+(d<<2)|0;d=d+1|0;BR(k[h>>2]|0,k[b+(d<<2)>>2]|0,e|0)|0;k[h>>2]=(k[h>>2]|0)+e}while((d|0)!=(c|0));if((a|0)==(e|0))break a;a=a-e|0;d=k[f>>2]|0}while(0);r=g;return}function rR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;h=k[2464]|0;c=h>>>a;if(c&3){a=(c&1^1)+a|0;d=a<<1;c=9896+(d<<2)|0;d=9896+(d+2<<2)|0;e=k[d>>2]|0;f=e+8|0;g=k[f>>2]|0;do if((c|0)!=(g|0)){if(g>>>0<(k[2468]|0)>>>0)Va();b=g+12|0;if((k[b>>2]|0)==(e|0)){k[b>>2]=c;k[d>>2]=g;break}else Va()}else k[2464]=h&~(1<>2]=M|3;M=e+(M|4)|0;k[M>>2]=k[M>>2]|1;M=f;return M|0}g=k[2466]|0;if(o>>>0>g>>>0){if(c){d=2<>>12&16;d=d>>>i;e=d>>>5&8;d=d>>>e;f=d>>>2&4;d=d>>>f;c=d>>>1&2;d=d>>>c;a=d>>>1&1;a=(e|i|f|c|a)+(d>>>a)|0;d=a<<1;c=9896+(d<<2)|0;d=9896+(d+2<<2)|0;f=k[d>>2]|0;i=f+8|0;e=k[i>>2]|0;do if((c|0)!=(e|0)){if(e>>>0<(k[2468]|0)>>>0)Va();b=e+12|0;if((k[b>>2]|0)==(f|0)){k[b>>2]=c;k[d>>2]=e;j=k[2466]|0;break}else Va()}else{k[2464]=h&~(1<>2]=o|3;h=f+o|0;k[f+(o|4)>>2]=g|1;k[f+M>>2]=g;if(j){e=k[2469]|0;c=j>>>3;b=c<<1;d=9896+(b<<2)|0;a=k[2464]|0;c=1<>2]|0;if(b>>>0<(k[2468]|0)>>>0)Va();else{l=a;m=b}}else{k[2464]=a|c;l=9896+(b+2<<2)|0;m=d}k[l>>2]=e;k[m+12>>2]=e;k[e+8>>2]=m;k[e+12>>2]=d}k[2466]=g;k[2469]=h;M=i;return M|0}a=k[2465]|0;if(a){c=(a&0-a)+-1|0;L=c>>>12&16;c=c>>>L;K=c>>>5&8;c=c>>>K;M=c>>>2&4;c=c>>>M;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=k[10160+((K|L|M|a|d)+(c>>>d)<<2)>>2]|0;c=(k[d+4>>2]&-8)-o|0;a=d;while(1){b=k[a+16>>2]|0;if(!b){b=k[a+20>>2]|0;if(!b){i=c;break}}a=(k[b+4>>2]&-8)-o|0;M=a>>>0>>0;c=M?a:c;a=b;d=M?b:d}f=k[2468]|0;if(d>>>0>>0)Va();h=d+o|0;if(d>>>0>=h>>>0)Va();g=k[d+24>>2]|0;c=k[d+12>>2]|0;do if((c|0)==(d|0)){a=d+20|0;b=k[a>>2]|0;if(!b){a=d+16|0;b=k[a>>2]|0;if(!b){n=0;break}}while(1){c=b+20|0;e=k[c>>2]|0;if(e){b=e;a=c;continue}c=b+16|0;e=k[c>>2]|0;if(!e)break;else{b=e;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;n=b;break}}else{e=k[d+8>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(d|0))Va();a=c+8|0;if((k[a>>2]|0)==(d|0)){k[b>>2]=c;k[a>>2]=e;n=c;break}else Va()}while(0);do if(g){b=k[d+28>>2]|0;a=10160+(b<<2)|0;if((d|0)==(k[a>>2]|0)){k[a>>2]=n;if(!n){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(d|0))k[b>>2]=n;else k[g+20>>2]=n;if(!n)break}a=k[2468]|0;if(n>>>0>>0)Va();k[n+24>>2]=g;b=k[d+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[n+16>>2]=b;k[b+24>>2]=n;break}while(0);b=k[d+20>>2]|0;if(b)if(b>>>0<(k[2468]|0)>>>0)Va();else{k[n+20>>2]=b;k[b+24>>2]=n;break}}while(0);if(i>>>0<16){M=i+o|0;k[d+4>>2]=M|3;M=d+(M+4)|0;k[M>>2]=k[M>>2]|1}else{k[d+4>>2]=o|3;k[d+(o|4)>>2]=i|1;k[d+(i+o)>>2]=i;b=k[2466]|0;if(b){f=k[2469]|0;c=b>>>3;b=c<<1;e=9896+(b<<2)|0;a=k[2464]|0;c=1<>2]|0;if(a>>>0<(k[2468]|0)>>>0)Va();else{p=b;q=a}}else{k[2464]=a|c;p=9896+(b+2<<2)|0;q=e}k[p>>2]=f;k[q+12>>2]=f;k[f+8>>2]=q;k[f+12>>2]=e}k[2466]=i;k[2469]=h}M=d+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=k[2465]|0;if(l){c=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(p|q|j)+(v<>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;a=k[10160+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=86}else{g=c;e=0;h=m<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){f=k[i+4>>2]&-8;c=f-m|0;if(c>>>0>>0)if((f|0)==(m|0)){f=i;a=i;v=90;break a}else a=i;else c=g;v=k[i+20>>2]|0;i=k[i+16+(h>>>31<<2)>>2]|0;e=(v|0)==0|(v|0)==(i|0)?e:v;if(!i){v=86;break}else{g=c;h=h<<1}}}while(0);if((v|0)==86){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;e=a>>>1&1;e=k[10160+((l|n|p|q|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){h=c;i=a}else{f=e;v=90}}if((v|0)==90)while(1){v=0;q=(k[f+4>>2]&-8)-m|0;e=q>>>0>>0;c=e?q:c;a=e?f:a;e=k[f+16>>2]|0;if(e){f=e;v=90;continue}f=k[f+20>>2]|0;if(!f){h=c;i=a;break}else v=90}if((i|0)!=0?h>>>0<((k[2466]|0)-m|0)>>>0:0){e=k[2468]|0;if(i>>>0>>0)Va();g=i+m|0;if(i>>>0>=g>>>0)Va();f=k[i+24>>2]|0;c=k[i+12>>2]|0;do if((c|0)==(i|0)){a=i+20|0;b=k[a>>2]|0;if(!b){a=i+16|0;b=k[a>>2]|0;if(!b){o=0;break}}while(1){c=b+20|0;d=k[c>>2]|0;if(d){b=d;a=c;continue}c=b+16|0;d=k[c>>2]|0;if(!d)break;else{b=d;a=c}}if(a>>>0>>0)Va();else{k[a>>2]=0;o=b;break}}else{d=k[i+8>>2]|0;if(d>>>0>>0)Va();b=d+12|0;if((k[b>>2]|0)!=(i|0))Va();a=c+8|0;if((k[a>>2]|0)==(i|0)){k[b>>2]=c;k[a>>2]=d;o=c;break}else Va()}while(0);do if(f){b=k[i+28>>2]|0;a=10160+(b<<2)|0;if((i|0)==(k[a>>2]|0)){k[a>>2]=o;if(!o){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();b=f+16|0;if((k[b>>2]|0)==(i|0))k[b>>2]=o;else k[f+20>>2]=o;if(!o)break}a=k[2468]|0;if(o>>>0>>0)Va();k[o+24>>2]=f;b=k[i+16>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[o+16>>2]=b;k[b+24>>2]=o;break}while(0);b=k[i+20>>2]|0;if(b)if(b>>>0<(k[2468]|0)>>>0)Va();else{k[o+20>>2]=b;k[b+24>>2]=o;break}}while(0);b:do if(h>>>0>=16){k[i+4>>2]=m|3;k[i+(m|4)>>2]=h|1;k[i+(h+m)>>2]=h;b=h>>>3;if(h>>>0<256){a=b<<1;d=9896+(a<<2)|0;c=k[2464]|0;b=1<>2]|0;if(a>>>0<(k[2468]|0)>>>0)Va();else{s=b;t=a}}else{k[2464]=c|b;s=9896+(a+2<<2)|0;t=d}k[s>>2]=g;k[t+12>>2]=g;k[i+(m+8)>>2]=t;k[i+(m+12)>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=10160+(d<<2)|0;k[i+(m+28)>>2]=d;k[i+(m+20)>>2]=0;k[i+(m+16)>>2]=0;a=k[2465]|0;c=1<>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break}b=k[b>>2]|0;c:do if((k[b+4>>2]&-8|0)!=(h|0)){d=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(h|0)){y=c;break c}else{d=d<<1;b=c}}if(a>>>0<(k[2468]|0)>>>0)Va();else{k[a>>2]=g;k[i+(m+24)>>2]=b;k[i+(m+12)>>2]=g;k[i+(m+8)>>2]=g;break b}}else y=b;while(0);b=y+8|0;a=k[b>>2]|0;M=k[2468]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[i+(m+8)>>2]=a;k[i+(m+12)>>2]=y;k[i+(m+24)>>2]=0;break}else Va()}else{M=h+m|0;k[i+4>>2]=M|3;M=i+(M+4)|0;k[M>>2]=k[M>>2]|1}while(0);M=i+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);c=k[2466]|0;if(c>>>0>=q>>>0){b=c-q|0;a=k[2469]|0;if(b>>>0>15){k[2469]=a+q;k[2466]=b;k[a+(q+4)>>2]=b|1;k[a+c>>2]=b;k[a+4>>2]=q|3}else{k[2466]=0;k[2469]=0;k[a+4>>2]=c|3;M=a+(c+4)|0;k[M>>2]=k[M>>2]|1}M=a+8|0;return M|0}a=k[2467]|0;if(a>>>0>q>>>0){L=a-q|0;k[2467]=L;M=k[2470]|0;k[2470]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(k[2582]|0)){a=rb(30)|0;if(!(a+-1&a)){k[2584]=a;k[2583]=a;k[2585]=-1;k[2586]=-1;k[2587]=0;k[2575]=0;y=(Ob(0)|0)&-16^1431655768;k[2582]=y;break}else Va()}while(0);i=q+48|0;h=k[2584]|0;j=q+47|0;g=h+j|0;h=0-h|0;l=g&h;if(l>>>0<=q>>>0){M=0;return M|0}a=k[2574]|0;if((a|0)!=0?(t=k[2572]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(k[2575]&4)){a=k[2470]|0;e:do if(a){e=10304;while(1){c=k[e>>2]|0;if(c>>>0<=a>>>0?(r=e+4|0,(c+(k[r>>2]|0)|0)>>>0>a>>>0):0){f=e;a=r;break}e=k[e+8>>2]|0;if(!e){v=174;break e}}c=g-(k[2467]|0)&h;if(c>>>0<2147483647){e=kb(c|0)|0;y=(e|0)==((k[f>>2]|0)+(k[a>>2]|0)|0);a=y?c:0;if(y){if((e|0)!=(-1|0)){w=e;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){f=kb(0)|0;if((f|0)!=(-1|0)){a=f;c=k[2583]|0;e=c+-1|0;if(!(e&a))c=l;else c=l-a+(e+a&0-c)|0;a=k[2572]|0;e=a+c|0;if(c>>>0>q>>>0&c>>>0<2147483647){y=k[2574]|0;if((y|0)!=0?e>>>0<=a>>>0|e>>>0>y>>>0:0){a=0;break}e=kb(c|0)|0;y=(e|0)==(f|0);a=y?c:0;if(y){w=f;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){f=0-c|0;do if(i>>>0>c>>>0&(c>>>0<2147483647&(e|0)!=(-1|0))?(u=k[2584]|0,u=j-c+u&0-u,u>>>0<2147483647):0)if((kb(u|0)|0)==(-1|0)){kb(f|0)|0;break f}else{c=u+c|0;break}while(0);if((e|0)!=(-1|0)){w=e;p=c;v=194;break d}}while(0);k[2575]=k[2575]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=kb(l|0)|0,x=kb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(k[2572]|0)+p|0;k[2572]=a;if(a>>>0>(k[2573]|0)>>>0)k[2573]=a;g=k[2470]|0;g:do if(g){f=10304;do{a=k[f>>2]|0;c=f+4|0;e=k[c>>2]|0;if((w|0)==(a+e|0)){B=a;C=c;D=e;E=f;v=204;break}f=k[f+8>>2]|0}while((f|0)!=0);if(((v|0)==204?(k[E+12>>2]&8|0)==0:0)?g>>>0>>0&g>>>0>=B>>>0:0){k[C>>2]=D+p;M=(k[2467]|0)+p|0;L=g+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;k[2470]=g+L;k[2467]=K;k[g+(L+4)>>2]=K|1;k[g+(M+4)>>2]=40;k[2471]=k[2586];break}a=k[2468]|0;if(w>>>0>>0){k[2468]=w;a=w}c=w+p|0;f=10304;while(1){if((k[f>>2]|0)==(c|0)){e=f;c=f;v=212;break}f=k[f+8>>2]|0;if(!f){c=10304;break}}if((v|0)==212)if(!(k[c+12>>2]&8)){k[e>>2]=w;n=c+4|0;k[n>>2]=(k[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;j=w+(p+8)|0;j=(j&7|0)==0?0:0-j&7;b=w+(j+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;k[w+(n+4)>>2]=q|3;h:do if((b|0)!=(g|0)){if((b|0)==(k[2469]|0)){M=(k[2466]|0)+l|0;k[2466]=M;k[2469]=o;k[w+(m+4)>>2]=M|1;k[w+(M+m)>>2]=M;break}h=p+4|0;c=k[w+(h+j)>>2]|0;if((c&3|0)==1){i=c&-8;f=c>>>3;i:do if(c>>>0>=256){g=k[w+((j|24)+p)>>2]|0;d=k[w+(p+12+j)>>2]|0;do if((d|0)==(b|0)){e=j|16;d=w+(h+e)|0;c=k[d>>2]|0;if(!c){d=w+(e+p)|0;c=k[d>>2]|0;if(!c){J=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;J=c;break}}else{e=k[w+((j|8)+p)>>2]|0;if(e>>>0>>0)Va();a=e+12|0;if((k[a>>2]|0)!=(b|0))Va();c=d+8|0;if((k[c>>2]|0)==(b|0)){k[a>>2]=d;k[c>>2]=e;J=d;break}else Va()}while(0);if(!g)break;a=k[w+(p+28+j)>>2]|0;c=10160+(a<<2)|0;do if((b|0)!=(k[c>>2]|0)){if(g>>>0<(k[2468]|0)>>>0)Va();a=g+16|0;if((k[a>>2]|0)==(b|0))k[a>>2]=J;else k[g+20>>2]=J;if(!J)break i}else{k[c>>2]=J;if(J)break;k[2465]=k[2465]&~(1<>>0>>0)Va();k[J+24>>2]=g;b=j|16;a=k[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Va();else{k[J+16>>2]=a;k[a+24>>2]=J;break}while(0);b=k[w+(h+b)>>2]|0;if(!b)break;if(b>>>0<(k[2468]|0)>>>0)Va();else{k[J+20>>2]=b;k[b+24>>2]=J;break}}else{d=k[w+((j|8)+p)>>2]|0;e=k[w+(p+12+j)>>2]|0;c=9896+(f<<1<<2)|0;do if((d|0)!=(c|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){k[2464]=k[2464]&~(1<>>0>>0)Va();a=e+8|0;if((k[a>>2]|0)==(b|0)){F=a;break}Va()}while(0);k[d+12>>2]=e;k[F>>2]=d}while(0);b=w+((i|j)+p)|0;e=i+l|0}else e=l;b=b+4|0;k[b>>2]=k[b>>2]&-2;k[w+(m+4)>>2]=e|1;k[w+(e+m)>>2]=e;b=e>>>3;if(e>>>0<256){a=b<<1;d=9896+(a<<2)|0;c=k[2464]|0;b=1<>2]|0;if(a>>>0>=(k[2468]|0)>>>0){K=b;L=a;break}Va()}while(0);k[K>>2]=o;k[L+12>>2]=o;k[w+(m+8)>>2]=L;k[w+(m+12)>>2]=d;break}b=e>>>8;do if(!b)d=0;else{if(e>>>0>16777215){d=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;d=14-(J|K|d)+(L<>>15)|0;d=e>>>(d+7|0)&1|d<<1}while(0);b=10160+(d<<2)|0;k[w+(m+28)>>2]=d;k[w+(m+20)>>2]=0;k[w+(m+16)>>2]=0;a=k[2465]|0;c=1<>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break}b=k[b>>2]|0;j:do if((k[b+4>>2]&-8|0)!=(e|0)){d=e<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(e|0)){M=c;break j}else{d=d<<1;b=c}}if(a>>>0<(k[2468]|0)>>>0)Va();else{k[a>>2]=o;k[w+(m+24)>>2]=b;k[w+(m+12)>>2]=o;k[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=k[b>>2]|0;L=k[2468]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){k[a+12>>2]=o;k[b>>2]=o;k[w+(m+8)>>2]=a;k[w+(m+12)>>2]=M;k[w+(m+24)>>2]=0;break}else Va()}else{M=(k[2467]|0)+l|0;k[2467]=M;k[2470]=o;k[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else c=10304;while(1){a=k[c>>2]|0;if(a>>>0<=g>>>0?(b=k[c+4>>2]|0,d=a+b|0,d>>>0>g>>>0):0)break;c=k[c+8>>2]|0}e=a+(b+-39)|0;a=a+(b+-47+((e&7|0)==0?0:0-e&7))|0;e=g+16|0;a=a>>>0>>0?g:a;b=a+8|0;c=w+8|0;c=(c&7|0)==0?0:0-c&7;M=p+-40-c|0;k[2470]=w+c;k[2467]=M;k[w+(c+4)>>2]=M|1;k[w+(p+-36)>>2]=40;k[2471]=k[2586];c=a+4|0;k[c>>2]=27;k[b>>2]=k[2576];k[b+4>>2]=k[2577];k[b+8>>2]=k[2578];k[b+12>>2]=k[2579];k[2576]=w;k[2577]=p;k[2579]=0;k[2578]=b;b=a+28|0;k[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;k[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(g|0)){f=a-g|0;k[c>>2]=k[c>>2]&-2;k[g+4>>2]=f|1;k[a>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;d=9896+(a<<2)|0;c=k[2464]|0;b=1<>2]|0;if(a>>>0<(k[2468]|0)>>>0)Va();else{G=b;H=a}}else{k[2464]=c|b;G=9896+(a+2<<2)|0;H=d}k[G>>2]=g;k[H+12>>2]=g;k[g+8>>2]=H;k[g+12>>2]=d;break}b=f>>>8;if(b)if(f>>>0>16777215)d=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;d=14-(K|L|d)+(M<>>15)|0;d=f>>>(d+7|0)&1|d<<1}else d=0;c=10160+(d<<2)|0;k[g+28>>2]=d;k[g+20>>2]=0;k[e>>2]=0;b=k[2465]|0;a=1<>2]=g;k[g+24>>2]=c;k[g+12>>2]=g;k[g+8>>2]=g;break}b=k[c>>2]|0;k:do if((k[b+4>>2]&-8|0)!=(f|0)){d=f<<((d|0)==31?0:25-(d>>>1)|0);while(1){a=b+16+(d>>>31<<2)|0;c=k[a>>2]|0;if(!c)break;if((k[c+4>>2]&-8|0)==(f|0)){I=c;break k}else{d=d<<1;b=c}}if(a>>>0<(k[2468]|0)>>>0)Va();else{k[a>>2]=g;k[g+24>>2]=b;k[g+12>>2]=g;k[g+8>>2]=g;break g}}else I=b;while(0);b=I+8|0;a=k[b>>2]|0;M=k[2468]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){k[a+12>>2]=g;k[b>>2]=g;k[g+8>>2]=a;k[g+12>>2]=I;k[g+24>>2]=0;break}else Va()}}else{M=k[2468]|0;if((M|0)==0|w>>>0>>0)k[2468]=w;k[2576]=w;k[2577]=p;k[2579]=0;k[2473]=k[2582];k[2472]=-1;b=0;do{M=b<<1;L=9896+(M<<2)|0;k[9896+(M+3<<2)>>2]=L;k[9896+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;k[2470]=w+M;k[2467]=L;k[w+(M+4)>>2]=L|1;k[w+(p+-36)>>2]=40;k[2471]=k[2586]}while(0);b=k[2467]|0;if(b>>>0>q>>>0){L=b-q|0;k[2467]=L;M=k[2470]|0;k[2470]=M+q;k[M+(q+4)>>2]=L|1;k[M+4>>2]=q|3;M=M+8|0;return M|0}}M=jQ()|0;k[M>>2]=12;M=0;return M|0} +function $I(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;f=t+52|0;u=t+48|0;g=t+44|0;q=t+40|0;s=t+36|0;p=t+32|0;d=t+28|0;o=t+24|0;e=t+20|0;c=t+16|0;m=t+12|0;h=t+8|0;j=t+4|0;n=t;k[u>>2]=a;k[g>>2]=b;k[s>>2]=0;k[q>>2]=k[(k[u>>2]|0)+16>>2];a=(k[(k[g>>2]|0)+16>>2]|0)+1|0;if((l[(k[(k[g>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)k[c>>2]=l[a>>0];else KF(a,c)|0;do if((k[c>>2]|0)>0&(k[c>>2]|0)<10&(k[c>>2]|0)!=7){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&1}else{if((k[c>>2]|0)>10?(k[c>>2]&1|0)!=0:0){u=(k[q>>2]|0)+60|0;i[u>>0]=(l[u>>0]|0)&2;break}i[(k[q>>2]|0)+60>>0]=0}while(0);k[o>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;c=k[(k[g>>2]|0)+12>>2]|0;u=k[(k[g>>2]|0)+12>>2]|0;u=c+(QF(u,((u|0)<0)<<31>>31)|0)|0;k[e>>2]=u;if(k[(k[q>>2]|0)+4>>2]|0){a=k[q>>2]|0;if(k[(k[q>>2]|0)+36+4>>2]|0){if(k[a+48>>2]|0)a=((k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0)|0)>(k[(k[q>>2]|0)+4>>2]|0);else a=0;k[d>>2]=a&1}else{if((k[a+36+8>>2]|0)<=(k[(k[q>>2]|0)+4>>2]|0))if((k[(k[q>>2]|0)+36+8>>2]|0)>(k[k[q>>2]>>2]|0))a=(Xu()|0)!=0;else a=0;else a=1;k[d>>2]=a&1}if(k[d>>2]|0){u=WK(k[q>>2]|0)|0;k[s>>2]=u;k[(k[q>>2]|0)+36+8>>2]=0;k[(k[q>>2]|0)+48>>2]=0}}u=(k[q>>2]|0)+36+8|0;k[u>>2]=(k[u>>2]|0)+(k[e>>2]|0);if((k[e>>2]|0)>(k[(k[q>>2]|0)+8>>2]|0))k[(k[q>>2]|0)+8>>2]=k[e>>2];do if(k[(k[q>>2]|0)+36+4>>2]|0){k[m>>2]=(k[(k[q>>2]|0)+48>>2]|0)+(k[o>>2]|0);do if((k[m>>2]|0)>(k[(k[q>>2]|0)+52>>2]|0)){k[j>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0);k[n>>2]=k[(k[q>>2]|0)+52>>2]<<1;while(1){a=k[n>>2]|0;if((k[n>>2]|0)>=(k[m>>2]|0))break;k[n>>2]=a<<1}if((a|0)>(k[(k[q>>2]|0)+4>>2]|0))k[n>>2]=k[(k[q>>2]|0)+4>>2];if((k[n>>2]|0)<(k[m>>2]|0))k[n>>2]=k[m>>2];u=k[n>>2]|0;u=mg(k[(k[q>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;k[h>>2]=u;if(k[h>>2]|0){k[(k[q>>2]|0)+36>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[(k[q>>2]|0)+36+4>>2]=k[h>>2];k[(k[q>>2]|0)+52>>2]=k[n>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);k[p>>2]=(k[(k[q>>2]|0)+36+4>>2]|0)+(k[(k[q>>2]|0)+48>>2]|0);u=(k[q>>2]|0)+48|0;k[u>>2]=(k[u>>2]|0)+((k[o>>2]|0)+7&-8);if(k[(k[q>>2]|0)+36>>2]|0)k[(k[p>>2]|0)+4>>2]=(k[(k[q>>2]|0)+36>>2]|0)-(k[(k[q>>2]|0)+36+4>>2]|0)}else{u=k[o>>2]|0;u=jg(u,((u|0)<0)<<31>>31)|0;k[p>>2]=u;if(k[p>>2]|0){k[(k[p>>2]|0)+4>>2]=k[(k[q>>2]|0)+36>>2];break}k[f>>2]=7;u=k[f>>2]|0;r=t;return u|0}while(0);BR((k[p>>2]|0)+8|0,k[(k[g>>2]|0)+16>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0;k[k[p>>2]>>2]=k[(k[g>>2]|0)+12>>2];k[(k[q>>2]|0)+36>>2]=k[p>>2];k[f>>2]=k[s>>2];u=k[f>>2]|0;r=t;return u|0}function aJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+128|0;e=n+116|0;q=n+112|0;p=n+108|0;f=n+104|0;o=n+80|0;d=n+100|0;i=n+96|0;j=n+92|0;g=n+88|0;h=n+40|0;m=n;k[q>>2]=a;k[p>>2]=b;k[f>>2]=c;c=o;k[c>>2]=0;k[c+4>>2]=0;IH(k[p>>2]|0,o)|0;RF(h,k[q>>2]|0,0);c=xI(k[p>>2]|0,0,k[o>>2]|0,1,h)|0;k[d>>2]=c;if(k[d>>2]|0){k[e>>2]=k[d>>2];q=k[e>>2]|0;r=n;return q|0}a=k[h+16>>2]|0;if((l[k[h+16>>2]>>0]|0|0)<128)k[i>>2]=l[a>>0];else KF(a,i)|0;if((k[i>>2]|0)>>>0>=3?(k[i>>2]|0)<=(k[h+12>>2]|0):0){a=(k[h+16>>2]|0)+((k[i>>2]|0)-1)|0;if((l[(k[h+16>>2]|0)+((k[i>>2]|0)-1)>>0]|0|0)<128)k[j>>2]=l[a>>0];else KF(a,j)|0;if(!((k[j>>2]|0)>>>0<1|(k[j>>2]|0)>>>0>9|(k[j>>2]|0)==7)?(k[g>>2]=l[35569+(k[j>>2]|0)>>0],(k[h+12>>2]|0)>>>0>=((k[i>>2]|0)+(k[g>>2]|0)|0)>>>0):0){MF((k[h+16>>2]|0)+((k[h+12>>2]|0)-(k[g>>2]|0))|0,k[j>>2]|0,m)|0;o=m;p=k[o+4>>2]|0;q=k[f>>2]|0;k[q>>2]=k[o>>2];k[q+4>>2]=p;eh(h);k[e>>2]=0;q=k[e>>2]|0;r=n;return q|0}}eh(h);q=Yj(72372)|0;k[e>>2]=q;q=k[e>>2]|0;r=n;return q|0}function bJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;n=r;r=r+80|0;e=n+72|0;f=n+68|0;o=n+64|0;g=n+60|0;h=n+56|0;j=n+40|0;m=n+52|0;l=n+48|0;i=n;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[h>>2]=d;b=j;k[b>>2]=0;k[b+4>>2]=0;k[l>>2]=k[(k[o>>2]|0)+16>>2];IH(k[l>>2]|0,j)|0;b=j;a=k[b+4>>2]|0;d=j;c=k[d+4>>2]|0;if((a|0)<0|(a|0)==0&(k[b>>2]|0)>>>0<=0|((c|0)>0|(c|0)==0&(k[d>>2]|0)>>>0>2147483647)){k[k[h>>2]>>2]=0;o=Yj(72406)|0;k[e>>2]=o;o=k[e>>2]|0;r=n;return o|0}RF(i,k[f>>2]|0,0);o=xI(k[l>>2]|0,0,k[j>>2]|0,1,i)|0;k[m>>2]=o;if(k[m>>2]|0){k[e>>2]=k[m>>2];o=k[e>>2]|0;r=n;return o|0}else{o=IF(k[i+12>>2]|0,k[i+16>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=o;eh(i);k[e>>2]=0;o=k[e>>2]|0;r=n;return o|0}return 0}function cJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);c=VK(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;r=e;return k[d>>2]|0}function dJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;o=m+32|0;n=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;g=m+8|0;l=m+4|0;j=m;k[o>>2]=a;k[n>>2]=b;k[e>>2]=c;k[f>>2]=d;k[g>>2]=(k[(k[o>>2]|0)+16>>2]|0)+(k[n>>2]<<4);k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+8;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[l>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[l>>2]|0)+28>>2]|0)==(k[e>>2]|0))k[(k[l>>2]|0)+28>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+24;k[h>>2]=k[(k[i>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;k[j>>2]=k[(k[h>>2]|0)+8>>2];if((k[(k[j>>2]|0)+44>>2]|0)==(k[e>>2]|0))k[(k[j>>2]|0)+44>>2]=k[f>>2];k[h>>2]=k[k[h>>2]>>2]}r=m;return}function eJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);c=DH(k[g>>2]|0,k[e>>2]|0,0)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}KK(k[d>>2]|0,0,0,1);c=LK(k[g>>2]|0,k[e>>2]|0,0,k[f>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function fJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;EK(k[(k[d>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+20>>2]=0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+59>>0]|0|0))break;k[f>>2]=(k[d>>2]|0)+64+((k[e>>2]|0)*72|0);FK(k[c>>2]|0,k[f>>2]|0);k[(k[f>>2]|0)+8>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}if(!(k[(k[d>>2]|0)+36+4>>2]|0))GK(0,k[(k[d>>2]|0)+36>>2]|0);k[(k[d>>2]|0)+36>>2]=0;k[(k[d>>2]|0)+36+8>>2]=0;i[(k[d>>2]|0)+56>>0]=0;k[(k[d>>2]|0)+48>>2]=0;k[(k[d>>2]|0)+8>>2]=0;bg(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0);k[(k[d>>2]|0)+32>>2]=0;r=g;return}function gJ(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=eJ(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+52>>2]|0,0)|0;r=b;return a|0}function hJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=r;r=r+32|0;e=d+16|0;i=d+12|0;g=d+8|0;f=d+4|0;h=d;k[e>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=(k[(k[e>>2]|0)+16>>2]|0)+(k[i>>2]<<4);c=ak((k[(k[h>>2]|0)+12>>2]|0)+8|0,k[g>>2]|0,0)|0;k[f>>2]=c;$f(k[e>>2]|0,k[f>>2]|0);c=(k[e>>2]|0)+24|0;k[c>>2]=k[c>>2]|2;r=d;return}function iJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=r;r=r+32|0;d=g+20|0;j=g+16|0;h=g+12|0;f=g+8|0;i=g+4|0;e=g;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;k[i>>2]=(k[(k[(k[d>>2]|0)+16>>2]|0)+(k[j>>2]<<4)+12>>2]|0)+24;c=ak(k[i>>2]|0,k[h>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}a=k[f>>2]|0;if((k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[(k[a+12>>2]|0)+8>>2];while(1){if(k[e>>2]|0)b=(k[(k[e>>2]|0)+20>>2]|0)!=(k[f>>2]|0);else b=0;a=k[e>>2]|0;if(!b)break;k[e>>2]=k[a+20>>2]}if((a|0)!=0?(k[(k[e>>2]|0)+20>>2]|0)==(k[f>>2]|0):0)k[(k[e>>2]|0)+20>>2]=k[(k[f>>2]|0)+20>>2]}else k[(k[(k[f>>2]|0)+12>>2]|0)+8>>2]=k[a+20>>2];lH(k[d>>2]|0,k[f>>2]|0);j=k[d>>2]|0;j=j+24|0;i=k[j>>2]|0;i=i|2;k[j>>2]=i;r=g;return}function jJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;e=h+24|0;l=h+20|0;i=h+16|0;f=h+12|0;j=h+8|0;d=h+4|0;g=h;k[e>>2]=a;k[l>>2]=b;k[i>>2]=c;k[j>>2]=(k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)+12>>2]|0)+40;c=ak(k[j>>2]|0,k[i>>2]|0,0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){r=h;return}if((k[(k[f>>2]|0)+20>>2]|0)==(k[(k[f>>2]|0)+24>>2]|0)){l=RB(k[f>>2]|0)|0;k[d>>2]=l;k[g>>2]=(k[d>>2]|0)+60;while(1){a=(k[k[g>>2]>>2]|0)+32|0;if((k[k[g>>2]>>2]|0)==(k[f>>2]|0))break;k[g>>2]=a}k[k[g>>2]>>2]=k[a>>2]}_f(k[e>>2]|0,k[f>>2]|0);l=(k[e>>2]|0)+24|0;k[l>>2]=k[l>>2]|2;r=h;return}function kJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;t=r;r=r+240|0;s=t+16|0;q=t+8|0;v=t+124|0;f=t+120|0;g=t+116|0;u=t+112|0;h=t+108|0;j=t+104|0;o=t+32|0;n=t+24|0;p=t+20|0;m=t;k[v>>2]=a;k[f>>2]=b;k[g>>2]=c;k[u>>2]=d;k[h>>2]=e;k[n>>2]=k[(k[v>>2]|0)+4>>2];k[p>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2];wg(k[v>>2]|0);k[o>>2]=k[n>>2];k[o+4>>2]=k[k[n>>2]>>2];e=qF(k[o>>2]|0)|0;k[o+12>>2]=e;k[o+16>>2]=k[u>>2];k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o+32>>2]=0;k[o+36>>2]=0;k[o+8>>2]=0;k[o+68>>2]=0;ng(o+40|0,0,t+128|0,100,1e9);i[o+40+25>>0]=1;a:do if(k[o+12>>2]|0){v=ug((((k[o+12>>2]|0)>>>0)/8|0)+1|0,0)|0;k[o+8>>2]=v;if(!(k[o+8>>2]|0)){k[o+24>>2]=1;break}v=ej(k[(k[n>>2]|0)+32>>2]|0)|0;k[o+68>>2]=v;if(!(k[o+68>>2]|0)){k[o+24>>2]=1;break}k[j>>2]=(((k[381]|0)>>>0)/((k[(k[n>>2]|0)+32>>2]|0)>>>0)|0)+1;if((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0)vK(o,k[j>>2]|0);k[o+28>>2]=42202;v=or((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;wK(o,1,v,or((k[(k[(k[n>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);k[o+28>>2]=0;v=(k[(k[n>>2]|0)+4>>2]|0)+24|0;k[v>>2]=k[v>>2]&-268435457;k[j>>2]=0;while(1){if(!((k[j>>2]|0)<(k[g>>2]|0)?(k[o+16>>2]|0)!=0:0))break;if(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0){if((l[(k[n>>2]|0)+17>>0]|0)!=0?(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0)>1:0)xK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,1,0);yK(o,k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0,m,-1,2147483647)|0}k[j>>2]=(k[j>>2]|0)+1}k[(k[(k[n>>2]|0)+4>>2]|0)+24>>2]=k[p>>2];k[j>>2]=1;while(1){if(!((k[j>>2]|0)>>>0<=(k[o+12>>2]|0)>>>0?(k[o+16>>2]|0)!=0:0))break a;do if(!(zK(o,k[j>>2]|0)|0)){v=CF(k[n>>2]|0,k[j>>2]|0)|0;if((v|0)==(k[j>>2]|0)?(i[(k[n>>2]|0)+17>>0]|0)!=0:0)break;k[q>>2]=k[j>>2];AK(o,42218,q)}while(0);if(((zK(o,k[j>>2]|0)|0)!=0?(v=CF(k[n>>2]|0,k[j>>2]|0)|0,(v|0)==(k[j>>2]|0)):0)?(l[(k[n>>2]|0)+17>>0]|0)!=0:0){k[s>>2]=k[j>>2];AK(o,42240,s)}k[j>>2]=(k[j>>2]|0)+1}}while(0);hj(k[o+68>>2]|0);Ud(k[o+8>>2]|0);if(k[o+24>>2]|0){vA(o+40|0);v=o+20|0;k[v>>2]=(k[v>>2]|0)+1}k[k[h>>2]>>2]=k[o+20>>2];if(k[o+20>>2]|0){v=o+40|0;v=pg(v)|0;r=t;return v|0}vA(o+40|0);v=o+40|0;v=pg(v)|0;r=t;return v|0}function lJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+32>>2];eh(k[b>>2]|0);a=Vw(k[c>>2]|0,64,0)|0;k[(k[b>>2]|0)+20>>2]=a;if(i[(k[c>>2]|0)+69>>0]|0){j[(k[b>>2]|0)+8>>1]=1;k[(k[b>>2]|0)+24>>2]=0;r=d;return}else{a=pu(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0)|0;k[(k[b>>2]|0)+24>>2]=a;a=uK(k[c>>2]|0,k[(k[b>>2]|0)+20>>2]|0,k[(k[b>>2]|0)+24>>2]|0)|0;k[k[b>>2]>>2]=a;j[(k[b>>2]|0)+8>>1]=32;r=d;return}}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h;f=h+12|0;g=h+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;a=rK(k[d>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){r=h;return}b=e;c=k[b+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[b>>2];k[a+4>>2]=c;k[(k[f>>2]|0)+8>>2]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];if(k[g>>2]|0){if(((m[(k[d>>2]|0)+26>>1]|0)&1|0)!=0?(e,b=k[e+4>>2]|0,a=k[g>>2]|0,c=k[a+4>>2]|0,(b|0)<(c|0)|((b|0)==(c|0)?(k[e>>2]|0)>>>0<=(k[a>>2]|0)>>>0:0)):0){a=(k[d>>2]|0)+26|0;j[a>>1]=(m[a>>1]|0)&-2}k[(k[g>>2]|0)+8>>2]=k[f>>2]}else k[(k[d>>2]|0)+8>>2]=k[f>>2];k[(k[d>>2]|0)+12>>2]=k[f>>2];r=h;return}function nJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(!((m[(k[d>>2]|0)+26>>1]|0)&2))tK(k[d>>2]|0);if(!(k[(k[d>>2]|0)+8>>2]|0)){k[c>>2]=0;b=k[c>>2]|0;r=f;return b|0}g=k[(k[d>>2]|0)+8>>2]|0;a=k[g+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[g>>2];k[b+4>>2]=a;k[(k[d>>2]|0)+8>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+8>>2];if(!(k[(k[d>>2]|0)+8>>2]|0))WF(k[d>>2]|0);k[c>>2]=1;g=k[c>>2]|0;r=f;return g|0}function oJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;e=s+32|0;f=s+28|0;o=s;p=s+24|0;q=s+20|0;i=s+16|0;g=s+12|0;h=s+8|0;k[e>>2]=a;k[f>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;if((k[f>>2]|0)!=(k[(k[e>>2]|0)+28>>2]|0)){k[p>>2]=k[(k[e>>2]|0)+8>>2];if(k[p>>2]|0){k[i>>2]=(k[e>>2]|0)+20;if(!((m[(k[e>>2]|0)+26>>1]|0)&1)){a=nK(k[p>>2]|0)|0;k[p>>2]=a}k[q>>2]=k[(k[e>>2]|0)+20>>2];while(1){if(!(k[q>>2]|0))break;k[i>>2]=(k[q>>2]|0)+8;if(!(k[(k[q>>2]|0)+12>>2]|0)){l=8;break}pK(k[(k[q>>2]|0)+12>>2]|0,g,h);k[(k[q>>2]|0)+12>>2]=0;a=qK(k[g>>2]|0,k[p>>2]|0)|0;k[p>>2]=a;k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==8){l=oK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}if((k[q>>2]|0)==0?(l=rK(k[e>>2]|0)|0,k[q>>2]=l,k[k[i>>2]>>2]=l,(k[q>>2]|0)!=0):0){l=k[q>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[(k[q>>2]|0)+8>>2]=0;l=oK(k[p>>2]|0)|0;k[(k[q>>2]|0)+12>>2]=l}k[(k[e>>2]|0)+8>>2]=0;k[(k[e>>2]|0)+12>>2]=0;l=(k[e>>2]|0)+26|0;j[l>>1]=m[l>>1]|0|1}k[(k[e>>2]|0)+28>>2]=k[f>>2]}k[q>>2]=k[(k[e>>2]|0)+20>>2];a:while(1){if(!(k[q>>2]|0)){l=25;break}k[p>>2]=k[(k[q>>2]|0)+12>>2];while(1){if(!(k[p>>2]|0))break;i=k[p>>2]|0;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;c=k[p>>2]|0;if((a|0)<(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0<(k[l>>2]|0)>>>0:0)){k[p>>2]=k[c+8>>2];continue}i=c;a=k[i+4>>2]|0;l=o;h=k[l+4>>2]|0;if(!((a|0)>(h|0)|((a|0)==(h|0)?(k[i>>2]|0)>>>0>(k[l>>2]|0)>>>0:0))){l=23;break a}k[p>>2]=k[(k[p>>2]|0)+12>>2]}k[q>>2]=k[(k[q>>2]|0)+8>>2]}if((l|0)==23){k[n>>2]=1;q=k[n>>2]|0;r=s;return q|0}else if((l|0)==25){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function pJ(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((l[(k[c>>2]|0)+17>>0]|0|0)>=3){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,c=k[a+4>>2]|0,(c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>0):0){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}k[b>>2]=1;a=k[b>>2]|0;r=d;return a|0}function qJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e+8|0;b=e+4|0;c=e;k[b>>2]=a;k[c>>2]=k[k[(k[b>>2]|0)+64>>2]>>2];if(i[(k[b>>2]|0)+14>>0]|0){k[d>>2]=0;d=k[d>>2]|0;r=e;return d|0}if(!(l[(k[b>>2]|0)+4>>0]|0))if((k[k[c>>2]>>2]|0)>=2)b=(k[(k[c>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;k[d>>2]=b&1;d=k[d>>2]|0;r=e;return d|0}function rJ(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if(!(k[(k[b>>2]|0)+216>>2]|0)){k[c>>2]=0;a=Lt(k[b>>2]|0,1)|0;k[d>>2]=a;if(!(k[d>>2]|0)){a=bs(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+220>>2]|0,0,c)|0;k[d>>2]=a}if((k[d>>2]|0)==0&(k[c>>2]|0)!=0){a=iK(k[b>>2]|0)|0;k[d>>2]=a}}if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}if(!(k[(k[b>>2]|0)+216>>2]|0)){d=k[d>>2]|0;r=e;return d|0}a=jK(k[b>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){d=k[d>>2]|0;r=e;return d|0}a=rr(k[(k[b>>2]|0)+216>>2]|0,l[(k[b>>2]|0)+10>>0]|0,k[(k[b>>2]|0)+160>>2]|0,k[(k[b>>2]|0)+208>>2]|0)|0;k[d>>2]=a;k[(k[b>>2]|0)+216>>2]=0;ij(k[b>>2]|0);d=k[d>>2]|0;r=e;return d|0}function sJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+12|0;d=h+8|0;e=h+16|0;f=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;i[e>>0]=i[(k[c>>2]|0)+5>>0]|0;if((i[(k[c>>2]|0)+16>>0]|0)!=0?(k[d>>2]|0)!=4&(k[d>>2]|0)!=2:0)k[d>>2]=l[e>>0];do if((k[d>>2]|0)!=(l[e>>0]|0)){i[(k[c>>2]|0)+5>>0]=k[d>>2];if(((i[(k[c>>2]|0)+4>>0]|0)==0?(l[e>>0]&5|0)==1:0)?(k[d>>2]&1|0)==0:0){wr(k[(k[c>>2]|0)+68>>2]|0)|0;if((l[(k[c>>2]|0)+18>>0]|0)>=2){Fr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;break}k[f>>2]=0;k[g>>2]=l[(k[c>>2]|0)+17>>0];if(!(k[g>>2]|0)){a=bK(k[c>>2]|0)|0;k[f>>2]=a}if((l[(k[c>>2]|0)+17>>0]|0)==1){a=Lt(k[c>>2]|0,2)|0;k[f>>2]=a}if(!(k[f>>2]|0))Fr(k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0;if((k[f>>2]|0)==0&(k[g>>2]|0)==1){Lr(k[c>>2]|0,1)|0;break}if(k[g>>2]|0)break;sr(k[c>>2]|0);break}if((k[d>>2]|0)==2)wr(k[(k[c>>2]|0)+68>>2]|0)|0}while(0);r=h;return l[(k[c>>2]|0)+5>>0]|0}function tJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;g=x+64|0;f=x+60|0;h=x+56|0;s=x+52|0;p=x+48|0;q=x+44|0;e=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;o=x+20|0;c=x+16|0;n=x+12|0;d=x+8|0;m=x+4|0;j=x;k[f>>2]=a;k[h>>2]=b;k[s>>2]=0;k[e>>2]=0;k[o>>2]=0;if(!(i[(k[h>>2]|0)+67>>0]|0)){Kj(k[f>>2]|0,k[h>>2]|0,40995);k[g>>2]=1;w=k[g>>2]|0;r=x;return w|0}if((k[(k[h>>2]|0)+152>>2]|0)>1){Kj(k[f>>2]|0,k[h>>2]|0,41035);k[g>>2]=1;w=k[g>>2]|0;r=x;return w|0}k[t>>2]=k[(k[h>>2]|0)+24>>2];k[u>>2]=k[(k[h>>2]|0)+84>>2];k[v>>2]=k[(k[h>>2]|0)+88>>2];k[w>>2]=k[(k[h>>2]|0)+180>>2];a=(k[h>>2]|0)+24|0;k[a>>2]=k[a>>2]|2107392;a=(k[h>>2]|0)+24|0;k[a>>2]=k[a>>2]&-655361;k[(k[h>>2]|0)+180>>2]=0;k[p>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+4>>2];a=VJ(Zf(k[p>>2]|0)|0)|0;k[c>>2]=a;k[d>>2]=k[(k[h>>2]|0)+20>>2];if(fr(k[h>>2]|0)|0)k[e>>2]=41078;else k[e>>2]=41110;e=WJ(k[h>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[s>>2]=e;if((k[(k[h>>2]|0)+20>>2]|0)>(k[d>>2]|0))k[o>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[(k[h>>2]|0)+20>>2]|0)-1<<4);a:do if((((k[s>>2]|0)==0?(k[q>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+((k[(k[h>>2]|0)+20>>2]|0)-1<<4)+4>>2],Oj(k[q>>2]|0)|0,e=XJ(k[p>>2]|0)|0,k[n>>2]=e,e=WJ(k[h>>2]|0,k[f>>2]|0,41134)|0,k[s>>2]=e,(k[s>>2]|0)==0):0)?(e=WJ(k[h>>2]|0,k[f>>2]|0,41167)|0,k[s>>2]=e,(k[s>>2]|0)==0):0)?(e=yg(k[p>>2]|0,2)|0,k[s>>2]=e,(k[s>>2]|0)==0):0){if((Cg(Zf(k[p>>2]|0)|0)|0)==5)k[(k[h>>2]|0)+76>>2]=0;a=k[q>>2]|0;e=Bg(k[p>>2]|0)|0;do if(!(Ki(a,e,k[n>>2]|0,0)|0)){if((k[c>>2]|0)==0?(Ki(k[q>>2]|0,k[(k[h>>2]|0)+76>>2]|0,k[n>>2]|0,0)|0)!=0:0)break;if(!(l[(k[h>>2]|0)+69>>0]|0)){b=k[q>>2]|0;if((i[(k[h>>2]|0)+72>>0]|0)>=0)c=i[(k[h>>2]|0)+72>>0]|0;else c=hC(k[p>>2]|0)|0;jC(b,c)|0;e=YJ(k[h>>2]|0,k[f>>2]|0,41174)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=YJ(k[h>>2]|0,k[f>>2]|0,41322)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=YJ(k[h>>2]|0,k[f>>2]|0,41426)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=(k[h>>2]|0)+24|0;k[e>>2]=k[e>>2]|134217728;e=YJ(k[h>>2]|0,k[f>>2]|0,41544)|0;k[s>>2]=e;e=(k[h>>2]|0)+24|0;k[e>>2]=k[e>>2]&-134217729;if(k[s>>2]|0)break a;e=YJ(k[h>>2]|0,k[f>>2]|0,41740)|0;k[s>>2]=e;if(k[s>>2]|0)break a;e=YJ(k[h>>2]|0,k[f>>2]|0,41853)|0;k[s>>2]=e;if(k[s>>2]|0)break a;f=WJ(k[h>>2]|0,k[f>>2]|0,42008)|0;k[s>>2]=f;if(k[s>>2]|0)break a;k[j>>2]=0;while(1){b=k[p>>2]|0;if((k[j>>2]|0)>=10)break;zg(b,l[42192+(k[j>>2]|0)>>0]|0,m);f=Kg(k[q>>2]|0,l[42192+(k[j>>2]|0)>>0]|0,(k[m>>2]|0)+(l[42192+((k[j>>2]|0)+1)>>0]|0)|0)|0;k[s>>2]=f;if(k[s>>2]|0)break a;k[j>>2]=(k[j>>2]|0)+2}m=ZJ(b,k[q>>2]|0)|0;k[s>>2]=m;if(k[s>>2]|0)break a;m=Oj(k[q>>2]|0)|0;k[s>>2]=m;if(k[s>>2]|0)break a;m=k[p>>2]|0;jC(m,hC(k[q>>2]|0)|0)|0;m=k[p>>2]|0;q=Bg(k[q>>2]|0)|0;q=Ki(m,q,k[n>>2]|0,1)|0;k[s>>2]=q;break a}}while(0);k[s>>2]=7}while(0);k[(k[h>>2]|0)+24>>2]=k[t>>2];k[(k[h>>2]|0)+84>>2]=k[u>>2];k[(k[h>>2]|0)+88>>2]=k[v>>2];k[(k[h>>2]|0)+180>>2]=k[w>>2];Ki(k[p>>2]|0,-1,-1,1)|0;i[(k[h>>2]|0)+67>>0]=1;if(k[o>>2]|0){BB(k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[o>>2]|0)+4>>2]=0;k[(k[o>>2]|0)+12>>2]=0}Lg(k[h>>2]|0);k[g>>2]=k[s>>2];w=k[g>>2]|0;r=x;return w|0}function uJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+20|0;f=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;b=g;k[h>>2]=a;k[e>>2]=k[(k[h>>2]|0)+4>>2];wg(k[h>>2]|0);if(!(i[(k[e>>2]|0)+17>>0]|0)){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=qF(k[e>>2]|0)|0;k[d>>2]=h;h=or((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[c>>2]=h;h=IJ(k[e>>2]|0,k[d>>2]|0,k[c>>2]|0)|0;k[b>>2]=h;if((k[d>>2]|0)>>>0<(k[b>>2]|0)>>>0){h=Yj(59412)|0;k[f>>2]=h;h=k[f>>2]|0;r=g;return h|0}if((k[c>>2]|0)>>>0<=0){k[f>>2]=101;h=k[f>>2]|0;r=g;return h|0}h=DH(k[e>>2]|0,0,0)|0;k[f>>2]=h;if(!(k[f>>2]|0)){JJ(k[e>>2]|0);h=KJ(k[e>>2]|0,k[b>>2]|0,k[d>>2]|0,0)|0;k[f>>2]=h}if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}h=Pg(k[(k[(k[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[f>>2]=h;kt((k[(k[(k[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[e>>2]|0)+44>>2]|0);h=k[f>>2]|0;r=g;return h|0}function vJ(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;j=r;r=r+16|0;d=j+8|0;e=j+4|0;f=j+13|0;h=j;g=j+12|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;k[h>>2]=0;if(!(i[(k[d>>2]|0)+9>>0]|0)){h=k[h>>2]|0;r=j;return h|0}i[g>>0]=1+(l[f>>0]|0);wg(k[d>>2]|0);a=CH(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=j;return h|0}a=HJ(k[d>>2]|0,k[e>>2]|0,i[g>>0]|0)|0;k[h>>2]=a;h=k[h>>2]|0;r=j;return h|0}function wJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;e=l+16|0;i=l+12|0;h=l+8|0;f=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[i>>2]=0;if((k[(k[d>>2]|0)+316>>2]|0)>0?(k[(k[d>>2]|0)+340>>2]|0)==0:0){k[c>>2]=6;j=k[c>>2]|0;r=l;return j|0}if(!(k[e>>2]|0)){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}k[h>>2]=k[k[(k[e>>2]|0)+8>>2]>>2];if(k[(k[h>>2]|0)+56>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0))break;if((k[(k[(k[d>>2]|0)+340>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[e>>2]|0)){j=10;break}k[f>>2]=(k[f>>2]|0)+1}if((j|0)==10){k[c>>2]=0;j=k[c>>2]|0;r=l;return j|0}j=FJ(k[d>>2]|0)|0;k[i>>2]=j;if(((k[i>>2]|0)==0?(j=bc[k[(k[h>>2]|0)+56>>2]&255](k[(k[e>>2]|0)+8>>2]|0)|0,k[i>>2]=j,(k[i>>2]|0)==0):0)?(k[g>>2]=(k[(k[d>>2]|0)+436>>2]|0)+(k[(k[d>>2]|0)+432>>2]|0),GJ(k[d>>2]|0,k[e>>2]|0),(k[g>>2]|0)!=0):0){j=DI(k[d>>2]|0,0,(k[g>>2]|0)-1|0)|0;k[i>>2]=j}}k[c>>2]=k[i>>2];j=k[c>>2]|0;r=l;return j|0}function xJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;f=m+20|0;i=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;k[e>>2]=a;k[n>>2]=b;k[o>>2]=c;k[f>>2]=d;k[i>>2]=0;c=Bi(k[e>>2]|0,k[o>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2]|0)|0;k[h>>2]=c;k[l>>2]=k[k[(k[h>>2]|0)+52>>2]>>2];c=Aj((k[e>>2]|0)+320|0,k[l>>2]|0)|0;k[g>>2]=c;if(((k[g>>2]|0)!=0?(k[(k[k[g>>2]>>2]|0)+4>>2]|0)!=0:0)?(k[(k[k[g>>2]>>2]|0)+20>>2]|0)!=0:0){o=Ez(k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+4>>2]|0,k[f>>2]|0)|0;k[i>>2]=o}else{o=k[e>>2]|0;k[j>>2]=k[l>>2];o=Nh(o,31219,j)|0;k[k[f>>2]>>2]=o;k[i>>2]=1}if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}if(!(Qx(k[e>>2]|0,k[h>>2]|0)|0)){o=k[i>>2]|0;r=m;return o|0}o=FJ(k[e>>2]|0)|0;k[i>>2]=o;if(k[i>>2]|0){o=k[i>>2]|0;r=m;return o|0}o=k[e>>2]|0;GJ(o,Qx(k[e>>2]|0,k[h>>2]|0)|0);o=k[i>>2]|0;r=m;return o|0}function yJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;l=j+20|0;m=j+16|0;h=j+12|0;g=j+8|0;f=j+4|0;i=j;k[e>>2]=a;k[l>>2]=b;k[m>>2]=c;k[h>>2]=0;c=Bi(k[e>>2]|0,k[m>>2]|0,k[(k[(k[e>>2]|0)+16>>2]|0)+(k[l>>2]<<4)>>2]|0)|0;k[g>>2]=c;do if((k[g>>2]|0)!=0?(k[(k[g>>2]|0)+56>>2]|0)!=0:0){k[f>>2]=k[(k[g>>2]|0)+56>>2];while(1){if(!(k[f>>2]|0)){a=8;break}if((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}k[f>>2]=k[(k[f>>2]|0)+24>>2]}if((a|0)==6){k[d>>2]=6;m=k[d>>2]|0;r=j;return m|0}else if((a|0)==8){m=TH(k[e>>2]|0,k[g>>2]|0)|0;k[f>>2]=m;k[i>>2]=k[(k[k[(k[f>>2]|0)+4>>2]>>2]|0)+20>>2];m=bc[k[i>>2]&255](k[(k[f>>2]|0)+8>>2]|0)|0;k[h>>2]=m;if(k[h>>2]|0)break;k[(k[f>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+56>>2]=0;xu(k[f>>2]|0);break}}while(0);k[d>>2]=k[h>>2];m=k[d>>2]|0;r=j;return m|0}function zJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;c=d;k[f>>2]=a;k[e>>2]=b;wg(k[f>>2]|0);a=EJ(k[k[(k[f>>2]|0)+4>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function AJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;d=D+148|0;e=D+144|0;f=D+140|0;n=D+136|0;u=D+132|0;o=D+128|0;t=D+124|0;h=D+120|0;v=D+116|0;C=D+88|0;c=D+84|0;q=D+80|0;g=D+152|0;w=D;s=D+76|0;k[d>>2]=a;k[e>>2]=b;k[n>>2]=0;k[u>>2]=1;k[f>>2]=k[k[d>>2]>>2];ng(C,k[f>>2]|0,D+156|0,100,k[(k[f>>2]|0)+92>>2]|0);if((k[(k[f>>2]|0)+164>>2]|0)>1){while(1){if(!(i[k[e>>2]>>0]|0))break;k[c>>2]=k[e>>2];do{B=k[e>>2]|0;k[e>>2]=B+1;if((i[B>>0]|0)==10)break}while((i[k[e>>2]>>0]|0)!=0);qA(C,40961,3);qA(C,k[c>>2]|0,(k[e>>2]|0)-(k[c>>2]|0)|0)}C=pg(C)|0;r=D;return C|0}if(!(j[(k[d>>2]|0)+68>>1]|0)){B=k[e>>2]|0;qA(C,B,Tf(k[e>>2]|0)|0);C=pg(C)|0;r=D;return C|0}while(1){if(!(i[k[e>>2]>>0]|0)){a=33;break}c=DJ(k[e>>2]|0,t)|0;k[o>>2]=c;qA(C,k[e>>2]|0,k[o>>2]|0);k[e>>2]=(k[e>>2]|0)+(k[o>>2]|0);if(!(k[t>>2]|0)){a=33;break}do if((i[k[e>>2]>>0]|0)==63)if((k[t>>2]|0)>1){Yi((k[e>>2]|0)+1|0,n)|0;break}else{k[n>>2]=k[u>>2];break}else{c=Hh(k[d>>2]|0,k[e>>2]|0,k[t>>2]|0)|0;k[n>>2]=c}while(0);k[e>>2]=(k[e>>2]|0)+(k[t>>2]|0);k[u>>2]=(k[n>>2]|0)+1;k[v>>2]=(k[(k[d>>2]|0)+60>>2]|0)+(((k[n>>2]|0)-1|0)*40|0);if(m[(k[v>>2]|0)+8>>1]&1){qA(C,40149,4);continue}b=k[v>>2]|0;if(m[(k[v>>2]|0)+8>>1]&4){a=b;b=k[a+4>>2]|0;c=x;k[c>>2]=k[a>>2];k[c+4>>2]=b;pA(C,28862,x);continue}a=k[v>>2]|0;if(m[b+8>>1]&8){p[y>>3]=+p[a>>3];pA(C,28867,y);continue}if(m[a+8>>1]&2){i[g>>0]=i[(k[f>>2]|0)+66>>0]|0;if((l[g>>0]|0)!=1){a=w;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[w+32>>2]=k[f>>2];ph(w,k[(k[v>>2]|0)+16>>2]|0,k[(k[v>>2]|0)+12>>2]|0,i[g>>0]|0,0)|0;nu(w,1)|0;k[v>>2]=w}k[q>>2]=k[(k[v>>2]|0)+12>>2];c=k[(k[v>>2]|0)+16>>2]|0;k[A>>2]=k[q>>2];k[A+4>>2]=c;pA(C,40965,A);if((l[g>>0]|0)==1)continue;eh(w);continue}if(m[(k[v>>2]|0)+8>>1]&16384){k[B>>2]=k[k[v>>2]>>2];pA(C,40972,B);continue}qA(C,40985,2);k[s>>2]=k[(k[v>>2]|0)+12>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[s>>2]|0))break;k[z>>2]=i[(k[(k[v>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]&255;pA(C,40988,z);k[h>>2]=(k[h>>2]|0)+1}qA(C,40993,1)}if((a|0)==33){C=pg(C)|0;r=D;return C|0}return 0}function BJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)==3082){r=e;return}k[d>>2]=k[d>>2]&255;if(!((k[d>>2]|0)==14|(k[d>>2]|0)==10)){r=e;return}b=CJ(k[k[c>>2]>>2]|0)|0;k[(k[c>>2]|0)+60>>2]=b;r=e;return}function CJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+68>>2]|0)){a=0;r=c;return a|0}a=Yb[k[(k[b>>2]|0)+68>>2]&255](k[b>>2]|0,0,0)|0;r=c;return a|0}function DJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;k[k[d>>2]>>2]=0;while(1){if(!(i[k[c>>2]>>0]|0)){h=6;break}b=ev(k[c>>2]|0,g)|0;k[e>>2]=b;b=k[e>>2]|0;if((k[g>>2]|0)==135)break;k[f>>2]=(k[f>>2]|0)+b;k[c>>2]=(k[c>>2]|0)+(k[e>>2]|0)}if((h|0)==6){h=k[f>>2]|0;r=j;return h|0}k[k[d>>2]>>2]=b;h=k[f>>2]|0;r=j;return h|0}function EJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>0)k[(k[c>>2]|0)+164>>2]=k[d>>2];r=e;return k[(k[c>>2]|0)+164>>2]|0}function FJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+16|0;c=f+12|0;d=f+4|0;e=f;k[c>>2]=a;k[f+8>>2]=5;do if(!((k[(k[c>>2]|0)+316>>2]|0)%5|0)){k[e>>2]=(k[(k[c>>2]|0)+316>>2]|0)+5<<2;e=k[e>>2]|0;e=Uw(k[c>>2]|0,k[(k[c>>2]|0)+340>>2]|0,e,((e|0)<0)<<31>>31)|0;k[d>>2]=e;if(k[d>>2]|0){e=(k[d>>2]|0)+(k[(k[c>>2]|0)+316>>2]<<2)|0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[(k[c>>2]|0)+340>>2]=k[d>>2];break}k[b>>2]=7;e=k[b>>2]|0;r=f;return e|0}while(0);k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}function GJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[d>>2]|0;f=(k[e>>2]|0)+316|0;b=k[f>>2]|0;k[f>>2]=b+1;k[(k[(k[e>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;OH(k[d>>2]|0);r=c;return}function HJ(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,m=0,n=0,o=0;o=r;r=r+32|0;d=o+20|0;e=o+16|0;f=o+12|0;g=o+24|0;h=o+8|0;m=o+4|0;j=o;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];k[m>>2]=0;k[j>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[j>>2]|0))break;if((k[(k[j>>2]|0)+4>>2]|0)==(k[f>>2]|0)?(k[k[j>>2]>>2]|0)==(k[e>>2]|0):0){n=5;break}k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((n|0)==5)k[m>>2]=k[j>>2];do if(!(k[m>>2]|0)){n=ug(16,0)|0;k[m>>2]=n;if(k[m>>2]|0){k[(k[m>>2]|0)+4>>2]=k[f>>2];k[k[m>>2]>>2]=k[e>>2];k[(k[m>>2]|0)+12>>2]=k[(k[h>>2]|0)+72>>2];k[(k[h>>2]|0)+72>>2]=k[m>>2];break}k[d>>2]=7;n=k[d>>2]|0;r=o;return n|0}while(0);if((l[g>>0]|0|0)>(l[(k[m>>2]|0)+8>>0]|0|0))i[(k[m>>2]|0)+8>>0]=i[g>>0]|0;k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}function IJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=r;r=r+32|0;d=f+20|0;g=f+16|0;i=f+12|0;j=f+8|0;h=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[i>>2]=c;k[j>>2]=((k[(k[d>>2]|0)+36>>2]|0)>>>0)/5|0;a=(k[i>>2]|0)-(k[g>>2]|0)|0;a=a+(CF(k[d>>2]|0,k[g>>2]|0)|0)|0;k[h>>2]=((a+(k[j>>2]|0)|0)>>>0)/((k[j>>2]|0)>>>0)|0;k[e>>2]=(k[g>>2]|0)-(k[i>>2]|0)-(k[h>>2]|0);if((k[g>>2]|0)>>>0>((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(k[e>>2]|0)>>>0<((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)k[e>>2]=(k[e>>2]|0)+-1;while(1){j=CF(k[d>>2]|0,k[e>>2]|0)|0;if((j|0)==(k[e>>2]|0))b=1;else b=(k[e>>2]|0)==((((k[381]|0)>>>0)/((k[(k[d>>2]|0)+32>>2]|0)>>>0)|0)+1|0);c=k[e>>2]|0;if(!b)break;k[e>>2]=c+-1}r=f;return c|0}function JJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+8>>2];while(1){if(!(k[b>>2]|0))break;d=(k[b>>2]|0)+64|0;i[d>>0]=(l[d>>0]|0)&-5;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function KJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;e=z+52|0;f=z+48|0;g=z+44|0;h=z+40|0;j=z+36|0;t=z+32|0;x=z+28|0;n=z+57|0;s=z+24|0;o=z+20|0;u=z+16|0;p=z+12|0;w=z+8|0;m=z+56|0;q=z+4|0;v=z;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;a=CF(k[f>>2]|0,k[h>>2]|0)|0;do if((a|0)!=(k[h>>2]|0)?(k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){a=or((k[(k[(k[f>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;k[t>>2]=a;if(!(k[t>>2]|0)){k[e>>2]=101;y=k[e>>2]|0;r=z;return y|0}a=DF(k[f>>2]|0,k[h>>2]|0,n,s)|0;k[x>>2]=a;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==1){y=Yj(59297)|0;k[e>>2]=y;y=k[e>>2]|0;r=z;return y|0}if((l[n>>0]|0|0)==2){if(k[j>>2]|0)break;y=LJ(k[f>>2]|0,u,o,k[h>>2]|0,1)|0;k[x>>2]=y;if(!(k[x>>2]|0)){GB(k[u>>2]|0);break}k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}i[m>>0]=0;k[q>>2]=0;u=EF(k[f>>2]|0,k[h>>2]|0,w,0)|0;k[x>>2]=u;if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}if(!(k[j>>2]|0)){i[m>>0]=2;k[q>>2]=k[g>>2]}do{u=LJ(k[f>>2]|0,v,p,k[q>>2]|0,i[m>>0]|0)|0;k[x>>2]=u;if(k[x>>2]|0){y=19;break}GB(k[v>>2]|0);if(!(k[j>>2]|0))break}while((k[p>>2]|0)>>>0>(k[g>>2]|0)>>>0);if((y|0)==19){GB(k[w>>2]|0);k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}y=MJ(k[f>>2]|0,k[w>>2]|0,i[n>>0]|0,k[s>>2]|0,k[p>>2]|0,k[j>>2]|0)|0;k[x>>2]=y;GB(k[w>>2]|0);if(k[x>>2]|0){k[e>>2]=k[x>>2];y=k[e>>2]|0;r=z;return y|0}}while(0);if(!(k[j>>2]|0)){while(1){k[h>>2]=(k[h>>2]|0)+-1;if((k[h>>2]|0)==((((k[381]|0)>>>0)/((k[(k[f>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=CF(k[f>>2]|0,k[h>>2]|0)|0;if((y|0)!=(k[h>>2]|0))break}i[(k[f>>2]|0)+19>>0]=1;k[(k[f>>2]|0)+44>>2]=k[h>>2]}k[e>>2]=0;y=k[e>>2]|0;r=z;return y|0}function LJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=r;r=r+112|0;H=L+96|0;j=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;p=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;g=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;q=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;f=L+4|0;h=L;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;i[p>>0]=e;k[J>>2]=0;k[I>>2]=0;k[F>>2]=k[(k[j>>2]|0)+12>>2];b=qF(k[j>>2]|0)|0;k[A>>2]=b;b=or((k[(k[F>>2]|0)+56>>2]|0)+36|0)|0;k[B>>2]=b;if((k[B>>2]|0)>>>0>=(k[A>>2]|0)>>>0){K=Yj(61354)|0;k[H>>2]=K;K=k[H>>2]|0;r=L;return K|0}a:do if((k[B>>2]|0)>>>0>0){i[G>>0]=0;k[C>>2]=0;do if((l[p>>0]|0)==1){if((k[o>>2]|0)>>>0<=(k[A>>2]|0)>>>0){b=DF(k[j>>2]|0,k[o>>2]|0,g,0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{if((l[g>>0]|0)!=2)break;i[G>>0]=1;break}}}else if((l[p>>0]|0)==2)i[G>>0]=1;while(0);b=Pg(k[(k[F>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}kt((k[(k[F>>2]|0)+56>>2]|0)+36|0,(k[B>>2]|0)-1|0);b:while(1){k[I>>2]=k[J>>2];if(k[I>>2]|0){b=or(k[(k[I>>2]|0)+56>>2]|0)|0;k[y>>2]=b}else{b=or((k[(k[F>>2]|0)+56>>2]|0)+32|0)|0;k[y>>2]=b}if((k[y>>2]|0)>>>0<=(k[A>>2]|0)>>>0?(b=k[C>>2]|0,k[C>>2]=b+1,b>>>0<=(k[B>>2]|0)>>>0):0){b=TJ(k[j>>2]|0,k[y>>2]|0,J,0)|0;k[K>>2]=b}else{b=Yj(61410)|0;k[K>>2]=b}if(k[K>>2]|0){f=23;break}b=or((k[(k[J>>2]|0)+56>>2]|0)+4|0)|0;k[z>>2]=b;c:do if((k[z>>2]|0)!=0|(i[G>>0]|0)!=0){if((k[z>>2]|0)>>>0>((((k[(k[j>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){f=28;break b}do if(l[G>>0]|0){if((k[o>>2]|0)!=(k[y>>2]|0)){if((k[y>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[y>>2];k[k[m>>2]>>2]=k[J>>2];i[G>>0]=0;b=Pg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;do if(!(k[z>>2]|0)){if(!(k[I>>2]|0)){b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;break}b=Pg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;b=k[(k[I>>2]|0)+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}else{b=or((k[(k[J>>2]|0)+56>>2]|0)+8|0)|0;k[w>>2]=b;if((k[w>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=40;break b}b=TJ(k[j>>2]|0,k[w>>2]|0,E,0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;e=Pg(k[(k[E>>2]|0)+72>>2]|0)|0;k[K>>2]=e;e=k[E>>2]|0;if(k[K>>2]|0){f=43;break b}b=k[e+56>>2]|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;kt((k[(k[E>>2]|0)+56>>2]|0)+4|0,(k[z>>2]|0)-1|0);BR((k[(k[E>>2]|0)+56>>2]|0)+8|0,(k[(k[J>>2]|0)+56>>2]|0)+12|0,(k[z>>2]|0)-1<<2|0)|0;GB(k[E>>2]|0);if(!(k[I>>2]|0)){kt((k[(k[F>>2]|0)+56>>2]|0)+32|0,k[w>>2]|0);break}b=Pg(k[(k[I>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;kt(k[(k[I>>2]|0)+56>>2]|0,k[w>>2]|0)}while(0);k[J>>2]=0;break c}while(0);if((k[z>>2]|0)>>>0>0){k[q>>2]=k[(k[J>>2]|0)+56>>2];b=(k[o>>2]|0)>>>0>0;k[s>>2]=0;d:do if(b)if((l[p>>0]|0)==2){k[v>>2]=0;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;f=or((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;k[x>>2]=f;f=k[v>>2]|0;if((k[x>>2]|0)>>>0<=(k[o>>2]|0)>>>0)break;k[v>>2]=f+1}k[s>>2]=f;break}else{b=or((k[q>>2]|0)+8|0)|0;b=Lj(b-(k[o>>2]|0)|0)|0;k[u>>2]=b;k[v>>2]=1;while(1){if((k[v>>2]|0)>>>0>=(k[z>>2]|0)>>>0)break d;b=or((k[q>>2]|0)+(8+(k[v>>2]<<2))|0)|0;b=Lj(b-(k[o>>2]|0)|0)|0;k[t>>2]=b;if((k[t>>2]|0)<(k[u>>2]|0)){k[s>>2]=k[v>>2];k[u>>2]=k[t>>2]}k[v>>2]=(k[v>>2]|0)+1}}while(0);b=or((k[q>>2]|0)+(8+(k[s>>2]<<2))|0)|0;k[x>>2]=b;if((k[x>>2]|0)>>>0>(k[A>>2]|0)>>>0){f=63;break b}if((i[G>>0]|0)!=0?(k[x>>2]|0)!=(k[o>>2]|0):0){if((k[x>>2]|0)>>>0>=(k[o>>2]|0)>>>0)break;if((l[p>>0]|0)!=2)break}k[k[n>>2]>>2]=k[x>>2];b=Pg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;if((k[s>>2]|0)>>>0<((k[z>>2]|0)-1|0)>>>0){b=(k[q>>2]|0)+(8+(k[s>>2]<<2))|0;c=(k[q>>2]|0)+(4+(k[z>>2]<<2))|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0}kt((k[q>>2]|0)+4|0,(k[z>>2]|0)-1|0);b=(UJ(k[j>>2]|0,k[k[n>>2]>>2]|0)|0)!=0^1;k[D>>2]=b?1:0;b=TJ(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[D>>2]|0)|0;k[K>>2]=b;do if(!(k[K>>2]|0)){b=Pg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(!(k[K>>2]|0))break;GB(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0}while(0);i[G>>0]=0}}else{b=Pg(k[(k[J>>2]|0)+72>>2]|0)|0;k[K>>2]=b;if(k[K>>2]|0)break a;k[k[n>>2]>>2]=k[y>>2];b=(k[(k[F>>2]|0)+56>>2]|0)+32|0;c=k[(k[J>>2]|0)+56>>2]|0;i[b>>0]=i[c>>0]|0;i[b+1>>0]=i[c+1>>0]|0;i[b+2>>0]=i[c+2>>0]|0;i[b+3>>0]=i[c+3>>0]|0;k[k[m>>2]>>2]=k[J>>2];k[J>>2]=0}while(0);GB(k[I>>2]|0);k[I>>2]=0;if(!(i[G>>0]|0))break a}if((f|0)==23){k[J>>2]=0;break}else if((f|0)==28){G=Yj(61439)|0;k[K>>2]=G;break}else if((f|0)==40){G=Yj(61473)|0;k[K>>2]=G;break}else if((f|0)==43){GB(e);break}else if((f|0)==63){G=Yj(61538)|0;k[K>>2]=G;break}}else{k[f>>2]=0==(l[(k[j>>2]|0)+19>>0]|0)?1:0;G=Pg(k[(k[(k[j>>2]|0)+12>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)==((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1}do if((l[(k[j>>2]|0)+17>>0]|0)!=0?(G=CF(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0)|0,(G|0)==(k[(k[j>>2]|0)+44>>2]|0)):0){k[h>>2]=0;G=TJ(k[j>>2]|0,k[(k[j>>2]|0)+44>>2]|0,h,k[f>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0)){G=Pg(k[(k[h>>2]|0)+72>>2]|0)|0;k[K>>2]=G;GB(k[h>>2]|0)}if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;if((k[(k[j>>2]|0)+44>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(k[j>>2]|0)+44|0;k[G>>2]=(k[G>>2]|0)+1;break}}while(0);kt((k[(k[(k[j>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,k[(k[j>>2]|0)+44>>2]|0);k[k[n>>2]>>2]=k[(k[j>>2]|0)+44>>2];G=TJ(k[j>>2]|0,k[k[n>>2]>>2]|0,k[m>>2]|0,k[f>>2]|0)|0;k[K>>2]=G;if(k[K>>2]|0){k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}else{G=Pg(k[(k[k[m>>2]>>2]|0)+72>>2]|0)|0;k[K>>2]=G;if(!(k[K>>2]|0))break;GB(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;break}}while(0);GB(k[J>>2]|0);GB(k[I>>2]|0);k[H>>2]=k[K>>2];K=k[H>>2]|0;r=L;return K|0}function MJ(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+48|0;m=v+40|0;n=v+36|0;g=v+32|0;o=v+44|0;p=v+28|0;q=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;h=v;k[n>>2]=a;k[g>>2]=b;i[o>>0]=c;k[p>>2]=d;k[q>>2]=e;k[w>>2]=f;k[s>>2]=k[(k[g>>2]|0)+84>>2];k[x>>2]=k[k[n>>2]>>2];b=NJ(k[x>>2]|0,k[(k[g>>2]|0)+72>>2]|0,k[q>>2]|0,k[w>>2]|0)|0;k[u>>2]=b;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}k[(k[g>>2]|0)+84>>2]=k[q>>2];if((l[o>>0]|0|0)!=5?(l[o>>0]|0|0)!=1:0){x=or(k[(k[g>>2]|0)+56>>2]|0)|0;k[h>>2]=x;if((k[h>>2]|0)!=0?(PJ(k[n>>2]|0,k[h>>2]|0,4,k[q>>2]|0,u),(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}}else j=5;if((j|0)==5?(x=OJ(k[g>>2]|0)|0,k[u>>2]=x,(k[u>>2]|0)!=0):0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}do if((l[o>>0]|0|0)!=1){x=EF(k[n>>2]|0,k[p>>2]|0,t,0)|0;k[u>>2]=x;if(k[u>>2]|0){k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}g=Pg(k[(k[t>>2]|0)+72>>2]|0)|0;k[u>>2]=g;g=k[t>>2]|0;if(k[u>>2]|0){GB(g);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}else{x=QJ(g,k[s>>2]|0,k[q>>2]|0,i[o>>0]|0)|0;k[u>>2]=x;GB(k[t>>2]|0);if(k[u>>2]|0)break;PJ(k[n>>2]|0,k[q>>2]|0,i[o>>0]|0,k[p>>2]|0,u);break}}while(0);k[m>>2]=k[u>>2];x=k[m>>2]|0;r=v;return x|0}function NJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+36|0;g=t+32|0;h=t+28|0;l=t+24|0;e=t+20|0;q=t+16|0;n=t+12|0;s=t+8|0;o=t+4|0;p=t;k[g>>2]=a;k[h>>2]=b;k[l>>2]=c;k[e>>2]=d;k[n>>2]=0;if((i[(k[g>>2]|0)+16>>0]|0)!=0?(c=Pg(k[h>>2]|0)|0,k[s>>2]=c,(k[s>>2]|0)!=0):0){k[f>>2]=k[s>>2];s=k[f>>2]|0;r=t;return s|0}if((m[(k[h>>2]|0)+24>>1]&2|0)!=0?(c=Bt(k[h>>2]|0)|0,k[s>>2]=c,0!=(c|0)):0){k[f>>2]=k[s>>2];s=k[f>>2]|0;r=t;return s|0}if(!((k[e>>2]|0)!=0?1:(m[(k[h>>2]|0)+24>>1]&8|0)==0))k[n>>2]=k[(k[h>>2]|0)+20>>2];c=(k[h>>2]|0)+24|0;j[c>>1]=m[c>>1]&-9;c=ms(k[g>>2]|0,k[l>>2]|0)|0;k[q>>2]=c;do if(k[q>>2]|0){e=(k[h>>2]|0)+24|0;j[e>>1]=m[e>>1]|m[(k[q>>2]|0)+24>>1]&8;e=k[q>>2]|0;if(i[(k[g>>2]|0)+16>>0]|0){SJ(e,(k[(k[g>>2]|0)+28>>2]|0)+1|0);break}else{Ls(e);break}}while(0);k[o>>2]=k[(k[h>>2]|0)+20>>2];SJ(k[h>>2]|0,k[l>>2]|0);os(k[h>>2]|0);if(i[(k[g>>2]|0)+16>>0]|0){SJ(k[q>>2]|0,k[o>>2]|0);Os(k[q>>2]|0)}do if(k[n>>2]|0){q=Eg(k[g>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=q;if(!(k[s>>2]|0)){s=(k[p>>2]|0)+24|0;j[s>>1]=m[s>>1]|8;os(k[p>>2]|0);Os(k[p>>2]|0);break}if((k[n>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0)uj(k[(k[g>>2]|0)+60>>2]|0,k[n>>2]|0,k[(k[g>>2]|0)+208>>2]|0);k[f>>2]=k[s>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function OJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0;p=r;r=r+48|0;b=p+32|0;e=p+28|0;g=p+24|0;o=p+20|0;h=p+16|0;f=p+36|0;n=p+12|0;j=p+8|0;c=p+4|0;d=p;k[b>>2]=a;k[h>>2]=k[(k[b>>2]|0)+52>>2];i[f>>0]=i[k[b>>2]>>0]|0;k[n>>2]=k[(k[b>>2]|0)+84>>2];a=$t(k[b>>2]|0)|0;k[o>>2]=a;if(k[o>>2]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}k[g>>2]=m[(k[b>>2]|0)+18>>1];k[e>>2]=0;while(1){a=k[b>>2]|0;if((k[e>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=(k[a+56>>2]|0)+(m[(k[b>>2]|0)+20>>1]&(l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)>>0]<<8|l[(k[(k[b>>2]|0)+64>>2]|0)+(k[e>>2]<<1)+1>>0]));RJ(k[b>>2]|0,k[j>>2]|0,o);if(!(i[(k[b>>2]|0)+4>>0]|0)){a=or(k[j>>2]|0)|0;k[c>>2]=a;PJ(k[h>>2]|0,k[c>>2]|0,5,k[n>>2]|0,o)}k[e>>2]=(k[e>>2]|0)+1}if(i[a+4>>0]|0){j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}j=or((k[(k[b>>2]|0)+56>>2]|0)+((l[(k[b>>2]|0)+5>>0]|0)+8)|0)|0;k[d>>2]=j;PJ(k[h>>2]|0,k[d>>2]|0,5,k[n>>2]|0,o);j=i[f>>0]|0;n=k[b>>2]|0;i[n>>0]=j;o=k[o>>2]|0;r=p;return o|0}function PJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+32|0;g=t+28|0;h=t+36|0;j=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;s=t;k[f>>2]=a;k[g>>2]=b;i[h>>0]=c;k[j>>2]=d;k[m>>2]=e;if(k[k[m>>2]>>2]|0){r=t;return}if(!(k[g>>2]|0)){s=Yj(56734)|0;k[k[m>>2]>>2]=s;r=t;return}d=CF(k[f>>2]|0,k[g>>2]|0)|0;k[n>>2]=d;d=Eg(k[k[f>>2]>>2]|0,k[n>>2]|0,p,0)|0;k[s>>2]=d;if(k[s>>2]|0){k[k[m>>2]>>2]=k[s>>2];r=t;return}k[o>>2]=((k[g>>2]|0)-(k[n>>2]|0)-1|0)*5;do if((k[o>>2]|0)>=0){d=Fg(k[p>>2]|0)|0;k[q>>2]=d;if((l[h>>0]|0|0)==(l[(k[q>>2]|0)+(k[o>>2]|0)>>0]|0|0)?(d=or((k[q>>2]|0)+((k[o>>2]|0)+1)|0)|0,(d|0)==(k[j>>2]|0)):0)break;d=Pg(k[p>>2]|0)|0;k[s>>2]=d;k[k[m>>2]>>2]=d;if(!(k[s>>2]|0)){i[(k[q>>2]|0)+(k[o>>2]|0)>>0]=i[h>>0]|0;kt((k[q>>2]|0)+((k[o>>2]|0)+1)|0,k[j>>2]|0)}}else{s=Yj(56745)|0;k[k[m>>2]>>2]=s}while(0);Hg(k[p>>2]|0);r=t;return}function QJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;e=v+52|0;f=v+48|0;g=v+44|0;h=v+40|0;j=v+57|0;p=v+56|0;n=v+36|0;q=v+32|0;t=v+28|0;s=v+24|0;o=v;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[j>>0]=d;d=k[f>>2]|0;do if((l[j>>0]|0|0)==4){u=or(k[d+56>>2]|0)|0;if((u|0)==(k[g>>2]|0)){kt(k[(k[f>>2]|0)+56>>2]|0,k[h>>2]|0);break}u=Yj(59127)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}else{i[p>>0]=i[d>>0]|0;a=$t(k[f>>2]|0)|0;k[t>>2]=a;if(k[t>>2]|0){k[e>>2]=k[t>>2];u=k[e>>2]|0;r=v;return u|0}k[q>>2]=m[(k[f>>2]|0)+18>>1];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[q>>2]|0))break;k[s>>2]=(k[(k[f>>2]|0)+56>>2]|0)+((m[(k[f>>2]|0)+20>>1]|0)&((l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)>>0]|0)<<8|(l[(k[(k[f>>2]|0)+64>>2]|0)+(k[n>>2]<<1)+1>>0]|0)));if((l[j>>0]|0|0)==3){cc[k[(k[f>>2]|0)+80>>2]&255](k[f>>2]|0,k[s>>2]|0,o);if(((m[o+16>>1]|0)>>>0<(k[o+12>>2]|0)>>>0?((k[s>>2]|0)+(m[o+18>>1]|0)+-1|0)>>>0<=((k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=k[g>>2]|0,(t|0)==(or((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=or(k[s>>2]|0)|0;if((t|0)==(k[g>>2]|0)){u=15;break}}k[n>>2]=(k[n>>2]|0)+1}if((u|0)==13)kt((k[s>>2]|0)+(m[o+18>>1]|0)+-4|0,k[h>>2]|0);else if((u|0)==15)kt(k[s>>2]|0,k[h>>2]|0);do if((k[n>>2]|0)==(k[q>>2]|0)){if((l[j>>0]|0|0)==5?(u=or((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(k[g>>2]|0)):0){kt((k[(k[f>>2]|0)+56>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);break}u=Yj(59163)|0;k[e>>2]=u;u=k[e>>2]|0;r=v;return u|0}while(0);i[k[f>>2]>>0]=i[p>>0]|0}while(0);k[e>>2]=0;u=k[e>>2]|0;r=v;return u|0}function RJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+48|0;d=i+36|0;e=i+32|0;f=i+28|0;g=i;h=i+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}cc[k[(k[d>>2]|0)+80>>2]&255](k[d>>2]|0,k[e>>2]|0,g);if((m[g+16>>1]|0)>>>0>=(k[g+12>>2]|0)>>>0){r=i;return}c=or((k[e>>2]|0)+((m[g+18>>1]|0)-4)|0)|0;k[h>>2]=c;PJ(k[(k[d>>2]|0)+52>>2]|0,k[h>>2]|0,3,k[(k[d>>2]|0)+84>>2]|0,k[f>>2]|0);r=i;return}function SJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;c=d+8|0;e=d+4|0;f=d;k[c>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[c>>2]|0)+28>>2];ic[k[152>>2]&255](k[(k[f>>2]|0)+44>>2]|0,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+20>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+20>>2]=k[e>>2];if(!((m[(k[c>>2]|0)+24>>1]|0)&2)){r=d;return}if(!((m[(k[c>>2]|0)+24>>1]|0)&8)){r=d;return}pj(k[c>>2]|0,3);r=d;return}function TJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0;h=r;r=r+32|0;e=h+20|0;m=h+16|0;l=h+12|0;f=h+8|0;j=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[f>>2]=c;k[j>>2]=d;d=EF(k[m>>2]|0,k[l>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[g>>2]=d;d=k[f>>2]|0;do if(!(k[g>>2]|0)){m=(_t(k[(k[d>>2]|0)+72>>2]|0)|0)>1;d=k[k[f>>2]>>2]|0;if(!m){i[d>>0]=0;break}GB(d);k[k[f>>2]>>2]=0;m=Yj(57863)|0;k[e>>2]=m;m=k[e>>2]|0;r=h;return m|0}else k[d>>2]=0;while(0);k[e>>2]=k[g>>2];m=k[e>>2]|0;r=h;return m|0}function UJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+60>>2];if(!(k[d>>2]|0)){f=0;f=f&1;r=e;return f|0}f=k[c>>2]|0;if(f>>>0>(wj(k[d>>2]|0)|0)>>>0){f=1;f=f&1;r=e;return f|0}f=(vj(k[d>>2]|0,k[c>>2]|0)|0)!=0;f=f&1;r=e;return f|0}function VJ(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+16>>0]|0|0}function WJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[g>>2]|0)){k[d>>2]=7;c=k[d>>2]|0;r=i;return c|0}if(nf(k[e>>2]|0,k[g>>2]|0,-1,h,0)|0){b=k[f>>2]|0;c=k[e>>2]|0;Kj(b,c,mf(k[e>>2]|0)|0);c=Nf(k[e>>2]|0)|0;k[d>>2]=c;c=k[d>>2]|0;r=i;return c|0}else{Ee(k[h>>2]|0)|0;c=$J(k[e>>2]|0,k[h>>2]|0,k[f>>2]|0)|0;k[d>>2]=c;c=k[d>>2]|0;r=i;return c|0}return 0}function XJ(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=aK(k[d>>2]|0)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function YJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;c=nf(k[e>>2]|0,k[j>>2]|0,-1,g,0)|0;k[h>>2]=c;if(k[h>>2]|0){k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}while(1){j=100==(Ee(k[g>>2]|0)|0);a=k[e>>2]|0;if(!j){b=6;break}j=k[f>>2]|0;j=WJ(a,j,Pe(k[g>>2]|0,0)|0)|0;k[h>>2]=j;if(k[h>>2]|0){b=5;break}}if((b|0)==5){$J(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}else if((b|0)==6){j=$J(a,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=i;return j|0}return 0}function ZJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+80|0;e=i+68|0;f=i+64|0;h=i+60|0;d=i+56|0;g=i+8|0;c=i;k[e>>2]=a;k[f>>2]=b;wg(k[e>>2]|0);wg(k[f>>2]|0);a=Ng(Zf(k[e>>2]|0)|0)|0;k[d>>2]=a;if((k[k[d>>2]>>2]|0)!=0?(b=Bg(k[f>>2]|0)|0,b=KR(b|0,((b|0)<0)<<31>>31|0,Dg(k[f>>2]|0)|0,0)|0,a=c,k[a>>2]=b,k[a+4>>2]=L,a=Ii(k[d>>2]|0,11,c)|0,k[h>>2]=a,k[h>>2]=(k[h>>2]|0)==12?0:a,(k[h>>2]|0)!=0):0){h=k[h>>2]|0;r=i;return h|0}c=g;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[g+20>>2]=k[k[f>>2]>>2];k[g+24>>2]=k[f>>2];k[g+4>>2]=k[e>>2];k[g+16>>2]=1;de(g,2147483647)|0;f=ee(g)|0;k[h>>2]=f;if(!(k[h>>2]|0)){g=(k[(k[e>>2]|0)+4>>2]|0)+22|0;j[g>>1]=(m[g>>1]|0)&-3;h=k[h>>2]|0;r=i;return h|0}else{_J(Zf(k[g+4>>2]|0)|0);h=k[h>>2]|0;r=i;return h|0}return 0}function _J(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(i[(k[b>>2]|0)+16>>0]|0){r=c;return}if(l[(k[b>>2]|0)+13>>0]|0){r=c;return}fj(k[b>>2]|0);r=c;return}function $J(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=ah(k[h>>2]|0)|0;k[f>>2]=c;if(!(k[f>>2]|0)){h=k[f>>2]|0;r=g;return h|0}c=k[e>>2]|0;h=k[d>>2]|0;Kj(c,h,mf(k[d>>2]|0)|0);h=k[f>>2]|0;r=g;return h|0}function aK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[(k[(k[d>>2]|0)+4>>2]|0)+32>>2]|0)-(k[(k[(k[d>>2]|0)+4>>2]|0)+36>>2]|0);r=c;return k[b>>2]|0}function bK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+64|0;m=p+32|0;n=p+28|0;o=p+24|0;c=p+20|0;f=p+16|0;b=p+12|0;e=p+8|0;d=p+4|0;g=p;j=p+40|0;k[n>>2]=a;k[o>>2]=0;if((l[(k[n>>2]|0)+16>>0]|0)!=0?(k[(k[n>>2]|0)+44>>2]|0)!=0:0){k[m>>2]=k[(k[n>>2]|0)+44>>2];o=k[m>>2]|0;r=p;return o|0}do if((Hr(k[n>>2]|0)|0)==0?(l[(k[n>>2]|0)+17>>0]|0)==0:0){k[c>>2]=1;a=Kt(k[n>>2]|0,1)|0;k[o>>2]=a;if(!(k[o>>2]|0)){if((l[(k[n>>2]|0)+18>>0]|0)<=1){a=cK(k[n>>2]|0,c)|0;k[o>>2]=a}if(!(k[o>>2]|0)){if(k[c>>2]|0){if(i[(k[n>>2]|0)+15>>0]|0){k[o>>2]=776;break}a=Lt(k[n>>2]|0,4)|0;k[o>>2]=a;if(k[o>>2]|0)break;if((((k[k[(k[n>>2]|0)+68>>2]>>2]|0)==0?(k[f>>2]=k[k[n>>2]>>2],a=bs(k[f>>2]|0,k[(k[n>>2]|0)+180>>2]|0,0,b)|0,k[o>>2]=a,(k[o>>2]|0)==0&(k[b>>2]|0)!=0):0)?(k[e>>2]=0,k[d>>2]=2050,f=Zr(k[f>>2]|0,k[(k[n>>2]|0)+180>>2]|0,k[(k[n>>2]|0)+68>>2]|0,k[d>>2]|0,e)|0,k[o>>2]=f,(k[o>>2]|0)==0):0)?(k[e>>2]&1|0)!=0:0){f=tt(49095)|0;k[o>>2]=f;wr(k[(k[n>>2]|0)+68>>2]|0)|0}b=k[n>>2]|0;if(k[k[(k[n>>2]|0)+68>>2]>>2]|0){f=tr(b)|0;k[o>>2]=f;if(!(k[o>>2]|0)){f=$r(k[n>>2]|0,1)|0;k[o>>2]=f;i[(k[n>>2]|0)+17>>0]=0}}else if(!(i[b+4>>0]|0))Lr(k[n>>2]|0,1)|0;if(k[o>>2]|0){ur(k[n>>2]|0,k[o>>2]|0)|0;break}}if((i[(k[n>>2]|0)+13>>0]|0)==0?(l[(k[n>>2]|0)+24>>0]|0)!=0:0){k[g>>2]=0;f=dK(k[n>>2]|0,g)|0;k[o>>2]=f;if(k[o>>2]|0)break;if((k[g>>2]|0)>>>0>0){g=js(k[(k[n>>2]|0)+64>>2]|0,j,16,24,0)|0;k[o>>2]=g;if((k[o>>2]|0)!=0&(k[o>>2]|0)!=522)break}else{b=j;c=b+16|0;do{i[b>>0]=0;b=b+1|0}while((b|0)<(c|0))}if(OQ((k[n>>2]|0)+112|0,j,16)|0)fj(k[n>>2]|0)}h=eK(k[n>>2]|0)|0;k[o>>2]=h;h=35}}}else h=35;while(0);if((h|0)==35){if(Hr(k[n>>2]|0)|0){j=fK(k[n>>2]|0)|0;k[o>>2]=j}if((k[o>>2]|0)==0?(l[(k[n>>2]|0)+17>>0]|0)==0:0){j=dK(k[n>>2]|0,(k[n>>2]|0)+28|0)|0;k[o>>2]=j}}b=k[n>>2]|0;if(k[o>>2]|0)sr(b);else{i[b+17>>0]=1;i[(k[n>>2]|0)+24>>0]=1}k[m>>2]=k[o>>2];o=k[m>>2]|0;r=p;return o|0}function cK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+32|0;d=p+28|0;n=p+24|0;o=p+20|0;e=p+16|0;h=p+12|0;j=p+8|0;m=p+4|0;f=p;g=p+36|0;k[c>>2]=a;k[d>>2]=b;k[n>>2]=k[k[c>>2]>>2];k[o>>2]=0;k[e>>2]=1;k[h>>2]=((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;k[k[d>>2]>>2]=0;if(!(k[h>>2]|0)){a=bs(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0,e)|0;k[o>>2]=a}if(!((k[o>>2]|0)==0&(k[e>>2]|0)!=0)){o=k[o>>2]|0;r=p;return o|0}k[j>>2]=0;a=mK(k[(k[c>>2]|0)+64>>2]|0,j)|0;k[o>>2]=a;if((k[o>>2]|0)!=0|(k[j>>2]|0)!=0){o=k[o>>2]|0;r=p;return o|0}a=dK(k[c>>2]|0,m)|0;k[o>>2]=a;if(k[o>>2]|0){o=k[o>>2]|0;r=p;return o|0}if(!((k[m>>2]|0)!=0|(k[h>>2]|0)!=0)){ek();if((Lt(k[c>>2]|0,2)|0)==0?(Fr(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,0)|0,(i[(k[c>>2]|0)+4>>0]|0)==0):0)Lr(k[c>>2]|0,1)|0;fk();o=k[o>>2]|0;r=p;return o|0}if(!(k[h>>2]|0)){k[f>>2]=2049;n=Zr(k[n>>2]|0,k[(k[c>>2]|0)+180>>2]|0,k[(k[c>>2]|0)+68>>2]|0,k[f>>2]|0,f)|0;k[o>>2]=n}if(!(k[o>>2]|0)){i[g>>0]=0;n=js(k[(k[c>>2]|0)+68>>2]|0,g,1,0,0)|0;k[o>>2]=n;k[o>>2]=(k[o>>2]|0)==522?0:n;if(!(k[h>>2]|0))wr(k[(k[c>>2]|0)+68>>2]|0)|0;k[k[d>>2]>>2]=(l[g>>0]|0)!=0&1;o=k[o>>2]|0;r=p;return o|0}else{if((k[o>>2]|0)!=14){o=k[o>>2]|0;r=p;return o|0}k[k[d>>2]>>2]=1;k[o>>2]=0;o=k[o>>2]|0;r=p;return o|0}return 0}function dK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+24|0;d=i+20|0;e=i+16|0;g=i+12|0;f=i;h=i+8|0;k[d>>2]=a;k[e>>2]=b;b=lK(k[(k[d>>2]|0)+216>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){b=f;k[b>>2]=0;k[b+4>>2]=0;if((k[k[(k[d>>2]|0)+64>>2]>>2]|0)!=0?(b=dj(k[(k[d>>2]|0)+64>>2]|0,f)|0,k[h>>2]=b,(k[h>>2]|0)!=0):0){k[c>>2]=k[h>>2];h=k[c>>2]|0;r=i;return h|0}h=f;b=k[(k[d>>2]|0)+160>>2]|0;b=zR(k[h>>2]|0,k[h+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=yR(b|0,L|0,1,0)|0;h=k[(k[d>>2]|0)+160>>2]|0;h=IR(b|0,L|0,h|0,((h|0)<0)<<31>>31|0)|0;k[g>>2]=h}if((k[g>>2]|0)>>>0>(k[(k[d>>2]|0)+164>>2]|0)>>>0)k[(k[d>>2]|0)+164>>2]=k[g>>2];k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}function eK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;c=h;k[e>>2]=a;k[g>>2]=0;do if(!(i[(k[e>>2]|0)+13>>0]|0)){b=dK(k[e>>2]|0,c)|0;k[g>>2]=b;if(k[g>>2]|0){k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}a=k[k[e>>2]>>2]|0;b=k[(k[e>>2]|0)+220>>2]|0;if(!(k[c>>2]|0)){c=Fr(a,b,0)|0;k[g>>2]=c;k[g>>2]=(k[g>>2]|0)==5898?0:c;k[f>>2]=0}else{c=bs(a,b,0,f)|0;k[g>>2]=c}if(!(k[g>>2]|0)){a=k[e>>2]|0;if(k[f>>2]|0){f=hK(a,0)|0;k[g>>2]=f;break}if((l[a+5>>0]|0)==5)i[(k[e>>2]|0)+5>>0]=0}}while(0);k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}function fK(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d+4|0;e=d;k[b>>2]=a;k[e>>2]=0;Vs(k[(k[b>>2]|0)+216>>2]|0);a=gK(k[(k[b>>2]|0)+216>>2]|0,e)|0;k[c>>2]=a;if(!((k[c>>2]|0)!=0|(k[e>>2]|0)!=0)){e=k[c>>2]|0;r=d;return e|0}fj(k[b>>2]|0);e=k[c>>2]|0;r=d;return e|0}function gK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do{h=k[c>>2]|0;b=k[d>>2]|0;a=(k[e>>2]|0)+1|0;k[e>>2]=a;a=St(h,b,0,a)|0;k[f>>2]=a}while((k[f>>2]|0)==-1);r=g;return k[f>>2]|0}function hK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if((i[(k[d>>2]|0)+13>>0]|0)==0?(k[(k[d>>2]|0)+216>>2]|0)==0:0)if(qJ(k[d>>2]|0)|0){wr(k[(k[d>>2]|0)+68>>2]|0)|0;b=iK(k[d>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0)break;i[(k[d>>2]|0)+5>>0]=5;i[(k[d>>2]|0)+17>>0]=0;break}else{k[c>>2]=14;g=k[c>>2]|0;r=h;return g|0}else g=7;while(0);if((g|0)==7)k[k[e>>2]>>2]=1;k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function iK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(i[(k[b>>2]|0)+4>>0]|0){a=jK(k[b>>2]|0)|0;k[c>>2]=a}if(k[c>>2]|0){a=k[b>>2]|0;ij(a);c=k[c>>2]|0;r=d;return c|0}a=(k[b>>2]|0)+168|0;a=kK(k[k[b>>2]>>2]|0,k[(k[b>>2]|0)+64>>2]|0,k[(k[b>>2]|0)+220>>2]|0,l[(k[b>>2]|0)+4>>0]|0,k[a>>2]|0,k[a+4>>2]|0,(k[b>>2]|0)+216|0)|0;k[c>>2]=a;a=k[b>>2]|0;ij(a);c=k[c>>2]|0;r=d;return c|0}function jK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Lt(k[b>>2]|0,4)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}Lr(k[b>>2]|0,1)|0;c=k[c>>2]|0;r=d;return c|0}function kK(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+48|0;h=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;o=w+28|0;p=w;q=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;c=p;k[c>>2]=e;k[c+4>>2]=f;k[q>>2]=g;k[k[q>>2]>>2]=0;c=ug(120+(k[(k[l>>2]|0)+4>>2]|0)|0,0)|0;k[u>>2]=c;if(!(k[u>>2]|0)){k[h>>2]=7;c=k[h>>2]|0;r=w;return c|0}k[k[u>>2]>>2]=k[l>>2];k[(k[u>>2]|0)+8>>2]=(k[u>>2]|0)+120;k[(k[u>>2]|0)+4>>2]=k[m>>2];j[(k[u>>2]|0)+40>>1]=-1;a=p;g=k[a+4>>2]|0;c=(k[u>>2]|0)+16|0;k[c>>2]=k[a>>2];k[c+4>>2]=g;k[(k[u>>2]|0)+108>>2]=k[n>>2];i[(k[u>>2]|0)+48>>0]=1;i[(k[u>>2]|0)+49>>0]=1;i[(k[u>>2]|0)+43>>0]=(k[o>>2]|0)!=0?2:0;k[s>>2]=524294;c=Zr(k[l>>2]|0,k[n>>2]|0,k[(k[u>>2]|0)+8>>2]|0,k[s>>2]|0,s)|0;k[v>>2]=c;if((k[v>>2]|0)==0?(k[s>>2]&1|0)!=0:0)i[(k[u>>2]|0)+46>>0]=1;if(k[v>>2]|0){_s(k[u>>2]|0,0);wr(k[(k[u>>2]|0)+8>>2]|0)|0;Ud(k[u>>2]|0)}else{c=gs(k[m>>2]|0)|0;k[t>>2]=c;if(k[t>>2]&1024)i[(k[u>>2]|0)+48>>0]=0;if(k[t>>2]&4096)i[(k[u>>2]|0)+49>>0]=0;k[k[q>>2]>>2]=k[u>>2]}k[h>>2]=k[v>>2];c=k[h>>2]|0;r=w;return c|0}function lK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if((k[c>>2]|0)!=0?(j[(k[c>>2]|0)+40>>1]|0)>=0:0){k[b>>2]=k[(k[c>>2]|0)+52+20>>2];a=k[b>>2]|0;r=d;return a|0}k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}function mK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;b=gc[k[(k[k[e>>2]>>2]|0)+36>>2]&255](k[e>>2]|0,k[d>>2]|0)|0;r=c;return b|0}function nK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+176|0;c=f+168|0;e=f+164|0;b=f+160|0;d=f;k[c>>2]=a;DR(d|0,0,160)|0;while(1){if(!(k[c>>2]|0))break;k[b>>2]=k[(k[c>>2]|0)+8>>2];k[(k[c>>2]|0)+8>>2]=0;k[e>>2]=0;while(1){if(!(k[d+(k[e>>2]<<2)>>2]|0))break;a=qK(k[d+(k[e>>2]<<2)>>2]|0,k[c>>2]|0)|0;k[c>>2]=a;k[d+(k[e>>2]<<2)>>2]=0;k[e>>2]=(k[e>>2]|0)+1}k[d+(k[e>>2]<<2)>>2]=k[c>>2];k[c>>2]=k[b>>2]}k[c>>2]=0;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>>>0>=40)break;b=qK(a,k[d+(k[e>>2]<<2)>>2]|0)|0;k[c>>2]=b;k[e>>2]=(k[e>>2]|0)+1}r=f;return a|0}function oK(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;d=f+4|0;e=f;k[b>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[c>>2]=1;while(1){a=k[d>>2]|0;if(!(k[b>>2]|0))break;k[e>>2]=a;k[d>>2]=k[b>>2];k[b>>2]=k[(k[d>>2]|0)+8>>2];k[(k[d>>2]|0)+12>>2]=k[e>>2];a=sK(b,k[c>>2]|0)|0;k[(k[d>>2]|0)+8>>2]=a;k[c>>2]=(k[c>>2]|0)+1}r=f;return a|0}function pK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;f=h+12|0;d=h+8|0;g=h+4|0;e=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;a=k[f>>2]|0;if(k[(k[f>>2]|0)+12>>2]|0){pK(k[a+12>>2]|0,k[d>>2]|0,e);k[(k[e>>2]|0)+8>>2]=k[f>>2]}else k[k[d>>2]>>2]=a;a=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0){pK(k[a+8>>2]|0,(k[f>>2]|0)+8|0,k[g>>2]|0);r=h;return}else{k[k[g>>2]>>2]=a;r=h;return}}function qK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+24|0;d=g+20|0;e=g;f=g+16|0;k[c>>2]=a;k[d>>2]=b;k[f>>2]=e;while(1){a=k[c>>2]|0;if(!((k[c>>2]|0)!=0?(k[d>>2]|0)!=0:0))break;i=k[a+4>>2]|0;b=k[d>>2]|0;h=k[b+4>>2]|0;if((i|0)<(h|0)|((i|0)==(h|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[(k[f>>2]|0)+8>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+8>>2];k[f>>2]=k[(k[f>>2]|0)+8>>2];continue}h=k[d>>2]|0;a=k[h+4>>2]|0;i=k[c>>2]|0;b=k[i+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[h>>2]|0)>>>0<(k[i>>2]|0)>>>0:0)){k[(k[f>>2]|0)+8>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+8>>2];k[f>>2]=k[(k[f>>2]|0)+8>>2];continue}else{k[c>>2]=k[(k[c>>2]|0)+8>>2];continue}}if(a){k[(k[f>>2]|0)+8>>2]=k[c>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}else{k[(k[f>>2]|0)+8>>2]=k[d>>2];i=e+8|0;i=k[i>>2]|0;r=g;return i|0}return 0}function rK(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(m[(k[c>>2]|0)+24>>1]|0)){a=Vw(k[(k[c>>2]|0)+4>>2]|0,1016,0)|0;k[d>>2]=a;if(k[d>>2]|0){k[k[d>>2]>>2]=k[k[c>>2]>>2];k[k[c>>2]>>2]=k[d>>2];k[(k[c>>2]|0)+16>>2]=(k[d>>2]|0)+8;j[(k[c>>2]|0)+24>>1]=63;break}k[b>>2]=0;d=k[b>>2]|0;r=e;return d|0}while(0);a=(k[c>>2]|0)+24|0;j[a>>1]=(j[a>>1]|0)+-1<<16>>16;a=(k[c>>2]|0)+16|0;d=k[a>>2]|0;k[a>>2]=d+16;k[b>>2]=d;d=k[b>>2]|0;r=e;return d|0}function sK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h+4|0;c=h;k[e>>2]=a;k[f>>2]=b;if(!(k[k[e>>2]>>2]|0)){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}b=k[e>>2]|0;if((k[f>>2]|0)==1){k[g>>2]=k[b>>2];k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];k[(k[g>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+12>>2]=0;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}b=sK(b,(k[f>>2]|0)-1|0)|0;k[c>>2]=b;k[g>>2]=k[k[e>>2]>>2];b=k[c>>2]|0;if(!(k[g>>2]|0)){k[d>>2]=b;g=k[d>>2]|0;r=h;return g|0}else{k[(k[g>>2]|0)+12>>2]=b;k[k[e>>2]>>2]=k[(k[g>>2]|0)+8>>2];f=sK(k[e>>2]|0,(k[f>>2]|0)-1|0)|0;k[(k[g>>2]|0)+8>>2]=f;k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}return 0}function tK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!((m[(k[b>>2]|0)+26>>1]|0)&1)){a=nK(k[(k[b>>2]|0)+8>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a}a=(k[b>>2]|0)+26|0;j[a>>1]=m[a>>1]|0|2;r=c;return}function uK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;g=e+12|0;h=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[d>>2]=k[h>>2];k[k[d>>2]>>2]=0;k[(k[d>>2]|0)+4>>2]=k[g>>2];k[(k[d>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+20>>2]=0;k[(k[d>>2]|0)+16>>2]=(k[d>>2]|0)+32;j[(k[d>>2]|0)+24>>1]=(((k[f>>2]|0)-32|0)>>>0)/16|0;j[(k[d>>2]|0)+26>>1]=1;k[(k[d>>2]|0)+28>>2]=0;r=e;return k[d>>2]|0}function vK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=(k[(k[e>>2]|0)+8>>2]|0)+(((k[d>>2]|0)>>>0)/8|0)|0;i[a>>0]=l[a>>0]|0|1<<(k[d>>2]&7);r=c;return}function wK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;n=x+32|0;o=x+24|0;w=x+16|0;v=x;p=x+76|0;e=x+72|0;q=x+68|0;s=x+64|0;f=x+60|0;t=x+56|0;u=x+52|0;m=x+48|0;j=x+44|0;h=x+40|0;g=x+36|0;k[p>>2]=a;k[e>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=k[s>>2];k[u>>2]=k[q>>2];while(1){a=k[s>>2]|0;k[s>>2]=a+-1;if((a|0)<=0){d=25;break}if(!(k[(k[p>>2]|0)+16>>2]|0)){d=25;break}c=k[p>>2]|0;if((k[q>>2]|0)<1){d=5;break}if(BK(c,k[q>>2]|0)|0){d=25;break}if(Eg(k[(k[p>>2]|0)+4>>2]|0,k[q>>2]|0,m,0)|0){d=8;break}a=Fg(k[m>>2]|0)|0;k[j>>2]=a;do if(!(k[e>>2]|0)){if((k[s>>2]|0)>0?(l[(k[k[p>>2]>>2]|0)+17>>0]|0)!=0:0){a=or(k[j>>2]|0)|0;k[f>>2]=a;xK(k[p>>2]|0,k[f>>2]|0,4,k[q>>2]|0)}}else{a=or((k[j>>2]|0)+4|0)|0;k[h>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)xK(k[p>>2]|0,k[q>>2]|0,2,0);if((k[h>>2]|0)>(((k[(k[k[p>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){a=k[p>>2]|0;k[o>>2]=k[q>>2];AK(a,42818,o);k[s>>2]=(k[s>>2]|0)+-1;break}k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[h>>2]|0))break;a=or((k[j>>2]|0)+(8+(k[f>>2]<<2))|0)|0;k[g>>2]=a;if(i[(k[k[p>>2]>>2]|0)+17>>0]|0)xK(k[p>>2]|0,k[g>>2]|0,2,0);BK(k[p>>2]|0,k[g>>2]|0)|0;k[f>>2]=(k[f>>2]|0)+1}k[s>>2]=(k[s>>2]|0)-(k[h>>2]|0)}while(0);a=or(k[j>>2]|0)|0;k[q>>2]=a;Hg(k[m>>2]|0);if(!(k[e>>2]|0))continue;if((k[s>>2]|0)>=((k[q>>2]|0)!=0|0))continue;AK(k[p>>2]|0,42857,n)}if((d|0)==5){t=k[t>>2]|0;w=k[u>>2]|0;k[v>>2]=(k[s>>2]|0)+1;k[v+4>>2]=t;k[v+8>>2]=w;AK(c,42739,v);r=x;return}else if((d|0)==8){v=k[p>>2]|0;k[w>>2]=k[q>>2];AK(v,42796,w);r=x;return}else if((d|0)==25){r=x;return}}function xK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;p=q+8|0;o=q;e=q+44|0;f=q+40|0;g=q+49|0;h=q+36|0;n=q+32|0;j=q+48|0;m=q+28|0;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=d;a=DF(k[k[e>>2]>>2]|0,k[f>>2]|0,j,m)|0;k[n>>2]=a;if(k[n>>2]|0){if((k[n>>2]|0)==7|(k[n>>2]|0)==3082)k[(k[e>>2]|0)+24>>2]=1;p=k[e>>2]|0;k[o>>2]=k[f>>2];AK(p,42656,o);r=q;return}if((l[j>>0]|0|0)==(l[g>>0]|0|0)?(k[m>>2]|0)==(k[h>>2]|0):0){r=q;return}o=k[e>>2]|0;b=l[g>>0]|0;d=k[h>>2]|0;a=l[j>>0]|0;n=k[m>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=b;k[p+8>>2]=d;k[p+12>>2]=a;k[p+16>>2]=n;AK(o,42685,p);r=q;return}function yK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;h=ca+40|0;g=ca+32|0;j=ca+240|0;n=ca+236|0;o=ca+232|0;p=ca+228|0;q=ca+24|0;K=ca+224|0;A=ca+220|0;f=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;c=q;k[c>>2]=d;k[c+4>>2]=e;k[K>>2]=0;k[w>>2]=-1;k[x>>2]=1;k[D>>2]=1;k[z>>2]=0;k[O>>2]=0;k[S>>2]=k[(k[n>>2]|0)+28>>2];k[Q>>2]=k[(k[n>>2]|0)+32>>2];k[R>>2]=k[(k[n>>2]|0)+36>>2];i[P>>0]=0;k[H>>2]=k[k[n>>2]>>2];k[V>>2]=k[(k[H>>2]|0)+36>>2];if(!(k[o>>2]|0)){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}if(BK(k[n>>2]|0,k[o>>2]|0)|0){k[j>>2]=0;ba=k[j>>2]|0;r=ca;return ba|0}k[(k[n>>2]|0)+28>>2]=42276;k[(k[n>>2]|0)+32>>2]=k[o>>2];c=EF(k[H>>2]|0,k[o>>2]|0,K,0)|0;k[f>>2]=c;do if(!c){i[P>>0]=i[k[K>>2]>>0]|0;i[k[K>>2]>>0]=0;g=$t(k[K>>2]|0)|0;k[f>>2]=g;if(g){ba=k[n>>2]|0;k[h>>2]=k[f>>2];AK(ba,42324,h);break}k[v>>2]=k[(k[K>>2]|0)+56>>2];k[y>>2]=l[(k[K>>2]|0)+5>>0];k[(k[n>>2]|0)+28>>2]=42362;k[t>>2]=((l[(k[v>>2]|0)+((k[y>>2]|0)+5)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+5)+1>>0])-1&65535)+1;k[E>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+3)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+3)+1>>0];k[s>>2]=(k[y>>2]|0)+12-(l[(k[K>>2]|0)+4>>0]<<2);k[J>>2]=(k[v>>2]|0)+((k[s>>2]|0)+((k[E>>2]|0)-1<<1));if(i[(k[K>>2]|0)+4>>0]|0){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0}else{h=or((k[v>>2]|0)+((k[y>>2]|0)+8)|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0){k[(k[n>>2]|0)+28>>2]=42388;xK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0)}h=q;h=yK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[w>>2]=h;k[D>>2]=0}k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break;if(!(k[(k[n>>2]|0)+16>>2]|0))break;k[(k[n>>2]|0)+36>>2]=k[A>>2];k[L>>2]=l[k[J>>2]>>0]<<8|l[(k[J>>2]|0)+1>>0];k[J>>2]=(k[J>>2]|0)+-2;do if((k[L>>2]|0)>>>0>=(k[t>>2]|0)>>>0?(k[L>>2]|0)>>>0<=((k[V>>2]|0)-4|0)>>>0:0){k[I>>2]=(k[v>>2]|0)+(k[L>>2]|0);cc[k[(k[K>>2]|0)+80>>2]&255](k[K>>2]|0,k[I>>2]|0,B);if(((k[L>>2]|0)+(m[B+18>>1]|0)|0)>>>0>(k[V>>2]|0)>>>0){AK(k[n>>2]|0,42446,$);k[x>>2]=0;break}if(i[(k[K>>2]|0)+2>>0]|0){e=B;d=k[e>>2]|0;e=k[e+4>>2]|0;a=q;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[D>>2]|0){if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>b>>>0)ba=26}else if((e|0)>(a|0)|(e|0)==(a|0)&d>>>0>=b>>>0)ba=26;if((ba|0)==26){ba=0;h=k[n>>2]|0;c=B;f=k[c+4>>2]|0;g=W;k[g>>2]=k[c>>2];k[g+4>>2]=f;AK(h,42470,W)}f=B;g=k[f+4>>2]|0;h=q;k[h>>2]=k[f>>2];k[h+4>>2]=g}if((k[B+12>>2]|0)>>>0>(m[B+16>>1]|0)>>>0){k[G>>2]=(((k[B+12>>2]|0)-(m[B+16>>1]|0)+(k[V>>2]|0)-5|0)>>>0)/(((k[V>>2]|0)-4|0)>>>0)|0;h=or((k[I>>2]|0)+((m[B+18>>1]|0)-4)|0)|0;k[N>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)xK(k[n>>2]|0,k[N>>2]|0,3,k[o>>2]|0);wK(k[n>>2]|0,0,k[N>>2]|0,k[G>>2]|0)}if(i[(k[K>>2]|0)+4>>0]|0){CK(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(m[B+18>>1]|0)-1);break}h=or(k[I>>2]|0)|0;k[M>>2]=h;if(i[(k[H>>2]|0)+17>>0]|0)xK(k[n>>2]|0,k[M>>2]|0,5,k[o>>2]|0);h=q;h=yK(k[n>>2]|0,k[M>>2]|0,q,k[h>>2]|0,k[h+4>>2]|0)|0;k[u>>2]=h;k[D>>2]=0;if((k[u>>2]|0)!=(k[w>>2]|0)){AK(k[n>>2]|0,42494,X);k[w>>2]=k[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;h=k[n>>2]|0;f=k[t>>2]|0;g=(k[V>>2]|0)-4|0;k[_>>2]=k[L>>2];k[_+4>>2]=f;k[_+8>>2]=g;AK(h,42416,_);k[x>>2]=0}k[A>>2]=(k[A>>2]|0)+-1}X=q;_=k[X+4>>2]|0;$=k[p>>2]|0;k[$>>2]=k[X>>2];k[$+4>>2]=_;k[(k[n>>2]|0)+28>>2]=0;if((k[x>>2]|0)!=0?(k[(k[n>>2]|0)+16>>2]|0)>0:0){a:do if(!(i[(k[K>>2]|0)+4>>0]|0)){k[z>>2]=k[(k[n>>2]|0)+68>>2];k[k[z>>2]>>2]=0;k[A>>2]=(k[E>>2]|0)-1;while(1){if((k[A>>2]|0)<0)break a;k[L>>2]=l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))>>0]<<8|l[(k[v>>2]|0)+((k[s>>2]|0)+(k[A>>2]<<1))+1>>0];$=(gc[k[(k[K>>2]|0)+76>>2]&255](k[K>>2]|0,(k[v>>2]|0)+(k[L>>2]|0)|0)|0)&65535;k[T>>2]=$;CK(k[z>>2]|0,k[L>>2]<<16|(k[L>>2]|0)+(k[T>>2]|0)-1);k[A>>2]=(k[A>>2]|0)+-1}}while(0);k[A>>2]=l[(k[v>>2]|0)+((k[y>>2]|0)+1)>>0]<<8|l[(k[v>>2]|0)+((k[y>>2]|0)+1)+1>>0];while(1){if((k[A>>2]|0)<=0)break;k[U>>2]=l[(k[v>>2]|0)+((k[A>>2]|0)+2)>>0]<<8|l[(k[v>>2]|0)+((k[A>>2]|0)+2)+1>>0];CK(k[z>>2]|0,k[A>>2]<<16|(k[A>>2]|0)+(k[U>>2]|0)-1);k[C>>2]=l[(k[v>>2]|0)+(k[A>>2]|0)>>0]<<8|l[(k[v>>2]|0)+(k[A>>2]|0)+1>>0];k[A>>2]=k[C>>2]}k[F>>2]=0;k[O>>2]=(k[t>>2]|0)-1;while(1){if(!(DK(k[z>>2]|0,aa)|0))break;if((k[O>>2]&65535)>>>0>=(k[aa>>2]|0)>>>16>>>0){ba=51;break}k[F>>2]=(k[F>>2]|0)+(((k[aa>>2]|0)>>>16)-(k[O>>2]&65535)-1);k[O>>2]=k[aa>>2]}if((ba|0)==51){ba=k[n>>2]|0;$=k[o>>2]|0;k[Y>>2]=(k[aa>>2]|0)>>>16;k[Y+4>>2]=$;AK(ba,42519,Y)}k[F>>2]=(k[F>>2]|0)+((k[V>>2]|0)-(k[O>>2]&65535)-1);if((k[k[z>>2]>>2]|0)==0?(k[F>>2]|0)!=(l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0):0){ba=k[n>>2]|0;$=l[(k[v>>2]|0)+((k[y>>2]|0)+7)>>0]|0;aa=k[o>>2]|0;k[Z>>2]=k[F>>2];k[Z+4>>2]=$;k[Z+8>>2]=aa;AK(ba,42556,Z)}}}else{ba=k[n>>2]|0;k[g>>2]=k[f>>2];AK(ba,42286,g)}while(0);if(!(k[x>>2]|0))i[k[K>>2]>>0]=i[P>>0]|0;GB(k[K>>2]|0);k[(k[n>>2]|0)+28>>2]=k[S>>2];k[(k[n>>2]|0)+32>>2]=k[Q>>2];k[(k[n>>2]|0)+36>>2]=k[R>>2];k[j>>2]=(k[w>>2]|0)+1;ba=k[j>>2]|0;r=ca;return ba|0}function zK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return (l[(k[(k[d>>2]|0)+8>>2]|0)+(((k[c>>2]|0)>>>0)/8|0)>>0]|0)&1<<(k[c>>2]&7)|0}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;d=h+28|0;e=h+24|0;f=h+8|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+16>>2]|0)){r=h;return}b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+-1;b=(k[d>>2]|0)+20|0;k[b>>2]=(k[b>>2]|0)+1;k[f>>2]=c;if(k[(k[d>>2]|0)+40+12>>2]|0)qA((k[d>>2]|0)+40|0,42274,1);if(k[(k[d>>2]|0)+28>>2]|0){c=(k[d>>2]|0)+40|0;b=k[(k[d>>2]|0)+28>>2]|0;a=k[(k[d>>2]|0)+36>>2]|0;k[g>>2]=k[(k[d>>2]|0)+32>>2];k[g+4>>2]=a;pA(c,b,g)}og((k[d>>2]|0)+40|0,k[e>>2]|0,f);if((l[(k[d>>2]|0)+40+24>>0]|0|0)!=1){r=h;return}k[(k[d>>2]|0)+24>>2]=1;r=h;return}function BK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+8|0;d=h;f=h+20|0;c=h+16|0;e=h+12|0;k[c>>2]=a;k[e>>2]=b;do if(k[e>>2]|0){b=k[c>>2]|0;a=k[e>>2]|0;if((k[e>>2]|0)>>>0>(k[(k[c>>2]|0)+12>>2]|0)>>>0){k[d>>2]=a;AK(b,42608,d);k[f>>2]=1;break}d=(zK(b,a)|0)!=0;a=k[c>>2]|0;b=k[e>>2]|0;if(d){k[g>>2]=b;AK(a,42631,g);k[f>>2]=1;break}else{vK(a,b);k[f>>2]=0;break}}else k[f>>2]=1;while(0);r=h;return k[f>>2]|0}function CK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;b=(k[a>>2]|0)+1|0;k[a>>2]=b;k[e>>2]=b;k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];while(1){b=((k[e>>2]|0)>>>0)/2|0;k[f>>2]=b;if(b>>>0<=0){c=5;break}if((k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<=(k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]|0)>>>0){c=5;break}k[d>>2]=k[(k[c>>2]|0)+(k[f>>2]<<2)>>2];k[(k[c>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[c>>2]|0)+(k[e>>2]<<2)>>2];k[(k[c>>2]|0)+(k[e>>2]<<2)>>2]=k[d>>2];k[e>>2]=k[f>>2]}if((c|0)==5){r=g;return}}function DK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;e=i+12|0;g=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;b=k[k[d>>2]>>2]|0;k[h>>2]=b;if(!b){k[c>>2]=0;h=k[c>>2]|0;r=i;return h|0}k[k[e>>2]>>2]=k[(k[d>>2]|0)+4>>2];k[(k[d>>2]|0)+4>>2]=k[(k[d>>2]|0)+(k[h>>2]<<2)>>2];k[(k[d>>2]|0)+(k[h>>2]<<2)>>2]=-1;b=k[d>>2]|0;k[b>>2]=(k[b>>2]|0)+-1;k[f>>2]=1;while(1){b=k[f>>2]<<1;k[g>>2]=b;if(b>>>0>(k[k[d>>2]>>2]|0)>>>0)break;if((k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0>(k[(k[d>>2]|0)+((k[g>>2]|0)+1<<2)>>2]|0)>>>0)k[g>>2]=(k[g>>2]|0)+1;if((k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]|0)>>>0<(k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]|0)>>>0)break;k[h>>2]=k[(k[d>>2]|0)+(k[f>>2]<<2)>>2];k[(k[d>>2]|0)+(k[f>>2]<<2)>>2]=k[(k[d>>2]|0)+(k[g>>2]<<2)>>2];k[(k[d>>2]|0)+(k[g>>2]<<2)>>2]=k[h>>2];k[f>>2]=k[g>>2]}k[c>>2]=1;h=k[c>>2]|0;r=i;return h|0}function EK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){a=k[b>>2]|0;Ud(a);r=d;return}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[k[b>>2]>>2]|0))break;IK((k[(k[b>>2]|0)+12>>2]|0)+((k[c>>2]|0)*56|0)|0);k[c>>2]=(k[c>>2]|0)+1}a=k[b>>2]|0;Ud(a);r=d;return}function FK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=r;r=r+16|0;e=d+4|0;c=d;k[e>>2]=a;k[c>>2]=b;bg(k[e>>2]|0,k[(k[c>>2]|0)+12>>2]|0);GK(0,k[(k[c>>2]|0)+16>>2]|0);if(k[(k[c>>2]|0)+40>>2]|0)HK(k[(k[c>>2]|0)+40>>2]|0)|0;if(!(k[(k[c>>2]|0)+56>>2]|0)){c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}HK(k[(k[c>>2]|0)+56>>2]|0)|0;c=k[c>>2]|0;a=c+72|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));r=d;return}function GK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[d>>2]=k[g>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+4>>2];bg(k[c>>2]|0,k[d>>2]|0);k[d>>2]=k[e>>2]}r=f;return}function HK(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=0;a=wr(k[d>>2]|0)|0;k[b>>2]=a;Ud(k[d>>2]|0);r=c;return k[b>>2]|0}function IK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;Ud(k[(k[b>>2]|0)+28>>2]|0);Ud(k[(k[b>>2]|0)+36>>2]|0);if(k[(k[b>>2]|0)+44>>2]|0)Rs(k[(k[b>>2]|0)+24>>2]|0,0,0,k[(k[b>>2]|0)+44>>2]|0)|0;JK(k[(k[b>>2]|0)+48>>2]|0);b=k[b>>2]|0;a=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));r=c;return}function JK(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}EK(k[(k[b>>2]|0)+4>>2]|0);Ud(k[b>>2]|0);r=c;return}function KK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j;g=j+12|0;h=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(!(l[(k[e>>2]|0)+11>>0]|0)){r=j;return}i[(k[e>>2]|0)+11>>0]=0;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;do if((l[(k[h>>2]|0)+64>>0]|0)&16){i[(k[e>>2]|0)+11>>0]=1;if((k[g>>2]|0)==0?(d=(k[h>>2]|0)+16|0,a=f,!((k[d>>2]|0)==(k[a>>2]|0)?(k[d+4>>2]|0)==(k[a+4>>2]|0):0)):0)break;i[(k[h>>2]|0)+66>>0]=0}while(0);k[h>>2]=k[(k[h>>2]|0)+8>>2]}r=j;return}function LK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;o=u+36|0;f=u+32|0;e=u+28|0;p=u+24|0;g=u+20|0;s=u+16|0;t=u+12|0;j=u+8|0;h=u+4|0;q=u;n=u+40|0;k[f>>2]=a;k[e>>2]=b;k[p>>2]=c;k[g>>2]=d;d=k[e>>2]|0;if(d>>>0>(qF(k[f>>2]|0)|0)>>>0){t=Yj(64249)|0;k[o>>2]=t;t=k[o>>2]|0;r=u;return t|0}d=pF(k[f>>2]|0,k[e>>2]|0,s,0,0)|0;k[t>>2]=d;if(k[t>>2]|0){k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}a:do if(!(i[(k[s>>2]|0)+8>>0]|0)){i[(k[s>>2]|0)+8>>0]=1;k[q>>2]=l[(k[s>>2]|0)+5>>0];k[h>>2]=0;while(1){e=k[s>>2]|0;if((k[h>>2]|0)>=(m[(k[s>>2]|0)+18>>1]|0))break;k[j>>2]=(k[e+56>>2]|0)+(m[(k[s>>2]|0)+20>>1]&(l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)>>0]<<8|l[(k[(k[s>>2]|0)+64>>2]|0)+(k[h>>2]<<1)+1>>0]));if((i[(k[s>>2]|0)+4>>0]|0)==0?(b=k[f>>2]|0,d=or(k[j>>2]|0)|0,d=LK(b,d,1,k[g>>2]|0)|0,k[t>>2]=d,(k[t>>2]|0)!=0):0)break a;d=MK(k[s>>2]|0,k[j>>2]|0,n)|0;k[t>>2]=d;if(k[t>>2]|0)break a;k[h>>2]=(k[h>>2]|0)+1}if(i[e+4>>0]|0){if(k[g>>2]|0){n=k[g>>2]|0;k[n>>2]=(k[n>>2]|0)+(m[(k[s>>2]|0)+18>>1]|0)}}else{j=k[f>>2]|0;n=or((k[(k[s>>2]|0)+56>>2]|0)+((k[q>>2]|0)+8)|0)|0;n=LK(j,n,1,k[g>>2]|0)|0;k[t>>2]=n;if(k[t>>2]|0)break}e=k[s>>2]|0;if(k[p>>2]|0){NK(e,t);break}p=Pg(k[e+72>>2]|0)|0;k[t>>2]=p;if(!p)OK(k[s>>2]|0,l[(k[(k[s>>2]|0)+56>>2]|0)+(k[q>>2]|0)>>0]|8)}else{q=Yj(64254)|0;k[t>>2]=q}while(0);i[(k[s>>2]|0)+8>>0]=0;GB(k[s>>2]|0);k[o>>2]=k[t>>2];t=k[o>>2]|0;r=u;return t|0}function MK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+80|0;d=t+64|0;e=t+60|0;f=t+56|0;u=t+52|0;o=t+48|0;h=t;n=t+44|0;q=t+40|0;i=t+36|0;l=t+32|0;g=t+28|0;p=t+24|0;k[e>>2]=a;k[f>>2]=b;k[u>>2]=c;k[o>>2]=k[(k[e>>2]|0)+52>>2];cc[k[(k[e>>2]|0)+80>>2]&255](k[e>>2]|0,k[f>>2]|0,h);j[k[u>>2]>>1]=j[h+18>>1]|0;if((m[h+16>>1]|0|0)==(k[h+12>>2]|0)){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}if(((k[f>>2]|0)+(m[h+18>>1]|0)+-1|0)>>>0>((k[(k[e>>2]|0)+56>>2]|0)+(m[(k[e>>2]|0)+20>>1]|0)|0)>>>0){u=Yj(61810)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}u=or((k[f>>2]|0)+(m[h+18>>1]|0)+-4|0)|0;k[n>>2]=u;k[l>>2]=(k[(k[o>>2]|0)+36>>2]|0)-4;k[i>>2]=(((k[h+12>>2]|0)-(m[h+16>>1]|0)+(k[l>>2]|0)-1|0)>>>0)/((k[l>>2]|0)>>>0)|0;while(1){u=k[i>>2]|0;k[i>>2]=u+-1;if(!u){s=23;break}k[g>>2]=0;k[p>>2]=0;if((k[n>>2]|0)>>>0<2){s=9;break}u=k[n>>2]|0;if(u>>>0>(qF(k[o>>2]|0)|0)>>>0){s=9;break}if((k[i>>2]|0)!=0?(u=BF(k[o>>2]|0,k[n>>2]|0,p,g)|0,k[q>>2]=u,(k[q>>2]|0)!=0):0){s=12;break}if((k[p>>2]|0)==0?(u=RK(k[o>>2]|0,k[n>>2]|0)|0,k[p>>2]=u,(u|0)==0):0)s=17;else if((_t(k[(k[p>>2]|0)+72>>2]|0)|0)!=1){u=Yj(61846)|0;k[q>>2]=u}else s=17;if((s|0)==17){s=0;u=PK(k[o>>2]|0,k[p>>2]|0,k[n>>2]|0)|0;k[q>>2]=u}if(k[p>>2]|0)Hg(k[(k[p>>2]|0)+72>>2]|0);if(k[q>>2]|0){s=21;break}k[n>>2]=k[g>>2]}if((s|0)==9){u=Yj(61826)|0;k[d>>2]=u;u=k[d>>2]|0;r=t;return u|0}else if((s|0)==12){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==21){k[d>>2]=k[q>>2];u=k[d>>2]|0;r=t;return u|0}else if((s|0)==23){k[d>>2]=0;u=k[d>>2]|0;r=t;return u|0}return 0}function NK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[k[d>>2]>>2]|0){r=e;return}b=PK(k[(k[c>>2]|0)+52>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+84>>2]|0)|0;k[k[d>>2]>>2]=b;r=e;return}function OK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0;n=r;r=r+32|0;c=n+12|0;d=n+8|0;e=n+4|0;h=n;g=n+18|0;f=n+16|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+56>>2];k[h>>2]=k[(k[c>>2]|0)+52>>2];i[g>>0]=i[(k[c>>2]|0)+5>>0]|0;if((m[(k[h>>2]|0)+22>>1]|0)&4)DR((k[e>>2]|0)+(l[g>>0]|0)|0,0,(k[(k[h>>2]|0)+36>>2]|0)-(l[g>>0]|0)|0)|0;i[(k[e>>2]|0)+(l[g>>0]|0)>>0]=k[d>>2];j[f>>1]=(l[g>>0]|0)+((k[d>>2]&8|0)==0?12:8);a=(k[e>>2]|0)+((l[g>>0]|0)+1)|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+7)>>0]=0;i[(k[e>>2]|0)+((l[g>>0]|0)+5)>>0]=(k[(k[h>>2]|0)+36>>2]|0)>>>8;i[(k[e>>2]|0)+((l[g>>0]|0)+5)+1>>0]=k[(k[h>>2]|0)+36>>2];j[(k[c>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[f>>1]|0);au(k[c>>2]|0,k[d>>2]|0)|0;j[(k[c>>2]|0)+14>>1]=j[f>>1]|0;k[(k[c>>2]|0)+60>>2]=(k[e>>2]|0)+(k[(k[h>>2]|0)+36>>2]|0);k[(k[c>>2]|0)+64>>2]=(k[e>>2]|0)+(m[f>>1]|0);k[(k[c>>2]|0)+68>>2]=(k[e>>2]|0)+(l[(k[c>>2]|0)+6>>0]|0);i[(k[c>>2]|0)+1>>0]=0;j[(k[c>>2]|0)+20>>1]=(k[(k[h>>2]|0)+32>>2]|0)-1;j[(k[c>>2]|0)+18>>1]=0;i[k[c>>2]>>0]=1;r=n;return}function PK(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,l=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+40|0;e=s+36|0;f=s+32|0;g=s+28|0;p=s+24|0;h=s+20|0;o=s+16|0;n=s+12|0;q=s+8|0;j=s+4|0;l=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[p>>2]=0;k[h>>2]=0;k[o>>2]=k[(k[e>>2]|0)+12>>2];if((k[g>>2]|0)>>>0<2){q=Yj(61664)|0;k[d>>2]=q;q=k[d>>2]|0;r=s;return q|0}if(k[f>>2]|0){k[n>>2]=k[f>>2];QK(k[(k[n>>2]|0)+72>>2]|0)}else{b=RK(k[e>>2]|0,k[g>>2]|0)|0;k[n>>2]=b}b=Pg(k[(k[o>>2]|0)+72>>2]|0)|0;k[q>>2]=b;do if(!(k[q>>2]|0)){b=or((k[(k[o>>2]|0)+56>>2]|0)+36|0)|0;k[j>>2]=b;kt((k[(k[o>>2]|0)+56>>2]|0)+36|0,(k[j>>2]|0)+1|0);if(m[(k[e>>2]|0)+22>>1]&4){if((k[n>>2]|0)==0?(b=EF(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,(b|0)!=0):0)break;b=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(b)break;DR(k[(k[n>>2]|0)+56>>2]|0,0,k[(k[(k[n>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((i[(k[e>>2]|0)+17>>0]|0)!=0?(PJ(k[e>>2]|0,k[g>>2]|0,2,0,q),(k[q>>2]|0)!=0):0)break;if(k[j>>2]|0){b=or((k[(k[o>>2]|0)+56>>2]|0)+32|0)|0;k[h>>2]=b;b=EF(k[e>>2]|0,k[h>>2]|0,p,0)|0;k[q>>2]=b;if(k[q>>2]|0)break;b=or((k[(k[p>>2]|0)+56>>2]|0)+4|0)|0;k[l>>2]=b;if((k[l>>2]|0)>>>0>((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){o=Yj(61717)|0;k[q>>2]=o;break}if((k[l>>2]|0)>>>0<((((k[(k[e>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){o=Pg(k[(k[p>>2]|0)+72>>2]|0)|0;k[q>>2]=o;if(k[q>>2]|0)break;kt((k[(k[p>>2]|0)+56>>2]|0)+4|0,(k[l>>2]|0)+1|0);kt((k[(k[p>>2]|0)+56>>2]|0)+(8+(k[l>>2]<<2))|0,k[g>>2]|0);if((k[n>>2]|0)!=0?(m[(k[e>>2]|0)+22>>1]&4|0)==0:0)SK(k[(k[n>>2]|0)+72>>2]|0);o=TK(k[e>>2]|0,k[g>>2]|0)|0;k[q>>2]=o;break}}if((k[n>>2]|0)==0?(b=EF(k[e>>2]|0,k[g>>2]|0,n,0)|0,k[q>>2]=b,0!=(b|0)):0)break;b=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[q>>2]=b;if(!(k[q>>2]|0)){kt(k[(k[n>>2]|0)+56>>2]|0,k[h>>2]|0);kt((k[(k[n>>2]|0)+56>>2]|0)+4|0,0);kt((k[(k[o>>2]|0)+56>>2]|0)+32|0,k[g>>2]|0)}}while(0);if(k[n>>2]|0)i[k[n>>2]>>0]=0;GB(k[n>>2]|0);GB(k[p>>2]|0);k[d>>2]=k[q>>2];q=k[d>>2]|0;r=s;return q|0}function QK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;UK(k[c>>2]|0);r=b;return}function RK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=ms(k[k[d>>2]>>2]|0,k[e>>2]|0)|0;k[f>>2]=b;if(k[f>>2]|0){b=rF(k[f>>2]|0,k[e>>2]|0,k[d>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=g;return b|0}else{k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}return 0}function SK(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+16>>2];if(!((m[(k[b>>2]|0)+24>>1]|0)&2)){r=d;return}if(k[(k[c>>2]|0)+104>>2]|0){r=d;return}a=(k[b>>2]|0)+24|0;j[a>>1]=m[a>>1]|0|32;a=(k[b>>2]|0)+24|0;j[a>>1]=(m[a>>1]|0)&-5;r=d;return}function TK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if((k[(k[c>>2]|0)+60>>2]|0)==0?(b=sj(k[(k[c>>2]|0)+44>>2]|0)|0,k[(k[c>>2]|0)+60>>2]=b,(k[(k[c>>2]|0)+60>>2]|0)==0):0)k[e>>2]=7;if(k[e>>2]|0){e=k[e>>2]|0;r=f;return e|0}b=k[d>>2]|0;if(b>>>0>(wj(k[(k[c>>2]|0)+60>>2]|0)|0)>>>0){e=k[e>>2]|0;r=f;return e|0}b=tj(k[(k[c>>2]|0)+60>>2]|0,k[d>>2]|0)|0;k[e>>2]=b;e=k[e>>2]|0;r=f;return e|0}function UK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+26|0;j[a>>1]=(j[a>>1]|0)+1<<16>>16;a=(k[(k[c>>2]|0)+28>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function VK(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,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;n=o+16|0;m=o+12|0;j=o+8|0;h=o+4|0;l=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=0;k[j>>2]=k[(k[e>>2]|0)+4>>2];if(k[(k[j>>2]|0)+8>>2]|0){k[d>>2]=262;n=k[d>>2]|0;r=o;return n|0}if((k[f>>2]|0)>>>0<2){n=Yj(64375)|0;k[d>>2]=n;n=k[d>>2]|0;r=o;return n|0}c=EF(k[j>>2]|0,k[f>>2]|0,m,0)|0;k[n>>2]=c;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}c=eJ(k[e>>2]|0,k[f>>2]|0,0)|0;k[n>>2]=c;if(k[n>>2]|0){GB(k[m>>2]|0);k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[k[g>>2]>>2]=0;if(i[(k[j>>2]|0)+17>>0]|0){zg(k[e>>2]|0,4,h);b=k[m>>2]|0;do if((k[f>>2]|0)==(k[h>>2]|0)){NK(b,n);GB(k[m>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}}else{GB(b);m=EF(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}m=MJ(k[j>>2]|0,k[l>>2]|0,1,0,k[f>>2]|0,0)|0;k[n>>2]=m;GB(k[l>>2]|0);if(k[n>>2]|0){k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}k[l>>2]=0;m=EF(k[j>>2]|0,k[h>>2]|0,l,0)|0;k[n>>2]=m;NK(k[l>>2]|0,n);GB(k[l>>2]|0);if(!(k[n>>2]|0)){k[k[g>>2]>>2]=k[h>>2];break}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}while(0);k[h>>2]=(k[h>>2]|0)+-1;while(1){if((k[h>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(m=CF(k[j>>2]|0,k[h>>2]|0)|0,(m|0)!=(k[h>>2]|0)):0)break;k[h>>2]=(k[h>>2]|0)+-1}m=Kg(k[e>>2]|0,4,k[h>>2]|0)|0;k[n>>2]=m}else{NK(k[m>>2]|0,n);GB(k[m>>2]|0)}k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function WK(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;i[(k[c>>2]|0)+56>>0]=1;a=XK((k[c>>2]|0)+64|0,(k[c>>2]|0)+36|0)|0;r=b;return a|0}function XK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+64|0;d=j+60|0;e=j+56|0;c=j+52|0;h=j+48|0;i=j;f=j+44|0;g=j+40|0;k[d>>2]=a;k[e>>2]=b;k[c>>2]=k[(k[(k[d>>2]|0)+8>>2]|0)+24>>2];k[h>>2]=0;b=i;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(k[(k[d>>2]|0)+40>>2]|0)){c=YK(k[c>>2]|0,0,0,(k[d>>2]|0)+40|0)|0;k[h>>2]=c}if(!(k[h>>2]|0)){c=ZK(k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=c}if(k[h>>2]|0){i=k[h>>2]|0;r=j;return i|0}k[g>>2]=0;c=(k[d>>2]|0)+40+8|0;_K(k[(k[d>>2]|0)+40>>2]|0,i,k[(k[(k[d>>2]|0)+8>>2]|0)+12>>2]|0,k[c>>2]|0,k[c+4>>2]|0);c=(k[d>>2]|0)+28|0;k[c>>2]=(k[c>>2]|0)+1;c=k[(k[e>>2]|0)+8>>2]|0;$K(i,c,((c|0)<0)<<31>>31);k[f>>2]=k[k[e>>2]>>2];while(1){b=k[f>>2]|0;if(!(k[f>>2]|0))break;k[g>>2]=k[b+4>>2];c=k[k[f>>2]>>2]|0;$K(i,c,((c|0)<0)<<31>>31);aL(i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0);if(!(k[(k[e>>2]|0)+4>>2]|0))Ud(k[f>>2]|0);k[f>>2]=k[g>>2]}k[k[e>>2]>>2]=b;i=bL(i,(k[d>>2]|0)+40+8|0)|0;k[h>>2]=i;i=k[h>>2]|0;r=j;return i|0}function YK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+28|0;f=j+24|0;g=j+20|0;i=j+16|0;h=j;k[f>>2]=a;a=j+8|0;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;if(Ji(202)|0){k[e>>2]=3338;i=k[e>>2]|0;r=j;return i|0}d=jL(k[k[f>>2]>>2]|0,0,k[g>>2]|0,4126,i)|0;k[i>>2]=d;if(!(k[i>>2]|0)){d=h;k[d>>2]=0;k[d+4>>2]=0;Ys(k[k[g>>2]>>2]|0,18,h)}k[e>>2]=k[i>>2];i=k[e>>2]|0;r=j;return i|0}function ZK(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;h=m+16|0;g=m+12|0;i=m+8|0;c=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;a=cL(k[e>>2]|0)|0;k[c>>2]=a;if(k[c>>2]|0){k[d>>2]=k[c>>2];j=k[d>>2]|0;r=m;return j|0}k[i>>2]=k[k[f>>2]>>2];c=dL(k[(k[e>>2]|0)+8>>2]|0)|0;k[(k[e>>2]|0)+32>>2]=c;c=ug(256,0)|0;k[g>>2]=c;if(!(k[g>>2]|0)){k[d>>2]=7;j=k[d>>2]|0;r=m;return j|0}while(1){if(!(k[i>>2]|0))break;b=k[i>>2]|0;do if(k[(k[f>>2]|0)+4>>2]|0)if((b|0)==(k[(k[f>>2]|0)+4>>2]|0)){k[j>>2]=0;break}else{k[j>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[(k[i>>2]|0)+4>>2]|0);break}else k[j>>2]=k[b+4>>2];while(0);k[(k[i>>2]|0)+4>>2]=0;k[h>>2]=0;while(1){if(!(k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0))break;eL(k[e>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0,i);k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=0;k[h>>2]=(k[h>>2]|0)+1}k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[i>>2];k[i>>2]=k[j>>2]}k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=64)break;eL(k[e>>2]|0,k[i>>2]|0,k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]|0,i);k[h>>2]=(k[h>>2]|0)+1}k[k[f>>2]>>2]=k[i>>2];Ud(k[g>>2]|0);k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function _K(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;a=i;k[a>>2]=d;k[a+4>>2]=e;d=k[g>>2]|0;e=d+40|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a=k[h>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+4>>2]=a;if(k[(k[g>>2]|0)+4>>2]|0){b=i;a=k[h>>2]|0;a=JR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[(k[g>>2]|0)+12>>2]=a;k[(k[g>>2]|0)+16>>2]=a;a=k[(k[g>>2]|0)+12>>2]|0;a=yR(k[i>>2]|0,k[i+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=(k[g>>2]|0)+24|0;k[i>>2]=a;k[i+4>>2]=L;k[(k[g>>2]|0)+8>>2]=k[h>>2];k[(k[g>>2]|0)+32>>2]=k[f>>2];r=j;return}else{k[k[g>>2]>>2]=7;r=j;return}}function $K(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+12|0;h=d;e=d+8|0;f=d+16|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=h;a=AI(f,k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;aL(k[g>>2]|0,f,k[e>>2]|0);r=d;return}function aL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[f>>2];while(1){if((k[h>>2]|0)<=0){d=9;break}if(k[k[d>>2]>>2]|0){d=9;break}k[g>>2]=k[h>>2];if((k[g>>2]|0)>((k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0)|0))k[g>>2]=(k[(k[d>>2]|0)+8>>2]|0)-(k[(k[d>>2]|0)+16>>2]|0);BR((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+16>>2]|0)|0,(k[e>>2]|0)+((k[f>>2]|0)-(k[h>>2]|0))|0,k[g>>2]|0)|0;b=(k[d>>2]|0)+16|0;k[b>>2]=(k[b>>2]|0)+(k[g>>2]|0);if((k[(k[d>>2]|0)+16>>2]|0)==(k[(k[d>>2]|0)+8>>2]|0)){j=k[(k[d>>2]|0)+32>>2]|0;c=(k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+12>>2]|0)|0;b=(k[(k[d>>2]|0)+16>>2]|0)-(k[(k[d>>2]|0)+12>>2]|0)|0;l=(k[d>>2]|0)+24|0;a=k[(k[d>>2]|0)+12>>2]|0;a=zR(k[l>>2]|0,k[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Rg(j,c,b,a,L)|0;k[k[d>>2]>>2]=a;k[(k[d>>2]|0)+16>>2]=0;k[(k[d>>2]|0)+12>>2]=0;a=k[(k[d>>2]|0)+8>>2]|0;b=(k[d>>2]|0)+24|0;c=b;a=zR(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[b>>2]=a;k[b+4>>2]=L}k[h>>2]=(k[h>>2]|0)-(k[g>>2]|0)}if((d|0)==9){r=i;return}}function bL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(((k[k[c>>2]>>2]|0)==0?(k[(k[c>>2]|0)+4>>2]|0)!=0:0)?(k[(k[c>>2]|0)+16>>2]|0)>(k[(k[c>>2]|0)+12>>2]|0):0){h=k[(k[c>>2]|0)+32>>2]|0;g=(k[(k[c>>2]|0)+4>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)|0;a=(k[(k[c>>2]|0)+16>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0;i=(k[c>>2]|0)+24|0;b=k[(k[c>>2]|0)+12>>2]|0;b=zR(k[i>>2]|0,k[i+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Rg(h,g,a,b,L)|0;k[k[c>>2]>>2]=b}h=(k[c>>2]|0)+24|0;i=k[(k[c>>2]|0)+16>>2]|0;i=zR(k[h>>2]|0,k[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;d=k[d>>2]|0;k[d>>2]=i;k[d+4>>2]=L;Ud(k[(k[c>>2]|0)+4>>2]|0);k[e>>2]=k[k[c>>2]>>2];c=k[c>>2]|0;d=c+40|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));r=f;return k[e>>2]|0}function cL(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+12>>2]|0)){a=tF(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0,0,0,d)|0;k[(k[c>>2]|0)+12>>2]=a;if(k[d>>2]|0){j[(k[(k[c>>2]|0)+12>>2]|0)+8>>1]=j[(k[(k[(k[c>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;i[(k[(k[c>>2]|0)+12>>2]|0)+11>>0]=0;break}k[b>>2]=7;a=k[b>>2]|0;r=e;return a|0}while(0);k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}function dL(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if((l[(k[c>>2]|0)+60>>0]|0|0)!=1)if((l[(k[c>>2]|0)+60>>0]|0|0)==2){k[b>>2]=139;break}else{k[b>>2]=140;break}else k[b>>2]=138;while(0);r=d;return k[b>>2]|0}function eL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[l>>2]=j;k[i>>2]=0;while(1){if(!((k[f>>2]|0)!=0?(k[g>>2]|0)!=0:0))break;d=ac[k[(k[e>>2]|0)+32>>2]&255](k[e>>2]|0,i,(k[f>>2]|0)+8|0,k[k[f>>2]>>2]|0,(k[g>>2]|0)+8|0,k[k[g>>2]>>2]|0)|0;k[m>>2]=d;if((k[m>>2]|0)<=0){k[k[l>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]|0)+4;k[f>>2]=k[(k[f>>2]|0)+4>>2];continue}else{k[k[l>>2]>>2]=k[g>>2];k[l>>2]=(k[g>>2]|0)+4;k[g>>2]=k[(k[g>>2]|0)+4>>2];k[i>>2]=0;continue}}k[k[l>>2]>>2]=(k[f>>2]|0)!=0?k[f>>2]|0:k[g>>2]|0;k[k[h>>2]>>2]=k[j>>2];r=n;return}function fL(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=r;r=r+64|0;p=x+52|0;q=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;h=x+20|0;j=x+16|0;n=x+12|0;o=x+8|0;w=x+4|0;g=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[z>>2]=k[s>>2];k[y>>2]=k[u>>2];k[h>>2]=l[(k[z>>2]|0)+1>>0];k[j>>2]=l[(k[y>>2]|0)+1>>0];k[n>>2]=(k[z>>2]|0)+(l[k[z>>2]>>0]|0);k[o>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);d=k[h>>2]|0;f=k[j>>2]|0;a:do if(!((k[h>>2]|0)>7&(k[j>>2]|0)>7)){if((d|0)==(f|0)){if((l[k[n>>2]>>0]^l[k[o>>2]>>0])&128){k[w>>2]=(l[k[n>>2]>>0]&128|0)!=0?-1:1;break}k[w>>2]=0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(l[42896+(k[h>>2]|0)>>0]|0))break a;z=(l[(k[n>>2]|0)+(k[g>>2]|0)>>0]|0)-(l[(k[o>>2]|0)+(k[g>>2]|0)>>0]|0)|0;k[w>>2]=z;if(z)break a;k[g>>2]=(k[g>>2]|0)+1}}do if((k[j>>2]|0)<=7)if((k[h>>2]|0)>7){k[w>>2]=-1;break}else{k[w>>2]=(k[h>>2]|0)-(k[j>>2]|0);break}else k[w>>2]=1;while(0);if((k[w>>2]|0)>0){if(!(l[k[n>>2]>>0]&128))break;k[w>>2]=-1;break}else{if(!(l[k[o>>2]>>0]&128))break;k[w>>2]=1;break}}else k[w>>2]=d-f;while(0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){z=k[w>>2]|0;r=x;return z|0}z=iL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}else{if(!(i[k[d+16>>2]>>0]|0)){z=k[w>>2]|0;r=x;return z|0}z=ha(k[w>>2]|0,-1)|0;k[w>>2]=z;z=k[w>>2]|0;r=x;return z|0}return 0}function gL(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;p=x+48|0;q=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;j=x+20|0;n=x+16|0;o=x+12|0;g=x+8|0;h=x+4|0;w=x;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[v>>2]=f;k[y>>2]=k[s>>2];k[j>>2]=k[u>>2];k[n>>2]=(k[y>>2]|0)+(l[k[y>>2]>>0]|0);k[o>>2]=(k[j>>2]|0)+(l[k[j>>2]>>0]|0);d=(k[y>>2]|0)+1|0;if((l[(k[y>>2]|0)+1>>0]|0)<128)k[g>>2]=l[d>>0];else KF(d,g)|0;k[g>>2]=((k[g>>2]|0)-13|0)/2|0;d=(k[j>>2]|0)+1|0;if((l[(k[j>>2]|0)+1>>0]|0)<128)k[h>>2]=l[d>>0];else KF(d,h)|0;k[h>>2]=((k[h>>2]|0)-13|0)/2|0;y=OQ(k[n>>2]|0,k[o>>2]|0,(k[g>>2]|0)<(k[h>>2]|0)?k[g>>2]|0:k[h>>2]|0)|0;k[w>>2]=y;if(!(k[w>>2]|0))k[w>>2]=(k[g>>2]|0)-(k[h>>2]|0);d=k[(k[(k[p>>2]|0)+8>>2]|0)+28>>2]|0;if(!(k[w>>2]|0)){if((m[d+6>>1]|0)<=1){y=k[w>>2]|0;r=x;return y|0}y=iL(k[p>>2]|0,k[q>>2]|0,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}else{if(!(i[k[d+16>>2]>>0]|0)){y=k[w>>2]|0;r=x;return y|0}y=ha(k[w>>2]|0,-1)|0;k[w>>2]=y;y=k[w>>2]|0;r=x;return y|0}return 0}function hL(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,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=IF(a,b,n)|0;r=o;return n|0}uF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=IF(a,b,n)|0;r=o;return n|0}function iL(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,i=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;n=o;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[n>>2]=k[(k[g>>2]|0)+12>>2];if(k[k[h>>2]>>2]|0){a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=JF(a,b,n,1)|0;r=o;return n|0}uF(k[(k[(k[g>>2]|0)+8>>2]|0)+28>>2]|0,k[m>>2]|0,k[l>>2]|0,k[n>>2]|0);k[k[h>>2]>>2]=1;a=k[j>>2]|0;b=k[i>>2]|0;n=k[n>>2]|0;n=JF(a,b,n,1)|0;r=o;return n|0}function jL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;l=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;j=n;k[f>>2]=a;k[g>>2]=b;k[l>>2]=c;k[h>>2]=d;k[i>>2]=e;b=k[(k[f>>2]|0)+4>>2]|0;b=ug(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;if(!(k[j>>2]|0)){k[m>>2]=7;m=k[m>>2]|0;r=n;return m|0}f=Zr(k[f>>2]|0,k[g>>2]|0,k[j>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[m>>2]=f;f=k[j>>2]|0;if(k[m>>2]|0){Ud(f);m=k[m>>2]|0;r=n;return m|0}else{k[k[l>>2]>>2]=f;m=k[m>>2]|0;r=n;return m|0}return 0}function kL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+36|0;d=p+32|0;n=p+28|0;g=p+24|0;m=p+20|0;f=p+16|0;i=p+12|0;j=p+8|0;e=p+4|0;h=p;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2];k[m>>2]=k[(k[c>>2]|0)+4>>2];b=lL((k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){k[e>>2]=0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]&65534)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|1)*56|0);k[f>>2]=((k[k[c>>2]>>2]|0)+(k[g>>2]|0)|0)/2|0;while(1){if((k[f>>2]|0)<=0)break;do if(k[(k[i>>2]|0)+24>>2]|0)if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=-1;break}else{b=ac[k[(k[m>>2]|0)+32>>2]&255](k[m>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[h>>2]=b;break}else k[h>>2]=1;while(0);do if((k[h>>2]|0)<0)o=12;else{if((k[h>>2]|0)==0?(k[i>>2]|0)>>>0<(k[j>>2]|0)>>>0:0){o=12;break}if(k[(k[i>>2]|0)+24>>2]|0)k[e>>2]=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[j>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((o|0)==12){o=0;k[(k[(k[c>>2]|0)+8>>2]|0)+(k[f>>2]<<2)>>2]=((k[i>>2]|0)-(k[(k[c>>2]|0)+12>>2]|0)|0)/56|0;k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+((k[f>>2]^1)<<2)>>2]|0)*56|0);k[e>>2]=0}k[f>>2]=(k[f>>2]|0)/2|0}k[k[d>>2]>>2]=(k[(k[(k[c>>2]|0)+12>>2]|0)+((k[(k[(k[c>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(k[n>>2]|0)){o=l[(k[(k[m>>2]|0)+12>>2]|0)+11>>0]|0;r=p;return o|0}else{o=k[n>>2]|0;r=p;return o|0}return 0}function lL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;b=h+24|0;c=h+20|0;g=h+16|0;e=h;f=h+12|0;d=h+8|0;k[c>>2]=a;k[g>>2]=0;i=e;k[i>>2]=0;k[i+4>>2]=0;i=k[c>>2]|0;l=k[i+4>>2]|0;a=(k[c>>2]|0)+8|0;j=k[a+4>>2]|0;if((l|0)>(j|0)|((l|0)==(j|0)?(k[i>>2]|0)>>>0>=(k[a>>2]|0)>>>0:0)){k[f>>2]=k[(k[c>>2]|0)+48>>2];k[d>>2]=1;if(((k[f>>2]|0)!=0?(l=mL(k[f>>2]|0)|0,k[g>>2]=l,(k[g>>2]|0)==0):0)?(k[(k[f>>2]|0)+20>>2]|0)==0:0){l=(k[f>>2]|0)+8|0;l=nL(k[k[f>>2]>>2]|0,k[c>>2]|0,(k[f>>2]|0)+32|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[g>>2]=l;k[d>>2]=0}if(k[d>>2]|0){IK(k[c>>2]|0);k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}}if(!(k[g>>2]|0)){l=oL(k[c>>2]|0,e)|0;k[g>>2]=l}if(!(k[g>>2]|0)){k[(k[c>>2]|0)+20>>2]=k[e>>2];l=pL(k[c>>2]|0,k[e>>2]|0,(k[c>>2]|0)+32|0)|0;k[g>>2]=l}k[b>>2]=k[g>>2];l=k[b>>2]|0;r=h;return l|0}function mL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;e=sL(k[b>>2]|0)|0;k[c>>2]=e;e=(k[b>>2]|0)+32|0;a=(k[b>>2]|0)+32+16|0;k[e>>2]=k[a>>2];k[e+4>>2]=k[a+4>>2];k[e+8>>2]=k[a+8>>2];k[e+12>>2]=k[a+12>>2];e=(k[b>>2]|0)+32+8|0;a=(k[b>>2]|0)+8|0;if(!((k[e>>2]|0)==(k[a>>2]|0)?(k[e+4>>2]|0)==(k[a+4>>2]|0):0)){e=k[c>>2]|0;r=d;return e|0}k[(k[b>>2]|0)+20>>2]=1;e=k[c>>2]|0;r=d;return e|0}function nL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+36|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p;o=p+20|0;n=p+16|0;l=p+12|0;m=p+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=j;k[a>>2]=d;k[a+4>>2]=e;k[o>>2]=0;if(Ji(201)|0){k[f>>2]=266;o=k[f>>2]|0;r=p;return o|0}if(k[(k[h>>2]|0)+44>>2]|0){Rs(k[(k[h>>2]|0)+24>>2]|0,0,0,k[(k[h>>2]|0)+44>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=0}a=j;b=k[a+4>>2]|0;c=k[h>>2]|0;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=(k[i>>2]|0)+8|0;b=k[c+4>>2]|0;a=(k[h>>2]|0)+8|0;k[a>>2]=k[c>>2];k[a+4>>2]=b;k[(k[h>>2]|0)+24>>2]=k[k[i>>2]>>2];a=qL(k[g>>2]|0,k[i>>2]|0,(k[h>>2]|0)+44|0)|0;k[o>>2]=a;if((k[o>>2]|0)==0?(k[(k[h>>2]|0)+44>>2]|0)==0:0){k[n>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+12>>2];b=k[h>>2]|0;a=k[n>>2]|0;a=JR(k[b>>2]|0,k[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[l>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0)){a=k[n>>2]|0;a=jg(a,((a|0)<0)<<31>>31)|0;k[(k[h>>2]|0)+36>>2]=a;if(!(k[(k[h>>2]|0)+36>>2]|0))k[o>>2]=7;k[(k[h>>2]|0)+40>>2]=k[n>>2]}if((k[o>>2]|0)==0&(k[l>>2]|0)!=0){k[m>>2]=(k[n>>2]|0)-(k[l>>2]|0);c=k[h>>2]|0;a=k[m>>2]|0;a=zR(k[c>>2]|0,k[c+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c=L;n=(k[h>>2]|0)+8|0;b=k[n+4>>2]|0;if((c|0)>(b|0)|((c|0)==(b|0)?a>>>0>(k[n>>2]|0)>>>0:0)){a=(k[h>>2]|0)+8|0;n=k[h>>2]|0;n=yR(k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[m>>2]=n}n=k[h>>2]|0;n=js(k[(k[h>>2]|0)+24>>2]|0,(k[(k[h>>2]|0)+36>>2]|0)+(k[l>>2]|0)|0,k[m>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n}}k[f>>2]=k[o>>2];o=k[f>>2]|0;r=p;return o|0}function oL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+48|0;c=o+24|0;d=o+20|0;e=o+16|0;j=o+12|0;g=o+32|0;f=o+8|0;h=o+4|0;m=o;k[d>>2]=a;k[e>>2]=b;b=k[d>>2]|0;a=k[b>>2]|0;b=k[b+4>>2]|0;do if(k[(k[d>>2]|0)+44>>2]|0){m=(hu((k[(k[d>>2]|0)+44>>2]|0)+a|0,k[e>>2]|0)|0)&255;n=k[d>>2]|0;j=n;m=zR(k[j>>2]|0,k[j+4>>2]|0,m|0,0)|0;k[n>>2]=m;k[n+4>>2]=L}else{p=k[(k[d>>2]|0)+40>>2]|0;b=JR(a|0,b|0,p|0,((p|0)<0)<<31>>31|0)|0;k[j>>2]=b;if((k[j>>2]|0)!=0?((k[(k[d>>2]|0)+40>>2]|0)-(k[j>>2]|0)|0)>=9:0){n=(hu((k[(k[d>>2]|0)+36>>2]|0)+(k[j>>2]|0)|0,k[e>>2]|0)|0)&255;p=k[d>>2]|0;m=p;n=zR(k[m>>2]|0,k[m+4>>2]|0,n|0,0)|0;k[p>>2]=n;k[p+4>>2]=L;break}k[h>>2]=0;while(1){p=pL(k[d>>2]|0,1,f)|0;k[m>>2]=p;if(k[m>>2]|0)break;j=i[k[f>>2]>>0]|0;p=k[h>>2]|0;k[h>>2]=p+1;i[g+(p&15)>>0]=j;if(!((l[k[f>>2]>>0]|0)&128)){n=10;break}}if((n|0)==10){hu(g,k[e>>2]|0)|0;break}k[c>>2]=k[m>>2];p=k[c>>2]|0;r=o;return p|0}while(0);k[c>>2]=0;p=k[c>>2]|0;r=o;return p|0}function pL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;u=r;r=r+64|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;m=u+36|0;n=u+32|0;d=u+28|0;e=u+24|0;q=u+20|0;j=u+16|0;p=u+12|0;s=u+8|0;o=u+4|0;l=u;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;a=k[g>>2]|0;b=k[a>>2]|0;a=k[a+4>>2]|0;if(k[(k[g>>2]|0)+44>>2]|0){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+44>>2]|0)+b;s=k[h>>2]|0;t=k[g>>2]|0;q=t;s=zR(k[q>>2]|0,k[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;k[t>>2]=s;k[t+4>>2]=L;k[f>>2]=0;t=k[f>>2]|0;r=u;return t|0}c=k[(k[g>>2]|0)+40>>2]|0;c=JR(b|0,a|0,c|0,((c|0)<0)<<31>>31|0)|0;k[m>>2]=c;if(!(k[m>>2]|0)){w=(k[g>>2]|0)+8|0;a=k[g>>2]|0;a=yR(k[w>>2]|0,k[w+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;w=L;c=k[(k[g>>2]|0)+40>>2]|0;v=((c|0)<0)<<31>>31;b=k[g>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>c>>>0)k[d>>2]=k[b+40>>2];else{v=b+8|0;w=k[g>>2]|0;w=yR(k[v>>2]|0,k[v+4>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[d>>2]=w}w=k[g>>2]|0;w=js(k[(k[g>>2]|0)+24>>2]|0,k[(k[g>>2]|0)+36>>2]|0,k[d>>2]|0,k[w>>2]|0,k[w+4>>2]|0)|0;k[e>>2]=w;if(k[e>>2]|0){k[f>>2]=k[e>>2];w=k[f>>2]|0;r=u;return w|0}}k[n>>2]=(k[(k[g>>2]|0)+40>>2]|0)-(k[m>>2]|0);do if((k[h>>2]|0)<=(k[n>>2]|0)){k[k[i>>2]>>2]=(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0);v=k[h>>2]|0;w=k[g>>2]|0;t=w;v=zR(k[t>>2]|0,k[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L}else{do if((k[(k[g>>2]|0)+16>>2]|0)<(k[h>>2]|0)){if(128>(k[(k[g>>2]|0)+16>>2]<<1|0))b=128;else b=k[(k[g>>2]|0)+16>>2]<<1;k[p>>2]=b;while(1){if((k[h>>2]|0)<=(k[p>>2]|0))break;k[p>>2]=k[p>>2]<<1}w=k[p>>2]|0;w=mg(k[(k[g>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;k[j>>2]=w;if(k[j>>2]|0){k[(k[g>>2]|0)+16>>2]=k[p>>2];k[(k[g>>2]|0)+28>>2]=k[j>>2];break}k[f>>2]=7;w=k[f>>2]|0;r=u;return w|0}while(0);BR(k[(k[g>>2]|0)+28>>2]|0,(k[(k[g>>2]|0)+36>>2]|0)+(k[m>>2]|0)|0,k[n>>2]|0)|0;v=k[n>>2]|0;w=k[g>>2]|0;p=w;v=zR(k[p>>2]|0,k[p+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;k[w>>2]=v;k[w+4>>2]=L;k[q>>2]=(k[h>>2]|0)-(k[n>>2]|0);while(1){if((k[q>>2]|0)<=0){t=27;break}k[o>>2]=k[q>>2];if((k[q>>2]|0)>(k[(k[g>>2]|0)+40>>2]|0))k[o>>2]=k[(k[g>>2]|0)+40>>2];w=pL(k[g>>2]|0,k[o>>2]|0,l)|0;k[s>>2]=w;if(k[s>>2]|0)break;BR((k[(k[g>>2]|0)+28>>2]|0)+((k[h>>2]|0)-(k[q>>2]|0))|0,k[l>>2]|0,k[o>>2]|0)|0;k[q>>2]=(k[q>>2]|0)-(k[o>>2]|0)}if((t|0)==27){k[k[i>>2]>>2]=k[(k[g>>2]|0)+28>>2];break}k[f>>2]=k[s>>2];w=k[f>>2]|0;r=u;return w|0}while(0);k[f>>2]=0;w=k[f>>2]|0;r=u;return w|0}function qL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[g>>2]=0;a=(k[d>>2]|0)+8|0;i=k[a+4>>2]|0;c=k[(k[(k[(k[j>>2]|0)+8>>2]|0)+24>>2]|0)+140>>2]|0;b=((c|0)<0)<<31>>31;if(!((i|0)<(b|0)|((i|0)==(b|0)?(k[a>>2]|0)>>>0<=c>>>0:0))){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=k[k[d>>2]>>2];if((k[k[k[f>>2]>>2]>>2]|0)<3){j=k[g>>2]|0;r=h;return j|0}j=rL(k[f>>2]|0,0,0,k[(k[d>>2]|0)+8>>2]|0,k[e>>2]|0)|0;k[g>>2]=j;j=k[g>>2]|0;r=h;return j|0}function rL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=r;r=r+32|0;g=f+8|0;k[f+16>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[f+12>>2]=d;k[g>>2]=e;k[k[g>>2]>>2]=0;r=f;return 0}function sL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+96|0;b=n+88|0;j=n+84|0;l=n+80|0;e=n+48|0;h=n+76|0;o=n+72|0;g=n+68|0;m=n+8|0;c=n+64|0;i=n+60|0;f=n+56|0;d=n;k[b>>2]=a;k[j>>2]=0;q=(k[b>>2]|0)+8|0;p=k[q+4>>2]|0;a=e;k[a>>2]=k[q>>2];k[a+4>>2]=p;k[h>>2]=(k[b>>2]|0)+32+16;k[o>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+4>>2];a=e;_K(k[k[h>>2]>>2]|0,m,k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]|0,k[a>>2]|0,k[a+4>>2]|0);while(1){if(k[j>>2]|0)break;k[i>>2]=(k[(k[g>>2]|0)+12>>2]|0)+((k[(k[(k[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[f>>2]=k[(k[i>>2]|0)+20>>2];q=m+24|0;p=k[m+16>>2]|0;p=zR(k[q>>2]|0,k[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=d;k[q>>2]=p;k[q+4>>2]=L;if(!(k[(k[i>>2]|0)+24>>2]|0))break;a=d;o=k[f>>2]|0;o=zR(k[a>>2]|0,k[a+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;a=L;p=k[f>>2]|0;p=QF(p,((p|0)<0)<<31>>31)|0;p=zR(o|0,a|0,p|0,((p|0)<0)<<31>>31|0)|0;a=L;o=e;q=k[(k[b>>2]|0)+16>>2]|0;q=zR(k[o>>2]|0,k[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;o=L;if((a|0)>(o|0)|(a|0)==(o|0)&p>>>0>q>>>0)break;q=k[f>>2]|0;$K(m,q,((q|0)<0)<<31>>31);aL(m,k[(k[i>>2]|0)+32>>2]|0,k[f>>2]|0);q=kL(k[(k[b>>2]|0)+4>>2]|0,c)|0;k[j>>2]=q}q=bL(m,(k[h>>2]|0)+8|0)|0;k[l>>2]=q;if(k[j>>2]|0){q=k[j>>2]|0;r=n;return q|0}k[j>>2]=k[l>>2];q=k[j>>2]|0;r=n;return q|0}function tL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;k[d>>2]=(k[b>>2]|0)+64;k[c>>2]=0;a=uL(k[b>>2]|0,c)|0;k[e>>2]=a;if(!(k[e>>2]|0)){d=vL(k[d>>2]|0,k[c>>2]|0,0)|0;k[e>>2]=d;k[(k[b>>2]|0)+20>>2]=k[c>>2];k[c>>2]=0}if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}EK(k[c>>2]|0);e=k[e>>2]|0;r=f;return e|0}function uL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;c=s+52|0;d=s+48|0;m=s+44|0;q=s+40|0;h=s+36|0;p=s+32|0;o=s+28|0;i=s+24|0;f=s;e=s+20|0;g=s+16|0;n=s+12|0;j=s+8|0;k[c>>2]=a;k[d>>2]=b;k[m>>2]=0;k[q>>2]=0;k[h>>2]=0;while(1){if(k[q>>2]|0)break;if((k[h>>2]|0)>=(l[(k[c>>2]|0)+59>>0]|0|0))break;k[p>>2]=(k[c>>2]|0)+64+((k[h>>2]|0)*72|0);k[o>>2]=0;b=zL(k[(k[p>>2]|0)+28>>2]|0)|0;k[i>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;a:do if((k[(k[p>>2]|0)+28>>2]|0)<=16){b=AL(k[p>>2]|0,k[(k[p>>2]|0)+28>>2]|0,f,o)|0;k[q>>2]=b}else{k[g>>2]=0;b=BL(16)|0;k[o>>2]=b;if(!(k[o>>2]|0))k[q>>2]=7;k[e>>2]=0;while(1){if(!((k[e>>2]|0)<(k[(k[p>>2]|0)+28>>2]|0)?(k[q>>2]|0)==0:0))break a;k[n>>2]=0;if(((k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0)<16)a=(k[(k[p>>2]|0)+28>>2]|0)-(k[e>>2]|0)|0;else a=16;k[j>>2]=a;b=AL(k[p>>2]|0,k[j>>2]|0,f,n)|0;k[q>>2]=b;if(!(k[q>>2]|0)){t=k[p>>2]|0;a=k[i>>2]|0;b=k[g>>2]|0;k[g>>2]=b+1;b=CL(t,a,b,k[o>>2]|0,k[n>>2]|0)|0;k[q>>2]=b}k[e>>2]=(k[e>>2]|0)+16}}while(0);a=k[o>>2]|0;if(!(k[q>>2]|0))k[m>>2]=a;else EK(a);k[h>>2]=(k[h>>2]|0)+1}if(!(k[q>>2]|0)){p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}EK(k[m>>2]|0);k[m>>2]=0;p=k[m>>2]|0;t=k[d>>2]|0;k[t>>2]=p;t=k[q>>2]|0;r=s;return t|0}function vL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;d=m+24|0;e=m+20|0;f=m+16|0;i=m+8|0;g=m+4|0;h=m;k[e>>2]=a;k[f>>2]=b;k[m+12>>2]=c;k[i>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[h>>2]|0))break;a=wL((k[(k[f>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0)|0,0)|0;k[i>>2]=a;if(k[i>>2]|0){j=4;break}k[g>>2]=(k[g>>2]|0)+1}if((j|0)==4){k[d>>2]=k[i>>2];j=k[d>>2]|0;r=m;return j|0}k[g>>2]=(k[k[f>>2]>>2]|0)-1;while(1){if((k[g>>2]|0)<=0)break;xL(k[f>>2]|0,k[g>>2]|0);k[g>>2]=(k[g>>2]|0)+-1}k[d>>2]=l[(k[(k[e>>2]|0)+12>>2]|0)+11>>0];j=k[d>>2]|0;r=m;return j|0}function wL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;d=f+8|0;g=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[(k[c>>2]|0)+48>>2];k[e>>2]=0;if(!(k[g>>2]|0)){g=k[e>>2]|0;r=f;return g|0}g=yL(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function xL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+36|0;d=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;k[c>>2]=a;k[d>>2]=b;b=k[d>>2]|0;if((k[d>>2]|0)>=((k[k[c>>2]>>2]|0)/2|0|0)){k[f>>2]=b-((k[k[c>>2]>>2]|0)/2|0)<<1;k[g>>2]=(k[f>>2]|0)+1}else{k[f>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];k[g>>2]=k[(k[(k[c>>2]|0)+8>>2]|0)+((k[d>>2]<<1)+1<<2)>>2]}k[i>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[f>>2]|0)*56|0);k[j>>2]=(k[(k[c>>2]|0)+12>>2]|0)+((k[g>>2]|0)*56|0);do if(k[(k[i>>2]|0)+24>>2]|0){if(!(k[(k[j>>2]|0)+24>>2]|0)){k[h>>2]=k[f>>2];break}k[l>>2]=k[(k[c>>2]|0)+4>>2];k[e>>2]=0;l=ac[k[(k[l>>2]|0)+32>>2]&255](k[l>>2]|0,e,k[(k[i>>2]|0)+32>>2]|0,k[(k[i>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+32>>2]|0,k[(k[j>>2]|0)+20>>2]|0)|0;k[m>>2]=l;if((k[m>>2]|0)<=0){k[h>>2]=k[f>>2];break}else{k[h>>2]=k[g>>2];break}}else k[h>>2]=k[g>>2];while(0);k[(k[(k[c>>2]|0)+8>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2];r=n;return}function yL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+24|0;j=i+20|0;h=i+16|0;f=i+12|0;g=i+8|0;d=i+4|0;e=i;k[c>>2]=a;k[j>>2]=b;k[h>>2]=0;k[f>>2]=k[(k[c>>2]|0)+48>>2];k[g>>2]=k[k[f>>2]>>2];k[d>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+24>>2];a=vL(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[j>>2]|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[e>>2]=k[(k[f>>2]|0)+16>>2];if(!(k[(k[g>>2]|0)+56>>2]|0)){j=(k[g>>2]|0)+56+8|0;j=YK(k[d>>2]|0,k[j>>2]|0,k[j+4>>2]|0,(k[g>>2]|0)+56|0)|0;k[h>>2]=j;j=(k[g>>2]|0)+56+8|0;k[j>>2]=0;k[j+4>>2]=0}if(!(k[h>>2]|0)){k[(k[f>>2]|0)+32+16>>2]=k[(k[g>>2]|0)+56>>2];b=(k[g>>2]|0)+56+8|0;j=k[b+4>>2]|0;a=(k[f>>2]|0)+8|0;k[a>>2]=k[b>>2];k[a+4>>2]=j;a=k[e>>2]|0;j=(k[g>>2]|0)+56+8|0;g=j;g=zR(k[g>>2]|0,k[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k[j>>2]=g;k[j+4>>2]=L}}if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=lL(k[c>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function zL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;b=e+12|0;c=e+8|0;d=e;k[b>>2]=a;k[c>>2]=0;a=d;k[a>>2]=16;k[a+4>>2]=0;while(1){f=d;h=k[f+4>>2]|0;a=k[b>>2]|0;g=((a|0)<0)<<31>>31;if(!((h|0)<(g|0)|((h|0)==(g|0)?(k[f>>2]|0)>>>0>>0:0)))break;g=d;g=KR(k[g>>2]|0,k[g+4>>2]|0,16,0)|0;h=d;k[h>>2]=g;k[h+4>>2]=L;k[c>>2]=(k[c>>2]|0)+1}r=e;return k[c>>2]|0}function AL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;e=p+44|0;f=p+40|0;g=p+36|0;h=p+32|0;m=p+28|0;j=p+8|0;i=p+24|0;o=p+20|0;l=p;n=p+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=k[g>>2]|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[o>>2]=0;d=BL(k[f>>2]|0)|0;k[m>>2]=d;k[k[h>>2]>>2]=d;if(!(k[m>>2]|0))k[o>>2]=7;k[i>>2]=0;while(1){if(!((k[i>>2]|0)<(k[f>>2]|0)?(k[o>>2]|0)==0:0))break;a=l;k[a>>2]=0;k[a+4>>2]=0;k[n>>2]=(k[(k[m>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);a=j;a=EL(k[e>>2]|0,(k[e>>2]|0)+40|0,k[a>>2]|0,k[a+4>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=a;a=(k[n>>2]|0)+8|0;c=k[a+4>>2]|0;d=j;k[d>>2]=k[a>>2];k[d+4>>2]=c;k[i>>2]=(k[i>>2]|0)+1}if(!(k[o>>2]|0)){c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}EK(k[m>>2]|0);k[k[h>>2]>>2]=0;c=j;n=c;n=k[n>>2]|0;c=c+4|0;c=k[c>>2]|0;d=k[g>>2]|0;a=d;k[a>>2]=n;d=d+4|0;k[d>>2]=c;o=k[o>>2]|0;r=p;return o|0}function BL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;d=f+8|0;c=f+4|0;e=f;k[b>>2]=a;k[d>>2]=2;while(1){a=k[d>>2]|0;if((k[d>>2]|0)>=(k[b>>2]|0))break;k[d>>2]=(k[d>>2]|0)+a}k[c>>2]=16+(a*60|0);if(Ji(100)|0)a=0;else{a=k[c>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0}k[e>>2]=a;if(!(k[e>>2]|0)){e=k[e>>2]|0;r=f;return e|0}k[k[e>>2]>>2]=k[d>>2];k[(k[e>>2]|0)+4>>2]=0;k[(k[e>>2]|0)+12>>2]=(k[e>>2]|0)+16;k[(k[e>>2]|0)+8>>2]=(k[(k[e>>2]|0)+12>>2]|0)+((k[d>>2]|0)*56|0);e=k[e>>2]|0;r=f;return e|0}function CL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;s=r;r=r+64|0;f=s+48|0;g=s+44|0;o=s+40|0;u=s+36|0;t=s+32|0;q=s+28|0;j=s+24|0;h=s+20|0;p=s+16|0;l=s+12|0;i=s+8|0;n=s+4|0;m=s;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[u>>2]=d;k[t>>2]=e;k[q>>2]=0;k[j>>2]=1;k[p>>2]=k[u>>2];a=DL(k[f>>2]|0,k[t>>2]|0,l)|0;k[q>>2]=a;k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[g>>2]|0))break;k[j>>2]=k[j>>2]<<4;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=1;while(1){if(!((k[h>>2]|0)<(k[g>>2]|0)?(k[q>>2]|0)==0:0))break;k[i>>2]=((k[o>>2]|0)/(k[j>>2]|0)|0|0)%16|0;k[n>>2]=(k[(k[p>>2]|0)+12>>2]|0)+((k[i>>2]|0)*56|0);do if(!(k[(k[n>>2]|0)+48>>2]|0)){u=BL(16)|0;k[m>>2]=u;if(!(k[m>>2]|0)){k[q>>2]=7;break}else{u=DL(k[f>>2]|0,k[m>>2]|0,(k[n>>2]|0)+48|0)|0;k[q>>2]=u;break}}while(0);if(!(k[q>>2]|0)){k[p>>2]=k[(k[(k[n>>2]|0)+48>>2]|0)+4>>2];k[j>>2]=(k[j>>2]|0)/16|0}k[h>>2]=(k[h>>2]|0)+1}f=k[l>>2]|0;if(!(k[q>>2]|0)){k[(k[(k[p>>2]|0)+12>>2]|0)+(((k[o>>2]|0)%16|0)*56|0)+48>>2]=f;u=k[q>>2]|0;r=s;return u|0}else{JK(f);u=k[q>>2]|0;r=s;return u|0}return 0}function DL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;f=i+16|0;d=i+12|0;e=i+8|0;h=i+4|0;g=i;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;if(Ji(100)|0)b=0;else b=ug(64,0)|0;k[k[e>>2]>>2]=b;k[g>>2]=b;b=k[d>>2]|0;if(!(k[g>>2]|0)){EK(b);k[h>>2]=7;h=k[h>>2]|0;r=i;return h|0}k[(k[g>>2]|0)+4>>2]=b;k[k[g>>2]>>2]=k[f>>2];b=k[(k[f>>2]|0)+8>>2]|0;if(((k[(k[(k[f>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((k[(k[(k[f>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(k[b+8>>2]|0)+9|0;else b=(k[b+4>>2]|0)/2|0;k[(k[g>>2]|0)+16>>2]=b;e=k[(k[g>>2]|0)+16>>2]|0;g=(k[f>>2]|0)+56+8|0;f=g;f=zR(k[f>>2]|0,k[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;k[g>>2]=f;k[g+4>>2]=L;h=k[h>>2]|0;r=i;return h|0}function EL(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,i=0,j=0,l=0,m=0,n=0,o=0;l=r;r=r+48|0;n=l+32|0;m=l+28|0;o=l+8|0;g=l+24|0;h=l+20|0;j=l+16|0;i=l;k[n>>2]=a;k[m>>2]=b;a=o;k[a>>2]=c;k[a+4>>2]=d;k[g>>2]=e;k[h>>2]=f;f=o;f=nL(k[n>>2]|0,k[g>>2]|0,k[m>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[j>>2]=f;if(!(k[j>>2]|0)){n=i;k[n>>2]=0;k[n+4>>2]=0;n=oL(k[g>>2]|0,i)|0;k[j>>2]=n;n=k[g>>2]|0;o=i;o=zR(k[n>>2]|0,k[n+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;n=(k[g>>2]|0)+8|0;k[n>>2]=o;k[n+4>>2]=L;n=i;o=k[h>>2]|0;m=o;n=zR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;k[o>>2]=n;k[o+4>>2]=L}if(k[j>>2]|0){o=k[j>>2]|0;r=l;return o|0}o=lL(k[g>>2]|0)|0;k[j>>2]=o;o=k[j>>2]|0;r=l;return o|0}function FL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (l[(k[b>>2]|0)+66>>0]|0|0)!=1|0}function GL(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;e=d+4|0;c=d;k[b>>2]=a;a=HL(k[(k[b>>2]|0)+16>>2]|0,e)|0;k[c>>2]=a;k[(k[b>>2]|0)+56>>2]=0;if(!(k[e>>2]|0)){e=k[c>>2]|0;r=d;return e|0}i[(k[b>>2]|0)+2>>0]=1;e=k[c>>2]|0;r=d;return e|0}function HL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;if((l[(k[f>>2]|0)+66>>0]|0|0)>=3)a=lF(k[f>>2]|0)|0;else a=0;k[d>>2]=a;if(k[d>>2]|0){k[k[c>>2]>>2]=1;k[e>>2]=k[d>>2];f=k[e>>2]|0;r=g;return f|0}a=k[c>>2]|0;if((l[(k[f>>2]|0)+66>>0]|0|0)!=1)k[a>>2]=1;else k[a>>2]=0;k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}function IL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;a=k[c>>2]|0;if(i[(k[c>>2]|0)+56>>0]|0){k[f>>2]=(k[(k[(k[c>>2]|0)+20>>2]|0)+12>>2]|0)+((k[(k[(k[a+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);k[k[d>>2]>>2]=k[(k[f>>2]|0)+20>>2];k[e>>2]=k[(k[f>>2]|0)+32>>2];f=k[e>>2]|0;r=g;return f|0}else{k[k[d>>2]>>2]=k[k[a+36>>2]>>2];k[e>>2]=(k[(k[c>>2]|0)+36>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}return 0}function JL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+32|0;f=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;n=t+12|0;q=t+8|0;s=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[h>>2]>>2]|0){r=t;return}k[n>>2]=k[(k[e>>2]|0)+56>>2];k[q>>2]=(k[(k[e>>2]|0)+64>>2]|0)+(k[f>>2]<<1);k[p>>2]=(l[k[q>>2]>>0]|0)<<8|(l[(k[q>>2]|0)+1>>0]|0);k[o>>2]=l[(k[e>>2]|0)+5>>0];if((k[p>>2]|0)>>>0>=((l[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]|0)<<8|(l[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]|0))>>>0?((k[p>>2]|0)+(k[g>>2]|0)|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c=_L(k[e>>2]|0,k[p>>2]&65535,k[g>>2]&65535)|0;k[s>>2]=c;if(k[s>>2]|0){k[k[h>>2]>>2]=k[s>>2];r=t;return}c=(k[e>>2]|0)+18|0;j[c>>1]=(j[c>>1]|0)+-1<<16>>16;if(!(m[(k[e>>2]|0)+18>>1]|0)){c=(k[n>>2]|0)+((k[o>>2]|0)+1)|0;i[c>>0]=0;i[c+1>>0]=0;i[c+2>>0]=0;i[c+3>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+7)>>0]=0;i[(k[n>>2]|0)+((k[o>>2]|0)+5)>>0]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+5)+1>>0]=k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2];j[(k[e>>2]|0)+16>>1]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-(l[(k[e>>2]|0)+5>>0]|0)-(l[(k[e>>2]|0)+6>>0]|0)-8;r=t;return}else{CR(k[q>>2]|0,(k[q>>2]|0)+2|0,(m[(k[e>>2]|0)+18>>1]|0)-(k[f>>2]|0)<<1|0)|0;i[(k[n>>2]|0)+((k[o>>2]|0)+3)>>0]=(m[(k[e>>2]|0)+18>>1]|0)>>8;i[(k[n>>2]|0)+((k[o>>2]|0)+3)+1>>0]=j[(k[e>>2]|0)+18>>1];c=(k[e>>2]|0)+16|0;j[c>>1]=(m[c>>1]|0)+2;r=t;return}}c=Yj(62080)|0;k[k[h>>2]>>2]=c;r=t;return}function KL(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+48|0;h=z+44|0;n=z+40|0;o=z+36|0;p=z+32|0;q=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[v>>2]=0;if(k[k[t>>2]>>2]|0){r=z;return}if((l[(k[h>>2]|0)+1>>0]|0)==0?((k[p>>2]|0)+2|0)<=(m[(k[h>>2]|0)+16>>1]|0):0){d=Pg(k[(k[h>>2]|0)+72>>2]|0)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}k[u>>2]=k[(k[h>>2]|0)+56>>2];d=aM(k[h>>2]|0,k[p>>2]|0,v)|0;k[y>>2]=d;if(k[y>>2]|0){k[k[t>>2]>>2]=k[y>>2];r=z;return}d=(k[h>>2]|0)+16|0;j[d>>1]=(m[d>>1]|0)-(2+(k[p>>2]|0)&65535);BR((k[u>>2]|0)+(k[v>>2]|0)|0,k[o>>2]|0,k[p>>2]|0)|0;if(k[s>>2]|0)kt((k[u>>2]|0)+(k[v>>2]|0)|0,k[s>>2]|0);k[x>>2]=(k[(k[h>>2]|0)+64>>2]|0)+(k[n>>2]<<1);CR((k[x>>2]|0)+2|0,k[x>>2]|0,(m[(k[h>>2]|0)+18>>1]|0)-(k[n>>2]|0)<<1|0)|0;i[k[x>>2]>>0]=k[v>>2]>>8;i[(k[x>>2]|0)+1>>0]=k[v>>2];y=(k[h>>2]|0)+18|0;j[y>>1]=(j[y>>1]|0)+1<<16>>16;y=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+4)|0;d=(i[y>>0]|0)+1<<24>>24;i[y>>0]=d;if(!(d&255)){d=(k[u>>2]|0)+((l[(k[h>>2]|0)+5>>0]|0)+3)|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24}if(!(i[(k[(k[h>>2]|0)+52>>2]|0)+17>>0]|0)){r=z;return}RJ(k[h>>2]|0,k[o>>2]|0,k[t>>2]|0);r=z;return}if(k[q>>2]|0){BR(k[q>>2]|0,k[o>>2]|0,k[p>>2]|0)|0;k[o>>2]=k[q>>2]}if(k[s>>2]|0)kt(k[o>>2]|0,k[s>>2]|0);y=(k[h>>2]|0)+1|0;d=i[y>>0]|0;i[y>>0]=d+1<<24>>24;k[w>>2]=d&255;k[(k[h>>2]|0)+32+(k[w>>2]<<2)>>2]=k[o>>2];j[(k[h>>2]|0)+22+(k[w>>2]<<1)>>1]=k[n>>2];r=z;return}function LL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0;q=r;r=r+64|0;b=q+32|0;p=q+28|0;f=q+24|0;c=q+36|0;g=q+20|0;e=q+16|0;h=q+12|0;n=q+8|0;d=q+4|0;o=q;k[b>>2]=a;k[p>>2]=0;k[f>>2]=(k[(k[(k[b>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;k[g>>2]=0;do{k[e>>2]=i[(k[b>>2]|0)+68>>0];k[h>>2]=k[(k[b>>2]|0)+120+(k[e>>2]<<2)>>2];a=i[(k[h>>2]|0)+1>>0]|0;if(!(k[e>>2]|0)){if(!(a<<24>>24))break;a=ML(k[h>>2]|0,(k[b>>2]|0)+120+4|0)|0;k[p>>2]=a;if(!(k[p>>2]|0)){i[(k[b>>2]|0)+68>>0]=1;j[(k[b>>2]|0)+80>>1]=0;j[(k[b>>2]|0)+80+2>>1]=0}}else{if((a&255|0)==0?(m[(k[h>>2]|0)+16>>1]|0)<=(k[f>>2]|0):0)break;k[n>>2]=k[(k[b>>2]|0)+120+((k[e>>2]|0)-1<<2)>>2];k[d>>2]=m[(k[b>>2]|0)+80+((k[e>>2]|0)-1<<1)>>1];a=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[p>>2]=a;do if(!(k[p>>2]|0)){if(((((l[(k[h>>2]|0)+3>>0]|0)!=0?(l[(k[h>>2]|0)+1>>0]|0)==1:0)?(m[(k[h>>2]|0)+22>>1]|0)==(m[(k[h>>2]|0)+18>>1]|0):0)?(k[(k[n>>2]|0)+84>>2]|0)!=1:0)?(m[(k[n>>2]|0)+18>>1]|0)==(k[d>>2]|0):0){a=NL(k[n>>2]|0,k[h>>2]|0,c)|0;k[p>>2]=a;break}a=ej(k[(k[(k[b>>2]|0)+4>>2]|0)+32>>2]|0)|0;k[o>>2]=a;a=OL(k[n>>2]|0,k[d>>2]|0,k[o>>2]|0,(k[e>>2]|0)==1&1,l[(k[b>>2]|0)+67>>0]&1)|0;k[p>>2]=a;if(k[g>>2]|0)hj(k[g>>2]|0);k[g>>2]=k[o>>2]}while(0);i[(k[h>>2]|0)+1>>0]=0;GB(k[h>>2]|0);a=(k[b>>2]|0)+68|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}}while((k[p>>2]|0)==0);if(!(k[g>>2]|0)){p=k[p>>2]|0;r=q;return p|0}hj(k[g>>2]|0);p=k[p>>2]|0;r=q;return p|0}function ML(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+24|0;d=m+20|0;e=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;f=m;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;k[h>>2]=0;k[f>>2]=k[(k[d>>2]|0)+52>>2];b=Pg(k[(k[d>>2]|0)+72>>2]|0)|0;k[j>>2]=b;if((k[j>>2]|0)==0?(b=LJ(k[f>>2]|0,g,h,k[(k[d>>2]|0)+84>>2]|0,0)|0,k[j>>2]=b,TL(k[d>>2]|0,k[g>>2]|0,j),(i[(k[f>>2]|0)+17>>0]|0)!=0):0)PJ(k[f>>2]|0,k[h>>2]|0,5,k[(k[d>>2]|0)+84>>2]|0,j);if(k[j>>2]|0){k[k[e>>2]>>2]=0;GB(k[g>>2]|0);k[c>>2]=k[j>>2];j=k[c>>2]|0;r=m;return j|0}else{BR((k[g>>2]|0)+22|0,(k[d>>2]|0)+22|0,l[(k[d>>2]|0)+1>>0]<<1|0)|0;BR((k[g>>2]|0)+32|0,(k[d>>2]|0)+32|0,l[(k[d>>2]|0)+1>>0]<<2|0)|0;i[(k[g>>2]|0)+1>>0]=i[(k[d>>2]|0)+1>>0]|0;OK(k[d>>2]|0,l[k[(k[g>>2]|0)+56>>2]>>0]&-9);kt((k[(k[d>>2]|0)+56>>2]|0)+((l[(k[d>>2]|0)+5>>0]|0)+8)|0,k[h>>2]|0);k[k[e>>2]>>2]=k[g>>2];k[c>>2]=0;j=k[c>>2]|0;r=m;return j|0}return 0}function NL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;d=v+40|0;e=v+36|0;f=v+32|0;g=v+28|0;h=v+24|0;o=v+20|0;t=v+16|0;s=v+12|0;p=v+8|0;n=v+4|0;u=v+44|0;q=v;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[(k[f>>2]|0)+52>>2];if(!(m[(k[f>>2]|0)+18>>1]|0)){u=Yj(62577)|0;k[d>>2]=u;u=k[d>>2]|0;r=v;return u|0}c=LJ(k[h>>2]|0,o,s,0,0)|0;k[t>>2]=c;if(!(k[t>>2]|0)){k[p>>2]=(k[g>>2]|0)+4;k[n>>2]=k[(k[f>>2]|0)+32>>2];c=gc[k[(k[f>>2]|0)+76>>2]&255](k[f>>2]|0,k[n>>2]|0)|0;j[u>>1]=c;OK(k[o>>2]|0,13);c=YL(k[o>>2]|0,1,n,u)|0;k[t>>2]=c;if(k[t>>2]|0){k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}j[(k[o>>2]|0)+16>>1]=(k[(k[h>>2]|0)+36>>2]|0)-(m[(k[o>>2]|0)+14>>1]|0)-2-(m[u>>1]|0);if((i[(k[h>>2]|0)+17>>0]|0)!=0?(PJ(k[h>>2]|0,k[s>>2]|0,5,k[(k[e>>2]|0)+84>>2]|0,t),(m[u>>1]|0)>(m[(k[o>>2]|0)+12>>1]|0)):0)RJ(k[o>>2]|0,k[n>>2]|0,t);k[n>>2]=(k[(k[f>>2]|0)+56>>2]|0)+(m[(k[f>>2]|0)+20>>1]&(l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[f>>2]|0)+64>>2]|0)+((m[(k[f>>2]|0)+18>>1]|0)-1<<1)+1>>0]));k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;if(!(l[u>>0]&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);k[q>>2]=(k[n>>2]|0)+9;do{u=k[n>>2]|0;k[n>>2]=u+1;u=i[u>>0]|0;c=k[p>>2]|0;k[p>>2]=c+1;i[c>>0]=u;if(!(u&128))break}while((k[n>>2]|0)>>>0<(k[q>>2]|0)>>>0);KL(k[e>>2]|0,m[(k[e>>2]|0)+18>>1]|0,k[g>>2]|0,(k[p>>2]|0)-(k[g>>2]|0)|0,0,k[(k[f>>2]|0)+84>>2]|0,t);kt((k[(k[e>>2]|0)+56>>2]|0)+((l[(k[e>>2]|0)+5>>0]|0)+8)|0,k[s>>2]|0);GB(k[o>>2]|0)}k[d>>2]=k[t>>2];u=k[d>>2]|0;r=v;return u|0}function OL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=r;r=r+448|0;ga=Da+412|0;ha=Da+408|0;f=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;p=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;o=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;n=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;g=Da+152|0;v=Da+148|0;q=Da+144|0;h=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;k[ha>>2]=a;k[f>>2]=b;k[Q>>2]=c;k[ia>>2]=d;k[C>>2]=e;k[t>>2]=0;k[wa>>2]=0;k[Aa>>2]=0;k[p>>2]=0;k[W>>2]=0;i[ja>>0]=0;i[ja+1>>0]=0;i[ja+2>>0]=0;i[ja+3>>0]=0;i[ja+4>>0]=0;k[ma>>2]=0;k[ma+8>>2]=0;k[za>>2]=k[(k[ha>>2]|0)+52>>2];if(!(k[Q>>2]|0)){k[ga>>2]=7;Ca=k[ga>>2]|0;r=Da;return Ca|0}k[pa>>2]=(l[(k[ha>>2]|0)+1>>0]|0)+(m[(k[ha>>2]|0)+18>>1]|0);if((k[pa>>2]|0)<2)k[Z>>2]=0;else{do if(k[f>>2]|0)if((k[f>>2]|0)==(k[pa>>2]|0)){k[Z>>2]=(k[pa>>2]|0)-2+(k[C>>2]|0);break}else{k[Z>>2]=(k[f>>2]|0)-1;break}else k[Z>>2]=0;while(0);k[pa>>2]=2-(k[C>>2]|0)}k[ya>>2]=(k[pa>>2]|0)+1;f=k[ha>>2]|0;if(((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0)==(m[(k[ha>>2]|0)+18>>1]|0))k[K>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+((l[f+5>>0]|0)+8);else k[K>>2]=(k[f+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=or(k[K>>2]|0)|0;k[M>>2]=a;while(1){a=pF(k[za>>2]|0,k[M>>2]|0,la+(k[pa>>2]<<2)|0,0,0)|0;k[Aa>>2]=a;if(k[Aa>>2]|0){c=16;break}k[t>>2]=(k[t>>2]|0)+(1+(m[(k[la+(k[pa>>2]<<2)>>2]|0)+18>>1]|0)+(l[(k[la+(k[pa>>2]<<2)>>2]|0)+1>>0]|0));a=k[pa>>2]|0;k[pa>>2]=a+-1;if(!a){c=26;break}if(((k[pa>>2]|0)+(k[Z>>2]|0)|0)==(m[(k[ha>>2]|0)+22>>1]|0)?(l[(k[ha>>2]|0)+1>>0]|0)!=0:0){k[o+(k[pa>>2]<<2)>>2]=k[(k[ha>>2]|0)+32>>2];a=or(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;i[(k[ha>>2]|0)+1>>0]=0;continue}k[o+(k[pa>>2]<<2)>>2]=(k[(k[ha>>2]|0)+56>>2]|0)+(m[(k[ha>>2]|0)+20>>1]&(l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|l[(k[(k[ha>>2]|0)+64>>2]|0)+((k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));a=or(k[o+(k[pa>>2]<<2)>>2]|0)|0;k[M>>2]=a;a=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0)|0)&65535;k[Ba+(k[pa>>2]<<2)>>2]=a;if(m[(k[za>>2]|0)+22>>1]&4){k[g>>2]=(k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0);if(((k[g>>2]|0)+(k[Ba+(k[pa>>2]<<2)>>2]|0)|0)>(k[(k[za>>2]|0)+36>>2]|0)){c=23;break}BR((k[Q>>2]|0)+(k[g>>2]|0)|0,k[o+(k[pa>>2]<<2)>>2]|0,k[Ba+(k[pa>>2]<<2)>>2]|0)|0;k[o+(k[pa>>2]<<2)>>2]=(k[Q>>2]|0)+((k[o+(k[pa>>2]<<2)>>2]|0)-(k[(k[ha>>2]|0)+56>>2]|0))}JL(k[ha>>2]|0,(k[pa>>2]|0)+(k[Z>>2]|0)-(l[(k[ha>>2]|0)+1>>0]|0)|0,k[Ba+(k[pa>>2]<<2)>>2]|0,Aa)}a:do if((c|0)==16)DR(la|0,0,(k[pa>>2]|0)+1<<2|0)|0;else if((c|0)==23){Ca=Yj(62916)|0;k[Aa>>2]=Ca;DR(la|0,0,(k[pa>>2]|0)+1<<2|0)|0}else if((c|0)==26){k[t>>2]=(k[t>>2]|0)+3&-4;k[A>>2]=(k[t>>2]<<2)+(k[t>>2]<<1)+(k[(k[za>>2]|0)+32>>2]|0);A=Mi(k[A>>2]|0)|0;k[ma+8>>2]=A;if(!(k[ma+8>>2]|0)){k[Aa>>2]=7;break}k[ma+12>>2]=(k[ma+8>>2]|0)+(k[t>>2]<<2);k[n>>2]=(k[ma+12>>2]|0)+(k[t>>2]<<1);k[ma+4>>2]=k[la>>2];j[ua>>1]=l[(k[ma+4>>2]|0)+4>>0]<<2;k[va>>2]=l[(k[ma+4>>2]|0)+3>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[v>>2]=k[la+(k[pa>>2]<<2)>>2];k[q>>2]=m[(k[v>>2]|0)+18>>1];k[h>>2]=k[(k[v>>2]|0)+56>>2];j[s>>1]=j[(k[v>>2]|0)+20>>1]|0;k[x>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0);if((l[k[(k[v>>2]|0)+56>>2]>>0]|0)!=(l[k[(k[la>>2]|0)+56>>2]>>0]|0)){c=31;break}DR((k[ma+12>>2]|0)+(k[ma>>2]<<1)|0,0,(k[q>>2]|0)+(l[(k[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((l[(k[v>>2]|0)+1>>0]|0)>0){k[q>>2]=m[(k[v>>2]|0)+22>>1];k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[q>>2]|0))break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1;k[Y>>2]=(k[Y>>2]|0)+1}k[H>>2]=0;while(1){if((k[H>>2]|0)>=(l[(k[v>>2]|0)+1>>0]|0))break b;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=k[(k[v>>2]|0)+32+(k[H>>2]<<2)>>2];k[ma>>2]=(k[ma>>2]|0)+1;k[H>>2]=(k[H>>2]|0)+1}}while(0);k[y>>2]=(k[h>>2]|0)+(m[(k[v>>2]|0)+14>>1]|0)+(m[(k[v>>2]|0)+18>>1]<<1);while(1){if((k[x>>2]|0)>>>0>=(k[y>>2]|0)>>>0)break;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[h>>2]|0)+(m[s>>1]&(l[k[x>>2]>>0]<<8|l[(k[x>>2]|0)+1>>0]));k[x>>2]=(k[x>>2]|0)+2;k[ma>>2]=(k[ma>>2]|0)+1}k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if(!((k[va>>2]|0)!=0?1:(k[pa>>2]|0)>=((k[ya>>2]|0)-1|0))){j[z>>1]=k[Ba+(k[pa>>2]<<2)>>2];j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=j[z>>1]|0;k[w>>2]=(k[n>>2]|0)+(k[p>>2]|0);k[p>>2]=(k[p>>2]|0)+(m[z>>1]|0);BR(k[w>>2]|0,k[o+(k[pa>>2]<<2)>>2]|0,m[z>>1]|0)|0;k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]=(k[w>>2]|0)+(m[ua>>1]|0);j[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]=(m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)-(m[ua>>1]|0);c:do if(i[(k[v>>2]|0)+4>>0]|0)while(1){if((m[(k[ma+12>>2]|0)+(k[ma>>2]<<1)>>1]|0)>=4)break c;A=k[p>>2]|0;k[p>>2]=A+1;i[(k[n>>2]|0)+A>>0]=0;A=(k[ma+12>>2]|0)+(k[ma>>2]<<1)|0;j[A>>1]=(j[A>>1]|0)+1<<16>>16}else{A=k[(k[ma+8>>2]|0)+(k[ma>>2]<<2)>>2]|0;t=(k[(k[v>>2]|0)+56>>2]|0)+8|0;i[A>>0]=i[t>>0]|0;i[A+1>>0]=i[t+1>>0]|0;i[A+2>>0]=i[t+2>>0]|0;i[A+3>>0]=i[t+3>>0]|0}while(0);k[ma>>2]=(k[ma>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==31){Ca=Yj(62983)|0;k[Aa>>2]=Ca;break}k[Ca>>2]=(k[(k[za>>2]|0)+36>>2]|0)-12+(m[ua>>1]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;k[u>>2]=k[la+(k[pa>>2]<<2)>>2];k[Ba+(k[pa>>2]<<2)>>2]=(k[Ca>>2]|0)-(m[(k[u>>2]|0)+16>>1]|0);if((k[Ba+(k[pa>>2]<<2)>>2]|0)<0){c=52;break}k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(l[(k[u>>2]|0)+1>>0]|0))break;z=2+((gc[k[(k[u>>2]|0)+76>>2]&255](k[u>>2]|0,k[(k[u>>2]|0)+32+(k[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+z;k[Y>>2]=(k[Y>>2]|0)+1}k[na+(k[pa>>2]<<2)>>2]=k[oa+(k[pa>>2]<<2)>>2];k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==52){Ca=Yj(63081)|0;k[Aa>>2]=Ca;break}k[H>>2]=k[ya>>2];k[pa>>2]=0;d:while(1){if((k[pa>>2]|0)>=(k[H>>2]|0)){c=83;break}while(1){if((k[Ba+(k[pa>>2]<<2)>>2]|0)<=(k[Ca>>2]|0))break;if(((k[pa>>2]|0)+1|0)>=(k[H>>2]|0)){k[H>>2]=(k[pa>>2]|0)+2;if((k[H>>2]|0)>5){c=62;break d}k[Ba+((k[H>>2]|0)-1<<2)>>2]=0;k[na+((k[H>>2]|0)-1<<2)>>2]=k[ma>>2]}A=2+((PL(ma,(k[na+(k[pa>>2]<<2)>>2]|0)-1|0)|0)&65535)|0;k[B>>2]=A;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0);do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((PL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+-1}while(1){if((k[na+(k[pa>>2]<<2)>>2]|0)>=(k[ma>>2]|0))break;A=2+((PL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;if(((k[Ba+(k[pa>>2]<<2)>>2]|0)+(k[B>>2]|0)|0)>(k[Ca>>2]|0))break;A=Ba+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+(k[B>>2]|0);A=na+(k[pa>>2]<<2)|0;k[A>>2]=(k[A>>2]|0)+1;do if(!(k[va>>2]|0))if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){A=2+((PL(ma,k[na+(k[pa>>2]<<2)>>2]|0)|0)&65535)|0;k[B>>2]=A;break}else{k[B>>2]=0;break}while(0);A=Ba+((k[pa>>2]|0)+1<<2)|0;k[A>>2]=(k[A>>2]|0)-(k[B>>2]|0)}f=k[pa>>2]|0;if((k[na+(k[pa>>2]<<2)>>2]|0)<(k[ma>>2]|0)){if((k[pa>>2]|0)>0)c=k[na+((k[pa>>2]|0)-1<<2)>>2]|0;else c=0;if((k[na+(f<<2)>>2]|0)<=(c|0)){c=81;break}}else k[H>>2]=f+1;k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==62){Ca=Yj(63093)|0;k[Aa>>2]=Ca;break}else if((c|0)==81){Ca=Yj(63126)|0;k[Aa>>2]=Ca;break}else if((c|0)==83){k[pa>>2]=(k[H>>2]|0)-1;while(1){if((k[pa>>2]|0)<=0)break;k[P>>2]=k[Ba+(k[pa>>2]<<2)>>2];k[O>>2]=k[Ba+((k[pa>>2]|0)-1<<2)>>2];k[N>>2]=(k[na+((k[pa>>2]|0)-1<<2)>>2]|0)-1;k[F>>2]=(k[N>>2]|0)+1-(k[va>>2]|0);PL(ma,k[F>>2]|0)|0;do{PL(ma,k[N>>2]|0)|0;if(k[P>>2]|0){if(k[C>>2]|0)break;if(((k[P>>2]|0)+(m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2|0)>((k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2)|0))break}k[P>>2]=(k[P>>2]|0)+((m[(k[ma+12>>2]|0)+(k[F>>2]<<1)>>1]|0)+2);k[O>>2]=(k[O>>2]|0)-((m[(k[ma+12>>2]|0)+(k[N>>2]<<1)>>1]|0)+2);k[na+((k[pa>>2]|0)-1<<2)>>2]=k[N>>2];k[N>>2]=(k[N>>2]|0)+-1;k[F>>2]=(k[F>>2]|0)+-1}while((k[N>>2]|0)>=0);k[Ba+(k[pa>>2]<<2)>>2]=k[P>>2];k[Ba+((k[pa>>2]|0)-1<<2)>>2]=k[O>>2];if((k[pa>>2]|0)>1)f=k[na+((k[pa>>2]|0)-2<<2)>>2]|0;else f=0;if((k[na+((k[pa>>2]|0)-1<<2)>>2]|0)<=(f|0)){c=93;break}k[pa>>2]=(k[pa>>2]|0)+-1}if((c|0)==93){Ca=Yj(63168)|0;k[Aa>>2]=Ca;break}k[L>>2]=l[k[(k[la>>2]|0)+56>>2]>>0];k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[H>>2]|0))break;if((k[pa>>2]|0)<(k[ya>>2]|0)){P=k[la+(k[pa>>2]<<2)>>2]|0;k[ka+(k[pa>>2]<<2)>>2]=P;k[I>>2]=P;k[la+(k[pa>>2]<<2)>>2]=0;P=Pg(k[(k[I>>2]|0)+72>>2]|0)|0;k[Aa>>2]=P;k[wa>>2]=(k[wa>>2]|0)+1;if(k[Aa>>2]|0)break a}else{P=LJ(k[za>>2]|0,I,M,(k[C>>2]|0)!=0?1:k[M>>2]|0,0)|0;k[Aa>>2]=P;if(k[Aa>>2]|0)break a;OK(k[I>>2]|0,k[L>>2]|0);k[ka+(k[pa>>2]<<2)>>2]=k[I>>2];k[wa>>2]=(k[wa>>2]|0)+1;k[oa+(k[pa>>2]<<2)>>2]=k[ma>>2];if((i[(k[za>>2]|0)+17>>0]|0)!=0?(PJ(k[za>>2]|0,k[(k[I>>2]|0)+84>>2]|0,5,k[(k[ha>>2]|0)+84>>2]|0,Aa),(k[Aa>>2]|0)!=0):0)break a}k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;e:while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;P=k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0;k[S+(k[pa>>2]<<2)>>2]=P;k[E+(k[pa>>2]<<2)>>2]=P;j[D+(k[pa>>2]<<1)>>1]=j[(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;k[Y>>2]=0;while(1){if((k[Y>>2]|0)>=(k[pa>>2]|0))break;if((k[S+(k[Y>>2]<<2)>>2]|0)==(k[S+(k[pa>>2]<<2)>>2]|0)){c=108;break e}k[Y>>2]=(k[Y>>2]|0)+1}k[pa>>2]=(k[pa>>2]|0)+1}if((c|0)==108){Ca=Yj(63242)|0;k[Aa>>2]=Ca;break}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;k[G>>2]=0;k[Y>>2]=1;while(1){if((k[Y>>2]|0)>=(k[wa>>2]|0))break;if((k[E+(k[Y>>2]<<2)>>2]|0)>>>0<(k[E+(k[G>>2]<<2)>>2]|0)>>>0)k[G>>2]=k[Y>>2];k[Y>>2]=(k[Y>>2]|0)+1}k[M>>2]=k[E+(k[G>>2]<<2)>>2];k[E+(k[G>>2]<<2)>>2]=-1;if((k[G>>2]|0)!=(k[pa>>2]|0)){if((k[G>>2]|0)>(k[pa>>2]|0))QL(k[(k[ka+(k[G>>2]<<2)>>2]|0)+72>>2]|0,(k[(k[za>>2]|0)+44>>2]|0)+(k[G>>2]|0)+1|0,0);QL(k[(k[ka+(k[pa>>2]<<2)>>2]|0)+72>>2]|0,k[M>>2]|0,j[D+(k[G>>2]<<1)>>1]|0);k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]=k[M>>2]}k[pa>>2]=(k[pa>>2]|0)+1}kt(k[K>>2]|0,k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((k[L>>2]&8|0)==0?(k[ya>>2]|0)!=(k[wa>>2]|0):0){k[J>>2]=k[((k[wa>>2]|0)>(k[ya>>2]|0)?ka:la)+((k[ya>>2]|0)-1<<2)>>2];P=(k[(k[ka+((k[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(k[(k[J>>2]|0)+56>>2]|0)+8|0;i[P>>0]=i[O>>0]|0;i[P+1>>0]=i[O+1>>0]|0;i[P+2>>0]=i[O+2>>0]|0;i[P+3>>0]=i[O+3>>0]|0}f:do if(i[(k[za>>2]|0)+17>>0]|0){k[aa>>2]=k[ka>>2];k[R>>2]=k[(k[aa>>2]|0)+56>>2];k[T>>2]=(m[(k[aa>>2]|0)+18>>1]|0)+(l[(k[aa>>2]|0)+1>>0]|0);k[fa>>2]=k[(k[za>>2]|0)+36>>2];k[U>>2]=0;k[V>>2]=0;k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ma>>2]|0))break f;k[_>>2]=k[(k[ma+8>>2]|0)+(k[pa>>2]<<2)>>2];if((k[pa>>2]|0)==(k[T>>2]|0)){P=(k[V>>2]|0)+1|0;k[V>>2]=P;f=k[V>>2]|0;if((P|0)<(k[wa>>2]|0))f=k[ka+(f<<2)>>2]|0;else f=k[la+(f<<2)>>2]|0;k[ca>>2]=f;k[T>>2]=(k[T>>2]|0)+((m[(k[ca>>2]|0)+18>>1]|0)+(l[(k[ca>>2]|0)+1>>0]|0)+(((k[va>>2]|0)!=0^1)&1));k[R>>2]=k[(k[ca>>2]|0)+56>>2]}if(!((k[pa>>2]|0)==(k[na+(k[U>>2]<<2)>>2]|0)?(P=(k[U>>2]|0)+1|0,k[U>>2]=P,k[aa>>2]=k[ka+(P<<2)>>2],(k[va>>2]|0)==0):0))c=136;do if((c|0)==136){c=0;if((((k[V>>2]|0)<(k[wa>>2]|0)?(k[(k[aa>>2]|0)+84>>2]|0)==(k[S+(k[V>>2]<<2)>>2]|0):0)?(k[_>>2]|0)>>>0>=(k[R>>2]|0)>>>0:0)?(k[_>>2]|0)>>>0<((k[R>>2]|0)+(k[fa>>2]|0)|0)>>>0:0)break;if(!(j[ua>>1]|0)){O=k[za>>2]|0;P=or(k[_>>2]|0)|0;PJ(O,P,5,k[(k[aa>>2]|0)+84>>2]|0,Aa)}P=(PL(ma,k[pa>>2]|0)|0)&65535;if((P|0)>(m[(k[aa>>2]|0)+12>>1]|0))RJ(k[aa>>2]|0,k[_>>2]|0,Aa);if(k[Aa>>2]|0)break a}while(0);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=((k[wa>>2]|0)-1|0))break;k[ba>>2]=k[ka+(k[pa>>2]<<2)>>2];k[Y>>2]=k[na+(k[pa>>2]<<2)>>2];k[$>>2]=k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2];k[ea>>2]=(m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)+(m[ua>>1]|0);k[da>>2]=(k[Q>>2]|0)+(k[W>>2]|0);do if(i[(k[ba>>2]|0)+4>>0]|0){if(k[va>>2]|0){k[Y>>2]=(k[Y>>2]|0)+-1;cc[k[(k[ba>>2]|0)+80>>2]&255](k[ba>>2]|0,k[(k[ma+8>>2]|0)+(k[Y>>2]<<2)>>2]|0,X);k[$>>2]=k[da>>2];fa=X;fa=4+(AI((k[$>>2]|0)+4|0,k[fa>>2]|0,k[fa+4>>2]|0)|0)|0;k[ea>>2]=fa;k[da>>2]=0;break}k[$>>2]=(k[$>>2]|0)+-4;if((m[(k[ma+12>>2]|0)+(k[Y>>2]<<1)>>1]|0)==4){fa=(gc[k[(k[ha>>2]|0)+76>>2]&255](k[ha>>2]|0,k[$>>2]|0)|0)&65535;k[ea>>2]=fa}}else{fa=(k[(k[ba>>2]|0)+56>>2]|0)+8|0;ca=k[$>>2]|0;i[fa>>0]=i[ca>>0]|0;i[fa+1>>0]=i[ca+1>>0]|0;i[fa+2>>0]=i[ca+2>>0]|0;i[fa+3>>0]=i[ca+3>>0]|0}while(0);k[W>>2]=(k[W>>2]|0)+(k[ea>>2]|0);KL(k[ha>>2]|0,(k[Z>>2]|0)+(k[pa>>2]|0)|0,k[$>>2]|0,k[ea>>2]|0,k[da>>2]|0,k[(k[ba>>2]|0)+84>>2]|0,Aa);if(k[Aa>>2]|0)break a;k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=1-(k[wa>>2]|0);while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;fa=k[pa>>2]|0;k[sa>>2]=(k[pa>>2]|0)<0?0-fa|0:fa;do if(!(i[ja+(k[sa>>2]|0)>>0]|0)){if((k[pa>>2]|0)<0?(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)<(k[na+((k[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(k[sa>>2]|0)){k[ra>>2]=0;k[qa>>2]=0;k[xa>>2]=k[na>>2]}else{if((k[sa>>2]|0)<(k[ya>>2]|0))f=(k[oa+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1)|0;else f=k[ma>>2]|0;k[ra>>2]=f;k[qa>>2]=(k[na+((k[sa>>2]|0)-1<<2)>>2]|0)+(((k[va>>2]|0)!=0^1)&1);k[xa>>2]=(k[na+(k[sa>>2]<<2)>>2]|0)-(k[qa>>2]|0)}fa=RL(k[ka+(k[sa>>2]<<2)>>2]|0,k[ra>>2]|0,k[qa>>2]|0,k[xa>>2]|0,ma)|0;k[Aa>>2]=fa;if(k[Aa>>2]|0)break a;fa=ja+(k[sa>>2]|0)|0;i[fa>>0]=(i[fa>>0]|0)+1<<24>>24;j[(k[ka+(k[sa>>2]<<2)>>2]|0)+16>>1]=(k[Ca>>2]|0)-(k[Ba+(k[sa>>2]<<2)>>2]|0)}while(0);k[pa>>2]=(k[pa>>2]|0)+1}if(((k[ia>>2]|0)!=0?(m[(k[ha>>2]|0)+18>>1]|0)==0:0)?(l[(k[ha>>2]|0)+5>>0]|0)<=(m[(k[ka>>2]|0)+16>>1]|0):0){Ca=SL(k[ka>>2]|0)|0;k[Aa>>2]=Ca;TL(k[ka>>2]|0,k[ha>>2]|0,Aa);NK(k[ka>>2]|0,Aa)}else c=174;g:do if((c|0)==174?!((j[ua>>1]|0)!=0?1:(l[(k[za>>2]|0)+17>>0]|0)==0):0){k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break g;Ca=or((k[(k[ka+(k[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;k[ta>>2]=Ca;PJ(k[za>>2]|0,k[ta>>2]|0,5,k[(k[ka+(k[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}while(0);k[pa>>2]=k[wa>>2];while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break a;NK(k[la+(k[pa>>2]<<2)>>2]|0,Aa);k[pa>>2]=(k[pa>>2]|0)+1}}}while(0);Ni(k[ma+8>>2]|0);k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[ya>>2]|0))break;GB(k[la+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[pa>>2]=0;while(1){if((k[pa>>2]|0)>=(k[wa>>2]|0))break;GB(k[ka+(k[pa>>2]<<2)>>2]|0);k[pa>>2]=(k[pa>>2]|0)+1}k[ga>>2]=k[Aa>>2];Ca=k[ga>>2]|0;r=Da;return Ca|0}function PL(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if(j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0){j[c>>1]=j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0;a=j[c>>1]|0;r=f;return a|0}else{a=$L(k[d>>2]|0,k[e>>2]|0)|0;j[c>>1]=a;a=j[c>>1]|0;r=f;return a|0}return 0}function QL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+4|0;e=d;g=d+8|0;k[f>>2]=a;k[e>>2]=b;j[g>>1]=c;j[(k[f>>2]|0)+24>>1]=j[g>>1]|0;SJ(k[f>>2]|0,k[e>>2]|0);r=d;return}function RL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+80|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;g=D+16|0;f=D+12|0;h=D+8|0;y=D+4|0;x=D;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=d;k[t>>2]=e;k[u>>2]=k[(k[o>>2]|0)+56>>2];k[v>>2]=l[(k[o>>2]|0)+5>>0];k[A>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[s>>2]<<1);k[z>>2]=m[(k[o>>2]|0)+18>>1];k[g>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+18>>1]|0)+(l[(k[o>>2]|0)+1>>0]|0);k[f>>2]=(k[q>>2]|0)+(k[s>>2]|0);if((k[p>>2]|0)<(k[q>>2]|0)){a=VL(k[o>>2]|0,k[p>>2]|0,(k[q>>2]|0)-(k[p>>2]|0)|0,k[t>>2]|0)|0;k[h>>2]=a;CR(k[(k[o>>2]|0)+64>>2]|0,(k[(k[o>>2]|0)+64>>2]|0)+(k[h>>2]<<1)|0,k[z>>2]<<1|0)|0;k[z>>2]=(k[z>>2]|0)-(k[h>>2]|0)}if((k[f>>2]|0)<(k[g>>2]|0)){a=VL(k[o>>2]|0,k[f>>2]|0,(k[g>>2]|0)-(k[f>>2]|0)|0,k[t>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-a}k[C>>2]=(k[u>>2]|0)+((((l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((k[C>>2]|0)>>>0>=(k[A>>2]|0)>>>0){if((k[q>>2]|0)<(k[p>>2]|0)){if((k[s>>2]|0)<((k[p>>2]|0)-(k[q>>2]|0)|0))c=k[s>>2]|0;else c=(k[p>>2]|0)-(k[q>>2]|0)|0;k[y>>2]=c;k[B>>2]=k[(k[o>>2]|0)+64>>2];CR((k[B>>2]|0)+(k[y>>2]<<1)|0,k[B>>2]|0,k[z>>2]<<1|0)|0;if(WL(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,k[q>>2]|0,k[y>>2]|0,k[t>>2]|0)|0)break;k[z>>2]=(k[z>>2]|0)+(k[y>>2]|0)}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(l[(k[o>>2]|0)+1>>0]|0|0))break;k[x>>2]=(k[p>>2]|0)+(m[(k[o>>2]|0)+22+(k[w>>2]<<1)>>1]|0)-(k[q>>2]|0);if(((k[x>>2]|0)>=0?(k[x>>2]|0)<(k[s>>2]|0):0)?(k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[x>>2]<<1),CR((k[B>>2]|0)+2|0,k[B>>2]|0,(k[z>>2]|0)-(k[x>>2]|0)<<1|0)|0,k[z>>2]=(k[z>>2]|0)+1,(WL(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[x>>2]|0)+(k[q>>2]|0)|0,1,k[t>>2]|0)|0)!=0):0)break a;k[w>>2]=(k[w>>2]|0)+1}k[B>>2]=(k[(k[o>>2]|0)+64>>2]|0)+(k[z>>2]<<1);if(!(WL(k[o>>2]|0,k[A>>2]|0,C,k[B>>2]|0,(k[q>>2]|0)+(k[z>>2]|0)|0,(k[s>>2]|0)-(k[z>>2]|0)|0,k[t>>2]|0)|0)){j[(k[o>>2]|0)+18>>1]=k[s>>2];i[(k[o>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[o>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[o>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[C>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[C>>2]|0)-(k[u>>2]|0);k[n>>2]=0;C=k[n>>2]|0;r=D;return C|0}}while(0);XL(k[t>>2]|0,k[q>>2]|0,k[s>>2]|0);C=YL(k[o>>2]|0,k[s>>2]|0,(k[(k[t>>2]|0)+8>>2]|0)+(k[q>>2]<<2)|0,(k[(k[t>>2]|0)+12>>2]|0)+(k[q>>2]<<1)|0)|0;k[n>>2]=C;C=k[n>>2]|0;r=D;return C|0}function SL(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;b=y+64|0;c=y+60|0;h=y+56|0;q=y+52|0;g=y+48|0;s=y+44|0;v=y+40|0;e=y+36|0;d=y+32|0;o=y+28|0;f=y+24|0;u=y+20|0;t=y+16|0;j=y+12|0;n=y+8|0;p=y+4|0;w=y;k[c>>2]=a;k[u>>2]=0;a=k[(k[c>>2]|0)+56>>2]|0;k[f>>2]=a;k[t>>2]=a;k[g>>2]=l[(k[c>>2]|0)+5>>0];k[e>>2]=m[(k[c>>2]|0)+14>>1];k[o>>2]=m[(k[c>>2]|0)+18>>1];k[v>>2]=k[(k[(k[c>>2]|0)+52>>2]|0)+36>>2];k[d>>2]=k[v>>2];k[j>>2]=(k[e>>2]|0)+(k[o>>2]<<1);k[n>>2]=(k[v>>2]|0)-4;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[o>>2]|0)){x=14;break}k[p>>2]=(k[f>>2]|0)+((k[e>>2]|0)+(k[h>>2]<<1));k[q>>2]=(l[k[p>>2]>>0]|0)<<8|(l[(k[p>>2]|0)+1>>0]|0);if((k[q>>2]|0)<(k[j>>2]|0)){x=5;break}if((k[q>>2]|0)>(k[n>>2]|0)){x=5;break}a=(gc[k[(k[c>>2]|0)+76>>2]&255](k[c>>2]|0,(k[t>>2]|0)+(k[q>>2]|0)|0)|0)&65535;k[s>>2]=a;k[d>>2]=(k[d>>2]|0)-(k[s>>2]|0);if((k[d>>2]|0)<(k[j>>2]|0)){x=8;break}if(((k[q>>2]|0)+(k[s>>2]|0)|0)>(k[v>>2]|0)){x=8;break}i[k[p>>2]>>0]=k[d>>2]>>8;i[(k[p>>2]|0)+1>>0]=k[d>>2];if(!(k[u>>2]|0)){if((k[d>>2]|0)!=(k[q>>2]|0)){x=UL(k[k[(k[c>>2]|0)+52>>2]>>2]|0)|0;k[u>>2]=x;k[w>>2]=(l[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]|0)<<8|(l[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]|0);BR((k[u>>2]|0)+(k[w>>2]|0)|0,(k[f>>2]|0)+(k[w>>2]|0)|0,(k[d>>2]|0)+(k[s>>2]|0)-(k[w>>2]|0)|0)|0;k[t>>2]=k[u>>2];x=12}}else x=12;if((x|0)==12){x=0;BR((k[f>>2]|0)+(k[d>>2]|0)|0,(k[t>>2]|0)+(k[q>>2]|0)|0,k[s>>2]|0)|0}k[h>>2]=(k[h>>2]|0)+1}if((x|0)==5){x=Yj(57167)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==8){x=Yj(57173)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else if((x|0)==14){i[(k[f>>2]|0)+((k[g>>2]|0)+5)>>0]=k[d>>2]>>8;i[(k[f>>2]|0)+((k[g>>2]|0)+5)+1>>0]=k[d>>2];i[(k[f>>2]|0)+((k[g>>2]|0)+1)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+2)>>0]=0;i[(k[f>>2]|0)+((k[g>>2]|0)+7)>>0]=0;DR((k[f>>2]|0)+(k[j>>2]|0)|0,0,(k[d>>2]|0)-(k[j>>2]|0)|0)|0;if(((k[d>>2]|0)-(k[j>>2]|0)|0)!=(m[(k[c>>2]|0)+16>>1]|0|0)){x=Yj(57197)|0;k[b>>2]=x;x=k[b>>2]|0;r=y;return x|0}else{k[b>>2]=0;x=k[b>>2]|0;r=y;return x|0}}return 0}function TL(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,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+28|0;p=s+24|0;g=s+20|0;h=s+16|0;n=s+12|0;o=s+8|0;q=s+4|0;j=s;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=s;return}k[p>>2]=k[(k[d>>2]|0)+52>>2];k[g>>2]=k[(k[d>>2]|0)+56>>2];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[n>>2]=l[(k[d>>2]|0)+5>>0];k[o>>2]=(k[(k[e>>2]|0)+84>>2]|0)==1?100:0;k[j>>2]=l[(k[g>>2]|0)+((k[n>>2]|0)+5)>>0]<<8|l[(k[g>>2]|0)+((k[n>>2]|0)+5)+1>>0];BR((k[h>>2]|0)+(k[j>>2]|0)|0,(k[g>>2]|0)+(k[j>>2]|0)|0,(k[(k[p>>2]|0)+36>>2]|0)-(k[j>>2]|0)|0)|0;BR((k[h>>2]|0)+(k[o>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,(m[(k[d>>2]|0)+14>>1]|0)+(m[(k[d>>2]|0)+18>>1]<<1)|0)|0;i[k[e>>2]>>0]=0;b=$t(k[e>>2]|0)|0;k[q>>2]=b;if(k[q>>2]|0){k[k[f>>2]>>2]=k[q>>2];r=s;return}if(!(i[(k[p>>2]|0)+17>>0]|0)){r=s;return}q=OJ(k[e>>2]|0)|0;k[k[f>>2]>>2]=q;r=s;return}function UL(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[(k[b>>2]|0)+208>>2]|0}function VL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=r;r=r+64|0;e=w+56|0;f=w+52|0;x=w+48|0;y=w+44|0;g=w+40|0;h=w+36|0;p=w+32|0;s=w+28|0;n=w+24|0;i=w+20|0;j=w+16|0;q=w+12|0;u=w+8|0;o=w+4|0;t=w;k[f>>2]=a;k[x>>2]=b;k[y>>2]=c;k[g>>2]=d;k[h>>2]=k[(k[f>>2]|0)+56>>2];k[p>>2]=(k[h>>2]|0)+(k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2]|0);k[s>>2]=(k[h>>2]|0)+((l[(k[f>>2]|0)+5>>0]|0)+8+(l[(k[f>>2]|0)+6>>0]|0));k[n>>2]=0;k[j>>2]=(k[x>>2]|0)+(k[y>>2]|0);k[q>>2]=0;k[u>>2]=0;k[i>>2]=k[x>>2];while(1){if((k[i>>2]|0)>=(k[j>>2]|0))break;k[o>>2]=k[(k[(k[g>>2]|0)+8>>2]|0)+(k[i>>2]<<2)>>2];if((k[o>>2]|0)>>>0>=(k[s>>2]|0)>>>0?(k[o>>2]|0)>>>0<(k[p>>2]|0)>>>0:0){k[t>>2]=m[(k[(k[g>>2]|0)+12>>2]|0)+(k[i>>2]<<1)>>1];if((k[q>>2]|0)!=((k[o>>2]|0)+(k[t>>2]|0)|0)){if(k[q>>2]|0)_L(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[q>>2]=k[o>>2];k[u>>2]=k[t>>2];if(((k[q>>2]|0)+(k[t>>2]|0)|0)>>>0>(k[p>>2]|0)>>>0){v=9;break}}else{k[q>>2]=k[o>>2];k[u>>2]=(k[u>>2]|0)+(k[t>>2]|0)}k[n>>2]=(k[n>>2]|0)+1}k[i>>2]=(k[i>>2]|0)+1}if((v|0)==9){k[e>>2]=0;y=k[e>>2]|0;r=w;return y|0}if(k[q>>2]|0)_L(k[f>>2]|0,(k[q>>2]|0)-(k[h>>2]|0)&65535,k[u>>2]&65535)|0;k[e>>2]=k[n>>2];y=k[e>>2]|0;r=w;return y|0}function WL(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=r;r=r+64|0;h=y+56|0;j=y+52|0;m=y+48|0;n=y+44|0;o=y+40|0;z=y+36|0;A=y+32|0;p=y+28|0;s=y+24|0;q=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;k[j>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[z>>2]=e;k[A>>2]=f;k[p>>2]=g;k[q>>2]=k[(k[j>>2]|0)+56>>2];k[u>>2]=k[k[n>>2]>>2];k[t>>2]=(k[z>>2]|0)+(k[A>>2]|0);k[s>>2]=k[z>>2];while(1){if((k[s>>2]|0)>=(k[t>>2]|0)){e=10;break}A=(PL(k[p>>2]|0,k[s>>2]|0)|0)&65535;k[x>>2]=A;if((l[(k[q>>2]|0)+1>>0]|0|0)==0?(l[(k[q>>2]|0)+2>>0]|0|0)==0:0)e=6;else e=5;if((e|0)==5?(e=0,A=ZL(k[j>>2]|0,k[x>>2]|0,w)|0,k[v>>2]=A,(A|0)==0):0)e=6;if((e|0)==6){k[u>>2]=(k[u>>2]|0)+(0-(k[x>>2]|0));if((k[u>>2]|0)>>>0<(k[m>>2]|0)>>>0){e=7;break}k[v>>2]=k[u>>2]}CR(k[v>>2]|0,k[(k[(k[p>>2]|0)+8>>2]|0)+(k[s>>2]<<2)>>2]|0,k[x>>2]|0)|0;i[k[o>>2]>>0]=(k[v>>2]|0)-(k[q>>2]|0)>>8;i[(k[o>>2]|0)+1>>0]=(k[v>>2]|0)-(k[q>>2]|0);k[o>>2]=(k[o>>2]|0)+2;k[s>>2]=(k[s>>2]|0)+1}if((e|0)==7){k[h>>2]=1;A=k[h>>2]|0;r=y;return A|0}else if((e|0)==10){k[k[n>>2]>>2]=k[u>>2];k[h>>2]=0;A=k[h>>2]|0;r=y;return A|0}return 0}function XL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if((k[f>>2]|0)<=0)break;if(!(m[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]|0)){a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[e>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[e>>2]<<1)>>1]=a}k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+-1}r=g;return}function YL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+64|0;q=x+52|0;s=x+48|0;t=x+44|0;e=x+40|0;f=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;o=x+20|0;g=x+16|0;n=x+12|0;p=x+8|0;w=x+4|0;h=x;k[s>>2]=a;k[t>>2]=b;k[e>>2]=c;k[f>>2]=d;k[v>>2]=l[(k[s>>2]|0)+5>>0];k[u>>2]=k[(k[s>>2]|0)+56>>2];k[y>>2]=k[(k[(k[s>>2]|0)+52>>2]|0)+36>>2];k[o>>2]=(k[u>>2]|0)+(k[y>>2]|0);k[n>>2]=k[(k[s>>2]|0)+64>>2];d=UL(k[k[(k[s>>2]|0)+52>>2]>>2]|0)|0;k[p>>2]=d;k[g>>2]=(l[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]|0)<<8|(l[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]|0);BR((k[p>>2]|0)+(k[g>>2]|0)|0,(k[u>>2]|0)+(k[g>>2]|0)|0,(k[y>>2]|0)-(k[g>>2]|0)|0)|0;k[w>>2]=k[o>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[t>>2]|0)){e=9;break}k[h>>2]=k[(k[e>>2]|0)+(k[g>>2]<<2)>>2];if((k[h>>2]|0)>>>0>=(k[u>>2]|0)>>>0?(k[h>>2]|0)>>>0<(k[o>>2]|0)>>>0:0)k[h>>2]=(k[p>>2]|0)+((k[h>>2]|0)-(k[u>>2]|0));k[w>>2]=(k[w>>2]|0)+(0-(m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0));i[k[n>>2]>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[n>>2]|0)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);k[n>>2]=(k[n>>2]|0)+2;if((k[w>>2]|0)>>>0<(k[n>>2]|0)>>>0){e=7;break}BR(k[w>>2]|0,k[h>>2]|0,m[(k[f>>2]|0)+(k[g>>2]<<1)>>1]|0|0)|0;k[g>>2]=(k[g>>2]|0)+1}if((e|0)==7){y=Yj(62287)|0;k[q>>2]=y;y=k[q>>2]|0;r=x;return y|0}else if((e|0)==9){j[(k[s>>2]|0)+18>>1]=k[t>>2];i[(k[s>>2]|0)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+1)+1>>0]=0;i[(k[u>>2]|0)+((k[v>>2]|0)+3)>>0]=(m[(k[s>>2]|0)+18>>1]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+3)+1>>0]=j[(k[s>>2]|0)+18>>1];i[(k[u>>2]|0)+((k[v>>2]|0)+5)>>0]=(k[w>>2]|0)-(k[u>>2]|0)>>8;i[(k[u>>2]|0)+((k[v>>2]|0)+5)+1>>0]=(k[w>>2]|0)-(k[u>>2]|0);i[(k[u>>2]|0)+((k[v>>2]|0)+7)>>0]=0;k[q>>2]=0;y=k[q>>2]|0;r=x;return y|0}return 0}function ZL(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,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;e=t+40|0;f=t+36|0;d=t+32|0;g=t+28|0;j=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;s=t+8|0;q=t+4|0;p=t;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;k[j>>2]=l[(k[f>>2]|0)+5>>0];k[h>>2]=k[(k[f>>2]|0)+56>>2];k[n>>2]=(k[j>>2]|0)+1;k[o>>2]=(l[(k[h>>2]|0)+(k[n>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[n>>2]|0)+1>>0]|0);k[q>>2]=k[(k[(k[f>>2]|0)+52>>2]|0)+36>>2];while(1){if((k[o>>2]|0)>((k[q>>2]|0)-4|0)){b=4;break}if((k[o>>2]|0)<((k[n>>2]|0)+4|0)){b=4;break}k[p>>2]=(l[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]|0);c=(k[p>>2]|0)-(k[d>>2]|0)|0;k[s>>2]=c;a=k[o>>2]|0;if((c|0)>=0){b=6;break}k[n>>2]=a;k[o>>2]=(l[(k[h>>2]|0)+(k[o>>2]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(k[o>>2]|0)+1>>0]|0);if(!(k[o>>2]|0)){b=16;break}}if((b|0)==4){s=Yj(57230)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==6){if((a|0)>=((m[(k[f>>2]|0)+14>>1]|0)+((m[(k[f>>2]|0)+18>>1]|0)<<1)|0)?((k[p>>2]|0)+(k[o>>2]|0)|0)<=(k[q>>2]|0):0){do if((k[s>>2]|0)<4){if((l[(k[h>>2]|0)+((k[j>>2]|0)+7)>>0]|0|0)<=57){q=(k[h>>2]|0)+(k[n>>2]|0)|0;p=(k[h>>2]|0)+(k[o>>2]|0)|0;i[q>>0]=i[p>>0]|0;i[q+1>>0]=i[p+1>>0]|0;q=(k[h>>2]|0)+((k[j>>2]|0)+7)|0;i[q>>0]=(l[q>>0]|0)+(k[s>>2]&255);break}k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else{i[(k[h>>2]|0)+((k[o>>2]|0)+2)>>0]=k[s>>2]>>8;i[(k[h>>2]|0)+((k[o>>2]|0)+2)+1>>0]=k[s>>2]}while(0);k[e>>2]=(k[h>>2]|0)+((k[o>>2]|0)+(k[s>>2]|0));s=k[e>>2]|0;r=t;return s|0}s=Yj(57241)|0;k[k[g>>2]>>2]=s;k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}else if((b|0)==16){k[e>>2]=0;s=k[e>>2]|0;r=t;return s|0}return 0}function _L(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;d=x+20|0;e=x+16|0;f=x+32|0;g=x+30|0;t=x+28|0;p=x+26|0;n=x+35|0;v=x+34|0;s=x+24|0;q=x+12|0;o=x+8|0;h=x+4|0;u=x;k[e>>2]=a;j[f>>1]=b;j[g>>1]=c;i[v>>0]=0;j[s>>1]=j[g>>1]|0;k[q>>2]=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)-4;k[o>>2]=(m[f>>1]|0)+(m[g>>1]|0);k[h>>2]=k[(k[e>>2]|0)+56>>2];if((m[(k[(k[e>>2]|0)+52>>2]|0)+22>>1]|0)&4)DR((k[h>>2]|0)+(m[f>>1]|0)|0,0,m[g>>1]|0|0)|0;i[n>>0]=i[(k[e>>2]|0)+5>>0]|0;j[t>>1]=(l[n>>0]|0)+1;if((l[(k[h>>2]|0)+((m[t>>1]|0)+1)>>0]|0|0)==0?(l[(k[h>>2]|0)+(m[t>>1]|0)>>0]|0|0)==0:0)j[p>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;a=((l[(k[h>>2]|0)+(m[t>>1]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(m[t>>1]|0)+1>>0]|0))&65535;j[p>>1]=a;if((a&65535|0)>0)c=(m[p>>1]|0|0)<(m[f>>1]|0|0);else c=0;b=m[p>>1]|0;if(!c)break;if((b|0)<((m[t>>1]|0)+4|0)){w=10;break}j[t>>1]=j[p>>1]|0;w=6}if((w|0)==10){w=Yj(57402)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}if(b>>>0>(k[q>>2]|0)>>>0){w=Yj(57405)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}do if((m[p>>1]|0|0)!=0?((k[o>>2]|0)+3|0)>>>0>=(m[p>>1]|0)>>>0:0){i[v>>0]=(m[p>>1]|0)-(k[o>>2]|0);if((k[o>>2]|0)>>>0>(m[p>>1]|0)>>>0){w=Yj(57416)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}k[o>>2]=(m[p>>1]|0)+((l[(k[h>>2]|0)+((m[p>>1]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((m[p>>1]|0)+2)+1>>0]|0));if((k[o>>2]|0)>>>0<=(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){j[g>>1]=(k[o>>2]|0)-(m[f>>1]|0);j[p>>1]=(l[(k[h>>2]|0)+(m[p>>1]|0)>>0]|0)<<8|(l[(k[h>>2]|0)+(m[p>>1]|0)+1>>0]|0);break}w=Yj(57418)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);do if((m[t>>1]|0|0)>((l[n>>0]|0)+1|0)?(k[u>>2]=(m[t>>1]|0)+((l[(k[h>>2]|0)+((m[t>>1]|0)+2)>>0]|0)<<8|(l[(k[h>>2]|0)+((m[t>>1]|0)+2)+1>>0]|0)),((k[u>>2]|0)+3|0)>=(m[f>>1]|0|0)):0){if((k[u>>2]|0)<=(m[f>>1]|0|0)){i[v>>0]=(l[v>>0]|0)+((m[f>>1]|0)-(k[u>>2]|0));j[g>>1]=(k[o>>2]|0)-(m[t>>1]|0);j[f>>1]=j[t>>1]|0;break}w=Yj(57430)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);if((l[v>>0]|0|0)<=(l[(k[h>>2]|0)+((l[n>>0]|0)+7)>>0]|0|0)){w=(k[h>>2]|0)+((l[n>>0]|0)+7)|0;i[w>>0]=(l[w>>0]|0)-(l[v>>0]|0);break}w=Yj(57436)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}while(0);do if((m[f>>1]|0|0)==((l[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0]|0)|0)){if((m[t>>1]|0|0)==((l[n>>0]|0)+1|0)){i[(k[h>>2]|0)+((l[n>>0]|0)+1)>>0]=(m[p>>1]|0)>>8;i[(k[h>>2]|0)+((l[n>>0]|0)+1)+1>>0]=j[p>>1];i[(k[h>>2]|0)+((l[n>>0]|0)+5)>>0]=(k[o>>2]|0)>>>8;i[(k[h>>2]|0)+((l[n>>0]|0)+5)+1>>0]=k[o>>2];break}w=Yj(57443)|0;k[d>>2]=w;w=k[d>>2]|0;r=x;return w|0}else{i[(k[h>>2]|0)+(m[t>>1]|0)>>0]=(m[f>>1]|0)>>8;i[(k[h>>2]|0)+(m[t>>1]|0)+1>>0]=j[f>>1];i[(k[h>>2]|0)+(m[f>>1]|0)>>0]=(m[p>>1]|0)>>8;i[(k[h>>2]|0)+(m[f>>1]|0)+1>>0]=j[p>>1];i[(k[h>>2]|0)+((m[f>>1]|0)+2)>>0]=(m[g>>1]|0)>>8;i[(k[h>>2]|0)+((m[f>>1]|0)+2)+1>>0]=j[g>>1]}while(0);w=(k[e>>2]|0)+16|0;j[w>>1]=(m[w>>1]|0)+(m[s>>1]|0);k[d>>2]=0;w=k[d>>2]|0;r=x;return w|0}function $L(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;a=gc[k[(k[(k[d>>2]|0)+4>>2]|0)+76>>2]&255](k[(k[d>>2]|0)+4>>2]|0,k[(k[(k[d>>2]|0)+8>>2]|0)+(k[c>>2]<<2)>>2]|0)|0;j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]=a;r=e;return j[(k[(k[d>>2]|0)+12>>2]|0)+(k[c>>2]<<1)>>1]|0}function aM(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,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;d=t+36|0;e=t+32|0;f=t+28|0;g=t+24|0;n=t+20|0;h=t+16|0;q=t+12|0;p=t+8|0;j=t+4|0;o=t;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[n>>2]=l[(k[e>>2]|0)+5>>0];k[h>>2]=k[(k[e>>2]|0)+56>>2];k[p>>2]=0;k[j>>2]=(m[(k[e>>2]|0)+14>>1]|0)+((m[(k[e>>2]|0)+18>>1]|0)<<1);k[q>>2]=(l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0);do if((k[j>>2]|0)>(k[q>>2]|0)){if((k[q>>2]|0)==0?(k[(k[(k[e>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){k[q>>2]=65536;break}s=Yj(57308)|0;k[d>>2]=s;s=k[d>>2]|0;r=t;return s|0}while(0);if(!((l[(k[h>>2]|0)+((k[n>>2]|0)+2)>>0]|0|0)==0?(l[(k[h>>2]|0)+((k[n>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((k[j>>2]|0)+2|0)<=(k[q>>2]|0):0){s=ZL(k[e>>2]|0,k[f>>2]|0,p)|0;k[o>>2]=s;if(k[o>>2]|0){k[k[g>>2]>>2]=(k[o>>2]|0)-(k[h>>2]|0);k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}if(k[p>>2]|0){k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}}do if(((k[j>>2]|0)+2+(k[f>>2]|0)|0)>(k[q>>2]|0)){s=SL(k[e>>2]|0)|0;k[p>>2]=s;if(!(k[p>>2]|0)){k[q>>2]=(((l[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]|0)<<8|(l[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}k[d>>2]=k[p>>2];s=k[d>>2]|0;r=t;return s|0}while(0);k[q>>2]=(k[q>>2]|0)-(k[f>>2]|0);i[(k[h>>2]|0)+((k[n>>2]|0)+5)>>0]=k[q>>2]>>8;i[(k[h>>2]|0)+((k[n>>2]|0)+5)+1>>0]=k[q>>2];k[k[g>>2]>>2]=k[q>>2];k[d>>2]=0;s=k[d>>2]|0;r=t;return s|0}function bM(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=r;r=r+112|0;J=M+96|0;o=M+92|0;p=M+88|0;q=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;n=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;a=s;k[a>>2]=d;k[a+4>>2]=e;k[t>>2]=f;k[u>>2]=g;k[N>>2]=h;k[n>>2]=j;k[C>>2]=0;k[K>>2]=0;k[B>>2]=k[(k[o>>2]|0)+52>>2];k[G>>2]=0;k[y>>2]=l[(k[o>>2]|0)+6>>0];k[z>>2]=(k[u>>2]|0)+(k[N>>2]|0);if(i[(k[o>>2]|0)+3>>0]|0){if((k[z>>2]|0)>>>0<128){i[(k[p>>2]|0)+(k[y>>2]|0)>>0]=k[z>>2];d=1}else{d=k[z>>2]|0;d=AI((k[p>>2]|0)+(k[y>>2]|0)|0,d,((d|0)<0)<<31>>31)|0}k[y>>2]=(k[y>>2]|0)+(d&255)}N=s;N=AI((k[p>>2]|0)+(k[y>>2]|0)|0,k[N>>2]|0,k[N+4>>2]|0)|0;k[y>>2]=(k[y>>2]|0)+N;if(i[(k[o>>2]|0)+2>>0]|0){k[F>>2]=k[t>>2];k[A>>2]=k[u>>2];k[u>>2]=0}else{k[z>>2]=k[s>>2];k[F>>2]=k[q>>2];k[A>>2]=k[s>>2]}if((k[z>>2]|0)<=(m[(k[o>>2]|0)+10>>1]|0)){N=(k[y>>2]|0)+(k[z>>2]|0)|0;k[x>>2]=N;k[x>>2]=(k[x>>2]|0)<4?4:N;k[k[n>>2]>>2]=k[x>>2];k[I>>2]=k[z>>2];k[E>>2]=k[p>>2]}else{k[w>>2]=m[(k[o>>2]|0)+12>>1];k[x>>2]=(k[w>>2]|0)+((((k[z>>2]|0)-(k[w>>2]|0)|0)>>>0)%(((k[(k[(k[o>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[x>>2]|0)>(m[(k[o>>2]|0)+10>>1]|0))k[x>>2]=k[w>>2];k[I>>2]=k[x>>2];k[k[n>>2]>>2]=(k[x>>2]|0)+(k[y>>2]|0)+4;k[E>>2]=(k[p>>2]|0)+((k[y>>2]|0)+(k[x>>2]|0))}k[D>>2]=(k[p>>2]|0)+(k[y>>2]|0);while(1){if((k[z>>2]|0)<=0){d=35;break}if(!(k[I>>2]|0)){k[H>>2]=k[G>>2];if(i[(k[B>>2]|0)+17>>0]|0)while(1){k[G>>2]=(k[G>>2]|0)+1;N=CF(k[B>>2]|0,k[G>>2]|0)|0;if((N|0)==(k[G>>2]|0))continue;if((k[G>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}N=LJ(k[B>>2]|0,C,G,k[G>>2]|0,0)|0;k[L>>2]=N;if(((k[L>>2]|0)==0?(l[(k[B>>2]|0)+17>>0]|0)!=0:0)?(i[v>>0]=(k[H>>2]|0)!=0?4:3,PJ(k[B>>2]|0,k[G>>2]|0,i[v>>0]|0,k[H>>2]|0,L),(k[L>>2]|0)!=0):0)GB(k[C>>2]|0);if(k[L>>2]|0){d=24;break}kt(k[E>>2]|0,k[G>>2]|0);GB(k[K>>2]|0);k[K>>2]=k[C>>2];k[E>>2]=k[(k[C>>2]|0)+56>>2];kt(k[E>>2]|0,0);k[D>>2]=(k[(k[C>>2]|0)+56>>2]|0)+4;k[I>>2]=(k[(k[B>>2]|0)+36>>2]|0)-4}k[x>>2]=k[z>>2];if((k[x>>2]|0)>(k[I>>2]|0))k[x>>2]=k[I>>2];if((k[A>>2]|0)>0){if((k[x>>2]|0)>(k[A>>2]|0))k[x>>2]=k[A>>2];BR(k[D>>2]|0,k[F>>2]|0,k[x>>2]|0)|0}else DR(k[D>>2]|0,0,k[x>>2]|0)|0;k[z>>2]=(k[z>>2]|0)-(k[x>>2]|0);k[D>>2]=(k[D>>2]|0)+(k[x>>2]|0);k[F>>2]=(k[F>>2]|0)+(k[x>>2]|0);k[A>>2]=(k[A>>2]|0)-(k[x>>2]|0);k[I>>2]=(k[I>>2]|0)-(k[x>>2]|0);if(k[A>>2]|0)continue;k[A>>2]=k[u>>2];k[F>>2]=k[t>>2]}if((d|0)==24){GB(k[K>>2]|0);k[J>>2]=k[L>>2];N=k[J>>2]|0;r=M;return N|0}else if((d|0)==35){GB(k[K>>2]|0);k[J>>2]=0;N=k[J>>2]|0;r=M;return N|0}return 0}function cM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}fJ(k[c>>2]|0,k[e>>2]|0);Ud(k[(k[e>>2]|0)+36+4>>2]|0);bg(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function dM(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;d=u+44|0;e=u+40|0;f=u+36|0;g=u+32|0;m=u+28|0;o=u+24|0;q=u+20|0;t=u+16|0;s=u+12|0;p=u+8|0;n=u+4|0;h=u+48|0;j=u;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[m>>2]=k[(k[e>>2]|0)+4>>2];c=k[m>>2]|0;if(i[(k[m>>2]|0)+17>>0]|0){JJ(c);zg(k[e>>2]|0,4,q);k[q>>2]=(k[q>>2]|0)+1;while(1){b=k[q>>2]|0;if((b|0)!=(CF(k[m>>2]|0,k[q>>2]|0)|0)?(k[q>>2]|0)!=((((k[381]|0)>>>0)/((k[(k[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;k[q>>2]=(k[q>>2]|0)+1}b=LJ(k[m>>2]|0,n,p,k[q>>2]|0,1)|0;k[t>>2]=b;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}if((k[p>>2]|0)!=(k[q>>2]|0)){i[h>>0]=0;k[j>>2]=0;b=DH(k[m>>2]|0,0,0)|0;k[t>>2]=b;GB(k[n>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=EF(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=n;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}n=DF(k[m>>2]|0,k[q>>2]|0,h,j)|0;k[t>>2]=n;if(!((l[h>>0]|0)!=1?(l[h>>0]|0)!=2:0)){n=Yj(64159)|0;k[t>>2]=n}if(k[t>>2]|0){GB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=MJ(k[m>>2]|0,k[o>>2]|0,i[h>>0]|0,k[j>>2]|0,k[p>>2]|0,0)|0;k[t>>2]=p;GB(k[o>>2]|0);if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=EF(k[m>>2]|0,k[q>>2]|0,o,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Pg(k[(k[o>>2]|0)+72>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){GB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else k[o>>2]=k[n>>2];PJ(k[m>>2]|0,k[q>>2]|0,1,0,t);if(k[t>>2]|0){GB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}p=Kg(k[e>>2]|0,4,k[q>>2]|0)|0;k[t>>2]=p;if(k[t>>2]|0){GB(k[o>>2]|0);k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}else{p=LJ(c,o,q,1,0)|0;k[t>>2]=p;if(k[t>>2]|0){k[d>>2]=k[t>>2];t=k[d>>2]|0;r=u;return t|0}}if(k[g>>2]&1)k[s>>2]=13;else k[s>>2]=10;OK(k[o>>2]|0,k[s>>2]|0);Hg(k[(k[o>>2]|0)+72>>2]|0);k[k[f>>2]>>2]=k[q>>2];k[d>>2]=0;t=k[d>>2]|0;r=u;return t|0}function eM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;f=q+28|0;g=q+24|0;h=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=k[(k[g>>2]|0)+4>>2];if((k[j>>2]|0)!=0?(fM(k[o>>2]|0),(k[(k[o>>2]|0)+80>>2]|0)==0):0){k[f>>2]=7;c=k[f>>2]|0;r=q;return c|0}if((k[h>>2]|0)==1?(qF(k[o>>2]|0)|0)==0:0)k[h>>2]=0;k[(k[n>>2]|0)+52>>2]=k[h>>2];i[(k[n>>2]|0)+68>>0]=-1;k[(k[n>>2]|0)+72>>2]=k[m>>2];k[k[n>>2]>>2]=k[g>>2];k[(k[n>>2]|0)+4>>2]=k[o>>2];i[(k[n>>2]|0)+64>>0]=(k[j>>2]|0)!=0?1:0;i[(k[n>>2]|0)+65>>0]=(k[j>>2]|0)!=0?0:2;k[p>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[p>>2]|0))break;if((k[(k[p>>2]|0)+52>>2]|0)==(k[h>>2]|0)){c=(k[p>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32;c=(k[n>>2]|0)+64|0;i[c>>0]=l[c>>0]|0|32}k[p>>2]=k[(k[p>>2]|0)+8>>2]}k[(k[n>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];k[(k[o>>2]|0)+8>>2]=k[n>>2];i[(k[n>>2]|0)+66>>0]=0;k[f>>2]=0;c=k[f>>2]|0;r=q;return c|0}function fM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+80>>2]|0){r=c;return}a=ej(k[(k[b>>2]|0)+32>>2]|0)|0;k[(k[b>>2]|0)+80>>2]=a;if(!(k[(k[b>>2]|0)+80>>2]|0)){r=c;return}a=k[(k[b>>2]|0)+80>>2]|0;i[a>>0]=0;i[a+1>>0]=0;i[a+2>>0]=0;i[a+3>>0]=0;i[a+4>>0]=0;i[a+5>>0]=0;i[a+6>>0]=0;i[a+7>>0]=0;a=(k[b>>2]|0)+80|0;k[a>>2]=(k[a>>2]|0)+4;r=c;return}function gM(){return 200}function hM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;a=k[b>>2]|0;b=a+68|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function iM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)>(k[(k[d>>2]|0)+104>>2]|0)?(l[(k[d>>2]|0)+6>>0]|0|0)!=0:0){a=jM(k[d>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;a=k[c>>2]|0;r=f;return a|0}k[c>>2]=0;a=k[c>>2]|0;r=f;return a|0}function jM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+24|0;c=j+20|0;d=j+16|0;i=j+12|0;g=j+8|0;f=j+4|0;e=j;k[c>>2]=a;k[d>>2]=b;k[i>>2]=0;k[g>>2]=k[(k[c>>2]|0)+104>>2];a=mg(k[(k[c>>2]|0)+100>>2]|0,(k[d>>2]|0)*48|0,0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}DR((k[e>>2]|0)+((k[g>>2]|0)*48|0)|0,0,((k[d>>2]|0)-(k[g>>2]|0)|0)*48|0)|0;k[(k[c>>2]|0)+100>>2]=k[e>>2];k[f>>2]=k[g>>2];while(1){if((k[f>>2]|0)>=(k[d>>2]|0)){c=14;break}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+20>>2]=k[(k[c>>2]|0)+28>>2];if((k[k[(k[c>>2]|0)+68>>2]>>2]|0)!=0?(a=(k[c>>2]|0)+80|0,b=k[a+4>>2]|0,(b|0)>0|(b|0)==0&(k[a>>2]|0)>>>0>0):0){g=(k[c>>2]|0)+80|0;b=k[g+4>>2]|0;a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[g>>2];k[a+4>>2]=b}else{a=(k[e>>2]|0)+((k[f>>2]|0)*48|0)|0;k[a>>2]=k[(k[c>>2]|0)+156>>2];k[a+4>>2]=0}k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+24>>2]=k[(k[c>>2]|0)+56>>2];a=sj(k[(k[c>>2]|0)+28>>2]|0)|0;k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]=a;if(!(k[(k[e>>2]|0)+((k[f>>2]|0)*48|0)+16>>2]|0)){c=10;break}if(Hr(k[c>>2]|0)|0)kM(k[(k[c>>2]|0)+216>>2]|0,(k[e>>2]|0)+((k[f>>2]|0)*48|0)+28|0);k[(k[c>>2]|0)+104>>2]=(k[f>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){k[h>>2]=7;i=k[h>>2]|0;r=j;return i|0}else if((c|0)==14){k[h>>2]=k[i>>2];i=k[h>>2]|0;r=j;return i|0}return 0}function kM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[k[d>>2]>>2]=k[(k[e>>2]|0)+52+16>>2];k[(k[d>>2]|0)+4>>2]=k[(k[e>>2]|0)+52+24>>2];k[(k[d>>2]|0)+8>>2]=k[(k[e>>2]|0)+52+24+4>>2];k[(k[d>>2]|0)+12>>2]=k[(k[e>>2]|0)+112>>2];r=c;return}function lM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h+4|0;b=h;k[e>>2]=a;if((k[(k[e>>2]|0)+44>>2]|0)>>>0>0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}k[g>>2]=k[(k[e>>2]|0)+12>>2];k[f>>2]=k[(k[g>>2]|0)+56>>2];c=Pg(k[(k[g>>2]|0)+72>>2]|0)|0;k[b>>2]=c;if(k[b>>2]|0){k[d>>2]=k[b>>2];g=k[d>>2]|0;r=h;return g|0}else{a=k[f>>2]|0;b=42903;c=a+16|0;do{i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0}while((a|0)<(c|0));i[(k[f>>2]|0)+16>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>8;i[(k[f>>2]|0)+17>>0]=(k[(k[e>>2]|0)+32>>2]|0)>>>16;i[(k[f>>2]|0)+18>>0]=1;i[(k[f>>2]|0)+19>>0]=1;i[(k[f>>2]|0)+20>>0]=(k[(k[e>>2]|0)+32>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);i[(k[f>>2]|0)+21>>0]=64;i[(k[f>>2]|0)+22>>0]=32;i[(k[f>>2]|0)+23>>0]=32;a=(k[f>>2]|0)+24|0;c=a+76|0;do{i[a>>0]=0;a=a+1|0}while((a|0)<(c|0));OK(k[g>>2]|0,13);g=(k[e>>2]|0)+22|0;j[g>>1]=m[g>>1]|0|2;kt((k[f>>2]|0)+52|0,l[(k[e>>2]|0)+17>>0]|0);kt((k[f>>2]|0)+64|0,l[(k[e>>2]|0)+18>>0]|0);k[(k[e>>2]|0)+44>>2]=1;i[(k[f>>2]|0)+31>>0]=1;k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}return 0}function mM(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,m=0,n=0;n=r;r=r+48|0;d=n+24|0;e=n+20|0;f=n;h=n+16|0;j=n+12|0;m=n+8|0;g=n+28|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if(0!=0?1:(k[f+4>>2]&-16777216|0)!=0){i[(k[e>>2]|0)+8>>0]=k[f>>2];m=f;m=AR(k[m>>2]|0,k[m+4>>2]|0,8)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=7;while(1){if((k[h>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=k[f>>2]&127|128;m=f;m=AR(k[m>>2]|0,k[m+4>>2]|0,7)|0;a=f;k[a>>2]=m;k[a+4>>2]=L;k[h>>2]=(k[h>>2]|0)+-1}k[d>>2]=9;a=k[d>>2]|0;r=n;return a|0}k[m>>2]=0;do{a=(k[f>>2]&127|128)&255;c=k[m>>2]|0;k[m>>2]=c+1;i[g+c>>0]=a;c=f;c=AR(k[c>>2]|0,k[c+4>>2]|0,7)|0;a=f;k[a>>2]=c;k[a+4>>2]=L;a=f}while((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0);i[g>>0]=(l[g>>0]|0)&127;k[h>>2]=0;k[j>>2]=(k[m>>2]|0)-1;while(1){if((k[j>>2]|0)<0)break;i[(k[e>>2]|0)+(k[h>>2]|0)>>0]=i[g+(k[j>>2]|0)>>0]|0;k[j>>2]=(k[j>>2]|0)+-1;k[h>>2]=(k[h>>2]|0)+1}k[d>>2]=k[m>>2];a=k[d>>2]|0;r=n;return a|0}function nM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+20|0;g=o+16|0;h=o+12|0;l=o+8|0;m=o+4|0;n=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;j[(k[m>>2]|0)+8>>1]=1;e=Jx(k[m>>2]|0,(k[h>>2]|0)+2|0)|0;k[n>>2]=e;if(e){n=k[n>>2]|0;r=o;return n|0}b=k[f>>2]|0;f=k[g>>2]|0;c=k[h>>2]|0;d=k[(k[m>>2]|0)+16>>2]|0;if(k[l>>2]|0){l=JH(b,f,c,d)|0;k[n>>2]=l}else{l=Yh(b,f,c,d)|0;k[n>>2]=l}if(!(k[n>>2]|0)){i[(k[(k[m>>2]|0)+16>>2]|0)+(k[h>>2]|0)>>0]=0;i[(k[(k[m>>2]|0)+16>>2]|0)+((k[h>>2]|0)+1)>>0]=0;j[(k[m>>2]|0)+8>>1]=528;k[(k[m>>2]|0)+12>>2]=k[h>>2];n=k[n>>2]|0;r=o;return n|0}else{eh(k[m>>2]|0);n=k[n>>2]|0;r=o;return n|0}return 0}function oM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[(k[c>>2]|0)+120+(i[(k[c>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(k[(k[c>>2]|0)+16+8>>2]|0);if((m[(k[c>>2]|0)+16+16>>1]|0)>>>0<(k[e>>2]|0)>>>0)k[e>>2]=m[(k[c>>2]|0)+16+16>>1];k[k[d>>2]>>2]=k[e>>2];r=f;return k[(k[c>>2]|0)+16+8>>2]|0}function pM(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=(k[c>>2]|0)+40|0;a=vF(k[(k[c>>2]|0)+16>>2]|0,0,k[a>>2]|0,k[a+4>>2]|0,0,e)|0;k[d>>2]=a;if(k[d>>2]|0){k[b>>2]=k[d>>2];e=k[b>>2]|0;r=f;return e|0}if(k[e>>2]|0){e=Yj(71015)|0;k[b>>2]=e;e=k[b>>2]|0;r=f;return e|0}else{i[(k[c>>2]|0)+3>>0]=0;k[(k[c>>2]|0)+56>>2]=0;k[b>>2]=0;e=k[b>>2]|0;r=f;return e|0}return 0}function qM(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if((k[(k[d>>2]|0)+12>>2]|0)>(k[(k[e>>2]|0)+12>>2]|0))a=k[(k[e>>2]|0)+12>>2]|0;else a=k[(k[d>>2]|0)+12>>2]|0;b=OQ(k[(k[d>>2]|0)+16>>2]|0,k[(k[e>>2]|0)+16>>2]|0,a)|0;k[f>>2]=b;if(k[f>>2]|0){k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}else{k[c>>2]=(k[(k[d>>2]|0)+12>>2]|0)-(k[(k[e>>2]|0)+12>>2]|0);f=k[c>>2]|0;r=g;return f|0}return 0}function rM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(!(_y(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=0;a=j[b>>1]|0;r=d;return a|0}if(!(Ui(k[(k[c>>2]|0)+16>>2]|0,k[c>>2]|0,k[(k[c>>2]|0)+12>>2]|0,i[(k[c>>2]|0)+10>>0]|0)|0)){j[b>>1]=4;a=j[b>>1]|0;r=d;return a|0}else{j[b>>1]=8;a=j[b>>1]|0;r=d;return a|0}return 0}function sM(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(Kx(k[c>>2]|0,(k[(k[c>>2]|0)+12>>2]|0)+2|0,1)|0){k[b>>2]=7;a=k[b>>2]|0;r=d;return a|0}else{i[(k[(k[c>>2]|0)+16>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0)>>0]=0;i[(k[(k[c>>2]|0)+16>>2]|0)+((k[(k[c>>2]|0)+12>>2]|0)+1)>>0]=0;a=(k[c>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|512;k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function tM(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;rh(k[b>>2]|0);j[(k[b>>2]|0)+8>>1]=4;r=c;return k[b>>2]|0}function uM(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;b=e+4|0;d=e;k[c>>2]=a;if(k[(k[c>>2]|0)+176>>2]|0){k[b>>2]=k[(k[c>>2]|0)+176>>2];while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+4>>2]|0))break;k[b>>2]=k[a+4>>2]}fI(a)|0;k[(k[c>>2]|0)+176>>2]=0;k[(k[c>>2]|0)+184>>2]=0}AM(k[c>>2]|0);if(k[(k[c>>2]|0)+8>>2]|0)EC(k[(k[c>>2]|0)+8>>2]|0,k[(k[c>>2]|0)+28>>2]|0);while(1){a=k[c>>2]|0;if(!(k[(k[c>>2]|0)+180>>2]|0))break;k[d>>2]=k[a+180>>2];k[(k[c>>2]|0)+180>>2]=k[(k[d>>2]|0)+4>>2];BM(k[d>>2]|0)}if(!(k[a+204>>2]|0)){r=e;return}rI(k[k[c>>2]>>2]|0,(k[c>>2]|0)+204|0,-1,0);r=e;return} +function Ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=r;r=r+96|0;z=F+80|0;o=F+76|0;e=F+72|0;A=F+68|0;B=F+64|0;x=F+60|0;m=F+56|0;D=F+52|0;C=F+48|0;u=F;n=F+44|0;p=F+40|0;g=F+36|0;h=F+85|0;v=F+32|0;j=F+28|0;s=F+24|0;f=F+20|0;q=F+84|0;y=F+16|0;w=F+12|0;t=F+8|0;k[o>>2]=a;k[e>>2]=b;k[A>>2]=c;k[B>>2]=d;k[x>>2]=k[(k[e>>2]|0)+20>>2];k[m>>2]=k[k[o>>2]>>2];k[k[B>>2]>>2]=0;if((k[(k[x>>2]|0)+68>>2]|0)<(k[(k[m>>2]|0)+24>>2]|0)?(k[(k[x>>2]|0)+68>>2]|0)!=(k[A>>2]|0):0){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a=(k[e>>2]|0)+24|0;d=k[a+4>>2]|0;b=u;k[b>>2]=k[a>>2];k[b+4>>2]=d;k[D>>2]=k[(k[x>>2]|0)+28>>2];b=u;d=(k[o>>2]|0)+32|0;if(!(!((k[b>>2]|0)!=(k[d>>2]|0)?1:(k[b+4>>2]|0)!=(k[d+4>>2]|0))?(l[(k[e>>2]|0)+32>>0]|0)==0:0))E=6;do if((E|0)==6){k[n>>2]=0;k[p>>2]=l[(k[m>>2]|0)+231>>0];k[g>>2]=0;i[h>>0]=0;k[j>>2]=k[e>>2];k[v>>2]=k[(k[e>>2]|0)+8>>2];while(1){if(!(k[v>>2]|0))break;if((k[k[v>>2]>>2]|0)==4)k[g>>2]=1;if((k[k[v>>2]>>2]|0)==1)k[j>>2]=k[v>>2];if(i[(k[v>>2]|0)+32>>0]|0)i[h>>0]=1;k[v>>2]=k[(k[v>>2]|0)+8>>2]}if(!(k[g>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}a:do if(k[(k[x>>2]|0)+40>>2]|0){k[f>>2]=l[(k[j>>2]|0)+32>>0];_m(k[o>>2]|0,k[j>>2]|0,n);b:while(1){if(k[n>>2]|0)break a;while(1){if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break a;$m(k[o>>2]|0,k[j>>2]|0,n);if(k[f>>2]|0)continue b;m=(k[j>>2]|0)+24|0;d=u;if(!(((k[m>>2]|0)!=(k[d>>2]|0)?1:(k[m+4>>2]|0)!=(k[d+4>>2]|0))&(k[n>>2]|0)==0))break a}}}while(0);c:do if((i[h>>0]|0)!=0&(k[n>>2]|0)==0)do{if(!((i[(k[j>>2]|0)+32>>0]|0)!=0^1))break c;$m(k[o>>2]|0,k[j>>2]|0,n)}while((k[n>>2]|0)==0);while(0);if(k[n>>2]|0){k[z>>2]=k[n>>2];E=k[z>>2]|0;r=F;return E|0}k[s>>2]=1;k[v>>2]=k[j>>2];while(1){if(!(k[v>>2]|0))break;i[q>>0]=0;k[y>>2]=k[v>>2];if((k[k[y>>2]>>2]|0)==1)k[y>>2]=k[(k[y>>2]|0)+16>>2];k[w>>2]=k[(k[y>>2]|0)+20>>2];k[D>>2]=k[(k[w>>2]|0)+48>>2];d=(k[w>>2]|0)+56|0;n=k[d+4>>2]|0;e=u;k[e>>2]=k[d>>2];k[e+4>>2]=n;e=(k[(k[w>>2]|0)+4>>2]|0)!=0;d:do if((l[(k[o>>2]|0)+52>>0]|0)==(k[p>>2]|0)){if(e)e=(k[D>>2]|0)>>>0>=((k[k[w>>2]>>2]|0)+(k[(k[w>>2]|0)+4>>2]|0)|0)>>>0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=yR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,KR(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,(L|0)>=0):0)break d;if(l[q>>0]|0)break d;an(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,q)}}else{if(e)if(k[D>>2]|0)e=(k[D>>2]|0)>>>0<=(k[k[w>>2]>>2]|0)>>>0;else e=0;else e=1;i[q>>0]=e&1;while(1){if((k[D>>2]|0)!=0?(d=(k[p>>2]|0)!=0?-1:1,m=u,n=(k[o>>2]|0)+32|0,n=yR(k[m>>2]|0,k[m+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0,n=KR(d|0,((d|0)<0)<<31>>31|0,n|0,L|0)|0,d=L,!((d|0)>0|(d|0)==0&n>>>0>0)):0)break d;if(l[q>>0]|0)break d;im(k[p>>2]|0,k[k[w>>2]>>2]|0,k[(k[w>>2]|0)+4>>2]|0,D,u,t,q)}}while(0);k[(k[w>>2]|0)+48>>2]=k[D>>2];m=u;d=k[m+4>>2]|0;n=(k[w>>2]|0)+56|0;k[n>>2]=k[m>>2];k[n+4>>2]=d;if(!((l[q>>0]|0)==0?(d=u,n=(k[o>>2]|0)+32|0,!((k[d>>2]|0)!=(k[n>>2]|0)?1:(k[d+4>>2]|0)!=(k[n+4>>2]|0))):0))k[s>>2]=0;k[v>>2]=k[(k[v>>2]|0)+12>>2]}if(k[s>>2]|0){k[D>>2]=k[(k[x>>2]|0)+48>>2];break}else{k[D>>2]=0;break}}while(0);if(!(k[D>>2]|0)){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if((i[k[D>>2]>>0]|0)==1){k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=hm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}else k[C>>2]=0;while(1){if((k[C>>2]|0)>=(k[A>>2]|0))break;fm(0,D);if(!(i[k[D>>2]>>0]|0)){E=65;break}k[D>>2]=(k[D>>2]|0)+1;e=k[D>>2]|0;if(l[k[D>>2]>>0]&128)e=hm(e,C)|0;else{k[C>>2]=l[e>>0];e=1}k[D>>2]=(k[D>>2]|0)+e}if((E|0)==65){k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}if(!(i[k[D>>2]>>0]|0))k[D>>2]=0;k[k[B>>2]>>2]=(k[A>>2]|0)==(k[C>>2]|0)?k[D>>2]|0:0;k[z>>2]=0;E=k[z>>2]|0;r=F;return E|0}function Zm(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+8|0;e=f+4|0;c=f+12|0;d=f;k[b>>2]=a;k[e>>2]=k[k[b>>2]>>2];i[c>>0]=0;k[d>>2]=0;while(1){a=k[e>>2]|0;if(!(254&(i[k[e>>2]>>0]|i[c>>0])))break;k[e>>2]=a+1;i[c>>0]=i[a>>0]&128;if(i[c>>0]|0)continue;k[d>>2]=(k[d>>2]|0)+1}k[k[b>>2]>>2]=a;r=f;return k[d>>2]|0}function _m(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=l;return}if(k[k[f>>2]>>2]|0){r=l;return}k[h>>2]=k[(k[e>>2]|0)+20>>2];if(k[h>>2]|0){bn(k[h>>2]|0);if(k[(k[h>>2]|0)+40>>2]|0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0))break;k[j>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);if(k[(k[j>>2]|0)+20>>2]|0)ln(k[(k[j>>2]|0)+20>>2]|0)|0;k[g>>2]=(k[g>>2]|0)+1}j=mn(k[d>>2]|0,0,k[h>>2]|0)|0;k[k[f>>2]>>2]=j}k[(k[h>>2]|0)+8>>2]=0;j=(k[h>>2]|0)+16|0;k[j>>2]=0;k[j+4>>2]=0;k[(k[h>>2]|0)+48>>2]=0}j=(k[e>>2]|0)+24|0;k[j>>2]=0;k[j+4>>2]=0;i[(k[e>>2]|0)+32>>0]=0;i[(k[e>>2]|0)+33>>0]=0;_m(k[d>>2]|0,k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0);_m(k[d>>2]|0,k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0);r=l;return}function $m(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;o=x+64|0;w=x+60|0;p=x+56|0;q=x+52|0;u=x+48|0;v=x+44|0;j=x+8|0;s=x+40|0;t=x+36|0;m=x+32|0;n=x+28|0;h=x;d=x+24|0;f=x+20|0;e=x+16|0;k[o>>2]=a;k[w>>2]=b;k[p>>2]=c;if(k[k[p>>2]>>2]|0){r=x;return}k[q>>2]=l[(k[o>>2]|0)+52>>0];i[(k[w>>2]|0)+33>>0]=1;switch(k[k[w>>2]>>2]|0){case 3:case 1:{k[u>>2]=k[(k[w>>2]|0)+12>>2];k[v>>2]=k[(k[w>>2]|0)+16>>2];if(i[(k[u>>2]|0)+34>>0]|0){$m(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);s=(k[v>>2]|0)+24|0;t=k[s+4>>2]|0;u=(k[w>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[v>>2]|0)+32>>0]|0;r=x;return}n=(i[(k[v>>2]|0)+34>>0]|0)!=0;$m(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0);if(n){s=(k[u>>2]|0)+24|0;t=k[s+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[s>>2];k[v+4>>2]=t;i[(k[w>>2]|0)+32>>0]=i[(k[u>>2]|0)+32>>0]|0;r=x;return}$m(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0);while(1){if(i[(k[u>>2]|0)+32>>0]|0)break;if(i[(k[v>>2]|0)+32>>0]|0)break;if(k[k[p>>2]>>2]|0)break;n=(k[q>>2]|0)!=0?-1:1;h=(k[u>>2]|0)+24|0;m=(k[v>>2]|0)+24|0;m=yR(k[h>>2]|0,k[h+4>>2]|0,k[m>>2]|0,k[m+4>>2]|0)|0;m=KR(n|0,((n|0)<0)<<31>>31|0,m|0,L|0)|0;n=j;k[n>>2]=m;k[n+4>>2]=L;n=j;if((k[n>>2]|0)==0&(k[n+4>>2]|0)==0)break;a=k[o>>2]|0;if((k[j+4>>2]|0)<0){$m(a,k[u>>2]|0,k[p>>2]|0);continue}else{$m(a,k[v>>2]|0,k[p>>2]|0);continue}}m=(k[u>>2]|0)+24|0;n=k[m+4>>2]|0;q=(k[w>>2]|0)+24|0;k[q>>2]=k[m>>2];k[q+4>>2]=n;if(l[(k[u>>2]|0)+32>>0]|0)a=1;else a=(l[(k[v>>2]|0)+32>>0]|0)!=0;i[(k[w>>2]|0)+32>>0]=a&1;if((k[k[w>>2]>>2]|0)!=1){r=x;return}if(!(l[(k[w>>2]|0)+32>>0]|0)){r=x;return}a:do if((k[(k[v>>2]|0)+20>>2]|0)!=0?(k[k[(k[v>>2]|0)+20>>2]>>2]|0)!=0:0){k[s>>2]=k[(k[v>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0)break a;if(l[(k[v>>2]|0)+32>>0]|0)break a;DR(k[(k[s>>2]|0)+28>>2]|0,0,k[(k[s>>2]|0)+32>>2]|0)|0;$m(k[o>>2]|0,k[v>>2]|0,k[p>>2]|0)}}while(0);if(!(k[(k[u>>2]|0)+20>>2]|0)){r=x;return}if(!(k[k[(k[u>>2]|0)+20>>2]>>2]|0)){r=x;return}k[t>>2]=k[(k[u>>2]|0)+20>>2];while(1){if(k[k[p>>2]>>2]|0){g=53;break}if(l[(k[u>>2]|0)+32>>0]|0){g=53;break}DR(k[(k[t>>2]|0)+28>>2]|0,0,k[(k[t>>2]|0)+32>>2]|0)|0;$m(k[o>>2]|0,k[u>>2]|0,k[p>>2]|0)}if((g|0)==53){r=x;return}break}case 4:{k[m>>2]=k[(k[w>>2]|0)+12>>2];k[n>>2]=k[(k[w>>2]|0)+16>>2];v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=yR(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=KR(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;do if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){if((l[(k[m>>2]|0)+32>>0]|0)==0?(v=h,u=k[v+4>>2]|0,!((l[(k[n>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(k[v>>2]|0)>>>0>0))):0){$m(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);$m(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0);break}$m(k[o>>2]|0,k[n>>2]|0,k[p>>2]|0)}else g=33;while(0);if((g|0)==33)$m(k[o>>2]|0,k[m>>2]|0,k[p>>2]|0);if(l[(k[m>>2]|0)+32>>0]|0)a=(l[(k[n>>2]|0)+32>>0]|0)!=0;else a=0;i[(k[w>>2]|0)+32>>0]=a&1;v=(k[q>>2]|0)!=0?-1:1;t=(k[m>>2]|0)+24|0;u=(k[n>>2]|0)+24|0;u=yR(k[t>>2]|0,k[t+4>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;u=KR(v|0,((v|0)<0)<<31>>31|0,u|0,L|0)|0;v=h;k[v>>2]=u;k[v+4>>2]=L;if((l[(k[n>>2]|0)+32>>0]|0)==0?!((k[h+4>>2]|0)<0?(l[(k[m>>2]|0)+32>>0]|0)==0:0):0){u=(k[n>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}u=(k[m>>2]|0)+24|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}case 2:{k[d>>2]=k[(k[w>>2]|0)+12>>2];k[f>>2]=k[(k[w>>2]|0)+16>>2];if(!(l[(k[f>>2]|0)+33>>0]|0))$m(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0);$m(k[o>>2]|0,k[d>>2]|0,k[p>>2]|0);b:do if(!(l[(k[d>>2]|0)+32>>0]|0))while(1){if(k[k[p>>2]>>2]|0)break b;if(i[(k[f>>2]|0)+32>>0]|0)break b;u=(k[q>>2]|0)!=0?-1:1;t=(k[d>>2]|0)+24|0;v=(k[f>>2]|0)+24|0;v=yR(k[t>>2]|0,k[t+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;v=KR(u|0,((u|0)<0)<<31>>31|0,v|0,L|0)|0;u=L;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;$m(k[o>>2]|0,k[f>>2]|0,k[p>>2]|0)}while(0);t=(k[d>>2]|0)+24|0;u=k[t+4>>2]|0;v=(k[w>>2]|0)+24|0;k[v>>2]=k[t>>2];k[v+4>>2]=u;i[(k[w>>2]|0)+32>>0]=i[(k[d>>2]|0)+32>>0]|0;r=x;return}default:{k[e>>2]=k[(k[w>>2]|0)+20>>2];bn(k[e>>2]|0);u=cn(k[o>>2]|0,k[e>>2]|0,(k[w>>2]|0)+32|0)|0;k[k[p>>2]>>2]=u;u=(k[e>>2]|0)+16|0;v=k[u+4>>2]|0;w=(k[w>>2]|0)+24|0;k[w>>2]=k[u>>2];k[w+4>>2]=v;r=x;return}}}function an(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;g=q+32|0;h=q+28|0;j=q+24|0;l=q+20|0;m=q+16|0;n=q+12|0;p=q+8|0;o=q;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[p>>2]=k[k[l>>2]>>2];if(!(k[p>>2]|0)){k[p>>2]=k[h>>2];o=gm(k[p>>2]|0,k[m>>2]|0)|0;k[p>>2]=(k[p>>2]|0)+o;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}lm(0,p);while(1){if((k[p>>2]|0)>>>0<((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0)a=(i[k[p>>2]>>0]|0)==0;else a=0;b=k[p>>2]|0;if(!a)break;k[p>>2]=b+1}if(b>>>0>=((k[h>>2]|0)+(k[j>>2]|0)|0)>>>0){i[k[n>>2]>>0]=1;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}else{j=gm(k[p>>2]|0,o)|0;k[p>>2]=(k[p>>2]|0)+j;j=(k[g>>2]|0)!=0?-1:1;n=o;n=KR(j|0,((j|0)<0)<<31>>31|0,k[n>>2]|0,k[n+4>>2]|0)|0;o=k[m>>2]|0;m=o;n=zR(k[m>>2]|0,k[m+4>>2]|0,n|0,L|0)|0;k[o>>2]=n;k[o+4>>2]=L;o=k[p>>2]|0;p=k[l>>2]|0;k[p>>2]=o;r=q;return}}function bn(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(k[(k[b>>2]|0)+24>>2]|0)Ud(k[(k[b>>2]|0)+28>>2]|0);k[(k[b>>2]|0)+28>>2]=0;k[(k[b>>2]|0)+32>>2]=0;k[(k[b>>2]|0)+24>>2]=0;r=c;return}function cn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;d=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[h>>2]=0;k[f>>2]=k[d>>2];k[g>>2]=k[k[j>>2]>>2];b=k[j>>2]|0;if(k[(k[d>>2]|0)+40>>2]|0){j=dn(b,k[d>>2]|0,k[e>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}if((l[b+52>>0]|0|0)!=(l[(k[g>>2]|0)+231>>0]|0|0)?(k[(k[f>>2]|0)+4>>2]|0)!=0:0){im(l[(k[g>>2]|0)+231>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[f>>2]|0)+8|0,(k[f>>2]|0)+16|0,(k[f>>2]|0)+32|0,k[e>>2]|0);k[(k[f>>2]|0)+28>>2]=k[(k[f>>2]|0)+8>>2];j=k[h>>2]|0;r=i;return j|0}en(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0);j=k[h>>2]|0;r=i;return j|0}function dn(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+192|0;e=D+172|0;d=D+168|0;f=D+164|0;g=D+160|0;A=D+156|0;v=D+152|0;z=D+148|0;n=D+176|0;m=D+144|0;h=D+8|0;o=D+140|0;q=D;p=D+136|0;u=D+132|0;s=D+128|0;j=D+124|0;w=D+120|0;y=D+116|0;x=D+112|0;t=D+108|0;B=D+104|0;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[A>>2]=0;k[v>>2]=k[f>>2];k[z>>2]=k[k[d>>2]>>2];i[n>>0]=0;if((k[(k[f>>2]|0)+64>>2]|0)==1?(k[(k[f>>2]|0)+40>>2]|0)!=0:0){B=fn(k[z>>2]|0,k[(k[f>>2]|0)+72+20>>2]|0,(k[v>>2]|0)+16|0,(k[v>>2]|0)+28|0,(k[v>>2]|0)+32|0)|0;k[A>>2]=B;if(!(k[(k[v>>2]|0)+28>>2]|0))i[n>>0]=1}else C=5;a:do if((C|0)==5){k[m>>2]=l[(k[d>>2]|0)+52>>0];d=h;b=d+96|0;do{k[d>>2]=0;d=d+4|0}while((d|0)<(b|0));while(1){if(l[n>>0]|0)break a;k[o>>2]=0;c=q;k[c>>2]=0;k[c+4>>2]=0;k[p>>2]=0;while(1){if(k[A>>2]|0)break;if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;if(l[n>>0]|0)break;c=gn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=c;do if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){if((k[o>>2]|0)!=0?(a=(k[m>>2]|0)!=0?-1:1,b=q,c=h+((k[p>>2]|0)*24|0)+8|0,c=yR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0,KR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0,(L|0)>=0):0)break;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[o>>2]=1}while(0);k[p>>2]=(k[p>>2]|0)+1}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[f>>2]|0)+64>>2]|0))break;while(1){if(k[A>>2]|0)break;if(l[n>>0]|0)break;if(k[h+((k[p>>2]|0)*24|0)>>2]|0)break;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=yR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;KR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;if((L|0)>=0)break;a=gn(k[z>>2]|0,k[f>>2]|0,k[p>>2]|0,h+((k[p>>2]|0)*24|0)|0,n)|0;k[A>>2]=a;a=(k[m>>2]|0)!=0?-1:1;b=h+((k[p>>2]|0)*24|0)+8|0;c=q;c=yR(k[b>>2]|0,k[b+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;c=KR(a|0,((a|0)<0)<<31>>31|0,c|0,L|0)|0;a=L;if(!((a|0)>0|(a|0)==0&c>>>0>0))continue;b=h+((k[p>>2]|0)*24|0)+8|0;a=k[b+4>>2]|0;c=q;k[c>>2]=k[b>>2];k[c+4>>2]=a;k[p>>2]=0}k[p>>2]=(k[p>>2]|0)+1}if(l[n>>0]|0)continue;k[u>>2]=0;k[s>>2]=k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c=Sd((k[s>>2]|0)+1|0)|0;k[j>>2]=c;if(!(k[j>>2]|0))break;BR(k[j>>2]|0,k[h+(((k[(k[f>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(k[s>>2]|0)+1|0)|0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=((k[(k[f>>2]|0)+64>>2]|0)-1|0))break;if(!(k[h+((k[p>>2]|0)*24|0)>>2]|0)){k[w>>2]=k[h+((k[p>>2]|0)*24|0)+16>>2];k[y>>2]=k[j>>2];k[x>>2]=k[j>>2];k[t>>2]=(k[(k[f>>2]|0)+64>>2]|0)-1-(k[p>>2]|0);c=hn(x,k[t>>2]|0,0,1,w,y)|0;k[B>>2]=c;if(!(k[B>>2]|0))break;k[u>>2]=(k[x>>2]|0)-(k[j>>2]|0)}k[p>>2]=(k[p>>2]|0)+1}if((k[p>>2]|0)==((k[(k[f>>2]|0)+64>>2]|0)-1|0)){C=35;break}Ud(k[j>>2]|0)}if((C|0)==35){z=q;B=k[z+4>>2]|0;C=(k[v>>2]|0)+16|0;k[C>>2]=k[z>>2];k[C+4>>2]=B;k[(k[v>>2]|0)+28>>2]=k[j>>2];k[(k[v>>2]|0)+32>>2]=k[u>>2];k[(k[v>>2]|0)+24>>2]=1;break}k[e>>2]=7;C=k[e>>2]|0;r=D;return C|0}while(0);i[k[g>>2]>>0]=i[n>>0]|0;k[e>>2]=k[A>>2];C=k[e>>2]|0;r=D;return C|0}function en(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,m=0;m=r;r=r+32|0;d=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;e=m;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);b=k[f>>2]|0;if(k[(k[f>>2]|0)+8>>2]|0)k[j>>2]=k[b+8>>2];else k[j>>2]=k[b>>2];if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){i[k[g>>2]>>0]=1;r=m;return}c=gm(k[j>>2]|0,e)|0;k[j>>2]=(k[j>>2]|0)+c;if((l[(k[d>>2]|0)+231>>0]|0)!=0?(k[(k[f>>2]|0)+8>>2]|0)!=0:0){d=e;e=(k[f>>2]|0)+16|0;c=e;d=yR(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}else{d=e;e=(k[f>>2]|0)+16|0;c=e;d=zR(k[c>>2]|0,k[c+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;k[e>>2]=d;k[e+4>>2]=L}k[(k[f>>2]|0)+28>>2]=k[j>>2];lm(0,j);k[(k[f>>2]|0)+32>>2]=(k[j>>2]|0)-(k[(k[f>>2]|0)+28>>2]|0);while(1){if((k[j>>2]|0)>>>0<(k[h>>2]|0)>>>0)a=(i[k[j>>2]>>0]|0)==0;else a=0;b=k[j>>2]|0;if(!a)break;k[j>>2]=b+1}k[(k[f>>2]|0)+8>>2]=b;i[k[g>>2]>>0]=0;r=m;return}function fn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;o=x+60|0;f=x+56|0;g=x+52|0;p=x+48|0;q=x+44|0;s=x+40|0;j=x+36|0;h=x+32|0;n=x+28|0;m=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;i=x+8|0;t=x;k[f>>2]=a;k[g>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[j>>2]=k[(k[g>>2]|0)+8>>2];k[h>>2]=k[k[g>>2]>>2];k[n>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(k[j>>2]|0)){k[k[q>>2]>>2]=0;k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}while(1){k[m>>2]=k[k[k[g>>2]>>2]>>2];if(!(k[(k[m>>2]|0)+80>>2]|0)){f=4;break}d=(k[k[h>>2]>>2]|0)+88|0;c=k[d+4>>2]|0;e=t;k[e>>2]=k[d>>2];k[e+4>>2]=c;e=cm(k[f>>2]|0,k[k[h>>2]>>2]|0,v,u)|0;k[w>>2]=e;k[i>>2]=1;while(1){if(k[w>>2]|0)break;if((k[i>>2]|0)>=(k[j>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+80>>2]|0))break;c=(k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0)+88|0;e=t;if(!((k[c>>2]|0)==(k[e>>2]|0)?(k[c+4>>2]|0)==(k[e+4>>2]|0):0))break;e=cm(k[f>>2]|0,k[(k[h>>2]|0)+(k[i>>2]<<2)>>2]|0,0,0)|0;k[w>>2]=e;k[i>>2]=(k[i>>2]|0)+1}if(k[w>>2]|0){f=12;break}$l(k[k[g>>2]>>2]|0,k[j>>2]|0,k[i>>2]|0,k[n>>2]|0);if((k[u>>2]|0)>0?(k[(k[k[h>>2]>>2]|0)+56>>2]|0)!=0:0){e=am(k[g>>2]|0,k[v>>2]|0,(k[u>>2]|0)+1|0)|0;k[w>>2]=e;if(k[w>>2]|0){f=16;break}k[v>>2]=k[(k[g>>2]|0)+16>>2]}if((k[(k[g>>2]|0)+24>>2]|0)>=0)dm(k[(k[g>>2]|0)+24>>2]|0,1,v,u);if((k[u>>2]|0)>0){f=21;break}}if((f|0)==4)k[k[q>>2]>>2]=0;else if((f|0)==12){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==16){k[o>>2]=k[w>>2];w=k[o>>2]|0;r=x;return w|0}else if((f|0)==21){k[k[q>>2]>>2]=k[v>>2];v=k[t+4>>2]|0;w=k[p>>2]|0;k[w>>2]=k[t>>2];k[w+4>>2]=v;k[k[s>>2]>>2]=k[u>>2]}k[o>>2]=0;w=k[o>>2]|0;r=x;return w|0}function gn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0;o=r;r=r+32|0;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;n=o+4|0;m=o;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[l>>2]=e;k[n>>2]=0;if((k[(k[g>>2]|0)+44>>2]|0)==(k[h>>2]|0)){en(k[f>>2]|0,k[g>>2]|0,k[l>>2]|0);k[(k[j>>2]|0)+16>>2]=k[(k[g>>2]|0)+28>>2];k[(k[j>>2]|0)+20>>2]=k[(k[g>>2]|0)+32>>2];a=(k[g>>2]|0)+16|0;m=k[a+4>>2]|0;e=(k[j>>2]|0)+8|0;k[e>>2]=k[a>>2];k[e+4>>2]=m;n=k[n>>2]|0;r=o;return n|0}k[m>>2]=(k[g>>2]|0)+72+((k[h>>2]|0)*24|0);if(!(k[(k[m>>2]|0)+20>>2]|0)){k[k[j>>2]>>2]=1;n=k[n>>2]|0;r=o;return n|0}e=fn(k[f>>2]|0,k[(k[m>>2]|0)+20>>2]|0,(k[j>>2]|0)+8|0,(k[j>>2]|0)+16|0,(k[j>>2]|0)+20|0)|0;k[n>>2]=e;if(k[(k[j>>2]|0)+16>>2]|0){n=k[n>>2]|0;r=o;return n|0}i[k[l>>2]>>0]=1;n=k[n>>2]|0;r=o;return n|0}function hn(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+96|0;g=C+80|0;h=C+76|0;j=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;x=C+52|0;y=C+48|0;z=C+44|0;q=C+40|0;s=C+36|0;A=C+32|0;v=C+24|0;t=C+16|0;u=C+8|0;w=C;k[h>>2]=a;k[j>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[x>>2]=k[k[h>>2]>>2];k[y>>2]=k[k[o>>2]>>2];k[z>>2]=k[k[p>>2]>>2];k[q>>2]=0;k[s>>2]=0;if((i[k[y>>2]>>0]|0)==1){k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=hm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d}if((i[k[z>>2]>>0]|0)==1){k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=hm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}while(1){if((k[q>>2]|0)!=(k[s>>2]|0))if((k[q>>2]|0)<(k[s>>2]|0)){fm(0,y);if(!(i[k[y>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=hm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;continue}else{fm(0,z);if(!(i[k[z>>2]>>0]|0))break;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=hm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d;continue}k[A>>2]=k[x>>2];f=v;k[f>>2]=0;k[f+4>>2]=0;f=t;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;if(k[q>>2]|0){f=k[x>>2]|0;k[x>>2]=f+1;i[f>>0]=1;f=k[q>>2]|0;f=Sl(k[x>>2]|0,f,((f|0)<0)<<31>>31)|0;k[x>>2]=(k[x>>2]|0)+f}jn(y,t);f=t;f=yR(k[f>>2]|0,k[f+4>>2]|0,2,0)|0;e=t;k[e>>2]=f;k[e+4>>2]=L;jn(z,u);e=u;e=yR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L;while(1){f=u;a=k[f>>2]|0;f=k[f+4>>2]|0;b=t;e=k[j>>2]|0;e=zR(k[b>>2]|0,k[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;if(!((a|0)==(e|0)&(f|0)==(L|0))){if(((k[n>>2]|0)==0?(e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,(b|0)>(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0>(k[f>>2]|0)>>>0:0)):0)?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=zR(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0)B=19}else B=19;if((B|0)==19){B=0;c=(k[m>>2]|0)!=0;b=t;a=u;f=c?k[b+4>>2]|0:k[a+4>>2]|0;e=w;k[e>>2]=c?k[b>>2]|0:k[a>>2]|0;k[e+4>>2]=f;e=w;e=zR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;kn(x,v,e,L);e=v;e=yR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=v;k[f>>2]=e;k[f+4>>2]=L;k[A>>2]=0}if(!((k[m>>2]|0)==0?(b=u,e=k[b>>2]|0,b=k[b+4>>2]|0,a=t,f=k[j>>2]|0,f=zR(k[a>>2]|0,k[a+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,a=L,(b|0)<(a|0)|(b|0)==(a|0)&e>>>0<=f>>>0):0))B=22;if((B|0)==22?(B=0,e=u,b=k[e+4>>2]|0,f=t,a=k[f+4>>2]|0,!((b|0)<(a|0)|((b|0)==(a|0)?(k[e>>2]|0)>>>0<=(k[f>>2]|0)>>>0:0))):0){if(!(i[k[y>>2]>>0]&254))break;jn(y,t);e=t;e=yR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=t;k[f>>2]=e;k[f+4>>2]=L;continue}if(!(i[k[z>>2]>>0]&254))break;jn(z,u);e=u;e=yR(k[e>>2]|0,k[e+4>>2]|0,2,0)|0;f=u;k[f>>2]=e;k[f+4>>2]=L}if(k[A>>2]|0)k[x>>2]=k[A>>2];fm(0,y);fm(0,z);if(!(i[k[y>>2]>>0]|0))break;if(!(i[k[z>>2]>>0]|0))break;k[y>>2]=(k[y>>2]|0)+1;d=k[y>>2]|0;if(l[k[y>>2]>>0]&128)d=hm(d,q)|0;else{k[q>>2]=l[d>>0];d=1}k[y>>2]=(k[y>>2]|0)+d;k[z>>2]=(k[z>>2]|0)+1;d=k[z>>2]|0;if(l[k[z>>2]>>0]&128)d=hm(d,s)|0;else{k[s>>2]=l[d>>0];d=1}k[z>>2]=(k[z>>2]|0)+d}lm(0,z);lm(0,y);k[k[o>>2]>>2]=k[y>>2];k[k[p>>2]>>2]=k[z>>2];if((k[k[h>>2]>>2]|0)==(k[x>>2]|0)){k[g>>2]=0;B=k[g>>2]|0;r=C;return B|0}else{B=k[x>>2]|0;k[x>>2]=B+1;i[B>>0]=0;k[k[h>>2]>>2]=k[x>>2];k[g>>2]=1;B=k[g>>2]|0;r=C;return B|0}return 0}function jn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+16|0;f=c+12|0;d=c+8|0;e=c;k[f>>2]=a;k[d>>2]=b;a=gm(k[k[f>>2]>>2]|0,e)|0;b=k[f>>2]|0;k[b>>2]=(k[b>>2]|0)+a;b=e;a=k[d>>2]|0;d=a;b=zR(k[d>>2]|0,k[d+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[a>>2]=b;k[a+4>>2]=L;r=c;return}function kn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;f=e+8|0;g=e;k[h>>2]=a;k[f>>2]=b;a=g;k[a>>2]=c;k[a+4>>2]=d;d=k[k[h>>2]>>2]|0;a=g;b=k[f>>2]|0;b=yR(k[a>>2]|0,k[a+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;b=Sl(d,b,L)|0;d=k[h>>2]|0;k[d>>2]=(k[d>>2]|0)+b;d=g;b=k[d+4>>2]|0;a=k[f>>2]|0;k[a>>2]=k[d>>2];k[a+4>>2]=b;r=e;return}function ln(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[(k[b>>2]|0)+8>>2]=0;k[(k[b>>2]|0)+28>>2]=1;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+4>>2]|0))break;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+80>>2]=0;k[(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+84>>2]=0;a=(k[(k[k[b>>2]>>2]|0)+(k[c>>2]<<2)>>2]|0)+88|0;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(k[c>>2]|0)+1}r=d;return 0}function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+44|0;t=s+40|0;i=s+36|0;o=s+32|0;q=s+28|0;j=s+24|0;e=s+20|0;f=s+16|0;g=s+12|0;m=s+8|0;p=s+4|0;n=s;k[d>>2]=a;k[t>>2]=b;k[i>>2]=c;k[o>>2]=k[k[d>>2]>>2];k[q>>2]=0;k[e>>2]=0;if(((k[t>>2]|0)!=0?(l[(k[d>>2]|0)+52>>0]|0|0)==(l[(k[o>>2]|0)+231>>0]|0|0):0)?(k[(k[i>>2]|0)+64>>2]|0)<=4:0)b=(k[(k[i>>2]|0)+64>>2]|0)>0;else b=0;k[f>>2]=b&1;k[j>>2]=0;while(1){if((k[f>>2]|0)!=1)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[g>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);if(!(k[(k[g>>2]|0)+12>>2]|0)){if((k[(k[g>>2]|0)+20>>2]|0)!=0?(k[(k[(k[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)h=11}else h=11;if((h|0)==11){h=0;k[f>>2]=0}if(k[(k[g>>2]|0)+20>>2]|0)k[e>>2]=1;k[j>>2]=(k[j>>2]|0)+1}if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){t=on(k[d>>2]|0,k[i>>2]|0)|0;k[q>>2]=t;k[(k[i>>2]|0)+40>>2]=0;t=k[q>>2]|0;r=s;return t|0}if((k[(k[i>>2]|0)+68>>2]|0)>=(k[(k[o>>2]|0)+24>>2]|0))b=-1;else b=k[(k[i>>2]|0)+68>>2]|0;k[m>>2]=b;k[j>>2]=0;while(1){if(k[q>>2]|0)break;if((k[j>>2]|0)>=(k[(k[i>>2]|0)+64>>2]|0))break;k[p>>2]=(k[i>>2]|0)+72+((k[j>>2]|0)*24|0);k[n>>2]=k[(k[p>>2]|0)+20>>2];if(k[n>>2]|0){t=nn(k[o>>2]|0,k[n>>2]|0,k[m>>2]|0,k[k[p>>2]>>2]|0,k[(k[p>>2]|0)+4>>2]|0)|0;k[q>>2]=t}k[j>>2]=(k[j>>2]|0)+1}k[(k[i>>2]|0)+40>>2]=1;t=k[q>>2]|0;r=s;return t|0}function nn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;m=t+40|0;f=t+36|0;n=t+32|0;o=t+28|0;g=t+24|0;h=t+20|0;p=t+16|0;q=t+12|0;i=t+8|0;s=t+4|0;j=t;k[f>>2]=a;k[n>>2]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=e;k[i>>2]=k[(k[n>>2]|0)+4>>2];k[s>>2]=(l[(k[f>>2]|0)+231>>0]|0|0)!=0?182:183;d=pm(k[f>>2]|0,k[n>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[i>>2]|0))break;k[j>>2]=k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2];if(!(k[(k[j>>2]|0)+40>>2]|0))break;if(qm(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0)break;k[p>>2]=(k[p>>2]|0)+1}k[(k[n>>2]|0)+8>>2]=k[p>>2];k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[n>>2]|0)+8>>2]|0)){f=13;break}d=bm(k[f>>2]|0,k[(k[k[n>>2]>>2]|0)+(k[p>>2]<<2)>>2]|0)|0;k[q>>2]=d;if(k[q>>2]|0){f=11;break}k[p>>2]=(k[p>>2]|0)+1}if((f|0)==11){k[m>>2]=k[q>>2];s=k[m>>2]|0;r=t;return s|0}else if((f|0)==13){$l(k[k[n>>2]>>2]|0,k[p>>2]|0,k[p>>2]|0,k[s>>2]|0);k[(k[n>>2]|0)+24>>2]=k[o>>2];k[m>>2]=0;s=k[m>>2]|0;r=t;return s|0}return 0}function on(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+28|0;c=j+24|0;f=j+20|0;d=j+16|0;i=j+12|0;h=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[c>>2]=b;k[f>>2]=k[k[l>>2]>>2];k[i>>2]=0;k[d>>2]=0;while(1){if(k[i>>2]|0){c=8;break}if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0)){c=8;break}k[h>>2]=(k[c>>2]|0)+72+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[e>>2]=0,k[g>>2]=0,l=pn(k[f>>2]|0,k[h>>2]|0,k[(k[c>>2]|0)+68>>2]|0,e,g)|0,k[i>>2]=l,(k[i>>2]|0)==0):0){l=qn(k[f>>2]|0,k[c>>2]|0,k[d>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[i>>2]=l}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==8){r=j;return k[i>>2]|0}return 0}function pn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+192|0;f=q+176|0;g=q+172|0;h=q+168|0;i=q+164|0;j=q+160|0;o=q+156|0;n=q+152|0;p=q+24|0;l=q+8|0;m=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[n>>2]=k[(k[g>>2]|0)+20>>2];c=p;a=c+128|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(a|0));k[l+12>>2]=3|((k[(k[g>>2]|0)+8>>2]|0)!=0?8:0)|((k[(k[g>>2]|0)+12>>2]|0)!=0?32:0)|((k[h>>2]|0)<(k[(k[f>>2]|0)+24>>2]|0)?4:0);k[l+8>>2]=k[h>>2];k[l>>2]=k[k[g>>2]>>2];k[l+4>>2]=k[(k[g>>2]|0)+4>>2];l=Cl(k[f>>2]|0,k[n>>2]|0,l)|0;k[o>>2]=l;while(1){if(k[o>>2]|0)break;l=Dl(k[f>>2]|0,k[n>>2]|0)|0;k[o>>2]=l;if(100!=(l|0))break;l=un(k[f>>2]|0,p,k[(k[n>>2]|0)+48>>2]|0,k[(k[n>>2]|0)+52>>2]|0)|0;k[o>>2]=l}if(!(k[o>>2]|0)){l=vn(k[f>>2]|0,p)|0;k[o>>2]=l}if(!(k[o>>2]|0)){k[k[j>>2]>>2]=k[p>>2];k[k[i>>2]>>2]=k[p+64>>2];p=k[n>>2]|0;wn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}k[m>>2]=0;while(1){if((k[m>>2]|0)>=16)break;Ud(k[p+(k[m>>2]<<2)>>2]|0);k[m>>2]=(k[m>>2]|0)+1}p=k[n>>2]|0;wn(p);p=k[g>>2]|0;p=p+20|0;k[p>>2]=0;p=k[o>>2]|0;r=q;return p|0}function qn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;s=t+20|0;p=t+16|0;q=t+12|0;n=t+8|0;o=t+4|0;m=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[s>>2]=0;c=k[g>>2]|0;do if(!(k[i>>2]|0)){Ud(k[c>>2]|0);k[k[g>>2]>>2]=0;k[(k[g>>2]|0)+4>>2]=0}else{if((k[c+44>>2]|0)<0){k[k[g>>2]>>2]=k[i>>2];k[(k[g>>2]|0)+4>>2]=k[j>>2];break}if(!(k[k[g>>2]>>2]|0)){Ud(k[i>>2]|0);break}c=k[k[g>>2]>>2]|0;if((k[(k[g>>2]|0)+44>>2]|0)<(k[h>>2]|0)){k[p>>2]=c;k[n>>2]=k[(k[g>>2]|0)+4>>2];k[q>>2]=k[i>>2];k[o>>2]=k[j>>2];k[m>>2]=(k[h>>2]|0)-(k[(k[g>>2]|0)+44>>2]|0)}else{k[q>>2]=c;k[o>>2]=k[(k[g>>2]|0)+4>>2];k[p>>2]=k[i>>2];k[n>>2]=k[j>>2];k[m>>2]=(k[(k[g>>2]|0)+44>>2]|0)-(k[h>>2]|0)}n=rn(l[(k[f>>2]|0)+231>>0]|0,k[m>>2]|0,k[p>>2]|0,k[n>>2]|0,q,o)|0;k[s>>2]=n;Ud(k[p>>2]|0);k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[o>>2]}while(0);if((k[h>>2]|0)<=(k[(k[g>>2]|0)+44>>2]|0)){s=k[s>>2]|0;r=t;return s|0}k[(k[g>>2]|0)+44>>2]=k[h>>2];s=k[s>>2]|0;r=t;return s|0}function rn(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;C=r;r=r+112|0;g=C+104|0;h=C+100|0;i=C+96|0;D=C+92|0;E=C+88|0;j=C+84|0;l=C+80|0;q=C+32|0;s=C+24|0;u=C+16|0;n=C+76|0;z=C+72|0;A=C+68|0;x=C+64|0;y=C+60|0;w=C+56|0;o=C+52|0;m=C+48|0;t=C+8|0;B=C+44|0;v=C;p=C+40|0;k[h>>2]=a;k[i>>2]=b;k[D>>2]=c;k[E>>2]=d;k[j>>2]=e;k[l>>2]=f;f=q;k[f>>2]=0;k[f+4>>2]=0;f=s;k[f>>2]=0;k[f+4>>2]=0;f=u;k[f>>2]=0;k[f+4>>2]=0;k[n>>2]=k[k[j>>2]>>2];k[z>>2]=(k[D>>2]|0)+(k[E>>2]|0);k[A>>2]=(k[n>>2]|0)+(k[k[l>>2]>>2]|0);k[x>>2]=k[D>>2];k[y>>2]=k[n>>2];k[o>>2]=0;if(k[h>>2]|0){E=Sd((k[k[l>>2]>>2]|0)+10|0)|0;k[m>>2]=E;if(!(k[m>>2]|0)){k[g>>2]=7;E=k[g>>2]|0;r=C;return E|0}}else k[m>>2]=k[n>>2];k[w>>2]=k[m>>2];sn(x,k[z>>2]|0,0,q);sn(y,k[A>>2]|0,0,s);while(1){if(!((k[x>>2]|0)!=0?(k[y>>2]|0)!=0:0))break;E=(k[h>>2]|0)!=0?-1:1;f=q;D=s;D=yR(k[f>>2]|0,k[f+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0;D=KR(E|0,((E|0)<0)<<31>>31|0,D|0,L|0)|0;E=t;k[E>>2]=D;k[E+4>>2]=L;E=t;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))if((k[t+4>>2]|0)<0){lm(0,x);sn(x,k[z>>2]|0,k[h>>2]|0,q);continue}else{lm(0,y);sn(y,k[A>>2]|0,k[h>>2]|0,s);continue}else{k[B>>2]=k[w>>2];f=u;D=k[f+4>>2]|0;E=v;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[p>>2]=k[o>>2];E=q;tn(w,k[h>>2]|0,u,o,k[E>>2]|0,k[E+4>>2]|0);if(!(hn(w,k[i>>2]|0,0,1,x,y)|0)){k[w>>2]=k[B>>2];f=v;D=k[f+4>>2]|0;E=u;k[E>>2]=k[f>>2];k[E+4>>2]=D;k[o>>2]=k[p>>2]}sn(x,k[z>>2]|0,k[h>>2]|0,q);sn(y,k[A>>2]|0,k[h>>2]|0,s);continue}}k[k[l>>2]>>2]=(k[w>>2]|0)-(k[m>>2]|0);if(k[h>>2]|0){Ud(k[n>>2]|0);k[k[j>>2]>>2]=k[m>>2]}k[g>>2]=0;E=k[g>>2]|0;r=C;return E|0}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;e=i+20|0;j=i+16|0;h=i+12|0;g=i+8|0;f=i;k[e>>2]=a;k[j>>2]=b;k[h>>2]=c;k[g>>2]=d;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>>>0>=(k[j>>2]|0)>>>0){k[c>>2]=0;r=i;return}a=gm(k[c>>2]|0,f)|0;e=k[e>>2]|0;k[e>>2]=(k[e>>2]|0)+a;e=f;a=k[e>>2]|0;e=k[e+4>>2]|0;c=k[g>>2]|0;d=c;b=k[d>>2]|0;d=k[d+4>>2]|0;if(k[h>>2]|0){h=yR(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}else{h=zR(b|0,d|0,a|0,e|0)|0;j=c;k[j>>2]=h;k[j+4>>2]=L;r=i;return}}function tn(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,i=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;g=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+8|0;l=m;k[g>>2]=a;k[n>>2]=b;k[h>>2]=c;k[i>>2]=d;a=j;k[a>>2]=e;k[a+4>>2]=f;if((k[n>>2]|0)!=0?(k[k[i>>2]>>2]|0)!=0:0){n=k[h>>2]|0;a=j;a=yR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}else{n=j;a=k[h>>2]|0;a=yR(k[n>>2]|0,k[n+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;n=l;k[n>>2]=a;k[n+4>>2]=L}a=l;a=Sl(k[k[g>>2]>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;c=k[g>>2]|0;k[c>>2]=(k[c>>2]|0)+a;c=j;a=k[c+4>>2]|0;n=k[h>>2]|0;k[n>>2]=k[c>>2];k[n+4>>2]=a;k[k[i>>2]>>2]=1;r=m;return}function un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;f=t+40|0;g=t+36|0;h=t+32|0;i=t+28|0;e=t+24|0;j=t+20|0;o=t+16|0;n=t+12|0;m=t+8|0;p=t+4|0;q=t;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[e>>2]=d;a:do if(!(k[k[h>>2]>>2]|0)){s=Sd((k[e>>2]|0)+10+1|0)|0;k[k[h>>2]>>2]=s;k[(k[h>>2]|0)+64>>2]=k[e>>2];if(k[k[h>>2]>>2]|0){BR(k[k[h>>2]>>2]|0,k[i>>2]|0,k[e>>2]|0)|0;break}k[f>>2]=7;s=k[f>>2]|0;r=t;return s|0}else{k[j>>2]=k[i>>2];k[o>>2]=k[e>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break a;if(!(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)){s=8;break}e=xn(l[(k[g>>2]|0)+231>>0]|0,k[j>>2]|0,k[o>>2]|0,k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]|0,m,p)|0;k[q>>2]=e;e=(k[j>>2]|0)!=(k[i>>2]|0);if(k[q>>2]|0)break;if(e)Ud(k[j>>2]|0);Ud(k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0);k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=0;k[j>>2]=k[m>>2];k[o>>2]=k[p>>2];if(((k[n>>2]|0)+1|0)==16){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2]}k[n>>2]=(k[n>>2]|0)+1}if((s|0)==8){k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]=k[j>>2];k[(k[h>>2]|0)+64+(k[n>>2]<<2)>>2]=k[o>>2];break}if(e)Ud(k[j>>2]|0);k[f>>2]=k[q>>2];s=k[f>>2]|0;r=t;return s|0}while(0);k[f>>2]=0;s=k[f>>2]|0;r=t;return s|0}function vn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;n=r;r=r+48|0;g=n+32|0;c=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;e=n+12|0;f=n+8|0;d=n+4|0;m=n;k[c>>2]=a;k[h>>2]=b;k[i>>2]=0;k[j>>2]=0;k[e>>2]=0;a:while(1){if((k[e>>2]|0)>=16){c=10;break}do if(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0){if(!(k[i>>2]|0)){k[i>>2]=k[(k[h>>2]|0)+(k[e>>2]<<2)>>2];k[j>>2]=k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2];k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;break}b=xn(l[(k[c>>2]|0)+231>>0]|0,k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0,k[(k[h>>2]|0)+64+(k[e>>2]<<2)>>2]|0,k[i>>2]|0,k[j>>2]|0,d,f)|0;k[m>>2]=b;if(k[m>>2]|0){c=7;break a}Ud(k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]|0);Ud(k[i>>2]|0);k[(k[h>>2]|0)+(k[e>>2]<<2)>>2]=0;k[i>>2]=k[d>>2];k[j>>2]=k[f>>2]}while(0);k[e>>2]=(k[e>>2]|0)+1}if((c|0)==7){Ud(k[i>>2]|0);k[g>>2]=k[m>>2];m=k[g>>2]|0;r=n;return m|0}else if((c|0)==10){k[k[h>>2]>>2]=k[i>>2];k[(k[h>>2]|0)+64>>2]=k[j>>2];k[g>>2]=0;m=k[g>>2]|0;r=n;return m|0}return 0}function wn(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Jl(k[c>>2]|0);Ud(k[c>>2]|0);r=b;return}function xn(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;y=r;r=r+96|0;h=y+88|0;i=y+84|0;C=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;j=y+64|0;l=y+60|0;o=y+24|0;p=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;m=y+36|0;n=y+32|0;q=y;k[i>>2]=a;k[C>>2]=b;k[A>>2]=c;k[B>>2]=d;k[z>>2]=e;k[j>>2]=f;k[l>>2]=g;g=o;k[g>>2]=0;k[g+4>>2]=0;g=p;k[g>>2]=0;k[g+4>>2]=0;g=s;k[g>>2]=0;k[g+4>>2]=0;k[w>>2]=(k[C>>2]|0)+(k[A>>2]|0);k[x>>2]=(k[B>>2]|0)+(k[z>>2]|0);k[u>>2]=k[C>>2];k[v>>2]=k[B>>2];k[n>>2]=0;k[k[j>>2]>>2]=0;k[k[l>>2]>>2]=0;g=Sd((k[A>>2]|0)+(k[z>>2]|0)+10-1|0)|0;k[m>>2]=g;if(!(k[m>>2]|0)){k[h>>2]=7;C=k[h>>2]|0;r=y;return C|0}k[t>>2]=k[m>>2];sn(u,k[w>>2]|0,0,o);sn(v,k[x>>2]|0,0,p);while(1){if(!((k[u>>2]|0)!=0?1:(k[v>>2]|0)!=0))break;C=(k[i>>2]|0)!=0?-1:1;A=o;B=p;B=yR(k[A>>2]|0,k[A+4>>2]|0,k[B>>2]|0,k[B+4>>2]|0)|0;B=KR(C|0,((C|0)<0)<<31>>31|0,B|0,L|0)|0;C=q;k[C>>2]=B;k[C+4>>2]=L;C=q;if((k[v>>2]|0)!=0&(k[u>>2]|0)!=0&((k[C>>2]|0)==0&(k[C+4>>2]|0)==0)){C=o;tn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);yn(t,u,v);sn(u,k[w>>2]|0,k[i>>2]|0,o);sn(v,k[x>>2]|0,k[i>>2]|0,p);continue}if((k[v>>2]|0)!=0?!((k[u>>2]|0)!=0&(k[q+4>>2]|0)<0):0){C=p;tn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);lm(t,v);sn(v,k[x>>2]|0,k[i>>2]|0,p);continue}C=o;tn(t,k[i>>2]|0,s,n,k[C>>2]|0,k[C+4>>2]|0);lm(t,u);sn(u,k[w>>2]|0,k[i>>2]|0,o)}k[k[j>>2]>>2]=k[m>>2];k[k[l>>2]>>2]=(k[t>>2]|0)-(k[m>>2]|0);k[h>>2]=0;C=k[h>>2]|0;r=y;return C|0}function yn(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;d=t+56|0;e=t+52|0;f=t+48|0;p=t+44|0;q=t+40|0;s=t+36|0;j=t+32|0;m=t+28|0;g=t+16|0;h=t+8|0;n=t;o=t+24|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[p>>2]=k[k[d>>2]>>2];k[q>>2]=k[k[e>>2]>>2];k[s>>2]=k[k[f>>2]>>2];a:while(1){if((i[k[q>>2]>>0]|0)==0?(i[k[s>>2]>>0]|0)==0:0)break;a=k[q>>2]|0;do if((i[k[q>>2]>>0]|0)==1){b=(k[q>>2]|0)+1|0;if(l[a+1>>0]&128){hm(b,j)|0;break}else{k[j>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[j>>2]=2147483647;break}else{k[j>>2]=0;break}while(0);a=k[s>>2]|0;do if((i[k[s>>2]>>0]|0)==1){b=(k[s>>2]|0)+1|0;if(l[a+1>>0]&128){hm(b,m)|0;break}else{k[m>>2]=l[b>>0];break}}else if(!(i[a>>0]|0)){k[m>>2]=2147483647;break}else{k[m>>2]=0;break}while(0);if((k[j>>2]|0)!=(k[m>>2]|0))if((k[j>>2]|0)<(k[m>>2]|0)){c=zn(p,k[j>>2]|0)|0;k[q>>2]=(k[q>>2]|0)+c;fm(p,q);continue}else{c=zn(p,k[m>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+c;fm(p,s);continue}c=g;k[c>>2]=0;k[c+4>>2]=0;c=h;k[c>>2]=0;k[c+4>>2]=0;c=n;k[c>>2]=0;k[c+4>>2]=0;c=zn(p,k[j>>2]|0)|0;k[o>>2]=c;k[q>>2]=(k[q>>2]|0)+(k[o>>2]|0);k[s>>2]=(k[s>>2]|0)+(k[o>>2]|0);jn(q,g);jn(s,h);while(1){b=g;u=k[b+4>>2]|0;a=h;c=k[a+4>>2]|0;a=(u|0)<(c|0)|((u|0)==(c|0)?(k[b>>2]|0)>>>0<(k[a>>2]|0)>>>0:0);b=g;c=h;kn(p,n,a?k[b>>2]|0:k[c>>2]|0,a?k[b+4>>2]|0:k[c+4>>2]|0);c=n;c=yR(k[c>>2]|0,k[c+4>>2]|0,2,0)|0;b=n;k[b>>2]=c;k[b+4>>2]=L;b=g;c=h;do if(!((k[b>>2]|0)==(k[c>>2]|0)?(k[b+4>>2]|0)==(k[c+4>>2]|0):0)){c=g;a=k[c+4>>2]|0;u=h;b=k[u+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<(k[u>>2]|0)>>>0:0)){An(q,g);break}else{An(s,h);break}}else{An(q,g);An(s,h)}while(0);c=g;u=h;if(!((k[c>>2]|0)!=2147483647|(k[c+4>>2]|0)!=0?1:(k[u>>2]|0)!=2147483647|(k[u+4>>2]|0)!=0))continue a}}u=k[p>>2]|0;k[p>>2]=u+1;i[u>>0]=0;k[k[d>>2]>>2]=k[p>>2];k[k[e>>2]>>2]=(k[q>>2]|0)+1;k[k[f>>2]>>2]=(k[s>>2]|0)+1;r=t;return}function zn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[d>>2]|0)){a=k[e>>2]|0;r=g;return a|0}k[f>>2]=k[k[c>>2]>>2];a=k[d>>2]|0;a=1+(Sl((k[f>>2]|0)+1|0,a,((a|0)<0)<<31>>31)|0)|0;k[e>>2]=a;i[k[f>>2]>>0]=1;k[k[c>>2]>>2]=(k[f>>2]|0)+(k[e>>2]|0);a=k[e>>2]|0;r=g;return a|0}function An(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(i[k[k[c>>2]>>2]>>0]&254){jn(k[c>>2]|0,k[d>>2]|0);a=k[d>>2]|0;b=a;b=yR(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;k[a>>2]=b;k[a+4>>2]=L;r=e;return}else{a=k[d>>2]|0;k[a>>2]=2147483647;k[a+4>>2]=0;r=e;return}}function Bn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;if((i[(k[e>>2]|0)+7>>0]|0)!=0?(k[f>>2]=0,f=Nn(k[e>>2]|0,f)|0,k[g>>2]=f,(k[g>>2]|0)==0):0){f=(k[e>>2]|0)+32|0;We(k[(k[e>>2]|0)+8>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;i[(k[e>>2]|0)+7>>0]=0;if(100==(Ee(k[(k[e>>2]|0)+8>>2]|0)|0)){k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}f=he(k[(k[e>>2]|0)+8>>2]|0)|0;k[g>>2]=f;if((k[g>>2]|0)==0?(k[(k[k[e>>2]>>2]|0)+40>>2]|0)==0:0){k[g>>2]=267;i[(k[e>>2]|0)+6>>0]=1}}if((k[g>>2]|0)!=0&(k[d>>2]|0)!=0)Be(k[d>>2]|0,k[g>>2]|0);k[c>>2]=k[g>>2];g=k[c>>2]|0;r=h;return g|0}function Cn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;v=r;r=r+80|0;b=v+64|0;q=v+60|0;c=v+56|0;d=v;j=v+52|0;i=v+48|0;o=v+44|0;m=v+40|0;s=v+36|0;p=v+32|0;t=v+28|0;h=v+24|0;e=v+20|0;f=v+16|0;g=v+12|0;n=v+8|0;k[b>>2]=a;k[q>>2]=0;if(!(k[(k[b>>2]|0)+24>>2]|0)){u=k[q>>2]|0;r=v;return u|0}k[i>>2]=k[k[b>>2]>>2];k[o>>2]=k[(k[i>>2]|0)+36>>2];k[m>>2]=k[k[o>>2]>>2];w=Oe(k[(k[b>>2]|0)+8>>2]|0,0)|0;a=d;k[a>>2]=w;k[a+4>>2]=L;k[c>>2]=0;while(1){if(!((k[c>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[q>>2]|0)==0:0))break;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[c>>2]|0)>>0]|0)){w=Pe(k[(k[b>>2]|0)+8>>2]|0,(k[c>>2]|0)+1|0)|0;k[s>>2]=w;k[p>>2]=0;w=Kn(k[o>>2]|0,k[(k[b>>2]|0)+16>>2]|0,k[s>>2]|0,-1,p)|0;k[q>>2]=w;a:while(1){if(k[q>>2]|0)break;k[h>>2]=0;k[e>>2]=0;k[f>>2]=0;k[g>>2]=0;w=ac[k[(k[m>>2]|0)+20>>2]&255](k[p>>2]|0,t,h,e,f,g)|0;k[q>>2]=w;k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))continue a;k[n>>2]=k[k[j>>2]>>2];if(!((k[(k[j>>2]|0)+4>>2]|0)<(k[(k[i>>2]|0)+24>>2]|0)?(k[(k[j>>2]|0)+4>>2]|0)!=(k[c>>2]|0):0))u=11;do if((u|0)==11?(u=0,(k[g>>2]|0)==0?1:(k[(k[n>>2]|0)+12>>2]|0)==0):0){if((k[(k[n>>2]|0)+4>>2]|0)!=(k[h>>2]|0)){if(!(k[(k[n>>2]|0)+8>>2]|0))break;if((k[(k[n>>2]|0)+4>>2]|0)>=(k[h>>2]|0))break}if(!(OQ(k[t>>2]|0,k[k[n>>2]>>2]|0,k[(k[n>>2]|0)+4>>2]|0)|0)){x=d;a=k[c>>2]|0;w=k[g>>2]|0;Ln((k[j>>2]|0)+12|0,k[x>>2]|0,k[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,q)|0}}while(0);k[j>>2]=k[(k[j>>2]|0)+8>>2]}}if(k[p>>2]|0)bc[k[(k[m>>2]|0)+16>>2]&255](k[p>>2]|0)|0;if((k[q>>2]|0)==101)k[q>>2]=0}k[c>>2]=(k[c>>2]|0)+1}k[j>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!((k[j>>2]|0)!=0?(k[q>>2]|0)==0:0))break;if(k[(k[j>>2]|0)+12>>2]|0){x=Mn((k[j>>2]|0)+12|0,0,0)|0;k[q>>2]=x}k[j>>2]=k[(k[j>>2]|0)+8>>2]}x=k[q>>2]|0;r=v;return x|0}function Dn(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,m=0,n=0,o=0;o=r;r=r+32|0;j=o+28|0;h=o+24|0;d=o+20|0;n=o+16|0;m=o+12|0;e=o+8|0;f=o+4|0;g=o;k[j>>2]=a;k[h>>2]=b;k[d>>2]=c;k[n>>2]=1;if(k[k[d>>2]>>2]|0){n=k[n>>2]|0;r=o;return n|0}switch(k[k[h>>2]>>2]|0){case 3:case 1:{if((Dn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)!=0?(Dn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0:0)d=(Fn(k[h>>2]|0,k[d>>2]|0)|0)!=0;else d=0;k[n>>2]=d&1;if(k[n>>2]|0){n=k[n>>2]|0;r=o;return n|0}if((k[k[h>>2]>>2]|0)!=1){n=k[n>>2]|0;r=o;return n|0}if((k[(k[h>>2]|0)+8>>2]|0)!=0?(k[k[(k[h>>2]|0)+8>>2]>>2]|0)==1:0){n=k[n>>2]|0;r=o;return n|0}k[m>>2]=k[h>>2];while(1){d=k[m>>2]|0;if(k[(k[m>>2]|0)+20>>2]|0)break;c=(k[d+16>>2]|0)+24|0;h=(k[j>>2]|0)+32|0;if((k[c>>2]|0)==(k[h>>2]|0)?(k[c+4>>2]|0)==(k[h+4>>2]|0):0)bn(k[(k[(k[m>>2]|0)+16>>2]|0)+20>>2]|0);k[m>>2]=k[(k[m>>2]|0)+12>>2]}h=d+24|0;j=(k[j>>2]|0)+32|0;if(!((k[h>>2]|0)==(k[j>>2]|0)?(k[h+4>>2]|0)==(k[j+4>>2]|0):0)){n=k[n>>2]|0;r=o;return n|0}bn(k[(k[m>>2]|0)+20>>2]|0);n=k[n>>2]|0;r=o;return n|0}case 4:{m=Dn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0;k[e>>2]=m;m=Dn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0;k[f>>2]=m;k[n>>2]=((k[e>>2]|0)!=0?1:(k[f>>2]|0)!=0)&1;n=k[n>>2]|0;r=o;return n|0}case 2:{if(Dn(k[j>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[d>>2]|0)|0)d=(Dn(k[j>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[d>>2]|0)|0)!=0^1;else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}default:{do if(k[(k[j>>2]|0)+24>>2]|0){c=(k[h>>2]|0)+24|0;m=(k[j>>2]|0)+32|0;if(!((k[c>>2]|0)==(k[m>>2]|0)?(k[c+4>>2]|0)==(k[m+4>>2]|0):0)?(l[(k[h>>2]|0)+34>>0]|0)==0:0)break;k[g>>2]=k[(k[h>>2]|0)+20>>2];if(i[(k[h>>2]|0)+34>>0]|0)bn(k[g>>2]|0);c=Gn(k[j>>2]|0,k[g>>2]|0)|0;k[k[d>>2]>>2]=c;k[n>>2]=(k[(k[g>>2]|0)+28>>2]|0)!=0&1;c=(k[j>>2]|0)+32|0;j=k[c+4>>2]|0;m=(k[h>>2]|0)+24|0;k[m>>2]=k[c>>2];k[m+4>>2]=j;n=k[n>>2]|0;r=o;return n|0}while(0);if(!(l[(k[h>>2]|0)+32>>0]|0)){m=(k[h>>2]|0)+24|0;d=(k[j>>2]|0)+32|0;d=(k[m>>2]|0)==(k[d>>2]|0)?(k[m+4>>2]|0)==(k[d+4>>2]|0):0}else d=0;k[n>>2]=d&1;n=k[n>>2]|0;r=o;return n|0}}return 0}function En(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[(k[d>>2]|0)+24>>2];while(1){if(!(k[b>>2]|0))break;sl(k[(k[b>>2]|0)+12>>2]|0);k[(k[b>>2]|0)+12>>2]=0;k[b>>2]=k[(k[b>>2]|0)+8>>2]}r=c;return}function Fn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q+44|0;d=q+40|0;p=q+36|0;n=q+32|0;f=q+28|0;i=q+24|0;h=q+20|0;m=q+16|0;g=q+12|0;e=q+8|0;j=q+4|0;o=q;k[c>>2]=a;k[d>>2]=b;k[p>>2]=1;if(k[k[d>>2]>>2]|0){p=k[p>>2]|0;r=q;return p|0}if((k[k[c>>2]>>2]|0)!=1){p=k[p>>2]|0;r=q;return p|0}if(l[(k[c>>2]|0)+32>>0]|0){p=k[p>>2]|0;r=q;return p|0}if((k[(k[c>>2]|0)+8>>2]|0)!=0?(k[k[(k[c>>2]|0)+8>>2]>>2]|0)==1:0){p=k[p>>2]|0;r=q;return p|0}k[f>>2]=0;k[n>>2]=k[c>>2];while(1){a=k[n>>2]|0;if(!(k[(k[n>>2]|0)+12>>2]|0))break;k[f>>2]=(k[f>>2]|0)+(k[(k[(k[a+16>>2]|0)+20>>2]|0)+32>>2]|0);k[n>>2]=k[(k[n>>2]|0)+12>>2]}k[f>>2]=(k[f>>2]|0)+(k[(k[a+20>>2]|0)+32>>2]|0);if(!(k[f>>2]|0)){k[p>>2]=0;p=k[p>>2]|0;r=q;return p|0}f=Sd(k[f>>2]<<1)|0;k[i>>2]=f;a:do if(k[i>>2]|0){k[h>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[n>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];while(1){if(!((k[p>>2]|0)!=0&(k[n>>2]|0)!=0))break;if((k[k[n>>2]>>2]|0)!=1)break;k[g>>2]=k[(k[(k[n>>2]|0)+16>>2]|0)+20>>2];k[e>>2]=k[(k[n>>2]|0)+4>>2];f=In(k[e>>2]|0,k[i>>2]|0,h,m,k[g>>2]|0)|0;k[p>>2]=f;k[n>>2]=k[(k[n>>2]|0)+8>>2]}k[h>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];k[m>>2]=k[(k[(k[(k[c>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];k[n>>2]=k[(k[c>>2]|0)+12>>2];while(1){if(!((k[n>>2]|0)!=0?(k[p>>2]|0)!=0:0))break a;k[j>>2]=k[(k[(k[n>>2]|0)+8>>2]|0)+4>>2];a=k[n>>2]|0;if((k[k[n>>2]>>2]|0)==1)a=k[(k[a+16>>2]|0)+20>>2]|0;else a=k[a+20>>2]|0;k[o>>2]=a;g=In(k[j>>2]|0,k[i>>2]|0,h,m,k[o>>2]|0)|0;k[p>>2]=g;k[n>>2]=k[(k[n>>2]|0)+12>>2]}}else{k[k[d>>2]>>2]=7;k[p>>2]=0}while(0);Ud(k[i>>2]|0);p=k[p>>2]|0;r=q;return p|0}function Gn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+80|0;l=y+76|0;m=y+72|0;n=y+68|0;d=y+64|0;p=y+60|0;u=y+56|0;q=y+52|0;j=y+48|0;h=y+44|0;i=y+40|0;e=y+36|0;x=y+32|0;c=y+28|0;f=y+24|0;g=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;o=y;k[m>>2]=a;k[n>>2]=b;k[p>>2]=0;k[u>>2]=0;k[q>>2]=-1;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+64>>2]|0)){a=14;break}k[j>>2]=(k[n>>2]|0)+72+((k[d>>2]|0)*24|0);k[h>>2]=k[(k[j>>2]|0)+16>>2];if(k[h>>2]|0){b=Hn(k[h>>2]|0,i,e)|0;k[x>>2]=b;if(k[x>>2]|0){a=5;break}b=k[p>>2]|0;if(!(k[i>>2]|0)){a=7;break}a=k[i>>2]|0;if(b){k[c>>2]=a;k[f>>2]=k[p>>2];k[g>>2]=k[c>>2];hn(c,(k[d>>2]|0)-(k[q>>2]|0)|0,0,1,f,g)|0;Ud(k[p>>2]|0);k[p>>2]=k[i>>2];k[u>>2]=(k[c>>2]|0)-(k[p>>2]|0);if(!(k[u>>2]|0)){a=11;break}}else{k[p>>2]=a;k[u>>2]=k[e>>2]}k[q>>2]=k[d>>2]}k[d>>2]=(k[d>>2]|0)+1}if((a|0)==5){k[l>>2]=k[x>>2];x=k[l>>2]|0;r=y;return x|0}else if((a|0)==7){Ud(b);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==11){Ud(k[p>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0;k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}else if((a|0)==14){do if((k[q>>2]|0)>=0){k[t>>2]=k[(k[n>>2]|0)+44>>2];if((k[t>>2]|0)<0){k[(k[n>>2]|0)+28>>2]=k[p>>2];k[(k[n>>2]|0)+32>>2]=k[u>>2];v=(k[m>>2]|0)+32|0;w=k[v+4>>2]|0;x=(k[n>>2]|0)+16|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;k[(k[n>>2]|0)+24>>2]=1;break}if((k[t>>2]|0)>(k[q>>2]|0)){k[v>>2]=k[p>>2];k[w>>2]=k[(k[n>>2]|0)+28>>2];k[s>>2]=(k[t>>2]|0)-(k[q>>2]|0)}else{k[v>>2]=k[(k[n>>2]|0)+28>>2];k[w>>2]=k[p>>2];k[s>>2]=(k[q>>2]|0)-(k[t>>2]|0)}x=Sd((k[u>>2]|0)+8|0)|0;k[o>>2]=x;if(!(k[o>>2]|0)){Ud(k[p>>2]|0);k[l>>2]=7;x=k[l>>2]|0;r=y;return x|0}k[(k[n>>2]|0)+28>>2]=k[o>>2];if(hn(o,k[s>>2]|0,0,1,v,w)|0){k[(k[n>>2]|0)+24>>2]=1;k[(k[n>>2]|0)+32>>2]=(k[o>>2]|0)-(k[(k[n>>2]|0)+28>>2]|0)}else{Ud(k[o>>2]|0);k[(k[n>>2]|0)+28>>2]=0;k[(k[n>>2]|0)+32>>2]=0}Ud(k[p>>2]|0)}while(0);k[l>>2]=0;x=k[l>>2]|0;r=y;return x|0}return 0}function Hn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+28|0;e=j+24|0;f=j+20|0;g=j+16|0;i=j+12|0;h=j+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[k[f>>2]>>2]=0;k[k[g>>2]>>2]=0;if(!(k[(k[e>>2]|0)+12>>2]|0)){k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}b=Sd(k[k[(k[e>>2]|0)+12>>2]>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){b=gm(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0,j)|0;k[h>>2]=b;k[k[g>>2]>>2]=(k[k[(k[e>>2]|0)+12>>2]>>2]|0)-(k[h>>2]|0);k[k[f>>2]>>2]=k[i>>2];BR(k[i>>2]|0,(k[(k[(k[e>>2]|0)+12>>2]|0)+4>>2]|0)+(k[h>>2]|0)|0,k[k[g>>2]>>2]|0)|0;k[d>>2]=0;b=k[d>>2]|0;r=j;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=j;return b|0}return 0}function In(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;m=r;r=r+48|0;s=m+40|0;q=m+36|0;f=m+32|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;i=m+12|0;n=m+8|0;j=m+4|0;l=m;k[s>>2]=a;k[q>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[p>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+64>>2]|0);k[o>>2]=(k[s>>2]|0)+(k[k[g>>2]>>2]|0);d=k[(k[h>>2]|0)+28>>2]|0;k[j>>2]=d;k[n>>2]=d;d=Jn(j,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[f>>2]|0,n)|0;k[l>>2]=d;if(!(k[l>>2]|0)){s=k[l>>2]|0;r=m;return s|0}k[i>>2]=(k[j>>2]|0)-(k[(k[h>>2]|0)+28>>2]|0)-1;DR((k[(k[h>>2]|0)+28>>2]|0)+(k[i>>2]|0)|0,0,(k[(k[h>>2]|0)+32>>2]|0)-(k[i>>2]|0)|0)|0;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[k[f>>2]>>2]=k[(k[h>>2]|0)+28>>2];k[k[g>>2]>>2]=k[(k[h>>2]|0)+64>>2];s=k[l>>2]|0;r=m;return s|0}function Jn(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;n=r;r=r+48|0;g=n+44|0;h=n+40|0;u=n+36|0;q=n+32|0;o=n+28|0;p=n+24|0;t=n+20|0;s=n+16|0;j=n+12|0;l=n+8|0;i=n+4|0;m=n;k[g>>2]=a;k[h>>2]=b;k[u>>2]=c;k[q>>2]=d;k[o>>2]=e;k[p>>2]=f;k[t>>2]=k[k[o>>2]>>2];k[s>>2]=k[k[p>>2]>>2];k[j>>2]=k[h>>2];k[m>>2]=1;hn(j,k[u>>2]|0,0,0,k[o>>2]|0,k[p>>2]|0)|0;f=k[j>>2]|0;k[l>>2]=f;k[i>>2]=f;k[k[o>>2]>>2]=k[t>>2];k[k[p>>2]>>2]=k[s>>2];hn(l,k[q>>2]|0,1,0,k[p>>2]|0,k[o>>2]|0)|0;if((k[j>>2]|0)!=(k[h>>2]|0)?(k[l>>2]|0)!=(k[i>>2]|0):0){yn(k[g>>2]|0,h,i);u=k[m>>2]|0;r=n;return u|0}if((k[j>>2]|0)!=(k[h>>2]|0)){lm(k[g>>2]|0,h);u=k[m>>2]|0;r=n;return u|0}if((k[l>>2]|0)!=(k[i>>2]|0)){lm(k[g>>2]|0,i);u=k[m>>2]|0;r=n;return u|0}else{k[m>>2]=0;u=k[m>>2]|0;r=n;return u|0}return 0}function Kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0;m=r;r=r+32|0;f=m+28|0;g=m+24|0;o=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;i=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[o>>2]=c;k[n>>2]=d;k[h>>2]=e;k[j>>2]=k[k[f>>2]>>2];k[i>>2]=0;c=ec[k[(k[j>>2]|0)+12>>2]&255](k[f>>2]|0,k[o>>2]|0,k[n>>2]|0,i)|0;k[l>>2]=c;if(((k[l>>2]|0)==0?(k[k[i>>2]>>2]=k[f>>2],(k[k[j>>2]>>2]|0)>=1):0)?(o=gc[k[(k[j>>2]|0)+24>>2]&255](k[i>>2]|0,k[g>>2]|0)|0,k[l>>2]=o,(k[l>>2]|0)!=0):0){bc[k[(k[j>>2]|0)+16>>2]&255](k[i>>2]|0)|0;k[i>>2]=0}k[k[h>>2]>>2]=k[i>>2];r=m;return k[l>>2]|0}function Ln(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;l=u+48|0;m=u+44|0;n=u+24|0;o=u+16|0;i=u+8|0;j=u+40|0;q=u+36|0;s=u+32|0;p=u;k[m>>2]=a;a=n;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;a=i;k[a>>2]=f;k[a+4>>2]=g;k[j>>2]=h;k[q>>2]=k[k[m>>2]>>2];k[s>>2]=0;if((k[q>>2]|0)!=0?(h=(k[q>>2]|0)+16|0,a=n,!((k[h>>2]|0)!=(k[a>>2]|0)?1:(k[h+4>>2]|0)!=(k[a+4>>2]|0))):0)t=9;else{b=n;if(k[q>>2]|0){d=(k[q>>2]|0)+16|0;c=k[d>>2]|0;d=k[d+4>>2]|0}else{c=0;d=0}h=yR(k[b>>2]|0,k[b+4>>2]|0,c|0,d|0)|0;a=p;k[a>>2]=h;k[a+4>>2]=L;if(k[q>>2]|0){a=k[q>>2]|0;k[a>>2]=(k[a>>2]|0)+1}p=Mn(q,k[p>>2]|0,k[p+4>>2]|0)|0;k[s>>2]=p;if(!p){p=(k[q>>2]|0)+24|0;k[p>>2]=-1;k[p+4>>2]=-1;p=(k[q>>2]|0)+32|0;k[p>>2]=0;k[p+4>>2]=0;p=k[n+4>>2]|0;t=(k[q>>2]|0)+16|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=9}}do if((t|0)==9){t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>0?(p=(k[q>>2]|0)+24|0,t=o,(k[p>>2]|0)!=(k[t>>2]|0)?1:(k[p+4>>2]|0)!=(k[t+4>>2]|0)):0){t=Mn(q,1,0)|0;k[s>>2]=t;if(t)break;t=o;t=Mn(q,k[t>>2]|0,k[t+4>>2]|0)|0;k[s>>2]=t;if(t)break;n=o;p=k[n+4>>2]|0;t=(k[q>>2]|0)+24|0;k[t>>2]=k[n>>2];k[t+4>>2]=p;t=(k[q>>2]|0)+32|0;k[t>>2]=0;k[t+4>>2]=0}t=o;p=k[t+4>>2]|0;if((p|0)>0|(p|0)==0&(k[t>>2]|0)>>>0>=0?(p=i,p=zR(2,0,k[p>>2]|0,k[p+4>>2]|0)|0,t=(k[q>>2]|0)+32|0,t=yR(p|0,L|0,k[t>>2]|0,k[t+4>>2]|0)|0,t=Mn(q,t,L)|0,k[s>>2]=t,(k[s>>2]|0)==0):0){o=i;p=k[o+4>>2]|0;t=(k[q>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=p}}while(0);k[k[j>>2]>>2]=k[s>>2];if((k[q>>2]|0)!=(k[k[m>>2]>>2]|0)){k[k[m>>2]>>2]=k[q>>2];k[l>>2]=1;t=k[l>>2]|0;r=u;return t|0}else{k[l>>2]=0;t=k[l>>2]|0;r=u;return t|0}return 0}function Mn(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;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j;h=j+12|0;g=j+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=k[k[e>>2]>>2];do if(k[h>>2]|0){if(((k[k[h>>2]>>2]|0)+10+1|0)>(k[(k[h>>2]|0)+8>>2]|0)){k[g>>2]=k[(k[h>>2]|0)+8>>2]<<1;a=Vd(k[h>>2]|0,40+(k[g>>2]|0)|0)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=k[g>>2];k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;break}Ud(k[k[e>>2]>>2]|0);k[k[e>>2]>>2]=0;k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}}else{a=Sd(140)|0;k[h>>2]=a;if(k[h>>2]|0){k[(k[h>>2]|0)+8>>2]=100;k[(k[h>>2]|0)+4>>2]=(k[h>>2]|0)+40;k[k[h>>2]>>2]=0;break}k[d>>2]=7;a=k[d>>2]|0;r=j;return a|0}while(0);g=f;g=Sl((k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)|0,k[g>>2]|0,k[g+4>>2]|0)|0;a=k[h>>2]|0;k[a>>2]=(k[a>>2]|0)+g;i[(k[(k[h>>2]|0)+4>>2]|0)+(k[k[h>>2]>>2]|0)>>0]=0;k[k[e>>2]>>2]=k[h>>2];k[d>>2]=0;a=k[d>>2]|0;r=j;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j;c=j+24|0;d=j+20|0;e=j+16|0;g=j+12|0;f=j+8|0;i=j+4|0;k[d>>2]=a;k[e>>2]=b;k[g>>2]=0;do if(!(k[(k[d>>2]|0)+8>>2]|0)){k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+216>>2];h=Yd(23849,h)|0;k[i>>2]=h;if(k[i>>2]|0){h=lf(k[(k[f>>2]|0)+12>>2]|0,k[i>>2]|0,-1,(k[d>>2]|0)+8|0,0)|0;k[g>>2]=h;Ud(k[i>>2]|0);break}k[c>>2]=7;i=k[c>>2]|0;r=j;return i|0}while(0);k[k[e>>2]>>2]=k[(k[d>>2]|0)+8>>2];k[c>>2]=k[g>>2];i=k[c>>2]|0;r=j;return i|0}function On(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=k[k[e>>2]>>2];if((k[i>>2]|0)==5){c=Yb[k[g>>2]&255](k[e>>2]|0,k[k[f>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[f>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[j>>2]|0;r=l;return c|0}c=On(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;if(!((k[j>>2]|0)==0&(k[i>>2]|0)!=2)){c=k[j>>2]|0;r=l;return c|0}c=On(k[(k[e>>2]|0)+16>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;c=k[j>>2]|0;r=l;return c|0}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;h=j+8|0;i=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];k[i>>2]=0;if((l[(k[e>>2]|0)+34>>0]|0|0)!=0?(k[k[(k[e>>2]|0)+8>>2]>>2]|0)!=1:0){k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[d>>2]|0)+64>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}b=Qn(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=b;if(k[i>>2]|0){i=k[i>>2]|0;r=j;return i|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[(k[h>>2]|0)+24>>2]|0))break;k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+1<<2)>>2];k[(k[f>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2]=k[(k[(k[e>>2]|0)+40>>2]|0)+(((k[g>>2]|0)*3|0)+2<<2)>>2];k[g>>2]=(k[g>>2]|0)+1}i=k[i>>2]|0;r=j;return i|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+64|0;d=s+44|0;e=s+40|0;c=s+36|0;p=s+32|0;o=s+28|0;n=s+24|0;j=s+20|0;h=s+8|0;g=s;f=s+48|0;m=s+16|0;k[e>>2]=a;k[c>>2]=b;k[p>>2]=0;do if(!(k[(k[c>>2]|0)+40>>2]|0)){k[o>>2]=k[k[e>>2]>>2];t=(k[e>>2]|0)+32|0;a=k[t+4>>2]|0;b=h;k[b>>2]=k[t>>2];k[b+4>>2]=a;k[n>>2]=k[c>>2];while(1){if(k[(k[n>>2]|0)+8>>2]|0)c=(k[k[(k[n>>2]|0)+8>>2]>>2]|0)==1;else c=0;a=k[n>>2]|0;if(!c)break;k[n>>2]=k[a+8>>2]}a=a+24|0;b=k[a+4>>2]|0;t=g;k[t>>2]=k[a>>2];k[t+4>>2]=b;i[f>>0]=i[(k[n>>2]|0)+32>>0]|0;k[j>>2]=k[n>>2];while(1){if(!(k[j>>2]|0))break;c=k[j>>2]|0;if((k[k[j>>2]>>2]|0)!=5)c=k[c+16>>2]|0;k[m>>2]=c;t=Sd((k[(k[o>>2]|0)+24>>2]|0)*3<<2)|0;k[(k[m>>2]|0)+40>>2]=t;if(!(k[(k[m>>2]|0)+40>>2]|0)){q=12;break}DR(k[(k[m>>2]|0)+40>>2]|0,0,(k[(k[o>>2]|0)+24>>2]|0)*3<<2|0)|0;k[j>>2]=k[(k[j>>2]|0)+12>>2]}if((q|0)==12){k[d>>2]=7;t=k[d>>2]|0;r=s;return t|0}_m(k[e>>2]|0,k[n>>2]|0,p);while(1){if(!((l[(k[e>>2]|0)+6>>0]|0)==0?(k[p>>2]|0)==0:0))break;do{if(!(l[(k[e>>2]|0)+7>>0]|0))he(k[(k[e>>2]|0)+8>>2]|0)|0;$m(k[e>>2]|0,k[n>>2]|0,p);i[(k[e>>2]|0)+6>>0]=i[(k[n>>2]|0)+32>>0]|0;i[(k[e>>2]|0)+7>>0]=1;k[(k[e>>2]|0)+88>>2]=1;o=(k[n>>2]|0)+24|0;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(l[(k[e>>2]|0)+6>>0]|0)break;if((k[k[n>>2]>>2]|0)!=1)break}while((Wm(k[e>>2]|0,p)|0)!=0);if(k[p>>2]|0)continue;if(l[(k[e>>2]|0)+6>>0]|0)continue;Rn(k[n>>2]|0)}i[(k[e>>2]|0)+6>>0]=0;o=h;q=k[o+4>>2]|0;t=(k[e>>2]|0)+32|0;k[t>>2]=k[o>>2];k[t+4>>2]=q;if(i[f>>0]|0){i[(k[n>>2]|0)+32>>0]=i[f>>0]|0;break}_m(k[e>>2]|0,k[n>>2]|0,p);do{$m(k[e>>2]|0,k[n>>2]|0,p);q=(k[n>>2]|0)+24|0;t=g}while(((k[q>>2]|0)!=(k[t>>2]|0)?1:(k[q+4>>2]|0)!=(k[t+4>>2]|0))?(k[p>>2]|0)==0:0)}while(0);k[d>>2]=k[p>>2];t=k[d>>2]|0;r=s;return t|0}function Rn(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;b=h+12|0;f=h+8|0;g=h+4|0;d=h+20|0;e=h;k[c>>2]=a;if(!(k[c>>2]|0)){r=h;return}k[b>>2]=k[(k[c>>2]|0)+20>>2];a:do if((k[b>>2]|0)!=0?(k[(k[b>>2]|0)+28>>2]|0)!=0:0){k[f>>2]=0;k[g>>2]=k[(k[b>>2]|0)+28>>2];while(1){i[d>>0]=0;k[e>>2]=0;while(1){if(!(254&(i[k[g>>2]>>0]|l[d>>0])))break;if(!(l[d>>0]&128))k[e>>2]=(k[e>>2]|0)+1;b=k[g>>2]|0;k[g>>2]=b+1;i[d>>0]=i[b>>0]&128}b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+1<<2)|0;k[b>>2]=(k[b>>2]|0)+(k[e>>2]|0);b=(k[(k[c>>2]|0)+40>>2]|0)+(((k[f>>2]|0)*3|0)+2<<2)|0;k[b>>2]=(k[b>>2]|0)+((k[e>>2]|0)>0&1);if(!(i[k[g>>2]>>0]|0))break a;k[g>>2]=(k[g>>2]|0)+1;a=k[g>>2]|0;if(l[k[g>>2]>>0]&128)a=hm(a,f)|0;else{k[f>>2]=l[a>>0];a=1}k[g>>2]=(k[g>>2]|0)+a}}while(0);Rn(k[(k[c>>2]|0)+12>>2]|0);Rn(k[(k[c>>2]|0)+16>>2]|0);r=h;return}function Sn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;o=n+28|0;c=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;g=n+8|0;d=n+4|0;f=n;k[o>>2]=a;k[c>>2]=b;k[j>>2]=k[k[k[c>>2]>>2]>>2];k[h>>2]=k[(k[o>>2]|0)+20>>2];k[g>>2]=k[(k[h>>2]|0)+28>>2];k[d>>2]=0;b=k[(k[o>>2]|0)+36>>2]|0;a=k[(k[c>>2]|0)+4>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){o=ha(b,a)|0;k[e>>2]=o}else{o=ha(b,(a+31|0)/32|0)|0;k[e>>2]=o}while(1){o=Zm(g)|0;k[f>>2]=o;if(!((k[(k[h>>2]|0)+68>>2]|0)<(k[(k[j>>2]|0)+24>>2]|0)?(k[(k[h>>2]|0)+68>>2]|0)!=(k[d>>2]|0):0))m=6;do if((m|0)==6){m=0;b=k[f>>2]|0;if((i[(k[c>>2]|0)+24>>0]|0)==121){k[(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(k[d>>2]|0)<<2)>>2]=b;break}if(b){o=(k[(k[c>>2]|0)+28>>2]|0)+((k[e>>2]|0)+(((k[d>>2]|0)+1|0)/32|0)<<2)|0;k[o>>2]=k[o>>2]|1<<(k[d>>2]&31)}}while(0);if((i[k[g>>2]>>0]|0)!=1)break;k[g>>2]=(k[g>>2]|0)+1;b=k[g>>2]|0;if(l[k[g>>2]>>0]&128)b=hm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}k[g>>2]=(k[g>>2]|0)+b}r=n;return}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;h=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[h>>2]=c;k[f>>2]=k[h>>2];k[(k[f>>2]|0)+(k[e>>2]<<4)>>2]=k[g>>2];r=d;return 0}function Un(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+32|0;b=f+16|0;d=f+12|0;c=f;e=f+8|0;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+8>>2];k[e>>2]=0;g=gm(k[d>>2]|0,c)|0;k[d>>2]=(k[d>>2]|0)+g;g=c;a=c;if((k[g>>2]|0)==0&(k[g+4>>2]|0)==0|(k[a>>2]|0)==1&(k[a+4>>2]|0)==0){k[d>>2]=0;k[e>>2]=1;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}else{a=c;a=yR(k[a>>2]|0,k[a+4>>2]|0,2,0)|0;g=(k[b>>2]|0)+12|0;k[g>>2]=(k[g>>2]|0)+a;d=k[d>>2]|0;g=k[b>>2]|0;g=g+8|0;k[g>>2]=d;g=k[e>>2]|0;r=f;return g|0}return 0}function Vn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=r;r=r+32|0;i=e+20|0;h=e+12|0;d=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[e+16>>2]=b;k[h>>2]=c;k[d>>2]=0;k[f>>2]=k[(k[i>>2]|0)+20>>2];k[g>>2]=k[h>>2];a=(k[g>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)+1;a=(k[g>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)+(k[(k[f>>2]|0)+64>>2]|0);r=e;return k[d>>2]|0}function Wn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;g=i+12|0;h=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=xl(k[j>>2]|0,21,g,0)|0;k[h>>2]=d;do if(!(k[h>>2]|0)){j=e;We(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;j=Ee(k[g>>2]|0)|0;k[h>>2]=j;if((k[h>>2]|0)==100?(Re(k[g>>2]|0,0)|0)==4:0){k[h>>2]=0;break}j=he(k[g>>2]|0)|0;k[h>>2]=j;k[h>>2]=(k[h>>2]|0)==0?267:j;k[g>>2]=0}while(0);k[k[f>>2]>>2]=k[g>>2];r=i;return k[h>>2]|0}function Xn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=xl(k[g>>2]|0,22,d,0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){Ve(k[d>>2]|0,1,0)|0;if((Ee(k[d>>2]|0)|0)==100?(Re(k[d>>2]|0,0)|0)==4:0)break;g=he(k[d>>2]|0)|0;k[e>>2]=g;k[e>>2]=(k[e>>2]|0)==0?267:g;k[d>>2]=0}while(0);k[k[c>>2]>>2]=k[d>>2];r=f;return k[e>>2]|0}function Yn(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=(k[d>>2]|0)+(0-(k[(k[d>>2]|0)+-4>>2]|0));a=k[b>>2]|0;if((k[d>>2]|0)==((k[b>>2]|0)+16+4|0))i[a+1>>0]=0;else i[a+2>>0]=0;if(l[k[b>>2]>>0]|0){r=c;return}if(l[(k[b>>2]|0)+1>>0]|0){r=c;return}if(l[(k[b>>2]|0)+2>>0]|0){r=c;return}Ud(k[b>>2]|0);r=c;return}function Zn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;f=d+4|0;g=d;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;k[a>>2]=(k[a>>2]|0)+1;k[(k[e>>2]|0)+36>>2]=k[f>>2];r=d;return 0}function _n(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;a=kf(k[(k[b>>2]|0)+12>>2]|0,23977,0,0,0)|0;k[c>>2]=a;do if(!(k[c>>2]|0)){a=$n(k[b>>2]|0,1)|0;k[c>>2]=a;a=k[(k[b>>2]|0)+12>>2]|0;if(!((k[c>>2]|0)==0|(k[c>>2]|0)==101)){kf(a,24005,0,0,0)|0;kf(k[(k[b>>2]|0)+12>>2]|0,23992,0,0,0)|0;break}a=kf(a,23992,0,0,0)|0;k[d>>2]=a;if(k[d>>2]|0)k[c>>2]=k[d>>2]}while(0);Gm(k[b>>2]|0);r=e;return k[c>>2]|0}function $n(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;h=l+12|0;j=l+8|0;f=l+4|0;g=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;k[h>>2]=0;a=xl(k[c>>2]|0,27,h,0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){Ve(k[h>>2]|0,1,k[(k[c>>2]|0)+272>>2]|0)|0;Ve(k[h>>2]|0,2,k[(k[c>>2]|0)+248>>2]|0)|0;a:while(1){a=(Ee(k[h>>2]|0)|0)==100;b=k[h>>2]|0;if(!a)break;a=Ne(b,0)|0;k[g>>2]=a;k[f>>2]=0;while(1){if(k[i>>2]|0)continue a;if((k[f>>2]|0)>=(k[(k[c>>2]|0)+248>>2]|0))continue a;a=wl(k[c>>2]|0,k[g>>2]|0,k[f>>2]|0,-2)|0;k[i>>2]=a;if((k[i>>2]|0)==101){k[e>>2]=1;k[i>>2]=0}k[f>>2]=(k[f>>2]|0)+1}}h=he(b)|0;k[j>>2]=h;if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}Gm(k[c>>2]|0);rl(k[c>>2]|0);r=l;return ((k[i>>2]|0)==0&(k[d>>2]|0)!=0&(k[e>>2]|0)!=0?101:k[i>>2]|0)|0}function ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+208|0;y=C+32|0;c=C+132|0;d=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;q=C+112|0;j=C+108|0;B=C+96|0;x=C;s=C+92|0;f=C+88|0;e=C+84|0;o=C+80|0;m=C+76|0;l=C+72|0;z=C+68|0;p=C+64|0;h=C+60|0;n=C+56|0;w=C+52|0;u=C+48|0;g=C+136|0;k[c>>2]=a;k[d>>2]=b;k[v>>2]=k[k[d>>2]>>2];k[t>>2]=k[k[(k[v>>2]|0)+36>>2]>>2];k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;if(!(k[(k[d>>2]|0)+12>>2]|0)){xe(k[c>>2]|0,19010,0,0);r=C;return};k[x>>2]=0;k[x+4>>2]=0;k[x+8>>2]=0;k[x+12>>2]=0;k[x+16>>2]=0;k[x+20>>2]=0;k[x+24>>2]=0;k[x+28>>2]=0;a=Rm(k[d>>2]|0,0,q)|0;k[A>>2]=a;a:do if(!(k[A>>2]|0)){a=Sd((k[q>>2]|0)*12|0)|0;k[x+24>>2]=a;if(!(k[x+24>>2]|0)){k[A>>2]=7;break}D=(k[d>>2]|0)+32|0;b=k[D+4>>2]|0;a=x+16|0;k[a>>2]=k[D>>2];k[a+4>>2]=b;k[x>>2]=k[d>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[(k[v>>2]|0)+24>>2]|0))break a;k[e>>2]=0;k[o>>2]=0;k[m>>2]=0;k[l>>2]=0;k[x+4>>2]=k[j>>2];k[x+8>>2]=0;Vm(k[(k[d>>2]|0)+12>>2]|0,158,x)|0;D=Pe(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[z>>2]=D;D=Le(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0;k[p>>2]=D;if(!(k[z>>2]|0)){if((Re(k[(k[d>>2]|0)+8>>2]|0,(k[j>>2]|0)+1|0)|0)!=5)break}else{D=Kn(k[(k[v>>2]|0)+36>>2]|0,k[(k[d>>2]|0)+16>>2]|0,k[z>>2]|0,k[p>>2]|0,s)|0;k[A>>2]=D;if(k[A>>2]|0)break a;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D;while(1){if(k[A>>2]|0)break;k[n>>2]=2147483647;k[w>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[q>>2]|0))break;k[u>>2]=(k[x+24>>2]|0)+((k[h>>2]|0)*12|0);if((k[k[u>>2]>>2]|0)!=0?((k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0)|0)<(k[n>>2]|0):0){k[n>>2]=(k[(k[u>>2]|0)+4>>2]|0)-(k[(k[u>>2]|0)+8>>2]|0);k[w>>2]=k[u>>2]}k[h>>2]=(k[h>>2]|0)+1}if(!(k[w>>2]|0)){k[A>>2]=101;continue}b=k[w>>2]|0;if(!(254&i[k[k[w>>2]>>2]>>0]))k[b>>2]=0;else co(b,(k[w>>2]|0)+4|0);while(1){if(k[A>>2]|0)break;if((k[l>>2]|0)>=(k[n>>2]|0))break;D=ac[k[(k[t>>2]|0)+20>>2]&255](k[s>>2]|0,f,e,o,m,l)|0;k[A>>2]=D}if(!(k[A>>2]|0)){b=((k[w>>2]|0)-(k[x+24>>2]|0)|0)/12|0;a=k[o>>2]|0;D=(k[m>>2]|0)-(k[o>>2]|0)|0;k[y>>2]=k[j>>2];k[y+4>>2]=b;k[y+8>>2]=a;k[y+12>>2]=D;_d(64,g,24022,y)|0;D=eo(B,g,-1)|0;k[A>>2]=D;continue}if((k[A>>2]|0)!=101)continue;if(k[(k[v>>2]|0)+40>>2]|0)continue;k[A>>2]=267}if((k[A>>2]|0)==101)k[A>>2]=0;bc[k[(k[t>>2]|0)+16>>2]&255](k[s>>2]|0)|0;if(k[A>>2]|0)break a}k[j>>2]=(k[j>>2]|0)+1}k[A>>2]=7}while(0);Ud(k[x+24>>2]|0);Gm(k[v>>2]|0);b=k[c>>2]|0;if(k[A>>2]|0){Be(b,k[A>>2]|0);Ud(k[B>>2]|0);r=C;return}else{xe(b,k[B>>2]|0,(k[B+4>>2]|0)-1|0,148);r=C;return}}function bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;l=r;r=r+48|0;m=l+36|0;n=l+28|0;g=l+24|0;f=l+20|0;e=l+16|0;h=l+12|0;d=l+8|0;j=l+4|0;i=l;k[m>>2]=a;k[l+32>>2]=b;k[n>>2]=c;k[g>>2]=k[n>>2];k[d>>2]=0;a=Ym(k[k[g>>2]>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+4>>2]|0,h)|0;k[j>>2]=a;k[f>>2]=k[(k[(k[m>>2]|0)+20>>2]|0)+64>>2];if(k[h>>2]|0)co(h,d);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;m=(k[g>>2]|0)+8|0;n=k[m>>2]|0;k[m>>2]=n+1;k[i>>2]=(k[(k[g>>2]|0)+24>>2]|0)+(n*12|0);k[(k[i>>2]|0)+8>>2]=(k[f>>2]|0)-(k[e>>2]|0)-1;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[d>>2];k[e>>2]=(k[e>>2]|0)+1}r=l;return k[j>>2]|0}function co(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;b=k[k[c>>2]>>2]|0;if((l[k[k[c>>2]>>2]>>0]|0)&128)b=hm(b,e)|0;else{k[e>>2]=l[b>>0];b=1}c=k[c>>2]|0;k[c>>2]=(k[c>>2]|0)+b;d=k[d>>2]|0;k[d>>2]=(k[d>>2]|0)+((k[e>>2]|0)-2);r=f;return}function eo(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,l=0;l=r;r=r+32|0;d=l+20|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[g>>2]|0)<0){b=UQ(k[f>>2]|0)|0;k[g>>2]=b}do if(((k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]|0)+1|0)>=(k[(k[e>>2]|0)+8>>2]|0)){k[h>>2]=(k[(k[e>>2]|0)+8>>2]|0)+(k[g>>2]|0)+100;b=Vd(k[k[e>>2]>>2]|0,k[h>>2]|0)|0;k[j>>2]=b;if(k[j>>2]|0){k[k[e>>2]>>2]=k[j>>2];k[(k[e>>2]|0)+8>>2]=k[h>>2];break}k[d>>2]=7;j=k[d>>2]|0;r=l;return j|0}while(0);BR((k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)|0,k[f>>2]|0,k[g>>2]|0)|0;j=(k[e>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+(k[g>>2]|0);i[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}function fo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+224|0;h=G+212|0;i=G+208|0;j=G+204|0;l=G+200|0;m=G+196|0;n=G+192|0;o=G+188|0;B=G+184|0;E=G+180|0;q=G+176|0;F=G+164|0;z=G+160|0;p=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[B>>2]=k[k[i>>2]>>2];k[E>>2]=0;k[F>>2]=0;k[F+4>>2]=0;k[F+8>>2]=0;k[z>>2]=0;k[y>>2]=-1;if(!(k[(k[i>>2]|0)+12>>2]|0)){xe(k[h>>2]|0,19010,0,0);r=G;return}k[z>>2]=1;a:while(1){f=w;k[f>>2]=0;k[f+4>>2]=0;f=x;k[f>>2]=0;k[f+4>>2]=0;f=k[o>>2]|0;if((k[o>>2]|0)>=0)k[y>>2]=(f+(k[z>>2]|0)-1|0)/(k[z>>2]|0)|0;else{c=ha(-1,f)|0;k[y>>2]=c}k[v>>2]=0;while(1){if((k[v>>2]|0)>=(k[z>>2]|0))break;k[s>>2]=-1;k[A>>2]=p+((k[v>>2]|0)*24|0);c=k[A>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[t>>2]=0;while(1){if((k[t>>2]|0)>=(k[(k[B>>2]|0)+24>>2]|0))break;k[C>>2]=0;k[C+4>>2]=0;k[C+8>>2]=0;k[C+12>>2]=0;k[C+16>>2]=0;k[C+20>>2]=0;k[u>>2]=0;if(!((k[n>>2]|0)>=0?(k[t>>2]|0)!=(k[n>>2]|0):0)){c=w;c=go(k[y>>2]|0,k[i>>2]|0,k[t>>2]|0,k[c>>2]|0,k[c+4>>2]|0,x,C,u)|0;k[E>>2]=c;if(k[E>>2]|0)break a;if((k[u>>2]|0)>(k[s>>2]|0)){c=k[A>>2]|0;k[c>>2]=k[C>>2];k[c+4>>2]=k[C+4>>2];k[c+8>>2]=k[C+8>>2];k[c+12>>2]=k[C+12>>2];k[c+16>>2]=k[C+16>>2];k[c+20>>2]=k[C+20>>2];k[s>>2]=k[u>>2]}}k[t>>2]=(k[t>>2]|0)+1}e=(k[A>>2]|0)+8|0;a=w;d=k[a+4>>2]|k[e+4>>2];c=w;k[c>>2]=k[a>>2]|k[e>>2];k[c+4>>2]=d;k[v>>2]=(k[v>>2]|0)+1}d=x;c=w;if(((k[d>>2]|0)==(k[c>>2]|0)?(k[d+4>>2]|0)==(k[c+4>>2]|0):0)|(k[z>>2]|0)==4){D=20;break}k[z>>2]=(k[z>>2]|0)+1}b:do if((D|0)==20){k[q>>2]=0;while(1){if(!((k[q>>2]|0)<(k[z>>2]|0)?(k[E>>2]|0)==0:0))break b;D=ho(k[i>>2]|0,p+((k[q>>2]|0)*24|0)|0,k[q>>2]|0,(k[q>>2]|0)==((k[z>>2]|0)-1|0)&1,k[y>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,F)|0;k[E>>2]=D;k[q>>2]=(k[q>>2]|0)+1}}while(0);Gm(k[B>>2]|0);f=k[h>>2]|0;if(k[E>>2]|0){Be(f,k[E>>2]|0);Ud(k[F>>2]|0);r=G;return}else{xe(f,k[F>>2]|0,-1,148);r=G;return}}function go(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=r;r=r+112|0;i=C+104|0;j=C+100|0;l=C+96|0;m=C+92|0;n=C+16|0;o=C+88|0;p=C+84|0;q=C+80|0;A=C+76|0;z=C+72|0;B=C+48|0;y=C+40|0;t=C+36|0;s=C+32|0;u=C+28|0;v=C+24|0;w=C+8|0;x=C;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[o>>2]=f;k[p>>2]=g;k[q>>2]=h;k[t>>2]=-1;k[B>>2]=0;k[B+4>>2]=0;k[B+8>>2]=0;k[B+12>>2]=0;k[B+16>>2]=0;k[B+20>>2]=0;f=Rm(k[l>>2]|0,z,0)|0;k[A>>2]=f;if(k[A>>2]|0){k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}k[y>>2]=(k[z>>2]|0)*24;f=Sd(k[y>>2]|0)|0;k[B+16>>2]=f;if(!(k[B+16>>2]|0)){k[i>>2]=7;B=k[i>>2]|0;r=C;return B|0}DR(k[B+16>>2]|0,0,k[y>>2]|0)|0;k[B>>2]=k[l>>2];k[B+4>>2]=k[m>>2];k[B+8>>2]=k[j>>2];k[B+12>>2]=k[z>>2];k[B+20>>2]=-1;f=Vm(k[(k[l>>2]|0)+12>>2]|0,159,B)|0;k[A>>2]=f;if(!(k[A>>2]|0)){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[z>>2]|0))break;if(k[(k[B+16>>2]|0)+((k[s>>2]|0)*24|0)+12>>2]|0){g=ER(1,0,k[s>>2]|0)|0;f=k[o>>2]|0;b=f;h=k[b+4>>2]|L;k[f>>2]=k[b>>2]|g;k[f+4>>2]=h}k[s>>2]=(k[s>>2]|0)+1}k[k[p>>2]>>2]=k[m>>2];while(1){if(!((ko(B)|0)!=0^1))break;f=n;lo(B,k[f>>2]|0,k[f+4>>2]|0,u,v,w,x);if((k[v>>2]|0)<=(k[t>>2]|0))continue;k[(k[p>>2]|0)+4>>2]=k[u>>2];f=x;h=k[f+4>>2]|0;g=(k[p>>2]|0)+16|0;k[g>>2]=k[f>>2];k[g+4>>2]=h;g=w;h=k[g+4>>2]|0;f=(k[p>>2]|0)+8|0;k[f>>2]=k[g>>2];k[f+4>>2]=h;k[t>>2]=k[v>>2]}k[k[q>>2]>>2]=k[t>>2]}Ud(k[B+16>>2]|0);k[i>>2]=k[A>>2];B=k[i>>2]|0;r=C;return B|0}function ho(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0;N=r;r=r+128|0;j=N+112|0;l=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;s=N+80|0;t=N+76|0;I=N+72|0;J=N+68|0;K=N+64|0;F=N+60|0;y=N+56|0;z=N+52|0;D=N+48|0;B=N+44|0;w=N;O=N+40|0;H=N+36|0;G=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;C=N+12|0;E=N+8|0;k[l>>2]=a;k[P>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=i;k[I>>2]=k[k[l>>2]>>2];k[y>>2]=0;k[z>>2]=0;k[D>>2]=0;k[B>>2]=k[(k[P>>2]|0)+4>>2];f=(k[P>>2]|0)+16|0;d=k[f+4>>2]|0;c=w;k[c>>2]=k[f>>2];k[c+4>>2]=d;k[O>>2]=(k[k[P>>2]>>2]|0)+1;c=Pe(k[(k[l>>2]|0)+8>>2]|0,k[O>>2]|0)|0;k[K>>2]=c;c=k[(k[l>>2]|0)+8>>2]|0;d=k[O>>2]|0;if(!(k[K>>2]|0))if((Re(c,d)|0)!=5){k[j>>2]=7;P=k[j>>2]|0;r=N;return P|0}else{k[j>>2]=0;P=k[j>>2]|0;r=N;return P|0}P=Le(c,d)|0;k[F>>2]=P;k[H>>2]=k[k[(k[I>>2]|0)+36>>2]>>2];P=Kn(k[(k[I>>2]|0)+36>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[K>>2]|0,k[F>>2]|0,G)|0;k[J>>2]=P;if(k[J>>2]|0){k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}while(1){if(k[J>>2]|0)break;k[u>>2]=-1;k[x>>2]=0;k[A>>2]=0;k[C>>2]=0;P=ac[k[(k[H>>2]|0)+20>>2]&255](k[G>>2]|0,v,u,x,A,y)|0;k[J>>2]=P;if(k[J>>2]|0){M=9;break}if((k[y>>2]|0)<(k[B>>2]|0))continue;if(!(k[D>>2]|0)){k[E>>2]=(k[F>>2]|0)-(k[x>>2]|0);P=io(k[I>>2]|0,k[(k[l>>2]|0)+16>>2]|0,k[o>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,k[E>>2]|0,B,w)|0;k[J>>2]=P;k[D>>2]=1;do if(!(k[J>>2]|0)){if((k[B>>2]|0)>0|(k[m>>2]|0)>0){P=eo(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P;break}if(k[x>>2]|0){P=eo(k[t>>2]|0,k[K>>2]|0,k[x>>2]|0)|0;k[J>>2]=P}}while(0);if(k[J>>2]|0)continue;if((k[y>>2]|0)<(k[B>>2]|0))continue}if((k[y>>2]|0)>=((k[B>>2]|0)+(k[o>>2]|0)|0)){M=21;break}P=w;f=k[P>>2]|0;P=k[P+4>>2]|0;O=ER(1,0,(k[y>>2]|0)-(k[B>>2]|0)|0)|0;k[C>>2]=((f&O|0)!=0|(P&L|0)!=0)&1;if((k[y>>2]|0)>(k[B>>2]|0)){P=eo(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,(k[x>>2]|0)-(k[z>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=eo(k[t>>2]|0,k[p>>2]|0,-1)|0;k[J>>2]=P}if(!(k[J>>2]|0)){P=eo(k[t>>2]|0,(k[K>>2]|0)+(k[x>>2]|0)|0,(k[A>>2]|0)-(k[x>>2]|0)|0)|0;k[J>>2]=P}if((k[J>>2]|0)==0&(k[C>>2]|0)!=0){P=eo(k[t>>2]|0,k[q>>2]|0,-1)|0;k[J>>2]=P}k[z>>2]=k[A>>2]}if((M|0)==9){if((k[J>>2]|0)==101){P=eo(k[t>>2]|0,(k[K>>2]|0)+(k[z>>2]|0)|0,-1)|0;k[J>>2]=P}}else if((M|0)==21?(k[n>>2]|0)!=0:0){P=eo(k[t>>2]|0,k[s>>2]|0,-1)|0;k[J>>2]=P}bc[k[(k[H>>2]|0)+16>>2]&255](k[G>>2]|0)|0;k[j>>2]=k[J>>2];P=k[j>>2]|0;r=N;return P|0}function io(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;w=E+84|0;h=E+80|0;i=E+76|0;x=E+72|0;j=E+68|0;l=E+64|0;y=E+60|0;z=E+56|0;A=E;s=E+52|0;t=E+48|0;q=E+44|0;C=E+40|0;B=E+36|0;D=E+32|0;v=E+28|0;u=E+24|0;p=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;k[h>>2]=a;k[i>>2]=b;k[x>>2]=c;k[j>>2]=d;k[l>>2]=e;k[y>>2]=f;k[z>>2]=g;a=k[z>>2]|0;f=k[a+4>>2]|0;d=A;k[d>>2]=k[a>>2];k[d+4>>2]=f;d=A;do if((k[d>>2]|0)!=0|(k[d+4>>2]|0)!=0){k[s>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=ER(1,0,k[s>>2]|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[s>>2]=(k[s>>2]|0)+1}k[t>>2]=0;while(1){d=A;a=k[d>>2]|0;d=k[d+4>>2]|0;f=ER(1,0,(k[x>>2]|0)-1-(k[t>>2]|0)|0)|0;if(!(((a&f|0)!=0|(d&L|0)!=0)^1))break;k[t>>2]=(k[t>>2]|0)+1}k[q>>2]=((k[s>>2]|0)-(k[t>>2]|0)|0)/2|0;if((k[q>>2]|0)>0){k[B>>2]=0;k[v>>2]=k[k[(k[h>>2]|0)+36>>2]>>2];d=Kn(k[(k[h>>2]|0)+36>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0,u)|0;k[D>>2]=d;if(k[D>>2]|0){k[w>>2]=k[D>>2];D=k[w>>2]|0;r=E;return D|0}while(1){if(k[D>>2]|0)break;if((k[B>>2]|0)>=((k[x>>2]|0)+(k[q>>2]|0)|0))break;k[m>>2]=0;k[n>>2]=0;k[o>>2]=0;d=ac[k[(k[v>>2]|0)+20>>2]&255](k[u>>2]|0,p,m,n,o,B)|0;k[D>>2]=d}bc[k[(k[v>>2]|0)+16>>2]&255](k[u>>2]|0)|0;h=k[D>>2]|0;if((k[D>>2]|0)!=0&(k[D>>2]|0)!=101){k[w>>2]=h;D=k[w>>2]|0;r=E;return D|0}else{k[C>>2]=((h|0)==101&1)+(k[B>>2]|0)-(k[x>>2]|0);if((k[C>>2]|0)<=0)break;D=k[y>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[C>>2]|0);D=A;C=AR(k[D>>2]|0,k[D+4>>2]|0,k[C>>2]|0)|0;D=k[z>>2]|0;k[D>>2]=C;k[D+4>>2]=L;break}}}while(0);k[w>>2]=0;D=k[w>>2]|0;r=E;return D|0}function jo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;h=r;r=r+32|0;j=h+28|0;l=h+24|0;m=h+20|0;i=h+16|0;f=h+12|0;e=h+8|0;g=h+4|0;d=h;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[i>>2]=k[m>>2];k[f>>2]=(k[(k[i>>2]|0)+16>>2]|0)+((k[l>>2]|0)*24|0);k[k[f>>2]>>2]=k[(k[(k[j>>2]|0)+20>>2]|0)+64>>2];a=Ym(k[k[i>>2]>>2]|0,k[j>>2]|0,k[(k[i>>2]|0)+4>>2]|0,e)|0;k[g>>2]=a;if(!(k[e>>2]|0)){m=k[g>>2]|0;r=h;return m|0}k[d>>2]=0;k[(k[f>>2]|0)+4>>2]=k[e>>2];co(e,d);k[(k[f>>2]|0)+12>>2]=k[e>>2];k[(k[f>>2]|0)+20>>2]=k[e>>2];k[(k[f>>2]|0)+8>>2]=k[d>>2];k[(k[f>>2]|0)+16>>2]=k[d>>2];m=k[g>>2]|0;r=h;return m|0}function ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;d=j+20|0;g=j+16|0;f=j+12|0;e=j+8|0;h=j+4|0;i=j;k[c>>2]=a;a:do if((k[(k[c>>2]|0)+20>>2]|0)<0){k[(k[c>>2]|0)+20>>2]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[g>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);mo((k[g>>2]|0)+12|0,(k[g>>2]|0)+8|0,k[(k[c>>2]|0)+8>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}else{k[e>>2]=2147483647;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break;k[h>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[h>>2]|0)+8>>2]|0)<(k[e>>2]|0):0)k[e>>2]=k[(k[h>>2]|0)+8>>2];k[d>>2]=(k[d>>2]|0)+1}if((k[e>>2]|0)==2147483647){k[b>>2]=1;i=k[b>>2]|0;r=j;return i|0}h=(k[e>>2]|0)-(k[(k[c>>2]|0)+8>>2]|0)+1|0;k[f>>2]=h;k[(k[c>>2]|0)+20>>2]=h;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+12>>2]|0))break a;k[i>>2]=(k[(k[c>>2]|0)+16>>2]|0)+((k[d>>2]|0)*24|0);mo((k[i>>2]|0)+12|0,(k[i>>2]|0)+8|0,(k[e>>2]|0)+1|0);mo((k[i>>2]|0)+20|0,(k[i>>2]|0)+16|0,k[f>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=0;i=k[b>>2]|0;r=j;return i|0}function lo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+96|0;h=B+84|0;j=B+32|0;l=B+80|0;m=B+76|0;n=B+72|0;o=B+68|0;t=B+64|0;s=B+60|0;p=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;q=B+44|0;u=B+40|0;x=B+8|0;y=B;k[h>>2]=a;a=j;k[a>>2]=b;k[a+4>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=g;k[t>>2]=k[(k[h>>2]|0)+20>>2];k[s>>2]=0;g=v;k[g>>2]=0;k[g+4>>2]=0;g=w;k[g>>2]=0;k[g+4>>2]=0;k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[h>>2]|0)+12>>2]|0))break;k[A>>2]=(k[(k[h>>2]|0)+16>>2]|0)+((k[p>>2]|0)*24|0);a:do if(k[(k[A>>2]|0)+20>>2]|0){k[z>>2]=k[(k[A>>2]|0)+20>>2];k[q>>2]=k[(k[A>>2]|0)+16>>2];while(1){if((k[q>>2]|0)>=((k[t>>2]|0)+(k[(k[h>>2]|0)+8>>2]|0)|0))break a;d=ER(1,0,k[p>>2]|0)|0;f=x;k[f>>2]=d;k[f+4>>2]=L;f=ER(1,0,(k[q>>2]|0)-(k[t>>2]|0)|0)|0;d=y;k[d>>2]=f;k[d+4>>2]=L;d=v;f=j;g=x;b=k[s>>2]|0;if(((k[d>>2]|k[f>>2])&k[g>>2]|0)!=0?1:((k[d+4>>2]|k[f+4>>2])&k[g+4>>2]|0)!=0)k[s>>2]=b+1;else k[s>>2]=b+1e3;d=x;e=v;f=k[e+4>>2]|k[d+4>>2];g=v;k[g>>2]=k[e>>2]|k[d>>2];k[g+4>>2]=f;k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[A>>2]>>2]|0))break;d=y;d=AR(k[d>>2]|0,k[d+4>>2]|0,k[u>>2]|0)|0;e=w;f=k[e+4>>2]|L;g=w;k[g>>2]=k[e>>2]|d;k[g+4>>2]=f;k[u>>2]=(k[u>>2]|0)+1}if(!(i[k[z>>2]>>0]&254))break a;co(z,q)}}while(0);k[p>>2]=(k[p>>2]|0)+1}k[k[l>>2]>>2]=k[t>>2];k[k[m>>2]>>2]=k[s>>2];A=v;z=k[A+4>>2]|0;y=k[n>>2]|0;k[y>>2]=k[A>>2];k[y+4>>2]=z;y=w;z=k[y+4>>2]|0;A=k[o>>2]|0;k[A>>2]=k[y>>2];k[A+4>>2]=z;r=B;return}function mo(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,l=0;l=r;r=r+32|0;d=l+16|0;e=l+12|0;f=l+8|0;h=l+4|0;g=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];if(!(k[h>>2]|0)){r=l;return}k[g>>2]=k[k[e>>2]>>2];while(1){if((k[g>>2]|0)>=(k[f>>2]|0))break;if(!(i[k[h>>2]>>0]&254)){j=5;break}co(h,g)}if((j|0)==5){k[g>>2]=-1;k[h>>2]=0}k[k[e>>2]>>2]=k[g>>2];k[k[d>>2]>>2]=k[h>>2];r=l;return}function no(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[d>>2]=0;k[e>>2]=0;b=xl(k[h>>2]|0,36,e,0)|0;k[f>>2]=b;if(k[f>>2]|0){b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}if(100==(Ee(k[e>>2]|0)|0)){h=Ne(k[e>>2]|0,0)|0;k[d>>2]=h}b=he(k[e>>2]|0)|0;k[f>>2]=b;b=k[d>>2]|0;h=k[c>>2]|0;k[h>>2]=b;h=k[f>>2]|0;r=g;return h|0}function oo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=r;r=r+128|0;d=C+112|0;e=C+108|0;D=C+104|0;f=C+100|0;A=C+96|0;u=C+92|0;w=C+88|0;x=C+84|0;z=C+80|0;v=C+76|0;m=C+16|0;j=C+64|0;g=C+60|0;t=C+8|0;y=C+52|0;i=C+48|0;o=C+44|0;p=C+40|0;n=C;q=C+36|0;h=C+32|0;B=C+28|0;s=C+24|0;k[e>>2]=a;k[D>>2]=b;k[f>>2]=c;k[u>>2]=k[D>>2];k[v>>2]=0;a=m;k[a>>2]=0;k[a+4>>2]=0;k[j>>2]=0;k[j+4>>2]=0;k[j+8>>2]=0;k[g>>2]=0;k[C+56>>2]=640;a=Sd(640)|0;k[z>>2]=a;if(!(k[z>>2]|0)){k[d>>2]=7;D=k[d>>2]|0;r=C;return D|0}k[x>>2]=(k[z>>2]|0)+568;k[w>>2]=(k[x>>2]|0)+16;D=po(k[e>>2]|0,j)|0;k[A>>2]=D;while(1){if(!((k[A>>2]|0)==0?(k[u>>2]|0)>0:0))break;a=k[(k[e>>2]|0)+248>>2]<<10;D=t;k[D>>2]=a;k[D+4>>2]=((a|0)<0)<<31>>31;k[y>>2]=0;k[i>>2]=0;k[o>>2]=0;D=xl(k[e>>2]|0,28,y,0)|0;k[A>>2]=D;Ve(k[y>>2]|0,1,2>(k[f>>2]|0)?2:k[f>>2]|0)|0;if((Ee(k[y>>2]|0)|0)==100){a=Oe(k[y>>2]|0,0)|0;D=m;k[D>>2]=a;k[D+4>>2]=L;D=Ne(k[y>>2]|0,1)|0;k[v>>2]=D}else k[v>>2]=-1;D=he(k[y>>2]|0)|0;k[A>>2]=D;do if((k[A>>2]|0)==0?(k[j+4>>2]|0)!=0:0){k[p>>2]=k[j+4>>2];D=n;k[D>>2]=0;k[D+4>>2]=0;k[q>>2]=0;D=qo(j,n,q)|0;k[A>>2]=D;if((k[v>>2]|0)>=0?(b=m,a=t,a=JR(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,c=n,D=t,D=JR(k[c>>2]|0,k[c+4>>2]|0,k[D>>2]|0,k[D+4>>2]|0)|0,c=L,!((b|0)>(c|0)|(b|0)==(c|0)&a>>>0>=D>>>0)):0){k[j+4>>2]=k[p>>2];break}c=n;a=k[c+4>>2]|0;D=m;k[D>>2]=k[c>>2];k[D+4>>2]=a;k[v>>2]=k[q>>2];k[i>>2]=1;k[g>>2]=1}while(0);if((k[v>>2]|0)<0)break;DR(k[z>>2]|0,0,640)|0;k[(k[x>>2]|0)+12>>2]=1;do if(!(k[A>>2]|0)){D=m;D=ro(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,o)|0;k[A>>2]=D;if((k[o>>2]|0)!=0?!((k[i>>2]|0)!=0&(k[o>>2]|0)==1):0)break;k[h>>2]=0;a=k[e>>2]|0;D=m;D=zR(k[D>>2]|0,k[D+4>>2]|0,1,0)|0;D=so(a,D,L,h)|0;k[A>>2]=D;if(k[h>>2]|0){D=(k[x>>2]|0)+12|0;k[D>>2]=k[D>>2]|2}}while(0);if(!(k[A>>2]|0)){D=m;D=to(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if(((0==(k[A>>2]|0)?(k[(k[w>>2]|0)+4>>2]|0)==(k[v>>2]|0):0)?(D=Cl(k[e>>2]|0,k[w>>2]|0,k[x>>2]|0)|0,k[A>>2]=D,0==(D|0)):0)?(D=Dl(k[e>>2]|0,k[w>>2]|0)|0,k[A>>2]=D,100==(D|0)):0){if((k[i>>2]|0)!=0&(k[o>>2]|0)>0){k[B>>2]=k[(k[w>>2]|0)+40>>2];k[s>>2]=k[(k[w>>2]|0)+44>>2];D=m;D=uo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,(k[o>>2]|0)-1|0,k[B>>2]|0,k[s>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}else{D=m;D=vo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[o>>2]|0,k[w>>2]|0,k[z>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==0?(k[k[z>>2]>>2]|0)!=0:0){do{D=wo(k[e>>2]|0,k[z>>2]|0,k[w>>2]|0)|0;k[A>>2]=D;if(!(k[A>>2]|0)){D=Dl(k[e>>2]|0,k[w>>2]|0)|0;k[A>>2]=D}if((k[A>>2]|0)==100?(k[(k[z>>2]|0)+4>>2]|0)>=(k[u>>2]|0):0)k[A>>2]=0}while((k[A>>2]|0)==100);if((k[A>>2]|0)==0?(k[u>>2]=(k[u>>2]|0)-(1+(k[(k[z>>2]|0)+4>>2]|0)),D=m,D=xo(k[e>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[w>>2]|0,v)|0,k[A>>2]=D,(k[v>>2]|0)!=0):0){k[g>>2]=1;D=m;yo(j,k[D>>2]|0,k[D+4>>2]|0,k[v>>2]|0,A)}}if(k[v>>2]|0){a=(k[z>>2]|0)+40|0;a=KR(k[a>>2]|0,k[a+4>>2]|0,-1,-1)|0;D=(k[z>>2]|0)+40|0;k[D>>2]=a;k[D+4>>2]=L}zo(k[e>>2]|0,k[z>>2]|0,A);if((k[v>>2]|0)==0?(l[(k[z>>2]|0)+48>>0]|0|0)==0:0){c=k[e>>2]|0;a=m;a=zR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;D=(k[z>>2]|0)+40|0;Hl(c,a,L,k[D>>2]|0,k[D+4>>2]|0)|0}}Jl(k[w>>2]|0)}if((k[g>>2]|0)!=0&(k[A>>2]|0)==0){D=Ao(k[e>>2]|0,j)|0;k[A>>2]=D}Ud(k[z>>2]|0);Ud(k[j>>2]|0);k[d>>2]=k[A>>2];D=k[d>>2]|0;r=C;return D|0}function po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+24|0;c=i+20|0;f=i+16|0;g=i+12|0;h=i+8|0;d=i+4|0;e=i;k[j>>2]=a;k[c>>2]=b;k[f>>2]=0;k[(k[c>>2]|0)+4>>2]=0;b=xl(k[j>>2]|0,22,f,0)|0;k[g>>2]=b;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}Ve(k[f>>2]|0,1,1)|0;if((100==(Ee(k[f>>2]|0)|0)?(j=Ke(k[f>>2]|0,0)|0,k[d>>2]=j,j=Le(k[f>>2]|0,0)|0,k[e>>2]=j,(k[d>>2]|0)!=0):0)?(Bo(k[c>>2]|0,k[e>>2]|0,g),(k[g>>2]|0)==0):0){BR(k[k[c>>2]>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[(k[c>>2]|0)+4>>2]=k[e>>2]}j=he(k[f>>2]|0)|0;k[h>>2]=j;if(k[g>>2]|0){j=k[g>>2]|0;r=i;return j|0}k[g>>2]=k[h>>2];j=k[g>>2]|0;r=i;return j|0}function qo(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,m=0;m=r;r=r+32|0;g=m+20|0;e=m+16|0;d=m+12|0;f=m+8|0;j=m+4|0;h=m;k[e>>2]=a;k[d>>2]=b;k[f>>2]=c;k[j>>2]=k[(k[e>>2]|0)+4>>2];k[h>>2]=(k[(k[e>>2]|0)+4>>2]|0)-2;while(1){if((k[h>>2]|0)<=0)break;if(!(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128))break;k[h>>2]=(k[h>>2]|0)+-1}while(1){if((k[h>>2]|0)>0)b=(i[(k[k[e>>2]>>2]|0)+((k[h>>2]|0)-1)>>0]&128|0)!=0;else b=0;a=k[h>>2]|0;if(!b)break;k[h>>2]=a+-1}k[(k[e>>2]|0)+4>>2]=a;a=gm((k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0,k[d>>2]|0)|0;k[h>>2]=(k[h>>2]|0)+a;a=(k[k[e>>2]>>2]|0)+(k[h>>2]|0)|0;if(l[(k[k[e>>2]>>2]|0)+(k[h>>2]|0)>>0]&128)a=hm(a,k[f>>2]|0)|0;else{k[k[f>>2]>>2]=l[a>>0];a=1}k[h>>2]=(k[h>>2]|0)+a;if((k[h>>2]|0)!=(k[j>>2]|0)){k[g>>2]=267;j=k[g>>2]|0;r=m;return j|0}else{k[g>>2]=0;j=k[g>>2]|0;r=m;return j|0}return 0}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;d=xl(k[j>>2]|0,8,g,0)|0;k[h>>2]=d;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}d=k[g>>2]|0;j=e;j=zR(k[j>>2]|0,k[j+4>>2]|0,1,0)|0;We(d,1,j,L)|0;Ee(k[g>>2]|0)|0;j=Ne(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=j;j=he(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function so(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;k[g>>2]=d;d=xl(k[l>>2]|0,15,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){k[e>>2]=k[i>>2];l=k[e>>2]|0;r=j;return l|0}l=k[h>>2]|0;i=f;i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0;We(l,1,i,L)|0;i=k[h>>2]|0;l=f;l=IR(k[l>>2]|0,k[l+4>>2]|0,1024,0)|0;l=zR(l|0,L|0,1,0)|0;l=KR(l|0,L|0,1024,0)|0;We(i,2,l,L)|0;k[k[g>>2]>>2]=0;if(100==(Ee(k[h>>2]|0)|0)){l=(Re(k[h>>2]|0,0)|0)==5&1;k[k[g>>2]>>2]=l}l=he(k[h>>2]|0)|0;k[e>>2]=l;l=k[e>>2]|0;r=j;return l|0}function to(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;f=p+36|0;g=p;h=p+32|0;i=p+28|0;n=p+24|0;m=p+20|0;l=p+16|0;j=p+12|0;o=p+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;b=k[i>>2]|0;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[l>>2]=k[h>>2]<<2;e=Sd(k[l>>2]|0)|0;k[k[i>>2]>>2]=e;if(!(k[k[i>>2]>>2]|0))k[n>>2]=7;else{DR(k[k[i>>2]>>2]|0,0,k[l>>2]|0)|0;l=xl(k[f>>2]|0,12,m,0)|0;k[n>>2]=l}if(k[n>>2]|0){o=k[n>>2]|0;r=p;return o|0}l=g;We(k[m>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;k[j>>2]=0;while(1){if(k[n>>2]|0)break;if((Ee(k[m>>2]|0)|0)!=100)break;if((k[j>>2]|0)>=(k[h>>2]|0))break;q=k[j>>2]|0;b=Oe(k[m>>2]|0,1)|0;c=L;d=Oe(k[m>>2]|0,2)|0;a=L;e=Oe(k[m>>2]|0,3)|0;f=L;g=Ke(k[m>>2]|0,4)|0;l=Le(k[m>>2]|0,4)|0;l=wm(q,0,b,c,d,a,e,f,g,l,(k[k[i>>2]>>2]|0)+(k[j>>2]<<2)|0)|0;k[n>>2]=l;l=(k[i>>2]|0)+4|0;k[l>>2]=(k[l>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+1}q=he(k[m>>2]|0)|0;k[o>>2]=q;if(k[n>>2]|0){q=k[n>>2]|0;r=p;return q|0}k[n>>2]=k[o>>2];q=k[n>>2]|0;r=p;return q|0}function uo(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+208|0;y=J+200|0;z=J+196|0;h=J+120|0;j=J+192|0;l=J+188|0;m=J+184|0;A=J+180|0;G=J+176|0;F=J+172|0;s=J+112|0;q=J+104|0;p=J+96|0;v=J+168|0;x=J+164|0;H=J+160|0;o=J+156|0;n=J+152|0;t=J+148|0;u=J+48|0;C=J+144|0;w=J+140|0;E=J+136|0;I=J;B=J+132|0;D=J+128|0;k[z>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[A>>2]=g;k[F>>2]=0;e=xl(k[z>>2]|0,32,F,0)|0;k[G>>2]=e;if(!(k[G>>2]|0)){b=s;k[b>>2]=0;k[b+4>>2]=0;b=q;k[b>>2]=0;k[b+4>>2]=0;b=p;k[b>>2]=0;k[b+4>>2]=0;k[v>>2]=0;k[x>>2]=0;k[o>>2]=0;b=k[F>>2]|0;e=h;e=zR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;We(b,1,e,L)|0;Ve(k[F>>2]|0,2,k[j>>2]|0)|0;e=(Ee(k[F>>2]|0)|0)==100;b=k[F>>2]|0;if(!e){I=he(b)|0;k[y>>2]=I;I=k[y>>2]|0;r=J;return I|0}e=Oe(b,1)|0;g=s;k[g>>2]=e;k[g+4>>2]=L;g=Oe(k[F>>2]|0,2)|0;e=q;k[e>>2]=g;k[e+4>>2]=L;Ml(k[F>>2]|0,3,p,(k[A>>2]|0)+40|0);if((k[(k[A>>2]|0)+40+4>>2]|0)<0){g=(k[A>>2]|0)+40|0;g=KR(k[g>>2]|0,k[g+4>>2]|0,-1,-1)|0;e=(k[A>>2]|0)+40|0;k[e>>2]=g;k[e+4>>2]=L}e=(k[A>>2]|0)+40|0;i[(k[A>>2]|0)+48>>0]=(k[e>>2]|0)==0&(k[e+4>>2]|0)==0&1;e=Le(k[F>>2]|0,4)|0;k[x>>2]=e;e=Ke(k[F>>2]|0,4)|0;k[v>>2]=e;e=p;e=No(k[z>>2]|0,k[e>>2]|0,k[e+4>>2]|0,o)|0;k[G>>2]=e;if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[n>>2]=0;k[t>>2]=0;q=om(k[z>>2]|0,k[q>>2]|0,k[q+4>>2]|0,n,t,0)|0;k[G>>2]=q;if(!(k[G>>2]|0)){t=Go(u,k[n>>2]|0,k[t>>2]|0)|0;k[G>>2]=t;while(1){if(!((k[G>>2]|0)==0?(k[u>>2]|0)!=0:0))break;t=Ko(u)|0;k[G>>2]=t}if((Ho(k[l>>2]|0,k[m>>2]|0,k[u+24>>2]|0,k[u+24+4>>2]|0)|0)<=0)k[o>>2]=0;Lo(u)}Ud(k[n>>2]|0)}a:do if((k[G>>2]|0)==0&(k[o>>2]|0)!=0){k[w>>2]=i[k[v>>2]>>0];u=p;t=s;t=yR(k[u>>2]|0,k[u+4>>2]|0,k[t>>2]|0,k[t+4>>2]|0)|0;t=zR(t|0,L|0,1,0)|0;k[k[A>>2]>>2]=(t|0)/16|0;t=k[s+4>>2]|0;u=(k[A>>2]|0)+24|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;u=p;t=k[u+4>>2]|0;s=(k[A>>2]|0)+32|0;k[s>>2]=k[u>>2];k[s+4>>2]=t;s=h;t=k[s+4>>2]|0;u=(k[A>>2]|0)+8|0;k[u>>2]=k[s>>2];k[u+4>>2]=t;k[(k[A>>2]|0)+16>>2]=k[j>>2];k[C>>2]=(k[w>>2]|0)+1;while(1){if((k[C>>2]|0)>=16)break;u=(k[A>>2]|0)+24|0;t=ha(k[C>>2]|0,k[k[A>>2]>>2]|0)|0;t=zR(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(k[A>>2]|0)+56+(k[C>>2]<<5)|0;k[u>>2]=t;k[u+4>>2]=L;k[C>>2]=(k[C>>2]|0)+1}k[E>>2]=(k[A>>2]|0)+56+(k[w>>2]<<5);u=(k[A>>2]|0)+24|0;t=ha(k[k[A>>2]>>2]|0,k[w>>2]|0)|0;t=zR(k[u>>2]|0,k[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=k[E>>2]|0;k[u>>2]=t;k[u+4>>2]=L;if((k[x>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[x>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Bo((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){BR(k[(k[E>>2]|0)+20>>2]|0,k[v>>2]|0,k[x>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[x>>2]}k[C>>2]=k[w>>2];while(1){if(!((k[C>>2]|0)>=0?(k[G>>2]|0)==0:0))break a;k[E>>2]=(k[A>>2]|0)+56+(k[C>>2]<<5);x=Go(I,k[(k[E>>2]|0)+20>>2]|0,k[(k[E>>2]|0)+20+4>>2]|0)|0;k[G>>2]=x;while(1){if(!((k[I>>2]|0)!=0?(k[G>>2]|0)==0:0))break;x=Ko(I)|0;k[G>>2]=x}Bo((k[E>>2]|0)+8|0,k[I+24+4>>2]|0,G);if((k[G>>2]|0)==0?(BR(k[(k[E>>2]|0)+8>>2]|0,k[I+24>>2]|0,k[I+24+4>>2]|0)|0,k[(k[E>>2]|0)+8+4>>2]=k[I+24+4>>2],(k[C>>2]|0)>0):0){k[B>>2]=0;k[D>>2]=0;k[E>>2]=(k[A>>2]|0)+56+((k[C>>2]|0)-1<<5);v=I+16|0;w=k[v+4>>2]|0;x=k[E>>2]|0;k[x>>2]=k[v>>2];k[x+4>>2]=w;x=I+16|0;x=om(k[z>>2]|0,k[x>>2]|0,k[x+4>>2]|0,B,D,0)|0;k[G>>2]=x;if((k[D>>2]|0)>(k[(k[z>>2]|0)+224>>2]|0))b=k[D>>2]|0;else b=k[(k[z>>2]|0)+224>>2]|0;Bo((k[E>>2]|0)+20|0,b,G);if(!(k[G>>2]|0)){BR(k[(k[E>>2]|0)+20>>2]|0,k[B>>2]|0,k[D>>2]|0)|0;k[(k[E>>2]|0)+20+4>>2]=k[D>>2]}Ud(k[B>>2]|0)}Lo(I);k[C>>2]=(k[C>>2]|0)+-1}}while(0);I=he(k[F>>2]|0)|0;k[H>>2]=I;if(!(k[G>>2]|0))k[G>>2]=k[H>>2]}k[y>>2]=k[G>>2];I=k[y>>2]|0;r=J;return I|0}function vo(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+44|0;h=t+40|0;i=t;j=t+36|0;l=t+32|0;m=t+28|0;s=t+24|0;n=t+20|0;o=t+16|0;q=t+12|0;p=t+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;k[q>>2]=0;k[p>>2]=0;f=xl(k[h>>2]|0,29,q,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){f=i;We(k[q>>2]|0,1,k[f>>2]|0,k[f+4>>2]|0)|0;f=k[(k[l>>2]|0)+4>>2]|0;We(k[q>>2]|0,2,f,((f|0)<0)<<31>>31)|0;if(100==(Ee(k[q>>2]|0)|0)){f=Ne(k[q>>2]|0,0)|0;k[o>>2]=f}f=he(k[q>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=xl(k[h>>2]|0,10,p,0)|0;k[s>>2]=f;if(!(k[s>>2]|0)){if(100==(Ee(k[p>>2]|0)|0)){q=Oe(k[p>>2]|0,0)|0;f=(k[m>>2]|0)+24|0;k[f>>2]=q;k[f+4>>2]=L;f=(k[m>>2]|0)+24|0;f=yR(k[f>>2]|0,k[f+4>>2]|0,1,0)|0;q=(k[m>>2]|0)+32|0;k[q>>2]=f;k[q+4>>2]=L;q=k[o>>2]<<4;f=(k[m>>2]|0)+32|0;e=f;q=zR(k[e>>2]|0,k[e+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;k[f>>2]=q;k[f+4>>2]=L}f=he(k[p>>2]|0)|0;k[s>>2]=f}if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}f=(k[m>>2]|0)+32|0;f=Nl(k[h>>2]|0,k[f>>2]|0,k[f+4>>2]|0,0,0)|0;k[s>>2]=f;if(k[s>>2]|0){k[g>>2]=k[s>>2];s=k[g>>2]|0;r=t;return s|0}q=i;f=k[q+4>>2]|0;s=(k[m>>2]|0)+8|0;k[s>>2]=k[q>>2];k[s+4>>2]=f;k[k[m>>2]>>2]=k[o>>2];k[(k[m>>2]|0)+16>>2]=k[j>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=16)break;s=(k[m>>2]|0)+24|0;f=ha(k[n>>2]|0,k[k[m>>2]>>2]|0)|0;f=zR(k[s>>2]|0,k[s+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;s=(k[m>>2]|0)+56+(k[n>>2]<<5)|0;k[s>>2]=f;k[s+4>>2]=L;k[n>>2]=(k[n>>2]|0)+1}k[g>>2]=0;s=k[g>>2]|0;r=t;return s|0}function wo(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;q=r;r=r+48|0;d=q+44|0;e=q+40|0;s=q+36|0;p=q+32|0;m=q+28|0;f=q+24|0;g=q+20|0;o=q+16|0;j=q+12|0;h=q+8|0;l=q+4|0;n=q;k[d>>2]=a;k[e>>2]=b;k[s>>2]=c;k[p>>2]=k[(k[s>>2]|0)+40>>2];k[m>>2]=k[(k[s>>2]|0)+44>>2];k[f>>2]=k[(k[s>>2]|0)+48>>2];k[g>>2]=k[(k[s>>2]|0)+52>>2];k[o>>2]=0;k[n>>2]=(k[e>>2]|0)+56;b=Ul(k[(k[n>>2]|0)+8>>2]|0,k[(k[n>>2]|0)+8+4>>2]|0,k[p>>2]|0,k[m>>2]|0)|0;k[h>>2]=b;k[l>>2]=(k[m>>2]|0)-(k[h>>2]|0);b=k[h>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=b;b=k[l>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[l>>2]|0));b=k[g>>2]|0;b=Rl(b,((b|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(b+(k[g>>2]|0));if((k[(k[n>>2]|0)+20+4>>2]|0)>0?((k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0)>(k[(k[d>>2]|0)+224>>2]|0):0){s=k[n>>2]|0;s=Nl(k[d>>2]|0,k[s>>2]|0,k[s+4>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[(k[n>>2]|0)+20+4>>2]|0)|0;k[o>>2]=s;s=(k[e>>2]|0)+4|0;k[s>>2]=(k[s>>2]|0)+1;if(!(k[o>>2]|0)){s=Mo(k[d>>2]|0,k[e>>2]|0,k[p>>2]|0,(k[h>>2]|0)+1|0)|0;k[o>>2]=s}s=k[n>>2]|0;b=s;b=zR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[s>>2]=b;k[s+4>>2]=L;k[(k[n>>2]|0)+8+4>>2]=0;k[(k[n>>2]|0)+20+4>>2]=0;k[l>>2]=k[m>>2];k[j>>2]=1;s=k[l>>2]|0;s=Rl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[l>>2]|0));s=k[g>>2]|0;s=Rl(s,((s|0)<0)<<31>>31)|0;k[j>>2]=(k[j>>2]|0)+(s+(k[g>>2]|0))}b=k[j>>2]|0;s=(k[e>>2]|0)+40|0;c=s;b=zR(k[c>>2]|0,k[c+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;k[s>>2]=b;k[s+4>>2]=L;Bo((k[n>>2]|0)+20|0,(k[(k[n>>2]|0)+20+4>>2]|0)+(k[j>>2]|0)|0,o);if(k[o>>2]|0){s=k[o>>2]|0;r=q;return s|0}if(!(k[(k[n>>2]|0)+20+4>>2]|0)){k[(k[n>>2]|0)+20+4>>2]=1;i[k[(k[n>>2]|0)+20>>2]>>0]=0}s=Jo((k[n>>2]|0)+20|0,(k[n>>2]|0)+8|0,k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[g>>2]|0)|0;k[o>>2]=s;s=k[o>>2]|0;r=q;return s|0}function xo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;f=s+44|0;g=s;h=s+40|0;i=s+36|0;j=s+32|0;m=s+28|0;p=s+24|0;o=s+20|0;l=s+16|0;q=s+12|0;n=s+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[i>>2]=e;k[m>>2]=0;k[p>>2]=0;k[j>>2]=(k[(k[h>>2]|0)+4>>2]|0)-1;while(1){if(!((k[j>>2]|0)>=0?(k[p>>2]|0)==0:0))break;k[o>>2]=0;k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[(k[h>>2]|0)+4>>2]|0))break;k[o>>2]=k[(k[k[h>>2]>>2]|0)+(k[l>>2]<<2)>>2];if((k[k[o>>2]>>2]|0)==(k[j>>2]|0))break;k[l>>2]=(k[l>>2]|0)+1}if(!(k[(k[o>>2]|0)+40>>2]|0)){e=Tl(k[f>>2]|0,k[o>>2]|0)|0;k[p>>2]=e;if(!(k[p>>2]|0)){e=g;e=Co(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0)|0;k[p>>2]=e}k[k[i>>2]>>2]=0}else{k[q>>2]=k[(k[o>>2]|0)+64>>2];k[n>>2]=k[(k[o>>2]|0)+60>>2];e=g;e=Do(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[k[o>>2]>>2]|0,k[q>>2]|0,k[n>>2]|0)|0;k[p>>2]=e;k[m>>2]=(k[m>>2]|0)+1}k[j>>2]=(k[j>>2]|0)+-1}if(k[p>>2]|0){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}if((k[m>>2]|0)==(k[(k[h>>2]|0)+4>>2]|0)){e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}e=g;e=Eo(k[f>>2]|0,k[e>>2]|0,k[e+4>>2]|0)|0;k[p>>2]=e;e=k[m>>2]|0;q=k[i>>2]|0;k[q>>2]=e;q=k[p>>2]|0;r=s;return q|0}function yo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;f=i+16|0;g=i;h=i+12|0;j=i+8|0;k[f>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;k[h>>2]=d;k[j>>2]=e;Bo(k[f>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+20|0,k[j>>2]|0);if(k[k[j>>2]>>2]|0){r=i;return}j=g;j=Sl((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,k[j>>2]|0,k[j+4>>2]|0)|0;e=(k[f>>2]|0)+4|0;k[e>>2]=(k[e>>2]|0)+j;e=k[h>>2]|0;e=Sl((k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)|0,e,((e|0)<0)<<31>>31)|0;j=(k[f>>2]|0)+4|0;k[j>>2]=(k[j>>2]|0)+e;r=i;return}function zo(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,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;d=q+36|0;m=q+32|0;n=q+28|0;e=q+24|0;f=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;j=q;k[d>>2]=a;k[m>>2]=b;k[n>>2]=c;k[p>>2]=k[k[n>>2]>>2];k[f>>2]=15;while(1){if((k[f>>2]|0)<0)break;k[h>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);if((k[(k[h>>2]|0)+20+4>>2]|0)>0)break;Ud(k[(k[h>>2]|0)+20>>2]|0);Ud(k[(k[h>>2]|0)+8>>2]|0);k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){r=q;return}if(!(k[f>>2]|0)){k[g>>2]=(k[m>>2]|0)+56+32+20;Bo(k[g>>2]|0,11,p);if(!(k[p>>2]|0)){i[k[k[g>>2]>>2]>>0]=1;b=(k[m>>2]|0)+56|0;b=1+(Sl((k[k[g>>2]>>2]|0)+1|0,k[b>>2]|0,k[b+4>>2]|0)|0)|0;k[(k[g>>2]|0)+4>>2]=b}k[f>>2]=1}k[o>>2]=(k[m>>2]|0)+56+(k[f>>2]<<5);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;k[j>>2]=(k[m>>2]|0)+56+(k[e>>2]<<5);if((k[p>>2]|0)==0?(k[(k[j>>2]|0)+20+4>>2]|0)>0:0){b=k[j>>2]|0;b=Nl(k[d>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[j>>2]|0)+20>>2]|0,k[(k[j>>2]|0)+20+4>>2]|0)|0;k[p>>2]=b}Ud(k[(k[j>>2]|0)+20>>2]|0);Ud(k[(k[j>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1}if(!(k[p>>2]|0)){j=k[d>>2]|0;d=(k[m>>2]|0)+8|0;d=zR(k[d>>2]|0,k[d+4>>2]|0,1,0)|0;e=(k[m>>2]|0)+24|0;f=(k[m>>2]|0)+56|0;a=(k[m>>2]|0)+32|0;if(!(l[(k[m>>2]|0)+48>>0]|0)){h=(k[m>>2]|0)+40|0;g=k[h>>2]|0;h=k[h+4>>2]|0}else{g=0;h=0}m=Pl(j,d,L,k[(k[m>>2]|0)+16>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0,g,h,k[(k[o>>2]|0)+20>>2]|0,k[(k[o>>2]|0)+20+4>>2]|0)|0;k[p>>2]=m}Ud(k[(k[o>>2]|0)+20>>2]|0);Ud(k[(k[o>>2]|0)+8>>2]|0);k[k[n>>2]>>2]=k[p>>2];r=q;return}function Ao(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=0;b=xl(k[g>>2]|0,23,d,0)|0;k[e>>2]=b;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}Ve(k[d>>2]|0,1,1)|0;Te(k[d>>2]|0,2,k[k[c>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,0)|0;Ee(k[d>>2]|0)|0;g=he(k[d>>2]|0)|0;k[e>>2]=g;g=k[e>>2]|0;r=f;return g|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){r=i;return}if((k[e>>2]|0)<=(k[(k[d>>2]|0)+8>>2]|0)){r=i;return}k[h>>2]=k[e>>2];c=Vd(k[k[d>>2]>>2]|0,k[h>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[d>>2]|0)+8>>2]=k[h>>2];k[k[d>>2]>>2]=k[g>>2];r=i;return}else{k[k[f>>2]>>2]=7;r=i;return}}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;j=i+20|0;e=i;f=i+16|0;h=i+12|0;g=i+8|0;k[j>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;a=xl(k[j>>2]|0,30,g,0)|0;k[h>>2]=a;if(k[h>>2]|0){j=k[h>>2]|0;r=i;return j|0}j=e;We(k[g>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Ve(k[g>>2]|0,2,k[f>>2]|0)|0;Ee(k[g>>2]|0)|0;j=he(k[g>>2]|0)|0;k[h>>2]=j;j=k[h>>2]|0;r=i;return j|0}function Do(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+112|0;g=B+104|0;h=B+24|0;i=B+100|0;j=B+96|0;l=B+92|0;y=B+88|0;A=B+76|0;o=B+64|0;p=B+16|0;q=B+8|0;s=B;x=B+60|0;z=B+56|0;n=B+52|0;u=B+48|0;m=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;k[i>>2]=d;k[j>>2]=e;k[l>>2]=f;k[y>>2]=0;k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;e=p;k[e>>2]=0;k[e+4>>2]=0;e=q;k[e>>2]=0;k[e+4>>2]=0;e=s;k[e>>2]=0;k[e+4>>2]=0;k[x>>2]=0;e=xl(k[g>>2]|0,32,x,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=h;We(k[x>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Ve(k[x>>2]|0,2,k[i>>2]|0)|0;if(100==(Ee(k[x>>2]|0)|0)){a=Ke(k[x>>2]|0,4)|0;k[n>>2]=a;a=Le(k[x>>2]|0,4)|0;k[u>>2]=a;a=Oe(k[x>>2]|0,1)|0;e=s;k[e>>2]=a;k[e+4>>2]=L;e=Fo(k[n>>2]|0,k[u>>2]|0,A,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}e=he(k[x>>2]|0)|0;k[z>>2]=e;if(!(k[y>>2]|0))k[y>>2]=k[z>>2]}while(1){e=p;if(!((k[y>>2]|0)==0?(k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0:0))break;k[m>>2]=0;k[t>>2]=0;x=p;z=k[x+4>>2]|0;e=q;k[e>>2]=k[x>>2];k[e+4>>2]=z;e=p;e=om(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,m,t,0)|0;k[y>>2]=e;if(!(k[y>>2]|0)){e=Fo(k[m>>2]|0,k[t>>2]|0,o,k[j>>2]|0,k[l>>2]|0,p)|0;k[y>>2]=e}if(!(k[y>>2]|0)){e=q;e=Nl(k[g>>2]|0,k[e>>2]|0,k[e+4>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[y>>2]=e}Ud(k[m>>2]|0)}e=q;if((k[y>>2]|0)==0&((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0)?(k[w>>2]=0,e=xl(k[g>>2]|0,17,w,0)|0,k[y>>2]=e,(k[y>>2]|0)==0):0){z=s;We(k[w>>2]|0,1,k[z>>2]|0,k[z+4>>2]|0)|0;z=k[w>>2]|0;e=q;e=yR(k[e>>2]|0,k[e+4>>2]|0,1,0)|0;We(z,2,e,L)|0;Ee(k[w>>2]|0)|0;e=he(k[w>>2]|0)|0;k[y>>2]=e}if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}k[v>>2]=0;e=xl(k[g>>2]|0,33,v,0)|0;k[y>>2]=e;if(k[y>>2]|0){e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}e=q;We(k[v>>2]|0,1,k[e>>2]|0,k[e+4>>2]|0)|0;Te(k[v>>2]|0,2,k[A>>2]|0,k[A+4>>2]|0,0)|0;e=h;We(k[v>>2]|0,3,k[e>>2]|0,k[e+4>>2]|0)|0;Ve(k[v>>2]|0,4,k[i>>2]|0)|0;Ee(k[v>>2]|0)|0;e=he(k[v>>2]|0)|0;k[y>>2]=e;e=k[A>>2]|0;Ud(e);e=k[o>>2]|0;Ud(e);e=k[y>>2]|0;r=B;return e|0}function Eo(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+44|0;e=s;o=s+40|0;f=s+36|0;l=s+32|0;j=s+28|0;h=s+24|0;m=s+20|0;n=s+16|0;p=s+12|0;g=s+8|0;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=0;k[l>>2]=0;k[j>>2]=0;k[m>>2]=0;k[n>>2]=0;a=xl(k[d>>2]|0,35,m,0)|0;k[o>>2]=a;if(!(k[o>>2]|0)){a=e;We(k[m>>2]|0,1,k[a>>2]|0,k[a+4>>2]|0)|0;while(1){if(100!=(Ee(k[m>>2]|0)|0))break;if((k[l>>2]|0)>=(k[j>>2]|0)){k[j>>2]=(k[j>>2]|0)+16;a=Vd(k[f>>2]|0,k[j>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0)){q=6;break}k[f>>2]=k[g>>2]}c=Ne(k[m>>2]|0,0)|0;a=k[l>>2]|0;k[l>>2]=a+1;k[(k[f>>2]|0)+(a<<2)>>2]=c}if((q|0)==6)k[o>>2]=7;q=he(k[m>>2]|0)|0;k[p>>2]=q;if(!(k[o>>2]|0))k[o>>2]=k[p>>2]}if(!(k[o>>2]|0)){q=xl(k[d>>2]|0,31,n,0)|0;k[o>>2]=q}if(!(k[o>>2]|0)){q=e;We(k[n>>2]|0,2,k[q>>2]|0,k[q+4>>2]|0)|0}i[(k[d>>2]|0)+232>>0]=1;k[h>>2]=0;while(1){if(k[o>>2]|0){q=21;break}if((k[h>>2]|0)>=(k[l>>2]|0)){q=21;break}if((k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)!=(k[h>>2]|0)){Ve(k[n>>2]|0,3,k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]|0)|0;Ve(k[n>>2]|0,1,k[h>>2]|0)|0;Ee(k[n>>2]|0)|0;q=he(k[n>>2]|0)|0;k[o>>2]=q}k[h>>2]=(k[h>>2]|0)+1}if((q|0)==21){i[(k[d>>2]|0)+232>>0]=0;Ud(k[f>>2]|0);r=s;return k[o>>2]|0}return 0}function Fo(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;g=w+96|0;h=w+92|0;j=w+88|0;l=w+84|0;m=w+80|0;n=w+76|0;o=w+72|0;t=w;q=w+60|0;s=w+56|0;p=w+52|0;u=w+48|0;k[h>>2]=a;k[j>>2]=b;k[l>>2]=c;k[m>>2]=d;k[n>>2]=e;k[o>>2]=f;k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[s>>2]=0;k[p>>2]=(i[k[h>>2]>>0]|0)==0&1;Bo(k[l>>2]|0,k[j>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}k[(k[l>>2]|0)+4>>2]=0;d=Go(t,k[h>>2]|0,k[j>>2]|0)|0;k[s>>2]=d;while(1){if(!((k[s>>2]|0)==0?(k[t>>2]|0)!=0:0))break;if(!(k[(k[l>>2]|0)+4>>2]|0)){d=Ho(k[t+24>>2]|0,k[t+24+4>>2]|0,k[m>>2]|0,k[n>>2]|0)|0;k[u>>2]=d;if((k[u>>2]|0)>=0?!((k[p>>2]|0)==0&(k[u>>2]|0)==0):0){f=t+16|0;Io(k[l>>2]|0,i[k[h>>2]>>0]|0,k[f>>2]|0,k[f+4>>2]|0);f=t+16|0;d=k[f+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[f>>2];k[v+4>>2]=d;v=9}}else v=9;if((v|0)==9?(v=0,d=Jo(k[l>>2]|0,q,k[t+24>>2]|0,k[t+24+4>>2]|0,k[t+36>>2]|0,k[t+40>>2]|0)|0,k[s>>2]=d,(k[s>>2]|0)!=0):0)break;d=Ko(t)|0;k[s>>2]=d}if(!(k[(k[l>>2]|0)+4>>2]|0)){u=t+16|0;Io(k[l>>2]|0,i[k[h>>2]>>0]|0,k[u>>2]|0,k[u+4>>2]|0);u=t+16|0;d=k[u+4>>2]|0;v=k[o>>2]|0;k[v>>2]=k[u>>2];k[v+4>>2]=d}Lo(t);Ud(k[q>>2]|0);k[g>>2]=k[s>>2];v=k[g>>2]|0;r=w;return v|0}function Go(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+8|0;d=g+4|0;e=g;k[f>>2]=a;k[d>>2]=b;k[e>>2]=c;b=k[f>>2]|0;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[k[f>>2]>>2]=k[d>>2];k[(k[f>>2]|0)+4>>2]=k[e>>2];b=k[f>>2]|0;if(i[k[k[f>>2]>>2]>>0]|0){e=1+(gm((k[b>>2]|0)+1|0,(k[f>>2]|0)+16|0)|0)|0;k[(k[f>>2]|0)+8>>2]=e;f=k[f>>2]|0;f=Ko(f)|0;r=g;return f|0}else{k[b+8>>2]=1;f=k[f>>2]|0;f=Ko(f)|0;r=g;return f|0}return 0}function Ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;h=r;r=r+32|0;l=h+20|0;e=h+16|0;j=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[e>>2]=b;k[j>>2]=c;k[f>>2]=d;k[i>>2]=(k[e>>2]|0)<(k[f>>2]|0)?k[e>>2]|0:k[f>>2]|0;c=OQ(k[l>>2]|0,k[j>>2]|0,k[i>>2]|0)|0;k[g>>2]=c;if(k[g>>2]|0){l=k[g>>2]|0;r=h;return l|0}k[g>>2]=(k[e>>2]|0)-(k[f>>2]|0);l=k[g>>2]|0;r=h;return l|0}function Io(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;f=g;k[e>>2]=a;k[h>>2]=b;a=f;k[a>>2]=c;k[a+4>>2]=d;i[k[k[e>>2]>>2]>>0]=k[h>>2];a=f;c=k[e>>2]|0;if((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0){h=f;h=1+(Sl((k[c>>2]|0)+1|0,k[h>>2]|0,k[h+4>>2]|0)|0)|0;k[(k[e>>2]|0)+4>>2]=h;r=g;return}else{k[c+4>>2]=1;r=g;return}}function Jo(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;o=t+8|0;p=t+4|0;q=t;k[h>>2]=a;k[i>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[s>>2]=0;k[o>>2]=(k[(k[i>>2]|0)+4>>2]|0)==0&1;Bo(k[i>>2]|0,k[l>>2]|0,s);if(k[s>>2]|0){k[g>>2]=k[s>>2];c=k[g>>2]|0;r=t;return c|0}c=Ul(k[k[i>>2]>>2]|0,k[(k[i>>2]|0)+4>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[p>>2]=c;k[q>>2]=(k[l>>2]|0)-(k[p>>2]|0);BR(k[k[i>>2]>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[(k[i>>2]|0)+4>>2]=k[l>>2];if(!(k[o>>2]|0)){s=k[p>>2]|0;s=Sl((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s}s=k[q>>2]|0;s=Sl((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;BR((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,(k[j>>2]|0)+(k[p>>2]|0)|0,k[q>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[q>>2]|0);if(k[m>>2]|0){s=k[n>>2]|0;s=Sl((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+s;BR((k[k[h>>2]>>2]|0)+(k[(k[h>>2]|0)+4>>2]|0)|0,k[m>>2]|0,k[n>>2]|0)|0;c=(k[h>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[n>>2]|0)}k[g>>2]=0;c=k[g>>2]|0;r=t;return c|0}function Ko(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;e=g+16|0;b=g+12|0;c=g+8|0;d=g+4|0;f=g;k[e>>2]=a;k[b>>2]=(k[(k[e>>2]|0)+24+4>>2]|0)==0&1;k[c>>2]=0;k[d>>2]=0;k[f>>2]=0;a=(k[e>>2]|0)+16|0;if(((k[a>>2]|0)!=0|(k[a+4>>2]|0)!=0)&(k[b>>2]|0)==0){a=(k[e>>2]|0)+16|0;h=a;h=zR(k[h>>2]|0,k[h+4>>2]|0,1,0)|0;k[a>>2]=h;k[a+4>>2]=L}if((k[(k[e>>2]|0)+8>>2]|0)>=(k[(k[e>>2]|0)+4>>2]|0)){k[k[e>>2]>>2]=0;h=k[f>>2]|0;r=g;return h|0}if(!(k[b>>2]|0)){b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=hm(b,c)|0;else{k[c>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=hm(b,d)|0;else{k[d>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;Bo((k[e>>2]|0)+24|0,(k[c>>2]|0)+(k[d>>2]|0)|0,f);if(k[f>>2]|0){h=k[f>>2]|0;r=g;return h|0}BR((k[(k[e>>2]|0)+24>>2]|0)+(k[c>>2]|0)|0,(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0,k[d>>2]|0)|0;k[(k[e>>2]|0)+24+4>>2]=(k[c>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[d>>2]|0);h=(k[e>>2]|0)+16|0;if(!((k[h>>2]|0)==0&(k[h+4>>2]|0)==0)){h=k[f>>2]|0;r=g;return h|0}b=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)|0;if((l[(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0)>>0]|0)&128)b=hm(b,(k[e>>2]|0)+40|0)|0;else{k[(k[e>>2]|0)+40>>2]=l[b>>0];b=1}h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+b;k[(k[e>>2]|0)+36>>2]=(k[k[e>>2]>>2]|0)+(k[(k[e>>2]|0)+8>>2]|0);h=(k[e>>2]|0)+8|0;k[h>>2]=(k[h>>2]|0)+(k[(k[e>>2]|0)+40>>2]|0);h=k[f>>2]|0;r=g;return h|0}function Lo(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Ud(k[(k[c>>2]|0)+24>>2]|0);r=b;return}function Mo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;t=v+60|0;e=v+56|0;f=v+52|0;g=v+48|0;h=v+44|0;m=v+8|0;j=v+40|0;l=v;s=v+36|0;u=v+32|0;n=v+28|0;p=v+24|0;o=v+20|0;q=v+16|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a=(k[f>>2]|0)+56|0;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=1;while(1){if((k[j>>2]|0)>=16){e=16;break}c=l;k[c>>2]=0;k[c+4>>2]=0;k[s>>2]=(k[f>>2]|0)+56+(k[j>>2]<<5);k[u>>2]=0;c=Ul(k[(k[s>>2]|0)+8>>2]|0,k[(k[s>>2]|0)+8+4>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[n>>2]=c;k[p>>2]=(k[h>>2]|0)-(k[n>>2]|0);c=k[n>>2]|0;c=Rl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=c;c=k[p>>2]|0;c=Rl(c,((c|0)<0)<<31>>31)|0;k[o>>2]=(k[o>>2]|0)+(c+(k[p>>2]|0));if((k[(k[s>>2]|0)+8+4>>2]|0)!=0?((k[(k[s>>2]|0)+20+4>>2]|0)+(k[o>>2]|0)|0)>(k[(k[e>>2]|0)+224>>2]|0):0){b=k[s>>2]|0;b=Nl(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0,k[(k[s>>2]|0)+20>>2]|0,k[(k[s>>2]|0)+20+4>>2]|0)|0;k[u>>2]=b;i[k[(k[s>>2]|0)+20>>2]>>0]=k[j>>2];b=(k[(k[s>>2]|0)+20>>2]|0)+1|0;a=m;a=zR(k[a>>2]|0,k[a+4>>2]|0,1,0)|0;a=1+(Sl(b,a,L)|0)|0;k[(k[s>>2]|0)+20+4>>2]=a;a=k[s>>2]|0;b=k[a+4>>2]|0;c=l;k[c>>2]=k[a>>2];k[c+4>>2]=b;c=k[s>>2]|0;b=c;b=zR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;k[c>>2]=b;k[c+4>>2]=L;k[(k[s>>2]|0)+8+4>>2]=0}else{k[q>>2]=(k[s>>2]|0)+20;if((k[(k[q>>2]|0)+4>>2]|0)==0?(Bo(k[q>>2]|0,k[(k[e>>2]|0)+224>>2]|0,u),(k[u>>2]|0)==0):0){i[k[k[q>>2]>>2]>>0]=k[j>>2];c=m;c=1+(Sl((k[k[q>>2]>>2]|0)+1|0,k[c>>2]|0,k[c+4>>2]|0)|0)|0;k[(k[q>>2]|0)+4>>2]=c}Bo(k[q>>2]|0,(k[(k[q>>2]|0)+4>>2]|0)+(k[o>>2]|0)|0,u);Bo((k[s>>2]|0)+8|0,k[h>>2]|0,u);if(!(k[u>>2]|0)){if(k[(k[s>>2]|0)+8+4>>2]|0){b=k[n>>2]|0;b=Sl((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b}b=k[p>>2]|0;b=Sl((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,b,((b|0)<0)<<31>>31)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+b;BR((k[k[q>>2]>>2]|0)+(k[(k[q>>2]|0)+4>>2]|0)|0,(k[g>>2]|0)+(k[n>>2]|0)|0,k[p>>2]|0)|0;c=(k[q>>2]|0)+4|0;k[c>>2]=(k[c>>2]|0)+(k[p>>2]|0);BR(k[(k[s>>2]|0)+8>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[(k[s>>2]|0)+8+4>>2]=k[h>>2]}}c=l;if((k[u>>2]|0)!=0|(k[c>>2]|0)==0&(k[c+4>>2]|0)==0){e=14;break}a=l;b=k[a+4>>2]|0;c=m;k[c>>2]=k[a>>2];k[c+4>>2]=b;k[j>>2]=(k[j>>2]|0)+1}if((e|0)==14){k[t>>2]=k[u>>2];u=k[t>>2]|0;r=v;return u|0}else if((e|0)==16){k[t>>2]=0;u=k[t>>2]|0;r=v;return u|0}return 0}function No(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;l=j+24|0;e=j;f=j+20|0;g=j+16|0;h=j+12|0;i=j+8|0;k[l>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;k[f>>2]=d;k[g>>2]=0;k[h>>2]=0;d=xl(k[l>>2]|0,34,h,0)|0;k[i>>2]=d;if(k[i>>2]|0){d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}l=e;We(k[h>>2]|0,1,k[l>>2]|0,k[l+4>>2]|0)|0;if(100==(Ee(k[h>>2]|0)|0))k[g>>2]=1;d=he(k[h>>2]|0)|0;k[i>>2]=d;d=k[g>>2]|0;l=k[f>>2]|0;k[l>>2]=d;l=k[i>>2]|0;r=j;return l|0}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;t=r;r=r+64|0;u=t+48|0;e=t+44|0;f=t+40|0;g=t+36|0;p=t+32|0;s=t+28|0;n=t+24|0;j=t+20|0;h=t+16|0;o=t+12|0;l=t+8|0;q=t+4|0;m=t;k[u>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[p>>2]=k[u>>2];k[s>>2]=0;k[n>>2]=0;k[j>>2]=0;k[h>>2]=0;k[o>>2]=0;k[l>>2]=0;if(((k[e>>2]|0)>1?(pe(k[k[f>>2]>>2]|0)|0)==5:0)?(pe(k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){u=Po(k[p>>2]|0,k[(k[f>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[s>>2]=u;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}if((k[e>>2]|0)>1?(ne(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){k[s>>2]=19;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}u=Sd((k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1)|0;k[h>>2]=u;if(!(k[h>>2]|0)){k[s>>2]=7;u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}k[j>>2]=(k[h>>2]|0)+((k[(k[p>>2]|0)+24>>2]|0)+1<<2);DR(k[h>>2]|0,0,(k[(k[p>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;u=Qo(k[p>>2]|0)|0;k[s>>2]=u;if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}do if((k[e>>2]|0)>1?(k[(k[p>>2]|0)+40>>2]|0)==0:0){k[q>>2]=k[(k[f>>2]|0)+(3+(k[(k[p>>2]|0)+24>>2]|0)<<2)>>2];if((pe(k[q>>2]|0)|0)==5)k[q>>2]=k[(k[f>>2]|0)+4>>2];if((pe(k[q>>2]|0)|0)!=5){if((pe(k[k[f>>2]>>2]|0)|0)!=5?(d=oe(k[k[f>>2]>>2]|0)|0,u=L,a=oe(k[q>>2]|0)|0,!((d|0)!=(a|0)|(u|0)!=(L|0))):0)break;u=(rf(k[(k[p>>2]|0)+12>>2]|0)|0)==5;c=k[p>>2]|0;if(u){u=Ro(c,k[q>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;break}else{u=So(c,k[f>>2]|0,k[g>>2]|0)|0;k[s>>2]=u;k[l>>2]=1;break}}}while(0);if(k[s>>2]|0){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}if((pe(k[k[f>>2]>>2]|0)|0)!=5){u=Ro(k[p>>2]|0,k[k[f>>2]>>2]|0,o,k[h>>2]|0)|0;k[s>>2]=u;k[n>>2]=1}if((k[e>>2]|0)>1&(k[s>>2]|0)==0){u=ne(k[(k[f>>2]|0)+(2+(k[(k[p>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;k[m>>2]=u;if(((k[l>>2]|0)==0?(u=So(k[p>>2]|0,k[f>>2]|0,k[g>>2]|0)|0,k[s>>2]=u,(k[s>>2]|0)==19):0)?(k[(k[p>>2]|0)+40>>2]|0)==0:0)k[s>>2]=267;do if(!(k[s>>2]|0)){if((k[n>>2]|0)!=0?(q=k[g>>2]|0,u=(k[p>>2]|0)+264|0,!((k[q>>2]|0)!=(k[u>>2]|0)?1:(k[q+4>>2]|0)!=(k[u+4>>2]|0))):0)break;u=k[g>>2]|0;u=To(k[p>>2]|0,0,k[m>>2]|0,k[u>>2]|0,k[u+4>>2]|0)|0;k[s>>2]=u}while(0);if(!(k[s>>2]|0)){u=Uo(k[p>>2]|0,k[m>>2]|0,k[f>>2]|0,k[j>>2]|0)|0;k[s>>2]=u}if(i[(k[p>>2]|0)+230>>0]|0)Vo(s,k[p>>2]|0,k[j>>2]|0);k[o>>2]=(k[o>>2]|0)+1}if(!(i[(k[p>>2]|0)+228>>0]|0)){u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}Wo(s,k[p>>2]|0,k[j>>2]|0,k[h>>2]|0,k[o>>2]|0);u=k[h>>2]|0;Ud(u);u=k[p>>2]|0;Gm(u);u=k[s>>2]|0;r=t;return u|0}function Po(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;e=i;k[d>>2]=a;k[j>>2]=b;b=ke(k[j>>2]|0)|0;k[g>>2]=b;b=le(k[j>>2]|0)|0;k[e>>2]=b;if(!(k[g>>2]|0)){k[c>>2]=7;j=k[c>>2]|0;r=i;return j|0}if((k[e>>2]|0)==8?0==(Jd(k[g>>2]|0,21120,8)|0):0){j=$n(k[d>>2]|0,0)|0;k[f>>2]=j}else h=6;do if((h|0)==6){if((k[e>>2]|0)==7?0==(Jd(k[g>>2]|0,24103,7)|0):0){j=ep(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)==15?0==(Jd(k[g>>2]|0,24111,15)|0):0){j=fp(k[d>>2]|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>6?0==(Jd(k[g>>2]|0,24127,6)|0):0){j=gp(k[d>>2]|0,(k[g>>2]|0)+6|0)|0;k[f>>2]=j;break}if((k[e>>2]|0)>10?0==(Jd(k[g>>2]|0,24134,10)|0):0){j=hp(k[d>>2]|0,(k[g>>2]|0)+10|0)|0;k[f>>2]=j;break}k[f>>2]=1}while(0);k[c>>2]=k[f>>2];j=k[c>>2]|0;r=i;return j|0}function Qo(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;if((k[(k[b>>2]|0)+260>>2]|0)==0?(a=xl(k[b>>2]|0,16,c,0)|0,k[d>>2]=a,(k[d>>2]|0)==0):0){Xe(k[c>>2]|0,1)|0;Ee(k[c>>2]|0)|0;c=he(k[c>>2]|0)|0;k[d>>2]=c}r=e;return k[d>>2]|0}function Ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;n=m+4|0;j=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[l>>2]=0;k[n>>2]=0;$o(l,k[e>>2]|0,k[f>>2]|0,k[h>>2]|0,n);if(!((k[n>>2]|0)!=0&(k[l>>2]|0)==0)){n=k[l>>2]|0;r=m;return n|0}k[j>>2]=0;n=ap(k[e>>2]|0,k[f>>2]|0,j)|0;k[l>>2]=n;if(k[l>>2]|0){n=k[l>>2]|0;r=m;return n|0}if(k[j>>2]|0){n=bp(k[e>>2]|0,1)|0;k[l>>2]=n;k[k[g>>2]>>2]=0;DR(k[h>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;n=k[l>>2]|0;r=m;return n|0}k[k[g>>2]>>2]=(k[k[g>>2]>>2]|0)-1;if(!(k[(k[e>>2]|0)+40>>2]|0))cp(l,k[e>>2]|0,0,f);if(!(i[(k[e>>2]|0)+230>>0]|0)){n=k[l>>2]|0;r=m;return n|0}cp(l,k[e>>2]|0,19,f);n=k[l>>2]|0;r=m;return n|0}function So(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;i=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=k[e>>2]|0;if(k[(k[e>>2]|0)+40>>2]|0){k[i>>2]=k[(k[f>>2]|0)+((k[b+24>>2]|0)+3<<2)>>2];if((pe(k[i>>2]|0)|0)==5)k[i>>2]=k[(k[f>>2]|0)+4>>2];if((pe(k[i>>2]|0)|0)!=1){k[d>>2]=19;j=k[d>>2]|0;r=l;return j|0}else{i=oe(k[i>>2]|0)|0;j=k[g>>2]|0;k[j>>2]=i;k[j+4>>2]=L;k[d>>2]=0;j=k[d>>2]|0;r=l;return j|0}}i=xl(b,18,h,(k[f>>2]|0)+4|0)|0;k[j>>2]=i;if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+44>>2]|0)!=0:0){c=k[h>>2]|0;i=(k[(k[e>>2]|0)+24>>2]|0)+2|0;i=Ve(c,i,ne(k[(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0;k[j>>2]=i}if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}if(5!=(pe(k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(pe(k[k[f>>2]>>2]|0)|0)?5!=(pe(k[(k[f>>2]|0)+4>>2]|0)|0):0){k[d>>2]=1;j=k[d>>2]|0;r=l;return j|0}i=Ze(k[h>>2]|0,1,k[(k[f>>2]|0)+(3+(k[(k[e>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;k[j>>2]=i;if(k[j>>2]|0){k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}}Ee(k[h>>2]|0)|0;h=he(k[h>>2]|0)|0;k[j>>2]=h;h=zf(k[(k[e>>2]|0)+12>>2]|0)|0;i=k[g>>2]|0;k[i>>2]=h;k[i+4>>2]=L;k[d>>2]=k[j>>2];j=k[d>>2]|0;r=l;return j|0}function To(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n;l=n+8|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;c=j;k[c>>2]=d;k[c+4>>2]=e;c=j;e=k[c+4>>2]|0;a=(k[g>>2]|0)+264|0;b=k[a+4>>2]|0;do if(!((e|0)<(b|0)|((e|0)==(b|0)?(k[c>>2]|0)>>>0<(k[a>>2]|0)>>>0:0))){c=j;a=(k[g>>2]|0)+264|0;if(((k[c>>2]|0)==(k[a>>2]|0)?(k[c+4>>2]|0)==(k[a+4>>2]|0):0)?(k[(k[g>>2]|0)+276>>2]|0)==0:0){m=6;break}if(!((k[(k[g>>2]|0)+272>>2]|0)==(k[i>>2]|0)?(k[(k[g>>2]|0)+260>>2]|0)<=(k[(k[g>>2]|0)+256>>2]|0):0))m=6}else m=6;while(0);if((m|0)==6?(m=ul(k[g>>2]|0)|0,k[l>>2]=m,(k[l>>2]|0)!=0):0){k[f>>2]=k[l>>2];m=k[f>>2]|0;r=n;return m|0}a=j;l=k[a+4>>2]|0;m=(k[g>>2]|0)+264|0;k[m>>2]=k[a>>2];k[m+4>>2]=l;k[(k[g>>2]|0)+272>>2]=k[i>>2];k[(k[g>>2]|0)+276>>2]=k[h>>2];k[f>>2]=0;m=k[f>>2]|0;r=n;return m|0}function Uo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;n=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+8|0;m=p+4|0;o=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=2;while(1){if((k[i>>2]|0)>=((k[(k[e>>2]|0)+24>>2]|0)+2|0)){e=8;break}k[j>>2]=(k[i>>2]|0)-2;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){a=ke(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;k[m>>2]=a;a=Zo(k[e>>2]|0,k[f>>2]|0,k[m>>2]|0,k[j>>2]|0,(k[h>>2]|0)+(k[j>>2]<<2)|0)|0;k[o>>2]=a;if(k[o>>2]|0){e=5;break}b=le(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)|0;a=(k[h>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[a>>2]=(k[a>>2]|0)+b}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==5){k[n>>2]=k[o>>2];o=k[n>>2]|0;r=p;return o|0}else if((e|0)==8){k[n>>2]=0;o=k[n>>2]|0;r=p;return o|0}return 0}function Vo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;i=l+4|0;j=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[d>>2]>>2]|0){r=l;return}a=Sd((k[(k[e>>2]|0)+24>>2]|0)*10|0)|0;k[h>>2]=a;if(!(k[h>>2]|0)){k[k[d>>2]>>2]=7;r=l;return}Yo(k[(k[e>>2]|0)+24>>2]|0,k[f>>2]|0,k[h>>2]|0,g);a=xl(k[e>>2]|0,20,i,0)|0;k[j>>2]=a;if(k[j>>2]|0){Ud(k[h>>2]|0);k[k[d>>2]>>2]=k[j>>2];r=l;return}else{j=(k[e>>2]|0)+264|0;We(k[i>>2]|0,1,k[j>>2]|0,k[j+4>>2]|0)|0;Te(k[i>>2]|0,2,k[h>>2]|0,k[g>>2]|0,148)|0;Ee(k[i>>2]|0)|0;j=he(k[i>>2]|0)|0;k[k[d>>2]>>2]=j;r=l;return}}function Wo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;p=u+28|0;n=u+24|0;l=u+20|0;q=u+16|0;m=u+12|0;s=u+8|0;o=u+4|0;t=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[o>>2]=(k[(k[g>>2]|0)+24>>2]|0)+2;if(k[k[f>>2]>>2]|0){r=u;return}a=Sd((k[o>>2]|0)*14|0)|0;k[l>>2]=a;if(!(k[l>>2]|0)){k[k[f>>2]>>2]=7;r=u;return}k[p>>2]=(k[l>>2]|0)+(k[o>>2]<<2);a=xl(k[g>>2]|0,22,q,0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}Ve(k[q>>2]|0,1,0)|0;if((Ee(k[q>>2]|0)|0)==100){e=k[o>>2]|0;b=k[l>>2]|0;a=Ke(k[q>>2]|0,0)|0;Xo(e,b,a,Le(k[q>>2]|0,0)|0)}else DR(k[l>>2]|0,0,k[o>>2]<<2|0)|0;a=he(k[q>>2]|0)|0;k[s>>2]=a;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}if((k[j>>2]|0)<0?(k[k[l>>2]>>2]|0)>>>0<(0-(k[j>>2]|0)|0)>>>0:0)k[k[l>>2]>>2]=0;else{a=k[l>>2]|0;k[a>>2]=(k[a>>2]|0)+(k[j>>2]|0)}k[m>>2]=0;while(1){if((k[m>>2]|0)>=((k[(k[g>>2]|0)+24>>2]|0)+1|0))break;k[t>>2]=k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2];if(((k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)|0)>>>0<(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0)>>>0)k[t>>2]=0;else k[t>>2]=(k[t>>2]|0)+(k[(k[h>>2]|0)+(k[m>>2]<<2)>>2]|0)-(k[(k[i>>2]|0)+(k[m>>2]<<2)>>2]|0);k[(k[l>>2]|0)+((k[m>>2]|0)+1<<2)>>2]=k[t>>2];k[m>>2]=(k[m>>2]|0)+1}Yo(k[o>>2]|0,k[l>>2]|0,k[p>>2]|0,n);t=xl(k[g>>2]|0,23,q,0)|0;k[s>>2]=t;if(k[s>>2]|0){Ud(k[l>>2]|0);k[k[f>>2]>>2]=k[s>>2];r=u;return}else{Ve(k[q>>2]|0,1,0)|0;Te(k[q>>2]|0,2,k[p>>2]|0,k[n>>2]|0,0)|0;Ee(k[q>>2]|0)|0;t=he(k[q>>2]|0)|0;k[k[f>>2]>>2]=t;Ud(k[l>>2]|0);r=u;return}}function Xo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+12|0;i=l+8|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l+16>>2]=d;k[i>>2]=0;k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[e>>2]|0))break;c=gm((k[g>>2]|0)+(k[i>>2]|0)|0,j)|0;k[i>>2]=(k[i>>2]|0)+c;k[(k[f>>2]|0)+(k[h>>2]<<2)>>2]=k[j>>2];k[h>>2]=(k[h>>2]|0)+1}r=l;return}function Yo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;k[i>>2]=0;while(1){a=k[j>>2]|0;if((k[i>>2]|0)>=(k[e>>2]|0))break;c=Sl((k[g>>2]|0)+a|0,k[(k[f>>2]|0)+(k[i>>2]<<2)>>2]|0,0)|0;k[j>>2]=(k[j>>2]|0)+c;k[i>>2]=(k[i>>2]|0)+1}k[k[h>>2]>>2]=a;r=l;return}function Zo(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;j=B+56|0;l=B+52|0;x=B+48|0;p=B+44|0;n=B+40|0;o=B+36|0;s=B+32|0;z=B+28|0;q=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;m=B+4|0;u=B;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[p>>2]=0;k[n>>2]=0;k[o>>2]=0;k[s>>2]=0;k[q>>2]=0;k[w>>2]=k[(k[g>>2]|0)+36>>2];k[v>>2]=k[k[w>>2]>>2];if(!(k[i>>2]|0)){k[k[l>>2]>>2]=0;k[f>>2]=0;A=k[f>>2]|0;r=B;return A|0}c=Kn(k[w>>2]|0,k[h>>2]|0,k[i>>2]|0,-1,t)|0;k[x>>2]=c;if(k[x>>2]|0){k[f>>2]=k[x>>2];A=k[f>>2]|0;r=B;return A|0}k[y>>2]=k[(k[v>>2]|0)+20>>2];a:while(1){if(k[x>>2]|0)break;c=ac[k[y>>2]&255](k[t>>2]|0,z,q,p,n,o)|0;k[x>>2]=c;if(c)break;if((k[o>>2]|0)>=(k[s>>2]|0))k[s>>2]=(k[o>>2]|0)+1;if((k[o>>2]|0)>=0&(k[z>>2]|0)!=0^1|(k[q>>2]|0)<=0){A=11;break}c=_o(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[(k[g>>2]|0)+252>>2]|0)+4|0,k[z>>2]|0,k[q>>2]|0)|0;k[x>>2]=c;k[m>>2]=1;while(1){if(k[x>>2]|0)continue a;if((k[m>>2]|0)>=(k[(k[g>>2]|0)+248>>2]|0))continue a;k[u>>2]=(k[(k[g>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0);if((k[q>>2]|0)>=(k[k[u>>2]>>2]|0)){c=_o(k[g>>2]|0,k[j>>2]|0,k[o>>2]|0,(k[u>>2]|0)+4|0,k[z>>2]|0,k[k[u>>2]>>2]|0)|0;k[x>>2]=c}k[m>>2]=(k[m>>2]|0)+1}}if((A|0)==11)k[x>>2]=1;bc[k[(k[v>>2]|0)+16>>2]&255](k[t>>2]|0)|0;A=k[l>>2]|0;k[A>>2]=(k[A>>2]|0)+(k[s>>2]|0);k[f>>2]=(k[x>>2]|0)==101?0:k[x>>2]|0;A=k[f>>2]|0;r=B;return A|0}function _o(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;k[m>>2]=f;k[o>>2]=0;e=Mk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[n>>2]=e;if(k[n>>2]|0){e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)-((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20)}a=(k[g>>2]|0)+264|0;d=k[h>>2]|0;e=k[i>>2]|0;if((Ln(n,k[a>>2]|0,k[a+4>>2]|0,d,((d|0)<0)<<31>>31,e,((e|0)<0)<<31>>31,o)|0)!=0?(e=k[n>>2]|0,(e|0)==(tk(k[j>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0)):0){Ud(k[n>>2]|0);k[o>>2]=7}if(k[o>>2]|0){e=k[o>>2]|0;r=p;return e|0}e=(k[g>>2]|0)+260|0;k[e>>2]=(k[e>>2]|0)+((k[k[n>>2]>>2]|0)+(k[m>>2]|0)+20);e=k[o>>2]|0;r=p;return e|0}function $o(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;g=u+48|0;h=u+44|0;f=u+40|0;i=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;m=u+20|0;p=u+16|0;o=u;n=u+12|0;t=u+8|0;k[g>>2]=a;k[h>>2]=b;k[f>>2]=c;k[i>>2]=d;k[j>>2]=e;if(k[k[g>>2]>>2]|0){r=u;return}f=xl(k[h>>2]|0,7,q,f)|0;k[s>>2]=f;f=k[q>>2]|0;if(!(k[s>>2]|0)){do if(100==(Ee(f)|0)){c=dp(k[h>>2]|0,k[q>>2]|0)|0;k[p>>2]=c;c=Oe(k[q>>2]|0,0)|0;e=o;k[e>>2]=c;k[e+4>>2]=L;o=To(k[h>>2]|0,1,k[p>>2]|0,k[o>>2]|0,k[o+4>>2]|0)|0;k[s>>2]=o;k[m>>2]=1;while(1){if(k[s>>2]|0)break;if((k[m>>2]|0)>(k[(k[h>>2]|0)+24>>2]|0))break;k[n>>2]=(k[m>>2]|0)-1;if(!(l[(k[(k[h>>2]|0)+32>>2]|0)+(k[n>>2]|0)>>0]|0)){e=Pe(k[q>>2]|0,k[m>>2]|0)|0;k[t>>2]=e;e=Zo(k[h>>2]|0,k[p>>2]|0,k[t>>2]|0,-1,(k[i>>2]|0)+(k[n>>2]<<2)|0)|0;k[s>>2]=e;e=Le(k[q>>2]|0,k[m>>2]|0)|0;o=(k[i>>2]|0)+(k[(k[h>>2]|0)+24>>2]<<2)|0;k[o>>2]=(k[o>>2]|0)+e}k[m>>2]=(k[m>>2]|0)+1}if(!(k[s>>2]|0)){k[k[j>>2]>>2]=1;break}he(k[q>>2]|0)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}while(0);t=he(k[q>>2]|0)|0;k[s>>2]=t}else he(f)|0;k[k[g>>2]>>2]=k[s>>2];r=u;return}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[(k[d>>2]|0)+40>>2]|0){k[k[f>>2]>>2]=0;k[h>>2]=0;h=k[h>>2]|0;r=i;return h|0}c=xl(k[d>>2]|0,1,g,e)|0;k[h>>2]=c;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if(100==(Ee(k[g>>2]|0)|0)){c=Ne(k[g>>2]|0,0)|0;k[k[f>>2]>>2]=c}c=he(k[g>>2]|0)|0;k[h>>2]=c;h=k[h>>2]|0;r=i;return h|0}function bp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=0;rl(k[c>>2]|0);if(k[f>>2]|0)cp(d,k[c>>2]|0,2,0);cp(d,k[c>>2]|0,3,0);cp(d,k[c>>2]|0,4,0);if(i[(k[c>>2]|0)+230>>0]|0)cp(d,k[c>>2]|0,5,0);if(!(i[(k[c>>2]|0)+229>>0]|0)){f=k[d>>2]|0;r=e;return f|0}cp(d,k[c>>2]|0,6,0);f=k[d>>2]|0;r=e;return f|0}function cp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;i=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(k[k[e>>2]>>2]|0){r=l;return}a=xl(k[f>>2]|0,k[g>>2]|0,i,k[h>>2]|0)|0;k[j>>2]=a;if(!(k[j>>2]|0)){Ee(k[i>>2]|0)|0;i=he(k[i>>2]|0)|0;k[j>>2]=i}k[k[e>>2]>>2]=k[j>>2];r=l;return}function dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[(k[c>>2]|0)+44>>2]|0)){b=k[e>>2]|0;r=f;return b|0}b=Ne(k[d>>2]|0,(k[(k[c>>2]|0)+24>>2]|0)+1|0)|0;k[e>>2]=b;b=k[e>>2]|0;r=f;return b|0}function ep(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;c=t;e=t+52|0;p=t+48|0;f=t+44|0;h=t+40|0;g=t+36|0;o=t+32|0;n=t+28|0;d=t+24|0;b=t+20|0;j=t+16|0;m=t+12|0;s=t+8|0;q=t+4|0;k[e>>2]=a;a=bp(k[e>>2]|0,0)|0;k[p>>2]=a;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[f>>2]=0;k[h>>2]=0;k[g>>2]=0;k[o>>2]=0;k[n>>2]=0;k[c>>2]=k[(k[e>>2]|0)+216>>2];c=Yd(24222,c)|0;k[d>>2]=c;if(k[d>>2]|0){c=lf(k[(k[e>>2]|0)+12>>2]|0,k[d>>2]|0,-1,o,0)|0;k[p>>2]=c;Ud(k[d>>2]|0)}else k[p>>2]=7;do if(!(k[p>>2]|0)){k[b>>2]=((k[(k[e>>2]|0)+24>>2]|0)+1<<2)*3;d=Sd(k[b>>2]|0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){k[p>>2]=7;break}else{DR(k[f>>2]|0,0,k[b>>2]|0)|0;k[h>>2]=(k[f>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);k[g>>2]=(k[h>>2]|0)+((k[(k[e>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(k[p>>2]|0))b=100==(Ee(k[o>>2]|0)|0);else b=0;a=k[e>>2]|0;if(!b)break;a=dp(a,k[o>>2]|0)|0;k[m>>2]=a;a=k[e>>2]|0;c=k[m>>2]|0;d=Oe(k[o>>2]|0,0)|0;d=To(a,0,c,d,L)|0;k[p>>2]=d;DR(k[f>>2]|0,0,(k[(k[e>>2]|0)+24>>2]|0)+1<<2|0)|0;k[j>>2]=0;while(1){if(k[p>>2]|0)break;if((k[j>>2]|0)>=(k[(k[e>>2]|0)+24>>2]|0))break;if(!(l[(k[(k[e>>2]|0)+32>>2]|0)+(k[j>>2]|0)>>0]|0)){c=Pe(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;k[s>>2]=c;c=Zo(k[e>>2]|0,k[m>>2]|0,k[s>>2]|0,k[j>>2]|0,(k[f>>2]|0)+(k[j>>2]<<2)|0)|0;k[p>>2]=c;c=Le(k[o>>2]|0,(k[j>>2]|0)+1|0)|0;d=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+c}k[j>>2]=(k[j>>2]|0)+1}if(i[(k[e>>2]|0)+230>>0]|0)Vo(p,k[e>>2]|0,k[f>>2]|0);if(k[p>>2]|0){ge(k[o>>2]|0)|0;k[o>>2]=0;continue}k[n>>2]=(k[n>>2]|0)+1;k[j>>2]=0;while(1){if((k[j>>2]|0)>(k[(k[e>>2]|0)+24>>2]|0))continue a;d=(k[h>>2]|0)+(k[j>>2]<<2)|0;k[d>>2]=(k[d>>2]|0)+(k[(k[f>>2]|0)+(k[j>>2]<<2)>>2]|0);k[j>>2]=(k[j>>2]|0)+1}}if(i[a+228>>0]|0)Wo(p,k[e>>2]|0,k[h>>2]|0,k[g>>2]|0,k[n>>2]|0);Ud(k[f>>2]|0);if(!(k[o>>2]|0)){s=k[p>>2]|0;r=t;return s|0}s=ge(k[o>>2]|0)|0;k[q>>2]=s;if(k[p>>2]|0){s=k[p>>2]|0;r=t;return s|0}k[p>>2]=k[q>>2];s=k[p>>2]|0;r=t;return s|0}function fp(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=0;a=kp(k[e>>2]|0,d)|0;k[b>>2]=a;k[b>>2]=(k[b>>2]|0)==0&(k[d>>2]|0)==0?267:a;r=c;return k[b>>2]|0}function gp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;h=r;r=r+32|0;c=h+20|0;j=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;k[c>>2]=a;k[j>>2]=b;k[e>>2]=8;k[d>>2]=0;k[g>>2]=k[j>>2];b=ip(g)|0;k[d>>2]=b;if((i[k[g>>2]>>0]|0)==44?(i[(k[g>>2]|0)+1>>0]|0)!=0:0){k[g>>2]=(k[g>>2]|0)+1;j=ip(g)|0;k[e>>2]=j}if((k[e>>2]|0)<2?1:(i[k[g>>2]>>0]|0)!=0){k[f>>2]=1;j=k[f>>2]|0;r=h;return j|0}k[f>>2]=0;if(!(i[(k[c>>2]|0)+229>>0]|0))jp(f,k[c>>2]|0);if(!(k[f>>2]|0)){j=oo(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[f>>2]=j}Gm(k[c>>2]|0);j=k[f>>2]|0;r=h;return j|0}function hp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[d>>2]=a;k[h>>2]=b;k[f>>2]=0;k[e>>2]=0;b=ip(h)|0;k[(k[d>>2]|0)+48>>2]=b;if(!((k[(k[d>>2]|0)+48>>2]|0)!=1?(k[(k[d>>2]|0)+48>>2]|0)<=16:0))k[(k[d>>2]|0)+48>>2]=8;if((i[(k[d>>2]|0)+229>>0]|0)==0?(jp(f,k[d>>2]|0),(k[f>>2]|0)!=0):0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}h=xl(k[d>>2]|0,23,e,0)|0;k[f>>2]=h;if(k[f>>2]|0){k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}else{Ve(k[e>>2]|0,1,2)|0;Ve(k[e>>2]|0,2,k[(k[d>>2]|0)+48>>2]|0)|0;Ee(k[e>>2]|0)|0;h=he(k[e>>2]|0)|0;k[f>>2]=h;k[c>>2]=k[f>>2];h=k[c>>2]|0;r=g;return h|0}return 0}function ip(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[c>>2]=0;while(1){if((i[k[d>>2]>>0]|0)<48){a=5;break}if((i[k[d>>2]>>0]|0)>57){a=5;break}f=(k[c>>2]|0)*10|0;a=k[d>>2]|0;k[d>>2]=a+1;k[c>>2]=f+(i[a>>0]|0)-48}if((a|0)==5){k[k[b>>2]>>2]=k[d>>2];r=e;return k[c>>2]|0}return 0}function jp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d;e=d+12|0;c=d+8|0;k[e>>2]=a;k[c>>2]=b;b=k[e>>2]|0;a=k[(k[c>>2]|0)+12>>2]|0;g=k[(k[c>>2]|0)+20>>2]|0;k[f>>2]=k[(k[c>>2]|0)+16>>2];k[f+4>>2]=g;vl(b,a,24145,f);if(k[k[e>>2]>>2]|0){r=d;return}i[(k[c>>2]|0)+229>>0]=1;r=d;return}function kp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;E=r;r=r+112|0;g=E+24|0;i=E+108|0;j=E+104|0;B=E+100|0;m=E+16|0;n=E+8|0;e=E+96|0;f=E+92|0;d=E+88|0;c=E+84|0;y=E+80|0;z=E+76|0;h=E+72|0;q=E;u=E+68|0;p=E+64|0;C=E+60|0;w=E+56|0;A=E+52|0;D=E+48|0;x=E+44|0;s=E+40|0;t=E+36|0;v=E+32|0;o=E+28|0;k[i>>2]=a;k[j>>2]=b;k[B>>2]=0;b=m;k[b>>2]=0;k[b+4>>2]=0;b=n;k[b>>2]=0;k[b+4>>2]=0;k[e>>2]=0;b=xl(k[i>>2]|0,27,e,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Ve(k[e>>2]|0,1,k[(k[i>>2]|0)+272>>2]|0)|0;Ve(k[e>>2]|0,2,k[(k[i>>2]|0)+248>>2]|0)|0;a:while(1){if(!(k[B>>2]|0))a=(Ee(k[e>>2]|0)|0)==100;else a=0;b=k[e>>2]|0;if(!a)break;b=Ne(b,0)|0;k[d>>2]=b;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue a;a=m;G=k[a>>2]|0;a=k[a+4>>2]|0;F=lp(k[i>>2]|0,k[d>>2]|0,k[c>>2]|0,B)|0;b=m;k[b>>2]=G^F;k[b+4>>2]=a^L;k[c>>2]=(k[c>>2]|0)+1}}G=he(b)|0;k[f>>2]=G;if(!(k[B>>2]|0))k[B>>2]=k[f>>2]}if(k[B>>2]|0){D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}k[y>>2]=k[k[(k[i>>2]|0)+36>>2]>>2];k[z>>2]=0;k[g>>2]=k[(k[i>>2]|0)+216>>2];G=Yd(24222,g)|0;k[h>>2]=G;if(k[h>>2]|0){G=lf(k[(k[i>>2]|0)+12>>2]|0,k[h>>2]|0,-1,z,0)|0;k[B>>2]=G;Ud(k[h>>2]|0)}else k[B>>2]=7;b:while(1){if(!(k[B>>2]|0))a=100==(Ee(k[z>>2]|0)|0);else a=0;b=k[z>>2]|0;if(!a)break;F=Oe(b,0)|0;G=q;k[G>>2]=F;k[G+4>>2]=L;G=dp(k[i>>2]|0,k[z>>2]|0)|0;k[u>>2]=G;k[p>>2]=0;while(1){if(k[B>>2]|0)continue b;if((k[p>>2]|0)>=(k[(k[i>>2]|0)+24>>2]|0))continue b;if(!(l[(k[(k[i>>2]|0)+32>>2]|0)+(k[p>>2]|0)>>0]|0)){G=Pe(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[C>>2]=G;G=Le(k[z>>2]|0,(k[p>>2]|0)+1|0)|0;k[w>>2]=G;k[A>>2]=0;G=Kn(k[(k[i>>2]|0)+36>>2]|0,k[u>>2]|0,k[C>>2]|0,k[w>>2]|0,A)|0;k[B>>2]=G;c:while(1){if(k[B>>2]|0)break;k[x>>2]=0;k[s>>2]=0;k[t>>2]=0;k[v>>2]=0;G=ac[k[(k[y>>2]|0)+20>>2]&255](k[A>>2]|0,D,x,s,t,v)|0;k[B>>2]=G;if(k[B>>2]|0)continue;F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=mp(k[D>>2]|0,k[x>>2]|0,k[u>>2]|0,0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L;k[o>>2]=1;while(1){if((k[o>>2]|0)>=(k[(k[i>>2]|0)+248>>2]|0))continue c;if((k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0)<=(k[x>>2]|0)){F=n;g=k[F>>2]|0;F=k[F+4>>2]|0;h=q;h=mp(k[D>>2]|0,k[(k[(k[i>>2]|0)+252>>2]|0)+((k[o>>2]|0)*24|0)>>2]|0,k[u>>2]|0,k[o>>2]|0,k[h>>2]|0,k[h+4>>2]|0,k[p>>2]|0,k[v>>2]|0)|0;G=n;k[G>>2]=g^h;k[G+4>>2]=F^L}k[o>>2]=(k[o>>2]|0)+1}}if(k[A>>2]|0)bc[k[(k[y>>2]|0)+16>>2]&255](k[A>>2]|0)|0;if((k[B>>2]|0)==101)k[B>>2]=0}k[p>>2]=(k[p>>2]|0)+1}}ge(b)|0;D=m;C=D;C=k[C>>2]|0;D=D+4|0;D=k[D>>2]|0;F=n;G=F;G=k[G>>2]|0;F=F+4|0;F=k[F>>2]|0;G=(C|0)==(G|0);F=(D|0)==(F|0);F=G&F;F=F&1;G=k[j>>2]|0;k[G>>2]=F;G=k[B>>2]|0;r=E;return G|0}function lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+144|0;f=u+140|0;g=u+136|0;h=u+132|0;i=u+128|0;e=u+112|0;l=u+56|0;t=u+48|0;j=u+32|0;q=u+44|0;s=u+40|0;n=u+24|0;m=u+16|0;o=u+8|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;c=j;k[c>>2]=0;k[c+4>>2]=0;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;c=l;b=c+56|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(b|0));k[e+12>>2]=3;d=e+12|0;k[d>>2]=k[d>>2]|16;d=yl(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,-2,0,0,0,1,l)|0;k[t>>2]=d;if(!(k[t>>2]|0)){e=Cl(k[f>>2]|0,l,e)|0;k[t>>2]=e}if(k[t>>2]|0){Jl(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}a:while(1){e=Dl(k[f>>2]|0,l)|0;k[t>>2]=e;if(100!=(e|0))break;k[q>>2]=k[l+48>>2];k[s>>2]=(k[q>>2]|0)+(k[l+52>>2]|0);e=n;k[e>>2]=0;k[e+4>>2]=0;e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=gm(k[q>>2]|0,n)|0;k[q>>2]=(k[q>>2]|0)+e;while(1){if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue a;e=p;k[e>>2]=0;k[e+4>>2]=0;e=gm(k[q>>2]|0,p)|0;k[q>>2]=(k[q>>2]|0)+e;if((k[q>>2]|0)>>>0>=(k[s>>2]|0)>>>0)continue;d=p;e=p;if(!((k[d>>2]|0)==0&(k[d+4>>2]|0)==0|(k[e>>2]|0)==1&(k[e+4>>2]|0)==0)){b=p;b=yR(k[b>>2]|0,k[b+4>>2]|0,2,0)|0;d=o;b=zR(k[d>>2]|0,k[d+4>>2]|0,b|0,L|0)|0;d=o;k[d>>2]=b;k[d+4>>2]=L;d=j;b=k[d>>2]|0;d=k[d+4>>2]|0;a=n;a=mp(k[l+40>>2]|0,k[l+44>>2]|0,k[g>>2]|0,k[h>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[m>>2]|0,k[o>>2]|0)|0;e=j;k[e>>2]=b^a;k[e+4>>2]=d^L;continue}e=m;k[e>>2]=0;k[e+4>>2]=0;e=o;k[e>>2]=0;k[e+4>>2]=0;e=p;c=k[q>>2]|0;if((k[e>>2]|0)!=0|(k[e+4>>2]|0)!=0){e=gm(c,m)|0;k[q>>2]=(k[q>>2]|0)+e;continue}else{d=gm(c,p)|0;k[q>>2]=(k[q>>2]|0)+d;d=p;e=n;d=zR(k[e>>2]|0,k[e+4>>2]|0,k[d>>2]|0,k[d+4>>2]|0)|0;e=n;k[e>>2]=d;k[e+4>>2]=L;continue}}}Jl(l);t=k[t>>2]|0;s=k[i>>2]|0;k[s>>2]=t;s=j;t=s;t=k[t>>2]|0;s=s+4|0;s=k[s>>2]|0;L=s;r=u;return t|0}function mp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;o=r;r=r+48|0;j=o+40|0;l=o+36|0;t=o+32|0;s=o+28|0;u=o+8|0;q=o+24|0;p=o+20|0;m=o+16|0;n=o;k[j>>2]=a;k[l>>2]=b;k[t>>2]=c;k[s>>2]=d;b=u;k[b>>2]=e;k[b+4>>2]=f;k[q>>2]=g;k[p>>2]=h;h=u;b=k[h+4>>2]|0;a=n;k[a>>2]=k[h>>2];k[a+4>>2]=b;a=n;a=ER(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[t>>2]|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=zR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=ER(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[s>>2]|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=zR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=ER(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[q>>2]|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=zR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;a=n;a=ER(k[a>>2]|0,k[a+4>>2]|0,3)|0;b=k[p>>2]|0;b=zR(a|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;a=n;b=zR(k[a>>2]|0,k[a+4>>2]|0,b|0,L|0)|0;a=n;k[a>>2]=b;k[a+4>>2]=L;k[m>>2]=0;while(1){f=n;e=k[f>>2]|0;f=k[f+4>>2]|0;if((k[m>>2]|0)>=(k[l>>2]|0))break;u=ER(e|0,f|0,3)|0;t=i[(k[j>>2]|0)+(k[m>>2]|0)>>0]|0;t=zR(u|0,L|0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;t=zR(k[u>>2]|0,k[u+4>>2]|0,t|0,L|0)|0;u=n;k[u>>2]=t;k[u+4>>2]=L;k[m>>2]=(k[m>>2]|0)+1}L=f;r=o;return e|0}function np(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=0;k[c>>2]=k[(k[b>>2]|0)+12>>2];a:do if(!(k[c>>2]|0))i[(k[b>>2]|0)+6>>0]=1;else do{if(!(l[(k[b>>2]|0)+7>>0]|0))he(k[(k[b>>2]|0)+8>>2]|0)|0;$m(k[b>>2]|0,k[c>>2]|0,d);i[(k[b>>2]|0)+6>>0]=i[(k[c>>2]|0)+32>>0]|0;i[(k[b>>2]|0)+7>>0]=1;k[(k[b>>2]|0)+88>>2]=1;g=(k[c>>2]|0)+24|0;f=k[g+4>>2]|0;a=(k[b>>2]|0)+32|0;k[a>>2]=k[g>>2];k[a+4>>2]=f;if(l[(k[b>>2]|0)+6>>0]|0)break a}while((Wm(k[b>>2]|0,d)|0)!=0);while(0);if(k[d>>2]|0){g=k[d>>2]|0;r=e;return g|0}if(!((l[(k[b>>2]|0)+52>>0]|0|0)==0?(f=(k[b>>2]|0)+32|0,a=k[f+4>>2]|0,g=(k[b>>2]|0)+80|0,c=k[g+4>>2]|0,(a|0)>(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0>(k[g>>2]|0)>>>0:0)):0)){if(!(l[(k[b>>2]|0)+52>>0]|0)){g=k[d>>2]|0;r=e;return g|0}f=(k[b>>2]|0)+32|0;a=k[f+4>>2]|0;g=(k[b>>2]|0)+72|0;c=k[g+4>>2]|0;if(!((a|0)<(c|0)|((a|0)==(c|0)?(k[f>>2]|0)>>>0<(k[g>>2]|0)>>>0:0))){g=k[d>>2]|0;r=e;return g|0}}i[(k[b>>2]|0)+6>>0]=1;g=k[d>>2]|0;r=e;return g|0}function op(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;e=d+8|0;b=d+4|0;c=d;k[e>>2]=a;k[b>>2]=k[e>>2];while(1){if(!(k[b>>2]|0))break;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)break;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}a:while(1){if(!(k[b>>2]|0))break;k[c>>2]=k[(k[b>>2]|0)+8>>2];Op(k[b>>2]|0);if(((k[c>>2]|0)!=0?(k[b>>2]|0)==(k[(k[c>>2]|0)+12>>2]|0):0)?(k[(k[c>>2]|0)+16>>2]|0)!=0:0){k[b>>2]=k[(k[c>>2]|0)+16>>2];while(1){if(!(k[b>>2]|0))continue a;if((k[(k[b>>2]|0)+12>>2]|0)==0?(k[(k[b>>2]|0)+16>>2]|0)==0:0)continue a;a=k[b>>2]|0;if(k[(k[b>>2]|0)+12>>2]|0)a=k[a+12>>2]|0;else a=k[a+16>>2]|0;k[b>>2]=a}}k[b>>2]=k[c>>2]}r=d;return}function pp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+8|0;e=h+20|0;f=h;g=h+16|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;if((k[e>>2]|0)!=0?(a=bf(k[e>>2]|0)|0,k[g>>2]=a,(k[g>>2]|0)==1):0){a=oe(k[e>>2]|0)|0;g=d;k[g>>2]=a;k[g+4>>2]=L;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}a=k[f+4>>2]|0;g=d;k[g>>2]=k[f>>2];k[g+4>>2]=a;g=d;a=g;a=k[a>>2]|0;g=g+4|0;g=k[g>>2]|0;L=g;r=h;return a|0}function qp(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=r;r=r+64|0;q=s+8|0;p=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;l=s+28|0;t=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;k[z>>2]=a;k[y>>2]=b;k[x>>2]=c;k[w>>2]=d;k[v>>2]=e;k[u>>2]=f;k[l>>2]=g;k[t>>2]=h;k[m>>2]=i;k[n>>2]=j;g=Cp(k[z>>2]|0,k[y>>2]|0,k[x>>2]|0,k[w>>2]|0,k[v>>2]|0,k[u>>2]|0,k[l>>2]|0,k[t>>2]|0,k[m>>2]|0)|0;k[o>>2]=g;if(((k[o>>2]|0)==0?(k[k[m>>2]>>2]|0)!=0:0)?(z=Dp(k[m>>2]|0,12)|0,k[o>>2]=z,(k[o>>2]|0)==0):0){z=Ep(k[k[m>>2]>>2]|0,12)|0;k[o>>2]=z}if(!(k[o>>2]|0)){z=k[o>>2]|0;r=s;return z|0}op(k[k[m>>2]>>2]|0);k[k[m>>2]>>2]=0;if((k[o>>2]|0)==18){z=k[n>>2]|0;k[p>>2]=12;Nk(z,24331,p);k[o>>2]=1;z=k[o>>2]|0;r=s;return z|0}if((k[o>>2]|0)!=1){z=k[o>>2]|0;r=s;return z|0}z=k[n>>2]|0;k[q>>2]=k[l>>2];Nk(z,24383,q);z=k[o>>2]|0;r=s;return z|0}function rp(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0;m=r;r=r+48|0;b=m+36|0;n=m+32|0;j=m+28|0;g=m+24|0;f=m+20|0;c=m+16|0;d=m+12|0;e=m+8|0;h=m+4|0;i=m;k[b>>2]=a;k[n>>2]=k[k[b>>2]>>2];k[j>>2]=0;k[g>>2]=0;k[f>>2]=0;sp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,g,f,j);do if((k[j>>2]|0)==0&(k[g>>2]|0)>1?(l[(k[n>>2]|0)+228>>0]|0|0)!=0:0){n=Sd(((k[g>>2]|0)*24|0)+(k[f>>2]<<2<<1)|0)|0;k[c>>2]=n;k[d>>2]=(k[c>>2]|0)+((k[g>>2]|0)*24|0);if(!(k[c>>2]|0)){k[j>>2]=7;break}k[h>>2]=k[c>>2];k[i>>2]=k[d>>2];tp(k[b>>2]|0,0,k[(k[b>>2]|0)+12>>2]|0,h,i,j);k[g>>2]=((k[h>>2]|0)-(k[c>>2]|0)|0)/24|0;k[f>>2]=((k[i>>2]|0)-(k[d>>2]|0)|0)/4|0;a:do if(!(k[j>>2]|0)){n=up(k[b>>2]|0,0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=0;while(1){if(k[j>>2]|0)break a;if((k[e>>2]|0)>=(k[f>>2]|0))break a;n=up(k[b>>2]|0,k[(k[d>>2]|0)+(k[e>>2]<<2)>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[j>>2]=n;k[e>>2]=(k[e>>2]|0)+1}}while(0);Ud(k[c>>2]|0)}while(0);vp(k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,j);r=m;return k[j>>2]|0}function sp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;f=p+32|0;m=p+28|0;g=p+24|0;h=p+20|0;n=p+16|0;i=p+12|0;j=p+8|0;l=p+4|0;o=p;k[f>>2]=a;k[m>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=e;if(!(k[m>>2]|0)){r=p;return}if(k[k[n>>2]>>2]|0){r=p;return}a=k[m>>2]|0;if((k[k[m>>2]>>2]|0)!=5){o=k[h>>2]|0;k[o>>2]=(k[o>>2]|0)+((k[a>>2]|0)==4&1);sp(k[f>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);sp(k[f>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[n>>2]|0);r=p;return}k[j>>2]=k[(k[a+20>>2]|0)+64>>2];h=k[g>>2]|0;k[h>>2]=(k[h>>2]|0)+(k[j>>2]|0);k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[j>>2]|0)){a=9;break}k[l>>2]=(k[(k[m>>2]|0)+20>>2]|0)+72+((k[i>>2]|0)*24|0);h=Ap(k[f>>2]|0,k[k[l>>2]>>2]|0,k[(k[l>>2]|0)+4>>2]|0,k[(k[l>>2]|0)+8>>2]|0,(k[l>>2]|0)+20|0)|0;k[o>>2]=h;if(k[o>>2]|0){a=7;break}k[i>>2]=(k[i>>2]|0)+1}if((a|0)==7){k[k[n>>2]>>2]=k[o>>2];r=p;return}else if((a|0)==9){k[(k[(k[m>>2]|0)+20>>2]|0)+44>>2]=-1;r=p;return}}function tp(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,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;g=q+4|0;i=q;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;if(k[k[p>>2]>>2]|0){r=q;return}c=k[m>>2]|0;if((k[k[m>>2]>>2]|0)==5){k[h>>2]=k[c+20>>2];k[g>>2]=0;while(1){if(k[k[p>>2]>>2]|0){a=13;break}if((k[g>>2]|0)>=(k[(k[h>>2]|0)+64>>2]|0)){a=13;break}m=k[n>>2]|0;o=k[m>>2]|0;k[m>>2]=o+24;k[i>>2]=o;k[k[i>>2]>>2]=k[h>>2];k[(k[i>>2]|0)+4>>2]=k[g>>2];k[(k[i>>2]|0)+12>>2]=k[l>>2];k[(k[i>>2]|0)+8>>2]=(k[h>>2]|0)+72+((k[g>>2]|0)*24|0);k[(k[i>>2]|0)+20>>2]=k[(k[h>>2]|0)+68>>2];o=zp(k[j>>2]|0,k[(k[(k[i>>2]|0)+8>>2]|0)+20>>2]|0,(k[i>>2]|0)+16|0)|0;k[k[p>>2]>>2]=o;k[g>>2]=(k[g>>2]|0)+1}if((a|0)==13){r=q;return}}if((k[c>>2]|0)==2){r=q;return}if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+12>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}tp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+12>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);if((k[k[m>>2]>>2]|0)==4){k[l>>2]=k[(k[m>>2]|0)+16>>2];k[k[k[o>>2]>>2]>>2]=k[l>>2];i=k[o>>2]|0;k[i>>2]=(k[i>>2]|0)+4}tp(k[j>>2]|0,k[l>>2]|0,k[(k[m>>2]|0)+16>>2]|0,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0);r=q;return}function up(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;e=B+76|0;f=B+72|0;g=B+68|0;h=B+64|0;i=B+60|0;w=B+56|0;n=B+52|0;z=B+48|0;l=B+44|0;s=B+40|0;t=B+36|0;q=B+32|0;p=B+28|0;j=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;o=B+8|0;u=B+4|0;m=B;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[w>>2]=k[k[f>>2]>>2];k[n>>2]=0;k[z>>2]=0;k[s>>2]=0;k[t>>2]=0;k[q>>2]=0;k[p>>2]=1;if(k[(k[w>>2]|0)+40>>2]|0){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}k[l>>2]=0;while(1){if((k[l>>2]|0)>=(k[i>>2]|0))break;if((k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0)){k[s>>2]=(k[s>>2]|0)+(k[(k[h>>2]|0)+((k[l>>2]|0)*24|0)+16>>2]|0);k[t>>2]=(k[t>>2]|0)+1}k[l>>2]=(k[l>>2]|0)+1}if((k[s>>2]|0)==0|(k[t>>2]|0)<2){k[e>>2]=0;A=k[e>>2]|0;r=B;return A|0}b=wp(k[f>>2]|0,n)|0;k[z>>2]=b;k[l>>2]=0;while(1){if(!((k[l>>2]|0)<(k[t>>2]|0)?(k[z>>2]|0)==0:0))break;k[v>>2]=0;k[j>>2]=0;while(1){if((k[j>>2]|0)>=(k[i>>2]|0))break;do if((k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+8>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+12>>2]|0)==(k[g>>2]|0):0){if((k[v>>2]|0)!=0?(k[(k[h>>2]|0)+((k[j>>2]|0)*24|0)+16>>2]|0)>=(k[(k[v>>2]|0)+16>>2]|0):0)break;k[v>>2]=(k[h>>2]|0)+((k[j>>2]|0)*24|0)}while(0);k[j>>2]=(k[j>>2]|0)+1}if((k[l>>2]|0)!=0?(k[(k[v>>2]|0)+16>>2]|0)>=(ha(((k[q>>2]|0)+((k[p>>2]|0)/4|0)-1|0)/((k[p>>2]|0)/4|0|0)|0,k[n>>2]|0)|0):0){k[x>>2]=k[(k[v>>2]|0)+8>>2];b=xp(k[f>>2]|0,k[x>>2]|0,k[(k[v>>2]|0)+20>>2]|0)|0;k[z>>2]=b;wn(k[(k[x>>2]|0)+20>>2]|0);k[(k[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((k[l>>2]|0)<12)k[p>>2]=k[p>>2]<<2;if(k[l>>2]|0){if((k[(k[k[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((k[l>>2]|0)==((k[t>>2]|0)-1|0))break}k[y>>2]=k[(k[v>>2]|0)+8>>2];k[o>>2]=0;k[u>>2]=0;b=pn(k[w>>2]|0,k[y>>2]|0,k[(k[v>>2]|0)+20>>2]|0,o,u)|0;k[z>>2]=b;if(!(k[z>>2]|0)){b=qn(k[w>>2]|0,k[k[v>>2]>>2]|0,k[(k[v>>2]|0)+4>>2]|0,k[u>>2]|0,k[o>>2]|0)|0;k[z>>2]=b}if(!(k[z>>2]|0)){b=yp(k[k[k[v>>2]>>2]>>2]|0,k[(k[k[v>>2]>>2]|0)+4>>2]|0)|0;k[m>>2]=b;if((k[l>>2]|0)!=0?(k[m>>2]|0)>=(k[q>>2]|0):0)break;k[q>>2]=k[m>>2]}}while(0);k[(k[v>>2]|0)+8>>2]=0;k[l>>2]=(k[l>>2]|0)+1}k[e>>2]=k[z>>2];A=k[e>>2]|0;r=B;return A|0}function vp(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;j=r;r=r+32|0;d=j+16|0;h=j+12|0;e=j+8|0;g=j+4|0;f=j;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;if(!(k[h>>2]|0)){r=j;return}if(k[k[e>>2]>>2]|0){r=j;return}if((k[k[h>>2]>>2]|0)!=5){vp(k[d>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[e>>2]|0);vp(k[d>>2]|0,k[(k[h>>2]|0)+16>>2]|0,k[e>>2]|0);if(l[(k[(k[h>>2]|0)+12>>2]|0)+34>>0]|0)d=(l[(k[(k[h>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else d=0;i[(k[h>>2]|0)+34>>0]=d&1;r=j;return}k[g>>2]=k[(k[(k[h>>2]|0)+20>>2]|0)+64>>2];if(k[g>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[g>>2]|0))break;if(!(k[(k[(k[h>>2]|0)+20>>2]|0)+72+((k[f>>2]|0)*24|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}i[(k[h>>2]|0)+34>>0]=(k[f>>2]|0)==(k[g>>2]|0)}h=mn(k[d>>2]|0,1,k[(k[h>>2]|0)+20>>2]|0)|0;k[k[e>>2]>>2]=h;r=j;return}function wp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;c=n+44|0;d=n+40|0;e=n+36|0;m=n+32|0;i=n+28|0;l=n+24|0;h=n+8|0;g=n;j=n+20|0;f=n+16|0;k[d>>2]=a;k[e>>2]=b;if(!(k[(k[d>>2]|0)+60>>2]|0)){k[i>>2]=k[k[d>>2]>>2];b=h;k[b>>2]=0;k[b+4>>2]=0;b=g;k[b>>2]=0;k[b+4>>2]=0;b=Xn(k[i>>2]|0,l)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}b=Ke(k[l>>2]|0,0)|0;k[f>>2]=b;b=Le(k[l>>2]|0,0)|0;k[j>>2]=(k[f>>2]|0)+b;b=gm(k[f>>2]|0,h)|0;k[f>>2]=(k[f>>2]|0)+b;while(1){if((k[f>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break;b=gm(k[f>>2]|0,g)|0;k[f>>2]=(k[f>>2]|0)+b}j=h;b=g;if((k[j>>2]|0)==0&(k[j+4>>2]|0)==0|(k[b>>2]|0)==0&(k[b+4>>2]|0)==0){he(k[l>>2]|0)|0;k[c>>2]=267;m=k[c>>2]|0;r=n;return m|0}a=h;b=k[a+4>>2]|0;j=(k[d>>2]|0)+64|0;k[j>>2]=k[a>>2];k[j+4>>2]=b;j=g;b=h;b=IR(k[j>>2]|0,k[j+4>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;j=k[(k[i>>2]|0)+236>>2]|0;j=zR(b|0,L|0,j|0,((j|0)<0)<<31>>31|0)|0;b=k[(k[i>>2]|0)+236>>2]|0;b=IR(j|0,L|0,b|0,((b|0)<0)<<31>>31|0)|0;k[(k[d>>2]|0)+60>>2]=b;b=he(k[l>>2]|0)|0;k[m>>2]=b;if(k[m>>2]|0){k[c>>2]=k[m>>2];m=k[c>>2]|0;r=n;return m|0}}k[k[e>>2]>>2]=k[(k[d>>2]|0)+60>>2];k[c>>2]=0;m=k[c>>2]|0;r=n;return m|0}function xp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;b=Sd(16)|0;k[h>>2]=b;if(k[h>>2]|0){b=k[h>>2]|0;k[b>>2]=0;k[b+4>>2]=0;k[b+8>>2]=0;k[b+12>>2]=0;k[k[h>>2]>>2]=k[f>>2];k[(k[h>>2]|0)+8>>2]=k[(k[e>>2]|0)+24>>2];k[(k[h>>2]|0)+4>>2]=k[g>>2];k[(k[e>>2]|0)+24>>2]=k[h>>2];k[(k[f>>2]|0)+16>>2]=k[h>>2];k[d>>2]=0;b=k[d>>2]|0;r=i;return b|0}else{k[d>>2]=7;b=k[d>>2]|0;r=i;return b|0}return 0}function yp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;if(!(k[c>>2]|0)){g=k[f>>2]|0;r=h;return g|0}k[e>>2]=(k[c>>2]|0)+(k[d>>2]|0);k[g>>2]=k[c>>2];while(1){if((k[g>>2]|0)>>>0>=(k[e>>2]|0)>>>0)break;k[f>>2]=(k[f>>2]|0)+1;do{b=k[g>>2]|0;k[g>>2]=b+1}while((i[b>>0]&128|0)!=0);lm(0,g)}g=k[f>>2]|0;r=h;return g|0}function zp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+48|0;q=p+44|0;d=p+40|0;m=p+36|0;h=p+32|0;n=p+28|0;e=p+24|0;o=p+20|0;j=p+16|0;i=p+12|0;f=p;g=p+8|0;k[q>>2]=a;k[d>>2]=b;k[m>>2]=c;k[h>>2]=k[k[q>>2]>>2];k[n>>2]=0;k[o>>2]=0;k[j>>2]=k[(k[h>>2]|0)+236>>2];k[e>>2]=0;while(1){if(k[o>>2]|0){d=13;break}if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0)){d=13;break}k[i>>2]=k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<2)>>2];a:do if((k[(k[i>>2]|0)+56>>2]|0)==0?(l[(k[i>>2]|0)+5>>0]|0|0)==0:0){b=(k[i>>2]|0)+8|0;c=k[b+4>>2]|0;q=f;k[q>>2]=k[b>>2];k[q+4>>2]=c;while(1){c=f;a=k[c+4>>2]|0;q=(k[i>>2]|0)+16|0;b=k[q+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(k[c>>2]|0)>>>0<=(k[q>>2]|0)>>>0:0)))break a;q=f;q=om(k[h>>2]|0,k[q>>2]|0,k[q+4>>2]|0,0,g,0)|0;k[o>>2]=q;if(k[o>>2]|0)break a;if(((k[g>>2]|0)+35|0)>(k[j>>2]|0))k[n>>2]=(k[n>>2]|0)+(((k[g>>2]|0)+34|0)/(k[j>>2]|0)|0);c=f;c=zR(k[c>>2]|0,k[c+4>>2]|0,1,0)|0;q=f;k[q>>2]=c;k[q+4>>2]=L}}while(0);k[e>>2]=(k[e>>2]|0)+1}if((d|0)==13){k[k[m>>2]>>2]=k[n>>2];r=p;return k[o>>2]|0}return 0}function Ap(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;f=q+36|0;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;l=q+4|0;n=q;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;k[p>>2]=7;b=Sd(56)|0;k[o>>2]=b;if(!(k[o>>2]|0)){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}k[l>>2]=0;k[n>>2]=k[k[f>>2]>>2];a:do if(k[i>>2]|0){k[m>>2]=1;while(1){if(k[l>>2]|0)break;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==(k[h>>2]|0)){k[l>>2]=1;b=yl(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,0,0,k[o>>2]|0)|0;k[p>>2]=b;k[(k[o>>2]|0)+36>>2]=1}k[m>>2]=(k[m>>2]|0)+1}k[m>>2]=1;while(1){if(k[l>>2]|0)break a;if((k[m>>2]|0)>=(k[(k[n>>2]|0)+248>>2]|0))break a;if((k[(k[(k[n>>2]|0)+252>>2]|0)+((k[m>>2]|0)*24|0)>>2]|0)==((k[h>>2]|0)+1|0)?(k[l>>2]=1,b=yl(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[m>>2]|0,-2,k[g>>2]|0,k[h>>2]|0,1,0,k[o>>2]|0)|0,k[p>>2]=b,(k[p>>2]|0)==0):0){b=Bp(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0,k[h>>2]|0,k[o>>2]|0)|0;k[p>>2]=b}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[l>>2]|0){e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}e=yl(k[n>>2]|0,k[(k[f>>2]|0)+16>>2]|0,0,-2,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,0,k[o>>2]|0)|0;k[p>>2]=e;k[(k[o>>2]|0)+36>>2]=((k[i>>2]|0)!=0^1)&1;e=k[o>>2]|0;b=k[j>>2]|0;k[b>>2]=e;b=k[p>>2]|0;r=q;return b|0}function Bp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;l=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;k[l>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[g>>2]=e;c=rm(k[l>>2]|0,k[j>>2]|0,0,-2,k[i>>2]|0,k[h>>2]|0,0,0,k[g>>2]|0)|0;r=f;return c|0}function Cp(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=r;r=r+96|0;j=y+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;k[l>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[q>>2]=f;k[s>>2]=g;k[t>>2]=h;k[u>>2]=i;c=x;d=c+36|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));k[x>>2]=k[l>>2];k[x+4>>2]=k[m>>2];k[x+8>>2]=k[n>>2];k[x+16>>2]=k[p>>2];k[x+20>>2]=k[q>>2];k[x+12>>2]=k[o>>2];if(!(k[s>>2]|0)){k[k[u>>2]>>2]=0;k[j>>2]=0;x=k[j>>2]|0;r=y;return x|0}if((k[t>>2]|0)<0){q=UQ(k[s>>2]|0)|0;k[t>>2]=q}v=Fp(x,k[s>>2]|0,k[t>>2]|0,k[u>>2]|0,v)|0;k[w>>2]=v;if((k[w>>2]|0)==0?(k[x+32>>2]|0)!=0:0)k[w>>2]=1;k[j>>2]=k[w>>2];x=k[j>>2]|0;r=y;return x|0}function Dp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;e=t+52|0;f=t+48|0;q=t+44|0;p=t+40|0;n=t+36|0;h=t+32|0;g=t+28|0;i=t+24|0;l=t+20|0;j=t+16|0;o=t+12|0;m=t+8|0;c=t+4|0;d=t;k[e>>2]=a;k[f>>2]=b;k[q>>2]=0;k[p>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[h>>2]=k[k[p>>2]>>2];if(!(k[f>>2]|0))k[q>>2]=1;do if(!(k[q>>2]|0)){if(!((k[h>>2]|0)==3|(k[h>>2]|0)==4)){if((k[h>>2]|0)!=2)break;k[c>>2]=k[(k[p>>2]|0)+12>>2];k[d>>2]=k[(k[p>>2]|0)+16>>2];k[(k[p>>2]|0)+12>>2]=0;k[(k[p>>2]|0)+16>>2]=0;k[(k[c>>2]|0)+8>>2]=0;k[(k[d>>2]|0)+8>>2]=0;s=Dp(c,(k[f>>2]|0)-1|0)|0;k[q>>2]=s;if(!(k[q>>2]|0)){s=Dp(d,(k[f>>2]|0)-1|0)|0;k[q>>2]=s}if(k[q>>2]|0){op(k[d>>2]|0);op(k[c>>2]|0);break}else{k[(k[p>>2]|0)+12>>2]=k[c>>2];k[(k[c>>2]|0)+8>>2]=k[p>>2];k[(k[p>>2]|0)+16>>2]=k[d>>2];k[(k[d>>2]|0)+8>>2]=k[p>>2];break}}a=Sd(k[f>>2]<<2)|0;k[g>>2]=a;if(!(k[g>>2]|0))k[q>>2]=7;else DR(k[g>>2]|0,0,k[f>>2]<<2|0)|0;if(!(k[q>>2]|0)){k[l>>2]=k[p>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}while(1){k[o>>2]=k[(k[l>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;if(k[o>>2]|0)k[(k[o>>2]|0)+12>>2]=0;else k[p>>2]=0;a=Dp(l,(k[f>>2]|0)-1|0)|0;k[q>>2]=a;if(k[q>>2]|0)break;k[j>>2]=0;while(1){if(!(k[l>>2]|0))break;if((k[j>>2]|0)>=(k[f>>2]|0))break;if(!(k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]|0)){k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=k[l>>2];k[l>>2]=0}else{k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[j>>2]<<2)>>2];k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;k[(k[g>>2]|0)+(k[j>>2]<<2)>>2]=0}k[j>>2]=(k[j>>2]|0)+1}if(k[l>>2]|0){s=24;break}if(!(k[o>>2]|0))break;k[l>>2]=k[(k[o>>2]|0)+16>>2];while(1){if((k[k[l>>2]>>2]|0)!=(k[h>>2]|0))break;k[l>>2]=k[(k[l>>2]|0)+12>>2]}k[(k[(k[o>>2]|0)+16>>2]|0)+8>>2]=k[(k[o>>2]|0)+8>>2];b=k[(k[o>>2]|0)+16>>2]|0;if(k[(k[o>>2]|0)+8>>2]|0)k[(k[(k[o>>2]|0)+8>>2]|0)+12>>2]=b;else k[p>>2]=b;k[(k[o>>2]|0)+8>>2]=k[n>>2];k[n>>2]=k[o>>2]}if((s|0)==24){op(k[l>>2]|0);k[q>>2]=18}a:do if(!(k[q>>2]|0)){k[l>>2]=0;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;do if(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0)if(!(k[l>>2]|0)){k[l>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[l>>2]|0)+8>>2]=0;break}else{k[(k[n>>2]|0)+16>>2]=k[l>>2];k[(k[n>>2]|0)+12>>2]=k[(k[g>>2]|0)+(k[i>>2]<<2)>>2];k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2]=k[n>>2];k[(k[(k[n>>2]|0)+16>>2]|0)+8>>2]=k[n>>2];k[l>>2]=k[n>>2];k[n>>2]=k[(k[n>>2]|0)+8>>2];k[(k[l>>2]|0)+8>>2]=0;break}while(0);k[i>>2]=(k[i>>2]|0)+1}k[p>>2]=k[l>>2]}else{k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[f>>2]|0))break;op(k[(k[g>>2]|0)+(k[i>>2]<<2)>>2]|0);k[i>>2]=(k[i>>2]|0)+1}while(1){s=k[n>>2]|0;k[m>>2]=s;if(!s)break a;k[n>>2]=k[(k[m>>2]|0)+8>>2];Ud(k[m>>2]|0)}}while(0);Ud(k[g>>2]|0)}}while(0);if(!(k[q>>2]|0)){p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}op(k[p>>2]|0);k[p>>2]=0;p=k[p>>2]|0;s=k[e>>2]|0;k[s>>2]=p;s=k[q>>2]|0;r=t;return s|0}function Ep(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;do if(k[c>>2]|0){if((k[d>>2]|0)<0){k[e>>2]=18;break}a=Ep(k[(k[c>>2]|0)+12>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a;if(!(k[e>>2]|0)){a=Ep(k[(k[c>>2]|0)+16>>2]|0,(k[d>>2]|0)-1|0)|0;k[e>>2]=a}}while(0);r=f;return k[e>>2]|0}function Fp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=r;r=r+80|0;f=x+64|0;y=x+60|0;n=x+56|0;o=x+52|0;p=x+48|0;v=x+44|0;l=x+40|0;u=x+36|0;s=x+32|0;m=x+28|0;w=x+24|0;q=x+20|0;t=x+16|0;i=x+12|0;h=x+8|0;g=x+4|0;j=x;k[f>>2]=a;k[y>>2]=b;k[n>>2]=c;k[o>>2]=d;k[p>>2]=e;k[v>>2]=0;k[l>>2]=0;k[u>>2]=0;k[s>>2]=k[n>>2];k[m>>2]=k[y>>2];k[w>>2]=0;k[q>>2]=1;while(1){if(k[w>>2]|0){c=25;break}k[t>>2]=0;k[i>>2]=0;y=Gp(k[f>>2]|0,k[m>>2]|0,k[s>>2]|0,t,i)|0;k[w>>2]=y;if((k[w>>2]|0)==0&(k[t>>2]|0)!=0){k[g>>2]=k[k[t>>2]>>2];if((k[g>>2]|0)==5)c=1;else c=(k[(k[t>>2]|0)+12>>2]|0)!=0;k[h>>2]=c&1;if((k[h>>2]|0)==0&(k[q>>2]|0)!=0){c=7;break}if(!((k[h>>2]|0)==0|(k[q>>2]|0)!=0)){y=Hp(48)|0;k[j>>2]=y;if(!(k[j>>2]|0)){c=10;break}k[k[j>>2]>>2]=3;Ip(v,k[l>>2]|0,k[j>>2]|0);k[l>>2]=k[j>>2]}if(k[l>>2]|0){if(!((k[g>>2]|0)!=1|(k[h>>2]|0)!=0)?(k[k[l>>2]>>2]|0)!=5:0){c=17;break}if((k[g>>2]|0)!=5&(k[h>>2]|0)!=0?(k[k[l>>2]>>2]|0)==1:0){c=17;break}}do if(k[h>>2]|0){c=k[t>>2]|0;if(k[v>>2]|0){k[(k[l>>2]|0)+16>>2]=c;k[(k[t>>2]|0)+8>>2]=k[l>>2];break}else{k[v>>2]=c;break}}else Ip(v,k[l>>2]|0,k[t>>2]|0);while(0);k[q>>2]=((k[h>>2]|0)!=0^1)&1;k[l>>2]=k[t>>2]}k[s>>2]=(k[s>>2]|0)-(k[i>>2]|0);k[m>>2]=(k[m>>2]|0)+(k[i>>2]|0)}if((c|0)==7){op(k[t>>2]|0);k[w>>2]=1}else if((c|0)==10){op(k[t>>2]|0);k[w>>2]=7}else if((c|0)==17){op(k[t>>2]|0);k[w>>2]=1}else if((c|0)==25){if((k[w>>2]|0)==101&(k[v>>2]|0)!=0&(k[q>>2]|0)!=0)k[w>>2]=1;if((k[w>>2]|0)==101)k[w>>2]=0;k[k[p>>2]>>2]=(k[n>>2]|0)-(k[s>>2]|0)}if(!(k[w>>2]|0)){v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}op(k[v>>2]|0);op(k[u>>2]|0);k[v>>2]=0;v=k[v>>2]|0;y=k[o>>2]|0;k[y>>2]=v;y=k[w>>2]|0;r=x;return y|0}function Gp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+80|0;o=E+72|0;p=E+68|0;q=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;n=E+32|0;B=E+28|0;y=E+24|0;m=E+20|0;j=E+16|0;h=E+12|0;f=E+76|0;g=E+8|0;C=E+4|0;z=E;k[p>>2]=a;k[q>>2]=b;k[s>>2]=c;k[t>>2]=d;k[u>>2]=e;k[n>>2]=0;k[B>>2]=k[q>>2];k[y>>2]=k[s>>2];k[(k[p>>2]|0)+24>>2]=0;while(1){if((k[y>>2]|0)>0)a=(Kp(i[k[B>>2]>>0]|0)|0)!=0;else a=0;c=k[y>>2]|0;if(!a)break;k[y>>2]=c+-1;k[B>>2]=(k[B>>2]|0)+1}if(!c){k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[x>>2]=0;while(1){if((k[x>>2]|0)>=4)break;k[m>>2]=2092+(k[x>>2]<<3);if(((l[(k[m>>2]|0)+5>>0]&-2|0)==0?(k[y>>2]|0)>=(l[(k[m>>2]|0)+4>>0]|0):0)?0==(OQ(k[B>>2]|0,k[k[m>>2]>>2]|0,l[(k[m>>2]|0)+4>>0]|0)|0):0){k[j>>2]=10;k[h>>2]=l[(k[m>>2]|0)+4>>0];a:do if((((l[(k[m>>2]|0)+6>>0]|0)==1?(i[(k[B>>2]|0)+4>>0]|0)==47:0)?(i[(k[B>>2]|0)+5>>0]|0)>=48:0)?(i[(k[B>>2]|0)+5>>0]|0)<=57:0){k[j>>2]=0;k[h>>2]=5;while(1){if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)<48)break a;if((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)>57)break a;k[j>>2]=((k[j>>2]|0)*10|0)+((i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0)-48);k[h>>2]=(k[h>>2]|0)+1}}while(0);i[f>>0]=i[(k[B>>2]|0)+(k[h>>2]|0)>>0]|0;if(Kp(i[f>>0]|0)|0){D=26;break}if((i[f>>0]|0)==34){D=26;break}if((i[f>>0]|0)==40){D=26;break}if((i[f>>0]|0)==41){D=26;break}if(!(i[f>>0]|0)){D=26;break}}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==26){D=Hp(48)|0;k[n>>2]=D;if(k[n>>2]|0){k[k[n>>2]>>2]=l[(k[m>>2]|0)+6>>0];k[(k[n>>2]|0)+4>>2]=k[j>>2];k[k[t>>2]>>2]=k[n>>2];k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[h>>2]|0);k[o>>2]=0;D=k[o>>2]|0;r=E;return D|0}else{k[o>>2]=7;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==34){k[x>>2]=1;while(1){if((k[x>>2]|0)>=(k[y>>2]|0))break;if((i[(k[B>>2]|0)+(k[x>>2]|0)>>0]|0)==34)break;k[x>>2]=(k[x>>2]|0)+1}k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[x>>2]|0)+1;if((k[x>>2]|0)==(k[y>>2]|0)){k[o>>2]=1;D=k[o>>2]|0;r=E;return D|0}else{D=Lp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[x>>2]|0)-1|0,k[t>>2]|0)|0;k[o>>2]=D;D=k[o>>2]|0;r=E;return D|0}}if((i[k[B>>2]>>0]|0)==40){k[g>>2]=0;D=(k[p>>2]|0)+32|0;k[D>>2]=(k[D>>2]|0)+1;D=Fp(k[p>>2]|0,(k[B>>2]|0)+1|0,(k[y>>2]|0)-1|0,k[t>>2]|0,g)|0;k[A>>2]=D;if((k[A>>2]|0)==0?(k[k[t>>2]>>2]|0)==0:0)k[A>>2]=101;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1+(k[g>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}c=k[p>>2]|0;if((i[k[B>>2]>>0]|0)==41){D=c+32|0;k[D>>2]=(k[D>>2]|0)+-1;k[k[u>>2]>>2]=(k[B>>2]|0)-(k[q>>2]|0)+1;k[k[t>>2]>>2]=0;k[o>>2]=101;D=k[o>>2]|0;r=E;return D|0}k[v>>2]=k[c+20>>2];k[w>>2]=0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[p>>2]|0)+16>>2]|0))break;k[C>>2]=k[(k[(k[p>>2]|0)+8>>2]|0)+(k[x>>2]<<2)>>2];n=UQ(k[C>>2]|0)|0;k[z>>2]=n;if(((k[y>>2]|0)>(k[z>>2]|0)?(i[(k[B>>2]|0)+(k[z>>2]|0)>>0]|0)==58:0)?(Jd(k[C>>2]|0,k[B>>2]|0,k[z>>2]|0)|0)==0:0){D=50;break}k[x>>2]=(k[x>>2]|0)+1}if((D|0)==50){k[v>>2]=k[x>>2];k[w>>2]=(k[B>>2]|0)-(k[q>>2]|0)+(k[z>>2]|0)+1}D=Mp(k[p>>2]|0,k[v>>2]|0,(k[q>>2]|0)+(k[w>>2]|0)|0,(k[s>>2]|0)-(k[w>>2]|0)|0,k[t>>2]|0,k[u>>2]|0)|0;k[A>>2]=D;D=k[u>>2]|0;k[D>>2]=(k[D>>2]|0)+(k[w>>2]|0);k[o>>2]=k[A>>2];D=k[o>>2]|0;r=E;return D|0}function Hp(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=Sd(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){c=k[c>>2]|0;r=d;return c|0}DR(k[c>>2]|0,0,k[b>>2]|0)|0;c=k[c>>2]|0;r=d;return c|0}function Ip(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;k[f>>2]=k[h>>2];while(1){if(k[(k[f>>2]|0)+8>>2]|0){c=Jp(k[(k[f>>2]|0)+8>>2]|0)|0;c=(c|0)<=(Jp(k[e>>2]|0)|0)}else c=0;b=k[(k[f>>2]|0)+8>>2]|0;if(!c)break;k[f>>2]=b}c=k[e>>2]|0;if(b){k[(k[(k[f>>2]|0)+8>>2]|0)+16>>2]=c;k[(k[e>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2];d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}else{k[k[d>>2]>>2]=c;d=k[f>>2]|0;h=k[e>>2]|0;h=h+12|0;k[h>>2]=d;e=k[e>>2]|0;h=k[f>>2]|0;h=h+8|0;k[h>>2]=e;r=g;return}}function Jp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return k[k[b>>2]>>2]|0}function Kp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;if(((((i[b>>0]|0)!=32?(i[b>>0]|0)!=9:0)?(i[b>>0]|0)!=10:0)?(i[b>>0]|0)!=13:0)?(i[b>>0]|0)!=11:0)b=(i[b>>0]|0)==12;else b=1;r=c;return b&1|0}function Lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+96|0;e=D+88|0;f=D+84|0;g=D+80|0;h=D+76|0;j=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;o=D+32|0;A=D+28|0;q=D+24|0;l=D+20|0;m=D+16|0;n=D+12|0;x=D+8|0;p=D+4|0;z=D;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;k[E>>2]=k[k[f>>2]>>2];k[w>>2]=k[k[E>>2]>>2];k[u>>2]=0;k[v>>2]=0;k[B>>2]=0;k[s>>2]=0;k[D+40>>2]=144;k[t>>2]=0;b=Kn(k[E>>2]|0,k[(k[f>>2]|0)+4>>2]|0,k[g>>2]|0,k[h>>2]|0,v)|0;k[y>>2]=b;a:do if(!(k[y>>2]|0)){k[o>>2]=0;while(1){if(k[y>>2]|0)break;k[q>>2]=0;k[l>>2]=0;k[m>>2]=0;k[n>>2]=0;E=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,q,l,m,n)|0;k[y>>2]=E;if(!(k[y>>2]|0)){E=Np(k[u>>2]|0,144+((k[o>>2]|0)*24|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break a;E=Np(k[B>>2]|0,(k[s>>2]|0)+(k[q>>2]|0)|0)|0;k[B>>2]=E;if(!(k[B>>2]|0))break a;k[x>>2]=(k[u>>2]|0)+48+72+((k[o>>2]|0)*24|0);E=k[x>>2]|0;k[E>>2]=0;k[E+4>>2]=0;k[E+8>>2]=0;k[E+12>>2]=0;k[E+16>>2]=0;k[E+20>>2]=0;BR((k[B>>2]|0)+(k[s>>2]|0)|0,k[A>>2]|0,k[q>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+(k[q>>2]|0);k[(k[x>>2]|0)+4>>2]=k[q>>2];if((k[m>>2]|0)<(k[h>>2]|0))c=(i[(k[g>>2]|0)+(k[m>>2]|0)>>0]|0)==42;else c=0;k[(k[x>>2]|0)+8>>2]=c&1;if((k[l>>2]|0)>0)c=(i[(k[g>>2]|0)+((k[l>>2]|0)-1)>>0]|0)==94;else c=0;k[(k[x>>2]|0)+12>>2]=c&1;k[t>>2]=(k[o>>2]|0)+1}k[o>>2]=(k[o>>2]|0)+1}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;k[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((k[y>>2]|0)==101){k[z>>2]=0;E=Np(k[u>>2]|0,144+((k[t>>2]|0)*24|0)+(k[s>>2]|0)|0)|0;k[u>>2]=E;if(!(k[u>>2]|0))break;DR(k[u>>2]|0,0,(k[u>>2]|0)+48+72-(k[u>>2]|0)|0)|0;k[k[u>>2]>>2]=5;k[(k[u>>2]|0)+20>>2]=(k[u>>2]|0)+48;k[(k[(k[u>>2]|0)+20>>2]|0)+68>>2]=k[(k[f>>2]|0)+20>>2];k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]=k[t>>2];k[z>>2]=(k[(k[u>>2]|0)+20>>2]|0)+72+((k[t>>2]|0)*24|0);if(k[B>>2]|0){BR(k[z>>2]|0,k[B>>2]|0,k[s>>2]|0)|0;Ud(k[B>>2]|0)}k[p>>2]=0;while(1){if((k[p>>2]|0)>=(k[(k[(k[u>>2]|0)+20>>2]|0)+64>>2]|0))break;k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)>>2]=k[z>>2];k[z>>2]=(k[z>>2]|0)+(k[(k[(k[u>>2]|0)+20>>2]|0)+72+((k[p>>2]|0)*24|0)+4>>2]|0);k[p>>2]=(k[p>>2]|0)+1}k[y>>2]=0}k[k[j>>2]>>2]=k[u>>2];k[e>>2]=k[y>>2];E=k[e>>2]|0;r=D;return E|0}while(0);if(k[v>>2]|0)bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;Ud(k[B>>2]|0);Ud(k[u>>2]|0);k[k[j>>2]>>2]=0;k[e>>2]=7;E=k[e>>2]|0;r=D;return E|0}function Mp(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+80|0;g=B+68|0;h=B+64|0;j=B+60|0;l=B+56|0;m=B+52|0;n=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;o=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;p=B+8|0;q=B+4|0;t=B;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[y>>2]=k[k[g>>2]>>2];k[w>>2]=k[k[y>>2]>>2];k[x>>2]=0;k[o>>2]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[l>>2]|0))break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==40)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==41)break;if((i[(k[j>>2]|0)+(k[o>>2]|0)>>0]|0)==34)break;k[o>>2]=(k[o>>2]|0)+1}k[k[n>>2]>>2]=k[o>>2];c=Kn(k[y>>2]|0,k[(k[g>>2]|0)+4>>2]|0,k[j>>2]|0,k[o>>2]|0,v)|0;k[z>>2]=c;if(k[z>>2]|0){c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}k[u>>2]=0;k[s>>2]=0;k[p>>2]=0;k[q>>2]=0;c=ac[k[(k[w>>2]|0)+20>>2]&255](k[v>>2]|0,A,u,s,p,q)|0;k[z>>2]=c;if(k[z>>2]|0){if((k[o>>2]|0)!=0&(k[z>>2]|0)==101)k[z>>2]=0}else{k[t>>2]=144+(k[u>>2]|0);c=Hp(k[t>>2]|0)|0;k[x>>2]=c;a:do if(k[x>>2]|0){k[k[x>>2]>>2]=5;k[(k[x>>2]|0)+20>>2]=(k[x>>2]|0)+48;k[(k[(k[x>>2]|0)+20>>2]|0)+64>>2]=1;k[(k[(k[x>>2]|0)+20>>2]|0)+68>>2]=k[h>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72+4>>2]=k[u>>2];k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]=(k[(k[x>>2]|0)+20>>2]|0)+96;BR(k[(k[(k[x>>2]|0)+20>>2]|0)+72>>2]|0,k[A>>2]|0,k[u>>2]|0)|0;if((k[p>>2]|0)<(k[l>>2]|0)?(i[(k[j>>2]|0)+(k[p>>2]|0)>>0]|0)==42:0){k[(k[(k[x>>2]|0)+20>>2]|0)+72+8>>2]=1;k[p>>2]=(k[p>>2]|0)+1}while(1){if(!((k[s>>2]|0)>0?(k[(k[g>>2]|0)+12>>2]|0)!=0:0))break a;if((i[(k[j>>2]|0)+((k[s>>2]|0)-1)>>0]|0)!=94)break a;k[(k[(k[x>>2]|0)+20>>2]|0)+72+12>>2]=1;k[s>>2]=(k[s>>2]|0)+-1}}else k[z>>2]=7;while(0);k[k[n>>2]>>2]=k[p>>2]}bc[k[(k[w>>2]|0)+16>>2]&255](k[v>>2]|0)|0;c=k[x>>2]|0;A=k[m>>2]|0;k[A>>2]=c;A=k[z>>2]|0;r=B;return A|0}function Np(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=Vd(k[c>>2]|0,k[f>>2]|0)|0;k[d>>2]=a;if(k[d>>2]|0){f=k[d>>2]|0;r=e;return f|0}Ud(k[c>>2]|0);f=k[d>>2]|0;r=e;return f|0}function Op(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;Pp(k[(k[c>>2]|0)+20>>2]|0);Ud(k[(k[c>>2]|0)+40>>2]|0);Ud(k[c>>2]|0);r=b;return}function Pp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;if(!(k[c>>2]|0)){r=e;return}Ud(k[k[c>>2]>>2]|0);bn(k[c>>2]|0);a=k[c>>2]|0;b=a+40|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[c>>2]|0)+64>>2]|0))break;wn(k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]|0);k[(k[c>>2]|0)+72+((k[d>>2]|0)*24|0)+20>>2]=0;k[d>>2]=(k[d>>2]|0)+1}r=e;return}function Qp(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+24>>2];while(1){if(!(k[c>>2]|0))break;k[d>>2]=k[(k[c>>2]|0)+8>>2];sl(k[(k[c>>2]|0)+12>>2]|0);Ud(k[c>>2]|0);k[c>>2]=k[d>>2]}k[(k[b>>2]|0)+24>>2]=0;r=e;return}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;e=f;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;if((vf()|0)<3008002){r=f;return}c=e;e=k[c+4>>2]|0;a=(k[d>>2]|0)+48|0;k[a>>2]=k[c>>2];k[a+4>>2]=e;r=f;return}function Sp(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if((vf()|0)<3008012){r=c;return}a=(k[b>>2]|0)+56|0;k[a>>2]=k[a>>2]|1;r=c;return} +function hw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=r;r=r+256|0;p=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;o=oa+120|0;f=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;h=oa+28|0;n=oa+24|0;g=oa+250|0;u=oa+20|0;w=oa+248|0;q=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;k[X>>2]=a;k[Y>>2]=b;k[Z>>2]=c;k[_>>2]=d;k[K>>2]=e;k[ba>>2]=0;k[L>>2]=0;k[aa>>2]=0;k[z>>2]=0;k[fa>>2]=0;k[Q>>2]=0;k[la>>2]=0;k[V>>2]=0;k[U>>2]=0;k[I>>2]=0;k[F>>2]=0;k[A>>2]=0;k[T>>2]=0;k[ma>>2]=0;k[ma+4>>2]=0;k[ca>>2]=k[k[X>>2]>>2];if(k[(k[X>>2]|0)+68>>2]|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(l[(k[ca>>2]|0)+69>>0]|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}d=TB(k[X>>2]|0,k[Y>>2]|0)|0;k[ka>>2]=d;if(!(k[ka>>2]|0)){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}d=Ph(k[k[X>>2]>>2]|0,k[(k[ka>>2]|0)+64>>2]|0)|0;k[f>>2]=d;d=IC(k[X>>2]|0,k[ka>>2]|0,110,k[Z>>2]|0,G)|0;k[S>>2]=d;k[H>>2]=(k[(k[ka>>2]|0)+12>>2]|0)!=0&1;if(Px(k[X>>2]|0,k[ka>>2]|0)|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(JC(k[X>>2]|0,k[ka>>2]|0,k[G>>2]|0)|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}b=(k[X>>2]|0)+72|0;d=k[b>>2]|0;k[b>>2]=d+1;k[ea>>2]=d;k[t>>2]=d;k[(k[Y>>2]|0)+8+44>>2]=d;k[ga>>2]=(k[ea>>2]|0)+1;if(!(l[(k[ka>>2]|0)+42>>0]&32))e=0;else e=Rj(k[ka>>2]|0)|0;k[ja>>2]=e;k[v>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if((k[ja>>2]|0)!=0?(i[(k[ia>>2]|0)+55>>0]&3|0)==2:0){k[ea>>2]=k[(k[X>>2]|0)+72>>2];k[(k[Y>>2]|0)+8+44>>2]=k[ea>>2]}d=(k[X>>2]|0)+72|0;k[d>>2]=(k[d>>2]|0)+1;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[v>>2]=(k[v>>2]|0)+1}d=Vw(k[ca>>2]|0,((j[(k[ka>>2]|0)+34>>1]|0)+(k[v>>2]|0)<<2)+(k[v>>2]|0)+2|0,0)|0;k[aa>>2]=d;if(!(k[aa>>2]|0)){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}k[L>>2]=(k[aa>>2]|0)+(j[(k[ka>>2]|0)+34>>1]<<2);k[$>>2]=(k[L>>2]|0)+(k[v>>2]<<2);DR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;i[(k[$>>2]|0)+((k[v>>2]|0)+1)>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[X>>2];k[o+4>>2]=k[Y>>2];i[y>>0]=0;i[B>>0]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(k[k[Z>>2]>>2]|0)){J=41;break}if(vy(o,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}k[C>>2]=0;while(1){if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;d=(sg(k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)==0;e=k[C>>2]|0;if(d){J=23;break}k[C>>2]=e+1}if((J|0)==23){J=0;if((e|0)!=(j[(k[ka>>2]|0)+32>>1]|0)){if((k[ja>>2]|0)!=0?(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)+15>>0]&1|0)!=0:0)i[y>>0]=1}else{i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=k[da>>2]}if((k[C>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0)){if(k[ja>>2]|0){J=34;break}if(!(Ci(k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}k[C>>2]=-1;i[B>>0]=1;k[z>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)>>2]}if((k[C>>2]|0)<0)e=20503;else e=k[(k[(k[ka>>2]|0)+4>>2]|0)+(k[C>>2]<<4)>>2]|0;d=ax(k[X>>2]|0,23,k[k[ka>>2]>>2]|0,e,k[(k[(k[ca>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2]|0)|0;k[h>>2]=d;if((k[h>>2]|0)==1){J=185;break}if((k[h>>2]|0)==2)k[(k[aa>>2]|0)+(k[C>>2]<<2)>>2]=-1;k[da>>2]=(k[da>>2]|0)+1}if((J|0)==34){na=k[X>>2]|0;k[p>>2]=k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[da>>2]|0)*20|0)+4>>2];Mh(na,24752,p);i[(k[X>>2]|0)+17>>0]=1;iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}else if((J|0)==41){i[O>>0]=(l[B>>0]|0)+(l[y>>0]|0);h=(l[(k[ka>>2]|0)+42>>0]&16|0)!=0;p=(k[Y>>2]|0)+8+56|0;k[p>>2]=h?-1:0;k[p+4>>2]=h?-1:0;p=UE(k[X>>2]|0,k[ka>>2]|0,k[aa>>2]|0,l[O>>0]|0)|0;k[P>>2]=p;k[C>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;a:do if((!((l[O>>0]|0)!=0|(k[P>>2]|0)!=0)?(k[(k[ia>>2]|0)+36>>2]|0)==0:0)?(k[ia>>2]|0)!=(k[ja>>2]|0):0){k[n>>2]=0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(m[(k[ia>>2]|0)+50>>1]|0))break a;j[g>>1]=j[(k[(k[ia>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0;if((j[g>>1]|0)<0)break;if((k[(k[aa>>2]|0)+(j[g>>1]<<2)>>2]|0)>=0)break;k[da>>2]=(k[da>>2]|0)+1}h=(k[X>>2]|0)+76|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}else J=46;while(0);if((J|0)==46){J=0;h=(k[X>>2]|0)+76|0;p=(k[h>>2]|0)+1|0;k[h>>2]=p;k[n>>2]=p}if(!(k[n>>2]|0))i[(k[$>>2]|0)+((k[C>>2]|0)+1)>>0]=0;k[(k[L>>2]|0)+(k[C>>2]<<2)>>2]=k[n>>2];k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[C>>2]=(k[C>>2]|0)+1}p=dx(k[X>>2]|0)|0;k[na>>2]=p;if(!(k[na>>2]|0)){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(!(l[(k[X>>2]|0)+18>>0]|0))KC(k[na>>2]|0);qx(k[X>>2]|0,1,k[f>>2]|0);if(!(l[(k[ka>>2]|0)+42>>0]&16)){p=(k[X>>2]|0)+76|0;n=(k[p>>2]|0)+1|0;k[p>>2]=n;k[A>>2]=n;n=(k[X>>2]|0)+76|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p;k[V>>2]=p;if((l[y>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){k[F>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if((l[O>>0]|0)!=0|(k[S>>2]|0)!=0|(k[P>>2]|0)!=0){n=(k[X>>2]|0)+76|0;p=(k[n>>2]|0)+1|0;k[n>>2]=p;k[U>>2]=p}k[I>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[(k[ka>>2]|0)+34>>1]|0)}if(k[H>>2]|0)eG(k[X>>2]|0,ma,k[k[ka>>2]>>2]|0);if(k[H>>2]|0)fG(k[X>>2]|0,k[ka>>2]|0,k[_>>2]|0,k[ea>>2]|0);if(vy(o,k[_>>2]|0)|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(l[(k[ka>>2]|0)+42>>0]&16){gG(k[X>>2]|0,k[Y>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[z>>2]|0,k[aa>>2]|0,k[_>>2]|0,k[K>>2]|0);iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(!(l[(k[ka>>2]|0)+42>>0]&32)){jx(k[na>>2]|0,25,0,k[A>>2]|0,k[V>>2]|0)|0;w=fD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=w;if(!(k[x>>2]|0)){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}w=hG(k[x>>2]|0,s)|0;k[R>>2]=w;fx(k[na>>2]|0,103,k[ea>>2]|0,k[V>>2]|0)|0;if(!(k[R>>2]|0))fx(k[na>>2]|0,129,k[A>>2]|0,k[V>>2]|0)|0;gD(k[x>>2]|0)}else{j[w>>1]=j[(k[ja>>2]|0)+50>>1]|0;k[u>>2]=(k[(k[X>>2]|0)+76>>2]|0)+1;p=(k[X>>2]|0)+76|0;k[p>>2]=(k[p>>2]|0)+(j[w>>1]|0);p=(k[X>>2]|0)+76|0;o=(k[p>>2]|0)+1|0;k[p>>2]=o;k[T>>2]=o;o=(k[X>>2]|0)+72|0;p=k[o>>2]|0;k[o>>2]=p+1;k[fa>>2]=p;fx(k[na>>2]|0,25,0,k[u>>2]|0)|0;p=fx(k[na>>2]|0,57,k[fa>>2]|0,j[w>>1]|0)|0;k[q>>2]=p;Qz(k[X>>2]|0,k[ja>>2]|0);p=fD(k[X>>2]|0,k[Y>>2]|0,k[_>>2]|0,0,0,4,k[ga>>2]|0)|0;k[x>>2]=p;if(!(k[x>>2]|0)){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}p=hG(k[x>>2]|0,s)|0;k[R>>2]=p;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[w>>1]|0))break;JA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,j[(k[(k[ja>>2]|0)+4>>2]|0)+(k[da>>2]<<1)>>1]|0,(k[u>>2]|0)+(k[da>>2]|0)|0);k[da>>2]=(k[da>>2]|0)+1}e=k[na>>2]|0;if(k[R>>2]|0){FA(e,k[q>>2]|0)|0;k[Q>>2]=j[w>>1];k[T>>2]=k[u>>2]}else{o=k[u>>2]|0;p=j[w>>1]|0;q=k[T>>2]|0;u=sC(k[ca>>2]|0,k[ja>>2]|0)|0;ix(e,49,o,p,q,u,j[w>>1]|0)|0;fx(k[na>>2]|0,110,k[fa>>2]|0,k[T>>2]|0)|0}gD(k[x>>2]|0)}if((k[(k[ca>>2]|0)+24>>2]&128|0)!=0?(k[(k[X>>2]|0)+420>>2]|0)==0:0){w=(k[X>>2]|0)+76|0;x=(k[w>>2]|0)+1|0;k[w>>2]=x;k[la>>2]=x;fx(k[na>>2]|0,22,0,k[la>>2]|0)|0}x=Sz(k[na>>2]|0)|0;k[ha>>2]=x;if(!(k[H>>2]|0)){b:do if((k[K>>2]|0)==5)DR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0;else{k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break b;if((l[(k[ia>>2]|0)+54>>0]|0)==5)break;k[ia>>2]=k[(k[ia>>2]|0)+20>>2]}DR(k[$>>2]|0,1,(k[v>>2]|0)+1|0)|0}while(0);do if(k[R>>2]|0){if((k[s>>2]|0)>=0)i[(k[$>>2]|0)+((k[s>>2]|0)-(k[t>>2]|0))>>0]=0;if((k[s+4>>2]|0)<0)break;i[(k[$>>2]|0)+((k[s+4>>2]|0)-(k[t>>2]|0))>>0]=0}while(0);vC(k[X>>2]|0,k[ka>>2]|0,55,0,k[t>>2]|0,k[$>>2]|0,0,0)|0}do if(!(k[R>>2]|0)){e=k[na>>2]|0;if(k[ja>>2]|0){A=Sz(e)|0;k[W>>2]=A;fx(k[na>>2]|0,108,k[fa>>2]|0,k[ha>>2]|0)|0;A=fx(k[na>>2]|0,101,k[fa>>2]|0,k[T>>2]|0)|0;k[ba>>2]=A;Qh(k[na>>2]|0,68,k[ea>>2]|0,k[W>>2]|0,k[T>>2]|0,0)|0;break}else{A=jx(e,130,k[A>>2]|0,k[ha>>2]|0,k[V>>2]|0)|0;k[W>>2]=A;jx(k[na>>2]|0,70,k[ea>>2]|0,k[W>>2]|0,k[V>>2]|0)|0;break}}else{if(!((k[H>>2]|0)!=0?1:(l[(k[$>>2]|0)+((k[ea>>2]|0)-(k[t>>2]|0))>>0]|0)==0))Qh(k[na>>2]|0,68,k[ea>>2]|0,k[ha>>2]|0,k[T>>2]|0,k[Q>>2]|0)|0;k[W>>2]=k[ha>>2];fx(k[na>>2]|0,76,(k[ja>>2]|0)!=0?k[T>>2]|0:k[V>>2]|0,k[ha>>2]|0)|0}while(0);if(i[B>>0]|0){NA(k[X>>2]|0,k[z>>2]|0,k[U>>2]|0);Nz(k[na>>2]|0,38,k[U>>2]|0)|0}do if((l[y>>0]|0)!=0|(k[P>>2]|0)!=0|(k[S>>2]|0)!=0){if(k[P>>2]|0)e=ZE(k[X>>2]|0,k[ka>>2]|0)|0;else e=0;k[E>>2]=e;A=YE(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,0,3,k[ka>>2]|0,k[K>>2]|0)|0;k[E>>2]=k[E>>2]|A;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;do if((k[E>>2]|0)==-1)J=120;else{if((k[da>>2]|0)<32?(k[E>>2]&1<>2]|0)!=0:0){J=120;break}if(l[(k[(k[ka>>2]|0)+4>>2]|0)+(k[da>>2]<<4)+15>>0]&1){J=120;break}fx(k[na>>2]|0,25,0,(k[F>>2]|0)+(k[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;JA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[F>>2]|0)+(k[da>>2]|0)|0)}k[da>>2]=(k[da>>2]|0)+1}if(!((l[B>>0]|0)==0&(k[ja>>2]|0)==0))break;fx(k[na>>2]|0,30,k[V>>2]|0,k[U>>2]|0)|0}while(0);F=YE(k[X>>2]|0,k[S>>2]|0,k[Z>>2]|0,1,1,k[ka>>2]|0,k[K>>2]|0)|0;k[D>>2]=F;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break;c:do if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))fx(k[na>>2]|0,25,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;else{k[C>>2]=k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2];if((k[C>>2]|0)>=0){NA(k[X>>2]|0,k[(k[(k[Z>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0);break}do if(!((k[da>>2]|0)>31?1:0==(k[G>>2]&1|0))){if(k[D>>2]&1<>2])break;fx(k[na>>2]|0,25,0,(k[I>>2]|0)+(k[da>>2]|0)|0)|0;break c}while(0);LD(k[X>>2]|0,k[ka>>2]|0,k[da>>2]|0,k[ea>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}d:do if(k[G>>2]&1){QC(k[na>>2]|0,k[ka>>2]|0,k[I>>2]|0);RC(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,1,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);e=k[na>>2]|0;c=k[ea>>2]|0;a=k[W>>2]|0;if(k[ja>>2]|0)Qh(e,68,c,a,k[T>>2]|0,k[Q>>2]|0)|0;else jx(e,70,c,a,k[V>>2]|0)|0;k[da>>2]=0;while(1){if((k[da>>2]|0)>=(j[(k[ka>>2]|0)+34>>1]|0))break d;do if((k[(k[aa>>2]|0)+(k[da>>2]<<2)>>2]|0)<0){if((k[da>>2]|0)==(j[(k[ka>>2]|0)+32>>1]|0))break;JA(k[na>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[da>>2]|0,(k[I>>2]|0)+(k[da>>2]|0)|0)}while(0);k[da>>2]=(k[da>>2]|0)+1}}while(0);do if(!(k[H>>2]|0)){k[M>>2]=0;k[N>>2]=0;VC(k[X>>2]|0,k[ka>>2]|0,k[L>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[V>>2]|0,i[O>>0]|0,k[K>>2]&255,k[W>>2]|0,N,k[aa>>2]|0);if(k[P>>2]|0)WC(k[X>>2]|0,k[ka>>2]|0,k[V>>2]|0,0,k[aa>>2]|0,l[O>>0]|0);if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))J=151;do if((J|0)==151){e=k[na>>2]|0;c=k[ea>>2]|0;if(k[ja>>2]|0){T=Qh(e,68,c,0,k[T>>2]|0,k[Q>>2]|0)|0;k[M>>2]=T;break}else{T=jx(e,70,c,0,k[V>>2]|0)|0;k[M>>2]=T;break}}while(0);XE(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[L>>2]|0,-1);if(!((k[P>>2]|0)==0?!((l[O>>0]|0)!=0|(k[ja>>2]|0)!=0):0))fx(k[na>>2]|0,95,k[ea>>2]|0,0)|0;if(!((k[N>>2]|0)==0?(l[O>>0]|0)==0:0))Vz(k[na>>2]|0,k[M>>2]|0);if(k[P>>2]|0)WC(k[X>>2]|0,k[ka>>2]|0,0,k[U>>2]|0,k[aa>>2]|0,l[O>>0]|0);XC(k[X>>2]|0,k[ka>>2]|0,k[ea>>2]|0,k[ga>>2]|0,k[U>>2]|0,k[L>>2]|0,1,0,0);if(!(k[P>>2]|0))break;_E(k[X>>2]|0,k[ka>>2]|0,k[Z>>2]|0,k[V>>2]|0,k[aa>>2]|0,l[O>>0]|0)}while(0);do if(k[(k[ca>>2]|0)+24>>2]&128){if(k[(k[X>>2]|0)+420>>2]|0)break;fx(k[na>>2]|0,37,k[la>>2]|0,1)|0}while(0);RC(k[X>>2]|0,k[S>>2]|0,110,k[Z>>2]|0,2,k[ka>>2]|0,k[V>>2]|0,k[K>>2]|0,k[W>>2]|0);do if(!(k[R>>2]|0)){c=k[na>>2]|0;e=k[W>>2]|0;if(k[ja>>2]|0){Wz(c,e);fx(k[na>>2]|0,7,k[fa>>2]|0,k[ba>>2]|0)|0;break}else{Uz(c,e)|0;break}}while(0);Wz(k[na>>2]|0,k[ha>>2]|0);k[da>>2]=0;k[ia>>2]=k[(k[ka>>2]|0)+8>>2];while(1){if(!(k[ia>>2]|0))break;if(i[(k[$>>2]|0)+((k[da>>2]|0)+1)>>0]|0)fx(k[na>>2]|0,61,(k[ga>>2]|0)+(k[da>>2]|0)|0,0)|0;k[ia>>2]=k[(k[ia>>2]|0)+20>>2];k[da>>2]=(k[da>>2]|0)+1}if((k[ea>>2]|0)<(k[ga>>2]|0))fx(k[na>>2]|0,61,k[ea>>2]|0,0)|0;do if(!(l[(k[X>>2]|0)+18>>0]|0)){if(k[(k[X>>2]|0)+420>>2]|0)break;YC(k[X>>2]|0)}while(0);if(!(k[(k[ca>>2]|0)+24>>2]&128)){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(k[(k[X>>2]|0)+420>>2]|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}if(i[(k[X>>2]|0)+18>>0]|0){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}fx(k[na>>2]|0,33,k[la>>2]|0,1)|0;cC(k[na>>2]|0,1);dC(k[na>>2]|0,0,0,35803,0)|0;iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}else if((J|0)==185){iG(ma);na=k[ca>>2]|0;ma=k[aa>>2]|0;bg(na,ma);ma=k[ca>>2]|0;na=k[Y>>2]|0;mv(ma,na);na=k[ca>>2]|0;ma=k[Z>>2]|0;jv(na,ma);ma=k[ca>>2]|0;na=k[_>>2]|0;nv(ma,na);r=oa;return}}function iw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;qa=r;r=r+304|0;E=qa+32|0;D=qa+16|0;C=qa;H=qa+288|0;I=qa+284|0;J=qa+280|0;K=qa+276|0;L=qa+272|0;R=qa+268|0;ea=qa+264|0;h=qa+260|0;g=qa+256|0;T=qa+252|0;$=qa+248|0;X=qa+244|0;pa=qa+240|0;ca=qa+236|0;aa=qa+232|0;ba=qa+228|0;U=qa+224|0;V=qa+220|0;Y=qa+216|0;S=qa+212|0;na=qa+208|0;P=qa+204|0;O=qa+200|0;q=qa+180|0;s=qa+176|0;f=qa+172|0;oa=qa+295|0;Q=qa+294|0;F=qa+293|0;p=qa+292|0;da=qa+168|0;ja=qa+164|0;ha=qa+160|0;la=qa+156|0;ka=qa+152|0;ma=qa+148|0;ia=qa+144|0;M=qa+140|0;_=qa+136|0;fa=qa+132|0;B=qa+128|0;z=qa+124|0;o=qa+120|0;v=qa+116|0;x=qa+112|0;y=qa+108|0;n=qa+104|0;A=qa+72|0;t=qa+68|0;w=qa+64|0;m=qa+60|0;u=qa+56|0;N=qa+52|0;W=qa+48|0;ga=qa+44|0;Z=qa+40|0;k[H>>2]=a;k[I>>2]=b;k[J>>2]=c;k[K>>2]=d;k[L>>2]=e;k[ba>>2]=0;k[U>>2]=0;k[V>>2]=0;k[Y>>2]=-1;k[na>>2]=0;k[P>>2]=0;k[O>>2]=0;i[oa>>0]=0;i[Q>>0]=0;k[da>>2]=0;k[ja>>2]=0;k[ha>>2]=0;k[la>>2]=0;k[M>>2]=0;k[R>>2]=k[k[H>>2]>>2];k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;a:do if((k[(k[H>>2]|0)+68>>2]|0)==0?(l[(k[R>>2]|0)+69>>0]|0)==0:0){if(((k[J>>2]|0)!=0?(k[(k[J>>2]|0)+8>>2]&256|0)!=0:0)?(k[(k[J>>2]|0)+48>>2]|0)==0:0){k[da>>2]=k[k[J>>2]>>2];k[k[J>>2]>>2]=0;kv(k[R>>2]|0,k[J>>2]|0);k[J>>2]=0}k[h>>2]=k[(k[I>>2]|0)+8+8>>2];if((((((k[h>>2]|0)!=0?(h=TB(k[H>>2]|0,k[I>>2]|0)|0,k[ea>>2]=h,(k[ea>>2]|0)!=0):0)?(h=Ph(k[R>>2]|0,k[(k[ea>>2]|0)+64>>2]|0)|0,k[s>>2]=h,k[f>>2]=(k[(k[R>>2]|0)+16>>2]|0)+(k[s>>2]<<4),k[g>>2]=k[k[f>>2]>>2],(ax(k[H>>2]|0,18,k[k[ea>>2]>>2]|0,0,k[g>>2]|0)|0)==0):0)?(i[F>>0]=((l[(k[ea>>2]|0)+42>>0]&32|0)==0^1)&1,h=IC(k[H>>2]|0,k[ea>>2]|0,108,0,B)|0,k[fa>>2]=h,k[_>>2]=(k[(k[ea>>2]|0)+12>>2]|0)!=0&1,(Px(k[H>>2]|0,k[ea>>2]|0)|0)==0):0)?(JC(k[H>>2]|0,k[ea>>2]|0,k[B>>2]|0)|0)==0:0)?(h=dx(k[H>>2]|0)|0,k[pa>>2]=h,(k[pa>>2]|0)!=0):0){if(!(l[(k[H>>2]|0)+18>>0]|0))KC(k[pa>>2]|0);qx(k[H>>2]|0,((k[J>>2]|0)!=0?1:(k[fa>>2]|0)!=0)&1,k[s>>2]|0);if(!((k[K>>2]|0)==0?(LC(k[H>>2]|0,k[ea>>2]|0,k[J>>2]|0,k[L>>2]|0,k[s>>2]|0)|0)!=0:0))G=17;b:do if((G|0)==17){h=MC(k[H>>2]|0,k[s>>2]|0,k[ea>>2]|0)|0;k[ha>>2]=h;h=(k[(k[H>>2]|0)+76>>2]|0)+1|0;k[ka>>2]=h;k[ma>>2]=h;h=(k[H>>2]|0)+76|0;k[h>>2]=(k[h>>2]|0)+((j[(k[ea>>2]|0)+34>>1]|0)+1);if(l[(k[ea>>2]|0)+42>>0]&16){k[ma>>2]=(k[ma>>2]|0)+1;h=(k[H>>2]|0)+76|0;k[h>>2]=(k[h>>2]|0)+1}k[ia>>2]=(k[ma>>2]|0)+1;i[p>>0]=(l[(k[ea>>2]|0)+42>>0]&128|0)==0;c:do if(k[K>>2]|0){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break;k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)+4>>2]=-1;k[T>>2]=(k[T>>2]|0)+1}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break c;k[$>>2]=0;while(1){if((k[$>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;h=(sg(k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+(k[$>>2]<<4)>>2]|0)|0)==0;e=k[$>>2]|0;if(h){G=28;break}k[$>>2]=e+1}do if((G|0)==28){G=0;k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)+4>>2]=e;if((k[T>>2]|0)!=(k[$>>2]|0))i[p>>0]=0;if((k[$>>2]|0)!=(j[(k[ea>>2]|0)+32>>1]|0))break;k[Y>>2]=k[T>>2]}while(0);if((k[$>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0)){h=(Ci(k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)>>2]|0)|0)==0;if(h|(i[F>>0]|0)!=0)break;k[Y>>2]=k[T>>2];i[p>>0]=0}k[T>>2]=(k[T>>2]|0)+1}pa=k[H>>2]|0;oa=k[(k[k[K>>2]>>2]|0)+(k[T>>2]<<3)>>2]|0;k[C>>2]=k[I>>2];k[C+4>>2]=0;k[C+8>>2]=oa;Mh(pa,34774,C);i[(k[H>>2]|0)+17>>0]=1;break a}while(0);do if(!(k[J>>2]|0)){k[A>>2]=0;k[A+4>>2]=0;k[A+8>>2]=0;k[A+12>>2]=0;k[A+16>>2]=0;k[A+20>>2]=0;k[A+24>>2]=0;k[A+28>>2]=0;k[A>>2]=k[H>>2];k[na>>2]=-1;if(k[da>>2]|0){k[aa>>2]=k[k[da>>2]>>2];if(wy(A,k[da>>2]|0)|0)break a;else break}else{k[aa>>2]=0;break}}else{A=(k[H>>2]|0)+76|0;C=(k[A>>2]|0)+1|0;k[A>>2]=C;k[z>>2]=C;C=(Rz(k[pa>>2]|0)|0)+1|0;k[o>>2]=C;jx(k[pa>>2]|0,16,k[z>>2]|0,0,k[o>>2]|0)|0;nB(q,13,k[z>>2]|0);k[q+8>>2]=(l[p>>0]|0)!=0?k[ia>>2]|0:0;k[q+12>>2]=j[(k[ea>>2]|0)+34>>1];C=Sv(k[H>>2]|0,k[J>>2]|0,q)|0;k[v>>2]=C;k[ja>>2]=k[q+8>>2];if(k[v>>2]|0)break a;if(l[(k[R>>2]|0)+69>>0]|0)break a;if(k[(k[H>>2]|0)+68>>2]|0)break a;NC(k[pa>>2]|0,k[z>>2]|0);Vz(k[pa>>2]|0,(k[o>>2]|0)-1|0);k[aa>>2]=k[k[k[J>>2]>>2]>>2];if(!((k[fa>>2]|0)==0?(OC(k[H>>2]|0,k[s>>2]|0,k[ea>>2]|0)|0)==0:0))i[oa>>0]=1;if(!(i[oa>>0]|0))break;A=(k[H>>2]|0)+72|0;C=k[A>>2]|0;k[A>>2]=C+1;k[na>>2]=C;C=kA(k[H>>2]|0)|0;k[x>>2]=C;C=kA(k[H>>2]|0)|0;k[y>>2]=C;fx(k[pa>>2]|0,57,k[na>>2]|0,k[aa>>2]|0)|0;C=Nz(k[pa>>2]|0,18,k[q+4>>2]|0)|0;k[n>>2]=C;jx(k[pa>>2]|0,49,k[ja>>2]|0,k[aa>>2]|0,k[x>>2]|0)|0;fx(k[pa>>2]|0,74,k[na>>2]|0,k[y>>2]|0)|0;jx(k[pa>>2]|0,75,k[na>>2]|0,k[x>>2]|0,k[y>>2]|0)|0;Uz(k[pa>>2]|0,k[n>>2]|0)|0;Vz(k[pa>>2]|0,k[n>>2]|0);oA(k[H>>2]|0,k[x>>2]|0);oA(k[H>>2]|0,k[y>>2]|0)}while(0);if((k[K>>2]|0)==0&(k[aa>>2]|0)>0)k[Y>>2]=j[(k[ea>>2]|0)+32>>1];k[T>>2]=0;while(1){if((k[T>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;k[ba>>2]=(k[ba>>2]|0)+((l[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+15>>0]&2|0)!=0?1:0);k[T>>2]=(k[T>>2]|0)+1}if((k[K>>2]|0)==0&(k[aa>>2]|0)!=0?(k[aa>>2]|0)!=((j[(k[ea>>2]|0)+34>>1]|0)-(k[ba>>2]|0)|0):0){pa=k[H>>2]|0;na=(j[(k[ea>>2]|0)+34>>1]|0)-(k[ba>>2]|0)|0;oa=k[aa>>2]|0;k[D>>2]=k[I>>2];k[D+4>>2]=0;k[D+8>>2]=na;k[D+12>>2]=oa;Mh(pa,34806,D);break a}do if(k[K>>2]|0){if((k[aa>>2]|0)==(k[(k[K>>2]|0)+4>>2]|0))break;pa=k[H>>2]|0;oa=k[(k[K>>2]|0)+4>>2]|0;k[E>>2]=k[aa>>2];k[E+4>>2]=oa;Mh(pa,34858,E);break a}while(0);if(k[(k[R>>2]|0)+24>>2]&128){D=(k[H>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[la>>2]=E;fx(k[pa>>2]|0,22,0,k[la>>2]|0)|0}d:do if(!(k[_>>2]|0)){E=vC(k[H>>2]|0,k[ea>>2]|0,55,0,-1,0,U,V)|0;k[t>>2]=E;E=Vw(k[R>>2]|0,(k[t>>2]|0)+1<<2,0)|0;k[M>>2]=E;if(!(k[M>>2]|0))break a;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[t>>2]|0))break d;D=(k[H>>2]|0)+76|0;E=(k[D>>2]|0)+1|0;k[D>>2]=E;k[(k[M>>2]|0)+(k[T>>2]<<2)>>2]=E;k[T>>2]=(k[T>>2]|0)+1}}while(0);do if(i[oa>>0]|0){E=Nz(k[pa>>2]|0,108,k[na>>2]|0)|0;k[P>>2]=E;E=Rz(k[pa>>2]|0)|0;k[O>>2]=E}else{if(!(k[J>>2]|0))break;E=Nz(k[pa>>2]|0,18,k[q+4>>2]|0)|0;k[O>>2]=E;k[P>>2]=E}while(0);E=Sz(k[pa>>2]|0)|0;k[S>>2]=E;if(k[B>>2]&1){E=AA(k[H>>2]|0,(j[(k[ea>>2]|0)+34>>1]|0)+1|0)|0;k[w>>2]=E;if((k[Y>>2]|0)<0)fx(k[pa>>2]|0,22,-1,k[w>>2]|0)|0;else{if(i[oa>>0]|0)jx(k[pa>>2]|0,47,k[na>>2]|0,k[Y>>2]|0,k[w>>2]|0)|0;else NA(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[Y>>2]|0)*20|0)>>2]|0,k[w>>2]|0);E=Nz(k[pa>>2]|0,77,k[w>>2]|0)|0;k[m>>2]=E;fx(k[pa>>2]|0,22,-1,k[w>>2]|0)|0;Vz(k[pa>>2]|0,k[m>>2]|0);Nz(k[pa>>2]|0,38,k[w>>2]|0)|0}k[$>>2]=0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;e:do if(k[K>>2]|0){k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break e;if((k[(k[k[K>>2]>>2]|0)+(k[$>>2]<<3)+4>>2]|0)==(k[T>>2]|0))break e;k[$>>2]=(k[$>>2]|0)+1}}while(0);do if((i[oa>>0]|0)!=0|(k[da>>2]|0)!=0){if((k[K>>2]|0)!=0?(k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0):0){G=90;break}if(i[oa>>0]|0){jx(k[pa>>2]|0,47,k[na>>2]|0,k[$>>2]|0,(k[w>>2]|0)+(k[T>>2]|0)+1|0)|0;break}else{PC(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[$>>2]|0)*20|0)>>2]|0,(k[w>>2]|0)+(k[T>>2]|0)+1|0);break}}else G=90;while(0);if((G|0)==90){G=0;NA(k[H>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[w>>2]|0)+(k[T>>2]|0)+1|0)}if(!(k[K>>2]|0))k[$>>2]=(k[$>>2]|0)+1;k[T>>2]=(k[T>>2]|0)+1}if(!(k[_>>2]|0))QC(k[pa>>2]|0,k[ea>>2]|0,(k[w>>2]|0)+1|0);RC(k[H>>2]|0,k[fa>>2]|0,108,0,1,k[ea>>2]|0,(k[w>>2]|0)-(j[(k[ea>>2]|0)+34>>1]|0)-1|0,k[L>>2]|0,k[S>>2]|0);DA(k[H>>2]|0,k[w>>2]|0,(j[(k[ea>>2]|0)+34>>1]|0)+1|0)}do if(!(k[_>>2]|0)){if(l[(k[ea>>2]|0)+42>>0]&16)fx(k[pa>>2]|0,25,0,k[ka>>2]|0)|0;f:do if((k[Y>>2]|0)>=0){do if(i[oa>>0]|0)jx(k[pa>>2]|0,47,k[na>>2]|0,k[Y>>2]|0,k[ma>>2]|0)|0;else{if(k[J>>2]|0){fx(k[pa>>2]|0,30,(k[ja>>2]|0)+(k[Y>>2]|0)|0,k[ma>>2]|0)|0;break}NA(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[Y>>2]|0)*20|0)>>2]|0,k[ma>>2]|0);G=aA(k[pa>>2]|0,-1)|0;k[u>>2]=G;if(!(k[u>>2]|0))break;if((l[k[u>>2]>>0]|0)!=25)break;if(l[(k[ea>>2]|0)+42>>0]&16)break;i[Q>>0]=1;i[k[u>>2]>>0]=74;k[(k[u>>2]|0)+4>>2]=k[U>>2];k[(k[u>>2]|0)+8>>2]=k[ma>>2];k[(k[u>>2]|0)+12>>2]=k[ha>>2]}while(0);if(i[Q>>0]|0)break;e=k[pa>>2]|0;if(l[(k[ea>>2]|0)+42>>0]&16){G=Rz(e)|0;k[N>>2]=G;fx(k[pa>>2]|0,76,k[ma>>2]|0,(k[N>>2]|0)+2|0)|0}else{G=Nz(e,77,k[ma>>2]|0)|0;k[N>>2]=G;jx(k[pa>>2]|0,74,k[U>>2]|0,k[ma>>2]|0,k[ha>>2]|0)|0;Vz(k[pa>>2]|0,k[N>>2]|0)}Nz(k[pa>>2]|0,38,k[ma>>2]|0)|0}else{do if(!(l[(k[ea>>2]|0)+42>>0]&16)){if(l[F>>0]|0)break;jx(k[pa>>2]|0,74,k[U>>2]|0,k[ma>>2]|0,k[ha>>2]|0)|0;i[Q>>0]=1;break f}while(0);fx(k[pa>>2]|0,25,0,k[ma>>2]|0)|0}while(0);SC(k[H>>2]|0,k[ha>>2]|0,k[ma>>2]|0);k[ba>>2]=0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(j[(k[ea>>2]|0)+34>>1]|0))break;k[W>>2]=(k[ma>>2]|0)+1+(k[T>>2]|0);g:do if((k[T>>2]|0)==(j[(k[ea>>2]|0)+32>>1]|0))Nz(k[pa>>2]|0,26,k[W>>2]|0)|0;else{h:do if(!(k[K>>2]|0))if(l[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+15>>0]&2){k[$>>2]=-1;k[ba>>2]=(k[ba>>2]|0)+1;break}else{k[$>>2]=(k[T>>2]|0)-(k[ba>>2]|0);break}else{k[$>>2]=0;while(1){if((k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0))break h;if((k[(k[k[K>>2]>>2]|0)+(k[$>>2]<<3)+4>>2]|0)==(k[T>>2]|0))break h;k[$>>2]=(k[$>>2]|0)+1}}while(0);do if(!((k[$>>2]|0)<0|(k[aa>>2]|0)==0)){if((k[K>>2]|0)!=0?(k[$>>2]|0)>=(k[(k[K>>2]|0)+4>>2]|0):0)break;if(i[oa>>0]|0){jx(k[pa>>2]|0,47,k[na>>2]|0,k[$>>2]|0,k[W>>2]|0)|0;break g}if(!(k[J>>2]|0)){NA(k[H>>2]|0,k[(k[(k[da>>2]|0)+4>>2]|0)+((k[$>>2]|0)*20|0)>>2]|0,k[W>>2]|0);break g}if((k[ja>>2]|0)==(k[ia>>2]|0))break g;fx(k[pa>>2]|0,31,(k[ja>>2]|0)+(k[$>>2]|0)|0,k[W>>2]|0)|0;break g}while(0);TC(k[H>>2]|0,k[(k[(k[ea>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,k[W>>2]|0)}while(0);k[T>>2]=(k[T>>2]|0)+1}if(l[(k[ea>>2]|0)+42>>0]&16){ma=Qx(k[R>>2]|0,k[ea>>2]|0)|0;k[ga>>2]=ma;UC(k[H>>2]|0,k[ea>>2]|0);ix(k[pa>>2]|0,12,1,(j[(k[ea>>2]|0)+34>>1]|0)+2|0,k[ka>>2]|0,k[ga>>2]|0,-10)|0;Rh(k[pa>>2]|0,((k[L>>2]|0)==10?2:k[L>>2]|0)&255);Rx(k[H>>2]|0);break}else{VC(k[H>>2]|0,k[ea>>2]|0,k[M>>2]|0,k[U>>2]|0,k[V>>2]|0,k[ka>>2]|0,0,(k[Y>>2]|0)>=0&255,k[L>>2]&255,k[S>>2]|0,Z,0);WC(k[H>>2]|0,k[ea>>2]|0,0,k[ka>>2]|0,0,0);XC(k[H>>2]|0,k[ea>>2]|0,k[U>>2]|0,k[V>>2]|0,k[ka>>2]|0,k[M>>2]|0,0,l[Q>>0]|0,(k[Z>>2]|0)==0&1);break}}while(0);if(k[(k[R>>2]|0)+24>>2]&128)fx(k[pa>>2]|0,37,k[la>>2]|0,1)|0;if(k[fa>>2]|0)RC(k[H>>2]|0,k[fa>>2]|0,108,0,2,k[ea>>2]|0,(k[ia>>2]|0)-2-(j[(k[ea>>2]|0)+34>>1]|0)|0,k[L>>2]|0,k[S>>2]|0);Wz(k[pa>>2]|0,k[S>>2]|0);do if(i[oa>>0]|0){fx(k[pa>>2]|0,7,k[na>>2]|0,k[O>>2]|0)|0;Vz(k[pa>>2]|0,k[P>>2]|0);Nz(k[pa>>2]|0,61,k[na>>2]|0)|0}else{if(!(k[J>>2]|0))break;Uz(k[pa>>2]|0,k[O>>2]|0)|0;Vz(k[pa>>2]|0,k[P>>2]|0)}while(0);if((k[_>>2]|0)!=0?1:(l[(k[ea>>2]|0)+42>>0]&16|0)!=0)break;if((k[U>>2]|0)<(k[V>>2]|0))Nz(k[pa>>2]|0,61,k[U>>2]|0)|0;k[X>>2]=0;k[ca>>2]=k[(k[ea>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break b;Nz(k[pa>>2]|0,61,(k[X>>2]|0)+(k[V>>2]|0)|0)|0;k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[X>>2]=(k[X>>2]|0)+1}}while(0);if((l[(k[H>>2]|0)+18>>0]|0)==0?(k[(k[H>>2]|0)+420>>2]|0)==0:0)YC(k[H>>2]|0);if(((k[(k[R>>2]|0)+24>>2]&128|0)!=0?(i[(k[H>>2]|0)+18>>0]|0)==0:0)?(k[(k[H>>2]|0)+420>>2]|0)==0:0){fx(k[pa>>2]|0,33,k[la>>2]|0,1)|0;cC(k[pa>>2]|0,1);dC(k[pa>>2]|0,0,0,34883,0)|0}}}while(0);mv(k[R>>2]|0,k[I>>2]|0);jv(k[R>>2]|0,k[da>>2]|0);kv(k[R>>2]|0,k[J>>2]|0);ov(k[R>>2]|0,k[K>>2]|0);bg(k[R>>2]|0,k[M>>2]|0);r=qa;return}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[f>>2]|0)==0?(c=Bh(k[d>>2]|0,8,0)|0,k[f>>2]=c,(k[f>>2]|0)==0):0){k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}c=HC(k[d>>2]|0,k[k[f>>2]>>2]|0,8,(k[f>>2]|0)+4|0,h)|0;k[k[f>>2]>>2]=c;d=k[d>>2]|0;if((k[h>>2]|0)<0){ov(d,k[f>>2]|0);k[e>>2]=0;h=k[e>>2]|0;r=i;return h|0}else{g=Tw(d,k[g>>2]|0)|0;k[(k[k[f>>2]>>2]|0)+(k[h>>2]<<3)>>2]=g;k[e>>2]=k[f>>2];h=k[e>>2]|0;r=i;return h|0}return 0}function kw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;e=d+8|0;g=d+4|0;f=d;k[e>>2]=a;k[g>>2]=b;k[f>>2]=c;k[(k[e>>2]|0)+4>>2]=k[k[g>>2]>>2];k[(k[e>>2]|0)+8>>2]=(k[k[f>>2]>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0);r=d;return}function lw(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,p=0,q=0,s=0,t=0;t=r;r=r+64|0;o=t+16|0;n=t+8|0;c=t+44|0;d=t+40|0;g=t+36|0;q=t+32|0;p=t+50|0;m=t+28|0;h=t;f=t+24|0;l=t+48|0;e=t+20|0;k[c>>2]=a;k[d>>2]=b;k[g>>2]=k[k[c>>2]>>2];if(!(k[d>>2]|0)){r=t;return}k[q>>2]=k[(k[d>>2]|0)+8>>2];do if(i[(k[q>>2]|0)+1>>0]|0){j[p>>1]=0;a=Tf(k[q>>2]|0)|0;k[m>>2]=a;if((i[k[q>>2]>>0]|0)==63){s=0==(Ui((k[q>>2]|0)+1|0,h,(k[m>>2]|0)-1|0,1)|0)&1;k[f>>2]=s;s=k[h>>2]&65535;j[p>>1]=s;j[(k[d>>2]|0)+32>>1]=s;s=h;a=k[s+4>>2]|0;if(!(!((k[f>>2]|0)==0|((a|0)<0|(a|0)==0&(k[s>>2]|0)>>>0<1))?(a=h,l=k[a+4>>2]|0,s=k[(k[g>>2]|0)+92+36>>2]|0,b=((s|0)<0)<<31>>31,!((l|0)>(b|0)|((l|0)==(b|0)?(k[a>>2]|0)>>>0>s>>>0:0))):0)){s=k[c>>2]|0;k[n>>2]=k[(k[g>>2]|0)+92+36>>2];Mh(s,34708,n);j[p>>1]=0}n=h;b=k[n+4>>2]|0;s=j[(k[c>>2]|0)+444>>1]|0;a=((s|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[n>>2]|0)>>>0>s>>>0:0))j[(k[c>>2]|0)+444>>1]=k[h>>2]}else{j[l>>1]=0;while(1){if((j[l>>1]|0)>=(k[(k[c>>2]|0)+448>>2]|0))break;if((k[(k[(k[c>>2]|0)+476>>2]|0)+(j[l>>1]<<2)>>2]|0)!=0?(RQ(k[(k[(k[c>>2]|0)+476>>2]|0)+(j[l>>1]<<2)>>2]|0,k[q>>2]|0)|0)==0:0){s=14;break}j[l>>1]=(j[l>>1]|0)+1<<16>>16}if((s|0)==14){s=(j[l>>1]|0)+1&65535;j[p>>1]=s;j[(k[d>>2]|0)+32>>1]=s}if(!(j[p>>1]|0)){n=(k[c>>2]|0)+444|0;s=(j[n>>1]|0)+1<<16>>16;j[n>>1]=s;j[(k[d>>2]|0)+32>>1]=s;j[p>>1]=s}}if((j[p>>1]|0)>0){do if((j[p>>1]|0)>(k[(k[c>>2]|0)+448>>2]|0)){s=Uw(k[g>>2]|0,k[(k[c>>2]|0)+476>>2]|0,j[p>>1]<<2,0)|0;k[e>>2]=s;if(!(k[e>>2]|0)){r=t;return}else{k[(k[c>>2]|0)+476>>2]=k[e>>2];DR((k[e>>2]|0)+(k[(k[c>>2]|0)+448>>2]<<2)|0,0,(j[p>>1]|0)-(k[(k[c>>2]|0)+448>>2]|0)<<2|0)|0;k[(k[c>>2]|0)+448>>2]=j[p>>1];break}}while(0);if((i[k[q>>2]>>0]|0)==63?(k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]|0)!=0:0)break;bg(k[g>>2]|0,k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]|0);s=Yw(k[g>>2]|0,k[q>>2]|0,k[m>>2]|0,0)|0;k[(k[(k[c>>2]|0)+476>>2]|0)+((j[p>>1]|0)-1<<2)>>2]=s}}else{q=(k[c>>2]|0)+444|0;s=(j[q>>1]|0)+1<<16>>16;j[q>>1]=s;j[(k[d>>2]|0)+32>>1]=s}while(0);if(k[(k[c>>2]|0)+68>>2]|0){r=t;return}if((j[(k[c>>2]|0)+444>>1]|0)<=(k[(k[g>>2]|0)+92+36>>2]|0)){r=t;return}Mh(k[c>>2]|0,34751,o);r=t;return}function mw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if((k[(k[g>>2]|0)+4>>2]|0)>>>0<=0){a=k[f>>2]|0;r=j;return a|0}a=sz(k[k[e>>2]>>2]|0,95,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=a;if(!(k[i>>2]|0)){a=k[f>>2]|0;r=j;return a|0}k[(k[i>>2]|0)+12>>2]=k[f>>2];a=(k[i>>2]|0)+4|0;k[a>>2]=k[a>>2]|4352;k[f>>2]=k[i>>2];a=k[f>>2]|0;r=j;return a|0}function nw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;h=i+4|0;g=i;k[e>>2]=a;k[f>>2]=b;k[j>>2]=c;k[g>>2]=k[k[e>>2]>>2];c=sz(k[g>>2]|0,151,k[j>>2]|0,1)|0;k[h>>2]=c;if(!(k[h>>2]|0)){jv(k[g>>2]|0,k[f>>2]|0);k[d>>2]=0;j=k[d>>2]|0;r=i;return j|0}else{k[(k[h>>2]|0)+20>>2]=k[f>>2];tw(k[e>>2]|0,k[h>>2]|0);k[d>>2]=k[h>>2];j=k[d>>2]|0;r=i;return j|0}return 0}function ow(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Hv(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=k[(k[g>>2]|0)+8>>2];r=e;return}function pw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[g>>2]=b;k[e>>2]=c;if(!(k[g>>2]|0)){r=f;return}g=Hv(k[d>>2]|0,19,k[k[e>>2]>>2]|0,0,0)|0;k[k[e>>2]>>2]=g;r=f;return}function qw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;f=e+4|0;g=e;k[i>>2]=a;k[h>>2]=b;k[f>>2]=c;k[g>>2]=d;d=Hv(k[i>>2]|0,k[h>>2]|0,k[k[f>>2]>>2]|0,0,0)|0;k[k[f>>2]>>2]=d;k[(k[f>>2]|0)+8>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0);r=e;return}function rw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0;j=r;r=r+32|0;m=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[m>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=k[k[m>>2]>>2];if(!((k[f>>2]|0)!=0&(k[e>>2]|0)!=0)){r=j;return}if((l[k[e>>2]>>0]|0|0)!=101){r=j;return}i[k[f>>2]>>0]=k[g>>2];nv(k[h>>2]|0,k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=0;r=j;return}function sw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0;f=r;r=r+32|0;g=f+16|0;j=f+12|0;i=f+8|0;h=f+4|0;l=f;k[g>>2]=a;k[j>>2]=b;k[i>>2]=c;k[h>>2]=d;k[l>>2]=e;k[(k[g>>2]|0)+4>>2]=k[k[l>>2]>>2];e=Hv(k[j>>2]|0,k[i>>2]|0,k[k[h>>2]>>2]|0,0,0)|0;k[k[g>>2]>>2]=e;k[(k[g>>2]|0)+8>>2]=k[(k[h>>2]|0)+8>>2];r=f;return}function tw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(k[(k[c>>2]|0)+68>>2]|0){r=e;return}uz(k[d>>2]|0);Uy(k[c>>2]|0,k[(k[d>>2]|0)+24>>2]|0)|0;r=e;return}function uw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0;j=r;r=r+32|0;i=j;f=j+28|0;o=j+24|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k[f>>2]=a;k[o>>2]=b;k[g>>2]=c;k[n>>2]=d;k[m>>2]=e;e=Wv(k[f>>2]|0,k[o>>2]|0,0)|0;k[h>>2]=e;if((k[n>>2]|0)!=0|(k[m>>2]|0)!=-1?(l[(k[k[f>>2]>>2]|0)+144+5>>0]|0|0)==0:0){o=k[f>>2]|0;n=k[k[g>>2]>>2]|0;k[i>>2]=k[(k[g>>2]|0)+4>>2];k[i+4>>2]=n;Mh(o,34668,i)}Xv(k[f>>2]|0,k[h>>2]|0,k[g>>2]|0,1);r=j;return k[h>>2]|0}function vw(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;l=u+16|0;j=u+8|0;t=u;o=u+68|0;p=u+64|0;q=u+60|0;f=u+56|0;h=u+52|0;s=u+48|0;e=u+44|0;d=u+40|0;g=u+36|0;m=u+32|0;n=u+28|0;k[o>>2]=a;k[p>>2]=b;k[q>>2]=c;k[s>>2]=k[k[o>>2]>>2];if(i[(k[s>>2]|0)+69>>0]|0){s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}if(Fz(k[o>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}a=Sj(k[s>>2]|0,k[(k[p>>2]|0)+8+8>>2]|0,k[(k[p>>2]|0)+8+4>>2]|0)|0;k[f>>2]=a;if(!(k[f>>2]|0)){d=k[o>>2]|0;e=k[p>>2]|0;if(k[q>>2]|0)PB(d,k[e+8+4>>2]|0);else{k[t>>2]=e;k[t+4>>2]=0;Mh(d,34458,t)}i[(k[o>>2]|0)+17>>0]=1;s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}if(i[(k[f>>2]|0)+55>>0]&3){t=k[o>>2]|0;k[j>>2]=0;Mh(t,34476,j);s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}t=Ph(k[s>>2]|0,k[(k[f>>2]|0)+24>>2]|0)|0;k[e>>2]=t;k[d>>2]=10;k[g>>2]=k[(k[f>>2]|0)+12>>2];k[m>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[n>>2]=(k[e>>2]|0)==1?20513:20532;if(ax(k[o>>2]|0,9,k[n>>2]|0,0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}if(k[e>>2]|0)k[d>>2]=12;if(ax(k[o>>2]|0,k[d>>2]|0,k[k[f>>2]>>2]|0,k[k[g>>2]>>2]|0,k[m>>2]|0)|0){s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}t=dx(k[o>>2]|0)|0;k[h>>2]=t;if(!(k[h>>2]|0)){s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}qx(k[o>>2]|0,1,k[e>>2]|0);t=k[o>>2]|0;n=(k[e>>2]|0)==1?20513:20532;q=k[k[f>>2]>>2]|0;k[l>>2]=k[(k[(k[s>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2];k[l+4>>2]=n;k[l+8>>2]=q;cx(t,34549,l);FC(k[o>>2]|0,k[e>>2]|0,31442,k[k[f>>2]>>2]|0);ex(k[o>>2]|0,k[e>>2]|0);GC(k[o>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[e>>2]|0);ix(k[h>>2]|0,126,k[e>>2]|0,0,0,k[k[f>>2]>>2]|0,0)|0;s=k[s>>2]|0;t=k[p>>2]|0;mv(s,t);r=u;return}function ww(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=dx(k[d>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){r=c;return}fx(k[b>>2]|0,10,0,0)|0;Th(k[b>>2]|0,0);r=c;return}function xw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=r;r=r+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;q=fc+40|0;o=fc+32|0;ac=fc+808|0;f=fc+804|0;s=fc+800|0;h=fc+796|0;n=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;g=fc+776|0;p=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;D=fc+684|0;fa=fc+680|0;T=fc+676|0;E=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;C=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;G=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;H=fc+548|0;A=fc+536|0;I=fc+532|0;J=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;K=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;F=fc+268|0;t=fc+8|0;u=fc;k[ac>>2]=a;k[f>>2]=b;k[s>>2]=c;k[h>>2]=d;k[n>>2]=e;k[dc>>2]=0;k[ec>>2]=0;k[_a>>2]=0;k[X>>2]=0;k[cc>>2]=k[k[ac>>2]>>2];d=dx(k[ac>>2]|0)|0;k[bc>>2]=d;if(!(k[bc>>2]|0)){r=fc;return}_B(k[bc>>2]|0);k[(k[ac>>2]|0)+76>>2]=2;d=Jz(k[ac>>2]|0,k[f>>2]|0,k[s>>2]|0,g)|0;k[$b>>2]=d;if((k[$b>>2]|0)<0){r=fc;return}k[Ea>>2]=(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4);if((k[$b>>2]|0)==1?(sx(k[ac>>2]|0)|0)!=0:0){r=fc;return}d=Tw(k[cc>>2]|0,k[g>>2]|0)|0;k[dc>>2]=d;if(!(k[dc>>2]|0)){r=fc;return}e=k[cc>>2]|0;f=k[h>>2]|0;if(k[n>>2]|0){k[o>>2]=f;o=Nh(e,32616,o)|0;k[ec>>2]=o}else{o=Tw(e,f)|0;k[ec>>2]=o}if((k[(k[s>>2]|0)+4>>2]|0)>>>0>0)f=k[k[Ea>>2]>>2]|0;else f=0;k[_a>>2]=f;a:do if(!(ax(k[ac>>2]|0,19,k[dc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0)){k[p>>2]=0;k[p+4>>2]=k[dc>>2];k[p+8>>2]=k[ec>>2];k[p+12>>2]=0;k[(k[cc>>2]|0)+380+8>>2]=0;o=Qf(k[cc>>2]|0,k[_a>>2]|0,14,p)|0;k[ka>>2]=o;if(!(k[ka>>2]|0)){$B(k[bc>>2]|0,32620,k[p>>2]|0);Ud(k[p>>2]|0);break}if((k[ka>>2]|0)!=12){if(k[p>>2]|0){bc=k[ac>>2]|0;k[q>>2]=k[p>>2];Mh(bc,18999,q);Ud(k[p>>2]|0)}bc=(k[ac>>2]|0)+68|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break}k[W>>2]=0;k[qa>>2]=57;while(1){if((k[W>>2]|0)>(k[qa>>2]|0))break;k[X>>2]=((k[W>>2]|0)+(k[qa>>2]|0)|0)/2|0;q=be(k[dc>>2]|0,k[5308+((k[X>>2]|0)*12|0)>>2]|0)|0;k[ka>>2]=q;if(!(k[ka>>2]|0))break;f=k[X>>2]|0;if((k[ka>>2]|0)<0){k[qa>>2]=f-1;continue}else{k[W>>2]=f+1;continue}}if((k[W>>2]|0)<=(k[qa>>2]|0)){k[Eb>>2]=5308+((k[X>>2]|0)*12|0);if((l[(k[Eb>>2]|0)+5>>0]&1|0)!=0?(Fz(k[ac>>2]|0)|0)!=0:0)break;do switch(l[(k[Eb>>2]|0)+4>>0]|0){case 11:{Th(k[bc>>2]|0,k[$b>>2]|0);if(k[ec>>2]|0){_b=Lj(Xi(k[ec>>2]|0)|0)|0;k[ma>>2]=_b;qx(k[ac>>2]|0,0,k[$b>>2]|0);jx(k[bc>>2]|0,52,k[$b>>2]|0,3,k[ma>>2]|0)|0;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[ma>>2];Mj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{aC(k[bc>>2]|0,32627);ac=(k[ac>>2]|0)+76|0;k[ac>>2]=(k[ac>>2]|0)+2;bc=Sh(k[bc>>2]|0,9,32638,0)|0;k[v>>2]=bc;k[(k[v>>2]|0)+4>>2]=k[$b>>2];k[(k[v>>2]|0)+20+4>>2]=k[$b>>2];k[(k[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{k[_>>2]=k[(k[Ea>>2]|0)+4>>2];if(k[ec>>2]|0){bc=Xi(k[ec>>2]|0)|0;k[(k[cc>>2]|0)+76>>2]=bc;if(7!=(Ki(k[_>>2]|0,k[(k[cc>>2]|0)+76>>2]|0,-1,0)|0))break a;vh(k[cc>>2]|0);break a}if(k[_>>2]|0)f=Bg(k[_>>2]|0)|0;else f=0;k[Fa>>2]=f;ac=k[Fa>>2]|0;bC(k[bc>>2]|0,32674,ac,((ac|0)<0)<<31>>31);break a}case 26:{k[$>>2]=k[(k[Ea>>2]|0)+4>>2];k[B>>2]=-1;if(k[ec>>2]|0){ac=(Oi(k[ec>>2]|0,0)|0)&255;k[B>>2]=ac}b:do if((k[B>>2]|0)>=0?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[S>>2]=0;while(1){if((k[S>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break b;LB(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[S>>2]<<4)+4>>2]|0,k[B>>2]|0)|0;k[S>>2]=(k[S>>2]|0)+1}}while(0);ac=LB(k[$>>2]|0,k[B>>2]|0)|0;k[B>>2]=ac;ac=k[B>>2]|0;bC(k[bc>>2]|0,32684,ac,((ac|0)<0)<<31>>31);break a}case 23:{rx(k[ac>>2]|0,k[$b>>2]|0);f=(k[ac>>2]|0)+76|0;g=(k[f>>2]|0)+1|0;k[f>>2]=g;k[Oa>>2]=g;g=k[bc>>2]|0;f=k[$b>>2]|0;e=k[Oa>>2]|0;if((l[18221+(l[k[dc>>2]>>0]|0)>>0]|0)==112)fx(g,156,f,e)|0;else jx(g,157,f,e,Lj(Xi(k[ec>>2]|0)|0)|0)|0;fx(k[bc>>2]|0,33,k[Oa>>2]|0,1)|0;cC(k[bc>>2]|0,1);dC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;break a}case 22:{k[Ba>>2]=32698;ac=eC(k[ec>>2]|0)|0;k[D>>2]=ac;if((k[D>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0)k[D>>2]=l[(k[cc>>2]|0)+71>>0];else{if(!(k[(k[s>>2]|0)+4>>2]|0)){k[T>>2]=2;while(1){if((k[T>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;ac=Zf(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[T>>2]<<4)+4>>2]|0)|0;k[fa>>2]=ac;KB(k[fa>>2]|0,k[D>>2]|0)|0;k[T>>2]=(k[T>>2]|0)+1}i[(k[cc>>2]|0)+71>>0]=k[D>>2]}ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[fa>>2]=ac;ac=KB(k[fa>>2]|0,k[D>>2]|0)|0;k[D>>2]=ac}if((k[D>>2]|0)==1)k[Ba>>2]=32705;$B(k[bc>>2]|0,32715,k[Ba>>2]|0);break a}case 19:{aC(k[bc>>2]|0,32728);if(k[ec>>2]|0){ac=Tf(k[ec>>2]|0)|0;k[Y>>2]=ac;k[E>>2]=0;while(1){ac=fC(k[E>>2]|0)|0;k[Aa>>2]=ac;if(!ac)break;if(!(Jd(k[ec>>2]|0,k[Aa>>2]|0,k[Y>>2]|0)|0))break;k[E>>2]=(k[E>>2]|0)+1}if(!(k[Aa>>2]|0))k[E>>2]=-1}else k[E>>2]=-1;if((k[E>>2]|0)==-1?(k[(k[s>>2]|0)+4>>2]|0)==0:0){k[$b>>2]=0;k[(k[s>>2]|0)+4>>2]=1}k[U>>2]=(k[(k[cc>>2]|0)+20>>2]|0)-1;while(1){if((k[U>>2]|0)<0)break;do if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[U>>2]<<4)+4>>2]|0){if((k[U>>2]|0)!=(k[$b>>2]|0)?(k[(k[s>>2]|0)+4>>2]|0)!=0:0)break;Th(k[bc>>2]|0,k[U>>2]|0);jx(k[bc>>2]|0,9,k[U>>2]|0,1,k[E>>2]|0)|0}while(0);k[U>>2]=(k[U>>2]|0)+-1}fx(k[bc>>2]|0,33,1,1)|0;break a}case 20:{ac=Zf(k[(k[Ea>>2]|0)+4>>2]|0)|0;k[ga>>2]=ac;ac=Q;k[ac>>2]=-2;k[ac+4>>2]=-1;if((k[ec>>2]|0)!=0?(Pi(k[ec>>2]|0,Q)|0,ac=Q,$b=k[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(k[ac>>2]|0)>>>0<4294967295):0){ac=Q;k[ac>>2]=-1;k[ac+4>>2]=-1}$b=Q;$b=gC(k[ga>>2]|0,k[$b>>2]|0,k[$b+4>>2]|0)|0;ac=Q;k[ac>>2]=$b;k[ac+4>>2]=L;ac=Q;bC(k[bc>>2]|0,32741,k[ac>>2]|0,k[ac+4>>2]|0);break a}case 1:{k[aa>>2]=k[(k[Ea>>2]|0)+4>>2];if(!(k[ec>>2]|0)){ac=k[bc>>2]|0;bc=hC(k[aa>>2]|0)|0;bC(ac,32760,bc,((bc|0)<0)<<31>>31);break a}ac=iC(k[ec>>2]|0)|0;k[C>>2]=ac;i[(k[cc>>2]|0)+72>>0]=k[C>>2];ac=jC(k[aa>>2]|0,k[C>>2]|0)|0;k[ka>>2]=ac;if(k[ka>>2]|0)break a;if(!((k[C>>2]|0)==1|(k[C>>2]|0)==2))break a;ac=Rz(k[bc>>2]|0)|0;k[M>>2]=ac;ac=Sh(k[bc>>2]|0,5,32772,0)|0;k[y>>2]=ac;k[(k[y>>2]|0)+4>>2]=k[$b>>2];k[(k[y>>2]|0)+20+4>>2]=k[$b>>2];k[(k[y>>2]|0)+40+8>>2]=(k[M>>2]|0)+4;k[(k[y>>2]|0)+80+4>>2]=k[$b>>2];k[(k[y>>2]|0)+80+12>>2]=(k[C>>2]|0)-1;Th(k[bc>>2]|0,k[$b>>2]|0);break a}case 15:{if(!((k[ec>>2]|0)!=0?(_b=(Yi(k[ec>>2]|0,R)|0)==0,!(_b|(k[R>>2]|0)<=0)):0))k[R>>2]=2147483647;qx(k[ac>>2]|0,0,k[$b>>2]|0);fx(k[bc>>2]|0,22,k[R>>2]|0,1)|0;ac=Nz(k[bc>>2]|0,146,k[$b>>2]|0)|0;k[z>>2]=ac;Nz(k[bc>>2]|0,33,1)|0;fx(k[bc>>2]|0,37,1,-1)|0;fx(k[bc>>2]|0,138,1,k[z>>2]|0)|0;Vz(k[bc>>2]|0,k[z>>2]|0);break a}case 4:if(k[ec>>2]|0){bc=Xi(k[ec>>2]|0)|0;k[na>>2]=bc;k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]=k[na>>2];Mj(k[(k[Ea>>2]|0)+4>>2]|0,k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=k[(k[(k[Ea>>2]|0)+12>>2]|0)+80>>2]|0;bC(k[bc>>2]|0,32627,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(k[ec>>2]|0)){e=k[bc>>2]|0;if(!(k[(k[cc>>2]|0)+24>>2]&32))f=0;else f=kC(k[(k[Ea>>2]|0)+4>>2]|0,0)|0;bC(e,32792,f,((f|0)<0)<<31>>31);break a}k[oa>>2]=1;if(Yi(k[ec>>2]|0,oa)|0)kC(k[(k[Ea>>2]|0)+4>>2]|0,k[oa>>2]|0)|0;bc=(Oi(k[ec>>2]|0,(k[oa>>2]|0)!=0&255)|0)<<24>>24!=0;f=(k[cc>>2]|0)+24|0;e=k[f>>2]|0;if(bc)k[f>>2]=e|32;else k[f>>2]=e&-33;lC(k[cc>>2]|0);break a}case 24:{$b=pa;k[$b>>2]=0;k[$b+4>>2]=0;k[ka>>2]=0;if(!(k[ka>>2]|0)){ac=pa;bC(k[bc>>2]|0,32804,k[ac>>2]|0,k[ac+4>>2]|0);break a}if((k[ka>>2]|0)==12)break a;bc=(k[ac>>2]|0)+68|0;k[bc>>2]=(k[bc>>2]|0)+1;k[(k[ac>>2]|0)+12>>2]=k[ka>>2];break a}case 32:if(k[ec>>2]|0){mC(k[ac>>2]|0,k[ec>>2]|0)|0;break a}else{bC(k[bc>>2]|0,32814,l[(k[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(k[ec>>2]|0)){$B(k[bc>>2]|0,32825,k[241]|0);break a}if((i[k[ec>>2]>>0]|0)!=0?(bc=bs(k[k[cc>>2]>>2]|0,k[ec>>2]|0,1,la)|0,k[ka>>2]=bc,(k[ka>>2]|0)!=0|(k[la>>2]|0)==0):0){Mh(k[ac>>2]|0,32846,ra);break a}if((l[(k[cc>>2]|0)+68>>0]|0)<=1)nC(k[ac>>2]|0)|0;Ud(k[241]|0);if(i[k[ec>>2]>>0]|0){k[sa>>2]=k[ec>>2];bc=Yd(18999,sa)|0;k[241]=bc;break a}else{k[241]=0;break a}}case 30:{if(!(k[ec>>2]|0)){ac=(l[(k[Ea>>2]|0)+8>>0]|0)-1|0;bC(k[bc>>2]|0,32871,ac,((ac|0)<0)<<31>>31);break a}if(i[(k[cc>>2]|0)+67>>0]|0){bc=((Wi(k[ec>>2]|0,0,1)|0)&255)+1&7;k[P>>2]=bc;k[P>>2]=(k[P>>2]|0)==0?1:bc;i[(k[Ea>>2]|0)+8>>0]=k[P>>2];i[(k[Ea>>2]|0)+9>>0]=1;lC(k[cc>>2]|0);break a}else{Mh(k[ac>>2]|0,32883,ta);break a}}case 2:{if(!(k[ec>>2]|0)){ac=(k[(k[cc>>2]|0)+24>>2]&k[(k[Eb>>2]|0)+8>>2]|0)!=0&1;bC(k[bc>>2]|0,k[k[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}k[Da>>2]=k[(k[Eb>>2]|0)+8>>2];if(!(l[(k[cc>>2]|0)+67>>0]|0))k[Da>>2]=k[Da>>2]&-524289;ac=(Oi(k[ec>>2]|0,0)|0)<<24>>24!=0;f=k[Da>>2]|0;if(!ac){ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]&~f;if((k[Da>>2]|0)==16777216){ac=(k[cc>>2]|0)+448|0;k[ac>>2]=0;k[ac+4>>2]=0}}else{ac=(k[cc>>2]|0)+24|0;k[ac>>2]=k[ac>>2]|f}fx(k[bc>>2]|0,147,0,0)|0;lC(k[cc>>2]|0);break a}case 31:{if(!(k[ec>>2]|0))break a;_b=Bi(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[Yb>>2]=_b;if(!(k[Yb>>2]|0))break a;k[Vb>>2]=0;_b=Rj(k[Yb>>2]|0)|0;k[Xb>>2]=_b;k[(k[ac>>2]|0)+76>>2]=6;rx(k[ac>>2]|0,k[$b>>2]|0);oC(k[bc>>2]|0,6,6004);Px(k[ac>>2]|0,k[Yb>>2]|0)|0;k[Tb>>2]=0;k[Wb>>2]=k[(k[Yb>>2]|0)+4>>2];while(1){if((k[Tb>>2]|0)>=(j[(k[Yb>>2]|0)+34>>1]|0))break a;if(l[(k[Wb>>2]|0)+15>>0]&2)k[Vb>>2]=(k[Vb>>2]|0)+1;else{c:do if(!(l[(k[Wb>>2]|0)+15>>0]&1))k[Ub>>2]=0;else{ac=(k[Xb>>2]|0)==0;k[Ub>>2]=1;if(ac)break;while(1){if((k[Ub>>2]|0)>(j[(k[Yb>>2]|0)+34>>1]|0))break c;if((j[(k[(k[Xb>>2]|0)+4>>2]|0)+((k[Ub>>2]|0)-1<<1)>>1]|0)==(k[Tb>>2]|0))break c;k[Ub>>2]=(k[Ub>>2]|0)+1}}while(0);f=k[bc>>2]|0;e=(k[Tb>>2]|0)-(k[Vb>>2]|0)|0;g=k[k[Wb>>2]>>2]|0;b=Di(k[Wb>>2]|0,19010)|0;c=(l[(k[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(k[(k[Wb>>2]|0)+4>>2]|0)a=k[(k[(k[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else a=0;ac=k[Ub>>2]|0;k[Zb>>2]=e;k[Zb+4>>2]=g;k[Zb+8>>2]=b;k[Zb+12>>2]=c;k[Zb+16>>2]=a;k[Zb+20>>2]=ac;pC(f,1,32936,Zb);fx(k[bc>>2]|0,33,1,6)|0}k[Tb>>2]=(k[Tb>>2]|0)+1;k[Wb>>2]=(k[Wb>>2]|0)+16}}case 29:{_b=dx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+76>>2]=4;rx(k[ac>>2]|0,k[$b>>2]|0);oC(k[bc>>2]|0,4,6028);k[G>>2]=k[(k[(k[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(k[G>>2]|0))break a;k[ha>>2]=k[(k[G>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=j[(k[ha>>2]|0)+40>>1]|0;$b=j[(k[ha>>2]|0)+38>>1]|0;k[ua>>2]=k[k[ha>>2]>>2];k[ua+4>>2]=0;k[ua+8>>2]=_b;k[ua+12>>2]=$b;pC(ac,1,32943,ua);fx(k[bc>>2]|0,33,1,4)|0;k[da>>2]=k[(k[ha>>2]|0)+8>>2];while(1){if(!(k[da>>2]|0))break;ac=k[bc>>2]|0;_b=j[(k[da>>2]|0)+48>>1]|0;$b=j[k[(k[da>>2]|0)+8>>2]>>1]|0;k[va>>2]=k[k[da>>2]>>2];k[va+4>>2]=_b;k[va+8>>2]=$b;pC(ac,2,32948,va);fx(k[bc>>2]|0,33,1,4)|0;k[da>>2]=k[(k[da>>2]|0)+20>>2]}k[G>>2]=k[k[G>>2]>>2]}}case 16:{if(!(k[ec>>2]|0))break a;_b=Sj(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[zb>>2]=_b;if(!(k[zb>>2]|0))break a;f=k[zb>>2]|0;if(k[(k[Eb>>2]|0)+8>>2]|0){k[vb>>2]=m[f+52>>1];k[(k[ac>>2]|0)+76>>2]=6}else{k[vb>>2]=m[f+50>>1];k[(k[ac>>2]|0)+76>>2]=3}k[Gb>>2]=k[(k[zb>>2]|0)+12>>2];rx(k[ac>>2]|0,k[$b>>2]|0);oC(k[bc>>2]|0,k[(k[ac>>2]|0)+76>>2]|0,6044);k[fb>>2]=0;while(1){if((k[fb>>2]|0)>=(k[vb>>2]|0))break a;j[eb>>1]=j[(k[(k[zb>>2]|0)+4>>2]|0)+(k[fb>>2]<<1)>>1]|0;f=k[bc>>2]|0;e=j[eb>>1]|0;if((j[eb>>1]|0)<0)g=0;else g=k[(k[(k[Gb>>2]|0)+4>>2]|0)+(j[eb>>1]<<4)>>2]|0;k[Nb>>2]=k[fb>>2];k[Nb+4>>2]=e;k[Nb+8>>2]=g;pC(f,1,32952,Nb);if(k[(k[Eb>>2]|0)+8>>2]|0){$b=k[bc>>2]|0;Zb=k[(k[(k[zb>>2]|0)+32>>2]|0)+(k[fb>>2]<<2)>>2]|0;_b=(k[fb>>2]|0)<(m[(k[zb>>2]|0)+50>>1]|0)&1;k[Ob>>2]=l[(k[(k[zb>>2]|0)+28>>2]|0)+(k[fb>>2]|0)>>0];k[Ob+4>>2]=Zb;k[Ob+8>>2]=_b;pC($b,4,32956,Ob)}fx(k[bc>>2]|0,33,1,k[(k[ac>>2]|0)+76>>2]|0)|0;k[fb>>2]=(k[fb>>2]|0)+1}}case 17:{if(!(k[ec>>2]|0))break a;_b=Bi(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ia>>2]=_b;if(!(k[ia>>2]|0))break a;_b=dx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[(k[ac>>2]|0)+76>>2]=5;rx(k[ac>>2]|0,k[$b>>2]|0);oC(k[bc>>2]|0,5,6068);k[ea>>2]=k[(k[ia>>2]|0)+8>>2];k[H>>2]=0;while(1){if(!(k[ea>>2]|0))break a;k[A>>2]=k[1522];k[A+4>>2]=k[1523];k[A+8>>2]=k[1524];ac=k[bc>>2]|0;Yb=k[k[ea>>2]>>2]|0;Zb=(l[(k[ea>>2]|0)+54>>0]|0)!=0&1;_b=k[A+((i[(k[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(k[(k[ea>>2]|0)+36>>2]|0)!=0&1;k[wa>>2]=k[H>>2];k[wa+4>>2]=Yb;k[wa+8>>2]=Zb;k[wa+12>>2]=_b;k[wa+16>>2]=$b;pC(ac,1,32960,wa);fx(k[bc>>2]|0,33,1,5)|0;k[ea>>2]=k[(k[ea>>2]|0)+20>>2];k[H>>2]=(k[H>>2]|0)+1}}case 10:{k[(k[ac>>2]|0)+76>>2]=3;oC(k[bc>>2]|0,3,6100);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break a;if(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0){ac=k[bc>>2]|0;Zb=k[I>>2]|0;_b=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2]|0;$b=Qi(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+4>>2]|0)|0;k[xa>>2]=Zb;k[xa+4>>2]=_b;k[xa+8>>2]=$b;pC(ac,1,32966,xa);fx(k[bc>>2]|0,33,1,3)|0}k[I>>2]=(k[I>>2]|0)+1}}case 7:{k[J>>2]=0;k[(k[ac>>2]|0)+76>>2]=2;oC(k[bc>>2]|0,2,6112);k[Z>>2]=k[(k[cc>>2]|0)+364+8>>2];while(1){if(!(k[Z>>2]|0))break a;k[ba>>2]=k[(k[Z>>2]|0)+8>>2];ac=k[bc>>2]|0;_b=k[J>>2]|0;k[J>>2]=_b+1;$b=k[k[ba>>2]>>2]|0;k[ya>>2]=_b;k[ya+4>>2]=$b;pC(ac,1,32970,ya);fx(k[bc>>2]|0,33,1,2)|0;k[Z>>2]=k[k[Z>>2]>>2]}}case 14:{if(!(k[ec>>2]|0))break a;_b=Bi(k[cc>>2]|0,k[ec>>2]|0,k[_a>>2]|0)|0;k[ja>>2]=_b;if(!(k[ja>>2]|0))break a;_b=dx(k[ac>>2]|0)|0;k[bc>>2]=_b;k[ca>>2]=k[(k[ja>>2]|0)+16>>2];if(!(k[ca>>2]|0))break a;k[K>>2]=0;k[(k[ac>>2]|0)+76>>2]=8;rx(k[ac>>2]|0,k[$b>>2]|0);oC(k[bc>>2]|0,8,6120);while(1){if(!(k[ca>>2]|0))break a;k[V>>2]=0;while(1){if((k[V>>2]|0)>=(k[(k[ca>>2]|0)+20>>2]|0))break;ac=k[bc>>2]|0;Vb=k[K>>2]|0;Wb=k[V>>2]|0;Xb=k[(k[ca>>2]|0)+8>>2]|0;Yb=k[(k[(k[ja>>2]|0)+4>>2]|0)+(k[(k[ca>>2]|0)+36+(k[V>>2]<<3)>>2]<<4)>>2]|0;Zb=k[(k[ca>>2]|0)+36+(k[V>>2]<<3)+4>>2]|0;_b=qC(i[(k[ca>>2]|0)+25+1>>0]|0)|0;$b=qC(i[(k[ca>>2]|0)+25>>0]|0)|0;k[za>>2]=Vb;k[za+4>>2]=Wb;k[za+8>>2]=Xb;k[za+12>>2]=Yb;k[za+16>>2]=Zb;k[za+20>>2]=_b;k[za+24>>2]=$b;k[za+28>>2]=32982;pC(ac,1,32973,za);fx(k[bc>>2]|0,33,1,8)|0;k[V>>2]=(k[V>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1;k[ca>>2]=k[(k[ca>>2]|0)+4>>2]}}case 13:{k[Wa>>2]=(k[(k[ac>>2]|0)+76>>2]|0)+1;Zb=(k[ac>>2]|0)+76|0;k[Zb>>2]=(k[Zb>>2]|0)+4;Zb=(k[ac>>2]|0)+76|0;Yb=(k[Zb>>2]|0)+1|0;k[Zb>>2]=Yb;k[Va>>2]=Yb;Yb=(k[ac>>2]|0)+76|0;Zb=(k[Yb>>2]|0)+1|0;k[Yb>>2]=Zb;k[Xa>>2]=Zb;Zb=dx(k[ac>>2]|0)|0;k[bc>>2]=Zb;oC(k[bc>>2]|0,4,6152);rx(k[ac>>2]|0,k[$b>>2]|0);k[Qa>>2]=k[(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(k[Qa>>2]|0))break a;if(k[ec>>2]|0){Zb=Lh(k[ac>>2]|0,0,k[ec>>2]|0,k[_a>>2]|0)|0;k[Ua>>2]=Zb;k[Qa>>2]=0}else{k[Ua>>2]=k[(k[Qa>>2]|0)+8>>2];k[Qa>>2]=k[k[Qa>>2]>>2]}if(!(k[Ua>>2]|0))continue;if(!(k[(k[Ua>>2]|0)+16>>2]|0))continue;Oz(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ua>>2]|0)+28>>2]|0,0,k[k[Ua>>2]>>2]|0);if(((j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0)|0)>(k[(k[ac>>2]|0)+76>>2]|0))k[(k[ac>>2]|0)+76>>2]=(j[(k[Ua>>2]|0)+34>>1]|0)+(k[Xa>>2]|0);Pz(k[ac>>2]|0,0,k[$b>>2]|0,k[Ua>>2]|0,54);hx(k[bc>>2]|0,k[Wa>>2]|0,k[k[Ua>>2]>>2]|0)|0;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];d:while(1){if(!(k[Ra>>2]|0))break;Zb=Bi(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;do if(k[Ta>>2]|0){k[Sa>>2]=0;Oz(k[ac>>2]|0,k[$b>>2]|0,k[(k[Ta>>2]|0)+28>>2]|0,0,k[k[Ta>>2]>>2]|0);Zb=rC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,0)|0;k[Za>>2]=Zb;if(k[Za>>2]|0){_b=207;break d}if(!(k[Sa>>2]|0)){Pz(k[ac>>2]|0,k[Ma>>2]|0,k[$b>>2]|0,k[Ta>>2]|0,54);break}else{jx(k[bc>>2]|0,54,k[Ma>>2]|0,k[(k[Sa>>2]|0)+44>>2]|0,k[$b>>2]|0)|0;Qz(k[ac>>2]|0,k[Sa>>2]|0);break}}while(0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;k[Qa>>2]=0}if(k[Ra>>2]|0)break a;if((k[(k[ac>>2]|0)+72>>2]|0)<(k[Ma>>2]|0))k[(k[ac>>2]|0)+72>>2]=k[Ma>>2];Zb=Nz(k[bc>>2]|0,108,0)|0;k[Ka>>2]=Zb;k[Ma>>2]=1;k[Ra>>2]=k[(k[Ua>>2]|0)+16>>2];while(1){if(!(k[Ra>>2]|0))break;Zb=Bi(k[cc>>2]|0,k[(k[Ra>>2]|0)+8>>2]|0,k[_a>>2]|0)|0;k[Ta>>2]=Zb;k[Sa>>2]=0;k[La>>2]=0;if(k[Ta>>2]|0){Zb=rC(k[ac>>2]|0,k[Ta>>2]|0,k[Ra>>2]|0,Sa,La)|0;k[Za>>2]=Zb}Zb=Sz(k[bc>>2]|0)|0;k[Ja>>2]=Zb;do if((k[Ta>>2]|0)!=0&(k[Sa>>2]|0)==0){k[Na>>2]=k[(k[Ra>>2]|0)+36>>2];f=k[bc>>2]|0;if((k[Na>>2]|0)!=(j[(k[Ua>>2]|0)+32>>1]|0)){jx(f,47,0,k[Na>>2]|0,k[Xa>>2]|0)|0;LA(k[bc>>2]|0,k[Ua>>2]|0,k[Na>>2]|0,k[Xa>>2]|0);fx(k[bc>>2]|0,76,k[Xa>>2]|0,k[Ja>>2]|0)|0;Yb=k[bc>>2]|0;Zb=k[Xa>>2]|0;fx(Yb,38,Zb,(Rz(k[bc>>2]|0)|0)+3|0)|0}else fx(f,103,0,k[Xa>>2]|0)|0;jx(k[bc>>2]|0,70,k[Ma>>2]|0,0,k[Xa>>2]|0)|0;Uz(k[bc>>2]|0,k[Ja>>2]|0)|0;Zb=k[bc>>2]|0;Vz(Zb,(Rz(k[bc>>2]|0)|0)-2|0)}else{k[Pa>>2]=0;while(1){if((k[Pa>>2]|0)>=(k[(k[Ra>>2]|0)+20>>2]|0))break;f=k[Pa>>2]|0;if(k[La>>2]|0)f=k[(k[La>>2]|0)+(f<<2)>>2]|0;else f=k[(k[Ra>>2]|0)+36+(f<<3)>>2]|0;JA(k[bc>>2]|0,k[Ua>>2]|0,0,f,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0);fx(k[bc>>2]|0,76,(k[Xa>>2]|0)+(k[Pa>>2]|0)|0,k[Ja>>2]|0)|0;k[Pa>>2]=(k[Pa>>2]|0)+1}if(!(k[Ta>>2]|0))break;Vb=k[bc>>2]|0;Wb=k[Xa>>2]|0;Xb=k[(k[Ra>>2]|0)+20>>2]|0;Yb=k[Va>>2]|0;Zb=sC(k[cc>>2]|0,k[Sa>>2]|0)|0;ix(Vb,49,Wb,Xb,Yb,Zb,k[(k[Ra>>2]|0)+20>>2]|0)|0;Qh(k[bc>>2]|0,69,k[Ma>>2]|0,k[Ja>>2]|0,k[Va>>2]|0,0)|0}while(0);fx(k[bc>>2]|0,103,0,(k[Wa>>2]|0)+1|0)|0;Yb=k[bc>>2]|0;Zb=(k[Wa>>2]|0)+2|0;Xb=(k[Ma>>2]|0)-1|0;k[Ya>>2]=k[(k[Ra>>2]|0)+8>>2];k[Ya+4>>2]=Xb;pC(Yb,Zb,32987,Ya);fx(k[bc>>2]|0,33,k[Wa>>2]|0,4)|0;Wz(k[bc>>2]|0,k[Ja>>2]|0);bg(k[cc>>2]|0,k[La>>2]|0);k[Ma>>2]=(k[Ma>>2]|0)+1;k[Ra>>2]=k[(k[Ra>>2]|0)+4>>2]}fx(k[bc>>2]|0,7,0,(k[Ka>>2]|0)+1|0)|0;Vz(k[bc>>2]|0,k[Ka>>2]|0)}}case 6:{if(!(k[ec>>2]|0))break a;bc=k[cc>>2]|0;tC(bc,(Oi(k[ec>>2]|0,0)|0)&255);break a}case 18:{k[kb>>2]=(l[18221+(l[k[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(k[k[s>>2]>>2]|0))k[$b>>2]=-1;k[(k[ac>>2]|0)+76>>2]=6;aC(k[bc>>2]|0,32990);k[wb>>2]=100;if((k[ec>>2]|0)!=0?(Yi(k[ec>>2]|0,wb)|0,(k[wb>>2]|0)<=0):0)k[wb>>2]=100;fx(k[bc>>2]|0,22,k[wb>>2]|0,1)|0;k[gb>>2]=0;e:while(1){if((k[gb>>2]|0)>=(k[(k[cc>>2]|0)+20>>2]|0))break;k[db>>2]=0;k[xb>>2]=0;if(!((k[$b>>2]|0)>=0?(k[gb>>2]|0)!=(k[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;rx(k[ac>>2]|0,k[gb>>2]|0);Zb=Nz(k[bc>>2]|0,138,1)|0;k[bb>>2]=Zb;fx(k[bc>>2]|0,21,0,0)|0;Vz(k[bc>>2]|0,k[bb>>2]|0);k[Kb>>2]=(k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)+12>>2]|0)+8;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Hb>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Hb>>2]|0)+42>>0]&32))k[db>>2]=(k[db>>2]|0)+1;k[yb>>2]=0;k[Ab>>2]=k[(k[Hb>>2]|0)+8>>2];while(1){if(!(k[Ab>>2]|0))break;k[db>>2]=(k[db>>2]|0)+1;k[Ab>>2]=k[(k[Ab>>2]|0)+20>>2];k[yb>>2]=(k[yb>>2]|0)+1}if((k[yb>>2]|0)>(k[xb>>2]|0))k[xb>>2]=k[yb>>2];k[Rb>>2]=k[k[Rb>>2]>>2]}Zb=Vw(k[cc>>2]|0,(k[db>>2]|0)+1<<2,0)|0;k[ab>>2]=Zb;if(!(k[ab>>2]|0))break e;k[db>>2]=0;k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break;k[Ib>>2]=k[(k[Rb>>2]|0)+8>>2];if(!(l[(k[Ib>>2]|0)+42>>0]&32)){Yb=k[(k[Ib>>2]|0)+28>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb}k[Bb>>2]=k[(k[Ib>>2]|0)+8>>2];while(1){if(!(k[Bb>>2]|0))break;Yb=k[(k[Bb>>2]|0)+44>>2]|0;Zb=k[db>>2]|0;k[db>>2]=Zb+1;k[(k[ab>>2]|0)+(Zb<<2)>>2]=Yb;k[Bb>>2]=k[(k[Bb>>2]|0)+20>>2]}k[Rb>>2]=k[k[Rb>>2]>>2]}k[(k[ab>>2]|0)+(k[db>>2]<<2)>>2]=0;if((k[(k[ac>>2]|0)+76>>2]|0)>(8+(k[xb>>2]|0)|0))f=k[(k[ac>>2]|0)+76>>2]|0;else f=8+(k[xb>>2]|0)|0;k[(k[ac>>2]|0)+76>>2]=f;ix(k[bc>>2]|0,128,2,k[db>>2]|0,1,k[ab>>2]|0,-15)|0;Rh(k[bc>>2]|0,k[gb>>2]&255);Yb=Nz(k[bc>>2]|0,76,2)|0;k[bb>>2]=Yb;Yb=k[bc>>2]|0;Zb=k[cc>>2]|0;k[Pb>>2]=k[(k[(k[cc>>2]|0)+16>>2]|0)+(k[gb>>2]<<4)>>2];ix(Yb,97,0,3,0,Nh(Zb,33006,Pb)|0,-1)|0;jx(k[bc>>2]|0,29,2,4,1)|0;jx(k[bc>>2]|0,94,4,3,2)|0;fx(k[bc>>2]|0,33,2,1)|0;Vz(k[bc>>2]|0,k[bb>>2]|0);k[Rb>>2]=k[(k[Kb>>2]|0)+8>>2];while(1){if(!(k[Rb>>2]|0))break f;if(!((k[kb>>2]|0)!=0^1))break f;k[Jb>>2]=k[(k[Rb>>2]|0)+8>>2];k[Fb>>2]=0;k[Lb>>2]=-1;g:do if(k[(k[Jb>>2]|0)+8>>2]|0){if(!(l[(k[Jb>>2]|0)+42>>0]&32))f=0;else f=Rj(k[Jb>>2]|0)|0;k[Db>>2]=f;Zb=Nz(k[bc>>2]|0,138,1)|0;k[bb>>2]=Zb;fx(k[bc>>2]|0,21,0,0)|0;Vz(k[bc>>2]|0,k[bb>>2]|0);uC(k[ac>>2]|0);vC(k[ac>>2]|0,k[Jb>>2]|0,54,0,1,0,ib,jb)|0;fx(k[bc>>2]|0,22,0,7)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;fx(f,22,0,8+(k[lb>>2]|0)|0)|0;k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}fx(f,108,k[ib>>2]|0,0)|0;Zb=fx(k[bc>>2]|0,37,7,1)|0;k[ub>>2]=Zb;k[lb>>2]=0;while(1){if((k[lb>>2]|0)>=(j[(k[Jb>>2]|0)+34>>1]|0))break;do if((k[lb>>2]|0)!=(j[(k[Jb>>2]|0)+32>>1]|0)){if(!(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)+12>>0]|0))break;JA(k[bc>>2]|0,k[Jb>>2]|0,k[ib>>2]|0,k[lb>>2]|0,3);Rh(k[bc>>2]|0,-128);Zb=Nz(k[bc>>2]|0,77,3)|0;k[mb>>2]=Zb;fx(k[bc>>2]|0,37,1,-1)|0;Zb=k[cc>>2]|0;Yb=k[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[lb>>2]<<4)>>2]|0;k[Qb>>2]=k[k[Jb>>2]>>2];k[Qb+4>>2]=Yb;Zb=Nh(Zb,33030,Qb)|0;k[Sb>>2]=Zb;ix(k[bc>>2]|0,97,0,3,0,k[Sb>>2]|0,-1)|0;fx(k[bc>>2]|0,33,3,1)|0;Zb=Nz(k[bc>>2]|0,138,1)|0;k[ob>>2]=Zb;mx(k[bc>>2]|0,21)|0;Vz(k[bc>>2]|0,k[mb>>2]|0);Vz(k[bc>>2]|0,k[ob>>2]|0)}while(0);k[lb>>2]=(k[lb>>2]|0)+1}k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){f=k[bc>>2]|0;if(!(k[Cb>>2]|0))break;Zb=Sz(f)|0;k[cb>>2]=Zb;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=lA(k[ac>>2]|0,k[Cb>>2]|0,k[ib>>2]|0,0,0,pb,k[Fb>>2]|0,k[Lb>>2]|0)|0;k[Lb>>2]=Zb;k[Fb>>2]=k[Cb>>2];fx(k[bc>>2]|0,37,8+(k[lb>>2]|0)|0,1)|0;Zb=Qh(k[bc>>2]|0,69,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[cb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+52>>1]|0)|0;k[nb>>2]=Zb;fx(k[bc>>2]|0,37,1,-1)|0;hx(k[bc>>2]|0,3,33050)|0;jx(k[bc>>2]|0,94,7,3,3)|0;hx(k[bc>>2]|0,4,33055)|0;jx(k[bc>>2]|0,94,4,3,3)|0;Zb=hx(k[bc>>2]|0,4,k[k[Cb>>2]>>2]|0)|0;k[rb>>2]=Zb;jx(k[bc>>2]|0,94,4,3,3)|0;fx(k[bc>>2]|0,33,3,1)|0;Zb=Nz(k[bc>>2]|0,138,1)|0;k[qb>>2]=Zb;mx(k[bc>>2]|0,21)|0;Vz(k[bc>>2]|0,k[nb>>2]|0);if(l[(k[Cb>>2]|0)+54>>0]|0){Zb=Sz(k[bc>>2]|0)|0;k[Mb>>2]=Zb;k[tb>>2]=0;while(1){if((k[tb>>2]|0)>=(m[(k[Cb>>2]|0)+50>>1]|0))break;k[hb>>2]=j[(k[(k[Cb>>2]|0)+4>>2]|0)+(k[tb>>2]<<1)>>1];if(!((k[hb>>2]|0)>=0?(l[(k[(k[Jb>>2]|0)+4>>2]|0)+(k[hb>>2]<<4)+12>>0]|0)!=0:0))fx(k[bc>>2]|0,76,(k[Lb>>2]|0)+(k[tb>>2]|0)|0,k[Mb>>2]|0)|0;k[tb>>2]=(k[tb>>2]|0)+1}Zb=Nz(k[bc>>2]|0,7,(k[jb>>2]|0)+(k[lb>>2]|0)|0)|0;k[sb>>2]=Zb;Uz(k[bc>>2]|0,k[Mb>>2]|0)|0;Vz(k[bc>>2]|0,k[sb>>2]|0);Qh(k[bc>>2]|0,115,(k[jb>>2]|0)+(k[lb>>2]|0)|0,k[Mb>>2]|0,k[Lb>>2]|0,m[(k[Cb>>2]|0)+50>>1]|0)|0;fx(k[bc>>2]|0,37,1,-1)|0;hx(k[bc>>2]|0,3,33076)|0;Uz(k[bc>>2]|0,k[rb>>2]|0)|0;Wz(k[bc>>2]|0,k[Mb>>2]|0)}Vz(k[bc>>2]|0,k[qb>>2]|0);mA(k[ac>>2]|0,k[pb>>2]|0)}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}fx(f,7,k[ib>>2]|0,k[ub>>2]|0)|0;Vz(k[bc>>2]|0,(k[ub>>2]|0)-1|0);hx(k[bc>>2]|0,2,33103)|0;k[lb>>2]=0;k[Cb>>2]=k[(k[Jb>>2]|0)+8>>2];while(1){if(!(k[Cb>>2]|0))break g;if((k[Db>>2]|0)!=(k[Cb>>2]|0)){Zb=Rz(k[bc>>2]|0)|0;k[bb>>2]=Zb;fx(k[bc>>2]|0,138,1,(k[bb>>2]|0)+2|0)|0;fx(k[bc>>2]|0,21,0,0)|0;fx(k[bc>>2]|0,50,(k[jb>>2]|0)+(k[lb>>2]|0)|0,3)|0;jx(k[bc>>2]|0,79,8+(k[lb>>2]|0)|0,(k[bb>>2]|0)+8|0,3)|0;Rh(k[bc>>2]|0,-112);fx(k[bc>>2]|0,37,1,-1)|0;hx(k[bc>>2]|0,3,k[k[Cb>>2]>>2]|0)|0;jx(k[bc>>2]|0,94,3,2,7)|0;fx(k[bc>>2]|0,33,7,1)|0}k[Cb>>2]=k[(k[Cb>>2]|0)+20>>2];k[lb>>2]=(k[lb>>2]|0)+1}}while(0);k[Rb>>2]=k[k[Rb>>2]>>2]}}while(0);k[gb>>2]=(k[gb>>2]|0)+1}bc=Sh(k[bc>>2]|0,4,33132,0)|0;k[$a>>2]=bc;if(!(k[$a>>2]|0))break a;k[(k[$a>>2]|0)+8>>2]=0-(k[wb>>2]|0);i[(k[$a>>2]|0)+40+1>>0]=-2;k[(k[$a>>2]|0)+40+16>>2]=33148;break a}case 12:{if(!(k[ec>>2]|0)){if(Fz(k[ac>>2]|0)|0)break a;$B(k[bc>>2]|0,33151,k[6168+(l[(k[k[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(m[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;k[Ha>>2]=6168;while(1){if(!(k[k[Ha>>2]>>2]|0))break;bc=0==(sg(k[ec>>2]|0,k[k[Ha>>2]>>2]|0)|0);f=k[Ha>>2]|0;if(bc){_b=309;break}k[Ha>>2]=f+8}if((_b|0)==309){if(l[f+4>>0]|0)f=l[(k[Ha>>2]|0)+4>>0]|0;else f=(i[960]|0)==0?3:2;bc=f&255;i[(k[cc>>2]|0)+66>>0]=bc;i[(k[(k[(k[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(k[k[Ha>>2]>>2]|0)break a;bc=k[ac>>2]|0;k[Ia>>2]=k[ec>>2];Mh(bc,33160,Ia);break a}case 0:{k[O>>2]=k[(k[Eb>>2]|0)+8>>2];Th(k[bc>>2]|0,k[$b>>2]|0);if((k[ec>>2]|0)!=0?(l[(k[Eb>>2]|0)+5>>0]&2|0)==0:0){bc=Sh(k[bc>>2]|0,2,33185,0)|0;k[w>>2]=bc;k[(k[w>>2]|0)+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+4>>2]=k[$b>>2];k[(k[w>>2]|0)+20+8>>2]=k[O>>2];bc=Xi(k[ec>>2]|0)|0;k[(k[w>>2]|0)+20+12>>2]=bc;break a}ac=Sh(k[bc>>2]|0,3,33193,0)|0;k[x>>2]=ac;k[(k[x>>2]|0)+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+4>>2]=k[$b>>2];k[(k[x>>2]|0)+20+12>>2]=k[O>>2];cC(k[bc>>2]|0,1);dC(k[bc>>2]|0,0,0,k[dc>>2]|0,-1)|0;wC(k[bc>>2]|0);break a}case 8:{k[Ca>>2]=0;k[(k[ac>>2]|0)+76>>2]=1;aC(k[bc>>2]|0,33205);while(1){ac=k[Ca>>2]|0;k[Ca>>2]=ac+1;ac=Kd(ac)|0;k[Ga>>2]=ac;f=k[bc>>2]|0;if(!ac)break;hx(f,1,k[Ga>>2]|0)|0;fx(k[bc>>2]|0,33,1,1)|0}wC(f);break a}case 36:{k[N>>2]=(k[k[s>>2]>>2]|0)!=0?k[$b>>2]|0:10;k[F>>2]=0;do if(k[ec>>2]|0){if(!(sg(k[ec>>2]|0,33220)|0)){k[F>>2]=1;break}if(!(sg(k[ec>>2]|0,33225)|0)){k[F>>2]=2;break}if(!(sg(k[ec>>2]|0,33233)|0))k[F>>2]=3}while(0);oC(k[bc>>2]|0,3,6240);k[(k[ac>>2]|0)+76>>2]=3;jx(k[bc>>2]|0,8,k[N>>2]|0,k[F>>2]|0,1)|0;fx(k[bc>>2]|0,33,1,3)|0;break a}case 35:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Jf(ac,Xi(k[ec>>2]|0)|0)|0}if((k[(k[cc>>2]|0)+220>>2]|0)==139)f=k[(k[cc>>2]|0)+224>>2]|0;else f=0;bC(k[bc>>2]|0,33242,f,((f|0)<0)<<31>>31);break a}case 27:{xf(k[cc>>2]|0)|0;break a}case 28:{if((k[ec>>2]|0)!=0?(Pi(k[ec>>2]|0,t)|0)==0:0){ac=t;Qd(k[ac>>2]|0,k[ac+4>>2]|0)|0}ac=k[bc>>2]|0;bc=Qd(-1,-1)|0;bC(ac,33269,bc,L);break a}case 34:{if((k[ec>>2]|0)!=0?(_b=(Pi(k[ec>>2]|0,u)|0)==0,ac=u,$b=k[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(k[ac>>2]|0)>>>0>=0)):0)Of(k[cc>>2]|0,11,k[u>>2]&2147483647)|0;ac=k[bc>>2]|0;bc=Of(k[cc>>2]|0,11,-1)|0;bC(ac,33285,bc,((bc|0)<0)<<31>>31);break a}default:{if(k[ec>>2]|0){ac=k[cc>>2]|0;Ff(ac,Xi(k[ec>>2]|0)|0)|0}ac=k[(k[cc>>2]|0)+428>>2]|0;bC(k[bc>>2]|0,33261,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);bg(k[cc>>2]|0,k[dc>>2]|0);bg(k[cc>>2]|0,k[ec>>2]|0);r=fc;return}function yw(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+112|0;t=w+24|0;s=w;d=w+108|0;e=w+104|0;f=w+100|0;o=w+96|0;v=w+92|0;g=w+88|0;p=w+64|0;h=w+56|0;j=w+48|0;q=w+44|0;u=w+40|0;m=w+36|0;l=w+32|0;n=w+28|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[o>>2]=k[(k[d>>2]|0)+492>>2];k[g>>2]=k[k[d>>2]>>2];k[(k[d>>2]|0)+492>>2]=0;do if((k[o>>2]|0)!=0?(k[(k[d>>2]|0)+68>>2]|0)==0:0){k[v>>2]=k[k[o>>2]>>2];b=Ph(k[k[d>>2]>>2]|0,k[(k[o>>2]|0)+20>>2]|0)|0;k[h>>2]=b;k[(k[o>>2]|0)+28>>2]=k[e>>2];while(1){c=k[o>>2]|0;if(!(k[e>>2]|0))break;k[(k[e>>2]|0)+4>>2]=c;k[e>>2]=k[(k[e>>2]|0)+28>>2]}Sy(j,k[c>>2]|0);UB(p,k[d>>2]|0,k[h>>2]|0,19272,j);if((ZB(p,k[(k[o>>2]|0)+28>>2]|0)|0)==0?(XB(p,k[(k[o>>2]|0)+12>>2]|0)|0)==0:0){if(!(i[(k[g>>2]|0)+144+5>>0]|0)){p=dx(k[d>>2]|0)|0;k[q>>2]=p;if(!(k[q>>2]|0))break;qx(k[d>>2]|0,0,k[h>>2]|0);p=Yw(k[g>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0,0)|0;k[u>>2]=p;p=k[d>>2]|0;a=(k[h>>2]|0)==1?20513:20532;b=k[v>>2]|0;f=k[(k[o>>2]|0)+4>>2]|0;j=k[u>>2]|0;k[s>>2]=k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)>>2];k[s+4>>2]=a;k[s+8>>2]=b;k[s+12>>2]=f;k[s+16>>2]=j;cx(p,32523,s);bg(k[g>>2]|0,k[u>>2]|0);ex(k[d>>2]|0,k[h>>2]|0);q=k[q>>2]|0;s=k[h>>2]|0;u=k[g>>2]|0;k[t>>2]=k[v>>2];gx(q,s,Nh(u,32587,t)|0)}if(i[(k[g>>2]|0)+144+5>>0]|0){k[m>>2]=k[o>>2];k[l>>2]=(k[(k[(k[g>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2]|0)+40;v=ak(k[l>>2]|0,k[v>>2]|0,k[o>>2]|0)|0;k[o>>2]=v;if(k[o>>2]|0){vh(k[g>>2]|0);break}if((k[(k[m>>2]|0)+20>>2]|0)==(k[(k[m>>2]|0)+24>>2]|0)){v=Aj((k[(k[m>>2]|0)+24>>2]|0)+8|0,k[(k[m>>2]|0)+4>>2]|0)|0;k[n>>2]=v;k[(k[m>>2]|0)+32>>2]=k[(k[n>>2]|0)+60>>2];k[(k[n>>2]|0)+60>>2]=k[m>>2]}}}}while(0);_f(k[g>>2]|0,k[o>>2]|0);rv(k[g>>2]|0,k[e>>2]|0);r=w;return}function zw(a,b,c,d,e,f,g,h,j,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=r;r=r+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;q=Q;I=Q+156|0;n=Q+152|0;o=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;p=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;k[I>>2]=a;k[n>>2]=b;k[o>>2]=c;k[x>>2]=d;k[y>>2]=e;k[J>>2]=f;k[K>>2]=g;k[L>>2]=h;k[z>>2]=j;k[A>>2]=m;k[O>>2]=0;k[P>>2]=0;k[M>>2]=k[k[I>>2]>>2];do if(k[z>>2]|0)if((k[(k[o>>2]|0)+4>>2]|0)>>>0<=0){k[N>>2]=1;k[D>>2]=k[n>>2];if(k[K>>2]|0){w=6;break}else break}else{Mh(k[I>>2]|0,32206,q);break}else{q=Jz(k[I>>2]|0,k[n>>2]|0,k[o>>2]|0,D)|0;k[N>>2]=q;if((k[N>>2]|0)>=0&(k[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(l[(k[M>>2]|0)+69>>0]|0)==0:0){if((k[N>>2]|0)!=1?(l[(k[M>>2]|0)+144+5>>0]|0)!=0:0){bg(k[M>>2]|0,k[(k[K>>2]|0)+8+4>>2]|0);k[(k[K>>2]|0)+8+4>>2]=0}w=TB(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(((l[(k[M>>2]|0)+144+5>>0]|0)==0?((k[E>>2]|0)!=0?(k[(k[o>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[E>>2]|0)+64>>2]|0)==(k[(k[(k[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[N>>2]=1;if((i[(k[M>>2]|0)+69>>0]|0)==0?(UB(p,k[I>>2]|0,k[N>>2]|0,19272,k[D>>2]|0),(VB(p,k[K>>2]|0)|0)==0):0){w=TB(k[I>>2]|0,k[K>>2]|0)|0;k[E>>2]=w;if(!(k[E>>2]|0)){if((l[(k[M>>2]|0)+144+4>>0]|0)!=1)break;i[(k[M>>2]|0)+144+6>>0]=1;break}if(l[(k[E>>2]|0)+42>>0]&16){Mh(k[I>>2]|0,32252,s);break}w=Tw(k[M>>2]|0,k[D>>2]|0)|0;k[P>>2]=w;if((k[P>>2]|0)!=0?0==(Ox(k[I>>2]|0,k[P>>2]|0)|0):0){if(Aj((k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2]|0)+40|0,k[P>>2]|0)|0){n=k[I>>2]|0;if(k[A>>2]|0){rx(n,k[N>>2]|0);break}else{k[F>>2]=k[D>>2];Mh(n,32293,F);break}}if(!(Jd(k[k[E>>2]>>2]|0,28440,7)|0)){Mh(k[I>>2]|0,32319,t);break}if((k[x>>2]|0)!=49?(k[(k[E>>2]|0)+12>>2]|0)!=0:0){N=k[I>>2]|0;H=k[K>>2]|0;k[u>>2]=(k[x>>2]|0)==35?32357:32364;k[u+4>>2]=H;k[u+8>>2]=0;Mh(N,32370,u);break}if((k[x>>2]|0)==49?(k[(k[E>>2]|0)+12>>2]|0)==0:0){N=k[I>>2]|0;k[v>>2]=k[K>>2];k[v+4>>2]=0;Mh(N,32407,v);break}F=Ph(k[M>>2]|0,k[(k[E>>2]|0)+64>>2]|0)|0;k[C>>2]=F;k[B>>2]=7;k[G>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[C>>2]<<4)>>2];if(k[z>>2]|0)n=k[(k[(k[M>>2]|0)+16>>2]|0)+16>>2]|0;else n=k[G>>2]|0;k[H>>2]=n;if((k[C>>2]|0)==1|(k[z>>2]|0)!=0)k[B>>2]=5;if((ax(k[I>>2]|0,k[B>>2]|0,k[P>>2]|0,k[k[E>>2]>>2]|0,k[H>>2]|0)|0)==0?(ax(k[I>>2]|0,18,(k[C>>2]|0)==1?20513:20532,0,k[G>>2]|0)|0)==0:0){if((k[x>>2]|0)==49)k[x>>2]=35;H=Bh(k[M>>2]|0,36,0)|0;k[O>>2]=H;if(!(k[O>>2]|0))break;k[k[O>>2]>>2]=k[P>>2];k[P>>2]=0;H=zh(k[M>>2]|0,k[(k[K>>2]|0)+8+8>>2]|0)|0;k[(k[O>>2]|0)+4>>2]=H;k[(k[O>>2]|0)+20>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[N>>2]<<4)+12>>2];k[(k[O>>2]|0)+24>>2]=k[(k[E>>2]|0)+64>>2];i[(k[O>>2]|0)+8>>0]=k[y>>2];i[(k[O>>2]|0)+9>>0]=(k[x>>2]|0)==35?1:2;N=Dy(k[M>>2]|0,k[L>>2]|0,1)|0;k[(k[O>>2]|0)+12>>2]=N;N=Dz(k[M>>2]|0,k[J>>2]|0)|0;k[(k[O>>2]|0)+16>>2]=N;k[(k[I>>2]|0)+492>>2]=k[O>>2]}}}}while(0);bg(k[M>>2]|0,k[P>>2]|0);mv(k[M>>2]|0,k[K>>2]|0);ov(k[M>>2]|0,k[J>>2]|0);nv(k[M>>2]|0,k[L>>2]|0);if(k[(k[I>>2]|0)+492>>2]|0){r=Q;return}_f(k[M>>2]|0,k[O>>2]|0);r=Q;return}function Aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;d=SB(k[f>>2]|0,110,k[n>>2]|0)|0;k[l>>2]=d;if(k[l>>2]|0){n=Ly(k[f>>2]|0,k[g>>2]|0,1)|0;k[(k[l>>2]|0)+20>>2]=n;n=Dy(k[f>>2]|0,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+16>>2]=n;i[(k[l>>2]|0)+1>>0]=i[j>>0]|0}jv(k[f>>2]|0,k[g>>2]|0);nv(k[f>>2]|0,k[h>>2]|0);r=m;return k[l>>2]|0}function Bw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0;m=r;r=r+32|0;f=m+16|0;n=m+12|0;g=m+8|0;h=m+4|0;j=m+20|0;l=m;k[f>>2]=a;k[n>>2]=b;k[g>>2]=c;k[h>>2]=d;i[j>>0]=e;a=SB(k[f>>2]|0,108,k[n>>2]|0)|0;k[l>>2]=a;a=k[f>>2]|0;if(k[l>>2]|0){n=Xx(a,k[h>>2]|0,1)|0;k[(k[l>>2]|0)+8>>2]=n;k[(k[l>>2]|0)+24>>2]=k[g>>2];i[(k[l>>2]|0)+1>>0]=i[j>>0]|0;j=k[f>>2]|0;n=k[h>>2]|0;kv(j,n);n=k[l>>2]|0;r=m;return n|0}else{ov(a,k[g>>2]|0);j=k[f>>2]|0;n=k[h>>2]|0;kv(j,n);n=k[l>>2]|0;r=m;return n|0}return 0}function Cw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[h>>2]=b;k[e>>2]=c;c=SB(k[d>>2]|0,109,k[h>>2]|0)|0;k[f>>2]=c;if(k[f>>2]|0){h=Dy(k[d>>2]|0,k[e>>2]|0,1)|0;k[(k[f>>2]|0)+16>>2]=h;i[(k[f>>2]|0)+1>>0]=10}nv(k[d>>2]|0,k[e>>2]|0);r=g;return k[f>>2]|0}function Dw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;b=Bh(k[d>>2]|0,36,0)|0;k[f>>2]=b;if(!(k[f>>2]|0)){kv(k[d>>2]|0,k[e>>2]|0);k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}else{i[k[f>>2]>>0]=119;k[(k[f>>2]|0)+8>>2]=k[e>>2];i[(k[f>>2]|0)+1>>0]=10;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}return 0}function Ew(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,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;o=q;j=q+40|0;l=q+36|0;m=q+32|0;f=q+28|0;d=q+24|0;p=q+20|0;g=q+16|0;n=q+12|0;e=q+8|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[f>>2]=0;k[n>>2]=k[k[j>>2]>>2];if(i[(k[n>>2]|0)+69>>0]|0){o=k[n>>2]|0;p=k[l>>2]|0;mv(o,p);r=q;return}if(Fz(k[j>>2]|0)|0){o=k[n>>2]|0;p=k[l>>2]|0;mv(o,p);r=q;return}k[p>>2]=k[(k[l>>2]|0)+8+4>>2];k[g>>2]=k[(k[l>>2]|0)+8+8>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[n>>2]|0)+20>>2]|0))break;a=k[d>>2]|0;k[e>>2]=(k[d>>2]|0)<2?a^1:a;if(!((k[p>>2]|0)!=0?(sg(k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)>>2]|0,k[p>>2]|0)|0)!=0:0))h=7;if((h|0)==7?(h=0,a=Aj((k[(k[(k[n>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+40|0,k[g>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0)break;k[d>>2]=(k[d>>2]|0)+1}if(k[f>>2]|0){QB(k[j>>2]|0,k[f>>2]|0);o=k[n>>2]|0;p=k[l>>2]|0;mv(o,p);r=q;return}d=k[j>>2]|0;if(k[m>>2]|0)PB(d,k[p>>2]|0);else{k[o>>2]=k[l>>2];k[o+4>>2]=0;Mh(d,32135,o)}i[(k[j>>2]|0)+17>>0]=1;o=k[n>>2]|0;p=k[l>>2]|0;mv(o,p);r=q;return}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;yB(k[i>>2]|0,24,5280,k[h>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0);r=e;return}function Gw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;yB(k[e>>2]|0,25,5252,k[d>>2]|0,0,0,k[d>>2]|0);r=c;return}function Hw(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,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+64|0;t=u;p=u+48|0;d=u+44|0;e=u+40|0;g=u+36|0;l=u+32|0;n=u+28|0;j=u+24|0;s=u+20|0;q=u+16|0;f=u+12|0;h=u+8|0;m=u+4|0;k[p>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[p>>2]>>2];if(Fz(k[p>>2]|0)|0){r=u;return}if(!(k[d>>2]|0)){gA(k[p>>2]|0,0);r=u;return}if(!((k[e>>2]|0)!=0?(k[k[e>>2]>>2]|0)!=0:0))o=6;do if((o|0)==6){o=Tw(k[k[p>>2]>>2]|0,k[d>>2]|0)|0;k[m>>2]=o;if(!(k[m>>2]|0)){r=u;return}o=_j(k[f>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[m>>2]|0,0)|0;k[g>>2]=o;if(!(k[g>>2]|0)){bg(k[f>>2]|0,k[m>>2]|0);break}gA(k[p>>2]|0,k[m>>2]|0);bg(k[f>>2]|0,k[m>>2]|0);r=u;return}while(0);o=Jz(k[p>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[q>>2]=o;if((k[q>>2]|0)<0){r=u;return}o=Tw(k[f>>2]|0,k[h>>2]|0)|0;k[l>>2]=o;if(!(k[l>>2]|0)){r=u;return}k[n>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[q>>2]<<4)>>2];o=Bi(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[j>>2]=o;if(k[j>>2]|0){hA(k[p>>2]|0,k[j>>2]|0,0);bg(k[f>>2]|0,k[l>>2]|0);r=u;return}d=Sj(k[f>>2]|0,k[l>>2]|0,k[n>>2]|0)|0;k[s>>2]=d;bg(k[f>>2]|0,k[l>>2]|0);d=k[p>>2]|0;if(k[s>>2]|0){qx(d,0,k[q>>2]|0);iA(k[p>>2]|0,k[s>>2]|0,-1);r=u;return}else{Mh(d,31595,t);r=u;return}}function Iw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;j=q+44|0;d=q+40|0;e=q+36|0;l=q+32|0;g=q+28|0;f=q+24|0;p=q+20|0;i=q+16|0;n=q+12|0;m=q+8|0;h=q+4|0;o=q;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;k[l>>2]=k[k[j>>2]>>2];if(Fz(k[j>>2]|0)|0){r=q;return}a:do if(k[d>>2]|0){if(k[(k[e>>2]|0)+4>>2]|0){a=Jz(k[j>>2]|0,k[d>>2]|0,k[e>>2]|0,h)|0;k[g>>2]=a;if((k[g>>2]|0)<0)break;k[i>>2]=k[(k[(k[l>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2];h=Tw(k[l>>2]|0,k[h>>2]|0)|0;k[p>>2]=h;if(!(k[p>>2]|0))break;h=Sj(k[l>>2]|0,k[p>>2]|0,k[i>>2]|0)|0;k[m>>2]=h;d=k[j>>2]|0;if(!h){m=Lh(d,0,k[p>>2]|0,k[i>>2]|0)|0;k[n>>2]=m;if(m)Iz(k[j>>2]|0,k[n>>2]|0,0)}else Iz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0);break}i=Hz(k[l>>2]|0,k[d>>2]|0)|0;k[g>>2]=i;if((k[g>>2]|0)>=0){Gz(k[j>>2]|0,k[g>>2]|0);break}i=Tw(k[l>>2]|0,k[d>>2]|0)|0;k[p>>2]=i;if(k[p>>2]|0){i=Sj(k[l>>2]|0,k[p>>2]|0,0)|0;k[m>>2]=i;d=k[j>>2]|0;if(!i){m=Lh(d,0,k[p>>2]|0,0)|0;k[n>>2]=m;if(m)Iz(k[j>>2]|0,k[n>>2]|0,0)}else Iz(d,k[(k[m>>2]|0)+12>>2]|0,k[m>>2]|0);bg(k[l>>2]|0,k[p>>2]|0)}}else{k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[l>>2]|0)+20>>2]|0))break a;if((k[f>>2]|0)!=1)Gz(k[j>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);p=dx(k[j>>2]|0)|0;k[o>>2]=p;if(!(k[o>>2]|0)){r=q;return}mx(k[o>>2]|0,147)|0;r=q;return}function Jw(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;e=E;f=E+172|0;g=E+168|0;d=E+164|0;m=E+160|0;A=E+156|0;q=E+152|0;B=E+148|0;h=E+144|0;n=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;j=E+116|0;o=E+112|0;p=E+108|0;k[f>>2]=a;k[g>>2]=b;k[d>>2]=c;k[B>>2]=0;k[h>>2]=k[k[f>>2]>>2];k[D>>2]=0;k[s>>2]=0;k[t>>2]=k[(k[h>>2]|0)+24>>2];do if(((i[(k[h>>2]|0)+69>>0]|0)==0?(b=ox(k[f>>2]|0,0,(k[g>>2]|0)+8|0)|0,k[q>>2]=b,(k[q>>2]|0)!=0):0)?(b=Ph(k[k[f>>2]>>2]|0,k[(k[q>>2]|0)+64>>2]|0)|0,k[m>>2]=b,k[A>>2]=k[(k[(k[h>>2]|0)+16>>2]|0)+(k[m>>2]<<4)>>2],b=(k[h>>2]|0)+24|0,k[b>>2]=k[b>>2]|2097152,b=Tw(k[h>>2]|0,k[d>>2]|0)|0,k[B>>2]=b,(k[B>>2]|0)!=0):0){if((Bi(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0?(Sj(k[h>>2]|0,k[B>>2]|0,k[A>>2]|0)|0)==0:0){if(px(k[f>>2]|0,k[k[q>>2]>>2]|0)|0)break;if(Ox(k[f>>2]|0,k[B>>2]|0)|0)break;d=k[f>>2]|0;if(k[(k[q>>2]|0)+12>>2]|0){k[v>>2]=k[k[q>>2]>>2];Mh(d,28933,v);break}if(ax(d,26,k[A>>2]|0,k[k[q>>2]>>2]|0,0)|0)break;if(Px(k[f>>2]|0,k[q>>2]|0)|0)break;if((l[(k[q>>2]|0)+42>>0]&16|0)!=0?(v=Qx(k[h>>2]|0,k[q>>2]|0)|0,k[s>>2]=v,(k[(k[k[(k[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)k[s>>2]=0;v=dx(k[f>>2]|0)|0;k[u>>2]=v;if(!(k[u>>2]|0))break;qx(k[f>>2]|0,(k[s>>2]|0)!=0&1,k[m>>2]|0);ex(k[f>>2]|0,k[m>>2]|0);if(k[s>>2]|0){e=(k[f>>2]|0)+76|0;v=(k[e>>2]|0)+1|0;k[e>>2]=v;k[j>>2]=v;hx(k[u>>2]|0,k[j>>2]|0,k[B>>2]|0)|0;ix(k[u>>2]|0,155,k[j>>2]|0,0,0,k[s>>2]|0,-10)|0;Rx(k[f>>2]|0)}k[C>>2]=k[k[q>>2]>>2];v=Sx(k[C>>2]|0,-1)|0;k[n>>2]=v;if((k[(k[h>>2]|0)+24>>2]&524288|0)!=0?(v=Tx(k[f>>2]|0,k[q>>2]|0)|0,k[D>>2]=v,(v|0)!=0):0){v=k[f>>2]|0;e=(k[m>>2]|0)==1?20513:20532;j=k[C>>2]|0;s=k[B>>2]|0;u=k[D>>2]|0;k[z>>2]=k[A>>2];k[z+4>>2]=e;k[z+8>>2]=j;k[z+12>>2]=s;k[z+16>>2]=u;cx(v,28960,z);bg(k[h>>2]|0,k[D>>2]|0)}z=k[f>>2]|0;b=(k[m>>2]|0)==1?20513:20532;e=k[B>>2]|0;j=k[B>>2]|0;m=k[B>>2]|0;s=k[B>>2]|0;u=k[B>>2]|0;v=k[n>>2]|0;C=k[C>>2]|0;k[w>>2]=k[A>>2];k[w+4>>2]=b;k[w+8>>2]=e;k[w+12>>2]=j;k[w+16>>2]=m;k[w+20>>2]=s;k[w+24>>2]=u;k[w+28>>2]=v;k[w+32>>2]=C;cx(z,29029,w);if(Bi(k[h>>2]|0,29413,k[A>>2]|0)|0){C=k[f>>2]|0;w=k[B>>2]|0;z=k[k[q>>2]>>2]|0;k[x>>2]=k[A>>2];k[x+4>>2]=w;k[x+8>>2]=z;cx(C,29429,x)}C=wx(k[f>>2]|0,k[q>>2]|0)|0;k[D>>2]=C;if(C){C=k[f>>2]|0;z=k[B>>2]|0;A=k[D>>2]|0;k[y>>2]=k[B>>2];k[y+4>>2]=z;k[y+8>>2]=A;cx(C,29487,y);bg(k[h>>2]|0,k[D>>2]|0)}a:do if(k[(k[h>>2]|0)+24>>2]&524288){D=Ux(k[q>>2]|0)|0;k[o>>2]=D;while(1){if(!(k[o>>2]|0))break a;k[p>>2]=k[k[o>>2]>>2];if((k[p>>2]|0)!=(k[q>>2]|0))ux(k[f>>2]|0,k[k[o>>2]>>2]|0,k[k[p>>2]>>2]|0);k[o>>2]=k[(k[o>>2]|0)+12>>2]}}while(0);ux(k[f>>2]|0,k[q>>2]|0,k[B>>2]|0);break}D=k[f>>2]|0;k[e>>2]=k[B>>2];Mh(D,28874,e)}while(0);mv(k[h>>2]|0,k[g>>2]|0);bg(k[h>>2]|0,k[B>>2]|0);k[(k[h>>2]|0)+24>>2]=k[t>>2];r=E;return}function Kw(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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;c=D+124|0;d=D+120|0;m=D+116|0;n=D+112|0;f=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;g=D+92|0;h=D+88|0;e=D+84|0;s=D+80|0;o=D+76|0;p=D+72|0;B=D+68|0;q=D+64|0;k[c>>2]=a;k[d>>2]=b;k[s>>2]=k[(k[c>>2]|0)+8>>2];k[e>>2]=k[k[c>>2]>>2];if(k[(k[c>>2]|0)+68>>2]|0){r=D;return}if(l[(k[e>>2]|0)+69>>0]|0){r=D;return}k[m>>2]=k[(k[c>>2]|0)+488>>2];a=Ph(k[e>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[f>>2]=a;k[A>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[C>>2]=(k[k[m>>2]>>2]|0)+16;k[g>>2]=(k[(k[m>>2]|0)+4>>2]|0)+((j[(k[m>>2]|0)+34>>1]|0)-1<<4);k[h>>2]=k[(k[g>>2]|0)+4>>2];a=Bi(k[e>>2]|0,k[C>>2]|0,k[A>>2]|0)|0;k[n>>2]=a;if(ax(k[c>>2]|0,26,k[A>>2]|0,k[k[n>>2]>>2]|0,0)|0){r=D;return}if((k[h>>2]|0)!=0?(l[k[(k[h>>2]|0)+12>>2]>>0]|0)==101:0)k[h>>2]=0;if(l[(k[g>>2]|0)+15>>0]&1){Mh(k[c>>2]|0,28476,t);r=D;return}if(k[(k[m>>2]|0)+8>>2]|0){Mh(k[c>>2]|0,28508,w);r=D;return}if((k[(k[e>>2]|0)+24>>2]&524288|0)!=0?((k[h>>2]|0)!=0?(k[(k[m>>2]|0)+16>>2]|0)!=0:0):0){Mh(k[c>>2]|0,28535,x);r=D;return}if(!((k[h>>2]|0)!=0?1:(l[(k[g>>2]|0)+12>>0]|0)==0)){Mh(k[c>>2]|0,28594,y);r=D;return}do if(k[h>>2]|0){k[o>>2]=0;y=tx(k[e>>2]|0,k[h>>2]|0,1,65,o)|0;k[p>>2]=y;if(k[p>>2]|0){r=D;return}if(k[o>>2]|0){lh(k[o>>2]|0);break}Mh(k[c>>2]|0,28647,u);r=D;return}while(0);y=Yw(k[e>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[z>>2]=y;if(k[z>>2]|0){k[B>>2]=(k[z>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)-1);k[q>>2]=k[(k[e>>2]|0)+24>>2];while(1){if((k[B>>2]|0)>>>0<=(k[z>>2]|0)>>>0)break;if((i[k[B>>2]>>0]|0)!=59?(l[19011+(l[k[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=k[B>>2]|0;k[B>>2]=y+-1;i[y>>0]=0}B=(k[e>>2]|0)+24|0;k[B>>2]=k[B>>2]|2097152;B=k[c>>2]|0;u=(k[f>>2]|0)==1?20513:20532;w=k[(k[m>>2]|0)+44>>2]|0;x=k[z>>2]|0;y=(k[(k[m>>2]|0)+44>>2]|0)+1|0;C=k[C>>2]|0;k[v>>2]=k[A>>2];k[v+4>>2]=u;k[v+8>>2]=w;k[v+12>>2]=x;k[v+16>>2]=y;k[v+20>>2]=C;cx(B,28693,v);bg(k[e>>2]|0,k[z>>2]|0);k[(k[e>>2]|0)+24>>2]=k[q>>2]}jx(k[s>>2]|0,52,k[f>>2]|0,2,4)|0;ux(k[c>>2]|0,k[n>>2]|0,k[k[n>>2]>>2]|0);r=D;return}function Lw(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,s=0,t=0,u=0;u=r;r=r+64|0;t=u+16|0;s=u+8|0;c=u;d=u+56|0;e=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;h=u+36|0;g=u+32|0;m=u+28|0;f=u+24|0;n=u+20|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];do if((i[(k[f>>2]|0)+69>>0]|0)==0?(b=ox(k[d>>2]|0,0,(k[e>>2]|0)+8|0)|0,k[p>>2]=b,(k[p>>2]|0)!=0):0){if(l[(k[p>>2]|0)+42>>0]&16){Mh(k[d>>2]|0,28287,c);break}a=k[d>>2]|0;if(k[(k[p>>2]|0)+12>>2]|0){Mh(a,28321,s);break}if(((0==(px(a,k[k[p>>2]>>2]|0)|0)?(s=Ph(k[f>>2]|0,k[(k[p>>2]|0)+64>>2]|0)|0,k[h>>2]=s,s=Bh(k[f>>2]|0,72,0)|0,k[o>>2]=s,(k[o>>2]|0)!=0):0)?(k[(k[d>>2]|0)+488>>2]=k[o>>2],j[(k[o>>2]|0)+36>>1]=1,j[(k[o>>2]|0)+34>>1]=j[(k[p>>2]|0)+34>>1]|0,k[m>>2]=((((j[(k[o>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=Bh(k[f>>2]|0,k[m>>2]<<4,0)|0,k[(k[o>>2]|0)+4>>2]=s,s=k[f>>2]|0,k[t>>2]=k[k[p>>2]>>2],t=Nh(s,28351,t)|0,k[k[o>>2]>>2]=t,(k[(k[o>>2]|0)+4>>2]|0)!=0):0)?(k[k[o>>2]>>2]|0)!=0:0){BR(k[(k[o>>2]|0)+4>>2]|0,k[(k[p>>2]|0)+4>>2]|0,j[(k[o>>2]|0)+34>>1]<<4|0)|0;k[g>>2]=0;while(1){if((k[g>>2]|0)>=(j[(k[o>>2]|0)+34>>1]|0))break;k[n>>2]=(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4);t=zh(k[f>>2]|0,k[k[n>>2]>>2]|0)|0;k[k[n>>2]>>2]=t;k[(k[n>>2]|0)+8>>2]=0;k[(k[n>>2]|0)+4>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[(k[o>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+(k[h>>2]<<4)+12>>2];k[(k[o>>2]|0)+44>>2]=k[(k[p>>2]|0)+44>>2];j[(k[o>>2]|0)+36>>1]=1;qx(k[d>>2]|0,0,k[h>>2]|0);t=dx(k[d>>2]|0)|0;k[q>>2]=t;if(k[q>>2]|0)ex(k[d>>2]|0,k[h>>2]|0)}}while(0);mv(k[f>>2]|0,k[e>>2]|0);r=u;return}function Mw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+96|0;p=u+32|0;o=u+8|0;n=u;c=u+80|0;d=u+76|0;l=u+72|0;e=u+68|0;s=u+64|0;t=u+60|0;f=u+56|0;g=u+52|0;m=u+48|0;h=u+44|0;j=u+40|0;q=u+36|0;k[c>>2]=a;k[d>>2]=b;k[l>>2]=k[(k[c>>2]|0)+488>>2];k[e>>2]=k[k[c>>2]>>2];if(!(k[l>>2]|0)){r=u;return}_w(k[c>>2]|0);k[(k[c>>2]|0)+516>>2]=0;if((k[(k[l>>2]|0)+48>>2]|0)<1){r=u;return}if(!(i[(k[e>>2]|0)+144+5>>0]|0)){if(k[d>>2]|0)k[(k[c>>2]|0)+500+4>>2]=(k[k[d>>2]>>2]|0)-(k[(k[c>>2]|0)+500>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);q=k[e>>2]|0;k[n>>2]=(k[c>>2]|0)+500;q=Nh(q,28148,n)|0;k[s>>2]=q;q=Ph(k[e>>2]|0,k[(k[l>>2]|0)+64>>2]|0)|0;k[f>>2]=q;q=k[c>>2]|0;b=(k[f>>2]|0)==1?20513:20532;h=k[k[l>>2]>>2]|0;a=k[k[l>>2]>>2]|0;j=k[s>>2]|0;n=k[(k[c>>2]|0)+392>>2]|0;k[o>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2];k[o+4>>2]=b;k[o+8>>2]=h;k[o+12>>2]=a;k[o+16>>2]=j;k[o+20>>2]=n;cx(q,28172,o);bg(k[e>>2]|0,k[s>>2]|0);s=dx(k[c>>2]|0)|0;k[m>>2]=s;ex(k[c>>2]|0,k[f>>2]|0);fx(k[m>>2]|0,147,0,0)|0;s=k[e>>2]|0;k[p>>2]=k[k[l>>2]>>2];s=Nh(s,28260,p)|0;k[t>>2]=s;gx(k[m>>2]|0,k[f>>2]|0,k[t>>2]|0);s=(k[c>>2]|0)+76|0;t=(k[s>>2]|0)+1|0;k[s>>2]=t;k[g>>2]=t;hx(k[m>>2]|0,k[g>>2]|0,k[k[l>>2]>>2]|0)|0;fx(k[m>>2]|0,150,k[f>>2]|0,k[g>>2]|0)|0;r=u;return}k[j>>2]=k[(k[l>>2]|0)+64>>2];k[q>>2]=k[k[l>>2]>>2];t=ak((k[j>>2]|0)+8|0,k[q>>2]|0,k[l>>2]|0)|0;k[h>>2]=t;if(k[h>>2]|0){vh(k[e>>2]|0);r=u;return}else{k[(k[c>>2]|0)+488>>2]=0;r=u;return}}function Nw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0;n=r;r=r+32|0;f=n+28|0;q=n+24|0;p=n+20|0;g=n+16|0;o=n+12|0;j=n+8|0;m=n+4|0;h=n;k[f>>2]=a;k[q>>2]=b;k[p>>2]=c;k[g>>2]=d;k[o>>2]=e;Cv(k[f>>2]|0,k[q>>2]|0,k[p>>2]|0,0,0,1,k[o>>2]|0);k[m>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[m>>2]|0)){r=n;return}k[h>>2]=k[k[f>>2]>>2];q=Ph(k[h>>2]|0,k[(k[m>>2]|0)+64>>2]|0)|0;k[j>>2]=q;q=(k[m>>2]|0)+42|0;i[q>>0]=l[q>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;q=k[h>>2]|0;p=k[m>>2]|0;$w(q,p,Tw(k[h>>2]|0,k[g>>2]|0)|0);$w(k[h>>2]|0,k[m>>2]|0,0);p=k[h>>2]|0;q=k[m>>2]|0;$w(p,q,zh(k[h>>2]|0,k[k[m>>2]>>2]|0)|0);k[(k[f>>2]|0)+500+4>>2]=(k[k[g>>2]>>2]|0)+(k[(k[g>>2]|0)+4>>2]|0)-(k[(k[f>>2]|0)+500>>2]|0);if(!(k[(k[m>>2]|0)+52>>2]|0)){r=n;return}ax(k[f>>2]|0,29,k[k[m>>2]>>2]|0,k[k[(k[m>>2]|0)+52>>2]>>2]|0,k[(k[(k[k[f>>2]>>2]|0)+16>>2]|0)+(k[j>>2]<<4)>>2]|0)|0;r=n;return}function Ow(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_w(k[c>>2]|0);k[(k[c>>2]|0)+516>>2]=0;k[(k[c>>2]|0)+516+4>>2]=0;r=b;return}function Pw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=(k[f>>2]|0)+516;b=k[c>>2]|0;if(!(k[k[d>>2]>>2]|0)){k[k[d>>2]>>2]=k[b>>2];k[(k[d>>2]|0)+4>>2]=k[(k[c>>2]|0)+4>>2];r=e;return}else{k[(k[d>>2]|0)+4>>2]=(k[k[c>>2]>>2]|0)+(k[b+4>>2]|0)-(k[k[d>>2]>>2]|0);r=e;return}}function Qw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;p=s;f=s+40|0;g=s+36|0;t=s+32|0;h=s+28|0;j=s+24|0;l=s+20|0;o=s+16|0;q=s+12|0;m=s+8|0;n=s+4|0;k[f>>2]=a;k[g>>2]=b;k[t>>2]=c;k[h>>2]=d;k[j>>2]=e;k[l>>2]=k[k[f>>2]>>2];b=Tw(k[k[f>>2]>>2]|0,k[t>>2]|0)|0;k[q>>2]=b;a:do if((k[q>>2]|0)!=0&(k[g>>2]|0)!=0){k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[g>>2]>>2]|0))break a;if(!(sg(k[q>>2]|0,k[(k[g>>2]|0)+8+(k[m>>2]<<4)>>2]|0)|0)){t=k[f>>2]|0;k[p>>2]=k[q>>2];Mh(t,28080,p)}k[m>>2]=(k[m>>2]|0)+1}}while(0);if(k[g>>2]|0){k[n>>2]=24+(k[k[g>>2]>>2]<<4);t=k[n>>2]|0;t=Uw(k[l>>2]|0,k[g>>2]|0,t,((t|0)<0)<<31>>31)|0;k[o>>2]=t}else{t=Bh(k[l>>2]|0,24,0)|0;k[o>>2]=t}if(i[(k[l>>2]|0)+69>>0]|0){jv(k[l>>2]|0,k[h>>2]|0);kv(k[l>>2]|0,k[j>>2]|0);bg(k[l>>2]|0,k[q>>2]|0);k[o>>2]=k[g>>2];t=k[o>>2]|0;r=s;return t|0}else{k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+8>>2]=k[j>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+4>>2]=k[h>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)>>2]=k[q>>2];k[(k[o>>2]|0)+8+(k[k[o>>2]>>2]<<4)+12>>2]=0;t=k[o>>2]|0;k[t>>2]=(k[t>>2]|0)+1;t=k[o>>2]|0;r=s;return t|0}return 0}function Rw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;d=r;r=r+16|0;f=d+4|0;e=d+8|0;c=d;k[f>>2]=a;i[e>>0]=b;k[c>>2]=j[11634+(k[f>>2]<<1)>>1];k[c>>2]=(k[c>>2]|0)+(l[e>>0]|0);r=d;return m[12264+(k[c>>2]<<1)>>1]|0}function Sw(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];while(1){if((k[k[b>>2]>>2]|0)<0)break;pv(k[b>>2]|0)}k[(k[b>>2]|0)+4>>2]=k[c>>2];r=d;return}function Tw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(k[d>>2]|0){b=Yw(k[c>>2]|0,k[k[d>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0,0)|0;k[e>>2]=b;Zw(k[e>>2]|0)|0;e=k[e>>2]|0;r=f;return e|0}else{k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function Uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;c=k[f>>2]|0;if(!(k[g>>2]|0)){h=Vw(c,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}if((qu(c,k[g>>2]|0)|0)!=0?(b=h,a=k[b+4>>2]|0,a>>>0<0|((a|0)==0?(k[b>>2]|0)>>>0<=(m[(k[f>>2]|0)+256+4>>1]|0)>>>0:0)):0){k[e>>2]=k[g>>2];h=k[e>>2]|0;r=i;return h|0}h=Ww(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[e>>2]=h;h=k[e>>2]|0;r=i;return h|0}function Vw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;f=h;g=h+8|0;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;do if(k[(k[e>>2]|0)+256>>2]|0){if(i[(k[e>>2]|0)+69>>0]|0){k[d>>2]=0;g=k[d>>2]|0;r=h;return g|0}}else{a=f;c=k[a+4>>2]|0;b=(k[e>>2]|0)+256|0;if(c>>>0>0|((c|0)==0?(k[a>>2]|0)>>>0>(m[(k[e>>2]|0)+256+4>>1]|0)>>>0:0)){g=b+16+4|0;k[g>>2]=(k[g>>2]|0)+1;break}a=k[b+28>>2]|0;k[g>>2]=a;if(!a){g=(k[e>>2]|0)+256+16+8|0;k[g>>2]=(k[g>>2]|0)+1;break}k[(k[e>>2]|0)+256+28>>2]=k[k[g>>2]>>2];f=(k[e>>2]|0)+256+8|0;k[f>>2]=(k[f>>2]|0)+1;f=(k[e>>2]|0)+256+16|0;k[f>>2]=(k[f>>2]|0)+1;if((k[(k[e>>2]|0)+256+8>>2]|0)>(k[(k[e>>2]|0)+256+12>>2]|0))k[(k[e>>2]|0)+256+12>>2]=k[(k[e>>2]|0)+256+8>>2];k[d>>2]=k[g>>2];g=k[d>>2]|0;r=h;return g|0}while(0);g=f;g=Xw(k[e>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[d>>2]=g;g=k[d>>2]|0;r=h;return g|0}function Ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;k[e>>2]=a;k[f>>2]=b;b=g;k[b>>2]=c;k[b+4>>2]=d;k[h>>2]=0;if(l[(k[e>>2]|0)+69>>0]|0){h=k[h>>2]|0;r=i;return h|0}if(qu(k[e>>2]|0,k[f>>2]|0)|0){b=g;b=Vw(k[e>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){h=k[h>>2]|0;r=i;return h|0}BR(k[h>>2]|0,k[f>>2]|0,m[(k[e>>2]|0)+256+4>>1]|0|0)|0;bg(k[e>>2]|0,k[f>>2]|0);h=k[h>>2]|0;r=i;return h|0}else{b=g;b=Wd(k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[h>>2]=b;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}vh(k[e>>2]|0);h=k[h>>2]|0;r=i;return h|0}return 0}function Xw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=r;r=r+16|0;d=f+12|0;g=f;e=f+8|0;k[d>>2]=a;a=g;k[a>>2]=b;k[a+4>>2]=c;a=g;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[e>>2]=a;if(k[e>>2]|0){g=k[e>>2]|0;r=f;return g|0}vh(k[d>>2]|0);g=k[e>>2]|0;r=f;return g|0}function Yw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+20|0;f=l+16|0;g=l+12|0;h=l;j=l+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=c;k[b+4>>2]=d;if(!(k[g>>2]|0)){k[e>>2]=0;j=k[e>>2]|0;r=l;return j|0}a=k[f>>2]|0;b=h;b=zR(k[b>>2]|0,k[b+4>>2]|0,1,0)|0;b=Vw(a,b,L)|0;k[j>>2]=b;if(k[j>>2]|0){BR(k[j>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;i[(k[j>>2]|0)+(k[h>>2]|0)>>0]=0}k[e>>2]=k[j>>2];j=k[e>>2]|0;r=l;return j|0}function Zw(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;b=g+12|0;c=g+8|0;f=g+16|0;d=g+4|0;e=g;k[c>>2]=a;if(!(k[c>>2]|0)){k[b>>2]=-1;f=k[b>>2]|0;r=g;return f|0}i[f>>0]=i[k[c>>2]>>0]|0;switch(i[f>>0]|0){case 96:case 34:case 39:break;case 91:{i[f>>0]=93;break}default:{k[b>>2]=-1;f=k[b>>2]|0;r=g;return f|0}}k[d>>2]=1;k[e>>2]=0;while(1){a=k[d>>2]|0;if((i[(k[c>>2]|0)+(k[d>>2]|0)>>0]|0)==(i[f>>0]|0)){if((i[(k[c>>2]|0)+(a+1)>>0]|0)!=(i[f>>0]|0))break;h=i[f>>0]|0;a=k[e>>2]|0;k[e>>2]=a+1;i[(k[c>>2]|0)+a>>0]=h;k[d>>2]=(k[d>>2]|0)+1}else{a=i[(k[c>>2]|0)+a>>0]|0;h=k[e>>2]|0;k[e>>2]=h+1;i[(k[c>>2]|0)+h>>0]=a}k[d>>2]=(k[d>>2]|0)+1}i[(k[c>>2]|0)+(k[e>>2]|0)>>0]=0;k[b>>2]=k[e>>2];h=k[b>>2]|0;r=g;return h|0}function _w(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;d=f+4|0;c=f;k[b>>2]=a;if(!(k[(k[b>>2]|0)+516>>2]|0)){r=f;return}if(!(k[(k[b>>2]|0)+488>>2]|0)){r=f;return}k[e>>2]=k[(k[b>>2]|0)+516>>2];k[d>>2]=k[(k[b>>2]|0)+516+4>>2];k[c>>2]=k[k[b>>2]>>2];g=k[c>>2]|0;b=k[(k[b>>2]|0)+488>>2]|0;a=k[d>>2]|0;$w(g,b,Yw(k[c>>2]|0,k[e>>2]|0,a,((a|0)<0)<<31>>31)|0);r=f;return}function $w(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=r;r=r+32|0;d=i+20|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=2+(k[(k[e>>2]|0)+48>>2]|0)<<2;c=k[j>>2]|0;c=Uw(k[d>>2]|0,k[(k[e>>2]|0)+52>>2]|0,c,((c|0)<0)<<31>>31)|0;k[g>>2]=c;if(!(k[g>>2]|0)){bg(k[d>>2]|0,k[f>>2]|0);r=i;return}else{c=(k[e>>2]|0)+48|0;j=k[c>>2]|0;k[c>>2]=j+1;k[h>>2]=j;k[(k[g>>2]|0)+(k[h>>2]<<2)>>2]=k[f>>2];k[(k[g>>2]|0)+((k[h>>2]|0)+1<<2)>>2]=0;k[(k[e>>2]|0)+52>>2]=k[g>>2];r=i;return}}function ax(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;f=q+32|0;g=q+28|0;h=q+24|0;i=q+20|0;j=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[m>>2]=e;k[n>>2]=k[k[g>>2]>>2];if((l[(k[n>>2]|0)+144+5>>0]|0|0)==0?(l[(k[g>>2]|0)+454>>0]|0|0)==0:0){if(!(k[(k[n>>2]|0)+296>>2]|0)){k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}e=ac[k[(k[n>>2]|0)+296>>2]&255](k[(k[n>>2]|0)+300>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[m>>2]|0,k[(k[g>>2]|0)+496>>2]|0)|0;k[o>>2]=e;if((k[o>>2]|0)!=1){if((k[o>>2]|0)!=0&(k[o>>2]|0)!=2){k[o>>2]=1;bx(k[g>>2]|0)}}else{Mh(k[g>>2]|0,28110,p);k[(k[g>>2]|0)+12>>2]=23}k[f>>2]=k[o>>2];e=k[f>>2]|0;r=q;return e|0}k[f>>2]=0;e=k[f>>2]|0;r=q;return e|0}function bx(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b+4|0;k[c>>2]=a;Mh(k[c>>2]|0,28125,b);k[(k[c>>2]|0)+12>>2]=1;r=b;return}function cx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0;n=r;r=r+144|0;f=n+36|0;d=n+32|0;e=n+16|0;m=n+8|0;l=n+4|0;g=n;h=n+40|0;k[f>>2]=a;k[d>>2]=b;k[l>>2]=0;k[g>>2]=k[k[f>>2]>>2];if(k[(k[f>>2]|0)+68>>2]|0){r=n;return}k[e>>2]=c;b=nx(k[g>>2]|0,k[d>>2]|0,e)|0;k[m>>2]=b;if(!(k[m>>2]|0)){r=n;return}d=(k[f>>2]|0)+18|0;i[d>>0]=(i[d>>0]|0)+1<<24>>24;d=h;e=(k[f>>2]|0)+444|0;a=d+100|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));d=(k[f>>2]|0)+444|0;a=d+100|0;do{j[d>>1]=0;d=d+2|0}while((d|0)<(a|0));ei(k[f>>2]|0,k[m>>2]|0,l)|0;bg(k[g>>2]|0,k[l>>2]|0);bg(k[g>>2]|0,k[m>>2]|0);d=(k[f>>2]|0)+444|0;e=h;a=d+100|0;do{i[d>>0]=i[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(a|0));m=(k[f>>2]|0)+18|0;i[m>>0]=(i[m>>0]|0)+-1<<24>>24;r=n;return}function dx(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+8>>2];if(!(k[c>>2]|0)){a=Oh(k[b>>2]|0)|0;k[(k[b>>2]|0)+8>>2]=a;k[c>>2]=a;if(k[c>>2]|0)mx(k[c>>2]|0,158)|0;if((k[(k[b>>2]|0)+416>>2]|0)==0?((m[(k[k[b>>2]>>2]|0)+64>>1]|0)&8|0)==0:0)i[(k[b>>2]|0)+23>>0]=1}r=d;return k[c>>2]|0}function ex(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=r;r=r+16|0;g=c+12|0;d=c+8|0;e=c+4|0;f=c;k[g>>2]=a;k[d>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[f>>2]=k[(k[g>>2]|0)+8>>2];jx(k[f>>2]|0,52,k[d>>2]|0,1,(k[k[(k[(k[e>>2]|0)+16>>2]|0)+(k[d>>2]<<4)+12>>2]>>2]|0)+1|0)|0;r=c;return}function fx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;d=jx(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return d|0}function gx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;d=f+12|0;h=f+8|0;g=f+4|0;e=f;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;ix(k[d>>2]|0,123,k[h>>2]|0,0,0,k[g>>2]|0,-1)|0;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[k[d>>2]>>2]|0)+20>>2]|0))break;Th(k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=f;return}function hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;c=ix(k[g>>2]|0,97,0,k[f>>2]|0,0,k[e>>2]|0,0)|0;r=d;return c|0}function ix(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0;i=r;r=r+32|0;m=i+28|0;q=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;l=i+8|0;j=i+4|0;h=i;k[m>>2]=a;k[q>>2]=b;k[p>>2]=c;k[o>>2]=d;k[n>>2]=e;k[l>>2]=f;k[j>>2]=g;f=jx(k[m>>2]|0,k[q>>2]|0,k[p>>2]|0,k[o>>2]|0,k[n>>2]|0)|0;k[h>>2]=f;Uh(k[m>>2]|0,k[h>>2]|0,k[l>>2]|0,k[j>>2]|0);r=i;return k[h>>2]|0}function jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[h>>2]=b;k[j>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=k[(k[g>>2]|0)+32>>2];b=k[g>>2]|0;if((k[(k[(k[g>>2]|0)+24>>2]|0)+88>>2]|0)<=(k[n>>2]|0)){o=kx(b,k[h>>2]|0,k[j>>2]|0,k[l>>2]|0,k[m>>2]|0)|0;k[f>>2]=o;o=k[f>>2]|0;r=p;return o|0}else{e=b+32|0;k[e>>2]=(k[e>>2]|0)+1;k[o>>2]=(k[(k[g>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0);i[k[o>>2]>>0]=k[h>>2];i[(k[o>>2]|0)+3>>0]=0;k[(k[o>>2]|0)+4>>2]=k[j>>2];k[(k[o>>2]|0)+8>>2]=k[l>>2];k[(k[o>>2]|0)+12>>2]=k[m>>2];k[(k[o>>2]|0)+16>>2]=0;i[(k[o>>2]|0)+1>>0]=0;k[f>>2]=k[n>>2];o=k[f>>2]|0;r=p;return o|0}return 0}function kx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[g>>2]=a;k[h>>2]=b;k[i>>2]=c;k[j>>2]=d;k[l>>2]=e;if(lx(k[g>>2]|0,1)|0){k[f>>2]=1;e=k[f>>2]|0;r=m;return e|0}else{e=jx(k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0,k[l>>2]|0)|0;k[f>>2]=e;e=k[f>>2]|0;r=m;return e|0}return 0}function lx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;c=g+16|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[g+12>>2]=b;k[e>>2]=k[(k[c>>2]|0)+24>>2];if(k[(k[e>>2]|0)+88>>2]|0)b=k[(k[e>>2]|0)+88>>2]<<1;else b=51;k[d>>2]=b;d=Uw(k[k[e>>2]>>2]|0,k[(k[c>>2]|0)+4>>2]|0,(k[d>>2]|0)*20|0,0)|0;k[f>>2]=d;if(!(k[f>>2]|0)){f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}d=pu(k[k[e>>2]>>2]|0,k[f>>2]|0)|0;k[(k[e>>2]|0)+92>>2]=d;k[(k[e>>2]|0)+88>>2]=((k[(k[e>>2]|0)+92>>2]|0)>>>0)/20|0;k[(k[c>>2]|0)+4>>2]=k[f>>2];f=k[f>>2]|0;f=(f|0)!=0;f=f?0:7;r=g;return f|0}function mx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=jx(k[e>>2]|0,k[d>>2]|0,0,0,0)|0;r=c;return a|0}function nx(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;f=r;r=r+128|0;d=f+40|0;j=f+36|0;h=f+32|0;e=f+28|0;g=f;k[d>>2]=a;k[j>>2]=b;k[h>>2]=c;ng(g,k[d>>2]|0,f+44|0,70,k[(k[d>>2]|0)+92>>2]|0);i[g+25>>0]=1;og(g,k[j>>2]|0,k[h>>2]|0);b=pg(g)|0;k[e>>2]=b;if((l[g+24>>0]|0|0)!=1){j=k[e>>2]|0;r=f;return j|0}vh(k[d>>2]|0);j=k[e>>2]|0;r=f;return j|0}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[k[f>>2]>>2]|0){a=Ph(k[k[d>>2]>>2]|0,k[k[f>>2]>>2]|0)|0;k[g>>2]=a;k[h>>2]=k[(k[(k[k[d>>2]>>2]|0)+16>>2]|0)+(k[g>>2]<<4)>>2]}else k[h>>2]=k[(k[f>>2]|0)+4>>2];h=Lh(k[d>>2]|0,k[e>>2]|0,k[(k[f>>2]|0)+8>>2]|0,k[h>>2]|0)|0;r=i;return h|0}function px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((Tf(k[e>>2]|0)|0)>6?0==(Jd(k[e>>2]|0,28440,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Mh(b,28448,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function qx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)c=k[c+416>>2]|0;k[g>>2]=c;rx(k[d>>2]|0,k[f>>2]|0);d=(k[g>>2]|0)+336|0;k[d>>2]=k[d>>2]|1<>2];g=(k[g>>2]|0)+20|0;i[g>>0]=l[g>>0]|0|k[e>>2];r=h;return}function rx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;b=k[g>>2]|0;if(k[(k[g>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[e>>2]=b;k[d>>2]=k[k[e>>2]>>2];if((k[(k[e>>2]|0)+340>>2]&1<>2]|0)!=0|0){r=f;return}g=(k[e>>2]|0)+340|0;k[g>>2]=k[g>>2]|1<>2];k[(k[e>>2]|0)+344+(k[c>>2]<<2)>>2]=k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]>>2];if((k[c>>2]|0)!=1){r=f;return}sx(k[e>>2]|0)|0;r=f;return}function sx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;k[c>>2]=a;k[d>>2]=k[k[c>>2]>>2];if((k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(i[(k[c>>2]|0)+453>>0]|0)==0:0){a=jk(k[k[d>>2]>>2]|0,0,k[d>>2]|0,e,0,542)|0;k[f>>2]=a;if(k[f>>2]|0){Mh(k[c>>2]|0,28370,g);k[(k[c>>2]|0)+12>>2]=k[f>>2];k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}k[(k[(k[d>>2]|0)+16>>2]|0)+16+4>>2]=k[e>>2];if(7==(Ki(k[e>>2]|0,k[(k[d>>2]|0)+76>>2]|0,-1,0)|0)){vh(k[d>>2]|0);k[b>>2]=1;g=k[b>>2]|0;r=h;return g|0}}k[b>>2]=0;g=k[b>>2]|0;r=h;return g|0}function tx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,l=0,m=0;f=r;r=r+16|0;m=f+8|0;l=f+4|0;j=f+13|0;h=f+12|0;g=f;k[m>>2]=a;k[l>>2]=b;i[j>>0]=c;i[h>>0]=d;k[g>>2]=e;e=yx(k[m>>2]|0,k[l>>2]|0,i[j>>0]|0,i[h>>0]|0,k[g>>2]|0,0)|0;r=f;return e|0}function ux(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;n=r;r=r+48|0;l=n;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;g=n+12|0;i=n+8|0;h=n+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;c=dx(k[d>>2]|0)|0;k[j>>2]=c;if(!(k[j>>2]|0)){r=n;return}c=Ph(k[k[d>>2]>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0;k[g>>2]=c;c=vx(k[d>>2]|0,k[e>>2]|0)|0;k[i>>2]=c;while(1){if(!(k[i>>2]|0))break;c=Ph(k[k[d>>2]>>2]|0,k[(k[i>>2]|0)+20>>2]|0)|0;k[h>>2]=c;ix(k[j>>2]|0,127,k[h>>2]|0,0,0,k[k[i>>2]>>2]|0,0)|0;k[i>>2]=k[(k[i>>2]|0)+32>>2]}ix(k[j>>2]|0,125,k[g>>2]|0,0,0,k[k[e>>2]>>2]|0,0)|0;c=k[k[d>>2]>>2]|0;k[l>>2]=k[f>>2];c=Nh(c,28802,l)|0;k[m>>2]=c;if(!(k[m>>2]|0)){r=n;return}gx(k[j>>2]|0,k[g>>2]|0,k[m>>2]|0);c=wx(k[d>>2]|0,k[e>>2]|0)|0;k[m>>2]=c;if(!c){r=n;return}gx(k[j>>2]|0,1,k[m>>2]|0);r=n;return}function vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;j=r;r=r+32|0;h=j+24|0;l=j+20|0;d=j+16|0;c=j+12|0;f=j+8|0;e=j+4|0;g=j;k[l>>2]=a;k[d>>2]=b;k[c>>2]=k[(k[(k[k[l>>2]>>2]|0)+16>>2]|0)+16+12>>2];k[f>>2]=0;if(i[(k[l>>2]|0)+442>>0]|0){k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0}a:do if((k[c>>2]|0)!=(k[(k[d>>2]|0)+64>>2]|0)){k[e>>2]=k[(k[c>>2]|0)+40+8>>2];while(1){if(!(k[e>>2]|0))break a;k[g>>2]=k[(k[e>>2]|0)+8>>2];if((k[(k[g>>2]|0)+24>>2]|0)==(k[(k[d>>2]|0)+64>>2]|0)?0==(sg(k[(k[g>>2]|0)+4>>2]|0,k[k[d>>2]>>2]|0)|0):0){if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[(k[g>>2]|0)+32>>2]=a;k[f>>2]=k[g>>2]}k[e>>2]=k[k[e>>2]>>2]}}while(0);if(k[f>>2]|0)a=k[f>>2]|0;else a=k[(k[d>>2]|0)+60>>2]|0;k[h>>2]=a;l=k[h>>2]|0;r=j;return l|0}function wx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;h=l;c=l+28|0;d=l+24|0;g=l+20|0;j=l+16|0;f=l+12|0;e=l+8|0;i=l+4|0;k[c>>2]=a;k[d>>2]=b;k[j>>2]=0;k[f>>2]=k[(k[(k[k[c>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((k[(k[d>>2]|0)+64>>2]|0)!=(k[f>>2]|0)){k[e>>2]=k[k[c>>2]>>2];b=vx(k[c>>2]|0,k[d>>2]|0)|0;k[g>>2]=b;while(1){if(!(k[g>>2]|0))break a;if((k[(k[g>>2]|0)+20>>2]|0)==(k[f>>2]|0)){b=xx(k[e>>2]|0,k[j>>2]|0,k[k[g>>2]>>2]|0)|0;k[j>>2]=b}k[g>>2]=k[(k[g>>2]|0)+32>>2]}}while(0);if(!(k[j>>2]|0)){j=k[j>>2]|0;r=l;return j|0}g=k[k[c>>2]>>2]|0;k[h>>2]=k[j>>2];h=Nh(g,28814,h)|0;k[i>>2]=h;bg(k[k[c>>2]>>2]|0,k[j>>2]|0);k[j>>2]=k[i>>2];j=k[j>>2]|0;r=l;return j|0}function xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;h=j+8|0;g=j;d=j+28|0;e=j+24|0;f=j+20|0;i=j+16|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a=k[d>>2]|0;if(k[e>>2]|0){g=k[f>>2]|0;k[h>>2]=k[e>>2];k[h+4>>2]=g;h=Nh(a,28846,h)|0;k[i>>2]=h;bg(k[d>>2]|0,k[e>>2]|0);i=k[i>>2]|0;r=j;return i|0}else{k[g>>2]=k[f>>2];h=Nh(a,28838,g)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}return 0}function yx(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,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+64|0;t=D;z=D+52|0;v=D+48|0;g=D+44|0;x=D+58|0;y=D+57|0;A=D+40|0;h=D+36|0;s=D+32|0;w=D+28|0;B=D+24|0;q=D+20|0;u=D+16|0;C=D+12|0;n=D+56|0;o=D+8|0;k[v>>2]=a;k[g>>2]=b;i[x>>0]=c;i[y>>0]=d;k[A>>2]=e;k[h>>2]=f;k[w>>2]=0;k[B>>2]=0;k[q>>2]=1;k[u>>2]=19010;k[C>>2]=0;if(!(k[g>>2]|0)){k[k[A>>2]>>2]=0;k[z>>2]=0;C=k[z>>2]|0;r=D;return C|0}while(1){e=l[k[g>>2]>>0]|0;k[s>>2]=e;if(!((e|0)==156?1:(k[s>>2]|0)==159))break;k[g>>2]=k[(k[g>>2]|0)+12>>2]}if((k[s>>2]|0)==157)k[s>>2]=l[(k[g>>2]|0)+38>>0];if((k[s>>2]|0)==38){B=zx(k[(k[g>>2]|0)+8>>2]|0,0)|0;i[n>>0]=B;B=yx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[n>>0]|0,k[A>>2]|0,k[h>>2]|0)|0;k[C>>2]=B;if(k[k[A>>2]>>2]|0){Ax(k[k[A>>2]>>2]|0,i[n>>0]|0,1);Bx(k[k[A>>2]>>2]|0,i[y>>0]|0,1)}k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}do if((k[s>>2]|0)==155){if((l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=132?(l[k[(k[g>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;k[g>>2]=k[(k[g>>2]|0)+12>>2];k[s>>2]=l[k[g>>2]>>0];k[q>>2]=-1;k[u>>2]=28860}while(0);do if((k[s>>2]|0)==97|(k[s>>2]|0)==133|(k[s>>2]|0)==132){e=Cx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=e;if(k[B>>2]|0){if(k[(k[g>>2]|0)+4>>2]&1024){v=k[B>>2]|0;u=k[(k[g>>2]|0)+8>>2]|0;w=k[q>>2]|0;w=KR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;qh(v,w,L)}else{e=k[v>>2]|0;b=k[(k[g>>2]|0)+8>>2]|0;k[t>>2]=k[u>>2];k[t+4>>2]=b;u=Nh(e,25313,t)|0;k[w>>2]=u;if(!(k[w>>2]|0)){g=43;break}gi(k[B>>2]|0,-1,k[w>>2]|0,1,170)}if((k[s>>2]|0)==132|(k[s>>2]|0)==133?(l[y>>0]|0|0)==65:0)Bx(k[B>>2]|0,67,1);else Bx(k[B>>2]|0,i[y>>0]|0,1);if((m[(k[B>>2]|0)+8>>1]|0)&12){y=(k[B>>2]|0)+8|0;j[y>>1]=(m[y>>1]|0)&-3}if((l[x>>0]|0|0)!=1){g=nu(k[B>>2]|0,l[x>>0]|0)|0;k[C>>2]=g;g=42}else g=42}else g=43}else{if((k[s>>2]|0)!=155){if((k[s>>2]|0)==101){y=Cx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=43;break}else{g=42;break}}if((k[s>>2]|0)!=134){g=42;break}y=Cx(k[v>>2]|0,k[h>>2]|0)|0;k[B>>2]=y;if(!(k[B>>2]|0)){g=43;break}k[w>>2]=(k[(k[g>>2]|0)+8>>2]|0)+2;y=(Tf(k[w>>2]|0)|0)-1|0;k[o>>2]=y;y=k[B>>2]|0;g=Ex(k[v>>2]|0,k[w>>2]|0,k[o>>2]|0)|0;ph(y,g,(k[o>>2]|0)/2|0,0,170)|0;g=42;break}w=0==(tx(k[v>>2]|0,k[(k[g>>2]|0)+12>>2]|0,i[x>>0]|0,i[y>>0]|0,B)|0);if(w&(k[B>>2]|0)!=0){Dx(k[B>>2]|0)|0;g=k[B>>2]|0;do if(!((m[(k[B>>2]|0)+8>>1]|0)&8)){w=g;g=k[B>>2]|0;if((k[w>>2]|0)==0?(k[w+4>>2]|0)==-2147483648:0){p[g>>3]=9223372036854775808.0;j[(k[B>>2]|0)+8>>1]=(m[(k[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=g;v=yR(0,0,k[v>>2]|0,k[v+4>>2]|0)|0;w=k[B>>2]|0;k[w>>2]=v;k[w+4>>2]=L;break}}else p[k[B>>2]>>3]=-+p[g>>3];while(0);Bx(k[B>>2]|0,i[y>>0]|0,i[x>>0]|0);g=42}else g=42}while(0);if((g|0)==42){k[k[A>>2]>>2]=k[B>>2];k[z>>2]=k[C>>2];C=k[z>>2]|0;r=D;return C|0}else if((g|0)==43){vh(k[v>>2]|0);bg(k[v>>2]|0,k[w>>2]|0);lh(k[B>>2]|0);k[z>>2]=7;C=k[z>>2]|0;r=D;return C|0}return 0}function zx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;c=m+16|0;d=m+12|0;f=m+8|0;e=m+20|0;h=m+4|0;g=m;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;i[e>>0]=67;k[h>>2]=0;a:while(1){if(!(i[k[c>>2]>>0]|0))break;k[f>>2]=(k[f>>2]<<8)+(l[18221+(i[k[c>>2]>>0]&255)>>0]|0);k[c>>2]=(k[c>>2]|0)+1;if((k[f>>2]|0)==1667785074){i[e>>0]=66;k[h>>2]=k[c>>2];continue}if((k[f>>2]|0)==1668050786){i[e>>0]=66;continue}if((k[f>>2]|0)==1952807028){i[e>>0]=66;continue}do if((k[f>>2]|0)==1651273570){if((i[e>>0]|0)!=67?(i[e>>0]|0)!=69:0)break;i[e>>0]=65;if((i[k[c>>2]>>0]|0)!=40)continue a;k[h>>2]=k[c>>2];continue a}while(0);if((k[f>>2]|0)==1919246700?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1718382433?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]|0)==1685026146?(i[e>>0]|0)==67:0){i[e>>0]=69;continue}if((k[f>>2]&16777215|0)==6909556){j=24;break}}if((j|0)==24)i[e>>0]=68;if(!(k[d>>2]|0)){j=i[e>>0]|0;r=m;return j|0}i[k[d>>2]>>0]=1;if((i[e>>0]|0)>=67){j=i[e>>0]|0;r=m;return j|0}if(!(k[h>>2]|0)){i[k[d>>2]>>0]=5;j=i[e>>0]|0;r=m;return j|0}while(1){if(!(i[k[h>>2]>>0]|0)){j=33;break}if(l[19011+(l[k[h>>2]>>0]|0)>>0]&4)break;k[h>>2]=(k[h>>2]|0)+1}if((j|0)==33){j=i[e>>0]|0;r=m;return j|0}k[g>>2]=0;Yi(k[h>>2]|0,g)|0;j=((k[g>>2]|0)/4|0)+1|0;k[g>>2]=j;k[g>>2]=(k[g>>2]|0)>255?255:j;i[k[d>>2]>>0]=k[g>>2];j=i[e>>0]|0;r=m;return j|0}function Ax(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g;d=g+5|0;f=g+4|0;k[e>>2]=a;i[d>>0]=b;i[f>>0]=c;if((m[(k[e>>2]|0)+8>>1]|0)&1){r=g;return}switch(l[d>>0]|0|0){case 65:{d=k[e>>2]|0;if(!((m[(k[e>>2]|0)+8>>1]|0)&16)){Bx(d,66,i[f>>0]|0);j[(k[e>>2]|0)+8>>1]=(m[(k[e>>2]|0)+8>>1]|0)&-49664|16;r=g;return}else{f=d+8|0;j[f>>1]=(m[f>>1]|0)&-33264;r=g;return}}case 67:{Dx(k[e>>2]|0)|0;r=g;return}case 68:{Mx(k[e>>2]|0)|0;r=g;return}case 69:{Nx(k[e>>2]|0)|0;r=g;return}default:{a=(k[e>>2]|0)+8|0;j[a>>1]=m[a>>1]|0|((m[(k[e>>2]|0)+8>>1]|0)&16)>>3;Bx(k[e>>2]|0,66,i[f>>0]|0);f=(k[e>>2]|0)+8|0;j[f>>1]=(m[f>>1]|0)&-16413;r=g;return}}}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;f=d+5|0;e=d+4|0;k[g>>2]=a;i[f>>0]=b;i[e>>0]=c;Hx(k[g>>2]|0,i[f>>0]|0,i[e>>0]|0);r=d;return}function Cx(a,b){a=a|0;b=b|0;var c=0,d=0;c=r;r=r+16|0;d=c+4|0;k[d>>2]=a;k[c>>2]=b;b=fi(k[d>>2]|0)|0;r=c;return b|0}function Dx(a){a=a|0;var b=0,c=0,d=0,e=0.0;c=r;r=r+16|0;b=c;k[b>>2]=a;do if(!((m[(k[b>>2]|0)+8>>1]|0)&13)){d=0==(Ui(k[(k[b>>2]|0)+16>>2]|0,k[b>>2]|0,k[(k[b>>2]|0)+12>>2]|0,i[(k[b>>2]|0)+10>>0]|0)|0);a=k[b>>2]|0;if(d){j[(k[b>>2]|0)+8>>1]=(m[a+8>>1]|0)&-49664|4;break}else{e=+ih(a);p[k[b>>2]>>3]=e;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|8;Fx(k[b>>2]|0);break}}while(0);d=(k[b>>2]|0)+8|0;j[d>>1]=(m[d>>1]|0)&-19;r=c;return 0}function Ex(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;h=r;r=r+32|0;j=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[j>>2]=a;k[d>>2]=b;k[e>>2]=c;b=((k[e>>2]|0)/2|0)+1|0;b=Vw(k[j>>2]|0,b,((b|0)<0)<<31>>31)|0;k[g>>2]=b;k[e>>2]=(k[e>>2]|0)+-1;if(!(k[g>>2]|0)){j=k[g>>2]|0;r=h;return j|0}k[f>>2]=0;while(1){a=k[f>>2]|0;if((k[f>>2]|0)>=(k[e>>2]|0))break;j=((Ti(i[(k[d>>2]|0)+a>>0]|0)|0)&255)<<4;j=(j|(Ti(i[(k[d>>2]|0)+((k[f>>2]|0)+1)>>0]|0)|0)&255)&255;i[(k[g>>2]|0)+((k[f>>2]|0)/2|0)>>0]=j;k[f>>2]=(k[f>>2]|0)+2}i[(k[g>>2]|0)+((a|0)/2|0)>>0]=0;j=k[g>>2]|0;r=h;return j|0}function Fx(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=r;r=r+16|0;b=d+8|0;c=d;k[b>>2]=a;f=Gx(+p[k[b>>2]>>3])|0;h=c;k[h>>2]=f;k[h+4>>2]=L;h=c;f=c;g=k[f+4>>2]|0;a=c;e=k[a+4>>2]|0;if(!(+p[k[b>>2]>>3]==+((k[h>>2]|0)>>>0)+4294967296.0*+(k[h+4>>2]|0)&((g|0)>-2147483648|(g|0)==-2147483648&(k[f>>2]|0)>>>0>0)&((e|0)<2147483647|(e|0)==2147483647&(k[a>>2]|0)>>>0<4294967295))){r=d;return}f=c;g=k[f+4>>2]|0;h=k[b>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;j[(k[b>>2]|0)+8>>1]=(m[(k[b>>2]|0)+8>>1]|0)&-49664|4;r=d;return}function Gx(a){a=+a;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;b=d+8|0;c=d;p[c>>3]=a;do if(!(+p[c>>3]<=-9223372036854775808.0))if(+p[c>>3]>=9223372036854775808.0){c=b;k[c>>2]=-1;k[c+4>>2]=2147483647;break}else{a=+p[c>>3];e=+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0;c=b;k[c>>2]=~~a>>>0;k[c+4>>2]=e;break}else{e=b;k[e>>2]=0;k[e+4>>2]=-2147483648}while(0);e=b;L=k[e+4>>2]|0;r=d;return k[e>>2]|0}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;d=g+5|0;e=g+4|0;k[f>>2]=a;i[d>>0]=b;i[e>>0]=c;if((i[d>>0]|0)<67){if((i[d>>0]|0)!=66){r=g;return}if(0==(m[(k[f>>2]|0)+8>>1]&2|0)?(m[(k[f>>2]|0)+8>>1]&12|0)!=0:0)Ix(k[f>>2]|0,i[e>>0]|0,1)|0;f=(k[f>>2]|0)+8|0;j[f>>1]=m[f>>1]&-13;r=g;return}if(m[(k[f>>2]|0)+8>>1]&4){r=g;return}d=k[f>>2]|0;if(m[(k[f>>2]|0)+8>>1]&8){Fx(d);r=g;return}if(!(m[d+8>>1]&2)){r=g;return}Jh(k[f>>2]|0,1);r=g;return}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0;q=r;r=r+48|0;o=q+8|0;n=q;d=q+28|0;e=q+24|0;f=q+33|0;g=q+32|0;h=q+20|0;k[e>>2]=a;i[f>>0]=b;i[g>>0]=c;k[h>>2]=m[(k[e>>2]|0)+8>>1];k[q+16>>2]=32;if(Jx(k[e>>2]|0,32)|0){k[d>>2]=7;o=k[d>>2]|0;r=q;return o|0}c=k[(k[e>>2]|0)+16>>2]|0;b=k[e>>2]|0;if(k[h>>2]&4){a=b;h=k[a+4>>2]|0;o=n;k[o>>2]=k[a>>2];k[o+4>>2]=h;_d(32,c,28862,n)|0}else{p[o>>3]=+p[b>>3];_d(32,c,28867,o)|0}o=Tf(k[(k[e>>2]|0)+16>>2]|0)|0;k[(k[e>>2]|0)+12>>2]=o;i[(k[e>>2]|0)+10>>0]=1;o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]|514;if(i[g>>0]|0){o=(k[e>>2]|0)+8|0;j[o>>1]=m[o>>1]&-13}nu(k[e>>2]|0,l[f>>0]|0)|0;k[d>>2]=0;o=k[d>>2]|0;r=q;return o|0}function Jx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;a=k[d>>2]|0;if((k[(k[d>>2]|0)+24>>2]|0)<(k[e>>2]|0)){e=Kx(a,k[e>>2]|0,0)|0;k[c>>2]=e;e=k[c>>2]|0;r=f;return e|0}else{k[(k[d>>2]|0)+16>>2]=k[a+20>>2];e=(k[d>>2]|0)+8|0;j[e>>1]=(m[e>>1]|0)&13;k[c>>2]=0;e=k[c>>2]|0;r=f;return e|0}return 0}function Kx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;k[f>>2]=a;k[d>>2]=b;k[g>>2]=c;do if((k[(k[f>>2]|0)+24>>2]|0)<(k[d>>2]|0)){if((k[d>>2]|0)<32)k[d>>2]=32;if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+24>>2]|0)>0:0)?(k[(k[f>>2]|0)+16>>2]|0)==(k[(k[f>>2]|0)+20>>2]|0):0){a=k[d>>2]|0;a=Lx(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a;k[(k[f>>2]|0)+16>>2]=a;k[g>>2]=0}else{if((k[(k[f>>2]|0)+24>>2]|0)>0)bg(k[(k[f>>2]|0)+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0);a=k[d>>2]|0;a=Kh(k[(k[f>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+20>>2]=a}d=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){a=pu(k[d+32>>2]|0,k[(k[f>>2]|0)+20>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;break}rh(d);k[(k[f>>2]|0)+16>>2]=0;k[(k[f>>2]|0)+24>>2]=0;k[e>>2]=7;g=k[e>>2]|0;r=h;return g|0}while(0);if(((k[g>>2]|0)!=0?(k[(k[f>>2]|0)+16>>2]|0)!=0:0)?(k[(k[f>>2]|0)+16>>2]|0)!=(k[(k[f>>2]|0)+20>>2]|0):0)BR(k[(k[f>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+12>>2]|0)|0;if((m[(k[f>>2]|0)+8>>1]|0)&1024)_b[k[(k[f>>2]|0)+36>>2]&255](k[(k[f>>2]|0)+16>>2]|0);k[(k[f>>2]|0)+16>>2]=k[(k[f>>2]|0)+20>>2];g=(k[f>>2]|0)+8|0;j[g>>1]=(m[g>>1]|0)&-7169;k[e>>2]=0;g=k[e>>2]|0;r=h;return g|0}function Lx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;i=h;g=h+8|0;k[e>>2]=a;k[f>>2]=b;b=i;k[b>>2]=c;k[b+4>>2]=d;b=i;b=Uw(k[e>>2]|0,k[f>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0;k[g>>2]=b;if(k[g>>2]|0){i=k[g>>2]|0;r=h;return i|0}bg(k[e>>2]|0,k[f>>2]|0);i=k[g>>2]|0;r=h;return i|0}function Mx(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=jh(k[c>>2]|0)|0;a=k[c>>2]|0;k[a>>2]=d;k[a+4>>2]=L;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|4;r=b;return 0}function Nx(a){a=a|0;var b=0,c=0,d=0.0;b=r;r=r+16|0;c=b;k[c>>2]=a;d=+ih(k[c>>2]|0);p[k[c>>2]>>3]=d;j[(k[c>>2]|0)+8>>1]=(m[(k[c>>2]|0)+8>>1]|0)&-49664|8;r=b;return 0}function Ox(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g;c=g+12|0;d=g+8|0;e=g+4|0;k[d>>2]=a;k[e>>2]=b;if((((i[(k[k[d>>2]>>2]|0)+144+5>>0]|0)==0?(l[(k[d>>2]|0)+18>>0]|0)==0:0)?(k[(k[k[d>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Jd(k[e>>2]|0,28440,7)|0):0){b=k[d>>2]|0;k[f>>2]=k[e>>2];Mh(b,31363,f);k[c>>2]=1;b=k[c>>2]|0;r=g;return b|0}k[c>>2]=0;b=k[c>>2]|0;r=g;return b|0}function Px(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;c=q;d=q+36|0;e=q+32|0;f=q+28|0;o=q+24|0;n=q+20|0;i=q+16|0;h=q+12|0;g=q+8|0;p=q+4|0;k[e>>2]=a;k[f>>2]=b;k[i>>2]=0;k[g>>2]=k[k[e>>2]>>2];if(Vx(k[e>>2]|0,k[f>>2]|0)|0){k[d>>2]=1;p=k[d>>2]|0;r=q;return p|0}if(l[(k[f>>2]|0)+42>>0]&16){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((j[(k[f>>2]|0)+34>>1]|0)>0){k[d>>2]=0;p=k[d>>2]|0;r=q;return p|0}if((j[(k[f>>2]|0)+34>>1]|0)<0){p=k[e>>2]|0;k[c>>2]=k[k[f>>2]>>2];Mh(p,29579,c);k[d>>2]=1;p=k[d>>2]|0;r=q;return p|0}a=k[g>>2]|0;do if(k[(k[f>>2]|0)+24>>2]|0){p=a+256|0;k[p>>2]=(k[p>>2]|0)+1;Wx(k[e>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[f>>2]|0)+34|0,(k[f>>2]|0)+4|0)|0;p=(k[g>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+-1}else{c=Xx(a,k[(k[f>>2]|0)+12>>2]|0,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){k[i>>2]=(k[i>>2]|0)+1;break}k[h>>2]=k[(k[e>>2]|0)+72>>2];Yx(k[e>>2]|0,k[(k[n>>2]|0)+28>>2]|0);j[(k[f>>2]|0)+34>>1]=-1;c=(k[g>>2]|0)+256|0;k[c>>2]=(k[c>>2]|0)+1;k[p>>2]=k[(k[g>>2]|0)+296>>2];k[(k[g>>2]|0)+296>>2]=0;c=Zx(k[e>>2]|0,k[n>>2]|0)|0;k[o>>2]=c;k[(k[g>>2]|0)+296>>2]=k[p>>2];p=(k[g>>2]|0)+256|0;k[p>>2]=(k[p>>2]|0)+-1;k[(k[e>>2]|0)+72>>2]=k[h>>2];if(k[o>>2]|0){j[(k[f>>2]|0)+34>>1]=j[(k[o>>2]|0)+34>>1]|0;k[(k[f>>2]|0)+4>>2]=k[(k[o>>2]|0)+4>>2];j[(k[o>>2]|0)+34>>1]=0;k[(k[o>>2]|0)+4>>2]=0;$f(k[g>>2]|0,k[o>>2]|0)}else{j[(k[f>>2]|0)+34>>1]=0;k[i>>2]=(k[i>>2]|0)+1}kv(k[g>>2]|0,k[n>>2]|0)}while(0);p=(k[(k[f>>2]|0)+64>>2]|0)+78|0;j[p>>1]=m[p>>1]|2;k[d>>2]=k[i>>2];p=k[d>>2]|0;r=q;return p|0}function Qx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+56>>2];while(1){if(!(k[d>>2]|0)){c=5;break}if((k[k[d>>2]>>2]|0)==(k[c>>2]|0)){c=5;break}k[d>>2]=k[(k[d>>2]|0)+24>>2]}if((c|0)==5){r=e;return k[d>>2]|0}return 0}function Rx(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=k[d>>2]|0;if(k[(k[d>>2]|0)+416>>2]|0)a=k[a+416>>2]|0;k[b>>2]=a;i[(k[b>>2]|0)+21>>0]=1;r=c;return}function Sx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;h=g+16|0;c=g+12|0;f=g+8|0;d=g+4|0;e=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[d>>2]=k[h>>2];if((k[c>>2]|0)>=0)k[e>>2]=(k[d>>2]|0)+(k[c>>2]|0);else k[e>>2]=-1;while(1){if(!(l[k[d>>2]>>0]|0)){c=10;break}if((k[d>>2]|0)>>>0>=(k[e>>2]|0)>>>0){c=10;break}h=k[d>>2]|0;k[d>>2]=h+1;a:do if((l[h>>0]|0|0)>=192)while(1){if(((l[k[d>>2]>>0]|0)&192|0)!=128)break a;k[d>>2]=(k[d>>2]|0)+1}while(0);k[f>>2]=(k[f>>2]|0)+1}if((c|0)==10){r=g;return k[f>>2]|0}return 0}function Tx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;c=f+12|0;g=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[g>>2]=b;k[e>>2]=0;b=Ux(k[g>>2]|0)|0;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;g=xx(k[k[c>>2]>>2]|0,k[e>>2]|0,k[k[k[d>>2]>>2]>>2]|0)|0;k[e>>2]=g;k[d>>2]=k[(k[d>>2]|0)+12>>2]}r=f;return k[e>>2]|0}function Ux(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=Aj((k[(k[c>>2]|0)+64>>2]|0)+56|0,k[k[c>>2]>>2]|0)|0;r=b;return a|0}function Vx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;j=p+8|0;i=p;c=p+44|0;d=p+40|0;e=p+36|0;f=p+32|0;n=p+28|0;g=p+24|0;h=p+20|0;o=p+16|0;m=p+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(((l[(k[e>>2]|0)+42>>0]|0)&16|0)!=0?(Qx(k[f>>2]|0,k[e>>2]|0)|0)==0:0){k[n>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=Aj((k[f>>2]|0)+320|0,k[n>>2]|0)|0;k[g>>2]=n;if(k[g>>2]|0){k[m>>2]=0;o=Ez(k[f>>2]|0,k[e>>2]|0,k[g>>2]|0,k[(k[k[g>>2]>>2]|0)+8>>2]|0,m)|0;k[h>>2]=o;if(k[h>>2]|0){o=k[d>>2]|0;k[j>>2]=k[m>>2];Mh(o,18999,j)}bg(k[f>>2]|0,k[m>>2]|0)}else{k[o>>2]=k[k[(k[e>>2]|0)+52>>2]>>2];n=k[d>>2]|0;k[i>>2]=k[o>>2];Mh(n,31219,i);k[h>>2]=1}k[c>>2]=k[h>>2];o=k[c>>2]|0;r=p;return o|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}function Wx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;e=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;f=D+72|0;z=D+68|0;p=D+64|0;m=D+60|0;o=D+56|0;v=D+52|0;n=D+48|0;g=D+32|0;q=D+28|0;s=D+24|0;h=D+20|0;k[E>>2]=a;k[e>>2]=b;k[x>>2]=c;k[y>>2]=d;k[A>>2]=k[k[E>>2]>>2];Hj(g);if(k[e>>2]|0){k[m>>2]=k[k[e>>2]>>2];E=Bh(k[A>>2]|0,k[m>>2]<<4,0)|0;k[z>>2]=E}else{k[m>>2]=0;k[z>>2]=0}j[k[x>>2]>>1]=k[m>>2];k[k[y>>2]>>2]=k[z>>2];k[B>>2]=0;k[p>>2]=k[z>>2];while(1){if((k[B>>2]|0)>=(k[m>>2]|0))break;if(!((i[(k[A>>2]|0)+69>>0]|0)!=0^1))break;E=hy(k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=E;E=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+4>>2]|0;k[v>>2]=E;do if(!E){k[q>>2]=k[o>>2];while(1){b=k[q>>2]|0;if((l[k[q>>2]>>0]|0)!=122)break;k[q>>2]=k[b+16>>2]}if((l[b>>0]|0)==152?(k[(k[q>>2]|0)+44>>2]|0)!=0:0){k[h>>2]=j[(k[q>>2]|0)+32>>1];k[s>>2]=k[(k[q>>2]|0)+44>>2];if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)>=0)b=k[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;else b=25353;k[v>>2]=b;break}if((l[k[q>>2]>>0]|0)==27){k[v>>2]=k[(k[q>>2]|0)+8>>2];break}else{k[v>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[B>>2]|0)*20|0)+8>>2];break}}while(0);E=k[A>>2]|0;k[t>>2]=k[v>>2];E=Nh(E,18999,t)|0;k[v>>2]=E;k[f>>2]=0;while(1){if(k[v>>2]|0)a=(Aj(g,k[v>>2]|0)|0)!=0;else a=0;b=k[v>>2]|0;if(!a)break;E=Tf(b)|0;k[n>>2]=E;if((k[n>>2]|0)>0){k[C>>2]=(k[n>>2]|0)-1;while(1){if((k[C>>2]|0)<=0)break;if(!(l[19011+(l[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)>>0]&4))break;k[C>>2]=(k[C>>2]|0)+-1}if((i[(k[v>>2]|0)+(k[C>>2]|0)>>0]|0)==58)k[n>>2]=k[C>>2]}E=k[A>>2]|0;a=k[n>>2]|0;d=k[v>>2]|0;c=(k[f>>2]|0)+1|0;k[f>>2]=c;k[u>>2]=a;k[u+4>>2]=d;k[u+8>>2]=c;E=Nh(E,31211,u)|0;k[v>>2]=E;if((k[f>>2]|0)>>>0<=3)continue;ae(4,f)}k[k[p>>2]>>2]=b;if((k[v>>2]|0)!=0?(E=ak(g,k[v>>2]|0,k[p>>2]|0)|0,(E|0)==(k[p>>2]|0)):0)vh(k[A>>2]|0);k[B>>2]=(k[B>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+16}Ij(g);if(!(i[(k[A>>2]|0)+69>>0]|0)){k[w>>2]=0;E=k[w>>2]|0;r=D;return E|0}k[C>>2]=0;while(1){b=k[A>>2]|0;if((k[C>>2]|0)>=(k[B>>2]|0))break;bg(b,k[(k[z>>2]|0)+(k[C>>2]<<4)>>2]|0);k[C>>2]=(k[C>>2]|0)+1}bg(b,k[z>>2]|0);k[k[y>>2]>>2]=0;j[k[x>>2]>>1]=0;k[w>>2]=7;E=k[w>>2]|0;r=D;return E|0}function Xx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;l=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=Vw(k[e>>2]|0,68,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=0;l=k[d>>2]|0;r=m;return l|0}b=Ly(k[e>>2]|0,k[k[f>>2]>>2]|0,k[g>>2]|0)|0;k[k[h>>2]>>2]=b;b=Bz(k[e>>2]|0,k[(k[f>>2]|0)+28>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+28>>2]=b;b=Dy(k[e>>2]|0,k[(k[f>>2]|0)+32>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+32>>2]=b;b=Ly(k[e>>2]|0,k[(k[f>>2]|0)+36>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+36>>2]=b;b=Dy(k[e>>2]|0,k[(k[f>>2]|0)+40>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+40>>2]=b;b=Ly(k[e>>2]|0,k[(k[f>>2]|0)+44>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+44>>2]=b;i[(k[h>>2]|0)+4>>0]=i[(k[f>>2]|0)+4>>0]|0;b=Xx(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0,k[g>>2]|0)|0;k[l>>2]=b;k[(k[h>>2]|0)+48>>2]=b;if(k[l>>2]|0)k[(k[l>>2]|0)+52>>2]=k[h>>2];k[(k[h>>2]|0)+52>>2]=0;l=Dy(k[e>>2]|0,k[(k[f>>2]|0)+56>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+56>>2]=l;l=Dy(k[e>>2]|0,k[(k[f>>2]|0)+60>>2]|0,k[g>>2]|0)|0;k[(k[h>>2]|0)+60>>2]=l;k[(k[h>>2]|0)+12>>2]=0;k[(k[h>>2]|0)+16>>2]=0;k[(k[h>>2]|0)+8>>2]=k[(k[f>>2]|0)+8>>2]&-17;k[(k[h>>2]|0)+20>>2]=-1;k[(k[h>>2]|0)+20+4>>2]=-1;j[(k[h>>2]|0)+6>>1]=j[(k[f>>2]|0)+6>>1]|0;l=Cz(k[e>>2]|0,k[(k[f>>2]|0)+64>>2]|0)|0;k[(k[h>>2]|0)+64>>2]=l;k[d>>2]=k[h>>2];l=k[d>>2]|0;r=m;return l|0}function Yx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;k[f>>2]=(k[d>>2]|0)+8;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0)){c=8;break}if((k[(k[f>>2]|0)+44>>2]|0)>=0){c=8;break}b=(k[c>>2]|0)+72|0;a=k[b>>2]|0;k[b>>2]=a+1;k[(k[f>>2]|0)+44>>2]=a;if(k[(k[f>>2]|0)+20>>2]|0)Yx(k[c>>2]|0,k[(k[(k[f>>2]|0)+20>>2]|0)+28>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}if((c|0)==8){r=g;return}}function Zx(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+32|0;c=l+20|0;d=l+16|0;e=l+12|0;g=l+8|0;f=l+4|0;h=l;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];k[h>>2]=k[(k[f>>2]|0)+24>>2];b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]&-5;b=(k[f>>2]|0)+24|0;k[b>>2]=k[b>>2]|64;_x(k[d>>2]|0,k[e>>2]|0,0);if(k[(k[d>>2]|0)+68>>2]|0){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}while(1){if(!(k[(k[e>>2]|0)+48>>2]|0))break;k[e>>2]=k[(k[e>>2]|0)+48>>2]}k[(k[f>>2]|0)+24>>2]=k[h>>2];h=Bh(k[f>>2]|0,72,0)|0;k[g>>2]=h;if(!(k[g>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}j[(k[g>>2]|0)+36>>1]=1;k[k[g>>2]>>2]=0;j[(k[g>>2]|0)+38>>1]=200;Wx(k[d>>2]|0,k[k[e>>2]>>2]|0,(k[g>>2]|0)+34|0,(k[g>>2]|0)+4|0)|0;$x(k[d>>2]|0,k[g>>2]|0,k[e>>2]|0);j[(k[g>>2]|0)+32>>1]=-1;if(i[(k[f>>2]|0)+69>>0]|0){$f(k[f>>2]|0,k[g>>2]|0);k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}else{k[c>>2]=k[g>>2];h=k[c>>2]|0;r=l;return h|0}return 0}function _x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}k[g>>2]=k[k[d>>2]>>2];if(i[(k[g>>2]|0)+69>>0]|0){r=h;return}if(k[(k[e>>2]|0)+8>>2]&64){r=h;return}iy(k[d>>2]|0,k[e>>2]|0);if(k[(k[d>>2]|0)+68>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}jy(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);if(k[(k[d>>2]|0)+68>>2]|0){r=h;return}if(l[(k[g>>2]|0)+69>>0]|0){r=h;return}ky(k[d>>2]|0,k[e>>2]|0);r=h;return}function $x(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+80|0;d=t+76|0;e=t+72|0;f=t+68|0;h=t+64|0;q=t+32|0;o=t+24|0;p=t+20|0;m=t+16|0;n=t+12|0;g=t+8|0;s=t;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];b=s;k[b>>2]=0;k[b+4>>2]=0;if(i[(k[h>>2]|0)+69>>0]|0){r=t;return};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q+4>>2]=k[(k[f>>2]|0)+28>>2];k[g>>2]=k[(k[k[f>>2]>>2]|0)+4>>2];k[m>>2]=0;k[o>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[m>>2]|0)>=(j[(k[e>>2]|0)+34>>1]|0))break;k[n>>2]=k[(k[g>>2]|0)+((k[m>>2]|0)*20|0)>>2];ay(q,k[n>>2]|0,(k[o>>2]|0)+14|0)|0;c=s;c=zR(k[c>>2]|0,k[c+4>>2]|0,l[(k[o>>2]|0)+14>>0]|0,0)|0;b=s;k[b>>2]=c;k[b+4>>2]=L;b=by(k[n>>2]|0)|0;i[(k[o>>2]|0)+13>>0]=b;if(!(i[(k[o>>2]|0)+13>>0]|0))i[(k[o>>2]|0)+13>>0]=65;b=cy(k[d>>2]|0,k[n>>2]|0)|0;k[p>>2]=b;if((k[p>>2]|0)!=0?(k[(k[o>>2]|0)+8>>2]|0)==0:0){b=zh(k[h>>2]|0,k[k[p>>2]>>2]|0)|0;k[(k[o>>2]|0)+8>>2]=b}k[m>>2]=(k[m>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+16}s=KR(k[s>>2]|0,k[s+4>>2]|0,4,0)|0;s=Uj(s,L)|0;j[(k[e>>2]|0)+40>>1]=s;r=t;return}function ay(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+128|0;d=x+112|0;e=x+108|0;f=x+104|0;w=x+100|0;m=x+96|0;g=x+116|0;s=x+92|0;p=x+88|0;h=x+84|0;t=x+80|0;u=x+48|0;n=x+40|0;v=x+8|0;q=x+4|0;o=x;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[w>>2]=0;i[g>>0]=1;a:do switch(l[k[e>>2]>>0]|0){case 152:case 154:{k[s>>2]=0;k[p>>2]=0;k[h>>2]=j[(k[e>>2]|0)+32>>1];while(1){if(!(k[d>>2]|0))break;if(!((k[s>>2]|0)!=0^1))break;k[t>>2]=k[(k[d>>2]|0)+4>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=(k[k[t>>2]>>2]|0))break;if((k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+44>>2]|0)==(k[(k[e>>2]|0)+28>>2]|0))break;k[m>>2]=(k[m>>2]|0)+1}if((k[m>>2]|0)<(k[k[t>>2]>>2]|0)){k[s>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+16>>2];k[p>>2]=k[(k[t>>2]|0)+8+((k[m>>2]|0)*72|0)+20>>2];continue}else{k[d>>2]=k[(k[d>>2]|0)+16>>2];continue}}if(k[s>>2]|0){if(k[p>>2]|0){if((k[h>>2]|0)<0)break a;if((k[h>>2]|0)>=(k[k[k[p>>2]>>2]>>2]|0))break a;k[n>>2]=k[(k[(k[k[p>>2]>>2]|0)+4>>2]|0)+((k[h>>2]|0)*20|0)>>2];k[u+4>>2]=k[(k[p>>2]|0)+28>>2];k[u+16>>2]=k[d>>2];k[u>>2]=k[k[d>>2]>>2];v=ay(u,k[n>>2]|0,g)|0;k[w>>2]=v;break a}if(k[(k[s>>2]|0)+64>>2]|0){if((k[h>>2]|0)<0)k[h>>2]=j[(k[s>>2]|0)+32>>1];if((k[h>>2]|0)<0){k[w>>2]=19367;break a}else{v=Di((k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)|0,0)|0;k[w>>2]=v;i[g>>0]=i[(k[(k[s>>2]|0)+4>>2]|0)+(k[h>>2]<<4)+14>>0]|0;break a}}}break}case 119:{k[q>>2]=k[(k[e>>2]|0)+20>>2];k[o>>2]=k[k[(k[k[q>>2]>>2]|0)+4>>2]>>2];k[v+4>>2]=k[(k[q>>2]|0)+28>>2];k[v+16>>2]=k[d>>2];k[v>>2]=k[k[d>>2]>>2];v=ay(v,k[o>>2]|0,g)|0;k[w>>2]=v;break}default:{}}while(0);if(!(k[f>>2]|0)){w=k[w>>2]|0;r=x;return w|0}i[k[f>>2]>>0]=i[g>>0]|0;w=k[w>>2]|0;r=x;return w|0}function by(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;c=f+8|0;e=f+4|0;d=f;k[c>>2]=a;a=hy(k[c>>2]|0)|0;k[c>>2]=a;if(k[(k[c>>2]|0)+4>>2]&512){i[b>>0]=0;a=i[b>>0]|0;r=f;return a|0}k[e>>2]=l[k[c>>2]>>0];if((k[e>>2]|0)==119){a=by(k[k[(k[k[(k[c>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;i[b>>0]=a;a=i[b>>0]|0;r=f;return a|0}if((k[e>>2]|0)==38){a=zx(k[(k[c>>2]|0)+8>>2]|0,0)|0;i[b>>0]=a;a=i[b>>0]|0;r=f;return a|0}if((k[e>>2]|0)==154|(k[e>>2]|0)==152|(k[e>>2]|0)==157?(k[(k[c>>2]|0)+44>>2]|0)!=0:0){k[d>>2]=j[(k[c>>2]|0)+32>>1];if((k[d>>2]|0)<0){i[b>>0]=68;a=i[b>>0]|0;r=f;return a|0}else{i[b>>0]=i[(k[(k[(k[c>>2]|0)+44>>2]|0)+4>>2]|0)+(k[d>>2]<<4)+13>>0]|0;a=i[b>>0]|0;r=f;return a|0}}i[b>>0]=i[(k[c>>2]|0)+1>>0]|0;a=i[b>>0]|0;r=f;return a|0}function cy(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,s=0;q=r;r=r+48|0;c=q+36|0;s=q+32|0;d=q+28|0;m=q+24|0;h=q+20|0;g=q+16|0;f=q+12|0;o=q+8|0;n=q+4|0;e=q;k[c>>2]=a;k[s>>2]=b;k[d>>2]=k[k[c>>2]>>2];k[m>>2]=0;k[h>>2]=k[s>>2];while(1){if(!(k[h>>2]|0))break;k[g>>2]=l[k[h>>2]>>0];if(k[(k[h>>2]|0)+4>>2]&512)break;if((k[g>>2]|0)==38|(k[g>>2]|0)==156){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}if((k[g>>2]|0)==95){p=9;break}if((k[g>>2]|0)==157?(l[(k[h>>2]|0)+38>>0]|0)==95:0){p=9;break}if((k[g>>2]|0)==154|(k[g>>2]|0)==152|(k[g>>2]|0)==157|(k[g>>2]|0)==62?(k[(k[h>>2]|0)+44>>2]|0)!=0:0){p=12;break}if(!(k[(k[h>>2]|0)+4>>2]&256))break;if((k[(k[h>>2]|0)+12>>2]|0)!=0?(k[(k[(k[h>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){k[h>>2]=k[(k[h>>2]|0)+12>>2];continue}k[n>>2]=k[(k[h>>2]|0)+16>>2];a:do if((k[(k[h>>2]|0)+20>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]&2048|0)==0:0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[h>>2]|0)+20>>2]>>2]|0))break a;b=k[e>>2]|0;if(k[(k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;k[e>>2]=b+1}k[n>>2]=k[(k[(k[(k[h>>2]|0)+20>>2]|0)+4>>2]|0)+(b*20|0)>>2]}while(0);k[h>>2]=k[n>>2]}if((p|0)==9){s=dy(k[c>>2]|0,i[(k[d>>2]|0)+66>>0]|0,0,k[(k[h>>2]|0)+8>>2]|0)|0;k[m>>2]=s}else if((p|0)==12?(k[f>>2]=j[(k[h>>2]|0)+32>>1],(k[f>>2]|0)>=0):0){k[o>>2]=k[(k[(k[(k[h>>2]|0)+44>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];s=_j(k[d>>2]|0,i[(k[d>>2]|0)+66>>0]|0,k[o>>2]|0,0)|0;k[m>>2]=s}if(!(ey(k[c>>2]|0,k[m>>2]|0)|0)){s=k[m>>2]|0;r=q;return s|0}k[m>>2]=0;s=k[m>>2]|0;r=q;return s|0}function dy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0;n=r;r=r+32|0;m=n;e=n+20|0;f=n+24|0;o=n+16|0;g=n+12|0;j=n+8|0;h=n+4|0;k[e>>2]=a;i[f>>0]=b;k[o>>2]=c;k[g>>2]=d;k[h>>2]=k[k[e>>2]>>2];k[j>>2]=k[o>>2];if(!(k[j>>2]|0)){o=_j(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(!((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)!=0:0)){fy(k[h>>2]|0,l[f>>0]|0,k[g>>2]|0);o=_j(k[h>>2]|0,i[f>>0]|0,k[g>>2]|0,0)|0;k[j>>2]=o}if(((k[j>>2]|0)!=0?(k[(k[j>>2]|0)+12>>2]|0)==0:0)?(gy(k[h>>2]|0,k[j>>2]|0)|0)!=0:0)k[j>>2]=0;if(k[j>>2]|0){o=k[j>>2]|0;r=n;return o|0}o=k[e>>2]|0;k[m>>2]=k[g>>2];Mh(o,29609,m);o=k[j>>2]|0;r=n;return o|0}function ey(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;if((k[e>>2]|0)!=0?(k[h>>2]=k[k[e>>2]>>2],k[f>>2]=k[k[d>>2]>>2],h=dy(k[d>>2]|0,i[(k[f>>2]|0)+66>>0]|0,k[e>>2]|0,k[h>>2]|0)|0,k[g>>2]=h,(k[g>>2]|0)==0):0){k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}function fy(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,m=0;m=r;r=r+32|0;d=m+20|0;e=m+16|0;f=m+12|0;h=m+8|0;j=m+4|0;g=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;do if(k[(k[d>>2]|0)+228>>2]|0){c=zh(k[d>>2]|0,k[f>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){ic[k[(k[d>>2]|0)+228>>2]&255](k[(k[d>>2]|0)+236>>2]|0,k[d>>2]|0,k[e>>2]|0,k[h>>2]|0);bg(k[d>>2]|0,k[h>>2]|0);break}else{r=m;return}}while(0);if(!(k[(k[d>>2]|0)+232>>2]|0)){r=m;return}c=fi(k[d>>2]|0)|0;k[g>>2]=c;gi(k[g>>2]|0,-1,k[f>>2]|0,1,0);c=gh(k[g>>2]|0,((i[960]|0)==0?3:2)&255)|0;k[j>>2]=c;if(k[j>>2]|0)ic[k[(k[d>>2]|0)+232>>2]&255](k[(k[d>>2]|0)+236>>2]|0,k[d>>2]|0,l[(k[d>>2]|0)+66>>0]|0,k[j>>2]|0);lh(k[g>>2]|0);r=m;return}function gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;f=j+20|0;c=j+16|0;g=j+12|0;h=j+8|0;e=j+4|0;d=j;k[c>>2]=a;k[g>>2]=b;k[e>>2]=k[k[g>>2]>>2];k[d>>2]=0;while(1){if((k[d>>2]|0)>=3){c=6;break}b=_j(k[c>>2]|0,i[29640+(k[d>>2]|0)>>0]|0,k[e>>2]|0,0)|0;k[h>>2]=b;if(k[(k[h>>2]|0)+12>>2]|0){c=4;break}k[d>>2]=(k[d>>2]|0)+1}if((c|0)==4){e=k[g>>2]|0;h=k[h>>2]|0;k[e>>2]=k[h>>2];k[e+4>>2]=k[h+4>>2];k[e+8>>2]=k[h+8>>2];k[e+12>>2]=k[h+12>>2];k[e+16>>2]=k[h+16>>2];k[(k[g>>2]|0)+16>>2]=0;k[f>>2]=0;h=k[f>>2]|0;r=j;return h|0}else if((c|0)==6){k[f>>2]=1;h=k[f>>2]|0;r=j;return h|0}return 0}function hy(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;c=d;k[c>>2]=a;while(1){if(k[c>>2]|0)a=(k[(k[c>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=k[c>>2]|0;if(!a)break;a=k[c>>2]|0;if(k[b+4>>2]&262144){k[c>>2]=k[k[(k[a+20>>2]|0)+4>>2]>>2];continue}else{k[c>>2]=k[a+12>>2];continue}}r=d;return b|0}function iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+48|0;f=e+32|0;c=e+28|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=0;k[d+4>>2]=0;k[d+8>>2]=0;k[d+12>>2]=0;k[d+16>>2]=0;k[d+20>>2]=0;k[d+24>>2]=0;k[d+4>>2]=190;k[d>>2]=k[f>>2];if(i[(k[f>>2]|0)+22>>0]|0){k[d+8>>2]=191;ny(d,k[c>>2]|0)|0}k[d+8>>2]=192;if(k[(k[c>>2]|0)+8>>2]&512){f=k[c>>2]|0;ny(d,f)|0;r=e;return}k[d+12>>2]=132;f=k[c>>2]|0;ny(d,f)|0;r=e;return}function jy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+48|0;h=d+36|0;e=d+32|0;g=d+28|0;f=d;k[h>>2]=a;k[e>>2]=b;k[g>>2]=c;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[f+12>>2]=0;k[f+16>>2]=0;k[f+20>>2]=0;k[f+24>>2]=0;k[f+4>>2]=193;k[f+8>>2]=194;k[f>>2]=k[h>>2];k[f+24>>2]=k[g>>2];ny(f,k[e>>2]|0)|0;r=d;return}function ky(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=r;r=r+48|0;f=c+32|0;d=c+28|0;e=c;k[f>>2]=a;k[d>>2]=b;k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+12>>2]=133;k[e+4>>2]=190;k[e>>2]=k[f>>2];ny(e,k[d>>2]|0)|0;r=c;return}function ly(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;i=r;r=r+32|0;m=i+28|0;j=i+24|0;e=i+20|0;c=i+16|0;h=i+12|0;d=i+8|0;g=i+4|0;f=i;k[m>>2]=a;k[j>>2]=b;a=(k[j>>2]|0)+8|0;k[a>>2]=k[a>>2]|64;k[e>>2]=k[k[m>>2]>>2];k[h>>2]=k[(k[j>>2]|0)+28>>2];k[c>>2]=0;k[d>>2]=(k[h>>2]|0)+8;while(1){if((k[c>>2]|0)>=(k[k[h>>2]>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+16>>2];if(((l[(k[g>>2]|0)+42>>0]|0)&2|0)!=0?(k[f>>2]=k[(k[d>>2]|0)+20>>2],(k[f>>2]|0)!=0):0){while(1){if(!(k[(k[f>>2]|0)+48>>2]|0))break;k[f>>2]=k[(k[f>>2]|0)+48>>2]}$x(k[e>>2]|0,k[g>>2]|0,k[f>>2]|0)}k[c>>2]=(k[c>>2]|0)+1;k[d>>2]=(k[d>>2]|0)+72}r=i;return}function my(a,b){a=a|0;b=b|0;var c=0;c=r;r=r+16|0;k[c+4>>2]=a;k[c>>2]=b;r=c;return 0}function ny(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;c=g+4|0;f=g;k[e>>2]=a;k[c>>2]=b;do if(k[c>>2]|0){if((k[(k[e>>2]|0)+8>>2]|0)==0?(k[(k[e>>2]|0)+12>>2]|0)==0:0)break;k[f>>2]=0;a=(k[e>>2]|0)+16|0;k[a>>2]=(k[a>>2]|0)+1;while(1){if(!(k[c>>2]|0)){c=15;break}if((k[(k[e>>2]|0)+8>>2]|0)!=0?(a=gc[k[(k[e>>2]|0)+8>>2]&255](k[e>>2]|0,k[c>>2]|0)|0,k[f>>2]=a,(k[f>>2]|0)!=0):0){c=15;break}if(oy(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(py(k[e>>2]|0,k[c>>2]|0)|0){c=11;break}if(k[(k[e>>2]|0)+12>>2]|0)$b[k[(k[e>>2]|0)+12>>2]&255](k[e>>2]|0,k[c>>2]|0);k[c>>2]=k[(k[c>>2]|0)+48>>2]}if((c|0)==11){f=(k[e>>2]|0)+16|0;k[f>>2]=(k[f>>2]|0)+-1;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else if((c|0)==15){e=(k[e>>2]|0)+16|0;k[e>>2]=(k[e>>2]|0)+-1;k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}function oy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;do if(!(qy(k[d>>2]|0,k[k[e>>2]>>2]|0)|0)){if(ry(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0)|0){k[c>>2]=2;break}if(qy(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0)|0){k[c>>2]=2;break}if(ry(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0)|0){k[c>>2]=2;break}if(qy(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0)|0){k[c>>2]=2;break}if(ry(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0)|0){k[c>>2]=2;break}if(ry(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0)|0){k[c>>2]=2;break}else{k[c>>2]=0;break}}else k[c>>2]=2;while(0);r=f;return k[c>>2]|0}function py(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;g=h+20|0;c=h+16|0;i=h+12|0;f=h+8|0;d=h+4|0;e=h;k[c>>2]=a;k[i>>2]=b;k[f>>2]=k[(k[i>>2]|0)+28>>2];a:do if(k[f>>2]|0){k[d>>2]=k[k[f>>2]>>2];k[e>>2]=(k[f>>2]|0)+8;while(1){if((k[d>>2]|0)<=0)break a;if(ny(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0)|0){c=5;break}if(((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(qy(k[c>>2]|0,k[(k[e>>2]|0)+64>>2]|0)|0)!=0:0){c=8;break}k[d>>2]=(k[d>>2]|0)+-1;k[e>>2]=(k[e>>2]|0)+72}if((c|0)==5){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}else if((c|0)==8){k[g>>2]=2;i=k[g>>2]|0;r=h;return i|0}}while(0);k[g>>2]=0;i=k[g>>2]|0;r=h;return i|0}function qy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=k[k[e>>2]>>2];k[g>>2]=k[(k[e>>2]|0)+4>>2];while(1){if((k[f>>2]|0)<=0)break a;if(ry(k[d>>2]|0,k[k[g>>2]>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+-1;k[g>>2]=(k[g>>2]|0)+20}k[c>>2]=2;a=k[c>>2]|0;r=h;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=h;return a|0}function ry(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){a=0;r=e;return a|0}a=sy(k[c>>2]|0,k[d>>2]|0)|0;r=e;return a|0}function sy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;c=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[e>>2]=b;a=gc[k[(k[c>>2]|0)+4>>2]&255](k[c>>2]|0,k[e>>2]|0)|0;k[f>>2]=a;do if((k[f>>2]|0)==0?(k[(k[e>>2]|0)+4>>2]&16384|0)==0:0){if(ry(k[c>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0){k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}if(ry(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0)|0){k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}c=k[c>>2]|0;b=(k[e>>2]|0)+20|0;if(k[(k[e>>2]|0)+4>>2]&2048){if(!(ny(c,k[b>>2]|0)|0))break;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}else{if(!(qy(c,k[b>>2]|0)|0))break;k[d>>2]=2;f=k[d>>2]|0;r=g;return f|0}}while(0);k[d>>2]=k[f>>2]&2;f=k[d>>2]|0;r=g;return f|0}function ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;h=J+112|0;n=J+108|0;x=J+104|0;z=J+100|0;e=J+96|0;g=J+92|0;f=J+88|0;d=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;q=J+64|0;o=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;p=J+120|0;y=J+44|0;c=J+40|0;k[h>>2]=a;k[n>>2]=b;k[x>>2]=k[(k[h>>2]|0)+24>>2];k[z>>2]=k[k[x>>2]>>2];if(k[(k[n>>2]|0)+4>>2]&4){k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}a=(k[n>>2]|0)+4|0;k[a>>2]=k[a>>2]|4;switch(l[k[n>>2]>>0]|0){case 27:{H=Vy(k[z>>2]|0,0,0,k[(k[n>>2]|0)+8>>2]|0,k[x>>2]|0,k[n>>2]|0)|0;k[I>>2]=H;I=k[I>>2]|0;r=J;return I|0}case 122:{Wy(k[z>>2]|0,k[x>>2]|0,30149,32);k[d>>2]=k[(k[n>>2]|0)+16>>2];if((l[k[d>>2]>>0]|0)==27){k[f>>2]=0;k[g>>2]=k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2];k[e>>2]=k[(k[d>>2]|0)+8>>2]}else{k[f>>2]=k[(k[(k[n>>2]|0)+12>>2]|0)+8>>2];k[g>>2]=k[(k[(k[d>>2]|0)+12>>2]|0)+8>>2];k[e>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+8>>2]}H=Vy(k[z>>2]|0,k[f>>2]|0,k[g>>2]|0,k[e>>2]|0,k[x>>2]|0,k[n>>2]|0)|0;k[I>>2]=H;I=k[I>>2]|0;r=J;return I|0}case 151:{k[w>>2]=k[(k[n>>2]|0)+20>>2];if(k[w>>2]|0)c=k[k[w>>2]>>2]|0;else c=0;k[s>>2]=c;k[u>>2]=0;k[F>>2]=0;k[q>>2]=0;i[p>>0]=i[(k[k[z>>2]>>2]|0)+66>>0]|0;Wy(k[z>>2]|0,k[x>>2]|0,30166,16);k[G>>2]=k[(k[n>>2]|0)+8>>2];g=Tf(k[G>>2]|0)|0;k[t>>2]=g;g=si(k[k[z>>2]>>2]|0,k[G>>2]|0,k[s>>2]|0,i[p>>0]|0,0)|0;k[v>>2]=g;do if(!(k[v>>2]|0)){B=si(k[k[z>>2]>>2]|0,k[G>>2]|0,-2,i[p>>0]|0,0)|0;k[v>>2]=B;if(!(k[v>>2]|0)){k[u>>2]=1;break}else{k[F>>2]=1;break}}else{k[q>>2]=(k[(k[v>>2]|0)+16>>2]|0)!=0&1;do if(m[(k[v>>2]|0)+2>>1]&1024){p=(k[n>>2]|0)+4|0;k[p>>2]=k[p>>2]|266240;if((k[s>>2]|0)!=2){k[(k[n>>2]|0)+28>>2]=(i[k[(k[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Xy(k[(k[(k[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;k[(k[n>>2]|0)+28>>2]=s;if((k[(k[n>>2]|0)+28>>2]|0)<0){Mh(k[z>>2]|0,30176,A);A=(k[x>>2]|0)+24|0;k[A>>2]=(k[A>>2]|0)+1}}while(0);A=ax(k[z>>2]|0,31,0,k[(k[v>>2]|0)+20>>2]|0,0)|0;k[o>>2]=A;if(k[o>>2]|0){if((k[o>>2]|0)==1){H=k[z>>2]|0;k[B>>2]=k[(k[v>>2]|0)+20>>2];Mh(H,30247,B);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1}i[k[n>>2]>>0]=101;k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}else{if(m[(k[v>>2]|0)+2>>1]&10240){B=(k[n>>2]|0)+4|0;k[B>>2]=k[B>>2]|524288}if(m[(k[v>>2]|0)+2>>1]&2048)break;Wy(k[z>>2]|0,k[x>>2]|0,30282,32);break}}while(0);if((k[q>>2]|0)!=0?(m[(k[x>>2]|0)+28>>1]&1|0)==0:0){F=k[z>>2]|0;G=k[G>>2]|0;k[D>>2]=k[t>>2];k[D+4>>2]=G;Mh(F,30310,D);G=(k[x>>2]|0)+24|0;k[G>>2]=(k[G>>2]|0)+1;k[q>>2]=0}else H=31;do if((H|0)==31){if((k[u>>2]|0)!=0?(l[(k[k[z>>2]>>2]|0)+144+5>>0]|0)==0:0){H=k[z>>2]|0;G=k[G>>2]|0;k[E>>2]=k[t>>2];k[E+4>>2]=G;Mh(H,30346,E);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1;break}if(k[F>>2]|0){H=k[z>>2]|0;G=k[G>>2]|0;k[C>>2]=k[t>>2];k[C+4>>2]=G;Mh(H,30369,C);H=(k[x>>2]|0)+24|0;k[H>>2]=(k[H>>2]|0)+1}}while(0);if(k[q>>2]|0){H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]&-2}qy(k[h>>2]|0,k[w>>2]|0)|0;if(k[q>>2]|0){k[y>>2]=k[x>>2];i[k[n>>2]>>0]=-103;i[(k[n>>2]|0)+38>>0]=0;while(1){if(!(k[y>>2]|0))break;if(!((Yy(k[n>>2]|0,k[(k[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(k[n>>2]|0)+38|0;i[H>>0]=(i[H>>0]|0)+1<<24>>24;k[y>>2]=k[(k[y>>2]|0)+16>>2]}if(k[y>>2]|0){H=(k[y>>2]|0)+28|0;j[H>>1]=m[H>>1]|(2|m[(k[v>>2]|0)+2>>1]&4096)}H=(k[x>>2]|0)+28|0;j[H>>1]=m[H>>1]|1}k[I>>2]=1;I=k[I>>2]|0;r=J;return I|0}case 75:case 20:case 119:{if((k[(k[n>>2]|0)+4>>2]&2048|0)!=0?(k[c>>2]=k[(k[x>>2]|0)+20>>2],Wy(k[z>>2]|0,k[x>>2]|0,30414,52),ny(k[h>>2]|0,k[(k[n>>2]|0)+20>>2]|0)|0,(k[c>>2]|0)!=(k[(k[x>>2]|0)+20>>2]|0)):0){H=(k[n>>2]|0)+4|0;k[H>>2]=k[H>>2]|32}break}case 135:{Wy(k[z>>2]|0,k[x>>2]|0,30425,52);break}default:{}}if(k[(k[z>>2]|0)+68>>2]|0)c=1;else c=(l[(k[k[z>>2]>>2]|0)+69>>0]|0)!=0;k[I>>2]=c?2:0;I=k[I>>2]|0;r=J;return I|0}function uy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+128|0;C=E+8|0;B=E;D=E+116|0;c=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;f=E+64|0;A=E+60|0;e=E+56|0;h=E+52|0;z=E+48|0;d=E+44|0;t=E+40|0;n=E+36|0;q=E+32|0;g=E+28|0;w=E+24|0;o=E+20|0;u=E+16|0;p=E+12|0;k[c>>2]=a;k[x>>2]=b;if(k[(k[x>>2]|0)+8>>2]&4){k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}k[s>>2]=k[(k[c>>2]|0)+24>>2];k[A>>2]=k[k[c>>2]>>2];k[d>>2]=k[k[A>>2]>>2];if(!(k[(k[x>>2]|0)+8>>2]&32)){_x(k[A>>2]|0,k[x>>2]|0,k[s>>2]|0);if(k[(k[A>>2]|0)+68>>2]|0)c=1;else c=(l[(k[d>>2]|0)+69>>0]|0)!=0;k[D>>2]=c?2:1;D=k[D>>2]|0;r=E;return D|0}k[y>>2]=(k[(k[x>>2]|0)+48>>2]|0)!=0&1;k[f>>2]=0;k[z>>2]=k[x>>2];a:while(1){if(!(k[x>>2]|0)){c=68;break}a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|4;k[v>>2]=0;k[v+4>>2]=0;k[v+8>>2]=0;k[v+12>>2]=0;k[v+16>>2]=0;k[v+20>>2]=0;k[v+24>>2]=0;k[v+28>>2]=0;k[v>>2]=k[A>>2];if(vy(v,k[(k[x>>2]|0)+56>>2]|0)|0){c=11;break}if(vy(v,k[(k[x>>2]|0)+60>>2]|0)|0){c=11;break}if(k[(k[x>>2]|0)+8>>2]&32768){k[t>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[t>>2]|0)+44>>2]=k[(k[x>>2]|0)+44>>2];k[(k[x>>2]|0)+44>>2]=0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[n>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(k[(k[n>>2]|0)+20>>2]|0){k[g>>2]=0;k[w>>2]=k[(k[A>>2]|0)+496>>2];k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)+(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}if(k[(k[n>>2]|0)+8>>2]|0)k[(k[A>>2]|0)+496>>2]=k[(k[n>>2]|0)+8>>2];jy(k[A>>2]|0,k[(k[n>>2]|0)+20>>2]|0,k[s>>2]|0);k[(k[A>>2]|0)+496>>2]=k[w>>2];if(k[(k[A>>2]|0)+68>>2]|0){c=24;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=24;break a}k[q>>2]=k[s>>2];while(1){if(!(k[q>>2]|0))break;k[g>>2]=(k[g>>2]|0)-(k[(k[q>>2]|0)+20>>2]|0);k[q>>2]=k[(k[q>>2]|0)+16>>2]}a=(k[n>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-9|((k[g>>2]|0)!=0&1)<<3&255}k[e>>2]=(k[e>>2]|0)+1}j[v+28>>1]=1;k[v+4>>2]=k[(k[x>>2]|0)+28>>2];k[v+16>>2]=k[s>>2];if(wy(v,k[k[x>>2]>>2]|0)|0){c=31;break}k[h>>2]=k[(k[x>>2]|0)+36>>2];if((k[h>>2]|0)==0?(m[v+28>>1]&2|0)==0:0){a=v+28|0;j[a>>1]=m[a>>1]&-2}else{a=(k[x>>2]|0)+8|0;k[a>>2]=k[a>>2]|(8|m[v+28>>1]&4096)}if(!((k[h>>2]|0)!=0?1:(k[(k[x>>2]|0)+40>>2]|0)==0)){c=37;break}k[v+8>>2]=k[k[x>>2]>>2];if(vy(v,k[(k[x>>2]|0)+40>>2]|0)|0){c=39;break}if(vy(v,k[(k[x>>2]|0)+32>>2]|0)|0){c=41;break}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[(k[x>>2]|0)+28>>2]>>2]|0))break;k[o>>2]=(k[(k[x>>2]|0)+28>>2]|0)+8+((k[e>>2]|0)*72|0);if(((l[(k[o>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(wy(v,k[(k[o>>2]|0)+64>>2]|0)|0)!=0:0){c=46;break a}k[e>>2]=(k[e>>2]|0)+1}k[v+16>>2]=0;a=v+28|0;j[a>>1]=m[a>>1]|1;if(k[(k[x>>2]|0)+8>>2]&32768){k[u>>2]=k[(k[(k[x>>2]|0)+28>>2]|0)+8+20>>2];k[(k[x>>2]|0)+44>>2]=k[(k[u>>2]|0)+44>>2];k[(k[u>>2]|0)+44>>2]=0}if((k[y>>2]|0)<=(k[f>>2]|0)?(xy(v,k[x>>2]|0,k[(k[x>>2]|0)+44>>2]|0,29687)|0)!=0:0){c=52;break}if(i[(k[d>>2]|0)+69>>0]|0){c=54;break}b:do if(k[h>>2]|0){if(xy(v,k[x>>2]|0,k[h>>2]|0,29693)|0){c=58;break a}if(l[(k[d>>2]|0)+69>>0]|0){c=58;break a}k[e>>2]=0;k[p>>2]=k[(k[h>>2]|0)+4>>2];while(1){if((k[e>>2]|0)>=(k[k[h>>2]>>2]|0))break b;if(k[(k[k[p>>2]>>2]|0)+4>>2]&2){c=62;break a}k[e>>2]=(k[e>>2]|0)+1;k[p>>2]=(k[p>>2]|0)+20}}while(0);if((k[(k[x>>2]|0)+52>>2]|0)!=0?(k[k[k[x>>2]>>2]>>2]|0)!=(k[k[k[(k[x>>2]|0)+52>>2]>>2]>>2]|0):0){c=66;break}k[x>>2]=k[(k[x>>2]|0)+48>>2];k[f>>2]=(k[f>>2]|0)+1}switch(c|0){case 11:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 24:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 31:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 37:{Mh(k[A>>2]|0,29643,B);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 39:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 41:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 46:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 52:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 54:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 58:{k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 62:{Mh(k[A>>2]|0,29699,C);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 66:{yy(k[A>>2]|0,k[(k[x>>2]|0)+52>>2]|0);k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}case 68:{if((k[y>>2]|0)!=0?(zy(k[A>>2]|0,k[z>>2]|0)|0)!=0:0){k[D>>2]=2;D=k[D>>2]|0;r=E;return D|0}k[D>>2]=1;D=k[D>>2]|0;r=E;return D|0}}return 0}function vy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,l=0;l=r;r=r+48|0;c=l+40|0;d=l+36|0;e=l+32|0;g=l+44|0;h=l+4|0;f=l;k[d>>2]=a;k[e>>2]=b;if(!(k[e>>2]|0)){k[c>>2]=0;h=k[c>>2]|0;r=l;return h|0}k[f>>2]=k[k[d>>2]>>2];if(Uy(k[f>>2]|0,(k[(k[e>>2]|0)+24>>2]|0)+(k[(k[k[d>>2]>>2]|0)+464>>2]|0)|0)|0){k[c>>2]=1;h=k[c>>2]|0;r=l;return h|0}f=(k[f>>2]|0)+464|0;k[f>>2]=(k[f>>2]|0)+(k[(k[e>>2]|0)+24>>2]|0);j[g>>1]=(m[(k[d>>2]|0)+28>>1]|0)&4098;f=(k[d>>2]|0)+28|0;j[f>>1]=(m[f>>1]|0)&-4099;k[h>>2]=k[k[d>>2]>>2];k[h+4>>2]=193;k[h+8>>2]=194;k[h+12>>2]=0;k[h+16>>2]=0;i[h+20>>0]=0;k[h+24>>2]=k[d>>2];ry(h,k[e>>2]|0)|0;f=(k[k[d>>2]>>2]|0)+464|0;k[f>>2]=(k[f>>2]|0)-(k[(k[e>>2]|0)+24>>2]|0);if(!((k[(k[d>>2]|0)+24>>2]|0)<=0?(k[(k[h>>2]|0)+68>>2]|0)<=0:0)){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|8}if((m[(k[d>>2]|0)+28>>1]|0)&2){h=(k[e>>2]|0)+4|0;k[h>>2]=k[h>>2]|2}h=(k[d>>2]|0)+28|0;j[h>>1]=m[h>>1]|0|(m[g>>1]|0);k[c>>2]=(k[(k[e>>2]|0)+4>>2]&8|0)!=0&1;h=k[c>>2]|0;r=l;return h|0}function wy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;a:do if(k[e>>2]|0){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[k[e>>2]>>2]|0))break a;if(vy(k[d>>2]|0,k[(k[(k[e>>2]|0)+4>>2]|0)+((k[f>>2]|0)*20|0)>>2]|0)|0)break;k[f>>2]=(k[f>>2]|0)+1}k[c>>2]=2;a=k[c>>2]|0;r=g;return a|0}while(0);k[c>>2]=0;a=k[c>>2]|0;r=g;return a|0}function xy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;e=w+48|0;f=w+44|0;g=w+40|0;h=w+36|0;l=w+32|0;m=w+28|0;o=w+24|0;n=w+20|0;t=w+16|0;u=w+12|0;p=w+8|0;q=w+4|0;s=w;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[l>>2]=d;if(!(k[h>>2]|0)){k[e>>2]=0;v=k[e>>2]|0;r=w;return v|0}k[p>>2]=k[k[k[g>>2]>>2]>>2];k[u>>2]=k[k[f>>2]>>2];k[m>>2]=0;k[t>>2]=k[(k[h>>2]|0)+4>>2];a:while(1){if((k[m>>2]|0)>=(k[k[h>>2]>>2]|0)){v=20;break}k[q>>2]=k[k[t>>2]>>2];d=hy(k[q>>2]|0)|0;k[s>>2]=d;if((i[k[l>>2]>>0]|0)!=71?(d=Cy(k[u>>2]|0,k[k[g>>2]>>2]|0,k[s>>2]|0)|0,k[n>>2]=d,(k[n>>2]|0)>0):0)j[(k[t>>2]|0)+16>>1]=k[n>>2];else v=8;b:do if((v|0)==8){v=0;if(Ay(k[s>>2]|0,n)|0){if((k[n>>2]|0)<1|(k[n>>2]|0)>65535){v=10;break a}j[(k[t>>2]|0)+16>>1]=k[n>>2];break}j[(k[t>>2]|0)+16>>1]=0;if(vy(k[f>>2]|0,k[q>>2]|0)|0){v=13;break a}k[o>>2]=0;while(1){if((k[o>>2]|0)>=(k[k[k[g>>2]>>2]>>2]|0))break b;if(!(Fy(k[q>>2]|0,k[(k[(k[k[g>>2]>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2]|0,-1)|0))j[(k[t>>2]|0)+16>>1]=(k[o>>2]|0)+1;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[m>>2]=(k[m>>2]|0)+1;k[t>>2]=(k[t>>2]|0)+20}if((v|0)==10){By(k[u>>2]|0,k[l>>2]|0,(k[m>>2]|0)+1|0,k[p>>2]|0);k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==13){k[e>>2]=1;v=k[e>>2]|0;r=w;return v|0}else if((v|0)==20){v=Oy(k[u>>2]|0,k[g>>2]|0,k[h>>2]|0,k[l>>2]|0)|0;k[e>>2]=v;v=k[e>>2]|0;r=w;return v|0}return 0}function yy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+32|0;d=e+8|0;f=e+16|0;c=e+12|0;k[f>>2]=a;k[c>>2]=b;b=k[f>>2]|0;if(k[(k[c>>2]|0)+8>>2]&256){Mh(b,29909,e);r=e;return}else{f=Ny(l[(k[c>>2]|0)+4>>0]|0)|0;k[d>>2]=f;Mh(b,29955,d);r=e;return}}function zy(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,s=0,t=0,u=0,v=0,w=0;w=r;r=r+80|0;v=w+8|0;p=w+64|0;q=w+60|0;c=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;d=w+40|0;f=w+36|0;m=w+32|0;e=w+28|0;h=w+24|0;g=w+20|0;n=w+16|0;o=w+12|0;k[q>>2]=a;k[c>>2]=b;k[f>>2]=1;k[u>>2]=k[(k[c>>2]|0)+44>>2];if(!(k[u>>2]|0)){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}k[d>>2]=k[k[q>>2]>>2];if((k[k[u>>2]>>2]|0)>(k[(k[d>>2]|0)+92+8>>2]|0)){Mh(k[q>>2]|0,29758,w);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;b=(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13|0;i[b>>0]=i[b>>0]&-2;k[s>>2]=(k[s>>2]|0)+1}k[(k[c>>2]|0)+52>>2]=0;while(1){if(!(k[(k[c>>2]|0)+48>>2]|0))break;k[(k[(k[c>>2]|0)+48>>2]|0)+52>>2]=k[c>>2];k[c>>2]=k[(k[c>>2]|0)+48>>2]}a:while(1){if(!((k[c>>2]|0)!=0?(k[f>>2]|0)!=0:0)){c=36;break}k[f>>2]=0;k[t>>2]=k[k[c>>2]>>2];k[s>>2]=0;k[m>>2]=k[(k[u>>2]|0)+4>>2];while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0))break;k[e>>2]=-1;do if(!(i[(k[m>>2]|0)+13>>0]&1)){b=hy(k[k[m>>2]>>2]|0)|0;k[h>>2]=b;if(Ay(k[h>>2]|0,e)|0){if((k[e>>2]|0)<=0){c=18;break a}if((k[e>>2]|0)>(k[k[t>>2]>>2]|0)){c=18;break a}}else{b=Cy(k[q>>2]|0,k[t>>2]|0,k[h>>2]|0)|0;k[e>>2]=b;if(!(k[e>>2]|0)){b=Dy(k[d>>2]|0,k[h>>2]|0,0)|0;k[g>>2]=b;if(!(i[(k[d>>2]|0)+69>>0]|0)){b=Ey(k[q>>2]|0,k[c>>2]|0,k[g>>2]|0)|0;k[e>>2]=b}nv(k[d>>2]|0,k[g>>2]|0)}}if((k[e>>2]|0)<=0){k[f>>2]=1;break}b=Zv(k[d>>2]|0,132,0)|0;k[n>>2]=b;if(!(k[n>>2]|0)){c=25;break a}b=(k[n>>2]|0)+4|0;k[b>>2]=k[b>>2]|1024;k[(k[n>>2]|0)+8>>2]=k[e>>2];if((k[k[m>>2]>>2]|0)==(k[h>>2]|0))k[k[m>>2]>>2]=k[n>>2];else{k[o>>2]=k[k[m>>2]>>2];while(1){if((l[k[(k[o>>2]|0)+12>>2]>>0]|0)!=95)break;k[o>>2]=k[(k[o>>2]|0)+12>>2]}k[(k[o>>2]|0)+12>>2]=k[n>>2]}nv(k[d>>2]|0,k[h>>2]|0);j[(k[m>>2]|0)+16>>1]=k[e>>2];b=(k[m>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2|1}while(0);k[s>>2]=(k[s>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+20}k[c>>2]=k[(k[c>>2]|0)+52>>2]}if((c|0)==18){By(k[q>>2]|0,29687,(k[s>>2]|0)+1|0,k[k[t>>2]>>2]|0);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==25){k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==36){k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[u>>2]>>2]|0)){c=41;break}if(!(i[(k[(k[u>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+13>>0]&1)){c=39;break}k[s>>2]=(k[s>>2]|0)+1}if((c|0)==39){u=k[q>>2]|0;k[v>>2]=(k[s>>2]|0)+1;Mh(u,29792,v);k[p>>2]=1;v=k[p>>2]|0;r=w;return v|0}else if((c|0)==41){k[p>>2]=0;v=k[p>>2]|0;r=w;return v|0}}return 0}function Ay(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;a=k[d>>2]|0;if(k[(k[d>>2]|0)+4>>2]&1024){k[k[e>>2]>>2]=k[a+8>>2];k[c>>2]=1;g=k[c>>2]|0;r=h;return g|0}switch(l[a>>0]|0|0){case 156:{g=Ay(k[(k[d>>2]|0)+12>>2]|0,k[e>>2]|0)|0;k[f>>2]=g;break}case 155:{if(Ay(k[(k[d>>2]|0)+12>>2]|0,g)|0){k[k[e>>2]>>2]=0-(k[g>>2]|0);k[f>>2]=1}break}default:{}}k[c>>2]=k[f>>2];g=k[c>>2]|0;r=h;return g|0}function By(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+32|0;f=e;j=e+24|0;i=e+20|0;g=e+16|0;h=e+12|0;k[j>>2]=a;k[i>>2]=b;k[g>>2]=c;k[h>>2]=d;b=k[j>>2]|0;d=k[i>>2]|0;a=k[h>>2]|0;k[f>>2]=k[g>>2];k[f+4>>2]=d;k[f+8>>2]=a;Mh(b,29853,f);r=e;return}function Cy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;d=j+24|0;e=j+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;k[j+20>>2]=a;k[e>>2]=b;k[f>>2]=c;a:do if((l[k[f>>2]>>0]|0|0)==27){k[i>>2]=k[(k[f>>2]|0)+8>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[e>>2]>>2]|0))break a;k[h>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+4>>2];if((k[h>>2]|0)!=0?(sg(k[h>>2]|0,k[i>>2]|0)|0)==0:0)break;k[g>>2]=(k[g>>2]|0)+1}k[d>>2]=(k[g>>2]|0)+1;i=k[d>>2]|0;r=j;return i|0}while(0);k[d>>2]=0;i=k[d>>2]|0;r=j;return i|0}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;b=Hy(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0,0)|0;r=d;return b|0}function Ey(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0,q=0;h=r;r=r+80|0;g=h+60|0;p=h+56|0;q=h+52|0;d=h+48|0;e=h+44|0;f=h+40|0;o=h+8|0;m=h+4|0;l=h;n=h+64|0;k[p>>2]=a;k[q>>2]=b;k[d>>2]=c;k[f>>2]=k[k[q>>2]>>2];k[o>>2]=0;k[o+4>>2]=0;k[o+8>>2]=0;k[o+12>>2]=0;k[o+16>>2]=0;k[o+20>>2]=0;k[o+24>>2]=0;k[o+28>>2]=0;k[o>>2]=k[p>>2];k[o+4>>2]=k[(k[q>>2]|0)+28>>2];k[o+8>>2]=k[f>>2];j[o+28>>1]=1;k[o+24>>2]=0;k[m>>2]=k[k[p>>2]>>2];i[n>>0]=i[(k[m>>2]|0)+73>>0]|0;i[(k[m>>2]|0)+73>>0]=1;b=vy(o,k[d>>2]|0)|0;k[l>>2]=b;i[(k[m>>2]|0)+73>>0]=i[n>>0]|0;if(k[l>>2]|0){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[f>>2]>>2]|0)){c=8;break}q=(Fy(k[(k[(k[f>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0,k[d>>2]|0,-1)|0)<2;a=(k[e>>2]|0)+1|0;if(q){c=6;break}k[e>>2]=a}if((c|0)==6){k[g>>2]=a;q=k[g>>2]|0;r=h;return q|0}else if((c|0)==8){k[g>>2]=0;q=k[g>>2]|0;r=h;return q|0}return 0}function Fy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((k[e>>2]|0)==0|(k[f>>2]|0)==0){k[d>>2]=(k[f>>2]|0)==(k[e>>2]|0)?0:2;h=k[d>>2]|0;r=i;return h|0}k[h>>2]=k[(k[e>>2]|0)+4>>2]|k[(k[f>>2]|0)+4>>2];c=k[e>>2]|0;if(k[h>>2]&1024){if((k[c+4>>2]&k[(k[f>>2]|0)+4>>2]&1024|0)!=0?(k[(k[e>>2]|0)+8>>2]|0)==(k[(k[f>>2]|0)+8>>2]|0):0){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}a=l[k[e>>2]>>0]|0;if((l[c>>0]|0)!=(l[k[f>>2]>>0]|0)){if((a|0)==95?(Fy(k[(k[e>>2]|0)+12>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}if((l[k[f>>2]>>0]|0)==95?(Fy(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)<2:0){k[d>>2]=1;h=k[d>>2]|0;r=i;return h|0}k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(((a|0)!=152?(l[k[e>>2]>>0]|0)!=154:0)?(k[(k[e>>2]|0)+8>>2]|0)!=0:0){c=k[(k[e>>2]|0)+8>>2]|0;a=k[(k[f>>2]|0)+8>>2]|0;if((l[k[e>>2]>>0]|0)==151){if(!(sg(c,a)|0))break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}else{if(!(RQ(c,a)|0))break;k[d>>2]=(l[k[e>>2]>>0]|0)==95?1:2;h=k[d>>2]|0;r=i;return h|0}}while(0);if((k[(k[e>>2]|0)+4>>2]&16|0)!=(k[(k[f>>2]|0)+4>>2]&16|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}do if(!(k[h>>2]&16384)){if(k[h>>2]&2048){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Fy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Fy(k[(k[e>>2]|0)+16>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if(Gy(k[(k[e>>2]|0)+20>>2]|0,k[(k[f>>2]|0)+20>>2]|0,k[g>>2]|0)|0){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[h>>2]&8192|0)==0?(l[k[e>>2]>>0]|0)!=97:0){if((j[(k[e>>2]|0)+32>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0)){k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}if((k[(k[e>>2]|0)+28>>2]|0)!=(k[(k[f>>2]|0)+28>>2]|0)){if((k[(k[e>>2]|0)+28>>2]|0)==(k[g>>2]|0)?(k[(k[f>>2]|0)+28>>2]|0)<0:0)break;k[d>>2]=2;h=k[d>>2]|0;r=i;return h|0}}}while(0);k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function Gy(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;j=m+24|0;d=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if((k[d>>2]|0)==0&(k[e>>2]|0)==0){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}if((k[d>>2]|0)==0|(k[e>>2]|0)==0){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}if((k[k[d>>2]>>2]|0)!=(k[k[e>>2]>>2]|0)){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[k[d>>2]>>2]|0)){d=14;break}k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];k[i>>2]=k[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2];if((l[(k[(k[d>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)!=(l[(k[(k[e>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)+12>>0]|0|0)){d=10;break}if(Fy(k[h>>2]|0,k[i>>2]|0,k[f>>2]|0)|0){d=12;break}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==10){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==12){k[j>>2]=1;j=k[j>>2]|0;r=m;return j|0}else if((d|0)==14){k[j>>2]=0;j=k[j>>2]|0;r=m;return j|0}return 0}function Hy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+64|0;m=t+48|0;n=t+44|0;o=t+40|0;p=t+36|0;q=t+32|0;l=t+28|0;s=t+24|0;i=t+20|0;g=t+16|0;e=t+12|0;h=t+8|0;f=t+4|0;j=t;k[m>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=0;if(!(k[n>>2]|0)){s=k[q>>2]|0;r=t;return s|0}k[l>>2]=k[o>>2]&1;k[i>>2]=0;if(k[p>>2]|0){k[s>>2]=k[k[p>>2]>>2];k[i>>2]=32768}else{b=k[m>>2]|0;d=Iy(k[n>>2]|0,k[o>>2]|0)|0;d=Vw(b,d,((d|0)<0)<<31>>31)|0;k[s>>2]=d}k[q>>2]=k[s>>2];if(!(k[q>>2]|0)){s=k[q>>2]|0;r=t;return s|0}d=Jy(k[n>>2]|0,k[o>>2]|0)|0;k[g>>2]=d;k[e>>2]=k[g>>2]&4095;if((k[(k[n>>2]|0)+4>>2]&1024|0)==0?(k[(k[n>>2]|0)+8>>2]|0)!=0:0){d=(Tf(k[(k[n>>2]|0)+8>>2]|0)|0)+1|0;k[h>>2]=d}else k[h>>2]=0;if(!(k[l>>2]|0)){d=Ky(k[n>>2]|0)|0;k[f>>2]=d;BR(k[s>>2]|0,k[n>>2]|0,k[f>>2]|0)|0;if((k[f>>2]|0)>>>0<48)DR((k[s>>2]|0)+(k[f>>2]|0)|0,0,48-(k[f>>2]|0)|0)|0}else BR(k[s>>2]|0,k[n>>2]|0,k[e>>2]|0)|0;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]&-122881;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[g>>2]&24576;d=(k[q>>2]|0)+4|0;k[d>>2]=k[d>>2]|k[i>>2];if(k[h>>2]|0){i=(k[s>>2]|0)+(k[e>>2]|0)|0;k[(k[q>>2]|0)+8>>2]=i;k[j>>2]=i;BR(k[j>>2]|0,k[(k[n>>2]|0)+8>>2]|0,k[h>>2]|0)|0}do if(!((k[(k[n>>2]|0)+4>>2]|k[(k[q>>2]|0)+4>>2])&16384)){c=k[m>>2]|0;a=(k[n>>2]|0)+20|0;if(k[(k[n>>2]|0)+4>>2]&2048){l=Xx(c,k[a>>2]|0,k[l>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=l;break}else{l=Ly(c,k[a>>2]|0,k[l>>2]|0)|0;k[(k[q>>2]|0)+20>>2]=l;break}}while(0);a=k[n>>2]|0;if(!(k[(k[q>>2]|0)+4>>2]&24576)){if(k[a+4>>2]&16384){s=k[q>>2]|0;r=t;return s|0}s=Dy(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,0)|0;k[(k[q>>2]|0)+12>>2]=s;s=Dy(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,0)|0;k[(k[q>>2]|0)+16>>2]=s;s=k[q>>2]|0;r=t;return s|0}o=My(a,k[o>>2]|0)|0;k[s>>2]=(k[s>>2]|0)+o;if(k[(k[q>>2]|0)+4>>2]&8192){o=Hy(k[m>>2]|0,k[(k[n>>2]|0)+12>>2]|0,1,s)|0;k[(k[q>>2]|0)+12>>2]=o;o=Hy(k[m>>2]|0,k[(k[n>>2]|0)+16>>2]|0,1,s)|0;k[(k[q>>2]|0)+16>>2]=o}if(!(k[p>>2]|0)){s=k[q>>2]|0;r=t;return s|0}k[k[p>>2]>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}function Iy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;if(!(k[c>>2]|0)){a=k[e>>2]|0;r=f;return a|0}a=My(k[c>>2]|0,k[d>>2]|0)|0;k[e>>2]=a;if(!(k[d>>2]&1)){a=k[e>>2]|0;r=f;return a|0}a=Iy(k[(k[c>>2]|0)+12>>2]|0,k[d>>2]|0)|0;a=a+(Iy(k[(k[c>>2]|0)+16>>2]|0,k[d>>2]|0)|0)|0;k[e>>2]=(k[e>>2]|0)+a;a=k[e>>2]|0;r=f;return a|0}function Jy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;do if(!(k[f>>2]&1))k[d>>2]=48;else{if((k[(k[c>>2]|0)+12>>2]|0)==0?(k[(k[c>>2]|0)+20>>2]|0)==0:0){k[d>>2]=16396;break}k[d>>2]=8220}while(0);r=e;return k[d>>2]|0}function Ky(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;do if(!(k[(k[c>>2]|0)+4>>2]&16384))if(k[(k[c>>2]|0)+4>>2]&8192){k[b>>2]=28;break}else{k[b>>2]=48;break}else k[b>>2]=12;while(0);r=d;return k[b>>2]|0}function Ly(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,m=0,n=0,o=0,p=0;p=r;r=r+48|0;d=p+32|0;e=p+28|0;f=p+24|0;g=p+20|0;m=p+16|0;j=p+12|0;o=p+8|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(k[f>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=Vw(k[e>>2]|0,8,0)|0;k[m>>2]=b;if(!(k[m>>2]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}b=k[k[f>>2]>>2]|0;k[h>>2]=b;k[k[m>>2]>>2]=b;a:do if(!(k[g>>2]&1)){k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[h>>2]|0)}}while(0);b=Vw(k[e>>2]|0,(k[h>>2]|0)*20|0,0)|0;k[j>>2]=b;k[(k[m>>2]|0)+4>>2]=b;if(!(k[j>>2]|0)){bg(k[e>>2]|0,k[m>>2]|0);k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}k[o>>2]=k[(k[f>>2]|0)+4>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(k[k[f>>2]>>2]|0))break;k[n>>2]=k[k[o>>2]>>2];b=Dy(k[e>>2]|0,k[n>>2]|0,k[g>>2]|0)|0;k[k[j>>2]>>2]=b;b=zh(k[e>>2]|0,k[(k[o>>2]|0)+4>>2]|0)|0;k[(k[j>>2]|0)+4>>2]=b;b=zh(k[e>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0;k[(k[j>>2]|0)+8>>2]=b;i[(k[j>>2]|0)+12>>0]=i[(k[o>>2]|0)+12>>0]|0;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-2;b=(k[j>>2]|0)+13|0;i[b>>0]=i[b>>0]&-3|((l[(k[o>>2]|0)+13>>0]|0)>>>1&1)<<1&255;k[(k[j>>2]|0)+16>>2]=k[(k[o>>2]|0)+16>>2];k[h>>2]=(k[h>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+20;k[o>>2]=(k[o>>2]|0)+20}k[d>>2]=k[m>>2];o=k[d>>2]|0;r=p;return o|0}function My(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;a=(Jy(k[c>>2]|0,k[f>>2]|0)|0)&4095;k[d>>2]=a;if((k[(k[c>>2]|0)+4>>2]&1024|0)==0?(k[(k[c>>2]|0)+8>>2]|0)!=0:0){f=(Tf(k[(k[c>>2]|0)+8>>2]|0)|0)+1|0;k[d>>2]=(k[d>>2]|0)+f}r=e;return (k[d>>2]|0)+7&-8|0}function Ny(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;switch(k[d>>2]|0){case 116:{k[b>>2]=30037;break}case 118:{k[b>>2]=30047;break}case 117:{k[b>>2]=30057;break}default:k[b>>2]=30064}r=c;return k[b>>2]|0}function Oy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;g=t;o=t+36|0;h=t+32|0;e=t+28|0;i=t+24|0;p=t+20|0;q=t+16|0;f=t+12|0;s=t+8|0;n=t+4|0;k[h>>2]=a;k[e>>2]=b;k[i>>2]=c;k[p>>2]=d;k[f>>2]=k[k[h>>2]>>2];if((k[i>>2]|0)!=0?(l[(k[k[h>>2]>>2]|0)+69>>0]|0)==0:0){if((k[k[i>>2]>>2]|0)>(k[(k[f>>2]|0)+92+8>>2]|0)){s=k[h>>2]|0;k[g>>2]=k[p>>2];Mh(s,30070,g);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}k[s>>2]=k[k[e>>2]>>2];k[q>>2]=0;k[n>>2]=k[(k[i>>2]|0)+4>>2];while(1){if((k[q>>2]|0)>=(k[k[i>>2]>>2]|0)){e=13;break}if(j[(k[n>>2]|0)+16>>1]|0){f=k[h>>2]|0;if((m[(k[n>>2]|0)+16>>1]|0)>(k[k[s>>2]>>2]|0)){e=10;break}Py(f,k[s>>2]|0,(m[(k[n>>2]|0)+16>>1]|0)-1|0,k[k[n>>2]>>2]|0,k[p>>2]|0,0)}k[q>>2]=(k[q>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}if((e|0)==10){By(f,k[p>>2]|0,(k[q>>2]|0)+1|0,k[k[s>>2]>>2]|0);k[o>>2]=1;s=k[o>>2]|0;r=t;return s|0}else if((e|0)==13){k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}}k[o>>2]=0;s=k[o>>2]|0;r=t;return s|0}function Py(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0;p=r;r=r+48|0;g=p+32|0;t=p+28|0;s=p+24|0;m=p+20|0;h=p+16|0;j=p+12|0;q=p+8|0;o=p+4|0;n=p;k[g>>2]=a;k[t>>2]=b;k[s>>2]=c;k[m>>2]=d;k[h>>2]=e;k[j>>2]=f;k[q>>2]=k[(k[(k[t>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[n>>2]=k[k[g>>2]>>2];e=Dy(k[n>>2]|0,k[q>>2]|0,0)|0;k[o>>2]=e;if(!(k[o>>2]|0)){r=p;return}if((i[k[h>>2]>>0]|0)!=71)Qy(k[o>>2]|0,k[j>>2]|0);if((l[k[m>>2]>>0]|0)==95){t=Ry(k[g>>2]|0,k[o>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[o>>2]=t}g=(k[o>>2]|0)+4|0;k[g>>2]=k[g>>2]|4194304;g=(k[m>>2]|0)+4|0;k[g>>2]=k[g>>2]|32768;nv(k[n>>2]|0,k[m>>2]|0);g=k[m>>2]|0;h=k[o>>2]|0;j=g+48|0;do{k[g>>2]=k[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));if((k[(k[m>>2]|0)+4>>2]&1024|0)==0?(k[(k[m>>2]|0)+8>>2]|0)!=0:0){t=zh(k[n>>2]|0,k[(k[m>>2]|0)+8>>2]|0)|0;k[(k[m>>2]|0)+8>>2]=t;t=(k[m>>2]|0)+4|0;k[t>>2]=k[t>>2]|65536}bg(k[n>>2]|0,k[o>>2]|0);r=p;return}function Qy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+48|0;c=f+32|0;d=f+28|0;e=f;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)<=0){r=f;return};k[e>>2]=0;k[e+4>>2]=0;k[e+8>>2]=0;k[e+12>>2]=0;k[e+16>>2]=0;k[e+20>>2]=0;k[e+24>>2]=0;k[e+4>>2]=195;k[e+24>>2]=k[d>>2];ry(e,k[c>>2]|0)|0;r=f;return}function Ry(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=r;r=r+32|0;g=d+16|0;f=d+12|0;h=d+8|0;e=d;k[g>>2]=a;k[f>>2]=b;k[h>>2]=c;Sy(e,k[h>>2]|0);c=mw(k[g>>2]|0,k[f>>2]|0,e,0)|0;r=d;return c|0}function Sy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];b=Tf(k[e>>2]|0)|0;k[(k[d>>2]|0)+4>>2]=b;r=c;return}function Ty(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((l[k[d>>2]>>0]|0|0)!=153){r=e;return 0}a=(k[d>>2]|0)+38|0;i[a>>0]=(l[a>>0]|0)+(k[(k[c>>2]|0)+24>>2]|0);r=e;return 0}function Uy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;f=g;c=g+16|0;h=g+12|0;e=g+8|0;d=g+4|0;k[c>>2]=a;k[h>>2]=b;k[e>>2]=0;k[d>>2]=k[(k[k[c>>2]>>2]|0)+92+12>>2];if((k[h>>2]|0)<=(k[d>>2]|0)){h=k[e>>2]|0;r=g;return h|0}h=k[c>>2]|0;k[f>>2]=k[d>>2];Mh(h,30101,f);k[e>>2]=1;h=k[e>>2]|0;r=g;return h|0} +function VC(a,b,c,d,e,f,g,h,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;p=p|0;q=q|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=r;r=r+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;k[E>>2]=a;k[F>>2]=b;k[H>>2]=c;k[I>>2]=d;k[J>>2]=e;k[K>>2]=f;k[L>>2]=g;i[M>>0]=h;i[N>>0]=n;k[O>>2]=o;k[G>>2]=p;k[s>>2]=q;k[da>>2]=0;k[ja>>2]=0;k[X>>2]=0;k[W>>2]=0;i[R>>0]=0;k[ia>>2]=-1;i[Y>>0]=(k[L>>2]|0)!=0;k[S>>2]=k[k[E>>2]>>2];g=dx(k[E>>2]|0)|0;k[ka>>2]=g;k[w>>2]=j[(k[F>>2]|0)+34>>1];if(!(l[(k[F>>2]|0)+42>>0]&32)){k[da>>2]=0;k[_>>2]=1}else{g=Rj(k[F>>2]|0)|0;k[da>>2]=g;k[_>>2]=m[(k[da>>2]|0)+50>>1]}k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[w>>2]|0))break;a:do if((k[T>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0)){if((k[s>>2]|0)!=0?(k[(k[s>>2]|0)+(k[T>>2]<<2)>>2]|0)<0:0)break;k[$>>2]=l[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+12>>0];if(k[$>>2]|0){if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if((k[$>>2]|0)==5?(k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0)==0:0)k[$>>2]=2;switch(k[$>>2]|0){case 2:{Rx(k[E>>2]|0);break}case 3:case 1:break;case 4:{fx(k[ka>>2]|0,76,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[O>>2]|0)|0;break a}default:{g=Nz(k[ka>>2]|0,77,(k[K>>2]|0)+1+(k[T>>2]|0)|0)|0;k[t>>2]=g;NA(k[E>>2]|0,k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)+4>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0);Vz(k[ka>>2]|0,k[t>>2]|0);break a}}g=k[S>>2]|0;f=k[(k[(k[F>>2]|0)+4>>2]|0)+(k[T>>2]<<4)>>2]|0;k[A>>2]=k[k[F>>2]>>2];k[A+4>>2]=f;g=Nh(g,30741,A)|0;k[B>>2]=g;ix(k[ka>>2]|0,20,1299,k[$>>2]|0,(k[K>>2]|0)+1+(k[T>>2]|0)|0,k[B>>2]|0,-1)|0;Rh(k[ka>>2]|0,1)}}while(0);k[T>>2]=(k[T>>2]|0)+1}b:do if((k[(k[F>>2]|0)+24>>2]|0)!=0?(k[(k[S>>2]|0)+24>>2]&8192|0)==0:0){k[x>>2]=k[(k[F>>2]|0)+24>>2];k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;k[$>>2]=(l[N>>0]|0)!=10?l[N>>0]|0:2;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(k[k[x>>2]>>2]|0))break b;k[y>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2];if(!((k[s>>2]|0)!=0?(SE(k[y>>2]|0,k[s>>2]|0,l[M>>0]|0)|0)!=0:0)){B=Sz(k[ka>>2]|0)|0;k[v>>2]=B;aB(k[E>>2]|0,k[y>>2]|0,k[v>>2]|0,16);if((k[$>>2]|0)==4)Uz(k[ka>>2]|0,k[O>>2]|0)|0;else{k[C>>2]=k[(k[(k[x>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)+4>>2];if(!(k[C>>2]|0))k[C>>2]=k[k[F>>2]>>2];if((k[$>>2]|0)==5)k[$>>2]=2;rA(k[E>>2]|0,275,k[$>>2]|0,k[C>>2]|0,0,3)}Wz(k[ka>>2]|0,k[v>>2]|0)}k[T>>2]=(k[T>>2]|0)+1}}while(0);if((l[M>>0]|0)!=0&(k[da>>2]|0)==0){C=Sz(k[ka>>2]|0)|0;k[u>>2]=C;k[$>>2]=l[(k[F>>2]|0)+43>>0];if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];if(i[Y>>0]|0){jx(k[ka>>2]|0,79,k[K>>2]|0,k[u>>2]|0,k[L>>2]|0)|0;Rh(k[ka>>2]|0,-112)}c:do if((k[$>>2]|0)==5?(l[N>>0]|0)!=5:0){k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break c;if((l[(k[ca>>2]|0)+54>>0]|0)==4)break;if((l[(k[ca>>2]|0)+54>>0]|0)==3)break;k[ca>>2]=k[(k[ca>>2]|0)+20>>2]}C=mx(k[ka>>2]|0,13)|0;k[X>>2]=C}while(0);jx(k[ka>>2]|0,70,k[I>>2]|0,k[u>>2]|0,k[K>>2]|0)|0;switch(k[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{k[z>>2]=0;if(k[(k[S>>2]|0)+24>>2]&262144){C=IC(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[z>>2]=C}if((k[z>>2]|0)==0?(UE(k[E>>2]|0,k[F>>2]|0,0,0)|0)==0:0){if(k[(k[F>>2]|0)+8>>2]|0){VE(k[E>>2]|0);XE(k[E>>2]|0,k[F>>2]|0,k[I>>2]|0,k[J>>2]|0,0,-1)}}else{VE(k[E>>2]|0);WE(k[E>>2]|0,k[F>>2]|0,k[z>>2]|0,k[I>>2]|0,k[J>>2]|0,k[K>>2]|0,1,0,5,1,-1)}k[ja>>2]=1;break}case 4:{Uz(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[$>>2]=2;D=55}}if((D|0)==55)TE(k[E>>2]|0,k[$>>2]|0,k[F>>2]|0);Wz(k[ka>>2]|0,k[u>>2]|0);if(k[X>>2]|0){D=mx(k[ka>>2]|0,13)|0;k[W>>2]=D;Vz(k[ka>>2]|0,k[X>>2]|0)}}k[Z>>2]=0;k[ca>>2]=k[(k[F>>2]|0)+8>>2];while(1){if(!(k[ca>>2]|0))break;do if(k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0){if(!(l[R>>0]|0)){QC(k[ka>>2]|0,k[F>>2]|0,(k[K>>2]|0)+1|0);i[R>>0]=1}k[V>>2]=(k[J>>2]|0)+(k[Z>>2]|0);D=Sz(k[ka>>2]|0)|0;k[Q>>2]=D;if(k[(k[ca>>2]|0)+36>>2]|0){fx(k[ka>>2]|0,25,0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;zA(k[E>>2]|0,k[(k[ca>>2]|0)+36>>2]|0,k[Q>>2]|0,16);k[(k[E>>2]|0)+100>>2]=0}D=AA(k[E>>2]|0,m[(k[ca>>2]|0)+52>>1]|0)|0;k[ga>>2]=D;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[ca>>2]|0)+52>>1]|0))break;k[U>>2]=j[(k[(k[ca>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];do if((k[U>>2]|0)==-2){k[(k[E>>2]|0)+100>>2]=(k[K>>2]|0)+1;IA(k[E>>2]|0,k[(k[(k[(k[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((k[T>>2]|0)*20|0)>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0);k[(k[E>>2]|0)+100>>2]=0}else{if((k[U>>2]|0)!=-1?(k[U>>2]|0)!=(j[(k[F>>2]|0)+32>>1]|0):0)k[la>>2]=(k[U>>2]|0)+(k[K>>2]|0)+1;else{if((k[ia>>2]|0)==((k[ga>>2]|0)+(k[T>>2]|0)|0))break;k[la>>2]=k[K>>2];if(k[(k[ca>>2]|0)+36>>2]|0)s=-1;else s=(k[ga>>2]|0)+(k[T>>2]|0)|0;k[ia>>2]=s}fx(k[ka>>2]|0,(k[U>>2]|0)<0?32:31,k[la>>2]|0,(k[ga>>2]|0)+(k[T>>2]|0)|0)|0}while(0);k[T>>2]=(k[T>>2]|0)+1}jx(k[ka>>2]|0,49,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0,k[(k[H>>2]|0)+(k[Z>>2]<<2)>>2]|0)|0;SA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if(((l[Y>>0]|0)!=0?(k[da>>2]|0)==(k[ca>>2]|0):0)?(l[M>>0]|0)==0:0){Wz(k[ka>>2]|0,k[Q>>2]|0);break}k[$>>2]=l[(k[ca>>2]|0)+54>>0];if(!(k[$>>2]|0)){DA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);Wz(k[ka>>2]|0,k[Q>>2]|0);break}if((l[N>>0]|0)==10){if((k[$>>2]|0)==10)k[$>>2]=2}else k[$>>2]=l[N>>0];Qh(k[ka>>2]|0,67,k[V>>2]|0,k[Q>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+50>>1]|0)|0;if((k[ca>>2]|0)==(k[da>>2]|0))s=k[ga>>2]|0;else s=AA(k[E>>2]|0,k[_>>2]|0)|0;k[ha>>2]=s;d:do if((l[Y>>0]|0)!=0|(k[$>>2]|0)==5){if(!(l[(k[F>>2]|0)+42>>0]&32)){fx(k[ka>>2]|0,113,k[V>>2]|0,k[ha>>2]|0)|0;if(!(i[Y>>0]|0))break;jx(k[ka>>2]|0,79,k[ha>>2]|0,k[Q>>2]|0,k[L>>2]|0)|0;Rh(k[ka>>2]|0,-112);break}e:do if((k[ca>>2]|0)!=(k[da>>2]|0)){k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break e;D=(KA(k[ca>>2]|0,j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1]|0)|0)<<16>>16;k[ma>>2]=D;jx(k[ka>>2]|0,47,k[V>>2]|0,k[ma>>2]|0,(k[ha>>2]|0)+(k[T>>2]|0)|0)|0;k[T>>2]=(k[T>>2]|0)+1}}while(0);if(i[Y>>0]|0){D=Rz(k[ka>>2]|0)|0;k[P>>2]=D+(m[(k[da>>2]|0)+50>>1]|0);k[aa>>2]=78;k[fa>>2]=(i[(k[ca>>2]|0)+55>>0]&3|0)==2?k[ga>>2]|0:k[ha>>2]|0;k[T>>2]=0;while(1){if((k[T>>2]|0)>=(m[(k[da>>2]|0)+50>>1]|0))break d;D=Tz(k[E>>2]|0,k[(k[(k[da>>2]|0)+32>>2]|0)+(k[T>>2]<<2)>>2]|0)|0;k[ba>>2]=D;k[ma>>2]=j[(k[(k[da>>2]|0)+4>>2]|0)+(k[T>>2]<<1)>>1];if((k[T>>2]|0)==((m[(k[da>>2]|0)+50>>1]|0)-1|0)){k[P>>2]=k[Q>>2];k[aa>>2]=79}ix(k[ka>>2]|0,k[aa>>2]|0,(k[L>>2]|0)+1+(k[ma>>2]|0)|0,k[P>>2]|0,(k[fa>>2]|0)+(k[T>>2]|0)|0,k[ba>>2]|0,-4)|0;Rh(k[ka>>2]|0,-112);k[T>>2]=(k[T>>2]|0)+1}}}while(0);switch(k[$>>2]|0){case 3:case 2:case 1:{nA(k[E>>2]|0,k[$>>2]|0,k[ca>>2]|0);break}case 4:{Uz(k[ka>>2]|0,k[O>>2]|0)|0;break}default:{k[ea>>2]=0;VE(k[E>>2]|0);if(k[(k[S>>2]|0)+24>>2]&262144){D=IC(k[E>>2]|0,k[F>>2]|0,109,0,0)|0;k[ea>>2]=D}WE(k[E>>2]|0,k[F>>2]|0,k[ea>>2]|0,k[I>>2]|0,k[J>>2]|0,k[ha>>2]|0,k[_>>2]&65535,0,5,((k[ca>>2]|0)==(k[da>>2]|0)?1:0)&255,-1);k[ja>>2]=1}}Wz(k[ka>>2]|0,k[Q>>2]|0);DA(k[E>>2]|0,k[ga>>2]|0,m[(k[ca>>2]|0)+52>>1]|0);if((k[ha>>2]|0)!=(k[ga>>2]|0))DA(k[E>>2]|0,k[ha>>2]|0,k[_>>2]|0)}while(0);k[ca>>2]=k[(k[ca>>2]|0)+20>>2];k[Z>>2]=(k[Z>>2]|0)+1}if(!(k[X>>2]|0)){la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}Uz(k[ka>>2]|0,(k[X>>2]|0)+1|0)|0;Vz(k[ka>>2]|0,k[W>>2]|0);la=k[ja>>2]|0;ma=k[G>>2]|0;k[ma>>2]=la;r=na;return}function WC(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+112|0;g=O+108|0;h=O+104|0;m=O+100|0;n=O+96|0;o=O+92|0;p=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;q=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;k[g>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[v>>2]=k[k[g>>2]>>2];k[C>>2]=l[(k[g>>2]|0)+442>>0];if(!(k[(k[v>>2]|0)+24>>2]&524288)){r=O;return}c=Ph(k[v>>2]|0,k[(k[h>>2]|0)+64>>2]|0)|0;k[z>>2]=c;k[M>>2]=k[(k[(k[v>>2]|0)+16>>2]|0)+(k[z>>2]<<4)>>2];k[D>>2]=k[(k[h>>2]|0)+16>>2];a:while(1){if(!(k[D>>2]|0)){N=39;break}k[E>>2]=0;k[t>>2]=0;k[u>>2]=0;if(!(((k[o>>2]|0)!=0?(be(k[k[h>>2]>>2]|0,k[(k[D>>2]|0)+8>>2]|0)|0)!=0:0)?(_C(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(i[(k[g>>2]|0)+442>>0]|0){c=Bi(k[v>>2]|0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}else{c=Lh(k[g>>2]|0,0,k[(k[D>>2]|0)+8>>2]|0,k[M>>2]|0)|0;k[I>>2]=c}if((k[I>>2]|0)!=0?(rC(k[g>>2]|0,k[I>>2]|0,k[D>>2]|0,E,t)|0)==0:0){if(k[t>>2]|0)k[q>>2]=k[t>>2];else{k[y>>2]=k[(k[D>>2]|0)+36>>2];k[q>>2]=y}k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;if((k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]|0)==(j[(k[h>>2]|0)+32>>1]|0))k[(k[q>>2]|0)+(k[x>>2]<<2)>>2]=-1;if(k[(k[v>>2]|0)+296>>2]|0){if(k[E>>2]|0)e=j[(k[(k[E>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0;else e=j[(k[I>>2]|0)+32>>1]|0;k[L>>2]=k[(k[(k[I>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c=cz(k[g>>2]|0,k[k[I>>2]>>2]|0,k[L>>2]|0,k[z>>2]|0)|0;k[J>>2]=c;k[u>>2]=(k[J>>2]|0)==2&1}k[x>>2]=(k[x>>2]|0)+1}Oz(k[g>>2]|0,k[z>>2]|0,k[(k[I>>2]|0)+28>>2]|0,0,k[k[I>>2]>>2]|0);c=(k[g>>2]|0)+72|0;k[c>>2]=(k[c>>2]|0)+1;if(k[m>>2]|0)$C(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[m>>2]|0,-1,k[u>>2]|0);if((k[n>>2]|0)!=0?(aD(k[g>>2]|0,k[D>>2]|0)|0)==0:0)$C(k[g>>2]|0,k[z>>2]|0,k[I>>2]|0,k[E>>2]|0,k[D>>2]|0,k[q>>2]|0,k[n>>2]|0,1,k[u>>2]|0);bg(k[v>>2]|0,k[t>>2]|0);break}if(!(k[C>>2]|0)){N=59;break a}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break a}if(!(k[I>>2]|0)){c=dx(k[g>>2]|0)|0;k[K>>2]=c;c=Rz(k[K>>2]|0)|0;k[A>>2]=c+(k[(k[D>>2]|0)+20>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[D>>2]|0)+20>>2]|0))break;k[B>>2]=(k[(k[D>>2]|0)+36+(k[x>>2]<<3)>>2]|0)+(k[m>>2]|0)+1;fx(k[K>>2]|0,76,k[B>>2]|0,k[A>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}fx(k[K>>2]|0,135,l[(k[D>>2]|0)+24>>0]|0,-1)|0}}while(0);k[D>>2]=k[(k[D>>2]|0)+4>>2]}if((N|0)==39){M=Ux(k[h>>2]|0)|0;k[D>>2]=M;b:while(1){if(!(k[D>>2]|0)){N=59;break}k[F>>2]=0;k[s>>2]=0;if(!((k[o>>2]|0)!=0?(bD(k[h>>2]|0,k[D>>2]|0,k[o>>2]|0,k[p>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((i[(k[D>>2]|0)+24>>0]|0)==0?(k[(k[v>>2]|0)+24>>2]&16777216|0)==0:0)?(k[(k[g>>2]|0)+416>>2]|0)==0:0)?(i[(k[g>>2]|0)+20>>0]|0)==0:0)break;if(rC(k[g>>2]|0,k[h>>2]|0,k[D>>2]|0,F,s)|0){if(!(k[C>>2]|0)){N=59;break b}if(l[(k[v>>2]|0)+69>>0]|0){N=59;break b}else break}M=bw(k[v>>2]|0,0,0,0)|0;k[H>>2]=M;if(k[H>>2]|0){k[G>>2]=(k[H>>2]|0)+8;k[(k[G>>2]|0)+16>>2]=k[k[D>>2]>>2];k[(k[G>>2]|0)+8>>2]=k[k[k[D>>2]>>2]>>2];L=(k[(k[G>>2]|0)+16>>2]|0)+36|0;j[L>>1]=(j[L>>1]|0)+1<<16>>16;L=(k[g>>2]|0)+72|0;M=k[L>>2]|0;k[L>>2]=M+1;k[(k[G>>2]|0)+44>>2]=M;if(k[n>>2]|0)cD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[n>>2]|0,-1);if((k[m>>2]|0)!=0?(k[w>>2]=l[(k[D>>2]|0)+25+((k[o>>2]|0)!=0&1)>>0],cD(k[g>>2]|0,k[H>>2]|0,k[h>>2]|0,k[F>>2]|0,k[D>>2]|0,k[s>>2]|0,k[m>>2]|0,1),((k[w>>2]|0)!=9?(i[(k[D>>2]|0)+24>>0]|0)==0:0)&(k[w>>2]|0)!=7):0)Rx(k[g>>2]|0);k[(k[G>>2]|0)+8>>2]=0;mv(k[v>>2]|0,k[H>>2]|0)}bg(k[v>>2]|0,k[s>>2]|0)}while(0);k[D>>2]=k[(k[D>>2]|0)+12>>2]}if((N|0)==59){r=O;return}}else if((N|0)==59){r=O;return}}function XC(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+64|0;n=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;i[x>>0]=0;m=dx(k[n>>2]|0)|0;k[D>>2]=m;k[y>>2]=0;k[z>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;if(k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0){i[x>>0]=1;if(k[(k[z>>2]|0)+36>>2]|0){e=k[D>>2]|0;m=k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0;fx(e,76,m,(Rz(k[D>>2]|0)|0)+2|0)|0}fx(k[D>>2]|0,110,(k[q>>2]|0)+(k[y>>2]|0)|0,k[(k[t>>2]|0)+(k[y>>2]<<2)>>2]|0)|0;i[A>>0]=0;i[A>>0]=(k[w>>2]|0)!=0?16:0;if((i[(k[z>>2]|0)+55>>0]&3|0)==2?(l[(k[o>>2]|0)+42>>0]&32|0)!=0:0)i[A>>0]=l[A>>0]|1;Rh(k[D>>2]|0,i[A>>0]|0)}k[z>>2]=k[(k[z>>2]|0)+20>>2];k[y>>2]=(k[y>>2]|0)+1}if(l[(k[o>>2]|0)+42>>0]&32){r=E;return}k[B>>2]=(k[s>>2]|0)+1;m=kA(k[n>>2]|0)|0;k[C>>2]=m;jx(k[D>>2]|0,49,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0,k[C>>2]|0)|0;if(!(i[x>>0]|0))QC(k[D>>2]|0,k[o>>2]|0,0);SA(k[n>>2]|0,k[B>>2]|0,j[(k[o>>2]|0)+34>>1]|0);if(i[(k[n>>2]|0)+18>>0]|0)i[A>>0]=0;else{i[A>>0]=1;i[A>>0]=l[A>>0]|((k[u>>2]|0)!=0?4:2)}if(k[v>>2]|0)i[A>>0]=l[A>>0]|8;if(k[w>>2]|0)i[A>>0]=l[A>>0]|16;jx(k[D>>2]|0,75,k[p>>2]|0,k[C>>2]|0,k[s>>2]|0)|0;if(!(i[(k[n>>2]|0)+18>>0]|0))Uh(k[D>>2]|0,-1,k[k[o>>2]>>2]|0,0);Rh(k[D>>2]|0,i[A>>0]|0);r=E;return}function YC(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;if(!(k[(k[b>>2]|0)+412>>2]|0)){r=c;return}ZC(k[b>>2]|0);r=c;return}function ZC(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;b=l+28|0;g=l+24|0;j=l+20|0;d=l+16|0;c=l+12|0;h=l+8|0;e=l+4|0;f=l;k[b>>2]=a;k[j>>2]=k[(k[b>>2]|0)+8>>2];k[d>>2]=k[k[b>>2]>>2];k[g>>2]=k[(k[b>>2]|0)+412>>2];while(1){if(!(k[g>>2]|0)){b=5;break}k[h>>2]=(k[(k[d>>2]|0)+16>>2]|0)+(k[(k[g>>2]|0)+8>>2]<<4);k[f>>2]=k[(k[g>>2]|0)+12>>2];a=kA(k[b>>2]|0)|0;k[e>>2]=a;Pz(k[b>>2]|0,0,k[(k[g>>2]|0)+8>>2]|0,k[(k[(k[h>>2]|0)+12>>2]|0)+72>>2]|0,55);a=Sh(k[j>>2]|0,5,34897,0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){b=5;break}k[(k[c>>2]|0)+4>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+20+8>>2]=(k[f>>2]|0)+1;k[(k[c>>2]|0)+40+4>>2]=(k[f>>2]|0)-1;k[(k[c>>2]|0)+40+12>>2]=k[e>>2];k[(k[c>>2]|0)+60+8>>2]=k[e>>2];k[(k[c>>2]|0)+60+12>>2]=(k[f>>2]|0)+1;i[(k[c>>2]|0)+60+3>>0]=8;oA(k[b>>2]|0,k[e>>2]|0);k[g>>2]=k[k[g>>2]>>2]}if((b|0)==5){r=l;return}}function _C(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;e=n+20|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+4|0;l=n;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;while(1){if((k[i>>2]|0)>=(k[(k[f>>2]|0)+20>>2]|0)){e=8;break}k[l>>2]=k[(k[f>>2]|0)+36+(k[i>>2]<<3)>>2];if((k[(k[g>>2]|0)+(k[l>>2]<<2)>>2]|0)>=0){e=4;break}if((k[h>>2]|0)!=0?(k[l>>2]|0)==(j[(k[e>>2]|0)+32>>1]|0):0){e=6;break}k[i>>2]=(k[i>>2]|0)+1}if((e|0)==4){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==6){k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else if((e|0)==8){k[m>>2]=0;m=k[m>>2]|0;r=n;return m|0}return 0}function $C(a,b,c,d,e,f,g,h,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=r;r=r+96|0;n=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=m;g=dx(k[n>>2]|0)|0;k[J>>2]=g;k[z>>2]=(k[(k[n>>2]|0)+72>>2]|0)-1;g=Sz(k[J>>2]|0)|0;k[C>>2]=g;if((k[v>>2]|0)<0)fx(k[J>>2]|0,136,l[(k[s>>2]|0)+24>>0]|0,k[C>>2]|0)|0;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[s>>2]|0)+20>>2]|0))break;k[E>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+(k[u>>2]|0)+1;fx(k[J>>2]|0,76,k[E>>2]|0,k[C>>2]|0)|0;k[x>>2]=(k[x>>2]|0)+1}do if(!(k[w>>2]|0)){if(!(k[q>>2]|0)){I=kA(k[n>>2]|0)|0;k[H>>2]=I;fx(k[J>>2]|0,31,(k[k[t>>2]>>2]|0)+1+(k[u>>2]|0)|0,k[H>>2]|0)|0;I=fx(k[J>>2]|0,38,k[H>>2]|0,0)|0;k[B>>2]=I;if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){jx(k[J>>2]|0,79,k[u>>2]|0,k[C>>2]|0,k[H>>2]|0)|0;Rh(k[J>>2]|0,-112)}Pz(k[n>>2]|0,k[z>>2]|0,k[o>>2]|0,k[p>>2]|0,54);jx(k[J>>2]|0,70,k[z>>2]|0,0,k[H>>2]|0)|0;Uz(k[J>>2]|0,k[C>>2]|0)|0;I=k[J>>2]|0;Vz(I,(Rz(k[J>>2]|0)|0)-2|0);Vz(k[J>>2]|0,k[B>>2]|0);oA(k[n>>2]|0,k[H>>2]|0);break}k[F>>2]=k[(k[s>>2]|0)+20>>2];H=AA(k[n>>2]|0,k[F>>2]|0)|0;k[I>>2]=H;H=kA(k[n>>2]|0)|0;k[G>>2]=H;jx(k[J>>2]|0,54,k[z>>2]|0,k[(k[q>>2]|0)+44>>2]|0,k[o>>2]|0)|0;Qz(k[n>>2]|0,k[q>>2]|0);k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;fx(k[J>>2]|0,30,(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0)|0,(k[I>>2]|0)+(k[x>>2]|0)|0)|0;k[x>>2]=(k[x>>2]|0)+1}if((k[v>>2]|0)==1?(k[p>>2]|0)==(k[k[s>>2]>>2]|0):0){H=Rz(k[J>>2]|0)|0;k[A>>2]=H+(k[F>>2]|0)+1;k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[F>>2]|0))break;k[y>>2]=(k[(k[t>>2]|0)+(k[x>>2]<<2)>>2]|0)+1+(k[u>>2]|0);k[D>>2]=(j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)+1+(k[u>>2]|0);if((j[(k[(k[q>>2]|0)+4>>2]|0)+(k[x>>2]<<1)>>1]|0)==(j[(k[p>>2]|0)+32>>1]|0))k[D>>2]=k[u>>2];jx(k[J>>2]|0,78,k[y>>2]|0,k[A>>2]|0,k[D>>2]|0)|0;Rh(k[J>>2]|0,16);k[x>>2]=(k[x>>2]|0)+1}Uz(k[J>>2]|0,k[C>>2]|0)|0}d=k[J>>2]|0;a=k[I>>2]|0;c=k[F>>2]|0;g=k[G>>2]|0;H=sC(k[k[n>>2]>>2]|0,k[q>>2]|0)|0;ix(d,49,a,c,g,H,k[F>>2]|0)|0;Qh(k[J>>2]|0,69,k[z>>2]|0,k[C>>2]|0,k[G>>2]|0,0)|0;oA(k[n>>2]|0,k[G>>2]|0);DA(k[n>>2]|0,k[I>>2]|0,k[F>>2]|0)}while(0);if((((i[(k[s>>2]|0)+24>>0]|0)==0?(k[(k[k[n>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(k[(k[n>>2]|0)+416>>2]|0)==0:0)?(i[(k[n>>2]|0)+20>>0]|0)==0:0){rA(k[n>>2]|0,787,2,0,-2,4);H=k[J>>2]|0;I=k[C>>2]|0;Wz(H,I);I=k[J>>2]|0;J=k[z>>2]|0;Nz(I,61,J)|0;r=K;return}if((k[v>>2]|0)>0?(l[(k[s>>2]|0)+24>>0]|0)==0:0)Rx(k[n>>2]|0);fx(k[J>>2]|0,135,l[(k[s>>2]|0)+24>>0]|0,k[v>>2]|0)|0;H=k[J>>2]|0;I=k[C>>2]|0;Wz(H,I);I=k[J>>2]|0;J=k[z>>2]|0;Nz(I,61,J)|0;r=K;return}function aD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;k[h>>2]=a;k[d>>2]=b;b=k[h>>2]|0;if(k[(k[h>>2]|0)+416>>2]|0)b=k[b+416>>2]|0;k[f>>2]=b;do if(k[(k[f>>2]|0)+532>>2]|0){k[e>>2]=k[k[(k[f>>2]|0)+532>>2]>>2];if(!((k[e>>2]|0)==(k[(k[d>>2]|0)+28>>2]|0)?(l[(k[d>>2]|0)+25>>0]|0|0)==7:0)){if((k[e>>2]|0)!=(k[(k[d>>2]|0)+28+4>>2]|0))break;if((l[(k[d>>2]|0)+25+1>>0]|0|0)!=7)break}k[c>>2]=1;h=k[c>>2]|0;r=g;return h|0}while(0);k[c>>2]=0;h=k[c>>2]|0;r=g;return h|0}function bD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s+20|0;i=s+16|0;m=s+12|0;p=s+8|0;n=s+4|0;o=s;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=0;a:while(1){if((k[m>>2]|0)>=(k[(k[g>>2]|0)+20>>2]|0)){q=14;break}k[p>>2]=k[(k[g>>2]|0)+36+(k[m>>2]<<3)+4>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(j[(k[f>>2]|0)+34>>1]|0))break;if(!((k[(k[h>>2]|0)+(k[n>>2]<<2)>>2]|0)<0?!((k[i>>2]|0)!=0?(k[n>>2]|0)==(j[(k[f>>2]|0)+32>>1]|0):0):0))q=7;do if((q|0)==7){q=0;k[o>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<4);c=k[o>>2]|0;if(k[p>>2]|0)if(!(sg(k[c>>2]|0,k[p>>2]|0)|0)){q=9;break a}else break;else if(l[c+15>>0]&1){q=11;break a}else break}while(0);k[n>>2]=(k[n>>2]|0)+1}k[m>>2]=(k[m>>2]|0)+1}if((q|0)==9){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==11){k[e>>2]=1;q=k[e>>2]|0;r=s;return q|0}else if((q|0)==14){k[e>>2]=0;q=k[e>>2]|0;r=s;return q|0}return 0}function cD(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+144|0;i=O+128|0;n=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;k[i>>2]=a;k[n>>2]=b;k[o>>2]=c;k[p>>2]=d;k[q>>2]=e;k[s>>2]=f;k[t>>2]=g;k[u>>2]=h;k[v>>2]=k[k[i>>2]>>2];k[K>>2]=0;k[z>>2]=0;g=dx(k[i>>2]|0)|0;k[M>>2]=g;if((k[u>>2]|0)<0){g=fx(k[M>>2]|0,136,l[(k[q>>2]|0)+24>>0]|0,0)|0;k[z>>2]=g}k[w>>2]=0;while(1){if((k[w>>2]|0)>=(k[(k[q>>2]|0)+20>>2]|0))break;if(k[p>>2]|0)f=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;else f=-1;j[x>>1]=f;g=dD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[x>>1]|0)|0;k[D>>2]=g;if(k[s>>2]|0)f=k[(k[s>>2]|0)+(k[w>>2]<<2)>>2]|0;else f=k[(k[q>>2]|0)+36>>2]|0;j[x>>1]=f;k[N>>2]=k[(k[(k[k[q>>2]>>2]|0)+4>>2]|0)+(j[x>>1]<<4)>>2];g=Zv(k[v>>2]|0,27,k[N>>2]|0)|0;k[H>>2]=g;g=Hv(k[i>>2]|0,79,k[D>>2]|0,k[H>>2]|0,0)|0;k[B>>2]=g;g=qz(k[v>>2]|0,k[K>>2]|0,k[B>>2]|0)|0;k[K>>2]=g;k[w>>2]=(k[w>>2]|0)+1}if((k[u>>2]|0)>0?(k[o>>2]|0)==(k[k[q>>2]>>2]|0):0){if(!(l[(k[o>>2]|0)+42>>0]&32)){N=dD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,-1)|0;k[E>>2]=N;N=eD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,-1)|0;k[I>>2]=N;N=Hv(k[i>>2]|0,78,k[E>>2]|0,k[I>>2]|0,0)|0;k[F>>2]=N}else{k[A>>2]=0;N=Rj(k[o>>2]|0)|0;k[G>>2]=N;k[w>>2]=0;while(1){if((k[w>>2]|0)>=(m[(k[G>>2]|0)+50>>1]|0))break;j[y>>1]=j[(k[(k[p>>2]|0)+4>>2]|0)+(k[w>>2]<<1)>>1]|0;N=dD(k[i>>2]|0,k[o>>2]|0,k[t>>2]|0,j[y>>1]|0)|0;k[E>>2]=N;N=eD(k[v>>2]|0,k[o>>2]|0,k[(k[n>>2]|0)+8+44>>2]|0,j[y>>1]|0)|0;k[I>>2]=N;N=Hv(k[i>>2]|0,79,k[E>>2]|0,k[I>>2]|0,0)|0;k[C>>2]=N;N=qz(k[v>>2]|0,k[A>>2]|0,k[C>>2]|0)|0;k[A>>2]=N;k[w>>2]=(k[w>>2]|0)+1}N=Hv(k[i>>2]|0,19,k[A>>2]|0,0,0)|0;k[F>>2]=N}N=qz(k[v>>2]|0,k[K>>2]|0,k[F>>2]|0)|0;k[K>>2]=N};k[L>>2]=0;k[L+4>>2]=0;k[L+8>>2]=0;k[L+12>>2]=0;k[L+16>>2]=0;k[L+20>>2]=0;k[L+24>>2]=0;k[L+28>>2]=0;k[L+4>>2]=k[n>>2];k[L>>2]=k[i>>2];vy(L,k[K>>2]|0)|0;N=fD(k[i>>2]|0,k[n>>2]|0,k[K>>2]|0,0,0,0,0)|0;k[J>>2]=N;fx(k[M>>2]|0,135,l[(k[q>>2]|0)+24>>0]|0,k[u>>2]|0)|0;if(k[J>>2]|0)gD(k[J>>2]|0);nv(k[v>>2]|0,k[K>>2]|0);if(!(k[z>>2]|0)){r=O;return}Vz(k[M>>2]|0,k[z>>2]|0);r=O;return}function dD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;e=p+24|0;f=p+20|0;g=p+16|0;h=p+28|0;n=p+12|0;m=p+8|0;o=p+4|0;l=p;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;j[h>>1]=d;k[l>>2]=k[k[e>>2]>>2];c=Zv(k[l>>2]|0,157,0)|0;k[n>>2]=c;if(!(k[n>>2]|0)){o=k[n>>2]|0;r=p;return o|0}if((j[h>>1]|0)>=0?(j[h>>1]|0)!=(j[(k[f>>2]|0)+32>>1]|0):0){k[m>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(j[h>>1]<<4);k[(k[n>>2]|0)+28>>2]=(k[g>>2]|0)+(j[h>>1]|0)+1;i[(k[n>>2]|0)+1>>0]=i[(k[m>>2]|0)+13>>0]|0;k[o>>2]=k[(k[m>>2]|0)+8>>2];if(!(k[o>>2]|0))k[o>>2]=k[k[(k[l>>2]|0)+8>>2]>>2];o=Ry(k[e>>2]|0,k[n>>2]|0,k[o>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}k[(k[n>>2]|0)+28>>2]=k[g>>2];i[(k[n>>2]|0)+1>>0]=68;o=k[n>>2]|0;r=p;return o|0}function eD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0;i=r;r=r+32|0;l=i+12|0;e=i+8|0;f=i+4|0;g=i+16|0;h=i;k[l>>2]=a;k[e>>2]=b;k[f>>2]=c;j[g>>1]=d;b=Zv(k[l>>2]|0,152,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){l=k[h>>2]|0;r=i;return l|0}k[(k[h>>2]|0)+44>>2]=k[e>>2];k[(k[h>>2]|0)+28>>2]=k[f>>2];j[(k[h>>2]|0)+32>>1]=j[g>>1]|0;l=k[h>>2]|0;r=i;return l|0}function fD(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=r;r=r+192|0;h=ca+24|0;p=ca+180|0;q=ca+176|0;s=ca+172|0;n=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;o=ca+152|0;H=ca+148|0;W=ca+144|0;_=ca+140|0;I=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;F=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;D=ca+72|0;T=ca+68|0;V=ca+64|0;C=ca+60|0;J=ca+56|0;y=ca;G=ca+52|0;N=ca+48|0;E=ca+44|0;K=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;k[q>>2]=a;k[s>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[v>>1]=f;k[w>>2]=g;k[_>>2]=k[(k[q>>2]|0)+8>>2];i[z>>0]=0;k[B>>2]=k[k[q>>2]>>2];k[Y>>2]=0;k[Y+4>>2]=0;k[Y+8>>2]=0;k[Y+12>>2]=0;k[Y+16>>2]=0;if((k[t>>2]|0)!=0?(k[k[t>>2]>>2]|0)>=64:0)k[t>>2]=0;k[Y+8>>2]=k[t>>2];if(m[(k[B>>2]|0)+64>>1]&32)j[v>>1]=m[v>>1]&-1025;if((k[k[s>>2]>>2]|0)>64){ba=k[q>>2]|0;k[h>>2]=64;Mh(ba,34917,h);k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}if(m[v>>1]&64)g=1;else g=k[k[s>>2]>>2]|0;k[H>>2]=g;k[o>>2]=816+(((k[H>>2]|0)-1|0)*80|0)+7&-8;f=Bh(k[B>>2]|0,(k[o>>2]|0)+72|0,0)|0;k[W>>2]=f;a:do if(!(i[(k[B>>2]|0)+69>>0]|0)){k[(k[W>>2]|0)+60+4>>2]=-1;k[(k[W>>2]|0)+60>>2]=-1;i[(k[W>>2]|0)+43>>0]=k[H>>2];k[k[W>>2]>>2]=k[q>>2];k[(k[W>>2]|0)+4>>2]=k[s>>2];k[(k[W>>2]|0)+8>>2]=k[t>>2];k[(k[W>>2]|0)+12>>2]=k[u>>2];f=Sz(k[_>>2]|0)|0;k[(k[W>>2]|0)+48>>2]=f;k[(k[W>>2]|0)+52>>2]=f;j[(k[W>>2]|0)+36>>1]=j[v>>1]|0;j[(k[W>>2]|0)+34>>1]=k[w>>2];k[(k[W>>2]|0)+56>>2]=k[(k[q>>2]|0)+428>>2];k[R>>2]=(k[W>>2]|0)+68;k[Y>>2]=k[W>>2];k[Y+4>>2]=(k[W>>2]|0)+328;k[Y+12>>2]=(k[W>>2]|0)+(k[o>>2]|0);nD(k[Y+12>>2]|0);k[k[R>>2]>>2]=0;qD((k[W>>2]|0)+328|0,k[W>>2]|0);rD((k[W>>2]|0)+328|0,k[n>>2]|0,72);k[F>>2]=0;while(1){g=(k[H>>2]|0)==0;if((k[F>>2]|0)>=(k[(k[Y+4>>2]|0)+12>>2]|0))break;if(!(!g?(tB(k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0)|0)==0:0)){$A(k[q>>2]|0,k[(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)>>2]|0,k[(k[W>>2]|0)+52>>2]|0,16);o=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[F>>2]|0)*48|0)+20|0;j[o>>1]=m[o>>1]|4}k[F>>2]=(k[F>>2]|0)+1}if(g){if(k[t>>2]|0)i[(k[W>>2]|0)+38>>0]=k[k[t>>2]>>2];if(m[v>>1]&1024)i[(k[W>>2]|0)+42>>0]=1}k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[k[s>>2]>>2]|0))break;sD(k[R>>2]|0,k[(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)+44>>2]|0);tD(k[q>>2]|0,(k[s>>2]|0)+8+((k[F>>2]|0)*72|0)|0,(k[W>>2]|0)+328|0);k[F>>2]=(k[F>>2]|0)+1}uD(k[s>>2]|0,(k[W>>2]|0)+328|0);if(!(i[(k[B>>2]|0)+69>>0]|0)){do if(m[v>>1]&1024){if(vD(k[q>>2]|0,k[s>>2]|0,(k[W>>2]|0)+328|0,k[u>>2]|0)|0){i[(k[W>>2]|0)+42>>0]=1;break}if(!(k[t>>2]|0)){t=(k[W>>2]|0)+36|0;j[t>>1]=m[t>>1]|512;k[(k[W>>2]|0)+8>>2]=k[u>>2]}}while(0);if(!((k[H>>2]|0)==1?(wD(Y)|0)!=0:0)){t=xD(Y)|0;k[X>>2]=t;if(k[X>>2]|0)break;yD(k[W>>2]|0,0)|0;if(i[(k[B>>2]|0)+69>>0]|0)break;if((k[(k[W>>2]|0)+8>>2]|0)!=0?(yD(k[W>>2]|0,(j[(k[W>>2]|0)+32>>1]|0)+1&65535)|0,(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break}if((k[(k[W>>2]|0)+8>>2]|0)==0?(k[(k[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(k[W>>2]|0)+24|0;k[X>>2]=-1;k[X+4>>2]=-1}if((k[(k[q>>2]|0)+68>>2]|0)==0?(l[(k[B>>2]|0)+69>>0]|0)==0:0){b:do if(((k[u>>2]|0)!=0?(l[(k[W>>2]|0)+43>>0]|0)>=2:0)?(m[(k[B>>2]|0)+64>>1]&1024|0)==0:0){u=zD(k[R>>2]|0,k[u>>2]|0)|0;X=Z;k[X>>2]=u;k[X+4>>2]=L;if(k[Y+8>>2]|0){u=zD(k[R>>2]|0,k[Y+8>>2]|0)|0;t=Z;R=k[t+4>>2]|L;X=Z;k[X>>2]=k[t>>2]|u;k[X+4>>2]=R}while(1){if((l[(k[W>>2]|0)+43>>0]|0)<2)break b;k[Q>>2]=k[(k[W>>2]|0)+736+(((l[(k[W>>2]|0)+43>>0]|0)-1|0)*80|0)+64>>2];if(!(l[(k[(k[W>>2]|0)+4>>2]|0)+8+((l[(k[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((m[v>>1]&1024|0)==0?(k[(k[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(k[Q>>2]|0)+8|0;if((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)break b;k[M>>2]=(k[(k[Y+4>>2]|0)+20>>2]|0)+((k[(k[Y+4>>2]|0)+12>>2]|0)*48|0);k[U>>2]=k[(k[Y+4>>2]|0)+20>>2];while(1){if((k[U>>2]|0)>>>0>=(k[M>>2]|0)>>>0)break;R=(k[U>>2]|0)+40|0;X=(k[Q>>2]|0)+8|0;if(((k[R>>2]&k[X>>2]|0)!=0?1:(k[R+4>>2]&k[X+4>>2]|0)!=0)?(k[(k[k[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;k[U>>2]=(k[U>>2]|0)+48}if((k[U>>2]|0)>>>0<(k[M>>2]|0)>>>0)break b;X=(k[W>>2]|0)+43|0;i[X>>0]=(i[X>>0]|0)+-1<<24>>24;k[H>>2]=(k[H>>2]|0)+-1}}while(0);Z=(k[k[W>>2]>>2]|0)+428|0;k[Z>>2]=(k[Z>>2]|0)+(j[(k[W>>2]|0)+32>>1]|0);do if(m[v>>1]&4){k[$>>2]=k[(k[(k[W>>2]|0)+736+64>>2]|0)+36>>2];k[A>>2]=(k[$>>2]&4096|0)!=0&1;if(!(k[A>>2]|0)){if(!(m[v>>1]&8192))break;if(k[$>>2]&1024)break}i[(k[W>>2]|0)+40>>0]=(k[A>>2]|0)!=0?1:2;if((l[(k[(k[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(k[$>>2]&64|0)!=0:0){if(m[v>>1]&8192)i[z>>0]=8;k[(k[(k[W>>2]|0)+736+64>>2]|0)+36>>2]=k[$>>2]&-65}}while(0);k[F>>2]=0;k[P>>2]=(k[W>>2]|0)+736;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[T>>2]=(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0);k[S>>2]=k[(k[T>>2]|0)+16>>2];$=Ph(k[B>>2]|0,k[(k[S>>2]|0)+64>>2]|0)|0;k[D>>2]=$;k[Q>>2]=k[(k[P>>2]|0)+64>>2];c:do if((l[(k[S>>2]|0)+42>>0]&2|0)==0?(k[(k[S>>2]|0)+12>>2]|0)==0:0){if(k[(k[Q>>2]|0)+36>>2]&1024){$=Qx(k[B>>2]|0,k[S>>2]|0)|0;k[V>>2]=$;k[C>>2]=k[(k[T>>2]|0)+44>>2];ix(k[_>>2]|0,152,k[C>>2]|0,0,0,k[V>>2]|0,-10)|0;break}if(l[(k[S>>2]|0)+42>>0]&16)break;do if(!(k[(k[Q>>2]|0)+36>>2]&64)){if(m[v>>1]&16)break;k[J>>2]=54;if(l[(k[W>>2]|0)+40>>0]|0){k[J>>2]=55;k[(k[W>>2]|0)+60>>2]=k[(k[T>>2]|0)+44>>2]}Pz(k[q>>2]|0,k[(k[T>>2]|0)+44>>2]|0,k[D>>2]|0,k[S>>2]|0,k[J>>2]|0);do if(!(l[(k[W>>2]|0)+40>>0]|0)){if((j[(k[S>>2]|0)+34>>1]|0)>=64)break;if(l[(k[S>>2]|0)+42>>0]&32)break;Y=(k[T>>2]|0)+56|0;Z=k[Y+4>>2]|0;$=y;k[$>>2]=k[Y>>2];k[$+4>>2]=Z;k[G>>2]=0;while(1){$=y;if(!((k[$>>2]|0)!=0|(k[$+4>>2]|0)!=0))break;Z=y;Z=AR(k[Z>>2]|0,k[Z+4>>2]|0,1)|0;$=y;k[$>>2]=Z;k[$+4>>2]=L;k[G>>2]=(k[G>>2]|0)+1}Uh(k[_>>2]|0,-1,k[G>>2]|0,-14)}while(0);Rh(k[_>>2]|0,i[z>>0]|0);break c}while(0);Oz(k[q>>2]|0,k[D>>2]|0,k[(k[S>>2]|0)+28>>2]|0,0,k[k[S>>2]>>2]|0)}while(0);do if(k[(k[Q>>2]|0)+36>>2]&512){k[N>>2]=k[(k[Q>>2]|0)+24+4>>2];k[K>>2]=54;do if(!(l[(k[S>>2]|0)+42>>0]&32))ba=93;else{if((i[(k[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(m[v>>1]&64)){ba=93;break}k[E>>2]=k[(k[P>>2]|0)+4>>2];k[K>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(l[(k[W>>2]|0)+40>>0]|0){k[O>>2]=k[(k[(k[T>>2]|0)+16>>2]|0)+8>>2];k[E>>2]=k[w>>2];while(1){if(!(k[O>>2]|0))break;if((k[O>>2]|0)==(k[N>>2]|0))break;k[E>>2]=(k[E>>2]|0)+1;k[O>>2]=k[(k[O>>2]|0)+20>>2]}k[K>>2]=55;k[(k[W>>2]|0)+60+4>>2]=k[E>>2];break}else{do if(k[w>>2]|0){if(!(m[v>>1]&64))break;k[E>>2]=k[w>>2];if(!(m[v>>1]&4096))break d;k[K>>2]=53;break d}while(0);Z=(k[q>>2]|0)+72|0;$=k[Z>>2]|0;k[Z>>2]=$+1;k[E>>2]=$;break}}while(0);k[(k[P>>2]|0)+8>>2]=k[E>>2];if(!(k[K>>2]|0))break;jx(k[_>>2]|0,k[K>>2]|0,k[E>>2]|0,k[(k[N>>2]|0)+44>>2]|0,k[D>>2]|0)|0;Qz(k[q>>2]|0,k[N>>2]|0);if(!(k[(k[Q>>2]|0)+36>>2]&15))break;if(k[(k[Q>>2]|0)+36>>2]&32770)break;if(m[(k[W>>2]|0)+36>>1]&1)break;Rh(k[_>>2]|0,2)}while(0);if((k[D>>2]|0)>=0)rx(k[q>>2]|0,k[D>>2]|0);k[F>>2]=(k[F>>2]|0)+1;k[P>>2]=(k[P>>2]|0)+80}ba=Rz(k[_>>2]|0)|0;k[(k[W>>2]|0)+44>>2]=ba;if(!(i[(k[B>>2]|0)+69>>0]|0)){ba=I;k[ba>>2]=-1;k[ba+4>>2]=-1;k[F>>2]=0;while(1){if((k[F>>2]|0)>=(k[H>>2]|0))break;k[P>>2]=(k[W>>2]|0)+736+((k[F>>2]|0)*80|0);k[aa>>2]=k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2];if((k[(k[(k[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=I,AD(k[q>>2]|0,(k[W>>2]|0)+328|0,(k[s>>2]|0)+8+((l[(k[P>>2]|0)+44>>0]|0)*72|0)|0,k[ba>>2]|0,k[ba+4>>2]|0,k[P>>2]|0),(i[(k[B>>2]|0)+69>>0]|0)!=0):0)break a;$=BD(k[q>>2]|0,k[s>>2]|0,k[P>>2]|0,k[F>>2]|0,l[(k[P>>2]|0)+44>>0]|0,j[v>>1]|0)|0;k[x>>2]=$;$=Rz(k[_>>2]|0)|0;k[(k[P>>2]|0)+32>>2]=$;$=I;$=CD(k[W>>2]|0,k[F>>2]|0,k[$>>2]|0,k[$+4>>2]|0)|0;ba=I;k[ba>>2]=$;k[ba+4>>2]=L;k[(k[W>>2]|0)+48>>2]=k[(k[P>>2]|0)+24>>2];do if((k[aa>>2]&8192|0)==0?(m[v>>1]&64|0)!=0:0)break;while(0);k[F>>2]=(k[F>>2]|0)+1}k[p>>2]=k[W>>2];ba=k[p>>2]|0;r=ca;return ba|0}}}}else{bg(k[B>>2]|0,k[W>>2]|0);k[W>>2]=0}while(0);if(k[W>>2]|0){k[(k[q>>2]|0)+428>>2]=k[(k[W>>2]|0)+56>>2];iD(k[B>>2]|0,k[W>>2]|0)}k[p>>2]=0;ba=k[p>>2]|0;r=ca;return ba|0}function gD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;g=E+80|0;v=E+76|0;A=E+72|0;n=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;h=E+52|0;c=E+48|0;f=E+44|0;d=E+40|0;e=E+36|0;o=E+32|0;p=E+28|0;u=E+24|0;q=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;k[g>>2]=a;k[v>>2]=k[k[g>>2]>>2];k[A>>2]=k[(k[v>>2]|0)+8>>2];k[z>>2]=k[(k[g>>2]|0)+4>>2];k[h>>2]=k[k[v>>2]>>2];uC(k[v>>2]|0);k[n>>2]=(l[(k[g>>2]|0)+43>>0]|0)-1;while(1){if((k[n>>2]|0)<0)break;k[s>>2]=(k[g>>2]|0)+736+((k[n>>2]|0)*80|0);k[t>>2]=k[(k[s>>2]|0)+64>>2];Wz(k[A>>2]|0,k[(k[s>>2]|0)+24>>2]|0);if((l[(k[s>>2]|0)+45>>0]|0)!=160){jx(k[A>>2]|0,l[(k[s>>2]|0)+45>>0]|0,k[(k[s>>2]|0)+48>>2]|0,k[(k[s>>2]|0)+52>>2]|0,l[(k[s>>2]|0)+46>>0]|0)|0;Rh(k[A>>2]|0,i[(k[s>>2]|0)+47>>0]|0)}a:do if((k[(k[t>>2]|0)+36>>2]&2048|0)!=0?(k[(k[s>>2]|0)+56>>2]|0)>0:0){Wz(k[A>>2]|0,k[(k[s>>2]|0)+16>>2]|0);k[d>>2]=k[(k[s>>2]|0)+56>>2];k[f>>2]=(k[(k[s>>2]|0)+56+4>>2]|0)+(((k[d>>2]|0)-1|0)*12|0);while(1){if((k[d>>2]|0)<=0)break a;Vz(k[A>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)+1|0);fx(k[A>>2]|0,l[(k[f>>2]|0)+8>>0]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;Vz(k[A>>2]|0,(k[(k[f>>2]|0)+4>>2]|0)-1|0);k[d>>2]=(k[d>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+-12}}while(0);Wz(k[A>>2]|0,k[(k[s>>2]|0)+12>>2]|0);if(k[(k[s>>2]|0)+20>>2]|0){Uz(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0)|0;Vz(k[A>>2]|0,k[(k[s>>2]|0)+20>>2]|0);Vz(k[A>>2]|0,(k[(k[s>>2]|0)+20>>2]|0)-2|0)}if(k[(k[s>>2]|0)+40>>2]|0){b=(aA(k[A>>2]|0,(k[(k[s>>2]|0)+40>>2]|0)-1|0)|0)+4|0;if(k[b>>2]|0)k[e>>2]=141;else k[e>>2]=142;fx(k[A>>2]|0,k[e>>2]|0,k[(k[s>>2]|0)+36>>2]|0,k[(k[s>>2]|0)+40>>2]|0)|0}if(k[k[s>>2]>>2]|0){b=Nz(k[A>>2]|0,138,k[k[s>>2]>>2]|0)|0;k[c>>2]=b;if(!(k[(k[t>>2]|0)+36>>2]&64))Nz(k[A>>2]|0,104,k[(k[z>>2]|0)+8+((k[n>>2]|0)*72|0)+44>>2]|0)|0;if(k[(k[t>>2]|0)+36>>2]&512)Nz(k[A>>2]|0,104,k[(k[s>>2]|0)+8>>2]|0)|0;a=k[A>>2]|0;b=k[s>>2]|0;if((l[(k[s>>2]|0)+45>>0]|0)==15)fx(a,14,k[b+48>>2]|0,k[(k[s>>2]|0)+28>>2]|0)|0;else Uz(a,k[b+28>>2]|0)|0;Vz(k[A>>2]|0,k[c>>2]|0)}k[n>>2]=(k[n>>2]|0)+-1}Wz(k[A>>2]|0,k[(k[g>>2]|0)+52>>2]|0);k[n>>2]=0;k[s>>2]=(k[g>>2]|0)+736;while(1){if((k[n>>2]|0)>=(l[(k[g>>2]|0)+43>>0]|0))break;k[q>>2]=0;k[y>>2]=(k[z>>2]|0)+8+((l[(k[s>>2]|0)+44>>0]|0)*72|0);k[x>>2]=k[(k[y>>2]|0)+16>>2];k[t>>2]=k[(k[s>>2]|0)+64>>2];if(((l[(k[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(i[(k[h>>2]|0)+69>>0]|0)==0:0)hD(k[A>>2]|0,k[(k[s>>2]|0)+32>>2]|0,k[(k[s>>2]|0)+4>>2]|0,k[(k[y>>2]|0)+32>>2]|0,0);else D=32;b:do if((D|0)==32){D=0;if(((l[(k[x>>2]|0)+42>>0]&2|0)==0?(k[(k[x>>2]|0)+12>>2]|0)==0:0)?(m[(k[g>>2]|0)+36>>1]&16|0)==0:0){k[B>>2]=k[(k[t>>2]|0)+36>>2];if((l[(k[g>>2]|0)+40>>0]|0)==0?(k[B>>2]&64|0)==0:0)Nz(k[A>>2]|0,61,k[(k[y>>2]|0)+44>>2]|0)|0;if(((k[B>>2]&512|0)!=0?(k[B>>2]&16640|0)==0:0)?(k[(k[s>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+60+4>>2]|0):0)Nz(k[A>>2]|0,61,k[(k[s>>2]|0)+8>>2]|0)|0}a=k[t>>2]|0;if(!(k[(k[t>>2]|0)+36>>2]&576)){if(k[a+36>>2]&8192)k[q>>2]=k[(k[s>>2]|0)+56>>2]}else k[q>>2]=k[a+24+4>>2];if(k[q>>2]|0){if((l[(k[g>>2]|0)+40>>0]|0)!=0?(l[(k[(k[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(i[(k[h>>2]|0)+69>>0]|0)){f=Rz(k[A>>2]|0)|0;k[p>>2]=f;k[o>>2]=k[(k[s>>2]|0)+32>>2];f=aA(k[A>>2]|0,k[o>>2]|0)|0;k[u>>2]=f;while(1){if((k[o>>2]|0)>=(k[p>>2]|0))break b;do if((k[(k[u>>2]|0)+4>>2]|0)==(k[(k[s>>2]|0)+4>>2]|0)){a=k[u>>2]|0;if((l[k[u>>2]>>0]|0)!=47){if((l[a>>0]|0)!=103)break;k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2];i[k[u>>2]>>0]=113;break}k[C>>2]=k[a+8>>2];if(l[(k[x>>2]|0)+42>>0]&32){f=Rj(k[x>>2]|0)|0;k[w>>2]=f;k[C>>2]=j[(k[(k[w>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1]}f=(KA(k[q>>2]|0,k[C>>2]&65535)|0)<<16>>16;k[C>>2]=f;if((k[C>>2]|0)>=0){k[(k[u>>2]|0)+8>>2]=k[C>>2];k[(k[u>>2]|0)+4>>2]=k[(k[s>>2]|0)+8>>2]}}while(0);k[o>>2]=(k[o>>2]|0)+1;k[u>>2]=(k[u>>2]|0)+20}}}}while(0);k[n>>2]=(k[n>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+80}k[(k[v>>2]|0)+428>>2]=k[(k[g>>2]|0)+56>>2];iD(k[h>>2]|0,k[g>>2]|0);r=E;return}function hD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0;o=r;r=r+32|0;p=o+24|0;f=o+20|0;g=o+16|0;h=o+12|0;j=o+8|0;n=o+4|0;m=o;k[p>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=e;a=aA(k[p>>2]|0,k[f>>2]|0)|0;k[n>>2]=a;a=Rz(k[p>>2]|0)|0;k[m>>2]=a;while(1){if((k[f>>2]|0)>=(k[m>>2]|0))break;do if((k[(k[n>>2]|0)+4>>2]|0)==(k[g>>2]|0)){e=k[n>>2]|0;if((l[k[n>>2]>>0]|0|0)==47){i[e>>0]=30;k[(k[n>>2]|0)+4>>2]=(k[(k[n>>2]|0)+8>>2]|0)+(k[h>>2]|0);k[(k[n>>2]|0)+8>>2]=k[(k[n>>2]|0)+12>>2];k[(k[n>>2]|0)+12>>2]=0;break}if((l[e>>0]|0|0)==103){e=k[n>>2]|0;if(k[j>>2]|0){i[e>>0]=37;k[(k[n>>2]|0)+4>>2]=k[(k[n>>2]|0)+8>>2];k[(k[n>>2]|0)+8>>2]=1;break}else{i[e>>0]=25;k[(k[n>>2]|0)+4>>2]=0;k[(k[n>>2]|0)+12>>2]=0;break}}}while(0);k[f>>2]=(k[f>>2]|0)+1;k[n>>2]=(k[n>>2]|0)+20}r=o;return}function iD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=h;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(l[(k[d>>2]|0)+43>>0]|0|0))break;k[g>>2]=(k[d>>2]|0)+736+((k[e>>2]|0)*80|0);if((k[(k[g>>2]|0)+64>>2]|0)!=0?(k[(k[(k[g>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)bg(k[c>>2]|0,k[(k[g>>2]|0)+56+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}jD((k[d>>2]|0)+328|0);while(1){if(!(k[(k[d>>2]|0)+16>>2]|0))break;k[f>>2]=k[(k[d>>2]|0)+16>>2];k[(k[d>>2]|0)+16>>2]=k[(k[f>>2]|0)+52>>2];kD(k[c>>2]|0,k[f>>2]|0)}bg(k[c>>2]|0,k[d>>2]|0);r=h;return}function jD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;b=f+12|0;e=f+8|0;c=f+4|0;d=f;k[b>>2]=a;k[d>>2]=k[k[k[k[b>>2]>>2]>>2]>>2];k[e>>2]=(k[(k[b>>2]|0)+12>>2]|0)-1;k[c>>2]=k[(k[b>>2]|0)+20>>2];while(1){if((k[e>>2]|0)<0)break;if((m[(k[c>>2]|0)+20>>1]|0)&1)nv(k[d>>2]|0,k[k[c>>2]>>2]|0);if(!((m[(k[c>>2]|0)+20>>1]|0)&16)){if((m[(k[c>>2]|0)+20>>1]|0)&32)pD(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0)}else oD(k[d>>2]|0,k[(k[c>>2]|0)+12>>2]|0);k[e>>2]=(k[e>>2]|0)+-1;k[c>>2]=(k[c>>2]|0)+48}if((k[(k[b>>2]|0)+20>>2]|0)==((k[b>>2]|0)+24|0)){r=f;return}bg(k[d>>2]|0,k[(k[b>>2]|0)+20>>2]|0);r=f;return}function kD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;lD(k[e>>2]|0,k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function lD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[(k[d>>2]|0)+48>>2]|0)!=((k[d>>2]|0)+56|0))bg(k[c>>2]|0,k[(k[d>>2]|0)+48>>2]|0);mD(k[c>>2]|0,k[d>>2]|0);nD(k[d>>2]|0);r=e;return}function mD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+36>>2]&17408)){r=e;return}if((k[(k[d>>2]|0)+36>>2]&1024|0)!=0?(l[(k[d>>2]|0)+24+4>>0]|0|0)!=0:0){Ud(k[(k[d>>2]|0)+24+8>>2]|0);i[(k[d>>2]|0)+24+4>>0]=0;k[(k[d>>2]|0)+24+8>>2]=0;r=e;return}if(!(k[(k[d>>2]|0)+36>>2]&16384)){r=e;return}if(!(k[(k[d>>2]|0)+24+4>>2]|0)){r=e;return}bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+24+4>>2]|0)+16>>2]|0);bg(k[c>>2]|0,k[(k[d>>2]|0)+24+4>>2]|0);k[(k[d>>2]|0)+24+4>>2]=0;r=e;return}function nD(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+48>>2]=(k[c>>2]|0)+56;j[(k[c>>2]|0)+40>>1]=0;j[(k[c>>2]|0)+44>>1]=3;k[(k[c>>2]|0)+36>>2]=0;r=b;return}function oD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;jD(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function pD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;jD(k[d>>2]|0);bg(k[e>>2]|0,k[d>>2]|0);r=c;return}function qD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;k[k[d>>2]>>2]=k[e>>2];k[(k[d>>2]|0)+4>>2]=0;k[(k[d>>2]|0)+12>>2]=0;k[(k[d>>2]|0)+16>>2]=8;k[(k[d>>2]|0)+20>>2]=(k[d>>2]|0)+24;r=c;return}function rD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;a=hy(k[e>>2]|0)|0;k[g>>2]=a;i[(k[d>>2]|0)+8>>0]=i[f>>0]|0;if(!(k[g>>2]|0)){r=h;return}c=k[d>>2]|0;if((l[k[g>>2]>>0]|0|0)!=(l[f>>0]|0|0)){EE(c,k[e>>2]|0,0)|0;r=h;return}else{rD(c,k[(k[g>>2]|0)+12>>2]|0,i[f>>0]|0);rD(k[d>>2]|0,k[(k[g>>2]|0)+16>>2]|0,i[f>>0]|0);r=h;return}}function sD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;b=k[e>>2]|0;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+1;k[(k[d>>2]|0)+4+(a<<2)>>2]=b;r=c;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;p=q;d=q+40|0;e=q+36|0;f=q+32|0;o=q+28|0;n=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;m=q+8|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!((l[(k[e>>2]|0)+36+1>>0]|0)>>>2&1)){r=q;return}k[o>>2]=k[(k[e>>2]|0)+16>>2];k[h>>2]=k[(k[e>>2]|0)+64>>2];if(!(k[h>>2]|0)){r=q;return}k[g>>2]=0;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[h>>2]>>2]|0)){b=13;break}while(1){if((k[g>>2]|0)<(j[(k[o>>2]|0)+34>>1]|0))b=(l[(k[(k[o>>2]|0)+4>>2]|0)+(k[g>>2]<<4)+15>>0]&2|0)==0;else b=0;a=k[g>>2]|0;if(!b)break;k[g>>2]=a+1}c=k[d>>2]|0;if((a|0)>=(j[(k[o>>2]|0)+34>>1]|0)){b=10;break}c=Hv(c,152,0,0,0)|0;k[i>>2]=c;if(!(k[i>>2]|0)){b=13;break}k[(k[i>>2]|0)+28>>2]=k[(k[e>>2]|0)+44>>2];a=k[g>>2]|0;k[g>>2]=a+1;j[(k[i>>2]|0)+32>>1]=a;k[(k[i>>2]|0)+44>>2]=k[o>>2];a=k[d>>2]|0;c=k[i>>2]|0;c=Hv(a,79,c,Dy(k[k[d>>2]>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,0)|0,0)|0;k[m>>2]=c;EE(k[f>>2]|0,k[m>>2]|0,1)|0;k[n>>2]=(k[n>>2]|0)+1}if((b|0)==10){n=k[n>>2]|0;k[p>>2]=k[k[o>>2]>>2];k[p+4>>2]=n;Mh(c,35357,p);r=q;return}else if((b|0)==13){r=q;return}}function uD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=(k[(k[d>>2]|0)+12>>2]|0)-1;while(1){if((k[e>>2]|0)<0)break;AE(k[c>>2]|0,k[d>>2]|0,k[e>>2]|0);k[e>>2]=(k[e>>2]|0)+-1}r=f;return}function vD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+48|0;e=u+36|0;f=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;s=u+16|0;q=u+12|0;n=u+8|0;o=u+4|0;p=u;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;if((k[k[g>>2]>>2]|0)!=1){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}k[o>>2]=k[(k[g>>2]|0)+8+44>>2];k[s>>2]=k[(k[g>>2]|0)+8+16>>2];k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[k[i>>2]>>2]|0))break;c=hy(k[(k[(k[i>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0)|0;k[p>>2]=c;if(((l[k[p>>2]>>0]|0)==152?(k[(k[p>>2]|0)+28>>2]|0)==(k[o>>2]|0):0)?(j[(k[p>>2]|0)+32>>1]|0)<0:0){t=8;break}k[n>>2]=(k[n>>2]|0)+1}if((t|0)==8){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}k[q>>2]=k[(k[s>>2]|0)+8>>2];while(1){if(!(k[q>>2]|0)){t=22;break}if(l[(k[q>>2]|0)+54>>0]|0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[q>>2]|0)+50>>1]|0))break;if(!(ND(k[h>>2]|0,k[o>>2]|0,k[n>>2]|0,-1,-1,2,k[q>>2]|0)|0)){if((zE(k[f>>2]|0,k[i>>2]|0,k[o>>2]|0,k[q>>2]|0,k[n>>2]|0)|0)<0)break;if(!(rE(k[q>>2]|0,k[n>>2]|0)|0))break}k[n>>2]=(k[n>>2]|0)+1}if((k[n>>2]|0)==(m[(k[q>>2]|0)+50>>1]|0)){t=20;break}}k[q>>2]=k[(k[q>>2]|0)+20>>2]}if((t|0)==20){k[e>>2]=1;t=k[e>>2]|0;r=u;return t|0}else if((t|0)==22){k[e>>2]=0;t=k[e>>2]|0;r=u;return t|0}return 0}function wD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;b=t+44|0;c=t+40|0;s=t+36|0;h=t+32|0;q=t+28|0;p=t+24|0;n=t+20|0;d=t+16|0;e=t+12|0;o=t+8|0;g=t+4|0;f=t;k[c>>2]=a;k[s>>2]=k[k[c>>2]>>2];if((m[(k[s>>2]|0)+36>>1]|0)&32){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[h>>2]=(k[(k[s>>2]|0)+4>>2]|0)+8;k[o>>2]=k[(k[h>>2]|0)+16>>2];if((l[(k[o>>2]|0)+42>>0]|0)&16){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}if((l[(k[h>>2]|0)+36+1>>0]|0)>>>1&1){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}k[d>>2]=k[(k[h>>2]|0)+44>>2];k[q>>2]=(k[s>>2]|0)+328;k[n>>2]=k[(k[c>>2]|0)+12>>2];k[(k[n>>2]|0)+36>>2]=0;j[(k[n>>2]|0)+42>>1]=0;a=ND(k[q>>2]|0,k[d>>2]|0,-1,0,0,130,0)|0;k[p>>2]=a;a:do if(k[p>>2]|0){k[(k[n>>2]|0)+36>>2]=4353;k[k[(k[n>>2]|0)+48>>2]>>2]=k[p>>2];j[(k[n>>2]|0)+40>>1]=1;j[(k[n>>2]|0)+24>>1]=1;j[(k[n>>2]|0)+20>>1]=33}else{k[g>>2]=k[(k[o>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break a;if(((l[(k[g>>2]|0)+54>>0]|0|0)!=0?(k[(k[g>>2]|0)+36>>2]|0)==0:0)?(m[(k[g>>2]|0)+50>>1]|0|0)<=3:0){k[f>>2]=((l[(k[g>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[(k[g>>2]|0)+50>>1]|0|0))break;o=ND(k[q>>2]|0,k[d>>2]|0,k[e>>2]|0,0,0,k[f>>2]|0,k[g>>2]|0)|0;k[p>>2]=o;if(!(k[p>>2]|0))break;k[(k[(k[n>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]=k[p>>2];k[e>>2]=(k[e>>2]|0)+1}if((k[e>>2]|0)==(m[(k[g>>2]|0)+50>>1]|0|0))break}k[g>>2]=k[(k[g>>2]|0)+20>>2]}k[(k[n>>2]|0)+36>>2]=4609;if(!(((l[(k[g>>2]|0)+55>>0]|0)>>>5&1|0)==0?(q=(k[h>>2]|0)+56|0,o=k[q>>2]|0,q=k[q+4>>2]|0,p=pE(k[g>>2]|0)|0,!((o&~p|0)==0&(q&~L|0)==0)):0)){q=(k[n>>2]|0)+36|0;k[q>>2]=k[q>>2]|64}j[(k[n>>2]|0)+40>>1]=k[e>>2];j[(k[n>>2]|0)+24>>1]=k[e>>2];k[(k[n>>2]|0)+24+4>>2]=k[g>>2];j[(k[n>>2]|0)+20>>1]=39}while(0);if(!(k[(k[n>>2]|0)+36>>2]|0)){k[b>>2]=0;s=k[b>>2]|0;r=t;return s|0}j[(k[n>>2]|0)+22>>1]=1;k[(k[s>>2]|0)+736+64>>2]=k[n>>2];p=DD((k[s>>2]|0)+68|0,k[d>>2]|0)|0;q=(k[n>>2]|0)+8|0;k[q>>2]=p;k[q+4>>2]=L;k[(k[s>>2]|0)+736+4>>2]=k[d>>2];j[(k[s>>2]|0)+32>>1]=1;if(k[(k[s>>2]|0)+8>>2]|0)i[(k[s>>2]|0)+38>>0]=k[k[(k[s>>2]|0)+8>>2]>>2];if((m[(k[s>>2]|0)+36>>1]|0)&1024)i[(k[s>>2]|0)+42>>0]=1;k[b>>2]=1;s=k[b>>2]|0;r=t;return s|0}function xD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;s=r;r=r+80|0;b=s+60|0;m=s+56|0;d=s+16|0;e=s+8|0;c=s+52|0;t=s+48|0;j=s+44|0;h=s+40|0;o=s+36|0;q=s+32|0;p=s+28|0;n=s+64|0;f=s;g=s+24|0;k[b>>2]=a;k[m>>2]=k[k[b>>2]>>2];a=d;k[a>>2]=0;k[a+4>>2]=0;a=e;k[a>>2]=0;k[a+4>>2]=0;k[t>>2]=k[(k[m>>2]|0)+4>>2];k[h>>2]=(k[t>>2]|0)+8+((l[(k[m>>2]|0)+43>>0]|0)*72|0);k[o>>2]=k[k[k[m>>2]>>2]>>2];k[q>>2]=0;i[n>>0]=0;k[p>>2]=k[(k[b>>2]|0)+12>>2];nD(k[p>>2]|0);k[c>>2]=0;k[j>>2]=(k[t>>2]|0)+8;while(1){if((k[j>>2]|0)>>>0>=(k[h>>2]|0)>>>0){b=19;break}a=f;k[a>>2]=0;k[a+4>>2]=0;i[(k[p>>2]|0)+16>>0]=k[c>>2];a=DD((k[m>>2]|0)+68|0,k[(k[j>>2]|0)+44>>2]|0)|0;t=(k[p>>2]|0)+8|0;k[t>>2]=a;k[t+4>>2]=L;if((l[(k[j>>2]|0)+36>>0]|0|(l[n>>0]|0))&10){u=e;a=k[u+4>>2]|0;t=d;k[t>>2]=k[u>>2];k[t+4>>2]=a}i[n>>0]=i[(k[j>>2]|0)+36>>0]|0;if((l[(k[(k[j>>2]|0)+16>>2]|0)+42>>0]|0)&16){k[g>>2]=(k[j>>2]|0)+72;while(1){if((k[g>>2]|0)>>>0>=(k[h>>2]|0)>>>0)break;u=f;if(!(!((k[u>>2]|0)!=0|(k[u+4>>2]|0)!=0)?((l[(k[g>>2]|0)+36>>0]|0)&10|0)==0:0)){a=DD((k[m>>2]|0)+68|0,k[(k[g>>2]|0)+44>>2]|0)|0;v=f;t=k[v+4>>2]|L;u=f;k[u>>2]=k[v>>2]|a;k[u+4>>2]=t}k[g>>2]=(k[g>>2]|0)+72}u=d;v=f;v=cE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}else{v=d;v=dE(k[b>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}if(!(k[q>>2]|0)){u=d;v=f;v=eE(k[b>>2]|0,k[u>>2]|0,k[u+4>>2]|0,k[v>>2]|0,k[v+4>>2]|0)|0;k[q>>2]=v}t=(k[p>>2]|0)+8|0;a=e;u=k[a+4>>2]|k[t+4>>2];v=e;k[v>>2]=k[a>>2]|k[t>>2];k[v+4>>2]=u;if(k[q>>2]|0){b=19;break}if(l[(k[o>>2]|0)+69>>0]|0){b=19;break}k[c>>2]=(k[c>>2]|0)+1;k[j>>2]=(k[j>>2]|0)+72}if((b|0)==19){lD(k[o>>2]|0,k[p>>2]|0);r=s;return k[q>>2]|0}return 0}function yD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=r;r=r+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;q=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;h=U+104|0;o=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;e=U+80|0;g=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;d=U+60|0;f=U+56|0;S=U+52|0;c=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;n=U+148|0;p=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;k[N>>2]=a;j[G>>1]=b;k[t>>2]=0;j[s>>1]=0;j[u>>1]=0;k[f>>2]=0;k[z>>2]=k[k[N>>2]>>2];k[O>>2]=k[k[z>>2]>>2];k[P>>2]=l[(k[N>>2]|0)+43>>0];if((k[P>>2]|0)<=1)b=1;else b=(k[P>>2]|0)==2?5:10;k[q>>2]=b;if((k[(k[N>>2]|0)+8>>2]|0)!=0?(j[G>>1]|0)!=0:0)k[w>>2]=k[k[(k[N>>2]|0)+8>>2]>>2];else k[w>>2]=0;a=(ha(32+(k[P>>2]<<2)|0,k[q>>2]|0)|0)<<1;k[c>>2]=a;k[c>>2]=(k[c>>2]|0)+(k[w>>2]<<1);c=k[c>>2]|0;c=Vw(k[O>>2]|0,c,((c|0)<0)<<31>>31)|0;k[S>>2]=c;if(!(k[S>>2]|0)){k[M>>2]=7;T=k[M>>2]|0;r=U;return T|0}k[g>>2]=k[S>>2];k[e>>2]=(k[g>>2]|0)+(k[q>>2]<<5);c=k[e>>2]|0;k[c>>2]=0;k[c+4>>2]=0;k[c+8>>2]=0;k[c+12>>2]=0;k[c+16>>2]=0;k[c+20>>2]=0;k[c+24>>2]=0;k[c+28>>2]=0;k[d>>2]=(k[e>>2]|0)+(k[q>>2]<<5);k[h>>2]=k[q>>2]<<1;k[R>>2]=k[g>>2];while(1){if((k[h>>2]|0)<=0)break;k[(k[R>>2]|0)+24>>2]=k[d>>2];k[h>>2]=(k[h>>2]|0)+-1;k[R>>2]=(k[R>>2]|0)+32;k[d>>2]=(k[d>>2]|0)+(k[P>>2]<<2)}if(k[w>>2]|0){k[f>>2]=k[d>>2];DR(k[f>>2]|0,0,k[w>>2]<<1|0)|0}if((k[(k[z>>2]|0)+428>>2]|0)>>>0<48)b=k[(k[z>>2]|0)+428>>2]|0;else b=48;j[(k[e>>2]|0)+16>>1]=b;k[v>>2]=1;if(k[w>>2]|0)i[(k[e>>2]|0)+22>>0]=(k[P>>2]|0)>0?-1:k[w>>2]|0;k[H>>2]=0;while(1){if((k[H>>2]|0)>=(k[P>>2]|0))break;k[y>>2]=0;k[h>>2]=0;k[R>>2]=k[e>>2];while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;k[K>>2]=k[(k[N>>2]|0)+16>>2];while(1){if(!(k[K>>2]|0))break;i[n>>0]=i[(k[R>>2]|0)+22>>0]|0;c=D;k[c>>2]=0;k[c+4>>2]=0;c=k[K>>2]|0;d=k[R>>2]|0;a:do if(!((k[c>>2]&~k[d>>2]|0)!=0?1:(k[c+4>>2]&~k[d+4>>2]|0)!=0)?(c=(k[K>>2]|0)+8|0,d=k[R>>2]|0,!((k[c>>2]&k[d>>2]|0)!=0?1:(k[c+4>>2]&k[d+4>>2]|0)!=0)):0){if((k[(k[K>>2]|0)+36>>2]&16384|0)!=0?(j[(k[R>>2]|0)+16>>1]|0)<10:0)break;b=_D(j[(k[K>>2]|0)+18>>1]|0,(j[(k[K>>2]|0)+20>>1]|0)+(j[(k[R>>2]|0)+16>>1]|0)&65535)|0;j[C>>1]=b;b=_D(j[C>>1]|0,j[(k[R>>2]|0)+20>>1]|0)|0;j[C>>1]=b;j[x>>1]=(j[(k[R>>2]|0)+16>>1]|0)+(j[(k[K>>2]|0)+22>>1]|0);b=k[R>>2]|0;a=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[a+4>>2];d=p;k[d>>2]=k[b>>2]|k[a>>2];k[d+4>>2]=c;if((i[n>>0]|0)<0){d=$D(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0,j[(k[N>>2]|0)+36>>1]|0,k[H>>2]&65535,k[K>>2]|0,D)|0;i[n>>0]=d}else{a=(k[R>>2]|0)+8|0;c=k[a+4>>2]|0;d=D;k[d>>2]=k[a>>2];k[d+4>>2]=c}if((i[n>>0]|0)>=0?(i[n>>0]|0)<(k[w>>2]|0):0){if(!(j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)){d=aE(k[N>>2]|0,j[G>>1]|0,k[w>>2]|0,i[n>>0]|0)|0;j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]=d}d=_D(j[C>>1]|0,j[(k[f>>2]|0)+(i[n>>0]<<1)>>1]|0)|0;j[B>>1]=d}else j[B>>1]=j[C>>1]|0;k[o>>2]=0;k[A>>2]=k[g>>2];while(1){if((k[o>>2]|0)>=(k[y>>2]|0))break;c=k[A>>2]|0;d=p;if(((k[c>>2]|0)==(k[d>>2]|0)?(k[c+4>>2]|0)==(k[d+4>>2]|0):0)?((i[(k[A>>2]|0)+22>>0]^i[n>>0])&128|0)==0:0)break;k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}do if((k[o>>2]|0)<(k[y>>2]|0)){if((j[(k[A>>2]|0)+18>>1]|0)<(j[B>>1]|0))break a;if((j[(k[A>>2]|0)+18>>1]|0)!=(j[B>>1]|0))break;if((j[(k[A>>2]|0)+16>>1]|0)<=(j[x>>1]|0))break a}else{do if((k[y>>2]|0)>=(k[q>>2]|0)){if((j[B>>1]|0)>(j[s>>1]|0))break a;if((j[B>>1]|0)!=(j[s>>1]|0))break;if((j[C>>1]|0)>=(j[u>>1]|0))break a}while(0);if((k[y>>2]|0)<(k[q>>2]|0)){d=k[y>>2]|0;k[y>>2]=d+1;k[o>>2]=d}else k[o>>2]=k[t>>2];k[A>>2]=(k[g>>2]|0)+(k[o>>2]<<5)}while(0);b=k[R>>2]|0;d=(k[K>>2]|0)+8|0;c=k[b+4>>2]|k[d+4>>2];a=k[A>>2]|0;k[a>>2]=k[b>>2]|k[d>>2];k[a+4>>2]=c;a=D;c=k[a+4>>2]|0;d=(k[A>>2]|0)+8|0;k[d>>2]=k[a>>2];k[d+4>>2]=c;j[(k[A>>2]|0)+16>>1]=j[x>>1]|0;j[(k[A>>2]|0)+18>>1]=j[B>>1]|0;j[(k[A>>2]|0)+20>>1]=j[C>>1]|0;i[(k[A>>2]|0)+22>>0]=i[n>>0]|0;BR(k[(k[A>>2]|0)+24>>2]|0,k[(k[R>>2]|0)+24>>2]|0,k[H>>2]<<2|0)|0;k[(k[(k[A>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]=k[K>>2];if((k[y>>2]|0)>=(k[q>>2]|0)){k[t>>2]=0;j[s>>1]=j[(k[g>>2]|0)+18>>1]|0;j[u>>1]=j[(k[g>>2]|0)+16>>1]|0;k[o>>2]=1;k[A>>2]=(k[g>>2]|0)+32;while(1){if((k[o>>2]|0)>=(k[q>>2]|0))break a;do if((j[(k[A>>2]|0)+18>>1]|0)<=(j[s>>1]|0)){if((j[(k[A>>2]|0)+18>>1]|0)!=(j[s>>1]|0))break;if((j[(k[A>>2]|0)+20>>1]|0)>(j[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;j[s>>1]=j[(k[A>>2]|0)+18>>1]|0;j[u>>1]=j[(k[A>>2]|0)+20>>1]|0;k[t>>2]=k[o>>2]}k[o>>2]=(k[o>>2]|0)+1;k[A>>2]=(k[A>>2]|0)+32}}}while(0);k[K>>2]=k[(k[K>>2]|0)+52>>2]}k[h>>2]=(k[h>>2]|0)+1;k[R>>2]=(k[R>>2]|0)+32}k[R>>2]=k[g>>2];k[g>>2]=k[e>>2];k[e>>2]=k[R>>2];k[v>>2]=k[y>>2];k[H>>2]=(k[H>>2]|0)+1}if(!(k[v>>2]|0)){Mh(k[z>>2]|0,35265,E);bg(k[O>>2]|0,k[S>>2]|0);k[M>>2]=1;T=k[M>>2]|0;r=U;return T|0}k[R>>2]=k[e>>2];k[h>>2]=1;while(1){if((k[h>>2]|0)>=(k[v>>2]|0))break;if((j[(k[R>>2]|0)+18>>1]|0)>(j[(k[e>>2]|0)+(k[h>>2]<<5)+18>>1]|0))k[R>>2]=(k[e>>2]|0)+(k[h>>2]<<5);k[h>>2]=(k[h>>2]|0)+1}k[H>>2]=0;while(1){b=k[N>>2]|0;if((k[H>>2]|0)>=(k[P>>2]|0))break;k[J>>2]=b+736+((k[H>>2]|0)*80|0);F=k[(k[(k[R>>2]|0)+24>>2]|0)+(k[H>>2]<<2)>>2]|0;k[K>>2]=F;k[(k[J>>2]|0)+64>>2]=F;i[(k[J>>2]|0)+44>>0]=i[(k[K>>2]|0)+16>>0]|0;k[(k[J>>2]|0)+4>>2]=k[(k[(k[N>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+44>>0]|0)*72|0)+44>>2];k[H>>2]=(k[H>>2]|0)+1}if(((((m[b+36>>1]&1024|0)!=0?(m[(k[N>>2]|0)+36>>1]&512|0)==0:0)?(l[(k[N>>2]|0)+42>>0]|0)==0:0)?(j[G>>1]|0)!=0:0)?(K=($D(k[N>>2]|0,k[(k[N>>2]|0)+12>>2]|0,k[R>>2]|0,512,(k[P>>2]|0)-1&65535,k[(k[(k[R>>2]|0)+24>>2]|0)+((k[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,k[L>>2]=K,(k[L>>2]|0)==(k[k[(k[N>>2]|0)+12>>2]>>2]|0)):0)i[(k[N>>2]|0)+42>>0]=2;if(k[(k[N>>2]|0)+8>>2]|0){b=i[(k[R>>2]|0)+22>>0]|0;if(m[(k[N>>2]|0)+36>>1]&512){if((b<<24>>24|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0))i[(k[N>>2]|0)+42>>0]=2}else{i[(k[N>>2]|0)+38>>0]=b;if((i[(k[N>>2]|0)+38>>0]|0)<0)i[(k[N>>2]|0)+38>>0]=0;J=(k[R>>2]|0)+8|0;K=k[J+4>>2]|0;L=(k[N>>2]|0)+24|0;k[L>>2]=k[J>>2];k[L+4>>2]=K}if(((m[(k[N>>2]|0)+36>>1]&2048|0)!=0?((k[P>>2]|0)>0?(i[(k[N>>2]|0)+38>>0]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,k[L>>2]=0,k[L+4>>2]=0,P=($D(k[N>>2]|0,k[(k[N>>2]|0)+8>>2]|0,k[R>>2]|0,0,(k[P>>2]|0)-1&65535,k[(k[(k[R>>2]|0)+24>>2]|0)+((k[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,k[Q>>2]=P,(k[Q>>2]|0)==(k[k[(k[N>>2]|0)+8>>2]>>2]|0)):0){i[(k[N>>2]|0)+39>>0]=1;P=T;Q=k[P+4>>2]|0;T=(k[N>>2]|0)+24|0;k[T>>2]=k[P>>2];k[T+4>>2]=Q}}j[(k[N>>2]|0)+32>>1]=j[(k[R>>2]|0)+16>>1]|0;bg(k[O>>2]|0,k[S>>2]|0);k[M>>2]=0;T=k[M>>2]|0;r=U;return T|0}function zD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;e=g+8|0;f=g;k[c>>2]=a;k[d>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[d>>2]|0)){b=f;a=b;a=k[a>>2]|0;b=b+4|0;b=k[b>>2]|0;L=b;r=g;return a|0}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;h=YD(k[c>>2]|0,k[(k[(k[d>>2]|0)+4>>2]|0)+((k[e>>2]|0)*20|0)>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|h;k[a+4>>2]=b;k[e>>2]=(k[e>>2]|0)+1}h=f;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function AD(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+176|0;p=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;D=Y+144|0;I=Y+140|0;J=Y+136|0;F=Y+132|0;X=Y+128|0;Q=Y+124|0;H=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;C=Y+100|0;E=Y+96|0;G=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;o=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;n=Y+64|0;h=Y+60|0;g=Y+8|0;z=Y+56|0;w=Y;K=Y+52|0;M=Y+48|0;k[N>>2]=a;k[t>>2]=b;k[u>>2]=c;b=v;k[b>>2]=d;k[b+4>>2]=e;k[O>>2]=f;i[o>>0]=0;k[T>>2]=0;k[A>>2]=0;k[P>>2]=0;k[X>>2]=k[(k[N>>2]|0)+8>>2];b=iB(k[N>>2]|0)|0;k[Q>>2]=b;k[D>>2]=0;k[H>>2]=k[(k[u>>2]|0)+16>>2];k[J>>2]=(k[(k[t>>2]|0)+20>>2]|0)+((k[(k[t>>2]|0)+12>>2]|0)*48|0);k[G>>2]=k[(k[O>>2]|0)+64>>2];b=B;k[b>>2]=0;k[b+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;k[n>>2]=k[k[I>>2]>>2];b=k[G>>2]|0;if((((k[b>>2]|0)==0&(k[b+4>>2]|0)==0?(m[(k[I>>2]|0)+20>>1]&2|0)==0:0)?(k[(k[n>>2]|0)+4>>2]&1|0)==0:0)?(UD(k[n>>2]|0,k[(k[u>>2]|0)+44>>2]|0)|0)!=0:0){c=k[k[N>>2]>>2]|0;b=k[T>>2]|0;b=qz(c,b,Dy(k[k[N>>2]>>2]|0,k[n>>2]|0,0)|0)|0;k[T>>2]=b}b=v;if(VD(k[I>>2]|0,k[u>>2]|0,k[b>>2]|0,k[b+4>>2]|0)|0){k[h>>2]=k[(k[I>>2]|0)+12>>2];if((k[h>>2]|0)>=64){d=0;e=-2147483648}else{d=ER(1,0,k[h>>2]|0)|0;e=L}b=g;k[b>>2]=d;k[b+4>>2]=e;if(!(i[o>>0]|0)){b=k[(k[(k[H>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0;k[p>>2]=k[k[H>>2]>>2];k[p+4>>2]=b;$d(284,35228,p);i[o>>0]=1}c=B;b=g;if((k[c>>2]&k[b>>2]|0)==0?(k[c+4>>2]&k[b+4>>2]|0)==0:0){if(WD(k[k[N>>2]>>2]|0,k[G>>2]|0,(k[D>>2]|0)+1|0)|0){q=57;break}f=k[I>>2]|0;a=k[D>>2]|0;k[D>>2]=a+1;k[(k[(k[G>>2]|0)+48>>2]|0)+(a<<2)>>2]=f;a=g;f=B;c=k[f+4>>2]|k[a+4>>2];b=B;k[b>>2]=k[f>>2]|k[a>>2];k[b+4>>2]=c}}k[I>>2]=(k[I>>2]|0)+48}if((q|0)==57){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;nv(W,X);r=Y;return}n=k[D>>2]&65535;j[(k[G>>2]|0)+40>>1]=n;j[(k[G>>2]|0)+24>>1]=n;k[(k[G>>2]|0)+36>>2]=16961;n=(k[u>>2]|0)+56|0;o=B;p=k[n+4>>2]&(~k[o+4>>2]|-2147483648);q=x;k[q>>2]=k[n>>2]&~k[o>>2];k[q+4>>2]=p;if(63<(j[(k[H>>2]|0)+34>>1]|0))d=63;else d=j[(k[H>>2]|0)+34>>1]|0;k[C>>2]=d;k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;q=x;o=k[q>>2]|0;q=k[q+4>>2]|0;p=ER(1,0,k[y>>2]|0)|0;if((o&p|0)!=0|(q&L|0)!=0)k[D>>2]=(k[D>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)k[D>>2]=(k[D>>2]|0)+((j[(k[H>>2]|0)+34>>1]|0)-64+1);s=XD(k[k[N>>2]>>2]|0,(k[D>>2]|0)+1&65535,0,s)|0;k[F>>2]=s;if(!(k[F>>2]|0)){W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;nv(W,X);r=Y;return}k[(k[G>>2]|0)+24+4>>2]=k[F>>2];k[k[F>>2]>>2]=35254;k[(k[F>>2]|0)+12>>2]=k[H>>2];k[S>>2]=0;s=B;k[s>>2]=0;k[s+4>>2]=0;k[I>>2]=k[(k[t>>2]|0)+20>>2];while(1){if((k[I>>2]|0)>>>0>=(k[J>>2]|0)>>>0)break;s=v;if(VD(k[I>>2]|0,k[u>>2]|0,k[s>>2]|0,k[s+4>>2]|0)|0){k[z>>2]=k[(k[I>>2]|0)+12>>2];if((k[z>>2]|0)>=64){d=0;e=-2147483648}else{d=ER(1,0,k[z>>2]|0)|0;e=L}q=w;k[q>>2]=d;k[q+4>>2]=e;q=B;s=w;if((k[q>>2]&k[s>>2]|0)==0?(k[q+4>>2]&k[s+4>>2]|0)==0:0){k[K>>2]=k[k[I>>2]>>2];p=w;o=B;q=k[o+4>>2]|k[p+4>>2];s=B;k[s>>2]=k[o>>2]|k[p>>2];k[s+4>>2]=q;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[(k[I>>2]|0)+12>>2];s=jB(k[N>>2]|0,k[(k[K>>2]|0)+12>>2]|0,k[(k[K>>2]|0)+16>>2]|0)|0;k[E>>2]=s;if(k[E>>2]|0)d=k[k[E>>2]>>2]|0;else d=35343;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=d;k[S>>2]=(k[S>>2]|0)+1}}k[I>>2]=(k[I>>2]|0)+48}k[y>>2]=0;while(1){if((k[y>>2]|0)>=(k[C>>2]|0))break;K=x;I=k[K>>2]|0;K=k[K+4>>2]|0;J=ER(1,0,k[y>>2]|0)|0;if((I&J|0)!=0|(K&L|0)!=0){j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35343;k[S>>2]=(k[S>>2]|0)+1}k[y>>2]=(k[y>>2]|0)+1}a:do if(0!=0?1:(k[(k[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){k[y>>2]=63;while(1){if((k[y>>2]|0)>=(j[(k[H>>2]|0)+34>>1]|0))break a;j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=k[y>>2];k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35343;k[S>>2]=(k[S>>2]|0)+1;k[y>>2]=(k[y>>2]|0)+1}}while(0);j[(k[(k[F>>2]|0)+4>>2]|0)+(k[S>>2]<<1)>>1]=-1;k[(k[(k[F>>2]|0)+32>>2]|0)+(k[S>>2]<<2)>>2]=35343;J=(k[N>>2]|0)+72|0;K=k[J>>2]|0;k[J>>2]=K+1;k[(k[O>>2]|0)+8>>2]=K;fx(k[X>>2]|0,56,k[(k[O>>2]|0)+8>>2]|0,(k[D>>2]|0)+1|0)|0;Qz(k[N>>2]|0,k[F>>2]|0);yA(k[N>>2]|0);k[U>>2]=(k[(k[k[t>>2]>>2]|0)+4>>2]|0)+8+((l[(k[O>>2]|0)+44>>0]|0)*72|0);if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){k[M>>2]=k[(k[U>>2]|0)+28>>2];K=fx(k[X>>2]|0,22,0,0)|0;k[P>>2]=K;jx(k[X>>2]|0,16,k[M>>2]|0,0,k[(k[U>>2]|0)+24>>2]|0)|0;M=Nz(k[X>>2]|0,18,k[M>>2]|0)|0;k[R>>2]=M}else{M=Nz(k[X>>2]|0,108,k[(k[O>>2]|0)+4>>2]|0)|0;k[R>>2]=M}if(k[T>>2]|0){M=Sz(k[X>>2]|0)|0;k[A>>2]=M;$A(k[N>>2]|0,k[T>>2]|0,k[A>>2]|0,16);M=(k[G>>2]|0)+36|0;k[M>>2]=k[M>>2]|131072}M=kA(k[N>>2]|0)|0;k[W>>2]=M;M=lA(k[N>>2]|0,k[F>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[W>>2]|0,0,0,0,0)|0;k[V>>2]=M;fx(k[X>>2]|0,110,k[(k[O>>2]|0)+8>>2]|0,k[W>>2]|0)|0;Rh(k[X>>2]|0,16);if(k[T>>2]|0)Wz(k[X>>2]|0,k[A>>2]|0);d=k[X>>2]|0;if((l[(k[U>>2]|0)+36+1>>0]|0)>>>4&1){$z(d,k[P>>2]|0,(k[V>>2]|0)+(k[S>>2]|0)|0);hD(k[X>>2]|0,k[R>>2]|0,k[(k[O>>2]|0)+4>>2]|0,k[(k[U>>2]|0)+32>>2]|0,1);Uz(k[X>>2]|0,k[R>>2]|0)|0;V=(k[U>>2]|0)+36+1|0;i[V>>0]=i[V>>0]&-17}else fx(d,7,k[(k[O>>2]|0)+4>>2]|0,(k[R>>2]|0)+1|0)|0;Rh(k[X>>2]|0,3);Vz(k[X>>2]|0,k[R>>2]|0);oA(k[N>>2]|0,k[W>>2]|0);wA(k[N>>2]|0);Vz(k[X>>2]|0,k[Q>>2]|0);W=k[N>>2]|0;W=k[W>>2]|0;X=k[T>>2]|0;nv(W,X);r=Y;return}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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=r;r=r+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;g=O+140|0;h=O+136|0;n=O+132|0;t=O+128|0;u=O+124|0;o=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;p=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;q=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;k[t>>2]=d;k[u>>2]=e;j[o>>1]=f;k[B>>2]=0;do if((l[(k[g>>2]|0)+453>>0]|0|0)==2){k[z>>2]=(k[h>>2]|0)+8+((l[(k[n>>2]|0)+44>>0]|0)*72|0);k[D>>2]=k[(k[g>>2]|0)+8>>2];k[p>>2]=k[k[g>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+468>>2];k[A>>2]=k[(k[n>>2]|0)+64>>2];k[v>>2]=k[(k[A>>2]|0)+36>>2];if((k[v>>2]&8192|0)==0?((m[o>>1]|0)&64|0)==0:0){do if(k[v>>2]&48)g=1;else{if((k[v>>2]&1024|0)==0?(m[(k[A>>2]|0)+24>>1]|0|0)>0:0){g=1;break}g=((m[o>>1]|0)&3|0)!=0}while(0);k[x>>2]=g&1;ng(C,k[p>>2]|0,q,100,1e9);QD(C,(k[x>>2]|0)!=0?34965:34972);g=k[z>>2]|0;if(k[(k[z>>2]|0)+20>>2]|0){k[E>>2]=l[g+40>>0];pA(C,34977,E)}else{k[F>>2]=k[g+8>>2];pA(C,34990,F)}if(k[(k[z>>2]|0)+12>>2]|0){k[I>>2]=k[(k[z>>2]|0)+12>>2];pA(C,35e3,I)}do if(!(k[v>>2]&1280)){k[K>>2]=0;k[y>>2]=k[(k[A>>2]|0)+24+4>>2];if(((l[(k[(k[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(i[(k[y>>2]|0)+55>>0]&3|0)==2:0){if(k[x>>2]|0)k[K>>2]=35007}else N=19;do if((N|0)==19){if(k[v>>2]&131072){k[K>>2]=35019;break}if(k[v>>2]&16384){k[K>>2]=35052;break}if(k[v>>2]&64){k[K>>2]=35077;break}else{k[K>>2]=35095;break}}while(0);if(k[K>>2]|0){qA(C,35104,7);N=k[K>>2]|0;k[J>>2]=k[k[y>>2]>>2];pA(C,N,J);RD(C,k[A>>2]|0)}}else{if((k[v>>2]&256|0)!=0?(k[v>>2]&15|0)!=0:0){do if(!(k[v>>2]&5)){if((k[v>>2]&48|0)==48){k[M>>2]=35114;break}if(k[v>>2]&32){k[M>>2]=35128;break}else{k[M>>2]=35130;break}}else k[M>>2]=35112;while(0);k[G>>2]=k[M>>2];pA(C,35132,G);break}if(k[v>>2]&1024){N=k[(k[A>>2]|0)+24+8>>2]|0;k[H>>2]=k[(k[A>>2]|0)+24>>2];k[H+4>>2]=N;pA(C,35170,H)}}while(0);N=pg(C)|0;k[L>>2]=N;N=ix(k[D>>2]|0,161,k[w>>2]|0,k[t>>2]|0,k[u>>2]|0,k[L>>2]|0,-1)|0;k[B>>2]=N;break}k[s>>2]=0;N=k[s>>2]|0;r=O;return N|0}while(0);k[s>>2]=k[B>>2];N=k[s>>2]|0;r=O;return N|0}function CD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;bb=r;r=r+384|0;Ma=bb+8|0;Na=bb+368|0;ba=bb+364|0;Oa=bb;Sa=bb+360|0;La=bb+356|0;Ra=bb+352|0;I=bb+348|0;R=bb+344|0;Ia=bb+340|0;Xa=bb+336|0;Ja=bb+332|0;_a=bb+328|0;Za=bb+324|0;Ya=bb+320|0;Qa=bb+316|0;ab=bb+312|0;H=bb+308|0;v=bb+304|0;Pa=bb+300|0;O=bb+296|0;f=bb+292|0;e=bb+288|0;B=bb+284|0;z=bb+280|0;D=bb+276|0;A=bb+272|0;C=bb+268|0;E=bb+264|0;G=bb+260|0;F=bb+256|0;u=bb+252|0;t=bb+248|0;g=bb+244|0;n=bb+240|0;h=bb+236|0;o=bb+232|0;q=bb+228|0;s=bb+224|0;p=bb+220|0;Q=bb+374|0;Z=bb+216|0;W=bb+212|0;V=bb+208|0;_=bb+204|0;N=bb+200|0;$=bb+196|0;P=bb+192|0;T=bb+188|0;fa=bb+184|0;w=bb+180|0;S=bb+176|0;aa=bb+172|0;M=bb+379|0;J=bb+378|0;K=bb+377|0;x=bb+168|0;y=bb+376|0;X=bb+164|0;Y=bb+160|0;U=bb+156|0;wa=bb+152|0;ua=bb+148|0;ra=bb+144|0;ea=bb+140|0;Da=bb+136|0;Fa=bb+132|0;Ea=bb+128|0;ga=bb+124|0;ia=bb+120|0;Ga=bb+116|0;la=bb+112|0;Ha=bb+372|0;qa=bb+108|0;Ba=bb+104|0;na=bb+100|0;pa=bb+96|0;xa=bb+92|0;ka=bb+88|0;sa=bb+84|0;va=bb+80|0;Aa=bb+76|0;ta=bb+72|0;ma=bb+68|0;za=bb+64|0;ca=bb+60|0;Ca=bb+56|0;ja=bb+52|0;ya=bb+48|0;oa=bb+44|0;ha=bb+40|0;da=bb+36|0;Ua=bb+32|0;$a=bb+28|0;Va=bb+24|0;Wa=bb+20|0;Ta=bb+16|0;k[Na>>2]=a;k[ba>>2]=b;b=Oa;k[b>>2]=c;k[b+4>>2]=d;k[O>>2]=0;k[f>>2]=0;k[Ya>>2]=k[k[Na>>2]>>2];k[ab>>2]=k[(k[Ya>>2]|0)+8>>2];k[_a>>2]=(k[Na>>2]|0)+328;k[Qa>>2]=k[k[Ya>>2]>>2];k[Xa>>2]=(k[Na>>2]|0)+736+((k[ba>>2]|0)*80|0);k[Ja>>2]=k[(k[Xa>>2]|0)+64>>2];k[H>>2]=(k[(k[Na>>2]|0)+4>>2]|0)+8+((l[(k[Xa>>2]|0)+44>>0]|0)*72|0);k[Ra>>2]=k[(k[H>>2]|0)+44>>2];b=Oa;c=k[b>>2]|0;b=k[b+4>>2]|0;d=DD((k[Na>>2]|0)+68|0,k[Ra>>2]|0)|0;a=(k[Xa>>2]|0)+72|0;k[a>>2]=c&~d;k[a+4>>2]=b&~L;a=(k[Na>>2]|0)+24|0;a=AR(k[a>>2]|0,k[a+4>>2]|0,k[ba>>2]|0)|0;k[Ia>>2]=a&1;if(k[(k[Ja>>2]|0)+36>>2]&64)c=(m[(k[Na>>2]|0)+36>>1]&32|0)==0;else c=0;k[R>>2]=c&1;a=Sz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+16>>2]=a;k[(k[Xa>>2]|0)+12>>2]=a;k[v>>2]=a;a=Sz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+24>>2]=a;k[Pa>>2]=a;if((l[(k[Xa>>2]|0)+44>>0]|0)>0?(l[(k[H>>2]|0)+36>>0]&8|0)!=0:0){b=(k[Ya>>2]|0)+76|0;a=(k[b>>2]|0)+1|0;k[b>>2]=a;k[k[Xa>>2]>>2]=a;fx(k[ab>>2]|0,22,0,k[k[Xa>>2]>>2]|0)|0}do if((l[(k[H>>2]|0)+36+1>>0]|0)>>>4&1){k[e>>2]=k[(k[H>>2]|0)+28>>2];jx(k[ab>>2]|0,16,k[e>>2]|0,0,k[(k[H>>2]|0)+24>>2]|0)|0;La=fx(k[ab>>2]|0,18,k[e>>2]|0,k[v>>2]|0)|0;k[(k[Xa>>2]|0)+52>>2]=La;i[(k[Xa>>2]|0)+45>>0]=13}else{c=k[Ja>>2]|0;if(k[(k[Ja>>2]|0)+36>>2]&1024){k[D>>2]=m[c+40>>1];yA(k[Ya>>2]|0);La=AA(k[Ya>>2]|0,(k[D>>2]|0)+2|0)|0;k[B>>2]=La;k[z>>2]=k[(k[Xa>>2]|0)+12>>2];k[Sa>>2]=0;while(1){if((k[Sa>>2]|0)>=(k[D>>2]|0))break;k[C>>2]=(k[B>>2]|0)+(k[Sa>>2]|0)+2;k[Za>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(k[Sa>>2]<<2)>>2];do if(k[Za>>2]|0){c=k[Ya>>2]|0;d=k[Za>>2]|0;if(m[(k[Za>>2]|0)+18>>1]&1){ED(c,d,k[Xa>>2]|0,k[Sa>>2]|0,k[Ia>>2]|0,k[C>>2]|0)|0;k[z>>2]=k[(k[Xa>>2]|0)+16>>2];break}else{NA(c,k[(k[d>>2]|0)+16>>2]|0,k[C>>2]|0);break}}while(0);k[Sa>>2]=(k[Sa>>2]|0)+1}fx(k[ab>>2]|0,22,k[(k[Ja>>2]|0)+24>>2]|0,k[B>>2]|0)|0;fx(k[ab>>2]|0,22,k[D>>2]|0,(k[B>>2]|0)+1|0)|0;ix(k[ab>>2]|0,11,k[Ra>>2]|0,k[z>>2]|0,k[B>>2]|0,k[(k[Ja>>2]|0)+24+8>>2]|0,(l[(k[Ja>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;i[(k[Ja>>2]|0)+24+4>>0]=0;k[(k[Xa>>2]|0)+48>>2]=k[Ra>>2];i[(k[Xa>>2]|0)+45>>0]=(l[(k[Na>>2]|0)+40>>0]|0)!=0?160:154;La=Rz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+52>>2]=La;k[A>>2]=k[(k[Xa>>2]|0)+56>>2];k[Sa>>2]=(k[D>>2]|0)-1;while(1){if((k[Sa>>2]|0)<0)break;k[Za>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(k[Sa>>2]<<2)>>2];if((k[Sa>>2]|0)<16?(m[(k[Ja>>2]|0)+24+6>>1]>>k[Sa>>2]&1|0)!=0:0)FD(k[Xa>>2]|0,k[Za>>2]|0);else Ka=21;if((Ka|0)==21?(Ka=0,(m[(k[Za>>2]|0)+18>>1]&1|0)!=0):0){if(!(i[(k[Qa>>2]|0)+69>>0]|0)){Ia=k[ab>>2]|0;La=(k[A>>2]|0)+-1|0;k[A>>2]=La;La=aA(Ia,k[(k[(k[Xa>>2]|0)+56+4>>2]|0)+(La*12|0)+4>>2]|0)|0;k[F>>2]=La;jx(k[ab>>2]|0,l[k[F>>2]>>0]|0,k[(k[F>>2]|0)+4>>2]|0,k[(k[F>>2]|0)+8>>2]|0,k[(k[F>>2]|0)+12>>2]|0)|0}La=Hv(k[Ya>>2]|0,79,0,0,0)|0;k[E>>2]=La;if(k[E>>2]|0){k[(k[E>>2]|0)+12>>2]=k[(k[k[Za>>2]>>2]|0)+12>>2];La=Zv(k[Qa>>2]|0,157,0)|0;k[G>>2]=La;k[(k[E>>2]|0)+16>>2]=La;if(k[G>>2]|0){k[(k[G>>2]|0)+28>>2]=(k[B>>2]|0)+(k[Sa>>2]|0)+2;$A(k[Ya>>2]|0,k[E>>2]|0,k[(k[Xa>>2]|0)+24>>2]|0,0)}k[(k[E>>2]|0)+12>>2]=0;nv(k[Qa>>2]|0,k[E>>2]|0)}}k[Sa>>2]=(k[Sa>>2]|0)+-1}DA(k[Ya>>2]|0,k[B>>2]|0,(k[D>>2]|0)+2|0);wA(k[Ya>>2]|0);break}if((k[c+36>>2]&256|0)!=0?(k[(k[Ja>>2]|0)+36>>2]&5|0)!=0:0){k[Za>>2]=k[k[(k[Ja>>2]|0)+48>>2]>>2];Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[f>>2]=La;La=ED(k[Ya>>2]|0,k[Za>>2]|0,k[Xa>>2]|0,0,k[Ia>>2]|0,k[f>>2]|0)|0;k[O>>2]=La;if((k[O>>2]|0)!=(k[f>>2]|0))oA(k[Ya>>2]|0,k[f>>2]|0);k[I>>2]=k[(k[Xa>>2]|0)+16>>2];fx(k[ab>>2]|0,38,k[O>>2]|0,k[I>>2]|0)|0;jx(k[ab>>2]|0,70,k[Ra>>2]|0,k[I>>2]|0,k[O>>2]|0)|0;SA(k[Ya>>2]|0,k[O>>2]|0,1);wB(k[Ya>>2]|0,k[Ra>>2]|0,-1,k[O>>2]|0);i[(k[Xa>>2]|0)+45>>0]=-96;break}if((k[(k[Ja>>2]|0)+36>>2]&256|0)!=0?(k[(k[Ja>>2]|0)+36>>2]&2|0)!=0:0){k[u>>2]=160;k[g>>2]=0;k[Sa>>2]=0;k[h>>2]=0;k[n>>2]=0;if(k[(k[Ja>>2]|0)+36>>2]&32){La=k[Sa>>2]|0;k[Sa>>2]=La+1;k[n>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(k[(k[Ja>>2]|0)+36>>2]&16){La=k[Sa>>2]|0;k[Sa>>2]=La+1;k[h>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(k[Ia>>2]|0){k[Za>>2]=k[n>>2];k[n>>2]=k[h>>2];k[h>>2]=k[Za>>2]}if(k[n>>2]|0){k[o>>2]=k[k[n>>2]>>2];La=TA(k[Ya>>2]|0,k[(k[o>>2]|0)+16>>2]|0,s)|0;k[q>>2]=La;jx(k[ab>>2]|0,l[34945+((l[k[o>>2]>>0]|0)-80)>>0]|0,k[Ra>>2]|0,k[v>>2]|0,k[q>>2]|0)|0;SA(k[Ya>>2]|0,k[q>>2]|0,1);oA(k[Ya>>2]|0,k[s>>2]|0);FD(k[Xa>>2]|0,k[n>>2]|0)}else fx(k[ab>>2]|0,(k[Ia>>2]|0)!=0?105:108,k[Ra>>2]|0,k[v>>2]|0)|0;if(k[h>>2]|0){k[p>>2]=k[k[h>>2]>>2];Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[g>>2]=La;NA(k[Ya>>2]|0,k[(k[p>>2]|0)+16>>2]|0,k[g>>2]|0);if((l[k[p>>2]>>0]|0)!=82?(l[k[p>>2]>>0]|0)!=80:0)k[u>>2]=(k[Ia>>2]|0)!=0?82:80;else k[u>>2]=(k[Ia>>2]|0)!=0?81:83;FD(k[Xa>>2]|0,k[h>>2]|0)}La=Rz(k[ab>>2]|0)|0;k[t>>2]=La;i[(k[Xa>>2]|0)+45>>0]=(k[Ia>>2]|0)!=0?6:7;k[(k[Xa>>2]|0)+48>>2]=k[Ra>>2];k[(k[Xa>>2]|0)+52>>2]=k[t>>2];if((k[u>>2]|0)==160)break;Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[O>>2]=La;fx(k[ab>>2]|0,103,k[Ra>>2]|0,k[O>>2]|0)|0;wB(k[Ya>>2]|0,k[Ra>>2]|0,-1,k[O>>2]|0);jx(k[ab>>2]|0,k[u>>2]|0,k[g>>2]|0,k[v>>2]|0,k[O>>2]|0)|0;Rh(k[ab>>2]|0,83);break}c=k[Ja>>2]|0;if(!(k[(k[Ja>>2]|0)+36>>2]&512)){if(!(k[c+36>>2]&8192))if((l[(k[H>>2]|0)+36+1>>0]|0)>>>5&1){i[(k[Xa>>2]|0)+45>>0]=-96;break}else{i[(k[Xa>>2]|0)+45>>0]=i[34961+(k[Ia>>2]|0)>>0]|0;k[(k[Xa>>2]|0)+48>>2]=k[Ra>>2];La=1+(fx(k[ab>>2]|0,l[34963+(k[Ia>>2]|0)>>0]|0,k[Ra>>2]|0,k[v>>2]|0)|0)|0;k[(k[Xa>>2]|0)+52>>2]=La;i[(k[Xa>>2]|0)+47>>0]=1;break}k[ra>>2]=0;c=(k[Ya>>2]|0)+72|0;Ia=k[c>>2]|0;k[c>>2]=Ia+1;k[ea>>2]=Ia;Ia=(k[Ya>>2]|0)+76|0;c=(k[Ia>>2]|0)+1|0;k[Ia>>2]=c;k[Da>>2]=c;k[Fa>>2]=0;k[Ea>>2]=0;c=Sz(k[ab>>2]|0)|0;k[ga>>2]=c;k[Ga>>2]=0;k[qa>>2]=0;k[Ba>>2]=k[(k[H>>2]|0)+16>>2];k[Za>>2]=k[k[(k[Ja>>2]|0)+48>>2]>>2];k[wa>>2]=k[(k[Za>>2]|0)+12>>2];i[(k[Xa>>2]|0)+45>>0]=15;k[(k[Xa>>2]|0)+48>>2]=k[Da>>2];c=k[Na>>2]|0;a:do if((l[(k[Na>>2]|0)+43>>0]|0)>1){k[na>>2]=(l[c+43>>0]|0)-(k[ba>>2]|0)-1;Ja=Kh(k[Qa>>2]|0,80+((k[na>>2]|0)*72|0)|0,0)|0;k[ua>>2]=Ja;if(!(k[ua>>2]|0)){_a=Oa;ab=k[_a+4>>2]|0;$a=Ma;k[$a>>2]=k[_a>>2];k[$a+4>>2]=ab;$a=Ma;ab=$a;ab=k[ab>>2]|0;$a=$a+4|0;$a=k[$a>>2]|0;L=$a;r=bb;return ab|0}k[(k[ua>>2]|0)+4>>2]=(k[na>>2]|0)+1&255;k[k[ua>>2]>>2]=k[(k[ua>>2]|0)+4>>2];b=(k[ua>>2]|0)+8|0;c=k[H>>2]|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[pa>>2]=(k[(k[Na>>2]|0)+4>>2]|0)+8;k[La>>2]=1;while(1){if((k[La>>2]|0)>(k[na>>2]|0))break a;b=(k[ua>>2]|0)+8+((k[La>>2]|0)*72|0)|0;c=(k[pa>>2]|0)+((l[(k[Xa>>2]|0)+((k[La>>2]|0)*80|0)+44>>0]|0)*72|0)|0;d=b+72|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[La>>2]=(k[La>>2]|0)+1}}else k[ua>>2]=k[c+4>>2];while(0);if(!(m[(k[Na>>2]|0)+36>>1]&8)){if(!(l[(k[Ba>>2]|0)+42>>0]&32)){Ja=(k[Ya>>2]|0)+76|0;La=(k[Ja>>2]|0)+1|0;k[Ja>>2]=La;k[Fa>>2]=La;fx(k[ab>>2]|0,25,0,k[Fa>>2]|0)|0}else{Ja=Rj(k[Ba>>2]|0)|0;k[xa>>2]=Ja;Ja=(k[Ya>>2]|0)+72|0;La=k[Ja>>2]|0;k[Ja>>2]=La+1;k[Fa>>2]=La;fx(k[ab>>2]|0,57,k[Fa>>2]|0,m[(k[xa>>2]|0)+50>>1]|0)|0;Qz(k[Ya>>2]|0,k[xa>>2]|0)}Ja=(k[Ya>>2]|0)+76|0;La=(k[Ja>>2]|0)+1|0;k[Ja>>2]=La;k[Ea>>2]=La}La=fx(k[ab>>2]|0,22,0,k[Da>>2]|0)|0;k[ia>>2]=La;if((k[(k[_a>>2]|0)+12>>2]|0)>1){k[ka>>2]=0;while(1){if((k[ka>>2]|0)>=(k[(k[_a>>2]|0)+12>>2]|0))break;k[sa>>2]=k[(k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)>>2];do if((((k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)|0)!=(k[Za>>2]|0)?(k[(k[sa>>2]|0)+4>>2]&1|0)==0:0)?(m[(k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)+20>>1]&6|0)==0:0){if(!(m[(k[(k[_a>>2]|0)+20>>2]|0)+((k[ka>>2]|0)*48|0)+18>>1]&8191))break;La=Dy(k[Qa>>2]|0,k[sa>>2]|0,0)|0;k[sa>>2]=La;La=qz(k[Qa>>2]|0,k[qa>>2]|0,k[sa>>2]|0)|0;k[qa>>2]=La}while(0);k[ka>>2]=(k[ka>>2]|0)+1}if(k[qa>>2]|0){La=Hv(k[Ya>>2]|0,328,0,k[qa>>2]|0,0)|0;k[qa>>2]=La}}j[Ha>>1]=240;k[la>>2]=0;while(1){if((k[la>>2]|0)>=(k[(k[wa>>2]|0)+12>>2]|0))break;k[va>>2]=(k[(k[wa>>2]|0)+20>>2]|0)+((k[la>>2]|0)*48|0);if(!((k[(k[va>>2]|0)+8>>2]|0)!=(k[Ra>>2]|0)?(m[(k[va>>2]|0)+18>>1]&1024|0)==0:0)){k[ta>>2]=k[k[va>>2]>>2];k[ma>>2]=0;if((k[qa>>2]|0)!=0?(k[(k[ta>>2]|0)+4>>2]&1|0)==0:0){k[(k[qa>>2]|0)+12>>2]=k[ta>>2];k[ta>>2]=k[qa>>2]}La=fD(k[Ya>>2]|0,k[ua>>2]|0,k[ta>>2]|0,0,0,j[Ha>>1]|0,k[ea>>2]|0)|0;k[Aa>>2]=La;if(k[Aa>>2]|0){La=BD(k[Ya>>2]|0,k[ua>>2]|0,(k[Aa>>2]|0)+736|0,k[ba>>2]|0,l[(k[Xa>>2]|0)+44>>0]|0,0)|0;k[ca>>2]=La;do if(!(m[(k[Na>>2]|0)+36>>1]&8)){k[ja>>2]=(k[la>>2]|0)==((k[(k[wa>>2]|0)+12>>2]|0)-1|0)?-1:k[la>>2]|0;if(!(l[(k[Ba>>2]|0)+42>>0]&32)){La=PA(k[Ya>>2]|0,k[Ba>>2]|0,-1,k[Ra>>2]|0,k[Ea>>2]|0,0)|0;k[Ca>>2]=La;La=Qh(k[ab>>2]|0,131,k[Fa>>2]|0,0,k[Ca>>2]|0,k[ja>>2]|0)|0;k[ma>>2]=La;break}La=Rj(k[Ba>>2]|0)|0;k[ya>>2]=La;k[oa>>2]=m[(k[ya>>2]|0)+50>>1];La=AA(k[Ya>>2]|0,k[oa>>2]|0)|0;k[Ca>>2]=La;k[ha>>2]=0;while(1){if((k[ha>>2]|0)>=(k[oa>>2]|0))break;k[da>>2]=j[(k[(k[ya>>2]|0)+4>>2]|0)+(k[ha>>2]<<1)>>1];LD(k[Ya>>2]|0,k[Ba>>2]|0,k[da>>2]|0,k[Ra>>2]|0,(k[Ca>>2]|0)+(k[ha>>2]|0)|0);k[ha>>2]=(k[ha>>2]|0)+1}if(k[ja>>2]|0){La=Qh(k[ab>>2]|0,69,k[Fa>>2]|0,0,k[Ca>>2]|0,k[oa>>2]|0)|0;k[ma>>2]=La}do if((k[ja>>2]|0)>=0){jx(k[ab>>2]|0,49,k[Ca>>2]|0,k[oa>>2]|0,k[Ea>>2]|0)|0;jx(k[ab>>2]|0,110,k[Fa>>2]|0,k[Ea>>2]|0,0)|0;if(!(k[ja>>2]|0))break;Rh(k[ab>>2]|0,16)}while(0);DA(k[Ya>>2]|0,k[Ca>>2]|0,k[oa>>2]|0)}while(0);fx(k[ab>>2]|0,14,k[Da>>2]|0,k[ga>>2]|0)|0;if(k[ma>>2]|0)Vz(k[ab>>2]|0,k[ma>>2]|0);if(i[(k[Aa>>2]|0)+41>>0]|0)k[Ga>>2]=1;k[za>>2]=k[(k[Aa>>2]|0)+736+64>>2];do if(k[(k[za>>2]|0)+36>>2]&512){if((k[la>>2]|0)!=0?(k[(k[za>>2]|0)+24+4>>2]|0)!=(k[ra>>2]|0):0){Ka=179;break}if((l[(k[Ba>>2]|0)+42>>0]&32|0)!=0?(i[(k[(k[za>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ka=179;break}k[ra>>2]=k[(k[za>>2]|0)+24+4>>2];j[Ha>>1]=m[Ha>>1]|4096}else Ka=179;while(0);if((Ka|0)==179){Ka=0;k[ra>>2]=0}gD(k[Aa>>2]|0)}}k[la>>2]=(k[la>>2]|0)+1}k[(k[Xa>>2]|0)+56>>2]=k[ra>>2];if(k[ra>>2]|0)k[(k[Xa>>2]|0)+8>>2]=k[ea>>2];if(k[qa>>2]|0){k[(k[qa>>2]|0)+12>>2]=0;nv(k[Qa>>2]|0,k[qa>>2]|0)}Ka=k[ab>>2]|0;La=k[ia>>2]|0;MD(Ka,La,Rz(k[ab>>2]|0)|0);Uz(k[ab>>2]|0,k[(k[Xa>>2]|0)+12>>2]|0)|0;Wz(k[ab>>2]|0,k[ga>>2]|0);if((l[(k[Na>>2]|0)+43>>0]|0)>1)bg(k[Qa>>2]|0,k[ua>>2]|0);if(k[Ga>>2]|0)break;FD(k[Xa>>2]|0,k[Za>>2]|0);break}j[Q>>1]=j[c+24>>1]|0;k[W>>2]=0;k[V>>2]=0;k[w>>2]=0;i[M>>0]=0;i[J>>0]=0;i[K>>0]=0;k[T>>2]=k[(k[Ja>>2]|0)+24+4>>2];k[fa>>2]=k[(k[Xa>>2]|0)+8>>2];if(((m[(k[Na>>2]|0)+36>>1]&1|0)!=0?(i[(k[Na>>2]|0)+38>>0]|0)>0:0)?(m[(k[T>>2]|0)+50>>1]|0)>(m[Q>>1]|0):0){i[J>>0]=1;k[w>>2]=1}k[Sa>>2]=m[Q>>1];if(k[(k[Ja>>2]|0)+36>>2]&32){Ka=k[Sa>>2]|0;k[Sa>>2]=Ka+1;k[W>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];k[w>>2]=1}if(k[(k[Ja>>2]|0)+36>>2]&16){Ka=k[Sa>>2]|0;k[Sa>>2]=Ka+1;k[V>>2]=k[(k[(k[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];k[w>>2]=1;if(m[(k[V>>2]|0)+20>>1]&256){Ha=(k[Ya>>2]|0)+76|0;Ka=(k[Ha>>2]|0)+1|0;k[Ha>>2]=Ka;k[(k[Xa>>2]|0)+36>>2]=Ka;fx(k[ab>>2]|0,22,k[Ia>>2]^(l[(k[(k[T>>2]|0)+28>>2]|0)+(m[Q>>1]|0)>>0]|0)==1,k[(k[Xa>>2]|0)+36>>2]|0)|0;Ka=Rz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+40>>2]=Ka}if(((k[W>>2]|0)==0?(Ka=j[(k[(k[T>>2]|0)+4>>2]|0)+(m[Q>>1]<<1)>>1]|0,k[Sa>>2]=Ka,(Ka|0)>=0):0)?(l[(k[(k[(k[T>>2]|0)+12>>2]|0)+4>>2]|0)+(k[Sa>>2]<<4)+12>>0]|0)==0:0)i[J>>0]=1}if((m[Q>>1]|0)<(m[(k[T>>2]|0)+50>>1]|0)?(k[Ia>>2]|0)==((l[(k[(k[T>>2]|0)+28>>2]|0)+(m[Q>>1]|0)>>0]|0)==0|0):0)Ka=72;else Ka=70;if(((Ka|0)==70?(k[Ia>>2]|0)!=0:0)?(m[(k[T>>2]|0)+50>>1]|0)==(m[Q>>1]|0):0)Ka=72;if((Ka|0)==72){k[x>>2]=k[V>>2];k[V>>2]=k[W>>2];k[W>>2]=k[x>>2];i[y>>0]=i[J>>0]|0;i[J>>0]=i[K>>0]|0;i[K>>0]=i[y>>0]|0}Ka=GD(k[Ya>>2]|0,k[Xa>>2]|0,k[Ia>>2]|0,k[w>>2]|0,aa)|0;k[Z>>2]=Ka;if(k[aa>>2]|0)i[M>>0]=i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]|0;k[I>>2]=k[(k[Xa>>2]|0)+16>>2];if(k[W>>2]|0)c=(m[(k[W>>2]|0)+18>>1]&40|0)!=0;else c=1;k[_>>2]=c&1;if(k[V>>2]|0)c=(m[(k[V>>2]|0)+18>>1]&40|0)!=0;else c=1;k[N>>2]=c&1;if(k[W>>2]|0)c=1;else c=(m[Q>>1]|0)>0;k[$>>2]=c&1;k[P>>2]=m[Q>>1];if(!(k[W>>2]|0)){if(i[J>>0]|0){fx(k[ab>>2]|0,25,0,(k[Z>>2]|0)+(m[Q>>1]|0)|0)|0;k[P>>2]=(k[P>>2]|0)+1;k[_>>2]=0;k[$>>2]=1}}else{k[X>>2]=k[(k[k[W>>2]>>2]|0)+16>>2];NA(k[Ya>>2]|0,k[X>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0);HD(k[ab>>2]|0,k[Xa>>2]|0,k[W>>2]|0);do if(!(m[(k[W>>2]|0)+20>>1]&0)){if(!(fB(k[X>>2]|0)|0))break;fx(k[ab>>2]|0,76,(k[Z>>2]|0)+(m[Q>>1]|0)|0,k[I>>2]|0)|0}while(0);do if(k[aa>>2]|0){if(((gB(k[X>>2]|0,i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]=65;if(!(ID(k[X>>2]|0,i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]|0)|0))break;i[(k[aa>>2]|0)+(m[Q>>1]|0)>>0]=65}while(0);k[P>>2]=(k[P>>2]|0)+1}JD(k[Ya>>2]|0,k[Z>>2]|0,(k[P>>2]|0)-(l[J>>0]|0)|0,k[aa>>2]|0);if(!((m[(k[Ja>>2]|0)+42>>1]|0)>0?(k[P>>2]|0)==(m[(k[Ja>>2]|0)+42>>1]|0):0)){k[S>>2]=l[34949+((k[$>>2]<<2)+(k[_>>2]<<1)+(k[Ia>>2]|0))>>0];Qh(k[ab>>2]|0,k[S>>2]|0,k[fa>>2]|0,k[I>>2]|0,k[Z>>2]|0,k[P>>2]|0)|0}k[P>>2]=m[Q>>1];do if(k[V>>2]|0){k[Y>>2]=k[(k[k[V>>2]>>2]|0)+16>>2];EA(k[Ya>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0,1);NA(k[Ya>>2]|0,k[Y>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0);HD(k[ab>>2]|0,k[Xa>>2]|0,k[V>>2]|0);do if(!(m[(k[V>>2]|0)+20>>1]&0)){if(!(fB(k[Y>>2]|0)|0))break;fx(k[ab>>2]|0,76,(k[Z>>2]|0)+(m[Q>>1]|0)|0,k[I>>2]|0)|0}while(0);do if(((gB(k[Y>>2]|0,i[M>>0]|0)|0)<<24>>24|0)!=65){if(ID(k[Y>>2]|0,i[M>>0]|0)|0)break;JD(k[Ya>>2]|0,(k[Z>>2]|0)+(m[Q>>1]|0)|0,1,M)}while(0);k[P>>2]=(k[P>>2]|0)+1}else{if(!(i[K>>0]|0))break;fx(k[ab>>2]|0,25,0,(k[Z>>2]|0)+(m[Q>>1]|0)|0)|0;k[N>>2]=0;k[P>>2]=(k[P>>2]|0)+1}while(0);bg(k[Qa>>2]|0,k[aa>>2]|0);Ka=Rz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+52>>2]=Ka;if(k[P>>2]|0){k[S>>2]=l[34957+((k[Ia>>2]<<1)+(k[N>>2]|0))>>0];Qh(k[ab>>2]|0,k[S>>2]|0,k[fa>>2]|0,k[I>>2]|0,k[Z>>2]|0,k[P>>2]|0)|0}FD(k[Xa>>2]|0,k[W>>2]|0);FD(k[Xa>>2]|0,k[V>>2]|0);do if(!(k[R>>2]|0)){if(!(l[(k[(k[T>>2]|0)+12>>2]|0)+42>>0]&32))if(l[(k[Na>>2]|0)+40>>0]|0){Ka=(k[Ya>>2]|0)+76|0;La=(k[Ka>>2]|0)+1|0;k[Ka>>2]=La;k[O>>2]=La;fx(k[ab>>2]|0,113,k[fa>>2]|0,k[O>>2]|0)|0;wB(k[Ya>>2]|0,k[Ra>>2]|0,-1,k[O>>2]|0);jx(k[ab>>2]|0,70,k[Ra>>2]|0,0,k[O>>2]|0)|0;break}else{KD(k[Na>>2]|0,k[T>>2]|0,k[Ra>>2]|0,k[fa>>2]|0);break}if((k[Ra>>2]|0)==(k[fa>>2]|0))break;Ka=Rj(k[(k[T>>2]|0)+12>>2]|0)|0;k[U>>2]=Ka;Ka=AA(k[Ya>>2]|0,m[(k[U>>2]|0)+50>>1]|0)|0;k[O>>2]=Ka;k[Sa>>2]=0;while(1){if((k[Sa>>2]|0)>=(m[(k[U>>2]|0)+50>>1]|0))break;Ka=(KA(k[T>>2]|0,j[(k[(k[U>>2]|0)+4>>2]|0)+(k[Sa>>2]<<1)>>1]|0)|0)<<16>>16;k[La>>2]=Ka;jx(k[ab>>2]|0,47,k[fa>>2]|0,k[La>>2]|0,(k[O>>2]|0)+(k[Sa>>2]|0)|0)|0;k[Sa>>2]=(k[Sa>>2]|0)+1}Qh(k[ab>>2]|0,68,k[Ra>>2]|0,k[Pa>>2]|0,k[O>>2]|0,m[(k[U>>2]|0)+50>>1]|0)|0}while(0);do if(!(k[(k[Ja>>2]|0)+36>>2]&4096)){c=(k[Xa>>2]|0)+45|0;if(k[Ia>>2]|0){i[c>>0]=6;break}else{i[c>>0]=7;break}}else i[(k[Xa>>2]|0)+45>>0]=-96;while(0);k[(k[Xa>>2]|0)+48>>2]=k[fa>>2];i[(k[Xa>>2]|0)+46>>0]=(k[(k[Ja>>2]|0)+36>>2]&65536|0)!=0?1:0;if(k[(k[Ja>>2]|0)+36>>2]&15)break;i[(k[Xa>>2]|0)+47>>0]=1}while(0);k[Za>>2]=k[(k[_a>>2]|0)+20>>2];k[Sa>>2]=k[(k[_a>>2]|0)+12>>2];while(1){if((k[Sa>>2]|0)<=0)break;k[$a>>2]=0;do if(!(m[(k[Za>>2]|0)+20>>1]&6)){Ka=(k[Za>>2]|0)+40|0;La=(k[Xa>>2]|0)+72|0;if((k[Ka>>2]&k[La>>2]|0)!=0?1:(k[Ka+4>>2]&k[La+4>>2]|0)!=0){i[(k[Na>>2]|0)+41>>0]=1;break}k[Ua>>2]=k[k[Za>>2]>>2];if((k[k[Xa>>2]>>2]|0)!=0?(k[(k[Ua>>2]|0)+4>>2]&1|0)==0:0)break;if(m[(k[Za>>2]|0)+20>>1]&512){La=Nz(k[ab>>2]|0,46,k[(k[Xa>>2]|0)+36>>2]|0)|0;k[$a>>2]=La}$A(k[Ya>>2]|0,k[Ua>>2]|0,k[Pa>>2]|0,16);if(k[$a>>2]|0)Vz(k[ab>>2]|0,k[$a>>2]|0);La=(k[Za>>2]|0)+20|0;j[La>>1]=m[La>>1]|4}while(0);k[Sa>>2]=(k[Sa>>2]|0)+-1;k[Za>>2]=(k[Za>>2]|0)+48}k[Za>>2]=k[(k[_a>>2]|0)+20>>2];k[Sa>>2]=k[(k[_a>>2]|0)+12>>2];while(1){if((k[Sa>>2]|0)<=0)break;if((((((((m[(k[Za>>2]|0)+20>>1]&6|0)==0?(m[(k[Za>>2]|0)+18>>1]&130|0)!=0:0)?(m[(k[Za>>2]|0)+18>>1]&2048|0)!=0:0)?(k[(k[Za>>2]|0)+8>>2]|0)==(k[Ra>>2]|0):0)?(k[k[Xa>>2]>>2]|0)==0:0)?(k[Va>>2]=k[k[Za>>2]>>2],$a=Oa,$a=ND(k[_a>>2]|0,k[Ra>>2]|0,k[(k[Za>>2]|0)+12>>2]|0,k[$a>>2]|0,k[$a+4>>2]|0,131,0)|0,k[Ta>>2]=$a,(k[Ta>>2]|0)!=0):0)?(m[(k[Ta>>2]|0)+20>>1]&4|0)==0:0)?($a=Kh(k[Qa>>2]|0,48,0)|0,k[Wa>>2]=$a,(k[Wa>>2]|0)!=0):0){b=k[Wa>>2]|0;c=k[k[Ta>>2]>>2]|0;d=b+48|0;do{k[b>>2]=k[c>>2];b=b+4|0;c=c+4|0}while((b|0)<(d|0));k[(k[Wa>>2]|0)+12>>2]=k[(k[Va>>2]|0)+12>>2];$A(k[Ya>>2]|0,k[Wa>>2]|0,k[Pa>>2]|0,16);bg(k[Qa>>2]|0,k[Wa>>2]|0)}k[Sa>>2]=(k[Sa>>2]|0)+-1;k[Za>>2]=(k[Za>>2]|0)+48}b:do if(k[k[Xa>>2]>>2]|0){$a=Rz(k[ab>>2]|0)|0;k[(k[Xa>>2]|0)+28>>2]=$a;fx(k[ab>>2]|0,22,1,k[k[Xa>>2]>>2]|0)|0;uC(k[Ya>>2]|0);k[Za>>2]=k[(k[_a>>2]|0)+20>>2];k[Sa>>2]=0;while(1){if((k[Sa>>2]|0)>=(k[(k[_a>>2]|0)+12>>2]|0))break b;if((m[(k[Za>>2]|0)+20>>1]&6|0)==0?($a=(k[Za>>2]|0)+40|0,ab=(k[Xa>>2]|0)+72|0,!((k[$a>>2]&k[ab>>2]|0)!=0?1:(k[$a+4>>2]&k[ab+4>>2]|0)!=0)):0){$A(k[Ya>>2]|0,k[k[Za>>2]>>2]|0,k[Pa>>2]|0,16);ab=(k[Za>>2]|0)+20|0;j[ab>>1]=m[ab>>1]|4}k[Sa>>2]=(k[Sa>>2]|0)+1;k[Za>>2]=(k[Za>>2]|0)+48}}while(0);_a=(k[Xa>>2]|0)+72|0;ab=k[_a+4>>2]|0;$a=Ma;k[$a>>2]=k[_a>>2];k[$a+4>>2]=ab;$a=Ma;ab=$a;ab=k[ab>>2]|0;$a=$a+4|0;$a=k[$a>>2]|0;L=$a;r=bb;return ab|0}function DD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[c>>2]>>2]|0)){b=6;break}a=k[e>>2]|0;if((k[(k[c>>2]|0)+4+(k[e>>2]<<2)>>2]|0)==(k[d>>2]|0)){b=4;break}k[e>>2]=a+1}if((b|0)==4){d=ER(1,0,a|0)|0;e=f;k[e>>2]=d;k[e+4>>2]=L;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}else if((b|0)==6){e=f;k[e>>2]=0;k[e+4>>2]=0;e=f;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}return 0}function ED(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,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+64|0;g=x+48|0;p=x+44|0;q=x+40|0;h=x+36|0;s=x+32|0;j=x+28|0;n=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;o=x+8|0;v=x+4|0;m=x;k[g>>2]=a;k[p>>2]=b;k[q>>2]=c;k[h>>2]=d;k[s>>2]=e;k[j>>2]=f;k[n>>2]=k[k[p>>2]>>2];k[w>>2]=k[(k[g>>2]|0)+8>>2];if((l[k[n>>2]>>0]|0|0)!=79?(l[k[n>>2]>>0]|0|0)!=73:0){if((l[k[n>>2]>>0]|0|0)==76){k[u>>2]=k[j>>2];fx(k[w>>2]|0,25,0,k[u>>2]|0)|0;v=k[q>>2]|0;w=k[p>>2]|0;FD(v,w);w=k[u>>2]|0;r=x;return w|0}k[m>>2]=k[(k[q>>2]|0)+64>>2];if(((k[(k[m>>2]|0)+36>>2]&1024|0)==0?(k[(k[m>>2]|0)+24+4>>2]|0)!=0:0)?(l[(k[(k[(k[m>>2]|0)+24+4>>2]|0)+28>>2]|0)+(k[h>>2]|0)>>0]|0|0)!=0:0)k[s>>2]=((k[s>>2]|0)!=0^1)&1;k[u>>2]=k[j>>2];b=dB(k[g>>2]|0,k[n>>2]|0,4,0)|0;k[t>>2]=b;if((k[t>>2]|0)==4)k[s>>2]=((k[s>>2]|0)!=0^1)&1;k[o>>2]=k[(k[n>>2]|0)+28>>2];fx(k[w>>2]|0,(k[s>>2]|0)!=0?105:108,k[o>>2]|0,0)|0;n=(k[m>>2]|0)+36|0;k[n>>2]=k[n>>2]|2048;if(!(k[(k[q>>2]|0)+56>>2]|0)){n=Sz(k[w>>2]|0)|0;k[(k[q>>2]|0)+16>>2]=n}n=(k[q>>2]|0)+56|0;k[n>>2]=(k[n>>2]|0)+1;g=Lx(k[k[g>>2]>>2]|0,k[(k[q>>2]|0)+56+4>>2]|0,(k[(k[q>>2]|0)+56>>2]|0)*12|0,0)|0;k[(k[q>>2]|0)+56+4>>2]=g;k[v>>2]=k[(k[q>>2]|0)+56+4>>2];g=(k[q>>2]|0)+56|0;if(!(k[v>>2]|0)){k[g>>2]=0;v=k[q>>2]|0;w=k[p>>2]|0;FD(v,w);w=k[u>>2]|0;r=x;return w|0}k[v>>2]=(k[v>>2]|0)+(((k[g>>2]|0)-1|0)*12|0);k[k[v>>2]>>2]=k[o>>2];j=k[w>>2]|0;g=k[o>>2]|0;h=k[u>>2]|0;if((k[t>>2]|0)==1){t=fx(j,103,g,h)|0;k[(k[v>>2]|0)+4>>2]=t}else{t=jx(j,47,g,0,h)|0;k[(k[v>>2]|0)+4>>2]=t}i[(k[v>>2]|0)+8>>0]=(k[s>>2]|0)!=0?4:5;Nz(k[w>>2]|0,76,k[u>>2]|0)|0;v=k[q>>2]|0;w=k[p>>2]|0;FD(v,w);w=k[u>>2]|0;r=x;return w|0}v=OA(k[g>>2]|0,k[(k[n>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[u>>2]=v;v=k[q>>2]|0;w=k[p>>2]|0;FD(v,w);w=k[u>>2]|0;r=x;return w|0}function FD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if(!(k[d>>2]|0)){c=14;break}if((m[(k[d>>2]|0)+20>>1]|0)&4){c=14;break}if((k[k[c>>2]>>2]|0)!=0?(k[(k[k[d>>2]>>2]|0)+4>>2]&1|0)==0:0){c=14;break}a=(k[c>>2]|0)+72|0;b=(k[d>>2]|0)+40|0;if(!((k[a>>2]&k[b>>2]|0)==0?(k[a+4>>2]&k[b+4>>2]|0)==0:0)){c=14;break}if((k[e>>2]|0)!=0?((m[(k[d>>2]|0)+20>>1]|0)&1024|0)!=0:0){b=(k[d>>2]|0)+20|0;j[b>>1]=m[b>>1]|0|512}else{b=(k[d>>2]|0)+20|0;j[b>>1]=m[b>>1]|0|4}if((k[(k[d>>2]|0)+4>>2]|0)<0){c=14;break}k[d>>2]=(k[(k[(k[d>>2]|0)+24>>2]|0)+20>>2]|0)+((k[(k[d>>2]|0)+4>>2]|0)*48|0);b=(k[d>>2]|0)+22|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;if(l[(k[d>>2]|0)+22>>0]|0){c=14;break}k[e>>2]=(k[e>>2]|0)+1}if((c|0)==14){r=f;return}}function GD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=r;r=r+80|0;f=A+60|0;g=A+56|0;h=A+52|0;C=A+48|0;l=A+44|0;p=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;o=A+24|0;x=A+20|0;q=A+16|0;z=A+12|0;n=A+8|0;w=A+4|0;u=A;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[C>>2]=d;k[l>>2]=e;k[y>>2]=k[(k[f>>2]|0)+8>>2];k[t>>2]=k[(k[g>>2]|0)+64>>2];j[p>>1]=j[(k[t>>2]|0)+24>>1]|0;j[s>>1]=j[(k[t>>2]|0)+42>>1]|0;k[B>>2]=k[(k[t>>2]|0)+24+4>>2];k[x>>2]=(k[(k[f>>2]|0)+76>>2]|0)+1;k[q>>2]=(m[(k[t>>2]|0)+24>>1]|0)+(k[C>>2]|0);e=(k[f>>2]|0)+76|0;k[e>>2]=(k[e>>2]|0)+(k[q>>2]|0);e=k[k[f>>2]>>2]|0;e=zh(e,sC(k[k[f>>2]>>2]|0,k[B>>2]|0)|0)|0;k[z>>2]=e;a:do if(j[s>>1]|0){k[n>>2]=k[(k[g>>2]|0)+8>>2];Nz(k[y>>2]|0,(k[h>>2]|0)!=0?105:108,k[n>>2]|0)|0;C=mx(k[y>>2]|0,13)|0;k[o>>2]=C;C=Qh(k[y>>2]|0,(k[h>>2]|0)!=0?63:66,k[n>>2]|0,0,k[x>>2]|0,m[s>>1]|0)|0;k[(k[g>>2]|0)+20>>2]=C;Vz(k[y>>2]|0,k[o>>2]|0);k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[s>>1]|0))break a;jx(k[y>>2]|0,47,k[n>>2]|0,k[o>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[o>>2]=m[s>>1];while(1){if((k[o>>2]|0)>=(m[p>>1]|0))break;k[v>>2]=k[(k[(k[t>>2]|0)+48>>2]|0)+(k[o>>2]<<2)>>2];C=ED(k[f>>2]|0,k[v>>2]|0,k[g>>2]|0,k[o>>2]|0,k[h>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;k[w>>2]=C;do if((k[w>>2]|0)!=((k[x>>2]|0)+(k[o>>2]|0)|0))if((k[q>>2]|0)==1){oA(k[f>>2]|0,k[x>>2]|0);k[x>>2]=k[w>>2];break}else{fx(k[y>>2]|0,31,k[w>>2]|0,(k[x>>2]|0)+(k[o>>2]|0)|0)|0;break}while(0);if(!(m[(k[v>>2]|0)+18>>1]&257)){k[u>>2]=k[(k[k[v>>2]>>2]|0)+16>>2];if((m[(k[v>>2]|0)+20>>1]&2048|0)==0?(fB(k[u>>2]|0)|0)!=0:0)fx(k[y>>2]|0,76,(k[x>>2]|0)+(k[o>>2]|0)|0,k[(k[g>>2]|0)+12>>2]|0)|0;if(k[z>>2]|0){if(((gB(k[u>>2]|0,i[(k[z>>2]|0)+(k[o>>2]|0)>>0]|0)|0)<<24>>24|0)==65)i[(k[z>>2]|0)+(k[o>>2]|0)>>0]=65;if(ID(k[u>>2]|0,i[(k[z>>2]|0)+(k[o>>2]|0)>>0]|0)|0)i[(k[z>>2]|0)+(k[o>>2]|0)>>0]=65}}k[o>>2]=(k[o>>2]|0)+1}k[k[l>>2]>>2]=k[z>>2];r=A;return k[x>>2]|0}function HD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[h>>2]=c;if(!((m[(k[h>>2]|0)+20>>1]|0)&256)){r=g;return}h=aA(k[d>>2]|0,-1)|0;k[f>>2]=h;k[(k[f>>2]|0)+12>>2]=k[(k[e>>2]|0)+36>>2];i[(k[f>>2]|0)+3>>0]=1;r=g;return}function ID(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;f=g+4|0;c=g;d=g+9|0;e=g+8|0;k[c>>2]=a;i[d>>0]=b;a:do if((i[d>>0]|0)==65)k[f>>2]=1;else{while(1){if((l[k[c>>2]>>0]|0)==156)a=1;else a=(l[k[c>>2]>>0]|0)==155;b=k[c>>2]|0;if(!a)break;k[c>>2]=k[b+12>>2]}i[e>>0]=i[b>>0]|0;if((l[e>>0]|0)==157)i[e>>0]=i[(k[c>>2]|0)+38>>0]|0;switch(l[e>>0]|0){case 132:{if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 133:{if((i[d>>0]|0)==69)b=1;else b=(i[d>>0]|0)==67;k[f>>2]=b&1;break a}case 97:{k[f>>2]=(i[d>>0]|0)==66&1;break a}case 134:{k[f>>2]=1;break a}case 152:{if((j[(k[c>>2]|0)+32>>1]|0)<0)if((i[d>>0]|0)==68)b=1;else b=(i[d>>0]|0)==67;else b=0;k[f>>2]=b&1;break a}default:{k[f>>2]=0;break a}}}while(0);r=g;return k[f>>2]|0}function JD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=k[(k[e>>2]|0)+8>>2];if(!(k[h>>2]|0)){r=l;return}while(1){if((k[g>>2]|0)<=0)break;if((i[k[h>>2]>>0]|0)!=65)break;k[g>>2]=(k[g>>2]|0)+-1;k[f>>2]=(k[f>>2]|0)+1;k[h>>2]=(k[h>>2]|0)+1}while(1){if((k[g>>2]|0)>1)c=(i[(k[h>>2]|0)+((k[g>>2]|0)-1)>>0]|0)==65;else c=0;b=k[g>>2]|0;if(!c)break;k[g>>2]=b+-1}if((b|0)<=0){r=l;return}ix(k[j>>2]|0,48,k[f>>2]|0,k[g>>2]|0,0,k[h>>2]|0,k[g>>2]|0)|0;SA(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0);r=l;return}function KD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;n=r;r=r+48|0;o=n+32|0;e=n+28|0;p=n+24|0;q=n+20|0;h=n+16|0;l=n+12|0;g=n+8|0;i=n+4|0;f=n;k[o>>2]=a;k[e>>2]=b;k[p>>2]=c;k[q>>2]=d;k[h>>2]=k[k[o>>2]>>2];k[l>>2]=k[(k[h>>2]|0)+8>>2];jx(k[l>>2]|0,112,k[q>>2]|0,0,k[p>>2]|0)|0;if(!(m[(k[o>>2]|0)+36>>1]&32)){r=n;return}c=k[h>>2]|0;if(k[(k[h>>2]|0)+416>>2]|0)c=k[c+416>>2]|0;if(k[c+336>>2]|0){r=n;return}k[i>>2]=k[(k[e>>2]|0)+12>>2];q=Bh(k[k[h>>2]>>2]|0,(j[(k[i>>2]|0)+34>>1]|0)+1<<2,0)|0;k[f>>2]=q;if(!(k[f>>2]|0)){r=n;return}k[k[f>>2]>>2]=j[(k[i>>2]|0)+34>>1];k[g>>2]=0;while(1){if((k[g>>2]|0)>=((m[(k[e>>2]|0)+52>>1]|0)-1|0))break;if((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)>=0)k[(k[f>>2]|0)+((j[(k[(k[e>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1]|0)+1<<2)>>2]=(k[g>>2]|0)+1;k[g>>2]=(k[g>>2]|0)+1}Uh(k[l>>2]|0,-1,k[f>>2]|0,-15);r=n;return}function LD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;i=r;r=r+32|0;f=i+20|0;m=i+16|0;l=i+12|0;j=i+8|0;g=i+4|0;h=i;k[f>>2]=a;k[m>>2]=b;k[l>>2]=c;k[j>>2]=d;k[g>>2]=e;b=PA(k[f>>2]|0,k[m>>2]|0,k[l>>2]|0,k[j>>2]|0,k[g>>2]|0,0)|0;k[h>>2]=b;if((k[h>>2]|0)==(k[g>>2]|0)){r=i;return}fx(k[(k[f>>2]|0)+8>>2]|0,31,k[h>>2]|0,k[g>>2]|0)|0;r=i;return}function MD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;f=d+8|0;e=d+4|0;g=d;k[f>>2]=a;k[e>>2]=b;k[g>>2]=c;a=k[g>>2]|0;c=(aA(k[f>>2]|0,k[e>>2]|0)|0)+4|0;k[c>>2]=a;r=d;return}function ND(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;p=r;r=r+144|0;l=p+132|0;u=p+128|0;t=p+124|0;s=p+120|0;h=p;i=p+116|0;q=p+112|0;o=p+108|0;n=p+104|0;j=p+8|0;k[u>>2]=a;k[t>>2]=b;k[s>>2]=c;a=h;k[a>>2]=d;k[a+4>>2]=e;k[i>>2]=f;k[q>>2]=g;k[o>>2]=0;a=OD(j,k[u>>2]|0,k[t>>2]|0,k[s>>2]|0,k[i>>2]|0,k[q>>2]|0)|0;k[n>>2]=a;k[i>>2]=k[i>>2]&130;while(1){if(!(k[n>>2]|0)){d=10;break}t=(k[n>>2]|0)+32|0;u=h;if((k[t>>2]&k[u>>2]|0)==0?(k[t+4>>2]&k[u+4>>2]|0)==0:0){u=(k[n>>2]|0)+32|0;if((k[u>>2]|0)==0&(k[u+4>>2]|0)==0?((m[(k[n>>2]|0)+18>>1]|0)&k[i>>2]|0)!=0:0){d=6;break}if(!(k[o>>2]|0))k[o>>2]=k[n>>2]}u=PD(j)|0;k[n>>2]=u}if((d|0)==6){k[l>>2]=k[n>>2];u=k[l>>2]|0;r=p;return u|0}else if((d|0)==10){k[l>>2]=k[o>>2];u=k[l>>2]|0;r=p;return u|0}return 0}function OD(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,l=0,m=0,n=0,o=0,p=0,q=0;p=r;r=r+32|0;g=p+24|0;q=p+20|0;h=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;k[g>>2]=a;k[q>>2]=b;k[h>>2]=c;k[l>>2]=d;k[m>>2]=e;k[n>>2]=f;k[o>>2]=0;k[k[g>>2]>>2]=k[q>>2];k[(k[g>>2]|0)+4>>2]=k[q>>2];k[(k[g>>2]|0)+12>>2]=0;if(k[n>>2]|0){k[o>>2]=k[l>>2];k[l>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(k[o>>2]<<1)>>1];if((k[l>>2]|0)==-2)k[(k[g>>2]|0)+12>>2]=k[(k[(k[(k[n>>2]|0)+40>>2]|0)+4>>2]|0)+((k[o>>2]|0)*20|0)>>2];if((k[l>>2]|0)==(j[(k[(k[n>>2]|0)+12>>2]|0)+32>>1]|0))k[l>>2]=-1}if((k[n>>2]|0)!=0&(k[l>>2]|0)>=0){i[(k[g>>2]|0)+16>>0]=i[(k[(k[(k[n>>2]|0)+12>>2]|0)+4>>2]|0)+(k[l>>2]<<4)+13>>0]|0;k[(k[g>>2]|0)+8>>2]=k[(k[(k[n>>2]|0)+32>>2]|0)+(k[o>>2]<<2)>>2]}else{i[(k[g>>2]|0)+16>>0]=0;k[(k[g>>2]|0)+8>>2]=0}k[(k[g>>2]|0)+20>>2]=k[m>>2];k[(k[g>>2]|0)+24>>2]=0;k[(k[g>>2]|0)+28>>2]=k[h>>2];j[(k[g>>2]|0)+72>>1]=k[l>>2];i[(k[g>>2]|0)+17>>0]=1;i[(k[g>>2]|0)+18>>0]=1;q=PD(k[g>>2]|0)|0;r=p;return q|0}function PD(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;n=s+36|0;o=s+32|0;c=s+28|0;b=s+40|0;h=s+24|0;g=s+20|0;q=s+16|0;p=s+12|0;d=s+8|0;e=s+4|0;f=s;k[o>>2]=a;k[p>>2]=k[(k[o>>2]|0)+24>>2];a:while(1){if((l[(k[o>>2]|0)+18>>0]|0)>(l[(k[o>>2]|0)+17>>0]|0)){b=40;break}k[c>>2]=k[(k[o>>2]|0)+28+((l[(k[o>>2]|0)+18>>0]|0)-1<<2)>>2];j[b>>1]=j[(k[o>>2]|0)+72+((l[(k[o>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((j[b>>1]|0)==-2?(k[(k[o>>2]|0)+12>>2]|0)==0:0){b=5;break}while(1){a=k[(k[o>>2]|0)+4>>2]|0;k[g>>2]=a;if(!a)break;k[q>>2]=(k[(k[g>>2]|0)+20>>2]|0)+((k[p>>2]|0)*48|0);while(1){if((k[p>>2]|0)>=(k[(k[g>>2]|0)+12>>2]|0))break;do if((k[(k[q>>2]|0)+8>>2]|0)==(k[c>>2]|0)?(k[(k[q>>2]|0)+12>>2]|0)==(j[b>>1]|0):0){if((j[b>>1]|0)==-2?(Fy(k[(k[k[q>>2]>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+12>>2]|0,k[c>>2]|0)|0)!=0:0)break;if((l[(k[o>>2]|0)+18>>0]|0)>1?(k[(k[k[q>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((m[(k[q>>2]|0)+18>>1]&2048|0)!=0?(l[(k[o>>2]|0)+17>>0]|0)<11:0)?(a=hy(k[(k[k[q>>2]>>2]|0)+16>>2]|0)|0,k[h>>2]=a,(l[a>>0]|0)==152):0){k[d>>2]=0;while(1){if((k[d>>2]|0)>=(l[(k[o>>2]|0)+17>>0]|0))break;if((k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]|0)==(k[(k[h>>2]|0)+28>>2]|0)?(j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]|0)==(j[(k[h>>2]|0)+32>>1]|0):0)break;k[d>>2]=(k[d>>2]|0)+1}if((k[d>>2]|0)==(l[(k[o>>2]|0)+17>>0]|0)){k[(k[o>>2]|0)+28+(k[d>>2]<<2)>>2]=k[(k[h>>2]|0)+28>>2];j[(k[o>>2]|0)+72+(k[d>>2]<<1)>>1]=j[(k[h>>2]|0)+32>>1]|0;a=(k[o>>2]|0)+17|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}}if(m[(k[q>>2]|0)+18>>1]&k[(k[o>>2]|0)+20>>2]){if((k[(k[o>>2]|0)+8>>2]|0)!=0?(m[(k[q>>2]|0)+18>>1]&256|0)==0:0){k[f>>2]=k[k[k[g>>2]>>2]>>2];k[h>>2]=k[k[q>>2]>>2];if(!(kB(k[h>>2]|0,i[(k[o>>2]|0)+16>>0]|0)|0))break;a=jB(k[f>>2]|0,k[(k[h>>2]|0)+12>>2]|0,k[(k[h>>2]|0)+16>>2]|0)|0;k[e>>2]=a;if(!(k[e>>2]|0))k[e>>2]=k[(k[k[f>>2]>>2]|0)+8>>2];if(sg(k[k[e>>2]>>2]|0,k[(k[o>>2]|0)+8>>2]|0)|0)break}if(!(m[(k[q>>2]|0)+18>>1]&130)){b=36;break a}a=k[(k[k[q>>2]>>2]|0)+16>>2]|0;k[h>>2]=a;if((l[a>>0]|0)!=152){b=36;break a}if((k[(k[h>>2]|0)+28>>2]|0)!=(k[(k[o>>2]|0)+28>>2]|0)){b=36;break a}if((j[(k[h>>2]|0)+32>>1]|0)!=(j[(k[o>>2]|0)+72>>1]|0)){b=36;break a}}}while(0);k[p>>2]=(k[p>>2]|0)+1;k[q>>2]=(k[q>>2]|0)+48}k[(k[o>>2]|0)+4>>2]=k[(k[(k[o>>2]|0)+4>>2]|0)+4>>2];k[p>>2]=0}k[(k[o>>2]|0)+4>>2]=k[k[o>>2]>>2];k[p>>2]=0;a=(k[o>>2]|0)+18|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}if((b|0)==5){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}else if((b|0)==36){k[(k[o>>2]|0)+24>>2]=(k[p>>2]|0)+1;k[n>>2]=k[q>>2];q=k[n>>2]|0;r=s;return q|0}else if((b|0)==40){k[n>>2]=0;q=k[n>>2]|0;r=s;return q|0}return 0}function QD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=k[e>>2]|0;b=k[d>>2]|0;qA(a,b,Tf(k[d>>2]|0)|0);r=c;return}function RD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+48|0;l=q;c=q+32|0;d=q+28|0;i=q+24|0;g=q+38|0;h=q+36|0;e=q+20|0;f=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k[c>>2]=a;k[d>>2]=b;k[i>>2]=k[(k[d>>2]|0)+24+4>>2];j[g>>1]=j[(k[d>>2]|0)+24>>1]|0;j[h>>1]=j[(k[d>>2]|0)+42>>1]|0;if((m[g>>1]|0|0)==0?(k[(k[d>>2]|0)+36>>2]&48|0)==0:0){r=q;return}qA(k[c>>2]|0,35197,2);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(m[g>>1]|0|0))break;a=SD(k[i>>2]|0,k[e>>2]|0)|0;k[n>>2]=a;if(k[e>>2]|0)qA(k[c>>2]|0,35200,5);b=k[c>>2]|0;a=(k[e>>2]|0)>=(m[h>>1]|0|0)?35206:35211;k[l>>2]=k[n>>2];pA(b,a,l);k[e>>2]=(k[e>>2]|0)+1}k[f>>2]=k[e>>2];if(k[(k[d>>2]|0)+36>>2]&32){l=SD(k[i>>2]|0,k[e>>2]|0)|0;k[o>>2]=l;l=k[c>>2]|0;n=k[e>>2]|0;k[e>>2]=n+1;TD(l,n,k[o>>2]|0,35128)}if(k[(k[d>>2]|0)+36>>2]&16){o=SD(k[i>>2]|0,k[f>>2]|0)|0;k[p>>2]=o;TD(k[c>>2]|0,k[e>>2]|0,k[p>>2]|0,35130)}qA(k[c>>2]|0,35219,1);r=q;return}function SD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;k[e>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[e>>2]<<1)>>1];if((k[e>>2]|0)==-2){k[c>>2]=35221;a=k[c>>2]|0;r=f;return a|0}if((k[e>>2]|0)==-1){k[c>>2]=25353;a=k[c>>2]|0;r=f;return a|0}else{k[c>>2]=k[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(k[e>>2]<<4)>>2];a=k[c>>2]|0;r=f;return a|0}return 0}function TD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=r;r=r+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[i>>2]=b;k[f>>2]=c;k[g>>2]=d;if(k[i>>2]|0)qA(k[e>>2]|0,35200,5);QD(k[e>>2]|0,k[f>>2]|0);qA(k[e>>2]|0,k[g>>2]|0,1);qA(k[e>>2]|0,20883,1);r=h;return}function UD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=pB(k[e>>2]|0,3,k[d>>2]|0)|0;r=c;return a|0}function VD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0;l=r;r=r+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l;j=l+20|0;k[f>>2]=a;k[g>>2]=b;a=h;k[a>>2]=c;k[a+4>>2]=d;if((k[(k[f>>2]|0)+8>>2]|0)!=(k[(k[g>>2]|0)+44>>2]|0)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if(!((m[(k[f>>2]|0)+18>>1]|0)&130)){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}b=(k[f>>2]|0)+32|0;a=h;if((k[b>>2]&k[a>>2]|0)!=0?1:(k[b+4>>2]&k[a+4>>2]|0)!=0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}if((k[(k[f>>2]|0)+12>>2]|0)<0){k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}i[j>>0]=i[(k[(k[(k[g>>2]|0)+16>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+12>>2]<<4)+13>>0]|0;if(kB(k[k[f>>2]>>2]|0,i[j>>0]|0)|0){k[e>>2]=1;a=k[e>>2]|0;r=l;return a|0}else{k[e>>2]=0;a=k[e>>2]|0;r=l;return a|0}return 0}function WD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((m[(k[f>>2]|0)+44>>1]|0|0)>=(k[g>>2]|0)){k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}k[g>>2]=(k[g>>2]|0)+7&-8;b=Vw(k[e>>2]|0,k[g>>2]<<2,0)|0;k[h>>2]=b;if(!(k[h>>2]|0)){k[d>>2]=7;h=k[d>>2]|0;r=i;return h|0}BR(k[h>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[f>>2]|0)+44>>1]|0)<<2|0)|0;if((k[(k[f>>2]|0)+48>>2]|0)!=((k[f>>2]|0)+56|0))bg(k[e>>2]|0,k[(k[f>>2]|0)+48>>2]|0);k[(k[f>>2]|0)+48>>2]=k[h>>2];j[(k[f>>2]|0)+44>>1]=k[g>>2];k[d>>2]=0;h=k[d>>2]|0;r=i;return h|0}function XD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0;l=r;r=r+32|0;m=l+20|0;e=l+24|0;n=l+16|0;f=l+12|0;h=l+8|0;g=l+4|0;i=l;k[m>>2]=a;j[e>>1]=b;k[n>>2]=c;k[f>>2]=d;k[g>>2]=56+((j[e>>1]<<2)+7&-8)+(((j[e>>1]|0)+1<<1)+(j[e>>1]<<1)+(j[e>>1]|0)+7&-8);d=(k[g>>2]|0)+(k[n>>2]|0)|0;d=Bh(k[m>>2]|0,d,((d|0)<0)<<31>>31)|0;k[h>>2]=d;if(!(k[h>>2]|0)){n=k[h>>2]|0;r=l;return n|0}k[i>>2]=(k[h>>2]|0)+56;k[(k[h>>2]|0)+32>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]<<2)+7&-8);k[(k[h>>2]|0)+8>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+((j[e>>1]|0)+1<<1);k[(k[h>>2]|0)+4>>2]=k[i>>2];k[i>>2]=(k[i>>2]|0)+(j[e>>1]<<1);k[(k[h>>2]|0)+28>>2]=k[i>>2];j[(k[h>>2]|0)+52>>1]=j[e>>1]|0;j[(k[h>>2]|0)+50>>1]=(j[e>>1]|0)-1;k[k[f>>2]>>2]=(k[h>>2]|0)+(k[g>>2]|0);n=k[h>>2]|0;r=l;return n|0}function YD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;d=g+8|0;c=g+20|0;e=g+16|0;f=g;k[c>>2]=a;k[e>>2]=b;a=f;k[a>>2]=0;k[a+4>>2]=0;if(!(k[e>>2]|0)){e=d;k[e>>2]=0;k[e+4>>2]=0;e=d;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}b=k[c>>2]|0;a=k[e>>2]|0;if((l[k[e>>2]>>0]|0|0)==152){e=DD(b,k[a+28>>2]|0)|0;c=f;k[c>>2]=e;k[c+4>>2]=L;c=f;f=k[c+4>>2]|0;e=d;k[e>>2]=k[c>>2];k[e+4>>2]=f;e=d;f=e;f=k[f>>2]|0;e=e+4|0;e=k[e>>2]|0;L=e;r=g;return f|0}i=YD(b,k[a+16>>2]|0)|0;h=f;k[h>>2]=i;k[h+4>>2]=L;h=YD(k[c>>2]|0,k[(k[e>>2]|0)+12>>2]|0)|0;i=f;a=k[i+4>>2]|L;b=f;k[b>>2]=k[i>>2]|h;k[b+4>>2]=a;b=k[c>>2]|0;a=(k[e>>2]|0)+20|0;if(k[(k[e>>2]|0)+4>>2]&2048){e=ZD(b,k[a>>2]|0)|0;c=f;h=k[c+4>>2]|L;i=f;k[i>>2]=k[c>>2]|e;k[i+4>>2]=h}else{e=zD(b,k[a>>2]|0)|0;c=f;h=k[c+4>>2]|L;i=f;k[i>>2]=k[c>>2]|e;k[i+4>>2]=h}i=k[f+4>>2]|0;h=d;k[h>>2]=k[f>>2];k[h+4>>2]=i;h=d;i=h;i=k[i>>2]|0;h=h+4|0;h=k[h>>2]|0;L=h;r=g;return i|0}function ZD(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=r;r=r+32|0;c=h+20|0;d=h+16|0;f=h;g=h+12|0;e=h+8|0;k[c>>2]=a;k[d>>2]=b;b=f;k[b>>2]=0;k[b+4>>2]=0;while(1){if(!(k[d>>2]|0))break;k[g>>2]=k[(k[d>>2]|0)+28>>2];i=zD(k[c>>2]|0,k[k[d>>2]>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=zD(k[c>>2]|0,k[(k[d>>2]|0)+36>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;j=zD(k[c>>2]|0,k[(k[d>>2]|0)+44>>2]|0)|0;i=f;b=k[i+4>>2]|L;a=f;k[a>>2]=k[i>>2]|j;k[a+4>>2]=b;a=YD(k[c>>2]|0,k[(k[d>>2]|0)+32>>2]|0)|0;b=f;j=k[b+4>>2]|L;i=f;k[i>>2]=k[b>>2]|a;k[i+4>>2]=j;i=YD(k[c>>2]|0,k[(k[d>>2]|0)+40>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;a:do if(k[g>>2]|0){k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[g>>2]>>2]|0))break a;i=ZD(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+20>>2]|0)|0;j=f;a=k[j+4>>2]|L;b=f;k[b>>2]=k[j>>2]|i;k[b+4>>2]=a;b=YD(k[c>>2]|0,k[(k[g>>2]|0)+8+((k[e>>2]|0)*72|0)+48>>2]|0)|0;a=f;i=k[a+4>>2]|L;j=f;k[j>>2]=k[a>>2]|b;k[j+4>>2]=i;k[e>>2]=(k[e>>2]|0)+1}}while(0);k[d>>2]=k[(k[d>>2]|0)+48>>2]}j=f;L=k[j+4>>2]|0;r=h;return k[j>>2]|0}function _D(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+4|0;d=f+2|0;e=f;j[d>>1]=a;j[e>>1]=b;if((j[d>>1]|0)>=(j[e>>1]|0)){a=j[d>>1]|0;if((j[d>>1]|0)>((j[e>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[d>>1]|0;if((a<<16>>16|0)>((j[e>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[35283+((j[d>>1]|0)-(j[e>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}else{a=j[e>>1]|0;if((j[e>>1]|0)>((j[d>>1]|0)+49|0)){j[c>>1]=a;e=j[c>>1]|0;r=f;return e|0}b=j[e>>1]|0;if((a<<16>>16|0)>((j[d>>1]|0)+31|0)){j[c>>1]=b+1;e=j[c>>1]|0;r=f;return e|0}else{j[c>>1]=b+(l[35283+((j[e>>1]|0)-(j[d>>1]|0))>>0]|0);e=j[c>>1]|0;r=f;return e|0}}return 0}function $D(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=r;r=r+144|0;W=$+141|0;h=$+120|0;n=$+116|0;o=$+112|0;p=$+132|0;q=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;F=$+128|0;E=$+126|0;G=$+124|0;z=$+100|0;X=$+96|0;C=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;K=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;H=$+32|0;I=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;J=$+48|0;D=$+8|0;Y=$;k[h>>2]=a;k[n>>2]=b;k[o>>2]=c;j[p>>1]=d;j[q>>1]=e;k[s>>2]=f;k[t>>2]=g;k[N>>2]=0;k[v>>2]=k[k[k[h>>2]>>2]>>2];d=Z;k[d>>2]=0;k[d+4>>2]=0;if((m[q>>1]|0)!=0?(m[(k[v>>2]|0)+64>>1]&128|0)!=0:0){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}j[G>>1]=k[k[n>>2]>>2];if((m[G>>1]|0)>63){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}i[B>>0]=1;a=ER(1,0,m[G>>1]|0)|0;a=yR(a|0,L|0,1,0)|0;d=H;k[d>>2]=a;k[d+4>>2]=L;d=I;k[d>>2]=0;k[d+4>>2]=0;d=Q;k[d>>2]=0;k[d+4>>2]=0;k[z>>2]=0;while(1){if(!(l[B>>0]|0))break;a=Z;c=k[a+4>>2]|0;d=H;g=k[d+4>>2]|0;if(!(c>>>0>>0|((c|0)==(g|0)?(k[a>>2]|0)>>>0<(k[d>>2]|0)>>>0:0)))break;if((k[z>>2]|0)>(m[q>>1]|0))break;if((k[z>>2]|0)>0){g=(k[N>>2]|0)+8|0;c=Q;a=k[c+4>>2]|k[g+4>>2];d=Q;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a}if((k[z>>2]|0)<(m[q>>1]|0))e=k[(k[(k[o>>2]|0)+24>>2]|0)+(k[z>>2]<<2)>>2]|0;else e=k[s>>2]|0;k[N>>2]=e;e=k[N>>2]|0;if(k[(k[N>>2]|0)+36>>2]&1024){_=16;break}k[y>>2]=k[(k[(k[h>>2]|0)+4>>2]|0)+8+((l[e+16>>0]|0)*72|0)+44>>2];k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[G>>1]|0))break;a=ER(1,0,k[X>>2]|0)|0;d=Z;do if(((!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)?(d=hy(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0,k[O>>2]=d,(l[k[O>>2]>>0]|0)==152):0)?(k[(k[O>>2]|0)+28>>2]|0)==(k[y>>2]|0):0)?(d=Q,d=ND((k[h>>2]|0)+328|0,k[y>>2]|0,j[(k[O>>2]|0)+32>>1]|0,~k[d>>2],~k[d+4>>2],386,0)|0,k[P>>2]=d,(k[P>>2]|0)!=0):0){if((m[(k[P>>2]|0)+18>>1]&130|0)!=0?(j[(k[O>>2]|0)+32>>1]|0)>=0:0){d=cy(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];k[U>>2]=k[k[K>>2]>>2];d=cy(k[k[h>>2]>>2]|0,k[k[P>>2]>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];k[V>>2]=k[k[K>>2]>>2];if(sg(k[U>>2]|0,k[V>>2]|0)|0)break}g=ER(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}while(0);k[X>>2]=(k[X>>2]|0)+1}if(!(k[(k[N>>2]|0)+36>>2]&4096)){if(k[(k[N>>2]|0)+36>>2]&256){k[M>>2]=0;j[F>>1]=0;j[E>>1]=1}else{d=k[(k[N>>2]|0)+24+4>>2]|0;k[M>>2]=d;if(!d){_=38;break}if((l[(k[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}j[F>>1]=j[(k[M>>2]|0)+50>>1]|0;j[E>>1]=j[(k[M>>2]|0)+52>>1]|0;i[B>>0]=(l[(k[M>>2]|0)+54>>0]|0)!=0}i[T>>0]=0;i[R>>0]=0;i[w>>0]=0;k[C>>2]=0;while(1){if((k[C>>2]|0)>=(m[E>>1]|0))break;if(((k[C>>2]|0)<(m[(k[N>>2]|0)+24>>1]|0)?(m[(k[N>>2]|0)+42>>1]|0)==0:0)?(d=m[(k[(k[(k[N>>2]|0)+48>>2]|0)+(k[C>>2]<<2)>>2]|0)+18>>1]|0,k[X>>2]=d,(d&386|0)!=0):0){if(k[X>>2]&256)i[B>>0]=0}else{if(k[M>>2]|0){k[x>>2]=j[(k[(k[M>>2]|0)+4>>2]|0)+(k[C>>2]<<1)>>1];i[S>>0]=i[(k[(k[M>>2]|0)+28>>2]|0)+(k[C>>2]|0)>>0]|0;if((k[x>>2]|0)==(j[(k[(k[M>>2]|0)+12>>2]|0)+32>>1]|0))k[x>>2]=-1}else{k[x>>2]=-1;i[S>>0]=0}do if((l[B>>0]|0)!=0&(k[x>>2]|0)>=0?(k[C>>2]|0)>=(m[(k[N>>2]|0)+24>>1]|0):0){if(l[(k[(k[(k[M>>2]|0)+12>>2]|0)+4>>2]|0)+(k[x>>2]<<4)+12>>0]|0)break;i[B>>0]=0}while(0);i[u>>0]=1;i[A>>0]=0;k[X>>2]=0;a:while(1){if(!(l[u>>0]|0))break;if((k[X>>2]|0)>=(m[G>>1]|0))break;a=ER(1,0,k[X>>2]|0)|0;d=Z;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){d=hy(k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[O>>2]=d;if(!(m[p>>1]&768))i[u>>0]=0;e=k[O>>2]|0;if((k[x>>2]|0)>=-1){if((l[e>>0]|0)!=152)break;if((k[(k[O>>2]|0)+28>>2]|0)!=(k[y>>2]|0))break;if((j[(k[O>>2]|0)+32>>1]|0)!=(k[x>>2]|0))break}else if(Fy(e,k[(k[(k[(k[M>>2]|0)+40>>2]|0)+4>>2]|0)+((k[C>>2]|0)*20|0)>>2]|0,k[y>>2]|0)|0)break;if((k[x>>2]|0)<0){_=70;break a}d=cy(k[k[h>>2]>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2]|0)|0;k[K>>2]=d;if(!(k[K>>2]|0))k[K>>2]=k[(k[v>>2]|0)+8>>2];if(!(sg(k[k[K>>2]>>2]|0,k[(k[(k[M>>2]|0)+32>>2]|0)+(k[C>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);k[X>>2]=(k[X>>2]|0)+1}if((_|0)==70){_=0;i[A>>0]=1}do if(l[A>>0]|0){if(m[p>>1]&256)break;if(i[T>>0]|0){if((l[R>>0]^l[S>>0]|0)==(l[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+12>>0]|0))break;i[A>>0]=0;break}i[R>>0]=l[S>>0]^l[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)+12>>0];if(i[R>>0]|0){g=ER(1,0,k[z>>2]|0)|0;d=k[t>>2]|0;c=d;a=k[c+4>>2]|L;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}i[T>>0]=1}while(0);if(!(i[A>>0]|0)){_=84;break}if((k[x>>2]|0)<0)i[w>>0]=1;g=ER(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}k[C>>2]=(k[C>>2]|0)+1}do if((_|0)==84){_=0;if((k[C>>2]|0)!=0?(k[C>>2]|0)>=(m[F>>1]|0):0)break;i[B>>0]=0}while(0);if(i[w>>0]|0)i[B>>0]=1}b:do if(i[B>>0]|0){g=(k[N>>2]|0)+8|0;c=I;a=k[c+4>>2]|k[g+4>>2];d=I;k[d>>2]=k[c>>2]|k[g>>2];k[d+4>>2]=a;k[X>>2]=0;while(1){if((k[X>>2]|0)>=(m[G>>1]|0))break b;a=ER(1,0,k[X>>2]|0)|0;d=Z;do if(!((a&k[d>>2]|0)!=0?1:(L&k[d+4>>2]|0)!=0)){k[J>>2]=k[(k[(k[n>>2]|0)+4>>2]|0)+((k[X>>2]|0)*20|0)>>2];a=YD((k[h>>2]|0)+68|0,k[J>>2]|0)|0;d=D;k[d>>2]=a;k[d+4>>2]=L;d=D;if((k[d>>2]|0)==0&(k[d+4>>2]|0)==0?(VA(k[J>>2]|0)|0)==0:0)break;a=D;d=I;if((k[a>>2]&~k[d>>2]|0)==0?(k[a+4>>2]&~k[d+4>>2]|0)==0:0){g=ER(1,0,k[X>>2]|0)|0;c=Z;a=k[c+4>>2]|L;d=Z;k[d>>2]=k[c>>2]|g;k[d+4>>2]=a}}while(0);k[X>>2]=(k[X>>2]|0)+1}}while(0);k[z>>2]=(k[z>>2]|0)+1}if((_|0)==16){if(i[e+24+5>>0]|0){U=H;V=k[U+4>>2]|0;_=Z;k[_>>2]=k[U>>2];k[_+4>>2]=V}}else if((_|0)==38){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}V=Z;_=H;if((k[V>>2]|0)==(k[_>>2]|0)?(k[V+4>>2]|0)==(k[_+4>>2]|0):0){i[W>>0]=j[G>>1];_=i[W>>0]|0;r=$;return _|0}if(i[B>>0]|0){i[W>>0]=-1;_=i[W>>0]|0;r=$;return _|0}k[X>>2]=(m[G>>1]|0)-1;while(1){if((k[X>>2]|0)<=0){_=108;break}V=ER(1,0,k[X>>2]|0)|0;V=yR(V|0,L|0,1,0)|0;U=Y;k[U>>2]=V;k[U+4>>2]=L;U=Z;V=Y;_=Y;e=k[X>>2]|0;if((k[U>>2]&k[V>>2]|0)==(k[_>>2]|0)?(k[U+4>>2]&k[V+4>>2]|0)==(k[_+4>>2]|0):0){_=106;break}k[X>>2]=e+-1}if((_|0)==106){i[W>>0]=e;_=i[W>>0]|0;r=$;return _|0}else if((_|0)==108){i[W>>0]=0;_=i[W>>0]|0;r=$;return _|0}return 0}function aE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0;h=r;r=r+32|0;e=h+8|0;f=h+16|0;l=h+4|0;n=h;i=h+14|0;g=h+12|0;k[e>>2]=a;j[f>>1]=b;k[l>>2]=c;k[n>>2]=d;a=(((k[l>>2]|0)-(k[n>>2]|0)|0)*100|0)/(k[l>>2]|0)|0;a=((Uj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66&65535;j[i>>1]=a;j[g>>1]=(j[f>>1]|0)+(j[i>>1]|0)+16;if((m[(k[e>>2]|0)+36>>1]&16384|0)!=0?(j[(k[e>>2]|0)+34>>1]|0)<(j[f>>1]|0):0)j[f>>1]=j[(k[e>>2]|0)+34>>1]|0;n=(bE(j[f>>1]|0)|0)<<16>>16;j[g>>1]=(j[g>>1]|0)+n;r=h;return j[g>>1]|0}function bE(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;j[b>>1]=a;if((j[b>>1]|0)<=10){a=0;a=a&65535;r=c;return a|0}a=j[b>>1]|0;a=((Uj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;r=c;return a|0}function cE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=r;r=r+112|0;f=C+108|0;g=C+104|0;h=C+48|0;E=C+40|0;z=C+100|0;F=C+96|0;x=C+92|0;y=C+88|0;D=C+84|0;v=C+80|0;u=C+76|0;m=C+72|0;w=C+68|0;o=C+32|0;A=C+64|0;B=C+60|0;s=C+24|0;p=C+16|0;n=C+56|0;q=C+8|0;t=C;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;a=E;k[a>>2]=d;k[a+4>>2]=e;k[z>>2]=0;k[F>>2]=k[k[g>>2]>>2];k[x>>2]=k[k[F>>2]>>2];k[y>>2]=k[(k[g>>2]|0)+4>>2];k[w>>2]=k[(k[g>>2]|0)+12>>2];k[D>>2]=(k[(k[F>>2]|0)+4>>2]|0)+8+((l[(k[w>>2]|0)+16>>0]|0)*72|0);a=E;a=vE(k[x>>2]|0,k[y>>2]|0,k[a>>2]|0,k[a+4>>2]|0,k[D>>2]|0,k[(k[g>>2]|0)+8>>2]|0)|0;k[v>>2]=a;if(!(k[v>>2]|0)){k[f>>2]=7;F=k[f>>2]|0;r=C;return F|0}j[(k[w>>2]|0)+18>>1]=0;k[(k[w>>2]|0)+36>>2]=1024;j[(k[w>>2]|0)+40>>1]=0;i[(k[w>>2]|0)+24+4>>0]=0;k[u>>2]=k[k[v>>2]>>2];if(WD(k[k[x>>2]>>2]|0,k[w>>2]|0,k[u>>2]|0)|0){bg(k[k[x>>2]>>2]|0,k[v>>2]|0);k[f>>2]=7;F=k[f>>2]|0;r=C;return F|0}F=h;F=wE(k[g>>2]|0,k[F>>2]|0,k[F+4>>2]|0,-1,-1,0,k[v>>2]|0,m)|0;k[z>>2]=F;if((k[z>>2]|0)==0?(D=k[w>>2]|0,F=h,E=k[D>>2]&~k[F>>2],F=k[D+4>>2]&~k[F+4>>2],D=o,k[D>>2]=E,k[D+4>>2]=F,(E|0)!=0|(F|0)!=0):0){k[A>>2]=0;k[B>>2]=0;F=s;k[F>>2]=0;k[F+4>>2]=0;F=p;k[F>>2]=0;k[F+4>>2]=0;if((k[m>>2]|0)!=0?(a=h,a=wE(k[g>>2]|0,k[a>>2]|0,k[a+4>>2]|0,-1,-1,1,k[v>>2]|0,m)|0,k[z>>2]=a,a=k[w>>2]|0,D=h,E=k[a+4>>2]&~k[D+4>>2],F=p,k[F>>2]=k[a>>2]&~k[D>>2],k[F+4>>2]=E,F=p,(k[F>>2]|0)==0&(k[F+4>>2]|0)==0):0){k[A>>2]=1;k[B>>2]=1}while(1){if(k[z>>2]|0)break;F=q;k[F>>2]=-1;k[F+4>>2]=-1;k[n>>2]=0;while(1){if((k[n>>2]|0)>=(k[u>>2]|0))break;D=(k[(k[y>>2]|0)+20>>2]|0)+((k[(k[(k[v>>2]|0)+4>>2]|0)+((k[n>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;F=h;a=k[D+4>>2]&~k[F+4>>2];E=t;k[E>>2]=k[D>>2]&~k[F>>2];k[E+4>>2]=a;E=t;a=k[E+4>>2]|0;F=s;D=k[F+4>>2]|0;if(a>>>0>D>>>0|((a|0)==(D|0)?(k[E>>2]|0)>>>0>(k[F>>2]|0)>>>0:0)?(E=t,a=k[E+4>>2]|0,F=q,D=k[F+4>>2]|0,a>>>0>>0|((a|0)==(D|0)?(k[E>>2]|0)>>>0<(k[F>>2]|0)>>>0:0)):0){D=t;E=k[D+4>>2]|0;F=q;k[F>>2]=k[D>>2];k[F+4>>2]=E}k[n>>2]=(k[n>>2]|0)+1}D=q;E=k[D+4>>2]|0;F=s;k[F>>2]=k[D>>2];k[F+4>>2]=E;F=q;if((k[F>>2]|0)==-1?(k[F+4>>2]|0)==-1:0)break;E=q;F=o;if((k[E>>2]|0)==(k[F>>2]|0)?(k[E+4>>2]|0)==(k[F+4>>2]|0):0)continue;E=q;F=p;if((k[E>>2]|0)==(k[F>>2]|0)?(k[E+4>>2]|0)==(k[F+4>>2]|0):0)continue;D=h;F=q;E=h;E=wE(k[g>>2]|0,k[D>>2]|0,k[D+4>>2]|0,k[F>>2]|k[E>>2],k[F+4>>2]|k[E+4>>2],0,k[v>>2]|0,m)|0;k[z>>2]=E;E=k[w>>2]|0;F=h;if(!((k[E>>2]|0)==(k[F>>2]|0)?(k[E+4>>2]|0)==(k[F+4>>2]|0):0))continue;k[A>>2]=1;if(k[m>>2]|0)continue;k[B>>2]=1}if((k[z>>2]|0)==0&(k[A>>2]|0)==0?(E=h,F=h,F=wE(k[g>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0,0,k[v>>2]|0,m)|0,k[z>>2]=F,(k[m>>2]|0)==0):0)k[B>>2]=1;if((k[z>>2]|0)==0&(k[B>>2]|0)==0){E=h;F=h;F=wE(k[g>>2]|0,k[E>>2]|0,k[E+4>>2]|0,k[F>>2]|0,k[F+4>>2]|0,1,k[v>>2]|0,m)|0;k[z>>2]=F}}if(k[(k[v>>2]|0)+28>>2]|0)Ud(k[(k[v>>2]|0)+24>>2]|0);bg(k[k[x>>2]>>2]|0,k[v>>2]|0);k[f>>2]=k[z>>2];F=k[f>>2]|0;r=C;return F|0}function dE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=r;r=r+144|0;d=D+128|0;e=D+8|0;y=D+124|0;s=D+120|0;B=D+64|0;g=D+140|0;f=D+136|0;E=D+56|0;t=D+52|0;q=D+48|0;C=D+44|0;n=D+40|0;h=D+36|0;A=D+134|0;z=D+132|0;w=D+32|0;u=D+28|0;p=D+24|0;v=D+20|0;x=D+16|0;o=D;k[d>>2]=a;a=e;k[a>>2]=b;k[a+4>>2]=c;j[f>>1]=-1;k[C>>2]=0;k[n>>2]=1;k[q>>2]=k[(k[d>>2]|0)+12>>2];k[y>>2]=k[k[d>>2]>>2];k[E>>2]=k[(k[y>>2]|0)+4>>2];k[t>>2]=(k[E>>2]|0)+8+((l[(k[q>>2]|0)+16>>0]|0)*72|0);k[u>>2]=k[(k[t>>2]|0)+16>>2];k[w>>2]=k[(k[d>>2]|0)+4>>2];do if(k[(k[t>>2]|0)+68>>2]|0)k[s>>2]=k[(k[t>>2]|0)+68>>2];else{if(l[(k[u>>2]|0)+42>>0]&32){k[s>>2]=k[(k[u>>2]|0)+8>>2];break}b=B;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));j[B+50>>1]=1;j[B+52>>1]=1;k[B+4>>2]=f;k[B+8>>2]=g;i[B+54>>0]=5;k[B+12>>2]=k[u>>2];j[B+48>>1]=j[(k[u>>2]|0)+40>>1]|0;j[g>>1]=j[(k[u>>2]|0)+38>>1]|0;j[g+2>>1]=0;k[p>>2]=k[(k[(k[t>>2]|0)+16>>2]|0)+8>>2];if(!(i[(k[t>>2]|0)+36+1>>0]&1))k[B+20>>2]=k[p>>2];k[s>>2]=B}while(0);j[A>>1]=j[(k[u>>2]|0)+38>>1]|0;E=bE(j[A>>1]|0)|0;j[z>>1]=E;a:do if((((((((k[(k[d>>2]|0)+16>>2]|0)==0?(m[(k[y>>2]|0)+36>>1]&128|0)==0:0)?(k[(k[k[k[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(k[(k[t>>2]|0)+68>>2]|0)==0:0)?(i[(k[t>>2]|0)+36+1>>0]&1|0)==0:0)?(l[(k[u>>2]|0)+42>>0]&32|0)==0:0)?((l[(k[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((l[(k[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[v>>2]=k[(k[w>>2]|0)+20>>2];while(1){if(k[C>>2]|0)break a;if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break a;B=(k[v>>2]|0)+32|0;E=(k[q>>2]|0)+8|0;if(!((k[B>>2]&k[E>>2]|0)!=0?1:(k[B+4>>2]&k[E+4>>2]|0)!=0)?(VD(k[v>>2]|0,k[t>>2]|0,0,0)|0)!=0:0){j[(k[q>>2]|0)+24>>1]=1;j[(k[q>>2]|0)+42>>1]=0;k[(k[q>>2]|0)+24+4>>2]=0;j[(k[q>>2]|0)+40>>1]=1;k[k[(k[q>>2]|0)+48>>2]>>2]=k[v>>2];j[(k[q>>2]|0)+18>>1]=(j[z>>1]|0)+(j[A>>1]|0)+4;if((k[(k[u>>2]|0)+12>>2]|0)==0?(l[(k[u>>2]|0)+42>>0]&2|0)==0:0){E=(k[q>>2]|0)+18|0;j[E>>1]=(j[E>>1]|0)+24}j[(k[q>>2]|0)+22>>1]=43;g=_D(j[z>>1]|0,j[(k[q>>2]|0)+22>>1]|0)|0;j[(k[q>>2]|0)+20>>1]=g;k[(k[q>>2]|0)+36>>2]=16384;g=e;p=(k[v>>2]|0)+32|0;B=k[g+4>>2]|k[p+4>>2];E=k[q>>2]|0;k[E>>2]=k[g>>2]|k[p>>2];k[E+4>>2]=B;E=hE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E}k[v>>2]=(k[v>>2]|0)+48}}while(0);b:while(1){if(!((k[C>>2]|0)==0?(k[s>>2]|0)!=0:0)){b=46;break}if(!((k[(k[s>>2]|0)+36>>2]|0)!=0?(mE(k[(k[t>>2]|0)+44>>2]|0,k[w>>2]|0,k[(k[s>>2]|0)+36>>2]|0)|0)==0:0)){j[A>>1]=j[k[(k[s>>2]|0)+8>>2]>>1]|0;j[(k[q>>2]|0)+24>>1]=0;j[(k[q>>2]|0)+42>>1]=0;j[(k[q>>2]|0)+40>>1]=0;i[(k[q>>2]|0)+17>>0]=0;j[(k[q>>2]|0)+18>>1]=0;z=e;B=k[z+4>>2]|0;E=k[q>>2]|0;k[E>>2]=k[z>>2];k[E+4>>2]=B;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;k[(k[q>>2]|0)+24+4>>2]=k[s>>2];E=nE(k[d>>2]|0,k[s>>2]|0,k[(k[t>>2]|0)+44>>2]|0)|0;k[h>>2]=E;do if((k[(k[s>>2]|0)+44>>2]|0)<=0){k[(k[q>>2]|0)+36>>2]=256;i[(k[q>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[n>>2]|0:0;j[(k[q>>2]|0)+20>>1]=(j[A>>1]|0)+16;oE(k[w>>2]|0,k[q>>2]|0,j[A>>1]|0);E=hE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;if(k[C>>2]|0){b=46;break b}}else{if((l[(k[s>>2]|0)+55>>0]|0)>>>5&1){k[(k[q>>2]|0)+36>>2]=576;E=o;k[E>>2]=0;k[E+4>>2]=0}else{B=(k[t>>2]|0)+56|0;x=k[B>>2]|0;B=k[B+4>>2]|0;z=pE(k[s>>2]|0)|0;E=o;k[E>>2]=x&~z;k[E+4>>2]=B&~L;E=o;k[(k[q>>2]|0)+36>>2]=(k[E>>2]|0)==0&(k[E+4>>2]|0)==0?576:512}if((k[h>>2]|0)==0?(l[(k[u>>2]|0)+42>>0]&32|0)==0:0){E=o;if(!((k[E>>2]|0)==0&(k[E+4>>2]|0)==0))break;if((l[(k[s>>2]|0)+55>>0]|0)>>>2&1)break;if((j[(k[s>>2]|0)+48>>1]|0)>=(j[(k[u>>2]|0)+40>>1]|0))break;if(!((k[6]|0)!=0?(m[(k[y>>2]|0)+36>>1]&4|0)==0:0))break;if(m[(k[k[k[y>>2]>>2]>>2]|0)+64>>1]&64)break}i[(k[q>>2]|0)+17>>0]=(k[h>>2]|0)!=0?k[n>>2]|0:0;j[(k[q>>2]|0)+20>>1]=(j[A>>1]|0)+1+(((j[(k[s>>2]|0)+48>>1]|0)*15|0)/(j[(k[u>>2]|0)+40>>1]|0)|0);E=o;if((k[E>>2]|0)!=0|(k[E+4>>2]|0)!=0){E=_D(j[(k[q>>2]|0)+20>>1]|0,(j[A>>1]|0)+16&65535)|0;j[(k[q>>2]|0)+20>>1]=E}oE(k[w>>2]|0,k[q>>2]|0,j[A>>1]|0);E=hE(k[d>>2]|0,k[q>>2]|0)|0;k[C>>2]=E;j[(k[q>>2]|0)+22>>1]=j[A>>1]|0;if(k[C>>2]|0){b=46;break b}}while(0);E=qE(k[d>>2]|0,k[t>>2]|0,k[s>>2]|0,0)|0;k[C>>2]=E;if(k[(k[t>>2]|0)+68>>2]|0){b=46;break}}k[s>>2]=k[(k[s>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if((b|0)==46){r=D;return k[C>>2]|0}return 0}function eE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+672|0;g=I+668|0;h=I+584|0;n=I+576|0;f=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;p=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;o=I+596|0;q=I+592|0;D=I;k[g>>2]=a;a=h;k[a>>2]=b;k[a+4>>2]=c;b=n;k[b>>2]=d;k[b+4>>2]=e;k[f>>2]=k[k[g>>2]>>2];k[B>>2]=0;k[z>>2]=k[(k[g>>2]|0)+4>>2];k[A>>2]=(k[(k[z>>2]|0)+20>>2]|0)+((k[(k[z>>2]|0)+12>>2]|0)*48|0);k[u>>2]=k[(k[g>>2]|0)+12>>2];b=F;c=b+56|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));k[t>>2]=(k[(k[f>>2]|0)+4>>2]|0)+8+((l[(k[u>>2]|0)+16>>0]|0)*72|0);k[p>>2]=k[(k[t>>2]|0)+44>>2];k[y>>2]=k[(k[z>>2]|0)+20>>2];while(1){if(!((k[y>>2]|0)>>>0<(k[A>>2]|0)>>>0?(k[B>>2]|0)==0:0))break;a:do if((m[(k[y>>2]|0)+18>>1]&512|0)!=0?(a=(k[(k[y>>2]|0)+12>>2]|0)+408|0,f=(k[u>>2]|0)+8|0,(k[a>>2]&k[f>>2]|0)!=0?1:(k[a+4>>2]&k[f+4>>2]|0)!=0):0){k[w>>2]=k[(k[y>>2]|0)+12>>2];k[x>>2]=(k[(k[w>>2]|0)+20>>2]|0)+((k[(k[w>>2]|0)+12>>2]|0)*48|0);k[s>>2]=1;f=k[g>>2]|0;k[E>>2]=k[f>>2];k[E+4>>2]=k[f+4>>2];k[E+8>>2]=k[f+8>>2];k[E+12>>2]=k[f+12>>2];k[E+16>>2]=k[f+16>>2];k[E+8>>2]=0;k[E+16>>2]=C;k[v>>2]=k[(k[w>>2]|0)+20>>2];b:while(1){if((k[v>>2]|0)>>>0>=(k[x>>2]|0)>>>0)break;b=k[v>>2]|0;if(!(m[(k[v>>2]|0)+18>>1]&1024)){if((k[b+8>>2]|0)==(k[p>>2]|0)){k[G>>2]=k[k[z>>2]>>2];k[G+4>>2]=k[z>>2];i[G+8>>0]=72;k[G+12>>2]=1;k[G+20>>2]=k[v>>2];k[E+4>>2]=G;H=11}}else{k[E+4>>2]=k[b+12>>2];H=11}c:do if((H|0)==11){H=0;j[C>>1]=0;c=h;b=k[c>>2]|0;c=k[c+4>>2]|0;if(l[(k[(k[t>>2]|0)+16>>2]|0)+42>>0]&16){f=n;f=cE(E,b,c,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}else{f=dE(E,b,c)|0;k[B>>2]=f}if(!(k[B>>2]|0)){a=h;f=n;f=eE(E,k[a>>2]|0,k[a+4>>2]|0,k[f>>2]|0,k[f+4>>2]|0)|0;k[B>>2]=f}if(!(m[C>>1]|0)){H=17;break b}if(k[s>>2]|0){fE(F,C);k[s>>2]=0;break}fE(D,F);j[F>>1]=0;k[o>>2]=0;while(1){if((k[o>>2]|0)>=(m[D>>1]|0))break c;k[q>>2]=0;while(1){b=k[o>>2]|0;if((k[q>>2]|0)>=(m[C>>1]|0))break;f=D+8+(b<<4)|0;a=C+8+(k[q>>2]<<4)|0;e=k[f>>2]|k[a>>2];a=k[f+4>>2]|k[a+4>>2];f=_D(j[D+8+(k[o>>2]<<4)+8>>1]|0,j[C+8+(k[q>>2]<<4)+8>>1]|0)|0;gE(F,e,a,f,_D(j[D+8+(k[o>>2]<<4)+10>>1]|0,j[C+8+(k[q>>2]<<4)+10>>1]|0)|0)|0;k[q>>2]=(k[q>>2]|0)+1}k[o>>2]=b+1}}while(0);k[v>>2]=(k[v>>2]|0)+48}if((H|0)==17){H=0;j[F>>1]=0}j[(k[u>>2]|0)+40>>1]=1;k[k[(k[u>>2]|0)+48>>2]>>2]=k[y>>2];k[(k[u>>2]|0)+36>>2]=8192;j[(k[u>>2]|0)+18>>1]=0;i[(k[u>>2]|0)+17>>0]=0;f=(k[u>>2]|0)+24|0;k[f>>2]=0;k[f+4>>2]=0;k[f+8>>2]=0;k[o>>2]=0;while(1){if(k[B>>2]|0)break a;if((k[o>>2]|0)>=(m[F>>1]|0))break a;j[(k[u>>2]|0)+20>>1]=(j[F+8+(k[o>>2]<<4)+8>>1]|0)+1;j[(k[u>>2]|0)+22>>1]=j[F+8+(k[o>>2]<<4)+10>>1]|0;e=F+8+(k[o>>2]<<4)|0;a=k[e+4>>2]|0;f=k[u>>2]|0;k[f>>2]=k[e>>2];k[f+4>>2]=a;f=hE(k[g>>2]|0,k[u>>2]|0)|0;k[B>>2]=f;k[o>>2]=(k[o>>2]|0)+1}}while(0);k[y>>2]=(k[y>>2]|0)+48}r=I;return k[B>>2]|0}function fE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;j[k[d>>2]>>1]=j[k[e>>2]>>1]|0;BR((k[d>>2]|0)+8|0,(k[e>>2]|0)+8|0,(m[k[d>>2]>>1]|0)<<4|0)|0;r=c;return}function gE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0;q=r;r=r+32|0;g=q+16|0;h=q+12|0;i=q;l=q+24|0;n=q+22|0;o=q+20|0;p=q+8|0;k[h>>2]=a;a=i;k[a>>2]=b;k[a+4>>2]=c;j[l>>1]=d;j[n>>1]=e;j[o>>1]=j[k[h>>2]>>1]|0;k[p>>2]=(k[h>>2]|0)+8;while(1){if((m[o>>1]|0)<=0){f=9;break}if((j[l>>1]|0)<=(j[(k[p>>2]|0)+8>>1]|0)?(e=i,a=k[p>>2]|0,d=i,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0)break;if((j[(k[p>>2]|0)+8>>1]|0)<=(j[l>>1]|0)?(e=k[p>>2]|0,a=i,d=k[p>>2]|0,(k[e>>2]&k[a>>2]|0)==(k[d>>2]|0)?(k[e+4>>2]&k[a+4>>2]|0)==(k[d+4>>2]|0):0):0){f=7;break}j[o>>1]=(j[o>>1]|0)+-1<<16>>16;k[p>>2]=(k[p>>2]|0)+16}if((f|0)==7){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}do if((f|0)==9){b=k[h>>2]|0;if((m[k[h>>2]>>1]|0)<3){o=j[b>>1]|0;j[b>>1]=o+1<<16>>16;k[p>>2]=(k[h>>2]|0)+8+((o&65535)<<4);j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;break}k[p>>2]=b+8;j[o>>1]=1;while(1){b=j[(k[p>>2]|0)+8>>1]|0;if((m[o>>1]|0)>=(m[k[h>>2]>>1]|0))break;if((b|0)>(j[(k[h>>2]|0)+8+(m[o>>1]<<4)+8>>1]|0))k[p>>2]=(k[h>>2]|0)+8+(m[o>>1]<<4);j[o>>1]=(j[o>>1]|0)+1<<16>>16}if((b|0)<=(j[l>>1]|0)){k[g>>2]=0;p=k[g>>2]|0;r=q;return p|0}}while(0);h=i;i=k[h+4>>2]|0;o=k[p>>2]|0;k[o>>2]=k[h>>2];k[o+4>>2]=i;j[(k[p>>2]|0)+8>>1]=j[l>>1]|0;if((j[(k[p>>2]|0)+10>>1]|0)>(j[n>>1]|0))j[(k[p>>2]|0)+10>>1]=j[n>>1]|0;k[g>>2]=1;p=k[g>>2]|0;r=q;return p|0}function hE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+48|0;c=p+40|0;d=p+36|0;e=p+32|0;m=p+28|0;g=p+24|0;l=p+20|0;f=p+16|0;o=p+12|0;n=p+8|0;i=p+4|0;h=p;k[d>>2]=a;k[e>>2]=b;k[l>>2]=k[k[d>>2]>>2];k[f>>2]=k[k[k[l>>2]>>2]>>2];if(k[(k[d>>2]|0)+16>>2]|0){if(j[(k[e>>2]|0)+40>>1]|0){o=k[e>>2]|0;gE(k[(k[d>>2]|0)+16>>2]|0,k[o>>2]|0,k[o+4>>2]|0,j[(k[e>>2]|0)+20>>1]|0,j[(k[e>>2]|0)+22>>1]|0)|0}k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}iE(k[(k[l>>2]|0)+16>>2]|0,k[e>>2]|0);l=jE((k[l>>2]|0)+16|0,k[e>>2]|0)|0;k[m>>2]=l;if(!(k[m>>2]|0)){k[c>>2]=0;o=k[c>>2]|0;r=p;return o|0}k[g>>2]=k[k[m>>2]>>2];a:do if(!(k[g>>2]|0)){n=Vw(k[f>>2]|0,72,0)|0;k[g>>2]=n;k[k[m>>2]>>2]=n;if(k[g>>2]|0){nD(k[g>>2]|0);k[(k[g>>2]|0)+52>>2]=0;break}k[c>>2]=7;o=k[c>>2]|0;r=p;return o|0}else{k[n>>2]=(k[g>>2]|0)+52;while(1){if(!(k[k[n>>2]>>2]|0))break a;m=jE(k[n>>2]|0,k[e>>2]|0)|0;k[n>>2]=m;if(!(k[n>>2]|0))break a;k[i>>2]=k[k[n>>2]>>2];if(!(k[i>>2]|0))break a;k[k[n>>2]>>2]=k[(k[i>>2]|0)+52>>2];kD(k[f>>2]|0,k[i>>2]|0)}}while(0);n=kE(k[f>>2]|0,k[g>>2]|0,k[e>>2]|0)|0;k[o>>2]=n;if(((k[(k[g>>2]|0)+36>>2]&1024|0)==0?(k[h>>2]=k[(k[g>>2]|0)+24+4>>2],(k[h>>2]|0)!=0):0)?(k[(k[h>>2]|0)+44>>2]|0)==0:0)k[(k[g>>2]|0)+24+4>>2]=0;k[c>>2]=k[o>>2];o=k[c>>2]|0;r=p;return o|0}function iE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[d>>2]|0)+36>>2]&512|0)!=0:0)){r=e;return}do{do if((l[(k[c>>2]|0)+16>>0]|0)==(l[(k[d>>2]|0)+16>>0]|0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0){if(lE(k[c>>2]|0,k[d>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)-1;break}if(lE(k[d>>2]|0,k[c>>2]|0)|0){j[(k[d>>2]|0)+20>>1]=j[(k[c>>2]|0)+20>>1]|0;j[(k[d>>2]|0)+22>>1]=(j[(k[c>>2]|0)+22>>1]|0)+1}}while(0);k[c>>2]=k[(k[c>>2]|0)+52>>2]}while((k[c>>2]|0)!=0);r=e;return}function jE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;f=g+8|0;c=g+4|0;d=g;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[k[f>>2]>>2];while(1){if(!(k[d>>2]|0)){c=19;break}if((l[(k[d>>2]|0)+16>>0]|0)==(l[(k[c>>2]|0)+16>>0]|0)?(l[(k[d>>2]|0)+17>>0]|0)==(l[(k[c>>2]|0)+17>>0]|0):0){if(((((k[(k[d>>2]|0)+36>>2]&16384|0)!=0?(m[(k[c>>2]|0)+42>>1]|0)==0:0)?(k[(k[c>>2]|0)+36>>2]&512|0)!=0:0)?(k[(k[c>>2]|0)+36>>2]&1|0)!=0:0)?(h=k[d>>2]|0,b=k[c>>2]|0,a=k[c>>2]|0,(k[h>>2]&k[b>>2]|0)==(k[a>>2]|0)?(k[h+4>>2]&k[b+4>>2]|0)==(k[a+4>>2]|0):0):0){c=19;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[d>>2]|0;if(((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+18>>1]|0)<=(j[(k[c>>2]|0)+18>>1]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)<=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)<=(j[(k[c>>2]|0)+22>>1]|0):0){c=14;break}b=k[d>>2]|0;a=k[c>>2]|0;h=k[c>>2]|0;if((((k[b>>2]&k[a>>2]|0)==(k[h>>2]|0)?(k[b+4>>2]&k[a+4>>2]|0)==(k[h+4>>2]|0):0)?(j[(k[d>>2]|0)+20>>1]|0)>=(j[(k[c>>2]|0)+20>>1]|0):0)?(j[(k[d>>2]|0)+22>>1]|0)>=(j[(k[c>>2]|0)+22>>1]|0):0){c=19;break}}k[f>>2]=(k[d>>2]|0)+52;k[d>>2]=k[k[f>>2]>>2]}if((c|0)==14){k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}else if((c|0)==19){k[e>>2]=k[f>>2];h=k[e>>2]|0;r=g;return h|0}return 0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;e=g+12|0;h=g+8|0;d=g+4|0;f=g;k[h>>2]=a;k[d>>2]=b;k[f>>2]=c;mD(k[h>>2]|0,k[d>>2]|0);b=(WD(k[h>>2]|0,k[d>>2]|0,m[(k[f>>2]|0)+40>>1]|0)|0)!=0;a=k[d>>2]|0;if(b){h=a+24|0;k[h>>2]=0;k[h+4>>2]=0;k[h+8>>2]=0;k[e>>2]=7;h=k[e>>2]|0;r=g;return h|0}c=k[f>>2]|0;b=a+44|0;do{k[a>>2]=k[c>>2];a=a+4|0;c=c+4|0}while((a|0)<(b|0));BR(k[(k[d>>2]|0)+48>>2]|0,k[(k[f>>2]|0)+48>>2]|0,(m[(k[d>>2]|0)+40>>1]|0)<<2|0)|0;a=k[f>>2]|0;if(!(k[(k[f>>2]|0)+36>>2]&1024)){if(k[a+36>>2]&16384)k[(k[f>>2]|0)+24+4>>2]=0}else i[a+24+4>>0]=0;k[e>>2]=0;h=k[e>>2]|0;r=g;return h|0}function lE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;g=h+16|0;c=h+12|0;d=h+8|0;e=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;if(((m[(k[c>>2]|0)+40>>1]|0)-(m[(k[c>>2]|0)+42>>1]|0)|0)>=((m[(k[d>>2]|0)+40>>1]|0)-(m[(k[d>>2]|0)+42>>1]|0)|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((m[(k[d>>2]|0)+42>>1]|0)>(m[(k[c>>2]|0)+42>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+20>>1]|0)>=(j[(k[d>>2]|0)+20>>1]|0)){if((j[(k[c>>2]|0)+20>>1]|0)>(j[(k[d>>2]|0)+20>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}if((j[(k[c>>2]|0)+22>>1]|0)>(j[(k[d>>2]|0)+22>>1]|0)){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}}k[e>>2]=(m[(k[c>>2]|0)+40>>1]|0)-1;while(1){if((k[e>>2]|0)<0){c=20;break}if(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0){k[f>>2]=(m[(k[d>>2]|0)+40>>1]|0)-1;while(1){if((k[f>>2]|0)<0)break;if((k[(k[(k[d>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2]|0))break;k[f>>2]=(k[f>>2]|0)+-1}if((k[f>>2]|0)<0){c=18;break}}k[e>>2]=(k[e>>2]|0)+-1}if((c|0)==18){k[g>>2]=0;g=k[g>>2]|0;r=h;return g|0}else if((c|0)==20){k[g>>2]=1;g=k[g>>2]|0;r=h;return g|0}return 0}function mE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,m=0,n=0,o=0;o=r;r=r+32|0;d=o+24|0;e=o+20|0;f=o+16|0;g=o+12|0;h=o+8|0;m=o+4|0;i=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;while(1){if((l[k[g>>2]>>0]|0)!=72)break;if(!(mE(k[e>>2]|0,k[f>>2]|0,k[(k[g>>2]|0)+12>>2]|0)|0)){n=4;break}k[g>>2]=k[(k[g>>2]|0)+16>>2]}if((n|0)==4){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}k[h>>2]=0;k[m>>2]=k[(k[f>>2]|0)+20>>2];while(1){if((k[h>>2]|0)>=(k[(k[f>>2]|0)+12>>2]|0)){n=13;break}k[i>>2]=k[k[m>>2]>>2];if(uE(k[i>>2]|0,k[g>>2]|0,k[e>>2]|0)|0){if(!(k[(k[i>>2]|0)+4>>2]&1)){n=11;break}if((j[(k[i>>2]|0)+36>>1]|0)==(k[e>>2]|0)){n=11;break}}k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=(k[m>>2]|0)+48}if((n|0)==11){k[d>>2]=1;n=k[d>>2]|0;r=o;return n|0}else if((n|0)==13){k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}return 0}function nE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+48|0;d=s+32|0;e=s+28|0;f=s+24|0;g=s+20|0;p=s+16|0;h=s+12|0;i=s+8|0;n=s+4|0;o=s;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if((l[(k[f>>2]|0)+55>>0]|0)>>>2&1){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}b=k[(k[k[e>>2]>>2]|0)+8>>2]|0;k[p>>2]=b;if(!b){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}k[i>>2]=0;a:while(1){if((k[i>>2]|0)>=(k[k[p>>2]>>2]|0)){q=24;break}b=hy(k[(k[(k[p>>2]|0)+4>>2]|0)+((k[i>>2]|0)*20|0)>>2]|0)|0;k[o>>2]=b;b:do if((l[k[o>>2]>>0]|0)==152?(k[(k[o>>2]|0)+28>>2]|0)==(k[g>>2]|0):0){if((j[(k[o>>2]|0)+32>>1]|0)<0){q=10;break a}k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break b;if((j[(k[o>>2]|0)+32>>1]|0)==(j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)){q=14;break a}k[n>>2]=(k[n>>2]|0)+1}}else q=16;while(0);c:do if((q|0)==16?(q=0,b=k[(k[f>>2]|0)+40>>2]|0,k[h>>2]=b,(b|0)!=0):0){k[n>>2]=0;while(1){if((k[n>>2]|0)>=(m[(k[f>>2]|0)+50>>1]|0))break c;if((j[(k[(k[f>>2]|0)+4>>2]|0)+(k[n>>2]<<1)>>1]|0)==-2?(Fy(k[o>>2]|0,k[(k[(k[h>>2]|0)+4>>2]|0)+((k[n>>2]|0)*20|0)>>2]|0,k[g>>2]|0)|0)==0:0){q=21;break a}k[n>>2]=(k[n>>2]|0)+1}}while(0);k[i>>2]=(k[i>>2]|0)+1}if((q|0)==10){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==14){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==21){k[d>>2]=1;q=k[d>>2]|0;r=s;return q|0}else if((q|0)==24){k[d>>2]=0;q=k[d>>2]|0;r=s;return q|0}return 0}function oE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;d=s+36|0;e=s+32|0;f=s+42|0;p=s+28|0;q=s+24|0;n=s;g=s+20|0;i=s+16|0;l=s+12|0;h=s+40|0;o=s+8|0;k[d>>2]=a;k[e>>2]=b;j[f>>1]=c;t=k[e>>2]|0;c=(k[e>>2]|0)+8|0;b=~(k[t+4>>2]|k[c+4>>2]);a=n;k[a>>2]=~(k[t>>2]|k[c>>2]);k[a+4>>2]=b;j[h>>1]=0;k[g>>2]=k[(k[d>>2]|0)+12>>2];k[p>>2]=k[(k[d>>2]|0)+20>>2];while(1){if((k[g>>2]|0)<=0)break;if(m[(k[p>>2]|0)+20>>1]&2)break;a=(k[p>>2]|0)+40|0;t=(k[e>>2]|0)+8|0;do if(!((k[a>>2]&k[t>>2]|0)==0?(k[a+4>>2]&k[t+4>>2]|0)==0:0)?(a=(k[p>>2]|0)+40|0,t=n,!((k[a>>2]&k[t>>2]|0)!=0?1:(k[a+4>>2]&k[t+4>>2]|0)!=0)):0){k[i>>2]=(m[(k[e>>2]|0)+40>>1]|0)-1;while(1){if((k[i>>2]|0)<0)break;k[q>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[i>>2]<<2)>>2];if(k[q>>2]|0){if((k[q>>2]|0)==(k[p>>2]|0))break;if((k[(k[q>>2]|0)+4>>2]|0)>=0?((k[(k[d>>2]|0)+20>>2]|0)+((k[(k[q>>2]|0)+4>>2]|0)*48|0)|0)==(k[p>>2]|0):0)break}k[i>>2]=(k[i>>2]|0)+-1}if((k[i>>2]|0)<0){if((j[(k[p>>2]|0)+16>>1]|0)<=0){t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+(j[(k[p>>2]|0)+16>>1]|0);break}t=(k[e>>2]|0)+22|0;j[t>>1]=(j[t>>1]|0)+-1<<16>>16;if(m[(k[p>>2]|0)+18>>1]&130){k[o>>2]=k[(k[k[p>>2]>>2]|0)+16>>2];t=(Ay(k[o>>2]|0,l)|0)!=0;if(t&(k[l>>2]|0)>=-1&(k[l>>2]|0)<=1)k[l>>2]=10;else k[l>>2]=20;if((j[h>>1]|0)<(k[l>>2]|0))j[h>>1]=k[l>>2]}}}while(0);k[g>>2]=(k[g>>2]|0)+-1;k[p>>2]=(k[p>>2]|0)+48}if((j[(k[e>>2]|0)+22>>1]|0)<=((j[f>>1]|0)-(j[h>>1]|0)|0)){r=s;return}j[(k[e>>2]|0)+22>>1]=(j[f>>1]|0)-(j[h>>1]|0);r=s;return}function pE(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;f=r;r=r+32|0;b=f+16|0;d=f;c=f+12|0;e=f+8|0;k[b>>2]=a;a=d;k[a>>2]=0;k[a+4>>2]=0;k[c>>2]=(m[(k[b>>2]|0)+52>>1]|0)-1;while(1){if((k[c>>2]|0)<0)break;k[e>>2]=j[(k[(k[b>>2]|0)+4>>2]|0)+(k[c>>2]<<1)>>1];if((k[e>>2]|0)>=0&(k[e>>2]|0)<63){h=ER(1,0,k[e>>2]|0)|0;i=d;g=k[i+4>>2]|L;a=d;k[a>>2]=k[i>>2]|h;k[a+4>>2]=g}k[c>>2]=(k[c>>2]|0)+-1}i=d;L=k[i+4>>2]|0;r=f;return k[i>>2]|0}function qE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=r;r=r+208|0;f=O+172|0;g=O+168|0;h=O+164|0;n=O+160|0;o=O+196|0;P=O+156|0;A=O+152|0;p=O+148|0;z=O+144|0;B=O+140|0;e=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;q=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;k[g>>2]=a;k[h>>2]=b;k[n>>2]=c;j[o>>1]=d;k[P>>2]=k[k[g>>2]>>2];k[A>>2]=k[k[P>>2]>>2];k[p>>2]=k[k[A>>2]>>2];k[G>>2]=0;k[C>>2]=0;k[x>>2]=0;k[z>>2]=k[(k[g>>2]|0)+12>>2];if(i[(k[p>>2]|0)+69>>0]|0){k[f>>2]=7;P=k[f>>2]|0;r=O;return P|0}do if(!(k[(k[z>>2]|0)+36>>2]&32))if(l[(k[h>>2]|0)+36>>0]&8){k[e>>2]=63;break}else{k[e>>2]=447;break}else k[e>>2]=24;while(0);if((l[(k[n>>2]|0)+55>>0]|0)>>>2&1)k[e>>2]=k[e>>2]&-61;j[H>>1]=j[(k[z>>2]|0)+24>>1]|0;j[K>>1]=j[(k[z>>2]|0)+42>>1]|0;j[I>>1]=j[(k[z>>2]|0)+40>>1]|0;k[M>>2]=k[(k[z>>2]|0)+36>>2];c=k[z>>2]|0;b=k[c+4>>2]|0;P=L;k[P>>2]=k[c>>2];k[P+4>>2]=b;j[J>>1]=j[(k[z>>2]|0)+22>>1]|0;P=OD(N,k[(k[g>>2]|0)+4>>2]|0,k[(k[h>>2]|0)+44>>2]|0,m[H>>1]|0,k[e>>2]|0,k[n>>2]|0)|0;k[B>>2]=P;j[(k[z>>2]|0)+18>>1]=0;j[F>>1]=j[k[(k[n>>2]|0)+8>>2]>>1]|0;P=bE(j[F>>1]|0)|0;j[E>>1]=P;a:while(1){if(!((k[G>>2]|0)==0?(k[B>>2]|0)!=0:0))break;j[q>>1]=j[(k[B>>2]|0)+18>>1]|0;k[u>>2]=0;if((m[q>>1]|0)!=256?(m[(k[B>>2]|0)+20>>1]&0|0)==0:0)d=15;else d=14;if((d|0)==14?(d=0,(rE(k[n>>2]|0,m[H>>1]|0)|0)==0):0)d=15;do if((d|0)==15?(0,b=(k[B>>2]|0)+32|0,P=(k[z>>2]|0)+8|0,!((k[b>>2]&k[P>>2]|0)!=0?1:(k[b+4>>2]&k[P+4>>2]|0)!=0)):0){if((m[(k[B>>2]|0)+20>>1]&256|0)!=0?(m[(k[B>>2]|0)+18>>1]|0)==16:0)break;k[(k[z>>2]|0)+36>>2]=k[M>>2];j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+40>>1]=j[I>>1]|0;if(WD(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0)break a;a=k[B>>2]|0;c=(k[z>>2]|0)+40|0;e=j[c>>1]|0;j[c>>1]=e+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((e&65535)<<2)>>2]=a;e=L;a=(k[B>>2]|0)+32|0;c=(k[z>>2]|0)+8|0;b=(k[e+4>>2]|k[a+4>>2])&~k[c+4>>2];P=k[z>>2]|0;k[P>>2]=(k[e>>2]|k[a>>2])&~k[c>>2];k[P+4>>2]=b;do if(m[q>>1]&1){k[y>>2]=k[k[B>>2]>>2];P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|4;if(k[(k[y>>2]|0)+4>>2]&2048){k[u>>2]=46;break}if((k[(k[y>>2]|0)+20>>2]|0)!=0?(k[k[(k[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=k[k[(k[y>>2]|0)+20>>2]>>2]|0;P=(Uj(P,((P|0)<0)<<31>>31)|0)<<16>>16;k[u>>2]=P}}else{if(m[q>>1]&130){k[s>>2]=j[(k[(k[n>>2]|0)+4>>2]|0)+(m[H>>1]<<1)>>1];P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|1;if((k[s>>2]|0)!=-1){if((k[s>>2]|0)<=0)break;if(j[o>>1]|0)break;if((m[H>>1]|0)!=((m[(k[n>>2]|0)+50>>1]|0)-1|0))break}if((k[s>>2]|0)>=0?((l[(k[n>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|65536;break}P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|4096;break}if(m[q>>1]&256){P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|8;break}d=(k[z>>2]|0)+36|0;e=k[d>>2]|0;if(m[q>>1]&36){k[d>>2]=e|34;k[x>>2]=k[B>>2];k[C>>2]=0;if(!(m[(k[B>>2]|0)+20>>1]&256))break;k[C>>2]=(k[B>>2]|0)+48;if(WD(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0)break a;b=k[C>>2]|0;c=(k[z>>2]|0)+40|0;P=j[c>>1]|0;j[c>>1]=P+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=b;P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|16;break}else{k[d>>2]=e|18;k[C>>2]=k[B>>2];if(k[(k[z>>2]|0)+36>>2]&32)d=k[(k[(k[z>>2]|0)+48>>2]|0)+((m[(k[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else d=0;k[x>>2]=d;break}}while(0);do if(!(k[(k[z>>2]|0)+36>>2]&2)){b=(k[z>>2]|0)+24|0;P=(j[b>>1]|0)+1<<16>>16;j[b>>1]=P;k[t>>2]=P&65535;if((j[(k[B>>2]|0)+16>>1]|0)<=0?(j[(k[(k[n>>2]|0)+4>>2]|0)+(m[H>>1]<<1)>>1]|0)>=0:0){P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+(j[(k[B>>2]|0)+16>>1]|0);P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)-(k[u>>2]|0);break}P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+((j[(k[(k[n>>2]|0)+8>>2]|0)+(k[t>>2]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((k[t>>2]|0)-1<<1)>>1]|0));if(m[q>>1]&256){P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+10}}else sE(k[A>>2]|0,k[g>>2]|0,k[x>>2]|0,k[C>>2]|0,k[z>>2]|0)|0;while(0);j[D>>1]=(j[(k[z>>2]|0)+22>>1]|0)+1+(((j[(k[n>>2]|0)+48>>1]|0)*15|0)/(j[(k[(k[h>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=_D(j[E>>1]|0,j[D>>1]|0)|0;j[(k[z>>2]|0)+20>>1]=P;if(!(k[(k[z>>2]|0)+36>>2]&320)){P=_D(j[(k[z>>2]|0)+20>>1]|0,(j[(k[z>>2]|0)+22>>1]|0)+16&65535)|0;j[(k[z>>2]|0)+20>>1]=P}j[w>>1]=j[(k[z>>2]|0)+22>>1]|0;P=(k[z>>2]|0)+20|0;j[P>>1]=(j[P>>1]|0)+((j[o>>1]|0)+(k[u>>2]|0));P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)+((j[o>>1]|0)+(k[u>>2]|0));oE(k[(k[g>>2]|0)+4>>2]|0,k[z>>2]|0,j[F>>1]|0);P=hE(k[g>>2]|0,k[z>>2]|0)|0;k[G>>2]=P;if(k[(k[z>>2]|0)+36>>2]&2)j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;else j[(k[z>>2]|0)+22>>1]=j[w>>1]|0;if((k[(k[z>>2]|0)+36>>2]&16|0)==0?(m[(k[z>>2]|0)+24>>1]|0)<(m[(k[n>>2]|0)+52>>1]|0):0)qE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[o>>1]|0)+(k[u>>2]|0)&65535)|0;j[(k[z>>2]|0)+22>>1]=j[J>>1]|0}while(0);P=PD(N)|0;k[B>>2]=P}N=k[L+4>>2]|0;P=k[z>>2]|0;k[P>>2]=k[L>>2];k[P+4>>2]=N;j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+42>>1]=j[K>>1]|0;k[(k[z>>2]|0)+36>>2]=k[M>>2];j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;j[(k[z>>2]|0)+40>>1]=j[I>>1]|0;if(((((m[H>>1]|0)==(m[K>>1]|0)?((m[H>>1]|0)+1|0)<(m[(k[n>>2]|0)+50>>1]|0):0)?((l[(k[n>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=WD(k[p>>2]|0,k[z>>2]|0,(m[(k[z>>2]|0)+40>>1]|0)+1|0)|0,k[G>>2]=P,(P|0)==0):0){N=(k[z>>2]|0)+24|0;j[N>>1]=(j[N>>1]|0)+1<<16>>16;N=(k[z>>2]|0)+42|0;j[N>>1]=(j[N>>1]|0)+1<<16>>16;N=(k[z>>2]|0)+40|0;P=j[N>>1]|0;j[N>>1]=P+1<<16>>16;k[(k[(k[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(k[z>>2]|0)+36|0;k[P>>2]=k[P>>2]|32768;j[v>>1]=(j[(k[(k[n>>2]|0)+8>>2]|0)+(m[H>>1]<<1)>>1]|0)-(j[(k[(k[n>>2]|0)+8>>2]|0)+((m[H>>1]|0)+1<<1)>>1]|0);P=(k[z>>2]|0)+22|0;j[P>>1]=(j[P>>1]|0)-(j[v>>1]|0);j[v>>1]=(j[v>>1]|0)+5;qE(k[g>>2]|0,k[h>>2]|0,k[n>>2]|0,(j[v>>1]|0)+(j[o>>1]|0)&65535)|0;j[(k[z>>2]|0)+22>>1]=j[J>>1]|0;j[(k[z>>2]|0)+24>>1]=j[H>>1]|0;j[(k[z>>2]|0)+42>>1]=j[K>>1]|0;k[(k[z>>2]|0)+36>>2]=k[M>>2]}k[f>>2]=k[G>>2];P=k[f>>2]|0;r=O;return P|0}function rE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;d=e+8|0;g=e+4|0;f=e;k[d>>2]=a;k[g>>2]=b;k[f>>2]=j[(k[(k[d>>2]|0)+4>>2]|0)+(k[g>>2]<<1)>>1];b=k[f>>2]|0;if((k[f>>2]|0)>=0){k[c>>2]=l[(k[(k[(k[d>>2]|0)+12>>2]|0)+4>>2]|0)+(b<<4)+12>>0];g=k[c>>2]|0;r=e;return g|0}if((b|0)==-1){k[c>>2]=1;g=k[c>>2]|0;r=e;return g|0}else{k[c>>2]=0;g=k[c>>2]|0;r=e;return g|0}return 0}function sE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0;n=r;r=r+32|0;f=n+16|0;g=n+12|0;h=n+8|0;m=n+4|0;l=n;i=n+28|0;k[n+24>>2]=a;k[n+20>>2]=b;k[f>>2]=c;k[g>>2]=d;k[h>>2]=e;k[m>>2]=0;k[l>>2]=j[(k[h>>2]|0)+22>>1];d=tE(k[f>>2]|0,k[l>>2]&65535)|0;j[i>>1]=d;d=tE(k[g>>2]|0,j[i>>1]|0)|0;j[i>>1]=d;if(((k[f>>2]|0)!=0?((k[g>>2]|0)!=0?(j[(k[f>>2]|0)+16>>1]|0)>0:0):0)?(j[(k[g>>2]|0)+16>>1]|0)>0:0)j[i>>1]=(j[i>>1]|0)-20;k[l>>2]=(k[l>>2]|0)-(((k[f>>2]|0)!=0&1)+((k[g>>2]|0)!=0&1));if((j[i>>1]|0)<10)j[i>>1]=10;if((j[i>>1]|0)>=(k[l>>2]|0)){a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}k[l>>2]=j[i>>1];a=k[l>>2]|0;a=a&65535;d=k[h>>2]|0;d=d+22|0;j[d>>1]=a;m=k[m>>2]|0;r=n;return m|0}function tE(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e;f=e+6|0;d=e+4|0;k[c>>2]=a;j[f>>1]=b;j[d>>1]=j[f>>1]|0;do if(k[c>>2]|0){b=k[c>>2]|0;if((j[(k[c>>2]|0)+16>>1]|0)<=0){j[d>>1]=(j[d>>1]|0)+(j[b+16>>1]|0);break}if(!(m[b+20>>1]&0))j[d>>1]=(j[d>>1]|0)-20}while(0);r=e;return j[d>>1]|0}function uE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;if(!(Fy(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0)|0)){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}do if((l[k[f>>2]>>0]|0|0)==71){if((uE(k[e>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0?(uE(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[g>>2]|0)|0)==0:0)break;k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}while(0);if((((l[k[f>>2]>>0]|0|0)==77?(Fy(k[(k[e>>2]|0)+12>>2]|0,k[(k[f>>2]|0)+12>>2]|0,k[g>>2]|0)|0)==0:0)?(l[k[e>>2]>>0]|0|0)!=76:0)?(l[k[e>>2]>>0]|0|0)!=73:0){k[d>>2]=1;b=k[d>>2]|0;r=h;return b|0}k[d>>2]=0;b=k[d>>2]|0;r=h;return b|0}function vE(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,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=r;r=r+96|0;F=G+8|0;g=G+76|0;h=G+72|0;n=G+68|0;o=G;p=G+64|0;q=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;k[h>>2]=a;k[n>>2]=b;b=o;k[b>>2]=c;k[b+4>>2]=d;k[p>>2]=e;k[q>>2]=f;k[w>>2]=0;k[s>>2]=0;k[D>>2]=k[(k[n>>2]|0)+20>>2];while(1){if((k[s>>2]|0)>=(k[(k[n>>2]|0)+12>>2]|0))break;if((((k[(k[D>>2]|0)+8>>2]|0)==(k[(k[p>>2]|0)+44>>2]|0)?(e=(k[D>>2]|0)+32|0,b=o,!((k[e>>2]&k[b>>2]|0)!=0?1:(k[e+4>>2]&k[b+4>>2]|0)!=0)):0)?(m[(k[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(m[(k[D>>2]|0)+20>>1]&0|0)==0:0)k[w>>2]=(k[w>>2]|0)+1;k[s>>2]=(k[s>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+48}k[v>>2]=0;if(k[q>>2]|0){k[u>>2]=k[k[q>>2]>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[u>>2]|0))break;k[y>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];if((l[k[y>>2]>>0]|0)!=152)break;if((k[(k[y>>2]|0)+28>>2]|0)!=(k[(k[p>>2]|0)+44>>2]|0))break;k[s>>2]=(k[s>>2]|0)+1}if((k[s>>2]|0)==(k[u>>2]|0))k[v>>2]=k[u>>2]}b=Bh(k[k[h>>2]>>2]|0,72+((k[w>>2]|0)*20|0)+(k[v>>2]<<3)|0,0)|0;k[B>>2]=b;if(!(k[B>>2]|0)){Mh(k[h>>2]|0,25624,F);k[g>>2]=0;F=k[g>>2]|0;r=G;return F|0}k[A>>2]=(k[B>>2]|0)+72;k[C>>2]=(k[A>>2]|0)+((k[w>>2]|0)*12|0);k[E>>2]=(k[C>>2]|0)+(k[v>>2]<<3);k[k[B>>2]>>2]=k[w>>2];k[(k[B>>2]|0)+8>>2]=k[v>>2];k[(k[B>>2]|0)+4>>2]=k[A>>2];k[(k[B>>2]|0)+12>>2]=k[C>>2];k[(k[B>>2]|0)+16>>2]=k[E>>2];k[t>>2]=0;k[s>>2]=0;k[D>>2]=k[(k[n>>2]|0)+20>>2];while(1){if((k[s>>2]|0)>=(k[(k[n>>2]|0)+12>>2]|0))break;if((((k[(k[D>>2]|0)+8>>2]|0)==(k[(k[p>>2]|0)+44>>2]|0)?(b=(k[D>>2]|0)+32|0,F=o,!((k[b>>2]&k[F>>2]|0)!=0?1:(k[b+4>>2]&k[F+4>>2]|0)!=0)):0)?(m[(k[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(m[(k[D>>2]|0)+20>>1]&0|0)==0:0){k[(k[A>>2]|0)+((k[t>>2]|0)*12|0)>>2]=k[(k[D>>2]|0)+12>>2];k[(k[A>>2]|0)+((k[t>>2]|0)*12|0)+8>>2]=k[s>>2];F=j[(k[D>>2]|0)+18>>1]&255;i[x>>0]=F;i[x>>0]=(l[x>>0]|0)==1?2:F;if((l[x>>0]|0)==64)i[x>>0]=i[(k[D>>2]|0)+23>>0]|0;i[(k[A>>2]|0)+((k[t>>2]|0)*12|0)+4>>0]=i[x>>0]|0;k[t>>2]=(k[t>>2]|0)+1}k[s>>2]=(k[s>>2]|0)+1;k[D>>2]=(k[D>>2]|0)+48}k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[v>>2]|0))break;k[z>>2]=k[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2];k[(k[C>>2]|0)+(k[s>>2]<<3)>>2]=j[(k[z>>2]|0)+32>>1];i[(k[C>>2]|0)+(k[s>>2]<<3)+4>>0]=i[(k[(k[q>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)+12>>0]|0;k[s>>2]=(k[s>>2]|0)+1}k[g>>2]=k[B>>2];F=k[g>>2]|0;r=G;return F|0}function wE(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=r;r=r+96|0;E=L+16|0;G=L+88|0;H=L+84|0;M=L+8|0;o=L;q=L+92|0;I=L+80|0;n=L+76|0;D=L+72|0;x=L+68|0;C=L+64|0;s=L+60|0;v=L+56|0;K=L+52|0;J=L+48|0;y=L+44|0;z=L+40|0;w=L+36|0;A=L+32|0;t=L+28|0;B=L+24|0;u=L+20|0;k[H>>2]=a;a=M;k[a>>2]=b;k[a+4>>2]=c;a=o;k[a>>2]=d;k[a+4>>2]=e;j[q>>1]=f;k[I>>2]=g;k[n>>2]=h;k[D>>2]=k[(k[H>>2]|0)+4>>2];k[C>>2]=k[(k[I>>2]|0)+16>>2];k[K>>2]=0;k[J>>2]=k[(k[H>>2]|0)+12>>2];k[y>>2]=k[k[k[H>>2]>>2]>>2];k[z>>2]=(k[(k[k[H>>2]>>2]|0)+4>>2]|0)+8+((l[(k[J>>2]|0)+16>>0]|0)*72|0);k[w>>2]=k[k[I>>2]>>2];k[k[n>>2]>>2]=0;a=M;g=k[a+4>>2]|0;h=k[J>>2]|0;k[h>>2]=k[a>>2];k[h+4>>2]=g;k[x>>2]=k[(k[I>>2]|0)+4>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break;k[A>>2]=(k[(k[D>>2]|0)+20>>2]|0)+((k[(k[x>>2]|0)+8>>2]|0)*48|0);i[(k[x>>2]|0)+5>>0]=0;g=(k[A>>2]|0)+32|0;h=o;M=(k[A>>2]|0)+32|0;if(((k[g>>2]&k[h>>2]|0)==(k[M>>2]|0)?(k[g+4>>2]&k[h+4>>2]|0)==(k[M+4>>2]|0):0)?(m[(k[A>>2]|0)+18>>1]&m[q>>1]|0)==0:0)i[(k[x>>2]|0)+5>>0]=1;k[s>>2]=(k[s>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+12}DR(k[C>>2]|0,0,k[w>>2]<<3|0)|0;k[(k[I>>2]|0)+24>>2]=0;k[(k[I>>2]|0)+20>>2]=0;k[(k[I>>2]|0)+32>>2]=0;p[(k[I>>2]|0)+40>>3]=5.e+98;A=(k[I>>2]|0)+48|0;k[A>>2]=25;k[A+4>>2]=0;k[(k[I>>2]|0)+56>>2]=0;A=(k[z>>2]|0)+56|0;h=k[A+4>>2]|0;M=(k[I>>2]|0)+64|0;k[M>>2]=k[A>>2];k[M+4>>2]=h;M=xE(k[y>>2]|0,k[(k[z>>2]|0)+16>>2]|0,k[I>>2]|0)|0;k[K>>2]=M;if(k[K>>2]|0){k[G>>2]=k[K>>2];M=k[G>>2]|0;r=L;return M|0}k[v>>2]=-1;k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break;k[(k[(k[J>>2]|0)+48>>2]|0)+(k[s>>2]<<2)>>2]=0;k[s>>2]=(k[s>>2]|0)+1}j[(k[J>>2]|0)+24+6>>1]=0;k[x>>2]=k[(k[I>>2]|0)+4>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[w>>2]|0))break;M=(k[(k[C>>2]|0)+(k[s>>2]<<3)>>2]|0)-1|0;k[t>>2]=M;if((M|0)>=0){k[u>>2]=k[(k[x>>2]|0)+8>>2];if((k[u>>2]|0)<0?1:(k[t>>2]|0)>=(k[w>>2]|0)){F=19;break}if((k[u>>2]|0)>=(k[(k[D>>2]|0)+12>>2]|0)){F=19;break}if(k[(k[(k[J>>2]|0)+48>>2]|0)+(k[t>>2]<<2)>>2]|0){F=19;break}if(!(l[(k[x>>2]|0)+5>>0]|0)){F=19;break}k[B>>2]=(k[(k[D>>2]|0)+20>>2]|0)+((k[u>>2]|0)*48|0);A=(k[B>>2]|0)+32|0;M=k[J>>2]|0;g=M;h=k[g+4>>2]|k[A+4>>2];k[M>>2]=k[g>>2]|k[A>>2];k[M+4>>2]=h;k[(k[(k[J>>2]|0)+48>>2]|0)+(k[t>>2]<<2)>>2]=k[B>>2];if((k[t>>2]|0)>(k[v>>2]|0))k[v>>2]=k[t>>2];if((k[t>>2]|0)<16?(l[(k[C>>2]|0)+(k[s>>2]<<3)+4>>0]|0)!=0:0){M=(k[J>>2]|0)+24+6|0;j[M>>1]=m[M>>1]|1<>2]}if(m[(k[B>>2]|0)+18>>1]&1){k[(k[I>>2]|0)+32>>2]=0;M=(k[I>>2]|0)+56|0;k[M>>2]=k[M>>2]&-2;k[k[n>>2]>>2]=1}}k[s>>2]=(k[s>>2]|0)+1;k[x>>2]=(k[x>>2]|0)+12}if((F|0)==19){k[K>>2]=1;M=k[y>>2]|0;k[E>>2]=k[k[(k[z>>2]|0)+16>>2]>>2];Mh(M,35315,E);k[G>>2]=k[K>>2];M=k[G>>2]|0;r=L;return M|0}j[(k[J>>2]|0)+40>>1]=(k[v>>2]|0)+1;k[(k[J>>2]|0)+24>>2]=k[(k[I>>2]|0)+20>>2];i[(k[J>>2]|0)+24+4>>0]=k[(k[I>>2]|0)+28>>2];k[(k[I>>2]|0)+28>>2]=0;k[(k[J>>2]|0)+24+8>>2]=k[(k[I>>2]|0)+24>>2];if(k[(k[I>>2]|0)+32>>2]|0)b=k[(k[I>>2]|0)+8>>2]|0;else b=0;i[(k[J>>2]|0)+24+5>>0]=b;j[(k[J>>2]|0)+18>>1]=0;b=yE(+p[(k[I>>2]|0)+40>>3])|0;j[(k[J>>2]|0)+20>>1]=b;b=(k[I>>2]|0)+48|0;b=Uj(k[b>>2]|0,k[b+4>>2]|0)|0;j[(k[J>>2]|0)+22>>1]=b;b=(k[J>>2]|0)+36|0;c=k[b>>2]|0;if(k[(k[I>>2]|0)+56>>2]&1)k[b>>2]=c|4096;else k[b>>2]=c&-4097;M=hE(k[H>>2]|0,k[J>>2]|0)|0;k[K>>2]=M;if(i[(k[J>>2]|0)+24+4>>0]|0){Ud(k[(k[J>>2]|0)+24+8>>2]|0);i[(k[J>>2]|0)+24+4>>0]=0}k[G>>2]=k[K>>2];M=k[G>>2]|0;r=L;return M|0}function xE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;i=r;r=r+32|0;h=i+8|0;g=i;d=i+28|0;l=i+24|0;j=i+20|0;e=i+16|0;f=i+12|0;k[d>>2]=a;k[l>>2]=b;k[j>>2]=c;b=(Qx(k[k[d>>2]>>2]|0,k[l>>2]|0)|0)+8|0;k[e>>2]=k[b>>2];b=gc[k[(k[k[e>>2]>>2]|0)+12>>2]&255](k[e>>2]|0,k[j>>2]|0)|0;k[f>>2]=b;do if(k[f>>2]|0){if((k[f>>2]|0)==7){vh(k[k[d>>2]>>2]|0);break}c=k[d>>2]|0;if(k[(k[e>>2]|0)+8>>2]|0){k[h>>2]=k[(k[e>>2]|0)+8>>2];Mh(c,18999,h);break}else{l=uh(k[f>>2]|0)|0;k[g>>2]=l;Mh(c,18999,g);break}}while(0);Ud(k[(k[e>>2]|0)+8>>2]|0);k[(k[e>>2]|0)+8>>2]=0;r=i;return k[(k[d>>2]|0)+68>>2]|0}function yE(a){a=+a;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+32|0;b=f+18|0;c=f+8|0;d=f;e=f+16|0;p[c>>3]=a;if(+p[c>>3]<=1.0){j[b>>1]=0;e=j[b>>1]|0;r=f;return e|0}if(+p[c>>3]<=2.0e9){a=+p[c>>3];e=Uj(~~a>>>0,+W(a)>=1.0?(a>0.0?~~+ia(+V(a/4294967296.0),4294967295.0)>>>0:~~+ga((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;j[b>>1]=e;e=j[b>>1]|0;r=f;return e|0}else{k[d>>2]=k[c>>2];k[d+4>>2]=k[c+4>>2];d=AR(k[d>>2]|0,k[d+4>>2]|0,52)|0;d=yR(d|0,L|0,1022,0)|0;j[e>>1]=d;j[b>>1]=(j[e>>1]|0)*10;e=j[b>>1]|0;r=f;return e|0}return 0}function zE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0;t=r;r=r+48|0;q=t+36|0;f=t+32|0;g=t+28|0;h=t+24|0;i=t+20|0;m=t+16|0;s=t+12|0;p=t+8|0;n=t+4|0;o=t;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[m>>2]=e;k[p>>2]=k[(k[(k[i>>2]|0)+32>>2]|0)+(k[m>>2]<<2)>>2];k[s>>2]=0;while(1){if((k[s>>2]|0)>=(k[k[g>>2]>>2]|0)){f=10;break}a=hy(k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=a;if(((((l[k[n>>2]>>0]|0)==152?(j[(k[n>>2]|0)+32>>1]|0)==(j[(k[(k[i>>2]|0)+4>>2]|0)+(k[m>>2]<<1)>>1]|0):0)?(k[(k[n>>2]|0)+28>>2]|0)==(k[h>>2]|0):0)?(a=cy(k[f>>2]|0,k[(k[(k[g>>2]|0)+4>>2]|0)+((k[s>>2]|0)*20|0)>>2]|0)|0,k[o>>2]=a,(k[o>>2]|0)!=0):0)?0==(sg(k[k[o>>2]>>2]|0,k[p>>2]|0)|0):0){f=8;break}k[s>>2]=(k[s>>2]|0)+1}if((f|0)==8){k[q>>2]=k[s>>2];s=k[q>>2]|0;r=t;return s|0}else if((f|0)==10){k[q>>2]=-1;s=k[q>>2]|0;r=t;return s|0}return 0} +function fu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;i=n+8|0;g=n+4|0;h=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[i>>2]=(k[e>>2]|0)+(l[(k[d>>2]|0)+6>>0]|0);k[g>>2]=l[k[i>>2]>>0];a:do if((k[g>>2]|0)>>>0>=128){k[h>>2]=(k[i>>2]|0)+8;k[g>>2]=k[g>>2]&127;do{c=k[g>>2]<<7;a=(k[i>>2]|0)+1|0;k[i>>2]=a;k[g>>2]=c|(l[a>>0]|0)&127;if((l[k[i>>2]>>0]|0|0)<128)break a}while((k[i>>2]|0)>>>0<(k[h>>2]|0)>>>0)}while(0);k[i>>2]=(k[i>>2]|0)+1;a=k[f>>2]|0;k[a>>2]=k[g>>2];k[a+4>>2]=0;k[(k[f>>2]|0)+12>>2]=k[g>>2];k[(k[f>>2]|0)+8>>2]=k[i>>2];if((k[g>>2]|0)>>>0>(m[(k[d>>2]|0)+10>>1]|0)>>>0){gu(k[d>>2]|0,k[e>>2]|0,k[f>>2]|0);r=n;return}j[(k[f>>2]|0)+18>>1]=(k[g>>2]|0)+((k[i>>2]|0)-(k[e>>2]|0)&65535);if((m[(k[f>>2]|0)+18>>1]|0|0)<4)j[(k[f>>2]|0)+18>>1]=4;j[(k[f>>2]|0)+16>>1]=k[g>>2];r=n;return}function gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,l=0;h=r;r=r+32|0;l=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=m[(k[l>>2]|0)+12>>1];k[i>>2]=m[(k[l>>2]|0)+10>>1];k[g>>2]=(k[f>>2]|0)+((((k[(k[e>>2]|0)+12>>2]|0)-(k[f>>2]|0)|0)>>>0)%(((k[(k[(k[l>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((k[g>>2]|0)<=(k[i>>2]|0))j[(k[e>>2]|0)+16>>1]=k[g>>2];else j[(k[e>>2]|0)+16>>1]=k[f>>2];j[(k[e>>2]|0)+18>>1]=((k[(k[e>>2]|0)+8>>2]|0)+(m[(k[e>>2]|0)+16>>1]|0)-(k[d>>2]|0)&65535)+4;r=h;return}function hu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=l[k[d>>2]>>0];if(!(k[f>>2]&128)){h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=1;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=l[k[d>>2]>>0];if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&127;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=2;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);b=(k[f>>2]&128|0)!=0;k[f>>2]=k[f>>2]&2080895;if(!b){k[g>>2]=k[g>>2]&127;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=3;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);b=(k[g>>2]&128|0)!=0;k[g>>2]=k[g>>2]&2080895;a=k[f>>2]|0;if(!b){k[f>>2]=a<<7;k[f>>2]=k[f>>2]|k[g>>2];h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=0;i[c>>0]=4;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=a;k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);if(!(k[f>>2]&128)){k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=5;h=i[c>>0]|0;r=j;return h|0}k[h>>2]=k[h>>2]<<7;k[h>>2]=k[h>>2]|k[g>>2];k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(!(k[g>>2]&128)){k[f>>2]=k[f>>2]&2080895;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>18;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=6;h=i[c>>0]|0;r=j;return h|0}k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<14;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);a=k[f>>2]|0;if(!(k[f>>2]&128)){k[f>>2]=a&-266354561;k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>11;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=7;h=i[c>>0]|0;r=j;return h|0}k[f>>2]=a&2080895;k[d>>2]=(k[d>>2]|0)+1;k[g>>2]=k[g>>2]<<14;k[g>>2]=k[g>>2]|(l[k[d>>2]>>0]|0);if(k[g>>2]&128){k[d>>2]=(k[d>>2]|0)+1;k[f>>2]=k[f>>2]<<15;k[f>>2]=k[f>>2]|(l[k[d>>2]>>0]|0);k[g>>2]=k[g>>2]&2080895;k[g>>2]=k[g>>2]<<8;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=k[h>>2]<<4;k[g>>2]=l[(k[d>>2]|0)+-4>>0];k[g>>2]=k[g>>2]&127;k[g>>2]=(k[g>>2]|0)>>>3;k[h>>2]=k[h>>2]|k[g>>2];g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=9;h=i[c>>0]|0;r=j;return h|0}else{k[g>>2]=k[g>>2]&-266354561;k[f>>2]=k[f>>2]<<7;k[f>>2]=k[f>>2]|k[g>>2];k[h>>2]=(k[h>>2]|0)>>>4;g=k[h>>2]|0;h=k[e>>2]|0;k[h>>2]=k[f>>2];k[h+4>>2]=g;i[c>>0]=8;h=i[c>>0]|0;r=j;return h|0}return 0}function iu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;while(1){if((k[d>>2]|0)>0)a=(i[(k[c>>2]|0)+((k[d>>2]|0)-1)>>0]|0)==32;else a=0;b=k[d>>2]|0;if(!a)break;k[d>>2]=b+-1}r=e;return (b|0)==0|0}function ju(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0;m=r;r=r+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;i=m;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[j>>2]=0;if(!(k[e>>2]|0)){j=k[j>>2]|0;r=m;return j|0}k[i>>2]=k[(k[e>>2]|0)+4>>2];wg(k[e>>2]|0);if(l[(k[i>>2]|0)+20>>0]|0){k[j>>2]=6;j=k[j>>2]|0;r=m;return j|0}else{c=ku(k[k[i>>2]>>2]|0,k[f>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[j>>2]=c;j=k[j>>2]|0;r=m;return j|0}return 0}function ku(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[i>>2]=0;if(!(k[(k[e>>2]|0)+216>>2]|0)){i=k[i>>2]|0;r=j;return i|0}if(!(k[f>>2]|0))b=0;else b=k[(k[e>>2]|0)+184>>2]|0;h=Xs(k[(k[e>>2]|0)+216>>2]|0,k[f>>2]|0,b,k[(k[e>>2]|0)+188>>2]|0,l[(k[e>>2]|0)+10>>0]|0,k[(k[e>>2]|0)+160>>2]|0,k[(k[e>>2]|0)+208>>2]|0,k[g>>2]|0,k[h>>2]|0)|0;k[i>>2]=h;i=k[i>>2]|0;r=j;return i|0}function lu(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;j=r;r=r+32|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j+16|0;h=j;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;c=k[e>>2]|0;if((k[f>>2]|0)==-2){k[d>>2]=(k[c+12>>2]|0)==0?0:6;h=k[d>>2]|0;r=j;return h|0}if((i[c>>0]|0)!=(k[f>>2]|0)?(i[k[e>>2]>>0]|0)>=0:0){k[d>>2]=0;h=k[d>>2]|0;r=j;return h|0}if((i[k[e>>2]>>0]|0)==(k[f>>2]|0))k[h>>2]=4;else k[h>>2]=1;if((l[g>>0]|0)!=(m[(k[e>>2]|0)+2>>1]&3|0)){if(l[g>>0]&m[(k[e>>2]|0)+2>>1]&2)k[h>>2]=(k[h>>2]|0)+1}else k[h>>2]=(k[h>>2]|0)+2;k[d>>2]=k[h>>2];h=k[d>>2]|0;r=j;return h|0}function mu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;e=f+12|0;g=f+8|0;c=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[1080+(k[g>>2]<<2)>>2];while(1){if(!(k[d>>2]|0)){a=6;break}g=(sg(k[(k[d>>2]|0)+20>>2]|0,k[c>>2]|0)|0)==0;b=k[d>>2]|0;if(g){a=4;break}k[d>>2]=k[b+24>>2]}if((a|0)==4){k[e>>2]=b;g=k[e>>2]|0;r=f;return g|0}else if((a|0)==6){k[e>>2]=0;g=k[e>>2]|0;r=f;return g|0}return 0}function nu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;if(((m[(k[d>>2]|0)+8>>1]|0)&2|0)!=0?(l[(k[d>>2]|0)+10>>0]|0|0)!=(k[e>>2]|0):0){a=ou(k[d>>2]|0,k[e>>2]&255)|0;k[f>>2]=a;k[c>>2]=k[f>>2];f=k[c>>2]|0;r=g;return f|0}k[c>>2]=0;f=k[c>>2]|0;r=g;return f|0}function ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+48|0;h=v+40|0;n=v+36|0;o=v+45|0;e=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;q=v+16|0;p=v+12|0;d=v+44|0;c=v+8|0;f=v+4|0;g=v;k[n>>2]=a;i[o>>0]=b;if((l[(k[n>>2]|0)+10>>0]|0|0)!=1?(l[o>>0]|0|0)!=1:0){t=kh(k[n>>2]|0)|0;k[c>>2]=t;if(k[c>>2]|0){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]&-2);while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break;i[d>>0]=i[k[s>>2]>>0]|0;i[k[s>>2]>>0]=i[(k[s>>2]|0)+1>>0]|0;k[s>>2]=(k[s>>2]|0)+1;q=i[d>>0]|0;t=k[s>>2]|0;k[s>>2]=t+1;i[t>>0]=q}i[(k[n>>2]|0)+10>>0]=i[o>>0]|0}else{b=(k[n>>2]|0)+12|0;a=k[b>>2]|0;if((l[o>>0]|0|0)==1){k[b>>2]=a&-2;k[e>>2]=(k[(k[n>>2]|0)+12>>2]<<1)+1}else k[e>>2]=(a<<1)+2;k[s>>2]=k[(k[n>>2]|0)+16>>2];k[u>>2]=(k[s>>2]|0)+(k[(k[n>>2]|0)+12>>2]|0);e=k[e>>2]|0;e=Kh(k[(k[n>>2]|0)+32>>2]|0,e,((e|0)<0)<<31>>31)|0;k[t>>2]=e;if(!(k[t>>2]|0)){k[h>>2]=7;u=k[h>>2]|0;r=v;return u|0}k[q>>2]=k[t>>2];if((l[(k[n>>2]|0)+10>>0]|0|0)==1){a:do if((l[o>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[26171+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;f=(k[p>>2]|0)>>>8&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{g=(b>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=216+(((k[p>>2]|0)-65536|0)>>>18&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=k[p>>2]&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=220+((k[p>>2]|0)>>>8&3)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break a;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];do if((k[p>>2]|0)>>>0>=192){k[p>>2]=l[26171+((k[p>>2]|0)-192)>>0];while(1){if((k[s>>2]|0)!=(k[u>>2]|0))a=((l[k[s>>2]>>0]|0)&192|0)==128;else a=0;b=k[p>>2]|0;if(!a)break;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(b<<6)+(63&(l[g>>0]|0))}if((b>>>0>=128?(k[p>>2]&-2048|0)!=55296:0)?(k[p>>2]&-2|0)!=65534:0)break;k[p>>2]=65533}while(0);b=k[p>>2]|0;if((k[p>>2]|0)>>>0<=65535){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b>>>8;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}else{f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=216+((b-65536|0)>>>18&3);f=((k[p>>2]|0)>>>10&63)+(((k[p>>2]|0)-65536|0)>>>10&192)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;g=220+((k[p>>2]|0)>>>8&3)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=g;f=k[p>>2]&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=f;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0);u=k[q>>2]|0;k[q>>2]=u+1;i[u>>0]=0}else{b:do if((l[(k[n>>2]|0)+10>>0]|0|0)==2)while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[p>>2]=(k[p>>2]|0)+((l[g>>0]|0)<<8);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=l[g>>0];g=k[s>>2]|0;k[s>>2]=g+1;k[f>>2]=(k[f>>2]|0)+((l[g>>0]|0)<<8);k[p>>2]=(k[f>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=224+(b>>>12&15);g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;g=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=g;e=128+(k[p>>2]&63)&255;g=k[q>>2]|0;k[q>>2]=g+1;i[g>>0]=e;continue}}else while(1){if((k[s>>2]|0)>>>0>=(k[u>>2]|0)>>>0)break b;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[p>>2]=(k[p>>2]|0)+(l[f>>0]|0);if((k[p>>2]|0)>>>0>=55296&(k[p>>2]|0)>>>0<57344?(k[s>>2]|0)>>>0<(k[u>>2]|0)>>>0:0){f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(l[f>>0]|0)<<8;f=k[s>>2]|0;k[s>>2]=f+1;k[g>>2]=(k[g>>2]|0)+(l[f>>0]|0);k[p>>2]=(k[g>>2]&1023)+((k[p>>2]&63)<<10)+((k[p>>2]&960)+64<<10)}b=k[p>>2]|0;if((k[p>>2]|0)>>>0<128){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=b;continue}a=k[p>>2]|0;if(b>>>0<2048){e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=192+(a>>>6&31);e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}b=k[p>>2]|0;if(a>>>0<65536){f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=224+(b>>>12&15);f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}else{e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=240+(b>>>18&7);e=128+((k[p>>2]|0)>>>12&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;f=128+((k[p>>2]|0)>>>6&63)&255;e=k[q>>2]|0;k[q>>2]=e+1;i[e>>0]=f;e=128+(k[p>>2]&63)&255;f=k[q>>2]|0;k[q>>2]=f+1;i[f>>0]=e;continue}}while(0);k[(k[n>>2]|0)+12>>2]=(k[q>>2]|0)-(k[t>>2]|0)}i[k[q>>2]>>0]=0;k[p>>2]=m[(k[n>>2]|0)+8>>1];eh(k[n>>2]|0);j[(k[n>>2]|0)+8>>1]=514|k[p>>2]&32799;i[(k[n>>2]|0)+10>>0]=i[o>>0]|0;k[(k[n>>2]|0)+16>>2]=k[t>>2];k[(k[n>>2]|0)+20>>2]=k[(k[n>>2]|0)+16>>2];u=pu(k[(k[n>>2]|0)+32>>2]|0,k[(k[n>>2]|0)+16>>2]|0)|0;k[(k[n>>2]|0)+24>>2]=u}k[h>>2]=0;u=k[h>>2]|0;r=v;return u|0}function pu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[d>>2]=a;k[e>>2]=b;if((k[d>>2]|0)!=0?(qu(k[d>>2]|0,k[e>>2]|0)|0)!=0:0){k[c>>2]=m[(k[d>>2]|0)+256+4>>1];b=k[c>>2]|0;r=f;return b|0}b=bc[k[60>>2]&255](k[e>>2]|0)|0;k[c>>2]=b;b=k[c>>2]|0;r=f;return b|0}function qu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;r=e;return b|0}b=(k[d>>2]|0)>>>0<(k[(k[c>>2]|0)+256+36>>2]|0)>>>0;b=b&1;r=e;return b|0}function ru(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;c=e+8|0;f=e+4|0;d=e;k[c>>2]=a;k[f>>2]=b;k[d>>2]=k[(k[f>>2]|0)+24>>2];if(!(k[d>>2]|0)){r=e;return}f=k[d>>2]|0;k[f>>2]=(k[f>>2]|0)+-1;if(k[k[d>>2]>>2]|0){r=e;return}_b[k[(k[d>>2]|0)+4>>2]&255](k[(k[d>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function su(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;b=h+20|0;c=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;k[b>>2]=a;Yf(k[b>>2]|0);k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[f>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2];a:do if(k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+12>>2]|0){k[d>>2]=k[(k[f>>2]|0)+8+8>>2];while(1){if(!(k[d>>2]|0))break a;k[g>>2]=k[(k[d>>2]|0)+8>>2];if((l[(k[g>>2]|0)+42>>0]|0)&16)yu(k[b>>2]|0,k[g>>2]|0);k[d>>2]=k[k[d>>2]>>2]}}while(0);k[c>>2]=(k[c>>2]|0)+1}k[d>>2]=k[(k[b>>2]|0)+320+8>>2];while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[(k[d>>2]|0)+8>>2];if(k[(k[e>>2]|0)+16>>2]|0)yu(k[b>>2]|0,k[(k[e>>2]|0)+16>>2]|0);k[d>>2]=k[k[d>>2]>>2]}zu(k[b>>2]|0);r=h;return}function tu(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wu(k[c>>2]|0,68);r=b;return 0}function uu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;f=r;r=r+16|0;e=f+12|0;b=f+8|0;c=f+4|0;d=f;k[b>>2]=a;if(k[(k[b>>2]|0)+4>>2]|0){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0)){b=9;break}k[d>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[d>>2]|0)!=0?(vu(k[d>>2]|0)|0)!=0:0){b=7;break}k[c>>2]=(k[c>>2]|0)+1}if((b|0)==7){k[e>>2]=1;e=k[e>>2]|0;r=f;return e|0}else if((b|0)==9){k[e>>2]=0;e=k[e>>2]|0;r=f;return e|0}return 0}function vu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[(k[b>>2]|0)+16>>2]|0)!=0|0}function wu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;c=j+24|0;d=j+20|0;f=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;i=j;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[c>>2]|0)+340>>2]|0)){r=j;return}k[e>>2]=k[(k[c>>2]|0)+340>>2];k[(k[c>>2]|0)+340>>2]=0;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[c>>2]|0)+316>>2]|0))break;k[h>>2]=k[(k[e>>2]|0)+(k[f>>2]<<2)>>2];k[g>>2]=k[(k[h>>2]|0)+8>>2];if((k[g>>2]|0)!=0?(k[i>>2]=k[(k[k[g>>2]>>2]|0)+(k[d>>2]|0)>>2],(k[i>>2]|0)!=0):0)bc[k[i>>2]&255](k[g>>2]|0)|0;k[(k[h>>2]|0)+20>>2]=0;xu(k[h>>2]|0);k[f>>2]=(k[f>>2]|0)+1}bg(k[c>>2]|0,k[e>>2]|0);k[(k[c>>2]|0)+316>>2]=0;r=j;return}function xu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];a=(k[b>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+-1;if(k[(k[b>>2]|0)+12>>2]|0){r=e;return}k[d>>2]=k[(k[b>>2]|0)+8>>2];if(k[d>>2]|0)bc[k[(k[k[d>>2]>>2]|0)+16>>2]&255](k[d>>2]|0)|0;bg(k[c>>2]|0,k[b>>2]|0);r=e;return}function yu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;c=g+12|0;h=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[h>>2]=b;k[e>>2]=(k[h>>2]|0)+56;while(1){if(!(k[k[e>>2]>>2]|0)){f=6;break}a=k[k[e>>2]>>2]|0;if((k[k[k[e>>2]>>2]>>2]|0)==(k[c>>2]|0))break;k[e>>2]=a+24}if((f|0)==6){r=g;return}k[d>>2]=a;k[k[e>>2]>>2]=k[(k[d>>2]|0)+24>>2];xu(k[d>>2]|0);r=g;return}function zu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+344>>2];k[(k[b>>2]|0)+344>>2]=0;if(!(k[c>>2]|0)){r=e;return}_h(k[b>>2]|0);do{k[d>>2]=k[(k[c>>2]|0)+24>>2];xu(k[c>>2]|0);k[c>>2]=k[d>>2]}while((k[c>>2]|0)!=0);r=e;return}function Au(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;_b[k[164>>2]&255](k[(k[c>>2]|0)+44>>2]|0);r=b;return}function Bu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1608;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));k[416]=(k[53]|0)==0&1;if((k[416]|0)!=0&(k[55]|0)!=0&(k[53]|0)==0){k[417]=k[55];k[405]=10;k[415]=1;r=c;return 0}else{k[417]=0;k[405]=10;k[415]=1;r=c;return 0}return 0}function Cu(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;k[c>>2]=a;a=1608;b=a+100|0;do{k[a>>2]=0;a=a+4|0}while((a|0)<(b|0));r=c;return}function Du(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,m=0;j=r;r=r+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;m=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[m>>2]=60+((k[416]|0)*52|0);a=k[m>>2]|0;a=ug(a,((a|0)<0)<<31>>31)|0;k[g>>2]=a;if(!(k[g>>2]|0)){m=k[g>>2]|0;r=j;return m|0}if(k[416]|0){k[h>>2]=(k[g>>2]|0)+60;k[(k[h>>2]|0)+12>>2]=10}else k[h>>2]=1608;if(!(l[(k[h>>2]|0)+20+14>>0]|0)){i[(k[h>>2]|0)+20+14>>0]=1;m=(k[h>>2]|0)+20|0;k[(k[h>>2]|0)+20+24>>2]=m;k[(k[h>>2]|0)+20+28>>2]=m}k[k[g>>2]>>2]=k[h>>2];k[(k[g>>2]|0)+4>>2]=k[d>>2];k[(k[g>>2]|0)+8>>2]=k[e>>2];k[(k[g>>2]|0)+12>>2]=(k[d>>2]|0)+(k[e>>2]|0)+32;k[(k[g>>2]|0)+16>>2]=(k[f>>2]|0)!=0?1:0;Uu(k[g>>2]|0);if(k[f>>2]|0){k[(k[g>>2]|0)+20>>2]=10;m=(k[h>>2]|0)+8|0;k[m>>2]=(k[m>>2]|0)+(k[(k[g>>2]|0)+20>>2]|0);k[(k[h>>2]|0)+12>>2]=(k[(k[h>>2]|0)+4>>2]|0)+10-(k[(k[h>>2]|0)+8>>2]|0)}if(k[(k[g>>2]|0)+44>>2]|0){m=k[g>>2]|0;r=j;return m|0}Ku(k[g>>2]|0);k[g>>2]=0;m=k[g>>2]|0;r=j;return m|0}function Eu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;d=f+4|0;e=f;k[g>>2]=a;k[c>>2]=b;k[d>>2]=k[g>>2];if(!(k[(k[d>>2]|0)+16>>2]|0)){r=f;return}k[e>>2]=k[k[d>>2]>>2];g=(k[e>>2]|0)+4|0;k[g>>2]=(k[g>>2]|0)+((k[c>>2]|0)-(k[(k[d>>2]|0)+24>>2]|0));k[(k[e>>2]|0)+12>>2]=(k[(k[e>>2]|0)+4>>2]|0)+10-(k[(k[e>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+24>>2]=k[c>>2];k[(k[d>>2]|0)+28>>2]=(((k[(k[d>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Mu(k[d>>2]|0);r=f;return}function Fu(a){a=a|0;var b=0,c=0,d=0,e=0;c=r;r=r+16|0;e=c+8|0;b=c+4|0;d=c;k[e>>2]=a;k[d>>2]=k[e>>2];k[b>>2]=k[(k[d>>2]|0)+40>>2];r=c;return k[b>>2]|0}function Gu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+8|0;f=d+4|0;e=d;k[g>>2]=a;k[f>>2]=b;k[e>>2]=c;a=Ru(k[g>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;r=d;return a|0}function Hu(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,l=0,m=0;h=r;r=r+32|0;m=h+24|0;l=h+20|0;j=h+16|0;d=h+12|0;f=h+8|0;e=h+4|0;g=h;k[m>>2]=a;k[l>>2]=b;k[j>>2]=c;k[d>>2]=k[m>>2];k[f>>2]=k[l>>2];k[e>>2]=k[k[d>>2]>>2];if((k[j>>2]|0)==0?(k[(k[e>>2]|0)+16>>2]|0)>>>0<=(k[(k[e>>2]|0)+4>>2]|0)>>>0:0){k[g>>2]=(k[e>>2]|0)+20+24;k[(k[f>>2]|0)+28>>2]=(k[e>>2]|0)+20;l=k[f>>2]|0;m=k[k[g>>2]>>2]|0;k[(k[f>>2]|0)+24>>2]=m;k[m+28>>2]=l;k[k[g>>2]>>2]=k[f>>2];m=(k[d>>2]|0)+36|0;k[m>>2]=(k[m>>2]|0)+1;i[(k[f>>2]|0)+12>>0]=0;r=h;return}Ou(k[f>>2]|0,1);r=h;return}function Iu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;n=j+28|0;m=j+24|0;l=j+20|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;k[n>>2]=a;k[m>>2]=b;k[l>>2]=c;k[e>>2]=d;k[g>>2]=k[n>>2];k[h>>2]=k[m>>2];k[f>>2]=((k[l>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[i>>2]=(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2);while(1){if((k[k[i>>2]>>2]|0)==(k[h>>2]|0))break;k[i>>2]=(k[k[i>>2]>>2]|0)+16}k[k[i>>2]>>2]=k[(k[h>>2]|0)+16>>2];k[f>>2]=((k[e>>2]|0)>>>0)%((k[(k[g>>2]|0)+44>>2]|0)>>>0)|0;k[(k[h>>2]|0)+8>>2]=k[e>>2];k[(k[h>>2]|0)+16>>2]=k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2];k[(k[(k[g>>2]|0)+48>>2]|0)+(k[f>>2]<<2)>>2]=k[h>>2];if((k[e>>2]|0)>>>0<=(k[(k[g>>2]|0)+32>>2]|0)>>>0){r=j;return}k[(k[g>>2]|0)+32>>2]=k[e>>2];r=j;return}function Ju(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];if((k[c>>2]|0)>>>0>(k[(k[d>>2]|0)+32>>2]|0)>>>0){r=e;return}Qu(k[d>>2]|0,k[c>>2]|0);k[(k[d>>2]|0)+32>>2]=(k[c>>2]|0)-1;r=e;return}function Ku(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;e=b+8|0;c=b+4|0;d=b;k[e>>2]=a;k[c>>2]=k[e>>2];k[d>>2]=k[k[c>>2]>>2];Qu(k[c>>2]|0,0);a=(k[d>>2]|0)+4|0;k[a>>2]=(k[a>>2]|0)-(k[(k[c>>2]|0)+24>>2]|0);a=(k[d>>2]|0)+8|0;k[a>>2]=(k[a>>2]|0)-(k[(k[c>>2]|0)+20>>2]|0);k[(k[d>>2]|0)+12>>2]=(k[(k[d>>2]|0)+4>>2]|0)+10-(k[(k[d>>2]|0)+8>>2]|0);Mu(k[c>>2]|0);Ud(k[(k[c>>2]|0)+56>>2]|0);Ud(k[(k[c>>2]|0)+48>>2]|0);Ud(k[c>>2]|0);r=b;return}function Lu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+12|0;b=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[b>>2]=k[f>>2];if(!(k[(k[b>>2]|0)+16>>2]|0)){r=e;return}k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+4>>2];k[(k[c>>2]|0)+4>>2]=0;Mu(k[b>>2]|0);k[(k[c>>2]|0)+4>>2]=k[d>>2];r=e;return}function Mu(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;d=e+4|0;c=e;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];while(1){if((k[(k[d>>2]|0)+16>>2]|0)>>>0<=(k[(k[d>>2]|0)+4>>2]|0)>>>0)break;a=k[(k[d>>2]|0)+20+28>>2]|0;k[c>>2]=a;if(l[a+14>>0]|0)break;Nu(k[c>>2]|0)|0;Ou(k[c>>2]|0,1)}if(k[(k[b>>2]|0)+40>>2]|0){r=e;return}if(!(k[(k[b>>2]|0)+56>>2]|0)){r=e;return}Ud(k[(k[b>>2]|0)+56>>2]|0);k[(k[b>>2]|0)+52>>2]=0;k[(k[b>>2]|0)+56>>2]=0;r=e;return}function Nu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[(k[b>>2]|0)+20>>2];k[(k[(k[b>>2]|0)+28>>2]|0)+24>>2]=k[(k[b>>2]|0)+24>>2];k[(k[(k[b>>2]|0)+24>>2]|0)+28>>2]=k[(k[b>>2]|0)+28>>2];k[(k[b>>2]|0)+24>>2]=0;k[(k[b>>2]|0)+28>>2]=0;i[(k[b>>2]|0)+12>>0]=1;a=(k[d>>2]|0)+36|0;k[a>>2]=(k[a>>2]|0)+-1;r=c;return k[b>>2]|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[c>>2]|0)+20>>2];k[h>>2]=((k[(k[c>>2]|0)+8>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0;k[f>>2]=(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2);while(1){b=(k[k[f>>2]>>2]|0)+16|0;if((k[k[f>>2]>>2]|0)==(k[c>>2]|0))break;k[f>>2]=b}k[k[f>>2]>>2]=k[b>>2];h=(k[e>>2]|0)+40|0;k[h>>2]=(k[h>>2]|0)+-1;if(!(k[d>>2]|0)){r=g;return}Pu(k[c>>2]|0);r=g;return}function Pu(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+20>>2];if(i[(k[b>>2]|0)+13>>0]|0){k[(k[b>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[b>>2]}else jj(k[k[b>>2]>>2]|0);if(!(k[(k[c>>2]|0)+16>>2]|0)){r=d;return}c=(k[k[c>>2]>>2]|0)+16|0;k[c>>2]=(k[c>>2]|0)+-1;r=d;return}function Qu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[c>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=(k[(k[c>>2]|0)+48>>2]|0)+(k[e>>2]<<2);while(1){a=k[k[g>>2]>>2]|0;k[f>>2]=a;if(!a)break;if((k[(k[f>>2]|0)+8>>2]|0)>>>0<(k[d>>2]|0)>>>0){k[g>>2]=(k[f>>2]|0)+16;continue}a=(k[c>>2]|0)+40|0;k[a>>2]=(k[a>>2]|0)+-1;k[k[g>>2]>>2]=k[(k[f>>2]|0)+16>>2];if(!(i[(k[f>>2]|0)+12>>0]|0))Nu(k[f>>2]|0)|0;Pu(k[f>>2]|0)}k[e>>2]=(k[e>>2]|0)+1}r=h;return}function Ru(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,l=0;j=r;r=r+32|0;g=j+20|0;l=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;h=j;k[l>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[l>>2];k[h>>2]=0;k[h>>2]=k[(k[(k[f>>2]|0)+48>>2]|0)+((((k[d>>2]|0)>>>0)%((k[(k[f>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(k[h>>2]|0)b=(k[(k[h>>2]|0)+8>>2]|0)!=(k[d>>2]|0);else b=0;c=k[h>>2]|0;if(!b)break;k[h>>2]=k[c+16>>2]}if(c){c=k[h>>2]|0;if(i[(k[h>>2]|0)+12>>0]|0){k[g>>2]=c;l=k[g>>2]|0;r=j;return l|0}else{l=Nu(c)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}}else if(k[e>>2]|0){l=Su(k[f>>2]|0,k[d>>2]|0,k[e>>2]|0)|0;k[g>>2]=l;l=k[g>>2]|0;r=j;return l|0}else{k[g>>2]=0;l=k[g>>2]|0;r=j;return l|0}return 0}function Su(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,l=0,m=0,n=0,o=0;o=r;r=r+48|0;d=o+32|0;e=o+28|0;f=o+24|0;g=o+20|0;j=o+16|0;l=o+12|0;n=o+8|0;m=o+4|0;h=o;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[l>>2]=k[k[e>>2]>>2];k[n>>2]=0;k[j>>2]=(k[(k[e>>2]|0)+40>>2]|0)-(k[(k[e>>2]|0)+36>>2]|0);do if((k[g>>2]|0)==1){if((k[j>>2]|0)>>>0<(k[(k[l>>2]|0)+12>>2]|0)>>>0?(k[j>>2]|0)>>>0<(k[(k[e>>2]|0)+28>>2]|0)>>>0:0){if(!(Tu(k[e>>2]|0)|0))break;if((k[(k[e>>2]|0)+36>>2]|0)>>>0>=(k[j>>2]|0)>>>0)break}k[d>>2]=0;n=k[d>>2]|0;r=o;return n|0}while(0);if((k[(k[e>>2]|0)+40>>2]|0)>>>0>=(k[(k[e>>2]|0)+44>>2]|0)>>>0)Uu(k[e>>2]|0);do if((k[(k[e>>2]|0)+16>>2]|0)!=0?(i[(k[(k[l>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((k[(k[e>>2]|0)+40>>2]|0)+1|0)>>>0<(k[(k[e>>2]|0)+24>>2]|0)>>>0?(Tu(k[e>>2]|0)|0)==0:0)break;k[n>>2]=k[(k[l>>2]|0)+20+28>>2];Ou(k[n>>2]|0,0);Nu(k[n>>2]|0)|0;k[m>>2]=k[(k[n>>2]|0)+20>>2];if((k[(k[m>>2]|0)+12>>2]|0)!=(k[(k[e>>2]|0)+12>>2]|0)){Pu(k[n>>2]|0);k[n>>2]=0;break}else{l=(k[l>>2]|0)+16|0;k[l>>2]=(k[l>>2]|0)-((k[(k[m>>2]|0)+16>>2]|0)-(k[(k[e>>2]|0)+16>>2]|0));break}}while(0);if(!(k[n>>2]|0)){m=Vu(k[e>>2]|0,(k[g>>2]|0)==1&1)|0;k[n>>2]=m}if((k[n>>2]|0)!=0?(k[h>>2]=((k[f>>2]|0)>>>0)%((k[(k[e>>2]|0)+44>>2]|0)>>>0)|0,m=(k[e>>2]|0)+40|0,k[m>>2]=(k[m>>2]|0)+1,k[(k[n>>2]|0)+8>>2]=k[f>>2],k[(k[n>>2]|0)+16>>2]=k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2],k[(k[n>>2]|0)+20>>2]=k[e>>2],k[(k[n>>2]|0)+28>>2]=0,k[(k[n>>2]|0)+24>>2]=0,i[(k[n>>2]|0)+12>>0]=1,k[k[(k[n>>2]|0)+4>>2]>>2]=0,k[(k[(k[e>>2]|0)+48>>2]|0)+(k[h>>2]<<2)>>2]=k[n>>2],(k[f>>2]|0)>>>0>(k[(k[e>>2]|0)+32>>2]|0)>>>0):0)k[(k[e>>2]|0)+32>>2]=k[f>>2];k[d>>2]=k[n>>2];n=k[d>>2]|0;r=o;return n|0}function Tu(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;b=c+4|0;d=c;k[d>>2]=a;if((k[419]|0)!=0?((k[(k[d>>2]|0)+4>>2]|0)+(k[(k[d>>2]|0)+8>>2]|0)|0)<=(k[418]|0):0){k[b>>2]=k[426];d=k[b>>2]|0;r=c;return d|0}d=Xu()|0;k[b>>2]=d;d=k[b>>2]|0;r=c;return d|0}function Uu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;c=i+20|0;f=i+16|0;e=i+12|0;h=i+8|0;g=i+4|0;d=i;k[b>>2]=a;a=k[(k[b>>2]|0)+44>>2]<<1;k[f>>2]=a;k[f>>2]=(k[f>>2]|0)>>>0<256?256:a;if(k[(k[b>>2]|0)+44>>2]|0)ek();a=ug(k[f>>2]<<2,0)|0;k[c>>2]=a;if(k[(k[b>>2]|0)+44>>2]|0)fk();if(!(k[c>>2]|0)){r=i;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>>>0>=(k[(k[b>>2]|0)+44>>2]|0)>>>0)break;k[g>>2]=k[(k[(k[b>>2]|0)+48>>2]|0)+(k[e>>2]<<2)>>2];while(1){a=k[g>>2]|0;k[h>>2]=a;if(!a)break;k[d>>2]=((k[(k[h>>2]|0)+8>>2]|0)>>>0)%((k[f>>2]|0)>>>0)|0;k[g>>2]=k[(k[h>>2]|0)+16>>2];k[(k[h>>2]|0)+16>>2]=k[(k[c>>2]|0)+(k[d>>2]<<2)>>2];k[(k[c>>2]|0)+(k[d>>2]<<2)>>2]=k[h>>2]}k[e>>2]=(k[e>>2]|0)+1}Ud(k[(k[b>>2]|0)+48>>2]|0);k[(k[b>>2]|0)+48>>2]=k[c>>2];k[(k[b>>2]|0)+44>>2]=k[f>>2];r=i;return}function Vu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;k[d>>2]=a;k[e>>2]=b;k[f>>2]=0;do if(k[(k[d>>2]|0)+52>>2]|0)h=4;else{if((k[(k[d>>2]|0)+40>>2]|0)==0?(Wu(k[d>>2]|0)|0)!=0:0){h=4;break}if(k[e>>2]|0)ek();a=rj(k[(k[d>>2]|0)+12>>2]|0)|0;k[g>>2]=a;k[f>>2]=(k[g>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);if(k[e>>2]|0)fk();if(k[g>>2]|0){k[k[f>>2]>>2]=k[g>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=0;i[(k[f>>2]|0)+14>>0]=0;break}k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);if((h|0)==4){k[f>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[f>>2]|0)+16>>2];k[(k[f>>2]|0)+16>>2]=0}if(k[(k[d>>2]|0)+16>>2]|0){h=(k[k[d>>2]>>2]|0)+16|0;k[h>>2]=(k[h>>2]|0)+1}k[c>>2]=k[f>>2];h=k[c>>2]|0;r=j;return h|0}function Wu(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;j=r;r=r+32|0;b=j+28|0;c=j+24|0;g=j;h=j+20|0;e=j+16|0;d=j+12|0;f=j+8|0;k[c>>2]=a;if(!(k[417]|0)){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}if((k[(k[c>>2]|0)+24>>2]|0)>>>0<3){k[b>>2]=0;h=k[b>>2]|0;r=j;return h|0}ek();if((k[417]|0)>0){a=k[(k[c>>2]|0)+12>>2]|0;l=k[417]|0;l=KR(a|0,((a|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;a=g;k[a>>2]=l;k[a+4>>2]=L}else{a=k[417]|0;a=KR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;l=g;k[l>>2]=a;k[l+4>>2]=L}n=g;a=k[n>>2]|0;n=k[n+4>>2]|0;l=k[(k[c>>2]|0)+12>>2]|0;l=KR(l|0,((l|0)<0)<<31>>31|0,k[(k[c>>2]|0)+24>>2]|0,0)|0;m=L;if((n|0)>(m|0)|(n|0)==(m|0)&a>>>0>l>>>0){m=ha(k[(k[c>>2]|0)+12>>2]|0,k[(k[c>>2]|0)+24>>2]|0)|0;n=g;k[n>>2]=m;k[n+4>>2]=0}n=g;n=jg(k[n>>2]|0,k[n+4>>2]|0)|0;k[(k[c>>2]|0)+56>>2]=n;k[h>>2]=n;fk();a:do if(k[h>>2]|0){n=kg(k[h>>2]|0)|0;k[e>>2]=(n|0)/(k[(k[c>>2]|0)+12>>2]|0)|0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[e>>2]|0))break a;k[f>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+4>>2]|0);k[k[f>>2]>>2]=k[h>>2];k[(k[f>>2]|0)+4>>2]=(k[f>>2]|0)+32;i[(k[f>>2]|0)+13>>0]=1;i[(k[f>>2]|0)+14>>0]=0;k[(k[f>>2]|0)+16>>2]=k[(k[c>>2]|0)+52>>2];k[(k[c>>2]|0)+52>>2]=k[f>>2];k[h>>2]=(k[h>>2]|0)+(k[(k[c>>2]|0)+12>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);k[b>>2]=(k[(k[c>>2]|0)+52>>2]|0)!=0&1;n=k[b>>2]|0;r=j;return n|0}function Xu(){return k[77]|0}function Yu(a){a=a|0;var b=0,c=0,d=0,e=0;d=r;r=r+16|0;c=d;e=d+8|0;b=d+4|0;k[e>>2]=a;k[e>>2]=(k[e>>2]|0)+7&-8;a=rR((k[e>>2]|0)+8|0)|0;k[b>>2]=a;a=k[e>>2]|0;if(k[b>>2]|0){e=k[b>>2]|0;k[e>>2]=a;k[e+4>>2]=((a|0)<0)<<31>>31;k[b>>2]=(k[b>>2]|0)+8;e=k[b>>2]|0;r=d;return e|0}else{k[c>>2]=a;$d(7,27007,c);e=k[b>>2]|0;r=d;return e|0}return 0}function Zu(a){a=a|0;var b=0,c=0,d=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;k[c>>2]=k[d>>2];k[c>>2]=(k[c>>2]|0)+-8;sR(k[c>>2]|0);r=b;return}function _u(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;f=g;c=g+16|0;d=g+12|0;e=g+8|0;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[c>>2];k[e>>2]=(k[e>>2]|0)+-8;a=uR(k[e>>2]|0,(k[d>>2]|0)+8|0)|0;k[e>>2]=a;if(k[e>>2]|0){a=k[d>>2]|0;f=k[e>>2]|0;k[f>>2]=a;k[f+4>>2]=((a|0)<0)<<31>>31;k[e>>2]=(k[e>>2]|0)+8;f=k[e>>2]|0;r=g;return f|0}else{b=$u(k[c>>2]|0)|0;a=k[d>>2]|0;k[f>>2]=b;k[f+4>>2]=a;$d(7,26971,f);f=k[e>>2]|0;r=g;return f|0}return 0}function $u(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;k[b>>2]=k[d>>2];k[b>>2]=(k[b>>2]|0)+-8;r=c;return k[k[b>>2]>>2]|0}function av(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return (k[b>>2]|0)+7&-8|0}function bv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return 0}function cv(a){a=a|0;var b=0;b=r;r=r+16|0;k[b>>2]=a;r=b;return}function dv(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;a=gc[k[d>>2]&255](1608,0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){d=k[b>>2]|0;r=c;return d|0}k[k[b>>2]>>2]=-1;d=k[b>>2]|0;r=c;return d|0}function ev(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0,n=0;n=r;r=r+32|0;m=n+24|0;j=n+20|0;e=n+16|0;h=n+12|0;f=n+8|0;c=n+4|0;d=n;k[j>>2]=a;k[e>>2]=b;a:do switch(l[39740+(l[k[j>>2]>>0]|0)>>0]|0){case 7:{k[h>>2]=1;while(1){if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&1))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 11:{if((l[(k[j>>2]|0)+1>>0]|0)!=45){k[k[e>>2]>>2]=90;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}k[h>>2]=2;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!((g|0)!=0?(k[f>>2]|0)!=10:0))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 17:{k[k[e>>2]>>2]=22;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 18:{k[k[e>>2]>>2]=23;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 19:{k[k[e>>2]>>2]=1;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 20:{k[k[e>>2]>>2]=89;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 21:{k[k[e>>2]>>2]=91;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 16:{if((l[(k[j>>2]|0)+1>>0]|0)==42?(l[(k[j>>2]|0)+2>>0]|0)!=0:0){k[h>>2]=3;k[f>>2]=l[(k[j>>2]|0)+2>>0];while(1){if((k[f>>2]|0)==42?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==47:0)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}if(k[f>>2]|0)k[h>>2]=(k[h>>2]|0)+1;k[k[e>>2]>>2]=160;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}k[k[e>>2]>>2]=92;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 22:{k[k[e>>2]>>2]=93;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 14:{k[k[e>>2]>>2]=79;k[m>>2]=1+((l[(k[j>>2]|0)+1>>0]|0)==61&1);m=k[m>>2]|0;r=n;return m|0}case 12:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=81;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}if((k[f>>2]|0)==62){k[k[e>>2]>>2]=78;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==60){k[c>>2]=87;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=82;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 13:{j=l[(k[j>>2]|0)+1>>0]|0;k[f>>2]=j;if((j|0)==61){k[k[e>>2]>>2]=83;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if((k[f>>2]|0)==62){k[c>>2]=88;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=80;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}case 15:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=61){k[c>>2]=161;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=78;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 10:{c=k[e>>2]|0;if((l[(k[j>>2]|0)+1>>0]|0)!=124){k[c>>2]=86;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=94;k[m>>2]=2;m=k[m>>2]|0;r=n;return m|0}}case 23:{k[k[e>>2]>>2]=26;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 24:{k[k[e>>2]>>2]=85;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 25:{k[k[e>>2]>>2]=96;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}case 8:{k[c>>2]=l[k[j>>2]>>0];k[h>>2]=1;while(1){g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)==(k[c>>2]|0)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=(k[c>>2]|0))break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}if((k[f>>2]|0)==39){k[k[e>>2]>>2]=97;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}c=k[e>>2]|0;if(k[f>>2]|0){k[c>>2]=27;k[m>>2]=(k[h>>2]|0)+1;m=k[m>>2]|0;r=n;return m|0}else{k[c>>2]=161;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}}case 26:{if(l[19011+(l[(k[j>>2]|0)+1>>0]|0)>>0]&4)g=64;else{k[k[e>>2]>>2]=122;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}break}case 3:{g=64;break}case 9:{k[h>>2]=1;k[f>>2]=l[k[j>>2]>>0];while(1){if((k[f>>2]|0)==93)break;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=(k[f>>2]|0)==93?27:161;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 6:{k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){c=k[h>>2]|0;if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}case 5:case 4:{k[d>>2]=0;k[k[e>>2]>>2]=135;k[h>>2]=1;while(1){a=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=a;if(!a)break;if(l[19011+(k[f>>2]&255)>>0]&70)k[d>>2]=(k[d>>2]|0)+1;else{if((k[f>>2]|0)==40&(k[d>>2]|0)>0){g=107;break}if((k[f>>2]|0)!=58)break;if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=58)break;k[h>>2]=(k[h>>2]|0)+1}k[h>>2]=(k[h>>2]|0)+1}do if((g|0)==107){while(1){k[h>>2]=(k[h>>2]|0)+1;g=l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0;k[f>>2]=g;if(!g)break;if((k[f>>2]|0)!=41?(l[19011+(k[f>>2]&255)>>0]&1|0)==0:0)g=107;else break}if((k[f>>2]|0)==41){k[h>>2]=(k[h>>2]|0)+1;break}else{k[k[e>>2]>>2]=161;break}}while(0);if(!(k[d>>2]|0))k[k[e>>2]>>2]=161;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}case 1:{k[h>>2]=1;while(1){c=k[h>>2]|0;if((l[39740+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]|0)>1)break;k[h>>2]=c+1}if(l[19011+(l[(k[j>>2]|0)+c>>0]|0)>>0]&70){k[h>>2]=(k[h>>2]|0)+1;break a}k[k[e>>2]>>2]=27;j=$i(k[j>>2]|0,k[h>>2]|0,k[e>>2]|0)|0;k[m>>2]=j;m=k[m>>2]|0;r=n;return m|0}case 0:{if((l[(k[j>>2]|0)+1>>0]|0)==39){k[k[e>>2]>>2]=134;k[h>>2]=2;while(1){c=k[h>>2]|0;if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}if(!((l[(k[j>>2]|0)+c>>0]|0)==39?((k[h>>2]|0)%2|0|0)==0:0))g=131;b:do if((g|0)==131){k[k[e>>2]>>2]=161;while(1){if(!(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0))break b;if((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)==39)break b;k[h>>2]=(k[h>>2]|0)+1}}while(0);if(i[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)k[h>>2]=(k[h>>2]|0)+1;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else g=138;break}case 2:{g=138;break}default:{k[k[e>>2]>>2]=161;k[m>>2]=1;m=k[m>>2]|0;r=n;return m|0}}while(0);if((g|0)==64){k[k[e>>2]>>2]=132;do if((l[k[j>>2]>>0]|0)==48){if((l[(k[j>>2]|0)+1>>0]|0)!=120?(l[(k[j>>2]|0)+1>>0]|0)!=88:0)break;if(l[19011+(l[(k[j>>2]|0)+2>>0]|0)>>0]&8){k[h>>2]=3;while(1){c=k[h>>2]|0;if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&8))break;k[h>>2]=c+1}k[m>>2]=c;m=k[m>>2]|0;r=n;return m|0}}while(0);k[h>>2]=0;while(1){c=k[h>>2]|0;if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=c+1}if((l[(k[j>>2]|0)+c>>0]|0)==46){k[h>>2]=(k[h>>2]|0)+1;while(1){if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=133}if(!((l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=101?(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)!=69:0))g=82;do if((g|0)==82){if(!(l[19011+(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)>>0]&4)){if((l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=43?(l[(k[j>>2]|0)+((k[h>>2]|0)+1)>>0]|0)!=45:0)break;if(!(l[19011+(l[(k[j>>2]|0)+((k[h>>2]|0)+2)>>0]|0)>>0]&4))break}k[h>>2]=(k[h>>2]|0)+2;while(1){if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&4))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=133}while(0);while(1){if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[k[e>>2]>>2]=161;k[h>>2]=(k[h>>2]|0)+1}k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}else if((g|0)==138)k[h>>2]=1;while(1){if(!(l[19011+(l[(k[j>>2]|0)+(k[h>>2]|0)>>0]|0)>>0]&70))break;k[h>>2]=(k[h>>2]|0)+1}k[k[e>>2]>>2]=27;k[m>>2]=k[h>>2];m=k[m>>2]|0;r=n;return m|0}function fv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0,m=0,n=0,o=0;n=r;r=r+48|0;h=n+32|0;o=n+28|0;f=n+24|0;e=n+20|0;l=n+8|0;g=n+4|0;m=n;k[o>>2]=a;k[f>>2]=b;k[e>>2]=d;k[m>>2]=k[o>>2];if((k[k[m>>2]>>2]|0)<0){k[k[m>>2]>>2]=0;j[(k[m>>2]|0)+8>>1]=0;i[(k[m>>2]|0)+8+2>>0]=0}k[(k[m>>2]|0)+4>>2]=k[e>>2];while(1){e=sv(k[m>>2]|0,k[f>>2]&255)|0;k[g>>2]=e;e=k[g>>2]|0;do if((k[g>>2]|0)>>>0>974)if(e>>>0<=1300){uv(k[m>>2]|0,(k[g>>2]|0)-975|0);break}else{k[l>>2]=k[c>>2];k[l+4>>2]=k[c+4>>2];a=k[m>>2]|0;o=k[f>>2]|0;k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];vv(a,o,h);qv(k[m>>2]|0,k[f>>2]&255,l);k[f>>2]=251;break}else{if(e>>>0>439)k[g>>2]=(k[g>>2]|0)+326;b=k[m>>2]|0;a=k[g>>2]|0;o=k[f>>2]|0;k[h>>2]=k[c>>2];k[h+4>>2]=k[c+4>>2];tv(b,a,o,h);k[f>>2]=251}while(0);if((k[f>>2]|0)==251){e=13;break}if((k[k[m>>2]>>2]|0)<0){e=13;break}}if((e|0)==13){r=n;return}}function gv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[f>>2];while(1){if((k[k[d>>2]>>2]|0)<0)break;pv(k[d>>2]|0)}_b[k[c>>2]&255](k[d>>2]|0);r=e;return}function hv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=k[k[b>>2]>>2];ag(k[c>>2]|0,k[b>>2]|0);a=k[(k[b>>2]|0)+52>>2]|0;if(k[(k[b>>2]|0)+48>>2]|0)k[(k[(k[b>>2]|0)+48>>2]|0)+52>>2]=a;else k[(k[c>>2]|0)+4>>2]=a;if(k[(k[b>>2]|0)+52>>2]|0)k[(k[(k[b>>2]|0)+52>>2]|0)+48>>2]=k[(k[b>>2]|0)+48>>2];k[(k[b>>2]|0)+40>>2]=-1241070648;k[k[b>>2]>>2]=0;bg(k[c>>2]|0,k[b>>2]|0);r=d;return}function iv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;k[f>>2]=(k[d>>2]|0)+8+(k[e>>2]<<4);jv(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);kv(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[k[f>>2]>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=k[(k[d>>2]|0)+4>>2];k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;nv(a,k[k[f>>2]>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+20}bg(a,k[(k[d>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=g;return}function kv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;lv(k[e>>2]|0,k[d>>2]|0,1);r=c;return}function lv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;while(1){if(!(k[e>>2]|0))break;k[g>>2]=k[(k[e>>2]|0)+48>>2];jv(k[d>>2]|0,k[k[e>>2]>>2]|0);mv(k[d>>2]|0,k[(k[e>>2]|0)+28>>2]|0);nv(k[d>>2]|0,k[(k[e>>2]|0)+32>>2]|0);jv(k[d>>2]|0,k[(k[e>>2]|0)+36>>2]|0);nv(k[d>>2]|0,k[(k[e>>2]|0)+40>>2]|0);jv(k[d>>2]|0,k[(k[e>>2]|0)+44>>2]|0);nv(k[d>>2]|0,k[(k[e>>2]|0)+56>>2]|0);nv(k[d>>2]|0,k[(k[e>>2]|0)+60>>2]|0);iv(k[d>>2]|0,k[(k[e>>2]|0)+64>>2]|0);if(k[f>>2]|0)bg(k[d>>2]|0,k[e>>2]|0);k[e>>2]=k[g>>2];k[f>>2]=1}r=h;return}function mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;e=g+4|0;f=g;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=g;return}k[f>>2]=(k[d>>2]|0)+8;k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[k[d>>2]>>2]|0))break;bg(a,k[(k[f>>2]|0)+4>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+8>>2]|0);bg(k[c>>2]|0,k[(k[f>>2]|0)+12>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>1&1)bg(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);if((l[(k[f>>2]|0)+36+1>>0]|0)>>>2&1)jv(k[c>>2]|0,k[(k[f>>2]|0)+64>>2]|0);$f(k[c>>2]|0,k[(k[f>>2]|0)+16>>2]|0);kv(k[c>>2]|0,k[(k[f>>2]|0)+20>>2]|0);nv(k[c>>2]|0,k[(k[f>>2]|0)+48>>2]|0);ov(k[c>>2]|0,k[(k[f>>2]|0)+52>>2]|0);k[e>>2]=(k[e>>2]|0)+1;k[f>>2]=(k[f>>2]|0)+72}bg(a,k[d>>2]|0);r=g;return}function nv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=e;return}do if(!(k[(k[d>>2]|0)+4>>2]&16384)){nv(k[c>>2]|0,k[(k[d>>2]|0)+12>>2]|0);nv(k[c>>2]|0,k[(k[d>>2]|0)+16>>2]|0);if(k[(k[d>>2]|0)+4>>2]&65536)bg(k[c>>2]|0,k[(k[d>>2]|0)+8>>2]|0);a=k[c>>2]|0;b=(k[d>>2]|0)+20|0;if(k[(k[d>>2]|0)+4>>2]&2048){kv(a,k[b>>2]|0);break}else{jv(a,k[b>>2]|0);break}}while(0);if(k[(k[d>>2]|0)+4>>2]&32768){r=e;return}bg(k[c>>2]|0,k[d>>2]|0);r=e;return}function ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[d>>2]|0)){r=f;return}k[e>>2]=0;while(1){a=k[c>>2]|0;if((k[e>>2]|0)>=(k[(k[d>>2]|0)+4>>2]|0))break;bg(a,k[(k[k[d>>2]>>2]|0)+(k[e>>2]<<3)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(a,k[k[d>>2]>>2]|0);bg(k[c>>2]|0,k[d>>2]|0);r=f;return}function pv(a){a=a|0;var b=0,c=0,d=0,e=0;b=r;r=r+16|0;d=b+4|0;c=b;k[d>>2]=a;e=k[d>>2]|0;a=k[e>>2]|0;k[e>>2]=a+-1;k[c>>2]=(k[d>>2]|0)+8+(a<<4);qv(k[d>>2]|0,i[(k[c>>2]|0)+2>>0]|0,(k[c>>2]|0)+4|0);r=b;return}function qv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;f=r;r=r+16|0;h=f+8|0;g=f+12|0;d=f+4|0;e=f;k[h>>2]=a;i[g>>0]=b;k[d>>2]=c;k[e>>2]=k[(k[h>>2]|0)+4>>2];do switch(l[g>>0]|0|0){case 206:case 195:case 194:case 163:{kv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 173:case 172:{nv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 225:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{jv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 212:case 211:case 200:case 193:{mv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 249:case 196:{iv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 240:case 235:case 226:case 224:case 215:case 203:case 201:{nv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 220:case 217:case 216:{ov(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 236:case 231:{rv(k[k[e>>2]>>2]|0,k[k[d>>2]>>2]|0);r=f;return}case 233:{ov(k[k[e>>2]>>2]|0,k[(k[d>>2]|0)+4>>2]|0);r=f;return}default:{r=f;return}}while(0)}function rv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;while(1){if(!(k[d>>2]|0))break;k[e>>2]=k[d>>2];k[d>>2]=k[(k[d>>2]|0)+28>>2];nv(k[c>>2]|0,k[(k[e>>2]|0)+16>>2]|0);jv(k[c>>2]|0,k[(k[e>>2]|0)+20>>2]|0);kv(k[c>>2]|0,k[(k[e>>2]|0)+8>>2]|0);ov(k[c>>2]|0,k[(k[e>>2]|0)+24>>2]|0);bg(k[c>>2]|0,k[e>>2]|0)}r=f;return}function sv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;o=r;r=r+32|0;c=o+16|0;p=o+12|0;d=o+21|0;e=o+8|0;h=o+4|0;f=o+20|0;g=o;k[p>>2]=a;i[d>>0]=b;k[h>>2]=m[(k[p>>2]|0)+8+(k[k[p>>2]>>2]<<4)>>1];if((k[h>>2]|0)>=975){k[c>>2]=k[h>>2];p=k[c>>2]|0;r=o;return p|0}while(1){k[e>>2]=j[15266+(k[h>>2]<<1)>>1];if((k[e>>2]|0)==-72){n=4;break}k[e>>2]=(k[e>>2]|0)+(l[d>>0]|0);if(!((k[e>>2]|0)<0|(k[e>>2]|0)>=1499)?(l[38171+(k[e>>2]|0)>>0]|0)==(l[d>>0]|0):0){n=15;break}if((l[d>>0]|0)<=0)break;if((l[d>>0]|0)>>>0>=70){n=11;break}p=i[39670+(l[d>>0]|0)>>0]|0;i[f>>0]=p;if(!(p&255)){n=11;break}i[d>>0]=i[f>>0]|0}if((n|0)==4){k[c>>2]=m[16146+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}else if((n|0)==11){k[g>>2]=(k[e>>2]|0)-(l[d>>0]|0)+70;if((k[g>>2]|0)>=0&(k[g>>2]|0)<1499?(l[38171+(k[g>>2]|0)>>0]|0)==70:0){k[c>>2]=m[12264+(k[g>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}}else if((n|0)==15){k[c>>2]=m[12264+(k[e>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}k[c>>2]=m[16146+(k[h>>2]<<1)>>1];p=k[c>>2]|0;r=o;return p|0}function tv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,l=0;l=r;r=r+16|0;e=l+12|0;f=l+8|0;g=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;c=k[e>>2]|0;k[c>>2]=(k[c>>2]|0)+1;c=k[e>>2]|0;if((k[k[e>>2]>>2]|0)>=100){wv(c);r=l;return}else{k[h>>2]=(k[e>>2]|0)+8+(k[c>>2]<<4);j[k[h>>2]>>1]=k[f>>2];i[(k[h>>2]|0)+2>>0]=k[g>>2];h=(k[h>>2]|0)+4|0;k[h>>2]=k[d>>2];k[h+4>>2]=k[d+4>>2];r=l;return}}function uv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=r;r=r+272|0;C=aa+264|0;N=aa+40|0;M=aa+32|0;P=aa+24|0;O=aa+16|0;U=aa+8|0;L=aa;W=aa+256|0;X=aa+252|0;Z=aa+248|0;Y=aa+244|0;_=aa+240|0;$=aa+236|0;V=aa+232|0;R=aa+220|0;J=aa+208|0;K=aa+196|0;d=aa+176|0;e=aa+172|0;y=aa+168|0;q=aa+164|0;n=aa+160|0;Q=aa+152|0;z=aa+144|0;o=aa+140|0;f=aa+136|0;A=aa+132|0;p=aa+128|0;h=aa+124|0;v=aa+120|0;w=aa+116|0;B=aa+112|0;D=aa+108|0;F=aa+104|0;E=aa+100|0;G=aa+96|0;H=aa+92|0;I=aa+88|0;T=aa+80|0;s=aa+76|0;t=aa+72|0;u=aa+68|0;x=aa+64|0;S=aa+60|0;g=aa+56|0;c=aa+48|0;k[W>>2]=a;k[X>>2]=b;k[V>>2]=k[(k[W>>2]|0)+4>>2];k[_>>2]=(k[W>>2]|0)+8+(k[k[W>>2]>>2]<<4);if((l[27094+(k[X>>2]<<1)+1>>0]|0)==0?(k[k[W>>2]>>2]|0)>=99:0){wv(k[W>>2]|0);r=aa;return}a:do switch(k[X>>2]|0){case 0:{i[(k[V>>2]|0)+453>>0]=1;break}case 1:{i[(k[V>>2]|0)+453>>0]=2;break}case 2:{xv(k[V>>2]|0);break}case 3:{yv(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break}case 4:{k[(k[_>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{k[(k[_>>2]|0)+4>>2]=l[(k[_>>2]|0)+2>>0];break}case 9:case 8:{zv(k[V>>2]|0);break}case 10:{Av(k[V>>2]|0);break}case 11:{Bv(k[V>>2]|0,0,(k[_>>2]|0)+4|0);break}case 12:{Bv(k[V>>2]|0,1,(k[_>>2]|0)+4|0);break}case 13:{Bv(k[V>>2]|0,2,(k[_>>2]|0)+4|0);break}case 14:{Cv(k[V>>2]|0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0,k[(k[_>>2]|0)+-64+4>>2]|0,0,0,k[(k[_>>2]|0)+-32+4>>2]|0);break}case 15:{Dv(k[V>>2]|0);break}case 209:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 17:{k[(k[_>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{k[(k[_>>2]|0)+4>>2]=1;break}case 20:{Ev(k[V>>2]|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+-16+4|0,k[(k[_>>2]|0)+4>>2]&255,0);break}case 21:{Ev(k[V>>2]|0,0,0,0,k[(k[_>>2]|0)+4>>2]|0);kv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 23:{if((k[(k[_>>2]|0)+4+4>>2]|0)==5?(Jd(k[(k[_>>2]|0)+4>>2]|0,25353,5)|0)==0:0){k[(k[_>>2]|0)+-16+4>>2]=96;break a}k[(k[_>>2]|0)+-16+4>>2]=0;V=k[V>>2]|0;U=k[(k[_>>2]|0)+4>>2]|0;k[L>>2]=k[(k[_>>2]|0)+4+4>>2];k[L+4>>2]=U;Mh(V,27746,L);break}case 24:{Fv(k[V>>2]|0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0);break}case 96:case 60:case 25:{k[(k[_>>2]|0)+16+4+4>>2]=0;k[(k[_>>2]|0)+16+4>>2]=0;break}case 26:{k[(k[_>>2]|0)+-48+4+4>>2]=(k[(k[_>>2]|0)+4>>2]|0)+(k[(k[_>>2]|0)+4+4>>2]|0)-(k[(k[_>>2]|0)+-48+4>>2]|0);break}case 27:{k[(k[_>>2]|0)+-80+4+4>>2]=(k[(k[_>>2]|0)+4>>2]|0)+(k[(k[_>>2]|0)+4+4>>2]|0)-(k[(k[_>>2]|0)+-80+4>>2]|0);break}case 28:{k[(k[_>>2]|0)+-16+4+4>>2]=(k[(k[_>>2]|0)+4+4>>2]|0)+((k[(k[_>>2]|0)+4>>2]|0)-(k[(k[_>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{V=(k[V>>2]|0)+328|0;U=(k[_>>2]|0)+4|0;k[V>>2]=k[U>>2];k[V+4>>2]=k[U+4>>2];break}case 32:case 30:{Gv(k[V>>2]|0,(k[_>>2]|0)+4|0);break}case 31:{Gv(k[V>>2]|0,(k[_>>2]|0)+-16+4|0);break}case 33:{U=Hv(k[V>>2]|0,155,k[(k[_>>2]|0)+4>>2]|0,0,0)|0;k[J>>2]=U;k[J+4>>2]=k[(k[_>>2]|0)+-16+4>>2];k[J+8>>2]=k[(k[_>>2]|0)+4+8>>2];Gv(k[V>>2]|0,J);break}case 34:{U=k[V>>2]|0;T=(k[_>>2]|0)+4|0;k[C>>2]=k[T>>2];k[C+4>>2]=k[T+4>>2];Iv(K,U,97,C);Gv(k[V>>2]|0,K);break}case 35:{Jv(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 36:{Kv(k[V>>2]|0,0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0);break}case 37:{Lv(k[V>>2]|0,0,0,0,0,k[(k[_>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 38:{Mv(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break}case 39:{Nv(k[V>>2]|0,0,(k[_>>2]|0)+-32+4|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 40:{Ov(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 41:{Pv(k[V>>2]|0,(k[_>>2]|0)+4|0);break}case 44:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 45:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+-16+4>>2]&~k[(k[_>>2]|0)+4+4>>2]|k[(k[_>>2]|0)+4>>2];break}case 46:{k[(k[_>>2]|0)+-16+4>>2]=0;k[(k[_>>2]|0)+-16+4+4>>2]=0;break}case 47:{k[(k[_>>2]|0)+-32+4>>2]=0;k[(k[_>>2]|0)+-32+4+4>>2]=0;break}case 48:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+4>>2];k[(k[_>>2]|0)+-32+4+4>>2]=255;break}case 49:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+4>>2]<<8;k[(k[_>>2]|0)+-32+4+4>>2]=65280;break}case 50:{k[(k[_>>2]|0)+-16+4>>2]=7;break}case 51:{k[(k[_>>2]|0)+-16+4>>2]=8;break}case 52:{k[(k[_>>2]|0)+4>>2]=9;break}case 53:{k[(k[_>>2]|0)+4>>2]=6;break}case 54:{k[(k[_>>2]|0)+-16+4>>2]=0;break}case 55:{k[(k[_>>2]|0)+-32+4>>2]=0;break}case 142:case 71:case 56:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 210:case 186:case 183:case 75:case 58:{k[(k[_>>2]|0)+-16+4>>2]=1;break}case 59:{k[(k[_>>2]|0)+-16+4>>2]=0;break}case 61:{k[(k[V>>2]|0)+328+4>>2]=0;break}case 63:{Kv(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,0);break}case 64:{Lv(k[V>>2]|0,0,0,0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 65:{Mv(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0);break}case 66:{Nv(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,(k[_>>2]|0)+-48+4|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);Ov(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 70:case 68:{k[(k[_>>2]|0)+16+4>>2]=10;break}case 69:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 72:{k[(k[_>>2]|0)+4>>2]=4;break}case 143:case 73:{k[(k[_>>2]|0)+4>>2]=5;break}case 74:{Qv(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,0,k[(k[_>>2]|0)+-16+4>>2]|0);break}case 77:{Rv(k[V>>2]|0,(k[_>>2]|0)+-128+4|0,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+-48+4|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-112+4>>2]|0,k[(k[_>>2]|0)+-80+4>>2]|0);break}case 78:{Qv(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,1,k[(k[_>>2]|0)+-16+4>>2]|0);break}case 79:{k[d>>2]=k[1272];k[d+4>>2]=k[1273];k[d+8>>2]=k[1274];k[d+12>>2]=k[1275];k[d+16>>2]=k[1276];Sv(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,d)|0;kv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 80:{k[e>>2]=k[(k[_>>2]|0)+4>>2];if(k[e>>2]|0){k[(k[e>>2]|0)+64>>2]=k[(k[_>>2]|0)+-16+4>>2];Tv(k[V>>2]|0,k[e>>2]|0)}else iv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);k[(k[_>>2]|0)+-16+4>>2]=k[e>>2];break}case 81:{k[y>>2]=k[(k[_>>2]|0)+4>>2];k[q>>2]=k[(k[_>>2]|0)+-32+4>>2];if((k[y>>2]|0)!=0?(k[(k[y>>2]|0)+48>>2]|0)!=0:0){k[Q+4>>2]=0;Tv(k[V>>2]|0,k[y>>2]|0);U=Uv(k[V>>2]|0,0,0,0,Q,k[y>>2]|0,0,0)|0;k[n>>2]=U;U=Vv(k[V>>2]|0,0,k[n>>2]|0,0,0,0,0,0,0,0)|0;k[y>>2]=U}if(k[y>>2]|0){i[(k[y>>2]|0)+4>>0]=k[(k[_>>2]|0)+-16+4>>2];k[(k[y>>2]|0)+48>>2]=k[q>>2];if(k[q>>2]|0){U=(k[q>>2]|0)+8|0;k[U>>2]=k[U>>2]&-513}U=(k[y>>2]|0)+8|0;k[U>>2]=k[U>>2]&-513;if((k[(k[_>>2]|0)+-16+4>>2]|0)!=116)i[(k[V>>2]|0)+22>>0]=1}else kv(k[k[V>>2]>>2]|0,k[q>>2]|0);k[(k[_>>2]|0)+-32+4>>2]=k[y>>2];break}case 84:case 82:{k[(k[_>>2]|0)+4>>2]=l[(k[_>>2]|0)+2>>0];break}case 83:{k[(k[_>>2]|0)+-16+4>>2]=116;break}case 85:{V=Vv(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,k[(k[_>>2]|0)+-80+4>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+-112+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+4+4>>2]|0)|0;k[(k[_>>2]|0)+-128+4>>2]=V;break}case 86:{V=Vv(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,0,0,0,0,0,256,0,0)|0;k[(k[_>>2]|0)+-48+4>>2]=V;break}case 87:{k[o>>2]=k[(k[_>>2]|0)+-64+4>>2];V=Vv(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,0,0,0,0,0,768,0,0)|0;k[z>>2]=V;if(k[o>>2]|0){V=(k[o>>2]|0)+8|0;k[V>>2]=k[V>>2]&-513}if(k[z>>2]|0){i[(k[z>>2]|0)+4>>0]=116;k[(k[z>>2]|0)+48>>2]=k[o>>2];k[(k[_>>2]|0)+-64+4>>2]=k[z>>2];break a}else{k[(k[_>>2]|0)+-64+4>>2]=k[o>>2];break a}}case 88:{k[(k[_>>2]|0)+4>>2]=1;break}case 89:{k[(k[_>>2]|0)+4>>2]=2;break}case 205:case 199:case 126:case 119:case 91:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 92:{U=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0)|0;k[(k[_>>2]|0)+-32+4>>2]=U;if((k[(k[_>>2]|0)+4+4>>2]|0)>>>0>0)Xv(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,(k[_>>2]|0)+4|0,1);Yv(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,(k[_>>2]|0)+-16+4|0);break}case 93:{U=Zv(k[k[V>>2]>>2]|0,158,0)|0;k[f>>2]=U;V=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[f>>2]|0)|0;k[(k[_>>2]|0)+-16+4>>2]=V;break}case 94:{U=Hv(k[V>>2]|0,158,0,0,(k[_>>2]|0)+4|0)|0;k[A>>2]=U;U=Hv(k[V>>2]|0,27,0,0,(k[_>>2]|0)+-32+4|0)|0;k[p>>2]=U;U=Hv(k[V>>2]|0,122,k[p>>2]|0,k[A>>2]|0,0)|0;k[h>>2]=U;V=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,k[h>>2]|0)|0;k[(k[_>>2]|0)+-48+4>>2]=V;break}case 220:case 219:case 106:case 95:{V=(k[_>>2]|0)+-16+4|0;U=(k[_>>2]|0)+4|0;k[V>>2]=k[U>>2];k[V+4>>2]=k[U+4>>2];break}case 97:{V=Bh(k[k[V>>2]>>2]|0,80,0)|0;k[(k[_>>2]|0)+16+4>>2]=V;break}case 98:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+4>>2];_v(k[(k[_>>2]|0)+-16+4>>2]|0);break}case 99:{if((k[(k[_>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[_>>2]|0)+-16+4>>2]>>2]|0)>0:0)i[(k[(k[_>>2]|0)+-16+4>>2]|0)+8+(((k[k[(k[_>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=k[(k[_>>2]|0)+4>>2];break}case 100:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 101:{U=Uv(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,(k[_>>2]|0)+-80+4|0,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+-48+4|0,0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-96+4>>2]=U;$v(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,(k[_>>2]|0)+-32+4|0);break}case 102:{U=Uv(k[V>>2]|0,k[(k[_>>2]|0)+-128+4>>2]|0,(k[_>>2]|0)+-112+4|0,(k[_>>2]|0)+-96+4|0,(k[_>>2]|0)+-32+4|0,0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-128+4>>2]=U;aw(k[V>>2]|0,k[(k[_>>2]|0)+-128+4>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0);break}case 103:{V=Uv(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,0,0,(k[_>>2]|0)+-32+4|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-96+4>>2]=V;break}case 104:{if((((k[(k[_>>2]|0)+-96+4>>2]|0)==0?(k[(k[_>>2]|0)+-32+4+4>>2]|0)==0:0)?(k[(k[_>>2]|0)+-16+4>>2]|0)==0:0)?(k[(k[_>>2]|0)+4>>2]|0)==0:0){k[(k[_>>2]|0)+-96+4>>2]=k[(k[_>>2]|0)+-64+4>>2];break a}if((k[k[(k[_>>2]|0)+-64+4>>2]>>2]|0)!=1){_v(k[(k[_>>2]|0)+-64+4>>2]|0);U=Vv(k[V>>2]|0,0,k[(k[_>>2]|0)+-64+4>>2]|0,0,0,0,0,1024,0,0)|0;k[B>>2]=U;V=Uv(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,0,0,(k[_>>2]|0)+-32+4|0,k[B>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-96+4>>2]=V;break a}U=Uv(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,0,0,(k[_>>2]|0)+-32+4|0,0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-96+4>>2]=U;if(k[(k[_>>2]|0)+-96+4>>2]|0){k[v>>2]=(k[(k[_>>2]|0)+-96+4>>2]|0)+8+(((k[k[(k[_>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);k[w>>2]=(k[(k[_>>2]|0)+-64+4>>2]|0)+8;k[(k[v>>2]|0)+8>>2]=k[(k[w>>2]|0)+8>>2];k[(k[v>>2]|0)+4>>2]=k[(k[w>>2]|0)+4>>2];k[(k[v>>2]|0)+20>>2]=k[(k[w>>2]|0)+20>>2];k[(k[w>>2]|0)+4>>2]=0;k[(k[w>>2]|0)+8>>2]=0;k[(k[w>>2]|0)+20>>2]=0}mv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{k[(k[_>>2]|0)+16+4>>2]=0;k[(k[_>>2]|0)+16+4+4>>2]=0;break}case 107:{V=bw(k[k[V>>2]>>2]|0,0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0)|0;k[(k[_>>2]|0)+-16+4>>2]=V;break}case 108:{k[(k[_>>2]|0)+4>>2]=1;break}case 109:{V=cw(k[V>>2]|0,(k[_>>2]|0)+-16+4|0,0,0)|0;k[(k[_>>2]|0)+-16+4>>2]=V;break}case 110:{V=cw(k[V>>2]|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+-16+4|0,0)|0;k[(k[_>>2]|0)+-32+4>>2]=V;break}case 111:{V=cw(k[V>>2]|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+-16+4|0)|0;k[(k[_>>2]|0)+-48+4>>2]=V;break}case 195:case 136:case 129:case 112:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 198:case 196:case 135:case 128:case 113:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 115:{V=(k[_>>2]|0)+-32+4|0;U=(k[_>>2]|0)+4|0;k[V>>2]=k[U>>2];k[V+4>>2]=k[U+4>>2];break}case 116:{k[(k[_>>2]|0)+-16+4>>2]=0;k[(k[_>>2]|0)+-16+4+4>>2]=1;break}case 117:{k[(k[_>>2]|0)+-48+4>>2]=k[(k[_>>2]|0)+-16+4>>2];break}case 144:case 118:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 127:case 120:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 121:{V=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0)|0;k[(k[_>>2]|0)+-48+4>>2]=V;dw(k[(k[_>>2]|0)+-48+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 122:{V=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+-16+4>>2]|0)|0;k[(k[_>>2]|0)+-16+4>>2]=V;dw(k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 123:{k[(k[_>>2]|0)+4>>2]=0;break}case 124:{k[(k[_>>2]|0)+4>>2]=1;break}case 125:{k[(k[_>>2]|0)+16+4>>2]=-1;break}case 130:{k[(k[_>>2]|0)+16+4>>2]=0;k[(k[_>>2]|0)+16+4+4>>2]=0;break}case 131:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+4>>2];k[(k[_>>2]|0)+-16+4+4>>2]=0;break}case 132:{k[(k[_>>2]|0)+-48+4>>2]=k[(k[_>>2]|0)+-32+4>>2];k[(k[_>>2]|0)+-48+4+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 133:{k[(k[_>>2]|0)+-48+4+4>>2]=k[(k[_>>2]|0)+-32+4>>2];k[(k[_>>2]|0)+-48+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 134:{ew(k[V>>2]|0,k[(k[_>>2]|0)+-80+4>>2]|0,1);$v(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,(k[_>>2]|0)+-16+4|0);fw(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 137:{ew(k[V>>2]|0,k[(k[_>>2]|0)+-112+4>>2]|0,1);$v(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,(k[_>>2]|0)+-48+4|0);gw(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,27773);hw(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-80+4>>2]|0);break}case 138:{U=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;Xv(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,(k[_>>2]|0)+-32+4|0,1);break}case 139:{U=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+4>>2]|0)|0;k[R>>2]=U;Xv(k[V>>2]|0,k[R>>2]|0,(k[_>>2]|0)+-32+4|0,1);k[(k[_>>2]|0)+-32+4>>2]=k[R>>2];break}case 140:{ew(k[V>>2]|0,k[(k[_>>2]|0)+-80+4>>2]|0,1);iw(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0);break}case 141:{ew(k[V>>2]|0,k[(k[_>>2]|0)+-96+4>>2]|0,1);iw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+-80+4>>2]|0);break}case 145:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+-16+4>>2];break}case 146:{V=jw(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,(k[_>>2]|0)+4|0)|0;k[(k[_>>2]|0)+-32+4>>2]=V;break}case 147:{V=jw(k[k[V>>2]>>2]|0,0,(k[_>>2]|0)+4|0)|0;k[(k[_>>2]|0)+4>>2]=V;break}case 148:{kw((k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0);k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+-16+4>>2];break}case 155:case 154:case 149:{T=(k[_>>2]|0)+4|0;U=k[V>>2]|0;V=l[(k[_>>2]|0)+2>>0]|0;S=(k[_>>2]|0)+4|0;k[C>>2]=k[S>>2];k[C+4>>2]=k[S+4>>2];Iv(T,U,V,C);break}case 151:case 150:{U=(k[_>>2]|0)+4|0;V=k[V>>2]|0;T=(k[_>>2]|0)+4|0;k[C>>2]=k[T>>2];k[C+4>>2]=k[T+4>>2];Iv(U,V,27,C);break}case 152:{U=Hv(k[V>>2]|0,27,0,0,(k[_>>2]|0)+-32+4|0)|0;k[D>>2]=U;U=Hv(k[V>>2]|0,27,0,0,(k[_>>2]|0)+4|0)|0;k[F>>2]=U;kw((k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0);V=Hv(k[V>>2]|0,122,k[D>>2]|0,k[F>>2]|0,0)|0;k[(k[_>>2]|0)+-32+4>>2]=V;break}case 153:{U=Hv(k[V>>2]|0,27,0,0,(k[_>>2]|0)+-64+4|0)|0;k[E>>2]=U;U=Hv(k[V>>2]|0,27,0,0,(k[_>>2]|0)+-32+4|0)|0;k[G>>2]=U;U=Hv(k[V>>2]|0,27,0,0,(k[_>>2]|0)+4|0)|0;k[H>>2]=U;U=Hv(k[V>>2]|0,122,k[G>>2]|0,k[H>>2]|0,0)|0;k[I>>2]=U;kw((k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+4|0);V=Hv(k[V>>2]|0,122,k[E>>2]|0,k[I>>2]|0,0)|0;k[(k[_>>2]|0)+-64+4>>2]=V;break}case 156:{S=(k[_>>2]|0)+4|0;k[T>>2]=k[S>>2];k[T+4>>2]=k[S+4>>2];if(((k[T+4>>2]|0)>>>0>=2?(i[k[T>>2]>>0]|0)==35:0)?(l[19011+(l[(k[T>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){kw((k[_>>2]|0)+4|0,T,T);c=k[V>>2]|0;if(!(l[(k[V>>2]|0)+18>>0]|0)){k[U>>2]=T;Mh(c,27070,U);k[(k[_>>2]|0)+4>>2]=0;break a}V=Hv(c,157,0,0,T)|0;k[(k[_>>2]|0)+4>>2]=V;if(!(k[(k[_>>2]|0)+4>>2]|0))break a;Yi((k[T>>2]|0)+1|0,(k[(k[_>>2]|0)+4>>2]|0)+28|0)|0;break a}S=(k[_>>2]|0)+4|0;U=k[V>>2]|0;k[C>>2]=k[T>>2];k[C+4>>2]=k[T+4>>2];Iv(S,U,135,C);lw(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 157:{V=mw(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,(k[_>>2]|0)+4|0,1)|0;k[(k[_>>2]|0)+-32+4>>2]=V;k[(k[_>>2]|0)+-32+4+8>>2]=(k[(k[_>>2]|0)+4>>2]|0)+(k[(k[_>>2]|0)+4+4>>2]|0);break}case 158:{kw((k[_>>2]|0)+-80+4|0,(k[_>>2]|0)+-80+4|0,(k[_>>2]|0)+4|0);V=Hv(k[V>>2]|0,38,k[(k[_>>2]|0)+-48+4>>2]|0,0,(k[_>>2]|0)+-16+4|0)|0;k[(k[_>>2]|0)+-80+4>>2]=V;break}case 159:{if((k[(k[_>>2]|0)+-16+4>>2]|0)!=0?(k[k[(k[_>>2]|0)+-16+4>>2]>>2]|0)>(k[(k[k[V>>2]>>2]|0)+92+24>>2]|0):0){U=k[V>>2]|0;k[O>>2]=(k[_>>2]|0)+-64+4;Mh(U,27782,O)}V=nw(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,(k[_>>2]|0)+-64+4|0)|0;k[R>>2]=V;kw(R,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+4|0);if((k[(k[_>>2]|0)+-32+4>>2]|0)==1?(k[R>>2]|0)!=0:0){V=(k[R>>2]|0)+4|0;k[V>>2]=k[V>>2]|16}V=(k[_>>2]|0)+-64+4|0;k[V>>2]=k[R>>2];k[V+4>>2]=k[R+4>>2];k[V+8>>2]=k[R+8>>2];break}case 160:{V=nw(k[V>>2]|0,0,(k[_>>2]|0)+-48+4|0)|0;k[R>>2]=V;kw(R,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+4|0);V=(k[_>>2]|0)+-48+4|0;k[V>>2]=k[R>>2];k[V+4>>2]=k[R+4>>2];k[V+8>>2]=k[R+8>>2];break}case 161:{V=nw(k[V>>2]|0,0,(k[_>>2]|0)+4|0)|0;k[R>>2]=V;kw(R,(k[_>>2]|0)+4|0,(k[_>>2]|0)+4|0);V=(k[_>>2]|0)+4|0;k[V>>2]=k[R>>2];k[V+4>>2]=k[R+4>>2];k[V+8>>2]=k[R+8>>2];break}case 169:case 168:case 167:case 166:case 165:case 164:case 163:case 162:{ow(k[V>>2]|0,l[(k[_>>2]|0)+-16+2>>0]|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0);break}case 170:{V=(k[_>>2]|0)+4|0;U=(k[_>>2]|0)+4|0;k[V>>2]=k[U>>2];k[V+4>>2]=k[U+4>>2];k[(k[_>>2]|0)+4+8>>2]=0;break}case 171:{V=(k[_>>2]|0)+-16+4|0;U=(k[_>>2]|0)+4|0;k[V>>2]=k[U>>2];k[V+4>>2]=k[U+4>>2];k[(k[_>>2]|0)+-16+4+8>>2]=1;break}case 172:{U=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+4>>2]|0)|0;k[s>>2]=U;U=Wv(k[V>>2]|0,k[s>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0)|0;k[s>>2]=U;U=nw(k[V>>2]|0,k[s>>2]|0,(k[_>>2]|0)+-16+4|0)|0;k[(k[_>>2]|0)+-32+4>>2]=U;pw(k[V>>2]|0,k[(k[_>>2]|0)+-16+4+8>>2]|0,(k[_>>2]|0)+-32+4|0);k[(k[_>>2]|0)+-32+4+8>>2]=k[(k[_>>2]|0)+4+8>>2];if(k[(k[_>>2]|0)+-32+4>>2]|0){V=(k[(k[_>>2]|0)+-32+4>>2]|0)+4|0;k[V>>2]=k[V>>2]|128}break}case 173:{U=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+-32+4>>2]|0)|0;k[t>>2]=U;U=Wv(k[V>>2]|0,k[t>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0)|0;k[t>>2]=U;U=Wv(k[V>>2]|0,k[t>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[t>>2]=U;U=nw(k[V>>2]|0,k[t>>2]|0,(k[_>>2]|0)+-48+4|0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;pw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4+8>>2]|0,(k[_>>2]|0)+-64+4|0);k[(k[_>>2]|0)+-64+4+8>>2]=k[(k[_>>2]|0)+4+8>>2];if(k[(k[_>>2]|0)+-64+4>>2]|0){V=(k[(k[_>>2]|0)+-64+4>>2]|0)+4|0;k[V>>2]=k[V>>2]|128}break}case 174:{qw(k[V>>2]|0,l[(k[_>>2]|0)+2>>0]|0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0);break}case 175:{qw(k[V>>2]|0,77,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0);break}case 176:{ow(k[V>>2]|0,73,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0);rw(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,76);break}case 177:{ow(k[V>>2]|0,148,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+4|0);rw(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,77);break}case 179:case 178:{sw((k[_>>2]|0)+-16+4|0,k[V>>2]|0,l[(k[_>>2]|0)+-16+2>>0]|0,(k[_>>2]|0)+4|0,(k[_>>2]|0)+-16+4|0);break}case 180:{sw((k[_>>2]|0)+-16+4|0,k[V>>2]|0,155,(k[_>>2]|0)+4|0,(k[_>>2]|0)+-16+4|0);break}case 181:{sw((k[_>>2]|0)+-16+4|0,k[V>>2]|0,156,(k[_>>2]|0)+4|0,(k[_>>2]|0)+-16+4|0);break}case 185:case 182:{k[(k[_>>2]|0)+4>>2]=0;break}case 184:{U=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+-32+4>>2]|0)|0;k[u>>2]=U;U=Wv(k[V>>2]|0,k[u>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[u>>2]=U;U=Hv(k[V>>2]|0,74,k[(k[_>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;if(k[(k[_>>2]|0)+-64+4>>2]|0)k[(k[(k[_>>2]|0)+-64+4>>2]|0)+20>>2]=k[u>>2];else jv(k[k[V>>2]>>2]|0,k[u>>2]|0);pw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,(k[_>>2]|0)+-64+4|0);k[(k[_>>2]|0)+-64+4+8>>2]=k[(k[_>>2]|0)+4+8>>2];break}case 187:{do if(!(k[(k[_>>2]|0)+-16+4>>2]|0)){nv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0);V=Hv(k[V>>2]|0,132,0,0,5108+(k[(k[_>>2]|0)+-48+4>>2]<<3)|0)|0;k[(k[_>>2]|0)+-64+4>>2]=V}else{if((k[k[(k[_>>2]|0)+-16+4>>2]>>2]|0)==1){k[x>>2]=k[k[(k[(k[_>>2]|0)+-16+4>>2]|0)+4>>2]>>2];k[k[(k[(k[_>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;jv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);if(k[x>>2]|0){U=(k[x>>2]|0)+4|0;k[U>>2]=k[U>>2]&-257;U=(k[x>>2]|0)+4|0;k[U>>2]=k[U>>2]|512}V=Hv(k[V>>2]|0,(k[(k[_>>2]|0)+-48+4>>2]|0)!=0?78:79,k[(k[_>>2]|0)+-64+4>>2]|0,k[x>>2]|0,0)|0;k[(k[_>>2]|0)+-64+4>>2]=V;break}U=Hv(k[V>>2]|0,75,k[(k[_>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;if(k[(k[_>>2]|0)+-64+4>>2]|0){k[(k[(k[_>>2]|0)+-64+4>>2]|0)+20>>2]=k[(k[_>>2]|0)+-16+4>>2];tw(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0)}else jv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);pw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,(k[_>>2]|0)+-64+4|0)}while(0);k[(k[_>>2]|0)+-64+4+8>>2]=(k[(k[_>>2]|0)+4>>2]|0)+(k[(k[_>>2]|0)+4+4>>2]|0);break}case 188:{kw((k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0);U=Hv(k[V>>2]|0,119,0,0,0)|0;k[(k[_>>2]|0)+-32+4>>2]=U;if(k[(k[_>>2]|0)+-32+4>>2]|0){k[(k[(k[_>>2]|0)+-32+4>>2]|0)+20>>2]=k[(k[_>>2]|0)+-16+4>>2];U=(k[(k[_>>2]|0)+-32+4>>2]|0)+4|0;k[U>>2]=k[U>>2]|2099200;tw(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0);break a}else{kv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break a}}case 189:{U=Hv(k[V>>2]|0,75,k[(k[_>>2]|0)+-64+4>>2]|0,0,0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;if(k[(k[_>>2]|0)+-64+4>>2]|0){k[(k[(k[_>>2]|0)+-64+4>>2]|0)+20>>2]=k[(k[_>>2]|0)+-16+4>>2];U=(k[(k[_>>2]|0)+-64+4>>2]|0)+4|0;k[U>>2]=k[U>>2]|2099200;tw(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0)}else kv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);pw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,(k[_>>2]|0)+-64+4|0);k[(k[_>>2]|0)+-64+4+8>>2]=(k[(k[_>>2]|0)+4>>2]|0)+(k[(k[_>>2]|0)+4+4>>2]|0);break}case 190:{c=bw(k[k[V>>2]>>2]|0,0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0)|0;k[S>>2]=c;c=Hv(k[V>>2]|0,75,k[(k[_>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[_>>2]|0)+-48+4>>2]=c;c=k[V>>2]|0;if(k[(k[_>>2]|0)+-48+4>>2]|0){U=Vv(c,0,k[S>>2]|0,0,0,0,0,0,0,0)|0;k[(k[(k[_>>2]|0)+-48+4>>2]|0)+20>>2]=U;U=(k[(k[_>>2]|0)+-48+4>>2]|0)+4|0;k[U>>2]=k[U>>2]|2099200;tw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0)}else mv(k[c>>2]|0,k[S>>2]|0);pw(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,(k[_>>2]|0)+-48+4|0);c=k[_>>2]|0;if(k[(k[_>>2]|0)+4>>2]|0)c=(k[(k[_>>2]|0)+4>>2]|0)+(k[c+4+4>>2]|0)|0;else c=(k[(k[_>>2]|0)+-16+4>>2]|0)+(k[c+-16+4+4>>2]|0)|0;k[(k[_>>2]|0)+-48+4+8>>2]=c;break}case 191:{kw((k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+4|0);U=Hv(k[V>>2]|0,20,0,0,0)|0;k[(k[_>>2]|0)+-48+4>>2]=U;k[g>>2]=U;if(k[g>>2]|0){k[(k[g>>2]|0)+20>>2]=k[(k[_>>2]|0)+-16+4>>2];U=(k[g>>2]|0)+4|0;k[U>>2]=k[U>>2]|2099200;tw(k[V>>2]|0,k[g>>2]|0);break a}else{kv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break a}}case 192:{kw((k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+4|0);U=Hv(k[V>>2]|0,136,k[(k[_>>2]|0)+-48+4>>2]|0,0,0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;if(!(k[(k[_>>2]|0)+-64+4>>2]|0)){jv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0);nv(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break a}if(k[(k[_>>2]|0)+-16+4>>2]|0)c=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0)|0;else c=k[(k[_>>2]|0)+-32+4>>2]|0;k[(k[(k[_>>2]|0)+-64+4>>2]|0)+20>>2]=c;tw(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0);break}case 193:{U=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0)|0;k[(k[_>>2]|0)+-64+4>>2]=U;V=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-64+4>>2]=V;break}case 194:{U=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+-32+4>>2]|0)|0;k[(k[_>>2]|0)+-48+4>>2]=U;V=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-48+4>>2]=V;break}case 197:{k[(k[_>>2]|0)+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 200:{V=Wv(k[V>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-32+4>>2]=V;break}case 201:{V=Wv(k[V>>2]|0,0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+4>>2]=V;break}case 202:{Lv(k[V>>2]|0,(k[_>>2]|0)+-112+4|0,(k[_>>2]|0)+-96+4|0,bw(k[k[V>>2]>>2]|0,0,(k[_>>2]|0)+-64+4|0,0)|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+-160+4>>2]|0,(k[_>>2]|0)+-176+4|0,k[(k[_>>2]|0)+4>>2]|0,0,k[(k[_>>2]|0)+-128+4>>2]|0)|0;break}case 244:case 203:{k[(k[_>>2]|0)+4>>2]=2;break}case 204:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 206:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+-16+4>>2];break}case 207:{V=uw(k[V>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,(k[_>>2]|0)+-32+4|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-64+4>>2]=V;break}case 208:{V=uw(k[V>>2]|0,0,(k[_>>2]|0)+-32+4|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-32+4>>2]=V;break}case 211:{vw(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break}case 213:case 212:{ww(k[V>>2]|0);break}case 214:{xw(k[V>>2]|0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0,0,0);break}case 215:{xw(k[V>>2]|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0,0);break}case 216:{xw(k[V>>2]|0,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-16+4|0,0);break}case 217:{xw(k[V>>2]|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0,1);break}case 218:{xw(k[V>>2]|0,(k[_>>2]|0)+-64+4|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-16+4|0,1);break}case 221:{k[c>>2]=k[(k[_>>2]|0)+-48+4>>2];k[c+4>>2]=(k[(k[_>>2]|0)+4>>2]|0)-(k[(k[_>>2]|0)+-48+4>>2]|0)+(k[(k[_>>2]|0)+4+4>>2]|0);yw(k[V>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,c);break}case 222:{zw(k[V>>2]|0,(k[_>>2]|0)+-112+4|0,(k[_>>2]|0)+-96+4|0,k[(k[_>>2]|0)+-80+4>>2]|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-64+4+4>>2]|0,k[(k[_>>2]|0)+-32+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-160+4>>2]|0,k[(k[_>>2]|0)+-128+4>>2]|0);c=(k[_>>2]|0)+-160+4|0;d=k[_>>2]|0;if(!(k[(k[_>>2]|0)+-96+4+4>>2]|0)){V=d+-112+4|0;k[c>>2]=k[V>>2];k[c+4>>2]=k[V+4>>2];break a}else{V=d+-96+4|0;k[c>>2]=k[V>>2];k[c+4>>2]=k[V+4>>2];break a}}case 223:{k[(k[_>>2]|0)+4>>2]=35;break}case 224:{k[(k[_>>2]|0)+4>>2]=31;break}case 225:{k[(k[_>>2]|0)+-16+4>>2]=49;break}case 226:{k[(k[_>>2]|0)+16+4>>2]=35;break}case 228:case 227:{k[(k[_>>2]|0)+4>>2]=l[(k[_>>2]|0)+2>>0];k[(k[_>>2]|0)+4+4>>2]=0;break}case 229:{k[(k[_>>2]|0)+-32+4>>2]=110;k[(k[_>>2]|0)+-32+4+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 249:case 230:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 250:case 231:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 232:{k[(k[(k[(k[_>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=k[(k[_>>2]|0)+-16+4>>2];k[(k[(k[_>>2]|0)+-32+4>>2]|0)+32>>2]=k[(k[_>>2]|0)+-16+4>>2];break}case 233:{k[(k[(k[_>>2]|0)+-16+4>>2]|0)+32>>2]=k[(k[_>>2]|0)+-16+4>>2];break}case 234:{U=(k[_>>2]|0)+-32+4|0;T=(k[_>>2]|0)+4|0;k[U>>2]=k[T>>2];k[U+4>>2]=k[T+4>>2];Mh(k[V>>2]|0,27816,P);break}case 235:{Mh(k[V>>2]|0,27911,M);break}case 236:{Mh(k[V>>2]|0,27995,N);break}case 237:{V=Aw(k[k[V>>2]>>2]|0,(k[_>>2]|0)+-64+4|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-80+4>>2]&255)|0;k[(k[_>>2]|0)+-96+4>>2]=V;break}case 238:{V=Bw(k[k[V>>2]>>2]|0,(k[_>>2]|0)+-32+4|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-64+4>>2]&255)|0;k[(k[_>>2]|0)+-64+4>>2]=V;break}case 239:{V=Cw(k[k[V>>2]>>2]|0,(k[_>>2]|0)+-32+4|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+-64+4>>2]=V;break}case 240:{V=Dw(k[k[V>>2]>>2]|0,k[(k[_>>2]|0)+4>>2]|0)|0;k[(k[_>>2]|0)+4>>2]=V;break}case 241:{kw((k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+4|0);V=Hv(k[V>>2]|0,57,0,0,0)|0;k[(k[_>>2]|0)+-48+4>>2]=V;if(k[(k[_>>2]|0)+-48+4>>2]|0)i[(k[(k[_>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 242:{kw((k[_>>2]|0)+-80+4|0,(k[_>>2]|0)+-80+4|0,(k[_>>2]|0)+4|0);V=Hv(k[V>>2]|0,57,0,0,(k[_>>2]|0)+-16+4|0)|0;k[(k[_>>2]|0)+-80+4>>2]=V;if(k[(k[_>>2]|0)+-80+4>>2]|0)i[(k[(k[_>>2]|0)+-80+4>>2]|0)+1>>0]=k[(k[_>>2]|0)+-48+4>>2];break}case 243:{k[(k[_>>2]|0)+4>>2]=1;break}case 245:{k[(k[_>>2]|0)+4>>2]=3;break}case 246:{Ew(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0);break}case 247:{Fw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 248:{Gw(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 251:{Hw(k[V>>2]|0,0,0);break}case 252:{Hw(k[V>>2]|0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0);break}case 253:{Iw(k[V>>2]|0,0,0);break}case 254:{Iw(k[V>>2]|0,(k[_>>2]|0)+-16+4|0,(k[_>>2]|0)+4|0);break}case 255:{Jw(k[V>>2]|0,k[(k[_>>2]|0)+-48+4>>2]|0,(k[_>>2]|0)+4|0);break}case 256:{k[(k[_>>2]|0)+-16+4+4>>2]=(k[(k[V>>2]|0)+508>>2]|0)-(k[(k[_>>2]|0)+-16+4>>2]|0)+(k[(k[V>>2]|0)+508+4>>2]|0);Kw(k[V>>2]|0,(k[_>>2]|0)+-16+4|0);break}case 257:{Dv(k[V>>2]|0);Lw(k[V>>2]|0,k[(k[_>>2]|0)+4>>2]|0);break}case 258:{Mw(k[V>>2]|0,0);break}case 259:{Mw(k[V>>2]|0,(k[_>>2]|0)+4|0);break}case 260:{Nw(k[V>>2]|0,(k[_>>2]|0)+-48+4|0,(k[_>>2]|0)+-32+4|0,(k[_>>2]|0)+4|0,k[(k[_>>2]|0)+-64+4>>2]|0);break}case 261:{Ow(k[V>>2]|0);break}case 264:case 263:case 262:{Pw(k[V>>2]|0,(k[_>>2]|0)+4|0);break}case 265:{k[(k[_>>2]|0)+16+4>>2]=0;break}case 266:{k[(k[_>>2]|0)+-16+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 267:{k[(k[_>>2]|0)+-32+4>>2]=k[(k[_>>2]|0)+4>>2];break}case 268:{V=Qw(k[V>>2]|0,0,(k[_>>2]|0)+-80+4|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0)|0;k[(k[_>>2]|0)+-80+4>>2]=V;break}case 269:{V=Qw(k[V>>2]|0,k[(k[_>>2]|0)+-112+4>>2]|0,(k[_>>2]|0)+-80+4|0,k[(k[_>>2]|0)+-64+4>>2]|0,k[(k[_>>2]|0)+-16+4>>2]|0)|0;k[(k[_>>2]|0)+-112+4>>2]=V;break}default:{}}while(0);k[Z>>2]=l[27094+(k[X>>2]<<1)>>0];k[$>>2]=l[27094+(k[X>>2]<<1)+1>>0];X=Rw(m[(k[_>>2]|0)+(0-(k[$>>2]|0)<<4)>>1]|0,k[Z>>2]&255)|0;k[Y>>2]=X;if((k[Y>>2]|0)>974){_=k[W>>2]|0;k[_>>2]=(k[_>>2]|0)-(k[$>>2]|0);Sw(k[W>>2]|0);r=aa;return}if((k[Y>>2]|0)>439)k[Y>>2]=(k[Y>>2]|0)+326;X=k[W>>2]|0;k[X>>2]=(k[X>>2]|0)-((k[$>>2]|0)-1);k[_>>2]=(k[_>>2]|0)+(0-((k[$>>2]|0)-1)<<4);j[k[_>>2]>>1]=k[Y>>2];i[(k[_>>2]|0)+2>>0]=k[Z>>2];r=aa;return}function vv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d;e=d+12|0;f=d+4|0;k[e>>2]=a;k[d+8>>2]=b;k[f>>2]=k[(k[e>>2]|0)+4>>2];a=k[f>>2]|0;k[g>>2]=c;Mh(a,27070,g);k[(k[e>>2]|0)+4>>2]=k[f>>2];r=d;return}function wv(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;d=e;b=e+8|0;c=e+4|0;k[b>>2]=a;k[c>>2]=k[(k[b>>2]|0)+4>>2];a=k[b>>2]|0;k[a>>2]=(k[a>>2]|0)+-1;while(1){if((k[k[b>>2]>>2]|0)<0)break;pv(k[b>>2]|0)}Mh(k[c>>2]|0,38149,d);k[(k[b>>2]|0)+4>>2]=k[c>>2];r=e;return}function xv(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;b=j+24|0;c=j+20|0;g=j+16|0;e=j+12|0;d=j+8|0;h=j+4|0;f=j;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];if(i[(k[b>>2]|0)+18>>0]|0){r=j;return}if((l[(k[c>>2]|0)+69>>0]|0)==0?(k[(k[b>>2]|0)+68>>2]|0)==0:0){a=dx(k[b>>2]|0)|0;k[g>>2]=a;do if(k[g>>2]|0){do{}while((CA(k[g>>2]|0,61)|0)!=0);mx(k[g>>2]|0,21)|0;if(!(l[(k[c>>2]|0)+69>>0]|0)){if((k[(k[b>>2]|0)+340>>2]|0)==0?(k[(k[b>>2]|0)+324>>2]|0)==0:0)break;Vz(k[g>>2]|0,0);k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;if(((k[(k[b>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Th(k[g>>2]|0,k[e>>2]|0),Qh(k[g>>2]|0,2,k[e>>2]|0,(k[(k[b>>2]|0)+336>>2]&1<>2]|0)!=0&1,k[(k[b>>2]|0)+344+(k[e>>2]<<2)>>2]|0,k[(k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(l[(k[c>>2]|0)+144+5>>0]|0)==0):0)Rh(k[g>>2]|0,1);k[e>>2]=(k[e>>2]|0)+1}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[(k[b>>2]|0)+456>>2]|0))break;a=Qx(k[c>>2]|0,k[(k[(k[b>>2]|0)+524>>2]|0)+(k[d>>2]<<2)>>2]|0)|0;k[h>>2]=a;ix(k[g>>2]|0,149,0,0,0,k[h>>2]|0,-10)|0;k[d>>2]=(k[d>>2]|0)+1}k[(k[b>>2]|0)+456>>2]=0;vH(k[b>>2]|0);wH(k[b>>2]|0);a:do if(k[(k[b>>2]|0)+324>>2]|0){k[f>>2]=k[(k[b>>2]|0)+324>>2];i[(k[b>>2]|0)+23>>0]=0;k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[k[f>>2]>>2]|0))break a;NA(k[b>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>2]|0,k[(k[(k[f>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)+16>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);Uz(k[g>>2]|0,1)|0}}while(0);if(((k[g>>2]|0)!=0?(k[(k[b>>2]|0)+68>>2]|0)==0:0)?(i[(k[c>>2]|0)+69>>0]|0)==0:0){if((k[(k[b>>2]|0)+412>>2]|0)!=0?(k[(k[b>>2]|0)+72>>2]|0)==0:0)k[(k[b>>2]|0)+72>>2]=1;Vh(k[g>>2]|0,k[b>>2]|0);k[(k[b>>2]|0)+12>>2]=101;r=j;return}k[(k[b>>2]|0)+12>>2]=1;r=j;return}if(k[(k[b>>2]|0)+12>>2]|0){r=j;return}k[(k[b>>2]|0)+12>>2]=1;r=j;return}function yv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];if(ax(k[c>>2]|0,22,38079,0,0)|0){r=h;return}b=dx(k[c>>2]|0)|0;k[g>>2]=b;if(!(k[g>>2]|0)){r=h;return}a:do if((k[d>>2]|0)!=7){k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break a;fx(k[g>>2]|0,2,k[f>>2]|0,((k[d>>2]|0)==9&1)+1|0)|0;Th(k[g>>2]|0,k[f>>2]|0);k[f>>2]=(k[f>>2]|0)+1}}while(0);mx(k[g>>2]|0,1)|0;r=h;return}function zv(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(ax(k[b>>2]|0,22,38102,0,0)|0){r=d;return}a=dx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}Nz(k[c>>2]|0,1,1)|0;r=d;return}function Av(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(ax(k[b>>2]|0,22,38093,0,0)|0){r=d;return}a=dx(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){r=d;return}fx(k[c>>2]|0,1,1,1)|0;r=d;return}function Bv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+16|0;e=h+12|0;i=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[i>>2]=c;a=Tw(k[k[d>>2]>>2]|0,k[i>>2]|0)|0;k[g>>2]=a;if(!(k[g>>2]|0)){r=h;return}i=dx(k[d>>2]|0)|0;k[f>>2]=i;if((k[f>>2]|0)!=0?(ax(k[d>>2]|0,32,k[6344+(k[e>>2]<<2)>>2]|0,k[g>>2]|0,0)|0)==0:0){ix(k[f>>2]|0,0,k[e>>2]|0,0,0,k[g>>2]|0,-1)|0;r=h;return}bg(k[k[d>>2]>>2]|0,k[g>>2]|0);r=h;return}function Cv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=r;r=r+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;h=J+92|0;m=J+88|0;n=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;q=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;o=J+36|0;p=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;k[w>>2]=a;k[h>>2]=b;k[m>>2]=c;k[n>>2]=d;k[x>>2]=e;k[y>>2]=f;k[z>>2]=g;k[H>>2]=0;k[A>>2]=k[k[w>>2]>>2];if((l[(k[A>>2]|0)+144+5>>0]|0)!=0?(k[(k[A>>2]|0)+144>>2]|0)==1:0){k[I>>2]=l[(k[A>>2]|0)+144+4>>0];s=zh(k[A>>2]|0,(k[I>>2]|0)==1?20513:20532)|0;k[H>>2]=s;k[B>>2]=k[h>>2]}else{a=Jz(k[w>>2]|0,k[h>>2]|0,k[m>>2]|0,B)|0;k[I>>2]=a;if((k[I>>2]|0)<0){r=J;return}if((k[n>>2]|0)!=0?((k[I>>2]|0)!=1?(k[(k[m>>2]|0)+4>>2]|0)>>>0>0:0):0){Mh(k[w>>2]|0,37969,s);r=J;return}if(k[n>>2]|0)k[I>>2]=1;s=Tw(k[A>>2]|0,k[B>>2]|0)|0;k[H>>2]=s}s=(k[w>>2]|0)+500|0;a=k[B>>2]|0;k[s>>2]=k[a>>2];k[s+4>>2]=k[a+4>>2];if(!(k[H>>2]|0)){r=J;return}a:do if(!(Ox(k[w>>2]|0,k[H>>2]|0)|0)){if((l[(k[A>>2]|0)+144+4>>0]|0)==1)k[n>>2]=1;k[u>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(!(ax(k[w>>2]|0,18,(k[n>>2]|0)==1?20513:20532,0,k[u>>2]|0)|0)){if((k[y>>2]|0)==0?(ax(k[w>>2]|0,l[38010+((k[n>>2]|0)+(k[x>>2]<<1))>>0]|0,k[H>>2]|0,0,k[u>>2]|0)|0)!=0:0)break;do if(!(i[(k[w>>2]|0)+454>>0]|0)){k[v>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)>>2];if(Fz(k[w>>2]|0)|0)break a;u=Bi(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0;k[q>>2]=u;if(!(k[q>>2]|0)){if(!(Sj(k[A>>2]|0,k[H>>2]|0,k[v>>2]|0)|0))break;I=k[w>>2]|0;k[t>>2]=k[H>>2];Mh(I,38038,t);break a}h=k[w>>2]|0;if(k[z>>2]|0){rx(h,k[I>>2]|0);break a}else{k[G>>2]=k[B>>2];Mh(h,38014,G);break a}}while(0);G=Bh(k[A>>2]|0,72,0)|0;k[q>>2]=G;if(!(k[q>>2]|0)){k[(k[w>>2]|0)+12>>2]=7;I=(k[w>>2]|0)+68|0;k[I>>2]=(k[I>>2]|0)+1;break}k[k[q>>2]>>2]=k[H>>2];j[(k[q>>2]|0)+32>>1]=-1;k[(k[q>>2]|0)+64>>2]=k[(k[(k[A>>2]|0)+16>>2]|0)+(k[I>>2]<<4)+12>>2];j[(k[q>>2]|0)+36>>1]=1;j[(k[q>>2]|0)+38>>1]=200;k[(k[w>>2]|0)+488>>2]=k[q>>2];if((i[(k[w>>2]|0)+18>>0]|0)==0?(RQ(k[H>>2]|0,29413)|0)==0:0)k[(k[(k[q>>2]|0)+64>>2]|0)+72>>2]=k[q>>2];if(i[(k[A>>2]|0)+144+5>>0]|0){r=J;return}H=dx(k[w>>2]|0)|0;k[F>>2]=H;if(!H){r=J;return}qx(k[w>>2]|0,1,k[I>>2]|0);if(k[y>>2]|0)mx(k[F>>2]|0,149)|0;H=(k[w>>2]|0)+76|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[(k[w>>2]|0)+392>>2]=h;k[C>>2]=h;h=(k[w>>2]|0)+76|0;H=(k[h>>2]|0)+1|0;k[h>>2]=H;k[(k[w>>2]|0)+396>>2]=H;k[D>>2]=H;H=(k[w>>2]|0)+76|0;h=(k[H>>2]|0)+1|0;k[H>>2]=h;k[E>>2]=h;jx(k[F>>2]|0,51,k[I>>2]|0,k[E>>2]|0,2)|0;Th(k[F>>2]|0,k[I>>2]|0);h=Nz(k[F>>2]|0,45,k[E>>2]|0)|0;k[o>>2]=h;k[p>>2]=(k[(k[A>>2]|0)+24>>2]&32768|0)!=0?1:4;jx(k[F>>2]|0,52,k[I>>2]|0,2,k[p>>2]|0)|0;jx(k[F>>2]|0,52,k[I>>2]|0,5,l[(k[A>>2]|0)+66>>0]|0)|0;Vz(k[F>>2]|0,k[o>>2]|0);h=k[F>>2]|0;if((k[x>>2]|0)!=0|(k[y>>2]|0)!=0)fx(h,22,0,k[D>>2]|0)|0;else{H=fx(h,122,k[I>>2]|0,k[D>>2]|0)|0;k[(k[w>>2]|0)+424>>2]=H}uH(k[w>>2]|0,k[I>>2]|0);fx(k[F>>2]|0,74,0,k[C>>2]|0)|0;ix(k[F>>2]|0,27,6,k[E>>2]|0,0,38073,-2)|0;jx(k[F>>2]|0,75,0,k[E>>2]|0,k[C>>2]|0)|0;Rh(k[F>>2]|0,8);mx(k[F>>2]|0,61)|0;r=J;return}}while(0);bg(k[A>>2]|0,k[H>>2]|0);r=J;return}function Dv(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+24|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;a=(k[k[c>>2]>>2]|0)+256|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function Ev(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=r;r=r+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;f=R+192|0;g=R+188|0;h=R+184|0;m=R+196|0;n=R+180|0;w=R+176|0;q=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;p=R+116|0;D=R+112|0;E=R+108|0;o=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;i[m>>0]=d;k[n>>2]=e;k[q>>2]=k[k[f>>2]>>2];if((k[h>>2]|0)==0&(k[n>>2]|0)==0){r=R;return}k[w>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[w>>2]|0)){r=R;return}if((i[(k[q>>2]|0)+144+5>>0]|0)!=0?(k[(k[w>>2]|0)+28>>2]=k[(k[q>>2]|0)+144>>2],(k[(k[w>>2]|0)+28>>2]|0)==1):0){d=(k[w>>2]|0)+42|0;i[d>>0]=l[d>>0]|1}do if(l[m>>0]&32){if(l[(k[w>>2]|0)+42>>0]&8){Mh(k[f>>2]|0,37648,H);r=R;return}if(!(l[(k[w>>2]|0)+42>>0]&4)){H=k[f>>2]|0;k[J>>2]=k[k[w>>2]>>2];Mh(H,37698,J);break}else{J=(k[w>>2]|0)+42|0;i[J>>0]=l[J>>0]|96;oH(k[f>>2]|0,k[w>>2]|0);break}}while(0);J=Ph(k[q>>2]|0,k[(k[w>>2]|0)+64>>2]|0)|0;k[t>>2]=J;if(k[(k[w>>2]|0)+24>>2]|0)hH(k[f>>2]|0,k[w>>2]|0,4,0,k[(k[w>>2]|0)+24>>2]|0);pH(k[w>>2]|0);k[z>>2]=k[(k[w>>2]|0)+8>>2];while(1){if(!(k[z>>2]|0))break;kH(k[z>>2]|0);k[z>>2]=k[(k[z>>2]|0)+20>>2]}if(!(i[(k[q>>2]|0)+144+5>>0]|0)){J=dx(k[f>>2]|0)|0;k[G>>2]=J;if(!(k[G>>2]|0)){r=R;return}Nz(k[G>>2]|0,61,0)|0;if(!(k[(k[w>>2]|0)+12>>2]|0)){k[P>>2]=33506;k[Q>>2]=37730}else{k[P>>2]=36608;k[Q>>2]=37736}do if(k[n>>2]|0){H=(k[f>>2]|0)+76|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[F>>2]=J;J=(k[f>>2]|0)+76|0;H=(k[J>>2]|0)+1|0;k[J>>2]=H;k[D>>2]=H;H=(k[f>>2]|0)+76|0;J=(k[H>>2]|0)+1|0;k[H>>2]=J;k[E>>2]=J;Rx(k[f>>2]|0);jx(k[G>>2]|0,55,1,k[(k[f>>2]|0)+396>>2]|0,k[t>>2]|0)|0;Rh(k[G>>2]|0,16);k[(k[f>>2]|0)+72>>2]=2;J=(Rz(k[G>>2]|0)|0)+1|0;k[p>>2]=J;jx(k[G>>2]|0,16,k[F>>2]|0,0,k[p>>2]|0)|0;nB(s,13,k[F>>2]|0);Sv(k[f>>2]|0,k[n>>2]|0,s)|0;NC(k[G>>2]|0,k[F>>2]|0);Vz(k[G>>2]|0,(k[p>>2]|0)-1|0);if(k[(k[f>>2]|0)+68>>2]|0){r=R;return}J=Zx(k[f>>2]|0,k[n>>2]|0)|0;k[C>>2]=J;if(!(k[C>>2]|0)){r=R;return}else{j[(k[w>>2]|0)+34>>1]=j[(k[C>>2]|0)+34>>1]|0;k[(k[w>>2]|0)+4>>2]=k[(k[C>>2]|0)+4>>2];j[(k[C>>2]|0)+34>>1]=0;k[(k[C>>2]|0)+4>>2]=0;$f(k[q>>2]|0,k[C>>2]|0);J=Nz(k[G>>2]|0,18,k[s+4>>2]|0)|0;k[o>>2]=J;jx(k[G>>2]|0,49,k[s+8>>2]|0,k[s+12>>2]|0,k[D>>2]|0)|0;QC(k[G>>2]|0,k[w>>2]|0,0);fx(k[G>>2]|0,74,1,k[E>>2]|0)|0;jx(k[G>>2]|0,75,1,k[D>>2]|0,k[E>>2]|0)|0;Uz(k[G>>2]|0,k[o>>2]|0)|0;Vz(k[G>>2]|0,k[o>>2]|0);Nz(k[G>>2]|0,61,1)|0;break}}while(0);if(k[n>>2]|0){Q=qH(k[q>>2]|0,k[w>>2]|0)|0;k[O>>2]=Q}else{k[y>>2]=(l[m>>0]|0)!=0?(k[f>>2]|0)+508|0:k[h>>2]|0;k[u>>2]=(k[k[y>>2]>>2]|0)-(k[(k[f>>2]|0)+500>>2]|0);if((i[k[k[y>>2]>>2]>>0]|0)!=59)k[u>>2]=(k[u>>2]|0)+(k[(k[y>>2]|0)+4>>2]|0);J=k[q>>2]|0;d=k[u>>2]|0;H=k[(k[f>>2]|0)+500>>2]|0;k[L>>2]=k[Q>>2];k[L+4>>2]=d;k[L+8>>2]=H;Q=Nh(J,37741,L)|0;k[O>>2]=Q}Q=k[f>>2]|0;E=(k[t>>2]|0)==1?20513:20532;F=k[P>>2]|0;d=k[k[w>>2]>>2]|0;H=k[k[w>>2]>>2]|0;J=k[(k[f>>2]|0)+396>>2]|0;L=k[O>>2]|0;P=k[(k[f>>2]|0)+392>>2]|0;k[M>>2]=k[(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4)>>2];k[M+4>>2]=E;k[M+8>>2]=F;k[M+12>>2]=d;k[M+16>>2]=H;k[M+20>>2]=J;k[M+24>>2]=L;k[M+28>>2]=P;cx(Q,37756,M);bg(k[q>>2]|0,k[O>>2]|0);ex(k[f>>2]|0,k[t>>2]|0);if((l[(k[w>>2]|0)+42>>0]&8|0)!=0?(k[x>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(k[t>>2]<<4),(k[(k[(k[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=k[f>>2]|0;k[I>>2]=k[k[x>>2]>>2];cx(Q,37843,I)}O=k[G>>2]|0;P=k[t>>2]|0;Q=k[q>>2]|0;k[K>>2]=k[k[w>>2]>>2];gx(O,P,Nh(Q,37885,K)|0)}if(!(i[(k[q>>2]|0)+144+5>>0]|0)){r=R;return}k[B>>2]=k[(k[w>>2]|0)+64>>2];Q=ak((k[B>>2]|0)+8|0,k[k[w>>2]>>2]|0,k[w>>2]|0)|0;k[A>>2]=Q;if(k[A>>2]|0){vh(k[q>>2]|0);r=R;return}k[(k[f>>2]|0)+488>>2]=0;Q=(k[q>>2]|0)+24|0;k[Q>>2]=k[Q>>2]|2;if(k[(k[w>>2]|0)+12>>2]|0){r=R;return}k[N>>2]=k[(k[f>>2]|0)+500>>2];if(!(k[k[g>>2]>>2]|0))k[g>>2]=k[h>>2];k[v>>2]=(k[k[g>>2]>>2]|0)-(k[N>>2]|0);Q=13+(Sx(k[N>>2]|0,k[v>>2]|0)|0)|0;k[(k[w>>2]|0)+44>>2]=Q;r=R;return}function Fv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0;v=r;r=r+64|0;q=v+8|0;p=v;d=v+48|0;e=v+44|0;f=v+40|0;n=v+36|0;m=v+32|0;s=v+28|0;t=v+24|0;o=v+20|0;h=v+16|0;g=v+12|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=k[k[d>>2]>>2];c=k[(k[d>>2]|0)+488>>2]|0;k[n>>2]=c;if(!c){r=v;return}if(((j[(k[n>>2]|0)+34>>1]|0)+1|0)>(k[(k[h>>2]|0)+92+8>>2]|0)){u=k[d>>2]|0;k[p>>2]=k[k[n>>2]>>2];Mh(u,37599,p);r=v;return}p=Kh(k[h>>2]|0,(k[(k[e>>2]|0)+4>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)+2|0,0)|0;k[s>>2]=p;if(!(k[s>>2]|0)){r=v;return}BR(k[s>>2]|0,k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0)|0;i[(k[s>>2]|0)+(k[(k[e>>2]|0)+4>>2]|0)>>0]=0;Zw(k[s>>2]|0)|0;k[m>>2]=0;while(1){if((k[m>>2]|0)>=(j[(k[n>>2]|0)+34>>1]|0))break;if(!(be(k[s>>2]|0,k[(k[(k[n>>2]|0)+4>>2]|0)+(k[m>>2]<<4)>>2]|0)|0)){u=8;break}k[m>>2]=(k[m>>2]|0)+1}if((u|0)==8){u=k[d>>2]|0;k[q>>2]=k[s>>2];Mh(u,37622,q);bg(k[h>>2]|0,k[s>>2]|0);r=v;return}do if(!(j[(k[n>>2]|0)+34>>1]&7)){u=Uw(k[h>>2]|0,k[(k[n>>2]|0)+4>>2]|0,(j[(k[n>>2]|0)+34>>1]|0)+8<<4,0)|0;k[g>>2]=u;if(k[g>>2]|0){k[(k[n>>2]|0)+4>>2]=k[g>>2];break}bg(k[h>>2]|0,k[s>>2]|0);r=v;return}while(0);k[o>>2]=(k[(k[n>>2]|0)+4>>2]|0)+(j[(k[n>>2]|0)+34>>1]<<4);u=k[o>>2]|0;k[u>>2]=0;k[u+4>>2]=0;k[u+8>>2]=0;k[u+12>>2]=0;k[k[o>>2]>>2]=k[s>>2];if(!(k[(k[f>>2]|0)+4>>2]|0)){i[(k[o>>2]|0)+13>>0]=65;i[(k[o>>2]|0)+14>>0]=1}else{u=k[s>>2]|0;u=u+(Tf(k[s>>2]|0)|0)+1|0;k[t>>2]=u;BR(k[t>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[t>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;u=zx(k[t>>2]|0,(k[o>>2]|0)+14|0)|0;i[(k[o>>2]|0)+13>>0]=u;u=(k[o>>2]|0)+15|0;i[u>>0]=l[u>>0]|4}u=(k[n>>2]|0)+34|0;j[u>>1]=(j[u>>1]|0)+1<<16>>16;k[(k[d>>2]|0)+328+4>>2]=0;r=v;return}function Gv(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;m=r;r=r+80|0;e=m;c=m+72|0;f=m+68|0;d=m+64|0;h=m+60|0;g=m+56|0;l=m+8|0;k[c>>2]=a;k[f>>2]=b;k[g>>2]=k[k[c>>2]>>2];k[d>>2]=k[(k[c>>2]|0)+488>>2];if(!(k[d>>2]|0)){h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;nv(h,l);r=m;return}k[h>>2]=(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4);if(nH(k[k[f>>2]>>2]|0,i[(k[g>>2]|0)+144+5>>0]|0)|0){nv(k[g>>2]|0,k[(k[h>>2]|0)+4>>2]|0);c=l;d=c+48|0;do{k[c>>2]=0;c=c+4|0}while((c|0)<(d|0));i[l>>0]=-97;e=(k[(k[f>>2]|0)+8>>2]|0)-(k[(k[f>>2]|0)+4>>2]|0)|0;e=Yw(k[g>>2]|0,k[(k[f>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;k[l+8>>2]=e;k[l+12>>2]=k[k[f>>2]>>2];k[l+4>>2]=4096;e=Dy(k[g>>2]|0,l,1)|0;k[(k[h>>2]|0)+4>>2]=e;bg(k[g>>2]|0,k[l+8>>2]|0);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;nv(h,l);r=m;return}else{l=k[c>>2]|0;k[e>>2]=k[k[h>>2]>>2];Mh(l,37554,e);h=k[g>>2]|0;l=k[f>>2]|0;l=k[l>>2]|0;nv(h,l);r=m;return}}function Hv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)==72?(k[(k[f>>2]|0)+68>>2]|0)==0:0){e=qz(k[k[f>>2]>>2]|0,k[h>>2]|0,k[i>>2]|0)|0;k[l>>2]=e}else{e=sz(k[k[f>>2]>>2]|0,k[g>>2]&255,k[j>>2]|0,1)|0;k[l>>2]=e;tz(k[k[f>>2]>>2]|0,k[l>>2]|0,k[h>>2]|0,k[i>>2]|0)}if(!(k[l>>2]|0)){e=k[l>>2]|0;r=m;return e|0}Uy(k[f>>2]|0,k[(k[l>>2]|0)+24>>2]|0)|0;e=k[l>>2]|0;r=m;return e|0}function Iv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=r;r=r+16|0;f=e+8|0;h=e+4|0;g=e;k[f>>2]=a;k[h>>2]=b;k[g>>2]=c;b=Hv(k[h>>2]|0,k[g>>2]|0,0,0,d)|0;k[k[f>>2]>>2]=b;k[(k[f>>2]|0)+4>>2]=k[d>>2];k[(k[f>>2]|0)+8>>2]=(k[d>>2]|0)+(k[d+4>>2]|0);r=e;return}function Jv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;e=r;r=r+16|0;f=e+8|0;c=e+4|0;d=e;k[f>>2]=a;k[c>>2]=b;k[d>>2]=k[(k[f>>2]|0)+488>>2];if(!(k[d>>2]|0)){r=e;return}if((j[(k[d>>2]|0)+34>>1]|0)<1){r=e;return}i[(k[(k[d>>2]|0)+4>>2]|0)+((j[(k[d>>2]|0)+34>>1]|0)-1<<4)+12>>0]=k[c>>2];r=e;return}function Kv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=r;r=r+64|0;y=z+8|0;f=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;p=z+40|0;o=z+36|0;h=z+32|0;g=z+28|0;m=z+24|0;n=z+20|0;q=z+16|0;x=z+12|0;k[s>>2]=a;k[t>>2]=b;k[u>>2]=c;k[v>>2]=d;k[w>>2]=e;k[p>>2]=k[(k[s>>2]|0)+488>>2];k[o>>2]=0;k[h>>2]=-1;if(!(k[p>>2]|0)){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}if(l[(k[s>>2]|0)+454>>0]|0){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}if(l[(k[p>>2]|0)+42>>0]&4){x=k[s>>2]|0;k[f>>2]=k[k[p>>2]>>2];Mh(x,37457,f);x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}f=(k[p>>2]|0)+42|0;i[f>>0]=l[f>>0]|4;a:do if(!(k[t>>2]|0)){k[h>>2]=(j[(k[p>>2]|0)+34>>1]|0)-1;k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4);q=(k[o>>2]|0)+15|0;i[q>>0]=l[q>>0]|1;k[m>>2]=1}else{k[m>>2]=k[k[t>>2]>>2];k[g>>2]=0;while(1){if((k[g>>2]|0)>=(k[m>>2]|0))break a;f=hy(k[(k[(k[t>>2]|0)+4>>2]|0)+((k[g>>2]|0)*20|0)>>2]|0)|0;k[n>>2]=f;iH(k[n>>2]|0);b:do if((l[k[n>>2]>>0]|0)==27){k[q>>2]=k[(k[n>>2]|0)+8>>2];k[h>>2]=0;while(1){if((k[h>>2]|0)>=(j[(k[p>>2]|0)+34>>1]|0))break b;f=(sg(k[q>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+(k[h>>2]<<4)>>2]|0)|0)==0;d=k[h>>2]|0;if(f)break;k[h>>2]=d+1}k[o>>2]=(k[(k[p>>2]|0)+4>>2]|0)+(d<<4);f=(k[o>>2]|0)+15|0;i[f>>0]=l[f>>0]|1}while(0);k[g>>2]=(k[g>>2]|0)+1}}while(0);if((k[m>>2]|0)==1&(k[o>>2]|0)!=0?(q=(sg(Di(k[o>>2]|0,19010)|0,19367)|0)==0,q&(k[w>>2]|0)!=1):0){j[(k[p>>2]|0)+32>>1]=k[h>>2];i[(k[p>>2]|0)+43>>0]=k[u>>2];y=(k[p>>2]|0)+42|0;i[y>>0]=l[y>>0]|k[v>>2]<<3;if(!(k[t>>2]|0)){x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}i[(k[s>>2]|0)+452>>0]=i[(k[(k[t>>2]|0)+4>>2]|0)+12>>0]|0;x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}d=k[s>>2]|0;if(k[v>>2]|0){Mh(d,37498,y);x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}y=Lv(d,0,0,0,k[t>>2]|0,k[u>>2]|0,0,0,k[w>>2]|0,0)|0;k[x>>2]=y;if(k[x>>2]|0){y=(k[x>>2]|0)+55|0;i[y>>0]=i[y>>0]&-4|2}k[t>>2]=0;x=k[s>>2]|0;x=k[x>>2]|0;y=k[t>>2]|0;jv(x,y);r=z;return}function Lv(a,b,c,d,e,f,g,h,n,o){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;o=o|0;var p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=r;r=r+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;p=ya+332|0;q=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;k[F>>2]=a;k[p>>2]=b;k[q>>2]=c;k[ra>>2]=d;k[sa>>2]=e;k[la>>2]=f;k[G>>2]=g;k[ta>>2]=h;k[s>>2]=n;k[H>>2]=o;k[wa>>2]=0;k[oa>>2]=0;k[va>>2]=0;k[xa>>2]=0;k[ua>>2]=k[k[F>>2]>>2];k[W>>2]=0;k[O>>2]=0;k[ja>>2]=0;k[X>>2]=0;a:do if((((l[(k[ua>>2]|0)+69>>0]|0)==0?(l[(k[F>>2]|0)+454>>0]|0)==0:0)?(k[(k[F>>2]|0)+68>>2]|0)<=0:0)?0==(Fz(k[F>>2]|0)|0):0){o=k[F>>2]|0;if(k[ra>>2]|0){p=Jz(o,k[p>>2]|0,k[q>>2]|0,W)|0;k[ma>>2]=p;if((k[ma>>2]|0)<0)break;if(((i[(k[ua>>2]|0)+144+5>>0]|0)==0?(p=TB(k[F>>2]|0,k[ra>>2]|0)|0,k[oa>>2]=p,(k[oa>>2]|0)!=0?(k[(k[q>>2]|0)+4>>2]|0)==0:0):0)?(k[(k[oa>>2]|0)+64>>2]|0)==(k[(k[(k[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)k[ma>>2]=1;UB(x,k[F>>2]|0,k[ma>>2]|0,33671,k[W>>2]|0);VB(x,k[ra>>2]|0)|0;x=ox(k[F>>2]|0,0,(k[ra>>2]|0)+8|0)|0;k[oa>>2]=x;if(!(k[oa>>2]|0))break;if((k[ma>>2]|0)==1?(k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)+12>>2]|0)!=(k[(k[oa>>2]|0)+64>>2]|0):0){qa=k[F>>2]|0;k[y>>2]=k[k[oa>>2]>>2];Mh(qa,37023,y);break}if(l[(k[oa>>2]|0)+42>>0]&32){y=Rj(k[oa>>2]|0)|0;k[X>>2]=y}}else{k[oa>>2]=k[o+488>>2];if(!(k[oa>>2]|0))break;y=Ph(k[ua>>2]|0,k[(k[oa>>2]|0)+64>>2]|0)|0;k[ma>>2]=y}k[T>>2]=(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4);if(((Jd(k[k[oa>>2]>>2]|0,28440,7)|0)==0?(l[(k[ua>>2]|0)+144+5>>0]|0)==0:0)?(Jd((k[k[oa>>2]>>2]|0)+7|0,37073,9)|0)!=0:0){qa=k[F>>2]|0;k[C>>2]=k[k[oa>>2]>>2];Mh(qa,37083,C);break}if(k[(k[oa>>2]|0)+12>>2]|0){Mh(k[F>>2]|0,37111,D);break}if(l[(k[oa>>2]|0)+42>>0]&16){Mh(k[F>>2]|0,37136,z);break}if(k[W>>2]|0){D=Tw(k[ua>>2]|0,k[W>>2]|0)|0;k[xa>>2]=D;if(!(k[xa>>2]|0))break;if(Ox(k[F>>2]|0,k[xa>>2]|0)|0)break;if((i[(k[ua>>2]|0)+144+5>>0]|0)==0?(Bi(k[ua>>2]|0,k[xa>>2]|0,0)|0)!=0:0){qa=k[F>>2]|0;k[A>>2]=k[xa>>2];Mh(qa,37170,A);break}if(Sj(k[ua>>2]|0,k[xa>>2]|0,k[k[T>>2]>>2]|0)|0){o=k[F>>2]|0;if(k[H>>2]|0){rx(o,k[ma>>2]|0);break}else{k[$>>2]=k[xa>>2];Mh(o,37204,$);break}}}else{k[v>>2]=k[(k[oa>>2]|0)+8>>2];k[t>>2]=1;while(1){if(!(k[v>>2]|0))break;k[v>>2]=k[(k[v>>2]|0)+20>>2];k[t>>2]=(k[t>>2]|0)+1}$=k[ua>>2]|0;H=k[t>>2]|0;k[B>>2]=k[k[oa>>2]>>2];k[B+4>>2]=H;$=Nh($,37228,B)|0;k[xa>>2]=$;if(!(k[xa>>2]|0))break}k[E>>2]=k[k[T>>2]>>2];if((ax(k[F>>2]|0,18,(k[ma>>2]|0)==1?20513:20532,0,k[E>>2]|0)|0)==0?(k[I>>2]=1,k[I>>2]=(k[ma>>2]|0)==1?3:1,(ax(k[F>>2]|0,k[I>>2]|0,k[xa>>2]|0,k[k[oa>>2]>>2]|0,k[E>>2]|0)|0)==0):0){if(!(k[sa>>2]|0)){Sy(w,k[(k[(k[oa>>2]|0)+4>>2]|0)+((j[(k[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);$=k[F>>2]|0;$=Wv($,0,sz(k[ua>>2]|0,27,w,0)|0)|0;k[sa>>2]=$;if(!(k[sa>>2]|0))break;dw(k[sa>>2]|0,k[s>>2]|0)}else gw(k[F>>2]|0,k[sa>>2]|0,33671);k[I>>2]=0;while(1){if((k[I>>2]|0)>=(k[k[sa>>2]>>2]|0))break;k[u>>2]=k[(k[(k[sa>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)>>2];if((l[k[u>>2]>>0]|0)==95){$=1+(Tf(k[(k[u>>2]|0)+8>>2]|0)|0)|0;k[O>>2]=(k[O>>2]|0)+$}k[I>>2]=(k[I>>2]|0)+1}$=Tf(k[xa>>2]|0)|0;k[Q>>2]=$;if(k[X>>2]|0)o=m[(k[X>>2]|0)+50>>1]|0;else o=1;k[P>>2]=o;$=XD(k[ua>>2]|0,(k[k[sa>>2]>>2]|0)+(k[P>>2]|0)&65535,(k[Q>>2]|0)+(k[O>>2]|0)+1|0,ja)|0;k[va>>2]=$;if(!(i[(k[ua>>2]|0)+69>>0]|0)){k[k[va>>2]>>2]=k[ja>>2];k[ja>>2]=(k[ja>>2]|0)+((k[Q>>2]|0)+1);BR(k[k[va>>2]>>2]|0,k[xa>>2]|0,(k[Q>>2]|0)+1|0)|0;k[(k[va>>2]|0)+12>>2]=k[oa>>2];i[(k[va>>2]|0)+54>>0]=k[la>>2];$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9|((k[la>>2]|0)!=0&1)<<3&255;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-4|((k[W>>2]|0)!=0?0:1)&3;k[(k[va>>2]|0)+24>>2]=k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)+12>>2];j[(k[va>>2]|0)+50>>1]=k[k[sa>>2]>>2];if(k[ta>>2]|0){hH(k[F>>2]|0,k[oa>>2]|0,16,k[ta>>2]|0,0);k[(k[va>>2]|0)+36>>2]=k[ta>>2];k[ta>>2]=0}if((l[(k[(k[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)k[Z>>2]=-1;else k[Z>>2]=0;k[I>>2]=0;k[V>>2]=k[(k[sa>>2]|0)+4>>2];while(1){if((k[I>>2]|0)>=(k[k[sa>>2]>>2]|0))break;iH(k[k[V>>2]>>2]|0);hH(k[F>>2]|0,k[oa>>2]|0,32,k[k[V>>2]>>2]|0,0);if(k[(k[F>>2]|0)+68>>2]|0)break a;$=hy(k[k[V>>2]>>2]|0)|0;k[R>>2]=$;if((l[k[R>>2]>>0]|0)!=152){if((k[oa>>2]|0)==(k[(k[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(k[(k[va>>2]|0)+40>>2]|0)){$=Ly(k[ua>>2]|0,k[sa>>2]|0,0)|0;k[S>>2]=$;k[(k[va>>2]|0)+40>>2]=k[S>>2];if(i[(k[ua>>2]|0)+69>>0]|0)break;k[V>>2]=(k[(k[S>>2]|0)+4>>2]|0)+((k[I>>2]|0)*20|0)}while(0);k[K>>2]=-2;j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=-2;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9}else{k[K>>2]=j[(k[R>>2]|0)+32>>1];do if((k[K>>2]|0)<0)k[K>>2]=j[(k[oa>>2]|0)+32>>1];else{if(l[(k[(k[oa>>2]|0)+4>>2]|0)+(k[K>>2]<<4)+12>>0]|0)break;$=(k[va>>2]|0)+55|0;i[$>>0]=i[$>>0]&-9}while(0);j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=k[K>>2]}k[ia>>2]=0;do if((l[k[k[V>>2]>>2]>>0]|0)==95){k[ia>>2]=k[(k[k[V>>2]>>2]|0)+8>>2];$=(Tf(k[ia>>2]|0)|0)+1|0;k[N>>2]=$;BR(k[ja>>2]|0,k[ia>>2]|0,k[N>>2]|0)|0;k[ia>>2]=k[ja>>2];k[ja>>2]=(k[ja>>2]|0)+(k[N>>2]|0);k[O>>2]=(k[O>>2]|0)-(k[N>>2]|0)}else{if((k[K>>2]|0)<0)break;k[ia>>2]=k[(k[(k[oa>>2]|0)+4>>2]|0)+(k[K>>2]<<4)+8>>2]}while(0);if(!(k[ia>>2]|0))k[ia>>2]=35343;if((i[(k[ua>>2]|0)+144+5>>0]|0)==0?(Tz(k[F>>2]|0,k[ia>>2]|0)|0)==0:0)break a;k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=k[ia>>2];k[Y>>2]=l[(k[V>>2]|0)+12>>0]&k[Z>>2];i[(k[(k[va>>2]|0)+28>>2]|0)+(k[I>>2]|0)>>0]=k[Y>>2];k[I>>2]=(k[I>>2]|0)+1;k[V>>2]=(k[V>>2]|0)+20}if((qa|0)==65){Mh(k[F>>2]|0,37251,aa);break}b:do if(k[X>>2]|0){k[K>>2]=0;while(1){if((k[K>>2]|0)>=(m[(k[X>>2]|0)+50>>1]|0))break b;k[fa>>2]=j[(k[(k[X>>2]|0)+4>>2]|0)+(k[K>>2]<<1)>>1];if(jH(k[(k[va>>2]|0)+4>>2]|0,m[(k[va>>2]|0)+50>>1]|0,k[fa>>2]|0)|0){ja=(k[va>>2]|0)+52|0;j[ja>>1]=(j[ja>>1]|0)+-1<<16>>16}else{j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=k[fa>>2];k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=k[(k[(k[X>>2]|0)+32>>2]|0)+(k[K>>2]<<2)>>2];i[(k[(k[va>>2]|0)+28>>2]|0)+(k[I>>2]|0)>>0]=i[(k[(k[X>>2]|0)+28>>2]|0)+(k[K>>2]|0)>>0]|0;k[I>>2]=(k[I>>2]|0)+1}k[K>>2]=(k[K>>2]|0)+1}}else{j[(k[(k[va>>2]|0)+4>>2]|0)+(k[I>>2]<<1)>>1]=-1;k[(k[(k[va>>2]|0)+32>>2]|0)+(k[I>>2]<<2)>>2]=35343}while(0);Pj(k[va>>2]|0);if(!(k[(k[F>>2]|0)+488>>2]|0))kH(k[va>>2]|0);c:do if(k[ra>>2]|0){if((m[(k[va>>2]|0)+52>>1]|0)<(j[(k[oa>>2]|0)+34>>1]|0))break;ja=(k[va>>2]|0)+55|0;i[ja>>0]=i[ja>>0]&-33|32;k[K>>2]=0;while(1){if((k[K>>2]|0)>=(j[(k[oa>>2]|0)+34>>1]|0))break c;if((k[K>>2]|0)!=(j[(k[oa>>2]|0)+32>>1]|0)?((KA(k[va>>2]|0,k[K>>2]&65535)|0)<<16>>16|0)<0:0)break;k[K>>2]=(k[K>>2]|0)+1}ja=(k[va>>2]|0)+55|0;i[ja>>0]=i[ja>>0]&-33}while(0);d:do if((k[oa>>2]|0)==(k[(k[F>>2]|0)+488>>2]|0)){k[U>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(!(k[U>>2]|0))break d;if((m[(k[U>>2]|0)+50>>1]|0)==(m[(k[va>>2]|0)+50>>1]|0)){k[L>>2]=0;while(1){if((k[L>>2]|0)>=(m[(k[U>>2]|0)+50>>1]|0))break;if((j[(k[(k[U>>2]|0)+4>>2]|0)+(k[L>>2]<<1)>>1]|0)!=(j[(k[(k[va>>2]|0)+4>>2]|0)+(k[L>>2]<<1)>>1]|0))break;k[ga>>2]=k[(k[(k[U>>2]|0)+32>>2]|0)+(k[L>>2]<<2)>>2];k[ha>>2]=k[(k[(k[va>>2]|0)+32>>2]|0)+(k[L>>2]<<2)>>2];if(sg(k[ga>>2]|0,k[ha>>2]|0)|0)break;k[L>>2]=(k[L>>2]|0)+1}if((k[L>>2]|0)==(m[(k[U>>2]|0)+50>>1]|0))break}k[U>>2]=k[(k[U>>2]|0)+20>>2]}do if((l[(k[U>>2]|0)+54>>0]|0)!=(l[(k[va>>2]|0)+54>>0]|0)){do if((l[(k[U>>2]|0)+54>>0]|0)!=10){if((l[(k[va>>2]|0)+54>>0]|0)==10)break;qa=k[F>>2]|0;k[ba>>2]=0;Mh(qa,37312,ba)}while(0);if((l[(k[U>>2]|0)+54>>0]|0)!=10)break;i[(k[U>>2]|0)+54>>0]=i[(k[va>>2]|0)+54>>0]|0}while(0);k[wa>>2]=k[U>>2];break a}while(0);do if(i[(k[ua>>2]|0)+144+5>>0]|0){o=ak((k[(k[va>>2]|0)+24>>2]|0)+24|0,k[k[va>>2]>>2]|0,k[va>>2]|0)|0;k[na>>2]=o;o=k[ua>>2]|0;if(k[na>>2]|0){vh(o);break a}na=o+24|0;k[na>>2]=k[na>>2]|2;if(!(k[ra>>2]|0))break;k[(k[va>>2]|0)+44>>2]=k[(k[ua>>2]|0)+144>>2]}else{if(!((k[ra>>2]|0)!=0?1:(l[(k[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(k[F>>2]|0)+76|0;na=(k[ja>>2]|0)+1|0;k[ja>>2]=na;k[J>>2]=na;na=dx(k[F>>2]|0)|0;k[_>>2]=na;if(!(k[_>>2]|0))break a;qx(k[F>>2]|0,1,k[ma>>2]|0);na=mx(k[_>>2]|0,160)|0;k[(k[va>>2]|0)+44>>2]=na;fx(k[_>>2]|0,121,k[ma>>2]|0,k[J>>2]|0)|0;if(k[G>>2]|0){k[M>>2]=(k[(k[F>>2]|0)+508>>2]|0)-(k[k[W>>2]>>2]|0)+(k[(k[F>>2]|0)+508+4>>2]|0);if((i[(k[k[W>>2]>>2]|0)+((k[M>>2]|0)-1)>>0]|0)==59)k[M>>2]=(k[M>>2]|0)+-1;na=k[ua>>2]|0;ia=k[M>>2]|0;ja=k[k[W>>2]>>2]|0;k[ca>>2]=(k[la>>2]|0)==0?19010:37354;k[ca+4>>2]=ia;k[ca+8>>2]=ja;na=Nh(na,37362,ca)|0;k[ka>>2]=na}else k[ka>>2]=0;na=k[F>>2]|0;fa=(k[ma>>2]|0)==1?20513:20532;ga=k[k[va>>2]>>2]|0;ha=k[k[oa>>2]>>2]|0;ia=k[J>>2]|0;ja=k[ka>>2]|0;k[da>>2]=k[(k[(k[ua>>2]|0)+16>>2]|0)+(k[ma>>2]<<4)>>2];k[da+4>>2]=fa;k[da+8>>2]=ga;k[da+12>>2]=ha;k[da+16>>2]=ia;k[da+20>>2]=ja;cx(na,37382,da);bg(k[ua>>2]|0,k[ka>>2]|0);if(k[ra>>2]|0){iA(k[F>>2]|0,k[va>>2]|0,k[J>>2]|0);ex(k[F>>2]|0,k[ma>>2]|0);ka=k[_>>2]|0;ma=k[ma>>2]|0;na=k[ua>>2]|0;k[ea>>2]=k[k[va>>2]>>2];gx(ka,ma,Nh(na,37430,ea)|0);Nz(k[_>>2]|0,147,0)|0}Vz(k[_>>2]|0,k[(k[va>>2]|0)+44>>2]|0)}while(0);if(!((k[ra>>2]|0)==0?1:(l[(k[ua>>2]|0)+144+5>>0]|0)!=0))break;do if((k[la>>2]|0)!=5)qa=139;else{if(!(k[(k[oa>>2]|0)+8>>2]|0)){qa=139;break}if((l[(k[(k[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=139;break}k[pa>>2]=k[(k[oa>>2]|0)+8>>2];while(1){if(k[(k[pa>>2]|0)+20>>2]|0)f=(l[(k[(k[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else f=0;o=k[(k[pa>>2]|0)+20>>2]|0;if(!f)break;k[pa>>2]=o}k[(k[va>>2]|0)+20>>2]=o;k[(k[pa>>2]|0)+20>>2]=k[va>>2]}while(0);if((qa|0)==139){k[(k[va>>2]|0)+20>>2]=k[(k[oa>>2]|0)+8>>2];k[(k[oa>>2]|0)+8>>2]=k[va>>2]}k[wa>>2]=k[va>>2];k[va>>2]=0}}}while(0);if(!(k[va>>2]|0)){qa=k[ua>>2]|0;va=k[ta>>2]|0;nv(qa,va);va=k[ua>>2]|0;ta=k[sa>>2]|0;jv(va,ta);ta=k[ua>>2]|0;va=k[ra>>2]|0;mv(ta,va);va=k[ua>>2]|0;xa=k[xa>>2]|0;bg(va,xa);xa=k[wa>>2]|0;r=ya;return xa|0}lH(k[ua>>2]|0,k[va>>2]|0);qa=k[ua>>2]|0;va=k[ta>>2]|0;nv(qa,va);va=k[ua>>2]|0;ta=k[sa>>2]|0;jv(va,ta);ta=k[ua>>2]|0;va=k[ra>>2]|0;mv(ta,va);va=k[ua>>2]|0;xa=k[xa>>2]|0;bg(va,xa);xa=k[wa>>2]|0;r=ya;return xa|0}function Mv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;d=g+8|0;f=g+4|0;e=g;k[c>>2]=a;k[d>>2]=b;k[f>>2]=k[(k[c>>2]|0)+488>>2];k[e>>2]=k[k[c>>2]>>2];if(((k[f>>2]|0)!=0?(i[(k[c>>2]|0)+454>>0]|0)==0:0)?(Ri(k[(k[(k[e>>2]|0)+16>>2]|0)+(l[(k[e>>2]|0)+144+4>>0]<<4)+4>>2]|0)|0)==0:0){a=Wv(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,k[d>>2]|0)|0;k[(k[f>>2]|0)+24>>2]=a;if(!(k[(k[c>>2]|0)+328+4>>2]|0)){r=g;return}Xv(k[c>>2]|0,k[(k[f>>2]|0)+24>>2]|0,(k[c>>2]|0)+328|0,1);r=g;return}nv(k[k[c>>2]>>2]|0,k[d>>2]|0);r=g;return}function Nv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=r;r=r+96|0;B=E+16|0;n=E+8|0;m=E;o=E+80|0;p=E+76|0;f=E+72|0;q=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;h=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;g=E+28|0;v=E+24|0;w=E+20|0;k[o>>2]=a;k[p>>2]=b;k[f>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=k[k[o>>2]>>2];k[z>>2]=0;k[y>>2]=k[(k[o>>2]|0)+488>>2];a:do if((k[y>>2]|0)!=0?(l[(k[o>>2]|0)+454>>0]|0)==0:0){if(!(k[p>>2]|0)){k[g>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;if((k[g>>2]|0)<0)break;if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=1:0){D=k[o>>2]|0;C=k[f>>2]|0;k[m>>2]=k[(k[(k[y>>2]|0)+4>>2]|0)+(k[g>>2]<<4)>>2];k[m+4>>2]=C;Mh(D,36820,m);break}k[x>>2]=1}else{if((k[q>>2]|0)!=0?(k[k[q>>2]>>2]|0)!=(k[k[p>>2]>>2]|0):0){Mh(k[o>>2]|0,36883,n);break}k[x>>2]=k[k[p>>2]>>2]}k[h>>2]=44+((k[x>>2]|0)-1<<3)+(k[(k[f>>2]|0)+4>>2]|0)+1;b:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[k[q>>2]>>2]|0))break b;n=(Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;k[h>>2]=(k[h>>2]|0)+n;k[u>>2]=(k[u>>2]|0)+1}}while(0);n=k[h>>2]|0;n=Bh(k[t>>2]|0,n,((n|0)<0)<<31>>31)|0;k[z>>2]=n;if(k[z>>2]|0){k[k[z>>2]>>2]=k[y>>2];k[(k[z>>2]|0)+4>>2]=k[(k[y>>2]|0)+16>>2];k[C>>2]=(k[z>>2]|0)+36+(k[x>>2]<<3);k[(k[z>>2]|0)+8>>2]=k[C>>2];BR(k[C>>2]|0,k[k[f>>2]>>2]|0,k[(k[f>>2]|0)+4>>2]|0)|0;i[(k[C>>2]|0)+(k[(k[f>>2]|0)+4>>2]|0)>>0]=0;Zw(k[C>>2]|0)|0;k[C>>2]=(k[C>>2]|0)+((k[(k[f>>2]|0)+4>>2]|0)+1);k[(k[z>>2]|0)+20>>2]=k[x>>2];c:do if(!(k[p>>2]|0))k[(k[z>>2]|0)+36>>2]=(j[(k[y>>2]|0)+34>>1]|0)-1;else{k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break c;k[v>>2]=0;while(1){if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;n=(sg(k[(k[(k[y>>2]|0)+4>>2]|0)+(k[v>>2]<<4)>>2]|0,k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0)==0;f=k[v>>2]|0;if(n){D=25;break}k[v>>2]=f+1}if((D|0)==25){D=0;k[(k[z>>2]|0)+36+(k[u>>2]<<3)>>2]=f}if((k[v>>2]|0)>=(j[(k[y>>2]|0)+34>>1]|0))break;k[u>>2]=(k[u>>2]|0)+1}D=k[o>>2]|0;k[B>>2]=k[(k[(k[p>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2];Mh(D,36977,B);break a}while(0);d:do if(k[q>>2]|0){k[u>>2]=0;while(1){if((k[u>>2]|0)>=(k[x>>2]|0))break d;D=Tf(k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0)|0;k[w>>2]=D;k[(k[z>>2]|0)+36+(k[u>>2]<<3)+4>>2]=k[C>>2];BR(k[C>>2]|0,k[(k[(k[q>>2]|0)+4>>2]|0)+((k[u>>2]|0)*20|0)+4>>2]|0,k[w>>2]|0)|0;i[(k[C>>2]|0)+(k[w>>2]|0)>>0]=0;k[C>>2]=(k[C>>2]|0)+((k[w>>2]|0)+1);k[u>>2]=(k[u>>2]|0)+1}}while(0);i[(k[z>>2]|0)+24>>0]=0;i[(k[z>>2]|0)+25>>0]=k[s>>2];i[(k[z>>2]|0)+25+1>>0]=k[s>>2]>>8;D=ak((k[(k[y>>2]|0)+64>>2]|0)+56|0,k[(k[z>>2]|0)+8>>2]|0,k[z>>2]|0)|0;k[A>>2]=D;if((k[A>>2]|0)==(k[z>>2]|0)){vh(k[t>>2]|0);break}if(k[A>>2]|0){k[(k[z>>2]|0)+12>>2]=k[A>>2];k[(k[A>>2]|0)+16>>2]=k[z>>2]}k[(k[y>>2]|0)+16>>2]=k[z>>2];k[z>>2]=0}}while(0);bg(k[t>>2]|0,k[z>>2]|0);jv(k[t>>2]|0,k[p>>2]|0);jv(k[t>>2]|0,k[q>>2]|0);r=E;return}function Ov(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;f=r;r=r+16|0;g=f+12|0;c=f+8|0;e=f+4|0;d=f;k[g>>2]=a;k[c>>2]=b;a=k[(k[g>>2]|0)+488>>2]|0;k[e>>2]=a;if(!a){r=f;return}g=k[(k[e>>2]|0)+16>>2]|0;k[d>>2]=g;if(!g){r=f;return}i[(k[d>>2]|0)+24>>0]=k[c>>2];r=f;return}function Pv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,l=0;l=r;r=r+32|0;c=l+24|0;d=l+20|0;g=l+16|0;f=l+12|0;i=l+8|0;e=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;b=k[(k[c>>2]|0)+488>>2]|0;k[g>>2]=b;if(!b){r=l;return}k[f>>2]=(j[(k[g>>2]|0)+34>>1]|0)-1;k[e>>2]=k[k[c>>2]>>2];b=Tw(k[e>>2]|0,k[d>>2]|0)|0;k[i>>2]=b;if(!(k[i>>2]|0)){r=l;return}b=(Tz(k[c>>2]|0,k[i>>2]|0)|0)!=0;c=k[e>>2]|0;if(!b){bg(c,k[i>>2]|0);r=l;return}bg(c,k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]|0);k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2]=k[i>>2];k[h>>2]=k[(k[g>>2]|0)+8>>2];while(1){if(!(k[h>>2]|0))break;if((j[k[(k[h>>2]|0)+4>>2]>>1]|0)==(k[f>>2]|0))k[k[(k[h>>2]|0)+32>>2]>>2]=k[(k[(k[g>>2]|0)+4>>2]|0)+(k[f>>2]<<4)+8>>2];k[h>>2]=k[(k[h>>2]|0)+20>>2]}r=l;return}function Qv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+80|0;t=x+16|0;s=x+8|0;q=x;e=x+64|0;f=x+60|0;g=x+56|0;h=x+52|0;o=x+48|0;p=x+44|0;m=x+40|0;n=x+36|0;j=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[m>>2]=k[k[e>>2]>>2];do if((i[(k[m>>2]|0)+69>>0]|0)==0?(Fz(k[e>>2]|0)|0)==0:0){if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24}a=ox(k[e>>2]|0,k[g>>2]|0,(k[f>>2]|0)+8|0)|0;k[o>>2]=a;if(k[h>>2]|0){a=(k[m>>2]|0)+73|0;i[a>>0]=(i[a>>0]|0)+-1<<24>>24}if(!(k[o>>2]|0)){if(!(k[h>>2]|0))break;PB(k[e>>2]|0,k[(k[f>>2]|0)+8+4>>2]|0);break}a=Ph(k[m>>2]|0,k[(k[o>>2]|0)+64>>2]|0)|0;k[n>>2]=a;if((l[(k[o>>2]|0)+42>>0]&16|0)!=0?(Px(k[e>>2]|0,k[o>>2]|0)|0)!=0:0)break;k[w>>2]=(k[n>>2]|0)==1?20513:20532;k[v>>2]=k[(k[(k[m>>2]|0)+16>>2]|0)+(k[n>>2]<<4)>>2];k[u>>2]=0;if(!(ax(k[e>>2]|0,9,k[w>>2]|0,0,k[v>>2]|0)|0)){do if(k[g>>2]|0)if((k[n>>2]|0)==1){k[j>>2]=15;break}else{k[j>>2]=17;break}else{if(l[(k[o>>2]|0)+42>>0]&16){k[j>>2]=30;w=(Qx(k[m>>2]|0,k[o>>2]|0)|0)+4|0;k[u>>2]=k[(k[w>>2]|0)+4>>2];break}if((k[n>>2]|0)==1){k[j>>2]=13;break}else{k[j>>2]=11;break}}while(0);if((ax(k[e>>2]|0,k[j>>2]|0,k[k[o>>2]>>2]|0,k[u>>2]|0,k[v>>2]|0)|0)==0?(ax(k[e>>2]|0,9,k[k[o>>2]>>2]|0,0,k[v>>2]|0)|0)==0:0){if((Jd(k[k[o>>2]>>2]|0,28440,7)|0)==0?(Jd(k[k[o>>2]>>2]|0,36613,11)|0)!=0:0){w=k[e>>2]|0;k[q>>2]=k[k[o>>2]>>2];Mh(w,36625,q);break}if((k[g>>2]|0)!=0?(k[(k[o>>2]|0)+12>>2]|0)==0:0){w=k[e>>2]|0;k[s>>2]=k[k[o>>2]>>2];Mh(w,36653,s);break}if((k[g>>2]|0)==0?(k[(k[o>>2]|0)+12>>2]|0)!=0:0){w=k[e>>2]|0;k[t>>2]=k[k[o>>2]>>2];Mh(w,36687,t);break}w=dx(k[e>>2]|0)|0;k[p>>2]=w;if(k[p>>2]|0){qx(k[e>>2]|0,1,k[n>>2]|0);FC(k[e>>2]|0,k[n>>2]|0,31446,k[k[o>>2]>>2]|0);cH(k[e>>2]|0,k[f>>2]|0,k[o>>2]|0);dH(k[e>>2]|0,k[o>>2]|0,k[n>>2]|0,k[g>>2]|0)}}}}while(0);mv(k[m>>2]|0,k[f>>2]|0);r=x;return}function Rv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=r;r=r+96|0;w=D+88|0;m=D+84|0;n=D+80|0;o=D+76|0;x=D+72|0;y=D+68|0;p=D+64|0;q=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;k[w>>2]=a;k[m>>2]=b;k[n>>2]=c;k[o>>2]=d;k[x>>2]=e;k[y>>2]=f;k[p>>2]=g;k[q>>2]=h;k[u>>2]=0;k[z>>2]=k[k[w>>2]>>2];g=k[w>>2]|0;if((j[(k[w>>2]|0)+444>>1]|0)<=0){Cv(g,k[n>>2]|0,k[o>>2]|0,k[p>>2]|0,1,0,k[q>>2]|0);k[t>>2]=k[(k[w>>2]|0)+488>>2];if((((k[t>>2]|0)!=0?(k[(k[w>>2]|0)+68>>2]|0)==0:0)?(Jz(k[w>>2]|0,k[n>>2]|0,k[o>>2]|0,u)|0,q=Ph(k[z>>2]|0,k[(k[t>>2]|0)+64>>2]|0)|0,k[s>>2]=q,UB(v,k[w>>2]|0,k[s>>2]|0,36608,k[u>>2]|0),(WB(v,k[y>>2]|0)|0)==0):0)?(v=Xx(k[z>>2]|0,k[y>>2]|0,1)|0,k[(k[t>>2]|0)+12>>2]=v,v=Ly(k[z>>2]|0,k[x>>2]|0,1)|0,k[(k[t>>2]|0)+24>>2]=v,(i[(k[z>>2]|0)+69>>0]|0)==0):0){v=(k[w>>2]|0)+508|0;k[B>>2]=k[v>>2];k[B+4>>2]=k[v+4>>2];if((i[k[B>>2]>>0]|0)!=59)k[B>>2]=(k[B>>2]|0)+(k[B+4>>2]|0);k[B+4>>2]=0;k[A>>2]=(k[B>>2]|0)-(k[k[m>>2]>>2]|0);k[C>>2]=k[k[m>>2]>>2];while(1){g=k[A>>2]|0;if(!(l[19011+(l[(k[C>>2]|0)+((k[A>>2]|0)-1)>>0]|0)>>0]&1))break;k[A>>2]=g+-1}k[B>>2]=(k[C>>2]|0)+(g-1);k[B+4>>2]=1;Ev(k[w>>2]|0,0,B,0,0)}}else Mh(g,36572,D);kv(k[z>>2]|0,k[y>>2]|0);jv(k[z>>2]|0,k[x>>2]|0);r=D;return}function Sv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=r;r=r+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;f=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+256|0;Y=Ca+252|0;da=Ca+248|0;n=Ca+244|0;q=Ca+240|0;g=Ca+236|0;t=Ca+232|0;o=Ca+228|0;e=Ca+208|0;s=Ca+204|0;d=Ca+200|0;v=Ca+196|0;h=Ca+192|0;u=Ca+188|0;p=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;k[O>>2]=a;k[P>>2]=b;k[Q>>2]=c;k[ka>>2]=0;k[ra>>2]=1;k[da>>2]=k[(k[O>>2]|0)+468>>2];c=(k[O>>2]|0)+472|0;a=k[c>>2]|0;k[c>>2]=a+1;k[(k[O>>2]|0)+468>>2]=a;k[Y>>2]=k[k[O>>2]>>2];if(((k[P>>2]|0)!=0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0)?(k[(k[O>>2]|0)+68>>2]|0)==0:0){if(ax(k[O>>2]|0,21,0,0,0)|0){k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}b=wa;c=b+48|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(c|0));if((l[k[Q>>2]>>0]|0)<=8){jv(k[Y>>2]|0,k[(k[P>>2]|0)+44>>2]|0);k[(k[P>>2]|0)+44>>2]=0;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]&-2}_x(k[O>>2]|0,k[P>>2]|0,0);k[ya>>2]=0;k[ya+4>>2]=0;k[ya+8>>2]=0;k[ya+12>>2]=0;k[ya+16>>2]=0;k[ya+20>>2]=0;k[ya+24>>2]=0;k[ya+28>>2]=0;k[ya>>2]=k[(k[P>>2]|0)+44>>2];k[oa>>2]=k[(k[P>>2]|0)+28>>2];a:do if(((k[(k[O>>2]|0)+68>>2]|0)==0?(l[(k[Y>>2]|0)+69>>0]|0)==0:0)?(k[f>>2]=(k[(k[P>>2]|0)+8>>2]&8|0)!=0&1,(kG(k[O>>2]|0,k[Q>>2]|0,k[k[k[P>>2]>>2]>>2]|0)|0)==0):0){k[_>>2]=0;while(1){if(k[(k[P>>2]|0)+48>>2]|0)break;if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[n>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[q>>2]=k[(k[n>>2]|0)+20>>2];k[t>>2]=k[(k[n>>2]|0)+16>>2];if(k[q>>2]|0){if((j[(k[t>>2]|0)+34>>1]|0)!=(k[k[k[q>>2]>>2]>>2]|0)){y=17;break}k[g>>2]=(k[(k[q>>2]|0)+8>>2]&8|0)!=0&1;if(lG(k[O>>2]|0,k[P>>2]|0,k[_>>2]|0,k[f>>2]|0,k[g>>2]|0)|0){if(k[g>>2]|0){k[f>>2]=1;a=(k[P>>2]|0)+8|0;k[a>>2]=k[a>>2]|8}k[_>>2]=-1}k[oa>>2]=k[(k[P>>2]|0)+28>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break a;if((l[k[Q>>2]>>0]|0)>8)k[ya>>2]=k[(k[P>>2]|0)+44>>2]}k[_>>2]=(k[_>>2]|0)+1}if((y|0)==17){Ba=k[O>>2]|0;za=k[k[t>>2]>>2]|0;Aa=k[k[k[q>>2]>>2]>>2]|0;k[w>>2]=j[(k[t>>2]|0)+34>>1];k[w+4>>2]=za;k[w+8>>2]=Aa;Mh(Ba,36087,w);break}w=dx(k[O>>2]|0)|0;k[Ba>>2]=w;if(k[Ba>>2]|0){if(k[(k[P>>2]|0)+48>>2]|0){Ba=mG(k[O>>2]|0,k[P>>2]|0,k[Q>>2]|0)|0;k[ra>>2]=Ba;k[(k[O>>2]|0)+468>>2]=k[da>>2];k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[k[oa>>2]>>2]|0))break;k[o>>2]=(k[oa>>2]|0)+8+((k[_>>2]|0)*72|0);k[s>>2]=k[(k[o>>2]|0)+20>>2];do if(k[s>>2]|0){if(k[(k[o>>2]|0)+24>>2]|0){if((l[(k[o>>2]|0)+36+1>>0]|0)>>>4&1)break;fx(k[Ba>>2]|0,14,k[(k[o>>2]|0)+28>>2]|0,k[(k[o>>2]|0)+24>>2]|0)|0;break}t=nG(k[P>>2]|0)|0;w=(k[O>>2]|0)+464|0;k[w>>2]=(k[w>>2]|0)+t;if(!(l[(k[o>>2]|0)+36>>0]&32))oG(k[Y>>2]|0,k[s>>2]|0,k[(k[P>>2]|0)+32>>2]|0,k[(k[o>>2]|0)+44>>2]|0)|0;do if(!(k[_>>2]|0)){if((k[k[oa>>2]>>2]|0)!=1?(l[(k[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=43;break}if(k[(k[P>>2]|0)+8>>2]&2){y=43;break}if(m[(k[Y>>2]|0)+64>>1]&256){y=43;break}t=(Rz(k[Ba>>2]|0)|0)+1|0;k[d>>2]=t;t=(k[O>>2]|0)+76|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;jx(k[Ba>>2]|0,16,k[(k[o>>2]|0)+28>>2]|0,0,k[d>>2]|0)|0;k[(k[o>>2]|0)+24>>2]=k[d>>2];nB(e,13,k[(k[o>>2]|0)+28>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+472>>2];Sv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;w=(k[o>>2]|0)+36+1|0;i[w>>0]=i[w>>0]&-17|16;k[(k[o>>2]|0)+32>>2]=k[e+8>>2];NC(k[Ba>>2]|0,k[(k[o>>2]|0)+28>>2]|0);Vz(k[Ba>>2]|0,(k[d>>2]|0)-1|0);pG(k[O>>2]|0)}else y=43;while(0);if((y|0)==43){y=0;k[h>>2]=0;t=(k[O>>2]|0)+76|0;w=(k[t>>2]|0)+1|0;k[t>>2]=w;k[(k[o>>2]|0)+28>>2]=w;w=fx(k[Ba>>2]|0,22,0,k[(k[o>>2]|0)+28>>2]|0)|0;k[v>>2]=w;k[(k[o>>2]|0)+24>>2]=(k[v>>2]|0)+1;if(!((l[(k[o>>2]|0)+36+1>>0]|0)>>>3&1)){w=iB(k[O>>2]|0)|0;k[h>>2]=w}nB(e,12,k[(k[o>>2]|0)+44>>2]|0);i[(k[o>>2]|0)+40>>0]=k[(k[O>>2]|0)+472>>2];Sv(k[O>>2]|0,k[s>>2]|0,e)|0;j[(k[(k[o>>2]|0)+16>>2]|0)+38>>1]=j[(k[s>>2]|0)+6>>1]|0;if(k[h>>2]|0)Vz(k[Ba>>2]|0,k[h>>2]|0);w=Nz(k[Ba>>2]|0,15,k[(k[o>>2]|0)+28>>2]|0)|0;k[u>>2]=w;MD(k[Ba>>2]|0,k[v>>2]|0,k[u>>2]|0);pG(k[O>>2]|0)}if(i[(k[Y>>2]|0)+69>>0]|0)break a;t=nG(k[P>>2]|0)|0;w=(k[O>>2]|0)+464|0;k[w>>2]=(k[w>>2]|0)-t}while(0);k[_>>2]=(k[_>>2]|0)+1}k[ka>>2]=k[k[P>>2]>>2];k[L>>2]=k[(k[P>>2]|0)+32>>2];k[la>>2]=k[(k[P>>2]|0)+36>>2];k[ma>>2]=k[(k[P>>2]|0)+40>>2];i[xa>>0]=(k[(k[P>>2]|0)+8>>2]&1|0)!=0;if((k[(k[P>>2]|0)+8>>2]&9|0)==1?(Gy(k[ya>>2]|0,k[ka>>2]|0,-1)|0)==0:0){y=(k[P>>2]|0)+8|0;k[y>>2]=k[y>>2]&-2;y=Ly(k[Y>>2]|0,k[ka>>2]|0,0)|0;k[(k[P>>2]|0)+36>>2]=y;k[la>>2]=y}if(k[ya>>2]|0){w=qG(k[O>>2]|0,k[ya>>2]|0,0,k[k[ka>>2]>>2]|0)|0;k[p>>2]=w;w=(k[O>>2]|0)+72|0;y=k[w>>2]|0;k[w>>2]=y+1;k[ya+8>>2]=y;y=ix(k[Ba>>2]|0,57,k[ya+8>>2]|0,(k[k[ya>>2]>>2]|0)+1+(k[k[ka>>2]>>2]|0)|0,0,k[p>>2]|0,-6)|0;k[ya+20>>2]=y}else k[ya+20>>2]=-1;if((l[k[Q>>2]>>0]|0)==12)fx(k[Ba>>2]|0,57,k[(k[Q>>2]|0)+4>>2]|0,k[k[ka>>2]>>2]|0)|0;y=Sz(k[Ba>>2]|0)|0;k[ca>>2]=y;j[(k[P>>2]|0)+6>>1]=320;rG(k[O>>2]|0,k[P>>2]|0,k[ca>>2]|0);if((k[(k[P>>2]|0)+12>>2]|0)==0?(k[ya+20>>2]|0)>=0:0){sG(k[Ba>>2]|0,k[ya+20>>2]|0,58);y=ya+28|0;i[y>>0]=l[y>>0]|1}if(k[(k[P>>2]|0)+8>>2]&1){y=(k[O>>2]|0)+72|0;w=k[y>>2]|0;k[y>>2]=w+1;k[xa+4>>2]=w;w=k[Ba>>2]|0;y=k[xa+4>>2]|0;y=ix(w,57,y,0,0,qG(k[O>>2]|0,k[k[P>>2]>>2]|0,0,0)|0,-6)|0;k[xa+8>>2]=y;Rh(k[Ba>>2]|0,8);i[xa+1>>0]=3}else i[xa+1>>0]=0;if((k[f>>2]|0)==0&(k[la>>2]|0)==0){j[x>>1]=(l[xa>>0]|0)!=0?1024:0;j[x>>1]=m[x>>1]|k[(k[P>>2]|0)+8>>2]&16384;Aa=fD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[ya>>2]|0,k[k[P>>2]>>2]|0,j[x>>1]|0,j[(k[P>>2]|0)+6>>1]|0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0))break;Aa=(tG(k[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(j[(k[P>>2]|0)+6>>1]|0)){Aa=tG(k[pa>>2]|0)|0;j[(k[P>>2]|0)+6>>1]=Aa}do if(l[xa>>0]|0){if(!(uG(k[pa>>2]|0)|0))break;Aa=(uG(k[pa>>2]|0)|0)&255;i[xa+1>>0]=Aa}while(0);do if(k[ya>>2]|0){Aa=vG(k[pa>>2]|0)|0;k[ya+4>>2]=Aa;if((k[ya+4>>2]|0)!=(k[k[ya>>2]>>2]|0))break;k[ya>>2]=0}while(0);do if((k[ya+20>>2]|0)>=0){if(k[ya>>2]|0)break;FA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ta=k[O>>2]|0;ua=k[P>>2]|0;va=k[ka>>2]|0;za=k[Q>>2]|0;Aa=wG(k[pa>>2]|0)|0;yG(ta,ua,va,-1,ya,xa,za,Aa,xG(k[pa>>2]|0)|0);gD(k[pa>>2]|0)}else{k[Aa>>2]=0;k[za>>2]=0;k[ia>>2]=0;b=k[P>>2]|0;do if(k[la>>2]|0){k[z>>2]=k[k[b>>2]>>2];k[A>>2]=k[(k[k[P>>2]>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}k[z>>2]=k[k[la>>2]>>2];k[A>>2]=k[(k[la>>2]|0)+4>>2];while(1){if((k[z>>2]|0)<=0)break;j[(k[A>>2]|0)+16+2>>1]=0;k[z>>2]=(k[z>>2]|0)+-1;k[A>>2]=(k[A>>2]|0)+20}if((j[(k[P>>2]|0)+6>>1]|0)<=66)break;j[(k[P>>2]|0)+6>>1]=66}else j[b+6>>1]=0;while(0);if(!(Gy(k[la>>2]|0,k[ya>>2]|0,-1)|0))k[ia>>2]=1;A=Sz(k[Ba>>2]|0)|0;k[S>>2]=A;k[M>>2]=0;k[M+4>>2]=0;k[M+8>>2]=0;k[M+12>>2]=0;k[M+16>>2]=0;k[M+20>>2]=0;k[M+24>>2]=0;k[M+28>>2]=0;k[M>>2]=k[O>>2];k[M+4>>2]=k[oa>>2];k[M+12>>2]=wa;k[wa+16>>2]=(k[(k[O>>2]|0)+76>>2]|0)+1;if(k[la>>2]|0)b=k[k[la>>2]>>2]|0;else b=0;k[wa+12>>2]=b;k[wa+24>>2]=k[la>>2];zG(M,k[ka>>2]|0);zG(M,k[ya>>2]|0);if(k[ma>>2]|0)AG(M,k[ma>>2]|0);k[wa+36>>2]=k[wa+32>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+44>>2]|0))break;A=M+28|0;j[A>>1]=m[A>>1]|8;zG(M,k[(k[(k[wa+40>>2]|0)+(k[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;j[A>>1]=m[A>>1]&-9;k[_>>2]=(k[_>>2]|0)+1}k[wa+20>>2]=k[(k[O>>2]|0)+76>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;if(k[la>>2]|0){K=(k[O>>2]|0)+72|0;M=k[K>>2]|0;k[K>>2]=M+1;k[wa+4>>2]=M;M=qG(k[O>>2]|0,k[la>>2]|0,0,k[wa+32>>2]|0)|0;k[na>>2]=M;M=ix(k[Ba>>2]|0,58,k[wa+4>>2]|0,k[wa+12>>2]|0,0,k[na>>2]|0,-6)|0;k[W>>2]=M;M=(k[O>>2]|0)+76|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ea>>2]=K;K=(k[O>>2]|0)+76|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[aa>>2]=M;M=(k[O>>2]|0)+76|0;K=(k[M>>2]|0)+1|0;k[M>>2]=K;k[ta>>2]=K;K=Sz(k[Ba>>2]|0)|0;k[T>>2]=K;K=(k[O>>2]|0)+76|0;M=(k[K>>2]|0)+1|0;k[K>>2]=M;k[va>>2]=M;M=Sz(k[Ba>>2]|0)|0;k[U>>2]=M;k[$>>2]=(k[(k[O>>2]|0)+76>>2]|0)+1;M=(k[O>>2]|0)+76|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);k[ba>>2]=(k[(k[O>>2]|0)+76>>2]|0)+1;M=(k[O>>2]|0)+76|0;k[M>>2]=(k[M>>2]|0)+(k[k[la>>2]>>2]|0);fx(k[Ba>>2]|0,22,0,k[aa>>2]|0)|0;fx(k[Ba>>2]|0,22,0,k[ea>>2]|0)|0;jx(k[Ba>>2]|0,25,0,k[$>>2]|0,(k[$>>2]|0)+(k[k[la>>2]>>2]|0)-1|0)|0;fx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;M=fD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[la>>2]|0,0,(256|((k[ia>>2]|0)!=0?2048:0))&65535,0)|0;k[pa>>2]=M;if(!(k[pa>>2]|0))break;M=vG(k[pa>>2]|0)|0;if((M|0)==(k[k[la>>2]>>2]|0))k[Z>>2]=0;else{if(l[xa>>0]|0)b=(k[(k[P>>2]|0)+8>>2]&1|0)==0;else b=0;BG(k[O>>2]|0,b?36127:36136);k[Z>>2]=1;k[ha>>2]=k[k[la>>2]>>2];k[ga>>2]=k[ha>>2];k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;if((k[(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0)+12>>2]|0)>=(k[fa>>2]|0)){k[ga>>2]=(k[ga>>2]|0)+1;k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}M=AA(k[O>>2]|0,k[ga>>2]|0)|0;k[sa>>2]=M;uC(k[O>>2]|0);WA(k[O>>2]|0,k[la>>2]|0,k[sa>>2]|0,0,0)|0;k[fa>>2]=k[ha>>2];k[_>>2]=0;while(1){if((k[_>>2]|0)>=(k[wa+32>>2]|0))break;k[ja>>2]=(k[wa+28>>2]|0)+((k[_>>2]|0)*24|0);if((k[(k[ja>>2]|0)+12>>2]|0)>=(k[fa>>2]|0)){k[qa>>2]=(k[fa>>2]|0)+(k[sa>>2]|0);LD(k[O>>2]|0,k[k[ja>>2]>>2]|0,k[(k[ja>>2]|0)+8>>2]|0,k[(k[ja>>2]|0)+4>>2]|0,k[qa>>2]|0);k[fa>>2]=(k[fa>>2]|0)+1}k[_>>2]=(k[_>>2]|0)+1}qa=kA(k[O>>2]|0)|0;k[ua>>2]=qa;jx(k[Ba>>2]|0,49,k[sa>>2]|0,k[ga>>2]|0,k[ua>>2]|0)|0;fx(k[Ba>>2]|0,109,k[wa+4>>2]|0,k[ua>>2]|0)|0;oA(k[O>>2]|0,k[ua>>2]|0);DA(k[O>>2]|0,k[sa>>2]|0,k[ga>>2]|0);gD(k[pa>>2]|0);sa=(k[O>>2]|0)+72|0;ua=k[sa>>2]|0;k[sa>>2]=ua+1;k[Aa>>2]=ua;k[wa+8>>2]=ua;ua=kA(k[O>>2]|0)|0;k[za>>2]=ua;jx(k[Ba>>2]|0,60,k[Aa>>2]|0,k[za>>2]|0,k[ga>>2]|0)|0;fx(k[Ba>>2]|0,106,k[wa+4>>2]|0,k[S>>2]|0)|0;i[wa+1>>0]=1;uC(k[O>>2]|0)}do if(k[ia>>2]|0){if(m[(k[Y>>2]|0)+64>>1]&4)break;if((k[Z>>2]|0)==0?(CG(k[pa>>2]|0)|0)==0:0)break;k[ya>>2]=0;FA(k[Ba>>2]|0,k[ya+20>>2]|0)|0}while(0);ua=Rz(k[Ba>>2]|0)|0;k[X>>2]=ua;uC(k[O>>2]|0);if(k[Z>>2]|0)jx(k[Ba>>2]|0,100,k[wa+4>>2]|0,k[za>>2]|0,k[Aa>>2]|0)|0;k[fa>>2]=0;while(1){if((k[fa>>2]|0)>=(k[k[la>>2]>>2]|0))break;if(k[Z>>2]|0)jx(k[Ba>>2]|0,47,k[Aa>>2]|0,k[fa>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)|0;else{i[wa>>0]=1;NA(k[O>>2]|0,k[(k[(k[la>>2]|0)+4>>2]|0)+((k[fa>>2]|0)*20|0)>>2]|0,(k[ba>>2]|0)+(k[fa>>2]|0)|0)}k[fa>>2]=(k[fa>>2]|0)+1}sa=k[Ba>>2]|0;ua=k[$>>2]|0;za=k[ba>>2]|0;Aa=k[k[la>>2]>>2]|0;ix(sa,42,ua,za,Aa,jA(k[na>>2]|0)|0,-6)|0;Aa=Rz(k[Ba>>2]|0)|0;k[R>>2]=Aa;jx(k[Ba>>2]|0,43,(k[R>>2]|0)+1|0,0,(k[R>>2]|0)+1|0)|0;DG(k[O>>2]|0,k[ba>>2]|0,k[$>>2]|0,k[k[la>>2]>>2]|0);fx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;fx(k[Ba>>2]|0,138,k[aa>>2]|0,k[S>>2]|0)|0;fx(k[Ba>>2]|0,14,k[va>>2]|0,k[U>>2]|0)|0;Vz(k[Ba>>2]|0,k[R>>2]|0);EG(k[O>>2]|0,wa);fx(k[Ba>>2]|0,22,1,k[ea>>2]|0)|0;if(k[Z>>2]|0)fx(k[Ba>>2]|0,3,k[wa+4>>2]|0,k[X>>2]|0)|0;else{gD(k[pa>>2]|0);FA(k[Ba>>2]|0,k[W>>2]|0)|0}fx(k[Ba>>2]|0,14,k[ta>>2]|0,k[T>>2]|0)|0;Uz(k[Ba>>2]|0,k[S>>2]|0)|0;Aa=Rz(k[Ba>>2]|0)|0;k[V>>2]=Aa;fx(k[Ba>>2]|0,22,1,k[aa>>2]|0)|0;Nz(k[Ba>>2]|0,15,k[ta>>2]|0)|0;Wz(k[Ba>>2]|0,k[T>>2]|0);Aa=Rz(k[Ba>>2]|0)|0;k[T>>2]=Aa;fx(k[Ba>>2]|0,138,k[ea>>2]|0,(k[T>>2]|0)+2|0)|0;Nz(k[Ba>>2]|0,15,k[ta>>2]|0)|0;FG(k[O>>2]|0,wa);$A(k[O>>2]|0,k[ma>>2]|0,(k[T>>2]|0)+1|0,16);yG(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,ya,xa,k[Q>>2]|0,(k[T>>2]|0)+1|0,k[V>>2]|0);Nz(k[Ba>>2]|0,15,k[ta>>2]|0)|0;Wz(k[Ba>>2]|0,k[U>>2]|0);GG(k[O>>2]|0,wa);Nz(k[Ba>>2]|0,15,k[va>>2]|0)|0}else{k[G>>2]=0;Aa=HG(k[P>>2]|0,wa)|0;k[K>>2]=Aa;if(Aa){za=Ph(k[k[O>>2]>>2]|0,k[(k[K>>2]|0)+64>>2]|0)|0;k[D>>2]=za;za=(k[O>>2]|0)+72|0;Aa=k[za>>2]|0;k[za>>2]=Aa+1;k[C>>2]=Aa;k[I>>2]=0;k[F>>2]=0;k[E>>2]=k[(k[K>>2]|0)+28>>2];rx(k[O>>2]|0,k[D>>2]|0);Oz(k[O>>2]|0,k[D>>2]|0,k[(k[K>>2]|0)+28>>2]|0,0,k[k[K>>2]>>2]|0);if(l[(k[K>>2]|0)+42>>0]&32){Aa=Rj(k[K>>2]|0)|0;k[F>>2]=Aa}k[H>>2]=k[(k[K>>2]|0)+8>>2];while(1){if(!(k[H>>2]|0))break;do if(!((l[(k[H>>2]|0)+55>>0]|0)>>>2&1)){if((j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[K>>2]|0)+40>>1]|0))break;if(k[(k[H>>2]|0)+36>>2]|0)break;if((k[F>>2]|0)!=0?(j[(k[H>>2]|0)+48>>1]|0)>=(j[(k[F>>2]|0)+48>>1]|0):0)break;k[F>>2]=k[H>>2]}while(0);k[H>>2]=k[(k[H>>2]|0)+20>>2]}if(k[F>>2]|0){k[E>>2]=k[(k[F>>2]|0)+44>>2];Aa=dA(k[O>>2]|0,k[F>>2]|0)|0;k[I>>2]=Aa}Qh(k[Ba>>2]|0,54,k[C>>2]|0,k[E>>2]|0,k[D>>2]|0,1)|0;if(k[I>>2]|0)Uh(k[Ba>>2]|0,-1,k[I>>2]|0,-6);fx(k[Ba>>2]|0,50,k[C>>2]|0,k[(k[wa+40>>2]|0)+8>>2]|0)|0;Nz(k[Ba>>2]|0,61,k[C>>2]|0)|0;IG(k[O>>2]|0,k[K>>2]|0,k[F>>2]|0)}else{k[J>>2]=0;i[B>>0]=0;if(!(k[(k[P>>2]|0)+40>>2]|0)){Aa=JG(wa,J)|0;i[B>>0]=Aa}do if(i[B>>0]|0){Aa=Ly(k[Y>>2]|0,k[J>>2]|0,0)|0;k[J>>2]=Aa;k[G>>2]=k[J>>2];if(i[(k[Y>>2]|0)+69>>0]|0)break;i[(k[(k[J>>2]|0)+4>>2]|0)+12>>0]=(l[B>>0]|0)!=1?1:0;i[k[k[(k[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);GG(k[O>>2]|0,wa);Aa=fD(k[O>>2]|0,k[oa>>2]|0,k[L>>2]|0,k[J>>2]|0,0,l[B>>0]|0,0)|0;k[pa>>2]=Aa;if(!(k[pa>>2]|0)){jv(k[Y>>2]|0,k[G>>2]|0);break}EG(k[O>>2]|0,wa);if((vG(k[pa>>2]|0)|0)>0){Aa=k[Ba>>2]|0;Uz(Aa,xG(k[pa>>2]|0)|0)|0}gD(k[pa>>2]|0);FG(k[O>>2]|0,wa)}k[ya>>2]=0;$A(k[O>>2]|0,k[ma>>2]|0,k[S>>2]|0,16);yG(k[O>>2]|0,k[P>>2]|0,k[k[P>>2]>>2]|0,-1,0,0,k[Q>>2]|0,k[S>>2]|0,k[S>>2]|0);jv(k[Y>>2]|0,k[G>>2]|0)}Wz(k[Ba>>2]|0,k[S>>2]|0)}if((l[xa+1>>0]|0)==3)BG(k[O>>2]|0,36127);if(k[ya>>2]|0){BG(k[O>>2]|0,(k[ya+4>>2]|0)>0?36145:36168);KG(k[O>>2]|0,k[P>>2]|0,ya,k[k[ka>>2]>>2]|0,k[Q>>2]|0)}Wz(k[Ba>>2]|0,k[ca>>2]|0);k[ra>>2]=(k[(k[O>>2]|0)+68>>2]|0)>0&1}}while(0);k[(k[O>>2]|0)+468>>2]=k[da>>2];if((k[ra>>2]|0)==0?(l[k[Q>>2]>>0]|0)==9:0)LG(k[O>>2]|0,k[oa>>2]|0,k[ka>>2]|0);bg(k[Y>>2]|0,k[wa+28>>2]|0);bg(k[Y>>2]|0,k[wa+40>>2]|0);k[N>>2]=k[ra>>2];Ba=k[N>>2]|0;r=Ca;return Ba|0}k[N>>2]=1;Ba=k[N>>2]|0;r=Ca;return Ba|0}function Tv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;i=j;c=j+24|0;d=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+48>>2]|0)){r=j;return}k[h>>2]=0;k[e>>2]=0;k[g>>2]=k[d>>2];while(1){if(!(k[g>>2]|0))break;k[(k[g>>2]|0)+52>>2]=k[h>>2];a=(k[g>>2]|0)+8|0;k[a>>2]=k[a>>2]|128;k[h>>2]=k[g>>2];k[g>>2]=k[(k[g>>2]|0)+48>>2];k[e>>2]=(k[e>>2]|0)+1}if(k[(k[d>>2]|0)+8>>2]&512){r=j;return}a=k[(k[k[c>>2]>>2]|0)+92+16>>2]|0;k[f>>2]=a;if((a|0)<=0){r=j;return}if((k[e>>2]|0)<=(k[f>>2]|0)){r=j;return}Mh(k[c>>2]|0,36053,i);r=j;return}function Uv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0;x=r;r=r+48|0;v=x;i=x+44|0;j=x+40|0;l=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;k[j>>2]=a;k[l>>2]=b;k[m>>2]=c;k[n>>2]=d;k[o>>2]=e;k[p>>2]=f;k[q>>2]=g;k[s>>2]=h;k[t>>2]=k[k[j>>2]>>2];if((k[l>>2]|0)==0?(k[q>>2]|0)!=0|(k[s>>2]|0)!=0:0){h=k[j>>2]|0;k[v>>2]=(k[q>>2]|0)!=0?36008:36011;Mh(h,36017,v)}else w=4;if(((w|0)==4?(w=bw(k[t>>2]|0,k[l>>2]|0,k[m>>2]|0,k[n>>2]|0)|0,k[l>>2]=w,(k[l>>2]|0)!=0):0)?(k[k[l>>2]>>2]|0)!=0:0){k[u>>2]=(k[l>>2]|0)+8+(((k[k[l>>2]>>2]|0)-1|0)*72|0);if(k[(k[o>>2]|0)+4>>2]|0){w=Tw(k[t>>2]|0,k[o>>2]|0)|0;k[(k[u>>2]|0)+12>>2]=w}k[(k[u>>2]|0)+20>>2]=k[p>>2];k[(k[u>>2]|0)+48>>2]=k[q>>2];k[(k[u>>2]|0)+52>>2]=k[s>>2];k[i>>2]=k[l>>2];w=k[i>>2]|0;r=x;return w|0}nv(k[t>>2]|0,k[q>>2]|0);ov(k[t>>2]|0,k[s>>2]|0);kv(k[t>>2]|0,k[p>>2]|0);k[i>>2]=0;w=k[i>>2]|0;r=x;return w|0}function Vv(a,b,c,d,e,f,g,h,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=r;r=r+128|0;n=B+112|0;o=B+108|0;p=B+104|0;q=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;k[n>>2]=a;k[o>>2]=b;k[p>>2]=c;k[q>>2]=d;k[s>>2]=e;k[t>>2]=f;k[u>>2]=g;k[v>>2]=h;k[w>>2]=l;k[x>>2]=m;k[y>>2]=k[k[n>>2]>>2];h=Vw(k[y>>2]|0,68,0)|0;k[z>>2]=h;k[z>>2]=(k[z>>2]|0)==0?A:h;if(!(k[o>>2]|0)){h=k[n>>2]|0;h=Wv(h,0,Zv(k[y>>2]|0,158,0)|0)|0;k[o>>2]=h}k[k[z>>2]>>2]=k[o>>2];i[(k[z>>2]|0)+4>>0]=119;k[(k[z>>2]|0)+8>>2]=k[v>>2];k[(k[z>>2]|0)+12>>2]=0;k[(k[z>>2]|0)+16>>2]=0;k[(k[z>>2]|0)+20>>2]=-1;k[(k[z>>2]|0)+20+4>>2]=-1;j[(k[z>>2]|0)+6>>1]=0;if(!(k[p>>2]|0)){h=Bh(k[y>>2]|0,80,0)|0;k[p>>2]=h}k[(k[z>>2]|0)+28>>2]=k[p>>2];k[(k[z>>2]|0)+32>>2]=k[q>>2];k[(k[z>>2]|0)+36>>2]=k[s>>2];k[(k[z>>2]|0)+40>>2]=k[t>>2];k[(k[z>>2]|0)+44>>2]=k[u>>2];k[(k[z>>2]|0)+48>>2]=0;k[(k[z>>2]|0)+52>>2]=0;k[(k[z>>2]|0)+56>>2]=k[w>>2];k[(k[z>>2]|0)+60>>2]=k[x>>2];k[(k[z>>2]|0)+64>>2]=0;if(!(i[(k[y>>2]|0)+69>>0]|0)){A=k[z>>2]|0;r=B;return A|0}lv(k[y>>2]|0,k[z>>2]|0,(k[z>>2]|0)!=(A|0)&1);k[z>>2]=0;A=k[z>>2]|0;r=B;return A|0}function Wv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;j=r;r=r+32|0;e=j+24|0;l=j+20|0;f=j+16|0;g=j+12|0;h=j+8|0;d=j+4|0;i=j;k[l>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=k[k[l>>2]>>2];if(!(k[f>>2]|0)){l=Vw(k[h>>2]|0,8,0)|0;k[f>>2]=l;if((k[f>>2]|0)!=0?(k[k[f>>2]>>2]=0,l=Vw(k[h>>2]|0,20,0)|0,k[(k[f>>2]|0)+4>>2]=l,(k[(k[f>>2]|0)+4>>2]|0)!=0):0)d=7;else d=8}else if(!(k[k[f>>2]>>2]&(k[k[f>>2]>>2]|0)-1)){l=Uw(k[h>>2]|0,k[(k[f>>2]|0)+4>>2]|0,(k[k[f>>2]>>2]<<1)*20|0,0)|0;k[d>>2]=l;if(!(k[d>>2]|0))d=8;else{k[(k[f>>2]|0)+4>>2]=k[d>>2];d=7}}else d=7;if((d|0)==7){h=k[f>>2]|0;l=k[h>>2]|0;k[h>>2]=l+1;k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(l*20|0);l=k[i>>2]|0;k[l>>2]=0;k[l+4>>2]=0;k[l+8>>2]=0;k[l+12>>2]=0;k[l+16>>2]=0;k[k[i>>2]>>2]=k[g>>2];k[e>>2]=k[f>>2];l=k[e>>2]|0;r=j;return l|0}else if((d|0)==8){nv(k[h>>2]|0,k[g>>2]|0);jv(k[h>>2]|0,k[f>>2]|0);k[e>>2]=0;l=k[e>>2]|0;r=j;return l|0}return 0}function Xv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[f>>2]|0)){r=j;return}k[i>>2]=(k[(k[f>>2]|0)+4>>2]|0)+(((k[k[f>>2]>>2]|0)-1|0)*20|0);a=Yw(k[k[e>>2]>>2]|0,k[k[g>>2]>>2]|0,k[(k[g>>2]|0)+4>>2]|0,0)|0;k[(k[i>>2]|0)+4>>2]=a;if(!(k[h>>2]|0)){r=j;return}if(!(k[(k[i>>2]|0)+4>>2]|0)){r=j;return}Zw(k[(k[i>>2]|0)+4>>2]|0)|0;r=j;return}function Yv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[i>>2]=a;k[d>>2]=b;k[e>>2]=c;k[f>>2]=k[k[i>>2]>>2];if(!(k[d>>2]|0)){r=h;return}k[g>>2]=(k[(k[d>>2]|0)+4>>2]|0)+(((k[k[d>>2]>>2]|0)-1|0)*20|0);bg(k[f>>2]|0,k[(k[g>>2]|0)+8>>2]|0);i=(k[(k[e>>2]|0)+8>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0;i=Yw(k[f>>2]|0,k[(k[e>>2]|0)+4>>2]|0,i,((i|0)<0)<<31>>31)|0;k[(k[g>>2]|0)+8>>2]=i;r=h;return}function Zv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;e=h+16|0;f=h+12|0;d=h+8|0;g=h;k[e>>2]=a;k[f>>2]=b;k[d>>2]=c;k[g>>2]=k[d>>2];if(k[d>>2]|0)d=Tf(k[d>>2]|0)|0;else d=0;k[g+4>>2]=d;g=sz(k[e>>2]|0,k[f>>2]|0,g,0)|0;r=h;return g|0}function _v(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;if(!(k[b>>2]|0)){r=d;return}k[c>>2]=(k[k[b>>2]>>2]|0)-1;while(1){if((k[c>>2]|0)<=0)break;i[(k[b>>2]|0)+8+((k[c>>2]|0)*72|0)+36>>0]=i[(k[b>>2]|0)+8+(((k[c>>2]|0)-1|0)*72|0)+36>>0]|0;k[c>>2]=(k[c>>2]|0)+-1}i[(k[b>>2]|0)+8+36>>0]=0;r=d;return}function $v(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(!(k[e>>2]|0)){r=h;return}if((k[k[e>>2]>>2]|0)<=0){r=h;return}k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);if((k[(k[f>>2]|0)+4>>2]|0)==1?(k[k[f>>2]>>2]|0)==0:0){a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-2|1;r=h;return}a=Tw(k[k[d>>2]>>2]|0,k[f>>2]|0)|0;k[(k[g>>2]|0)+64>>2]=a;a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-3|((k[(k[g>>2]|0)+64>>2]|0)!=0&1)<<1&255;r=h;return}function aw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;h=r;r=r+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){k[g>>2]=(k[e>>2]|0)+8+(((k[k[e>>2]>>2]|0)-1|0)*72|0);k[(k[g>>2]|0)+64>>2]=k[f>>2];a=(k[g>>2]|0)+36+1|0;i[a>>0]=i[a>>0]&-5|4;r=h;return}else{jv(k[k[d>>2]>>2]|0,k[f>>2]|0);r=h;return}}function bw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,l=0,m=0,n=0;n=r;r=r+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;l=n+4|0;m=n;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[j>>2]=d;do if(!(k[g>>2]|0)){c=Vw(k[f>>2]|0,80,0)|0;k[g>>2]=c;if(k[g>>2]|0){k[(k[g>>2]|0)+4>>2]=1;k[k[g>>2]>>2]=0;break}k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}while(0);c=jG(k[f>>2]|0,k[g>>2]|0,1,k[k[g>>2]>>2]|0)|0;k[g>>2]=c;if(i[(k[f>>2]|0)+69>>0]|0){mv(k[f>>2]|0,k[g>>2]|0);k[e>>2]=0;m=k[e>>2]|0;r=n;return m|0}k[l>>2]=(k[g>>2]|0)+8+(((k[k[g>>2]>>2]|0)-1|0)*72|0);if((k[j>>2]|0)!=0?(k[k[j>>2]>>2]|0)==0:0)k[j>>2]=0;if(k[j>>2]|0){k[m>>2]=k[j>>2];k[j>>2]=k[h>>2];k[h>>2]=k[m>>2]}m=Tw(k[f>>2]|0,k[h>>2]|0)|0;k[(k[l>>2]|0)+8>>2]=m;m=Tw(k[f>>2]|0,k[j>>2]|0)|0;k[(k[l>>2]|0)+4>>2]=m;k[e>>2]=k[g>>2];m=k[e>>2]|0;r=n;return m|0}function cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0;u=r;r=r+80|0;q=u+16|0;p=u;e=u+64|0;f=u+60|0;g=u+56|0;h=u+52|0;n=u+48|0;i=u+36|0;o=u+32|0;j=u+28|0;m=u+24|0;s=u+20|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;k[n>>2]=0;k[i>>2]=k[f>>2];k[i+4>>2]=k[g>>2];k[i+8>>2]=k[h>>2];k[j>>2]=0;while(1){if((k[j>>2]|0)>=3)break;if(!(k[i+(k[j>>2]<<2)>>2]|0))break;k[o>>2]=k[i+(k[j>>2]<<2)>>2];k[m>>2]=0;while(1){if((k[m>>2]|0)>=7)break;if((k[(k[o>>2]|0)+4>>2]|0)==(l[35852+((k[m>>2]|0)*3|0)+1>>0]|0|0)?(Jd(k[k[o>>2]>>2]|0,35873+(l[35852+((k[m>>2]|0)*3|0)>>0]|0)|0,k[(k[o>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}k[m>>2]=(k[m>>2]|0)+1}if((t|0)==8){t=0;k[n>>2]=k[n>>2]|(l[35852+((k[m>>2]|0)*3|0)+2>>0]|0)}if((k[m>>2]|0)>=7){t=11;break}k[j>>2]=(k[j>>2]|0)+1}if((t|0)==11)k[n>>2]=k[n>>2]|64;if((k[n>>2]&33|0)!=33?(k[n>>2]&64|0)==0:0){if(!(k[n>>2]&32)){t=k[n>>2]|0;r=u;return t|0}if((k[n>>2]&24|0)==8){t=k[n>>2]|0;r=u;return t|0}Mh(k[e>>2]|0,35953,q);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}k[s>>2]=35907;if(!(k[h>>2]|0))k[s>>2]=(k[s>>2]|0)+1;t=k[e>>2]|0;a=k[g>>2]|0;q=k[s>>2]|0;s=k[h>>2]|0;k[p>>2]=k[f>>2];k[p+4>>2]=a;k[p+8>>2]=q;k[p+12>>2]=s;Mh(t,35909,p);k[n>>2]=1;t=k[n>>2]|0;r=u;return t|0}function dw(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;if((k[c>>2]|0)==0|(k[d>>2]|0)<0){r=e;return}i[(k[(k[c>>2]|0)+4>>2]|0)+(((k[k[c>>2]>>2]|0)-1|0)*20|0)+12>>0]=k[d>>2];r=e;return}function ew(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+4|0;e=g;f=g+8|0;k[d>>2]=a;k[e>>2]=b;i[f>>0]=c;if(!(k[e>>2]|0)){r=g;return}k[(k[e>>2]|0)+4>>2]=k[(k[d>>2]|0)+536>>2];k[(k[d>>2]|0)+536>>2]=k[e>>2];if(!(i[f>>0]|0)){r=g;return}k[(k[d>>2]|0)+540>>2]=k[e>>2];r=g;return}function fw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=r;r=r+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;h=Y+144|0;O=Y+140|0;Q=Y+136|0;n=Y+132|0;M=Y+128|0;W=Y+120|0;q=Y+88|0;f=Y+84|0;S=Y+80|0;p=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;g=Y+52|0;o=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;d=Y+28|0;R=Y+24|0;E=Y+20|0;x=Y+16|0;s=Y+184|0;e=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;k[H>>2]=a;k[I>>2]=b;k[J>>2]=c;k[O>>2]=0;k[Q>>2]=0;k[S>>2]=-1;k[K>>2]=0;k[g>>2]=0;j[o>>1]=1;k[P>>2]=0;k[C>>2]=0;k[v>>2]=0;k[L>>2]=0;k[d>>2]=0;k[W>>2]=0;k[W+4>>2]=0;k[M>>2]=k[k[H>>2]>>2];a:do if(((k[(k[H>>2]|0)+68>>2]|0)==0?(l[(k[M>>2]|0)+69>>0]|0)==0:0)?(c=TB(k[H>>2]|0,k[I>>2]|0)|0,k[V>>2]=c,(k[V>>2]|0)!=0):0){c=IC(k[H>>2]|0,k[V>>2]|0,109,0,0)|0;k[E>>2]=c;k[R>>2]=(k[(k[V>>2]|0)+12>>2]|0)!=0&1;if(k[E>>2]|0)a=1;else a=(UE(k[H>>2]|0,k[V>>2]|0,0,0)|0)!=0;k[x>>2]=a&1;if(((Px(k[H>>2]|0,k[V>>2]|0)|0)==0?(JC(k[H>>2]|0,k[V>>2]|0,(k[E>>2]|0)!=0?1:0)|0)==0:0)?(c=Ph(k[M>>2]|0,k[(k[V>>2]|0)+64>>2]|0)|0,k[f>>2]=c,k[t>>2]=k[(k[(k[M>>2]|0)+16>>2]|0)+(k[f>>2]<<4)>>2],t=ax(k[H>>2]|0,9,k[k[V>>2]>>2]|0,0,k[t>>2]|0)|0,k[p>>2]=t,(k[p>>2]|0)!=1):0){c=(k[H>>2]|0)+72|0;t=k[c>>2]|0;k[c>>2]=t+1;k[(k[I>>2]|0)+8+44>>2]=t;k[h>>2]=t;k[n>>2]=0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break;t=(k[H>>2]|0)+72|0;k[t>>2]=(k[t>>2]|0)+1;k[T>>2]=k[(k[T>>2]|0)+20>>2];k[n>>2]=(k[n>>2]|0)+1}if(k[R>>2]|0)eG(k[H>>2]|0,W,k[k[V>>2]>>2]|0);t=dx(k[H>>2]|0)|0;k[X>>2]=t;if(k[X>>2]|0){if(!(l[(k[H>>2]|0)+18>>0]|0))KC(k[X>>2]|0);qx(k[H>>2]|0,1,k[f>>2]|0);if(k[R>>2]|0){fG(k[H>>2]|0,k[V>>2]|0,k[J>>2]|0,k[h>>2]|0);t=k[h>>2]|0;k[Q>>2]=t;k[O>>2]=t};k[q>>2]=0;k[q+4>>2]=0;k[q+8>>2]=0;k[q+12>>2]=0;k[q+16>>2]=0;k[q+20>>2]=0;k[q+24>>2]=0;k[q+28>>2]=0;k[q>>2]=k[H>>2];k[q+4>>2]=k[I>>2];if(!(vy(q,k[J>>2]|0)|0)){if(k[(k[M>>2]|0)+24>>2]&128){q=(k[H>>2]|0)+76|0;t=(k[q>>2]|0)+1|0;k[q>>2]=t;k[S>>2]=t;fx(k[X>>2]|0,22,0,k[S>>2]|0)|0}b:do if(!((k[p>>2]|0)==0&(k[J>>2]|0)==0^1|(k[x>>2]|0)!=0)?(l[(k[V>>2]|0)+42>>0]&16|0)==0:0){Oz(k[H>>2]|0,k[f>>2]|0,k[(k[V>>2]|0)+28>>2]|0,1,k[k[V>>2]>>2]|0);if(!(l[(k[V>>2]|0)+42>>0]&32))ix(k[X>>2]|0,119,k[(k[V>>2]|0)+28>>2]|0,k[f>>2]|0,k[S>>2]|0,k[k[V>>2]>>2]|0,-2)|0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break b;fx(k[X>>2]|0,119,k[(k[T>>2]|0)+44>>2]|0,k[f>>2]|0)|0;k[T>>2]=k[(k[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){j[s>>1]=12;j[s>>1]=m[s>>1]|((k[x>>2]|0)!=0?0:8192);if(!(l[(k[V>>2]|0)+42>>0]&32)){k[U>>2]=0;j[o>>1]=1;t=(k[H>>2]|0)+76|0;u=(k[t>>2]|0)+1|0;k[t>>2]=u;k[C>>2]=u;fx(k[X>>2]|0,25,0,k[C>>2]|0)|0}else{t=Rj(k[V>>2]|0)|0;k[U>>2]=t;j[o>>1]=j[(k[U>>2]|0)+50>>1]|0;k[g>>2]=(k[(k[H>>2]|0)+76>>2]|0)+1;t=(k[H>>2]|0)+76|0;k[t>>2]=(k[t>>2]|0)+(j[o>>1]|0);t=(k[H>>2]|0)+72|0;u=k[t>>2]|0;k[t>>2]=u+1;k[P>>2]=u;u=fx(k[X>>2]|0,57,k[P>>2]|0,j[o>>1]|0)|0;k[d>>2]=u;Qz(k[H>>2]|0,k[U>>2]|0)}u=fD(k[H>>2]|0,k[I>>2]|0,k[J>>2]|0,0,0,j[s>>1]|0,(k[h>>2]|0)+1|0)|0;k[G>>2]=u;if(!(k[G>>2]|0))break a;u=hG(k[G>>2]|0,w)|0;k[z>>2]=u;if(k[(k[M>>2]|0)+24>>2]&128)fx(k[X>>2]|0,37,k[S>>2]|0,1)|0;do if(k[U>>2]|0){k[N>>2]=0;while(1){if((k[N>>2]|0)>=(j[o>>1]|0))break;JA(k[X>>2]|0,k[V>>2]|0,k[h>>2]|0,j[(k[(k[U>>2]|0)+4>>2]|0)+(k[N>>2]<<1)>>1]|0,(k[g>>2]|0)+(k[N>>2]|0)|0);k[N>>2]=(k[N>>2]|0)+1}k[B>>2]=k[g>>2]}else{k[B>>2]=(k[(k[H>>2]|0)+76>>2]|0)+1;u=PA(k[H>>2]|0,k[V>>2]|0,-1,k[h>>2]|0,k[B>>2]|0,0)|0;k[B>>2]=u;if((k[B>>2]|0)<=(k[(k[H>>2]|0)+76>>2]|0))break;k[(k[H>>2]|0)+76>>2]=k[B>>2]}while(0);do if(!(k[z>>2]|0))if(k[U>>2]|0){q=(k[H>>2]|0)+76|0;p=(k[q>>2]|0)+1|0;k[q>>2]=p;k[B>>2]=p;j[D>>1]=0;p=k[X>>2]|0;q=k[g>>2]|0;s=j[o>>1]|0;t=k[B>>2]|0;u=sC(k[k[H>>2]>>2]|0,k[U>>2]|0)|0;ix(p,49,q,s,t,u,j[o>>1]|0)|0;fx(k[X>>2]|0,110,k[P>>2]|0,k[B>>2]|0)|0;break}else{j[D>>1]=1;fx(k[X>>2]|0,129,k[C>>2]|0,k[B>>2]|0)|0;break}else{j[D>>1]=j[o>>1]|0;u=(k[n>>2]|0)+2|0;u=Vw(k[M>>2]|0,u,((u|0)<0)<<31>>31)|0;k[K>>2]=u;if(!(k[K>>2]|0)){gD(k[G>>2]|0);break a}DR(k[K>>2]|0,1,(k[n>>2]|0)+1|0)|0;i[(k[K>>2]|0)+((k[n>>2]|0)+1)>>0]=0;if((k[w>>2]|0)>=0)i[(k[K>>2]|0)+((k[w>>2]|0)-(k[h>>2]|0))>>0]=0;if((k[w+4>>2]|0)>=0)i[(k[K>>2]|0)+((k[w+4>>2]|0)-(k[h>>2]|0))>>0]=0;if(!(k[d>>2]|0))break;FA(k[X>>2]|0,k[d>>2]|0)|0}while(0);if(k[z>>2]|0){u=Sz(k[X>>2]|0)|0;k[v>>2]=u}else gD(k[G>>2]|0);do if(!(k[R>>2]|0)){k[e>>2]=0;if((k[z>>2]|0)==2){u=iB(k[H>>2]|0)|0;k[e>>2]=u}vC(k[H>>2]|0,k[V>>2]|0,55,8,k[h>>2]|0,k[K>>2]|0,O,Q)|0;if((k[z>>2]|0)!=2)break;Vz(k[X>>2]|0,k[e>>2]|0)}while(0);do if(!(k[z>>2]|0)){a=k[X>>2]|0;if(k[U>>2]|0){C=Nz(a,108,k[P>>2]|0)|0;k[L>>2]=C;fx(k[X>>2]|0,101,k[P>>2]|0,k[B>>2]|0)|0;break}else{C=jx(a,130,k[C>>2]|0,0,k[B>>2]|0)|0;k[L>>2]=C;break}}else{if(l[(k[V>>2]|0)+42>>0]&16)break;if(!(l[(k[K>>2]|0)+((k[O>>2]|0)-(k[h>>2]|0))>>0]|0))break;Qh(k[X>>2]|0,68,k[O>>2]|0,k[v>>2]|0,k[B>>2]|0,j[D>>1]|0)|0}while(0);do if(l[(k[V>>2]|0)+42>>0]&16){E=Qx(k[M>>2]|0,k[V>>2]|0)|0;k[F>>2]=E;UC(k[H>>2]|0,k[V>>2]|0);ix(k[X>>2]|0,12,0,1,k[B>>2]|0,k[F>>2]|0,-10)|0;Rh(k[X>>2]|0,2);Rx(k[H>>2]|0);if((k[z>>2]|0)!=1)break;if(k[(k[H>>2]|0)+416>>2]|0)break;i[(k[H>>2]|0)+20>>0]=0}else{k[y>>2]=(l[(k[H>>2]|0)+18>>0]|0)==0&1;k[A>>2]=-1;do if(!(k[x>>2]|0)){if((k[w+4>>2]|0)==(k[O>>2]|0))break;k[A>>2]=k[w+4>>2]}while(0);WE(k[H>>2]|0,k[V>>2]|0,k[E>>2]|0,k[O>>2]|0,k[Q>>2]|0,k[B>>2]|0,j[D>>1]|0,k[y>>2]&255,10,k[z>>2]&255,k[A>>2]|0)}while(0);do if(!(k[z>>2]|0)){a=k[X>>2]|0;if(k[U>>2]|0){fx(a,7,k[P>>2]|0,(k[L>>2]|0)+1|0)|0;Vz(k[X>>2]|0,k[L>>2]|0);break}else{Uz(a,k[L>>2]|0)|0;Vz(k[X>>2]|0,k[L>>2]|0);break}}else{Wz(k[X>>2]|0,k[v>>2]|0);gD(k[G>>2]|0)}while(0);if(k[R>>2]|0)break;if(l[(k[V>>2]|0)+42>>0]&16)break;if(!(k[U>>2]|0))Nz(k[X>>2]|0,61,k[O>>2]|0)|0;k[N>>2]=0;k[T>>2]=k[(k[V>>2]|0)+8>>2];while(1){if(!(k[T>>2]|0))break c;Nz(k[X>>2]|0,61,(k[Q>>2]|0)+(k[N>>2]|0)|0)|0;k[N>>2]=(k[N>>2]|0)+1;k[T>>2]=k[(k[T>>2]|0)+20>>2]}}while(0);if((l[(k[H>>2]|0)+18>>0]|0)==0?(k[(k[H>>2]|0)+420>>2]|0)==0:0)YC(k[H>>2]|0);if(((k[(k[M>>2]|0)+24>>2]&128|0)!=0?(i[(k[H>>2]|0)+18>>0]|0)==0:0)?(k[(k[H>>2]|0)+420>>2]|0)==0:0){fx(k[X>>2]|0,33,k[S>>2]|0,1)|0;cC(k[X>>2]|0,1);dC(k[X>>2]|0,0,0,35839,0)|0}}}}}while(0);iG(W);mv(k[M>>2]|0,k[I>>2]|0);nv(k[M>>2]|0,k[J>>2]|0);bg(k[M>>2]|0,k[K>>2]|0);r=Y;return}function gw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;h=i;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[k[d>>2]>>2]|0)+92+8>>2];if(!(k[e>>2]|0)){r=i;return}if((k[k[e>>2]>>2]|0)<=(k[g>>2]|0)){r=i;return}c=k[d>>2]|0;k[h>>2]=k[f>>2];Mh(c,35816,h);r=i;return} +function yH(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=r;r=r+96|0;G=I+16|0;s=I+8|0;m=I;C=I+92|0;u=I+88|0;o=I+84|0;v=I+80|0;h=I+76|0;w=I+72|0;p=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;j=I+48|0;n=I+44|0;t=I+40|0;q=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;k[C>>2]=a;k[u>>2]=b;k[o>>2]=c;k[v>>2]=d;k[h>>2]=e;k[w>>2]=f;k[p>>2]=g;k[H>>2]=0;k[F>>2]=0;b=Bh(k[C>>2]|0,544,0)|0;k[D>>2]=b;if(!(k[D>>2]|0)){k[F>>2]=7;H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}k[(k[D>>2]|0)+480>>2]=k[h>>2];k[x>>2]=0;while(1){if((k[x>>2]|0)>=(k[(k[C>>2]|0)+20>>2]|0))break;k[j>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)+4>>2];if((k[j>>2]|0)!=0?(b=zH(k[j>>2]|0)|0,k[F>>2]=b,(k[F>>2]|0)!=0):0){B=7;break}k[x>>2]=(k[x>>2]|0)+1}if((B|0)==7){k[n>>2]=k[(k[(k[C>>2]|0)+16>>2]|0)+(k[x>>2]<<4)>>2];G=k[C>>2]|0;H=k[F>>2]|0;k[m>>2]=k[n>>2];tg(G,H,40049,m);H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}zu(k[C>>2]|0);k[k[D>>2]>>2]=k[C>>2];k[(k[D>>2]|0)+428>>2]=0;do if((k[o>>2]|0)>=0){if((k[o>>2]|0)!=0?(i[(k[u>>2]|0)+((k[o>>2]|0)-1)>>0]|0)==0:0){B=17;break}k[q>>2]=k[(k[C>>2]|0)+92+4>>2];h=k[C>>2]|0;if((k[o>>2]|0)>(k[q>>2]|0)){tg(h,18,40079,s);H=bh(k[C>>2]|0,18)|0;k[F>>2]=H;H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}s=k[o>>2]|0;s=Yw(h,k[u>>2]|0,s,((s|0)<0)<<31>>31)|0;k[t>>2]=s;if(k[t>>2]|0){ei(k[D>>2]|0,k[t>>2]|0,H)|0;k[(k[D>>2]|0)+484>>2]=(k[u>>2]|0)+((k[(k[D>>2]|0)+484>>2]|0)-(k[t>>2]|0));bg(k[C>>2]|0,k[t>>2]|0);break}else{k[(k[D>>2]|0)+484>>2]=(k[u>>2]|0)+(k[o>>2]|0);break}}else B=17;while(0);if((B|0)==17)ei(k[D>>2]|0,k[u>>2]|0,H)|0;if((k[(k[D>>2]|0)+12>>2]|0)==101)k[(k[D>>2]|0)+12>>2]=0;if(i[(k[D>>2]|0)+17>>0]|0)AH(k[D>>2]|0);if(i[(k[C>>2]|0)+69>>0]|0)k[(k[D>>2]|0)+12>>2]=7;if(k[p>>2]|0)k[k[p>>2]>>2]=k[(k[D>>2]|0)+484>>2];k[F>>2]=k[(k[D>>2]|0)+12>>2];a:do if(((k[F>>2]|0)==0?(k[(k[D>>2]|0)+8>>2]|0)!=0:0)?(l[(k[D>>2]|0)+453>>0]|0)!=0:0){h=k[(k[D>>2]|0)+8>>2]|0;if((l[(k[D>>2]|0)+453>>0]|0)==2){cC(h,4);k[y>>2]=8;k[z>>2]=12}else{cC(h,8);k[y>>2]=0;k[z>>2]=8}k[x>>2]=k[y>>2];while(1){if((k[x>>2]|0)>=(k[z>>2]|0))break a;dC(k[(k[D>>2]|0)+8>>2]|0,(k[x>>2]|0)-(k[y>>2]|0)|0,0,k[6356+(k[x>>2]<<2)>>2]|0,0)|0;k[x>>2]=(k[x>>2]|0)+1}}while(0);if(!(l[(k[C>>2]|0)+144+5>>0]|0)){k[A>>2]=k[(k[D>>2]|0)+8>>2];BH(k[A>>2]|0,k[u>>2]|0,(k[(k[D>>2]|0)+484>>2]|0)-(k[u>>2]|0)|0,k[v>>2]|0)}do if(k[(k[D>>2]|0)+8>>2]|0){if((k[F>>2]|0)==0?(l[(k[C>>2]|0)+69>>0]|0)==0:0){B=41;break}ah(k[(k[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)k[k[w>>2]>>2]=k[(k[D>>2]|0)+8>>2];h=k[C>>2]|0;a=k[F>>2]|0;if(k[H>>2]|0){k[G>>2]=k[H>>2];tg(h,a,18999,G);bg(k[C>>2]|0,k[H>>2]|0)}else vg(h,a);while(1){if(!(k[(k[D>>2]|0)+532>>2]|0))break;k[E>>2]=k[(k[D>>2]|0)+532>>2];k[(k[D>>2]|0)+532>>2]=k[(k[E>>2]|0)+4>>2];bg(k[C>>2]|0,k[E>>2]|0)}H=k[D>>2]|0;Xh(H);H=k[C>>2]|0;G=k[D>>2]|0;bg(H,G);G=k[C>>2]|0;H=k[F>>2]|0;H=bh(G,H)|0;k[F>>2]=H;H=k[F>>2]|0;r=I;return H|0}function zH(a){a=a|0;var b=0,c=0,d=0;c=r;r=r+16|0;d=c+4|0;b=c;k[d>>2]=a;wg(k[d>>2]|0);a=CH(k[d>>2]|0,1,1)|0;k[b>>2]=a;r=c;return k[b>>2]|0}function AH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;b=i+24|0;d=i+20|0;e=i+16|0;h=i+12|0;c=i+8|0;f=i+4|0;g=i;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+20>>2]|0)){b=14;break}k[f>>2]=0;k[g>>2]=k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(!(Ag(k[g>>2]|0)|0)){a=yg(k[g>>2]|0,0)|0;k[h>>2]=a;if((k[h>>2]|0)==7|(k[h>>2]|0)==3082)vh(k[d>>2]|0);if(k[h>>2]|0){b=14;break}k[f>>2]=1}zg(k[g>>2]|0,1,c);if((k[c>>2]|0)!=(k[k[(k[(k[d>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+12>>2]>>2]|0)){Ej(k[d>>2]|0,k[e>>2]|0);k[(k[b>>2]|0)+12>>2]=17}if(k[f>>2]|0)Oj(k[g>>2]|0)|0}k[e>>2]=(k[e>>2]|0)+1}if((b|0)==14){r=i;return}}function BH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(!(k[e>>2]|0)){r=j;return}b=k[g>>2]|0;b=Yw(k[k[e>>2]>>2]|0,k[f>>2]|0,b,((b|0)<0)<<31>>31)|0;k[(k[e>>2]|0)+168>>2]=b;b=(k[e>>2]|0)+89|0;i[b>>0]=i[b>>0]&127|(k[h>>2]&1)<<7&255;r=j;return}function CH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0;p=r;r=r+32|0;d=p+16|0;e=p+12|0;f=p+8|0;g=p+20|0;h=p+4|0;n=p;k[e>>2]=a;k[f>>2]=b;i[g>>0]=c;k[h>>2]=k[(k[e>>2]|0)+4>>2];if(!(i[(k[e>>2]|0)+9>>0]|0)){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((k[(k[h>>2]|0)+76>>2]|0)!=(k[e>>2]|0)?(m[(k[h>>2]|0)+22>>1]&32|0)!=0:0){k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}k[n>>2]=k[(k[h>>2]|0)+72>>2];while(1){if(!(k[n>>2]|0)){o=15;break}if(((k[k[n>>2]>>2]|0)!=(k[e>>2]|0)?(k[(k[n>>2]|0)+4>>2]|0)==(k[f>>2]|0):0)?(l[(k[n>>2]|0)+8>>0]|0)!=(l[g>>0]|0):0)break;k[n>>2]=k[(k[n>>2]|0)+12>>2]}if((o|0)==15){k[d>>2]=0;o=k[d>>2]|0;r=p;return o|0}if((l[g>>0]|0)==2){o=(k[h>>2]|0)+22|0;j[o>>1]=m[o>>1]|64}k[d>>2]=262;o=k[d>>2]|0;r=p;return o|0}function DH(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;h=r;r=r+32|0;d=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;k[j>>2]=a;k[e>>2]=b;k[f>>2]=c;k[g>>2]=k[(k[j>>2]|0)+8>>2];while(1){if(!(k[g>>2]|0))break;if((k[g>>2]|0)!=(k[f>>2]|0)){if(!(k[e>>2]|0))break;if((k[(k[g>>2]|0)+52>>2]|0)==(k[e>>2]|0))break}k[g>>2]=k[(k[g>>2]|0)+8>>2]}if(k[g>>2]|0){j=EH(k[g>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=j;j=k[d>>2]|0;r=h;return j|0}if(k[f>>2]|0){j=(k[f>>2]|0)+64|0;i[j>>0]=(l[j>>0]|0)&-33}k[d>>2]=0;j=k[d>>2]|0;r=h;return j|0}function EH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;g=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;h=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;a:while(1){do if((k[d>>2]|0)!=(k[f>>2]|0)){if(0!=(k[e>>2]|0)?(k[(k[d>>2]|0)+52>>2]|0)!=(k[e>>2]|0):0)break;if((l[(k[d>>2]|0)+66>>0]|0|0)!=1?(l[(k[d>>2]|0)+66>>0]|0|0)!=2:0){GH(k[d>>2]|0);break}c=FH(k[d>>2]|0)|0;k[h>>2]=c;if(k[h>>2]|0){d=8;break a}}while(0);k[d>>2]=k[(k[d>>2]|0)+8>>2];if(!(k[d>>2]|0)){d=11;break}}if((d|0)==8){k[g>>2]=k[h>>2];h=k[g>>2]|0;r=i;return h|0}else if((d|0)==11){k[g>>2]=0;h=k[g>>2]|0;r=i;return h|0}return 0}function FH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;a=k[b>>2]|0;if((l[(k[b>>2]|0)+66>>0]|0|0)==2)i[a+66>>0]=1;else k[a+60>>2]=0;a=HH(k[b>>2]|0)|0;k[c>>2]=a;if(!(k[c>>2]|0)){GH(k[b>>2]|0);i[(k[b>>2]|0)+66>>0]=3}b=(k[b>>2]|0)+64|0;i[b>>0]=(l[b>>0]|0)&-15;r=d;return k[c>>2]|0}function GH(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;while(1){if((k[c>>2]|0)>(i[(k[b>>2]|0)+68>>0]|0))break;GB(k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]|0);k[(k[b>>2]|0)+120+(k[c>>2]<<2)>>2]=0;k[c>>2]=(k[c>>2]|0)+1}i[(k[b>>2]|0)+68>>0]=-1;r=d;return}function HH(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;c=e+8|0;d=e+4|0;b=e;k[c>>2]=a;a=IH(k[c>>2]|0,(k[c>>2]|0)+40|0)|0;k[d>>2]=a;if(l[(k[c>>2]|0)+69>>0]|0){d=k[d>>2]|0;r=e;return d|0}a=(k[c>>2]|0)+40|0;a=jg(k[a>>2]|0,k[a+4>>2]|0)|0;k[b>>2]=a;if(!(k[b>>2]|0)){k[d>>2]=7;d=k[d>>2]|0;r=e;return d|0}a=JH(k[c>>2]|0,0,k[(k[c>>2]|0)+40>>2]|0,k[b>>2]|0)|0;k[d>>2]=a;a=k[b>>2]|0;if(!(k[d>>2]|0)){k[(k[c>>2]|0)+48>>2]=a;d=k[d>>2]|0;r=e;return d|0}else{Ud(a);d=k[d>>2]|0;r=e;return d|0}return 0}function IH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;zF(k[d>>2]|0);d=(k[d>>2]|0)+16|0;a=k[d+4>>2]|0;b=k[e>>2]|0;k[b>>2]=k[d>>2];k[b+4>>2]=a;r=c;return 0}function JH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=r;r=r+16|0;i=e+12|0;h=e+8|0;g=e+4|0;f=e;k[i>>2]=a;k[h>>2]=b;k[g>>2]=c;k[f>>2]=d;a=yF(k[i>>2]|0,k[h>>2]|0,k[g>>2]|0,k[f>>2]|0,0)|0;r=e;return a|0}function KH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;wg(k[k[c>>2]>>2]|0);r=b;return}function LH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+64|0;i[a>>0]=l[a>>0]|0|16;i[(k[k[c>>2]>>2]|0)+11>>0]=1;r=b;return}function MH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+8|0;e=g+4|0;f=g;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;if(k[e>>2]|0){f=k[e>>2]|0;r=g;return f|0}k[f>>2]=(k[f>>2]|0)+7&-8;c=k[f>>2]|0;a=k[d>>2]|0;if((k[f>>2]|0)<=(k[(k[d>>2]|0)+4>>2]|0)){f=a+4|0;k[f>>2]=(k[f>>2]|0)-c;k[e>>2]=(k[k[d>>2]>>2]|0)+(k[(k[d>>2]|0)+4>>2]|0);f=k[e>>2]|0;r=g;return f|0}else{f=a+8|0;k[f>>2]=(k[f>>2]|0)+c;f=k[e>>2]|0;r=g;return f|0}return 0}function NH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=r;r=r+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;if(i[(k[f>>2]|0)+1>>0]|0){GA(k[k[e>>2]>>2]|0,i[(k[f>>2]|0)+1>>0]|0,k[(k[f>>2]|0)+16>>2]|0);i[(k[f>>2]|0)+1>>0]=0;k[(k[f>>2]|0)+16>>2]=0}if((k[h>>2]|0)<0){Uh(k[e>>2]|0,((k[f>>2]|0)-(k[(k[e>>2]|0)+4>>2]|0)|0)/20|0,k[g>>2]|0,k[h>>2]|0);r=j;return}if(!(k[h>>2]|0)){c=Tf(k[g>>2]|0)|0;k[h>>2]=c}c=k[h>>2]|0;c=Yw(k[k[e>>2]>>2]|0,k[g>>2]|0,c,((c|0)<0)<<31>>31)|0;k[(k[f>>2]|0)+16>>2]=c;i[(k[f>>2]|0)+1>>0]=-1;r=j;return}function OH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=(k[c>>2]|0)+12|0;k[a>>2]=(k[a>>2]|0)+1;r=b;return}function PH(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return l[(k[b>>2]|0)+9>>0]|0|0}function QH(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;q=r;r=r+48|0;o=q;c=q+36|0;d=q+32|0;e=q+28|0;h=q+24|0;m=q+20|0;p=q+16|0;g=q+12|0;n=q+8|0;f=q+4|0;k[d>>2]=a;k[e>>2]=b;k[h>>2]=k[k[e>>2]>>2];k[p>>2]=0;k[f>>2]=k[k[d>>2]>>2];if(k[(k[e>>2]|0)+16>>2]|0){k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}if((k[(k[h>>2]|0)+4>>2]|0)!=0?(k[(k[h>>2]|0)+4>>2]|0)!=(k[(k[h>>2]|0)+8>>2]|0):0){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}a=(Tf(k[(k[e>>2]|0)+4>>2]|0)|0)+1|0;k[g>>2]=a;a=Bh(k[f>>2]|0,72+(k[g>>2]|0)|0,0)|0;k[m>>2]=a;if(!(k[m>>2]|0)){k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}k[(k[e>>2]|0)+16>>2]=k[m>>2];k[k[m>>2]>>2]=(k[m>>2]|0)+72;BR(k[k[m>>2]>>2]|0,k[(k[e>>2]|0)+4>>2]|0,k[g>>2]|0)|0;j[(k[m>>2]|0)+36>>1]=1;k[(k[m>>2]|0)+64>>2]=k[(k[(k[f>>2]|0)+16>>2]|0)+12>>2];a=(k[m>>2]|0)+42|0;i[a>>0]=l[a>>0]|0|16;k[(k[m>>2]|0)+48>>2]=0;j[(k[m>>2]|0)+32>>1]=-1;a=k[f>>2]|0;b=k[m>>2]|0;$w(a,b,zh(k[f>>2]|0,k[k[m>>2]>>2]|0)|0);$w(k[f>>2]|0,k[m>>2]|0,0);b=k[f>>2]|0;a=k[m>>2]|0;$w(b,a,zh(k[f>>2]|0,k[k[m>>2]>>2]|0)|0);m=Ez(k[f>>2]|0,k[m>>2]|0,k[e>>2]|0,k[(k[h>>2]|0)+8>>2]|0,p)|0;k[n>>2]=m;if(k[n>>2]|0){n=k[d>>2]|0;k[o>>2]=k[p>>2];Mh(n,18999,o);bg(k[f>>2]|0,k[p>>2]|0);RH(k[f>>2]|0,k[e>>2]|0);k[c>>2]=0;p=k[c>>2]|0;r=q;return p|0}else{k[c>>2]=1;p=k[c>>2]|0;r=q;return p|0}return 0}function RH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[(k[d>>2]|0)+16>>2];if(!(k[e>>2]|0)){r=f;return}gH(k[c>>2]|0,k[e>>2]|0);SH(k[c>>2]|0,k[e>>2]|0);bg(k[c>>2]|0,k[e>>2]|0);k[(k[d>>2]|0)+16>>2]=0;r=f;return}function SH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!((k[c>>2]|0)!=0?(k[(k[c>>2]|0)+456>>2]|0)!=0:0))TH(0,k[d>>2]|0)|0;if(!(k[(k[d>>2]|0)+52>>2]|0)){r=f;return}k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[d>>2]|0)+48>>2]|0))break;if((k[e>>2]|0)!=1)bg(k[c>>2]|0,k[(k[(k[d>>2]|0)+52>>2]|0)+(k[e>>2]<<2)>>2]|0);k[e>>2]=(k[e>>2]|0)+1}bg(k[c>>2]|0,k[(k[d>>2]|0)+52>>2]|0);r=f;return}function TH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;c=i+20|0;d=i+16|0;g=i+12|0;h=i+8|0;e=i+4|0;f=i;k[c>>2]=a;k[d>>2]=b;k[g>>2]=0;k[h>>2]=k[(k[d>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=0;while(1){if(!(k[h>>2]|0))break;k[e>>2]=k[k[h>>2]>>2];k[f>>2]=k[(k[h>>2]|0)+24>>2];if((k[e>>2]|0)==(k[c>>2]|0)){k[g>>2]=k[h>>2];k[(k[d>>2]|0)+56>>2]=k[g>>2];k[(k[g>>2]|0)+24>>2]=0}else{k[(k[h>>2]|0)+24>>2]=k[(k[e>>2]|0)+344>>2];k[(k[e>>2]|0)+344>>2]=k[h>>2]}k[h>>2]=k[f>>2]}r=i;return k[g>>2]|0}function UH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;c=e+4|0;d=e;k[c>>2]=a;k[d>>2]=b;eh(k[c>>2]|0);b=k[c>>2]|0;a=k[d>>2]|0;c=b+40|0;do{k[b>>2]=k[a>>2];b=b+4|0;a=a+4|0}while((b|0)<(c|0));j[(k[d>>2]|0)+8>>1]=1;k[(k[d>>2]|0)+24>>2]=0;r=e;return}function VH(){return 312}function WH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=r;r=r+224|0;d=c+220|0;e=c+216|0;h=c;g=c+212|0;f=c+208|0;k[d>>2]=a;k[e>>2]=b;BR(h|0,k[d>>2]|0,208)|0;BR(k[d>>2]|0,k[e>>2]|0,208)|0;BR(k[e>>2]|0,h|0,208)|0;k[g>>2]=k[(k[d>>2]|0)+52>>2];k[(k[d>>2]|0)+52>>2]=k[(k[e>>2]|0)+52>>2];k[(k[e>>2]|0)+52>>2]=k[g>>2];k[g>>2]=k[(k[d>>2]|0)+48>>2];k[(k[d>>2]|0)+48>>2]=k[(k[e>>2]|0)+48>>2];k[(k[e>>2]|0)+48>>2]=k[g>>2];k[f>>2]=k[(k[d>>2]|0)+168>>2];k[(k[d>>2]|0)+168>>2]=k[(k[e>>2]|0)+168>>2];k[(k[e>>2]|0)+168>>2]=k[f>>2];b=(k[e>>2]|0)+89|0;i[b>>0]=i[b>>0]&127|((l[(k[d>>2]|0)+89>>0]|0)>>>7&1)<<7&255;r=c;return}function XH(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;k[(k[c>>2]|0)+80>>2]=0;r=b;return}function YH(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0.0;g=r;r=r+32|0;c=g+16|0;d=g+12|0;f=g+8|0;e=g;k[c>>2]=a;k[d>>2]=b;if((k[k[c>>2]>>2]|0)>=2?(k[(k[c>>2]|0)+72>>2]|0)!=0:0){e=gc[k[(k[c>>2]|0)+72>>2]&255](k[c>>2]|0,k[d>>2]|0)|0;k[f>>2]=e;f=k[f>>2]|0;r=g;return f|0}a=gc[k[(k[c>>2]|0)+64>>2]&255](k[c>>2]|0,e)|0;k[f>>2]=a;h=+p[e>>3]*864.0e5;a=+W(h)>=1.0?(h>0.0?~~+ia(+V(h/4294967296.0),4294967295.0)>>>0:~~+ga((h-+(~~h>>>0))/4294967296.0)>>>0):0;e=k[d>>2]|0;k[e>>2]=~~h>>>0;k[e+4>>2]=a;f=k[f>>2]|0;r=g;return f|0}function ZH(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=r;r=r+80|0;w=y+8|0;p=y;q=y+68|0;s=y+64|0;h=y+60|0;n=y+56|0;b=y+52|0;o=y+48|0;c=y+44|0;d=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;e=y+20|0;g=y+16|0;f=y+12|0;k[s>>2]=a;k[n>>2]=0;k[b>>2]=0;k[o>>2]=0;k[c>>2]=k[k[s>>2]>>2];k[v>>2]=0;k[t>>2]=(k[(k[s>>2]|0)+8>>2]|0)+40;EC(k[t>>2]|0,8);k[(k[s>>2]|0)+20>>2]=0;if((k[(k[s>>2]|0)+80>>2]|0)==7){vh(k[c>>2]|0);k[q>>2]=1;x=k[q>>2]|0;r=y;return x|0}k[h>>2]=k[(k[s>>2]|0)+32>>2];a:do if((i[(k[s>>2]|0)+89>>0]&3|0)==1){k[o>>2]=(k[(k[s>>2]|0)+8>>2]|0)+360;if(m[(k[o>>2]|0)+8>>1]&16){k[n>>2]=((k[(k[o>>2]|0)+12>>2]|0)>>>0)/4|0;k[b>>2]=k[(k[o>>2]|0)+16>>2]}k[d>>2]=0;while(1){if((k[d>>2]|0)>=(k[n>>2]|0))break a;k[h>>2]=(k[h>>2]|0)+(k[(k[(k[b>>2]|0)+(k[d>>2]<<2)>>2]|0)+4>>2]|0);k[d>>2]=(k[d>>2]|0)+1}}while(0);do{z=(k[s>>2]|0)+76|0;a=k[z>>2]|0;k[z>>2]=a+1;k[d>>2]=a;if((k[d>>2]|0)>=(k[h>>2]|0))break;if((i[(k[s>>2]|0)+89>>0]&3|0)!=2)break}while((l[(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0)>>0]|0)!=161);do if((k[d>>2]|0)>=(k[h>>2]|0)){k[(k[s>>2]|0)+80>>2]=0;k[v>>2]=101}else{if(k[(k[c>>2]|0)+248>>2]|0){k[(k[s>>2]|0)+80>>2]=9;k[v>>2]=1;z=k[s>>2]|0;gI(z,uh(k[(k[s>>2]|0)+80>>2]|0)|0,p);break}if((k[d>>2]|0)<(k[(k[s>>2]|0)+32>>2]|0))k[u>>2]=(k[(k[s>>2]|0)+4>>2]|0)+((k[d>>2]|0)*20|0);else{k[d>>2]=(k[d>>2]|0)-(k[(k[s>>2]|0)+32>>2]|0);k[e>>2]=0;while(1){if((k[d>>2]|0)<(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0))break;k[d>>2]=(k[d>>2]|0)-(k[(k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]|0)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}k[u>>2]=(k[k[(k[b>>2]|0)+(k[e>>2]<<2)>>2]>>2]|0)+((k[d>>2]|0)*20|0)}if((i[(k[s>>2]|0)+89>>0]&3|0)==1?(j[(k[t>>2]|0)+8>>1]=4,p=k[d>>2]|0,z=k[t>>2]|0,k[z>>2]=p,k[z+4>>2]=((p|0)<0)<<31>>31,k[t>>2]=(k[t>>2]|0)+40,j[(k[t>>2]|0)+8>>1]=2562,z=CM(l[k[u>>2]>>0]|0)|0,k[(k[t>>2]|0)+16>>2]=z,z=Tf(k[(k[t>>2]|0)+16>>2]|0)|0,k[(k[t>>2]|0)+12>>2]=z,i[(k[t>>2]|0)+10>>0]=1,k[t>>2]=(k[t>>2]|0)+40,(i[(k[u>>2]|0)+1>>0]|0)==-18):0){k[g>>2]=(k[n>>2]|0)+1<<2;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[n>>2]|0))break;if((k[(k[b>>2]|0)+(k[f>>2]<<2)>>2]|0)==(k[(k[u>>2]|0)+16>>2]|0))break;k[f>>2]=(k[f>>2]|0)+1}if((k[f>>2]|0)==(k[n>>2]|0)?0==(Kx(k[o>>2]|0,k[g>>2]|0,(k[n>>2]|0)!=0&1)|0):0){k[b>>2]=k[(k[o>>2]|0)+16>>2];p=k[(k[u>>2]|0)+16>>2]|0;z=k[n>>2]|0;k[n>>2]=z+1;k[(k[b>>2]|0)+(z<<2)>>2]=p;z=(k[o>>2]|0)+8|0;j[z>>1]=m[z>>1]|16;k[(k[o>>2]|0)+12>>2]=k[n>>2]<<2}}j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+4>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;z=k[(k[u>>2]|0)+8>>2]|0;p=k[t>>2]|0;k[p>>2]=z;k[p+4>>2]=((z|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=4;p=k[(k[u>>2]|0)+12>>2]|0;z=k[t>>2]|0;k[z>>2]=p;k[z+4>>2]=((p|0)<0)<<31>>31;k[t>>2]=(k[t>>2]|0)+40;if(Jx(k[t>>2]|0,100)|0){k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}j[(k[t>>2]|0)+8>>1]=514;b=DM(k[u>>2]|0,k[(k[t>>2]|0)+16>>2]|0,k[(k[t>>2]|0)+24>>2]|0)|0;k[x>>2]=b;b=k[t>>2]|0;if((k[x>>2]|0)!=(k[(k[t>>2]|0)+16>>2]|0))ph(b,k[x>>2]|0,-1,1,0)|0;else{z=Tf(k[b+16>>2]|0)|0;k[(k[t>>2]|0)+12>>2]=z;i[(k[t>>2]|0)+10>>0]=1}k[t>>2]=(k[t>>2]|0)+40;do if((i[(k[s>>2]|0)+89>>0]&3|0)==1){if(!(Jx(k[t>>2]|0,4)|0)){j[(k[t>>2]|0)+8>>1]=514;k[(k[t>>2]|0)+12>>2]=2;z=k[(k[t>>2]|0)+16>>2]|0;k[w>>2]=l[(k[u>>2]|0)+3>>0];_d(3,z,43017,w)|0;i[(k[t>>2]|0)+10>>0]=1;k[t>>2]=(k[t>>2]|0)+40;j[(k[t>>2]|0)+8>>1]=1;break}k[q>>2]=1;z=k[q>>2]|0;r=y;return z|0}while(0);j[(k[s>>2]|0)+84>>1]=8-((i[(k[s>>2]|0)+89>>0]&3)-1<<2);k[(k[s>>2]|0)+20>>2]=(k[(k[s>>2]|0)+8>>2]|0)+40;k[(k[s>>2]|0)+80>>2]=0;k[v>>2]=100}while(0);k[q>>2]=k[v>>2];z=k[q>>2]|0;r=y;return z|0}function _H(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Zb=0,_b=0,ac=0,dc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=r;r=r+1824|0;Je=vf+496|0;Ie=vf+488|0;He=vf+480|0;mf=vf+464|0;lf=vf+456|0;Ge=vf+448|0;Fe=vf+440|0;Ee=vf+432|0;De=vf+424|0;Ce=vf+416|0;Be=vf+400|0;jf=vf+392|0;Ae=vf+384|0;ze=vf+376|0;ye=vf+368|0;xe=vf+360|0;we=vf+352|0;hf=vf+336|0;gf=vf+328|0;ff=vf+320|0;ve=vf+312|0;pf=vf+1612|0;cf=vf+1608|0;tf=vf+1604|0;uf=vf+1600|0;qf=vf+1596|0;ef=vf+1819|0;F=vf+1818|0;ca=vf+1592|0;sf=vf+1588|0;bb=vf+1584|0;e=vf+1580|0;Mc=vf+1576|0;Nc=vf+1572|0;Oc=vf+1568|0;gd=vf+1564|0;g=vf+1560|0;rf=vf+304|0;b=vf+1556|0;Vb=vf+1552|0;Ed=vf+1548|0;of=vf+1544|0;nf=vf+1540|0;Ec=vf+1536|0;df=vf+1532|0;A=vf+1528|0;hb=vf+1626|0;td=vf+1524|0;Fa=vf+1520|0;nb=vf+1516|0;rb=vf+1512|0;Ga=vf+1508|0;Uc=vf+1504|0;P=vf+1500|0;Oa=vf+296|0;w=vf+1817|0;J=vf+1624|0;ne=vf+1622|0;oe=vf+1620|0;_=vf+288|0;aa=vf+280|0;Md=vf+272|0;Nd=vf+264|0;Ha=vf+1496|0;kc=vf+1492|0;U=vf+1488|0;lc=vf+1484|0;$=vf+256|0;pe=vf+248|0;ba=vf+240|0;lb=vf+1816|0;Od=vf+1480|0;q=vf+1815|0;K=vf+1618|0;M=vf+1616|0;Ka=vf+1476|0;X=vf+1472|0;pb=vf+1468|0;sb=vf+1464|0;Qc=vf+1460|0;va=vf+1456|0;Wb=vf+1452|0;x=vf+1448|0;re=vf+1444|0;se=vf+1440|0;y=vf+1436|0;Dd=vf+232|0;tb=vf+1432|0;Ab=vf+1428|0;Xb=vf+1424|0;f=vf+1420|0;Da=vf+1416|0;R=vf+1412|0;Bc=vf+1408|0;ee=vf+192|0;Re=vf+1404|0;Ve=vf+1400|0;Te=vf+1396|0;jb=vf+1392|0;kb=vf+184|0;v=vf+1388|0;ie=vf+1384|0;ld=vf+1380|0;Pe=vf+1376|0;z=vf+1814|0;Ze=vf+1372|0;kd=vf+1368|0;Sa=vf+176|0;Ya=vf+1364|0;Pa=vf+168|0;eb=vf+160|0;db=vf+1360|0;he=vf+1356|0;xc=vf+1352|0;Tc=vf+1348|0;Va=vf+1344|0;Qe=vf+1340|0;I=vf+1336|0;T=vf+1332|0;Ca=vf+1328|0;Ea=vf+1324|0;Ta=vf+152|0;Zb=vf+1320|0;ob=vf+1316|0;Ye=vf+1312|0;ab=vf+1308|0;fd=vf+1304|0;nd=vf+1300|0;pd=vf+1296|0;ta=vf+1292|0;wa=vf+1288|0;Aa=vf+1284|0;za=vf+1280|0;C=vf+1276|0;sa=vf+1272|0;wb=vf+1268|0;oa=vf+1264|0;ka=vf+1260|0;pa=vf+1256|0;ea=vf+1252|0;da=vf+1248|0;yc=vf+1244|0;Wa=vf+1240|0;Rc=vf+1236|0;ub=vf+1232|0;fa=vf+1228|0;Le=vf+1224|0;Bd=vf+1220|0;oc=vf+1216|0;zc=vf+1212|0;tc=vf+1208|0;Sc=vf+1204|0;Fd=vf+1200|0;uc=vf+1196|0;Bb=vf+1192|0;vc=vf+1188|0;Rd=vf+1184|0;ib=vf+1180|0;Cb=vf+1176|0;Id=vf+1160|0;Xa=vf+1152|0;la=vf+144|0;G=vf+1148|0;s=vf+1144|0;me=vf+1140|0;xa=vf+1136|0;Db=vf+1132|0;Sd=vf+1128|0;Jc=vf+1124|0;Kc=vf+1120|0;Jd=vf+1104|0;o=vf+1631|0;Eb=vf+1100|0;_b=vf+1096|0;Td=vf+1092|0;ma=vf+136|0;qe=vf+128|0;Fb=vf+1088|0;Ud=vf+1084|0;B=vf+1080|0;Vc=vf+1076|0;Fc=vf+1072|0;wc=vf+1068|0;Pc=vf+1064|0;na=vf+120|0;Gb=vf+1060|0;fb=vf+1056|0;ge=vf+1052|0;Se=vf+1048|0;af=vf+1044|0;mb=vf+1040|0;Hb=vf+1036|0;O=vf+1630|0;Ib=vf+1032|0;Vd=vf+1028|0;_a=vf+1024|0;Jb=vf+1020|0;Kb=vf+1016|0;ac=vf+1012|0;Ia=vf+1008|0;Ja=vf+112|0;Lb=vf+1004|0;te=vf+104|0;ud=vf+1e3|0;_c=vf+996|0;Mb=vf+992|0;Nb=vf+988|0;dc=vf+984|0;Wd=vf+980|0;Ob=vf+976|0;ic=vf+972|0;Xd=vf+968|0;Pb=vf+964|0;Yd=vf+960|0;Qb=vf+956|0;Za=vf+952|0;We=vf+948|0;Rb=vf+944|0;jc=vf+940|0;Zd=vf+936|0;Kd=vf+920|0;Sb=vf+916|0;od=vf+912|0;be=vf+96|0;Tb=vf+908|0;_d=vf+904|0;Ld=vf+888|0;qa=vf+884|0;ha=vf+880|0;Ra=vf+876|0;Ub=vf+872|0;Gd=vf+868|0;N=vf+864|0;Ac=vf+860|0;ja=vf+856|0;Xe=vf+852|0;_e=vf+848|0;ya=vf+832|0;cb=vf+824|0;n=vf+820|0;Ua=vf+816|0;Me=vf+812|0;Hd=vf+808|0;ue=vf+88|0;ua=vf+804|0;H=vf+800|0;$a=vf+796|0;Qa=vf+792|0;md=vf+788|0;Wc=vf+784|0;Dc=vf+780|0;Gc=vf+776|0;id=vf+772|0;je=vf+768|0;Hc=vf+764|0;Lc=vf+760|0;Ic=vf+756|0;La=vf+752|0;mc=vf+748|0;Y=vf+744|0;nc=vf+740|0;Xc=vf+736|0;le=vf+48|0;Yc=vf+732|0;Z=vf+728|0;h=vf+716|0;Zc=vf+712|0;yb=vf+708|0;hd=vf+704|0;D=vf+700|0;E=vf+696|0;Ue=vf+692|0;zb=vf+688|0;Ba=vf+1629|0;qb=vf+684|0;Ne=vf+680|0;sd=vf+676|0;fe=vf+8|0;$e=vf+672|0;pc=vf+668|0;qd=vf+664|0;vd=vf+660|0;$c=vf+656|0;Ma=vf+652|0;ra=vf+648|0;ad=vf+644|0;jd=vf+640|0;vb=vf+636|0;rd=vf+632|0;wd=vf+628|0;qc=vf+624|0;Pd=vf+620|0;Q=vf+616|0;t=vf+612|0;xd=vf+608|0;bd=vf+604|0;Cc=vf+600|0;de=vf+568|0;rc=vf+564|0;yd=vf+560|0;cd=vf+556|0;Qd=vf+552|0;sc=vf+548|0;zd=vf+544|0;ed=vf+540|0;Ad=vf+536|0;dd=vf+532|0;Na=vf+528|0;S=vf+524|0;ce=vf;u=vf+520|0;Cd=vf+516|0;Ke=vf+1628|0;gb=vf+512|0;xb=vf+508|0;bf=vf+504|0;Oe=vf+500|0;k[pf>>2]=a;k[cf>>2]=k[(k[pf>>2]|0)+4>>2];k[tf>>2]=k[cf>>2];k[uf>>2]=0;k[qf>>2]=k[k[pf>>2]>>2];i[ef>>0]=0;i[F>>0]=i[(k[qf>>2]|0)+66>>0]|0;k[ca>>2]=0;k[sf>>2]=0;k[bb>>2]=0;k[e>>2]=k[(k[pf>>2]|0)+8>>2];k[Mc>>2]=0;k[Nc>>2]=0;k[Oc>>2]=0;k[gd>>2]=0;k[g>>2]=0;wf=(k[qf>>2]|0)+32|0;a=k[wf+4>>2]|0;c=rf;k[c>>2]=k[wf>>2];k[c+4>>2]=a;dI(k[pf>>2]|0);a:do if((k[(k[pf>>2]|0)+80>>2]|0)==7)d=883;else{k[(k[pf>>2]|0)+80>>2]=0;wf=(k[pf>>2]|0)+136|0;k[wf>>2]=0;k[wf+4>>2]=0;k[(k[pf>>2]|0)+20>>2]=0;k[(k[qf>>2]|0)+380+8>>2]=0;b:do if(!(k[(k[qf>>2]|0)+248>>2]|0)){if(k[(k[qf>>2]|0)+304>>2]|0){k[b>>2]=k[(k[pf>>2]|0)+108+16>>2];k[bb>>2]=(k[(k[qf>>2]|0)+312>>2]|0)-(((k[b>>2]|0)>>>0)%((k[(k[qf>>2]|0)+312>>2]|0)>>>0)|0)}k[tf>>2]=(k[cf>>2]|0)+((k[(k[pf>>2]|0)+76>>2]|0)*20|0);c:while(1){k[sf>>2]=(k[sf>>2]|0)+1;d:do switch(l[k[tf>>2]>>0]|0){case 33:{d=70;break c}case 1:{d=391;break c}case 13:{d=7;break}case 14:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);j[(k[Mc>>2]|0)+8>>1]=4;wf=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;d=k[Mc>>2]|0;k[d>>2]=wf;k[d+4>>2]=((wf|0)<0)<<31>>31;d=14;break}case 15:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[tf>>2]=(k[cf>>2]|0)+((k[k[Mc>>2]>>2]|0)*20|0);j[(k[Mc>>2]|0)+8>>1]=128;break}case 16:{k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);c=(k[(k[tf>>2]|0)+12>>2]|0)-1|0;wf=k[gd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;j[(k[gd>>2]|0)+8>>1]=4;if(k[(k[tf>>2]|0)+8>>2]|0)d=14;break}case 17:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Vb>>2]=(k[cf>>2]|0)+((k[k[Mc>>2]>>2]|0)*20|0);k[tf>>2]=(k[cf>>2]|0)+(((k[(k[Vb>>2]|0)+8>>2]|0)-1|0)*20|0);j[(k[Mc>>2]|0)+8>>1]=128;break}case 18:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);j[(k[Mc>>2]|0)+8>>1]=4;k[Ed>>2]=k[k[Mc>>2]>>2];c=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;wf=k[Mc>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;k[tf>>2]=(k[cf>>2]|0)+((k[Ed>>2]|0)*20|0);break}case 20:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Oc>>2]|0)+8>>1]&1)d=20;break}case 21:{d=20;break}case 22:{c=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=c;c=k[(k[tf>>2]|0)+4>>2]|0;wf=k[gd>>2]|0;k[wf>>2]=c;k[wf+4>>2]=((c|0)<0)<<31>>31;break}case 23:{a=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=a;a=k[(k[tf>>2]|0)+16>>2]|0;c=k[a+4>>2]|0;wf=k[gd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;break}case 133:{wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;j[(k[gd>>2]|0)+8>>1]=8;p[k[gd>>2]>>3]=+p[k[(k[tf>>2]|0)+16>>2]>>3];break}case 97:{wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;i[k[tf>>2]>>0]=24;wf=Tf(k[(k[tf>>2]|0)+16>>2]|0)|0;k[(k[tf>>2]|0)+4>>2]=wf;if((l[F>>0]|0)!=1){wf=ph(k[gd>>2]|0,k[(k[tf>>2]|0)+16>>2]|0,-1,1,0)|0;k[uf>>2]=wf;if(k[uf>>2]|0){d=882;break c}if(nu(k[gd>>2]|0,l[F>>0]|0)|0){d=883;break a}k[(k[gd>>2]|0)+24>>2]=0;wf=(k[gd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|2048;if((i[(k[tf>>2]|0)+1>>0]|0)==-1)bg(k[qf>>2]|0,k[(k[tf>>2]|0)+16>>2]|0);i[(k[tf>>2]|0)+1>>0]=-1;k[(k[tf>>2]|0)+16>>2]=k[(k[gd>>2]|0)+16>>2];k[(k[tf>>2]|0)+4>>2]=k[(k[gd>>2]|0)+12>>2]}if((k[(k[tf>>2]|0)+4>>2]|0)>(k[(k[qf>>2]|0)+92>>2]|0)){d=882;break c}else d=49;break}case 24:{d=49;break}case 25:{wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;k[A>>2]=(k[(k[tf>>2]|0)+12>>2]|0)-(k[(k[tf>>2]|0)+8>>2]|0);wf=((k[(k[tf>>2]|0)+4>>2]|0)!=0?257:1)&65535;j[hb>>1]=wf;j[(k[gd>>2]|0)+8>>1]=wf;while(1){if((k[A>>2]|0)<=0)break d;k[gd>>2]=(k[gd>>2]|0)+40;rh(k[gd>>2]|0);j[(k[gd>>2]|0)+8>>1]=j[hb>>1]|0;k[A>>2]=(k[A>>2]|0)+-1}}case 26:{k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);j[(k[gd>>2]|0)+8>>1]=(m[(k[gd>>2]|0)+8>>1]|1)&-129;break}case 27:{wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;ph(k[gd>>2]|0,k[(k[tf>>2]|0)+16>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,0,0)|0;i[(k[gd>>2]|0)+10>>0]=i[F>>0]|0;break}case 28:{k[td>>2]=(k[(k[pf>>2]|0)+60>>2]|0)+(((k[(k[tf>>2]|0)+4>>2]|0)-1|0)*40|0);if(jI(k[td>>2]|0)|0){d=882;break c}wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;SF(k[gd>>2]|0,k[td>>2]|0,2048);break}case 29:{k[Fa>>2]=k[(k[tf>>2]|0)+12>>2];k[nb>>2]=k[(k[tf>>2]|0)+4>>2];k[rb>>2]=k[(k[tf>>2]|0)+8>>2];k[Mc>>2]=(k[e>>2]|0)+((k[nb>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[rb>>2]|0)*40|0);do{UH(k[gd>>2]|0,k[Mc>>2]|0);if((m[(k[gd>>2]|0)+8>>1]&4096|0)!=0?(kh(k[gd>>2]|0)|0)!=0:0){d=883;break a}k[Mc>>2]=(k[Mc>>2]|0)+40;k[gd>>2]=(k[gd>>2]|0)+40;wf=(k[Fa>>2]|0)+-1|0;k[Fa>>2]=wf}while((wf|0)!=0);break}case 30:{k[Ga>>2]=k[(k[tf>>2]|0)+12>>2];k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);while(1){SF(k[gd>>2]|0,k[Mc>>2]|0,4096);if((m[(k[gd>>2]|0)+8>>1]&4096|0)!=0?(kh(k[gd>>2]|0)|0)!=0:0){d=883;break a}wf=k[Ga>>2]|0;k[Ga>>2]=wf+-1;if(!wf)break d;k[gd>>2]=(k[gd>>2]|0)+40;k[Mc>>2]=(k[Mc>>2]|0)+40}}case 31:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);SF(k[gd>>2]|0,k[Mc>>2]|0,4096);break}case 32:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);wf=k[Mc>>2]|0;qh(k[gd>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0);break}case 94:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]|m[(k[Nc>>2]|0)+8>>1])&1){rh(k[gd>>2]|0);break d}if((m[(k[Mc>>2]|0)+8>>1]&16384|0)!=0?(fh(k[Mc>>2]|0)|0)!=0:0){d=883;break a}if((m[(k[Nc>>2]|0)+8>>1]&16384|0)!=0?(fh(k[Nc>>2]|0)|0)!=0:0){d=883;break a}if((m[(k[Mc>>2]|0)+8>>1]&18|0)==0?(Ix(k[Mc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=883;break a}if((m[(k[Nc>>2]|0)+8>>1]&18|0)==0?(Ix(k[Nc>>2]|0,i[F>>0]|0,0)|0)!=0:0){d=883;break a}b=(k[(k[Mc>>2]|0)+12>>2]|0)+(k[(k[Nc>>2]|0)+12>>2]|0)|0;c=Oa;k[c>>2]=b;k[c+4>>2]=((b|0)<0)<<31>>31;c=Oa;b=k[c+4>>2]|0;wf=k[(k[qf>>2]|0)+92>>2]|0;a=((wf|0)<0)<<31>>31;if((b|0)>(a|0)|((b|0)==(a|0)?(k[c>>2]|0)>>>0>wf>>>0:0)){d=882;break c}if(Kx(k[gd>>2]|0,(k[Oa>>2]|0)+2|0,(k[gd>>2]|0)==(k[Nc>>2]|0)&1)|0){d=883;break a}j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|2;if((k[gd>>2]|0)!=(k[Nc>>2]|0))BR(k[(k[gd>>2]|0)+16>>2]|0,k[(k[Nc>>2]|0)+16>>2]|0,k[(k[Nc>>2]|0)+12>>2]|0)|0;BR((k[(k[gd>>2]|0)+16>>2]|0)+(k[(k[Nc>>2]|0)+12>>2]|0)|0,k[(k[Mc>>2]|0)+16>>2]|0,k[(k[Mc>>2]|0)+12>>2]|0)|0;i[(k[(k[gd>>2]|0)+16>>2]|0)+(k[Oa>>2]|0)>>0]=0;wf=Oa;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;i[(k[(k[gd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(k[gd>>2]|0)+8|0;j[wf>>1]=m[wf>>1]|512;k[(k[gd>>2]|0)+12>>2]=k[Oa>>2];i[(k[gd>>2]|0)+10>>0]=i[F>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);wf=nI(k[Mc>>2]|0)|0;j[ne>>1]=wf;k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);wf=nI(k[Nc>>2]|0)|0;j[oe>>1]=wf;k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);j[J>>1]=m[(k[Mc>>2]|0)+8>>1]|m[(k[Nc>>2]|0)+8>>1];e:do if(!(m[J>>1]&1)){f:do if(m[ne>>1]&m[oe>>1]&4){wf=k[Mc>>2]|0;c=k[wf+4>>2]|0;a=_;k[a>>2]=k[wf>>2];k[a+4>>2]=c;a=k[Nc>>2]|0;c=k[a+4>>2]|0;wf=aa;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;i[w>>0]=1;switch(l[k[tf>>2]>>0]|0){case 89:{wf=_;if(oI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 90:{wf=_;if(pI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 91:{wf=_;if(qI(aa,k[wf>>2]|0,k[wf+4>>2]|0)|0)break f;break}case 92:{wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;c=_;wf=aa;if(((k[c>>2]|0)==-1?(k[c+4>>2]|0)==-1:0)&((k[wf>>2]|0)==0?(k[wf+4>>2]|0)==-2147483648:0))break f;c=_;wf=aa;c=IR(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L;break}default:{wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=_;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=_;k[wf>>2]=1;k[wf+4>>2]=0}c=_;wf=aa;c=JR(k[wf>>2]|0,k[wf+4>>2]|0,k[c>>2]|0,k[c+4>>2]|0)|0;wf=aa;k[wf>>2]=c;k[wf+4>>2]=L}}a=aa;c=k[a+4>>2]|0;wf=k[gd>>2]|0;k[wf>>2]=k[a>>2];k[wf+4>>2]=c;j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;break d}else i[w>>0]=0;while(0);xf=+ih(k[Mc>>2]|0);p[Md>>3]=xf;xf=+ih(k[Nc>>2]|0);p[Nd>>3]=xf;switch(l[k[tf>>2]>>0]|0){case 89:{p[Nd>>3]=+p[Nd>>3]+ +p[Md>>3];break}case 90:{p[Nd>>3]=+p[Nd>>3]-+p[Md>>3];break}case 91:{p[Nd>>3]=+p[Nd>>3]*+p[Md>>3];break}case 92:{if(+p[Md>>3]==0.0)break e;p[Nd>>3]=+p[Nd>>3]/+p[Md>>3];break}default:{xf=+p[Md>>3];wf=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;c=_;k[c>>2]=~~xf>>>0;k[c+4>>2]=wf;xf=+p[Nd>>3];c=+W(xf)>=1.0?(xf>0.0?~~+ia(+V(xf/4294967296.0),4294967295.0)>>>0:~~+ga((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=aa;k[wf>>2]=~~xf>>>0;k[wf+4>>2]=c;wf=_;if((k[wf>>2]|0)==0&(k[wf+4>>2]|0)==0)break e;wf=_;if((k[wf>>2]|0)==-1?(k[wf+4>>2]|0)==-1:0){wf=_;k[wf>>2]=1;k[wf+4>>2]=0}c=aa;wf=_;wf=JR(k[c>>2]|0,k[c+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;p[Nd>>3]=+(wf>>>0)+4294967296.0*+(L|0)}}if(!(YF(+p[Nd>>3])|0)){p[k[gd>>2]>>3]=+p[Nd>>3];j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|8;if((i[w>>0]|0)!=0?1:((m[ne>>1]|m[oe>>1])&8|0)!=0)break d;Fx(k[gd>>2]|0);break d}}while(0);rh(k[gd>>2]|0);break}case 34:{if(k[(k[tf>>2]|0)+4>>2]|0)qh((k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 35:{k[Ha>>2]=l[(k[tf>>2]|0)+3>>0];wf=Vw(k[qf>>2]|0,32+((k[Ha>>2]|0)-1<<2)|0,0)|0;k[kc>>2]=wf;if(!(k[kc>>2]|0)){d=883;break a}k[k[kc>>2]>>2]=0;k[(k[kc>>2]|0)+4>>2]=k[(k[tf>>2]|0)+16>>2];k[(k[kc>>2]|0)+16>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;k[(k[kc>>2]|0)+12>>2]=k[pf>>2];i[(k[kc>>2]|0)+26>>0]=k[Ha>>2];i[(k[tf>>2]|0)+1>>0]=-20;k[(k[tf>>2]|0)+16>>2]=k[kc>>2];i[k[tf>>2]>>0]=36;d=130;break}case 36:{d=130;break}case 88:case 87:case 86:case 85:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]|m[(k[Nc>>2]|0)+8>>1])&1){rh(k[gd>>2]|0);break d}wf=jh(k[Nc>>2]|0)|0;c=$;k[c>>2]=wf;k[c+4>>2]=L;c=jh(k[Mc>>2]|0)|0;wf=ba;k[wf>>2]=c;k[wf+4>>2]=L;i[lb>>0]=i[k[tf>>2]>>0]|0;do if((l[lb>>0]|0)!=85){a=ba;b=k[a>>2]|0;a=k[a+4>>2]|0;if((l[lb>>0]|0)==86){yf=$;c=k[yf+4>>2]|a;wf=$;k[wf>>2]=k[yf>>2]|b;k[wf+4>>2]=c;break}if((b|0)!=0|(a|0)!=0){if((k[ba+4>>2]|0)<0){i[lb>>0]=175-(l[lb>>0]|0);wf=ba;c=k[wf+4>>2]|0;wf=(c|0)>-1|(c|0)==-1&(k[wf>>2]|0)>>>0>4294967232;c=ba;c=yR(0,0,k[c>>2]|0,k[c+4>>2]|0)|0;yf=ba;k[yf>>2]=wf?c:64;k[yf+4>>2]=wf?L:0}yf=ba;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=64){yf=$;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>=0)b=1;else b=(l[lb>>0]|0)==87;wf=b?0:-1;yf=$;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break};k[pe>>2]=k[$>>2];k[pe+4>>2]=k[$+4>>2];b=k[ba>>2]|0;c=pe;a=k[c>>2]|0;c=k[c+4>>2]|0;if((l[lb>>0]|0)!=87){wf=AR(a|0,c|0,b|0)|0;yf=pe;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[$+4>>2]|0)<0){c=ba;c=yR(64,0,k[c>>2]|0,k[c+4>>2]|0)|0;c=ER(-1,-1,c|0)|0;a=pe;wf=k[a+4>>2]|L;yf=pe;k[yf>>2]=k[a>>2]|c;k[yf+4>>2]=wf}}else{wf=ER(a|0,c|0,b|0)|0;yf=pe;k[yf>>2]=wf;k[yf+4>>2]=L};k[$>>2]=k[pe>>2];k[$+4>>2]=k[pe+4>>2]}}else{c=ba;a=$;wf=k[a+4>>2]&k[c+4>>2];yf=$;k[yf>>2]=k[a>>2]&k[c>>2];k[yf+4>>2]=wf}while(0);c=$;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;break}case 37:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);Mx(k[Mc>>2]|0)|0;wf=k[(k[tf>>2]|0)+8>>2]|0;yf=k[Mc>>2]|0;c=yf;wf=zR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break}case 38:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]&4|0)==0?(Hx(k[Mc>>2]|0,67,i[F>>0]|0),(m[(k[Mc>>2]|0)+8>>1]&4|0)==0):0)if(!(k[(k[tf>>2]|0)+8>>2]|0)){d=163;break c}else{d=14;break d}j[(k[Mc>>2]|0)+8>>1]=m[(k[Mc>>2]|0)+8>>1]&-49664|4;break}case 39:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&4)Nx(k[Mc>>2]|0)|0;break}case 40:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&16384)b=fh(k[Mc>>2]|0)|0;else b=0;k[uf>>2]=b;Ax(k[Mc>>2]|0,k[(k[tf>>2]|0)+8>>2]&255,i[F>>0]|0);if(k[uf>>2]|0)break a;break}case 83:case 80:case 81:case 82:case 78:case 79:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);j[K>>1]=j[(k[Mc>>2]|0)+8>>1]|0;j[M>>1]=j[(k[Oc>>2]|0)+8>>1]|0;b=l[(k[tf>>2]|0)+3>>0]|0;do if((m[K>>1]|m[M>>1])&1){if(!(b&128)){b=k[tf>>2]|0;if(!(l[(k[tf>>2]|0)+3>>0]&32))if(l[b+3>>0]&16){d=14;break d}else break d;else{k[gd>>2]=(k[e>>2]|0)+((k[b+8>>2]|0)*40|0);j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|1;break d}}if(((m[K>>1]&1|0)!=0?(m[M>>1]&1|0)!=0:0)?(m[M>>1]&256|0)==0:0){k[Od>>2]=0;break}k[Od>>2]=1}else{i[q>>0]=b&71;if((i[q>>0]|0)>=67){if((m[K>>1]&14|0)==2)Jh(k[Mc>>2]|0,0);if((m[M>>1]&14|0)==2)Jh(k[Oc>>2]|0,0)}else if((i[q>>0]|0)==66){if((m[K>>1]&2|0)==0?(m[K>>1]&12|0)!=0:0){Ix(k[Mc>>2]|0,i[F>>0]|0,1)|0;j[K>>1]=m[(k[Mc>>2]|0)+8>>1]&-33280|m[K>>1]&33279}if((m[M>>1]&2|0)==0?(m[M>>1]&12|0)!=0:0){Ix(k[Oc>>2]|0,i[F>>0]|0,1)|0;j[M>>1]=m[(k[Oc>>2]|0)+8>>1]&-33280|m[M>>1]&33279}}if(m[K>>1]&16384){fh(k[Mc>>2]|0)|0;j[K>>1]=m[K>>1]&-16385}if(m[M>>1]&16384){fh(k[Oc>>2]|0)|0;j[M>>1]=m[M>>1]&-16385}yf=sI(k[Oc>>2]|0,k[Mc>>2]|0,k[(k[tf>>2]|0)+16>>2]|0)|0;k[Od>>2]=yf}while(0);switch(l[k[tf>>2]>>0]|0){case 79:{k[Od>>2]=(k[Od>>2]|0)==0&1;break}case 78:{k[Od>>2]=(k[Od>>2]|0)!=0&1;break}case 82:{k[Od>>2]=(k[Od>>2]|0)<0&1;break}case 81:{k[Od>>2]=(k[Od>>2]|0)<=0&1;break}case 80:{k[Od>>2]=(k[Od>>2]|0)>0&1;break}default:k[Od>>2]=(k[Od>>2]|0)>=0&1}j[(k[Mc>>2]|0)+8>>1]=j[K>>1]|0;j[(k[Oc>>2]|0)+8>>1]=j[M>>1]|0;if(!(l[(k[tf>>2]|0)+3>>0]&32))if(k[Od>>2]|0){d=14;break d}else break d;else{k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;wf=k[Od>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break d}}case 41:{k[g>>2]=(k[(k[tf>>2]|0)+16>>2]|0)+4;break}case 42:{if(!(l[(k[tf>>2]|0)+3>>0]&1))k[g>>2]=0;k[Ka>>2]=k[(k[tf>>2]|0)+12>>2];k[Qc>>2]=k[(k[tf>>2]|0)+16>>2];k[pb>>2]=k[(k[tf>>2]|0)+4>>2];k[sb>>2]=k[(k[tf>>2]|0)+8>>2];k[X>>2]=0;while(1){if((k[X>>2]|0)>=(k[Ka>>2]|0))break;b=k[X>>2]|0;if(k[g>>2]|0)b=k[(k[g>>2]|0)+(b<<2)>>2]|0;k[va>>2]=b;k[Wb>>2]=k[(k[Qc>>2]|0)+20+(k[X>>2]<<2)>>2];k[x>>2]=l[(k[(k[Qc>>2]|0)+16>>2]|0)+(k[X>>2]|0)>>0];yf=sI((k[e>>2]|0)+(((k[pb>>2]|0)+(k[va>>2]|0)|0)*40|0)|0,(k[e>>2]|0)+(((k[sb>>2]|0)+(k[va>>2]|0)|0)*40|0)|0,k[Wb>>2]|0)|0;k[ca>>2]=yf;if(k[ca>>2]|0){d=215;break}k[X>>2]=(k[X>>2]|0)+1}if((d|0)==215?(d=0,(k[x>>2]|0)!=0):0)k[ca>>2]=0-(k[ca>>2]|0);k[g>>2]=0;break}case 43:{if((k[ca>>2]|0)<0){k[tf>>2]=(k[cf>>2]|0)+(((k[(k[tf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}b=k[tf>>2]|0;if(!(k[ca>>2]|0)){k[tf>>2]=(k[cf>>2]|0)+(((k[b+8>>2]|0)-1|0)*20|0);break d}else{k[tf>>2]=(k[cf>>2]|0)+(((k[b+12>>2]|0)-1|0)*20|0);break d}}case 71:case 72:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&1)k[re>>2]=2;else{yf=jh(k[Mc>>2]|0)|0;k[re>>2]=((yf|0)!=0|(L|0)!=0)&1}k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);if(m[(k[Nc>>2]|0)+8>>1]&1)k[se>>2]=2;else{yf=jh(k[Nc>>2]|0)|0;k[se>>2]=((yf|0)!=0|(L|0)!=0)&1}b=((k[re>>2]|0)*3|0)+(k[se>>2]|0)|0;if((l[k[tf>>2]>>0]|0)==72)k[re>>2]=l[40367+b>>0];else k[re>>2]=l[40376+b>>0];k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if((k[re>>2]|0)==2){j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|1;break d}else{wf=k[re>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);rh(k[gd>>2]|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1)){j[(k[gd>>2]|0)+8>>1]=4;wf=jh(k[Mc>>2]|0)|0;wf=(((wf|0)!=0|(L|0)!=0)^1)&1;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 96:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);rh(k[gd>>2]|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1)){j[(k[gd>>2]|0)+8>>1]=4;wf=jh(k[Mc>>2]|0)|0;yf=k[gd>>2]|0;k[yf>>2]=~wf;k[yf+4>>2]=~L}break}case 44:{if(i[(k[(k[pf>>2]|0)+200>>2]|0)+(k[(k[tf>>2]|0)+4>>2]|0)>>0]|0)d=14;else i[(k[(k[pf>>2]|0)+200>>2]|0)+(k[(k[tf>>2]|0)+4>>2]|0)>>0]=1;break}case 46:case 45:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1)){yf=+ih(k[Mc>>2]|0)!=0.0&1;k[y>>2]=yf;if((l[k[tf>>2]>>0]|0)==46)k[y>>2]=((k[y>>2]|0)!=0^1)&1}else k[y>>2]=k[(k[tf>>2]|0)+12>>2];if(k[y>>2]|0)d=14;break}case 76:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if(m[(k[Mc>>2]|0)+8>>1]&1)d=14;break}case 77:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if(!(m[(k[Mc>>2]|0)+8>>1]&1))d=14;break}case 47:{k[Ab>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[tb>>2]=k[(k[tf>>2]|0)+8>>2];yf=tI(Ab,tb)|0;k[uf>>2]=yf;k[Bc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[f>>2]=k[(k[Ab>>2]|0)+76>>2];k[Xb>>2]=k[(k[Ab>>2]|0)+16>>2];if(k[uf>>2]|0)break a;b=k[Ab>>2]|0;if((k[(k[Ab>>2]|0)+56>>2]|0)!=(k[(k[pf>>2]|0)+72>>2]|0)){a=k[Ab>>2]|0;do if(i[b+2>>0]|0)if((l[a>>0]|0)==3){k[ld>>2]=(k[e>>2]|0)+((k[(k[Ab>>2]|0)+16>>2]|0)*40|0);yf=k[(k[ld>>2]|0)+12>>2]|0;k[v>>2]=yf;k[(k[Ab>>2]|0)+64>>2]=yf;k[(k[Ab>>2]|0)+60>>2]=yf;k[(k[Ab>>2]|0)+72>>2]=k[(k[ld>>2]|0)+16>>2];break}else{rh(k[Bc>>2]|0);break d}else{b=k[Xb>>2]|0;if(!(l[a+4>>0]|0)){IH(b,Dd)|0;yf=uI(k[Xb>>2]|0,v)|0;k[(k[Ab>>2]|0)+72>>2]=yf;k[(k[Ab>>2]|0)+60>>2]=k[Dd>>2]}else{vI(b,(k[Ab>>2]|0)+60|0)|0;yf=wI(k[Xb>>2]|0,v)|0;k[(k[Ab>>2]|0)+72>>2]=yf}b=k[(k[Ab>>2]|0)+60>>2]|0;if((k[(k[Ab>>2]|0)+60>>2]|0)>>>0<=(k[v>>2]|0)>>>0){k[(k[Ab>>2]|0)+64>>2]=b;break}if(b>>>0>(k[(k[qf>>2]|0)+92>>2]|0)>>>0){d=882;break c}k[(k[Ab>>2]|0)+64>>2]=k[v>>2]}while(0);k[(k[Ab>>2]|0)+56>>2]=k[(k[pf>>2]|0)+72>>2];b=k[(k[Ab>>2]|0)+72>>2]|0;if((l[k[(k[Ab>>2]|0)+72>>2]>>0]|0)<128){k[jb>>2]=l[b>>0];b=1}else b=(KF(b,jb)|0)&255;k[(k[Ab>>2]|0)+68>>2]=b&255;j[(k[Ab>>2]|0)+14>>1]=0;k[k[f>>2]>>2]=k[jb>>2];if((k[v>>2]|0)>>>0<(k[jb>>2]|0)>>>0){k[(k[Ab>>2]|0)+72>>2]=0;k[(k[Ab>>2]|0)+64>>2]=0;if((k[jb>>2]|0)>>>0>98307){d=268;break c}if((k[jb>>2]|0)>>>0>(k[(k[Ab>>2]|0)+60>>2]|0)>>>0){d=268;break c}else d=270}else d=270}else if((m[b+14>>1]|0)<=(k[tb>>2]|0))d=270;else k[ie>>2]=k[(k[Ab>>2]|0)+80+(k[tb>>2]<<2)>>2];if((d|0)==270){d=0;if((k[(k[Ab>>2]|0)+68>>2]|0)>>>0<(k[k[f>>2]>>2]|0)>>>0){if(!(k[(k[Ab>>2]|0)+72>>2]|0)){b=ee;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));yf=xI(k[Xb>>2]|0,0,k[k[f>>2]>>2]|0,((i[(k[Ab>>2]|0)+4>>0]|0)!=0^1)&1,ee)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[Re>>2]=k[ee+16>>2]}else k[Re>>2]=k[(k[Ab>>2]|0)+72>>2];k[R>>2]=m[(k[Ab>>2]|0)+14>>1];yf=kb;k[yf>>2]=k[(k[f>>2]|0)+(k[R>>2]<<2)>>2];k[yf+4>>2]=0;k[Ve>>2]=(k[Re>>2]|0)+(k[(k[Ab>>2]|0)+68>>2]|0);k[Te>>2]=(k[Re>>2]|0)+(k[k[f>>2]>>2]|0);do{yf=l[k[Ve>>2]>>0]|0;k[ie>>2]=yf;b=k[Ve>>2]|0;if(yf>>>0<128){k[Ve>>2]=b+1;wf=(yI(k[ie>>2]&255)|0)&255;yf=kb;wf=zR(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=kb;k[yf>>2]=wf;k[yf+4>>2]=L}else{wf=(KF(b,ie)|0)&255;k[Ve>>2]=(k[Ve>>2]|0)+wf;wf=LF(k[ie>>2]|0)|0;yf=kb;wf=zR(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,0)|0;yf=kb;k[yf>>2]=wf;k[yf+4>>2]=L}wf=k[ie>>2]|0;yf=k[R>>2]|0;k[R>>2]=yf+1;k[(k[Ab>>2]|0)+80+(yf<<2)>>2]=wf;k[(k[f>>2]|0)+(k[R>>2]<<2)>>2]=k[kb>>2];if((k[R>>2]|0)>(k[tb>>2]|0))break}while((k[Ve>>2]|0)>>>0<(k[Te>>2]|0)>>>0);j[(k[Ab>>2]|0)+14>>1]=k[R>>2];k[(k[Ab>>2]|0)+68>>2]=(k[Ve>>2]|0)-(k[Re>>2]|0);if((k[Ve>>2]|0)>>>0>=(k[Te>>2]|0)>>>0){if((k[Ve>>2]|0)>>>0>(k[Te>>2]|0)>>>0){d=285;break c}yf=kb;if((k[yf+4>>2]|0)!=0?1:(k[yf>>2]|0)!=(k[(k[Ab>>2]|0)+60>>2]|0)){d=285;break c}}yf=kb;wf=k[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(k[yf>>2]|0)>>>0>(k[(k[Ab>>2]|0)+60>>2]|0)>>>0:0)){d=285;break c}if(!(k[(k[Ab>>2]|0)+72>>2]|0))eh(ee)}else k[ie>>2]=0;if((m[(k[Ab>>2]|0)+14>>1]|0)<=(k[tb>>2]|0)){b=k[Bc>>2]|0;if((i[(k[tf>>2]|0)+1>>0]|0)==-8){SF(b,k[(k[tf>>2]|0)+16>>2]|0,2048);break d}else{rh(b);break d}}}if(m[(k[Bc>>2]|0)+8>>1]&9312)rh(k[Bc>>2]|0);i[(k[Bc>>2]|0)+10>>0]=i[F>>0]|0;if((k[(k[Ab>>2]|0)+64>>2]|0)>>>0>=(k[(k[f>>2]|0)+((k[tb>>2]|0)+1<<2)>>2]|0)>>>0){k[Re>>2]=(k[(k[Ab>>2]|0)+72>>2]|0)+(k[(k[f>>2]|0)+(k[tb>>2]<<2)>>2]|0);if((k[ie>>2]|0)>>>0<12){MF(k[Re>>2]|0,k[ie>>2]|0,k[Bc>>2]|0)|0;break d}b=(((k[ie>>2]|0)-12|0)>>>0)/2|0;k[Da>>2]=b;k[(k[Bc>>2]|0)+12>>2]=b;b=k[Bc>>2]|0;if((k[(k[Bc>>2]|0)+24>>2]|0)<((k[Da>>2]|0)+2|0)){j[b+8>>1]=1;if(Kx(k[Bc>>2]|0,(k[Da>>2]|0)+2|0,0)|0){d=883;break a}}else k[(k[Bc>>2]|0)+16>>2]=k[b+20>>2];BR(k[(k[Bc>>2]|0)+16>>2]|0,k[Re>>2]|0,k[Da>>2]|0)|0;i[(k[(k[Bc>>2]|0)+16>>2]|0)+(k[Da>>2]|0)>>0]=0;i[(k[(k[Bc>>2]|0)+16>>2]|0)+((k[Da>>2]|0)+1)>>0]=0;j[(k[Bc>>2]|0)+8>>1]=j[17026+((k[ie>>2]&1)<<1)>>1]|0;break d}do if(l[(k[tf>>2]|0)+3>>0]&192){if((k[ie>>2]|0)>>>0>=12?(k[ie>>2]&1|0)==0:0)break;if(!(l[(k[tf>>2]|0)+3>>0]&128))d=309}else d=309;while(0);if((d|0)==309?(d=0,yf=LF(k[ie>>2]|0)|0,k[Da>>2]=yf,(yf|0)!=0):0){yf=xI(k[Xb>>2]|0,k[(k[f>>2]|0)+(k[tb>>2]<<2)>>2]|0,k[Da>>2]|0,((i[(k[Ab>>2]|0)+4>>0]|0)!=0^1)&1,k[Bc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;MF(k[(k[Bc>>2]|0)+16>>2]|0,k[ie>>2]|0,k[Bc>>2]|0)|0;yf=(k[Bc>>2]|0)+8|0;j[yf>>1]=m[yf>>1]&-4097;break d}MF(40385,k[ie>>2]|0,k[Bc>>2]|0)|0;break}case 48:{k[Pe>>2]=k[(k[tf>>2]|0)+16>>2];k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);while(1){yf=k[Pe>>2]|0;k[Pe>>2]=yf+1;yf=i[yf>>0]|0;i[z>>0]=yf;if(!(yf<<24>>24))break d;Hx(k[Mc>>2]|0,i[z>>0]|0,i[F>>0]|0);k[Mc>>2]=(k[Mc>>2]|0)+40}}case 49:{yf=Sa;k[yf>>2]=0;k[yf+4>>2]=0;k[Ya>>2]=0;yf=eb;k[yf>>2]=0;k[yf+4>>2]=0;k[Va>>2]=k[(k[tf>>2]|0)+4>>2];k[Qe>>2]=k[(k[tf>>2]|0)+16>>2];k[xc>>2]=(k[e>>2]|0)+((k[Va>>2]|0)*40|0);k[Va>>2]=k[(k[tf>>2]|0)+8>>2];k[Tc>>2]=(k[xc>>2]|0)+(((k[Va>>2]|0)-1|0)*40|0);k[I>>2]=l[(k[pf>>2]|0)+88>>0];k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if(k[Qe>>2]|0){k[kd>>2]=k[xc>>2];do{wf=k[kd>>2]|0;k[kd>>2]=wf+40;yf=k[Qe>>2]|0;k[Qe>>2]=yf+1;Hx(wf,i[yf>>0]|0,i[F>>0]|0)}while((i[k[Qe>>2]>>0]|0)!=0)}k[kd>>2]=k[Tc>>2];do{yf=zI(k[kd>>2]|0,k[I>>2]|0,Ea)|0;k[he>>2]=yf;k[(k[kd>>2]|0)+28>>2]=yf;do if(m[(k[kd>>2]|0)+8>>1]&16384){yf=Sa;b=k[kd>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0)if(fh(b)|0){d=883;break a}else break;else{wf=k[b>>2]|0;yf=eb;wf=zR(k[yf>>2]|0,k[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=eb;k[yf>>2]=wf;k[yf+4>>2]=L;k[Ea>>2]=(k[Ea>>2]|0)-(k[k[kd>>2]>>2]|0);break}}while(0);wf=Sa;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,k[Ea>>2]|0,0)|0;yf=Sa;k[yf>>2]=wf;k[yf+4>>2]=L;if((k[he>>2]|0)>>>0<=127)b=1;else b=QF(k[he>>2]|0,0)|0;k[Ya>>2]=(k[Ya>>2]|0)+b;yf=(k[kd>>2]|0)+-40|0;k[kd>>2]=yf}while(yf>>>0>=(k[xc>>2]|0)>>>0);b=k[Ya>>2]|0;if((k[Ya>>2]|0)>126){wf=QF(b,((b|0)<0)<<31>>31)|0;k[db>>2]=wf;k[Ya>>2]=(k[Ya>>2]|0)+(k[db>>2]|0);wf=k[db>>2]|0;yf=k[Ya>>2]|0;if((wf|0)<(QF(yf,((yf|0)<0)<<31>>31)|0))k[Ya>>2]=(k[Ya>>2]|0)+1}else k[Ya>>2]=b+1;a=k[Ya>>2]|0;wf=Sa;wf=zR(a|0,((a|0)<0)<<31>>31|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=Pa;k[a>>2]=wf;k[a+4>>2]=L;a=Pa;wf=eb;wf=zR(k[a>>2]|0,k[a+4>>2]|0,k[wf>>2]|0,k[wf+4>>2]|0)|0;a=L;yf=k[(k[qf>>2]|0)+92>>2]|0;c=((yf|0)<0)<<31>>31;if((a|0)>(c|0)|(a|0)==(c|0)&wf>>>0>yf>>>0){d=882;break c}if(Jx(k[gd>>2]|0,k[Pa>>2]|0)|0){d=883;break a}k[Ze>>2]=k[(k[gd>>2]|0)+16>>2];if((k[Ya>>2]|0)>>>0<128){i[k[Ze>>2]>>0]=k[Ya>>2];b=1}else{b=k[Ya>>2]|0;b=AI(k[Ze>>2]|0,b,((b|0)<0)<<31>>31)|0}k[T>>2]=b&255;k[Ca>>2]=k[Ya>>2];k[kd>>2]=k[xc>>2];do{k[he>>2]=k[(k[kd>>2]|0)+28>>2];if((k[he>>2]|0)>>>0<128){i[(k[Ze>>2]|0)+(k[T>>2]|0)>>0]=k[he>>2];b=1}else b=AI((k[Ze>>2]|0)+(k[T>>2]|0)|0,k[he>>2]|0,0)|0;k[T>>2]=(k[T>>2]|0)+(b&255);yf=BI((k[Ze>>2]|0)+(k[Ca>>2]|0)|0,k[kd>>2]|0,k[he>>2]|0)|0;k[Ca>>2]=(k[Ca>>2]|0)+yf;yf=(k[kd>>2]|0)+40|0;k[kd>>2]=yf}while(yf>>>0<=(k[Tc>>2]|0)>>>0);k[(k[gd>>2]|0)+12>>2]=k[Pa>>2];j[(k[gd>>2]|0)+8>>1]=16;yf=eb;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){k[k[gd>>2]>>2]=k[eb>>2];yf=(k[gd>>2]|0)+8|0;j[yf>>1]=m[yf>>1]|16384}i[(k[gd>>2]|0)+10>>0]=1;break}case 50:{k[Zb>>2]=k[(k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ta;k[yf>>2]=0;k[yf+4>>2]=0;yf=CI(k[Zb>>2]|0,Ta)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;c=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=c;c=Ta;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 0:{k[ob>>2]=k[(k[tf>>2]|0)+4>>2];k[Ye>>2]=k[(k[tf>>2]|0)+16>>2];do if(!(k[ob>>2]|0)){if((k[(k[qf>>2]|0)+160>>2]|0)>0){gI(k[pf>>2]|0,40393,xe);k[uf>>2]=5;break}yf=Tf(k[Ye>>2]|0)|0;k[ab>>2]=yf;yf=DI(k[qf>>2]|0,0,(k[(k[qf>>2]|0)+436>>2]|0)+(k[(k[qf>>2]|0)+432>>2]|0)|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=Vw(k[qf>>2]|0,32+(k[ab>>2]|0)+1|0,0)|0;k[fd>>2]=yf;if(k[fd>>2]|0){k[k[fd>>2]>>2]=(k[fd>>2]|0)+32;BR(k[k[fd>>2]>>2]|0,k[Ye>>2]|0,(k[ab>>2]|0)+1|0)|0;b=k[qf>>2]|0;if(i[(k[qf>>2]|0)+67>>0]|0){i[b+67>>0]=0;i[(k[qf>>2]|0)+75>>0]=1}else{yf=b+432|0;k[yf>>2]=(k[yf>>2]|0)+1}k[(k[fd>>2]|0)+24>>2]=k[(k[qf>>2]|0)+424>>2];k[(k[qf>>2]|0)+424>>2]=k[fd>>2];yf=(k[qf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[fd>>2]|0)+8|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[qf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[fd>>2]|0)+16|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}}else{k[ta>>2]=0;k[nd>>2]=k[(k[qf>>2]|0)+424>>2];while(1){if(!(k[nd>>2]|0))break;if(!(sg(k[k[nd>>2]>>2]|0,k[Ye>>2]|0)|0))break;k[ta>>2]=(k[ta>>2]|0)+1;k[nd>>2]=k[(k[nd>>2]|0)+24>>2]}if(!(k[nd>>2]|0)){yf=k[pf>>2]|0;k[ye>>2]=k[Ye>>2];gI(yf,40444,ye);k[uf>>2]=1;break}if((k[ob>>2]|0)==1?(k[(k[qf>>2]|0)+160>>2]|0)>0:0){gI(k[pf>>2]|0,40466,ze);k[uf>>2]=5;break}if(!(k[(k[nd>>2]|0)+24>>2]|0))b=(l[(k[qf>>2]|0)+75>>0]|0)!=0;else b=0;k[Aa>>2]=b&1;if(!((k[Aa>>2]|0)!=0&(k[ob>>2]|0)==1)){k[ta>>2]=(k[(k[qf>>2]|0)+432>>2]|0)-(k[ta>>2]|0)-1;g:do if((k[ob>>2]|0)==2){k[za>>2]=(k[(k[qf>>2]|0)+24>>2]&2|0)!=0&1;k[wa>>2]=0;while(1){if((k[wa>>2]|0)>=(k[(k[qf>>2]|0)+20>>2]|0))break g;yf=EI(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[wa>>2]<<4)+4>>2]|0,516,(k[za>>2]|0)==0&1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[wa>>2]=(k[wa>>2]|0)+1}}else k[za>>2]=0;while(0);k[wa>>2]=0;while(1){if((k[wa>>2]|0)>=(k[(k[qf>>2]|0)+20>>2]|0))break;yf=FI(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[wa>>2]<<4)+4>>2]|0,k[ob>>2]|0,k[ta>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[wa>>2]=(k[wa>>2]|0)+1}if(k[za>>2]|0){_h(k[qf>>2]|0);Lg(k[qf>>2]|0);k[(k[qf>>2]|0)+24>>2]=k[(k[qf>>2]|0)+24>>2]|2}}else{yf=kI(k[pf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){d=881;break c}i[(k[qf>>2]|0)+67>>0]=1;if((hI(k[pf>>2]|0)|0)==5){d=368;break c}i[(k[qf>>2]|0)+75>>0]=0;k[uf>>2]=k[(k[pf>>2]|0)+80>>2]}while(1){if((k[(k[qf>>2]|0)+424>>2]|0)==(k[nd>>2]|0))break;k[pd>>2]=k[(k[qf>>2]|0)+424>>2];k[(k[qf>>2]|0)+424>>2]=k[(k[pd>>2]|0)+24>>2];bg(k[qf>>2]|0,k[pd>>2]|0);yf=(k[qf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}b=k[nd>>2]|0;if((k[ob>>2]|0)==1){k[(k[qf>>2]|0)+424>>2]=k[b+24>>2];bg(k[qf>>2]|0,k[nd>>2]|0);if(!(k[Aa>>2]|0)){yf=(k[qf>>2]|0)+432|0;k[yf>>2]=(k[yf>>2]|0)+-1}}else{yf=b+8|0;wf=k[yf+4>>2]|0;c=(k[qf>>2]|0)+440|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[nd>>2]|0)+16|0;wf=k[c+4>>2]|0;yf=(k[qf>>2]|0)+448|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((k[Aa>>2]|0)==0|(k[ob>>2]|0)==2){yf=DI(k[qf>>2]|0,k[ob>>2]|0,k[ta>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]|0)!=0|(k[uf>>2]|0)!=0)break a;else break d}}while(0);if(k[uf>>2]|0)break a;break}case 2:{if((k[(k[tf>>2]|0)+8>>2]|0)!=0?(k[(k[qf>>2]|0)+24>>2]&33554432|0)!=0:0){d=409;break c}k[wb>>2]=k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+4>>2];if(k[wb>>2]|0){yf=yg(k[wb>>2]|0,k[(k[tf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]&255|0)==5){d=412;break c}if(k[uf>>2]|0)break a;do if((k[(k[tf>>2]|0)+8>>2]|0)!=0?((l[(k[pf>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){if((l[(k[qf>>2]|0)+67>>0]|0)!=0?(k[(k[qf>>2]|0)+156>>2]|0)<=1:0)break;if(!(k[(k[pf>>2]|0)+104>>2]|0)){yf=(k[qf>>2]|0)+436|0;k[yf>>2]=(k[yf>>2]|0)+1;k[(k[pf>>2]|0)+104>>2]=(k[(k[qf>>2]|0)+432>>2]|0)+(k[(k[qf>>2]|0)+436>>2]|0)}yf=DI(k[qf>>2]|0,0,(k[(k[pf>>2]|0)+104>>2]|0)-1|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=II(k[wb>>2]|0,k[(k[pf>>2]|0)+104>>2]|0)|0;k[uf>>2]=yf}yf=(k[qf>>2]|0)+440|0;wf=k[yf+4>>2]|0;c=(k[pf>>2]|0)+152|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=(k[qf>>2]|0)+448|0;wf=k[c+4>>2]|0;yf=(k[pf>>2]|0)+160|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);zg(k[wb>>2]|0,1,oa);k[ka>>2]=k[(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{k[oa>>2]=0;k[ka>>2]=0}do if(l[(k[tf>>2]|0)+3>>0]|0){if((k[oa>>2]|0)==(k[(k[tf>>2]|0)+12>>2]|0)?(k[ka>>2]|0)==(k[(k[tf>>2]|0)+16>>2]|0):0)break;bg(k[qf>>2]|0,k[(k[pf>>2]|0)+44>>2]|0);yf=zh(k[qf>>2]|0,40707)|0;k[(k[pf>>2]|0)+44>>2]=yf;if((k[k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(k[oa>>2]|0))Ej(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0);yf=(k[pf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2|1;k[uf>>2]=17}while(0);if(k[uf>>2]|0)break a;break}case 51:{k[ea>>2]=k[(k[tf>>2]|0)+4>>2];k[da>>2]=k[(k[tf>>2]|0)+12>>2];zg(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[ea>>2]<<4)+4>>2]|0,k[da>>2]|0,pa);wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;wf=k[pa>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 52:{k[yc>>2]=(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4);b=Kg(k[(k[yc>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+8>>2]|0,k[(k[tf>>2]|0)+12>>2]|0)|0;k[uf>>2]=b;b=k[tf>>2]|0;if((k[(k[tf>>2]|0)+8>>2]|0)!=1){if((k[b+8>>2]|0)==2)i[(k[(k[yc>>2]|0)+12>>2]|0)+76>>0]=k[(k[tf>>2]|0)+12>>2]}else{k[k[(k[yc>>2]|0)+12>>2]>>2]=k[b+12>>2];yf=(k[qf>>2]|0)+24|0;k[yf>>2]=k[yf>>2]|2}if((k[(k[tf>>2]|0)+4>>2]|0)==1){_h(k[qf>>2]|0);yf=(k[pf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2}if(k[uf>>2]|0)break a;break}case 53:{k[oc>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];if((k[oc>>2]|0)!=0?(k[(k[oc>>2]|0)+8>>2]|0)==(k[(k[tf>>2]|0)+8>>2]|0):0)d=456;else d=442;break}case 55:case 54:{d=442;break}case 57:case 56:{yf=JI(k[pf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+8>>2]|0,-1,0)|0;k[tc>>2]=yf;if(!(k[tc>>2]|0)){d=883;break a}i[(k[tc>>2]|0)+2>>0]=1;yf=(k[tc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-2|1;yf=jk(k[k[qf>>2]>>2]|0,0,k[qf>>2]|0,(k[tc>>2]|0)+20|0,5|l[(k[tf>>2]|0)+3>>0],1054)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){yf=yg(k[(k[tc>>2]|0)+20>>2]|0,1)|0;k[uf>>2]=yf}do if(!(k[uf>>2]|0)){yf=k[(k[tf>>2]|0)+16>>2]|0;k[Sc>>2]=yf;b=k[(k[tc>>2]|0)+20>>2]|0;if(!yf){yf=KI(b,1,4,0,k[(k[tc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;i[(k[tc>>2]|0)+4>>0]=1;break}yf=MI(b,Fd,2|l[(k[tf>>2]|0)+3>>0])|0;k[uf>>2]=yf;if(!(k[uf>>2]|0)){k[(k[tc>>2]|0)+24>>2]=k[Sc>>2];yf=KI(k[(k[tc>>2]|0)+20>>2]|0,k[Fd>>2]|0,4,k[Sc>>2]|0,k[(k[tc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf}i[(k[tc>>2]|0)+4>>0]=0}while(0);if(k[uf>>2]|0)break a;yf=(k[tc>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-5|((l[(k[tf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 58:{yf=JI(k[pf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+8>>2]|0,-1,1)|0;k[uc>>2]=yf;if(!(k[uc>>2]|0)){d=883;break a}k[(k[uc>>2]|0)+24>>2]=k[(k[tf>>2]|0)+16>>2];yf=NI(k[qf>>2]|0,k[(k[tf>>2]|0)+12>>2]|0,k[uc>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 59:{k[Bb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];c=(k[Bb>>2]|0)+32|0;yf=c;wf=k[yf>>2]|0;yf=k[yf+4>>2]|0;a=zR(wf|0,yf|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((wf|0)==0&(yf|0)==0)d=14;break}case 60:{yf=JI(k[pf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+12>>2]|0,-1,3)|0;k[vc>>2]=yf;if(!(k[vc>>2]|0)){d=883;break a}i[(k[vc>>2]|0)+2>>0]=1;k[(k[vc>>2]|0)+16>>2]=k[(k[tf>>2]|0)+8>>2];i[(k[vc>>2]|0)+4>>0]=1;break}case 61:{OI(k[pf>>2]|0,k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2]|0);k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2]=0;break}case 66:case 65:case 64:case 63:{k[Cb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[ib>>2]=l[k[tf>>2]>>0];k[G>>2]=0;i[(k[Cb>>2]|0)+2>>0]=0;if(i[(k[Cb>>2]|0)+4>>0]|0){k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if((m[(k[Oc>>2]|0)+8>>1]&14|0)==2)Jh(k[Oc>>2]|0,0);wf=jh(k[Oc>>2]|0)|0;yf=la;k[yf>>2]=wf;k[yf+4>>2]=L;do if(!(m[(k[Oc>>2]|0)+8>>1]&4)){if(!(m[(k[Oc>>2]|0)+8>>1]&8)){d=14;break d}yf=la;if(+p[k[Oc>>2]>>3]<+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)){if(k[ib>>2]&1)break;k[ib>>2]=(k[ib>>2]|0)+-1;break}yf=la;if(+p[k[Oc>>2]>>3]>+((k[yf>>2]|0)>>>0)+4294967296.0*+(k[yf+4>>2]|0)?(k[ib>>2]&1|0)==1:0)k[ib>>2]=(k[ib>>2]|0)+1}while(0);c=la;c=vF(k[(k[Cb>>2]|0)+16>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Rd)|0;k[uf>>2]=c;c=la;wf=k[c+4>>2]|0;yf=(k[Cb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(k[uf>>2]|0)break a;else d=493}else{if(PI(k[(k[Cb>>2]|0)+16>>2]|0,2)|0)k[G>>2]=1;k[Xa>>2]=k[(k[tf>>2]|0)+16>>2];k[Id>>2]=k[(k[Cb>>2]|0)+24>>2];j[Id+8>>1]=k[Xa>>2];i[Id+10>>0]=(1&(k[ib>>2]|0)-63|0)!=0?-1:1;k[Id+4>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if(m[(k[Id+4>>2]|0)+8>>1]&16384)fh(k[Id+4>>2]|0)|0;i[Id+14>>0]=0;yf=vF(k[(k[Cb>>2]|0)+16>>2]|0,Id,0,0,0,Rd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(!((k[G>>2]|0)!=0?(l[Id+14>>0]|0)==0:0))d=493}do if((d|0)==493){d=0;i[(k[Cb>>2]|0)+3>>0]=0;k[(k[Cb>>2]|0)+56>>2]=0;b=k[Rd>>2]|0;if((k[ib>>2]|0)>=65){if((b|0)>=0?!((k[Rd>>2]|0)==0&(k[ib>>2]|0)==66):0){k[Rd>>2]=0;break}k[Rd>>2]=0;yf=iF(k[(k[Cb>>2]|0)+16>>2]|0,Rd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}else{if((b|0)<=0?!((k[Rd>>2]|0)==0&(k[ib>>2]|0)==63):0){yf=QI(k[(k[Cb>>2]|0)+16>>2]|0)|0;k[Rd>>2]=yf;break}k[Rd>>2]=0;yf=jF(k[(k[Cb>>2]|0)+16>>2]|0,Rd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break}}while(0);if(!(k[Rd>>2]|0)){if(k[G>>2]|0)k[tf>>2]=(k[tf>>2]|0)+20}else d=14;break}case 69:case 68:case 67:{k[Db>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[Jc>>2]=0;b=k[(k[Db>>2]|0)+24>>2]|0;if((k[(k[tf>>2]|0)+16>>2]|0)>0){k[Jd>>2]=b;j[Jd+8>>1]=k[(k[tf>>2]|0)+16>>2];k[Jd+4>>2]=k[Oc>>2];k[xa>>2]=0;while(1){if((k[xa>>2]|0)>=(m[Jd+8>>1]|0))break;if(m[(k[Jd+4>>2]|0)+((k[xa>>2]|0)*40|0)+8>>1]&16384)fh((k[Jd+4>>2]|0)+((k[xa>>2]|0)*40|0)|0)|0;k[xa>>2]=(k[xa>>2]|0)+1}k[Kc>>2]=Jd}else{yf=tF(b,o,183,Jc)|0;k[Kc>>2]=yf;if(!(k[Kc>>2]|0)){d=883;break a}if(m[(k[Oc>>2]|0)+8>>1]&16384)fh(k[Oc>>2]|0)|0;uF(k[(k[Db>>2]|0)+24>>2]|0,k[(k[Oc>>2]|0)+12>>2]|0,k[(k[Oc>>2]|0)+16>>2]|0,k[Kc>>2]|0)}i[(k[Kc>>2]|0)+10>>0]=0;k[me>>2]=0;h:do if((l[k[tf>>2]>>0]|0)==67){k[xa>>2]=0;while(1){if((k[xa>>2]|0)>=(m[(k[Kc>>2]|0)+8>>1]|0))break h;if(m[(k[(k[Kc>>2]|0)+4>>2]|0)+((k[xa>>2]|0)*40|0)+8>>1]&1)break;k[xa>>2]=(k[xa>>2]|0)+1}k[me>>2]=1}while(0);yf=vF(k[(k[Db>>2]|0)+16>>2]|0,k[Kc>>2]|0,0,0,0,Sd)|0;k[uf>>2]=yf;bg(k[qf>>2]|0,k[Jc>>2]|0);if(k[uf>>2]|0)break a;k[(k[Db>>2]|0)+28>>2]=k[Sd>>2];k[s>>2]=(k[Sd>>2]|0)==0&1;i[(k[Db>>2]|0)+2>>0]=1-(k[s>>2]|0);i[(k[Db>>2]|0)+3>>0]=0;k[(k[Db>>2]|0)+56>>2]=0;if((l[k[tf>>2]>>0]|0)==69)if(k[s>>2]|0){d=14;break d}else break d;else if((k[me>>2]|0)==0&(k[s>>2]|0)!=0)break d;else{d=14;break d}}case 70:{k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[Eb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[_b>>2]=k[(k[Eb>>2]|0)+16>>2];k[Td>>2]=0;yf=k[Oc>>2]|0;wf=k[yf+4>>2]|0;c=ma;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;c=ma;c=vF(k[_b>>2]|0,0,k[c>>2]|0,k[c+4>>2]|0,0,Td)|0;k[uf>>2]=c;c=ma;wf=k[c+4>>2]|0;yf=(k[Eb>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[Eb>>2]|0)+2>>0]=0;k[(k[Eb>>2]|0)+56>>2]=0;i[(k[Eb>>2]|0)+3>>0]=0;k[(k[Eb>>2]|0)+28>>2]=k[Td>>2];if(k[Td>>2]|0){if(k[(k[tf>>2]|0)+8>>2]|0){d=14;break d}yf=Yj(78535)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a;break}case 73:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;yf=(k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;a=zR(c|0,wf|0,1,0)|0;k[yf>>2]=a;k[yf+4>>2]=L;yf=k[gd>>2]|0;k[yf>>2]=c;k[yf+4>>2]=wf;break}case 74:{yf=qe;k[yf>>2]=0;k[yf+4>>2]=0;k[Ud>>2]=0;yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;k[Fb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];do if(!((l[(k[Fb>>2]|0)+5>>0]|0)>>>1&1)){yf=RI(k[(k[Fb>>2]|0)+16>>2]|0,Ud)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Ud>>2]|0){yf=qe;k[yf>>2]=1;k[yf+4>>2]=0;break}yf=IH(k[(k[Fb>>2]|0)+16>>2]|0,qe)|0;k[uf>>2]=yf;yf=qe;wf=k[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(k[yf>>2]|0)>>>0>=4294967295){yf=(k[Fb>>2]|0)+5|0;i[yf>>0]=i[yf>>0]&-3|2;break}else{wf=qe;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;break}}while(0);if(k[(k[tf>>2]|0)+12>>2]|0){if(k[(k[pf>>2]|0)+176>>2]|0){k[Fc>>2]=k[(k[pf>>2]|0)+176>>2];while(1){if(!(k[(k[Fc>>2]|0)+4>>2]|0))break;k[Fc>>2]=k[(k[Fc>>2]|0)+4>>2]}k[Vc>>2]=(k[(k[Fc>>2]|0)+16>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0)}else k[Vc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);Mx(k[Vc>>2]|0)|0;yf=k[Vc>>2]|0;if((k[yf>>2]|0)==-1?(k[yf+4>>2]|0)==2147483647:0){d=547;break c}if((l[(k[Fb>>2]|0)+5>>0]|0)>>>1&1){d=547;break c}a=qe;wf=k[a>>2]|0;a=k[a+4>>2]|0;yf=k[Vc>>2]|0;yf=zR(k[yf>>2]|0,k[yf+4>>2]|0,1,0)|0;c=L;if((a|0)<(c|0)|(a|0)==(c|0)&wf>>>0>>0){wf=k[Vc>>2]|0;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L}c=qe;wf=k[c+4>>2]|0;yf=k[Vc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}if((l[(k[Fb>>2]|0)+5>>0]|0)>>>1&1){k[B>>2]=0;do{ae(8,qe);c=qe;yf=k[c+4>>2]&1073741823;wf=qe;k[wf>>2]=k[c>>2];k[wf+4>>2]=yf;wf=qe;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,1,0)|0;yf=qe;k[yf>>2]=wf;k[yf+4>>2]=L;yf=qe;yf=vF(k[(k[Fb>>2]|0)+16>>2]|0,0,k[yf>>2]|0,k[yf+4>>2]|0,0,Ud)|0;k[uf>>2]=yf;if(!((yf|0)==0&(k[Ud>>2]|0)==0))break;yf=(k[B>>2]|0)+1|0;k[B>>2]=yf}while((yf|0)<100);if(k[uf>>2]|0)break a;if(!(k[Ud>>2]|0)){d=557;break c}}i[(k[Fb>>2]|0)+3>>0]=0;k[(k[Fb>>2]|0)+56>>2]=0;c=qe;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 84:case 75:{k[wc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);k[Gb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];b=k[(k[tf>>2]|0)+12>>2]|0;if((l[k[tf>>2]>>0]|0)==75){k[Pc>>2]=(k[e>>2]|0)+(b*40|0);c=k[Pc>>2]|0;wf=k[c+4>>2]|0;yf=na;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}else{yf=na;k[yf>>2]=b;k[yf+4>>2]=((b|0)<0)<<31>>31}if(l[(k[tf>>2]|0)+3>>0]&1){yf=(k[pf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}if(l[(k[tf>>2]|0)+3>>0]&2){wf=na;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=rf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[qf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}if(m[(k[wc>>2]|0)+8>>1]&1){k[(k[wc>>2]|0)+16>>2]=0;k[(k[wc>>2]|0)+12>>2]=0}if(l[(k[tf>>2]|0)+3>>0]&16)b=k[(k[Gb>>2]|0)+28>>2]|0;else b=0;k[ge>>2]=b;if(m[(k[wc>>2]|0)+8>>1]&16384)k[fb>>2]=k[k[wc>>2]>>2];else k[fb>>2]=0;yf=na;yf=SI(k[(k[Gb>>2]|0)+16>>2]|0,0,k[yf>>2]|0,k[yf+4>>2]|0,k[(k[wc>>2]|0)+16>>2]|0,k[(k[wc>>2]|0)+12>>2]|0,k[fb>>2]|0,(l[(k[tf>>2]|0)+3>>0]&8|0)!=0&1,k[ge>>2]|0)|0;k[uf>>2]=yf;i[(k[Gb>>2]|0)+3>>0]=0;k[(k[Gb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if((k[(k[qf>>2]|0)+216>>2]|0)!=0?(k[(k[tf>>2]|0)+16>>2]|0)!=0:0){k[Se>>2]=k[(k[(k[qf>>2]|0)+16>>2]|0)+(i[(k[Gb>>2]|0)+1>>0]<<4)>>2];k[af>>2]=k[(k[tf>>2]|0)+16>>2];k[mb>>2]=(l[(k[tf>>2]|0)+3>>0]&4|0)!=0?23:18;yf=na;fc[k[(k[qf>>2]|0)+216>>2]&255](k[(k[qf>>2]|0)+212>>2]|0,k[mb>>2]|0,k[Se>>2]|0,k[af>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 95:{k[Hb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];if((k[(k[qf>>2]|0)+216>>2]|0)!=0?(k[(k[tf>>2]|0)+16>>2]|0)!=0:0)b=(l[(k[Hb>>2]|0)+4>>0]|0)!=0;else b=0;i[O>>0]=b&1;if((l[(k[tf>>2]|0)+3>>0]|0)!=0?(l[O>>0]|0)!=0:0)IH(k[(k[Hb>>2]|0)+16>>2]|0,(k[Hb>>2]|0)+40|0)|0;yf=TI(k[(k[Hb>>2]|0)+16>>2]|0,i[(k[tf>>2]|0)+3>>0]|0)|0;k[uf>>2]=yf;k[(k[Hb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;if(i[O>>0]|0){yf=(k[Hb>>2]|0)+40|0;fc[k[(k[qf>>2]|0)+216>>2]&255](k[(k[qf>>2]|0)+212>>2]|0,9,k[(k[(k[qf>>2]|0)+16>>2]|0)+(i[(k[Hb>>2]|0)+1>>0]<<4)>>2]|0,k[(k[tf>>2]|0)+16>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}if(k[(k[tf>>2]|0)+8>>2]&1){yf=(k[pf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}break}case 98:{eI(k[qf>>2]|0,k[(k[pf>>2]|0)+92>>2]|0);k[(k[pf>>2]|0)+92>>2]=0;break}case 99:{k[Ib>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[_a>>2]=k[(k[tf>>2]|0)+16>>2];k[Vd>>2]=0;yf=UI(k[Ib>>2]|0,k[Oc>>2]|0,k[_a>>2]|0,Vd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(k[Vd>>2]|0)d=14;break}case 100:{k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);k[Jb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];yf=VI(k[Jb>>2]|0,k[gd>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;k[(k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 102:case 101:{k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);k[Kb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[ac>>2]=k[(k[Kb>>2]|0)+16>>2];b=k[ac>>2]|0;if(l[(k[Kb>>2]|0)+4>>0]|0){vI(b,Ia)|0;if((k[Ia>>2]|0)>>>0>(k[(k[qf>>2]|0)+92>>2]|0)>>>0){d=882;break c}}else{IH(b,Ja)|0;wf=Ja;a=k[wf+4>>2]|0;yf=k[(k[qf>>2]|0)+92>>2]|0;c=((yf|0)<0)<<31>>31;if((a|0)>(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0>yf>>>0:0)){d=882;break c}k[Ia>>2]=k[Ja>>2]}if(Jx(k[gd>>2]|0,(k[Ia>>2]|0)>>>0>32?k[Ia>>2]|0:32)|0){d=883;break a}k[(k[gd>>2]|0)+12>>2]=k[Ia>>2];j[(k[gd>>2]|0)+8>>1]=m[(k[gd>>2]|0)+8>>1]&-49664|16;b=k[ac>>2]|0;a=k[Ia>>2]|0;c=k[(k[gd>>2]|0)+16>>2]|0;if(!(l[(k[Kb>>2]|0)+4>>0]|0)){yf=JH(b,0,a,c)|0;k[uf>>2]=yf}else{yf=Yh(b,0,a,c)|0;k[uf>>2]=yf}if(k[uf>>2]|0)break a;i[(k[gd>>2]|0)+10>>0]=1;break}case 103:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;k[Lb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];if(i[(k[Lb>>2]|0)+2>>0]|0){j[(k[gd>>2]|0)+8>>1]=1;break d}b=k[Lb>>2]|0;do if(!(i[(k[Lb>>2]|0)+3>>0]|0)){a=k[Lb>>2]|0;if((l[b>>0]|0)==2){k[ud>>2]=k[k[a+16>>2]>>2];k[_c>>2]=k[k[ud>>2]>>2];yf=gc[k[(k[_c>>2]|0)+48>>2]&255](k[(k[Lb>>2]|0)+16>>2]|0,te)|0;k[uf>>2]=yf;WI(k[pf>>2]|0,k[ud>>2]|0);if(k[uf>>2]|0)break a;else break}yf=XI(a)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Lb>>2]|0)+2>>0]|0){j[(k[gd>>2]|0)+8>>1]=1;break d}else{yf=IH(k[(k[Lb>>2]|0)+16>>2]|0,te)|0;k[uf>>2]=yf;break}}else{c=b+40|0;wf=k[c+4>>2]|0;yf=te;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}while(0);c=te;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;break}case 104:{k[Mb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];i[(k[Mb>>2]|0)+2>>0]=1;k[(k[Mb>>2]|0)+56>>2]=0;if(!(l[k[Mb>>2]>>0]|0))FB(k[(k[Mb>>2]|0)+16>>2]|0);break}case 105:{k[Nb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[dc>>2]=k[(k[Nb>>2]|0)+16>>2];k[Wd>>2]=0;yf=RI(k[dc>>2]|0,Wd)|0;k[uf>>2]=yf;i[(k[Nb>>2]|0)+2>>0]=k[Wd>>2];i[(k[Nb>>2]|0)+3>>0]=0;k[(k[Nb>>2]|0)+56>>2]=0;k[(k[Nb>>2]|0)+28>>2]=k[(k[tf>>2]|0)+12>>2];if(k[uf>>2]|0)break a;if((k[Wd>>2]|0)!=0?(k[(k[tf>>2]|0)+8>>2]|0)>0:0)d=14;break}case 107:case 106:{d=(k[pf>>2]|0)+108+8|0;k[d>>2]=(k[d>>2]|0)+1;d=619;break}case 108:{d=619;break}case 3:{k[Pb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Yd>>2]=0;d=_I(k[qf>>2]|0,k[Pb>>2]|0,Yd)|0;k[uf>>2]=d;d=627;break}case 5:case 4:{if(k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2]|0)d=626;break}case 7:case 6:{d=626;break}case 110:case 109:{k[Qb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);if(l[(k[tf>>2]|0)+3>>0]&1){yf=(k[pf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}if(m[(k[Nc>>2]|0)+8>>1]&16384)b=fh(k[Nc>>2]|0)|0;else b=0;k[uf>>2]=b;if(k[uf>>2]|0)break a;if((l[k[tf>>2]>>0]|0)==109){yf=$I(k[Qb>>2]|0,k[Nc>>2]|0)|0;k[uf>>2]=yf}else{k[Za>>2]=k[(k[Nc>>2]|0)+12>>2];k[We>>2]=k[(k[Nc>>2]|0)+16>>2];b=k[Za>>2]|0;if(l[(k[tf>>2]|0)+3>>0]&16)a=k[(k[Qb>>2]|0)+28>>2]|0;else a=0;yf=SI(k[(k[Qb>>2]|0)+16>>2]|0,k[We>>2]|0,b,((b|0)<0)<<31>>31,19010,0,0,k[(k[tf>>2]|0)+12>>2]|0,a)|0;k[uf>>2]=yf;k[(k[Qb>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;break}case 111:{k[Rb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[jc>>2]=k[(k[Rb>>2]|0)+16>>2];k[Kd>>2]=k[(k[Rb>>2]|0)+24>>2];j[Kd+8>>1]=k[(k[tf>>2]|0)+12>>2];i[Kd+10>>0]=0;k[Kd+4>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);yf=vF(k[jc>>2]|0,Kd,0,0,0,Zd)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((k[Zd>>2]|0)==0?(yf=TI(k[jc>>2]|0,4)|0,k[uf>>2]=yf,(k[uf>>2]|0)!=0):0)break a;k[(k[Rb>>2]|0)+56>>2]=0;break}case 113:case 112:{k[Sb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];yf=XI(k[Sb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if(i[(k[Sb>>2]|0)+2>>0]|0){rh((k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=be;k[yf>>2]=0;k[yf+4>>2]=0;yf=aJ(k[qf>>2]|0,k[(k[Sb>>2]|0)+16>>2]|0,be)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;if((l[k[tf>>2]>>0]|0)==112){k[od>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+12>>2]<<2)>>2];i[(k[od>>2]|0)+2>>0]=0;c=be;wf=k[c+4>>2]|0;yf=(k[od>>2]|0)+40|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;i[(k[od>>2]|0)+3>>0]=1;k[(k[od>>2]|0)+52>>2]=k[(k[tf>>2]|0)+16>>2];k[(k[od>>2]|0)+48>>2]=k[Sb>>2];break d}else{c=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=c;c=be;wf=k[c+4>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;j[(k[gd>>2]|0)+8>>1]=4;break d}}case 117:case 116:case 115:case 114:{k[Tb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Ld>>2]=k[(k[Tb>>2]|0)+24>>2];j[Ld+8>>1]=k[(k[tf>>2]|0)+16>>2];b=Ld+10|0;if((l[k[tf>>2]>>0]|0)<116)i[b>>0]=-1;else i[b>>0]=0;k[Ld+4>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[_d>>2]=0;b=bJ(k[qf>>2]|0,k[Tb>>2]|0,Ld,_d)|0;k[uf>>2]=b;b=k[_d>>2]|0;if(!(l[k[tf>>2]>>0]&1))k[_d>>2]=0-b;else k[_d>>2]=b+1;if(k[uf>>2]|0)break a;if((k[_d>>2]|0)>0)d=14;break}case 118:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;j[(k[gd>>2]|0)+8>>1]=1;if((k[(k[qf>>2]|0)+156>>2]|0)>((k[(k[qf>>2]|0)+168>>2]|0)+1|0)){d=662;break c}k[ha>>2]=k[(k[tf>>2]|0)+12>>2];k[qa>>2]=0;wf=cJ(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[ha>>2]<<4)+4>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,qa)|0;k[uf>>2]=wf;j[(k[gd>>2]|0)+8>>1]=4;wf=k[qa>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;if(k[uf>>2]|0)break a;if(k[qa>>2]|0){dJ(k[qf>>2]|0,k[ha>>2]|0,k[qa>>2]|0,k[(k[tf>>2]|0)+4>>2]|0);i[ef>>0]=(k[ha>>2]|0)+1}break}case 119:{k[Ra>>2]=0;yf=eJ(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+8>>2]<<4)+4>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,(k[(k[tf>>2]|0)+12>>2]|0)!=0?Ra:0)|0;k[uf>>2]=yf;if((k[(k[tf>>2]|0)+12>>2]|0)!=0?(yf=(k[pf>>2]|0)+92|0,k[yf>>2]=(k[yf>>2]|0)+(k[Ra>>2]|0),(k[(k[tf>>2]|0)+12>>2]|0)>0):0){wf=k[Ra>>2]|0;yf=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0)|0;c=yf;wf=zR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L}if(k[uf>>2]|0)break a;break}case 120:{k[Ub>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];if((l[k[Ub>>2]>>0]|0)!=1){yf=gJ(k[(k[Ub>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;else break d}else{fJ(k[qf>>2]|0,k[(k[Ub>>2]|0)+16>>2]|0);break d}}case 122:case 121:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;k[Gd>>2]=0;k[Ac>>2]=(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4);if((l[k[tf>>2]>>0]|0)==122)k[N>>2]=1;else k[N>>2]=2;yf=MI(k[(k[Ac>>2]|0)+4>>2]|0,Gd,k[N>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;wf=k[Gd>>2]|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 123:{k[ja>>2]=k[(k[tf>>2]|0)+4>>2];k[Xe>>2]=(k[ja>>2]|0)==1?20513:20532;k[ya>>2]=k[qf>>2];k[ya+8>>2]=k[(k[tf>>2]|0)+4>>2];k[ya+4>>2]=(k[pf>>2]|0)+44;yf=k[qf>>2]|0;c=k[Xe>>2]|0;wf=k[(k[tf>>2]|0)+16>>2]|0;k[Be>>2]=k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[ja>>2]<<4)>>2];k[Be+4>>2]=c;k[Be+8>>2]=wf;yf=Nh(yf,40735,Be)|0;k[_e>>2]=yf;if(!(k[_e>>2]|0))k[uf>>2]=7;else{i[(k[qf>>2]|0)+144+5>>0]=1;k[ya+12>>2]=0;yf=kf(k[qf>>2]|0,k[_e>>2]|0,140,ya,0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))k[uf>>2]=k[ya+12>>2];bg(k[qf>>2]|0,k[_e>>2]|0);i[(k[qf>>2]|0)+144+5>>0]=0}if(k[uf>>2]|0){d=684;break c}break}case 124:{yf=Nj(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 125:{hJ(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+16>>2]|0);break}case 126:{iJ(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+16>>2]|0);break}case 127:{jJ(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+16>>2]|0);break}case 128:{k[cb>>2]=k[(k[tf>>2]|0)+8>>2];k[n>>2]=k[(k[tf>>2]|0)+16>>2];k[Hd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);wf=kJ(k[(k[(k[qf>>2]|0)+16>>2]|0)+(l[(k[tf>>2]|0)+3>>0]<<4)+4>>2]|0,k[n>>2]|0,k[cb>>2]|0,k[k[Hd>>2]>>2]|0,Ua)|0;k[Me>>2]=wf;wf=k[Ua>>2]|0;yf=k[Hd>>2]|0;c=yf;wf=yR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;rh(k[Mc>>2]|0);if(k[Ua>>2]|0){if(!(k[Me>>2]|0)){d=883;break a}ph(k[Mc>>2]|0,k[Me>>2]|0,-1,1,148)|0}nu(k[Mc>>2]|0,l[F>>0]|0)|0;break}case 129:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]&32|0)==0?(lJ(k[Mc>>2]|0),(m[(k[Mc>>2]|0)+8>>1]&32|0)==0):0){d=883;break a}yf=k[Nc>>2]|0;mJ(k[k[Mc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0);break}case 130:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);if((m[(k[Mc>>2]|0)+8>>1]&32|0)!=0?(nJ(k[k[Mc>>2]>>2]|0,ue)|0)!=0:0){d=ue;qh((k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0)|0,k[d>>2]|0,k[d+4>>2]|0);d=8;break d}rh(k[Mc>>2]|0);d=7;break}case 131:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[ua>>2]=k[(k[tf>>2]|0)+16>>2];if((m[(k[Mc>>2]|0)+8>>1]&32|0)==0?(lJ(k[Mc>>2]|0),(m[(k[Mc>>2]|0)+8>>1]&32|0)==0):0){d=883;break a}if((k[ua>>2]|0)!=0?(yf=k[Oc>>2]|0,yf=oJ(k[k[Mc>>2]>>2]|0,k[ua>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)|0,k[H>>2]=yf,(k[H>>2]|0)!=0):0){d=14;break d}if((k[ua>>2]|0)>=0){yf=k[Oc>>2]|0;mJ(k[k[Mc>>2]>>2]|0,k[yf>>2]|0,k[yf+4>>2]|0)}break}case 132:{k[id>>2]=k[(k[tf>>2]|0)+16>>2];k[md>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if(i[(k[tf>>2]|0)+3>>0]|0){k[je>>2]=k[(k[id>>2]|0)+20>>2];k[Gc>>2]=k[(k[pf>>2]|0)+176>>2];while(1){if(!(k[Gc>>2]|0))break;if((k[(k[Gc>>2]|0)+28>>2]|0)==(k[je>>2]|0))break;k[Gc>>2]=k[(k[Gc>>2]|0)+4>>2]}if(k[Gc>>2]|0)break d}if((k[(k[pf>>2]|0)+184>>2]|0)>=(k[(k[qf>>2]|0)+92+40>>2]|0)){d=713;break c}i:do if(!(m[(k[md>>2]|0)+8>>1]&64)){k[$a>>2]=(k[(k[id>>2]|0)+8>>2]|0)+(k[(k[id>>2]|0)+12>>2]|0);if(!(k[(k[id>>2]|0)+12>>2]|0))k[$a>>2]=(k[$a>>2]|0)+1;k[Qa>>2]=80+((k[$a>>2]|0)*40|0)+(k[(k[id>>2]|0)+12>>2]<<2)+(k[(k[id>>2]|0)+16>>2]|0);yf=k[Qa>>2]|0;yf=Bh(k[qf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;k[Gc>>2]=yf;if(!(k[Gc>>2]|0)){d=883;break a}eh(k[md>>2]|0);j[(k[md>>2]|0)+8>>1]=64;k[k[md>>2]>>2]=k[Gc>>2];k[k[Gc>>2]>>2]=k[pf>>2];k[(k[Gc>>2]|0)+64>>2]=k[$a>>2];k[(k[Gc>>2]|0)+68>>2]=k[(k[id>>2]|0)+12>>2];k[(k[Gc>>2]|0)+48>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;k[(k[Gc>>2]|0)+16>>2]=k[(k[pf>>2]|0)+8>>2];k[(k[Gc>>2]|0)+56>>2]=k[(k[pf>>2]|0)+28>>2];k[(k[Gc>>2]|0)+24>>2]=k[(k[pf>>2]|0)+56>>2];k[(k[Gc>>2]|0)+44>>2]=k[(k[pf>>2]|0)+36>>2];k[(k[Gc>>2]|0)+8>>2]=k[(k[pf>>2]|0)+4>>2];k[(k[Gc>>2]|0)+52>>2]=k[(k[pf>>2]|0)+32>>2];k[(k[Gc>>2]|0)+28>>2]=k[(k[id>>2]|0)+20>>2];k[(k[Gc>>2]|0)+20>>2]=k[(k[pf>>2]|0)+200>>2];k[(k[Gc>>2]|0)+60>>2]=k[(k[pf>>2]|0)+196>>2];k[Dc>>2]=(k[Gc>>2]|0)+80+((k[(k[Gc>>2]|0)+64>>2]|0)*40|0);k[Wc>>2]=(k[Gc>>2]|0)+80;while(1){if((k[Wc>>2]|0)==(k[Dc>>2]|0))break i;j[(k[Wc>>2]|0)+8>>1]=128;k[(k[Wc>>2]|0)+32>>2]=k[qf>>2];k[Wc>>2]=(k[Wc>>2]|0)+40}}else k[Gc>>2]=k[k[md>>2]>>2];while(0);c=(k[pf>>2]|0)+184|0;k[c>>2]=(k[c>>2]|0)+1;k[(k[Gc>>2]|0)+4>>2]=k[(k[pf>>2]|0)+176>>2];c=rf;wf=k[c+4>>2]|0;yf=(k[Gc>>2]|0)+32|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;k[(k[Gc>>2]|0)+72>>2]=k[(k[pf>>2]|0)+92>>2];k[(k[Gc>>2]|0)+76>>2]=k[(k[k[pf>>2]>>2]|0)+84>>2];k[(k[Gc>>2]|0)+40>>2]=k[(k[pf>>2]|0)+204>>2];k[(k[pf>>2]|0)+204>>2]=0;k[(k[pf>>2]|0)+92>>2]=0;k[(k[pf>>2]|0)+176>>2]=k[Gc>>2];yf=(k[Gc>>2]|0)+80|0;k[e>>2]=yf;k[(k[pf>>2]|0)+8>>2]=yf;k[(k[pf>>2]|0)+28>>2]=k[(k[Gc>>2]|0)+64>>2];k[(k[pf>>2]|0)+36>>2]=k[(k[Gc>>2]|0)+68>>2]&65535;k[(k[pf>>2]|0)+56>>2]=(k[e>>2]|0)+((k[(k[pf>>2]|0)+28>>2]|0)*40|0);yf=k[k[id>>2]>>2]|0;k[cf>>2]=yf;k[(k[pf>>2]|0)+4>>2]=yf;k[(k[pf>>2]|0)+32>>2]=k[(k[id>>2]|0)+4>>2];k[(k[pf>>2]|0)+200>>2]=(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[pf>>2]|0)+36>>2]<<2);k[(k[pf>>2]|0)+196>>2]=k[(k[id>>2]|0)+16>>2];k[tf>>2]=(k[cf>>2]|0)+-20;DR(k[(k[pf>>2]|0)+200>>2]|0,0,k[(k[pf>>2]|0)+196>>2]|0)|0;break}case 134:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;k[Hc>>2]=k[(k[pf>>2]|0)+176>>2];k[Lc>>2]=(k[(k[Hc>>2]|0)+16>>2]|0)+(((k[(k[tf>>2]|0)+4>>2]|0)+(k[(k[(k[Hc>>2]|0)+8>>2]|0)+((k[(k[Hc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);SF(k[gd>>2]|0,k[Lc>>2]|0,4096);break}case 135:{b=k[tf>>2]|0;if(k[(k[qf>>2]|0)+24>>2]&16777216){wf=k[b+8>>2]|0;yf=(k[qf>>2]|0)+448|0;c=yf;wf=zR(k[c>>2]|0,k[c+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}a=k[(k[tf>>2]|0)+8>>2]|0;c=((a|0)<0)<<31>>31;if(k[b+4>>2]|0){yf=(k[qf>>2]|0)+440|0;wf=yf;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}else{yf=(k[pf>>2]|0)+144|0;wf=yf;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,a|0,c|0)|0;k[yf>>2]=wf;k[yf+4>>2]=L;break d}}case 136:if(k[(k[tf>>2]|0)+4>>2]|0){yf=(k[qf>>2]|0)+440|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[qf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}else{yf=(k[pf>>2]|0)+144|0;if(!((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0))break d;yf=(k[qf>>2]|0)+448|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0){d=14;break d}else break d}case 137:{if(k[(k[pf>>2]|0)+176>>2]|0){k[Ic>>2]=k[(k[pf>>2]|0)+176>>2];while(1){if(!(k[(k[Ic>>2]|0)+4>>2]|0))break;k[Ic>>2]=k[(k[Ic>>2]|0)+4>>2]}k[Mc>>2]=(k[(k[Ic>>2]|0)+16>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0)}else k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);Mx(k[Mc>>2]|0)|0;k[Nc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0);Mx(k[Nc>>2]|0)|0;wf=k[Mc>>2]|0;a=k[wf+4>>2]|0;yf=k[Nc>>2]|0;c=k[yf+4>>2]|0;if((a|0)<(c|0)|((a|0)==(c|0)?(k[wf>>2]|0)>>>0<(k[yf>>2]|0)>>>0:0)){c=k[Nc>>2]|0;wf=k[c+4>>2]|0;yf=k[Mc>>2]|0;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf}break}case 138:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);yf=k[Mc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){yf=k[(k[tf>>2]|0)+12>>2]|0;d=k[Mc>>2]|0;wf=d;yf=yR(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 139:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;yf=k[Mc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(k[yf>>2]|0)>>>0<=0){b=-1;a=-1}else{b=k[Mc>>2]|0;yf=k[Oc>>2]|0;wf=k[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(k[yf>>2]|0)>>>0>0){c=k[Oc>>2]|0;a=k[c>>2]|0;c=k[c+4>>2]|0}else{a=0;c=0}b=zR(k[b>>2]|0,k[b+4>>2]|0,a|0,c|0)|0;a=L}yf=k[gd>>2]|0;k[yf>>2]=b;k[yf+4>>2]=a;break}case 140:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);yf=k[Mc>>2]|0;if((k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0){yf=k[(k[tf>>2]|0)+12>>2]|0;d=k[Mc>>2]|0;wf=d;yf=yR(k[wf>>2]|0,k[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;k[d>>2]=yf;k[d+4>>2]=L;d=14}break}case 141:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);yf=k[Mc>>2]|0;wf=yf;wf=zR(k[wf>>2]|0,k[wf+4>>2]|0,-1,-1)|0;k[yf>>2]=wf;k[yf+4>>2]=L;yf=k[Mc>>2]|0;if((k[yf>>2]|0)==0&(k[yf+4>>2]|0)==0)d=14;break}case 142:{k[Mc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);c=k[Mc>>2]|0;yf=c;wf=k[yf>>2]|0;yf=k[yf+4>>2]|0;a=zR(wf|0,yf|0,1,0)|0;k[c>>2]=a;k[c+4>>2]=L;if((wf|0)==0&(yf|0)==0)d=14;break}case 143:{k[La>>2]=l[(k[tf>>2]|0)+3>>0];yf=Vw(k[qf>>2]|0,32+((k[La>>2]|0)-1<<2)|0,0)|0;k[mc>>2]=yf;if(!(k[mc>>2]|0)){d=883;break a}k[(k[mc>>2]|0)+8>>2]=0;k[(k[mc>>2]|0)+4>>2]=k[(k[tf>>2]|0)+16>>2];k[(k[mc>>2]|0)+16>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;k[(k[mc>>2]|0)+12>>2]=k[pf>>2];i[(k[mc>>2]|0)+26>>0]=k[La>>2];i[(k[tf>>2]|0)+1>>0]=-20;k[(k[tf>>2]|0)+16>>2]=k[mc>>2];i[k[tf>>2]>>0]=-112;d=755;break}case 144:{d=755;break}case 145:{k[Yc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);yf=VF(k[Yc>>2]|0,k[(k[tf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=767;break c}nu(k[Yc>>2]|0,l[F>>0]|0)|0;if(jI(k[Yc>>2]|0)|0){d=882;break c}break}case 8:{k[h>>2]=0;k[h+8>>2]=-1;k[h+4>>2]=-1;yf=wi(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+8>>2]|0,h+4|0,h+8|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=5)break a;k[uf>>2]=0;k[h>>2]=1}k[Z>>2]=0;k[Zc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);while(1){if((k[Z>>2]|0)>=3)break d;yf=k[h+(k[Z>>2]<<2)>>2]|0;qh(k[Zc>>2]|0,yf,((yf|0)<0)<<31>>31);k[Z>>2]=(k[Z>>2]|0)+1;k[Zc>>2]=(k[Zc>>2]|0)+40}}case 9:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;k[D>>2]=k[(k[tf>>2]|0)+12>>2];k[yb>>2]=k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+4>>2];yf=Zf(k[yb>>2]|0)|0;k[hd>>2]=yf;yf=Cg(k[hd>>2]|0)|0;k[E>>2]=yf;if((k[D>>2]|0)==-1)k[D>>2]=k[E>>2];if(!(pJ(k[hd>>2]|0)|0))k[D>>2]=k[E>>2];yf=Si(k[hd>>2]|0,1)|0;k[Ue>>2]=yf;do if((k[D>>2]|0)==5){if((Tf(k[Ue>>2]|0)|0)!=0?(qJ(k[hd>>2]|0)|0)!=0:0)break;k[D>>2]=k[E>>2]}while(0);if((k[D>>2]|0)!=(k[E>>2]|0)?(k[E>>2]|0)==5|(k[D>>2]|0)==5:0){if(!(i[(k[qf>>2]|0)+67>>0]|0)){d=787;break c}if((k[(k[qf>>2]|0)+156>>2]|0)>1){d=787;break c}if((k[E>>2]|0)==5){yf=rJ(k[hd>>2]|0)|0;k[uf>>2]=yf;if(!(k[uf>>2]|0))sJ(k[hd>>2]|0,k[D>>2]|0)|0}else if((k[E>>2]|0)==4)sJ(k[hd>>2]|0,2)|0;if(!(k[uf>>2]|0)){yf=Mg(k[yb>>2]|0,(k[D>>2]|0)==5?2:1)|0;k[uf>>2]=yf}}if(k[uf>>2]|0)k[D>>2]=k[E>>2];yf=sJ(k[hd>>2]|0,k[D>>2]|0)|0;k[D>>2]=yf;j[(k[gd>>2]|0)+8>>1]=2562;yf=fC(k[D>>2]|0)|0;k[(k[gd>>2]|0)+16>>2]=yf;yf=Tf(k[(k[gd>>2]|0)+16>>2]|0)|0;k[(k[gd>>2]|0)+12>>2]=yf;i[(k[gd>>2]|0)+10>>0]=1;nu(k[gd>>2]|0,l[F>>0]|0)|0;if(k[uf>>2]|0)break a;break}case 10:{yf=tJ((k[pf>>2]|0)+44|0,k[qf>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;break}case 146:{k[zb>>2]=k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+4>>2];yf=uJ(k[zb>>2]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){if((k[uf>>2]|0)!=101)break a;k[uf>>2]=0;d=14}break}case 147:if(k[(k[tf>>2]|0)+4>>2]|0){yf=(k[pf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2|1;break d}else{_h(k[qf>>2]|0);break d}case 148:{i[Ba>>0]=k[(k[tf>>2]|0)+12>>2];if((l[Ba>>0]|0)==0?0!=(k[(k[qf>>2]|0)+24>>2]&16384|0):0)break d;k[qb>>2]=k[(k[tf>>2]|0)+4>>2];yf=vJ(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[qb>>2]<<4)+4>>2]|0,k[(k[tf>>2]|0)+8>>2]|0,i[Ba>>0]|0)|0;k[uf>>2]=yf;if(k[uf>>2]|0){d=808;break c}break}case 149:{k[sd>>2]=k[(k[tf>>2]|0)+16>>2];yf=wJ(k[qf>>2]|0,k[sd>>2]|0)|0;k[uf>>2]=yf;if(k[sd>>2]|0)WI(k[pf>>2]|0,k[(k[sd>>2]|0)+8>>2]|0);if(k[uf>>2]|0)break a;break}case 150:{b=fe;a=b+40|0;do{k[b>>2]=0;b=b+4|0}while((b|0)<(a|0));k[fe+32>>2]=k[qf>>2];yf=sh(fe,(k[e>>2]|0)+((k[(k[tf>>2]|0)+8>>2]|0)*40|0)|0)|0;k[uf>>2]=yf;yf=ke(fe)|0;k[$e>>2]=yf;if(k[$e>>2]|0){yf=xJ(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[$e>>2]|0,(k[pf>>2]|0)+44|0)|0;k[uf>>2]=yf}eh(fe);if(k[uf>>2]|0)break a;break}case 151:{yf=(k[qf>>2]|0)+168|0;k[yf>>2]=(k[yf>>2]|0)+1;yf=yJ(k[qf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[(k[tf>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;yf=(k[qf>>2]|0)+168|0;k[yf>>2]=(k[yf>>2]|0)+-1;if(k[uf>>2]|0)break a;break}case 152:{k[pc>>2]=0;k[qd>>2]=0;k[vd>>2]=k[(k[(k[tf>>2]|0)+16>>2]|0)+8>>2];if(!(k[vd>>2]|0)){d=819;break c}if(!(k[k[vd>>2]>>2]|0)){d=819;break c}k[$c>>2]=k[k[vd>>2]>>2];yf=gc[k[(k[$c>>2]|0)+24>>2]&255](k[vd>>2]|0,qd)|0;k[uf>>2]=yf;WI(k[pf>>2]|0,k[vd>>2]|0);if(k[uf>>2]|0)break a;k[k[qd>>2]>>2]=k[vd>>2];yf=JI(k[pf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,0,-1,2)|0;k[pc>>2]=yf;if(!(k[pc>>2]|0)){d=823;break c}k[(k[pc>>2]|0)+16>>2]=k[qd>>2];yf=(k[vd>>2]|0)+4|0;k[yf>>2]=(k[yf>>2]|0)+1;break}case 11:{k[jd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[vb>>2]=(k[jd>>2]|0)+40;k[qc>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[rd>>2]=k[(k[qc>>2]|0)+16>>2];k[wd>>2]=k[k[rd>>2]>>2];k[ad>>2]=k[k[wd>>2]>>2];k[Ma>>2]=k[k[vb>>2]>>2];k[ra>>2]=k[k[jd>>2]>>2];k[Pd>>2]=0;k[t>>2]=k[(k[pf>>2]|0)+12>>2];k[Q>>2]=0;while(1){if((k[Q>>2]|0)>=(k[Ma>>2]|0))break;k[(k[t>>2]|0)+(k[Q>>2]<<2)>>2]=(k[vb>>2]|0)+(((k[Q>>2]|0)+1|0)*40|0);k[Q>>2]=(k[Q>>2]|0)+1}yf=hc[k[(k[ad>>2]|0)+32>>2]&255](k[rd>>2]|0,k[ra>>2]|0,k[(k[tf>>2]|0)+16>>2]|0,k[Ma>>2]|0,k[t>>2]|0)|0;k[uf>>2]=yf;WI(k[pf>>2]|0,k[wd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[ad>>2]|0)+40>>2]&255](k[rd>>2]|0)|0;k[Pd>>2]=yf;i[(k[qc>>2]|0)+2>>0]=0;if(k[Pd>>2]|0)d=14;break}case 153:{k[rc>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Cc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);if(i[(k[rc>>2]|0)+2>>0]|0){rh(k[Cc>>2]|0);break d}k[xd>>2]=k[k[(k[rc>>2]|0)+16>>2]>>2];k[bd>>2]=k[k[xd>>2]>>2];k[de>>2]=0;k[de+4>>2]=0;k[de+8>>2]=0;k[de+12>>2]=0;k[de+16>>2]=0;k[de+20>>2]=0;k[de+24>>2]=0;k[de+28>>2]=0;k[de>>2]=k[Cc>>2];j[(k[Cc>>2]|0)+8>>1]=m[(k[Cc>>2]|0)+8>>1]&-49664|1;yf=Yb[k[(k[bd>>2]|0)+44>>2]&255](k[(k[rc>>2]|0)+16>>2]|0,de,k[(k[tf>>2]|0)+8>>2]|0)|0;k[uf>>2]=yf;WI(k[pf>>2]|0,k[xd>>2]|0);if(k[de+20>>2]|0)k[uf>>2]=k[de+20>>2];nu(k[Cc>>2]|0,l[F>>0]|0)|0;if(jI(k[Cc>>2]|0)|0){d=882;break c}if(k[uf>>2]|0)break a;break}case 154:{k[Qd>>2]=0;k[sc>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];if(!(i[(k[sc>>2]|0)+2>>0]|0)){k[yd>>2]=k[k[(k[sc>>2]|0)+16>>2]>>2];k[cd>>2]=k[k[yd>>2]>>2];yf=bc[k[(k[cd>>2]|0)+36>>2]&255](k[(k[sc>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;WI(k[pf>>2]|0,k[yd>>2]|0);if(k[uf>>2]|0)break a;yf=bc[k[(k[cd>>2]|0)+40>>2]&255](k[(k[sc>>2]|0)+16>>2]|0)|0;k[Qd>>2]=yf;if(k[Qd>>2]|0)d=8;else d=7}break}case 155:{k[zd>>2]=k[(k[(k[tf>>2]|0)+16>>2]|0)+8>>2];k[ed>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0);yf=nu(k[ed>>2]|0,1)|0;k[uf>>2]=yf;if(k[uf>>2]|0)break a;yf=gc[k[(k[k[zd>>2]>>2]|0)+76>>2]&255](k[zd>>2]|0,k[(k[ed>>2]|0)+16>>2]|0)|0;k[uf>>2]=yf;WI(k[pf>>2]|0,k[zd>>2]|0);yf=(k[pf>>2]|0)+87|0;i[yf>>0]=i[yf>>0]&-2;if(k[uf>>2]|0)break a;break}case 12:{k[Ad>>2]=k[(k[(k[tf>>2]|0)+16>>2]|0)+8>>2];if(!(k[Ad>>2]|0)){d=842;break c}if(!(k[k[Ad>>2]>>2]|0)){d=842;break c}k[dd>>2]=k[k[Ad>>2]>>2];k[Na>>2]=k[(k[tf>>2]|0)+8>>2];if(k[(k[dd>>2]|0)+52>>2]|0){i[Ke>>0]=i[(k[qf>>2]|0)+74>>0]|0;k[u>>2]=k[(k[pf>>2]|0)+12>>2];k[Cd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k[S>>2]=0;while(1){if((k[S>>2]|0)>=(k[Na>>2]|0))break;k[(k[u>>2]|0)+(k[S>>2]<<2)>>2]=k[Cd>>2];k[Cd>>2]=(k[Cd>>2]|0)+40;k[S>>2]=(k[S>>2]|0)+1}i[(k[qf>>2]|0)+74>>0]=i[(k[tf>>2]|0)+3>>0]|0;yf=ec[k[(k[dd>>2]|0)+52>>2]&255](k[Ad>>2]|0,k[Na>>2]|0,k[u>>2]|0,ce)|0;k[uf>>2]=yf;i[(k[qf>>2]|0)+74>>0]=i[Ke>>0]|0;WI(k[pf>>2]|0,k[Ad>>2]|0);if((k[uf>>2]|0)==0?(k[(k[tf>>2]|0)+4>>2]|0)!=0:0){wf=ce;c=k[wf>>2]|0;wf=k[wf+4>>2]|0;yf=rf;k[yf>>2]=c;k[yf+4>>2]=wf;yf=(k[qf>>2]|0)+32|0;k[yf>>2]=c;k[yf+4>>2]=wf}do if((k[uf>>2]&255|0)==19?(l[(k[(k[tf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((l[(k[tf>>2]|0)+3>>0]|0)==4){k[uf>>2]=0;break}if((l[(k[tf>>2]|0)+3>>0]|0)==5)b=2;else b=l[(k[tf>>2]|0)+3>>0]|0;i[(k[pf>>2]|0)+86>>0]=b}else d=857;while(0);if((d|0)==857){d=0;yf=(k[pf>>2]|0)+92|0;k[yf>>2]=(k[yf>>2]|0)+1}if(k[uf>>2]|0)break a}break}case 156:{wf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=wf;wf=Dg(k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=0;break}case 157:{yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;k[xb>>2]=k[(k[(k[qf>>2]|0)+16>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<4)+4>>2];k[gb>>2]=0;if((k[(k[tf>>2]|0)+12>>2]|0)!=0?(yf=Dg(k[xb>>2]|0)|0,k[gb>>2]=yf,(k[gb>>2]|0)>>>0<(k[(k[tf>>2]|0)+12>>2]|0)>>>0):0)k[gb>>2]=k[(k[tf>>2]|0)+12>>2];wf=zJ(k[xb>>2]|0,k[gb>>2]|0)|0;yf=k[gd>>2]|0;k[yf>>2]=wf;k[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 158:{if((k[(k[qf>>2]|0)+180>>2]|0)!=0?((l[(k[pf>>2]|0)+87>>0]|0)>>>1&1|0)==0:0){if(k[(k[tf>>2]|0)+16>>2]|0)b=k[(k[tf>>2]|0)+16>>2]|0;else b=k[(k[pf>>2]|0)+168>>2]|0;k[bf>>2]=b;if(b){yf=AJ(k[pf>>2]|0,k[bf>>2]|0)|0;k[Oe>>2]=yf;$b[k[(k[qf>>2]|0)+180>>2]&255](k[(k[qf>>2]|0)+184>>2]|0,k[Oe>>2]|0);bg(k[qf>>2]|0,k[Oe>>2]|0)}}if(k[(k[tf>>2]|0)+8>>2]|0)d=14;break}default:{}}while(0);if((d|0)==20){d=0;k[df>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;if(k[(k[tf>>2]|0)+4>>2]|0){d=25;break}if(!(k[(k[pf>>2]|0)+176>>2]|0)){d=25;break}k[Ec>>2]=k[(k[pf>>2]|0)+176>>2];k[(k[pf>>2]|0)+176>>2]=k[(k[Ec>>2]|0)+4>>2];c=(k[pf>>2]|0)+184|0;k[c>>2]=(k[c>>2]|0)+-1;eI(k[qf>>2]|0,k[(k[pf>>2]|0)+92>>2]|0);c=fI(k[Ec>>2]|0)|0;k[df>>2]=c;c=(k[qf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=rf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if((k[(k[tf>>2]|0)+8>>2]|0)==4)k[df>>2]=(k[(k[(k[pf>>2]|0)+4>>2]|0)+((k[df>>2]|0)*20|0)+8>>2]|0)-1;k[cf>>2]=k[(k[pf>>2]|0)+4>>2];k[e>>2]=k[(k[pf>>2]|0)+8>>2];k[tf>>2]=(k[cf>>2]|0)+((k[df>>2]|0)*20|0)}else if((d|0)==49){d=0;yf=iI(k[pf>>2]|0,k[tf>>2]|0)|0;k[gd>>2]=yf;j[(k[gd>>2]|0)+8>>1]=2562;k[(k[gd>>2]|0)+16>>2]=k[(k[tf>>2]|0)+16>>2];k[(k[gd>>2]|0)+12>>2]=k[(k[tf>>2]|0)+4>>2];i[(k[gd>>2]|0)+10>>0]=i[F>>0]|0;if((i[(k[tf>>2]|0)+3>>0]|0)!=0?(k[Oc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0),yf=k[Oc>>2]|0,(k[yf>>2]|0)!=0|(k[yf+4>>2]|0)!=0):0)j[(k[gd>>2]|0)+8>>1]=2576}else if((d|0)==130){d=0;k[lc>>2]=k[(k[tf>>2]|0)+16>>2];k[gd>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);j:do if((k[k[lc>>2]>>2]|0)!=(k[gd>>2]|0)){k[k[lc>>2]>>2]=k[gd>>2];k[U>>2]=(l[(k[lc>>2]|0)+26>>0]|0)-1;while(1){if((k[U>>2]|0)<0)break j;k[(k[lc>>2]|0)+28+(k[U>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[tf>>2]|0)+8>>2]|0)+(k[U>>2]|0)|0)*40|0);k[U>>2]=(k[U>>2]|0)+-1}}while(0);j[(k[k[lc>>2]>>2]|0)+8>>1]=m[(k[k[lc>>2]>>2]|0)+8>>1]&-49664|1;i[(k[lc>>2]|0)+25>>0]=0;yf=rf;wf=k[yf+4>>2]|0;c=(k[qf>>2]|0)+32|0;k[c>>2]=k[yf>>2];k[c+4>>2]=wf;cc[k[(k[(k[lc>>2]|0)+4>>2]|0)+12>>2]&255](k[lc>>2]|0,l[(k[lc>>2]|0)+26>>0]|0,(k[lc>>2]|0)+28|0);c=(k[qf>>2]|0)+32|0;wf=k[c+4>>2]|0;yf=rf;k[yf>>2]=k[c>>2];k[yf+4>>2]=wf;if(i[(k[lc>>2]|0)+25>>0]|0){if(k[(k[lc>>2]|0)+20>>2]|0){yf=k[pf>>2]|0;wf=ke(k[k[lc>>2]>>2]|0)|0;k[we>>2]=wf;gI(yf,18999,we);k[uf>>2]=k[(k[lc>>2]|0)+20>>2]}rI(k[qf>>2]|0,(k[pf>>2]|0)+204|0,k[(k[lc>>2]|0)+16>>2]|0,k[(k[tf>>2]|0)+4>>2]|0);if(k[uf>>2]|0)break a}if((m[(k[gd>>2]|0)+8>>1]&18|0)!=0?(nu(k[k[lc>>2]>>2]|0,l[F>>0]|0)|0,(jI(k[k[lc>>2]>>2]|0)|0)!=0):0){d=882;break}}else if((d|0)==442){if(i[(k[pf>>2]|0)+87>>0]&1){d=443;break}k[Wa>>2]=0;k[Rc>>2]=0;k[ub>>2]=k[(k[tf>>2]|0)+8>>2];k[fa>>2]=k[(k[tf>>2]|0)+12>>2];k[zc>>2]=(k[(k[qf>>2]|0)+16>>2]|0)+(k[fa>>2]<<4);k[Bd>>2]=k[(k[zc>>2]|0)+4>>2];if((l[k[tf>>2]>>0]|0)==55){k[Le>>2]=4|l[(k[tf>>2]|0)+3>>0]&8;if((l[(k[(k[zc>>2]|0)+12>>2]|0)+76>>0]|0)<(l[(k[pf>>2]|0)+88>>0]|0))i[(k[pf>>2]|0)+88>>0]=i[(k[(k[zc>>2]|0)+12>>2]|0)+76>>0]|0}else k[Le>>2]=0;if(l[(k[tf>>2]|0)+3>>0]&16){k[Nc>>2]=(k[e>>2]|0)+((k[ub>>2]|0)*40|0);Mx(k[Nc>>2]|0)|0;k[ub>>2]=k[k[Nc>>2]>>2]}b=k[tf>>2]|0;if((i[(k[tf>>2]|0)+1>>0]|0)!=-6){if((i[b+1>>0]|0)==-14)k[Wa>>2]=k[(k[tf>>2]|0)+16>>2]}else{k[Rc>>2]=k[b+16>>2];k[Wa>>2]=(m[(k[Rc>>2]|0)+6>>1]|0)+(m[(k[Rc>>2]|0)+8>>1]|0)}yf=JI(k[pf>>2]|0,k[(k[tf>>2]|0)+4>>2]|0,k[Wa>>2]|0,k[fa>>2]|0,0)|0;k[oc>>2]=yf;if(!(k[oc>>2]|0)){d=883;break a}i[(k[oc>>2]|0)+2>>0]=1;d=(k[oc>>2]|0)+5|0;i[d>>0]=i[d>>0]&-5|4;k[(k[oc>>2]|0)+8>>2]=k[ub>>2];d=KI(k[Bd>>2]|0,k[ub>>2]|0,k[Le>>2]|0,k[Rc>>2]|0,k[(k[oc>>2]|0)+16>>2]|0)|0;k[uf>>2]=d;k[(k[oc>>2]|0)+24>>2]=k[Rc>>2];i[(k[oc>>2]|0)+4>>0]=(i[(k[tf>>2]|0)+1>>0]|0)!=-6;d=456}else if((d|0)==619){d=0;k[Ob>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Xd>>2]=1;b=k[Ob>>2]|0;if((l[k[Ob>>2]>>0]|0)==1){yf=YI(b,Xd)|0;k[uf>>2]=yf}else{k[ic>>2]=k[b+16>>2];yf=ZI(k[ic>>2]|0,Xd)|0;k[uf>>2]=yf;i[(k[Ob>>2]|0)+3>>0]=0;k[(k[Ob>>2]|0)+56>>2]=0}if(k[uf>>2]|0)break a;i[(k[Ob>>2]|0)+2>>0]=k[Xd>>2];if(k[Xd>>2]|0)d=14}else if((d|0)==626){k[Pb>>2]=k[(k[(k[pf>>2]|0)+56>>2]|0)+(k[(k[tf>>2]|0)+4>>2]<<2)>>2];k[Yd>>2]=k[(k[tf>>2]|0)+12>>2];yf=gc[k[(k[tf>>2]|0)+16>>2]&255](k[(k[Pb>>2]|0)+16>>2]|0,Yd)|0;k[uf>>2]=yf;d=627}else if((d|0)==755){d=0;k[nc>>2]=k[(k[tf>>2]|0)+16>>2];k[Xc>>2]=(k[e>>2]|0)+((k[(k[tf>>2]|0)+12>>2]|0)*40|0);k:do if((k[(k[nc>>2]|0)+8>>2]|0)!=(k[Xc>>2]|0)){k[(k[nc>>2]|0)+8>>2]=k[Xc>>2];k[Y>>2]=(l[(k[nc>>2]|0)+26>>0]|0)-1;while(1){if((k[Y>>2]|0)<0)break k;k[(k[nc>>2]|0)+28+(k[Y>>2]<<2)>>2]=(k[e>>2]|0)+(((k[(k[tf>>2]|0)+8>>2]|0)+(k[Y>>2]|0)|0)*40|0);k[Y>>2]=(k[Y>>2]|0)+-1}}while(0);yf=(k[Xc>>2]|0)+12|0;k[yf>>2]=(k[yf>>2]|0)+1;RF(le,k[qf>>2]|0,1);k[k[nc>>2]>>2]=le;i[(k[nc>>2]|0)+25>>0]=0;i[(k[nc>>2]|0)+24>>0]=0;cc[k[(k[(k[nc>>2]|0)+4>>2]|0)+12>>2]&255](k[nc>>2]|0,l[(k[nc>>2]|0)+26>>0]|0,(k[nc>>2]|0)+28|0);if(i[(k[nc>>2]|0)+25>>0]|0){if(k[(k[nc>>2]|0)+20>>2]|0){yf=k[pf>>2]|0;wf=ke(le)|0;k[De>>2]=wf;gI(yf,18999,De);k[uf>>2]=k[(k[nc>>2]|0)+20>>2]}eh(le);if(k[uf>>2]|0)break a}if((i[(k[nc>>2]|0)+24>>0]|0)!=0?(k[Y>>2]=k[(k[tf>>2]|0)+-20+4>>2],(k[Y>>2]|0)!=0):0)qh((k[e>>2]|0)+((k[Y>>2]|0)*40|0)|0,1,0)}do if((d|0)==14){d=0;k[tf>>2]=(k[cf>>2]|0)+(((k[(k[tf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((d|0)==456){d=0;LI(k[(k[oc>>2]|0)+16>>2]|0,l[(k[tf>>2]|0)+3>>0]&3);if(k[uf>>2]|0)break a}else if((d|0)==627){d=0;k[(k[Pb>>2]|0)+56>>2]=0;if(k[uf>>2]|0)break a;b=(k[Pb>>2]|0)+2|0;if(!(k[Yd>>2]|0)){i[b>>0]=0;d=(k[pf>>2]|0)+108+(l[(k[tf>>2]|0)+3>>0]<<2)|0;k[d>>2]=(k[d>>2]|0)+1;d=7;break}else{i[b>>0]=1;d=8;break}}while(0);if((d|0)==7){k[tf>>2]=(k[cf>>2]|0)+(((k[(k[tf>>2]|0)+8>>2]|0)-1|0)*20|0);d=8}if((d|0)==8){d=0;if(k[(k[qf>>2]|0)+248>>2]|0)break b;if(((k[(k[qf>>2]|0)+304>>2]|0)!=0?(k[sf>>2]|0)>>>0>=(k[bb>>2]|0)>>>0:0)?(k[bb>>2]=(k[sf>>2]|0)+(k[(k[qf>>2]|0)+312>>2]|0)-(((k[sf>>2]|0)>>>0)%((k[(k[qf>>2]|0)+312>>2]|0)>>>0)|0),(bc[k[(k[qf>>2]|0)+304>>2]&255](k[(k[qf>>2]|0)+308>>2]|0)|0)!=0):0){d=12;break}}k[tf>>2]=(k[tf>>2]|0)+20}switch(d|0){case 12:{k[uf>>2]=9;break a}case 25:{k[(k[pf>>2]|0)+80>>2]=k[(k[tf>>2]|0)+4>>2];i[(k[pf>>2]|0)+86>>0]=k[(k[tf>>2]|0)+8>>2];k[(k[pf>>2]|0)+76>>2]=k[df>>2];if(k[(k[pf>>2]|0)+80>>2]|0){if(i[(k[tf>>2]|0)+3>>0]|0)k[of>>2]=k[6404+((l[(k[tf>>2]|0)+3>>0]|0)-1<<2)>>2];else k[of>>2]=0;k[nf>>2]=40297;if((k[of>>2]|0)!=0?(k[(k[tf>>2]|0)+16>>2]|0)!=0:0){yf=k[pf>>2]|0;wf=k[(k[tf>>2]|0)+16>>2]|0;k[ve>>2]=k[of>>2];k[ve+4>>2]=wf;gI(yf,40321,ve)}else d=32;do if((d|0)==32){b=k[pf>>2]|0;if(k[(k[tf>>2]|0)+16>>2]|0){k[ff>>2]=k[(k[tf>>2]|0)+16>>2];gI(b,18999,ff);break}else{k[gf>>2]=k[of>>2];gI(b,40346,gf);break}}while(0);wf=k[(k[tf>>2]|0)+4>>2]|0;yf=k[nf>>2]|0;of=k[(k[pf>>2]|0)+168>>2]|0;tf=k[(k[pf>>2]|0)+44>>2]|0;k[hf>>2]=k[df>>2];k[hf+4>>2]=of;k[hf+8>>2]=tf;$d(wf,yf,hf)}yf=hI(k[pf>>2]|0)|0;k[uf>>2]=yf;if((k[uf>>2]|0)==5){k[uf>>2]=5;k[(k[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=(k[(k[pf>>2]|0)+80>>2]|0)!=0?1:101;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 70:{if(((k[(k[qf>>2]|0)+304>>2]|0)!=0?(k[sf>>2]|0)>>>0>=(k[bb>>2]|0)>>>0:0)?(bc[k[(k[qf>>2]|0)+304>>2]&255](k[(k[qf>>2]|0)+308>>2]|0)|0)!=0:0){k[uf>>2]=9;break a}yf=kI(k[pf>>2]|0,0)|0;k[uf>>2]=yf;if(yf)break a;yf=lI(k[pf>>2]|0,1)|0;k[uf>>2]=yf;k[(k[pf>>2]|0)+72>>2]=(k[(k[pf>>2]|0)+72>>2]|0)+2|1;yf=(k[e>>2]|0)+((k[(k[tf>>2]|0)+4>>2]|0)*40|0)|0;k[(k[pf>>2]|0)+20>>2]=yf;k[Uc>>2]=yf;k[P>>2]=0;while(1){if((k[P>>2]|0)>=(k[(k[tf>>2]|0)+8>>2]|0))break;if((m[(k[Uc>>2]|0)+((k[P>>2]|0)*40|0)+8>>1]&4096|0)!=0?(kh((k[Uc>>2]|0)+((k[P>>2]|0)*40|0)|0)|0)!=0:0){d=883;break a}mI((k[Uc>>2]|0)+((k[P>>2]|0)*40|0)|0)|0;k[P>>2]=(k[P>>2]|0)+1}if(i[(k[qf>>2]|0)+69>>0]|0){d=883;break a}k[(k[pf>>2]|0)+76>>2]=(((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0)+1;k[uf>>2]=100;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 163:{k[uf>>2]=20;break a}case 268:{yf=Yj(76949)|0;k[uf>>2]=yf;break a}case 285:{if(!(k[(k[Ab>>2]|0)+72>>2]|0))eh(ee);yf=Yj(77010)|0;k[uf>>2]=yf;break a}case 368:{k[(k[pf>>2]|0)+76>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;i[(k[qf>>2]|0)+67>>0]=0;k[uf>>2]=5;k[(k[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 391:{k[C>>2]=k[(k[tf>>2]|0)+4>>2];k[sa>>2]=k[(k[tf>>2]|0)+8>>2];if((k[C>>2]|0)==(l[(k[qf>>2]|0)+67>>0]|0)){if(k[C>>2]|0)b=(k[sa>>2]|0)!=0?40575:40618;else b=40659;gI(k[pf>>2]|0,b,jf);k[uf>>2]=1;break a}do if(!(k[sa>>2]|0)){if((k[C>>2]|0)!=0?(k[(k[qf>>2]|0)+160>>2]|0)>0:0){gI(k[pf>>2]|0,40520,Ae);k[uf>>2]=5;break a}yf=kI(k[pf>>2]|0,1)|0;k[uf>>2]=yf;if(yf){yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{i[(k[qf>>2]|0)+67>>0]=k[C>>2];break}}else{GI(k[qf>>2]|0,516);i[(k[qf>>2]|0)+67>>0]=1}while(0);if((hI(k[pf>>2]|0)|0)==5){k[(k[pf>>2]|0)+76>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;i[(k[qf>>2]|0)+67>>0]=1-(k[C>>2]|0);k[uf>>2]=5;k[(k[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}HI(k[qf>>2]|0);if(!(k[(k[pf>>2]|0)+80>>2]|0)){k[uf>>2]=101;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}else{k[uf>>2]=1;yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}}case 409:{k[uf>>2]=8;break a}case 412:{k[(k[pf>>2]|0)+76>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;k[(k[pf>>2]|0)+80>>2]=k[uf>>2];yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 443:{k[uf>>2]=516;break a}case 547:{k[uf>>2]=13;break a}case 557:{k[uf>>2]=13;break a}case 662:{k[uf>>2]=6;i[(k[pf>>2]|0)+86>>0]=2;break a}case 684:{Lg(k[qf>>2]|0);if((k[uf>>2]|0)==7){d=883;break a}else break a}case 713:{k[uf>>2]=1;gI(k[pf>>2]|0,40799,Ce);break a}case 767:{yf=k[pf>>2]|0;wf=ke(k[Yc>>2]|0)|0;k[Ee>>2]=wf;gI(yf,18999,Ee);break a}case 787:{k[uf>>2]=1;yf=k[pf>>2]|0;k[Fe>>2]=(k[D>>2]|0)==5?40836:40841;gI(yf,40848,Fe);break a}case 808:{if((k[uf>>2]&255|0)!=6)break a;k[Ne>>2]=k[(k[tf>>2]|0)+16>>2];yf=k[pf>>2]|0;k[Ge>>2]=k[Ne>>2];gI(yf,40900,Ge);break a}case 819:{k[uf>>2]=6;break a}case 823:{bc[k[(k[$c>>2]|0)+28>>2]&255](k[qd>>2]|0)|0;d=883;break a}case 842:{k[uf>>2]=6;break a}case 881:{yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}case 882:{gI(k[pf>>2]|0,18778,He);k[uf>>2]=18;break a}}}while(0);k[uf>>2]=(l[(k[qf>>2]|0)+69>>0]|0)!=0?7:9;k[(k[pf>>2]|0)+80>>2]=k[uf>>2];yf=k[pf>>2]|0;wf=uh(k[uf>>2]|0)|0;k[Je>>2]=wf;gI(yf,18999,Je)}while(0);if((d|0)==883){vh(k[qf>>2]|0);gI(k[pf>>2]|0,25624,Ie);k[uf>>2]=7}if(i[(k[qf>>2]|0)+69>>0]|0)k[uf>>2]=7;if((k[uf>>2]|0)!=3082?(k[(k[pf>>2]|0)+44>>2]|0)==0:0){yf=k[pf>>2]|0;wf=uh(k[uf>>2]|0)|0;k[lf>>2]=wf;gI(yf,18999,lf)}k[(k[pf>>2]|0)+80>>2]=k[uf>>2];BJ(k[qf>>2]|0,k[uf>>2]|0);yf=k[uf>>2]|0;of=k[(k[pf>>2]|0)+168>>2]|0;wf=k[(k[pf>>2]|0)+44>>2]|0;k[mf>>2]=((k[tf>>2]|0)-(k[cf>>2]|0)|0)/20|0;k[mf+4>>2]=of;k[mf+8>>2]=wf;$d(yf,40929,mf);hI(k[pf>>2]|0)|0;if((k[uf>>2]|0)==3082)vh(k[qf>>2]|0);k[uf>>2]=1;if((l[ef>>0]|0)<=0){yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}Ej(k[qf>>2]|0,(l[ef>>0]|0)-1|0);yf=rf;rf=yf;rf=k[rf>>2]|0;yf=yf+4|0;yf=k[yf>>2]|0;wf=k[qf>>2]|0;wf=wf+32|0;tf=wf;k[tf>>2]=rf;wf=wf+4|0;k[wf>>2]=yf;wf=k[sf>>2]|0;yf=k[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=k[yf>>2]|0;wf=tf+wf|0;k[yf>>2]=wf;yf=k[uf>>2]|0;r=vf;return yf|0}function $H(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;f=g+12|0;c=g+8|0;e=g+4|0;d=g;k[b>>2]=a;k[f>>2]=0;k[c>>2]=0;while(1){if((k[c>>2]|0)>=(k[(k[b>>2]|0)+20>>2]|0))break;k[e>>2]=k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)+4>>2];if((k[e>>2]|0)!=0?(wg(k[e>>2]|0),a=bI(Zf(k[e>>2]|0)|0)|0,k[d>>2]=a,((k[d>>2]|0)>0?(k[(k[b>>2]|0)+220>>2]|0)!=0:0)&(k[f>>2]|0)==0):0){a=ec[k[(k[b>>2]|0)+220>>2]&255](k[(k[b>>2]|0)+224>>2]|0,k[b>>2]|0,k[(k[(k[b>>2]|0)+16>>2]|0)+(k[c>>2]<<4)>>2]|0,k[d>>2]|0)|0;k[f>>2]=a}k[c>>2]=(k[c>>2]|0)+1}r=g;return k[f>>2]|0}function aI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[b>>2]=a;k[c>>2]=k[k[b>>2]>>2];k[d>>2]=k[(k[b>>2]|0)+80>>2];a=k[c>>2]|0;if(!(k[(k[b>>2]|0)+44>>2]|0)){vg(a,k[d>>2]|0);d=k[d>>2]|0;r=e;return d|0}a=a+70|0;i[a>>0]=(i[a>>0]|0)+1<<24>>24;ek();if(!(k[(k[c>>2]|0)+240>>2]|0)){a=fi(k[c>>2]|0)|0;k[(k[c>>2]|0)+240>>2]=a}gi(k[(k[c>>2]|0)+240>>2]|0,-1,k[(k[b>>2]|0)+44>>2]|0,1,-1);fk();b=(k[c>>2]|0)+70|0;i[b>>0]=(i[b>>0]|0)+-1<<24>>24;k[(k[c>>2]|0)+52>>2]=k[d>>2];d=k[d>>2]|0;r=e;return d|0}function bI(a){a=a|0;var b=0,c=0;b=r;r=r+16|0;c=b;k[c>>2]=a;a=cI(k[(k[c>>2]|0)+216>>2]|0)|0;r=b;return a|0}function cI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;k[c>>2]=0;if(!(k[b>>2]|0)){c=k[c>>2]|0;r=d;return c|0}k[c>>2]=k[(k[b>>2]|0)+12>>2];k[(k[b>>2]|0)+12>>2]=0;c=k[c>>2]|0;r=d;return c|0}function dI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;g=r;r=r+32|0;b=g+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[b>>2]=a;if(!(k[(k[b>>2]|0)+100>>2]|0)){r=g;return}k[d>>2]=k[k[b>>2]>>2];k[c>>2]=k[(k[d>>2]|0)+16>>2];k[f>>2]=k[(k[d>>2]|0)+20>>2];k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[f>>2]|0))break;if(((k[e>>2]|0)!=1?(k[(k[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0)!=0:0)wg(k[(k[c>>2]|0)+(k[e>>2]<<4)+4>>2]|0);k[e>>2]=(k[e>>2]|0)+1}r=g;return}function eI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;k[(k[e>>2]|0)+84>>2]=k[d>>2];b=(k[e>>2]|0)+88|0;k[b>>2]=(k[b>>2]|0)+(k[d>>2]|0);r=c;return}function fI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;c=r;r=r+16|0;b=c+4|0;d=c;k[b>>2]=a;k[d>>2]=k[k[b>>2]>>2];AM(k[d>>2]|0);k[(k[d>>2]|0)+200>>2]=k[(k[b>>2]|0)+20>>2];k[(k[d>>2]|0)+196>>2]=k[(k[b>>2]|0)+60>>2];k[(k[d>>2]|0)+4>>2]=k[(k[b>>2]|0)+8>>2];k[(k[d>>2]|0)+32>>2]=k[(k[b>>2]|0)+52>>2];k[(k[d>>2]|0)+8>>2]=k[(k[b>>2]|0)+16>>2];k[(k[d>>2]|0)+28>>2]=k[(k[b>>2]|0)+56>>2];k[(k[d>>2]|0)+56>>2]=k[(k[b>>2]|0)+24>>2];k[(k[d>>2]|0)+36>>2]=k[(k[b>>2]|0)+44>>2];f=(k[b>>2]|0)+32|0;e=k[f+4>>2]|0;a=(k[k[d>>2]>>2]|0)+32|0;k[a>>2]=k[f>>2];k[a+4>>2]=e;k[(k[d>>2]|0)+92>>2]=k[(k[b>>2]|0)+72>>2];k[(k[k[d>>2]>>2]|0)+84>>2]=k[(k[b>>2]|0)+76>>2];rI(k[k[d>>2]>>2]|0,(k[d>>2]|0)+204|0,-1,0);k[(k[d>>2]|0)+204>>2]=k[(k[b>>2]|0)+40>>2];k[(k[b>>2]|0)+40>>2]=0;r=c;return k[(k[b>>2]|0)+48>>2]|0}function gI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=r;r=r+32|0;e=d+20|0;g=d+16|0;f=d;k[e>>2]=a;k[g>>2]=b;bg(k[k[e>>2]>>2]|0,k[(k[e>>2]|0)+44>>2]|0);k[f>>2]=c;b=nx(k[k[e>>2]>>2]|0,k[g>>2]|0,f)|0;k[(k[e>>2]|0)+44>>2]=b;r=d;return}function hI(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0,m=0;m=r;r=r+32|0;f=m+24|0;g=m+20|0;d=m+16|0;h=m+12|0;c=m+8|0;j=m+4|0;b=m;k[g>>2]=a;k[h>>2]=k[k[g>>2]>>2];if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+80>>2]=7;if(k[(k[g>>2]|0)+200>>2]|0)DR(k[(k[g>>2]|0)+200>>2]|0,0,k[(k[g>>2]|0)+196>>2]|0)|0;uM(k[g>>2]|0);if((k[(k[g>>2]|0)+40>>2]|0)!=-1108210269){k[f>>2]=0;j=k[f>>2]|0;r=m;return j|0}if((k[(k[g>>2]|0)+76>>2]|0)>=0?((l[(k[g>>2]|0)+89>>0]|0)>>>6&1|0)!=0:0){k[j>>2]=0;dI(k[g>>2]|0);k[c>>2]=k[(k[g>>2]|0)+80>>2]&255;if((k[c>>2]|0)==7|(k[c>>2]|0)==10|(k[c>>2]|0)==9)a=1;else a=(k[c>>2]|0)==13;k[b>>2]=a&1;do if((k[b>>2]|0)!=0?((k[c>>2]|0)!=9?1:((l[(k[g>>2]|0)+89>>0]|0)>>>5&1|0)==0):0){if((k[c>>2]|0)==7|(k[c>>2]|0)==13?((l[(k[g>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){k[j>>2]=2;break}GI(k[h>>2]|0,516);HI(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+92>>2]=0}while(0);if(!(k[(k[g>>2]|0)+80>>2]|0))kI(k[g>>2]|0,0)|0;if((k[(k[h>>2]|0)+316>>2]|0)>0?(k[(k[h>>2]|0)+340>>2]|0)==0:0)e=38;else if((l[(k[h>>2]|0)+67>>0]|0)!=0?(k[(k[h>>2]|0)+160>>2]|0)==(((l[(k[g>>2]|0)+89>>0]|0)>>>5&1|0)==0|0):0){if((k[(k[g>>2]|0)+80>>2]|0)!=0?((k[b>>2]|0)!=0?1:(l[(k[g>>2]|0)+86>>0]|0)!=3):0){GI(k[h>>2]|0,0);k[(k[g>>2]|0)+92>>2]=0}else e=25;do if((e|0)==25){c=kI(k[g>>2]|0,1)|0;k[d>>2]=c;do if(k[d>>2]|0){if(!((l[(k[g>>2]|0)+89>>0]|0)>>>5&1)){k[d>>2]=787;break}k[f>>2]=1;j=k[f>>2]|0;r=m;return j|0}else{c=vM(k[h>>2]|0,k[g>>2]|0)|0;k[d>>2]=c}while(0);if((k[d>>2]|0)==5?((l[(k[g>>2]|0)+89>>0]|0)>>>5&1|0)!=0:0){k[f>>2]=5;j=k[f>>2]|0;r=m;return j|0}if(k[d>>2]|0){k[(k[g>>2]|0)+80>>2]=k[d>>2];GI(k[h>>2]|0,0);k[(k[g>>2]|0)+92>>2]=0;break}else{c=(k[h>>2]|0)+440|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+448|0;k[c>>2]=0;k[c+4>>2]=0;c=(k[h>>2]|0)+24|0;k[c>>2]=k[c>>2]&-16777217;Fj(k[h>>2]|0);break}}while(0);k[(k[h>>2]|0)+436>>2]=0}else e=38;do if((e|0)==38?(k[j>>2]|0)==0:0){if((k[(k[g>>2]|0)+80>>2]|0)!=0?(l[(k[g>>2]|0)+86>>0]|0)!=3:0)if((l[(k[g>>2]|0)+86>>0]|0)==2){k[j>>2]=2;break}else{GI(k[h>>2]|0,516);HI(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+92>>2]=0;break}k[j>>2]=1}while(0);if((k[j>>2]|0)!=0?(e=lI(k[g>>2]|0,k[j>>2]|0)|0,k[d>>2]=e,(k[d>>2]|0)!=0):0){if(!((k[(k[g>>2]|0)+80>>2]|0)!=0?(k[(k[g>>2]|0)+80>>2]&255|0)!=19:0)){k[(k[g>>2]|0)+80>>2]=k[d>>2];bg(k[h>>2]|0,k[(k[g>>2]|0)+44>>2]|0);k[(k[g>>2]|0)+44>>2]=0}GI(k[h>>2]|0,516);HI(k[h>>2]|0);i[(k[h>>2]|0)+67>>0]=1;k[(k[g>>2]|0)+92>>2]=0}if((l[(k[g>>2]|0)+89>>0]|0)>>>2&1){a=k[h>>2]|0;if((k[j>>2]|0)!=2)eI(a,k[(k[g>>2]|0)+92>>2]|0);else eI(a,0);k[(k[g>>2]|0)+92>>2]=0}}if((k[(k[g>>2]|0)+76>>2]|0)>=0){j=(k[h>>2]|0)+152|0;k[j>>2]=(k[j>>2]|0)+-1;if(!((l[(k[g>>2]|0)+89>>0]|0)>>>5&1)){j=(k[h>>2]|0)+160|0;k[j>>2]=(k[j>>2]|0)+-1}if((l[(k[g>>2]|0)+89>>0]|0)>>>6&1){j=(k[h>>2]|0)+156|0;k[j>>2]=(k[j>>2]|0)+-1}}k[(k[g>>2]|0)+40>>2]=1369188723;if(i[(k[h>>2]|0)+69>>0]|0)k[(k[g>>2]|0)+80>>2]=7;k[f>>2]=(k[(k[g>>2]|0)+80>>2]|0)==5?5:0;j=k[f>>2]|0;r=m;return j|0}function iI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;e=r;r=r+16|0;c=e+12|0;g=e+8|0;f=e+4|0;d=e;k[g>>2]=a;k[f>>2]=b;k[d>>2]=(k[(k[g>>2]|0)+8>>2]|0)+((k[(k[f>>2]|0)+8>>2]|0)*40|0);a=k[d>>2]|0;if((m[(k[d>>2]|0)+8>>1]|0)&9312){g=tM(a)|0;k[c>>2]=g;g=k[c>>2]|0;r=e;return g|0}else{j[a+8>>1]=4;k[c>>2]=k[d>>2];g=k[c>>2]|0;r=e;return g|0}return 0}function jI(a){a=a|0;var b=0,c=0,d=0,e=0;e=r;r=r+16|0;b=e+8|0;c=e+4|0;d=e;k[c>>2]=a;if(!((m[(k[c>>2]|0)+8>>1]|0)&18)){k[b>>2]=0;a=k[b>>2]|0;r=e;return a|0}k[d>>2]=k[(k[c>>2]|0)+12>>2];if((m[(k[c>>2]|0)+8>>1]|0)&16384)k[d>>2]=(k[d>>2]|0)+(k[k[c>>2]>>2]|0);k[b>>2]=(k[d>>2]|0)>(k[(k[(k[c>>2]|0)+32>>2]|0)+92>>2]|0)&1;a=k[b>>2]|0;r=e;return a|0}function kI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;g=j;c=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;k[d>>2]=a;k[e>>2]=b;k[f>>2]=k[k[d>>2]>>2];if(!((k[e>>2]|0)!=0?(b=(k[f>>2]|0)+440|0,a=(k[f>>2]|0)+448|0,a=zR(k[b>>2]|0,k[b+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0,b=L,(b|0)>0|(b|0)==0&a>>>0>0):0))h=3;do if((h|0)==3){if((k[e>>2]|0)==0?(h=(k[d>>2]|0)+144|0,a=k[h+4>>2]|0,(a|0)>0|(a|0)==0&(k[h>>2]|0)>>>0>0):0)break;k[c>>2]=0;h=k[c>>2]|0;r=j;return h|0}while(0);k[(k[d>>2]|0)+80>>2]=787;i[(k[d>>2]|0)+86>>0]=2;gI(k[d>>2]|0,35697,g);k[c>>2]=1;h=k[c>>2]|0;r=j;return h|0}function lI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;c=l+28|0;d=l+24|0;e=l+20|0;i=l+16|0;f=l+12|0;g=l+8|0;j=l+4|0;h=l;k[c>>2]=a;k[d>>2]=b;k[e>>2]=k[k[c>>2]>>2];k[i>>2]=0;if(!(k[(k[e>>2]|0)+436>>2]|0)){j=k[i>>2]|0;r=l;return j|0}if(!(k[(k[c>>2]|0)+104>>2]|0)){j=k[i>>2]|0;r=l;return j|0}k[g>>2]=(k[(k[c>>2]|0)+104>>2]|0)-1;k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[(k[e>>2]|0)+20>>2]|0))break;k[j>>2]=0;k[h>>2]=k[(k[(k[e>>2]|0)+16>>2]|0)+(k[f>>2]<<4)+4>>2];if(k[h>>2]|0){if((k[d>>2]|0)==2){a=FI(k[h>>2]|0,2,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[j>>2]|0)){a=FI(k[h>>2]|0,1,k[g>>2]|0)|0;k[j>>2]=a}if(!(k[i>>2]|0))k[i>>2]=k[j>>2]}k[f>>2]=(k[f>>2]|0)+1}j=(k[e>>2]|0)+436|0;k[j>>2]=(k[j>>2]|0)+-1;k[(k[c>>2]|0)+104>>2]=0;if(!(k[i>>2]|0)){if((k[d>>2]|0)==2){j=DI(k[e>>2]|0,2,k[g>>2]|0)|0;k[i>>2]=j}if(!(k[i>>2]|0)){j=DI(k[e>>2]|0,1,k[g>>2]|0)|0;k[i>>2]=j}}if((k[d>>2]|0)!=2){j=k[i>>2]|0;r=l;return j|0}j=(k[c>>2]|0)+152|0;h=k[j+4>>2]|0;a=(k[e>>2]|0)+440|0;k[a>>2]=k[j>>2];k[a+4>>2]=h;a=(k[c>>2]|0)+160|0;h=k[a+4>>2]|0;j=(k[e>>2]|0)+448|0;k[j>>2]=k[a>>2];k[j+4>>2]=h;j=k[i>>2]|0;r=l;return j|0}function mI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(((m[(k[c>>2]|0)+8>>1]|0)&514|0)!=2){k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}else{a=sM(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}return 0}function nI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;a=m[(k[c>>2]|0)+8>>1]|0;do if(!((m[(k[c>>2]|0)+8>>1]|0)&12))if(a&18){c=rM(k[c>>2]|0)|0;j[b>>1]=c;break}else{j[b>>1]=0;break}else j[b>>1]=a&12;while(0);r=d;return j[b>>1]|0}function oI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=r;r=r+32|0;d=h+20|0;e=h+16|0;f=h+8|0;g=h;k[e>>2]=a;i=f;k[i>>2]=b;k[i+4>>2]=c;b=k[e>>2]|0;i=k[b+4>>2]|0;a=g;k[a>>2]=k[b>>2];k[a+4>>2]=i;a=f;i=k[a+4>>2]|0;b=g;c=k[b+4>>2]|0;if((i|0)>0|(i|0)==0&(k[a>>2]|0)>>>0>=0){if((c|0)>0|(c|0)==0&(k[b>>2]|0)>>>0>0?(g,g=yR(-1,2147483647,k[g>>2]|0,k[g+4>>2]|0)|0,c=L,i=f,a=k[i+4>>2]|0,(c|0)<(a|0)|((c|0)==(a|0)?g>>>0<(k[i>>2]|0)>>>0:0)):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}}else if((c|0)<0?(g,g=zR(k[g>>2]|0,k[g+4>>2]|0,-1,2147483647)|0,g=yR(0,0,g|0,L|0)|0,c=L,i=f,i=zR(k[i>>2]|0,k[i+4>>2]|0,1,0)|0,a=L,(c|0)>(a|0)|(c|0)==(a|0)&g>>>0>i>>>0):0){k[d>>2]=1;i=k[d>>2]|0;r=h;return i|0}g=f;i=k[e>>2]|0;f=i;g=zR(k[f>>2]|0,k[f+4>>2]|0,k[g>>2]|0,k[g+4>>2]|0)|0;k[i>>2]=g;k[i+4>>2]=L;k[d>>2]=0;i=k[d>>2]|0;r=h;return i|0}function pI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;b=k[e>>2]|0;if(!((k[a>>2]|0)==0?(k[a+4>>2]|0)==-2147483648:0)){f=yR(0,0,k[f>>2]|0,k[f+4>>2]|0)|0;f=oI(b,f,L)|0;k[d>>2]=f;f=k[d>>2]|0;r=g;return f|0}a=b;c=k[a+4>>2]|0;if((c|0)>0|(c|0)==0&(k[a>>2]|0)>>>0>=0){k[d>>2]=1;f=k[d>>2]|0;r=g;return f|0}else{a=f;f=k[e>>2]|0;e=f;e=yR(k[e>>2]|0,k[e+4>>2]|0,k[a>>2]|0,k[a+4>>2]|0)|0;k[f>>2]=e;k[f+4>>2]=L;k[d>>2]=0;f=k[d>>2]|0;r=g;return f|0}return 0}function qI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0;m=r;r=r+64|0;d=m+60|0;e=m+56|0;f=m+48|0;n=m+40|0;h=m+32|0;g=m+24|0;j=m+16|0;i=m+8|0;l=m;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;c=k[e>>2]|0;b=k[c+4>>2]|0;a=n;k[a>>2]=k[c>>2];k[a+4>>2]=b;a=n;a=IR(k[a>>2]|0,k[a+4>>2]|0,0,1)|0;b=h;k[b>>2]=a;k[b+4>>2]=L;b=n;b=JR(k[b>>2]|0,k[b+4>>2]|0,0,1)|0;a=g;k[a>>2]=b;k[a+4>>2]=L;a=f;a=IR(k[a>>2]|0,k[a+4>>2]|0,0,1)|0;b=j;k[b>>2]=a;k[b+4>>2]=L;b=f;b=JR(k[b>>2]|0,k[b+4>>2]|0,0,1)|0;a=i;k[a>>2]=b;k[a+4>>2]=L;a=h;b=j;b=(k[b>>2]|0)==0&(k[b+4>>2]|0)==0;do if((k[a>>2]|0)==0&(k[a+4>>2]|0)==0){if(!b){n=g;j=KR(k[n>>2]|0,k[n+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;n=l;k[n>>2]=j;k[n+4>>2]=L;break}l=f;n=k[e>>2]|0;j=n;l=KR(k[j>>2]|0,k[j+4>>2]|0,k[l>>2]|0,k[l+4>>2]|0)|0;k[n>>2]=l;k[n+4>>2]=L;k[d>>2]=0;n=k[d>>2]|0;r=m;return n|0}else{if(b){n=h;j=i;j=KR(k[n>>2]|0,k[n+4>>2]|0,k[j>>2]|0,k[j+4>>2]|0)|0;n=l;k[n>>2]=j;k[n+4>>2]=L;break}k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}while(0);h=l;f=k[h+4>>2]|0;n=l;j=k[n+4>>2]|0;if((f|0)<-1|(f|0)==-1&(k[h>>2]|0)>>>0<2147483648|((j|0)>0|(j|0)==0&(k[n>>2]|0)>>>0>=2147483648)){k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}n=l;n=KR(k[n>>2]|0,k[n+4>>2]|0,0,1)|0;j=l;k[j>>2]=n;k[j+4>>2]=L;j=g;n=i;n=KR(k[j>>2]|0,k[j+4>>2]|0,k[n>>2]|0,k[n+4>>2]|0)|0;if(oI(l,n,L)|0){k[d>>2]=1;n=k[d>>2]|0;r=m;return n|0}else{j=l;l=k[j+4>>2]|0;n=k[e>>2]|0;k[n>>2]=k[j>>2];k[n+4>>2]=l;k[d>>2]=0;n=k[d>>2]|0;r=m;return n|0}return 0}function rI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=r;r=r+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[h>>2]=d;a:while(1){if(!(k[k[f>>2]>>2]|0))break;k[i>>2]=k[k[f>>2]>>2];do if((k[g>>2]|0)>=0){if((k[k[i>>2]>>2]|0)==(k[g>>2]|0)){if((k[(k[i>>2]|0)+4>>2]|0)>31)break;if(!(k[h>>2]&1<>2]|0)+4>>2]))break}k[f>>2]=(k[i>>2]|0)+16;continue a}while(0);if(k[(k[i>>2]|0)+12>>2]|0)_b[k[(k[i>>2]|0)+12>>2]&255](k[(k[i>>2]|0)+8>>2]|0);k[k[f>>2]>>2]=k[(k[i>>2]|0)+16>>2];bg(k[e>>2]|0,k[i>>2]|0)}r=j;return}function sI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0;l=r;r=r+32|0;d=l+24|0;e=l+20|0;f=l+16|0;g=l+12|0;i=l+8|0;j=l+4|0;h=l;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;k[i>>2]=m[(k[e>>2]|0)+8>>1];k[j>>2]=m[(k[f>>2]|0)+8>>1];k[h>>2]=k[i>>2]|k[j>>2];do if(!(k[h>>2]&1)){if(!(k[h>>2]&12)){if(k[h>>2]&2){if(!(k[i>>2]&2)){k[d>>2]=1;break}if(!(k[j>>2]&2)){k[d>>2]=-1;break}if(k[g>>2]|0){b=PF(k[e>>2]|0,k[f>>2]|0,k[g>>2]|0,0)|0;k[d>>2]=b;break}}b=qM(k[e>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;break}if(k[i>>2]&k[j>>2]&4){a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)<(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0<(k[b>>2]|0)>>>0:0)){k[d>>2]=-1;break}a=k[e>>2]|0;j=k[a+4>>2]|0;b=k[f>>2]|0;c=k[b+4>>2]|0;if((j|0)>(c|0)|((j|0)==(c|0)?(k[a>>2]|0)>>>0>(k[b>>2]|0)>>>0:0)){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&k[j>>2]&8){if(+p[k[e>>2]>>3]<+p[k[f>>2]>>3]){k[d>>2]=-1;break}if(+p[k[e>>2]>>3]>+p[k[f>>2]>>3]){k[d>>2]=1;break}else{k[d>>2]=0;break}}if(k[i>>2]&4)if(k[j>>2]&8){b=k[e>>2]|0;b=NF(k[b>>2]|0,k[b+4>>2]|0,+p[k[f>>2]>>3])|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}if(!(k[i>>2]&8)){k[d>>2]=1;break}if(k[j>>2]&4){b=k[f>>2]|0;b=0-(NF(k[b>>2]|0,k[b+4>>2]|0,+p[k[e>>2]>>3])|0)|0;k[d>>2]=b;break}else{k[d>>2]=-1;break}}else k[d>>2]=(k[j>>2]&1)-(k[i>>2]&1);while(0);r=l;return k[d>>2]|0}function tI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=r;r=r+32|0;c=h+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;k[d>>2]=a;k[e>>2]=b;k[g>>2]=k[k[d>>2]>>2];do if(!(l[k[g>>2]>>0]|0)){b=k[g>>2]|0;if(!(i[(k[g>>2]|0)+3>>0]|0)){if(!(FL(k[b+16>>2]|0)|0))break;g=GL(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}if((k[b+52>>2]|0)!=0?(a=k[(k[(k[g>>2]|0)+52>>2]|0)+(1+(k[k[e>>2]>>2]|0)<<2)>>2]|0,k[f>>2]=a,(a|0)>0):0){k[k[d>>2]>>2]=k[(k[g>>2]|0)+48>>2];k[k[e>>2]>>2]=(k[f>>2]|0)-1;k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}g=pM(k[g>>2]|0)|0;k[c>>2]=g;g=k[c>>2]|0;r=h;return g|0}while(0);k[c>>2]=0;g=k[c>>2]|0;r=h;return g|0}function uI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=oM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function vI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;zF(k[e>>2]|0);k[k[d>>2]>>2]=k[(k[e>>2]|0)+16+12>>2];r=c;return 0}function wI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;e=c+4|0;d=c;k[e>>2]=a;k[d>>2]=b;a=oM(k[e>>2]|0,k[d>>2]|0)|0;r=c;return a|0}function xI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0;p=r;r=r+32|0;f=p+28|0;g=p+24|0;h=p+20|0;i=p+16|0;l=p+12|0;o=p+8|0;m=p+4|0;n=p;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[l>>2]=e;k[m>>2]=0;k[n>>2]=0;c=k[f>>2]|0;if(k[i>>2]|0){e=uI(c,m)|0;k[o>>2]=e}else{e=wI(c,m)|0;k[o>>2]=e}if(((k[g>>2]|0)+(k[h>>2]|0)|0)>>>0<=(k[m>>2]|0)>>>0){k[(k[l>>2]|0)+16>>2]=(k[o>>2]|0)+(k[g>>2]|0);j[(k[l>>2]|0)+8>>1]=4112;k[(k[l>>2]|0)+12>>2]=k[h>>2];o=k[n>>2]|0;r=p;return o|0}else{o=nM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[l>>2]|0)|0;k[n>>2]=o;o=k[n>>2]|0;r=p;return o|0}return 0}function yI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;i[b>>0]=a;r=c;return i[35569+(l[b>>0]|0)>>0]|0}function zI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,n=0;n=r;r=r+48|0;l=n+36|0;d=n+32|0;h=n+28|0;g=n+24|0;e=n+20|0;f=n+16|0;i=n+8|0;j=n;k[d>>2]=a;k[h>>2]=b;k[g>>2]=c;k[e>>2]=m[(k[d>>2]|0)+8>>1];if(k[e>>2]&1){k[k[g>>2]>>2]=0;k[l>>2]=0;l=k[l>>2]|0;r=n;return l|0}if(!(k[e>>2]&4)){if(k[e>>2]&8){k[k[g>>2]>>2]=8;k[l>>2]=7;l=k[l>>2]|0;r=n;return l|0}k[f>>2]=k[(k[d>>2]|0)+12>>2];if(k[e>>2]&16384)k[f>>2]=(k[f>>2]|0)+(k[k[d>>2]>>2]|0);k[k[g>>2]>>2]=k[f>>2];k[l>>2]=(k[f>>2]<<1)+12+((k[e>>2]&2|0)!=0&1);l=k[l>>2]|0;r=n;return l|0}a=k[d>>2]|0;d=k[a+4>>2]|0;b=i;k[b>>2]=k[a>>2];k[b+4>>2]=d;b=i;d=k[b>>2]|0;b=k[b+4>>2]|0;if((k[i+4>>2]|0)<0){a=j;k[a>>2]=~d;k[a+4>>2]=~b}else{a=j;k[a>>2]=d;k[a+4>>2]=b}a=j;c=k[a+4>>2]|0;if(c>>>0<0|(c|0)==0&(k[a>>2]|0)>>>0<=127){a=i;d=k[g>>2]|0;if((0==(k[a+4>>2]|0)?(k[i>>2]&1|0)==(k[a>>2]|0):0)&(k[h>>2]|0)>=4){k[d>>2]=0;k[l>>2]=8+(k[j>>2]|0);l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=1;k[l>>2]=1;l=k[l>>2]|0;r=n;return l|0}}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=32767){k[k[g>>2]>>2]=2;k[l>>2]=2;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=8388607){k[k[g>>2]>>2]=3;k[l>>2]=3;l=k[l>>2]|0;r=n;return l|0}i=j;h=k[i+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[i>>2]|0)>>>0<=2147483647){k[k[g>>2]>>2]=4;k[l>>2]=4;l=k[l>>2]|0;r=n;return l|0}i=k[j+4>>2]|0;d=k[g>>2]|0;if(i>>>0<32767|(i|0)==32767&(k[j>>2]|0)>>>0<=4294967295){k[d>>2]=6;k[l>>2]=5;l=k[l>>2]|0;r=n;return l|0}else{k[d>>2]=8;k[l>>2]=6;l=k[l>>2]|0;r=n;return l|0}return 0}function AI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=r;r=r+16|0;d=g+12|0;e=g+8|0;f=g;k[e>>2]=a;a=f;k[a>>2]=b;k[a+4>>2]=c;a=f;h=k[a+4>>2]|0;c=f;b=k[c>>2]|0;c=k[c+4>>2]|0;if(h>>>0<0|(h|0)==0&(k[a>>2]|0)>>>0<=127){i[k[e>>2]>>0]=b&127;k[d>>2]=1;h=k[d>>2]|0;r=g;return h|0}if(c>>>0<0|(c|0)==0&b>>>0<=16383){h=f;h=AR(k[h>>2]|0,k[h+4>>2]|0,7)|0;i[k[e>>2]>>0]=h&127|128;i[(k[e>>2]|0)+1>>0]=k[f>>2]&127;k[d>>2]=2;h=k[d>>2]|0;r=g;return h|0}else{h=f;h=mM(k[e>>2]|0,k[h>>2]|0,k[h+4>>2]|0)|0;k[d>>2]=h;h=k[d>>2]|0;r=g;return h|0}return 0}function BI(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,m=0,n=0;n=r;r=r+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;j=n+12|0;m=n;h=n+8|0;k[e>>2]=a;k[f>>2]=b;k[g>>2]=c;a=k[g>>2]|0;if((k[g>>2]|0)>>>0<=7&(k[g>>2]|0)>>>0>0){if((a|0)==7){f=k[f>>2]|0;k[m>>2]=k[f>>2];k[m+4>>2]=k[f+4>>2]}else{b=k[f>>2]|0;c=k[b+4>>2]|0;f=m;k[f>>2]=k[b>>2];k[f+4>>2]=c}g=l[35569+(k[g>>2]|0)>>0]|0;k[h>>2]=g;k[j>>2]=g;do{g=k[m>>2]&255;f=(k[h>>2]|0)+-1|0;k[h>>2]=f;i[(k[e>>2]|0)+f>>0]=g;f=m;f=AR(k[f>>2]|0,k[f+4>>2]|0,8)|0;g=m;k[g>>2]=f;k[g+4>>2]=L}while((k[h>>2]|0)!=0);k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}else{if(a>>>0<12){k[d>>2]=0;m=k[d>>2]|0;r=n;return m|0}k[j>>2]=k[(k[f>>2]|0)+12>>2];if((k[j>>2]|0)>>>0>0)BR(k[e>>2]|0,k[(k[f>>2]|0)+16>>2]|0,k[j>>2]|0)|0;k[d>>2]=k[j>>2];m=k[d>>2]|0;r=n;return m|0}return 0}function CI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0;o=r;r=r+32|0;e=o+28|0;f=o+24|0;g=o+20|0;h=o;n=o+16|0;c=o+12|0;d=o+8|0;k[f>>2]=a;k[g>>2]=b;b=h;k[b>>2]=0;k[b+4>>2]=0;if(!(k[(k[f>>2]|0)+52>>2]|0)){n=k[g>>2]|0;k[n>>2]=0;k[n+4>>2]=0;k[e>>2]=0;n=k[e>>2]|0;r=o;return n|0}b=xF(k[f>>2]|0)|0;k[n>>2]=b;a:while(1){if(k[n>>2]|0){a=16;break}k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2];if(!((l[(k[d>>2]|0)+4>>0]|0)==0?(i[(k[d>>2]|0)+2>>0]|0)!=0:0)){a=h;a=zR(k[a>>2]|0,k[a+4>>2]|0,m[(k[d>>2]|0)+18>>1]|0,0)|0;b=h;k[b>>2]=a;k[b+4>>2]=L}if(i[(k[d>>2]|0)+4>>0]|0){do{if(!(i[(k[f>>2]|0)+68>>0]|0)){a=10;break a}oF(k[f>>2]|0)}while((m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1]|0)>=(m[(k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));b=(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)|0;j[b>>1]=(j[b>>1]|0)+1<<16>>16;k[d>>2]=k[(k[f>>2]|0)+120+(i[(k[f>>2]|0)+68>>0]<<2)>>2]}k[c>>2]=m[(k[f>>2]|0)+80+(i[(k[f>>2]|0)+68>>0]<<1)>>1];a=k[f>>2]|0;b=k[d>>2]|0;if((k[c>>2]|0)==(m[(k[d>>2]|0)+18>>1]|0)){b=mF(a,or((k[(k[d>>2]|0)+56>>2]|0)+((l[b+5>>0]|0)+8)|0)|0)|0;k[n>>2]=b;continue}else{b=mF(a,or((k[b+56>>2]|0)+(m[(k[d>>2]|0)+20>>1]&(l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)>>0]<<8|l[(k[(k[d>>2]|0)+64>>2]|0)+(k[c>>2]<<1)+1>>0]))|0)|0)|0;k[n>>2]=b;continue}}if((a|0)==10){d=h;h=k[d+4>>2]|0;n=k[g>>2]|0;k[n>>2]=k[d>>2];k[n+4>>2]=h;n=xF(k[f>>2]|0)|0;k[e>>2]=n;n=k[e>>2]|0;r=o;return n|0}else if((a|0)==16){k[e>>2]=k[n>>2];n=k[e>>2]|0;r=o;return n|0}return 0}function DI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;d=m+28|0;e=m+24|0;f=m+20|0;l=m+16|0;g=m+12|0;i=m+8|0;h=m+4|0;j=m;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[l>>2]=0;if(!(k[(k[d>>2]|0)+340>>2]|0)){l=k[l>>2]|0;r=m;return l|0}k[g>>2]=0;while(1){if(k[l>>2]|0){d=15;break}if((k[g>>2]|0)>=(k[(k[d>>2]|0)+316>>2]|0)){d=15;break}k[i>>2]=k[(k[(k[d>>2]|0)+340>>2]|0)+(k[g>>2]<<2)>>2];k[h>>2]=k[k[(k[i>>2]|0)+4>>2]>>2];if((k[(k[i>>2]|0)+8>>2]|0)!=0?(k[k[h>>2]>>2]|0)>=2:0){switch(k[e>>2]|0){case 0:{k[j>>2]=k[(k[h>>2]|0)+80>>2];k[(k[i>>2]|0)+20>>2]=(k[f>>2]|0)+1;break}case 2:{k[j>>2]=k[(k[h>>2]|0)+88>>2];break}default:k[j>>2]=k[(k[h>>2]|0)+84>>2]}if((k[j>>2]|0)!=0?(k[(k[i>>2]|0)+20>>2]|0)>(k[f>>2]|0):0){b=gc[k[j>>2]&255](k[(k[i>>2]|0)+8>>2]|0,k[f>>2]|0)|0;k[l>>2]=b}}k[g>>2]=(k[g>>2]|0)+1}if((d|0)==15){l=k[l>>2]|0;r=m;return l|0}return 0}function EI(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,m=0,n=0;n=r;r=r+32|0;d=n+20|0;e=n+16|0;f=n+12|0;h=n+8|0;j=n+4|0;g=n;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[j>>2]=0;if(!(k[d>>2]|0)){m=k[j>>2]|0;r=n;return m|0}wg(k[d>>2]|0);k[h>>2]=k[(k[(k[d>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(k[h>>2]|0)){m=15;break}do if((k[f>>2]|0)!=0?(l[(k[h>>2]|0)+64>>0]&1|0)==0:0){if((l[(k[h>>2]|0)+66>>0]|0)!=1?(l[(k[h>>2]|0)+66>>0]|0)!=2:0)break;c=FH(k[h>>2]|0)|0;k[j>>2]=c;if(k[j>>2]|0)break a}else m=10;while(0);if((m|0)==10){m=0;FB(k[h>>2]|0);i[(k[h>>2]|0)+66>>0]=4;k[(k[h>>2]|0)+60>>2]=k[e>>2]}k[g>>2]=0;while(1){if((k[g>>2]|0)>(i[(k[h>>2]|0)+68>>0]|0))break;GB(k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]|0);k[(k[h>>2]|0)+120+(k[g>>2]<<2)>>2]=0;k[g>>2]=(k[g>>2]|0)+1}k[h>>2]=k[(k[h>>2]|0)+8>>2]}if((m|0)==15){m=k[j>>2]|0;r=n;return m|0}EI(k[d>>2]|0,k[j>>2]|0,0)|0;m=k[j>>2]|0;r=n;return m|0}function FI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=r;r=r+32|0;d=i+16|0;e=i+12|0;f=i+8|0;h=i+4|0;g=i;k[d>>2]=a;k[e>>2]=b;k[f>>2]=c;k[h>>2]=0;if(!(k[d>>2]|0)){h=k[h>>2]|0;r=i;return h|0}if((l[(k[d>>2]|0)+8>>0]|0|0)!=2){h=k[h>>2]|0;r=i;return h|0}k[g>>2]=k[(k[d>>2]|0)+4>>2];wg(k[d>>2]|0);a=_r(k[k[g>>2]>>2]|0,k[e>>2]|0,k[f>>2]|0)|0;k[h>>2]=a;if(k[h>>2]|0){h=k[h>>2]|0;r=i;return h|0}if((k[f>>2]|0)<0?((m[(k[g>>2]|0)+22>>1]|0)&8|0)!=0:0)k[(k[g>>2]|0)+44>>2]=0;a=lM(k[g>>2]|0)|0;k[h>>2]=a;a=or((k[(k[(k[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;k[(k[g>>2]|0)+44>>2]=a;h=k[h>>2]|0;r=i;return h|0}function GI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,j=0;j=r;r=r+32|0;c=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;k[c>>2]=a;k[d>>2]=b;k[f>>2]=0;ek();Yf(k[c>>2]|0);if(k[(k[c>>2]|0)+24>>2]&2)a=(l[(k[c>>2]|0)+144+5>>0]|0)==0;else a=0;k[h>>2]=a&1;k[e>>2]=0;while(1){if((k[e>>2]|0)>=(k[(k[c>>2]|0)+20>>2]|0))break;k[g>>2]=k[(k[(k[c>>2]|0)+16>>2]|0)+(k[e>>2]<<4)+4>>2];if(k[g>>2]|0){if(ni(k[g>>2]|0)|0)k[f>>2]=1;Yg(k[g>>2]|0,k[d>>2]|0,((k[h>>2]|0)!=0^1)&1)|0}k[e>>2]=(k[e>>2]|0)+1}tu(k[c>>2]|0)|0;fk();if((k[(k[c>>2]|0)+24>>2]&2|0)!=0?(l[(k[c>>2]|0)+144+5>>0]|0)==0:0){_h(k[c>>2]|0);Lg(k[c>>2]|0)}h=(k[c>>2]|0)+440|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+448|0;k[h>>2]=0;k[h+4>>2]=0;h=(k[c>>2]|0)+24|0;k[h>>2]=k[h>>2]&-16777217;if(!(k[(k[c>>2]|0)+208>>2]|0)){r=j;return}if((k[f>>2]|0)==0?(i[(k[c>>2]|0)+67>>0]|0)!=0:0){r=j;return}_b[k[(k[c>>2]|0)+208>>2]&255](k[(k[c>>2]|0)+204>>2]|0);r=j;return}function HI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[b>>2]=a;while(1){a=k[b>>2]|0;if(!(k[(k[b>>2]|0)+424>>2]|0))break;k[c>>2]=k[a+424>>2];k[(k[b>>2]|0)+424>>2]=k[(k[c>>2]|0)+24>>2];bg(k[b>>2]|0,k[c>>2]|0)}k[a+432>>2]=0;k[(k[b>>2]|0)+436>>2]=0;i[(k[b>>2]|0)+75>>0]=0;r=d;return}function II(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;d=r;r=r+16|0;g=d+12|0;e=d+8|0;c=d+4|0;f=d;k[g>>2]=a;k[e>>2]=b;k[f>>2]=k[(k[g>>2]|0)+4>>2];wg(k[g>>2]|0);a=iM(k[k[f>>2]>>2]|0,k[e>>2]|0)|0;k[c>>2]=a;r=d;return k[c>>2]|0}function JI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,m=0,n=0,o=0,p=0,q=0,s=0;s=r;r=r+32|0;f=s+24|0;g=s+20|0;m=s+16|0;n=s+12|0;o=s+28|0;q=s+8|0;h=s+4|0;p=s;k[f>>2]=a;k[g>>2]=b;k[m>>2]=c;k[n>>2]=d;i[o>>0]=e;e=k[f>>2]|0;if((k[g>>2]|0)>0)e=(k[(k[f>>2]|0)+8>>2]|0)+(((k[e+28>>2]|0)-(k[g>>2]|0)|0)*40|0)|0;else e=k[e+8>>2]|0;k[q>>2]=e;k[p>>2]=0;e=88+(k[m>>2]<<3)|0;if(!(l[o>>0]|0))b=gM()|0;else b=0;k[h>>2]=e+b;if(k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]|0){OI(k[f>>2]|0,k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]|0);k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]=0}if(Jx(k[q>>2]|0,k[h>>2]|0)|0){q=k[p>>2]|0;r=s;return q|0}e=k[(k[q>>2]|0)+16>>2]|0;k[p>>2]=e;k[(k[(k[f>>2]|0)+56>>2]|0)+(k[g>>2]<<2)>>2]=e;e=k[p>>2]|0;b=e+88|0;do{k[e>>2]=0;e=e+4|0}while((e|0)<(b|0));i[k[p>>2]>>0]=i[o>>0]|0;i[(k[p>>2]|0)+1>>0]=k[n>>2];j[(k[p>>2]|0)+12>>1]=k[m>>2];k[(k[p>>2]|0)+76>>2]=(k[p>>2]|0)+80+(k[m>>2]<<2);if(l[o>>0]|0){q=k[p>>2]|0;r=s;return q|0}k[(k[p>>2]|0)+16>>2]=(k[(k[q>>2]|0)+16>>2]|0)+(88+(k[m>>2]<<3));hM(k[(k[p>>2]|0)+16>>2]|0);q=k[p>>2]|0;r=s;return q|0}function KI(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0;m=r;r=r+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;l=m;k[f>>2]=a;k[g>>2]=b;k[h>>2]=c;k[i>>2]=d;k[j>>2]=e;if((k[g>>2]|0)<1){c=Yj(59956)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}else{wg(k[f>>2]|0);c=eM(k[f>>2]|0,k[g>>2]|0,k[h>>2]|0,k[i>>2]|0,k[j>>2]|0)|0;k[l>>2]=c;c=k[l>>2]|0;r=m;return c|0}return 0}function LI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=r;r=r+16|0;d=c+4|0;e=c;k[d>>2]=a;k[e>>2]=b;i[(k[d>>2]|0)+67>>0]=k[e>>2];r=c;return}function MI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=r;r=r+16|0;h=e+12|0;g=e+8|0;f=e+4|0;d=e;k[h>>2]=a;k[g>>2]=b;k[f>>2]=c;wg(k[h>>2]|0);b=dM(k[h>>2]|0,k[g>>2]|0,k[f>>2]|0)|0;k[d>>2]=b;r=e;return k[d>>2]|0}function NI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0;w=r;r=r+64|0;q=w+48|0;d=w+44|0;e=w+40|0;u=w+36|0;f=w+32|0;g=w+28|0;t=w+24|0;s=w+20|0;o=w+16|0;n=w+12|0;v=w+8|0;h=w+4|0;p=w;k[q>>2]=a;k[d>>2]=b;k[e>>2]=c;k[v>>2]=0;k[o>>2]=24+((m[(k[(k[e>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);k[n>>2]=136;c=(k[n>>2]|0)+(k[o>>2]|0)|0;c=Bh(k[q>>2]|0,c,((c|0)<0)<<31>>31)|0;k[t>>2]=c;k[(k[e>>2]|0)+16>>2]=k[t>>2];if(!(k[t>>2]|0)){k[v>>2]=7;v=k[v>>2]|0;r=w;return v|0}n=(k[t>>2]|0)+(k[n>>2]|0)|0;k[s>>2]=n;k[(k[t>>2]|0)+28>>2]=n;BR(k[s>>2]|0,k[(k[e>>2]|0)+24>>2]|0,k[o>>2]|0)|0;k[(k[s>>2]|0)+12>>2]=0;if(k[d>>2]|0){o=(k[s>>2]|0)+8|0;j[o>>1]=(m[o>>1]|0)+((m[(k[s>>2]|0)+6>>1]|0)-(k[d>>2]|0));j[(k[s>>2]|0)+6>>1]=k[d>>2]}o=Bg(k[(k[(k[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;k[u>>2]=o;k[(k[t>>2]|0)+12>>2]=o;i[(k[t>>2]|0)+59>>0]=1;i[(k[t>>2]|0)+58>>0]=-1;i[(k[t>>2]|0)+57>>0]=(l[(k[t>>2]|0)+59>>0]|0|0)>1;k[(k[t>>2]|0)+24>>2]=k[q>>2];k[f>>2]=0;while(1){if((k[f>>2]|0)>=(l[(k[t>>2]|0)+59>>0]|0|0))break;k[h>>2]=(k[t>>2]|0)+64+((k[f>>2]|0)*72|0);k[(k[h>>2]|0)+8>>2]=k[t>>2];k[f>>2]=(k[f>>2]|0)+1}if(!(fr(k[q>>2]|0)|0)){k[p>>2]=k[58];o=ha(k[p>>2]|0,k[u>>2]|0)|0;k[k[t>>2]>>2]=o;k[g>>2]=k[(k[(k[(k[q>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2];if((k[g>>2]|0)<(k[p>>2]|0))k[g>>2]=k[p>>2];o=k[g>>2]|0;p=k[u>>2]|0;p=KR(o|0,((o|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;o=L;if((o|0)<0|(o|0)==0&p>>>0<536870912){p=k[g>>2]|0;d=k[u>>2]|0;d=KR(p|0,((p|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0}else d=536870912;k[(k[t>>2]|0)+4>>2]=d;if((k[50]|0)==0?(k[(k[t>>2]|0)+52>>2]=k[u>>2],u=k[u>>2]|0,u=jg(u,((u|0)<0)<<31>>31)|0,k[(k[t>>2]|0)+36+4>>2]=u,(k[(k[t>>2]|0)+36+4>>2]|0)==0):0)k[v>>2]=7}if(((m[(k[s>>2]|0)+6>>1]|0)+(m[(k[s>>2]|0)+8>>1]|0)|0)>=13){v=k[v>>2]|0;r=w;return v|0}if((k[(k[s>>2]|0)+20>>2]|0)!=0?(k[(k[s>>2]|0)+20>>2]|0)!=(k[(k[q>>2]|0)+8>>2]|0):0){v=k[v>>2]|0;r=w;return v|0}i[(k[t>>2]|0)+60>>0]=3;v=k[v>>2]|0;r=w;return v|0}function OI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;c=g+12|0;f=g+8|0;e=g+4|0;d=g;k[c>>2]=a;k[f>>2]=b;if(!(k[f>>2]|0)){r=g;return}switch(l[k[f>>2]>>0]|0|0){case 1:{cM(k[k[c>>2]>>2]|0,k[f>>2]|0);r=g;return}case 0:{c=k[f>>2]|0;if(k[(k[f>>2]|0)+20>>2]|0){BB(k[c+20>>2]|0)|0;r=g;return}else{DB(k[c+16>>2]|0)|0;r=g;return}}case 2:{k[e>>2]=k[(k[f>>2]|0)+16>>2];k[d>>2]=k[k[k[e>>2]>>2]>>2];f=(k[k[e>>2]>>2]|0)+4|0;k[f>>2]=(k[f>>2]|0)+-1;bc[k[(k[d>>2]|0)+28>>2]&255](k[e>>2]|0)|0;r=g;return}default:{r=g;return}}}function PI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=r;r=r+16|0;d=e+4|0;c=e;k[d>>2]=a;k[c>>2]=b;r=e;return ((l[(k[d>>2]|0)+67>>0]|0)&k[c>>2]|0)!=0|0}function QI(a){a=a|0;var b=0,c=0;c=r;r=r+16|0;b=c;k[b>>2]=a;r=c;return 1!=(l[(k[b>>2]|0)+66>>0]|0|0)|0}function RI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;g=r;r=r+16|0;e=g+12|0;d=g+8|0;c=g+4|0;f=g;k[d>>2]=a;k[c>>2]=b;if(1==(l[(k[d>>2]|0)+66>>0]|0|0)?((l[(k[d>>2]|0)+64>>0]|0)&8|0)!=0:0){k[e>>2]=0;f=k[e>>2]|0;r=g;return f|0}b=xF(k[d>>2]|0)|0;k[f>>2]=b;do if(!(k[f>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}k[c>>2]=0;c=nF(k[d>>2]|0)|0;k[f>>2]=c;c=(k[d>>2]|0)+64|0;a=l[c>>0]|0;if(!(k[f>>2]|0)){i[c>>0]=a|8;break}else{i[c>>0]=a&-9;break}}while(0);k[e>>2]=k[f>>2];f=k[e>>2]|0;r=g;return f|0}function SI(a,b,c,d,e,f,g,h,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;n=n|0;var o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=r;r=r+80|0;o=H+72|0;p=H+68|0;q=H+64|0;s=H;t=H+60|0;u=H+56|0;v=H+52|0;w=H+48|0;I=H+44|0;E=H+40|0;y=H+36|0;F=H+32|0;x=H+28|0;D=H+24|0;B=H+20|0;C=H+16|0;A=H+12|0;z=H+8|0;G=H+76|0;k[p>>2]=a;k[q>>2]=b;b=s;k[b>>2]=c;k[b+4>>2]=d;k[t>>2]=e;k[u>>2]=f;k[v>>2]=g;k[w>>2]=h;k[I>>2]=n;k[y>>2]=k[I>>2];k[F>>2]=0;k[B>>2]=k[k[p>>2]>>2];k[C>>2]=k[(k[B>>2]|0)+4>>2];k[z>>2]=0;c=k[p>>2]|0;if((l[(k[p>>2]|0)+66>>0]|0)==4){k[o>>2]=k[c+60>>2];I=k[o>>2]|0;r=H;return I|0}if((l[c+64>>0]&32|0)!=0?(I=DH(k[C>>2]|0,k[(k[p>>2]|0)+52>>2]|0,k[p>>2]|0)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}do if(!(k[(k[p>>2]|0)+72>>2]|0)){I=s;KK(k[B>>2]|0,k[I>>2]|0,k[I+4>>2]|0,0);I=s;B=k[I+4>>2]|0;if((l[(k[p>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(k[I>>2]|0)>>>0>0)?(I=(k[p>>2]|0)+16|0,n=k[I>>2]|0,I=k[I+4>>2]|0,B=s,B=yR(k[B>>2]|0,k[B+4>>2]|0,1,0)|0,(n|0)==(B|0)&(I|0)==(L|0)):0){k[y>>2]=-1;break}if((k[y>>2]|0)==0?(I=s,I=vF(k[p>>2]|0,0,k[I>>2]|0,k[I+4>>2]|0,k[w>>2]|0,y)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}}else if((k[y>>2]|0)==0?(I=s,I=sF(k[p>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[w>>2]|0,y)|0,k[E>>2]=I,(k[E>>2]|0)!=0):0){k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}while(0);k[D>>2]=k[(k[p>>2]|0)+120+(i[(k[p>>2]|0)+68>>0]<<2)>>2];k[z>>2]=k[(k[C>>2]|0)+80>>2];I=s;I=bM(k[D>>2]|0,k[z>>2]|0,k[q>>2]|0,k[I>>2]|0,k[I+4>>2]|0,k[t>>2]|0,k[u>>2]|0,k[v>>2]|0,F)|0;k[E>>2]=I;do if(!(k[E>>2]|0)){k[x>>2]=m[(k[p>>2]|0)+80+(i[(k[p>>2]|0)+68>>0]<<1)>>1];if(!(k[y>>2]|0)){I=Pg(k[(k[D>>2]|0)+72>>2]|0)|0;k[E>>2]=I;if(k[E>>2]|0)break;k[A>>2]=(k[(k[D>>2]|0)+56>>2]|0)+(m[(k[D>>2]|0)+20>>1]&(l[(k[(k[D>>2]|0)+64>>2]|0)+(k[x>>2]<<1)>>0]<<8|l[(k[(k[D>>2]|0)+64>>2]|0)+(k[x>>2]<<1)+1>>0]));if(!(i[(k[D>>2]|0)+4>>0]|0)){I=k[z>>2]|0;C=k[A>>2]|0;i[I>>0]=i[C>>0]|0;i[I+1>>0]=i[C+1>>0]|0;i[I+2>>0]=i[C+2>>0]|0;i[I+3>>0]=i[C+3>>0]|0}I=MK(k[D>>2]|0,k[A>>2]|0,G)|0;k[E>>2]=I;JL(k[D>>2]|0,k[x>>2]|0,m[G>>1]|0,E);if(k[E>>2]|0)break}else if((k[y>>2]|0)<0?(m[(k[D>>2]|0)+18>>1]|0)>0:0){G=(k[p>>2]|0)+80+(i[(k[p>>2]|0)+68>>0]<<1)|0;I=(j[G>>1]|0)+1<<16>>16;j[G>>1]=I;k[x>>2]=I&65535}KL(k[D>>2]|0,k[x>>2]|0,k[z>>2]|0,k[F>>2]|0,0,0,E);j[(k[p>>2]|0)+16+18>>1]=0;if((k[E>>2]|0)==0?(l[(k[D>>2]|0)+1>>0]|0)!=0:0){I=(k[p>>2]|0)+64|0;i[I>>0]=l[I>>0]&-3;I=LL(k[p>>2]|0)|0;k[E>>2]=I;i[(k[(k[p>>2]|0)+120+(i[(k[p>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;i[(k[p>>2]|0)+66>>0]=0}}while(0);k[o>>2]=k[E>>2];I=k[o>>2]|0;r=H;return I|0}function TI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=r;r=r+64|0;t=z+56|0;u=z+52|0;A=z+63|0;f=z+48|0;g=z+44|0;y=z+40|0;x=z+36|0;h=z+32|0;w=z+28|0;v=z+24|0;p=z+60|0;s=z+20|0;q=z+62|0;e=z+16|0;n=z+12|0;d=z+8|0;c=z+4|0;o=z;k[u>>2]=a;i[A>>0]=b;k[f>>2]=k[k[u>>2]>>2];k[g>>2]=k[(k[f>>2]|0)+4>>2];k[s>>2]=0;i[q>>0]=l[A>>0]&2;k[v>>2]=i[(k[u>>2]|0)+68>>0];k[w>>2]=m[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1];k[x>>2]=k[(k[u>>2]|0)+120+(k[v>>2]<<2)>>2];k[h>>2]=(k[(k[x>>2]|0)+56>>2]|0)+(m[(k[x>>2]|0)+20>>1]&(l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)>>0]<<8|l[(k[(k[x>>2]|0)+64>>2]|0)+(k[w>>2]<<1)+1>>0]));if((i[(k[x>>2]|0)+4>>0]|0)==0?(k[e>>2]=0,A=jF(k[u>>2]|0,e)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if((l[(k[u>>2]|0)+64>>0]&32|0)!=0?(A=DH(k[g>>2]|0,k[(k[u>>2]|0)+52>>2]|0,k[u>>2]|0)|0,k[y>>2]=A,(k[y>>2]|0)!=0):0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(k[(k[u>>2]|0)+72>>2]|0)){A=(k[u>>2]|0)+16|0;KK(k[f>>2]|0,k[A>>2]|0,k[A+4>>2]|0,0)}do if(i[q>>0]|0){if((i[(k[x>>2]|0)+4>>0]|0)!=0?(A=m[(k[x>>2]|0)+16>>1]|0,A=A+((bu(k[x>>2]|0,k[h>>2]|0)|0)&65535)+2|0,(A|0)<=((k[(k[g>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){k[s>>2]=1;break}A=HH(k[u>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}while(0);A=Pg(k[(k[x>>2]|0)+72>>2]|0)|0;k[y>>2]=A;if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}A=MK(k[x>>2]|0,k[h>>2]|0,p)|0;k[y>>2]=A;JL(k[x>>2]|0,k[w>>2]|0,m[p>>1]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}if(!(i[(k[x>>2]|0)+4>>0]|0)){k[n>>2]=k[(k[u>>2]|0)+120+(i[(k[u>>2]|0)+68>>0]<<2)>>2];k[c>>2]=k[(k[(k[u>>2]|0)+120+((k[v>>2]|0)+1<<2)>>2]|0)+84>>2];k[h>>2]=(k[(k[n>>2]|0)+56>>2]|0)+(m[(k[n>>2]|0)+20>>1]&(l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|l[(k[(k[n>>2]|0)+64>>2]|0)+((m[(k[n>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((k[h>>2]|0)>>>0<((k[(k[n>>2]|0)+56>>2]|0)+4|0)>>>0){A=Yj(64012)|0;k[t>>2]=A;A=k[t>>2]|0;r=z;return A|0}A=(gc[k[(k[n>>2]|0)+76>>2]&255](k[n>>2]|0,k[h>>2]|0)|0)&65535;k[d>>2]=A;k[o>>2]=k[(k[g>>2]|0)+80>>2];A=Pg(k[(k[n>>2]|0)+72>>2]|0)|0;k[y>>2]=A;KL(k[x>>2]|0,k[w>>2]|0,(k[h>>2]|0)+-4|0,(k[d>>2]|0)+4|0,k[o>>2]|0,k[c>>2]|0,y);JL(k[n>>2]|0,(m[(k[n>>2]|0)+18>>1]|0)-1|0,k[d>>2]|0,y);if(k[y>>2]|0){k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}}A=LL(k[u>>2]|0)|0;k[y>>2]=A;if((k[y>>2]|0)==0?(i[(k[u>>2]|0)+68>>0]|0)>(k[v>>2]|0):0){while(1){b=k[u>>2]|0;if((i[(k[u>>2]|0)+68>>0]|0)<=(k[v>>2]|0))break;p=b+68|0;A=i[p>>0]|0;i[p>>0]=A+-1<<24>>24;GB(k[(k[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}A=LL(b)|0;k[y>>2]=A}do if(!(k[y>>2]|0)){b=k[u>>2]|0;if(!(k[s>>2]|0)){A=xF(b)|0;k[y>>2]=A;if(!(i[q>>0]|0))break;i[(k[u>>2]|0)+66>>0]=3;break}i[b+66>>0]=2;b=(k[u>>2]|0)+60|0;if((k[w>>2]|0)>=(m[(k[x>>2]|0)+18>>1]|0)){k[b>>2]=-1;j[(k[u>>2]|0)+80+(k[v>>2]<<1)>>1]=(m[(k[x>>2]|0)+18>>1]|0)-1;break}else{k[b>>2]=1;break}}while(0);k[t>>2]=k[y>>2];A=k[t>>2]|0;r=z;return A|0}function UI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,l=0,n=0,o=0,p=0,q=0,s=0,t=0;s=r;r=r+48|0;n=s+44|0;t=s+40|0;o=s+36|0;e=s+32|0;p=s+28|0;l=s+24|0;q=s+20|0;i=s+16|0;f=s+12|0;h=s+8|0;g=s+4|0;k[t>>2]=a;k[o>>2]=b;k[e>>2]=c;k[p>>2]=d;k[l>>2]=k[(k[t>>2]|0)+16>>2];k[q>>2]=k[(k[l>>2]|0)+32>>2];k[i>>2]=k[(k[t>>2]|0)+24>>2];do if(!(k[q>>2]|0)){t=tF(k[i>>2]|0,0,0,s)|0;k[(k[l>>2]|0)+32>>2]=t;k[q>>2]=t;if(k[q>>2]|0){j[(k[q>>2]|0)+8>>1]=k[e>>2];break}k[n>>2]=7;t=k[n>>2]|0;r=s;return t|0}while(0);t=IL(k[l>>2]|0,g)|0;k[h>>2]=t;uF(k[i>>2]|0,k[g>>2]|0,k[h>>2]|0,k[q>>2]|0);k[f>>2]=0;while(1){if((k[f>>2]|0)>=(k[e>>2]|0)){e=10;break}if((m[(k[(k[q>>2]|0)+4>>2]|0)+((k[f>>2]|0)*40|0)+8>>1]|0)&1){e=8;break}k[f>>2]=(k[f>>2]|0)+1}if((e|0)==8){k[k[p>>2]>>2]=-1;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}else if((e|0)==10){t=IF(k[(k[o>>2]|0)+12>>2]|0,k[(k[o>>2]|0)+16>>2]|0,k[q>>2]|0)|0;k[k[p>>2]>>2]=t;k[n>>2]=0;t=k[n>>2]|0;r=s;return t|0}return 0}function VI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0;g=r;r=r+32|0;c=g+20|0;i=g+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;k[i>>2]=a;k[d>>2]=b;k[h>>2]=k[(k[i>>2]|0)+16>>2];b=IL(k[h>>2]|0,e)|0;k[f>>2]=b;if(Jx(k[d>>2]|0,k[e>>2]|0)|0){k[c>>2]=7;i=k[c>>2]|0;r=g;return i|0}else{k[(k[d>>2]|0)+12>>2]=k[e>>2];j[(k[d>>2]|0)+8>>1]=(m[(k[d>>2]|0)+8>>1]|0)&-49664|16;BR(k[(k[d>>2]|0)+16>>2]|0,k[f>>2]|0,k[e>>2]|0)|0;k[c>>2]=0;i=k[c>>2]|0;r=g;return i|0}return 0}function WI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;c=f+8|0;d=f+4|0;e=f;k[c>>2]=a;k[d>>2]=b;if(!(k[(k[d>>2]|0)+8>>2]|0)){r=f;return}k[e>>2]=k[k[c>>2]>>2];bg(k[e>>2]|0,k[(k[c>>2]|0)+44>>2]|0);b=zh(k[e>>2]|0,k[(k[d>>2]|0)+8>>2]|0)|0;k[(k[c>>2]|0)+44>>2]=b;Ud(k[(k[d>>2]|0)+8>>2]|0);k[(k[d>>2]|0)+8>>2]=0;r=f;return}function XI(a){a=a|0;var b=0,c=0,d=0;d=r;r=r+16|0;b=d+4|0;c=d;k[c>>2]=a;if(FL(k[(k[c>>2]|0)+16>>2]|0)|0){a=GL(k[c>>2]|0)|0;k[b>>2]=a;a=k[b>>2]|0;r=d;return a|0}else{k[b>>2]=0;a=k[b>>2]|0;r=d;return a|0}return 0}function YI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;g=r;r=r+32|0;d=g+16|0;h=g+12|0;c=g+8|0;e=g+4|0;f=g;k[h>>2]=a;k[c>>2]=b;k[f>>2]=0;k[e>>2]=k[(k[h>>2]|0)+16>>2];b=k[e>>2]|0;if(l[(k[e>>2]|0)+56>>0]|0){h=WK(b)|0;k[f>>2]=h;k[f>>2]=k[f>>2];if(!(k[f>>2]|0)){h=tL(k[e>>2]|0)|0;k[f>>2]=h;k[k[c>>2]>>2]=0}k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}a=k[c>>2]|0;if(k[b+36>>2]|0){k[a>>2]=0;h=ZK((k[e>>2]|0)+64|0,(k[e>>2]|0)+36|0)|0;k[f>>2]=h}else k[a>>2]=1;k[d>>2]=k[f>>2];h=k[d>>2]|0;r=g;return h|0}function ZI(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=r;r=r+16|0;d=f+8|0;c=f+4|0;e=f;k[d>>2]=a;k[c>>2]=b;b=xF(k[d>>2]|0)|0;k[e>>2]=b;do if(!(k[e>>2]|0)){c=k[c>>2]|0;if(!(l[(k[d>>2]|0)+66>>0]|0)){k[c>>2]=1;break}else{k[c>>2]=0;d=_F(k[d>>2]|0)|0;k[e>>2]=d;break}}while(0);r=f;return k[e>>2]|0}function _I(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,l=0;j=r;r=r+32|0;d=j+20|0;l=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;f=j;k[d>>2]=a;k[l>>2]=b;k[e>>2]=c;k[g>>2]=k[(k[l>>2]|0)+16>>2];a=k[g>>2]|0;if(i[(k[g>>2]|0)+56>>0]|0){l=kL(k[a+20>>2]|0,k[e>>2]|0)|0;k[h>>2]=l;l=k[h>>2]|0;r=j;return l|0}k[f>>2]=k[a+36>>2];k[(k[g>>2]|0)+36>>2]=k[(k[f>>2]|0)+4>>2];k[(k[f>>2]|0)+4>>2]=0;if(!(k[(k[g>>2]|0)+36+4>>2]|0))GK(k[d>>2]|0,k[f>>2]|0);k[k[e>>2]>>2]=((k[(k[g>>2]|0)+36>>2]|0)!=0^1)&1;k[h>>2]=0;l=k[h>>2]|0;r=j;return l|0} +function sR(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;h=k[2468]|0;if(b>>>0>>0)Va();c=k[a+-4>>2]|0;d=c&3;if((d|0)==1)Va();o=c&-8;q=a+(o+-8)|0;do if(!(c&1)){b=k[b>>2]|0;if(!d)return;i=-8-b|0;l=a+i|0;m=b+o|0;if(l>>>0>>0)Va();if((l|0)==(k[2469]|0)){b=a+(o+-4)|0;c=k[b>>2]|0;if((c&3|0)!=3){u=l;f=m;break}k[2466]=m;k[b>>2]=c&-2;k[a+(i+4)>>2]=m|1;k[q>>2]=m;return}e=b>>>3;if(b>>>0<256){d=k[a+(i+8)>>2]|0;c=k[a+(i+12)>>2]|0;b=9896+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0>>0)Va();if((k[d+12>>2]|0)!=(l|0))Va()}if((c|0)==(d|0)){k[2464]=k[2464]&~(1<>>0>>0)Va();b=c+8|0;if((k[b>>2]|0)==(l|0))g=b;else Va()}else g=c+8|0;k[d+12>>2]=c;k[g>>2]=d;u=l;f=m;break}g=k[a+(i+24)>>2]|0;d=k[a+(i+12)>>2]|0;do if((d|0)==(l|0)){c=a+(i+20)|0;b=k[c>>2]|0;if(!b){c=a+(i+16)|0;b=k[c>>2]|0;if(!b){j=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0>>0)Va();else{k[c>>2]=0;j=b;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();b=e+12|0;if((k[b>>2]|0)!=(l|0))Va();c=d+8|0;if((k[c>>2]|0)==(l|0)){k[b>>2]=d;k[c>>2]=e;j=d;break}else Va()}while(0);if(g){b=k[a+(i+28)>>2]|0;c=10160+(b<<2)|0;if((l|0)==(k[c>>2]|0)){k[c>>2]=j;if(!j){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(l|0))k[b>>2]=j;else k[g+20>>2]=j;if(!j){u=l;f=m;break}}c=k[2468]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;b=k[a+(i+16)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[j+16>>2]=b;k[b+24>>2]=j;break}while(0);b=k[a+(i+20)>>2]|0;if(b)if(b>>>0<(k[2468]|0)>>>0)Va();else{k[j+20>>2]=b;k[b+24>>2]=j;u=l;f=m;break}else{u=l;f=m}}else{u=l;f=m}}else{u=b;f=o}while(0);if(u>>>0>=q>>>0)Va();b=a+(o+-4)|0;c=k[b>>2]|0;if(!(c&1))Va();if(!(c&2)){if((q|0)==(k[2470]|0)){t=(k[2467]|0)+f|0;k[2467]=t;k[2470]=u;k[u+4>>2]=t|1;if((u|0)!=(k[2469]|0))return;k[2469]=0;k[2466]=0;return}if((q|0)==(k[2469]|0)){t=(k[2466]|0)+f|0;k[2466]=t;k[2469]=u;k[u+4>>2]=t|1;k[u+t>>2]=t;return}f=(c&-8)+f|0;e=c>>>3;do if(c>>>0>=256){g=k[a+(o+16)>>2]|0;b=k[a+(o|4)>>2]|0;do if((b|0)==(q|0)){c=a+(o+12)|0;b=k[c>>2]|0;if(!b){c=a+(o+8)|0;b=k[c>>2]|0;if(!b){p=0;break}}while(1){d=b+20|0;e=k[d>>2]|0;if(e){b=e;c=d;continue}d=b+16|0;e=k[d>>2]|0;if(!e)break;else{b=e;c=d}}if(c>>>0<(k[2468]|0)>>>0)Va();else{k[c>>2]=0;p=b;break}}else{c=k[a+o>>2]|0;if(c>>>0<(k[2468]|0)>>>0)Va();d=c+12|0;if((k[d>>2]|0)!=(q|0))Va();e=b+8|0;if((k[e>>2]|0)==(q|0)){k[d>>2]=b;k[e>>2]=c;p=b;break}else Va()}while(0);if(g){b=k[a+(o+20)>>2]|0;c=10160+(b<<2)|0;if((q|0)==(k[c>>2]|0)){k[c>>2]=p;if(!p){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();b=g+16|0;if((k[b>>2]|0)==(q|0))k[b>>2]=p;else k[g+20>>2]=p;if(!p)break}c=k[2468]|0;if(p>>>0>>0)Va();k[p+24>>2]=g;b=k[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Va();else{k[p+16>>2]=b;k[b+24>>2]=p;break}while(0);b=k[a+(o+12)>>2]|0;if(b)if(b>>>0<(k[2468]|0)>>>0)Va();else{k[p+20>>2]=b;k[b+24>>2]=p;break}}}else{d=k[a+o>>2]|0;c=k[a+(o|4)>>2]|0;b=9896+(e<<1<<2)|0;if((d|0)!=(b|0)){if(d>>>0<(k[2468]|0)>>>0)Va();if((k[d+12>>2]|0)!=(q|0))Va()}if((c|0)==(d|0)){k[2464]=k[2464]&~(1<>>0<(k[2468]|0)>>>0)Va();b=c+8|0;if((k[b>>2]|0)==(q|0))n=b;else Va()}else n=c+8|0;k[d+12>>2]=c;k[n>>2]=d}while(0);k[u+4>>2]=f|1;k[u+f>>2]=f;if((u|0)==(k[2469]|0)){k[2466]=f;return}}else{k[b>>2]=c&-2;k[u+4>>2]=f|1;k[u+f>>2]=f}b=f>>>3;if(f>>>0<256){c=b<<1;e=9896+(c<<2)|0;d=k[2464]|0;b=1<>2]|0;if(c>>>0<(k[2468]|0)>>>0)Va();else{r=b;s=c}}else{k[2464]=d|b;r=9896+(c+2<<2)|0;s=e}k[r>>2]=u;k[s+12>>2]=u;k[u+8>>2]=s;k[u+12>>2]=e;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;e=14-(q|r|e)+(s<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=10160+(e<<2)|0;k[u+28>>2]=e;k[u+20>>2]=0;k[u+16>>2]=0;c=k[2465]|0;d=1<>2]|0;b:do if((k[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){c=b+16+(e>>>31<<2)|0;d=k[c>>2]|0;if(!d)break;if((k[d+4>>2]&-8|0)==(f|0)){t=d;break b}else{e=e<<1;b=d}}if(c>>>0<(k[2468]|0)>>>0)Va();else{k[c>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;c=k[b>>2]|0;s=k[2468]|0;if(c>>>0>=s>>>0&t>>>0>=s>>>0){k[c+12>>2]=u;k[b>>2]=u;k[u+8>>2]=c;k[u+12>>2]=t;k[u+24>>2]=0;break}else Va()}else{k[2465]=c|d;k[b>>2]=u;k[u+24>>2]=b;k[u+12>>2]=u;k[u+8>>2]=u}while(0);u=(k[2472]|0)+-1|0;k[2472]=u;if(!u)b=10312;else return;while(1){b=k[b>>2]|0;if(!b)break;else b=b+8|0}k[2472]=-1;return}function tR(a,b){a=a|0;b=b|0;var c=0;if(a){c=ha(b,a)|0;if((b|a)>>>0>65535)c=((c>>>0)/(a>>>0)|0|0)==(b|0)?c:-1}else c=0;b=rR(c)|0;if(!b)return b|0;if(!(k[b+-4>>2]&3))return b|0;DR(b|0,0,c|0)|0;return b|0}function uR(a,b){a=a|0;b=b|0;var c=0,d=0;if(!a){a=rR(b)|0;return a|0}if(b>>>0>4294967231){a=jQ()|0;k[a>>2]=12;a=0;return a|0}c=vR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(c){a=c+8|0;return a|0}c=rR(b)|0;if(!c){a=0;return a|0}d=k[a+-4>>2]|0;d=(d&-8)-((d&3|0)==0?8:4)|0;BR(c|0,a|0,(d>>>0>>0?d:b)|0)|0;sR(a);a=c;return a|0}function vR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=k[o>>2]|0;i=p&-8;l=a+i|0;h=k[2468]|0;c=p&3;if(!((c|0)!=1&a>>>0>=h>>>0&a>>>0>>0))Va();d=a+(i|4)|0;e=k[d>>2]|0;if(!(e&1))Va();if(!c){if(b>>>0<256){a=0;return a|0}if(i>>>0>=(b+4|0)>>>0?(i-b|0)>>>0<=k[2584]<<1>>>0:0)return a|0;a=0;return a|0}if(i>>>0>=b>>>0){c=i-b|0;if(c>>>0<=15)return a|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|3;k[d>>2]=k[d>>2]|1;wR(a+b|0,c);return a|0}if((l|0)==(k[2470]|0)){c=(k[2467]|0)+i|0;if(c>>>0<=b>>>0){a=0;return a|0}n=c-b|0;k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|1;k[2470]=a+b;k[2467]=n;return a|0}if((l|0)==(k[2469]|0)){d=(k[2466]|0)+i|0;if(d>>>0>>0){a=0;return a|0}c=d-b|0;if(c>>>0>15){k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=c|1;k[a+d>>2]=c;d=a+(d+4)|0;k[d>>2]=k[d>>2]&-2;d=a+b|0}else{k[o>>2]=p&1|d|2;d=a+(d+4)|0;k[d>>2]=k[d>>2]|1;d=0;c=0}k[2466]=c;k[2469]=d;return a|0}if(e&2){a=0;return a|0}m=(e&-8)+i|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;f=e>>>3;do if(e>>>0>=256){g=k[a+(i+24)>>2]|0;f=k[a+(i+12)>>2]|0;do if((f|0)==(l|0)){d=a+(i+20)|0;c=k[d>>2]|0;if(!c){d=a+(i+16)|0;c=k[d>>2]|0;if(!c){j=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;j=c;break}}else{e=k[a+(i+8)>>2]|0;if(e>>>0>>0)Va();c=e+12|0;if((k[c>>2]|0)!=(l|0))Va();d=f+8|0;if((k[d>>2]|0)==(l|0)){k[c>>2]=f;k[d>>2]=e;j=f;break}else Va()}while(0);if(g){c=k[a+(i+28)>>2]|0;d=10160+(c<<2)|0;if((l|0)==(k[d>>2]|0)){k[d>>2]=j;if(!j){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();c=g+16|0;if((k[c>>2]|0)==(l|0))k[c>>2]=j;else k[g+20>>2]=j;if(!j)break}d=k[2468]|0;if(j>>>0>>0)Va();k[j+24>>2]=g;c=k[a+(i+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[j+16>>2]=c;k[c+24>>2]=j;break}while(0);c=k[a+(i+20)>>2]|0;if(c)if(c>>>0<(k[2468]|0)>>>0)Va();else{k[j+20>>2]=c;k[c+24>>2]=j;break}}}else{e=k[a+(i+8)>>2]|0;d=k[a+(i+12)>>2]|0;c=9896+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(l|0))Va()}if((d|0)==(e|0)){k[2464]=k[2464]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(l|0))g=c;else Va()}else g=d+8|0;k[e+12>>2]=d;k[g>>2]=e}while(0);if(n>>>0<16){k[o>>2]=m|p&1|2;b=a+(m|4)|0;k[b>>2]=k[b>>2]|1;return a|0}else{k[o>>2]=p&1|b|2;k[a+(b+4)>>2]=n|3;p=a+(m|4)|0;k[p>>2]=k[p>>2]|1;wR(a+b|0,n);return a|0}return 0}function wR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;c=k[a+4>>2]|0;do if(!(c&1)){j=k[a>>2]|0;if(!(c&3))return;n=a+(0-j)|0;m=j+b|0;i=k[2468]|0;if(n>>>0>>0)Va();if((n|0)==(k[2469]|0)){d=a+(b+4)|0;c=k[d>>2]|0;if((c&3|0)!=3){t=n;g=m;break}k[2466]=m;k[d>>2]=c&-2;k[a+(4-j)>>2]=m|1;k[q>>2]=m;return}f=j>>>3;if(j>>>0<256){e=k[a+(8-j)>>2]|0;d=k[a+(12-j)>>2]|0;c=9896+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(n|0))Va()}if((d|0)==(e|0)){k[2464]=k[2464]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(n|0))h=c;else Va()}else h=d+8|0;k[e+12>>2]=d;k[h>>2]=e;t=n;g=m;break}h=k[a+(24-j)>>2]|0;e=k[a+(12-j)>>2]|0;do if((e|0)==(n|0)){e=16-j|0;d=a+(e+4)|0;c=k[d>>2]|0;if(!c){d=a+e|0;c=k[d>>2]|0;if(!c){l=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;l=c;break}}else{f=k[a+(8-j)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(n|0))Va();d=e+8|0;if((k[d>>2]|0)==(n|0)){k[c>>2]=e;k[d>>2]=f;l=e;break}else Va()}while(0);if(h){c=k[a+(28-j)>>2]|0;d=10160+(c<<2)|0;if((n|0)==(k[d>>2]|0)){k[d>>2]=l;if(!l){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(n|0))k[c>>2]=l;else k[h+20>>2]=l;if(!l){t=n;g=m;break}}e=k[2468]|0;if(l>>>0>>0)Va();k[l+24>>2]=h;c=16-j|0;d=k[a+c>>2]|0;do if(d)if(d>>>0>>0)Va();else{k[l+16>>2]=d;k[d+24>>2]=l;break}while(0);c=k[a+(c+4)>>2]|0;if(c)if(c>>>0<(k[2468]|0)>>>0)Va();else{k[l+20>>2]=c;k[c+24>>2]=l;t=n;g=m;break}else{t=n;g=m}}else{t=n;g=m}}else{t=a;g=b}while(0);i=k[2468]|0;if(q>>>0>>0)Va();c=a+(b+4)|0;d=k[c>>2]|0;if(!(d&2)){if((q|0)==(k[2470]|0)){s=(k[2467]|0)+g|0;k[2467]=s;k[2470]=t;k[t+4>>2]=s|1;if((t|0)!=(k[2469]|0))return;k[2469]=0;k[2466]=0;return}if((q|0)==(k[2469]|0)){s=(k[2466]|0)+g|0;k[2466]=s;k[2469]=t;k[t+4>>2]=s|1;k[t+s>>2]=s;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=k[a+(b+24)>>2]|0;e=k[a+(b+12)>>2]|0;do if((e|0)==(q|0)){d=a+(b+20)|0;c=k[d>>2]|0;if(!c){d=a+(b+16)|0;c=k[d>>2]|0;if(!c){p=0;break}}while(1){e=c+20|0;f=k[e>>2]|0;if(f){c=f;d=e;continue}e=c+16|0;f=k[e>>2]|0;if(!f)break;else{c=f;d=e}}if(d>>>0>>0)Va();else{k[d>>2]=0;p=c;break}}else{f=k[a+(b+8)>>2]|0;if(f>>>0>>0)Va();c=f+12|0;if((k[c>>2]|0)!=(q|0))Va();d=e+8|0;if((k[d>>2]|0)==(q|0)){k[c>>2]=e;k[d>>2]=f;p=e;break}else Va()}while(0);if(h){c=k[a+(b+28)>>2]|0;d=10160+(c<<2)|0;if((q|0)==(k[d>>2]|0)){k[d>>2]=p;if(!p){k[2465]=k[2465]&~(1<>>0<(k[2468]|0)>>>0)Va();c=h+16|0;if((k[c>>2]|0)==(q|0))k[c>>2]=p;else k[h+20>>2]=p;if(!p)break}d=k[2468]|0;if(p>>>0>>0)Va();k[p+24>>2]=h;c=k[a+(b+16)>>2]|0;do if(c)if(c>>>0>>0)Va();else{k[p+16>>2]=c;k[c+24>>2]=p;break}while(0);c=k[a+(b+20)>>2]|0;if(c)if(c>>>0<(k[2468]|0)>>>0)Va();else{k[p+20>>2]=c;k[c+24>>2]=p;break}}}else{e=k[a+(b+8)>>2]|0;d=k[a+(b+12)>>2]|0;c=9896+(f<<1<<2)|0;if((e|0)!=(c|0)){if(e>>>0>>0)Va();if((k[e+12>>2]|0)!=(q|0))Va()}if((d|0)==(e|0)){k[2464]=k[2464]&~(1<>>0>>0)Va();c=d+8|0;if((k[c>>2]|0)==(q|0))o=c;else Va()}else o=d+8|0;k[e+12>>2]=d;k[o>>2]=e}while(0);k[t+4>>2]=g|1;k[t+g>>2]=g;if((t|0)==(k[2469]|0)){k[2466]=g;return}}else{k[c>>2]=d&-2;k[t+4>>2]=g|1;k[t+g>>2]=g}c=g>>>3;if(g>>>0<256){d=c<<1;f=9896+(d<<2)|0;e=k[2464]|0;c=1<>2]|0;if(d>>>0<(k[2468]|0)>>>0)Va();else{r=c;s=d}}else{k[2464]=e|c;r=9896+(d+2<<2)|0;s=f}k[r>>2]=t;k[s+12>>2]=t;k[t+8>>2]=s;k[t+12>>2]=f;return}c=g>>>8;if(c)if(g>>>0>16777215)f=31;else{r=(c+1048320|0)>>>16&8;s=c<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;c=10160+(f<<2)|0;k[t+28>>2]=f;k[t+20>>2]=0;k[t+16>>2]=0;d=k[2465]|0;e=1<>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}c=k[c>>2]|0;a:do if((k[c+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=c+16+(f>>>31<<2)|0;e=k[d>>2]|0;if(!e)break;if((k[e+4>>2]&-8|0)==(g|0)){c=e;break a}else{f=f<<1;c=e}}if(d>>>0<(k[2468]|0)>>>0)Va();k[d>>2]=t;k[t+24>>2]=c;k[t+12>>2]=t;k[t+8>>2]=t;return}while(0);d=c+8|0;e=k[d>>2]|0;s=k[2468]|0;if(!(e>>>0>=s>>>0&c>>>0>=s>>>0))Va();k[e+12>>2]=t;k[d>>2]=t;k[t+8>>2]=e;k[t+12>>2]=c;k[t+24>>2]=0;return}function xR(){}function yR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (L=d,a-c>>>0|0)|0}function zR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (L=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function AR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b>>>c;return a>>>c|(b&(1<>>c-32|0}function BR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|0)>=4096)return ub(a|0,b|0,c|0)|0;d=a|0;if((a&3)==(b&3)){while(a&3){if(!c)return d|0;i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}while((c|0)>=4){k[a>>2]=k[b>>2];a=a+4|0;b=b+4|0;c=c-4|0}}while((c|0)>0){i[a>>0]=i[b>>0]|0;a=a+1|0;b=b+1|0;c=c-1|0}return d|0}function CR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<(a|0)&(a|0)<(b+c|0)){d=a;b=b+c|0;a=a+c|0;while((c|0)>0){a=a-1|0;b=b-1|0;c=c-1|0;i[a>>0]=i[b>>0]|0}a=d}else BR(a,b,c)|0;return a|0}function DR(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a+c|0;if((c|0)>=20){b=b&255;f=a&3;g=b|b<<8|b<<16|b<<24;e=d&~3;if(f){f=a+4-f|0;while((a|0)<(f|0)){i[a>>0]=b;a=a+1|0}}while((a|0)<(e|0)){k[a>>2]=g;a=a+4|0}}while((a|0)<(d|0)){i[a>>0]=b;a=a+1|0}return a-c|0}function ER(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){L=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function GR(a){a=a|0;var b=0;b=i[v+(a&255)>>0]|0;if((b|0)<8)return b|0;b=i[v+(a>>8&255)>>0]|0;if((b|0)<8)return b+8|0;b=i[v+(a>>16&255)>>0]|0;if((b|0)<8)return b+16|0;return (i[v+(a>>>24)>>0]|0)+24|0}function HR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=ha(e,f)|0;d=a>>>16;a=(c>>>16)+(ha(e,d)|0)|0;e=b>>>16;b=ha(e,f)|0;return (L=(a>>>16)+(ha(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function IR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=yR(j^a,i^b,j,i)|0;g=L;a=f^j;b=e^i;return yR((NR(h,g,yR(f^c,e^d,f,e)|0,L,0)|0)^a,L^b,a,b)|0}function JR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=r;r=r+16|0;h=e|0;g=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;j=d>>31|((d|0)<0?-1:0)<<1;i=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=yR(g^a,f^b,g,f)|0;b=L;NR(a,b,yR(j^c,i^d,j,i)|0,L,h)|0;d=yR(k[h>>2]^g,k[h+4>>2]^f,g,f)|0;c=L;r=e;return (L=c,d)|0}function KR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=HR(e,f)|0;a=L;return (L=(ha(b,f)|0)+(ha(d,e)|0)+a|a&0,c|0|0)|0}function LR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return NR(a,b,c,d,0)|0}function MR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=r;r=r+16|0;e=f|0;NR(a,b,c,d,e)|0;r=f;return (L=k[e+4>>2]|0,k[e>>2]|0)|0}function NR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,l=0,m=0,n=0,o=0,p=0;l=a;i=b;j=i;g=c;n=d;h=n;if(!j){f=(e|0)!=0;if(!h){if(f){k[e>>2]=(l>>>0)%(g>>>0);k[e+4>>2]=0}n=0;e=(l>>>0)/(g>>>0)>>>0;return (L=n,e)|0}else{if(!f){n=0;e=0;return (L=n,e)|0}k[e>>2]=a|0;k[e+4>>2]=b&0;n=0;e=0;return (L=n,e)|0}}f=(h|0)==0;do if(g){if(!f){f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=31){m=f+1|0;h=31-f|0;b=f-31>>31;g=m;a=l>>>(m>>>0)&b|j<>>(m>>>0)&b;f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;n=0;e=0;return (L=n,e)|0}f=g-1|0;if(f&g){h=(ja(g|0)|0)+33-(ja(j|0)|0)|0;p=64-h|0;m=32-h|0;i=m>>31;o=h-32|0;b=o>>31;g=h;a=m-1>>31&j>>>(o>>>0)|(j<>>(h>>>0))&b;b=b&j>>>(h>>>0);f=l<>>(o>>>0))&i|l<>31;break}if(e){k[e>>2]=f&l;k[e+4>>2]=0}if((g|0)==1){o=i|b&0;p=a|0|0;return (L=o,p)|0}else{p=GR(g|0)|0;o=j>>>(p>>>0)|0;p=j<<32-p|l>>>(p>>>0)|0;return (L=o,p)|0}}else{if(f){if(e){k[e>>2]=(j>>>0)%(g>>>0);k[e+4>>2]=0}o=0;p=(j>>>0)/(g>>>0)>>>0;return (L=o,p)|0}if(!l){if(e){k[e>>2]=0;k[e+4>>2]=(j>>>0)%(h>>>0)}o=0;p=(j>>>0)/(h>>>0)>>>0;return (L=o,p)|0}f=h-1|0;if(!(f&h)){if(e){k[e>>2]=a|0;k[e+4>>2]=f&j|b&0}o=0;p=j>>>((GR(h|0)|0)>>>0);return (L=o,p)|0}f=(ja(h|0)|0)-(ja(j|0)|0)|0;if(f>>>0<=30){b=f+1|0;h=31-f|0;g=b;a=j<>>(b>>>0);b=j>>>(b>>>0);f=0;h=l<>2]=a|0;k[e+4>>2]=i|b&0;o=0;p=0;return (L=o,p)|0}while(0);if(!g){j=h;i=0;h=0}else{m=c|0|0;l=n|d&0;j=zR(m|0,l|0,-1,-1)|0;c=L;i=h;h=0;do{d=i;i=f>>>31|i<<1;f=h|f<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;yR(j,c,d,n)|0;p=L;o=p>>31|((p|0)<0?-1:0)<<1;h=o&1;a=yR(d,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=L;g=g-1|0}while((g|0)!=0);j=i;i=0}g=0;if(e){k[e>>2]=a;k[e+4>>2]=b}o=(f|0)>>>31|(j|g)<<1|(g<<1|f>>>31)&0|i;p=(f<<1|0>>>31)&-2|h;return (L=o,p)|0}function OR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&255](b|0,c|0,d|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return na(0,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return na(1,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return na(2,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return na(3,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return na(4,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return na(5,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return na(6,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return na(7,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return na(8,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return na(9,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return na(10,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return na(11,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return na(12,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return na(13,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return na(14,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return na(15,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return na(16,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return na(17,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return na(18,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return na(19,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return na(20,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return na(21,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return na(22,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return na(23,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return na(24,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return na(25,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return na(26,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return na(27,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return na(28,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return na(29,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return na(30,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return na(31,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return na(32,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return na(33,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return na(34,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return na(35,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return na(36,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return na(37,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return na(38,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return na(39,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return na(40,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return na(41,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return na(42,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return na(43,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return na(44,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return na(45,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return na(46,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return na(47,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return na(48,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return na(49,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return na(50,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return na(51,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return na(52,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return na(53,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return na(54,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return na(55,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return na(56,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return na(57,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return na(58,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return na(59,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return na(60,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return na(61,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return na(62,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return na(63,a|0,b|0,c|0)|0}function ZS(a){a=a|0;return Zb[a&255]()|0}function _S(){return pa(0)|0}function $S(){return pa(1)|0}function aT(){return pa(2)|0}function bT(){return pa(3)|0}function cT(){return pa(4)|0}function dT(){return pa(5)|0}function eT(){return pa(6)|0}function fT(){return pa(7)|0}function gT(){return pa(8)|0}function hT(){return pa(9)|0}function iT(){return pa(10)|0}function jT(){return pa(11)|0}function kT(){return pa(12)|0}function lT(){return pa(13)|0}function mT(){return pa(14)|0}function nT(){return pa(15)|0}function oT(){return pa(16)|0}function pT(){return pa(17)|0}function qT(){return pa(18)|0}function rT(){return pa(19)|0}function sT(){return pa(20)|0}function tT(){return pa(21)|0}function uT(){return pa(22)|0}function vT(){return pa(23)|0}function wT(){return pa(24)|0}function xT(){return pa(25)|0}function yT(){return pa(26)|0}function zT(){return pa(27)|0}function AT(){return pa(28)|0}function BT(){return pa(29)|0}function CT(){return pa(30)|0}function DT(){return pa(31)|0}function ET(){return pa(32)|0}function FT(){return pa(33)|0}function GT(){return pa(34)|0}function HT(){return pa(35)|0}function IT(){return pa(36)|0}function JT(){return pa(37)|0}function KT(){return pa(38)|0}function LT(){return pa(39)|0}function MT(){return pa(40)|0}function NT(){return pa(41)|0}function OT(){return pa(42)|0}function PT(){return pa(43)|0}function QT(){return pa(44)|0}function RT(){return pa(45)|0}function ST(){return pa(46)|0}function TT(){return pa(47)|0}function UT(){return pa(48)|0}function VT(){return pa(49)|0}function WT(){return pa(50)|0}function XT(){return pa(51)|0}function YT(){return pa(52)|0}function ZT(){return pa(53)|0}function _T(){return pa(54)|0}function $T(){return pa(55)|0}function aU(){return pa(56)|0}function bU(){return pa(57)|0}function cU(){return pa(58)|0}function dU(){return pa(59)|0}function eU(){return pa(60)|0}function fU(){return pa(61)|0}function gU(){return pa(62)|0}function hU(){return pa(63)|0}function iU(a,b){a=a|0;b=b|0;_b[a&255](b|0)}function jU(a){a=a|0;ra(0,a|0)}function kU(a){a=a|0;ra(1,a|0)}function lU(a){a=a|0;ra(2,a|0)}function mU(a){a=a|0;ra(3,a|0)}function nU(a){a=a|0;ra(4,a|0)}function oU(a){a=a|0;ra(5,a|0)}function pU(a){a=a|0;ra(6,a|0)}function qU(a){a=a|0;ra(7,a|0)}function rU(a){a=a|0;ra(8,a|0)}function sU(a){a=a|0;ra(9,a|0)}function tU(a){a=a|0;ra(10,a|0)}function uU(a){a=a|0;ra(11,a|0)}function vU(a){a=a|0;ra(12,a|0)}function wU(a){a=a|0;ra(13,a|0)}function xU(a){a=a|0;ra(14,a|0)}function yU(a){a=a|0;ra(15,a|0)}function zU(a){a=a|0;ra(16,a|0)}function AU(a){a=a|0;ra(17,a|0)}function BU(a){a=a|0;ra(18,a|0)}function CU(a){a=a|0;ra(19,a|0)}function DU(a){a=a|0;ra(20,a|0)}function EU(a){a=a|0;ra(21,a|0)}function FU(a){a=a|0;ra(22,a|0)}function GU(a){a=a|0;ra(23,a|0)}function HU(a){a=a|0;ra(24,a|0)}function IU(a){a=a|0;ra(25,a|0)}function JU(a){a=a|0;ra(26,a|0)}function KU(a){a=a|0;ra(27,a|0)}function LU(a){a=a|0;ra(28,a|0)}function MU(a){a=a|0;ra(29,a|0)}function NU(a){a=a|0;ra(30,a|0)}function OU(a){a=a|0;ra(31,a|0)}function PU(a){a=a|0;ra(32,a|0)}function QU(a){a=a|0;ra(33,a|0)}function RU(a){a=a|0;ra(34,a|0)}function SU(a){a=a|0;ra(35,a|0)}function TU(a){a=a|0;ra(36,a|0)}function UU(a){a=a|0;ra(37,a|0)}function VU(a){a=a|0;ra(38,a|0)}function WU(a){a=a|0;ra(39,a|0)}function XU(a){a=a|0;ra(40,a|0)}function YU(a){a=a|0;ra(41,a|0)}function ZU(a){a=a|0;ra(42,a|0)}function _U(a){a=a|0;ra(43,a|0)}function $U(a){a=a|0;ra(44,a|0)}function aV(a){a=a|0;ra(45,a|0)}function bV(a){a=a|0;ra(46,a|0)}function cV(a){a=a|0;ra(47,a|0)}function dV(a){a=a|0;ra(48,a|0)}function eV(a){a=a|0;ra(49,a|0)}function fV(a){a=a|0;ra(50,a|0)}function gV(a){a=a|0;ra(51,a|0)}function hV(a){a=a|0;ra(52,a|0)}function iV(a){a=a|0;ra(53,a|0)}function jV(a){a=a|0;ra(54,a|0)}function kV(a){a=a|0;ra(55,a|0)}function lV(a){a=a|0;ra(56,a|0)}function mV(a){a=a|0;ra(57,a|0)}function nV(a){a=a|0;ra(58,a|0)}function oV(a){a=a|0;ra(59,a|0)}function pV(a){a=a|0;ra(60,a|0)}function qV(a){a=a|0;ra(61,a|0)}function rV(a){a=a|0;ra(62,a|0)}function sV(a){a=a|0;ra(63,a|0)}function tV(a,b,c){a=a|0;b=b|0;c=c|0;$b[a&255](b|0,c|0)}function uV(a,b){a=a|0;b=b|0;ta(0,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ta(1,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ta(2,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ta(3,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ta(4,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ta(5,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ta(6,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ta(7,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ta(8,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ta(9,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ta(10,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ta(11,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ta(12,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ta(13,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ta(14,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ta(15,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ta(16,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ta(17,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ta(18,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ta(19,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ta(20,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ta(21,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ta(22,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ta(23,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ta(24,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ta(25,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ta(26,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ta(27,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ta(28,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ta(29,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ta(30,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ta(31,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ta(32,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ta(33,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ta(34,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ta(35,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ta(36,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ta(37,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ta(38,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ta(39,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ta(40,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ta(41,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ta(42,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ta(43,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ta(44,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ta(45,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ta(46,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ta(47,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ta(48,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ta(49,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ta(50,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ta(51,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ta(52,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ta(53,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ta(54,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ta(55,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ta(56,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ta(57,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ta(58,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ta(59,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ta(60,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ta(61,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ta(62,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ta(63,a|0,b|0)}function EW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return ac[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return va(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b){a=a|0;b=b|0;return bc[a&255](b|0)|0}function QX(a){a=a|0;return xa(0,a|0)|0}function RX(a){a=a|0;return xa(1,a|0)|0}function SX(a){a=a|0;return xa(2,a|0)|0}function TX(a){a=a|0;return xa(3,a|0)|0}function UX(a){a=a|0;return xa(4,a|0)|0}function VX(a){a=a|0;return xa(5,a|0)|0}function WX(a){a=a|0;return xa(6,a|0)|0}function XX(a){a=a|0;return xa(7,a|0)|0}function YX(a){a=a|0;return xa(8,a|0)|0}function ZX(a){a=a|0;return xa(9,a|0)|0}function _X(a){a=a|0;return xa(10,a|0)|0}function $X(a){a=a|0;return xa(11,a|0)|0}function aY(a){a=a|0;return xa(12,a|0)|0}function bY(a){a=a|0;return xa(13,a|0)|0}function cY(a){a=a|0;return xa(14,a|0)|0}function dY(a){a=a|0;return xa(15,a|0)|0}function eY(a){a=a|0;return xa(16,a|0)|0}function fY(a){a=a|0;return xa(17,a|0)|0}function gY(a){a=a|0;return xa(18,a|0)|0}function hY(a){a=a|0;return xa(19,a|0)|0}function iY(a){a=a|0;return xa(20,a|0)|0}function jY(a){a=a|0;return xa(21,a|0)|0}function kY(a){a=a|0;return xa(22,a|0)|0}function lY(a){a=a|0;return xa(23,a|0)|0}function mY(a){a=a|0;return xa(24,a|0)|0}function nY(a){a=a|0;return xa(25,a|0)|0}function oY(a){a=a|0;return xa(26,a|0)|0}function pY(a){a=a|0;return xa(27,a|0)|0}function qY(a){a=a|0;return xa(28,a|0)|0}function rY(a){a=a|0;return xa(29,a|0)|0}function sY(a){a=a|0;return xa(30,a|0)|0}function tY(a){a=a|0;return xa(31,a|0)|0}function uY(a){a=a|0;return xa(32,a|0)|0}function vY(a){a=a|0;return xa(33,a|0)|0}function wY(a){a=a|0;return xa(34,a|0)|0}function xY(a){a=a|0;return xa(35,a|0)|0}function yY(a){a=a|0;return xa(36,a|0)|0}function zY(a){a=a|0;return xa(37,a|0)|0}function AY(a){a=a|0;return xa(38,a|0)|0}function BY(a){a=a|0;return xa(39,a|0)|0}function CY(a){a=a|0;return xa(40,a|0)|0}function DY(a){a=a|0;return xa(41,a|0)|0}function EY(a){a=a|0;return xa(42,a|0)|0}function FY(a){a=a|0;return xa(43,a|0)|0}function GY(a){a=a|0;return xa(44,a|0)|0}function HY(a){a=a|0;return xa(45,a|0)|0}function IY(a){a=a|0;return xa(46,a|0)|0}function JY(a){a=a|0;return xa(47,a|0)|0}function KY(a){a=a|0;return xa(48,a|0)|0}function LY(a){a=a|0;return xa(49,a|0)|0}function MY(a){a=a|0;return xa(50,a|0)|0}function NY(a){a=a|0;return xa(51,a|0)|0}function OY(a){a=a|0;return xa(52,a|0)|0}function PY(a){a=a|0;return xa(53,a|0)|0}function QY(a){a=a|0;return xa(54,a|0)|0}function RY(a){a=a|0;return xa(55,a|0)|0}function SY(a){a=a|0;return xa(56,a|0)|0}function TY(a){a=a|0;return xa(57,a|0)|0}function UY(a){a=a|0;return xa(58,a|0)|0}function VY(a){a=a|0;return xa(59,a|0)|0}function WY(a){a=a|0;return xa(60,a|0)|0}function XY(a){a=a|0;return xa(61,a|0)|0}function YY(a){a=a|0;return xa(62,a|0)|0}function ZY(a){a=a|0;return xa(63,a|0)|0}function _Y(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;cc[a&255](b|0,c|0,d|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;za(0,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;za(1,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;za(2,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;za(3,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;za(4,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;za(5,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;za(6,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;za(7,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;za(8,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;za(9,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;za(10,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;za(11,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;za(12,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;za(13,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;za(14,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;za(15,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;za(16,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;za(17,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;za(18,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;za(19,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;za(20,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;za(21,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;za(22,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;za(23,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;za(24,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;za(25,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;za(26,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;za(27,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;za(28,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;za(29,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;za(30,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;za(31,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;za(32,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;za(33,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;za(34,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;za(35,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;za(36,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;za(37,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;za(38,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;za(39,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;za(40,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;za(41,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;za(42,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;za(43,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;za(44,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;za(45,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;za(46,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;za(47,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;za(48,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;za(49,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;za(50,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;za(51,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;za(52,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;za(53,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;za(54,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;za(55,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;za(56,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;za(57,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;za(58,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;za(59,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;za(60,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;za(61,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;za(62,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;za(63,a|0,b|0,c|0)}function j_(a){a=a|0;dc[a&255]()}function k_(){Ba(0)}function l_(){Ba(1)}function m_(){Ba(2)}function n_(){Ba(3)}function o_(){Ba(4)}function p_(){Ba(5)}function q_(){Ba(6)}function r_(){Ba(7)}function s_(){Ba(8)}function t_(){Ba(9)}function u_(){Ba(10)}function v_(){Ba(11)}function w_(){Ba(12)}function x_(){Ba(13)}function y_(){Ba(14)}function z_(){Ba(15)}function A_(){Ba(16)}function B_(){Ba(17)}function C_(){Ba(18)}function D_(){Ba(19)}function E_(){Ba(20)}function F_(){Ba(21)}function G_(){Ba(22)}function H_(){Ba(23)}function I_(){Ba(24)}function J_(){Ba(25)}function K_(){Ba(26)}function L_(){Ba(27)}function M_(){Ba(28)}function N_(){Ba(29)}function O_(){Ba(30)}function P_(){Ba(31)}function Q_(){Ba(32)}function R_(){Ba(33)}function S_(){Ba(34)}function T_(){Ba(35)}function U_(){Ba(36)}function V_(){Ba(37)}function W_(){Ba(38)}function X_(){Ba(39)}function Y_(){Ba(40)}function Z_(){Ba(41)}function __(){Ba(42)}function $_(){Ba(43)}function a$(){Ba(44)}function b$(){Ba(45)}function c$(){Ba(46)}function d$(){Ba(47)}function e$(){Ba(48)}function f$(){Ba(49)}function g$(){Ba(50)}function h$(){Ba(51)}function i$(){Ba(52)}function j$(){Ba(53)}function k$(){Ba(54)}function l$(){Ba(55)}function m$(){Ba(56)}function n$(){Ba(57)}function o$(){Ba(58)}function p$(){Ba(59)}function q$(){Ba(60)}function r$(){Ba(61)}function s$(){Ba(62)}function t$(){Ba(63)}function u$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ec[a&255](b|0,c|0,d|0,e|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(0,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(1,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(2,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(3,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(4,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(5,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(6,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(7,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(8,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(9,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(10,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(11,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(12,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(13,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(14,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(15,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(16,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(17,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(18,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(19,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(20,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(21,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(22,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(23,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(24,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(25,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(26,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(27,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(28,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(29,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(30,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(31,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(32,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(33,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(34,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(35,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(36,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(37,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(38,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(39,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(40,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(41,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(42,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(43,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(44,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(45,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(46,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(47,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(48,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(49,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(50,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(51,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(52,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(53,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(54,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(55,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(56,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(57,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(58,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(59,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(60,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(61,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(62,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Da(63,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;fc[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&255](b|0,c|0)|0}function R1(a,b){a=a|0;b=b|0;return Ha(0,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return Ha(1,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return Ha(2,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return Ha(3,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return Ha(4,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return Ha(5,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return Ha(6,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return Ha(7,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return Ha(8,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return Ha(9,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return Ha(10,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return Ha(11,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return Ha(12,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return Ha(13,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return Ha(14,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return Ha(15,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return Ha(16,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return Ha(17,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return Ha(18,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return Ha(19,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return Ha(20,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return Ha(21,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return Ha(22,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return Ha(23,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return Ha(24,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return Ha(25,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return Ha(26,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return Ha(27,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return Ha(28,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return Ha(29,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return Ha(30,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return Ha(31,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return Ha(32,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return Ha(33,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return Ha(34,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return Ha(35,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return Ha(36,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return Ha(37,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return Ha(38,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return Ha(39,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return Ha(40,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return Ha(41,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return Ha(42,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return Ha(43,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return Ha(44,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return Ha(45,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return Ha(46,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return Ha(47,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return Ha(48,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return Ha(49,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return Ha(50,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return Ha(51,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return Ha(52,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return Ha(53,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return Ha(54,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return Ha(55,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return Ha(56,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return Ha(57,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return Ha(58,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return Ha(59,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return Ha(60,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return Ha(61,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return Ha(62,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return Ha(63,a|0,b|0)|0}function $2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return hc[a&255](b|0,c|0,d|0,e|0,f|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(0,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(1,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(2,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(3,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(4,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(5,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(6,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(7,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(8,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(9,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(10,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(11,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(12,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(13,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(14,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(15,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(16,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(17,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(18,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(19,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(20,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(21,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(22,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(23,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(24,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(25,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(26,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(27,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(28,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(29,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(30,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(31,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(32,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(33,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(34,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(35,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(36,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(37,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(38,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(39,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(40,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(41,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(42,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(43,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(44,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(45,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(46,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(47,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(48,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(49,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(50,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(51,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(52,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(53,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(54,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(55,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(56,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(57,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(58,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(59,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(60,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(61,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(62,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ja(63,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ic[a&255](b|0,c|0,d|0,e|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(0,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(1,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(2,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(3,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(4,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(5,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(6,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(7,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(8,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(9,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(10,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(11,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(12,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(13,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(14,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(15,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(16,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(17,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(18,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(19,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(20,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(21,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(22,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(23,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(24,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(25,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(26,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(27,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(28,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(29,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(30,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(31,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(32,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(33,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(34,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(35,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(36,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(37,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(38,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(39,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(40,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(41,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(42,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(43,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(44,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(45,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(46,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(47,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(48,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(49,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(50,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(51,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(52,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(53,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(54,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(55,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(56,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(57,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(58,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(59,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(60,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(61,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(62,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;La(63,a|0,b|0,c|0,d|0)}function v5(a,b,c){a=a|0;b=b|0;c=c|0;ka(0);return 0}function w5(){ka(1);return 0}function x5(a){a=a|0;ka(2)}function y5(a,b){a=a|0;b=b|0;ka(3)}function z5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(4);return 0}function A5(a){a=a|0;ka(5);return 0}function B5(a,b,c){a=a|0;b=b|0;c=c|0;ka(6)}function C5(){ka(7)}function D5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(8);return 0}function E5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ka(9)}function F5(a,b){a=a|0;b=b|0;ka(10);return 0}function G5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ka(11);return 0}function H5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ka(12)} // EMSCRIPTEN_END_FUNCS -var Yb=[m5,m5,GR,m5,HR,m5,IR,m5,JR,m5,KR,m5,LR,m5,MR,m5,NR,m5,OR,m5,PR,m5,QR,m5,RR,m5,SR,m5,TR,m5,UR,m5,VR,m5,WR,m5,XR,m5,YR,m5,ZR,m5,_R,m5,$R,m5,aS,m5,bS,m5,cS,m5,dS,m5,eS,m5,fS,m5,gS,m5,hS,m5,iS,m5,jS,m5,kS,m5,lS,m5,mS,m5,nS,m5,oS,m5,pS,m5,qS,m5,rS,m5,sS,m5,tS,m5,uS,m5,vS,m5,wS,m5,xS,m5,yS,m5,zS,m5,AS,m5,BS,m5,CS,m5,DS,m5,ES,m5,FS,m5,GS,m5,HS,m5,IS,m5,JS,m5,KS,m5,LS,m5,MS,m5,NS,m5,OS,m5,PS,m5,$M,cN,fN,hN,bl,Dk,hq,xq,Mq,Pq,Pr,xu,Au,oN,uN,IN,cQ,XQ,aR,QQ,YQ,CQ,AQ,Vn,Qm,Tm,Rn,Pn,Zn,fo,zF,AF,BF,BQ,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5];var Zb=[n5,n5,RS,n5,SS,n5,TS,n5,US,n5,VS,n5,WS,n5,XS,n5,YS,n5,ZS,n5,_S,n5,$S,n5,aT,n5,bT,n5,cT,n5,dT,n5,eT,n5,fT,n5,gT,n5,hT,n5,iT,n5,jT,n5,kT,n5,lT,n5,mT,n5,nT,n5,oT,n5,pT,n5,qT,n5,rT,n5,sT,n5,tT,n5,uT,n5,vT,n5,wT,n5,xT,n5,yT,n5,zT,n5,AT,n5,BT,n5,CT,n5,DT,n5,ET,n5,FT,n5,GT,n5,HT,n5,IT,n5,JT,n5,KT,n5,LT,n5,MT,n5,NT,n5,OT,n5,PT,n5,QT,n5,RT,n5,ST,n5,TT,n5,UT,n5,VT,n5,WT,n5,XT,n5,YT,n5,ZT,n5,_T,n5,UQ,KN,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var _b=[o5,o5,aU,o5,bU,o5,cU,o5,dU,o5,eU,o5,fU,o5,gU,o5,hU,o5,iU,o5,jU,o5,kU,o5,lU,o5,mU,o5,nU,o5,oU,o5,pU,o5,qU,o5,rU,o5,sU,o5,tU,o5,uU,o5,vU,o5,wU,o5,xU,o5,yU,o5,zU,o5,AU,o5,BU,o5,CU,o5,DU,o5,EU,o5,FU,o5,GU,o5,HU,o5,IU,o5,JU,o5,KU,o5,LU,o5,MU,o5,NU,o5,OU,o5,PU,o5,QU,o5,RU,o5,SU,o5,TU,o5,UU,o5,VU,o5,WU,o5,XU,o5,YU,o5,ZU,o5,_U,o5,$U,o5,aV,o5,bV,o5,cV,o5,dV,o5,eV,o5,fV,o5,gV,o5,hV,o5,iV,o5,jV,o5,ed,fd,hd,id,jd,kd,wu,Eu,Fu,Tu,Yu,yN,hP,JP,KP,LP,NP,PP,Ud,cr,Dj,rk,Un,Yz,bR,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var $b=[p5,p5,lV,p5,mV,p5,nV,p5,oV,p5,pV,p5,qV,p5,rV,p5,sV,p5,tV,p5,uV,p5,vV,p5,wV,p5,xV,p5,yV,p5,zV,p5,AV,p5,BV,p5,CV,p5,DV,p5,EV,p5,FV,p5,GV,p5,HV,p5,IV,p5,JV,p5,KV,p5,LV,p5,MV,p5,NV,p5,OV,p5,PV,p5,QV,p5,RV,p5,SV,p5,TV,p5,UV,p5,VV,p5,WV,p5,XV,p5,YV,p5,ZV,p5,_V,p5,$V,p5,aW,p5,bW,p5,cW,p5,dW,p5,eW,p5,fW,p5,gW,p5,hW,p5,iW,p5,jW,p5,kW,p5,lW,p5,mW,p5,nW,p5,oW,p5,pW,p5,qW,p5,rW,p5,sW,p5,tW,p5,uW,p5,yu,Du,$y,fy,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5];var ac=[q5,q5,wW,q5,xW,q5,yW,q5,zW,q5,AW,q5,BW,q5,CW,q5,DW,q5,EW,q5,FW,q5,GW,q5,HW,q5,IW,q5,JW,q5,KW,q5,LW,q5,MW,q5,NW,q5,OW,q5,PW,q5,QW,q5,RW,q5,SW,q5,TW,q5,UW,q5,VW,q5,WW,q5,XW,q5,YW,q5,ZW,q5,_W,q5,$W,q5,aX,q5,bX,q5,cX,q5,dX,q5,eX,q5,fX,q5,gX,q5,hX,q5,iX,q5,jX,q5,kX,q5,lX,q5,mX,q5,nX,q5,oX,q5,pX,q5,qX,q5,rX,q5,sX,q5,tX,q5,uX,q5,vX,q5,wX,q5,xX,q5,yX,q5,zX,q5,AX,q5,BX,q5,CX,q5,DX,q5,EX,q5,FX,q5,Tk,Uk,vk,lq,Bq,Eq,Tq,qQ,ZK,_K,$K,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5];var bc=[r5,r5,HX,r5,IX,r5,JX,r5,KX,r5,LX,r5,MX,r5,NX,r5,OX,r5,PX,r5,QX,r5,RX,r5,SX,r5,TX,r5,UX,r5,VX,r5,WX,r5,XX,r5,YX,r5,ZX,r5,_X,r5,$X,r5,aY,r5,bY,r5,cY,r5,dY,r5,eY,r5,fY,r5,gY,r5,hY,r5,iY,r5,jY,r5,kY,r5,lY,r5,mY,r5,nY,r5,oY,r5,pY,r5,qY,r5,rY,r5,sY,r5,tY,r5,uY,r5,vY,r5,wY,r5,xY,r5,yY,r5,zY,r5,AY,r5,BY,r5,CY,r5,DY,r5,EY,r5,FY,r5,GY,r5,HY,r5,IY,r5,JY,r5,KY,r5,LY,r5,MY,r5,NY,r5,OY,r5,PY,r5,QY,r5,Wk,Xk,Zk,$k,al,el,fl,gl,hl,xk,zk,Bk,Ck,iq,kq,yq,Aq,Gq,Iq,Kq,Lq,Qq,Sq,Mr,vu,zu,Su,Vu,Wu,Xu,lN,vN,wN,PQ,$Q,ZQ,$N,kO,zQ,ke,jg,gr,pq,qq,uq,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5];var cc=[s5,s5,SY,s5,TY,s5,UY,s5,VY,s5,WY,s5,XY,s5,YY,s5,ZY,s5,_Y,s5,$Y,s5,aZ,s5,bZ,s5,cZ,s5,dZ,s5,eZ,s5,fZ,s5,gZ,s5,hZ,s5,iZ,s5,jZ,s5,kZ,s5,lZ,s5,mZ,s5,nZ,s5,oZ,s5,pZ,s5,qZ,s5,rZ,s5,sZ,s5,tZ,s5,uZ,s5,vZ,s5,wZ,s5,xZ,s5,yZ,s5,zZ,s5,AZ,s5,BZ,s5,CZ,s5,DZ,s5,EZ,s5,FZ,s5,GZ,s5,HZ,s5,IZ,s5,JZ,s5,KZ,s5,LZ,s5,MZ,s5,NZ,s5,OZ,s5,PZ,s5,QZ,s5,RZ,s5,SZ,s5,TZ,s5,UZ,s5,VZ,s5,WZ,s5,XZ,s5,YZ,s5,ZZ,s5,_Z,s5,$Z,s5,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,_c,$c,ad,bd,cd,dd,gd,vm,wm,xm,ym,Bu,Xz,Tz,Sz,uB,DB,eP,fP,gP,iP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,zP,AP,BP,CP,DP,EP,FP,GP,HP,IP,MP,OP,rC,FO,GO,HO,IO,JO,KO,LO,MO,NO,OO,PO,ri,cq,Xt,Zt,_t,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5];var dc=[t5,t5,b_,t5,c_,t5,d_,t5,e_,t5,f_,t5,g_,t5,h_,t5,i_,t5,j_,t5,k_,t5,l_,t5,m_,t5,n_,t5,o_,t5,p_,t5,q_,t5,r_,t5,s_,t5,t_,t5,u_,t5,v_,t5,w_,t5,x_,t5,y_,t5,z_,t5,A_,t5,B_,t5,C_,t5,D_,t5,E_,t5,F_,t5,G_,t5,H_,t5,I_,t5,J_,t5,K_,t5,L_,t5,M_,t5,N_,t5,O_,t5,P_,t5,Q_,t5,R_,t5,S_,t5,T_,t5,U_,t5,V_,t5,W_,t5,X_,t5,Y_,t5,Z_,t5,__,t5,$_,t5,a$,t5,b$,t5,c$,t5,d$,t5,e$,t5,f$,t5,g$,t5,h$,t5,i$,t5,j$,t5,k$,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var ec=[u5,u5,m$,u5,n$,u5,o$,u5,p$,u5,q$,u5,r$,u5,s$,u5,t$,u5,u$,u5,v$,u5,w$,u5,x$,u5,y$,u5,z$,u5,A$,u5,B$,u5,C$,u5,D$,u5,E$,u5,F$,u5,G$,u5,H$,u5,I$,u5,J$,u5,K$,u5,L$,u5,M$,u5,N$,u5,O$,u5,P$,u5,Q$,u5,R$,u5,S$,u5,T$,u5,U$,u5,V$,u5,W$,u5,X$,u5,Y$,u5,Z$,u5,_$,u5,$$,u5,a0,u5,b0,u5,c0,u5,d0,u5,e0,u5,f0,u5,g0,u5,h0,u5,i0,u5,j0,u5,k0,u5,l0,u5,m0,u5,n0,u5,o0,u5,p0,u5,q0,u5,r0,u5,s0,u5,t0,u5,u0,u5,v0,u5,aN,bN,dl,jq,zq,Rq,xN,BN,Wh,si,Gj,Nj,Ok,Pk,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5];var fc=[v5,v5,x0,v5,y0,v5,z0,v5,A0,v5,B0,v5,C0,v5,D0,v5,E0,v5,F0,v5,G0,v5,H0,v5,I0,v5,J0,v5,K0,v5,L0,v5,M0,v5,N0,v5,O0,v5,P0,v5,Q0,v5,R0,v5,S0,v5,T0,v5,U0,v5,V0,v5,W0,v5,X0,v5,Y0,v5,Z0,v5,_0,v5,$0,v5,a1,v5,b1,v5,c1,v5,d1,v5,e1,v5,f1,v5,g1,v5,h1,v5,i1,v5,j1,v5,k1,v5,l1,v5,m1,v5,n1,v5,o1,v5,p1,v5,q1,v5,r1,v5,s1,v5,t1,v5,u1,v5,v1,v5,w1,v5,x1,v5,y1,v5,z1,v5,A1,v5,B1,v5,C1,v5,D1,v5,E1,v5,F1,v5,G1,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5];var gc=[w5,w5,I1,w5,J1,w5,K1,w5,L1,w5,M1,w5,N1,w5,O1,w5,P1,w5,Q1,w5,R1,w5,S1,w5,T1,w5,U1,w5,V1,w5,W1,w5,X1,w5,Y1,w5,Z1,w5,_1,w5,$1,w5,a2,w5,b2,w5,c2,w5,d2,w5,e2,w5,f2,w5,g2,w5,h2,w5,i2,w5,j2,w5,k2,w5,l2,w5,m2,w5,n2,w5,o2,w5,p2,w5,q2,w5,r2,w5,s2,w5,t2,w5,u2,w5,v2,w5,w2,w5,x2,w5,y2,w5,z2,w5,A2,w5,B2,w5,C2,w5,D2,w5,E2,w5,F2,w5,G2,w5,H2,w5,I2,w5,J2,w5,K2,w5,L2,w5,M2,w5,N2,w5,O2,w5,P2,w5,Q2,w5,R2,w5,dN,eN,gN,iN,jN,Vk,Yk,cl,jl,kl,ll,ml,wk,yk,Ek,Fq,Hq,Nq,Qr,Rr,Uu,vO,_N,kN,pN,qN,rN,sN,tN,zN,OQ,TQ,wQ,tQ,SQ,sQ,JN,vQ,rQ,uQ,aO,bO,cO,lO,mO,nO,ud,vd,oi,ig,Qk,Rk,Sl,Tl,Wl,um,tt,ys,Wt,Yt,gy,Zy,_y,ny,oy,Ny,Ty,kB,lB,XF,bF,cF,IG,JG,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var hc=[x5,x5,T2,x5,U2,x5,V2,x5,W2,x5,X2,x5,Y2,x5,Z2,x5,_2,x5,$2,x5,a3,x5,b3,x5,c3,x5,d3,x5,e3,x5,f3,x5,g3,x5,h3,x5,i3,x5,j3,x5,k3,x5,l3,x5,m3,x5,n3,x5,o3,x5,p3,x5,q3,x5,r3,x5,s3,x5,t3,x5,u3,x5,v3,x5,w3,x5,x3,x5,y3,x5,z3,x5,A3,x5,B3,x5,C3,x5,D3,x5,E3,x5,F3,x5,G3,x5,H3,x5,I3,x5,J3,x5,K3,x5,L3,x5,M3,x5,N3,x5,O3,x5,P3,x5,Q3,x5,R3,x5,S3,x5,T3,x5,U3,x5,V3,x5,W3,x5,X3,x5,Y3,x5,Z3,x5,_3,x5,$3,x5,a4,x5,_M,_k,il,Ak,Jq,Nr,Or,mN,nN,AN,oO,ck,dk,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5];var ic=[y5,y5,c4,y5,d4,y5,e4,y5,f4,y5,g4,y5,h4,y5,i4,y5,j4,y5,k4,y5,l4,y5,m4,y5,n4,y5,o4,y5,p4,y5,q4,y5,r4,y5,s4,y5,t4,y5,u4,y5,v4,y5,w4,y5,x4,y5,y4,y5,z4,y5,A4,y5,B4,y5,C4,y5,D4,y5,E4,y5,F4,y5,G4,y5,H4,y5,I4,y5,J4,y5,K4,y5,L4,y5,M4,y5,N4,y5,O4,y5,P4,y5,Q4,y5,R4,y5,S4,y5,T4,y5,U4,y5,V4,y5,W4,y5,X4,y5,Y4,y5,Z4,y5,_4,y5,$4,y5,a5,y5,b5,y5,c5,y5,d5,y5,e5,y5,f5,y5,g5,y5,h5,y5,i5,y5,j5,y5,k5,y5,l5,y5,Cu,Fd,Hd,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5];return{_sqlite3_value_blob:je,_sqlite3_column_name:Se,_sqlite3_reset:he,_sqlite3_column_type:Re,_sqlite3_exec:kf,_sqlite3_result_null:we,_sqlite3_step:Ee,_bitshift64Lshr:rR,_sqlite3_prepare_v2:lf,_sqlite3_close_v2:Cf,_sqlite3_open:Of,_bitshift64Shl:vR,_sqlite3_result_text:xe,_fflush:DQ,_sqlite3_column_bytes:Le,_sqlite3_bind_int:Ve,_sqlite3_bind_blob:Te,_memset:uR,_sqlite3_value_double:me,_memcpy:sR,_sqlite3_result_double:se,_sqlite3_value_text:ke,_sqlite3_changes:zf,_sqlite3_column_blob:Ke,_sqlite3_bind_parameter_index:af,_sqlite3_value_type:pe,_i64Subtract:pR,_sqlite3_column_text:Pe,_i64Add:qR,_sqlite3_value_bytes:le,_sqlite3_finalize:ge,_sqlite3_column_double:Me,_sqlite3_create_function_v2:Gf,_sqlite3_free:Ud,_sqlite3_value_int:ne,_sqlite3_data_count:Je,_sqlite3_bind_text:Ye,_sqlite3_bind_double:Ue,___errno_location:aQ,_RegisterExtensionFunctions:sc,_free:jR,_memmove:tR,_sqlite3_errmsg:mf,_sqlite3_clear_bindings:ie,_malloc:iR,runPostSets:oR,_emscripten_replace_memory:Xb,stackAlloc:jc,stackSave:kc,stackRestore:lc,establishStackSpace:mc,setThrew:nc,setTempRet0:qc,getTempRet0:rc,dynCall_iiii:FR,dynCall_i:QS,dynCall_vi:$T,dynCall_vii:kV,dynCall_iiiiiii:vW,dynCall_ii:GX,dynCall_viii:RY,dynCall_v:a_,dynCall_iiiii:l$,dynCall_viiiiii:w0,dynCall_iii:H1,dynCall_iiiiii:S2,dynCall_viiii:b4}}) +var Yb=[v5,v5,PR,v5,QR,v5,RR,v5,SR,v5,TR,v5,UR,v5,VR,v5,WR,v5,XR,v5,YR,v5,ZR,v5,_R,v5,$R,v5,aS,v5,bS,v5,cS,v5,dS,v5,eS,v5,fS,v5,gS,v5,hS,v5,iS,v5,jS,v5,kS,v5,lS,v5,mS,v5,nS,v5,oS,v5,pS,v5,qS,v5,rS,v5,sS,v5,tS,v5,uS,v5,vS,v5,wS,v5,xS,v5,yS,v5,zS,v5,AS,v5,BS,v5,CS,v5,DS,v5,ES,v5,FS,v5,GS,v5,HS,v5,IS,v5,JS,v5,KS,v5,LS,v5,MS,v5,NS,v5,OS,v5,PS,v5,QS,v5,RS,v5,SS,v5,TS,v5,US,v5,VS,v5,WS,v5,XS,v5,YS,v5,hN,kN,nN,pN,fl,Hk,mq,Cq,Rq,Uq,Ur,Du,Gu,wN,CN,QN,lQ,eR,jR,ZQ,fR,LQ,JQ,Zn,Um,Xm,Vn,Tn,bo,jo,GF,HF,IF,KQ,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5];var Zb=[w5,w5,_S,w5,$S,w5,aT,w5,bT,w5,cT,w5,dT,w5,eT,w5,fT,w5,gT,w5,hT,w5,iT,w5,jT,w5,kT,w5,lT,w5,mT,w5,nT,w5,oT,w5,pT,w5,qT,w5,rT,w5,sT,w5,tT,w5,uT,w5,vT,w5,wT,w5,xT,w5,yT,w5,zT,w5,AT,w5,BT,w5,CT,w5,DT,w5,ET,w5,FT,w5,GT,w5,HT,w5,IT,w5,JT,w5,KT,w5,LT,w5,MT,w5,NT,w5,OT,w5,PT,w5,QT,w5,RT,w5,ST,w5,TT,w5,UT,w5,VT,w5,WT,w5,XT,w5,YT,w5,ZT,w5,_T,w5,$T,w5,aU,w5,bU,w5,cU,w5,dU,w5,eU,w5,fU,w5,gU,w5,hU,w5,bR,SN,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var _b=[x5,x5,jU,x5,kU,x5,lU,x5,mU,x5,nU,x5,oU,x5,pU,x5,qU,x5,rU,x5,sU,x5,tU,x5,uU,x5,vU,x5,wU,x5,xU,x5,yU,x5,zU,x5,AU,x5,BU,x5,CU,x5,DU,x5,EU,x5,FU,x5,GU,x5,HU,x5,IU,x5,JU,x5,KU,x5,LU,x5,MU,x5,NU,x5,OU,x5,PU,x5,QU,x5,RU,x5,SU,x5,TU,x5,UU,x5,VU,x5,WU,x5,XU,x5,YU,x5,ZU,x5,_U,x5,$U,x5,aV,x5,bV,x5,cV,x5,dV,x5,eV,x5,fV,x5,gV,x5,hV,x5,iV,x5,jV,x5,kV,x5,lV,x5,mV,x5,nV,x5,oV,x5,pV,x5,qV,x5,rV,x5,sV,x5,ed,fd,hd,id,jd,kd,Cu,Ku,Lu,Zu,cv,GN,UO,rP,sP,tP,vP,xP,Ud,hr,Gj,vk,Yn,cA,kR,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5];var $b=[y5,y5,uV,y5,vV,y5,wV,y5,xV,y5,yV,y5,zV,y5,AV,y5,BV,y5,CV,y5,DV,y5,EV,y5,FV,y5,GV,y5,HV,y5,IV,y5,JV,y5,KV,y5,LV,y5,MV,y5,NV,y5,OV,y5,PV,y5,QV,y5,RV,y5,SV,y5,TV,y5,UV,y5,VV,y5,WV,y5,XV,y5,YV,y5,ZV,y5,_V,y5,$V,y5,aW,y5,bW,y5,cW,y5,dW,y5,eW,y5,fW,y5,gW,y5,hW,y5,iW,y5,jW,y5,kW,y5,lW,y5,mW,y5,nW,y5,oW,y5,pW,y5,qW,y5,rW,y5,sW,y5,tW,y5,uW,y5,vW,y5,wW,y5,xW,y5,yW,y5,zW,y5,AW,y5,BW,y5,CW,y5,DW,y5,Eu,Ju,fz,ly,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5,y5];var ac=[z5,z5,FW,z5,GW,z5,HW,z5,IW,z5,JW,z5,KW,z5,LW,z5,MW,z5,NW,z5,OW,z5,PW,z5,QW,z5,RW,z5,SW,z5,TW,z5,UW,z5,VW,z5,WW,z5,XW,z5,YW,z5,ZW,z5,_W,z5,$W,z5,aX,z5,bX,z5,cX,z5,dX,z5,eX,z5,fX,z5,gX,z5,hX,z5,iX,z5,jX,z5,kX,z5,lX,z5,mX,z5,nX,z5,oX,z5,pX,z5,qX,z5,rX,z5,sX,z5,tX,z5,uX,z5,vX,z5,wX,z5,xX,z5,yX,z5,zX,z5,AX,z5,BX,z5,CX,z5,DX,z5,EX,z5,FX,z5,GX,z5,HX,z5,IX,z5,JX,z5,KX,z5,LX,z5,MX,z5,NX,z5,OX,z5,Xk,Yk,zk,qq,Gq,Jq,Yq,zQ,fL,gL,hL,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5,z5];var bc=[A5,A5,QX,A5,RX,A5,SX,A5,TX,A5,UX,A5,VX,A5,WX,A5,XX,A5,YX,A5,ZX,A5,_X,A5,$X,A5,aY,A5,bY,A5,cY,A5,dY,A5,eY,A5,fY,A5,gY,A5,hY,A5,iY,A5,jY,A5,kY,A5,lY,A5,mY,A5,nY,A5,oY,A5,pY,A5,qY,A5,rY,A5,sY,A5,tY,A5,uY,A5,vY,A5,wY,A5,xY,A5,yY,A5,zY,A5,AY,A5,BY,A5,CY,A5,DY,A5,EY,A5,FY,A5,GY,A5,HY,A5,IY,A5,JY,A5,KY,A5,LY,A5,MY,A5,NY,A5,OY,A5,PY,A5,QY,A5,RY,A5,SY,A5,TY,A5,UY,A5,VY,A5,WY,A5,XY,A5,YY,A5,ZY,A5,_k,$k,bl,dl,el,il,jl,kl,ll,Bk,Dk,Fk,Gk,nq,pq,Dq,Fq,Lq,Nq,Pq,Qq,Vq,Xq,Rr,Bu,Fu,Yu,$u,av,bv,tN,DN,EN,YQ,iR,gR,hO,sO,IQ,ke,kg,lr,uq,vq,zq,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5,A5];var cc=[B5,B5,$Y,B5,aZ,B5,bZ,B5,cZ,B5,dZ,B5,eZ,B5,fZ,B5,gZ,B5,hZ,B5,iZ,B5,jZ,B5,kZ,B5,lZ,B5,mZ,B5,nZ,B5,oZ,B5,pZ,B5,qZ,B5,rZ,B5,sZ,B5,tZ,B5,uZ,B5,vZ,B5,wZ,B5,xZ,B5,yZ,B5,zZ,B5,AZ,B5,BZ,B5,CZ,B5,DZ,B5,EZ,B5,FZ,B5,GZ,B5,HZ,B5,IZ,B5,JZ,B5,KZ,B5,LZ,B5,MZ,B5,NZ,B5,OZ,B5,PZ,B5,QZ,B5,RZ,B5,SZ,B5,TZ,B5,UZ,B5,VZ,B5,WZ,B5,XZ,B5,YZ,B5,ZZ,B5,_Z,B5,$Z,B5,a_,B5,b_,B5,c_,B5,d_,B5,e_,B5,f_,B5,g_,B5,h_,B5,i_,B5,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Wc,Xc,Yc,Zc,_c,$c,ad,bd,cd,dd,gd,zm,Am,Bm,Cm,Hu,bA,Zz,Yz,AB,JB,OO,PO,QO,RO,SO,TO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,nP,oP,pP,qP,uP,wP,xC,BP,CP,DP,EP,FP,GP,HP,IP,ZP,_P,$P,ti,gq,cu,eu,fu,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5,B5];var dc=[C5,C5,k_,C5,l_,C5,m_,C5,n_,C5,o_,C5,p_,C5,q_,C5,r_,C5,s_,C5,t_,C5,u_,C5,v_,C5,w_,C5,x_,C5,y_,C5,z_,C5,A_,C5,B_,C5,C_,C5,D_,C5,E_,C5,F_,C5,G_,C5,H_,C5,I_,C5,J_,C5,K_,C5,L_,C5,M_,C5,N_,C5,O_,C5,P_,C5,Q_,C5,R_,C5,S_,C5,T_,C5,U_,C5,V_,C5,W_,C5,X_,C5,Y_,C5,Z_,C5,__,C5,$_,C5,a$,C5,b$,C5,c$,C5,d$,C5,e$,C5,f$,C5,g$,C5,h$,C5,i$,C5,j$,C5,k$,C5,l$,C5,m$,C5,n$,C5,o$,C5,p$,C5,q$,C5,r$,C5,s$,C5,t$,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5,C5];var ec=[D5,D5,v$,D5,w$,D5,x$,D5,y$,D5,z$,D5,A$,D5,B$,D5,C$,D5,D$,D5,E$,D5,F$,D5,G$,D5,H$,D5,I$,D5,J$,D5,K$,D5,L$,D5,M$,D5,N$,D5,O$,D5,P$,D5,Q$,D5,R$,D5,S$,D5,T$,D5,U$,D5,V$,D5,W$,D5,X$,D5,Y$,D5,Z$,D5,_$,D5,$$,D5,a0,D5,b0,D5,c0,D5,d0,D5,e0,D5,f0,D5,g0,D5,h0,D5,i0,D5,j0,D5,k0,D5,l0,D5,m0,D5,n0,D5,o0,D5,p0,D5,q0,D5,r0,D5,s0,D5,t0,D5,u0,D5,v0,D5,w0,D5,x0,D5,y0,D5,z0,D5,A0,D5,B0,D5,C0,D5,D0,D5,E0,D5,iN,jN,hl,oq,Eq,Wq,FN,JN,Yh,ui,Jj,Qj,Sk,Tk,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5];var fc=[E5,E5,G0,E5,H0,E5,I0,E5,J0,E5,K0,E5,L0,E5,M0,E5,N0,E5,O0,E5,P0,E5,Q0,E5,R0,E5,S0,E5,T0,E5,U0,E5,V0,E5,W0,E5,X0,E5,Y0,E5,Z0,E5,_0,E5,$0,E5,a1,E5,b1,E5,c1,E5,d1,E5,e1,E5,f1,E5,g1,E5,h1,E5,i1,E5,j1,E5,k1,E5,l1,E5,m1,E5,n1,E5,o1,E5,p1,E5,q1,E5,r1,E5,s1,E5,t1,E5,u1,E5,v1,E5,w1,E5,x1,E5,y1,E5,z1,E5,A1,E5,B1,E5,C1,E5,D1,E5,E1,E5,F1,E5,G1,E5,H1,E5,I1,E5,J1,E5,K1,E5,L1,E5,M1,E5,N1,E5,O1,E5,P1,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5];var gc=[F5,F5,R1,F5,S1,F5,T1,F5,U1,F5,V1,F5,W1,F5,X1,F5,Y1,F5,Z1,F5,_1,F5,$1,F5,a2,F5,b2,F5,c2,F5,d2,F5,e2,F5,f2,F5,g2,F5,h2,F5,i2,F5,j2,F5,k2,F5,l2,F5,m2,F5,n2,F5,o2,F5,p2,F5,q2,F5,r2,F5,s2,F5,t2,F5,u2,F5,v2,F5,w2,F5,x2,F5,y2,F5,z2,F5,A2,F5,B2,F5,C2,F5,D2,F5,E2,F5,F2,F5,G2,F5,H2,F5,I2,F5,J2,F5,K2,F5,L2,F5,M2,F5,N2,F5,O2,F5,P2,F5,Q2,F5,R2,F5,S2,F5,T2,F5,U2,F5,V2,F5,W2,F5,X2,F5,Y2,F5,Z2,F5,_2,F5,lN,mN,oN,qN,rN,Zk,al,gl,nl,ol,pl,ql,Ak,Ck,Ik,Kq,Mq,Sq,Vr,Wr,_u,DO,gO,sN,xN,yN,zN,AN,BN,HN,XQ,aR,FQ,CQ,$Q,BQ,RN,EQ,AQ,DQ,iO,jO,kO,tO,uO,vO,ud,vd,qi,jg,Uk,Vk,Wl,Xl,_l,ym,zt,Ds,bu,du,my,dz,ez,ty,uy,Ty,Zy,qB,rB,cG,iF,jF,PG,QG,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5];var hc=[G5,G5,a3,G5,b3,G5,c3,G5,d3,G5,e3,G5,f3,G5,g3,G5,h3,G5,i3,G5,j3,G5,k3,G5,l3,G5,m3,G5,n3,G5,o3,G5,p3,G5,q3,G5,r3,G5,s3,G5,t3,G5,u3,G5,v3,G5,w3,G5,x3,G5,y3,G5,z3,G5,A3,G5,B3,G5,C3,G5,D3,G5,E3,G5,F3,G5,G3,G5,H3,G5,I3,G5,J3,G5,K3,G5,L3,G5,M3,G5,N3,G5,O3,G5,P3,G5,Q3,G5,R3,G5,S3,G5,T3,G5,U3,G5,V3,G5,W3,G5,X3,G5,Y3,G5,Z3,G5,_3,G5,$3,G5,a4,G5,b4,G5,c4,G5,d4,G5,e4,G5,f4,G5,g4,G5,h4,G5,i4,G5,j4,G5,gN,cl,ml,Ek,Oq,Sr,Tr,uN,vN,IN,wO,gk,hk,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5];var ic=[H5,H5,l4,H5,m4,H5,n4,H5,o4,H5,p4,H5,q4,H5,r4,H5,s4,H5,t4,H5,u4,H5,v4,H5,w4,H5,x4,H5,y4,H5,z4,H5,A4,H5,B4,H5,C4,H5,D4,H5,E4,H5,F4,H5,G4,H5,H4,H5,I4,H5,J4,H5,K4,H5,L4,H5,M4,H5,N4,H5,O4,H5,P4,H5,Q4,H5,R4,H5,S4,H5,T4,H5,U4,H5,V4,H5,W4,H5,X4,H5,Y4,H5,Z4,H5,_4,H5,$4,H5,a5,H5,b5,H5,c5,H5,d5,H5,e5,H5,f5,H5,g5,H5,h5,H5,i5,H5,j5,H5,k5,H5,l5,H5,m5,H5,n5,H5,o5,H5,p5,H5,q5,H5,r5,H5,s5,H5,t5,H5,u5,H5,Iu,Fd,Hd,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5];return{_sqlite3_value_blob:je,_sqlite3_column_name:Se,_sqlite3_reset:he,_sqlite3_column_type:Re,_sqlite3_exec:kf,_sqlite3_result_null:we,_sqlite3_step:Ee,_bitshift64Lshr:AR,_sqlite3_prepare_v2:lf,_sqlite3_close_v2:Df,_sqlite3_open:Pf,_bitshift64Shl:ER,_sqlite3_result_text:xe,_fflush:MQ,_sqlite3_column_bytes:Le,_sqlite3_bind_int:Ve,_sqlite3_bind_blob:Te,_memset:DR,_sqlite3_value_double:me,_memcpy:BR,_sqlite3_result_double:se,_sqlite3_value_text:ke,_sqlite3_changes:Af,_sqlite3_column_blob:Ke,_sqlite3_bind_parameter_index:af,_sqlite3_value_type:pe,_i64Subtract:yR,_sqlite3_column_text:Pe,_i64Add:zR,_sqlite3_value_bytes:le,_sqlite3_finalize:ge,_sqlite3_column_double:Me,_sqlite3_create_function_v2:Hf,_sqlite3_free:Ud,_sqlite3_value_int:ne,_sqlite3_data_count:Je,_sqlite3_bind_text:Ye,_sqlite3_bind_double:Ue,___errno_location:jQ,_RegisterExtensionFunctions:sc,_free:sR,_memmove:CR,_sqlite3_errmsg:mf,_sqlite3_clear_bindings:ie,_malloc:rR,runPostSets:xR,_emscripten_replace_memory:Xb,stackAlloc:jc,stackSave:kc,stackRestore:lc,establishStackSpace:mc,setThrew:nc,setTempRet0:qc,getTempRet0:rc,dynCall_iiii:OR,dynCall_i:ZS,dynCall_vi:iU,dynCall_vii:tV,dynCall_iiiiiii:EW,dynCall_ii:PX,dynCall_viii:_Y,dynCall_v:j_,dynCall_iiiii:u$,dynCall_viiiiii:F0,dynCall_iii:Q1,dynCall_iiiiii:$2,dynCall_viiii:k4}}) // EMSCRIPTEN_END_ASM diff --git a/js/sql.js b/js/sql.js index 0ad01921..2518525a 100644 --- a/js/sql.js +++ b/js/sql.js @@ -36,56 +36,55 @@ function ab(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=wa;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; function Ka(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ka;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; var Aa=Math.abs,ib=Math.cos,jb=Math.sin,kb=Math.tan,lb=Math.acos,mb=Math.asin,nb=Math.atan,ob=Math.atan2,pb=Math.exp,qb=Math.log,rb=Math.sqrt,Da=Math.ceil,Ca=Math.floor,sb=Math.pow,Ba=Math.min,tb=0,ub=null,vb=null;function wb(){tb++;f.monitorRunDependencies&&f.monitorRunDependencies(tb)}f.addRunDependency=wb;function xb(){tb--;f.monitorRunDependencies&&f.monitorRunDependencies(tb);if(0==tb&&(null!==ub&&(clearInterval(ub),ub=null),vb)){var a=vb;vb=null;a()}}f.removeRunDependency=xb; -f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+50112;cb.push(); -z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,67,0,0,1,0,1,0,130,0,0,0,151,67,0,0,1,0,1,0,131,0,0,0,156,67,0,0,1,0,1,0,132,0,0,0,161,67,0,0,2,0,1,0,133,0,0,0,166,67,0,0,2,0,1,0,133,0,0,0,172,67,0,0,1,0,1,0,134,0,0,0,178,67,0,0,1,0,1,0,135,0,0,0,184,67,0,0,1,0,1,0,136,0,0,0,190,67,0,0,2,0,1,0,137,0,0,0,201,67,0,0,1,0,1,0,138,0,0,0,209,67, -0,0,1,0,1,0,139,0,0,0,217,67,0,0,1,0,1,0,140,0,0,0,221,67,0,0,1,0,1,0,141,0,0,0,225,67,0,0,1,0,1,0,142,0,0,0,229,67,0,0,1,0,1,0,143,0,0,0,233,67,0,0,1,0,1,0,144,0,0,0,238,67,0,0,1,0,1,0,145,0,0,0,243,67,0,0,1,0,1,0,146,0,0,0,248,67,0,0,1,0,1,0,147,0,0,0,253,67,0,0,1,0,1,0,148,0,0,0,232,101,0,0,1,0,1,0,149,0,0,0,1,68,0,0,1,0,1,0,150,0,0,0,7,68,0,0,2,0,1,0,151,0,0,0,13,68,0,0,1,0,1,0,152,0,0,0,18,68,0,0,1,0,1,0,153,0,0,0,23,68,0,0,1,0,1,0,154,0,0,0,30,68,0,0,1,0,1,0,155,0,0,0,35,68,0,0,1,0,1,0,156, -0,0,0,41,68,0,0,0,0,1,1,157,0,0,0,44,68,0,0,2,0,1,0,158,0,0,0,54,68,0,0,2,0,1,0,159,0,0,0,54,68,0,0,3,0,1,0,159,0,0,0,64,68,0,0,2,0,1,0,160,0,0,0,72,68,0,0,2,0,1,0,161,0,0,0,81,68,0,0,1,0,1,0,162,0,0,0,89,68,0,0,1,0,1,0,163,0,0,0,96,68,0,0,2,0,1,0,164,0,0,0,101,68,0,0,2,0,1,0,165,0,0,0,106,68,0,0,2,0,1,0,166,0,0,0,111,68,0,0,2,0,1,0,167,0,0,0,121,68,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,68,0,0,1,0,0,0,168,0,0,0,131,0,0,0,76,105,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,68,0,0,1,0,0,0,169,0,0,0,133,0,0,0, -143,68,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,68,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,223,183,0,0,235,183,0,0,247,183,0,0,15,184,0,0,26,184,0,0,46,184,0,0,60,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,184,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,189,177,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0, -133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,199,177,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,212,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7, -0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138, -0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,84,0,0,21,85,0,0,89,85,0,0,117,85,0,0,146,85,0,0,173,85,0,0,201,85,0,0,226,85,0,0,250,85,0,0,59,86,0,0,118,86,0,0,186,86,0,0,234,86,0,0,90,87,0,0,225,87,0,0,21,88,0,0,87,88,0,0,130,88,0,0,189,88,0,0,228,88,0,0,16,89,0,0,57,89,0,0,104,89,0,0,146,89,0,0,66, -75,0,0,66,75,0,0,184,89,0,0,239,89,0,0,44,90,0,0,149,90,0,0,252,90,0,0,51,91,0,0,109,91,0,0,216,91,0,0,39,92,0,0,104,92,0,0,164,92,0,0,212,92,0,0,62,93,0,0,135,93,0,0,99,83,0,0,170,0,0,0,107,83,0,0,171,0,0,0,125,83,0,0,172,0,0,0,115,83,0,0,173,0,0,0,79,96,0,0,2,0,4,0,82,96,0,0,3,1,3,0,86,96,0,0,3,1,2,0,90,96,0,0,4,0,1,0,115,83,0,0,9,0,0,0,59,100,0,0,6,0,0,0,178,97,0,0,8,0,0,0,187,97,0,0,10,0,0,0,66,100,0,0,5,0,0,0,116,97,0,0,7,0,0,0,72,100,0,0,10,0,0,0,83,100,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0, -0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0, -1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0, -18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1, -252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236, -67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200, -115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128, -183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128, -163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255, -3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164, -94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+49760;cb.push(); +z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,66,0,0,1,0,1,0,130,0,0,0,151,66,0,0,1,0,1,0,131,0,0,0,156,66,0,0,1,0,1,0,132,0,0,0,161,66,0,0,2,0,1,0,133,0,0,0,166,66,0,0,2,0,1,0,133,0,0,0,172,66,0,0,1,0,1,0,134,0,0,0,178,66,0,0,1,0,1,0,135,0,0,0,184,66,0,0,1,0,1,0,136,0,0,0,190,66,0,0,2,0,1,0,137,0,0,0,201,66,0,0,1,0,1,0,138,0,0,0,209,66, +0,0,1,0,1,0,139,0,0,0,217,66,0,0,1,0,1,0,140,0,0,0,221,66,0,0,1,0,1,0,141,0,0,0,225,66,0,0,1,0,1,0,142,0,0,0,229,66,0,0,1,0,1,0,143,0,0,0,233,66,0,0,1,0,1,0,144,0,0,0,238,66,0,0,1,0,1,0,145,0,0,0,243,66,0,0,1,0,1,0,146,0,0,0,248,66,0,0,1,0,1,0,147,0,0,0,253,66,0,0,1,0,1,0,148,0,0,0,239,100,0,0,1,0,1,0,149,0,0,0,1,67,0,0,1,0,1,0,150,0,0,0,7,67,0,0,2,0,1,0,151,0,0,0,13,67,0,0,1,0,1,0,152,0,0,0,18,67,0,0,1,0,1,0,153,0,0,0,23,67,0,0,1,0,1,0,154,0,0,0,30,67,0,0,1,0,1,0,155,0,0,0,35,67,0,0,1,0,1,0,156, +0,0,0,41,67,0,0,0,0,1,1,157,0,0,0,44,67,0,0,2,0,1,0,158,0,0,0,54,67,0,0,2,0,1,0,159,0,0,0,54,67,0,0,3,0,1,0,159,0,0,0,64,67,0,0,2,0,1,0,160,0,0,0,72,67,0,0,2,0,1,0,161,0,0,0,81,67,0,0,1,0,1,0,162,0,0,0,89,67,0,0,1,0,1,0,163,0,0,0,96,67,0,0,2,0,1,0,164,0,0,0,101,67,0,0,2,0,1,0,165,0,0,0,106,67,0,0,2,0,1,0,166,0,0,0,111,67,0,0,2,0,1,0,167,0,0,0,121,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,61,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0, +143,67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,114,182,0,0,126,182,0,0,138,182,0,0,162,182,0,0,173,182,0,0,193,182,0,0,207,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,97,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,102,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0, +0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,112,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,125,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0, +128,0,236,3,0,0,0,0,0,32,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0, +0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,83,0,0,24,84,0,0,92,84,0,0,120,84,0,0,149,84,0,0,176,84,0,0,204,84,0,0,229,84,0,0,253,84,0,0,62,85,0,0,121,85,0,0,189,85,0,0,237,85,0,0,93,86,0,0,228,86,0,0,24,87,0,0,90,87,0,0,133,87,0,0,192,87,0, +0,231,87,0,0,19,88,0,0,60,88,0,0,107,88,0,0,149,88,0,0,66,74,0,0,66,74,0,0,187,88,0,0,242,88,0,0,47,89,0,0,166,89,0,0,13,90,0,0,68,90,0,0,126,90,0,0,233,90,0,0,56,91,0,0,121,91,0,0,181,91,0,0,229,91,0,0,79,92,0,0,152,92,0,0,102,82,0,0,170,0,0,0,110,82,0,0,171,0,0,0,128,82,0,0,172,0,0,0,118,82,0,0,173,0,0,0,96,95,0,0,2,0,4,0,99,95,0,0,3,1,3,0,103,95,0,0,3,1,2,0,107,95,0,0,4,0,1,0,118,82,0,0,9,0,0,0,76,99,0,0,6,0,0,0,195,96,0,0,8,0,0,0,204,96,0,0,10,0,0,0,83,99,0,0,5,0,0,0,133,96,0,0,7,0,0,0,89,99, +0,0,10,0,0,0,100,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232, +0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0, +3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0, +7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156, +65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112, +0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179, +0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160, +2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3, +15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91, +7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,105,0,0,0,0,2,0,172,105,0,0,0,0,4,0,0,0,0,0,0,0,0,0,148,105,0,0,1,0,0,0,151,105,0,0,2,0,0,0,154,105,0,0,6,0,0,0,158,105,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0, -0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,136,0,0,1,0,0,0,66,81,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,32,124,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,22,124,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,2,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35, -82,0,0,95,124,0,0,108,124,0,0,0,0,0,0,121,124,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,115,125,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,240,125,0,0,0,0,0,0,0,0,0,0,67,133,0,0,0,0,0,0,8,0,0,0,35,129,0,0,1,1,0,0,0,0,0,0,82,133,0,0,2,0,0,0,0,0,16,0,98,133,0,0,3,0,0,0,0,0,0,0,158,128,0,0,4,1,0,0,0,0,0,0,67,129,0,0,5,0,0,0,0,0,0,0,111,133,0,0,6,0,0,0,0,0,0,0,131,133,0,0,2,0,0,0,0,0,0,16,147,133,0,0,2,0,0,0,16,0,0,0,168,133,0,0,7,0,0,0,0,0,0,0,183,133,0,0,8,0,0,0,0,0,0, -0,199,133,0,0,2,0,0,0,128,0,0,0,213,133,0,0,0,2,0,0,15,0,0,0,226,133,0,0,10,1,0,0,0,0,0,0,240,133,0,0,11,1,0,0,0,0,0,0,3,134,0,0,2,0,0,0,0,0,0,1,22,134,0,0,2,0,0,0,0,1,0,0,170,130,0,0,12,0,0,0,0,0,0,0,45,134,0,0,13,1,0,0,0,0,0,0,63,134,0,0,14,1,0,0,0,0,0,0,80,134,0,0,2,0,0,0,0,0,8,0,93,134,0,0,0,2,0,0,0,0,0,0,108,134,0,0,2,0,0,0,4,0,0,0,126,134,0,0,2,0,0,0,8,0,0,0,136,134,0,0,2,0,0,0,0,32,0,0,161,134,0,0,15,1,0,0,0,0,0,0,180,134,0,0,16,1,0,0,0,0,0,0,191,134,0,0,17,1,0,0,0,0,0,0,202,134,0,0,16,1,0, -0,1,0,0,0,9,130,0,0,18,1,0,0,0,0,0,0,3,129,0,0,19,1,0,0,0,0,0,0,16,129,0,0,20,0,0,0,0,0,0,0,214,134,0,0,2,0,0,0,0,128,0,0,246,128,0,0,22,0,0,0,0,0,0,0,233,134,0,0,23,1,0,0,0,0,0,0,79,129,0,0,24,0,0,0,0,0,0,0,248,134,0,0,23,1,0,0,0,0,0,0,205,128,0,0,25,0,0,0,0,0,0,0,3,135,0,0,2,0,0,0,0,0,0,2,14,135,0,0,18,1,0,0,0,0,0,0,26,135,0,0,2,0,0,0,0,64,0,0,43,135,0,0,2,0,0,0,0,0,4,0,62,135,0,0,2,0,0,0,0,0,2,0,88,135,0,0,0,0,0,0,1,0,0,0,215,128,0,0,26,0,0,0,0,0,0,0,103,135,0,0,2,0,0,0,64,0,0,0,122,135,0,0,27, -0,0,0,0,0,0,0,32,131,0,0,28,0,0,0,0,0,0,0,136,135,0,0,29,1,0,0,0,0,0,0,146,129,0,0,30,1,0,0,0,0,0,0,142,135,0,0,31,1,0,0,0,0,0,0,89,129,0,0,32,0,0,0,0,0,0,0,100,129,0,0,33,0,0,0,0,0,0,0,48,131,0,0,34,0,0,0,0,0,0,0,153,135,0,0,0,0,0,0,6,0,0,0,5,131,0,0,35,0,0,0,0,0,0,0,166,135,0,0,36,1,0,0,0,0,0,0,181,135,0,0,2,0,0,0,0,8,1,0,165,132,0,0,120,132,0,0,197,132,0,0,202,132,0,0,210,132,0,0,134,132,0,0,13,132,0,0,178,132,0,0,184,132,0,0,190,132,0,0,159,132,0,0,165,132,0,0,120,132,0,0,88,97,0,0,169,132,0, -0,174,132,0,0,82,132,0,0,120,132,0,0,137,132,0,0,144,132,0,0,151,132,0,0,130,132,0,0,132,132,0,0,134,132,0,0,82,132,0,0,120,132,0,0,125,132,0,0,82,132,0,0,120,132,0,0,79,132,0,0,82,132,0,0,13,132,0,0,86,132,0,0,91,132,0,0,94,132,0,0,104,132,0,0,114,132,0,0,13,132,0,0,248,99,0,0,19,132,0,0,26,132,0,0,74,131,0,0,1,0,0,0,79,131,0,0,1,0,0,0,85,131,0,0,2,0,0,0,94,131,0,0,3,0,0,0,103,131,0,0,2,0,0,0,111,131,0,0,3,0,0,0,119,131,0,0,0,0,0,0,126,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,131,0,0,232,101,0,0,61,131, -0,0,44,133,0,0,51,133,0,0,59,133,0,0,252,130,0,0,158,105,0,0,63,133,0,0,114,132,0,0,64,0,0,0,141,131,0,0,66,0,0,0,136,131,0,0,65,0,0,0,113,139,0,0,67,0,0,0,79,120,0,0,3,0,0,0,75,120,0,0,3,0,0,0,66,75,0,0,150,149,0,0,156,149,0,0,161,149,0,0,166,149,0,0,26,150,0,0,32,150,0,0,40,150,0,0,255,157,0,0,4,158,0,0,11,158,0,0,14,158,0,0,17,158,0,0,20,158,0,0,23,158,0,0,26,158,0,0,34,158,0,0,66,100,0,0,86,132,0,0,43,158,0,0,62,169,0,0,71,169,0,0,78,169,0,0,84,169,0,0,167,169,0,0,177,169,0,0,188,169,0,0,200, -169,0,0,211,169,0,0,222,169,0,0,233,169,0,0,238,169,0,0,243,169,0,0,254,169,0,0,10,170,0,0,17,170,0,0,25,170,0,0,33,170,0,0,38,170,0,0,44,170,0,0,51,170,0,0,65,170,0,0,78,170,0,0,84,170,0,0,88,170,0,0,99,170,0,0,104,170,0,0,112,170,0,0,118,170,0,0,125,170,0,0,130,170,0,0,139,170,0,0,144,170,0,0,153,170,0,0,158,170,0,0,163,170,0,0,169,170,0,0,177,170,0,0,187,170,0,0,195,170,0,0,205,170,0,0,214,170,0,0,221,170,0,0,231,170,0,0,244,170,0,0,249,170,0,0,5,171,0,0,13,171,0,0,18,171,0,0,23,171,0,0,26,171, -0,0,32,171,0,0,39,171,0,0,48,171,0,0,59,171,0,0,65,171,0,0,76,171,0,0,86,171,0,0,96,171,0,0,105,171,0,0,115,171,0,0,129,171,0,0,143,171,0,0,154,171,0,0,167,171,0,0,178,171,0,0,184,171,0,0,196,171,0,0,203,171,0,0,210,171,0,0,217,171,0,0,224,171,0,0,235,171,0,0,244,171,0,0,250,171,0,0,4,172,0,0,7,172,0,0,11,172,0,0,20,172,0,0,29,172,0,0,36,172,0,0,43,172,0,0,51,172,0,0,54,172,0,0,57,172,0,0,60,172,0,0,63,172,0,0,66,172,0,0,69,172,0,0,79,172,0,0,86,172,0,0,92,172,0,0,102,172,0,0,113,172,0,0,117,172, -0,0,126,172,0,0,135,172,0,0,142,172,0,0,152,172,0,0,159,172,0,0,166,172,0,0,173,172,0,0,181,172,0,0,192,172,0,0,206,172,0,0,217,172,0,0,224,172,0,0,232,172,0,0,238,172,0,0,246,172,0,0,251,172,0,0,6,173,0,0,11,173,0,0,18,173,0,0,31,173,0,0,41,173,0,0,51,173,0,0,56,173,0,0,65,173,0,0,71,173,0,0,77,173,0,0,83,173,0,0,89,173,0,0,97,173,0,0,103,173,0,0,115,173,0,0,127,173,0,0,139,173,0,0,151,173,0,0,164,173,0,0,174,173,0,0,184,173,0,0,196,173,0,0,208,173,0,0,218,173,0,0,229,173,0,0,240,173,0,0,248,173, -0,0,253,173,0,0,3,174,0,0,13,174,0,0,22,174,0,0,29,174,0,0,35,174,0,0,47,174,0,0,57,174,0,0,70,174,0,0,83,174,0,0,92,174,0,0,100,174,0,0,109,174,0,0,120,174,0,0,127,174,0,0,137,174,0,0,144,174,0,0,152,174,0,0,161,174,0,0,167,174,0,0,175,174,0,0,181,174,0,0,189,174,0,0,199,174,0,0,208,174,0,0,213,174,0,0,224,174,0,0,229,174,0,0,57,175,0,0,70,175,0,0,0,0,0,0,106,175,0,0,131,175,0,0,162,175,0,0,181,175,0,0,136,126,0,0,206,175,0,0,243,175,0,0,255,175,0,0,14,176,0,0,47,176,0,0,65,176,0,0,90,176,0,0,119, -176,0,0,136,176,0,0,96,160,0,0,90,74,0,0,159,176,0,0,177,176,0,0,195,176,0,0,234,176,0,0,9,177,0,0,30,177,0,0,62,177,0,0,96,177,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,3,178,0,0,145,0,0,0,0,0,0,0,222,177,0,0,163,0,0,0,0,0,0,0,81,105,0,0,160,0,0,0,0,0,0,0,8,178,0,0,161,0,0,0,0,0,0,0,15,178,0,0,162,0,0,0,0,0,0,0,20,178,0, -0,163,0,0,0,0,0,0,0,26,178,0,0,164,0,0,0,0,0,0,0,36,178,0,0,146,0,0,0,0,0,0,0,42,178,0,0,147,0,0,0,0,0,0,0,47,178,0,0,0,0,0,0,0,0,0,0,53,178,0,0,0,0,0,0,0,0,0,0,61,178,0,0,148,0,0,0,0,0,0,0,67,178,0,0,0,0,0,0,0,0,0,0,74,178,0,0,0,0,0,0,0,0,0,0,83,178,0,0,165,0,0,0,0,0,0,0,90,178,0,0,0,0,0,0,0,0,0,0,100,178,0,0,164,0,0,0,0,0,0,0,107,178,0,0,166,0,0,0,0,0,0,0,121,178,0,0,167,0,0,0,0,0,0,0,127,178,0,0,165,0,0,0,0,0,0,0,133,178,0,0,149,0,0,0,0,0,0,0,140,178,0,0,130,0,0,0,0,0,0,0,148,178,0,0,137,0,0,0, -0,0,0,0,153,178,0,0,168,0,0,0,0,0,0,0,160,178,0,0,0,0,0,0,0,0,0,0,167,178,0,0,131,0,0,0,0,0,0,0,179,178,0,0,150,0,0,0,0,0,0,0,188,178,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,179,0,0,38,179,0,0,47,179,0,0,52,179,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175, -0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0, -0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,63,182, -0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,70,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,77,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,90,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,97,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,105,182,0,0,0,0, -0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,110,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,120,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,126,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,255, -255,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,141,182,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,145,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,152,182,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,161,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,172,182,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,179,182,0,0,0,0,0,0,0,0,0,0,1,0,1, -0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,186,182,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,197,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,204,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,219,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,236,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,247,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,17,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0, -0,0,0,0,0,203,0,0,0,0,0,0,0,42,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,48,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,66,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,74,183,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,88,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,96,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,105,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0, -0,0,144,0,0,0,109,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,115,183,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,13,8,58,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,141,131,0,0,0,0,0,0,0,0,0,0,2,0,5,8,62,75,0,0,0,0,0,0, -212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,3,0,5,8,62,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,193,180,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,215,180,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,12,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0, -0,218,0,0,0,0,0,0,0,17,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,22,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,31,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,40,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,53,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,71,181,0,0,0,0,0,0,0,0,0,0,158,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,36,39,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,196,191,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,104,0,0,0,0,2,0,157,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,133,104,0,0,1,0,0,0,136,104,0,0,2,0,0,0,139,104,0,0,6,0,0,0,143,104,0,0,128,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,135,0,0,1,0,0,0,66,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,5,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,251,122,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,231,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,35,81,0,0,68,123,0,0,81,123,0,0,0,0,0,0,94,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,86,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,211,124,0,0,0,0,0,0,24,132,0,0,0,0,0,0,8,0,0,0,248,127,0,0,1,1,0,0,0,0,0,0,39,132,0,0,2,0,0,0,0,0,16,0,55,132,0,0,3,0,0,0,0,0,0,0,115,127,0,0,4,1,0,0,0,0,0,0,24,128,0,0,5,0,0,0,0,0,0,0,68,132,0,0,6,0,0,0,0,0,0,0,88,132,0,0,2,0,0,0,0,0,0,16,104,132,0,0,2,0,0,0,16,0,0,0,125,132,0,0,7,0,0,0,0,0,0,0,140,132,0,0,8,0,0,0,0, +0,0,0,156,132,0,0,2,0,0,0,128,0,0,0,170,132,0,0,0,2,0,0,15,0,0,0,183,132,0,0,10,1,0,0,0,0,0,0,197,132,0,0,11,1,0,0,0,0,0,0,216,132,0,0,2,0,0,0,0,0,0,1,235,132,0,0,2,0,0,0,0,1,0,0,127,129,0,0,12,0,0,0,0,0,0,0,2,133,0,0,13,1,0,0,0,0,0,0,20,133,0,0,14,1,0,0,0,0,0,0,37,133,0,0,2,0,0,0,0,0,8,0,50,133,0,0,0,2,0,0,0,0,0,0,65,133,0,0,2,0,0,0,4,0,0,0,83,133,0,0,2,0,0,0,8,0,0,0,93,133,0,0,2,0,0,0,0,32,0,0,118,133,0,0,15,1,0,0,0,0,0,0,137,133,0,0,16,1,0,0,0,0,0,0,148,133,0,0,17,1,0,0,0,0,0,0,159,133,0,0,16, +1,0,0,1,0,0,0,222,128,0,0,18,1,0,0,0,0,0,0,216,127,0,0,19,1,0,0,0,0,0,0,229,127,0,0,20,0,0,0,0,0,0,0,171,133,0,0,2,0,0,0,0,128,0,0,203,127,0,0,22,0,0,0,0,0,0,0,190,133,0,0,23,1,0,0,0,0,0,0,36,128,0,0,24,0,0,0,0,0,0,0,205,133,0,0,23,1,0,0,0,0,0,0,162,127,0,0,25,0,0,0,0,0,0,0,216,133,0,0,2,0,0,0,0,0,0,2,227,133,0,0,18,1,0,0,0,0,0,0,239,133,0,0,2,0,0,0,0,64,0,0,0,134,0,0,2,0,0,0,0,0,4,0,19,134,0,0,2,0,0,0,0,0,2,0,45,134,0,0,0,0,0,0,1,0,0,0,172,127,0,0,26,0,0,0,0,0,0,0,60,134,0,0,2,0,0,0,64,0,0,0,79, +134,0,0,27,0,0,0,0,0,0,0,245,129,0,0,28,0,0,0,0,0,0,0,93,134,0,0,29,1,0,0,0,0,0,0,103,128,0,0,30,1,0,0,0,0,0,0,99,134,0,0,31,1,0,0,0,0,0,0,46,128,0,0,32,0,0,0,0,0,0,0,57,128,0,0,33,0,0,0,0,0,0,0,5,130,0,0,34,0,0,0,0,0,0,0,110,134,0,0,0,0,0,0,6,0,0,0,218,129,0,0,35,0,0,0,0,0,0,0,123,134,0,0,36,1,0,0,0,0,0,0,138,134,0,0,2,0,0,0,0,8,1,0,122,131,0,0,77,131,0,0,154,131,0,0,159,131,0,0,167,131,0,0,91,131,0,0,226,130,0,0,135,131,0,0,141,131,0,0,147,131,0,0,116,131,0,0,122,131,0,0,77,131,0,0,105,96,0,0,126, +131,0,0,131,131,0,0,39,131,0,0,77,131,0,0,94,131,0,0,101,131,0,0,108,131,0,0,87,131,0,0,89,131,0,0,91,131,0,0,39,131,0,0,77,131,0,0,82,131,0,0,39,131,0,0,77,131,0,0,36,131,0,0,39,131,0,0,226,130,0,0,43,131,0,0,48,131,0,0,51,131,0,0,61,131,0,0,71,131,0,0,226,130,0,0,9,99,0,0,232,130,0,0,239,130,0,0,31,130,0,0,1,0,0,0,36,130,0,0,1,0,0,0,42,130,0,0,2,0,0,0,51,130,0,0,3,0,0,0,60,130,0,0,2,0,0,0,68,130,0,0,3,0,0,0,76,130,0,0,0,0,0,0,83,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,130,0,0,239,100,0,0,18,130,0,0, +1,132,0,0,8,132,0,0,16,132,0,0,209,129,0,0,143,104,0,0,20,132,0,0,71,131,0,0,64,0,0,0,98,130,0,0,66,0,0,0,93,130,0,0,65,0,0,0,22,138,0,0,67,0,0,0,60,119,0,0,3,0,0,0,56,119,0,0,3,0,0,0,66,74,0,0,59,148,0,0,65,148,0,0,70,148,0,0,75,148,0,0,191,148,0,0,197,148,0,0,205,148,0,0,162,156,0,0,167,156,0,0,174,156,0,0,177,156,0,0,180,156,0,0,183,156,0,0,186,156,0,0,189,156,0,0,197,156,0,0,83,99,0,0,43,131,0,0,206,156,0,0,231,167,0,0,240,167,0,0,247,167,0,0,253,167,0,0,80,168,0,0,90,168,0,0,101,168,0,0,113, +168,0,0,124,168,0,0,135,168,0,0,146,168,0,0,151,168,0,0,156,168,0,0,167,168,0,0,179,168,0,0,186,168,0,0,194,168,0,0,202,168,0,0,207,168,0,0,213,168,0,0,220,168,0,0,234,168,0,0,247,168,0,0,253,168,0,0,1,169,0,0,12,169,0,0,17,169,0,0,25,169,0,0,31,169,0,0,38,169,0,0,43,169,0,0,52,169,0,0,57,169,0,0,66,169,0,0,71,169,0,0,76,169,0,0,82,169,0,0,90,169,0,0,100,169,0,0,108,169,0,0,118,169,0,0,127,169,0,0,134,169,0,0,144,169,0,0,157,169,0,0,162,169,0,0,174,169,0,0,182,169,0,0,187,169,0,0,192,169,0,0,195, +169,0,0,201,169,0,0,208,169,0,0,217,169,0,0,228,169,0,0,234,169,0,0,245,169,0,0,255,169,0,0,9,170,0,0,18,170,0,0,28,170,0,0,42,170,0,0,56,170,0,0,67,170,0,0,80,170,0,0,91,170,0,0,97,170,0,0,109,170,0,0,116,170,0,0,123,170,0,0,130,170,0,0,137,170,0,0,148,170,0,0,157,170,0,0,163,170,0,0,173,170,0,0,176,170,0,0,180,170,0,0,189,170,0,0,198,170,0,0,205,170,0,0,212,170,0,0,220,170,0,0,223,170,0,0,226,170,0,0,229,170,0,0,232,170,0,0,235,170,0,0,238,170,0,0,248,170,0,0,255,170,0,0,5,171,0,0,15,171,0,0,26, +171,0,0,30,171,0,0,39,171,0,0,48,171,0,0,55,171,0,0,65,171,0,0,72,171,0,0,79,171,0,0,86,171,0,0,94,171,0,0,105,171,0,0,119,171,0,0,130,171,0,0,137,171,0,0,145,171,0,0,151,171,0,0,159,171,0,0,164,171,0,0,175,171,0,0,180,171,0,0,187,171,0,0,200,171,0,0,210,171,0,0,220,171,0,0,225,171,0,0,234,171,0,0,240,171,0,0,246,171,0,0,252,171,0,0,2,172,0,0,10,172,0,0,16,172,0,0,28,172,0,0,40,172,0,0,52,172,0,0,64,172,0,0,77,172,0,0,87,172,0,0,97,172,0,0,109,172,0,0,121,172,0,0,131,172,0,0,142,172,0,0,153,172,0, +0,161,172,0,0,166,172,0,0,172,172,0,0,182,172,0,0,191,172,0,0,198,172,0,0,204,172,0,0,216,172,0,0,226,172,0,0,239,172,0,0,252,172,0,0,5,173,0,0,13,173,0,0,22,173,0,0,33,173,0,0,40,173,0,0,50,173,0,0,57,173,0,0,65,173,0,0,74,173,0,0,80,173,0,0,88,173,0,0,94,173,0,0,102,173,0,0,112,173,0,0,121,173,0,0,126,173,0,0,137,173,0,0,142,173,0,0,226,173,0,0,239,173,0,0,0,0,0,0,19,174,0,0,44,174,0,0,75,174,0,0,94,174,0,0,24,100,0,0,119,174,0,0,156,174,0,0,168,174,0,0,183,174,0,0,216,174,0,0,234,174,0,0,3,175, +0,0,32,175,0,0,49,175,0,0,3,159,0,0,90,73,0,0,72,175,0,0,90,175,0,0,108,175,0,0,147,175,0,0,178,175,0,0,199,175,0,0,231,175,0,0,9,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,172,176,0,0,145,0,0,0,0,0,0,0,135,176,0,0,163,0,0,0,0,0,0,0,66,104,0,0,160,0,0,0,0,0,0,0,177,176,0,0,161,0,0,0,0,0,0,0,184,176,0,0,162,0,0,0,0,0,0, +0,189,176,0,0,163,0,0,0,0,0,0,0,195,176,0,0,164,0,0,0,0,0,0,0,205,176,0,0,146,0,0,0,0,0,0,0,211,176,0,0,147,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,0,0,222,176,0,0,0,0,0,0,0,0,0,0,230,176,0,0,148,0,0,0,0,0,0,0,236,176,0,0,0,0,0,0,0,0,0,0,243,176,0,0,0,0,0,0,0,0,0,0,252,176,0,0,165,0,0,0,0,0,0,0,3,177,0,0,0,0,0,0,0,0,0,0,13,177,0,0,164,0,0,0,0,0,0,0,20,177,0,0,166,0,0,0,0,0,0,0,34,177,0,0,167,0,0,0,0,0,0,0,40,177,0,0,165,0,0,0,0,0,0,0,46,177,0,0,149,0,0,0,0,0,0,0,53,177,0,0,130,0,0,0,0,0,0,0,61,177, +0,0,137,0,0,0,0,0,0,0,66,177,0,0,168,0,0,0,0,0,0,0,73,177,0,0,0,0,0,0,0,0,0,0,80,177,0,0,131,0,0,0,0,0,0,0,92,177,0,0,150,0,0,0,0,0,0,0,101,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,177,0,0,207,177,0,0,216,177,0,0,221,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0, +174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,86,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,112,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,137,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,146,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,157,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,2,0,1,8, +1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,90,141,0,0,0,0,0,0,255,0,33,8, +1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,94,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,181,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,188,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,195,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,201,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,208,179,0,0,0,0,0,0,255,0,1, +8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,216,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,221,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,231,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,237,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,243,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,254,179,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,5,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,16,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,23,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,38,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,55,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,66,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,72,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,204,0,0,0,0,0,0,0,90,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,98,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,112,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,120,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,136,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +209,0,0,0,145,0,0,0,146,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,13,8,58,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,98,130,0,0,0,0,0,0,2,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,3,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,1,0,1,8,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,67,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,234,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,244,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,249,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,254,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,7,181,0,0,0,0,0, +0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,16,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,29,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,47,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,22,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,42,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,64,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,38,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0, +168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,87,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133, 1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1, 152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14, @@ -93,251 +92,250 @@ z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,5 1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167, 0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200, 255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240, -202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,186,3,86,0,21,0,206,255,23,0,79,0,134,0,226,0,136,255,129,255,146,0,161,0,35,1,93,1,110,1,55,1,126,1,118,1,231,0,108,1,111,1,140,1,142,1,236,0,61,1,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255, -153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,204,1,247,1,55,2,57,2,60,2,65,2,68,2,70,2,72,2,75,2,81,2,119,2,132,2,134,2,137,2,143,2,145,2,147,2,149,2,152,2,158,2,196,2,208,2,247,2,3,3,42,3,54,3,93,3,105,3,144,3,162,3,179,3,182,3,189,3,191,3,195,3,198,3,200,3,230,3,237,3,245,3,254,3,1,4,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,218,1,212,0,15,0,242,1,222,0,255,1,153,255,97,0,45, -2,153,255,153,255,153,255,153,255,176,255,9,0,59,0,19,0,38,1,38,1,203,255,194,255,178,2,179,2,223,2,225,2,228,2,232,2,133,0,54,1,148,0,74,1,160,0,124,1,18,3,20,3,145,1,40,1,21,3,221,2,85,0,210,2,214,255,68,1,252,1,16,3,60,3,61,3,62,3,166,2,201,2,151,1,69,0,150,0,194,0,188,0,33,1,45,1,147,1,205,1,229,1,56,2,105,2,161,2,212,2,11,3,24,3,56,3,63,3,69,3,74,3,78,3,80,3,113,3,124,3,132,3,163,3,168,3,190,1,142,3,143,3,176,3,181,3,133,3,187,3,199,3,210,3,155,3,224,3,225,3,188,3,228,3,231,3,242,3,33,1,250, -3,9,4,19,4,22,4,25,4,32,4,166,3,205,3,229,3,232,3,234,3,133,3,244,3,251,3,36,4,246,3,236,3,252,3,207,3,0,4,208,3,16,4,11,4,23,4,21,4,253,3,239,3,27,4,29,4,7,4,10,4,59,4,2,4,58,4,60,4,240,3,241,3,65,4,12,4,44,4,35,4,45,4,47,4,48,4,49,4,81,4,87,4,52,4,26,4,56,4,66,4,55,4,91,4,93,4,34,4,24,4,104,4,114,4,116,4,100,4,121,4,124,4,125,4,127,4,107,4,111,4,113,4,117,4,106,4,118,4,119,4,120,4,123,4,110,4,126,4,128,4,82,4,88,4,89,4,92,4,90,4,101,4,99,4,103,4,147,4,151,4,95,4,140,4,96,4,97,4,142,4,122,4,131, -4,133,4,136,4,143,4,187,4,190,4,200,4,201,4,208,4,209,4,210,4,211,4,108,4,129,4,109,4,177,4,184,4,204,4,55,1,26,5,145,0,139,2,2,0,192,0,140,2,82,1,12,3,92,0,92,0,92,0,92,0,85,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,88,0,88,0,88,0,87,0,79,1,71,1,88,3,88,3,92,0,92,0,92,0,92,0,185,2,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,76,0,39,3,74,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,79,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,12, -3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,100,1,40,3,8,3,189,2,177,2,177,2,86,0,83,0,166,0,1,1,41,3,203,2,174,1,86,0,83,0,166,0,68,1,185,2,88,3,88,3,201,0,158,0,20,1,131,1,15,1,130,1,188,0,177,2,177,2,60,3,86,0,83,0,166,0,13,1,65,3,49,0,123,0,87,0,79,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,239,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,251,2,77,1,76,1,216,0,152,1,138,1,69,0,231,0,137,1,178,2,179,2,140,1,142,3,251,0,98,1,250,0,32,1,59, -1,174,1,140,3,174,1,141,3,89,0,89,0,88,0,88,0,88,0,87,0,79,1,135,1,88,3,88,3,178,2,179,2,183,0,95,0,123,0,128,1,125,1,124,1,65,3,31,0,65,3,49,0,144,3,144,3,239,2,240,2,123,1,123,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,152,1,143,1,179,1,145,2,88,3,88,3,90,1,57,0,232,0,60,3,109,0,192,2,110,1,177,2,177,2,107,1,57,3,248,2,97,0,237,2,240,2,65,3,49,0,196,2,196,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0, -91,0,92,0,92,0,92,0,92,0,167,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,114,0,22,0,105,1,176,2,58,0,152,1,134,1,251,0,93,1,240,0,213,0,250,2,177,2,177,2,79,3,173,2,115,0,105,1,231,0,137,1,177,2,177,2,140,1,183,0,177,2,177,2,128,1,125,1,124,1,105,1,88,3,88,3,178,2,179,2,160,0,159,0,223,0,123,1,226,2,25,0,38,3,195,2,73,3,143,0,177,2,177,2,67,3,136,1,83,1,254,2,254,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,146,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88, -0,87,0,79,1,55,1,72,3,72,3,72,3,10,1,1,1,178,2,179,2,10,3,194,2,86,0,83,0,166,0,219,0,178,2,179,2,225,2,1,0,178,2,179,2,177,2,177,2,177,2,177,2,174,1,86,0,83,0,166,0,249,0,176,2,169,3,88,3,88,3,171,1,187,2,188,2,60,3,42,1,178,2,179,2,221,0,174,2,115,0,123,0,176,3,27,3,65,3,48,0,86,1,49,1,202,3,79,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,172,3,73,3,167,2,201,2,173,1,67,3,174,1,251,0,98,1,250,0,99,1,32,1,178, -2,179,2,178,2,179,2,29,1,173,3,84,1,203,3,31,1,210,0,23,0,174,0,25,3,64,3,174,1,97,1,65,3,10,0,88,3,88,3,24,0,174,3,151,0,241,2,72,3,72,3,72,3,26,3,200,3,10,5,65,1,142,1,10,5,100,1,96,1,242,2,65,3,49,0,167,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,120,1,114,0,139,3,193,2,174,1,139,3,72,1,122,3,114,0,65,3,10,0,198,3,174,1,89,3,89,3,64,1,189,0,163,0,64,3,165,0,174,1,138,3,88,1,67,1,138,3,136,3,65,3,10,0,197, -3,50,1,88,3,88,3,187,0,163,1,65,3,10,0,220,0,101,3,104,3,64,3,222,0,147,1,65,3,49,0,195,4,25,3,68,0,169,3,150,1,245,0,66,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,93,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,148,1,213,0,250,2,66,3,89,1,114,0,172,3,134,3,112,1,215,2,5,0,60,1,192,0,140,1,4,3,12,3,13,1,230,0,242,0,3,3,244,0,141,1,164,0,173,3,129,1,123,0,91,1,55,0,99,1,73,1,88,3,88,3,216,2,77,1,76,1,176,2,200,3,11,5,212,2,174,3,11,5,157,1,214,0,65,3,9,0, -106,1,30,1,187,3,115,0,206,2,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,144,3,144,3,20,5,20,5,246,2,88,3,88,3,69,1,198,3,12,3,65,3,35,0,235,2,208,2,78,1,187,2,188,2,209,3,140,2,82,1,243,0,233,2,152,3,152,3,113,1,187,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,3,174,1,112,0,54,1,174,1,181,2,61,1,186,2,144,1,174, -1,25,3,103,1,174,1,249,3,174,1,192,0,174,1,145,1,12,3,174,1,104,1,65,3,36,0,65,3,12,0,174,1,65,3,27,0,60,1,88,3,88,3,65,3,37,0,20,0,65,3,38,0,65,3,39,0,65,3,28,0,72,0,65,3,29,0,151,2,152,2,153,2,8,1,65,3,40,0,234,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,2,174,1,149,3,147,0,174,1,165,0,148,3,19,1,65,3,41,0,174,1,12,3,174,1,21,0,174,1,3,1,174,1,6,1,18,1,174,1,111,1,65,3,42,0,65,3,11,0,174,1,65,3, -43,0,235,0,88,3,88,3,25,3,65,3,99,0,65,3,44,0,65,3,45,0,65,3,32,0,75,0,65,3,46,0,49,1,199,3,1,1,1,1,65,3,47,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,186,0,185,0,184,0,238,0,88,3,88,3,138,2,2,0,40,4,65,3,33,0,227,2,217,0,218,0,1,1,203,3,1,1,170,1,61,1,1,1,6,3,65,3,117,0,1,1,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0, -79,1,174,1,62,1,124,0,212,0,163,0,88,3,88,3,175,3,132,3,130,3,65,3,118,0,247,2,214,2,213,2,1,1,243,2,33,1,33,1,221,2,222,2,193,3,65,3,119,0,170,2,55,1,93,0,82,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,204,2,246,0,66,1,75,1,88,3,88,3,0,1,114,0,101,1,65,3,53,0,40,3,145,3,145,3,164,3,156,0,160,1,164,1,168,1,162,3,41,3,65,3,34,0,108,1,55,1,253,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0, -90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,114,0,114,0,114,0,192,3,88,3,88,3,51,1,2,1,62,3,65,3,100,0,191,0,252,0,121,1,11,1,68,0,197,0,68,0,5,1,204,2,1,3,65,3,50,0,71,0,143,3,143,3,7,1,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,80,0,169,1,34,3,3,0,190,4,191,0,174,1,9,1,80,1,80,1,65,3,101,0,229,2,80,0,169,1,129,3,3,0,211,2,210,2,172,1,209,2,80,1,80,1,174,1,125,3,14,1,174,1,197,0,65,3,102,0,174,1,32,3,172,1,174, -1,183,2,174,1,75,3,111,0,158,1,174,1,16,3,153,1,174,1,63,3,174,1,65,3,98,0,123,0,65,3,116,0,79,3,158,1,65,3,49,0,11,3,65,3,113,0,65,3,106,0,226,0,123,0,65,3,105,0,79,3,65,3,103,0,65,3,104,0,23,3,155,1,77,0,78,0,34,1,156,1,174,1,35,1,114,0,79,0,176,1,175,1,133,1,174,1,67,3,77,0,78,0,129,3,71,3,152,1,154,1,174,1,79,0,176,1,175,1,116,1,191,2,67,3,65,3,52,0,174,1,80,0,169,1,174,1,3,0,65,3,54,0,4,3,75,3,80,1,80,1,172,2,3,3,65,3,51,0,72,3,72,3,72,3,74,3,19,0,172,1,160,2,65,3,26,0,159,2,65,3,30,0,161,2, -72,3,72,3,72,3,74,3,19,0,207,0,149,2,22,1,48,1,148,0,24,1,158,1,26,1,248,0,102,1,54,3,126,1,6,0,92,1,161,0,17,1,80,0,169,1,79,3,3,0,166,3,127,3,208,2,126,3,80,1,80,1,40,1,157,0,159,1,241,0,28,1,162,2,190,3,194,0,185,3,172,1,183,3,180,3,77,0,78,0,9,3,63,1,56,0,59,0,135,0,79,0,176,1,175,1,121,0,66,0,67,3,146,0,128,0,94,1,158,1,51,3,130,0,95,1,131,0,132,0,133,0,119,1,173,0,107,0,138,0,149,0,79,3,109,1,178,0,62,0,70,0,169,1,168,3,3,0,59,3,121,3,115,1,255,0,80,1,80,1,24,3,72,3,72,3,72,3,74,3,19,0,77,0, -78,0,147,3,172,1,208,0,179,0,144,0,79,0,176,1,175,1,117,1,4,1,67,3,180,0,70,1,163,2,181,0,52,1,232,2,132,1,231,2,219,2,158,1,206,2,230,2,218,2,200,2,146,1,53,1,199,2,16,1,20,3,65,0,198,2,79,3,197,2,21,1,193,0,21,3,19,3,23,1,108,3,73,0,72,3,72,3,72,3,74,3,19,0,18,3,25,1,162,1,27,1,166,1,227,0,77,0,78,0,74,1,228,0,229,0,96,0,255,2,79,0,176,1,175,1,151,1,67,0,67,3,215,0,36,1,37,1,149,1,38,1,47,1,46,1,45,1,204,0,43,1,39,1,202,0,164,2,169,2,7,0,177,1,157,2,203,0,205,0,206,0,125,0,110,0,57,1,178,1,155, -2,154,2,146,2,168,0,224,0,237,0,72,3,72,3,72,3,74,3,19,0,120,0,144,2,81,1,236,0,155,0,167,0,85,1,233,0,58,1,108,0,137,3,135,3,58,3,127,0,126,0,244,2,170,0,129,0,172,0,247,0,160,3,134,0,136,0,171,0,60,0,61,0,123,0,169,0,137,0,165,3,175,0,176,0,159,3,8,0,13,0,177,0,254,0,150,3,139,0,191,0,156,3,140,0,114,1,166,2,150,0,118,1,182,0,18,1,12,1,141,0,122,0,63,0,14,0,122,1,15,0,127,1,64,0,225,0,78,3,77,3,106,3,16,0,4,0,217,2,253,2,2,3,162,0,139,1,209,0,211,0,142,0,33,3,110,3,28,3,56,1,71,0,68,0,107,3,105, -3,171,3,190,0,161,1,170,3,17,0,195,0,196,0,152,0,18,0,207,3,199,0,208,3,153,0,198,0,154,0,165,1,109,3,76,3,184,2,81,0,200,0,41,1,87,1,251,3,250,3,44,1,141,2,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,90,0,60,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,182,0,80,1,218,0,38,2,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4, -180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,218,0,218,0,162,1,239,1,23,2,23,2,33,0,43,0,10,0,226,255,167,255,167,255,167,255,11,0,169,1,169,1,12,1,199,1,93,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0, -218,0,218,0,218,0,172,2,138,0,10,0,43,0,125,0,125,0,125,0,125,0,125,0,125,0,167,255,167,255,167,255,228,0,85,1,85,1,207,0,20,1,44,1,24,1,96,1,98,1,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,51,2,51,2,51,2,218,0,218,0,179,1,218,0,218,0,218,0,67,2,218,0,218,0,73,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,69,2,0,3,199,2,199,2,199,2,192,2,215,0,41,4,244,2,178,1,197,2,197,2,200,2,178,1,200,2,22,2,90,3,129,2,185,3,197,2,168,255, -185,3,185,3,99,3,233,1,191,1,176,4,94,4,94,4,179,4,179,4,94,4,205,4,160,4,102,4,218,4,218,4,218,4,218,4,94,4,226,4,102,4,205,4,160,4,160,4,102,4,94,4,226,4,115,4,213,4,94,4,94,4,226,4,253,4,94,4,226,4,94,4,226,4,253,4,181,4,181,4,181,4,235,4,253,4,181,4,186,4,181,4,235,4,181,4,181,4,171,4,194,4,171,4,194,4,171,4,194,4,171,4,194,4,94,4,94,4,174,4,253,4,230,4,230,4,253,4,199,4,207,4,206,4,212,4,102,4,66,5,68,5,83,5,83,5,93,5,93,5,93,5,93,5,167,255,167,255,167,255,167,255,167,255,167,255,221,1,35,2, -130,1,50,3,238,2,253,2,188,2,238,3,219,2,243,3,247,3,248,3,249,3,180,3,68,3,167,3,191,2,255,3,31,4,40,4,53,4,87,3,150,3,63,4,61,4,99,2,112,5,114,5,97,5,236,4,105,5,53,5,108,5,102,5,103,5,7,5,254,4,17,5,9,5,110,5,8,5,118,5,134,5,13,5,6,5,60,5,61,5,32,5,116,5,109,5,24,5,146,5,143,5,127,5,43,5,11,5,98,5,128,5,99,5,94,5,113,5,49,5,135,5,138,5,141,5,50,5,56,5,142,5,115,5,144,5,145,5,140,5,147,5,117,5,148,5,149,5,119,5,125,5,150,5,151,5,152,5,63,5,154,5,157,5,155,5,156,5,59,5,160,5,161,5,158,5,159,5,163, -5,64,5,164,5,162,5,165,5,166,5,164,5,169,5,170,5,171,5,173,5,174,5,178,5,176,5,180,5,179,5,172,5,181,5,182,5,184,5,185,5,181,5,187,5,186,5,188,5,189,5,191,5,82,5,92,5,95,5,96,5,192,5,204,5,219,5,214,3,20,5,20,5,20,5,190,4,190,4,190,4,25,5,20,5,85,4,114,4,114,4,250,4,25,5,25,5,25,5,25,5,25,5,25,5,188,4,25,5,25,5,25,5,20,5,25,5,89,4,120,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,249,4,251,4,128,4,127,4,230,4,101,4,125,4,118,4,122,4,191,4,184,4,185,4,183,4,187,4,192,4,25,5,121,4,153,4,168,4,152,4,25, -5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,162,4,167,4,174,4,166,4,163,4,155,4,154,4,156,4,157,4,25,5,25,5,240,3,50,4,25,5,25,5,158,4,25,5,252,3,159,4,171,4,170,4,169,4,247,3,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,214,3,20,5,25,5,25,5,20,5,20,5,20,5,20, -5,20,5,20,5,12,5,89,4,79,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,0,5,254,4,25,5,203,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,85,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,220,3,25,5,223,4,85,4,85,4,85,4,87,4,65,4,77,4,222,3,124,4,103,4,103,4,235,4,124,4,235,4,21,4,44,4,18,4,114,4,103,4,186,4,114,4,114,4,86,4,77,4,25,5,5,5,94,4,94,4,253,4,253,4,94,4,133,4,54,4,124,4,61,4,61,4,61,4,61,4,94,4,237,3,124,4, -133,4,54,4,54,4,124,4,94,4,237,3,229,4,227,4,94,4,94,4,237,3,196,4,94,4,237,3,94,4,237,3,196,4,52,4,52,4,52,4,36,4,196,4,52,4,21,4,52,4,36,4,52,4,52,4,107,4,102,4,107,4,102,4,107,4,102,4,107,4,102,4,94,4,94,4,25,5,196,4,200,4,200,4,196,4,119,4,108,4,117,4,115,4,124,4,243,3,39,4,230,3,230,3,219,3,219,3,219,3,219,3,17,5,17,5,12,5,23,4,23,4,6,4,25,5,25,5,25,5,25,5,25,5,25,5,254,3,25,5,205,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,140,4,25,5,215,3,7,5,25,5,25,5, -4,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,233,4,25,5,25,5,25,5,25,5,25,5,25,5,226,4,225,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,68,4,25,5,25,5,25,5,72,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,116,4,25,5,109,4,25,5,189,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,22,5,25,5,25,5,25,5,21,5,25,5,25,5,25,5,25,5,25,5,142,4,25,5,141,4,145,4,25,5,228,3,25,5,16,0,2,2,12,0,14,0,24, -0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0, -99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, -116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, -116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, -117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, -101,112,0,51,46,49,49,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, -134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, -99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0, -0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,50,45,49,53,32,49,55,58,50,57,58,50,52,32,51,100,56,54,50,102,50,48,55,101,51,97,100,99,48,48,102,55,56,48,54,54,55,57,57,97,99,53,97,56,99,50,56,50,52,51,48,97,53,102,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102, -97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4, -6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84, -85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67, -79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82, -69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111, -21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0, -107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44],"i8",4,l.aa+10622); -z([115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37, -115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116, -97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69, -0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97, -114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76, -84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69, -84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115, -101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114, -39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76, -65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100, -120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111, -117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68, -69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46, -39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84, -69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,71,82,79,85,80,32,66,89,32,108,101, -118,101,108,32,72,65,86,73,78,71,32,99,111,117,110,116,40,42,41,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32, -65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101, -97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78, -68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37, -37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39, -37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82, -79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101, -120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111, -110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69, -67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101, -100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84, -65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122, -101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95, -108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39, -37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107, -32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66, -41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120, -101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,102,116,115,51,116,111,107,101,110,105,122,101,58,32,100,105,115,97,98,108,101,100,32,45,32,114,101,98,117,105,108,100,32,119,105,116,104,32,45,68,83,81,76,73,84,69,95, -69,78,65,66,76,69,95,70,84,83,51,95,84,79,75,69,78,73,90,69,82,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99, -110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105, -99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105, -100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110, -97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115, -105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100, -32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99, -99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32, -99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107, -117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,117,110,107,110,111,119,110,32,116,97,98,108, -101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104, -105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69, -32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173, -2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,190,0,190,1,176,0,176,3,191,0,191,2,192,1,192,1,192,1,149,4,194,2,194,0,149,9,149,4,149,1,163,2,196,1,196,3,199,1,199,2,199,1,197,9,197,1,208,4,208,5,200,1,200,1,200,0,211,2,211,0,201,3,201,2,201,4,212,2,212,1,212,0,202,0,202,2,214,2,214,0,213,7,213,9,213,7,213,7,159,0,159,2,195,2, -215,1,215,2,215,3,215,4,217,2,217,0,216,0,216,3,216,2,218,4,218,0,206,0,206,3,188,4,188,2,177,1,177,1,177,0,204,0,204,3,205,0,205,2,207,0,207,2,207,4,207,4,149,6,203,0,203,2,149,8,220,5,220,3,149,6,149,7,221,2,221,1,222,0,222,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,223,1,223,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,224,1,224,2,175,5,225,1,225,2,175,5,175,3,175,5,175, -4,175,4,175,5,227,5,227,4,228,2,228,0,226,1,226,0,210,1,210,0,209,3,209,1,149,12,229,1,229,0,179,0,179,3,189,5,189,3,230,0,230,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,231,1,231,1,231,1,231,1,231,1,171,2,171,1,172,2,149,5,232,11,234,1,234,1,234,2,234,0,235,1,235,1,235,3,236,0,236,3,237,0,237,2,233,3,233,2,239,1,239,3,240,0,240,3,240,2,238,7,238,5,238,5,238,1,175,4,175,6,193,1,193,1,193,1,149,4,149,6,149,3,242,0,242,2,241,1,241,0,149,1,149,3,149,1,149,3,149,6,149,6,243,1,244,0,244,1,149,1, -149,4,245,8,246,1,246,3,247,0,247,2,248,1,248,3,249,1,250,0,250,4,250,2,198,0,198,2,198,3,251,6,251,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98, -108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111, -32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116, -32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101, -102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121, -112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105, -115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114, -105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75, -69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116, -121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115, -116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32,71,82,79,85,80,32,66,89,32, -99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69, -82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110, -117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115, -32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115, -116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105, -111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115, -0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37, -115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112, -101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32],"i8",4,l.aa+20862); -z([106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101, -110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100, -32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, -111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32, -102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84, -69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101, -58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111, -32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116, -97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117, -116,32,111,102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117, -97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101, -97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73, -78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99, -117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116, -111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0, -105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111, -102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105, -109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101, -120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0, -78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102, -108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110, -100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97, -115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108, -95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112, -97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107, -95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32, -99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111, -114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111, -108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67, -65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69, -71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4, -3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82, -32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0,16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19, -19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111, -100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32, -111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32, -116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32, -0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108, -97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110, -103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111, -112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37, -81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101, -32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0, -97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115, -32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100, -0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69, -77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84, -79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44, -32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0, -32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25, -0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95,19,50,51,80,81,82,83,27,85,86,87,88,89,90,91,92,93,94,95,137,177,139,71,72,73,74,75,76,77,78,79,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,212,173,27,28,223,224,225,152,42,181,152,223,224,225, -95,97,50,51,99,100,101,102,103,104,105,27,28,59,223,224,225,112,174,175,66,94,95,71,72,73,74,75,76,77,78,79,80,81,82,83,195,85,86,87,88,89,90,91,92,93,94,95,19,197,89,90,220,209,210,26,119,120,97,98,208,100,108,109,110,152,157,152,107,152,109,89,90,91,92,93,94,95,163,50,51,97,98,99,55,66,102,103,104,174,175,174,175,132,133,192,193,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,152,209,210,148,149,50,51,100,53,154,59,156,174,229,27,28,232,163,163,22,192,193,174, -175,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,251,85,86,87,88,89,90,91,92,93,94,95,19,198,198,152,152,24,209,210,108,109,110,196,197,27,28,69,164,165,152,119,120,27,28,208,99,27,28,102,103,104,152,50,51,97,98,89,90,185,113,187,22,177,174,97,58,27,28,101,115,245,117,118,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,97,98,91,174,223,224,225,239,97,98,187,22,97,98,27,28,27,28,152,223,224,225,239,152,163,50,51,170,171,172,59,160,97,98,239,164,165, -66,242,124,174,175,195,22,23,69,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,12,97,21,23,152,101,152,108,109,110,221,152,97,98,97,98,152,29,243,70,226,23,233,26,26,152,152,238,174,175,50,51,22,45,24,47,132,133,134,124,22,23,188,163,26,152,65,59,174,175,163,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,19,198,152,23,152,152,209,103,198,174,175,70,152,50,51,219,213,214,152,98,152,171,172,188,171,172,174,175,248,249,50,51,51,251,174, -175,220,74,75,152,188,152,174,175,140,124,26,163,188,16,130,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,209,196,197,23,231,198,12,231,219,37,22,107,24,208,116,27,112,201,62,121,64,152,152,29,52,66,221,211,221,219,50,51,60,89,90,152,22,23,183,45,26,47,22,174,175,238,152,164,165,106,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,132,133,119,120,163,50,51,111,70,97,174,175,181,182,170,171,172,0,1,2,140,190,108,109,110,51,71,72,73,74, -75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,152,152,152,22,166,152,168,169,27,19,152,26,19,152,122,152,24,152,28,27,152,28,174,175,174,175,152,174,175,107,50,51,174,175,22,174,175,174,175,174,175,138,174,175,7,8,9,16,174,175,152,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,97,152,31,24,152,98,35,101,174,175,152,97,152,79,152,62,152,64,112,152,49,174,175,174,175,152,174,175,152,50,51,124,174,175,174,175,174,175,174,175,138,174,175,22,23, -152,152,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,108,109,110,152,50,51,146,147,23,174,175,26,195,195,152,70,152,168,169,152,26,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,246,247,213,214,50,51,195,152,195,174,175,195,100,101,152,195,152,152,7,8,152,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,27,152,189,189,50,51,195,198,152,174,175,33,132,133,152, -123,163,163,163,152,42,174,175,152,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,198,198,198,23,50,51,26,152,23,174,175,26,23,23,23,26,26,26,152,97,23,174,175,26,132,133,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,23,22,23,26,152,152,27,28,174,175,152,19,20,27,22,183,183,38,152,27,28,152,23,152,152,26,174,175,152,152,38,152,23,152,27,26,57,152,215,163,152,152,152,174,175,66,174,175,69,57,174,175,152,174,175,174,175,212,66,174, -175,69,174,175,174,175,152,152,89,90,152,193,152,152,198,96,97,98,91,152,101,89,90,97,152,209,210,152,96,97,98,235,152,101,174,175,152,19,20,152,22,174,175,116,97,27,28,152,121,174,175,132,133,134,135,136,38,152,174,175,152,174,175,152,132,133,134,135,136,234,152,212,150,199,212,57,212,240,240,203,178,200,216,186,177,19,20,69,22,203,177,182,177,27,28,202,200,228,216,216,155,39,122,159,38,159,41,89,90,91,159,241,241,22,96,97,98,71,130,101,222,191,18,57,203,194,159,194,194,194,18,158,244,191,222,69, -159,158,137,19,20,203,22,191,203,46,236,27,28,159,132,133,134,135,136,89,90,237,38,159,158,22,96,97,98,179,159,101,158,48,159,158,179,176,107,176,184,57,106,176,184,176,125,179,178,176,218,107,176,69,176,217,159,218,218,217,159,137,132,133,134,135,136,218,217,179,217,179,227,89,90,95,230,230,129,207,96,97,98,126,128,101,5,206,205,127,204,10,11,12,13,14,203,25,17,162,26,161,13,153,153,6,247,180,250,151,151,151,151,32,180,34,132,133,134,135,136,167,4,3,43,22,15,68,142,250,16,23,23,120,111,131,20,56, -123,125,16,1,123,131,63,79,79,66,67,111,28,36,122,1,5,22,107,140,54,54,26,61,107,44,20,24,19,105,112,23,22,40,22,22,53,22,53,22,53,23,23,23,22,22,30,116,23,122,26,23,23,22,28,11,124,114,26,26,23,23,23,36,24,23,36,26,22,22,36,23,122,23,22,26,22,24,23,23,23,22,122,23,141,122,122,15,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, -27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, -2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109, -109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117, -115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115, -116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110, -116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110, -115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117, -116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39, -0,37,48,50,120,0,39,0,99,97,110,110,111,116],"i8",4,l.aa+31102); -z([32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95, -100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65, -78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78, -68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84, -32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39, -68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110, -97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116, -101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112, -97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110, -105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111, -119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110, -118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103, -101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111, -111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46, -49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101, -114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121, -0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111, -114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100, -0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66, -105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116, -97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101, -97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67, -111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114,111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116, -101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98, -111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99, -107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114, -97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98, -114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105, -110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120, -45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105, -110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47, -110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110, -107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0, -1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101, -95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48, -54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50, -49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101, -114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111, -110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118, -101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77, -65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114, -101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111, -114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115, -115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115, -116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105, -114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115, -32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82, -101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100, -32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111, -114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116, -111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112, -111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101, -32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115, -0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41342);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8); -f._i64Subtract=zb;f._i64Add=Ab; +202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,181,3,136,0,131,0,208,255,211,255,158,0,241,0,22,0,153,0,226,0,163,0,106,1,108,1,110,1,56,1,58,1,112,1,237,0,236,0,44,1,184,1,114,0,103,1,63,1,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100, +0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,118,1,191,1,205,1,4,2,6,2,55,2,57,2,60,2,62,2,67,2,69,2,71,2,74,2,84,2,119,2,132,2,134,2,137,2,145,2,147,2,149,2,151,2,159,2,196,2,208,2,210,2,247,2,3,3,5,3,42,3,54,3,56,3,93,3,105,3,107,3,162,3,176,3,179,3,184,3,189,3,191,3,193,3,229,3,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,230,1,148,255,173,255,224,0,30,1,195,1,100,0,169,2,100,0,100,0,100,0,100,0,98,1,98,1,98,1,81,1,96,1,49,0,226,1,226,1,247,1,20,2,196,255, +103,2,135,2,177,2,178,2,225,2,14,3,194,255,5,2,21,3,218,1,27,3,68,2,221,2,32,0,150,2,232,1,139,0,166,2,177,1,1,3,4,3,140,1,216,2,119,3,174,3,187,3,197,3,209,3,228,2,254,2,178,0,210,255,239,255,59,0,53,0,118,0,141,0,167,0,248,0,255,0,70,1,185,1,208,1,7,2,156,2,181,2,209,2,224,2,232,2,7,3,20,3,78,3,131,3,144,3,168,3,215,3,217,3,72,0,134,0,30,2,222,3,223,3,85,2,224,3,230,3,252,3,103,3,254,3,3,4,147,3,5,4,6,4,10,4,118,0,11,4,12,4,19,4,20,4,21,4,22,4,163,3,199,3,231,3,232,3,233,3,85,2,235,3,241,3,34,4, +243,3,219,3,234,3,208,3,248,3,213,3,15,4,13,4,14,4,23,4,238,3,236,3,28,4,29,4,9,4,7,4,55,4,226,3,56,4,57,4,237,3,242,3,58,4,4,4,38,4,31,4,43,4,47,4,48,4,49,4,77,4,84,4,45,4,24,4,54,4,59,4,50,4,86,4,89,4,17,4,25,4,98,4,99,4,102,4,94,4,114,4,116,4,120,4,117,4,103,4,109,4,110,4,111,4,105,4,112,4,118,4,119,4,122,4,108,4,123,4,124,4,78,4,85,4,88,4,87,4,90,4,92,4,93,4,95,4,142,4,146,4,96,4,134,4,97,4,100,4,141,4,121,4,125,4,131,4,135,4,137,4,177,4,185,4,196,4,198,4,201,4,202,4,203,4,204,4,127,4,128,4,126, +4,191,4,193,4,179,4,181,4,207,4,59,1,22,5,146,0,153,3,2,0,194,0,154,3,86,1,184,3,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,87,0,87,0,87,0,86,0,83,1,75,1,51,3,51,3,91,0,91,0,91,0,91,0,83,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,63,1,165,3,165,3,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,109,1,4,3,104, +1,24,0,165,3,165,3,179,3,182,2,165,3,165,3,5,3,169,3,165,3,165,3,178,1,203,2,72,1,178,1,51,3,51,3,203,0,160,0,22,1,135,1,17,1,134,1,190,0,165,3,165,3,114,1,166,3,167,3,111,1,15,1,185,3,48,0,167,2,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,170,2,81,1,80,1,218,0,156,1,142,1,68,0,156,1,147,1,166,3,167,3,231,2,191,3,166,3,167,3,42,3,169,3,166,3,167,3,189,3,221,0,190,3,88,0,88,0,87,0,87,0,87,0,86,0,83,1, +35,1,51,3,51,3,166,3,167,3,185,0,94,0,24,3,132,1,129,1,128,1,216,4,216,4,24,3,36,3,192,3,192,3,34,1,30,3,127,1,123,0,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,169,2,229,2,35,3,35,3,35,3,51,3,51,3,176,3,56,0,253,0,97,1,242,0,85,0,82,0,168,0,253,0,102,1,252,0,110,0,96,0,233,0,141,1,186,2,165,2,171,2,171,2,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,177,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87, +0,87,0,86,0,83,1,59,1,178,1,183,1,139,2,140,1,57,0,221,2,221,2,234,0,35,1,107,0,31,1,139,1,86,0,83,1,42,3,171,1,216,2,165,3,165,3,185,0,185,3,30,0,132,1,129,1,128,1,215,0,181,3,178,1,165,3,165,3,51,3,51,3,185,2,127,1,162,0,161,0,151,1,144,1,85,0,82,0,168,0,165,2,36,3,79,1,113,0,3,3,30,3,185,3,48,0,22,0,95,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,102,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,35,3,35,3,35,3,12,1,123,0,156,1,138,1,1,0,165,3,165,3,166,3,167, +3,165,3,165,3,85,0,82,0,168,0,232,0,5,0,87,1,194,0,166,3,167,3,184,3,85,0,82,0,168,0,54,0,188,3,178,1,51,3,51,3,175,1,170,3,171,3,24,3,67,0,247,2,94,1,144,0,166,0,2,3,123,0,128,3,121,3,187,3,92,1,32,1,246,2,185,3,47,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,124,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,113,0,166,3,167,3,175,2,125,3,166,3,167,3,253,0,102,1,252,0,85,0,82,0,168,0,52,3,52,3,188,3,184,3,82,1,170,3,171,3,126,3,189,2,209,2,103,1,33,1,233,0,141, +1,178,1,93,1,178,1,51,3,51,3,187,3,98,3,210,2,23,0,133,1,64,3,67,3,180,2,101,1,136,3,155,2,194,0,190,2,146,1,184,3,185,3,48,0,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,113,0,178,1,168,2,178,1,76,1,178,1,152,1,121,3,100,1,124,1,172,3,145,1,208,2,180,3,96,3,191,0,165,0,73,1,177,2,185,3,9,0,185,3,9,0,185,3,9,0,185,3,9,0,206,2,180,3,51,3,51,3,185,3,8,0,69,1,111,0,71,1,153,0,224,0,184,3,154,1,113,0, +189,0,81,1,80,1,145,3,15,5,84,3,75,0,15,5,73,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,103,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,218,2,148,0,236,0,29,3,110,1,21,3,124,3,155,4,178,1,192,3,192,3,144,1,148,0,58,1,212,0,105,3,143,3,245,2,148,1,104,3,44,1,64,1,178,1,125,3,55,1,237,0,15,1,149,1,185,3,34,0,51,3,51,3,225,0,115,1,177,3,104,1,145,3,16,5,113,0,126,3,16,5,161,1,185,3,35,0,221,4,154,3,86,1,3,1,247,0,34,1,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3, +90,0,90,0,91,0,91,0,91,0,91,0,148,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,54,1,178,1,28,3,178,1,240,0,51,3,51,3,10,1,143,3,108,3,108,3,117,1,90,1,167,0,142,2,143,2,144,2,3,1,244,0,19,0,246,0,185,3,11,0,185,3,26,0,222,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,245,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,5,1,178,1,8,1,184,2,178,1,241,0,178,1,88,1,203,3,52,1,245,2,178,1,28,3,178,1,68,1,178,1,137,1,167,1,178,1,185,3,36,0,185,3,37,0, +20,0,185,3,38,0,185,3,27,0,178,1,51,3,51,3,185,3,28,0,185,3,39,0,185,3,40,0,226,2,185,3,41,0,71,0,226,2,225,2,245,0,51,1,205,3,225,2,3,1,185,3,10,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,116,1,178,1,3,1,149,0,178,1,167,0,185,3,42,0,188,0,187,0,186,0,219,0,178,1,236,2,178,1,206,3,178,1,28,3,178,1,185,3,98,0,185,3,43,0,94,3,185,3,44,0,178,1,152,3,2,0,51,3,51,3,245,2,185,3,31,0,185,3,45,0,185,3,46,0,185, +3,32,0,74,0,51,1,144,3,220,0,3,1,3,1,185,3,115,0,141,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,248,0,178,1,215,0,181,3,51,3,51,3,77,1,185,3,116,0,127,3,92,3,176,0,3,1,206,3,144,1,105,1,3,1,183,3,119,3,185,3,117,0,185,3,52,0,116,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,113,0,178,1,2,1,115,3,51,3,51,3,215,2, +185,3,33,0,107,1,3,1,161,2,65,1,189,0,174,1,65,1,112,1,109,1,108,1,185,3,99,0,185,3,49,0,109,1,59,1,92,0,81,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,211,2,178,1,214,0,165,0,51,3,51,3,4,3,185,3,100,0,66,1,124,0,245,4,158,0,65,0,198,2,5,3,188,2,187,2,64,1,185,3,101,0,185,3,97,0,255,0,59,1,216,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178, +1,251,0,178,1,195,2,196,2,51,3,51,3,223,0,185,3,114,0,140,3,26,3,254,0,53,1,193,0,67,0,125,1,101,3,101,3,199,0,185,3,112,0,185,3,105,0,13,1,214,2,4,1,67,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,7,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,178,2,3,0,150,4,228,0,178,1,113,0,84,1,84,1,100,3,100,3,9,1,79,0,173,1,223,2,3,0,91,3,70,0,176,1,178,1,84,1,84,1,178,1,235,4,178,1,185,3,104,0,178,1,158,2,160,1,254,2,176,1,178,1,193,0,178,1,157,1,178,1,162,1,38,3,185,3,102, +0,164,1,185,3,103,0,185,3,48,0,123,0,185,3,51,0,42,3,162,1,168,1,185,3,53,0,185,3,50,0,185,3,25,0,11,1,123,0,199,2,113,0,42,3,172,1,21,1,183,2,16,1,252,2,113,0,76,0,77,0,178,2,178,1,27,3,113,0,20,1,78,0,180,1,179,1,156,1,158,1,30,3,76,0,77,0,113,0,87,3,91,3,120,1,199,0,78,0,180,1,179,1,185,3,29,0,30,3,232,2,113,0,243,2,79,0,173,1,163,2,3,0,159,1,109,0,36,1,37,1,84,1,84,1,38,3,34,3,166,2,160,2,35,3,35,3,35,3,37,3,18,0,176,1,149,2,148,2,150,2,159,3,209,0,150,0,96,1,35,3,35,3,35,3,37,3,18,0,6,0,50,1, +24,1,26,1,28,1,18,3,162,1,250,0,130,1,243,0,118,3,182,2,106,1,30,1,163,0,19,1,79,0,173,1,42,3,3,0,89,3,88,3,159,0,163,1,84,1,84,1,42,1,162,3,200,3,126,0,196,0,197,3,135,3,133,3,67,1,176,1,136,0,55,0,76,0,77,0,230,2,147,0,58,0,121,0,129,0,78,0,180,1,179,1,65,0,15,3,30,3,98,1,131,0,99,1,162,1,123,1,132,0,133,0,134,0,175,0,139,0,151,0,113,1,120,3,180,0,23,3,42,3,61,0,83,3,103,3,69,0,173,1,119,1,3,0,244,2,210,0,1,1,181,0,84,1,84,1,145,0,35,3,35,3,35,3,37,3,18,0,76,0,77,0,121,1,176,1,6,1,182,0,183,0,78, +0,180,1,179,1,151,2,56,1,30,3,136,1,202,2,201,2,200,2,74,1,193,2,180,2,57,1,192,2,162,1,174,2,150,1,240,2,173,2,18,1,172,2,174,3,64,0,23,1,195,0,25,1,42,3,241,2,71,3,239,2,27,1,72,0,238,2,29,1,166,1,35,3,35,3,35,3,37,3,18,0,78,1,170,1,95,0,155,1,229,0,153,1,76,0,77,0,230,0,222,2,66,0,231,0,38,1,78,0,180,1,179,1,204,0,39,1,30,3,217,0,40,1,41,1,157,2,21,0,49,1,48,1,47,1,206,0,45,1,181,1,160,3,152,2,205,0,208,0,207,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,170,0,169,0,239,0, +35,3,35,3,35,3,37,3,18,0,125,0,120,0,235,0,238,0,61,1,62,1,89,1,106,0,22,3,99,3,127,0,97,3,128,0,130,0,212,2,249,0,172,0,174,0,114,3,135,0,137,0,59,0,138,0,173,0,60,0,117,3,123,0,171,0,177,0,178,0,113,3,7,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,154,2,152,0,122,1,20,1,184,0,126,1,142,0,122,0,62,0,13,0,131,1,191,2,14,1,14,0,63,0,227,0,41,3,40,3,69,3,220,2,15,0,73,3,224,2,4,0,253,2,211,0,143,1,164,0,213,0,143,0,248,2,201,0,70,0,60,1,67,0,70,3,68,3,123,3,198,0,192,0,16,0,197,0,122,3,149, +3,154,0,17,0,202,0,165,1,150,3,155,0,200,0,156,0,169,1,72,3,39,3,237,4,164,2,80,0,46,1,43,1,91,1,236,4,155,3,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,138,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,90,0,132,0,80,1,76,0,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4, +180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,23,0,202,1,249,1,212,1,212,1,23,0,201,0,87,1,198,255,184,255,184,255,184,255,11,0,11,0,11,0,156,1,156,1,85,1,25,2,93,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,123,2,42,1,74,0,74,0,87,1,255,255,255,255,255, +255,255,255,255,255,255,255,184,255,184,255,184,255,228,0,101,0,101,0,203,0,75,0,71,0,17,1,28,1,89,1,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,165,1,165,1,165,1,23,0,23,0,70,2,23,0,23,0,23,0,100,1,23,0,23,0,73,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,56,2,63,2,200,1,200,1,200,1,192,2,171,0,133,2,162,2,90,3,78,2,78,2,146,3,90,3,146,3,114,1,195,3,118,3,180,3,78,2,169,1,180,3,180,3,96,3,129,2,15,2,172,4,91,4,91,4,173,4,173,4,91,4,197,4,155,4,101, +4,216,4,216,4,216,4,216,4,91,4,220,4,101,4,197,4,155,4,155,4,101,4,91,4,220,4,113,4,209,4,91,4,91,4,220,4,241,4,91,4,220,4,91,4,220,4,241,4,175,4,175,4,175,4,238,4,241,4,175,4,182,4,175,4,238,4,175,4,175,4,168,4,192,4,168,4,192,4,168,4,192,4,168,4,192,4,91,4,91,4,171,4,241,4,222,4,222,4,241,4,190,4,194,4,199,4,195,4,101,4,52,5,58,5,78,5,78,5,88,5,88,5,88,5,88,5,184,255,184,255,184,255,184,255,184,255,184,255,184,255,184,255,144,1,111,2,230,2,48,3,146,2,185,2,227,0,244,3,152,2,245,3,246,3,250,3,2, +4,27,4,123,3,253,3,16,4,44,4,60,4,42,4,115,4,142,3,186,3,130,4,64,4,210,3,100,5,102,5,84,5,231,4,93,5,53,5,106,5,101,5,103,5,3,5,250,4,16,5,5,5,109,5,7,5,114,5,132,5,11,5,4,5,57,5,60,5,26,5,112,5,107,5,22,5,144,5,141,5,125,5,41,5,9,5,96,5,126,5,97,5,92,5,110,5,48,5,133,5,136,5,139,5,47,5,55,5,140,5,108,5,142,5,143,5,145,5,147,5,113,5,137,5,148,5,118,5,123,5,149,5,150,5,151,5,59,5,154,5,155,5,157,5,156,5,61,5,158,5,161,5,152,5,159,5,163,5,62,5,162,5,160,5,164,5,165,5,162,5,168,5,169,5,170,5,171,5, +175,5,172,5,166,5,176,5,178,5,179,5,180,5,181,5,183,5,184,5,180,5,186,5,185,5,187,5,189,5,191,5,65,5,80,5,89,5,95,5,192,5,199,5,217,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, +21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21, +5,21,5,21,5,21,5,21,5,21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223, +3,156,4,56,4,223,3,56,4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21, +5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116, +97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112, +108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103, +99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0, +101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104, +116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,50,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3, +4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148, +149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3, +5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111, +114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116, +114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,51,45,50,57,32,49,48,58,49,52,58,49,53,32,101,57,98,98,52,99,102,52,48,102,52,57,55,49,57,55,52,97,55,52,52,54,56,101,102,57,50,50,98,100,101,101,52,56,49,99,57,56,56,98,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102, +117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5, +6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73, +83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68, +65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69, +70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101, +50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0, +82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101],"i8",4,l.aa+10346); +z([120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111, +111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111, +116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32, +97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65, +66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82, +69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69, +78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116, +101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40, +105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113, +95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69, +82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101, +108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101, +103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100, +111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37, +113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40, +42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32, +32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65, +78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95, +98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101, +108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108, +101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108, +100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105, +108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103, +32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69, +89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108, +97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32, +84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100, +32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115, +32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44, +32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101, +118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39, +40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81, +0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112, +101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108, +97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101, +110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99, +117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101, +103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115, +61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58, +32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99, +104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114, +101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110, +105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147, +3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1, +195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173,3,173,3,173, +3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0,240,2,149,1, +149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112, +116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116, +114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32, +68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112, +101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108, +117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100, +0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32, +119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32, +87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119, +105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121, +112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32, +110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115, +101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116, +101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32, +71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115, +101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104, +101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110, +121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101, +32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32, +102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116, +114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32, +37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98, +108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76],"i8",4,l.aa+20586); +z([32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115, +101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37, +100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99, +116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116, +101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81, +46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117, +110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115, +113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109, +97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32, +111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114, +101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101, +119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39, +116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120, +99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32, +119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105, +110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32, +0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105, +116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117, +115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111, +0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116, +111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95, +115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95, +115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121, +110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113, +117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102, +111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46, +42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101, +114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32, +65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115, +63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109, +97,108,102,117,110,99,116,105,111,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0, +16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78, +32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32, +100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114, +114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67, +84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32, +84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32, +37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101, +114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76, +69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108, +117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101, +105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116, +97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82, +89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37, +113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32, +105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115, +0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115, +101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105, +115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25,0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95, +19,50,51,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,157,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,152,22,27,28,179,180,27,28,42,27,27,28,152,188,95,152,50,51,99,100,101,102,103,104,105,27,28,227,97,98,230,112,172,173,172,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,172,89,90,218,207,208,26,207,208,97,98,91,100,97,98,69,97,97,98,107,237,109,89,90,91,92,93,94,95,152,50, +51,97,98,99,55,59,102,103,104,119,120,59,97,132,133,152,101,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,187,85,86,87,88,89,90,91,92,93,94,95,172,210,132,133,134,50,51,185,53,108,109,110,221,222,223,108,109,110,22,22,119,120,181,27,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,148,149,115,24,117,118,154,152,156,152,163,94,95,69,249,163,27,28,99,172,173,102,103,104,194,195,152,27,28,50,51,181,113,89,90,152,206,221,222,223,97,97,187,196,175,101,172,173, +196,219,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,66,207,208,22,27,28,97,98,27,28,221,222,223,199,22,243,24,97,98,27,221,222,223,209,152,152,50,51,168,169,170,59,26,124,100,58,152,175,66,240,163,169,170,152,124,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,12,85,86,87,88,89,90,91,92,93,94,95,19,196,97,98,23,29,97,98,108,109,110,221,222,223,50,51,152,97,168,169,170,45,37,47,219,224,119,120,152,229,152,50,51,169,170,59,231,52,74,75,106,236,152,21, +24,60,163,27,172,173,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,152,196,152,23,152,207,152,207,163,65,19,171,152,190,191,229,211,212,111,179,172,173,172,173,172,173,172,173,190,191,50,51,172,173,186,22,186,24,186,97,186,196,51,89,90,22,23,103,137,26,139,71,72,73,74,75,76,77,78,79,80,81,82,83,219,85,86,87,88,89,90,91,92,93,94,95,19,195,152,152,23,236,163,12,140,152,132,133,206,152,164,23,31,70,26,19,35,160,107,152,29,164,152,112,28,172,173,50,51,183,49,185, +152,22,23,196,45,26,47,172,173,0,1,2,152,16,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,152,152,152,152,50,51,16,70,108,109,110,193,98,7,8,9,152,62,22,64,172,173,172,173,218,71,72,73,74,75,76,77,78,79,80,81,82,83,124,85,86,87,88,89,90,91,92,93,94,95,19,152,62,152,64,181,152,193,152,241,246,247,26,152,152,152,217,152,91,249,152,172,173,172,173,79,172,173,172,173,152,50,51,172,173,172,173,172,173,116,172,173,138,116,121,140,22,23,121,152,172,173,71,72,73,74, +75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,217,152,152,24,152,98,172,173,108,109,110,193,152,213,152,70,152,152,152,172,173,172,173,152,172,173,152,146,147,50,51,124,172,173,172,173,172,173,172,173,138,22,23,193,152,152,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,152,152,194,195,50,51,217,172,173,193,193,26,152,70,206,152,152,26,163,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91, +92,93,94,95,152,196,152,193,152,50,51,193,172,173,19,152,166,167,51,166,167,152,152,28,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,193,152,211,212,50,51,33,172,173,244,245,23,123,130,26,42,100,101,107,172,173,172,173,152,19,22,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,237,152,7,8,50,51,237,172,173,23,23,23,26,26,26,23,132,133,26,172,173,172,173,23,163,152,26,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87, +88,89,90,91,92,93,94,95,19,20,27,22,23,210,152,196,27,28,132,133,152,19,20,23,22,27,26,38,152,27,28,152,122,152,172,173,152,163,191,23,38,152,26,152,163,152,57,27,172,173,163,172,173,172,173,66,172,173,69,57,163,172,173,172,173,172,173,152,66,152,196,69,163,101,152,152,152,196,89,90,97,152,152,196,112,96,97,98,207,208,101,89,90,196,23,97,233,26,96,97,98,172,173,101,152,196,152,19,20,23,22,152,26,152,152,27,28,97,152,152,152,132,133,134,135,136,38,152,152,152,152,232,197,214,132,133,134,135,136,198, +150,210,210,210,201,57,238,176,214,201,180,238,214,184,175,19,20,69,22,175,175,198,226,27,28,200,155,39,242,122,41,159,159,159,38,22,239,89,90,91,220,239,71,189,96,97,98,130,201,101,18,192,159,57,18,192,192,192,158,189,220,159,201,158,189,69,137,201,235,19,20,46,22,159,159,234,158,27,28,22,132,133,134,135,136,89,90,177,38,159,158,158,96,97,98,159,177,101,107,174,174,174,48,182,106,177,182,57,174,125,216,176,174,174,174,107,215,159,215,69,216,159,216,215,137,216,215,177,132,133,134,135,136,95,177, +129,126,225,127,89,90,228,205,128,228,204,96,97,98,25,203,101,5,202,201,162,26,10,11,12,13,14,161,13,17,153,6,153,151,151,151,151,165,178,165,178,4,3,22,32,15,34,132,133,134,135,136,245,165,142,43,248,248,68,16,120,23,131,23,111,123,20,16,56,125,1,123,131,79,111,63,79,28,66,67,36,122,1,5,22,107,140,54,54,26,61,44,107,20,24,19,112,105,53,22,40,22,22,53,30,23,22,22,53,23,23,23,116,22,11,23,22,28,23,26,122,23,22,124,122,26,114,26,23,23,23,22,36,36,26,23,23,22,36,122,24,23,22,26,22,24,23,23,122,23,22, +15,23,141,122,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1, +1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104, +101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116, +121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115, +0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81, +76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32, +110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72, +69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115, +32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115, +32,105,110,32,112,114,111,103,114],"i8",4,l.aa+30826); +z([101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32, +32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32, +32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84, +69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116, +97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87, +72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97, +115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32, +32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114, +101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104, +116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117, +32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100, +0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108, +105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109, +106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101, +120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78, +117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110, +105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100, +101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101, +113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116, +0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68, +101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114, +105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114, +111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116, +0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101, +115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114, +114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111, +116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116, +104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104, +32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101, +0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115, +105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110, +99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58, +32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69, +70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102, +0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111, +116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57, +65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99, +104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48, +50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76, +69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124, +0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114, +121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115, +111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110, +32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32, +114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105, +110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108, +101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117, +110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32, +114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32, +116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32, +102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116, +32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105, +111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114, +32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41066);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; var D={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Bb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", 13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", @@ -456,22 +454,22 @@ T();T();T();var d=M[c];if(!d)throw new H(D.L);uc(d.g);return 0}catch(e){return"u var W=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_i;var ga=env.jsCall_i;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_vii;var ka=env.jsCall_vii;var la=env.invoke_iiiiiii;var ma=env.jsCall_iiiiiii;var na=env.invoke_ii;var oa=env.jsCall_ii;var pa=env.invoke_viii;var qa=env.jsCall_viii;var ra=env.invoke_v;var sa=env.jsCall_v;var ta=env.invoke_iiiii;var ua=env.jsCall_iiiii;var va=env.invoke_viiiiii;var wa=env.jsCall_viiiiii;var xa=env.invoke_iii;var ya=env.jsCall_iii;var za=env.invoke_iiiiii;var Aa=env.jsCall_iiiiii;var Ba=env.invoke_viiii;var Ca=env.jsCall_viiii;var Da=env._pthread_cleanup_pop;var Ea=env.___syscall85;var Fa=env._sin;var Ga=env._exp;var Ha=env._utimes;var Ia=env._llvm_pow_f64;var Ja=env._acos;var Ka=env.___syscall54;var La=env._pthread_cleanup_push;var Ma=env._abort;var Na=env.___syscall40;var Oa=env.___syscall118;var Pa=env.___setErrNo;var Qa=env.___syscall20;var Ra=env.___syscall183;var Sa=env.___assert_fail;var Ta=env._usleep;var Ua=env._asin;var Va=env.___buildEnvironment;var Wa=env.___syscall202;var Xa=env.___syscall91;var Ya=env._cos;var Za=env.___syscall39;var _a=env._localtime_r;var $a=env._tzset;var ab=env._emscripten_set_main_loop_timing;var bb=env._sbrk;var cb=env.___syscall192;var db=env.___syscall197;var eb=env.___syscall196;var fb=env.___syscall195;var gb=env.___syscall194;var hb=env.___syscall212;var ib=env._sysconf;var jb=env.___syscall94;var kb=env._nanosleep;var lb=env._emscripten_memcpy_big;var mb=env.___syscall221;var nb=env._floor;var ob=env._atan;var pb=env.___syscall201;var qb=env._pthread_self;var rb=env._getenv;var sb=env.___syscall33;var tb=env._log;var ub=env.___unlock;var vb=env.___syscall140;var wb=env.___syscall15;var xb=env._emscripten_set_main_loop;var yb=env.___syscall10;var zb=env._tan;var Ab=env.___syscall3;var Bb=env.___lock;var Cb=env.___syscall6;var Db=env.___syscall5;var Eb=env.___syscall4;var Fb=env._time;var Gb=env._atan2;var Hb=env._gettimeofday;var Ib=env._ceil;var Jb=env._sqrt;var Kb=env._localtime;var Lb=env.___syscall207;var Mb=env.___syscall146;var Nb=0.0; // EMSCRIPTEN_START_FUNCS -function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[352+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}vf(c[e>>2]|0,c[352+((c[f>>2]|0)*12|0)>>2]|0,a[352+((c[f>>2]|0)*12|0)+4>>0]|0,d[352+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[352+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[832+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}vf(c[e>>2]|0,c[832+(c[f>>2]<<4)>>2]|0,a[832+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[832+(c[f>>2]<<4)+8>>2]|0,c[832+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,378,17622);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,379,17631);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,380,17640);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(17649,17598,570,17657);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);ie(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}me(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,394,17666);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+ZP(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,402,17676);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+_P(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,410,17686);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+$P(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(17649,17598,1680,17696);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}ke(c[f>>2]|0,c[j>>2]|0);i=o;return}me(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,498,18100);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,499,18112);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,420,18124);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,419,18132);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,421,18140);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,422,18148);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,446,18156);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+aQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,438,18165);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+eQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,454,18174);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+fQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,456,18183);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,474,18192);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,472,18200);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,473,18208);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+cQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(17649,17598,546,18218);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);c[(SP()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){ie(e,+h[k>>3]);i=l;return}else{m=TP(c[(SP()|0)>>2]|0)|0;je(e,m,c[(SP()|0)>>2]|0);i=l;return}}me(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17590,17598,590,18228);switch(fe(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=ee(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;le(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[j>>2]|0);i=k;return}default:{h[g>>3]=+ce(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);ie(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,375,18237);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,514,18246);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=ee(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;le(a,rR(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);ie(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17590,17598,620,18257);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17590,17598,645,18266);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;ie(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(fe(c[c[f>>2]>>2]|0)|0)){i=n;return}a=ee(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[e>>2]|0,18276,-1);i=n;return}a=be(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=rR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=gR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=gR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;zQ(o,ae(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=rR(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;zQ(o+k|0,c[m>>2]|0)|0;k=g;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}ne(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}te(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(18289,17598,1038,18307);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(de(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;ke(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}me(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|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;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,1073,18321);if(5!=(fe(c[c[h>>2]>>2]|0)|0)?5!=(fe(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=de(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){DQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;ne(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{te(c[g>>2]|0);i=p;return}}me(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,1113,18330);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[k>>2]=de(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){zQ(c[l>>2]|0,c[o>>2]|0)|0;ne(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{te(c[f>>2]|0);i=p;return}}me(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(18340,17598,1323,18348);if(5==(fe(c[c[g>>2]>>2]|0)|0)){me(c[f>>2]|0);i=o;return}c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[j>>2]=BQ(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){te(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}ne(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(17590,17598,724,18360);if(5==(fe(c[c[f>>2]>>2]|0)|0)){me(c[g>>2]|0);i=n;return}c[k>>2]=ae(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){te(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(NP(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=RP(f)|0;else a[j>>0]=QP(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(17649,17598,771,18371);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[m>>2]|0);i=o;return}c[j>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[m>>2]|0,18276,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){ne(f,c[n>>2]|0,-1,-1);break}te(f);i=o;return}else{p=BQ(f)|0;b=h;b=gR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=fR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=gR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){te(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=gR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}zQ(f,c[j>>2]|0)|0}while(0);ne(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,825,18408);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18276,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=BQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=gR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=fR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=gR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}q=zQ(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=gR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,880,18417);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18276,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=BQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=gR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=fR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=gR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=gR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}zQ(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=gR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(17649,17598,939,18426);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=ae(c[c[g>>2]>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((BQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){te(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);DQ(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;ne(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}me(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(17590,17598,1395,18440);c[j>>2]=xe(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=gR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+ce(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(17590,17598,1418,18453);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=xe(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=aR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ee(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=aR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+ce(e);c[l>>2]=aR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);$Q(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;le(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{ie(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=rR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=aR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$Q(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,17581)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=gR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((MP(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){zQ(c[j>>2]|0,17839)|0;i=l;return}e=(RP(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[17711+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[17844+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[928+(c[f>>2]<<2)>>2]|0);if(((c[944+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+fQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((BQ(c[d>>2]|0)|0)+1|0)|0;a=zQ(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(18380,17598,316,18389);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[17844+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=gR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=gR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);$Q(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;ie(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){le(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;ie(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=gR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=fR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=gR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=gR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=gR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,18469,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=If(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=7){d=9;break}if((zd(c[d>>2]|0,c[968+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Jf(a[(c[968+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[18477+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[18477+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[18477+(d[c[j>>2]>>0]|0)>>0]|0)-(d[18477+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<7){c[b>>2]=c[968+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Kf(16368)|0;l=c[g>>2]|0;i=m;return l|0}if(a[18733+(c[h>>2]|0)>>0]|0)b=Lf()|0;else b=Mf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[996+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1036+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1036+(c[h>>2]<<2)>>2]=c[996+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[269];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(yQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;a=f;if(c[59]|0){c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}c[e>>2]=0;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[61]=1;if(!(c[62]|0))c[e>>2]=Tf()|0;if(((c[e>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[e>>2]=7;if(!(c[e>>2]|0))c[64]=(c[64]|0)+1;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}if((c[59]|0)==0&(c[60]|0)==0){c[a>>2]=1080;c[60]=1;a=c[a>>2]|0;b=a+92|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Uf();if(!(c[63]|0))c[e>>2]=Vf()|0;if(!(c[e>>2]|0)){c[63]=1;c[e>>2]=Wf()|0}if(!(c[e>>2]|0)){Xf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Yf(c[f>>2]|0);b=c[269]|0;if((c[g>>2]|0)!=0|(c[269]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[269]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[269]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=288;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=288;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=Zf(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[77]=a&1;l=Hd()|0;k=f;k=fR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=_f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=_f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){ag(0,$f(c[b>>2]|0)|0);ag(9,1);Qb[c[48>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[48>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=bg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=bg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{cg(g,0,j+44|0,70,1e9);dg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=eg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{cg(k,0,e,c[g>>2]|0,0);dg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=eg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;fg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[18743]=0;i=m;return}if(!(a[18743]|0)){a[18745]=0;a[18744]=0;gg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18746+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18745]=(d[18745]|0)+((d[18746+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[18746+(d[18745]|0)>>0]|0;a[18746+(d[18745]|0)>>0]=a[18746+(c[h>>2]|0)>>0]|0;a[18746+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[18743]=1}do{a[18744]=(a[18744]|0)+1<<24>>24;a[k>>0]=a[18746+(d[18744]|0)>>0]|0;a[18745]=(d[18745]|0)+(d[k>>0]|0);a[18746+(d[18744]|0)>>0]=a[18746+(d[18745]|0)>>0]|0;a[18746+(d[18745]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[18746+(d[18744]|0)>>0]|0);j=a[18746+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;if(!(c[e>>2]|0)){c[g>>2]=(a|0)!=0?-1:0;j=c[g>>2]|0;i=k;return j|0}if(!a){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}c[h>>2]=c[e>>2];c[j>>2]=c[f>>2];while(1){if(d[c[h>>2]>>0]|0)b=(d[18477+(d[c[h>>2]>>0]|0)>>0]|0|0)==(d[18477+(d[c[j>>2]>>0]|0)>>0]|0|0);else b=0;a=c[h>>2]|0;if(!b)break;c[h>>2]=a+1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=(d[18477+(d[a>>0]|0)>>0]|0)-(d[18477+(d[c[j>>2]>>0]|0)>>0]|0);j=c[g>>2]|0;i=k;return j|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1172+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;kg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(lg(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Of(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Of(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=mg(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;ng(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(og(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=mg(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=pg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=pg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=qg(Of(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=rg(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=sg(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=ug(b,a,tg(c[o>>2]|0)|0,0)|0;vg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))wg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=xg(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=yg(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)zg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=rR(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Bg(c[x>>2]|0)|0;Cg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=sg(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Dg(c[n>>2]|0)|0;vg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Eg(c[x>>2]|0,0,1)|0;o=(c[381]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[381]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[381]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=pR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=gR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=sg(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=tg(c[A>>2]|0)|0;q=u;c[D>>2]=Fg(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}vg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=gR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Gg(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Hg(c[x>>2]|0,0)|0}else{Ig(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Eg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Jg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Kg(c[(c[r>>2]|0)+24>>2]|0,0)|0;Jg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];kg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Lg(Of(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Mg(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){jg(c[c[e>>2]>>2]|0,c[g>>2]|0);Ng(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Ng(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+168>>2]|0;i=d;return e|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Og(c[g>>2]|0)|0){c[b>>2]=Kf(72362)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Pg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Qg(c[g>>2]|0)|0;c[f>>2]=Rg(c[e>>2]|0,c[f>>2]|0)|0;Ng(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Pg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Sg(c[f>>2]|0)|0;Tg(c[f>>2]|0);c[e>>2]=Rg(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function _d(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;Ug((c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+88>>1]|0)>>>8&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+188>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+88|0;b[j>>1]=b[j>>1]&-9|8;j=c[g>>2]|0;i=h;return j|0}function $d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ae(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if(Vg(c[f>>2]|0)|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wg(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xg(c[d>>2]|0,1)|0;i=b;return a|0}function ce(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+Yg(c[e>>2]|0);i=d;return +b}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0)|0;i=b;return a|0}function fe(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[19002+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ah(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){bh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{ah(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function ie(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;ch(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;dh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;eh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;eh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fh(c[c[d>>2]>>2]|0);i=b;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ah(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function oe(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[960]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){bh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{ah(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;gh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{hh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;dh(b,ih(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;dh(c[c[e>>2]>>2]|0,19034,-1,1,0)|0;i=d;return}function te(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;fh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;jh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function ue(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;l=o+4|0;n=o;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(kh(c[m>>2]|0)|0){c[e>>2]=Kf(72913)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-513;while(1){d=lh(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+76>>2];d=mh(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;Zd(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-513|512}do if(c[k>>2]|0){c[n>>2]=ae(c[(c[h>>2]|0)+236>>2]|0)|0;Sf(c[h>>2]|0,c[(c[m>>2]|0)+44>>2]|0);if(a[(c[h>>2]|0)+65>>0]|0){c[(c[m>>2]|0)+44>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+80>>2]=7;break}else{n=nh(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=n;c[(c[m>>2]|0)+80>>2]=c[k>>2];break}}while(0);c[j>>2]=Rg(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=oh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function ye(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function ze(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=be(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+ce(qh(c[f>>2]|0,c[g>>2]|0)|0);rh(c[f>>2]|0);i=e;return +(+h[d>>3])}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=de(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=ee(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;rh(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ge(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=qh(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;rh(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;rh(j);j=c[g>>2]|0;i=h;return j|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=sh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=uh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}ch((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Me(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=uh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;eh((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=uh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Pe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(fe(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Ke(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Qe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Je(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=th(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Ne(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=uh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}hh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Re(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+68>>1]|0;i=e;return f|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=vh(a,b,If(c[e>>2]|0)|0)|0;i=d;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fe(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];xh(c[e>>2]|0,0);c[d>>2]=fe(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=ph(c[F>>2]|0,28,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=yh(c[F>>2]|0,544,0)|0,(c[J>>2]|0)!=0):0){while(1){kR(c[J>>2]|0,0,544)|0;c[c[J>>2]>>2]=c[F>>2];Sf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Nf(c[F>>2]|0);c[A>>2]=zh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Ah(h,19057,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Ah(h,19087,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Ah(h,19123,E)}if(!(c[A>>2]|0)){k=13;break}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(Td(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=19165;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=19177;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Ch(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Dh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Eh(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Fh(c[B>>2]|0,1);c[s>>2]=Gh(c[B>>2]|0,9,19219,0)|0;Hh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+65>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Ih(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+65>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=55;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+444>>1]=1;c[(c[J>>2]|0)+76>>2]=1;c[(c[J>>2]|0)+72>>2]=1;Jh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+65>>0]|0)break a;h=q;Me(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Kh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Sf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Sf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Bh(P,19144,N)|0;c[K>>2]=1;break}else if((k|0)==42){Sf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Bh(N,19185,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+65>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19255:0;I=c[O>>2]|0;c[M>>2]=I;hg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Sf(N,P);P=c[J>>2]|0;Lh(P);P=c[F>>2]|0;O=c[J>>2]|0;Sf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Rg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Qg(c[(c[I>>2]|0)+20>>2]|0)|0;Sf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19255:0;I=c[O>>2]|0;c[M>>2]=I;hg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Sf(N,P);P=c[J>>2]|0;Lh(P);P=c[F>>2]|0;O=c[J>>2]|0;Sf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Rg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Yd(c[(c[d>>2]|0)+20>>2]|0)|0;Sf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Nh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Kf(81515)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Kh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?19255:0;c[k>>2]=c[l>>2];hg(h,a,n,k);Sf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Rg(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Ph(c[f>>2]|0,c[e>>2]|0,19258,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Ph(c[h>>2]|0,c[g>>2]|0,19262,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Qh(c[k>>2]|0)|0)){c[j>>2]=Kf(105510)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=19266;jg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=ye(c[v>>2]|0)|0;do{c[w>>2]=ue(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=ph(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Ie(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Fe(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(He(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Qg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[19267+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Sf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)jh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Qg(c[v>>2]|0)|0;c[v>>2]=0;jg(c[k>>2]|0,4)}if(c[v>>2]|0)Qg(c[v>>2]|0)|0;Sf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Rg(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(If(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=_f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;iR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;jg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Rh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=ih(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Sh(c[e>>2]|0)|0)){c[d>>2]=ih(Kf(134947)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+65>>0]|0)){c[f>>2]=ae(c[(c[e>>2]|0)+236>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=ih(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=ih(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Rh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Th(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){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;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;m=q+8|0;p=q+4|0;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[p>>2]=0;c[k>>2]=c[(c[h>>2]|0)+328>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[m>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=ph(c[h>>2]|0,544,0)|0;if(!(c[l>>2]|0))c[n>>2]=7;else{a[(c[l>>2]|0)+454>>0]=1;c[c[l>>2]>>2]=c[h>>2];c[(c[l>>2]|0)+428>>2]=1;if((((0==(Uh(c[l>>2]|0,c[j>>2]|0,p)|0)?(c[(c[l>>2]|0)+488>>2]|0)!=0:0)?(a[(c[h>>2]|0)+65>>0]|0)==0:0)?(c[(c[(c[l>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[l>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[m>>2]|0)+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2];b[(c[m>>2]|0)+34>>1]=b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]|0;b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]=0;c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2]=0}c[(c[k>>2]|0)+12>>2]=1}else{m=c[h>>2]|0;f=(c[p>>2]|0)!=0?19255:0;c[o>>2]=c[p>>2];hg(m,1,f,o);Sf(c[h>>2]|0,c[p>>2]|0);c[n>>2]=1}a[(c[l>>2]|0)+454>>0]=0;if(c[(c[l>>2]|0)+8>>2]|0)Qg(c[(c[l>>2]|0)+8>>2]|0)|0;Qf(c[h>>2]|0,c[(c[l>>2]|0)+488>>2]|0);Lh(c[l>>2]|0);Sf(c[h>>2]|0,c[l>>2]|0)}c[n>>2]=Rg(c[h>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}jg(c[h>>2]|0,21);c[g>>2]=Kf(119136)|0;p=c[g>>2]|0;i=q;return p|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[19523+((d[(c[b>>2]|0)+70>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+328>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Kf(119587)|0;break}}else c[j>>2]=Kf(119595)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}jg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 18462}function kf(){return 19541}function lf(){return 3011e3}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Kf(133154)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=c[b>>2];c[12]=c[b+4>>2];c[13]=c[b+8>>2];c[14]=c[b+12>>2];c[15]=c[b+16>>2];c[16]=c[b+20>>2];c[17]=c[b+24>>2];c[18]=c[b+28>>2];break}case 5:{if(!(c[11]|0))Xh();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[11];c[b+4>>2]=c[12];c[b+8>>2]=c[13];c[b+12>>2]=c[14];c[b+16>>2]=c[15];c[b+20>>2]=c[16];c[b+24>>2]=c[17];c[b+28>>2]=c[18];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(Yh()|0)+(Zh()|0)+(_h()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=112;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[30]|0))$h();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=112;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Nf(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Of(c[e>>2]|0)|0;ai(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+80>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(c[d>>2]|0,0)|0;i=b;return a|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(c[d>>2]|0,1)|0;i=b;return a|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+448>>2]=c[h>>2];c[(c[f>>2]|0)+448+4>>2]=c[g>>2];c[(c[f>>2]|0)+448+8>>2]=0;c[(c[f>>2]|0)+496>>2]=0;i=e;return 0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){tf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+496>>2]=c[e>>2];i=f;return 0}else{tf(a,0,0)|0;i=f;return 0}return 0}function vf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=wf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function wf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=ph(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=fi(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Sf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Rg(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=If(c[f>>2]|0)|0;c[h>>2]=0;if(!(gi(c[e>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=fi(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Rg(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){zf(a,139,c[d>>2]|0)|0;i=e;return 0}else{zf(a,0,0)|0;i=e;return 0}return 0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+220>>2];c[(c[g>>2]|0)+216>>2]=c[j>>2];c[(c[g>>2]|0)+220>>2]=c[h>>2];i=f;return c[e>>2]|0}function Af(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ji(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];hg(d,1,19602,q)}else{c[(c[j>>2]|0)+448+8>>2]=0;c[p>>2]=ki(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;jg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Rg(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Af(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Cf(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Sh(c[e>>2]|0)|0)==0:0){c[b>>2]=Kf(135016)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+65>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1536+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1536+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=mi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=si(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}kg(c[j>>2]|0);c[k>>2]=Of(c[j>>2]|0)|0;c[h>>2]=Bg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=ti(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=ui(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=vi(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(If(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=yQ(c[e>>2]|0,c[f>>2]|0)|0;d=(If(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(If(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Gf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Bi(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function If(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(BQ(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Jf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[19267+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Kf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(kf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Rd(21,47042,d);i=b;return 21}function Lf(){return c[417]|0}function Mf(){return c[70]|0}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Of(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}bv(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Sf(c[d>>2]|0,c[c[e>>2]>>2]|0);Sf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Zu(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);_u(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Qf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=l;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+528>>2]|0)!=0:0))k=4;if((k|0)==4?(d=(c[f>>2]|0)+36|0,k=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=k,(k&65535|0)>0):0){i=l;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+528>>2]|0)!=0:0)){c[j>>2]=c[c[g>>2]>>2];Oj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}WG(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}LP(c[e>>2]|0,c[f>>2]|0);RG(c[e>>2]|0,c[f>>2]|0);Sf(c[e>>2]|0,c[c[f>>2]>>2]|0);Sf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Wu(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);CH(c[e>>2]|0,c[f>>2]|0);Sf(c[e>>2]|0,c[f>>2]|0);i=l;return}function Rf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;oC(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);oC(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];KP(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Sf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Sf(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Sf(a,c[(c[j>>2]|0)+64>>2]|0);KP(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Sf(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Sf(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Sf(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+528>>2]|0){JP(a,b);i=g;return}if(au(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+248+28>>2];c[(c[d>>2]|0)+248+28>>2]=c[f>>2];f=(c[d>>2]|0)+248+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Tf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[11]|0))Xh();c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[75]=c[d>>2];c[76]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[74]=(c[d>>2]|0)+4}else{c[74]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[64>>2]&255](c[18]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;f=c[e>>2]|0;i=g;return f|0}function Uf(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=1080;c[a>>2]=7788;c[b>>2]=0;while(1){if((c[b>>2]|0)>=57)break;Yt(c[d>>2]|0,(c[a>>2]|0)+(c[b>>2]<<5)|0);c[b>>2]=(c[b>>2]|0)+1}tO();uO();i=e;return}function Vf(){if(!(c[30]|0))$h();return Tb[c[120>>2]&255](c[29]|0)|0}function Wf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[409]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[412]=c[f>>2];b=c[g>>2]|0;c[419]=b;c[413]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[414]=d;c[415]=c[e>>2];c[418]=0;c[420]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[418];c[418]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[416]=d;i=j;return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[269]|0)==(c[d>>2]|0)){c[269]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[269]|0)){i=f;return}c[e>>2]=c[269];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function Zf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[996+(c[b>>2]<<2)>>2]|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){sO(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[44>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function $f(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[56>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=996+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=_f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=$f(c[f>>2]|0)|0;c[j>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[52>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Mi(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=Zf(0)|0;n=C;b=288;a=c[h>>2]|0;a=fR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)rO(c[h>>2]|0);c[l>>2]=Yb[c[52>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=288;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){rO(c[g>>2]|0);c[l>>2]=Yb[c[52>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=$f(c[l>>2]|0)|0;Ni(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function cg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function dg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=0;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);aA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=mO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=mO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=46051;a[na>>0]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[46051+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=46051+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 14:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 1:case 16:{qa=62;break}case 4:case 3:case 2:{if(a[m>>0]|0)h[ea>>3]=+nO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==4&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==2)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(HF(+h[ea>>3])|0){c[p>>2]=46238;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[46242]|0;a[b+1>>0]=a[46243]|0;a[b+2>>0]=a[46244]|0;a[b+3>>0]=a[46245]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=2?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==4){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=2;break c}while(0);a[na>>0]=3}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==3)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=gR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=gR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=gR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=gR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=gR(b|0,C|0,15,0)|0,b=_f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=oO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=oO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==3){f=a[46198+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 5:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 8:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 9:{if(a[m>>0]|0){c[p>>2]=pO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){qO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}qO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 7:case 6:{if(a[m>>0]|0){c[p>>2]=pO(c[X>>2]|0)|0;a[na>>0]=6}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==7)c[oa>>2]=c[p>>2]}else c[p>>2]=19266;if((c[aa>>2]|0)<0){c[Q>>2]=If(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 15:case 11:case 10:{a[da>>0]=(d[na>>0]|0)==15?34:39;if(a[m>>0]|0)c[v>>2]=pO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==11?40498:46246;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==11;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=_f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 12:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)aA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 13:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){AD(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);aA(c[j>>2]|0,45876,1)}AD(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=mO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=fR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=mO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=_f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==16){sa=R;sa=tR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=sR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=tR(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[46189+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[46189+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=46198+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=tR(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=sR(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=46231+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))qO(c[j>>2]|0,c[ja>>2]|0,32);aA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)qO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Sf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){aA(c[j>>2]|0,46049,1);i=ra;return}else if((qa|0)==92){eA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){eA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){eA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function eg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=yh(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){iR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{eA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;cg(g,0,e+40|0,210,0);dg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=eg(g)|0;Ub[f&255](d,a,b);i=e;return}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];a=c[f>>2]|0;if(!(c[h>>2]|0)){jg(a,c[g>>2]|0);i=l;return}if((c[a+236>>2]|0)==0?(g=Vh(c[f>>2]|0)|0,c[(c[f>>2]|0)+236>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=Zw(c[f>>2]|0,c[h>>2]|0,j)|0;Wh(c[(c[f>>2]|0)+236>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=_f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}kR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[(c[d>>2]|0)+52>>2]=c[f>>2];if(!(c[(c[d>>2]|0)+236>>2]|0)){i=e;return}PM(c[(c[d>>2]|0)+236>>2]|0);i=e;return}function kg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function mg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;kg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=mH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=MM(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=NM(k,m,Sq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=VL(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)rB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(Yq(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=($q((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Dg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)Xs((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=SL(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+500>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];kg(c[e>>2]|0);if((c[f>>2]|0)==15){d=LM(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=$q((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function og(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function pg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function qg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function rg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$E(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function sg(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Lj(49076)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=23}else{if(((c[o>>2]|0)!=0?(sr(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=xs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=rR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=$K(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if((d[(c[l>>2]|0)+17>>0]|0|0)>1)c[r>>2]=Zr(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=IM(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=rR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Cs(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=cs(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=JM(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ds(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=23}while(0);do if((j|0)==23){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[381]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if(((d[(c[l>>2]|0)+16>>0]|0|0)==0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0)?(c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0:0){u=(sr(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=xs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=ys(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Sj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)gj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;Ht(c[l>>2]|0,c[m>>2]|0)|0;Tj()}kR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Lj(49165)|0}while(0);if(c[r>>2]|0)ws(c[r>>2]|0);Bs(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function ug(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Of(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=pg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=pg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=rR(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(DJ(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=fR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=pR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=sg(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Dg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=qR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=tg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=qR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,iR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(It(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;Xs(x,rg(c[(c[g>>2]|0)+24>>2]|0)|0)}vg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=gR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}zs(c[b>>2]|0);i=d;return}function wg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Lg(Of(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function xg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;kg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=VL(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];kg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Dg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}Xs((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function zg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Nf(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)tj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;ju(c[b>>2]|0);mB(c[b>>2]|0);i=f;return}function Ag(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=mg(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=mg(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Dg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Bg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Dg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=lt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=DM(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=EM(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Eg(b,e,f){b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;f=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[f+44>>2];o=c[g>>2]|0;i=p;return o|0}if((d[f+17>>0]|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}f=c[h>>2]|0;do if(!(a[(c[h>>2]|0)+16>>0]|0)){e=(sr(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=qs(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=sg(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=mt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;vg(c[n>>2]|0);if(c[o>>2]|0)break;rr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=BM(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=CM(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=nt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=ot(n,qs(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){rr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[381]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=ur(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Hg(c[h>>2]|0,c[j>>2]|0)|0}}else _i(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(sr(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Fg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Si(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=nr(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Hg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=vi(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=or(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}kg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=AM(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;vM(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);wM(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Kg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=zM(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Ig(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Eg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Mg(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);if(!(c[h>>2]|0)){f=nH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=oI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;wM(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=jr(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(nF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=$q((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Cg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];qB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;vM(c[l>>2]|0);f=c[g>>2]|0;wM(f);f=c[n>>2]|0;i=q;return f|0}function Ng(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n+8|0;h=n+4|0;l=n;c[d>>2]=b;if((c[(c[d>>2]|0)+76>>2]|0)!=1691352191){i=n;return}if(eu(c[d>>2]|0)|0){i=n;return}qI(c[d>>2]|0,0);rI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(lB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)tj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);ju(c[d>>2]|0);mB(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=23)break;c[g>>2]=c[(c[d>>2]|0)+340+(c[f>>2]<<2)>>2];while(1){if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(!(c[g>>2]|0))break;bu(c[d>>2]|0,c[g>>2]|0);c[m>>2]=c[(c[g>>2]|0)+8>>2];Sf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[m>>2]}c[g>>2]=c[k>>2]}c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=c[(c[d>>2]|0)+432+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}vj((c[d>>2]|0)+432|0);c[e>>2]=c[(c[d>>2]|0)+312+8>>2];while(1){if(!(c[e>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[l>>2]|0)+12>>2]|0)Qb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0);BH(c[d>>2]|0,c[l>>2]|0);Sf(c[d>>2]|0,c[l>>2]|0);c[e>>2]=c[c[e>>2]>>2]}vj((c[d>>2]|0)+312|0);jg(c[d>>2]|0,0);$g(c[(c[d>>2]|0)+236>>2]|0);c[(c[d>>2]|0)+76>>2]=-1254786768;Sf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+76>>2]=-1623446221;if(a[(c[d>>2]|0)+248+6>>0]|0)Kd(c[(c[d>>2]|0)+248+32>>2]|0);Kd(c[d>>2]|0);i=n;return}function Og(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,45447,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;h=d;c[f>>2]=a;c[e>>2]=b;IH(c[c[f>>2]>>2]|0,h)|0;g=c[(c[f>>2]|0)+184>>2]|0;f=c[(c[f>>2]|0)+188>>2]|0;a=c[(c[e>>2]|0)+168>>2]|0;b=(c[e>>2]|0)+128|0;b=fR(c[h>>2]|0,c[h+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=rR(b|0,C|0,1e6,0)|0;_b[g&255](f,a,b,C);b=(c[e>>2]|0)+128|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Qg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Sg(c[b>>2]|0)|0;Tu(c[b>>2]|0);i=e;return c[d>>2]|0}function Rg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+65>>0]|0|0)!=0){c[e>>2]=uM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Sg(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];TH(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)>=0){MH(a)|0;Sf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;if((e[(c[d>>2]|0)+88>>1]|0)>>>4&1){g=(c[d>>2]|0)+88|0;b[g>>1]=b[g>>1]&-9|8}}else if((c[a+80>>2]|0)!=0?((e[(c[d>>2]|0)+88>>1]|0)>>>3&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+80>>2]|0;a=(c[(c[d>>2]|0)+44>>2]|0)!=0?19255:0;c[g>>2]=c[(c[d>>2]|0)+44>>2];hg(k,j,a,g);Sf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0}tM(c[d>>2]|0);k=(c[d>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+40>>2]=649915045;i=h;return c[(c[d>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Tg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+87>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Ug(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}sM(c[b>>2]|0);i=d;return}function Vg(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(ux(c[f>>2]|0,c[g>>2]|0,1)|0)){kR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Wg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=rM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Xg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=qM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function Yg(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Ky(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function Zg(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=qx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Hi(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function _g(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Vg(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(ux(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function $g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Ug(c[b>>2]|0);Sf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((dh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}se(c[h>>2]|0);i=j;return}function bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}se(c[g>>2]|0);i=h;return 18}function ch(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;fh(c[e>>2]|0);if(HF(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function dh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){fh(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+88>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=If(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Ug(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=$t(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(tx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){iR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(pM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;oM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function fh(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){DF(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function gh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)DF(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=_g(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function hh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Ug(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function ih(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=44821;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[7072+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[7072+(c[b>>2]<<2)>>2]}else c[d>>2]=44835;i=e;return c[d>>2]|0}function jh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+65>>0]|0){i=f;return}if(d[(c[e>>2]|0)+66>>0]|0){i=f;return}a[(c[e>>2]|0)+65>>0]=1;if((c[(c[e>>2]|0)+160>>2]|0)>0)c[(c[e>>2]|0)+240>>2]=1;b=(c[e>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,44781,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Og(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function lh(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=d;if((c[(c[g>>2]|0)+40>>2]|0)!=-1108210269)Zd(c[g>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];d=c[g>>2]|0;if(a[(c[h>>2]|0)+65>>0]|0){c[d+80>>2]=7;c[f>>2]=7;j=c[f>>2]|0;i=k;return j|0}if((c[d+76>>2]|0)<=0?((e[(c[g>>2]|0)+88>>1]|0)>>>3&1|0)!=0:0){c[(c[g>>2]|0)+80>>2]=17;c[j>>2]=1}else{if((c[(c[g>>2]|0)+76>>2]|0)<0){if(!(c[(c[h>>2]|0)+148>>2]|0))c[(c[h>>2]|0)+240>>2]=0;if(((c[(c[h>>2]|0)+184>>2]|0)!=0?(a[(c[h>>2]|0)+140+5>>0]|0)==0:0)?(c[(c[g>>2]|0)+168>>2]|0)!=0:0)IH(c[c[h>>2]>>2]|0,(c[g>>2]|0)+128|0)|0;d=(c[h>>2]|0)+148|0;c[d>>2]=(c[d>>2]|0)+1;if(!((e[(c[g>>2]|0)+88>>1]|0)>>>6&1)){d=(c[h>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+1}if((e[(c[g>>2]|0)+88>>1]|0)>>>7&1){d=(c[h>>2]|0)+152|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[g>>2]|0)+76>>2]=0}if(b[(c[g>>2]|0)+88>>1]&3)c[j>>2]=JH(c[g>>2]|0)|0;else{d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;c[j>>2]=KH(c[g>>2]|0)|0;d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+-1}if((c[j>>2]|0)!=100?(d=(c[g>>2]|0)+128|0,l=c[d+4>>2]|0,(l|0)>0|(l|0)==0&(c[d>>2]|0)>>>0>0):0)Pg(c[h>>2]|0,c[g>>2]|0);if((c[j>>2]|0)==101?(l=LH(c[h>>2]|0)|0,c[(c[g>>2]|0)+80>>2]=l,(c[(c[g>>2]|0)+80>>2]|0)!=0):0)c[j>>2]=1;c[(c[h>>2]|0)+52>>2]=c[j>>2];if(7==(Rg(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+80>>2]|0)|0))c[(c[g>>2]|0)+80>>2]=7}if(((c[j>>2]|0)!=100?((e[(c[g>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0)&(c[j>>2]|0)!=101)c[j>>2]=MH(c[g>>2]|0)|0;c[f>>2]=c[j>>2]&c[(c[h>>2]|0)+56>>2];l=c[f>>2]|0;i=k;return l|0}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Xd(c[d>>2]|0)|0;c[e>>2]=wA(c[d>>2]|0)|0;c[g>>2]=Rh(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){GH(c[f>>2]|0,c[d>>2]|0);wh(c[f>>2]|0,c[d>>2]|0)|0;HH(c[f>>2]|0);Qg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)jh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(If(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=yh(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)iR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function oh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){tx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)kR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{fh(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=yh(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}kR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function qh(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)jg(c[c[g>>2]>>2]|0,25);c[f>>2]=FH()|0;j=c[f>>2]|0;i=h;return j|0}function rh(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Rg(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function sh(b,d,e,f){b=b|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;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=ye(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+65>>0]|0)){p=c[n>>2]|0;i=o;return p|0}li(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function th(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=uh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=dh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=Zt(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+62>>0]|0)|0;jg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Rg(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function uh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(kh(c[g>>2]|0)|0){c[f>>2]=Kf(73485)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+40>>2]|0)==-1108210269?(c[(c[g>>2]|0)+76>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+68>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0);Ug(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;jg(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+88>>1]|0)>>>8&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+188>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+188>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+88|0;b[l>>1]=b[l>>1]&-9|8}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}jg(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}jg(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+168>>2];Rd(21,40606,k);c[f>>2]=Kf(73493)|0;l=c[f>>2]|0;i=m;return l|0}function vh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(CQ(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function wh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;EH((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function xh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Ky(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Hi(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}px(c[g>>2]|0);i=n;return}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Fw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=_f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function zh(b,d,e,f){b=b|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,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(pz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=pi(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]|0)!=0?40579:40592;if(((ji(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=nj((c[c[l>>2]>>2]|0)+312|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(AH(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Ah(d,30884,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Ah(d,30894,q)}a[(c[l>>2]|0)+17>>0]=1}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=Zw(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+69>>0]|0){Sf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+68|0;c[l>>2]=(c[l>>2]|0)+1;Sf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Zw(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=ph(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Eh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=Vw(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Ih(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(a[(c[c[e>>2]>>2]|0)+65>>0]|0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)?(Xw(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+32>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[35754+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+32>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+32|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(zH(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+100|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Ih(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+65>>0]|0){if((c[l>>2]|0)==-10){i=n;return}qA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}yH(c[k>>2]|0);i=n;return}xH(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Jh(e,f){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,r=0;r=i;i=i+48|0;g=r+44|0;h=r+40|0;j=r+36|0;p=r+32|0;n=r+28|0;m=r+24|0;l=r+20|0;o=r+16|0;k=r+12|0;q=r;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[p>>2]=b[(c[h>>2]|0)+444>>1];c[n>>2]=c[(c[h>>2]|0)+76>>2];c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=c[(c[h>>2]|0)+400>>2];f=c[(c[h>>2]|0)+84>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)==0?1:f;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);c[k>>2]=((c[(c[g>>2]|0)+32>>2]|0)*20|0)+7&-8;c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[q+4>>2]=(c[(c[h>>2]|0)+92>>2]|0)-(c[k>>2]|0)&-8;if((c[q+4>>2]|0)>0)kR(c[q>>2]|0,0,c[q+4>>2]|0)|0;SE(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33|(e&1)<<5&65535;if((c[n>>2]|0)<10?(d[(c[h>>2]|0)+453>>0]|0)!=0:0)c[n>>2]=10;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-9;do{c[q+8>>2]=0;f=wH(q,c[(c[g>>2]|0)+8>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[g>>2]|0)+8>>2]=f;f=wH(q,c[(c[g>>2]|0)+60>>2]|0,(c[p>>2]|0)*40|0)|0;c[(c[g>>2]|0)+60>>2]=f;f=wH(q,c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=f;f=wH(q,c[(c[g>>2]|0)+56>>2]|0,c[m>>2]<<2)|0;c[(c[g>>2]|0)+56>>2]=f;f=wH(q,c[(c[g>>2]|0)+200>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+200>>2]=f;if(!(c[q+8>>2]|0))break;f=c[q+8>>2]|0;f=ph(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f;c[q>>2]=f;c[q+4>>2]=c[q+8>>2]}while((a[(c[j>>2]|0)+65>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[m>>2];c[(c[g>>2]|0)+196>>2]=c[o>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[p>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+448>>2];c[(c[g>>2]|0)+64>>2]=c[(c[h>>2]|0)+476>>2];c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+476>>2]=0;if(!(c[(c[g>>2]|0)+8>>2]|0)){p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+88|0;p=p&65535;o=b[q>>1]|0;p=p&3;o=o&-4;p=o|p;b[q>>1]=p;q=c[g>>2]|0;Tg(q);i=r;return}q=(c[g>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-40;c[(c[g>>2]|0)+28>>2]=c[n>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[n>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+88|0;p=p&65535;o=b[q>>1]|0;p=p&3;o=o&-4;p=o|p;b[q>>1]=p;q=c[g>>2]|0;Tg(q);i=r;return}function Kh(a,d,e,f){a=a|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,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+60>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=ue(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=uF(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];vH(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=40525;else d=(c[j>>2]|0)==7?40512:40517;c[k>>2]=d;c[r>>2]=Bh(e,40530,k)|0;c[o>>2]=1;Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Bh(d,40559,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Bh(d,19255,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Lh(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Sf(c[f>>2]|0,c[(c[e>>2]|0)+120>>2]|0);Vu(c[f>>2]|0,c[(c[e>>2]|0)+324>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Mh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=WE(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=hF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Nh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Kf(81441)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=gR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}uH(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Qg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+80>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;jg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Rg(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Oh(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+88|0;b[f>>1]=b[f>>1]&-9|8;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Ph(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=jC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=jC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=jC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=jC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=jC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=jC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=jC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=jC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=jC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0&(c[q>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[18477+(c[q>>2]&255)>>0]|0)==(d[18477+(c[r>>2]&255)>>0]|0):0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=jC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(jC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=jC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Ph((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[19267+(c[q>>2]&255)>>0]&32);c[q>>2]=d[18477+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Ph(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=jC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Ph(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){hH(40498);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+76>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Sh(c[d>>2]|0)|0)hH(40503);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Rh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Qh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Kf(110077)|0;b=c[j>>2]|0;i=s;return b|0}Nf(c[k>>2]|0);c[r>>2]=iH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Yd(c[c[p>>2]>>2]|0)|0;c[r>>2]=iH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+76>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){hH(40345);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Th(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=If(c[h>>2]|0)|0;if(!(nj((c[g>>2]|0)+312|0,c[h>>2]|0)|0)){c[o>>2]=Fw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,iR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Oj((c[g>>2]|0)+312|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){jh(c[g>>2]|0);Sf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Kf(118442)|0;c[p>>2]=Rg(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Uh(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+88+4>>2];if(!(c[(c[u>>2]|0)+148>>2]|0))c[(c[u>>2]|0)+240>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+484>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=Pu(179)|0;if(!(c[m>>2]|0)){jh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}while(1){if(!(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0))break;c[(c[t>>2]|0)+508>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=Qu((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+508+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+508+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break}if((c[n>>2]|0)>=159){if(c[(c[u>>2]|0)+240>>2]|0){r=10;break}if((c[n>>2]|0)==160){r=12;break}else continue}if((c[n>>2]|0)==1)c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0);b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+508|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];Ru(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+65>>0]|0)break}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==10)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==12){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+508;Ah(A,27316,o)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+65>>0]|0)==0:0){if((c[k>>2]|0)!=1){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Ru(r,1,g,A);c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+65>>0]|0)==0:0){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Ru(r,0,g,A)}}Su(c[m>>2]|0,148);if(a[(c[u>>2]|0)+65>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=ih(c[(c[t>>2]|0)+12>>2]|0)|0;A=Bh(A,19255,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,19255,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+68>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){Tu(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Sf(c[u>>2]|0,c[(c[t>>2]|0)+408>>2]|0);c[(c[t>>2]|0)+408>>2]=0;c[(c[t>>2]|0)+404>>2]=0}Kd(c[(c[t>>2]|0)+524>>2]|0);if(!(a[(c[t>>2]|0)+454>>0]|0))Qf(c[u>>2]|0,c[(c[t>>2]|0)+488>>2]|0);Uu(c[u>>2]|0,c[(c[t>>2]|0)+540>>2]|0);Pf(c[u>>2]|0,c[(c[t>>2]|0)+492>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+448>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Sf(g,c[(c[(c[t>>2]|0)+476>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Sf(g,c[(c[t>>2]|0)+476>>2]|0);while(1){if(!(c[(c[t>>2]|0)+412>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+412>>2];c[(c[t>>2]|0)+412>>2]=c[c[x>>2]>>2];Sf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+528>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+528>>2];c[(c[t>>2]|0)+528>>2]=c[(c[y>>2]|0)+68>>2];Qf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Vh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=ph(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Wh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}dh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Xh(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5028;mf(4,b)|0;i=a;return}function Yh(){return 88}function Zh(){return 40}function _h(){return 32}function $h(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4976;mf(18,b)|0;i=a;return}function ai(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ku(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function bi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function ci(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+248+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+248+6>>0]|0)Kd(c[(c[j>>2]|0)+248+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Sj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=_f(f,((f|0)<0)<<31>>31)|0;Tj();if(c[p>>2]|0){f=$f(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+248+32>>2]=c[p>>2];c[(c[j>>2]|0)+248+28>>2]=0;b[(c[j>>2]|0)+248+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+248+28>>2];c[(c[j>>2]|0)+248+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+248+36>>2]=c[o>>2];c[(c[j>>2]|0)+248>>2]=0;a[(c[j>>2]|0)+248+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+248+32>>2]=c[j>>2];c[(c[j>>2]|0)+248+36>>2]=c[j>>2];c[(c[j>>2]|0)+248>>2]=1;a[(c[j>>2]|0)+248+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Sh(c[e>>2]|0)|0)){c[d>>2]=Kf(133819)|0;g=c[d>>2]|0;i=h;return g|0}cu(c[e>>2]|0);du(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(eu(c[e>>2]|0)|0)!=0:0){hg(c[e>>2]|0,5,27174,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+76>>2]=1691352191;Ng(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+496>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{ri(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} -function Py(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+44|0;h=t+40|0;o=t+36|0;l=t+32|0;q=t+28|0;m=t+24|0;p=t+20|0;j=t+16|0;r=t+12|0;s=t+8|0;k=t;c[h>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+52>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;if((d[(c[m>>2]|0)+4>>0]|0|0)!=116?(d[(c[m>>2]|0)+4>>0]|0|0)!=119:0)break;c[m>>2]=c[(c[m>>2]|0)+52>>2]}if(!(c[m>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[j>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[c[(c[o>>2]|0)+48>>2]>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)<0){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[s>>2]=c[c[h>>2]>>2];c[p>>2]=c[c[s>>2]>>2];c[q>>2]=ph(c[p>>2]|0,72,0)|0;if(!(c[q>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0};c[k>>2]=0;c[k+4>>2]=0;c[r>>2]=Ev(c[s>>2]|0,0,0,0,k,c[q>>2]|0,0,0)|0;if(!(c[r>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0}else{h=c[q>>2]|0;j=c[o>>2]|0;k=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));c[(c[o>>2]|0)+32>>2]=c[r>>2];s=c[s>>2]|0;s=Gv(s,0,Jv(c[p>>2]|0,158,0)|0)|0;c[c[o>>2]>>2]=s;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+36>>2]=0;c[(c[q>>2]|0)+40>>2]=0;c[(c[q>>2]|0)+44>>2]=0;c[(c[q>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+68>>2]=0;s=(c[o>>2]|0)+6|0;b[s>>1]=(e[s>>1]|0)&-129;s=(c[o>>2]|0)+6|0;b[s>>1]=e[s>>1]|0|16384;c[(c[(c[q>>2]|0)+52>>2]|0)+56>>2]=c[q>>2];c[(c[q>>2]|0)+60>>2]=0;c[(c[q>>2]|0)+64>>2]=0;c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function Qy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=b[(c[r>>2]|0)+6>>1]|0;f=(c[r>>2]|0)+6|0;b[f>>1]=e[f>>1]|32;if(a[(c[t>>2]|0)+65>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+32>>2]|0)!=0?(e[l>>1]&32|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+32>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;Qv(l,c[(Sy(c[r>>2]|0)|0)+68>>2]|0,0)}Ix(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(Ty(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(Zx(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=ph(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Bh(l,30964,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}Gx(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=_w(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(Uy(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(zx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=Hx(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;Zx(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(Vy(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Ah(X,30977,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+65>>0]|0)==0?(Wy(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==158)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==158:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=158){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==158:0){j=58;break}c[E>>2]=Gv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+65>>0]|0)break;if((c[H>>2]|0)!=0?(e[(c[H>>2]|0)+6>>1]&1024|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(Td(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Dh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=26308;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[w>>2]|0)*24|0)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(Ly(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((e[(c[r>>2]|0)+6>>1]&32768|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+((c[w>>2]|0)*24|0)+23>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(Xy(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((Yy(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Jv(c[t>>2]|0,27,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Jv(c[t>>2]|0,27,c[W>>2]|0)|0;c[B>>2]=rv(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Jv(c[t>>2]|0,27,c[U>>2]|0)|0;c[B>>2]=rv(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Bh(p,31016,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Gv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Cy(L,c[S>>2]|0);Hv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(e[(c[r>>2]|0)+6>>1]&1024))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=nh(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Bh(h,31022,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Sf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Ah(h,31031,O);break}else{Ah(h,31049,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}Vu(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+88+8>>2]|0):0){Ah(c[F>>2]|0,31069,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Sy(c[g>>2]|0)|0)+68>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+536>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function Sy(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+56>>2]|0))break;c[b>>2]=c[a+56>>2]}i=d;return a|0}function Ty(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=kz(c[(c[y>>2]|0)+536>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Ah(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(Uy(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=ph(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=nh(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=Hx(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+65>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+32>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(Td(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+6|0;b[k>>1]=e[k>>1]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Ah(A,31310,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=31353;c[z>>2]=c[(c[y>>2]|0)+536>>2];c[(c[y>>2]|0)+536>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+52>>2]|0;Zx(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+536>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+52>>2]|0))break;c[s>>2]=c[g+52>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Ah(A,31376,u);c[(c[y>>2]|0)+536>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}Gx(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(e[(c[A>>2]|0)+6>>1]&8192)c[g>>2]=31414;else c[g>>2]=31448;Zx(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+536>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function Uy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ah(a,31287,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function Vy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(Td(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Ah(k,31269,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function Wy(a,e){a=a|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+32>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(Xy(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)_y(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)$y(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=az(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+36>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=Zy(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(Xy(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}_y(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Ah(B,31100,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Ah(c[x>>2]|0,31150,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Ah(z,31205,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function Xy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=Zy(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function Yy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(Td(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function Zy(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(Td(c[(c[(c[e>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function _y(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=jz(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=jz(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=rv(c[s>>2]|0,79,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=az(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=az(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function $y(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;$y(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);$y(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((bz(b)|0)==0?(bz(c[h>>2]|0)|0)==0:0){c[j>>2]=cz(c[f>>2]|0,72,0,0)|0;dz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}Zu(c[f>>2]|0,c[g>>2]|0);Zu(c[f>>2]|0,c[h>>2]|0);c[e>>2]=cz(c[f>>2]|0,132,5092,0)|0;j=c[e>>2]|0;i=k;return j|0}function bz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(ky(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function cz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;p=q+12|0;o=q+8|0;n=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;c[n>>2]=0;do if(c[k>>2]|0){if(((c[j>>2]|0)==132?(c[c[k>>2]>>2]|0)!=0:0)?(Li(c[c[k>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Fw(c[h>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}h=c[p>>2]|0;d=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(d|0));a[c[p>>2]>>0]=c[j>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[k>>2]|0){h=c[p>>2]|0;if(!(c[o>>2]|0)){o=h+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=h+48;if(c[(c[k>>2]|0)+4>>2]|0)iR(c[(c[p>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;if(((c[l>>2]|0)!=0&(c[o>>2]|0)>=3?(o=a[c[c[k>>2]>>2]>>0]|0,c[m>>2]=o,(o|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(Jw(c[(c[p>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function dz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){Zu(c[f>>2]|0,c[h>>2]|0);Zu(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}ez(c[g>>2]|0);i=k;return}function ez(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;fz(c[(c[b>>2]|0)+12>>2]|0,d);fz(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){hz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(iz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else gz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}fz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);fz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);fz(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);fz(c[(c[d>>2]|0)+64>>2]|0,c[e>>2]|0);hz(c[c[d>>2]>>2]|0,c[e>>2]|0);hz(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);hz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);gz(c[(c[d>>2]|0)+52>>2]|0,c[e>>2]|0);i=f;return}function hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;fz(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function iz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];if(c[f>>2]|0)c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function jz(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=cz(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=lR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function kz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(Td(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function lz(a,e,f){a=a|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,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Fw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=nh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=nh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=nh(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=nh(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=vy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=Hx(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=ny(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=nz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=ph(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Hx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=vy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=nh(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Fw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Fw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Sf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=nh(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function oz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;A=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;n=N+124|0;o=N+120|0;p=N+116|0;G=N+112|0;z=N+96|0;H=N+92|0;I=N+88|0;q=N+84|0;v=N+80|0;L=N+76|0;M=N+72|0;t=N+68|0;k=N+64|0;B=N+60|0;s=N+56|0;y=N+136|0;C=N+52|0;x=N+48|0;r=N+44|0;u=N+40|0;w=N+36|0;c[F>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;c[q>>2]=c[(c[n>>2]|0)+52>>2];c[v>>2]=c[(c[n>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+328>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[n>>2]|0)){D=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((D|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[n>>2]>>2];M=Bh(M,31513,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}h=c[F>>2]|0;c[m>>2]=c[c[n>>2]>>2];c[M>>2]=Bh(h,19255,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=ph(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Sf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[o>>2];c[t>>2]=Dh(c[F>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[(c[(c[n>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[z+4>>2]=c[n>>2];c[z>>2]=c[H>>2];c[z+8>>2]=c[(c[F>>2]|0)+328>>2];c[z+12>>2]=0;c[(c[F>>2]|0)+328>>2]=z;c[I>>2]=Sb[c[p>>2]&255](c[F>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[v>>2]|0,c[q>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+328>>2]=c[z+8>>2];if((c[I>>2]|0)==7)jh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[o>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[z+12>>2]|0)){c[B>>2]=31585;K=c[F>>2]|0;L=c[B>>2]|0;c[A>>2]=c[c[n>>2]>>2];L=Bh(K,L,A)|0;c[c[G>>2]>>2]=L;hu(c[H>>2]|0);c[I>>2]=1;break}a[y>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[n>>2]|0)+56>>2];c[(c[n>>2]|0)+56>>2]=c[H>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break a;c[C>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[s>>2]|0)*24|0)+12>>2];c[r>>2]=0;do if(c[C>>2]|0){c[x>>2]=If(c[C>>2]|0)|0;if(!(zd(31631,c[C>>2]|0,6)|0)){if((a[(c[C>>2]|0)+6>>0]|0)!=0?(a[(c[C>>2]|0)+6>>0]|0)!=32:0)D=27}else D=27;b:do if((D|0)==27){D=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break b;if(!(zd(31638,(c[C>>2]|0)+(c[r>>2]|0)|0,7)|0)){if(!(a[(c[C>>2]|0)+((c[r>>2]|0)+7)>>0]|0))break;if((a[(c[C>>2]|0)+((c[r>>2]|0)+7)>>0]|0)==32)break}c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}while(0);if((c[r>>2]|0)>=(c[x>>2]|0)){L=(c[n>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[y>>0];break}c[w>>2]=6+((a[(c[C>>2]|0)+((c[r>>2]|0)+6)>>0]|0)!=0?1:0);c[u>>2]=c[r>>2];while(1){if(((c[u>>2]|0)+(c[w>>2]|0)|0)>(c[x>>2]|0))break;a[(c[C>>2]|0)+(c[u>>2]|0)>>0]=a[(c[C>>2]|0)+((c[u>>2]|0)+(c[w>>2]|0))>>0]|0;c[u>>2]=(c[u>>2]|0)+1}if((c[r>>2]|0)>0?(a[(c[C>>2]|0)+(c[r>>2]|0)>>0]|0)==0:0)a[(c[C>>2]|0)+((c[r>>2]|0)-1)>>0]=0;L=(c[(c[n>>2]|0)+4>>2]|0)+((c[s>>2]|0)*24|0)+23|0;a[L>>0]=d[L>>0]|2;a[y>>0]=-128}else{L=(c[n>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[y>>0]}while(0);c[s>>2]=(c[s>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Bh(e,31555,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Bh(e,19255,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Sf(c[F>>2]|0,c[H>>2]|0)}while(0);Sf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function pz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+140+5>>0]|0))c[f>>2]=oi(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];ax(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+72>>2];a=(c[d>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+3;uz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+72>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];vz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}wz(c[d>>2]|0,c[e>>2]|0);i=l;return}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Dw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ji(c[g>>2]|0,c[f>>2]|0)|0;Sf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;ax(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+72>>2];d=(c[e>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)uz(d,a,b,c[c[g>>2]>>2]|0,31725);else uz(d,a,b,c[c[f>>2]>>2]|0,31729);vz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+76>>2]|0)+1|0,c[(c[e>>2]|0)+72>>2]|0);wz(c[e>>2]|0,c[h>>2]|0);i=k;return}function tz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+140|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Ah(c[j>>2]|0,31688,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=rz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ah(p,31705,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function uz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=Pw(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[5224+(c[q>>2]<<3)>>2];g=pi(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[5224+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[5224+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;Ow(g,31786,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+396>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;yz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;Ow(g,31809,v);break}else{Rw(c[t>>2]|0,119,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[5224+(c[q>>2]<<3)+4>>2]|0))break;Eh(c[t>>2]|0,55,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Fh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function vz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+76>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+76>>2]=l;c[O>>2]=Pw(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(31733,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Dh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(Mw(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}yz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+72>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+72>>2]=l;zz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,54);Tw(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}Tw(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+76>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+76>>2]=l;Vw(c[O>>2]|0,54,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Az(c[n>>2]|0,c[F>>2]|0);Rw(c[O>>2]|0,22,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;Rw(c[O>>2]|0,22,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;Uw(c[O>>2]|0,35,0,(c[L>>2]|0)+1|0,c[L>>2]|0,5108,-5)|0;Fh(c[O>>2]|0,2);c[t>>2]=xz(c[O>>2]|0,108,c[y>>2]|0)|0;Rw(c[O>>2]|0,22,0,c[G>>2]|0)|0;c[s>>2]=Bz(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Cz(c[O>>2]|0)|0;c[r>>2]=Fw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;Yw(c[O>>2]|0,13)|0;c[s>>2]=Bz(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)Rw(c[O>>2]|0,77,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Dz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;Rw(c[O>>2]|0,22,c[w>>2]|0,c[G>>2]|0)|0;Vw(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=Uw(c[O>>2]|0,78,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Fh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}Rw(c[O>>2]|0,22,c[C>>2]|0,c[G>>2]|0)|0;Ez(c[O>>2]|0,c[v>>2]|0)|0;Fz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Fz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);Vw(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Gz(l,c[v>>2]|0);Sf(c[u>>2]|0,c[r>>2]|0)}Uw(c[O>>2]|0,35,1,c[L>>2]|0,c[N>>2]|0,5140,-5)|0;Fh(c[O>>2]|0,2);Rw(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;Hz(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);Uw(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31742,0)|0;Rw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Vw(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Fh(c[O>>2]|0,8);Fz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}Rw(c[O>>2]|0,50,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=xz(c[O>>2]|0,46,c[K>>2]|0)|0;Rw(c[O>>2]|0,25,0,c[H>>2]|0)|0;Uw(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31742,0)|0;Rw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Vw(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Fh(c[O>>2]|0,8);Fz(c[O>>2]|0,c[A>>2]|0);i=R;return}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Pw(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}xz(c[e>>2]|0,124,c[d>>2]|0)|0;i=f;return}function xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Vw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function yz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+404>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+404>>2]|0)+1<<4;e=c[k>>2]|0;e=vx(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+408>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+408>>2]=e;e=(c[q>>2]|0)+404|0;if(c[(c[q>>2]|0)+408>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;jh(c[c[q>>2]>>2]|0);i=s;return}}function zz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=Pw(c[j>>2]|0)|0;yz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Eh(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Ej(c[m>>2]|0)|0;Vw(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Az(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Ih(a,-1,Pz(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Bz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Cz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+116|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=vx(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+120>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+120>>2]=f}if(!(c[(c[d>>2]|0)+120>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+120>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Dz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+62>>0]|0;a[l>>0]=a[(c[m>>2]|0)+140+5>>0]|0;c[j>>2]=Mj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=Px(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vw(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+24>>2]|0)+96>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;Lz(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);i=d;return}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if(c[(c[f>>2]|0)+120>>2]|0)c[(c[(c[f>>2]|0)+120>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+96>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Hz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;Uw(c[g>>2]|0,35,0,c[j>>2]|0,c[h>>2]|0,5172,-5)|0;Fh(c[g>>2]|0,1);i=f;return}function Iz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=$d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=ig(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){te(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,31755,k)|0;p=c[n>>2]|0;c[m>>2]=p+(If(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=gR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=fR(p|0,C|0,1,0)|0;d=h;d=sR(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,31760,l)|0;p=If(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}ne(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;c[f>>2]=de(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Kz(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Kz(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Mz(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function Mz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+65>>0]|0){c[e>>2]=5204;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=de(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=de(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=we(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=ph(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){te(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);ge(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function Oz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Sf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Pz(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+68>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=Qz(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=Qz(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==35690)f=0;else f=Dz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0){Rz(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Qz(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=_f(24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+62>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;kR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{jh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Rz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Sf(0,c[b>>2]|0);i=d;return}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];Tz(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(hB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;ax(c[e>>2]|0,0,c[h>>2]|0);Uz(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function Uz(a,b,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Dh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Mw(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}yz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=Pw(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=Pz(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;Uw(b,58,a,0,y,Vz(c[k>>2]|0)|0,-6)|0;zz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,54);c[p>>2]=Rw(c[w>>2]|0,108,c[t>>2]|0,0)|0;c[v>>2]=Wz(c[n>>2]|0)|0;Xz(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;Rw(c[w>>2]|0,109,c[s>>2]|0,c[v>>2]|0)|0;Yz(c[n>>2]|0,c[j>>2]|0);Rw(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Fz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)Rw(c[w>>2]|0,119,c[m>>2]|0,c[h>>2]|0)|0;Uw(c[w>>2]|0,55,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Fh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=Rw(c[w>>2]|0,106,c[s>>2]|0,0)|0;y=(c[k>>2]|0)!=0?(d[(c[o>>2]|0)+54>>0]|0|0)!=0:0;g=Bz(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Ez(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=Bz(c[w>>2]|0)|0;Eh(c[w>>2]|0,99,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;Zz(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;Vw(c[w>>2]|0,100,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;Vw(c[w>>2]|0,105,c[r>>2]|0,0,-1)|0;Vw(c[w>>2]|0,110,c[r>>2]|0,c[v>>2]|0,0)|0;Fh(c[w>>2]|0,16);_z(c[n>>2]|0,c[v>>2]|0);Rw(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Fz(c[w>>2]|0,c[p>>2]|0);xz(c[w>>2]|0,61,c[t>>2]|0)|0;xz(c[w>>2]|0,61,c[r>>2]|0)|0;xz(c[w>>2]|0,61,c[s>>2]|0)|0;i=x;return}function Vz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function Wz(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+76|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+28+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function Xz(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Cz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+104>>2]=c[q>>2];iA(c[o>>2]|0);jA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=kA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){lA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);mA(c[x>>2]|0,39)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;nA(t,u,x);x=c[w>>2]|0;i=y;return x|0}Vw(c[x>>2]|0,49,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;nA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Gz(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);gA(c[d>>2]|0);i=f;return}function Zz(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];cg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];$z(l,31924,o);o=eg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;bA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)*24|0)>>2];if(c[m>>2]|0)aA(l,31935,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;$z(l,31016,p);c[m>>2]=(c[m>>2]|0)+1}o=eg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;bA(o,p,q,r,-1,2);i=s;return}function _z(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+124;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+28+((j&255)<<2)>>2]=h;i=k;return}}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;dg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){cA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);iR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function bA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=Pw(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Bx(c[j>>2]|0);Uw(c[p>>2]|0,21,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Fh(c[p>>2]|0,a[o>>0]|0);i=q;return}function cA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=dA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}iR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function dA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;eA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=gR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=gR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=gR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){fA(c[j>>2]|0);eA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Ew(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){fA(e);eA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)iR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=$t(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function eA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function fA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Sf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function gA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+108>>2]|0):0){hA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function hA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=h;return}if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+28+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=h;return}function iA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function jA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=ny(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+65>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;Zu(a,n);i=m;return}LA(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;Zu(a,n);i=m;return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+64>>2];c[h>>2]=c[(c[d>>2]|0)+60>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;h=(c[d>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function lA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+104>>2]=c[k>>2];sA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{tA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function mA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+96>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=pA(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function nA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;oA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+60>>2]|0)){i=h;return}c[(c[e>>2]|0)+60>>2]=c[g>>2];c[(c[e>>2]|0)+64>>2]=c[f>>2];i=h;return}function oA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;m=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[h>>2]=(c[f>>2]|0)+(c[m>>2]|0)-1;c[g>>2]=0;c[j>>2]=(c[e>>2]|0)+124;while(1){if((c[g>>2]|0)>=10)break;c[k>>2]=c[(c[j>>2]|0)+12>>2];if((c[k>>2]|0)>=(c[f>>2]|0)?(c[k>>2]|0)<=(c[h>>2]|0):0){hA(c[e>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+12>>2]=0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=l;return}function pA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+65>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);qA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-96;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}switch(c[e>>2]|0){case -20:{rA(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(c[(c[g>>2]|0)+528>>2]|0){i=j;return}Rz(c[f>>2]|0);i=j;return}case -11:{if(c[(c[g>>2]|0)+528>>2]|0){i=j;return}Kd(c[f>>2]|0);i=j;return}case -5:{rA(c[g>>2]|0,c[f>>2]|0);i=j;return}case -8:{e=c[f>>2]|0;if(!(c[(c[g>>2]|0)+528>>2]|0)){$g(e);i=j;return}c[h>>2]=e;if(c[(c[h>>2]|0)+24>>2]|0)Sf(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Sf(c[g>>2]|0,c[h>>2]|0);i=j;return}case -10:{if(c[(c[g>>2]|0)+528>>2]|0){i=j;return}hu(c[f>>2]|0);i=j;return}default:{i=j;return}}Sf(c[g>>2]|0,c[f>>2]|0);i=j;return}function rA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Sf(c[d>>2]|0,c[f>>2]|0);i=g;return}function sA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=ny(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+65>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;Zu(b,e);i=k;return}xA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;Zu(b,e);i=k;return}function tA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?153:47;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+42>>0]&32){a=Ej(c[k>>2]|0)|0;c[p>>2]=(uA(a,c[m>>2]&65535)|0)<<16>>16}Vw(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else Rw(c[j>>2]|0,103,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}vA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function uA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function vA(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(wA(c[g>>2]|0)|0)+62>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0);b=wA(c[g>>2]|0)|0;dx(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+21>>0]|0,n)|0;if(c[n>>2]|0)Ih(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+21>>0]|0)!=69){i=o;return}xz(c[g>>2]|0,39,c[k>>2]|0)|0;i=o;return}function wA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){Rw(c[(c[f>>2]|0)+8>>2]|0,30,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=yA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}Rw(c[(c[f>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function yA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=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;la=i;i=i+320|0;C=la+16|0;H=la+8|0;B=la;da=la+308|0;ea=la+304|0;J=la+300|0;fa=la+296|0;ja=la+292|0;o=la+288|0;ga=la+284|0;ha=la+280|0;ia=la+276|0;R=la+272|0;y=la+268|0;z=la+264|0;A=la+260|0;L=la+256|0;U=la+208|0;q=la+200|0;r=la+196|0;m=la+192|0;n=la+188|0;D=la+184|0;E=la+180|0;u=la+176|0;j=la+172|0;s=la+168|0;T=la+164|0;S=la+160|0;Q=la+156|0;G=la+152|0;I=la+148|0;K=la+144|0;O=la+140|0;F=la+313|0;P=la+136|0;M=la+132|0;N=la+312|0;k=la+128|0;l=la+124|0;v=la+120|0;t=la+116|0;w=la+112|0;x=la+108|0;p=la+104|0;W=la+100|0;Z=la+96|0;Y=la+92|0;X=la+88|0;aa=la+84|0;V=la+80|0;$=la+32|0;ca=la+24|0;ba=la+20|0;c[ea>>2]=f;c[J>>2]=g;c[fa>>2]=h;c[ja>>2]=c[(c[ea>>2]|0)+8>>2];c[ga>>2]=c[fa>>2];c[ha>>2]=0;c[ia>>2]=0;c[L>>2]=c[c[ea>>2]>>2];if(!(c[ja>>2]|0)){c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if(!(c[J>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[J>>2]>>0];a:do switch(c[o>>2]|0){case 154:{c[q>>2]=c[(c[J>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[J>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)Vw(c[ja>>2]|0,47,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;else ka=11;break}case 152:{ka=11;break}case 132:{AA(c[ea>>2]|0,c[J>>2]|0,0,c[fa>>2]|0);break}case 133:{BA(c[ja>>2]|0,c[(c[J>>2]|0)+8>>2]|0,0,c[fa>>2]|0);break}case 97:{Tw(c[ja>>2]|0,c[fa>>2]|0,c[(c[J>>2]|0)+8>>2]|0)|0;break}case 101:{Rw(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[J>>2]|0)+8>>2]|0)+2;c[n>>2]=(If(c[D>>2]|0)|0)-1;c[E>>2]=ox(wA(c[ja>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;Uw(c[ja>>2]|0,27,(c[n>>2]|0)/2|0,c[fa>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{Rw(c[ja>>2]|0,28,b[(c[J>>2]|0)+32>>1]|0,c[fa>>2]|0)|0;if(a[(c[(c[J>>2]|0)+8>>2]|0)+1>>0]|0)Ih(c[ja>>2]|0,-1,c[(c[(c[ea>>2]|0)+476>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{c[ga>>2]=c[(c[J>>2]|0)+28>>2];break}case 38:{c[ga>>2]=yA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;if((c[ga>>2]|0)!=(c[fa>>2]|0)){Rw(c[ja>>2]|0,31,c[ga>>2]|0,c[fa>>2]|0)|0;c[ga>>2]=c[fa>>2]}Rw(c[ja>>2]|0,40,c[fa>>2]|0,(jx(c[(c[J>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;CA(c[ea>>2]|0,c[ga>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;EA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,32)|0;break}case 148:case 73:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;EA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;Vw(c[ja>>2]|0,c[o>>2]|0,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}case 155:{c[u>>2]=c[(c[J>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){BA(c[ja>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[fa>>2]|0);break}else{a[U>>0]=-124;c[U+4>>2]=17408;c[U+8>>2]=0;c[R>>2]=DA(c[ea>>2]|0,U,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ia)|0;Vw(c[ja>>2]|0,90,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}else AA(c[ea>>2]|0,c[u>>2]|0,1,c[fa>>2]|0);while(0);c[ga>>2]=c[fa>>2];break}case 19:case 96:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[ga>>2]=c[fa>>2];Rw(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0,c[ga>>2]|0)|0;break}case 77:case 76:{Rw(c[ja>>2]|0,22,1,c[fa>>2]|0)|0;c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[j>>2]=xz(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0)|0;Rw(c[ja>>2]|0,22,0,c[fa>>2]|0)|0;Fz(c[ja>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[J>>2]|0)+40>>2];if(!(c[s>>2]|0)){ja=c[ea>>2]|0;c[B>>2]=c[(c[J>>2]|0)+8>>2];Ah(ja,31938,B);break a}else{c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[J>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{c[K>>2]=0;a[F>>0]=a[(c[L>>2]|0)+62>>0]|0;c[P>>2]=0;if(c[(c[J>>2]|0)+4>>2]&16384)c[T>>2]=0;else c[T>>2]=c[(c[J>>2]|0)+20>>2];if(c[T>>2]|0)j=c[c[T>>2]>>2]|0;else j=0;c[S>>2]=j;c[I>>2]=c[(c[J>>2]|0)+8>>2];c[G>>2]=If(c[I>>2]|0)|0;c[Q>>2]=gi(c[L>>2]|0,c[I>>2]|0,c[G>>2]|0,c[S>>2]|0,a[F>>0]|0,0)|0;if((c[Q>>2]|0)!=0?(c[(c[Q>>2]|0)+16>>2]|0)==0:0){if(e[(c[Q>>2]|0)+2>>1]&512){c[M>>2]=Cz(c[ja>>2]|0)|0;xA(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0);c[O>>2]=1;while(1){j=c[ja>>2]|0;if((c[O>>2]|0)>=(c[S>>2]|0))break;Rw(j,77,c[fa>>2]|0,c[M>>2]|0)|0;oA(c[ea>>2]|0,c[fa>>2]|0,1);iA(c[ea>>2]|0);xA(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0,c[fa>>2]|0);gA(c[ea>>2]|0);c[O>>2]=(c[O>>2]|0)+1}Gz(j,c[M>>2]|0);break a}if(e[(c[Q>>2]|0)+2>>1]&1024){c[ga>>2]=yA(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0)|0;break a}c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[S>>2]|0))break;if((c[O>>2]|0)<32?(FA(c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[K>>2]=c[K>>2]|1<>2];if(!((c[P>>2]|0)!=0?1:(e[(c[Q>>2]|0)+2>>1]&32|0)==0))c[P>>2]=Ox(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0;c[O>>2]=(c[O>>2]|0)+1}if(c[T>>2]|0){j=c[ea>>2]|0;if(c[K>>2]|0){c[R>>2]=(c[j+76>>2]|0)+1;ca=(c[ea>>2]|0)+76|0;c[ca>>2]=(c[ca>>2]|0)+(c[S>>2]|0)}else c[R>>2]=kA(j,c[S>>2]|0)|0;do if(e[(c[Q>>2]|0)+2>>1]&192){a[N>>0]=a[c[c[(c[T>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=152?(d[N>>0]|0)!=154:0)break;a[(c[c[(c[T>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[Q>>2]|0)+2>>1]&192}while(0);iA(c[ea>>2]|0);GA(c[ea>>2]|0,c[T>>2]|0,c[R>>2]|0,0,3)|0;gA(c[ea>>2]|0)}else c[R>>2]=0;if((c[S>>2]|0)>=2?(c[(c[J>>2]|0)+4>>2]&128|0)!=0:0)c[Q>>2]=HA(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ka=77;if((ka|0)==77?(c[S>>2]|0)>0:0)c[Q>>2]=HA(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[Q>>2]|0)+2>>1]&32){if(!(c[P>>2]|0))c[P>>2]=c[(c[L>>2]|0)+8>>2];Uw(c[ja>>2]|0,34,0,0,0,c[P>>2]|0,-4)|0}Uw(c[ja>>2]|0,35,c[K>>2]|0,c[R>>2]|0,c[fa>>2]|0,c[Q>>2]|0,-5)|0;Fh(c[ja>>2]|0,c[S>>2]&255);if(!((c[S>>2]|0)!=0&(c[K>>2]|0)==0))break a;nA(c[ea>>2]|0,c[R>>2]|0,c[S>>2]|0);break a}ja=c[ea>>2]|0;fa=c[I>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=fa;Ah(ja,31964,H);break}case 119:case 20:{c[ga>>2]=IA(c[ea>>2]|0,c[J>>2]|0,0,0)|0;break}case 75:{c[k>>2]=Cz(c[ja>>2]|0)|0;c[l>>2]=Cz(c[ja>>2]|0)|0;Rw(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;JA(c[ea>>2]|0,c[J>>2]|0,c[k>>2]|0,c[l>>2]|0);Rw(c[ja>>2]|0,22,1,c[fa>>2]|0)|0;Gz(c[ja>>2]|0,c[k>>2]|0);Rw(c[ja>>2]|0,37,c[fa>>2]|0,0)|0;Gz(c[ja>>2]|0,c[l>>2]|0);break}case 74:{c[v>>2]=c[(c[J>>2]|0)+12>>2];c[t>>2]=c[(c[(c[J>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[R>>2]=DA(c[ea>>2]|0,c[v>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[w>>2]|0,ia)|0;c[z>>2]=Wz(c[ea>>2]|0)|0;c[A>>2]=Wz(c[ea>>2]|0)|0;EA(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,83,c[R>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];_z(c[ea>>2]|0,c[ia>>2]|0);c[y>>2]=DA(c[ea>>2]|0,c[w>>2]|0,ia)|0;EA(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,81,c[R>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;Vw(c[ja>>2]|0,72,c[z>>2]|0,c[A>>2]|0,c[fa>>2]|0)|0;_z(c[ea>>2]|0,c[z>>2]|0);_z(c[ea>>2]|0,c[A>>2]|0);break}case 156:case 95:{c[ga>>2]=yA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;break}case 62:{c[x>>2]=c[(c[J>>2]|0)+44>>2];c[p>>2]=(_(c[(c[J>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[J>>2]|0)+32>>1]|0);Rw(c[ja>>2]|0,134,c[p>>2]|0,c[fa>>2]|0)|0;if((b[(c[J>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)xz(c[ja>>2]|0,39,c[fa>>2]|0)|0;break}case 57:{if(!(c[(c[ea>>2]|0)+420>>2]|0)){Ah(c[ea>>2]|0,31989,C);c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if((a[(c[J>>2]|0)+1>>0]|0)==2)Bx(c[ea>>2]|0);if((a[(c[J>>2]|0)+1>>0]|0)==4){Uw(c[ja>>2]|0,21,0,4,0,c[(c[J>>2]|0)+8>>2]|0,0)|0;break a}else{bA(c[ea>>2]|0,1811,a[(c[J>>2]|0)+1>>0]|0,c[(c[J>>2]|0)+8>>2]|0,0,0);break a}}default:{c[ba>>2]=0;c[aa>>2]=c[(c[J>>2]|0)+20>>2];c[V>>2]=c[(c[aa>>2]|0)+4>>2];c[Y>>2]=c[c[aa>>2]>>2];c[W>>2]=Cz(c[ja>>2]|0)|0;T=c[(c[J>>2]|0)+12>>2]|0;c[ca>>2]=T;if(T){j=U;k=c[ca>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));KA(U,DA(c[ea>>2]|0,c[ca>>2]|0,ha)|0);a[$>>0]=79;c[$+12>>2]=U;c[ba>>2]=$;c[ha>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[Y>>2]|0)-1|0))break;iA(c[ea>>2]|0);j=c[(c[V>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[ca>>2]|0)c[$+16>>2]=j;else c[ba>>2]=j;c[Z>>2]=Cz(c[ja>>2]|0)|0;LA(c[ea>>2]|0,c[ba>>2]|0,c[Z>>2]|0,16);xA(c[ea>>2]|0,c[(c[V>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[fa>>2]|0);Ez(c[ja>>2]|0,c[W>>2]|0)|0;gA(c[ea>>2]|0);Gz(c[ja>>2]|0,c[Z>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[Y>>2]&1){iA(c[ea>>2]|0);xA(c[ea>>2]|0,c[(c[(c[aa>>2]|0)+4>>2]|0)+(((c[Y>>2]|0)-1|0)*20|0)>>2]|0,c[fa>>2]|0);gA(c[ea>>2]|0)}else Rw(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;Gz(c[ja>>2]|0,c[W>>2]|0)}}while(0);b:do if((ka|0)==11){c[m>>2]=c[(c[J>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[ea>>2]|0)+100>>2]|0)>0){c[ga>>2]=(b[(c[J>>2]|0)+32>>1]|0)+(c[(c[ea>>2]|0)+100>>2]|0);break b}else{c[m>>2]=c[(c[ea>>2]|0)+104>>2];break}while(0);c[ga>>2]=zA(c[ea>>2]|0,c[(c[J>>2]|0)+44>>2]|0,b[(c[J>>2]|0)+32>>1]|0,c[m>>2]|0,c[fa>>2]|0,a[(c[J>>2]|0)+38>>0]|0)|0}while(0);_z(c[ea>>2]|0,c[ha>>2]|0);_z(c[ea>>2]|0,c[ia>>2]|0);c[da>>2]=c[ga>>2];ka=c[da>>2]|0;i=la;return ka|0}function zA(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+36|0;t=v+8|0;r=v+4|0;s=v;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+124;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+112|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;fB(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}tA(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)Fh(c[t>>2]|0,a[q>>0]|0);else gB(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function AA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);Rw(c[l>>2]|0,22,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Ci(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,32088,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Ah(q,32091,n);i=p;return}else{BA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=fR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}eB(c[l>>2]|0,23,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function BA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;Ky(b,l,If(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];eB(c[f>>2]|0,133,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function CA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;oA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function DA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=Tx(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(dB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+324>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(py(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+76|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;_A(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=Wz(c[g>>2]|0)|0;c[o>>2]=yA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{_z(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function EA(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=VA(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(cB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=Uw(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Fh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function FA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$A(c[d>>2]|0,1,0)|0;i=b;return a|0}function GA(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?30:31;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)Rw(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?(FA(c[u>>2]|0)|0)!=0:0){_A(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=yA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==30?(g=Mz(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==30):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}Rw(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function HA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+56|0;l=z+52|0;m=z+48|0;n=z+44|0;o=z+40|0;t=z+36|0;u=z+32|0;r=z+28|0;w=z+24|0;q=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;p=z;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[w>>2]=0;c[q>>2]=0;c[v>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[t>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if(!(d[(c[t>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[u>>2]=c[(Ax(c[l>>2]|0,c[t>>2]|0)|0)+8>>2];c[r>>2]=c[c[u>>2]>>2];if(!(c[(c[r>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[y>>2]=nh(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[y>>2]|0){c[x>>2]=c[y>>2];while(1){if(!(a[c[x>>2]>>0]|0))break;a[c[x>>2]>>0]=a[18477+(d[c[x>>2]>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}r=c[(c[r>>2]|0)+72>>2]|0;t=c[u>>2]|0;u=c[n>>2]|0;x=c[y>>2]|0;c[p>>2]=w;c[v>>2]=Zb[r&255](t,u,x,c[p>>2]|0,q)|0;Sf(c[l>>2]|0,c[y>>2]|0)}if(!(c[v>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}y=c[l>>2]|0;c[s>>2]=ph(y,32+(If(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}else{x=c[s>>2]|0;y=c[m>>2]|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[x+28>>2]=c[y+28>>2];c[(c[s>>2]|0)+20>>2]=(c[s>>2]|0)+32;x=c[(c[s>>2]|0)+20>>2]|0;y=c[(c[m>>2]|0)+20>>2]|0;iR(x|0,y|0,(If(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[s>>2]|0)+12>>2]=c[w>>2];c[(c[s>>2]|0)+4>>2]=c[q>>2];y=(c[s>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[k>>2]=c[s>>2];y=c[k>>2]|0;i=z;return y|0}return 0}function IA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+160|0;k=M;t=M+140|0;u=M+136|0;v=M+132|0;w=M+128|0;x=M+124|0;C=M+120|0;J=M+116|0;K=M+112|0;l=M+108|0;z=M+144|0;y=M+104|0;n=M+100|0;F=M+96|0;s=M+92|0;p=M+72|0;q=M+68|0;A=M+64|0;r=M+60|0;E=M+56|0;G=M+52|0;H=M+48|0;I=M+44|0;D=M+40|0;B=M+36|0;o=M+32|0;m=M+12|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[x>>2]=j;c[C>>2]=-1;c[J>>2]=0;c[K>>2]=Pw(c[u>>2]|0)|0;if(!(c[K>>2]|0)){c[t>>2]=0;L=c[t>>2]|0;i=M;return L|0}iA(c[u>>2]|0);if(!(c[(c[v>>2]|0)+4>>2]&32))c[C>>2]=UA(c[u>>2]|0)|0;if((d[(c[u>>2]|0)+453>>0]|0)==2){h=c[c[u>>2]>>2]|0;g=(d[c[v>>2]>>0]|0)==75?32051:32056;f=c[(c[u>>2]|0)+472>>2]|0;c[k>>2]=(c[C>>2]|0)>=0?19266:32039;c[k+4>>2]=g;c[k+8>>2]=f;c[l>>2]=Bh(h,32063,k)|0;Uw(c[K>>2]|0,161,c[(c[u>>2]|0)+468>>2]|0,0,0,c[l>>2]|0,-1)|0}j=c[v>>2]|0;do if((d[c[v>>2]>>0]|0)==75){c[n>>2]=c[j+12>>2];c[F>>2]=0;a[z>>0]=Nx(c[n>>2]|0)|0;n=(c[u>>2]|0)+72|0;o=c[n>>2]|0;c[n>>2]=o+1;c[(c[v>>2]|0)+28>>2]=o;c[y>>2]=Rw(c[K>>2]|0,57,c[(c[v>>2]|0)+28>>2]|0,((c[x>>2]|0)!=0^1)&1)|0;if(c[x>>2]|0)j=0;else j=Qz(c[c[u>>2]>>2]|0,1,1)|0;c[F>>2]=j;j=(c[v>>2]|0)+20|0;do if(!(c[(c[v>>2]|0)+4>>2]&2048)){if(c[j>>2]|0){c[r>>2]=c[(c[v>>2]|0)+20>>2];if(!(a[z>>0]|0))a[z>>0]=65;if(c[F>>2]|0){s=Ox(c[u>>2]|0,c[(c[v>>2]|0)+12>>2]|0)|0;c[(c[F>>2]|0)+20>>2]=s}c[G>>2]=Wz(c[u>>2]|0)|0;c[H>>2]=Wz(c[u>>2]|0)|0;if(c[x>>2]|0)Rw(c[K>>2]|0,25,0,c[H>>2]|0)|0;c[A>>2]=c[c[r>>2]>>2];c[E>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[A>>2]|0)<=0)break;c[D>>2]=c[c[E>>2]>>2];if((c[C>>2]|0)>=0?(FA(c[D>>2]|0)|0)==0:0){pA(c[K>>2]|0,c[C>>2]|0)|0;c[C>>2]=-1}if((c[x>>2]|0)!=0?(ky(c[D>>2]|0,B)|0)!=0:0)Vw(c[K>>2]|0,84,c[(c[v>>2]|0)+28>>2]|0,c[H>>2]|0,c[B>>2]|0)|0;else L=29;do if((L|0)==29){L=0;c[I>>2]=yA(c[u>>2]|0,c[D>>2]|0,c[G>>2]|0)|0;j=c[K>>2]|0;g=c[I>>2]|0;if(c[x>>2]|0){Rw(j,38,g,(Bz(c[K>>2]|0)|0)+2|0)|0;Vw(c[K>>2]|0,75,c[(c[v>>2]|0)+28>>2]|0,c[H>>2]|0,c[I>>2]|0)|0;break}else{Uw(j,49,g,1,c[H>>2]|0,z,1)|0;CA(c[u>>2]|0,c[I>>2]|0,1);Rw(c[K>>2]|0,110,c[(c[v>>2]|0)+28>>2]|0,c[H>>2]|0)|0;break}}while(0);c[A>>2]=(c[A>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+20}_z(c[u>>2]|0,c[G>>2]|0);_z(c[u>>2]|0,c[H>>2]|0)}}else{c[s>>2]=c[j>>2];ZA(p,11,c[(c[v>>2]|0)+28>>2]|0);a[p+1>>0]=a[z>>0]|0;c[(c[s>>2]|0)+8>>2]=0;if(!(Cv(c[u>>2]|0,c[s>>2]|0,p)|0)){c[q>>2]=c[c[s>>2]>>2];L=VA(c[u>>2]|0,c[(c[v>>2]|0)+12>>2]|0,c[c[(c[q>>2]|0)+4>>2]>>2]|0)|0;c[(c[F>>2]|0)+20>>2]=L;break}Rz(c[F>>2]|0);c[t>>2]=0;L=c[t>>2]|0;i=M;return L|0}while(0);if(c[F>>2]|0)Ih(c[K>>2]|0,c[y>>2]|0,c[F>>2]|0,-6)}else{c[o>>2]=c[j+20>>2];I=(c[u>>2]|0)+76|0;L=(c[I>>2]|0)+1|0;c[I>>2]=L;ZA(m,0,L);if((d[c[v>>2]>>0]|0)==119){a[m>>0]=10;c[m+8>>2]=c[m+4>>2];Rw(c[K>>2]|0,25,0,c[m+4>>2]|0)|0}else{a[m>>0]=3;Rw(c[K>>2]|0,22,0,c[m+4>>2]|0)|0}Zu(c[c[u>>2]>>2]|0,c[(c[o>>2]|0)+60>>2]|0);L=rv(c[u>>2]|0,132,0,0,5100)|0;c[(c[o>>2]|0)+60>>2]=L;c[(c[o>>2]|0)+8>>2]=0;L=(c[o>>2]|0)+6|0;b[L>>1]=e[L>>1]&-513;if(!(Cv(c[u>>2]|0,c[o>>2]|0,m)|0)){c[J>>2]=c[m+4>>2];break}c[t>>2]=0;L=c[t>>2]|0;i=M;return L|0}while(0);if(c[w>>2]|0)XA(c[K>>2]|0,c[(c[v>>2]|0)+28>>2]|0,c[w>>2]|0);if((c[C>>2]|0)>=0)Fz(c[K>>2]|0,c[C>>2]|0);gA(c[u>>2]|0);c[t>>2]=c[J>>2];L=c[t>>2]|0;i=M;return L|0}function JA(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;s=z+64|0;r=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;p=z+68|0;q=z+44|0;w=z+40|0;y=z+36|0;k=z+32|0;j=z+28|0;h=z+24|0;l=z+20|0;n=z+16|0;m=z+12|0;g=z+8|0;o=z+4|0;v=z;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=PA(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=QA(c[r>>2]|0)|0;iA(c[s>>2]|0);c[w>>2]=Wz(c[s>>2]|0)|0;xA(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(RA(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){Rw(e,76,f,c[u>>2]|0)|0;break}else{c[o>>2]=xz(e,77,f)|0;Rw(c[y>>2]|0,108,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Ez(c[y>>2]|0,c[u>>2]|0)|0;Fz(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){Rw(e,38,f,c[t>>2]|0)|0;Vw(c[y>>2]|0,70,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}Uw(e,48,f,1,0,p,1)|0;f=c[y>>2]|0;e=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){Eh(f,68,e,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}else{c[v>>2]=Eh(f,69,e,0,c[w>>2]|0,1)|0;Rw(c[y>>2]|0,76,c[x>>2]|0,c[u>>2]|0)|0;Ez(c[y>>2]|0,c[t>>2]|0)|0;Fz(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=Ox(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=Cz(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=Wz(c[s>>2]|0)|0;Vw(c[y>>2]|0,85,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=DA(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(RA(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)Vw(c[y>>2]|0,85,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){Uw(c[y>>2]|0,78,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Fh(c[y>>2]|0,(a[p>>0]|16)&255)}else{Uw(c[y>>2]|0,79,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Fh(c[y>>2]|0,a[p>>0]|0)}_z(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){Rw(c[y>>2]|0,76,c[m>>2]|0,c[u>>2]|0)|0;Ez(c[y>>2]|0,c[t>>2]|0)|0}Gz(c[y>>2]|0,c[h>>2]|0);_z(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}function KA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function LA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;j=t+36|0;k=t+32|0;s=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;o=t+12|0;p=t+8|0;l=t+4|0;m=t;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=t;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 72:{LA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);iA(c[g>>2]|0);LA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);gA(c[g>>2]|0);break}case 71:{c[l>>2]=Cz(c[s>>2]|0)|0;MA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);iA(c[g>>2]|0);LA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Gz(c[s>>2]|0,c[l>>2]|0);gA(c[g>>2]|0);break}case 19:{MA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[o>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[o>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;c[n>>2]=(d[c[h>>2]>>0]|0|0)==73?78:79;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[o>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;Rw(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 74:{NA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 75:if(c[k>>2]|0){JA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Cz(c[s>>2]|0)|0;JA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Gz(c[s>>2]|0,c[m>>2]|0);break a}default:{if(bz(c[h>>2]|0)|0){Ez(c[s>>2]|0,c[j>>2]|0)|0;break a}if(!(OA(c[h>>2]|0)|0)){c[o>>2]=DA(c[g>>2]|0,c[h>>2]|0,q)|0;Vw(c[s>>2]|0,46,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);_z(c[g>>2]|0,c[q>>2]|0);_z(c[g>>2]|0,c[r>>2]|0);i=t;return}function MA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;t=u+32|0;o=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;q=u+12|0;l=u+8|0;m=u+4|0;n=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 72:{c[l>>2]=Cz(c[t>>2]|0)|0;LA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);iA(c[g>>2]|0);MA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Gz(c[t>>2]|0,c[l>>2]|0);gA(c[g>>2]|0);break}case 71:{MA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);iA(c[g>>2]|0);MA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);gA(c[g>>2]|0);break}case 19:{LA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;Rw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 74:{NA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 75:{c[m>>2]=Cz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;JA(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Ez(c[t>>2]|0,c[j>>2]|0)|0;Gz(c[t>>2]|0,c[m>>2]|0);break}default:{if(OA(c[h>>2]|0)|0){Ez(c[t>>2]|0,c[j>>2]|0)|0;break a}if(!(bz(c[h>>2]|0)|0)){c[p>>2]=DA(c[g>>2]|0,c[h>>2]|0,r)|0;Vw(c[t>>2]|0,45,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);_z(c[g>>2]|0,c[r>>2]|0);_z(c[g>>2]|0,c[s>>2]|0);i=u;return}function NA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+216|0;h=s+212|0;m=s+208|0;p=s+204|0;n=s+200|0;q=s+152|0;j=s+104|0;k=s+56|0;l=s+8|0;r=s;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=72;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=83;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=81;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];KA(l,DA(c[o>>2]|0,l,r)|0);f=c[o>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if(c[p>>2]|0){MA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;_z(q,r);i=s;return}else{LA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;_z(q,r);i=s;return}}function OA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(ky(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function PA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;k=F+56|0;r=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;q=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;p=F+12|0;t=F+8|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=Pw(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;if(c[(c[m>>2]|0)+4>>2]&2048)h=c[(c[m>>2]|0)+20>>2]|0;else h=0;c[k>>2]=h;a:do if((c[(c[l>>2]|0)+68>>2]|0)==0?(TA(c[k>>2]|0)|0)!=0:0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=Dh(c[q>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;bx(c[l>>2]|0,b[v>>1]|0);yz(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+28>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=UA(h)|0;zz(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,54);c[r>>2]=1;Fz(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=VA(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=WA(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+21>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Mj(c[q>>2]|0,a[(c[q>>2]|0)+62>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=UA(c[l>>2]|0)|0;Vw(c[E>>2]|0,54,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;Az(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+20>>0]|0)==0:0){s=(c[l>>2]|0)+76|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;XA(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}Fz(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((YA(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+428>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+428>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+76|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}IA(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+428>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function QA(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Nx(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=SA(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=SA(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function RA(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function SA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Nx(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function TA(a){a=a|0;var b=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[f>>2]=a;do if(c[f>>2]|0){if(c[(c[f>>2]|0)+52>>2]|0){c[b>>2]=0;break}if((e[(c[f>>2]|0)+6>>1]|0)&9){c[b>>2]=0;break}if(c[(c[f>>2]|0)+60>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+36>>2]|0){c[b>>2]=0;break}c[h>>2]=c[(c[f>>2]|0)+32>>2];if((c[c[h>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if(!(c[j>>2]|0)){c[b>>2]=0;break}if((d[(c[j>>2]|0)+42>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}if((d[c[c[(c[g>>2]|0)+4>>2]>>2]>>0]|0|0)!=152){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=k;return c[b>>2]|0}function UA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Pw(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+84|0;a=c[e>>2]|0;c[e>>2]=a+1;a=xz(d,44,a)|0;i=b;return a|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=Ox(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=Ox(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ox(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ox(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function WA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=QA(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function XA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;Rw(c[g>>2]|0,22,0,c[h>>2]|0)|0;c[f>>2]=xz(c[g>>2]|0,108,c[j>>2]|0)|0;Vw(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;Fh(c[g>>2]|0,-128);Fz(c[g>>2]|0,c[f>>2]|0);i=e;return}function YA(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=FA(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function ZA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function _A(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+324>>2];c[o>>2]=ny(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Gv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}function $A(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];by(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function aB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 27:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function bB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function cB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Nx(c[k>>2]|0)|0;d=(SA(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function dB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$A(c[d>>2]|0,2,0)|0;i=b;return a|0}function eB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Fw(wA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=Uw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function fB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+124;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function gB(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+60>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+124+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function hB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(Td(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function iB(a,e,f,g,h,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=jB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=jB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=jB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Mw(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=Pw(c[l>>2]|0)|0;c[u>>2]=kA(c[l>>2]|0,4)|0;xA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);xA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);xA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){Uw(c[w>>2]|0,35,0,(c[u>>2]|0)+3-(b[c[n>>2]>>1]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Fh(c[w>>2]|0,b[c[n>>2]>>1]&255);xz(c[w>>2]|0,147,(c[m>>2]|0)==24&1)|0}}while(0);Zu(c[s>>2]|0,c[p>>2]|0);Zu(c[s>>2]|0,c[q>>2]|0);Zu(c[s>>2]|0,c[r>>2]|0);i=y;return}function jB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=27){c[h>>2]=fy(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function kB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=ae(c[c[r>>2]>>2]|0)|0;c[g>>2]=we(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=19266;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(Td(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,32129,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,32150,l)|0;break}if(!(a[(c[g>>2]|0)+63>>0]|0)){Qd(128,o,32176,m)|0;break}if((og(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(fu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){lB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;mB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,32218,n)|0}while(0);je(c[f>>2]|0,o,-1);i=q;return}function lB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];kg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;nB(c[g>>2]|0)|0}Mg(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(oB(c[e>>2]|0)|0)==0:0)){ar(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Sf(0,c[(c[e>>2]|0)+48>>2]|0);Pi(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function mB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Sf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+460|0)){i=g;return}h=(c[b>>2]|0)+460|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Sf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+460;i=g;return}function nB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];kg(c[g>>2]|0);pB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;qB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}rB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function oB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1208]|0)!=(c[d>>2]|0)){c[e>>2]=c[1208];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1208]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function pB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function qB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}sB(c[b>>2]|0);i=d;return}function rB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;sB(c[e>>2]|0);i=f;return}function sB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zs(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function tB(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=we(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ae(c[c[F>>2]>>2]|0)|0;c[C>>2]=ae(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=19266;if(!(c[C>>2]|0))c[C>>2]=19266;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+88+28>>2]|0)+2|0)){if(!(a[e+63>>0]|0)){c[A>>2]=Bh(c[p>>2]|0,32291,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(Td(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Bh(F,32333,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+460|0)){c[o>>2]=Fw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Ew(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=Wj(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)jh(c[p>>2]|0);je(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=Xj(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=Yj(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+62>>0]|0):0){c[A>>2]=Bh(c[p>>2]|0,20880,y)|0;c[u>>2]=1}}else c[u>>2]=7;kg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Of(c[(c[o>>2]|0)+4>>2]|0)|0;uB(c[s>>2]|0,d[(c[p>>2]|0)+67>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;vB(F,vB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;wB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Bh(c[p>>2]|0,32363,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=nh(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Nf(c[p>>2]|0);c[u>>2]=oi(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){lB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}zg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){jh(c[p>>2]|0);Sf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Bh(c[p>>2]|0,32392,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Bh(F,32406,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+88+28>>2];c[A>>2]=Bh(e,32254,h)|0}while(0);if(c[A>>2]|0){je(c[n>>2]|0,c[A>>2]|0,-1);Sf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}re(c[n>>2]|0,c[u>>2]|0);i=E;return}function uB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(yB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function vB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}kg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function wB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);xB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function xB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function yB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function zB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(Td(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;bx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=BB(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?20769:20788;if((c[h>>2]|0)==1)c[f>>2]=14;if(Mw(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(Mw(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=Pw(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?20769:20788;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;Ow(n,32454,l);Qw(c[d>>2]|0,c[h>>2]|0);Uw(c[k>>2]|0,127,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function BB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function CB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=ph(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;iR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Jw(c[j>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function DB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=_w(c[e>>2]|0,0,c[f>>2]|0)|0;Qf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(Vy(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function EB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(Td(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Sf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(GB(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(HB(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Ah(f,32752,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(IB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(FB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=6;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=8;break}if(IB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=10;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=12;break}if(IB(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0){d=14;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=16;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+52>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function HB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+140+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(GB(e,c[b>>2]|0)|0){e=10;break}}else if(IB(e,c[b>>2]|0)|0){e=12;break}if(HB(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Ah(f,32798,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function IB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(HB(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(GB(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(IB(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function KB(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function LB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}Tw(c[e>>2]|0,1,c[g>>2]|0)|0;MB(c[e>>2]|0,c[f>>2]|0);Rw(c[e>>2]|0,33,1,1)|0;i=h;return}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;_B(c[f>>2]|0,1,e);i=d;return}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;eB(c[g>>2]|0,23,0,1,0,j,-13)|0;MB(c[g>>2]|0,c[h>>2]|0);Rw(c[g>>2]|0,33,1,1)|0;i=f;return}function OB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];oC(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Sf(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=ph(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function PB(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+65>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=dh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function QB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(Td(c[d>>2]|0,33004)|0)){c[b>>2]=1;break}if(!(Td(c[d>>2]|0,32997)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function RB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[6256+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function SB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;nC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function TB(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;kg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function UB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(Td(c[d>>2]|0,34075)|0){if(!(Td(c[d>>2]|0,33519)|0)){c[b>>2]=1;break}if(!(Td(c[d>>2]|0,34080)|0)){c[b>>2]=2;break}else{c[e>>2]=Ki(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function VB(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];kg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];kg(c[h>>2]|0);c[d>>2]=lC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function XB(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+63>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)wB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function YB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=kC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+64>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(ZB(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+64>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function ZB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+63>>0]|0)!=0?(og(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){lB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;zg(c[f>>2]|0);break}Ah(c[e>>2]|0,34013,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function _B(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;OB(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;PB(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function $B(b,d,e,f){b=b|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;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?25:97;e=c[h>>2]|0;c[h>>2]=e+1;Uw(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;Rw(b,22,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function aC(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;g=h+8|0;e=h+16|0;f=h;b[e>>1]=a;if((b[e>>1]|0)<10){f=g;c[f>>2]=1;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}k=(b[e>>1]|0)%10|0;j=f;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;b[e>>1]=(b[e>>1]|0)/10|0;j=f;k=c[j+4>>2]|0;d=f;a=c[d>>2]|0;d=c[d+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>=5)){if(d>>>0>0|(d|0)==0&a>>>0>=1){j=f;j=fR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}}else{j=fR(a|0,d|0,2,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}if((b[e>>1]|0)<3){k=f;k=gR(c[k>>2]|0,c[k+4>>2]|0,8,0)|0;k=hR(k|0,C|0,3-(b[e>>1]|0)|0)|0;j=g;c[j>>2]=k;c[j+4>>2]=C;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}if((b[e>>1]|0)>60){a=-1;d=2147483647}else{a=f;a=gR(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=lR(a|0,C|0,(b[e>>1]|0)-3|0)|0;d=C}j=g;c[j>>2]=a;c[j+4>>2]=d;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function bC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33823;break}case 8:{c[e>>2]=33832;break}case 9:{c[e>>2]=33844;break}case 6:{c[e>>2]=33852;break}default:c[e>>2]=33861}i=f;return c[e>>2]|0}function cC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(Td(c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*24|0)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Fw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+16>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:35690;if(Td(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(Td(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+442>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Ah(C,33760,y)}Sf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function dC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=yh(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){jh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=Nx(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g*24|0)+21>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function eC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=33668;else c[f>>2]=19262;fi(c[d>>2]|0,33672,2,1,c[f>>2]|0,212,0,0,0)|0;fi(c[d>>2]|0,33672,3,1,c[f>>2]|0,212,0,0,0)|0;fi(c[d>>2]|0,33677,2,1,19258,212,0,0,0)|0;iC(c[d>>2]|0,33677,12);iC(c[d>>2]|0,33672,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function fC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){hA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function gC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Dh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=Pw(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+72>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}zz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)yz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==55&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){Vw(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Az(c[q>>2]|0,c[A>>2]|0)}if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2]}else Fh(c[B>>2]|0,a[t>>0]|0);c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function hC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=we(c[f>>2]|0)|0;c[k>>2]=ve(c[f>>2]|0)|0;c[m>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=be(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+88+32>>2]|0)){je(c[f>>2]|0,33682,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=ae(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Cx(c[n>>2]|0,-1)|0)==1){c[j>>2]=jC(n)|0;break}je(c[f>>2]|0,33715,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;ke(q,Ph(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function iC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;h=c[n>>2]|0;g=c[m>>2]|0;c[k>>2]=gi(h,g,If(c[m>>2]|0)|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function jC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[26420+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function kC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(Td(c[e>>2]|0,33917)|0)){c[d>>2]=1;break}if(!(Td(c[e>>2]|0,27038)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function lC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=mC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function mC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=rR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=pR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=Zi(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function nC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function oC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+528>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Sf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Sf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Ug(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function pC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34953,k)|0;if(pi(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;Ow(p,31809,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=Pw(c[g>>2]|0)|0;c[f>>2]=Wz(c[g>>2]|0)|0;Vw(c[k>>2]|0,118,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Bx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?20769:20788;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;Ow(a,34897,h);_z(c[g>>2]|0,c[f>>2]|0);i=e;return}function rC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Ew(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;kR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function sC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&8388608)c[p>>2]=fx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(MF(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function tC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Ax(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Ah(m,36112,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ah(m,36083,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function uC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-5|4;i=d;return}function vC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+536>>2]|0)==0?(c[(c[l>>2]|0)+68>>2]|0)==0:0){if(fx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+32>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+32>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+40>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+60>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+52>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(e[(c[l>>2]|0)+6>>1]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=158){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+32>>2]|0)+8;c[I>>2]=_w(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0);if((a[(c[m>>2]|0)+21>>0]|0)!=(a[(c[p>>2]|0)+21>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+16>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+20>>0]|0)!=0?(a[(c[p>>2]|0)+20>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+8>>2]|0)==0|0)!=((c[(c[p>>2]|0)+8>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+8>>2]|0))break;if(yQ(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(OF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(qy(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Dh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=Pw(c[v>>2]|0)|0;bx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+72|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+72|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=wC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=Wz(c[v>>2]|0)|0;c[L>>2]=Wz(c[v>>2]|0)|0;zz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,55);do if(!(c[(c[z>>2]|0)+24>>2]&134217728)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=Rw(c[M>>2]|0,108,c[E>>2]|0,0)|0;c[A>>2]=Yw(c[M>>2]|0,13)|0;Fz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){zz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,54);c[B>>2]=Rw(c[M>>2]|0,108,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=Rw(l,74,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=Rw(l,103,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=Rw(c[M>>2]|0,103,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=Vw(c[M>>2]|0,70,c[E>>2]|0,0,c[L>>2]|0)|0;CE(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Fz(c[M>>2]|0,c[s>>2]|0);CC(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);Rw(c[M>>2]|0,102,c[F>>2]|0,c[K>>2]|0)|0;Uw(c[M>>2]|0,75,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[c[w>>2]>>2]|0,0)|0;Fh(c[M>>2]|0,11);Rw(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;Rw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Rw(c[M>>2]|0,61,c[E>>2]|0,0)|0}else{yz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);yz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(OF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}Vw(c[M>>2]|0,54,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Az(c[v>>2]|0,c[J>>2]|0);Vw(c[M>>2]|0,55,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Az(c[v>>2]|0,c[H>>2]|0);Fh(c[M>>2]|0,1);c[y>>2]=Rw(c[M>>2]|0,108,c[F>>2]|0,0)|0;Rw(c[M>>2]|0,101,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&134217728){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(35690,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;Vw(c[M>>2]|0,105,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);Vw(c[M>>2]|0,110,c[E>>2]|0,c[K>>2]|0,1)|0;Fh(c[M>>2]|0,a[G>>0]|0);Rw(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Fz(c[M>>2]|0,c[y>>2]|0);Rw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Rw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Fz(c[M>>2]|0,c[B>>2]|0);_z(c[v>>2]|0,c[L>>2]|0);_z(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){Rw(c[M>>2]|0,21,0,0)|0;Fz(c[M>>2]|0,c[A>>2]|0);Rw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function wC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+42>>0]|0)&8){b=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+412>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Fw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+412>>2];c[(c[m>>2]|0)+412>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function xC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;xz(c[f>>2]|0,17,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+24>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+24>>2]|0)+60>>2]=0;i=e;return}function yC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=Pw(c[f>>2]|0)|0;c[k>>2]=Bz(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Ax(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Mz(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==54?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==152?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function zC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];xA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+76|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;Rw(c[j>>2]|0,30,c[h>>2]|0,c[f>>2]|0)|0;KA(c[g>>2]|0,c[f>>2]|0);i=e;return}function AC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=wA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=yh(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){jh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)+21>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=If(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){Uw(g,48,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Ih(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function BC(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(MF(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)LE(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function CC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Rw(c[(c[e>>2]|0)+8>>2]|0,137,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function DC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(FA(c[g>>2]|0)|0)!=0:0){_A(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}xA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function EC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)a=c[a+416>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+456>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+524>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+456>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+524>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+524>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+456|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+524>>2]|0)+(l<<2)>>2]=j;i=k;return}else{jh(c[c[h>>2]>>2]|0);i=k;return}}function FC(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=Pw(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Ej(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+20>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Bx(c[E>>2]|0);break}case 3:case 1:break;case 4:{Rw(c[ka>>2]|0,76,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=xz(c[ka>>2]|0,77,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;xA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Fz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Bh(m,31016,A)|0;Uw(c[ka>>2]|0,20,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Fh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(BE(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Cz(c[ka>>2]|0)|0;MA(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Ez(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;bA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}Gz(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Cz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){Vw(c[ka>>2]|0,79,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Fh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=Yw(c[ka>>2]|0,13)|0}while(0);Vw(c[ka>>2]|0,70,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=sC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(DE(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){EE(c[E>>2]|0);GE(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{EE(c[E>>2]|0);FE(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Ez(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)CE(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);Gz(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=Yw(c[ka>>2]|0,13)|0;Fz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){AC(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Cz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){Rw(c[ka>>2]|0,25,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;jA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+100>>2]=0}c[ga>>2]=kA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;sA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+100>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}Rw(c[ka>>2]|0,(c[U>>2]|0)<0?32:31,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}Vw(c[ka>>2]|0,49,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;CA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){Gz(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){nA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);Gz(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Eh(c[ka>>2]|0,67,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=kA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Rw(c[ka>>2]|0,113,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;Vw(c[ka>>2]|0,79,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Fh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(uA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;Vw(c[ka>>2]|0,47,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=Bz(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=78;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Dz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=79}Uw(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Fh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{Zz(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Ez(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;EE(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=sC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;FE(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}Gz(c[ka>>2]|0,c[Q>>2]|0);nA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))nA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Ez(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Fz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function GC(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+442>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Dh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(KC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+442>>0]|0)c[I>>2]=pi(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=zh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(cC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+288>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((j<<16>>16)*24|0)>>2];c[J>>2]=Oy(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}yz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+72|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)LC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(MC(c[l>>2]|0,c[D>>2]|0)|0)==0:0)LC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Sf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+65>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=Pw(c[l>>2]|0)|0;g=Bz(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;Rw(c[K>>2]|0,76,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Rw(c[K>>2]|0,135,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Ex(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(NC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[l>>2]|0)+416>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(cC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+65>>0]|0){N=59;break b}else break}c[H>>2]=Nv(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+72|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)OC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],OC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Bx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;Yu(c[v>>2]|0,c[H>>2]|0)}Sf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function HC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=Pw(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;Rw(j,76,n,(Bz(c[D>>2]|0)|0)+2|0)|0}Rw(c[D>>2]|0,110,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Fh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=Wz(c[o>>2]|0)|0;Vw(c[D>>2]|0,49,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))AC(c[D>>2]|0,c[p>>2]|0,0);CA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;Vw(c[D>>2]|0,75,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Ih(c[D>>2]|0,-1,c[c[p>>2]>>2]|0,0);Fh(c[D>>2]|0,a[A>>0]|0);i=E;return}function IC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+412>>2]|0)){i=d;return}JC(c[b>>2]|0);i=d;return}function JC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=Wz(c[d>>2]|0)|0;zz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,55);c[e>>2]=Gh(c[l>>2]|0,5,35196,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;_z(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function KC(a,d,e,f){a=a|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;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0} -function fi(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;p=D+56|0;q=D+52|0;r=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;B=D+16|0;A=D+12|0;z=D+8|0;o=D+4|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if((c[v>>2]|0)!=0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(f=If(c[r>>2]|0)|0,c[A>>2]=f,255>=(f|0)):0){c[z>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[o>>2]=fi(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=fi(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0)){c[t>>2]=3;break}c[p>>2]=c[o>>2];C=c[p>>2]|0;i=D;return C|0}}else c[t>>2]=(a[960]|0)==0?3:2;while(0);c[B>>2]=gi(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(b[c[B>>2]>>1]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+148>>2]|0)){Oh(d);break}hg(d,5,27111,C);c[p>>2]=5;C=c[p>>2]|0;i=D;return C|0}while(0);c[B>>2]=gi(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[B>>2]|0)){c[p>>2]=7;C=c[p>>2]|0;i=D;return C|0}bu(c[q>>2]|0,c[B>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+28>>2]=c[y>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[z>>2];c[(c[B>>2]|0)+12>>2]=(c[v>>2]|0)!=0?c[v>>2]|0:c[w>>2]|0;c[(c[B>>2]|0)+16>>2]=c[x>>2];c[(c[B>>2]|0)+4>>2]=c[u>>2];b[c[B>>2]>>1]=c[s>>2];c[p>>2]=0;C=c[p>>2]|0;i=D;return C|0}}while(0);c[p>>2]=Kf(134386)|0;C=c[p>>2]|0;i=D;return C|0}function gi(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;l=z+44|0;m=z+40|0;n=z+36|0;o=z+32|0;p=z+28|0;q=z+49|0;r=z+48|0;u=z+24|0;v=z+20|0;s=z+16|0;t=z+12|0;x=z+8|0;w=z+4|0;y=z;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;a[r>>0]=k;c[v>>2]=0;c[s>>2]=0;c[t>>2]=((d[18477+(d[c[n>>2]>>0]|0)>>0]|0)+(c[o>>2]|0)|0)%23|0;c[u>>2]=Wt((c[m>>2]|0)+340|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[x>>2]=Xt(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[x>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[x>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}a:do if(!(a[r>>0]|0)){if((c[v>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&2097152|0)==0:0)break;c[w>>2]=1080;c[s>>2]=0;c[u>>2]=Wt(c[w>>2]|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break a;c[y>>2]=Xt(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[y>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[y>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}}while(0);if((d[r>>0]|0)!=0&(c[s>>2]|0)<6?(f=ph(c[m>>2]|0,32+(c[o>>2]|0)+1|0,0)|0,c[v>>2]=f,(f|0)!=0):0){c[(c[v>>2]|0)+20>>2]=(c[v>>2]|0)+32;b[c[v>>2]>>1]=c[p>>2];b[(c[v>>2]|0)+2>>1]=d[q>>0]|0;iR(c[(c[v>>2]|0)+20>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;a[(c[(c[v>>2]|0)+20>>2]|0)+(c[o>>2]|0)>>0]=0;Yt((c[m>>2]|0)+340|0,c[v>>2]|0)}do if(c[v>>2]|0){if((c[(c[v>>2]|0)+12>>2]|0)==0?(d[r>>0]|0)==0:0)break;c[l>>2]=c[v>>2];f=c[l>>2]|0;i=z;return f|0}while(0);c[l>>2]=0;f=c[l>>2]|0;i=z;return f|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(27060,h)|0;je(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Sj();Bf(c[f>>2]|0,c[g>>2]|0)|0;Tj();i=h;return 0}function ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=-1;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[f>>2]=If(c[e>>2]|0)|0;c[h>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[g>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[h>>2]<<4);while(1){if((c[h>>2]|0)<0){d=7;break}b=c[f>>2]|0;if((b|0)==(If(c[c[g>>2]>>2]|0)|0)?0==(Td(c[c[g>>2]>>2]|0,c[e>>2]|0)|0):0){d=7;break}c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-16}if((d|0)==7){h=c[h>>2]|0;i=j;return h|0}return 0}function ki(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=Ut(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function li(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+65>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+160>>2]|0){i=f;return}a[(c[e>>2]|0)+65>>0]=0;c[(c[e>>2]|0)+240>>2]=0;b=(c[e>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function mi(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Kf(135519)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=ig(536,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+76>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+460;e=(c[n>>2]|0)+88|0;g=1536;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+88+44>>2]=0;a[(c[n>>2]|0)+63>>0]=1;a[(c[n>>2]|0)+68>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+72>>2]=0;c[(c[n>>2]|0)+136>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|9437280;uj((c[n>>2]|0)+432|0);uj((c[n>>2]|0)+312|0);ni(c[n>>2]|0,35690,1,0,141,0)|0;ni(c[n>>2]|0,35690,3,0,141,0)|0;ni(c[n>>2]|0,35690,2,0,141,0)|0;ni(c[n>>2]|0,21290,1,0,142,0)|0;ni(c[n>>2]|0,21297,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+65>>0]|0)){f=Mj(c[n>>2]|0,1,35690,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=Wj(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)jh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?19255:0;c[p>>2]=c[q>>2];hg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=Xj(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;jg(c[n>>2]|0,c[o>>2]|0);break}kg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=Yj(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+65>>0]|0))a[(c[n>>2]|0)+62>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=Yj(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=21303;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=19536;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+76>>2]=-1607883113;if(!(a[(c[n>>2]|0)+65>>0]|0)){jg(c[n>>2]|0,0);Zj(c[n>>2]|0);c[o>>2]=Cf(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(_j(c[n>>2]|0),c[o>>2]=Cf(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+65>>0]|0)==0:0)c[o>>2]=$j(c[n>>2]|0)|0;if(c[o>>2]|0)jg(c[n>>2]|0,c[o>>2]|0);ci(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;yf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Cf(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+76>>2]=1266094736}else{rf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function ni(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[960]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Kf(135070)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Mj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+148>>2]|0){hg(b,5,21222,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Oh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=nj((c[l>>2]|0)+432|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Mj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;jg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function oi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+140+5>>0]=1;a[(c[f>>2]|0)+62>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=qj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)rj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=qj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)rj(c[f>>2]|0,1);a[(c[f>>2]|0)+140+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}sj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(Td(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=nj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function qi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(Td(c[d>>2]|0,20751)|0){if(!(Td(c[d>>2]|0,20759)|0)){c[b>>2]=1;break}if(!(Td(c[d>>2]|0,20765)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(Td(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function ti(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function ui(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=mj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function wi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function xi(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];kg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Pi(c[m>>2]|0)}c[n>>2]=Qi(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=27;Oi(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Mi(8,c[b>>2]|0);if((c[76]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[75];c[75]=c[c[75]>>2];c[76]=(c[76]|0)+-1;Ni(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=_f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Ni(4,$f(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Ai(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[74]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[75];c[75]=c[e>>2];c[76]=(c[76]|0)+1;ag(3,1);i=f;return}if(c[2]|0){c[d>>2]=$f(c[b>>2]|0)|0;ag(4,c[d>>2]|0);ag(0,c[d>>2]|0);ag(9,1);Qb[c[48>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[48>>2]&255](c[b>>2]|0);i=f;return}}function Bi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Ji(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;if(d[19267+(d[(c[f>>2]|0)+2>>0]|0)>>0]&8){b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[19267+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=rR(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=gR(b|0,e|0,(Gi(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Hi(j,k,If(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Di(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fi(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Ei(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Fi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=19266;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Gi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Hi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;l=w+48|0;m=w+44|0;n=w+40|0;h=w+36|0;j=w+52|0;q=w+32|0;k=w;r=w+28|0;p=w+24|0;o=w+20|0;s=w+16|0;u=w+12|0;t=w+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]|0)+(d[j>>0]|0)+-3;c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[19267+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;g=k;j=c[g>>2]|0;g=c[g+4>>2]|0;if(!h)break;b=rR(j|0,g|0,10,0)|0;e=c[o>>2]|0;e=gR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=fR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(g>>>0>2147483647|(g|0)==2147483647&j>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=fR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);if(!((c[o>>2]|0)!=0?((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}c[o>>2]=Ii(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}if((c[o>>2]|0)>0){c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;v=c[l>>2]|0;i=w;return v|0}}}while(0);c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}function Ii(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=19631;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Ji(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[19267+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Ki(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=If(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[19650+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(19666+(d[19658+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[19691+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[19691+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Ki(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Li(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Li(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[19267+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[19267+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Gi(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[19267+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=rR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=gR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=fR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=fR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1036+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=996+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[996+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1036+(c[d>>2]<<2)>>2]=c[996+(c[d>>2]<<2)>>2];i=e;return}function Oi(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[18477+(d[c[h>>2]>>0]|0)>>0]<<2^(d[18477+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[19699+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[19826+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19950+(e[10628+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[20627+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[20503+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Pi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Wi(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Qi(a,e,f){a=a|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Ri(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Si(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Ti(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Ui(c[g>>2]|0);c[n>>2]=Vi(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Wi(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=gR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=fR(o|0,C|0,1,0)|0;o=pR(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{Wi(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];Xi(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Ri(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ti(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ej(c[d>>2]|0)|0;i=b;return a|0}function Ui(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;_i(c[(c[d>>2]|0)+96>>2]|0);$i(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function Vi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[128>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[33]|0;a=c[h>>2]|0;b=Zi(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[156>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Wi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Yi(c[d>>2]|0);i=b;return}function Xi(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[415]|0)>>>0?(c[b>>2]|0)>>>0<(c[416]|0)>>>0:0){ag(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[418];c[418]=c[e>>2];c[419]=(c[419]|0)+1;c[420]=(c[419]|0)<(c[414]|0)&1;i=f;return}c[d>>2]=$f(c[b>>2]|0)|0;ag(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function Zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=rR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=pR(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function _i(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function $i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;aj(c[d>>2]|0,0);i=b;return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)bj(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){kR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[152>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function bj(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}cj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}dj(c[d>>2]|0);i=f;return}function cj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;h=l+12|0;k=l+4|0;g=l;c[j>>2]=b;a[h>>0]=f;c[k>>2]=c[(c[j>>2]|0)+28>>2];if(d[h>>0]&1){if((c[(c[k>>2]|0)+8>>2]|0)==(c[j>>2]|0)){c[g>>2]=c[(c[j>>2]|0)+36>>2];while(1){if(c[g>>2]|0)f=(e[(c[g>>2]|0)+24>>1]&8|0)!=0;else f=0;b=c[g>>2]|0;if(!f)break;c[g>>2]=c[b+36>>2]}c[(c[k>>2]|0)+8>>2]=b}f=c[(c[j>>2]|0)+36>>2]|0;if(c[(c[j>>2]|0)+32>>2]|0)c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[k>>2]|0)+4>>2]=f;f=c[(c[j>>2]|0)+32>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]|0)){c[c[k>>2]>>2]=f;if((c[c[k>>2]>>2]|0)==0?(d[(c[k>>2]|0)+32>>0]|0)!=0:0)a[(c[k>>2]|0)+33>>0]=2}else c[(c[(c[j>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0}if(!(d[h>>0]&2)){i=l;return}c[(c[j>>2]|0)+32>>2]=c[c[k>>2]>>2];f=c[j>>2]|0;if(!(c[(c[j>>2]|0)+32>>2]|0)){c[(c[k>>2]|0)+4>>2]=f;if(a[(c[k>>2]|0)+32>>0]|0)a[(c[k>>2]|0)+33>>0]=1}else c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;c[c[k>>2]>>2]=c[j>>2];if(c[(c[k>>2]|0)+8>>2]|0){i=l;return}if(e[(c[j>>2]|0)+24>>1]&8){i=l;return}c[(c[k>>2]|0)+8>>2]=c[j>>2];i=l;return}function dj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[144>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function ej(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[412]|0)?(c[d>>2]=c[418],(c[d>>2]|0)!=0):0){c[418]=c[c[418]>>2];c[419]=(c[419]|0)+-1;c[420]=(c[419]|0)<(c[414]|0)&1;Mi(7,c[b>>2]|0);Ni(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=_f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=$f(c[d>>2]|0)|0;Mi(7,c[b>>2]|0);Ni(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function fj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ig(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function gj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=fj(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=yh(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}iR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;kR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=gj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=gj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Sf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function hj(b,e,f){b=b|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];iR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;kR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(lj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function jj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function kj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;kj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function lj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=oj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=pj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(Td(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function pj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[18477+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function qj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?20769:20788;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=20802;c[B+8>>2]=20804;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];wj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}kg(c[(c[t>>2]|0)+4>>2]|0);do if(!(og(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=mg(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;xj(z,B,ih(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;ng(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+62>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+62>>0]|0)){xj(c[o>>2]|0,c[m>>2]|0,20880);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+62>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=yj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];zj(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){xj(c[o>>2]|0,c[m>>2]|0,20948);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Bh(B,20972,w)|0;c[x>>2]=c[(c[m>>2]|0)+288>>2];c[(c[m>>2]|0)+288>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+288>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Sf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Aj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+65>>0]|0){c[u>>2]=7;zg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Bj(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)jh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);tj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;tj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function sj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function tj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];uj((c[f>>2]|0)+40|0);vj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Pf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}vj(j);uj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Qf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}vj(h);vj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function vj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function wj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;j=r+40|0;s=r+36|0;k=r+28|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;p=r+4|0;o=r;c[s>>2]=d;c[r+32>>2]=f;c[k>>2]=g;c[r+24>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+65>>0]|0){Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,21114,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Fj(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Li(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,21122);break a}while(0);Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[(c[l>>2]|0)+140+4>>0]=c[m>>2];s=Ki(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+140>>2]=s;a[(c[l>>2]|0)+140+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+140+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+140+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){jh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Kj(q,s,bf(c[l>>2]|0)|0)}}while(0);Yd(c[p>>2]|0)|0}while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Sf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=nh(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function yj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);Ij(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;d=n+40|0;e=n+36|0;f=n+32|0;k=n+24|0;g=n+16|0;m=n+12|0;j=n+8|0;h=n+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];Cj(c[h>>2]|0);c[g>>2]=c[c[g>>2]>>2]}c[k>>2]=c[e>>2];c[k+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];if(!(pi(c[e>>2]|0,21027,c[k+4>>2]|0)|0)){c[d>>2]=1;m=c[d>>2]|0;i=n;return m|0}h=c[e>>2]|0;c[l>>2]=c[k+4>>2];c[m>>2]=Bh(h,21040,l)|0;if(!(c[m>>2]|0))c[j>>2]=7;else{c[j>>2]=$e(c[e>>2]|0,c[m>>2]|0,141,k,0)|0;Sf(c[e>>2]|0,c[m>>2]|0)}if((c[j>>2]|0)==7)jh(c[e>>2]|0);c[d>>2]=c[j>>2];m=c[d>>2]|0;i=n;return m|0}function Bj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;kg(c[b>>2]|0);c[d>>2]=Kg(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Jg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Cj(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5446]|0;b[h+2>>1]=b[5447]|0;b[h+4>>1]=b[5448]|0;b[h+6>>1]=b[5449]|0;b[h+8>>1]=b[5450]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;iR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Dj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=pi(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Ej(c[q>>2]|0)|0;break}else{c[o>>2]=Fj(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Gj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Gj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Ej(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(Td(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=nj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Gj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Hj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(21081,c[p>>2]|0)|0){r=(Ze(21092,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Ki(j+3|0)|0;r=Hj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(21102,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Hj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=lR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=hR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=hR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[10876+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Jj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[33]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=Zi(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+65>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=21139;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Bh(e,21141,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Bh(e,21172,m)|0}Sf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+65>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Lj(109430)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Lj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(kf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Rd(11,21180,d);i=b;return 11}function Mj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Nj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=nj((c[f>>2]|0)+432|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=If(c[g>>2]|0)|0;c[j>>2]=ph(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;iR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Oj((c[f>>2]|0)+432|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}jh(c[f>>2]|0);Sf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=oj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Pj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=_f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Qj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=pj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Rj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}vj(c[e>>2]|0);i=j;return}function Qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Sj();c[j>>2]=_f(c[f>>2]<<3,0)|0;Tj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=(($f(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;kR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=pj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Rj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Sj(){if(!(c[421]|0))return;Vb[c[1684>>2]&255]();return}function Tj(){if(!(c[422]|0))return;Vb[c[1688>>2]&255]();return}function Uj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=vQ(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(Tt((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(Tt((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function Vj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function Wj(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=If(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(vQ(c[n>>2]|0,26902,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=gR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(vQ(26908,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26918,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[19267+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[19267+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Gi(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Gi(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(If(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=If(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=If(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(vQ(26946,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(vQ(26950,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4912;c[z>>2]=c[A>>2];c[N>>2]=26950}if((c[D>>2]|0)==4?(vQ(26956,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4936;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26961}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(If(c[L>>2]|0)|0)?0==(vQ(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26968,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26988,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){iR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(27012,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function Xj(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(yQ(c[n>>2]|0,26694)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Sq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=ig(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(If(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=_f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=Tq(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else iR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1208];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(yQ(w,Fi(c[c[F>>2]>>2]|0,0)|0)|0)?(w=ti(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=ig(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=Vq(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;Wq(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=Xq(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];Zq(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((_q(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=($q(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=($q(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Qi(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+64>>2]=1;c[(c[F>>2]|0)+68>>2]=c[1208];c[1208]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Rq(c[E>>2]|0,0,0)|0))Ij(c[c[(c[E>>2]|0)+4>>2]>>2]|0,2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)ar(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function Yj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Rq(c[g>>2]|0,84,150)|0;else c[h>>2]=ph(0,84,0)|0;if(!(c[h>>2]|0)){jh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}uj((c[h>>2]|0)+8|0);uj((c[h>>2]|0)+24|0);uj((c[h>>2]|0)+40|0);uj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function Zj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=xf(c[b>>2]|0,26688,2)|0;if((c[e>>2]|0)!=7){i=d;return}jh(c[b>>2]|0);i=d;return}function _j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[382]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>>>0>=(c[382]|0)>>>0){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[383]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=Ob[c[h>>2]&255](c[b>>2]|0,j,3980)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];hg(l,a,26649,g);c[d>>2]=0}Kd(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function $j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;ak(h);c[j>>2]=bk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}ck(g);dk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)ek(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((fk(c[e>>2]|0,21308,7,c[g>>2]|0)|0)==0?(fk(c[e>>2]|0,21315,7,c[f>>2]|0)|0)==0:0)?(fk(c[e>>2]|0,21322,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=gk(c[d>>2]|0,c[e>>2]|0,21332)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21347,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21355,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21363,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21363,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21373,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,21382,1692,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,21387,1692,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=ik(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){jk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function ak(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2312;i=b;return}function bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,26300,2220,0)|0;i=d;return c[b>>2]|0}function ck(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2192;i=b;return}function dk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2164;i=b;return}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function fk(b,d,e,f){b=b|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,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Bk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Ck(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))Vp(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?(Wp(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?(Wp(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=Xp(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=Xp(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){iR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}kk(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;Yp(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=vf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=vf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function hk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];jk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,21392,1784,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function jk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;kk(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)kk(c[(c[e>>2]|0)+12>>2]|0);kk(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function kk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function lk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,21405)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=wk(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=21308;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=xk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function mk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function nk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function pk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];vk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function qk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];vk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=ae(c[c[k>>2]>>2]|0)|0;c[l>>2]=be(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}iR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=rk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}vk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function sk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{ne(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{ke(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{ke(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function vk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(BQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=BQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];iR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Ik(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=BQ(c[g>>2]|0)|0;c[k>>2]=yk(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];zk(o,21456,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Ak(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Ak(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Bk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Ck(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Ck(b,d,e,f){b=b|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;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Dk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Dk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=CQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=vQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Gk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=BQ(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Ik(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Jk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Fp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Kk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Fp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Lk(b,e){b=b|0;e=e|0;var f=0,g=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;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Dp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Ep(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=24471;else c[e>>2]=24476;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;hl(f,a,24671,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;hl(f,o,24708,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;hl(f,o,24746,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;hl(f,o,24782,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;hl(f,o,24819,j);if(!(c[f>>2]|0)){o=Mk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Pk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Yd(c[(c[d>>2]|0)+8>>2]|0)|0;ap(c[(c[d>>2]|0)+12>>2]|0);Cp(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);tm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Qk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Yd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);tm(c[(c[w>>2]|0)+92>>2]|0);ap(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=bp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=bp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=ae(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(fe(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=de(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=cp(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=dp(c[w>>2]|0)|0;sm(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?24471:24476;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(24480,A)|0}else{A=(d[l+52>>0]|0)!=0?24471:24476;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(24542,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=zn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Pe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Rk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Rk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=$o(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(ue(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Zd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=Ee(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Sk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;le(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){ge(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;le(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=nn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=De(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;ke(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ze(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;pe(m,Ge(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Ao(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function Wk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=fl(c[d>>2]|0)|0;i=b;return a|0}function Xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=gl(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=_n(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=$n(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;sm(c[e>>2]|0);i=g;return c[f>>2]|0}function Yk(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Zk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];dl(c[d>>2]|0);i=b;return 0}function _k(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;j=m+64|0;n=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[n>>2]=e;e=c[n>>2]|0;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[509];c[l+4>>2]=c[510];c[l+8>>2]=c[511];c[l+12>>2]=c[512];c[l+16>>2]=c[513];c[l+20>>2]=c[514];c[l+24>>2]=c[515];c[l+28>>2]=c[516];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}n=(yQ(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(n){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;n=c[j>>2]|0;i=m;return n|0}else if((b|0)==6){c[j>>2]=0;n=c[j>>2]|0;i=m;return n|0}return 0}function $k(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=fl(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=gl(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;hl(h,p,21478,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;hl(h,p,21531,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;hl(h,p,21584,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;hl(h,p,21631,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;hl(h,p,21685,l);i=o;return c[h>>2]|0}function al(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=Xk(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function bl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];dl(c[e>>2]|0);i=d;return 0}function dl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];el(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}jk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function el(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function fl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=24028;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(ue(c[g>>2]|0)|0)==100&1,c[h>>2]=Yd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function gl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=il(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}dl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=jl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Le(c[g>>2]|0,1,2)|0;c[h>>2]=ue(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=De(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Zd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=kl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;a:do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=ll(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;do if((c[j>>2]|0)==-2)if((c[l+4>>2]|0)==1){c[r>>2]=101;break a}else{b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1;break}else{e=ml(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=nl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}while(0);if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=ol(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=pl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=ql(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=sl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=tl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);ul(c[q>>2]|0);vl(l);i=s;return c[r>>2]|0}function jl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;iR(f|0,1876,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Re(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Pe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function kl(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=dm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=jl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(m,1,e,C)|0;e=c[l>>2]|0;m=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(e,2,m,C)|0;if(100==(ue(c[l>>2]|0)|0)){e=Ee(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Zd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=rR(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=gR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=rR(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=gR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=jl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(a,1,f,C)|0;if(100==(ue(c[n>>2]|0)|0))c[m>>2]=De(c[n>>2]|0,0)|0;c[o>>2]=Zd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=il(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=bm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function pl(b,e){b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Kl(c[G>>2]|0);else c[H>>2]=Ll(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Nl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(vQ(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(vQ(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Ol(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Pl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Nl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Ql(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Ql(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Rl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=fR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=fR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Dl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Sl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=El(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;iR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Nl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function ql(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=jl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(ue(c[w>>2]|0)|0)){e=Ee(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Zd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Gl(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Dl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Dl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Dl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=gR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=zl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Hl(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Dl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Dl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=gR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=El((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=El((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;iR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=El((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;iR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);iR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function rl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Fl(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=jl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=ml(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Me(p,1,a,C)|0;a=c[q>>2]|0;p=ml(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Me(a,2,p,C)|0}}else{c[r>>2]=jl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=ml(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Me(a,1,p,C)|0}}if(!(c[r>>2]|0)){ue(c[q>>2]|0)|0;c[r>>2]=Zd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function sl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Bl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=gR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=zl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=Al(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Bl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=jl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=pR(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=gR(f|0,C|0,1,0)|0;f=rR(f|0,C|0,1024,0)|0;f=fR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=rR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=pR(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=gR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Me(j,1,a,C)|0;a=n;Me(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(ue(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;yl(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Zd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=jl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=jl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Me(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(ue(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Le(a,1,u)|0;u=c[r>>2]|0;Le(u,2,De(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Le(u,3,De(c[q>>2]|0,1)|0)|0;ue(c[r>>2]|0)|0;c[t>>2]=Zd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Zd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Zd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Me(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;ue(c[s>>2]|0)|0;c[t>>2]=Zd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function ul(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);xl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function vl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;wl(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function wl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function xl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];xl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function yl(a,b,e,f){a=a|0;b=b|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;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Fe(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=rR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=gR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=rR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=gR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=rR(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=jl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Me(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Je(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Al(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Cl(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=fR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Cl(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=zl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=gR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=gR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=Al(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Bl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=jl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Me(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Le(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Me(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Me(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Me(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(24e3,B)|0;if(c[C>>2]|0){Oe(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Je(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;ue(c[z>>2]|0)|0;c[A>>2]=Zd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Cl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Dl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;El((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=hR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function El(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=hR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=jl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Me(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Me(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;ue(c[f>>2]|0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Hl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Gl(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Dl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Dl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=El((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=El((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;iR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];iR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Hl(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Hl(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Kl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Ll(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){iR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Kl(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=gR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=am(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=Yl(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Vl(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Vl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=Yl(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}iR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Vl(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=vQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=vQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);iR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Pl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;Wl(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=Yl(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=Ul(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ql(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}Wl(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=Xl(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=Yl(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(Ul(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=fR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=gR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Rl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=Vl(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}kR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Sl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=El((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Tl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=Ul(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=El((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=El((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Tl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];iR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function Ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=lR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=gR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function Vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function Wl(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;_l(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=rR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=fR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];$l(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=Ul(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=rR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=gR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];Zl(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function Xl(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function Yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=Xl(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];iR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function _l(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];Ul(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function am(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(24010,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,24022,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function bm(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Ll(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=cm(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Kl(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Nl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=vQ(a,d,c[g>>2]|0)|0;else c[h>>2]=vQ(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function dm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=em(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=fm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=gm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=ue(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=Ee(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=Ee(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=Ee(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Be(c[A>>2]|0,4)|0;c[F>>2]=Ae(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=hm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=im((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=fm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Zd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function em(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(vQ(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)uQ(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Ak(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){kR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;iR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}wl(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function gm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=jl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(k,1,f,C)|0;f=c[m>>2]|0;k=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(f,2,k,C)|0}}else{c[n>>2]=jl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function hm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)Vl(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=jm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=am(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=hm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=am(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=hm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function im(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];iR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=fR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function jm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=Ul(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=Ul(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Vl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Vl(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}iR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=vQ(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=gR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=vQ(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=24274;c[n>>2]=24278;c[m>>2]=24283;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){je(d,24294,-1);i=p;return}if(pm(d,21347,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=de(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=de(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=ae(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=ae(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){te(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){ne(d,19266,-1,0);i=p;return}if(nn(d,c[l>>2]|0)|0){i=p;return}Sn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(pm(c[e>>2]|0,21355,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(nn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}On(c[e>>2]|0,c[f>>2]|0);i=g;return}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(pm(c[e>>2]|0,21373,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Mn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,24178,-1,0);i=j;return}case 101:{ne(c[e>>2]|0,24194,-1,0);i=j;return}default:{re(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(pm(c[e>>2]|0,21363,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;qm(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function pm(b,d,e,f){b=b|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;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((fe(c[k>>2]|0)|0)==4?(be(c[k>>2]|0)|0)==4:0){d=$d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(24149,n)|0;je(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=24084;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){rm(e,c[g>>2]|0,c[j>>2]|0);sm(c[h>>2]|0);i=k;return}else{ge(e,19266,0,0);i=k;return}}function rm(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(yQ(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){tm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=um(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(vm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=wm(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){je(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=xm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=ym(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=zm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Am(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;ge(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}re(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function sm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function tm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function um(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Hm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function vm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];zk(f,24114,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=BQ(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}kR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);iR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function ym(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)iR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function zm(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Bm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Bm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=Ul(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=pR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=gR(f|0,0,e|0,C|0)|0;f=s;f=pR(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Cm(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=Ae(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=Ul(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Zd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Dm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Em(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(wm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;kR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Fm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Dm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Bm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Hm(c[w>>2]|0,154,c[j>>2]|0)|0;Im(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Hm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=wm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Zd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Am(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;iR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Jn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=Ae(c[n>>2]|0,0)|0;o=Ul(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=In(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Hm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Em(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}kR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Hm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Km(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Gn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Gn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Fm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Fm(c[b+12>>2]|0,c[f>>2]|0);Fm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{En(b,c[f>>2]|0);i=g;return}}function Gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Bn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=An(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=nn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=on(c[d>>2]|0)|0;c[f>>2]=0==(pn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;qn(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Km(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Lm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0} -function Fp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(BQ(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(BQ(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){kR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)kR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(BQ(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24853,8)|0):0)?0==(Gp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Hp(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Ip(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2100;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];zk(ia,24862,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((BQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,21382,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];zk(ia,24889,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((BQ(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24916,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((BQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24920,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];zk(ia,24925,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(BQ(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Jp(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24948;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Hp(c[S>>2]|0,21308,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Kp(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];zk(ia,24956,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}kR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);iR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;ek((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];iR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];iR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Lp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;iR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Ik(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=BQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(BQ(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];zk(ia,24991,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?25010:25019;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];zk(ia,25030,V)}ia=Mp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Np(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Op(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Pp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Qp(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Mk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Gp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[25712+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Hp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(19255,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=BQ(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Lp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ik(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=yk(z,A,(BQ(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Lp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ik(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)zk(c[k>>2]|0,25694,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];zk(A,21456,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Ip(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(19255,k)|0;if(c[m>>2]|0)Ik(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Jp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(25639,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;zk(D,19255,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=ye(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;D=(BQ(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(BQ(c[y>>2]|0)|0)+1;iR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Kp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}kR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Tp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0}function Lp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Gp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Gp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Mp(a,b,d){a=a|0;b=b|0;d=d|0;var 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;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Sp(c[f>>2]|0,s,25592,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Sp(p,s,25598,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Sp(p,s,25578,l)}}else{if(c[e>>2]|0){b=Rp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=19266;Sp(c[f>>2]|0,s,25557,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Sp(b,s,25563,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=25585;Sp(p,s,25578,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19266:25607;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Sp(e,s,25616,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19266:25607;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Sp(e,s,25616,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Rp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=19266;Sp(c[g>>2]|0,n,21139,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Sp(b,n,25541,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Sp(c[g>>2]|0,n,25548,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Op(b){b=b|0;var 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;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(25166,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(25192,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(25204,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;hl(g,s,25215,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;hl(g,s,25248,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;hl(g,s,25320,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;hl(g,s,25473,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}Xo(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(25146,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){ue(c[f>>2]|0)|0;h=De(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Yd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=25071;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(25080,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(25085,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(25092,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Rp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((BQ(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(25552,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Tp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;l=m+12|0;f=m+8|0;k=m+4|0;c[e>>2]=a;c[n>>2]=b;c[o>>2]=d;c[h>>2]=0;c[g>>2]=ve(c[e>>2]|0)|0;c[l>>2]=ae(c[c[o>>2]>>2]|0)|0;c[f>>2]=(be(c[c[o>>2]>>2]|0)|0)+1;if((c[n>>2]|0)==2){je(c[e>>2]|0,25840,-1);i=m;return}if(c[l>>2]|0)c[h>>2]=yk(c[g>>2]|0,c[l>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){ge(c[e>>2]|0,h,4,-1);i=m;return}else{c[j>>2]=c[l>>2];c[k>>2]=Od(21456,j)|0;je(c[e>>2]|0,c[k>>2]|0,-1);Kd(c[k>>2]|0);i=m;return}}function Vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)kk(c[(c[g>>2]|0)+12>>2]|0);kk(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}jk(c[f>>2]|0);i=k;return}function Wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=Xp(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}kk(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Bk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];Yp(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function Xp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}kR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function _p(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function $p(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=BQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function aq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function bq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25909+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25909+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);cq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function cq(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){dq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){dq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(eq(r,25989,25994,0)|0)==0:0)?(eq(r,25997,26001,0)|0)==0:0)?(eq(r,25994,25994,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(eq(r,26003,26007,172)|0)){if((eq(r,26010,19266,173)|0)==0?(eq(r,26014,19266,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(eq(r,26017,26020,0)|0)==0:0)?(eq(r,26024,26027,0)|0)==0:0)?(eq(r,26031,26034,0)|0)==0:0){if((((hq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((iq(c[r>>2]|0)|0)!=0?(jq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(gq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(eq(r,26038,26020,172)|0))eq(r,26046,26053,172)|0;break}case 99:{if(!(eq(r,26058,26063,172)|0))eq(r,26068,26073,172)|0;break}case 101:{eq(r,26078,26034,172)|0;break}case 103:{eq(r,26083,26088,172)|0;break}case 108:{if((((eq(r,26092,26027,172)|0)==0?(eq(r,26096,26101,172)|0)==0:0)?(eq(r,26104,26110,172)|0)==0:0)?(eq(r,26114,26118,172)|0)==0:0)eq(r,26120,26126,172)|0;break}case 111:{if((eq(r,26130,26034,172)|0)==0?(eq(r,26138,26020,172)|0)==0:0)eq(r,26144,26020,172)|0;break}case 115:{if(((eq(r,26149,26101,172)|0)==0?(eq(r,26155,26163,172)|0)==0:0)?(eq(r,26167,26175,172)|0)==0:0)eq(r,26179,26126,172)|0;break}case 116:{if((eq(r,26187,26101,172)|0)==0?(eq(r,26193,26163,172)|0)==0:0)eq(r,26199,26027,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((eq(r,26206,26212,172)|0)==0?(eq(r,26215,19266,172)|0)==0:0)eq(r,26221,26101,172)|0;break}case 105:{eq(r,26227,26212,172)|0;break}case 108:{if(!(eq(r,26233,26212,172)|0))eq(r,26238,19266,172)|0;break}case 115:{eq(r,26242,19266,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(kq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(kq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(kq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(kq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(kq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(kq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(eq(r,26247,19266,174)|0)==0:0)?(eq(r,26253,19266,174)|0)==0:0)eq(r,26258,19266,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(kq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;eq(r,26262,19266,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(kq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(eq(r,26266,19266,174)|0))eq(r,26270,19266,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(kq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(kq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(kq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((iq(g)|0)!=0?(jq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((kq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=BQ(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function dq(b,d,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function eq(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function fq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function gq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(mq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function hq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(mq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function iq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function jq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((mq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(lq((c[d>>2]|0)+1|0)|0)!=0:0)d=(mq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function kq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function lq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[26274+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=mq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[26274+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(lq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function nq(b,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}kR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=BQ(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(tq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function oq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function pq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=BQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function qq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function rq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(sq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(sq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function sq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function tq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=BQ(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(19536,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=BQ(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=BQ(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,26310)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){kR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;iR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;iR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Ik(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);zk(c[n>>2]|0,26379,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function vq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function wq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function yq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];sm(c[e>>2]|0);vl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}vl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);kR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=ae(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(19255,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=be(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(19255,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=be(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=de(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=kl(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=ol(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Aq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Aq(a){a=a|0;var b=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;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=gR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=pl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=vQ(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Eq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}kR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=Ul((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Eq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Bq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){ke(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{ne(e,26308,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Dq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){kR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Fq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=BQ(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(vQ(26585,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(vQ(26605,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(vQ(26625,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Qq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(vQ(26637,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Qq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Gq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Gq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Hq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=BQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Iq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Jq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26420+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Kq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Lq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26420+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Kq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Mq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Oq(c[e>>2]|0)|0;a=a^(Pq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Lq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[10902+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=10902+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[11554+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Nq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Nq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;iR(j|0,11708,202)|0;b=h;d=26484;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Oq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2340+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2356+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2356+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2356+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Qq(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26420+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Oq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Mq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26420+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Oq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Mq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];kg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=ph(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Sq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+64>>0]|0|0)==2|0}function Tq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Uq(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=It(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Jt(c[d>>2]|0)|0)<=1){i=f;return}Kt(c[e>>2]|0)|0;i=f;return}function Vq(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;s=L+96|0;t=L+92|0;u=L+88|0;v=L+84|0;w=L+80|0;l=L+76|0;x=L+72|0;y=L+68|0;o=L+64|0;D=L+60|0;E=L+56|0;H=L+52|0;B=L+48|0;F=L+44|0;m=L+40|0;J=L+36|0;C=L+32|0;I=L+28|0;p=L+24|0;G=L+20|0;r=L+16|0;n=L+12|0;q=L+8|0;z=L+4|0;A=L;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[x>>2]=j;c[y>>2]=k;c[D>>2]=0;c[E>>2]=0;c[H>>2]=0;c[B>>2]=0;c[F>>2]=0;c[J>>2]=0;c[C>>2]=0;c[I>>2]=(c[l>>2]&1|0)==0&1;c[p>>2]=it()|0;c[G>>2]=1024;c[r>>2]=0;c[n>>2]=0;f=c[(c[t>>2]|0)+4>>2]|0;if((f|0)>(Jr()|0))c[m>>2]=(c[(c[t>>2]|0)+4>>2]|0)+7&-8;else c[m>>2]=(Jr()|0)+7&-8;c[c[u>>2]>>2]=0;do if(((c[l>>2]&2|0)!=0?(c[B>>2]=1,(c[v>>2]|0)!=0):0)?(a[c[v>>2]>>0]|0)!=0:0){c[J>>2]=nh(0,c[v>>2]|0)|0;if(c[J>>2]|0){c[C>>2]=If(c[J>>2]|0)|0;c[v>>2]=0;break}c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}while(0);if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[C>>2]=(c[(c[t>>2]|0)+8>>2]|0)+1;f=c[C>>2]<<1;c[J>>2]=yh(0,f,((f|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}a[c[J>>2]>>0]=0;c[E>>2]=Tq(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0,c[J>>2]|0)|0;c[C>>2]=If(c[J>>2]|0)|0;f=(If(c[v>>2]|0)|0)+1|0;f=(c[v>>2]|0)+f|0;c[r>>2]=f;c[q>>2]=f;while(1){l=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;f=(If(l)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f;f=(If(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f}c[n>>2]=l+1-(c[r>>2]|0);if((c[E>>2]|0)==0?((c[C>>2]|0)+8|0)>(c[(c[t>>2]|0)+8>>2]|0):0)c[E>>2]=et(48375)|0;if(c[E>>2]|0){Sf(0,c[J>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}}c[o>>2]=ig(224+((c[p>>2]|0)+7&-8)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[C>>2]|0)+1+(c[n>>2]|0)+(c[C>>2]|0)+8+2+(c[C>>2]|0)+4+2|0,0)|0;if(!(c[o>>2]|0)){Sf(0,c[J>>2]|0);c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}c[D>>2]=c[o>>2];q=(c[o>>2]|0)+224|0;c[o>>2]=q;c[(c[D>>2]|0)+212>>2]=q;q=(c[o>>2]|0)+((c[p>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+64>>2]=q;q=(c[o>>2]|0)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+72>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+68>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+176>>2]=q;if(c[J>>2]|0){q=(c[o>>2]|0)+((c[C>>2]|0)+1+(c[n>>2]|0))|0;c[o>>2]=q;c[(c[D>>2]|0)+180>>2]=q;iR(c[(c[D>>2]|0)+176>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;if(c[n>>2]|0)iR((c[(c[D>>2]|0)+176>>2]|0)+((c[C>>2]|0)+1)|0,c[r>>2]|0,c[n>>2]|0)|0;iR(c[(c[D>>2]|0)+180>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;l=(c[(c[D>>2]|0)+180>>2]|0)+(c[C>>2]|0)|0;h=26868;g=l+10|0;do{a[l>>0]=a[h>>0]|0;l=l+1|0;h=h+1|0}while((l|0)<(g|0));c[(c[D>>2]|0)+220>>2]=(c[(c[D>>2]|0)+180>>2]|0)+((c[C>>2]|0)+8+1);iR(c[(c[D>>2]|0)+220>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;C=(c[(c[D>>2]|0)+220>>2]|0)+(c[C>>2]|0)|0;a[C>>0]=a[26878]|0;a[C+1>>0]=a[26879]|0;a[C+2>>0]=a[26880]|0;a[C+3>>0]=a[26881]|0;a[C+4>>0]=a[26882]|0;Sf(0,c[J>>2]|0)}c[c[D>>2]>>2]=c[t>>2];c[(c[D>>2]|0)+152>>2]=c[x>>2];do if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[z>>2]=0;c[E>>2]=Vr(c[t>>2]|0,c[(c[D>>2]|0)+176>>2]|0,c[(c[D>>2]|0)+64>>2]|0,c[x>>2]|0,z)|0;c[F>>2]=c[z>>2]&1;if(!(c[E>>2]|0)){c[A>>2]=Sr(c[(c[D>>2]|0)+64>>2]|0)|0;do if((c[F>>2]|0)==0?(Rr(c[D>>2]|0),(c[G>>2]|0)>>>0<(c[(c[D>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[D>>2]|0)+156>>2]|0)>>>0>8192){c[G>>2]=8192;break}else{c[G>>2]=c[(c[D>>2]|0)+156>>2];break}while(0);J=(Hf(c[v>>2]|0,26884,0)|0)&255;a[(c[D>>2]|0)+14>>0]=J;if((c[A>>2]&8192|0)==0?(Hf(c[v>>2]|0,26891,0)|0)==0:0)break;c[x>>2]=c[x>>2]|1;K=39}}else K=39;while(0);if((K|0)==39){c[H>>2]=1;a[(c[D>>2]|0)+17>>0]=1;a[(c[D>>2]|0)+18>>0]=4;a[(c[D>>2]|0)+14>>0]=1;c[F>>2]=c[x>>2]&1}if(!(c[E>>2]|0))c[E>>2]=Qi(c[D>>2]|0,G,-1)|0;if(!(c[E>>2]|0)){c[w>>2]=(c[w>>2]|0)+7&-8;c[E>>2]=kt(c[G>>2]|0,c[w>>2]|0,((c[B>>2]|0)!=0^1)&1,(c[B>>2]|0)!=0^1?186:0,c[D>>2]|0,c[(c[D>>2]|0)+212>>2]|0)|0}if(c[E>>2]|0){hr(c[(c[D>>2]|0)+64>>2]|0)|0;Wi(c[(c[D>>2]|0)+208>>2]|0);Kd(c[D>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}a[(c[D>>2]|0)+6>>0]=c[I>>2];c[(c[D>>2]|0)+164>>2]=1073741823;a[(c[D>>2]|0)+13>>0]=c[H>>2];a[(c[D>>2]|0)+4>>0]=c[H>>2];a[(c[D>>2]|0)+19>>0]=a[(c[D>>2]|0)+13>>0]|0;a[(c[D>>2]|0)+16>>0]=c[B>>2];a[(c[D>>2]|0)+15>>0]=c[F>>2];a[(c[D>>2]|0)+7>>0]=a[(c[D>>2]|0)+13>>0]|0;if(!(a[(c[D>>2]|0)+7>>0]|0)){a[(c[D>>2]|0)+8>>0]=1;a[(c[D>>2]|0)+9>>0]=0;a[(c[D>>2]|0)+12>>0]=2;a[(c[D>>2]|0)+11>>0]=34;a[(c[D>>2]|0)+10>>0]=2}b[(c[D>>2]|0)+148>>1]=c[w>>2];K=(c[D>>2]|0)+168|0;c[K>>2]=-1;c[K+4>>2]=-1;Rr(c[D>>2]|0);if(c[I>>2]|0){if(c[B>>2]|0)a[(c[D>>2]|0)+5>>0]=4}else a[(c[D>>2]|0)+5>>0]=2;c[(c[D>>2]|0)+204>>2]=c[y>>2];c[c[u>>2]>>2]=c[D>>2];c[s>>2]=0;K=c[s>>2]|0;i=L;return K|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;Xi(c[f>>2]|0);i=e;return}function Xq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;kR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=Wr(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function Yq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=ht((c[(c[d>>2]|0)+4>>2]|0)+448|0)|0;i=b;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Js(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function _q(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function $q(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function ar(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Sj();br(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;cr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Ui(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)dr(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;fr(b,er(c[e>>2]|0)|0)|0}gr(c[e>>2]|0)}Tj();hr(c[(c[e>>2]|0)+68>>2]|0)|0;hr(c[(c[e>>2]|0)+64>>2]|0)|0;Wi(c[f>>2]|0);ir(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function br(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function cr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Hs(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Is(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Js(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Ks(c[h>>2]|0,0,0)}}while(0);Ls(c[h>>2]|0,c[n>>2]|0);hr(c[(c[h>>2]|0)+8>>2]|0)|0;if(c[n>>2]|0){Sj();qr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Tj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function dr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;kj(c[(c[e>>2]|0)+60>>2]|0);c[(c[e>>2]|0)+60>>2]=0;lr(c[e>>2]|0);j=(sr(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+64>>2]>>2]|0)b=Sr(c[(c[e>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))hr(c[(c[e>>2]|0)+68>>2]|0)|0;c[g>>2]=wr(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+17>>0]|0)==6:0)a[(c[e>>2]|0)+18>>0]=5;a[(c[e>>2]|0)+19>>0]=0;a[(c[e>>2]|0)+17>>0]=0}}else{Gs(c[b+216>>2]|0);a[(c[e>>2]|0)+17>>0]=0}if(!(c[(c[e>>2]|0)+44>>2]|0)){j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}Ui(c[e>>2]|0);a[(c[e>>2]|0)+19>>0]=a[(c[e>>2]|0)+13>>0]|0;a[(c[e>>2]|0)+17>>0]=0;c[(c[e>>2]|0)+44>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function er(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=or(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Si(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function gr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Sj();jr(c[e>>2]|0)|0;Tj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))kr(c[e>>2]|0,0,0)|0}while(0);dr(c[e>>2]|0);i=f;return}function hr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;d=c[d>>2]|0;i=e;return d|0}function ir(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function jr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(sr(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Kr(b,2,-1)|0;c[j>>2]=kr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Lr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=kr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=fr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function kr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0)<2?(d[(c[h>>2]|0)+18>>0]|0)<2:0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}lr(c[h>>2]|0);a:do if(c[c[(c[h>>2]|0)+68>>2]>>2]|0){b=(mr(c[(c[h>>2]|0)+68>>2]|0)|0)!=0;f=c[h>>2]|0;if(b){hr(c[f+68>>2]|0)|0;break}e=c[h>>2]|0;if((d[f+5>>0]|0)==3){l=e+80|0;if(!((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)){c[m>>2]=nr(c[(c[h>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=or(c[(c[h>>2]|0)+68>>2]|0,d[(c[h>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}else{do if((d[e+5>>0]|0)!=1){if((d[(c[h>>2]|0)+4>>0]|0)!=0?(d[(c[h>>2]|0)+5>>0]|0)!=5:0)break;c[l>>2]=((a[(c[h>>2]|0)+13>>0]|0)!=0?0:1)&1;hr(c[(c[h>>2]|0)+68>>2]|0)|0;if(!(c[l>>2]|0))break a;c[m>>2]=qr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+180>>2]|0,d[(c[h>>2]|0)+9>>0]|0)|0;break a}while(0);c[m>>2]=pr(c[h>>2]|0,c[j>>2]|0)|0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}}while(0);kj(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;c[(c[h>>2]|0)+48>>2]=0;rr(c[(c[h>>2]|0)+212>>2]|0);aj(c[(c[h>>2]|0)+212>>2]|0,c[(c[h>>2]|0)+28>>2]|0);if(!(sr(c[h>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[h>>2]|0)+36>>2]|0)>>>0>(c[(c[h>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=ur(c[h>>2]|0,c[(c[h>>2]|0)+28>>2]|0)|0}else c[n>>2]=tr(c[(c[h>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0:0){l=vi(c[(c[h>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[h>>2]|0)+4>>0]|0)){if((sr(c[h>>2]|0)|0)!=0?(vr(c[(c[h>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=wr(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+19>>0]=0}while(0);a[(c[h>>2]|0)+17>>0]=1;a[(c[h>>2]|0)+20>>0]=0;c[g>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[g>>2]|0;i=o;return n|0}function lr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;kj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(mr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))hr(c[(c[d>>2]|0)+72>>2]|0)|0;Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4836|0}function nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function pr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=nr(e,0,0)|0;else c[j>>2]=Fg(e,26703,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=or(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Si(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=nr(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function rr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;bj(c[d>>2]|0)}i=e;return}function sr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function tr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Br(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function ur(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Si(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=rR(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=gR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];kR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=fR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Fg(a,j,n,o,C)|0}}else{o=h;c[k>>2]=nr(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function vr(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){zr(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(yr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=xr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function yr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Ar(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function zr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Ar(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Ar(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Br(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Ar(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Cr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Fr(c[d>>2]|0,0,0)|0;i=b;return 0}function Dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;n=r+44|0;o=r+8|0;p=r+40|0;m=r+36|0;l=r+32|0;g=r+28|0;q=r+24|0;h=r;j=r+20|0;k=r+16|0;c[t>>2]=a;c[s>>2]=b;c[n>>2]=d;d=o;c[d>>2]=e;c[d+4>>2]=f;c[p>>2]=c[t>>2];c[m>>2]=c[s>>2];c[l>>2]=c[n>>2];d=(c[p>>2]|0)+24|0;a=o;b=o;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=h;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=c[(c[p>>2]|0)+4>>2];while(1){if(!(c[q>>2]|0))break a;s=h;s=gR(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;a=C;t=o;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=h;s=gR(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;t=h;c[t>>2]=s;c[t+4>>2]=C;c[q>>2]=c[c[q>>2]>>2]}}else c[q>>2]=c[(c[p>>2]|0)+24+8>>2];while(0);t=o;t=qR(c[t>>2]|0,c[t+4>>2]|0,1020,0)|0;c[g>>2]=t;while(1){c[j>>2]=1020-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)<(1020-(c[g>>2]|0)|0)?c[l>>2]|0:1020-(c[g>>2]|0)|0;iR(c[m>>2]|0,(c[q>>2]|0)+4+(c[g>>2]|0)|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[g>>2]=0;if((c[l>>2]|0)<0){e=10;break}t=c[c[q>>2]>>2]|0;c[q>>2]=t;if(!((t|0)!=0&(c[l>>2]|0)>0)){e=10;break}}if((e|0)==10){t=o;s=c[n>>2]|0;s=gR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[p>>2]|0)+24|0;c[t>>2]=s;c[t+4>>2]=C;c[(c[p>>2]|0)+24+8>>2]=c[q>>2];i=r;return 0}return 0}function Er(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+64|0;o=p+48|0;s=p+44|0;q=p+40|0;r=p+36|0;k=p+32|0;j=p+28|0;n=p+24|0;l=p+20|0;g=p+16|0;h=p+12|0;m=p+8|0;c[s>>2]=a;c[q>>2]=b;c[r>>2]=d;b=p;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[s>>2];c[j>>2]=c[r>>2];c[n>>2]=c[q>>2];while(1){if((c[j>>2]|0)<=0){e=11;break}c[l>>2]=c[(c[k>>2]|0)+8+8>>2];s=(c[k>>2]|0)+8|0;s=qR(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;c[g>>2]=s;c[h>>2]=(c[j>>2]|0)<(1020-(c[g>>2]|0)|0)?c[j>>2]|0:1020-(c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[m>>2]=Id(1024)|0;if(!(c[m>>2]|0)){e=5;break}c[c[m>>2]>>2]=0;e=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=e;else c[(c[k>>2]|0)+4>>2]=e;c[(c[k>>2]|0)+8+8>>2]=c[m>>2]}iR((c[(c[k>>2]|0)+8+8>>2]|0)+4+(c[g>>2]|0)|0,c[n>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[h>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0);r=c[h>>2]|0;s=(c[k>>2]|0)+8|0;q=s;r=gR(c[q>>2]|0,c[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[s>>2]=r;c[s+4>>2]=C}if((e|0)==5){c[o>>2]=3082;s=c[o>>2]|0;i=p;return s|0}else if((e|0)==11){c[o>>2]=0;s=c[o>>2]|0;i=p;return s|0}return 0}function Fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;j=h+16|0;f=h+12|0;g=h+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=c[e>>2];c[f>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[c[f>>2]>>2];Kd(c[g>>2]|0)}Ir(c[e>>2]|0);i=h;return 0}function Gr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+8|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Ir(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=c[d>>2]|0;kR(a|0,0,Jr()|0)|0;c[c[d>>2]>>2]=4836;i=b;return}function Jr(){return 40}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;kj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((sr(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=gs(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(mr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=nr(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Lr(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Si(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Mr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Nr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Or(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=fR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=pR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=gR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=fR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=pR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=ur(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Ui(c[m>>2]|0);c[h>>2]=0}c[p>>2]=Pr(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Mr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Hg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=kr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=Qr(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;Rr(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,26731,r);s=c[m>>2]|0;Rr(s);s=c[p>>2]|0;i=t;return s|0}function Mr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Si(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=Xr(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=Xr(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=Wr(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(vQ(k,26758,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=fR(d|0,C|0,c[m>>2]|0,0)|0,d=Wr(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Nr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Or(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=fs(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=gR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=Wr(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(vQ(n,26758,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=gR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=Xr(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=gR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=Xr(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=gR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=Xr(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=gR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=Xr(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=gR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=Xr(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Qi(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=gR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function Pr(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;o=B+56|0;p=B+52|0;l=B+48|0;q=B+44|0;r=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;m=B+24|0;s=B+20|0;n=B+16|0;t=B+12|0;u=B;x=B+8|0;c[o>>2]=f;c[p>>2]=g;c[l>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[o>>2]|0)+208>>2];j=c[o>>2]|0;if(c[q>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[n>>2]=j;f=c[p>>2]|0;c[A>>2]=Xr(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[n>>2]|0;h=c[s>>2]|0;g=c[(c[o>>2]|0)+160>>2]|0;f=c[p>>2]|0;f=gR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=Wr(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[o>>2]|0)+160>>2]|0)+4+(c[q>>2]<<2)|0;f=c[p>>2]|0;h=f;g=gR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[381]|0)/(c[(c[o>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[o>>2]|0)+28>>2]|0)>>>0?(ij(c[l>>2]|0,c[v>>2]|0)|0)==0:0){if(c[q>>2]|0){f=c[n>>2]|0;n=c[p>>2]|0;n=fR(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[A>>2]=Xr(f,n,C,m)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[r>>2]|0)==0?(n=Yr(c[o>>2]|0,c[s>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[l>>2]|0)!=0?(n=gj(c[l>>2]|0,c[v>>2]|0)|0,c[A>>2]=n,(n|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[o>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[o>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(sr(c[o>>2]|0)|0)c[z>>2]=0;else c[z>>2]=Zr(c[o>>2]|0,c[v>>2]|0)|0;if(c[q>>2]|0){if(d[(c[o>>2]|0)+7>>0]|0)j=1;else{n=c[p>>2]|0;l=c[n+4>>2]|0;j=(c[o>>2]|0)+88|0;m=c[j+4>>2]|0;j=(l|0)<(m|0)|((l|0)==(m|0)?(c[n>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[o>>2]|0)+64>>2]>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)){w=44;break}n=c[(c[o>>2]|0)+160>>2]|0;n=rR((c[v>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=n;c[t+4>>2]=C;c[A>>2]=Fg(c[(c[o>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[o>>2]|0)+36>>2]|0)>>>0)c[(c[o>>2]|0)+36>>2]=c[v>>2];if(c[(c[o>>2]|0)+96>>2]|0){_r(c[(c[o>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[q>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=sg(c[o>>2]|0,c[v>>2]|0,z,1)|0;w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){w=(c[z>>2]|0)+24|0;b[w>>1]=e[w>>1]&-17;$r(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];iR(c[x>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0)|0;Qb[c[(c[o>>2]|0)+204>>2]&255](c[z>>2]|0);do if(c[q>>2]|0){if((c[r>>2]|0)!=0?(u=c[p>>2]|0,s=c[u+4>>2]|0,w=(c[o>>2]|0)+88|0,t=c[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(c[u>>2]|0)>>>0<=(c[w>>2]|0)>>>0:0))):0)break;bj(c[z>>2]|0)}while(0);if((c[v>>2]|0)==1){h=(c[o>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}as(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function Qr(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=ig(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Vr(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Si(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=gR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=gR(t|0,C|0,1,0)|0;c[q>>2]=_f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=gR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=Wr(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Nr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Vr(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Mr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;hr(c[l>>2]|0)|0;if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(yQ(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(If(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}hr(c[m>>2]|0)|0;c[o>>2]=qr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}hr(c[m>>2]|0)|0;Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function Rr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((Sr(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=Tr(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function Sr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function Tr(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Ur(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function Ur(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Vr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Wr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=Wr(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=$q(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function Yr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function Zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=cs(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ds(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}bs(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function $r(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&33)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;cj(c[d>>2]|0,2);i=f;return}function as(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){dj(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}cj(c[d>>2]|0,3);i=f;return}function bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((lg(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=ug(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function cs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);b=Ob[c[140>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function ds(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=es(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function es(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[j>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;kR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[f>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[f>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2];b[(c[j>>2]|0)+24>>1]=1;j=ds(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return j|0}function fs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=fR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=pR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=gR(h|0,C|0,1,0)|0;h=rR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function gs(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=fj(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(sr(c[f>>2]|0)|0)!=0:0){c[e>>2]=hs(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(sr(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=Pr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Or(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=gR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=fR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=pR(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=Pr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=rR(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(sr(c[f>>2]|0)|0)c[p>>2]=is(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=Pr(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);kj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function hs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=ps(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=qs(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=os(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function is(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];js(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function js(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;ls(a,ks(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));kR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function ks(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function ls(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=ms(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function ms(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){kR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=ig(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=ns(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function ns(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=Zr(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((vs(c[f>>2]|0)|0)==1){ws(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=xs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=ys(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);zs(c[f>>2]|0)}while(0);_i(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function ps(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=ts(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=us(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}js(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function qs(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=rs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function rs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=ss(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=ss(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=ss(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function ts(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=ks(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function vs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function ws(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)cj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[144>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function xs(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=ks(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=ks(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=ls(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Es(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Fs(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Lj(53690)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function ys(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ds(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=rR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=Wr(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function zs(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){As(a);f=c[b>>2]|0;Bs(f);i=d;return}else{as(a);f=c[b>>2]|0;Bs(f);i=d;return}}function As(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=rR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Cs(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Bs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Ri(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}gr(c[b>>2]|0);i=d;return}function Cs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ds(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=rR((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=gR(32,0,f|0,C|0)|0;f=gR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=Wr(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Es(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Fs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Gs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;tr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}zr(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Is(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Ns(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Os(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Ps(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Cs(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=Qs(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Lj(54390)|0;else c[y>>2]=Rs(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(Ss(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}tr(c[v>>2]|0)|0;Br(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Sj();c[g>>2]=Si(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=nr(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Tj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,26766,j);i=k;return}function Ls(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Ms(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Ns(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Ar(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Ns(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Ps(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=ms(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=ct(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=yr(e,0)|0;c[l>>2]=k;if(k)break;zr(c[g>>2]|0,0);c[l>>2]=264;break}b=Ns(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=ms(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=ct(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=dt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Br(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=et(53243)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function Qs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Rs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=Qs(c[j>>2]|0)|0;c[y>>2]=Ss(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=Ts(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Os(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Br(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Os(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=or(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=rR(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Si(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Js(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(Us(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=rR((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=gR(32,0,g|0,C|0)|0;g=gR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Wr(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=rR((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Fg(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(ts(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=rR(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=nr(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=or(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Br(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Os(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){Vs(c[j>>2]|0,c[B>>2]|0);c[A>>2]=nr(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Br(c[j>>2]|0,4,4)}}while(0);Ws(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function Ss(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Ts(a,d){a=a|0;d=d|0;var 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;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(ks(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}kR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=ls(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}at(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)Ws(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=Ss(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;Xs(b,1+($q(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];Ys(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Ws(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function Xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function Ys(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=ts(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;Zs(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));_s(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function Zs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function _s(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}$s(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function $s(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function at(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);bt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);bt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function bt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];iR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function ct(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=ts(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));_s(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(vQ(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}Zs(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(vQ((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function dt(e){e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Ns(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Si(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=Wr(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=$q(j)|0;c[A>>2]=$q(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=$q(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,Zs((d[(c[h>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==($q(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==($q(j+28|0)|0)):0){c[D>>2]=$q(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=et(52297)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=gR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=Wr(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=ft(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=gt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=gR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];Ys(c[h>>2]|0);c[w>>2]=Ss(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,26831,B)}}}while(0);Br(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function et(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(kf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Rd(14,26792,d);i=b;return 14}function ft(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(vQ((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=$q(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;Zs(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);Zs(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==($q((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==($q((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=$q((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function gt(a,d,e){a=a|0;d=d|0;e=e|0;var 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;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=ls(a,ks(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);kR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)js(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Es(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Fs(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Lj(52166)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function ht(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function it(){return 48}function jt(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(sr(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=lt(a)|0;if(!(c[j>>2]|0))c[j>>2]=mt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=nt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=ot(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))bj(c[g>>2]|0);c[f>>2]=fr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function kt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=Vi(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function lt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Dt(c[d>>2]|0)|0){c[b>>2]=Et(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function mt(a,b,e,f){a=a|0;b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)qt(c[h>>2]|0);c[o>>2]=wt(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;_r(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function nt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=rt(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=Sr(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[26758]|0;a[n+1>>0]=a[26759]|0;a[n+2>>0]=a[26760]|0;a[n+3>>0]=a[26761]|0;a[n+4>>0]=a[26762]|0;a[n+5>>0]=a[26763]|0;a[n+6>>0]=a[26764]|0;a[n+7>>0]=a[26765]|0;Xs(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=fs(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=Wr(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(vQ(j,26758,8)|0):0){b=l;c[m>>2]=Fg(c[(c[g>>2]|0)+68>>2]|0,26901,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=or(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Fg(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=or(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=st(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);tt(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function ot(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=pt(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=rR(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Js(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&32|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=rR((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)qt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Fg(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;_r(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function pt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Vr(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function qt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=($q((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;Xs((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Xs((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Xs((c[(c[d>>2]|0)+4>>2]|0)+96|0,3011e3);i=b;return}function rt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(sr(c[b>>2]|0)|0):0)c[d>>2]=ut(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function st(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=fs(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((Sr(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[26758]|0;a[n+1>>0]=a[26759]|0;a[n+2>>0]=a[26760]|0;a[n+3>>0]=a[26761]|0;a[n+4>>0]=a[26762]|0;a[n+5>>0]=a[26763]|0;a[n+6>>0]=a[26764]|0;a[n+7>>0]=a[26765]|0;Xs((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);Xs((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);Xs((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);Xs((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);Xs((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);kR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Fg(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=gR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function tt(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=vt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function vt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Hs(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function wt(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;H=M+100|0;B=M+96|0;F=M+92|0;G=M+88|0;E=M+84|0;K=M+80|0;D=M+40|0;L=M+16|0;p=M+76|0;o=M+72|0;n=M+136|0;m=M+64|0;s=M+60|0;r=M+56|0;q=M+8|0;t=M+52|0;I=M+48|0;J=M;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[G>>2]=0;c[E>>2]=0;c[p>>2]=0;c[o>>2]=ts(c[v>>2]|0)|0;if(vQ((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=xt(c[v>>2]|0)|0;c[H>>2]=g;if(g){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[B>>2]|0)){Xs(n,931071618|(a[960]|0)==0);Xs(n+4|0,3007e3);Xs(n+8|0,c[w>>2]|0);Xs(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;Zs(1,n,24,0,m);Xs(n+24|0,c[m>>2]|0);Xs(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[960]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[H>>2]=Fg(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[H>>2]|0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[H>>2]=or(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}}c[L>>2]=c[v>>2];c[L+4>>2]=c[(c[v>>2]|0)+8>>2];l=L+8|0;c[l>>2]=0;c[l+4>>2]=0;c[L+16>>2]=c[A>>2];c[L+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=rR((c[B>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=gR(32,0,l|0,C|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;c[K>>2]=(c[w>>2]|0)+24;c[F>>2]=c[x>>2];while(1){if(!(c[F>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[F>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,xs(c[v>>2]|0,c[(c[F>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=rR((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=gR(32,0,l|0,C|0)|0;l=gR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[F>>2]|0)+4>>2];g=q;c[H>>2]=Fg(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=22;break}g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]&-129}else{c[B>>2]=(c[B>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[F>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=D;c[H>>2]=yt(L,c[F>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=27;break}c[G>>2]=c[F>>2];l=c[K>>2]|0;g=D;l=gR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]|128}c[F>>2]=c[(c[F>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==27){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[H>>2]=zt(c[v>>2]|0,c[B>>2]|0)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}a:do if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){if(!(a[(c[v>>2]|0)+49>>0]|0)){c[H>>2]=or(c[L+4>>2]|0,c[A>>2]&19)|0;break}c[I>>2]=Tr(c[(c[v>>2]|0)+8>>2]|0)|0;t=D;A=c[I>>2]|0;A=gR(c[t>>2]|0,c[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=fR(A|0,C|0,1,0)|0;t=c[I>>2]|0;t=pR(A|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;A=c[I>>2]|0;A=rR(t|0,C|0,A|0,((A|0)<0)<<31>>31|0)|0;I=L+8|0;c[I>>2]=A;c[I+4>>2]=C;while(1){A=D;s=c[A+4>>2]|0;I=L+8|0;t=c[I+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(c[A>>2]|0)>>>0<(c[I>>2]|0)>>>0:0)))break a;I=D;c[H>>2]=yt(L,c[G>>2]|0,c[y>>2]|0,c[I>>2]|0,c[I+4>>2]|0)|0;if(c[H>>2]|0)break;A=c[K>>2]|0;I=D;A=gR(c[I>>2]|0,c[I+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;I=D;c[I>>2]=A;c[I+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}while(0);if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(L=(c[v>>2]|0)+16|0,K=c[L+4>>2]|0,(K|0)>0|(K|0)==0&(c[L>>2]|0)>>>0>=0):0){L=(c[v>>2]|0)+16|0;D=c[L+4>>2]|0;K=J;c[K>>2]=c[L>>2];c[K+4>>2]=D;K=(c[w>>2]|0)+24|0;K=rR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=gR(32,0,K|0,C|0)|0;D=C;L=(c[v>>2]|0)+16|0;I=c[L+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(c[L>>2]|0)>>>0:0)){K=(c[w>>2]|0)+24|0;K=rR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=gR(32,0,K|0,C|0)|0;L=J;c[L>>2]=K;c[L+4>>2]=C}L=J;Ks(c[v>>2]|0,c[L>>2]|0,c[L+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];c[F>>2]=c[x>>2];while(1){if(!((c[F>>2]|0)!=0?(c[H>>2]|0)==0:0))break;if(e[(c[F>>2]|0)+24>>1]&128){c[B>>2]=(c[B>>2]|0)+1;c[H>>2]=gt(c[v>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+20>>2]|0)|0}c[F>>2]=c[(c[F>>2]|0)+12>>2]}while(1){if(!((c[H>>2]|0)==0?(c[E>>2]|0)>0:0))break;c[B>>2]=(c[B>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1;c[H>>2]=gt(c[v>>2]|0,c[B>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}if(!(c[H>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[B>>2];if(c[z>>2]|0){L=(c[v>>2]|0)+52+8|0;c[L>>2]=(c[L>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){Ys(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[B>>2]}}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}return 0}function xt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Ss(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Ns(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){Vs(c[e>>2]|0,c[k>>2]|0);Br(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);zr(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Ct(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function yt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];At(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Bt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=gR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Bt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function zt(a,b){a=a|0;b=b|0;var 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;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=rR((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=gR(32,0,b|0,C|0)|0;b=gR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=Wr(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=$q(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=$q((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=rR((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=gR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=Wr(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=$q(c[g>>2]|0)|0;c[n>>2]=$q((c[g>>2]|0)+4|0)|0;At(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Fg(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function At(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;Xs(c[l>>2]|0,c[q>>2]|0);Xs((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;Zs(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);Zs(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);Xs((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);Xs((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Bt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=gR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=fR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Fg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=gR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=or(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Fg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Ct(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;ri(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Ps(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=yr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){zr(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=Ss(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=yr(c[h>>2]|0,3)|0;_s(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=ts(c[h>>2]|0)|0;u=(vQ(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){zr(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Ns(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Br(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=yr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;_s(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=ts(c[h>>2]|0)|0,(vQ(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}zr(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Dt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(lj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Et(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Ft(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=rR(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Gt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=gR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Fg(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Ht(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Ft(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){e=c[e>>2]|0;i=f;return e|0}if((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0){c[e>>2]=pt(c[b>>2]|0,c[(c[b>>2]|0)+72>>2]|0,8192)|0;e=c[e>>2]|0;i=f;return e|0}Ir(c[(c[b>>2]|0)+72>>2]|0);e=c[e>>2]|0;i=f;return e|0}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;Xs(g,c[k>>2]|0);e=j;e=Fg(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Ht(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=gj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function It(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vs(c[d>>2]|0)|0;i=b;return a|0}function Kt(f){f=f|0;var 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,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Lt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Lj(57320)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Lj(57338)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&268435456){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Lj(57366)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Lj(57371)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Lj(57391)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Lj(57398)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Lj(57412)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Lt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Lj(57278)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Mt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Nt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=lR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=lR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Rt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function Ot(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function Pt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((St((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function Qt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Rt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function Rt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return} -function tE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(vE(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((Nx(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=Tx(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+480>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=wE(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(fe(c[A>>2]|0)|0)==3:0)c[E>>2]=ae(c[A>>2]|0)|0;xE(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Jv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];xE(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=Wz(c[s>>2]|0)|0;yA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;yE(G,(Bz(c[D>>2]|0)|0)-1|0,0);_z(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;$g(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function uE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;k=n+56|0;h=n+52|0;l=n+48|0;m=n+16|0;g=n+8|0;f=n+4|0;j=n;c[h>>2]=b;c[l>>2]=e;c[m>>2]=c[1570];c[m+4>>2]=c[1571];c[m+8>>2]=c[1572];c[m+12>>2]=c[1573];c[m+16>>2]=c[1574];c[m+20>>2]=c[1575];c[m+24>>2]=c[1576];c[m+28>>2]=c[1577];if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(Td(c[(c[h>>2]|0)+8>>2]|0,c[m+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[m+(b<<3)+4>>0]|0;c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}else if((f|0)==14){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function vE(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){f=c[k>>2]|0;g=c[(c[l>>2]|0)+8>>2]|0;c[o>>2]=gi(f,g,If(c[(c[l>>2]|0)+8>>2]|0)|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function wE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Vh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){gh(c[m>>2]|0,c[l>>2]|0)|0;lx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function xE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function yE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Mz(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function zE(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+18>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+12>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function AE(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+18>>1]|0|(e[(c[k>>2]|0)+18>>1]|0);if(!((e[(c[j>>2]|0)+18>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+18>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(py(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(py(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=ny(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=79;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-79|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=nE(c[n>>2]|0,c[r>>2]|0,3)|0;jE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function BE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=199;c[g+24>>2]=c[l>>2];by(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function CE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+((b[(c[h>>2]|0)+32>>1]|0)*24|0)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Bh(a,31016,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;bA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Bh(a,36074,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;bA(h,k,l,m,-1,2);i=n;return}}function DE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Ex(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(KC(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Ex(d)|0;while(1){if(!(c[j>>2]|0))break a;if(NC(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function EE(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function FE(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Cz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?70:68;if(!(d[A>>0]|0))Eh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(DE(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=HE(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=IE(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+76>>2]|0)+1;g=(c[q>>2]|0)+76|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Rw(c[I>>2]|0,30,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;tA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=Bz(c[I>>2]|0)|0;BC(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(Bz(c[I>>2]|0)|0))Eh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;GC(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;JE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;BC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Gz(I,J);i=K;return}a[H>>0]=0;GE(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);Rw(c[I>>2]|0,95,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;if(a[y>>0]|0)Ih(c[I>>2]|0,-1,c[c[r>>2]>>2]|0,0);if(d[A>>0]|0)Fh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)xz(c[I>>2]|0,95,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Fh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;JE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;BC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Gz(I,J);i=K;return}function GE(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Ej(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=Xz(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;Vw(c[w>>2]|0,111,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;Yz(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function HE(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(MF(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=ME(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function IE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Ex(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;cC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function JE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Ex(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(NC(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=KE(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)LE(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function KE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(cC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1578];c[J+4>>2]=c[1579];c[I>>2]=c[1580];c[I+4>>2]=c[1581];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Cy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+((h<<16>>16)*24|0)>>2]|0);Cy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=cz(c[q>>2]|0,27,J,0)|0;f=rv(g,122,f,cz(c[q>>2]|0,27,K,0)|0,0)|0;c[w>>2]=rv(e,79,f,cz(c[q>>2]|0,27,H,0)|0,0)|0;c[F>>2]=az(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=cz(c[q>>2]|0,27,J,0)|0;g=rv(e,122,g,cz(c[q>>2]|0,27,K,0)|0,0)|0;e=c[k>>2]|0;f=cz(c[q>>2]|0,27,I,0)|0;c[w>>2]=rv(h,73,g,rv(e,122,f,cz(c[q>>2]|0,27,K,0)|0,0)|0,0)|0;c[E>>2]=az(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=rv(c[k>>2]|0,101,0,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+4>>2];if(c[v>>2]|0){c[z>>2]=ny(c[q>>2]|0,c[v>>2]|0,0)|0;break}else{c[z>>2]=rv(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=cz(c[q>>2]|0,27,I,0)|0;c[z>>2]=rv(e,122,f,cz(c[q>>2]|0,27,K,0)|0,0)|0}while(0);c[y>>2]=Gv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Hv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Sf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=If(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Jv(c[q>>2]|0,57,36044)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Gv(c[k>>2]|0,0,c[A>>2]|0)|0;K=Nv(c[q>>2]|0,0,G,0)|0;c[B>>2]=Fv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+248|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=ph(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,iR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=ny(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=vy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=Hx(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=rv(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=ny(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+248|0;c[L>>2]=(c[L>>2]|0)+-1;Zu(c[q>>2]|0,c[F>>2]|0);Zu(c[q>>2]|0,c[E>>2]|0);Vu(c[q>>2]|0,c[y>>2]|0);Wu(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+65>>0]|0|0)==1){LF(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=38;else a[c[C>>2]>>0]=109;break}default:M=38}if((M|0)==38)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function LE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=Pw(c[j>>2]|0)|0;c[n>>2]=ME(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+76|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;Uw(e,132,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Fh(c[o>>2]|0,c[m>>2]&255);i=p;return}function ME(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+532>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=NE(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function NE(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+416>>2]|0)g=c[g+416>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=ph(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+532>>2];c[(c[s>>2]|0)+532>>2]=c[p>>2];e=ph(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}OE(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=ph(c[n>>2]|0,544,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+420>>2]=c[l>>2];c[(c[r>>2]|0)+416>>2]=c[s>>2];c[(c[r>>2]|0)+496>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+440>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+428>>2]=c[(c[j>>2]|0)+428>>2];c[v>>2]=Pw(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Ih(e,-1,Bh(l,35740,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=ny(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(fy(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+65>>0]|0|0)==0:0){c[o>>2]=Cz(c[v>>2]|0)|0;LA(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}Zu(c[n>>2]|0,c[t>>2]|0)}PE(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Gz(c[v>>2]|0,c[o>>2]|0);Yw(c[v>>2]|0,21)|0;QE(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+65>>0]|0)){w=RE(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+400|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+76>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+84>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+432>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+436>>2];Tu(c[v>>2]|0)}Lh(c[r>>2]|0);Sf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function PE(b,e,f){b=b|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;o=i;i=i+48|0;g=o+44|0;p=o+40|0;h=o+36|0;l=o+32|0;n=o+28|0;j=o+24|0;m=o+4|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+441>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=KF(c[g>>2]|0,c[l>>2]|0)|0;p=vy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;Tv(b,e,p,ny(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 108:{b=c[g>>2]|0;e=KF(c[g>>2]|0,c[l>>2]|0)|0;p=Hx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;Uv(b,e,p,nz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 109:{p=c[g>>2]|0;Rv(p,KF(c[g>>2]|0,c[l>>2]|0)|0,ny(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=Hx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;ZA(m,4,0);Cv(c[g>>2]|0,c[k>>2]|0,m)|0;Wu(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)Yw(c[n>>2]|0,98)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+68>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+68>>2]=c[(c[e>>2]|0)+68>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Sf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function RE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];SE(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function SE(e,f){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,r=0;r=i;i=i+48|0;g=r+28|0;h=r+24|0;k=r+20|0;m=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;n=r+32|0;l=r;c[g>>2]=e;c[h>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[p>>2]=c[(c[g>>2]|0)+24>>2];c[j>>2]=c[(c[p>>2]|0)+120>>2];f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-65|64;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129;c[o>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[n>>0]=a[c[o>>2]>>0]|0;switch(d[n>>0]|0|0){case 2:{if(c[(c[o>>2]|0)+8>>2]|0){q=(c[g>>2]|0)+88|0;b[q>>1]=b[q>>1]&-65;q=6}else q=6;break}case 0:case 1:{q=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-65;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129|128;break}case 12:{if((c[(c[o>>2]|0)+8>>2]|0)>(c[m>>2]|0))c[m>>2]=c[(c[o>>2]|0)+8>>2];break}case 11:{c[l>>2]=c[(c[o>>2]|0)+-20+4>>2];if((c[l>>2]|0)>(c[m>>2]|0))c[m>>2]=c[l>>2];break}case 3:case 5:case 7:{c[(c[o>>2]|0)+16>>2]=200;a[(c[o>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[o>>2]|0)+16>>2]=201;a[(c[o>>2]|0)+1>>0]=-19;break}default:{}}if((q|0)==6){q=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129|128}a[(c[o>>2]|0)+2>>0]=a[35754+(d[n>>0]|0)>>0]|0;if(((d[(c[o>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[o>>2]|0)+8>>2]|0)<0:0)c[(c[o>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[o>>2]|0)+8>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+20}Sf(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+120>>2]|0);c[(c[p>>2]|0)+120>>2]=0;c[(c[p>>2]|0)+116>>2]=0;c[c[h>>2]>>2]=c[m>>2];i=r;return}function TE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=IF(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=IF(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=JF(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function UE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=VE(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function VE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=WE(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}ZE(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=UE(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=XE(o,$q((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=YE(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function WE(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=bF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function XE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Lj(60332)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=_E(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function YE(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=$q((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=XE(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function ZE(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;sB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function _E(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=($E(c[l>>2]|0)|0)>>>0){c[r>>2]=sg(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=It(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(aF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Kt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){qB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Lj(57580)|0;qB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Lj(57558)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function $E(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function aF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=It(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=tg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function bF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=cF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}dF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Sf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Lj(56338)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=eF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Sf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function cF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=yh(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function dF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(tF(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(tF(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;v=vF((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function eF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+66>>0]|0)==1?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0)?(d[(c[n>>2]|0)+69>>0]|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=fF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=gF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);St(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=_f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=hF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=$q((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=$q((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=XE(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Lj(60709)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Lj(60782)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function fF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function gF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){pB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;sB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=_E(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=$q((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=XE(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Lj(60470)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Lj(60459)|0;n=c[g>>2]|0;i=m;return n|0}function hF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];iF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0>((c[(c[A>>2]|0)+56>>2]|0)+(c[(c[y>>2]|0)+36>>2]|0)|0)>>>0){c[k>>2]=Lj(60043)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=jF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=$q((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=bg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){kR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=kF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=sg(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=tg(c[z>>2]|0)|0;c[w>>2]=$q(c[t>>2]|0)|0;c[B>>2]=jF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;vg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Lj(60200)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function iF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;oF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function jF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Dg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){iR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else iR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function kF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=lF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[381]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=($E(c[h>>2]|0)|0)>>>0?(c[r>>2]=mF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=nF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=$q(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{qB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function lF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function mF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=lF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=sg(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=tg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){vg(c[o>>2]|0);c[h>>2]=Lj(56557)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=$q((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}vg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Lj(56565)|0;s=c[h>>2]|0;i=r;return s|0}function nF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=sg(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=aF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function oF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function pF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+4>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=gR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,rR(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=rF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=rF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=sF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function qF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else tF(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Lj(71970)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=vQ((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=sF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function rF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=sF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function sF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(tF(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(uF(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(tF(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Lj(71688)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){vF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(wF(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=xF(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}vF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=wF(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(!(e[(c[w>>2]|0)+8>>1]&2)){k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else tF(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=vQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else tF(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=yF(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=vQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(!(c[E>>2]|0))c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0)}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=67;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=uF(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=zF(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=73;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=73;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=73;break}}if((k|0)==43){H=(Lj(71763)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Lj(71792)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==67){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==73){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function tF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=St(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function uF(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35916+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function vF(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=gR(f|0,0,rR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=GF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[15534+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function wF(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function xF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=gR(b|0,0,rR(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function yF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}AF(n,c[(c[j>>2]|0)+32>>2]|0,1);AF(o,c[(c[j>>2]|0)+32>>2]|0,1);BF(n,c[j>>2]|0,4096);BF(o,c[k>>2]|0,4096);c[s>>2]=Wg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Wg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Ug(n);Ug(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function zF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=hR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function AF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function BF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){CF(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function CF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;DF(c[h>>2]|0);BF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function DF(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)EF(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){FF(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function EF(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Sf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function FF(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Sf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function GF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=gR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(HF(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function HF(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function IF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=WE(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=JF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=XE(o,$q((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=JF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}ZE(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=TE(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function JF(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=$q((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=XE(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function KF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Nv(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=nh(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Dh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;i=h;return j|0}j=nh(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;i=h;return j|0}function LF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];Zu(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Vu(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Wu(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);Zu(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=g;return}function MF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((Yy(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function NF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function OF(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(py(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(py(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function PF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+496>>2];c[(c[f>>2]|0)+496>>2]=c[g>>2];i=e;return}function QF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Dh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=ny(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Nv(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=nh(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=nh(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Fv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,-32768,0,0)|0;ZA(l,12,c[j>>2]|0);Cv(c[f>>2]|0,c[o>>2]|0,l)|0;Wu(c[k>>2]|0,c[o>>2]|0);i=p;return}function RF(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Ax(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+72|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=Rw(c[E>>2]|0,57,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+76|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+76|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=RC(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}Rw(c[E>>2]|0,103,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)xA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else Rw(c[E>>2]|0,103,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)xA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else Vw(c[E>>2]|0,153,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=SF(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){pA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+416>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{Vw(m,49,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;Rw(c[E>>2]|0,74,c[w>>2]|0,c[D>>2]|0)|0;Vw(c[E>>2]|0,75,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){SC(c[A>>2]|0);c[u>>2]=xz(c[E>>2]|0,108,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;Vw(c[E>>2]|0,47,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);EC(c[r>>2]|0,c[s>>2]|0);Uw(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Fh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Bx(c[r>>2]|0);if(!(c[v>>2]|0)){Rw(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Fz(c[E>>2]|0,c[u>>2]|0);Rw(c[E>>2]|0,61,c[w>>2]|0,0)|0;i=F;return}else{SC(c[A>>2]|0);i=F;return}}function SF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+38>>0]|0|0}function TF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+496>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function UF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Ew(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=(((($t(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);kR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function VF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Ah(c[g>>2]|0,36847,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function WF(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+496>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+60>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+32>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(c[(c[(c[v>>2]|0)+36>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((iz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((iz(c[(c[v>>2]|0)+48>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+32>>2];if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[v>>2]|0)+60>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+64>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((e[(c[v>>2]|0)+6>>1]&128|0)!=0?(c[(c[K>>2]|0)+60>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(e[(c[v>>2]|0)+6>>1]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+48>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[v>>2]|0)+36>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(e[(c[v>>2]|0)+6>>1]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((e[(c[v>>2]|0)+6>>1]&8192|0)!=0?(c[(c[K>>2]|0)+52>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+52>>2]|0){if(c[(c[K>>2]|0)+48>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(e[(c[v>>2]|0)+6>>1]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(e[(c[L>>2]|0)+6>>1]&9){t=62;break}if((c[(c[L>>2]|0)+52>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+32>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+52>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+48>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+48>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+48>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+496>>2]=c[(c[N>>2]|0)+8>>2];Mw(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+496>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+48>>2];c[o>>2]=c[(c[v>>2]|0)+60>>2];c[q>>2]=c[(c[v>>2]|0)+64>>2];c[s>>2]=c[(c[v>>2]|0)+52>>2];c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[(c[v>>2]|0)+52>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[(c[v>>2]|0)+64>>2]=0;c[p>>2]=Hx(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+64>>2]=c[q>>2];c[(c[v>>2]|0)+60>>2]=c[o>>2];c[(c[v>>2]|0)+48>>2]=c[r>>2];c[(c[v>>2]|0)+32>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+52>>2]=l;else{c[(c[p>>2]|0)+52>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+56>>2]=c[p>>2];c[(c[p>>2]|0)+56>>2]=c[v>>2];c[(c[v>>2]|0)+52>>2]=c[p>>2]}if(a[(c[B>>2]|0)+65>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+52>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Sf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Sf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Sf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+416>>2]|0)l=c[l+416>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+528>>2];c[(c[x>>2]|0)+528>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+32>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+32>>2];if(!(c[J>>2]|0)){x=Nv(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+32>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=UF(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+32>>2]=x,(a[(c[B>>2]|0)+65>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;_u(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=nh(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Jw(c[P>>2]|0)|0;c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+48>>2]|0){c[H>>2]=c[(c[K>>2]|0)+48>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+48>>2]=c[H>>2];c[(c[K>>2]|0)+48>>2]=0}c[O>>2]=ny(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+44>>2]=c[(c[I>>2]|0)+36>>2];c[(c[I>>2]|0)+36>>2]=c[O>>2];w=c[B>>2]|0;x=c[(c[I>>2]|0)+44>>2]|0;x=az(w,x,ny(c[B>>2]|0,c[(c[K>>2]|0)+44>>2]|0,0)|0)|0;c[(c[I>>2]|0)+44>>2]=x;x=vy(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;c[(c[I>>2]|0)+40>>2]=x}else{x=az(c[B>>2]|0,c[(c[I>>2]|0)+36>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+36>>2]=x}EG(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+6|0;b[x>>1]=e[x>>1]|e[(c[K>>2]|0)+6>>1]&1;if(c[(c[K>>2]|0)+60>>2]|0){c[(c[I>>2]|0)+60>>2]=c[(c[K>>2]|0)+60>>2];c[(c[K>>2]|0)+60>>2]=0}c[I>>2]=c[(c[I>>2]|0)+52>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2]}Wu(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function XF(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=i;i=i+240|0;$=aa+8|0;j=aa;k=aa+220|0;l=aa+216|0;m=aa+212|0;n=aa+208|0;V=aa+204|0;S=aa+200|0;_=aa+196|0;u=aa+176|0;J=aa+172|0;t=aa+168|0;D=aa+164|0;E=aa+160|0;o=aa+156|0;H=aa+152|0;Y=aa+148|0;I=aa+224|0;T=aa+144|0;N=aa+140|0;Q=aa+136|0;p=aa+132|0;Z=aa+112|0;y=aa+108|0;w=aa+104|0;A=aa+100|0;K=aa+96|0;W=aa+92|0;X=aa+88|0;z=aa+84|0;x=aa+80|0;B=aa+76|0;O=aa+72|0;R=aa+68|0;q=aa+64|0;F=aa+44|0;U=aa+40|0;L=aa+36|0;v=aa+32|0;M=aa+28|0;P=aa+24|0;s=aa+20|0;G=aa+16|0;r=aa+12|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[V>>2]=0;c[J>>2]=0;c[D>>2]=0;c[E>>2]=0;c[t>>2]=c[c[l>>2]>>2];c[S>>2]=c[(c[m>>2]|0)+52>>2];f=c[n>>2]|0;c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];a:do if(!(c[(c[S>>2]|0)+48>>2]|0)){g=c[l>>2]|0;if(c[(c[S>>2]|0)+60>>2]|0){c[$>>2]=xy(d[(c[m>>2]|0)+4>>0]|0)|0;Ah(g,36704,$);c[V>>2]=1;break}c[_>>2]=Pw(g)|0;if((d[u>>0]|0|0)==12){Rw(c[_>>2]|0,57,c[u+4>>2]|0,c[c[c[m>>2]>>2]>>2]|0)|0;Fh(c[_>>2]|0,8);a[u>>0]=14}if((e[(c[m>>2]|0)+6>>1]|0)&512){c[V>>2]=GG(c[l>>2]|0,c[m>>2]|0,u)|0;break}b:do if((e[(c[m>>2]|0)+6>>1]|0)&8192)HG(c[l>>2]|0,c[m>>2]|0,u);else{if(c[(c[m>>2]|0)+48>>2]|0){c[k>>2]=IG(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;$=c[k>>2]|0;i=aa;return $|0}switch(d[(c[m>>2]|0)+4>>0]|0|0){case 116:{c[o>>2]=0;c[(c[S>>2]|0)+8>>2]=c[(c[m>>2]|0)+8>>2];c[(c[S>>2]|0)+12>>2]=c[(c[m>>2]|0)+12>>2];c[(c[S>>2]|0)+60>>2]=c[(c[m>>2]|0)+60>>2];c[(c[S>>2]|0)+64>>2]=c[(c[m>>2]|0)+64>>2];c[D>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[S>>2]|0,u)|0;c[(c[m>>2]|0)+60>>2]=0;c[(c[m>>2]|0)+64>>2]=0;if(c[V>>2]|0)break a;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+8>>2]=c[(c[S>>2]|0)+8>>2];c[(c[m>>2]|0)+12>>2]=c[(c[S>>2]|0)+12>>2];if((c[(c[m>>2]|0)+8>>2]|0)!=0?(c[o>>2]=xz(c[_>>2]|0,46,c[(c[m>>2]|0)+8>>2]|0)|0,(c[(c[m>>2]|0)+12>>2]|0)!=0):0)Vw(c[_>>2]|0,139,c[(c[m>>2]|0)+8>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+1|0,c[(c[m>>2]|0)+12>>2]|0)|0;c[E>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[m>>2]|0,u)|0;c[J>>2]=c[(c[m>>2]|0)+52>>2];c[(c[m>>2]|0)+52>>2]=c[S>>2];Z=(c[S>>2]|0)+24|0;$=(c[m>>2]|0)+24|0;Y=$;c[$>>2]=gR(c[Y>>2]|0,c[Y+4>>2]|0,c[Z>>2]|0,c[Z+4>>2]|0)|0;c[$+4>>2]=C;if(((c[(c[S>>2]|0)+60>>2]|0)!=0?($=(ky(c[(c[S>>2]|0)+60>>2]|0,H)|0)!=0,$&(c[H>>2]|0)>0):0)?(Z=(c[m>>2]|0)+24|0,X=c[Z+4>>2]|0,$=c[H>>2]|0,Y=(($|0)<0)<<31>>31,X>>>0>Y>>>0|((X|0)==(Y|0)?(c[Z>>2]|0)>>>0>$>>>0:0)):0){Z=c[H>>2]|0;$=(c[m>>2]|0)+24|0;c[$>>2]=Z;c[$+4>>2]=((Z|0)<0)<<31>>31}if(!(c[o>>2]|0))break b;Fz(c[_>>2]|0,c[o>>2]|0);break b}case 115:case 117:{a[I>>0]=0;c[T>>2]=1;if((d[u>>0]|0|0)==(c[T>>2]|0))c[Y>>2]=c[u+4>>2];else{X=(c[l>>2]|0)+72|0;$=c[X>>2]|0;c[X>>2]=$+1;c[Y>>2]=$;c[p>>2]=Rw(c[_>>2]|0,57,c[Y>>2]|0,0)|0;c[(c[m>>2]|0)+16>>2]=c[p>>2];$=(Sy(c[m>>2]|0)|0)+6|0;b[$>>1]=e[$>>1]|0|16}ZA(Z,c[T>>2]|0,c[Y>>2]|0);c[D>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[S>>2]|0,Z)|0;if(c[V>>2]|0)break a;if((d[(c[m>>2]|0)+4>>0]|0|0)==117)a[I>>0]=2;else a[I>>0]=1;c[(c[m>>2]|0)+52>>2]=0;c[N>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=0;c[Q>>2]=c[(c[m>>2]|0)+64>>2];c[(c[m>>2]|0)+64>>2]=0;a[Z>>0]=a[I>>0]|0;c[E>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[m>>2]|0,Z)|0;Vu(c[t>>2]|0,c[(c[m>>2]|0)+48>>2]|0);c[J>>2]=c[(c[m>>2]|0)+52>>2];c[(c[m>>2]|0)+52>>2]=c[S>>2];c[(c[m>>2]|0)+48>>2]=0;if((d[(c[m>>2]|0)+4>>0]|0|0)==115){Z=(c[S>>2]|0)+24|0;$=(c[m>>2]|0)+24|0;X=$;Z=gR(c[X>>2]|0,c[X+4>>2]|0,c[Z>>2]|0,c[Z+4>>2]|0)|0;c[$>>2]=Z;c[$+4>>2]=C}Zu(c[t>>2]|0,c[(c[m>>2]|0)+60>>2]|0);c[(c[m>>2]|0)+60>>2]=c[N>>2];c[(c[m>>2]|0)+64>>2]=c[Q>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;if((d[u>>0]|0|0)==(c[T>>2]|0))break b;if((d[u>>0]|0|0)==9){c[K>>2]=c[m>>2];while(1){if(!(c[(c[K>>2]|0)+52>>2]|0))break;c[K>>2]=c[(c[K>>2]|0)+52>>2]}uG(c[l>>2]|0,c[(c[K>>2]|0)+32>>2]|0,c[c[K>>2]>>2]|0)}c[w>>2]=Cz(c[_>>2]|0)|0;c[y>>2]=Cz(c[_>>2]|0)|0;aG(c[l>>2]|0,c[m>>2]|0,c[w>>2]|0);Rw(c[_>>2]|0,108,c[Y>>2]|0,c[w>>2]|0)|0;c[A>>2]=Bz(c[_>>2]|0)|0;hG(c[l>>2]|0,c[m>>2]|0,c[c[m>>2]>>2]|0,c[Y>>2]|0,0,0,u,c[y>>2]|0,c[w>>2]|0);Gz(c[_>>2]|0,c[y>>2]|0);Rw(c[_>>2]|0,7,c[Y>>2]|0,c[A>>2]|0)|0;Gz(c[_>>2]|0,c[w>>2]|0);Rw(c[_>>2]|0,61,c[Y>>2]|0,0)|0;break b}default:{$=(c[l>>2]|0)+72|0;Z=c[$>>2]|0;c[$>>2]=Z+1;c[W>>2]=Z;Z=(c[l>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[X>>2]=$;c[q>>2]=Rw(c[_>>2]|0,57,c[W>>2]|0,0)|0;c[(c[m>>2]|0)+16>>2]=c[q>>2];$=(Sy(c[m>>2]|0)|0)+6|0;b[$>>1]=e[$>>1]|0|16;ZA(F,1,c[W>>2]|0);c[D>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[S>>2]|0,F)|0;if(c[V>>2]|0)break a;c[q>>2]=Rw(c[_>>2]|0,57,c[X>>2]|0,0)|0;c[(c[m>>2]|0)+16+4>>2]=c[q>>2];c[(c[m>>2]|0)+52>>2]=0;c[O>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=0;c[R>>2]=c[(c[m>>2]|0)+64>>2];c[(c[m>>2]|0)+64>>2]=0;c[F+4>>2]=c[X>>2];c[E>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[m>>2]|0,F)|0;c[J>>2]=c[(c[m>>2]|0)+52>>2];c[(c[m>>2]|0)+52>>2]=c[S>>2];Z=(c[m>>2]|0)+24|0;T=c[Z+4>>2]|0;$=(c[S>>2]|0)+24|0;Y=c[$+4>>2]|0;if(T>>>0>Y>>>0|((T|0)==(Y|0)?(c[Z>>2]|0)>>>0>(c[$>>2]|0)>>>0:0)){Y=(c[S>>2]|0)+24|0;Z=c[Y+4>>2]|0;$=(c[m>>2]|0)+24|0;c[$>>2]=c[Y>>2];c[$+4>>2]=Z}Zu(c[t>>2]|0,c[(c[m>>2]|0)+60>>2]|0);c[(c[m>>2]|0)+60>>2]=c[O>>2];c[(c[m>>2]|0)+64>>2]=c[R>>2];if((d[u>>0]|0|0)==9){c[L>>2]=c[m>>2];while(1){if(!(c[(c[L>>2]|0)+52>>2]|0))break;c[L>>2]=c[(c[L>>2]|0)+52>>2]}uG(c[l>>2]|0,c[(c[L>>2]|0)+32>>2]|0,c[c[L>>2]>>2]|0)}c[x>>2]=Cz(c[_>>2]|0)|0;c[z>>2]=Cz(c[_>>2]|0)|0;aG(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0);Rw(c[_>>2]|0,108,c[W>>2]|0,c[x>>2]|0)|0;c[U>>2]=Wz(c[l>>2]|0)|0;c[B>>2]=Rw(c[_>>2]|0,101,c[W>>2]|0,c[U>>2]|0)|0;Eh(c[_>>2]|0,68,c[X>>2]|0,c[z>>2]|0,c[U>>2]|0,0)|0;_z(c[l>>2]|0,c[U>>2]|0);hG(c[l>>2]|0,c[m>>2]|0,c[c[m>>2]>>2]|0,c[W>>2]|0,0,0,u,c[z>>2]|0,c[x>>2]|0);Gz(c[_>>2]|0,c[z>>2]|0);Rw(c[_>>2]|0,7,c[W>>2]|0,c[B>>2]|0)|0;Gz(c[_>>2]|0,c[x>>2]|0);Rw(c[_>>2]|0,61,c[X>>2]|0,0)|0;Rw(c[_>>2]|0,61,c[W>>2]|0,0)|0;break b}}}while(0);JG(c[l>>2]|0,d[(c[m>>2]|0)+4>>0]|0,c[D>>2]|0,c[E>>2]|0,(d[(c[m>>2]|0)+4>>0]|0|0)!=116&1);if((e[(c[m>>2]|0)+6>>1]|0)&16){c[G>>2]=c[c[c[m>>2]>>2]>>2];c[M>>2]=Qz(c[t>>2]|0,c[G>>2]|0,1)|0;if(!(c[M>>2]|0)){c[V>>2]=7;break}c[v>>2]=0;c[s>>2]=(c[M>>2]|0)+20;while(1){if((c[v>>2]|0)>=(c[G>>2]|0))break;$=KG(c[l>>2]|0,c[m>>2]|0,c[v>>2]|0)|0;c[c[s>>2]>>2]=$;if(!(c[c[s>>2]>>2]|0))c[c[s>>2]>>2]=c[(c[t>>2]|0)+8>>2];c[v>>2]=(c[v>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+4}c[P>>2]=c[m>>2];while(1){if(!(c[P>>2]|0))break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=2)break;c[r>>2]=c[(c[P>>2]|0)+16+(c[v>>2]<<2)>>2];if((c[r>>2]|0)<0)break;Lz(c[_>>2]|0,c[r>>2]|0,c[G>>2]|0);Z=c[_>>2]|0;$=c[r>>2]|0;Ih(Z,$,Vz(c[M>>2]|0)|0,-6);c[(c[P>>2]|0)+16+(c[v>>2]<<2)>>2]=-1;c[v>>2]=(c[v>>2]|0)+1}c[P>>2]=c[(c[P>>2]|0)+52>>2]}Rz(c[M>>2]|0)}}else{$=c[l>>2]|0;c[j>>2]=xy(d[(c[m>>2]|0)+4>>0]|0)|0;Ah($,36656,j);c[V>>2]=1}while(0);c[(c[n>>2]|0)+8>>2]=c[u+8>>2];c[(c[n>>2]|0)+12>>2]=c[u+12>>2];Wu(c[t>>2]|0,c[J>>2]|0);c[k>>2]=c[V>>2];$=c[k>>2]|0;i=aa;return $|0}function YF(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;gz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function ZF(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=a;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;if(!(c[l>>2]|0)){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}if((e[(c[k>>2]|0)+6>>1]|0)&8200){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}if(c[(c[k>>2]|0)+60>>2]|0){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}while(1){if((d[c[l>>2]>>0]|0|0)!=72)break;f=ZF(c[j>>2]|0,c[k>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+f;c[l>>2]=c[(c[l>>2]|0)+12>>2]}if(c[(c[l>>2]|0)+4>>2]&1){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}a:do if(ED(c[l>>2]|0,c[m>>2]|0)|0){c[n>>2]=(c[n>>2]|0)+1;while(1){if(!(c[k>>2]|0))break a;c[o>>2]=ny(c[j>>2]|0,c[l>>2]|0,0)|0;c[o>>2]=DG(c[j>>2]|0,c[o>>2]|0,c[m>>2]|0,c[c[k>>2]>>2]|0)|0;f=az(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=f;c[k>>2]=c[(c[k>>2]|0)+52>>2]}}while(0);c[h>>2]=c[n>>2];f=c[h>>2]|0;i=p;return f|0}function _F(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+60>>2]=0;i=d;return}function $F(b,d,e,f){b=b|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,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Qz(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=Ox(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function aG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;h=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=0;c[h>>2]=0;if(c[(c[f>>2]|0)+8>>2]|0){i=m;return}fC(c[e>>2]|0);if(!(c[(c[f>>2]|0)+60>>2]|0)){i=m;return}b=(c[e>>2]|0)+76|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[h>>2]=a;c[(c[f>>2]|0)+8>>2]=a;c[l>>2]=Pw(c[e>>2]|0)|0;do if(ky(c[(c[f>>2]|0)+60>>2]|0,k)|0){Rw(c[l>>2]|0,22,c[k>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){Ez(c[l>>2]|0,c[g>>2]|0)|0;break}if((c[k>>2]|0)>=0?(b=(c[f>>2]|0)+24|0,g=c[b+4>>2]|0,a=c[k>>2]|0,d=((a|0)<0)<<31>>31,g>>>0>d>>>0|((g|0)==(d|0)?(c[b>>2]|0)>>>0>a>>>0:0)):0){b=c[k>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31}}else{xA(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0,c[h>>2]|0);xz(c[l>>2]|0,38,c[h>>2]|0)|0;Rw(c[l>>2]|0,46,c[h>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[(c[f>>2]|0)+64>>2]|0)){i=m;return}b=(c[e>>2]|0)+76|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[j>>2]=a;c[(c[f>>2]|0)+12>>2]=a;a=(c[e>>2]|0)+76|0;c[a>>2]=(c[a>>2]|0)+1;xA(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[j>>2]|0);xz(c[l>>2]|0,38,c[j>>2]|0)|0;Vw(c[l>>2]|0,139,c[h>>2]|0,(c[j>>2]|0)+1|0,c[j>>2]|0)|0;i=m;return}function bG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(Mz(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function cG(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=aC(b[(c[e>>2]|0)+32>>1]|0)|0;i=d;return a|0}function dG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+40>>0]|0|0}function eG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+36>>0]|0}function fG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function gG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function hG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[M>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[M>>2]>>0];c[O>>2]=c[(c[M>>2]|0)+4>>2];c[N>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))wG(c[U>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[u>>2]|0);c[F>>2]=c[c[t>>2]>>2];if(c[(c[M>>2]|0)+8>>2]|0){if(((c[(c[M>>2]|0)+8>>2]|0)+(c[F>>2]|0)|0)>(c[(c[P>>2]|0)+76>>2]|0)){h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}}else{if(c[R>>2]|0){c[N>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[N>>2]=(c[N>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[M>>2]|0)+8>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}c[(c[M>>2]|0)+12>>2]=c[F>>2];c[T>>2]=c[(c[M>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;GA(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break a;Vw(c[U>>2]|0,47,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;r=(c[P>>2]|0)+76|0;c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);pA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Mz(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=25;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(Bz(c[U>>2]|0)|0)+(c[F>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=Ox(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[F>>2]|0)-1|0))Vw(n,78,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else Vw(n,79,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Ih(c[U>>2]|0,-1,c[x>>2]|0,-4);Fh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}Vw(c[U>>2]|0,30,c[T>>2]|0,c[A>>2]|0,(c[F>>2]|0)-1|0)|0;break}case 1:{pA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:xG(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[F>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))wG(c[U>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=Wz(c[P>>2]|0)|0;Vw(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[y>>2]|0)|0;Rw(c[U>>2]|0,110,c[O>>2]|0,c[y>>2]|0)|0;_z(c[P>>2]|0,c[y>>2]|0);break}case 2:{Vw(c[U>>2]|0,111,c[O>>2]|0,c[T>>2]|0,c[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[H>>2]=kA(c[P>>2]|0,(c[N>>2]|0)+1|0)|0;Vw(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(Bz(c[U>>2]|0)|0)+4;Eh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,c[v>>2]|0,c[H>>2]|0,0)|0;Rw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[H>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)CG(n,c[R>>2]|0,c[Q>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0,c[T>>2]|0,1,c[N>>2]|0);else{c[K>>2]=Wz(n)|0;Rw(c[U>>2]|0,74,c[O>>2]|0,c[K>>2]|0)|0;Vw(c[U>>2]|0,75,c[O>>2]|0,c[H>>2]|0,c[K>>2]|0)|0;Fh(c[U>>2]|0,8);_z(c[P>>2]|0,c[K>>2]|0)}nA(c[P>>2]|0,c[H>>2]|0,(c[N>>2]|0)+1|0);break}case 11:{n=SA(c[c[(c[t>>2]|0)+4>>2]>>2]|0,a[(c[M>>2]|0)+1>>0]|0)|0;a[(c[M>>2]|0)+1>>0]=n;n=c[P>>2]|0;if(c[R>>2]|0){CG(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break b}else{c[I>>2]=Wz(n)|0;Uw(c[U>>2]|0,49,c[T>>2]|0,1,c[I>>2]|0,(c[M>>2]|0)+1|0,1)|0;CA(c[P>>2]|0,c[T>>2]|0,1);Rw(c[U>>2]|0,110,c[O>>2]|0,c[I>>2]|0)|0;_z(c[P>>2]|0,c[I>>2]|0);break b}}case 3:{Rw(c[U>>2]|0,22,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)CG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){CG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[F>>2]|0,c[N>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){xz(n,18,c[(c[M>>2]|0)+4>>2]|0)|0;break b}else{Rw(n,33,c[T>>2]|0,c[F>>2]|0)|0;CA(c[P>>2]|0,c[T>>2]|0,c[F>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[G>>2]=c[(c[M>>2]|0)+16>>2];c[E>>2]=c[c[G>>2]>>2];c[J>>2]=Wz(c[P>>2]|0)|0;c[L>>2]=kA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[L>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Eh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[F>>2]|0)|0;Vw(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){Rw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Fh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;Rw(n,31,(c[T>>2]|0)+(e[(c[(c[G>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[L>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}Rw(n,73,c[O>>2]|0,(c[L>>2]|0)+(c[E>>2]|0)|0)|0;Vw(c[U>>2]|0,49,c[L>>2]|0,(c[E>>2]|0)+2|0,c[J>>2]|0)|0;Rw(c[U>>2]|0,110,c[O>>2]|0,c[J>>2]|0)|0;if(c[B>>2]|0)Fz(c[U>>2]|0,c[B>>2]|0);_z(c[P>>2]|0,c[J>>2]|0);nA(c[P>>2]|0,c[L>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+8>>2]|0)){i=V;return}Rw(c[U>>2]|0,141,c[(c[Q>>2]|0)+8>>2]|0,c[S>>2]|0)|0;i=V;return}function iG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;jG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function jG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+8>>2]=203;c[f+24>>2]=c[g>>2];by(f,c[e>>2]|0)|0;i=d;return}function kG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+453>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Bh(b,36633,h)|0;Uw(c[g>>2]|0,161,c[(c[e>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function lG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+37>>0]|0|0}function mG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;Vw(c[(c[j>>2]|0)+8>>2]|0,29,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;oA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function nG(b,d){b=b|0;d=d|0;var 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;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=kA(c[f>>2]|0,c[m>>2]|0)|0;GA(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Cz(c[u>>2]|0)|0;xG(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=Ox(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+76|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}Uw(c[u>>2]|0,34,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}Uw(c[u>>2]|0,143,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Fh(c[u>>2]|0,c[m>>2]&255);CA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);nA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Gz(c[u>>2]|0,c[j>>2]|0);fC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=xz(c[u>>2]|0,45,c[t>>2]|0)|0;fC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;xA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;fC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Fz(c[u>>2]|0,c[h>>2]|0);i=v;return}function oG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;Uw(c[h>>2]|0,145,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function pG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}Vw(c[k>>2]|0,25,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=$F(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;Uw(c[k>>2]|0,57,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ah(c[d>>2]|0,36582,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function qG(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+36>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+32>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+32>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function rG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+453>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?36541:19266;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=19266;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Bh(b,36564,l)|0;Uw(c[(c[j>>2]|0)+8>>2]|0,161,c[(c[j>>2]|0)+468>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function sG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(Td(c[k>>2]|0,36533)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(Td(c[k>>2]|0,36537)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function tG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;s=E+84|0;h=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;w=E+36|0;m=E+32|0;x=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[s>>2]=a;c[h>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[v>>2]=Cz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){Rw(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Ez(c[D>>2]|0,c[C>>2]|0)|0;Gz(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=Wz(c[s>>2]|0)|0;c[x>>2]=Wz(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[s>>2]|0)+76|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+72|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=UA(c[s>>2]|0)|0;Vw(c[D>>2]|0,60,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Fz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(Rw(c[D>>2]|0,106,c[z>>2]|0,c[C>>2]|0)|0);wG(c[D>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[v>>2]|0);Vw(c[D>>2]|0,100,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(Rw(c[D>>2]|0,107,c[z>>2]|0,c[C>>2]|0)|0);wG(c[D>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;Vw(c[D>>2]|0,47,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:{Rw(c[D>>2]|0,74,c[m>>2]|0,c[y>>2]|0)|0;Vw(c[D>>2]|0,75,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Fh(c[D>>2]|0,8);break}case 11:{Uw(c[D>>2]|0,49,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;CA(c[s>>2]|0,c[x>>2]|0,1);Rw(c[D>>2]|0,110,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{mG(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{h=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){Rw(h,33,c[j+8>>2]|0,c[t>>2]|0)|0;CA(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{xz(h,18,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){_z(c[s>>2]|0,c[x>>2]|0);_z(c[s>>2]|0,c[y>>2]|0)}Gz(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)Rw(k,3,j,h)|0;else Rw(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Gz(B,D);i=E;return}xz(c[D>>2]|0,15,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Gz(B,D);i=E;return}function uG(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+453>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+65>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;OB(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];PB(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Bh(g,36524,v)|0}else g=nh(g,c[w>>2]|0)|0;c[w>>2]=g;PB(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=25592;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;PB(e,f,0,nh(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Bh(f,31016,u)|0;PB(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{PB(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}vG(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function vG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Mx(h,c[g>>2]|0,0)|0;PB(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function wG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Vw(c[e>>2]|0,138,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function xG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=Wz(c[j>>2]|0)|0;Eh(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Vw(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Rw(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;_z(c[j>>2]|0,c[h>>2]|0);i=g;return}function yG(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=AG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+76|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(py(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+62>>0]|0,c[w>>2]=BG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];j=(c[z>>2]|0)+76|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;c[(c[y>>2]|0)+8>>2]=h;h=c[c[z>>2]>>2]|0;j=c[(c[u>>2]|0)+8>>2]|0;k=If(c[(c[u>>2]|0)+8>>2]|0)|0;if(c[(c[u>>2]|0)+20>>2]|0)l=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else l=0;v=gi(h,j,k,l,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+72|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function zG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function AG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=rC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function BG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=rC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function CG(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;r=J+88|0;s=J+84|0;m=J+80|0;n=J+76|0;o=J+72|0;t=J+68|0;p=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;q=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[I>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[z>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[z>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[H>>2]=j;c[B>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[F>>2]=(c[n>>2]|0)-(c[z>>2]|0)-(c[x>>2]|0);else{c[F>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;j=(c[r>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+12>>2]|0)k=(c[k+12>>2]|0)+1|0;else k=c[k+8>>2]|0;c[y>>2]=k;m=Cz(c[I>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;GA(c[r>>2]|0,c[c[s>>2]>>2]|0,c[F>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)Rw(c[I>>2]|0,73,c[(c[s>>2]|0)+8>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;if(!(c[p>>2]|0))mG(c[r>>2]|0,c[n>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);Vw(c[I>>2]|0,49,(c[F>>2]|0)+(c[B>>2]|0)|0,(c[q>>2]|0)-(c[B>>2]|0)|0,c[H>>2]|0)|0;if((c[B>>2]|0)>0){c[G>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[A>>2]=(c[z>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[I>>2]|0;if(c[x>>2]|0)c[v>>2]=xz(k,46,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;else c[v>>2]=xz(k,59,c[(c[s>>2]|0)+8>>2]|0)|0;Vw(c[I>>2]|0,42,c[G>>2]|0,c[F>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[E>>2]=Mz(c[I>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+65>>0]|0){i=J;return}c[(c[E>>2]|0)+8>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[D>>2]=c[(c[E>>2]|0)+16>>2];kR(c[(c[D>>2]|0)+16>>2]|0,0,e[(c[D>>2]|0)+6>>1]|0)|0;Ih(c[I>>2]|0,-1,c[D>>2]|0,-6);D=$F(c[r>>2]|0,c[c[s>>2]>>2]|0,c[B>>2]|0,(e[(c[D>>2]|0)+8>>1]|0)-1|0)|0;c[(c[E>>2]|0)+16>>2]=D;c[w>>2]=Bz(c[I>>2]|0)|0;Vw(c[I>>2]|0,43,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;D=Cz(c[I>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=D;D=(c[r>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[s>>2]|0)+12>>2]=E;Rw(c[I>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;xz(c[I>>2]|0,120,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[y>>2]|0)Rw(c[I>>2]|0,46,c[y>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Fz(c[I>>2]|0,c[v>>2]|0);mG(c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Fz(c[I>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[C>>2]=109;else c[C>>2]=110;Rw(c[I>>2]|0,c[C>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[H>>2]|0)|0;if(!(c[y>>2]|0)){i=J;return}c[u>>2]=Vw(c[I>>2]|0,140,c[y>>2]|0,0,1)|0;xz(c[I>>2]|0,105,c[(c[s>>2]|0)+8>>2]|0)|0;xz(c[I>>2]|0,95,c[(c[s>>2]|0)+8>>2]|0)|0;Fz(c[I>>2]|0,c[u>>2]|0);i=J;return}function DG(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=ny(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;Zu(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=DG(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=DG(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){EG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{FG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function EG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){FG(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);FG(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0);FG(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0,c[l>>2]|0);f=DG(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=f;f=DG(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+36>>2]=f;c[p>>2]=c[(c[j>>2]|0)+32>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;EG(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)FG(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+52>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function FG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=DG(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function GG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=1;c[k>>2]=0;while(1){if(!(c[(c[f>>2]|0)+52>>2]|0))break;c[f>>2]=c[(c[f>>2]|0)+52>>2];c[h>>2]=(c[h>>2]|0)+1}while(1){if(!(c[f>>2]|0)){e=7;break}c[j>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=0;c[k>>2]=Cv(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=c[j>>2];if(c[k>>2]|0){e=7;break}d=c[h>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[f>>2]=c[(c[f>>2]|0)+56>>2]}if((e|0)==7){i=l;return c[k>>2]|0}return 0}function HG(a,f,g){a=a|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+128|0;H=I;q=I+112|0;r=I+108|0;s=I+104|0;j=I+100|0;n=I+96|0;G=I+92|0;C=I+88|0;v=I+84|0;u=I+80|0;t=I+76|0;x=I+72|0;D=I+68|0;y=I+64|0;m=I+60|0;l=I+56|0;w=I+36|0;h=I+32|0;p=I+28|0;B=I+24|0;z=I+20|0;A=I+16|0;E=I+12|0;F=I+8|0;o=I+4|0;c[q>>2]=a;c[r>>2]=f;c[s>>2]=g;c[j>>2]=c[(c[r>>2]|0)+32>>2];c[n>>2]=c[c[c[r>>2]>>2]>>2];c[G>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=c[(c[r>>2]|0)+52>>2];c[x>>2]=0;c[m>>2]=0;c[l>>2]=5;if(Mw(c[q>>2]|0,33,0,0,0)|0){i=I;return}c[t>>2]=Cz(c[G>>2]|0)|0;aG(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0);c[z>>2]=c[(c[r>>2]|0)+60>>2];c[A>>2]=c[(c[r>>2]|0)+64>>2];c[E>>2]=c[(c[r>>2]|0)+8>>2];c[F>>2]=c[(c[r>>2]|0)+12>>2];c[(c[r>>2]|0)+64>>2]=0;c[(c[r>>2]|0)+60>>2]=0;c[(c[r>>2]|0)+12>>2]=0;c[(c[r>>2]|0)+8>>2]=0;c[B>>2]=c[(c[r>>2]|0)+48>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0))break;f=c[h>>2]|0;if((d[(c[j>>2]|0)+8+((c[h>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){k=5;break}c[h>>2]=f+1}if((k|0)==5)c[x>>2]=c[(c[j>>2]|0)+8+(f*72|0)+44>>2];k=(c[q>>2]|0)+72|0;f=c[k>>2]|0;c[k>>2]=f+1;c[y>>2]=f;f=(c[B>>2]|0)!=0;if((d[(c[r>>2]|0)+4>>0]|0|0)==115){c[l>>2]=f?8:6;j=(c[q>>2]|0)+72|0;k=c[j>>2]|0;c[j>>2]=k+1;c[m>>2]=k}else c[l>>2]=f?7:5;ZA(w,c[l>>2]|0,c[y>>2]|0);k=(c[q>>2]|0)+76|0;l=(c[k>>2]|0)+1|0;c[k>>2]=l;c[D>>2]=l;Vw(c[G>>2]|0,60,c[x>>2]|0,c[D>>2]|0,c[n>>2]|0)|0;if(c[B>>2]|0){c[o>>2]=LG(c[q>>2]|0,c[r>>2]|0,1)|0;Uw(c[G>>2]|0,57,c[y>>2]|0,(c[c[B>>2]>>2]|0)+2|0,0,c[o>>2]|0,-6)|0;c[w+16>>2]=c[B>>2]}else Rw(c[G>>2]|0,57,c[y>>2]|0,c[n>>2]|0)|0;if(c[m>>2]|0){o=Rw(c[G>>2]|0,57,c[m>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=o;o=(c[r>>2]|0)+6|0;b[o>>1]=e[o>>1]|0|16}c[(c[r>>2]|0)+48>>2]=0;c[(c[C>>2]|0)+56>>2]=0;c[p>>2]=Cv(c[q>>2]|0,c[C>>2]|0,w)|0;c[(c[C>>2]|0)+56>>2]=c[r>>2];if(!(c[p>>2]|0)){c[v>>2]=Rw(c[G>>2]|0,108,c[y>>2]|0,c[t>>2]|0)|0;xz(c[G>>2]|0,104,c[x>>2]|0)|0;f=c[G>>2]|0;g=c[y>>2]|0;if(c[B>>2]|0)Vw(f,47,g,(c[c[B>>2]>>2]|0)+1|0,c[D>>2]|0)|0;else Rw(f,102,g,c[D>>2]|0)|0;xz(c[G>>2]|0,95,c[y>>2]|0)|0;c[u>>2]=Cz(c[G>>2]|0)|0;wG(c[G>>2]|0,c[F>>2]|0,c[u>>2]|0);hG(c[q>>2]|0,c[r>>2]|0,c[c[r>>2]>>2]|0,c[x>>2]|0,0,0,c[s>>2]|0,c[u>>2]|0,c[t>>2]|0);if(c[E>>2]|0)Rw(c[G>>2]|0,141,c[E>>2]|0,c[t>>2]|0)|0;Gz(c[G>>2]|0,c[u>>2]|0);if((e[(c[r>>2]|0)+6>>1]|0)&8)Ah(c[q>>2]|0,36805,H);else{c[(c[r>>2]|0)+52>>2]=0;Cv(c[q>>2]|0,c[r>>2]|0,w)|0;c[(c[r>>2]|0)+52>>2]=c[C>>2]}Ez(c[G>>2]|0,c[v>>2]|0)|0;Gz(c[G>>2]|0,c[t>>2]|0)}Vu(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+48>>2]|0);c[(c[r>>2]|0)+48>>2]=c[B>>2];c[(c[r>>2]|0)+60>>2]=c[z>>2];c[(c[r>>2]|0)+64>>2]=c[A>>2];i=I;return}function IG(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+224|0;q=ca+212|0;r=ca+208|0;s=ca+204|0;t=ca+200|0;j=ca+196|0;k=ca+192|0;T=ca+188|0;ba=ca+184|0;I=ca+164|0;J=ca+144|0;U=ca+140|0;V=ca+136|0;F=ca+132|0;G=ca+128|0;Y=ca+124|0;Z=ca+120|0;D=ca+116|0;E=ca+112|0;z=ca+108|0;A=ca+104|0;B=ca+100|0;y=ca+96|0;w=ca+92|0;x=ca+88|0;W=ca+84|0;X=ca+80|0;_=ca+76|0;$=ca+72|0;aa=ca+68|0;M=ca+64|0;N=ca+60|0;v=ca+56|0;P=ca+52|0;R=ca+48|0;S=ca+44|0;H=ca+40|0;p=ca+36|0;O=ca+32|0;u=ca+28|0;K=ca+24|0;L=ca+20|0;m=ca+16|0;o=ca+12|0;n=ca+8|0;l=ca+4|0;Q=ca;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[E>>2]=0;c[R>>2]=0;c[H>>2]=c[c[r>>2]>>2];c[ba>>2]=c[(c[r>>2]|0)+8>>2];c[N>>2]=Cz(c[ba>>2]|0)|0;c[M>>2]=Cz(c[ba>>2]|0)|0;c[P>>2]=d[(c[s>>2]|0)+4>>0];c[T>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[O>>2]=c[c[p>>2]>>2];a:do if((c[P>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[H>>2]|0)+65>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[O>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[O>>2]|0)){c[o>>2]=Jv(c[H>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Gv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[O>>2]|0;c[O>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;ba=c[q>>2]|0;i=ca;return ba|0}while(0);c[u>>2]=Fw(c[H>>2]|0,(c[O>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[O>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[O>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[S>>2]=LG(c[r>>2]|0,c[s>>2]|0,1)|0}else c[S>>2]=0;c[(c[s>>2]|0)+48>>2]=c[p>>2];f=vy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[T>>2]|0)+48>>2]=f;b:do if((c[P>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[_>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;f=(c[r>>2]|0)+76|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);Rw(c[ba>>2]|0,22,0,c[_>>2]|0)|0;c[R>>2]=Qz(c[H>>2]|0,c[l>>2]|0,1)|0;if(c[R>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=KG(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[R>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[_>>2]=0;while(0);c[(c[s>>2]|0)+52>>2]=0;c[(c[T>>2]|0)+56>>2]=0;yy(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+48>>2]|0,29962)|0;if(!(c[(c[T>>2]|0)+52>>2]|0))yy(c[r>>2]|0,c[T>>2]|0,c[(c[T>>2]|0)+48>>2]|0,29962)|0;aG(c[r>>2]|0,c[s>>2]|0,c[N>>2]|0);if((c[P>>2]|0)==116?(c[(c[s>>2]|0)+8>>2]|0)!=0:0){j=(c[r>>2]|0)+76|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[W>>2]=f;f=(c[r>>2]|0)+76|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[X>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+12>>2]|0)j=(c[j+12>>2]|0)+1|0;else j=c[j+8>>2]|0;Rw(c[ba>>2]|0,30,j,c[W>>2]|0)|0;Rw(c[ba>>2]|0,30,c[W>>2]|0,c[X>>2]|0)|0}else{c[X>>2]=0;c[W>>2]=0}Zu(c[H>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;Zu(c[H>>2]|0,c[(c[s>>2]|0)+64>>2]|0);c[(c[s>>2]|0)+64>>2]=0;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[U>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[Y>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Z>>2]=f;ZA(I,13,c[U>>2]|0);ZA(J,13,c[V>>2]|0);c[F>>2]=(Bz(c[ba>>2]|0)|0)+1;c[v>>2]=Vw(c[ba>>2]|0,16,c[U>>2]|0,0,c[F>>2]|0)|0;c[(c[T>>2]|0)+8>>2]=c[W>>2];c[K>>2]=c[(c[r>>2]|0)+472>>2];Cv(c[r>>2]|0,c[T>>2]|0,I)|0;xC(c[ba>>2]|0,c[U>>2]|0);Fz(c[ba>>2]|0,c[v>>2]|0);c[G>>2]=(Bz(c[ba>>2]|0)|0)+1;c[v>>2]=Vw(c[ba>>2]|0,16,c[V>>2]|0,0,c[G>>2]|0)|0;c[$>>2]=c[(c[s>>2]|0)+8>>2];c[aa>>2]=c[(c[s>>2]|0)+12>>2];c[(c[s>>2]|0)+8>>2]=c[X>>2];c[(c[s>>2]|0)+12>>2]=0;c[L>>2]=c[(c[r>>2]|0)+472>>2];Cv(c[r>>2]|0,c[s>>2]|0,J)|0;c[(c[s>>2]|0)+8>>2]=c[$>>2];c[(c[s>>2]|0)+12>>2]=c[aa>>2];xC(c[ba>>2]|0,c[V>>2]|0);c[D>>2]=MG(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)c[E>>2]=MG(c[r>>2]|0,c[s>>2]|0,J,c[t>>2]|0,c[Z>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;Rz(c[R>>2]|0);if((c[P>>2]|0)==117|(c[P>>2]|0)==118){aa=c[N>>2]|0;c[z>>2]=aa;c[A>>2]=aa}else{c[z>>2]=Rw(c[ba>>2]|0,14,c[Z>>2]|0,c[E>>2]|0)|0;c[A>>2]=Rw(c[ba>>2]|0,18,c[V>>2]|0,c[N>>2]|0)|0;Ez(c[ba>>2]|0,c[z>>2]|0)|0;$=(c[T>>2]|0)+24|0;aa=(c[s>>2]|0)+24|0;_=aa;$=gR(c[_>>2]|0,c[_+4>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;c[aa>>2]=$;c[aa+4>>2]=C}if((c[P>>2]|0)==118){c[B>>2]=c[z>>2];$=(c[s>>2]|0)+24|0;X=c[$+4>>2]|0;aa=(c[T>>2]|0)+24|0;_=c[aa+4>>2]|0;if(X>>>0>_>>>0|((X|0)==(_|0)?(c[$>>2]|0)>>>0>(c[aa>>2]|0)>>>0:0)){_=(c[T>>2]|0)+24|0;$=c[_+4>>2]|0;aa=(c[s>>2]|0)+24|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$}}else{c[B>>2]=Rw(c[ba>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;Rw(c[ba>>2]|0,18,c[U>>2]|0,c[N>>2]|0)|0;Ez(c[ba>>2]|0,c[B>>2]|0)|0}c[y>>2]=Rw(c[ba>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;Rw(c[ba>>2]|0,18,c[U>>2]|0,c[z>>2]|0)|0;Ez(c[ba>>2]|0,c[M>>2]|0)|0;do if((c[P>>2]|0)!=116)if((c[P>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=Rw(c[ba>>2]|0,18,c[U>>2]|0,c[z>>2]|0)|0;Ez(c[ba>>2]|0,c[M>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=Bz(c[ba>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)Rw(c[ba>>2]|0,14,c[Z>>2]|0,c[E>>2]|0)|0;Rw(c[ba>>2]|0,18,c[V>>2]|0,c[B>>2]|0)|0;Ez(c[ba>>2]|0,c[M>>2]|0)|0;Fz(c[ba>>2]|0,c[v>>2]|0);Rw(c[ba>>2]|0,18,c[U>>2]|0,c[A>>2]|0)|0;Rw(c[ba>>2]|0,18,c[V>>2]|0,c[B>>2]|0)|0;Gz(c[ba>>2]|0,c[M>>2]|0);Uw(c[ba>>2]|0,41,0,0,0,c[u>>2]|0,-15)|0;Uw(c[ba>>2]|0,42,c[I+8>>2]|0,c[J+8>>2]|0,c[O>>2]|0,c[S>>2]|0,-6)|0;Fh(c[ba>>2]|0,1);Vw(c[ba>>2]|0,43,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;Gz(c[ba>>2]|0,c[N>>2]|0);if((d[c[t>>2]>>0]|0|0)==9){c[Q>>2]=c[T>>2];while(1){if(!(c[(c[Q>>2]|0)+52>>2]|0))break;c[Q>>2]=c[(c[Q>>2]|0)+52>>2]}uG(c[r>>2]|0,c[(c[Q>>2]|0)+32>>2]|0,c[c[Q>>2]>>2]|0)}if(c[(c[s>>2]|0)+52>>2]|0)Wu(c[H>>2]|0,c[(c[s>>2]|0)+52>>2]|0);c[(c[s>>2]|0)+52>>2]=c[T>>2];c[(c[T>>2]|0)+56>>2]=c[s>>2];JG(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[K>>2]|0,c[L>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+68>>2]|0)!=0&1;ba=c[q>>2]|0;i=ca;return ba|0}function JG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+453>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?36749:19266;b=xy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Bh(a,36768,o)|0;Uw(c[n>>2]|0,161,c[(c[h>>2]|0)+468>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function KG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+52>>2]|0)c[h>>2]=KG(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=Ox(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function LG(b,d,f){b=b|0;d=d|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,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+48>>2];c[l>>2]=c[c[(c[h>>2]|0)+48>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=Qz(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=Ox(f,c[q>>2]|0)|0;else{c[m>>2]=KG(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=By(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function MG(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=Bz(c[C>>2]|0)|0;c[y>>2]=Cz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=xz(c[C>>2]|0,46,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[x>>2]=Uw(k,42,b,j,h,Vz(c[t>>2]|0)|0,-6)|0;Vw(c[C>>2]|0,43,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Fz(c[C>>2]|0,c[w>>2]|0);Vw(c[C>>2]|0,30,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;Rw(c[C>>2]|0,22,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+65>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}wG(c[C>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=Wz(c[n>>2]|0)|0;c[B>>2]=Wz(c[n>>2]|0)|0;Vw(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;Rw(c[C>>2]|0,74,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;Vw(c[C>>2]|0,75,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Fh(c[C>>2]|0,8);_z(c[n>>2]|0,c[B>>2]|0);_z(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=SA(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=Wz(c[n>>2]|0)|0;Uw(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;CA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);Rw(c[C>>2]|0,110,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;_z(c[n>>2]|0,c[A>>2]|0);break}case 10:{mG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=kA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}mG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0);xz(c[C>>2]|0,18,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{Rw(c[C>>2]|0,33,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;CA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+8>>2]|0)Rw(c[C>>2]|0,141,c[(c[o>>2]|0)+8>>2]|0,c[u>>2]|0)|0;Gz(c[C>>2]|0,c[y>>2]|0);xz(c[C>>2]|0,15,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function NG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=Pw(c[g>>2]|0)|0;do if(!(Ex(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&16777216)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Cz(c[n>>2]|0)|0;Rw(c[n>>2]|0,136,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+442>>0]=1;f=c[g>>2]|0;Rv(f,lz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+442>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&16777216)){f=c[n>>2]|0;Rw(f,136,0,(Bz(c[n>>2]|0)|0)+2|0)|0;bA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Gz(c[n>>2]|0,c[l>>2]|0);i=o;return}function OG(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=Pw(c[g>>2]|0)|0;ax(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)Yw(c[o>>2]|0,149)|0;c[n>>2]=fx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;AB(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;Ow(n,37066,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?20769:20788;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;Ow(p,37111,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)PG(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;Uw(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qw(q,p);p=c[l>>2]|0;q=c[j>>2]|0;QG(p,q);i=r;return}Uw(c[o>>2]|0,151,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;Uw(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qw(q,p);p=c[l>>2]|0;q=c[j>>2]|0;QG(p,q);i=r;return}function PG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;qC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function QG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){RG(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function RG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Sf(a,c[c[h>>2]>>2]|0);Zu(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+24}Sf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function SG(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(fy(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}gy(n,c[m>>2]|0)|0;i=p;return}function TG(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=27;i=f;return}if((d[b>>0]|0|0)!=95){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=27;i=f;return}function UG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function VG(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+((b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)*24|0)+22>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Hj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function WG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;XG(c[e>>2]|0,c[f>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Sf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Sf(a,b);i=g;return}Sf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Sf(a,b);i=g;return}function XG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function YG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=$A(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function ZG(f,g){f=f|0;g=g|0;var 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;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+424>>2]|0)bG(c[t>>2]|0,c[(c[h>>2]|0)+424>>2]|0,121);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Cy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+((b[f+32>>1]|0)*24|0)>>2]|0);t=c[h>>2]|0;c[r>>2]=Gv(t,0,cz(c[k>>2]|0,27,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+452>>0]|0;c[s>>2]=vv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0)|0;if(!(c[s>>2]|0)){i=v;return}else{t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-4|2;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Ej(f)|0;if(c[t>>2]|0)bG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(UG(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;c[p>>2]=e[(c[s>>2]|0)+50>>1];if(!(a[(c[k>>2]|0)+140+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+((b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)*24|0)+20>>0]=2;c[l>>2]=(c[l>>2]|0)+1}t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0))break;b:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(UG(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(cH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=46;break a}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break b;if(!(UG(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==46){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(cH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(UG(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=35690;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function _G(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+22>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+24}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Hj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Hj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function $G(d,e){d=d|0;e=e|0;var 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;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(aH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}e=aH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=19266;c[t>>2]=38266;c[r>>2]=35518}else{c[s>>2]=38268;c[t>>2]=38272;c[r>>2]=38277}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=yh(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){jh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,38280,g)|0;c[l>>2]=If(c[u>>2]|0)|0;bH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=If((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];bH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[6328+((a[(c[o>>2]|0)+21>>0]|0)-65<<2)>>2];c[m>>2]=If(c[v>>2]|0)|0;iR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}c[q>>2]=c[r>>2];Qd(f,d,19255,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function aH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function bH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[19267+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[19267+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(yi(c[m>>2]|0,c[k>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function cH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=ph(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{iR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);iR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);iR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function dH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Pw(c[d>>2]|0)|0;yz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?20769:20788);Eh(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+72>>2]|0){i=e;return}c[(c[d>>2]|0)+72>>2]=1;i=e;return}function eH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=Pw(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+404>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+408>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];Uw(c[h>>2]|0,148,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function fH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];zz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,54);Tw(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Gh(c[k>>2]|0,10,38456,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function gH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+12|0;e=g+4|0;c[d>>2]=a;c[g+8>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[d>>2]>>2]|0)<0)break;$u(c[d>>2]|0)}Ah(c[e>>2]|0,38496,f);c[(c[d>>2]|0)+8>>2]=c[e>>2];i=g;return}function hH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,40353,d);i=b;return}function iH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+96|0;G=I+16|0;s=I+8|0;n=I;C=I+92|0;u=I+88|0;p=I+84|0;v=I+80|0;l=I+76|0;w=I+72|0;q=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=ph(c[C>>2]|0,544,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+480>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=jH(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];hg(G,H,40398,n);H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}ju(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+428>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+88+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){hg(l,18,40428,s);c[F>>2]=Rg(c[C>>2]|0,18)|0;H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Iw(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Uh(c[D>>2]|0,c[t>>2]|0,H)|0;c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+484>>2]|0)-(c[t>>2]|0));Sf(c[C>>2]|0,c[t>>2]|0);break}else{c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Uh(c[D>>2]|0,c[u>>2]|0,H)|0;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)kH(c[D>>2]|0);if(a[(c[C>>2]|0)+65>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+484>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+453>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+453>>0]|0)==2){OB(l,4);c[y>>2]=8;c[z>>2]=12}else{OB(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;PB(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[6360+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+140+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];lH(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+484>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+65>>0]|0)==0:0){B=41;break}Qg(c[(c[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];l=c[C>>2]|0;b=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];hg(l,b,19255,G);Sf(c[C>>2]|0,c[H>>2]|0)}else jg(l,b);while(1){if(!(c[(c[D>>2]|0)+532>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+532>>2];c[(c[D>>2]|0)+532>>2]=c[(c[E>>2]|0)+4>>2];Sf(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function jH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;kg(c[e>>2]|0);c[b>>2]=mH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function kH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(og(c[h>>2]|0)|0)){c[j>>2]=mg(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)jh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}ng(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){rj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Bj(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function lH(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Iw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+88|0;b[d>>1]=b[d>>1]&-257|(c[k>>2]&1)<<8&65535;i=l;return}function mH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function nH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=oH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function oH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){qH(c[f>>2]|0);break}c[k>>2]=pH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function pH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=rH(c[e>>2]|0)|0;if(!(c[f>>2]|0)){qH(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function qH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;qB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function rH(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;b=g;c[e>>2]=a;c[f>>2]=sH(c[e>>2]|0,(c[e>>2]|0)+40|0)|0;if(d[(c[e>>2]|0)+69>>0]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+40|0;c[b>>2]=_f(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[b>>2]|0)){c[f>>2]=7;f=c[f>>2]|0;i=g;return f|0}c[f>>2]=tH(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0)|0;a=c[b>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=a;f=c[f>>2]|0;i=g;return f|0}else{Kd(a);f=c[f>>2]|0;i=g;return f|0}return 0}function sH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;iF(c[e>>2]|0);e=(c[e>>2]|0)+16|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function tH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=hF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function uH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;kg(c[c[d>>2]>>2]|0);i=b;return}function vH(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function wH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function xH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){qA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Ih(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=If(c[j>>2]|0)|0;e=c[k>>2]|0;e=Iw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function yH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function zH(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function AH(e,f){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,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;m=r+24|0;n=r+20|0;q=r+16|0;l=r+12|0;o=r+8|0;k=r+4|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[j>>2]>>2];c[q>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if((c[(c[m>>2]|0)+4>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]|0)!=(c[(c[m>>2]|0)+8>>2]|0):0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[l>>2]=(If(c[(c[j>>2]|0)+4>>2]|0)|0)+1;c[n>>2]=ph(c[k>>2]|0,72+(c[l>>2]|0)|0,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[j>>2]|0)+16>>2]=c[n>>2];c[c[n>>2]>>2]=(c[n>>2]|0)+72;iR(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;b[(c[n>>2]|0)+36>>1]=1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[n>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;b[(c[n>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[n>>2]|0;Lw(e,f,nh(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);Lw(c[k>>2]|0,c[n>>2]|0,0);f=c[k>>2]|0;e=c[n>>2]|0;Lw(f,e,nh(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);c[o>>2]=oz(c[k>>2]|0,c[n>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+8>>2]|0,q)|0;if(c[o>>2]|0){o=c[h>>2]|0;c[p>>2]=c[q>>2];Ah(o,19255,p);Sf(c[k>>2]|0,c[q>>2]|0);BH(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}return 0}function BH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}RG(c[d>>2]|0,c[f>>2]|0);CH(c[d>>2]|0,c[f>>2]|0);Sf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function CH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+528>>2]|0)!=0:0))DH(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Sf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function DH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+336>>2];c[(c[f>>2]|0)+336>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function EH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Ug(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function FH(){return 312}function GH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;iR(l|0,c[g>>2]|0,208)|0;iR(c[g>>2]|0,c[h>>2]|0,208)|0;iR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];d=(c[h>>2]|0)+88|0;b[d>>1]=b[d>>1]&-257|((e[(c[g>>2]|0)+88>>1]|0)>>>8&1)<<8&65535;i=f;return}function HH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function IH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function JH(f){f=f|0;var 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,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;oC(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){jh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((b[(c[s>>2]|0)+88>>1]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=161);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+240>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;z=c[s>>2]|0;SH(z,ih(c[(c[s>>2]|0)+80>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((b[(c[s>>2]|0)+88>>1]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=mM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=If(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(ux(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(tx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=nM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))dh(g,c[x>>2]|0,-1,1,0)|0;else{z=If(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){if(!(tx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,43360,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((b[(c[s>>2]|0)+88>>1]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0} -function dJ(b,e){b=b|0;e=e|0;var 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,x=0;x=i;i=i+80|0;k=x+64|0;j=x+60|0;l=x+56|0;s=x+52|0;q=x+48|0;r=x+44|0;h=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;p=x+20|0;f=x+16|0;o=x+12|0;g=x+8|0;n=x+4|0;m=x;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+63>>0]|0)){xj(c[j>>2]|0,c[l>>2]|0,41344);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+148>>2]|0)>1){xj(c[j>>2]|0,c[l>>2]|0,41384);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+80>>2];c[v>>2]=c[(c[l>>2]|0)+84>>2];c[w>>2]=c[(c[l>>2]|0)+176>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+176>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=DJ(Of(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(Sq(c[l>>2]|0)|0)c[h>>2]=41427;else c[h>>2]=41459;c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Bj(c[r>>2]|0)|0,c[o>>2]=FJ(c[q>>2]|0)|0,c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,41483)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,41516)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=mg(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((qg(Of(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+72>>2]=0;b=c[r>>2]|0;h=pg(c[q>>2]|0)|0;do if(!(xi(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(xi(c[r>>2]|0,c[(c[l>>2]|0)+72>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+65>>0]|0)){e=c[r>>2]|0;if((a[(c[l>>2]|0)+68>>0]|0)>=0)f=a[(c[l>>2]|0)+68>>0]|0;else f=TB(c[q>>2]|0)|0;VB(e,f)|0;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41523)|0;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41671)|0;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41775)|0;if(c[s>>2]|0)break a;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|134217728;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41893)|0;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&-134217729;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,42089)|0;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,42202)|0;if(c[s>>2]|0)break a;c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,42357)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){e=c[q>>2]|0;if((c[m>>2]|0)>=10)break;ng(e,d[42541+(c[m>>2]|0)>>0]|0,n);c[s>>2]=yg(c[r>>2]|0,d[42541+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[42541+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=HJ(e,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Bj(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;VB(n,TB(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=pg(c[r>>2]|0)|0;c[s>>2]=xi(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+80>>2]=c[u>>2];c[(c[l>>2]|0)+84>>2]=c[v>>2];c[(c[l>>2]|0)+176>>2]=c[w>>2];xi(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+63>>0]=1;if(c[p>>2]|0){lB(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}zg(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function eJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];kg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=$E(c[g>>2]|0)|0;c[e>>2]=$q((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=qJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Lj(59178)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=nH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){rJ(c[g>>2]|0);c[h>>2]=sJ(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Dg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;Xs((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function fJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);kg(c[g>>2]|0);c[l>>2]=mH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=pJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function gJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+308>>2]|0)>0?(c[(c[e>>2]|0)+332>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+308>>2]|0))break;if((c[(c[(c[e>>2]|0)+332>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=nJ(c[e>>2]|0)|0;if(((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+504>>2]|0)+(c[(c[e>>2]|0)+500>>2]|0),oJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)c[k>>2]=nI(c[e>>2]|0,0,(c[h>>2]|0)-1|0)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function hJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=pi(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=nj((c[f>>2]|0)+312|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=oz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Bh(p,31494,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Ax(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=nJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;oJ(p,Ax(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function iJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=pi(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=DH(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;hu(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;kg(c[g>>2]|0);c[d>>2]=mJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function kJ(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;v=D+116|0;C=D+88|0;j=D+84|0;r=D+80|0;n=D+152|0;w=D;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];cg(C,c[m>>2]|0,D+156|0,100,c[(c[m>>2]|0)+88>>2]|0);if((c[(c[m>>2]|0)+160>>2]|0)>1){while(1){if(!(a[c[l>>2]>>0]|0))break;c[j>>2]=c[l>>2];do{B=c[l>>2]|0;c[l>>2]=B+1;if((a[B>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);aA(C,41310,3);aA(C,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}C=eg(C)|0;i=D;return C|0}if(!(b[(c[k>>2]|0)+68>>1]|0)){B=c[l>>2]|0;aA(C,B,If(c[l>>2]|0)|0);C=eg(C)|0;i=D;return C|0}while(1){if(!(a[c[l>>2]>>0]|0)){f=33;break}c[q>>2]=lJ(c[l>>2]|0,t)|0;aA(C,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0)){f=33;break}do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Li((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=vh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[v>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[v>>2]|0)+8>>1]&1){aA(C,40498,4);continue}g=c[v>>2]|0;if(e[(c[v>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=x;c[j>>2]=c[f>>2];c[j+4>>2]=g;$z(C,29137,x);continue}f=c[v>>2]|0;if(e[g+8>>1]&8){h[y>>3]=+h[f>>3];$z(C,29142,y);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+62>>0]|0;if((d[n>>0]|0)!=1){f=w;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[w+32>>2]=c[m>>2];dh(w,c[(c[v>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;Zt(w,1)|0;c[v>>2]=w}c[r>>2]=c[(c[v>>2]|0)+12>>2];j=c[(c[v>>2]|0)+16>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=j;$z(C,41314,A);if((d[n>>0]|0)==1)continue;Ug(w);continue}if(e[(c[v>>2]|0)+8>>1]&16384){c[B>>2]=c[c[v>>2]>>2];$z(C,41321,B);continue}aA(C,41334,2);c[s>>2]=c[(c[v>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[z>>2]=a[(c[(c[v>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;$z(C,41337,z);c[o>>2]=(c[o>>2]|0)+1}aA(C,41342,1)}if((f|0)==33){C=eg(C)|0;i=D;return C|0}return 0}function lJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Qu(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function nJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+308>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+308>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Ew(c[d>>2]|0,c[(c[d>>2]|0)+332>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+308>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+332>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function oJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+308|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+332>>2]|0)+(b<<2)>>2]=a;yH(c[e>>2]|0);i=d;return}function pJ(b,e,f){b=b|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;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=ig(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function qJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(lF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=lF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function rJ(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function sJ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=lF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=$q((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=mF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Lj(59063)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=tJ(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){qB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=nF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=tJ(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}qB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){qB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=uJ(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;qB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=lF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function tJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=$E(c[m>>2]|0)|0;c[B>>2]=$q((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Lj(61115)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=mF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Dg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}Xs((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=$q(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=$q((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=BJ(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Lj(61171)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=$q((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Dg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Dg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=$q((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=BJ(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Dg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;Xs((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);iR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;qB(c[E>>2]|0);if(!(c[I>>2]|0)){Xs((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Dg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;Xs(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=$q((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=$q((c[r>>2]|0)+8|0)|0;c[u>>2]=yj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=$q((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=yj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=$q((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Dg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}Xs((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(CJ(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=BJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Dg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;qB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Dg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);qB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Lj(61200)|0;break}else if((j|0)==40){c[K>>2]=Lj(61234)|0;break}else if((j|0)==43){qB(h);break}else if((j|0)==63){c[K>>2]=Lj(61299)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Dg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=lF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=BJ(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Dg(c[(c[l>>2]|0)+72>>2]|0)|0;qB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);Xs((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=BJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Dg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;qB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);qB(c[J>>2]|0);qB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function uJ(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=vJ(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=$q(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(xJ(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=wJ(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=nF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Dg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){qB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=yJ(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;qB(c[t>>2]|0);if(c[u>>2]|0)break;xJ(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function vJ(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;j=t+20|0;r=t+16|0;o=t+12|0;s=t+8|0;p=t+4|0;q=t;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[j>>2]=h;c[o>>2]=0;if((a[(c[l>>2]|0)+16>>0]|0)!=0?(c[s>>2]=Dg(c[m>>2]|0)|0,(c[s>>2]|0)!=0):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if((e[(c[m>>2]|0)+24>>1]&2|0)!=0?(g=lt(c[m>>2]|0)|0,c[s>>2]=g,0!=(g|0)):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(!((c[j>>2]|0)!=0?1:(e[(c[m>>2]|0)+24>>1]&8|0)==0))c[o>>2]=c[(c[m>>2]|0)+20>>2];g=(c[m>>2]|0)+24|0;b[g>>1]=e[g>>1]&-9;c[r>>2]=Zr(c[l>>2]|0,c[n>>2]|0)|0;do if(c[r>>2]|0){j=(c[m>>2]|0)+24|0;b[j>>1]=e[j>>1]|e[(c[r>>2]|0)+24>>1]&8;j=c[r>>2]|0;if(a[(c[l>>2]|0)+16>>0]|0){AJ(j,(c[(c[l>>2]|0)+28>>2]|0)+1|0);break}else{ws(j);break}}while(0);c[p>>2]=c[(c[m>>2]|0)+20>>2];AJ(c[m>>2]|0,c[n>>2]|0);$r(c[m>>2]|0);if(a[(c[l>>2]|0)+16>>0]|0){AJ(c[r>>2]|0,c[p>>2]|0);zs(c[r>>2]|0)}do if(c[o>>2]|0){c[s>>2]=sg(c[l>>2]|0,c[o>>2]|0,q,0)|0;if(!(c[s>>2]|0)){s=(c[q>>2]|0)+24|0;b[s>>1]=e[s>>1]|8;$r(c[q>>2]|0);zs(c[q>>2]|0);break}if((c[o>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)hj(c[(c[l>>2]|0)+60>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+208>>2]|0);c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}while(0);c[k>>2]=0;s=c[k>>2]|0;i=t;return s|0}function wJ(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Kt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));zJ(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=$q(c[n>>2]|0)|0;xJ(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=$q((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;xJ(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function xJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Lj(56501)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=lF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=sg(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=tg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=$q((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Dg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;Xs((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Lj(56512)|0;c[c[n>>2]>>2]=s}while(0);vg(c[q>>2]|0);i=t;return}function yJ(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=$q(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){Xs(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Lj(58893)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Kt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==($q((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=$q(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)Xs((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)Xs(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=$q((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){Xs((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Lj(58929)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function zJ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=$q((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;xJ(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function AJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[148>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}cj(c[d>>2]|0,3);i=f;return}function BJ(b,d,e,f){b=b|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;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=nF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Jt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}qB(f);c[c[h>>2]>>2]=0;c[g>>2]=Lj(57630)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function CJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(jj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(ij(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function DJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+16>>0]|0|0}function EJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(cf(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;xj(b,d,bf(c[f>>2]|0)|0);c[e>>2]=Cf(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{ue(c[j>>2]|0)|0;c[e>>2]=JJ(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function FJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;kg(c[e>>2]|0);c[b>>2]=KJ(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function GJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=cf(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(ue(c[h>>2]|0)|0);a=c[f>>2]|0;if(!l){b=6;break}l=c[g>>2]|0;c[j>>2]=EJ(a,l,Fe(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){b=5;break}}if((b|0)==5){JJ(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((b|0)==6){c[e>>2]=JJ(a,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function HJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;kg(c[h>>2]|0);kg(c[j>>2]|0);c[g>>2]=Bg(Of(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=pg(c[j>>2]|0)|0,d=rR(d|0,((d|0)<0)<<31>>31|0,rg(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=vi(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{IJ(Of(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function IJ(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(a[(c[e>>2]|0)+16>>0]|0){i=f;return}if(d[(c[e>>2]|0)+13>>0]|0){i=f;return}Ui(c[e>>2]|0);i=f;return}function JJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Qg(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;xj(d,j,bf(c[e>>2]|0)|0);j=c[g>>2]|0;i=h;return j|0}function KJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function LJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;n=q+32|0;o=q+28|0;p=q+24|0;f=q+20|0;j=q+16|0;e=q+12|0;h=q+8|0;g=q+4|0;k=q;m=q+40|0;c[o>>2]=b;c[p>>2]=0;if((d[(c[o>>2]|0)+16>>0]|0)!=0?(c[(c[o>>2]|0)+44>>2]|0)!=0:0){c[n>>2]=c[(c[o>>2]|0)+44>>2];p=c[n>>2]|0;i=q;return p|0}do if((sr(c[o>>2]|0)|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[p>>2]=ut(c[o>>2]|0,1)|0;if(!(c[p>>2]|0)){if((d[(c[o>>2]|0)+18>>0]|0)<=1)c[p>>2]=MJ(c[o>>2]|0,f)|0;if(!(c[p>>2]|0)){if(c[f>>2]|0){if(a[(c[o>>2]|0)+15>>0]|0){c[p>>2]=776;break}c[p>>2]=vt(c[o>>2]|0,4)|0;if(c[p>>2]|0)break;if((((c[c[(c[o>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[o>>2]>>2],c[p>>2]=Nr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,0,e)|0,(c[p>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[p>>2]=Vr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,c[(c[o>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[p>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[p>>2]=et(48855)|0;hr(c[(c[o>>2]|0)+68>>2]|0)|0}e=c[o>>2]|0;if(c[c[(c[o>>2]|0)+68>>2]>>2]|0){c[p>>2]=er(e)|0;if(!(c[p>>2]|0)){c[p>>2]=Lr(c[o>>2]|0,1)|0;a[(c[o>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))wr(c[o>>2]|0,1)|0;if(c[p>>2]|0){fr(c[o>>2]|0,c[p>>2]|0)|0;break}}if((a[(c[o>>2]|0)+13>>0]|0)==0?(d[(c[o>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[p>>2]=NJ(c[o>>2]|0,k)|0;if(c[p>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[p>>2]=Wr(c[(c[o>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[p>>2]|0)!=0&(c[p>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(vQ((c[o>>2]|0)+112|0,m,16)|0)Ui(c[o>>2]|0)}c[p>>2]=OJ(c[o>>2]|0)|0;l=35}}}else l=35;while(0);if((l|0)==35){if(sr(c[o>>2]|0)|0)c[p>>2]=PJ(c[o>>2]|0)|0;if((c[p>>2]|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)c[p>>2]=NJ(c[o>>2]|0,(c[o>>2]|0)+28|0)|0}e=c[o>>2]|0;if(c[p>>2]|0)dr(e);else{a[e+17>>0]=1;a[(c[o>>2]|0)+24>>0]=1}c[n>>2]=c[p>>2];p=c[n>>2]|0;i=q;return p|0}function MJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Nr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=WJ(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=NJ(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Sj();if((vt(c[f>>2]|0,2)|0)==0?(qr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)wr(c[f>>2]|0,1)|0;Tj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Vr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=Wr(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))hr(c[(c[f>>2]|0)+68>>2]|0)|0;c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function NJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=VJ(c[(c[e>>2]|0)+216>>2]|0)|0;if(!(c[h>>2]|0)){b=g;c[b>>2]=0;c[b+4>>2]=0;if((c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0?(c[j>>2]=Si(c[(c[e>>2]|0)+64>>2]|0,g)|0,(c[j>>2]|0)!=0):0){c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=gR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=fR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=pR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j}if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function OJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=NJ(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=qr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Nr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=RJ(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function PJ(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Gs(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=QJ(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Ui(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function QJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Ct(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function RJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(aJ(c[f>>2]|0)|0){hr(c[(c[f>>2]|0)+68>>2]|0)|0;c[h>>2]=SJ(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function SJ(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=TJ(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;Xi(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=UJ(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;Xi(b);f=c[f>>2]|0;i=g;return f|0}function TJ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=vt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}wr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function UJ(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=ig(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Vr(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Ls(c[u>>2]|0,0);hr(c[(c[u>>2]|0)+8>>2]|0)|0;Kd(c[u>>2]|0)}else{c[t>>2]=Sr(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function VJ(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function WJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function XJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;kR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=_J(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=_J(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function YJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=aK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){ZJ(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){ZJ(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function _J(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function $J(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Fw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;if((c[g>>2]|0)==1){c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}c[d>>2]=aK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(!(c[h>>2]|0)){c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=aK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function bK(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+26>>1]|0)&1)){a=XJ(c[(c[d>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a}a=(c[d>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|2;i=f;return}function cK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function dK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function eK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(jK(f,c[r>>2]|0)|0){g=25;break}if(sg(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=tg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=$q(c[m>>2]|0)|0;fK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=$q((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)fK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];iK(b,43167,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=$q((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)fK(c[q>>2]|0,c[k>>2]|0,2,0);jK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=$q(c[m>>2]|0)|0;vg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;iK(c[q>>2]|0,43206,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;iK(f,43088,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];iK(v,43145,w);i=x;return}else if((g|0)==25){i=x;return}}function fK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=mF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];iK(q,43005,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;iK(p,43034,q);i=r;return}function gK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(jK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=42625;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=nF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Kt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];iK(ba,42673,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=42711;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=$q((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=42737;fK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=gK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){iK(c[o>>2]|0,42795,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;iK(m,42819,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=$q((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)fK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);eK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){kK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=$q(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)fK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=gK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){iK(c[o>>2]|0,42843,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;iK(m,42765,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;kK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];kK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(lK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;iK(ba,42868,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;iK(ba,42905,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];iK(ba,42635,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;qB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function hK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function iK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)aA((c[f>>2]|0)+40|0,42623,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;$z(e,b,j)}dg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;iK(b,42957,e);c[g>>2]=1;break}e=(hK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;iK(a,42980,h);c[g>>2]=1;break}else{dK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function kK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function lK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function mK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;qK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function nK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Sf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);oK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)pK(c[(c[d>>2]|0)+40>>2]|0)|0;if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}pK(c[(c[d>>2]|0)+56>>2]|0)|0;d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function oK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Sf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function pK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=hr(c[e>>2]|0)|0;Kd(c[e>>2]|0);i=d;return c[b>>2]|0}function qK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Cs(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;rK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function rK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}mK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function sK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function tK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>($E(c[k>>2]|0)|0)>>>0){c[p>>2]=Lj(64010)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=_E(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=$q(c[n>>2]|0)|0,c[t>>2]=tK(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=uK(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=$q((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=tK(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){vK(j,t);break}q=Dg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)wK(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Lj(64015)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;qB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function uK(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Lj(61571)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=$q((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>($E(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=kF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=zK(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Jt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Lj(61607)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=xK(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)vg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Lj(61587)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function vK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=xK(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function wK(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)kR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Lt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function xK(b,d,f){b=b|0;d=d|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,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Lj(61425)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];yK(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=zK(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Dg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=$q((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;Xs((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=nF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;kR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(xJ(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=$q((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=nF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=$q((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Lj(61478)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Dg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;Xs((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);Xs((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)AK(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=BK(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=nF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){Xs(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);Xs((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);Xs((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;qB(c[o>>2]|0);qB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function yK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;CK(c[d>>2]|0);i=b;return}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Zr(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=aF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function AK(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=g;return}if(c[(c[f>>2]|0)+104>>2]|0){i=g;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|32;a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;i=g;return}function BK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=fj(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(jj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=gj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function CK(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function DK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Lj(64136)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=nF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=QI(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){qB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){ng(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){vK(d,o);qB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{qB(d);c[o>>2]=nF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=uJ(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;qB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=nF(c[l>>2]|0,c[k>>2]|0,m,0)|0;vK(c[m>>2]|0,o);qB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=lF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=yg(c[g>>2]|0,4,c[k>>2]|0)|0}else{vK(c[n>>2]|0,o);qB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function EK(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=FK((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function FK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=GK(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=HK(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;IK(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;JK(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;JK(k,d,((d|0)<0)<<31>>31);KK(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=LK(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function GK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(wi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=TK(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Js(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function HK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[e>>2]=MK(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];e=NK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=e;c[j>>2]=ig(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;OK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;OK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Kd(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function IK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=_f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=qR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=fR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function JK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=kI(g,c[a>>2]|0,c[a+4>>2]|0)|0;KK(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function KK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);iR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=gR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Fg(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=gR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function LK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=gR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Fg(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=gR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function MK(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=cF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function NK(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[m>>2]=l;c[k>>2]=0;while(1){if(!((c[g>>2]|0)!=0?(c[h>>2]|0)!=0:0))break;c[n>>2]=Sb[c[(c[f>>2]|0)+32>>2]&255](c[f>>2]|0,k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0)|0;if((c[n>>2]|0)<=0){c[c[m>>2]>>2]=c[g>>2];c[m>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2];continue}else{c[c[m>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;continue}}c[c[m>>2]>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:c[h>>2]|0;c[c[j>>2]>>2]=c[l>>2];i=o;return}function PK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[43245+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=SK(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function QK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else tF(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else tF(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=vQ(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=SK(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function RK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=rF(a,b,o)|0;i=p;return o|0}dF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=rF(a,b,o)|0;i=p;return o|0}function SK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=sF(a,b,o,1)|0;i=p;return o|0}dF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=sF(a,b,o,1)|0;i=p;return o|0}function TK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=7;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=ig(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Vr(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function UK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=VK((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function VK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=WK(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=XK(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){qK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=YK(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=ZK(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function WK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=aL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function XK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(wi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Cs(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=_K(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=qR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=_f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=gR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=fR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=Wr(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function YK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(St((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=gR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=qR(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(St((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=gR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=ZK(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){St(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function ZK(a,b,d){a=a|0;b=b|0;d=d|0;var 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;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=gR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=qR(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=fR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=fR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=Wr(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=gR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=bg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);iR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=gR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=ZK(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;iR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function _K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=$K(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function $K(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function aL(a){a=a|0;var b=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;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;IK(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=gR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=gR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=zF(q,((q|0)<0)<<31>>31)|0;q=gR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=gR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;JK(n,r,((r|0)<0)<<31>>31);KK(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=UK(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=LK(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function bL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=cL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=dL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}mK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function cL(a,b){a=a|0;b=b|0;var 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;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=hL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=iL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=jL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=iL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=kL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else mK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}mK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function dL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=eL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;fL(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function eL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=gL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function fL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function gL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=dL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=GK(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=gR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=VK(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function hL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=rR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function iL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=jL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=mL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}mK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function jL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(wi(100)|0)a=0;else{a=c[d>>2]|0;a=ig(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function kL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=lL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=jL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=lL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{rK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(wi(100)|0)b=0;else b=ig(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){mK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=gR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function mL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=XK(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=YK(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=gR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=gR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=VK(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function nL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function oL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=pL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function pL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=WE(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function qL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function rL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=IL(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{jR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Lj(61841)|0;c[c[n>>2]>>2]=h;i=t;return}function sL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if(c[c[t>>2]>>2]|0){i=z;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Dg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=KL(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);iR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)Xs((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);jR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}zJ(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){iR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)Xs(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function tL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=uL(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=vL(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Ti(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=wL(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Wi(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;qB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Wi(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function uL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Dg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=tJ(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,BL(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)xJ(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;qB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{iR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;iR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;wK(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);Xs((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function vL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Lj(62338)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=tJ(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;wK(c[p>>2]|0,13);c[t>>2]=GL(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(xJ(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)zJ(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);sL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);Xs((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);qB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function wL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=$q(c[K>>2]|0)|0;while(1){c[Aa>>2]=_E(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=$q(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=$q(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}iR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}rL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)kR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Lj(62677)|0;kR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=zi(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}kR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);iR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Lj(62744)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Lj(62842)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((xL(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((xL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((xL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((xL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Lj(62854)|0;break}else if((h|0)==81){c[Aa>>2]=Lj(62887)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);xL(ma,c[F>>2]|0)|0;do{xL(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2)|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Lj(62929)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Dg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=tJ(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;wK(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(xJ(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Lj(63003)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))yL(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);yL(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}Xs(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=$q(c[_>>2]|0)|0;xJ(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(xL(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))zJ(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(kI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);sL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=zL(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=AL(c[ka>>2]|0)|0;BL(c[ka>>2]|0,c[ha>>2]|0,Aa);vK(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=$q((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;xJ(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;vK(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Ai(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;qB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;qB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function xL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=JL(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function yL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;AJ(c[h>>2]|0,c[g>>2]|0);i=f;return}function zL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=DL(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;jR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=DL(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];jR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(EL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),jR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(EL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(EL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);FL(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=GL(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function AL(b){b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=CL(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);iR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;iR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Lj(56934)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Lj(56940)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;kR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Lj(56964)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function BL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];iR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;iR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Kt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=wJ(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function CL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function DL(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var 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,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)IL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)IL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function EL(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(xL(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=HL(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));if((c[u>>2]|0)>>>0<(c[n>>2]|0)>>>0){h=7;break}c[v>>2]=c[u>>2]}jR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function FL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function GL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=CL(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);iR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}iR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Lj(62048)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function HL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Lj(56997)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Lj(57008)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function IL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;j=x+20|0;k=x+16|0;l=x+32|0;m=x+30|0;t=x+28|0;q=x+26|0;o=x+35|0;v=x+34|0;s=x+24|0;r=x+12|0;p=x+8|0;n=x+4|0;u=x;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)kR((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+5>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)h=(e[q>>1]|0|0)<(e[l>>1]|0|0);else h=0;g=e[q>>1]|0;if(!h)break;if((g|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Lj(57169)|0;w=c[j>>2]|0;i=x;return w|0}if(g>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Lj(57172)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0>(e[q>>1]|0)>>>0){c[j>>2]=Lj(57183)|0;w=c[j>>2]|0;i=x;return w|0}c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));if((c[p>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Lj(57185)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Lj(57197)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Lj(57203)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Lj(57210)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function JL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function KL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Lj(57075)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=HL(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=AL(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function LL(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+112|0;J=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;o=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+6>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=kI((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=kI((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2]}if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=35;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=lF(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=tJ(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,xJ(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)qB(c[C>>2]|0);if(c[L>>2]|0){h=24;break}Xs(c[E>>2]|0,c[G>>2]|0);qB(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];Xs(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];iR(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else kR(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==24){qB(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==35){qB(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}RI(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Sf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function NL(b,e,f){b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){rJ(f);ng(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(lF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=tJ(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=nH(c[n>>2]|0,0,0)|0;qB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=nF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=mF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Lj(63920)|0;if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=uJ(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;qB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=nF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Dg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];xJ(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=yg(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=tJ(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;wK(c[p>>2]|0,c[s>>2]|0);vg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function OL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(PL(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?($E(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function PL(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Ti(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function QL(){return 200}function RL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function SL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=TL(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function TL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=bg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}kR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=fj(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(sr(c[d>>2]|0)|0)UL(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function UL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function VL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Dg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=43252;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));wK(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;Xs((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);Xs((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function WL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=hR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=hR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=hR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function XL(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=tx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=tH(e,j,f,g)|0;else c[o>>2]=Mh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Ug(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function YL(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function ZL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=eF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Lj(70762)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=vQ(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function $L(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Ky(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Hi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function aM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(ux(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function bM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;fh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function cM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+176>>2]|0){c[b>>2]=c[(c[d>>2]|0)+176>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}RH(a)|0;c[(c[d>>2]|0)+176>>2]=0;c[(c[d>>2]|0)+184>>2]=0}kM(c[d>>2]|0);if(c[(c[d>>2]|0)+8>>2]|0)oC((c[(c[d>>2]|0)+8>>2]|0)+40|0,c[(c[d>>2]|0)+28>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+180>>2]|0))break;c[e>>2]=c[a+180>>2];c[(c[d>>2]|0)+180>>2]=c[(c[e>>2]|0)+4>>2];lM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}bI(c[d>>2]|0,-1,0);i=f;return}function dM(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;H=i;i=i+144|0;z=H+32|0;B=H+24|0;A=H+16|0;y=H+8|0;d=H+128|0;e=H+124|0;I=H+120|0;f=H+116|0;j=H+112|0;v=H+108|0;l=H+104|0;n=H+100|0;o=H+96|0;p=H+92|0;u=H+88|0;k=H+84|0;F=H+80|0;E=H+76|0;t=H+72|0;m=H;w=H+68|0;x=H+64|0;h=H+60|0;g=H+56|0;q=H+52|0;D=H+48|0;r=H+44|0;s=H+40|0;c[e>>2]=a;c[I>>2]=b;c[j>>2]=0;c[v>>2]=0;c[l>>2]=0;c[v>>2]=eM(c[e>>2]|0,c[I>>2]|0)|0;c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(bi(c[n>>2]|0)|0){c[l>>2]=1;if((c[f>>2]|0)!=1)c[j>>2]=(c[j>>2]|0)+1;kg(c[n>>2]|0);c[v>>2]=rt(Of(c[n>>2]|0)|0)|0}c[f>>2]=(c[f>>2]|0)+1}if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+196>>2]|0)!=0:0)?(c[v>>2]=Tb[c[(c[e>>2]|0)+196>>2]&255](c[(c[e>>2]|0)+192>>2]|0)|0,(c[v>>2]|0)!=0):0){c[d>>2]=531;I=c[d>>2]|0;i=H;return I|0}I=0==(If(Di(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(c[j>>2]|0)<=1){c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[o>>2]|0)c[v>>2]=Kg(c[o>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[p>>2]|0)c[v>>2]=Jg(c[p>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}if(!(c[v>>2]|0))fM(c[e>>2]|0)|0}else{c[u>>2]=c[c[e>>2]>>2];c[k>>2]=0;c[F>>2]=0;c[E>>2]=Di(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;I=m;c[I>>2]=0;c[I+4>>2]=0;c[x>>2]=0;c[h>>2]=If(c[E>>2]|0)|0;I=c[e>>2]|0;c[y>>2]=c[E>>2];c[F>>2]=Bh(I,43268,y)|0;if(!(c[F>>2]|0)){c[d>>2]=7;I=c[d>>2]|0;i=H;return I|0}do{if(c[x>>2]|0){if((c[x>>2]|0)>100){G=34;break}if((c[x>>2]|0)==1){c[B>>2]=c[F>>2];Rd(13,43298,B)}}c[x>>2]=(c[x>>2]|0)+1;Sd(4,g);I=(c[F>>2]|0)+(c[h>>2]|0)|0;E=c[g>>2]&255;c[z>>2]=(c[g>>2]|0)>>>8&16777215;c[z+4>>2]=E;Qd(13,I,43313,z)|0;c[v>>2]=Nr(c[u>>2]|0,c[F>>2]|0,0,w)|0}while((c[v>>2]|0)==0?(c[w>>2]|0)!=0:0);if((G|0)==34){c[A>>2]=c[F>>2];Rd(13,43284,A);qr(c[u>>2]|0,c[F>>2]|0,0)|0}if(!(c[v>>2]|0))c[v>>2]=TK(c[u>>2]|0,c[F>>2]|0,t,16406,0)|0;if(c[v>>2]|0){Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if((bi(c[q>>2]|0)|0)!=0?(c[D>>2]=gM(c[q>>2]|0)|0,(c[D>>2]|0)!=0):0){if((c[k>>2]|0)==0?(hM(c[q>>2]|0)|0)==0:0)c[k>>2]=1;A=c[t>>2]|0;B=c[D>>2]|0;I=(If(c[D>>2]|0)|0)+1|0;E=m;c[v>>2]=Fg(A,B,I,c[E>>2]|0,c[E+4>>2]|0)|0;E=(If(c[D>>2]|0)|0)+1|0;I=m;E=gR(c[I>>2]|0,c[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0;I=m;c[I>>2]=E;c[I+4>>2]=C;if(c[v>>2]|0){G=50;break}}c[f>>2]=(c[f>>2]|0)+1}if((G|0)==50){pK(c[t>>2]|0)|0;qr(c[u>>2]|0,c[F>>2]|0,0)|0;Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[k>>2]|0)!=0?0==((Sr(c[t>>2]|0)|0)&1024|0):0)?(I=or(c[t>>2]|0,2)|0,c[v>>2]=I,0!=(I|0)):0){pK(c[t>>2]|0)|0;qr(c[u>>2]|0,c[F>>2]|0,0)|0;Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[r>>2]|0)c[v>>2]=Kg(c[r>>2]|0,c[F>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}pK(c[t>>2]|0)|0;if(c[v>>2]|0){Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[v>>2]=qr(c[u>>2]|0,c[F>>2]|0,c[k>>2]|0)|0;Sf(c[e>>2]|0,c[F>>2]|0);c[F>>2]=0;if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}Sj();c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[s>>2]|0)Jg(c[s>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+1}Tj();fM(c[e>>2]|0)|0}c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}function eM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+332>>2];c[(c[h>>2]|0)+332>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+308>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;GI(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+332>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function fM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;gu(c[d>>2]|0,64);i=b;return 0}function gM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=jM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function hM(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];kg(c[f>>2]|0);c[b>>2]=iM(c[c[e>>2]>>2]|0)|0;i=d;return c[b>>2]|0}function iM(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+7>>0]|0|0}function jM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function kM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+56>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){yI(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function lM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;yI(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}oC(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);Sf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function mM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[6424+(c[b>>2]<<2)>>2]|0}function nM(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+88|0;x=L+80|0;w=L+72|0;I=L+64|0;H=L+56|0;v=L+48|0;u=L+40|0;t=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;s=L;k=L+176|0;l=L+172|0;M=L+168|0;K=L+164|0;J=L+136|0;B=L+132|0;D=L+128|0;C=L+124|0;F=L+120|0;p=L+116|0;q=L+112|0;G=L+108|0;r=L+104|0;n=L+100|0;m=L+96|0;o=L+92|0;c[k>>2]=f;c[l>>2]=g;c[M>>2]=j;c[K>>2]=c[l>>2];cg(J,0,c[l>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[k>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[k>>2]|0)+16>>2];c[s>>2]=e[(c[D>>2]|0)+6>>1];$z(J,43365,s);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)k=c[c[C>>2]>>2]|0;else k=19266;c[F>>2]=k;M=(yQ(c[F>>2]|0,35690)|0)==0;c[F>>2]=M?43370:k;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?29135:19266;c[E+4>>2]=M;$z(J,43372,E);c[B>>2]=(c[B>>2]|0)+1}aA(J,35518,1);break}case -4:{c[p>>2]=c[(c[k>>2]|0)+16>>2];c[z>>2]=c[c[p>>2]>>2];$z(J,43378,z);break}case -5:{c[q>>2]=c[(c[k>>2]|0)+16>>2];M=b[c[q>>2]>>1]|0;c[A>>2]=c[(c[q>>2]|0)+20>>2];c[A+4>>2]=M;$z(J,43386,A);break}case -13:{H=c[(c[k>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=t;c[M>>2]=c[H>>2];c[M+4>>2]=I;$z(J,29137,t);break}case -14:{c[u>>2]=c[(c[k>>2]|0)+16>>2];$z(J,43393,u);break}case -12:{h[v>>3]=+h[c[(c[k>>2]|0)+16>>2]>>3];$z(J,43396,v);break}case -8:{c[G>>2]=c[(c[k>>2]|0)+16>>2];k=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[k+16>>2];break a}l=c[G>>2]|0;if(e[k+8>>1]&4){G=l;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;$z(J,29137,H);break a}k=c[G>>2]|0;if(e[l+8>>1]&8){h[I>>3]=+h[k>>3];$z(J,43396,I);break a}if(e[k+8>>1]&1){c[K>>2]=40498;break a}else{c[K>>2]=43402;break a}}case -10:{c[r>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+8>>2];c[w>>2]=c[r>>2];$z(J,43409,w);break}case -15:{c[m>>2]=c[(c[k>>2]|0)+16>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[x>>2]=c[(c[m>>2]|0)+(c[n>>2]<<2)>>2];$z(J,43417,x);c[n>>2]=(c[n>>2]|0)+1}a[c[l>>2]>>0]=91;aA(J,43421,1);break}case -18:{$z(J,43423,y);break}case -19:{a[c[l>>2]>>0]=0;break}default:{c[K>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[l>>2];a[c[l>>2]>>0]=0}}}while(0);eg(J)|0;i=L;return c[K>>2]|0}function oM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;fh(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function pM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=_g(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;jR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function qM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(rM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function rM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Vg(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))Zt(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(_g(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}YH(c[j>>2]|0)|0}else sx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function sM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)DF(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Sf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function tM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Sf(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function uM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(c[d>>2]|0);jg(c[d>>2]|0,7);i=b;return 7}function vM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;kj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function wM(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+152>>2]|0)>1:0){xM(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(yM(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;rB(c[f>>2]|0);i=g;return}function xM(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function yM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function zM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];rJ(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=$E(c[e>>2]|0)|0;b=lF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=$q((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=qJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Lj(59231)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=nH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=sJ(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Dg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;Xs((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Xs((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Xs((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;jr(c[k>>2]|0)|0;break}c[d>>2]=Lj(59226)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function AM(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=kr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=fr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function BM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=sg(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Dg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){qt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}vg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function CM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=fs(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Gt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[381]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=gR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Fg(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=gR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=gR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Gt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=gR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=gR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=gR(q|0,C|0,4,0)|0,q=Gt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=gR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=gR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=gR(q|0,C|0,8,0)|0,q=Fg(p,26758,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=gR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Si(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=nr(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0} -function DM(f){f=f|0;var 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;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(ij(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=Zr(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;zs(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[381]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=sg(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=EM(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;zs(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=Zr(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;zs(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function EM(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=FM(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}$r(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(lj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=GM(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=lt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function FM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;e=k;c[h>>2]=b;c[j>>2]=0;c[f>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[b+44>>2];j=c[g>>2]|0;i=k;return j|0}if((sr(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=fj(c[(c[h>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+60>>2]=b;if(!(c[(c[h>>2]|0)+60>>2]|0)){c[g>>2]=7;j=c[g>>2]|0;i=k;return j|0}do if(!(c[c[(c[h>>2]|0)+68>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){Ir(c[b+68>>2]|0);break}c[e>>2]=6|((d[b+13>>0]|0|0)!=0?4104:2048);c[j>>2]=HM(c[h>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Vr(c[f>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[e>>2]|0,0)|0}while(0);if(!(c[j>>2]|0)){c[(c[h>>2]|0)+48>>2]=0;f=(c[h>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;a[(c[h>>2]|0)+20>>0]=0;f=(c[h>>2]|0)+88|0;c[f>>2]=0;c[f+4>>2]=0;c[j>>2]=st(c[h>>2]|0)|0}}b=c[h>>2]|0;if(c[j>>2]|0){kj(c[b+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[g>>2]=c[j>>2];j=c[g>>2]|0;i=k;return j|0}function GM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=Yr(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Gt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=gR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Fg(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=gR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=gR(p|0,C|0,4,0)|0;c[l>>2]=Gt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=gR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=gj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=Ht(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function HM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=vi(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function IM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;kR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=ig(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=64;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=rR((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Cs(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function JM(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=KM(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[140>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function KM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[136>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function LM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function MM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=LJ(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=nF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=$q((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Cg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(vQ((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(vQ(c[j>>2]|0,43252,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=RJ(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}qB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((vQ((c[j>>2]|0)+21|0,45492,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){qB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Pi(c[o>>2]|0);c[l>>2]=Qi(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Lj(58503)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=($q((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=($q((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);qB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function NM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(sr(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=vt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=ut(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(vr(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=vt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){vr(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=OM(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function OM(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Ns(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(vQ(b,ts(c[e>>2]|0)|0,48)|0){Br(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function PM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fh(c[d>>2]|0);i=b;return}function QM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1926]|0;if((b|0)!=(LQ()|0)){c[1926]=LQ()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=FN(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=WN(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=XN(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=BN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(SP()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=BN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=et(33050)|0;c[B>>2]=xN(F,45571,c[E>>2]|0,33050)|0;break}if(c[l>>2]&526336){YN(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[7464>>2]&255](c[E>>2]|0)|0;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=ZN(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function RM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[7464>>2]&255](c[f>>2]|0)|0)==-1){if((c[(SP()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=xN(2570,45668,c[f>>2]|0,33178)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[7476>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(MN(c[h>>2]|0,0,0)|0)c[j>>2]=xN(1290,45902,c[f>>2]|0,33188)|0;wN(0,c[h>>2]|0,33190)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function SM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[7320>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[7296>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function TM(b,d,e,f){b=b|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,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[7596>>2]&255](c[o>>2]|0,k)|0){if((c[(SP()|0)>>2]|0)!=2){s=et(33302)|0;c[p>>2]=xN(s,45756,c[o>>2]|0,33302)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=et(33313)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[7584>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=et(33319)|0;c[p>>2]=xN(s,45747,c[o>>2]|0,33319)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=If(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=et(33325)|0;break}else{jR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;iR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=VN(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function UM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;kR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1926]=LQ()|0;c[h>>2]=BN(45889,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[7704]|0;a[e+1>>0]=a[7705]|0;a[e+2>>0]=a[7706]|0;a[e+3>>0]=a[7707]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[7368>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(SP()|0)>>2]|0)==4);wN(0,c[h>>2]|0,33449);e=c[f>>2]|0;i=l;return e|0}function VM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;QQ(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=YM(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function XM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function YM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=rR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=gR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=gR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function ZM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[7268+((c[g>>2]|0)*12|0)+8>>2]|0)c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(yQ(c[e>>2]|0,c[7268+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[7268+(d*12|0)+8>>2]|0))c[7268+((c[g>>2]|0)*12|0)+8>>2]=c[7268+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function _M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(yQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[7268+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function $M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(yQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[7268+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[7268+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function aN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7192}function bN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];iN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=PN(c[d>>2]|0)|0;i=b;return a|0}function cN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=ON(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{KN(c[l>>2]|0,0);kR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function dN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=IN(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=gR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}KN(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function eN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=gR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=fR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=pR(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=rR(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=NN(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;KN(k,c[(SP()|0)>>2]|0);c[e>>2]=xN(1546,45594,c[(c[g>>2]|0)+32>>2]|0,30893)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function fN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=MN(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){KN(d,c[(SP()|0)>>2]|0);c[f>>2]=xN(1034,45878,c[(c[h>>2]|0)+32>>2]|0,30848)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[7476>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){MN(c[g>>2]|0,0,0)|0;wN(c[h>>2]|0,c[g>>2]|0,30862)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function gN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[7332>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;KN(j,c[(SP()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function hN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[7488>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(SP()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=LN(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)KN(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function iN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[7500>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(SP()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;KN(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function jN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[7296>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function kN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=DN(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{EN(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{EN(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(19255,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){FN(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=GN(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function lN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function mN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function nN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=CN(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=CN(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=CN(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function oN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;sN();uN();i=b;return}function pN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;sN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[7464>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;tN(c[g>>2]|0)}uN();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function qN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function rN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function sN(){return}function tN(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=vN()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[7548>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){wN(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,31469);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function uN(){return}function vN(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[7572>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function wN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[7284>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;xN(4106,45534,e,c[f>>2]|0)|0;i=g;return}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(SP()|0)>>2];c[m>>2]=TP(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=19266;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,45540,l);i=n;return c[f>>2]|0}function yN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=VP(d,a,f)|0;i=e;return a|0}function zN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,19255,l)|0;c[h>>2]=BQ(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=BN(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=xN(et(30807)|0,45675,j,30807)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function AN(){return ib(30)|0}function BN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[7272>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(SP()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[7284>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,45762,l);c[h>>2]=-1;if((Ob[c[7272>>2]&255](45805,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[7332>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[7440>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function CN(a,d,e,f){a=a|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;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1839]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function DN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=gR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=fR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=pR(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=rR(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=gR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=fR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=fR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=IN(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,19266,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=gR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function EN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function FN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[k>>2]=HN()|0;while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,45815,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=4;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=4;break}if(Yb[c[7296>>2]&255](c[f>>2]|0,0)|0){e=6;break}}if((e|0)==4){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==6){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function GN(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[7320>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function HN(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+96|0;b=e+80|0;a=e+4|0;d=e;c[d>>2]=c[241];if(!(c[1901]|0))c[1901]=rb(45832)|0;if(!(c[1902]|0))c[1902]=rb(45846)|0;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=6){a=12;break}if((((c[d>>2]|0)!=0?(Yb[c[7320>>2]&255](c[d>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[7296>>2]&255](c[d>>2]|0,7)|0)==0:0){a=12;break}f=c[b>>2]|0;c[b>>2]=f+1;c[d>>2]=c[7604+(f<<2)>>2]}if((a|0)==12){i=e;return c[d>>2]|0}return 0}function IN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=JN(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function JN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=MQ(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[7404>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(SP()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(SP()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function KN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function LN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function MN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=HQ(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function NN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[7344>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(SP()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function ON(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=MQ(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[7368>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=gR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(SP()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;KN(p,c[(SP()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;KN(p,c[(SP()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function PN(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){wN(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,29216);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function QN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7628}function RN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=PN(c[d>>2]|0)|0;i=b;return a|0}function SN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function TN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function UN(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=If(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[7308>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=If(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=et(33245)|0;c[f>>2]=xN(b,45576,c[g>>2]|0,33245)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=et(33254)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,19255,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[7320>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}sN();c[e>>2]=c[1946];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}uN();k=c[f>>2]|0;i=j;return k|0}function XN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+624|0;h=r+100|0;j=r+96|0;k=r+92|0;l=r+88|0;m=r+84|0;o=r+80|0;q=r+104|0;n=r+76|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(If(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}iR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(Yb[c[7320>>2]&255](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function YN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[7524>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[7512>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function ZN(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(Hf((c[m>>2]&64|0)!=0?c[l>>2]|0:0,45908,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(yQ(c[(c[j>>2]|0)+16>>2]|0,45524)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=7628;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=7708){if((c[o>>2]|0)==7192){c[n>>2]=(BQ(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,45913,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{sN();c[q>>2]=_N(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){wN(c[p>>2]|0,c[k>>2]|0,32585);c[k>>2]=-1}uN()}KN(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];$N(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}wN(c[p>>2]|0,c[k>>2]|0,32670);u=c[q>>2]|0;i=t;return u|0}function _N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[7332>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;KN(m,c[(SP()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1946];while(1){if(c[j>>2]|0)a=(vQ(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1946];c[(c[j>>2]|0)+36>>2]=0;if(c[1946]|0)c[(c[1946]|0)+36>>2]=c[j>>2];c[1946]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function $N(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+112|0;j=k+24|0;h=k+16|0;d=k+8|0;b=k;f=k+108|0;g=k+32|0;l=k+28|0;c[f>>2]=a;c[l>>2]=Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,g)|0;if(c[l>>2]|0){c[b>>2]=c[(c[f>>2]|0)+32>>2];Rd(28,45921,b);i=k;return}if((c[g+16>>2]|0)==0?((e[(c[f>>2]|0)+18>>1]|0)&32|0)==0:0){c[d>>2]=c[(c[f>>2]|0)+32>>2];Rd(28,45945,d);i=k;return}a=c[f>>2]|0;if((c[g+16>>2]|0)>>>0>1){c[h>>2]=c[a+32>>2];Rd(28,45974,h);i=k;return}if(!(GN(a)|0)){i=k;return}c[j>>2]=c[(c[f>>2]|0)+32>>2];Rd(28,46001,j);i=k;return}function aO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];$N(c[d>>2]|0);cO(c[b>>2]|0,0)|0;sN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)jO(c[d>>2]|0);kO(c[d>>2]|0);c[e>>2]=PN(c[b>>2]|0)|0;uN();i=f;return c[e>>2]|0}function bO(e,f){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;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}sN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[381],(hO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(SP()|0)>>2];c[o>>2]=LN(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;KN(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[381]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((hO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(SP()|0)>>2],c[o>>2]=LN(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)KN(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[381]|0)+2;c[h+8>>2]=510;if(hO(c[m>>2]|0,h)|0){c[j>>2]=c[(SP()|0)>>2];c[o>>2]=LN(c[j>>2]|0,3850)|0}c[h+4>>2]=c[381];c[h+8>>2]=1;b[h>>1]=2;q=(hO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(SP()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;KN(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);uN();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function cO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=gO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function dO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];sN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[381]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;KN(o,c[(SP()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);uN();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function eO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=vN()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=fO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[7332>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((JN(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19266,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=xN(4874,45629,c[y>>2]|0,31732)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1884]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=rR(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}kR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=xN(5386,45716,c[(c[C>>2]|0)+8>>2]|0,31759)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function fO(b){b=b|0;var 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;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;sN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(BQ(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}kR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,46029,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(Hf(c[(c[f>>2]|0)+32>>2]|0,46036,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=BN(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=et(31584)|0;c[m>>2]=xN(p,45571,c[q>>2]|0,31584)|0;break}YN(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((CN(c[f>>2]|0,1,128,1)|0)==0?(NN(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=xN(4618,45594,c[q>>2]|0,31600)|0;if(!(c[m>>2]|0))c[m>>2]=CN(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);tN(c[f>>2]|0);Kd(c[j>>2]|0);uN();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];uN();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function gO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}sN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[381]|0)+2,c[k+8>>2]=510,(hO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;KN(q,c[(SP()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[381];c[k+8>>2]=2;if(!(hO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;KN(q,c[(SP()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(hO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;KN(q,c[(SP()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))iO(c[l>>2]|0)}uN();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function hO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[381]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1839]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function iO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];wN(c[b>>2]|0,c[c[d>>2]>>2]|0,28492);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function jO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function kO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}iO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1946]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function lO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7708}function mO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=ee(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function nO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+ce(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function oO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function pO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ae(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function qO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=gR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=dA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function rO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=288;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function sO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[60>>2]&255](c[j>>2]|0)|0;Mi(5,c[j>>2]|0);b=288;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=Zf(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=288;j=c[e>>2]|0;j=fR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[77]=1;rO(c[e>>2]|0);break}else{c[77]=0;break}}while(0);c[g>>2]=Tb[c[44>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=$f(c[g>>2]|0)|0;Ni(0,c[e>>2]|0);Ni(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function tO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=1080;c[a>>2]=9708;c[b>>2]=0;while(1){if((c[b>>2]|0)>=8)break;Yt(c[d>>2]|0,(c[a>>2]|0)+(c[b>>2]<<5)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function uO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=1080;c[a>>2]=9612;c[b>>2]=0;while(1){if((c[b>>2]|0)>=3)break;Yt(c[d>>2]|0,(c[a>>2]|0)+(c[b>>2]<<5)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function vO(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=ae(c[c[s>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Qu(c[m>>2]|0,k)|0}while((c[k>>2]|0)==159)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Bh(s,46327,l)|0;ne(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function wO(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=ae(c[c[t>>2]>>2]|0)|0;c[q>>2]=ae(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Qu(c[n>>2]|0,l)|0}while((c[l>>2]|0)==159);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=46&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Bh(t,46327,m)|0;ne(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=we(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ae(c[c[v>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Qu(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Qu(c[m>>2]|0,j)|0}while((c[j>>2]|0)==159);if((c[j>>2]|0)==160)break;v=c[h>>2]|0;c[s>>2]=Iw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Jw(c[s>>2]|0)|0;if(!(Td(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19266;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Bh(v,46316,k)|0;Sf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Sf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19266;c[l+4>>2]=s;c[t>>2]=Bh(v,25552,l)|0;ne(c[f>>2]|0,c[t>>2]|0,-1,170);Sf(c[g>>2]|0,c[r>>2]|0);i=u;return}function yO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(GO(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}HO(f);j=f;ie(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function zO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(GO(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}JO(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,46623,f)|0;ne(c[e>>2]|0,h,-1,-1);i=j;return}function AO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(GO(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}KO(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,46608,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function BO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(GO(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}IO(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,46578,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(GO(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=we(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+88>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){se(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Fw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){te(c[m>>2]|0);i=J;return}}else c[G>>2]=H;HO(E);IO(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,46420,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,46425,s)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,46420,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;HO(F);k=E;l=F;c[p>>2]=pR(gR(fR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=gR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=pR(l|0,C|0,864e5,0)|0;l=qR(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,46420,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,46432,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,43396,u)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,46420,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,46420,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=fR(pR(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,29137,x)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,46420,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=qR(pR(gR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,46437,z)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;ne(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function DO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;AO(c[f>>2]|0,0,0);i=e;return}function EO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;BO(c[f>>2]|0,0,0);i=e;return}function FO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;zO(c[f>>2]|0,0,0);i=e;return}function GO(b,d,e,f){b=b|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.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=LO(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=fe(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+ce(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ae(d)|0;if((c[n>>2]|0)!=0?(MO(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=ae(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(NO(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function HO(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=gR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=gR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=fR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function IO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;JO(c[d>>2]|0);KO(c[d>>2]|0);i=b;return}function JO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=gR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=pR(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function KO(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}HO(c[d>>2]|0);b=c[d>>2]|0;b=gR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=qR(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function LO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=VO(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function MO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(UO(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(QO(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(Td(c[j>>2]|0,46562)|0)){c[f>>2]=LO(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Ky(d,l,If(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function NO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[18477+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(yQ(c[y>>2]|0,46442)|0){y=c[x>>2]|0;i=z;return y|0}HO(c[w>>2]|0);v=OO(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=gR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;PO(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((yQ(c[y>>2]|0,46452)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=gR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=pR(v|0,C|0,86400,0)|0;v=gR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;PO(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(yQ(c[y>>2]|0,46462)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}HO(c[w>>2]|0);y=l;c[y>>2]=OO(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=fR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;PO(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=OO(c[w>>2]|0,c[g>>2]|0,x)|0;v=fR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(CQ(c[y>>2]|0,46466,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Ky((c[y>>2]|0)+8|0,n,If((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}IO(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;HO(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=qR(pR(gR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=fR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=rR(fR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=gR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;PO(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(CQ(c[y>>2]|0,46475,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;JO(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(yQ(c[y>>2]|0,46485)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(yQ(c[y>>2]|0,46491)|0)){JO(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(yQ(c[y>>2]|0,46496)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[19267+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Ky(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[19267+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(QO(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}HO(u);v=u;v=fR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=pR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=rR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=fR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=fR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}HO(c[w>>2]|0);PO(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=gR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[19267+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=If(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}HO(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(yQ(c[y>>2]|0,46496)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(yQ(c[y>>2]|0,46500)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(yQ(c[y>>2]|0,46505)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(yQ(c[y>>2]|0,46512)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(yQ(c[y>>2]|0,46485)|0)==0:0){IO(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;HO(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(yQ(c[y>>2]|0,46491)|0)==0:0){c[r>>2]=~~+h[n>>3];IO(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;HO(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);PO(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function OO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));IO(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;HO(o);l=o;l=pR(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=fR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(TO(n,m)|0){je(c[j>>2]|0,46539,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;HO(p);c[c[k>>2]>>2]=0;n=p;p=o;p=fR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function PO(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function QO(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((RO(b,46519,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((RO(r,46527,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[19267+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[19267+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(SO(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function RO(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[17286+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[19267+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function SO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[19267+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((RO(o,46531,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[19267+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function TO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function UO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((RO(b,46566,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[19267+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(QO(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)HO(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+136;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=IH(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function WO(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((fe(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=be(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ae(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=rR(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=GP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=47041;c[l>>2]=9964;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ve(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(vQ(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(vQ((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}ne(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ve(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=HP(c[e>>2]|0)|0;c[j>>2]=0;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fe(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=cI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}pe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function YO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=xe(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(fe(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}IP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=we(d)|0;c[(c[l>>2]|0)+32>>2]=m;gh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=HP(d)|0;c[j>>2]=(ve(c[g>>2]|0)|0)!=0&1;c[h>>2]=cI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){IP(c[g>>2]|0);i=n;return}gh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function ZO(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)pe(c[d>>2]|0,c[e>>2]|0);Ug(c[e>>2]|0);i=f;return}function _O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fe(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=40517;break}case 3:{c[f>>2]=47031;break}case 2:{c[f>>2]=40512;break}case 4:{c[f>>2]=47036;break}default:c[f>>2]=40525}ne(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function $O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(fe(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{ke(c[g>>2]|0,be(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ae(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}ke(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{me(c[g>>2]|0);i=l;return}}}function aP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=fe(c[c[g>>2]>>2]|0)|0;c[n>>2]=fe(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=be(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ae(b)|0;c[p>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(vQ(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;ke(c[f>>2]|0,c[h>>2]|0);i=q;return}function bP(b,e,f){b=b|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,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((fe(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(fe(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=fe(c[c[h>>2]>>2]|0)|0;b=de(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=be(e)|0;c[p>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ae(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=de(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=fR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(we(c[m>>2]|0)|0)+88>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=gR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=gR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=gR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=gR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=fR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=gR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=gR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=fR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;he(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=gR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=gR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;oe(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function cP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=we(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=ae(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;cg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+88>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;$z(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=eg(l)|0;ne(n,o,c[k>>2]|0,170);i=p;return}function dP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;ke(j,jC(g)|0);i=h;return}function eP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){te(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=ee(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;oe(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function fP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=ee(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=fR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}je(c[e>>2]|0,46986,-1);i=k;return}while(0);j=g;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];ie(c[e>>2]|0,+h[j>>3]);i=k;return}}}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fe(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=de(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fe(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+ce(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(47026,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Ky(n,j,If(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}te(c[e>>2]|0);i=m;return}while(0);ie(c[e>>2]|0,+h[j>>3]);i=m;return}function hP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=gR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=GP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[19267+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function iP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=gR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=GP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[18477+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function jP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,jf()|0,-1,0);i=e;return}function kP(b,e,f){b=b|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;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=$d(c[c[p>>2]>>2]|0)|0;c[k>>2]=be(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=rR(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=gR(b|0,C|0,1,0)|0;b=GP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[47010+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[47010+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function lP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=fR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}le(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=de(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=GP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);ge(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function nP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=HP(c[e>>2]|0)|0;if(!(cI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}pe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,kf()|0,-1,0);i=e;return}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=de(c[c[g>>2]>>2]|0)|0;c[f>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,19255,f);i=e;return}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ae(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;ke(h,yd(c[f>>2]|0)|0);i=g;return}function rP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=de(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;ne(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function sP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(fe(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+ce(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,29142,r)|0;Ky(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,47003,s)|0}ne(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{pe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=$d(c[c[j>>2]>>2]|0)|0;c[o>>2]=be(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=GP(u,gR(rR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[47010+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[47010+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;ne(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=gR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=gR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=gR(x|0,C|0,3,0)|0;c[t>>2]=GP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;ne(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{ne(c[g>>2]|0,40498,4,0);i=y;return}}}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;d=c[g>>2]|0;a=of(c[f>>2]|0)|0;le(d,a,C);i=e;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,pf(c[f>>2]|0)|0);i=e;return}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,qf(c[f>>2]|0)|0);i=e;return}function wP(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=be(c[c[g>>2]>>2]|0)|0;c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){pe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=be(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=GP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(vQ((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=we(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=gR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+88>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}iR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){se(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){te(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){iR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;ne(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=ee(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=qe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}re(c[e>>2]|0,c[f>>2]|0);i=g;return}function yP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=xe(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=gR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+ce(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=ee(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(_H((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function zP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){je(c[d>>2]|0,46986,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){ie(d,+h[b>>3]);i=f;return}else{g=b+8|0;le(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function AP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;ie(a,f);i=d;return}f=+h[c[b>>2]>>3];ie(a,f);i=d;return}function BP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;ie(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=xe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(fe(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=gR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function DP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;le(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;le(a,b,e);i=d;return}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=xe(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=we(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+88>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=38266;c[k>>2]=1}if(c[k>>2]|0)aA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}aA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function FP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){se(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){te(b);i=f;return}else{ne(b,eg(c[e>>2]|0)|0,-1,148);i=f;return}}function GP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=we(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){se(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=_f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}te(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function HP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function IP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function JP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=$t(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+528>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function KP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Sf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)qA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Sf(e,j);i=k;return}function LP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+528>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Oj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}LF(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);LF(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Sf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function MP(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function NP(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function OP(a){a=a|0;return (a+-97|0)>>>0<26|0}function PP(a){a=a|0;return (a+-65|0)>>>0<26|0}function QP(a){a=a|0;var b=0;b=(PP(a)|0)==0;return (b?a:a|32)|0}function RP(a){a=a|0;var b=0;b=(OP(a)|0)==0;return (b?a:a&95)|0}function SP(){var a=0;if(!(c[2492]|0))a=10016;else a=c[(qb()|0)+60>>2]|0;return a|0}function TP(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[47177+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=47265;e=5;break}}if((e|0)==2)if(!c)b=47265;else{b=47265;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var 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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=XP(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=XP(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=XP(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=XP(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=XP(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=XP(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=XP(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function VP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=XP(Db(5,f|0)|0)|0;i=e;return d|0}function WP(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[49069+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function XP(a){a=a|0;if(a>>>0>4294963200){c[(SP()|0)>>2]=0-a;a=-1}return a|0}function YP(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function ZP(a){a=+a;var b=0;h[k>>3]=a;b=hR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+dQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function _P(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=hR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+dQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function $P(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=hR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+dQ(f+a*f/(1.0-a))*.5}}else a=+dQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function aQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+bQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+YP(a);break}while(0);return +a}function bQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=hR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=lR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=lR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function cQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function dQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=lR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function eQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+bQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+YP(b);while(0);return +a}function fQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+bQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+bQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+bQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function gQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(SP()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)XQ(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=XP(cb(192,h|0)|0)|0;if(j)YQ()}else{c[(SP()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;XQ(-1);c[e>>2]=a;c[e+4>>2]=b;a=XP(Xa(91,e|0)|0)|0;YQ();i=d;return a|0}function iQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){WP(e,a);c[g>>2]=e;c[g+4>>2]=b;d=XP(wb(15,g|0)|0)|0}else d=XP(d)|0;i=h;return d|0}function jQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){WP(e,a);c[g>>2]=e;c[g+4>>2]=b;d=XP(fb(195,g|0)|0)|0}else d=XP(d)|0;i=h;return d|0}function kQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(eb(196,e|0)|0)|0;i=d;return a|0}function lQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(Za(39,e|0)|0)|0;i=d;return a|0}function mQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(fb(195,e|0)|0)|0;i=d;return a|0}function nQ(a){a=a|0;return 0}function oQ(a){a=a|0;return}function pQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=XP(Cb(6,d|0)|0)|0;i=b;return a|0}function qQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((XP(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function rQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2492]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=XP(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=XP(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function sQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=rQ(b,d,e)|0;i=g;return f|0}function tQ(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=UQ(a)|0;break}d=(nQ(a)|0)==0;b=UQ(a)|0;if(!d)oQ(a)}else{if(!(c[2503]|0))b=0;else b=tQ(c[2503]|0)|0;Bb(9996);a=c[2498]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=nQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=UQ(a)|0|b;if(d)oQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(9996)}while(0);return b|0}function uQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){VQ(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)VQ(a,d,e,h,o);else WQ(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}WQ(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;WQ(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;WQ(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function vQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function wQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function xQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);kR(b|0,0,e|0)|0;return b|0}function yQ(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function zQ(a,b){a=a|0;b=b|0;wQ(a,b)|0;return a|0}function AQ(a){a=a|0;var b=0,c=0;c=(BQ(a)|0)+1|0;b=_Q(c)|0;if(!b)b=0;else iR(b|0,a|0,c|0)|0;return b|0}function BQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function CQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function DQ(a,b,c){a=a|0;b=b|0;c=c|0;xQ(a,b,c)|0;return a|0}function EQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(sb(33,e|0)|0)|0;i=d;return a|0}function FQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=XP((a|0)==-4?-115:a)|0;i=b;return a|0}function GQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){WP(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=XP(hb(212,h|0)|0)|0}else e=XP(e)|0;i=j;return e|0}function HQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XP(Oa(118,d|0)|0)|0;i=b;return a|0}function IQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=XP(gb(194,e|0)|0)|0;i=d;return b|0}function JQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(SP()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((XP(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=AQ(d)|0}else a=0}i=g;return a|0}function KQ(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function LQ(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function MQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(XP(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function NQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=XP(Ab(3,f|0)|0)|0;i=e;return a|0}function OQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=XP(Ea(85,f|0)|0)|0;i=e;return a|0}function PQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XP(Na(40,d|0)|0)|0;i=b;return a|0}function QQ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function RQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XP(yb(10,d|0)|0)|0;i=b;return a|0}function SQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=XP(Eb(4,f|0)|0)|0;i=e;return a|0}function TQ(a){a=a|0;if(!(c[a+68>>2]|0))oQ(a);return}function UQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function VQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);ZQ(b,o,e);i=p;return}function WQ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){ZQ(b,p,e);VQ(a,b,d,g,h)}i=r;return}function XQ(a){a=a|0;return}function YQ(){return}function ZQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;iR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;iR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function _Q(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2533]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=10172+(e<<2)|0;e=10172+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2537]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2533]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2535]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=10172+(e<<2)|0;e=10172+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2537]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2535]|0;break}else Ma()}else{c[2533]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2538]|0;d=k>>>3;b=d<<1;e=10172+(b<<2)|0;a=c[2533]|0;d=1<>2]|0;if(b>>>0<(c[2537]|0)>>>0)Ma();else{l=a;m=b}}else{c[2533]=a|d;l=10172+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2535]=h;c[2538]=i;M=j;return M|0}a=c[2534]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[10436+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2537]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=10436+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2537]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2535]|0;if(b){g=c[2538]|0;d=b>>>3;b=d<<1;f=10172+(b<<2)|0;a=c[2533]|0;d=1<>2]|0;if(a>>>0<(c[2537]|0)>>>0)Ma();else{p=b;q=a}}else{c[2533]=a|d;p=10172+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2535]=j;c[2538]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2534]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[10436+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[10436+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2535]|0)-m|0)>>>0:0){f=c[2537]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=10436+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2537]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=10172+(a<<2)|0;d=c[2533]|0;b=1<>2]|0;if(a>>>0<(c[2537]|0)>>>0)Ma();else{s=b;t=a}}else{c[2533]=d|b;s=10172+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=10436+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2534]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2537]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2537]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2535]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2538]|0;if(b>>>0>15){c[2538]=a+q;c[2535]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2535]=0;c[2538]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2536]|0;if(a>>>0>q>>>0){L=a-q|0;c[2536]=L;M=c[2539]|0;c[2539]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2651]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2653]=a;c[2652]=a;c[2654]=-1;c[2655]=-1;c[2656]=0;c[2644]=0;c[2651]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2653]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2643]|0;if((a|0)!=0?(t=c[2641]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2644]&4)){a=c[2539]|0;e:do if(a){f=10580;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2536]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2652]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2641]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2643]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2653]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2644]=c[2644]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2641]|0)+p|0;c[2641]=a;if(a>>>0>(c[2642]|0)>>>0)c[2642]=a;h=c[2539]|0;g:do if(h){g=10580;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2536]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2539]=h+L;c[2536]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2540]=c[2655];break}a=c[2537]|0;if(w>>>0>>0){c[2537]=w;a=w}d=w+p|0;g=10580;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=10580;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2538]|0)){M=(c[2535]|0)+l|0;c[2535]=M;c[2538]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=10436+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2537]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2534]=c[2534]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=10172+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=10172+(a<<2)|0;d=c[2533]|0;b=1<>2]|0;if(a>>>0>=(c[2537]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=10436+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2534]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2537]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2537]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2536]|0)+l|0;c[2536]=M;c[2539]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=10580;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2539]=w+d;c[2536]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2540]=c[2655];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2645];c[b+4>>2]=c[2646];c[b+8>>2]=c[2647];c[b+12>>2]=c[2648];c[2645]=w;c[2646]=p;c[2648]=0;c[2647]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=10172+(a<<2)|0;d=c[2533]|0;b=1<>2]|0;if(a>>>0<(c[2537]|0)>>>0)Ma();else{G=b;H=a}}else{c[2533]=d|b;G=10172+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=10436+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2534]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2537]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2537]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2537]|0;if((M|0)==0|w>>>0>>0)c[2537]=w;c[2645]=w;c[2646]=p;c[2648]=0;c[2542]=c[2651];c[2541]=-1;b=0;do{M=b<<1;L=10172+(M<<2)|0;c[10172+(M+3<<2)>>2]=L;c[10172+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2539]=w+M;c[2536]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2540]=c[2655]}while(0);b=c[2536]|0;if(b>>>0>q>>>0){L=b-q|0;c[2536]=L;M=c[2539]|0;c[2539]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(SP()|0)>>2]=12;M=0;return M|0}function $Q(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2537]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2538]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2535]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=10172+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=10436+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2537]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2539]|0)){t=(c[2536]|0)+g|0;c[2536]=t;c[2539]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2538]|0))return;c[2538]=0;c[2535]=0;return}if((q|0)==(c[2538]|0)){t=(c[2535]|0)+g|0;c[2535]=t;c[2538]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2537]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=10436+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2537]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=10172+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2537]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2533]=c[2533]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2538]|0)){c[2535]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=10172+(d<<2)|0;e=c[2533]|0;b=1<>2]|0;if(d>>>0<(c[2537]|0)>>>0)Ma();else{r=b;s=d}}else{c[2533]=e|b;r=10172+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=10436+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2534]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2537]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2534]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2541]|0)+-1|0;c[2541]=u;if(!u)b=10588;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2541]=-1;return}function aR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=_Q(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;kR(b|0,0,d|0)|0;return b|0}function bR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=_Q(b)|0;return a|0}if(b>>>0>4294967231){c[(SP()|0)>>2]=12;a=0;return a|0}d=cR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=_Q(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;iR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;$Q(a);a=d;return a|0}function cR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2537]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2653]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;dR(a+b|0,d);return a|0}if((l|0)==(c[2539]|0)){d=(c[2536]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2539]=a+b;c[2536]=n;return a|0}if((l|0)==(c[2538]|0)){e=(c[2535]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2535]=d;c[2538]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=10436+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2537]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=10172+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;dR(a+b|0,n);return a|0}return 0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2537]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2538]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2535]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=10172+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=10436+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2537]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2537]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2539]|0)){s=(c[2536]|0)+h|0;c[2536]=s;c[2539]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2538]|0))return;c[2538]=0;c[2535]=0;return}if((q|0)==(c[2538]|0)){s=(c[2535]|0)+h|0;c[2535]=s;c[2538]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=10436+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2537]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=10172+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2538]|0)){c[2535]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=10172+(e<<2)|0;f=c[2533]|0;d=1<>2]|0;if(e>>>0<(c[2537]|0)>>>0)Ma();else{r=d;s=e}}else{c[2533]=f|d;r=10172+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=10436+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2534]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2537]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2537]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function eR(){}function fR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function gR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function iR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function jR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else iR(b,c,d)|0;return b|0}function kR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function lR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function nR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function oR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function pR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=fR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return fR((uR(h,g,fR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function qR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=fR(h^a,g^b,h,g)|0;b=C;uR(a,b,fR(l^d,k^e,l,k)|0,C,j)|0;e=fR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function rR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=oR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function sR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uR(a,b,c,d,0)|0}function tR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;uR(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0} -function Km(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Mm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Nm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Nm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=fR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,rR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Om(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=fR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=rR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;Wl(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Vl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Tl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Vl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Lm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Pm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)Ym(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=Zm(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Mm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Mm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return}function Nm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Nm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Nm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Nm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=fR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=rR(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Nm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Nm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;kR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Nm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}kR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Nm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=fR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=rR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Nm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Nm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Nm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Nm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=fR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=rR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Nm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Nm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=fR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=rR(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Nm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Pm(c[h>>2]|0);u=Qm(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Om(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=Ul(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}Zl(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=Ul(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=rR(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=gR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Pm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Qm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Rm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){Wl(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Sm(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Rm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Tm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=Um(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=fR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,rR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=fR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;rR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=Um(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=fR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=rR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;iR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=Vm(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Sm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=Ul(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=fR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=gR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];Zl(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Tm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Ql(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Ql(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Nl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Ol(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Rl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function Um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Sm(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Tm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function Vm(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Vl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Vl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Tl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Vl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Tl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Vl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=El(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}Wm(y,t);j=t;j=fR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;Wm(z,u);h=u;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=gR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=gR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=gR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;Xm(x,v,h,C);h=v;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=gR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;Wm(y,t);h=t;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;Wm(z,u);h=u;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Tl(0,y);Tl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Vl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Vl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}Zl(0,z);Zl(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=Ul(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=gR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function Xm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=fR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=El(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function Ym(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function Zm(a,b,e){a=a|0;b=b|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=$m(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=_m(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function _m(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=bm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(cm(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Pl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Nl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=an(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=bn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function an(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=ol(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=pl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=fn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=gn(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;hn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;hn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function bn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=cn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];dn(x,c[z>>2]|0,0,r);dn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=fR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=rR(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){Zl(0,x);dn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{Zl(0,y);dn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;en(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!(Vm(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}dn(x,c[z>>2]|0,c[j>>2]|0,r);dn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=Ul(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=fR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=gR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function en(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=fR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=fR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=El(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function fn(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){iR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=jn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function gn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=jn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function hn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function jn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];dn(u,c[w>>2]|0,0,p);dn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=fR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=rR(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;en(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);kn(t,u,v);dn(u,c[w>>2]|0,c[k>>2]|0,p);dn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;en(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);Zl(t,v);dn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;en(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);Zl(t,u);dn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function kn(b,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){Vl(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){Vl(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=ln(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Tl(q,r);continue}else{f=ln(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Tl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=ln(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);Wm(r,k);Wm(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;Xm(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=fR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){mn(r,k);break}else{mn(s,l);break}}else{mn(r,k);mn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function ln(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(El((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function mn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){Wm(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=fR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=zn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Me(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(ue(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Zd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)re(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function on(a){a=a|0;var b=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,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=Ee(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Fe(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=wn(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(vQ(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;xn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=yn((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function pn(b,e,f){b=b|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;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((pn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(pn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(rn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Pm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Pm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=pn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=pn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(pn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(pn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Pm(c[k>>2]|0);f=sn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function qn(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;el(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function rn(a,b){a=a|0;b=b|0;var 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;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=un(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=un(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function sn(a,b){a=a|0;b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=tn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];Vm(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if(Vm(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=Ul(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];iR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function un(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=vn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;kR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function vn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;Vm(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];Vm(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){kn(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){Zl(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){Zl(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function wn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function xn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=fR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=yn(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=yn(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=yn(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=gR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=fR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=yn(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=El((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(24088,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function An(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=An(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=An(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Bn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Cn(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function Cn(b,e){b=b|0;e=e|0;var 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;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}kR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Mm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Zd(c[(c[h>>2]|0)+8>>2]|0)|0;Nm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Im(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Dn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Mm(c[h>>2]|0,c[o>>2]|0,q);do{Nm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Dn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=Vl(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Dn(c[(c[f>>2]|0)+12>>2]|0);Dn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function En(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Lm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=Vl(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Gn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=Ul(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=fR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=jl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=ue(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(He(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Zd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=jl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Le(c[e>>2]|0,1,0)|0;if((ue(c[e>>2]|0)|0)==100?(He(c[e>>2]|0,0)|0)==4:0)break;h=Zd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function Kn(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,24216,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Nn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,24244,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,24231,0,0,0)|0;break}c[e>>2]=$e(a,24231,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);sm(c[b>>2]|0);i=f;return c[d>>2]|0}function Nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=jl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Le(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Le(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(ue(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=De(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=il(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Zd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}sm(c[d>>2]|0);dl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function On(b,d){b=b|0;d=d|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){ne(c[e>>2]|0,19266,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Dm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Hm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Fe(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Be(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((He(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=wn(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Qn(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,24261,y)|0;c[A>>2]=Rn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);sm(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){re(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{ne(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Km(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Qn(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Qn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=Vl(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Rn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=BQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);iR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Sn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){ne(c[j>>2]|0,19266,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Tn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=Un(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);sm(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){re(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{ne(g,c[F>>2]|0,-1,148);i=G;return}}function Tn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Dm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}kR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Hm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=lR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!((Xn(B)|0)!=0^1))break;g=o;Yn(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function Un(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Fe(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((He(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Be(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=wn(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=Vn(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Rn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Rn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=lR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Rn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Rn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Rn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Rn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Rn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Rn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function Vn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=lR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=lR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=wn(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=hR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function Wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Km(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Qn(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function Xn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);Zn((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);Zn((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);Zn((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function Yn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=lR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=lR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=hR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Qn(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function Zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Qn(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function _n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=jl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(ue(c[f>>2]|0)|0))c[e>>2]=De(c[f>>2]|0,0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function $n(a,b,e){a=a|0;b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=ao(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=jl(c[g>>2]|0,28,y,0)|0;Le(c[y>>2]|0,1,c[h>>2]|0)|0;if((ue(c[y>>2]|0)|0)==100){a=Ee(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=c[h>>2]}else c[v>>2]=-1;c[A>>2]=Zd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=bo(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=qR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=qR(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;kR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=co(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=gR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=eo(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=fo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=ol(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=pl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=go(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=ho(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=io(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=pl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;ko(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=rR(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}lo(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=gR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;tl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}vl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=mo(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=jl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Le(c[g>>2]|0,1,1)|0;if((100==(ue(c[g>>2]|0)|0)?(c[e>>2]=Ae(c[g>>2]|0,0)|0,c[f>>2]=Be(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(no(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){iR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Zd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function bo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=Ul((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=Vl(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=jl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=gR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Me(e,1,l,C)|0;ue(c[h>>2]|0)|0;l=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=jl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Me(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=pR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=gR(m|0,C|0,1,0)|0;m=rR(m|0,C|0,1024,0)|0;Me(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(ue(c[j>>2]|0)|0)){m=(He(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Zd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{kR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=jl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Me(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((ue(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=Ee(c[n>>2]|0,1)|0;d=C;e=Ee(c[n>>2]|0,2)|0;a=C;f=Ee(c[n>>2]|0,3)|0;g=C;h=Ae(c[n>>2]|0,4)|0;m=Be(c[n>>2]|0,4)|0;c[o>>2]=im(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Zd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function go(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=jl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=gR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Me(d,1,g,C)|0;Le(c[G>>2]|0,2,c[l>>2]|0)|0;g=(ue(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Zd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=Ee(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=Ee(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;yl(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=rR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Be(c[G>>2]|0,4)|0;c[v>>2]=Ae(c[G>>2]|0,4)|0;g=q;c[H>>2]=zo(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=am(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=so(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=wo(u)|0}if((to(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;xo(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=fR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=gR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=gR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=gR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;no((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){iR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=so(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=wo(J)|0}no((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(iR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=am(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;no((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){iR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}xo(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Zd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function ho(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=jl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Me(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Me(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(ue(c[r>>2]|0)|0))c[p>>2]=De(c[r>>2]|0,0)|0;c[s>>2]=Zd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=jl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(ue(c[q>>2]|0)|0)){r=Ee(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=fR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=gR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Zd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=zl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=gR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function io(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Gl(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Dl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Dl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Dl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=zl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=yo(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=gR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Dl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Dl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=gR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;no((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=vo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Fl(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=oo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=po(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=qo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function ko(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;no(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=El((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=El((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function lo(b,e,f){b=b|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,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;no(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(El((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=zl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=gR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Bl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=jl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Le(c[e>>2]|0,1,1)|0;Je(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;ue(c[e>>2]|0)|0;c[f>>2]=Zd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=jl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Le(c[h>>2]|0,2,c[g>>2]|0)|0;ue(c[h>>2]|0)|0;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=jl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Me(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(ue(c[x>>2]|0)|0)){c[o>>2]=Ae(c[x>>2]|0,4)|0;c[u>>2]=Be(c[x>>2]|0,4)|0;a=Ee(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=ro(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Zd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=am(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=ro(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=zl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=jl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Me(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Me(z,2,f,C)|0;ue(c[w>>2]|0)|0;c[y>>2]=Zd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=jl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Me(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Je(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Me(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[v>>2]|0,4,c[k>>2]|0)|0;ue(c[v>>2]|0)|0;c[y>>2]=Zd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function qo(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=jl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Me(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(ue(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=De(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Zd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=jl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Me(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Le(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Le(c[o>>2]|0,1,c[k>>2]|0)|0;ue(c[o>>2]|0)|0;c[p>>2]=Zd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function ro(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;no(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=so(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=to(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;uo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=vo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=wo(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;uo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}xo(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function so(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(Ul((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=wo(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=wo(h)|0;i=j;return h|0}return 0}function to(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=vQ(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function uo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(El((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;no(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Gl(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);iR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=El((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=El((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;iR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=El((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;iR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function wo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Vl(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Vl(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;no((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}iR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Vl(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function xo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function yo(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Gl(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Dl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Dl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=zl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=gR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(El(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=gR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(no(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(El((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}no(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);no((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=El((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=El((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;iR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);iR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=jl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Me(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(ue(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Zd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Ao(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(fe(c[c[h>>2]>>2]|0)|0)==5:0)?(fe(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Bo(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);kR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Co(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((fe(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((fe(c[r>>2]|0)|0)!=5){if((fe(c[c[h>>2]>>2]|0)|0)!=5?(f=ee(c[c[h>>2]>>2]|0)|0,u=C,b=ee(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Do(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Eo(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}if((fe(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Do(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Eo(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Fo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Go(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)Ho(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}Io(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=ae(c[l>>2]|0)|0;c[f>>2]=be(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,21373,8)|0):0)c[g>>2]=Nn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,24342,7)|0):0){c[g>>2]=So(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,24350,15)|0):0){c[g>>2]=To(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,24366,6)|0):0){c[g>>2]=Uo(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,24373,10)|0):0){c[g>>2]=Vo(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Co(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=jl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Ne(c[d>>2]|0,1)|0;ue(c[d>>2]|0)|0;c[e>>2]=Zd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Do(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;No(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=Oo(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=Po(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;kR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Qo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Qo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((fe(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fe(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=ee(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=jl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Le(d,k,de(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(fe(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Pe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}ue(c[j>>2]|0)|0;c[l>>2]=Zd(c[j>>2]|0)|0;j=of(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=gl(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Go(a,b,e,f){a=a|0;b=b|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;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Lo(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=be(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Ko(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=jl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Me(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Je(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;ue(c[k>>2]|0)|0;l=Zd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Io(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=jl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Le(c[r>>2]|0,1,0)|0;if((ue(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=Ae(c[r>>2]|0,0)|0;Jo(f,b,a,Be(c[r>>2]|0,0)|0)}else kR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Zd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Ko(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=jl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Le(c[r>>2]|0,1,0)|0;Je(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;ue(c[r>>2]|0)|0;t=Zd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function Jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=Ul((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=El((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=wn(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=Mo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=Mo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=yk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((xn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(fk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function No(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=jl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(ue(h)|0)){c[q>>2]=Ro(c[k>>2]|0,c[r>>2]|0)|0;e=Ee(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Fo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Fe(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Lo(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Be(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Zd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Zd(c[r>>2]|0)|0}else Zd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=jl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(ue(c[h>>2]|0)|0)){d=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Zd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;dl(c[e>>2]|0);if(c[h>>2]|0)Qo(f,c[e>>2]|0,2,0);Qo(f,c[e>>2]|0,3,0);Qo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Qo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Qo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=jl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=De(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function So(b){b=b|0;var 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;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=Po(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(24461,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{kR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(ue(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Ro(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=Ee(c[p>>2]|0,0)|0;c[q>>2]=Fo(b,0,f,g,C)|0;kR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Fe(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Lo(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Be(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)Ho(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Yd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Io(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Yd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function To(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=Yo(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function Uo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=Wo(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=Wo(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))Xo(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=$n(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;sm(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function Vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=Wo(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(Xo(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=jl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Le(c[g>>2]|0,1,2)|0;Le(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;ue(c[g>>2]|0)|0;c[h>>2]=Zd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function Wo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function Xo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;hl(d,b,24384,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function Yo(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=jl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Le(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Le(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(ue(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=De(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=Zo(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Zd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(24461,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(ue(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=Ee(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Ro(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Fe(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Be(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=wn(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=_o(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=_o(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Yd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function Zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=kl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=ol(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){vl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=pl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=Ul(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=Ul(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=fR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=gR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=_o(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=Ul(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=Ul(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=gR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}vl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function _o(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=lR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=gR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=gR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function $o(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Zd(c[(c[e>>2]|0)+8>>2]|0)|0;Nm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Im(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function ap(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Ap(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=ee(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function cp(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=op(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=pp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=qp(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}ap(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;zk(z,24570,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];zk(z,24622,r);z=c[p>>2]|0;i=s;return z|0}function dp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;ep(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];fp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=gp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=gp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);hp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function ep(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);ep(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);ep(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=mp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=lp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}fp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}fp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function gp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=ip(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=jp(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;hn(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=an(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=bn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=kp(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function hp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){hp(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);hp(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=Zm(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Jn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=Ae(c[m>>2]|0,0)|0;b=Be(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=Ul(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=Ul(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Zd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=pR(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=gR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=pR(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Zd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function kp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);Zl(0,j)}j=c[h>>2]|0;i=k;return j|0}function lp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=am(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function mp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=kl(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=kl(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=np(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=kl(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=dm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function op(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=BQ(c[s>>2]|0)|0;c[w>>2]=rp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function pp(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=pp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=pp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){ap(c[e>>2]|0);ap(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else kR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=pp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){ap(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;ap(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}ap(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=qp(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=qp(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function rp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=sp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=tp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;up(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else up(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){ap(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){ap(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){ap(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}ap(c[v>>2]|0);ap(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function sp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(wp(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2068+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(vQ(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(wp(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=tp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=xp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=rp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=BQ(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=yp(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function tp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}kR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=vp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(vp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function vp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function wp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function xp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=wn(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=zp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=zp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;iR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=zp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;kR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){iR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function yp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=wn(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=tp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;iR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Ap(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Bp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Bp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Pm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;hn(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Cp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];el(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Dp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Ep(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return} -function Uv(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;ra=i;i=i+304|0;F=ra+32|0;E=ra+16|0;D=ra;I=ra+288|0;J=ra+284|0;K=ra+280|0;L=ra+276|0;M=ra+272|0;S=ra+268|0;fa=ra+264|0;n=ra+260|0;m=ra+256|0;U=ra+252|0;aa=ra+248|0;Y=ra+244|0;qa=ra+240|0;da=ra+236|0;ba=ra+232|0;ca=ra+228|0;V=ra+224|0;W=ra+220|0;Z=ra+216|0;T=ra+212|0;oa=ra+208|0;Q=ra+204|0;P=ra+200|0;s=ra+180|0;t=ra+176|0;l=ra+172|0;pa=ra+295|0;R=ra+294|0;G=ra+293|0;r=ra+292|0;ea=ra+168|0;ka=ra+164|0;ia=ra+160|0;ma=ra+156|0;la=ra+152|0;na=ra+148|0;ja=ra+144|0;N=ra+140|0;$=ra+136|0;ga=ra+132|0;C=ra+128|0;A=ra+124|0;q=ra+120|0;w=ra+116|0;y=ra+112|0;z=ra+108|0;p=ra+104|0;B=ra+72|0;u=ra+68|0;x=ra+64|0;o=ra+60|0;v=ra+56|0;O=ra+52|0;X=ra+48|0;ha=ra+44|0;_=ra+40|0;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[ca>>2]=0;c[V>>2]=0;c[W>>2]=0;c[Z>>2]=-1;c[oa>>2]=0;c[Q>>2]=0;c[P>>2]=0;a[pa>>0]=0;a[R>>0]=0;c[ea>>2]=0;c[ka>>2]=0;c[ia>>2]=0;c[ma>>2]=0;c[N>>2]=0;c[S>>2]=c[c[I>>2]>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;a:do if((c[(c[I>>2]|0)+68>>2]|0)==0?(d[(c[S>>2]|0)+65>>0]|0)==0:0){if(((c[K>>2]|0)!=0?(e[(c[K>>2]|0)+6>>1]&256|0)!=0:0)?(c[(c[K>>2]|0)+52>>2]|0)==0:0){c[ea>>2]=c[c[K>>2]>>2];c[c[K>>2]>>2]=0;Wu(c[S>>2]|0,c[K>>2]|0);c[K>>2]=0}c[n>>2]=c[(c[J>>2]|0)+8+8>>2];if((((((c[n>>2]|0)!=0?(c[fa>>2]=DB(c[I>>2]|0,c[J>>2]|0)|0,(c[fa>>2]|0)!=0):0)?(c[t>>2]=Dh(c[S>>2]|0,c[(c[fa>>2]|0)+64>>2]|0)|0,c[l>>2]=(c[(c[S>>2]|0)+16>>2]|0)+(c[t>>2]<<4),c[m>>2]=c[c[l>>2]>>2],(Mw(c[I>>2]|0,18,c[c[fa>>2]>>2]|0,0,c[m>>2]|0)|0)==0):0)?(a[G>>0]=((d[(c[fa>>2]|0)+42>>0]&32|0)==0^1)&1,c[ga>>2]=sC(c[I>>2]|0,c[fa>>2]|0,108,0,C)|0,c[$>>2]=(c[(c[fa>>2]|0)+12>>2]|0)!=0&1,(zx(c[I>>2]|0,c[fa>>2]|0)|0)==0):0)?(tC(c[I>>2]|0,c[fa>>2]|0,c[C>>2]|0)|0)==0:0)?(c[qa>>2]=Pw(c[I>>2]|0)|0,(c[qa>>2]|0)!=0):0){if(!(d[(c[I>>2]|0)+18>>0]|0))uC(c[qa>>2]|0);ax(c[I>>2]|0,((c[K>>2]|0)!=0?1:(c[ga>>2]|0)!=0)&1,c[t>>2]|0);if(!((c[L>>2]|0)==0?(vC(c[I>>2]|0,c[fa>>2]|0,c[K>>2]|0,c[M>>2]|0,c[t>>2]|0)|0)!=0:0))H=17;b:do if((H|0)==17){c[ia>>2]=wC(c[I>>2]|0,c[t>>2]|0,c[fa>>2]|0)|0;n=(c[(c[I>>2]|0)+76>>2]|0)+1|0;c[la>>2]=n;c[na>>2]=n;n=(c[I>>2]|0)+76|0;c[n>>2]=(c[n>>2]|0)+((b[(c[fa>>2]|0)+34>>1]|0)+1);if(d[(c[fa>>2]|0)+42>>0]&16){c[na>>2]=(c[na>>2]|0)+1;n=(c[I>>2]|0)+76|0;c[n>>2]=(c[n>>2]|0)+1}c[ja>>2]=(c[na>>2]|0)+1;a[r>>0]=(d[(c[fa>>2]|0)+42>>0]&128|0)==0;c:do if(c[L>>2]|0){c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break;c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)+4>>2]=-1;c[U>>2]=(c[U>>2]|0)+1}c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break c;c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;n=(Td(c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*24|0)>>2]|0)|0)==0;k=c[aa>>2]|0;if(n){H=28;break}c[aa>>2]=k+1}do if((H|0)==28){H=0;c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)+4>>2]=k;if((c[U>>2]|0)!=(c[aa>>2]|0))a[r>>0]=0;if((c[aa>>2]|0)!=(b[(c[fa>>2]|0)+32>>1]|0))break;c[Z>>2]=c[U>>2]}while(0);if((c[aa>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0)){n=(qi(c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)>>2]|0)|0)==0;if(n|(a[G>>0]|0)!=0)break;c[Z>>2]=c[U>>2];a[r>>0]=0}c[U>>2]=(c[U>>2]|0)+1}qa=c[I>>2]|0;pa=c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)>>2]|0;c[D>>2]=c[J>>2];c[D+4>>2]=0;c[D+8>>2]=pa;Ah(qa,35073,D);a[(c[I>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[K>>2]|0)){c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[B+24>>2]=0;c[B+28>>2]=0;c[B>>2]=c[I>>2];c[oa>>2]=-1;if(c[ea>>2]|0){c[ba>>2]=c[c[ea>>2]>>2];if(gy(B,c[ea>>2]|0)|0)break a;else break}else{c[ba>>2]=0;break}}else{B=(c[I>>2]|0)+76|0;D=(c[B>>2]|0)+1|0;c[B>>2]=D;c[A>>2]=D;c[q>>2]=(Bz(c[qa>>2]|0)|0)+1;Vw(c[qa>>2]|0,16,c[A>>2]|0,0,c[q>>2]|0)|0;ZA(s,13,c[A>>2]|0);c[s+8>>2]=(d[r>>0]|0)!=0?c[ja>>2]|0:0;c[s+12>>2]=b[(c[fa>>2]|0)+34>>1];c[w>>2]=Cv(c[I>>2]|0,c[K>>2]|0,s)|0;c[ka>>2]=c[s+8>>2];if(c[w>>2]|0)break a;if(d[(c[S>>2]|0)+65>>0]|0)break a;if(c[(c[I>>2]|0)+68>>2]|0)break a;xC(c[qa>>2]|0,c[A>>2]|0);Fz(c[qa>>2]|0,(c[q>>2]|0)-1|0);c[ba>>2]=c[c[c[K>>2]>>2]>>2];if(!((c[ga>>2]|0)==0?(yC(c[I>>2]|0,c[t>>2]|0,c[fa>>2]|0)|0)==0:0))a[pa>>0]=1;if(!(a[pa>>0]|0))break;B=(c[I>>2]|0)+72|0;D=c[B>>2]|0;c[B>>2]=D+1;c[oa>>2]=D;c[y>>2]=Wz(c[I>>2]|0)|0;c[z>>2]=Wz(c[I>>2]|0)|0;Rw(c[qa>>2]|0,57,c[oa>>2]|0,c[ba>>2]|0)|0;c[p>>2]=xz(c[qa>>2]|0,18,c[s+4>>2]|0)|0;Vw(c[qa>>2]|0,49,c[ka>>2]|0,c[ba>>2]|0,c[y>>2]|0)|0;Rw(c[qa>>2]|0,74,c[oa>>2]|0,c[z>>2]|0)|0;Vw(c[qa>>2]|0,75,c[oa>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Ez(c[qa>>2]|0,c[p>>2]|0)|0;Fz(c[qa>>2]|0,c[p>>2]|0);_z(c[I>>2]|0,c[y>>2]|0);_z(c[I>>2]|0,c[z>>2]|0)}while(0);if((c[L>>2]|0)==0&(c[ba>>2]|0)>0)c[Z>>2]=b[(c[fa>>2]|0)+32>>1];c[U>>2]=0;while(1){if((c[U>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;c[ca>>2]=(c[ca>>2]|0)+((d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);c[U>>2]=(c[U>>2]|0)+1}if((c[L>>2]|0)==0&(c[ba>>2]|0)!=0?(c[ba>>2]|0)!=((b[(c[fa>>2]|0)+34>>1]|0)-(c[ca>>2]|0)|0):0){qa=c[I>>2]|0;oa=(b[(c[fa>>2]|0)+34>>1]|0)-(c[ca>>2]|0)|0;pa=c[ba>>2]|0;c[E>>2]=c[J>>2];c[E+4>>2]=0;c[E+8>>2]=oa;c[E+12>>2]=pa;Ah(qa,35105,E);break a}do if(c[L>>2]|0){if((c[ba>>2]|0)==(c[(c[L>>2]|0)+4>>2]|0))break;qa=c[I>>2]|0;pa=c[(c[L>>2]|0)+4>>2]|0;c[F>>2]=c[ba>>2];c[F+4>>2]=pa;Ah(qa,35157,F);break a}while(0);if(c[(c[S>>2]|0)+24>>2]&128){E=(c[I>>2]|0)+76|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[ma>>2]=F;Rw(c[qa>>2]|0,22,0,c[ma>>2]|0)|0}d:do if(!(c[$>>2]|0)){c[u>>2]=gC(c[I>>2]|0,c[fa>>2]|0,55,0,-1,0,V,W)|0;c[N>>2]=Fw(c[S>>2]|0,(c[u>>2]|0)+1<<2,0)|0;if(!(c[N>>2]|0))break a;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[u>>2]|0))break d;E=(c[I>>2]|0)+76|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[N>>2]|0)+(c[U>>2]<<2)>>2]=F;c[U>>2]=(c[U>>2]|0)+1}}while(0);do if(a[pa>>0]|0){c[Q>>2]=xz(c[qa>>2]|0,108,c[oa>>2]|0)|0;c[P>>2]=Bz(c[qa>>2]|0)|0}else{if(!(c[K>>2]|0))break;F=xz(c[qa>>2]|0,18,c[s+4>>2]|0)|0;c[P>>2]=F;c[Q>>2]=F}while(0);c[T>>2]=Cz(c[qa>>2]|0)|0;if(c[C>>2]&1){c[x>>2]=kA(c[I>>2]|0,(b[(c[fa>>2]|0)+34>>1]|0)+1|0)|0;if((c[Z>>2]|0)<0)Rw(c[qa>>2]|0,22,-1,c[x>>2]|0)|0;else{if(a[pa>>0]|0)Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[Z>>2]|0,c[x>>2]|0)|0;else xA(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[x>>2]|0);c[o>>2]=xz(c[qa>>2]|0,77,c[x>>2]|0)|0;Rw(c[qa>>2]|0,22,-1,c[x>>2]|0)|0;Fz(c[qa>>2]|0,c[o>>2]|0);xz(c[qa>>2]|0,38,c[x>>2]|0)|0}c[aa>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;e:do if(c[L>>2]|0){c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break e;if((c[(c[c[L>>2]>>2]|0)+(c[aa>>2]<<3)+4>>2]|0)==(c[U>>2]|0))break e;c[aa>>2]=(c[aa>>2]|0)+1}}while(0);do if((a[pa>>0]|0)!=0|(c[ea>>2]|0)!=0){if((c[L>>2]|0)!=0?(c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0){H=90;break}if(a[pa>>0]|0){Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[aa>>2]|0,(c[x>>2]|0)+(c[U>>2]|0)+1|0)|0;break}else{zC(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*20|0)>>2]|0,(c[x>>2]|0)+(c[U>>2]|0)+1|0);break}}else H=90;while(0);if((H|0)==90){H=0;xA(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+4>>2]|0,(c[x>>2]|0)+(c[U>>2]|0)+1|0)}if(!(c[L>>2]|0))c[aa>>2]=(c[aa>>2]|0)+1;c[U>>2]=(c[U>>2]|0)+1}if(!(c[$>>2]|0))AC(c[qa>>2]|0,c[fa>>2]|0,(c[x>>2]|0)+1|0);BC(c[I>>2]|0,c[ga>>2]|0,108,0,1,c[fa>>2]|0,(c[x>>2]|0)-(b[(c[fa>>2]|0)+34>>1]|0)-1|0,c[M>>2]|0,c[T>>2]|0);nA(c[I>>2]|0,c[x>>2]|0,(b[(c[fa>>2]|0)+34>>1]|0)+1|0)}do if(!(c[$>>2]|0)){if(d[(c[fa>>2]|0)+42>>0]&16)Rw(c[qa>>2]|0,25,0,c[la>>2]|0)|0;f:do if((c[Z>>2]|0)>=0){do if(a[pa>>0]|0)Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[Z>>2]|0,c[na>>2]|0)|0;else{if(c[K>>2]|0){Rw(c[qa>>2]|0,30,(c[ka>>2]|0)+(c[Z>>2]|0)|0,c[na>>2]|0)|0;break}xA(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[na>>2]|0);c[v>>2]=Mz(c[qa>>2]|0,-1)|0;if(!(c[v>>2]|0))break;if((d[c[v>>2]>>0]|0)!=25)break;if(d[(c[fa>>2]|0)+42>>0]&16)break;a[R>>0]=1;a[c[v>>2]>>0]=74;c[(c[v>>2]|0)+4>>2]=c[V>>2];c[(c[v>>2]|0)+8>>2]=c[na>>2];c[(c[v>>2]|0)+12>>2]=c[ia>>2]}while(0);if(a[R>>0]|0)break;k=c[qa>>2]|0;if(d[(c[fa>>2]|0)+42>>0]&16){c[O>>2]=Bz(k)|0;Rw(c[qa>>2]|0,76,c[na>>2]|0,(c[O>>2]|0)+2|0)|0}else{c[O>>2]=xz(k,77,c[na>>2]|0)|0;Vw(c[qa>>2]|0,74,c[V>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;Fz(c[qa>>2]|0,c[O>>2]|0)}xz(c[qa>>2]|0,38,c[na>>2]|0)|0}else{do if(!(d[(c[fa>>2]|0)+42>>0]&16)){if(d[G>>0]|0)break;Vw(c[qa>>2]|0,74,c[V>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;a[R>>0]=1;break f}while(0);Rw(c[qa>>2]|0,25,0,c[na>>2]|0)|0}while(0);CC(c[I>>2]|0,c[ia>>2]|0,c[na>>2]|0);c[ca>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;c[X>>2]=(c[na>>2]|0)+1+(c[U>>2]|0);g:do if((c[U>>2]|0)==(b[(c[fa>>2]|0)+32>>1]|0))xz(c[qa>>2]|0,26,c[X>>2]|0)|0;else{h:do if(!(c[L>>2]|0))if(d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+23>>0]&2){c[aa>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1;break}else{c[aa>>2]=(c[U>>2]|0)-(c[ca>>2]|0);break}else{c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break h;if((c[(c[c[L>>2]>>2]|0)+(c[aa>>2]<<3)+4>>2]|0)==(c[U>>2]|0))break h;c[aa>>2]=(c[aa>>2]|0)+1}}while(0);do if(!((c[aa>>2]|0)<0|(c[ba>>2]|0)==0)){if((c[L>>2]|0)!=0?(c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0)break;if(a[pa>>0]|0){Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[aa>>2]|0,c[X>>2]|0)|0;break g}if(!(c[K>>2]|0)){xA(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*20|0)>>2]|0,c[X>>2]|0);break g}if((c[ka>>2]|0)==(c[ja>>2]|0))break g;Rw(c[qa>>2]|0,31,(c[ka>>2]|0)+(c[aa>>2]|0)|0,c[X>>2]|0)|0;break g}while(0);DC(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+4>>2]|0,c[X>>2]|0)}while(0);c[U>>2]=(c[U>>2]|0)+1}if(d[(c[fa>>2]|0)+42>>0]&16){c[ha>>2]=Ax(c[S>>2]|0,c[fa>>2]|0)|0;EC(c[I>>2]|0,c[fa>>2]|0);Uw(c[qa>>2]|0,12,1,(b[(c[fa>>2]|0)+34>>1]|0)+2|0,c[la>>2]|0,c[ha>>2]|0,-10)|0;Fh(c[qa>>2]|0,((c[M>>2]|0)==10?2:c[M>>2]|0)&255);Bx(c[I>>2]|0);break}else{FC(c[I>>2]|0,c[fa>>2]|0,c[N>>2]|0,c[V>>2]|0,c[W>>2]|0,c[la>>2]|0,0,(c[Z>>2]|0)>=0&255,c[M>>2]&255,c[T>>2]|0,_,0);GC(c[I>>2]|0,c[fa>>2]|0,0,c[la>>2]|0,0,0);HC(c[I>>2]|0,c[fa>>2]|0,c[V>>2]|0,c[W>>2]|0,c[la>>2]|0,c[N>>2]|0,0,d[R>>0]|0,(c[_>>2]|0)==0&1);break}}while(0);if(c[(c[S>>2]|0)+24>>2]&128)Rw(c[qa>>2]|0,37,c[ma>>2]|0,1)|0;if(c[ga>>2]|0)BC(c[I>>2]|0,c[ga>>2]|0,108,0,2,c[fa>>2]|0,(c[ja>>2]|0)-2-(b[(c[fa>>2]|0)+34>>1]|0)|0,c[M>>2]|0,c[T>>2]|0);Gz(c[qa>>2]|0,c[T>>2]|0);do if(a[pa>>0]|0){Rw(c[qa>>2]|0,7,c[oa>>2]|0,c[P>>2]|0)|0;Fz(c[qa>>2]|0,c[Q>>2]|0);xz(c[qa>>2]|0,61,c[oa>>2]|0)|0}else{if(!(c[K>>2]|0))break;Ez(c[qa>>2]|0,c[P>>2]|0)|0;Fz(c[qa>>2]|0,c[Q>>2]|0)}while(0);if((c[$>>2]|0)!=0?1:(d[(c[fa>>2]|0)+42>>0]&16|0)!=0)break;if((c[V>>2]|0)<(c[W>>2]|0))xz(c[qa>>2]|0,61,c[V>>2]|0)|0;c[Y>>2]=0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break b;xz(c[qa>>2]|0,61,(c[Y>>2]|0)+(c[W>>2]|0)|0)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2];c[Y>>2]=(c[Y>>2]|0)+1}}while(0);if((d[(c[I>>2]|0)+18>>0]|0)==0?(c[(c[I>>2]|0)+420>>2]|0)==0:0)IC(c[I>>2]|0);if(((c[(c[S>>2]|0)+24>>2]&128|0)!=0?(a[(c[I>>2]|0)+18>>0]|0)==0:0)?(c[(c[I>>2]|0)+420>>2]|0)==0:0){Rw(c[qa>>2]|0,33,c[ma>>2]|0,1)|0;OB(c[qa>>2]|0,1);PB(c[qa>>2]|0,0,0,35182,0)|0}}}while(0);Yu(c[S>>2]|0,c[J>>2]|0);Vu(c[S>>2]|0,c[ea>>2]|0);Wu(c[S>>2]|0,c[K>>2]|0);_u(c[S>>2]|0,c[L>>2]|0);Sf(c[S>>2]|0,c[N>>2]|0);i=ra;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=ph(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=rC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){_u(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Dw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function Xv(d,e){d=d|0;e=e|0;var 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;t=i;i=i+64|0;p=t+16|0;o=t+8|0;f=t+44|0;g=t+40|0;k=t+36|0;r=t+32|0;q=t+50|0;n=t+28|0;l=t;j=t+24|0;m=t+48|0;h=t+20|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=If(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(Hi((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+88+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+88+36>>2];Ah(s,35007,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=b[(c[f>>2]|0)+444>>1]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))b[(c[f>>2]|0)+444>>1]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+448>>2]|0))break;if((c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(yQ(c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+444|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+448>>2]|0)){c[h>>2]=Ew(c[k>>2]|0,c[(c[f>>2]|0)+476>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+476>>2]=c[h>>2];kR((c[h>>2]|0)+(c[(c[f>>2]|0)+448>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+448>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+448>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Sf(c[k>>2]|0,c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Iw(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+444|0;s=(b[r>>1]|0)+1<<16>>16;b[r>>1]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+68>>2]|0){i=t;return}if((b[(c[f>>2]|0)+444>>1]|0)<=(c[(c[k>>2]|0)+88+36>>2]|0)){i=t;return}Ah(c[f>>2]|0,35050,p);i=t;return}function Yv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=cz(c[c[f>>2]>>2]|0,95,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=cz(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){Vu(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];dw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function _v(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=rv(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,c[c[j>>2]>>2]|0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=rv(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function aw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=rv(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);i=g;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];Zu(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function cw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[j>>2]=e;c[k>>2]=f;f=rv(c[m>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+68>>2]|0){i=f;return}ez(c[e>>2]|0);Ey(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function ew(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Gv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+140+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Ah(p,34967,l)}Hv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function fw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+65>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}if(pz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}c[h>>2]=Fj(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)zB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Ah(f,34757,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Ah(t,34775,l);s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}c[g>>2]=Dh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?20769:20788;if(Mw(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(Mw(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}c[k>>2]=Pw(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}ax(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?20769:20788;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;Ow(t,34848,m);pC(c[p>>2]|0,c[g>>2]|0,31725,c[c[h>>2]>>2]|0);Qw(c[p>>2]|0,c[g>>2]|0);qC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);Uw(c[k>>2]|0,126,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Pw(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}Rw(c[b>>2]|0,10,0,0)|0;Hh(c[b>>2]|0,0);i=d;return}function hw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0;ac=i;i=i+800|0;Ia=ac+264|0;Sb=ac+256|0;Rb=ac+248|0;db=ac+240|0;Aa=ac+208|0;za=ac+200|0;ya=ac+184|0;xa=ac+160|0;Qb=ac+144|0;Pb=ac+128|0;wa=ac+112|0;va=ac+96|0;cb=ac+72|0;ua=ac+64|0;ta=ac+56|0;sa=ac+48|0;r=ac+40|0;p=ac+32|0;Xb=ac+792|0;l=ac+788|0;s=ac+784|0;n=ac+780|0;o=ac+776|0;_b=ac+772|0;$b=ac+768|0;fb=ac+764|0;m=ac+760|0;q=ac+744|0;Wb=ac+736|0;X=ac+732|0;ra=ac+728|0;Y=ac+724|0;la=ac+720|0;Zb=ac+716|0;Fa=ac+712|0;Yb=ac+708|0;Hb=ac+704|0;v=ac+700|0;na=ac+696|0;$=ac+692|0;Ga=ac+688|0;aa=ac+684|0;B=ac+680|0;T=ac+676|0;Pa=ac+672|0;Da=ac+668|0;E=ac+664|0;ga=ac+660|0;U=ac+656|0;F=ac+652|0;V=ac+648|0;Ba=ac+644|0;Z=ac+640|0;ha=ac+636|0;R=ac+24|0;ba=ac+632|0;D=ac+628|0;y=ac+624|0;N=ac+620|0;S=ac+616|0;z=ac+612|0;oa=ac+608|0;pa=ac+604|0;qa=ac+16|0;ma=ac+600|0;Q=ac+596|0;Ea=ac+592|0;Za=ac+588|0;Ma=ac+584|0;Ra=ac+580|0;Ta=ac+576|0;Ua=ac+572|0;Ya=ac+568|0;ea=ac+564|0;H=ac+560|0;ia=ac+556|0;Db=ac+552|0;Jb=ac+548|0;lb=ac+544|0;Bb=ac+540|0;kb=ac+796|0;fa=ac+536|0;ja=ac+532|0;I=ac+528|0;A=ac+516|0;J=ac+512|0;K=ac+508|0;_=ac+504|0;ca=ac+500|0;da=ac+496|0;ka=ac+492|0;L=ac+488|0;W=ac+484|0;Va=ac+480|0;_a=ac+476|0;Xa=ac+472|0;Wa=ac+468|0;Na=ac+464|0;Qa=ac+460|0;Sa=ac+456|0;eb=ac+452|0;ab=ac+448|0;$a=ac+444|0;bb=ac+440|0;Ka=ac+436|0;Ja=ac+432|0;La=ac+428|0;Oa=ac+424|0;mb=ac+420|0;rb=ac+416|0;hb=ac+412|0;Cb=ac+408|0;qb=ac+404|0;Tb=ac+400|0;Mb=ac+396|0;jb=ac+392|0;Kb=ac+388|0;Eb=ac+384|0;Lb=ac+380|0;Fb=ac+376|0;Gb=ac+372|0;Ib=ac+368|0;Ab=ac+364|0;ob=ac+360|0;pb=ac+356|0;Nb=ac+352|0;Ub=ac+348|0;sb=ac+344|0;ub=ac+340|0;tb=ac+336|0;vb=ac+332|0;wb=ac+328|0;xb=ac+324|0;ib=ac+320|0;Ob=ac+316|0;yb=ac+312|0;zb=ac+308|0;nb=ac+304|0;gb=ac+300|0;Ha=ac+296|0;P=ac+292|0;w=ac+288|0;x=ac+284|0;M=ac+280|0;Ca=ac+276|0;O=ac+272|0;G=ac+268|0;t=ac+8|0;u=ac;c[Xb>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[_b>>2]=0;c[$b>>2]=0;c[fb>>2]=0;c[Y>>2]=0;c[Zb>>2]=c[c[Xb>>2]>>2];c[Yb>>2]=Pw(c[Xb>>2]|0)|0;if(!(c[Yb>>2]|0)){i=ac;return}KB(c[Yb>>2]|0);c[(c[Xb>>2]|0)+76>>2]=2;c[Wb>>2]=tz(c[Xb>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[Wb>>2]|0)<0){i=ac;return}c[Fa>>2]=(c[(c[Zb>>2]|0)+16>>2]|0)+(c[Wb>>2]<<4);if((c[Wb>>2]|0)==1?(cx(c[Xb>>2]|0)|0)!=0:0){i=ac;return}c[_b>>2]=Dw(c[Zb>>2]|0,c[m>>2]|0)|0;if(!(c[_b>>2]|0)){i=ac;return}k=c[Zb>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[$b>>2]=Bh(k,32915,p)|0}else c[$b>>2]=Dw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Fa>>2]>>2]|0;else l=0;c[fb>>2]=l;a:do if(!(Mw(c[Xb>>2]|0,19,c[_b>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[_b>>2];c[q+8>>2]=c[$b>>2];c[q+12>>2]=0;c[(c[Zb>>2]|0)+448+8>>2]=0;c[la>>2]=Ff(c[Zb>>2]|0,c[fb>>2]|0,14,q)|0;if(!(c[la>>2]|0)){LB(c[Yb>>2]|0,32919,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[la>>2]|0)!=12){if(c[q>>2]|0){Yb=c[Xb>>2]|0;c[r>>2]=c[q>>2];Ah(Yb,19255,r);Kd(c[q>>2]|0)}Yb=(c[Xb>>2]|0)+68|0;c[Yb>>2]=(c[Yb>>2]|0)+1;c[(c[Xb>>2]|0)+12>>2]=c[la>>2];break}c[X>>2]=0;c[ra>>2]=57;while(1){if((c[X>>2]|0)>(c[ra>>2]|0))break;c[Y>>2]=((c[X>>2]|0)+(c[ra>>2]|0)|0)/2|0;c[la>>2]=Td(c[_b>>2]|0,c[5312+((c[Y>>2]|0)*12|0)>>2]|0)|0;if(!(c[la>>2]|0))break;l=c[Y>>2]|0;if((c[la>>2]|0)<0){c[ra>>2]=l-1;continue}else{c[X>>2]=l+1;continue}}if((c[X>>2]|0)<=(c[ra>>2]|0)){c[Hb>>2]=5312+((c[Y>>2]|0)*12|0);if((d[(c[Hb>>2]|0)+5>>0]&1|0)!=0?(pz(c[Xb>>2]|0)|0)!=0:0)break;do switch(d[(c[Hb>>2]|0)+4>>0]|0){case 11:{Hh(c[Yb>>2]|0,c[Wb>>2]|0);if(c[$b>>2]|0){c[na>>2]=yj(Ki(c[$b>>2]|0)|0)|0;ax(c[Xb>>2]|0,0,c[Wb>>2]|0);Vw(c[Yb>>2]|0,52,c[Wb>>2]|0,3,c[na>>2]|0)|0;c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];zj(c[(c[Fa>>2]|0)+4>>2]|0,c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{MB(c[Yb>>2]|0,32926);Xb=(c[Xb>>2]|0)+76|0;c[Xb>>2]=(c[Xb>>2]|0)+2;c[v>>2]=Gh(c[Yb>>2]|0,9,32937,0)|0;c[(c[v>>2]|0)+4>>2]=c[Wb>>2];c[(c[v>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[v>>2]|0)+120+4>>2]=2e3;break a}}case 25:{c[$>>2]=c[(c[Fa>>2]|0)+4>>2];if(c[$b>>2]|0){Yb=Ki(c[$b>>2]|0)|0;c[(c[Zb>>2]|0)+72>>2]=Yb;if(7!=(xi(c[$>>2]|0,c[(c[Zb>>2]|0)+72>>2]|0,-1,0)|0))break a;jh(c[Zb>>2]|0);break a}if(c[$>>2]|0)l=pg(c[$>>2]|0)|0;else l=0;c[Ga>>2]=l;Xb=c[Ga>>2]|0;NB(c[Yb>>2]|0,32973,Xb,((Xb|0)<0)<<31>>31);break a}case 26:{c[aa>>2]=c[(c[Fa>>2]|0)+4>>2];c[B>>2]=-1;if(c[$b>>2]|0)c[B>>2]=(Bi(c[$b>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break b;vB(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);c[B>>2]=vB(c[aa>>2]|0,c[B>>2]|0)|0;Xb=c[B>>2]|0;NB(c[Yb>>2]|0,32983,Xb,((Xb|0)<0)<<31>>31);break a}case 23:{bx(c[Xb>>2]|0,c[Wb>>2]|0);l=(c[Xb>>2]|0)+76|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Pa>>2]=m;m=c[Yb>>2]|0;l=c[Wb>>2]|0;k=c[Pa>>2]|0;if((d[18477+(d[c[_b>>2]>>0]|0)>>0]|0)==112)Rw(m,156,l,k)|0;else Vw(m,157,l,k,yj(Ki(c[$b>>2]|0)|0)|0)|0;Rw(c[Yb>>2]|0,33,c[Pa>>2]|0,1)|0;OB(c[Yb>>2]|0,1);PB(c[Yb>>2]|0,0,0,c[_b>>2]|0,-1)|0;break a}case 22:{c[Da>>2]=32997;c[E>>2]=QB(c[$b>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[Zb>>2]|0)+67>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[U>>2]=2;while(1){if((c[U>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break;c[ga>>2]=Of(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0)|0;uB(c[ga>>2]|0,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+1}a[(c[Zb>>2]|0)+67>>0]=c[E>>2]}c[ga>>2]=Of(c[(c[Fa>>2]|0)+4>>2]|0)|0;c[E>>2]=uB(c[ga>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Da>>2]=33004;LB(c[Yb>>2]|0,33014,c[Da>>2]|0);break a}case 19:{MB(c[Yb>>2]|0,33027);if(c[$b>>2]|0){c[Z>>2]=If(c[$b>>2]|0)|0;c[F>>2]=0;while(1){Xb=RB(c[F>>2]|0)|0;c[Ba>>2]=Xb;if(!Xb)break;if(!(zd(c[$b>>2]|0,c[Ba>>2]|0,c[Z>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Ba>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[Wb>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[V>>2]=(c[(c[Zb>>2]|0)+20>>2]|0)-1;while(1){if((c[V>>2]|0)<0)break;do if(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[V>>2]<<4)+4>>2]|0){if((c[V>>2]|0)!=(c[Wb>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Hh(c[Yb>>2]|0,c[V>>2]|0);Vw(c[Yb>>2]|0,9,c[V>>2]|0,1,c[F>>2]|0)|0}while(0);c[V>>2]=(c[V>>2]|0)+-1}Rw(c[Yb>>2]|0,33,1,1)|0;break a}case 20:{c[ha>>2]=Of(c[(c[Fa>>2]|0)+4>>2]|0)|0;Xb=R;c[Xb>>2]=-2;c[Xb+4>>2]=-1;if((c[$b>>2]|0)!=0?(Ci(c[$b>>2]|0,R)|0,Xb=R,Wb=c[Xb+4>>2]|0,(Wb|0)<-1|(Wb|0)==-1&(c[Xb>>2]|0)>>>0<4294967295):0){Xb=R;c[Xb>>2]=-1;c[Xb+4>>2]=-1}Wb=R;Wb=SB(c[ha>>2]|0,c[Wb>>2]|0,c[Wb+4>>2]|0)|0;Xb=R;c[Xb>>2]=Wb;c[Xb+4>>2]=C;Xb=R;NB(c[Yb>>2]|0,33040,c[Xb>>2]|0,c[Xb+4>>2]|0);break a}case 1:{c[ba>>2]=c[(c[Fa>>2]|0)+4>>2];if(!(c[$b>>2]|0)){Xb=c[Yb>>2]|0;Yb=TB(c[ba>>2]|0)|0;NB(Xb,33059,Yb,((Yb|0)<0)<<31>>31);break a}c[D>>2]=UB(c[$b>>2]|0)|0;a[(c[Zb>>2]|0)+68>>0]=c[D>>2];c[la>>2]=VB(c[ba>>2]|0,c[D>>2]|0)|0;if(c[la>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[N>>2]=Bz(c[Yb>>2]|0)|0;c[y>>2]=Gh(c[Yb>>2]|0,5,33071,0)|0;c[(c[y>>2]|0)+4>>2]=c[Wb>>2];c[(c[y>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[y>>2]|0)+40+8>>2]=(c[N>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[Wb>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Hh(c[Yb>>2]|0,c[Wb>>2]|0);break a}case 15:{if(!((c[$b>>2]|0)!=0?(Vb=(Li(c[$b>>2]|0,S)|0)==0,!(Vb|(c[S>>2]|0)<=0)):0))c[S>>2]=2147483647;ax(c[Xb>>2]|0,0,c[Wb>>2]|0);Rw(c[Yb>>2]|0,22,c[S>>2]|0,1)|0;c[z>>2]=xz(c[Yb>>2]|0,146,c[Wb>>2]|0)|0;xz(c[Yb>>2]|0,33,1)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Rw(c[Yb>>2]|0,138,1,c[z>>2]|0)|0;Fz(c[Yb>>2]|0,c[z>>2]|0);break a}case 4:if(c[$b>>2]|0){c[oa>>2]=Ki(c[$b>>2]|0)|0;c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]=c[oa>>2];zj(c[(c[Fa>>2]|0)+4>>2]|0,c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Xb=c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]|0;NB(c[Yb>>2]|0,32926,Xb,((Xb|0)<0)<<31>>31);break a}case 5:{if(!(c[$b>>2]|0)){k=c[Yb>>2]|0;if(!(c[(c[Zb>>2]|0)+24>>2]&32))l=0;else l=WB(c[(c[Fa>>2]|0)+4>>2]|0,0)|0;NB(k,33091,l,((l|0)<0)<<31>>31);break a}c[pa>>2]=1;if(Li(c[$b>>2]|0,pa)|0)WB(c[(c[Fa>>2]|0)+4>>2]|0,c[pa>>2]|0)|0;Yb=(Bi(c[$b>>2]|0,(c[pa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[Zb>>2]|0)+24|0;k=c[l>>2]|0;if(Yb)c[l>>2]=k|32;else c[l>>2]=k&-33;XB(c[Zb>>2]|0);break a}case 24:{Wb=qa;c[Wb>>2]=0;c[Wb+4>>2]=0;c[la>>2]=0;if(!(c[la>>2]|0)){Xb=qa;NB(c[Yb>>2]|0,33103,c[Xb>>2]|0,c[Xb+4>>2]|0);break a}if((c[la>>2]|0)==12)break a;Yb=(c[Xb>>2]|0)+68|0;c[Yb>>2]=(c[Yb>>2]|0)+1;c[(c[Xb>>2]|0)+12>>2]=c[la>>2];break a}case 32:if(c[$b>>2]|0){YB(c[Xb>>2]|0,c[$b>>2]|0)|0;break a}else{NB(c[Yb>>2]|0,33113,d[(c[Zb>>2]|0)+64>>0]|0,0);break a}case 33:{if(!(c[$b>>2]|0)){LB(c[Yb>>2]|0,33124,c[241]|0);break a}if((a[c[$b>>2]>>0]|0)!=0?(c[la>>2]=Nr(c[c[Zb>>2]>>2]|0,c[$b>>2]|0,1,ma)|0,(c[la>>2]|0)!=0|(c[ma>>2]|0)==0):0){Ah(c[Xb>>2]|0,33145,sa);break a}if((d[(c[Zb>>2]|0)+64>>0]|0)<=1)ZB(c[Xb>>2]|0)|0;Kd(c[241]|0);if(a[c[$b>>2]>>0]|0){c[ta>>2]=c[$b>>2];c[241]=Od(19255,ta)|0;break a}else{c[241]=0;break a}}case 30:{if(!(c[$b>>2]|0)){Xb=(d[(c[Fa>>2]|0)+8>>0]|0)-1|0;NB(c[Yb>>2]|0,33170,Xb,((Xb|0)<0)<<31>>31);break a}if(a[(c[Zb>>2]|0)+63>>0]|0){Yb=((Ji(c[$b>>2]|0,0,1)|0)&255)+1&7;c[Q>>2]=Yb;c[Q>>2]=(c[Q>>2]|0)==0?1:Yb;a[(c[Fa>>2]|0)+8>>0]=c[Q>>2];XB(c[Zb>>2]|0);break a}else{Ah(c[Xb>>2]|0,33182,ua);break a}}case 2:{if(!(c[$b>>2]|0)){Xb=(c[(c[Zb>>2]|0)+24>>2]&c[(c[Hb>>2]|0)+8>>2]|0)!=0&1;NB(c[Yb>>2]|0,c[c[Hb>>2]>>2]|0,Xb,((Xb|0)<0)<<31>>31);break a}c[Ea>>2]=c[(c[Hb>>2]|0)+8>>2];if(!(d[(c[Zb>>2]|0)+63>>0]|0))c[Ea>>2]=c[Ea>>2]&-524289;Xb=(Bi(c[$b>>2]|0,0)|0)<<24>>24!=0;l=c[Ea>>2]|0;if(!Xb){Xb=(c[Zb>>2]|0)+24|0;c[Xb>>2]=c[Xb>>2]&~l;if((c[Ea>>2]|0)==16777216){Xb=(c[Zb>>2]|0)+520|0;c[Xb>>2]=0;c[Xb+4>>2]=0}}else{Xb=(c[Zb>>2]|0)+24|0;c[Xb>>2]=c[Xb>>2]|l}Rw(c[Yb>>2]|0,147,0,0)|0;XB(c[Zb>>2]|0);break a}case 31:{if(!(c[$b>>2]|0))break a;c[Za>>2]=pi(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[Za>>2]|0))break a;c[Ta>>2]=0;c[Ya>>2]=Ej(c[Za>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=6;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,6,6008);zx(c[Xb>>2]|0,c[Za>>2]|0)|0;c[Ma>>2]=0;c[Ua>>2]=c[(c[Za>>2]|0)+4>>2];while(1){if((c[Ma>>2]|0)>=(b[(c[Za>>2]|0)+34>>1]|0))break a;if(d[(c[Ua>>2]|0)+23>>0]&2)c[Ta>>2]=(c[Ta>>2]|0)+1;else{c:do if(!(d[(c[Ua>>2]|0)+23>>0]&1))c[Ra>>2]=0;else{Xb=(c[Ya>>2]|0)==0;c[Ra>>2]=1;if(Xb)break;while(1){if((c[Ra>>2]|0)>(b[(c[Za>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Ya>>2]|0)+4>>2]|0)+((c[Ra>>2]|0)-1<<1)>>1]|0)==(c[Ma>>2]|0))break c;c[Ra>>2]=(c[Ra>>2]|0)+1}}while(0);l=c[Yb>>2]|0;k=c[c[Ua>>2]>>2]|0;if(c[(c[Ua>>2]|0)+12>>2]|0)m=c[(c[Ua>>2]|0)+12>>2]|0;else m=19266;Vb=(d[(c[Ua>>2]|0)+20>>0]|0)!=0?1:0;Wb=c[(c[Ua>>2]|0)+8>>2]|0;Xb=c[Ra>>2]|0;c[cb>>2]=(c[Ma>>2]|0)-(c[Ta>>2]|0);c[cb+4>>2]=k;c[cb+8>>2]=m;c[cb+12>>2]=Vb;c[cb+16>>2]=Wb;c[cb+20>>2]=Xb;$B(l,1,33235,cb);Rw(c[Yb>>2]|0,33,1,6)|0}c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ua>>2]=(c[Ua>>2]|0)+24}}case 29:{c[Yb>>2]=Pw(c[Xb>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=4;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,4,6032);c[H>>2]=c[(c[(c[Fa>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ia>>2]=c[(c[H>>2]|0)+8>>2];Xb=c[Yb>>2]|0;Ub=c[c[ia>>2]>>2]|0;Vb=aC(b[(c[ia>>2]|0)+40>>1]|0)|0;Wb=aC(b[(c[ia>>2]|0)+38>>1]|0)|0;c[va>>2]=Ub;c[va+4>>2]=0;c[va+8>>2]=Vb;c[va+12>>2]=Wb;$B(Xb,1,33242,va);Rw(c[Yb>>2]|0,33,1,4)|0;c[ea>>2]=c[(c[ia>>2]|0)+8>>2];while(1){if(!(c[ea>>2]|0))break;Xb=c[Yb>>2]|0;Ub=c[c[ea>>2]>>2]|0;Vb=aC(b[(c[ea>>2]|0)+48>>1]|0)|0;Wb=aC(b[c[(c[ea>>2]|0)+8>>2]>>1]|0)|0;c[wa>>2]=Ub;c[wa+4>>2]=Vb;c[wa+8>>2]=Wb;$B(Xb,2,33247,wa);Rw(c[Yb>>2]|0,33,1,4)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[$b>>2]|0))break a;c[Db>>2]=Fj(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[Db>>2]|0))break a;l=c[Db>>2]|0;if(c[(c[Hb>>2]|0)+8>>2]|0){c[Bb>>2]=e[l+52>>1];c[(c[Xb>>2]|0)+76>>2]=6}else{c[Bb>>2]=e[l+50>>1];c[(c[Xb>>2]|0)+76>>2]=3}c[Jb>>2]=c[(c[Db>>2]|0)+12>>2];bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,c[(c[Xb>>2]|0)+76>>2]|0,6048);c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[Bb>>2]|0))break a;b[kb>>1]=b[(c[(c[Db>>2]|0)+4>>2]|0)+(c[lb>>2]<<1)>>1]|0;l=c[Yb>>2]|0;k=b[kb>>1]|0;if((b[kb>>1]|0)<0)m=0;else m=c[(c[(c[Jb>>2]|0)+4>>2]|0)+((b[kb>>1]|0)*24|0)>>2]|0;c[Pb>>2]=c[lb>>2];c[Pb+4>>2]=k;c[Pb+8>>2]=m;$B(l,1,33251,Pb);if(c[(c[Hb>>2]|0)+8>>2]|0){Wb=c[Yb>>2]|0;Ub=c[(c[(c[Db>>2]|0)+32>>2]|0)+(c[lb>>2]<<2)>>2]|0;Vb=(c[lb>>2]|0)<(e[(c[Db>>2]|0)+50>>1]|0)&1;c[Qb>>2]=d[(c[(c[Db>>2]|0)+28>>2]|0)+(c[lb>>2]|0)>>0];c[Qb+4>>2]=Ub;c[Qb+8>>2]=Vb;$B(Wb,4,33255,Qb)}Rw(c[Yb>>2]|0,33,1,c[(c[Xb>>2]|0)+76>>2]|0)|0;c[lb>>2]=(c[lb>>2]|0)+1}}case 17:{if(!(c[$b>>2]|0))break a;c[ja>>2]=pi(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[Yb>>2]=Pw(c[Xb>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=5;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,5,6072);c[fa>>2]=c[(c[ja>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[fa>>2]|0))break a;c[A>>2]=c[1523];c[A+4>>2]=c[1524];c[A+8>>2]=c[1525];Xb=c[Yb>>2]|0;Tb=c[c[fa>>2]>>2]|0;Ub=(d[(c[fa>>2]|0)+54>>0]|0)!=0&1;Vb=c[A+((a[(c[fa>>2]|0)+55>>0]&3)<<2)>>2]|0;Wb=(c[(c[fa>>2]|0)+36>>2]|0)!=0&1;c[xa>>2]=c[I>>2];c[xa+4>>2]=Tb;c[xa+8>>2]=Ub;c[xa+12>>2]=Vb;c[xa+16>>2]=Wb;$B(Xb,1,33259,xa);Rw(c[Yb>>2]|0,33,1,5)|0;c[fa>>2]=c[(c[fa>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[Xb>>2]|0)+76>>2]=3;_B(c[Yb>>2]|0,3,6104);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break a;if(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){Xb=c[Yb>>2]|0;Ub=c[J>>2]|0;Vb=c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;Wb=Di(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[ya>>2]=Ub;c[ya+4>>2]=Vb;c[ya+8>>2]=Wb;$B(Xb,1,33265,ya);Rw(c[Yb>>2]|0,33,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[Xb>>2]|0)+76>>2]=2;_B(c[Yb>>2]|0,2,6116);c[_>>2]=c[(c[Zb>>2]|0)+432+8>>2];while(1){if(!(c[_>>2]|0))break a;c[ca>>2]=c[(c[_>>2]|0)+8>>2];Xb=c[Yb>>2]|0;Vb=c[K>>2]|0;c[K>>2]=Vb+1;Wb=c[c[ca>>2]>>2]|0;c[za>>2]=Vb;c[za+4>>2]=Wb;$B(Xb,1,33269,za);Rw(c[Yb>>2]|0,33,1,2)|0;c[_>>2]=c[c[_>>2]>>2]}}case 14:{if(!(c[$b>>2]|0))break a;c[ka>>2]=pi(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[ka>>2]|0))break a;c[Yb>>2]=Pw(c[Xb>>2]|0)|0;c[da>>2]=c[(c[ka>>2]|0)+16>>2];if(!(c[da>>2]|0))break a;c[L>>2]=0;c[(c[Xb>>2]|0)+76>>2]=8;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,8,6124);while(1){if(!(c[da>>2]|0))break a;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[(c[da>>2]|0)+20>>2]|0))break;Xb=c[Yb>>2]|0;Qb=c[L>>2]|0;Rb=c[W>>2]|0;Sb=c[(c[da>>2]|0)+8>>2]|0;Tb=c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[(c[da>>2]|0)+36+(c[W>>2]<<3)>>2]|0)*24|0)>>2]|0;Ub=c[(c[da>>2]|0)+36+(c[W>>2]<<3)+4>>2]|0;Vb=bC(a[(c[da>>2]|0)+25+1>>0]|0)|0;Wb=bC(a[(c[da>>2]|0)+25>>0]|0)|0;c[Aa>>2]=Qb;c[Aa+4>>2]=Rb;c[Aa+8>>2]=Sb;c[Aa+12>>2]=Tb;c[Aa+16>>2]=Ub;c[Aa+20>>2]=Vb;c[Aa+24>>2]=Wb;c[Aa+28>>2]=33281;$B(Xb,1,33272,Aa);Rw(c[Yb>>2]|0,33,1,8)|0;c[W>>2]=(c[W>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[da>>2]=c[(c[da>>2]|0)+4>>2]}}case 13:{c[ab>>2]=(c[(c[Xb>>2]|0)+76>>2]|0)+1;Ub=(c[Xb>>2]|0)+76|0;c[Ub>>2]=(c[Ub>>2]|0)+4;Ub=(c[Xb>>2]|0)+76|0;Tb=(c[Ub>>2]|0)+1|0;c[Ub>>2]=Tb;c[$a>>2]=Tb;Tb=(c[Xb>>2]|0)+76|0;Ub=(c[Tb>>2]|0)+1|0;c[Tb>>2]=Ub;c[bb>>2]=Ub;c[Yb>>2]=Pw(c[Xb>>2]|0)|0;_B(c[Yb>>2]|0,4,6156);bx(c[Xb>>2]|0,c[Wb>>2]|0);c[Sa>>2]=c[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[Wb>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Sa>>2]|0))break a;if(c[$b>>2]|0){c[_a>>2]=zh(c[Xb>>2]|0,0,c[$b>>2]|0,c[fb>>2]|0)|0;c[Sa>>2]=0}else{c[_a>>2]=c[(c[Sa>>2]|0)+8>>2];c[Sa>>2]=c[c[Sa>>2]>>2]}if(!(c[_a>>2]|0))continue;if(!(c[(c[_a>>2]|0)+16>>2]|0))continue;yz(c[Xb>>2]|0,c[Wb>>2]|0,c[(c[_a>>2]|0)+28>>2]|0,0,c[c[_a>>2]>>2]|0);if(((b[(c[_a>>2]|0)+34>>1]|0)+(c[bb>>2]|0)|0)>(c[(c[Xb>>2]|0)+76>>2]|0))c[(c[Xb>>2]|0)+76>>2]=(b[(c[_a>>2]|0)+34>>1]|0)+(c[bb>>2]|0);zz(c[Xb>>2]|0,0,c[Wb>>2]|0,c[_a>>2]|0,54);Tw(c[Yb>>2]|0,c[ab>>2]|0,c[c[_a>>2]>>2]|0)|0;c[Na>>2]=1;c[Va>>2]=c[(c[_a>>2]|0)+16>>2];d:while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=pi(c[Zb>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[fb>>2]|0)|0;do if(c[Xa>>2]|0){c[Wa>>2]=0;yz(c[Xb>>2]|0,c[Wb>>2]|0,c[(c[Xa>>2]|0)+28>>2]|0,0,c[c[Xa>>2]>>2]|0);c[eb>>2]=cC(c[Xb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,0)|0;if(c[eb>>2]|0){Vb=207;break d}if(!(c[Wa>>2]|0)){zz(c[Xb>>2]|0,c[Na>>2]|0,c[Wb>>2]|0,c[Xa>>2]|0,54);break}else{Vw(c[Yb>>2]|0,54,c[Na>>2]|0,c[(c[Wa>>2]|0)+44>>2]|0,c[Wb>>2]|0)|0;Az(c[Xb>>2]|0,c[Wa>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}if((Vb|0)==207){Vb=0;c[Sa>>2]=0}if(c[Va>>2]|0)break a;if((c[(c[Xb>>2]|0)+72>>2]|0)<(c[Na>>2]|0))c[(c[Xb>>2]|0)+72>>2]=c[Na>>2];c[Ka>>2]=xz(c[Yb>>2]|0,108,0)|0;c[Na>>2]=1;c[Va>>2]=c[(c[_a>>2]|0)+16>>2];while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=pi(c[Zb>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[fb>>2]|0)|0;c[Wa>>2]=0;c[La>>2]=0;if(c[Xa>>2]|0)c[eb>>2]=cC(c[Xb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,La)|0;c[Ja>>2]=Cz(c[Yb>>2]|0)|0;do if((c[Xa>>2]|0)!=0&(c[Wa>>2]|0)==0){c[Oa>>2]=c[(c[Va>>2]|0)+36>>2];l=c[Yb>>2]|0;if((c[Oa>>2]|0)!=(b[(c[_a>>2]|0)+32>>1]|0)){Vw(l,47,0,c[Oa>>2]|0,c[bb>>2]|0)|0;vA(c[Yb>>2]|0,c[_a>>2]|0,c[Oa>>2]|0,c[bb>>2]|0);Rw(c[Yb>>2]|0,76,c[bb>>2]|0,c[Ja>>2]|0)|0;Tb=c[Yb>>2]|0;Ub=c[bb>>2]|0;Rw(Tb,38,Ub,(Bz(c[Yb>>2]|0)|0)+3|0)|0}else Rw(l,103,0,c[bb>>2]|0)|0;Vw(c[Yb>>2]|0,70,c[Na>>2]|0,0,c[bb>>2]|0)|0;Ez(c[Yb>>2]|0,c[Ja>>2]|0)|0;Ub=c[Yb>>2]|0;Fz(Ub,(Bz(c[Yb>>2]|0)|0)-2|0)}else{c[Qa>>2]=0;while(1){if((c[Qa>>2]|0)>=(c[(c[Va>>2]|0)+20>>2]|0))break;l=c[Qa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Va>>2]|0)+36+(l<<3)>>2]|0;tA(c[Yb>>2]|0,c[_a>>2]|0,0,l,(c[bb>>2]|0)+(c[Qa>>2]|0)|0);Rw(c[Yb>>2]|0,76,(c[bb>>2]|0)+(c[Qa>>2]|0)|0,c[Ja>>2]|0)|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(!(c[Xa>>2]|0))break;Qb=c[Yb>>2]|0;Rb=c[bb>>2]|0;Sb=c[(c[Va>>2]|0)+20>>2]|0;Tb=c[$a>>2]|0;Ub=dC(c[Zb>>2]|0,c[Wa>>2]|0)|0;Uw(Qb,49,Rb,Sb,Tb,Ub,c[(c[Va>>2]|0)+20>>2]|0)|0;Eh(c[Yb>>2]|0,69,c[Na>>2]|0,c[Ja>>2]|0,c[$a>>2]|0,0)|0}while(0);Rw(c[Yb>>2]|0,103,0,(c[ab>>2]|0)+1|0)|0;Tb=c[Yb>>2]|0;Ub=(c[ab>>2]|0)+2|0;Sb=(c[Na>>2]|0)-1|0;c[db>>2]=c[(c[Va>>2]|0)+8>>2];c[db+4>>2]=Sb;$B(Tb,Ub,33286,db);Rw(c[Yb>>2]|0,33,c[ab>>2]|0,4)|0;Gz(c[Yb>>2]|0,c[Ja>>2]|0);Sf(c[Zb>>2]|0,c[La>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}Rw(c[Yb>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Fz(c[Yb>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[$b>>2]|0))break a;Yb=c[Zb>>2]|0;eC(Yb,(Bi(c[$b>>2]|0,0)|0)&255);break a}case 18:{c[qb>>2]=(d[18477+(d[c[_b>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[Wb>>2]=-1;c[(c[Xb>>2]|0)+76>>2]=6;MB(c[Yb>>2]|0,33289);c[Cb>>2]=100;if((c[$b>>2]|0)!=0?(Li(c[$b>>2]|0,Cb)|0,(c[Cb>>2]|0)<=0):0)c[Cb>>2]=100;Rw(c[Yb>>2]|0,22,c[Cb>>2]|0,1)|0;c[mb>>2]=0;while(1){if((c[mb>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break;c[jb>>2]=0;if(!((c[Wb>>2]|0)>=0?(c[mb>>2]|0)!=(c[Wb>>2]|0):0))Vb=242;e:do if((Vb|0)==242){Vb=0;bx(c[Xb>>2]|0,c[mb>>2]|0);c[hb>>2]=xz(c[Yb>>2]|0,138,1)|0;Rw(c[Yb>>2]|0,21,0,0)|0;Fz(c[Yb>>2]|0,c[hb>>2]|0);c[Mb>>2]=(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[mb>>2]<<4)+12>>2]|0)+8;c[Tb>>2]=c[(c[Mb>>2]|0)+8>>2];while(1){if(!(c[Tb>>2]|0))break;c[Kb>>2]=c[(c[Tb>>2]|0)+8>>2];if(!(d[(c[Kb>>2]|0)+42>>0]&32)){Rw(c[Yb>>2]|0,22,c[(c[Kb>>2]|0)+28>>2]|0,2+(c[jb>>2]|0)|0)|0;c[jb>>2]=(c[jb>>2]|0)+1}c[Eb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Eb>>2]|0))break;Rw(c[Yb>>2]|0,22,c[(c[Eb>>2]|0)+44>>2]|0,2+(c[jb>>2]|0)|0)|0;c[jb>>2]=(c[jb>>2]|0)+1;c[Eb>>2]=c[(c[Eb>>2]|0)+20>>2]}c[Tb>>2]=c[c[Tb>>2]>>2]}if((c[(c[Xb>>2]|0)+76>>2]|0)>((c[jb>>2]|0)+8|0))l=c[(c[Xb>>2]|0)+76>>2]|0;else l=(c[jb>>2]|0)+8|0;c[(c[Xb>>2]|0)+76>>2]=l;Vw(c[Yb>>2]|0,128,2,c[jb>>2]|0,1)|0;Fh(c[Yb>>2]|0,c[mb>>2]&255);c[hb>>2]=xz(c[Yb>>2]|0,76,2)|0;Pb=c[Yb>>2]|0;Qb=c[Zb>>2]|0;c[Rb>>2]=c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[mb>>2]<<4)>>2];Uw(Pb,97,0,3,0,Bh(Qb,33305,Rb)|0,-1)|0;Vw(c[Yb>>2]|0,29,2,4,1)|0;Vw(c[Yb>>2]|0,94,4,3,2)|0;Rw(c[Yb>>2]|0,33,2,1)|0;Fz(c[Yb>>2]|0,c[hb>>2]|0);c[Tb>>2]=c[(c[Mb>>2]|0)+8>>2];while(1){if(!(c[Tb>>2]|0))break e;if(!((c[qb>>2]|0)!=0^1))break e;c[Lb>>2]=c[(c[Tb>>2]|0)+8>>2];c[Ib>>2]=0;c[Nb>>2]=-1;f:do if(c[(c[Lb>>2]|0)+8>>2]|0){if(!(d[(c[Lb>>2]|0)+42>>0]&32))l=0;else l=Ej(c[Lb>>2]|0)|0;c[Gb>>2]=l;c[hb>>2]=xz(c[Yb>>2]|0,138,1)|0;Rw(c[Yb>>2]|0,21,0,0)|0;Fz(c[Yb>>2]|0,c[hb>>2]|0);fC(c[Xb>>2]|0);gC(c[Xb>>2]|0,c[Lb>>2]|0,54,0,1,0,ob,pb)|0;Rw(c[Yb>>2]|0,22,0,7)|0;c[rb>>2]=0;c[Fb>>2]=c[(c[Lb>>2]|0)+8>>2];while(1){if(!(c[Fb>>2]|0))break;Rw(c[Yb>>2]|0,22,0,8+(c[rb>>2]|0)|0)|0;c[Fb>>2]=c[(c[Fb>>2]|0)+20>>2];c[rb>>2]=(c[rb>>2]|0)+1}if((c[(c[Xb>>2]|0)+76>>2]|0)>(8+(c[rb>>2]|0)|0))l=c[(c[Xb>>2]|0)+76>>2]|0;else l=8+(c[rb>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=l;Rw(c[Yb>>2]|0,108,c[ob>>2]|0,0)|0;c[Ab>>2]=Rw(c[Yb>>2]|0,37,7,1)|0;c[rb>>2]=0;while(1){if((c[rb>>2]|0)>=(b[(c[Lb>>2]|0)+34>>1]|0))break;do if((c[rb>>2]|0)!=(b[(c[Lb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Lb>>2]|0)+4>>2]|0)+((c[rb>>2]|0)*24|0)+20>>0]|0))break;tA(c[Yb>>2]|0,c[Lb>>2]|0,c[ob>>2]|0,c[rb>>2]|0,3);Fh(c[Yb>>2]|0,-128);c[sb>>2]=xz(c[Yb>>2]|0,77,3)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Qb=c[Zb>>2]|0;Pb=c[(c[(c[Lb>>2]|0)+4>>2]|0)+((c[rb>>2]|0)*24|0)>>2]|0;c[Sb>>2]=c[c[Lb>>2]>>2];c[Sb+4>>2]=Pb;c[Ub>>2]=Bh(Qb,33329,Sb)|0;Uw(c[Yb>>2]|0,97,0,3,0,c[Ub>>2]|0,-1)|0;Rw(c[Yb>>2]|0,33,3,1)|0;c[ub>>2]=xz(c[Yb>>2]|0,138,1)|0;Yw(c[Yb>>2]|0,21)|0;Fz(c[Yb>>2]|0,c[sb>>2]|0);Fz(c[Yb>>2]|0,c[ub>>2]|0)}while(0);c[rb>>2]=(c[rb>>2]|0)+1}c[rb>>2]=0;c[Fb>>2]=c[(c[Lb>>2]|0)+8>>2];while(1){l=c[Yb>>2]|0;if(!(c[Fb>>2]|0))break;c[ib>>2]=Cz(l)|0;if((c[Gb>>2]|0)!=(c[Fb>>2]|0)){c[Nb>>2]=Xz(c[Xb>>2]|0,c[Fb>>2]|0,c[ob>>2]|0,0,0,vb,c[Ib>>2]|0,c[Nb>>2]|0)|0;c[Ib>>2]=c[Fb>>2];Rw(c[Yb>>2]|0,37,8+(c[rb>>2]|0)|0,1)|0;c[tb>>2]=Eh(c[Yb>>2]|0,69,(c[pb>>2]|0)+(c[rb>>2]|0)|0,c[ib>>2]|0,c[Nb>>2]|0,e[(c[Fb>>2]|0)+52>>1]|0)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Tw(c[Yb>>2]|0,3,33349)|0;Vw(c[Yb>>2]|0,94,7,3,3)|0;Tw(c[Yb>>2]|0,4,33354)|0;Vw(c[Yb>>2]|0,94,4,3,3)|0;c[xb>>2]=Tw(c[Yb>>2]|0,4,c[c[Fb>>2]>>2]|0)|0;Vw(c[Yb>>2]|0,94,4,3,3)|0;Rw(c[Yb>>2]|0,33,3,1)|0;c[wb>>2]=xz(c[Yb>>2]|0,138,1)|0;Yw(c[Yb>>2]|0,21)|0;Fz(c[Yb>>2]|0,c[tb>>2]|0);if(d[(c[Fb>>2]|0)+54>>0]|0){c[Ob>>2]=Cz(c[Yb>>2]|0)|0;c[zb>>2]=0;while(1){if((c[zb>>2]|0)>=(e[(c[Fb>>2]|0)+50>>1]|0))break;c[nb>>2]=b[(c[(c[Fb>>2]|0)+4>>2]|0)+(c[zb>>2]<<1)>>1];if(!((c[nb>>2]|0)>=0?(d[(c[(c[Lb>>2]|0)+4>>2]|0)+((c[nb>>2]|0)*24|0)+20>>0]|0)!=0:0))Rw(c[Yb>>2]|0,76,(c[Nb>>2]|0)+(c[zb>>2]|0)|0,c[Ob>>2]|0)|0;c[zb>>2]=(c[zb>>2]|0)+1}c[yb>>2]=xz(c[Yb>>2]|0,7,(c[pb>>2]|0)+(c[rb>>2]|0)|0)|0;Ez(c[Yb>>2]|0,c[Ob>>2]|0)|0;Fz(c[Yb>>2]|0,c[yb>>2]|0);Eh(c[Yb>>2]|0,115,(c[pb>>2]|0)+(c[rb>>2]|0)|0,c[Ob>>2]|0,c[Nb>>2]|0,e[(c[Fb>>2]|0)+50>>1]|0)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Tw(c[Yb>>2]|0,3,33375)|0;Ez(c[Yb>>2]|0,c[xb>>2]|0)|0;Gz(c[Yb>>2]|0,c[Ob>>2]|0)}Fz(c[Yb>>2]|0,c[wb>>2]|0);Yz(c[Xb>>2]|0,c[vb>>2]|0)}c[Fb>>2]=c[(c[Fb>>2]|0)+20>>2];c[rb>>2]=(c[rb>>2]|0)+1}Rw(l,7,c[ob>>2]|0,c[Ab>>2]|0)|0;Fz(c[Yb>>2]|0,(c[Ab>>2]|0)-1|0);Tw(c[Yb>>2]|0,2,33402)|0;c[rb>>2]=0;c[Fb>>2]=c[(c[Lb>>2]|0)+8>>2];while(1){if(!(c[Fb>>2]|0))break f;if((c[Gb>>2]|0)!=(c[Fb>>2]|0)){c[hb>>2]=Bz(c[Yb>>2]|0)|0;Rw(c[Yb>>2]|0,138,1,(c[hb>>2]|0)+2|0)|0;Rw(c[Yb>>2]|0,21,0,0)|0;Rw(c[Yb>>2]|0,50,(c[pb>>2]|0)+(c[rb>>2]|0)|0,3)|0;Vw(c[Yb>>2]|0,79,8+(c[rb>>2]|0)|0,(c[hb>>2]|0)+8|0,3)|0;Fh(c[Yb>>2]|0,-112);Rw(c[Yb>>2]|0,37,1,-1)|0;Tw(c[Yb>>2]|0,3,c[c[Fb>>2]>>2]|0)|0;Vw(c[Yb>>2]|0,94,3,2,7)|0;Rw(c[Yb>>2]|0,33,7,1)|0}c[Fb>>2]=c[(c[Fb>>2]|0)+20>>2];c[rb>>2]=(c[rb>>2]|0)+1}}while(0);c[Tb>>2]=c[c[Tb>>2]>>2]}}while(0);c[mb>>2]=(c[mb>>2]|0)+1}c[gb>>2]=Gh(c[Yb>>2]|0,4,33431,0)|0;if(!(c[gb>>2]|0))break a;c[(c[gb>>2]|0)+8>>2]=0-(c[Cb>>2]|0);a[(c[gb>>2]|0)+40+1>>0]=-2;c[(c[gb>>2]|0)+40+16>>2]=33447;break a}case 12:{if(!(c[$b>>2]|0)){if(pz(c[Xb>>2]|0)|0)break a;LB(c[Yb>>2]|0,33450,c[6172+(d[(c[c[Xb>>2]>>2]|0)+62>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=6172;while(1){if(!(c[c[Ha>>2]>>2]|0))break;Yb=0==(Td(c[$b>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(Yb){Vb=301;break}c[Ha>>2]=l+8}if((Vb|0)==301){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[960]|0)==0?3:2;Yb=l&255;a[(c[Zb>>2]|0)+62>>0]=Yb;a[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=Yb}if(c[c[Ha>>2]>>2]|0)break a;Yb=c[Xb>>2]|0;c[Ia>>2]=c[$b>>2];Ah(Yb,33459,Ia);break a}case 0:{c[P>>2]=c[(c[Hb>>2]|0)+8>>2];Hh(c[Yb>>2]|0,c[Wb>>2]|0);if((c[$b>>2]|0)!=0?(d[(c[Hb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Gh(c[Yb>>2]|0,2,33484,0)|0;c[(c[w>>2]|0)+4>>2]=c[Wb>>2];c[(c[w>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[w>>2]|0)+20+8>>2]=c[P>>2];Yb=Ki(c[$b>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=Yb;break a}c[x>>2]=Gh(c[Yb>>2]|0,3,33492,0)|0;c[(c[x>>2]|0)+4>>2]=c[Wb>>2];c[(c[x>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[x>>2]|0)+20+12>>2]=c[P>>2];OB(c[Yb>>2]|0,1);PB(c[Yb>>2]|0,0,0,c[_b>>2]|0,-1)|0;break a}case 8:{c[M>>2]=0;c[(c[Xb>>2]|0)+76>>2]=1;MB(c[Yb>>2]|0,33504);while(1){Xb=c[M>>2]|0;c[M>>2]=Xb+1;Xb=Ad(Xb)|0;c[Ca>>2]=Xb;if(!Xb)break a;Tw(c[Yb>>2]|0,1,c[Ca>>2]|0)|0;Rw(c[Yb>>2]|0,33,1,1)|0}}case 36:{c[O>>2]=(c[c[s>>2]>>2]|0)!=0?c[Wb>>2]|0:10;c[G>>2]=0;do if(c[$b>>2]|0){if(!(Td(c[$b>>2]|0,33519)|0)){c[G>>2]=1;break}if(!(Td(c[$b>>2]|0,33524)|0)){c[G>>2]=2;break}if(!(Td(c[$b>>2]|0,33532)|0))c[G>>2]=3}while(0);_B(c[Yb>>2]|0,3,6244);c[(c[Xb>>2]|0)+76>>2]=3;Vw(c[Yb>>2]|0,8,c[O>>2]|0,c[G>>2]|0,1)|0;Rw(c[Yb>>2]|0,33,1,3)|0;break a}case 35:{if(c[$b>>2]|0){Xb=c[Zb>>2]|0;yf(Xb,Ki(c[$b>>2]|0)|0)|0}if((c[(c[Zb>>2]|0)+216>>2]|0)==139)l=c[(c[Zb>>2]|0)+220>>2]|0;else l=0;NB(c[Yb>>2]|0,33541,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[Zb>>2]|0)|0;break a}case 28:{if((c[$b>>2]|0)!=0?(Ci(c[$b>>2]|0,t)|0)==0:0){Xb=t;Gd(c[Xb>>2]|0,c[Xb+4>>2]|0)|0}Xb=c[Yb>>2]|0;Yb=Gd(-1,-1)|0;NB(Xb,33568,Yb,C);break a}case 34:{if((c[$b>>2]|0)!=0?(Vb=(Ci(c[$b>>2]|0,u)|0)==0,Xb=u,Wb=c[Xb+4>>2]|0,Vb&((Wb|0)>0|(Wb|0)==0&(c[Xb>>2]|0)>>>0>=0)):0)Df(c[Zb>>2]|0,11,c[u>>2]&2147483647)|0;Xb=c[Yb>>2]|0;Yb=Df(c[Zb>>2]|0,11,-1)|0;NB(Xb,33584,Yb,((Yb|0)<0)<<31>>31);break a}default:{if(c[$b>>2]|0){Xb=c[Zb>>2]|0;uf(Xb,Ki(c[$b>>2]|0)|0)|0}Xb=c[(c[Zb>>2]|0)+496>>2]|0;NB(c[Yb>>2]|0,33560,Xb,((Xb|0)<0)<<31>>31);break a}}while(0)}}while(0);Sf(c[Zb>>2]|0,c[_b>>2]|0);Sf(c[Zb>>2]|0,c[$b>>2]|0);i=ac;return}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+492>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+492>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+68>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Dh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Cy(l,c[e>>2]|0);EB(q,c[f>>2]|0,c[k>>2]|0,19528,l);if((JB(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(HB(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+140+5>>0]|0)){c[r>>2]=Pw(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;ax(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Iw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?20769:20788;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;Ow(q,32822,s);Sf(c[j>>2]|0,c[u>>2]|0);Qw(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];Sw(r,s,Bh(u,32886,t)|0)}if(a[(c[j>>2]|0)+140+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Oj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){jh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=nj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Pf(c[j>>2]|0,c[p>>2]|0);bv(c[j>>2]|0,c[g>>2]|0);i=w;return}function jw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ah(c[I>>2]|0,32505,r);break}else{c[N>>2]=tz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+65>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+140+5>>0]|0)!=0:0){Sf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=DB(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+140+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+65>>0]|0)==0?(EB(q,c[I>>2]|0,c[N>>2]|0,19528,c[D>>2]|0),(FB(q,c[K>>2]|0)|0)==0):0){c[E>>2]=DB(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+140+4>>0]|0)!=1)break;a[(c[M>>2]|0)+140+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Ah(c[I>>2]|0,32551,s);break}c[P>>2]=Dw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(yx(c[I>>2]|0,c[P>>2]|0)|0):0){if(nj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){bx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Ah(o,32592,F);break}}if(!(zd(c[c[E>>2]>>2]|0,28715,7)|0)){Ah(c[I>>2]|0,32618,t);break}if((c[x>>2]|0)!=49?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==35?32656:32663;c[u+4>>2]=H;c[u+8>>2]=0;Ah(N,32669,u);break}if((c[x>>2]|0)==49?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ah(N,32706,v);break}c[C>>2]=Dh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Mw(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Mw(c[I>>2]|0,18,(c[C>>2]|0)==1?20769:20788,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==49)c[x>>2]=35;c[O>>2]=ph(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=nh(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==35?1:2;N=ny(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=nz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+492>>2]=c[O>>2]}}}}while(0);Sf(c[M>>2]|0,c[P>>2]|0);Yu(c[M>>2]|0,c[K>>2]|0);_u(c[M>>2]|0,c[J>>2]|0);Zu(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+492>>2]|0){i=Q;return}Pf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function kw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=CB(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=vy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=ny(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}Vu(c[h>>2]|0,c[j>>2]|0);Zu(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function lw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=CB(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Hx(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;Wu(l,o);o=c[m>>2]|0;i=n;return o|0}else{_u(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;Wu(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function mw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=CB(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=ny(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}Zu(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function nw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=ph(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){Wu(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function ow(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+65>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}if(pz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(Td(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=nj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){AB(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)zB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Ah(f,32434,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}function pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;iB(c[k>>2]|0,24,5280,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;iB(c[f>>2]|0,25,5248,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function rw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(pz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){Sz(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Dw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Mj(c[h>>2]|0,a[(c[h>>2]|0)+62>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Sf(c[h>>2]|0,c[n>>2]|0);break}Sz(c[q>>2]|0,c[n>>2]|0);Sf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=tz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Dw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=pi(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){Tz(c[q>>2]|0,c[l>>2]|0,0);Sf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Fj(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Sf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){ax(f,0,c[r>>2]|0);Uz(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Ah(f,31878,t);i=u;return}}function sw(a,b,d){a=a|0;b=b|0;d=d|0;var 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;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(pz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=tz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Dw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Fj(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=zh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)sz(c[l>>2]|0,c[o>>2]|0,0)}else sz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Sf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=rz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){qz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Dw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Fj(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=zh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)sz(c[l>>2]|0,c[o>>2]|0,0)}else sz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Sf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)qz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=Pw(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}Yw(c[p>>2]|0,147)|0;i=r;return}function tw(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+65>>0]|0)==0?(c[r>>2]=_w(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Dh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Dw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((pi(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Fj(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if($w(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(yx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Ah(g,29208,v);break}if(Mw(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(zx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Ax(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=Pw(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;ax(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);Qw(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+76|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;Tw(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;Uw(c[u>>2]|0,155,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Bx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Cx(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Dx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?20769:20788;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;Ow(v,29235,z);Sf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?20769:20788;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;Ow(z,29304,w);if(pi(c[l>>2]|0,29688,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;Ow(C,29704,x)}C=gx(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;Ow(C,29762,y);Sf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Ex(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))ex(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);ex(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Ah(D,29149,h)}while(0);Yu(c[l>>2]|0,c[k>>2]|0);Sf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function uw(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;g=D+124|0;h=D+120|0;n=D+116|0;o=D+112|0;k=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;l=D+92|0;m=D+88|0;j=D+84|0;s=D+80|0;p=D+76|0;q=D+72|0;B=D+68|0;r=D+64|0;c[g>>2]=e;c[h>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+68>>2]|0){i=D;return}if(d[(c[j>>2]|0)+65>>0]|0){i=D;return}c[n>>2]=c[(c[g>>2]|0)+488>>2];c[k>>2]=Dh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[A>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[C>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+(((b[(c[n>>2]|0)+34>>1]|0)-1|0)*24|0);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=pi(c[j>>2]|0,c[C>>2]|0,c[A>>2]|0)|0;if(Mw(c[g>>2]|0,26,c[A>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=D;return}if((c[m>>2]|0)!=0?(d[c[m>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+23>>0]&1){Ah(c[g>>2]|0,28751,t);i=D;return}if(c[(c[n>>2]|0)+8>>2]|0){Ah(c[g>>2]|0,28783,w);i=D;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Ah(c[g>>2]|0,28810,x);i=D;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+20>>0]|0)==0)){Ah(c[g>>2]|0,28869,y);i=D;return}do if(c[m>>2]|0){c[p>>2]=0;c[q>>2]=dx(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[q>>2]|0){i=D;return}if(c[p>>2]|0){$g(c[p>>2]|0);break}Ah(c[g>>2]|0,28922,u);i=D;return}while(0);c[z>>2]=Iw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[z>>2]|0){c[B>>2]=(c[z>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[r>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[B>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;if((a[c[B>>2]>>0]|0)!=59?(d[19267+(d[c[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=c[B>>2]|0;c[B>>2]=y+-1;a[y>>0]=0}B=(c[j>>2]|0)+24|0;c[B>>2]=c[B>>2]|2097152;B=c[g>>2]|0;u=(c[k>>2]|0)==1?20769:20788;w=c[(c[n>>2]|0)+44>>2]|0;x=c[z>>2]|0;y=(c[(c[n>>2]|0)+44>>2]|0)+1|0;C=c[C>>2]|0;c[v>>2]=c[A>>2];c[v+4>>2]=u;c[v+8>>2]=w;c[v+12>>2]=x;c[v+16>>2]=y;c[v+20>>2]=C;Ow(B,28968,v);Sf(c[j>>2]|0,c[z>>2]|0);c[(c[j>>2]|0)+24>>2]=c[r>>2]}Vw(c[s>>2]|0,52,c[k>>2]|0,2,4)|0;ex(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=D;return}function vw(e,f){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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+65>>0]|0)==0?(c[q>>2]=_w(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Ah(c[h>>2]|0,28562,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Ah(e,28596,s);break}if(((0==($w(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Dh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=ph(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+488>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=ph(c[k>>2]|0,(c[n>>2]|0)*24|0,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Bh(s,28626,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){iR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,(b[(c[p>>2]|0)+34>>1]|0)*24|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0);t=nh(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+16>>2]=0;c[(c[o>>2]|0)+12>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+8>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;ax(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=Pw(c[h>>2]|0)|0;if(c[r>>2]|0)Qw(c[h>>2]|0,c[m>>2]|0)}}while(0);Yu(c[k>>2]|0,c[j>>2]|0);i=u;return}function ww(b,d){b=b|0;d=d|0;var 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;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+488>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}Kw(c[e>>2]|0);c[(c[e>>2]|0)+516>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+140+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+500+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+500>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+500;c[s>>2]=Bh(r,28423,o)|0;c[h>>2]=Dh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?20769:20788;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+392>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;Ow(r,28447,p);Sf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=Pw(c[e>>2]|0)|0;Qw(c[e>>2]|0,c[h>>2]|0);Rw(c[n>>2]|0,147,0,0)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Bh(s,28535,q)|0;Sw(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+76|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;Tw(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;Rw(c[n>>2]|0,150,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Oj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){jh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+488>>2]=0;i=u;return}}function xw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;lv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Dh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;Lw(r,q,Dw(c[l>>2]|0,c[k>>2]|0)|0);Lw(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;Lw(q,r,nh(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+500+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+500>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}Mw(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function yw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kw(c[d>>2]|0);c[(c[d>>2]|0)+516>>2]=0;c[(c[d>>2]|0)+516+4>>2]=0;i=b;return}function zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+516;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Aw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Dw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(Td(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Ah(t,28355,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Ew(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=ph(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+65>>0]|0){Vu(c[m>>2]|0,c[k>>2]|0);Wu(c[m>>2]|0,c[l>>2]|0);Sf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Bw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11910+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[12532+(c[h>>2]<<1)>>1]|0}function Cw(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;$u(c[b>>2]|0)}c[(c[b>>2]|0)+8>>2]=c[d>>2];i=e;return}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Iw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Jw(c[f>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Ew(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Fw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((au(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+248+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Gw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Fw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+248>>2]|0){if(a[(c[h>>2]|0)+65>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+248|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+248+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+248+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+248+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+248+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+248+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+248+8>>2]|0)>(c[(c[h>>2]|0)+248+12>>2]|0))c[(c[h>>2]|0)+248+12>>2]=c[(c[h>>2]|0)+248+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Hw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Gw(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+65>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(au(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Fw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}iR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+248+4>>1]|0|0)|0;Sf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}jh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=_f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}jh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Iw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=gR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Fw(b,d,C)|0;if(c[l>>2]|0){iR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Jw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+12|0;e=j+8|0;h=j+16|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}a[h>>0]=a[c[e>>2]>>0]|0;switch(a[h>>0]|0){case 96:case 34:case 39:break;case 91:{a[h>>0]=93;break}default:{c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}}c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+516>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+488>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+516>>2];c[e>>2]=c[(c[b>>2]|0)+516+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+488>>2]|0;a=c[e>>2]|0;Lw(h,b,Iw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Lw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Ew(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Sf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function Mw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+140+5>>0]|0|0)==0?(d[(c[j>>2]|0)+454>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+288>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+288>>2]&255](c[(c[o>>2]|0)+292>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+496>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;Nw(c[j>>2]|0)}}else{Ah(c[j>>2]|0,28385,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function Nw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Ah(c[d>>2]|0,28400,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function Ow(d,e,f){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;o=i;i=i+144|0;j=o+36|0;g=o+32|0;h=o+16|0;n=o+8|0;m=o+4|0;k=o;l=o+40|0;c[j>>2]=d;c[g>>2]=e;c[m>>2]=0;c[k>>2]=c[c[j>>2]>>2];if(c[(c[j>>2]|0)+68>>2]|0){i=o;return}c[h>>2]=f;c[n>>2]=Zw(c[k>>2]|0,c[g>>2]|0,h)|0;if(!(c[n>>2]|0)){i=o;return}g=(c[j>>2]|0)+18|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24;g=l;h=(c[j>>2]|0)+444|0;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));g=(c[j>>2]|0)+444|0;d=g+100|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(d|0));Uh(c[j>>2]|0,c[n>>2]|0,m)|0;Sf(c[k>>2]|0,c[m>>2]|0);Sf(c[k>>2]|0,c[n>>2]|0);g=(c[j>>2]|0)+444|0;h=l;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));n=(c[j>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;i=o;return}function Pw(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=Ch(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Yw(c[f>>2]|0,158)|0;if((c[(c[d>>2]|0)+416>>2]|0)==0?((e[(c[c[d>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)a[(c[d>>2]|0)+23>>0]=1}i=g;return c[f>>2]|0}function Qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];Vw(c[g>>2]|0,52,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function Rw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Vw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;Uw(c[e>>2]|0,123,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Hh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Uw(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function Uw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=Vw(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Ih(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function Vw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)<=(c[o>>2]|0)){c[h>>2]=Ww(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function Ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(Xw(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=Vw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+88>>2]|0)b=c[(c[f>>2]|0)+88>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Ew(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=$t(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+92>>2]=e;c[(c[f>>2]|0)+88>>2]=((c[(c[f>>2]|0)+92>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vw(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function Zw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;cg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+88>>2]|0);a[k+25>>0]=1;dg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=eg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}jh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function _w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=zh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function $w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((If(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,28715,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Ah(b,28723,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function ax(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;c[k>>2]=f;bx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+336|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+340>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+340|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+344+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}cx(c[f>>2]|0)|0;i=g;return}function cx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+453>>0]|0)==0:0){c[h>>2]=Xj(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Ah(c[e>>2]|0,28645,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(xi(c[g>>2]|0,c[(c[f>>2]|0)+72>>2]|0,-1,0)|0)){jh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function dx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=ix(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Pw(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=fx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;Uw(c[l>>2]|0,127,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}Uw(c[l>>2]|0,125,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Bh(d,29077,m)|0;if(!(c[n>>2]|0)){i=o;return}Sw(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=gx(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}Sw(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function fx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+442>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(Td(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=fx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=hx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Bh(h,29089,j)|0;Sf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Bh(a,29121,j)|0;Sf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Bh(a,29113,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function ix(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=19266;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if((l|0)!=156)break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==38){a[p>>0]=jx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=ix(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){kx(c[c[A>>2]>>2]|0,a[p>>0]|0,1);lx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=29135}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=mx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=rR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;eh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Bh(l,25552,t)|0;if(!(c[w>>2]|0)){n=43;break}Wh(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)lx(c[B>>2]|0,67,1);else lx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=Zt(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=mx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=mx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(If(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=ox(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;dh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=42;break}w=0==(dx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){nx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=fR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);lx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){jh(c[v>>2]|0);Sf(c[v>>2]|0,c[w>>2]|0);$g(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function jx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+21|0;g=o+16|0;h=o+12|0;k=o+8|0;j=o+20|0;m=o+4|0;l=o;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;a[j>>0]=67;c[m>>2]=0;if(!(c[g>>2]|0)){a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}a:while(1){if(!(a[c[g>>2]>>0]|0))break;c[k>>2]=(c[k>>2]<<8)+(d[18477+(a[c[g>>2]>>0]&255)>>0]|0);c[g>>2]=(c[g>>2]|0)+1;if((c[k>>2]|0)==1667785074){a[j>>0]=66;c[m>>2]=c[g>>2];continue}if((c[k>>2]|0)==1668050786){a[j>>0]=66;continue}if((c[k>>2]|0)==1952807028){a[j>>0]=66;continue}do if((c[k>>2]|0)==1651273570){if((a[j>>0]|0)!=67?(a[j>>0]|0)!=69:0)break;a[j>>0]=65;if((a[c[g>>2]>>0]|0)!=40)continue a;c[m>>2]=c[g>>2];continue a}while(0);if((c[k>>2]|0)==1919246700?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1718382433?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1685026146?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]&16777215|0)==6909556){n=25;break}}if((n|0)==25)a[j>>0]=68;b:do if((c[h>>2]|0)!=0?(a[c[h>>2]>>0]=1,(a[j>>0]|0)<67):0){if(!(c[m>>2]|0)){a[c[h>>2]>>0]=5;break}while(1){if(!(a[c[m>>2]>>0]|0))break b;if(d[19267+(d[c[m>>2]>>0]|0)>>0]&4)break;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=0;Li(c[m>>2]|0,l)|0;n=((c[l>>2]|0)/4|0)+1|0;c[l>>2]=n;c[l>>2]=(c[l>>2]|0)>255?255:n;a[c[h>>2]>>0]=c[l>>2]}while(0);a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}function kx(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){lx(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}}case 67:{nx(c[k>>2]|0)|0;i=m;return}case 68:{wx(c[k>>2]|0)|0;i=m;return}case 69:{xx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;lx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function lx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;rx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function mx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Vh(c[e>>2]|0)|0;i=d;return b|0}function nx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Hi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+Yg(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;px(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function ox(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Fw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Gi(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Gi(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function px(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=qx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function qx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function rx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)sx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){px(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}xh(c[k>>2]|0,1);i=l;return}function sx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(tx(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,29137,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,29142,q)|0}q=If(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}Zt(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function tx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=ux(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function ux(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=vx(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Sf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=yh(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=$t(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}fh(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)iR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function vx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Ew(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Sf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function wx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=Zg(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function xx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+Yg(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function yx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+140+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,28715,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Ah(e,31646,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function zx(a,f){a=a|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,r=0;r=i;i=i+48|0;g=r;h=r+36|0;j=r+32|0;k=r+28|0;p=r+24|0;o=r+20|0;n=r+16|0;m=r+12|0;l=r+8|0;q=r+4|0;c[j>>2]=a;c[k>>2]=f;c[n>>2]=0;c[l>>2]=c[c[j>>2]>>2];if(Fx(c[j>>2]|0,c[k>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}if(d[(c[k>>2]|0)+42>>0]&16){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)<0){q=c[j>>2]|0;c[g>>2]=c[c[k>>2]>>2];Ah(q,29854,g);c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}a=c[l>>2]|0;do if(c[(c[k>>2]|0)+24>>2]|0){q=a+248|0;c[q>>2]=(c[q>>2]|0)+1;Gx(c[j>>2]|0,c[(c[k>>2]|0)+24>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;q=(c[l>>2]|0)+248|0;c[q>>2]=(c[q>>2]|0)+-1}else{c[o>>2]=Hx(a,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(!(c[o>>2]|0)){c[n>>2]=(c[n>>2]|0)+1;break}c[m>>2]=c[(c[j>>2]|0)+72>>2];Ix(c[j>>2]|0,c[(c[o>>2]|0)+32>>2]|0);b[(c[k>>2]|0)+34>>1]=-1;g=(c[l>>2]|0)+248|0;c[g>>2]=(c[g>>2]|0)+1;c[q>>2]=c[(c[l>>2]|0)+288>>2];c[(c[l>>2]|0)+288>>2]=0;c[p>>2]=Jx(c[j>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+288>>2]=c[q>>2];q=(c[l>>2]|0)+248|0;c[q>>2]=(c[q>>2]|0)+-1;c[(c[j>>2]|0)+72>>2]=c[m>>2];if(c[p>>2]|0){b[(c[k>>2]|0)+34>>1]=b[(c[p>>2]|0)+34>>1]|0;c[(c[k>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=0;c[(c[p>>2]|0)+4>>2]=0;Qf(c[l>>2]|0,c[p>>2]|0)}else{b[(c[k>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1}Wu(c[l>>2]|0,c[o>>2]|0)}while(0);q=(c[(c[k>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;i=r;return q|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Bx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Cx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Ex(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=hx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Ex(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Fx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Ax(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=nj((c[h>>2]|0)+312|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=oz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Ah(p,19255,m)}Sf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Ah(o,31494,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Gx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];uj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=ph(c[A>>2]|0,(c[n>>2]|0)*24|0,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+65>>0]|0)!=0^1))break;c[p>>2]=Tx(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)>>2]|0;else f=25592;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==27){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Bh(E,19255,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(nj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=If(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[19267+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Bh(E,31486,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Oj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)jh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+24}vj(l);if(!(a[(c[A>>2]|0)+65>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Sf(f,c[(c[z>>2]|0)+((c[C>>2]|0)*24|0)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Sf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function Hx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=Fw(c[j>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}f=vy(c[j>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0)|0;c[c[m>>2]>>2]=f;f=lz(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=f;f=ny(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=f;f=vy(c[j>>2]|0,c[(c[k>>2]|0)+40>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=f;f=ny(c[j>>2]|0,c[(c[k>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=f;f=vy(c[j>>2]|0,c[(c[k>>2]|0)+48>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+48>>2]=f;a[(c[m>>2]|0)+4>>0]=a[(c[k>>2]|0)+4>>0]|0;f=Hx(c[j>>2]|0,c[(c[k>>2]|0)+52>>2]|0,c[l>>2]|0)|0;c[n>>2]=f;c[(c[m>>2]|0)+52>>2]=f;if(c[n>>2]|0)c[(c[n>>2]|0)+56>>2]=c[m>>2];c[(c[m>>2]|0)+56>>2]=0;g=ny(c[j>>2]|0,c[(c[k>>2]|0)+60>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+60>>2]=g;g=ny(c[j>>2]|0,c[(c[k>>2]|0)+64>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+64>>2]=g;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;b[(c[m>>2]|0)+6>>1]=(e[(c[k>>2]|0)+6>>1]|0)&-17;c[(c[m>>2]|0)+16>>2]=-1;c[(c[m>>2]|0)+16+4>>2]=-1;g=(c[k>>2]|0)+24|0;f=c[g+4>>2]|0;n=(c[m>>2]|0)+24|0;c[n>>2]=c[g>>2];c[n+4>>2]=f;n=mz(c[j>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;c[(c[m>>2]|0)+68>>2]=n;c[h>>2]=c[m>>2];n=c[h>>2]|0;i=o;return n|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ix(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+32>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Jx(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Kx(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+68>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+52>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+52>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=ph(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;Gx(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;Lx(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+65>>0]|0){Qf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Kx(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(!(c[j>>2]|0)){i=m;return}c[l>>2]=c[c[h>>2]>>2];if(a[(c[l>>2]|0)+65>>0]|0){i=m;return}if(e[(c[j>>2]|0)+6>>1]&64){i=m;return}Ux(c[h>>2]|0,c[j>>2]|0);if(c[(c[h>>2]|0)+68>>2]|0){i=m;return}if(d[(c[l>>2]|0)+65>>0]|0){i=m;return}Vx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if(c[(c[h>>2]|0)+68>>2]|0){i=m;return}if(d[(c[l>>2]|0)+65>>0]|0){i=m;return}Wx(c[h>>2]|0,c[j>>2]|0);i=m;return}function Lx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;h=t+76|0;j=t+72|0;k=t+68|0;m=t+64|0;r=t+32|0;p=t+24|0;q=t+20|0;n=t+16|0;o=t+12|0;l=t+8|0;s=t;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=s;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+65>>0]|0){i=t;return};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+4>>2]=c[(c[k>>2]|0)+32>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[p>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[o>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];if(!(c[(c[p>>2]|0)+12>>2]|0)){f=c[m>>2]|0;f=nh(f,Mx(r,c[o>>2]|0,(c[p>>2]|0)+22|0)|0)|0;c[(c[p>>2]|0)+12>>2]=f}g=s;g=gR(c[g>>2]|0,c[g+4>>2]|0,d[(c[p>>2]|0)+22>>0]|0,0)|0;f=s;c[f>>2]=g;c[f+4>>2]=C;f=Nx(c[o>>2]|0)|0;a[(c[p>>2]|0)+21>>0]=f;if(!(a[(c[p>>2]|0)+21>>0]|0))a[(c[p>>2]|0)+21>>0]=65;c[q>>2]=Ox(c[h>>2]|0,c[o>>2]|0)|0;if((c[q>>2]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)==0:0){f=nh(c[m>>2]|0,c[c[q>>2]>>2]|0)|0;c[(c[p>>2]|0)+16>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+24}s=rR(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=Hj(s,C)|0;b[(c[j>>2]|0)+40>>1]=s;i=t;return}function Mx(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+32>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=Mx(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=19623;break a}else{c[w>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2];a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+22>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+32>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=Mx(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function Nx(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=Tx(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Nx(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==38){a[f>>0]=jx(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==154|(c[j>>2]|0)==152|(c[j>>2]|0)==157?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+21>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function Ox(e,f){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,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==38|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==95){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==95:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==62?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=Px(c[g>>2]|0,a[(c[h>>2]|0)+62>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+16>>2];c[n>>2]=Mj(c[h>>2]|0,a[(c[h>>2]|0)+62>>0]|0,c[p>>2]|0,0)|0}if(!(Qx(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function Px(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Mj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){Rx(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Mj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(Sx(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Ah(p,29884,n);p=c[m>>2]|0;i=o;return p|0}function Qx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=Px(c[f>>2]|0,a[(c[h>>2]|0)+62>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Rx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+224>>2]|0){c[l>>2]=nh(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+224>>2]&255](c[(c[g>>2]|0)+232>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Sf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+228>>2]|0)){i=n;return}c[k>>2]=Vh(c[g>>2]|0)|0;Wh(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Wg(c[k>>2]|0,((a[960]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+228>>2]&255](c[(c[g>>2]|0)+232>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+62>>0]|0,c[m>>2]|0);$g(c[k>>2]|0);i=n;return}function Sx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Mj(c[e>>2]|0,a[29915+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function Tx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function Ux(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+48|0;j=h+32|0;f=h+28|0;g=h;c[j>>2]=b;c[f>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=190;c[g>>2]=c[j>>2];if(a[(c[j>>2]|0)+22>>0]|0){c[g+8>>2]=191;Zx(g,c[f>>2]|0)|0}c[g+8>>2]=192;if(e[(c[f>>2]|0)+6>>1]&512){j=c[f>>2]|0;Zx(g,j)|0;i=h;return}c[g+12>>2]=132;j=c[f>>2]|0;Zx(g,j)|0;i=h;return}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];Zx(g,c[f>>2]|0)|0;i=e;return}function Wx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];Zx(f,c[e>>2]|0)|0;i=d;return}function Xx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;p=n+28|0;o=n+24|0;j=n+20|0;g=n+16|0;m=n+12|0;h=n+8|0;l=n+4|0;k=n;c[p>>2]=a;c[o>>2]=f;a=(c[o>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|64;c[j>>2]=c[c[p>>2]>>2];c[m>>2]=c[(c[o>>2]|0)+32>>2];c[g>>2]=0;c[h>>2]=(c[m>>2]|0)+8;while(1){if((c[g>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[l>>2]=c[(c[h>>2]|0)+16>>2];if(((d[(c[l>>2]|0)+42>>0]|0)&2|0)!=0?(c[k>>2]=c[(c[h>>2]|0)+20>>2],(c[k>>2]|0)!=0):0){while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}Lx(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0)}c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}i=n;return}function Yx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(_x(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if($x(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+52>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function _x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(ay(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(by(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(ay(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(by(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(ay(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0)|0){c[d>>2]=2;break}if(by(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}if(by(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function $x(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+32>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(Zx(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ay(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(by(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function by(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=cy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[d>>2]|0)+4>>2]&255](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(by(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}if(by(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[d>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!(Zx(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else{if(!(ay(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}function dy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;n=J+112|0;o=J+108|0;x=J+104|0;z=J+100|0;k=J+96|0;m=J+92|0;l=J+88|0;j=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;r=J+64|0;p=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;q=J+120|0;y=J+44|0;h=J+40|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+24>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 27:{c[I>>2]=Fy(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{Gy(c[z>>2]|0,c[x>>2]|0,30424,32);c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==27){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Fy(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 151:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[c[z>>2]>>2]|0)+62>>0]|0;Gy(c[z>>2]|0,c[x>>2]|0,30441,16);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=If(c[G>>2]|0)|0;c[v>>2]=gi(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=gi(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Hy(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){Ah(c[z>>2]|0,30451,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Mw(c[z>>2]|0,31,0,c[(c[v>>2]|0)+20>>2]|0,0)|0;if(c[p>>2]|0){if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+20>>2];Ah(H,30522,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}else{if(e[(c[v>>2]|0)+2>>1]&10240){B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288}if(e[(c[v>>2]|0)+2>>1]&2048)break;Gy(c[z>>2]|0,c[x>>2]|0,30557,32);break}}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;Ah(F,30585,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=31;do if((H|0)==31){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+140+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;Ah(H,30621,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;Ah(H,30644,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}ay(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-103;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Iy(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(2|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 75:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],Gy(c[z>>2]|0,c[x>>2]|0,30689,52),Zx(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32}break}case 135:{Gy(c[z>>2]|0,c[x>>2]|0,30700,52);break}default:{}}if(c[(c[z>>2]|0)+68>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+65>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function ey(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(e[(c[x>>2]|0)+6>>1]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(e[(c[x>>2]|0)+6>>1]&32)){Kx(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+68>>2]|0)h=1;else h=(d[(c[j>>2]|0)+65>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+52>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+6|0;b[f>>1]=e[f>>1]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(fy(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(fy(v,c[(c[x>>2]|0)+64>>2]|0)|0){h=11;break}if(e[(c[x>>2]|0)+6>>1]&16384){c[t>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+8+20>>2];c[(c[t>>2]|0)+48>>2]=c[(c[x>>2]|0)+48>>2];c[(c[x>>2]|0)+48>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+32>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+32>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+496>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+496>>2]=c[(c[o>>2]|0)+8>>2];Vx(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+496>>2]=c[w>>2];if(c[(c[A>>2]|0)+68>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+65>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+32>>2];c[v+16>>2]=c[s>>2];if(gy(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+40>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&2|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+6|0;b[f>>1]=e[f>>1]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+44>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(fy(v,c[(c[x>>2]|0)+44>>2]|0)|0){h=39;break}if(fy(v,c[(c[x>>2]|0)+36>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+32>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+32>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(gy(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(e[(c[x>>2]|0)+6>>1]&16384){c[u>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+8+20>>2];c[(c[x>>2]|0)+48>>2]=c[(c[u>>2]|0)+48>>2];c[(c[u>>2]|0)+48>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(hy(v,c[x>>2]|0,c[(c[x>>2]|0)+48>>2]|0,29962)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+65>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(hy(v,c[x>>2]|0,c[n>>2]|0,29968)|0){h=58;break a}if(d[(c[j>>2]|0)+65>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+56>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+56>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+52>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Ah(c[A>>2]|0,29918,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Ah(c[A>>2]|0,29974,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{iy(c[A>>2]|0,c[(c[x>>2]|0)+56>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(jy(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function fy(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Ey(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+464>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4098;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4099;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];by(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+68>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&2){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(fy(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function hy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=Tx(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=my(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(ky(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(fy(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(py(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){ly(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=yy(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function iy(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+8|0;j=h+16|0;f=h+12|0;c[j>>2]=a;c[f>>2]=b;b=c[j>>2]|0;if((e[(c[f>>2]|0)+6>>1]|0)&256){Ah(b,30184,h);i=h;return}else{c[g>>2]=xy(d[(c[f>>2]|0)+4>>0]|0)|0;Ah(b,30230,g);i=h;return}}function jy(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+48>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+88+8>>2]|0)){Ah(c[r>>2]|0,30033,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+56>>2]=0;while(1){if(!(c[(c[g>>2]|0)+52>>2]|0))break;c[(c[(c[g>>2]|0)+52>>2]|0)+56>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=Tx(c[c[n>>2]>>2]|0)|0;if(ky(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=my(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=ny(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+65>>0]|0))c[j>>2]=oy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;Zu(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Jv(c[h>>2]|0,132,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=95)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}Zu(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+56>>2]}if((g|0)==18){ly(c[r>>2]|0,29962,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ah(u,30067,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function ky(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=ky(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(ky(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function ly(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Ah(b,30128,g);i=f;return}function my(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==27){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(Td(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=ry(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return b|0}function oy(d,e,f){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,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+32>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+69>>0]|0;a[(c[n>>2]|0)+69>>0]=1;c[m>>2]=fy(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+69>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(py(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function py(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==95?(py(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==95?(py(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(Td(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(yQ(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==95?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(py(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(py(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(qy(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function qy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(py(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function ry(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+64|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;m=t+28|0;s=t+24|0;k=t+20|0;h=t+16|0;f=t+12|0;j=t+8|0;g=t+4|0;l=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(c[o>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[m>>2]=c[p>>2]&1;c[k>>2]=0;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=sy(c[o>>2]|0,c[p>>2]|0)|0;c[s>>2]=Fw(b,e,((e|0)<0)<<31>>31)|0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[h>>2]=ty(c[o>>2]|0,c[p>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(If(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[m>>2]|0)){c[g>>2]=uy(c[o>>2]|0)|0;iR(c[s>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<48)kR((c[s>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}else iR(c[s>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[s>>2]|0)+(c[f>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=k;c[l>>2]=k;iR(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&16384)){d=c[n>>2]|0;a=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){m=Hx(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=vy(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[o>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&16384){s=c[r>>2]|0;i=t;return s|0}s=ny(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s;s=ny(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}p=wy(a,c[p>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+p;if(c[(c[r>>2]|0)+4>>2]&8192){p=ry(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,s)|0;c[(c[r>>2]|0)+12>>2]=p;p=ry(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,s)|0;c[(c[r>>2]|0)+16>>2]=p}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=wy(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=sy(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(sy(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function uy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function vy(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Fw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Fw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Sf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=ny(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=nh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=nh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(ty(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(If(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function xy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=30312;break}case 118:{c[b>>2]=30322;break}case 117:{c[b>>2]=30332;break}default:c[b>>2]=30339}i=d;return c[b>>2]|0}function yy(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+65>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+88+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Ah(s,30345,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}zy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){ly(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function zy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=ny(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Ay(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==95)c[p>>2]=By(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;Zu(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=nh(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Sf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];by(f,c[d>>2]|0)|0;i=g;return}function By(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Cy(f,c[j>>2]|0);d=Yv(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=If(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Dy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+88+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Ah(j,30376,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function Fy(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&20){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(Td(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(e[(c[(c[x>>2]|0)+20>>2]|0)+6>>1]&1024|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Ly(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(Td(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(Td(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(My(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+24}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+420>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+440>>0];if((c[u>>2]|0)!=109?(Td(30795,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+420>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(Td(30799,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+420>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(Td(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+24}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(qi(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+432|0;c[h>>2]=c[h>>2]|k;break}else{h=f+436|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(qi(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(Td(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Ah(W,30803,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}zy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,19266,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?30834:30849;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Ah(k,30884,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Ah(k,30894,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Ah(W,30871,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=lR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}Zu(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;Zu(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?62:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))Ny(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function Gy(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=30711;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=30757}else c[l>>2]=30739;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Ah(n,30775,k);i=m;return}function Hy(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Ky(a,f,If(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function Iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;ay(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Jy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function Ky(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;r=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;q=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[q>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[r>>2]=1;else{c[r>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]|0)+(d[m>>0]|0)+-3;c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((a[c[w>>2]>>0]|0)!=48)break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19267+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=rR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=gR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19267+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=rR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=gR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&4))break b;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=38;c:do if((o|0)==38){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[q>>2]|0)<1e4)j=((c[q>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[q>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=1}}while(0);if((c[A>>2]|0)!=0&(c[y>>2]|0)!=0)while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}}}while(0);r=_(c[q>>2]|0,c[z>>2]|0)|0;c[q>>2]=r+(c[p>>2]|0);if((c[q>>2]|0)<0){c[z>>2]=-1;c[q>>2]=_(c[q>>2]|0,-1)|0}else c[z>>2]=1;r=t;do if((c[r>>2]|0)!=0|(c[r+4>>2]|0)!=0){d:do if((c[z>>2]|0)>0)while(1){r=t;p=c[r+4>>2]|0;if(!((p|0)<214748364|(p|0)==214748364&(c[r>>2]|0)>>>0<3435973836?(c[q>>2]|0)>0:0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=rR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}else while(1){r=t;r=qR(c[r>>2]|0,c[r+4>>2]|0,10,0)|0;if(!((r|0)!=0|(C|0)!=0?0:(c[q>>2]|0)>0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=pR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}while(0);p=(c[u>>2]|0)<0;r=t;o=c[r>>2]|0;r=c[r+4>>2]|0;b=fR(0,0,o|0,r|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:r;if(!(c[q>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[q>>2]|0)>307&(c[q>>2]|0)<342){while(1){if(!((c[q>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}if((c[q>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[q>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}while(1){if((c[q>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[q>>2]=(c[q>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}else h[D>>3]=((c[u>>2]|0)<0?(c[A>>2]|0)!=0:0)?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0:0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Ly(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(Td(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function My(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(Td(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function Ny(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+288>>2]|0)){i=s;return}c[o>>2]=Dh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==62)c[q>>2]=c[(c[k>>2]|0)+420>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[q>>2]|0)+32>>1]|0)*24|0)>>2];break}else{c[r>>2]=20759;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)>>2];while(0);if(2!=(Oy(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;n=p+16|0;m=p;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;k=p+32|0;o=p+28|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=Sb[c[(c[k>>2]|0)+288>>2]&255](c[(c[k>>2]|0)+292>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+496>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}Nw(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;Ah(e,30901,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;Ah(e,30934,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0} -function St(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function Tt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function Ut(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=Vt(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function Vt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Is(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function Wt(b,d,e,f){b=b|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;l=i;i=i+32|0;j=l+20|0;n=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[n>>2]=b;c[m>>2]=d;c[g>>2]=e;c[h>>2]=f;c[k>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if(!(c[k>>2]|0)){g=7;break}if((zd(c[(c[k>>2]|0)+20>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==0?(a[(c[(c[k>>2]|0)+20>>2]|0)+(c[h>>2]|0)>>0]|0)==0:0){g=5;break}c[k>>2]=c[(c[k>>2]|0)+24>>2]}if((g|0)==5){c[j>>2]=c[k>>2];n=c[j>>2]|0;i=l;return n|0}else if((g|0)==7){c[j>>2]=0;n=c[j>>2]|0;i=l;return n|0}return 0}function Xt(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o+16|0;n=o;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;h=c[k>>2]|0;if((c[l>>2]|0)==-2){c[j>>2]=(c[h+12>>2]|0)==0?0:6;n=c[j>>2]|0;i=o;return n|0}if((b[h>>1]|0)!=(c[l>>2]|0)?(b[c[k>>2]>>1]|0)>=0:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if((b[c[k>>2]>>1]|0)==(c[l>>2]|0))c[n>>2]=4;else c[n>>2]=1;if((d[m>>0]|0)!=(e[(c[k>>2]|0)+2>>1]&3|0)){if(d[m>>0]&e[(c[k>>2]|0)+2>>1]&2)c[n>>2]=(c[n>>2]|0)+1}else c[n>>2]=(c[n>>2]|0)+2;c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}function Yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;j=k+8|0;l=k+4|0;m=k+20|0;h=k;c[f>>2]=b;c[g>>2]=e;c[l>>2]=If(c[(c[g>>2]|0)+20>>2]|0)|0;a[m>>0]=a[c[(c[g>>2]|0)+20>>2]>>0]|0;c[h>>2]=((d[18477+(d[m>>0]|0)>>0]|0)+(c[l>>2]|0)|0)%23|0;c[j>>2]=Wt(c[f>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){c[(c[g>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[g>>2];i=k;return}else{c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+24>>2]=c[(c[f>>2]|0)+(c[h>>2]<<2)>>2];c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]=c[g>>2];i=k;return}}function Zt(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=_t(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function _t(f,g){f=f|0;g=g|0;var 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;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=_g(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=yh(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26420+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26420+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Ug(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=$t(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function $t(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(au(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+248+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[56>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+28>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=f;return}function cu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Nf(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)iu(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+312+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)iu(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}ju(c[b>>2]|0);i=k;return}function du(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;gu(c[d>>2]|0,68);i=b;return 0}function eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(fu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function fu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+332>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+332>>2];c[(c[d>>2]|0)+332>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+308>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;hu(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Sf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+308>>2]=0;i=l;return}function hu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Sf(c[d>>2]|0,c[b>>2]|0);i=f;return}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];hu(c[e>>2]|0);i=h;return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+336>>2];c[(c[b>>2]|0)+336>>2]=0;if(!(c[d>>2]|0)){i=f;return}Oh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];hu(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function ku(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function lu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1584;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[410]=(c[53]|0)==0&1;if((c[410]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[411]=c[55];c[399]=10;c[409]=1;i=d;return 0}else{c[411]=0;c[399]=10;c[409]=1;i=d;return 0}return 0}function mu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1584;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function nu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[410]|0)*52|0);b=c[n>>2]|0;c[k>>2]=ig(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[410]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1584;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Eu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}uu(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;wu(c[e>>2]|0);i=g;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function qu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Bu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function ru(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}yu(c[h>>2]|0,1);i=k;return}function su(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Au(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Au(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+24>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);wu(c[d>>2]|0);Kd(c[(c[d>>2]|0)+56>>2]|0);Kd(c[(c[d>>2]|0)+48>>2]|0);Kd(c[d>>2]|0);i=b;return}function vu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;wu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function wu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;xu(c[e>>2]|0)|0;yu(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function xu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}zu(c[d>>2]|0);i=h;return}function zu(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else Yi(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Au(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+44>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))xu(c[h>>2]|0)|0;zu(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Bu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=xu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Cu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Du(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Eu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Du(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];yu(c[o>>2]|0,0);xu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){zu(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Fu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Du(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[413]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[412]|0):0){c[b>>2]=c[420];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Hu()|0;e=c[b>>2]|0;i=d;return e|0}function Eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Sj();c[d>>2]=ig(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Tj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Fu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Gu(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Sj();c[j>>2]=ej(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Tj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Gu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[411]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Sj();if((c[411]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[411]|0;m=rR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[411]|0;b=rR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=rR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){o=j;c[o>>2]=_(c[(c[e>>2]|0)+12>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[o+4>>2]=0}o=j;o=_f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Tj();a:do if(c[k>>2]|0){o=$f(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Hu(){return c[77]|0}function Iu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=_Q((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,27278,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Ju(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;$Q(c[d>>2]|0);i=b;return}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=bR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Lu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,27242,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Lu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Mu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Nu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Ou(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Pu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Yb[c[e>>2]&255](1612,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Qu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[40089+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=159;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=90;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=159;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=89;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=91;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=159;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=92;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=93;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=79;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=81;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=87;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=82;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=83;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=88;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=80;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=160;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=86;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=94;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=85;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=96;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=27;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[19267+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?27:160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[19267+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[19267+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=160;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[40089+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[19267+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=27;c[n>>2]=Oi(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=160;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=160;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[19267+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[19267+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[19267+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=160;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=27;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function Ru(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+32|0;p=o+28|0;j=o+24|0;h=o+20|0;l=o+8|0;k=o+4|0;n=o;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;c[(c[n>>2]|0)+4>>2]=-1;b[(c[n>>2]|0)+12>>1]=0;a[(c[n>>2]|0)+12+2>>0]=0};c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];c[(c[n>>2]|0)+8>>2]=c[h>>2];while(1){c[k>>2]=cv(c[n>>2]|0,c[j>>2]&255)|0;h=c[k>>2]|0;do if((c[k>>2]|0)>976){g=c[n>>2]|0;if((h|0)<=1304){ev(g,(c[k>>2]|0)-977|0);break}else{p=c[j>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];fv(g,p,m);av(c[n>>2]|0,c[j>>2]&255,l);c[j>>2]=253;break}}else{if((h|0)>435)c[k>>2]=(c[k>>2]|0)+328;dv(c[n>>2]|0,c[k>>2]|0,c[j>>2]|0,l);p=(c[n>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+-1;c[j>>2]=253}while(0);if((c[j>>2]|0)==253){h=13;break}if((c[c[n>>2]>>2]|0)<0){h=13;break}}if((h|0)==13){i=o;return}}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)<0)break;$u(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function Tu(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Rf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Sf(c[d>>2]|0,c[b>>2]|0);i=e;return}function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);Vu(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Wu(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Sf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(c[d>>2]|0,c[e>>2]|0);i=h;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Zu(a,c[c[g>>2]>>2]|0);Sf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Sf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Sf(a,c[(c[e>>2]|0)+4>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=h;return}function Wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Xu(c[f>>2]|0,c[e>>2]|0,1);i=d;return}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+52>>2];Vu(c[e>>2]|0,c[c[f>>2]>>2]|0);Yu(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);Uu(c[e>>2]|0,c[(c[f>>2]|0)+68>>2]|0);if(c[g>>2]|0)Sf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function Yu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Sf(a,c[(c[h>>2]|0)+4>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Sf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)Vu(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Qf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Wu(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Zu(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);_u(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Sf(a,c[f>>2]|0);i=j;return}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}do if(!(c[(c[e>>2]|0)+4>>2]&16384)){Zu(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Zu(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Sf(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);a=c[d>>2]|0;b=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){Wu(a,c[b>>2]|0);break}else{Vu(a,c[b>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Sf(c[d>>2]|0,c[e>>2]|0);i=f;return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Sf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(a,c[c[e>>2]>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=g;return}function $u(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-1;c[e>>2]=(c[f>>2]|0)+12+(b<<4);av(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function av(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+8>>2];do switch(d[k>>0]|0|0){case 208:case 197:case 196:case 163:{Wu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 175:case 174:{Zu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 227:case 220:case 211:case 210:case 209:case 206:case 204:case 201:case 189:case 188:case 179:{Vu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 214:case 213:case 202:case 195:{Yu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 251:case 198:{Uu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 242:case 237:case 228:case 226:case 217:case 205:case 203:{Zu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 222:case 219:case 218:{_u(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 238:case 233:{bv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 235:{_u(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];Zu(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Vu(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Wu(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);_u(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Sf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function cv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[(c[q>>2]|0)+12+(c[c[q>>2]>>2]<<4)>>1];if((c[n>>2]|0)>=977){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[15538+(c[n>>2]<<1)>>1];if((c[k>>2]|0)==-89){o=4;break}c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1501)?(d[38518+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=15;break}if((d[j>>0]|0)<=0)break;if((d[j>>0]|0)>>>0>=70){o=11;break}q=a[40019+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255)){o=11;break}a[j>>0]=a[l>>0]|0}if((o|0)==4){c[h>>2]=e[16410+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}else if((o|0)==11){c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+70;if((c[m>>2]|0)>=0&(c[m>>2]|0)<1501?(d[38518+(c[m>>2]|0)>>0]|0)==70:0){c[h>>2]=e[12532+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}}else if((o|0)==15){c[h>>2]=e[12532+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[16410+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function dv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){gH(f,c[l>>2]|0);i=n;return}else{c[m>>2]=(c[h>>2]|0)+12+(c[f>>2]<<4);b[c[m>>2]>>1]=c[j>>2];a[(c[m>>2]|0)+2>>0]=c[k>>2];m=(c[m>>2]|0)+4|0;l=c[l>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];i=n;return}}function ev(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+256|0;M=$+40|0;L=$+32|0;O=$+24|0;N=$+16|0;R=$+8|0;K=$;U=$+248|0;V=$+244|0;X=$+240|0;W=$+236|0;Y=$+224|0;Z=$+220|0;_=$+216|0;T=$+212|0;I=$+200|0;J=$+188|0;j=$+168|0;k=$+164|0;y=$+160|0;r=$+156|0;o=$+152|0;P=$+144|0;z=$+136|0;p=$+132|0;l=$+128|0;A=$+124|0;q=$+120|0;n=$+116|0;v=$+112|0;w=$+108|0;B=$+104|0;C=$+100|0;E=$+96|0;D=$+92|0;F=$+88|0;G=$+84|0;H=$+80|0;s=$+76|0;t=$+72|0;u=$+68|0;x=$+64|0;Q=$+60|0;m=$+56|0;h=$+48|0;c[U>>2]=f;c[V>>2]=g;c[T>>2]=c[(c[U>>2]|0)+8>>2];c[Z>>2]=(c[U>>2]|0)+12+(c[c[U>>2]>>2]<<4);c[Y>>2]=c[1265];c[Y+4>>2]=c[1266];c[Y+8>>2]=c[1267];a:do switch(c[V>>2]|0){case 6:{a[(c[T>>2]|0)+453>>0]=1;break}case 7:{a[(c[T>>2]|0)+453>>0]=2;break}case 8:{gv(c[T>>2]|0);break}case 9:{hv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 13:{c[Y>>2]=7;break}case 117:case 115:case 16:case 15:case 14:{c[Y>>2]=d[(c[Z>>2]|0)+2>>0];break}case 18:case 17:{iv(c[T>>2]|0);break}case 19:{jv(c[T>>2]|0);break}case 22:{kv(c[T>>2]|0,0,(c[Z>>2]|0)+4|0);break}case 23:{kv(c[T>>2]|0,1,(c[Z>>2]|0)+4|0);break}case 24:{kv(c[T>>2]|0,2,(c[Z>>2]|0)+4|0);break}case 26:{lv(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0,c[(c[Z>>2]|0)+-32+4>>2]|0);break}case 27:{mv(c[T>>2]|0);T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break}case 247:case 222:case 219:case 124:case 108:case 97:case 85:case 83:case 81:case 68:case 34:case 31:case 28:{c[Y>>2]=0;break}case 248:case 223:case 220:case 107:case 84:case 69:case 30:case 29:{c[Y>>2]=1;break}case 32:{nv(c[T>>2]|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+-16+4|0,c[(c[Z>>2]|0)+4>>2]&255,0);break}case 33:{nv(c[T>>2]|0,0,0,0,c[(c[Z>>2]|0)+4>>2]|0);Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 35:{if((c[(c[Z>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[Z>>2]|0)+4>>2]|0,25592,5)|0)==0:0){c[Y>>2]=96;break a}c[Y>>2]=0;T=c[T>>2]|0;S=c[(c[Z>>2]|0)+4>>2]|0;c[K>>2]=c[(c[Z>>2]|0)+4+4>>2];c[K+4>>2]=S;Ah(T,27365,K);break}case 38:{c[Y>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y+4>>2]=(c[(c[T>>2]|0)+508>>2]|0)-(c[(c[Z>>2]|0)+-32+4>>2]|0)+(c[(c[T>>2]|0)+508+4>>2]|0);break}case 39:{ov(c[T>>2]|0,(c[Z>>2]|0)+4|0);S=(c[Z>>2]|0)+4|0;c[Y>>2]=c[S>>2];c[Y+4>>2]=c[S+4>>2];c[(c[T>>2]|0)+328+4>>2]=0;break}case 280:case 264:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 151:case 142:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break}case 44:{pv(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 46:{c[Y>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+4>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0)-(c[(c[Z>>2]|0)+-48+4>>2]|0);break}case 47:{c[Y>>2]=c[(c[Z>>2]|0)+-80+4>>2];c[Y+4>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0)-(c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 49:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[Y+4>>2]=(c[(c[Z>>2]|0)+4+4>>2]|0)+((c[(c[Z>>2]|0)+4>>2]|0)-(c[(c[Z>>2]|0)+-16+4>>2]|0));break}case 92:case 54:{T=(c[T>>2]|0)+328|0;S=(c[Z>>2]|0)+4|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];break}case 57:case 55:{qv(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 56:{qv(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0);break}case 58:{c[I>>2]=rv(c[T>>2]|0,155,c[(c[Z>>2]|0)+4>>2]|0,0,0)|0;c[I+4>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[I+8>>2]=c[(c[Z>>2]|0)+4+8>>2];qv(c[T>>2]|0,I);break}case 59:{sv(J,c[T>>2]|0,97,(c[Z>>2]|0)+4|0);qv(c[T>>2]|0,J);break}case 61:{tv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 62:{uv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0);break}case 63:{vv(c[T>>2]|0,0,0,0,0,c[(c[Z>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 64:{wv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 65:{xv(c[T>>2]|0,0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 66:{yv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 67:{zv(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 70:{c[Y>>2]=0;break}case 71:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2]&~c[(c[Z>>2]|0)+4+4>>2]|c[(c[Z>>2]|0)+4>>2];break}case 73:case 72:{c[Y>>2]=0;c[Y+4>>2]=0;break}case 74:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];c[Y+4>>2]=255;break}case 75:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2]<<8;c[Y+4>>2]=65280;break}case 76:{c[Y>>2]=7;break}case 77:{c[Y>>2]=8;break}case 78:{c[Y>>2]=9;break}case 79:{c[Y>>2]=6;break}case 80:{c[Y>>2]=0;break}case 178:case 103:case 102:case 100:case 98:case 82:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 86:{c[Y+4>>2]=0;c[Y>>2]=0;break}case 87:{T=(c[Z>>2]|0)+-16+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break}case 90:{c[(c[T>>2]|0)+328+4>>2]=0;break}case 93:{uv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,0);break}case 94:{vv(c[T>>2]|0,0,0,0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 95:{wv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0);break}case 96:{xv(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,(c[Z>>2]|0)+-48+4|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);yv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 101:case 99:{c[Y>>2]=10;break}case 104:{c[Y>>2]=4;break}case 179:case 105:{c[Y>>2]=5;break}case 106:{Av(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 109:{Bv(c[T>>2]|0,(c[Z>>2]|0)+-128+4|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 110:{Av(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,1,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 111:{c[j>>2]=c[1268];c[j+4>>2]=c[1269];c[j+8>>2]=c[1270];c[j+12>>2]=c[1271];c[j+16>>2]=c[1272];Cv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,j)|0;Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 112:{c[k>>2]=c[(c[Z>>2]|0)+4>>2];if(c[k>>2]|0){c[(c[k>>2]|0)+68>>2]=c[(c[Z>>2]|0)+-16+4>>2];Dv(c[T>>2]|0,c[k>>2]|0)}else Uu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);c[Y>>2]=c[k>>2];break}case 119:case 113:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 114:{c[y>>2]=c[(c[Z>>2]|0)+4>>2];c[r>>2]=c[(c[Z>>2]|0)+-32+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+52>>2]|0)!=0:0){c[P+4>>2]=0;Dv(c[T>>2]|0,c[y>>2]|0);c[o>>2]=Ev(c[T>>2]|0,0,0,0,P,c[y>>2]|0,0,0)|0;c[y>>2]=Fv(c[T>>2]|0,0,c[o>>2]|0,0,0,0,0,0,0,0)|0}if(c[y>>2]|0){a[(c[y>>2]|0)+4>>0]=c[(c[Z>>2]|0)+-16+4>>2];c[(c[y>>2]|0)+52>>2]=c[r>>2];if(c[r>>2]|0){S=(c[r>>2]|0)+6|0;b[S>>1]=e[S>>1]&-513}S=(c[y>>2]|0)+6|0;b[S>>1]=e[S>>1]&-513;if((c[(c[Z>>2]|0)+-16+4>>2]|0)!=116)a[(c[T>>2]|0)+22>>0]=1}else Wu(c[c[T>>2]>>2]|0,c[r>>2]|0);c[Y>>2]=c[y>>2];break}case 116:{c[Y>>2]=116;break}case 118:{c[Y>>2]=Fv(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]&65535,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+4+4>>2]|0)|0;break}case 120:{c[Y>>2]=Fv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,0,0,0,0,0,256,0,0)|0;break}case 121:{c[p>>2]=c[(c[Z>>2]|0)+-64+4>>2];c[z>>2]=Fv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,0,0,0,0,0,768,0,0)|0;if(c[p>>2]|0){T=(c[p>>2]|0)+6|0;b[T>>1]=e[T>>1]&-513}if(c[z>>2]|0){a[(c[z>>2]|0)+4>>0]=116;c[p>>2]=c[(c[Z>>2]|0)+-64+4>>2];c[(c[z>>2]|0)+52>>2]=c[p>>2];c[Y>>2]=c[z>>2];break a}else{c[Y>>2]=c[p>>2];break a}}case 122:{c[Y>>2]=1;break}case 123:{c[Y>>2]=2;break}case 244:case 125:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];break}case 243:case 237:case 162:case 155:case 126:{c[Y>>2]=0;break}case 127:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;if((c[(c[Z>>2]|0)+4+4>>2]|0)>>>0>0)Hv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+4|0,1);Iv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-16+4|0);break}case 128:{c[l>>2]=Jv(c[c[T>>2]>>2]|0,158,0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[l>>2]|0)|0;break}case 129:{c[A>>2]=rv(c[T>>2]|0,158,0,0,(c[Z>>2]|0)+4|0)|0;c[q>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-32+4|0)|0;c[n>>2]=rv(c[T>>2]|0,122,c[q>>2]|0,c[A>>2]|0,0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[n>>2]|0)|0;break}case 132:{c[Y+4>>2]=0;break}case 133:{c[Y>>2]=ph(c[c[T>>2]>>2]|0,80,0)|0;break}case 134:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];Kv(c[Y>>2]|0);break}case 135:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];if((c[Y>>2]|0)!=0?(c[c[Y>>2]>>2]|0)>0:0)a[(c[Y>>2]|0)+8+(((c[c[Y>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[Z>>2]|0)+4>>2];break}case 136:{c[Y>>2]=0;break}case 137:{c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,(c[Z>>2]|0)+-80+4|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;Lv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-32+4|0);break}case 138:{c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-128+4>>2]|0,(c[Z>>2]|0)+-112+4|0,(c[Z>>2]|0)+-96+4|0,(c[Z>>2]|0)+-32+4|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;Mv(c[T>>2]|0,c[Y>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 139:{c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,0,0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 140:{if((((c[(c[Z>>2]|0)+-96+4>>2]|0)==0?(c[(c[Z>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[Z>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[Z>>2]|0)+4>>2]|0)==0:0){c[Y>>2]=c[(c[Z>>2]|0)+-64+4>>2];break a}if((c[c[(c[Z>>2]|0)+-64+4>>2]>>2]|0)!=1){Kv(c[(c[Z>>2]|0)+-64+4>>2]|0);c[B>>2]=Fv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0,0,0,1024,0,0)|0;c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,0,0,(c[Z>>2]|0)+-32+4|0,c[B>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break a}c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,0,0,(c[Z>>2]|0)+-32+4|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;if(c[Y>>2]|0){c[v>>2]=(c[Y>>2]|0)+8+(((c[c[Y>>2]>>2]|0)-1|0)*72|0);c[w>>2]=(c[(c[Z>>2]|0)+-64+4>>2]|0)+8;c[(c[v>>2]|0)+8>>2]=c[(c[w>>2]|0)+8>>2];c[(c[v>>2]|0)+4>>2]=c[(c[w>>2]|0)+4>>2];c[(c[v>>2]|0)+20>>2]=c[(c[w>>2]|0)+20>>2];c[(c[w>>2]|0)+4>>2]=0;c[(c[w>>2]|0)+8>>2]=0;c[(c[w>>2]|0)+20>>2]=0}Yu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 150:case 141:{c[Y>>2]=0;c[Y+4>>2]=0;break}case 143:{c[Y>>2]=Nv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0)|0;break}case 144:{c[Y>>2]=1;break}case 145:{c[Y>>2]=Ov(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,0,0)|0;break}case 146:{c[Y>>2]=Ov(c[T>>2]|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+-16+4|0,0)|0;break}case 147:{c[Y>>2]=Ov(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+-16+4|0)|0;break}case 234:case 232:case 172:case 165:case 148:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 235:case 233:case 171:case 164:case 149:{c[Y>>2]=0;break}case 152:{c[Y>>2]=0;c[Y+4>>2]=1;break}case 181:case 153:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];break}case 180:case 154:{c[Y>>2]=0;break}case 236:case 163:case 156:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 157:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;Pv(c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 158:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;Pv(c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 159:{c[Y>>2]=0;break}case 160:{c[Y>>2]=1;break}case 161:{c[Y>>2]=-1;break}case 166:{c[Y>>2]=0;c[Y+4>>2]=0;break}case 167:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];c[Y+4>>2]=0;break}case 168:{c[Y>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y+4>>2]=c[(c[Z>>2]|0)+4>>2];break}case 169:{c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 170:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0,1);Lv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,(c[Z>>2]|0)+-16+4|0);Rv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 173:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]|0,1);Lv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,(c[Z>>2]|0)+-48+4|0);Sv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,27392);Tv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 174:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;Hv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-32+4|0,1);break}case 175:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+4>>2]|0)|0;Hv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-32+4|0,1);break}case 176:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0,1);Uv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 177:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,1);Uv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 182:{c[Y>>2]=Vv(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,(c[Z>>2]|0)+4|0)|0;break}case 183:{c[Y>>2]=Vv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+4|0)|0;break}case 184:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];c[Y+8>>2]=c[T+8>>2];break}case 185:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];Wv(Y,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 192:case 191:case 186:{sv(Y,c[T>>2]|0,d[(c[Z>>2]|0)+2>>0]|0,(c[Z>>2]|0)+4|0);break}case 188:case 187:{sv(Y,c[T>>2]|0,27,(c[Z>>2]|0)+4|0);break}case 189:{c[C>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-32+4|0)|0;c[E>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+4|0)|0;c[Y>>2]=rv(c[T>>2]|0,122,c[C>>2]|0,c[E>>2]|0,0)|0;Wv(Y,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 190:{c[D>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-64+4|0)|0;c[F>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-32+4|0)|0;c[G>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+4|0)|0;c[H>>2]=rv(c[T>>2]|0,122,c[F>>2]|0,c[G>>2]|0,0)|0;c[Y>>2]=rv(c[T>>2]|0,122,c[D>>2]|0,c[H>>2]|0,0)|0;Wv(Y,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+4|0);break}case 193:{do if(((c[(c[Z>>2]|0)+4+4>>2]|0)>>>0>=2?(a[c[(c[Z>>2]|0)+4>>2]>>0]|0)==35:0)?(d[19267+(d[(c[(c[Z>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=c[T>>2]|0;j=(c[Z>>2]|0)+4|0;if(!(d[(c[T>>2]|0)+18>>0]|0)){c[R>>2]=j;Ah(h,27341,R);c[Y>>2]=0;break}c[Y>>2]=rv(h,157,0,0,j)|0;if(c[Y>>2]|0)Li((c[(c[Z>>2]|0)+4>>2]|0)+1|0,(c[Y>>2]|0)+28|0)|0}else S=161;while(0);if((S|0)==161){sv(Y,c[T>>2]|0,135,(c[Z>>2]|0)+4|0);Xv(c[T>>2]|0,c[Y>>2]|0)}Wv(Y,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+4|0);break}case 194:{c[Y>>2]=Yv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,(c[Z>>2]|0)+4|0,1)|0;c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 195:{c[Y>>2]=rv(c[T>>2]|0,38,c[(c[Z>>2]|0)+-48+4>>2]|0,0,(c[Z>>2]|0)+-16+4|0)|0;Wv(Y,(c[Z>>2]|0)+-80+4|0,(c[Z>>2]|0)+4|0);break}case 196:{if((c[(c[Z>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[Z>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[T>>2]>>2]|0)+88+24>>2]|0):0){S=c[T>>2]|0;c[N>>2]=(c[Z>>2]|0)+-64+4;Ah(S,27401,N)}c[Y>>2]=Zv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,(c[Z>>2]|0)+-64+4|0)|0;Wv(Y,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+4|0);if((c[(c[Z>>2]|0)+-32+4>>2]|0)==1?(c[Y>>2]|0)!=0:0){T=(c[Y>>2]|0)+4|0;c[T>>2]=c[T>>2]|16}break}case 197:{c[Y>>2]=Zv(c[T>>2]|0,0,(c[Z>>2]|0)+-48+4|0)|0;Wv(Y,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+4|0);break}case 198:{c[Y>>2]=Zv(c[T>>2]|0,0,(c[Z>>2]|0)+4|0)|0;Wv(Y,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+4|0);break}case 206:case 205:case 204:case 203:case 202:case 201:case 200:case 199:{_v(Y,c[T>>2]|0,d[(c[Z>>2]|0)+-16+2>>0]|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 207:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];c[Y+8>>2]=0;break}case 208:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];c[Y+8>>2]=1;break}case 209:{c[s>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+4>>2]|0)|0;c[s>>2]=Gv(c[T>>2]|0,c[s>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[Y>>2]=Zv(c[T>>2]|0,c[s>>2]|0,(c[Z>>2]|0)+-16+4|0)|0;$v(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4+8>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4+4>>2];c[Y+8>>2]=c[(c[Z>>2]|0)+4+8>>2];if(c[Y>>2]|0){T=(c[Y>>2]|0)+4|0;c[T>>2]=c[T>>2]|128}break}case 210:{c[t>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[t>>2]=Gv(c[T>>2]|0,c[t>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0)|0;c[t>>2]=Gv(c[T>>2]|0,c[t>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;c[Y>>2]=Zv(c[T>>2]|0,c[t>>2]|0,(c[Z>>2]|0)+-48+4|0)|0;$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4+8>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=c[(c[Z>>2]|0)+4+8>>2];if(c[Y>>2]|0){T=(c[Y>>2]|0)+4|0;c[T>>2]=c[T>>2]|128}break}case 211:{aw(Y,c[T>>2]|0,d[(c[Z>>2]|0)+2>>0]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0);break}case 212:{aw(Y,c[T>>2]|0,77,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 213:{_v(Y,c[T>>2]|0,73,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);bw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[Y>>2]|0,76);break}case 214:{_v(Y,c[T>>2]|0,148,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+4|0);bw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[Y>>2]|0,77);break}case 216:case 215:{cw(Y,c[T>>2]|0,d[(c[Z>>2]|0)+-16+2>>0]|0,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+-16+4|0);break}case 217:{cw(Y,c[T>>2]|0,155,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+-16+4|0);break}case 218:{cw(Y,c[T>>2]|0,156,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+-16+4|0);break}case 221:{c[u>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[u>>2]=Gv(c[T>>2]|0,c[u>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;c[Y>>2]=rv(c[T>>2]|0,74,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[Y>>2]|0)c[(c[Y>>2]|0)+20>>2]=c[u>>2];else Vu(c[c[T>>2]>>2]|0,c[u>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=c[(c[Z>>2]|0)+4+8>>2];break}case 224:{do if(!(c[(c[Z>>2]|0)+-16+4>>2]|0)){c[Y>>2]=rv(c[T>>2]|0,132,0,0,5092+(c[(c[Z>>2]|0)+-48+4>>2]<<3)|0)|0;Zu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0)}else{if((c[c[(c[Z>>2]|0)+-16+4>>2]>>2]|0)==1){c[x>>2]=c[c[(c[(c[Z>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[Z>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;Vu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);if(c[x>>2]|0){S=(c[x>>2]|0)+4|0;c[S>>2]=c[S>>2]&-257;S=(c[x>>2]|0)+4|0;c[S>>2]=c[S>>2]|512}c[Y>>2]=rv(c[T>>2]|0,(c[(c[Z>>2]|0)+-48+4>>2]|0)!=0?78:79,c[(c[Z>>2]|0)+-64+4>>2]|0,c[x>>2]|0,0)|0;break}c[Y>>2]=rv(c[T>>2]|0,75,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[Y>>2]|0){c[(c[Y>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];dw(c[T>>2]|0,c[Y>>2]|0)}else Vu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,Y)}while(0);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 225:{c[Y>>2]=rv(c[T>>2]|0,119,0,0,0)|0;if(c[Y>>2]|0){c[(c[Y>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];S=(c[Y>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[Y>>2]|0)}else Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 226:{c[Y>>2]=rv(c[T>>2]|0,75,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[Y>>2]|0){c[(c[Y>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];S=(c[Y>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[Y>>2]|0)}else Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 227:{c[Q>>2]=Nv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0)|0;c[Y>>2]=rv(c[T>>2]|0,75,c[(c[Z>>2]|0)+-48+4>>2]|0,0,0)|0;h=c[T>>2]|0;if(c[Y>>2]|0){S=Fv(h,0,c[Q>>2]|0,0,0,0,0,0,0,0)|0;c[(c[Y>>2]|0)+20>>2]=S;S=(c[Y>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[Y>>2]|0)}else Yu(c[h>>2]|0,c[Q>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-48+4+4>>2];h=c[Z>>2]|0;if(c[(c[Z>>2]|0)+4>>2]|0)h=(c[(c[Z>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[Z>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[Y+8>>2]=h;break}case 228:{S=rv(c[T>>2]|0,20,0,0,0)|0;c[Y>>2]=S;c[m>>2]=S;if(c[m>>2]|0){c[(c[m>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];S=(c[m>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[m>>2]|0)}else Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);c[Y+4>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 229:{c[Y>>2]=rv(c[T>>2]|0,136,c[(c[Z>>2]|0)+-48+4>>2]|0,0,0)|0;if(c[Y>>2]|0){if(c[(c[Z>>2]|0)+-16+4>>2]|0)h=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[Z>>2]|0)+-32+4>>2]|0;c[(c[Y>>2]|0)+20>>2]=h;dw(c[T>>2]|0,c[Y>>2]|0)}else{Vu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0);Zu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)}c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 230:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 231:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 238:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 239:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 240:{vv(c[T>>2]|0,(c[Z>>2]|0)+-112+4|0,(c[Z>>2]|0)+-96+4|0,Nv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+-64+4|0,0)|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-160+4>>2]|0,(c[Z>>2]|0)+-176+4|0,c[(c[Z>>2]|0)+4>>2]|0,0,c[(c[Z>>2]|0)+-128+4>>2]|0)|0;break}case 292:case 241:{c[Y>>2]=2;break}case 242:{c[Y>>2]=0;break}case 245:{c[Y>>2]=ew(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 246:{c[Y>>2]=ew(c[T>>2]|0,0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 249:{fw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 251:case 250:{gw(c[T>>2]|0);break}case 252:{hw(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0,0,0);break}case 253:{hw(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0,0);break}case 254:{hw(c[T>>2]|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-16+4|0,0);break}case 255:{hw(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0,1);break}case 256:{hw(c[T>>2]|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-16+4|0,1);break}case 265:{c[h>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[h+4>>2]=(c[(c[Z>>2]|0)+4>>2]|0)-(c[(c[Z>>2]|0)+-48+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);iw(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,h);break}case 266:{jw(c[T>>2]|0,(c[Z>>2]|0)+-112+4|0,(c[Z>>2]|0)+-96+4|0,c[(c[Z>>2]|0)+-80+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-64+4+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-160+4>>2]|0,c[(c[Z>>2]|0)+-128+4>>2]|0);h=c[Z>>2]|0;if(!(c[(c[Z>>2]|0)+-96+4+4>>2]|0)){T=h+-112+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break a}else{T=h+-96+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break a}}case 270:case 267:{c[Y>>2]=35;break}case 268:{c[Y>>2]=31;break}case 269:{c[Y>>2]=49;break}case 272:case 271:{c[Y>>2]=d[(c[Z>>2]|0)+2>>0];c[Y+4>>2]=0;break}case 273:{c[Y>>2]=110;c[Y+4>>2]=c[(c[Z>>2]|0)+4>>2];break}case 297:case 276:{c[Y>>2]=0;break}case 298:case 277:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 278:{c[(c[(c[(c[Z>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[(c[(c[Z>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[Y>>2]=c[(c[Z>>2]|0)+-32+4>>2];break}case 279:{c[(c[(c[Z>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];break}case 281:{S=(c[Z>>2]|0)+4|0;c[Y>>2]=c[S>>2];c[Y+4>>2]=c[S+4>>2];Ah(c[T>>2]|0,27435,O);break}case 283:{Ah(c[T>>2]|0,27530,L);break}case 284:{Ah(c[T>>2]|0,27614,M);break}case 285:{c[Y>>2]=kw(c[c[T>>2]>>2]|0,(c[Z>>2]|0)+-64+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]&255)|0;break}case 286:{c[Y>>2]=lw(c[c[T>>2]>>2]|0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]&255)|0;break}case 287:{c[Y>>2]=mw(c[c[T>>2]>>2]|0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 288:{c[Y>>2]=nw(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 289:{c[Y>>2]=rv(c[T>>2]|0,57,0,0,0)|0;if(c[Y>>2]|0)a[(c[Y>>2]|0)+1>>0]=4;c[Y+4>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 290:{c[Y>>2]=rv(c[T>>2]|0,57,0,0,(c[Z>>2]|0)+-16+4|0)|0;if(c[Y>>2]|0)a[(c[Y>>2]|0)+1>>0]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+4>>2]=c[(c[Z>>2]|0)+-80+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 291:{c[Y>>2]=1;break}case 293:{c[Y>>2]=3;break}case 294:{ow(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 295:{pw(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 296:{qw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 301:{rw(c[T>>2]|0,0,0);break}case 302:{rw(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0);break}case 303:{sw(c[T>>2]|0,0,0);break}case 304:{sw(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0);break}case 305:{tw(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,(c[Z>>2]|0)+4|0);break}case 306:{uw(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 307:{mv(c[T>>2]|0);vw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 310:{ww(c[T>>2]|0,0);break}case 311:{ww(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 312:{xw(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 315:{yw(c[T>>2]|0);break}case 319:case 318:case 317:{zw(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 323:{c[Y>>2]=0;break}case 325:case 324:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 326:{c[Y>>2]=Aw(c[T>>2]|0,0,(c[Z>>2]|0)+-80+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;break}case 327:{c[Y>>2]=Aw(c[T>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]|0,(c[Z>>2]|0)+-80+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;break}default:{}}while(0);c[X>>2]=d[27699+(c[V>>2]<<1)>>0];c[_>>2]=d[27699+(c[V>>2]<<1)+1>>0];V=c[U>>2]|0;c[V>>2]=(c[V>>2]|0)-(c[_>>2]|0);c[W>>2]=Bw(e[(c[Z>>2]|0)+(0-(c[_>>2]|0)<<4)>>1]|0,c[X>>2]&255)|0;if((c[W>>2]|0)>976){Cw(c[U>>2]|0);i=$;return}if((c[W>>2]|0)>435)c[W>>2]=(c[W>>2]|0)+328;h=c[U>>2]|0;if(c[_>>2]|0){c[h>>2]=(c[h>>2]|0)+1;c[Z>>2]=(c[Z>>2]|0)+(0-((c[_>>2]|0)-1)<<4);b[c[Z>>2]>>1]=c[W>>2];a[(c[Z>>2]|0)+2>>0]=c[X>>2];_=(c[Z>>2]|0)+4|0;c[_>>2]=c[Y>>2];c[_+4>>2]=c[Y+4>>2];c[_+8>>2]=c[Y+8>>2];i=$;return}else{dv(h,c[W>>2]|0,c[X>>2]|0,Y);i=$;return}}function fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;c[h>>2]=d;Ah(a,27341,h);c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return}function gv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;k=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if((d[(c[f>>2]|0)+65>>0]|0)==0?(c[(c[e>>2]|0)+68>>2]|0)==0:0){c[k>>2]=Pw(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((mA(c[k>>2]|0,61)|0)!=0);Yw(c[k>>2]|0,21)|0;if(!(d[(c[f>>2]|0)+65>>0]|0)){if((c[(c[e>>2]|0)+340>>2]|0)==0?(c[(c[e>>2]|0)+324>>2]|0)==0:0)break;Fz(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Hh(c[k>>2]|0,c[h>>2]|0),Eh(c[k>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+336>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+344+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+140+5>>0]|0)==0):0)Fh(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+456>>2]|0))break;c[l>>2]=Ax(c[f>>2]|0,c[(c[(c[e>>2]|0)+524>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;Uw(c[k>>2]|0,149,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+456>>2]=0;eH(c[e>>2]|0);fH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+324>>2]|0){c[j>>2]=c[(c[e>>2]|0)+324>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;xA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Ez(c[k>>2]|0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)?(a[(c[f>>2]|0)+65>>0]|0)==0:0){if((c[(c[e>>2]|0)+412>>2]|0)!=0?(c[(c[e>>2]|0)+72>>2]|0)==0:0)c[(c[e>>2]|0)+72>>2]=1;Jh(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}if(c[(c[e>>2]|0)+12>>2]|0){i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Mw(c[d>>2]|0,22,38426,0,0)|0){i=j;return}c[h>>2]=Pw(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Rw(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Hh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Yw(c[h>>2]|0,1)|0;i=j;return}function iv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mw(c[b>>2]|0,22,38449,0,0)|0){i=e;return}c[d>>2]=Pw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}xz(c[d>>2]|0,1,1)|0;i=e;return}function jv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mw(c[b>>2]|0,22,38440,0,0)|0){i=e;return}c[d>>2]=Pw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Rw(c[d>>2]|0,1,1,1)|0;i=e;return}function kv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Dw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=Pw(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Mw(c[e>>2]|0,32,c[6348+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){Uw(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Sf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function lv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+140+5>>0]|0)!=0?(c[(c[A>>2]|0)+140>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+140+4>>0];c[H>>2]=nh(c[A>>2]|0,(c[I>>2]|0)==1?20769:20788)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=tz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Ah(c[w>>2]|0,38316,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Dw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+500|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(yx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+140+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Mw(c[w>>2]|0,18,(c[o>>2]|0)==1?20769:20788,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(Mw(c[w>>2]|0,d[38357+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+454>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(pz(c[w>>2]|0)|0)break a;c[r>>2]=pi(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Fj(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Ah(I,38385,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){bx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Ah(m,38361,G);break a}}while(0);c[r>>2]=ph(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+68|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+488>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(yQ(c[H>>2]|0,29688)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+140+5>>0]|0){i=J;return}H=Pw(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}ax(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)Yw(c[F>>2]|0,149)|0;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+392>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+76|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+396>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;Vw(c[F>>2]|0,51,c[I>>2]|0,c[E>>2]|0,2)|0;Hh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=xz(c[F>>2]|0,45,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;Vw(c[F>>2]|0,52,c[I>>2]|0,2,c[q>>2]|0)|0;Vw(c[F>>2]|0,52,c[I>>2]|0,5,d[(c[A>>2]|0)+62>>0]|0)|0;Fz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)Rw(m,22,0,c[D>>2]|0)|0;else{H=Rw(m,122,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+424>>2]=H}dH(c[w>>2]|0,c[I>>2]|0);Rw(c[F>>2]|0,74,0,c[C>>2]|0)|0;Uw(c[F>>2]|0,27,6,c[E>>2]|0,0,38420,-2)|0;Vw(c[F>>2]|0,75,0,c[E>>2]|0,c[C>>2]|0)|0;Fh(c[F>>2]|0,8);Yw(c[F>>2]|0,61)|0;i=J;return}}while(0);Sf(c[A>>2]|0,c[H>>2]|0);i=J;return}function mv(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function nv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+192|0;l=R+188|0;m=R+184|0;n=R+196|0;o=R+180|0;w=R+176|0;r=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+488>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+140+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+140>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Ah(c[k>>2]|0,37995,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Ah(H,38045,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;ZG(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Dh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)SG(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);_G(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;VG(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+140+5>>0]|0)){c[G>>2]=Pw(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}xz(c[G>>2]|0,61,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=33805;c[Q>>2]=38077}else{c[P>>2]=36955;c[Q>>2]=38083}do if(c[o>>2]|0){H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+76|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Bx(c[k>>2]|0);Vw(c[G>>2]|0,55,1,c[(c[k>>2]|0)+396>>2]|0,c[t>>2]|0)|0;Fh(c[G>>2]|0,16);c[(c[k>>2]|0)+72>>2]=2;c[q>>2]=(Bz(c[G>>2]|0)|0)+1;Vw(c[G>>2]|0,16,c[F>>2]|0,0,c[q>>2]|0)|0;ZA(s,13,c[F>>2]|0);Cv(c[k>>2]|0,c[o>>2]|0,s)|0;xC(c[G>>2]|0,c[F>>2]|0);Fz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+68>>2]|0){i=R;return}c[C>>2]=Jx(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Qf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=xz(c[G>>2]|0,18,c[s+4>>2]|0)|0;Vw(c[G>>2]|0,49,c[s+8>>2]|0,c[s+12>>2]|0,c[D>>2]|0)|0;AC(c[G>>2]|0,c[w>>2]|0,0);Rw(c[G>>2]|0,74,1,c[E>>2]|0)|0;Vw(c[G>>2]|0,75,1,c[D>>2]|0,c[E>>2]|0)|0;Ez(c[G>>2]|0,c[p>>2]|0)|0;Fz(c[G>>2]|0,c[p>>2]|0);xz(c[G>>2]|0,61,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=$G(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+508|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+500>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+500>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Bh(J,38088,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?20769:20788;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+396>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+392>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;Ow(Q,38103,M);Sf(c[r>>2]|0,c[O>>2]|0);Qw(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];Ow(Q,38190,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];Sw(O,P,Bh(Q,38232,K)|0)}if(!(a[(c[r>>2]|0)+140+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Oj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){jh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+488>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+500>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Cx(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function ov(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;o=r+8|0;n=r;f=r+40|0;g=r+36|0;l=r+32|0;k=r+28|0;p=r+24|0;m=r+20|0;j=r+16|0;h=r+12|0;c[f>>2]=d;c[g>>2]=e;c[j>>2]=c[c[f>>2]>>2];d=c[(c[f>>2]|0)+488>>2]|0;c[l>>2]=d;if(!d){i=r;return}if(((b[(c[l>>2]|0)+34>>1]|0)+1|0)>(c[(c[j>>2]|0)+88+8>>2]|0)){q=c[f>>2]|0;c[n>>2]=c[c[l>>2]>>2];Ah(q,37946,n);i=r;return}c[p>>2]=Dw(c[j>>2]|0,c[g>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[l>>2]|0)+34>>1]|0))break;if(!(Td(c[p>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)>>2]|0)|0)){q=8;break}c[k>>2]=(c[k>>2]|0)+1}if((q|0)==8){q=c[f>>2]|0;c[o>>2]=c[p>>2];Ah(q,37969,o);Sf(c[j>>2]|0,c[p>>2]|0);i=r;return}do if(!(b[(c[l>>2]|0)+34>>1]&7)){c[h>>2]=Ew(c[j>>2]|0,c[(c[l>>2]|0)+4>>2]|0,((b[(c[l>>2]|0)+34>>1]|0)+8|0)*24|0,0)|0;if(c[h>>2]|0){c[(c[l>>2]|0)+4>>2]=c[h>>2];break}Sf(c[j>>2]|0,c[p>>2]|0);i=r;return}while(0);c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+((b[(c[l>>2]|0)+34>>1]|0)*24|0);q=c[m>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[c[m>>2]>>2]=c[p>>2];a[(c[m>>2]|0)+21>>0]=65;a[(c[m>>2]|0)+22>>0]=1;q=(c[l>>2]|0)+34|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;i=r;return}function pv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[h>>2]|0)){i=k;return}if((b[(c[h>>2]|0)+34>>1]|0)<1){i=k;return}c[j>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((b[(c[h>>2]|0)+34>>1]|0)-1|0)*24|0);Sf(c[c[f>>2]>>2]|0,c[(c[j>>2]|0)+12>>2]|0);e=Dw(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=e;e=jx(c[(c[j>>2]|0)+12>>2]|0,(c[j>>2]|0)+22|0)|0;a[(c[j>>2]|0)+21>>0]=e;i=k;return}function qv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[j>>2]|0)){e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;Zu(e,l);i=m;return}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(((b[(c[j>>2]|0)+34>>1]|0)-1|0)*24|0);if(YG(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+140+5>>0]|0)|0){Zu(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0);e=ny(c[h>>2]|0,c[c[g>>2]>>2]|0,1)|0;c[(c[k>>2]|0)+4>>2]=e;Sf(c[h>>2]|0,c[(c[k>>2]|0)+8>>2]|0);e=(c[(c[g>>2]|0)+8>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0;e=Iw(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+8>>2]=e;e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;Zu(e,l);i=m;return}else{e=c[f>>2]|0;c[l>>2]=c[c[k>>2]>>2];Ah(e,37901,l);e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;Zu(e,l);i=m;return}}function rv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==72?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[m>>2]=az(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=cz(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;dz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Ey(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;e=rv(c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function tv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+(((b[(c[g>>2]|0)+34>>1]|0)-1|0)*24|0)+20>>0]=c[f>>2];i=h;return}function uv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;p=z+40|0;r=z+36|0;m=z+32|0;l=z+28|0;n=z+24|0;o=z+20|0;q=z+16|0;x=z+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[p>>2]=c[(c[s>>2]|0)+488>>2];c[r>>2]=0;c[m>>2]=-1;if(!(c[p>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}if(d[(c[s>>2]|0)+454>>0]|0){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}if(d[(c[p>>2]|0)+42>>0]&4){x=c[s>>2]|0;c[k>>2]=c[c[p>>2]>>2];Ah(x,37804,k);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}k=(c[p>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[p>>2]|0)+34>>1]|0)-1;q=(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+23|0;a[q>>0]=d[q>>0]|1;c[r>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2];c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=Tx(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;TG(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==27){c[q>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break b;k=(Td(c[q>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}k=(c[(c[p>>2]|0)+4>>2]|0)+(h*24|0)+23|0;a[k>>0]=d[k>>0]|1;c[r>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[r>>2]|0)!=0?(r=(Td(c[r>>2]|0,19623)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[p>>2]|0)+32>>1]=c[m>>2];a[(c[p>>2]|0)+43>>0]=c[u>>2];y=(c[p>>2]|0)+42|0;a[y>>0]=d[y>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}a[(c[s>>2]|0)+452>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}h=c[s>>2]|0;if(c[v>>2]|0){Ah(h,37845,y);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}c[x>>2]=vv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0)|0;if(c[x>>2]|0){y=(c[x>>2]|0)+55|0;a[y>>0]=a[y>>0]&-4|2}c[t>>2]=0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}function vv(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=i;i=i+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;q=ya+332|0;r=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;c[F>>2]=f;c[q>>2]=g;c[r>>2]=h;c[ra>>2]=j;c[sa>>2]=k;c[la>>2]=l;c[G>>2]=m;c[ta>>2]=n;c[s>>2]=o;c[H>>2]=p;c[wa>>2]=0;c[oa>>2]=0;c[va>>2]=0;c[xa>>2]=0;c[ua>>2]=c[c[F>>2]>>2];c[W>>2]=0;c[O>>2]=0;c[ja>>2]=0;c[X>>2]=0;a:do if((((d[(c[ua>>2]|0)+65>>0]|0)==0?(d[(c[F>>2]|0)+454>>0]|0)==0:0)?(c[(c[F>>2]|0)+68>>2]|0)<=0:0)?0==(pz(c[F>>2]|0)|0):0){p=c[F>>2]|0;if(c[ra>>2]|0){c[ma>>2]=tz(p,c[q>>2]|0,c[r>>2]|0,W)|0;if((c[ma>>2]|0)<0)break;if(((a[(c[ua>>2]|0)+140+5>>0]|0)==0?(c[oa>>2]=DB(c[F>>2]|0,c[ra>>2]|0)|0,(c[oa>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[ma>>2]=1;EB(x,c[F>>2]|0,c[ma>>2]|0,33970,c[W>>2]|0);FB(x,c[ra>>2]|0)|0;c[oa>>2]=_w(c[F>>2]|0,0,(c[ra>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[ma>>2]|0)==1?(c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){qa=c[F>>2]|0;c[y>>2]=c[c[oa>>2]>>2];Ah(qa,37370,y);break}if(d[(c[oa>>2]|0)+42>>0]&32)c[X>>2]=Ej(c[oa>>2]|0)|0}else{c[oa>>2]=c[p+488>>2];if(!(c[oa>>2]|0))break;c[ma>>2]=Dh(c[ua>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[T>>2]=(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);if(((zd(c[c[oa>>2]>>2]|0,28715,7)|0)==0?(d[(c[ua>>2]|0)+140+5>>0]|0)==0:0)?(zd((c[c[oa>>2]>>2]|0)+7|0,37420,9)|0)!=0:0){qa=c[F>>2]|0;c[C>>2]=c[c[oa>>2]>>2];Ah(qa,37430,C);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ah(c[F>>2]|0,37458,D);break}if(d[(c[oa>>2]|0)+42>>0]&16){Ah(c[F>>2]|0,37483,z);break}if(c[W>>2]|0){c[xa>>2]=Dw(c[ua>>2]|0,c[W>>2]|0)|0;if(!(c[xa>>2]|0))break;if(yx(c[F>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ua>>2]|0)+140+5>>0]|0)==0?(pi(c[ua>>2]|0,c[xa>>2]|0,0)|0)!=0:0){qa=c[F>>2]|0;c[A>>2]=c[xa>>2];Ah(qa,37517,A);break}if(Fj(c[ua>>2]|0,c[xa>>2]|0,c[c[T>>2]>>2]|0)|0){p=c[F>>2]|0;if(c[H>>2]|0){bx(p,c[ma>>2]|0);break}else{c[$>>2]=c[xa>>2];Ah(p,37551,$);break}}}else{c[v>>2]=c[(c[oa>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}$=c[ua>>2]|0;H=c[t>>2]|0;c[B>>2]=c[c[oa>>2]>>2];c[B+4>>2]=H;c[xa>>2]=Bh($,37575,B)|0;if(!(c[xa>>2]|0))break}c[E>>2]=c[c[T>>2]>>2];if((Mw(c[F>>2]|0,18,(c[ma>>2]|0)==1?20769:20788,0,c[E>>2]|0)|0)==0?(c[I>>2]=1,c[I>>2]=(c[ma>>2]|0)==1?3:1,(Mw(c[F>>2]|0,c[I>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[E>>2]|0)|0)==0):0){if(!(c[sa>>2]|0)){Cy(w,c[(c[(c[oa>>2]|0)+4>>2]|0)+(((b[(c[oa>>2]|0)+34>>1]|0)-1|0)*24|0)>>2]|0);$=c[F>>2]|0;c[sa>>2]=Gv($,0,cz(c[ua>>2]|0,27,w,0)|0)|0;if(!(c[sa>>2]|0))break;Pv(c[sa>>2]|0,c[s>>2]|0)}else Sv(c[F>>2]|0,c[sa>>2]|0,33970);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;c[u>>2]=c[(c[(c[sa>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2];if((d[c[u>>2]>>0]|0)==95){$=1+(If(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[O>>2]=(c[O>>2]|0)+$}c[I>>2]=(c[I>>2]|0)+1}c[Q>>2]=If(c[xa>>2]|0)|0;if(c[X>>2]|0)p=e[(c[X>>2]|0)+50>>1]|0;else p=1;c[P>>2]=p;c[va>>2]=HD(c[ua>>2]|0,(c[c[sa>>2]>>2]|0)+(c[P>>2]|0)&65535,(c[Q>>2]|0)+(c[O>>2]|0)+1|0,ja)|0;if(!(a[(c[ua>>2]|0)+65>>0]|0)){c[c[va>>2]>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+((c[Q>>2]|0)+1);iR(c[c[va>>2]>>2]|0,c[xa>>2]|0,(c[Q>>2]|0)+1|0)|0;c[(c[va>>2]|0)+12>>2]=c[oa>>2];a[(c[va>>2]|0)+54>>0]=c[la>>2];$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9|((c[la>>2]|0)!=0&1)<<3&255;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-4|((c[W>>2]|0)!=0?0:1)&3;c[(c[va>>2]|0)+24>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2];b[(c[va>>2]|0)+50>>1]=c[c[sa>>2]>>2];if(c[ta>>2]|0){SG(c[F>>2]|0,c[oa>>2]|0,16,c[ta>>2]|0,0);c[(c[va>>2]|0)+36>>2]=c[ta>>2];c[ta>>2]=0}if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Z>>2]=-1;else c[Z>>2]=0;c[I>>2]=0;c[V>>2]=c[(c[sa>>2]|0)+4>>2];while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;TG(c[c[V>>2]>>2]|0);SG(c[F>>2]|0,c[oa>>2]|0,32,c[c[V>>2]>>2]|0,0);if(c[(c[F>>2]|0)+68>>2]|0)break a;c[R>>2]=Tx(c[c[V>>2]>>2]|0)|0;if((d[c[R>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(c[(c[va>>2]|0)+40>>2]|0)){c[S>>2]=vy(c[ua>>2]|0,c[sa>>2]|0,0)|0;c[(c[va>>2]|0)+40>>2]=c[S>>2];if(a[(c[ua>>2]|0)+65>>0]|0)break;c[V>>2]=(c[(c[S>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)}while(0);c[K>>2]=-2;b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-2;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}else{c[K>>2]=b[(c[R>>2]|0)+32>>1];do if((c[K>>2]|0)<0)c[K>>2]=b[(c[oa>>2]|0)+32>>1];else{if(d[(c[(c[oa>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+20>>0]|0)break;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}while(0);b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[K>>2]}c[ia>>2]=0;do if((d[c[c[V>>2]>>2]>>0]|0)==95){c[ia>>2]=c[(c[c[V>>2]>>2]|0)+8>>2];c[N>>2]=(If(c[ia>>2]|0)|0)+1;iR(c[ja>>2]|0,c[ia>>2]|0,c[N>>2]|0)|0;c[ia>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+(c[N>>2]|0);c[O>>2]=(c[O>>2]|0)-(c[N>>2]|0)}else{if((c[K>>2]|0)<0)break;c[ia>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+16>>2]}while(0);if(!(c[ia>>2]|0))c[ia>>2]=35690;if((a[(c[ua>>2]|0)+140+5>>0]|0)==0?(Dz(c[F>>2]|0,c[ia>>2]|0)|0)==0:0)break a;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[ia>>2];c[Y>>2]=d[(c[V>>2]|0)+12>>0]&c[Z>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=c[Y>>2];c[I>>2]=(c[I>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+20}if((qa|0)==65){Ah(c[F>>2]|0,37598,aa);break}b:do if(c[X>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[X>>2]|0)+50>>1]|0))break b;c[fa>>2]=b[(c[(c[X>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1];if(UG(c[(c[va>>2]|0)+4>>2]|0,e[(c[va>>2]|0)+50>>1]|0,c[fa>>2]|0)|0){ja=(c[va>>2]|0)+52|0;b[ja>>1]=(b[ja>>1]|0)+-1<<16>>16}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[fa>>2];c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[(c[X>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=a[(c[(c[X>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]|0;c[I>>2]=(c[I>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-1;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=35690}while(0);Cj(c[va>>2]|0);if(!(c[(c[F>>2]|0)+488>>2]|0))VG(c[va>>2]|0);c:do if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){c[U>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break c;if((e[(c[U>>2]|0)+50>>1]|0)==(e[(c[va>>2]|0)+50>>1]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;if((b[(c[(c[U>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)!=(b[(c[(c[va>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0))break;c[ga>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];c[ha>>2]=c[(c[(c[va>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];if((c[ga>>2]|0)!=(c[ha>>2]|0)?(Td(c[ga>>2]|0,c[ha>>2]|0)|0)!=0:0)break;c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(e[(c[U>>2]|0)+50>>1]|0))break}c[U>>2]=c[(c[U>>2]|0)+20>>2]}do if((d[(c[U>>2]|0)+54>>0]|0)!=(d[(c[va>>2]|0)+54>>0]|0)){do if((d[(c[U>>2]|0)+54>>0]|0)!=10){if((d[(c[va>>2]|0)+54>>0]|0)==10)break;qa=c[F>>2]|0;c[ba>>2]=0;Ah(qa,37659,ba)}while(0);if((d[(c[U>>2]|0)+54>>0]|0)!=10)break;a[(c[U>>2]|0)+54>>0]=a[(c[va>>2]|0)+54>>0]|0}while(0);c[wa>>2]=c[U>>2];break a}while(0);do if(a[(c[ua>>2]|0)+140+5>>0]|0){c[na>>2]=Oj((c[(c[va>>2]|0)+24>>2]|0)+24|0,c[c[va>>2]>>2]|0,c[va>>2]|0)|0;p=c[ua>>2]|0;if(c[na>>2]|0){jh(p);break a}na=p+24|0;c[na>>2]=c[na>>2]|2;if(!(c[ra>>2]|0))break;c[(c[va>>2]|0)+44>>2]=c[(c[ua>>2]|0)+140>>2]}else{if(!((c[ra>>2]|0)!=0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[F>>2]|0)+76|0;na=(c[ja>>2]|0)+1|0;c[ja>>2]=na;c[J>>2]=na;c[_>>2]=Pw(c[F>>2]|0)|0;if(!(c[_>>2]|0))break a;ax(c[F>>2]|0,1,c[ma>>2]|0);na=Yw(c[_>>2]|0,160)|0;c[(c[va>>2]|0)+44>>2]=na;Rw(c[_>>2]|0,121,c[ma>>2]|0,c[J>>2]|0)|0;if(c[G>>2]|0){c[M>>2]=(c[(c[F>>2]|0)+508>>2]|0)-(c[c[W>>2]>>2]|0)+(c[(c[F>>2]|0)+508+4>>2]|0);if((a[(c[c[W>>2]>>2]|0)+((c[M>>2]|0)-1)>>0]|0)==59)c[M>>2]=(c[M>>2]|0)+-1;na=c[ua>>2]|0;ia=c[M>>2]|0;ja=c[c[W>>2]>>2]|0;c[ca>>2]=(c[la>>2]|0)==0?19266:37701;c[ca+4>>2]=ia;c[ca+8>>2]=ja;c[ka>>2]=Bh(na,37709,ca)|0}else c[ka>>2]=0;na=c[F>>2]|0;fa=(c[ma>>2]|0)==1?20769:20788;ga=c[c[va>>2]>>2]|0;ha=c[c[oa>>2]>>2]|0;ia=c[J>>2]|0;ja=c[ka>>2]|0;c[da>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)>>2];c[da+4>>2]=fa;c[da+8>>2]=ga;c[da+12>>2]=ha;c[da+16>>2]=ia;c[da+20>>2]=ja;Ow(na,37729,da);Sf(c[ua>>2]|0,c[ka>>2]|0);if(c[ra>>2]|0){Uz(c[F>>2]|0,c[va>>2]|0,c[J>>2]|0);Qw(c[F>>2]|0,c[ma>>2]|0);ka=c[_>>2]|0;ma=c[ma>>2]|0;na=c[ua>>2]|0;c[ea>>2]=c[c[va>>2]>>2];Sw(ka,ma,Bh(na,37777,ea)|0);xz(c[_>>2]|0,147,0)|0}Fz(c[_>>2]|0,c[(c[va>>2]|0)+44>>2]|0)}while(0);if(!((c[ra>>2]|0)==0?1:(d[(c[ua>>2]|0)+140+5>>0]|0)!=0))break;do if((c[la>>2]|0)!=5)qa=132;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){qa=132;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=132;break}c[pa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[pa>>2]|0)+20>>2]|0)l=(d[(c[(c[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else l=0;p=c[(c[pa>>2]|0)+20>>2]|0;if(!l)break;c[pa>>2]=p}c[(c[va>>2]|0)+20>>2]=p;c[(c[pa>>2]|0)+20>>2]=c[va>>2]}while(0);if((qa|0)==132){c[(c[va>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[va>>2]}c[wa>>2]=c[va>>2];c[va>>2]=0}}}while(0);if(!(c[va>>2]|0)){qa=c[ua>>2]|0;va=c[ta>>2]|0;Zu(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;Vu(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;Yu(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Sf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}WG(c[ua>>2]|0,c[va>>2]|0);qa=c[ua>>2]|0;va=c[ta>>2]|0;Zu(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;Vu(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;Yu(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Sf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}function wv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+488>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+454>>0]|0)==0:0)?(Ei(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+140+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Gv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+328+4>>2]|0)){i=k;return}Hv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+328|0,1);i=k;return}Zu(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function xv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+488>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+454>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2];c[n+4>>2]=C;Ah(D,37167,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Ah(c[p>>2]|0,37230,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(If(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=ph(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];iR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Jw(c[C>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(Td(c[(c[(c[y>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Ah(D,37324,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=If(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];iR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Oj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){jh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Sf(c[t>>2]|0,c[z>>2]|0);Vu(c[t>>2]|0,c[q>>2]|0);Vu(c[t>>2]|0,c[r>>2]|0);i=E;return}function yv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+488>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function zv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+488>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Dw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Dz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Sf(e,c[l>>2]|0);i=m;return}Sf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Av(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+65>>0]|0)==0?(pz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+69|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=_w(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+69|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;zB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Dh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(zx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?20769:20788;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Mw(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Ax(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Mw(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Mw(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,28715,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36960,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Ah(w,36972,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Ah(w,37e3,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Ah(w,37034,t);break}c[q>>2]=Pw(c[h>>2]|0)|0;if(c[q>>2]|0){ax(c[h>>2]|0,1,c[o>>2]|0);pC(c[h>>2]|0,c[o>>2]|0,31729,c[c[p>>2]>>2]|0);NG(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);OG(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);Yu(c[n>>2]|0,c[j>>2]|0);i=x;return}function Bv(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+444>>1]|0)<=0){lv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+488>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(tz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Dh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,EB(v,c[w>>2]|0,c[s>>2]|0,36955,c[u>>2]|0),(GB(v,c[y>>2]|0)|0)==0):0)?(v=Hx(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=vy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+65>>0]|0)==0):0){v=(c[w>>2]|0)+508|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[19267+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;nv(c[w>>2]|0,0,B,0,0)}}else Ah(l,36919,D);Wu(c[z>>2]|0,c[y>>2]|0);Vu(c[z>>2]|0,c[x>>2]|0);i=D;return}function Cv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+432|0;w=Da;O=Da+412|0;P=Da+408|0;Q=Da+404|0;R=Da+400|0;$=Da+396|0;ga=Da+392|0;qa=Da+388|0;Ca=Da+384|0;l=Da+380|0;la=Da+376|0;pa=Da+372|0;M=Da+368|0;ma=Da+364|0;na=Da+360|0;sa=Da+356|0;ya=Da+344|0;za=Da+312|0;xa=Da+264|0;da=Da+256|0;Z=Da+252|0;ea=Da+248|0;o=Da+244|0;r=Da+240|0;m=Da+236|0;t=Da+232|0;p=Da+228|0;k=Da+208|0;s=Da+204|0;j=Da+200|0;v=Da+196|0;n=Da+192|0;u=Da+188|0;q=Da+184|0;x=Da+416|0;N=Da+152|0;aa=Da+148|0;ca=Da+144|0;fa=Da+140|0;ba=Da+136|0;_=Da+132|0;T=Da+128|0;Ba=Da+124|0;Aa=Da+120|0;ja=Da+116|0;z=Da+112|0;A=Da+108|0;oa=Da+104|0;S=Da+100|0;U=Da+96|0;ua=Da+92|0;W=Da+88|0;Y=Da+84|0;X=Da+80|0;V=Da+76|0;wa=Da+72|0;ta=Da+68|0;va=Da+64|0;ha=Da+60|0;ia=Da+56|0;ka=Da+52|0;ra=Da+48|0;H=Da+44|0;L=Da+40|0;E=Da+36|0;D=Da+32|0;I=Da+28|0;J=Da+24|0;G=Da+20|0;F=Da+16|0;K=Da+12|0;B=Da+418|0;c[P>>2]=f;c[Q>>2]=g;c[R>>2]=h;c[la>>2]=0;c[sa>>2]=1;c[ea>>2]=c[(c[P>>2]|0)+468>>2];h=(c[P>>2]|0)+472|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[P>>2]|0)+468>>2]=f;c[Z>>2]=c[c[P>>2]>>2];if(((c[Q>>2]|0)!=0?(d[(c[Z>>2]|0)+65>>0]|0)==0:0)?(c[(c[P>>2]|0)+68>>2]|0)==0:0){if(Mw(c[P>>2]|0,21,0,0,0)|0){c[O>>2]=1;Ca=c[O>>2]|0;i=Da;return Ca|0}g=xa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[R>>2]>>0]|0)<=8){Vu(c[Z>>2]|0,c[(c[Q>>2]|0)+48>>2]|0);c[(c[Q>>2]|0)+48>>2]=0;f=(c[Q>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2}Kx(c[P>>2]|0,c[Q>>2]|0,0);c[za>>2]=0;c[za+4>>2]=0;c[za+8>>2]=0;c[za+12>>2]=0;c[za+16>>2]=0;c[za+20>>2]=0;c[za+24>>2]=0;c[za+28>>2]=0;c[za>>2]=c[(c[Q>>2]|0)+48>>2];c[pa>>2]=c[(c[Q>>2]|0)+32>>2];a:do if(((c[(c[P>>2]|0)+68>>2]|0)==0?(d[(c[Z>>2]|0)+65>>0]|0)==0:0)?(c[l>>2]=(e[(c[Q>>2]|0)+6>>1]&8|0)!=0&1,(VF(c[P>>2]|0,c[R>>2]|0,c[c[c[Q>>2]>>2]>>2]|0)|0)==0):0){c[$>>2]=0;while(1){if(c[(c[Q>>2]|0)+52>>2]|0)break;if((c[$>>2]|0)>=(c[c[pa>>2]>>2]|0))break;c[o>>2]=(c[pa>>2]|0)+8+((c[$>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=17;break}c[m>>2]=(e[(c[r>>2]|0)+6>>1]&8|0)!=0&1;if(WF(c[P>>2]|0,c[Q>>2]|0,c[$>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[Q>>2]|0)+6|0;b[f>>1]=e[f>>1]|8}c[$>>2]=-1}c[pa>>2]=c[(c[Q>>2]|0)+32>>2];if(a[(c[Z>>2]|0)+65>>0]|0)break a;if((d[c[R>>2]>>0]|0)>8)c[za>>2]=c[(c[Q>>2]|0)+48>>2]}c[$>>2]=(c[$>>2]|0)+1}if((y|0)==17){Ca=c[P>>2]|0;Aa=c[c[t>>2]>>2]|0;Ba=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=Aa;c[w+8>>2]=Ba;Ah(Ca,36434,w);break}c[Ca>>2]=Pw(c[P>>2]|0)|0;if(c[Ca>>2]|0){if(c[(c[Q>>2]|0)+52>>2]|0){c[sa>>2]=XF(c[P>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0;c[(c[P>>2]|0)+468>>2]=c[ea>>2];c[O>>2]=c[sa>>2];Ca=c[O>>2]|0;i=Da;return Ca|0}c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[c[pa>>2]>>2]|0))break;c[p>>2]=(c[pa>>2]|0)+8+((c[$>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;Rw(c[Ca>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=YF(c[Q>>2]|0)|0;w=(c[P>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))ZF(c[Z>>2]|0,c[s>>2]|0,c[(c[Q>>2]|0)+36>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if((c[c[pa>>2]>>2]|0)==1){if(e[(c[Q>>2]|0)+6>>1]&2){y=41;break}if(e[(c[Z>>2]|0)+60>>1]&256){y=41;break}c[j>>2]=(Bz(c[Ca>>2]|0)|0)+1;t=(c[P>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;Vw(c[Ca>>2]|0,16,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];ZA(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[P>>2]|0)+472>>2];Cv(c[P>>2]|0,c[s>>2]|0,k)|0;w=(c[s>>2]|0)+24|0;w=Hj(c[w>>2]|0,c[w+4>>2]|0)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=w;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+8>>2];xC(c[Ca>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Fz(c[Ca>>2]|0,(c[j>>2]|0)-1|0);_F(c[P>>2]|0)}else y=41;while(0);if((y|0)==41){y=0;c[n>>2]=0;t=(c[P>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=Rw(c[Ca>>2]|0,22,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=UA(c[P>>2]|0)|0;ZA(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[P>>2]|0)+472>>2];Cv(c[P>>2]|0,c[s>>2]|0,k)|0;w=(c[s>>2]|0)+24|0;w=Hj(c[w>>2]|0,c[w+4>>2]|0)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=w;if(c[n>>2]|0)Fz(c[Ca>>2]|0,c[n>>2]|0);c[u>>2]=xz(c[Ca>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0)|0;wD(c[Ca>>2]|0,c[v>>2]|0,c[u>>2]|0);_F(c[P>>2]|0)}if(a[(c[Z>>2]|0)+65>>0]|0)break a;t=YF(c[Q>>2]|0)|0;w=(c[P>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[$>>2]=(c[$>>2]|0)+1}c[la>>2]=c[c[Q>>2]>>2];c[M>>2]=c[(c[Q>>2]|0)+36>>2];c[ma>>2]=c[(c[Q>>2]|0)+40>>2];c[na>>2]=c[(c[Q>>2]|0)+44>>2];a[ya>>0]=(e[(c[Q>>2]|0)+6>>1]&1|0)!=0;if((e[(c[Q>>2]|0)+6>>1]&9|0)==1?(qy(c[za>>2]|0,c[la>>2]|0,-1)|0)==0:0){y=(c[Q>>2]|0)+6|0;b[y>>1]=e[y>>1]&-2;y=vy(c[Z>>2]|0,c[la>>2]|0,0)|0;c[(c[Q>>2]|0)+40>>2]=y;c[ma>>2]=y}if(c[za>>2]|0){c[q>>2]=$F(c[P>>2]|0,c[za>>2]|0,0,c[c[la>>2]>>2]|0)|0;w=(c[P>>2]|0)+72|0;y=c[w>>2]|0;c[w>>2]=y+1;c[za+8>>2]=y;c[za+20>>2]=Uw(c[Ca>>2]|0,57,c[za+8>>2]|0,(c[c[za>>2]>>2]|0)+1+(c[c[la>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[za+20>>2]=-1;if((d[c[R>>2]>>0]|0)==12)Rw(c[Ca>>2]|0,57,c[(c[R>>2]|0)+4>>2]|0,c[c[la>>2]>>2]|0)|0;c[da>>2]=Cz(c[Ca>>2]|0)|0;y=(c[Q>>2]|0)+24|0;c[y>>2]=-1;c[y+4>>2]=2147483647;aG(c[P>>2]|0,c[Q>>2]|0,c[da>>2]|0);if((c[(c[Q>>2]|0)+8>>2]|0)==0?(c[za+20>>2]|0)>=0:0){bG(c[Ca>>2]|0,c[za+20>>2]|0,58);y=za+28|0;a[y>>0]=d[y>>0]|1}if(e[(c[Q>>2]|0)+6>>1]&1){y=(c[P>>2]|0)+72|0;w=c[y>>2]|0;c[y>>2]=w+1;c[ya+4>>2]=w;w=c[Ca>>2]|0;y=c[ya+4>>2]|0;c[ya+8>>2]=Uw(w,57,y,0,0,$F(c[P>>2]|0,c[c[Q>>2]>>2]|0,0,0)|0,-6)|0;Fh(c[Ca>>2]|0,8);a[ya+1>>0]=3}else a[ya+1>>0]=0;if((c[l>>2]|0)==0&(c[ma>>2]|0)==0){b[x>>1]=(d[ya>>0]|0)!=0?1024:0;c[qa>>2]=RC(c[P>>2]|0,c[pa>>2]|0,c[M>>2]|0,c[za>>2]|0,c[c[Q>>2]>>2]|0,b[x>>1]|0,0)|0;if(!(c[qa>>2]|0))break;Aa=cG(c[qa>>2]|0)|0;va=C;Ba=(c[Q>>2]|0)+24|0;wa=c[Ba+4>>2]|0;if(va>>>0>>0|((va|0)==(wa|0)?Aa>>>0<(c[Ba>>2]|0)>>>0:0)){Aa=cG(c[qa>>2]|0)|0;Ba=(c[Q>>2]|0)+24|0;c[Ba>>2]=Aa;c[Ba+4>>2]=C}do if(d[ya>>0]|0){if(!(dG(c[qa>>2]|0)|0))break;a[ya+1>>0]=dG(c[qa>>2]|0)|0}while(0);do if(c[za>>2]|0){c[za+4>>2]=eG(c[qa>>2]|0)|0;if((c[za+4>>2]|0)!=(c[c[za>>2]>>2]|0))break;c[za>>2]=0}while(0);do if((c[za+20>>2]|0)>=0){if(c[za>>2]|0)break;pA(c[Ca>>2]|0,c[za+20>>2]|0)|0}while(0);ua=c[P>>2]|0;va=c[Q>>2]|0;wa=c[la>>2]|0;Aa=c[R>>2]|0;Ba=fG(c[qa>>2]|0)|0;hG(ua,va,wa,-1,za,ya,Aa,Ba,gG(c[qa>>2]|0)|0);SC(c[qa>>2]|0)}else{c[Ba>>2]=0;c[Aa>>2]=0;c[ja>>2]=0;g=c[Q>>2]|0;do if(c[ma>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[Q>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[ma>>2]>>2];c[A>>2]=c[(c[ma>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}A=(c[Q>>2]|0)+24|0;z=c[A+4>>2]|0;if(!(z>>>0>0|(z|0)==0&(c[A>>2]|0)>>>0>100))break;A=(c[Q>>2]|0)+24|0;c[A>>2]=100;c[A+4>>2]=0}else{A=g+24|0;c[A>>2]=1;c[A+4>>2]=0}while(0);if(!(qy(c[ma>>2]|0,c[za>>2]|0,-1)|0))c[ja>>2]=1;c[T>>2]=Cz(c[Ca>>2]|0)|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[N+16>>2]=0;c[N+20>>2]=0;c[N+24>>2]=0;c[N+28>>2]=0;c[N>>2]=c[P>>2];c[N+4>>2]=c[pa>>2];c[N+12>>2]=xa;c[xa+16>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;if(c[ma>>2]|0)g=c[c[ma>>2]>>2]|0;else g=0;c[xa+12>>2]=g;c[xa+24>>2]=c[ma>>2];iG(N,c[la>>2]|0);iG(N,c[za>>2]|0);if(c[na>>2]|0)jG(N,c[na>>2]|0);c[xa+36>>2]=c[xa+32>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[xa+44>>2]|0))break;A=N+28|0;b[A>>1]=e[A>>1]|8;iG(N,c[(c[(c[xa+40>>2]|0)+(c[$>>2]<<4)>>2]|0)+20>>2]|0);A=N+28|0;b[A>>1]=e[A>>1]&-9;c[$>>2]=(c[$>>2]|0)+1}c[xa+20>>2]=c[(c[P>>2]|0)+76>>2];if(a[(c[Z>>2]|0)+65>>0]|0)break;if(c[ma>>2]|0){L=(c[P>>2]|0)+72|0;N=c[L>>2]|0;c[L>>2]=N+1;c[xa+4>>2]=N;c[oa>>2]=$F(c[P>>2]|0,c[ma>>2]|0,0,c[xa+32>>2]|0)|0;c[X>>2]=Uw(c[Ca>>2]|0,58,c[xa+4>>2]|0,c[xa+12>>2]|0,0,c[oa>>2]|0,-6)|0;N=(c[P>>2]|0)+76|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[fa>>2]=L;L=(c[P>>2]|0)+76|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[ba>>2]=N;N=(c[P>>2]|0)+76|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[ua>>2]=L;c[U>>2]=Cz(c[Ca>>2]|0)|0;L=(c[P>>2]|0)+76|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[wa>>2]=N;c[V>>2]=Cz(c[Ca>>2]|0)|0;c[aa>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;N=(c[P>>2]|0)+76|0;c[N>>2]=(c[N>>2]|0)+(c[c[ma>>2]>>2]|0);c[ca>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;N=(c[P>>2]|0)+76|0;c[N>>2]=(c[N>>2]|0)+(c[c[ma>>2]>>2]|0);Rw(c[Ca>>2]|0,22,0,c[ba>>2]|0)|0;Rw(c[Ca>>2]|0,22,0,c[fa>>2]|0)|0;Vw(c[Ca>>2]|0,25,0,c[aa>>2]|0,(c[aa>>2]|0)+(c[c[ma>>2]>>2]|0)-1|0)|0;Rw(c[Ca>>2]|0,14,c[wa>>2]|0,c[V>>2]|0)|0;c[qa>>2]=RC(c[P>>2]|0,c[pa>>2]|0,c[M>>2]|0,c[ma>>2]|0,0,(256|((c[ja>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[qa>>2]|0))break;N=eG(c[qa>>2]|0)|0;if((N|0)==(c[c[ma>>2]>>2]|0))c[_>>2]=0;else{if(d[ya>>0]|0)g=(e[(c[Q>>2]|0)+6>>1]&1|0)==0;else g=0;kG(c[P>>2]|0,g?36474:36483);c[_>>2]=1;c[ia>>2]=c[c[ma>>2]>>2];c[ha>>2]=c[ia>>2];c[ga>>2]=c[ia>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[xa+32>>2]|0))break;if((c[(c[xa+28>>2]|0)+((c[$>>2]|0)*24|0)+12>>2]|0)>=(c[ga>>2]|0)){c[ha>>2]=(c[ha>>2]|0)+1;c[ga>>2]=(c[ga>>2]|0)+1}c[$>>2]=(c[$>>2]|0)+1}c[ta>>2]=kA(c[P>>2]|0,c[ha>>2]|0)|0;fC(c[P>>2]|0);GA(c[P>>2]|0,c[ma>>2]|0,c[ta>>2]|0,0,0)|0;c[ga>>2]=c[ia>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[xa+32>>2]|0))break;c[ka>>2]=(c[xa+28>>2]|0)+((c[$>>2]|0)*24|0);if((c[(c[ka>>2]|0)+12>>2]|0)>=(c[ga>>2]|0)){c[ra>>2]=(c[ga>>2]|0)+(c[ta>>2]|0);vD(c[P>>2]|0,c[c[ka>>2]>>2]|0,c[(c[ka>>2]|0)+8>>2]|0,c[(c[ka>>2]|0)+4>>2]|0,c[ra>>2]|0);c[ga>>2]=(c[ga>>2]|0)+1}c[$>>2]=(c[$>>2]|0)+1}c[va>>2]=Wz(c[P>>2]|0)|0;Vw(c[Ca>>2]|0,49,c[ta>>2]|0,c[ha>>2]|0,c[va>>2]|0)|0;Rw(c[Ca>>2]|0,109,c[xa+4>>2]|0,c[va>>2]|0)|0;_z(c[P>>2]|0,c[va>>2]|0);nA(c[P>>2]|0,c[ta>>2]|0,c[ha>>2]|0);SC(c[qa>>2]|0);ta=(c[P>>2]|0)+72|0;va=c[ta>>2]|0;c[ta>>2]=va+1;c[Ba>>2]=va;c[xa+8>>2]=va;c[Aa>>2]=Wz(c[P>>2]|0)|0;Vw(c[Ca>>2]|0,60,c[Ba>>2]|0,c[Aa>>2]|0,c[ha>>2]|0)|0;Rw(c[Ca>>2]|0,106,c[xa+4>>2]|0,c[T>>2]|0)|0;a[xa+1>>0]=1;fC(c[P>>2]|0)}do if(c[ja>>2]|0){if(e[(c[Z>>2]|0)+60>>1]&4)break;if((c[_>>2]|0)==0?(lG(c[qa>>2]|0)|0)==0:0)break;c[za>>2]=0;pA(c[Ca>>2]|0,c[za+20>>2]|0)|0}while(0);c[Y>>2]=Bz(c[Ca>>2]|0)|0;fC(c[P>>2]|0);if(c[_>>2]|0)Vw(c[Ca>>2]|0,100,c[xa+4>>2]|0,c[Aa>>2]|0,c[Ba>>2]|0)|0;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[c[ma>>2]>>2]|0))break;if(c[_>>2]|0)Vw(c[Ca>>2]|0,47,c[Ba>>2]|0,c[ga>>2]|0,(c[ca>>2]|0)+(c[ga>>2]|0)|0)|0;else{a[xa>>0]=1;xA(c[P>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[ga>>2]|0)*20|0)>>2]|0,(c[ca>>2]|0)+(c[ga>>2]|0)|0)}c[ga>>2]=(c[ga>>2]|0)+1}ta=c[Ca>>2]|0;va=c[aa>>2]|0;Aa=c[ca>>2]|0;Ba=c[c[ma>>2]>>2]|0;Uw(ta,42,va,Aa,Ba,Vz(c[oa>>2]|0)|0,-6)|0;c[S>>2]=Bz(c[Ca>>2]|0)|0;Vw(c[Ca>>2]|0,43,(c[S>>2]|0)+1|0,0,(c[S>>2]|0)+1|0)|0;mG(c[P>>2]|0,c[ca>>2]|0,c[aa>>2]|0,c[c[ma>>2]>>2]|0);Rw(c[Ca>>2]|0,14,c[ua>>2]|0,c[U>>2]|0)|0;Rw(c[Ca>>2]|0,138,c[ba>>2]|0,c[T>>2]|0)|0;Rw(c[Ca>>2]|0,14,c[wa>>2]|0,c[V>>2]|0)|0;Fz(c[Ca>>2]|0,c[S>>2]|0);nG(c[P>>2]|0,xa);Rw(c[Ca>>2]|0,22,1,c[fa>>2]|0)|0;if(c[_>>2]|0)Rw(c[Ca>>2]|0,3,c[xa+4>>2]|0,c[Y>>2]|0)|0;else{SC(c[qa>>2]|0);pA(c[Ca>>2]|0,c[X>>2]|0)|0}Rw(c[Ca>>2]|0,14,c[ua>>2]|0,c[U>>2]|0)|0;Ez(c[Ca>>2]|0,c[T>>2]|0)|0;c[W>>2]=Bz(c[Ca>>2]|0)|0;Rw(c[Ca>>2]|0,22,1,c[ba>>2]|0)|0;xz(c[Ca>>2]|0,15,c[ua>>2]|0)|0;Gz(c[Ca>>2]|0,c[U>>2]|0);c[U>>2]=Bz(c[Ca>>2]|0)|0;Rw(c[Ca>>2]|0,138,c[fa>>2]|0,(c[U>>2]|0)+2|0)|0;xz(c[Ca>>2]|0,15,c[ua>>2]|0)|0;oG(c[P>>2]|0,xa);LA(c[P>>2]|0,c[na>>2]|0,(c[U>>2]|0)+1|0,16);hG(c[P>>2]|0,c[Q>>2]|0,c[c[Q>>2]>>2]|0,-1,za,ya,c[R>>2]|0,(c[U>>2]|0)+1|0,c[W>>2]|0);xz(c[Ca>>2]|0,15,c[ua>>2]|0)|0;Gz(c[Ca>>2]|0,c[V>>2]|0);pG(c[P>>2]|0,xa);xz(c[Ca>>2]|0,15,c[wa>>2]|0)|0}else{c[H>>2]=0;Ba=qG(c[Q>>2]|0,xa)|0;c[L>>2]=Ba;if(Ba){c[E>>2]=Dh(c[c[P>>2]>>2]|0,c[(c[L>>2]|0)+64>>2]|0)|0;Aa=(c[P>>2]|0)+72|0;Ba=c[Aa>>2]|0;c[Aa>>2]=Ba+1;c[D>>2]=Ba;c[J>>2]=0;c[G>>2]=0;c[F>>2]=c[(c[L>>2]|0)+28>>2];bx(c[P>>2]|0,c[E>>2]|0);yz(c[P>>2]|0,c[E>>2]|0,c[(c[L>>2]|0)+28>>2]|0,0,c[c[L>>2]>>2]|0);if(d[(c[L>>2]|0)+42>>0]&32)c[G>>2]=Ej(c[L>>2]|0)|0;c[I>>2]=c[(c[L>>2]|0)+8>>2];while(1){if(!(c[I>>2]|0))break;do if(!((d[(c[I>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[I>>2]|0)+48>>1]|0)>=(b[(c[L>>2]|0)+40>>1]|0))break;if(c[(c[I>>2]|0)+36>>2]|0)break;if((c[G>>2]|0)!=0?(b[(c[I>>2]|0)+48>>1]|0)>=(b[(c[G>>2]|0)+48>>1]|0):0)break;c[G>>2]=c[I>>2]}while(0);c[I>>2]=c[(c[I>>2]|0)+20>>2]}if(c[G>>2]|0){c[F>>2]=c[(c[G>>2]|0)+44>>2];c[J>>2]=Pz(c[P>>2]|0,c[G>>2]|0)|0}Eh(c[Ca>>2]|0,54,c[D>>2]|0,c[F>>2]|0,c[E>>2]|0,1)|0;if(c[J>>2]|0)Ih(c[Ca>>2]|0,-1,c[J>>2]|0,-6);Rw(c[Ca>>2]|0,50,c[D>>2]|0,c[(c[xa+40>>2]|0)+8>>2]|0)|0;xz(c[Ca>>2]|0,61,c[D>>2]|0)|0;rG(c[P>>2]|0,c[L>>2]|0,c[G>>2]|0)}else{c[K>>2]=0;a[B>>0]=0;if(!(c[(c[Q>>2]|0)+44>>2]|0))a[B>>0]=sG(xa,K)|0;do if(a[B>>0]|0){c[K>>2]=vy(c[Z>>2]|0,c[K>>2]|0,0)|0;c[H>>2]=c[K>>2];if(a[(c[Z>>2]|0)+65>>0]|0)break;a[(c[(c[K>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[K>>2]|0)+4>>2]>>2]>>0]=-104}while(0);pG(c[P>>2]|0,xa);c[qa>>2]=RC(c[P>>2]|0,c[pa>>2]|0,c[M>>2]|0,c[K>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[qa>>2]|0)){Vu(c[Z>>2]|0,c[H>>2]|0);break}nG(c[P>>2]|0,xa);if((eG(c[qa>>2]|0)|0)>0){Ba=c[Ca>>2]|0;Ez(Ba,gG(c[qa>>2]|0)|0)|0}SC(c[qa>>2]|0);oG(c[P>>2]|0,xa)}c[za>>2]=0;LA(c[P>>2]|0,c[na>>2]|0,c[T>>2]|0,16);hG(c[P>>2]|0,c[Q>>2]|0,c[c[Q>>2]>>2]|0,-1,0,0,c[R>>2]|0,c[T>>2]|0,c[T>>2]|0);Vu(c[Z>>2]|0,c[H>>2]|0)}Gz(c[Ca>>2]|0,c[T>>2]|0)}if((d[ya+1>>0]|0)==3)kG(c[P>>2]|0,36474);if(c[za>>2]|0){kG(c[P>>2]|0,(c[za+4>>2]|0)>0?36492:36515);tG(c[P>>2]|0,c[Q>>2]|0,za,c[c[la>>2]>>2]|0,c[R>>2]|0)}Gz(c[Ca>>2]|0,c[da>>2]|0);c[sa>>2]=(c[(c[P>>2]|0)+68>>2]|0)>0&1}}while(0);c[(c[P>>2]|0)+468>>2]=c[ea>>2];if((c[sa>>2]|0)==0?(d[c[R>>2]>>0]|0)==9:0)uG(c[P>>2]|0,c[pa>>2]|0,c[la>>2]|0);Sf(c[Z>>2]|0,c[xa+28>>2]|0);Sf(c[Z>>2]|0,c[xa+40>>2]|0);c[O>>2]=c[sa>>2];Ca=c[O>>2]|0;i=Da;return Ca|0}c[O>>2]=1;Ca=c[O>>2]|0;i=Da;return Ca|0}function Dv(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;l=n+16|0;k=n+12|0;j=n+8|0;h=n+4|0;c[f>>2]=a;c[g>>2]=d;if(!(c[(c[g>>2]|0)+52>>2]|0)){i=n;return}c[l>>2]=0;c[h>>2]=0;c[k>>2]=c[g>>2];while(1){if(!(c[k>>2]|0))break;c[(c[k>>2]|0)+56>>2]=c[l>>2];a=(c[k>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|128;c[l>>2]=c[k>>2];c[k>>2]=c[(c[k>>2]|0)+52>>2];c[h>>2]=(c[h>>2]|0)+1}if((e[(c[g>>2]|0)+6>>1]|0)&512){i=n;return}a=c[(c[c[f>>2]>>2]|0)+88+16>>2]|0;c[j>>2]=a;if((a|0)<=0){i=n;return}if((c[h>>2]|0)<=(c[j>>2]|0)){i=n;return}Ah(c[f>>2]|0,36400,m);i=n;return}function Ev(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?36355:36358;Ah(j,36364,v)}else w=4;if(((w|0)==4?(c[m>>2]=Nv(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Dw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}Zu(c[t>>2]|0,c[r>>2]|0);_u(c[t>>2]|0,c[s>>2]|0);Wu(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Fv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+116|0;w=B+84|0;x=B+80|0;z=B+76|0;A=B;y=B+72|0;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Fw(c[y>>2]|0,72,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Gv(l,0,Jv(c[y>>2]|0,158,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;b[(c[z>>2]|0)+6>>1]=b[v>>1]|0;c[(c[z>>2]|0)+8>>2]=0;c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=-1;c[(c[z>>2]|0)+16+4>>2]=-1;l=(c[z>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;if(!(c[q>>2]|0))c[q>>2]=ph(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+32>>2]=c[q>>2];c[(c[z>>2]|0)+36>>2]=c[r>>2];c[(c[z>>2]|0)+40>>2]=c[s>>2];c[(c[z>>2]|0)+44>>2]=c[t>>2];c[(c[z>>2]|0)+48>>2]=c[u>>2];c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=0;c[(c[z>>2]|0)+60>>2]=c[w>>2];c[(c[z>>2]|0)+64>>2]=c[x>>2];c[(c[z>>2]|0)+68>>2]=0;if(!(a[(c[y>>2]|0)+65>>0]|0)){A=c[z>>2]|0;i=B;return A|0}Xu(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Fw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Fw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Ew(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){Zu(c[j>>2]|0,c[h>>2]|0);Vu(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Iw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}if(!(c[(c[k>>2]|0)+4>>2]|0)){i=l;return}Jw(c[(c[k>>2]|0)+4>>2]|0)|0;i=l;return}function Iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Sf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Iw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Jv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=If(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=cz(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Kv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Lv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Dw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Mv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{Vu(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function Nv(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Fw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=UF(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+65>>0]|0){Yu(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Dw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Dw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Ov(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[36199+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,36220+(d[36199+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[36199+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Ah(c[g>>2]|0,36300,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=36254;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Ah(t,36256,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function Pv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function Qv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+536>>2];c[(c[f>>2]|0)+536>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+540>>2]=c[g>>2];i=j;return}function Rv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;n=Y+144|0;O=Y+140|0;Q=Y+136|0;o=Y+132|0;M=Y+128|0;W=Y+120|0;r=Y+88|0;l=Y+84|0;S=Y+80|0;q=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;m=Y+52|0;p=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;j=Y+28|0;R=Y+24|0;E=Y+20|0;x=Y+16|0;s=Y+184|0;k=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;c[H>>2]=f;c[I>>2]=g;c[J>>2]=h;c[O>>2]=0;c[Q>>2]=0;c[S>>2]=-1;c[K>>2]=0;c[m>>2]=0;b[p>>1]=1;c[P>>2]=0;c[C>>2]=0;c[v>>2]=0;c[L>>2]=0;c[j>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[M>>2]=c[c[H>>2]>>2];a:do if(((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[M>>2]|0)+65>>0]|0)==0:0)?(c[V>>2]=DB(c[H>>2]|0,c[I>>2]|0)|0,(c[V>>2]|0)!=0):0){c[E>>2]=sC(c[H>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[E>>2]|0)f=1;else f=(DE(c[H>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[x>>2]=f&1;if(((zx(c[H>>2]|0,c[V>>2]|0)|0)==0?(tC(c[H>>2]|0,c[V>>2]|0,(c[E>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Dh(c[M>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[t>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[q>>2]=Mw(c[H>>2]|0,9,c[c[V>>2]>>2]|0,0,c[t>>2]|0)|0,(c[q>>2]|0)!=1):0){h=(c[H>>2]|0)+72|0;t=c[h>>2]|0;c[h>>2]=t+1;c[(c[I>>2]|0)+8+44>>2]=t;c[n>>2]=t;c[o>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break;t=(c[H>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[R>>2]|0)PF(c[H>>2]|0,W,c[c[V>>2]>>2]|0);c[X>>2]=Pw(c[H>>2]|0)|0;if(c[X>>2]|0){if(!(d[(c[H>>2]|0)+18>>0]|0))uC(c[X>>2]|0);ax(c[H>>2]|0,1,c[l>>2]|0);if(c[R>>2]|0){QF(c[H>>2]|0,c[V>>2]|0,c[J>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[Q>>2]=t;c[O>>2]=t};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[H>>2];c[r+4>>2]=c[I>>2];if(!(fy(r,c[J>>2]|0)|0)){if(c[(c[M>>2]|0)+24>>2]&128){r=(c[H>>2]|0)+76|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[S>>2]=t;Rw(c[X>>2]|0,22,0,c[S>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[J>>2]|0)==0^1|(c[x>>2]|0)!=0)?(d[(c[V>>2]|0)+42>>0]&16|0)==0:0){yz(c[H>>2]|0,c[l>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))Uw(c[X>>2]|0,119,c[(c[V>>2]|0)+28>>2]|0,c[l>>2]|0,c[S>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break b;Rw(c[X>>2]|0,119,c[(c[T>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){b[s>>1]=12;b[s>>1]=e[s>>1]|((c[x>>2]|0)!=0?0:8192);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[U>>2]=0;b[p>>1]=1;t=(c[H>>2]|0)+76|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[C>>2]=u;Rw(c[X>>2]|0,25,0,c[C>>2]|0)|0}else{c[U>>2]=Ej(c[V>>2]|0)|0;b[p>>1]=b[(c[U>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;t=(c[H>>2]|0)+76|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[H>>2]|0)+72|0;u=c[t>>2]|0;c[t>>2]=u+1;c[P>>2]=u;c[j>>2]=Rw(c[X>>2]|0,57,c[P>>2]|0,b[p>>1]|0)|0;Az(c[H>>2]|0,c[U>>2]|0)}c[G>>2]=RC(c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[G>>2]|0))break a;c[z>>2]=SF(c[G>>2]|0,w)|0;if(c[(c[M>>2]|0)+24>>2]&128)Rw(c[X>>2]|0,37,c[S>>2]|0,1)|0;do if(c[U>>2]|0){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(b[p>>1]|0))break;tA(c[X>>2]|0,c[V>>2]|0,c[n>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[N>>2]|0)|0);c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[m>>2]}else{c[B>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;c[B>>2]=zA(c[H>>2]|0,c[V>>2]|0,-1,c[n>>2]|0,c[B>>2]|0,0)|0;if((c[B>>2]|0)<=(c[(c[H>>2]|0)+76>>2]|0))break;c[(c[H>>2]|0)+76>>2]=c[B>>2]}while(0);do if(!(c[z>>2]|0))if(c[U>>2]|0){r=(c[H>>2]|0)+76|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[B>>2]=q;b[D>>1]=0;q=c[X>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[B>>2]|0;u=dC(c[c[H>>2]>>2]|0,c[U>>2]|0)|0;Uw(q,49,r,s,t,u,b[p>>1]|0)|0;Rw(c[X>>2]|0,110,c[P>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=1;Rw(c[X>>2]|0,129,c[C>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[K>>2]=Fw(c[M>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[K>>2]|0)){SC(c[G>>2]|0);break a}kR(c[K>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[K>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[w>>2]|0)>=0)a[(c[K>>2]|0)+((c[w>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[w+4>>2]|0)>=0)a[(c[K>>2]|0)+((c[w+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;pA(c[X>>2]|0,c[j>>2]|0)|0}while(0);if(c[z>>2]|0)c[v>>2]=Cz(c[X>>2]|0)|0;else SC(c[G>>2]|0);do if(!(c[R>>2]|0)){c[k>>2]=0;if((c[z>>2]|0)==2)c[k>>2]=UA(c[H>>2]|0)|0;gC(c[H>>2]|0,c[V>>2]|0,55,8,c[n>>2]|0,c[K>>2]|0,O,Q)|0;if((c[z>>2]|0)!=2)break;Fz(c[X>>2]|0,c[k>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){c[L>>2]=xz(f,108,c[P>>2]|0)|0;Rw(c[X>>2]|0,101,c[P>>2]|0,c[B>>2]|0)|0;break}else{c[L>>2]=Vw(f,130,c[C>>2]|0,0,c[B>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(d[(c[K>>2]|0)+((c[O>>2]|0)-(c[n>>2]|0))>>0]|0))break;Eh(c[X>>2]|0,68,c[O>>2]|0,c[v>>2]|0,c[B>>2]|0,b[D>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16){c[F>>2]=Ax(c[M>>2]|0,c[V>>2]|0)|0;EC(c[H>>2]|0,c[V>>2]|0);Uw(c[X>>2]|0,12,0,1,c[B>>2]|0,c[F>>2]|0,-10)|0;Fh(c[X>>2]|0,2);Bx(c[H>>2]|0);if((c[z>>2]|0)!=1)break;if(c[(c[H>>2]|0)+416>>2]|0)break;a[(c[H>>2]|0)+20>>0]=0}else{c[y>>2]=(d[(c[H>>2]|0)+18>>0]|0)==0&1;c[A>>2]=-1;do if(!(c[x>>2]|0)){if((c[w+4>>2]|0)==(c[O>>2]|0))break;c[A>>2]=c[w+4>>2]}while(0);FE(c[H>>2]|0,c[V>>2]|0,c[E>>2]|0,c[O>>2]|0,c[Q>>2]|0,c[B>>2]|0,b[D>>1]|0,c[y>>2]&255,10,c[z>>2]&255,c[A>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){Rw(f,7,c[P>>2]|0,(c[L>>2]|0)+1|0)|0;Fz(c[X>>2]|0,c[L>>2]|0);break}else{Ez(f,c[L>>2]|0)|0;Fz(c[X>>2]|0,c[L>>2]|0);break}}else{Gz(c[X>>2]|0,c[v>>2]|0);SC(c[G>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(c[U>>2]|0))xz(c[X>>2]|0,61,c[O>>2]|0)|0;c[N>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break c;xz(c[X>>2]|0,61,(c[Q>>2]|0)+(c[N>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)IC(c[H>>2]|0);if(((c[(c[M>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){Rw(c[X>>2]|0,33,c[S>>2]|0,1)|0;OB(c[X>>2]|0,1);PB(c[X>>2]|0,0,0,36186,0)|0}}}}}while(0);TF(W);Yu(c[M>>2]|0,c[I>>2]|0);Zu(c[M>>2]|0,c[J>>2]|0);Sf(c[M>>2]|0,c[K>>2]|0);i=Y;return}function Sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+88+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Ah(d,36163,j);i=k;return}function Tv(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+68>>2]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+65>>0]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[ka>>2]=DB(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[l>>2]=Dh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=sC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(zx(c[X>>2]|0,c[ka>>2]|0)|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(tC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}g=(c[X>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Ej(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+72>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Fw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);kR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(fy(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(Td(c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0)+23>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(qi(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=20759;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0)>>2]|0;c[n>>2]=Mw(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Ah(na,24991,q);a[(c[X>>2]|0)+17>>0]=1;TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=DE(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=Pw(c[X>>2]|0)|0;if(!(c[na>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))uC(c[na>>2]|0);ax(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+76|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)PF(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)QF(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(fy(p,c[_>>2]|0)|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){RF(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){Vw(c[na>>2]|0,25,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=RC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[R>>2]=SF(c[x>>2]|0,s)|0;Rw(c[na>>2]|0,103,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))Rw(c[na>>2]|0,129,c[A>>2]|0,c[V>>2]|0)|0;SC(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+76|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+72|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;Rw(c[na>>2]|0,25,0,c[u>>2]|0)|0;c[r>>2]=Rw(c[na>>2]|0,57,c[fa>>2]|0,b[w>>1]|0)|0;Az(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=RC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[R>>2]=SF(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;tA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){pA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=dC(c[ca>>2]|0,c[ja>>2]|0)|0;Uw(k,49,p,q,r,u,b[w>>1]|0)|0;Rw(c[na>>2]|0,110,c[fa>>2]|0,c[T>>2]|0)|0}SC(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+420>>2]|0)==0:0){w=(c[X>>2]|0)+76|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;Rw(c[na>>2]|0,22,0,c[la>>2]|0)|0}c[ha>>2]=Cz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)kR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}kR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);gC(c[X>>2]|0,c[ka>>2]|0,55,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Cz(k)|0;Rw(c[na>>2]|0,108,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=Rw(c[na>>2]|0,101,c[fa>>2]|0,c[T>>2]|0)|0;Eh(c[na>>2]|0,68,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=Vw(k,130,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;Vw(c[na>>2]|0,70,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Eh(c[na>>2]|0,68,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];Rw(c[na>>2]|0,76,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){xA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);xz(c[na>>2]|0,38,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=IE(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=HE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+((c[da>>2]|0)*24|0)+23>>0]&1){J=120;break}Rw(c[na>>2]|0,25,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;tA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;Rw(c[na>>2]|0,30,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=HE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))Rw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){xA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;Rw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);vD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){AC(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);BC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Eh(k,68,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else Vw(k,70,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;tA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;FC(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)GC(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Eh(k,68,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=Vw(k,70,h,0,c[V>>2]|0)|0;break}}while(0);GE(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))Rw(c[na>>2]|0,95,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Fz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)GC(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);HC(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;JE(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+420>>2]|0)break;Rw(c[na>>2]|0,37,c[la>>2]|0,1)|0}while(0);BC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){Gz(h,k);Rw(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Ez(h,k)|0;break}}while(0);Gz(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)Rw(c[na>>2]|0,61,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))Rw(c[na>>2]|0,61,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+420>>2]|0)break;IC(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(c[(c[X>>2]|0)+420>>2]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}Rw(c[na>>2]|0,33,c[la>>2]|0,1)|0;OB(c[na>>2]|0,1);PB(c[na>>2]|0,0,0,36150,0)|0;TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}else if((J|0)==185){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}} -function LC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=Pw(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)-1;c[C>>2]=Cz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)Rw(c[J>>2]|0,136,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;Rw(c[J>>2]|0,76,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=Wz(c[o>>2]|0)|0;Rw(c[J>>2]|0,31,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=Rw(c[J>>2]|0,38,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){Vw(c[J>>2]|0,79,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Fh(c[J>>2]|0,-112)}zz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,54);Vw(c[J>>2]|0,70,c[z>>2]|0,0,c[H>>2]|0)|0;Ez(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Fz(I,(Bz(c[J>>2]|0)|0)-2|0);Fz(c[J>>2]|0,c[B>>2]|0);_z(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=kA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=Wz(c[o>>2]|0)|0;Vw(c[J>>2]|0,54,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Az(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;Rw(c[J>>2]|0,30,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=Bz(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];Vw(c[J>>2]|0,78,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Fh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Ez(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=dC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;Uw(h,49,e,g,l,H,c[F>>2]|0)|0;Eh(c[J>>2]|0,69,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;_z(c[o>>2]|0,c[G>>2]|0);nA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[o>>2]|0)+416>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){bA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;Gz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;xz(I,61,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Bx(c[o>>2]|0);Rw(c[J>>2]|0,135,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;Gz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;xz(I,61,J)|0;i=K;return}function MC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+532>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+532>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function NC(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0);f=c[p>>2]|0;if(c[q>>2]|0)if(!(Td(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+23>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function OC(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=Pw(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=Rw(c[M>>2]|0,136,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=PC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((b[x>>1]|0)*24|0)>>2];c[H>>2]=Jv(c[v>>2]|0,27,c[N>>2]|0)|0;c[B>>2]=rv(c[n>>2]|0,79,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=az(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=PC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=QC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=rv(c[n>>2]|0,78,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Ej(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=PC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=QC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=rv(c[n>>2]|0,79,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=az(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=rv(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=az(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];fy(L,c[K>>2]|0)|0;c[J>>2]=RC(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;Rw(c[M>>2]|0,135,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)SC(c[J>>2]|0);Zu(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Fz(c[M>>2]|0,c[z>>2]|0);i=O;return}function PC(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Jv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+21>>0]|0;c[p>>2]=c[(c[n>>2]|0)+16>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=By(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function QC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Jv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function RC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+60>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Ah(ba,35216,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=816+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=ph(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+65>>0]|0)){c[(c[W>>2]|0)+60+4>>2]=-1;c[(c[W>>2]|0)+60>>2]=-1;a[(c[W>>2]|0)+41>>0]=c[I>>2];c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];l=Cz(c[_>>2]|0)|0;c[(c[W>>2]|0)+48>>2]=l;c[(c[W>>2]|0)+52>>2]=l;b[(c[W>>2]|0)+34>>1]=b[v>>1]|0;c[(c[W>>2]|0)+56>>2]=c[(c[r>>2]|0)+428>>2];c[R>>2]=(c[W>>2]|0)+68;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+328;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);ZC(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;aD((c[W>>2]|0)+328|0,c[W>>2]|0);bD((c[W>>2]|0)+328|0,c[o>>2]|0,72);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(dB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){LA(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+52>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+20|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+36>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[W>>2]|0)+40>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;cD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);dD(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+328|0);c[G>>2]=(c[G>>2]|0)+1}eD(c[s>>2]|0,(c[W>>2]|0)+328|0);if(!(a[(c[B>>2]|0)+65>>0]|0)){do if(e[v>>1]&1024){if(fD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+40>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+34|0;b[t>>1]=e[t>>1]|512;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(gD(Y)|0)!=0:0)){c[X>>2]=hD(Y)|0;if(c[X>>2]|0)break;iD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+65>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(iD(c[W>>2]|0,(b[(c[W>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+65>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+24|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+68>>2]|0)==0?(d[(c[B>>2]|0)+65>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+41>>0]|0)>=2:0)?(e[(c[B>>2]|0)+60>>1]&1024|0)==0:0){u=jD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=jD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+41>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+736+(((d[(c[W>>2]|0)+41>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+41|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+428|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+32>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8192))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+38>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8192)a[z>>0]=8;c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+736;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Dh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Ax(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];Uw(c[_>>2]|0,152,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[K>>2]=54;if(d[(c[W>>2]|0)+38>>0]|0){c[K>>2]=55;c[(c[W>>2]|0)+60>>2]=c[(c[T>>2]|0)+44>>2]}zz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+38>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=hR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Ih(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Fh(c[_>>2]|0,a[z>>0]|0);break c}while(0);yz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+4>>2];c[L>>2]=54;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&64)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(d[(c[W>>2]|0)+38>>0]|0){c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=55;c[(c[W>>2]|0)+60+4>>2]=c[F>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[F>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[L>>2]=53;break d}while(0);Z=(c[r>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;Vw(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Az(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+34>>1]&1)break;Fh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)bx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=Bz(c[_>>2]|0)|0;c[(c[W>>2]|0)+44>>2]=ba;if(!(a[(c[B>>2]|0)+65>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+736+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,kD(c[r>>2]|0,(c[W>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+65>>0]|0)!=0):0)break a;c[x>>2]=lD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=Bz(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=mD(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+48>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&64|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Sf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+428>>2]=c[(c[W>>2]|0)+56>>2];UC(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function SC(f){f=f|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;l=E+44|0;j=E+40|0;k=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];fC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+41>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+736+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];Gz(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=160){Vw(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Fh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){Gz(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[l>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Fz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)+1|0);Rw(c[A>>2]|0,d[(c[l>>2]|0)+8>>0]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;Fz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-12}}while(0);Gz(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Ez(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Fz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Fz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0){if(c[(Mz(c[A>>2]|0,(c[(c[s>>2]|0)+40>>2]|0)-1|0)|0)+4>>2]|0)c[k>>2]=141;else c[k>>2]=142;Rw(c[A>>2]|0,c[k>>2]|0,c[(c[s>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+40>>2]|0)|0}if(c[c[s>>2]>>2]|0){c[h>>2]=xz(c[A>>2]|0,138,c[c[s>>2]>>2]|0)|0;if(!(c[(c[t>>2]|0)+36>>2]&64))xz(c[A>>2]|0,104,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(c[(c[t>>2]|0)+36>>2]&512)xz(c[A>>2]|0,104,c[(c[s>>2]|0)+8>>2]|0)|0;f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==15)Rw(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Ez(f,c[g+28>>2]|0)|0;Fz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}Gz(c[A>>2]|0,c[(c[m>>2]|0)+52>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+736;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+41>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+65>>0]|0)==0:0)TC(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=32;b:do if((D|0)==32){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+34>>1]&16|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+38>>0]|0)==0?(c[B>>2]&64|0)==0:0)xz(c[A>>2]|0,61,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+60+4>>2]|0):0)xz(c[A>>2]|0,61,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+4>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+38>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+65>>0]|0)){c[q>>2]=Bz(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=Mz(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=47){if((d[f>>0]|0)!=103)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=113;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Ej(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(uA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+428>>2]=c[(c[m>>2]|0)+56>>2];UC(c[n>>2]|0,c[m>>2]|0);i=E;return}function TC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=Mz(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=Bz(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==47){a[h>>0]=30;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==103){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=37;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=25;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function UC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+41>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+736+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Sf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}VC((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[h>>2]|0)+52>>2];WC(c[e>>2]|0,c[h>>2]|0)}Sf(c[e>>2]|0,c[f>>2]|0);i=k;return}function VC(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+20>>1]|0)&1)Zu(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+20>>1]|0)&16)){if((e[(c[d>>2]|0)+20>>1]|0)&32)$C(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0)}else _C(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Sf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function WC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;XC(c[f>>2]|0,c[e>>2]|0);Sf(c[f>>2]|0,c[e>>2]|0);i=d;return}function XC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Sf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);YC(c[d>>2]|0,c[e>>2]|0);ZC(c[e>>2]|0);i=f;return}function YC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Sf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);Sf(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function ZC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function _C(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;VC(c[e>>2]|0);Sf(c[f>>2]|0,c[e>>2]|0);i=d;return}function $C(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;VC(c[e>>2]|0);Sf(c[f>>2]|0,c[e>>2]|0);i=d;return}function aD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function bD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=Tx(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){nE(f,c[h>>2]|0,0)|0;i=l;return}else{bD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);bD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function cD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function dD(a,e,f){a=a|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,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+23>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=rv(f,152,0,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=rv(a,79,f,ny(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;nE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Ah(f,35704,q);i=r;return}else if((e|0)==13){i=r;return}}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;jE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function fD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=Tx(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(xD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((iE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(bE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function gD(f){f=f|0;var 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;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+34>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+328;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=xD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=xD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=$D(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+4>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+736+64>>2]=c[o>>2];q=nD((c[s>>2]|0)+68|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+736+4>>2]=c[j>>2];b[(c[s>>2]|0)+32>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+36>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+34>>1]|0)&1024)a[(c[s>>2]|0)+40>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function hD(b){b=b|0;var 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;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+41>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];ZC(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=nD((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=nD((c[n>>2]|0)+68|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=OD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=PD(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=QD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+65>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){XC(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function iD(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=i;i=i+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;r=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;n=U+104|0;p=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;k=U+80|0;m=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;j=U+60|0;l=U+56|0;S=U+52|0;h=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;o=U+148|0;q=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+41>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=Fw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];kR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+428>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+428>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){b[C>>1]=KD(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=KD(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=LD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+34>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=MD(b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=KD(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;iR(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=58}else F=58;while(0);if((F|0)==58){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Ah(c[z>>2]|0,35564,E);Sf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*80|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+34>>1]&1024|0)!=0?(e[(c[N>>2]|0)+34>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+40>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(LD(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+40>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+34>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+40>>0]=2}else{a[(c[N>>2]|0)+36>>0]=g;if((a[(c[N>>2]|0)+36>>0]|0)<0)a[(c[N>>2]|0)+36>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+34>>1]&2048|0)!=0?((c[P>>2]|0)>0?(a[(c[N>>2]|0)+36>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(LD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+37>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Sf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function jD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=ID(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function kD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=UA(c[N>>2]|0)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+20>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(ED(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=az(h,g,ny(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(FD(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+12>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=lR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,35527,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(GD(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Zu(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=lR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=HD(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Zu(W,X);i=Y;return}c[(c[H>>2]|0)+24+4>>2]=c[G>>2];c[c[G>>2]>>2]=35553;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(FD(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+12>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=lR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+12>>2];c[F>>2]=VA(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=35690;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=lR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35690;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35690;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35690;K=(c[N>>2]|0)+72|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;Rw(c[X>>2]|0,56,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Az(c[N>>2]|0,c[G>>2]|0);iA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=Rw(c[X>>2]|0,22,0,0)|0;Vw(c[X>>2]|0,16,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=xz(c[X>>2]|0,18,c[M>>2]|0)|0}else c[R>>2]=xz(c[X>>2]|0,108,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Cz(c[X>>2]|0)|0;LA(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=Wz(c[N>>2]|0)|0;c[V>>2]=Xz(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;Rw(c[X>>2]|0,110,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Fh(c[X>>2]|0,16);if(c[T>>2]|0)Gz(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){Lz(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);TC(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Ez(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else Rw(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Fh(c[X>>2]|0,3);Fz(c[X>>2]|0,c[R>>2]|0);_z(c[N>>2]|0,c[W>>2]|0);gA(c[N>>2]|0);Fz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Zu(W,X);i=Y;return}function lD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+453>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+468>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&64|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;cg(C,c[q>>2]|0,r,100,1e9);AD(C,(c[x>>2]|0)!=0?35264:35271);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];$z(C,35276,E)}else{c[F>>2]=c[m+8>>2];$z(C,35289,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];$z(C,35299,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+4>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=35306}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=35318;break}if(c[v>>2]&16384){c[K>>2]=35351;break}if(c[v>>2]&64){c[K>>2]=35376;break}else{c[K>>2]=35394;break}}while(0);if(c[K>>2]|0){aA(C,35403,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];$z(C,N,J);BD(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=35413;break}if(c[v>>2]&32){c[M>>2]=35427;break}else{c[M>>2]=35429;break}}else c[M>>2]=35411;while(0);c[G>>2]=c[M>>2];$z(C,35431,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;$z(C,35469,H)}}while(0);c[L>>2]=eg(C)|0;c[B>>2]=Uw(c[D>>2]|0,161,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function mD(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;Za=i;i=i+368|0;Ia=Za+8|0;Ja=Za+352|0;Z=Za+348|0;Ka=Za;Oa=Za+344|0;Ha=Za+340|0;Na=Za+336|0;F=Za+332|0;N=Za+328|0;Fa=Za+324|0;Ta=Za+320|0;Ga=Za+316|0;Wa=Za+312|0;Va=Za+308|0;Ua=Za+304|0;Ma=Za+300|0;Ya=Za+296|0;E=Za+292|0;v=Za+288|0;La=Za+284|0;K=Za+280|0;l=Za+276|0;k=Za+272|0;A=Za+268|0;z=Za+264|0;D=Za+260|0;B=Za+256|0;u=Za+252|0;t=Za+248|0;m=Za+244|0;o=Za+240|0;n=Za+236|0;p=Za+232|0;r=Za+228|0;s=Za+224|0;q=Za+220|0;M=Za+358|0;V=Za+216|0;S=Za+212|0;R=Za+208|0;W=Za+204|0;J=Za+200|0;X=Za+196|0;L=Za+192|0;P=Za+188|0;ba=Za+184|0;w=Za+180|0;O=Za+176|0;Y=Za+172|0;I=Za+363|0;G=Za+362|0;H=Za+361|0;x=Za+168|0;y=Za+360|0;T=Za+164|0;U=Za+160|0;Q=Za+156|0;sa=Za+152|0;qa=Za+148|0;na=Za+144|0;aa=Za+140|0;za=Za+136|0;Ba=Za+132|0;Aa=Za+128|0;ca=Za+124|0;ea=Za+120|0;Ca=Za+116|0;ha=Za+112|0;Da=Za+356|0;ma=Za+108|0;xa=Za+104|0;ja=Za+100|0;la=Za+96|0;ta=Za+92|0;ga=Za+88|0;oa=Za+84|0;ra=Za+80|0;wa=Za+76|0;pa=Za+72|0;ia=Za+68|0;va=Za+64|0;_=Za+60|0;ya=Za+56|0;fa=Za+52|0;ua=Za+48|0;ka=Za+44|0;da=Za+40|0;$=Za+36|0;Qa=Za+32|0;Xa=Za+28|0;Ra=Za+24|0;Sa=Za+20|0;Pa=Za+16|0;c[Ja>>2]=f;c[Z>>2]=g;g=Ka;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[l>>2]=0;c[Ua>>2]=c[c[Ja>>2]>>2];c[Ya>>2]=c[(c[Ua>>2]|0)+8>>2];c[Wa>>2]=(c[Ja>>2]|0)+328;c[Ma>>2]=c[c[Ua>>2]>>2];c[Ta>>2]=(c[Ja>>2]|0)+736+((c[Z>>2]|0)*80|0);c[Ga>>2]=c[(c[Ta>>2]|0)+64>>2];c[E>>2]=(c[(c[Ja>>2]|0)+4>>2]|0)+8+((d[(c[Ta>>2]|0)+44>>0]|0)*72|0);c[Na>>2]=c[(c[E>>2]|0)+44>>2];g=Ka;h=c[g>>2]|0;g=c[g+4>>2]|0;j=nD((c[Ja>>2]|0)+68|0,c[Na>>2]|0)|0;f=(c[Ta>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Ja>>2]|0)+24|0;f=hR(c[f>>2]|0,c[f+4>>2]|0,c[Z>>2]|0)|0;c[Fa>>2]=f&1;if(c[(c[Ga>>2]|0)+36>>2]&64)h=(e[(c[Ja>>2]|0)+34>>1]&32|0)==0;else h=0;c[N>>2]=h&1;f=Cz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+16>>2]=f;c[(c[Ta>>2]|0)+12>>2]=f;c[v>>2]=f;f=Cz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+24>>2]=f;c[La>>2]=f;if((d[(c[Ta>>2]|0)+44>>0]|0)>0?(d[(c[E>>2]|0)+36>>0]&8|0)!=0:0){g=(c[Ua>>2]|0)+76|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[Ta>>2]>>2]=f;Rw(c[Ya>>2]|0,22,0,c[c[Ta>>2]>>2]|0)|0}do if(!((d[(c[E>>2]|0)+36+1>>0]|0)>>>4&1)){h=c[Ga>>2]|0;if(c[(c[Ga>>2]|0)+36>>2]&1024){c[D>>2]=e[h+40>>1];iA(c[Ua>>2]|0);c[A>>2]=kA(c[Ua>>2]|0,(c[D>>2]|0)+2|0)|0;c[z>>2]=c[(c[Ta>>2]|0)+12>>2];c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[D>>2]|0))break;c[B>>2]=(c[A>>2]|0)+(c[Oa>>2]|0)+2;c[Va>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(c[Oa>>2]<<2)>>2];do if(c[Va>>2]|0){h=c[Ua>>2]|0;j=c[Va>>2]|0;if(e[(c[Va>>2]|0)+18>>1]&1){oD(h,j,c[Ta>>2]|0,c[Oa>>2]|0,c[Fa>>2]|0,c[B>>2]|0)|0;c[z>>2]=c[(c[Ta>>2]|0)+16>>2];break}else{xA(h,c[(c[j>>2]|0)+16>>2]|0,c[B>>2]|0);break}}while(0);c[Oa>>2]=(c[Oa>>2]|0)+1}Rw(c[Ya>>2]|0,22,c[(c[Ga>>2]|0)+24>>2]|0,c[A>>2]|0)|0;Rw(c[Ya>>2]|0,22,c[D>>2]|0,(c[A>>2]|0)+1|0)|0;Uw(c[Ya>>2]|0,11,c[Na>>2]|0,c[z>>2]|0,c[A>>2]|0,c[(c[Ga>>2]|0)+24+8>>2]|0,(d[(c[Ga>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Ga>>2]|0)+24+4>>0]=0;c[Oa>>2]=0;while(1){if(!((c[Oa>>2]|0)<(c[D>>2]|0)?(c[Oa>>2]|0)<16:0))break;if(e[(c[Ga>>2]|0)+24+6>>1]>>c[Oa>>2]&1)pD(c[Ta>>2]|0,c[(c[(c[Ga>>2]|0)+48>>2]|0)+(c[Oa>>2]<<2)>>2]|0);c[Oa>>2]=(c[Oa>>2]|0)+1}c[(c[Ta>>2]|0)+48>>2]=c[Na>>2];a[(c[Ta>>2]|0)+45>>0]=(d[(c[Ja>>2]|0)+38>>0]|0)!=0?160:154;Ha=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ha;nA(c[Ua>>2]|0,c[A>>2]|0,(c[D>>2]|0)+2|0);gA(c[Ua>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Ga>>2]|0)+36>>2]&5|0)!=0:0){c[Va>>2]=c[c[(c[Ga>>2]|0)+48>>2]>>2];Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[l>>2]=Ha;c[K>>2]=oD(c[Ua>>2]|0,c[Va>>2]|0,c[Ta>>2]|0,0,c[Fa>>2]|0,c[l>>2]|0)|0;if((c[K>>2]|0)!=(c[l>>2]|0))_z(c[Ua>>2]|0,c[l>>2]|0);c[F>>2]=c[(c[Ta>>2]|0)+16>>2];Rw(c[Ya>>2]|0,38,c[K>>2]|0,c[F>>2]|0)|0;Vw(c[Ya>>2]|0,70,c[Na>>2]|0,c[F>>2]|0,c[K>>2]|0)|0;CA(c[Ua>>2]|0,c[K>>2]|0,1);gB(c[Ua>>2]|0,c[Na>>2]|0,-1,c[K>>2]|0);a[(c[Ta>>2]|0)+45>>0]=-96;break}if((c[(c[Ga>>2]|0)+36>>2]&256|0)!=0?(c[(c[Ga>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=160;c[m>>2]=0;c[Oa>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Ga>>2]|0)+36>>2]&32){Ha=c[Oa>>2]|0;c[Oa>>2]=Ha+1;c[o>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ha<<2)>>2]}if(c[(c[Ga>>2]|0)+36>>2]&16){Ha=c[Oa>>2]|0;c[Oa>>2]=Ha+1;c[n>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ha<<2)>>2]}if(c[Fa>>2]|0){c[Va>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Va>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=DA(c[Ua>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;Vw(c[Ya>>2]|0,d[35244+((d[c[p>>2]>>0]|0)-80)>>0]|0,c[Na>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;CA(c[Ua>>2]|0,c[r>>2]|0,1);_z(c[Ua>>2]|0,c[s>>2]|0);pD(c[Ta>>2]|0,c[o>>2]|0)}else Rw(c[Ya>>2]|0,(c[Fa>>2]|0)!=0?105:108,c[Na>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[m>>2]=Ha;xA(c[Ua>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=82?(d[c[q>>2]>>0]|0)!=80:0)c[u>>2]=(c[Fa>>2]|0)!=0?82:80;else c[u>>2]=(c[Fa>>2]|0)!=0?81:83;pD(c[Ta>>2]|0,c[n>>2]|0)}c[t>>2]=Bz(c[Ya>>2]|0)|0;a[(c[Ta>>2]|0)+45>>0]=(c[Fa>>2]|0)!=0?6:7;c[(c[Ta>>2]|0)+48>>2]=c[Na>>2];c[(c[Ta>>2]|0)+52>>2]=c[t>>2];if((c[u>>2]|0)==160)break;Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[K>>2]=Ha;Rw(c[Ya>>2]|0,103,c[Na>>2]|0,c[K>>2]|0)|0;gB(c[Ua>>2]|0,c[Na>>2]|0,-1,c[K>>2]|0);Vw(c[Ya>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[K>>2]|0)|0;Fh(c[Ya>>2]|0,83);break}h=c[Ga>>2]|0;if(c[(c[Ga>>2]|0)+36>>2]&512){b[M>>1]=b[h+24>>1]|0;c[S>>2]=0;c[R>>2]=0;c[w>>2]=0;a[I>>0]=0;a[G>>0]=0;a[H>>0]=0;c[P>>2]=c[(c[Ga>>2]|0)+24+4>>2];c[ba>>2]=c[(c[Ta>>2]|0)+8>>2];if(((e[(c[Ja>>2]|0)+34>>1]&1|0)!=0?(a[(c[Ja>>2]|0)+36>>0]|0)>0:0)?(e[(c[P>>2]|0)+50>>1]|0)>(e[M>>1]|0):0){a[G>>0]=1;c[w>>2]=1}c[Oa>>2]=e[M>>1];if(c[(c[Ga>>2]|0)+36>>2]&32){Ea=c[Oa>>2]|0;c[Oa>>2]=Ea+1;c[S>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ea<<2)>>2];c[w>>2]=1}if(c[(c[Ga>>2]|0)+36>>2]&16){Ea=c[Oa>>2]|0;c[Oa>>2]=Ea+1;c[R>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ea<<2)>>2];c[w>>2]=1;if(e[(c[R>>2]|0)+20>>1]&256){Da=(c[Ua>>2]|0)+76|0;Ea=(c[Da>>2]|0)+1|0;c[Da>>2]=Ea;c[(c[Ta>>2]|0)+36>>2]=Ea;Rw(c[Ya>>2]|0,22,c[Fa>>2]^(d[(c[(c[P>>2]|0)+28>>2]|0)+(e[M>>1]|0)>>0]|0)==1,c[(c[Ta>>2]|0)+36>>2]|0)|0;Ea=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+40>>2]=Ea}if(((c[S>>2]|0)==0?(Ea=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[M>>1]<<1)>>1]|0,c[Oa>>2]=Ea,(Ea|0)>=0):0)?(d[(c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]|0)+((c[Oa>>2]|0)*24|0)+20>>0]|0)==0:0)a[G>>0]=1}if((e[M>>1]|0)<(e[(c[P>>2]|0)+50>>1]|0)?(c[Fa>>2]|0)==((d[(c[(c[P>>2]|0)+28>>2]|0)+(e[M>>1]|0)>>0]|0)==0|0):0)Ea=64;else Ea=62;if(((Ea|0)==62?(c[Fa>>2]|0)!=0:0)?(e[(c[P>>2]|0)+50>>1]|0)==(e[M>>1]|0):0)Ea=64;if((Ea|0)==64){c[x>>2]=c[R>>2];c[R>>2]=c[S>>2];c[S>>2]=c[x>>2];a[y>>0]=a[G>>0]|0;a[G>>0]=a[H>>0]|0;a[H>>0]=a[y>>0]|0}c[V>>2]=qD(c[Ua>>2]|0,c[Ta>>2]|0,c[Fa>>2]|0,c[w>>2]|0,Y)|0;if(c[Y>>2]|0)a[I>>0]=a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0;c[F>>2]=c[(c[Ta>>2]|0)+16>>2];if(c[S>>2]|0)h=(e[(c[S>>2]|0)+18>>1]&40|0)!=0;else h=1;c[W>>2]=h&1;if(c[R>>2]|0)h=(e[(c[R>>2]|0)+18>>1]&40|0)!=0;else h=1;c[J>>2]=h&1;if(c[S>>2]|0)h=1;else h=(e[M>>1]|0)>0;c[X>>2]=h&1;c[L>>2]=e[M>>1];if(!(c[S>>2]|0)){if(a[G>>0]|0){Rw(c[Ya>>2]|0,25,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[L>>2]=(c[L>>2]|0)+1;c[W>>2]=0;c[X>>2]=1}}else{c[T>>2]=c[(c[c[S>>2]>>2]|0)+16>>2];xA(c[Ua>>2]|0,c[T>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);rD(c[Ya>>2]|0,c[Ta>>2]|0,c[S>>2]|0);do if(!(e[(c[S>>2]|0)+20>>1]&0)){if(!(RA(c[T>>2]|0)|0))break;Rw(c[Ya>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(c[Y>>2]|0){if(((SA(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65;if(!(sD(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0))break;a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65}while(0);c[L>>2]=(c[L>>2]|0)+1}tD(c[Ua>>2]|0,c[V>>2]|0,(c[L>>2]|0)-(d[G>>0]|0)|0,c[Y>>2]|0);c[O>>2]=d[35248+((c[X>>2]<<2)+(c[W>>2]<<1)+(c[Fa>>2]|0))>>0];Eh(c[Ya>>2]|0,c[O>>2]|0,c[ba>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0;c[L>>2]=e[M>>1];do if(c[R>>2]|0){c[U>>2]=c[(c[c[R>>2]>>2]|0)+16>>2];oA(c[Ua>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1);xA(c[Ua>>2]|0,c[U>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);rD(c[Ya>>2]|0,c[Ta>>2]|0,c[R>>2]|0);do if(!(e[(c[R>>2]|0)+20>>1]&0)){if(!(RA(c[U>>2]|0)|0))break;Rw(c[Ya>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(((SA(c[U>>2]|0,a[I>>0]|0)|0)<<24>>24|0)!=65){if(sD(c[U>>2]|0,a[I>>0]|0)|0)break;tD(c[Ua>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1,I)}while(0);c[L>>2]=(c[L>>2]|0)+1}else{if(!(a[H>>0]|0))break;Rw(c[Ya>>2]|0,25,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[J>>2]=0;c[L>>2]=(c[L>>2]|0)+1}while(0);Sf(c[Ma>>2]|0,c[Y>>2]|0);Ea=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ea;if(c[L>>2]|0){c[O>>2]=d[35256+((c[Fa>>2]<<1)+(c[J>>2]|0))>>0];Eh(c[Ya>>2]|0,c[O>>2]|0,c[ba>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0}pD(c[Ta>>2]|0,c[S>>2]|0);pD(c[Ta>>2]|0,c[R>>2]|0);do if(!(c[N>>2]|0)){if(!(d[(c[(c[P>>2]|0)+12>>2]|0)+42>>0]&32))if(d[(c[Ja>>2]|0)+38>>0]|0){Ea=(c[Ua>>2]|0)+76|0;Ha=(c[Ea>>2]|0)+1|0;c[Ea>>2]=Ha;c[K>>2]=Ha;Rw(c[Ya>>2]|0,113,c[ba>>2]|0,c[K>>2]|0)|0;gB(c[Ua>>2]|0,c[Na>>2]|0,-1,c[K>>2]|0);Vw(c[Ya>>2]|0,70,c[Na>>2]|0,0,c[K>>2]|0)|0;break}else{uD(c[Ja>>2]|0,c[P>>2]|0,c[Na>>2]|0,c[ba>>2]|0);break}if((c[Na>>2]|0)==(c[ba>>2]|0))break;c[Q>>2]=Ej(c[(c[P>>2]|0)+12>>2]|0)|0;c[K>>2]=kA(c[Ua>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(e[(c[Q>>2]|0)+50>>1]|0))break;c[Ha>>2]=(uA(c[P>>2]|0,b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[Oa>>2]<<1)>>1]|0)|0)<<16>>16;Vw(c[Ya>>2]|0,47,c[ba>>2]|0,c[Ha>>2]|0,(c[K>>2]|0)+(c[Oa>>2]|0)|0)|0;c[Oa>>2]=(c[Oa>>2]|0)+1}Eh(c[Ya>>2]|0,68,c[Na>>2]|0,c[La>>2]|0,c[K>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Ga>>2]|0)+36>>2]&4096)){h=(c[Ta>>2]|0)+45|0;if(c[Fa>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[Ta>>2]|0)+45>>0]=-96;while(0);c[(c[Ta>>2]|0)+48>>2]=c[ba>>2];a[(c[Ta>>2]|0)+46>>0]=(c[(c[Ga>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Ga>>2]|0)+36>>2]&15)break;a[(c[Ta>>2]|0)+47>>0]=1;break}if(!(c[h+36>>2]&8192))if((d[(c[E>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[Ta>>2]|0)+45>>0]=-96;break}else{a[(c[Ta>>2]|0)+45>>0]=a[35260+(c[Fa>>2]|0)>>0]|0;c[(c[Ta>>2]|0)+48>>2]=c[Na>>2];Ha=1+(Rw(c[Ya>>2]|0,d[35262+(c[Fa>>2]|0)>>0]|0,c[Na>>2]|0,c[v>>2]|0)|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ha;a[(c[Ta>>2]|0)+47>>0]=1;break}c[na>>2]=0;h=(c[Ua>>2]|0)+72|0;Fa=c[h>>2]|0;c[h>>2]=Fa+1;c[aa>>2]=Fa;Fa=(c[Ua>>2]|0)+76|0;h=(c[Fa>>2]|0)+1|0;c[Fa>>2]=h;c[za>>2]=h;c[Ba>>2]=0;c[Aa>>2]=0;c[ca>>2]=Cz(c[Ya>>2]|0)|0;c[Ca>>2]=0;c[ma>>2]=0;c[xa>>2]=c[(c[E>>2]|0)+16>>2];c[Va>>2]=c[c[(c[Ga>>2]|0)+48>>2]>>2];c[sa>>2]=c[(c[Va>>2]|0)+12>>2];a[(c[Ta>>2]|0)+45>>0]=15;c[(c[Ta>>2]|0)+48>>2]=c[za>>2];h=c[Ja>>2]|0;a:do if((d[(c[Ja>>2]|0)+41>>0]|0)>1){c[ja>>2]=(d[h+41>>0]|0)-(c[Z>>2]|0)-1;c[qa>>2]=yh(c[Ma>>2]|0,80+((c[ja>>2]|0)*72|0)|0,0)|0;if(!(c[qa>>2]|0)){Wa=Ka;Ya=c[Wa+4>>2]|0;Xa=Ia;c[Xa>>2]=c[Wa>>2];c[Xa+4>>2]=Ya;Xa=Ia;Ya=Xa;Ya=c[Ya>>2]|0;Xa=Xa+4|0;Xa=c[Xa>>2]|0;C=Xa;i=Za;return Ya|0}c[(c[qa>>2]|0)+4>>2]=(c[ja>>2]|0)+1&255;c[c[qa>>2]>>2]=c[(c[qa>>2]|0)+4>>2];g=(c[qa>>2]|0)+8|0;h=c[E>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[la>>2]=(c[(c[Ja>>2]|0)+4>>2]|0)+8;c[Ha>>2]=1;while(1){if((c[Ha>>2]|0)>(c[ja>>2]|0))break a;g=(c[qa>>2]|0)+8+((c[Ha>>2]|0)*72|0)|0;h=(c[la>>2]|0)+((d[(c[Ta>>2]|0)+((c[Ha>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Ha>>2]=(c[Ha>>2]|0)+1}}else c[qa>>2]=c[h+4>>2];while(0);if(!(e[(c[Ja>>2]|0)+34>>1]&8)){if(!(d[(c[xa>>2]|0)+42>>0]&32)){Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[Ba>>2]=Ha;Rw(c[Ya>>2]|0,25,0,c[Ba>>2]|0)|0}else{c[ta>>2]=Ej(c[xa>>2]|0)|0;Ga=(c[Ua>>2]|0)+72|0;Ha=c[Ga>>2]|0;c[Ga>>2]=Ha+1;c[Ba>>2]=Ha;Rw(c[Ya>>2]|0,57,c[Ba>>2]|0,e[(c[ta>>2]|0)+50>>1]|0)|0;Az(c[Ua>>2]|0,c[ta>>2]|0)}Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[Aa>>2]=Ha}c[ea>>2]=Rw(c[Ya>>2]|0,22,0,c[za>>2]|0)|0;if((c[(c[Wa>>2]|0)+12>>2]|0)>1){c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[(c[Wa>>2]|0)+12>>2]|0))break;c[oa>>2]=c[(c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)>>2];if(((((c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)|0)!=(c[Va>>2]|0)?(c[(c[oa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)+20>>1]&6|0)==0:0)?(e[(c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)+18>>1]&8191|0)!=0:0){c[oa>>2]=ny(c[Ma>>2]|0,c[oa>>2]|0,0)|0;c[ma>>2]=az(c[Ma>>2]|0,c[ma>>2]|0,c[oa>>2]|0)|0}c[ga>>2]=(c[ga>>2]|0)+1}if(c[ma>>2]|0)c[ma>>2]=rv(c[Ua>>2]|0,328,0,c[ma>>2]|0,0)|0}b[Da>>1]=240;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[(c[sa>>2]|0)+12>>2]|0))break;c[ra>>2]=(c[(c[sa>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0);if(!((c[(c[ra>>2]|0)+8>>2]|0)!=(c[Na>>2]|0)?(e[(c[ra>>2]|0)+18>>1]&1024|0)==0:0)){c[pa>>2]=c[c[ra>>2]>>2];c[ia>>2]=0;if((c[ma>>2]|0)!=0?(c[(c[pa>>2]|0)+4>>2]&1|0)==0:0){c[(c[ma>>2]|0)+12>>2]=c[pa>>2];c[pa>>2]=c[ma>>2]}c[wa>>2]=RC(c[Ua>>2]|0,c[qa>>2]|0,c[pa>>2]|0,0,0,b[Da>>1]|0,c[aa>>2]|0)|0;if(c[wa>>2]|0){c[_>>2]=lD(c[Ua>>2]|0,c[qa>>2]|0,(c[wa>>2]|0)+736|0,c[Z>>2]|0,d[(c[Ta>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Ja>>2]|0)+34>>1]&8)){c[fa>>2]=(c[ha>>2]|0)==((c[(c[sa>>2]|0)+12>>2]|0)-1|0)?-1:c[ha>>2]|0;if(!(d[(c[xa>>2]|0)+42>>0]&32)){c[ya>>2]=zA(c[Ua>>2]|0,c[xa>>2]|0,-1,c[Na>>2]|0,c[Aa>>2]|0,0)|0;c[ia>>2]=Eh(c[Ya>>2]|0,131,c[Ba>>2]|0,0,c[ya>>2]|0,c[fa>>2]|0)|0;break}c[ua>>2]=Ej(c[xa>>2]|0)|0;c[ka>>2]=e[(c[ua>>2]|0)+50>>1];c[ya>>2]=kA(c[Ua>>2]|0,c[ka>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[ka>>2]|0))break;c[$>>2]=b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1];vD(c[Ua>>2]|0,c[xa>>2]|0,c[$>>2]|0,c[Na>>2]|0,(c[ya>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}if(c[fa>>2]|0)c[ia>>2]=Eh(c[Ya>>2]|0,69,c[Ba>>2]|0,0,c[ya>>2]|0,c[ka>>2]|0)|0;do if((c[fa>>2]|0)>=0){Vw(c[Ya>>2]|0,49,c[ya>>2]|0,c[ka>>2]|0,c[Aa>>2]|0)|0;Vw(c[Ya>>2]|0,110,c[Ba>>2]|0,c[Aa>>2]|0,0)|0;if(!(c[fa>>2]|0))break;Fh(c[Ya>>2]|0,16)}while(0);nA(c[Ua>>2]|0,c[ya>>2]|0,c[ka>>2]|0)}while(0);Rw(c[Ya>>2]|0,14,c[za>>2]|0,c[ca>>2]|0)|0;if(c[ia>>2]|0)Fz(c[Ya>>2]|0,c[ia>>2]|0);if(a[(c[wa>>2]|0)+39>>0]|0)c[Ca>>2]=1;c[va>>2]=c[(c[wa>>2]|0)+736+64>>2];do if(c[(c[va>>2]|0)+36>>2]&512){if((c[ha>>2]|0)!=0?(c[(c[va>>2]|0)+24+4>>2]|0)!=(c[na>>2]|0):0){Ea=168;break}if((d[(c[xa>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[va>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ea=168;break}c[na>>2]=c[(c[va>>2]|0)+24+4>>2];b[Da>>1]=e[Da>>1]|4096}else Ea=168;while(0);if((Ea|0)==168){Ea=0;c[na>>2]=0}SC(c[wa>>2]|0)}}c[ha>>2]=(c[ha>>2]|0)+1}c[(c[Ta>>2]|0)+56>>2]=c[na>>2];if(c[na>>2]|0)c[(c[Ta>>2]|0)+8>>2]=c[aa>>2];if(c[ma>>2]|0){c[(c[ma>>2]|0)+12>>2]=0;Zu(c[Ma>>2]|0,c[ma>>2]|0)}Ga=c[Ya>>2]|0;Ha=c[ea>>2]|0;wD(Ga,Ha,Bz(c[Ya>>2]|0)|0);Ez(c[Ya>>2]|0,c[(c[Ta>>2]|0)+12>>2]|0)|0;Gz(c[Ya>>2]|0,c[ca>>2]|0);if((d[(c[Ja>>2]|0)+41>>0]|0)>1)Sf(c[Ma>>2]|0,c[qa>>2]|0);if(!(c[Ca>>2]|0))pD(c[Ta>>2]|0,c[Va>>2]|0)}else{c[k>>2]=c[(c[E>>2]|0)+28>>2];Vw(c[Ya>>2]|0,16,c[k>>2]|0,0,c[(c[E>>2]|0)+24>>2]|0)|0;Ha=Rw(c[Ya>>2]|0,18,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ha;a[(c[Ta>>2]|0)+45>>0]=13}while(0);c[Va>>2]=c[(c[Wa>>2]|0)+20>>2];c[Oa>>2]=c[(c[Wa>>2]|0)+12>>2];while(1){if((c[Oa>>2]|0)<=0)break;c[Xa>>2]=0;do if(!(e[(c[Va>>2]|0)+20>>1]&6)){Ga=(c[Va>>2]|0)+40|0;Ha=(c[Ta>>2]|0)+72|0;if((c[Ga>>2]&c[Ha>>2]|0)!=0?1:(c[Ga+4>>2]&c[Ha+4>>2]|0)!=0){a[(c[Ja>>2]|0)+39>>0]=1;break}c[Qa>>2]=c[c[Va>>2]>>2];if((c[c[Ta>>2]>>2]|0)!=0?(c[(c[Qa>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[Va>>2]|0)+20>>1]&512)c[Xa>>2]=xz(c[Ya>>2]|0,46,c[(c[Ta>>2]|0)+36>>2]|0)|0;LA(c[Ua>>2]|0,c[Qa>>2]|0,c[La>>2]|0,16);if(c[Xa>>2]|0)Fz(c[Ya>>2]|0,c[Xa>>2]|0);Ha=(c[Va>>2]|0)+20|0;b[Ha>>1]=e[Ha>>1]|4}while(0);c[Oa>>2]=(c[Oa>>2]|0)+-1;c[Va>>2]=(c[Va>>2]|0)+48}c[Va>>2]=c[(c[Wa>>2]|0)+20>>2];c[Oa>>2]=c[(c[Wa>>2]|0)+12>>2];while(1){if((c[Oa>>2]|0)<=0)break;if((((((((e[(c[Va>>2]|0)+20>>1]&6|0)==0?(e[(c[Va>>2]|0)+18>>1]&130|0)!=0:0)?(e[(c[Va>>2]|0)+18>>1]&2048|0)!=0:0)?(c[(c[Va>>2]|0)+8>>2]|0)==(c[Na>>2]|0):0)?(c[c[Ta>>2]>>2]|0)==0:0)?(c[Ra>>2]=c[c[Va>>2]>>2],Xa=Ka,c[Pa>>2]=xD(c[Wa>>2]|0,c[Na>>2]|0,c[(c[Va>>2]|0)+12>>2]|0,c[Xa>>2]|0,c[Xa+4>>2]|0,131,0)|0,(c[Pa>>2]|0)!=0):0)?(e[(c[Pa>>2]|0)+20>>1]&4|0)==0:0)?(c[Sa>>2]=yh(c[Ma>>2]|0,48,0)|0,(c[Sa>>2]|0)!=0):0){g=c[Sa>>2]|0;h=c[c[Pa>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[(c[Sa>>2]|0)+12>>2]=c[(c[Ra>>2]|0)+12>>2];LA(c[Ua>>2]|0,c[Sa>>2]|0,c[La>>2]|0,16);Sf(c[Ma>>2]|0,c[Sa>>2]|0)}c[Oa>>2]=(c[Oa>>2]|0)+-1;c[Va>>2]=(c[Va>>2]|0)+48}b:do if(c[c[Ta>>2]>>2]|0){Xa=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+28>>2]=Xa;Rw(c[Ya>>2]|0,22,1,c[c[Ta>>2]>>2]|0)|0;fC(c[Ua>>2]|0);c[Va>>2]=c[(c[Wa>>2]|0)+20>>2];c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[(c[Wa>>2]|0)+12>>2]|0))break b;if((e[(c[Va>>2]|0)+20>>1]&6|0)==0?(Xa=(c[Va>>2]|0)+40|0,Ya=(c[Ta>>2]|0)+72|0,!((c[Xa>>2]&c[Ya>>2]|0)!=0?1:(c[Xa+4>>2]&c[Ya+4>>2]|0)!=0)):0){LA(c[Ua>>2]|0,c[c[Va>>2]>>2]|0,c[La>>2]|0,16);Ya=(c[Va>>2]|0)+20|0;b[Ya>>1]=e[Ya>>1]|4}c[Oa>>2]=(c[Oa>>2]|0)+1;c[Va>>2]=(c[Va>>2]|0)+48}}while(0);Wa=(c[Ta>>2]|0)+72|0;Ya=c[Wa+4>>2]|0;Xa=Ia;c[Xa>>2]=c[Wa>>2];c[Xa+4>>2]=Ya;Xa=Ia;Ya=Xa;Ya=c[Ya>>2]|0;Xa=Xa+4|0;Xa=c[Xa>>2]|0;C=Xa;i=Za;return Ya|0}function nD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=lR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function oD(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;q=x+44|0;r=x+40|0;l=x+36|0;s=x+32|0;m=x+28|0;o=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;p=x+8|0;v=x+4|0;n=x;c[k>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[m>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)!=79?(d[c[o>>2]>>0]|0|0)!=73:0){if((d[c[o>>2]>>0]|0|0)==76){c[u>>2]=c[m>>2];Rw(c[w>>2]|0,25,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+64>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[m>>2];c[t>>2]=PA(c[k>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];Rw(c[w>>2]|0,(c[s>>2]|0)!=0?105:108,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+56>>2]|0)){o=Cz(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}o=(c[r>>2]|0)+56|0;c[o>>2]=(c[o>>2]|0)+1;k=vx(c[c[k>>2]>>2]|0,c[(c[r>>2]|0)+56+4>>2]|0,(c[(c[r>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+56+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+56+4>>2];k=(c[r>>2]|0)+56|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=Rw(m,103,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=Vw(m,47,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?4:5;xz(c[w>>2]|0,76,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}c[u>>2]=yA(c[k>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[m>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}function pD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+20>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+20>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+4>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)*48|0);g=(c[j>>2]|0)+22|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+22>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function qD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+60|0;l=A+56|0;m=A+52|0;C=A+48|0;n=A+44|0;q=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;r=A+16|0;z=A+12|0;o=A+8|0;w=A+4|0;u=A;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+64>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+76>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=nh(j,dC(c[c[k>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];xz(c[y>>2]|0,(c[m>>2]|0)!=0?105:108,c[o>>2]|0)|0;c[p>>2]=Yw(c[y>>2]|0,13)|0;C=Eh(c[y>>2]|0,(c[m>>2]|0)!=0?63:66,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;Fz(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;Vw(c[y>>2]|0,47,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=oD(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){_z(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{Rw(c[y>>2]|0,31,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&257)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+20>>1]&2048|0)==0?(RA(c[u>>2]|0)|0)!=0:0)Rw(c[y>>2]|0,76,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((SA(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(sD(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function rD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+20>>1]|0)&256)){i=k;return}c[j>>2]=Mz(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=c[(c[h>>2]|0)+36>>2];a[(c[j>>2]|0)+3>>0]=1;i=k;return}function sD(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 133:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function tD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}Uw(c[l>>2]|0,48,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;CA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function uD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];Vw(c[n>>2]|0,112,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+34>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;if(c[f+336>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=ph(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Ih(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function vD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=zA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}Rw(c[(c[g>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function wD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Mz(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function xD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=yD(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+18>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=zD(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function yD(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if((c[o>>2]|0)!=0?(c[p>>2]=c[m>>2],c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1],(c[m>>2]|0)==-2):0)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+21>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=zD(c[k>>2]|0)|0;i=q;return r|0}function zD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(py(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+18>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=Tx(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(WA(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=VA(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(Td(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;aA(a,b,If(c[e>>2]|0)|0);i=d;return}function BD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r;f=r+32|0;g=r+28|0;m=r+24|0;k=r+38|0;l=r+36|0;h=r+20|0;j=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+4>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=r;return}aA(c[f>>2]|0,35496,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=CD(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)aA(c[f>>2]|0,35499,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?35505:35510;c[n>>2]=c[o>>2];$z(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){c[p>>2]=CD(c[m>>2]|0,c[h>>2]|0)|0;n=c[f>>2]|0;o=c[h>>2]|0;c[h>>2]=o+1;DD(n,o,c[p>>2]|0,35427)}if(c[(c[g>>2]|0)+36>>2]&16){c[q>>2]=CD(c[m>>2]|0,c[j>>2]|0)|0;DD(c[f>>2]|0,c[h>>2]|0,c[q>>2]|0,35429)}aA(c[f>>2]|0,35518,1);i=r;return}function CD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=35520;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=25592;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function DD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)aA(c[f>>2]|0,35499,5);AD(c[f>>2]|0,c[g>>2]|0);aA(c[f>>2]|0,c[h>>2]|0,1);aA(c[f>>2]|0,21139,1);i=j;return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=$A(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function FD(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(WA(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function GD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Fw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}iR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Sf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function HD(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=ph(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function ID(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+8|0;e=j+20|0;g=j+16|0;h=j;c[e>>2]=a;c[g>>2]=b;a=h;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){g=f;c[g>>2]=0;c[g+4>>2]=0;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[e>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==152){g=nD(b,c[a+28>>2]|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=h;h=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=h;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}l=ID(b,c[a+16>>2]|0)|0;k=h;c[k>>2]=l;c[k+4>>2]=C;k=ID(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;b=h;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=c[e>>2]|0;a=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){g=JD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}else{g=jD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=f;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function JD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+32>>2];k=jD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=jD(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=jD(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=ID(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=ID(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=JD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=ID(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+52>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function KD(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35582+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35582+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function LD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+144|0;W=$+141|0;n=$+120|0;o=$+116|0;p=$+112|0;q=$+132|0;r=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;G=$+128|0;F=$+126|0;H=$+124|0;z=$+100|0;X=$+96|0;D=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;L=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;I=$+32|0;J=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;K=$+48|0;E=$+8|0;Y=$;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+60>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=lR(1,0,e[H>>1]|0)|0;f=fR(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=lR(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=Tx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==152):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=xD((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],386,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&130|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=Ox(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=Ox(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if(Td(c[U>>2]|0,c[V>>2]|0)|0)break}m=lR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+42>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&386|0)!=0):0){if(c[X>>2]&256)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+32>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+((c[x>>2]|0)*24|0)+20>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=lR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=Tx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;k=c[O>>2]|0;if((c[x>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break}else if(py(k,c[(c[(c[(c[M>>2]|0)+40>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0,c[y>>2]|0)|0)break;if((c[x>>2]|0)<0){_=70;break a}c[L>>2]=Ox(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!(Td(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==70){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=lR(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=84;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=lR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==84){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=lR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=ID((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(FA(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=lR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=108;break}V=lR(1,0,c[X>>2]|0)|0;V=fR(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=106;break}c[X>>2]=k+-1}if((_|0)==106){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==108){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function MD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;k=g+4|0;l=g;h=g+10|0;f=g+8|0;b[j>>1]=a;c[k>>2]=d;c[l>>2]=e;e=(((c[k>>2]|0)-(c[l>>2]|0)|0)*100|0)/(c[k>>2]|0)|0;b[h>>1]=((Hj(e,((e|0)<0)<<31>>31)|0)<<16>>16)-66;e=b[j>>1]|0;e=e+((ND(b[j>>1]|0)|0)<<16>>16)|0;b[f>>1]=e+(b[h>>1]|0)+16;i=g;return b[f>>1]|0}function ND(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Hj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function OD(f,g,j,k,l){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;K=i;i=i+112|0;I=K+16|0;m=K+104|0;n=K+100|0;o=K+8|0;L=K;M=K+96|0;z=K+92|0;E=K+88|0;A=K+84|0;B=K+80|0;p=K+76|0;x=K+72|0;w=K+68|0;D=K+64|0;C=K+60|0;q=K+56|0;t=K+52|0;s=K+48|0;u=K+44|0;v=K+40|0;G=K+36|0;H=K+32|0;r=K+28|0;y=K+24|0;F=K+20|0;c[n>>2]=f;f=o;c[f>>2]=g;c[f+4>>2]=j;f=L;c[f>>2]=k;c[f+4>>2]=l;c[G>>2]=0;c[H>>2]=0;c[F>>2]=0;c[M>>2]=c[c[n>>2]>>2];c[z>>2]=c[c[M>>2]>>2];c[p>>2]=c[c[z>>2]>>2];c[E>>2]=c[(c[n>>2]|0)+4>>2];c[y>>2]=c[(c[n>>2]|0)+12>>2];c[A>>2]=(c[(c[M>>2]|0)+4>>2]|0)+8+((d[(c[y>>2]|0)+16>>0]|0)*72|0);c[B>>2]=c[(c[A>>2]|0)+16>>2];f=L;c[x>>2]=fE(c[z>>2]|0,c[E>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[A>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;if(!(c[x>>2]|0)){c[m>>2]=7;M=c[m>>2]|0;i=K;return M|0}M=c[y>>2]|0;c[M>>2]=0;c[M+4>>2]=0;b[(c[y>>2]|0)+18>>1]=0;c[(c[y>>2]|0)+36>>2]=1024;b[(c[y>>2]|0)+40>>1]=0;a[(c[y>>2]|0)+24+4>>0]=0;c[D>>2]=c[(c[x>>2]|0)+16>>2];c[v>>2]=c[c[x>>2]>>2];if(GD(c[p>>2]|0,c[y>>2]|0,c[v>>2]|0)|0){Sf(c[p>>2]|0,c[x>>2]|0);c[m>>2]=7;M=c[m>>2]|0;i=K;return M|0}c[r>>2]=0;a:while(1){if((c[r>>2]|0)>3)break;if(((c[G>>2]|0)==0?(c[r>>2]&1|0)!=0:0)?(c[r>>2]=(c[r>>2]|0)+1,(c[r>>2]|0)>3):0)break;if((c[H>>2]|0)==0&(c[r>>2]|0)>1)break;c[w>>2]=c[(c[x>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[x>>2]>>2]|0))break;c[t>>2]=c[(c[w>>2]|0)+8>>2];c[C>>2]=(c[(c[E>>2]|0)+20>>2]|0)+((c[t>>2]|0)*48|0);b:do switch(c[r>>2]|0){case 0:{a[(c[w>>2]|0)+5>>0]=0;if(e[(c[C>>2]|0)+18>>1]&1)c[G>>2]=1;L=(c[C>>2]|0)+32|0;M=o;if((c[L>>2]&~c[M>>2]|0)!=0?1:(c[L+4>>2]&~c[M+4>>2]|0)!=0){c[H>>2]=1;break b}if(!(e[(c[C>>2]|0)+18>>1]&1))a[(c[w>>2]|0)+5>>0]=1;break}case 1:{L=(c[C>>2]|0)+32|0;M=o;a[(c[w>>2]|0)+5>>0]=((c[L>>2]&~c[M>>2]|0)==0?(c[L+4>>2]&~c[M+4>>2]|0)==0:0)&1;break}case 2:{a[(c[w>>2]|0)+5>>0]=(e[(c[C>>2]|0)+18>>1]&1|0)==0;break}default:a[(c[w>>2]|0)+5>>0]=1}while(0);c[q>>2]=(c[q>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}kR(c[D>>2]|0,0,c[c[x>>2]>>2]<<3|0)|0;if(c[(c[x>>2]|0)+28>>2]|0)Kd(c[(c[x>>2]|0)+24>>2]|0);c[(c[x>>2]|0)+24>>2]=0;c[(c[x>>2]|0)+20>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[(c[x>>2]|0)+32>>2]=0;h[(c[x>>2]|0)+40>>3]=5.e+98;f=(c[x>>2]|0)+48|0;c[f>>2]=25;c[f+4>>2]=0;c[(c[x>>2]|0)+56>>2]=0;f=(c[A>>2]|0)+56|0;L=c[f+4>>2]|0;M=(c[x>>2]|0)+64|0;c[M>>2]=c[f>>2];c[M+4>>2]=L;c[F>>2]=gE(c[z>>2]|0,c[B>>2]|0,c[x>>2]|0)|0;if(c[F>>2]|0)break;c[w>>2]=c[(c[x>>2]|0)+4>>2];f=o;L=c[f+4>>2]|0;M=c[y>>2]|0;c[M>>2]=c[f>>2];c[M+4>>2]=L;c[u>>2]=-1;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;c[(c[(c[y>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}b[(c[y>>2]|0)+24+6>>1]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;M=(c[(c[D>>2]|0)+(c[q>>2]<<3)>>2]|0)-1|0;c[s>>2]=M;if((M|0)>=0){c[t>>2]=c[(c[w>>2]|0)+8>>2];if((c[t>>2]|0)<0?1:(c[s>>2]|0)>=(c[v>>2]|0)){J=36;break a}if((c[t>>2]|0)>=(c[(c[E>>2]|0)+12>>2]|0)){J=36;break a}if(c[(c[(c[y>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]|0){J=36;break a}c[C>>2]=(c[(c[E>>2]|0)+20>>2]|0)+((c[t>>2]|0)*48|0);f=(c[C>>2]|0)+32|0;M=c[y>>2]|0;l=M;L=c[l+4>>2]|c[f+4>>2];c[M>>2]=c[l>>2]|c[f>>2];c[M+4>>2]=L;c[(c[(c[y>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]=c[C>>2];if((c[s>>2]|0)>(c[u>>2]|0))c[u>>2]=c[s>>2];if((c[s>>2]|0)<16?(d[(c[D>>2]|0)+(c[q>>2]<<3)+4>>0]|0)!=0:0){M=(c[y>>2]|0)+24+6|0;b[M>>1]=e[M>>1]|1<>2]}if(e[(c[C>>2]|0)+18>>1]&1){if(!(d[(c[D>>2]|0)+(c[q>>2]<<3)+4>>0]|0))break;c[(c[x>>2]|0)+32>>2]=0;M=(c[x>>2]|0)+56|0;c[M>>2]=c[M>>2]&-2}}c[q>>2]=(c[q>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}if((c[q>>2]|0)>=(c[v>>2]|0)){b[(c[y>>2]|0)+40>>1]=(c[u>>2]|0)+1;c[(c[y>>2]|0)+24>>2]=c[(c[x>>2]|0)+20>>2];a[(c[y>>2]|0)+24+4>>0]=c[(c[x>>2]|0)+28>>2];c[(c[x>>2]|0)+28>>2]=0;c[(c[y>>2]|0)+24+8>>2]=c[(c[x>>2]|0)+24>>2];if(c[(c[x>>2]|0)+32>>2]|0)g=c[(c[x>>2]|0)+8>>2]|0;else g=0;a[(c[y>>2]|0)+24+5>>0]=g;b[(c[y>>2]|0)+18>>1]=0;g=hE(+h[(c[x>>2]|0)+40>>3])|0;b[(c[y>>2]|0)+20>>1]=g;g=(c[x>>2]|0)+48|0;g=Hj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[y>>2]|0)+22>>1]=g;g=(c[y>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[x>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;TD(c[n>>2]|0,c[y>>2]|0)|0;if(a[(c[y>>2]|0)+24+4>>0]|0){Kd(c[(c[y>>2]|0)+24+8>>2]|0);a[(c[y>>2]|0)+24+4>>0]=0}}c[r>>2]=(c[r>>2]|0)+1}if((J|0)==36){c[F>>2]=1;M=c[z>>2]|0;c[I>>2]=c[c[B>>2]>>2];Ah(M,35614,I)}if(c[(c[x>>2]|0)+28>>2]|0)Kd(c[(c[x>>2]|0)+24>>2]|0);Sf(c[p>>2]|0,c[x>>2]|0);c[m>>2]=c[F>>2];M=c[m>>2]|0;i=K;return M|0}function PD(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+128|0;k=E+8|0;y=E+124|0;s=E+120|0;B=E+64|0;m=E+140|0;l=E+136|0;F=E+56|0;t=E+52|0;r=E+48|0;D=E+44|0;o=E+40|0;n=E+36|0;A=E+134|0;z=E+132|0;w=E+32|0;u=E+28|0;q=E+24|0;v=E+20|0;x=E+16|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+42>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}g=B;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+40>>1]|0;b[m>>1]=b[(c[u>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+36+1>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+38>>1]|0;b[z>>1]=ND(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[y>>2]|0)+34>>1]&128|0)==0:0)?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?(a[(c[t>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(FD(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+42>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+48>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=KD(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=TD(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){g=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(YD(c[(c[t>>2]|0)+44>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+42>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=ZD(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;_D(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=TD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=$D(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+34>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+60>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+40>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=KD(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}_D(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=TD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}while(0);c[D>>2]=aE(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){g=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((g|0)==46){i=E;return c[D>>2]|0}return 0}function QD(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+18>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+12>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+12>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+18>>1]&1024)){if((c[g+8>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=72;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+12>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=OD(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=PD(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=QD(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){RD(F,C);c[s>>2]=0;break}RD(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=KD(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;SD(F,k,f,l,KD(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=TD(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function RD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;iR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function SD(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function TD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+24|0;j=p+20|0;m=p+16|0;h=p+12|0;o=p+8|0;l=p+4|0;k=p;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){o=c[g>>2]|0;SD(c[(c[f>>2]|0)+16>>2]|0,c[o>>2]|0,c[o+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}UD(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=VD((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Fw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){ZC(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=VD(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];WC(c[h>>2]|0,c[l>>2]|0)}}while(0);WD(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}function UD(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(XD(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(XD(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function VD(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function WD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;YC(c[l>>2]|0,c[g>>2]|0);d=(GD(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));iR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+4>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function XD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function YD(a,e,f){a=a|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=72)break;if(!(YD(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(eE(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function ZD(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=Tx(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(py(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function _D(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+20>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+4>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+16>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+16>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+18>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(ky(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function $D(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=lR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function aE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=i;i=i+208|0;l=O+172|0;m=O+168|0;n=O+164|0;o=O+160|0;p=O+196|0;P=O+156|0;A=O+152|0;q=O+148|0;z=O+144|0;B=O+140|0;k=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;r=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[P>>2]=c[c[m>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[q>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+65>>0]|0){c[l>>2]=7;P=c[l>>2]|0;i=O;return P|0}do if(!(c[(c[z>>2]|0)+36>>2]&32))if(d[(c[n>>2]|0)+36>>0]&8){c[k>>2]=63;break}else{c[k>>2]=447;break}else c[k>>2]=24;while(0);if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+42>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;c[B>>2]=yD(N,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[H>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[E>>1]=ND(b[F>>1]|0)|0;a:while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[r>>1]=b[(c[B>>2]|0)+18>>1]|0;c[u>>2]=0;if((e[r>>1]|0)!=256?(e[(c[B>>2]|0)+20>>1]&0|0)==0:0)j=15;else j=14;if((j|0)==14?(j=0,(bE(c[o>>2]|0,e[H>>1]|0)|0)==0):0)j=15;do if((j|0)==15?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){if((e[(c[B>>2]|0)+20>>1]&256|0)!=0?(e[(c[B>>2]|0)+18>>1]|0)==16:0)break;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(GD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[r>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[u>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[u>>2]=(Hj(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else{if(e[r>>1]&130){c[s>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[s>>2]|0)!=-1){if((c[s>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[H>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[s>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}if(e[r>>1]&256){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[z>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;c[x>>2]=c[B>>2];c[C>>2]=0;if(!(e[(c[B>>2]|0)+20>>1]&256))break;c[C>>2]=(c[B>>2]|0)+48;if(GD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[C>>2]|0;h=(c[z>>2]|0)+40|0;P=b[h>>1]|0;b[h>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=g;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|16;break}else{c[j>>2]=k|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)j=c[(c[(c[z>>2]|0)+48>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[x>>2]=j;break}}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[t>>2]=P&65535;if((b[(c[B>>2]|0)+16>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1]|0)>=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[u>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[t>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[t>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else cE(c[A>>2]|0,c[m>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=KD(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=KD(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));_D(c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=TD(c[m>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)aE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[u>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}while(0);c[B>>2]=zD(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=GD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){N=(c[z>>2]|0)+24|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+42|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+40|0;P=b[N>>1]|0;b[N>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[v>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[v>>1]|0);b[v>>1]=(b[v>>1]|0)+5;aE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[v>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2]}c[l>>2]=c[G>>2];P=c[l>>2]|0;i=O;return P|0}function bE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e*24|0)+20>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function cE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=dE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=dE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+16>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function dE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+16>>1]|0);break}if(!(e[d+20>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function eE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(py(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==71){if((eE(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(eE(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(py(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=76:0)?(d[c[g>>2]>>0]|0|0)!=73:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function fE(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+8|0;m=G+76|0;n=G+72|0;o=G+68|0;p=G;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;c[w>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(k=(c[D>>2]|0)+32|0,g=p,!((c[k>>2]&c[g>>2]|0)!=0?1:(c[k+4>>2]&c[g+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[v>>2]=0;if(c[r>>2]|0){c[u>>2]=c[c[r>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[y>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)!=152)break;if((c[(c[y>>2]|0)+28>>2]|0)!=(c[(c[q>>2]|0)+44>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[u>>2]|0))c[v>>2]=c[u>>2]}c[B>>2]=ph(c[c[n>>2]>>2]|0,72+((c[w>>2]|0)*20|0)+(c[v>>2]<<3)|0,0)|0;if(!(c[B>>2]|0)){Ah(c[n>>2]|0,32392,F);c[m>>2]=0;F=c[m>>2]|0;i=G;return F|0}c[A>>2]=(c[B>>2]|0)+72;c[C>>2]=(c[A>>2]|0)+((c[w>>2]|0)*12|0);c[E>>2]=(c[C>>2]|0)+(c[v>>2]<<3);c[c[B>>2]>>2]=c[w>>2];c[(c[B>>2]|0)+8>>2]=c[v>>2];c[(c[B>>2]|0)+4>>2]=c[A>>2];c[(c[B>>2]|0)+12>>2]=c[C>>2];c[(c[B>>2]|0)+16>>2]=c[E>>2];c[t>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(g=(c[D>>2]|0)+32|0,F=p,!((c[g>>2]&c[F>>2]|0)!=0?1:(c[g+4>>2]&c[F+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0){c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)>>2]=c[(c[D>>2]|0)+12>>2];c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+8>>2]=c[s>>2];F=b[(c[D>>2]|0)+18>>1]&255;a[x>>0]=F;a[x>>0]=(d[x>>0]|0)==1?2:F;if((d[x>>0]|0)==64)a[x>>0]=a[(c[D>>2]|0)+23>>0]|0;a[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+4>>0]=a[x>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;c[z>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]=b[(c[z>>2]|0)+32>>1];a[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]=a[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+12>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[B>>2];F=c[m>>2]|0;i=G;return F|0}function gE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+16|0;n=p+8|0;m=p;f=p+40|0;g=p+36|0;h=p+32|0;k=p+28|0;j=p+24|0;l=p+20|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[(Ax(c[c[f>>2]>>2]|0,c[g>>2]|0)|0)+8>>2];c[l>>2]=Yb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[h>>2]|0)|0;do if(c[l>>2]|0){if((c[l>>2]|0)==7){jh(c[c[f>>2]>>2]|0);break}e=c[f>>2]|0;if(c[(c[k>>2]|0)+8>>2]|0){c[n>>2]=c[(c[k>>2]|0)+8>>2];Ah(e,19255,n);break}else{c[m>>2]=ih(c[l>>2]|0)|0;Ah(e,19255,m);break}}while(0);Kd(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[h>>2]>>2]|0))break;if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0)==0?(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]|0)>0:0){n=c[f>>2]|0;c[o>>2]=c[c[g>>2]>>2];Ah(n,35642,o)}c[j>>2]=(c[j>>2]|0)+1}i=p;return c[(c[f>>2]|0)+68>>2]|0}function hE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Hj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=hR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=fR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function iE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=Tx(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=Ox(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(Td(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0}function jE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+224|0;l=ga+196|0;m=ga+192|0;n=ga+188|0;j=ga+184|0;$=ga+180|0;P=ga+176|0;K=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;E=ga+164|0;F=ga+160|0;G=ga+156|0;W=ga+152|0;q=ga+148|0;s=ga+208|0;k=ga+16|0;x=ga+144|0;w=ga+140|0;L=ga+136|0;X=ga+132|0;H=ga+204|0;Q=ga+128|0;J=ga+124|0;r=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;o=ga+207|0;p=ga+206|0;I=ga+68|0;D=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[Z>>2]=0;c[E>>2]=0;c[F>>2]=0;c[W>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[W>>2]>>2];if(a[(c[q>>2]|0)+65>>0]|0){i=ga;return}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[P>>2]=(c[j>>2]|0)+68;c[K>>2]=c[c[$>>2]>>2];g=ID(c[P>>2]|0,c[(c[K>>2]|0)+12>>2]|0)|0;j=da;c[j>>2]=g;c[j+4>>2]=C;c[G>>2]=d[c[K>>2]>>0];do if((c[G>>2]|0)==75){h=c[P>>2]|0;f=(c[K>>2]|0)+20|0;if(c[(c[K>>2]|0)+4>>2]&2048){g=JD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=jD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[G>>2]|0)==76){j=(c[$>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=ID(c[P>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=ID(c[P>>2]|0,c[K>>2]|0)|0;j=aa;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[K>>2]|0)+4>>2]&1){h=nD(c[P>>2]|0,b[(c[K>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=aa;g=c[h+4>>2]|c[f+4>>2];j=aa;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=fR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=aa;h=c[j+4>>2]|0;k=(c[$>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[$>>2]|0)+8>>2]=-1;c[(c[$>>2]|0)+4>>2]=-1;b[(c[$>>2]|0)+18>>1]=0;k=(kE(c[G>>2]|0)|0)!=0;h=c[K>>2]|0;a:do if(k){c[L>>2]=Tx(c[h+12>>2]|0)|0;c[X>>2]=Tx(c[(c[K>>2]|0)+16>>2]|0)|0;O=(c[$>>2]|0)+32|0;R=da;b[H>>1]=((c[O>>2]&c[R>>2]|0)==0?(c[O+4>>2]&c[R+4>>2]|0)==0:0)?8191:2048;R=da;if(lE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[L>>2]|0,x,w)|0){c[(c[$>>2]|0)+8>>2]=c[x>>2];c[(c[$>>2]|0)+12>>2]=c[w>>2];R=(mE(c[G>>2]|0)|0)&65535;b[(c[$>>2]|0)+18>>1]=R&e[H>>1]}if((c[G>>2]|0)==73){R=(c[$>>2]|0)+20|0;b[R>>1]=e[R>>1]|2048}if((c[X>>2]|0)!=0?(R=(c[$>>2]|0)+32|0,(lE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[X>>2]|0,x,w)|0)!=0):0){b[r>>1]=0;if((c[(c[$>>2]|0)+8>>2]|0)>=0){c[J>>2]=ny(c[q>>2]|0,c[K>>2]|0,0)|0;if(a[(c[q>>2]|0)+65>>0]|0){Zu(c[q>>2]|0,c[J>>2]|0);i=ga;return}c[y>>2]=nE(c[m>>2]|0,c[J>>2]|0,3)|0;if(!(c[y>>2]|0)){i=ga;return}c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);oE(c[m>>2]|0,c[y>>2]|0,c[n>>2]|0);if((c[G>>2]|0)==73){X=(c[Q>>2]|0)+20|0;b[X>>1]=e[X>>1]|2048}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);X=(c[$>>2]|0)+20|0;b[X>>1]=e[X>>1]|8;if(pE(c[W>>2]|0,c[J>>2]|0)|0){X=(c[$>>2]|0)+18|0;b[X>>1]=e[X>>1]|2048;b[r>>1]=2048}}else{c[J>>2]=c[K>>2];c[Q>>2]=c[$>>2]}qE(c[W>>2]|0,c[J>>2]|0);c[(c[Q>>2]|0)+8>>2]=c[x>>2];c[(c[Q>>2]|0)+12>>2]=c[w>>2];O=da;R=t;da=c[O+4>>2]|c[R+4>>2];X=(c[Q>>2]|0)+32|0;c[X>>2]=c[O>>2]|c[R>>2];c[X+4>>2]=da;X=aa;aa=c[X+4>>2]|0;da=(c[Q>>2]|0)+40|0;c[da>>2]=c[X>>2];c[da+4>>2]=aa;da=(mE(d[c[J>>2]>>0]|0)|0)&65535;b[(c[Q>>2]|0)+18>>1]=da+(e[r>>1]|0)&e[H>>1]}}else{if((d[h>>0]|0)==74?(d[(c[m>>2]|0)+8>>0]|0)==72:0){c[O>>2]=c[(c[K>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;X=c[W>>2]|0;aa=d[35688+(c[u>>2]|0)>>0]|0;da=ny(c[q>>2]|0,c[(c[K>>2]|0)+12>>2]|0,0)|0;c[R>>2]=rv(X,aa,da,ny(c[q>>2]|0,c[(c[(c[O>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;rE(c[R>>2]|0,c[K>>2]|0);c[z>>2]=nE(c[m>>2]|0,c[R>>2]|0,3)|0;jE(c[l>>2]|0,c[m>>2]|0,c[z>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);oE(c[m>>2]|0,c[z>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[K>>2]>>0]|0)==71){sE(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==72?(tE(c[W>>2]|0,c[K>>2]|0,Z,E,F)|0)!=0:0){b[ea>>1]=259;c[M>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[_>>2]=ny(c[q>>2]|0,c[Z>>2]|0,0)|0;b:do if((c[F>>2]|0)!=0?(a[(c[c[W>>2]>>2]|0)+65>>0]|0)==0:0){ea=(c[$>>2]|0)+20|0;b[ea>>1]=e[ea>>1]|1024;c[v>>2]=0;while(1){ea=a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]|0;a[o>>0]=ea;if(!(ea<<24>>24))break b;a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[o>>0]&~(d[19267+(d[o>>0]|0)>>0]&32);a[(c[(c[_>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[18477+(d[o>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+65>>0]|0)){ea=(If(c[(c[_>>2]|0)+8>>2]|0)|0)-1|0;c[I>>2]=(c[(c[_>>2]|0)+8>>2]|0)+ea;a[p>>0]=a[c[I>>2]>>0]|0;if(c[F>>2]|0){if((d[p>>0]|0)==64)c[E>>2]=0;a[p>>0]=a[18477+(d[p>>0]|0)>>0]|0}a[c[I>>2]>>0]=(d[p>>0]|0)+1}c[fa>>2]=(c[F>>2]|0)!=0?21290:35690;c[S>>2]=ny(c[q>>2]|0,c[M>>2]|0,0)|0;da=c[W>>2]|0;ea=By(c[W>>2]|0,c[S>>2]|0,c[fa>>2]|0)|0;c[S>>2]=rv(da,83,ea,c[Z>>2]|0,0)|0;rE(c[S>>2]|0,c[K>>2]|0);c[A>>2]=nE(c[m>>2]|0,c[S>>2]|0,259)|0;jE(c[l>>2]|0,c[m>>2]|0,c[A>>2]|0);c[T>>2]=ny(c[q>>2]|0,c[M>>2]|0,0)|0;ea=c[W>>2]|0;fa=By(c[W>>2]|0,c[T>>2]|0,c[fa>>2]|0)|0;c[T>>2]=rv(ea,82,fa,c[_>>2]|0,0)|0;rE(c[T>>2]|0,c[K>>2]|0);c[B>>2]=nE(c[m>>2]|0,c[T>>2]|0,259)|0;jE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[E>>2]|0){oE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);oE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0)}}if((uE(c[K>>2]|0,s)|0)!=0?(c[Y>>2]=c[c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]>>2],c[N>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=ID(c[P>>2]|0,c[Y>>2]|0)|0,fa=ca,c[fa>>2]=ea,c[fa+4>>2]=C,fa=ID(c[P>>2]|0,c[N>>2]|0)|0,ea=ba,c[ea>>2]=fa,c[ea+4>>2]=C,ea=ca,fa=ba,(c[ea>>2]&c[fa>>2]|0)==0?(c[ea+4>>2]&c[fa+4>>2]|0)==0:0):0){fa=c[W>>2]|0;c[U>>2]=rv(fa,51,0,ny(c[q>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[D>>2]=nE(c[m>>2]|0,c[U>>2]|0,3)|0;c[V>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0);fa=ca;ea=c[fa+4>>2]|0;da=(c[V>>2]|0)+32|0;c[da>>2]=c[fa>>2];c[da+4>>2]=ea;c[(c[V>>2]|0)+8>>2]=c[(c[N>>2]|0)+28>>2];c[(c[V>>2]|0)+12>>2]=b[(c[N>>2]|0)+32>>1];b[(c[V>>2]|0)+18>>1]=64;a[(c[V>>2]|0)+23>>0]=a[s>>0]|0;oE(c[m>>2]|0,c[D>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);da=(c[$>>2]|0)+20|0;b[da>>1]=e[da>>1]|8;da=(c[$>>2]|0)+40|0;ea=c[da+4>>2]|0;fa=(c[V>>2]|0)+40|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea}da=t;fa=(c[$>>2]|0)+32|0;ca=fa;ea=c[ca+4>>2]|c[da+4>>2];c[fa>>2]=c[ca>>2]|c[da>>2];c[fa+4>>2]=ea;i=ga;return}function kE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=75?!((c[b>>2]|0)>=79&(c[b>>2]|0)<=83|(c[b>>2]|0)==76):0)b=(c[b>>2]|0)==73;else b=1;i=d;return b&1|0}function lE(a,f,g,h,j,k){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u+36|0;l=u+32|0;m=u;n=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;o=u+12|0;t=u+8|0;c[l>>2]=a;a=m;c[a>>2]=f;c[a+4>>2]=g;c[n>>2]=h;c[r>>2]=j;c[s>>2]=k;if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}j=m;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}j=m;a=c[j>>2]|0;j=c[j+4>>2]|0;k=m;k=fR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((a&k|0)!=0|(j&C|0)!=0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}c[o>>2]=0;while(1){j=m;k=c[j+4>>2]|0;f=c[o>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>1))break;c[o>>2]=f+1;k=m;k=hR(c[k>>2]|0,c[k+4>>2]|0,1)|0;j=m;c[j>>2]=k;c[j+4>>2]=C}c[t>>2]=c[(c[l>>2]|0)+8+(f*72|0)+44>>2];c[p>>2]=c[(c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0)){f=20;break}b:do if(c[(c[p>>2]|0)+40>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break b;if((b[(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(py(c[n>>2]|0,c[(c[(c[(c[p>>2]|0)+40>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){f=17;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((f|0)==17){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}else if((f|0)==20){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function mE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=75){if((c[d>>2]|0)==76){b[e>>1]=256;break}if((c[d>>2]|0)==73){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-79;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function nE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+28|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[h>>2]|0)+12>>2]|0)>=(c[(c[h>>2]|0)+16>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+20>>2];c[l>>2]=c[c[c[c[h>>2]>>2]>>2]>>2];f=Fw(c[l>>2]|0,(c[(c[h>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[h>>2]|0)+20>>2]=f;if(c[(c[h>>2]|0)+20>>2]|0){iR(c[(c[h>>2]|0)+20>>2]|0,c[n>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)*48|0)|0;if((c[n>>2]|0)!=((c[h>>2]|0)+24|0))Sf(c[l>>2]|0,c[n>>2]|0);f=(($t(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[h>>2]|0)+16>>2]=f;kR((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)*48|0)|0,0,((c[(c[h>>2]|0)+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((e[k>>1]|0)&1)Zu(c[l>>2]|0,c[j>>2]|0);c[(c[h>>2]|0)+20>>2]=c[n>>2];c[g>>2]=0;f=c[g>>2]|0;i=p;return f|0}while(0);a=(c[h>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[m>>2]=f;c[o>>2]=(c[(c[h>>2]|0)+20>>2]|0)+(f*48|0);if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[j>>2]|0)+28>>2]|0;f=((Hj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[o>>2]|0)+16>>1]=f}else b[(c[o>>2]|0)+16>>1]=1;f=Tx(c[j>>2]|0)|0;c[c[o>>2]>>2]=f;b[(c[o>>2]|0)+20>>1]=b[k>>1]|0;c[(c[o>>2]|0)+24>>2]=c[h>>2];c[(c[o>>2]|0)+4>>2]=-1;c[g>>2]=c[m>>2];f=c[g>>2]|0;i=p;return f|0}function oE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+4>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+16>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+22|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function pE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+60>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=79?(d[c[k>>2]>>0]|0)!=73:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=Nx(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=Nx(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=VA(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(Td(c[c[l>>2]>>2]|0,35690)|0)!=0:0){c[l>>2]=Ox(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=Ox(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(Td(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function qE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(Ox(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<80){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=m;return}function rE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function sE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=ph(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+12>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+20|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];aD(c[Q>>2]|0,c[T>>2]|0);bD(c[Q>>2]|0,c[L>>2]|0,71);eD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+65>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+18>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Fw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+12>>2]=c[p>>2];g=(c[P>>2]|0)+20|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+18>>1]=1024;c[r>>2]=c[p>>2];aD(c[r>>2]|0,c[c[x>>2]>>2]|0);bD(c[r>>2]|0,c[c[P>>2]>>2]|0,72);eD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+65>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(kE(d[c[c[q>>2]>>2]>>0]|0)|0){h=nD((c[T>>2]|0)+68|0,c[(c[q>>2]|0)+8>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+20>>1]&8)){g=nD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+20>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+4>>2]|0)*48|0);f=nD((c[T>>2]|0)+68|0,c[(c[u>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+18>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+18>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=zE(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=zE(g,W)|0;c[v>>2]=W;if(!W)continue c;AE(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=nD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=36;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==36){U=0;c[F>>2]=c[(c[P>>2]|0)+12>>2];c[G>>2]=c[(c[P>>2]|0)+8>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)){W=j+20|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+12>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(Nx(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(Nx(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+20>>1]&64){c[K>>2]=ny(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Gv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=ny(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=rv(c[R>>2]|0,75,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){rE(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=nE(c[x>>2]|0,c[O>>2]|0,3)|0;jE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);oE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else Vu(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+18>>1]=4096;i=V;return} -function KH(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0.0,Af=0;xf=i;i=i+1824|0;Qe=xf+496|0;Pe=xf+488|0;Oe=xf+480|0;Ne=xf+472|0;Me=xf+456|0;Le=xf+448|0;Ke=xf+440|0;Je=xf+432|0;Ie=xf+424|0;He=xf+416|0;Ge=xf+400|0;Fe=xf+392|0;Ee=xf+384|0;De=xf+376|0;Ce=xf+368|0;Be=xf+360|0;Ae=xf+352|0;uf=xf+336|0;tf=xf+328|0;sf=xf+320|0;ze=xf+312|0;lf=xf+1612|0;n=xf+1608|0;pf=xf+1604|0;rf=xf+1600|0;mf=xf+1596|0;fe=xf+1819|0;H=xf+1818|0;fa=xf+1592|0;of=xf+1588|0;db=xf+1584|0;l=xf+1580|0;Oc=xf+1576|0;Pc=xf+1572|0;Qc=xf+1568|0;id=xf+1564|0;o=xf+1560|0;nf=xf+304|0;g=xf+1556|0;dc=xf+1552|0;Gd=xf+1548|0;wf=xf+1544|0;vf=xf+1540|0;Gc=xf+1536|0;qf=xf+1532|0;B=xf+1528|0;jb=xf+1626|0;vd=xf+1524|0;Ha=xf+1520|0;pb=xf+1516|0;tb=xf+1512|0;Ia=xf+1508|0;Wc=xf+1504|0;S=xf+1500|0;Qa=xf+296|0;x=xf+1817|0;L=xf+1624|0;re=xf+1622|0;se=xf+1620|0;ba=xf+288|0;da=xf+280|0;Od=xf+272|0;Pd=xf+264|0;Ja=xf+1496|0;mc=xf+1492|0;X=xf+1488|0;nc=xf+1484|0;ca=xf+256|0;te=xf+248|0;ea=xf+240|0;nb=xf+1816|0;Qd=xf+1480|0;s=xf+1815|0;O=xf+1618|0;P=xf+1616|0;Ma=xf+1476|0;Y=xf+1472|0;sb=xf+1468|0;ub=xf+1464|0;Sc=xf+1460|0;wa=xf+1456|0;ec=xf+1452|0;y=xf+1448|0;ve=xf+1444|0;we=xf+1440|0;z=xf+1436|0;Fd=xf+232|0;vb=xf+1432|0;Cb=xf+1428|0;fc=xf+1424|0;m=xf+1420|0;Fa=xf+1416|0;U=xf+1412|0;Dc=xf+1408|0;je=xf+192|0;Ye=xf+1404|0;bf=xf+1400|0;_e=xf+1396|0;lb=xf+1392|0;mb=xf+184|0;w=xf+1388|0;ne=xf+1384|0;nd=xf+1380|0;We=xf+1376|0;A=xf+1814|0;ff=xf+1372|0;md=xf+1368|0;Ua=xf+176|0;_a=xf+1364|0;Ra=xf+168|0;gb=xf+160|0;fb=xf+1360|0;me=xf+1356|0;zc=xf+1352|0;Vc=xf+1348|0;Xa=xf+1344|0;Xe=xf+1340|0;K=xf+1336|0;W=xf+1332|0;Da=xf+1328|0;Ga=xf+1324|0;Va=xf+152|0;gc=xf+1320|0;rb=xf+1316|0;ef=xf+1312|0;cb=xf+1308|0;hd=xf+1304|0;pd=xf+1300|0;rd=xf+1296|0;ua=xf+1292|0;xa=xf+1288|0;Ba=xf+1284|0;Aa=xf+1280|0;E=xf+1276|0;ta=xf+1272|0;yb=xf+1268|0;pa=xf+1264|0;la=xf+1260|0;qa=xf+1256|0;ha=xf+1252|0;ga=xf+1248|0;Ac=xf+1244|0;Ya=xf+1240|0;Tc=xf+1236|0;wb=xf+1232|0;ia=xf+1228|0;Se=xf+1224|0;Dd=xf+1220|0;qc=xf+1216|0;Bc=xf+1212|0;vc=xf+1208|0;Uc=xf+1204|0;Hd=xf+1200|0;wc=xf+1196|0;Db=xf+1192|0;xc=xf+1188|0;Wd=xf+1184|0;kb=xf+1180|0;Eb=xf+1176|0;Kd=xf+1160|0;Za=xf+1152|0;ma=xf+144|0;I=xf+1148|0;t=xf+1144|0;qe=xf+1140|0;ya=xf+1136|0;Fb=xf+1132|0;Xd=xf+1128|0;Lc=xf+1124|0;Mc=xf+1120|0;Ld=xf+1104|0;r=xf+1631|0;Gb=xf+1100|0;hc=xf+1096|0;Yd=xf+1092|0;na=xf+136|0;ue=xf+128|0;Hb=xf+1088|0;Zd=xf+1084|0;D=xf+1080|0;Xc=xf+1076|0;Hc=xf+1072|0;yc=xf+1068|0;Rc=xf+1064|0;oa=xf+120|0;Ib=xf+1060|0;hb=xf+1056|0;le=xf+1052|0;Ze=xf+1048|0;jf=xf+1044|0;ob=xf+1040|0;Jb=xf+1036|0;R=xf+1630|0;Kb=xf+1032|0;_d=xf+1028|0;ab=xf+1024|0;Lb=xf+1020|0;Mb=xf+1016|0;ic=xf+1012|0;Ka=xf+1008|0;La=xf+112|0;Nb=xf+1004|0;xe=xf+104|0;wd=xf+1e3|0;ad=xf+996|0;Pb=xf+992|0;Qb=xf+988|0;jc=xf+984|0;$d=xf+980|0;Sb=xf+976|0;kc=xf+972|0;be=xf+968|0;Vb=xf+964|0;ce=xf+960|0;_b=xf+956|0;$a=xf+952|0;cf=xf+948|0;$b=xf+944|0;lc=xf+940|0;de=xf+936|0;Md=xf+920|0;ac=xf+916|0;qd=xf+912|0;ge=xf+96|0;bc=xf+908|0;ee=xf+904|0;Nd=xf+888|0;ra=xf+884|0;ja=xf+880|0;Ta=xf+876|0;cc=xf+872|0;Id=xf+868|0;Q=xf+864|0;Cc=xf+860|0;ka=xf+856|0;df=xf+852|0;gf=xf+848|0;za=xf+832|0;eb=xf+828|0;q=xf+824|0;Ea=xf+820|0;Wa=xf+816|0;Te=xf+812|0;Jd=xf+808|0;ye=xf+88|0;va=xf+804|0;J=xf+800|0;bb=xf+796|0;Sa=xf+792|0;od=xf+788|0;Yc=xf+784|0;Fc=xf+780|0;Ic=xf+776|0;kd=xf+772|0;oe=xf+768|0;Jc=xf+764|0;Nc=xf+760|0;Kc=xf+756|0;Na=xf+752|0;oc=xf+748|0;_=xf+744|0;pc=xf+740|0;Zc=xf+736|0;pe=xf+48|0;_c=xf+732|0;aa=xf+728|0;p=xf+716|0;$c=xf+712|0;Ab=xf+708|0;jd=xf+704|0;F=xf+700|0;G=xf+696|0;af=xf+692|0;Bb=xf+688|0;Ca=xf+1629|0;qb=xf+684|0;Ue=xf+680|0;ud=xf+676|0;ke=xf+8|0;hf=xf+672|0;rc=xf+668|0;sd=xf+664|0;xd=xf+660|0;bd=xf+656|0;Oa=xf+652|0;sa=xf+648|0;cd=xf+644|0;ld=xf+640|0;xb=xf+636|0;td=xf+632|0;yd=xf+628|0;sc=xf+624|0;Ud=xf+620|0;T=xf+616|0;u=xf+612|0;zd=xf+608|0;dd=xf+604|0;Ec=xf+600|0;ie=xf+568|0;tc=xf+564|0;Ad=xf+560|0;ed=xf+556|0;Vd=xf+552|0;uc=xf+548|0;Bd=xf+544|0;gd=xf+540|0;Cd=xf+536|0;fd=xf+532|0;Pa=xf+528|0;V=xf+524|0;he=xf;v=xf+520|0;Ed=xf+516|0;Re=xf+1628|0;ib=xf+512|0;zb=xf+508|0;kf=xf+504|0;Ve=xf+500|0;c[lf>>2]=f;c[n>>2]=c[(c[lf>>2]|0)+4>>2];c[pf>>2]=c[n>>2];c[rf>>2]=0;c[mf>>2]=c[c[lf>>2]>>2];a[fe>>0]=0;a[H>>0]=a[(c[mf>>2]|0)+62>>0]|0;c[fa>>2]=0;c[of>>2]=0;c[db>>2]=0;c[l>>2]=c[(c[lf>>2]|0)+8>>2];c[Oc>>2]=0;c[Pc>>2]=0;c[Qc>>2]=0;c[id>>2]=0;c[o>>2]=0;yf=(c[mf>>2]|0)+32|0;f=c[yf+4>>2]|0;j=nf;c[j>>2]=c[yf>>2];c[j+4>>2]=f;PH(c[lf>>2]|0);a:do if((c[(c[lf>>2]|0)+80>>2]|0)==7)k=860;else{c[(c[lf>>2]|0)+80>>2]=0;yf=(c[lf>>2]|0)+136|0;c[yf>>2]=0;c[yf+4>>2]=0;c[(c[lf>>2]|0)+20>>2]=0;c[(c[mf>>2]|0)+448+8>>2]=0;b:do if(!(c[(c[mf>>2]|0)+240>>2]|0)){if(c[(c[mf>>2]|0)+296>>2]|0){c[g>>2]=c[(c[lf>>2]|0)+108+16>>2];c[db>>2]=(c[(c[mf>>2]|0)+304>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[mf>>2]|0)+304>>2]|0)>>>0)|0)}c[pf>>2]=(c[n>>2]|0)+((c[(c[lf>>2]|0)+76>>2]|0)*20|0);c:while(1){if(c[rf>>2]|0)break a;c[of>>2]=(c[of>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 13:{k=8;break}case 14:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Oc>>2]|0)+8>>1]=4;yf=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;k=c[Oc>>2]|0;c[k>>2]=yf;c[k+4>>2]=((yf|0)<0)<<31>>31;k=15;break}case 15:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[n>>2]|0)+((c[c[Oc>>2]>>2]|0)*20|0);b[(c[Oc>>2]|0)+8>>1]=128;break}case 16:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;yf=c[id>>2]|0;c[yf>>2]=j;c[yf+4>>2]=((j|0)<0)<<31>>31;b[(c[id>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=15;break}case 17:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dc>>2]=(c[n>>2]|0)+((c[c[Oc>>2]>>2]|0)*20|0);c[pf>>2]=(c[n>>2]|0)+(((c[(c[dc>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Oc>>2]|0)+8>>1]=128;break}case 18:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Oc>>2]|0)+8>>1]=4;c[Gd>>2]=c[c[Oc>>2]>>2];j=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;yf=c[Oc>>2]|0;c[yf>>2]=j;c[yf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[n>>2]|0)+((c[Gd>>2]|0)*20|0);break}case 20:{c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Qc>>2]|0)+8>>1]&1)k=21;break}case 21:{k=21;break}case 22:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;yf=c[id>>2]|0;c[yf>>2]=j;c[yf+4>>2]=((j|0)<0)<<31>>31;break}case 23:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;yf=c[id>>2]|0;c[yf>>2]=c[f>>2];c[yf+4>>2]=j;break}case 133:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=8;h[c[id>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=24;yf=If(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=yf;if((d[H>>0]|0)!=1){c[rf>>2]=dh(c[id>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if((c[rf>>2]|0)==18){k=859;break c}if(Zt(c[id>>2]|0,d[H>>0]|0)|0){k=860;break a}c[(c[id>>2]|0)+24>>2]=0;yf=(c[id>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Sf(c[mf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[id>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[id>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[mf>>2]|0)+88>>2]|0)){k=859;break c}else k=50;break}case 24:{k=50;break}case 25:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[B>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);yf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[jb>>1]=yf;b[(c[id>>2]|0)+8>>1]=yf;while(1){if((c[B>>2]|0)<=0)break d;c[id>>2]=(c[id>>2]|0)+40;fh(c[id>>2]|0);b[(c[id>>2]|0)+8>>1]=b[jb>>1]|0;c[B>>2]=(c[B>>2]|0)+-1}}case 26:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[id>>2]|0)+8>>1]=(e[(c[id>>2]|0)+8>>1]|1)&-129;break}case 27:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;dh(c[id>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[id>>2]|0)+10>>0]=a[H>>0]|0;break}case 28:{c[vd>>2]=(c[(c[lf>>2]|0)+60>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(VH(c[vd>>2]|0)|0){k=859;break c}c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;BF(c[id>>2]|0,c[vd>>2]|0,2048);break}case 29:{c[Ha>>2]=c[(c[pf>>2]|0)+12>>2];c[pb>>2]=c[(c[pf>>2]|0)+4>>2];c[tb>>2]=c[(c[pf>>2]|0)+8>>2];c[Oc>>2]=(c[l>>2]|0)+((c[pb>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[tb>>2]|0)*40|0);do{EH(c[id>>2]|0,c[Oc>>2]|0);if((e[(c[id>>2]|0)+8>>1]&4096|0)!=0?(_g(c[id>>2]|0)|0)!=0:0){k=860;break a}c[Oc>>2]=(c[Oc>>2]|0)+40;c[id>>2]=(c[id>>2]|0)+40;yf=(c[Ha>>2]|0)+-1|0;c[Ha>>2]=yf}while((yf|0)!=0);break}case 30:{c[Ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){BF(c[id>>2]|0,c[Oc>>2]|0,4096);if((e[(c[id>>2]|0)+8>>1]&4096|0)!=0?(_g(c[id>>2]|0)|0)!=0:0){k=860;break a}yf=c[Ia>>2]|0;c[Ia>>2]=yf+-1;if(!yf)break d;c[id>>2]=(c[id>>2]|0)+40;c[Oc>>2]=(c[Oc>>2]|0)+40}}case 31:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);BF(c[id>>2]|0,c[Oc>>2]|0,4096);break}case 32:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);yf=c[Oc>>2]|0;eh(c[id>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 33:{if(((c[(c[mf>>2]|0)+296>>2]|0)!=0?(c[of>>2]|0)>>>0>=(c[db>>2]|0)>>>0:0)?(Tb[c[(c[mf>>2]|0)+296>>2]&255](c[(c[mf>>2]|0)+300>>2]|0)|0)!=0:0){k=74;break c}yf=WH(c[lf>>2]|0,0)|0;c[rf>>2]=yf;if(0==(yf|0)?(c[rf>>2]=XH(c[lf>>2]|0,1)|0,(c[rf>>2]|0)==0):0){k=77;break c}break}case 94:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]|e[(c[Pc>>2]|0)+8>>1])&1){fh(c[id>>2]|0);break d}if((e[(c[Oc>>2]|0)+8>>1]&16384|0)!=0?(Vg(c[Oc>>2]|0)|0)!=0:0){k=860;break a}if((e[(c[Pc>>2]|0)+8>>1]&16384|0)!=0?(Vg(c[Pc>>2]|0)|0)!=0:0){k=860;break a}if((e[(c[Oc>>2]|0)+8>>1]&18|0)==0?(sx(c[Oc>>2]|0,a[H>>0]|0,0)|0)!=0:0){k=860;break a}if((e[(c[Pc>>2]|0)+8>>1]&18|0)==0?(sx(c[Pc>>2]|0,a[H>>0]|0,0)|0)!=0:0){k=860;break a}g=(c[(c[Oc>>2]|0)+12>>2]|0)+(c[(c[Pc>>2]|0)+12>>2]|0)|0;j=Qa;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Qa;g=c[j+4>>2]|0;yf=c[(c[mf>>2]|0)+88>>2]|0;f=((yf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>yf>>>0:0)){k=859;break c}if(ux(c[id>>2]|0,(c[Qa>>2]|0)+2|0,(c[id>>2]|0)==(c[Pc>>2]|0)&1)|0){k=860;break a}b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|2;if((c[id>>2]|0)!=(c[Pc>>2]|0))iR(c[(c[id>>2]|0)+16>>2]|0,c[(c[Pc>>2]|0)+16>>2]|0,c[(c[Pc>>2]|0)+12>>2]|0)|0;iR((c[(c[id>>2]|0)+16>>2]|0)+(c[(c[Pc>>2]|0)+12>>2]|0)|0,c[(c[Oc>>2]|0)+16>>2]|0,c[(c[Oc>>2]|0)+12>>2]|0)|0;a[(c[(c[id>>2]|0)+16>>2]|0)+(c[Qa>>2]|0)>>0]=0;yf=Qa;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;a[(c[(c[id>>2]|0)+16>>2]|0)+yf>>0]=0;yf=(c[id>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|512;c[(c[id>>2]|0)+12>>2]=c[Qa>>2];a[(c[id>>2]|0)+10>>0]=a[H>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[re>>1]=ZH(c[Oc>>2]|0)|0;c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[se>>1]=ZH(c[Pc>>2]|0)|0;c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=e[(c[Oc>>2]|0)+8>>1]|e[(c[Pc>>2]|0)+8>>1];e:do if(!(e[L>>1]&1)){f:do if(e[re>>1]&e[se>>1]&4){yf=c[Oc>>2]|0;j=c[yf+4>>2]|0;f=ba;c[f>>2]=c[yf>>2];c[f+4>>2]=j;f=c[Pc>>2]|0;j=c[f+4>>2]|0;yf=da;c[yf>>2]=c[f>>2];c[yf+4>>2]=j;a[x>>0]=1;switch(d[c[pf>>2]>>0]|0){case 89:{yf=ba;if(_H(da,c[yf>>2]|0,c[yf+4>>2]|0)|0)break f;break}case 90:{yf=ba;if($H(da,c[yf>>2]|0,c[yf+4>>2]|0)|0)break f;break}case 91:{yf=ba;if(aI(da,c[yf>>2]|0,c[yf+4>>2]|0)|0)break f;break}case 92:{yf=ba;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)break e;j=ba;yf=da;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[yf>>2]|0)==0?(c[yf+4>>2]|0)==-2147483648:0))break f;j=ba;f=da;yf=da;c[yf>>2]=pR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[yf+4>>2]=C;break}default:{yf=ba;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)break e;yf=ba;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==-1:0){yf=ba;c[yf>>2]=1;c[yf+4>>2]=0}j=ba;f=da;yf=da;c[yf>>2]=qR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[yf+4>>2]=C}}f=da;j=c[f+4>>2]|0;yf=c[id>>2]|0;c[yf>>2]=c[f>>2];c[yf+4>>2]=j;b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;break d}else a[x>>0]=0;while(0);h[Od>>3]=+Yg(c[Oc>>2]|0);h[Pd>>3]=+Yg(c[Pc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 89:{h[Pd>>3]=+h[Pd>>3]+ +h[Od>>3];break}case 90:{h[Pd>>3]=+h[Pd>>3]-+h[Od>>3];break}case 91:{h[Pd>>3]=+h[Pd>>3]*+h[Od>>3];break}case 92:{if(+h[Od>>3]==0.0)break e;h[Pd>>3]=+h[Pd>>3]/+h[Od>>3];break}default:{zf=+h[Od>>3];yf=+N(zf)>=1.0?(zf>0.0?~~+$(+M(zf/4294967296.0),4294967295.0)>>>0:~~+Z((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;j=ba;c[j>>2]=~~zf>>>0;c[j+4>>2]=yf;zf=+h[Pd>>3];j=+N(zf)>=1.0?(zf>0.0?~~+$(+M(zf/4294967296.0),4294967295.0)>>>0:~~+Z((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;yf=da;c[yf>>2]=~~zf>>>0;c[yf+4>>2]=j;yf=ba;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)break e;yf=ba;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==-1:0){yf=ba;c[yf>>2]=1;c[yf+4>>2]=0}j=da;yf=ba;h[Pd>>3]=+((qR(c[j>>2]|0,c[j+4>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(HF(+h[Pd>>3])|0)){h[c[id>>2]>>3]=+h[Pd>>3];b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|8;if((a[x>>0]|0)!=0?1:((e[re>>1]|e[se>>1])&8|0)!=0)break d;px(c[id>>2]|0);break d}}while(0);fh(c[id>>2]|0);break}case 34:{if(c[(c[pf>>2]|0)+4>>2]|0)eh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 35:{c[Ja>>2]=d[(c[pf>>2]|0)+3>>0];c[mc>>2]=Fw(c[mf>>2]|0,32+((c[Ja>>2]|0)-1<<2)|0,0)|0;if(!(c[mc>>2]|0)){k=860;break a}c[c[mc>>2]>>2]=0;c[(c[mc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[mc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[mc>>2]|0)+12>>2]=c[lf>>2];a[(c[mc>>2]|0)+26>>0]=c[Ja>>2];a[(c[pf>>2]|0)+1>>0]=-20;c[(c[pf>>2]|0)+16>>2]=c[mc>>2];a[c[pf>>2]>>0]=36;k=132;break}case 36:{k=132;break}case 88:case 87:case 86:case 85:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]|e[(c[Pc>>2]|0)+8>>1])&1){fh(c[id>>2]|0);break d}yf=Zg(c[Pc>>2]|0)|0;j=ca;c[j>>2]=yf;c[j+4>>2]=C;j=Zg(c[Oc>>2]|0)|0;yf=ea;c[yf>>2]=j;c[yf+4>>2]=C;a[nb>>0]=a[c[pf>>2]>>0]|0;do if((d[nb>>0]|0)!=85){f=ea;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[nb>>0]|0)==86){Af=ca;j=c[Af+4>>2]|f;yf=ca;c[yf>>2]=c[Af>>2]|g;c[yf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[ea+4>>2]|0)<0){a[nb>>0]=175-(d[nb>>0]|0);yf=ea;j=c[yf+4>>2]|0;yf=(j|0)>-1|(j|0)==-1&(c[yf>>2]|0)>>>0>4294967232;j=ea;j=fR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;Af=ea;c[Af>>2]=yf?j:64;c[Af+4>>2]=yf?C:0}Af=ea;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>=64){Af=ca;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>=0)g=1;else g=(d[nb>>0]|0)==87;yf=g?0:-1;Af=ca;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break};c[te>>2]=c[ca>>2];c[te+4>>2]=c[ca+4>>2];g=c[ea>>2]|0;j=te;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[nb>>0]|0)!=87){yf=hR(f|0,j|0,g|0)|0;Af=te;c[Af>>2]=yf;c[Af+4>>2]=C;if((c[ca+4>>2]|0)<0){j=ea;j=fR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=lR(-1,-1,j|0)|0;f=te;yf=c[f+4>>2]|C;Af=te;c[Af>>2]=c[f>>2]|j;c[Af+4>>2]=yf}}else{yf=lR(f|0,j|0,g|0)|0;Af=te;c[Af>>2]=yf;c[Af+4>>2]=C};c[ca>>2]=c[te>>2];c[ca+4>>2]=c[te+4>>2]}}else{j=ea;f=ca;yf=c[f+4>>2]&c[j+4>>2];Af=ca;c[Af>>2]=c[f>>2]&c[j>>2];c[Af+4>>2]=yf}while(0);j=ca;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;break}case 37:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);wx(c[Oc>>2]|0)|0;yf=c[(c[pf>>2]|0)+8>>2]|0;Af=c[Oc>>2]|0;j=Af;yf=gR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break}case 38:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&4|0)==0?(rx(c[Oc>>2]|0,67,a[H>>0]|0),(e[(c[Oc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=165;break c}else{k=15;break d}b[(c[Oc>>2]|0)+8>>1]=e[(c[Oc>>2]|0)+8>>1]&-49664|4;break}case 39:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&4)xx(c[Oc>>2]|0)|0;break}case 40:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&16384)g=Vg(c[Oc>>2]|0)|0;else g=0;c[rf>>2]=g;kx(c[Oc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[H>>0]|0);break}case 83:case 80:case 81:case 82:case 78:case 79:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[O>>1]=b[(c[Oc>>2]|0)+8>>1]|0;b[P>>1]=b[(c[Qc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[O>>1]|e[P>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=15;break d}else break d;else{c[id>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|1;break d}}if(((e[O>>1]&1|0)!=0?(e[P>>1]&1|0)!=0:0)?(e[P>>1]&256|0)==0:0){c[Qd>>2]=0;break}c[Qd>>2]=1}else{a[s>>0]=g&71;if((a[s>>0]|0)>=67){if((e[O>>1]&14|0)==2)xh(c[Oc>>2]|0,0);if((e[P>>1]&14|0)==2)xh(c[Qc>>2]|0,0)}else if((a[s>>0]|0)==66){if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){sx(c[Oc>>2]|0,a[H>>0]|0,1)|0;b[O>>1]=e[(c[Oc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}if((e[P>>1]&2|0)==0?(e[P>>1]&12|0)!=0:0){sx(c[Qc>>2]|0,a[H>>0]|0,1)|0;b[P>>1]=e[(c[Qc>>2]|0)+8>>1]&-33280|e[P>>1]&33279}}if(e[O>>1]&16384){Vg(c[Oc>>2]|0)|0;b[O>>1]=e[O>>1]&-16385}if(e[P>>1]&16384){Vg(c[Qc>>2]|0)|0;b[P>>1]=e[P>>1]&-16385}c[Qd>>2]=cI(c[Qc>>2]|0,c[Oc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 79:{c[Qd>>2]=(c[Qd>>2]|0)==0&1;break}case 78:{c[Qd>>2]=(c[Qd>>2]|0)!=0&1;break}case 82:{c[Qd>>2]=(c[Qd>>2]|0)<0&1;break}case 81:{c[Qd>>2]=(c[Qd>>2]|0)<=0&1;break}case 80:{c[Qd>>2]=(c[Qd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Qd>>2]|0)>=0&1}b[(c[Oc>>2]|0)+8>>1]=b[O>>1]|0;b[(c[Qc>>2]|0)+8>>1]=b[P>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=15;break d}else break d;else{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;yf=c[Qd>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break d}}case 41:{c[o>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 42:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[o>>2]=0;c[Ma>>2]=c[(c[pf>>2]|0)+12>>2];c[Sc>>2]=c[(c[pf>>2]|0)+16>>2];c[sb>>2]=c[(c[pf>>2]|0)+4>>2];c[ub>>2]=c[(c[pf>>2]|0)+8>>2];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[Ma>>2]|0))break;g=c[Y>>2]|0;if(c[o>>2]|0)g=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[wa>>2]=g;c[ec>>2]=c[(c[Sc>>2]|0)+20+(c[Y>>2]<<2)>>2];c[y>>2]=d[(c[(c[Sc>>2]|0)+16>>2]|0)+(c[Y>>2]|0)>>0];c[fa>>2]=cI((c[l>>2]|0)+(((c[sb>>2]|0)+(c[wa>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[ub>>2]|0)+(c[wa>>2]|0)|0)*40|0)|0,c[ec>>2]|0)|0;if(c[fa>>2]|0){k=217;break}c[Y>>2]=(c[Y>>2]|0)+1}if((k|0)==217?(k=0,(c[y>>2]|0)!=0):0)c[fa>>2]=0-(c[fa>>2]|0);c[o>>2]=0;break}case 43:{if((c[fa>>2]|0)<0){c[pf>>2]=(c[n>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[fa>>2]|0)){c[pf>>2]=(c[n>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[n>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 71:case 72:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)c[ve>>2]=2;else{Af=Zg(c[Oc>>2]|0)|0;c[ve>>2]=((Af|0)!=0|(C|0)!=0)&1}c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Pc>>2]|0)+8>>1]&1)c[we>>2]=2;else{Af=Zg(c[Pc>>2]|0)|0;c[we>>2]=((Af|0)!=0|(C|0)!=0)&1}g=((c[ve>>2]|0)*3|0)+(c[we>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==72)c[ve>>2]=d[40716+g>>0];else c[ve>>2]=d[40725+g>>0];c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[ve>>2]|0)==2){b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|1;break d}else{yf=c[ve>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);fh(c[id>>2]|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1)){b[(c[id>>2]|0)+8>>1]=4;yf=Zg(c[Oc>>2]|0)|0;yf=(((yf|0)!=0|(C|0)!=0)^1)&1;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31}break}case 96:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);fh(c[id>>2]|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1)){b[(c[id>>2]|0)+8>>1]=4;yf=Zg(c[Oc>>2]|0)|0;Af=c[id>>2]|0;c[Af>>2]=~yf;c[Af+4>>2]=~C}break}case 44:{if(a[(c[(c[lf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]|0)k=15;else a[(c[(c[lf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]=1;break}case 46:case 45:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1)){c[z>>2]=+Yg(c[Oc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==46)c[z>>2]=((c[z>>2]|0)!=0^1)&1}else c[z>>2]=c[(c[pf>>2]|0)+12>>2];if(c[z>>2]|0)k=15;break}case 76:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)k=15;break}case 77:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1))k=15;break}case 47:{c[Cb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[vb>>2]=c[(c[pf>>2]|0)+8>>2];c[rf>>2]=dI(Cb,vb)|0;c[Dc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[Cb>>2]|0)+76>>2];c[fc>>2]=c[(c[Cb>>2]|0)+16>>2];if(c[rf>>2]|0){k=861;break c}g=c[Cb>>2]|0;do if((c[(c[Cb>>2]|0)+56>>2]|0)!=(c[(c[lf>>2]|0)+72>>2]|0)){f=c[Cb>>2]|0;do if(a[g+2>>0]|0)if((d[f>>0]|0)==3){c[nd>>2]=(c[l>>2]|0)+((c[(c[Cb>>2]|0)+16>>2]|0)*40|0);Af=c[(c[nd>>2]|0)+12>>2]|0;c[w>>2]=Af;c[(c[Cb>>2]|0)+64>>2]=Af;c[(c[Cb>>2]|0)+60>>2]=Af;c[(c[Cb>>2]|0)+72>>2]=c[(c[nd>>2]|0)+16>>2];break}else{fh(c[Dc>>2]|0);break d}else{g=c[fc>>2]|0;if(!(d[f+4>>0]|0)){sH(g,Fd)|0;Af=eI(c[fc>>2]|0,w)|0;c[(c[Cb>>2]|0)+72>>2]=Af;c[(c[Cb>>2]|0)+60>>2]=c[Fd>>2]}else{fI(g,(c[Cb>>2]|0)+60|0)|0;Af=gI(c[fc>>2]|0,w)|0;c[(c[Cb>>2]|0)+72>>2]=Af}g=c[(c[Cb>>2]|0)+60>>2]|0;if((c[(c[Cb>>2]|0)+60>>2]|0)>>>0<=(c[w>>2]|0)>>>0){c[(c[Cb>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[mf>>2]|0)+88>>2]|0)>>>0){k=859;break c}c[(c[Cb>>2]|0)+64>>2]=c[w>>2]}while(0);c[(c[Cb>>2]|0)+56>>2]=c[(c[lf>>2]|0)+72>>2];g=c[(c[Cb>>2]|0)+72>>2]|0;if((d[c[(c[Cb>>2]|0)+72>>2]>>0]|0)<128){c[lb>>2]=d[g>>0];g=1}else g=(tF(g,lb)|0)&255;c[(c[Cb>>2]|0)+68>>2]=g&255;b[(c[Cb>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[lb>>2];if((c[w>>2]|0)>>>0<(c[lb>>2]|0)>>>0){c[(c[Cb>>2]|0)+72>>2]=0;c[(c[Cb>>2]|0)+64>>2]=0;if((c[lb>>2]|0)>>>0<=98307?(c[lb>>2]|0)>>>0<=(c[(c[Cb>>2]|0)+60>>2]|0)>>>0:0){k=272;break}c[rf>>2]=Lj(76686)|0;break d}else k=272}else if((e[g+14>>1]|0)<=(c[vb>>2]|0))k=272;else c[ne>>2]=c[(c[Cb>>2]|0)+80+(c[vb>>2]<<2)>>2];while(0);if((k|0)==272){k=0;do if((c[(c[Cb>>2]|0)+68>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Cb>>2]|0)+72>>2]|0)){g=je;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[rf>>2]=hI(c[fc>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[Cb>>2]|0)+4>>0]|0)!=0^1)&1,je)|0;if(c[rf>>2]|0)break d;c[Ye>>2]=c[je+16>>2]}else c[Ye>>2]=c[(c[Cb>>2]|0)+72>>2];c[U>>2]=e[(c[Cb>>2]|0)+14>>1];Af=mb;c[Af>>2]=c[(c[m>>2]|0)+(c[U>>2]<<2)>>2];c[Af+4>>2]=0;c[bf>>2]=(c[Ye>>2]|0)+(c[(c[Cb>>2]|0)+68>>2]|0);c[_e>>2]=(c[Ye>>2]|0)+(c[c[m>>2]>>2]|0);do{Af=d[c[bf>>2]>>0]|0;c[ne>>2]=Af;g=c[bf>>2]|0;if(Af>>>0<128){c[bf>>2]=g+1;yf=(iI(c[ne>>2]&255)|0)&255;Af=mb;yf=gR(c[Af>>2]|0,c[Af+4>>2]|0,yf|0,0)|0;Af=mb;c[Af>>2]=yf;c[Af+4>>2]=C}else{yf=(tF(g,ne)|0)&255;c[bf>>2]=(c[bf>>2]|0)+yf;yf=uF(c[ne>>2]|0)|0;Af=mb;yf=gR(c[Af>>2]|0,c[Af+4>>2]|0,yf|0,0)|0;Af=mb;c[Af>>2]=yf;c[Af+4>>2]=C}yf=c[ne>>2]|0;Af=c[U>>2]|0;c[U>>2]=Af+1;c[(c[Cb>>2]|0)+80+(Af<<2)>>2]=yf;c[(c[m>>2]|0)+(c[U>>2]<<2)>>2]=c[mb>>2];if((c[U>>2]|0)>(c[vb>>2]|0))break}while((c[bf>>2]|0)>>>0<(c[_e>>2]|0)>>>0);b[(c[Cb>>2]|0)+14>>1]=c[U>>2];c[(c[Cb>>2]|0)+68>>2]=(c[bf>>2]|0)-(c[Ye>>2]|0);if(!(c[(c[Cb>>2]|0)+72>>2]|0))Ug(je);if((c[bf>>2]|0)>>>0>=(c[_e>>2]|0)>>>0){if((c[bf>>2]|0)>>>0<=(c[_e>>2]|0)>>>0?(Af=mb,!((c[Af+4>>2]|0)!=0?1:(c[Af>>2]|0)!=(c[(c[Cb>>2]|0)+60>>2]|0))):0)k=288}else k=288;if((k|0)==288?(k=0,Af=mb,yf=c[Af+4>>2]|0,!(yf>>>0>0|((yf|0)==0?(c[Af>>2]|0)>>>0>(c[(c[Cb>>2]|0)+60>>2]|0)>>>0:0))):0)break;c[rf>>2]=Lj(76747)|0;break d}else c[ne>>2]=0;while(0);if((e[(c[Cb>>2]|0)+14>>1]|0)<=(c[vb>>2]|0)){g=c[Dc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){BF(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{fh(g);break d}}}if(e[(c[Dc>>2]|0)+8>>1]&9312)fh(c[Dc>>2]|0);a[(c[Dc>>2]|0)+10>>0]=a[H>>0]|0;if((c[(c[Cb>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[vb>>2]|0)+1<<2)>>2]|0)>>>0){c[Ye>>2]=(c[(c[Cb>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[vb>>2]<<2)>>2]|0);if((c[ne>>2]|0)>>>0<12){vF(c[Ye>>2]|0,c[ne>>2]|0,c[Dc>>2]|0)|0;break d}g=(((c[ne>>2]|0)-12|0)>>>0)/2|0;c[Fa>>2]=g;c[(c[Dc>>2]|0)+12>>2]=g;g=c[Dc>>2]|0;if((c[(c[Dc>>2]|0)+24>>2]|0)<((c[Fa>>2]|0)+2|0)){b[g+8>>1]=1;if(ux(c[Dc>>2]|0,(c[Fa>>2]|0)+2|0,0)|0){k=860;break a}}else c[(c[Dc>>2]|0)+16>>2]=c[g+20>>2];iR(c[(c[Dc>>2]|0)+16>>2]|0,c[Ye>>2]|0,c[Fa>>2]|0)|0;a[(c[(c[Dc>>2]|0)+16>>2]|0)+(c[Fa>>2]|0)>>0]=0;a[(c[(c[Dc>>2]|0)+16>>2]|0)+((c[Fa>>2]|0)+1)>>0]=0;b[(c[Dc>>2]|0)+8>>1]=b[17282+((c[ne>>2]&1)<<1)>>1]|0;break d}do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[ne>>2]|0)>>>0>=12?(c[ne>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=309}else k=309;while(0);if((k|0)==309?(k=0,Af=uF(c[ne>>2]|0)|0,c[Fa>>2]=Af,(Af|0)!=0):0){c[rf>>2]=hI(c[fc>>2]|0,c[(c[m>>2]|0)+(c[vb>>2]<<2)>>2]|0,c[Fa>>2]|0,((a[(c[Cb>>2]|0)+4>>0]|0)!=0^1)&1,c[Dc>>2]|0)|0;if(c[rf>>2]|0)break d;vF(c[(c[Dc>>2]|0)+16>>2]|0,c[ne>>2]|0,c[Dc>>2]|0)|0;Af=(c[Dc>>2]|0)+8|0;b[Af>>1]=e[Af>>1]&-4097;break d}vF(40734,c[ne>>2]|0,c[Dc>>2]|0)|0;break}case 48:{c[We>>2]=c[(c[pf>>2]|0)+16>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){Af=c[We>>2]|0;c[We>>2]=Af+1;Af=a[Af>>0]|0;a[A>>0]=Af;if(!(Af<<24>>24))break d;rx(c[Oc>>2]|0,a[A>>0]|0,a[H>>0]|0);c[Oc>>2]=(c[Oc>>2]|0)+40}}case 49:{Af=Ua;c[Af>>2]=0;c[Af+4>>2]=0;c[_a>>2]=0;Af=gb;c[Af>>2]=0;c[Af+4>>2]=0;c[Xa>>2]=c[(c[pf>>2]|0)+4>>2];c[Xe>>2]=c[(c[pf>>2]|0)+16>>2];c[zc>>2]=(c[l>>2]|0)+((c[Xa>>2]|0)*40|0);c[Xa>>2]=c[(c[pf>>2]|0)+8>>2];c[Vc>>2]=(c[zc>>2]|0)+(((c[Xa>>2]|0)-1|0)*40|0);c[K>>2]=d[(c[lf>>2]|0)+87>>0];c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Xe>>2]|0){c[md>>2]=c[zc>>2];do{yf=c[md>>2]|0;c[md>>2]=yf+40;Af=c[Xe>>2]|0;c[Xe>>2]=Af+1;rx(yf,a[Af>>0]|0,a[H>>0]|0)}while((a[c[Xe>>2]>>0]|0)!=0)}c[md>>2]=c[Vc>>2];do{Af=jI(c[md>>2]|0,c[K>>2]|0,Ga)|0;c[me>>2]=Af;c[(c[md>>2]|0)+28>>2]=Af;do if(e[(c[md>>2]|0)+8>>1]&16384){Af=Ua;g=c[md>>2]|0;if((c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0)if(Vg(g)|0){k=860;break a}else break;else{yf=c[g>>2]|0;Af=gb;yf=gR(c[Af>>2]|0,c[Af+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;Af=gb;c[Af>>2]=yf;c[Af+4>>2]=C;c[Ga>>2]=(c[Ga>>2]|0)-(c[c[md>>2]>>2]|0);break}}while(0);yf=Ua;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,c[Ga>>2]|0,0)|0;Af=Ua;c[Af>>2]=yf;c[Af+4>>2]=C;if((c[me>>2]|0)>>>0<=127)g=1;else g=zF(c[me>>2]|0,0)|0;c[_a>>2]=(c[_a>>2]|0)+g;Af=(c[md>>2]|0)+-40|0;c[md>>2]=Af}while(Af>>>0>=(c[zc>>2]|0)>>>0);g=c[_a>>2]|0;if((c[_a>>2]|0)>126){c[fb>>2]=zF(g,((g|0)<0)<<31>>31)|0;c[_a>>2]=(c[_a>>2]|0)+(c[fb>>2]|0);yf=c[fb>>2]|0;Af=c[_a>>2]|0;if((yf|0)<(zF(Af,((Af|0)<0)<<31>>31)|0))c[_a>>2]=(c[_a>>2]|0)+1}else c[_a>>2]=g+1;f=c[_a>>2]|0;yf=Ua;yf=gR(f|0,((f|0)<0)<<31>>31|0,c[yf>>2]|0,c[yf+4>>2]|0)|0;f=Ra;c[f>>2]=yf;c[f+4>>2]=C;f=Ra;yf=gb;yf=gR(c[f>>2]|0,c[f+4>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0;f=C;Af=c[(c[mf>>2]|0)+88>>2]|0;j=((Af|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&yf>>>0>Af>>>0){k=859;break c}if(tx(c[id>>2]|0,c[Ra>>2]|0)|0){k=860;break a}c[ff>>2]=c[(c[id>>2]|0)+16>>2];if((c[_a>>2]|0)>>>0<128){a[c[ff>>2]>>0]=c[_a>>2];g=1}else{g=c[_a>>2]|0;g=kI(c[ff>>2]|0,g,((g|0)<0)<<31>>31)|0}c[W>>2]=g&255;c[Da>>2]=c[_a>>2];c[md>>2]=c[zc>>2];do{c[me>>2]=c[(c[md>>2]|0)+28>>2];if((c[me>>2]|0)>>>0<128){a[(c[ff>>2]|0)+(c[W>>2]|0)>>0]=c[me>>2];g=1}else g=kI((c[ff>>2]|0)+(c[W>>2]|0)|0,c[me>>2]|0,0)|0;c[W>>2]=(c[W>>2]|0)+(g&255);Af=lI((c[ff>>2]|0)+(c[Da>>2]|0)|0,c[md>>2]|0,c[me>>2]|0)|0;c[Da>>2]=(c[Da>>2]|0)+Af;Af=(c[md>>2]|0)+40|0;c[md>>2]=Af}while(Af>>>0<=(c[Vc>>2]|0)>>>0);c[(c[id>>2]|0)+12>>2]=c[Ra>>2];b[(c[id>>2]|0)+8>>1]=16;Af=gb;if((c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0){c[c[id>>2]>>2]=c[gb>>2];Af=(c[id>>2]|0)+8|0;b[Af>>1]=e[Af>>1]|16384}a[(c[id>>2]|0)+10>>0]=1;break}case 50:{c[gc>>2]=c[(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];j=Va;c[j>>2]=0;c[j+4>>2]=0;c[rf>>2]=mI(c[gc>>2]|0,Va)|0;c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;j=Va;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break}case 0:{c[rb>>2]=c[(c[pf>>2]|0)+4>>2];c[ef>>2]=c[(c[pf>>2]|0)+16>>2];if(!(c[rb>>2]|0)){if((c[(c[mf>>2]|0)+156>>2]|0)>0){SH(c[lf>>2]|0,40742,Be);c[rf>>2]=5;break d}c[cb>>2]=If(c[ef>>2]|0)|0;c[rf>>2]=nI(c[mf>>2]|0,0,(c[(c[mf>>2]|0)+504>>2]|0)+(c[(c[mf>>2]|0)+500>>2]|0)|0)|0;if(c[rf>>2]|0){k=861;break c}c[hd>>2]=Fw(c[mf>>2]|0,32+(c[cb>>2]|0)+1|0,0)|0;if(!(c[hd>>2]|0))break d;c[c[hd>>2]>>2]=(c[hd>>2]|0)+32;iR(c[c[hd>>2]>>2]|0,c[ef>>2]|0,(c[cb>>2]|0)+1|0)|0;g=c[mf>>2]|0;if(a[(c[mf>>2]|0)+63>>0]|0){a[g+63>>0]=0;a[(c[mf>>2]|0)+71>>0]=1}else{Af=g+500|0;c[Af>>2]=(c[Af>>2]|0)+1}c[(c[hd>>2]|0)+24>>2]=c[(c[mf>>2]|0)+492>>2];c[(c[mf>>2]|0)+492>>2]=c[hd>>2];Af=(c[mf>>2]|0)+512|0;yf=c[Af+4>>2]|0;j=(c[hd>>2]|0)+8|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=(c[mf>>2]|0)+520|0;yf=c[j+4>>2]|0;Af=(c[hd>>2]|0)+16|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break d}c[ua>>2]=0;c[pd>>2]=c[(c[mf>>2]|0)+492>>2];while(1){if(!(c[pd>>2]|0))break;if(!(Td(c[c[pd>>2]>>2]|0,c[ef>>2]|0)|0))break;c[ua>>2]=(c[ua>>2]|0)+1;c[pd>>2]=c[(c[pd>>2]|0)+24>>2]}if(!(c[pd>>2]|0)){Af=c[lf>>2]|0;c[Ce>>2]=c[ef>>2];SH(Af,40793,Ce);c[rf>>2]=1;break d}if((c[rb>>2]|0)==1?(c[(c[mf>>2]|0)+156>>2]|0)>0:0){SH(c[lf>>2]|0,40815,De);c[rf>>2]=5;break d}if(!(c[(c[pd>>2]|0)+24>>2]|0))g=(d[(c[mf>>2]|0)+71>>0]|0)!=0;else g=0;c[Ba>>2]=g&1;if(!((c[Ba>>2]|0)!=0&(c[rb>>2]|0)==1)){c[ua>>2]=(c[(c[mf>>2]|0)+500>>2]|0)-(c[ua>>2]|0)-1;g:do if((c[rb>>2]|0)==2){c[Aa>>2]=(c[(c[mf>>2]|0)+24>>2]&2|0)!=0&1;c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(c[(c[mf>>2]|0)+20>>2]|0))break g;c[rf>>2]=oI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[xa>>2]<<4)+4>>2]|0,516,(c[Aa>>2]|0)==0&1)|0;if(c[rf>>2]|0){k=861;break c}c[xa>>2]=(c[xa>>2]|0)+1}}else c[Aa>>2]=0;while(0);c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(c[(c[mf>>2]|0)+20>>2]|0))break;c[rf>>2]=pI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[xa>>2]<<4)+4>>2]|0,c[rb>>2]|0,c[ua>>2]|0)|0;if(c[rf>>2]|0){k=861;break c}c[xa>>2]=(c[xa>>2]|0)+1}if(c[Aa>>2]|0){Oh(c[mf>>2]|0);zg(c[mf>>2]|0);c[(c[mf>>2]|0)+24>>2]=c[(c[mf>>2]|0)+24>>2]|2}}else{Af=WH(c[lf>>2]|0,1)|0;c[rf>>2]=Af;if(Af){k=858;break c}a[(c[mf>>2]|0)+63>>0]=1;if((TH(c[lf>>2]|0)|0)==5){k=367;break c}a[(c[mf>>2]|0)+71>>0]=0;c[rf>>2]=c[(c[lf>>2]|0)+80>>2]}while(1){if((c[(c[mf>>2]|0)+492>>2]|0)==(c[pd>>2]|0))break;c[rd>>2]=c[(c[mf>>2]|0)+492>>2];c[(c[mf>>2]|0)+492>>2]=c[(c[rd>>2]|0)+24>>2];Sf(c[mf>>2]|0,c[rd>>2]|0);Af=(c[mf>>2]|0)+500|0;c[Af>>2]=(c[Af>>2]|0)+-1}g=c[pd>>2]|0;if((c[rb>>2]|0)==1){c[(c[mf>>2]|0)+492>>2]=c[g+24>>2];Sf(c[mf>>2]|0,c[pd>>2]|0);if(!(c[Ba>>2]|0)){Af=(c[mf>>2]|0)+500|0;c[Af>>2]=(c[Af>>2]|0)+-1}}else{Af=g+8|0;yf=c[Af+4>>2]|0;j=(c[mf>>2]|0)+512|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=(c[pd>>2]|0)+16|0;yf=c[j+4>>2]|0;Af=(c[mf>>2]|0)+520|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}if((c[Ba>>2]|0)==0|(c[rb>>2]|0)==2?(c[rf>>2]=nI(c[mf>>2]|0,c[rb>>2]|0,c[ua>>2]|0)|0,(c[rf>>2]|0)!=0):0){k=861;break c}break}case 1:{c[E>>2]=c[(c[pf>>2]|0)+4>>2];c[ta>>2]=c[(c[pf>>2]|0)+8>>2];if((c[E>>2]|0)==(d[(c[mf>>2]|0)+63>>0]|0)){if(c[E>>2]|0)g=(c[ta>>2]|0)!=0?40924:40967;else g=41008;SH(c[lf>>2]|0,g,Fe);c[rf>>2]=1;break d}if(c[ta>>2]|0){k=391;break c}if(!(c[E>>2]|0)){k=395;break c}if((c[(c[mf>>2]|0)+156>>2]|0)<=0){k=395;break c}SH(c[lf>>2]|0,40869,Ee);c[rf>>2]=5;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[mf>>2]|0)+24>>2]&33554432|0)!=0:0){k=407;break c}c[yb>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[yb>>2]|0){c[rf>>2]=mg(c[yb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if((c[rf>>2]&255|0)==5){k=410;break c}if(c[rf>>2]|0){k=861;break c}do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((e[(c[lf>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){if((d[(c[mf>>2]|0)+63>>0]|0)!=0?(c[(c[mf>>2]|0)+152>>2]|0)<=1:0)break;if(!(c[(c[lf>>2]|0)+104>>2]|0)){Af=(c[mf>>2]|0)+504|0;c[Af>>2]=(c[Af>>2]|0)+1;c[(c[lf>>2]|0)+104>>2]=(c[(c[mf>>2]|0)+500>>2]|0)+(c[(c[mf>>2]|0)+504>>2]|0)}c[rf>>2]=nI(c[mf>>2]|0,0,(c[(c[lf>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[rf>>2]|0))c[rf>>2]=sI(c[yb>>2]|0,c[(c[lf>>2]|0)+104>>2]|0)|0;Af=(c[mf>>2]|0)+512|0;yf=c[Af+4>>2]|0;j=(c[lf>>2]|0)+152|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=(c[mf>>2]|0)+520|0;yf=c[j+4>>2]|0;Af=(c[lf>>2]|0)+160|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}while(0);ng(c[yb>>2]|0,1,pa);c[la>>2]=c[(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[pa>>2]=0;c[la>>2]=0}if(d[(c[pf>>2]|0)+3>>0]|0){if((c[pa>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[la>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break d;Sf(c[mf>>2]|0,c[(c[lf>>2]|0)+44>>2]|0);Af=nh(c[mf>>2]|0,41056)|0;c[(c[lf>>2]|0)+44>>2]=Af;if((c[c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[pa>>2]|0))rj(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9|8;c[rf>>2]=17}break}case 51:{c[ha>>2]=c[(c[pf>>2]|0)+4>>2];c[ga>>2]=c[(c[pf>>2]|0)+12>>2];ng(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4)+4>>2]|0,c[ga>>2]|0,qa);c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;yf=c[qa>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 52:{c[Ac>>2]=(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[rf>>2]=yg(c[(c[Ac>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[Ac>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[Ac>>2]|0)+12>>2]>>2]=c[g+12>>2];Af=(c[mf>>2]|0)+24|0;c[Af>>2]=c[Af>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Oh(c[mf>>2]|0);Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9}break}case 53:{c[qc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[qc>>2]|0)!=0?(c[(c[qc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=453;else k=438;break}case 55:case 54:{k=438;break}case 57:case 56:{c[vc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[vc>>2]|0)){k=860;break a}a[(c[vc>>2]|0)+2>>0]=1;Af=(c[vc>>2]|0)+5|0;a[Af>>0]=a[Af>>0]&-2|1;c[rf>>2]=Xj(c[c[mf>>2]>>2]|0,0,c[mf>>2]|0,(c[vc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[rf>>2]|0))c[rf>>2]=mg(c[(c[vc>>2]|0)+20>>2]|0,1)|0;do if(!(c[rf>>2]|0)){Af=c[(c[pf>>2]|0)+16>>2]|0;c[Uc>>2]=Af;g=c[(c[vc>>2]|0)+20>>2]|0;if(!Af){c[rf>>2]=uI(g,1,4,0,c[(c[vc>>2]|0)+16>>2]|0)|0;a[(c[vc>>2]|0)+4>>0]=1;break}c[rf>>2]=wI(g,Hd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[rf>>2]|0)){c[(c[vc>>2]|0)+24>>2]=c[Uc>>2];c[rf>>2]=uI(c[(c[vc>>2]|0)+20>>2]|0,c[Hd>>2]|0,4,c[Uc>>2]|0,c[(c[vc>>2]|0)+16>>2]|0)|0}a[(c[vc>>2]|0)+4>>0]=0}while(0);Af=(c[vc>>2]|0)+5|0;a[Af>>0]=a[Af>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 58:{c[wc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[wc>>2]|0)){k=860;break a}c[(c[wc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[rf>>2]=xI(c[mf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[wc>>2]|0)|0;break}case 59:{c[Db>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[Db>>2]|0)+32|0;Af=j;yf=c[Af>>2]|0;Af=c[Af+4>>2]|0;f=gR(yf|0,Af|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((yf|0)==0&(Af|0)==0)k=15;break}case 60:{c[xc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[xc>>2]|0)){k=860;break a}a[(c[xc>>2]|0)+2>>0]=1;c[(c[xc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[xc>>2]|0)+4>>0]=1;break}case 61:{yI(c[lf>>2]|0,c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 66:case 65:case 64:case 63:{c[Eb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[kb>>2]=d[c[pf>>2]>>0];c[I>>2]=0;a[(c[Eb>>2]|0)+2>>0]=0;if(a[(c[Eb>>2]|0)+4>>0]|0){c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Qc>>2]|0)+8>>1]&14|0)==2)xh(c[Qc>>2]|0,0);yf=Zg(c[Qc>>2]|0)|0;Af=ma;c[Af>>2]=yf;c[Af+4>>2]=C;do if(!(e[(c[Qc>>2]|0)+8>>1]&4)){if(!(e[(c[Qc>>2]|0)+8>>1]&8)){k=15;break d}Af=ma;if(+h[c[Qc>>2]>>3]<+((c[Af>>2]|0)>>>0)+4294967296.0*+(c[Af+4>>2]|0)){if(c[kb>>2]&1)break;c[kb>>2]=(c[kb>>2]|0)+-1;break}Af=ma;if(+h[c[Qc>>2]>>3]>+((c[Af>>2]|0)>>>0)+4294967296.0*+(c[Af+4>>2]|0)?(c[kb>>2]&1|0)==1:0)c[kb>>2]=(c[kb>>2]|0)+1}while(0);k=ma;c[rf>>2]=eF(c[(c[Eb>>2]|0)+16>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,0,Wd)|0;k=ma;yf=c[k+4>>2]|0;Af=(c[Eb>>2]|0)+40|0;c[Af>>2]=c[k>>2];c[Af+4>>2]=yf;if(c[rf>>2]|0){k=861;break c}else k=489}else{if(zI(c[(c[Eb>>2]|0)+16>>2]|0,2)|0)c[I>>2]=1;c[Za>>2]=c[(c[pf>>2]|0)+16>>2];c[Kd>>2]=c[(c[Eb>>2]|0)+24>>2];b[Kd+8>>1]=c[Za>>2];a[Kd+10>>0]=(1&(c[kb>>2]|0)-63|0)!=0?-1:1;c[Kd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Kd+4>>2]|0)+8>>1]&16384)Vg(c[Kd+4>>2]|0)|0;a[Kd+14>>0]=0;c[rf>>2]=eF(c[(c[Eb>>2]|0)+16>>2]|0,Kd,0,0,0,Wd)|0;if(c[rf>>2]|0){k=861;break c}if(!((c[I>>2]|0)!=0?(d[Kd+14>>0]|0)==0:0))k=489}do if((k|0)==489){k=0;a[(c[Eb>>2]|0)+3>>0]=0;c[(c[Eb>>2]|0)+56>>2]=0;g=c[Wd>>2]|0;if((c[kb>>2]|0)>=65){if((g|0)>=0?!((c[Wd>>2]|0)==0&(c[kb>>2]|0)==66):0){c[Wd>>2]=0;break}c[Wd>>2]=0;c[rf>>2]=TE(c[(c[Eb>>2]|0)+16>>2]|0,Wd)|0;if(c[rf>>2]|0){k=861;break c}else break}else{if((g|0)<=0?!((c[Wd>>2]|0)==0&(c[kb>>2]|0)==63):0){c[Wd>>2]=AI(c[(c[Eb>>2]|0)+16>>2]|0)|0;break}c[Wd>>2]=0;c[rf>>2]=UE(c[(c[Eb>>2]|0)+16>>2]|0,Wd)|0;if(c[rf>>2]|0){k=861;break c}else break}}while(0);if(!(c[Wd>>2]|0)){if(c[I>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=15;break}case 69:case 68:case 67:{c[Fb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Lc>>2]=0;g=c[(c[Fb>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Ld>>2]=g;b[Ld+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Ld+4>>2]=c[Qc>>2];c[ya>>2]=0;while(1){if((c[ya>>2]|0)>=(e[Ld+8>>1]|0))break;if(e[(c[Ld+4>>2]|0)+((c[ya>>2]|0)*40|0)+8>>1]&16384)Vg((c[Ld+4>>2]|0)+((c[ya>>2]|0)*40|0)|0)|0;c[ya>>2]=(c[ya>>2]|0)+1}c[Mc>>2]=Ld}else{c[Mc>>2]=cF(g,r,183,Lc)|0;if(!(c[Mc>>2]|0)){k=860;break a}if(e[(c[Qc>>2]|0)+8>>1]&16384)Vg(c[Qc>>2]|0)|0;dF(c[(c[Fb>>2]|0)+24>>2]|0,c[(c[Qc>>2]|0)+12>>2]|0,c[(c[Qc>>2]|0)+16>>2]|0,c[Mc>>2]|0)}a[(c[Mc>>2]|0)+10>>0]=0;c[qe>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==67){c[ya>>2]=0;while(1){if((c[ya>>2]|0)>=(e[(c[Mc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Mc>>2]|0)+4>>2]|0)+((c[ya>>2]|0)*40|0)+8>>1]&1)break;c[ya>>2]=(c[ya>>2]|0)+1}c[qe>>2]=1}while(0);c[rf>>2]=eF(c[(c[Fb>>2]|0)+16>>2]|0,c[Mc>>2]|0,0,0,0,Xd)|0;Sf(c[mf>>2]|0,c[Lc>>2]|0);if(!(c[rf>>2]|0)){c[(c[Fb>>2]|0)+28>>2]=c[Xd>>2];c[t>>2]=(c[Xd>>2]|0)==0&1;a[(c[Fb>>2]|0)+2>>0]=1-(c[t>>2]|0);a[(c[Fb>>2]|0)+3>>0]=0;c[(c[Fb>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==69)if(c[t>>2]|0){k=15;break d}else break d;else if((c[qe>>2]|0)==0&(c[t>>2]|0)!=0)break d;else{k=15;break d}}break}case 70:{c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[hc>>2]=c[(c[Gb>>2]|0)+16>>2];c[Yd>>2]=0;Af=c[Qc>>2]|0;yf=c[Af+4>>2]|0;j=na;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=na;c[rf>>2]=eF(c[hc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Yd)|0;j=na;yf=c[j+4>>2]|0;Af=(c[Gb>>2]|0)+40|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;a[(c[Gb>>2]|0)+2>>0]=0;c[(c[Gb>>2]|0)+56>>2]=0;a[(c[Gb>>2]|0)+3>>0]=0;c[(c[Gb>>2]|0)+28>>2]=c[Yd>>2];if(c[Yd>>2]|0)if(!(c[(c[pf>>2]|0)+8>>2]|0))c[rf>>2]=Lj(78267)|0;else k=15;break}case 73:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;Af=(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;yf=Af;j=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=gR(j|0,yf|0,1,0)|0;c[Af>>2]=f;c[Af+4>>2]=C;Af=c[id>>2]|0;c[Af>>2]=j;c[Af+4>>2]=yf;break}case 74:{Af=ue;c[Af>>2]=0;c[Af+4>>2]=0;c[Zd>>2]=0;c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Hb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Hb>>2]|0)+5>>0]|0)>>>1&1)){c[rf>>2]=BI(c[(c[Hb>>2]|0)+16>>2]|0,Zd)|0;if(c[rf>>2]|0){k=861;break c}if(c[Zd>>2]|0){Af=ue;c[Af>>2]=1;c[Af+4>>2]=0;break}c[rf>>2]=sH(c[(c[Hb>>2]|0)+16>>2]|0,ue)|0;Af=ue;yf=c[Af+4>>2]|0;if((yf|0)>2147483647|(yf|0)==2147483647&(c[Af>>2]|0)>>>0>=4294967295){Af=(c[Hb>>2]|0)+5|0;a[Af>>0]=a[Af>>0]&-3|2;break}else{yf=ue;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;Af=ue;c[Af>>2]=yf;c[Af+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[lf>>2]|0)+176>>2]|0){c[Hc>>2]=c[(c[lf>>2]|0)+176>>2];while(1){if(!(c[(c[Hc>>2]|0)+4>>2]|0))break;c[Hc>>2]=c[(c[Hc>>2]|0)+4>>2]}c[Xc>>2]=(c[(c[Hc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Xc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);wx(c[Xc>>2]|0)|0;Af=c[Xc>>2]|0;if((c[Af>>2]|0)==-1?(c[Af+4>>2]|0)==2147483647:0){k=542;break c}if((d[(c[Hb>>2]|0)+5>>0]|0)>>>1&1){k=542;break c}f=ue;yf=c[f>>2]|0;f=c[f+4>>2]|0;Af=c[Xc>>2]|0;Af=gR(c[Af>>2]|0,c[Af+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&yf>>>0>>0){yf=c[Xc>>2]|0;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;Af=ue;c[Af>>2]=yf;c[Af+4>>2]=C}j=ue;yf=c[j+4>>2]|0;Af=c[Xc>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}if((d[(c[Hb>>2]|0)+5>>0]|0)>>>1&1){c[D>>2]=0;do{Sd(8,ue);j=ue;Af=c[j+4>>2]&1073741823;yf=ue;c[yf>>2]=c[j>>2];c[yf+4>>2]=Af;yf=ue;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;Af=ue;c[Af>>2]=yf;c[Af+4>>2]=C;Af=ue;Af=eF(c[(c[Hb>>2]|0)+16>>2]|0,0,c[Af>>2]|0,c[Af+4>>2]|0,0,Zd)|0;c[rf>>2]=Af;if(!((Af|0)==0&(c[Zd>>2]|0)==0))break;Af=(c[D>>2]|0)+1|0;c[D>>2]=Af}while((Af|0)<100);if((c[rf>>2]|0)==0&(c[Zd>>2]|0)==0){k=551;break c}}a[(c[Hb>>2]|0)+3>>0]=0;c[(c[Hb>>2]|0)+56>>2]=0;j=ue;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break}case 84:case 75:{c[yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Ib>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==75){c[Rc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Rc>>2]|0;yf=c[j+4>>2]|0;Af=oa;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}else{Af=oa;c[Af>>2]=g;c[Af+4>>2]=((g|0)<0)<<31>>31}if(d[(c[pf>>2]|0)+3>>0]&1){Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){yf=oa;j=c[yf>>2]|0;yf=c[yf+4>>2]|0;Af=nf;c[Af>>2]=j;c[Af+4>>2]=yf;Af=(c[mf>>2]|0)+32|0;c[Af>>2]=j;c[Af+4>>2]=yf}if(e[(c[yc>>2]|0)+8>>1]&1){c[(c[yc>>2]|0)+16>>2]=0;c[(c[yc>>2]|0)+12>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Ib>>2]|0)+28>>2]|0;else g=0;c[le>>2]=g;if(e[(c[yc>>2]|0)+8>>1]&16384)c[hb>>2]=c[c[yc>>2]>>2];else c[hb>>2]=0;Af=oa;c[rf>>2]=CI(c[(c[Ib>>2]|0)+16>>2]|0,0,c[Af>>2]|0,c[Af+4>>2]|0,c[(c[yc>>2]|0)+16>>2]|0,c[(c[yc>>2]|0)+12>>2]|0,c[hb>>2]|0,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[le>>2]|0)|0;a[(c[Ib>>2]|0)+3>>0]=0;c[(c[Ib>>2]|0)+56>>2]=0;if(((c[rf>>2]|0)==0?(c[(c[mf>>2]|0)+212>>2]|0)!=0:0)?(c[(c[pf>>2]|0)+16>>2]|0)!=0:0){c[Ze>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(a[(c[Ib>>2]|0)+1>>0]<<4)>>2];c[jf>>2]=c[(c[pf>>2]|0)+16>>2];c[ob>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18;Af=oa;Xb[c[(c[mf>>2]|0)+212>>2]&255](c[(c[mf>>2]|0)+208>>2]|0,c[ob>>2]|0,c[Ze>>2]|0,c[jf>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)}break}case 95:{c[Jb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[(c[mf>>2]|0)+212>>2]|0)!=0?(c[(c[pf>>2]|0)+16>>2]|0)!=0:0)g=(d[(c[Jb>>2]|0)+4>>0]|0)!=0;else g=0;a[R>>0]=g&1;if((d[(c[pf>>2]|0)+3>>0]|0)!=0?(d[R>>0]|0)!=0:0)sH(c[(c[Jb>>2]|0)+16>>2]|0,(c[Jb>>2]|0)+40|0)|0;c[rf>>2]=DI(c[(c[Jb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Jb>>2]|0)+56>>2]=0;if((c[rf>>2]|0)==0?(d[R>>0]|0)!=0:0){Af=(c[Jb>>2]|0)+40|0;Xb[c[(c[mf>>2]|0)+212>>2]&255](c[(c[mf>>2]|0)+208>>2]|0,9,c[(c[(c[mf>>2]|0)+16>>2]|0)+(a[(c[Jb>>2]|0)+1>>0]<<4)>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)}if(c[(c[pf>>2]|0)+8>>2]&1){Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1}break}case 98:{QH(c[mf>>2]|0,c[(c[lf>>2]|0)+92>>2]|0);c[(c[lf>>2]|0)+92>>2]=0;break}case 99:{c[Kb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ab>>2]=c[(c[pf>>2]|0)+16>>2];c[_d>>2]=0;c[rf>>2]=EI(c[Kb>>2]|0,c[Qc>>2]|0,c[ab>>2]|0,_d)|0;if(c[_d>>2]|0)k=15;break}case 100:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Lb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[rf>>2]=FI(c[Lb>>2]|0,c[id>>2]|0)|0;c[(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 102:case 101:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Mb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ic>>2]=c[(c[Mb>>2]|0)+16>>2];g=c[ic>>2]|0;if(d[(c[Mb>>2]|0)+4>>0]|0){fI(g,Ka)|0;if((c[Ka>>2]|0)>>>0>(c[(c[mf>>2]|0)+88>>2]|0)>>>0){k=859;break c}}else{sH(g,La)|0;yf=La;f=c[yf+4>>2]|0;Af=c[(c[mf>>2]|0)+88>>2]|0;j=((Af|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[yf>>2]|0)>>>0>Af>>>0:0)){k=859;break c}c[Ka>>2]=c[La>>2]}if(tx(c[id>>2]|0,(c[Ka>>2]|0)>>>0>32?c[Ka>>2]|0:32)|0){k=860;break a}c[(c[id>>2]|0)+12>>2]=c[Ka>>2];b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|16;g=c[ic>>2]|0;f=c[Ka>>2]|0;j=c[(c[id>>2]|0)+16>>2]|0;if(!(d[(c[Mb>>2]|0)+4>>0]|0))c[rf>>2]=tH(g,0,f,j)|0;else c[rf>>2]=Mh(g,0,f,j)|0;a[(c[id>>2]|0)+10>>0]=1;break}case 103:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Nb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Nb>>2]|0)+2>>0]|0){b[(c[id>>2]|0)+8>>1]=1;break d}g=c[Nb>>2]|0;do if(!(a[(c[Nb>>2]|0)+3>>0]|0)){f=c[Nb>>2]|0;if((d[g>>0]|0)==2){c[wd>>2]=c[c[f+16>>2]>>2];c[ad>>2]=c[c[wd>>2]>>2];c[rf>>2]=Yb[c[(c[ad>>2]|0)+48>>2]&255](c[(c[Nb>>2]|0)+16>>2]|0,xe)|0;GI(c[lf>>2]|0,c[wd>>2]|0);break}c[rf>>2]=HI(f)|0;if(c[rf>>2]|0){k=861;break c}if(a[(c[Nb>>2]|0)+2>>0]|0){b[(c[id>>2]|0)+8>>1]=1;break d}else{c[rf>>2]=sH(c[(c[Nb>>2]|0)+16>>2]|0,xe)|0;break}}else{j=g+40|0;yf=c[j+4>>2]|0;Af=xe;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}while(0);j=xe;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break}case 104:{c[Pb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Pb>>2]|0)+2>>0]=1;c[(c[Pb>>2]|0)+56>>2]=0;if(!(d[c[Pb>>2]>>0]|0))pB(c[(c[Pb>>2]|0)+16>>2]|0);break}case 105:{c[Qb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[jc>>2]=c[(c[Qb>>2]|0)+16>>2];c[$d>>2]=0;c[rf>>2]=BI(c[jc>>2]|0,$d)|0;a[(c[Qb>>2]|0)+2>>0]=c[$d>>2];a[(c[Qb>>2]|0)+3>>0]=0;c[(c[Qb>>2]|0)+56>>2]=0;c[(c[Qb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if((c[$d>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=15;break}case 107:case 106:{k=(c[lf>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=609;break}case 108:{k=609;break}case 3:{c[Vb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ce>>2]=0;c[rf>>2]=KI(c[mf>>2]|0,c[Vb>>2]|0,ce)|0;k=616;break}case 5:case 4:{if(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=615;break}case 7:case 6:{k=615;break}case 110:case 109:{c[_b>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1}if(e[(c[Pc>>2]|0)+8>>1]&16384)g=Vg(c[Pc>>2]|0)|0;else g=0;c[rf>>2]=g;if(!(c[rf>>2]|0)){if((d[c[pf>>2]>>0]|0)==109){c[rf>>2]=LI(c[_b>>2]|0,c[Pc>>2]|0)|0;break d}c[$a>>2]=c[(c[Pc>>2]|0)+12>>2];c[cf>>2]=c[(c[Pc>>2]|0)+16>>2];g=c[$a>>2]|0;if(d[(c[pf>>2]|0)+3>>0]&16)f=c[(c[_b>>2]|0)+28>>2]|0;else f=0;c[rf>>2]=CI(c[(c[_b>>2]|0)+16>>2]|0,c[cf>>2]|0,g,((g|0)<0)<<31>>31,19266,0,0,c[(c[pf>>2]|0)+12>>2]|0,f)|0;c[(c[_b>>2]|0)+56>>2]=0}break}case 111:{c[$b>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[lc>>2]=c[(c[$b>>2]|0)+16>>2];c[Md>>2]=c[(c[$b>>2]|0)+24>>2];b[Md+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Md+10>>0]=0;c[Md+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[rf>>2]=eF(c[lc>>2]|0,Md,0,0,0,de)|0;if((c[rf>>2]|0)==0&(c[de>>2]|0)==0)c[rf>>2]=DI(c[lc>>2]|0,4)|0;c[(c[$b>>2]|0)+56>>2]=0;break}case 113:case 112:{c[ac>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[rf>>2]=HI(c[ac>>2]|0)|0;if(c[rf>>2]|0){k=861;break c}if(a[(c[ac>>2]|0)+2>>0]|0){fh((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}Af=ge;c[Af>>2]=0;c[Af+4>>2]=0;c[rf>>2]=MI(c[mf>>2]|0,c[(c[ac>>2]|0)+16>>2]|0,ge)|0;if(c[rf>>2]|0){k=861;break c}if((d[c[pf>>2]>>0]|0)==112){c[qd>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[qd>>2]|0)+2>>0]=0;j=ge;yf=c[j+4>>2]|0;Af=(c[qd>>2]|0)+40|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;a[(c[qd>>2]|0)+3>>0]=1;c[(c[qd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[qd>>2]|0)+48>>2]=c[ac>>2];break d}else{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;j=ge;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;b[(c[id>>2]|0)+8>>1]=4;break d}}case 117:case 116:case 115:case 114:{c[bc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Nd>>2]=c[(c[bc>>2]|0)+24>>2];b[Nd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Nd+10|0;if((d[c[pf>>2]>>0]|0)<116)a[g>>0]=-1;else a[g>>0]=0;c[Nd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ee>>2]=0;c[rf>>2]=NI(c[mf>>2]|0,c[bc>>2]|0,Nd,ee)|0;g=c[ee>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[ee>>2]=0-g;else c[ee>>2]=g+1;if((c[ee>>2]|0)>0)k=15;break}case 118:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=1;if((c[(c[mf>>2]|0)+152>>2]|0)>((c[(c[mf>>2]|0)+164>>2]|0)+1|0)){c[rf>>2]=6;a[(c[lf>>2]|0)+86>>0]=2;break d}c[ja>>2]=c[(c[pf>>2]|0)+12>>2];c[ra>>2]=0;c[rf>>2]=OI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,ra)|0;b[(c[id>>2]|0)+8>>1]=4;yf=c[ra>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;if((c[rf>>2]|0)==0&(c[ra>>2]|0)!=0){PI(c[mf>>2]|0,c[ja>>2]|0,c[ra>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[fe>>0]=(c[ja>>2]|0)+1}break}case 119:{c[Ta>>2]=0;c[rf>>2]=QI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Ta:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(Af=(c[lf>>2]|0)+92|0,c[Af>>2]=(c[Af>>2]|0)+(c[Ta>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){yf=c[Ta>>2]|0;Af=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=Af;yf=gR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C}break}case 120:{c[cc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[cc>>2]>>0]|0)==1){RI(c[mf>>2]|0,c[(c[cc>>2]|0)+16>>2]|0);break d}else{c[rf>>2]=SI(c[(c[cc>>2]|0)+16>>2]|0)|0;break d}}case 122:case 121:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Id>>2]=0;c[Cc>>2]=(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==122)c[Q>>2]=1;else c[Q>>2]=2;c[rf>>2]=wI(c[(c[Cc>>2]|0)+4>>2]|0,Id,c[Q>>2]|0)|0;yf=c[Id>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 123:{c[ka>>2]=c[(c[pf>>2]|0)+4>>2];c[df>>2]=(c[ka>>2]|0)==1?20769:20788;c[za>>2]=c[mf>>2];c[za+8>>2]=c[(c[pf>>2]|0)+4>>2];c[za+4>>2]=(c[lf>>2]|0)+44;Af=c[mf>>2]|0;j=c[df>>2]|0;yf=c[(c[pf>>2]|0)+16>>2]|0;c[Ge>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[ka>>2]<<4)>>2];c[Ge+4>>2]=j;c[Ge+8>>2]=yf;c[gf>>2]=Bh(Af,41084,Ge)|0;if(!(c[gf>>2]|0))c[rf>>2]=7;else{a[(c[mf>>2]|0)+140+5>>0]=1;c[za+12>>2]=0;c[rf>>2]=$e(c[mf>>2]|0,c[gf>>2]|0,140,za,0)|0;if(!(c[rf>>2]|0))c[rf>>2]=c[za+12>>2];Sf(c[mf>>2]|0,c[gf>>2]|0);a[(c[mf>>2]|0)+140+5>>0]=0}if(c[rf>>2]|0)zg(c[mf>>2]|0);if((c[rf>>2]|0)==7){k=860;break a}break}case 124:{c[rf>>2]=Aj(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;break}case 125:{TI(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 126:{UI(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 127:{VI(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 128:{c[eb>>2]=c[(c[pf>>2]|0)+8>>2];c[q>>2]=Fw(c[mf>>2]|0,(c[eb>>2]|0)+1<<2,0)|0;if(!(c[q>>2]|0)){k=860;break a}c[Jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Ea>>2]=0;while(1){g=c[Ea>>2]|0;if((c[Ea>>2]|0)>=(c[eb>>2]|0))break;Af=Zg((c[Oc>>2]|0)+(g*40|0)|0)|0;c[(c[q>>2]|0)+(c[Ea>>2]<<2)>>2]=Af;c[Ea>>2]=(c[Ea>>2]|0)+1}c[(c[q>>2]|0)+(g<<2)>>2]=0;c[Te>>2]=WI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[q>>2]|0,c[eb>>2]|0,c[c[Jd>>2]>>2]|0,Wa)|0;Sf(c[mf>>2]|0,c[q>>2]|0);yf=c[Wa>>2]|0;Af=c[Jd>>2]|0;j=Af;yf=fR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;fh(c[Oc>>2]|0);if(c[Wa>>2]|0){if(!(c[Te>>2]|0)){k=860;break a}dh(c[Oc>>2]|0,c[Te>>2]|0,-1,1,148)|0}Zt(c[Oc>>2]|0,d[H>>0]|0)|0;break}case 129:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&32|0)==0?(XI(c[Oc>>2]|0),(e[(c[Oc>>2]|0)+8>>1]&32|0)==0):0){k=860;break a}Af=c[Pc>>2]|0;YI(c[c[Oc>>2]>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0);break}case 130:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&32|0)!=0?(ZI(c[c[Oc>>2]>>2]|0,ye)|0)!=0:0){k=ye;eh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=9;break d}fh(c[Oc>>2]|0);k=8;break}case 131:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[va>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Oc>>2]|0)+8>>1]&32|0)==0?(XI(c[Oc>>2]|0),(e[(c[Oc>>2]|0)+8>>1]&32|0)==0):0){k=860;break a}if((c[va>>2]|0)!=0?(Af=c[Qc>>2]|0,c[J>>2]=_I(c[c[Oc>>2]>>2]|0,c[va>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)|0,(c[J>>2]|0)!=0):0){k=15;break d}if((c[va>>2]|0)>=0){Af=c[Qc>>2]|0;YI(c[c[Oc>>2]>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)}break}case 132:{c[kd>>2]=c[(c[pf>>2]|0)+16>>2];c[od>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[oe>>2]=c[(c[kd>>2]|0)+20>>2];c[Ic>>2]=c[(c[lf>>2]|0)+176>>2];while(1){if(!(c[Ic>>2]|0))break;if((c[(c[Ic>>2]|0)+28>>2]|0)==(c[oe>>2]|0))break;c[Ic>>2]=c[(c[Ic>>2]|0)+4>>2]}if(c[Ic>>2]|0)break d}if((c[(c[lf>>2]|0)+184>>2]|0)>=(c[(c[mf>>2]|0)+88+40>>2]|0)){c[rf>>2]=1;SH(c[lf>>2]|0,41148,He);break d}i:do if(!(e[(c[od>>2]|0)+8>>1]&64)){c[bb>>2]=(c[(c[kd>>2]|0)+8>>2]|0)+(c[(c[kd>>2]|0)+12>>2]|0);c[Sa>>2]=80+((c[bb>>2]|0)*40|0)+(c[(c[kd>>2]|0)+12>>2]<<2)+(c[(c[kd>>2]|0)+16>>2]|0);Af=c[Sa>>2]|0;c[Ic>>2]=ph(c[mf>>2]|0,Af,((Af|0)<0)<<31>>31)|0;if(!(c[Ic>>2]|0)){k=860;break a}Ug(c[od>>2]|0);b[(c[od>>2]|0)+8>>1]=64;c[c[od>>2]>>2]=c[Ic>>2];c[c[Ic>>2]>>2]=c[lf>>2];c[(c[Ic>>2]|0)+60>>2]=c[bb>>2];c[(c[Ic>>2]|0)+64>>2]=c[(c[kd>>2]|0)+12>>2];c[(c[Ic>>2]|0)+44>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[Ic>>2]|0)+16>>2]=c[(c[lf>>2]|0)+8>>2];c[(c[Ic>>2]|0)+52>>2]=c[(c[lf>>2]|0)+28>>2];c[(c[Ic>>2]|0)+24>>2]=c[(c[lf>>2]|0)+56>>2];c[(c[Ic>>2]|0)+40>>2]=c[(c[lf>>2]|0)+36>>2];c[(c[Ic>>2]|0)+8>>2]=c[(c[lf>>2]|0)+4>>2];c[(c[Ic>>2]|0)+48>>2]=c[(c[lf>>2]|0)+32>>2];c[(c[Ic>>2]|0)+28>>2]=c[(c[kd>>2]|0)+20>>2];c[(c[Ic>>2]|0)+20>>2]=c[(c[lf>>2]|0)+200>>2];c[(c[Ic>>2]|0)+56>>2]=c[(c[lf>>2]|0)+196>>2];c[Fc>>2]=(c[Ic>>2]|0)+80+((c[(c[Ic>>2]|0)+60>>2]|0)*40|0);c[Yc>>2]=(c[Ic>>2]|0)+80;while(1){if((c[Yc>>2]|0)==(c[Fc>>2]|0))break i;b[(c[Yc>>2]|0)+8>>1]=128;c[(c[Yc>>2]|0)+32>>2]=c[mf>>2];c[Yc>>2]=(c[Yc>>2]|0)+40}}else c[Ic>>2]=c[c[od>>2]>>2];while(0);j=(c[lf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Ic>>2]|0)+4>>2]=c[(c[lf>>2]|0)+176>>2];j=nf;yf=c[j+4>>2]|0;Af=(c[Ic>>2]|0)+32|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;c[(c[Ic>>2]|0)+68>>2]=c[(c[lf>>2]|0)+92>>2];c[(c[Ic>>2]|0)+72>>2]=c[(c[c[lf>>2]>>2]|0)+80>>2];c[(c[lf>>2]|0)+92>>2]=0;c[(c[lf>>2]|0)+176>>2]=c[Ic>>2];Af=(c[Ic>>2]|0)+80+-40|0;c[l>>2]=Af;c[(c[lf>>2]|0)+8>>2]=Af;c[(c[lf>>2]|0)+28>>2]=c[(c[Ic>>2]|0)+60>>2];c[(c[lf>>2]|0)+36>>2]=c[(c[Ic>>2]|0)+64>>2]&65535;c[(c[lf>>2]|0)+56>>2]=(c[l>>2]|0)+(((c[(c[lf>>2]|0)+28>>2]|0)+1|0)*40|0);Af=c[c[kd>>2]>>2]|0;c[n>>2]=Af;c[(c[lf>>2]|0)+4>>2]=Af;c[(c[lf>>2]|0)+32>>2]=c[(c[kd>>2]|0)+4>>2];c[(c[lf>>2]|0)+200>>2]=(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[lf>>2]|0)+36>>2]<<2);c[(c[lf>>2]|0)+196>>2]=c[(c[kd>>2]|0)+16>>2];c[pf>>2]=(c[n>>2]|0)+-20;kR(c[(c[lf>>2]|0)+200>>2]|0,0,c[(c[lf>>2]|0)+196>>2]|0)|0;break}case 134:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Jc>>2]=c[(c[lf>>2]|0)+176>>2];c[Nc>>2]=(c[(c[Jc>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Jc>>2]|0)+8>>2]|0)+((c[(c[Jc>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);BF(c[id>>2]|0,c[Nc>>2]|0,4096);break}case 135:{g=c[pf>>2]|0;if(c[(c[mf>>2]|0)+24>>2]&16777216){yf=c[g+8>>2]|0;Af=(c[mf>>2]|0)+520|0;j=Af;yf=gR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){Af=(c[mf>>2]|0)+512|0;yf=Af;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,f|0,j|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break d}else{Af=(c[lf>>2]|0)+144|0;yf=Af;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,f|0,j|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break d}}case 136:if(c[(c[pf>>2]|0)+4>>2]|0){Af=(c[mf>>2]|0)+512|0;if(!((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0))break d;Af=(c[mf>>2]|0)+520|0;if((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0){k=15;break d}else break d}else{Af=(c[lf>>2]|0)+144|0;if(!((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0))break d;Af=(c[mf>>2]|0)+520|0;if((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0){k=15;break d}else break d}case 137:{if(c[(c[lf>>2]|0)+176>>2]|0){c[Kc>>2]=c[(c[lf>>2]|0)+176>>2];while(1){if(!(c[(c[Kc>>2]|0)+4>>2]|0))break;c[Kc>>2]=c[(c[Kc>>2]|0)+4>>2]}c[Oc>>2]=(c[(c[Kc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);wx(c[Oc>>2]|0)|0;c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wx(c[Pc>>2]|0)|0;yf=c[Oc>>2]|0;f=c[yf+4>>2]|0;Af=c[Pc>>2]|0;j=c[Af+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[yf>>2]|0)>>>0<(c[Af>>2]|0)>>>0:0)){j=c[Pc>>2]|0;yf=c[j+4>>2]|0;Af=c[Oc>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}break}case 138:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Af=c[Oc>>2]|0;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>0){Af=c[(c[pf>>2]|0)+12>>2]|0;k=c[Oc>>2]|0;yf=k;Af=fR(c[yf>>2]|0,c[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;c[k>>2]=Af;c[k+4>>2]=C;k=15}break}case 139:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;Af=c[Oc>>2]|0;yf=c[Af+4>>2]|0;if((yf|0)<0|(yf|0)==0&(c[Af>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Oc>>2]|0;Af=c[Qc>>2]|0;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>0){j=c[Qc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=gR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}Af=c[id>>2]|0;c[Af>>2]=g;c[Af+4>>2]=f;break}case 140:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Af=c[Oc>>2]|0;if((c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0){Af=c[(c[pf>>2]|0)+12>>2]|0;k=c[Oc>>2]|0;yf=k;Af=fR(c[yf>>2]|0,c[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;c[k>>2]=Af;c[k+4>>2]=C;k=15}break}case 141:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Af=c[Oc>>2]|0;yf=Af;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,-1,-1)|0;c[Af>>2]=yf;c[Af+4>>2]=C;Af=c[Oc>>2]|0;if((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0)k=15;break}case 142:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=c[Oc>>2]|0;Af=j;yf=c[Af>>2]|0;Af=c[Af+4>>2]|0;f=gR(yf|0,Af|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((yf|0)==0&(Af|0)==0)k=15;break}case 143:{c[Na>>2]=d[(c[pf>>2]|0)+3>>0];c[oc>>2]=Fw(c[mf>>2]|0,32+((c[Na>>2]|0)-1<<2)|0,0)|0;if(!(c[oc>>2]|0)){k=860;break a}c[(c[oc>>2]|0)+8>>2]=0;c[(c[oc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[oc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[oc>>2]|0)+12>>2]=c[lf>>2];a[(c[oc>>2]|0)+26>>0]=c[Na>>2];a[(c[pf>>2]|0)+1>>0]=-20;c[(c[pf>>2]|0)+16>>2]=c[oc>>2];a[c[pf>>2]>>0]=-112;k=740;break}case 144:{k=740;break}case 145:{c[_c>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[rf>>2]=EF(c[_c>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[rf>>2]|0){Af=c[lf>>2]|0;c[Je>>2]=ae(c[_c>>2]|0)|0;SH(Af,19255,Je)}Zt(c[_c>>2]|0,d[H>>0]|0)|0;if(VH(c[_c>>2]|0)|0){k=859;break c}break}case 8:{c[p>>2]=0;c[p+8>>2]=-1;c[p+4>>2]=-1;c[rf>>2]=ki(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,p+4|0,p+8|0)|0;if((c[rf>>2]|0)==5){c[rf>>2]=0;c[p>>2]=1}c[aa>>2]=0;c[$c>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[aa>>2]|0)>=3)break d;Af=c[p+(c[aa>>2]<<2)>>2]|0;eh(c[$c>>2]|0,Af,((Af|0)<0)<<31>>31);c[aa>>2]=(c[aa>>2]|0)+1;c[$c>>2]=(c[$c>>2]|0)+40}}case 9:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[F>>2]=c[(c[pf>>2]|0)+12>>2];c[Ab>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[jd>>2]=Of(c[Ab>>2]|0)|0;c[G>>2]=qg(c[jd>>2]|0)|0;if((c[F>>2]|0)==-1)c[F>>2]=c[G>>2];if(!($I(c[jd>>2]|0)|0))c[F>>2]=c[G>>2];c[af>>2]=Fi(c[jd>>2]|0,1)|0;do if((c[F>>2]|0)==5){if((If(c[af>>2]|0)|0)!=0?(aJ(c[jd>>2]|0)|0)!=0:0)break;c[F>>2]=c[G>>2]}while(0);do if((c[F>>2]|0)!=(c[G>>2]|0)?(c[G>>2]|0)==5|(c[F>>2]|0)==5:0){if((a[(c[mf>>2]|0)+63>>0]|0)!=0?(c[(c[mf>>2]|0)+152>>2]|0)<=1:0){if((c[G>>2]|0)==5){c[rf>>2]=bJ(c[jd>>2]|0)|0;if(!(c[rf>>2]|0))cJ(c[jd>>2]|0,c[F>>2]|0)|0}else if((c[G>>2]|0)==4)cJ(c[jd>>2]|0,2)|0;if(c[rf>>2]|0)break;c[rf>>2]=Ag(c[Ab>>2]|0,(c[F>>2]|0)==5?2:1)|0;break}c[rf>>2]=1;Af=c[lf>>2]|0;c[Ke>>2]=(c[F>>2]|0)==5?41185:41190;SH(Af,41197,Ke);break d}while(0);if(c[rf>>2]|0)c[F>>2]=c[G>>2];c[F>>2]=cJ(c[jd>>2]|0,c[F>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=2562;Af=RB(c[F>>2]|0)|0;c[(c[id>>2]|0)+16>>2]=Af;Af=If(c[(c[id>>2]|0)+16>>2]|0)|0;c[(c[id>>2]|0)+12>>2]=Af;a[(c[id>>2]|0)+10>>0]=1;Zt(c[id>>2]|0,d[H>>0]|0)|0;break}case 10:{c[rf>>2]=dJ((c[lf>>2]|0)+44|0,c[mf>>2]|0)|0;break}case 146:{c[Bb>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[rf>>2]=eJ(c[Bb>>2]|0)|0;if((c[rf>>2]|0)==101){c[rf>>2]=0;k=15}break}case 147:if(c[(c[pf>>2]|0)+4>>2]|0){Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9|8;break d}else{Oh(c[mf>>2]|0);break d}case 148:{a[Ca>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Ca>>0]|0)==0?0!=(c[(c[mf>>2]|0)+24>>2]&16384|0):0)break d;c[qb>>2]=c[(c[pf>>2]|0)+4>>2];c[rf>>2]=fJ(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[qb>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Ca>>0]|0)|0;if((c[rf>>2]&255|0)==6){c[Ue>>2]=c[(c[pf>>2]|0)+16>>2];Af=c[lf>>2]|0;c[Le>>2]=c[Ue>>2];SH(Af,41249,Le)}break}case 149:{c[ud>>2]=c[(c[pf>>2]|0)+16>>2];c[rf>>2]=gJ(c[mf>>2]|0,c[ud>>2]|0)|0;if(c[ud>>2]|0)GI(c[lf>>2]|0,c[(c[ud>>2]|0)+8>>2]|0);break}case 150:{g=ke;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ke+32>>2]=c[mf>>2];c[rf>>2]=gh(ke,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[hf>>2]=ae(ke)|0;if(c[hf>>2]|0)c[rf>>2]=hJ(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[hf>>2]|0,(c[lf>>2]|0)+44|0)|0;Ug(ke);break}case 151:{Af=(c[mf>>2]|0)+164|0;c[Af>>2]=(c[Af>>2]|0)+1;c[rf>>2]=iJ(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;Af=(c[mf>>2]|0)+164|0;c[Af>>2]=(c[Af>>2]|0)+-1;break}case 152:{c[rc>>2]=0;c[sd>>2]=0;c[xd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if((c[xd>>2]|0)!=0?(c[c[xd>>2]>>2]|0)!=0:0){c[bd>>2]=c[c[xd>>2]>>2];c[rf>>2]=Yb[c[(c[bd>>2]|0)+24>>2]&255](c[xd>>2]|0,sd)|0;GI(c[lf>>2]|0,c[xd>>2]|0);if(c[rf>>2]|0)break d;c[c[sd>>2]>>2]=c[xd>>2];c[rc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[rc>>2]|0)){k=804;break c}c[(c[rc>>2]|0)+16>>2]=c[sd>>2];Af=(c[xd>>2]|0)+4|0;c[Af>>2]=(c[Af>>2]|0)+1;break d}c[rf>>2]=6;break}case 11:{c[ld>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[xb>>2]=(c[ld>>2]|0)+40;c[sc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[td>>2]=c[(c[sc>>2]|0)+16>>2];c[yd>>2]=c[c[td>>2]>>2];c[cd>>2]=c[c[yd>>2]>>2];c[Oa>>2]=c[c[xb>>2]>>2];c[sa>>2]=c[c[ld>>2]>>2];c[Ud>>2]=0;c[u>>2]=c[(c[lf>>2]|0)+12>>2];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Oa>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=(c[xb>>2]|0)+(((c[T>>2]|0)+1|0)*40|0);c[T>>2]=(c[T>>2]|0)+1}c[rf>>2]=Zb[c[(c[cd>>2]|0)+32>>2]&255](c[td>>2]|0,c[sa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Oa>>2]|0,c[u>>2]|0)|0;GI(c[lf>>2]|0,c[yd>>2]|0);if(!(c[rf>>2]|0))c[Ud>>2]=Tb[c[(c[cd>>2]|0)+40>>2]&255](c[td>>2]|0)|0;a[(c[sc>>2]|0)+2>>0]=0;if(c[Ud>>2]|0)k=15;break}case 153:{c[tc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Ec>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[tc>>2]|0)+2>>0]|0){fh(c[Ec>>2]|0);break d}c[zd>>2]=c[c[(c[tc>>2]|0)+16>>2]>>2];c[dd>>2]=c[c[zd>>2]>>2];c[ie>>2]=0;c[ie+4>>2]=0;c[ie+8>>2]=0;c[ie+12>>2]=0;c[ie+16>>2]=0;c[ie+20>>2]=0;c[ie+24>>2]=0;c[ie+28>>2]=0;c[ie>>2]=c[Ec>>2];b[(c[Ec>>2]|0)+8>>1]=e[(c[Ec>>2]|0)+8>>1]&-49664|1;c[rf>>2]=Ob[c[(c[dd>>2]|0)+44>>2]&255](c[(c[tc>>2]|0)+16>>2]|0,ie,c[(c[pf>>2]|0)+8>>2]|0)|0;GI(c[lf>>2]|0,c[zd>>2]|0);if(c[ie+20>>2]|0)c[rf>>2]=c[ie+20>>2];Zt(c[Ec>>2]|0,d[H>>0]|0)|0;if(VH(c[Ec>>2]|0)|0){k=859;break c}break}case 154:{c[Vd>>2]=0;c[uc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[uc>>2]|0)+2>>0]|0)){c[Ad>>2]=c[c[(c[uc>>2]|0)+16>>2]>>2];c[ed>>2]=c[c[Ad>>2]>>2];c[rf>>2]=Tb[c[(c[ed>>2]|0)+36>>2]&255](c[(c[uc>>2]|0)+16>>2]|0)|0;GI(c[lf>>2]|0,c[Ad>>2]|0);if(!(c[rf>>2]|0))c[Vd>>2]=Tb[c[(c[ed>>2]|0)+40>>2]&255](c[(c[uc>>2]|0)+16>>2]|0)|0;if(c[Vd>>2]|0)k=9;else k=8}break}case 155:{c[Bd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[rf>>2]=Zt(c[gd>>2]|0,1)|0;if(!(c[rf>>2]|0)){c[rf>>2]=Yb[c[(c[c[Bd>>2]>>2]|0)+76>>2]&255](c[Bd>>2]|0,c[(c[gd>>2]|0)+16>>2]|0)|0;GI(c[lf>>2]|0,c[Bd>>2]|0);Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9}break}case 12:{c[Cd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if((c[Cd>>2]|0)!=0?(c[c[Cd>>2]>>2]|0)!=0:0){c[fd>>2]=c[c[Cd>>2]>>2];c[Pa>>2]=c[(c[pf>>2]|0)+8>>2];if(!(c[(c[fd>>2]|0)+52>>2]|0))break d;a[Re>>0]=a[(c[mf>>2]|0)+70>>0]|0;c[v>>2]=c[(c[lf>>2]|0)+12>>2];c[Ed>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[Pa>>2]|0))break;c[(c[v>>2]|0)+(c[V>>2]<<2)>>2]=c[Ed>>2];c[Ed>>2]=(c[Ed>>2]|0)+40;c[V>>2]=(c[V>>2]|0)+1}a[(c[mf>>2]|0)+70>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[rf>>2]=Wb[c[(c[fd>>2]|0)+52>>2]&255](c[Cd>>2]|0,c[Pa>>2]|0,c[v>>2]|0,he)|0;a[(c[mf>>2]|0)+70>>0]=a[Re>>0]|0;GI(c[lf>>2]|0,c[Cd>>2]|0);if((c[rf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){yf=he;j=c[yf>>2]|0;yf=c[yf+4>>2]|0;Af=nf;c[Af>>2]=j;c[Af+4>>2]=yf;Af=(c[mf>>2]|0)+32|0;c[Af>>2]=j;c[Af+4>>2]=yf}if((c[rf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[rf>>2]=0;break d}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[lf>>2]|0)+86>>0]=g;break d}Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1;break d}c[rf>>2]=6;break}case 156:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;yf=rg(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=0;break}case 157:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[zb>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[ib>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[ib>>2]=rg(c[zb>>2]|0)|0,(c[ib>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[ib>>2]=c[(c[pf>>2]|0)+12>>2];yf=jJ(c[zb>>2]|0,c[ib>>2]|0)|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 158:{if((c[(c[mf>>2]|0)+176>>2]|0)!=0?((e[(c[lf>>2]|0)+88>>1]|0)>>>9&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[lf>>2]|0)+168>>2]|0;c[kf>>2]=g;if(g){c[Ve>>2]=kJ(c[lf>>2]|0,c[kf>>2]|0)|0;Rb[c[(c[mf>>2]|0)+176>>2]&255](c[(c[mf>>2]|0)+180>>2]|0,c[Ve>>2]|0);Sf(c[mf>>2]|0,c[Ve>>2]|0)}}if(c[(c[pf>>2]|0)+8>>2]|0)k=15;break}default:{}}while(0);do if((k|0)==21){k=0;c[qf>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=26;break c}if(!(c[(c[lf>>2]|0)+176>>2]|0)){k=26;break c}c[Gc>>2]=c[(c[lf>>2]|0)+176>>2];c[(c[lf>>2]|0)+176>>2]=c[(c[Gc>>2]|0)+4>>2];j=(c[lf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;QH(c[mf>>2]|0,c[(c[lf>>2]|0)+92>>2]|0);c[qf>>2]=RH(c[Gc>>2]|0)|0;j=(c[mf>>2]|0)+32|0;yf=c[j+4>>2]|0;Af=nf;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[qf>>2]=(c[(c[(c[lf>>2]|0)+4>>2]|0)+((c[qf>>2]|0)*20|0)+8>>2]|0)-1;c[n>>2]=c[(c[lf>>2]|0)+4>>2];c[l>>2]=c[(c[lf>>2]|0)+8>>2];c[pf>>2]=(c[n>>2]|0)+((c[qf>>2]|0)*20|0)}else if((k|0)==50){k=0;c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=2562;c[(c[id>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[id>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[id>>2]|0)+10>>0]=a[H>>0]|0;if((a[(c[pf>>2]|0)+3>>0]|0)!=0?(c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),Af=c[Qc>>2]|0,(c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0):0)b[(c[id>>2]|0)+8>>1]=2576}else if((k|0)==132){k=0;c[nc>>2]=c[(c[pf>>2]|0)+16>>2];c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[nc>>2]>>2]|0)!=(c[id>>2]|0)){c[c[nc>>2]>>2]=c[id>>2];c[X>>2]=(d[(c[nc>>2]|0)+26>>0]|0)-1;while(1){if((c[X>>2]|0)<0)break j;c[(c[nc>>2]|0)+28+(c[X>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[X>>2]|0)|0)*40|0);c[X>>2]=(c[X>>2]|0)+-1}}while(0);b[(c[c[nc>>2]>>2]|0)+8>>1]=e[(c[c[nc>>2]>>2]|0)+8>>1]&-49664|1;a[(c[nc>>2]|0)+25>>0]=0;Af=nf;yf=c[Af+4>>2]|0;j=(c[mf>>2]|0)+32|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;Ub[c[(c[(c[nc>>2]|0)+4>>2]|0)+12>>2]&255](c[nc>>2]|0,d[(c[nc>>2]|0)+26>>0]|0,(c[nc>>2]|0)+28|0);j=(c[mf>>2]|0)+32|0;yf=c[j+4>>2]|0;Af=nf;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;if(a[(c[nc>>2]|0)+25>>0]|0){if(c[(c[nc>>2]|0)+20>>2]|0){Af=c[lf>>2]|0;c[Ae>>2]=ae(c[c[nc>>2]>>2]|0)|0;SH(Af,19255,Ae);c[rf>>2]=c[(c[nc>>2]|0)+20>>2]}bI(c[lf>>2]|0,c[(c[nc>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)}if((e[(c[id>>2]|0)+8>>1]&18|0)!=0?(Zt(c[c[nc>>2]>>2]|0,d[H>>0]|0)|0,(VH(c[c[nc>>2]>>2]|0)|0)!=0):0){k=859;break c}}else if((k|0)==438){k=0;if((e[(c[lf>>2]|0)+88>>1]|0)>>>3&1){c[rf>>2]=516;break}c[Ya>>2]=0;c[Tc>>2]=0;c[wb>>2]=c[(c[pf>>2]|0)+8>>2];c[ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Bc>>2]=(c[(c[mf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4);c[Dd>>2]=c[(c[Bc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==55){c[Se>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[Bc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[lf>>2]|0)+87>>0]|0))a[(c[lf>>2]|0)+87>>0]=a[(c[(c[Bc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Se>>2]=0;if((d[(c[pf>>2]|0)+3>>0]&16|0)!=0?(c[Pc>>2]=(c[l>>2]|0)+((c[wb>>2]|0)*40|0),wx(c[Pc>>2]|0)|0,c[wb>>2]=c[c[Pc>>2]>>2],(c[wb>>2]|0)<2):0){k=446;break c}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Ya>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Tc>>2]=c[g+16>>2];c[Ya>>2]=(e[(c[Tc>>2]|0)+6>>1]|0)+(e[(c[Tc>>2]|0)+8>>1]|0)}c[qc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Ya>>2]|0,c[ia>>2]|0,0)|0;if(!(c[qc>>2]|0)){k=860;break a}a[(c[qc>>2]|0)+2>>0]=1;k=(c[qc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[qc>>2]|0)+8>>2]=c[wb>>2];c[rf>>2]=uI(c[Dd>>2]|0,c[wb>>2]|0,c[Se>>2]|0,c[Tc>>2]|0,c[(c[qc>>2]|0)+16>>2]|0)|0;c[(c[qc>>2]|0)+24>>2]=c[Tc>>2];a[(c[qc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=453}else if((k|0)==609){k=0;c[Sb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[be>>2]=1;g=c[Sb>>2]|0;if((d[c[Sb>>2]>>0]|0)==1)c[rf>>2]=II(g,be)|0;else{c[kc>>2]=c[g+16>>2];c[rf>>2]=JI(c[kc>>2]|0,be)|0;a[(c[Sb>>2]|0)+3>>0]=0;c[(c[Sb>>2]|0)+56>>2]=0}a[(c[Sb>>2]|0)+2>>0]=c[be>>2];if(c[be>>2]|0)k=15}else if((k|0)==615){c[Vb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ce>>2]=c[(c[pf>>2]|0)+12>>2];c[rf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Vb>>2]|0)+16>>2]|0,ce)|0;k=616}else if((k|0)==740){k=0;c[pc>>2]=c[(c[pf>>2]|0)+16>>2];c[Zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[pc>>2]|0)+8>>2]|0)!=(c[Zc>>2]|0)){c[(c[pc>>2]|0)+8>>2]=c[Zc>>2];c[_>>2]=(d[(c[pc>>2]|0)+26>>0]|0)-1;while(1){if((c[_>>2]|0)<0)break k;c[(c[pc>>2]|0)+28+(c[_>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[_>>2]|0)|0)*40|0);c[_>>2]=(c[_>>2]|0)+-1}}while(0);Af=(c[Zc>>2]|0)+12|0;c[Af>>2]=(c[Af>>2]|0)+1;AF(pe,c[mf>>2]|0,1);c[c[pc>>2]>>2]=pe;a[(c[pc>>2]|0)+25>>0]=0;a[(c[pc>>2]|0)+24>>0]=0;Ub[c[(c[(c[pc>>2]|0)+4>>2]|0)+12>>2]&255](c[pc>>2]|0,d[(c[pc>>2]|0)+26>>0]|0,(c[pc>>2]|0)+28|0);if(a[(c[pc>>2]|0)+25>>0]|0){if(c[(c[pc>>2]|0)+20>>2]|0){Af=c[lf>>2]|0;c[Ie>>2]=ae(pe)|0;SH(Af,19255,Ie);c[rf>>2]=c[(c[pc>>2]|0)+20>>2]}Ug(pe)}if((a[(c[pc>>2]|0)+24>>0]|0)!=0?(c[_>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[_>>2]|0)!=0):0)eh((c[l>>2]|0)+((c[_>>2]|0)*40|0)|0,1,0)}while(0);do if((k|0)==15){k=0;c[pf>>2]=(c[n>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==453){k=0;vI(c[(c[qc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3)}else if((k|0)==616){c[(c[Vb>>2]|0)+56>>2]=0;g=(c[Vb>>2]|0)+2|0;if(!(c[ce>>2]|0)){a[g>>0]=0;k=(c[lf>>2]|0)+108+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=8;break}else{a[g>>0]=1;k=9;break}}while(0);if((k|0)==8){c[pf>>2]=(c[n>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=9}if((k|0)==9){k=0;if(c[(c[mf>>2]|0)+240>>2]|0)break b;if(((c[(c[mf>>2]|0)+296>>2]|0)!=0?(c[of>>2]|0)>>>0>=(c[db>>2]|0)>>>0:0)?(c[db>>2]=(c[of>>2]|0)+(c[(c[mf>>2]|0)+304>>2]|0)-(((c[of>>2]|0)>>>0)%((c[(c[mf>>2]|0)+304>>2]|0)>>>0)|0),(Tb[c[(c[mf>>2]|0)+296>>2]&255](c[(c[mf>>2]|0)+300>>2]|0)|0)!=0):0){k=13;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 13:{c[rf>>2]=9;break a}case 26:{c[(c[lf>>2]|0)+80>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[lf>>2]|0)+86>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[lf>>2]|0)+76>>2]=c[qf>>2];if(c[(c[lf>>2]|0)+80>>2]|0){if(a[(c[pf>>2]|0)+3>>0]|0)c[wf>>2]=c[6408+((d[(c[pf>>2]|0)+3>>0]|0)-1<<2)>>2];else c[wf>>2]=0;c[vf>>2]=40646;if((c[wf>>2]|0)!=0?(c[(c[pf>>2]|0)+16>>2]|0)!=0:0){Af=c[lf>>2]|0;yf=c[(c[pf>>2]|0)+16>>2]|0;c[ze>>2]=c[wf>>2];c[ze+4>>2]=yf;SH(Af,40670,ze)}else k=33;do if((k|0)==33){g=c[lf>>2]|0;if(c[(c[pf>>2]|0)+16>>2]|0){c[sf>>2]=c[(c[pf>>2]|0)+16>>2];SH(g,19255,sf);break}else{c[tf>>2]=c[wf>>2];SH(g,40695,tf);break}}while(0);yf=c[(c[pf>>2]|0)+4>>2]|0;Af=c[vf>>2]|0;vf=c[(c[lf>>2]|0)+168>>2]|0;wf=c[(c[lf>>2]|0)+44>>2]|0;c[uf>>2]=c[qf>>2];c[uf+4>>2]=vf;c[uf+8>>2]=wf;Rd(yf,Af,uf)}c[rf>>2]=TH(c[lf>>2]|0)|0;if((c[rf>>2]|0)==5){c[rf>>2]=5;c[(c[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}else{c[rf>>2]=(c[(c[lf>>2]|0)+80>>2]|0)!=0?1:101;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}}case 74:{c[rf>>2]=9;break a}case 77:{c[(c[lf>>2]|0)+72>>2]=(c[(c[lf>>2]|0)+72>>2]|0)+2|1;Af=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[lf>>2]|0)+20>>2]=Af;c[Wc>>2]=Af;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Wc>>2]|0)+((c[S>>2]|0)*40|0)+8>>1]&4096|0)!=0?(_g((c[Wc>>2]|0)+((c[S>>2]|0)*40|0)|0)|0)!=0:0){k=860;break a}YH((c[Wc>>2]|0)+((c[S>>2]|0)*40|0)|0)|0;c[S>>2]=(c[S>>2]|0)+1}if(a[(c[mf>>2]|0)+65>>0]|0){k=860;break a}c[(c[lf>>2]|0)+76>>2]=(((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0)+1;c[rf>>2]=100;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 165:{c[rf>>2]=20;k=861;break}case 367:{c[(c[lf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;a[(c[mf>>2]|0)+63>>0]=0;c[rf>>2]=5;c[(c[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 391:{qI(c[mf>>2]|0,516);a[(c[mf>>2]|0)+63>>0]=1;break}case 395:{Af=WH(c[lf>>2]|0,1)|0;c[rf>>2]=Af;if(Af){Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}else{a[(c[mf>>2]|0)+63>>0]=c[E>>2];break}}case 407:{c[rf>>2]=8;k=861;break}case 410:{c[(c[lf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[lf>>2]|0)+80>>2]=c[rf>>2];Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 446:{c[rf>>2]=Lj(77597)|0;k=861;break}case 542:{c[rf>>2]=13;k=861;break}case 551:{c[rf>>2]=13;k=861;break}case 804:{Tb[c[(c[bd>>2]|0)+28>>2]&255](c[sd>>2]|0)|0;k=860;break a}case 858:{Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 859:{SH(c[lf>>2]|0,19034,Ne);c[rf>>2]=18;break a}}if((k|0)==861){if(a[(c[mf>>2]|0)+65>>0]|0)c[rf>>2]=7;if((c[rf>>2]|0)==3082)break a;Af=c[lf>>2]|0;c[Pe>>2]=ih(c[rf>>2]|0)|0;SH(Af,19255,Pe);break a}if((TH(c[lf>>2]|0)|0)==5){c[(c[lf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;a[(c[mf>>2]|0)+63>>0]=1-(c[E>>2]|0);c[rf>>2]=5;c[(c[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}rI(c[mf>>2]|0);if(!(c[(c[lf>>2]|0)+80>>2]|0)){c[rf>>2]=101;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}else{c[rf>>2]=1;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}}while(0);c[rf>>2]=(d[(c[mf>>2]|0)+65>>0]|0)!=0?7:9;c[(c[lf>>2]|0)+80>>2]=c[rf>>2];Af=c[lf>>2]|0;c[Qe>>2]=ih(c[rf>>2]|0)|0;SH(Af,19255,Qe)}while(0);if((k|0)==860){jh(c[mf>>2]|0);SH(c[lf>>2]|0,32392,Oe);c[rf>>2]=7}c[(c[lf>>2]|0)+80>>2]=c[rf>>2];Af=c[rf>>2]|0;wf=c[(c[lf>>2]|0)+168>>2]|0;yf=c[(c[lf>>2]|0)+44>>2]|0;c[Me>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[Me+4>>2]=wf;c[Me+8>>2]=yf;Rd(Af,41278,Me);TH(c[lf>>2]|0)|0;if((c[rf>>2]|0)==3082)jh(c[mf>>2]|0);c[rf>>2]=1;if((d[fe>>0]|0)<=0){Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}rj(c[mf>>2]|0,(d[fe>>0]|0)-1|0);Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}function LH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(kg(c[f>>2]|0),c[e>>2]=NH(Of(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+216>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+216>>2]&255](c[(c[b>>2]|0)+220>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function MH(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){jg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+66|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Sj();if(!(c[(c[e>>2]|0)+236>>2]|0)){b=Vh(c[e>>2]|0)|0;c[(c[e>>2]|0)+236>>2]=b}Wh(c[(c[e>>2]|0)+236>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);Tj();d=(c[e>>2]|0)+66|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function NH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=OH(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function OH(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function PH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+100>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)kg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function QH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+80>>2]=c[e>>2];b=(c[f>>2]|0)+84|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function RH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];kM(c[e>>2]|0);c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+48>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+24>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+40>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+80>>2]=c[(c[b>>2]|0)+72>>2];i=d;return c[(c[b>>2]|0)+44>>2]|0}function SH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Sf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+44>>2]|0);c[g>>2]=d;b=Zw(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+44>>2]=b;i=e;return}function TH(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;h=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;f=o;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[m>>2]|0)+65>>0]|0)c[(c[l>>2]|0)+80>>2]=7;if(c[(c[l>>2]|0)+200>>2]|0)kR(c[(c[l>>2]|0)+200>>2]|0,0,c[(c[l>>2]|0)+196>>2]|0)|0;cM(c[l>>2]|0);if((c[(c[l>>2]|0)+40>>2]|0)!=-1108210269){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+76>>2]|0)>=0?((e[(c[l>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){c[n>>2]=0;PH(c[l>>2]|0);c[g>>2]=c[(c[l>>2]|0)+80>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+88>>1]|0)>>>6&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){c[n>>2]=2;break}qI(c[m>>2]|0,516);rI(c[m>>2]|0);a[(c[m>>2]|0)+63>>0]=1;c[(c[l>>2]|0)+92>>2]=0}while(0);if(!(c[(c[l>>2]|0)+80>>2]|0))WH(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+308>>2]|0)>0?(c[(c[m>>2]|0)+332>>2]|0)==0:0)j=38;else if((d[(c[m>>2]|0)+63>>0]|0)!=0?(c[(c[m>>2]|0)+156>>2]|0)==(((e[(c[l>>2]|0)+88>>1]|0)>>>6&1|0)==0|0):0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+86>>0]|0)!=3):0){qI(c[m>>2]|0,0);c[(c[l>>2]|0)+92>>2]=0}else j=25;do if((j|0)==25){c[h>>2]=WH(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+88>>1]|0)>>>6&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=dM(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+88>>1]|0)>>>6&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+80>>2]=c[h>>2];qI(c[m>>2]|0,0);c[(c[l>>2]|0)+92>>2]=0;break}else{g=(c[m>>2]|0)+512|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+520|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-16777217;sj(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+504>>2]=0}else j=38;do if((j|0)==38?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?(d[(c[l>>2]|0)+86>>0]|0)!=3:0)if((d[(c[l>>2]|0)+86>>0]|0)==2){c[n>>2]=2;break}else{qI(c[m>>2]|0,516);rI(c[m>>2]|0);a[(c[m>>2]|0)+63>>0]=1;c[(c[l>>2]|0)+92>>2]=0;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=XH(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+80>>2]|0)!=0?(c[(c[l>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+80>>2]=c[h>>2];Sf(c[m>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[(c[l>>2]|0)+44>>2]=0}qI(c[m>>2]|0,516);rI(c[m>>2]|0);a[(c[m>>2]|0)+63>>0]=1;c[(c[l>>2]|0)+92>>2]=0}if((e[(c[l>>2]|0)+88>>1]|0)>>>2&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)QH(b,c[(c[l>>2]|0)+92>>2]|0);else QH(b,0);c[(c[l>>2]|0)+92>>2]=0}}if((c[(c[l>>2]|0)+76>>2]|0)>=0){n=(c[m>>2]|0)+148|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+88>>1]|0)>>>6&1)){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+88>>1]|0)>>>7&1){n=(c[m>>2]|0)+152|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+40>>2]=1369188723;if(a[(c[m>>2]|0)+65>>0]|0)c[(c[l>>2]|0)+80>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+80>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function UH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=bM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function VH(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+88>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function WH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+512|0,b=(c[h>>2]|0)+520|0,b=gR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;SH(c[f>>2]|0,36044,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function XH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+504>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=pI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=pI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+504|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=nI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=nI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+512|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+520|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function YH(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=aM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function ZH(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=$L(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function _H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=fR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=gR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=fR(0,0,h|0,C|0)|0,d=C,k=g,k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=gR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function $H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=fR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=_H(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=fR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+48|0;o=n+40|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;m=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=pR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=qR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=pR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=qR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=rR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=rR(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=rR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=rR(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=rR(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(_H(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function bI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[e>>2]|0)+204;a:while(1){if(!(c[c[j>>2]>>2]|0))break;c[h>>2]=c[c[j>>2]>>2];do if((c[f>>2]|0)>=0){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>31)break;if(!(c[g>>2]&1<>2]|0)+4>>2]))break}c[j>>2]=(c[h>>2]|0)+16;continue a}while(0);if(c[(c[h>>2]|0)+12>>2]|0)Qb[c[(c[h>>2]|0)+12>>2]&255](c[(c[h>>2]|0)+8>>2]|0);c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];Sf(c[c[e>>2]>>2]|0,c[h>>2]|0)}i=k;return}function cI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=yF(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=_L(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=wF(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(wF(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function dI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(nL(c[e+16>>2]|0)|0))break;c[f>>2]=oL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=ZL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function eI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=YL(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function fI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;iF(c[f>>2]|0);c[c[e>>2]>>2]=c[(c[f>>2]|0)+16+12>>2];i=d;return 0}function gI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=YL(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function hI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[o>>2]=0;e=c[h>>2]|0;if(c[l>>2]|0)c[p>>2]=eI(e,n)|0;else c[p>>2]=gI(e,n)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[p>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];p=c[o>>2]|0;i=q;return p|0}else{c[o>>2]=XL(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}return 0}function iI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35916+(d[c>>0]|0)>>0]|0}function jI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function kI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=hR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=WL(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function lI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35916+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=hR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)iR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function mI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=gF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=gR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}ZE(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=XE(f,$q((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=XE(f,$q((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=gF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function nI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+332>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+308>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+332>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function oI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}kg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=pH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;pB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;qB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}oI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function pI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);c[l>>2]=Kr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=VL(c[k>>2]|0)|0;a=$q((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function qI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Sj();Nf(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+140+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(bi(c[k>>2]|0)|0)c[j>>2]=1;Mg(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}du(c[f>>2]|0)|0;Tj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+140+5>>0]|0)==0:0){Oh(c[f>>2]|0);zg(c[f>>2]|0)}l=(c[f>>2]|0)+512|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+520|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-16777217;if(!(c[(c[f>>2]|0)+204>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+63>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+204>>2]&255](c[(c[f>>2]|0)+200>>2]|0);i=m;return}function rI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+492>>2]|0))break;c[e>>2]=c[b+492>>2];c[(c[d>>2]|0)+492>>2]=c[(c[e>>2]|0)+24>>2];Sf(c[d>>2]|0,c[e>>2]|0)}c[b+500>>2]=0;c[(c[d>>2]|0)+504>>2]=0;a[(c[d>>2]|0)+71>>0]=0;i=f;return}function sI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];kg(c[h>>2]|0);c[d>>2]=SL(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function tI(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;c[r>>2]=(c[(c[k>>2]|0)+8>>2]|0)+(((c[(c[k>>2]|0)+28>>2]|0)-(c[l>>2]|0)|0)*40|0);c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=QL()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0){yI(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=0}if(tx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));RL(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function uI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Lj(59722)|0;d=c[m>>2]|0;i=n;return d|0}else{kg(c[g>>2]|0);c[m>>2]=OL(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function vI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function wI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;kg(c[j>>2]|0);c[e>>2]=NL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function xI(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+48|0;j=w+44|0;k=w+40|0;u=w+36|0;l=w+32|0;m=w+28|0;t=w+24|0;s=w+20|0;p=w+16|0;o=w+12|0;v=w+8|0;n=w+4|0;q=w;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[p>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[o>>2]=136;h=(c[o>>2]|0)+(c[p>>2]|0)|0;c[t>>2]=ph(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}o=(c[t>>2]|0)+(c[o>>2]|0)|0;c[s>>2]=o;c[(c[t>>2]|0)+28>>2]=o;iR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[p>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){p=(c[s>>2]|0)+8|0;b[p>>1]=(e[p>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}p=pg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=p;c[(c[t>>2]|0)+12>>2]=p;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[n>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[n>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Sq(c[r>>2]|0)|0)){c[q>>2]=c[58];p=_(c[q>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=p;c[m>>2]=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2];if((c[m>>2]|0)<(c[q>>2]|0))c[m>>2]=c[q>>2];p=c[m>>2]|0;q=c[u>>2]|0;q=rR(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;p=C;if((p|0)<0|(p|0)==0&q>>>0<536870912){q=c[m>>2]|0;j=c[u>>2]|0;j=rR(q|0,((q|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0}else j=536870912;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=_f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function yI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{ML(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){lB(c[e+20>>2]|0)|0;i=j;return}else{nB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function zI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function AI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function BI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=gF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=YE(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function CI(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+68|0;r=I+64|0;s=I;t=I+60|0;u=I+56|0;v=I+52|0;w=I+48|0;J=I+44|0;F=I+40|0;y=I+36|0;G=I+32|0;x=I+28|0;E=I+24|0;B=I+20|0;D=I+16|0;A=I+12|0;z=I+8|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+66>>0]|0)==4){c[p>>2]=c[h+60>>2];J=c[p>>2]|0;i=I;return J|0}if((d[h+64>>0]&32|0)!=0?(c[F>>2]=nH(c[D>>2]|0,c[(c[q>>2]|0)+52>>2]|0,c[q>>2]|0)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}do if(!(c[(c[q>>2]|0)+72>>2]|0)){J=s;sK(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0);J=s;B=c[J+4>>2]|0;if((d[(c[q>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(c[J>>2]|0)>>>0>0)?(J=(c[q>>2]|0)+16|0,o=c[J>>2]|0,J=c[J+4>>2]|0,B=s,B=fR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0,(o|0)==(B|0)&(J|0)==(C|0)):0){c[y>>2]=-1;break}if((c[y>>2]|0)==0?(J=s,c[F>>2]=eF(c[q>>2]|0,0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}}else if((c[y>>2]|0)==0?(J=s,c[F>>2]=bF(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}while(0);c[E>>2]=c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=LL(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=Dg(c[(c[E>>2]|0)+72>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+4>>0]|0)){J=c[z>>2]|0;D=c[A>>2]|0;a[J>>0]=a[D>>0]|0;a[J+1>>0]=a[D+1>>0]|0;a[J+2>>0]=a[D+2>>0]|0;a[J+3>>0]=a[D+3>>0]|0}c[F>>2]=uK(c[E>>2]|0,c[A>>2]|0,H)|0;rL(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}sL(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+16+18>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+64|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=tL(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+66>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function DI(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=UE(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=nH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;sK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Mt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=rH(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);c[y>>2]=Dg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=uK(c[x>>2]|0,c[n>>2]|0,q)|0;rL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Lj(63773)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;sL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);rL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=tL(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;qB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=tL(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=gF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function EI(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=cF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=qL(c[n>>2]|0,k)|0;dF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=rF(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function FI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=qL(c[l>>2]|0,h)|0;if(tx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;iR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function GI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Sf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);b=nh(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+44>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function HI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(nL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=oL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function II(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=EK(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=bL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=HK((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function JI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=gF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=JF(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function KI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=UK(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))oK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function LI(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else tF(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(zF(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Hu()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=EK(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=bg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=_f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);iR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function MI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;sH(c[q>>2]|0,p)|0;AF(k,c[r>>2]|0,0);c[f>>2]=hI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else tF(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else tF(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35916+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){vF((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Ug(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Ug(k);c[g>>2]=Lj(72119)|0;r=c[g>>2]|0;i=o;return r|0}function NI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];sH(c[m>>2]|0,l)|0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Lj(72153)|0;p=c[f>>2]|0;i=o;return p|0}AF(k,c[g>>2]|0,0);c[n>>2]=hI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=rF(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Ug(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function OI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;kg(c[j>>2]|0);c[e>>2]=DK(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function PI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function QI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];kg(c[e>>2]|0);c[j>>2]=nH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}sK(c[e>>2]|0,0,0,1);c[j>>2]=tK(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function RI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;mK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);nK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))oK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Sf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function SI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=QI(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function TI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Oj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Qf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function UI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Oj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];WG(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Oj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=BB(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Pf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function WI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];kg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=$E(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;cg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=ig((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Ti(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[381]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)dK(p,c[m>>2]|0);c[p+28>>2]=42551;v=$q((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;eK(p,1,v,$q((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-268435457;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)fK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);gK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(hK(p,c[m>>2]|0)|0)){v=lF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];iK(p,42567,r)}while(0);if(((hK(p,c[m>>2]|0)|0)!=0?(v=lF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];iK(p,42589,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);Wi(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){fA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=eg(v)|0;i=t;return v|0}fA(p+40|0);v=p+40|0;v=eg(v)|0;i=t;return v|0}function XI(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Ug(c[e>>2]|0);d=Fw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+65>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=$t(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=cK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function YI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=$J(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){if(((e[(c[g>>2]|0)+26>>1]|0)&1|0)!=0?(h,d=c[h+4>>2]|0,a=c[k>>2]|0,f=c[a+4>>2]|0,(d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function ZI(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((e[(c[f>>2]|0)+26>>1]|0)&2))bK(c[f>>2]|0);if(!(c[(c[f>>2]|0)+8>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}j=c[(c[f>>2]|0)+8>>2]|0;a=c[j+4>>2]|0;b=c[g>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[f>>2]|0)+8>>2]|0))FF(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=h;return j|0}function _I(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=XJ(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}ZJ(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=_J(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=YJ(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=$J(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=YJ(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function $I(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function aJ(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;b=e;c[f>>2]=a;c[b>>2]=c[c[(c[f>>2]|0)+64>>2]>>2];if(d[(c[f>>2]|0)+4>>0]|0){f=1;f=f&1;i=e;return f|0}if((c[c[b>>2]>>2]|0)<2){f=0;f=f&1;i=e;return f|0}f=(c[(c[b>>2]|0)+52>>2]|0)!=0;f=f&1;i=e;return f|0}function bJ(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=0;if(!(c[(c[b>>2]|0)+216>>2]|0)){c[e>>2]=0;c[f>>2]=vt(c[b>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=Nr(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+220>>2]|0,0,e)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)!=0)c[f>>2]=SJ(c[b>>2]|0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}if(!(c[(c[b>>2]|0)+216>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=TJ(c[b>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=cr(c[(c[b>>2]|0)+216>>2]|0,d[(c[b>>2]|0)+10>>0]|0,c[(c[b>>2]|0)+160>>2]|0,c[(c[b>>2]|0)+208>>2]|0)|0;c[(c[b>>2]|0)+216>>2]=0;Xi(c[b>>2]|0);f=c[f>>2]|0;i=g;return f|0}function cJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){hr(c[(c[f>>2]|0)+68>>2]|0)|0;if((d[(c[f>>2]|0)+18>>0]|0)>=2){qr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=LJ(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=vt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))qr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){wr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;dr(c[f>>2]|0);break}if((c[g>>2]|0)==2)hr(c[(c[f>>2]|0)+68>>2]|0)|0}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0} -function uR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=nR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((nR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=gR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;fR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=fR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function vR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function wR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function xR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function yR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function zR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function AR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function BR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function CR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function DR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function ER(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function KR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function OR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function GS(a){a=a|0;return Pb[a&255]()|0}function HS(){return ga(0)|0}function IS(){return ga(1)|0}function JS(){return ga(2)|0}function KS(){return ga(3)|0}function LS(){return ga(4)|0}function MS(){return ga(5)|0}function NS(){return ga(6)|0}function OS(){return ga(7)|0}function PS(){return ga(8)|0}function QS(){return ga(9)|0}function RS(){return ga(10)|0}function SS(){return ga(11)|0}function TS(){return ga(12)|0}function US(){return ga(13)|0}function VS(){return ga(14)|0}function WS(){return ga(15)|0}function XS(){return ga(16)|0}function YS(){return ga(17)|0}function ZS(){return ga(18)|0}function _S(){return ga(19)|0}function $S(){return ga(20)|0}function aT(){return ga(21)|0}function bT(){return ga(22)|0}function cT(){return ga(23)|0}function dT(){return ga(24)|0}function eT(){return ga(25)|0}function fT(){return ga(26)|0}function gT(){return ga(27)|0}function hT(){return ga(28)|0}function iT(){return ga(29)|0}function jT(){return ga(30)|0}function kT(){return ga(31)|0}function lT(){return ga(32)|0}function mT(){return ga(33)|0}function nT(){return ga(34)|0}function oT(){return ga(35)|0}function pT(){return ga(36)|0}function qT(){return ga(37)|0}function rT(){return ga(38)|0}function sT(){return ga(39)|0}function tT(){return ga(40)|0}function uT(){return ga(41)|0}function vT(){return ga(42)|0}function wT(){return ga(43)|0}function xT(){return ga(44)|0}function yT(){return ga(45)|0}function zT(){return ga(46)|0}function AT(){return ga(47)|0}function BT(){return ga(48)|0}function CT(){return ga(49)|0}function DT(){return ga(50)|0}function ET(){return ga(51)|0}function FT(){return ga(52)|0}function GT(){return ga(53)|0}function HT(){return ga(54)|0}function IT(){return ga(55)|0}function JT(){return ga(56)|0}function KT(){return ga(57)|0}function LT(){return ga(58)|0}function MT(){return ga(59)|0}function NT(){return ga(60)|0}function OT(){return ga(61)|0}function PT(){return ga(62)|0}function QT(){return ga(63)|0}function RT(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function ST(a){a=a|0;ia(0,a|0)}function TT(a){a=a|0;ia(1,a|0)}function UT(a){a=a|0;ia(2,a|0)}function VT(a){a=a|0;ia(3,a|0)}function WT(a){a=a|0;ia(4,a|0)}function XT(a){a=a|0;ia(5,a|0)}function YT(a){a=a|0;ia(6,a|0)}function ZT(a){a=a|0;ia(7,a|0)}function _T(a){a=a|0;ia(8,a|0)}function $T(a){a=a|0;ia(9,a|0)}function aU(a){a=a|0;ia(10,a|0)}function bU(a){a=a|0;ia(11,a|0)}function cU(a){a=a|0;ia(12,a|0)}function dU(a){a=a|0;ia(13,a|0)}function eU(a){a=a|0;ia(14,a|0)}function fU(a){a=a|0;ia(15,a|0)}function gU(a){a=a|0;ia(16,a|0)}function hU(a){a=a|0;ia(17,a|0)}function iU(a){a=a|0;ia(18,a|0)}function jU(a){a=a|0;ia(19,a|0)}function kU(a){a=a|0;ia(20,a|0)}function lU(a){a=a|0;ia(21,a|0)}function mU(a){a=a|0;ia(22,a|0)}function nU(a){a=a|0;ia(23,a|0)}function oU(a){a=a|0;ia(24,a|0)}function pU(a){a=a|0;ia(25,a|0)}function qU(a){a=a|0;ia(26,a|0)}function rU(a){a=a|0;ia(27,a|0)}function sU(a){a=a|0;ia(28,a|0)}function tU(a){a=a|0;ia(29,a|0)}function uU(a){a=a|0;ia(30,a|0)}function vU(a){a=a|0;ia(31,a|0)}function wU(a){a=a|0;ia(32,a|0)}function xU(a){a=a|0;ia(33,a|0)}function yU(a){a=a|0;ia(34,a|0)}function zU(a){a=a|0;ia(35,a|0)}function AU(a){a=a|0;ia(36,a|0)}function BU(a){a=a|0;ia(37,a|0)}function CU(a){a=a|0;ia(38,a|0)}function DU(a){a=a|0;ia(39,a|0)}function EU(a){a=a|0;ia(40,a|0)}function FU(a){a=a|0;ia(41,a|0)}function GU(a){a=a|0;ia(42,a|0)}function HU(a){a=a|0;ia(43,a|0)}function IU(a){a=a|0;ia(44,a|0)}function JU(a){a=a|0;ia(45,a|0)}function KU(a){a=a|0;ia(46,a|0)}function LU(a){a=a|0;ia(47,a|0)}function MU(a){a=a|0;ia(48,a|0)}function NU(a){a=a|0;ia(49,a|0)}function OU(a){a=a|0;ia(50,a|0)}function PU(a){a=a|0;ia(51,a|0)}function QU(a){a=a|0;ia(52,a|0)}function RU(a){a=a|0;ia(53,a|0)}function SU(a){a=a|0;ia(54,a|0)}function TU(a){a=a|0;ia(55,a|0)}function UU(a){a=a|0;ia(56,a|0)}function VU(a){a=a|0;ia(57,a|0)}function WU(a){a=a|0;ia(58,a|0)}function XU(a){a=a|0;ia(59,a|0)}function YU(a){a=a|0;ia(60,a|0)}function ZU(a){a=a|0;ia(61,a|0)}function _U(a){a=a|0;ia(62,a|0)}function $U(a){a=a|0;ia(63,a|0)}function aV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function bV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function cV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function dV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function eV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function fV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function gV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function hV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function iV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function jV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function kV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function lV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function mV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function nV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function oV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function pV(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function qV(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function rV(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function lW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function mW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function xX(a){a=a|0;return oa(0,a|0)|0}function yX(a){a=a|0;return oa(1,a|0)|0}function zX(a){a=a|0;return oa(2,a|0)|0}function AX(a){a=a|0;return oa(3,a|0)|0}function BX(a){a=a|0;return oa(4,a|0)|0}function CX(a){a=a|0;return oa(5,a|0)|0}function DX(a){a=a|0;return oa(6,a|0)|0}function EX(a){a=a|0;return oa(7,a|0)|0}function FX(a){a=a|0;return oa(8,a|0)|0}function GX(a){a=a|0;return oa(9,a|0)|0}function HX(a){a=a|0;return oa(10,a|0)|0}function IX(a){a=a|0;return oa(11,a|0)|0}function JX(a){a=a|0;return oa(12,a|0)|0}function KX(a){a=a|0;return oa(13,a|0)|0}function LX(a){a=a|0;return oa(14,a|0)|0}function MX(a){a=a|0;return oa(15,a|0)|0}function NX(a){a=a|0;return oa(16,a|0)|0}function OX(a){a=a|0;return oa(17,a|0)|0}function PX(a){a=a|0;return oa(18,a|0)|0}function QX(a){a=a|0;return oa(19,a|0)|0}function RX(a){a=a|0;return oa(20,a|0)|0}function SX(a){a=a|0;return oa(21,a|0)|0}function TX(a){a=a|0;return oa(22,a|0)|0}function UX(a){a=a|0;return oa(23,a|0)|0}function VX(a){a=a|0;return oa(24,a|0)|0}function WX(a){a=a|0;return oa(25,a|0)|0}function XX(a){a=a|0;return oa(26,a|0)|0}function YX(a){a=a|0;return oa(27,a|0)|0}function ZX(a){a=a|0;return oa(28,a|0)|0}function _X(a){a=a|0;return oa(29,a|0)|0}function $X(a){a=a|0;return oa(30,a|0)|0}function aY(a){a=a|0;return oa(31,a|0)|0}function bY(a){a=a|0;return oa(32,a|0)|0}function cY(a){a=a|0;return oa(33,a|0)|0}function dY(a){a=a|0;return oa(34,a|0)|0}function eY(a){a=a|0;return oa(35,a|0)|0}function fY(a){a=a|0;return oa(36,a|0)|0}function gY(a){a=a|0;return oa(37,a|0)|0}function hY(a){a=a|0;return oa(38,a|0)|0}function iY(a){a=a|0;return oa(39,a|0)|0}function jY(a){a=a|0;return oa(40,a|0)|0}function kY(a){a=a|0;return oa(41,a|0)|0}function lY(a){a=a|0;return oa(42,a|0)|0}function mY(a){a=a|0;return oa(43,a|0)|0}function nY(a){a=a|0;return oa(44,a|0)|0}function oY(a){a=a|0;return oa(45,a|0)|0}function pY(a){a=a|0;return oa(46,a|0)|0}function qY(a){a=a|0;return oa(47,a|0)|0}function rY(a){a=a|0;return oa(48,a|0)|0}function sY(a){a=a|0;return oa(49,a|0)|0}function tY(a){a=a|0;return oa(50,a|0)|0}function uY(a){a=a|0;return oa(51,a|0)|0}function vY(a){a=a|0;return oa(52,a|0)|0}function wY(a){a=a|0;return oa(53,a|0)|0}function xY(a){a=a|0;return oa(54,a|0)|0}function yY(a){a=a|0;return oa(55,a|0)|0}function zY(a){a=a|0;return oa(56,a|0)|0}function AY(a){a=a|0;return oa(57,a|0)|0}function BY(a){a=a|0;return oa(58,a|0)|0}function CY(a){a=a|0;return oa(59,a|0)|0}function DY(a){a=a|0;return oa(60,a|0)|0}function EY(a){a=a|0;return oa(61,a|0)|0}function FY(a){a=a|0;return oa(62,a|0)|0}function GY(a){a=a|0;return oa(63,a|0)|0}function HY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function IY(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function JY(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function KY(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function LY(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function MY(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function NY(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function OY(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function PY(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function QY(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function RY(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function SY(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function TY(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function UY(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function VY(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function WY(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function XY(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function SZ(a){a=a|0;Vb[a&255]()}function TZ(){sa(0)}function UZ(){sa(1)}function VZ(){sa(2)}function WZ(){sa(3)}function XZ(){sa(4)}function YZ(){sa(5)}function ZZ(){sa(6)}function _Z(){sa(7)}function $Z(){sa(8)}function a_(){sa(9)}function b_(){sa(10)}function c_(){sa(11)}function d_(){sa(12)}function e_(){sa(13)}function f_(){sa(14)}function g_(){sa(15)}function h_(){sa(16)}function i_(){sa(17)}function j_(){sa(18)}function k_(){sa(19)}function l_(){sa(20)}function m_(){sa(21)}function n_(){sa(22)}function o_(){sa(23)}function p_(){sa(24)}function q_(){sa(25)}function r_(){sa(26)}function s_(){sa(27)}function t_(){sa(28)}function u_(){sa(29)}function v_(){sa(30)}function w_(){sa(31)}function x_(){sa(32)}function y_(){sa(33)}function z_(){sa(34)}function A_(){sa(35)}function B_(){sa(36)}function C_(){sa(37)}function D_(){sa(38)}function E_(){sa(39)}function F_(){sa(40)}function G_(){sa(41)}function H_(){sa(42)}function I_(){sa(43)}function J_(){sa(44)}function K_(){sa(45)}function L_(){sa(46)}function M_(){sa(47)}function N_(){sa(48)}function O_(){sa(49)}function P_(){sa(50)}function Q_(){sa(51)}function R_(){sa(52)}function S_(){sa(53)}function T_(){sa(54)}function U_(){sa(55)}function V_(){sa(56)}function W_(){sa(57)}function X_(){sa(58)}function Y_(){sa(59)}function Z_(){sa(60)}function __(){sa(61)}function $_(){sa(62)}function a$(){sa(63)}function b$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function c$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function d$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function e$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function f$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function g$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function h$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function i$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function j$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function k$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function l$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function m$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function n$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function o$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function p$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function r$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function n0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function o0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function p0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function r0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function s0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function t0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function u0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function v0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function w0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function x0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function A0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function B0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function C0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function y1(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function z1(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function A1(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function B1(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function C1(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function D1(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function E1(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function F1(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function G1(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function H1(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function I1(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function J1(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function K1(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function L1(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function M1(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function N1(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function O1(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function I2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function J2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function K2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function L2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function M2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function N2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function O2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function P2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function Q2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function R2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function S2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function T2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function U2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function V2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function W2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function X2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function Y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function U3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function V3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function W3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function X3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function Y3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function Z3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function _3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function $3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function a4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function b4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function c4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function d4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function e4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function f4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function g4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function h4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function c5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function d5(){ba(1);return 0}function e5(a){a=a|0;ba(2)}function f5(a,b){a=a|0;b=b|0;ba(3)}function g5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function h5(a){a=a|0;ba(5);return 0}function i5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function j5(){ba(7)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function l5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function m5(a,b){a=a|0;b=b|0;ba(10);return 0}function n5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} +function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[352+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[352+((c[f>>2]|0)*12|0)>>2]|0,a[352+((c[f>>2]|0)*12|0)+4>>0]|0,d[352+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[352+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[832+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[832+(c[f>>2]<<4)>>2]|0,a[832+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[832+(c[f>>2]<<4)+8>>2]|0,c[832+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,378,17366);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,379,17375);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,380,17384);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(17393,17342,570,17401);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);ie(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}me(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,394,17410);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+gQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,402,17420);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+hQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,410,17430);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+iQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(17393,17342,1680,17440);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}ke(c[f>>2]|0,c[j>>2]|0);i=o;return}me(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,498,17844);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,499,17856);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,420,17868);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,419,17876);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,421,17884);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,422,17892);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,446,17900);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+jQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,438,17909);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+nQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,454,17918);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+oQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,456,17927);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,474,17936);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,472,17944);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,473,17952);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+lQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(17393,17342,546,17962);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);c[($P()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){ie(e,+h[k>>3]);i=l;return}else{m=aQ(c[($P()|0)>>2]|0)|0;je(e,m,c[($P()|0)>>2]|0);i=l;return}}me(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17334,17342,590,17972);switch(fe(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=ee(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;le(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[j>>2]|0);i=k;return}default:{h[g>>3]=+ce(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);ie(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,375,17981);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,514,17990);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=ee(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;le(a,AR(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);ie(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17334,17342,620,18001);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17334,17342,645,18010);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;ie(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(fe(c[c[f>>2]>>2]|0)|0)){i=n;return}a=ee(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[e>>2]|0,18020,-1);i=n;return}a=be(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=AR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=pR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=pR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;IQ(o,ae(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=AR(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;IQ(o+k|0,c[m>>2]|0)|0;k=g;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}ne(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}te(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(18033,17342,1038,18051);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(de(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;ke(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}me(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|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;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,1073,18065);if(5!=(fe(c[c[h>>2]>>2]|0)|0)?5!=(fe(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=de(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){MQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;ne(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{te(c[g>>2]|0);i=p;return}}me(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,1113,18074);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[k>>2]=de(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){IQ(c[l>>2]|0,c[o>>2]|0)|0;ne(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{te(c[f>>2]|0);i=p;return}}me(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(18084,17342,1323,18092);if(5==(fe(c[c[g>>2]>>2]|0)|0)){me(c[f>>2]|0);i=o;return}c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[j>>2]=KQ(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){te(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}ne(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(17334,17342,724,18104);if(5==(fe(c[c[f>>2]>>2]|0)|0)){me(c[g>>2]|0);i=n;return}c[k>>2]=ae(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){te(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(WP(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=_P(f)|0;else a[j>>0]=ZP(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(17393,17342,771,18115);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[m>>2]|0);i=o;return}c[j>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[m>>2]|0,18020,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){ne(f,c[n>>2]|0,-1,-1);break}te(f);i=o;return}else{p=KQ(f)|0;b=h;b=pR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=oR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=pR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){te(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=pR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}IQ(f,c[j>>2]|0)|0}while(0);ne(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,825,18152);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18020,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=KQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=pR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=oR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=pR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}q=IQ(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=pR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,880,18161);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18020,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=KQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=pR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=oR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=pR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=pR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}IQ(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=pR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(17393,17342,939,18170);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=ae(c[c[g>>2]>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((KQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){te(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);MQ(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;ne(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}me(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(17334,17342,1395,18184);c[j>>2]=xe(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=pR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+ce(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(17334,17342,1418,18197);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=xe(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=jR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ee(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=jR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+ce(e);c[l>>2]=jR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);iR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;le(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{ie(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=AR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=jR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;iR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,17325)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=pR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((VP(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){IQ(c[j>>2]|0,17583)|0;i=l;return}e=(_P(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[17455+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[17588+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[928+(c[f>>2]<<2)>>2]|0);if(((c[944+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+oQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((KQ(c[d>>2]|0)|0)+1|0)|0;a=IQ(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(18124,17342,316,18133);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[17588+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=pR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=pR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);iR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;ie(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){le(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;ie(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=pR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=oR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=pR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=pR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=pR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,18213,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=7){d=9;break}if((zd(c[d>>2]|0,c[968+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[968+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[18221+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[18221+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[18221+(d[c[j>>2]>>0]|0)>>0]|0)-(d[18221+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<7){c[b>>2]=c[968+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(16513)|0;l=c[g>>2]|0;i=m;return l|0}if(a[18477+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[996+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1036+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1036+(c[h>>2]<<2)>>2]=c[996+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[269];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(HQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1080;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[269]|0;if((c[g>>2]|0)!=0|(c[269]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[269]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[269]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=288;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=288;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[77]=a&1;l=Hd()|0;k=f;k=oR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[18487]=0;i=m;return}if(!(a[18487]|0)){a[18489]=0;a[18488]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18490+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18489]=(d[18489]|0)+((d[18490+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[18490+(d[18489]|0)>>0]|0;a[18490+(d[18489]|0)>>0]=a[18490+(c[h>>2]|0)>>0]|0;a[18490+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[18487]=1}do{a[18488]=(a[18488]|0)+1<<24>>24;a[k>>0]=a[18490+(d[18488]|0)>>0]|0;a[18489]=(d[18489]|0)+(d[k>>0]|0);a[18490+(d[18488]|0)>>0]=a[18490+(d[18489]|0)>>0]|0;a[18490+(d[18489]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[18490+(d[18488]|0)>>0]|0);j=a[18490+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1172+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=og(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;pg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(qg(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=og(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=rg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=rg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=sg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=tg(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=ug(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=wg(b,a,vg(c[o>>2]|0)|0,0)|0;xg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))yg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=zg(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Bg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Cg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=AR(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Dg(c[x>>2]|0)|0;Eg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=ug(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Fg(c[n>>2]|0)|0;xg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Gg(c[x>>2]|0,0,1)|0;o=(c[381]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[381]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[381]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=yR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=pR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=ug(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=vg(c[A>>2]|0)|0;q=u;c[D>>2]=Hg(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}xg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=pR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Jg(c[x>>2]|0,0)|0}else{Kg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Gg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Lg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0;Lg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Ng(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Og(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Pg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Pg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+168>>2]|0;i=d;return e|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Qg(c[g>>2]|0)|0){c[b>>2]=Lf(72615)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Sg(c[g>>2]|0)|0;c[f>>2]=Tg(c[e>>2]|0,c[f>>2]|0)|0;Pg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Ug(c[f>>2]|0)|0;Vg(c[f>>2]|0);c[e>>2]=Tg(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function _d(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=e;c[h>>2]=0;c[g>>2]=c[k>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Wg((c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)+8>>1]=1;c[f>>2]=(c[f>>2]|0)+1}if(!((d[(c[g>>2]|0)+89>>0]|0)>>>7&255)){k=c[h>>2]|0;i=j;return k|0}if(!(c[(c[g>>2]|0)+188>>2]|0)){k=c[h>>2]|0;i=j;return k|0}k=(c[g>>2]|0)+87|0;a[k>>0]=a[k>>0]&-2|1;k=c[h>>2]|0;i=j;return k|0}function $d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ae(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if(Xg(c[f>>2]|0)|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Yg(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ce(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+_g(c[e>>2]|0);i=d;return +b}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function fe(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18746+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){dh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{ch(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function ie(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;eh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;fh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;gh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;gh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[c[d>>2]>>2]|0);i=b;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function oe(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[960]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){dh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{ch(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ih(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{jh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;fh(b,kh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;fh(c[c[e>>2]>>2]|0,18778,-1,1,0)|0;i=d;return}function te(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;hh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;lh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+32|0;e=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[h>>2]=0;c[j>>2]=0;c[l>>2]=c[e>>2];c[f>>2]=0;if(mh(c[l>>2]|0)|0){c[d>>2]=Lf(73166)|0;m=c[d>>2]|0;i=n;return m|0}c[g>>2]=c[c[l>>2]>>2];b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3;while(1){b=nh(c[l>>2]|0)|0;c[h>>2]=b;if((b|0)!=17)break;b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)>=50)break;c[k>>2]=c[(c[l>>2]|0)+76>>2];b=oh(c[l>>2]|0)|0;c[h>>2]=b;c[j>>2]=b;if(c[h>>2]|0)break;Zd(c[e>>2]|0)|0;if((c[k>>2]|0)<0)continue;b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3|2}do if(c[j>>2]|0){c[m>>2]=ae(c[(c[g>>2]|0)+240>>2]|0)|0;Tf(c[g>>2]|0,c[(c[l>>2]|0)+44>>2]|0);if(a[(c[g>>2]|0)+69>>0]|0){c[(c[l>>2]|0)+44>>2]=0;c[h>>2]=7;c[(c[l>>2]|0)+80>>2]=7;break}else{m=ph(c[g>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=m;c[(c[l>>2]|0)+80>>2]=c[j>>2];break}}while(0);c[h>>2]=Tg(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[h>>2];m=c[d>>2]|0;i=n;return m|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=qh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function ye(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function ze(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=be(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+ce(sh(c[f>>2]|0,c[g>>2]|0)|0);th(c[f>>2]|0);i=e;return +(+h[d>>3])}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=de(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=ee(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;th(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ge(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=sh(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=uh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}eh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Me(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=wh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;gh((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=wh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Pe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(fe(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Ke(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Qe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Je(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=vh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Ne(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}jh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Re(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+68>>1]|0;i=e;return f|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=xh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fe(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];zh(c[e>>2]|0,0);c[d>>2]=fe(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=rh(c[F>>2]|0,28,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ah(c[F>>2]|0,544,0)|0,(c[J>>2]|0)!=0):0){while(1){tR(c[J>>2]|0,0,544)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Bh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Ch(h,18801,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Ch(h,18831,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Ch(h,18867,E)}if(!(c[A>>2]|0)){k=13;break}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18909;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18921;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Eh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Gh(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Hh(c[B>>2]|0,1);c[s>>2]=Ih(c[B>>2]|0,9,18963,0)|0;Jh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Kh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=55;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+444>>1]=1;c[(c[J>>2]|0)+76>>2]=1;c[(c[J>>2]|0)+72>>2]=1;Lh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Me(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Mh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Dh(P,18888,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Dh(N,18929,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18999:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Sg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18999:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Yd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Ph(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(81809)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Mh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?18999:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Tg(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Rh(c[f>>2]|0,c[e>>2]|0,19002,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Rh(c[h>>2]|0,c[g>>2]|0,19006,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Sh(c[k>>2]|0)|0)){c[j>>2]=Lf(105726)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=19010;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=ye(c[v>>2]|0)|0;do{c[w>>2]=ue(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=rh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Ie(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Fe(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(He(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Sg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[19011+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)lh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Sg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Sg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Tg(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;rR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=kh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=kh(Lf(135352)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=ae(c[(c[e>>2]|0)+240>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=kh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=kh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Vh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){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;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;m=q+8|0;p=q+4|0;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[p>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[m>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=rh(c[h>>2]|0,544,0)|0;if(!(c[l>>2]|0))c[n>>2]=7;else{a[(c[l>>2]|0)+454>>0]=1;c[c[l>>2]>>2]=c[h>>2];c[(c[l>>2]|0)+428>>2]=1;if((((0==(Wh(c[l>>2]|0,c[j>>2]|0,p)|0)?(c[(c[l>>2]|0)+488>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[l>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[l>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[m>>2]|0)+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2];b[(c[m>>2]|0)+34>>1]=b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]|0;b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]=0;c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2]=0}c[(c[k>>2]|0)+12>>2]=1}else{m=c[h>>2]|0;f=(c[p>>2]|0)!=0?18999:0;c[o>>2]=c[p>>2];jg(m,1,f,o);Tf(c[h>>2]|0,c[p>>2]|0);c[n>>2]=1}a[(c[l>>2]|0)+454>>0]=0;if(c[(c[l>>2]|0)+8>>2]|0)Sg(c[(c[l>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[l>>2]|0)+488>>2]|0);Nh(c[l>>2]|0);Tf(c[h>>2]|0,c[l>>2]|0)}c[n>>2]=Tg(c[h>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(119383)|0;p=c[g>>2]|0;i=q;return p|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[19267+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(119834)|0;break}}else c[j>>2]=Lf(119842)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 18206}function kf(){return 19285}function lf(){return 3012e3}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(133555)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))Zh();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(_h()|0)+($h()|0)+(ai()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))bi();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ci(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var 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;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1001){d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=ei(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=3){q=16;break}if((c[1536+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==16){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1536+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1536+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Qh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1536+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=rh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=hi(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Tg(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ii(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=hi(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Tg(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+224>>2];c[(c[g>>2]|0)+220>>2]=c[j>>2];c[(c[g>>2]|0)+224>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=li(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,19346,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=mi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Tg(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Uh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(135421)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1560+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1560+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=vi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Dg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=wi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=xi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=yi(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=HQ(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Ei(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(KQ(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[19011+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(21,c[d>>2]|0,46699)|0;i=b;return a|0}function Mf(){return c[423]|0}function Nf(){return c[70]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}hv(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);ev(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=l;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))k=4;if((k|0)==4?(d=(c[f>>2]|0)+36|0,k=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=k,(k&65535|0)>0):0){i=l;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0)){c[j>>2]=c[c[g>>2]>>2];Sj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}bH(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}UP(c[e>>2]|0,c[f>>2]|0);YG(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[c[f>>2]>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);av(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);IH(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[f>>2]|0);i=l;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;uC(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);uC(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];TP(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+64>>2]|0);TP(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){SP(a,b);i=g;return}if(gu(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))Zh();c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[75]=c[d>>2];c[76]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[74]=(c[d>>2]|0)+4}else{c[74]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){BO();CO();DO(7784,57);return}function Wf(){if(!(c[31]|0))bi();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[415]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[418]=c[f>>2];b=c[g>>2]|0;c[425]=b;c[419]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[420]=d;c[421]=c[e>>2];c[424]=0;c[426]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[424];c[424]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[422]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[269]|0)==(c[d>>2]|0)){c[269]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[269]|0)){i=f;return}c[e>>2]=c[269];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[996+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){AO(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=996+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Pi(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=288;a=c[h>>2]|0;a=oR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)zO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=288;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){zO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Qi(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=0;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);gA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=uO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=uO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=45708;a[na>>0]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[45708+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=45708+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 14:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 1:case 16:{qa=62;break}case 4:case 3:case 2:{if(a[m>>0]|0)h[ea>>3]=+vO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==4&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==2)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(OF(+h[ea>>3])|0){c[p>>2]=45895;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[45899]|0;a[b+1>>0]=a[45900]|0;a[b+2>>0]=a[45901]|0;a[b+3>>0]=a[45902]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=2?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==4){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=2;break c}while(0);a[na>>0]=3}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==3)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=pR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=pR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=pR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=pR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=pR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=wO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=wO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==3){f=a[45855+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 5:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 8:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 9:{if(a[m>>0]|0){c[p>>2]=xO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){yO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}yO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 7:case 6:{if(a[m>>0]|0){c[p>>2]=xO(c[X>>2]|0)|0;a[na>>0]=6}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==7)c[oa>>2]=c[p>>2]}else c[p>>2]=19010;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 15:case 11:case 10:{a[da>>0]=(d[na>>0]|0)==15?34:39;if(a[m>>0]|0)c[v>>2]=xO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==11?40149:45903;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==11;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 12:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)gA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 13:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){GD(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);gA(c[j>>2]|0,45533,1)}GD(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=uO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=oR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=uO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==16){sa=R;sa=CR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=BR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=CR(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[45846+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[45846+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=45855+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=CR(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=BR(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=45888+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))yO(c[j>>2]|0,c[ja>>2]|0,32);gA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)yO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){gA(c[j>>2]|0,45706,1);i=ra;return}else if((qa|0)==92){kA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){kA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){kA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ah(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){rR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{kA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[18221+(d[c[e>>2]>>0]|0)>>0]|0)-(d[18221+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];rJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+240>>2]|0)==0?(g=Xh(c[f>>2]|0)|0,c[(c[f>>2]|0)+240>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=dx(c[f>>2]|0,c[h>>2]|0,j)|0;Yh(c[(c[f>>2]|0)+240>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}tR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+240>>2]|0)==0:0){i=f;return}WM(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=sH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=TM(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=UM(k,m,Xq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=bM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)xB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(br(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(er((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)at((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=_L(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=SM(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=er((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function qg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function rg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function sg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=gF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function ug(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Oj(49316)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=23}else{if(((c[o>>2]|0)!=0?(xr(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Cs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=AR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=hL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if((d[(c[l>>2]|0)+17>>0]|0|0)>1)c[r>>2]=cs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=PM(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=AR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Hs(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=hs(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=QM(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=is(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=23}while(0);do if((j|0)==23){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[381]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if(((d[(c[l>>2]|0)+16>>0]|0|0)==0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0)?(c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0:0){u=(xr(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Cs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Ds(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Wj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)jj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;Nt(c[l>>2]|0,c[m>>2]|0)|0;Xj()}tR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Oj(49405)|0}while(0);if(c[r>>2]|0)Bs(c[r>>2]|0);Gs(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function wg(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=rg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=rg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=AR(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(LJ(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=oR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=yR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=ug(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Fg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=zR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=vg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=zR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,rR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Pt(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;at(x,tg(c[(c[g>>2]|0)+24>>2]|0)|0)}xg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=pR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Es(c[b>>2]|0);i=d;return}function yg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Ng(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function zg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=bM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Fg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}at((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)wj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;pu(c[b>>2]|0);sB(c[b>>2]|0);i=f;return}function Cg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=og(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=og(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Fg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Dg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Fg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=rt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=JM(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=KM(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Gg(b,e,f){b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;f=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[f+44>>2];o=c[g>>2]|0;i=p;return o|0}if((d[f+17>>0]|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}f=c[h>>2]|0;do if(!(a[(c[h>>2]|0)+16>>0]|0)){e=(xr(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=vs(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=ug(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=st(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;xg(c[n>>2]|0);if(c[o>>2]|0)break;wr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=HM(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=IM(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=tt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=ut(n,vs(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){wr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[381]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=zr(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Jg(c[h>>2]|0,c[j>>2]|0)|0}}else bj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(xr(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Hg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Vi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=sr(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=yi(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=tr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Lg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=GM(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;BM(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);CM(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=FM(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Kg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Gg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Og(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=tH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=uI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;CM(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=or(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(uF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=er((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Eg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];wB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;BM(c[l>>2]|0);f=c[g>>2]|0;CM(f);f=c[n>>2]|0;i=q;return f|0}function Pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+80>>2]|0)!=1691352191){i=m;return}if(ku(c[d>>2]|0)|0){i=m;return}wI(c[d>>2]|0,0);xI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(rB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)wj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);pu(c[d>>2]|0);sB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{hu(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);HH(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);bh(c[(c[d>>2]|0)+240>>2]|0);c[(c[d>>2]|0)+80>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+80>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,45104,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;h=d;c[f>>2]=a;c[e>>2]=b;OH(c[c[f>>2]>>2]|0,h)|0;g=c[(c[f>>2]|0)+188>>2]|0;f=c[(c[f>>2]|0)+192>>2]|0;a=c[(c[e>>2]|0)+168>>2]|0;b=(c[e>>2]|0)+128|0;b=oR(c[h>>2]|0,c[h+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=AR(b|0,C|0,1e6,0)|0;_b[g&255](f,a,b,C);b=(c[e>>2]|0)+128|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Ug(c[b>>2]|0)|0;Zu(c[b>>2]|0);i=e;return c[d>>2]|0}function Tg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=AM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Ug(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];ZH(c[e>>2]|0)|0;b=c[e>>2]|0;if((c[(c[e>>2]|0)+76>>2]|0)>=0){SH(b)|0;Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0;if((d[(c[e>>2]|0)+89>>0]|0)>>>3&1){g=(c[e>>2]|0)+87|0;a[g>>0]=a[g>>0]&-2|1}}else if((c[b+80>>2]|0)!=0?(a[(c[e>>2]|0)+87>>0]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[e>>2]|0)+80>>2]|0;b=(c[(c[e>>2]|0)+44>>2]|0)!=0?18999:0;c[g>>2]=c[(c[e>>2]|0)+44>>2];jg(k,j,b,g);Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0}zM(c[e>>2]|0);k=(c[e>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[e>>2]|0)+40>>2]=649915045;i=h;return c[(c[e>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Vg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+88>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}yM(c[b>>2]|0);i=d;return}function Xg(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(Ax(c[f>>2]|0,c[g>>2]|0,1)|0)){tR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Yg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=xM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=wM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function _g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Qy(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=wx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Ki(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function ah(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Xg(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ax(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function bh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Wg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((fh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}se(c[h>>2]|0);i=j;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}se(c[g>>2]|0);i=h;return 18}function eh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;hh(c[e>>2]|0);if(OF(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function fh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){hh(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+92>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Wg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=fu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(zx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){rR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(vM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function gh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;uM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function hh(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){KF(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function ih(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)KF(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=ah(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function jh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Wg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=44478;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[7068+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[7068+(c[b>>2]<<2)>>2]}else c[d>>2]=44492;i=e;return c[d>>2]|0}function lh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+164>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function mh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,44438,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Qg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function nh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;if((c[(c[f>>2]|0)+40>>2]|0)!=-1108210269)Zd(c[f>>2]|0)|0;c[g>>2]=c[c[f>>2]>>2];b=c[f>>2]|0;if(a[(c[g>>2]|0)+69>>0]|0){c[b+80>>2]=7;c[e>>2]=7;h=c[e>>2]|0;i=j;return h|0}if((c[b+76>>2]|0)<=0?(a[(c[f>>2]|0)+87>>0]&1|0)!=0:0){c[(c[f>>2]|0)+80>>2]=17;c[h>>2]=1}else{if((c[(c[f>>2]|0)+76>>2]|0)<0){if(!(c[(c[g>>2]|0)+152>>2]|0))c[(c[g>>2]|0)+248>>2]=0;if(((c[(c[g>>2]|0)+188>>2]|0)!=0?(a[(c[g>>2]|0)+144+5>>0]|0)==0:0)?(c[(c[f>>2]|0)+168>>2]|0)!=0:0)OH(c[c[g>>2]>>2]|0,(c[f>>2]|0)+128|0)|0;b=(c[g>>2]|0)+152|0;c[b>>2]=(c[b>>2]|0)+1;if(!((d[(c[f>>2]|0)+89>>0]|0)>>>5&1)){b=(c[g>>2]|0)+160|0;c[b>>2]=(c[b>>2]|0)+1}if((d[(c[f>>2]|0)+89>>0]|0)>>>6&1){b=(c[g>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+1}c[(c[f>>2]|0)+76>>2]=0}if(a[(c[f>>2]|0)+89>>0]&3)c[h>>2]=PH(c[f>>2]|0)|0;else{b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=QH(c[f>>2]|0)|0;b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+-1}if((c[h>>2]|0)!=100?(b=(c[f>>2]|0)+128|0,k=c[b+4>>2]|0,(k|0)>0|(k|0)==0&(c[b>>2]|0)>>>0>0):0)Rg(c[g>>2]|0,c[f>>2]|0);if((c[h>>2]|0)==101?(k=RH(c[g>>2]|0)|0,c[(c[f>>2]|0)+80>>2]=k,(c[(c[f>>2]|0)+80>>2]|0)!=0):0)c[h>>2]=1;c[(c[g>>2]|0)+52>>2]=c[h>>2];if(7==(Tg(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+80>>2]|0)|0))c[(c[f>>2]|0)+80>>2]=7}if(((c[h>>2]|0)!=100?((d[(c[f>>2]|0)+89>>0]|0)>>>7&255|0)!=0:0)&(c[h>>2]|0)!=101)c[h>>2]=SH(c[f>>2]|0)|0;c[e>>2]=c[h>>2]&c[(c[g>>2]|0)+56>>2];k=c[e>>2]|0;i=j;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Xd(c[d>>2]|0)|0;c[e>>2]=CA(c[d>>2]|0)|0;c[g>>2]=Th(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){MH(c[f>>2]|0,c[d>>2]|0);yh(c[f>>2]|0,c[d>>2]|0)|0;NH(c[f>>2]|0);Sg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)lh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ah(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)rR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function qh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){zx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)tR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{hh(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ah(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}tR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function sh(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)lg(c[c[g>>2]>>2]|0,25);c[f>>2]=LH()|0;j=c[f>>2]|0;i=h;return j|0}function th(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Tg(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function uh(b,d,e,f){b=b|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;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=ye(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}ni(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function vh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=wh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=fh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=du(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Tg(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function wh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;c[h>>2]=e;c[j>>2]=f;if(mh(c[h>>2]|0)|0){c[g>>2]=Lf(73738)|0;m=c[g>>2]|0;i=n;return m|0}if((c[(c[h>>2]|0)+40>>2]|0)==-1108210269?(c[(c[h>>2]|0)+76>>2]|0)<0:0){if((c[j>>2]|0)>=1?(c[j>>2]|0)<=(b[(c[h>>2]|0)+68>>1]|0):0){c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[(c[h>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0);Wg(c[k>>2]|0);b[(c[k>>2]|0)+8>>1]=1;lg(c[c[h>>2]>>2]|0,0);do if((d[(c[h>>2]|0)+89>>0]|0)>>>7&255){if(!((c[j>>2]|0)<32?(c[(c[h>>2]|0)+188>>2]&1<>2]|0)!=0:0))m=12;if((m|0)==12?(c[(c[h>>2]|0)+188>>2]|0)!=-1:0)break;m=(c[h>>2]|0)+87|0;a[m>>0]=a[m>>0]&-2|1}while(0);c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,25);c[g>>2]=25;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,21);c[l>>2]=c[(c[h>>2]|0)+168>>2];Rd(21,40257,l);c[g>>2]=Lf(73746)|0;m=c[g>>2]|0;i=n;return m|0}function xh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(LQ(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function yh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;KH((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function zh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Qy(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Ki(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}vx(c[g>>2]|0);i=n;return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Lw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Bh(b,d,e,f){b=b|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,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(vz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ri(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]|0)!=0?40230:40243;if(((li(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=qj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(GH(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Ch(d,30609,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Ch(d,30619,q)}a[(c[l>>2]|0)+17>>0]=1}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Ch(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=dx(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+68|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=dx(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=rh(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Gh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=$w(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Kh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(a[(c[c[e>>2]>>2]|0)+69>>0]|0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Ih(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)?(bx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+32>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[35407+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+32>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+32|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(FH(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+100|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Kh(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}wA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}EH(c[k>>2]|0);i=n;return}DH(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Lh(e,f){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,r=0;r=i;i=i+48|0;g=r+44|0;h=r+40|0;j=r+36|0;p=r+32|0;n=r+28|0;m=r+24|0;l=r+20|0;o=r+16|0;k=r+12|0;q=r;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[p>>2]=b[(c[h>>2]|0)+444>>1];c[n>>2]=c[(c[h>>2]|0)+76>>2];c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=c[(c[h>>2]|0)+400>>2];f=c[(c[h>>2]|0)+84>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)==0?1:f;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[k>>2]=((c[(c[g>>2]|0)+32>>2]|0)*20|0)+7&-8;c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[q+4>>2]=(c[(c[h>>2]|0)+92>>2]|0)-(c[k>>2]|0)&-8;if((c[q+4>>2]|0)>0)tR(c[q>>2]|0,0,c[q+4>>2]|0)|0;ZE(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+89|0;a[f>>0]=a[f>>0]&-17|(e&1)<<4&255;if((c[n>>2]|0)<10?(d[(c[h>>2]|0)+453>>0]|0)!=0:0)c[n>>2]=10;f=(c[g>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2;do{c[q+8>>2]=0;f=CH(q,c[(c[g>>2]|0)+8>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[g>>2]|0)+8>>2]=f;f=CH(q,c[(c[g>>2]|0)+60>>2]|0,(c[p>>2]|0)*40|0)|0;c[(c[g>>2]|0)+60>>2]=f;f=CH(q,c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=f;f=CH(q,c[(c[g>>2]|0)+56>>2]|0,c[m>>2]<<2)|0;c[(c[g>>2]|0)+56>>2]=f;f=CH(q,c[(c[g>>2]|0)+200>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+200>>2]=f;if(!(c[q+8>>2]|0))break;f=c[q+8>>2]|0;f=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f;c[q>>2]=f;c[q+4>>2]=c[q+8>>2]}while((a[(c[j>>2]|0)+69>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[m>>2];c[(c[g>>2]|0)+196>>2]=c[o>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[p>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+448>>2];c[(c[g>>2]|0)+64>>2]=c[(c[h>>2]|0)+476>>2];c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+476>>2]=0;if(!(c[(c[g>>2]|0)+8>>2]|0)){p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}c[(c[g>>2]|0)+28>>2]=c[n>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}function Mh(a,d,e,f){a=a|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,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+60>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=ue(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=BF(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];BH(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=40176;else d=(c[j>>2]|0)==7?40163:40168;c[k>>2]=d;c[r>>2]=Dh(e,40181,k)|0;c[o>>2]=1;Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Dh(d,40210,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Dh(d,18999,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Nh(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+120>>2]|0);$u(c[f>>2]|0,c[(c[e>>2]|0)+324>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Oh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=bF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=oF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(81735)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=pR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}AH(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Sg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+80>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Tg(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Qh(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2|1;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Rh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=pC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=pC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=pC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=pC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=pC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=pC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=pC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=pC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=pC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0&(c[q>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[18221+(c[q>>2]&255)>>0]|0)==(d[18221+(c[r>>2]&255)>>0]|0):0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=pC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(pC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=pC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Rh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[19011+(c[q>>2]&255)>>0]&32);c[q>>2]=d[18221+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=pC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){nH(40149);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+80>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Uh(c[d>>2]|0)|0)nH(40154);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Th(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Sh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(110313)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=oH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Yd(c[c[p>>2]>>2]|0)|0;c[r>>2]=oH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+80>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){nH(39996);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Vh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(qj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Lw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,rR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Sj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){lh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(118695)|0;c[p>>2]=Tg(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Wh(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+92+4>>2];if(!(c[(c[u>>2]|0)+152>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+484>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=Vu(179)|0;if(!(c[m>>2]|0)){lh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}while(1){if(!(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0))break;c[(c[t>>2]|0)+508>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=Wu((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+508+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+508+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break}if((c[n>>2]|0)>=160){if(c[(c[u>>2]|0)+248>>2]|0){r=10;break}if((c[n>>2]|0)==161){r=12;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+508|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];Xu(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==10)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==12){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+508;Ch(A,27045,o)}c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0);if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){if((c[k>>2]|0)!=1){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Xu(r,1,g,A)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Xu(r,0,g,A)}}Yu(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=kh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Dh(A,18999,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,18999,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+68>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){Zu(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+408>>2]|0);c[(c[t>>2]|0)+408>>2]=0;c[(c[t>>2]|0)+404>>2]=0}Kd(c[(c[t>>2]|0)+524>>2]|0);if(!(a[(c[t>>2]|0)+454>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+488>>2]|0);_u(c[u>>2]|0,c[(c[t>>2]|0)+540>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+492>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+448>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+476>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+476>>2]|0);while(1){if(!(c[(c[t>>2]|0)+412>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+412>>2];c[(c[t>>2]|0)+412>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+528>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+528>>2];c[(c[t>>2]|0)+528>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Xh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=rh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}fh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Zh(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5056;mf(4,b)|0;i=a;return}function _h(){return 88}function $h(){return 40}function ai(){return 32}function bi(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5004;mf(18,b)|0;i=a;return}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;qu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function di(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Wj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Xj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=Lf(134226)|0;g=c[d>>2]|0;i=h;return g|0}iu(c[e>>2]|0);ju(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(ku(c[e>>2]|0)|0)!=0:0){jg(c[e>>2]|0,5,26903,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+80>>2]=1691352191;Pg(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{ui(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} +function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(KQ(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(KQ(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){tR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)tR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(KQ(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24614,8)|0):0)?0==(Kp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Lp(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Mp(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2124;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Dk(ia,24623,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((KQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,21129,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Dk(ia,24650,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((KQ(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24677,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((KQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24681,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Dk(ia,24686,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(KQ(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Np(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24709;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Lp(c[S>>2]|0,21055,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Op(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Dk(ia,24717,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}tR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);rR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;ik((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];rR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];rR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Pp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;rR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Mk(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=KQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(KQ(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Dk(ia,24752,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24771:24780;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Dk(ia,24791,V)}ia=Qp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Rp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Sp(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Tp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Up(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Qk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Kp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[25473+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Lp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(18999,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=KQ(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Pp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ck(z,A,(KQ(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Pp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Dk(c[k>>2]|0,25455,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Dk(A,21203,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(18999,k)|0;if(c[m>>2]|0)Mk(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Np(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(25400,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Dk(D,18999,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=ye(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;D=(KQ(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(KQ(c[y>>2]|0)|0)+1;rR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}tR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Xp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0}function Pp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Kp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Kp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var 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;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Wp(c[f>>2]|0,s,25353,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Wp(p,s,25359,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Wp(p,s,25339,l)}}else{if(c[e>>2]|0){b=Vp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=19010;Wp(c[f>>2]|0,s,25318,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Wp(b,s,25324,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=25346;Wp(p,s,25339,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19010:25368;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25377,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19010:25368;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25377,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Vp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=19010;Wp(c[g>>2]|0,n,20883,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Wp(b,n,25302,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Wp(c[g>>2]|0,n,25309,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Sp(b){b=b|0;var 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;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24927,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24953,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24965,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;ll(g,s,24976,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;ll(g,s,25009,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;ll(g,s,25081,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;ll(g,s,25234,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}$o(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24907,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){ue(c[f>>2]|0)|0;h=De(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Yd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24832;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24841,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24846,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24853,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Vp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((KQ(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Wp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(25313,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Xp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ve(c[e>>2]|0)|0;c[o>>2]=ae(c[c[f>>2]>>2]|0)|0;c[h>>2]=(be(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(Zp(c[e>>2]|0)|0)){je(c[e>>2]|0,25638,-1);i=p;return}c[g>>2]=be(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){je(c[e>>2]|0,25601,-1);i=p;return}else{c[l>>2]=c[($d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=jk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;je(c[e>>2]|0,25624,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ck(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(21203,m)|0;je(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);ge(c[e>>2]|0,l,4,-1);i=p;return}function Zp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=we(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function _p(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[g>>2]|0)+12>>2]|0);ok(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}nk(c[f>>2]|0);i=k;return}function $p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=aq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}ok(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Fk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];bq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function aq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}tR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function dq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function eq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=KQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function fq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function gq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25660+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25660+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);hq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function hq(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(jq(r,25740,25745,0)|0)==0:0)?(jq(r,25748,25752,0)|0)==0:0)?(jq(r,25745,25745,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(jq(r,25754,25758,172)|0)){if((jq(r,25761,19010,173)|0)==0?(jq(r,25765,19010,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(jq(r,25768,25771,0)|0)==0:0)?(jq(r,25775,25778,0)|0)==0:0)?(jq(r,25782,25785,0)|0)==0:0){if((((mq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((nq(c[r>>2]|0)|0)!=0?(oq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(lq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(jq(r,25789,25771,172)|0))jq(r,25797,25804,172)|0;break}case 99:{if(!(jq(r,25809,25814,172)|0))jq(r,25819,25824,172)|0;break}case 101:{jq(r,25829,25785,172)|0;break}case 103:{jq(r,25834,25839,172)|0;break}case 108:{if((((jq(r,25843,25778,172)|0)==0?(jq(r,25847,25852,172)|0)==0:0)?(jq(r,25855,25861,172)|0)==0:0)?(jq(r,25865,25869,172)|0)==0:0)jq(r,25871,25877,172)|0;break}case 111:{if((jq(r,25881,25785,172)|0)==0?(jq(r,25889,25771,172)|0)==0:0)jq(r,25895,25771,172)|0;break}case 115:{if(((jq(r,25900,25852,172)|0)==0?(jq(r,25906,25914,172)|0)==0:0)?(jq(r,25918,25926,172)|0)==0:0)jq(r,25930,25877,172)|0;break}case 116:{if((jq(r,25938,25852,172)|0)==0?(jq(r,25944,25914,172)|0)==0:0)jq(r,25950,25778,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((jq(r,25957,25963,172)|0)==0?(jq(r,25966,19010,172)|0)==0:0)jq(r,25972,25852,172)|0;break}case 105:{jq(r,25978,25963,172)|0;break}case 108:{if(!(jq(r,25984,25963,172)|0))jq(r,25989,19010,172)|0;break}case 115:{jq(r,25993,19010,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(pq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(jq(r,25998,19010,174)|0)==0:0)?(jq(r,26004,19010,174)|0)==0:0)jq(r,26009,19010,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(pq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;jq(r,26013,19010,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(jq(r,26017,19010,174)|0))jq(r,26021,19010,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(pq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((nq(g)|0)!=0?(oq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((pq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=KQ(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function iq(b,d,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function jq(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function kq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function lq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(rq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function mq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(rq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function nq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((rq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(qq((c[d>>2]|0)+1|0)|0)!=0:0)d=(rq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[26025+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=rq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[26025+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(qq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function sq(b,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}tR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=KQ(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(yq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function tq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=KQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function vq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function xq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function yq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=KQ(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(19280,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=KQ(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=KQ(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,26061)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){tR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;rR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;rR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Mk(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Dk(c[n>>2]|0,26130,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];wm(c[e>>2]|0);zl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Eq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}zl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);tR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=ae(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(18999,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=be(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(18999,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=be(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=de(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ol(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=sl(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Fq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Fq(a){a=a|0;var b=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;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=pR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=tl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=EQ(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Jq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}tR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=Yl((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Jq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Gq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){ke(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{ne(e,26059,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){tR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=KQ(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(EQ(26336,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(EQ(26356,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(EQ(26376,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(EQ(26388,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Lq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Mq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=KQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Nq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Oq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26171+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Qq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26171+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Rq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Tq(c[e>>2]|0)|0;a=a^(Uq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Qq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[10626+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=10626+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[11278+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Sq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Sq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;rR(j|0,11432,202)|0;b=h;d=26235;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2364+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2380+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2380+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2380+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Vq(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26171+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26171+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=rh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Xq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Yq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Zq(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Pt(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Qt(c[d>>2]|0)|0)<=1){i=f;return}Rt(c[e>>2]|0)|0;i=f;return}function _q(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=nt()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(ot(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=ph(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ah(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=Yq(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=jt(48619)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;rR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)rR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;rR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=26597;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);rR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[26607]|0;a[L+1>>0]=a[26608]|0;a[L+2>>0]=a[26609]|0;a[L+3>>0]=a[26610]|0;a[L+4>>0]=a[26611]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Pr(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=Yr(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(Xr(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26613,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26620,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Ti(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=qt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){mr(c[(c[C>>2]|0)+64>>2]|0)|0;Zi(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;Xr(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function $q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;_i(c[f>>2]|0);i=e;return}function ar(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;tR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=$r(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function br(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=mt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Os(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function dr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function er(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function fr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Wj();gr(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;hr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Xi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)ir(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;kr(b,jr(c[e>>2]|0)|0)|0}lr(c[e>>2]|0)}Xj();mr(c[(c[e>>2]|0)+68>>2]|0)|0;mr(c[(c[e>>2]|0)+64>>2]|0)|0;Zi(c[f>>2]|0);nr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function gr(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function hr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Ms(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Ns(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Os(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Ps(c[h>>2]|0,0,0)}}while(0);Qs(c[h>>2]|0,c[n>>2]|0);mr(c[(c[h>>2]|0)+8>>2]|0)|0;if(c[n>>2]|0){Wj();vr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Xj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function ir(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;nj(c[(c[e>>2]|0)+60>>2]|0);c[(c[e>>2]|0)+60>>2]=0;qr(c[e>>2]|0);j=(xr(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+64>>2]>>2]|0)b=Yr(c[(c[e>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))mr(c[(c[e>>2]|0)+68>>2]|0)|0;c[g>>2]=Br(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+17>>0]|0)==6:0)a[(c[e>>2]|0)+18>>0]=5;a[(c[e>>2]|0)+19>>0]=0;a[(c[e>>2]|0)+17>>0]=0}}else{Ls(c[b+216>>2]|0);a[(c[e>>2]|0)+17>>0]=0}if(!(c[(c[e>>2]|0)+44>>2]|0)){j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}Xi(c[e>>2]|0);a[(c[e>>2]|0)+19>>0]=a[(c[e>>2]|0)+13>>0]|0;a[(c[e>>2]|0)+17>>0]=0;c[(c[e>>2]|0)+44>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function jr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=tr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Vi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function kr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function lr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Wj();or(c[e>>2]|0)|0;Xj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))pr(c[e>>2]|0,0,0)|0}while(0);ir(c[e>>2]|0);i=f;return}function mr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;d=c[d>>2]|0;i=e;return d|0}function nr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function or(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(xr(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Qr(b,2,-1)|0;c[j>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Rr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=pr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=kr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function pr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0)<2?(d[(c[h>>2]|0)+18>>0]|0)<2:0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}qr(c[h>>2]|0);a:do if(c[c[(c[h>>2]|0)+68>>2]>>2]|0){b=(rr(c[(c[h>>2]|0)+68>>2]|0)|0)!=0;f=c[h>>2]|0;if(b){mr(c[f+68>>2]|0)|0;break}e=c[h>>2]|0;if((d[f+5>>0]|0)==3){l=e+80|0;if(!((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)){c[m>>2]=sr(c[(c[h>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=tr(c[(c[h>>2]|0)+68>>2]|0,d[(c[h>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}else{do if((d[e+5>>0]|0)!=1){if((d[(c[h>>2]|0)+4>>0]|0)!=0?(d[(c[h>>2]|0)+5>>0]|0)!=5:0)break;c[l>>2]=((a[(c[h>>2]|0)+13>>0]|0)!=0^1)&1;mr(c[(c[h>>2]|0)+68>>2]|0)|0;if(!(c[l>>2]|0))break a;c[m>>2]=vr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+180>>2]|0,d[(c[h>>2]|0)+9>>0]|0)|0;break a}while(0);c[m>>2]=ur(c[h>>2]|0,c[j>>2]|0)|0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}}while(0);nj(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;c[(c[h>>2]|0)+48>>2]=0;wr(c[(c[h>>2]|0)+212>>2]|0);dj(c[(c[h>>2]|0)+212>>2]|0,c[(c[h>>2]|0)+28>>2]|0);if(!(xr(c[h>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[h>>2]|0)+36>>2]|0)>>>0>(c[(c[h>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=zr(c[h>>2]|0,c[(c[h>>2]|0)+28>>2]|0)|0}else c[n>>2]=yr(c[(c[h>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0:0){l=yi(c[(c[h>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[h>>2]|0)+4>>0]|0)){if((xr(c[h>>2]|0)|0)!=0?(Ar(c[(c[h>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Br(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+19>>0]=0}while(0);a[(c[h>>2]|0)+17>>0]=1;a[(c[h>>2]|0)+20>>0]=0;c[g>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[g>>2]|0;i=o;return n|0}function qr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;nj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(rr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))mr(c[(c[d>>2]|0)+72>>2]|0)|0;Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function rr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4864|0}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function ur(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=sr(e,0,0)|0;else c[j>>2]=Hg(e,26454,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=tr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Vi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=sr(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function wr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;ej(c[d>>2]|0)}i=e;return}function xr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function yr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Gr(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function zr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=AR(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=pR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];tR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=oR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Hg(a,j,n,o,C)|0}}else{o=h;c[k>>2]=sr(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Ar(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Er(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Dr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Br(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Cr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Dr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Fr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Er(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Fr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Fr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Gr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Fr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Hr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Nr(c[d>>2]|0);i=b;return 0}function Ir(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;n=r+44|0;o=r+8|0;p=r+40|0;m=r+36|0;l=r+32|0;h=r+28|0;q=r+24|0;g=r;j=r+20|0;k=r+16|0;c[t>>2]=a;c[s>>2]=b;c[n>>2]=d;d=o;c[d>>2]=e;c[d+4>>2]=f;c[p>>2]=c[t>>2];c[m>>2]=c[s>>2];c[l>>2]=c[n>>2];d=(c[p>>2]|0)+40|0;a=o;b=o;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=c[(c[p>>2]|0)+16>>2];while(1){if(!(c[q>>2]|0))break a;a=g;s=c[(c[p>>2]|0)+4>>2]|0;s=pR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=o;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[p>>2]|0)+4>>2]|0;t=g;s=pR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[q>>2]=c[c[q>>2]>>2]}}else c[q>>2]=c[(c[p>>2]|0)+40+8>>2];while(0);s=o;t=c[(c[p>>2]|0)+4>>2]|0;t=zR(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[h>>2]=t;while(1){c[j>>2]=(c[(c[p>>2]|0)+4>>2]|0)-(c[h>>2]|0);if((c[l>>2]|0)<((c[(c[p>>2]|0)+4>>2]|0)-(c[h>>2]|0)|0))e=c[l>>2]|0;else e=(c[(c[p>>2]|0)+4>>2]|0)-(c[h>>2]|0)|0;c[k>>2]=e;rR(c[m>>2]|0,(c[q>>2]|0)+4+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[h>>2]=0;if((c[l>>2]|0)<0){e=13;break}t=c[c[q>>2]>>2]|0;c[q>>2]=t;if(!((t|0)!=0&(c[l>>2]|0)>0)){e=13;break}}if((e|0)==13){t=o;s=c[n>>2]|0;s=pR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[p>>2]|0)+40|0;c[t>>2]=s;c[t+4>>2]=C;c[(c[p>>2]|0)+40+8>>2]=c[q>>2];i=r;return 0}return 0}function Jr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=pR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Or(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Hg(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=zR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}rR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=pR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=pR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Nr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Lr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Nr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Or(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Pr(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=pR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=oR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Hg(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=pR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Nr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}mr(c[k>>2]|0)|0;a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Pr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;nj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((xr(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=ls(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(rr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=sr(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Rr(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Vi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Sr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Tr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Ur(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=oR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=yR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=pR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=oR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=yR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=zr(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Xi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=Vr(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Sr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Jg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=pr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=Wr(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;Xr(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,26482,r);s=c[m>>2]|0;Xr(s);s=c[p>>2]|0;i=t;return s|0}function Sr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Vi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=as(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=as(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=$r(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(EQ(k,26509,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=oR(d|0,C|0,c[m>>2]|0,0)|0,d=$r(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Tr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Ur(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ks(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=pR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=$r(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(EQ(n,26509,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=pR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=as(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=pR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=as(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=pR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=as(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=pR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=as(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=pR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=as(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Ti(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=pR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function Vr(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;o=B+56|0;p=B+52|0;l=B+48|0;q=B+44|0;r=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;m=B+24|0;s=B+20|0;n=B+16|0;t=B+12|0;u=B;x=B+8|0;c[o>>2]=f;c[p>>2]=g;c[l>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[o>>2]|0)+208>>2];j=c[o>>2]|0;if(c[q>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[n>>2]=j;f=c[p>>2]|0;c[A>>2]=as(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[n>>2]|0;h=c[s>>2]|0;g=c[(c[o>>2]|0)+160>>2]|0;f=c[p>>2]|0;f=pR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=$r(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[o>>2]|0)+160>>2]|0)+4+(c[q>>2]<<2)|0;f=c[p>>2]|0;h=f;g=pR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[381]|0)/(c[(c[o>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[o>>2]|0)+28>>2]|0)>>>0?(lj(c[l>>2]|0,c[v>>2]|0)|0)==0:0){if(c[q>>2]|0){f=c[n>>2]|0;n=c[p>>2]|0;n=oR(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[A>>2]=as(f,n,C,m)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[r>>2]|0)==0?(n=bs(c[o>>2]|0,c[s>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[l>>2]|0)!=0?(n=jj(c[l>>2]|0,c[v>>2]|0)|0,c[A>>2]=n,(n|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[o>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[o>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(xr(c[o>>2]|0)|0)c[z>>2]=0;else c[z>>2]=cs(c[o>>2]|0,c[v>>2]|0)|0;if(c[q>>2]|0){if(d[(c[o>>2]|0)+7>>0]|0)j=1;else{n=c[p>>2]|0;l=c[n+4>>2]|0;j=(c[o>>2]|0)+88|0;m=c[j+4>>2]|0;j=(l|0)<(m|0)|((l|0)==(m|0)?(c[n>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[o>>2]|0)+64>>2]>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)){w=44;break}n=c[(c[o>>2]|0)+160>>2]|0;n=AR((c[v>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=n;c[t+4>>2]=C;c[A>>2]=Hg(c[(c[o>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[o>>2]|0)+36>>2]|0)>>>0)c[(c[o>>2]|0)+36>>2]=c[v>>2];if(c[(c[o>>2]|0)+96>>2]|0){ds(c[(c[o>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[q>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=ug(c[o>>2]|0,c[v>>2]|0,z,1)|0;w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){w=(c[z>>2]|0)+24|0;b[w>>1]=e[w>>1]&-17;es(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];rR(c[x>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0)|0;Qb[c[(c[o>>2]|0)+204>>2]&255](c[z>>2]|0);do if(c[q>>2]|0){if((c[r>>2]|0)!=0?(u=c[p>>2]|0,s=c[u+4>>2]|0,w=(c[o>>2]|0)+88|0,t=c[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(c[u>>2]|0)>>>0<=(c[w>>2]|0)>>>0:0))):0)break;ej(c[z>>2]|0)}while(0);if((c[v>>2]|0)==1){h=(c[o>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}fs(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function Wr(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Pr(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Vi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=pR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=pR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=pR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=$r(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Tr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Pr(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Sr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;mr(c[l>>2]|0)|0;if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(HQ(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}mr(c[m>>2]|0)|0;c[o>>2]=vr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}mr(c[m>>2]|0)|0;Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function Xr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((Yr(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=Zr(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function Yr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function Zr(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=_r(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function _r(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function $r(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function as(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=$r(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=er(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function bs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=hs(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=is(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function ds(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}gs(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function es(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&33)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;fj(c[d>>2]|0,2);i=f;return}function fs(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){gj(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=wg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function hs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);b=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function is(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=js(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function js(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[j>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;tR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[f>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[f>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2];b[(c[j>>2]|0)+24>>1]=1;j=is(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return j|0}function ks(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=oR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=yR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=pR(h|0,C|0,1,0)|0;h=AR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function ls(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=ij(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(xr(c[f>>2]|0)|0)!=0:0){c[e>>2]=ms(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(xr(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=Vr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Ur(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=pR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=oR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=yR(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=Vr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=AR(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(xr(c[f>>2]|0)|0)c[p>>2]=ns(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=Vr(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);nj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function ms(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=us(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=vs(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ts(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];os(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function os(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;qs(a,ps(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));tR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function ps(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function qs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=rs(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function rs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){tR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=ss(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=cs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((As(c[f>>2]|0)|0)==1){Bs(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Cs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Ds(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Es(c[f>>2]|0)}while(0);bj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function us(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=ys(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=zs(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}os(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function vs(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=ws(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=xs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=xs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=xs(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function ys(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=ps(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function As(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Bs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)fj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Cs(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=ps(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=ps(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=qs(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Js(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ks(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Oj(53923)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Is(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=AR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=$r(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Es(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){Fs(a);f=c[b>>2]|0;Gs(f);i=d;return}else{fs(a);f=c[b>>2]|0;Gs(f);i=d;return}}function Fs(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=AR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Hs(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Gs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Ui(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}lr(c[b>>2]|0);i=d;return}function Hs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Is(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=AR((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=pR(32,0,f|0,C|0)|0;f=pR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=$r(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Js(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ks(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Ls(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;yr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Er(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ns(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Ss(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ts(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Us(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Hs(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=Vs(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Oj(54623)|0;else c[y>>2]=Ws(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(Xs(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}yr(c[v>>2]|0)|0;Gr(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Wj();c[g>>2]=Vi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=sr(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Xj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,26517,j);i=k;return}function Qs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Rs(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Ss(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Fr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Ss(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Us(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=rs(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=ht(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Dr(e,0)|0;c[l>>2]=k;if(k)break;Er(c[g>>2]|0,0);c[l>>2]=264;break}b=Ss(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=rs(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=ht(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=it(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Gr(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=jt(53476)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function Vs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Ws(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=Vs(c[j>>2]|0)|0;c[y>>2]=Xs(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=Ys(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ts(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Gr(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ts(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=tr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=AR(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Vi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Os(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(Zs(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=AR((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=pR(32,0,g|0,C|0)|0;g=pR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=$r(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=AR((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Hg(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(ys(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=AR(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=sr(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=tr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Gr(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ts(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){_s(c[j>>2]|0,c[B>>2]|0);c[A>>2]=sr(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Gr(c[j>>2]|0,4,4)}}while(0);$s(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function Xs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Ys(a,d){a=a|0;d=d|0;var 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;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(ps(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}tR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=qs(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}ft(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)$s(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=Xs(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;at(b,1+(er(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];bt(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function $s(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function at(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function bt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=ys(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ct(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));dt(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ct(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function dt(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}et(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);gt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);gt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function gt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];rR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function ht(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=ys(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));dt(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(EQ(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ct(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(EQ((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function it(e){e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Ss(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Vi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=$r(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=er(j)|0;c[A>>2]=er(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=er(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ct((d[(c[h>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(er(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(er(j+28|0)|0)):0){c[D>>2]=er(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=jt(52530)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=pR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=$r(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=kt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=lt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=pR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];bt(c[h>>2]|0);c[w>>2]=Xs(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,26560,B)}}}while(0);Gr(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(14,c[d>>2]|0,26543)|0;i=b;return a|0}function kt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(EQ((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=er(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ct(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ct(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(er((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(er((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=er((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function lt(a,d,e){a=a|0;d=d|0;e=e|0;var 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;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=qs(a,ps(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);tR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)os(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Js(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ks(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Oj(52399)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function mt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function nt(){return 48}function ot(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function pt(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(xr(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=rt(a)|0;if(!(c[j>>2]|0))c[j>>2]=st(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=tt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=ut(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))ej(c[g>>2]|0);c[f>>2]=kr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function qt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=Yi(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function rt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Jt(c[d>>2]|0)|0){c[b>>2]=Kt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function st(a,b,e,f){a=a|0;b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)wt(c[h>>2]|0);c[o>>2]=Ct(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;ds(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function tt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=xt(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=Yr(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[26509]|0;a[n+1>>0]=a[26510]|0;a[n+2>>0]=a[26511]|0;a[n+3>>0]=a[26512]|0;a[n+4>>0]=a[26513]|0;a[n+5>>0]=a[26514]|0;a[n+6>>0]=a[26515]|0;a[n+7>>0]=a[26516]|0;at(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ks(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=$r(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(EQ(j,26509,8)|0):0){b=l;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,26630,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=yt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);zt(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function ut(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=vt(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=AR(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Os(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&32|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=AR((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)wt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Hg(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;ds(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Pr(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function wt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(er((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;at((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);at((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);at((c[(c[d>>2]|0)+4>>2]|0)+96|0,3012e3);i=b;return}function xt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(xr(c[b>>2]|0)|0):0)c[d>>2]=At(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function yt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ks(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((Yr(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[26509]|0;a[n+1>>0]=a[26510]|0;a[n+2>>0]=a[26511]|0;a[n+3>>0]=a[26512]|0;a[n+4>>0]=a[26513]|0;a[n+5>>0]=a[26514]|0;a[n+6>>0]=a[26515]|0;a[n+7>>0]=a[26516]|0;at((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);at((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);at((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);at((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);at((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);tR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Hg(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=pR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function zt(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Bt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Bt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Ms(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ct(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;H=M+100|0;B=M+96|0;F=M+92|0;G=M+88|0;E=M+84|0;K=M+80|0;D=M+40|0;L=M+16|0;p=M+76|0;o=M+72|0;n=M+136|0;m=M+64|0;s=M+60|0;r=M+56|0;q=M+8|0;t=M+52|0;I=M+48|0;J=M;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[G>>2]=0;c[E>>2]=0;c[p>>2]=0;c[o>>2]=ys(c[v>>2]|0)|0;if(EQ((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=Dt(c[v>>2]|0)|0;c[H>>2]=g;if(g){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[B>>2]|0)){at(n,931071618|(a[960]|0)==0);at(n+4|0,3007e3);at(n+8|0,c[w>>2]|0);at(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ct(1,n,24,0,m);at(n+24|0,c[m>>2]|0);at(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[960]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[H>>2]|0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[H>>2]=tr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}}c[L>>2]=c[v>>2];c[L+4>>2]=c[(c[v>>2]|0)+8>>2];l=L+8|0;c[l>>2]=0;c[l+4>>2]=0;c[L+16>>2]=c[A>>2];c[L+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=AR((c[B>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=pR(32,0,l|0,C|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;c[K>>2]=(c[w>>2]|0)+24;c[F>>2]=c[x>>2];while(1){if(!(c[F>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[F>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Cs(c[v>>2]|0,c[(c[F>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=AR((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=pR(32,0,l|0,C|0)|0;l=pR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[F>>2]|0)+4>>2];g=q;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=22;break}g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]&-129}else{c[B>>2]=(c[B>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[F>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=D;c[H>>2]=Et(L,c[F>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=27;break}c[G>>2]=c[F>>2];l=c[K>>2]|0;g=D;l=pR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]|128}c[F>>2]=c[(c[F>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==27){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[H>>2]=Ft(c[v>>2]|0,c[B>>2]|0)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}a:do if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){if(!(a[(c[v>>2]|0)+49>>0]|0)){c[H>>2]=tr(c[L+4>>2]|0,c[A>>2]&19)|0;break}c[I>>2]=Zr(c[(c[v>>2]|0)+8>>2]|0)|0;t=D;A=c[I>>2]|0;A=pR(c[t>>2]|0,c[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=oR(A|0,C|0,1,0)|0;t=c[I>>2]|0;t=yR(A|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;A=c[I>>2]|0;A=AR(t|0,C|0,A|0,((A|0)<0)<<31>>31|0)|0;I=L+8|0;c[I>>2]=A;c[I+4>>2]=C;while(1){A=D;s=c[A+4>>2]|0;I=L+8|0;t=c[I+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(c[A>>2]|0)>>>0<(c[I>>2]|0)>>>0:0)))break a;I=D;c[H>>2]=Et(L,c[G>>2]|0,c[y>>2]|0,c[I>>2]|0,c[I+4>>2]|0)|0;if(c[H>>2]|0)break;A=c[K>>2]|0;I=D;A=pR(c[I>>2]|0,c[I+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;I=D;c[I>>2]=A;c[I+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}while(0);if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(L=(c[v>>2]|0)+16|0,K=c[L+4>>2]|0,(K|0)>0|(K|0)==0&(c[L>>2]|0)>>>0>=0):0){L=(c[v>>2]|0)+16|0;D=c[L+4>>2]|0;K=J;c[K>>2]=c[L>>2];c[K+4>>2]=D;K=(c[w>>2]|0)+24|0;K=AR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=pR(32,0,K|0,C|0)|0;D=C;L=(c[v>>2]|0)+16|0;I=c[L+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(c[L>>2]|0)>>>0:0)){K=(c[w>>2]|0)+24|0;K=AR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=pR(32,0,K|0,C|0)|0;L=J;c[L>>2]=K;c[L+4>>2]=C}L=J;Ps(c[v>>2]|0,c[L>>2]|0,c[L+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];c[F>>2]=c[x>>2];while(1){if(!((c[F>>2]|0)!=0?(c[H>>2]|0)==0:0))break;if(e[(c[F>>2]|0)+24>>1]&128){c[B>>2]=(c[B>>2]|0)+1;c[H>>2]=lt(c[v>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+20>>2]|0)|0}c[F>>2]=c[(c[F>>2]|0)+12>>2]}while(1){if(!((c[H>>2]|0)==0?(c[E>>2]|0)>0:0))break;c[B>>2]=(c[B>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1;c[H>>2]=lt(c[v>>2]|0,c[B>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}if(!(c[H>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[B>>2];if(c[z>>2]|0){L=(c[v>>2]|0)+52+8|0;c[L>>2]=(c[L>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){bt(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[B>>2]}}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}return 0}function Dt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Xs(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Ss(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){_s(c[e>>2]|0,c[k>>2]|0);Gr(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Er(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=It(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Gt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Ht(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=pR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Ht(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Ft(a,b){a=a|0;b=b|0;var 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;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=AR((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(32,0,b|0,C|0)|0;b=pR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=$r(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=er(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=er((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=AR((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=$r(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=er(c[g>>2]|0)|0;c[n>>2]=er((c[g>>2]|0)+4|0)|0;Gt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Hg(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Gt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;at(c[l>>2]|0,c[q>>2]|0);at((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ct(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ct(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);at((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);at((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=pR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=oR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=pR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=tr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function It(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;ui(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Us(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Dr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Er(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=Xs(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Dr(c[h>>2]|0,3)|0;dt(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=ys(c[h>>2]|0)|0;u=(EQ(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Er(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Ss(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Gr(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Dr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;dt(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=ys(c[h>>2]|0)|0,(EQ(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Er(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Jt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(oj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Kt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Lt(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=AR(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Mt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=pR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Hg(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Nt(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Lt(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Ot(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;at(g,c[k>>2]|0);e=j;e=Hg(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=jj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Pr(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4864;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Pt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Qt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=As(c[d>>2]|0)|0;i=b;return a|0}function Rt(f){f=f|0;var 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,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(St(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Oj(57553)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Oj(57571)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&268435456){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Oj(57599)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Oj(57604)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Oj(57624)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Oj(57631)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Oj(57645)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function St(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Oj(57511)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Tt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Ut(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=uR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=uR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Yt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function Vt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function Wt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((Zt((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return} +function hi(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[960]|0)==0?3:2;while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+152>>2]|0)){Qh(d);break}jg(d,5,26840,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}hu(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(134792)|0;C=c[q>>2]|0;i=D;return C|0}function ii(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=qj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=bu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[18221+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=cu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=bu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=rh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;rR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Sj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);lh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26789,h)|0;je(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Wj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Xj();i=h;return 0}function li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=$t(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function ni(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+164>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function oi(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(135927)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+80>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+92|0;g=1560;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+92+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+140>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|9437280;xj((c[n>>2]|0)+364|0);xj((c[n>>2]|0)+320|0);pi(c[n>>2]|0,35343,1,0,141,0)|0;pi(c[n>>2]|0,35343,3,0,141,0)|0;pi(c[n>>2]|0,35343,2,0,141,0)|0;pi(c[n>>2]|0,21037,1,0,142,0)|0;pi(c[n>>2]|0,21044,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Qj(c[n>>2]|0,1,35343,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=_j(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)lh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?18999:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=$j(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ak(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ak(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=21050;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=19280;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+80>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);bk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ck(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=dk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);ei(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+80>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function pi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[960]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(135478)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+152>>2]|0){jg(b,5,20969,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Qh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=qj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function qi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+144+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=tj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=tj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,1);a[(c[f>>2]|0)+144+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}vj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=qj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function si(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,20495)|0){if(!(ig(c[d>>2]|0,20503)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,20509)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function ti(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(KQ(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=pj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ai(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Si(c[m>>2]|0)}c[n>>2]=Ti(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=27;Ri(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ci(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Pi(8,c[b>>2]|0);if((c[76]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[75];c[75]=c[c[75]>>2];c[76]=(c[76]|0)+-1;Qi(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Qi(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[74]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[75];c[75]=c[e>>2];c[76]=(c[76]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Ei(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Mi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Fi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;if(d[19011+(d[(c[f>>2]|0)+2>>0]|0)>>0]&8){b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[19011+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=AR(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=pR(b|0,e|0,(Ji(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Ki(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Gi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ii(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Hi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ii(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=19010;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Ki(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;l=w+48|0;m=w+44|0;n=w+40|0;h=w+36|0;j=w+52|0;q=w+32|0;k=w;r=w+28|0;p=w+24|0;o=w+20|0;s=w+16|0;u=w+12|0;t=w+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]|0)+(d[j>>0]|0)+-3;c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[19011+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;g=k;j=c[g>>2]|0;g=c[g+4>>2]|0;if(!h)break;b=AR(j|0,g|0,10,0)|0;e=c[o>>2]|0;e=pR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=oR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(g>>>0>2147483647|(g|0)==2147483647&j>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=oR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);if(!((c[o>>2]|0)!=0?((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}c[o>>2]=Li(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}if((c[o>>2]|0)>0){c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;v=c[l>>2]|0;i=w;return v|0}}}while(0);c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}function Li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=19375;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Mi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[19011+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Ni(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[19394+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(19410+(d[19402+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[19435+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[19435+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Ni(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Oi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[19011+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[19011+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Ji(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[19011+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=AR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=pR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=oR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=oR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1036+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=996+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[996+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1036+(c[d>>2]<<2)>>2]=c[996+(c[d>>2]<<2)>>2];i=e;return}function Ri(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[18221+(d[c[h>>2]>>0]|0)>>0]<<2^(d[18221+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[19443+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[19570+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19694+(e[10352+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[20371+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[20247+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Si(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Zi(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Ti(a,e,f){a=a|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Ui(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Vi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Wi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Xi(c[g>>2]|0);c[n>>2]=Yi(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Zi(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=pR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=oR(o|0,C|0,1,0)|0;o=yR(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{Zi(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];_i(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Wi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hj(c[d>>2]|0)|0;i=b;return a|0}function Xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;bj(c[(c[d>>2]|0)+96>>2]|0);cj(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function Yi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=aj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$i(c[d>>2]|0);i=b;return}function _i(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function $i(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[421]|0)>>>0?(c[b>>2]|0)>>>0<(c[422]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[424];c[424]=c[e>>2];c[425]=(c[425]|0)+1;c[426]=(c[425]|0)<(c[420]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function aj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=AR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=yR(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function cj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dj(c[d>>2]|0,0);i=b;return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)ej(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){tR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function ej(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}fj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}gj(c[d>>2]|0);i=f;return}function fj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;h=l+12|0;k=l+4|0;g=l;c[j>>2]=b;a[h>>0]=f;c[k>>2]=c[(c[j>>2]|0)+28>>2];if(d[h>>0]&1){if((c[(c[k>>2]|0)+8>>2]|0)==(c[j>>2]|0)){c[g>>2]=c[(c[j>>2]|0)+36>>2];while(1){if(c[g>>2]|0)f=(e[(c[g>>2]|0)+24>>1]&8|0)!=0;else f=0;b=c[g>>2]|0;if(!f)break;c[g>>2]=c[b+36>>2]}c[(c[k>>2]|0)+8>>2]=b}f=c[(c[j>>2]|0)+36>>2]|0;if(c[(c[j>>2]|0)+32>>2]|0)c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[k>>2]|0)+4>>2]=f;f=c[(c[j>>2]|0)+32>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]|0)){c[c[k>>2]>>2]=f;if((c[c[k>>2]>>2]|0)==0?(d[(c[k>>2]|0)+32>>0]|0)!=0:0)a[(c[k>>2]|0)+33>>0]=2}else c[(c[(c[j>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0}if(!(d[h>>0]&2)){i=l;return}c[(c[j>>2]|0)+32>>2]=c[c[k>>2]>>2];f=c[j>>2]|0;if(!(c[(c[j>>2]|0)+32>>2]|0)){c[(c[k>>2]|0)+4>>2]=f;if(a[(c[k>>2]|0)+32>>0]|0)a[(c[k>>2]|0)+33>>0]=1}else c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;c[c[k>>2]>>2]=c[j>>2];if(c[(c[k>>2]|0)+8>>2]|0){i=l;return}if(e[(c[j>>2]|0)+24>>1]&8){i=l;return}c[(c[k>>2]|0)+8>>2]=c[j>>2];i=l;return}function gj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[418]|0)?(c[d>>2]=c[424],(c[d>>2]|0)!=0):0){c[424]=c[c[424]>>2];c[425]=(c[425]|0)+-1;c[426]=(c[425]|0)<(c[420]|0)&1;Pi(7,c[b>>2]|0);Qi(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Pi(7,c[b>>2]|0);Qi(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function ij(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=ij(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ah(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}rR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;tR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=jj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=jj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function kj(b,e,f){b=b|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];rR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;tR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(oj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function nj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;nj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function oj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function pj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=rj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=sj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function sj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[18221+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function tj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?20513:20532;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=20546;c[B+8>>2]=20548;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];zj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(qg(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=og(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Aj(z,B,kh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;pg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Aj(c[o>>2]|0,c[m>>2]|0,20624);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Bj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Cj(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Aj(c[o>>2]|0,c[m>>2]|0,20692);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Dh(B,20716,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Dj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Bg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Ej(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)lh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);wj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;wj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function wj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];xj((c[f>>2]|0)+40|0);yj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(j);xj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(h);yj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function zj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;j=r+40|0;s=r+36|0;k=r+28|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;p=r+4|0;o=r;c[s>>2]=d;c[r+32>>2]=f;c[k>>2]=g;c[r+24>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20858,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Ij(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Oi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,20866);break a}while(0);Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[(c[l>>2]|0)+144+4>>0]=c[m>>2];s=Ni(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=s;a[(c[l>>2]|0)+144+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+144+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+144+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){lh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Nj(q,s,bf(c[l>>2]|0)|0)}}while(0);Yd(c[p>>2]|0)|0}while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=ph(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Bj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Lj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;d=n+40|0;e=n+36|0;f=n+32|0;k=n+24|0;g=n+16|0;m=n+12|0;j=n+8|0;h=n+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];Fj(c[h>>2]|0);c[g>>2]=c[c[g>>2]>>2]}c[k>>2]=c[e>>2];c[k+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];if(!(ri(c[e>>2]|0,20771,c[k+4>>2]|0)|0)){c[d>>2]=1;m=c[d>>2]|0;i=n;return m|0}h=c[e>>2]|0;c[l>>2]=c[k+4>>2];c[m>>2]=Dh(h,20784,l)|0;if(!(c[m>>2]|0))c[j>>2]=7;else{c[j>>2]=$e(c[e>>2]|0,c[m>>2]|0,141,k,0)|0;Tf(c[e>>2]|0,c[m>>2]|0)}if((c[j>>2]|0)==7)lh(c[e>>2]|0);c[d>>2]=c[j>>2];m=c[d>>2]|0;i=n;return m|0}function Ej(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Mg(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Lg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Fj(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5308]|0;b[h+2>>1]=b[5309]|0;b[h+4>>1]=b[5310]|0;b[h+6>>1]=b[5311]|0;b[h+8>>1]=b[5312]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;rR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Gj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ri(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Hj(c[q>>2]|0)|0;break}else{c[o>>2]=Ij(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Jj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Jj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Hj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=qj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Jj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Kj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20825,c[p>>2]|0)|0){r=(Ze(20836,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Ni(j+3|0)|0;r=Kj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20846,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Kj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=uR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=qR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=qR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[10600+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Mj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=aj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Nj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20883;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Dh(e,20885,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Dh(e,20916,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Oj(109666)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(11,c[d>>2]|0,20924)|0;i=b;return a|0}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20944,g);i=f;return c[e>>2]|0}function Qj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Rj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=qj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=rh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;rR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Sj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}lh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=rj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Tj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Uj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=sj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Vj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}yj(c[e>>2]|0);i=j;return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Wj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Xj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;tR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=sj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Vj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Wj(){if(!(c[427]|0))return;Vb[c[1708>>2]&255]();return}function Xj(){if(!(c[428]|0))return;Vb[c[1712>>2]&255]();return}function Yj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=EQ(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(_t((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(_t((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function Zj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function _j(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(EQ(c[n>>2]|0,26631,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=pR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(EQ(26637,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26647,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[19011+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[19011+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(EQ(26675,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(EQ(26679,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4940;c[z>>2]=c[A>>2];c[N>>2]=26679}if((c[D>>2]|0)==4?(EQ(26685,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4964;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26690}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(EQ(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26697,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26717,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){rR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26741,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function $j(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(HQ(c[n>>2]|0,26445)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Xq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=Yq(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else rR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1215];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(HQ(w,Ii(c[c[F>>2]>>2]|0,0)|0)|0)?(w=wi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=_q(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;$q(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=ar(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];cr(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((dr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(er(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(er(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Ti(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+64>>2]=1;c[(c[F>>2]|0)+68>>2]=c[1215];c[1215]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Wq(c[E>>2]|0,0,0)|0))Lj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)fr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ak(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Wq(c[g>>2]|0,84,150)|0;else c[h>>2]=rh(0,84,0)|0;if(!(c[h>>2]|0)){lh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}xj((c[h>>2]|0)+8|0);xj((c[h>>2]|0)+24|0);xj((c[h>>2]|0)+40|0);xj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,26439,2)|0;if((c[e>>2]|0)!=7){i=d;return}lh(c[b>>2]|0);i=d;return}function ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[382]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>>>0>=(c[382]|0)>>>0){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[383]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=Ob[c[h>>2]&255](c[b>>2]|0,j,4004)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];jg(l,a,26400,g);c[d>>2]=0}Kd(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;ek(h);c[j>>2]=fk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}gk(g);hk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)ik(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((jk(c[e>>2]|0,21055,7,c[g>>2]|0)|0)==0?(jk(c[e>>2]|0,21062,7,c[f>>2]|0)|0)==0:0)?(jk(c[e>>2]|0,21069,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=kk(c[d>>2]|0,c[e>>2]|0,21079)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21094,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21102,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21110,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21110,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21120,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,21129,1716,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,21134,1716,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=mk(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){nk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function ek(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2336;i=b;return}function fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,26051,2244,0)|0;i=d;return c[b>>2]|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2216;i=b;return}function hk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2188;i=b;return}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function jk(b,d,e,f){b=b|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,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Fk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Gk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))_p(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?($p(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?($p(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=aq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=aq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){rR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}ok(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;bq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function lk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];nk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,21139,1808,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function nk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;ok(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[e>>2]|0)+12>>2]|0);ok(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function ok(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,21152)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ak(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=21055;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Bk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function qk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];zk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=ae(c[c[k>>2]>>2]|0)|0;c[l>>2]=be(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}rR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=vk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}zk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function wk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{ne(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{ke(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{ke(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function zk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(KQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=KQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];rR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Mk(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=KQ(c[g>>2]|0)|0;c[k>>2]=Ck(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Dk(o,21203,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Ek(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Fk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Gk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Gk(b,d,e,f){b=b|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;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Hk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=LQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=EQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=KQ(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Mk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Nk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Ok(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Pk(b,e){b=b|0;e=e|0;var f=0,g=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;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Hp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Ip(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=24232;else c[e>>2]=24237;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;ll(f,a,24432,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;ll(f,o,24469,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;ll(f,o,24507,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;ll(f,o,24543,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;ll(f,o,24580,j);if(!(c[f>>2]|0)){o=Qk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Yd(c[(c[d>>2]|0)+8>>2]|0)|0;ep(c[(c[d>>2]|0)+12>>2]|0);Gp(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);xm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Uk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Yd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);xm(c[(c[w>>2]|0)+92>>2]|0);ep(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=fp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=fp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=ae(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(fe(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=de(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=gp(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=hp(c[w>>2]|0)|0;wm(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?24232:24237;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(24241,A)|0}else{A=(d[l+52>>0]|0)!=0?24232:24237;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(24303,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Dn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Pe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Vk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Vk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=dp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(ue(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Zd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=Ee(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Wk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;le(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){ge(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;le(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=rn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=De(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;ke(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ze(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;pe(m,Ge(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Eo(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function _k(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=jl(c[d>>2]|0)|0;i=b;return a|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=kl(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=co(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=eo(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;wm(c[e>>2]|0);i=g;return c[f>>2]|0}function al(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function bl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];hl(c[d>>2]|0);i=b;return 0}function cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;j=m+64|0;n=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[n>>2]=e;e=c[n>>2]|0;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[515];c[l+4>>2]=c[516];c[l+8>>2]=c[517];c[l+12>>2]=c[518];c[l+16>>2]=c[519];c[l+20>>2]=c[520];c[l+24>>2]=c[521];c[l+28>>2]=c[522];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}n=(HQ(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(n){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;n=c[j>>2]|0;i=m;return n|0}else if((b|0)==6){c[j>>2]=0;n=c[j>>2]|0;i=m;return n|0}return 0}function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=jl(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=kl(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;ll(h,p,21225,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;ll(h,p,21278,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;ll(h,p,21331,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;ll(h,p,21378,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;ll(h,p,21432,l);i=o;return c[h>>2]|0}function el(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=$k(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function fl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];hl(c[e>>2]|0);i=d;return 0}function hl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];il(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}nk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function il(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function jl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23789;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(ue(c[g>>2]|0)|0)==100&1,c[h>>2]=Yd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function kl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ml(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}hl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=nl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Le(c[g>>2]|0,1,2)|0;c[h>>2]=ue(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=De(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Zd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ol(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=pl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=sl(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=tl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=ul(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=vl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=wl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=xl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);yl(c[q>>2]|0);zl(l);i=s;return c[r>>2]|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;rR(f|0,1900,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Re(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Pe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ol(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=hm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=nl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(m,1,e,C)|0;e=c[l>>2]|0;m=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(e,2,m,C)|0;if(100==(ue(c[l>>2]|0)|0)){e=Ee(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Zd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=AR(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=pR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=AR(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=pR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function rl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=nl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(a,1,f,C)|0;if(100==(ue(c[n>>2]|0)|0))c[m>>2]=De(c[n>>2]|0,0)|0;c[o>>2]=Zd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=fm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function tl(b,e){b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ol(c[G>>2]|0);else c[H>>2]=Pl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(EQ(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(EQ(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Sl(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Tl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Ul(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Ul(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Vl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=oR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=oR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Hl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Wl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Il(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;rR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Rl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function ul(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=nl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(ue(c[w>>2]|0)|0)){e=Ee(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Zd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Kl(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Hl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Hl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Hl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=pR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Dl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Ll(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Hl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Hl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=pR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;rR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;rR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);rR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function vl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Jl(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=nl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Me(p,1,a,C)|0;a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Me(a,2,p,C)|0}}else{c[r>>2]=nl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Me(a,1,p,C)|0}}if(!(c[r>>2]|0)){ue(c[q>>2]|0)|0;c[r>>2]=Zd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function wl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=pR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Dl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=El(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=nl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=yR(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=pR(f|0,C|0,1,0)|0;f=AR(f|0,C|0,1024,0)|0;f=oR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=AR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=yR(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=pR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Me(j,1,a,C)|0;a=n;Me(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(ue(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;Cl(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Zd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Me(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(ue(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Le(a,1,u)|0;u=c[r>>2]|0;Le(u,2,De(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Le(u,3,De(c[q>>2]|0,1)|0)|0;ue(c[r>>2]|0)|0;c[t>>2]=Zd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Zd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Zd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Me(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;ue(c[s>>2]|0)|0;c[t>>2]=Zd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function yl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Bl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function zl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Al(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Al(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Bl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function Cl(a,b,e,f){a=a|0;b=b|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;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Fe(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=AR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=pR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=AR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=pR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=AR(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Dl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=nl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Me(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Je(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function El(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Gl(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=oR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Gl(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Dl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=pR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=pR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=El(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Fl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=nl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Me(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Le(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Me(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Me(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Me(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23761,B)|0;if(c[C>>2]|0){Oe(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Je(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;ue(c[z>>2]|0)|0;c[A>>2]=Zd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Hl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Il((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=qR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=qR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=nl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Me(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Me(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;ue(c[f>>2]|0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Kl(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Hl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Hl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;rR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];rR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Ll(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Ll(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ol(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Pl(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){rR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ol(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=pR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=em(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}rR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=EQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=EQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);rR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Tl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;_l(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=am(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=Yl(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ul(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}_l(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=$l(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=am(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(Yl(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=oR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=pR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Vl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=Zl(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}tR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Wl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Xl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=Yl(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Xl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];rR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=uR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=pR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function _l(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;cm(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=AR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=oR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];dm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=Yl(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=AR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=pR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];bm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function $l(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=$l(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];rR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];Yl(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function em(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23771,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23783,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function fm(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Pl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=gm(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ol(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Rl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=EQ(a,d,c[g>>2]|0)|0;else c[h>>2]=EQ(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function hm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=im(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=jm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=km(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=ue(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=Ee(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=Ee(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=Ee(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Be(c[A>>2]|0,4)|0;c[F>>2]=Ae(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=lm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=mm((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=jm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Zd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(EQ(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)DQ(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Ek(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){tR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;rR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Al(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=nl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(k,1,f,C)|0;f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(f,2,k,C)|0}}else{c[n>>2]=nl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function lm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)Zl(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=nm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=em(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=em(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function mm(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];rR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=oR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function nm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}rR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=EQ(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=pR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=EQ(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=24035;c[n>>2]=24039;c[m>>2]=24044;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){je(d,24055,-1);i=p;return}if(tm(d,21094,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=de(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=de(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=ae(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=ae(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){te(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){ne(d,19010,-1,0);i=p;return}if(rn(d,c[l>>2]|0)|0){i=p;return}Wn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(tm(c[e>>2]|0,21102,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(rn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Sn(c[e>>2]|0,c[f>>2]|0);i=g;return}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(tm(c[e>>2]|0,21120,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Qn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,23939,-1,0);i=j;return}case 101:{ne(c[e>>2]|0,23955,-1,0);i=j;return}default:{re(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(tm(c[e>>2]|0,21110,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;um(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function tm(b,d,e,f){b=b|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;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((fe(c[k>>2]|0)|0)==4?(be(c[k>>2]|0)|0)==4:0){d=$d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23910,n)|0;je(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23845;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){vm(e,c[g>>2]|0,c[j>>2]|0);wm(c[h>>2]|0);i=k;return}else{ge(e,19010,0,0);i=k;return}}function vm(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(HQ(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){xm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=ym(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(zm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Am(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){je(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Bm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Cm(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Dm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Em(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;ge(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}re(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function wm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function xm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function ym(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Lm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Dk(f,23875,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=KQ(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}tR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);rR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Cm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)rR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Dm(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Fm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=Yl(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=yR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=pR(f|0,0,e|0,C|0)|0;f=s;f=yR(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Gm(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=Ae(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=Yl(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Zd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Im(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;tR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Jm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Lm(c[w>>2]|0,154,c[j>>2]|0)|0;Mm(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Lm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Zd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Em(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;rR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Fm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Nn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=Ae(c[n>>2]|0,0)|0;o=Yl(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=Mn(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Lm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Im(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}tR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Lm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Om(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Kn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Kn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Jm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Jm(c[b+12>>2]|0,c[f>>2]|0);Jm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{In(b,c[f>>2]|0);i=g;return}}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Fn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=En(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=rn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=sn(c[d>>2]|0)|0;c[f>>2]=0==(tn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;un(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Om(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Pm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0} +function Ly(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&20){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&1024|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Ry(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(Sy(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+420>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+440>>0];if((c[u>>2]|0)!=109?(ig(30520,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+420>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(30524,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+420>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+432|0;c[h>>2]=c[h>>2]|k;break}else{h=f+436|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Ch(W,30528,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}Fy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,19010,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?30559:30574;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Ch(k,30609,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Ch(k,30619,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Ch(W,30596,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=uR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}dv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;dv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?62:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))Ty(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function My(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=30436;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=30482}else c[l>>2]=30464;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Ch(n,30500,k);i=m;return}function Ny(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Qy(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;gy(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Py(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function Qy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;r=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;q=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[q>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[r>>2]=1;else{c[r>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]|0)+(d[m>>0]|0)+-3;c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((a[c[w>>2]>>0]|0)!=48)break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19011+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=AR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=pR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19011+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=AR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=pR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&4))break b;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=38;c:do if((o|0)==38){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[q>>2]|0)<1e4)j=((c[q>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[q>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=1}}while(0);if((c[A>>2]|0)!=0&(c[y>>2]|0)!=0)while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}}}while(0);r=_(c[q>>2]|0,c[z>>2]|0)|0;c[q>>2]=r+(c[p>>2]|0);if((c[q>>2]|0)<0){c[z>>2]=-1;c[q>>2]=_(c[q>>2]|0,-1)|0}else c[z>>2]=1;r=t;do if((c[r>>2]|0)!=0|(c[r+4>>2]|0)!=0){d:do if((c[z>>2]|0)>0)while(1){r=t;p=c[r+4>>2]|0;if(!((p|0)<214748364|(p|0)==214748364&(c[r>>2]|0)>>>0<3435973836?(c[q>>2]|0)>0:0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=AR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}else while(1){r=t;r=zR(c[r>>2]|0,c[r+4>>2]|0,10,0)|0;if(!((r|0)!=0|(C|0)!=0?0:(c[q>>2]|0)>0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=yR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}while(0);p=(c[u>>2]|0)<0;r=t;o=c[r>>2]|0;r=c[r+4>>2]|0;b=oR(0,0,o|0,r|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:r;if(!(c[q>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[q>>2]|0)>307&(c[q>>2]|0)<342){while(1){if(!((c[q>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}if((c[q>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[q>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}while(1){if((c[q>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[q>>2]=(c[q>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}else h[D>>3]=((c[u>>2]|0)<0?(c[A>>2]|0)!=0:0)?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0:0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Ry(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function Sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function Ty(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Fh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==62)c[q>>2]=c[(c[k>>2]|0)+420>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=20503;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=(Uy(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function Uy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;n=p+16|0;m=p;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;k=p+32|0;o=p+28|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=Sb[c[(c[k>>2]|0)+296>>2]&255](c[(c[k>>2]|0)+300>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+496>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}Tw(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;Ch(e,30626,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;Ch(e,30659,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0}function Vy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=rh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Kv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Mv(q,0,Pv(c[n>>2]|0,158,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-129;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|32768;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function Wy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|32;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&32|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;Wv(l,c[(Yy(c[r>>2]|0)|0)+64>>2]|0,0)}Ox(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(Zy(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(dy(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=rh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Dh(l,30689,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}Mx(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=ex(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(_y(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Fx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=Nx(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;dy(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if($y(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Ch(X,30702,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(az(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==158)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==158:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=158){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==158:0){j=58;break}c[E>>2]=Mv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&1024|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Fh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=26059;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(Ry(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&65536|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(bz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((cz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Pv(c[t>>2]|0,27,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Pv(c[t>>2]|0,27,c[W>>2]|0)|0;c[B>>2]=xv(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Pv(c[t>>2]|0,27,c[U>>2]|0)|0;c[B>>2]=xv(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Dh(p,30741,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Mv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Iy(L,c[S>>2]|0);Nv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&1024))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=ph(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Dh(h,30747,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Ch(h,30756,O);break}else{Ch(h,30774,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}$u(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+92+8>>2]|0):0){Ch(c[F>>2]|0,30794,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Yy(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+536>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function Yy(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function Zy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=qz(c[(c[y>>2]|0)+536>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Ch(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(_y(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=rh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=ph(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=Nx(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Ch(A,31035,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=31078;c[z>>2]=c[(c[y>>2]|0)+536>>2];c[(c[y>>2]|0)+536>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;dy(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+536>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Ch(A,31101,u);c[(c[y>>2]|0)+536>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}Mx(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=31139;else c[g>>2]=31173;dy(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+536>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function _y(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ch(a,31012,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function $y(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Ch(k,30994,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function az(a,e){a=a|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(bz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)ez(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)fz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=gz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=dz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(bz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}ez(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Ch(B,30825,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Ch(c[x>>2]|0,30875,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Ch(z,30930,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function bz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=dz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function dz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function ez(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=pz(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=pz(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=xv(c[s>>2]|0,79,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=gz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=gz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function fz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;fz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);fz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((hz(b)|0)==0?(hz(c[h>>2]|0)|0)==0:0){c[j>>2]=iz(c[f>>2]|0,72,0,0)|0;jz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}dv(c[f>>2]|0,c[g>>2]|0);dv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=iz(c[f>>2]|0,132,5108,0)|0;j=c[e>>2]|0;i=k;return j|0}function hz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(qy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function iz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;p=q+12|0;o=q+8|0;n=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;c[n>>2]=0;do if(c[k>>2]|0){if(((c[j>>2]|0)==132?(c[c[k>>2]>>2]|0)!=0:0)?(Oi(c[c[k>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Lw(c[h>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}h=c[p>>2]|0;d=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(d|0));a[c[p>>2]>>0]=c[j>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[k>>2]|0){h=c[p>>2]|0;if(!(c[o>>2]|0)){o=h+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=h+48;if(c[(c[k>>2]|0)+4>>2]|0)rR(c[(c[p>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;if(((c[l>>2]|0)!=0&(c[o>>2]|0)>=3?(o=a[c[c[k>>2]>>2]>>0]|0,c[m>>2]=o,(o|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(Pw(c[(c[p>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){dv(c[f>>2]|0,c[h>>2]|0);dv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}kz(c[g>>2]|0);i=k;return}function kz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;lz(c[(c[b>>2]|0)+12>>2]|0,d);lz(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){nz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(oz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else mz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}lz(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);lz(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);lz(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);lz(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);nz(c[c[d>>2]>>2]|0,c[e>>2]|0);nz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);nz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);mz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;lz(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function pz(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=iz(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=uR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function qz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function rz(a,e,f){a=a|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,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Lw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=ph(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=By(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=Nx(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=ty(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=tz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=rh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Nx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=By(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=ph(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Lw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Lw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=ph(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function uz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Dh(M,31238,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Dh(n,18999,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=rh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)lh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=31310;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Dh(K,L,B)|0;c[c[G>>2]>>2]=L;nu(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=ti((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,19010)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(31356,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Dh(e,31280,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Dh(e,18999,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function vz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+144+5>>0]|0))c[f>>2]=qi(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];gx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+72>>2];a=(c[d>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+3;Az(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+72>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Bz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Cz(c[d>>2]|0,c[e>>2]|0);i=l;return}function xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Jw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=li(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;gx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+72>>2];d=(c[e>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Az(d,a,b,c[c[g>>2]>>2]|0,31442);else Az(d,a,b,c[c[f>>2]>>2]|0,31446);Bz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+76>>2]|0)+1|0,c[(c[e>>2]|0)+72>>2]|0);Cz(c[e>>2]|0,c[h>>2]|0);i=k;return}function zz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+144|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Ch(c[j>>2]|0,31405,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=xz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ch(p,31422,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Az(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=Vw(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[5228+(c[q>>2]<<3)>>2];g=ri(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[5228+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[5228+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;Uw(g,31503,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+396>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Ez(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;Uw(g,31526,v);break}else{Xw(c[t>>2]|0,119,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[5228+(c[q>>2]<<3)+4>>2]|0))break;Gh(c[t>>2]|0,55,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Hh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Bz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+76>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+76>>2]=l;c[O>>2]=Vw(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(31450,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Fh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(Sw(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Ez(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+72>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+72>>2]=l;Fz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,54);Zw(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}Zw(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+76>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+76>>2]=l;$w(c[O>>2]|0,54,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Gz(c[n>>2]|0,c[F>>2]|0);Xw(c[O>>2]|0,22,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;Xw(c[O>>2]|0,22,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;_w(c[O>>2]|0,35,0,(c[L>>2]|0)+1|0,c[L>>2]|0,5124,-5)|0;Hh(c[O>>2]|0,2);c[t>>2]=Dz(c[O>>2]|0,108,c[y>>2]|0)|0;Xw(c[O>>2]|0,22,0,c[G>>2]|0)|0;c[s>>2]=Hz(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Iz(c[O>>2]|0)|0;c[r>>2]=Lw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;cx(c[O>>2]|0,13)|0;c[s>>2]=Hz(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)Xw(c[O>>2]|0,77,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Jz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;Xw(c[O>>2]|0,22,c[w>>2]|0,c[G>>2]|0)|0;$w(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=_w(c[O>>2]|0,78,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Hh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}Xw(c[O>>2]|0,22,c[C>>2]|0,c[G>>2]|0)|0;Kz(c[O>>2]|0,c[v>>2]|0)|0;Lz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Lz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);$w(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Mz(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}_w(c[O>>2]|0,35,1,c[L>>2]|0,c[N>>2]|0,5152,-5)|0;Hh(c[O>>2]|0,2);Xw(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;Nz(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);_w(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31459,0)|0;Xw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;$w(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Lz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}Xw(c[O>>2]|0,50,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Dz(c[O>>2]|0,46,c[K>>2]|0)|0;Xw(c[O>>2]|0,25,0,c[H>>2]|0)|0;_w(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31459,0)|0;Xw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;$w(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Lz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Vw(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Dz(c[e>>2]|0,124,c[d>>2]|0)|0;i=f;return}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=$w(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Ez(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+404>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+404>>2]|0)+1<<4;e=c[k>>2]|0;e=Bx(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+408>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+408>>2]=e;e=(c[q>>2]|0)+404|0;if(c[(c[q>>2]|0)+408>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;lh(c[c[q>>2]>>2]|0);i=s;return}}function Fz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=Vw(c[j>>2]|0)|0;Ez(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Gh(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Hj(c[m>>2]|0)|0;$w(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Gz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Kh(a,-1,Vz(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Hz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Iz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+116|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Bx(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+120>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+120>>2]=f}if(!(c[(c[d>>2]|0)+120>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+120>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Jz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+144+5>>0]|0;c[j>>2]=Qj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=Vx(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=$w(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+24>>2]|0)+96>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;Rz(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);i=d;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if(c[(c[f>>2]|0)+120>>2]|0)c[(c[(c[f>>2]|0)+120>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+96>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;_w(c[g>>2]|0,35,0,c[j>>2]|0,c[h>>2]|0,5180,-5)|0;Hh(c[g>>2]|0,1);i=f;return}function Oz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=$d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){te(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,31472,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=pR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=oR(p|0,C|0,1,0)|0;d=h;d=BR(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,31477,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}ne(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;c[f>>2]=de(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Qz(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Qz(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Sz(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function Sz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=5208;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=de(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=de(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=we(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=rh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){te(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);ge(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function Uz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Vz(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+68>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=Wz(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=Wz(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==35343)f=0;else f=Jz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0){Xz(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Wz(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=$f(24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;tR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{lh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Xz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(0,c[b>>2]|0);i=d;return}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];Zz(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(nB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;gx(c[e>>2]|0,0,c[h>>2]|0);_z(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function _z(a,b,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Fh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Sw(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Ez(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=Vw(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=Vz(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;_w(b,58,a,0,y,$z(c[k>>2]|0)|0,-6)|0;Fz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,54);c[p>>2]=Xw(c[w>>2]|0,108,c[t>>2]|0,0)|0;c[v>>2]=aA(c[n>>2]|0)|0;bA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;Xw(c[w>>2]|0,109,c[s>>2]|0,c[v>>2]|0)|0;cA(c[n>>2]|0,c[j>>2]|0);Xw(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Lz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)Xw(c[w>>2]|0,119,c[m>>2]|0,c[h>>2]|0)|0;_w(c[w>>2]|0,55,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Hh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=Xw(c[w>>2]|0,106,c[s>>2]|0,0)|0;y=(c[k>>2]|0)!=0?(d[(c[o>>2]|0)+54>>0]|0|0)!=0:0;g=Hz(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Kz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=Hz(c[w>>2]|0)|0;Gh(c[w>>2]|0,99,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;dA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;$w(c[w>>2]|0,100,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;$w(c[w>>2]|0,105,c[r>>2]|0,0,-1)|0;$w(c[w>>2]|0,110,c[r>>2]|0,c[v>>2]|0,0)|0;Hh(c[w>>2]|0,16);eA(c[n>>2]|0,c[v>>2]|0);Xw(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Lz(c[w>>2]|0,c[p>>2]|0);Dz(c[w>>2]|0,61,c[t>>2]|0)|0;Dz(c[w>>2]|0,61,c[r>>2]|0)|0;Dz(c[w>>2]|0,61,c[s>>2]|0)|0;i=x;return}function $z(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function aA(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+76|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+28+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function bA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Iz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+104>>2]=c[q>>2];oA(c[o>>2]|0);pA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=qA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){rA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);sA(c[x>>2]|0,39)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;tA(t,u,x);x=c[w>>2]|0;i=y;return x|0}$w(c[x>>2]|0,49,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;tA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function cA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Mz(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);mA(c[d>>2]|0);i=f;return}function dA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];fA(l,31641,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;hA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)gA(l,31652,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;fA(l,30741,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;hA(o,p,q,r,-1,2);i=s;return}function eA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+124;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+28+((j&255)<<2)>>2]=h;i=k;return}}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function gA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){iA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);rR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function hA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=Vw(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Hx(c[j>>2]|0);_w(c[p>>2]|0,21,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Hh(c[p>>2]|0,a[o>>0]|0);i=q;return}function iA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=jA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}rR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function jA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;kA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=pR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=pR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=pR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){lA(c[j>>2]|0);kA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Kw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){lA(e);kA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)rR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=fu(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function kA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function lA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function mA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+108>>2]|0):0){nA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function nA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=h;return}if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+28+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=h;return}function oA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function pA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=ty(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;dv(a,n);i=m;return}RA(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;dv(a,n);i=m;return}function qA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+64>>2];c[h>>2]=c[(c[d>>2]|0)+60>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;h=(c[d>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function rA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+104>>2]=c[k>>2];yA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{zA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function sA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+96>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=vA(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;uA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+60>>2]|0)){i=h;return}c[(c[e>>2]|0)+60>>2]=c[g>>2];c[(c[e>>2]|0)+64>>2]=c[f>>2];i=h;return}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;m=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[h>>2]=(c[f>>2]|0)+(c[m>>2]|0)-1;c[g>>2]=0;c[j>>2]=(c[e>>2]|0)+124;while(1){if((c[g>>2]|0)>=10)break;c[k>>2]=c[(c[j>>2]|0)+12>>2];if((c[k>>2]|0)>=(c[f>>2]|0)?(c[k>>2]|0)<=(c[h>>2]|0):0){nA(c[e>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+12>>2]=0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=l;return}function vA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);wA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-96;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function wA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}switch(c[e>>2]|0){case -20:{xA(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(c[(c[g>>2]|0)+456>>2]|0){i=j;return}Xz(c[f>>2]|0);i=j;return}case -11:{if(c[(c[g>>2]|0)+456>>2]|0){i=j;return}Kd(c[f>>2]|0);i=j;return}case -5:{xA(c[g>>2]|0,c[f>>2]|0);i=j;return}case -8:{e=c[f>>2]|0;if(!(c[(c[g>>2]|0)+456>>2]|0)){bh(e);i=j;return}c[h>>2]=e;if(c[(c[h>>2]|0)+24>>2]|0)Tf(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}case -10:{if(c[(c[g>>2]|0)+456>>2]|0){i=j;return}nu(c[f>>2]|0);i=j;return}default:{i=j;return}}Tf(c[g>>2]|0,c[f>>2]|0);i=j;return}function xA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function yA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=ty(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;dv(b,e);i=k;return}DA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;dv(b,e);i=k;return}function zA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?153:47;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+42>>0]&32){a=Hj(c[k>>2]|0)|0;c[p>>2]=(AA(a,c[m>>2]&65535)|0)<<16>>16}$w(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else Xw(c[j>>2]|0,103,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}BA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function AA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function BA(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(CA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=CA(c[g>>2]|0)|0;jx(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Kh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Dz(c[g>>2]|0,39,c[k>>2]|0)|0;i=o;return}function CA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function DA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){Xw(c[(c[f>>2]|0)+8>>2]|0,30,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=EA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}Xw(c[(c[f>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function EA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=i;i=i+320|0;C=ka+16|0;G=ka+8|0;B=ka;ca=ka+300|0;da=ka+296|0;I=ka+292|0;ea=ka+288|0;ia=ka+284|0;o=ka+280|0;fa=ka+276|0;ga=ka+272|0;ha=ka+268|0;Q=ka+264|0;y=ka+260|0;z=ka+256|0;A=ka+252|0;K=ka+248|0;T=ka+200|0;q=ka+196|0;r=ka+192|0;m=ka+188|0;n=ka+184|0;D=ka+180|0;E=ka+176|0;u=ka+172|0;j=ka+168|0;s=ka+164|0;S=ka+160|0;R=ka+156|0;P=ka+152|0;H=ka+148|0;J=ka+144|0;N=ka+140|0;F=ka+305|0;O=ka+136|0;L=ka+132|0;M=ka+304|0;k=ka+128|0;l=ka+124|0;v=ka+120|0;t=ka+116|0;w=ka+112|0;x=ka+108|0;p=ka+104|0;V=ka+100|0;Y=ka+96|0;X=ka+92|0;W=ka+88|0;$=ka+84|0;U=ka+80|0;Z=ka+32|0;ba=ka+24|0;aa=ka+20|0;c[da>>2]=f;c[I>>2]=g;c[ea>>2]=h;c[ia>>2]=c[(c[da>>2]|0)+8>>2];c[fa>>2]=c[ea>>2];c[ga>>2]=0;c[ha>>2]=0;c[K>>2]=c[c[da>>2]>>2];if(!(c[ia>>2]|0)){c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if(!(c[I>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[I>>2]>>0];a:do switch(c[o>>2]|0){case 154:{c[q>>2]=c[(c[I>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[fa>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)$w(c[ia>>2]|0,47,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;else ja=11;break}case 152:{ja=11;break}case 132:{GA(c[da>>2]|0,c[I>>2]|0,0,c[ea>>2]|0);break}case 133:{HA(c[ia>>2]|0,c[(c[I>>2]|0)+8>>2]|0,0,c[ea>>2]|0);break}case 97:{Zw(c[ia>>2]|0,c[ea>>2]|0,c[(c[I>>2]|0)+8>>2]|0)|0;break}case 101:{Xw(c[ia>>2]|0,25,0,c[ea>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[I>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[D>>2]|0)|0)-1;c[E>>2]=ux(CA(c[ia>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;_w(c[ia>>2]|0,27,(c[n>>2]|0)/2|0,c[ea>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{Xw(c[ia>>2]|0,28,b[(c[I>>2]|0)+32>>1]|0,c[ea>>2]|0)|0;if(a[(c[(c[I>>2]|0)+8>>2]|0)+1>>0]|0)Kh(c[ia>>2]|0,-1,c[(c[(c[da>>2]|0)+476>>2]|0)+((b[(c[I>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{c[fa>>2]=c[(c[I>>2]|0)+28>>2];break}case 38:{c[fa>>2]=EA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;if((c[fa>>2]|0)!=(c[ea>>2]|0)){Xw(c[ia>>2]|0,31,c[fa>>2]|0,c[ea>>2]|0)|0;c[fa>>2]=c[ea>>2]}Xw(c[ia>>2]|0,40,c[ea>>2]|0,(px(c[(c[I>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;IA(c[da>>2]|0,c[fa>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;KA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,32)|0;break}case 148:case 73:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;KA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;$w(c[ia>>2]|0,c[o>>2]|0,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}case 155:{c[u>>2]=c[(c[I>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){HA(c[ia>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[ea>>2]|0);break}else{a[T>>0]=-124;c[T+4>>2]=17408;c[T+8>>2]=0;c[Q>>2]=JA(c[da>>2]|0,T,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ha)|0;$w(c[ia>>2]|0,90,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}else GA(c[da>>2]|0,c[u>>2]|0,1,c[ea>>2]|0);while(0);c[fa>>2]=c[ea>>2];break}case 19:case 96:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[fa>>2]=c[ea>>2];Xw(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[fa>>2]|0)|0;break}case 77:case 76:{Xw(c[ia>>2]|0,22,1,c[ea>>2]|0)|0;c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[j>>2]=Dz(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0)|0;Xw(c[ia>>2]|0,22,0,c[ea>>2]|0)|0;Lz(c[ia>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[I>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[da>>2]|0;c[B>>2]=c[(c[I>>2]|0)+8>>2];Ch(ia,31655,B);break a}else{c[fa>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[I>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{c[J>>2]=0;a[F>>0]=a[(c[K>>2]|0)+66>>0]|0;c[O>>2]=0;if(c[(c[I>>2]|0)+4>>2]&16384)c[S>>2]=0;else c[S>>2]=c[(c[I>>2]|0)+20>>2];if(c[S>>2]|0)j=c[c[S>>2]>>2]|0;else j=0;c[R>>2]=j;c[H>>2]=c[(c[I>>2]|0)+8>>2];c[P>>2]=ii(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,a[F>>0]|0,0)|0;if((c[P>>2]|0)!=0?(c[(c[P>>2]|0)+16>>2]|0)==0:0){if(e[(c[P>>2]|0)+2>>1]&512){c[L>>2]=Iz(c[ia>>2]|0)|0;DA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0);c[N>>2]=1;while(1){j=c[ia>>2]|0;if((c[N>>2]|0)>=(c[R>>2]|0))break;Xw(j,77,c[ea>>2]|0,c[L>>2]|0)|0;uA(c[da>>2]|0,c[ea>>2]|0,1);oA(c[da>>2]|0);DA(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0,c[ea>>2]|0);mA(c[da>>2]|0);c[N>>2]=(c[N>>2]|0)+1}Mz(j,c[L>>2]|0);break a}if(e[(c[P>>2]|0)+2>>1]&1024){c[fa>>2]=EA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0)|0;break a}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[R>>2]|0))break;if((c[N>>2]|0)<32?(LA(c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[J>>2]=c[J>>2]|1<>2];if(!((c[O>>2]|0)!=0?1:(e[(c[P>>2]|0)+2>>1]&32|0)==0))c[O>>2]=Ux(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}if(c[S>>2]|0){j=c[da>>2]|0;if(c[J>>2]|0){c[Q>>2]=(c[j+76>>2]|0)+1;ba=(c[da>>2]|0)+76|0;c[ba>>2]=(c[ba>>2]|0)+(c[R>>2]|0)}else c[Q>>2]=qA(j,c[R>>2]|0)|0;do if(e[(c[P>>2]|0)+2>>1]&192){a[M>>0]=a[c[c[(c[S>>2]|0)+4>>2]>>2]>>0]|0;if((d[M>>0]|0)!=152?(d[M>>0]|0)!=154:0)break;a[(c[c[(c[S>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[P>>2]|0)+2>>1]&192}while(0);oA(c[da>>2]|0);MA(c[da>>2]|0,c[S>>2]|0,c[Q>>2]|0,0,3)|0;mA(c[da>>2]|0)}else c[Q>>2]=0;if((c[R>>2]|0)>=2?(c[(c[I>>2]|0)+4>>2]&128|0)!=0:0)c[P>>2]=NA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ja=77;if((ja|0)==77?(c[R>>2]|0)>0:0)c[P>>2]=NA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[P>>2]|0)+2>>1]&32){if(!(c[O>>2]|0))c[O>>2]=c[(c[K>>2]|0)+8>>2];_w(c[ia>>2]|0,34,0,0,0,c[O>>2]|0,-4)|0}_w(c[ia>>2]|0,35,c[J>>2]|0,c[Q>>2]|0,c[ea>>2]|0,c[P>>2]|0,-5)|0;Hh(c[ia>>2]|0,c[R>>2]&255);if(!((c[R>>2]|0)!=0&(c[J>>2]|0)==0))break a;tA(c[da>>2]|0,c[Q>>2]|0,c[R>>2]|0);break a}ia=c[da>>2]|0;c[G>>2]=c[H>>2];Ch(ia,31681,G);break}case 119:case 20:{c[fa>>2]=OA(c[da>>2]|0,c[I>>2]|0,0,0)|0;break}case 75:{c[k>>2]=Iz(c[ia>>2]|0)|0;c[l>>2]=Iz(c[ia>>2]|0)|0;Xw(c[ia>>2]|0,25,0,c[ea>>2]|0)|0;PA(c[da>>2]|0,c[I>>2]|0,c[k>>2]|0,c[l>>2]|0);Xw(c[ia>>2]|0,22,1,c[ea>>2]|0)|0;Mz(c[ia>>2]|0,c[k>>2]|0);Xw(c[ia>>2]|0,37,c[ea>>2]|0,0)|0;Mz(c[ia>>2]|0,c[l>>2]|0);break}case 74:{c[v>>2]=c[(c[I>>2]|0)+12>>2];c[t>>2]=c[(c[(c[I>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[Q>>2]=JA(c[da>>2]|0,c[v>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[w>>2]|0,ha)|0;c[z>>2]=aA(c[da>>2]|0)|0;c[A>>2]=aA(c[da>>2]|0)|0;KA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,83,c[Q>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];eA(c[da>>2]|0,c[ha>>2]|0);c[y>>2]=JA(c[da>>2]|0,c[w>>2]|0,ha)|0;KA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,81,c[Q>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;$w(c[ia>>2]|0,72,c[z>>2]|0,c[A>>2]|0,c[ea>>2]|0)|0;eA(c[da>>2]|0,c[z>>2]|0);eA(c[da>>2]|0,c[A>>2]|0);break}case 156:case 95:case 159:{c[fa>>2]=EA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;break}case 62:{c[x>>2]=c[(c[I>>2]|0)+44>>2];c[p>>2]=(_(c[(c[I>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[I>>2]|0)+32>>1]|0);Xw(c[ia>>2]|0,134,c[p>>2]|0,c[ea>>2]|0)|0;if((b[(c[I>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+(b[(c[I>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Dz(c[ia>>2]|0,39,c[ea>>2]|0)|0;break}case 57:{if(!(c[(c[da>>2]|0)+420>>2]|0)){Ch(c[da>>2]|0,31704,C);c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if((a[(c[I>>2]|0)+1>>0]|0)==2)Hx(c[da>>2]|0);if((a[(c[I>>2]|0)+1>>0]|0)==4){_w(c[ia>>2]|0,21,0,4,0,c[(c[I>>2]|0)+8>>2]|0,0)|0;break a}else{hA(c[da>>2]|0,1811,a[(c[I>>2]|0)+1>>0]|0,c[(c[I>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[$>>2]=c[(c[I>>2]|0)+20>>2];c[U>>2]=c[(c[$>>2]|0)+4>>2];c[X>>2]=c[c[$>>2]>>2];c[V>>2]=Iz(c[ia>>2]|0)|0;S=c[(c[I>>2]|0)+12>>2]|0;c[ba>>2]=S;if(S){j=T;k=c[ba>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));QA(T,JA(c[da>>2]|0,c[ba>>2]|0,ga)|0);a[Z>>0]=79;c[Z+12>>2]=T;c[aa>>2]=Z;c[ga>>2]=0}c[W>>2]=0;while(1){if((c[W>>2]|0)>=((c[X>>2]|0)-1|0))break;oA(c[da>>2]|0);j=c[(c[U>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0;if(c[ba>>2]|0)c[Z+16>>2]=j;else c[aa>>2]=j;c[Y>>2]=Iz(c[ia>>2]|0)|0;RA(c[da>>2]|0,c[aa>>2]|0,c[Y>>2]|0,16);DA(c[da>>2]|0,c[(c[U>>2]|0)+(((c[W>>2]|0)+1|0)*20|0)>>2]|0,c[ea>>2]|0);Kz(c[ia>>2]|0,c[V>>2]|0)|0;mA(c[da>>2]|0);Mz(c[ia>>2]|0,c[Y>>2]|0);c[W>>2]=(c[W>>2]|0)+2}if(c[X>>2]&1){oA(c[da>>2]|0);DA(c[da>>2]|0,c[(c[(c[$>>2]|0)+4>>2]|0)+(((c[X>>2]|0)-1|0)*20|0)>>2]|0,c[ea>>2]|0);mA(c[da>>2]|0)}else Xw(c[ia>>2]|0,25,0,c[ea>>2]|0)|0;Mz(c[ia>>2]|0,c[V>>2]|0)}}while(0);b:do if((ja|0)==11){c[m>>2]=c[(c[I>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[da>>2]|0)+100>>2]|0)>0){c[fa>>2]=(b[(c[I>>2]|0)+32>>1]|0)+(c[(c[da>>2]|0)+100>>2]|0);break b}else{c[m>>2]=c[(c[da>>2]|0)+104>>2];break}while(0);c[fa>>2]=FA(c[da>>2]|0,c[(c[I>>2]|0)+44>>2]|0,b[(c[I>>2]|0)+32>>1]|0,c[m>>2]|0,c[ea>>2]|0,a[(c[I>>2]|0)+38>>0]|0)|0}while(0);eA(c[da>>2]|0,c[ga>>2]|0);eA(c[da>>2]|0,c[ha>>2]|0);c[ca>>2]=c[fa>>2];ja=c[ca>>2]|0;i=ka;return ja|0}function FA(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+36|0;t=v+8|0;r=v+4|0;s=v;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+124;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+112|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;lB(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}zA(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)Hh(c[t>>2]|0,a[q>>0]|0);else mB(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function GA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);Xw(c[l>>2]|0,22,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Fi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31803,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Ch(q,31806,n);i=p;return}else{HA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=oR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}kB(c[l>>2]|0,23,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function HA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;Qy(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];kB(c[f>>2]|0,133,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;uA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function JA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=Zx(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(jB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+324>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(vy(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+76|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;eB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=aA(c[g>>2]|0)|0;c[o>>2]=EA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{eA(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function KA(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=$A(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(iB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=_w(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Hh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function LA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fB(c[d>>2]|0,1,0)|0;i=b;return a|0}function MA(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?30:31;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)Xw(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?(LA(c[u>>2]|0)|0)!=0:0){eB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=EA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==30?(g=Sz(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==30):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}Xw(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function NA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+56|0;l=z+52|0;m=z+48|0;n=z+44|0;o=z+40|0;t=z+36|0;u=z+32|0;r=z+28|0;w=z+24|0;q=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;p=z;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[w>>2]=0;c[q>>2]=0;c[v>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[t>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if(!(d[(c[t>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[u>>2]=c[(Gx(c[l>>2]|0,c[t>>2]|0)|0)+8>>2];c[r>>2]=c[c[u>>2]>>2];if(!(c[(c[r>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[y>>2]=ph(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[y>>2]|0){c[x>>2]=c[y>>2];while(1){if(!(a[c[x>>2]>>0]|0))break;a[c[x>>2]>>0]=a[18221+(d[c[x>>2]>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}r=c[(c[r>>2]|0)+72>>2]|0;t=c[u>>2]|0;u=c[n>>2]|0;x=c[y>>2]|0;c[p>>2]=w;c[v>>2]=Zb[r&255](t,u,x,c[p>>2]|0,q)|0;Tf(c[l>>2]|0,c[y>>2]|0)}if(!(c[v>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}y=c[l>>2]|0;c[s>>2]=rh(y,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}else{x=c[s>>2]|0;y=c[m>>2]|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[(c[s>>2]|0)+20>>2]=(c[s>>2]|0)+28;x=(c[s>>2]|0)+28|0;y=c[(c[m>>2]|0)+20>>2]|0;rR(x|0,y|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[s>>2]|0)+12>>2]=c[w>>2];c[(c[s>>2]|0)+4>>2]=c[q>>2];y=(c[s>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[k>>2]=c[s>>2];y=c[k>>2]|0;i=z;return y|0}return 0}function OA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;h=K;r=K+140|0;s=K+136|0;t=K+132|0;u=K+128|0;v=K+124|0;A=K+120|0;H=K+116|0;I=K+112|0;j=K+108|0;x=K+144|0;w=K+104|0;l=K+100|0;D=K+96|0;q=K+92|0;n=K+72|0;o=K+68|0;y=K+64|0;p=K+60|0;C=K+56|0;E=K+52|0;F=K+48|0;G=K+44|0;B=K+40|0;z=K+36|0;m=K+32|0;k=K+12|0;c[s>>2]=b;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[A>>2]=-1;c[H>>2]=0;c[I>>2]=Vw(c[s>>2]|0)|0;if(!(c[I>>2]|0)){c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}oA(c[s>>2]|0);if(!(c[(c[t>>2]|0)+4>>2]&32))c[A>>2]=_A(c[s>>2]|0)|0;if((d[(c[s>>2]|0)+453>>0]|0)==2){f=c[c[s>>2]>>2]|0;e=(d[c[t>>2]>>0]|0)==75?31766:31771;b=c[(c[s>>2]|0)+472>>2]|0;c[h>>2]=(c[A>>2]|0)>=0?19010:31754;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Dh(f,31778,h)|0;_w(c[I>>2]|0,161,c[(c[s>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[t>>2]|0;do if((d[c[t>>2]>>0]|0)==75){c[l>>2]=c[g+12>>2];c[D>>2]=0;a[x>>0]=Tx(c[l>>2]|0)|0;l=(c[s>>2]|0)+72|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[t>>2]|0)+28>>2]=m;c[w>>2]=Xw(c[I>>2]|0,57,c[(c[t>>2]|0)+28>>2]|0,((c[v>>2]|0)!=0^1)&1)|0;if(c[v>>2]|0)g=0;else g=Wz(c[c[s>>2]>>2]|0,1,1)|0;c[D>>2]=g;g=(c[t>>2]|0)+20|0;do if(!(c[(c[t>>2]|0)+4>>2]&2048)){if(c[g>>2]|0){c[p>>2]=c[(c[t>>2]|0)+20>>2];if(!(a[x>>0]|0))a[x>>0]=65;if(c[D>>2]|0){q=Ux(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=q}c[E>>2]=aA(c[s>>2]|0)|0;c[F>>2]=aA(c[s>>2]|0)|0;if(c[v>>2]|0)Xw(c[I>>2]|0,25,0,c[F>>2]|0)|0;c[y>>2]=c[c[p>>2]>>2];c[C>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[B>>2]=c[c[C>>2]>>2];if((c[A>>2]|0)>=0?(LA(c[B>>2]|0)|0)==0:0){vA(c[I>>2]|0,c[A>>2]|0)|0;c[A>>2]=-1}if((c[v>>2]|0)!=0?(qy(c[B>>2]|0,z)|0)!=0:0)$w(c[I>>2]|0,84,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;c[G>>2]=EA(c[s>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;g=c[I>>2]|0;e=c[G>>2]|0;if(c[v>>2]|0){Xw(g,38,e,(Hz(c[I>>2]|0)|0)+2|0)|0;$w(c[I>>2]|0,75,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break}else{_w(g,49,e,1,c[F>>2]|0,x,1)|0;IA(c[s>>2]|0,c[G>>2]|0,1);Xw(c[I>>2]|0,110,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[C>>2]=(c[C>>2]|0)+20}eA(c[s>>2]|0,c[E>>2]|0);eA(c[s>>2]|0,c[F>>2]|0)}}else{c[q>>2]=c[g>>2];dB(n,11,c[(c[t>>2]|0)+28>>2]|0);a[n+1>>0]=a[x>>0]|0;c[(c[q>>2]|0)+12>>2]=0;if(!(Iv(c[s>>2]|0,c[q>>2]|0,n)|0)){c[o>>2]=c[c[q>>2]>>2];J=$A(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[c[(c[o>>2]|0)+4>>2]>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=J;break}Xz(c[D>>2]|0);c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[D>>2]|0)Kh(c[I>>2]|0,c[w>>2]|0,c[D>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];G=(c[s>>2]|0)+76|0;J=(c[G>>2]|0)+1|0;c[G>>2]=J;dB(k,0,J);if((d[c[t>>2]>>0]|0)==119){a[k>>0]=10;c[k+8>>2]=c[k+4>>2];Xw(c[I>>2]|0,25,0,c[k+4>>2]|0)|0}else{a[k>>0]=3;Xw(c[I>>2]|0,22,0,c[k+4>>2]|0)|0}dv(c[c[s>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);J=xv(c[s>>2]|0,132,0,0,5116)|0;c[(c[m>>2]|0)+56>>2]=J;c[(c[m>>2]|0)+12>>2]=0;J=(c[m>>2]|0)+8|0;c[J>>2]=c[J>>2]&-513;if(!(Iv(c[s>>2]|0,c[m>>2]|0,k)|0)){c[H>>2]=c[k+4>>2];break}c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[u>>2]|0)bB(c[I>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[u>>2]|0);if((c[A>>2]|0)>=0)Lz(c[I>>2]|0,c[A>>2]|0);mA(c[s>>2]|0);c[r>>2]=c[H>>2];J=c[r>>2]|0;i=K;return J|0}function PA(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;s=z+64|0;r=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;p=z+68|0;q=z+44|0;w=z+40|0;y=z+36|0;k=z+32|0;j=z+28|0;h=z+24|0;l=z+20|0;n=z+16|0;m=z+12|0;g=z+8|0;o=z+4|0;v=z;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=VA(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=WA(c[r>>2]|0)|0;oA(c[s>>2]|0);c[w>>2]=aA(c[s>>2]|0)|0;DA(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(XA(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){Xw(e,76,f,c[u>>2]|0)|0;break}else{c[o>>2]=Dz(e,77,f)|0;Xw(c[y>>2]|0,108,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Kz(c[y>>2]|0,c[u>>2]|0)|0;Lz(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){Xw(e,38,f,c[t>>2]|0)|0;$w(c[y>>2]|0,70,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}_w(e,48,f,1,0,p,1)|0;f=c[y>>2]|0;e=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){Gh(f,68,e,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}else{c[v>>2]=Gh(f,69,e,0,c[w>>2]|0,1)|0;Xw(c[y>>2]|0,76,c[x>>2]|0,c[u>>2]|0)|0;Kz(c[y>>2]|0,c[t>>2]|0)|0;Lz(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=Ux(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=Iz(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=aA(c[s>>2]|0)|0;$w(c[y>>2]|0,85,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=JA(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(XA(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)$w(c[y>>2]|0,85,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){_w(c[y>>2]|0,78,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,(a[p>>0]|16)&255)}else{_w(c[y>>2]|0,79,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,a[p>>0]|0)}eA(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){Xw(c[y>>2]|0,76,c[m>>2]|0,c[u>>2]|0)|0;Kz(c[y>>2]|0,c[t>>2]|0)|0}Mz(c[y>>2]|0,c[h>>2]|0);eA(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}function QA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function RA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 72:{RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);oA(c[g>>2]|0);RA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);mA(c[g>>2]|0);break}case 71:{c[l>>2]=Iz(c[s>>2]|0)|0;SA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);oA(c[g>>2]|0);RA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Mz(c[s>>2]|0,c[l>>2]|0);mA(c[g>>2]|0);break}case 19:{SA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 73:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==73?78:79;c[k>>2]=128;t=7;break}case 79:case 78:case 83:case 80:case 81:case 82:{t=7;break}case 77:case 76:{c[o>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;Xw(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 74:{TA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 75:if(c[k>>2]|0){PA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Iz(c[s>>2]|0)|0;PA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Mz(c[s>>2]|0,c[m>>2]|0);break a}default:{if(hz(c[h>>2]|0)|0){Kz(c[s>>2]|0,c[j>>2]|0)|0;break a}if(!(UA(c[h>>2]|0)|0)){c[o>>2]=JA(c[g>>2]|0,c[h>>2]|0,q)|0;$w(c[s>>2]|0,46,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((t|0)==7){c[o>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;KA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}eA(c[g>>2]|0,c[q>>2]|0);eA(c[g>>2]|0,c[r>>2]|0);i=u;return}function SA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 72:{c[l>>2]=Iz(c[t>>2]|0)|0;RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);oA(c[g>>2]|0);SA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Mz(c[t>>2]|0,c[l>>2]|0);mA(c[g>>2]|0);break}case 71:{SA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);oA(c[g>>2]|0);SA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);mA(c[g>>2]|0);break}case 19:{RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 73:{c[o>>2]=(c[o>>2]|0)==73?79:78;c[k>>2]=128;u=7;break}case 79:case 78:case 83:case 80:case 81:case 82:{u=7;break}case 77:case 76:{c[p>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;Xw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 74:{TA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 75:{c[m>>2]=Iz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;PA(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Kz(c[t>>2]|0,c[j>>2]|0)|0;Mz(c[t>>2]|0,c[m>>2]|0);break}default:{if(UA(c[h>>2]|0)|0){Kz(c[t>>2]|0,c[j>>2]|0)|0;break a}if(!(hz(c[h>>2]|0)|0)){c[p>>2]=JA(c[g>>2]|0,c[h>>2]|0,r)|0;$w(c[t>>2]|0,45,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((u|0)==7){c[p>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;KA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}eA(c[g>>2]|0,c[r>>2]|0);eA(c[g>>2]|0,c[s>>2]|0);i=v;return}function TA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+216|0;h=s+212|0;m=s+208|0;p=s+204|0;n=s+200|0;q=s+152|0;j=s+104|0;k=s+56|0;l=s+8|0;r=s;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=72;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=83;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=81;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];QA(l,JA(c[o>>2]|0,l,r)|0);f=c[o>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if(c[p>>2]|0){SA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;eA(q,r);i=s;return}else{RA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;eA(q,r);i=s;return}}function UA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(qy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function VA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;k=F+56|0;r=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;q=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;p=F+12|0;t=F+8|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=Vw(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;a:do if((c[(c[l>>2]|0)+68>>2]|0)==0?(j=ZA(c[m>>2]|0)|0,c[k>>2]=j,(j|0)!=0):0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=Fh(c[q>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;hx(c[l>>2]|0,b[v>>1]|0);Ez(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+28>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=_A(h)|0;Fz(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,54);c[r>>2]=1;Lz(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=$A(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=aB(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+13>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Qj(c[q>>2]|0,a[(c[q>>2]|0)+66>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=_A(c[l>>2]|0)|0;$w(c[E>>2]|0,54,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;Gz(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+12>>0]|0)==0:0){s=(c[l>>2]|0)+76|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;bB(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}Lz(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((cB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+428>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+428>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+76|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}OA(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+428>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function WA(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Tx(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=YA(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=YA(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function XA(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function YA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Tx(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function ZA(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;do if(c[(c[e>>2]|0)+4>>2]&2048){if(c[(c[e>>2]|0)+4>>2]&32){c[b>>2]=0;break}c[f>>2]=c[(c[e>>2]|0)+20>>2];if(c[(c[f>>2]|0)+48>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+8>>2]&9){c[b>>2]=0;break}if(c[(c[f>>2]|0)+56>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+32>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[f>>2]|0)+28>>2];if((c[c[j>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[j>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[k>>2]=c[(c[j>>2]|0)+8+16>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}c[h>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];if((d[c[h>>2]>>0]|0|0)!=152){c[b>>2]=0;break}else{c[b>>2]=c[f>>2];break}}else c[b>>2]=0;while(0);i=l;return c[b>>2]|0}function _A(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Vw(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+84|0;a=c[e>>2]|0;c[e>>2]=a+1;a=Dz(d,44,a)|0;i=b;return a|0}function $A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=Ux(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=Ux(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ux(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ux(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function aB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=WA(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function bB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;Xw(c[g>>2]|0,22,0,c[h>>2]|0)|0;c[f>>2]=Dz(c[g>>2]|0,108,c[j>>2]|0)|0;$w(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;Hh(c[g>>2]|0,-128);Lz(c[g>>2]|0,c[f>>2]|0);i=e;return}function cB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=LA(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function dB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function eB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+324>>2];c[o>>2]=ty(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Mv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}function fB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];hy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function gB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 27:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function iB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Tx(c[k>>2]|0)|0;d=(YA(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function jB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fB(c[d>>2]|0,2,0)|0;i=b;return a|0}function kB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Lw(CA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=_w(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function lB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+124;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function mB(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+64>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+124+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function nB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function oB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=pB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=pB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=pB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Sw(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=Vw(c[l>>2]|0)|0;c[u>>2]=qA(c[l>>2]|0,4)|0;DA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);DA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);DA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){_w(c[w>>2]|0,35,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Hh(c[w>>2]|0,a[c[n>>2]>>0]|0);Dz(c[w>>2]|0,147,(c[m>>2]|0)==24&1)|0}}while(0);dv(c[s>>2]|0,c[p>>2]|0);dv(c[s>>2]|0,c[q>>2]|0);dv(c[s>>2]|0,c[r>>2]|0);i=y;return}function pB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=27){c[h>>2]=ly(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function qB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=ae(c[c[r>>2]>>2]|0)|0;c[g>>2]=we(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=19010;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31844,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31865,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31891,m)|0;break}if((qg(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(lu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){rB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;sB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31933,n)|0}while(0);je(c[f>>2]|0,o,-1);i=q;return}function rB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;tB(c[g>>2]|0)|0}Og(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(uB(c[e>>2]|0)|0)==0:0)){fr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Si(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function sB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function tB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);vB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;wB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}xB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function uB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1215]|0)!=(c[d>>2]|0)){c[e>>2]=c[1215];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1215]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function vB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function wB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}yB(c[b>>2]|0);i=d;return}function xB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;yB(c[e>>2]|0);i=f;return}function yB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Es(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function zB(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=we(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ae(c[c[F>>2]>>2]|0)|0;c[C>>2]=ae(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=19010;if(!(c[C>>2]|0))c[C>>2]=19010;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+92+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Dh(c[p>>2]|0,32006,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Dh(F,32048,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Lw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Kw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=_j(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)lh(c[p>>2]|0);je(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=$j(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ak(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Dh(c[p>>2]|0,20624,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;AB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;BB(F,BB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;CB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Dh(c[p>>2]|0,32078,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=ph(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=qi(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){rB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Bg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){lh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Dh(c[p>>2]|0,25624,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Dh(F,32107,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+92+28>>2];c[A>>2]=Dh(e,31969,h)|0}while(0);if(c[A>>2]|0){je(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}re(c[n>>2]|0,c[u>>2]|0);i=E;return}function AB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(EB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function BB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function CB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);DB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function DB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function EB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;hx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=HB(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?20513:20532;if((c[h>>2]|0)==1)c[f>>2]=14;if(Sw(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(Sw(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=Vw(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?20513:20532;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;Uw(n,32155,l);Ww(c[d>>2]|0,c[h>>2]|0);_w(c[k>>2]|0,127,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function HB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function IB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=rh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;rR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Pw(c[j>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function JB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=ex(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!($y(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function KB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(MB(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(NB(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Ch(f,32453,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(OB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(LB(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(OB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(OB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function NB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+144+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(MB(e,c[b>>2]|0)|0){e=10;break}}else if(OB(e,c[b>>2]|0)|0){e=12;break}if(NB(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Ch(f,32499,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function OB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(NB(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function PB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(MB(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(OB(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function QB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9|8;i=d;return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}Zw(c[e>>2]|0,1,c[g>>2]|0)|0;SB(c[e>>2]|0,c[f>>2]|0);Xw(c[e>>2]|0,33,1,1)|0;i=h;return}function SB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;eC(c[f>>2]|0,1,e);i=d;return}function TB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;kB(c[g>>2]|0,23,0,1,0,j,-13)|0;SB(c[g>>2]|0,c[h>>2]|0);Xw(c[g>>2]|0,33,1,1)|0;i=f;return}function UB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];uC(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Tf(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=rh(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function VB(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=fh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function WB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32705)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32698)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function XB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[6252+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;tC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function ZB(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function _B(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33776)|0){if(!(ig(c[d>>2]|0,33220)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33781)|0)){c[b>>2]=2;break}else{c[e>>2]=Ni(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function $B(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function aC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=rC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function bC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)CB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function cC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=qC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(dC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function dC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(qg(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){rB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Bg(c[f>>2]|0);break}Ch(c[e>>2]|0,33714,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function eC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;UB(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;VB(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function fC(b,d,e,f){b=b|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;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?25:97;e=c[h>>2]|0;c[h>>2]=e+1;_w(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;Xw(b,22,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function gC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33524;break}case 8:{c[e>>2]=33533;break}case 9:{c[e>>2]=33545;break}case 6:{c[e>>2]=33553;break}default:c[e>>2]=33562}i=f;return c[e>>2]|0}function hC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Lw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:35343;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+442>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Ch(C,33461,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function iC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ah(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){lh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=Tx(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function jC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=33369;else c[f>>2]=19006;hi(c[d>>2]|0,33373,2,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33373,3,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33378,2,1,19002,212,0,0,0)|0;oC(c[d>>2]|0,33378,12);oC(c[d>>2]|0,33373,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function kC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){nA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function lC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Fh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=Vw(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+72>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Fz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Ez(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==55&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){$w(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Gz(c[q>>2]|0,c[A>>2]|0)}if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2]}else Hh(c[B>>2]|0,a[t>>0]|0);c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function mC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9;i=d;return}function nC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=we(c[f>>2]|0)|0;c[k>>2]=ve(c[f>>2]|0)|0;c[m>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=be(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+92+32>>2]|0)){je(c[f>>2]|0,33383,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=ae(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Ix(c[n>>2]|0,-1)|0)==1){c[j>>2]=pC(n)|0;break}je(c[f>>2]|0,33416,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;ke(q,Rh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function oC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ii(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function pC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[26171+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function qC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33618)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26767)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function rC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=sC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function sC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=AR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=yR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=aj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function tC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function uC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Wg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function vC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34654,k)|0;if(ri(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;Uw(p,31526,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function wC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=Vw(c[g>>2]|0)|0;c[f>>2]=aA(c[g>>2]|0)|0;$w(c[k>>2]|0,118,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Hx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?20513:20532;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;Uw(a,34598,h);eA(c[g>>2]|0,c[f>>2]|0);i=e;return}function xC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Kw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;tR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function yC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&8388608)c[p>>2]=lx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(TF(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function zC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Gx(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Ch(m,35765,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ch(m,35736,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function AC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-5|4;i=d;return}function BC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+536>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(lx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=158){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=ex(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(HQ(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(VF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(wy(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Fh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=Vw(c[v>>2]|0)|0;hx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+72|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+72|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=CC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=aA(c[v>>2]|0)|0;c[L>>2]=aA(c[v>>2]|0)|0;Fz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,55);do if(!(c[(c[z>>2]|0)+24>>2]&134217728)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=Xw(c[M>>2]|0,108,c[E>>2]|0,0)|0;c[A>>2]=cx(c[M>>2]|0,13)|0;Lz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Fz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,54);c[B>>2]=Xw(c[M>>2]|0,108,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=Xw(l,74,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=Xw(l,103,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=Xw(c[M>>2]|0,103,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=$w(c[M>>2]|0,70,c[E>>2]|0,0,c[L>>2]|0)|0;JE(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Lz(c[M>>2]|0,c[s>>2]|0);IC(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);Xw(c[M>>2]|0,102,c[F>>2]|0,c[K>>2]|0)|0;_w(c[M>>2]|0,75,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[c[w>>2]>>2]|0,0)|0;Hh(c[M>>2]|0,11);Xw(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;Xw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Xw(c[M>>2]|0,61,c[E>>2]|0,0)|0}else{Ez(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Ez(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(VF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}$w(c[M>>2]|0,54,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Gz(c[v>>2]|0,c[J>>2]|0);$w(c[M>>2]|0,55,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Gz(c[v>>2]|0,c[H>>2]|0);Hh(c[M>>2]|0,1);c[y>>2]=Xw(c[M>>2]|0,108,c[F>>2]|0,0)|0;Xw(c[M>>2]|0,101,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&134217728){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(35343,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;$w(c[M>>2]|0,105,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);$w(c[M>>2]|0,110,c[E>>2]|0,c[K>>2]|0,1)|0;Hh(c[M>>2]|0,a[G>>0]|0);Xw(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Lz(c[M>>2]|0,c[y>>2]|0);Xw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Xw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Lz(c[M>>2]|0,c[B>>2]|0);eA(c[v>>2]|0,c[L>>2]|0);eA(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){Xw(c[M>>2]|0,21,0,0)|0;Lz(c[M>>2]|0,c[A>>2]|0);Xw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function CC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+42>>0]|0)&8){b=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+412>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Lw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+412>>2];c[(c[m>>2]|0)+412>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function DC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Dz(c[f>>2]|0,17,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+24>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+24>>2]|0)+60>>2]=0;i=e;return}function EC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=Vw(c[f>>2]|0)|0;c[k>>2]=Hz(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Gx(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Sz(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==54?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==152?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function FC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];DA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+76|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;Xw(c[j>>2]|0,30,c[h>>2]|0,c[f>>2]|0)|0;QA(c[g>>2]|0,c[f>>2]|0);i=e;return}function GC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=CA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ah(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){lh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){_w(g,48,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Kh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function HC(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(TF(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)SE(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function IC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Xw(c[(c[e>>2]|0)+8>>2]|0,137,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function JC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(LA(c[g>>2]|0)|0)!=0:0){eB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}DA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function KC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)a=c[a+416>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+456>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+524>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+456>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+524>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+524>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+456|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+524>>2]|0)+(l<<2)>>2]=j;i=k;return}else{lh(c[c[h>>2]>>2]|0);i=k;return}} +function qE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+224|0;l=ga+196|0;m=ga+192|0;n=ga+188|0;j=ga+184|0;$=ga+180|0;P=ga+176|0;K=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;E=ga+164|0;F=ga+160|0;G=ga+156|0;W=ga+152|0;q=ga+148|0;s=ga+208|0;k=ga+16|0;x=ga+144|0;w=ga+140|0;L=ga+136|0;X=ga+132|0;H=ga+204|0;Q=ga+128|0;J=ga+124|0;r=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;o=ga+207|0;p=ga+206|0;I=ga+68|0;D=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[Z>>2]=0;c[E>>2]=0;c[F>>2]=0;c[W>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[W>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=ga;return}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[P>>2]=(c[j>>2]|0)+68;c[K>>2]=c[c[$>>2]>>2];g=OD(c[P>>2]|0,c[(c[K>>2]|0)+12>>2]|0)|0;j=da;c[j>>2]=g;c[j+4>>2]=C;c[G>>2]=d[c[K>>2]>>0];do if((c[G>>2]|0)==75){h=c[P>>2]|0;f=(c[K>>2]|0)+20|0;if(c[(c[K>>2]|0)+4>>2]&2048){g=PD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=pD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[G>>2]|0)==76){j=(c[$>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=OD(c[P>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=OD(c[P>>2]|0,c[K>>2]|0)|0;j=aa;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[K>>2]|0)+4>>2]&1){h=tD(c[P>>2]|0,b[(c[K>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=aa;g=c[h+4>>2]|c[f+4>>2];j=aa;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=oR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=aa;h=c[j+4>>2]|0;k=(c[$>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[$>>2]|0)+8>>2]=-1;c[(c[$>>2]|0)+4>>2]=-1;b[(c[$>>2]|0)+18>>1]=0;k=(rE(c[G>>2]|0)|0)!=0;h=c[K>>2]|0;a:do if(k){c[L>>2]=Zx(c[h+12>>2]|0)|0;c[X>>2]=Zx(c[(c[K>>2]|0)+16>>2]|0)|0;O=(c[$>>2]|0)+32|0;R=da;b[H>>1]=((c[O>>2]&c[R>>2]|0)==0?(c[O+4>>2]&c[R+4>>2]|0)==0:0)?8191:2048;R=da;if(sE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[L>>2]|0,x,w)|0){c[(c[$>>2]|0)+8>>2]=c[x>>2];c[(c[$>>2]|0)+12>>2]=c[w>>2];R=(tE(c[G>>2]|0)|0)&65535;b[(c[$>>2]|0)+18>>1]=R&e[H>>1]}if((c[G>>2]|0)==73){R=(c[$>>2]|0)+20|0;b[R>>1]=e[R>>1]|2048}if((c[X>>2]|0)!=0?(R=(c[$>>2]|0)+32|0,(sE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[X>>2]|0,x,w)|0)!=0):0){b[r>>1]=0;if((c[(c[$>>2]|0)+8>>2]|0)>=0){c[J>>2]=ty(c[q>>2]|0,c[K>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){dv(c[q>>2]|0,c[J>>2]|0);i=ga;return}c[y>>2]=uE(c[m>>2]|0,c[J>>2]|0,3)|0;if(!(c[y>>2]|0)){i=ga;return}c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);vE(c[m>>2]|0,c[y>>2]|0,c[n>>2]|0);if((c[G>>2]|0)==73){X=(c[Q>>2]|0)+20|0;b[X>>1]=e[X>>1]|2048}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);X=(c[$>>2]|0)+20|0;b[X>>1]=e[X>>1]|8;if(wE(c[W>>2]|0,c[J>>2]|0)|0){X=(c[$>>2]|0)+18|0;b[X>>1]=e[X>>1]|2048;b[r>>1]=2048}}else{c[J>>2]=c[K>>2];c[Q>>2]=c[$>>2]}xE(c[W>>2]|0,c[J>>2]|0);c[(c[Q>>2]|0)+8>>2]=c[x>>2];c[(c[Q>>2]|0)+12>>2]=c[w>>2];O=da;R=t;da=c[O+4>>2]|c[R+4>>2];X=(c[Q>>2]|0)+32|0;c[X>>2]=c[O>>2]|c[R>>2];c[X+4>>2]=da;X=aa;aa=c[X+4>>2]|0;da=(c[Q>>2]|0)+40|0;c[da>>2]=c[X>>2];c[da+4>>2]=aa;da=(tE(d[c[J>>2]>>0]|0)|0)&65535;b[(c[Q>>2]|0)+18>>1]=da+(e[r>>1]|0)&e[H>>1]}}else{if((d[h>>0]|0)==74?(d[(c[m>>2]|0)+8>>0]|0)==72:0){c[O>>2]=c[(c[K>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;X=c[W>>2]|0;aa=d[35341+(c[u>>2]|0)>>0]|0;da=ty(c[q>>2]|0,c[(c[K>>2]|0)+12>>2]|0,0)|0;c[R>>2]=xv(X,aa,da,ty(c[q>>2]|0,c[(c[(c[O>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;yE(c[R>>2]|0,c[K>>2]|0);c[z>>2]=uE(c[m>>2]|0,c[R>>2]|0,3)|0;qE(c[l>>2]|0,c[m>>2]|0,c[z>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);vE(c[m>>2]|0,c[z>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[K>>2]>>0]|0)==71){zE(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==72?(AE(c[W>>2]|0,c[K>>2]|0,Z,E,F)|0)!=0:0){b[ea>>1]=259;c[M>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[_>>2]=ty(c[q>>2]|0,c[Z>>2]|0,0)|0;b:do if((c[F>>2]|0)!=0?(a[(c[c[W>>2]>>2]|0)+69>>0]|0)==0:0){ea=(c[$>>2]|0)+20|0;b[ea>>1]=e[ea>>1]|1024;c[v>>2]=0;while(1){ea=a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]|0;a[o>>0]=ea;if(!(ea<<24>>24))break b;a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[o>>0]&~(d[19011+(d[o>>0]|0)>>0]&32);a[(c[(c[_>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[18221+(d[o>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ea=(Jf(c[(c[_>>2]|0)+8>>2]|0)|0)-1|0;c[I>>2]=(c[(c[_>>2]|0)+8>>2]|0)+ea;a[p>>0]=a[c[I>>2]>>0]|0;if(c[F>>2]|0){if((d[p>>0]|0)==64)c[E>>2]=0;a[p>>0]=a[18221+(d[p>>0]|0)>>0]|0}a[c[I>>2]>>0]=(d[p>>0]|0)+1}c[fa>>2]=(c[F>>2]|0)!=0?21037:35343;c[S>>2]=ty(c[q>>2]|0,c[M>>2]|0,0)|0;da=c[W>>2]|0;ea=Hy(c[W>>2]|0,c[S>>2]|0,c[fa>>2]|0)|0;c[S>>2]=xv(da,83,ea,c[Z>>2]|0,0)|0;yE(c[S>>2]|0,c[K>>2]|0);c[A>>2]=uE(c[m>>2]|0,c[S>>2]|0,259)|0;qE(c[l>>2]|0,c[m>>2]|0,c[A>>2]|0);c[T>>2]=ty(c[q>>2]|0,c[M>>2]|0,0)|0;ea=c[W>>2]|0;fa=Hy(c[W>>2]|0,c[T>>2]|0,c[fa>>2]|0)|0;c[T>>2]=xv(ea,82,fa,c[_>>2]|0,0)|0;yE(c[T>>2]|0,c[K>>2]|0);c[B>>2]=uE(c[m>>2]|0,c[T>>2]|0,259)|0;qE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[E>>2]|0){vE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);vE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0)}}if((BE(c[K>>2]|0,s)|0)!=0?(c[Y>>2]=c[c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]>>2],c[N>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=OD(c[P>>2]|0,c[Y>>2]|0)|0,fa=ca,c[fa>>2]=ea,c[fa+4>>2]=C,fa=OD(c[P>>2]|0,c[N>>2]|0)|0,ea=ba,c[ea>>2]=fa,c[ea+4>>2]=C,ea=ca,fa=ba,(c[ea>>2]&c[fa>>2]|0)==0?(c[ea+4>>2]&c[fa+4>>2]|0)==0:0):0){fa=c[W>>2]|0;c[U>>2]=xv(fa,51,0,ty(c[q>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[D>>2]=uE(c[m>>2]|0,c[U>>2]|0,3)|0;c[V>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0);fa=ca;ea=c[fa+4>>2]|0;da=(c[V>>2]|0)+32|0;c[da>>2]=c[fa>>2];c[da+4>>2]=ea;c[(c[V>>2]|0)+8>>2]=c[(c[N>>2]|0)+28>>2];c[(c[V>>2]|0)+12>>2]=b[(c[N>>2]|0)+32>>1];b[(c[V>>2]|0)+18>>1]=64;a[(c[V>>2]|0)+23>>0]=a[s>>0]|0;vE(c[m>>2]|0,c[D>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);da=(c[$>>2]|0)+20|0;b[da>>1]=e[da>>1]|8;da=(c[$>>2]|0)+40|0;ea=c[da+4>>2]|0;fa=(c[V>>2]|0)+40|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea}da=t;fa=(c[$>>2]|0)+32|0;ca=fa;ea=c[ca+4>>2]|c[da+4>>2];c[fa>>2]=c[ca>>2]|c[da>>2];c[fa+4>>2]=ea;i=ga;return}function rE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=75?!((c[b>>2]|0)>=79&(c[b>>2]|0)<=83|(c[b>>2]|0)==76):0)b=(c[b>>2]|0)==73;else b=1;i=d;return b&1|0}function sE(a,f,g,h,j,k){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u+36|0;l=u+32|0;m=u;n=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;o=u+12|0;t=u+8|0;c[l>>2]=a;a=m;c[a>>2]=f;c[a+4>>2]=g;c[n>>2]=h;c[r>>2]=j;c[s>>2]=k;if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}j=m;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}j=m;a=c[j>>2]|0;j=c[j+4>>2]|0;k=m;k=oR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((a&k|0)!=0|(j&C|0)!=0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}c[o>>2]=0;while(1){j=m;k=c[j+4>>2]|0;f=c[o>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>1))break;c[o>>2]=f+1;k=m;k=qR(c[k>>2]|0,c[k+4>>2]|0,1)|0;j=m;c[j>>2]=k;c[j+4>>2]=C}c[t>>2]=c[(c[l>>2]|0)+8+(f*72|0)+44>>2];c[p>>2]=c[(c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0)){f=20;break}b:do if(c[(c[p>>2]|0)+40>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break b;if((b[(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(vy(c[n>>2]|0,c[(c[(c[(c[p>>2]|0)+40>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){f=17;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((f|0)==17){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}else if((f|0)==20){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function tE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=75){if((c[d>>2]|0)==76){b[e>>1]=256;break}if((c[d>>2]|0)==73){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-79;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function uE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+28|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[h>>2]|0)+12>>2]|0)>=(c[(c[h>>2]|0)+16>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+20>>2];c[l>>2]=c[c[c[c[h>>2]>>2]>>2]>>2];f=Lw(c[l>>2]|0,(c[(c[h>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[h>>2]|0)+20>>2]=f;if(c[(c[h>>2]|0)+20>>2]|0){rR(c[(c[h>>2]|0)+20>>2]|0,c[n>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)*48|0)|0;if((c[n>>2]|0)!=((c[h>>2]|0)+24|0))Tf(c[l>>2]|0,c[n>>2]|0);f=((fu(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[h>>2]|0)+16>>2]=f;tR((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)*48|0)|0,0,((c[(c[h>>2]|0)+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((e[k>>1]|0)&1)dv(c[l>>2]|0,c[j>>2]|0);c[(c[h>>2]|0)+20>>2]=c[n>>2];c[g>>2]=0;f=c[g>>2]|0;i=p;return f|0}while(0);a=(c[h>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[m>>2]=f;c[o>>2]=(c[(c[h>>2]|0)+20>>2]|0)+(f*48|0);if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[j>>2]|0)+28>>2]|0;f=((Kj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[o>>2]|0)+16>>1]=f}else b[(c[o>>2]|0)+16>>1]=1;f=Zx(c[j>>2]|0)|0;c[c[o>>2]>>2]=f;b[(c[o>>2]|0)+20>>1]=b[k>>1]|0;c[(c[o>>2]|0)+24>>2]=c[h>>2];c[(c[o>>2]|0)+4>>2]=-1;c[g>>2]=c[m>>2];f=c[g>>2]|0;i=p;return f|0}function vE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+4>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+16>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+22|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function wE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=79?(d[c[k>>2]>>0]|0)!=73:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=Tx(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=Tx(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=$A(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,35343)|0)!=0:0){c[l>>2]=Ux(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=Ux(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(ig(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function xE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(Ux(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<80){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=m;return}function yE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function zE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=rh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+12>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+20|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];tR((c[Q>>2]|0)+24|0,0,384)|0;gD(c[Q>>2]|0,c[T>>2]|0);hD(c[Q>>2]|0,c[L>>2]|0,71);kD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+18>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Lw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+12>>2]=c[p>>2];g=(c[P>>2]|0)+20|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+18>>1]=1024;c[r>>2]=c[p>>2];tR((c[r>>2]|0)+24|0,0,384)|0;gD(c[r>>2]|0,c[c[x>>2]>>2]|0);hD(c[r>>2]|0,c[c[P>>2]>>2]|0,72);kD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(rE(d[c[c[q>>2]>>2]>>0]|0)|0){h=tD((c[T>>2]|0)+68|0,c[(c[q>>2]|0)+8>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+20>>1]&8)){g=tD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+20>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+4>>2]|0)*48|0);f=tD((c[T>>2]|0)+68|0,c[(c[u>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+18>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+18>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=GE(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=GE(g,W)|0;c[v>>2]=W;if(!W)continue c;HE(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=tD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=36;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==36){U=0;c[F>>2]=c[(c[P>>2]|0)+12>>2];c[G>>2]=c[(c[P>>2]|0)+8>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)){W=j+20|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+12>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(Tx(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(Tx(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+20>>1]&64){c[K>>2]=ty(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Mv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=ty(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=xv(c[R>>2]|0,75,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){yE(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=uE(c[x>>2]|0,c[O>>2]|0,3)|0;qE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);vE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else $u(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+18>>1]=4096;i=V;return}function AE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(CE(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((Tx(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=Zx(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+480>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=DE(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(fe(c[A>>2]|0)|0)==3:0)c[E>>2]=ae(c[A>>2]|0)|0;EE(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Pv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];EE(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=aA(c[s>>2]|0)|0;EA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;FE(G,(Hz(c[D>>2]|0)|0)-1|0,0);eA(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;bh(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function BE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;k=n+56|0;h=n+52|0;l=n+48|0;m=n+16|0;g=n+8|0;f=n+4|0;j=n;c[h>>2]=b;c[l>>2]=e;c[m>>2]=c[1569];c[m+4>>2]=c[1570];c[m+8>>2]=c[1571];c[m+12>>2]=c[1572];c[m+16>>2]=c[1573];c[m+20>>2]=c[1574];c[m+24>>2]=c[1575];c[m+28>>2]=c[1576];if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[m+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[m+(b<<3)+4>>0]|0;c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}else if((f|0)==14){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function CE(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ii(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function DE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Xh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){ih(c[m>>2]|0,c[l>>2]|0)|0;rx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function EE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function FE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Sz(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function GE(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+18>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+12>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function HE(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+18>>1]|0|(e[(c[k>>2]|0)+18>>1]|0);if(!((e[(c[j>>2]|0)+18>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+18>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(vy(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(vy(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=ty(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=79;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-79|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=uE(c[n>>2]|0,c[r>>2]|0,3)|0;qE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function IE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=199;c[g+24>>2]=c[l>>2];hy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function JE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Dh(a,30741,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;hA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Dh(a,35727,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;hA(h,k,l,m,-1,2);i=n;return}}function KE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Kx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(QC(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Kx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(TC(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function LE(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function ME(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Iz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?70:68;if(!(d[A>>0]|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(KE(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=OE(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=PE(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+76>>2]|0)+1;g=(c[q>>2]|0)+76|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Xw(c[I>>2]|0,30,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;zA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=Hz(c[I>>2]|0)|0;HC(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(Hz(c[I>>2]|0)|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;MC(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;QE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;HC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Mz(I,J);i=K;return}a[H>>0]=0;NE(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);Xw(c[I>>2]|0,95,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;if(a[y>>0]|0)Kh(c[I>>2]|0,-1,c[c[r>>2]>>2]|0,0);if(d[A>>0]|0)Hh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Dz(c[I>>2]|0,95,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Hh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;QE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;HC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Mz(I,J);i=K;return}function NE(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Hj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=bA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;$w(c[w>>2]|0,111,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;cA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function OE(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(TF(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=TE(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function PE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Kx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;hC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function QE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Kx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(TC(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=RE(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)SE(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function RE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&16777216|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(hC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1577];c[J+4>>2]=c[1578];c[I>>2]=c[1579];c[I+4>>2]=c[1580];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Iy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Iy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=iz(c[q>>2]|0,27,J,0)|0;f=xv(g,122,f,iz(c[q>>2]|0,27,K,0)|0,0)|0;c[w>>2]=xv(e,79,f,iz(c[q>>2]|0,27,H,0)|0,0)|0;c[F>>2]=gz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=iz(c[q>>2]|0,27,J,0)|0;g=xv(e,122,g,iz(c[q>>2]|0,27,K,0)|0,0)|0;e=c[k>>2]|0;f=iz(c[q>>2]|0,27,I,0)|0;c[w>>2]=xv(h,73,g,xv(e,122,f,iz(c[q>>2]|0,27,K,0)|0,0)|0,0)|0;c[E>>2]=gz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=xv(c[k>>2]|0,101,0,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];if(c[v>>2]|0){c[z>>2]=ty(c[q>>2]|0,c[v>>2]|0,0)|0;break}else{c[z>>2]=xv(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=iz(c[q>>2]|0,27,I,0)|0;c[z>>2]=xv(e,122,f,iz(c[q>>2]|0,27,K,0)|0,0)|0}while(0);c[y>>2]=Mv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Nv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Pv(c[q>>2]|0,57,35697)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Mv(c[k>>2]|0,0,c[A>>2]|0)|0;K=Tv(c[q>>2]|0,0,G,0)|0;c[B>>2]=Lv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=rh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,rR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=ty(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=By(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=Nx(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=xv(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=ty(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;dv(c[q>>2]|0,c[F>>2]|0);dv(c[q>>2]|0,c[E>>2]|0);$u(c[q>>2]|0,c[y>>2]|0);av(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){SF(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function SE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=Vw(c[j>>2]|0)|0;c[n>>2]=TE(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+76|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;_w(e,132,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Hh(c[o>>2]|0,c[m>>2]&255);i=p;return}function TE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+532>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=UE(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function UE(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+416>>2]|0)g=c[g+416>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=rh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+532>>2];c[(c[s>>2]|0)+532>>2]=c[p>>2];e=rh(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}VE(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=rh(c[n>>2]|0,544,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+420>>2]=c[l>>2];c[(c[r>>2]|0)+416>>2]=c[s>>2];c[(c[r>>2]|0)+496>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+440>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+428>>2]=c[(c[j>>2]|0)+428>>2];c[v>>2]=Vw(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Kh(e,-1,Dh(l,35393,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=ty(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(ly(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Iz(c[v>>2]|0)|0;RA(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}dv(c[n>>2]|0,c[t>>2]|0)}WE(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Mz(c[v>>2]|0,c[o>>2]|0);cx(c[v>>2]|0,21)|0;XE(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=YE(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+400|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+76>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+84>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+432>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+436>>2];Zu(c[v>>2]|0)}Nh(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function VE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function WE(b,e,f){b=b|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;o=i;i=i+48|0;g=o+44|0;p=o+40|0;h=o+36|0;l=o+32|0;n=o+28|0;j=o+24|0;m=o+4|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+441>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=RF(c[g>>2]|0,c[l>>2]|0)|0;p=By(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;Zv(b,e,p,ty(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 108:{b=c[g>>2]|0;e=RF(c[g>>2]|0,c[l>>2]|0)|0;p=Nx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;_v(b,e,p,tz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 109:{p=c[g>>2]|0;Xv(p,RF(c[g>>2]|0,c[l>>2]|0)|0,ty(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=Nx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;dB(m,4,0);Iv(c[g>>2]|0,c[k>>2]|0,m)|0;av(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)cx(c[n>>2]|0,98)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function XE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+68>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+68>>2]=c[(c[e>>2]|0)+68>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function YE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];ZE(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function ZE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+28|0;g=q+24|0;j=q+20|0;l=q+16|0;n=q+12|0;o=q+8|0;h=q+4|0;m=q+32|0;k=q;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[c[g>>2]>>2];c[o>>2]=c[(c[f>>2]|0)+24>>2];c[h>>2]=c[(c[o>>2]|0)+120>>2];e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33|32;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65;c[n>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;a[m>>0]=a[c[n>>2]>>0]|0;switch(d[m>>0]|0|0){case 2:{if(c[(c[n>>2]|0)+8>>2]|0){p=(c[f>>2]|0)+89|0;a[p>>0]=a[p>>0]&-33;p=6}else p=6;break}case 0:case 1:{p=6;break}case 9:case 10:case 8:{e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64;break}case 12:{if((c[(c[n>>2]|0)+8>>2]|0)>(c[l>>2]|0))c[l>>2]=c[(c[n>>2]|0)+8>>2];break}case 11:{c[k>>2]=c[(c[n>>2]|0)+-20+4>>2];if((c[k>>2]|0)>(c[l>>2]|0))c[l>>2]=c[k>>2];break}case 3:case 5:case 7:{c[(c[n>>2]|0)+16>>2]=200;a[(c[n>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[n>>2]|0)+16>>2]=201;a[(c[n>>2]|0)+1>>0]=-19;break}default:{}}if((p|0)==6){p=0;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64}a[(c[n>>2]|0)+2>>0]=a[35407+(d[m>>0]|0)>>0]|0;if(((d[(c[n>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[n>>2]|0)+8>>2]|0)<0:0)c[(c[n>>2]|0)+8>>2]=c[(c[h>>2]|0)+(-1-(c[(c[n>>2]|0)+8>>2]|0)<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1;c[n>>2]=(c[n>>2]|0)+20}Tf(c[c[f>>2]>>2]|0,c[(c[o>>2]|0)+120>>2]|0);c[(c[o>>2]|0)+120>>2]=0;c[(c[o>>2]|0)+116>>2]=0;c[c[g>>2]>>2]=c[l>>2];i=q;return}function _E(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=PF(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=PF(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=QF(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function $E(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=aF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function aF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=bF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}eF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=$E(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=cF(o,er((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=dF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function bF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=iF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function cF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Oj(60571)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=fF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function dF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=er((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=cF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function eF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;yB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function fF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(gF(c[l>>2]|0)|0)>>>0){c[r>>2]=ug(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=Pt(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(hF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Rt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){wB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Oj(57813)|0;wB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Oj(57791)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function gF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Pt(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=vg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function iF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=jF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}kF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Oj(56571)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=lF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function jF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ah(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function kF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(AF(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(AF(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;v=CF((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function lF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+66>>0]|0)==1?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0)?(d[(c[n>>2]|0)+69>>0]|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=mF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=nF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);Zt(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=oF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=er((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=er((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=cF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Oj(60948)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Oj(61021)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function mF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function nF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){vB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;yB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=fF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=er((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=cF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Oj(60709)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Oj(60698)|0;n=c[g>>2]|0;i=m;return n|0}function oF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];pF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Oj(60282)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=qF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=er((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){tR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=rF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=ug(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=vg(c[z>>2]|0)|0;c[w>>2]=er(c[t>>2]|0)|0;c[B>>2]=qF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;xg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Oj(60439)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function pF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;vF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function qF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Fg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){rR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else rR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function rF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=sF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[381]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(gF(c[h>>2]|0)|0)>>>0?(c[r>>2]=tF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=uF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=er(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{wB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function sF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function tF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=sF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=ug(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=vg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){xg(c[o>>2]|0);c[h>>2]=Oj(56790)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=er((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}xg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Oj(56798)|0;s=c[h>>2]|0;i=r;return s|0}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=ug(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=hF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function vF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function wF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+4>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=pR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,AR(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=yF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=yF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=zF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function xF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else AF(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Oj(72223)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=EQ((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=zF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function yF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=zF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function zF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(AF(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(BF(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(AF(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Oj(71941)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){CF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(DF(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=EF(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}CF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=DF(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(!(e[(c[w>>2]|0)+8>>1]&2)){k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else AF(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=EQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else AF(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=FF(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=EQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(!(c[E>>2]|0))c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0)}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=67;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=BF(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=GF(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=73;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=73;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=73;break}}if((k|0)==43){H=(Oj(72016)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Oj(72045)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==67){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==73){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function AF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=Zt(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function BF(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35569+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function CF(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=pR(f|0,0,AR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=NF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[15262+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function DF(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function EF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=pR(b|0,0,AR(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function FF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}HF(n,c[(c[j>>2]|0)+32>>2]|0,1);HF(o,c[(c[j>>2]|0)+32>>2]|0,1);IF(n,c[j>>2]|0,4096);IF(o,c[k>>2]|0,4096);c[s>>2]=Yg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Yg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Wg(n);Wg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=qR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function HF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function IF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){JF(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function JF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;KF(c[h>>2]|0);IF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function KF(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)LF(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){MF(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function LF(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function MF(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function NF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=pR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(OF(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function OF(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function PF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=bF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=QF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=cF(o,er((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=QF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}eF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=_E(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function QF(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=er((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=cF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function RF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Tv(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Fh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;i=h;return j|0}function SF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];dv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);$u(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);av(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function TF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((cz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function UF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function VF(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(vy(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(vy(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function WF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+496>>2];c[(c[f>>2]|0)+496>>2]=c[g>>2];i=e;return}function XF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Fh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=ty(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Tv(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=ph(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=ph(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Lv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,65536,0,0)|0;dB(l,12,c[j>>2]|0);Iv(c[f>>2]|0,c[o>>2]|0,l)|0;av(c[k>>2]|0,c[o>>2]|0);i=p;return}function YF(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Gx(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+72|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=Xw(c[E>>2]|0,57,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+76|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+76|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=XC(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}Xw(c[E>>2]|0,103,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)DA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else Xw(c[E>>2]|0,103,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)DA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else $w(c[E>>2]|0,153,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=ZF(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){vA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+416>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{$w(m,49,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;Xw(c[E>>2]|0,74,c[w>>2]|0,c[D>>2]|0)|0;$w(c[E>>2]|0,75,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){YC(c[A>>2]|0);c[u>>2]=Dz(c[E>>2]|0,108,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;$w(c[E>>2]|0,47,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);KC(c[r>>2]|0,c[s>>2]|0);_w(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Hh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Hx(c[r>>2]|0);if(!(c[v>>2]|0)){Xw(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Lz(c[E>>2]|0,c[u>>2]|0);Xw(c[E>>2]|0,61,c[w>>2]|0,0)|0;i=F;return}else{YC(c[A>>2]|0);i=F;return}}function ZF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+40>>0]|0|0}function _F(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+496>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Kw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((fu(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);tR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function aG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Ch(c[g>>2]|0,36500,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function bG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+496>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((oz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((oz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&128|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+496>>2]=c[(c[N>>2]|0)+8>>2];Sw(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+496>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=Nx(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+416>>2]|0)l=c[l+416>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+528>>2];c[(c[x>>2]|0)+528>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=Tv(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=$F(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;ev(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=ph(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Pw(c[P>>2]|0)|0;c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=ty(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=c[(c[I>>2]|0)+40>>2]|0;x=gz(w,x,ty(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=By(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=gz(c[B>>2]|0,c[(c[I>>2]|0)+32>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}LG(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}av(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function cG(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+240|0;Z=_+8|0;h=_;j=_+220|0;k=_+216|0;l=_+212|0;m=_+208|0;T=_+204|0;Q=_+200|0;Y=_+196|0;t=_+176|0;H=_+172|0;s=_+168|0;B=_+164|0;C=_+160|0;n=_+156|0;F=_+152|0;W=_+148|0;G=_+224|0;R=_+144|0;L=_+140|0;O=_+136|0;o=_+132|0;X=_+112|0;x=_+108|0;v=_+104|0;z=_+100|0;I=_+96|0;U=_+92|0;V=_+88|0;y=_+84|0;w=_+80|0;A=_+76|0;M=_+72|0;P=_+68|0;p=_+64|0;D=_+44|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Dy(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(f,36357,Z);c[T>>2]=1;break}c[Y>>2]=Vw(f)|0;if((d[t>>0]|0)==12){Xw(c[Y>>2]|0,57,c[t+4>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&512){c[T>>2]=NG(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)OG(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=PG(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Dz(c[Y>>2]|0,46,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)$w(c[Y>>2]|0,139,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=QD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(qy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Kj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Kj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Lz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+4>>2];else{V=(c[k>>2]|0)+72|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=Xw(c[Y>>2]|0,57,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(Yy(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|16}dB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[l>>2]|0,X)|0;$u(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=QD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}dv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}BG(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Iz(c[Y>>2]|0)|0;c[x>>2]=Iz(c[Y>>2]|0)|0;hG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);Xw(c[Y>>2]|0,108,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=Hz(c[Y>>2]|0)|0;oG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);Mz(c[Y>>2]|0,c[x>>2]|0);Xw(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;Mz(c[Y>>2]|0,c[v>>2]|0);Xw(c[Y>>2]|0,61,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+72|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+72|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=Xw(c[Y>>2]|0,57,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(Yy(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|16;dB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=Xw(c[Y>>2]|0,57,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+4>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;dv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}BG(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Iz(c[Y>>2]|0)|0;c[y>>2]=Iz(c[Y>>2]|0)|0;hG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);Xw(c[Y>>2]|0,108,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=aA(c[k>>2]|0)|0;c[A>>2]=Xw(c[Y>>2]|0,101,c[U>>2]|0,c[S>>2]|0)|0;Gh(c[Y>>2]|0,68,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;eA(c[k>>2]|0,c[S>>2]|0);oG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);Mz(c[Y>>2]|0,c[y>>2]|0);Xw(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;Mz(c[Y>>2]|0,c[w>>2]|0);Xw(c[Y>>2]|0,61,c[V>>2]|0,0)|0;Xw(c[Y>>2]|0,61,c[U>>2]|0,0)|0;break b}}}while(0);QG(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&16){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=Wz(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=RG(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;Rz(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Kh(X,Z,$z(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}Xz(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Dy(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(Z,36309,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+8>>2]=c[t+8>>2];c[(c[m>>2]|0)+12>>2]=c[t+12>>2];av(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function dG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;mz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function eG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}if(c[(c[j>>2]|0)+8>>2]&8200){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}while(1){if((d[c[k>>2]>>0]|0|0)!=72)break;e=eG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+e;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}a:do if(KD(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=ty(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=KG(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;e=gz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=e;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];e=c[g>>2]|0;i=o;return e|0}function fG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+60>>2]=0;i=d;return}function gG(b,d,e,f){b=b|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,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Wz(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=Ux(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function hG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}kC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=Vw(c[f>>2]|0)|0;do if(qy(c[(c[g>>2]|0)+56>>2]|0,l)|0){Xw(c[m>>2]|0,22,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Kz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Kj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{DA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Dz(c[m>>2]|0,38,c[j>>2]|0)|0;Xw(c[m>>2]|0,46,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+76|0;c[a>>2]=(c[a>>2]|0)+1;DA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Dz(c[m>>2]|0,38,c[k>>2]|0)|0;$w(c[m>>2]|0,139,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function iG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(Sz(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function jG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+32>>1]|0}function kG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+42>>0]|0|0}function lG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+38>>0]|0}function mG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function nG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function oG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[M>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[M>>2]>>0];c[O>>2]=c[(c[M>>2]|0)+4>>2];c[N>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))DG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[F>>2]=c[c[t>>2]>>2];if(c[(c[M>>2]|0)+8>>2]|0){if(((c[(c[M>>2]|0)+8>>2]|0)+(c[F>>2]|0)|0)>(c[(c[P>>2]|0)+76>>2]|0)){h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}}else{if(c[R>>2]|0){c[N>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[N>>2]=(c[N>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[M>>2]|0)+8>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}c[(c[M>>2]|0)+12>>2]=c[F>>2];c[T>>2]=c[(c[M>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;MA(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break a;$w(c[U>>2]|0,47,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;r=(c[P>>2]|0)+76|0;c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);vA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Sz(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=25;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(Hz(c[U>>2]|0)|0)+(c[F>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=Ux(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[F>>2]|0)-1|0))$w(n,78,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else $w(n,79,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Kh(c[U>>2]|0,-1,c[x>>2]|0,-4);Hh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}$w(c[U>>2]|0,30,c[T>>2]|0,c[A>>2]|0,(c[F>>2]|0)-1|0)|0;break}case 1:{vA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:EG(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[F>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))DG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=aA(c[P>>2]|0)|0;$w(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[y>>2]|0)|0;Xw(c[U>>2]|0,110,c[O>>2]|0,c[y>>2]|0)|0;eA(c[P>>2]|0,c[y>>2]|0);break}case 2:{$w(c[U>>2]|0,111,c[O>>2]|0,c[T>>2]|0,c[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[H>>2]=qA(c[P>>2]|0,(c[N>>2]|0)+1|0)|0;$w(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(Hz(c[U>>2]|0)|0)+4;Gh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,c[v>>2]|0,c[H>>2]|0,0)|0;Xw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[H>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)JG(n,c[R>>2]|0,c[Q>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0,c[T>>2]|0,1,c[N>>2]|0);else{c[K>>2]=aA(n)|0;Xw(c[U>>2]|0,74,c[O>>2]|0,c[K>>2]|0)|0;$w(c[U>>2]|0,75,c[O>>2]|0,c[H>>2]|0,c[K>>2]|0)|0;Hh(c[U>>2]|0,8);eA(c[P>>2]|0,c[K>>2]|0)}tA(c[P>>2]|0,c[H>>2]|0,(c[N>>2]|0)+1|0);break}case 11:{n=YA(c[c[(c[t>>2]|0)+4>>2]>>2]|0,a[(c[M>>2]|0)+1>>0]|0)|0;a[(c[M>>2]|0)+1>>0]=n;n=c[P>>2]|0;if(c[R>>2]|0){JG(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break b}else{c[I>>2]=aA(n)|0;_w(c[U>>2]|0,49,c[T>>2]|0,1,c[I>>2]|0,(c[M>>2]|0)+1|0,1)|0;IA(c[P>>2]|0,c[T>>2]|0,1);Xw(c[U>>2]|0,110,c[O>>2]|0,c[I>>2]|0)|0;eA(c[P>>2]|0,c[I>>2]|0);break b}}case 3:{Xw(c[U>>2]|0,22,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)JG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){JG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[F>>2]|0,c[N>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Dz(n,18,c[(c[M>>2]|0)+4>>2]|0)|0;break b}else{Xw(n,33,c[T>>2]|0,c[F>>2]|0)|0;IA(c[P>>2]|0,c[T>>2]|0,c[F>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[G>>2]=c[(c[M>>2]|0)+16>>2];c[E>>2]=c[c[G>>2]>>2];c[J>>2]=aA(c[P>>2]|0)|0;c[L>>2]=qA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[L>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Gh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[F>>2]|0)|0;$w(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){Xw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Hh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;Xw(n,31,(c[T>>2]|0)+(e[(c[(c[G>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[L>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}Xw(n,73,c[O>>2]|0,(c[L>>2]|0)+(c[E>>2]|0)|0)|0;$w(c[U>>2]|0,49,c[L>>2]|0,(c[E>>2]|0)+2|0,c[J>>2]|0)|0;Xw(c[U>>2]|0,110,c[O>>2]|0,c[J>>2]|0)|0;if(c[B>>2]|0)Lz(c[U>>2]|0,c[B>>2]|0);eA(c[P>>2]|0,c[J>>2]|0);tA(c[P>>2]|0,c[L>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}Xw(c[U>>2]|0,141,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function pG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;qG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function qG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+8>>2]=203;c[f+24>>2]=c[g>>2];hy(f,c[e>>2]|0)|0;i=d;return}function rG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+453>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Dh(b,36286,h)|0;_w(c[g>>2]|0,161,c[(c[e>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function sG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+39>>0]|0|0}function tG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;$w(c[(c[j>>2]|0)+8>>2]|0,29,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;uA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function uG(b,d){b=b|0;d=d|0;var 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;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=qA(c[f>>2]|0,c[m>>2]|0)|0;MA(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Iz(c[u>>2]|0)|0;EG(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=Ux(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+76|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}_w(c[u>>2]|0,34,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}_w(c[u>>2]|0,143,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Hh(c[u>>2]|0,c[m>>2]&255);IA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);tA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Mz(c[u>>2]|0,c[j>>2]|0);kC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Dz(c[u>>2]|0,45,c[t>>2]|0)|0;kC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;DA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;kC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Lz(c[u>>2]|0,c[h>>2]|0);i=v;return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;_w(c[h>>2]|0,145,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}$w(c[k>>2]|0,25,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=gG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;_w(c[k>>2]|0,57,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ch(c[d>>2]|0,36235,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function xG(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function yG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+453>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?36194:19010;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=19010;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Dh(b,36217,l)|0;_w(c[(c[j>>2]|0)+8>>2]|0,161,c[(c[j>>2]|0)+468>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function zG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,36186)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,36190)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function AG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;s=E+84|0;h=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;w=E+36|0;m=E+32|0;x=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[s>>2]=a;c[h>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[v>>2]=Iz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){Xw(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Kz(c[D>>2]|0,c[C>>2]|0)|0;Mz(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=aA(c[s>>2]|0)|0;c[x>>2]=aA(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[s>>2]|0)+76|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+72|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=_A(c[s>>2]|0)|0;$w(c[D>>2]|0,60,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Lz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(Xw(c[D>>2]|0,106,c[z>>2]|0,c[C>>2]|0)|0);DG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);$w(c[D>>2]|0,100,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(Xw(c[D>>2]|0,107,c[z>>2]|0,c[C>>2]|0)|0);DG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;$w(c[D>>2]|0,47,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:{Xw(c[D>>2]|0,74,c[m>>2]|0,c[y>>2]|0)|0;$w(c[D>>2]|0,75,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Hh(c[D>>2]|0,8);break}case 11:{_w(c[D>>2]|0,49,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;IA(c[s>>2]|0,c[x>>2]|0,1);Xw(c[D>>2]|0,110,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{tG(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{h=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){Xw(h,33,c[j+8>>2]|0,c[t>>2]|0)|0;IA(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{Dz(h,18,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){eA(c[s>>2]|0,c[x>>2]|0);eA(c[s>>2]|0,c[y>>2]|0)}Mz(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)Xw(k,3,j,h)|0;else Xw(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Mz(B,D);i=E;return}Dz(c[D>>2]|0,15,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Mz(B,D);i=E;return}function BG(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+453>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;UB(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];VB(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Dh(g,36177,v)|0}else g=ph(g,c[w>>2]|0)|0;c[w>>2]=g;VB(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=25353;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;VB(e,f,0,ph(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Dh(f,30741,u)|0;VB(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{VB(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}CG(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function CG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Sx(h,c[g>>2]|0,0)|0;VB(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function DG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}$w(c[e>>2]|0,138,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function EG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=aA(c[j>>2]|0)|0;Gh(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;$w(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Xw(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;eA(c[j>>2]|0,c[h>>2]|0);i=g;return}function FG(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=HG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+76|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(vy(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=IG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+76|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ii(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+72|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function GG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=xC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function IG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=xC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function JG(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;r=J+88|0;s=J+84|0;m=J+80|0;n=J+76|0;o=J+72|0;t=J+68|0;p=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;q=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[I>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[z>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[z>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[H>>2]=j;c[B>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[F>>2]=(c[n>>2]|0)-(c[z>>2]|0)-(c[x>>2]|0);else{c[F>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;j=(c[r>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[y>>2]=k;m=Iz(c[I>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;MA(c[r>>2]|0,c[c[s>>2]>>2]|0,c[F>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)Xw(c[I>>2]|0,73,c[(c[s>>2]|0)+8>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;if(!(c[p>>2]|0))tG(c[r>>2]|0,c[n>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);$w(c[I>>2]|0,49,(c[F>>2]|0)+(c[B>>2]|0)|0,(c[q>>2]|0)-(c[B>>2]|0)|0,c[H>>2]|0)|0;if((c[B>>2]|0)>0){c[G>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[A>>2]=(c[z>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[I>>2]|0;if(c[x>>2]|0)c[v>>2]=Dz(k,46,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;else c[v>>2]=Dz(k,59,c[(c[s>>2]|0)+8>>2]|0)|0;$w(c[I>>2]|0,42,c[G>>2]|0,c[F>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[E>>2]=Sz(c[I>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=J;return}c[(c[E>>2]|0)+8>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[D>>2]=c[(c[E>>2]|0)+16>>2];tR(c[(c[D>>2]|0)+16>>2]|0,0,e[(c[D>>2]|0)+6>>1]|0)|0;Kh(c[I>>2]|0,-1,c[D>>2]|0,-6);D=gG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[B>>2]|0,(e[(c[D>>2]|0)+8>>1]|0)-1|0)|0;c[(c[E>>2]|0)+16>>2]=D;c[w>>2]=Hz(c[I>>2]|0)|0;$w(c[I>>2]|0,43,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;D=Iz(c[I>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=D;D=(c[r>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[s>>2]|0)+12>>2]=E;Xw(c[I>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Dz(c[I>>2]|0,120,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[y>>2]|0)Xw(c[I>>2]|0,46,c[y>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Lz(c[I>>2]|0,c[v>>2]|0);tG(c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Lz(c[I>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[C>>2]=109;else c[C>>2]=110;Xw(c[I>>2]|0,c[C>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[H>>2]|0)|0;if(!(c[y>>2]|0)){i=J;return}c[u>>2]=$w(c[I>>2]|0,140,c[y>>2]|0,0,1)|0;Dz(c[I>>2]|0,105,c[(c[s>>2]|0)+8>>2]|0)|0;Dz(c[I>>2]|0,95,c[(c[s>>2]|0)+8>>2]|0)|0;Lz(c[I>>2]|0,c[u>>2]|0);i=J;return}function KG(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=ty(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;dv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=KG(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=KG(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){LG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{MG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function LG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){MG(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);MG(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);MG(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=KG(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=KG(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;LG(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)MG(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function MG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=KG(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function NG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Iv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function OG(a,b,e){a=a|0;b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+112|0;p=G+108|0;q=G+104|0;g=G+100|0;l=G+96|0;E=G+92|0;A=G+88|0;t=G+84|0;s=G+80|0;r=G+76|0;v=G+72|0;B=G+68|0;w=G+64|0;k=G+60|0;j=G+56|0;u=G+36|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(Sw(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Iz(c[E>>2]|0)|0;hG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+72|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+72|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;dB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;$w(c[E>>2]|0,60,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=SG(c[o>>2]|0,c[p>>2]|0,1)|0;_w(c[E>>2]|0,57,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+16>>2]=c[z>>2]}else Xw(c[E>>2]|0,57,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=Xw(c[E>>2]|0,57,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|16}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Iv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=Xw(c[E>>2]|0,108,c[w>>2]|0,c[r>>2]|0)|0;Dz(c[E>>2]|0,104,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)$w(b,47,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else Xw(b,102,e,c[B>>2]|0)|0;Dz(c[E>>2]|0,95,c[w>>2]|0)|0;c[s>>2]=Iz(c[E>>2]|0)|0;DG(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);oG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)Xw(c[E>>2]|0,141,c[C>>2]|0,c[r>>2]|0)|0;Mz(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Ch(c[o>>2]|0,36458,F);else{c[(c[p>>2]|0)+48>>2]=0;Iv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Kz(c[E>>2]|0,c[t>>2]|0)|0;Mz(c[E>>2]|0,c[r>>2]|0)}$u(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function PG(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+212|0;r=ba+208|0;s=ba+204|0;t=ba+200|0;j=ba+196|0;k=ba+192|0;S=ba+188|0;aa=ba+184|0;H=ba+164|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Iz(c[aa>>2]|0)|0;c[L>>2]=Iz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Pv(c[G>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Mv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Lw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=SG(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=By(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;f=(c[r>>2]|0)+76|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);Xw(c[aa>>2]|0,22,0,c[Z>>2]|0)|0;c[Q>>2]=Wz(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=RG(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ey(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29687)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ey(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29687)|0;hG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+76|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+76|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;Xw(c[aa>>2]|0,30,j,c[V>>2]|0)|0;Xw(c[aa>>2]|0,30,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}dv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;dv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;dB(H,13,c[T>>2]|0);dB(I,13,c[U>>2]|0);c[E>>2]=(Hz(c[aa>>2]|0)|0)+1;c[v>>2]=$w(c[aa>>2]|0,16,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+472>>2];Iv(c[r>>2]|0,c[S>>2]|0,H)|0;DC(c[aa>>2]|0,c[T>>2]|0);Lz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(Hz(c[aa>>2]|0)|0)+1;c[v>>2]=$w(c[aa>>2]|0,16,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+472>>2];Iv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];DC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=TG(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=TG(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;Xz(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=Xw(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=Xw(c[aa>>2]|0,18,c[U>>2]|0,c[M>>2]|0)|0;Kz(c[aa>>2]|0,c[z>>2]|0)|0;$=QD(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=Xw(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;Xw(c[aa>>2]|0,18,c[T>>2]|0,c[M>>2]|0)|0;Kz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=Xw(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;Xw(c[aa>>2]|0,18,c[T>>2]|0,c[z>>2]|0)|0;Kz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=Xw(c[aa>>2]|0,18,c[T>>2]|0,c[z>>2]|0)|0;Kz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=Hz(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)Xw(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;Xw(c[aa>>2]|0,18,c[U>>2]|0,c[B>>2]|0)|0;Kz(c[aa>>2]|0,c[L>>2]|0)|0;Lz(c[aa>>2]|0,c[v>>2]|0);Xw(c[aa>>2]|0,18,c[T>>2]|0,c[A>>2]|0)|0;Xw(c[aa>>2]|0,18,c[U>>2]|0,c[B>>2]|0)|0;Mz(c[aa>>2]|0,c[L>>2]|0);_w(c[aa>>2]|0,41,0,0,0,c[u>>2]|0,-15)|0;_w(c[aa>>2]|0,42,c[H+8>>2]|0,c[I+8>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Hh(c[aa>>2]|0,1);$w(c[aa>>2]|0,43,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;Mz(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}BG(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)av(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];QG(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+68>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function QG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+453>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?36402:19010;b=Dy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Dh(a,36421,o)|0;_w(c[n>>2]|0,161,c[(c[h>>2]|0)+468>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function RG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=RG(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=Ux(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function SG(b,d,f){b=b|0;d=d|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,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=Wz(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=Ux(f,c[q>>2]|0)|0;else{c[m>>2]=RG(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Hy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function TG(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=Hz(c[C>>2]|0)|0;c[y>>2]=Iz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Dz(c[C>>2]|0,46,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[x>>2]=_w(k,42,b,j,h,$z(c[t>>2]|0)|0,-6)|0;$w(c[C>>2]|0,43,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Lz(c[C>>2]|0,c[w>>2]|0);$w(c[C>>2]|0,30,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;Xw(c[C>>2]|0,22,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}DG(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=aA(c[n>>2]|0)|0;c[B>>2]=aA(c[n>>2]|0)|0;$w(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;Xw(c[C>>2]|0,74,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;$w(c[C>>2]|0,75,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Hh(c[C>>2]|0,8);eA(c[n>>2]|0,c[B>>2]|0);eA(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=YA(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=aA(c[n>>2]|0)|0;_w(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;IA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);Xw(c[C>>2]|0,110,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;eA(c[n>>2]|0,c[A>>2]|0);break}case 10:{tG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=qA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}tG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0);Dz(c[C>>2]|0,18,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{Xw(c[C>>2]|0,33,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;IA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)Xw(c[C>>2]|0,141,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;Mz(c[C>>2]|0,c[y>>2]|0);Dz(c[C>>2]|0,15,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function UG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=Vw(c[g>>2]|0)|0;do if(!(Kx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&16777216)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Iz(c[n>>2]|0)|0;Xw(c[n>>2]|0,136,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+442>>0]=1;f=c[g>>2]|0;Xv(f,rz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+442>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&16777216)){f=c[n>>2]|0;Xw(f,136,0,(Hz(c[n>>2]|0)|0)+2|0)|0;hA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Mz(c[n>>2]|0,c[l>>2]|0);i=o;return}function VG(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=Vw(c[g>>2]|0)|0;gx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)cx(c[o>>2]|0,149)|0;c[n>>2]=lx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;GB(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;Uw(n,36719,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?20513:20532;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;Uw(p,36764,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)WG(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;_w(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Ww(q,p);p=c[l>>2]|0;q=c[j>>2]|0;XG(p,q);i=r;return}_w(c[o>>2]|0,151,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;_w(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Ww(q,p);p=c[l>>2]|0;q=c[j>>2]|0;XG(p,q);i=r;return}function WG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;wC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function XG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){YG(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function YG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);dv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function ZG(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(ly(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}my(n,c[m>>2]|0)|0;i=p;return}function _G(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=27;i=f;return}if((d[b>>0]|0|0)!=95){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=27;i=f;return}function $G(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function aH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Kj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function bH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;cH(c[e>>2]|0,c[f>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function cH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function dH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=fB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function eH(f,g){f=f|0;g=g|0;var 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;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+424>>2]|0)iG(c[t>>2]|0,c[(c[h>>2]|0)+424>>2]|0,121);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Iy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Mv(t,0,iz(c[k>>2]|0,27,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+452>>0]|0;c[s>>2]=Bv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0)|0;if(!(c[s>>2]|0)){i=v;return}else{t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-4|2;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Hj(f)|0;if(c[t>>2]|0)iG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if($G(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;c[p>>2]=e[(c[s>>2]|0)+50>>1];if(!(a[(c[k>>2]|0)+144+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0))break;b:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!($G(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(jH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=46;break a}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break b;if(!($G(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==46){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(jH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!($G(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=35343;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function fH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function gH(d,e){d=d|0;e=e|0;var 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;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(hH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=hH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=19010;c[t>>2]=37919;c[r>>2]=35219}else{c[s>>2]=37921;c[t>>2]=37925;c[r>>2]=37930}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ah(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){lh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37933,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;iH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];iH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[6324+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;rR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,18999,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function hH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function iH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[19011+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[19011+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Bi(c[m>>2]|0,c[k>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function jH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{rR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);rR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);rR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Vw(c[d>>2]|0)|0;Ez(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?20513:20532);Gh(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+72>>2]|0){i=e;return}c[(c[d>>2]|0)+72>>2]=1;i=e;return}function lH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=Vw(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+404>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+408>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];_w(c[h>>2]|0,148,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function mH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Fz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,54);Zw(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Ih(c[k>>2]|0,10,38109,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function nH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,40004,d);i=b;return} +function lM(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=mM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(di(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[42919+(sg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=xt(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+200>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+200>>2]&255](c[(c[f>>2]|0)+196>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Mg(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Lg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))nM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Dh(J,42925,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,42955,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,42970,A)|0;c[w>>2]=Tr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,42941,B);vr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=$K(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((di(c[q>>2]|0)|0)!=0?(c[E>>2]=oM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Hg(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=pR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){xK(c[t>>2]|0)|0;vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==((Yr(c[t>>2]|0)|0)&1024|0)?(J=tr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){xK(c[t>>2]|0)|0;vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Mg(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}xK(c[t>>2]|0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=vr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Wj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Lg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Xj();nM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function mM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;MI(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function nM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mu(c[d>>2]|0,64);i=b;return 0}function oM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=pM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function pM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function qM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+56>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){EI(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function rM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+64>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+68>>2]|0))break;EI(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}uC(c[d>>2]|0,c[(c[b>>2]|0)+64>>2]|0);hI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function sM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[6420+(c[b>>2]<<2)>>2]|0}function tM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+192|0;x=K+88|0;w=K+80|0;v=K+72|0;H=K+64|0;G=K+56|0;u=K+48|0;t=K+40|0;s=K+32|0;z=K+24|0;y=K+16|0;D=K+8|0;r=K;j=K+176|0;k=K+172|0;L=K+168|0;J=K+164|0;I=K+136|0;A=K+132|0;C=K+128|0;B=K+124|0;E=K+120|0;o=K+116|0;p=K+112|0;F=K+108|0;q=K+104|0;m=K+100|0;l=K+96|0;n=K+92|0;c[j>>2]=b;c[k>>2]=f;c[L>>2]=g;c[J>>2]=c[k>>2];dg(I,0,c[k>>2]|0,c[L>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[C>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[C>>2]|0)+6>>1];fA(I,43022,r);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(e[(c[C>>2]|0)+6>>1]|0))break;c[B>>2]=c[(c[C>>2]|0)+20+(c[A>>2]<<2)>>2];if(c[B>>2]|0)j=c[c[B>>2]>>2]|0;else j=19010;c[E>>2]=j;L=(HQ(c[E>>2]|0,35343)|0)==0;c[E>>2]=L?43027:j;L=c[E>>2]|0;c[D>>2]=(d[(c[(c[C>>2]|0)+16>>2]|0)+(c[A>>2]|0)>>0]|0)!=0?28860:19010;c[D+4>>2]=L;fA(I,43029,D);c[A>>2]=(c[A>>2]|0)+1}gA(I,35219,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[y>>2]=c[c[o>>2]>>2];fA(I,43035,y);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];L=a[c[p>>2]>>0]|0;c[z>>2]=c[(c[p>>2]|0)+20>>2];c[z+4>>2]=L;fA(I,43043,z);break}case -13:{G=c[(c[j>>2]|0)+16>>2]|0;H=c[G+4>>2]|0;L=s;c[L>>2]=c[G>>2];c[L+4>>2]=H;fA(I,28862,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];fA(I,43050,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];fA(I,43053,u);break}case -8:{c[F>>2]=c[(c[j>>2]|0)+16>>2];j=c[F>>2]|0;if(e[(c[F>>2]|0)+8>>1]&2){c[J>>2]=c[j+16>>2];break a}k=c[F>>2]|0;if(e[j+8>>1]&4){F=k;H=c[F+4>>2]|0;L=G;c[L>>2]=c[F>>2];c[L+4>>2]=H;fA(I,28862,G);break a}j=c[F>>2]|0;if(e[k+8>>1]&8){h[H>>3]=+h[j>>3];fA(I,43053,H);break a}if(e[j+8>>1]&1){c[J>>2]=40149;break a}else{c[J>>2]=43059;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];fA(I,43066,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];fA(I,43074,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;gA(I,43078,1);break}case -18:{fA(I,43080,x);break}case -19:{a[c[k>>2]>>0]=0;break}default:{c[J>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[J>>2]|0)){c[J>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(I)|0;i=K;return c[J>>2]|0}function uM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;hh(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function vM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=ah(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;sR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function wM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(xM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function xM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Xg(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))du(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(ah(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}cI(c[j>>2]|0)|0}else yx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function yM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)KF(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function zM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function AM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ni(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function BM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function CM(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+156>>2]|0)>1:0){DM(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(EM(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;xB(c[f>>2]|0);i=g;return}function DM(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function EM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function FM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];zJ(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=gF(c[e>>2]|0)|0;b=sF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=er((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=yJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Oj(59465)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=tH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=AJ(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Fg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;at((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);at((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);at((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;or(c[k>>2]|0)|0;break}c[d>>2]=Oj(59460)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function GM(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=kr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function HM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=ug(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Fg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){wt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}xg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function IM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ks(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Mt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[381]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=pR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Hg(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=pR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=pR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Mt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=pR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=pR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=pR(q|0,C|0,4,0)|0,q=Mt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=pR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=pR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=pR(q|0,C|0,8,0)|0,q=Hg(p,26509,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=pR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Vi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=sr(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function JM(f){f=f|0;var 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;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(lj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=cs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Es(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[381]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=ug(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=KM(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Es(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=cs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Es(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function KM(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=LM(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}es(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(oj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=MM(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=rt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function LM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;e=k;c[h>>2]=b;c[j>>2]=0;c[f>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[b+44>>2];j=c[g>>2]|0;i=k;return j|0}if((xr(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=ij(c[(c[h>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+60>>2]=b;if(!(c[(c[h>>2]|0)+60>>2]|0)){c[g>>2]=7;j=c[g>>2]|0;i=k;return j|0}do if(!(c[c[(c[h>>2]|0)+68>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){NM(c[b+68>>2]|0);break}c[e>>2]=6|((d[b+13>>0]|0|0)!=0?4104:2048);c[j>>2]=OM(c[h>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Pr(c[f>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[e>>2]|0,0)|0}while(0);if(!(c[j>>2]|0)){c[(c[h>>2]|0)+48>>2]=0;f=(c[h>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;a[(c[h>>2]|0)+20>>0]=0;f=(c[h>>2]|0)+88|0;c[f>>2]=0;c[f+4>>2]=0;c[j>>2]=yt(c[h>>2]|0)|0}}b=c[h>>2]|0;if(c[j>>2]|0){nj(c[b+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[g>>2]=c[j>>2];j=c[g>>2]|0;i=k;return j|0}function MM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=bs(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Mt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=pR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Hg(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=pR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=pR(p|0,C|0,4,0)|0;c[l>>2]=Mt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=pR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=jj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=Nt(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function NM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ot(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function OM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=yi(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function PM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;tR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=64;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=AR((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Hs(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function QM(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=RM(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function RM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function SM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function TM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=TJ(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=uF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=er((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Eg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(EQ((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(EQ(c[j>>2]|0,42903,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=ZJ(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}wB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((EQ((c[j>>2]|0)+21|0,45149,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){wB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Si(c[o>>2]|0);c[l>>2]=Ti(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Oj(58737)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(er((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(er((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);wB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function UM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(xr(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Bt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=At(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Ar(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Bt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Ar(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=VM(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function VM(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Ss(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(EQ(b,ys(c[e>>2]|0)|0,48)|0){Gr(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+240>>2]|0)XM(c[(c[d>>2]|0)+240>>2]|0);rJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function XM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[d>>2]|0);i=b;return}function YM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1925]|0;if((b|0)!=(UQ()|0)){c[1925]=UQ()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=NN(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=cO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=dO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=JN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[($P()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=JN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=jt(33278)|0;c[B>>2]=FN(F,45228,c[E>>2]|0,33278)|0;break}if(c[l>>2]&526336){eO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[7460>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=fO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function ZM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[7460>>2]&255](c[f>>2]|0)|0)==-1){if((c[($P()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=FN(2570,45325,c[f>>2]|0,33404)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[7472>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(UN(c[h>>2]|0,0,0)|0)c[j>>2]=FN(1290,45559,c[f>>2]|0,33414)|0;EN(0,c[h>>2]|0,33416)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function _M(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[7316>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[7292>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function $M(b,d,e,f){b=b|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,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[7592>>2]&255](c[o>>2]|0,k)|0){if((c[($P()|0)>>2]|0)!=2){s=jt(33528)|0;c[p>>2]=FN(s,45413,c[o>>2]|0,33528)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=jt(33539)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[7580>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=jt(33545)|0;c[p>>2]=FN(s,45404,c[o>>2]|0,33545)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=jt(33551)|0;break}else{sR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;rR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=bO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function aN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;tR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1925]=UQ()|0;c[h>>2]=JN(45546,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[7700]|0;a[e+1>>0]=a[7701]|0;a[e+2>>0]=a[7702]|0;a[e+3>>0]=a[7703]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[7364>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[($P()|0)>>2]|0)==4);EN(0,c[h>>2]|0,33675);e=c[f>>2]|0;i=l;return e|0}function bN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;ZQ(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function cN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=eN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[($P()|0)>>2]|0;i=e;return d|0}function eN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=AR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=pR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function fN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[7264+((c[g>>2]|0)*12|0)+8>>2]|0)c[7264+((c[g>>2]|0)*12|0)+4>>2]=c[7264+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(HQ(c[e>>2]|0,c[7264+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[7264+(d*12|0)+8>>2]|0))c[7264+((c[g>>2]|0)*12|0)+8>>2]=c[7264+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[7264+((c[g>>2]|0)*12|0)+8>>2];c[7264+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function gN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(HQ(c[d>>2]|0,c[7264+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[7264+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function hN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(HQ(c[d>>2]|0,c[7264+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[7264+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[7264+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function iN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7188}function jN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];qN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=XN(c[d>>2]|0)|0;i=b;return a|0}function kN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=WN(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{SN(c[l>>2]|0,0);tR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function lN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=QN(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=pR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}SN(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function mN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=pR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=oR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=yR(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=AR(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=VN(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;SN(k,c[($P()|0)>>2]|0);c[e>>2]=FN(1546,45251,c[(c[g>>2]|0)+32>>2]|0,31121)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function nN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=UN(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){SN(d,c[($P()|0)>>2]|0);c[f>>2]=FN(1034,45535,c[(c[h>>2]|0)+32>>2]|0,31076)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[7472>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){UN(c[g>>2]|0,0,0)|0;EN(c[h>>2]|0,c[g>>2]|0,31090)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function oN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[7328>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;SN(j,c[($P()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function pN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[7484>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[($P()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=TN(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)SN(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function qN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[7496>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[($P()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;SN(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function rN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[7292>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function sN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=LN(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{MN(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{MN(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(18999,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){NN(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=ON(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function tN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function uN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function vN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=KN(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=KN(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=KN(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function wN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;AN();CN();i=b;return}function xN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;AN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[7460>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;BN(c[g>>2]|0)}CN();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function yN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function zN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function AN(){return}function BN(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=DN()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[7544>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){EN(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,31697);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function CN(){return}function DN(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[7568>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[7280>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;FN(4106,45191,e,c[f>>2]|0)|0;i=g;return}function FN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[($P()|0)>>2];c[m>>2]=aQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=19010;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,45197,l);i=n;return c[f>>2]|0}function GN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=cQ(d,a,f)|0;i=e;return a|0}function HN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,18999,l)|0;c[h>>2]=KQ(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=JN(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=FN(jt(31035)|0,45332,j,31035)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function IN(){return ib(30)|0}function JN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[7268>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[($P()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[7280>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,45419,l);c[h>>2]=-1;if((Ob[c[7268>>2]&255](45462,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[7328>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[7436>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function KN(a,d,e,f){a=a|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;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1838]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[7328>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=pR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=oR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=yR(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=AR(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=pR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=oR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=oR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=QN(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,19010,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=pR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function MN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function NN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[k>>2]=PN()|0;while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,45472,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=4;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=4;break}if(Yb[c[7292>>2]&255](c[f>>2]|0,0)|0){e=6;break}}if((e|0)==4){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==6){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function ON(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[7316>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function PN(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+96|0;b=e+80|0;a=e+4|0;d=e;c[d>>2]=c[241];if(!(c[1900]|0))c[1900]=rb(45489)|0;if(!(c[1901]|0))c[1901]=rb(45503)|0;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=6){a=12;break}if((((c[d>>2]|0)!=0?(Yb[c[7316>>2]&255](c[d>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[7292>>2]&255](c[d>>2]|0,7)|0)==0:0){a=12;break}f=c[b>>2]|0;c[b>>2]=f+1;c[d>>2]=c[7600+(f<<2)>>2]}if((a|0)==12){i=e;return c[d>>2]|0}return 0}function QN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=RN(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function RN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=VQ(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[7400>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[($P()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[($P()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function SN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function TN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function UN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=QQ(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function VN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[7340>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[($P()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function WN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=VQ(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[7364>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=pR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[($P()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;SN(p,c[($P()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;SN(p,c[($P()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function XN(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){EN(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,29444);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function YN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7624}function ZN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XN(c[d>>2]|0)|0;i=b;return a|0}function _N(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function $N(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function aO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function bO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[7304>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=jt(33471)|0;c[f>>2]=FN(b,45233,c[g>>2]|0,33471)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=jt(33480)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,18999,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function cO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[7316>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}AN();c[e>>2]=c[1945];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}CN();k=c[f>>2]|0;i=j;return k|0}function dO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+624|0;h=r+100|0;j=r+96|0;k=r+92|0;l=r+88|0;m=r+84|0;o=r+80|0;q=r+104|0;n=r+76|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}rR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(Yb[c[7316>>2]&255](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function eO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[7520>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[7508>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function fO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,45565,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(HQ(c[(c[j>>2]|0)+16>>2]|0,45181)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=7624;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=7704){if((c[o>>2]|0)==7188){c[n>>2]=(KQ(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,45570,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{AN();c[q>>2]=gO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){EN(c[p>>2]|0,c[k>>2]|0,32813);c[k>>2]=-1}CN()}SN(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];hO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}EN(c[p>>2]|0,c[k>>2]|0,32898);u=c[q>>2]|0;i=t;return u|0}function gO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[7328>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;SN(m,c[($P()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1945];while(1){if(c[j>>2]|0)a=(EQ(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1945];c[(c[j>>2]|0)+36>>2]=0;if(c[1945]|0)c[(c[1945]|0)+36>>2]=c[j>>2];c[1945]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function hO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[7328>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45578,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45602,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,45631,j);i=l;return}if(!(ON(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45658,k);i=l;return}function iO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];hO(c[d>>2]|0);kO(c[b>>2]|0,0)|0;AN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)rO(c[d>>2]|0);sO(c[d>>2]|0);c[e>>2]=XN(c[b>>2]|0)|0;CN();i=f;return c[e>>2]|0}function jO(e,f){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;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}AN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[381],(pO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[($P()|0)>>2];c[o>>2]=TN(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;SN(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[381]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((pO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[($P()|0)>>2],c[o>>2]=TN(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)SN(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[381]|0)+2;c[h+8>>2]=510;if(pO(c[m>>2]|0,h)|0){c[j>>2]=c[($P()|0)>>2];c[o>>2]=TN(c[j>>2]|0,3850)|0}c[h+4>>2]=c[381];c[h+8>>2]=1;b[h>>1]=2;q=(pO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[($P()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;SN(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);CN();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function kO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function lO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];AN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[381]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1838]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;SN(o,c[($P()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);CN();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function mO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=DN()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=nO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[7328>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((RN(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19010,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=FN(4874,45286,c[y>>2]|0,31960)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1883]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=AR(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}tR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=FN(5386,45373,c[(c[C>>2]|0)+8>>2]|0,31987)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function nO(b){b=b|0;var 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;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;AN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[7328>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(KQ(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}tR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,45686,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,45693,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=JN(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=jt(31812)|0;c[m>>2]=FN(p,45228,c[q>>2]|0,31812)|0;break}eO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((KN(c[f>>2]|0,1,128,1)|0)==0?(VN(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=FN(4618,45251,c[q>>2]|0,31828)|0;if(!(c[m>>2]|0))c[m>>2]=KN(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);BN(c[f>>2]|0);Kd(c[j>>2]|0);CN();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];CN();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function oO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}AN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[381]|0)+2,c[k+8>>2]=510,(pO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;SN(q,c[($P()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[381];c[k+8>>2]=2;if(!(pO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;SN(q,c[($P()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(pO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;SN(q,c[($P()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))qO(c[l>>2]|0)}CN();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function pO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[381]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1838]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1838]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function qO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];EN(c[b>>2]|0,c[c[d>>2]>>2]|0,28716);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function rO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function sO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}qO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1945]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function tO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7704}function uO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=ee(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function vO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+ce(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function wO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function xO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ae(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function yO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=pR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=jA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function zO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=288;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function AO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Pi(5,c[j>>2]|0);b=288;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=288;j=c[e>>2]|0;j=oR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[77]=1;zO(c[e>>2]|0);break}else{c[77]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Qi(0,c[e>>2]|0);Qi(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function BO(){DO(9608,3);return}function CO(){DO(9384,8);return}function DO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[18221+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=cu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1080+(c[g>>2]<<2)>>2];c[1080+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function EO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ae(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;ke(h,yd(c[f>>2]|0)|0);i=g;return}function FO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=de(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;ne(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function GO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,jf()|0,-1,0);i=e;return}function HO(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((fe(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=be(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ae(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=AR(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=oP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=46313;c[l>>2]=9380;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ve(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(EQ(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(EQ((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}ne(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function IO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ve(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=pP(c[e>>2]|0)|0;c[j>>2]=0;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fe(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=iI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}pe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function JO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=xe(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(fe(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}qP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=we(d)|0;c[(c[l>>2]|0)+32>>2]=m;ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=pP(d)|0;c[j>>2]=(ve(c[g>>2]|0)|0)!=0&1;c[h>>2]=iI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){qP(c[g>>2]|0);i=n;return}ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function KO(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)pe(c[d>>2]|0,c[e>>2]|0);Wg(c[e>>2]|0);i=f;return}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fe(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=40168;break}case 3:{c[f>>2]=46303;break}case 2:{c[f>>2]=40163;break}case 4:{c[f>>2]=46308;break}default:c[f>>2]=40176}ne(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function MO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(fe(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{ke(c[g>>2]|0,be(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ae(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}ke(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{me(c[g>>2]|0);i=l;return}}}function NO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=fe(c[c[g>>2]>>2]|0)|0;c[n>>2]=fe(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=be(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ae(b)|0;c[p>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(EQ(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;ke(c[f>>2]|0,c[h>>2]|0);i=q;return}function OO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=we(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=ae(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+92>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;fA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;ne(n,o,c[k>>2]|0,170);i=p;return}function PO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;ke(j,pC(g)|0);i=h;return}function QO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){te(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=ee(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;oe(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function RO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=ee(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=oR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}je(c[e>>2]|0,46258,-1);i=k;return}while(0);j=g;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];ie(c[e>>2]|0,+h[j>>3]);i=k;return}}}function SO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fe(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=de(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fe(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+ce(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(46298,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Qy(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}te(c[e>>2]|0);i=m;return}while(0);ie(c[e>>2]|0,+h[j>>3]);i=m;return}function TO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=pR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=oP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[19011+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function UO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=pR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=oP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[18221+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function VO(b,e,f){b=b|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;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=$d(c[c[p>>2]>>2]|0)|0;c[k>>2]=be(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=AR(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=pR(b|0,C|0,1,0)|0;b=oP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[46282+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[46282+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function WO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=oR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}le(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=de(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=oP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);ge(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=pP(c[e>>2]|0)|0;if(!(iI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}pe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function ZO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,kf()|0,-1,0);i=e;return}function _O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=de(c[c[g>>2]>>2]|0)|0;c[f>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,18999,f);i=e;return}function $O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(fe(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+ce(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28867,r)|0;Qy(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,46275,s)|0}ne(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{pe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=$d(c[c[j>>2]>>2]|0)|0;c[o>>2]=be(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=oP(u,pR(AR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[46282+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[46282+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;ne(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=pR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=pR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=pR(x|0,C|0,3,0)|0;c[t>>2]=oP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;ne(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{ne(c[g>>2]|0,40149,4,0);i=y;return}}}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;le(d,a,C);i=e;return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,qf(c[f>>2]|0)|0);i=e;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,rf(c[f>>2]|0)|0);i=e;return}function dP(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=be(c[c[g>>2]>>2]|0)|0;c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){pe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=be(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=oP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(EQ((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=we(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=pR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+92>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}rR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){se(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){te(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){rR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;ne(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=ee(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=qe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}re(c[e>>2]|0,c[f>>2]|0);i=g;return}function fP(b,e,f){b=b|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,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((fe(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(fe(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=fe(c[c[h>>2]>>2]|0)|0;b=de(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=be(e)|0;c[p>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ae(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=de(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=oR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(we(c[m>>2]|0)|0)+92>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=pR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=pR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=pR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=pR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=oR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=pR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=pR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=oR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;he(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=pR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=pR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;oe(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function gP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=xe(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=pR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+ce(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=ee(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(eI((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function hP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){je(c[d>>2]|0,46258,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){ie(d,+h[b>>3]);i=f;return}else{g=b+8|0;le(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function iP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;ie(a,f);i=d;return}f=+h[c[b>>2]>>3];ie(a,f);i=d;return}function jP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;ie(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function kP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=xe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(fe(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=pR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function lP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;le(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;le(a,b,e);i=d;return}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=xe(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=we(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+92>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=37919;c[k>>2]=1}if(c[k>>2]|0)gA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}gA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function nP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){se(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){te(b);i=f;return}else{ne(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=we(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){se(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}te(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function pP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function qP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function rP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(zP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}AP(f);j=f;ie(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function sP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(zP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}CP(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,46599,f)|0;ne(c[e>>2]|0,h,-1,-1);i=j;return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(zP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}DP(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,46584,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(zP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}BP(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,46554,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function vP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(zP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=we(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+92>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){se(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Lw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){te(c[m>>2]|0);i=J;return}}else c[G>>2]=H;AP(E);BP(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,46396,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,46401,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,46396,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;AP(F);k=E;l=F;c[p>>2]=yR(pR(oR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=pR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=yR(l|0,C|0,864e5,0)|0;l=zR(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,46396,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,46408,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,43053,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,46396,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,46396,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=oR(yR(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28862,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,46396,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=zR(yR(pR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,46413,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;ne(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;tP(c[f>>2]|0,0,0);i=e;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;uP(c[f>>2]|0,0,0);i=e;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;sP(c[f>>2]|0,0,0);i=e;return}function zP(b,d,e,f){b=b|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.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=EP(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=fe(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+ce(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ae(d)|0;if((c[n>>2]|0)!=0?(FP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=ae(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(GP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function AP(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=pR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=pR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=oR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function BP(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;CP(c[d>>2]|0);DP(c[d>>2]|0);i=b;return}function CP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=pR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=yR(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function DP(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}AP(c[d>>2]|0);b=c[d>>2]|0;b=pR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=zR(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function EP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=OP(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function FP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(NP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(JP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,46538)|0)){c[f>>2]=EP(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Qy(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function GP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[18221+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(HQ(c[y>>2]|0,46418)|0){y=c[x>>2]|0;i=z;return y|0}AP(c[w>>2]|0);v=HP(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=pR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;IP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((HQ(c[y>>2]|0,46428)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=pR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=yR(v|0,C|0,86400,0)|0;v=pR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;IP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(HQ(c[y>>2]|0,46438)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}AP(c[w>>2]|0);y=l;c[y>>2]=HP(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=oR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;IP(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=HP(c[w>>2]|0,c[g>>2]|0,x)|0;v=oR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(LQ(c[y>>2]|0,46442,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Qy((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}BP(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;AP(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=zR(yR(pR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=oR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=AR(oR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=pR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;IP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(LQ(c[y>>2]|0,46451,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;CP(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(HQ(c[y>>2]|0,46461)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(HQ(c[y>>2]|0,46467)|0)){CP(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(HQ(c[y>>2]|0,46472)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[19011+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Qy(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[19011+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(JP(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}AP(u);v=u;v=oR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=yR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=AR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=oR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=oR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}AP(c[w>>2]|0);IP(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=pR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[19011+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}AP(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(HQ(c[y>>2]|0,46472)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(HQ(c[y>>2]|0,46476)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(HQ(c[y>>2]|0,46481)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(HQ(c[y>>2]|0,46488)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(HQ(c[y>>2]|0,46461)|0)==0:0){BP(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;AP(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(HQ(c[y>>2]|0,46467)|0)==0:0){c[r>>2]=~~+h[n>>3];BP(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;AP(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);IP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function HP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));BP(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;AP(o);l=o;l=yR(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=oR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(MP(n,m)|0){je(c[j>>2]|0,46515,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;AP(p);c[c[k>>2]>>2]=0;n=p;p=o;p=oR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function IP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function JP(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((KP(b,46495,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((KP(r,46503,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[19011+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[19011+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(LP(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function KP(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[17030+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[19011+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function LP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[19011+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((KP(o,46507,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[19011+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function MP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function NP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((KP(b,46542,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[19011+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(JP(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)AP(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function OP(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+136;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=OH(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function PP(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=ae(c[c[s>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Wu(c[m>>2]|0,k)|0}while((c[k>>2]|0)==160)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Dh(s,46688,l)|0;ne(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function QP(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=ae(c[c[t>>2]>>2]|0)|0;c[q>>2]=ae(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Wu(c[n>>2]|0,l)|0}while((c[l>>2]|0)==160);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=46&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Dh(t,46688,m)|0;ne(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function RP(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=we(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ae(c[c[v>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Wu(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Wu(c[m>>2]|0,j)|0}while((c[j>>2]|0)==160);if((c[j>>2]|0)==161)break;v=c[h>>2]|0;c[s>>2]=Ow(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Pw(c[s>>2]|0)|0;if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19010;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Dh(v,46677,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19010;c[l+4>>2]=s;c[t>>2]=Dh(v,25313,l)|0;ne(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function SP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=fu(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function TP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)wA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function UP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Sj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}SF(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);SF(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function VP(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function WP(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function XP(a){a=a|0;return (a+-97|0)>>>0<26|0}function YP(a){a=a|0;return (a+-65|0)>>>0<26|0}function ZP(a){a=a|0;var b=0;b=(YP(a)|0)==0;return (b?a:a|32)|0}function _P(a){a=a|0;var b=0;b=(XP(a)|0)==0;return (b?a:a&95)|0}function $P(){var a=0;if(!(c[2423]|0))a=9740;else a=c[(qb()|0)+60>>2]|0;return a|0}function aQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[46812+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=46900;e=5;break}}if((e|0)==2)if(!c)b=46900;else{b=46900;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function bQ(a,b,d){a=a|0;b=b|0;d=d|0;var 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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=eQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=eQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=eQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=eQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=eQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=eQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=eQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function cQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=eQ(Db(5,f|0)|0)|0;i=e;return d|0}function dQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[48704+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function eQ(a){a=a|0;if(a>>>0>4294963200){c[($P()|0)>>2]=0-a;a=-1}return a|0}function fQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function gQ(a){a=+a;var b=0;h[k>>3]=a;b=qR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+mQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function hQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=qR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+mQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function iQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=qR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+mQ(f+a*f/(1.0-a))*.5}}else a=+mQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function jQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+kQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+fQ(a);break}while(0);return +a}function kQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=qR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=uR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=uR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function lQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function mQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=uR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function nQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+kQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+fQ(b);while(0);return +a}function oQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+kQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+kQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+kQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function pQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[($P()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)eR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=eQ(cb(192,h|0)|0)|0;if(j)fR()}else{c[($P()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;eR(-1);c[e>>2]=a;c[e+4>>2]=b;a=eQ(Xa(91,e|0)|0)|0;fR();i=d;return a|0}function rQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){dQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=eQ(wb(15,g|0)|0)|0}else d=eQ(d)|0;i=h;return d|0}function sQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){dQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=eQ(fb(195,g|0)|0)|0}else d=eQ(d)|0;i=h;return d|0}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(eb(196,e|0)|0)|0;i=d;return a|0}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(Za(39,e|0)|0)|0;i=d;return a|0}function vQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(fb(195,e|0)|0)|0;i=d;return a|0}function wQ(a){a=a|0;return 0}function xQ(a){a=a|0;return}function yQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=eQ(Cb(6,d|0)|0)|0;i=b;return a|0}function zQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((eQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function AQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2423]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=eQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=eQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function BQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=AQ(b,d,e)|0;i=g;return f|0}function CQ(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=bR(a)|0;break}d=(wQ(a)|0)==0;b=bR(a)|0;if(!d)xQ(a)}else{if(!(c[2434]|0))b=0;else b=CQ(c[2434]|0)|0;Bb(9720);a=c[2429]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=wQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=bR(a)|0|b;if(d)xQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(9720)}while(0);return b|0}function DQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){cR(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)cR(a,d,e,h,o);else dR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}dR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;dR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;dR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function EQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function FQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function GQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);tR(b|0,0,e|0)|0;return b|0}function HQ(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function IQ(a,b){a=a|0;b=b|0;FQ(a,b)|0;return a|0}function JQ(a){a=a|0;var b=0,c=0;c=(KQ(a)|0)+1|0;b=hR(c)|0;if(!b)b=0;else rR(b|0,a|0,c|0)|0;return b|0}function KQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function LQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function MQ(a,b,c){a=a|0;b=b|0;c=c|0;GQ(a,b,c)|0;return a|0}function NQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(sb(33,e|0)|0)|0;i=d;return a|0}function OQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=eQ((a|0)==-4?-115:a)|0;i=b;return a|0}function PQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){dQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=eQ(hb(212,h|0)|0)|0}else e=eQ(e)|0;i=j;return e|0}function QQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=eQ(Oa(118,d|0)|0)|0;i=b;return a|0}function RQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=eQ(gb(194,e|0)|0)|0;i=d;return b|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[($P()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((eQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=JQ(d)|0}else a=0}i=g;return a|0}function TQ(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function UQ(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function VQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(eQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function WQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=eQ(Ab(3,f|0)|0)|0;i=e;return a|0}function XQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=eQ(Ea(85,f|0)|0)|0;i=e;return a|0}function YQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=eQ(Na(40,d|0)|0)|0;i=b;return a|0}function ZQ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function _Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=eQ(yb(10,d|0)|0)|0;i=b;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=eQ(Eb(4,f|0)|0)|0;i=e;return a|0}function aR(a){a=a|0;if(!(c[a+68>>2]|0))xQ(a);return}function bR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function cR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);gR(b,o,e);i=p;return}function dR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){gR(b,p,e);cR(a,b,d,g,h)}i=r;return}function eR(a){a=a|0;return}function fR(){return}function gR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;rR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;rR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function hR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2464]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9896+(e<<2)|0;e=9896+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2468]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2464]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2466]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9896+(e<<2)|0;e=9896+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2468]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2466]|0;break}else Ma()}else{c[2464]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2469]|0;d=k>>>3;b=d<<1;e=9896+(b<<2)|0;a=c[2464]|0;d=1<>2]|0;if(b>>>0<(c[2468]|0)>>>0)Ma();else{l=a;m=b}}else{c[2464]=a|d;l=9896+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2466]=h;c[2469]=i;M=j;return M|0}a=c[2465]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[10160+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2468]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=10160+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2468]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2466]|0;if(b){g=c[2469]|0;d=b>>>3;b=d<<1;f=9896+(b<<2)|0;a=c[2464]|0;d=1<>2]|0;if(a>>>0<(c[2468]|0)>>>0)Ma();else{p=b;q=a}}else{c[2464]=a|d;p=9896+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2466]=j;c[2469]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2465]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[10160+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[10160+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2466]|0)-m|0)>>>0:0){f=c[2468]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=10160+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2468]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9896+(a<<2)|0;d=c[2464]|0;b=1<>2]|0;if(a>>>0<(c[2468]|0)>>>0)Ma();else{s=b;t=a}}else{c[2464]=d|b;s=9896+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=10160+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2465]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2468]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2468]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2466]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2469]|0;if(b>>>0>15){c[2469]=a+q;c[2466]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2466]=0;c[2469]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2467]|0;if(a>>>0>q>>>0){L=a-q|0;c[2467]=L;M=c[2470]|0;c[2470]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2582]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2584]=a;c[2583]=a;c[2585]=-1;c[2586]=-1;c[2587]=0;c[2575]=0;c[2582]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2584]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2574]|0;if((a|0)!=0?(t=c[2572]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2575]&4)){a=c[2470]|0;e:do if(a){f=10304;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2467]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2583]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2572]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2574]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2584]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2575]=c[2575]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2572]|0)+p|0;c[2572]=a;if(a>>>0>(c[2573]|0)>>>0)c[2573]=a;h=c[2470]|0;g:do if(h){g=10304;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2467]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2470]=h+L;c[2467]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2471]=c[2586];break}a=c[2468]|0;if(w>>>0>>0){c[2468]=w;a=w}d=w+p|0;g=10304;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=10304;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2469]|0)){M=(c[2466]|0)+l|0;c[2466]=M;c[2469]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=10160+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2468]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2465]=c[2465]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9896+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9896+(a<<2)|0;d=c[2464]|0;b=1<>2]|0;if(a>>>0>=(c[2468]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=10160+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2465]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2468]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2468]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2467]|0)+l|0;c[2467]=M;c[2470]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=10304;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2470]=w+d;c[2467]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2471]=c[2586];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2576];c[b+4>>2]=c[2577];c[b+8>>2]=c[2578];c[b+12>>2]=c[2579];c[2576]=w;c[2577]=p;c[2579]=0;c[2578]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9896+(a<<2)|0;d=c[2464]|0;b=1<>2]|0;if(a>>>0<(c[2468]|0)>>>0)Ma();else{G=b;H=a}}else{c[2464]=d|b;G=9896+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=10160+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2465]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2468]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2468]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2468]|0;if((M|0)==0|w>>>0>>0)c[2468]=w;c[2576]=w;c[2577]=p;c[2579]=0;c[2473]=c[2582];c[2472]=-1;b=0;do{M=b<<1;L=9896+(M<<2)|0;c[9896+(M+3<<2)>>2]=L;c[9896+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2470]=w+M;c[2467]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2471]=c[2586]}while(0);b=c[2467]|0;if(b>>>0>q>>>0){L=b-q|0;c[2467]=L;M=c[2470]|0;c[2470]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[($P()|0)>>2]=12;M=0;return M|0} +function RI(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else AF(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(GF(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Nu()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=MK(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);rR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function SI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;yH(c[q>>2]|0,p)|0;HF(k,c[r>>2]|0,0);c[f>>2]=nI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else AF(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else AF(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35569+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){CF((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Wg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Wg(k);c[g>>2]=Oj(72372)|0;r=c[g>>2]|0;i=o;return r|0}function TI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];yH(c[m>>2]|0,l)|0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Oj(72406)|0;p=c[f>>2]|0;i=o;return p|0}HF(k,c[g>>2]|0,0);c[n>>2]=nI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=yF(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Wg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function UI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=LK(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function VI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function WI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=tH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}AK(c[e>>2]|0,0,0,1);c[j>>2]=BK(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function XI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;uK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);vK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))wK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function YI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=WI(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function ZI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Sj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function _I(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Sj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];bH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function $I(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Sj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=HB(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function aJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=gF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Wi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[381]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)lK(p,c[m>>2]|0);c[p+28>>2]=42202;v=er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;mK(p,1,v,er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-268435457;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)nK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);oK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(pK(p,c[m>>2]|0)|0)){v=sF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];qK(p,42218,r)}while(0);if(((pK(p,c[m>>2]|0)|0)!=0?(v=sF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];qK(p,42240,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);Zi(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){lA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}lA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function bJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Wg(c[e>>2]|0);d=Lw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=fu(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=kK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function cJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=hK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){if(((e[(c[g>>2]|0)+26>>1]|0)&1|0)!=0?(h,d=c[h+4>>2]|0,a=c[k>>2]|0,f=c[a+4>>2]|0,(d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function dJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((e[(c[f>>2]|0)+26>>1]|0)&2))jK(c[f>>2]|0);if(!(c[(c[f>>2]|0)+8>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}j=c[(c[f>>2]|0)+8>>2]|0;a=c[j+4>>2]|0;b=c[g>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[f>>2]|0)+8>>2]|0))MF(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=h;return j|0}function eJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=dK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}fK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=gK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=eK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=hK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=eK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function fJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function gJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function hJ(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=0;if(!(c[(c[b>>2]|0)+216>>2]|0)){c[e>>2]=0;c[f>>2]=Bt(c[b>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=Tr(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+220>>2]|0,0,e)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)!=0)c[f>>2]=_J(c[b>>2]|0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}if(!(c[(c[b>>2]|0)+216>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=$J(c[b>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=hr(c[(c[b>>2]|0)+216>>2]|0,d[(c[b>>2]|0)+10>>0]|0,c[(c[b>>2]|0)+160>>2]|0,c[(c[b>>2]|0)+208>>2]|0)|0;c[(c[b>>2]|0)+216>>2]=0;_i(c[b>>2]|0);f=c[f>>2]|0;i=g;return f|0}function iJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){mr(c[(c[f>>2]|0)+68>>2]|0)|0;if((d[(c[f>>2]|0)+18>>0]|0)>=2){vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=TJ(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Bt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Br(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;ir(c[f>>2]|0);break}if((c[g>>2]|0)==2)mr(c[(c[f>>2]|0)+68>>2]|0)|0}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function jJ(b,e){b=b|0;e=e|0;var 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,x=0;x=i;i=i+80|0;k=x+64|0;j=x+60|0;l=x+56|0;s=x+52|0;q=x+48|0;r=x+44|0;h=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;p=x+20|0;f=x+16|0;o=x+12|0;g=x+8|0;n=x+4|0;m=x;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+67>>0]|0)){Aj(c[j>>2]|0,c[l>>2]|0,40995);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+152>>2]|0)>1){Aj(c[j>>2]|0,c[l>>2]|0,41035);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+84>>2];c[v>>2]=c[(c[l>>2]|0)+88>>2];c[w>>2]=c[(c[l>>2]|0)+180>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+180>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=LJ(Pf(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(Xq(c[l>>2]|0)|0)c[h>>2]=41078;else c[h>>2]=41110;c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Ej(c[r>>2]|0)|0,c[o>>2]=NJ(c[q>>2]|0)|0,c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,41134)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,41167)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=og(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((sg(Pf(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+76>>2]=0;b=c[r>>2]|0;h=rg(c[q>>2]|0)|0;do if(!(Ai(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(Ai(c[r>>2]|0,c[(c[l>>2]|0)+76>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+69>>0]|0)){e=c[r>>2]|0;if((a[(c[l>>2]|0)+72>>0]|0)>=0)f=a[(c[l>>2]|0)+72>>0]|0;else f=ZB(c[q>>2]|0)|0;$B(e,f)|0;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41174)|0;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41322)|0;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41426)|0;if(c[s>>2]|0)break a;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|134217728;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41544)|0;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&-134217729;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41740)|0;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41853)|0;if(c[s>>2]|0)break a;c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,42008)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){e=c[q>>2]|0;if((c[m>>2]|0)>=10)break;pg(e,d[42192+(c[m>>2]|0)>>0]|0,n);c[s>>2]=Ag(c[r>>2]|0,d[42192+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[42192+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=PJ(e,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Ej(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;$B(n,ZB(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=rg(c[r>>2]|0)|0;c[s>>2]=Ai(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+84>>2]=c[u>>2];c[(c[l>>2]|0)+88>>2]=c[v>>2];c[(c[l>>2]|0)+180>>2]=c[w>>2];Ai(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+67>>0]=1;if(c[p>>2]|0){rB(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}Bg(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function kJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=gF(c[g>>2]|0)|0;c[e>>2]=er((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=yJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Oj(59412)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=tH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){zJ(c[g>>2]|0);c[h>>2]=AJ(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Fg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;at((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function lJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=sH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=xJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=vJ(c[e>>2]|0)|0;if(((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),wJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)c[k>>2]=tI(c[e>>2]|0,0,(c[h>>2]|0)-1|0)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function nJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ri(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=qj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=uz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Dh(p,31219,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Gx(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=vJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;wJ(p,Gx(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function oJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ri(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=JH(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;nu(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function pJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=uJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function qJ(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;v=D+116|0;C=D+88|0;j=D+84|0;r=D+80|0;n=D+152|0;w=D;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(C,c[m>>2]|0,D+156|0,100,c[(c[m>>2]|0)+92>>2]|0);if((c[(c[m>>2]|0)+164>>2]|0)>1){while(1){if(!(a[c[l>>2]>>0]|0))break;c[j>>2]=c[l>>2];do{B=c[l>>2]|0;c[l>>2]=B+1;if((a[B>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);gA(C,40961,3);gA(C,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}C=fg(C)|0;i=D;return C|0}if(!(b[(c[k>>2]|0)+68>>1]|0)){B=c[l>>2]|0;gA(C,B,Jf(c[l>>2]|0)|0);C=fg(C)|0;i=D;return C|0}while(1){if(!(a[c[l>>2]>>0]|0)){f=33;break}c[q>>2]=tJ(c[l>>2]|0,t)|0;gA(C,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0)){f=33;break}do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Oi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=xh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[v>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[v>>2]|0)+8>>1]&1){gA(C,40149,4);continue}g=c[v>>2]|0;if(e[(c[v>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=x;c[j>>2]=c[f>>2];c[j+4>>2]=g;fA(C,28862,x);continue}f=c[v>>2]|0;if(e[g+8>>1]&8){h[y>>3]=+h[f>>3];fA(C,28867,y);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=w;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[w+32>>2]=c[m>>2];fh(w,c[(c[v>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;du(w,1)|0;c[v>>2]=w}c[r>>2]=c[(c[v>>2]|0)+12>>2];j=c[(c[v>>2]|0)+16>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=j;fA(C,40965,A);if((d[n>>0]|0)==1)continue;Wg(w);continue}if(e[(c[v>>2]|0)+8>>1]&16384){c[B>>2]=c[c[v>>2]>>2];fA(C,40972,B);continue}gA(C,40985,2);c[s>>2]=c[(c[v>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[z>>2]=a[(c[(c[v>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;fA(C,40988,z);c[o>>2]=(c[o>>2]|0)+1}gA(C,40993,1)}if((f|0)==33){C=fg(C)|0;i=D;return C|0}return 0}function rJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=sJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function sJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function tJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Wu(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function uJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function vJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Kw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;EH(c[e>>2]|0);i=d;return}function xJ(b,e,f){b=b|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;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function yJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(sF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=sF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function zJ(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function AJ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=sF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=er((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=tF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Oj(59297)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=BJ(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){wB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=uF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=BJ(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}wB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){wB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=CJ(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;wB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=sF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function BJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=gF(c[m>>2]|0)|0;c[B>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Oj(61354)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=tF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Fg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}at((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=er(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=JJ(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Oj(61410)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=JJ(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;at((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);rR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;wB(c[E>>2]|0);if(!(c[I>>2]|0)){at((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;at(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=er((c[r>>2]|0)+8|0)|0;c[u>>2]=Bj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Bj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=er((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}at((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(KJ(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=JJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;wB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);wB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Oj(61439)|0;break}else if((j|0)==40){c[K>>2]=Oj(61473)|0;break}else if((j|0)==43){wB(h);break}else if((j|0)==63){c[K>>2]=Oj(61538)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Fg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=sF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=JJ(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[l>>2]|0)+72>>2]|0)|0;wB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);at((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=JJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;wB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);wB(c[J>>2]|0);wB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function CJ(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=DJ(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=er(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(FJ(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=EJ(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=uF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Fg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){wB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=GJ(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;wB(c[t>>2]|0);if(c[u>>2]|0)break;FJ(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function DJ(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;j=t+20|0;r=t+16|0;o=t+12|0;s=t+8|0;p=t+4|0;q=t;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[j>>2]=h;c[o>>2]=0;if((a[(c[l>>2]|0)+16>>0]|0)!=0?(c[s>>2]=Fg(c[m>>2]|0)|0,(c[s>>2]|0)!=0):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if((e[(c[m>>2]|0)+24>>1]&2|0)!=0?(g=rt(c[m>>2]|0)|0,c[s>>2]=g,0!=(g|0)):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(!((c[j>>2]|0)!=0?1:(e[(c[m>>2]|0)+24>>1]&8|0)==0))c[o>>2]=c[(c[m>>2]|0)+20>>2];g=(c[m>>2]|0)+24|0;b[g>>1]=e[g>>1]&-9;c[r>>2]=cs(c[l>>2]|0,c[n>>2]|0)|0;do if(c[r>>2]|0){j=(c[m>>2]|0)+24|0;b[j>>1]=e[j>>1]|e[(c[r>>2]|0)+24>>1]&8;j=c[r>>2]|0;if(a[(c[l>>2]|0)+16>>0]|0){IJ(j,(c[(c[l>>2]|0)+28>>2]|0)+1|0);break}else{Bs(j);break}}while(0);c[p>>2]=c[(c[m>>2]|0)+20>>2];IJ(c[m>>2]|0,c[n>>2]|0);es(c[m>>2]|0);if(a[(c[l>>2]|0)+16>>0]|0){IJ(c[r>>2]|0,c[p>>2]|0);Es(c[r>>2]|0)}do if(c[o>>2]|0){c[s>>2]=ug(c[l>>2]|0,c[o>>2]|0,q,0)|0;if(!(c[s>>2]|0)){s=(c[q>>2]|0)+24|0;b[s>>1]=e[s>>1]|8;es(c[q>>2]|0);Es(c[q>>2]|0);break}if((c[o>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)kj(c[(c[l>>2]|0)+60>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+208>>2]|0);c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}while(0);c[k>>2]=0;s=c[k>>2]|0;i=t;return s|0}function EJ(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Rt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));HJ(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=er(c[n>>2]|0)|0;FJ(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=er((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;FJ(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function FJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Oj(56734)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=sF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=ug(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=vg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=er((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Fg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;at((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Oj(56745)|0;c[c[n>>2]>>2]=s}while(0);xg(c[q>>2]|0);i=t;return}function GJ(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=er(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){at(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Oj(59127)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Rt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(er((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=er(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)at((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)at(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=er((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){at((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Oj(59163)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function HJ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=er((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;FJ(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function IJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function JJ(b,d,e,f){b=b|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;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=uF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Qt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}wB(f);c[c[h>>2]>>2]=0;c[g>>2]=Oj(57863)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function KJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(mj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(lj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function LJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+16>>0]|0|0}function MJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(cf(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;Aj(b,d,bf(c[f>>2]|0)|0);c[e>>2]=Df(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{ue(c[j>>2]|0)|0;c[e>>2]=RJ(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function NJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=SJ(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function OJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=cf(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(ue(c[h>>2]|0)|0);a=c[f>>2]|0;if(!l){b=6;break}l=c[g>>2]|0;c[j>>2]=MJ(a,l,Fe(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){b=5;break}}if((b|0)==5){RJ(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((b|0)==6){c[e>>2]=RJ(a,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function PJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Dg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=rg(c[j>>2]|0)|0,d=AR(d|0,((d|0)<0)<<31>>31|0,tg(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=yi(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{QJ(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function QJ(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(a[(c[e>>2]|0)+16>>0]|0){i=f;return}if(d[(c[e>>2]|0)+13>>0]|0){i=f;return}Xi(c[e>>2]|0);i=f;return}function RJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Sg(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;Aj(d,j,bf(c[e>>2]|0)|0);j=c[g>>2]|0;i=h;return j|0}function SJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function TJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;n=q+32|0;o=q+28|0;p=q+24|0;f=q+20|0;j=q+16|0;e=q+12|0;h=q+8|0;g=q+4|0;k=q;m=q+40|0;c[o>>2]=b;c[p>>2]=0;if((d[(c[o>>2]|0)+16>>0]|0)!=0?(c[(c[o>>2]|0)+44>>2]|0)!=0:0){c[n>>2]=c[(c[o>>2]|0)+44>>2];p=c[n>>2]|0;i=q;return p|0}do if((xr(c[o>>2]|0)|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[p>>2]=At(c[o>>2]|0,1)|0;if(!(c[p>>2]|0)){if((d[(c[o>>2]|0)+18>>0]|0)<=1)c[p>>2]=UJ(c[o>>2]|0,f)|0;if(!(c[p>>2]|0)){if(c[f>>2]|0){if(a[(c[o>>2]|0)+15>>0]|0){c[p>>2]=776;break}c[p>>2]=Bt(c[o>>2]|0,4)|0;if(c[p>>2]|0)break;if((((c[c[(c[o>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[o>>2]>>2],c[p>>2]=Tr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,0,e)|0,(c[p>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[p>>2]=Pr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,c[(c[o>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[p>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[p>>2]=jt(49095)|0;mr(c[(c[o>>2]|0)+68>>2]|0)|0}e=c[o>>2]|0;if(c[c[(c[o>>2]|0)+68>>2]>>2]|0){c[p>>2]=jr(e)|0;if(!(c[p>>2]|0)){c[p>>2]=Rr(c[o>>2]|0,1)|0;a[(c[o>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Br(c[o>>2]|0,1)|0;if(c[p>>2]|0){kr(c[o>>2]|0,c[p>>2]|0)|0;break}}if((a[(c[o>>2]|0)+13>>0]|0)==0?(d[(c[o>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[p>>2]=VJ(c[o>>2]|0,k)|0;if(c[p>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[p>>2]=$r(c[(c[o>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[p>>2]|0)!=0&(c[p>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(EQ((c[o>>2]|0)+112|0,m,16)|0)Xi(c[o>>2]|0)}c[p>>2]=WJ(c[o>>2]|0)|0;l=35}}}else l=35;while(0);if((l|0)==35){if(xr(c[o>>2]|0)|0)c[p>>2]=XJ(c[o>>2]|0)|0;if((c[p>>2]|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)c[p>>2]=VJ(c[o>>2]|0,(c[o>>2]|0)+28|0)|0}e=c[o>>2]|0;if(c[p>>2]|0)ir(e);else{a[e+17>>0]=1;a[(c[o>>2]|0)+24>>0]=1}c[n>>2]=c[p>>2];p=c[n>>2]|0;i=q;return p|0}function UJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Tr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=cK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=VJ(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Wj();if((Bt(c[f>>2]|0,2)|0)==0?(vr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Br(c[f>>2]|0,1)|0;Xj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Pr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=$r(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))mr(c[(c[f>>2]|0)+68>>2]|0)|0;c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=bK(c[(c[e>>2]|0)+216>>2]|0)|0;if(!(c[h>>2]|0)){b=g;c[b>>2]=0;c[b+4>>2]=0;if((c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0?(c[j>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0,(c[j>>2]|0)!=0):0){c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=pR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=oR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=yR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j}if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function WJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=VJ(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=vr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Tr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=ZJ(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function XJ(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Ls(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=YJ(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Xi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function YJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=It(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function ZJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(gJ(c[f>>2]|0)|0){mr(c[(c[f>>2]|0)+68>>2]|0)|0;c[h>>2]=_J(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function _J(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=$J(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=aK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}function $J(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Bt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Br(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function aK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Pr(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Qs(c[u>>2]|0,0);mr(c[(c[u>>2]|0)+8>>2]|0)|0;Kd(c[u>>2]|0)}else{c[t>>2]=Yr(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function bK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function cK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function dK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;tR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=gK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=gK(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function eK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=iK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function fK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){fK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){fK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function hK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Lw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function iK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;if((c[g>>2]|0)==1){c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}c[d>>2]=iK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(!(c[h>>2]|0)){c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=iK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function jK(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+26>>1]|0)&1)){a=dK(c[(c[d>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a}a=(c[d>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|2;i=f;return}function kK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function lK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function mK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(rK(f,c[r>>2]|0)|0){g=25;break}if(ug(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=vg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=er(c[m>>2]|0)|0;nK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=er((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)nK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];qK(b,42818,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=er((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)nK(c[q>>2]|0,c[k>>2]|0,2,0);rK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=er(c[m>>2]|0)|0;xg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;qK(c[q>>2]|0,42857,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;qK(f,42739,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];qK(v,42796,w);i=x;return}else if((g|0)==25){i=x;return}}function nK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=tF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];qK(q,42656,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;qK(p,42685,q);i=r;return}function oK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(rK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=42276;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=uF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Rt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];qK(ba,42324,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=42362;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=er((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=42388;nK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=oK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){qK(c[o>>2]|0,42446,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;qK(m,42470,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=er((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)nK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);mK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){sK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=er(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)nK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=oK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){qK(c[o>>2]|0,42494,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;qK(m,42416,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;sK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];sK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(tK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;qK(ba,42519,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;qK(ba,42556,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];qK(ba,42286,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;wB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function pK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function qK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)gA((c[f>>2]|0)+40|0,42274,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;fA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function rK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;qK(b,42608,e);c[g>>2]=1;break}e=(pK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;qK(a,42631,h);c[g>>2]=1;break}else{lK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function sK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function uK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;yK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function vK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);wK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)xK(c[(c[d>>2]|0)+40>>2]|0)|0;if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}xK(c[(c[d>>2]|0)+56>>2]|0)|0;d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function wK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function xK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=mr(c[e>>2]|0)|0;Kd(c[e>>2]|0);i=d;return c[b>>2]|0}function yK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Hs(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;zK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function zK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}uK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function AK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function BK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(gF(c[k>>2]|0)|0)>>>0){c[p>>2]=Oj(64249)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=fF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=er(c[n>>2]|0)|0,c[t>>2]=BK(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=CK(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=er((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=BK(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){DK(j,t);break}q=Fg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)EK(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Oj(64254)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;wB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function CK(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Oj(61810)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=er((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(gF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=rF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=HK(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Qt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Oj(61846)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=FK(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)xg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Oj(61826)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function DK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=FK(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function EK(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)tR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);St(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function FK(b,d,f){b=b|0;d=d|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,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Oj(61664)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];GK(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=HK(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;at((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=uF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;tR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(FJ(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=uF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=er((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Oj(61717)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Fg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;at((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);at((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)IK(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=JK(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=uF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){at(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);at((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);at((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;wB(c[o>>2]|0);wB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function GK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;KK(c[d>>2]|0);i=b;return}function HK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=cs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=hF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function IK(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=g;return}if(c[(c[f>>2]|0)+104>>2]|0){i=g;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|32;a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;i=g;return}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=ij(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(mj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=jj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function KK(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function LK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Oj(64375)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=uF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=WI(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){wB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){pg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){DK(d,o);wB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{wB(d);c[o>>2]=uF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=CJ(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;wB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=uF(c[l>>2]|0,c[k>>2]|0,m,0)|0;DK(c[m>>2]|0,o);wB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=sF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Ag(c[g>>2]|0,4,c[k>>2]|0)|0}else{DK(c[n>>2]|0,o);wB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function MK(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=NK((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=OK(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=PK(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;QK(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;RK(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;RK(k,d,((d|0)<0)<<31>>31);SK(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=TK(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(zi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=$K(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Os(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function PK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[e>>2]=UK(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];e=VK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=e;c[j>>2]=kg(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;WK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;WK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Kd(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function QK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=zR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=oR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function RK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=qI(g,c[a>>2]|0,c[a+4>>2]|0)|0;SK(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function SK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);rR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=pR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Hg(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=pR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function TK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=pR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Hg(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=pR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function UK(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=jF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function VK(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function WK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[m>>2]=l;c[k>>2]=0;while(1){if(!((c[g>>2]|0)!=0?(c[h>>2]|0)!=0:0))break;c[n>>2]=Sb[c[(c[f>>2]|0)+32>>2]&255](c[f>>2]|0,k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0)|0;if((c[n>>2]|0)<=0){c[c[m>>2]>>2]=c[g>>2];c[m>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2];continue}else{c[c[m>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;continue}}c[c[m>>2]>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:c[h>>2]|0;c[c[j>>2]>>2]=c[l>>2];i=o;return}function XK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[42896+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_K(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function YK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else AF(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else AF(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=EQ(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_K(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function ZK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=yF(a,b,o)|0;i=p;return o|0}kF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=yF(a,b,o)|0;i=p;return o|0}function _K(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=zF(a,b,o,1)|0;i=p;return o|0}kF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=zF(a,b,o,1)|0;i=p;return o|0}function $K(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Pr(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function aL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=bL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function bL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=cL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=dL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){yK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=eL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=fL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function cL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=iL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function dL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(zi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Hs(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=gL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=zR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=pR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=oR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=$r(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function eL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(Zt((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=pR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=zR(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(Zt((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=pR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=fL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){Zt(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function fL(a,b,d){a=a|0;b=b|0;d=d|0;var 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;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=pR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=zR(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=oR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=oR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=$r(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=pR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);rR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=pR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=fL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;rR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function gL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+140>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=hL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function iL(a){a=a|0;var b=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;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;QK(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=pR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=pR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=GF(q,((q|0)<0)<<31>>31)|0;q=pR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=pR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;RK(n,r,((r|0)<0)<<31>>31);SK(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=aL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=TK(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function jL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=kL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=lL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}uK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function kL(a,b){a=a|0;b=b|0;var 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;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=pL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=qL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=rL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=qL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=sL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else uK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}uK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function lL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=mL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;nL(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function mL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=oL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function nL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function oL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=lL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=OK(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=pR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=bL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function pL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=AR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function qL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=rL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=uL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}uK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function rL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(zi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function sL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=tL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=rL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=tL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{zK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function tL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(zi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){uK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=pR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function uL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=dL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=eL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=pR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=pR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=bL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function vL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function wL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function xL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=bF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function yL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function zL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=QL(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{sR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Oj(62080)|0;c[c[n>>2]>>2]=h;i=t;return}function AL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if(c[c[t>>2]>>2]|0){i=z;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=SL(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);rR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)at((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);sR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}HJ(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){rR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)at(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function BL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=CL(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=DL(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Wi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=EL(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Zi(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;wB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Zi(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function CL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Fg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=BJ(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,JL(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)FJ(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;wB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{rR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;rR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;EK(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);at((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function DL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Oj(62577)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=BJ(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;EK(c[p>>2]|0,13);c[t>>2]=OL(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(FJ(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)HJ(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);AL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);at((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);wB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function EL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[K>>2]|0)|0;while(1){c[Aa>>2]=fF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}rR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}zL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)tR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Oj(62916)|0;tR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ci(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}tR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);rR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Oj(62983)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Oj(63081)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((FL(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((FL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((FL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((FL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Oj(63093)|0;break}else if((h|0)==81){c[Aa>>2]=Oj(63126)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);FL(ma,c[F>>2]|0)|0;do{FL(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2)|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Oj(63168)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=BJ(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;EK(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(FJ(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Oj(63242)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))GL(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);GL(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}at(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=er(c[_>>2]|0)|0;FJ(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(FL(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))HJ(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(qI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);AL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=HL(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=IL(c[ka>>2]|0)|0;JL(c[ka>>2]|0,c[ha>>2]|0,Aa);DK(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=er((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;FJ(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;DK(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Di(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;wB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;wB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function FL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=RL(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function GL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;IJ(c[h>>2]|0,c[g>>2]|0);i=f;return}function HL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=LL(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;sR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=LL(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];sR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(ML(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),sR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(ML(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(ML(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);NL(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=OL(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function IL(b){b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=KL(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);rR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;rR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Oj(57167)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Oj(57173)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;tR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Oj(57197)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function JL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];rR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;rR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Rt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=EJ(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function KL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function LL(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var 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,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)QL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)QL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function ML(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(FL(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=PL(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));if((c[u>>2]|0)>>>0<(c[n>>2]|0)>>>0){h=7;break}c[v>>2]=c[u>>2]}sR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function NL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function OL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=KL(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);rR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}rR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Oj(62287)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function PL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Oj(57230)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Oj(57241)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function QL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;j=x+20|0;k=x+16|0;l=x+32|0;m=x+30|0;t=x+28|0;q=x+26|0;o=x+35|0;v=x+34|0;s=x+24|0;r=x+12|0;p=x+8|0;n=x+4|0;u=x;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)tR((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+5>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)h=(e[q>>1]|0|0)<(e[l>>1]|0|0);else h=0;g=e[q>>1]|0;if(!h)break;if((g|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Oj(57402)|0;w=c[j>>2]|0;i=x;return w|0}if(g>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Oj(57405)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0>(e[q>>1]|0)>>>0){c[j>>2]=Oj(57416)|0;w=c[j>>2]|0;i=x;return w|0}c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));if((c[p>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Oj(57418)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Oj(57430)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Oj(57436)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Oj(57443)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function RL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function SL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Oj(57308)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=PL(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=IL(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function TL(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+112|0;J=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;o=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+6>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=qI((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=qI((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2]}if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=35;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=sF(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=BJ(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,FJ(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)wB(c[C>>2]|0);if(c[L>>2]|0){h=24;break}at(c[E>>2]|0,c[G>>2]|0);wB(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];at(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];rR(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else tR(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==24){wB(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==35){wB(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function UL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}XI(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function VL(b,e,f){b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){zJ(f);pg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(sF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=BJ(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=tH(c[n>>2]|0,0,0)|0;wB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=uF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=tF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Oj(64159)|0;if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=CJ(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;wB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=uF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];FJ(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Ag(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=BJ(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;EK(c[p>>2]|0,c[s>>2]|0);xg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function WL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(XL(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(gF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function XL(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Wi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function YL(){return 200}function ZL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function _L(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=$L(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function $L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}tR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=ij(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(xr(c[d>>2]|0)|0)aM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function aM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function bM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Fg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=42903;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));EK(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;at((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);at((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function cM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=qR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=qR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=qR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function dM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=zx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=zH(e,j,f,g)|0;else c[o>>2]=Oh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Wg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function eM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function fM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=lF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Oj(71015)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=EQ(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function hM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Qy(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function iM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ax(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function jM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;hh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function kM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+176>>2]|0){c[b>>2]=c[(c[d>>2]|0)+176>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}XH(a)|0;c[(c[d>>2]|0)+176>>2]=0;c[(c[d>>2]|0)+184>>2]=0}qM(c[d>>2]|0);if(c[(c[d>>2]|0)+8>>2]|0)uC(c[(c[d>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+28>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+180>>2]|0))break;c[e>>2]=c[a+180>>2];c[(c[d>>2]|0)+180>>2]=c[(c[e>>2]|0)+4>>2];rM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}hI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return} +function Om(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Qm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Rm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Rm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=oR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,AR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Sm(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=oR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=AR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;_l(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Xl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Pm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Tm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)an(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=bn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Qm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Qm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return}function Rm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=oR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=AR(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Rm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Rm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;tR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}tR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=oR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=AR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=oR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=AR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=oR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=AR(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Tm(c[h>>2]|0);u=Um(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Sm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=Yl(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}bm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=Yl(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=AR(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=pR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Tm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Um(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Vm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){_l(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Wm(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Vm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Xm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=oR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,AR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=oR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;AR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=oR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=AR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;rR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=Zm(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Wm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=Yl(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=oR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=pR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];bm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Xm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Ul(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Ul(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Rl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Sl(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Vl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function Ym(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Wm(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Xm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function Zm(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Xl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Xl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Il(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}_m(y,t);j=t;j=oR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;_m(z,u);h=u;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=pR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=pR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=pR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;$m(x,v,h,C);h=v;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=pR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;_m(y,t);h=t;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;_m(z,u);h=u;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Xl(0,y);Xl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}bm(0,z);bm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=Yl(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=pR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function $m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=oR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Il(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function an(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function bn(a,b,e){a=a|0;b=b|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=dn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=cn(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function cn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=fm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(gm(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Tl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Rl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=en(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=fn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function en(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=sl(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=tl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=kn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=ln(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function fn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=gn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];hn(x,c[z>>2]|0,0,r);hn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=oR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=AR(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){bm(0,x);hn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{bm(0,y);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;jn(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!(Zm(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}hn(x,c[z>>2]|0,c[j>>2]|0,r);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=Yl(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=oR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=pR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=oR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=oR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Il(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function kn(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){rR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=nn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function ln(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=nn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function mn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function nn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];hn(u,c[w>>2]|0,0,p);hn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=oR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=AR(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);on(t,u,v);hn(u,c[w>>2]|0,c[k>>2]|0,p);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,v);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,u);hn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function on(b,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Xl(q,r);continue}else{f=pn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Xl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);_m(r,k);_m(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;$m(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=oR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){qn(r,k);break}else{qn(s,l);break}}else{qn(r,k);qn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Il((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){_m(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=oR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Dn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Me(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(ue(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Zd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)re(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function sn(a){a=a|0;var b=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,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=Ee(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Fe(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=An(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(EQ(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Bn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=Cn((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function tn(b,e,f){b=b|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;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(vn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Tm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Tm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Tm(c[k>>2]|0);f=wn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function un(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;il(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function vn(a,b){a=a|0;b=b|0;var 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;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=yn(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=yn(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function wn(a,b){a=a|0;b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=xn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];Zm(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if(Zm(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=Yl(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];rR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=zn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;tR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function zn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;Zm(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];Zm(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){on(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){bm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){bm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Bn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=oR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=Cn(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=Cn(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=Cn(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=pR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=oR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=Cn(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Il((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23849,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function En(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Fn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Gn(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function Gn(b,e){b=b|0;e=e|0;var 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;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}tR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Qm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Zd(c[(c[h>>2]|0)+8>>2]|0)|0;Rm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Mm(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Hn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Qm(c[h>>2]|0,c[o>>2]|0,q);do{Rm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Hn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=Zl(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Hn(c[(c[f>>2]|0)+12>>2]|0);Hn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Pm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=Zl(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=Yl(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=oR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=ue(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(He(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Zd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Le(c[e>>2]|0,1,0)|0;if((ue(c[e>>2]|0)|0)==100?(He(c[e>>2]|0,0)|0)==4:0)break;h=Zd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function On(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Qn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23977,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Rn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,24005,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,23992,0,0,0)|0;break}c[e>>2]=$e(a,23992,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);wm(c[b>>2]|0);i=f;return c[d>>2]|0}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Le(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Le(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(ue(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=De(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ml(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Zd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}wm(c[d>>2]|0);hl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Sn(b,d){b=b|0;d=d|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){ne(c[e>>2]|0,19010,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Hm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Lm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Fe(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Be(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((He(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=An(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Un(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,24022,y)|0;c[A>>2]=Vn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);wm(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){re(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{ne(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Om(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Un(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Un(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=Zl(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=KQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);rR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Wn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){ne(c[j>>2]|0,19010,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Xn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=Yn(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);wm(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){re(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{ne(g,c[F>>2]|0,-1,148);i=G;return}}function Xn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Hm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}tR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Lm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=uR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!(($n(B)|0)!=0^1))break;g=o;ao(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function Yn(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Fe(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((He(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Be(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=An(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=Zn(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Vn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=uR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function Zn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=uR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=uR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=An(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=qR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Om(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Un(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function $n(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);bo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=uR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=uR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=qR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Un(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function bo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Un(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=nl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(ue(c[f>>2]|0)|0))c[e>>2]=De(c[f>>2]|0,0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function eo(a,b,e){a=a|0;b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=fo(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=nl(c[g>>2]|0,28,y,0)|0;Le(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((ue(c[y>>2]|0)|0)==100){a=Ee(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=De(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Zd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=go(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=zR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=zR(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;tR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=ho(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=pR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=io(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=sl(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=tl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=ko(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=mo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=tl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;oo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=AR(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}po(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=pR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;xl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}zl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=qo(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=nl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Le(c[g>>2]|0,1,1)|0;if((100==(ue(c[g>>2]|0)|0)?(c[e>>2]=Ae(c[g>>2]|0,0)|0,c[f>>2]=Be(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(ro(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){rR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Zd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function go(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=Yl((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=Zl(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=pR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Me(e,1,l,C)|0;ue(c[h>>2]|0)|0;l=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function io(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=nl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Me(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=yR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=pR(m|0,C|0,1,0)|0;m=AR(m|0,C|0,1024,0)|0;Me(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(ue(c[j>>2]|0)|0)){m=(He(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Zd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{tR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=nl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Me(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((ue(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=Ee(c[n>>2]|0,1)|0;d=C;e=Ee(c[n>>2]|0,2)|0;a=C;f=Ee(c[n>>2]|0,3)|0;g=C;h=Ae(c[n>>2]|0,4)|0;m=Be(c[n>>2]|0,4)|0;c[o>>2]=mm(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Zd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function ko(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=nl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=pR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Me(d,1,g,C)|0;Le(c[G>>2]|0,2,c[l>>2]|0)|0;g=(ue(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Zd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=Ee(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=Ee(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;Cl(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=AR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Be(c[G>>2]|0,4)|0;c[v>>2]=Ae(c[G>>2]|0,4)|0;g=q;c[H>>2]=Do(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=em(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=wo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Ao(u)|0}if((xo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Bo(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=oR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=pR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=pR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=pR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){rR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=wo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Ao(J)|0}ro((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(rR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=em(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){rR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Bo(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Zd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function lo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=nl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Me(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Me(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(ue(c[r>>2]|0)|0))c[p>>2]=De(c[r>>2]|0,0)|0;c[s>>2]=Zd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=nl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(ue(c[q>>2]|0)|0)){r=Ee(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=oR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=pR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Zd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Dl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=pR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Kl(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Hl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Dl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Co(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=pR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=pR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;ro((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=zo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function no(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Jl(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=so(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=to(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;ro(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function po(b,e,f){b=b|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,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;ro(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Il((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Dl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=pR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Fl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Le(c[e>>2]|0,1,1)|0;Je(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;ue(c[e>>2]|0)|0;c[f>>2]=Zd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function so(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Le(c[h>>2]|0,2,c[g>>2]|0)|0;ue(c[h>>2]|0)|0;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function to(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=nl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Me(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(ue(c[x>>2]|0)|0)){c[o>>2]=Ae(c[x>>2]|0,4)|0;c[u>>2]=Be(c[x>>2]|0,4)|0;a=Ee(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=vo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Zd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=em(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=vo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Dl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=nl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Me(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Me(z,2,f,C)|0;ue(c[w>>2]|0)|0;c[y>>2]=Zd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=nl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Me(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Je(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Me(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[v>>2]|0,4,c[k>>2]|0)|0;ue(c[v>>2]|0)|0;c[y>>2]=Zd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function uo(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=nl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Me(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(ue(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=De(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Zd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=nl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Me(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Le(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Le(c[o>>2]|0,1,c[k>>2]|0)|0;ue(c[o>>2]|0)|0;c[p>>2]=Zd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function vo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;ro(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=wo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=xo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=zo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Ao(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Bo(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(Yl((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}return 0}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=EQ(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function yo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Il((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function zo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;ro(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Kl(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);rR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;rR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;rR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Ao(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;ro((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}rR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Co(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Kl(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Hl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Hl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Dl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=pR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Il(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=pR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(ro(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Il((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}ro(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);ro((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;rR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);rR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Me(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(ue(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Zd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Eo(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(fe(c[c[h>>2]>>2]|0)|0)==5:0)?(fe(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Fo(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);tR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Go(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((fe(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((fe(c[r>>2]|0)|0)!=5){if((fe(c[c[h>>2]>>2]|0)|0)!=5?(f=ee(c[c[h>>2]>>2]|0)|0,u=C,b=ee(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Ho(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Io(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((fe(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Ho(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Io(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Jo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Ko(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)Lo(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}Mo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=ae(c[l>>2]|0)|0;c[f>>2]=be(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,21120,8)|0):0)c[g>>2]=Rn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,24103,7)|0):0){c[g>>2]=Wo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,24111,15)|0):0){c[g>>2]=Xo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,24127,6)|0):0){c[g>>2]=Yo(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,24134,10)|0):0){c[g>>2]=Zo(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Go(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=nl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Ne(c[d>>2]|0,1)|0;ue(c[d>>2]|0)|0;c[e>>2]=Zd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Ho(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;Ro(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=So(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=To(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;tR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Uo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Uo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((fe(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fe(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=ee(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=nl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Le(d,k,de(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(fe(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Pe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}ue(c[j>>2]|0)|0;c[l>>2]=Zd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=kl(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ko(a,b,e,f){a=a|0;b=b|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;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Po(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=be(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function Lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Oo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=nl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Me(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Je(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;ue(c[k>>2]|0)|0;l=Zd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Mo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=nl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Le(c[r>>2]|0,1,0)|0;if((ue(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=Ae(c[r>>2]|0,0)|0;No(f,b,a,Be(c[r>>2]|0,0)|0)}else tR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Zd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Oo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=nl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Le(c[r>>2]|0,1,0)|0;Je(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;ue(c[r>>2]|0)|0;t=Zd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=Yl((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Il((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=An(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ck(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Bn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(jk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function Ro(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=nl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(ue(h)|0)){c[q>>2]=Vo(c[k>>2]|0,c[r>>2]|0)|0;e=Ee(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Jo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Fe(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Po(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Be(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Zd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Zd(c[r>>2]|0)|0}else Zd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=nl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(ue(c[h>>2]|0)|0)){d=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Zd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function To(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;hl(c[e>>2]|0);if(c[h>>2]|0)Uo(f,c[e>>2]|0,2,0);Uo(f,c[e>>2]|0,3,0);Uo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Uo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Uo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=nl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=De(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Wo(b){b=b|0;var 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;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=To(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(24222,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{tR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(ue(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Vo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=Ee(c[p>>2]|0,0)|0;c[q>>2]=Jo(b,0,f,g,C)|0;tR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Fe(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Po(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Be(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)Lo(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Yd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Mo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Yd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Xo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=ap(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function Yo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=_o(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=_o(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))$o(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=eo(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;wm(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function Zo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=_o(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?($o(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=nl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Le(c[g>>2]|0,1,2)|0;Le(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;ue(c[g>>2]|0)|0;c[h>>2]=Zd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function _o(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;ll(d,b,24145,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function ap(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=nl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Le(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Le(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(ue(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=De(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=bp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Zd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(24222,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(ue(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=Ee(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Vo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Fe(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Be(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=An(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Yd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=sl(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=tl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=oR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=pR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=cp(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=Yl(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=Yl(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=pR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function cp(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=uR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=pR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=pR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function dp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Zd(c[(c[e>>2]|0)+8>>2]|0)|0;Rm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Mm(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function ep(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Ep(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=ee(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function gp(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=sp(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=tp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=up(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}ep(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Dk(z,24331,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Dk(z,24383,r);z=c[p>>2]|0;i=s;return z|0}function hp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;ip(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];jp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=kp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=kp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);lp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function ip(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);ip(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);ip(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=qp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function jp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=pp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=mp(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=np(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;mn(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=en(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=fn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=op(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function lp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){lp(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);lp(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=bn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Nn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=Ae(c[m>>2]|0,0)|0;b=Be(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=Yl(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=Yl(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Zd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=yR(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=pR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=yR(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Zd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function op(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);bm(0,j)}j=c[h>>2]|0;i=k;return j|0}function pp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=em(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function qp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=rp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function rp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=hm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function sp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=KQ(c[s>>2]|0)|0;c[w>>2]=vp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function tp(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=tp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=tp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){ep(c[e>>2]|0);ep(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else tR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=tp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){ep(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;ep(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}ep(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=up(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=up(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=wp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=xp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;yp(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else yp(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){ep(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}ep(c[v>>2]|0);ep(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function wp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Ap(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2092+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(EQ(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Ap(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=xp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Bp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=vp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=KQ(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Cp(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function xp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}tR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=zp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(zp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Ap(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Bp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=An(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Dp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Dp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;rR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Dp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;tR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){rR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=An(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=xp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;rR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Ep(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Fp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Fp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Tm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;mn(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];il(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Ip(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return} +function Zv(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+68>>2]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[ka>>2]=JB(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[l>>2]=Fh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=yC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Fx(c[X>>2]|0,c[ka>>2]|0)|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(zC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}g=(c[X>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Hj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+72>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Lw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);tR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(ly(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(si(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=20503;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=Sw(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Ch(na,24752,q);a[(c[X>>2]|0)+17>>0]=1;_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=KE(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=Vw(c[X>>2]|0)|0;if(!(c[na>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))AC(c[na>>2]|0);gx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+76|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)WF(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)XF(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(ly(p,c[_>>2]|0)|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){YF(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){$w(c[na>>2]|0,25,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=XC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[R>>2]=ZF(c[x>>2]|0,s)|0;Xw(c[na>>2]|0,103,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))Xw(c[na>>2]|0,129,c[A>>2]|0,c[V>>2]|0)|0;YC(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+76|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+72|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;Xw(c[na>>2]|0,25,0,c[u>>2]|0)|0;c[r>>2]=Xw(c[na>>2]|0,57,c[fa>>2]|0,b[w>>1]|0)|0;Gz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=XC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[R>>2]=ZF(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;zA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){vA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=iC(c[ca>>2]|0,c[ja>>2]|0)|0;_w(k,49,p,q,r,u,b[w>>1]|0)|0;Xw(c[na>>2]|0,110,c[fa>>2]|0,c[T>>2]|0)|0}YC(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+420>>2]|0)==0:0){w=(c[X>>2]|0)+76|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;Xw(c[na>>2]|0,22,0,c[la>>2]|0)|0}c[ha>>2]=Iz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)tR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}tR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);lC(c[X>>2]|0,c[ka>>2]|0,55,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Iz(k)|0;Xw(c[na>>2]|0,108,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=Xw(c[na>>2]|0,101,c[fa>>2]|0,c[T>>2]|0)|0;Gh(c[na>>2]|0,68,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=$w(k,130,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;$w(c[na>>2]|0,70,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Gh(c[na>>2]|0,68,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];Xw(c[na>>2]|0,76,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){DA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Dz(c[na>>2]|0,38,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=PE(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=OE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}Xw(c[na>>2]|0,25,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;zA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;Xw(c[na>>2]|0,30,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=OE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))Xw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){DA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;Xw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);BD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){GC(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);HC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Gh(k,68,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else $w(k,70,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;zA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;LC(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)MC(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Gh(k,68,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=$w(k,70,h,0,c[V>>2]|0)|0;break}}while(0);NE(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))Xw(c[na>>2]|0,95,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Lz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)MC(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);NC(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;QE(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+420>>2]|0)break;Xw(c[na>>2]|0,37,c[la>>2]|0,1)|0}while(0);HC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){Mz(h,k);Xw(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Kz(h,k)|0;break}}while(0);Mz(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)Xw(c[na>>2]|0,61,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))Xw(c[na>>2]|0,61,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+420>>2]|0)break;OC(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+420>>2]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}Xw(c[na>>2]|0,33,c[la>>2]|0,1)|0;UB(c[na>>2]|0,1);VB(c[na>>2]|0,0,0,35803,0)|0;_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}else if((J|0)==185){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}}function _v(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;qa=i;i=i+304|0;E=qa+32|0;D=qa+16|0;C=qa;H=qa+288|0;I=qa+284|0;J=qa+280|0;K=qa+276|0;L=qa+272|0;R=qa+268|0;ea=qa+264|0;m=qa+260|0;l=qa+256|0;T=qa+252|0;$=qa+248|0;X=qa+244|0;pa=qa+240|0;ca=qa+236|0;aa=qa+232|0;ba=qa+228|0;U=qa+224|0;V=qa+220|0;Y=qa+216|0;S=qa+212|0;na=qa+208|0;P=qa+204|0;O=qa+200|0;r=qa+180|0;s=qa+176|0;k=qa+172|0;oa=qa+295|0;Q=qa+294|0;F=qa+293|0;q=qa+292|0;da=qa+168|0;ja=qa+164|0;ha=qa+160|0;la=qa+156|0;ka=qa+152|0;ma=qa+148|0;ia=qa+144|0;M=qa+140|0;_=qa+136|0;fa=qa+132|0;B=qa+128|0;z=qa+124|0;p=qa+120|0;v=qa+116|0;x=qa+112|0;y=qa+108|0;o=qa+104|0;A=qa+72|0;t=qa+68|0;w=qa+64|0;n=qa+60|0;u=qa+56|0;N=qa+52|0;W=qa+48|0;ga=qa+44|0;Z=qa+40|0;c[H>>2]=e;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[ba>>2]=0;c[U>>2]=0;c[V>>2]=0;c[Y>>2]=-1;c[na>>2]=0;c[P>>2]=0;c[O>>2]=0;a[oa>>0]=0;a[Q>>0]=0;c[da>>2]=0;c[ja>>2]=0;c[ha>>2]=0;c[la>>2]=0;c[M>>2]=0;c[R>>2]=c[c[H>>2]>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;a:do if((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[R>>2]|0)+69>>0]|0)==0:0){if(((c[J>>2]|0)!=0?(c[(c[J>>2]|0)+8>>2]&256|0)!=0:0)?(c[(c[J>>2]|0)+48>>2]|0)==0:0){c[da>>2]=c[c[J>>2]>>2];c[c[J>>2]>>2]=0;av(c[R>>2]|0,c[J>>2]|0);c[J>>2]=0}c[m>>2]=c[(c[I>>2]|0)+8+8>>2];if((((((c[m>>2]|0)!=0?(c[ea>>2]=JB(c[H>>2]|0,c[I>>2]|0)|0,(c[ea>>2]|0)!=0):0)?(c[s>>2]=Fh(c[R>>2]|0,c[(c[ea>>2]|0)+64>>2]|0)|0,c[k>>2]=(c[(c[R>>2]|0)+16>>2]|0)+(c[s>>2]<<4),c[l>>2]=c[c[k>>2]>>2],(Sw(c[H>>2]|0,18,c[c[ea>>2]>>2]|0,0,c[l>>2]|0)|0)==0):0)?(a[F>>0]=((d[(c[ea>>2]|0)+42>>0]&32|0)==0^1)&1,c[fa>>2]=yC(c[H>>2]|0,c[ea>>2]|0,108,0,B)|0,c[_>>2]=(c[(c[ea>>2]|0)+12>>2]|0)!=0&1,(Fx(c[H>>2]|0,c[ea>>2]|0)|0)==0):0)?(zC(c[H>>2]|0,c[ea>>2]|0,c[B>>2]|0)|0)==0:0)?(c[pa>>2]=Vw(c[H>>2]|0)|0,(c[pa>>2]|0)!=0):0){if(!(d[(c[H>>2]|0)+18>>0]|0))AC(c[pa>>2]|0);gx(c[H>>2]|0,((c[J>>2]|0)!=0?1:(c[fa>>2]|0)!=0)&1,c[s>>2]|0);if(!((c[K>>2]|0)==0?(BC(c[H>>2]|0,c[ea>>2]|0,c[J>>2]|0,c[L>>2]|0,c[s>>2]|0)|0)!=0:0))G=17;b:do if((G|0)==17){c[ha>>2]=CC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0;m=(c[(c[H>>2]|0)+76>>2]|0)+1|0;c[ka>>2]=m;c[ma>>2]=m;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+((b[(c[ea>>2]|0)+34>>1]|0)+1);if(d[(c[ea>>2]|0)+42>>0]&16){c[ma>>2]=(c[ma>>2]|0)+1;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1}c[ia>>2]=(c[ma>>2]|0)+1;a[q>>0]=(d[(c[ea>>2]|0)+42>>0]&128|0)==0;c:do if(c[K>>2]|0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=-1;c[T>>2]=(c[T>>2]|0)+1}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break c;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;m=(ig(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[$>>2]<<4)>>2]|0)|0)==0;j=c[$>>2]|0;if(m){G=28;break}c[$>>2]=j+1}do if((G|0)==28){G=0;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=j;if((c[T>>2]|0)!=(c[$>>2]|0))a[q>>0]=0;if((c[$>>2]|0)!=(b[(c[ea>>2]|0)+32>>1]|0))break;c[Y>>2]=c[T>>2]}while(0);if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0)){m=(si(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0)|0)==0;if(m|(a[F>>0]|0)!=0)break;c[Y>>2]=c[T>>2];a[q>>0]=0}c[T>>2]=(c[T>>2]|0)+1}pa=c[H>>2]|0;oa=c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0;c[C>>2]=c[I>>2];c[C+4>>2]=0;c[C+8>>2]=oa;Ch(pa,34774,C);a[(c[H>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[J>>2]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;c[A>>2]=c[H>>2];c[na>>2]=-1;if(c[da>>2]|0){c[aa>>2]=c[c[da>>2]>>2];if(my(A,c[da>>2]|0)|0)break a;else break}else{c[aa>>2]=0;break}}else{A=(c[H>>2]|0)+76|0;C=(c[A>>2]|0)+1|0;c[A>>2]=C;c[z>>2]=C;c[p>>2]=(Hz(c[pa>>2]|0)|0)+1;$w(c[pa>>2]|0,16,c[z>>2]|0,0,c[p>>2]|0)|0;dB(r,13,c[z>>2]|0);c[r+8>>2]=(d[q>>0]|0)!=0?c[ia>>2]|0:0;c[r+12>>2]=b[(c[ea>>2]|0)+34>>1];c[v>>2]=Iv(c[H>>2]|0,c[J>>2]|0,r)|0;c[ja>>2]=c[r+8>>2];if(c[v>>2]|0)break a;if(d[(c[R>>2]|0)+69>>0]|0)break a;if(c[(c[H>>2]|0)+68>>2]|0)break a;DC(c[pa>>2]|0,c[z>>2]|0);Lz(c[pa>>2]|0,(c[p>>2]|0)-1|0);c[aa>>2]=c[c[c[J>>2]>>2]>>2];if(!((c[fa>>2]|0)==0?(EC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0)==0:0))a[oa>>0]=1;if(!(a[oa>>0]|0))break;A=(c[H>>2]|0)+72|0;C=c[A>>2]|0;c[A>>2]=C+1;c[na>>2]=C;c[x>>2]=aA(c[H>>2]|0)|0;c[y>>2]=aA(c[H>>2]|0)|0;Xw(c[pa>>2]|0,57,c[na>>2]|0,c[aa>>2]|0)|0;c[o>>2]=Dz(c[pa>>2]|0,18,c[r+4>>2]|0)|0;$w(c[pa>>2]|0,49,c[ja>>2]|0,c[aa>>2]|0,c[x>>2]|0)|0;Xw(c[pa>>2]|0,74,c[na>>2]|0,c[y>>2]|0)|0;$w(c[pa>>2]|0,75,c[na>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Kz(c[pa>>2]|0,c[o>>2]|0)|0;Lz(c[pa>>2]|0,c[o>>2]|0);eA(c[H>>2]|0,c[x>>2]|0);eA(c[H>>2]|0,c[y>>2]|0)}while(0);if((c[K>>2]|0)==0&(c[aa>>2]|0)>0)c[Y>>2]=b[(c[ea>>2]|0)+32>>1];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[ba>>2]=(c[ba>>2]|0)+((d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2|0)!=0?1:0);c[T>>2]=(c[T>>2]|0)+1}if((c[K>>2]|0)==0&(c[aa>>2]|0)!=0?(c[aa>>2]|0)!=((b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0):0){pa=c[H>>2]|0;na=(b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0;oa=c[aa>>2]|0;c[D>>2]=c[I>>2];c[D+4>>2]=0;c[D+8>>2]=na;c[D+12>>2]=oa;Ch(pa,34806,D);break a}do if(c[K>>2]|0){if((c[aa>>2]|0)==(c[(c[K>>2]|0)+4>>2]|0))break;pa=c[H>>2]|0;oa=c[(c[K>>2]|0)+4>>2]|0;c[E>>2]=c[aa>>2];c[E+4>>2]=oa;Ch(pa,34858,E);break a}while(0);if(c[(c[R>>2]|0)+24>>2]&128){D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[la>>2]=E;Xw(c[pa>>2]|0,22,0,c[la>>2]|0)|0}d:do if(!(c[_>>2]|0)){c[t>>2]=lC(c[H>>2]|0,c[ea>>2]|0,55,0,-1,0,U,V)|0;c[M>>2]=Lw(c[R>>2]|0,(c[t>>2]|0)+1<<2,0)|0;if(!(c[M>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break d;D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[M>>2]|0)+(c[T>>2]<<2)>>2]=E;c[T>>2]=(c[T>>2]|0)+1}}while(0);do if(a[oa>>0]|0){c[P>>2]=Dz(c[pa>>2]|0,108,c[na>>2]|0)|0;c[O>>2]=Hz(c[pa>>2]|0)|0}else{if(!(c[J>>2]|0))break;E=Dz(c[pa>>2]|0,18,c[r+4>>2]|0)|0;c[O>>2]=E;c[P>>2]=E}while(0);c[S>>2]=Iz(c[pa>>2]|0)|0;if(c[B>>2]&1){c[w>>2]=qA(c[H>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)|0;if((c[Y>>2]|0)<0)Xw(c[pa>>2]|0,22,-1,c[w>>2]|0)|0;else{if(a[oa>>0]|0)$w(c[pa>>2]|0,47,c[na>>2]|0,c[Y>>2]|0,c[w>>2]|0)|0;else DA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[w>>2]|0);c[n>>2]=Dz(c[pa>>2]|0,77,c[w>>2]|0)|0;Xw(c[pa>>2]|0,22,-1,c[w>>2]|0)|0;Lz(c[pa>>2]|0,c[n>>2]|0);Dz(c[pa>>2]|0,38,c[w>>2]|0)|0}c[$>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;e:do if(c[K>>2]|0){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break e;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break e;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if((a[oa>>0]|0)!=0|(c[da>>2]|0)!=0){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0){G=90;break}if(a[oa>>0]|0){$w(c[pa>>2]|0,47,c[na>>2]|0,c[$>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)|0;break}else{FC(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0);break}}else G=90;while(0);if((G|0)==90){G=0;DA(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)}if(!(c[K>>2]|0))c[$>>2]=(c[$>>2]|0)+1;c[T>>2]=(c[T>>2]|0)+1}if(!(c[_>>2]|0))GC(c[pa>>2]|0,c[ea>>2]|0,(c[w>>2]|0)+1|0);HC(c[H>>2]|0,c[fa>>2]|0,108,0,1,c[ea>>2]|0,(c[w>>2]|0)-(b[(c[ea>>2]|0)+34>>1]|0)-1|0,c[L>>2]|0,c[S>>2]|0);tA(c[H>>2]|0,c[w>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)}do if(!(c[_>>2]|0)){if(d[(c[ea>>2]|0)+42>>0]&16)Xw(c[pa>>2]|0,25,0,c[ka>>2]|0)|0;f:do if((c[Y>>2]|0)>=0){do if(a[oa>>0]|0)$w(c[pa>>2]|0,47,c[na>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;else{if(c[J>>2]|0){Xw(c[pa>>2]|0,30,(c[ja>>2]|0)+(c[Y>>2]|0)|0,c[ma>>2]|0)|0;break}DA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[ma>>2]|0);c[u>>2]=Sz(c[pa>>2]|0,-1)|0;if(!(c[u>>2]|0))break;if((d[c[u>>2]>>0]|0)!=25)break;if(d[(c[ea>>2]|0)+42>>0]&16)break;a[Q>>0]=1;a[c[u>>2]>>0]=74;c[(c[u>>2]|0)+4>>2]=c[U>>2];c[(c[u>>2]|0)+8>>2]=c[ma>>2];c[(c[u>>2]|0)+12>>2]=c[ha>>2]}while(0);if(a[Q>>0]|0)break;j=c[pa>>2]|0;if(d[(c[ea>>2]|0)+42>>0]&16){c[N>>2]=Hz(j)|0;Xw(c[pa>>2]|0,76,c[ma>>2]|0,(c[N>>2]|0)+2|0)|0}else{c[N>>2]=Dz(j,77,c[ma>>2]|0)|0;$w(c[pa>>2]|0,74,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;Lz(c[pa>>2]|0,c[N>>2]|0)}Dz(c[pa>>2]|0,38,c[ma>>2]|0)|0}else{do if(!(d[(c[ea>>2]|0)+42>>0]&16)){if(d[F>>0]|0)break;$w(c[pa>>2]|0,74,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;a[Q>>0]=1;break f}while(0);Xw(c[pa>>2]|0,25,0,c[ma>>2]|0)|0}while(0);IC(c[H>>2]|0,c[ha>>2]|0,c[ma>>2]|0);c[ba>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[W>>2]=(c[ma>>2]|0)+1+(c[T>>2]|0);g:do if((c[T>>2]|0)==(b[(c[ea>>2]|0)+32>>1]|0))Dz(c[pa>>2]|0,26,c[W>>2]|0)|0;else{h:do if(!(c[K>>2]|0))if(d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2){c[$>>2]=-1;c[ba>>2]=(c[ba>>2]|0)+1;break}else{c[$>>2]=(c[T>>2]|0)-(c[ba>>2]|0);break}else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break h;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break h;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if(!((c[$>>2]|0)<0|(c[aa>>2]|0)==0)){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0)break;if(a[oa>>0]|0){$w(c[pa>>2]|0,47,c[na>>2]|0,c[$>>2]|0,c[W>>2]|0)|0;break g}if(!(c[J>>2]|0)){DA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,c[W>>2]|0);break g}if((c[ja>>2]|0)==(c[ia>>2]|0))break g;Xw(c[pa>>2]|0,31,(c[ja>>2]|0)+(c[$>>2]|0)|0,c[W>>2]|0)|0;break g}while(0);JC(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,c[W>>2]|0)}while(0);c[T>>2]=(c[T>>2]|0)+1}if(d[(c[ea>>2]|0)+42>>0]&16){c[ga>>2]=Gx(c[R>>2]|0,c[ea>>2]|0)|0;KC(c[H>>2]|0,c[ea>>2]|0);_w(c[pa>>2]|0,12,1,(b[(c[ea>>2]|0)+34>>1]|0)+2|0,c[ka>>2]|0,c[ga>>2]|0,-10)|0;Hh(c[pa>>2]|0,((c[L>>2]|0)==10?2:c[L>>2]|0)&255);Hx(c[H>>2]|0);break}else{LC(c[H>>2]|0,c[ea>>2]|0,c[M>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,0,(c[Y>>2]|0)>=0&255,c[L>>2]&255,c[S>>2]|0,Z,0);MC(c[H>>2]|0,c[ea>>2]|0,0,c[ka>>2]|0,0,0);NC(c[H>>2]|0,c[ea>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,c[M>>2]|0,0,d[Q>>0]|0,(c[Z>>2]|0)==0&1);break}}while(0);if(c[(c[R>>2]|0)+24>>2]&128)Xw(c[pa>>2]|0,37,c[la>>2]|0,1)|0;if(c[fa>>2]|0)HC(c[H>>2]|0,c[fa>>2]|0,108,0,2,c[ea>>2]|0,(c[ia>>2]|0)-2-(b[(c[ea>>2]|0)+34>>1]|0)|0,c[L>>2]|0,c[S>>2]|0);Mz(c[pa>>2]|0,c[S>>2]|0);do if(a[oa>>0]|0){Xw(c[pa>>2]|0,7,c[na>>2]|0,c[O>>2]|0)|0;Lz(c[pa>>2]|0,c[P>>2]|0);Dz(c[pa>>2]|0,61,c[na>>2]|0)|0}else{if(!(c[J>>2]|0))break;Kz(c[pa>>2]|0,c[O>>2]|0)|0;Lz(c[pa>>2]|0,c[P>>2]|0)}while(0);if((c[_>>2]|0)!=0?1:(d[(c[ea>>2]|0)+42>>0]&16|0)!=0)break;if((c[U>>2]|0)<(c[V>>2]|0))Dz(c[pa>>2]|0,61,c[U>>2]|0)|0;c[X>>2]=0;c[ca>>2]=c[(c[ea>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break b;Dz(c[pa>>2]|0,61,(c[X>>2]|0)+(c[V>>2]|0)|0)|0;c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)OC(c[H>>2]|0);if(((c[(c[R>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){Xw(c[pa>>2]|0,33,c[la>>2]|0,1)|0;UB(c[pa>>2]|0,1);VB(c[pa>>2]|0,0,0,34883,0)|0}}}while(0);cv(c[R>>2]|0,c[I>>2]|0);$u(c[R>>2]|0,c[da>>2]|0);av(c[R>>2]|0,c[J>>2]|0);ev(c[R>>2]|0,c[K>>2]|0);Tf(c[R>>2]|0,c[M>>2]|0);i=qa;return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=rh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=xC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){ev(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Jw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function bw(d,e){d=d|0;e=e|0;var 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;t=i;i=i+64|0;p=t+16|0;o=t+8|0;f=t+44|0;g=t+40|0;k=t+36|0;r=t+32|0;q=t+50|0;n=t+28|0;l=t;j=t+24|0;m=t+48|0;h=t+20|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=Jf(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(Ki((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+92+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+92+36>>2];Ch(s,34708,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=b[(c[f>>2]|0)+444>>1]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))b[(c[f>>2]|0)+444>>1]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+448>>2]|0))break;if((c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(HQ(c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+444|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+448>>2]|0)){c[h>>2]=Kw(c[k>>2]|0,c[(c[f>>2]|0)+476>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+476>>2]=c[h>>2];tR((c[h>>2]|0)+(c[(c[f>>2]|0)+448>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+448>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+448>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Tf(c[k>>2]|0,c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Ow(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+444|0;s=(b[r>>1]|0)+1<<16>>16;b[r>>1]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+68>>2]|0){i=t;return}if((b[(c[f>>2]|0)+444>>1]|0)<=(c[(c[k>>2]|0)+92+36>>2]|0)){i=t;return}Ch(c[f>>2]|0,34751,p);i=t;return}function cw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=iz(c[c[f>>2]>>2]|0,95,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=iz(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){$u(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];jw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=xv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=xv(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=xv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function hw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];dv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function iw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=xv(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+68>>2]|0){i=f;return}kz(c[e>>2]|0);Ky(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function kw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Mv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+144+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Ch(p,34668,l)}Nv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}if(vz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}c[h>>2]=Ij(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)FB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Ch(f,34458,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Ch(t,34476,l);s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}c[g>>2]=Fh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?20513:20532;if(Sw(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(Sw(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}c[k>>2]=Vw(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}gx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?20513:20532;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;Uw(t,34549,m);vC(c[p>>2]|0,c[g>>2]|0,31442,c[c[h>>2]>>2]|0);Ww(c[p>>2]|0,c[g>>2]|0);wC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);_w(c[k>>2]|0,126,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}function mw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Vw(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}Xw(c[b>>2]|0,10,0,0)|0;Jh(c[b>>2]|0,0);i=d;return}function nw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=Vw(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}QB(c[bc>>2]|0);c[(c[ac>>2]|0)+76>>2]=2;c[$b>>2]=zz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(ix(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Jw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Dh(k,32616,p)|0}else c[ec>>2]=Jw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(Sw(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){RB(c[bc>>2]|0,32620,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Ch(bc,18999,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[5308+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=5308+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(vz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Jh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Bj(Ni(c[ec>>2]|0)|0)|0;gx(c[ac>>2]|0,0,c[$b>>2]|0);$w(c[bc>>2]|0,52,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{SB(c[bc>>2]|0,32627);ac=(c[ac>>2]|0)+76|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Ih(c[bc>>2]|0,9,32638,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Ni(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+76>>2]=bc;if(7!=(Ai(c[_>>2]|0,c[(c[cc>>2]|0)+76>>2]|0,-1,0)|0))break a;lh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=rg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;TB(c[bc>>2]|0,32674,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Ei(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;BB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=BB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;TB(c[bc>>2]|0,32684,ac,((ac|0)<0)<<31>>31);break a}case 23:{hx(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+76|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[18221+(d[c[dc>>2]>>0]|0)>>0]|0)==112)Xw(m,156,l,k)|0;else $w(m,157,l,k,Bj(Ni(c[ec>>2]|0)|0)|0)|0;Xw(c[bc>>2]|0,33,c[Oa>>2]|0,1)|0;UB(c[bc>>2]|0,1);VB(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32698;c[E>>2]=WB(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;AB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=AB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32705;RB(c[bc>>2]|0,32715,c[Ba>>2]|0);break a}case 19:{SB(c[bc>>2]|0,32728);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=XB(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Jh(c[bc>>2]|0,c[U>>2]|0);$w(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}Xw(c[bc>>2]|0,33,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=YB(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;TB(c[bc>>2]|0,32741,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=ZB(c[aa>>2]|0)|0;TB(ac,32760,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=_B(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=$B(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=Hz(c[bc>>2]|0)|0;c[y>>2]=Ih(c[bc>>2]|0,5,32772,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Jh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Oi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;gx(c[ac>>2]|0,0,c[$b>>2]|0);Xw(c[bc>>2]|0,22,c[R>>2]|0,1)|0;c[z>>2]=Dz(c[bc>>2]|0,146,c[$b>>2]|0)|0;Dz(c[bc>>2]|0,33,1)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Xw(c[bc>>2]|0,138,1,c[z>>2]|0)|0;Lz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Ni(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;TB(c[bc>>2]|0,32627,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=aC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;TB(k,32792,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Oi(c[ec>>2]|0,oa)|0)aC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Ei(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;bC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;TB(c[bc>>2]|0,32804,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){cC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{TB(c[bc>>2]|0,32814,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){RB(c[bc>>2]|0,32825,c[241]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Tr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Ch(c[ac>>2]|0,32846,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)dC(c[ac>>2]|0)|0;Kd(c[241]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[241]=Od(18999,sa)|0;break a}else{c[241]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;TB(c[bc>>2]|0,32871,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Mi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;bC(c[cc>>2]|0);break a}else{Ch(c[ac>>2]|0,32883,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;TB(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Ei(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==16777216){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}Xw(c[bc>>2]|0,147,0,0)|0;bC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Hj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=6;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,6,6004);Fx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=ti(c[Wb>>2]|0,19010)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;fC(l,1,32936,Zb);Xw(c[bc>>2]|0,33,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=Vw(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=4;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,4,6028);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;fC(ac,1,32943,ua);Xw(c[bc>>2]|0,33,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;fC(ac,2,32948,va);Xw(c[bc>>2]|0,33,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Ij(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+76>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+76>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,c[(c[ac>>2]|0)+76>>2]|0,6044);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;fC(l,1,32952,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;fC($b,4,32956,Ob)}Xw(c[bc>>2]|0,33,1,c[(c[ac>>2]|0)+76>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=Vw(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=5;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,5,6068);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1522];c[A+4>>2]=c[1523];c[A+8>>2]=c[1524];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;fC(ac,1,32960,wa);Xw(c[bc>>2]|0,33,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+76>>2]=3;eC(c[bc>>2]|0,3,6100);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Gi(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;fC(ac,1,32966,xa);Xw(c[bc>>2]|0,33,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+76>>2]=2;eC(c[bc>>2]|0,2,6112);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;fC(ac,1,32970,ya);Xw(c[bc>>2]|0,33,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=Vw(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+76>>2]=8;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,8,6120);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=gC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=gC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32982;fC(ac,1,32973,za);Xw(c[bc>>2]|0,33,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+76>>2]|0)+1;Zb=(c[ac>>2]|0)+76|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+76|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+76|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=Vw(c[ac>>2]|0)|0;eC(c[bc>>2]|0,4,6152);hx(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Bh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Ez(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+76>>2]|0))c[(c[ac>>2]|0)+76>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Fz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,54);Zw(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Ez(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=hC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Fz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,54);break}else{$w(c[bc>>2]|0,54,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Gz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+72>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+72>>2]=c[Ma>>2];c[Ka>>2]=Dz(c[bc>>2]|0,108,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=hC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Iz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){$w(l,47,0,c[Na>>2]|0,c[Xa>>2]|0)|0;BA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);Xw(c[bc>>2]|0,76,c[Xa>>2]|0,c[Ja>>2]|0)|0;Yb=c[bc>>2]|0;Zb=c[Xa>>2]|0;Xw(Yb,38,Zb,(Hz(c[bc>>2]|0)|0)+3|0)|0}else Xw(l,103,0,c[Xa>>2]|0)|0;$w(c[bc>>2]|0,70,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Kz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Lz(Zb,(Hz(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;zA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);Xw(c[bc>>2]|0,76,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=iC(c[cc>>2]|0,c[Sa>>2]|0)|0;_w(Vb,49,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Gh(c[bc>>2]|0,69,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);Xw(c[bc>>2]|0,103,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;fC(Yb,Zb,32987,Ya);Xw(c[bc>>2]|0,33,c[Wa>>2]|0,4)|0;Mz(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}Xw(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Lz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;jC(bc,(Ei(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[18221+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+76>>2]=6;SB(c[bc>>2]|0,32990);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Oi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;Xw(c[bc>>2]|0,22,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;hx(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Dz(c[bc>>2]|0,138,1)|0;Xw(c[bc>>2]|0,21,0,0)|0;Lz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Lw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+76>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+76>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=l;_w(c[bc>>2]|0,128,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Hh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Dz(c[bc>>2]|0,76,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];_w(Yb,97,0,3,0,Dh(Zb,33006,Pb)|0,-1)|0;$w(c[bc>>2]|0,29,2,4,1)|0;$w(c[bc>>2]|0,94,4,3,2)|0;Xw(c[bc>>2]|0,33,2,1)|0;Lz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Hj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Dz(c[bc>>2]|0,138,1)|0;Xw(c[bc>>2]|0,21,0,0)|0;Lz(c[bc>>2]|0,c[bb>>2]|0);kC(c[ac>>2]|0);lC(c[ac>>2]|0,c[Jb>>2]|0,54,0,1,0,ib,jb)|0;Xw(c[bc>>2]|0,22,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;Xw(l,22,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}Xw(l,108,c[ib>>2]|0,0)|0;c[ub>>2]=Xw(c[bc>>2]|0,37,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;zA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Hh(c[bc>>2]|0,-128);c[mb>>2]=Dz(c[bc>>2]|0,77,3)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Dh(Zb,33030,Qb)|0;_w(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;Xw(c[bc>>2]|0,33,3,1)|0;c[ob>>2]=Dz(c[bc>>2]|0,138,1)|0;cx(c[bc>>2]|0,21)|0;Lz(c[bc>>2]|0,c[mb>>2]|0);Lz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Iz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=bA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];Xw(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Gh(c[bc>>2]|0,69,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Zw(c[bc>>2]|0,3,33050)|0;$w(c[bc>>2]|0,94,7,3,3)|0;Zw(c[bc>>2]|0,4,33055)|0;$w(c[bc>>2]|0,94,4,3,3)|0;c[rb>>2]=Zw(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;$w(c[bc>>2]|0,94,4,3,3)|0;Xw(c[bc>>2]|0,33,3,1)|0;c[qb>>2]=Dz(c[bc>>2]|0,138,1)|0;cx(c[bc>>2]|0,21)|0;Lz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Iz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))Xw(c[bc>>2]|0,76,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Dz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Kz(c[bc>>2]|0,c[Mb>>2]|0)|0;Lz(c[bc>>2]|0,c[sb>>2]|0);Gh(c[bc>>2]|0,115,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Zw(c[bc>>2]|0,3,33076)|0;Kz(c[bc>>2]|0,c[rb>>2]|0)|0;Mz(c[bc>>2]|0,c[Mb>>2]|0)}Lz(c[bc>>2]|0,c[qb>>2]|0);cA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}Xw(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Lz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);Zw(c[bc>>2]|0,2,33103)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=Hz(c[bc>>2]|0)|0;Xw(c[bc>>2]|0,138,1,(c[bb>>2]|0)+2|0)|0;Xw(c[bc>>2]|0,21,0,0)|0;Xw(c[bc>>2]|0,50,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;$w(c[bc>>2]|0,79,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Hh(c[bc>>2]|0,-112);Xw(c[bc>>2]|0,37,1,-1)|0;Zw(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;$w(c[bc>>2]|0,94,3,2,7)|0;Xw(c[bc>>2]|0,33,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Ih(c[bc>>2]|0,4,33132,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=33148;break a}case 12:{if(!(c[ec>>2]|0)){if(vz(c[ac>>2]|0)|0)break a;RB(c[bc>>2]|0,33151,c[6168+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=6168;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[960]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Ch(bc,33160,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Jh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Ih(c[bc>>2]|0,2,33185,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Ni(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Ih(c[bc>>2]|0,3,33193,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];UB(c[bc>>2]|0,1);VB(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;mC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+76>>2]=1;SB(c[bc>>2]|0,33205);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;Zw(l,1,c[Ga>>2]|0)|0;Xw(c[bc>>2]|0,33,1,1)|0}mC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,33220)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,33225)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,33233)|0))c[G>>2]=3}while(0);eC(c[bc>>2]|0,3,6240);c[(c[ac>>2]|0)+76>>2]=3;$w(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;Xw(c[bc>>2]|0,33,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Ni(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+220>>2]|0)==139)l=c[(c[cc>>2]|0)+224>>2]|0;else l=0;TB(c[bc>>2]|0,33242,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;TB(ac,33269,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Fi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;TB(ac,33285,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Ni(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;TB(c[bc>>2]|0,33261,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function ow(b,d,e){b=b|0;d=d|0;e=e|0;var 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;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+492>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+492>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+68>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Fh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Iy(l,c[e>>2]|0);KB(q,c[f>>2]|0,c[k>>2]|0,19272,l);if((PB(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(NB(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+144+5>>0]|0)){c[r>>2]=Vw(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;gx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Ow(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?20513:20532;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;Uw(q,32523,s);Tf(c[j>>2]|0,c[u>>2]|0);Ww(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];Yw(r,s,Dh(u,32587,t)|0)}if(a[(c[j>>2]|0)+144+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Sj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){lh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=qj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);hv(c[j>>2]|0,c[g>>2]|0);i=w;return}function pw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ch(c[I>>2]|0,32206,r);break}else{c[N>>2]=zz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+144+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=JB(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+144+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(KB(q,c[I>>2]|0,c[N>>2]|0,19272,c[D>>2]|0),(LB(q,c[K>>2]|0)|0)==0):0){c[E>>2]=JB(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+144+4>>0]|0)!=1)break;a[(c[M>>2]|0)+144+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Ch(c[I>>2]|0,32252,s);break}c[P>>2]=Jw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Ex(c[I>>2]|0,c[P>>2]|0)|0):0){if(qj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){hx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Ch(o,32293,F);break}}if(!(zd(c[c[E>>2]>>2]|0,28440,7)|0)){Ch(c[I>>2]|0,32319,t);break}if((c[x>>2]|0)!=49?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==35?32357:32364;c[u+4>>2]=H;c[u+8>>2]=0;Ch(N,32370,u);break}if((c[x>>2]|0)==49?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ch(N,32407,v);break}c[C>>2]=Fh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Sw(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Sw(c[I>>2]|0,18,(c[C>>2]|0)==1?20513:20532,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==49)c[x>>2]=35;c[O>>2]=rh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=ph(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==35?1:2;N=ty(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=tz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+492>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);cv(c[M>>2]|0,c[K>>2]|0);ev(c[M>>2]|0,c[J>>2]|0);dv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+492>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function qw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=IB(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=By(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=ty(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}$u(c[h>>2]|0,c[j>>2]|0);dv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function rw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=IB(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Nx(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;av(l,o);o=c[m>>2]|0;i=n;return o|0}else{ev(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;av(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function sw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=IB(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=ty(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}dv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function tw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=rh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){av(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function uw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}if(vz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=qj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){GB(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)FB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Ch(f,32135,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;oB(c[k>>2]|0,24,5280,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;oB(c[f>>2]|0,25,5252,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function xw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(vz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){Yz(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Jw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}Yz(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=zz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Jw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ri(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){Zz(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Ij(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){gx(f,0,c[r>>2]|0);_z(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Ch(f,31595,t);i=u;return}}function yw(a,b,d){a=a|0;b=b|0;d=d|0;var 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;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(vz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=zz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Jw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Ij(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Bh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)yz(c[l>>2]|0,c[o>>2]|0,0)}else yz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=xz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){wz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Jw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Ij(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Bh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)yz(c[l>>2]|0,c[o>>2]|0,0)}else yz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)wz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=Vw(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}cx(c[p>>2]|0,147)|0;i=r;return}function zw(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=ex(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Fh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Jw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ri(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Ij(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(fx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Ex(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Ch(g,28933,v);break}if(Sw(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Fx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Gx(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=Vw(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;gx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);Ww(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+76|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;Zw(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;_w(c[u>>2]|0,155,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Hx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Ix(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Jx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?20513:20532;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;Uw(v,28960,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?20513:20532;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;Uw(z,29029,w);if(ri(c[l>>2]|0,29413,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;Uw(C,29429,x)}C=mx(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;Uw(C,29487,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Kx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))kx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);kx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Ch(D,28874,h)}while(0);cv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Aw(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;g=D+124|0;h=D+120|0;n=D+116|0;o=D+112|0;k=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;l=D+92|0;m=D+88|0;j=D+84|0;s=D+80|0;p=D+76|0;q=D+72|0;B=D+68|0;r=D+64|0;c[g>>2]=e;c[h>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+68>>2]|0){i=D;return}if(d[(c[j>>2]|0)+69>>0]|0){i=D;return}c[n>>2]=c[(c[g>>2]|0)+488>>2];c[k>>2]=Fh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[A>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[C>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ri(c[j>>2]|0,c[C>>2]|0,c[A>>2]|0)|0;if(Sw(c[g>>2]|0,26,c[A>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=D;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Ch(c[g>>2]|0,28476,t);i=D;return}if(c[(c[n>>2]|0)+8>>2]|0){Ch(c[g>>2]|0,28508,w);i=D;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Ch(c[g>>2]|0,28535,x);i=D;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Ch(c[g>>2]|0,28594,y);i=D;return}do if(c[m>>2]|0){c[p>>2]=0;c[q>>2]=jx(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[q>>2]|0){i=D;return}if(c[p>>2]|0){bh(c[p>>2]|0);break}Ch(c[g>>2]|0,28647,u);i=D;return}while(0);c[z>>2]=Ow(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[z>>2]|0){c[B>>2]=(c[z>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[r>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[B>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;if((a[c[B>>2]>>0]|0)!=59?(d[19011+(d[c[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=c[B>>2]|0;c[B>>2]=y+-1;a[y>>0]=0}B=(c[j>>2]|0)+24|0;c[B>>2]=c[B>>2]|2097152;B=c[g>>2]|0;u=(c[k>>2]|0)==1?20513:20532;w=c[(c[n>>2]|0)+44>>2]|0;x=c[z>>2]|0;y=(c[(c[n>>2]|0)+44>>2]|0)+1|0;C=c[C>>2]|0;c[v>>2]=c[A>>2];c[v+4>>2]=u;c[v+8>>2]=w;c[v+12>>2]=x;c[v+16>>2]=y;c[v+20>>2]=C;Uw(B,28693,v);Tf(c[j>>2]|0,c[z>>2]|0);c[(c[j>>2]|0)+24>>2]=c[r>>2]}$w(c[s>>2]|0,52,c[k>>2]|0,2,4)|0;kx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=D;return}function Bw(e,f){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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=ex(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Ch(c[h>>2]|0,28287,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Ch(e,28321,s);break}if(((0==(fx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Fh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=rh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+488>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=rh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Dh(s,28351,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){rR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=ph(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;gx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=Vw(c[h>>2]|0)|0;if(c[r>>2]|0)Ww(c[h>>2]|0,c[m>>2]|0)}}while(0);cv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Cw(b,d){b=b|0;d=d|0;var 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;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+488>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}Qw(c[e>>2]|0);c[(c[e>>2]|0)+516>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+144+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+500+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+500>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+500;c[s>>2]=Dh(r,28148,o)|0;c[h>>2]=Fh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?20513:20532;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+392>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;Uw(r,28172,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=Vw(c[e>>2]|0)|0;Ww(c[e>>2]|0,c[h>>2]|0);Xw(c[n>>2]|0,147,0,0)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Dh(s,28260,q)|0;Yw(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+76|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;Zw(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;Xw(c[n>>2]|0,150,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Sj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){lh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+488>>2]=0;i=u;return}}function Dw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;sv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Fh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;Rw(r,q,Jw(c[l>>2]|0,c[k>>2]|0)|0);Rw(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;Rw(q,r,ph(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+500+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+500>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}Sw(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Ew(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qw(c[d>>2]|0);c[(c[d>>2]|0)+516>>2]=0;c[(c[d>>2]|0)+516+4>>2]=0;i=b;return}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+516;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Gw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Jw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Ch(t,28080,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Kw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=rh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){$u(c[m>>2]|0,c[k>>2]|0);av(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Hw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11634+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[12264+(c[h>>2]<<1)>>1]|0}function Iw(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;fv(c[b>>2]|0)}c[(c[b>>2]|0)+4>>2]=c[d>>2];i=e;return}function Jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Ow(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Pw(c[f>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Kw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Lw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((gu(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Mw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Lw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Nw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Mw(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(gu(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Lw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}rR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}lh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Nw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}lh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Ow(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=pR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Lw(b,d,C)|0;if(c[l>>2]|0){rR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Pw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+12|0;e=j+8|0;h=j+16|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}a[h>>0]=a[c[e>>2]>>0]|0;switch(a[h>>0]|0){case 96:case 34:case 39:break;case 91:{a[h>>0]=93;break}default:{c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}}c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function Qw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+516>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+488>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+516>>2];c[e>>2]=c[(c[b>>2]|0)+516+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+488>>2]|0;a=c[e>>2]|0;Rw(h,b,Ow(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Kw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function Sw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+144+5>>0]|0|0)==0?(d[(c[j>>2]|0)+454>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+496>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;Tw(c[j>>2]|0)}}else{Ch(c[j>>2]|0,28110,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function Tw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Ch(c[d>>2]|0,28125,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function Uw(d,e,f){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;o=i;i=i+144|0;j=o+36|0;g=o+32|0;h=o+16|0;n=o+8|0;m=o+4|0;k=o;l=o+40|0;c[j>>2]=d;c[g>>2]=e;c[m>>2]=0;c[k>>2]=c[c[j>>2]>>2];if(c[(c[j>>2]|0)+68>>2]|0){i=o;return}c[h>>2]=f;c[n>>2]=dx(c[k>>2]|0,c[g>>2]|0,h)|0;if(!(c[n>>2]|0)){i=o;return}g=(c[j>>2]|0)+18|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24;g=l;h=(c[j>>2]|0)+444|0;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));g=(c[j>>2]|0)+444|0;d=g+100|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(d|0));Wh(c[j>>2]|0,c[n>>2]|0,m)|0;Tf(c[k>>2]|0,c[m>>2]|0);Tf(c[k>>2]|0,c[n>>2]|0);g=(c[j>>2]|0)+444|0;h=l;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));n=(c[j>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;i=o;return}function Vw(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=Eh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)cx(c[f>>2]|0,158)|0;if((c[(c[d>>2]|0)+416>>2]|0)==0?((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8|0)==0:0)a[(c[d>>2]|0)+23>>0]=1}i=g;return c[f>>2]|0}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];$w(c[g>>2]|0,52,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function Xw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=$w(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function Yw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;_w(c[e>>2]|0,123,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Jh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=_w(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function _w(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=$w(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Kh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function $w(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)<=(c[o>>2]|0)){c[h>>2]=ax(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function ax(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(bx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=$w(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+88>>2]|0)b=c[(c[f>>2]|0)+88>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Kw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=fu(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+92>>2]=e;c[(c[f>>2]|0)+88>>2]=((c[(c[f>>2]|0)+92>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=$w(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function dx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+92>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}lh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Bh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,28440,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Ch(b,28448,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function gx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;c[k>>2]=f;hx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+336|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+340>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+340|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+344+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}ix(c[f>>2]|0)|0;i=g;return}function ix(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+453>>0]|0)==0:0){c[h>>2]=$j(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Ch(c[e>>2]|0,28370,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ai(c[g>>2]|0,c[(c[f>>2]|0)+76>>2]|0,-1,0)|0)){lh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=ox(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function kx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Vw(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=lx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;_w(c[l>>2]|0,127,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}_w(c[l>>2]|0,125,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Dh(d,28802,m)|0;if(!(c[n>>2]|0)){i=o;return}Yw(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=mx(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}Yw(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function lx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+442>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=lx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=nx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Dh(h,28814,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function nx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Dh(a,28846,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Dh(a,28838,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function ox(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=19010;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==159))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==38){a[p>>0]=px(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=ox(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){qx(c[c[A>>2]>>2]|0,a[p>>0]|0,1);rx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28860}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=sx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=AR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;gh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Dh(l,25313,t)|0;if(!(c[w>>2]|0)){n=43;break}Yh(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)rx(c[B>>2]|0,67,1);else rx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=du(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=sx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=sx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=ux(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;fh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=42;break}w=0==(jx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){tx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=oR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);rx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){lh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);bh(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function px(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[18221+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[19011+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Oi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function qx(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){rx(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}}case 67:{tx(c[k>>2]|0)|0;i=m;return}case 68:{Cx(c[k>>2]|0)|0;i=m;return}case 69:{Dx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;rx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function rx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;xx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Xh(c[e>>2]|0)|0;i=d;return b|0}function tx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+_g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;vx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function ux(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Lw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Ji(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Ji(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function vx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=wx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function wx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function xx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)yx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){vx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}zh(c[k>>2]|0,1);i=l;return}function yx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(zx(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28862,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28867,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}du(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function zx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ax(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Ax(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Bx(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ah(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=fu(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}hh(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)rR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Bx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Kw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Cx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=$g(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Dx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+_g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Ex(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+144+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,28440,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Ch(e,31363,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Fx(a,f){a=a|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,r=0;r=i;i=i+48|0;g=r;h=r+36|0;j=r+32|0;k=r+28|0;p=r+24|0;o=r+20|0;n=r+16|0;m=r+12|0;l=r+8|0;q=r+4|0;c[j>>2]=a;c[k>>2]=f;c[n>>2]=0;c[l>>2]=c[c[j>>2]>>2];if(Lx(c[j>>2]|0,c[k>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}if(d[(c[k>>2]|0)+42>>0]&16){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)<0){q=c[j>>2]|0;c[g>>2]=c[c[k>>2]>>2];Ch(q,29579,g);c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}a=c[l>>2]|0;do if(c[(c[k>>2]|0)+24>>2]|0){q=a+256|0;c[q>>2]=(c[q>>2]|0)+1;Mx(c[j>>2]|0,c[(c[k>>2]|0)+24>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;q=(c[l>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else{c[o>>2]=Nx(a,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(!(c[o>>2]|0)){c[n>>2]=(c[n>>2]|0)+1;break}c[m>>2]=c[(c[j>>2]|0)+72>>2];Ox(c[j>>2]|0,c[(c[o>>2]|0)+28>>2]|0);b[(c[k>>2]|0)+34>>1]=-1;g=(c[l>>2]|0)+256|0;c[g>>2]=(c[g>>2]|0)+1;c[q>>2]=c[(c[l>>2]|0)+296>>2];c[(c[l>>2]|0)+296>>2]=0;c[p>>2]=Px(c[j>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+296>>2]=c[q>>2];q=(c[l>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1;c[(c[j>>2]|0)+72>>2]=c[m>>2];if(c[p>>2]|0){b[(c[k>>2]|0)+34>>1]=b[(c[p>>2]|0)+34>>1]|0;c[(c[k>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=0;c[(c[p>>2]|0)+4>>2]=0;Rf(c[l>>2]|0,c[p>>2]|0)}else{b[(c[k>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1}av(c[l>>2]|0,c[o>>2]|0)}while(0);q=(c[(c[k>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;i=r;return q|0}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Hx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Ix(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Kx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=nx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Kx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Lx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Gx(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=qj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=uz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Ch(p,18999,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Ch(o,31219,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Mx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];xj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=rh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=Zx(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=25353;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==27){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Dh(E,18999,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(qj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[19011+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Dh(E,31211,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Sj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)lh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}yj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function Nx(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Lw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=By(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=rz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=ty(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=By(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=ty(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=By(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=Nx(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=ty(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=ty(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-17;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=sz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function Ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ox(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Px(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Qx(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+68>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=rh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;Mx(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;Rx(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Qx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&64){i=l;return}_x(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}$x(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}ay(c[g>>2]|0,c[h>>2]|0);i=l;return}function Rx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;h=t+76|0;j=t+72|0;k=t+68|0;m=t+64|0;r=t+32|0;p=t+24|0;q=t+20|0;n=t+16|0;o=t+12|0;l=t+8|0;s=t;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=s;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=t;return};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[p>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[o>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];Sx(r,c[o>>2]|0,(c[p>>2]|0)+14|0)|0;g=s;g=pR(c[g>>2]|0,c[g+4>>2]|0,d[(c[p>>2]|0)+14>>0]|0,0)|0;f=s;c[f>>2]=g;c[f+4>>2]=C;f=Tx(c[o>>2]|0)|0;a[(c[p>>2]|0)+13>>0]=f;if(!(a[(c[p>>2]|0)+13>>0]|0))a[(c[p>>2]|0)+13>>0]=65;c[q>>2]=Ux(c[h>>2]|0,c[o>>2]|0)|0;if((c[q>>2]|0)!=0?(c[(c[p>>2]|0)+8>>2]|0)==0:0){f=ph(c[m>>2]|0,c[c[q>>2]>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}s=AR(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=Kj(s,C)|0;b[(c[j>>2]|0)+40>>1]=s;i=t;return}function Sx(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=Sx(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=19367;break a}else{c[w>>2]=ti((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=Sx(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function Tx(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=Zx(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Tx(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==38){a[f>>0]=px(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==154|(c[j>>2]|0)==152|(c[j>>2]|0)==157?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+13>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function Ux(e,f){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,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==38|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==95){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==95:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==62?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=Vx(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(Wx(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function Vx(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){Xx(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(Yx(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Ch(p,29609,n);p=c[m>>2]|0;i=o;return p|0}function Wx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=Vx(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Xx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+228>>2]|0){c[l>>2]=ph(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+228>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+232>>2]|0)){i=n;return}c[k>>2]=Xh(c[g>>2]|0)|0;Yh(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Yg(c[k>>2]|0,((a[960]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);bh(c[k>>2]|0);i=n;return}function Yx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Qj(c[e>>2]|0,a[29640+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function Zx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function _x(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;dy(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&512){h=c[e>>2]|0;dy(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;dy(f,h)|0;i=g;return}function $x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];dy(g,c[f>>2]|0)|0;i=e;return}function ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];dy(f,c[e>>2]|0)|0;i=d;return}function by(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|64;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}Rx(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function cy(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function dy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ey(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(fy(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(gy(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(hy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(gy(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(hy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(gy(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(hy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(hy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function fy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(dy(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(gy(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(hy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function hy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=iy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[d>>2]|0)+4>>2]&255](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(hy(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}if(hy(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[d>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!(dy(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else{if(!(gy(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}function jy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;n=J+112|0;o=J+108|0;x=J+104|0;z=J+100|0;k=J+96|0;m=J+92|0;l=J+88|0;j=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;r=J+64|0;p=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;q=J+120|0;y=J+44|0;h=J+40|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+24>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 27:{c[I>>2]=Ly(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{My(c[z>>2]|0,c[x>>2]|0,30149,32);c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==27){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Ly(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 151:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0;My(c[z>>2]|0,c[x>>2]|0,30166,16);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=Jf(c[G>>2]|0)|0;c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Ny(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){Ch(c[z>>2]|0,30176,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Sw(c[z>>2]|0,31,0,c[(c[v>>2]|0)+20>>2]|0,0)|0;if(c[p>>2]|0){if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+20>>2];Ch(H,30247,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}else{if(e[(c[v>>2]|0)+2>>1]&10240){B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288}if(e[(c[v>>2]|0)+2>>1]&2048)break;My(c[z>>2]|0,c[x>>2]|0,30282,32);break}}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;Ch(F,30310,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=31;do if((H|0)==31){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+144+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;Ch(H,30346,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;Ch(H,30369,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}gy(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-103;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Oy(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(2|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 75:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],My(c[z>>2]|0,c[x>>2]|0,30414,52),dy(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32}break}case 135:{My(c[z>>2]|0,c[x>>2]|0,30425,52);break}default:{}}if(c[(c[z>>2]|0)+68>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+69>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function ky(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&32)){Qx(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+68>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(ly(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(ly(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&32768){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+496>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+496>>2]=c[(c[o>>2]|0)+8>>2];$x(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+496>>2]=c[w>>2];if(c[(c[A>>2]|0)+68>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(my(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&2|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(ly(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(ly(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(my(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&32768){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(ny(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29687)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(ny(v,c[x>>2]|0,c[n>>2]|0,29693)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Ch(c[A>>2]|0,29643,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Ch(c[A>>2]|0,29699,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{oy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(py(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function ly(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Ky(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+464>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4098;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4099;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];hy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+68>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&2){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function my(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(ly(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function ny(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=Zx(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=sy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(qy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(ly(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(vy(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){ry(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ey(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function oy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&256){Ch(b,29909,g);i=g;return}else{c[f>>2]=Dy(d[(c[e>>2]|0)+4>>0]|0)|0;Ch(b,29955,f);i=g;return}}function py(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+92+8>>2]|0)){Ch(c[r>>2]|0,29758,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=Zx(c[c[n>>2]>>2]|0)|0;if(qy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=sy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=ty(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=uy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;dv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Pv(c[h>>2]|0,132,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=95)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}dv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){ry(c[r>>2]|0,29687,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ch(u,29792,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function qy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=qy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(qy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function ry(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Ch(b,29853,g);i=f;return}function sy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==27){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function ty(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=xy(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return b|0}function uy(d,e,f){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,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=ly(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(vy(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function vy(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==95?(vy(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==95?(vy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(HQ(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==95?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(vy(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(vy(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(wy(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function wy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(vy(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+64|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;m=t+28|0;s=t+24|0;k=t+20|0;h=t+16|0;f=t+12|0;j=t+8|0;g=t+4|0;l=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(c[o>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[m>>2]=c[p>>2]&1;c[k>>2]=0;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=yy(c[o>>2]|0,c[p>>2]|0)|0;c[s>>2]=Lw(b,e,((e|0)<0)<<31>>31)|0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[h>>2]=zy(c[o>>2]|0,c[p>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(Jf(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[m>>2]|0)){c[g>>2]=Ay(c[o>>2]|0)|0;rR(c[s>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<48)tR((c[s>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}else rR(c[s>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[s>>2]|0)+(c[f>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=k;c[l>>2]=k;rR(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&16384)){d=c[n>>2]|0;a=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){m=Nx(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=By(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[o>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&16384){s=c[r>>2]|0;i=t;return s|0}s=ty(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s;s=ty(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}p=Cy(a,c[p>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+p;if(c[(c[r>>2]|0)+4>>2]&8192){p=xy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,s)|0;c[(c[r>>2]|0)+12>>2]=p;p=xy(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,s)|0;c[(c[r>>2]|0)+16>>2]=p}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function yy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Cy(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=yy(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(yy(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Ay(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function By(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Lw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Lw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=ty(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(zy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Dy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=30037;break}case 118:{c[b>>2]=30047;break}case 117:{c[b>>2]=30057;break}default:c[b>>2]=30064}i=d;return c[b>>2]|0}function Ey(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+92+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Ch(s,30070,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}Fy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){ry(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function Fy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=ty(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Gy(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==95)c[p>>2]=Hy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;dv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=ph(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];hy(f,c[d>>2]|0)|0;i=g;return}function Hy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Iy(f,c[j>>2]|0);d=cw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Ky(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+92+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Ch(j,30101,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0} +function LC(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=Vw(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Hj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Hx(c[E>>2]|0);break}case 3:case 1:break;case 4:{Xw(c[ka>>2]|0,76,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Dz(c[ka>>2]|0,77,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;DA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Lz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Dh(m,30741,A)|0;_w(c[ka>>2]|0,20,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Hh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(IE(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Iz(c[ka>>2]|0)|0;SA(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Kz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;hA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}Mz(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Iz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){$w(c[ka>>2]|0,79,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=cx(c[ka>>2]|0,13)|0}while(0);$w(c[ka>>2]|0,70,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=yC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(KE(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){LE(c[E>>2]|0);NE(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{LE(c[E>>2]|0);ME(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Kz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)JE(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);Mz(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=cx(c[ka>>2]|0,13)|0;Lz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){GC(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Iz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){Xw(c[ka>>2]|0,25,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;pA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+100>>2]=0}c[ga>>2]=qA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;yA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+100>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}Xw(c[ka>>2]|0,(c[U>>2]|0)<0?32:31,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}$w(c[ka>>2]|0,49,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;IA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){Mz(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){tA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);Mz(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Gh(c[ka>>2]|0,67,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=qA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Xw(c[ka>>2]|0,113,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;$w(c[ka>>2]|0,79,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(AA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;$w(c[ka>>2]|0,47,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=Hz(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=78;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Jz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=79}_w(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Hh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{dA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Kz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;LE(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=yC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;ME(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}Mz(c[ka>>2]|0,c[Q>>2]|0);tA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))tA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Kz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Lz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function MC(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+442>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Fh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(QC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+442>>0]|0)c[I>>2]=ri(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Bh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(hC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=Uy(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Ez(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+72|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)RC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(SC(c[l>>2]|0,c[D>>2]|0)|0)==0:0)RC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=Vw(c[l>>2]|0)|0;g=Hz(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;Xw(c[K>>2]|0,76,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Xw(c[K>>2]|0,135,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Kx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(TC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[l>>2]|0)+416>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(hC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=Tv(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+72|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)UC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],UC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Hx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;cv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function NC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=Vw(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;Xw(j,76,n,(Hz(c[D>>2]|0)|0)+2|0)|0}Xw(c[D>>2]|0,110,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Hh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=aA(c[o>>2]|0)|0;$w(c[D>>2]|0,49,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))GC(c[D>>2]|0,c[p>>2]|0,0);IA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;$w(c[D>>2]|0,75,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Kh(c[D>>2]|0,-1,c[c[p>>2]>>2]|0,0);Hh(c[D>>2]|0,a[A>>0]|0);i=E;return}function OC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+412>>2]|0)){i=d;return}PC(c[b>>2]|0);i=d;return}function PC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=aA(c[d>>2]|0)|0;Fz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,55);c[e>>2]=Ih(c[l>>2]|0,5,34897,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;eA(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function QC(a,d,e,f){a=a|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;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0}function RC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=Vw(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)-1;c[C>>2]=Iz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)Xw(c[J>>2]|0,136,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;Xw(c[J>>2]|0,76,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=aA(c[o>>2]|0)|0;Xw(c[J>>2]|0,31,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=Xw(c[J>>2]|0,38,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){$w(c[J>>2]|0,79,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Hh(c[J>>2]|0,-112)}Fz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,54);$w(c[J>>2]|0,70,c[z>>2]|0,0,c[H>>2]|0)|0;Kz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Lz(I,(Hz(c[J>>2]|0)|0)-2|0);Lz(c[J>>2]|0,c[B>>2]|0);eA(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=qA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=aA(c[o>>2]|0)|0;$w(c[J>>2]|0,54,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Gz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;Xw(c[J>>2]|0,30,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=Hz(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];$w(c[J>>2]|0,78,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Hh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Kz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=iC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;_w(h,49,e,g,l,H,c[F>>2]|0)|0;Gh(c[J>>2]|0,69,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;eA(c[o>>2]|0,c[G>>2]|0);tA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[o>>2]|0)+416>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){hA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;Mz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Dz(I,61,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Hx(c[o>>2]|0);Xw(c[J>>2]|0,135,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;Mz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Dz(I,61,J)|0;i=K;return}function SC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+532>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+532>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function TC(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function UC(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=Vw(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=Xw(c[M>>2]|0,136,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=VC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Pv(c[v>>2]|0,27,c[N>>2]|0)|0;c[B>>2]=xv(c[n>>2]|0,79,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=gz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=VC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=WC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=xv(c[n>>2]|0,78,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Hj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=VC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=WC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=xv(c[n>>2]|0,79,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=gz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=xv(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=gz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];ly(L,c[K>>2]|0)|0;c[J>>2]=XC(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;Xw(c[M>>2]|0,135,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)YC(c[J>>2]|0);dv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Lz(c[M>>2]|0,c[z>>2]|0);i=O;return}function VC(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Pv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Hy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function WC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Pv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function XC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Ch(ba,34917,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=816+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=rh(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[(c[W>>2]|0)+60+4>>2]=-1;c[(c[W>>2]|0)+60>>2]=-1;a[(c[W>>2]|0)+43>>0]=c[I>>2];c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];l=Iz(c[_>>2]|0)|0;c[(c[W>>2]|0)+48>>2]=l;c[(c[W>>2]|0)+52>>2]=l;b[(c[W>>2]|0)+36>>1]=b[v>>1]|0;b[(c[W>>2]|0)+34>>1]=c[w>>2];c[(c[W>>2]|0)+56>>2]=c[(c[r>>2]|0)+428>>2];c[R>>2]=(c[W>>2]|0)+68;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+328;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);dD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;gD((c[W>>2]|0)+328|0,c[W>>2]|0);hD((c[W>>2]|0)+328|0,c[o>>2]|0,72);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(jB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){RA(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+52>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+20|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+38>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[W>>2]|0)+42>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;iD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);jD(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+328|0);c[G>>2]=(c[G>>2]|0)+1}kD(c[s>>2]|0,(c[W>>2]|0)+328|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&1024){if(lD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+42>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+36|0;b[t>>1]=e[t>>1]|512;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(mD(Y)|0)!=0:0)){c[X>>2]=nD(Y)|0;if(c[X>>2]|0)break;oD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(oD(c[W>>2]|0,(b[(c[W>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+24|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+68>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+43>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=pD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=pD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+43>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+736+(((d[(c[W>>2]|0)+43>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+43|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+428|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+32>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8192))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+40>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8192)a[z>>0]=8;c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+736;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Fh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Gx(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];_w(c[_>>2]|0,152,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[K>>2]=54;if(d[(c[W>>2]|0)+40>>0]|0){c[K>>2]=55;c[(c[W>>2]|0)+60>>2]=c[(c[T>>2]|0)+44>>2]}Fz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+40>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=qR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Kh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Hh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Ez(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+4>>2];c[L>>2]=54;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&64)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(d[(c[W>>2]|0)+40>>0]|0){c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=55;c[(c[W>>2]|0)+60+4>>2]=c[F>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[F>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[L>>2]=53;break d}while(0);Z=(c[r>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;$w(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Gz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+36>>1]&1)break;Hh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)hx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=Hz(c[_>>2]|0)|0;c[(c[W>>2]|0)+44>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+736+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,qD(c[r>>2]|0,(c[W>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=rD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=Hz(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=sD(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+48>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&64|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+428>>2]=c[(c[W>>2]|0)+56>>2];_C(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function YC(f){f=f|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;l=E+44|0;j=E+40|0;k=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];kC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+43>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+736+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];Mz(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=160){$w(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Hh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){Mz(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[l>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Lz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)+1|0);Xw(c[A>>2]|0,d[(c[l>>2]|0)+8>>0]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;Lz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-12}}while(0);Mz(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Kz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Lz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Lz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0){if(c[(Sz(c[A>>2]|0,(c[(c[s>>2]|0)+40>>2]|0)-1|0)|0)+4>>2]|0)c[k>>2]=141;else c[k>>2]=142;Xw(c[A>>2]|0,c[k>>2]|0,c[(c[s>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+40>>2]|0)|0}if(c[c[s>>2]>>2]|0){c[h>>2]=Dz(c[A>>2]|0,138,c[c[s>>2]>>2]|0)|0;if(!(c[(c[t>>2]|0)+36>>2]&64))Dz(c[A>>2]|0,104,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(c[(c[t>>2]|0)+36>>2]&512)Dz(c[A>>2]|0,104,c[(c[s>>2]|0)+8>>2]|0)|0;f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==15)Xw(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Kz(f,c[g+28>>2]|0)|0;Lz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}Mz(c[A>>2]|0,c[(c[m>>2]|0)+52>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+736;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+43>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)ZC(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=32;b:do if((D|0)==32){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+36>>1]&16|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+40>>0]|0)==0?(c[B>>2]&64|0)==0:0)Dz(c[A>>2]|0,61,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+60+4>>2]|0):0)Dz(c[A>>2]|0,61,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+4>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+40>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+69>>0]|0)){c[q>>2]=Hz(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=Sz(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=47){if((d[f>>0]|0)!=103)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=113;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Hj(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(AA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+428>>2]=c[(c[m>>2]|0)+56>>2];_C(c[n>>2]|0,c[m>>2]|0);i=E;return}function ZC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=Sz(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=Hz(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==47){a[h>>0]=30;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==103){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=37;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=25;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function _C(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+43>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+736+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}$C((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[h>>2]|0)+52>>2];aD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function $C(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+20>>1]|0)&1)dv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+20>>1]|0)&16)){if((e[(c[d>>2]|0)+20>>1]|0)&32)fD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0)}else eD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function aD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;bD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function bD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);cD(c[d>>2]|0,c[e>>2]|0);dD(c[e>>2]|0);i=f;return}function cD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function dD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$C(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function fD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$C(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function gD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function hD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=Zx(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){uE(f,c[h>>2]|0,0)|0;i=l;return}else{hD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);hD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function iD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function jD(a,e,f){a=a|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,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=xv(f,152,0,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=xv(a,79,f,ty(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;uE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Ch(f,35357,q);i=r;return}else if((e|0)==13){i=r;return}}function kD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;qE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function lD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=Zx(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(DD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((pE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(hE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function mD(f){f=f|0;var 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;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+328;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=DD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=DD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=fE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+4>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+736+64>>2]=c[o>>2];q=tD((c[s>>2]|0)+68|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+736+4>>2]=c[j>>2];b[(c[s>>2]|0)+32>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+38>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&1024)a[(c[s>>2]|0)+42>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function nD(b){b=b|0;var 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;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+43>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];dD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=tD((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=tD((c[n>>2]|0)+68|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=UD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=VD(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=WD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){bD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function oD(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=i;i=i+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;r=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;n=U+104|0;p=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;k=U+80|0;m=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;j=U+60|0;l=U+56|0;S=U+52|0;h=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;o=U+148|0;q=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+43>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=Lw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];tR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+428>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+428>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[R>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=QD(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=QD(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=RD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+36>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=SD(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=QD(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;rR(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Ch(c[z>>2]|0,35265,E);Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*80|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+36>>1]&1024|0)!=0?(e[(c[N>>2]|0)+36>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+42>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(RD(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+42>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+36>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+42>>0]=2}else{a[(c[N>>2]|0)+38>>0]=g;if((a[(c[N>>2]|0)+38>>0]|0)<0)a[(c[N>>2]|0)+38>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+36>>1]&2048|0)!=0?((c[P>>2]|0)>0?(a[(c[N>>2]|0)+38>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(RD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+39>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=OD(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function qD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=_A(c[N>>2]|0)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+20>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(KD(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=gz(h,g,ty(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(LD(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+12>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=uR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,35228,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(MD(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;dv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=uR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=ND(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;dv(W,X);i=Y;return}c[(c[H>>2]|0)+24+4>>2]=c[G>>2];c[c[G>>2]>>2]=35254;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(LD(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+12>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=uR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+12>>2];c[F>>2]=$A(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=35343;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=uR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35343;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35343;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35343;K=(c[N>>2]|0)+72|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;Xw(c[X>>2]|0,56,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Gz(c[N>>2]|0,c[G>>2]|0);oA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=Xw(c[X>>2]|0,22,0,0)|0;$w(c[X>>2]|0,16,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Dz(c[X>>2]|0,18,c[M>>2]|0)|0}else c[R>>2]=Dz(c[X>>2]|0,108,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Iz(c[X>>2]|0)|0;RA(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=aA(c[N>>2]|0)|0;c[V>>2]=bA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;Xw(c[X>>2]|0,110,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Hh(c[X>>2]|0,16);if(c[T>>2]|0)Mz(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){Rz(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);ZC(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Kz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else Xw(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Hh(c[X>>2]|0,3);Lz(c[X>>2]|0,c[R>>2]|0);eA(c[N>>2]|0,c[W>>2]|0);mA(c[N>>2]|0);Lz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;dv(W,X);i=Y;return}function rD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+453>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+468>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&64|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);GD(C,(c[x>>2]|0)!=0?34965:34972);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];fA(C,34977,E)}else{c[F>>2]=c[m+8>>2];fA(C,34990,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];fA(C,35e3,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+4>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=35007}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=35019;break}if(c[v>>2]&16384){c[K>>2]=35052;break}if(c[v>>2]&64){c[K>>2]=35077;break}else{c[K>>2]=35095;break}}while(0);if(c[K>>2]|0){gA(C,35104,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];fA(C,N,J);HD(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=35114;break}if(c[v>>2]&32){c[M>>2]=35128;break}else{c[M>>2]=35130;break}}else c[M>>2]=35112;while(0);c[G>>2]=c[M>>2];fA(C,35132,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;fA(C,35170,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=_w(c[D>>2]|0,161,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function sD(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;bb=i;i=i+384|0;Ma=bb+8|0;Na=bb+368|0;ba=bb+364|0;Oa=bb;Sa=bb+360|0;La=bb+356|0;Ra=bb+352|0;J=bb+348|0;R=bb+344|0;Ia=bb+340|0;Xa=bb+336|0;Ja=bb+332|0;_a=bb+328|0;Za=bb+324|0;Ya=bb+320|0;Qa=bb+316|0;ab=bb+312|0;I=bb+308|0;v=bb+304|0;Pa=bb+300|0;O=bb+296|0;l=bb+292|0;k=bb+288|0;B=bb+284|0;z=bb+280|0;E=bb+276|0;A=bb+272|0;D=bb+268|0;F=bb+264|0;H=bb+260|0;G=bb+256|0;u=bb+252|0;t=bb+248|0;m=bb+244|0;o=bb+240|0;n=bb+236|0;p=bb+232|0;r=bb+228|0;s=bb+224|0;q=bb+220|0;Q=bb+374|0;Z=bb+216|0;W=bb+212|0;V=bb+208|0;_=bb+204|0;N=bb+200|0;$=bb+196|0;P=bb+192|0;T=bb+188|0;fa=bb+184|0;w=bb+180|0;S=bb+176|0;aa=bb+172|0;M=bb+379|0;K=bb+378|0;L=bb+377|0;x=bb+168|0;y=bb+376|0;X=bb+164|0;Y=bb+160|0;U=bb+156|0;wa=bb+152|0;ua=bb+148|0;ra=bb+144|0;ea=bb+140|0;Da=bb+136|0;Fa=bb+132|0;Ea=bb+128|0;ga=bb+124|0;ia=bb+120|0;Ga=bb+116|0;la=bb+112|0;Ha=bb+372|0;qa=bb+108|0;Ba=bb+104|0;na=bb+100|0;pa=bb+96|0;xa=bb+92|0;ka=bb+88|0;sa=bb+84|0;va=bb+80|0;Aa=bb+76|0;ta=bb+72|0;ma=bb+68|0;za=bb+64|0;ca=bb+60|0;Ca=bb+56|0;ja=bb+52|0;ya=bb+48|0;oa=bb+44|0;ha=bb+40|0;da=bb+36|0;Ua=bb+32|0;$a=bb+28|0;Va=bb+24|0;Wa=bb+20|0;Ta=bb+16|0;c[Na>>2]=f;c[ba>>2]=g;g=Oa;c[g>>2]=h;c[g+4>>2]=j;c[O>>2]=0;c[l>>2]=0;c[Ya>>2]=c[c[Na>>2]>>2];c[ab>>2]=c[(c[Ya>>2]|0)+8>>2];c[_a>>2]=(c[Na>>2]|0)+328;c[Qa>>2]=c[c[Ya>>2]>>2];c[Xa>>2]=(c[Na>>2]|0)+736+((c[ba>>2]|0)*80|0);c[Ja>>2]=c[(c[Xa>>2]|0)+64>>2];c[I>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8+((d[(c[Xa>>2]|0)+44>>0]|0)*72|0);c[Ra>>2]=c[(c[I>>2]|0)+44>>2];g=Oa;h=c[g>>2]|0;g=c[g+4>>2]|0;j=tD((c[Na>>2]|0)+68|0,c[Ra>>2]|0)|0;f=(c[Xa>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Na>>2]|0)+24|0;f=qR(c[f>>2]|0,c[f+4>>2]|0,c[ba>>2]|0)|0;c[Ia>>2]=f&1;if(c[(c[Ja>>2]|0)+36>>2]&64)h=(e[(c[Na>>2]|0)+36>>1]&32|0)==0;else h=0;c[R>>2]=h&1;f=Iz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+16>>2]=f;c[(c[Xa>>2]|0)+12>>2]=f;c[v>>2]=f;f=Iz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+24>>2]=f;c[Pa>>2]=f;if((d[(c[Xa>>2]|0)+44>>0]|0)>0?(d[(c[I>>2]|0)+36>>0]&8|0)!=0:0){g=(c[Ya>>2]|0)+76|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[Xa>>2]>>2]=f;Xw(c[ab>>2]|0,22,0,c[c[Xa>>2]>>2]|0)|0}do if((d[(c[I>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[I>>2]|0)+28>>2];$w(c[ab>>2]|0,16,c[k>>2]|0,0,c[(c[I>>2]|0)+24>>2]|0)|0;La=Xw(c[ab>>2]|0,18,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+45>>0]=13}else{h=c[Ja>>2]|0;if(c[(c[Ja>>2]|0)+36>>2]&1024){c[E>>2]=e[h+40>>1];oA(c[Ya>>2]|0);c[B>>2]=qA(c[Ya>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+12>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[E>>2]|0))break;c[D>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];do if(c[Za>>2]|0){h=c[Ya>>2]|0;j=c[Za>>2]|0;if(e[(c[Za>>2]|0)+18>>1]&1){uD(h,j,c[Xa>>2]|0,c[Sa>>2]|0,c[Ia>>2]|0,c[D>>2]|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+16>>2];break}else{DA(h,c[(c[j>>2]|0)+16>>2]|0,c[D>>2]|0);break}}while(0);c[Sa>>2]=(c[Sa>>2]|0)+1}Xw(c[ab>>2]|0,22,c[(c[Ja>>2]|0)+24>>2]|0,c[B>>2]|0)|0;Xw(c[ab>>2]|0,22,c[E>>2]|0,(c[B>>2]|0)+1|0)|0;_w(c[ab>>2]|0,11,c[Ra>>2]|0,c[z>>2]|0,c[B>>2]|0,c[(c[Ja>>2]|0)+24+8>>2]|0,(d[(c[Ja>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Ja>>2]|0)+24+4>>0]=0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];a[(c[Xa>>2]|0)+45>>0]=(d[(c[Na>>2]|0)+40>>0]|0)!=0?160:154;La=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;c[A>>2]=c[(c[Xa>>2]|0)+56>>2];c[Sa>>2]=(c[E>>2]|0)-1;while(1){if((c[Sa>>2]|0)<0)break;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];if((c[Sa>>2]|0)<16?(e[(c[Ja>>2]|0)+24+6>>1]>>c[Sa>>2]&1|0)!=0:0)vD(c[Xa>>2]|0,c[Za>>2]|0);else Ka=21;if((Ka|0)==21?(Ka=0,(e[(c[Za>>2]|0)+18>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Ia=c[ab>>2]|0;La=(c[A>>2]|0)+-1|0;c[A>>2]=La;c[G>>2]=Sz(Ia,c[(c[(c[Xa>>2]|0)+56+4>>2]|0)+(La*12|0)+4>>2]|0)|0;$w(c[ab>>2]|0,d[c[G>>2]>>0]|0,c[(c[G>>2]|0)+4>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+12>>2]|0)|0}c[F>>2]=xv(c[Ya>>2]|0,79,0,0,0)|0;if(c[F>>2]|0){c[(c[F>>2]|0)+12>>2]=c[(c[c[Za>>2]>>2]|0)+12>>2];La=Pv(c[Qa>>2]|0,157,0)|0;c[H>>2]=La;c[(c[F>>2]|0)+16>>2]=La;if(c[H>>2]|0){c[(c[H>>2]|0)+28>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;RA(c[Ya>>2]|0,c[F>>2]|0,c[(c[Xa>>2]|0)+24>>2]|0,0)}c[(c[F>>2]|0)+12>>2]=0;dv(c[Qa>>2]|0,c[F>>2]|0)}}c[Sa>>2]=(c[Sa>>2]|0)+-1}tA(c[Ya>>2]|0,c[B>>2]|0,(c[E>>2]|0)+2|0);mA(c[Ya>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&5|0)!=0:0){c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[l>>2]=La;c[O>>2]=uD(c[Ya>>2]|0,c[Za>>2]|0,c[Xa>>2]|0,0,c[Ia>>2]|0,c[l>>2]|0)|0;if((c[O>>2]|0)!=(c[l>>2]|0))eA(c[Ya>>2]|0,c[l>>2]|0);c[J>>2]=c[(c[Xa>>2]|0)+16>>2];Xw(c[ab>>2]|0,38,c[O>>2]|0,c[J>>2]|0)|0;$w(c[ab>>2]|0,70,c[Ra>>2]|0,c[J>>2]|0,c[O>>2]|0)|0;IA(c[Ya>>2]|0,c[O>>2]|0,1);mB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);a[(c[Xa>>2]|0)+45>>0]=-96;break}if((c[(c[Ja>>2]|0)+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=160;c[m>>2]=0;c[Sa>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Ja>>2]|0)+36>>2]&32){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[o>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[(c[Ja>>2]|0)+36>>2]&16){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[n>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[Ia>>2]|0){c[Za>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Za>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=JA(c[Ya>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;$w(c[ab>>2]|0,d[34945+((d[c[p>>2]>>0]|0)-80)>>0]|0,c[Ra>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;IA(c[Ya>>2]|0,c[r>>2]|0,1);eA(c[Ya>>2]|0,c[s>>2]|0);vD(c[Xa>>2]|0,c[o>>2]|0)}else Xw(c[ab>>2]|0,(c[Ia>>2]|0)!=0?105:108,c[Ra>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[m>>2]=La;DA(c[Ya>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=82?(d[c[q>>2]>>0]|0)!=80:0)c[u>>2]=(c[Ia>>2]|0)!=0?82:80;else c[u>>2]=(c[Ia>>2]|0)!=0?81:83;vD(c[Xa>>2]|0,c[n>>2]|0)}c[t>>2]=Hz(c[ab>>2]|0)|0;a[(c[Xa>>2]|0)+45>>0]=(c[Ia>>2]|0)!=0?6:7;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];c[(c[Xa>>2]|0)+52>>2]=c[t>>2];if((c[u>>2]|0)==160)break;Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;Xw(c[ab>>2]|0,103,c[Ra>>2]|0,c[O>>2]|0)|0;mB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);$w(c[ab>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[O>>2]|0)|0;Hh(c[ab>>2]|0,83);break}h=c[Ja>>2]|0;if(!(c[(c[Ja>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[I>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[Xa>>2]|0)+45>>0]=-96;break}else{a[(c[Xa>>2]|0)+45>>0]=a[34961+(c[Ia>>2]|0)>>0]|0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];La=1+(Xw(c[ab>>2]|0,d[34963+(c[Ia>>2]|0)>>0]|0,c[Ra>>2]|0,c[v>>2]|0)|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+47>>0]=1;break}c[ra>>2]=0;h=(c[Ya>>2]|0)+72|0;Ia=c[h>>2]|0;c[h>>2]=Ia+1;c[ea>>2]=Ia;Ia=(c[Ya>>2]|0)+76|0;h=(c[Ia>>2]|0)+1|0;c[Ia>>2]=h;c[Da>>2]=h;c[Fa>>2]=0;c[Ea>>2]=0;c[ga>>2]=Iz(c[ab>>2]|0)|0;c[Ga>>2]=0;c[qa>>2]=0;c[Ba>>2]=c[(c[I>>2]|0)+16>>2];c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];c[wa>>2]=c[(c[Za>>2]|0)+12>>2];a[(c[Xa>>2]|0)+45>>0]=15;c[(c[Xa>>2]|0)+48>>2]=c[Da>>2];h=c[Na>>2]|0;a:do if((d[(c[Na>>2]|0)+43>>0]|0)>1){c[na>>2]=(d[h+43>>0]|0)-(c[ba>>2]|0)-1;c[ua>>2]=Ah(c[Qa>>2]|0,80+((c[na>>2]|0)*72|0)|0,0)|0;if(!(c[ua>>2]|0)){_a=Oa;ab=c[_a+4>>2]|0;$a=Ma;c[$a>>2]=c[_a>>2];c[$a+4>>2]=ab;$a=Ma;ab=$a;ab=c[ab>>2]|0;$a=$a+4|0;$a=c[$a>>2]|0;C=$a;i=bb;return ab|0}c[(c[ua>>2]|0)+4>>2]=(c[na>>2]|0)+1&255;c[c[ua>>2]>>2]=c[(c[ua>>2]|0)+4>>2];g=(c[ua>>2]|0)+8|0;h=c[I>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[pa>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8;c[La>>2]=1;while(1){if((c[La>>2]|0)>(c[na>>2]|0))break a;g=(c[ua>>2]|0)+8+((c[La>>2]|0)*72|0)|0;h=(c[pa>>2]|0)+((d[(c[Xa>>2]|0)+((c[La>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[La>>2]=(c[La>>2]|0)+1}}else c[ua>>2]=c[h+4>>2];while(0);if(!(e[(c[Na>>2]|0)+36>>1]&8)){if(!(d[(c[Ba>>2]|0)+42>>0]&32)){Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Fa>>2]=La;Xw(c[ab>>2]|0,25,0,c[Fa>>2]|0)|0}else{c[xa>>2]=Hj(c[Ba>>2]|0)|0;Ja=(c[Ya>>2]|0)+72|0;La=c[Ja>>2]|0;c[Ja>>2]=La+1;c[Fa>>2]=La;Xw(c[ab>>2]|0,57,c[Fa>>2]|0,e[(c[xa>>2]|0)+50>>1]|0)|0;Gz(c[Ya>>2]|0,c[xa>>2]|0)}Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Ea>>2]=La}c[ia>>2]=Xw(c[ab>>2]|0,22,0,c[Da>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[sa>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)|0)!=(c[Za>>2]|0)?(c[(c[sa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+20>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+18>>1]&8191))break;c[sa>>2]=ty(c[Qa>>2]|0,c[sa>>2]|0,0)|0;c[qa>>2]=gz(c[Qa>>2]|0,c[qa>>2]|0,c[sa>>2]|0)|0}while(0);c[ka>>2]=(c[ka>>2]|0)+1}if(c[qa>>2]|0)c[qa>>2]=xv(c[Ya>>2]|0,328,0,c[qa>>2]|0,0)|0}b[Ha>>1]=240;c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[wa>>2]|0)+12>>2]|0))break;c[va>>2]=(c[(c[wa>>2]|0)+20>>2]|0)+((c[la>>2]|0)*48|0);if(!((c[(c[va>>2]|0)+8>>2]|0)!=(c[Ra>>2]|0)?(e[(c[va>>2]|0)+18>>1]&1024|0)==0:0)){c[ta>>2]=c[c[va>>2]>>2];c[ma>>2]=0;if((c[qa>>2]|0)!=0?(c[(c[ta>>2]|0)+4>>2]&1|0)==0:0){c[(c[qa>>2]|0)+12>>2]=c[ta>>2];c[ta>>2]=c[qa>>2]}c[Aa>>2]=XC(c[Ya>>2]|0,c[ua>>2]|0,c[ta>>2]|0,0,0,b[Ha>>1]|0,c[ea>>2]|0)|0;if(c[Aa>>2]|0){c[ca>>2]=rD(c[Ya>>2]|0,c[ua>>2]|0,(c[Aa>>2]|0)+736|0,c[ba>>2]|0,d[(c[Xa>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Na>>2]|0)+36>>1]&8)){c[ja>>2]=(c[la>>2]|0)==((c[(c[wa>>2]|0)+12>>2]|0)-1|0)?-1:c[la>>2]|0;if(!(d[(c[Ba>>2]|0)+42>>0]&32)){c[Ca>>2]=FA(c[Ya>>2]|0,c[Ba>>2]|0,-1,c[Ra>>2]|0,c[Ea>>2]|0,0)|0;c[ma>>2]=Gh(c[ab>>2]|0,131,c[Fa>>2]|0,0,c[Ca>>2]|0,c[ja>>2]|0)|0;break}c[ya>>2]=Hj(c[Ba>>2]|0)|0;c[oa>>2]=e[(c[ya>>2]|0)+50>>1];c[Ca>>2]=qA(c[Ya>>2]|0,c[oa>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[oa>>2]|0))break;c[da>>2]=b[(c[(c[ya>>2]|0)+4>>2]|0)+(c[ha>>2]<<1)>>1];BD(c[Ya>>2]|0,c[Ba>>2]|0,c[da>>2]|0,c[Ra>>2]|0,(c[Ca>>2]|0)+(c[ha>>2]|0)|0);c[ha>>2]=(c[ha>>2]|0)+1}if(c[ja>>2]|0)c[ma>>2]=Gh(c[ab>>2]|0,69,c[Fa>>2]|0,0,c[Ca>>2]|0,c[oa>>2]|0)|0;do if((c[ja>>2]|0)>=0){$w(c[ab>>2]|0,49,c[Ca>>2]|0,c[oa>>2]|0,c[Ea>>2]|0)|0;$w(c[ab>>2]|0,110,c[Fa>>2]|0,c[Ea>>2]|0,0)|0;if(!(c[ja>>2]|0))break;Hh(c[ab>>2]|0,16)}while(0);tA(c[Ya>>2]|0,c[Ca>>2]|0,c[oa>>2]|0)}while(0);Xw(c[ab>>2]|0,14,c[Da>>2]|0,c[ga>>2]|0)|0;if(c[ma>>2]|0)Lz(c[ab>>2]|0,c[ma>>2]|0);if(a[(c[Aa>>2]|0)+41>>0]|0)c[Ga>>2]=1;c[za>>2]=c[(c[Aa>>2]|0)+736+64>>2];do if(c[(c[za>>2]|0)+36>>2]&512){if((c[la>>2]|0)!=0?(c[(c[za>>2]|0)+24+4>>2]|0)!=(c[ra>>2]|0):0){Ka=179;break}if((d[(c[Ba>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[za>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ka=179;break}c[ra>>2]=c[(c[za>>2]|0)+24+4>>2];b[Ha>>1]=e[Ha>>1]|4096}else Ka=179;while(0);if((Ka|0)==179){Ka=0;c[ra>>2]=0}YC(c[Aa>>2]|0)}}c[la>>2]=(c[la>>2]|0)+1}c[(c[Xa>>2]|0)+56>>2]=c[ra>>2];if(c[ra>>2]|0)c[(c[Xa>>2]|0)+8>>2]=c[ea>>2];if(c[qa>>2]|0){c[(c[qa>>2]|0)+12>>2]=0;dv(c[Qa>>2]|0,c[qa>>2]|0)}Ka=c[ab>>2]|0;La=c[ia>>2]|0;CD(Ka,La,Hz(c[ab>>2]|0)|0);Kz(c[ab>>2]|0,c[(c[Xa>>2]|0)+12>>2]|0)|0;Mz(c[ab>>2]|0,c[ga>>2]|0);if((d[(c[Na>>2]|0)+43>>0]|0)>1)Tf(c[Qa>>2]|0,c[ua>>2]|0);if(c[Ga>>2]|0)break;vD(c[Xa>>2]|0,c[Za>>2]|0);break}b[Q>>1]=b[h+24>>1]|0;c[W>>2]=0;c[V>>2]=0;c[w>>2]=0;a[M>>0]=0;a[K>>0]=0;a[L>>0]=0;c[T>>2]=c[(c[Ja>>2]|0)+24+4>>2];c[fa>>2]=c[(c[Xa>>2]|0)+8>>2];if(((e[(c[Na>>2]|0)+36>>1]&1|0)!=0?(a[(c[Na>>2]|0)+38>>0]|0)>0:0)?(e[(c[T>>2]|0)+50>>1]|0)>(e[Q>>1]|0):0){a[K>>0]=1;c[w>>2]=1}c[Sa>>2]=e[Q>>1];if(c[(c[Ja>>2]|0)+36>>2]&32){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[W>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1}if(c[(c[Ja>>2]|0)+36>>2]&16){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[V>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1;if(e[(c[V>>2]|0)+20>>1]&256){Ha=(c[Ya>>2]|0)+76|0;Ka=(c[Ha>>2]|0)+1|0;c[Ha>>2]=Ka;c[(c[Xa>>2]|0)+36>>2]=Ka;Xw(c[ab>>2]|0,22,c[Ia>>2]^(d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==1,c[(c[Xa>>2]|0)+36>>2]|0)|0;Ka=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+40>>2]=Ka}if(((c[W>>2]|0)==0?(Ka=b[(c[(c[T>>2]|0)+4>>2]|0)+(e[Q>>1]<<1)>>1]|0,c[Sa>>2]=Ka,(Ka|0)>=0):0)?(d[(c[(c[(c[T>>2]|0)+12>>2]|0)+4>>2]|0)+(c[Sa>>2]<<4)+12>>0]|0)==0:0)a[K>>0]=1}if((e[Q>>1]|0)<(e[(c[T>>2]|0)+50>>1]|0)?(c[Ia>>2]|0)==((d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==0|0):0)Ka=72;else Ka=70;if(((Ka|0)==70?(c[Ia>>2]|0)!=0:0)?(e[(c[T>>2]|0)+50>>1]|0)==(e[Q>>1]|0):0)Ka=72;if((Ka|0)==72){c[x>>2]=c[V>>2];c[V>>2]=c[W>>2];c[W>>2]=c[x>>2];a[y>>0]=a[K>>0]|0;a[K>>0]=a[L>>0]|0;a[L>>0]=a[y>>0]|0}c[Z>>2]=wD(c[Ya>>2]|0,c[Xa>>2]|0,c[Ia>>2]|0,c[w>>2]|0,aa)|0;if(c[aa>>2]|0)a[M>>0]=a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0;c[J>>2]=c[(c[Xa>>2]|0)+16>>2];if(c[W>>2]|0)h=(e[(c[W>>2]|0)+18>>1]&40|0)!=0;else h=1;c[_>>2]=h&1;if(c[V>>2]|0)h=(e[(c[V>>2]|0)+18>>1]&40|0)!=0;else h=1;c[N>>2]=h&1;if(c[W>>2]|0)h=1;else h=(e[Q>>1]|0)>0;c[$>>2]=h&1;c[P>>2]=e[Q>>1];if(!(c[W>>2]|0)){if(a[K>>0]|0){Xw(c[ab>>2]|0,25,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[P>>2]=(c[P>>2]|0)+1;c[_>>2]=0;c[$>>2]=1}}else{c[X>>2]=c[(c[c[W>>2]>>2]|0)+16>>2];DA(c[Ya>>2]|0,c[X>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);xD(c[ab>>2]|0,c[Xa>>2]|0,c[W>>2]|0);do if(!(e[(c[W>>2]|0)+20>>1]&0)){if(!(XA(c[X>>2]|0)|0))break;Xw(c[ab>>2]|0,76,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(c[aa>>2]|0){if(((YA(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65;if(!(yD(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0))break;a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65}while(0);c[P>>2]=(c[P>>2]|0)+1}zD(c[Ya>>2]|0,c[Z>>2]|0,(c[P>>2]|0)-(d[K>>0]|0)|0,c[aa>>2]|0);if(!((e[(c[Ja>>2]|0)+42>>1]|0)>0?(c[P>>2]|0)==(e[(c[Ja>>2]|0)+42>>1]|0):0)){c[S>>2]=d[34949+((c[$>>2]<<2)+(c[_>>2]<<1)+(c[Ia>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}c[P>>2]=e[Q>>1];do if(c[V>>2]|0){c[Y>>2]=c[(c[c[V>>2]>>2]|0)+16>>2];uA(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1);DA(c[Ya>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);xD(c[ab>>2]|0,c[Xa>>2]|0,c[V>>2]|0);do if(!(e[(c[V>>2]|0)+20>>1]&0)){if(!(XA(c[Y>>2]|0)|0))break;Xw(c[ab>>2]|0,76,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(((YA(c[Y>>2]|0,a[M>>0]|0)|0)<<24>>24|0)!=65){if(yD(c[Y>>2]|0,a[M>>0]|0)|0)break;zD(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1,M)}while(0);c[P>>2]=(c[P>>2]|0)+1}else{if(!(a[L>>0]|0))break;Xw(c[ab>>2]|0,25,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[N>>2]=0;c[P>>2]=(c[P>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[aa>>2]|0);Ka=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=Ka;if(c[P>>2]|0){c[S>>2]=d[34957+((c[Ia>>2]<<1)+(c[N>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}vD(c[Xa>>2]|0,c[W>>2]|0);vD(c[Xa>>2]|0,c[V>>2]|0);do if(!(c[R>>2]|0)){if(!(d[(c[(c[T>>2]|0)+12>>2]|0)+42>>0]&32))if(d[(c[Na>>2]|0)+40>>0]|0){Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;Xw(c[ab>>2]|0,113,c[fa>>2]|0,c[O>>2]|0)|0;mB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);$w(c[ab>>2]|0,70,c[Ra>>2]|0,0,c[O>>2]|0)|0;break}else{AD(c[Na>>2]|0,c[T>>2]|0,c[Ra>>2]|0,c[fa>>2]|0);break}if((c[Ra>>2]|0)==(c[fa>>2]|0))break;c[U>>2]=Hj(c[(c[T>>2]|0)+12>>2]|0)|0;c[O>>2]=qA(c[Ya>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0;c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;c[La>>2]=(AA(c[T>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[Sa>>2]<<1)>>1]|0)|0)<<16>>16;$w(c[ab>>2]|0,47,c[fa>>2]|0,c[La>>2]|0,(c[O>>2]|0)+(c[Sa>>2]|0)|0)|0;c[Sa>>2]=(c[Sa>>2]|0)+1}Gh(c[ab>>2]|0,68,c[Ra>>2]|0,c[Pa>>2]|0,c[O>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Ja>>2]|0)+36>>2]&4096)){h=(c[Xa>>2]|0)+45|0;if(c[Ia>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[Xa>>2]|0)+45>>0]=-96;while(0);c[(c[Xa>>2]|0)+48>>2]=c[fa>>2];a[(c[Xa>>2]|0)+46>>0]=(c[(c[Ja>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Ja>>2]|0)+36>>2]&15)break;a[(c[Xa>>2]|0)+47>>0]=1}while(0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;c[$a>>2]=0;do if(!(e[(c[Za>>2]|0)+20>>1]&6)){Ka=(c[Za>>2]|0)+40|0;La=(c[Xa>>2]|0)+72|0;if((c[Ka>>2]&c[La>>2]|0)!=0?1:(c[Ka+4>>2]&c[La+4>>2]|0)!=0){a[(c[Na>>2]|0)+41>>0]=1;break}c[Ua>>2]=c[c[Za>>2]>>2];if((c[c[Xa>>2]>>2]|0)!=0?(c[(c[Ua>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[Za>>2]|0)+20>>1]&512)c[$a>>2]=Dz(c[ab>>2]|0,46,c[(c[Xa>>2]|0)+36>>2]|0)|0;RA(c[Ya>>2]|0,c[Ua>>2]|0,c[Pa>>2]|0,16);if(c[$a>>2]|0)Lz(c[ab>>2]|0,c[$a>>2]|0);La=(c[Za>>2]|0)+20|0;b[La>>1]=e[La>>1]|4}while(0);c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;if((((((((e[(c[Za>>2]|0)+20>>1]&6|0)==0?(e[(c[Za>>2]|0)+18>>1]&130|0)!=0:0)?(e[(c[Za>>2]|0)+18>>1]&2048|0)!=0:0)?(c[(c[Za>>2]|0)+8>>2]|0)==(c[Ra>>2]|0):0)?(c[c[Xa>>2]>>2]|0)==0:0)?(c[Va>>2]=c[c[Za>>2]>>2],$a=Oa,c[Ta>>2]=DD(c[_a>>2]|0,c[Ra>>2]|0,c[(c[Za>>2]|0)+12>>2]|0,c[$a>>2]|0,c[$a+4>>2]|0,131,0)|0,(c[Ta>>2]|0)!=0):0)?(e[(c[Ta>>2]|0)+20>>1]&4|0)==0:0)?(c[Wa>>2]=Ah(c[Qa>>2]|0,48,0)|0,(c[Wa>>2]|0)!=0):0){g=c[Wa>>2]|0;h=c[c[Ta>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[(c[Wa>>2]|0)+12>>2]=c[(c[Va>>2]|0)+12>>2];RA(c[Ya>>2]|0,c[Wa>>2]|0,c[Pa>>2]|0,16);Tf(c[Qa>>2]|0,c[Wa>>2]|0)}c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}b:do if(c[c[Xa>>2]>>2]|0){$a=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+28>>2]=$a;Xw(c[ab>>2]|0,22,1,c[c[Xa>>2]>>2]|0)|0;kC(c[Ya>>2]|0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[Za>>2]|0)+20>>1]&6|0)==0?($a=(c[Za>>2]|0)+40|0,ab=(c[Xa>>2]|0)+72|0,!((c[$a>>2]&c[ab>>2]|0)!=0?1:(c[$a+4>>2]&c[ab+4>>2]|0)!=0)):0){RA(c[Ya>>2]|0,c[c[Za>>2]>>2]|0,c[Pa>>2]|0,16);ab=(c[Za>>2]|0)+20|0;b[ab>>1]=e[ab>>1]|4}c[Sa>>2]=(c[Sa>>2]|0)+1;c[Za>>2]=(c[Za>>2]|0)+48}}while(0);_a=(c[Xa>>2]|0)+72|0;ab=c[_a+4>>2]|0;$a=Ma;c[$a>>2]=c[_a>>2];c[$a+4>>2]=ab;$a=Ma;ab=$a;ab=c[ab>>2]|0;$a=$a+4|0;$a=c[$a>>2]|0;C=$a;i=bb;return ab|0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=uR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function uD(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;q=x+44|0;r=x+40|0;l=x+36|0;s=x+32|0;m=x+28|0;o=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;p=x+8|0;v=x+4|0;n=x;c[k>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[m>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)!=79?(d[c[o>>2]>>0]|0|0)!=73:0){if((d[c[o>>2]>>0]|0|0)==76){c[u>>2]=c[m>>2];Xw(c[w>>2]|0,25,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+64>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[m>>2];c[t>>2]=VA(c[k>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];Xw(c[w>>2]|0,(c[s>>2]|0)!=0?105:108,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+56>>2]|0)){o=Iz(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}o=(c[r>>2]|0)+56|0;c[o>>2]=(c[o>>2]|0)+1;k=Bx(c[c[k>>2]>>2]|0,c[(c[r>>2]|0)+56+4>>2]|0,(c[(c[r>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+56+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+56+4>>2];k=(c[r>>2]|0)+56|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=Xw(m,103,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=$w(m,47,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?4:5;Dz(c[w>>2]|0,76,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}c[u>>2]=EA(c[k>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[m>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}function vD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+20>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+20>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+4>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)*48|0);g=(c[j>>2]|0)+22|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+22>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function wD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+60|0;l=A+56|0;m=A+52|0;C=A+48|0;n=A+44|0;q=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;r=A+16|0;z=A+12|0;o=A+8|0;w=A+4|0;u=A;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+64>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+76>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=ph(j,iC(c[c[k>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];Dz(c[y>>2]|0,(c[m>>2]|0)!=0?105:108,c[o>>2]|0)|0;c[p>>2]=cx(c[y>>2]|0,13)|0;C=Gh(c[y>>2]|0,(c[m>>2]|0)!=0?63:66,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;Lz(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;$w(c[y>>2]|0,47,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=uD(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){eA(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{Xw(c[y>>2]|0,31,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&257)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+20>>1]&2048|0)==0?(XA(c[u>>2]|0)|0)!=0:0)Xw(c[y>>2]|0,76,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((YA(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(yD(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function xD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+20>>1]|0)&256)){i=k;return}c[j>>2]=Sz(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=c[(c[h>>2]|0)+36>>2];a[(c[j>>2]|0)+3>>0]=1;i=k;return}function yD(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 133:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function zD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}_w(c[l>>2]|0,48,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;IA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function AD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];$w(c[n>>2]|0,112,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+36>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;if(c[f+336>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=rh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Kh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function BD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=FA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}Xw(c[(c[g>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function CD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Sz(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function DD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=ED(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+18>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=FD(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function ED(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=FD(c[k>>2]|0)|0;i=q;return r|0}function FD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(vy(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+18>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=Zx(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(aB(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=$A(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function GD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;gA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function HD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r;f=r+32|0;g=r+28|0;m=r+24|0;k=r+38|0;l=r+36|0;h=r+20|0;j=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+4>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=r;return}gA(c[f>>2]|0,35197,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=ID(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)gA(c[f>>2]|0,35200,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?35206:35211;c[n>>2]=c[o>>2];fA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){c[p>>2]=ID(c[m>>2]|0,c[h>>2]|0)|0;n=c[f>>2]|0;o=c[h>>2]|0;c[h>>2]=o+1;JD(n,o,c[p>>2]|0,35128)}if(c[(c[g>>2]|0)+36>>2]&16){c[q>>2]=ID(c[m>>2]|0,c[j>>2]|0)|0;JD(c[f>>2]|0,c[h>>2]|0,c[q>>2]|0,35130)}gA(c[f>>2]|0,35219,1);i=r;return}function ID(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=35221;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=25353;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function JD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)gA(c[f>>2]|0,35200,5);GD(c[f>>2]|0,c[g>>2]|0);gA(c[f>>2]|0,c[h>>2]|0,1);gA(c[f>>2]|0,20883,1);i=j;return}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=fB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function LD(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+12>>2]<<4)+13>>0]|0;if(aB(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function MD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Lw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}rR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function ND(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=rh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function OD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+8|0;e=j+20|0;g=j+16|0;h=j;c[e>>2]=a;c[g>>2]=b;a=h;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){g=f;c[g>>2]=0;c[g+4>>2]=0;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[e>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==152){g=tD(b,c[a+28>>2]|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=h;h=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=h;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}l=OD(b,c[a+16>>2]|0)|0;k=h;c[k>>2]=l;c[k+4>>2]=C;k=OD(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;b=h;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=c[e>>2]|0;a=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){g=PD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}else{g=pD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=f;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function PD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=pD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=pD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=pD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=OD(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=OD(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=PD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=OD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function QD(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35283+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35283+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function RD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+144|0;W=$+141|0;n=$+120|0;o=$+116|0;p=$+112|0;q=$+132|0;r=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;G=$+128|0;F=$+126|0;H=$+124|0;z=$+100|0;X=$+96|0;D=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;L=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;I=$+32|0;J=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;K=$+48|0;E=$+8|0;Y=$;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=uR(1,0,e[H>>1]|0)|0;f=oR(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=uR(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=Zx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==152):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=DD((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],386,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&130|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=Ux(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=Ux(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if(ig(c[U>>2]|0,c[V>>2]|0)|0)break}m=uR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+42>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&386|0)!=0):0){if(c[X>>2]&256)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+32>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+12>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=uR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=Zx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;k=c[O>>2]|0;if((c[x>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break}else if(vy(k,c[(c[(c[(c[M>>2]|0)+40>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0,c[y>>2]|0)|0)break;if((c[x>>2]|0)<0){_=70;break a}c[L>>2]=Ux(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==70){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=uR(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=84;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=uR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==84){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=uR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=OD((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(LA(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=uR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=108;break}V=uR(1,0,c[X>>2]|0)|0;V=oR(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=106;break}c[X>>2]=k+-1}if((_|0)==106){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==108){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function SD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+36>>1]&16384|0)!=0?(b[(c[h>>2]|0)+34>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+34>>1]|0;o=(TD(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function TD(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function UD(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+112|0;k=C+108|0;l=C+104|0;m=C+48|0;E=C+40|0;z=C+100|0;F=C+96|0;x=C+92|0;y=C+88|0;D=C+84|0;v=C+80|0;u=C+76|0;n=C+72|0;w=C+68|0;p=C+32|0;A=C+64|0;B=C+60|0;s=C+24|0;q=C+16|0;o=C+56|0;r=C+8|0;t=C;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=E;c[e>>2]=h;c[e+4>>2]=j;c[z>>2]=0;c[F>>2]=c[c[l>>2]>>2];c[x>>2]=c[c[F>>2]>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[w>>2]=c[(c[l>>2]|0)+12>>2];c[D>>2]=(c[(c[F>>2]|0)+4>>2]|0)+8+((d[(c[w>>2]|0)+16>>0]|0)*72|0);e=E;c[v>>2]=lE(c[x>>2]|0,c[y>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[D>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[v>>2]|0)){c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}b[(c[w>>2]|0)+18>>1]=0;c[(c[w>>2]|0)+36>>2]=1024;b[(c[w>>2]|0)+40>>1]=0;a[(c[w>>2]|0)+24+4>>0]=0;c[u>>2]=c[c[v>>2]>>2];if(MD(c[c[x>>2]>>2]|0,c[w>>2]|0,c[u>>2]|0)|0){Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}F=m;c[z>>2]=mE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,-1,0,c[v>>2]|0,n)|0;if((c[z>>2]|0)==0?(D=c[w>>2]|0,F=m,E=c[D>>2]&~c[F>>2],F=c[D+4>>2]&~c[F+4>>2],D=p,c[D>>2]=E,c[D+4>>2]=F,(E|0)!=0|(F|0)!=0):0){c[A>>2]=0;c[B>>2]=0;F=s;c[F>>2]=0;c[F+4>>2]=0;F=q;c[F>>2]=0;c[F+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[z>>2]=mE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[v>>2]|0,n)|0,e=c[w>>2]|0,D=m,E=c[e+4>>2]&~c[D+4>>2],F=q,c[F>>2]=c[e>>2]&~c[D>>2],c[F+4>>2]=E,F=q,(c[F>>2]|0)==0&(c[F+4>>2]|0)==0):0){c[A>>2]=1;c[B>>2]=1}while(1){if(c[z>>2]|0)break;F=r;c[F>>2]=-1;c[F+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[u>>2]|0))break;D=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;F=m;e=c[D+4>>2]&~c[F+4>>2];E=t;c[E>>2]=c[D>>2]&~c[F>>2];c[E+4>>2]=e;E=t;e=c[E+4>>2]|0;F=s;D=c[F+4>>2]|0;if(e>>>0>D>>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0:0)?(E=t,e=c[E+4>>2]|0,F=r,D=c[F+4>>2]|0,e>>>0>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0<(c[F>>2]|0)>>>0:0)):0){D=t;E=c[D+4>>2]|0;F=r;c[F>>2]=c[D>>2];c[F+4>>2]=E}c[o>>2]=(c[o>>2]|0)+1}D=r;E=c[D+4>>2]|0;F=s;c[F>>2]=c[D>>2];c[F+4>>2]=E;F=r;if((c[F>>2]|0)==-1?(c[F+4>>2]|0)==-1:0)break;E=r;F=p;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;E=r;F=q;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;D=m;F=r;E=m;c[z>>2]=mE(c[l>>2]|0,c[D>>2]|0,c[D+4>>2]|0,c[F>>2]|c[E>>2],c[F+4>>2]|c[E+4>>2],0,c[v>>2]|0,n)|0;E=c[w>>2]|0;F=m;if(!((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0))continue;c[A>>2]=1;if(c[n>>2]|0)continue;c[B>>2]=1}if((c[z>>2]|0)==0&(c[A>>2]|0)==0?(E=m,F=m,c[z>>2]=mE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,0,c[v>>2]|0,n)|0,(c[n>>2]|0)==0):0)c[B>>2]=1;if((c[z>>2]|0)==0&(c[B>>2]|0)==0){E=m;F=m;c[z>>2]=mE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,1,c[v>>2]|0,n)|0}}if(c[(c[v>>2]|0)+28>>2]|0)Kd(c[(c[v>>2]|0)+24>>2]|0);Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=c[z>>2];F=c[k>>2]|0;i=C;return F|0}function VD(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+128|0;k=E+8|0;y=E+124|0;s=E+120|0;B=E+64|0;m=E+140|0;l=E+136|0;F=E+56|0;t=E+52|0;r=E+48|0;D=E+44|0;o=E+40|0;n=E+36|0;A=E+134|0;z=E+132|0;w=E+32|0;u=E+28|0;q=E+24|0;v=E+20|0;x=E+16|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+42>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}g=B;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+40>>1]|0;b[m>>1]=b[(c[u>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+36+1>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+38>>1]|0;b[z>>1]=TD(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[y>>2]|0)+36>>1]&128|0)==0:0)?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?(a[(c[t>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(LD(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+42>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+48>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=QD(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=ZD(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){g=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(cE(c[(c[t>>2]|0)+44>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+42>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=dE(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;eE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=ZD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=fE(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+36>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+40>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=QD(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}eE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=ZD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}while(0);c[D>>2]=gE(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){g=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((g|0)==46){i=E;return c[D>>2]|0}return 0}function WD(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+18>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+12>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+12>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+18>>1]&1024)){if((c[g+8>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=72;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+12>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=UD(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=VD(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=WD(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){XD(F,C);c[s>>2]=0;break}XD(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=QD(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;YD(F,k,f,l,QD(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=ZD(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function XD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;rR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function YD(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function ZD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;YD(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}_D(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=$D((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Lw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){dD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=$D(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];aD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=aE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function _D(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(bE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(bE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function $D(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function aE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;cD(c[l>>2]|0,c[g>>2]|0);d=(MD(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));rR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+4>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function bE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function cE(a,e,f){a=a|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=72)break;if(!(cE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(kE(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function dE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=Zx(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(vy(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function eE(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+20>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+4>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+16>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+16>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+18>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(qy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function fE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=uR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function gE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=i;i=i+208|0;l=O+172|0;m=O+168|0;n=O+164|0;o=O+160|0;p=O+196|0;P=O+156|0;A=O+152|0;q=O+148|0;z=O+144|0;B=O+140|0;k=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;r=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[P>>2]=c[c[m>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[q>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;P=c[l>>2]|0;i=O;return P|0}do if(!(c[(c[z>>2]|0)+36>>2]&32))if(d[(c[n>>2]|0)+36>>0]&8){c[k>>2]=63;break}else{c[k>>2]=447;break}else c[k>>2]=24;while(0);if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+42>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;c[B>>2]=ED(N,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[H>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[E>>1]=TD(b[F>>1]|0)|0;a:while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[r>>1]=b[(c[B>>2]|0)+18>>1]|0;c[u>>2]=0;if((e[r>>1]|0)!=256?(e[(c[B>>2]|0)+20>>1]&0|0)==0:0)j=15;else j=14;if((j|0)==14?(j=0,(hE(c[o>>2]|0,e[H>>1]|0)|0)==0):0)j=15;do if((j|0)==15?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){if((e[(c[B>>2]|0)+20>>1]&256|0)!=0?(e[(c[B>>2]|0)+18>>1]|0)==16:0)break;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(MD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[r>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[u>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[u>>2]=(Kj(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else{if(e[r>>1]&130){c[s>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[s>>2]|0)!=-1){if((c[s>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[H>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[s>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}if(e[r>>1]&256){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[z>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;c[x>>2]=c[B>>2];c[C>>2]=0;if(!(e[(c[B>>2]|0)+20>>1]&256))break;c[C>>2]=(c[B>>2]|0)+48;if(MD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[C>>2]|0;h=(c[z>>2]|0)+40|0;P=b[h>>1]|0;b[h>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=g;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|16;break}else{c[j>>2]=k|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)j=c[(c[(c[z>>2]|0)+48>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[x>>2]=j;break}}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[t>>2]=P&65535;if((b[(c[B>>2]|0)+16>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1]|0)>=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[u>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[t>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[t>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else iE(c[A>>2]|0,c[m>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=QD(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=QD(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));eE(c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=ZD(c[m>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)gE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[u>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}while(0);c[B>>2]=FD(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=MD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){N=(c[z>>2]|0)+24|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+42|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+40|0;P=b[N>>1]|0;b[N>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[v>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[v>>1]|0);b[v>>1]=(b[v>>1]|0)+5;gE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[v>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2]}c[l>>2]=c[G>>2];P=c[l>>2]|0;i=O;return P|0}function hE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function iE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=jE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=jE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+16>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function jE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+16>>1]|0);break}if(!(e[d+20>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function kE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(vy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==71){if((kE(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(kE(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(vy(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=76:0)?(d[c[g>>2]>>0]|0|0)!=73:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function lE(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+8|0;m=G+76|0;n=G+72|0;o=G+68|0;p=G;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;c[w>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(k=(c[D>>2]|0)+32|0,g=p,!((c[k>>2]&c[g>>2]|0)!=0?1:(c[k+4>>2]&c[g+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[v>>2]=0;if(c[r>>2]|0){c[u>>2]=c[c[r>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[y>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)!=152)break;if((c[(c[y>>2]|0)+28>>2]|0)!=(c[(c[q>>2]|0)+44>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[u>>2]|0))c[v>>2]=c[u>>2]}c[B>>2]=rh(c[c[n>>2]>>2]|0,72+((c[w>>2]|0)*20|0)+(c[v>>2]<<3)|0,0)|0;if(!(c[B>>2]|0)){Ch(c[n>>2]|0,25624,F);c[m>>2]=0;F=c[m>>2]|0;i=G;return F|0}c[A>>2]=(c[B>>2]|0)+72;c[C>>2]=(c[A>>2]|0)+((c[w>>2]|0)*12|0);c[E>>2]=(c[C>>2]|0)+(c[v>>2]<<3);c[c[B>>2]>>2]=c[w>>2];c[(c[B>>2]|0)+8>>2]=c[v>>2];c[(c[B>>2]|0)+4>>2]=c[A>>2];c[(c[B>>2]|0)+12>>2]=c[C>>2];c[(c[B>>2]|0)+16>>2]=c[E>>2];c[t>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(g=(c[D>>2]|0)+32|0,F=p,!((c[g>>2]&c[F>>2]|0)!=0?1:(c[g+4>>2]&c[F+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0){c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)>>2]=c[(c[D>>2]|0)+12>>2];c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+8>>2]=c[s>>2];F=b[(c[D>>2]|0)+18>>1]&255;a[x>>0]=F;a[x>>0]=(d[x>>0]|0)==1?2:F;if((d[x>>0]|0)==64)a[x>>0]=a[(c[D>>2]|0)+23>>0]|0;a[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+4>>0]=a[x>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;c[z>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]=b[(c[z>>2]|0)+32>>1];a[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]=a[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+12>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[B>>2];F=c[m>>2]|0;i=G;return F|0}function mE(f,g,j,k,l,m,n,o){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+96|0;E=L+16|0;G=L+88|0;H=L+84|0;M=L+8|0;q=L;r=L+92|0;I=L+80|0;p=L+76|0;D=L+72|0;x=L+68|0;C=L+64|0;s=L+60|0;v=L+56|0;K=L+52|0;J=L+48|0;y=L+44|0;z=L+40|0;w=L+36|0;A=L+32|0;t=L+28|0;B=L+24|0;u=L+20|0;c[H>>2]=f;f=M;c[f>>2]=g;c[f+4>>2]=j;f=q;c[f>>2]=k;c[f+4>>2]=l;b[r>>1]=m;c[I>>2]=n;c[p>>2]=o;c[D>>2]=c[(c[H>>2]|0)+4>>2];c[C>>2]=c[(c[I>>2]|0)+16>>2];c[K>>2]=0;c[J>>2]=c[(c[H>>2]|0)+12>>2];c[y>>2]=c[c[c[H>>2]>>2]>>2];c[z>>2]=(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+16>>0]|0)*72|0);c[w>>2]=c[c[I>>2]>>2];c[c[p>>2]>>2]=0;f=M;n=c[f+4>>2]|0;o=c[J>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=n;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[A>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[(c[x>>2]|0)+8>>2]|0)*48|0);a[(c[x>>2]|0)+5>>0]=0;n=(c[A>>2]|0)+32|0;o=q;M=(c[A>>2]|0)+32|0;if(((c[n>>2]&c[o>>2]|0)==(c[M>>2]|0)?(c[n+4>>2]&c[o+4>>2]|0)==(c[M+4>>2]|0):0)?(e[(c[A>>2]|0)+18>>1]&e[r>>1]|0)==0:0)a[(c[x>>2]|0)+5>>0]=1;c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}tR(c[C>>2]|0,0,c[w>>2]<<3|0)|0;c[(c[I>>2]|0)+24>>2]=0;c[(c[I>>2]|0)+20>>2]=0;c[(c[I>>2]|0)+32>>2]=0;h[(c[I>>2]|0)+40>>3]=5.e+98;A=(c[I>>2]|0)+48|0;c[A>>2]=25;c[A+4>>2]=0;c[(c[I>>2]|0)+56>>2]=0;A=(c[z>>2]|0)+56|0;o=c[A+4>>2]|0;M=(c[I>>2]|0)+64|0;c[M>>2]=c[A>>2];c[M+4>>2]=o;c[K>>2]=nE(c[y>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0){c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}c[v>>2]=-1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]=0;c[s>>2]=(c[s>>2]|0)+1}b[(c[J>>2]|0)+24+6>>1]=0;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;M=(c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]|0)-1|0;c[t>>2]=M;if((M|0)>=0){c[u>>2]=c[(c[x>>2]|0)+8>>2];if((c[u>>2]|0)<0?1:(c[t>>2]|0)>=(c[w>>2]|0)){F=19;break}if((c[u>>2]|0)>=(c[(c[D>>2]|0)+12>>2]|0)){F=19;break}if(c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]|0){F=19;break}if(!(d[(c[x>>2]|0)+5>>0]|0)){F=19;break}c[B>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);A=(c[B>>2]|0)+32|0;M=c[J>>2]|0;n=M;o=c[n+4>>2]|c[A+4>>2];c[M>>2]=c[n>>2]|c[A>>2];c[M+4>>2]=o;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]=c[B>>2];if((c[t>>2]|0)>(c[v>>2]|0))c[v>>2]=c[t>>2];if((c[t>>2]|0)<16?(d[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]|0)!=0:0){M=(c[J>>2]|0)+24+6|0;b[M>>1]=e[M>>1]|1<>2]}if(e[(c[B>>2]|0)+18>>1]&1){c[(c[I>>2]|0)+32>>2]=0;M=(c[I>>2]|0)+56|0;c[M>>2]=c[M>>2]&-2;c[c[p>>2]>>2]=1}}c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}if((F|0)==19){c[K>>2]=1;M=c[y>>2]|0;c[E>>2]=c[c[(c[z>>2]|0)+16>>2]>>2];Ch(M,35315,E);c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}b[(c[J>>2]|0)+40>>1]=(c[v>>2]|0)+1;c[(c[J>>2]|0)+24>>2]=c[(c[I>>2]|0)+20>>2];a[(c[J>>2]|0)+24+4>>0]=c[(c[I>>2]|0)+28>>2];c[(c[I>>2]|0)+28>>2]=0;c[(c[J>>2]|0)+24+8>>2]=c[(c[I>>2]|0)+24>>2];if(c[(c[I>>2]|0)+32>>2]|0)g=c[(c[I>>2]|0)+8>>2]|0;else g=0;a[(c[J>>2]|0)+24+5>>0]=g;b[(c[J>>2]|0)+18>>1]=0;g=oE(+h[(c[I>>2]|0)+40>>3])|0;b[(c[J>>2]|0)+20>>1]=g;g=(c[I>>2]|0)+48|0;g=Kj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[J>>2]|0)+22>>1]=g;g=(c[J>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[I>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[K>>2]=ZD(c[H>>2]|0,c[J>>2]|0)|0;if(a[(c[J>>2]|0)+24+4>>0]|0){Kd(c[(c[J>>2]|0)+24+8>>2]|0);a[(c[J>>2]|0)+24+4>>0]=0}c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}function nE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Gx(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){lh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Ch(d,18999,j);break}else{c[h>>2]=kh(c[g>>2]|0)|0;Ch(d,18999,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+68>>2]|0}function oE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Kj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=qR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=oR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function pE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=Zx(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=Ux(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0} +function Xt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Yt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function Yt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function Zt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function _t(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=au(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function au(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Ns(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function bu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1080+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function du(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=eu(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function eu(f,g){f=f|0;g=g|0;var 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;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=ah(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ah(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26171+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26171+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Wg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=fu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function fu(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(gu(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function iu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)ou(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)ou(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}pu(c[b>>2]|0);i=k;return}function ju(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mu(c[d>>2]|0,68);i=b;return 0}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(lu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function lu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;nu(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function nu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];nu(c[e>>2]|0);i=h;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Qh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];nu(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function qu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function ru(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1608;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[416]=(c[53]|0)==0&1;if((c[416]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[417]=c[55];c[405]=10;c[415]=1;i=d;return 0}else{c[417]=0;c[405]=10;c[415]=1;i=d;return 0}return 0}function su(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1608;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function tu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[416]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[416]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1608;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Ku(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Au(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Cu(c[e>>2]|0);i=g;return}function vu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Hu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function xu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Eu(c[h>>2]|0,1);i=k;return}function yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Gu(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Gu(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+24>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);Cu(c[d>>2]|0);Kd(c[(c[d>>2]|0)+56>>2]|0);Kd(c[(c[d>>2]|0)+48>>2]|0);Kd(c[d>>2]|0);i=b;return}function Bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Cu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Cu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Du(c[e>>2]|0)|0;Eu(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Du(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Fu(c[d>>2]|0);i=h;return}function Fu(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else $i(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Gu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+44>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))Du(c[h>>2]|0)|0;Fu(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Hu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Du(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Iu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Iu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Ju(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Ku(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Ju(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Eu(c[o>>2]|0,0);Du(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Fu(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Lu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Ju(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[419]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[418]|0):0){c[b>>2]=c[426];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Nu()|0;e=c[b>>2]|0;i=d;return e|0}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Wj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Xj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Mu(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Wj();c[j>>2]=hj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Xj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Mu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[417]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Wj();if((c[417]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[417]|0;m=AR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[417]|0;b=AR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=AR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){o=j;c[o>>2]=_(c[(c[e>>2]|0)+12>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[o+4>>2]=0}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Xj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Nu(){return c[77]|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=hR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,27007,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Pu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;iR(c[d>>2]|0);i=b;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=kR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Ru(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26971,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Ru(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Su(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Tu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Uu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Vu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Yb[c[e>>2]&255](1608,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Wu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39740+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=90;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=89;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=91;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=92;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=93;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=79;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=81;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=87;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=82;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=83;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=88;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=80;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=86;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=94;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=85;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=96;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=27;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[19011+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?27:161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[19011+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[19011+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=161;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39740+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[19011+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=27;c[n>>2]=Ri(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=161;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[19011+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[19011+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[19011+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=161;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=27;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function Xu(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;l=o+32|0;p=o+28|0;j=o+24|0;h=o+20|0;m=o+8|0;k=o+4|0;n=o;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;b[(c[n>>2]|0)+8>>1]=0;a[(c[n>>2]|0)+8+2>>0]=0}c[(c[n>>2]|0)+4>>2]=c[h>>2];while(1){c[k>>2]=iv(c[n>>2]|0,c[j>>2]&255)|0;h=c[k>>2]|0;do if((c[k>>2]|0)>>>0>974)if(h>>>0<=1300){kv(c[n>>2]|0,(c[k>>2]|0)-975|0);break}else{c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];d=c[n>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];lv(d,p,l);gv(c[n>>2]|0,c[j>>2]&255,m);c[j>>2]=251;break}else{if(h>>>0>439)c[k>>2]=(c[k>>2]|0)+326;e=c[n>>2]|0;d=c[k>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];jv(e,d,p,l);c[j>>2]=251}while(0);if((c[j>>2]|0)==251){h=13;break}if((c[c[n>>2]>>2]|0)<0){h=13;break}}if((h|0)==13){i=o;return}}function Yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)<0)break;fv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function Zu(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);$u(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);av(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;dv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;bv(c[f>>2]|0,c[e>>2]|0,1);i=d;return}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];$u(c[e>>2]|0,c[c[f>>2]>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);_u(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function cv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)$u(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);av(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);dv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);ev(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}do if(!(c[(c[e>>2]|0)+4>>2]&16384)){dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Tf(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);a=c[d>>2]|0;b=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){av(a,c[b>>2]|0);break}else{$u(a,c[b>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function fv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-1;c[e>>2]=(c[f>>2]|0)+8+(b<<4);gv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function gv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{av(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 225:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{$u(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{cv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 249:case 196:{_u(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 240:case 235:case 226:case 224:case 215:case 203:case 201:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{ev(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 236:case 231:{hv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 233:{ev(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];dv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);$u(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);av(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function iv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[(c[q>>2]|0)+8+(c[c[q>>2]>>2]<<4)>>1];if((c[n>>2]|0)>=975){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[15266+(c[n>>2]<<1)>>1];if((c[k>>2]|0)==-72){o=4;break}c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1499)?(d[38171+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=15;break}if((d[j>>0]|0)<=0)break;if((d[j>>0]|0)>>>0>=70){o=11;break}q=a[39670+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255)){o=11;break}a[j>>0]=a[l>>0]|0}if((o|0)==4){c[h>>2]=e[16146+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}else if((o|0)==11){c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+70;if((c[m>>2]|0)>=0&(c[m>>2]|0)<1499?(d[38171+(c[m>>2]|0)>>0]|0)==70:0){c[h>>2]=e[12264+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}}else if((o|0)==15){c[h>>2]=e[12264+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[16146+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function jv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){mv(f);i=m;return}else{c[l>>2]=(c[h>>2]|0)+8+(c[f>>2]<<4);b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}}function kv(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=i;i=i+272|0;C=aa+264|0;N=aa+40|0;M=aa+32|0;P=aa+24|0;O=aa+16|0;U=aa+8|0;L=aa;W=aa+256|0;X=aa+252|0;Z=aa+248|0;Y=aa+244|0;_=aa+240|0;$=aa+236|0;V=aa+232|0;R=aa+220|0;J=aa+208|0;K=aa+196|0;j=aa+176|0;k=aa+172|0;y=aa+168|0;r=aa+164|0;o=aa+160|0;Q=aa+152|0;z=aa+144|0;p=aa+140|0;l=aa+136|0;A=aa+132|0;q=aa+128|0;n=aa+124|0;v=aa+120|0;w=aa+116|0;B=aa+112|0;D=aa+108|0;F=aa+104|0;E=aa+100|0;G=aa+96|0;H=aa+92|0;I=aa+88|0;T=aa+80|0;s=aa+76|0;t=aa+72|0;u=aa+68|0;x=aa+64|0;S=aa+60|0;m=aa+56|0;h=aa+48|0;c[W>>2]=f;c[X>>2]=g;c[V>>2]=c[(c[W>>2]|0)+4>>2];c[_>>2]=(c[W>>2]|0)+8+(c[c[W>>2]>>2]<<4);if((d[27094+(c[X>>2]<<1)+1>>0]|0)==0?(c[c[W>>2]>>2]|0)>=99:0){mv(c[W>>2]|0);i=aa;return}a:do switch(c[X>>2]|0){case 0:{a[(c[V>>2]|0)+453>>0]=1;break}case 1:{a[(c[V>>2]|0)+453>>0]=2;break}case 2:{nv(c[V>>2]|0);break}case 3:{ov(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[_>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[_>>2]|0)+4>>2]=d[(c[_>>2]|0)+2>>0];break}case 9:case 8:{pv(c[V>>2]|0);break}case 10:{qv(c[V>>2]|0);break}case 11:{rv(c[V>>2]|0,0,(c[_>>2]|0)+4|0);break}case 12:{rv(c[V>>2]|0,1,(c[_>>2]|0)+4|0);break}case 13:{rv(c[V>>2]|0,2,(c[_>>2]|0)+4|0);break}case 14:{sv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,0,0,c[(c[_>>2]|0)+-32+4>>2]|0);break}case 15:{tv(c[V>>2]|0);break}case 209:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[_>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[_>>2]|0)+4>>2]=1;break}case 20:{uv(c[V>>2]|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-16+4|0,c[(c[_>>2]|0)+4>>2]&255,0);break}case 21:{uv(c[V>>2]|0,0,0,0,c[(c[_>>2]|0)+4>>2]|0);av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[_>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[_>>2]|0)+4>>2]|0,25353,5)|0)==0:0){c[(c[_>>2]|0)+-16+4>>2]=96;break a}c[(c[_>>2]|0)+-16+4>>2]=0;V=c[V>>2]|0;U=c[(c[_>>2]|0)+4>>2]|0;c[L>>2]=c[(c[_>>2]|0)+4+4>>2];c[L+4>>2]=U;Ch(V,27746,L);break}case 24:{vv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[_>>2]|0)+16+4+4>>2]=0;c[(c[_>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[_>>2]|0)+-48+4+4>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0)-(c[(c[_>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[_>>2]|0)+-80+4+4>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0)-(c[(c[_>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[_>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+4+4>>2]|0)+((c[(c[_>>2]|0)+4>>2]|0)-(c[(c[_>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{V=(c[V>>2]|0)+328|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];break}case 32:case 30:{wv(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 31:{wv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0);break}case 33:{c[J>>2]=xv(c[V>>2]|0,155,c[(c[_>>2]|0)+4>>2]|0,0,0)|0;c[J+4>>2]=c[(c[_>>2]|0)+-16+4>>2];c[J+8>>2]=c[(c[_>>2]|0)+4+8>>2];wv(c[V>>2]|0,J);break}case 34:{U=c[V>>2]|0;T=(c[_>>2]|0)+4|0;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];yv(K,U,97,C);wv(c[V>>2]|0,K);break}case 35:{zv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 36:{Av(c[V>>2]|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);break}case 37:{Bv(c[V>>2]|0,0,0,0,0,c[(c[_>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 38:{Cv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 39:{Dv(c[V>>2]|0,0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 40:{Ev(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 41:{Fv(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 44:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+-16+4>>2]&~c[(c[_>>2]|0)+4+4>>2]|c[(c[_>>2]|0)+4>>2];break}case 46:{c[(c[_>>2]|0)+-16+4>>2]=0;c[(c[_>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[_>>2]|0)+-32+4>>2]=0;c[(c[_>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];c[(c[_>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2]<<8;c[(c[_>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[_>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[_>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[_>>2]|0)+4>>2]=9;break}case 53:{c[(c[_>>2]|0)+4>>2]=6;break}case 54:{c[(c[_>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[_>>2]|0)+-32+4>>2]=0;break}case 142:case 71:case 56:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 210:case 186:case 183:case 75:case 58:{c[(c[_>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[_>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[V>>2]|0)+328+4>>2]=0;break}case 63:{Av(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,0);break}case 64:{Bv(c[V>>2]|0,0,0,0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 65:{Cv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);break}case 66:{Dv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,(c[_>>2]|0)+-48+4|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);Ev(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[_>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 72:{c[(c[_>>2]|0)+4>>2]=4;break}case 143:case 73:{c[(c[_>>2]|0)+4>>2]=5;break}case 74:{Gv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 77:{Hv(c[V>>2]|0,(c[_>>2]|0)+-128+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0);break}case 78:{Gv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,1,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 79:{c[j>>2]=c[1272];c[j+4>>2]=c[1273];c[j+8>>2]=c[1274];c[j+12>>2]=c[1275];c[j+16>>2]=c[1276];Iv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,j)|0;av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 80:{c[k>>2]=c[(c[_>>2]|0)+4>>2];if(c[k>>2]|0){c[(c[k>>2]|0)+64>>2]=c[(c[_>>2]|0)+-16+4>>2];Jv(c[V>>2]|0,c[k>>2]|0)}else _u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);c[(c[_>>2]|0)+-16+4>>2]=c[k>>2];break}case 81:{c[y>>2]=c[(c[_>>2]|0)+4>>2];c[r>>2]=c[(c[_>>2]|0)+-32+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+48>>2]|0)!=0:0){c[Q+4>>2]=0;Jv(c[V>>2]|0,c[y>>2]|0);c[o>>2]=Kv(c[V>>2]|0,0,0,0,Q,c[y>>2]|0,0,0)|0;c[y>>2]=Lv(c[V>>2]|0,0,c[o>>2]|0,0,0,0,0,0,0,0)|0}if(c[y>>2]|0){a[(c[y>>2]|0)+4>>0]=c[(c[_>>2]|0)+-16+4>>2];c[(c[y>>2]|0)+48>>2]=c[r>>2];if(c[r>>2]|0){U=(c[r>>2]|0)+8|0;c[U>>2]=c[U>>2]&-513}U=(c[y>>2]|0)+8|0;c[U>>2]=c[U>>2]&-513;if((c[(c[_>>2]|0)+-16+4>>2]|0)!=116)a[(c[V>>2]|0)+22>>0]=1}else av(c[c[V>>2]>>2]|0,c[r>>2]|0);c[(c[_>>2]|0)+-32+4>>2]=c[y>>2];break}case 84:case 82:{c[(c[_>>2]|0)+4>>2]=d[(c[_>>2]|0)+2>>0];break}case 83:{c[(c[_>>2]|0)+-16+4>>2]=116;break}case 85:{V=Lv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+4+4>>2]|0)|0;c[(c[_>>2]|0)+-128+4>>2]=V;break}case 86:{V=Lv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,0,0,0,0,0,256,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 87:{c[p>>2]=c[(c[_>>2]|0)+-64+4>>2];c[z>>2]=Lv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,0,0,0,0,0,768,0,0)|0;if(c[p>>2]|0){V=(c[p>>2]|0)+8|0;c[V>>2]=c[V>>2]&-513}if(c[z>>2]|0){a[(c[z>>2]|0)+4>>0]=116;c[(c[z>>2]|0)+48>>2]=c[p>>2];c[(c[_>>2]|0)+-64+4>>2]=c[z>>2];break a}else{c[(c[_>>2]|0)+-64+4>>2]=c[p>>2];break a}}case 88:{c[(c[_>>2]|0)+4>>2]=1;break}case 89:{c[(c[_>>2]|0)+4>>2]=2;break}case 205:case 199:case 126:case 119:case 91:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 92:{U=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-32+4>>2]=U;if((c[(c[_>>2]|0)+4+4>>2]|0)>>>0>0)Nv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+4|0,1);Ov(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+-16+4|0);break}case 93:{c[l>>2]=Pv(c[c[V>>2]>>2]|0,158,0)|0;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[l>>2]|0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;break}case 94:{c[A>>2]=xv(c[V>>2]|0,158,0,0,(c[_>>2]|0)+4|0)|0;c[q>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-32+4|0)|0;c[n>>2]=xv(c[V>>2]|0,122,c[q>>2]|0,c[A>>2]|0,0)|0;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[n>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 220:case 219:case 106:case 95:{V=(c[_>>2]|0)+-16+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];break}case 97:{V=rh(c[c[V>>2]>>2]|0,80,0)|0;c[(c[_>>2]|0)+16+4>>2]=V;break}case 98:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];Qv(c[(c[_>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[_>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[_>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[_>>2]|0)+4>>2];break}case 100:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 101:{U=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,(c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=U;Rv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,(c[_>>2]|0)+-32+4|0);break}case 102:{U=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-128+4>>2]|0,(c[_>>2]|0)+-112+4|0,(c[_>>2]|0)+-96+4|0,(c[_>>2]|0)+-32+4|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-128+4>>2]=U;Sv(c[V>>2]|0,c[(c[_>>2]|0)+-128+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 103:{V=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,0,0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=V;break}case 104:{if((((c[(c[_>>2]|0)+-96+4>>2]|0)==0?(c[(c[_>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[_>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[_>>2]|0)+4>>2]|0)==0:0){c[(c[_>>2]|0)+-96+4>>2]=c[(c[_>>2]|0)+-64+4>>2];break a}if((c[c[(c[_>>2]|0)+-64+4>>2]>>2]|0)!=1){Qv(c[(c[_>>2]|0)+-64+4>>2]|0);c[B>>2]=Lv(c[V>>2]|0,0,c[(c[_>>2]|0)+-64+4>>2]|0,0,0,0,0,1024,0,0)|0;V=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,0,0,(c[_>>2]|0)+-32+4|0,c[B>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=V;break a}U=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,0,0,(c[_>>2]|0)+-32+4|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=U;if(c[(c[_>>2]|0)+-96+4>>2]|0){c[v>>2]=(c[(c[_>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[_>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[w>>2]=(c[(c[_>>2]|0)+-64+4>>2]|0)+8;c[(c[v>>2]|0)+8>>2]=c[(c[w>>2]|0)+8>>2];c[(c[v>>2]|0)+4>>2]=c[(c[w>>2]|0)+4>>2];c[(c[v>>2]|0)+20>>2]=c[(c[w>>2]|0)+20>>2];c[(c[w>>2]|0)+4>>2]=0;c[(c[w>>2]|0)+8>>2]=0;c[(c[w>>2]|0)+20>>2]=0}cv(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[_>>2]|0)+16+4>>2]=0;c[(c[_>>2]|0)+16+4+4>>2]=0;break}case 107:{V=Tv(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;break}case 108:{c[(c[_>>2]|0)+4>>2]=1;break}case 109:{V=Uv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,0,0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;break}case 110:{V=Uv(c[V>>2]|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-16+4|0,0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 111:{V=Uv(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 195:case 136:case 129:case 112:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 198:case 196:case 135:case 128:case 113:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 115:{V=(c[_>>2]|0)+-32+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];break}case 116:{c[(c[_>>2]|0)+-16+4>>2]=0;c[(c[_>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[_>>2]|0)+-48+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 144:case 118:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 121:{V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;Vv(c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 122:{V=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;Vv(c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 123:{c[(c[_>>2]|0)+4>>2]=0;break}case 124:{c[(c[_>>2]|0)+4>>2]=1;break}case 125:{c[(c[_>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[_>>2]|0)+16+4>>2]=0;c[(c[_>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];c[(c[_>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[_>>2]|0)+-48+4>>2]=c[(c[_>>2]|0)+-32+4>>2];c[(c[_>>2]|0)+-48+4+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 133:{c[(c[_>>2]|0)+-48+4+4>>2]=c[(c[_>>2]|0)+-32+4>>2];c[(c[_>>2]|0)+-48+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 134:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0,1);Rv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+-16+4|0);Xv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 137:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,1);Rv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,(c[_>>2]|0)+-48+4|0);Yv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,27773);Zv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0);break}case 138:{U=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;Nv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,(c[_>>2]|0)+-32+4|0,1);break}case 139:{c[R>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+4>>2]|0)|0;Nv(c[V>>2]|0,c[R>>2]|0,(c[_>>2]|0)+-32+4|0,1);c[(c[_>>2]|0)+-32+4>>2]=c[R>>2];break}case 140:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0,1);_v(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 141:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,1);_v(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0);break}case 145:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 146:{V=$v(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+4|0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 147:{V=$v(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+4|0)|0;c[(c[_>>2]|0)+4>>2]=V;break}case 148:{aw((c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 155:case 154:case 149:{T=(c[_>>2]|0)+4|0;U=c[V>>2]|0;V=d[(c[_>>2]|0)+2>>0]|0;S=(c[_>>2]|0)+4|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];yv(T,U,V,C);break}case 151:case 150:{U=(c[_>>2]|0)+4|0;V=c[V>>2]|0;T=(c[_>>2]|0)+4|0;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];yv(U,V,27,C);break}case 152:{c[D>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-32+4|0)|0;c[F>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+4|0)|0;aw((c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,122,c[D>>2]|0,c[F>>2]|0,0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 153:{c[E>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-64+4|0)|0;c[G>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-32+4|0)|0;c[H>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+4|0)|0;c[I>>2]=xv(c[V>>2]|0,122,c[G>>2]|0,c[H>>2]|0,0)|0;aw((c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,122,c[E>>2]|0,c[I>>2]|0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 156:{S=(c[_>>2]|0)+4|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];if(((c[T+4>>2]|0)>>>0>=2?(a[c[T>>2]>>0]|0)==35:0)?(d[19011+(d[(c[T>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){aw((c[_>>2]|0)+4|0,T,T);h=c[V>>2]|0;if(!(d[(c[V>>2]|0)+18>>0]|0)){c[U>>2]=T;Ch(h,27070,U);c[(c[_>>2]|0)+4>>2]=0;break a}V=xv(h,157,0,0,T)|0;c[(c[_>>2]|0)+4>>2]=V;if(!(c[(c[_>>2]|0)+4>>2]|0))break a;Oi((c[T>>2]|0)+1|0,(c[(c[_>>2]|0)+4>>2]|0)+28|0)|0;break a}S=(c[_>>2]|0)+4|0;U=c[V>>2]|0;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];yv(S,U,135,C);bw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 157:{V=cw(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+4|0,1)|0;c[(c[_>>2]|0)+-32+4>>2]=V;c[(c[_>>2]|0)+-32+4+8>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);break}case 158:{aw((c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,38,c[(c[_>>2]|0)+-48+4>>2]|0,0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-80+4>>2]=V;break}case 159:{if((c[(c[_>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[V>>2]>>2]|0)+92+24>>2]|0):0){U=c[V>>2]|0;c[O>>2]=(c[_>>2]|0)+-64+4;Ch(U,27782,O)}c[R>>2]=dw(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,(c[_>>2]|0)+-64+4|0)|0;aw(R,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+4|0);if((c[(c[_>>2]|0)+-32+4>>2]|0)==1?(c[R>>2]|0)!=0:0){V=(c[R>>2]|0)+4|0;c[V>>2]=c[V>>2]|16}V=(c[_>>2]|0)+-64+4|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];break}case 160:{c[R>>2]=dw(c[V>>2]|0,0,(c[_>>2]|0)+-48+4|0)|0;aw(R,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);V=(c[_>>2]|0)+-48+4|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];break}case 161:{c[R>>2]=dw(c[V>>2]|0,0,(c[_>>2]|0)+4|0)|0;aw(R,(c[_>>2]|0)+4|0,(c[_>>2]|0)+4|0);V=(c[_>>2]|0)+4|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];break}case 169:case 168:case 167:case 166:case 165:case 164:case 163:case 162:{ew(c[V>>2]|0,d[(c[_>>2]|0)+-16+2>>0]|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);break}case 170:{V=(c[_>>2]|0)+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[(c[_>>2]|0)+4+8>>2]=0;break}case 171:{V=(c[_>>2]|0)+-16+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[(c[_>>2]|0)+-16+4+8>>2]=1;break}case 172:{c[s>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+4>>2]|0)|0;c[s>>2]=Mv(c[V>>2]|0,c[s>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;U=dw(c[V>>2]|0,c[s>>2]|0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-32+4>>2]=U;fw(c[V>>2]|0,c[(c[_>>2]|0)+-16+4+8>>2]|0,(c[_>>2]|0)+-32+4|0);c[(c[_>>2]|0)+-32+4+8>>2]=c[(c[_>>2]|0)+4+8>>2];if(c[(c[_>>2]|0)+-32+4>>2]|0){V=(c[(c[_>>2]|0)+-32+4>>2]|0)+4|0;c[V>>2]=c[V>>2]|128}break}case 173:{c[t>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[t>>2]=Mv(c[V>>2]|0,c[t>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0)|0;c[t>>2]=Mv(c[V>>2]|0,c[t>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;U=dw(c[V>>2]|0,c[t>>2]|0,(c[_>>2]|0)+-48+4|0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4+8>>2]|0,(c[_>>2]|0)+-64+4|0);c[(c[_>>2]|0)+-64+4+8>>2]=c[(c[_>>2]|0)+4+8>>2];if(c[(c[_>>2]|0)+-64+4>>2]|0){V=(c[(c[_>>2]|0)+-64+4>>2]|0)+4|0;c[V>>2]=c[V>>2]|128}break}case 174:{gw(c[V>>2]|0,d[(c[_>>2]|0)+2>>0]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 175:{gw(c[V>>2]|0,77,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);break}case 176:{ew(c[V>>2]|0,73,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);hw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,76);break}case 177:{ew(c[V>>2]|0,148,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);hw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,77);break}case 179:case 178:{iw((c[_>>2]|0)+-16+4|0,c[V>>2]|0,d[(c[_>>2]|0)+-16+2>>0]|0,(c[_>>2]|0)+4|0,(c[_>>2]|0)+-16+4|0);break}case 180:{iw((c[_>>2]|0)+-16+4|0,c[V>>2]|0,155,(c[_>>2]|0)+4|0,(c[_>>2]|0)+-16+4|0);break}case 181:{iw((c[_>>2]|0)+-16+4|0,c[V>>2]|0,156,(c[_>>2]|0)+4|0,(c[_>>2]|0)+-16+4|0);break}case 185:case 182:{c[(c[_>>2]|0)+4>>2]=0;break}case 184:{c[u>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[u>>2]=Mv(c[V>>2]|0,c[u>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;U=xv(c[V>>2]|0,74,c[(c[_>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(c[(c[_>>2]|0)+-64+4>>2]|0)c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=c[u>>2];else $u(c[c[V>>2]>>2]|0,c[u>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+-64+4|0);c[(c[_>>2]|0)+-64+4+8>>2]=c[(c[_>>2]|0)+4+8>>2];break}case 187:{do if(!(c[(c[_>>2]|0)+-16+4>>2]|0)){dv(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);V=xv(c[V>>2]|0,132,0,0,5108+(c[(c[_>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V}else{if((c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)==1){c[x>>2]=c[c[(c[(c[_>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[_>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;$u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);if(c[x>>2]|0){U=(c[x>>2]|0)+4|0;c[U>>2]=c[U>>2]&-257;U=(c[x>>2]|0)+4|0;c[U>>2]=c[U>>2]|512}V=xv(c[V>>2]|0,(c[(c[_>>2]|0)+-48+4>>2]|0)!=0?78:79,c[(c[_>>2]|0)+-64+4>>2]|0,c[x>>2]|0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}U=xv(c[V>>2]|0,75,c[(c[_>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(c[(c[_>>2]|0)+-64+4>>2]|0){c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];jw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0)}else $u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+-64+4|0)}while(0);c[(c[_>>2]|0)+-64+4+8>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);break}case 188:{aw((c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);U=xv(c[V>>2]|0,119,0,0,0)|0;c[(c[_>>2]|0)+-32+4>>2]=U;if(c[(c[_>>2]|0)+-32+4>>2]|0){c[(c[(c[_>>2]|0)+-32+4>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];U=(c[(c[_>>2]|0)+-32+4>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);break a}else{av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break a}}case 189:{U=xv(c[V>>2]|0,75,c[(c[_>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(c[(c[_>>2]|0)+-64+4>>2]|0){c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];U=(c[(c[_>>2]|0)+-64+4>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0)}else av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+-64+4|0);c[(c[_>>2]|0)+-64+4+8>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);break}case 190:{c[S>>2]=Tv(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0)|0;h=xv(c[V>>2]|0,75,c[(c[_>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=h;h=c[V>>2]|0;if(c[(c[_>>2]|0)+-48+4>>2]|0){U=Lv(h,0,c[S>>2]|0,0,0,0,0,0,0,0)|0;c[(c[(c[_>>2]|0)+-48+4>>2]|0)+20>>2]=U;U=(c[(c[_>>2]|0)+-48+4>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0)}else cv(c[h>>2]|0,c[S>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+-48+4|0);h=c[_>>2]|0;if(c[(c[_>>2]|0)+4>>2]|0)h=(c[(c[_>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[_>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4+8>>2]=h;break}case 191:{aw((c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);U=xv(c[V>>2]|0,20,0,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=U;c[m>>2]=U;if(c[m>>2]|0){c[(c[m>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];U=(c[m>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[m>>2]|0);break a}else{av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break a}}case 192:{aw((c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+4|0);U=xv(c[V>>2]|0,136,c[(c[_>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(!(c[(c[_>>2]|0)+-64+4>>2]|0)){$u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);dv(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break a}if(c[(c[_>>2]|0)+-16+4>>2]|0)h=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[_>>2]|0)+-32+4>>2]|0;c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=h;jw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 193:{U=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 194:{U=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=U;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 197:{c[(c[_>>2]|0)+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 200:{V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 201:{V=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+4>>2]=V;break}case 202:{Bv(c[V>>2]|0,(c[_>>2]|0)+-112+4|0,(c[_>>2]|0)+-96+4|0,Tv(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+-64+4|0,0)|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-160+4>>2]|0,(c[_>>2]|0)+-176+4|0,c[(c[_>>2]|0)+4>>2]|0,0,c[(c[_>>2]|0)+-128+4>>2]|0)|0;break}case 244:case 203:{c[(c[_>>2]|0)+4>>2]=2;break}case 204:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 206:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 207:{V=kw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 208:{V=kw(c[V>>2]|0,0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 211:{lw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 213:case 212:{mw(c[V>>2]|0);break}case 214:{nw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0,0,0);break}case 215:{nw(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0,0);break}case 216:{nw(c[V>>2]|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-16+4|0,0);break}case 217:{nw(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0,1);break}case 218:{nw(c[V>>2]|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-16+4|0,1);break}case 221:{c[h>>2]=c[(c[_>>2]|0)+-48+4>>2];c[h+4>>2]=(c[(c[_>>2]|0)+4>>2]|0)-(c[(c[_>>2]|0)+-48+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);ow(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,h);break}case 222:{pw(c[V>>2]|0,(c[_>>2]|0)+-112+4|0,(c[_>>2]|0)+-96+4|0,c[(c[_>>2]|0)+-80+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-64+4+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-160+4>>2]|0,c[(c[_>>2]|0)+-128+4>>2]|0);h=(c[_>>2]|0)+-160+4|0;j=c[_>>2]|0;if(!(c[(c[_>>2]|0)+-96+4+4>>2]|0)){V=j+-112+4|0;c[h>>2]=c[V>>2];c[h+4>>2]=c[V+4>>2];break a}else{V=j+-96+4|0;c[h>>2]=c[V>>2];c[h+4>>2]=c[V+4>>2];break a}}case 223:{c[(c[_>>2]|0)+4>>2]=35;break}case 224:{c[(c[_>>2]|0)+4>>2]=31;break}case 225:{c[(c[_>>2]|0)+-16+4>>2]=49;break}case 226:{c[(c[_>>2]|0)+16+4>>2]=35;break}case 228:case 227:{c[(c[_>>2]|0)+4>>2]=d[(c[_>>2]|0)+2>>0];c[(c[_>>2]|0)+4+4>>2]=0;break}case 229:{c[(c[_>>2]|0)+-32+4>>2]=110;c[(c[_>>2]|0)+-32+4+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 249:case 230:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 250:case 231:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 232:{c[(c[(c[(c[_>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[_>>2]|0)+-16+4>>2];c[(c[(c[_>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 233:{c[(c[(c[_>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 234:{U=(c[_>>2]|0)+-32+4|0;T=(c[_>>2]|0)+4|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];Ch(c[V>>2]|0,27816,P);break}case 235:{Ch(c[V>>2]|0,27911,M);break}case 236:{Ch(c[V>>2]|0,27995,N);break}case 237:{V=qw(c[c[V>>2]>>2]|0,(c[_>>2]|0)+-64+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]&255)|0;c[(c[_>>2]|0)+-96+4>>2]=V;break}case 238:{V=rw(c[c[V>>2]>>2]|0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]&255)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 239:{V=sw(c[c[V>>2]>>2]|0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 240:{V=tw(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+4>>2]=V;break}case 241:{aw((c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,57,0,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;if(c[(c[_>>2]|0)+-48+4>>2]|0)a[(c[(c[_>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 242:{aw((c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,57,0,0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-80+4>>2]=V;if(c[(c[_>>2]|0)+-80+4>>2]|0)a[(c[(c[_>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[_>>2]|0)+-48+4>>2];break}case 243:{c[(c[_>>2]|0)+4>>2]=1;break}case 245:{c[(c[_>>2]|0)+4>>2]=3;break}case 246:{uw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 247:{vw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 248:{ww(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 251:{xw(c[V>>2]|0,0,0);break}case 252:{xw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 253:{yw(c[V>>2]|0,0,0);break}case 254:{yw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 255:{zw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+4|0);break}case 256:{c[(c[_>>2]|0)+-16+4+4>>2]=(c[(c[V>>2]|0)+508>>2]|0)-(c[(c[_>>2]|0)+-16+4>>2]|0)+(c[(c[V>>2]|0)+508+4>>2]|0);Aw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0);break}case 257:{tv(c[V>>2]|0);Bw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 258:{Cw(c[V>>2]|0,0);break}case 259:{Cw(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 260:{Dw(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 261:{Ew(c[V>>2]|0);break}case 264:case 263:case 262:{Fw(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 265:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 266:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 267:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 268:{V=Gw(c[V>>2]|0,0,(c[_>>2]|0)+-80+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-80+4>>2]=V;break}case 269:{V=Gw(c[V>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,(c[_>>2]|0)+-80+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-112+4>>2]=V;break}default:{}}while(0);c[Z>>2]=d[27094+(c[X>>2]<<1)>>0];c[$>>2]=d[27094+(c[X>>2]<<1)+1>>0];c[Y>>2]=Hw(e[(c[_>>2]|0)+(0-(c[$>>2]|0)<<4)>>1]|0,c[Z>>2]&255)|0;if((c[Y>>2]|0)>974){_=c[W>>2]|0;c[_>>2]=(c[_>>2]|0)-(c[$>>2]|0);Iw(c[W>>2]|0);i=aa;return}if((c[Y>>2]|0)>439)c[Y>>2]=(c[Y>>2]|0)+326;X=c[W>>2]|0;c[X>>2]=(c[X>>2]|0)-((c[$>>2]|0)-1);c[_>>2]=(c[_>>2]|0)+(0-((c[$>>2]|0)-1)<<4);b[c[_>>2]>>1]=c[Y>>2];a[(c[_>>2]|0)+2>>0]=c[Z>>2];i=aa;return}function lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Ch(a,27070,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function mv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[b>>2]>>2]|0)<0)break;fv(c[b>>2]|0)}Ch(c[d>>2]|0,38149,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function nv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;k=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+68>>2]|0)==0:0){c[k>>2]=Vw(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((sA(c[k>>2]|0,61)|0)!=0);cx(c[k>>2]|0,21)|0;if(!(d[(c[f>>2]|0)+69>>0]|0)){if((c[(c[e>>2]|0)+340>>2]|0)==0?(c[(c[e>>2]|0)+324>>2]|0)==0:0)break;Lz(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Jh(c[k>>2]|0,c[h>>2]|0),Gh(c[k>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+336>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+344+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+144+5>>0]|0)==0):0)Hh(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+456>>2]|0))break;c[l>>2]=Gx(c[f>>2]|0,c[(c[(c[e>>2]|0)+524>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;_w(c[k>>2]|0,149,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+456>>2]=0;lH(c[e>>2]|0);mH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+324>>2]|0){c[j>>2]=c[(c[e>>2]|0)+324>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;DA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Kz(c[k>>2]|0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+412>>2]|0)!=0?(c[(c[e>>2]|0)+72>>2]|0)==0:0)c[(c[e>>2]|0)+72>>2]=1;Lh(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}if(c[(c[e>>2]|0)+12>>2]|0){i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Sw(c[d>>2]|0,22,38079,0,0)|0){i=j;return}c[h>>2]=Vw(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Xw(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Jh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);cx(c[h>>2]|0,1)|0;i=j;return}function pv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Sw(c[b>>2]|0,22,38102,0,0)|0){i=e;return}c[d>>2]=Vw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Dz(c[d>>2]|0,1,1)|0;i=e;return}function qv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Sw(c[b>>2]|0,22,38093,0,0)|0){i=e;return}c[d>>2]=Vw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Xw(c[d>>2]|0,1,1,1)|0;i=e;return}function rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Jw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=Vw(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Sw(c[e>>2]|0,32,c[6344+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){_w(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function sv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+144+5>>0]|0)!=0?(c[(c[A>>2]|0)+144>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+144+4>>0];c[H>>2]=ph(c[A>>2]|0,(c[I>>2]|0)==1?20513:20532)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=zz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Ch(c[w>>2]|0,37969,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Jw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+500|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Ex(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+144+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Sw(c[w>>2]|0,18,(c[o>>2]|0)==1?20513:20532,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(Sw(c[w>>2]|0,d[38010+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+454>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(vz(c[w>>2]|0)|0)break a;c[r>>2]=ri(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Ij(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Ch(I,38038,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){hx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Ch(m,38014,G);break a}}while(0);c[r>>2]=rh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+68|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+488>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(HQ(c[H>>2]|0,29413)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+144+5>>0]|0){i=J;return}H=Vw(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}gx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)cx(c[F>>2]|0,149)|0;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+392>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+76|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+396>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;$w(c[F>>2]|0,51,c[I>>2]|0,c[E>>2]|0,2)|0;Jh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Dz(c[F>>2]|0,45,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;$w(c[F>>2]|0,52,c[I>>2]|0,2,c[q>>2]|0)|0;$w(c[F>>2]|0,52,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Lz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)Xw(m,22,0,c[D>>2]|0)|0;else{H=Xw(m,122,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+424>>2]=H}kH(c[w>>2]|0,c[I>>2]|0);Xw(c[F>>2]|0,74,0,c[C>>2]|0)|0;_w(c[F>>2]|0,27,6,c[E>>2]|0,0,38073,-2)|0;$w(c[F>>2]|0,75,0,c[E>>2]|0,c[C>>2]|0)|0;Hh(c[F>>2]|0,8);cx(c[F>>2]|0,61)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function tv(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function uv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+192|0;l=R+188|0;m=R+184|0;n=R+196|0;o=R+180|0;w=R+176|0;r=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+488>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+144+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+144>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Ch(c[k>>2]|0,37648,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Ch(H,37698,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;eH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Fh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)ZG(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);fH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;aH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){c[G>>2]=Vw(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Dz(c[G>>2]|0,61,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=33506;c[Q>>2]=37730}else{c[P>>2]=36608;c[Q>>2]=37736}do if(c[o>>2]|0){H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+76|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Hx(c[k>>2]|0);$w(c[G>>2]|0,55,1,c[(c[k>>2]|0)+396>>2]|0,c[t>>2]|0)|0;Hh(c[G>>2]|0,16);c[(c[k>>2]|0)+72>>2]=2;c[q>>2]=(Hz(c[G>>2]|0)|0)+1;$w(c[G>>2]|0,16,c[F>>2]|0,0,c[q>>2]|0)|0;dB(s,13,c[F>>2]|0);Iv(c[k>>2]|0,c[o>>2]|0,s)|0;DC(c[G>>2]|0,c[F>>2]|0);Lz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+68>>2]|0){i=R;return}c[C>>2]=Px(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Dz(c[G>>2]|0,18,c[s+4>>2]|0)|0;$w(c[G>>2]|0,49,c[s+8>>2]|0,c[s+12>>2]|0,c[D>>2]|0)|0;GC(c[G>>2]|0,c[w>>2]|0,0);Xw(c[G>>2]|0,74,1,c[E>>2]|0)|0;$w(c[G>>2]|0,75,1,c[D>>2]|0,c[E>>2]|0)|0;Kz(c[G>>2]|0,c[p>>2]|0)|0;Lz(c[G>>2]|0,c[p>>2]|0);Dz(c[G>>2]|0,61,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=gH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+508|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+500>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+500>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Dh(J,37741,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?20513:20532;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+396>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+392>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;Uw(Q,37756,M);Tf(c[r>>2]|0,c[O>>2]|0);Ww(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];Uw(Q,37843,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];Yw(O,P,Dh(Q,37885,K)|0)}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Sj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){lh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+488>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+500>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Ix(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function vv(e,f,g){e=e|0;f=f|0;g=g|0;var 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;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+488>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+92+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Ch(u,37599,q);i=v;return}c[s>>2]=Ah(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}rR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Pw(c[s>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Ch(u,37622,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Kw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;rR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;u=px(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+328+4>>2]=0;i=v;return}function wv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;dv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(dH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+144+5>>0]|0)|0){dv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-97;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Ow(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=ty(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;dv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Ch(m,37554,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;dv(l,m);i=n;return}}function xv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==72?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[m>>2]=gz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=iz(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;jz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Ky(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function yv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;b=xv(c[j>>2]|0,c[h>>2]|0,0,0,e)|0;c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+8>>2]=(c[e>>2]|0)+(c[e+4>>2]|0);i=f;return}function zv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Av(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;q=z+40|0;p=z+36|0;m=z+32|0;l=z+28|0;n=z+24|0;o=z+20|0;r=z+16|0;x=z+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+488>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}if(d[(c[s>>2]|0)+454>>0]|0){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}if(d[(c[q>>2]|0)+42>>0]&4){x=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Ch(x,37457,k);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=Zx(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;_G(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==27){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(ti(c[p>>2]|0,19010)|0,19367)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];y=(c[q>>2]|0)+42|0;a[y>>0]=d[y>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}a[(c[s>>2]|0)+452>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}h=c[s>>2]|0;if(c[v>>2]|0){Ch(h,37498,y);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}c[x>>2]=Bv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0)|0;if(c[x>>2]|0){y=(c[x>>2]|0)+55|0;a[y>>0]=a[y>>0]&-4|2}c[t>>2]=0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}function Bv(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=i;i=i+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;q=ya+332|0;r=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;c[F>>2]=f;c[q>>2]=g;c[r>>2]=h;c[ra>>2]=j;c[sa>>2]=k;c[la>>2]=l;c[G>>2]=m;c[ta>>2]=n;c[s>>2]=o;c[H>>2]=p;c[wa>>2]=0;c[oa>>2]=0;c[va>>2]=0;c[xa>>2]=0;c[ua>>2]=c[c[F>>2]>>2];c[W>>2]=0;c[O>>2]=0;c[ja>>2]=0;c[X>>2]=0;a:do if((((d[(c[ua>>2]|0)+69>>0]|0)==0?(d[(c[F>>2]|0)+454>>0]|0)==0:0)?(c[(c[F>>2]|0)+68>>2]|0)<=0:0)?0==(vz(c[F>>2]|0)|0):0){p=c[F>>2]|0;if(c[ra>>2]|0){c[ma>>2]=zz(p,c[q>>2]|0,c[r>>2]|0,W)|0;if((c[ma>>2]|0)<0)break;if(((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(c[oa>>2]=JB(c[F>>2]|0,c[ra>>2]|0)|0,(c[oa>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[ma>>2]=1;KB(x,c[F>>2]|0,c[ma>>2]|0,33671,c[W>>2]|0);LB(x,c[ra>>2]|0)|0;c[oa>>2]=ex(c[F>>2]|0,0,(c[ra>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[ma>>2]|0)==1?(c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){qa=c[F>>2]|0;c[y>>2]=c[c[oa>>2]>>2];Ch(qa,37023,y);break}if(d[(c[oa>>2]|0)+42>>0]&32)c[X>>2]=Hj(c[oa>>2]|0)|0}else{c[oa>>2]=c[p+488>>2];if(!(c[oa>>2]|0))break;c[ma>>2]=Fh(c[ua>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[T>>2]=(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);if(((zd(c[c[oa>>2]>>2]|0,28440,7)|0)==0?(d[(c[ua>>2]|0)+144+5>>0]|0)==0:0)?(zd((c[c[oa>>2]>>2]|0)+7|0,37073,9)|0)!=0:0){qa=c[F>>2]|0;c[C>>2]=c[c[oa>>2]>>2];Ch(qa,37083,C);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ch(c[F>>2]|0,37111,D);break}if(d[(c[oa>>2]|0)+42>>0]&16){Ch(c[F>>2]|0,37136,z);break}if(c[W>>2]|0){c[xa>>2]=Jw(c[ua>>2]|0,c[W>>2]|0)|0;if(!(c[xa>>2]|0))break;if(Ex(c[F>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(ri(c[ua>>2]|0,c[xa>>2]|0,0)|0)!=0:0){qa=c[F>>2]|0;c[A>>2]=c[xa>>2];Ch(qa,37170,A);break}if(Ij(c[ua>>2]|0,c[xa>>2]|0,c[c[T>>2]>>2]|0)|0){p=c[F>>2]|0;if(c[H>>2]|0){hx(p,c[ma>>2]|0);break}else{c[$>>2]=c[xa>>2];Ch(p,37204,$);break}}}else{c[v>>2]=c[(c[oa>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}$=c[ua>>2]|0;H=c[t>>2]|0;c[B>>2]=c[c[oa>>2]>>2];c[B+4>>2]=H;c[xa>>2]=Dh($,37228,B)|0;if(!(c[xa>>2]|0))break}c[E>>2]=c[c[T>>2]>>2];if((Sw(c[F>>2]|0,18,(c[ma>>2]|0)==1?20513:20532,0,c[E>>2]|0)|0)==0?(c[I>>2]=1,c[I>>2]=(c[ma>>2]|0)==1?3:1,(Sw(c[F>>2]|0,c[I>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[E>>2]|0)|0)==0):0){if(!(c[sa>>2]|0)){Iy(w,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);$=c[F>>2]|0;c[sa>>2]=Mv($,0,iz(c[ua>>2]|0,27,w,0)|0)|0;if(!(c[sa>>2]|0))break;Vv(c[sa>>2]|0,c[s>>2]|0)}else Yv(c[F>>2]|0,c[sa>>2]|0,33671);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;c[u>>2]=c[(c[(c[sa>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2];if((d[c[u>>2]>>0]|0)==95){$=1+(Jf(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[O>>2]=(c[O>>2]|0)+$}c[I>>2]=(c[I>>2]|0)+1}c[Q>>2]=Jf(c[xa>>2]|0)|0;if(c[X>>2]|0)p=e[(c[X>>2]|0)+50>>1]|0;else p=1;c[P>>2]=p;c[va>>2]=ND(c[ua>>2]|0,(c[c[sa>>2]>>2]|0)+(c[P>>2]|0)&65535,(c[Q>>2]|0)+(c[O>>2]|0)+1|0,ja)|0;if(!(a[(c[ua>>2]|0)+69>>0]|0)){c[c[va>>2]>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+((c[Q>>2]|0)+1);rR(c[c[va>>2]>>2]|0,c[xa>>2]|0,(c[Q>>2]|0)+1|0)|0;c[(c[va>>2]|0)+12>>2]=c[oa>>2];a[(c[va>>2]|0)+54>>0]=c[la>>2];$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9|((c[la>>2]|0)!=0&1)<<3&255;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-4|((c[W>>2]|0)!=0?0:1)&3;c[(c[va>>2]|0)+24>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2];b[(c[va>>2]|0)+50>>1]=c[c[sa>>2]>>2];if(c[ta>>2]|0){ZG(c[F>>2]|0,c[oa>>2]|0,16,c[ta>>2]|0,0);c[(c[va>>2]|0)+36>>2]=c[ta>>2];c[ta>>2]=0}if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Z>>2]=-1;else c[Z>>2]=0;c[I>>2]=0;c[V>>2]=c[(c[sa>>2]|0)+4>>2];while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;_G(c[c[V>>2]>>2]|0);ZG(c[F>>2]|0,c[oa>>2]|0,32,c[c[V>>2]>>2]|0,0);if(c[(c[F>>2]|0)+68>>2]|0)break a;c[R>>2]=Zx(c[c[V>>2]>>2]|0)|0;if((d[c[R>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(c[(c[va>>2]|0)+40>>2]|0)){c[S>>2]=By(c[ua>>2]|0,c[sa>>2]|0,0)|0;c[(c[va>>2]|0)+40>>2]=c[S>>2];if(a[(c[ua>>2]|0)+69>>0]|0)break;c[V>>2]=(c[(c[S>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)}while(0);c[K>>2]=-2;b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-2;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}else{c[K>>2]=b[(c[R>>2]|0)+32>>1];do if((c[K>>2]|0)<0)c[K>>2]=b[(c[oa>>2]|0)+32>>1];else{if(d[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+12>>0]|0)break;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}while(0);b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[K>>2]}c[ia>>2]=0;do if((d[c[c[V>>2]>>2]>>0]|0)==95){c[ia>>2]=c[(c[c[V>>2]>>2]|0)+8>>2];c[N>>2]=(Jf(c[ia>>2]|0)|0)+1;rR(c[ja>>2]|0,c[ia>>2]|0,c[N>>2]|0)|0;c[ia>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+(c[N>>2]|0);c[O>>2]=(c[O>>2]|0)-(c[N>>2]|0)}else{if((c[K>>2]|0)<0)break;c[ia>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+8>>2]}while(0);if(!(c[ia>>2]|0))c[ia>>2]=35343;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(Jz(c[F>>2]|0,c[ia>>2]|0)|0)==0:0)break a;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[ia>>2];c[Y>>2]=d[(c[V>>2]|0)+12>>0]&c[Z>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=c[Y>>2];c[I>>2]=(c[I>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+20}if((qa|0)==65){Ch(c[F>>2]|0,37251,aa);break}b:do if(c[X>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[X>>2]|0)+50>>1]|0))break b;c[fa>>2]=b[(c[(c[X>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1];if($G(c[(c[va>>2]|0)+4>>2]|0,e[(c[va>>2]|0)+50>>1]|0,c[fa>>2]|0)|0){ja=(c[va>>2]|0)+52|0;b[ja>>1]=(b[ja>>1]|0)+-1<<16>>16}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[fa>>2];c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[(c[X>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=a[(c[(c[X>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]|0;c[I>>2]=(c[I>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-1;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=35343}while(0);Fj(c[va>>2]|0);if(!(c[(c[F>>2]|0)+488>>2]|0))aH(c[va>>2]|0);c:do if(c[ra>>2]|0){if((e[(c[va>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33|32;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[K>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((AA(c[va>>2]|0,c[K>>2]&65535)|0)<<16>>16|0)<0:0)break;c[K>>2]=(c[K>>2]|0)+1}ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){c[U>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break d;if((e[(c[U>>2]|0)+50>>1]|0)==(e[(c[va>>2]|0)+50>>1]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;if((b[(c[(c[U>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)!=(b[(c[(c[va>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0))break;c[ga>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];c[ha>>2]=c[(c[(c[va>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];if(ig(c[ga>>2]|0,c[ha>>2]|0)|0)break;c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(e[(c[U>>2]|0)+50>>1]|0))break}c[U>>2]=c[(c[U>>2]|0)+20>>2]}do if((d[(c[U>>2]|0)+54>>0]|0)!=(d[(c[va>>2]|0)+54>>0]|0)){do if((d[(c[U>>2]|0)+54>>0]|0)!=10){if((d[(c[va>>2]|0)+54>>0]|0)==10)break;qa=c[F>>2]|0;c[ba>>2]=0;Ch(qa,37312,ba)}while(0);if((d[(c[U>>2]|0)+54>>0]|0)!=10)break;a[(c[U>>2]|0)+54>>0]=a[(c[va>>2]|0)+54>>0]|0}while(0);c[wa>>2]=c[U>>2];break a}while(0);do if(a[(c[ua>>2]|0)+144+5>>0]|0){c[na>>2]=Sj((c[(c[va>>2]|0)+24>>2]|0)+24|0,c[c[va>>2]>>2]|0,c[va>>2]|0)|0;p=c[ua>>2]|0;if(c[na>>2]|0){lh(p);break a}na=p+24|0;c[na>>2]=c[na>>2]|2;if(!(c[ra>>2]|0))break;c[(c[va>>2]|0)+44>>2]=c[(c[ua>>2]|0)+144>>2]}else{if(!((c[ra>>2]|0)!=0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[F>>2]|0)+76|0;na=(c[ja>>2]|0)+1|0;c[ja>>2]=na;c[J>>2]=na;c[_>>2]=Vw(c[F>>2]|0)|0;if(!(c[_>>2]|0))break a;gx(c[F>>2]|0,1,c[ma>>2]|0);na=cx(c[_>>2]|0,160)|0;c[(c[va>>2]|0)+44>>2]=na;Xw(c[_>>2]|0,121,c[ma>>2]|0,c[J>>2]|0)|0;if(c[G>>2]|0){c[M>>2]=(c[(c[F>>2]|0)+508>>2]|0)-(c[c[W>>2]>>2]|0)+(c[(c[F>>2]|0)+508+4>>2]|0);if((a[(c[c[W>>2]>>2]|0)+((c[M>>2]|0)-1)>>0]|0)==59)c[M>>2]=(c[M>>2]|0)+-1;na=c[ua>>2]|0;ia=c[M>>2]|0;ja=c[c[W>>2]>>2]|0;c[ca>>2]=(c[la>>2]|0)==0?19010:37354;c[ca+4>>2]=ia;c[ca+8>>2]=ja;c[ka>>2]=Dh(na,37362,ca)|0}else c[ka>>2]=0;na=c[F>>2]|0;fa=(c[ma>>2]|0)==1?20513:20532;ga=c[c[va>>2]>>2]|0;ha=c[c[oa>>2]>>2]|0;ia=c[J>>2]|0;ja=c[ka>>2]|0;c[da>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)>>2];c[da+4>>2]=fa;c[da+8>>2]=ga;c[da+12>>2]=ha;c[da+16>>2]=ia;c[da+20>>2]=ja;Uw(na,37382,da);Tf(c[ua>>2]|0,c[ka>>2]|0);if(c[ra>>2]|0){_z(c[F>>2]|0,c[va>>2]|0,c[J>>2]|0);Ww(c[F>>2]|0,c[ma>>2]|0);ka=c[_>>2]|0;ma=c[ma>>2]|0;na=c[ua>>2]|0;c[ea>>2]=c[c[va>>2]>>2];Yw(ka,ma,Dh(na,37430,ea)|0);Dz(c[_>>2]|0,147,0)|0}Lz(c[_>>2]|0,c[(c[va>>2]|0)+44>>2]|0)}while(0);if(!((c[ra>>2]|0)==0?1:(d[(c[ua>>2]|0)+144+5>>0]|0)!=0))break;do if((c[la>>2]|0)!=5)qa=139;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){qa=139;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=139;break}c[pa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[pa>>2]|0)+20>>2]|0)l=(d[(c[(c[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else l=0;p=c[(c[pa>>2]|0)+20>>2]|0;if(!l)break;c[pa>>2]=p}c[(c[va>>2]|0)+20>>2]=p;c[(c[pa>>2]|0)+20>>2]=c[va>>2]}while(0);if((qa|0)==139){c[(c[va>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[va>>2]}c[wa>>2]=c[va>>2];c[va>>2]=0}}}while(0);if(!(c[va>>2]|0)){qa=c[ua>>2]|0;va=c[ta>>2]|0;dv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;$u(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;cv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}bH(c[ua>>2]|0,c[va>>2]|0);qa=c[ua>>2]|0;va=c[ta>>2]|0;dv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;$u(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;cv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}function Cv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+488>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+454>>0]|0)==0:0)?(Hi(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+144+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Mv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+328+4>>2]|0)){i=k;return}Nv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+328|0,1);i=k;return}dv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Dv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+488>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+454>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Ch(D,36820,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Ch(c[p>>2]|0,36883,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=rh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];rR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Pw(c[C>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Ch(D,36977,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];rR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Sj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){lh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);$u(c[t>>2]|0,c[q>>2]|0);$u(c[t>>2]|0,c[r>>2]|0);i=E;return}function Ev(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+488>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Fv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+488>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Jw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Jz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Gv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(vz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=ex(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;FB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Fh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Fx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?20513:20532;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Sw(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Gx(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Sw(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Sw(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,28440,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36613,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Ch(w,36625,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Ch(w,36653,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Ch(w,36687,t);break}c[q>>2]=Vw(c[h>>2]|0)|0;if(c[q>>2]|0){gx(c[h>>2]|0,1,c[o>>2]|0);vC(c[h>>2]|0,c[o>>2]|0,31446,c[c[p>>2]>>2]|0);UG(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);VG(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);cv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Hv(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+444>>1]|0)<=0){sv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+488>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(zz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Fh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,KB(v,c[w>>2]|0,c[s>>2]|0,36608,c[u>>2]|0),(MB(v,c[y>>2]|0)|0)==0):0)?(v=Nx(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=By(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+508|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[19011+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;uv(c[w>>2]|0,0,B,0,0)}}else Ch(l,36572,D);av(c[z>>2]|0,c[y>>2]|0);$u(c[z>>2]|0,c[x>>2]|0);i=D;return}function Iv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+256|0;Y=Ca+252|0;da=Ca+248|0;o=Ca+244|0;r=Ca+240|0;m=Ca+236|0;t=Ca+232|0;p=Ca+228|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+468>>2];h=(c[O>>2]|0)+472|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+468>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+68>>2]|0)==0:0){if(Sw(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){$u(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}Qx(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if(((c[(c[O>>2]|0)+68>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1,(aG(c[O>>2]|0,c[Q>>2]|0,c[c[c[P>>2]>>2]>>2]|0)|0)==0):0){c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=17;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(bG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==17){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Ch(Ba,36087,w);break}c[Ba>>2]=Vw(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=cG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+468>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;Xw(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=dG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))eG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=43;break}if(c[(c[P>>2]|0)+8>>2]&2){y=43;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=43;break}c[j>>2]=(Hz(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;$w(c[Ba>>2]|0,16,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];dB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Iv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+8>>2];DC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Lz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);fG(c[O>>2]|0)}else y=43;while(0);if((y|0)==43){y=0;c[n>>2]=0;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=Xw(c[Ba>>2]|0,22,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=_A(c[O>>2]|0)|0;dB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Iv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Lz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Dz(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0)|0;CD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);fG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=dG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(wy(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=By(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=gG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+72|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=_w(c[Ba>>2]|0,57,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)Xw(c[Ba>>2]|0,57,c[(c[Q>>2]|0)+4>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Iz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;hG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){iG(c[Ba>>2]|0,c[ya+20>>2]|0,58);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+72|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=_w(w,57,y,0,0,gG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Hh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?1024:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=XC(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(jG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=jG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(kG(c[pa>>2]|0)|0))break;a[xa+1>>0]=kG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=lG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;vA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=mG(c[pa>>2]|0)|0;oG(ta,ua,va,-1,ya,xa,za,Aa,nG(c[pa>>2]|0)|0);YC(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(wy(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Iz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];pG(M,c[ka>>2]|0);pG(M,c[ya>>2]|0);if(c[ma>>2]|0)qG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;pG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+76>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+72|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=gG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=_w(c[Ba>>2]|0,58,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Iz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Iz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);Xw(c[Ba>>2]|0,22,0,c[aa>>2]|0)|0;Xw(c[Ba>>2]|0,22,0,c[ea>>2]|0)|0;$w(c[Ba>>2]|0,25,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;Xw(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=XC(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(256|((c[ia>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=lG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;rG(c[O>>2]|0,g?36127:36136);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=qA(c[O>>2]|0,c[ga>>2]|0)|0;kC(c[O>>2]|0);MA(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);BD(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=aA(c[O>>2]|0)|0;$w(c[Ba>>2]|0,49,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;Xw(c[Ba>>2]|0,109,c[wa+4>>2]|0,c[ua>>2]|0)|0;eA(c[O>>2]|0,c[ua>>2]|0);tA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);YC(c[pa>>2]|0);sa=(c[O>>2]|0)+72|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=aA(c[O>>2]|0)|0;$w(c[Ba>>2]|0,60,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;Xw(c[Ba>>2]|0,106,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;kC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(sG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;vA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=Hz(c[Ba>>2]|0)|0;kC(c[O>>2]|0);if(c[Z>>2]|0)$w(c[Ba>>2]|0,100,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)$w(c[Ba>>2]|0,47,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;DA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;_w(sa,42,ua,za,Aa,$z(c[na>>2]|0)|0,-6)|0;c[R>>2]=Hz(c[Ba>>2]|0)|0;$w(c[Ba>>2]|0,43,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;tG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);Xw(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Xw(c[Ba>>2]|0,138,c[aa>>2]|0,c[S>>2]|0)|0;Xw(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Lz(c[Ba>>2]|0,c[R>>2]|0);uG(c[O>>2]|0,wa);Xw(c[Ba>>2]|0,22,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)Xw(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{YC(c[pa>>2]|0);vA(c[Ba>>2]|0,c[W>>2]|0)|0}Xw(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Kz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=Hz(c[Ba>>2]|0)|0;Xw(c[Ba>>2]|0,22,1,c[aa>>2]|0)|0;Dz(c[Ba>>2]|0,15,c[ta>>2]|0)|0;Mz(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=Hz(c[Ba>>2]|0)|0;Xw(c[Ba>>2]|0,138,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Dz(c[Ba>>2]|0,15,c[ta>>2]|0)|0;vG(c[O>>2]|0,wa);RA(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);oG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Dz(c[Ba>>2]|0,15,c[ta>>2]|0)|0;Mz(c[Ba>>2]|0,c[U>>2]|0);wG(c[O>>2]|0,wa);Dz(c[Ba>>2]|0,15,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=xG(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Fh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+72|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];hx(c[O>>2]|0,c[D>>2]|0);Ez(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Hj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=Vz(c[O>>2]|0,c[F>>2]|0)|0}Gh(c[Ba>>2]|0,54,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Kh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);Xw(c[Ba>>2]|0,50,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Dz(c[Ba>>2]|0,61,c[C>>2]|0)|0;yG(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=zG(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=By(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);wG(c[O>>2]|0,wa);c[pa>>2]=XC(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){$u(c[Y>>2]|0,c[G>>2]|0);break}uG(c[O>>2]|0,wa);if((lG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Kz(Aa,nG(c[pa>>2]|0)|0)|0}YC(c[pa>>2]|0);vG(c[O>>2]|0,wa)}c[ya>>2]=0;RA(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);oG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);$u(c[Y>>2]|0,c[G>>2]|0)}Mz(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)rG(c[O>>2]|0,36127);if(c[ya>>2]|0){rG(c[O>>2]|0,(c[ya+4>>2]|0)>0?36145:36168);AG(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}Mz(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+68>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+468>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)BG(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&512){i=l;return}a=c[(c[c[d>>2]>>2]|0)+92+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Ch(c[d>>2]|0,36053,k);i=l;return}function Kv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?36008:36011;Ch(j,36017,v)}else w=4;if(((w|0)==4?(c[m>>2]=Tv(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Jw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}dv(c[t>>2]|0,c[r>>2]|0);ev(c[t>>2]|0,c[s>>2]|0);av(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Lv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Lw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Mv(l,0,Pv(c[y>>2]|0,158,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=rh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}bv(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Lw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Lw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Kw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){dv(c[j>>2]|0,c[h>>2]|0);$u(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Nv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Ow(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}if(!(c[(c[k>>2]|0)+4>>2]|0)){i=l;return}Pw(c[(c[k>>2]|0)+4>>2]|0)|0;i=l;return}function Ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Ow(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Pv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=iz(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Qv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Rv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Jw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Sv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{$u(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function Tv(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Lw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=$F(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){cv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Jw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Jw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Uv(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35852+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35873+(d[35852+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35852+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Ch(c[g>>2]|0,35953,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35907;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Ch(t,35909,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function Vv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+536>>2];c[(c[f>>2]|0)+536>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+540>>2]=c[g>>2];i=j;return}function Xv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;n=Y+144|0;O=Y+140|0;Q=Y+136|0;o=Y+132|0;M=Y+128|0;W=Y+120|0;r=Y+88|0;l=Y+84|0;S=Y+80|0;q=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;m=Y+52|0;p=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;j=Y+28|0;R=Y+24|0;E=Y+20|0;x=Y+16|0;s=Y+184|0;k=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;c[H>>2]=f;c[I>>2]=g;c[J>>2]=h;c[O>>2]=0;c[Q>>2]=0;c[S>>2]=-1;c[K>>2]=0;c[m>>2]=0;b[p>>1]=1;c[P>>2]=0;c[C>>2]=0;c[v>>2]=0;c[L>>2]=0;c[j>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[M>>2]=c[c[H>>2]>>2];a:do if(((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=JB(c[H>>2]|0,c[I>>2]|0)|0,(c[V>>2]|0)!=0):0){c[E>>2]=yC(c[H>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[E>>2]|0)f=1;else f=(KE(c[H>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[x>>2]=f&1;if(((Fx(c[H>>2]|0,c[V>>2]|0)|0)==0?(zC(c[H>>2]|0,c[V>>2]|0,(c[E>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Fh(c[M>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[t>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[q>>2]=Sw(c[H>>2]|0,9,c[c[V>>2]>>2]|0,0,c[t>>2]|0)|0,(c[q>>2]|0)!=1):0){h=(c[H>>2]|0)+72|0;t=c[h>>2]|0;c[h>>2]=t+1;c[(c[I>>2]|0)+8+44>>2]=t;c[n>>2]=t;c[o>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break;t=(c[H>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[R>>2]|0)WF(c[H>>2]|0,W,c[c[V>>2]>>2]|0);c[X>>2]=Vw(c[H>>2]|0)|0;if(c[X>>2]|0){if(!(d[(c[H>>2]|0)+18>>0]|0))AC(c[X>>2]|0);gx(c[H>>2]|0,1,c[l>>2]|0);if(c[R>>2]|0){XF(c[H>>2]|0,c[V>>2]|0,c[J>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[Q>>2]=t;c[O>>2]=t};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[H>>2];c[r+4>>2]=c[I>>2];if(!(ly(r,c[J>>2]|0)|0)){if(c[(c[M>>2]|0)+24>>2]&128){r=(c[H>>2]|0)+76|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[S>>2]=t;Xw(c[X>>2]|0,22,0,c[S>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[J>>2]|0)==0^1|(c[x>>2]|0)!=0)?(d[(c[V>>2]|0)+42>>0]&16|0)==0:0){Ez(c[H>>2]|0,c[l>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))_w(c[X>>2]|0,119,c[(c[V>>2]|0)+28>>2]|0,c[l>>2]|0,c[S>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break b;Xw(c[X>>2]|0,119,c[(c[T>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){b[s>>1]=12;b[s>>1]=e[s>>1]|((c[x>>2]|0)!=0?0:8192);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[U>>2]=0;b[p>>1]=1;t=(c[H>>2]|0)+76|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[C>>2]=u;Xw(c[X>>2]|0,25,0,c[C>>2]|0)|0}else{c[U>>2]=Hj(c[V>>2]|0)|0;b[p>>1]=b[(c[U>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;t=(c[H>>2]|0)+76|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[H>>2]|0)+72|0;u=c[t>>2]|0;c[t>>2]=u+1;c[P>>2]=u;c[j>>2]=Xw(c[X>>2]|0,57,c[P>>2]|0,b[p>>1]|0)|0;Gz(c[H>>2]|0,c[U>>2]|0)}c[G>>2]=XC(c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[G>>2]|0))break a;c[z>>2]=ZF(c[G>>2]|0,w)|0;if(c[(c[M>>2]|0)+24>>2]&128)Xw(c[X>>2]|0,37,c[S>>2]|0,1)|0;do if(c[U>>2]|0){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(b[p>>1]|0))break;zA(c[X>>2]|0,c[V>>2]|0,c[n>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[N>>2]|0)|0);c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[m>>2]}else{c[B>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;c[B>>2]=FA(c[H>>2]|0,c[V>>2]|0,-1,c[n>>2]|0,c[B>>2]|0,0)|0;if((c[B>>2]|0)<=(c[(c[H>>2]|0)+76>>2]|0))break;c[(c[H>>2]|0)+76>>2]=c[B>>2]}while(0);do if(!(c[z>>2]|0))if(c[U>>2]|0){r=(c[H>>2]|0)+76|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[B>>2]=q;b[D>>1]=0;q=c[X>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[B>>2]|0;u=iC(c[c[H>>2]>>2]|0,c[U>>2]|0)|0;_w(q,49,r,s,t,u,b[p>>1]|0)|0;Xw(c[X>>2]|0,110,c[P>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=1;Xw(c[X>>2]|0,129,c[C>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[K>>2]=Lw(c[M>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[K>>2]|0)){YC(c[G>>2]|0);break a}tR(c[K>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[K>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[w>>2]|0)>=0)a[(c[K>>2]|0)+((c[w>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[w+4>>2]|0)>=0)a[(c[K>>2]|0)+((c[w+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;vA(c[X>>2]|0,c[j>>2]|0)|0}while(0);if(c[z>>2]|0)c[v>>2]=Iz(c[X>>2]|0)|0;else YC(c[G>>2]|0);do if(!(c[R>>2]|0)){c[k>>2]=0;if((c[z>>2]|0)==2)c[k>>2]=_A(c[H>>2]|0)|0;lC(c[H>>2]|0,c[V>>2]|0,55,8,c[n>>2]|0,c[K>>2]|0,O,Q)|0;if((c[z>>2]|0)!=2)break;Lz(c[X>>2]|0,c[k>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){c[L>>2]=Dz(f,108,c[P>>2]|0)|0;Xw(c[X>>2]|0,101,c[P>>2]|0,c[B>>2]|0)|0;break}else{c[L>>2]=$w(f,130,c[C>>2]|0,0,c[B>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(d[(c[K>>2]|0)+((c[O>>2]|0)-(c[n>>2]|0))>>0]|0))break;Gh(c[X>>2]|0,68,c[O>>2]|0,c[v>>2]|0,c[B>>2]|0,b[D>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16){c[F>>2]=Gx(c[M>>2]|0,c[V>>2]|0)|0;KC(c[H>>2]|0,c[V>>2]|0);_w(c[X>>2]|0,12,0,1,c[B>>2]|0,c[F>>2]|0,-10)|0;Hh(c[X>>2]|0,2);Hx(c[H>>2]|0);if((c[z>>2]|0)!=1)break;if(c[(c[H>>2]|0)+416>>2]|0)break;a[(c[H>>2]|0)+20>>0]=0}else{c[y>>2]=(d[(c[H>>2]|0)+18>>0]|0)==0&1;c[A>>2]=-1;do if(!(c[x>>2]|0)){if((c[w+4>>2]|0)==(c[O>>2]|0))break;c[A>>2]=c[w+4>>2]}while(0);ME(c[H>>2]|0,c[V>>2]|0,c[E>>2]|0,c[O>>2]|0,c[Q>>2]|0,c[B>>2]|0,b[D>>1]|0,c[y>>2]&255,10,c[z>>2]&255,c[A>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){Xw(f,7,c[P>>2]|0,(c[L>>2]|0)+1|0)|0;Lz(c[X>>2]|0,c[L>>2]|0);break}else{Kz(f,c[L>>2]|0)|0;Lz(c[X>>2]|0,c[L>>2]|0);break}}else{Mz(c[X>>2]|0,c[v>>2]|0);YC(c[G>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(c[U>>2]|0))Dz(c[X>>2]|0,61,c[O>>2]|0)|0;c[N>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break c;Dz(c[X>>2]|0,61,(c[Q>>2]|0)+(c[N>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)OC(c[H>>2]|0);if(((c[(c[M>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){Xw(c[X>>2]|0,33,c[S>>2]|0,1)|0;UB(c[X>>2]|0,1);VB(c[X>>2]|0,0,0,35839,0)|0}}}}}while(0);_F(W);cv(c[M>>2]|0,c[I>>2]|0);dv(c[M>>2]|0,c[J>>2]|0);Tf(c[M>>2]|0,c[K>>2]|0);i=Y;return}function Yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+92+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Ch(d,35816,j);i=k;return} +function oH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+96|0;G=I+16|0;s=I+8|0;n=I;C=I+92|0;u=I+88|0;p=I+84|0;v=I+80|0;l=I+76|0;w=I+72|0;q=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=rh(c[C>>2]|0,544,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+480>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=pH(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];jg(G,H,40049,n);H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}pu(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+428>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+92+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(l,18,40079,s);c[F>>2]=Tg(c[C>>2]|0,18)|0;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Ow(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Wh(c[D>>2]|0,c[t>>2]|0,H)|0;c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+484>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Wh(c[D>>2]|0,c[u>>2]|0,H)|0;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)qH(c[D>>2]|0);if(a[(c[C>>2]|0)+69>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+484>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+453>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+453>>0]|0)==2){UB(l,4);c[y>>2]=8;c[z>>2]=12}else{UB(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;VB(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[6356+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+144+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];rH(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+484>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=41;break}Sg(c[(c[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];l=c[C>>2]|0;b=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(l,b,18999,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(l,b);while(1){if(!(c[(c[D>>2]|0)+532>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+532>>2];c[(c[D>>2]|0)+532>>2]=c[(c[E>>2]|0)+4>>2];Tf(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function pH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=sH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function qH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(qg(c[h>>2]|0)|0)){c[j>>2]=og(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)lh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}pg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){uj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Ej(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function rH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Ow(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+89|0;a[d>>0]=a[d>>0]&127|(c[k>>2]&1)<<7&255;i=l;return}function sH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function tH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=uH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function uH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){wH(c[f>>2]|0);break}c[k>>2]=vH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function vH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=xH(c[e>>2]|0)|0;if(!(c[f>>2]|0)){wH(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function wH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;wB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function xH(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;b=g;c[e>>2]=a;c[f>>2]=yH(c[e>>2]|0,(c[e>>2]|0)+40|0)|0;if(d[(c[e>>2]|0)+69>>0]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+40|0;c[b>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[b>>2]|0)){c[f>>2]=7;f=c[f>>2]|0;i=g;return f|0}c[f>>2]=zH(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0)|0;a=c[b>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=a;f=c[f>>2]|0;i=g;return f|0}else{Kd(a);f=c[f>>2]|0;i=g;return f|0}return 0}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;pF(c[e>>2]|0);e=(c[e>>2]|0)+16|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function zH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=oF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function AH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function BH(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function CH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function DH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){wA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Kh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Ow(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function EH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function FH(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function GH(e,f){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,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;m=r+24|0;n=r+20|0;q=r+16|0;l=r+12|0;o=r+8|0;k=r+4|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[j>>2]>>2];c[q>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if((c[(c[m>>2]|0)+4>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]|0)!=(c[(c[m>>2]|0)+8>>2]|0):0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[l>>2]=(Jf(c[(c[j>>2]|0)+4>>2]|0)|0)+1;c[n>>2]=rh(c[k>>2]|0,72+(c[l>>2]|0)|0,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[j>>2]|0)+16>>2]=c[n>>2];c[c[n>>2]>>2]=(c[n>>2]|0)+72;rR(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;b[(c[n>>2]|0)+36>>1]=1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[n>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;b[(c[n>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[n>>2]|0;Rw(e,f,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);Rw(c[k>>2]|0,c[n>>2]|0,0);f=c[k>>2]|0;e=c[n>>2]|0;Rw(f,e,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);c[o>>2]=uz(c[k>>2]|0,c[n>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+8>>2]|0,q)|0;if(c[o>>2]|0){o=c[h>>2]|0;c[p>>2]=c[q>>2];Ch(o,18999,p);Tf(c[k>>2]|0,c[q>>2]|0);HH(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}return 0}function HH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}YG(c[d>>2]|0,c[f>>2]|0);IH(c[d>>2]|0,c[f>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function IH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))JH(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function JH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function KH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Wg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function LH(){return 312}function MH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=b;c[h>>2]=e;rR(l|0,c[g>>2]|0,208)|0;rR(c[g>>2]|0,c[h>>2]|0,208)|0;rR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];e=(c[h>>2]|0)+89|0;a[e>>0]=a[e>>0]&127|((d[(c[g>>2]|0)+89>>0]|0)>>>7&1)<<7&255;i=f;return}function NH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function PH(f){f=f|0;var 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,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;uC(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){lh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((a[(c[s>>2]|0)+89>>0]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=161);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;z=c[s>>2]|0;YH(z,kh(c[(c[s>>2]|0)+80>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((a[(c[s>>2]|0)+89>>0]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=sM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Ax(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(zx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=tM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))fh(g,c[x>>2]|0,-1,1,0)|0;else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){if(!(zx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,43017,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((a[(c[s>>2]|0)+89>>0]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function QH(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1824|0;Je=vf+496|0;Ie=vf+488|0;He=vf+480|0;mf=vf+464|0;lf=vf+456|0;Ge=vf+448|0;Fe=vf+440|0;Ee=vf+432|0;De=vf+424|0;Ce=vf+416|0;Be=vf+400|0;kf=vf+392|0;Ae=vf+384|0;ze=vf+376|0;ye=vf+368|0;xe=vf+360|0;we=vf+352|0;jf=vf+336|0;hf=vf+328|0;gf=vf+320|0;ve=vf+312|0;pf=vf+1612|0;df=vf+1608|0;tf=vf+1604|0;uf=vf+1600|0;qf=vf+1596|0;ff=vf+1819|0;G=vf+1818|0;ea=vf+1592|0;sf=vf+1588|0;bb=vf+1584|0;l=vf+1580|0;Mc=vf+1576|0;Nc=vf+1572|0;Oc=vf+1568|0;gd=vf+1564|0;n=vf+1560|0;rf=vf+304|0;g=vf+1556|0;bc=vf+1552|0;Ed=vf+1548|0;of=vf+1544|0;nf=vf+1540|0;Ec=vf+1536|0;ef=vf+1532|0;A=vf+1528|0;hb=vf+1626|0;td=vf+1524|0;Fa=vf+1520|0;nb=vf+1516|0;rb=vf+1512|0;Ga=vf+1508|0;Uc=vf+1504|0;R=vf+1500|0;Oa=vf+296|0;w=vf+1817|0;K=vf+1624|0;ne=vf+1622|0;oe=vf+1620|0;aa=vf+288|0;ca=vf+280|0;Md=vf+272|0;Nd=vf+264|0;Ha=vf+1496|0;kc=vf+1492|0;W=vf+1488|0;lc=vf+1484|0;ba=vf+256|0;pe=vf+248|0;da=vf+240|0;lb=vf+1816|0;Od=vf+1480|0;r=vf+1815|0;L=vf+1618|0;O=vf+1616|0;Ka=vf+1476|0;X=vf+1472|0;pb=vf+1468|0;sb=vf+1464|0;Qc=vf+1460|0;va=vf+1456|0;cc=vf+1452|0;x=vf+1448|0;re=vf+1444|0;se=vf+1440|0;y=vf+1436|0;Dd=vf+232|0;tb=vf+1432|0;Ab=vf+1428|0;dc=vf+1424|0;m=vf+1420|0;Da=vf+1416|0;T=vf+1412|0;Bc=vf+1408|0;fe=vf+192|0;Re=vf+1404|0;Ve=vf+1400|0;Te=vf+1396|0;jb=vf+1392|0;kb=vf+184|0;v=vf+1388|0;je=vf+1384|0;ld=vf+1380|0;Pe=vf+1376|0;z=vf+1814|0;Ze=vf+1372|0;kd=vf+1368|0;Sa=vf+176|0;Ya=vf+1364|0;Pa=vf+168|0;eb=vf+160|0;db=vf+1360|0;ie=vf+1356|0;xc=vf+1352|0;Tc=vf+1348|0;Va=vf+1344|0;Qe=vf+1340|0;J=vf+1336|0;V=vf+1332|0;Ca=vf+1328|0;Ea=vf+1324|0;Ta=vf+152|0;ec=vf+1320|0;ob=vf+1316|0;Ye=vf+1312|0;ab=vf+1308|0;fd=vf+1304|0;nd=vf+1300|0;pd=vf+1296|0;ta=vf+1292|0;wa=vf+1288|0;Aa=vf+1284|0;za=vf+1280|0;D=vf+1276|0;sa=vf+1272|0;wb=vf+1268|0;oa=vf+1264|0;ka=vf+1260|0;pa=vf+1256|0;ga=vf+1252|0;fa=vf+1248|0;yc=vf+1244|0;Wa=vf+1240|0;Rc=vf+1236|0;ub=vf+1232|0;ha=vf+1228|0;Le=vf+1224|0;Bd=vf+1220|0;oc=vf+1216|0;zc=vf+1212|0;tc=vf+1208|0;Sc=vf+1204|0;Fd=vf+1200|0;uc=vf+1196|0;Bb=vf+1192|0;vc=vf+1188|0;Td=vf+1184|0;ib=vf+1180|0;Cb=vf+1176|0;Id=vf+1160|0;Xa=vf+1152|0;la=vf+144|0;H=vf+1148|0;s=vf+1144|0;me=vf+1140|0;xa=vf+1136|0;Db=vf+1132|0;Ud=vf+1128|0;Jc=vf+1124|0;Kc=vf+1120|0;Jd=vf+1104|0;q=vf+1631|0;Eb=vf+1100|0;fc=vf+1096|0;Vd=vf+1092|0;ma=vf+136|0;qe=vf+128|0;Fb=vf+1088|0;Wd=vf+1084|0;B=vf+1080|0;Vc=vf+1076|0;Fc=vf+1072|0;wc=vf+1068|0;Pc=vf+1064|0;na=vf+120|0;Gb=vf+1060|0;fb=vf+1056|0;he=vf+1052|0;Se=vf+1048|0;bf=vf+1044|0;mb=vf+1040|0;Hb=vf+1036|0;Q=vf+1630|0;Ib=vf+1032|0;Xd=vf+1028|0;_a=vf+1024|0;Jb=vf+1020|0;Kb=vf+1016|0;gc=vf+1012|0;Ia=vf+1008|0;Ja=vf+112|0;Lb=vf+1004|0;te=vf+104|0;ud=vf+1e3|0;_c=vf+996|0;Mb=vf+992|0;Nb=vf+988|0;hc=vf+984|0;Yd=vf+980|0;Pb=vf+976|0;ic=vf+972|0;Zd=vf+968|0;Qb=vf+964|0;_d=vf+960|0;Sb=vf+956|0;Za=vf+952|0;We=vf+948|0;Vb=vf+944|0;jc=vf+940|0;$d=vf+936|0;Kd=vf+920|0;_b=vf+916|0;od=vf+912|0;ce=vf+96|0;$b=vf+908|0;be=vf+904|0;Ld=vf+888|0;qa=vf+884|0;ia=vf+880|0;Ra=vf+876|0;ac=vf+872|0;Gd=vf+868|0;P=vf+864|0;Ac=vf+860|0;ja=vf+856|0;Xe=vf+852|0;_e=vf+848|0;ya=vf+832|0;cb=vf+824|0;p=vf+820|0;Ua=vf+816|0;Me=vf+812|0;Hd=vf+808|0;ue=vf+88|0;ua=vf+804|0;I=vf+800|0;$a=vf+796|0;Qa=vf+792|0;md=vf+788|0;Wc=vf+784|0;Dc=vf+780|0;Gc=vf+776|0;id=vf+772|0;ke=vf+768|0;Hc=vf+764|0;Lc=vf+760|0;Ic=vf+756|0;La=vf+752|0;mc=vf+748|0;Y=vf+744|0;nc=vf+740|0;Xc=vf+736|0;le=vf+48|0;Yc=vf+732|0;_=vf+728|0;o=vf+716|0;Zc=vf+712|0;yb=vf+708|0;hd=vf+704|0;E=vf+700|0;F=vf+696|0;Ue=vf+692|0;zb=vf+688|0;Ba=vf+1629|0;qb=vf+684|0;Ne=vf+680|0;sd=vf+676|0;ge=vf+8|0;af=vf+672|0;pc=vf+668|0;qd=vf+664|0;vd=vf+660|0;$c=vf+656|0;Ma=vf+652|0;ra=vf+648|0;ad=vf+644|0;jd=vf+640|0;vb=vf+636|0;rd=vf+632|0;wd=vf+628|0;qc=vf+624|0;Pd=vf+620|0;S=vf+616|0;t=vf+612|0;xd=vf+608|0;bd=vf+604|0;Cc=vf+600|0;ee=vf+568|0;rc=vf+564|0;yd=vf+560|0;cd=vf+556|0;Qd=vf+552|0;sc=vf+548|0;zd=vf+544|0;ed=vf+540|0;Ad=vf+536|0;dd=vf+532|0;Na=vf+528|0;U=vf+524|0;de=vf;u=vf+520|0;Cd=vf+516|0;Ke=vf+1628|0;gb=vf+512|0;xb=vf+508|0;cf=vf+504|0;Oe=vf+500|0;c[pf>>2]=f;c[df>>2]=c[(c[pf>>2]|0)+4>>2];c[tf>>2]=c[df>>2];c[uf>>2]=0;c[qf>>2]=c[c[pf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[qf>>2]|0)+66>>0]|0;c[ea>>2]=0;c[sf>>2]=0;c[bb>>2]=0;c[l>>2]=c[(c[pf>>2]|0)+8>>2];c[Mc>>2]=0;c[Nc>>2]=0;c[Oc>>2]=0;c[gd>>2]=0;c[n>>2]=0;wf=(c[qf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=rf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;VH(c[pf>>2]|0);a:do if((c[(c[pf>>2]|0)+80>>2]|0)==7)k=883;else{c[(c[pf>>2]|0)+80>>2]=0;wf=(c[pf>>2]|0)+136|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[pf>>2]|0)+20>>2]=0;c[(c[qf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[qf>>2]|0)+248>>2]|0)){if(c[(c[qf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[pf>>2]|0)+108+16>>2];c[bb>>2]=(c[(c[qf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[qf>>2]|0)+312>>2]|0)>>>0)|0)}c[tf>>2]=(c[df>>2]|0)+((c[(c[pf>>2]|0)+76>>2]|0)*20|0);c:while(1){c[sf>>2]=(c[sf>>2]|0)+1;d:do switch(d[c[tf>>2]>>0]|0){case 33:{k=70;break c}case 1:{k=391;break c}case 13:{k=7;break}case 14:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;wf=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;k=c[Mc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 15:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[tf>>2]=(c[df>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 16:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[tf>>2]|0)+12>>2]|0)-1|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=4;if(c[(c[tf>>2]|0)+8>>2]|0)k=14;break}case 17:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[bc>>2]=(c[df>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);c[tf>>2]=(c[df>>2]|0)+(((c[(c[bc>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 18:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;c[Ed>>2]=c[c[Mc>>2]>>2];j=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;wf=c[Mc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[tf>>2]=(c[df>>2]|0)+((c[Ed>>2]|0)*20|0);break}case 20:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)k=20;break}case 21:{k=20;break}case 22:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;j=c[(c[tf>>2]|0)+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 23:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;f=c[(c[tf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 133:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=8;h[c[gd>>2]>>3]=+h[c[(c[tf>>2]|0)+16>>2]>>3];break}case 97:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;a[c[tf>>2]>>0]=24;wf=Jf(c[(c[tf>>2]|0)+16>>2]|0)|0;c[(c[tf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=fh(c[gd>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,-1,1,0)|0;if(c[uf>>2]|0){k=882;break c}if(du(c[gd>>2]|0,d[G>>0]|0)|0){k=883;break a}c[(c[gd>>2]|0)+24>>2]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[tf>>2]|0)+1>>0]|0)==-1)Tf(c[qf>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);a[(c[tf>>2]|0)+1>>0]=-1;c[(c[tf>>2]|0)+16>>2]=c[(c[gd>>2]|0)+16>>2];c[(c[tf>>2]|0)+4>>2]=c[(c[gd>>2]|0)+12>>2]}if((c[(c[tf>>2]|0)+4>>2]|0)>(c[(c[qf>>2]|0)+92>>2]|0)){k=882;break c}else k=49;break}case 24:{k=49;break}case 25:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[A>>2]=(c[(c[tf>>2]|0)+12>>2]|0)-(c[(c[tf>>2]|0)+8>>2]|0);wf=((c[(c[tf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[hb>>1]=wf;b[(c[gd>>2]|0)+8>>1]=wf;while(1){if((c[A>>2]|0)<=0)break d;c[gd>>2]=(c[gd>>2]|0)+40;hh(c[gd>>2]|0);b[(c[gd>>2]|0)+8>>1]=b[hb>>1]|0;c[A>>2]=(c[A>>2]|0)+-1}}case 26:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=(e[(c[gd>>2]|0)+8>>1]|1)&-129;break}case 27:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;fh(c[gd>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,0,0)|0;a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 28:{c[td>>2]=(c[(c[pf>>2]|0)+60>>2]|0)+(((c[(c[tf>>2]|0)+4>>2]|0)-1|0)*40|0);if($H(c[td>>2]|0)|0){k=882;break c}c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;IF(c[gd>>2]|0,c[td>>2]|0,2048);break}case 29:{c[Fa>>2]=c[(c[tf>>2]|0)+12>>2];c[nb>>2]=c[(c[tf>>2]|0)+4>>2];c[rb>>2]=c[(c[tf>>2]|0)+8>>2];c[Mc>>2]=(c[l>>2]|0)+((c[nb>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);do{KH(c[gd>>2]|0,c[Mc>>2]|0);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=883;break a}c[Mc>>2]=(c[Mc>>2]|0)+40;c[gd>>2]=(c[gd>>2]|0)+40;wf=(c[Fa>>2]|0)+-1|0;c[Fa>>2]=wf}while((wf|0)!=0);break}case 30:{c[Ga>>2]=c[(c[tf>>2]|0)+12>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);while(1){IF(c[gd>>2]|0,c[Mc>>2]|0,4096);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=883;break a}wf=c[Ga>>2]|0;c[Ga>>2]=wf+-1;if(!wf)break d;c[gd>>2]=(c[gd>>2]|0)+40;c[Mc>>2]=(c[Mc>>2]|0)+40}}case 31:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);IF(c[gd>>2]|0,c[Mc>>2]|0,4096);break}case 32:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);wf=c[Mc>>2]|0;gh(c[gd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 94:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}if((e[(c[Mc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Mc>>2]|0)|0)!=0:0){k=883;break a}if((e[(c[Nc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Nc>>2]|0)|0)!=0:0){k=883;break a}if((e[(c[Mc>>2]|0)+8>>1]&18|0)==0?(yx(c[Mc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=883;break a}if((e[(c[Nc>>2]|0)+8>>1]&18|0)==0?(yx(c[Nc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=883;break a}g=(c[(c[Mc>>2]|0)+12>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0;j=Oa;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Oa;g=c[j+4>>2]|0;wf=c[(c[qf>>2]|0)+92>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=882;break c}if(Ax(c[gd>>2]|0,(c[Oa>>2]|0)+2|0,(c[gd>>2]|0)==(c[Nc>>2]|0)&1)|0){k=883;break a}b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|2;if((c[gd>>2]|0)!=(c[Nc>>2]|0))rR(c[(c[gd>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+12>>2]|0)|0;rR((c[(c[gd>>2]|0)+16>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0,c[(c[Mc>>2]|0)+16>>2]|0,c[(c[Mc>>2]|0)+12>>2]|0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+(c[Oa>>2]|0)>>0]=0;wf=Oa;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[gd>>2]|0)+12>>2]=c[Oa>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[ne>>1]=dI(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);b[oe>>1]=dI(c[Nc>>2]|0)|0;c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[ne>>1]&e[oe>>1]&4){wf=c[Mc>>2]|0;j=c[wf+4>>2]|0;f=aa;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Nc>>2]|0;j=c[f+4>>2]|0;wf=ca;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[tf>>2]>>0]|0){case 89:{wf=aa;if(eI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 90:{wf=aa;if(fI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 91:{wf=aa;if(gI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 92:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=aa;wf=ca;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=aa;f=ca;wf=ca;c[wf>>2]=yR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=aa;f=ca;wf=ca;c[wf>>2]=zR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ca;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Md>>3]=+_g(c[Mc>>2]|0);h[Nd>>3]=+_g(c[Nc>>2]|0);switch(d[c[tf>>2]>>0]|0){case 89:{h[Nd>>3]=+h[Nd>>3]+ +h[Md>>3];break}case 90:{h[Nd>>3]=+h[Nd>>3]-+h[Md>>3];break}case 91:{h[Nd>>3]=+h[Nd>>3]*+h[Md>>3];break}case 92:{if(+h[Md>>3]==0.0)break e;h[Nd>>3]=+h[Nd>>3]/+h[Md>>3];break}default:{xf=+h[Md>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=aa;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Nd>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ca;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=ca;wf=aa;h[Nd>>3]=+((zR(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(OF(+h[Nd>>3])|0)){h[c[gd>>2]>>3]=+h[Nd>>3];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[ne>>1]|e[oe>>1])&8|0)!=0)break d;vx(c[gd>>2]|0);break d}}while(0);hh(c[gd>>2]|0);break}case 34:{if(c[(c[tf>>2]|0)+4>>2]|0)gh((c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 35:{c[Ha>>2]=d[(c[tf>>2]|0)+3>>0];c[kc>>2]=Lw(c[qf>>2]|0,32+((c[Ha>>2]|0)-1<<2)|0,0)|0;if(!(c[kc>>2]|0)){k=883;break a}c[c[kc>>2]>>2]=0;c[(c[kc>>2]|0)+4>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[kc>>2]|0)+16>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[kc>>2]|0)+12>>2]=c[pf>>2];a[(c[kc>>2]|0)+26>>0]=c[Ha>>2];a[(c[tf>>2]|0)+1>>0]=-20;c[(c[tf>>2]|0)+16>>2]=c[kc>>2];a[c[tf>>2]>>0]=36;k=130;break}case 36:{k=130;break}case 88:case 87:case 86:case 85:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}wf=$g(c[Nc>>2]|0)|0;j=ba;c[j>>2]=wf;c[j+4>>2]=C;j=$g(c[Mc>>2]|0)|0;wf=da;c[wf>>2]=j;c[wf+4>>2]=C;a[lb>>0]=a[c[tf>>2]>>0]|0;do if((d[lb>>0]|0)!=85){f=da;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[lb>>0]|0)==86){yf=ba;j=c[yf+4>>2]|f;wf=ba;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[da+4>>2]|0)<0){a[lb>>0]=175-(d[lb>>0]|0);wf=da;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=da;j=oR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=da;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=da;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=ba;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[lb>>0]|0)==87;wf=g?0:-1;yf=ba;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[pe>>2]=c[ba>>2];c[pe+4>>2]=c[ba+4>>2];g=c[da>>2]|0;j=pe;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[lb>>0]|0)!=87){wf=qR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ba+4>>2]|0)<0){j=da;j=oR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=uR(-1,-1,j|0)|0;f=pe;wf=c[f+4>>2]|C;yf=pe;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=uR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C};c[ba>>2]=c[pe>>2];c[ba+4>>2]=c[pe+4>>2]}}else{j=da;f=ba;wf=c[f+4>>2]&c[j+4>>2];yf=ba;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=ba;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break}case 37:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);Cx(c[Mc>>2]|0)|0;wf=c[(c[tf>>2]|0)+8>>2]|0;yf=c[Mc>>2]|0;j=yf;wf=pR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 38:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&4|0)==0?(xx(c[Mc>>2]|0,67,a[G>>0]|0),(e[(c[Mc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[tf>>2]|0)+8>>2]|0)){k=163;break c}else{k=14;break d}b[(c[Mc>>2]|0)+8>>1]=e[(c[Mc>>2]|0)+8>>1]&-49664|4;break}case 39:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&4)Dx(c[Mc>>2]|0)|0;break}case 40:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&16384)g=Xg(c[Mc>>2]|0)|0;else g=0;c[uf>>2]=g;qx(c[Mc>>2]|0,c[(c[tf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 83:case 80:case 81:case 82:case 78:case 79:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Mc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Oc>>2]|0)+8>>1]|0;g=d[(c[tf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[tf>>2]|0;if(!(d[(c[tf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Od>>2]=0;break}c[Od>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]&14|0)==2)zh(c[Mc>>2]|0,0);if((e[O>>1]&14|0)==2)zh(c[Oc>>2]|0,0)}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){yx(c[Mc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Mc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){yx(c[Oc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Oc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}if(e[L>>1]&16384){Xg(c[Mc>>2]|0)|0;b[L>>1]=e[L>>1]&-16385}if(e[O>>1]&16384){Xg(c[Oc>>2]|0)|0;b[O>>1]=e[O>>1]&-16385}c[Od>>2]=iI(c[Oc>>2]|0,c[Mc>>2]|0,c[(c[tf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[tf>>2]>>0]|0){case 79:{c[Od>>2]=(c[Od>>2]|0)==0&1;break}case 78:{c[Od>>2]=(c[Od>>2]|0)!=0&1;break}case 82:{c[Od>>2]=(c[Od>>2]|0)<0&1;break}case 81:{c[Od>>2]=(c[Od>>2]|0)<=0&1;break}case 80:{c[Od>>2]=(c[Od>>2]|0)>0&1;break}default:c[Od>>2]=(c[Od>>2]|0)>=0&1}b[(c[Mc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Oc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[tf>>2]|0)+3>>0]&32))if(c[Od>>2]|0){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;wf=c[Od>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break d}}case 41:{c[n>>2]=(c[(c[tf>>2]|0)+16>>2]|0)+4;break}case 42:{if(!(d[(c[tf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ka>>2]=c[(c[tf>>2]|0)+12>>2];c[Qc>>2]=c[(c[tf>>2]|0)+16>>2];c[pb>>2]=c[(c[tf>>2]|0)+4>>2];c[sb>>2]=c[(c[tf>>2]|0)+8>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ka>>2]|0))break;g=c[X>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[va>>2]=g;c[cc>>2]=c[(c[Qc>>2]|0)+20+(c[X>>2]<<2)>>2];c[x>>2]=d[(c[(c[Qc>>2]|0)+16>>2]|0)+(c[X>>2]|0)>>0];c[ea>>2]=iI((c[l>>2]|0)+(((c[pb>>2]|0)+(c[va>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[sb>>2]|0)+(c[va>>2]|0)|0)*40|0)|0,c[cc>>2]|0)|0;if(c[ea>>2]|0){k=215;break}c[X>>2]=(c[X>>2]|0)+1}if((k|0)==215?(k=0,(c[x>>2]|0)!=0):0)c[ea>>2]=0-(c[ea>>2]|0);c[n>>2]=0;break}case 43:{if((c[ea>>2]|0)<0){c[tf>>2]=(c[df>>2]|0)+(((c[(c[tf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[tf>>2]|0;if(!(c[ea>>2]|0)){c[tf>>2]=(c[df>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[tf>>2]=(c[df>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 71:case 72:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)c[re>>2]=2;else{yf=$g(c[Mc>>2]|0)|0;c[re>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Nc>>2]|0)+8>>1]&1)c[se>>2]=2;else{yf=$g(c[Nc>>2]|0)|0;c[se>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[re>>2]|0)*3|0)+(c[se>>2]|0)|0;if((d[c[tf>>2]>>0]|0)==72)c[re>>2]=d[40367+g>>0];else c[re>>2]=d[40376+g>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((c[re>>2]|0)==2){b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[re>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 96:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 44:{if(a[(c[(c[pf>>2]|0)+200>>2]|0)+(c[(c[tf>>2]|0)+4>>2]|0)>>0]|0)k=14;else a[(c[(c[pf>>2]|0)+200>>2]|0)+(c[(c[tf>>2]|0)+4>>2]|0)>>0]=1;break}case 46:case 45:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){c[y>>2]=+_g(c[Mc>>2]|0)!=0.0&1;if((d[c[tf>>2]>>0]|0)==46)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[tf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 76:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)k=14;break}case 77:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1))k=14;break}case 47:{c[Ab>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[tb>>2]=c[(c[tf>>2]|0)+8>>2];c[uf>>2]=jI(Ab,tb)|0;c[Bc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[Ab>>2]|0)+76>>2];c[dc>>2]=c[(c[Ab>>2]|0)+16>>2];if(c[uf>>2]|0)break a;g=c[Ab>>2]|0;if((c[(c[Ab>>2]|0)+56>>2]|0)!=(c[(c[pf>>2]|0)+72>>2]|0)){f=c[Ab>>2]|0;do if(a[g+2>>0]|0)if((d[f>>0]|0)==3){c[ld>>2]=(c[l>>2]|0)+((c[(c[Ab>>2]|0)+16>>2]|0)*40|0);yf=c[(c[ld>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[Ab>>2]|0)+64>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=yf;c[(c[Ab>>2]|0)+72>>2]=c[(c[ld>>2]|0)+16>>2];break}else{hh(c[Bc>>2]|0);break d}else{g=c[dc>>2]|0;if(!(d[f+4>>0]|0)){yH(g,Dd)|0;yf=kI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=c[Dd>>2]}else{lI(g,(c[Ab>>2]|0)+60|0)|0;yf=mI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf}g=c[(c[Ab>>2]|0)+60>>2]|0;if((c[(c[Ab>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[Ab>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[qf>>2]|0)+92>>2]|0)>>>0){k=882;break c}c[(c[Ab>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[Ab>>2]|0)+56>>2]=c[(c[pf>>2]|0)+72>>2];g=c[(c[Ab>>2]|0)+72>>2]|0;if((d[c[(c[Ab>>2]|0)+72>>2]>>0]|0)<128){c[jb>>2]=d[g>>0];g=1}else g=(AF(g,jb)|0)&255;c[(c[Ab>>2]|0)+68>>2]=g&255;b[(c[Ab>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[jb>>2];if((c[v>>2]|0)>>>0<(c[jb>>2]|0)>>>0){c[(c[Ab>>2]|0)+72>>2]=0;c[(c[Ab>>2]|0)+64>>2]=0;if((c[jb>>2]|0)>>>0>98307){k=268;break c}if((c[jb>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0){k=268;break c}else k=270}else k=270}else if((e[g+14>>1]|0)<=(c[tb>>2]|0))k=270;else c[je>>2]=c[(c[Ab>>2]|0)+80+(c[tb>>2]<<2)>>2];if((k|0)==270){k=0;if((c[(c[Ab>>2]|0)+68>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Ab>>2]|0)+72>>2]|0)){g=fe;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=nI(c[dc>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,fe)|0;if(c[uf>>2]|0)break a;c[Re>>2]=c[fe+16>>2]}else c[Re>>2]=c[(c[Ab>>2]|0)+72>>2];c[T>>2]=e[(c[Ab>>2]|0)+14>>1];yf=kb;c[yf>>2]=c[(c[m>>2]|0)+(c[T>>2]<<2)>>2];c[yf+4>>2]=0;c[Ve>>2]=(c[Re>>2]|0)+(c[(c[Ab>>2]|0)+68>>2]|0);c[Te>>2]=(c[Re>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Ve>>2]>>0]|0;c[je>>2]=yf;g=c[Ve>>2]|0;if(yf>>>0<128){c[Ve>>2]=g+1;wf=(oI(c[je>>2]&255)|0)&255;yf=kb;wf=pR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=kb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(AF(g,je)|0)&255;c[Ve>>2]=(c[Ve>>2]|0)+wf;wf=BF(c[je>>2]|0)|0;yf=kb;wf=pR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=kb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[je>>2]|0;yf=c[T>>2]|0;c[T>>2]=yf+1;c[(c[Ab>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[T>>2]<<2)>>2]=c[kb>>2];if((c[T>>2]|0)>(c[tb>>2]|0))break}while((c[Ve>>2]|0)>>>0<(c[Te>>2]|0)>>>0);b[(c[Ab>>2]|0)+14>>1]=c[T>>2];c[(c[Ab>>2]|0)+68>>2]=(c[Ve>>2]|0)-(c[Re>>2]|0);if((c[Ve>>2]|0)>>>0>=(c[Te>>2]|0)>>>0){if((c[Ve>>2]|0)>>>0>(c[Te>>2]|0)>>>0){k=285;break c}yf=kb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[Ab>>2]|0)+60>>2]|0)){k=285;break c}}yf=kb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0:0)){k=285;break c}if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(fe)}else c[je>>2]=0;if((e[(c[Ab>>2]|0)+14>>1]|0)<=(c[tb>>2]|0)){g=c[Bc>>2]|0;if((a[(c[tf>>2]|0)+1>>0]|0)==-8){IF(g,c[(c[tf>>2]|0)+16>>2]|0,2048);break d}else{hh(g);break d}}}if(e[(c[Bc>>2]|0)+8>>1]&9312)hh(c[Bc>>2]|0);a[(c[Bc>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[Ab>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[tb>>2]|0)+1<<2)>>2]|0)>>>0){c[Re>>2]=(c[(c[Ab>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0);if((c[je>>2]|0)>>>0<12){CF(c[Re>>2]|0,c[je>>2]|0,c[Bc>>2]|0)|0;break d}g=(((c[je>>2]|0)-12|0)>>>0)/2|0;c[Da>>2]=g;c[(c[Bc>>2]|0)+12>>2]=g;g=c[Bc>>2]|0;if((c[(c[Bc>>2]|0)+24>>2]|0)<((c[Da>>2]|0)+2|0)){b[g+8>>1]=1;if(Ax(c[Bc>>2]|0,(c[Da>>2]|0)+2|0,0)|0){k=883;break a}}else c[(c[Bc>>2]|0)+16>>2]=c[g+20>>2];rR(c[(c[Bc>>2]|0)+16>>2]|0,c[Re>>2]|0,c[Da>>2]|0)|0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+(c[Da>>2]|0)>>0]=0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+((c[Da>>2]|0)+1)>>0]=0;b[(c[Bc>>2]|0)+8>>1]=b[17026+((c[je>>2]&1)<<1)>>1]|0;break d}do if(d[(c[tf>>2]|0)+3>>0]&192){if((c[je>>2]|0)>>>0>=12?(c[je>>2]&1|0)==0:0)break;if(!(d[(c[tf>>2]|0)+3>>0]&128))k=309}else k=309;while(0);if((k|0)==309?(k=0,yf=BF(c[je>>2]|0)|0,c[Da>>2]=yf,(yf|0)!=0):0){c[uf>>2]=nI(c[dc>>2]|0,c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0,c[Da>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,c[Bc>>2]|0)|0;if(c[uf>>2]|0)break a;CF(c[(c[Bc>>2]|0)+16>>2]|0,c[je>>2]|0,c[Bc>>2]|0)|0;yf=(c[Bc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}CF(40385,c[je>>2]|0,c[Bc>>2]|0)|0;break}case 48:{c[Pe>>2]=c[(c[tf>>2]|0)+16>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Pe>>2]|0;c[Pe>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;xx(c[Mc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Mc>>2]=(c[Mc>>2]|0)+40}}case 49:{yf=Sa;c[yf>>2]=0;c[yf+4>>2]=0;c[Ya>>2]=0;yf=eb;c[yf>>2]=0;c[yf+4>>2]=0;c[Va>>2]=c[(c[tf>>2]|0)+4>>2];c[Qe>>2]=c[(c[tf>>2]|0)+16>>2];c[xc>>2]=(c[l>>2]|0)+((c[Va>>2]|0)*40|0);c[Va>>2]=c[(c[tf>>2]|0)+8>>2];c[Tc>>2]=(c[xc>>2]|0)+(((c[Va>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[pf>>2]|0)+88>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(c[Qe>>2]|0){c[kd>>2]=c[xc>>2];do{wf=c[kd>>2]|0;c[kd>>2]=wf+40;yf=c[Qe>>2]|0;c[Qe>>2]=yf+1;xx(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Qe>>2]>>0]|0)!=0)}c[kd>>2]=c[Tc>>2];do{yf=pI(c[kd>>2]|0,c[J>>2]|0,Ea)|0;c[ie>>2]=yf;c[(c[kd>>2]|0)+28>>2]=yf;do if(e[(c[kd>>2]|0)+8>>1]&16384){yf=Sa;g=c[kd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Xg(g)|0){k=883;break a}else break;else{wf=c[g>>2]|0;yf=eb;wf=pR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=eb;c[yf>>2]=wf;c[yf+4>>2]=C;c[Ea>>2]=(c[Ea>>2]|0)-(c[c[kd>>2]>>2]|0);break}}while(0);wf=Sa;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,c[Ea>>2]|0,0)|0;yf=Sa;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ie>>2]|0)>>>0<=127)g=1;else g=GF(c[ie>>2]|0,0)|0;c[Ya>>2]=(c[Ya>>2]|0)+g;yf=(c[kd>>2]|0)+-40|0;c[kd>>2]=yf}while(yf>>>0>=(c[xc>>2]|0)>>>0);g=c[Ya>>2]|0;if((c[Ya>>2]|0)>126){c[db>>2]=GF(g,((g|0)<0)<<31>>31)|0;c[Ya>>2]=(c[Ya>>2]|0)+(c[db>>2]|0);wf=c[db>>2]|0;yf=c[Ya>>2]|0;if((wf|0)<(GF(yf,((yf|0)<0)<<31>>31)|0))c[Ya>>2]=(c[Ya>>2]|0)+1}else c[Ya>>2]=g+1;f=c[Ya>>2]|0;wf=Sa;wf=pR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Pa;c[f>>2]=wf;c[f+4>>2]=C;f=Pa;wf=eb;wf=pR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[qf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=882;break c}if(zx(c[gd>>2]|0,c[Pa>>2]|0)|0){k=883;break a}c[Ze>>2]=c[(c[gd>>2]|0)+16>>2];if((c[Ya>>2]|0)>>>0<128){a[c[Ze>>2]>>0]=c[Ya>>2];g=1}else{g=c[Ya>>2]|0;g=qI(c[Ze>>2]|0,g,((g|0)<0)<<31>>31)|0}c[V>>2]=g&255;c[Ca>>2]=c[Ya>>2];c[kd>>2]=c[xc>>2];do{c[ie>>2]=c[(c[kd>>2]|0)+28>>2];if((c[ie>>2]|0)>>>0<128){a[(c[Ze>>2]|0)+(c[V>>2]|0)>>0]=c[ie>>2];g=1}else g=qI((c[Ze>>2]|0)+(c[V>>2]|0)|0,c[ie>>2]|0,0)|0;c[V>>2]=(c[V>>2]|0)+(g&255);yf=rI((c[Ze>>2]|0)+(c[Ca>>2]|0)|0,c[kd>>2]|0,c[ie>>2]|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+yf;yf=(c[kd>>2]|0)+40|0;c[kd>>2]=yf}while(yf>>>0<=(c[Tc>>2]|0)>>>0);c[(c[gd>>2]|0)+12>>2]=c[Pa>>2];b[(c[gd>>2]|0)+8>>1]=16;yf=eb;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[gd>>2]>>2]=c[eb>>2];yf=(c[gd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[gd>>2]|0)+10>>0]=1;break}case 50:{c[ec>>2]=c[(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ta;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=sI(c[ec>>2]|0,Ta)|0;if(c[uf>>2]|0)break a;c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;j=Ta;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[ob>>2]=c[(c[tf>>2]|0)+4>>2];c[Ye>>2]=c[(c[tf>>2]|0)+16>>2];do if(!(c[ob>>2]|0)){if((c[(c[qf>>2]|0)+160>>2]|0)>0){YH(c[pf>>2]|0,40393,xe);c[uf>>2]=5;break}c[ab>>2]=Jf(c[Ye>>2]|0)|0;c[uf>>2]=tI(c[qf>>2]|0,0,(c[(c[qf>>2]|0)+436>>2]|0)+(c[(c[qf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[fd>>2]=Lw(c[qf>>2]|0,32+(c[ab>>2]|0)+1|0,0)|0;if(c[fd>>2]|0){c[c[fd>>2]>>2]=(c[fd>>2]|0)+32;rR(c[c[fd>>2]>>2]|0,c[Ye>>2]|0,(c[ab>>2]|0)+1|0)|0;g=c[qf>>2]|0;if(a[(c[qf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[qf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[fd>>2]|0)+24>>2]=c[(c[qf>>2]|0)+424>>2];c[(c[qf>>2]|0)+424>>2]=c[fd>>2];yf=(c[qf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[fd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[qf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[fd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[ta>>2]=0;c[nd>>2]=c[(c[qf>>2]|0)+424>>2];while(1){if(!(c[nd>>2]|0))break;if(!(ig(c[c[nd>>2]>>2]|0,c[Ye>>2]|0)|0))break;c[ta>>2]=(c[ta>>2]|0)+1;c[nd>>2]=c[(c[nd>>2]|0)+24>>2]}if(!(c[nd>>2]|0)){yf=c[pf>>2]|0;c[ye>>2]=c[Ye>>2];YH(yf,40444,ye);c[uf>>2]=1;break}if((c[ob>>2]|0)==1?(c[(c[qf>>2]|0)+160>>2]|0)>0:0){YH(c[pf>>2]|0,40466,ze);c[uf>>2]=5;break}if(!(c[(c[nd>>2]|0)+24>>2]|0))g=(d[(c[qf>>2]|0)+75>>0]|0)!=0;else g=0;c[Aa>>2]=g&1;if(!((c[Aa>>2]|0)!=0&(c[ob>>2]|0)==1)){c[ta>>2]=(c[(c[qf>>2]|0)+432>>2]|0)-(c[ta>>2]|0)-1;g:do if((c[ob>>2]|0)==2){c[za>>2]=(c[(c[qf>>2]|0)+24>>2]&2|0)!=0&1;c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(c[(c[qf>>2]|0)+20>>2]|0))break g;c[uf>>2]=uI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[wa>>2]<<4)+4>>2]|0,516,(c[za>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[wa>>2]=(c[wa>>2]|0)+1}}else c[za>>2]=0;while(0);c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(c[(c[qf>>2]|0)+20>>2]|0))break;c[uf>>2]=vI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[wa>>2]<<4)+4>>2]|0,c[ob>>2]|0,c[ta>>2]|0)|0;if(c[uf>>2]|0)break a;c[wa>>2]=(c[wa>>2]|0)+1}if(c[za>>2]|0){Qh(c[qf>>2]|0);Bg(c[qf>>2]|0);c[(c[qf>>2]|0)+24>>2]=c[(c[qf>>2]|0)+24>>2]|2}}else{yf=aI(c[pf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=881;break c}a[(c[qf>>2]|0)+67>>0]=1;if((ZH(c[pf>>2]|0)|0)==5){k=368;break c}a[(c[qf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[pf>>2]|0)+80>>2]}while(1){if((c[(c[qf>>2]|0)+424>>2]|0)==(c[nd>>2]|0))break;c[pd>>2]=c[(c[qf>>2]|0)+424>>2];c[(c[qf>>2]|0)+424>>2]=c[(c[pd>>2]|0)+24>>2];Tf(c[qf>>2]|0,c[pd>>2]|0);yf=(c[qf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[nd>>2]|0;if((c[ob>>2]|0)==1){c[(c[qf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[qf>>2]|0,c[nd>>2]|0);if(!(c[Aa>>2]|0)){yf=(c[qf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[nd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[Aa>>2]|0)==0|(c[ob>>2]|0)==2){c[uf>>2]=tI(c[qf>>2]|0,c[ob>>2]|0,c[ta>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[tf>>2]|0)+8>>2]|0)!=0?(c[(c[qf>>2]|0)+24>>2]&33554432|0)!=0:0){k=409;break c}c[wb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];if(c[wb>>2]|0){c[uf>>2]=og(c[wb>>2]|0,c[(c[tf>>2]|0)+8>>2]|0)|0;if((c[uf>>2]&255|0)==5){k=412;break c}if(c[uf>>2]|0)break a;do if((c[(c[tf>>2]|0)+8>>2]|0)!=0?((d[(c[pf>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){if((d[(c[qf>>2]|0)+67>>0]|0)!=0?(c[(c[qf>>2]|0)+156>>2]|0)<=1:0)break;if(!(c[(c[pf>>2]|0)+104>>2]|0)){yf=(c[qf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[pf>>2]|0)+104>>2]=(c[(c[qf>>2]|0)+432>>2]|0)+(c[(c[qf>>2]|0)+436>>2]|0)}c[uf>>2]=tI(c[qf>>2]|0,0,(c[(c[pf>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=yI(c[wb>>2]|0,c[(c[pf>>2]|0)+104>>2]|0)|0;yf=(c[qf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[pf>>2]|0)+152|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[qf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[pf>>2]|0)+160|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);pg(c[wb>>2]|0,1,oa);c[ka>>2]=c[(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[oa>>2]=0;c[ka>>2]=0}do if(d[(c[tf>>2]|0)+3>>0]|0){if((c[oa>>2]|0)==(c[(c[tf>>2]|0)+12>>2]|0)?(c[ka>>2]|0)==(c[(c[tf>>2]|0)+16>>2]|0):0)break;Tf(c[qf>>2]|0,c[(c[pf>>2]|0)+44>>2]|0);yf=ph(c[qf>>2]|0,40707)|0;c[(c[pf>>2]|0)+44>>2]=yf;if((c[c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[oa>>2]|0))uj(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0);yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 51:{c[ga>>2]=c[(c[tf>>2]|0)+4>>2];c[fa>>2]=c[(c[tf>>2]|0)+12>>2];pg(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4)+4>>2]|0,c[fa>>2]|0,pa);c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;wf=c[pa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 52:{c[yc>>2]=(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4);c[uf>>2]=Ag(c[(c[yc>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,c[(c[tf>>2]|0)+12>>2]|0)|0;g=c[tf>>2]|0;if((c[(c[tf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[yc>>2]|0)+12>>2]|0)+76>>0]=c[(c[tf>>2]|0)+12>>2]}else{c[c[(c[yc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[qf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[tf>>2]|0)+4>>2]|0)==1){Qh(c[qf>>2]|0);yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2}if(c[uf>>2]|0)break a;break}case 53:{c[oc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if((c[oc>>2]|0)!=0?(c[(c[oc>>2]|0)+8>>2]|0)==(c[(c[tf>>2]|0)+8>>2]|0):0)k=456;else k=442;break}case 55:case 54:{k=442;break}case 57:case 56:{c[tc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[tc>>2]|0)){k=883;break a}a[(c[tc>>2]|0)+2>>0]=1;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=$j(c[c[qf>>2]>>2]|0,0,c[qf>>2]|0,(c[tc>>2]|0)+20|0,5|d[(c[tf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=og(c[(c[tc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[tf>>2]|0)+16>>2]|0;c[Sc>>2]=yf;g=c[(c[tc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=AI(g,1,4,0,c[(c[tc>>2]|0)+16>>2]|0)|0;a[(c[tc>>2]|0)+4>>0]=1;break}c[uf>>2]=CI(g,Fd,2|d[(c[tf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[tc>>2]|0)+24>>2]=c[Sc>>2];c[uf>>2]=AI(c[(c[tc>>2]|0)+20>>2]|0,c[Fd>>2]|0,4,c[Sc>>2]|0,c[(c[tc>>2]|0)+16>>2]|0)|0}a[(c[tc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[tf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 58:{c[uc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[uc>>2]|0)){k=883;break a}c[(c[uc>>2]|0)+24>>2]=c[(c[tf>>2]|0)+16>>2];c[uf>>2]=DI(c[qf>>2]|0,c[(c[tf>>2]|0)+12>>2]|0,c[uc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 59:{c[Bb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];j=(c[Bb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=pR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 60:{c[vc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[vc>>2]|0)){k=883;break a}a[(c[vc>>2]|0)+2>>0]=1;c[(c[vc>>2]|0)+16>>2]=c[(c[tf>>2]|0)+8>>2];a[(c[vc>>2]|0)+4>>0]=1;break}case 61:{EI(c[pf>>2]|0,c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]=0;break}case 66:case 65:case 64:case 63:{c[Cb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[ib>>2]=d[c[tf>>2]>>0];c[H>>2]=0;a[(c[Cb>>2]|0)+2>>0]=0;if(a[(c[Cb>>2]|0)+4>>0]|0){c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&14|0)==2)zh(c[Oc>>2]|0,0);wf=$g(c[Oc>>2]|0)|0;yf=la;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Oc>>2]|0)+8>>1]&4)){if(!(e[(c[Oc>>2]|0)+8>>1]&8)){k=14;break d}yf=la;if(+h[c[Oc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[ib>>2]&1)break;c[ib>>2]=(c[ib>>2]|0)+-1;break}yf=la;if(+h[c[Oc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[ib>>2]&1|0)==1:0)c[ib>>2]=(c[ib>>2]|0)+1}while(0);j=la;c[uf>>2]=lF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Td)|0;j=la;wf=c[j+4>>2]|0;yf=(c[Cb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=493}else{if(FI(c[(c[Cb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Xa>>2]=c[(c[tf>>2]|0)+16>>2];c[Id>>2]=c[(c[Cb>>2]|0)+24>>2];b[Id+8>>1]=c[Xa>>2];a[Id+10>>0]=(1&(c[ib>>2]|0)-63|0)!=0?-1:1;c[Id+4>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Id+4>>2]|0)+8>>1]&16384)Xg(c[Id+4>>2]|0)|0;a[Id+14>>0]=0;c[uf>>2]=lF(c[(c[Cb>>2]|0)+16>>2]|0,Id,0,0,0,Td)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Id+14>>0]|0)==0:0))k=493}do if((k|0)==493){k=0;a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;g=c[Td>>2]|0;if((c[ib>>2]|0)>=65){if((g|0)>=0?!((c[Td>>2]|0)==0&(c[ib>>2]|0)==66):0){c[Td>>2]=0;break}c[Td>>2]=0;c[uf>>2]=_E(c[(c[Cb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Td>>2]|0)==0&(c[ib>>2]|0)==63):0){c[Td>>2]=GI(c[(c[Cb>>2]|0)+16>>2]|0)|0;break}c[Td>>2]=0;c[uf>>2]=$E(c[(c[Cb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Td>>2]|0)){if(c[H>>2]|0)c[tf>>2]=(c[tf>>2]|0)+20}else k=14;break}case 69:case 68:case 67:{c[Db>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=0;g=c[(c[Db>>2]|0)+24>>2]|0;if((c[(c[tf>>2]|0)+16>>2]|0)>0){c[Jd>>2]=g;b[Jd+8>>1]=c[(c[tf>>2]|0)+16>>2];c[Jd+4>>2]=c[Oc>>2];c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(e[Jd+8>>1]|0))break;if(e[(c[Jd+4>>2]|0)+((c[xa>>2]|0)*40|0)+8>>1]&16384)Xg((c[Jd+4>>2]|0)+((c[xa>>2]|0)*40|0)|0)|0;c[xa>>2]=(c[xa>>2]|0)+1}c[Kc>>2]=Jd}else{c[Kc>>2]=jF(g,q,183,Jc)|0;if(!(c[Kc>>2]|0)){k=883;break a}if(e[(c[Oc>>2]|0)+8>>1]&16384)Xg(c[Oc>>2]|0)|0;kF(c[(c[Db>>2]|0)+24>>2]|0,c[(c[Oc>>2]|0)+12>>2]|0,c[(c[Oc>>2]|0)+16>>2]|0,c[Kc>>2]|0)}a[(c[Kc>>2]|0)+10>>0]=0;c[me>>2]=0;h:do if((d[c[tf>>2]>>0]|0)==67){c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(e[(c[Kc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Kc>>2]|0)+4>>2]|0)+((c[xa>>2]|0)*40|0)+8>>1]&1)break;c[xa>>2]=(c[xa>>2]|0)+1}c[me>>2]=1}while(0);c[uf>>2]=lF(c[(c[Db>>2]|0)+16>>2]|0,c[Kc>>2]|0,0,0,0,Ud)|0;Tf(c[qf>>2]|0,c[Jc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Db>>2]|0)+28>>2]=c[Ud>>2];c[s>>2]=(c[Ud>>2]|0)==0&1;a[(c[Db>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if((d[c[tf>>2]>>0]|0)==69)if(c[s>>2]|0){k=14;break d}else break d;else if((c[me>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 70:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[Eb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[fc>>2]=c[(c[Eb>>2]|0)+16>>2];c[Vd>>2]=0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;j=ma;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=ma;c[uf>>2]=lF(c[fc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ma;wf=c[j+4>>2]|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Eb>>2]|0)+2>>0]=0;c[(c[Eb>>2]|0)+56>>2]=0;a[(c[Eb>>2]|0)+3>>0]=0;c[(c[Eb>>2]|0)+28>>2]=c[Vd>>2];if(c[Vd>>2]|0){if(c[(c[tf>>2]|0)+8>>2]|0){k=14;break d}c[uf>>2]=Oj(78535)|0}if(c[uf>>2]|0)break a;break}case 73:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;yf=(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=pR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[gd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 74:{yf=qe;c[yf>>2]=0;c[yf+4>>2]=0;c[Wd>>2]=0;c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Fb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=HI(c[(c[Fb>>2]|0)+16>>2]|0,Wd)|0;if(c[uf>>2]|0)break a;if(c[Wd>>2]|0){yf=qe;c[yf>>2]=1;c[yf+4>>2]=0;break}c[uf>>2]=yH(c[(c[Fb>>2]|0)+16>>2]|0,qe)|0;yf=qe;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Fb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=qe;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[tf>>2]|0)+12>>2]|0){if(c[(c[pf>>2]|0)+176>>2]|0){c[Fc>>2]=c[(c[pf>>2]|0)+176>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Vc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0)}else c[Vc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);Cx(c[Vc>>2]|0)|0;yf=c[Vc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=547;break c}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){k=547;break c}f=qe;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Vc>>2]|0;yf=pR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Vc>>2]|0;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C}j=qe;wf=c[j+4>>2]|0;yf=c[Vc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,qe);j=qe;yf=c[j+4>>2]&1073741823;wf=qe;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=qe;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;yf=lF(c[(c[Fb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Wd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Wd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Wd>>2]|0)){k=557;break c}}a[(c[Fb>>2]|0)+3>>0]=0;c[(c[Fb>>2]|0)+56>>2]=0;j=qe;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 84:case 75:{c[wc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];g=c[(c[tf>>2]|0)+12>>2]|0;if((d[c[tf>>2]>>0]|0)==75){c[Pc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Pc>>2]|0;wf=c[j+4>>2]|0;yf=na;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=na;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if(d[(c[tf>>2]|0)+3>>0]&1){yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[tf>>2]|0)+3>>0]&2){wf=na;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=rf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[qf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[wc>>2]|0)+8>>1]&1){c[(c[wc>>2]|0)+16>>2]=0;c[(c[wc>>2]|0)+12>>2]=0}if(d[(c[tf>>2]|0)+3>>0]&16)g=c[(c[Gb>>2]|0)+28>>2]|0;else g=0;c[he>>2]=g;if(e[(c[wc>>2]|0)+8>>1]&16384)c[fb>>2]=c[c[wc>>2]>>2];else c[fb>>2]=0;yf=na;c[uf>>2]=II(c[(c[Gb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,c[(c[wc>>2]|0)+16>>2]|0,c[(c[wc>>2]|0)+12>>2]|0,c[fb>>2]|0,(d[(c[tf>>2]|0)+3>>0]&8|0)!=0&1,c[he>>2]|0)|0;a[(c[Gb>>2]|0)+3>>0]=0;c[(c[Gb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[(c[qf>>2]|0)+216>>2]|0)!=0?(c[(c[tf>>2]|0)+16>>2]|0)!=0:0){c[Se>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(a[(c[Gb>>2]|0)+1>>0]<<4)>>2];c[bf>>2]=c[(c[tf>>2]|0)+16>>2];c[mb>>2]=(d[(c[tf>>2]|0)+3>>0]&4|0)!=0?23:18;yf=na;Xb[c[(c[qf>>2]|0)+216>>2]&255](c[(c[qf>>2]|0)+212>>2]|0,c[mb>>2]|0,c[Se>>2]|0,c[bf>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 95:{c[Hb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if((c[(c[qf>>2]|0)+216>>2]|0)!=0?(c[(c[tf>>2]|0)+16>>2]|0)!=0:0)g=(d[(c[Hb>>2]|0)+4>>0]|0)!=0;else g=0;a[Q>>0]=g&1;if((d[(c[tf>>2]|0)+3>>0]|0)!=0?(d[Q>>0]|0)!=0:0)yH(c[(c[Hb>>2]|0)+16>>2]|0,(c[Hb>>2]|0)+40|0)|0;c[uf>>2]=JI(c[(c[Hb>>2]|0)+16>>2]|0,a[(c[tf>>2]|0)+3>>0]|0)|0;c[(c[Hb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(a[Q>>0]|0){yf=(c[Hb>>2]|0)+40|0;Xb[c[(c[qf>>2]|0)+216>>2]&255](c[(c[qf>>2]|0)+212>>2]|0,9,c[(c[(c[qf>>2]|0)+16>>2]|0)+(a[(c[Hb>>2]|0)+1>>0]<<4)>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}if(c[(c[tf>>2]|0)+8>>2]&1){yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}break}case 98:{WH(c[qf>>2]|0,c[(c[pf>>2]|0)+92>>2]|0);c[(c[pf>>2]|0)+92>>2]=0;break}case 99:{c[Ib>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[_a>>2]=c[(c[tf>>2]|0)+16>>2];c[Xd>>2]=0;c[uf>>2]=KI(c[Ib>>2]|0,c[Oc>>2]|0,c[_a>>2]|0,Xd)|0;if(c[uf>>2]|0)break a;if(c[Xd>>2]|0)k=14;break}case 100:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[Jb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=LI(c[Jb>>2]|0,c[gd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 102:case 101:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[Kb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Kb>>2]|0)+16>>2];g=c[gc>>2]|0;if(d[(c[Kb>>2]|0)+4>>0]|0){lI(g,Ia)|0;if((c[Ia>>2]|0)>>>0>(c[(c[qf>>2]|0)+92>>2]|0)>>>0){k=882;break c}}else{yH(g,Ja)|0;wf=Ja;f=c[wf+4>>2]|0;yf=c[(c[qf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>yf>>>0:0)){k=882;break c}c[Ia>>2]=c[Ja>>2]}if(zx(c[gd>>2]|0,(c[Ia>>2]|0)>>>0>32?c[Ia>>2]|0:32)|0){k=883;break a}c[(c[gd>>2]|0)+12>>2]=c[Ia>>2];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|16;g=c[gc>>2]|0;f=c[Ia>>2]|0;j=c[(c[gd>>2]|0)+16>>2]|0;if(!(d[(c[Kb>>2]|0)+4>>0]|0))c[uf>>2]=zH(g,0,f,j)|0;else c[uf>>2]=Oh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[gd>>2]|0)+10>>0]=1;break}case 103:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Lb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}g=c[Lb>>2]|0;do if(!(a[(c[Lb>>2]|0)+3>>0]|0)){f=c[Lb>>2]|0;if((d[g>>0]|0)==2){c[ud>>2]=c[c[f+16>>2]>>2];c[_c>>2]=c[c[ud>>2]>>2];c[uf>>2]=Yb[c[(c[_c>>2]|0)+48>>2]&255](c[(c[Lb>>2]|0)+16>>2]|0,te)|0;MI(c[pf>>2]|0,c[ud>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=NI(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}else{c[uf>>2]=yH(c[(c[Lb>>2]|0)+16>>2]|0,te)|0;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=te;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=te;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 104:{c[Mb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];a[(c[Mb>>2]|0)+2>>0]=1;c[(c[Mb>>2]|0)+56>>2]=0;if(!(d[c[Mb>>2]>>0]|0))vB(c[(c[Mb>>2]|0)+16>>2]|0);break}case 105:{c[Nb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[hc>>2]=c[(c[Nb>>2]|0)+16>>2];c[Yd>>2]=0;c[uf>>2]=HI(c[hc>>2]|0,Yd)|0;a[(c[Nb>>2]|0)+2>>0]=c[Yd>>2];a[(c[Nb>>2]|0)+3>>0]=0;c[(c[Nb>>2]|0)+56>>2]=0;c[(c[Nb>>2]|0)+28>>2]=c[(c[tf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[Yd>>2]|0)!=0?(c[(c[tf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 107:case 106:{k=(c[pf>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=619;break}case 108:{k=619;break}case 3:{c[Qb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=0;c[uf>>2]=QI(c[qf>>2]|0,c[Qb>>2]|0,_d)|0;k=627;break}case 5:case 4:{if(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0)k=626;break}case 7:case 6:{k=626;break}case 110:case 109:{c[Sb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);if(d[(c[tf>>2]|0)+3>>0]&1){yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Nc>>2]|0)+8>>1]&16384)g=Xg(c[Nc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[tf>>2]>>0]|0)==109)c[uf>>2]=RI(c[Sb>>2]|0,c[Nc>>2]|0)|0;else{c[Za>>2]=c[(c[Nc>>2]|0)+12>>2];c[We>>2]=c[(c[Nc>>2]|0)+16>>2];g=c[Za>>2]|0;if(d[(c[tf>>2]|0)+3>>0]&16)f=c[(c[Sb>>2]|0)+28>>2]|0;else f=0;c[uf>>2]=II(c[(c[Sb>>2]|0)+16>>2]|0,c[We>>2]|0,g,((g|0)<0)<<31>>31,19010,0,0,c[(c[tf>>2]|0)+12>>2]|0,f)|0;c[(c[Sb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 111:{c[Vb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[jc>>2]=c[(c[Vb>>2]|0)+16>>2];c[Kd>>2]=c[(c[Vb>>2]|0)+24>>2];b[Kd+8>>1]=c[(c[tf>>2]|0)+12>>2];a[Kd+10>>0]=0;c[Kd+4>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=lF(c[jc>>2]|0,Kd,0,0,0,$d)|0;if(c[uf>>2]|0)break a;if((c[$d>>2]|0)==0?(c[uf>>2]=JI(c[jc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Vb>>2]|0)+56>>2]=0;break}case 113:case 112:{c[_b>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=NI(c[_b>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[_b>>2]|0)+2>>0]|0){hh((c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ce;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=SI(c[qf>>2]|0,c[(c[_b>>2]|0)+16>>2]|0,ce)|0;if(c[uf>>2]|0)break a;if((d[c[tf>>2]>>0]|0)==112){c[od>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+12>>2]<<2)>>2];a[(c[od>>2]|0)+2>>0]=0;j=ce;wf=c[j+4>>2]|0;yf=(c[od>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[od>>2]|0)+3>>0]=1;c[(c[od>>2]|0)+52>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[od>>2]|0)+48>>2]=c[_b>>2];break d}else{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;j=ce;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=4;break d}}case 117:case 116:case 115:case 114:{c[$b>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Ld>>2]=c[(c[$b>>2]|0)+24>>2];b[Ld+8>>1]=c[(c[tf>>2]|0)+16>>2];g=Ld+10|0;if((d[c[tf>>2]>>0]|0)<116)a[g>>0]=-1;else a[g>>0]=0;c[Ld+4>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[be>>2]=0;c[uf>>2]=TI(c[qf>>2]|0,c[$b>>2]|0,Ld,be)|0;g=c[be>>2]|0;if(!(d[c[tf>>2]>>0]&1))c[be>>2]=0-g;else c[be>>2]=g+1;if(c[uf>>2]|0)break a;if((c[be>>2]|0)>0)k=14;break}case 118:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=1;if((c[(c[qf>>2]|0)+156>>2]|0)>((c[(c[qf>>2]|0)+168>>2]|0)+1|0)){k=662;break c}c[ia>>2]=c[(c[tf>>2]|0)+12>>2];c[qa>>2]=0;c[uf>>2]=UI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)+4>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,qa)|0;b[(c[gd>>2]|0)+8>>1]=4;wf=c[qa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[qa>>2]|0){VI(c[qf>>2]|0,c[ia>>2]|0,c[qa>>2]|0,c[(c[tf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ia>>2]|0)+1}break}case 119:{c[Ra>>2]=0;c[uf>>2]=WI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,(c[(c[tf>>2]|0)+12>>2]|0)!=0?Ra:0)|0;if((c[(c[tf>>2]|0)+12>>2]|0)!=0?(yf=(c[pf>>2]|0)+92|0,c[yf>>2]=(c[yf>>2]|0)+(c[Ra>>2]|0),(c[(c[tf>>2]|0)+12>>2]|0)>0):0){wf=c[Ra>>2]|0;yf=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=pR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 120:{c[ac>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if((d[c[ac>>2]>>0]|0)!=1){c[uf>>2]=YI(c[(c[ac>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{XI(c[qf>>2]|0,c[(c[ac>>2]|0)+16>>2]|0);break d}}case 122:case 121:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Gd>>2]=0;c[Ac>>2]=(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4);if((d[c[tf>>2]>>0]|0)==122)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=CI(c[(c[Ac>>2]|0)+4>>2]|0,Gd,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Gd>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 123:{c[ja>>2]=c[(c[tf>>2]|0)+4>>2];c[Xe>>2]=(c[ja>>2]|0)==1?20513:20532;c[ya>>2]=c[qf>>2];c[ya+8>>2]=c[(c[tf>>2]|0)+4>>2];c[ya+4>>2]=(c[pf>>2]|0)+44;yf=c[qf>>2]|0;j=c[Xe>>2]|0;wf=c[(c[tf>>2]|0)+16>>2]|0;c[Be>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)>>2];c[Be+4>>2]=j;c[Be+8>>2]=wf;c[_e>>2]=Dh(yf,40735,Be)|0;if(!(c[_e>>2]|0))c[uf>>2]=7;else{a[(c[qf>>2]|0)+144+5>>0]=1;c[ya+12>>2]=0;c[uf>>2]=$e(c[qf>>2]|0,c[_e>>2]|0,140,ya,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[ya+12>>2];Tf(c[qf>>2]|0,c[_e>>2]|0);a[(c[qf>>2]|0)+144+5>>0]=0}if(c[uf>>2]|0){k=684;break c}break}case 124:{c[uf>>2]=Dj(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 125:{ZI(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);break}case 126:{_I(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);break}case 127:{$I(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);break}case 128:{c[cb>>2]=c[(c[tf>>2]|0)+8>>2];c[p>>2]=c[(c[tf>>2]|0)+16>>2];c[Hd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Me>>2]=aJ(c[(c[(c[qf>>2]|0)+16>>2]|0)+(d[(c[tf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[cb>>2]|0,c[c[Hd>>2]>>2]|0,Ua)|0;wf=c[Ua>>2]|0;yf=c[Hd>>2]|0;j=yf;wf=oR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;hh(c[Mc>>2]|0);if(c[Ua>>2]|0){if(!(c[Me>>2]|0)){k=883;break a}fh(c[Mc>>2]|0,c[Me>>2]|0,-1,1,148)|0}du(c[Mc>>2]|0,d[G>>0]|0)|0;break}case 129:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(bJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=883;break a}yf=c[Nc>>2]|0;cJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 130:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)!=0?(dJ(c[c[Mc>>2]>>2]|0,ue)|0)!=0:0){k=ue;gh((c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}hh(c[Mc>>2]|0);k=7;break}case 131:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[ua>>2]=c[(c[tf>>2]|0)+16>>2];if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(bJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=883;break a}if((c[ua>>2]|0)!=0?(yf=c[Oc>>2]|0,c[I>>2]=eJ(c[c[Mc>>2]>>2]|0,c[ua>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ua>>2]|0)>=0){yf=c[Oc>>2]|0;cJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 132:{c[id>>2]=c[(c[tf>>2]|0)+16>>2];c[md>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(a[(c[tf>>2]|0)+3>>0]|0){c[ke>>2]=c[(c[id>>2]|0)+20>>2];c[Gc>>2]=c[(c[pf>>2]|0)+176>>2];while(1){if(!(c[Gc>>2]|0))break;if((c[(c[Gc>>2]|0)+28>>2]|0)==(c[ke>>2]|0))break;c[Gc>>2]=c[(c[Gc>>2]|0)+4>>2]}if(c[Gc>>2]|0)break d}if((c[(c[pf>>2]|0)+184>>2]|0)>=(c[(c[qf>>2]|0)+92+40>>2]|0)){k=713;break c}i:do if(!(e[(c[md>>2]|0)+8>>1]&64)){c[$a>>2]=(c[(c[id>>2]|0)+8>>2]|0)+(c[(c[id>>2]|0)+12>>2]|0);if(!(c[(c[id>>2]|0)+12>>2]|0))c[$a>>2]=(c[$a>>2]|0)+1;c[Qa>>2]=80+((c[$a>>2]|0)*40|0)+(c[(c[id>>2]|0)+12>>2]<<2)+(c[(c[id>>2]|0)+16>>2]|0);yf=c[Qa>>2]|0;c[Gc>>2]=rh(c[qf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Gc>>2]|0)){k=883;break a}Wg(c[md>>2]|0);b[(c[md>>2]|0)+8>>1]=64;c[c[md>>2]>>2]=c[Gc>>2];c[c[Gc>>2]>>2]=c[pf>>2];c[(c[Gc>>2]|0)+64>>2]=c[$a>>2];c[(c[Gc>>2]|0)+68>>2]=c[(c[id>>2]|0)+12>>2];c[(c[Gc>>2]|0)+48>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[Gc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];c[(c[Gc>>2]|0)+56>>2]=c[(c[pf>>2]|0)+28>>2];c[(c[Gc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+56>>2];c[(c[Gc>>2]|0)+44>>2]=c[(c[pf>>2]|0)+36>>2];c[(c[Gc>>2]|0)+8>>2]=c[(c[pf>>2]|0)+4>>2];c[(c[Gc>>2]|0)+52>>2]=c[(c[pf>>2]|0)+32>>2];c[(c[Gc>>2]|0)+28>>2]=c[(c[id>>2]|0)+20>>2];c[(c[Gc>>2]|0)+20>>2]=c[(c[pf>>2]|0)+200>>2];c[(c[Gc>>2]|0)+60>>2]=c[(c[pf>>2]|0)+196>>2];c[Dc>>2]=(c[Gc>>2]|0)+80+((c[(c[Gc>>2]|0)+64>>2]|0)*40|0);c[Wc>>2]=(c[Gc>>2]|0)+80;while(1){if((c[Wc>>2]|0)==(c[Dc>>2]|0))break i;b[(c[Wc>>2]|0)+8>>1]=128;c[(c[Wc>>2]|0)+32>>2]=c[qf>>2];c[Wc>>2]=(c[Wc>>2]|0)+40}}else c[Gc>>2]=c[c[md>>2]>>2];while(0);j=(c[pf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Gc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+176>>2];j=rf;wf=c[j+4>>2]|0;yf=(c[Gc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Gc>>2]|0)+72>>2]=c[(c[pf>>2]|0)+92>>2];c[(c[Gc>>2]|0)+76>>2]=c[(c[c[pf>>2]>>2]|0)+84>>2];c[(c[Gc>>2]|0)+40>>2]=c[(c[pf>>2]|0)+204>>2];c[(c[pf>>2]|0)+204>>2]=0;c[(c[pf>>2]|0)+92>>2]=0;c[(c[pf>>2]|0)+176>>2]=c[Gc>>2];yf=(c[Gc>>2]|0)+80|0;c[l>>2]=yf;c[(c[pf>>2]|0)+8>>2]=yf;c[(c[pf>>2]|0)+28>>2]=c[(c[Gc>>2]|0)+64>>2];c[(c[pf>>2]|0)+36>>2]=c[(c[Gc>>2]|0)+68>>2]&65535;c[(c[pf>>2]|0)+56>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+28>>2]|0)*40|0);yf=c[c[id>>2]>>2]|0;c[df>>2]=yf;c[(c[pf>>2]|0)+4>>2]=yf;c[(c[pf>>2]|0)+32>>2]=c[(c[id>>2]|0)+4>>2];c[(c[pf>>2]|0)+200>>2]=(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+36>>2]<<2);c[(c[pf>>2]|0)+196>>2]=c[(c[id>>2]|0)+16>>2];c[tf>>2]=(c[df>>2]|0)+-20;tR(c[(c[pf>>2]|0)+200>>2]|0,0,c[(c[pf>>2]|0)+196>>2]|0)|0;break}case 134:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Hc>>2]=c[(c[pf>>2]|0)+176>>2];c[Lc>>2]=(c[(c[Hc>>2]|0)+16>>2]|0)+(((c[(c[tf>>2]|0)+4>>2]|0)+(c[(c[(c[Hc>>2]|0)+8>>2]|0)+((c[(c[Hc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);IF(c[gd>>2]|0,c[Lc>>2]|0,4096);break}case 135:{g=c[tf>>2]|0;if(c[(c[qf>>2]|0)+24>>2]&16777216){wf=c[g+8>>2]|0;yf=(c[qf>>2]|0)+448|0;j=yf;wf=pR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[tf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[qf>>2]|0)+440|0;wf=yf;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[pf>>2]|0)+144|0;wf=yf;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 136:if(c[(c[tf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[qf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[pf>>2]|0)+144|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[qf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 137:{if(c[(c[pf>>2]|0)+176>>2]|0){c[Ic>>2]=c[(c[pf>>2]|0)+176>>2];while(1){if(!(c[(c[Ic>>2]|0)+4>>2]|0))break;c[Ic>>2]=c[(c[Ic>>2]|0)+4>>2]}c[Mc>>2]=(c[(c[Ic>>2]|0)+16>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0)}else c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);Cx(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);Cx(c[Nc>>2]|0)|0;wf=c[Mc>>2]|0;f=c[wf+4>>2]|0;yf=c[Nc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Nc>>2]|0;wf=c[j+4>>2]|0;yf=c[Mc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 138:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[tf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=oR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 139:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Mc>>2]|0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Oc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=pR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[gd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 140:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[tf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=oR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 141:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=yf;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Mc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 142:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);j=c[Mc>>2]|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=pR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 143:{c[La>>2]=d[(c[tf>>2]|0)+3>>0];c[mc>>2]=Lw(c[qf>>2]|0,32+((c[La>>2]|0)-1<<2)|0,0)|0;if(!(c[mc>>2]|0)){k=883;break a}c[(c[mc>>2]|0)+8>>2]=0;c[(c[mc>>2]|0)+4>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[mc>>2]|0)+16>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[mc>>2]|0)+12>>2]=c[pf>>2];a[(c[mc>>2]|0)+26>>0]=c[La>>2];a[(c[tf>>2]|0)+1>>0]=-20;c[(c[tf>>2]|0)+16>>2]=c[mc>>2];a[c[tf>>2]>>0]=-112;k=755;break}case 144:{k=755;break}case 145:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=LF(c[Yc>>2]|0,c[(c[tf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=767;break c}du(c[Yc>>2]|0,d[G>>0]|0)|0;if($H(c[Yc>>2]|0)|0){k=882;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=mi(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[_>>2]=0;c[Zc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[_>>2]|0)>=3)break d;yf=c[o+(c[_>>2]<<2)>>2]|0;gh(c[Zc>>2]|0,yf,((yf|0)<0)<<31>>31);c[_>>2]=(c[_>>2]|0)+1;c[Zc>>2]=(c[Zc>>2]|0)+40}}case 9:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[E>>2]=c[(c[tf>>2]|0)+12>>2];c[yb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];c[hd>>2]=Pf(c[yb>>2]|0)|0;c[F>>2]=sg(c[hd>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(fJ(c[hd>>2]|0)|0))c[E>>2]=c[F>>2];c[Ue>>2]=Ii(c[hd>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[Ue>>2]|0)|0)!=0?(gJ(c[hd>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[qf>>2]|0)+67>>0]|0)){k=787;break c}if((c[(c[qf>>2]|0)+156>>2]|0)>1){k=787;break c}if((c[F>>2]|0)==5){c[uf>>2]=hJ(c[hd>>2]|0)|0;if(!(c[uf>>2]|0))iJ(c[hd>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)iJ(c[hd>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Cg(c[yb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=iJ(c[hd>>2]|0,c[E>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;yf=XB(c[E>>2]|0)|0;c[(c[gd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[gd>>2]|0)+16>>2]|0)|0;c[(c[gd>>2]|0)+12>>2]=yf;a[(c[gd>>2]|0)+10>>0]=1;du(c[gd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=jJ((c[pf>>2]|0)+44|0,c[qf>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 146:{c[zb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=kJ(c[zb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 147:if(c[(c[tf>>2]|0)+4>>2]|0){yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;break d}else{Qh(c[qf>>2]|0);break d}case 148:{a[Ba>>0]=c[(c[tf>>2]|0)+12>>2];if((d[Ba>>0]|0)==0?0!=(c[(c[qf>>2]|0)+24>>2]&16384|0):0)break d;c[qb>>2]=c[(c[tf>>2]|0)+4>>2];c[uf>>2]=lJ(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[qb>>2]<<4)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,a[Ba>>0]|0)|0;if(c[uf>>2]|0){k=808;break c}break}case 149:{c[sd>>2]=c[(c[tf>>2]|0)+16>>2];c[uf>>2]=mJ(c[qf>>2]|0,c[sd>>2]|0)|0;if(c[sd>>2]|0)MI(c[pf>>2]|0,c[(c[sd>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 150:{g=ge;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ge+32>>2]=c[qf>>2];c[uf>>2]=ih(ge,(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[af>>2]=ae(ge)|0;if(c[af>>2]|0)c[uf>>2]=nJ(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[af>>2]|0,(c[pf>>2]|0)+44|0)|0;Wg(ge);if(c[uf>>2]|0)break a;break}case 151:{yf=(c[qf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=oJ(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0)|0;yf=(c[qf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 152:{c[pc>>2]=0;c[qd>>2]=0;c[vd>>2]=c[(c[(c[tf>>2]|0)+16>>2]|0)+8>>2];if(!(c[vd>>2]|0)){k=819;break c}if(!(c[c[vd>>2]>>2]|0)){k=819;break c}c[$c>>2]=c[c[vd>>2]>>2];c[uf>>2]=Yb[c[(c[$c>>2]|0)+24>>2]&255](c[vd>>2]|0,qd)|0;MI(c[pf>>2]|0,c[vd>>2]|0);if(c[uf>>2]|0)break a;c[c[qd>>2]>>2]=c[vd>>2];c[pc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[pc>>2]|0)){k=823;break c}c[(c[pc>>2]|0)+16>>2]=c[qd>>2];yf=(c[vd>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[jd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[vb>>2]=(c[jd>>2]|0)+40;c[qc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[rd>>2]=c[(c[qc>>2]|0)+16>>2];c[wd>>2]=c[c[rd>>2]>>2];c[ad>>2]=c[c[wd>>2]>>2];c[Ma>>2]=c[c[vb>>2]>>2];c[ra>>2]=c[c[jd>>2]>>2];c[Pd>>2]=0;c[t>>2]=c[(c[pf>>2]|0)+12>>2];c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[Ma>>2]|0))break;c[(c[t>>2]|0)+(c[S>>2]<<2)>>2]=(c[vb>>2]|0)+(((c[S>>2]|0)+1|0)*40|0);c[S>>2]=(c[S>>2]|0)+1}c[uf>>2]=Zb[c[(c[ad>>2]|0)+32>>2]&255](c[rd>>2]|0,c[ra>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,c[Ma>>2]|0,c[t>>2]|0)|0;MI(c[pf>>2]|0,c[wd>>2]|0);if(c[uf>>2]|0)break a;c[Pd>>2]=Tb[c[(c[ad>>2]|0)+40>>2]&255](c[rd>>2]|0)|0;a[(c[qc>>2]|0)+2>>0]=0;if(c[Pd>>2]|0)k=14;break}case 153:{c[rc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Cc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(a[(c[rc>>2]|0)+2>>0]|0){hh(c[Cc>>2]|0);break d}c[xd>>2]=c[c[(c[rc>>2]|0)+16>>2]>>2];c[bd>>2]=c[c[xd>>2]>>2];c[ee>>2]=0;c[ee+4>>2]=0;c[ee+8>>2]=0;c[ee+12>>2]=0;c[ee+16>>2]=0;c[ee+20>>2]=0;c[ee+24>>2]=0;c[ee+28>>2]=0;c[ee>>2]=c[Cc>>2];b[(c[Cc>>2]|0)+8>>1]=e[(c[Cc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[bd>>2]|0)+44>>2]&255](c[(c[rc>>2]|0)+16>>2]|0,ee,c[(c[tf>>2]|0)+8>>2]|0)|0;MI(c[pf>>2]|0,c[xd>>2]|0);if(c[ee+20>>2]|0)c[uf>>2]=c[ee+20>>2];du(c[Cc>>2]|0,d[G>>0]|0)|0;if($H(c[Cc>>2]|0)|0){k=882;break c}if(c[uf>>2]|0)break a;break}case 154:{c[Qd>>2]=0;c[sc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[sc>>2]|0)+2>>0]|0)){c[yd>>2]=c[c[(c[sc>>2]|0)+16>>2]>>2];c[cd>>2]=c[c[yd>>2]>>2];c[uf>>2]=Tb[c[(c[cd>>2]|0)+36>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;MI(c[pf>>2]|0,c[yd>>2]|0);if(c[uf>>2]|0)break a;c[Qd>>2]=Tb[c[(c[cd>>2]|0)+40>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;if(c[Qd>>2]|0)k=8;else k=7}break}case 155:{c[zd>>2]=c[(c[(c[tf>>2]|0)+16>>2]|0)+8>>2];c[ed>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=du(c[ed>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[zd>>2]>>2]|0)+76>>2]&255](c[zd>>2]|0,c[(c[ed>>2]|0)+16>>2]|0)|0;MI(c[pf>>2]|0,c[zd>>2]|0);yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[Ad>>2]=c[(c[(c[tf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Ad>>2]|0)){k=842;break c}if(!(c[c[Ad>>2]>>2]|0)){k=842;break c}c[dd>>2]=c[c[Ad>>2]>>2];c[Na>>2]=c[(c[tf>>2]|0)+8>>2];if(c[(c[dd>>2]|0)+52>>2]|0){a[Ke>>0]=a[(c[qf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[pf>>2]|0)+12>>2];c[Cd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[Na>>2]|0))break;c[(c[u>>2]|0)+(c[U>>2]<<2)>>2]=c[Cd>>2];c[Cd>>2]=(c[Cd>>2]|0)+40;c[U>>2]=(c[U>>2]|0)+1}a[(c[qf>>2]|0)+74>>0]=a[(c[tf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[dd>>2]|0)+52>>2]&255](c[Ad>>2]|0,c[Na>>2]|0,c[u>>2]|0,de)|0;a[(c[qf>>2]|0)+74>>0]=a[Ke>>0]|0;MI(c[pf>>2]|0,c[Ad>>2]|0);if((c[uf>>2]|0)==0?(c[(c[tf>>2]|0)+4>>2]|0)!=0:0){wf=de;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=rf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[qf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[tf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[tf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[tf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[tf>>2]|0)+3>>0]|0;a[(c[pf>>2]|0)+86>>0]=g}else k=857;while(0);if((k|0)==857){k=0;yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 156:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;wf=tg(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 157:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[xb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];c[gb>>2]=0;if((c[(c[tf>>2]|0)+12>>2]|0)!=0?(c[gb>>2]=tg(c[xb>>2]|0)|0,(c[gb>>2]|0)>>>0<(c[(c[tf>>2]|0)+12>>2]|0)>>>0):0)c[gb>>2]=c[(c[tf>>2]|0)+12>>2];wf=pJ(c[xb>>2]|0,c[gb>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 158:{if((c[(c[qf>>2]|0)+180>>2]|0)!=0?((d[(c[pf>>2]|0)+87>>0]|0)>>>1&1|0)==0:0){if(c[(c[tf>>2]|0)+16>>2]|0)g=c[(c[tf>>2]|0)+16>>2]|0;else g=c[(c[pf>>2]|0)+168>>2]|0;c[cf>>2]=g;if(g){c[Oe>>2]=qJ(c[pf>>2]|0,c[cf>>2]|0)|0;Rb[c[(c[qf>>2]|0)+180>>2]&255](c[(c[qf>>2]|0)+184>>2]|0,c[Oe>>2]|0);Tf(c[qf>>2]|0,c[Oe>>2]|0)}}if(c[(c[tf>>2]|0)+8>>2]|0)k=14;break}default:{}}while(0);if((k|0)==20){k=0;c[ef>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;if(c[(c[tf>>2]|0)+4>>2]|0){k=25;break}if(!(c[(c[pf>>2]|0)+176>>2]|0)){k=25;break}c[Ec>>2]=c[(c[pf>>2]|0)+176>>2];c[(c[pf>>2]|0)+176>>2]=c[(c[Ec>>2]|0)+4>>2];j=(c[pf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;WH(c[qf>>2]|0,c[(c[pf>>2]|0)+92>>2]|0);c[ef>>2]=XH(c[Ec>>2]|0)|0;j=(c[qf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=rf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[tf>>2]|0)+8>>2]|0)==4)c[ef>>2]=(c[(c[(c[pf>>2]|0)+4>>2]|0)+((c[ef>>2]|0)*20|0)+8>>2]|0)-1;c[df>>2]=c[(c[pf>>2]|0)+4>>2];c[l>>2]=c[(c[pf>>2]|0)+8>>2];c[tf>>2]=(c[df>>2]|0)+((c[ef>>2]|0)*20|0)}else if((k|0)==49){k=0;c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;c[(c[gd>>2]|0)+16>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[gd>>2]|0)+12>>2]=c[(c[tf>>2]|0)+4>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;if((a[(c[tf>>2]|0)+3>>0]|0)!=0?(c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0),yf=c[Oc>>2]|0,(c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0):0)b[(c[gd>>2]|0)+8>>1]=2576}else if((k|0)==130){k=0;c[lc>>2]=c[(c[tf>>2]|0)+16>>2];c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[lc>>2]>>2]|0)!=(c[gd>>2]|0)){c[c[lc>>2]>>2]=c[gd>>2];c[W>>2]=(d[(c[lc>>2]|0)+26>>0]|0)-1;while(1){if((c[W>>2]|0)<0)break j;c[(c[lc>>2]|0)+28+(c[W>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)+(c[W>>2]|0)|0)*40|0);c[W>>2]=(c[W>>2]|0)+-1}}while(0);b[(c[c[lc>>2]>>2]|0)+8>>1]=e[(c[c[lc>>2]>>2]|0)+8>>1]&-49664|1;a[(c[lc>>2]|0)+25>>0]=0;yf=rf;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[lc>>2]|0)+4>>2]|0)+12>>2]&255](c[lc>>2]|0,d[(c[lc>>2]|0)+26>>0]|0,(c[lc>>2]|0)+28|0);j=(c[qf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=rf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[lc>>2]|0)+25>>0]|0){if(c[(c[lc>>2]|0)+20>>2]|0){yf=c[pf>>2]|0;c[we>>2]=ae(c[c[lc>>2]>>2]|0)|0;YH(yf,18999,we);c[uf>>2]=c[(c[lc>>2]|0)+20>>2]}hI(c[qf>>2]|0,(c[pf>>2]|0)+204|0,c[(c[lc>>2]|0)+16>>2]|0,c[(c[tf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[gd>>2]|0)+8>>1]&18|0)!=0?(du(c[c[lc>>2]>>2]|0,d[G>>0]|0)|0,($H(c[c[lc>>2]>>2]|0)|0)!=0):0){k=882;break}}else if((k|0)==442){if(a[(c[pf>>2]|0)+87>>0]&1){k=443;break}c[Wa>>2]=0;c[Rc>>2]=0;c[ub>>2]=c[(c[tf>>2]|0)+8>>2];c[ha>>2]=c[(c[tf>>2]|0)+12>>2];c[zc>>2]=(c[(c[qf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4);c[Bd>>2]=c[(c[zc>>2]|0)+4>>2];if((d[c[tf>>2]>>0]|0)==55){c[Le>>2]=4|d[(c[tf>>2]|0)+3>>0]&8;if((d[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[pf>>2]|0)+88>>0]|0))a[(c[pf>>2]|0)+88>>0]=a[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Le>>2]=0;if(d[(c[tf>>2]|0)+3>>0]&16){c[Nc>>2]=(c[l>>2]|0)+((c[ub>>2]|0)*40|0);Cx(c[Nc>>2]|0)|0;c[ub>>2]=c[c[Nc>>2]>>2]}g=c[tf>>2]|0;if((a[(c[tf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Wa>>2]=c[(c[tf>>2]|0)+16>>2]}else{c[Rc>>2]=c[g+16>>2];c[Wa>>2]=(e[(c[Rc>>2]|0)+6>>1]|0)+(e[(c[Rc>>2]|0)+8>>1]|0)}c[oc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[Wa>>2]|0,c[ha>>2]|0,0)|0;if(!(c[oc>>2]|0)){k=883;break a}a[(c[oc>>2]|0)+2>>0]=1;k=(c[oc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[oc>>2]|0)+8>>2]=c[ub>>2];c[uf>>2]=AI(c[Bd>>2]|0,c[ub>>2]|0,c[Le>>2]|0,c[Rc>>2]|0,c[(c[oc>>2]|0)+16>>2]|0)|0;c[(c[oc>>2]|0)+24>>2]=c[Rc>>2];a[(c[oc>>2]|0)+4>>0]=(a[(c[tf>>2]|0)+1>>0]|0)!=-6;k=456}else if((k|0)==619){k=0;c[Pb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Zd>>2]=1;g=c[Pb>>2]|0;if((d[c[Pb>>2]>>0]|0)==1)c[uf>>2]=OI(g,Zd)|0;else{c[ic>>2]=c[g+16>>2];c[uf>>2]=PI(c[ic>>2]|0,Zd)|0;a[(c[Pb>>2]|0)+3>>0]=0;c[(c[Pb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Pb>>2]|0)+2>>0]=c[Zd>>2];if(c[Zd>>2]|0)k=14}else if((k|0)==626){c[Qb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[tf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[tf>>2]|0)+16>>2]&255](c[(c[Qb>>2]|0)+16>>2]|0,_d)|0;k=627}else if((k|0)==755){k=0;c[nc>>2]=c[(c[tf>>2]|0)+16>>2];c[Xc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[nc>>2]|0)+8>>2]|0)!=(c[Xc>>2]|0)){c[(c[nc>>2]|0)+8>>2]=c[Xc>>2];c[Y>>2]=(d[(c[nc>>2]|0)+26>>0]|0)-1;while(1){if((c[Y>>2]|0)<0)break k;c[(c[nc>>2]|0)+28+(c[Y>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)+(c[Y>>2]|0)|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+-1}}while(0);yf=(c[Xc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;HF(le,c[qf>>2]|0,1);c[c[nc>>2]>>2]=le;a[(c[nc>>2]|0)+25>>0]=0;a[(c[nc>>2]|0)+24>>0]=0;Ub[c[(c[(c[nc>>2]|0)+4>>2]|0)+12>>2]&255](c[nc>>2]|0,d[(c[nc>>2]|0)+26>>0]|0,(c[nc>>2]|0)+28|0);if(a[(c[nc>>2]|0)+25>>0]|0){if(c[(c[nc>>2]|0)+20>>2]|0){yf=c[pf>>2]|0;c[De>>2]=ae(le)|0;YH(yf,18999,De);c[uf>>2]=c[(c[nc>>2]|0)+20>>2]}Wg(le);if(c[uf>>2]|0)break a}if((a[(c[nc>>2]|0)+24>>0]|0)!=0?(c[Y>>2]=c[(c[tf>>2]|0)+-20+4>>2],(c[Y>>2]|0)!=0):0)gh((c[l>>2]|0)+((c[Y>>2]|0)*40|0)|0,1,0)}do if((k|0)==14){k=0;c[tf>>2]=(c[df>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==456){k=0;BI(c[(c[oc>>2]|0)+16>>2]|0,d[(c[tf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==627){k=0;c[(c[Qb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Qb>>2]|0)+2|0;if(!(c[_d>>2]|0)){a[g>>0]=0;k=(c[pf>>2]|0)+108+(d[(c[tf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[tf>>2]=(c[df>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[qf>>2]|0)+248>>2]|0)break b;if(((c[(c[qf>>2]|0)+304>>2]|0)!=0?(c[sf>>2]|0)>>>0>=(c[bb>>2]|0)>>>0:0)?(c[bb>>2]=(c[sf>>2]|0)+(c[(c[qf>>2]|0)+312>>2]|0)-(((c[sf>>2]|0)>>>0)%((c[(c[qf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[qf>>2]|0)+304>>2]&255](c[(c[qf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[tf>>2]=(c[tf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[pf>>2]|0)+80>>2]=c[(c[tf>>2]|0)+4>>2];a[(c[pf>>2]|0)+86>>0]=c[(c[tf>>2]|0)+8>>2];c[(c[pf>>2]|0)+76>>2]=c[ef>>2];if(c[(c[pf>>2]|0)+80>>2]|0){if(a[(c[tf>>2]|0)+3>>0]|0)c[of>>2]=c[6404+((d[(c[tf>>2]|0)+3>>0]|0)-1<<2)>>2];else c[of>>2]=0;c[nf>>2]=40297;if((c[of>>2]|0)!=0?(c[(c[tf>>2]|0)+16>>2]|0)!=0:0){yf=c[pf>>2]|0;wf=c[(c[tf>>2]|0)+16>>2]|0;c[ve>>2]=c[of>>2];c[ve+4>>2]=wf;YH(yf,40321,ve)}else k=32;do if((k|0)==32){g=c[pf>>2]|0;if(c[(c[tf>>2]|0)+16>>2]|0){c[gf>>2]=c[(c[tf>>2]|0)+16>>2];YH(g,18999,gf);break}else{c[hf>>2]=c[of>>2];YH(g,40346,hf);break}}while(0);wf=c[(c[tf>>2]|0)+4>>2]|0;yf=c[nf>>2]|0;of=c[(c[pf>>2]|0)+168>>2]|0;tf=c[(c[pf>>2]|0)+44>>2]|0;c[jf>>2]=c[ef>>2];c[jf+4>>2]=of;c[jf+8>>2]=tf;Rd(wf,yf,jf)}c[uf>>2]=ZH(c[pf>>2]|0)|0;if((c[uf>>2]|0)==5){c[uf>>2]=5;c[(c[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[(c[pf>>2]|0)+80>>2]|0)!=0?1:101;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 70:{if(((c[(c[qf>>2]|0)+304>>2]|0)!=0?(c[sf>>2]|0)>>>0>=(c[bb>>2]|0)>>>0:0)?(Tb[c[(c[qf>>2]|0)+304>>2]&255](c[(c[qf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=aI(c[pf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=bI(c[pf>>2]|0,1)|0;c[(c[pf>>2]|0)+72>>2]=(c[(c[pf>>2]|0)+72>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[pf>>2]|0)+20>>2]=yf;c[Uc>>2]=yf;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[tf>>2]|0)+8>>2]|0))break;if((e[(c[Uc>>2]|0)+((c[R>>2]|0)*40|0)+8>>1]&4096|0)!=0?(ah((c[Uc>>2]|0)+((c[R>>2]|0)*40|0)|0)|0)!=0:0){k=883;break a}cI((c[Uc>>2]|0)+((c[R>>2]|0)*40|0)|0)|0;c[R>>2]=(c[R>>2]|0)+1}if(a[(c[qf>>2]|0)+69>>0]|0){k=883;break a}c[(c[pf>>2]|0)+76>>2]=(((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 163:{c[uf>>2]=20;break a}case 268:{c[uf>>2]=Oj(76949)|0;break a}case 285:{if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(fe);c[uf>>2]=Oj(77010)|0;break a}case 368:{c[(c[pf>>2]|0)+76>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;a[(c[qf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 391:{c[D>>2]=c[(c[tf>>2]|0)+4>>2];c[sa>>2]=c[(c[tf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[qf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[sa>>2]|0)!=0?40575:40618;else g=40659;YH(c[pf>>2]|0,g,kf);c[uf>>2]=1;break a}do if(!(c[sa>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[qf>>2]|0)+160>>2]|0)>0:0){YH(c[pf>>2]|0,40520,Ae);c[uf>>2]=5;break a}yf=aI(c[pf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[qf>>2]|0)+67>>0]=c[D>>2];break}}else{wI(c[qf>>2]|0,516);a[(c[qf>>2]|0)+67>>0]=1}while(0);if((ZH(c[pf>>2]|0)|0)==5){c[(c[pf>>2]|0)+76>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;a[(c[qf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}xI(c[qf>>2]|0);if(!(c[(c[pf>>2]|0)+80>>2]|0)){c[uf>>2]=101;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 409:{c[uf>>2]=8;break a}case 412:{c[(c[pf>>2]|0)+76>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[pf>>2]|0)+80>>2]=c[uf>>2];yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 443:{c[uf>>2]=516;break a}case 547:{c[uf>>2]=13;break a}case 557:{c[uf>>2]=13;break a}case 662:{c[uf>>2]=6;a[(c[pf>>2]|0)+86>>0]=2;break a}case 684:{Bg(c[qf>>2]|0);if((c[uf>>2]|0)==7){k=883;break a}else break a}case 713:{c[uf>>2]=1;YH(c[pf>>2]|0,40799,Ce);break a}case 767:{yf=c[pf>>2]|0;c[Ee>>2]=ae(c[Yc>>2]|0)|0;YH(yf,18999,Ee);break a}case 787:{c[uf>>2]=1;yf=c[pf>>2]|0;c[Fe>>2]=(c[E>>2]|0)==5?40836:40841;YH(yf,40848,Fe);break a}case 808:{if((c[uf>>2]&255|0)!=6)break a;c[Ne>>2]=c[(c[tf>>2]|0)+16>>2];yf=c[pf>>2]|0;c[Ge>>2]=c[Ne>>2];YH(yf,40900,Ge);break a}case 819:{c[uf>>2]=6;break a}case 823:{Tb[c[(c[$c>>2]|0)+28>>2]&255](c[qd>>2]|0)|0;k=883;break a}case 842:{c[uf>>2]=6;break a}case 881:{yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 882:{YH(c[pf>>2]|0,18778,He);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[qf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[pf>>2]|0)+80>>2]=c[uf>>2];yf=c[pf>>2]|0;c[Je>>2]=kh(c[uf>>2]|0)|0;YH(yf,18999,Je)}while(0);if((k|0)==883){lh(c[qf>>2]|0);YH(c[pf>>2]|0,25624,Ie);c[uf>>2]=7}if(a[(c[qf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[pf>>2]|0)+44>>2]|0)==0:0){yf=c[pf>>2]|0;c[lf>>2]=kh(c[uf>>2]|0)|0;YH(yf,18999,lf)}c[(c[pf>>2]|0)+80>>2]=c[uf>>2];rJ(c[qf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[pf>>2]|0)+168>>2]|0;wf=c[(c[pf>>2]|0)+44>>2]|0;c[mf>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[mf+4>>2]=of;c[mf+8>>2]=wf;Rd(yf,40929,mf);ZH(c[pf>>2]|0)|0;if((c[uf>>2]|0)==3082)lh(c[qf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}uj(c[qf>>2]|0,(d[ff>>0]|0)-1|0);yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function RH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=TH(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+220>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+220>>2]&255](c[(c[b>>2]|0)+224>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function SH(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Wj();if(!(c[(c[e>>2]|0)+240>>2]|0)){b=Xh(c[e>>2]|0)|0;c[(c[e>>2]|0)+240>>2]=b}Yh(c[(c[e>>2]|0)+240>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);Xj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function TH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=UH(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function UH(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function VH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+100>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function WH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+84>>2]=c[e>>2];b=(c[f>>2]|0)+88|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function XH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];qM(c[e>>2]|0);c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+60>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+24>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+72>>2];c[(c[c[e>>2]>>2]|0)+84>>2]=c[(c[b>>2]|0)+76>>2];hI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function YH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+44>>2]|0);c[g>>2]=d;b=dx(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+44>>2]=b;i=e;return}function ZH(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;f=n+8|0;m=n+4|0;e=n;c[k>>2]=b;c[l>>2]=c[c[k>>2]>>2];if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;if(c[(c[k>>2]|0)+200>>2]|0)tR(c[(c[k>>2]|0)+200>>2]|0,0,c[(c[k>>2]|0)+196>>2]|0)|0;kM(c[k>>2]|0);if((c[(c[k>>2]|0)+40>>2]|0)!=-1108210269){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}if((c[(c[k>>2]|0)+76>>2]|0)>=0?((d[(c[k>>2]|0)+89>>0]|0)>>>6&1|0)!=0:0){c[m>>2]=0;VH(c[k>>2]|0);c[f>>2]=c[(c[k>>2]|0)+80>>2]&255;if((c[f>>2]|0)==7|(c[f>>2]|0)==10|(c[f>>2]|0)==9)b=1;else b=(c[f>>2]|0)==13;c[e>>2]=b&1;do if((c[e>>2]|0)!=0?((c[f>>2]|0)!=9?1:((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0):0){if((c[f>>2]|0)==7|(c[f>>2]|0)==13?((d[(c[k>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){c[m>>2]=2;break}wI(c[l>>2]|0,516);xI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}while(0);if(!(c[(c[k>>2]|0)+80>>2]|0))aI(c[k>>2]|0,0)|0;if((c[(c[l>>2]|0)+316>>2]|0)>0?(c[(c[l>>2]|0)+340>>2]|0)==0:0)h=38;else if((d[(c[l>>2]|0)+67>>0]|0)!=0?(c[(c[l>>2]|0)+160>>2]|0)==(((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0|0):0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?((c[e>>2]|0)!=0?1:(d[(c[k>>2]|0)+86>>0]|0)!=3):0){wI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0}else h=25;do if((h|0)==25){c[g>>2]=aI(c[k>>2]|0,1)|0;do if(c[g>>2]|0){if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){c[g>>2]=787;break}c[j>>2]=1;m=c[j>>2]|0;i=n;return m|0}else c[g>>2]=lM(c[l>>2]|0,c[k>>2]|0)|0;while(0);if((c[g>>2]|0)==5?((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)!=0:0){c[j>>2]=5;m=c[j>>2]|0;i=n;return m|0}if(c[g>>2]|0){c[(c[k>>2]|0)+80>>2]=c[g>>2];wI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0;break}else{f=(c[l>>2]|0)+440|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+448|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+24|0;c[f>>2]=c[f>>2]&-16777217;vj(c[l>>2]|0);break}}while(0);c[(c[l>>2]|0)+436>>2]=0}else h=38;do if((h|0)==38?(c[m>>2]|0)==0:0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?(d[(c[k>>2]|0)+86>>0]|0)!=3:0)if((d[(c[k>>2]|0)+86>>0]|0)==2){c[m>>2]=2;break}else{wI(c[l>>2]|0,516);xI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0;break}c[m>>2]=1}while(0);if((c[m>>2]|0)!=0?(c[g>>2]=bI(c[k>>2]|0,c[m>>2]|0)|0,(c[g>>2]|0)!=0):0){if(!((c[(c[k>>2]|0)+80>>2]|0)!=0?(c[(c[k>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+80>>2]=c[g>>2];Tf(c[l>>2]|0,c[(c[k>>2]|0)+44>>2]|0);c[(c[k>>2]|0)+44>>2]=0}wI(c[l>>2]|0,516);xI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}if((d[(c[k>>2]|0)+89>>0]|0)>>>2&1){b=c[l>>2]|0;if((c[m>>2]|0)!=2)WH(b,c[(c[k>>2]|0)+92>>2]|0);else WH(b,0);c[(c[k>>2]|0)+92>>2]=0}}if((c[(c[k>>2]|0)+76>>2]|0)>=0){m=(c[l>>2]|0)+152|0;c[m>>2]=(c[m>>2]|0)+-1;if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){m=(c[l>>2]|0)+160|0;c[m>>2]=(c[m>>2]|0)+-1}if((d[(c[k>>2]|0)+89>>0]|0)>>>6&1){m=(c[l>>2]|0)+156|0;c[m>>2]=(c[m>>2]|0)+-1}}c[(c[k>>2]|0)+40>>2]=1369188723;if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+80>>2]|0)==5?5:0;m=c[j>>2]|0;i=n;return m|0}function _H(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=jM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function $H(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+92>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function aI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=pR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;YH(c[f>>2]|0,35697,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function bI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=vI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=vI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=tI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=tI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function cI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=iM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function dI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=hM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function eI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=oR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=pR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=oR(0,0,h|0,C|0)|0,d=C,k=g,k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=pR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function fI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=oR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=eI(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=oR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function gI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+48|0;o=n+40|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;m=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=yR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=zR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=yR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=zR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=AR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=AR(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=AR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=AR(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=AR(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(eI(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function hI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function iI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=FF(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=gM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=DF(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(DF(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function jI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(vL(c[e+16>>2]|0)|0))break;c[f>>2]=wL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=fM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function kI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=eM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function lI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;pF(c[f>>2]|0);c[c[e>>2]>>2]=c[(c[f>>2]|0)+16+12>>2];i=d;return 0}function mI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=eM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function nI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[o>>2]=0;e=c[h>>2]|0;if(c[l>>2]|0)c[p>>2]=kI(e,n)|0;else c[p>>2]=mI(e,n)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[p>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];p=c[o>>2]|0;i=q;return p|0}else{c[o>>2]=dM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}return 0}function oI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35569+(d[c>>0]|0)>>0]|0}function pI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function qI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=qR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=cM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function rI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35569+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=qR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)rR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function sI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=nF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=pR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}eF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=cF(f,er((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=cF(f,er((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=nF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function tI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function uI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=vH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;vB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;wB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}uI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function vI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Qr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=bM(c[k>>2]|0)|0;a=er((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function wI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Wj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+144+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(di(c[k>>2]|0)|0)c[j>>2]=1;Og(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}ju(c[f>>2]|0)|0;Xj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+144+5>>0]|0)==0:0){Qh(c[f>>2]|0);Bg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-16777217;if(!(c[(c[f>>2]|0)+208>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+208>>2]&255](c[(c[f>>2]|0)+204>>2]|0);i=m;return}function xI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=_L(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function zI(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+8>>2]|0)+(((c[j+28>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+8>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=YL()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0){EI(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=0}if(zx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));ZL(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function AI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Oj(59956)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=WL(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function BI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=VL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function DI(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+48|0;j=w+44|0;k=w+40|0;u=w+36|0;l=w+32|0;m=w+28|0;t=w+24|0;s=w+20|0;p=w+16|0;o=w+12|0;v=w+8|0;n=w+4|0;q=w;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[p>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[o>>2]=136;h=(c[o>>2]|0)+(c[p>>2]|0)|0;c[t>>2]=rh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}o=(c[t>>2]|0)+(c[o>>2]|0)|0;c[s>>2]=o;c[(c[t>>2]|0)+28>>2]=o;rR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[p>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){p=(c[s>>2]|0)+8|0;b[p>>1]=(e[p>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}p=rg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=p;c[(c[t>>2]|0)+12>>2]=p;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[n>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[n>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Xq(c[r>>2]|0)|0)){c[q>>2]=c[58];p=_(c[q>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=p;c[m>>2]=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2];if((c[m>>2]|0)<(c[q>>2]|0))c[m>>2]=c[q>>2];p=c[m>>2]|0;q=c[u>>2]|0;q=AR(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;p=C;if((p|0)<0|(p|0)==0&q>>>0<536870912){q=c[m>>2]|0;j=c[u>>2]|0;j=AR(q|0,((q|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0}else j=536870912;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function EI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{UL(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){rB(c[e+20>>2]|0)|0;i=j;return}else{tB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function FI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function GI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function HI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=nF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=dF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function II(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+68|0;r=I+64|0;s=I;t=I+60|0;u=I+56|0;v=I+52|0;w=I+48|0;J=I+44|0;F=I+40|0;y=I+36|0;G=I+32|0;x=I+28|0;E=I+24|0;B=I+20|0;D=I+16|0;A=I+12|0;z=I+8|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+66>>0]|0)==4){c[p>>2]=c[h+60>>2];J=c[p>>2]|0;i=I;return J|0}if((d[h+64>>0]&32|0)!=0?(c[F>>2]=tH(c[D>>2]|0,c[(c[q>>2]|0)+52>>2]|0,c[q>>2]|0)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}do if(!(c[(c[q>>2]|0)+72>>2]|0)){J=s;AK(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0);J=s;B=c[J+4>>2]|0;if((d[(c[q>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(c[J>>2]|0)>>>0>0)?(J=(c[q>>2]|0)+16|0,o=c[J>>2]|0,J=c[J+4>>2]|0,B=s,B=oR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0,(o|0)==(B|0)&(J|0)==(C|0)):0){c[y>>2]=-1;break}if((c[y>>2]|0)==0?(J=s,c[F>>2]=lF(c[q>>2]|0,0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}}else if((c[y>>2]|0)==0?(J=s,c[F>>2]=iF(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}while(0);c[E>>2]=c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=TL(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+4>>0]|0)){J=c[z>>2]|0;D=c[A>>2]|0;a[J>>0]=a[D>>0]|0;a[J+1>>0]=a[D+1>>0]|0;a[J+2>>0]=a[D+2>>0]|0;a[J+3>>0]=a[D+3>>0]|0}c[F>>2]=CK(c[E>>2]|0,c[A>>2]|0,H)|0;zL(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}AL(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+16+18>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+64|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=BL(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+66>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function JI(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=$E(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=tH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;AK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Tt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=xH(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);c[y>>2]=Fg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=CK(c[x>>2]|0,c[n>>2]|0,q)|0;zL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Oj(64012)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;AL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);zL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=BL(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;wB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=BL(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=nF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function KI(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=jF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=yL(c[n>>2]|0,k)|0;kF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=yF(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function LI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=yL(c[l>>2]|0,h)|0;if(zx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;rR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function MI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);b=ph(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+44>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function NI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(vL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=wL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function OI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=MK(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=jL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=PK((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function PI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=nF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=QF(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function QI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=aL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))wK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0} +function iR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2468]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2469]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2466]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9896+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=10160+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2468]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2470]|0)){t=(c[2467]|0)+g|0;c[2467]=t;c[2470]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2469]|0))return;c[2469]=0;c[2466]=0;return}if((q|0)==(c[2469]|0)){t=(c[2466]|0)+g|0;c[2466]=t;c[2469]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2468]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=10160+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2468]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9896+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2468]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2464]=c[2464]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2469]|0)){c[2466]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9896+(d<<2)|0;e=c[2464]|0;b=1<>2]|0;if(d>>>0<(c[2468]|0)>>>0)Ma();else{r=b;s=d}}else{c[2464]=e|b;r=9896+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=10160+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2465]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2468]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2465]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2472]|0)+-1|0;c[2472]=u;if(!u)b=10312;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2472]=-1;return}function jR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=hR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;tR(b|0,0,d|0)|0;return b|0}function kR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=hR(b)|0;return a|0}if(b>>>0>4294967231){c[($P()|0)>>2]=12;a=0;return a|0}d=lR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=hR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;rR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;iR(a);a=d;return a|0}function lR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2468]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2584]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;mR(a+b|0,d);return a|0}if((l|0)==(c[2470]|0)){d=(c[2467]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2470]=a+b;c[2467]=n;return a|0}if((l|0)==(c[2469]|0)){e=(c[2466]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2466]=d;c[2469]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=10160+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2468]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9896+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;mR(a+b|0,n);return a|0}return 0}function mR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2468]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2469]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2466]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9896+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=10160+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2468]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2468]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2470]|0)){s=(c[2467]|0)+h|0;c[2467]=s;c[2470]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2469]|0))return;c[2469]=0;c[2466]=0;return}if((q|0)==(c[2469]|0)){s=(c[2466]|0)+h|0;c[2466]=s;c[2469]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=10160+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2468]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9896+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2469]|0)){c[2466]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9896+(e<<2)|0;f=c[2464]|0;d=1<>2]|0;if(e>>>0<(c[2468]|0)>>>0)Ma();else{r=d;s=e}}else{c[2464]=f|d;r=9896+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=10160+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2465]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2468]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2468]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function nR(){}function oR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function pR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function qR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function rR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function sR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else rR(b,c,d)|0;return b|0}function tR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function uR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function wR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function xR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function yR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=oR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return oR((DR(h,g,oR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function zR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=oR(h^a,g^b,h,g)|0;b=C;DR(a,b,oR(l^d,k^e,l,k)|0,C,j)|0;e=oR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function AR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=xR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function BR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return DR(a,b,c,d,0)|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;DR(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function DR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=wR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((wR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=pR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;oR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=oR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function ER(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function KR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function OR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function PS(a){a=a|0;return Pb[a&255]()|0}function QS(){return ga(0)|0}function RS(){return ga(1)|0}function SS(){return ga(2)|0}function TS(){return ga(3)|0}function US(){return ga(4)|0}function VS(){return ga(5)|0}function WS(){return ga(6)|0}function XS(){return ga(7)|0}function YS(){return ga(8)|0}function ZS(){return ga(9)|0}function _S(){return ga(10)|0}function $S(){return ga(11)|0}function aT(){return ga(12)|0}function bT(){return ga(13)|0}function cT(){return ga(14)|0}function dT(){return ga(15)|0}function eT(){return ga(16)|0}function fT(){return ga(17)|0}function gT(){return ga(18)|0}function hT(){return ga(19)|0}function iT(){return ga(20)|0}function jT(){return ga(21)|0}function kT(){return ga(22)|0}function lT(){return ga(23)|0}function mT(){return ga(24)|0}function nT(){return ga(25)|0}function oT(){return ga(26)|0}function pT(){return ga(27)|0}function qT(){return ga(28)|0}function rT(){return ga(29)|0}function sT(){return ga(30)|0}function tT(){return ga(31)|0}function uT(){return ga(32)|0}function vT(){return ga(33)|0}function wT(){return ga(34)|0}function xT(){return ga(35)|0}function yT(){return ga(36)|0}function zT(){return ga(37)|0}function AT(){return ga(38)|0}function BT(){return ga(39)|0}function CT(){return ga(40)|0}function DT(){return ga(41)|0}function ET(){return ga(42)|0}function FT(){return ga(43)|0}function GT(){return ga(44)|0}function HT(){return ga(45)|0}function IT(){return ga(46)|0}function JT(){return ga(47)|0}function KT(){return ga(48)|0}function LT(){return ga(49)|0}function MT(){return ga(50)|0}function NT(){return ga(51)|0}function OT(){return ga(52)|0}function PT(){return ga(53)|0}function QT(){return ga(54)|0}function RT(){return ga(55)|0}function ST(){return ga(56)|0}function TT(){return ga(57)|0}function UT(){return ga(58)|0}function VT(){return ga(59)|0}function WT(){return ga(60)|0}function XT(){return ga(61)|0}function YT(){return ga(62)|0}function ZT(){return ga(63)|0}function _T(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function $T(a){a=a|0;ia(0,a|0)}function aU(a){a=a|0;ia(1,a|0)}function bU(a){a=a|0;ia(2,a|0)}function cU(a){a=a|0;ia(3,a|0)}function dU(a){a=a|0;ia(4,a|0)}function eU(a){a=a|0;ia(5,a|0)}function fU(a){a=a|0;ia(6,a|0)}function gU(a){a=a|0;ia(7,a|0)}function hU(a){a=a|0;ia(8,a|0)}function iU(a){a=a|0;ia(9,a|0)}function jU(a){a=a|0;ia(10,a|0)}function kU(a){a=a|0;ia(11,a|0)}function lU(a){a=a|0;ia(12,a|0)}function mU(a){a=a|0;ia(13,a|0)}function nU(a){a=a|0;ia(14,a|0)}function oU(a){a=a|0;ia(15,a|0)}function pU(a){a=a|0;ia(16,a|0)}function qU(a){a=a|0;ia(17,a|0)}function rU(a){a=a|0;ia(18,a|0)}function sU(a){a=a|0;ia(19,a|0)}function tU(a){a=a|0;ia(20,a|0)}function uU(a){a=a|0;ia(21,a|0)}function vU(a){a=a|0;ia(22,a|0)}function wU(a){a=a|0;ia(23,a|0)}function xU(a){a=a|0;ia(24,a|0)}function yU(a){a=a|0;ia(25,a|0)}function zU(a){a=a|0;ia(26,a|0)}function AU(a){a=a|0;ia(27,a|0)}function BU(a){a=a|0;ia(28,a|0)}function CU(a){a=a|0;ia(29,a|0)}function DU(a){a=a|0;ia(30,a|0)}function EU(a){a=a|0;ia(31,a|0)}function FU(a){a=a|0;ia(32,a|0)}function GU(a){a=a|0;ia(33,a|0)}function HU(a){a=a|0;ia(34,a|0)}function IU(a){a=a|0;ia(35,a|0)}function JU(a){a=a|0;ia(36,a|0)}function KU(a){a=a|0;ia(37,a|0)}function LU(a){a=a|0;ia(38,a|0)}function MU(a){a=a|0;ia(39,a|0)}function NU(a){a=a|0;ia(40,a|0)}function OU(a){a=a|0;ia(41,a|0)}function PU(a){a=a|0;ia(42,a|0)}function QU(a){a=a|0;ia(43,a|0)}function RU(a){a=a|0;ia(44,a|0)}function SU(a){a=a|0;ia(45,a|0)}function TU(a){a=a|0;ia(46,a|0)}function UU(a){a=a|0;ia(47,a|0)}function VU(a){a=a|0;ia(48,a|0)}function WU(a){a=a|0;ia(49,a|0)}function XU(a){a=a|0;ia(50,a|0)}function YU(a){a=a|0;ia(51,a|0)}function ZU(a){a=a|0;ia(52,a|0)}function _U(a){a=a|0;ia(53,a|0)}function $U(a){a=a|0;ia(54,a|0)}function aV(a){a=a|0;ia(55,a|0)}function bV(a){a=a|0;ia(56,a|0)}function cV(a){a=a|0;ia(57,a|0)}function dV(a){a=a|0;ia(58,a|0)}function eV(a){a=a|0;ia(59,a|0)}function fV(a){a=a|0;ia(60,a|0)}function gV(a){a=a|0;ia(61,a|0)}function hV(a){a=a|0;ia(62,a|0)}function iV(a){a=a|0;ia(63,a|0)}function jV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function kV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function lV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function mV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function nV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function oV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function pV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function qV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function rV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function uW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function vW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function GX(a){a=a|0;return oa(0,a|0)|0}function HX(a){a=a|0;return oa(1,a|0)|0}function IX(a){a=a|0;return oa(2,a|0)|0}function JX(a){a=a|0;return oa(3,a|0)|0}function KX(a){a=a|0;return oa(4,a|0)|0}function LX(a){a=a|0;return oa(5,a|0)|0}function MX(a){a=a|0;return oa(6,a|0)|0}function NX(a){a=a|0;return oa(7,a|0)|0}function OX(a){a=a|0;return oa(8,a|0)|0}function PX(a){a=a|0;return oa(9,a|0)|0}function QX(a){a=a|0;return oa(10,a|0)|0}function RX(a){a=a|0;return oa(11,a|0)|0}function SX(a){a=a|0;return oa(12,a|0)|0}function TX(a){a=a|0;return oa(13,a|0)|0}function UX(a){a=a|0;return oa(14,a|0)|0}function VX(a){a=a|0;return oa(15,a|0)|0}function WX(a){a=a|0;return oa(16,a|0)|0}function XX(a){a=a|0;return oa(17,a|0)|0}function YX(a){a=a|0;return oa(18,a|0)|0}function ZX(a){a=a|0;return oa(19,a|0)|0}function _X(a){a=a|0;return oa(20,a|0)|0}function $X(a){a=a|0;return oa(21,a|0)|0}function aY(a){a=a|0;return oa(22,a|0)|0}function bY(a){a=a|0;return oa(23,a|0)|0}function cY(a){a=a|0;return oa(24,a|0)|0}function dY(a){a=a|0;return oa(25,a|0)|0}function eY(a){a=a|0;return oa(26,a|0)|0}function fY(a){a=a|0;return oa(27,a|0)|0}function gY(a){a=a|0;return oa(28,a|0)|0}function hY(a){a=a|0;return oa(29,a|0)|0}function iY(a){a=a|0;return oa(30,a|0)|0}function jY(a){a=a|0;return oa(31,a|0)|0}function kY(a){a=a|0;return oa(32,a|0)|0}function lY(a){a=a|0;return oa(33,a|0)|0}function mY(a){a=a|0;return oa(34,a|0)|0}function nY(a){a=a|0;return oa(35,a|0)|0}function oY(a){a=a|0;return oa(36,a|0)|0}function pY(a){a=a|0;return oa(37,a|0)|0}function qY(a){a=a|0;return oa(38,a|0)|0}function rY(a){a=a|0;return oa(39,a|0)|0}function sY(a){a=a|0;return oa(40,a|0)|0}function tY(a){a=a|0;return oa(41,a|0)|0}function uY(a){a=a|0;return oa(42,a|0)|0}function vY(a){a=a|0;return oa(43,a|0)|0}function wY(a){a=a|0;return oa(44,a|0)|0}function xY(a){a=a|0;return oa(45,a|0)|0}function yY(a){a=a|0;return oa(46,a|0)|0}function zY(a){a=a|0;return oa(47,a|0)|0}function AY(a){a=a|0;return oa(48,a|0)|0}function BY(a){a=a|0;return oa(49,a|0)|0}function CY(a){a=a|0;return oa(50,a|0)|0}function DY(a){a=a|0;return oa(51,a|0)|0}function EY(a){a=a|0;return oa(52,a|0)|0}function FY(a){a=a|0;return oa(53,a|0)|0}function GY(a){a=a|0;return oa(54,a|0)|0}function HY(a){a=a|0;return oa(55,a|0)|0}function IY(a){a=a|0;return oa(56,a|0)|0}function JY(a){a=a|0;return oa(57,a|0)|0}function KY(a){a=a|0;return oa(58,a|0)|0}function LY(a){a=a|0;return oa(59,a|0)|0}function MY(a){a=a|0;return oa(60,a|0)|0}function NY(a){a=a|0;return oa(61,a|0)|0}function OY(a){a=a|0;return oa(62,a|0)|0}function PY(a){a=a|0;return oa(63,a|0)|0}function QY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function RY(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function SY(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function TY(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function UY(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function VY(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function WY(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function XY(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function $Z(a){a=a|0;Vb[a&255]()}function a_(){sa(0)}function b_(){sa(1)}function c_(){sa(2)}function d_(){sa(3)}function e_(){sa(4)}function f_(){sa(5)}function g_(){sa(6)}function h_(){sa(7)}function i_(){sa(8)}function j_(){sa(9)}function k_(){sa(10)}function l_(){sa(11)}function m_(){sa(12)}function n_(){sa(13)}function o_(){sa(14)}function p_(){sa(15)}function q_(){sa(16)}function r_(){sa(17)}function s_(){sa(18)}function t_(){sa(19)}function u_(){sa(20)}function v_(){sa(21)}function w_(){sa(22)}function x_(){sa(23)}function y_(){sa(24)}function z_(){sa(25)}function A_(){sa(26)}function B_(){sa(27)}function C_(){sa(28)}function D_(){sa(29)}function E_(){sa(30)}function F_(){sa(31)}function G_(){sa(32)}function H_(){sa(33)}function I_(){sa(34)}function J_(){sa(35)}function K_(){sa(36)}function L_(){sa(37)}function M_(){sa(38)}function N_(){sa(39)}function O_(){sa(40)}function P_(){sa(41)}function Q_(){sa(42)}function R_(){sa(43)}function S_(){sa(44)}function T_(){sa(45)}function U_(){sa(46)}function V_(){sa(47)}function W_(){sa(48)}function X_(){sa(49)}function Y_(){sa(50)}function Z_(){sa(51)}function __(){sa(52)}function $_(){sa(53)}function a$(){sa(54)}function b$(){sa(55)}function c$(){sa(56)}function d$(){sa(57)}function e$(){sa(58)}function f$(){sa(59)}function g$(){sa(60)}function h$(){sa(61)}function i$(){sa(62)}function j$(){sa(63)}function k$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function l$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function m$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function n$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function o$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function p$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function r$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function w0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function x0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function A0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function B0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function C0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function H1(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function I1(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function J1(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function K1(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function L1(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function M1(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function N1(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function O1(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function R2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function S2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function T2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function U2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function V2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function W2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function X2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function Y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function b4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function c4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function d4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function e4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function f4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function g4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function h4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function l5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function m5(){ba(1);return 0}function n5(a){a=a|0;ba(2)}function o5(a,b){a=a|0;b=b|0;ba(3)}function p5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function q5(a){a=a|0;ba(5);return 0}function r5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function s5(){ba(7)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function u5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function v5(a,b){a=a|0;b=b|0;ba(10);return 0}function w5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} // EMSCRIPTEN_END_FUNCS -var Ob=[c5,c5,wR,c5,xR,c5,yR,c5,zR,c5,AR,c5,BR,c5,CR,c5,DR,c5,ER,c5,FR,c5,GR,c5,HR,c5,IR,c5,JR,c5,KR,c5,LR,c5,MR,c5,NR,c5,OR,c5,PR,c5,QR,c5,RR,c5,SR,c5,TR,c5,UR,c5,VR,c5,WR,c5,XR,c5,YR,c5,ZR,c5,_R,c5,$R,c5,aS,c5,bS,c5,cS,c5,dS,c5,eS,c5,fS,c5,gS,c5,hS,c5,iS,c5,jS,c5,kS,c5,lS,c5,mS,c5,nS,c5,oS,c5,pS,c5,qS,c5,rS,c5,sS,c5,tS,c5,uS,c5,vS,c5,wS,c5,xS,c5,yS,c5,zS,c5,AS,c5,BS,c5,CS,c5,DS,c5,ES,c5,FS,c5,RM,UM,XM,ZM,Tk,tk,Zp,nq,Cq,Fq,Fr,nu,qu,eN,kN,yN,UP,NQ,SQ,GQ,OQ,sQ,qQ,Ln,Gm,Jm,Hn,Fn,Pn,Wn,pF,qF,rF,rQ,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var Pb=[d5,d5,HS,d5,IS,d5,JS,d5,KS,d5,LS,d5,MS,d5,NS,d5,OS,d5,PS,d5,QS,d5,RS,d5,SS,d5,TS,d5,US,d5,VS,d5,WS,d5,XS,d5,YS,d5,ZS,d5,_S,d5,$S,d5,aT,d5,bT,d5,cT,d5,dT,d5,eT,d5,fT,d5,gT,d5,hT,d5,iT,d5,jT,d5,kT,d5,lT,d5,mT,d5,nT,d5,oT,d5,pT,d5,qT,d5,rT,d5,sT,d5,tT,d5,uT,d5,vT,d5,wT,d5,xT,d5,yT,d5,zT,d5,AT,d5,BT,d5,CT,d5,DT,d5,ET,d5,FT,d5,GT,d5,HT,d5,IT,d5,JT,d5,KT,d5,LT,d5,MT,d5,NT,d5,OT,d5,PT,d5,QT,d5,KQ,AN,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5];var Qb=[e5,e5,ST,e5,TT,e5,UT,e5,VT,e5,WT,e5,XT,e5,YT,e5,ZT,e5,_T,e5,$T,e5,aU,e5,bU,e5,cU,e5,dU,e5,eU,e5,fU,e5,gU,e5,hU,e5,iU,e5,jU,e5,kU,e5,lU,e5,mU,e5,nU,e5,oU,e5,pU,e5,qU,e5,rU,e5,sU,e5,tU,e5,uU,e5,vU,e5,wU,e5,xU,e5,yU,e5,zU,e5,AU,e5,BU,e5,CU,e5,DU,e5,EU,e5,FU,e5,GU,e5,HU,e5,IU,e5,JU,e5,KU,e5,LU,e5,MU,e5,NU,e5,OU,e5,PU,e5,QU,e5,RU,e5,SU,e5,TU,e5,UU,e5,VU,e5,WU,e5,XU,e5,YU,e5,ZU,e5,_U,e5,$U,e5,Wc,Xc,Zc,_c,$c,ad,mu,uu,vu,Ju,Ou,oN,ZO,zP,AP,BP,DP,FP,Kd,Uq,tj,hk,Kn,Oz,TQ,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5];var Rb=[f5,f5,bV,f5,cV,f5,dV,f5,eV,f5,fV,f5,gV,f5,hV,f5,iV,f5,jV,f5,kV,f5,lV,f5,mV,f5,nV,f5,oV,f5,pV,f5,qV,f5,rV,f5,sV,f5,tV,f5,uV,f5,vV,f5,wV,f5,xV,f5,yV,f5,zV,f5,AV,f5,BV,f5,CV,f5,DV,f5,EV,f5,FV,f5,GV,f5,HV,f5,IV,f5,JV,f5,KV,f5,LV,f5,MV,f5,NV,f5,OV,f5,PV,f5,QV,f5,RV,f5,SV,f5,TV,f5,UV,f5,VV,f5,WV,f5,XV,f5,YV,f5,ZV,f5,_V,f5,$V,f5,aW,f5,bW,f5,cW,f5,dW,f5,eW,f5,fW,f5,gW,f5,hW,f5,iW,f5,jW,f5,kW,f5,ou,tu,Ry,Xx,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5];var Sb=[g5,g5,mW,g5,nW,g5,oW,g5,pW,g5,qW,g5,rW,g5,sW,g5,tW,g5,uW,g5,vW,g5,wW,g5,xW,g5,yW,g5,zW,g5,AW,g5,BW,g5,CW,g5,DW,g5,EW,g5,FW,g5,GW,g5,HW,g5,IW,g5,JW,g5,KW,g5,LW,g5,MW,g5,NW,g5,OW,g5,PW,g5,QW,g5,RW,g5,SW,g5,TW,g5,UW,g5,VW,g5,WW,g5,XW,g5,YW,g5,ZW,g5,_W,g5,$W,g5,aX,g5,bX,g5,cX,g5,dX,g5,eX,g5,fX,g5,gX,g5,hX,g5,iX,g5,jX,g5,kX,g5,lX,g5,mX,g5,nX,g5,oX,g5,pX,g5,qX,g5,rX,g5,sX,g5,tX,g5,uX,g5,vX,g5,Jk,Kk,lk,bq,rq,uq,Jq,gQ,PK,QK,RK,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5];var Tb=[h5,h5,xX,h5,yX,h5,zX,h5,AX,h5,BX,h5,CX,h5,DX,h5,EX,h5,FX,h5,GX,h5,HX,h5,IX,h5,JX,h5,KX,h5,LX,h5,MX,h5,NX,h5,OX,h5,PX,h5,QX,h5,RX,h5,SX,h5,TX,h5,UX,h5,VX,h5,WX,h5,XX,h5,YX,h5,ZX,h5,_X,h5,$X,h5,aY,h5,bY,h5,cY,h5,dY,h5,eY,h5,fY,h5,gY,h5,hY,h5,iY,h5,jY,h5,kY,h5,lY,h5,mY,h5,nY,h5,oY,h5,pY,h5,qY,h5,rY,h5,sY,h5,tY,h5,uY,h5,vY,h5,wY,h5,xY,h5,yY,h5,zY,h5,AY,h5,BY,h5,CY,h5,DY,h5,EY,h5,FY,h5,GY,h5,Mk,Nk,Pk,Rk,Sk,Wk,Xk,Yk,Zk,nk,pk,rk,sk,_p,aq,oq,qq,wq,yq,Aq,Bq,Gq,Iq,Cr,lu,pu,Iu,Lu,Mu,Nu,bN,lN,mN,FQ,RQ,PQ,RN,aO,pQ,ae,$f,Yq,fq,gq,kq,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5];var Ub=[i5,i5,IY,i5,JY,i5,KY,i5,LY,i5,MY,i5,NY,i5,OY,i5,PY,i5,QY,i5,RY,i5,SY,i5,TY,i5,UY,i5,VY,i5,WY,i5,XY,i5,YY,i5,ZY,i5,_Y,i5,$Y,i5,aZ,i5,bZ,i5,cZ,i5,dZ,i5,eZ,i5,fZ,i5,gZ,i5,hZ,i5,iZ,i5,jZ,i5,kZ,i5,lZ,i5,mZ,i5,nZ,i5,oZ,i5,pZ,i5,qZ,i5,rZ,i5,sZ,i5,tZ,i5,uZ,i5,vZ,i5,wZ,i5,xZ,i5,yZ,i5,zZ,i5,AZ,i5,BZ,i5,CZ,i5,DZ,i5,EZ,i5,FZ,i5,GZ,i5,HZ,i5,IZ,i5,JZ,i5,KZ,i5,LZ,i5,MZ,i5,NZ,i5,OZ,i5,PZ,i5,QZ,i5,RZ,i5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,lm,mm,nm,om,ru,Nz,Jz,Iz,kB,tB,WO,XO,YO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,CP,EP,hC,vO,wO,xO,yO,zO,AO,BO,CO,DO,EO,FO,hi,Up,Nt,Pt,Qt,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5];var Vb=[j5,j5,TZ,j5,UZ,j5,VZ,j5,WZ,j5,XZ,j5,YZ,j5,ZZ,j5,_Z,j5,$Z,j5,a_,j5,b_,j5,c_,j5,d_,j5,e_,j5,f_,j5,g_,j5,h_,j5,i_,j5,j_,j5,k_,j5,l_,j5,m_,j5,n_,j5,o_,j5,p_,j5,q_,j5,r_,j5,s_,j5,t_,j5,u_,j5,v_,j5,w_,j5,x_,j5,y_,j5,z_,j5,A_,j5,B_,j5,C_,j5,D_,j5,E_,j5,F_,j5,G_,j5,H_,j5,I_,j5,J_,j5,K_,j5,L_,j5,M_,j5,N_,j5,O_,j5,P_,j5,Q_,j5,R_,j5,S_,j5,T_,j5,U_,j5,V_,j5,W_,j5,X_,j5,Y_,j5,Z_,j5,__,j5,$_,j5,a$,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5];var Wb=[k5,k5,c$,k5,d$,k5,e$,k5,f$,k5,g$,k5,h$,k5,i$,k5,j$,k5,k$,k5,l$,k5,m$,k5,n$,k5,o$,k5,p$,k5,q$,k5,r$,k5,s$,k5,t$,k5,u$,k5,v$,k5,w$,k5,x$,k5,y$,k5,z$,k5,A$,k5,B$,k5,C$,k5,D$,k5,E$,k5,F$,k5,G$,k5,H$,k5,I$,k5,J$,k5,K$,k5,L$,k5,M$,k5,N$,k5,O$,k5,P$,k5,Q$,k5,R$,k5,S$,k5,T$,k5,U$,k5,V$,k5,W$,k5,X$,k5,Y$,k5,Z$,k5,_$,k5,$$,k5,a0,k5,b0,k5,c0,k5,d0,k5,e0,k5,f0,k5,g0,k5,h0,k5,i0,k5,j0,k5,k0,k5,l0,k5,SM,TM,Vk,$p,pq,Hq,nN,rN,Mh,ii,wj,Dj,Ek,Fk,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5];var Xb=[l5,l5,n0,l5,o0,l5,p0,l5,q0,l5,r0,l5,s0,l5,t0,l5,u0,l5,v0,l5,w0,l5,x0,l5,y0,l5,z0,l5,A0,l5,B0,l5,C0,l5,D0,l5,E0,l5,F0,l5,G0,l5,H0,l5,I0,l5,J0,l5,K0,l5,L0,l5,M0,l5,N0,l5,O0,l5,P0,l5,Q0,l5,R0,l5,S0,l5,T0,l5,U0,l5,V0,l5,W0,l5,X0,l5,Y0,l5,Z0,l5,_0,l5,$0,l5,a1,l5,b1,l5,c1,l5,d1,l5,e1,l5,f1,l5,g1,l5,h1,l5,i1,l5,j1,l5,k1,l5,l1,l5,m1,l5,n1,l5,o1,l5,p1,l5,q1,l5,r1,l5,s1,l5,t1,l5,u1,l5,v1,l5,w1,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5];var Yb=[m5,m5,y1,m5,z1,m5,A1,m5,B1,m5,C1,m5,D1,m5,E1,m5,F1,m5,G1,m5,H1,m5,I1,m5,J1,m5,K1,m5,L1,m5,M1,m5,N1,m5,O1,m5,P1,m5,Q1,m5,R1,m5,S1,m5,T1,m5,U1,m5,V1,m5,W1,m5,X1,m5,Y1,m5,Z1,m5,_1,m5,$1,m5,a2,m5,b2,m5,c2,m5,d2,m5,e2,m5,f2,m5,g2,m5,h2,m5,i2,m5,j2,m5,k2,m5,l2,m5,m2,m5,n2,m5,o2,m5,p2,m5,q2,m5,r2,m5,s2,m5,t2,m5,u2,m5,v2,m5,w2,m5,x2,m5,y2,m5,z2,m5,A2,m5,B2,m5,C2,m5,D2,m5,E2,m5,F2,m5,G2,m5,H2,m5,VM,WM,YM,_M,$M,Lk,Ok,Uk,$k,al,bl,cl,mk,ok,uk,vq,xq,Dq,Gr,Hr,Ku,lO,QN,aN,fN,gN,hN,iN,jN,pN,EQ,JQ,mQ,jQ,IQ,iQ,zN,lQ,hQ,kQ,SN,TN,UN,bO,cO,dO,kd,ld,ei,_f,Gk,Hk,Il,Jl,Ml,km,jt,os,Mt,Ot,Yx,Py,Qy,dy,ey,Dy,Jy,aB,bB,NF,TE,UE,yG,zG,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5];var Zb=[n5,n5,J2,n5,K2,n5,L2,n5,M2,n5,N2,n5,O2,n5,P2,n5,Q2,n5,R2,n5,S2,n5,T2,n5,U2,n5,V2,n5,W2,n5,X2,n5,Y2,n5,Z2,n5,_2,n5,$2,n5,a3,n5,b3,n5,c3,n5,d3,n5,e3,n5,f3,n5,g3,n5,h3,n5,i3,n5,j3,n5,k3,n5,l3,n5,m3,n5,n3,n5,o3,n5,p3,n5,q3,n5,r3,n5,s3,n5,t3,n5,u3,n5,v3,n5,w3,n5,x3,n5,y3,n5,z3,n5,A3,n5,B3,n5,C3,n5,D3,n5,E3,n5,F3,n5,G3,n5,H3,n5,I3,n5,J3,n5,K3,n5,L3,n5,M3,n5,N3,n5,O3,n5,P3,n5,Q3,n5,R3,n5,S3,n5,QM,Qk,_k,qk,zq,Dr,Er,cN,dN,qN,eO,Uj,Vj,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var _b=[o5,o5,U3,o5,V3,o5,W3,o5,X3,o5,Y3,o5,Z3,o5,_3,o5,$3,o5,a4,o5,b4,o5,c4,o5,d4,o5,e4,o5,f4,o5,g4,o5,h4,o5,i4,o5,j4,o5,k4,o5,l4,o5,m4,o5,n4,o5,o4,o5,p4,o5,q4,o5,r4,o5,s4,o5,t4,o5,u4,o5,v4,o5,w4,o5,x4,o5,y4,o5,z4,o5,A4,o5,B4,o5,C4,o5,D4,o5,E4,o5,F4,o5,G4,o5,H4,o5,I4,o5,J4,o5,K4,o5,L4,o5,M4,o5,N4,o5,O4,o5,P4,o5,Q4,o5,R4,o5,S4,o5,T4,o5,U4,o5,V4,o5,W4,o5,X4,o5,Y4,o5,Z4,o5,_4,o5,$4,o5,a5,o5,b5,o5,su,vd,xd,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];return{_sqlite3_value_blob:$d,_sqlite3_column_name:Ie,_sqlite3_reset:Zd,_sqlite3_column_type:He,_sqlite3_exec:$e,_sqlite3_result_null:me,_sqlite3_step:ue,_bitshift64Lshr:hR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:sf,_sqlite3_open:Ef,_bitshift64Shl:lR,_sqlite3_result_text:ne,_fflush:tQ,_sqlite3_column_bytes:Be,_sqlite3_bind_int:Le,_sqlite3_bind_blob:Je,_memset:kR,_sqlite3_value_double:ce,_memcpy:iR,_sqlite3_result_double:ie,_sqlite3_value_text:ae,_sqlite3_changes:pf,_sqlite3_column_blob:Ae,_sqlite3_bind_parameter_index:Se,_sqlite3_value_type:fe,_i64Subtract:fR,_sqlite3_column_text:Fe,_i64Add:gR,_sqlite3_value_bytes:be,_sqlite3_finalize:Yd,_sqlite3_column_double:Ce,_sqlite3_create_function_v2:wf,_sqlite3_free:Kd,_sqlite3_value_int:de,_sqlite3_data_count:ze,_sqlite3_bind_text:Oe,_sqlite3_bind_double:Ke,___errno_location:SP,_RegisterExtensionFunctions:ic,_free:$Q,_memmove:jR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:_d,_malloc:_Q,runPostSets:eR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:vR,dynCall_i:GS,dynCall_vi:RT,dynCall_vii:aV,dynCall_iiiiiii:lW,dynCall_ii:wX,dynCall_viii:HY,dynCall_v:SZ,dynCall_iiiii:b$,dynCall_viiiiii:m0,dynCall_iii:x1,dynCall_iiiiii:I2,dynCall_viiii:T3}}) +var Ob=[l5,l5,FR,l5,GR,l5,HR,l5,IR,l5,JR,l5,KR,l5,LR,l5,MR,l5,NR,l5,OR,l5,PR,l5,QR,l5,RR,l5,SR,l5,TR,l5,UR,l5,VR,l5,WR,l5,XR,l5,YR,l5,ZR,l5,_R,l5,$R,l5,aS,l5,bS,l5,cS,l5,dS,l5,eS,l5,fS,l5,gS,l5,hS,l5,iS,l5,jS,l5,kS,l5,lS,l5,mS,l5,nS,l5,oS,l5,pS,l5,qS,l5,rS,l5,sS,l5,tS,l5,uS,l5,vS,l5,wS,l5,xS,l5,yS,l5,zS,l5,AS,l5,BS,l5,CS,l5,DS,l5,ES,l5,FS,l5,GS,l5,HS,l5,IS,l5,JS,l5,KS,l5,LS,l5,MS,l5,NS,l5,OS,l5,ZM,aN,dN,fN,Xk,xk,cq,sq,Hq,Kq,Kr,tu,wu,mN,sN,GN,bQ,WQ,$Q,PQ,XQ,BQ,zQ,Pn,Km,Nm,Ln,Jn,Tn,_n,wF,xF,yF,AQ,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5];var Pb=[m5,m5,QS,m5,RS,m5,SS,m5,TS,m5,US,m5,VS,m5,WS,m5,XS,m5,YS,m5,ZS,m5,_S,m5,$S,m5,aT,m5,bT,m5,cT,m5,dT,m5,eT,m5,fT,m5,gT,m5,hT,m5,iT,m5,jT,m5,kT,m5,lT,m5,mT,m5,nT,m5,oT,m5,pT,m5,qT,m5,rT,m5,sT,m5,tT,m5,uT,m5,vT,m5,wT,m5,xT,m5,yT,m5,zT,m5,AT,m5,BT,m5,CT,m5,DT,m5,ET,m5,FT,m5,GT,m5,HT,m5,IT,m5,JT,m5,KT,m5,LT,m5,MT,m5,NT,m5,OT,m5,PT,m5,QT,m5,RT,m5,ST,m5,TT,m5,UT,m5,VT,m5,WT,m5,XT,m5,YT,m5,ZT,m5,TQ,IN,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5];var Qb=[n5,n5,$T,n5,aU,n5,bU,n5,cU,n5,dU,n5,eU,n5,fU,n5,gU,n5,hU,n5,iU,n5,jU,n5,kU,n5,lU,n5,mU,n5,nU,n5,oU,n5,pU,n5,qU,n5,rU,n5,sU,n5,tU,n5,uU,n5,vU,n5,wU,n5,xU,n5,yU,n5,zU,n5,AU,n5,BU,n5,CU,n5,DU,n5,EU,n5,FU,n5,GU,n5,HU,n5,IU,n5,JU,n5,KU,n5,LU,n5,MU,n5,NU,n5,OU,n5,PU,n5,QU,n5,RU,n5,SU,n5,TU,n5,UU,n5,VU,n5,WU,n5,XU,n5,YU,n5,ZU,n5,_U,n5,$U,n5,aV,n5,bV,n5,cV,n5,dV,n5,eV,n5,fV,n5,gV,n5,hV,n5,iV,n5,Wc,Xc,Zc,_c,$c,ad,su,Au,Bu,Pu,Uu,wN,KO,hP,iP,jP,lP,nP,Kd,Zq,wj,lk,On,Uz,aR,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var Rb=[o5,o5,kV,o5,lV,o5,mV,o5,nV,o5,oV,o5,pV,o5,qV,o5,rV,o5,sV,o5,tV,o5,uV,o5,vV,o5,wV,o5,xV,o5,yV,o5,zV,o5,AV,o5,BV,o5,CV,o5,DV,o5,EV,o5,FV,o5,GV,o5,HV,o5,IV,o5,JV,o5,KV,o5,LV,o5,MV,o5,NV,o5,OV,o5,PV,o5,QV,o5,RV,o5,SV,o5,TV,o5,UV,o5,VV,o5,WV,o5,XV,o5,YV,o5,ZV,o5,_V,o5,$V,o5,aW,o5,bW,o5,cW,o5,dW,o5,eW,o5,fW,o5,gW,o5,hW,o5,iW,o5,jW,o5,kW,o5,lW,o5,mW,o5,nW,o5,oW,o5,pW,o5,qW,o5,rW,o5,sW,o5,tW,o5,uu,zu,Xy,by,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var Sb=[p5,p5,vW,p5,wW,p5,xW,p5,yW,p5,zW,p5,AW,p5,BW,p5,CW,p5,DW,p5,EW,p5,FW,p5,GW,p5,HW,p5,IW,p5,JW,p5,KW,p5,LW,p5,MW,p5,NW,p5,OW,p5,PW,p5,QW,p5,RW,p5,SW,p5,TW,p5,UW,p5,VW,p5,WW,p5,XW,p5,YW,p5,ZW,p5,_W,p5,$W,p5,aX,p5,bX,p5,cX,p5,dX,p5,eX,p5,fX,p5,gX,p5,hX,p5,iX,p5,jX,p5,kX,p5,lX,p5,mX,p5,nX,p5,oX,p5,pX,p5,qX,p5,rX,p5,sX,p5,tX,p5,uX,p5,vX,p5,wX,p5,xX,p5,yX,p5,zX,p5,AX,p5,BX,p5,CX,p5,DX,p5,EX,p5,Nk,Ok,pk,gq,wq,zq,Oq,pQ,XK,YK,ZK,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5];var Tb=[q5,q5,GX,q5,HX,q5,IX,q5,JX,q5,KX,q5,LX,q5,MX,q5,NX,q5,OX,q5,PX,q5,QX,q5,RX,q5,SX,q5,TX,q5,UX,q5,VX,q5,WX,q5,XX,q5,YX,q5,ZX,q5,_X,q5,$X,q5,aY,q5,bY,q5,cY,q5,dY,q5,eY,q5,fY,q5,gY,q5,hY,q5,iY,q5,jY,q5,kY,q5,lY,q5,mY,q5,nY,q5,oY,q5,pY,q5,qY,q5,rY,q5,sY,q5,tY,q5,uY,q5,vY,q5,wY,q5,xY,q5,yY,q5,zY,q5,AY,q5,BY,q5,CY,q5,DY,q5,EY,q5,FY,q5,GY,q5,HY,q5,IY,q5,JY,q5,KY,q5,LY,q5,MY,q5,NY,q5,OY,q5,PY,q5,Qk,Rk,Tk,Vk,Wk,_k,$k,al,bl,rk,tk,vk,wk,dq,fq,tq,vq,Bq,Dq,Fq,Gq,Lq,Nq,Hr,ru,vu,Ou,Ru,Su,Tu,jN,tN,uN,OQ,_Q,YQ,ZN,iO,yQ,ae,ag,br,kq,lq,pq,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5];var Ub=[r5,r5,RY,r5,SY,r5,TY,r5,UY,r5,VY,r5,WY,r5,XY,r5,YY,r5,ZY,r5,_Y,r5,$Y,r5,aZ,r5,bZ,r5,cZ,r5,dZ,r5,eZ,r5,fZ,r5,gZ,r5,hZ,r5,iZ,r5,jZ,r5,kZ,r5,lZ,r5,mZ,r5,nZ,r5,oZ,r5,pZ,r5,qZ,r5,rZ,r5,sZ,r5,tZ,r5,uZ,r5,vZ,r5,wZ,r5,xZ,r5,yZ,r5,zZ,r5,AZ,r5,BZ,r5,CZ,r5,DZ,r5,EZ,r5,FZ,r5,GZ,r5,HZ,r5,IZ,r5,JZ,r5,KZ,r5,LZ,r5,MZ,r5,NZ,r5,OZ,r5,PZ,r5,QZ,r5,RZ,r5,SZ,r5,TZ,r5,UZ,r5,VZ,r5,WZ,r5,XZ,r5,YZ,r5,ZZ,r5,_Z,r5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,pm,qm,rm,sm,xu,Tz,Pz,Oz,qB,zB,EO,FO,GO,HO,IO,JO,LO,MO,NO,OO,PO,QO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,kP,mP,nC,rP,sP,tP,uP,vP,wP,xP,yP,PP,QP,RP,ji,Yp,Ut,Wt,Xt,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5];var Vb=[s5,s5,a_,s5,b_,s5,c_,s5,d_,s5,e_,s5,f_,s5,g_,s5,h_,s5,i_,s5,j_,s5,k_,s5,l_,s5,m_,s5,n_,s5,o_,s5,p_,s5,q_,s5,r_,s5,s_,s5,t_,s5,u_,s5,v_,s5,w_,s5,x_,s5,y_,s5,z_,s5,A_,s5,B_,s5,C_,s5,D_,s5,E_,s5,F_,s5,G_,s5,H_,s5,I_,s5,J_,s5,K_,s5,L_,s5,M_,s5,N_,s5,O_,s5,P_,s5,Q_,s5,R_,s5,S_,s5,T_,s5,U_,s5,V_,s5,W_,s5,X_,s5,Y_,s5,Z_,s5,__,s5,$_,s5,a$,s5,b$,s5,c$,s5,d$,s5,e$,s5,f$,s5,g$,s5,h$,s5,i$,s5,j$,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5];var Wb=[t5,t5,l$,t5,m$,t5,n$,t5,o$,t5,p$,t5,q$,t5,r$,t5,s$,t5,t$,t5,u$,t5,v$,t5,w$,t5,x$,t5,y$,t5,z$,t5,A$,t5,B$,t5,C$,t5,D$,t5,E$,t5,F$,t5,G$,t5,H$,t5,I$,t5,J$,t5,K$,t5,L$,t5,M$,t5,N$,t5,O$,t5,P$,t5,Q$,t5,R$,t5,S$,t5,T$,t5,U$,t5,V$,t5,W$,t5,X$,t5,Y$,t5,Z$,t5,_$,t5,$$,t5,a0,t5,b0,t5,c0,t5,d0,t5,e0,t5,f0,t5,g0,t5,h0,t5,i0,t5,j0,t5,k0,t5,l0,t5,m0,t5,n0,t5,o0,t5,p0,t5,q0,t5,r0,t5,s0,t5,t0,t5,u0,t5,_M,$M,Zk,eq,uq,Mq,vN,zN,Oh,ki,zj,Gj,Ik,Jk,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var Xb=[u5,u5,w0,u5,x0,u5,y0,u5,z0,u5,A0,u5,B0,u5,C0,u5,D0,u5,E0,u5,F0,u5,G0,u5,H0,u5,I0,u5,J0,u5,K0,u5,L0,u5,M0,u5,N0,u5,O0,u5,P0,u5,Q0,u5,R0,u5,S0,u5,T0,u5,U0,u5,V0,u5,W0,u5,X0,u5,Y0,u5,Z0,u5,_0,u5,$0,u5,a1,u5,b1,u5,c1,u5,d1,u5,e1,u5,f1,u5,g1,u5,h1,u5,i1,u5,j1,u5,k1,u5,l1,u5,m1,u5,n1,u5,o1,u5,p1,u5,q1,u5,r1,u5,s1,u5,t1,u5,u1,u5,v1,u5,w1,u5,x1,u5,y1,u5,z1,u5,A1,u5,B1,u5,C1,u5,D1,u5,E1,u5,F1,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5];var Yb=[v5,v5,H1,v5,I1,v5,J1,v5,K1,v5,L1,v5,M1,v5,N1,v5,O1,v5,P1,v5,Q1,v5,R1,v5,S1,v5,T1,v5,U1,v5,V1,v5,W1,v5,X1,v5,Y1,v5,Z1,v5,_1,v5,$1,v5,a2,v5,b2,v5,c2,v5,d2,v5,e2,v5,f2,v5,g2,v5,h2,v5,i2,v5,j2,v5,k2,v5,l2,v5,m2,v5,n2,v5,o2,v5,p2,v5,q2,v5,r2,v5,s2,v5,t2,v5,u2,v5,v2,v5,w2,v5,x2,v5,y2,v5,z2,v5,A2,v5,B2,v5,C2,v5,D2,v5,E2,v5,F2,v5,G2,v5,H2,v5,I2,v5,J2,v5,K2,v5,L2,v5,M2,v5,N2,v5,O2,v5,P2,v5,Q2,v5,bN,cN,eN,gN,hN,Pk,Sk,Yk,dl,el,fl,gl,qk,sk,yk,Aq,Cq,Iq,Lr,Mr,Qu,tO,YN,iN,nN,oN,pN,qN,rN,xN,NQ,SQ,vQ,sQ,RQ,rQ,HN,uQ,qQ,tQ,_N,$N,aO,jO,kO,lO,kd,ld,gi,$f,Kk,Lk,Ml,Nl,Ql,om,pt,ts,Tt,Vt,cy,Vy,Wy,jy,ky,Jy,Py,gB,hB,UF,_E,$E,FG,GG,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5];var Zb=[w5,w5,S2,w5,T2,w5,U2,w5,V2,w5,W2,w5,X2,w5,Y2,w5,Z2,w5,_2,w5,$2,w5,a3,w5,b3,w5,c3,w5,d3,w5,e3,w5,f3,w5,g3,w5,h3,w5,i3,w5,j3,w5,k3,w5,l3,w5,m3,w5,n3,w5,o3,w5,p3,w5,q3,w5,r3,w5,s3,w5,t3,w5,u3,w5,v3,w5,w3,w5,x3,w5,y3,w5,z3,w5,A3,w5,B3,w5,C3,w5,D3,w5,E3,w5,F3,w5,G3,w5,H3,w5,I3,w5,J3,w5,K3,w5,L3,w5,M3,w5,N3,w5,O3,w5,P3,w5,Q3,w5,R3,w5,S3,w5,T3,w5,U3,w5,V3,w5,W3,w5,X3,w5,Y3,w5,Z3,w5,_3,w5,$3,w5,YM,Uk,cl,uk,Eq,Ir,Jr,kN,lN,yN,mO,Yj,Zj,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var _b=[x5,x5,b4,x5,c4,x5,d4,x5,e4,x5,f4,x5,g4,x5,h4,x5,i4,x5,j4,x5,k4,x5,l4,x5,m4,x5,n4,x5,o4,x5,p4,x5,q4,x5,r4,x5,s4,x5,t4,x5,u4,x5,v4,x5,w4,x5,x4,x5,y4,x5,z4,x5,A4,x5,B4,x5,C4,x5,D4,x5,E4,x5,F4,x5,G4,x5,H4,x5,I4,x5,J4,x5,K4,x5,L4,x5,M4,x5,N4,x5,O4,x5,P4,x5,Q4,x5,R4,x5,S4,x5,T4,x5,U4,x5,V4,x5,W4,x5,X4,x5,Y4,x5,Z4,x5,_4,x5,$4,x5,a5,x5,b5,x5,c5,x5,d5,x5,e5,x5,f5,x5,g5,x5,h5,x5,i5,x5,j5,x5,k5,x5,yu,vd,xd,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5];return{_sqlite3_value_blob:$d,_sqlite3_column_name:Ie,_sqlite3_reset:Zd,_sqlite3_column_type:He,_sqlite3_exec:$e,_sqlite3_result_null:me,_sqlite3_step:ue,_bitshift64Lshr:qR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:uR,_sqlite3_result_text:ne,_fflush:CQ,_sqlite3_column_bytes:Be,_sqlite3_bind_int:Le,_sqlite3_bind_blob:Je,_memset:tR,_sqlite3_value_double:ce,_memcpy:rR,_sqlite3_result_double:ie,_sqlite3_value_text:ae,_sqlite3_changes:qf,_sqlite3_column_blob:Ae,_sqlite3_bind_parameter_index:Se,_sqlite3_value_type:fe,_i64Subtract:oR,_sqlite3_column_text:Fe,_i64Add:pR,_sqlite3_value_bytes:be,_sqlite3_finalize:Yd,_sqlite3_column_double:Ce,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:de,_sqlite3_data_count:ze,_sqlite3_bind_text:Oe,_sqlite3_bind_double:Ke,___errno_location:$P,_RegisterExtensionFunctions:ic,_free:iR,_memmove:sR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:_d,_malloc:hR,runPostSets:nR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:ER,dynCall_i:PS,dynCall_vi:_T,dynCall_vii:jV,dynCall_iiiiiii:uW,dynCall_ii:FX,dynCall_viii:QY,dynCall_v:$Z,dynCall_iiiii:k$,dynCall_viiiiii:v0,dynCall_iii:G1,dynCall_iiiiii:R2,dynCall_viiii:a4}}) // EMSCRIPTEN_END_ASM diff --git a/js/worker.sql.js b/js/worker.sql.js index ad8903a6..0e4007ba 100644 --- a/js/worker.sql.js +++ b/js/worker.sql.js @@ -36,56 +36,55 @@ function ab(a){for(;0>0]=a[c],c+=1}f.writeStringToMemory=wa;function ua(a,b){for(var c=0;c>0]=a[c]}f.writeArrayToMemory=ua; function Ka(a,b,c){for(var d=0;d>0]=a.charCodeAt(d);c||(u[b>>0]=0)}f.writeAsciiToMemory=Ka;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0});Math.De=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.ue=Math.clz32; var Aa=Math.abs,ib=Math.cos,jb=Math.sin,kb=Math.tan,lb=Math.acos,mb=Math.asin,nb=Math.atan,ob=Math.atan2,pb=Math.exp,qb=Math.log,rb=Math.sqrt,Da=Math.ceil,Ca=Math.floor,sb=Math.pow,Ba=Math.min,tb=0,ub=null,vb=null;function wb(){tb++;f.monitorRunDependencies&&f.monitorRunDependencies(tb)}f.addRunDependency=wb;function xb(){tb--;f.monitorRunDependencies&&f.monitorRunDependencies(tb);if(0==tb&&(null!==ub&&(clearInterval(ub),ub=null),vb)){var a=vb;vb=null;a()}}f.removeRunDependency=xb; -f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+50112;cb.push(); -z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,67,0,0,1,0,1,0,130,0,0,0,151,67,0,0,1,0,1,0,131,0,0,0,156,67,0,0,1,0,1,0,132,0,0,0,161,67,0,0,2,0,1,0,133,0,0,0,166,67,0,0,2,0,1,0,133,0,0,0,172,67,0,0,1,0,1,0,134,0,0,0,178,67,0,0,1,0,1,0,135,0,0,0,184,67,0,0,1,0,1,0,136,0,0,0,190,67,0,0,2,0,1,0,137,0,0,0,201,67,0,0,1,0,1,0,138,0,0,0,209,67, -0,0,1,0,1,0,139,0,0,0,217,67,0,0,1,0,1,0,140,0,0,0,221,67,0,0,1,0,1,0,141,0,0,0,225,67,0,0,1,0,1,0,142,0,0,0,229,67,0,0,1,0,1,0,143,0,0,0,233,67,0,0,1,0,1,0,144,0,0,0,238,67,0,0,1,0,1,0,145,0,0,0,243,67,0,0,1,0,1,0,146,0,0,0,248,67,0,0,1,0,1,0,147,0,0,0,253,67,0,0,1,0,1,0,148,0,0,0,232,101,0,0,1,0,1,0,149,0,0,0,1,68,0,0,1,0,1,0,150,0,0,0,7,68,0,0,2,0,1,0,151,0,0,0,13,68,0,0,1,0,1,0,152,0,0,0,18,68,0,0,1,0,1,0,153,0,0,0,23,68,0,0,1,0,1,0,154,0,0,0,30,68,0,0,1,0,1,0,155,0,0,0,35,68,0,0,1,0,1,0,156, -0,0,0,41,68,0,0,0,0,1,1,157,0,0,0,44,68,0,0,2,0,1,0,158,0,0,0,54,68,0,0,2,0,1,0,159,0,0,0,54,68,0,0,3,0,1,0,159,0,0,0,64,68,0,0,2,0,1,0,160,0,0,0,72,68,0,0,2,0,1,0,161,0,0,0,81,68,0,0,1,0,1,0,162,0,0,0,89,68,0,0,1,0,1,0,163,0,0,0,96,68,0,0,2,0,1,0,164,0,0,0,101,68,0,0,2,0,1,0,165,0,0,0,106,68,0,0,2,0,1,0,166,0,0,0,111,68,0,0,2,0,1,0,167,0,0,0,121,68,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,68,0,0,1,0,0,0,168,0,0,0,131,0,0,0,76,105,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,68,0,0,1,0,0,0,169,0,0,0,133,0,0,0, -143,68,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,68,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,223,183,0,0,235,183,0,0,247,183,0,0,15,184,0,0,26,184,0,0,46,184,0,0,60,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,184,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,189,177,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0, -133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,199,177,0,0,20,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,212,177,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,202,154,59,0,202,154,59,208,7, -0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138, -0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,84,0,0,21,85,0,0,89,85,0,0,117,85,0,0,146,85,0,0,173,85,0,0,201,85,0,0,226,85,0,0,250,85,0,0,59,86,0,0,118,86,0,0,186,86,0,0,234,86,0,0,90,87,0,0,225,87,0,0,21,88,0,0,87,88,0,0,130,88,0,0,189,88,0,0,228,88,0,0,16,89,0,0,57,89,0,0,104,89,0,0,146,89,0,0,66, -75,0,0,66,75,0,0,184,89,0,0,239,89,0,0,44,90,0,0,149,90,0,0,252,90,0,0,51,91,0,0,109,91,0,0,216,91,0,0,39,92,0,0,104,92,0,0,164,92,0,0,212,92,0,0,62,93,0,0,135,93,0,0,99,83,0,0,170,0,0,0,107,83,0,0,171,0,0,0,125,83,0,0,172,0,0,0,115,83,0,0,173,0,0,0,79,96,0,0,2,0,4,0,82,96,0,0,3,1,3,0,86,96,0,0,3,1,2,0,90,96,0,0,4,0,1,0,115,83,0,0,9,0,0,0,59,100,0,0,6,0,0,0,178,97,0,0,8,0,0,0,187,97,0,0,10,0,0,0,66,100,0,0,5,0,0,0,116,97,0,0,7,0,0,0,72,100,0,0,10,0,0,0,83,100,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0, -0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0, -1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0, -18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1, -252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236, -67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200, -115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128, -183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128, -163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255, -3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164, -94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +f.preloadedImages={};f.preloadedAudios={};Va=8;ma=Va+49760;cb.push(); +z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,66,0,0,1,0,1,0,130,0,0,0,151,66,0,0,1,0,1,0,131,0,0,0,156,66,0,0,1,0,1,0,132,0,0,0,161,66,0,0,2,0,1,0,133,0,0,0,166,66,0,0,2,0,1,0,133,0,0,0,172,66,0,0,1,0,1,0,134,0,0,0,178,66,0,0,1,0,1,0,135,0,0,0,184,66,0,0,1,0,1,0,136,0,0,0,190,66,0,0,2,0,1,0,137,0,0,0,201,66,0,0,1,0,1,0,138,0,0,0,209,66, +0,0,1,0,1,0,139,0,0,0,217,66,0,0,1,0,1,0,140,0,0,0,221,66,0,0,1,0,1,0,141,0,0,0,225,66,0,0,1,0,1,0,142,0,0,0,229,66,0,0,1,0,1,0,143,0,0,0,233,66,0,0,1,0,1,0,144,0,0,0,238,66,0,0,1,0,1,0,145,0,0,0,243,66,0,0,1,0,1,0,146,0,0,0,248,66,0,0,1,0,1,0,147,0,0,0,253,66,0,0,1,0,1,0,148,0,0,0,239,100,0,0,1,0,1,0,149,0,0,0,1,67,0,0,1,0,1,0,150,0,0,0,7,67,0,0,2,0,1,0,151,0,0,0,13,67,0,0,1,0,1,0,152,0,0,0,18,67,0,0,1,0,1,0,153,0,0,0,23,67,0,0,1,0,1,0,154,0,0,0,30,67,0,0,1,0,1,0,155,0,0,0,35,67,0,0,1,0,1,0,156, +0,0,0,41,67,0,0,0,0,1,1,157,0,0,0,44,67,0,0,2,0,1,0,158,0,0,0,54,67,0,0,2,0,1,0,159,0,0,0,54,67,0,0,3,0,1,0,159,0,0,0,64,67,0,0,2,0,1,0,160,0,0,0,72,67,0,0,2,0,1,0,161,0,0,0,81,67,0,0,1,0,1,0,162,0,0,0,89,67,0,0,1,0,1,0,163,0,0,0,96,67,0,0,2,0,1,0,164,0,0,0,101,67,0,0,2,0,1,0,165,0,0,0,106,67,0,0,2,0,1,0,166,0,0,0,111,67,0,0,2,0,1,0,167,0,0,0,121,67,0,0,1,0,0,0,168,0,0,0,130,0,0,0,127,67,0,0,1,0,0,0,168,0,0,0,131,0,0,0,61,104,0,0,1,0,0,0,169,0,0,0,132,0,0,0,136,67,0,0,1,0,0,0,169,0,0,0,133,0,0,0, +143,67,0,0,1,0,0,0,169,0,0,0,134,0,0,0,158,67,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,0,0,0,0,114,182,0,0,126,182,0,0,138,182,0,0,162,182,0,0,173,182,0,0,193,182,0,0,207,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,97,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,102,176,0,0,12,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0, +0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,112,176,0,0,16,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,125,176,0,0,8,28,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0, +128,0,236,3,0,0,0,0,0,32,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,130,0,0,0,131,0,0,0,135,0,0,0,130,0,0,0,131,0,0,0,136,0,0,0,132,0,0,0,131,0,0,0,133,0,0,0,134,0,0,0,134,0,0,0,137,0,0,0,132,0,0, +0,135,0,0,0,136,0,0,0,137,0,0,0,138,0,0,0,132,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,0,0,0,0,132,0,0,0,132,0,0,0,142,0,0,0,139,0,0,0,139,0,0,0,143,0,0,0,140,0,0,0,133,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,83,0,0,24,84,0,0,92,84,0,0,120,84,0,0,149,84,0,0,176,84,0,0,204,84,0,0,229,84,0,0,253,84,0,0,62,85,0,0,121,85,0,0,189,85,0,0,237,85,0,0,93,86,0,0,228,86,0,0,24,87,0,0,90,87,0,0,133,87,0,0,192,87,0, +0,231,87,0,0,19,88,0,0,60,88,0,0,107,88,0,0,149,88,0,0,66,74,0,0,66,74,0,0,187,88,0,0,242,88,0,0,47,89,0,0,166,89,0,0,13,90,0,0,68,90,0,0,126,90,0,0,233,90,0,0,56,91,0,0,121,91,0,0,181,91,0,0,229,91,0,0,79,92,0,0,152,92,0,0,102,82,0,0,170,0,0,0,110,82,0,0,171,0,0,0,128,82,0,0,172,0,0,0,118,82,0,0,173,0,0,0,96,95,0,0,2,0,4,0,99,95,0,0,3,1,3,0,103,95,0,0,3,1,2,0,107,95,0,0,4,0,1,0,118,82,0,0,9,0,0,0,76,99,0,0,6,0,0,0,195,96,0,0,8,0,0,0,204,96,0,0,10,0,0,0,83,99,0,0,5,0,0,0,133,96,0,0,7,0,0,0,89,99, +0,0,10,0,0,0,100,99,0,0,10,0,0,0,0,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,144,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0,137,0,0,0,145,0,0,0,134,0,0,0,146,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,135,0,0,0,145,0,0,0,147,0,0,0,147,0,0,0,146,0,0,0,148,0,0,0,134,0,0,0,149,0,0,0,150,0,0,0,138,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,139,0,0,0,151,0,0,0,135,0,0,0,152,0,0,0,136,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232, +0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2,0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0, +3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36,0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0, +7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0,1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156, +65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1,236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112, +0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0,3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179, +0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181,0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160, +2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163,2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3, +15,4,252,3,7,104,252,3,6,236,252,3,11,108,253,3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91, +7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1,36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,165,105,0,0,0,0,2,0,172,105,0,0,0,0,4,0,0,0,0,0,0,0,0,0,148,105,0,0,1,0,0,0,151,105,0,0,2,0,0,0,154,105,0,0,6,0,0,0,158,105,0,0,128,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0, -0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,136,0,0,1,0,0,0,66,81,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,32,124,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,22,124,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,2,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35, -82,0,0,95,124,0,0,108,124,0,0,0,0,0,0,121,124,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,115,125,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,240,125,0,0,0,0,0,0,0,0,0,0,67,133,0,0,0,0,0,0,8,0,0,0,35,129,0,0,1,1,0,0,0,0,0,0,82,133,0,0,2,0,0,0,0,0,16,0,98,133,0,0,3,0,0,0,0,0,0,0,158,128,0,0,4,1,0,0,0,0,0,0,67,129,0,0,5,0,0,0,0,0,0,0,111,133,0,0,6,0,0,0,0,0,0,0,131,133,0,0,2,0,0,0,0,0,0,16,147,133,0,0,2,0,0,0,16,0,0,0,168,133,0,0,7,0,0,0,0,0,0,0,183,133,0,0,8,0,0,0,0,0,0, -0,199,133,0,0,2,0,0,0,128,0,0,0,213,133,0,0,0,2,0,0,15,0,0,0,226,133,0,0,10,1,0,0,0,0,0,0,240,133,0,0,11,1,0,0,0,0,0,0,3,134,0,0,2,0,0,0,0,0,0,1,22,134,0,0,2,0,0,0,0,1,0,0,170,130,0,0,12,0,0,0,0,0,0,0,45,134,0,0,13,1,0,0,0,0,0,0,63,134,0,0,14,1,0,0,0,0,0,0,80,134,0,0,2,0,0,0,0,0,8,0,93,134,0,0,0,2,0,0,0,0,0,0,108,134,0,0,2,0,0,0,4,0,0,0,126,134,0,0,2,0,0,0,8,0,0,0,136,134,0,0,2,0,0,0,0,32,0,0,161,134,0,0,15,1,0,0,0,0,0,0,180,134,0,0,16,1,0,0,0,0,0,0,191,134,0,0,17,1,0,0,0,0,0,0,202,134,0,0,16,1,0, -0,1,0,0,0,9,130,0,0,18,1,0,0,0,0,0,0,3,129,0,0,19,1,0,0,0,0,0,0,16,129,0,0,20,0,0,0,0,0,0,0,214,134,0,0,2,0,0,0,0,128,0,0,246,128,0,0,22,0,0,0,0,0,0,0,233,134,0,0,23,1,0,0,0,0,0,0,79,129,0,0,24,0,0,0,0,0,0,0,248,134,0,0,23,1,0,0,0,0,0,0,205,128,0,0,25,0,0,0,0,0,0,0,3,135,0,0,2,0,0,0,0,0,0,2,14,135,0,0,18,1,0,0,0,0,0,0,26,135,0,0,2,0,0,0,0,64,0,0,43,135,0,0,2,0,0,0,0,0,4,0,62,135,0,0,2,0,0,0,0,0,2,0,88,135,0,0,0,0,0,0,1,0,0,0,215,128,0,0,26,0,0,0,0,0,0,0,103,135,0,0,2,0,0,0,64,0,0,0,122,135,0,0,27, -0,0,0,0,0,0,0,32,131,0,0,28,0,0,0,0,0,0,0,136,135,0,0,29,1,0,0,0,0,0,0,146,129,0,0,30,1,0,0,0,0,0,0,142,135,0,0,31,1,0,0,0,0,0,0,89,129,0,0,32,0,0,0,0,0,0,0,100,129,0,0,33,0,0,0,0,0,0,0,48,131,0,0,34,0,0,0,0,0,0,0,153,135,0,0,0,0,0,0,6,0,0,0,5,131,0,0,35,0,0,0,0,0,0,0,166,135,0,0,36,1,0,0,0,0,0,0,181,135,0,0,2,0,0,0,0,8,1,0,165,132,0,0,120,132,0,0,197,132,0,0,202,132,0,0,210,132,0,0,134,132,0,0,13,132,0,0,178,132,0,0,184,132,0,0,190,132,0,0,159,132,0,0,165,132,0,0,120,132,0,0,88,97,0,0,169,132,0, -0,174,132,0,0,82,132,0,0,120,132,0,0,137,132,0,0,144,132,0,0,151,132,0,0,130,132,0,0,132,132,0,0,134,132,0,0,82,132,0,0,120,132,0,0,125,132,0,0,82,132,0,0,120,132,0,0,79,132,0,0,82,132,0,0,13,132,0,0,86,132,0,0,91,132,0,0,94,132,0,0,104,132,0,0,114,132,0,0,13,132,0,0,248,99,0,0,19,132,0,0,26,132,0,0,74,131,0,0,1,0,0,0,79,131,0,0,1,0,0,0,85,131,0,0,2,0,0,0,94,131,0,0,3,0,0,0,103,131,0,0,2,0,0,0,111,131,0,0,3,0,0,0,119,131,0,0,0,0,0,0,126,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,131,0,0,232,101,0,0,61,131, -0,0,44,133,0,0,51,133,0,0,59,133,0,0,252,130,0,0,158,105,0,0,63,133,0,0,114,132,0,0,64,0,0,0,141,131,0,0,66,0,0,0,136,131,0,0,65,0,0,0,113,139,0,0,67,0,0,0,79,120,0,0,3,0,0,0,75,120,0,0,3,0,0,0,66,75,0,0,150,149,0,0,156,149,0,0,161,149,0,0,166,149,0,0,26,150,0,0,32,150,0,0,40,150,0,0,255,157,0,0,4,158,0,0,11,158,0,0,14,158,0,0,17,158,0,0,20,158,0,0,23,158,0,0,26,158,0,0,34,158,0,0,66,100,0,0,86,132,0,0,43,158,0,0,62,169,0,0,71,169,0,0,78,169,0,0,84,169,0,0,167,169,0,0,177,169,0,0,188,169,0,0,200, -169,0,0,211,169,0,0,222,169,0,0,233,169,0,0,238,169,0,0,243,169,0,0,254,169,0,0,10,170,0,0,17,170,0,0,25,170,0,0,33,170,0,0,38,170,0,0,44,170,0,0,51,170,0,0,65,170,0,0,78,170,0,0,84,170,0,0,88,170,0,0,99,170,0,0,104,170,0,0,112,170,0,0,118,170,0,0,125,170,0,0,130,170,0,0,139,170,0,0,144,170,0,0,153,170,0,0,158,170,0,0,163,170,0,0,169,170,0,0,177,170,0,0,187,170,0,0,195,170,0,0,205,170,0,0,214,170,0,0,221,170,0,0,231,170,0,0,244,170,0,0,249,170,0,0,5,171,0,0,13,171,0,0,18,171,0,0,23,171,0,0,26,171, -0,0,32,171,0,0,39,171,0,0,48,171,0,0,59,171,0,0,65,171,0,0,76,171,0,0,86,171,0,0,96,171,0,0,105,171,0,0,115,171,0,0,129,171,0,0,143,171,0,0,154,171,0,0,167,171,0,0,178,171,0,0,184,171,0,0,196,171,0,0,203,171,0,0,210,171,0,0,217,171,0,0,224,171,0,0,235,171,0,0,244,171,0,0,250,171,0,0,4,172,0,0,7,172,0,0,11,172,0,0,20,172,0,0,29,172,0,0,36,172,0,0,43,172,0,0,51,172,0,0,54,172,0,0,57,172,0,0,60,172,0,0,63,172,0,0,66,172,0,0,69,172,0,0,79,172,0,0,86,172,0,0,92,172,0,0,102,172,0,0,113,172,0,0,117,172, -0,0,126,172,0,0,135,172,0,0,142,172,0,0,152,172,0,0,159,172,0,0,166,172,0,0,173,172,0,0,181,172,0,0,192,172,0,0,206,172,0,0,217,172,0,0,224,172,0,0,232,172,0,0,238,172,0,0,246,172,0,0,251,172,0,0,6,173,0,0,11,173,0,0,18,173,0,0,31,173,0,0,41,173,0,0,51,173,0,0,56,173,0,0,65,173,0,0,71,173,0,0,77,173,0,0,83,173,0,0,89,173,0,0,97,173,0,0,103,173,0,0,115,173,0,0,127,173,0,0,139,173,0,0,151,173,0,0,164,173,0,0,174,173,0,0,184,173,0,0,196,173,0,0,208,173,0,0,218,173,0,0,229,173,0,0,240,173,0,0,248,173, -0,0,253,173,0,0,3,174,0,0,13,174,0,0,22,174,0,0,29,174,0,0,35,174,0,0,47,174,0,0,57,174,0,0,70,174,0,0,83,174,0,0,92,174,0,0,100,174,0,0,109,174,0,0,120,174,0,0,127,174,0,0,137,174,0,0,144,174,0,0,152,174,0,0,161,174,0,0,167,174,0,0,175,174,0,0,181,174,0,0,189,174,0,0,199,174,0,0,208,174,0,0,213,174,0,0,224,174,0,0,229,174,0,0,57,175,0,0,70,175,0,0,0,0,0,0,106,175,0,0,131,175,0,0,162,175,0,0,181,175,0,0,136,126,0,0,206,175,0,0,243,175,0,0,255,175,0,0,14,176,0,0,47,176,0,0,65,176,0,0,90,176,0,0,119, -176,0,0,136,176,0,0,96,160,0,0,90,74,0,0,159,176,0,0,177,176,0,0,195,176,0,0,234,176,0,0,9,177,0,0,30,177,0,0,62,177,0,0,96,177,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,3,178,0,0,145,0,0,0,0,0,0,0,222,177,0,0,163,0,0,0,0,0,0,0,81,105,0,0,160,0,0,0,0,0,0,0,8,178,0,0,161,0,0,0,0,0,0,0,15,178,0,0,162,0,0,0,0,0,0,0,20,178,0, -0,163,0,0,0,0,0,0,0,26,178,0,0,164,0,0,0,0,0,0,0,36,178,0,0,146,0,0,0,0,0,0,0,42,178,0,0,147,0,0,0,0,0,0,0,47,178,0,0,0,0,0,0,0,0,0,0,53,178,0,0,0,0,0,0,0,0,0,0,61,178,0,0,148,0,0,0,0,0,0,0,67,178,0,0,0,0,0,0,0,0,0,0,74,178,0,0,0,0,0,0,0,0,0,0,83,178,0,0,165,0,0,0,0,0,0,0,90,178,0,0,0,0,0,0,0,0,0,0,100,178,0,0,164,0,0,0,0,0,0,0,107,178,0,0,166,0,0,0,0,0,0,0,121,178,0,0,167,0,0,0,0,0,0,0,127,178,0,0,165,0,0,0,0,0,0,0,133,178,0,0,149,0,0,0,0,0,0,0,140,178,0,0,130,0,0,0,0,0,0,0,148,178,0,0,137,0,0,0, -0,0,0,0,153,178,0,0,168,0,0,0,0,0,0,0,160,178,0,0,0,0,0,0,0,0,0,0,167,178,0,0,131,0,0,0,0,0,0,0,179,178,0,0,150,0,0,0,0,0,0,0,188,178,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,179,0,0,38,179,0,0,47,179,0,0,52,179,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0,174,0,0,0,175, -0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,46,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,52,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,58,182,0,0, -0,0,0,0,0,0,0,0,255,255,33,8,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,181,142,0,0,0,0,0,0,0,0,0,0,255,255,33,8,1,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,182,0,0,0,142,0,0,0,185,142,0,0,0,0,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,63,182, -0,0,0,0,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,70,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,77,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,83,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,90,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,97,182,0,0,0,0,0,0,0,0,0,0,255,255,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,105,182,0,0,0,0, -0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,110,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,114,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,120,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,126,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,255, -255,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,132,182,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,141,182,0,0,0,0,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,145,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,152,182,0,0,0,0,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,161,182,0,0,0,0,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,172,182,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,179,182,0,0,0,0,0,0,0,0,0,0,1,0,1, -0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,186,182,0,0,0,0,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,197,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,204,182,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,219,182,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,236,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,247,182,0,0,0,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,17,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0, -0,0,0,0,0,203,0,0,0,0,0,0,0,42,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,204,0,0,0,0,0,0,0,48,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,66,183,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,74,183,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,88,183,0,0,0,0,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,96,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,105,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0, -0,0,144,0,0,0,109,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,145,0,0,0,115,183,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,119,183,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,125,183,0,0,0,0,0,0,0,0,0,0,2,0,13,8,58,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,141,131,0,0,0,0,0,0,0,0,0,0,2,0,5,8,62,75,0,0,0,0,0,0, -212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,3,0,5,8,62,75,0,0,0,0,0,0,212,0,0,0,0,0,0,0,136,131,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,173,180,0,0,0,0,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,193,180,0,0,0,0,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,215,180,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,2,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,12,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0, -0,218,0,0,0,0,0,0,0,17,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,22,181,0,0,0,0,0,0,0,0,0,0,255,255,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,31,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,40,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,53,181,0,0,0,0,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,71,181,0,0,0,0,0,0,0,0,0,0,158,141,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,36,39,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,196,191,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,153,0,0,0,135,0,0,0,136,0,0,0,140,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,104,0,0,0,0,2,0,157,104,0,0,0,0,4,0,0,0,0,0,0,0,0,0,133,104,0,0,1,0,0,0,136,104,0,0,2,0,0,0,139,104,0,0,6,0,0,0,143,104,0,0,128,0,0,0, +0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,154,0,0,0,136,0,0,0,141,0,0,0,130,0,0,0,155,0,0,0,142,0,0,0,174,0,0,0,130,0,0,0,131,0,0,0,137,0,0,0,138,0,0,0,156,0,0,0,139,0,0,0,150,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,140,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,146,135,0,0,1,0,0,0,66,80,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,5,123,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,176,0,0,0,0,0,0,0,251,122,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,231,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,35,81,0,0,68,123,0,0,81,123,0,0,0,0,0,0,94,123,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,86,124,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,211,124,0,0,0,0,0,0,24,132,0,0,0,0,0,0,8,0,0,0,248,127,0,0,1,1,0,0,0,0,0,0,39,132,0,0,2,0,0,0,0,0,16,0,55,132,0,0,3,0,0,0,0,0,0,0,115,127,0,0,4,1,0,0,0,0,0,0,24,128,0,0,5,0,0,0,0,0,0,0,68,132,0,0,6,0,0,0,0,0,0,0,88,132,0,0,2,0,0,0,0,0,0,16,104,132,0,0,2,0,0,0,16,0,0,0,125,132,0,0,7,0,0,0,0,0,0,0,140,132,0,0,8,0,0,0,0, +0,0,0,156,132,0,0,2,0,0,0,128,0,0,0,170,132,0,0,0,2,0,0,15,0,0,0,183,132,0,0,10,1,0,0,0,0,0,0,197,132,0,0,11,1,0,0,0,0,0,0,216,132,0,0,2,0,0,0,0,0,0,1,235,132,0,0,2,0,0,0,0,1,0,0,127,129,0,0,12,0,0,0,0,0,0,0,2,133,0,0,13,1,0,0,0,0,0,0,20,133,0,0,14,1,0,0,0,0,0,0,37,133,0,0,2,0,0,0,0,0,8,0,50,133,0,0,0,2,0,0,0,0,0,0,65,133,0,0,2,0,0,0,4,0,0,0,83,133,0,0,2,0,0,0,8,0,0,0,93,133,0,0,2,0,0,0,0,32,0,0,118,133,0,0,15,1,0,0,0,0,0,0,137,133,0,0,16,1,0,0,0,0,0,0,148,133,0,0,17,1,0,0,0,0,0,0,159,133,0,0,16, +1,0,0,1,0,0,0,222,128,0,0,18,1,0,0,0,0,0,0,216,127,0,0,19,1,0,0,0,0,0,0,229,127,0,0,20,0,0,0,0,0,0,0,171,133,0,0,2,0,0,0,0,128,0,0,203,127,0,0,22,0,0,0,0,0,0,0,190,133,0,0,23,1,0,0,0,0,0,0,36,128,0,0,24,0,0,0,0,0,0,0,205,133,0,0,23,1,0,0,0,0,0,0,162,127,0,0,25,0,0,0,0,0,0,0,216,133,0,0,2,0,0,0,0,0,0,2,227,133,0,0,18,1,0,0,0,0,0,0,239,133,0,0,2,0,0,0,0,64,0,0,0,134,0,0,2,0,0,0,0,0,4,0,19,134,0,0,2,0,0,0,0,0,2,0,45,134,0,0,0,0,0,0,1,0,0,0,172,127,0,0,26,0,0,0,0,0,0,0,60,134,0,0,2,0,0,0,64,0,0,0,79, +134,0,0,27,0,0,0,0,0,0,0,245,129,0,0,28,0,0,0,0,0,0,0,93,134,0,0,29,1,0,0,0,0,0,0,103,128,0,0,30,1,0,0,0,0,0,0,99,134,0,0,31,1,0,0,0,0,0,0,46,128,0,0,32,0,0,0,0,0,0,0,57,128,0,0,33,0,0,0,0,0,0,0,5,130,0,0,34,0,0,0,0,0,0,0,110,134,0,0,0,0,0,0,6,0,0,0,218,129,0,0,35,0,0,0,0,0,0,0,123,134,0,0,36,1,0,0,0,0,0,0,138,134,0,0,2,0,0,0,0,8,1,0,122,131,0,0,77,131,0,0,154,131,0,0,159,131,0,0,167,131,0,0,91,131,0,0,226,130,0,0,135,131,0,0,141,131,0,0,147,131,0,0,116,131,0,0,122,131,0,0,77,131,0,0,105,96,0,0,126, +131,0,0,131,131,0,0,39,131,0,0,77,131,0,0,94,131,0,0,101,131,0,0,108,131,0,0,87,131,0,0,89,131,0,0,91,131,0,0,39,131,0,0,77,131,0,0,82,131,0,0,39,131,0,0,77,131,0,0,36,131,0,0,39,131,0,0,226,130,0,0,43,131,0,0,48,131,0,0,51,131,0,0,61,131,0,0,71,131,0,0,226,130,0,0,9,99,0,0,232,130,0,0,239,130,0,0,31,130,0,0,1,0,0,0,36,130,0,0,1,0,0,0,42,130,0,0,2,0,0,0,51,130,0,0,3,0,0,0,60,130,0,0,2,0,0,0,68,130,0,0,3,0,0,0,76,130,0,0,0,0,0,0,83,130,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,130,0,0,239,100,0,0,18,130,0,0, +1,132,0,0,8,132,0,0,16,132,0,0,209,129,0,0,143,104,0,0,20,132,0,0,71,131,0,0,64,0,0,0,98,130,0,0,66,0,0,0,93,130,0,0,65,0,0,0,22,138,0,0,67,0,0,0,60,119,0,0,3,0,0,0,56,119,0,0,3,0,0,0,66,74,0,0,59,148,0,0,65,148,0,0,70,148,0,0,75,148,0,0,191,148,0,0,197,148,0,0,205,148,0,0,162,156,0,0,167,156,0,0,174,156,0,0,177,156,0,0,180,156,0,0,183,156,0,0,186,156,0,0,189,156,0,0,197,156,0,0,83,99,0,0,43,131,0,0,206,156,0,0,231,167,0,0,240,167,0,0,247,167,0,0,253,167,0,0,80,168,0,0,90,168,0,0,101,168,0,0,113, +168,0,0,124,168,0,0,135,168,0,0,146,168,0,0,151,168,0,0,156,168,0,0,167,168,0,0,179,168,0,0,186,168,0,0,194,168,0,0,202,168,0,0,207,168,0,0,213,168,0,0,220,168,0,0,234,168,0,0,247,168,0,0,253,168,0,0,1,169,0,0,12,169,0,0,17,169,0,0,25,169,0,0,31,169,0,0,38,169,0,0,43,169,0,0,52,169,0,0,57,169,0,0,66,169,0,0,71,169,0,0,76,169,0,0,82,169,0,0,90,169,0,0,100,169,0,0,108,169,0,0,118,169,0,0,127,169,0,0,134,169,0,0,144,169,0,0,157,169,0,0,162,169,0,0,174,169,0,0,182,169,0,0,187,169,0,0,192,169,0,0,195, +169,0,0,201,169,0,0,208,169,0,0,217,169,0,0,228,169,0,0,234,169,0,0,245,169,0,0,255,169,0,0,9,170,0,0,18,170,0,0,28,170,0,0,42,170,0,0,56,170,0,0,67,170,0,0,80,170,0,0,91,170,0,0,97,170,0,0,109,170,0,0,116,170,0,0,123,170,0,0,130,170,0,0,137,170,0,0,148,170,0,0,157,170,0,0,163,170,0,0,173,170,0,0,176,170,0,0,180,170,0,0,189,170,0,0,198,170,0,0,205,170,0,0,212,170,0,0,220,170,0,0,223,170,0,0,226,170,0,0,229,170,0,0,232,170,0,0,235,170,0,0,238,170,0,0,248,170,0,0,255,170,0,0,5,171,0,0,15,171,0,0,26, +171,0,0,30,171,0,0,39,171,0,0,48,171,0,0,55,171,0,0,65,171,0,0,72,171,0,0,79,171,0,0,86,171,0,0,94,171,0,0,105,171,0,0,119,171,0,0,130,171,0,0,137,171,0,0,145,171,0,0,151,171,0,0,159,171,0,0,164,171,0,0,175,171,0,0,180,171,0,0,187,171,0,0,200,171,0,0,210,171,0,0,220,171,0,0,225,171,0,0,234,171,0,0,240,171,0,0,246,171,0,0,252,171,0,0,2,172,0,0,10,172,0,0,16,172,0,0,28,172,0,0,40,172,0,0,52,172,0,0,64,172,0,0,77,172,0,0,87,172,0,0,97,172,0,0,109,172,0,0,121,172,0,0,131,172,0,0,142,172,0,0,153,172,0, +0,161,172,0,0,166,172,0,0,172,172,0,0,182,172,0,0,191,172,0,0,198,172,0,0,204,172,0,0,216,172,0,0,226,172,0,0,239,172,0,0,252,172,0,0,5,173,0,0,13,173,0,0,22,173,0,0,33,173,0,0,40,173,0,0,50,173,0,0,57,173,0,0,65,173,0,0,74,173,0,0,80,173,0,0,88,173,0,0,94,173,0,0,102,173,0,0,112,173,0,0,121,173,0,0,126,173,0,0,137,173,0,0,142,173,0,0,226,173,0,0,239,173,0,0,0,0,0,0,19,174,0,0,44,174,0,0,75,174,0,0,94,174,0,0,24,100,0,0,119,174,0,0,156,174,0,0,168,174,0,0,183,174,0,0,216,174,0,0,234,174,0,0,3,175, +0,0,32,175,0,0,49,175,0,0,3,159,0,0,90,73,0,0,72,175,0,0,90,175,0,0,108,175,0,0,147,175,0,0,178,175,0,0,199,175,0,0,231,175,0,0,9,176,0,0,151,0,0,0,152,0,0,0,153,0,0,0,1,0,0,0,160,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,157,0,0,0,158,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,172,176,0,0,145,0,0,0,0,0,0,0,135,176,0,0,163,0,0,0,0,0,0,0,66,104,0,0,160,0,0,0,0,0,0,0,177,176,0,0,161,0,0,0,0,0,0,0,184,176,0,0,162,0,0,0,0,0,0, +0,189,176,0,0,163,0,0,0,0,0,0,0,195,176,0,0,164,0,0,0,0,0,0,0,205,176,0,0,146,0,0,0,0,0,0,0,211,176,0,0,147,0,0,0,0,0,0,0,216,176,0,0,0,0,0,0,0,0,0,0,222,176,0,0,0,0,0,0,0,0,0,0,230,176,0,0,148,0,0,0,0,0,0,0,236,176,0,0,0,0,0,0,0,0,0,0,243,176,0,0,0,0,0,0,0,0,0,0,252,176,0,0,165,0,0,0,0,0,0,0,3,177,0,0,0,0,0,0,0,0,0,0,13,177,0,0,164,0,0,0,0,0,0,0,20,177,0,0,166,0,0,0,0,0,0,0,34,177,0,0,167,0,0,0,0,0,0,0,40,177,0,0,165,0,0,0,0,0,0,0,46,177,0,0,149,0,0,0,0,0,0,0,53,177,0,0,130,0,0,0,0,0,0,0,61,177, +0,0,137,0,0,0,0,0,0,0,66,177,0,0,168,0,0,0,0,0,0,0,73,177,0,0,0,0,0,0,0,0,0,0,80,177,0,0,131,0,0,0,0,0,0,0,92,177,0,0,150,0,0,0,0,0,0,0,101,177,0,0,169,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,177,0,0,207,177,0,0,216,177,0,0,221,177,0,0,3,0,0,0,166,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,3,0,0,0,167,0,0,0,137,0,0,0,138,0,0,0,143,0,0,0,154,0,0,0,155,0,0,0,173,0,0,0, +174,0,0,0,175,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,140,0,0,0,136,0,0,0,141,0,0,0,159,0,0,0,139,0,0,0,137,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,86,179,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,181,0,0,0,0,0,0,0,112,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,137,179,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,146,179,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,157,179,0,0,0,0,0,0,1,0,1,8,1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,2,0,1,8, +1,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,164,179,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,170,179,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,176,179,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,141,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,90,141,0,0,0,0,0,0,255,0,33,8, +1,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,141,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,185,0,0,0,142,0,0,0,94,141,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,181,179,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,188,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,195,179,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,201,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,208,179,0,0,0,0,0,0,255,0,1, +8,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,216,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,221,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,225,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,231,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,237,179,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,243,179,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,247,179,0,0,0,0,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,254,179,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,5,180,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,16,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,23,180,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,200,0,0,0,0,0,0,0,38,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,55,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,202,0,0,0,0,0,0,0,66,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,72,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0, +0,0,204,0,0,0,0,0,0,0,90,180,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,98,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,112,180,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,120,180,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,129,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,143,0,0,0,136,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,209,0,0,0,144,0,0,0,140,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0, +209,0,0,0,145,0,0,0,146,180,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,210,0,0,0,146,0,0,0,150,180,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,211,0,0,0,147,0,0,0,156,180,0,0,0,0,0,0,2,0,13,8,58,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,98,130,0,0,0,0,0,0,2,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,3,0,5,8,62,74,0,0,0,0,0,0,212,0,0,0,0,0,0,0,93,130,0,0,0,0,0,0,1,0,1,8,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,169,180,0,0,0,0,0,0,67,140,0,0,255,0,1,32,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,234,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,244,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,249,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,254,180,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,7,181,0,0,0,0,0, +0,0,0,1,32,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,16,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,29,181,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,220,0,0,0,0,0,0,0,47,181,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,221,0,0,0,0,0,0,0,22,182,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,42,182,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,223,0,0,0,0,0,0,0,64,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,38,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0, +168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,87,190,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255],"i8",4,l.aa); z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188,0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133, 1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,33,0,32,0,30,0,28,0,26,0,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148,1,46,1,150,1,52,1,151,1,48,1, 152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142,3,24,2,145,3,14,17,163,3,14, @@ -93,251 +92,250 @@ z([2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,5 1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125,167,76,1,126,167,1,10,139,167, 0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255,192,255,196,255,198,255,200, 255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25,8,240,28,240,94,240,152,240, -202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,186,3,86,0,21,0,206,255,23,0,79,0,134,0,226,0,136,255,129,255,146,0,161,0,35,1,93,1,110,1,55,1,126,1,118,1,231,0,108,1,111,1,140,1,142,1,236,0,61,1,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255, -153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,204,1,247,1,55,2,57,2,60,2,65,2,68,2,70,2,72,2,75,2,81,2,119,2,132,2,134,2,137,2,143,2,145,2,147,2,149,2,152,2,158,2,196,2,208,2,247,2,3,3,42,3,54,3,93,3,105,3,144,3,162,3,179,3,182,3,189,3,191,3,195,3,198,3,200,3,230,3,237,3,245,3,254,3,1,4,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,153,255,218,1,212,0,15,0,242,1,222,0,255,1,153,255,97,0,45, -2,153,255,153,255,153,255,153,255,176,255,9,0,59,0,19,0,38,1,38,1,203,255,194,255,178,2,179,2,223,2,225,2,228,2,232,2,133,0,54,1,148,0,74,1,160,0,124,1,18,3,20,3,145,1,40,1,21,3,221,2,85,0,210,2,214,255,68,1,252,1,16,3,60,3,61,3,62,3,166,2,201,2,151,1,69,0,150,0,194,0,188,0,33,1,45,1,147,1,205,1,229,1,56,2,105,2,161,2,212,2,11,3,24,3,56,3,63,3,69,3,74,3,78,3,80,3,113,3,124,3,132,3,163,3,168,3,190,1,142,3,143,3,176,3,181,3,133,3,187,3,199,3,210,3,155,3,224,3,225,3,188,3,228,3,231,3,242,3,33,1,250, -3,9,4,19,4,22,4,25,4,32,4,166,3,205,3,229,3,232,3,234,3,133,3,244,3,251,3,36,4,246,3,236,3,252,3,207,3,0,4,208,3,16,4,11,4,23,4,21,4,253,3,239,3,27,4,29,4,7,4,10,4,59,4,2,4,58,4,60,4,240,3,241,3,65,4,12,4,44,4,35,4,45,4,47,4,48,4,49,4,81,4,87,4,52,4,26,4,56,4,66,4,55,4,91,4,93,4,34,4,24,4,104,4,114,4,116,4,100,4,121,4,124,4,125,4,127,4,107,4,111,4,113,4,117,4,106,4,118,4,119,4,120,4,123,4,110,4,126,4,128,4,82,4,88,4,89,4,92,4,90,4,101,4,99,4,103,4,147,4,151,4,95,4,140,4,96,4,97,4,142,4,122,4,131, -4,133,4,136,4,143,4,187,4,190,4,200,4,201,4,208,4,209,4,210,4,211,4,108,4,129,4,109,4,177,4,184,4,204,4,55,1,26,5,145,0,139,2,2,0,192,0,140,2,82,1,12,3,92,0,92,0,92,0,92,0,85,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,88,0,88,0,88,0,87,0,79,1,71,1,88,3,88,3,92,0,92,0,92,0,92,0,185,2,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,76,0,39,3,74,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,79,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,12, -3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,100,1,40,3,8,3,189,2,177,2,177,2,86,0,83,0,166,0,1,1,41,3,203,2,174,1,86,0,83,0,166,0,68,1,185,2,88,3,88,3,201,0,158,0,20,1,131,1,15,1,130,1,188,0,177,2,177,2,60,3,86,0,83,0,166,0,13,1,65,3,49,0,123,0,87,0,79,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,239,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,251,2,77,1,76,1,216,0,152,1,138,1,69,0,231,0,137,1,178,2,179,2,140,1,142,3,251,0,98,1,250,0,32,1,59, -1,174,1,140,3,174,1,141,3,89,0,89,0,88,0,88,0,88,0,87,0,79,1,135,1,88,3,88,3,178,2,179,2,183,0,95,0,123,0,128,1,125,1,124,1,65,3,31,0,65,3,49,0,144,3,144,3,239,2,240,2,123,1,123,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,152,1,143,1,179,1,145,2,88,3,88,3,90,1,57,0,232,0,60,3,109,0,192,2,110,1,177,2,177,2,107,1,57,3,248,2,97,0,237,2,240,2,65,3,49,0,196,2,196,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0, -91,0,92,0,92,0,92,0,92,0,167,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,114,0,22,0,105,1,176,2,58,0,152,1,134,1,251,0,93,1,240,0,213,0,250,2,177,2,177,2,79,3,173,2,115,0,105,1,231,0,137,1,177,2,177,2,140,1,183,0,177,2,177,2,128,1,125,1,124,1,105,1,88,3,88,3,178,2,179,2,160,0,159,0,223,0,123,1,226,2,25,0,38,3,195,2,73,3,143,0,177,2,177,2,67,3,136,1,83,1,254,2,254,2,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,146,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88, -0,87,0,79,1,55,1,72,3,72,3,72,3,10,1,1,1,178,2,179,2,10,3,194,2,86,0,83,0,166,0,219,0,178,2,179,2,225,2,1,0,178,2,179,2,177,2,177,2,177,2,177,2,174,1,86,0,83,0,166,0,249,0,176,2,169,3,88,3,88,3,171,1,187,2,188,2,60,3,42,1,178,2,179,2,221,0,174,2,115,0,123,0,176,3,27,3,65,3,48,0,86,1,49,1,202,3,79,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,172,3,73,3,167,2,201,2,173,1,67,3,174,1,251,0,98,1,250,0,99,1,32,1,178, -2,179,2,178,2,179,2,29,1,173,3,84,1,203,3,31,1,210,0,23,0,174,0,25,3,64,3,174,1,97,1,65,3,10,0,88,3,88,3,24,0,174,3,151,0,241,2,72,3,72,3,72,3,26,3,200,3,10,5,65,1,142,1,10,5,100,1,96,1,242,2,65,3,49,0,167,3,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,120,1,114,0,139,3,193,2,174,1,139,3,72,1,122,3,114,0,65,3,10,0,198,3,174,1,89,3,89,3,64,1,189,0,163,0,64,3,165,0,174,1,138,3,88,1,67,1,138,3,136,3,65,3,10,0,197, -3,50,1,88,3,88,3,187,0,163,1,65,3,10,0,220,0,101,3,104,3,64,3,222,0,147,1,65,3,49,0,195,4,25,3,68,0,169,3,150,1,245,0,66,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,93,3,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,148,1,213,0,250,2,66,3,89,1,114,0,172,3,134,3,112,1,215,2,5,0,60,1,192,0,140,1,4,3,12,3,13,1,230,0,242,0,3,3,244,0,141,1,164,0,173,3,129,1,123,0,91,1,55,0,99,1,73,1,88,3,88,3,216,2,77,1,76,1,176,2,200,3,11,5,212,2,174,3,11,5,157,1,214,0,65,3,9,0, -106,1,30,1,187,3,115,0,206,2,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,144,3,144,3,20,5,20,5,246,2,88,3,88,3,69,1,198,3,12,3,65,3,35,0,235,2,208,2,78,1,187,2,188,2,209,3,140,2,82,1,243,0,233,2,152,3,152,3,113,1,187,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,114,0,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,3,174,1,112,0,54,1,174,1,181,2,61,1,186,2,144,1,174, -1,25,3,103,1,174,1,249,3,174,1,192,0,174,1,145,1,12,3,174,1,104,1,65,3,36,0,65,3,12,0,174,1,65,3,27,0,60,1,88,3,88,3,65,3,37,0,20,0,65,3,38,0,65,3,39,0,65,3,28,0,72,0,65,3,29,0,151,2,152,2,153,2,8,1,65,3,40,0,234,0,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,55,1,174,1,186,2,174,1,149,3,147,0,174,1,165,0,148,3,19,1,65,3,41,0,174,1,12,3,174,1,21,0,174,1,3,1,174,1,6,1,18,1,174,1,111,1,65,3,42,0,65,3,11,0,174,1,65,3, -43,0,235,0,88,3,88,3,25,3,65,3,99,0,65,3,44,0,65,3,45,0,65,3,32,0,75,0,65,3,46,0,49,1,199,3,1,1,1,1,65,3,47,0,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,186,0,185,0,184,0,238,0,88,3,88,3,138,2,2,0,40,4,65,3,33,0,227,2,217,0,218,0,1,1,203,3,1,1,170,1,61,1,1,1,6,3,65,3,117,0,1,1,55,1,93,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0, -79,1,174,1,62,1,124,0,212,0,163,0,88,3,88,3,175,3,132,3,130,3,65,3,118,0,247,2,214,2,213,2,1,1,243,2,33,1,33,1,221,2,222,2,193,3,65,3,119,0,170,2,55,1,93,0,82,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,204,2,246,0,66,1,75,1,88,3,88,3,0,1,114,0,101,1,65,3,53,0,40,3,145,3,145,3,164,3,156,0,160,1,164,1,168,1,162,3,41,3,65,3,34,0,108,1,55,1,253,0,94,0,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0, -90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,174,1,114,0,114,0,114,0,192,3,88,3,88,3,51,1,2,1,62,3,65,3,100,0,191,0,252,0,121,1,11,1,68,0,197,0,68,0,5,1,204,2,1,3,65,3,50,0,71,0,143,3,143,3,7,1,84,0,100,3,103,3,92,3,92,3,91,0,91,0,92,0,92,0,92,0,92,0,174,1,90,0,90,0,90,0,90,0,89,0,89,0,88,0,88,0,88,0,87,0,79,1,80,0,169,1,34,3,3,0,190,4,191,0,174,1,9,1,80,1,80,1,65,3,101,0,229,2,80,0,169,1,129,3,3,0,211,2,210,2,172,1,209,2,80,1,80,1,174,1,125,3,14,1,174,1,197,0,65,3,102,0,174,1,32,3,172,1,174, -1,183,2,174,1,75,3,111,0,158,1,174,1,16,3,153,1,174,1,63,3,174,1,65,3,98,0,123,0,65,3,116,0,79,3,158,1,65,3,49,0,11,3,65,3,113,0,65,3,106,0,226,0,123,0,65,3,105,0,79,3,65,3,103,0,65,3,104,0,23,3,155,1,77,0,78,0,34,1,156,1,174,1,35,1,114,0,79,0,176,1,175,1,133,1,174,1,67,3,77,0,78,0,129,3,71,3,152,1,154,1,174,1,79,0,176,1,175,1,116,1,191,2,67,3,65,3,52,0,174,1,80,0,169,1,174,1,3,0,65,3,54,0,4,3,75,3,80,1,80,1,172,2,3,3,65,3,51,0,72,3,72,3,72,3,74,3,19,0,172,1,160,2,65,3,26,0,159,2,65,3,30,0,161,2, -72,3,72,3,72,3,74,3,19,0,207,0,149,2,22,1,48,1,148,0,24,1,158,1,26,1,248,0,102,1,54,3,126,1,6,0,92,1,161,0,17,1,80,0,169,1,79,3,3,0,166,3,127,3,208,2,126,3,80,1,80,1,40,1,157,0,159,1,241,0,28,1,162,2,190,3,194,0,185,3,172,1,183,3,180,3,77,0,78,0,9,3,63,1,56,0,59,0,135,0,79,0,176,1,175,1,121,0,66,0,67,3,146,0,128,0,94,1,158,1,51,3,130,0,95,1,131,0,132,0,133,0,119,1,173,0,107,0,138,0,149,0,79,3,109,1,178,0,62,0,70,0,169,1,168,3,3,0,59,3,121,3,115,1,255,0,80,1,80,1,24,3,72,3,72,3,72,3,74,3,19,0,77,0, -78,0,147,3,172,1,208,0,179,0,144,0,79,0,176,1,175,1,117,1,4,1,67,3,180,0,70,1,163,2,181,0,52,1,232,2,132,1,231,2,219,2,158,1,206,2,230,2,218,2,200,2,146,1,53,1,199,2,16,1,20,3,65,0,198,2,79,3,197,2,21,1,193,0,21,3,19,3,23,1,108,3,73,0,72,3,72,3,72,3,74,3,19,0,18,3,25,1,162,1,27,1,166,1,227,0,77,0,78,0,74,1,228,0,229,0,96,0,255,2,79,0,176,1,175,1,151,1,67,0,67,3,215,0,36,1,37,1,149,1,38,1,47,1,46,1,45,1,204,0,43,1,39,1,202,0,164,2,169,2,7,0,177,1,157,2,203,0,205,0,206,0,125,0,110,0,57,1,178,1,155, -2,154,2,146,2,168,0,224,0,237,0,72,3,72,3,72,3,74,3,19,0,120,0,144,2,81,1,236,0,155,0,167,0,85,1,233,0,58,1,108,0,137,3,135,3,58,3,127,0,126,0,244,2,170,0,129,0,172,0,247,0,160,3,134,0,136,0,171,0,60,0,61,0,123,0,169,0,137,0,165,3,175,0,176,0,159,3,8,0,13,0,177,0,254,0,150,3,139,0,191,0,156,3,140,0,114,1,166,2,150,0,118,1,182,0,18,1,12,1,141,0,122,0,63,0,14,0,122,1,15,0,127,1,64,0,225,0,78,3,77,3,106,3,16,0,4,0,217,2,253,2,2,3,162,0,139,1,209,0,211,0,142,0,33,3,110,3,28,3,56,1,71,0,68,0,107,3,105, -3,171,3,190,0,161,1,170,3,17,0,195,0,196,0,152,0,18,0,207,3,199,0,208,3,153,0,198,0,154,0,165,1,109,3,76,3,184,2,81,0,200,0,41,1,87,1,251,3,250,3,44,1,141,2,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,90,0,60,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,182,0,80,1,218,0,38,2,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4, -180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,218,0,218,0,162,1,239,1,23,2,23,2,33,0,43,0,10,0,226,255,167,255,167,255,167,255,11,0,169,1,169,1,12,1,199,1,93,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0, -218,0,218,0,218,0,172,2,138,0,10,0,43,0,125,0,125,0,125,0,125,0,125,0,125,0,167,255,167,255,167,255,228,0,85,1,85,1,207,0,20,1,44,1,24,1,96,1,98,1,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,51,2,51,2,51,2,218,0,218,0,179,1,218,0,218,0,218,0,67,2,218,0,218,0,73,2,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,218,0,69,2,0,3,199,2,199,2,199,2,192,2,215,0,41,4,244,2,178,1,197,2,197,2,200,2,178,1,200,2,22,2,90,3,129,2,185,3,197,2,168,255, -185,3,185,3,99,3,233,1,191,1,176,4,94,4,94,4,179,4,179,4,94,4,205,4,160,4,102,4,218,4,218,4,218,4,218,4,94,4,226,4,102,4,205,4,160,4,160,4,102,4,94,4,226,4,115,4,213,4,94,4,94,4,226,4,253,4,94,4,226,4,94,4,226,4,253,4,181,4,181,4,181,4,235,4,253,4,181,4,186,4,181,4,235,4,181,4,181,4,171,4,194,4,171,4,194,4,171,4,194,4,171,4,194,4,94,4,94,4,174,4,253,4,230,4,230,4,253,4,199,4,207,4,206,4,212,4,102,4,66,5,68,5,83,5,83,5,93,5,93,5,93,5,93,5,167,255,167,255,167,255,167,255,167,255,167,255,221,1,35,2, -130,1,50,3,238,2,253,2,188,2,238,3,219,2,243,3,247,3,248,3,249,3,180,3,68,3,167,3,191,2,255,3,31,4,40,4,53,4,87,3,150,3,63,4,61,4,99,2,112,5,114,5,97,5,236,4,105,5,53,5,108,5,102,5,103,5,7,5,254,4,17,5,9,5,110,5,8,5,118,5,134,5,13,5,6,5,60,5,61,5,32,5,116,5,109,5,24,5,146,5,143,5,127,5,43,5,11,5,98,5,128,5,99,5,94,5,113,5,49,5,135,5,138,5,141,5,50,5,56,5,142,5,115,5,144,5,145,5,140,5,147,5,117,5,148,5,149,5,119,5,125,5,150,5,151,5,152,5,63,5,154,5,157,5,155,5,156,5,59,5,160,5,161,5,158,5,159,5,163, -5,64,5,164,5,162,5,165,5,166,5,164,5,169,5,170,5,171,5,173,5,174,5,178,5,176,5,180,5,179,5,172,5,181,5,182,5,184,5,185,5,181,5,187,5,186,5,188,5,189,5,191,5,82,5,92,5,95,5,96,5,192,5,204,5,219,5,214,3,20,5,20,5,20,5,190,4,190,4,190,4,25,5,20,5,85,4,114,4,114,4,250,4,25,5,25,5,25,5,25,5,25,5,25,5,188,4,25,5,25,5,25,5,20,5,25,5,89,4,120,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,249,4,251,4,128,4,127,4,230,4,101,4,125,4,118,4,122,4,191,4,184,4,185,4,183,4,187,4,192,4,25,5,121,4,153,4,168,4,152,4,25, -5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,162,4,167,4,174,4,166,4,163,4,155,4,154,4,156,4,157,4,25,5,25,5,240,3,50,4,25,5,25,5,158,4,25,5,252,3,159,4,171,4,170,4,169,4,247,3,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,214,3,20,5,25,5,25,5,20,5,20,5,20,5,20, -5,20,5,20,5,12,5,89,4,79,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,0,5,254,4,25,5,203,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,85,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,220,3,25,5,223,4,85,4,85,4,85,4,87,4,65,4,77,4,222,3,124,4,103,4,103,4,235,4,124,4,235,4,21,4,44,4,18,4,114,4,103,4,186,4,114,4,114,4,86,4,77,4,25,5,5,5,94,4,94,4,253,4,253,4,94,4,133,4,54,4,124,4,61,4,61,4,61,4,61,4,94,4,237,3,124,4, -133,4,54,4,54,4,124,4,94,4,237,3,229,4,227,4,94,4,94,4,237,3,196,4,94,4,237,3,94,4,237,3,196,4,52,4,52,4,52,4,36,4,196,4,52,4,21,4,52,4,36,4,52,4,52,4,107,4,102,4,107,4,102,4,107,4,102,4,107,4,102,4,94,4,94,4,25,5,196,4,200,4,200,4,196,4,119,4,108,4,117,4,115,4,124,4,243,3,39,4,230,3,230,3,219,3,219,3,219,3,219,3,17,5,17,5,12,5,23,4,23,4,6,4,25,5,25,5,25,5,25,5,25,5,25,5,254,3,25,5,205,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,140,4,25,5,215,3,7,5,25,5,25,5, -4,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,233,4,25,5,25,5,25,5,25,5,25,5,25,5,226,4,225,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,68,4,25,5,25,5,25,5,72,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,116,4,25,5,109,4,25,5,189,4,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,25,5,22,5,25,5,25,5,25,5,21,5,25,5,25,5,25,5,25,5,25,5,142,4,25,5,141,4,145,4,25,5,228,3,25,5,16,0,2,2,12,0,14,0,24, -0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0, -99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114, -116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4, -4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0, -116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70, -117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116, -101,112,0,51,46,49,49,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133, -134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0, -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117, -99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0, -0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, -64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116,114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,50,45,49,53,32,49,55,58,50,57,58,50,52,32,51,100,56,54,50,102,50,48,55,101,51,97,100,99,48,48,102,55,56,48,54,54,55,57,57,97,99,53,97,56,99,50,56,50,52,51,48,97,53,102,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102, -97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4, -6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84, -85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67, -79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82, -69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111, -21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101,50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0, -107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0,82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44],"i8",4,l.aa+10622); -z([115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37, -115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116, -97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69, -0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97, -114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76, -84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69, -84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115, -101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114, -39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76, -65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100, -120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111, -117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68, -69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46, -39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84, -69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,71,82,79,85,80,32,66,89,32,108,101, -118,101,108,32,72,65,86,73,78,71,32,99,111,117,110,116,40,42,41,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32, -65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101, -97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78, -68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37, -37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39, -37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82, -79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101, -120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111, -110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69, -67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101, -100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84, -65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122, -101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95, -108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39, -37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107, -32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66, -41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120, -101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,102,116,115,51,116,111,107,101,110,105,122,101,58,32,100,105,115,97,98,108,101,100,32,45,32,114,101,98,117,105,108,100,32,119,105,116,104,32,45,68,83,81,76,73,84,69,95, -69,78,65,66,76,69,95,70,84,83,51,95,84,79,75,69,78,73,90,69,82,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99, -110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105, -99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105, -100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110, -97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115, -105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,32,97,116,32,108,105,110,101,32,37,100, -32,111,102,32,91,37,46,49,48,115,93,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99,104,101,0,109,111,100,101,0,97,99, -99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32, -99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107, -117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,117,110,107,110,111,119,110,32,116,97,98,108, -101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104, -105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69, -32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,144,1,145,2,145,1,146,1,146,3,147,0,147,1,147,3,148,1,149,3,151,0,151,1,151,2,150,0,150,1,150,1,150,1,149,2,149,2,149,2,153,1,153,0,149,2,149,3,149,5,149,2,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,160,3,160,1,164,3,165,1,152,1,152,1,152,1,166,0,166,1,168,1,168,4,168,6,169,1,169,2,170,1,170,1,167,2,167,0,173,2,173,2,173,4,173,3,173,3,173,2,173, -2,173,3,173,5,173,2,173,4,173,4,173,1,173,2,178,0,178,1,180,0,180,2,182,2,182,3,182,3,182,3,183,2,183,2,183,1,183,1,183,2,181,3,181,2,184,0,184,2,184,2,161,0,161,2,185,3,185,1,186,1,186,0,187,2,187,7,187,5,187,5,187,10,190,0,190,1,176,0,176,3,191,0,191,2,192,1,192,1,192,1,149,4,194,2,194,0,149,9,149,4,149,1,163,2,196,1,196,3,199,1,199,2,199,1,197,9,197,1,208,4,208,5,200,1,200,1,200,0,211,2,211,0,201,3,201,2,201,4,212,2,212,1,212,0,202,0,202,2,214,2,214,0,213,7,213,9,213,7,213,7,159,0,159,2,195,2, -215,1,215,2,215,3,215,4,217,2,217,0,216,0,216,3,216,2,218,4,218,0,206,0,206,3,188,4,188,2,177,1,177,1,177,0,204,0,204,3,205,0,205,2,207,0,207,2,207,4,207,4,149,6,203,0,203,2,149,8,220,5,220,3,149,6,149,7,221,2,221,1,222,0,222,3,219,3,219,1,175,1,175,3,174,1,175,1,175,1,175,3,175,5,174,1,174,1,175,1,175,3,175,6,175,5,175,4,174,1,175,3,175,3,175,3,175,3,175,3,175,3,175,3,175,3,223,1,223,2,175,3,175,5,175,2,175,3,175,3,175,4,175,2,175,2,175,2,175,2,224,1,224,2,175,5,225,1,225,2,175,5,175,3,175,5,175, -4,175,4,175,5,227,5,227,4,228,2,228,0,226,1,226,0,210,1,210,0,209,3,209,1,149,12,229,1,229,0,179,0,179,3,189,5,189,3,230,0,230,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,231,1,231,1,231,1,231,1,231,1,171,2,171,1,172,2,149,5,232,11,234,1,234,1,234,2,234,0,235,1,235,1,235,3,236,0,236,3,237,0,237,2,233,3,233,2,239,1,239,3,240,0,240,3,240,2,238,7,238,5,238,5,238,1,175,4,175,6,193,1,193,1,193,1,149,4,149,6,149,3,242,0,242,2,241,1,241,0,149,1,149,3,149,1,149,3,149,6,149,6,243,1,244,0,244,1,149,1, -149,4,245,8,246,1,246,3,247,0,247,2,248,1,248,3,249,1,250,0,250,4,250,2,198,0,198,2,198,3,251,6,251,8,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98, -108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111, -32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116, -32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101, -102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121, -112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105, -115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114, -105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75, -69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116, -121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115, -116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32,71,82,79,85,80,32,66,89,32, -99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69, -82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110, -117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115, -32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115, -116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105, -111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115, -0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37, -115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112, -101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76,32],"i8",4,l.aa+20862); -z([106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115,101, -110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37,100, -32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116, -111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,32,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32, -102,111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84, -69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101, -58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111, -32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116, -97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,111,117, -116,32,111,102,32,109,101,109,111,114,121,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117, -97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101, -97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73, -78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99, -117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116, -111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0, -105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111, -102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105, -109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101, -120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0, -78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102, -108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110, -100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97, -115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108, -95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112, -97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107, -95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32, -99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111, -114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111, -108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67, -65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69, -71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4, -3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,40,41,32,109,97,108,102,117,110,99,116,105,111,110,0,116,97,98,108,101,32,37,115,58,32,120,66,101,115,116,73,110,100,101,120,32,114,101,116,117,114,110,101,100,32,97,110,32,105,110,118,97,108,105,100,32,112,108,97,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82, -32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0,16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19, -19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111, -100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32, -111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32, -116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32, -0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108, -97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110, -103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111, -112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37, -81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101, -32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0, -97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115, -32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100, -0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69, -77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84, -79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44, -32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0, -32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25, -0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95,19,50,51,80,81,82,83,27,85,86,87,88,89,90,91,92,93,94,95,137,177,139,71,72,73,74,75,76,77,78,79,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,212,173,27,28,223,224,225,152,42,181,152,223,224,225, -95,97,50,51,99,100,101,102,103,104,105,27,28,59,223,224,225,112,174,175,66,94,95,71,72,73,74,75,76,77,78,79,80,81,82,83,195,85,86,87,88,89,90,91,92,93,94,95,19,197,89,90,220,209,210,26,119,120,97,98,208,100,108,109,110,152,157,152,107,152,109,89,90,91,92,93,94,95,163,50,51,97,98,99,55,66,102,103,104,174,175,174,175,132,133,192,193,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,152,209,210,148,149,50,51,100,53,154,59,156,174,229,27,28,232,163,163,22,192,193,174, -175,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,251,85,86,87,88,89,90,91,92,93,94,95,19,198,198,152,152,24,209,210,108,109,110,196,197,27,28,69,164,165,152,119,120,27,28,208,99,27,28,102,103,104,152,50,51,97,98,89,90,185,113,187,22,177,174,97,58,27,28,101,115,245,117,118,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,152,97,98,91,174,223,224,225,239,97,98,187,22,97,98,27,28,27,28,152,223,224,225,239,152,163,50,51,170,171,172,59,160,97,98,239,164,165, -66,242,124,174,175,195,22,23,69,71,72,73,74,75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,12,97,21,23,152,101,152,108,109,110,221,152,97,98,97,98,152,29,243,70,226,23,233,26,26,152,152,238,174,175,50,51,22,45,24,47,132,133,134,124,22,23,188,163,26,152,65,59,174,175,163,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,19,198,152,23,152,152,209,103,198,174,175,70,152,50,51,219,213,214,152,98,152,171,172,188,171,172,174,175,248,249,50,51,51,251,174, -175,220,74,75,152,188,152,174,175,140,124,26,163,188,16,130,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,209,196,197,23,231,198,12,231,219,37,22,107,24,208,116,27,112,201,62,121,64,152,152,29,52,66,221,211,221,219,50,51,60,89,90,152,22,23,183,45,26,47,22,174,175,238,152,164,165,106,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,132,133,119,120,163,50,51,111,70,97,174,175,181,182,170,171,172,0,1,2,140,190,108,109,110,51,71,72,73,74, -75,76,77,78,79,80,81,82,83,198,85,86,87,88,89,90,91,92,93,94,95,19,152,152,152,22,166,152,168,169,27,19,152,26,19,152,122,152,24,152,28,27,152,28,174,175,174,175,152,174,175,107,50,51,174,175,22,174,175,174,175,174,175,138,174,175,7,8,9,16,174,175,152,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,97,152,31,24,152,98,35,101,174,175,152,97,152,79,152,62,152,64,112,152,49,174,175,174,175,152,174,175,152,50,51,124,174,175,174,175,174,175,174,175,138,174,175,22,23, -152,152,174,175,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,108,109,110,152,50,51,146,147,23,174,175,26,195,195,152,70,152,168,169,152,26,174,175,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,246,247,213,214,50,51,195,152,195,174,175,195,100,101,152,195,152,152,7,8,152,174,175,163,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,27,152,189,189,50,51,195,198,152,174,175,33,132,133,152, -123,163,163,163,152,42,174,175,152,19,152,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,198,198,198,23,50,51,26,152,23,174,175,26,23,23,23,26,26,26,152,97,23,174,175,26,132,133,152,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,20,23,22,23,26,152,152,27,28,174,175,152,19,20,27,22,183,183,38,152,27,28,152,23,152,152,26,174,175,152,152,38,152,23,152,27,26,57,152,215,163,152,152,152,174,175,66,174,175,69,57,174,175,152,174,175,174,175,212,66,174, -175,69,174,175,174,175,152,152,89,90,152,193,152,152,198,96,97,98,91,152,101,89,90,97,152,209,210,152,96,97,98,235,152,101,174,175,152,19,20,152,22,174,175,116,97,27,28,152,121,174,175,132,133,134,135,136,38,152,174,175,152,174,175,152,132,133,134,135,136,234,152,212,150,199,212,57,212,240,240,203,178,200,216,186,177,19,20,69,22,203,177,182,177,27,28,202,200,228,216,216,155,39,122,159,38,159,41,89,90,91,159,241,241,22,96,97,98,71,130,101,222,191,18,57,203,194,159,194,194,194,18,158,244,191,222,69, -159,158,137,19,20,203,22,191,203,46,236,27,28,159,132,133,134,135,136,89,90,237,38,159,158,22,96,97,98,179,159,101,158,48,159,158,179,176,107,176,184,57,106,176,184,176,125,179,178,176,218,107,176,69,176,217,159,218,218,217,159,137,132,133,134,135,136,218,217,179,217,179,227,89,90,95,230,230,129,207,96,97,98,126,128,101,5,206,205,127,204,10,11,12,13,14,203,25,17,162,26,161,13,153,153,6,247,180,250,151,151,151,151,32,180,34,132,133,134,135,136,167,4,3,43,22,15,68,142,250,16,23,23,120,111,131,20,56, -123,125,16,1,123,131,63,79,79,66,67,111,28,36,122,1,5,22,107,140,54,54,26,61,107,44,20,24,19,105,112,23,22,40,22,22,53,22,53,22,53,23,23,23,22,22,30,116,23,122,26,23,23,22,28,11,124,114,26,26,23,23,23,36,24,23,36,26,22,22,36,23,122,23,22,26,22,24,23,23,23,22,122,23,141,122,122,15,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, -27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, -2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109, -109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117, -115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115, -116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110, -116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110, -115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117, -116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39, -0,37,48,50,120,0,39,0,99,97,110,110,111,116],"i8",4,l.aa+31102); -z([32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95, -100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65, -78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78, -68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84, -32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39, -68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110, -97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116, -101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112, -97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110, -105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111, -119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110, -118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103, -101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111, -111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46, -49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101, -114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121, -0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111, -114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100, -0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101,113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66, -105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116, -97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101, -97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67, -111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114,111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116, -101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98, -111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99, -107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114, -97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98, -114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105, -110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120, -45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105, -110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47, -110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110, -107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0, -1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101, -95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48, -54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50, -49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,115,117,98,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101, -114,0,99,111,97,108,101,115,99,101,0,104,101,120,0,105,102,110,117,108,108,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111, -110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,105,110,116,101,103,101,114,32,111,118, -101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,109,105,115,117,115,101,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77, -65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114, -101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111, -114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115, -115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115, -116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105, -114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115, -32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82, -101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100, -32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111, -114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116, -111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112, -111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101, -32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115, -0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41342);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8); -f._i64Subtract=zb;f._i64Add=Ab; +202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,113,255,181,3,136,0,131,0,208,255,211,255,158,0,241,0,22,0,153,0,226,0,163,0,106,1,108,1,110,1,56,1,58,1,112,1,237,0,236,0,44,1,184,1,114,0,103,1,63,1,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100, +0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,118,1,191,1,205,1,4,2,6,2,55,2,57,2,60,2,62,2,67,2,69,2,71,2,74,2,84,2,119,2,132,2,134,2,137,2,145,2,147,2,149,2,151,2,159,2,196,2,208,2,210,2,247,2,3,3,5,3,42,3,54,3,56,3,93,3,105,3,107,3,162,3,176,3,179,3,184,3,189,3,191,3,193,3,229,3,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,100,0,230,1,148,255,173,255,224,0,30,1,195,1,100,0,169,2,100,0,100,0,100,0,100,0,98,1,98,1,98,1,81,1,96,1,49,0,226,1,226,1,247,1,20,2,196,255, +103,2,135,2,177,2,178,2,225,2,14,3,194,255,5,2,21,3,218,1,27,3,68,2,221,2,32,0,150,2,232,1,139,0,166,2,177,1,1,3,4,3,140,1,216,2,119,3,174,3,187,3,197,3,209,3,228,2,254,2,178,0,210,255,239,255,59,0,53,0,118,0,141,0,167,0,248,0,255,0,70,1,185,1,208,1,7,2,156,2,181,2,209,2,224,2,232,2,7,3,20,3,78,3,131,3,144,3,168,3,215,3,217,3,72,0,134,0,30,2,222,3,223,3,85,2,224,3,230,3,252,3,103,3,254,3,3,4,147,3,5,4,6,4,10,4,118,0,11,4,12,4,19,4,20,4,21,4,22,4,163,3,199,3,231,3,232,3,233,3,85,2,235,3,241,3,34,4, +243,3,219,3,234,3,208,3,248,3,213,3,15,4,13,4,14,4,23,4,238,3,236,3,28,4,29,4,9,4,7,4,55,4,226,3,56,4,57,4,237,3,242,3,58,4,4,4,38,4,31,4,43,4,47,4,48,4,49,4,77,4,84,4,45,4,24,4,54,4,59,4,50,4,86,4,89,4,17,4,25,4,98,4,99,4,102,4,94,4,114,4,116,4,120,4,117,4,103,4,109,4,110,4,111,4,105,4,112,4,118,4,119,4,122,4,108,4,123,4,124,4,78,4,85,4,88,4,87,4,90,4,92,4,93,4,95,4,142,4,146,4,96,4,134,4,97,4,100,4,141,4,121,4,125,4,131,4,135,4,137,4,177,4,185,4,196,4,198,4,201,4,202,4,203,4,204,4,127,4,128,4,126, +4,191,4,193,4,179,4,181,4,207,4,59,1,22,5,146,0,153,3,2,0,194,0,154,3,86,1,184,3,91,0,91,0,91,0,91,0,84,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,87,0,87,0,87,0,86,0,83,1,75,1,51,3,51,3,91,0,91,0,91,0,91,0,83,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,63,1,165,3,165,3,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,184,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,109,1,4,3,104, +1,24,0,165,3,165,3,179,3,182,2,165,3,165,3,5,3,169,3,165,3,165,3,178,1,203,2,72,1,178,1,51,3,51,3,203,0,160,0,22,1,135,1,17,1,134,1,190,0,165,3,165,3,114,1,166,3,167,3,111,1,15,1,185,3,48,0,167,2,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,123,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,170,2,81,1,80,1,218,0,156,1,142,1,68,0,156,1,147,1,166,3,167,3,231,2,191,3,166,3,167,3,42,3,169,3,166,3,167,3,189,3,221,0,190,3,88,0,88,0,87,0,87,0,87,0,86,0,83,1, +35,1,51,3,51,3,166,3,167,3,185,0,94,0,24,3,132,1,129,1,128,1,216,4,216,4,24,3,36,3,192,3,192,3,34,1,30,3,127,1,123,0,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,70,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,169,2,229,2,35,3,35,3,35,3,51,3,51,3,176,3,56,0,253,0,97,1,242,0,85,0,82,0,168,0,253,0,102,1,252,0,110,0,96,0,233,0,141,1,186,2,165,2,171,2,171,2,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,177,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87, +0,87,0,86,0,83,1,59,1,178,1,183,1,139,2,140,1,57,0,221,2,221,2,234,0,35,1,107,0,31,1,139,1,86,0,83,1,42,3,171,1,216,2,165,3,165,3,185,0,185,3,30,0,132,1,129,1,128,1,215,0,181,3,178,1,165,3,165,3,51,3,51,3,185,2,127,1,162,0,161,0,151,1,144,1,85,0,82,0,168,0,165,2,36,3,79,1,113,0,3,3,30,3,185,3,48,0,22,0,95,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,102,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,35,3,35,3,35,3,12,1,123,0,156,1,138,1,1,0,165,3,165,3,166,3,167, +3,165,3,165,3,85,0,82,0,168,0,232,0,5,0,87,1,194,0,166,3,167,3,184,3,85,0,82,0,168,0,54,0,188,3,178,1,51,3,51,3,175,1,170,3,171,3,24,3,67,0,247,2,94,1,144,0,166,0,2,3,123,0,128,3,121,3,187,3,92,1,32,1,246,2,185,3,47,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,124,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,113,0,166,3,167,3,175,2,125,3,166,3,167,3,253,0,102,1,252,0,85,0,82,0,168,0,52,3,52,3,188,3,184,3,82,1,170,3,171,3,126,3,189,2,209,2,103,1,33,1,233,0,141, +1,178,1,93,1,178,1,51,3,51,3,187,3,98,3,210,2,23,0,133,1,64,3,67,3,180,2,101,1,136,3,155,2,194,0,190,2,146,1,184,3,185,3,48,0,185,3,48,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,56,3,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,113,0,178,1,168,2,178,1,76,1,178,1,152,1,121,3,100,1,124,1,172,3,145,1,208,2,180,3,96,3,191,0,165,0,73,1,177,2,185,3,9,0,185,3,9,0,185,3,9,0,185,3,9,0,206,2,180,3,51,3,51,3,185,3,8,0,69,1,111,0,71,1,153,0,224,0,184,3,154,1,113,0, +189,0,81,1,80,1,145,3,15,5,84,3,75,0,15,5,73,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,103,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,218,2,148,0,236,0,29,3,110,1,21,3,124,3,155,4,178,1,192,3,192,3,144,1,148,0,58,1,212,0,105,3,143,3,245,2,148,1,104,3,44,1,64,1,178,1,125,3,55,1,237,0,15,1,149,1,185,3,34,0,51,3,51,3,225,0,115,1,177,3,104,1,145,3,16,5,113,0,126,3,16,5,161,1,185,3,35,0,221,4,154,3,86,1,3,1,247,0,34,1,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3, +90,0,90,0,91,0,91,0,91,0,91,0,148,0,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,54,1,178,1,28,3,178,1,240,0,51,3,51,3,10,1,143,3,108,3,108,3,117,1,90,1,167,0,142,2,143,2,144,2,3,1,244,0,19,0,246,0,185,3,11,0,185,3,26,0,222,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,245,2,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,5,1,178,1,8,1,184,2,178,1,241,0,178,1,88,1,203,3,52,1,245,2,178,1,28,3,178,1,68,1,178,1,137,1,167,1,178,1,185,3,36,0,185,3,37,0, +20,0,185,3,38,0,185,3,27,0,178,1,51,3,51,3,185,3,28,0,185,3,39,0,185,3,40,0,226,2,185,3,41,0,71,0,226,2,225,2,245,0,51,1,205,3,225,2,3,1,185,3,10,0,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,59,1,178,1,116,1,178,1,3,1,149,0,178,1,167,0,185,3,42,0,188,0,187,0,186,0,219,0,178,1,236,2,178,1,206,3,178,1,28,3,178,1,185,3,98,0,185,3,43,0,94,3,185,3,44,0,178,1,152,3,2,0,51,3,51,3,245,2,185,3,31,0,185,3,45,0,185,3,46,0,185, +3,32,0,74,0,51,1,144,3,220,0,3,1,3,1,185,3,115,0,141,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,248,0,178,1,215,0,181,3,51,3,51,3,77,1,185,3,116,0,127,3,92,3,176,0,3,1,206,3,144,1,105,1,3,1,183,3,119,3,185,3,117,0,185,3,52,0,116,3,59,1,92,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,113,0,178,1,2,1,115,3,51,3,51,3,215,2, +185,3,33,0,107,1,3,1,161,2,65,1,189,0,174,1,65,1,112,1,109,1,108,1,185,3,99,0,185,3,49,0,109,1,59,1,92,0,81,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178,1,211,2,178,1,214,0,165,0,51,3,51,3,4,3,185,3,100,0,66,1,124,0,245,4,158,0,65,0,198,2,5,3,188,2,187,2,64,1,185,3,101,0,185,3,97,0,255,0,59,1,216,0,93,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,178,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,178, +1,251,0,178,1,195,2,196,2,51,3,51,3,223,0,185,3,114,0,140,3,26,3,254,0,53,1,193,0,67,0,125,1,101,3,101,3,199,0,185,3,112,0,185,3,105,0,13,1,214,2,4,1,67,0,83,0,63,3,66,3,55,3,55,3,90,0,90,0,91,0,91,0,91,0,91,0,7,1,89,0,89,0,89,0,89,0,88,0,88,0,87,0,87,0,87,0,86,0,83,1,79,0,173,1,178,2,3,0,150,4,228,0,178,1,113,0,84,1,84,1,100,3,100,3,9,1,79,0,173,1,223,2,3,0,91,3,70,0,176,1,178,1,84,1,84,1,178,1,235,4,178,1,185,3,104,0,178,1,158,2,160,1,254,2,176,1,178,1,193,0,178,1,157,1,178,1,162,1,38,3,185,3,102, +0,164,1,185,3,103,0,185,3,48,0,123,0,185,3,51,0,42,3,162,1,168,1,185,3,53,0,185,3,50,0,185,3,25,0,11,1,123,0,199,2,113,0,42,3,172,1,21,1,183,2,16,1,252,2,113,0,76,0,77,0,178,2,178,1,27,3,113,0,20,1,78,0,180,1,179,1,156,1,158,1,30,3,76,0,77,0,113,0,87,3,91,3,120,1,199,0,78,0,180,1,179,1,185,3,29,0,30,3,232,2,113,0,243,2,79,0,173,1,163,2,3,0,159,1,109,0,36,1,37,1,84,1,84,1,38,3,34,3,166,2,160,2,35,3,35,3,35,3,37,3,18,0,176,1,149,2,148,2,150,2,159,3,209,0,150,0,96,1,35,3,35,3,35,3,37,3,18,0,6,0,50,1, +24,1,26,1,28,1,18,3,162,1,250,0,130,1,243,0,118,3,182,2,106,1,30,1,163,0,19,1,79,0,173,1,42,3,3,0,89,3,88,3,159,0,163,1,84,1,84,1,42,1,162,3,200,3,126,0,196,0,197,3,135,3,133,3,67,1,176,1,136,0,55,0,76,0,77,0,230,2,147,0,58,0,121,0,129,0,78,0,180,1,179,1,65,0,15,3,30,3,98,1,131,0,99,1,162,1,123,1,132,0,133,0,134,0,175,0,139,0,151,0,113,1,120,3,180,0,23,3,42,3,61,0,83,3,103,3,69,0,173,1,119,1,3,0,244,2,210,0,1,1,181,0,84,1,84,1,145,0,35,3,35,3,35,3,37,3,18,0,76,0,77,0,121,1,176,1,6,1,182,0,183,0,78, +0,180,1,179,1,151,2,56,1,30,3,136,1,202,2,201,2,200,2,74,1,193,2,180,2,57,1,192,2,162,1,174,2,150,1,240,2,173,2,18,1,172,2,174,3,64,0,23,1,195,0,25,1,42,3,241,2,71,3,239,2,27,1,72,0,238,2,29,1,166,1,35,3,35,3,35,3,37,3,18,0,78,1,170,1,95,0,155,1,229,0,153,1,76,0,77,0,230,0,222,2,66,0,231,0,38,1,78,0,180,1,179,1,204,0,39,1,30,3,217,0,40,1,41,1,157,2,21,0,49,1,48,1,47,1,206,0,45,1,181,1,160,3,152,2,205,0,208,0,207,0,182,1,146,2,145,2,140,2,118,0,108,0,119,0,226,0,138,2,85,1,157,0,170,0,169,0,239,0, +35,3,35,3,35,3,37,3,18,0,125,0,120,0,235,0,238,0,61,1,62,1,89,1,106,0,22,3,99,3,127,0,97,3,128,0,130,0,212,2,249,0,172,0,174,0,114,3,135,0,137,0,59,0,138,0,173,0,60,0,117,3,123,0,171,0,177,0,178,0,113,3,7,0,12,0,179,0,0,1,106,3,140,0,193,0,194,3,118,1,141,0,154,2,152,0,122,1,20,1,184,0,126,1,142,0,122,0,62,0,13,0,131,1,191,2,14,1,14,0,63,0,227,0,41,3,40,3,69,3,220,2,15,0,73,3,224,2,4,0,253,2,211,0,143,1,164,0,213,0,143,0,248,2,201,0,70,0,60,1,67,0,70,3,68,3,123,3,198,0,192,0,16,0,197,0,122,3,149, +3,154,0,17,0,202,0,165,1,150,3,155,0,200,0,156,0,169,1,72,3,39,3,237,4,164,2,80,0,46,1,43,1,91,1,236,4,155,3,16,16,2,16,5,0,33,4,75,5,46,4,180,4,180,4,180,4,138,0,237,255,58,0,58,0,186,0,180,4,180,4,180,4,180,4,180,4,180,4,180,4,67,0,67,0,90,0,132,0,80,1,76,0,135,0,7,1,84,1,161,1,238,1,59,2,110,2,187,2,8,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,59,3,110,3,59,3,161,3,212,3,212,3,132,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4, +180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,234,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,180,4,185,255,209,255,209,255,209,255,209,255,209,255,250,255,88,0,190,255,23,0,202,1,249,1,212,1,212,1,23,0,201,0,87,1,198,255,184,255,184,255,184,255,11,0,11,0,11,0,156,1,156,1,85,1,25,2,93,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,123,2,42,1,74,0,74,0,87,1,255,255,255,255,255, +255,255,255,255,255,255,255,184,255,184,255,184,255,228,0,101,0,101,0,203,0,75,0,71,0,17,1,28,1,89,1,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,165,1,165,1,165,1,23,0,23,0,70,2,23,0,23,0,23,0,100,1,23,0,23,0,73,2,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,23,0,56,2,63,2,200,1,200,1,200,1,192,2,171,0,133,2,162,2,90,3,78,2,78,2,146,3,90,3,146,3,114,1,195,3,118,3,180,3,78,2,169,1,180,3,180,3,96,3,129,2,15,2,172,4,91,4,91,4,173,4,173,4,91,4,197,4,155,4,101, +4,216,4,216,4,216,4,216,4,91,4,220,4,101,4,197,4,155,4,155,4,101,4,91,4,220,4,113,4,209,4,91,4,91,4,220,4,241,4,91,4,220,4,91,4,220,4,241,4,175,4,175,4,175,4,238,4,241,4,175,4,182,4,175,4,238,4,175,4,175,4,168,4,192,4,168,4,192,4,168,4,192,4,168,4,192,4,91,4,91,4,171,4,241,4,222,4,222,4,241,4,190,4,194,4,199,4,195,4,101,4,52,5,58,5,78,5,78,5,88,5,88,5,88,5,88,5,184,255,184,255,184,255,184,255,184,255,184,255,184,255,184,255,144,1,111,2,230,2,48,3,146,2,185,2,227,0,244,3,152,2,245,3,246,3,250,3,2, +4,27,4,123,3,253,3,16,4,44,4,60,4,42,4,115,4,142,3,186,3,130,4,64,4,210,3,100,5,102,5,84,5,231,4,93,5,53,5,106,5,101,5,103,5,3,5,250,4,16,5,5,5,109,5,7,5,114,5,132,5,11,5,4,5,57,5,60,5,26,5,112,5,107,5,22,5,144,5,141,5,125,5,41,5,9,5,96,5,126,5,97,5,92,5,110,5,48,5,133,5,136,5,139,5,47,5,55,5,140,5,108,5,142,5,143,5,145,5,147,5,113,5,137,5,148,5,118,5,123,5,149,5,150,5,151,5,59,5,154,5,155,5,157,5,156,5,61,5,158,5,161,5,152,5,159,5,163,5,62,5,162,5,160,5,164,5,165,5,162,5,168,5,169,5,170,5,171,5, +175,5,172,5,166,5,176,5,178,5,179,5,180,5,181,5,183,5,184,5,180,5,186,5,185,5,187,5,189,5,191,5,65,5,80,5,89,5,95,5,192,5,199,5,217,5,226,4,216,4,216,4,216,4,150,4,150,4,150,4,216,4,47,4,76,4,76,4,200,4,21,5,21,5,21,5,21,5,21,5,21,5,149,4,21,5,21,5,21,5,21,5,216,4,51,4,82,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,199,4,201,4,90,4,89,4,182,4,63,4,87,4,80,4,84,4,151,4,145,4,146,4,144,4,148,4,152,4,21,5,83,4,114,4,129,4,113,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5, +21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,123,4,128,4,135,4,127,4,124,4,116,4,115,4,117,4,118,4,21,5,226,3,18,4,21,5,21,5,21,5,119,4,21,5,120,4,132,4,131,4,130,4,207,4,234,4,233,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,226,4,216,4,232,3,232,3,21,5,216,4,216,4,216,4,216,4,216,4,216,4,212,4,51,4,42,4,21,5,21,5,21,5,21, +5,21,5,21,5,21,5,21,5,21,5,21,5,204,4,202,4,21,5,163,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,47,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,228,4,21,5,177,4,47,4,47,4,47,4,49,4,31,4,41,4,211,3,86,4,65,4,65,4,10,5,86,4,10,5,249,3,248,4,246,3,76,4,65,4,147,4,76,4,76,4,48,4,41,4,21,5,13,5,56,4,56,4,12,5,12,5,56,4,95,4,21,4,86,4,27,4,27,4,27,4,27,4,56,4,223,3,86,4,95,4,21,4,21,4,86,4,56,4,223,3,181,4,7,5,56,4,56,4,223, +3,156,4,56,4,223,3,56,4,223,3,156,4,19,4,19,4,19,4,8,4,156,4,19,4,249,3,19,4,8,4,19,4,19,4,69,4,64,4,69,4,64,4,69,4,64,4,69,4,64,4,56,4,56,4,21,5,156,4,160,4,160,4,156,4,81,4,70,4,79,4,77,4,86,4,229,3,11,4,231,4,231,4,227,4,227,4,227,4,227,4,18,5,18,5,212,4,243,4,243,4,251,3,251,3,243,4,21,5,21,5,21,5,21,5,21,5,21,5,238,4,21,5,165,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,101,4,21,5,207,3,209,4,21,5,21,5,208,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21, +5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,9,5,21,5,21,5,21,5,21,5,21,5,21,5,180,4,179,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,33,4,21,5,21,5,21,5,252,4,21,5,21,5,21,5,21,5,21,5,21,5,21,5,78,4,21,5,71,4,21,5,0,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,21,5,218,4,21,5,21,5,21,5,217,4,21,5,21,5,21,5,21,5,21,5,103,4,21,5,102,4,106,4,21,5,217,3,21,5,16,0,2,2,12,0,14,0,24,0,31,0,59,0,15,39,97,99,111,115,0,97,115,105,110,0,97,116, +97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97,100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112, +108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0,112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103, +99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70,117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, +4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0, +101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117,110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104, +116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101,114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,50,46,48,0,83,81,76,73,84,69,95,0,0,1,2,3, +4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148, +149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3, +5,1,5,1,5,2,5,2,5,1,5,1,5,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97,98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111, +114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,148,0,0,0,54,0,0,0,28,1,1,0,70,0,7,1,47,0,0,1,33,1,0,0,13,0,2,0,61,0,0,0,21,0,0,0,37,115,0,42,63,91,0,37,95,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,0,0,0,0,64,0,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,4,3,2,5,116, +114,105,103,103,101,114,0,116,101,109,112,0,50,48,49,54,45,48,51,45,50,57,32,49,48,58,49,52,58,49,53,32,101,57,98,98,52,99,102,52,48,102,52,57,55,49,57,55,52,97,55,52,52,54,56,101,102,57,50,50,98,100,101,101,52,56,49,99,57,56,56,98,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,73,78,84,69,71,69,82,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102, +117,108,108,0,1,0,0,0,1,1,3,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4,6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5, +6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69,80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73, +83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65,83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68, +65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78,70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69, +70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,67,28,140,42,84,44,104,53,35,113,46,47,50,2,49,142,41,24,119,16,98,138,11,112,139,117,6,30,107,98,141,57,9,20,13,118,62,105,99,131,55,54,111,21,21,71,103,3,25,66,98,14,34,128,127,110,5,98,58,74,77,19,52,101, +50,37,33,109,136,95,17,69,43,8,124,108,51,4,32,56,29,120,65,129,137,130,68,31,59,72,100,106,15,75,38,39,10,40,98,69,69,102,7,121,73,114,45,123,98,50,36,18,76,126,60,98,12,61,115,125,63,64,48,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10,0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,95,82,79,87,73,68,95,0, +82,79,87,73,68,0,79,73,68,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101],"i8",4,l.aa+10346); +z([120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115,113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111, +111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111, +116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32, +97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,78,79,67,65,83,69,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102,116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65, +66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82, +69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69, +78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116, +101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40, +105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109,97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113, +95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69, +82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101, +108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101, +103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100, +111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37, +113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40, +42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32, +32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65, +78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95, +98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101, +108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67,84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108, +101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108, +100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98,108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105, +108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103, +32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69, +89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84,32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108, +97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32, +84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100, +32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,100,101,115,99,0,117,110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115, +32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81,44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44, +32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101, +118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39, +40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44,32,63,0,37,115,37,115,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,114,111,119,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81, +0,112,114,101,102,105,120,0,111,114,100,101,114,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112, +101,32,109,105,115,109,97,116,99,104,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108, +97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,108,111,103,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101,0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101, +110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101,0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,42,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99, +117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116,111,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101, +103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115, +61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,58,109,101,109,111,114,121,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58, +32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,102,105,108,101,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32,37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118,102,115,0,99,97,99, +104,101,0,109,111,100,101,0,97,99,99,101,115,115,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,117,110,97,98,108,101,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114, +101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110, +105,115,104,101,100,32,98,97,99,107,117,112,115,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147, +3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2,180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1, +195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205,0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,3,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,3,173,3,173,3,173,3,173,3,173,3,173, +3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,4,173,4,173,5,225,5,225,4,226,2,226,0,224,1,224,0,208,0,207,3,207,1,149,12,227,1,227,0,177,0,177,3,187,5,187,3,228,0,228,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,230,11,232,1,232,1,232,2,232,0,233,1,233,1,233,3,235,0,235,2,231,3,231,2,237,3,238,3,238,2,236,7,236,5,236,5,236,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,240,0,240,2,149,1, +149,3,149,1,149,3,149,6,149,7,241,1,149,1,149,4,243,8,245,0,246,1,246,3,247,1,196,0,196,2,196,3,249,6,249,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165,2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,229,1,229,1,229,1,229,1,229,1,169,1,234,0,234,3,237,1,238,0,239,1,239,0,242,0,242,1,244,1,244,3,245,2,248,0,248,4,248,2,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112, +116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105,102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116, +114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32, +68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58,32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112, +101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108, +117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101,114,116,97,98,95,37,115,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100, +0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32, +119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97,117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32, +87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0,110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,37,108,108,100,0,37,33,46,49,53,103,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119, +105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121, +112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113,108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32, +110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115, +101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32,34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116, +101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105,101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,97,32, +71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115, +101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37,114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104, +101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110,111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110, +121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,102,117,110,99,116,105,111,110,115,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101, +32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101,116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32, +102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112,97,114,97,109,101,116,101,114,115,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116, +114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97,103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,97,99,99,101,115,115,32,116,111,32, +37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,115,113,108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98, +108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65,76],"i8",4,l.aa+20586); +z([32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115, +101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37, +100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,37,46,42,122,58,37,117,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99, +116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102,111,114,32,105,110,116, +101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81, +46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,58,32,37,115,40,41,0,117, +110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85,69,82,89,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115, +113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110,111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109, +97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32, +111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,99,97,110,110,111,116,32,99,114, +101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101, +119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101,58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39, +116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,51,0,1,3,138,1,8,0,22,0,2,0,90,1,2,1,138,1,8,0,22,0,1,0,160,0,0,0,33,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120, +99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122,101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,51,0,1,4,45,1,0,0,21,0,2,0,52,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32, +119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109,97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105, +110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101,32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32, +0,37,1,0,0,45,1,4,0,97,0,3,0,33,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37,115,0,2,0,1,0,52,0,0,0,2,0,0,0,51,0,1,0,33,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105, +116,0,116,104,114,101,97,100,115,0,98,117,115,121,0,99,104,101,99,107,112,111,105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,108,105,107,101,0,103,108,111,98,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32,109,117, +115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109,97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,102,114,111,109,0,116,111, +0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113,117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116, +111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95, +115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95, +115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121,95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121, +110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105,110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113, +117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104,101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102, +111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32,114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46, +42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116,119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101, +114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,77,0,2,0,74,0,0,0,49,0,2,0,75,0,0,0,61,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,66,64,63,65,0,0,108,105,66,63,65,64,117,115,114,116,7,6,108,105,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32, +65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115, +63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115,61,63,0,65,78,89,40,37,115,41,0,41,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109, +97,108,102,117,110,99,116,105,111,110,0,83,81,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,2,1,2,3,18,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,3,2,2,0,0,1,1,3,3,0,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,38,38,16,16,0,3,3,11,11,11,11,11,11,0,38,38,38,38,38,38,38,38,38,38,0,18,16,0,0,0,0,0, +16,0,1,1,1,1,4,4,0,0,16,1,1,1,1,16,0,0,16,16,0,0,0,0,0,0,6,35,11,1,16,16,0,1,4,3,26,3,3,3,0,0,0,1,0,0,0,0,0,0,0,1,0,16,16,1,0,0,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57,70,79,82,69,73,71,78, +32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,114,111,119,115,32,117,112,100,97,116,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32, +100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,32,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32,97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114, +114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117,109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67, +84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,109,105,110,0,109,97,120,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97,99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32, +84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45,84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32, +37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,111,110,108,121,32,97,32,115,105,110,103,108,101,32,114,101,115,117,108,116,32,97,108,108,111,119,101,100,32,102,111,114,32,97,32,83,69,76,69,67,84,32,116,104,97,116,32,105,115,32,112,97,114,116,32,111,102,32,97,110,32,101,120,112,114,101,115,115,105,111,110,0,112,97,114,97,109,101,116,101, +114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76, +69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108, +117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101, +105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110,111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116, +97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32,110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82, +89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99,108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37, +113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114,105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32, +105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32,99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115, +0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115, +101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,44,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105, +115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69,65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,25,0,0,0,108,0,9,0,47,0,0,0,78,0,7,0,103,0,0,0,47,0,1,0,13,0,9,0,7,0,2,0,22,0,0,0,61,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,144,145,146,147,24,1,2,27,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,91,92,93,94,95, +19,50,51,80,81,82,83,95,85,86,87,88,89,90,91,92,93,94,95,157,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,97,85,86,87,88,89,90,91,92,93,94,95,152,33,152,22,27,28,179,180,27,28,42,27,27,28,152,188,95,152,50,51,99,100,101,102,103,104,105,27,28,227,97,98,230,112,172,173,172,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,66,85,86,87,88,89,90,91,92,93,94,95,19,172,89,90,218,207,208,26,207,208,97,98,91,100,97,98,69,97,97,98,107,237,109,89,90,91,92,93,94,95,152,50, +51,97,98,99,55,59,102,103,104,119,120,59,97,132,133,152,101,113,66,19,71,72,73,74,75,76,77,78,79,80,81,82,83,187,85,86,87,88,89,90,91,92,93,94,95,172,210,132,133,134,50,51,185,53,108,109,110,221,222,223,108,109,110,22,22,119,120,181,27,27,28,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,148,149,115,24,117,118,154,152,156,152,163,94,95,69,249,163,27,28,99,172,173,102,103,104,194,195,152,27,28,50,51,181,113,89,90,152,206,221,222,223,97,97,187,196,175,101,172,173, +196,219,71,72,73,74,75,76,77,78,79,80,81,82,83,11,85,86,87,88,89,90,91,92,93,94,95,19,132,133,134,23,66,207,208,22,27,28,97,98,27,28,221,222,223,199,22,243,24,97,98,27,221,222,223,209,152,152,50,51,168,169,170,59,26,124,100,58,152,175,66,240,163,169,170,152,124,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,12,85,86,87,88,89,90,91,92,93,94,95,19,196,97,98,23,29,97,98,108,109,110,221,222,223,50,51,152,97,168,169,170,45,37,47,219,224,119,120,152,229,152,50,51,169,170,59,231,52,74,75,106,236,152,21, +24,60,163,27,172,173,172,173,71,72,73,74,75,76,77,78,79,80,81,82,83,101,85,86,87,88,89,90,91,92,93,94,95,19,152,196,152,23,152,207,152,207,163,65,19,171,152,190,191,229,211,212,111,179,172,173,172,173,172,173,172,173,190,191,50,51,172,173,186,22,186,24,186,97,186,196,51,89,90,22,23,103,137,26,139,71,72,73,74,75,76,77,78,79,80,81,82,83,219,85,86,87,88,89,90,91,92,93,94,95,19,195,152,152,23,236,163,12,140,152,132,133,206,152,164,23,31,70,26,19,35,160,107,152,29,164,152,112,28,172,173,50,51,183,49,185, +152,22,23,196,45,26,47,172,173,0,1,2,152,16,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,164,152,152,152,152,50,51,16,70,108,109,110,193,98,7,8,9,152,62,22,64,172,173,172,173,218,71,72,73,74,75,76,77,78,79,80,81,82,83,124,85,86,87,88,89,90,91,92,93,94,95,19,152,62,152,64,181,152,193,152,241,246,247,26,152,152,152,217,152,91,249,152,172,173,172,173,79,172,173,172,173,152,50,51,172,173,172,173,172,173,116,172,173,138,116,121,140,22,23,121,152,172,173,71,72,73,74, +75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,19,152,217,152,152,24,152,98,172,173,108,109,110,193,152,213,152,70,152,152,152,172,173,172,173,152,172,173,152,146,147,50,51,124,172,173,172,173,172,173,172,173,138,22,23,193,152,152,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,152,152,194,195,50,51,217,172,173,193,193,26,152,70,206,152,152,26,163,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91, +92,93,94,95,152,196,152,193,152,50,51,193,172,173,19,152,166,167,51,166,167,152,152,28,172,173,172,173,152,19,71,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,193,152,211,212,50,51,33,172,173,244,245,23,123,130,26,42,100,101,107,172,173,172,173,152,19,22,72,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87,88,89,90,91,92,93,94,95,152,237,152,7,8,50,51,237,172,173,23,23,23,26,26,26,23,132,133,26,172,173,172,173,23,163,152,26,73,74,75,76,77,78,79,80,81,82,83,152,85,86,87, +88,89,90,91,92,93,94,95,19,20,27,22,23,210,152,196,27,28,132,133,152,19,20,23,22,27,26,38,152,27,28,152,122,152,172,173,152,163,191,23,38,152,26,152,163,152,57,27,172,173,163,172,173,172,173,66,172,173,69,57,163,172,173,172,173,172,173,152,66,152,196,69,163,101,152,152,152,196,89,90,97,152,152,196,112,96,97,98,207,208,101,89,90,196,23,97,233,26,96,97,98,172,173,101,152,196,152,19,20,23,22,152,26,152,152,27,28,97,152,152,152,132,133,134,135,136,38,152,152,152,152,232,197,214,132,133,134,135,136,198, +150,210,210,210,201,57,238,176,214,201,180,238,214,184,175,19,20,69,22,175,175,198,226,27,28,200,155,39,242,122,41,159,159,159,38,22,239,89,90,91,220,239,71,189,96,97,98,130,201,101,18,192,159,57,18,192,192,192,158,189,220,159,201,158,189,69,137,201,235,19,20,46,22,159,159,234,158,27,28,22,132,133,134,135,136,89,90,177,38,159,158,158,96,97,98,159,177,101,107,174,174,174,48,182,106,177,182,57,174,125,216,176,174,174,174,107,215,159,215,69,216,159,216,215,137,216,215,177,132,133,134,135,136,95,177, +129,126,225,127,89,90,228,205,128,228,204,96,97,98,25,203,101,5,202,201,162,26,10,11,12,13,14,161,13,17,153,6,153,151,151,151,151,165,178,165,178,4,3,22,32,15,34,132,133,134,135,136,245,165,142,43,248,248,68,16,120,23,131,23,111,123,20,16,56,125,1,123,131,79,111,63,79,28,66,67,36,122,1,5,22,107,140,54,54,26,61,44,107,20,24,19,112,105,53,22,40,22,22,53,30,23,22,22,53,23,23,23,116,22,11,23,22,28,23,26,122,23,22,124,122,26,114,26,23,23,23,22,36,36,26,23,23,22,36,122,24,23,22,26,22,24,23,23,122,23,22, +15,23,141,122,1,0,0,27,27,27,27,0,27,27,27,0,27,27,27,27,0,0,0,27,0,0,27,0,0,0,27,0,0,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1, +1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111,110,32,112,111,105,110,116,101,114,0,100,97,116,97,98,97,115,101,32,115,99,104, +101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,100,101,116,97,105,108,0,78,85,76,76,0,117,110,111,112,101,110,101,100,0,114,101,97,108,0,105,110,116,101,103,101,114,0,110,117,108,108,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116, +121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58,32,37,115,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,58,32,37,115, +0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81, +76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32, +110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72, +69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101,99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115, +32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39,0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115, +32,105,110,32,112,114,111,103,114],"i8",4,l.aa+30826); +z([101,115,115,0,65,84,84,65,67,72,32,39,58,109,101,109,111,114,121,58,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,65,84,84,65,67,72,32,39,39,32,65,83,32,118,97,99,117,117,109,95,100,98,59,0,80,82,65,71,77,65,32,118,97,99,117,117,109,95,100,98,46,115,121,110,99,104,114,111,110,111,117,115,61,79,70,70,0,66,69,71,73,78,59,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,84,65,66,76,69,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32,32, +32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,49,52,41,32, +32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84,69,32,73,78,68,69,88,32,37,39,32,0,83,69,76,69,67,84,32,39,67,82,69,65,84,69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,50,49,41,32,32,32,70,82,79,77,32,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,115,113,108,32,76,73,75,69,32,39,67,82,69,65,84, +69,32,85,78,73,81,85,69,32,73,78,68,69,88,32,37,39,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116, +97,98,108,101,39,32,65,78,68,32,110,97,109,101,33,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,32,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,39,68,69,76,69,84,69,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87, +72,69,82,69,32,110,97,109,101,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,0,83,69,76,69,67,84,32,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,32,83,69,76,69,67,84,32,42,32,70,82,79,77,32,109,97,105,110,46,39,32,124,124,32,113,117,111,116,101,40,110,97,109,101,41,32,124,124,32,39,59,39,32,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97, +115,116,101,114,32,87,72,69,82,69,32,110,97,109,101,61,61,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,59,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,32,32,83,69,76,69,67,84,32,116,121,112,101,44,32,110,97,109,101,44,32,116,98,108,95,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,32,32,32,70,82,79,77,32,109,97,105,110,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32, +32,32,87,72,69,82,69,32,116,121,112,101,61,39,118,105,101,119,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,32,32,32,32,32,79,82,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,65,78,68,32,114,111,111,116,112,97,103,101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114, +101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116,80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104, +116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105,100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117, +32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97,108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100, +0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115,32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108, +105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,1,2,3,4,6,8,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109, +106,37,48,54,88,57,37,48,50,88,0,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,37,46,49,54,103,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101, +120,116,0,80,114,101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,82,101,116,117,114,110,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,69,110,100,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,78,111,116,0,72,97,108,116,73,102,78, +117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0,67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,77,117,115,116,66,101,73,110,116,0,82,101,97,108,65,102,102,105,110, +105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,74,117,109,112,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,67,111,108,117,109,110,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82,101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100, +101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,101,107,76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,78,111,116,69,120,105,115,116,115,0,79,114,0,65,110,100,0,83,101, +113,117,101,110,99,101,0,78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,73,110,115,101,114,116,73,110,116,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116,82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116, +0,68,101,108,101,116,101,0,66,105,116,78,111,116,0,83,116,114,105,110,103,56,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,76,97,115,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68, +101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111,119,105,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114, +105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,82,101,97,108,0,80,97,114,97,109,0,70,107,67,111,117,110,116,101,114,0,70,107,73,102,90,101,114,111,0,77,101,109,77,97,120,0,73,102,80,111,115,0,79,102,102,115,101,116,76,105,109,105,116,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,74,117,109,112,90,101,114, +111,73,110,99,114,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,73,110,99,114,86,97,99,117,117,109,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,78,101,120,116,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,73,110,105,116,0,67,117,114,115,111,114,72,105,110,116, +0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101, +115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117,101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114, +114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114,0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111, +116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32,110,111,32,100,97,116,97,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98,108,101,100,0,97,117,116, +104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104, +32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,64,32,32,0,117,110,105,120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101, +0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112,119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115, +105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,46,0,102,117,108,108,95,102,115,121,110, +99,0,47,100,101,118,47,117,114,97,110,100,111,109,0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58, +32,37,115,0,37,115,45,115,104,109,0,114,101,97,100,111,110,108,121,95,115,104,109,0,37,0,100,10,1,1,0,0,115,0,4,6,0,0,103,0,1,4,30,0,122,0,4,7,0,0,113,0,4,10,0,0,81,0,4,11,0,0,119,0,4,15,0,0,99,0,0,9,0,0,111,8,0,1,0,2,117,10,0,1,0,0,120,16,0,1,16,1,88,16,0,1,0,4,102,0,1,2,0,0,101,0,1,3,30,0,69,0,1,3,14,0,71,0,1,4,14,0,105,10,1,1,0,0,110,0,0,5,0,0,37,0,0,8,0,0,112,16,0,14,0,1,84,0,2,12,0,0,83,0,2,13,0,0,114,10,3,16,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69, +70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,40,78,85,76,76,41,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,116,121,112,101,111,102, +0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114,0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111, +116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97,108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,99,111,97,108,101,115,99,101,0,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111,119,0,37,33,46,50,48,101,0,48,49,50,51,52,53,54,55,56,57, +65,66,67,68,69,70,37,46,42,102,0,116,101,120,116,0,98,108,111,98,0,1,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37,48,51,100,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99, +104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50,49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48, +50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,46,42,115,34,37,119,34,37,115,0,109,105,115,117,115,101,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76, +69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124, +0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114, +121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115, +111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110, +32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32, +114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105, +110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108, +101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117, +110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32, +114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32, +116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32, +102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116, +32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105, +111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114, +32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47],"i8",4,l.aa+41066);var yb=l.ta(z(12,"i8",2),8);assert(0==yb%8);f._i64Subtract=zb;f._i64Add=Ab; var D={H:1,J:2,Kd:3,Gc:4,O:5,Ka:6,$b:7,dd:8,L:9,nc:10,Ga:11,Ud:11,Ia:12,Y:13,zc:14,rd:15,Z:16,Ha:17,Vd:18,ha:19,ia:20,S:21,p:22,Zc:23,eb:24,$:25,Rd:26,Ac:27,nd:28,ja:29,Hd:30,Sc:31,Bd:32,wc:33,fb:34,jd:42,Dc:43,oc:44,Jc:45,Kc:46,Lc:47,Rc:48,Sd:49,bd:50,Ic:51,tc:35,ed:37,fc:52,ic:53,Wd:54,$c:55,jc:56,kc:57,uc:35,lc:59,pd:60,cd:61,Od:62,od:63,kd:64,ld:65,Gd:66,gd:67,cc:68,Ld:69,pc:70,Cd:71,Uc:72,xc:73,hc:74,wd:76,gc:77,Fd:78,Mc:79,Nc:80,Qc:81,Pc:82,Oc:83,qd:38,Ja:39,Vc:36,sa:40,xd:95,Ad:96,sc:104,ad:105, dc:97,Ed:91,ud:88,md:92,Id:108,rc:111,ac:98,qc:103,Yc:101,Wc:100,Pd:110,Bc:112,Cc:113,Fc:115,ec:114,vc:89,Tc:90,Dd:93,Jd:94,bc:99,Xc:102,Hc:106,sd:107,Qd:109,Td:87,yc:122,Md:116,vd:95,hd:123,Ec:84,yd:75,mc:125,td:131,zd:130,Nd:86},Bb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", 13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", @@ -456,22 +454,22 @@ T();T();T();var d=M[c];if(!d)throw new H(D.L);uc(d.g);return 0}catch(e){return"u var W=(function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=0;var o=0;var p=0;var q=0;var r=global.NaN,s=global.Infinity;var t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0;var C=0;var D=0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=global.Math.floor;var N=global.Math.abs;var O=global.Math.sqrt;var P=global.Math.pow;var Q=global.Math.cos;var R=global.Math.sin;var S=global.Math.tan;var T=global.Math.acos;var U=global.Math.asin;var V=global.Math.atan;var W=global.Math.atan2;var X=global.Math.exp;var Y=global.Math.log;var Z=global.Math.ceil;var _=global.Math.imul;var $=global.Math.min;var aa=global.Math.clz32;var ba=env.abort;var ca=env.assert;var da=env.invoke_iiii;var ea=env.jsCall_iiii;var fa=env.invoke_i;var ga=env.jsCall_i;var ha=env.invoke_vi;var ia=env.jsCall_vi;var ja=env.invoke_vii;var ka=env.jsCall_vii;var la=env.invoke_iiiiiii;var ma=env.jsCall_iiiiiii;var na=env.invoke_ii;var oa=env.jsCall_ii;var pa=env.invoke_viii;var qa=env.jsCall_viii;var ra=env.invoke_v;var sa=env.jsCall_v;var ta=env.invoke_iiiii;var ua=env.jsCall_iiiii;var va=env.invoke_viiiiii;var wa=env.jsCall_viiiiii;var xa=env.invoke_iii;var ya=env.jsCall_iii;var za=env.invoke_iiiiii;var Aa=env.jsCall_iiiiii;var Ba=env.invoke_viiii;var Ca=env.jsCall_viiii;var Da=env._pthread_cleanup_pop;var Ea=env.___syscall85;var Fa=env._sin;var Ga=env._exp;var Ha=env._utimes;var Ia=env._llvm_pow_f64;var Ja=env._acos;var Ka=env.___syscall54;var La=env._pthread_cleanup_push;var Ma=env._abort;var Na=env.___syscall40;var Oa=env.___syscall118;var Pa=env.___setErrNo;var Qa=env.___syscall20;var Ra=env.___syscall183;var Sa=env.___assert_fail;var Ta=env._usleep;var Ua=env._asin;var Va=env.___buildEnvironment;var Wa=env.___syscall202;var Xa=env.___syscall91;var Ya=env._cos;var Za=env.___syscall39;var _a=env._localtime_r;var $a=env._tzset;var ab=env._emscripten_set_main_loop_timing;var bb=env._sbrk;var cb=env.___syscall192;var db=env.___syscall197;var eb=env.___syscall196;var fb=env.___syscall195;var gb=env.___syscall194;var hb=env.___syscall212;var ib=env._sysconf;var jb=env.___syscall94;var kb=env._nanosleep;var lb=env._emscripten_memcpy_big;var mb=env.___syscall221;var nb=env._floor;var ob=env._atan;var pb=env.___syscall201;var qb=env._pthread_self;var rb=env._getenv;var sb=env.___syscall33;var tb=env._log;var ub=env.___unlock;var vb=env.___syscall140;var wb=env.___syscall15;var xb=env._emscripten_set_main_loop;var yb=env.___syscall10;var zb=env._tan;var Ab=env.___syscall3;var Bb=env.___lock;var Cb=env.___syscall6;var Db=env.___syscall5;var Eb=env.___syscall4;var Fb=env._time;var Gb=env._atan2;var Hb=env._gettimeofday;var Ib=env._ceil;var Jb=env._sqrt;var Kb=env._localtime;var Lb=env.___syscall207;var Mb=env.___syscall146;var Nb=0.0; // EMSCRIPTEN_START_FUNCS -function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[352+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}vf(c[e>>2]|0,c[352+((c[f>>2]|0)*12|0)>>2]|0,a[352+((c[f>>2]|0)*12|0)+4>>0]|0,d[352+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[352+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[832+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}vf(c[e>>2]|0,c[832+(c[f>>2]<<4)>>2]|0,a[832+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[832+(c[f>>2]<<4)+8>>2]|0,c[832+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,378,17622);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,379,17631);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,380,17640);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(17649,17598,570,17657);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);ie(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}me(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,394,17666);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+ZP(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,402,17676);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+_P(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,410,17686);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+$P(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(17649,17598,1680,17696);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}ke(c[f>>2]|0,c[j>>2]|0);i=o;return}me(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,498,18100);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,499,18112);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,420,18124);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,419,18132);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,421,18140);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,422,18148);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,446,18156);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+aQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,438,18165);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+eQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,454,18174);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+fQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,456,18183);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,474,18192);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,472,18200);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,473,18208);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+cQ(+h[g>>3]);l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(17649,17598,546,18218);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);c[(SP()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){ie(e,+h[k>>3]);i=l;return}else{m=TP(c[(SP()|0)>>2]|0)|0;je(e,m,c[(SP()|0)>>2]|0);i=l;return}}me(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17590,17598,590,18228);switch(fe(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=ee(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;le(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[j>>2]|0);i=k;return}default:{h[g>>3]=+ce(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);ie(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,375,18237);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[(SP()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[(SP()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=TP(c[(SP()|0)>>2]|0)|0;je(e,l,c[(SP()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17590,17598,514,18246);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=ee(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;le(a,rR(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);ie(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17590,17598,620,18257);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17590,17598,645,18266);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;ie(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(fe(c[c[f>>2]>>2]|0)|0)){i=n;return}a=ee(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[e>>2]|0,18276,-1);i=n;return}a=be(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=rR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=gR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=gR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;zQ(o,ae(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=rR(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;zQ(o+k|0,c[m>>2]|0)|0;k=g;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}ne(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}te(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(18289,17598,1038,18307);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(de(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;ke(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}me(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|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;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,1073,18321);if(5!=(fe(c[c[h>>2]>>2]|0)|0)?5!=(fe(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=de(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){DQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;ne(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{te(c[g>>2]|0);i=p;return}}me(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,1113,18330);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[k>>2]=de(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){zQ(c[l>>2]|0,c[o>>2]|0)|0;ne(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{te(c[f>>2]|0);i=p;return}}me(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(18340,17598,1323,18348);if(5==(fe(c[c[g>>2]>>2]|0)|0)){me(c[f>>2]|0);i=o;return}c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[j>>2]=BQ(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){te(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}ne(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(17590,17598,724,18360);if(5==(fe(c[c[f>>2]>>2]|0)|0)){me(c[g>>2]|0);i=n;return}c[k>>2]=ae(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){te(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(NP(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=RP(f)|0;else a[j>>0]=QP(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(17649,17598,771,18371);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[m>>2]|0);i=o;return}c[j>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[m>>2]|0,18276,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){ne(f,c[n>>2]|0,-1,-1);break}te(f);i=o;return}else{p=BQ(f)|0;b=h;b=gR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=fR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=gR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){te(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=gR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}zQ(f,c[j>>2]|0)|0}while(0);ne(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,825,18408);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18276,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=BQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=gR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=fR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=gR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}q=zQ(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=gR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17649,17598,880,18417);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18276,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=BQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=gR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=fR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=gR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=gR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}zQ(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=gR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(17649,17598,939,18426);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=ae(c[c[g>>2]>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((BQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){te(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);DQ(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;ne(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}me(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(17590,17598,1395,18440);c[j>>2]=xe(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=gR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+ce(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(17590,17598,1418,18453);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=xe(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=aR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ee(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=aR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+ce(e);c[l>>2]=aR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);$Q(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;le(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{ie(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=rR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=aR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$Q(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,17581)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=gR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((MP(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){zQ(c[j>>2]|0,17839)|0;i=l;return}e=(RP(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[17711+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[17844+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[928+(c[f>>2]<<2)>>2]|0);if(((c[944+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+fQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((BQ(c[d>>2]|0)|0)+1|0)|0;a=zQ(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(18380,17598,316,18389);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[17844+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=gR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=gR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);$Q(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;ie(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){le(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;ie(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=gR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=fR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=gR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=gR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=gR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,18469,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=If(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=7){d=9;break}if((zd(c[d>>2]|0,c[968+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Jf(a[(c[968+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[18477+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[18477+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[18477+(d[c[j>>2]>>0]|0)>>0]|0)-(d[18477+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<7){c[b>>2]=c[968+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Kf(16368)|0;l=c[g>>2]|0;i=m;return l|0}if(a[18733+(c[h>>2]|0)>>0]|0)b=Lf()|0;else b=Mf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[996+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1036+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1036+(c[h>>2]<<2)>>2]=c[996+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[269];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(yQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;e=f+4|0;a=f;if(c[59]|0){c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}c[e>>2]=0;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[61]=1;if(!(c[62]|0))c[e>>2]=Tf()|0;if(((c[e>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[e>>2]=7;if(!(c[e>>2]|0))c[64]=(c[64]|0)+1;if(c[e>>2]|0){c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}if((c[59]|0)==0&(c[60]|0)==0){c[a>>2]=1080;c[60]=1;a=c[a>>2]|0;b=a+92|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));Uf();if(!(c[63]|0))c[e>>2]=Vf()|0;if(!(c[e>>2]|0)){c[63]=1;c[e>>2]=Wf()|0}if(!(c[e>>2]|0)){Xf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Yf(c[f>>2]|0);b=c[269]|0;if((c[g>>2]|0)!=0|(c[269]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[269]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[269]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=288;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=288;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=Zf(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[77]=a&1;l=Hd()|0;k=f;k=fR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=_f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=_f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){ag(0,$f(c[b>>2]|0)|0);ag(9,1);Qb[c[48>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[48>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=bg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=bg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{cg(g,0,j+44|0,70,1e9);dg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=eg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{cg(k,0,e,c[g>>2]|0,0);dg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=eg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;fg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[18743]=0;i=m;return}if(!(a[18743]|0)){a[18745]=0;a[18744]=0;gg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18746+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18745]=(d[18745]|0)+((d[18746+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[18746+(d[18745]|0)>>0]|0;a[18746+(d[18745]|0)>>0]=a[18746+(c[h>>2]|0)>>0]|0;a[18746+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[18743]=1}do{a[18744]=(a[18744]|0)+1<<24>>24;a[k>>0]=a[18746+(d[18744]|0)>>0]|0;a[18745]=(d[18745]|0)+(d[k>>0]|0);a[18746+(d[18744]|0)>>0]=a[18746+(d[18745]|0)>>0]|0;a[18746+(d[18745]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[18746+(d[18744]|0)>>0]|0);j=a[18746+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;if(!(c[e>>2]|0)){c[g>>2]=(a|0)!=0?-1:0;j=c[g>>2]|0;i=k;return j|0}if(!a){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}c[h>>2]=c[e>>2];c[j>>2]=c[f>>2];while(1){if(d[c[h>>2]>>0]|0)b=(d[18477+(d[c[h>>2]>>0]|0)>>0]|0|0)==(d[18477+(d[c[j>>2]>>0]|0)>>0]|0|0);else b=0;a=c[h>>2]|0;if(!b)break;c[h>>2]=a+1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=(d[18477+(d[a>>0]|0)>>0]|0)-(d[18477+(d[c[j>>2]>>0]|0)>>0]|0);j=c[g>>2]|0;i=k;return j|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1172+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;kg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(lg(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Of(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Of(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=mg(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;ng(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(og(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=mg(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=pg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=pg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=qg(Of(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=rg(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=sg(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=ug(b,a,tg(c[o>>2]|0)|0,0)|0;vg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))wg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=xg(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=yg(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)zg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=rR(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Bg(c[x>>2]|0)|0;Cg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=sg(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Dg(c[n>>2]|0)|0;vg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Eg(c[x>>2]|0,0,1)|0;o=(c[381]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[381]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[381]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=pR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=gR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=sg(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=tg(c[A>>2]|0)|0;q=u;c[D>>2]=Fg(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}vg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=gR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Gg(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Hg(c[x>>2]|0,0)|0}else{Ig(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Eg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Jg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Kg(c[(c[r>>2]|0)+24>>2]|0,0)|0;Jg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];kg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Lg(Of(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Mg(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){jg(c[c[e>>2]>>2]|0,c[g>>2]|0);Ng(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Ng(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+168>>2]|0;i=d;return e|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Og(c[g>>2]|0)|0){c[b>>2]=Kf(72362)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Pg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Qg(c[g>>2]|0)|0;c[f>>2]=Rg(c[e>>2]|0,c[f>>2]|0)|0;Ng(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Pg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Sg(c[f>>2]|0)|0;Tg(c[f>>2]|0);c[e>>2]=Rg(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function _d(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[g>>2]=0;c[f>>2]=c[j>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;Ug((c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[f>>2]|0)+60>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[(c[f>>2]|0)+88>>1]|0)>>>8&1)){j=c[g>>2]|0;i=h;return j|0}if(!(c[(c[f>>2]|0)+188>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=(c[f>>2]|0)+88|0;b[j>>1]=b[j>>1]&-9|8;j=c[g>>2]|0;i=h;return j|0}function $d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ae(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if(Vg(c[f>>2]|0)|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Wg(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Xg(c[d>>2]|0,1)|0;i=b;return a|0}function ce(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+Yg(c[e>>2]|0);i=d;return +b}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0)|0;i=b;return a|0}function fe(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[19002+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ah(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){bh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{ah(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function ie(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;ch(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;dh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;eh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;eh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fh(c[c[d>>2]>>2]|0);i=b;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ah(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function oe(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[960]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){bh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{ah(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;gh(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{hh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;dh(b,ih(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;dh(c[c[e>>2]>>2]|0,19034,-1,1,0)|0;i=d;return}function te(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;fh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;jh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function ue(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;l=o+4|0;n=o;c[f>>2]=d;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[f>>2];c[g>>2]=0;if(kh(c[m>>2]|0)|0){c[e>>2]=Kf(72913)|0;n=c[e>>2]|0;i=o;return n|0}c[h>>2]=c[c[m>>2]>>2];d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-513;while(1){d=lh(c[m>>2]|0)|0;c[j>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[l>>2]=c[(c[m>>2]|0)+76>>2];d=mh(c[m>>2]|0)|0;c[j>>2]=d;c[k>>2]=d;if(c[j>>2]|0)break;Zd(c[f>>2]|0)|0;if((c[l>>2]|0)<0)continue;d=(c[m>>2]|0)+88|0;b[d>>1]=b[d>>1]&-513|512}do if(c[k>>2]|0){c[n>>2]=ae(c[(c[h>>2]|0)+236>>2]|0)|0;Sf(c[h>>2]|0,c[(c[m>>2]|0)+44>>2]|0);if(a[(c[h>>2]|0)+65>>0]|0){c[(c[m>>2]|0)+44>>2]=0;c[j>>2]=7;c[(c[m>>2]|0)+80>>2]=7;break}else{n=nh(c[h>>2]|0,c[n>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=n;c[(c[m>>2]|0)+80>>2]=c[k>>2];break}}while(0);c[j>>2]=Rg(c[h>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=o;return n|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=oh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function ye(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function ze(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=be(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+ce(qh(c[f>>2]|0,c[g>>2]|0)|0);rh(c[f>>2]|0);i=e;return +(+h[d>>3])}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=de(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=ee(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;rh(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ge(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=qh(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;rh(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;rh(j);j=c[g>>2]|0;i=h;return j|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe(qh(c[f>>2]|0,c[g>>2]|0)|0)|0;rh(c[f>>2]|0);i=e;return c[d>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=sh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=uh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}ch((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Me(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=uh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;eh((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=uh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Pe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(fe(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Ke(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Qe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Je(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=th(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Ne(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=uh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}hh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Re(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+68>>1]|0;i=e;return f|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=vh(a,b,If(c[e>>2]|0)|0)|0;i=d;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fe(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];xh(c[e>>2]|0,0);c[d>>2]=fe(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=ph(c[F>>2]|0,28,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=yh(c[F>>2]|0,544,0)|0,(c[J>>2]|0)!=0):0){while(1){kR(c[J>>2]|0,0,544)|0;c[c[J>>2]>>2]=c[F>>2];Sf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Nf(c[F>>2]|0);c[A>>2]=zh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Ah(h,19057,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Ah(h,19087,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Ah(h,19123,E)}if(!(c[A>>2]|0)){k=13;break}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(Td(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=19165;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=19177;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Ch(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Dh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Eh(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Fh(c[B>>2]|0,1);c[s>>2]=Gh(c[B>>2]|0,9,19219,0)|0;Hh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+65>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Ih(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+65>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=55;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+444>>1]=1;c[(c[J>>2]|0)+76>>2]=1;c[(c[J>>2]|0)+72>>2]=1;Jh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+65>>0]|0)break a;h=q;Me(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Kh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Sf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Sf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Bh(P,19144,N)|0;c[K>>2]=1;break}else if((k|0)==42){Sf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Bh(N,19185,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+65>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19255:0;I=c[O>>2]|0;c[M>>2]=I;hg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Sf(N,P);P=c[J>>2]|0;Lh(P);P=c[F>>2]|0;O=c[J>>2]|0;Sf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Rg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Qg(c[(c[I>>2]|0)+20>>2]|0)|0;Sf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?19255:0;I=c[O>>2]|0;c[M>>2]=I;hg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Sf(N,P);P=c[J>>2]|0;Lh(P);P=c[F>>2]|0;O=c[J>>2]|0;Sf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Rg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Yd(c[(c[d>>2]|0)+20>>2]|0)|0;Sf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Nh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Kf(81515)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Kh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?19255:0;c[k>>2]=c[l>>2];hg(h,a,n,k);Sf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Rg(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Ph(c[f>>2]|0,c[e>>2]|0,19258,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Ph(c[h>>2]|0,c[g>>2]|0,19262,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Qh(c[k>>2]|0)|0)){c[j>>2]=Kf(105510)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=19266;jg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=ye(c[v>>2]|0)|0;do{c[w>>2]=ue(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=ph(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Ie(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Fe(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(He(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Qg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[19267+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Sf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)jh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Qg(c[v>>2]|0)|0;c[v>>2]=0;jg(c[k>>2]|0,4)}if(c[v>>2]|0)Qg(c[v>>2]|0)|0;Sf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Rg(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(If(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=_f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;iR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;jg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Rh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=ih(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Sh(c[e>>2]|0)|0)){c[d>>2]=ih(Kf(134947)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+65>>0]|0)){c[f>>2]=ae(c[(c[e>>2]|0)+236>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=ih(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=ih(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Rh(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Th(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Th(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){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;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;m=q+8|0;p=q+4|0;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[p>>2]=0;c[k>>2]=c[(c[h>>2]|0)+328>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[m>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=ph(c[h>>2]|0,544,0)|0;if(!(c[l>>2]|0))c[n>>2]=7;else{a[(c[l>>2]|0)+454>>0]=1;c[c[l>>2]>>2]=c[h>>2];c[(c[l>>2]|0)+428>>2]=1;if((((0==(Uh(c[l>>2]|0,c[j>>2]|0,p)|0)?(c[(c[l>>2]|0)+488>>2]|0)!=0:0)?(a[(c[h>>2]|0)+65>>0]|0)==0:0)?(c[(c[(c[l>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[l>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[m>>2]|0)+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2];b[(c[m>>2]|0)+34>>1]=b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]|0;b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]=0;c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2]=0}c[(c[k>>2]|0)+12>>2]=1}else{m=c[h>>2]|0;f=(c[p>>2]|0)!=0?19255:0;c[o>>2]=c[p>>2];hg(m,1,f,o);Sf(c[h>>2]|0,c[p>>2]|0);c[n>>2]=1}a[(c[l>>2]|0)+454>>0]=0;if(c[(c[l>>2]|0)+8>>2]|0)Qg(c[(c[l>>2]|0)+8>>2]|0)|0;Qf(c[h>>2]|0,c[(c[l>>2]|0)+488>>2]|0);Lh(c[l>>2]|0);Sf(c[h>>2]|0,c[l>>2]|0)}c[n>>2]=Rg(c[h>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}jg(c[h>>2]|0,21);c[g>>2]=Kf(119136)|0;p=c[g>>2]|0;i=q;return p|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[19523+((d[(c[b>>2]|0)+70>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+328>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Kf(119587)|0;break}}else c[j>>2]=Kf(119595)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}jg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 18462}function kf(){return 19541}function lf(){return 3011e3}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Kf(133154)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=c[b>>2];c[12]=c[b+4>>2];c[13]=c[b+8>>2];c[14]=c[b+12>>2];c[15]=c[b+16>>2];c[16]=c[b+20>>2];c[17]=c[b+24>>2];c[18]=c[b+28>>2];break}case 5:{if(!(c[11]|0))Xh();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[11];c[b+4>>2]=c[12];c[b+8>>2]=c[13];c[b+12>>2]=c[14];c[b+16>>2]=c[15];c[b+20>>2]=c[16];c[b+24>>2]=c[17];c[b+28>>2]=c[18];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(Yh()|0)+(Zh()|0)+(_h()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=112;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[30]|0))$h();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=112;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Nf(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Of(c[e>>2]|0)|0;ai(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+80>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function rf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(c[d>>2]|0,0)|0;i=b;return a|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=di(c[d>>2]|0,1)|0;i=b;return a|0}function tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+448>>2]=c[h>>2];c[(c[f>>2]|0)+448+4>>2]=c[g>>2];c[(c[f>>2]|0)+448+8>>2]=0;c[(c[f>>2]|0)+496>>2]=0;i=e;return 0}function uf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){tf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+496>>2]=c[e>>2];i=f;return 0}else{tf(a,0,0)|0;i=f;return 0}return 0}function vf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=wf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function wf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=ph(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=fi(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Sf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Rg(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;k=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=If(c[f>>2]|0)|0;c[h>>2]=0;if(!(gi(c[e>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=fi(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Rg(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){zf(a,139,c[d>>2]|0)|0;i=e;return 0}else{zf(a,0,0)|0;i=e;return 0}return 0}function zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+220>>2];c[(c[g>>2]|0)+216>>2]=c[j>>2];c[(c[g>>2]|0)+220>>2]=c[h>>2];i=f;return c[e>>2]|0}function Af(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=ji(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];hg(d,1,19602,q)}else{c[(c[j>>2]|0)+448+8>>2]=0;c[p>>2]=ki(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;jg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Rg(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Af(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Cf(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Sh(c[e>>2]|0)|0)==0:0){c[b>>2]=Kf(135016)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+65>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1536+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1536+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+88+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=mi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=si(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}kg(c[j>>2]|0);c[k>>2]=Of(c[j>>2]|0)|0;c[h>>2]=Bg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=ti(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=ui(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=vi(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Gf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(If(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=yQ(c[e>>2]|0,c[f>>2]|0)|0;d=(If(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(If(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function Hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Gf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Bi(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function If(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(BQ(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Jf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[19267+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Kf(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(kf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Rd(21,47042,d);i=b;return 21}function Lf(){return c[417]|0}function Mf(){return c[70]|0}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Of(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Pf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}bv(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Sf(c[d>>2]|0,c[c[e>>2]>>2]|0);Sf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Zu(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);_u(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Qf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=l;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+528>>2]|0)!=0:0))k=4;if((k|0)==4?(d=(c[f>>2]|0)+36|0,k=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=k,(k&65535|0)>0):0){i=l;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+528>>2]|0)!=0:0)){c[j>>2]=c[c[g>>2]>>2];Oj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}WG(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}LP(c[e>>2]|0,c[f>>2]|0);RG(c[e>>2]|0,c[f>>2]|0);Sf(c[e>>2]|0,c[c[f>>2]>>2]|0);Sf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Wu(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);CH(c[e>>2]|0,c[f>>2]|0);Sf(c[e>>2]|0,c[f>>2]|0);i=l;return}function Rf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;oC(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);oC(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];KP(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Sf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Sf(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Sf(a,c[(c[j>>2]|0)+64>>2]|0);KP(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Sf(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Sf(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Sf(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+528>>2]|0){JP(a,b);i=g;return}if(au(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+248+28>>2];c[(c[d>>2]|0)+248+28>>2]=c[f>>2];f=(c[d>>2]|0)+248+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Tf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[11]|0))Xh();c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[75]=c[d>>2];c[76]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[74]=(c[d>>2]|0)+4}else{c[74]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[64>>2]&255](c[18]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;f=c[e>>2]|0;i=g;return f|0}function Uf(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=1080;c[a>>2]=7788;c[b>>2]=0;while(1){if((c[b>>2]|0)>=57)break;Yt(c[d>>2]|0,(c[a>>2]|0)+(c[b>>2]<<5)|0);c[b>>2]=(c[b>>2]|0)+1}tO();uO();i=e;return}function Vf(){if(!(c[30]|0))$h();return Tb[c[120>>2]&255](c[29]|0)|0}function Wf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[409]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[412]=c[f>>2];b=c[g>>2]|0;c[419]=b;c[413]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[414]=d;c[415]=c[e>>2];c[418]=0;c[420]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[418];c[418]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[416]=d;i=j;return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[269]|0)==(c[d>>2]|0)){c[269]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[269]|0)){i=f;return}c[e>>2]=c[269];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function Zf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[996+(c[b>>2]<<2)>>2]|0}function _f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){sO(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[44>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function $f(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[56>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=996+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function bg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=_f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=$f(c[f>>2]|0)|0;c[j>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[52>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Mi(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=Zf(0)|0;n=C;b=288;a=c[h>>2]|0;a=fR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)rO(c[h>>2]|0);c[l>>2]=Yb[c[52>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=288;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){rO(c[g>>2]|0);c[l>>2]=Yb[c[52>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=$f(c[l>>2]|0)|0;Ni(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function cg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function dg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=0;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);aA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=mO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=mO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=46051;a[na>>0]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[46051+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=46051+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 14:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 1:case 16:{qa=62;break}case 4:case 3:case 2:{if(a[m>>0]|0)h[ea>>3]=+nO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==4&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==2)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(HF(+h[ea>>3])|0){c[p>>2]=46238;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[46242]|0;a[b+1>>0]=a[46243]|0;a[b+2>>0]=a[46244]|0;a[b+3>>0]=a[46245]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=2?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==4){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=2;break c}while(0);a[na>>0]=3}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==3)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=gR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=gR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=gR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=gR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=gR(b|0,C|0,15,0)|0,b=_f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=oO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=oO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==3){f=a[46198+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 5:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 8:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 9:{if(a[m>>0]|0){c[p>>2]=pO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){qO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}qO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 7:case 6:{if(a[m>>0]|0){c[p>>2]=pO(c[X>>2]|0)|0;a[na>>0]=6}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==7)c[oa>>2]=c[p>>2]}else c[p>>2]=19266;if((c[aa>>2]|0)<0){c[Q>>2]=If(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 15:case 11:case 10:{a[da>>0]=(d[na>>0]|0)==15?34:39;if(a[m>>0]|0)c[v>>2]=pO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==11?40498:46246;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==11;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=_f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 12:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)aA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 13:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){AD(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);aA(c[j>>2]|0,45876,1)}AD(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=mO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=fR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=mO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=_f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==16){sa=R;sa=tR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=sR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=tR(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[46189+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[46189+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=46198+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=tR(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=sR(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=46231+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))qO(c[j>>2]|0,c[ja>>2]|0,32);aA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)qO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Sf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){aA(c[j>>2]|0,46049,1);i=ra;return}else if((qa|0)==92){eA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){eA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){eA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function eg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=yh(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){iR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{eA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;cg(g,0,e+40|0,210,0);dg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=eg(g)|0;Ub[f&255](d,a,b);i=e;return}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function hg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];a=c[f>>2]|0;if(!(c[h>>2]|0)){jg(a,c[g>>2]|0);i=l;return}if((c[a+236>>2]|0)==0?(g=Vh(c[f>>2]|0)|0,c[(c[f>>2]|0)+236>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=Zw(c[f>>2]|0,c[h>>2]|0,j)|0;Wh(c[(c[f>>2]|0)+236>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=_f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}kR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function jg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;c[(c[d>>2]|0)+52>>2]=c[f>>2];if(!(c[(c[d>>2]|0)+236>>2]|0)){i=e;return}PM(c[(c[d>>2]|0)+236>>2]|0);i=e;return}function kg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function mg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;kg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=mH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=MM(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=NM(k,m,Sq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=VL(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)rB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(Yq(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=($q((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Dg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)Xs((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=SL(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+500>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];kg(c[e>>2]|0);if((c[f>>2]|0)==15){d=LM(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=$q((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function og(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function pg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function qg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function rg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$E(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function sg(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Lj(49076)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=23}else{if(((c[o>>2]|0)!=0?(sr(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=xs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=rR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=$K(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if((d[(c[l>>2]|0)+17>>0]|0|0)>1)c[r>>2]=Zr(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=IM(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=rR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Cs(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=cs(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=JM(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=ds(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=23}while(0);do if((j|0)==23){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[381]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if(((d[(c[l>>2]|0)+16>>0]|0|0)==0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0)?(c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0:0){u=(sr(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=xs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=ys(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Sj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)gj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;Ht(c[l>>2]|0,c[m>>2]|0)|0;Tj()}kR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Lj(49165)|0}while(0);if(c[r>>2]|0)ws(c[r>>2]|0);Bs(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function tg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function ug(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Of(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=pg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=pg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=rR(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(DJ(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=fR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=pR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=sg(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Dg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=qR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=tg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=qR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,iR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(It(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;Xs(x,rg(c[(c[g>>2]|0)+24>>2]|0)|0)}vg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=gR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}zs(c[b>>2]|0);i=d;return}function wg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Lg(Of(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function xg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;kg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=VL(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function yg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];kg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Dg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}Xs((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function zg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Nf(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)tj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;ju(c[b>>2]|0);mB(c[b>>2]|0);i=f;return}function Ag(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=mg(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=mg(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Dg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Bg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Dg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=lt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=DM(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=EM(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Eg(b,e,f){b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;f=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[f+44>>2];o=c[g>>2]|0;i=p;return o|0}if((d[f+17>>0]|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}f=c[h>>2]|0;do if(!(a[(c[h>>2]|0)+16>>0]|0)){e=(sr(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=qs(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=sg(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=mt(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;vg(c[n>>2]|0);if(c[o>>2]|0)break;rr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=BM(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=CM(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=nt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=ot(n,qs(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){rr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[381]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=ur(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Hg(c[h>>2]|0,c[j>>2]|0)|0}}else _i(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(sr(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Fg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Si(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=nr(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Hg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=vi(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=or(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}kg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=AM(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;vM(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);wM(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Kg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=zM(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Ig(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Eg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Lg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Mg(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);if(!(c[h>>2]|0)){f=nH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=oI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;wM(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=jr(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(nF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=$q((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Cg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];qB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;vM(c[l>>2]|0);f=c[g>>2]|0;wM(f);f=c[n>>2]|0;i=q;return f|0}function Ng(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+32|0;e=n+28|0;f=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n+8|0;h=n+4|0;l=n;c[d>>2]=b;if((c[(c[d>>2]|0)+76>>2]|0)!=1691352191){i=n;return}if(eu(c[d>>2]|0)|0){i=n;return}qI(c[d>>2]|0,0);rI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(lB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)tj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);ju(c[d>>2]|0);mB(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=23)break;c[g>>2]=c[(c[d>>2]|0)+340+(c[f>>2]<<2)>>2];while(1){if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(!(c[g>>2]|0))break;bu(c[d>>2]|0,c[g>>2]|0);c[m>>2]=c[(c[g>>2]|0)+8>>2];Sf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[m>>2]}c[g>>2]=c[k>>2]}c[f>>2]=(c[f>>2]|0)+1}c[e>>2]=c[(c[d>>2]|0)+432+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}vj((c[d>>2]|0)+432|0);c[e>>2]=c[(c[d>>2]|0)+312+8>>2];while(1){if(!(c[e>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[l>>2]|0)+12>>2]|0)Qb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0);BH(c[d>>2]|0,c[l>>2]|0);Sf(c[d>>2]|0,c[l>>2]|0);c[e>>2]=c[c[e>>2]>>2]}vj((c[d>>2]|0)+312|0);jg(c[d>>2]|0,0);$g(c[(c[d>>2]|0)+236>>2]|0);c[(c[d>>2]|0)+76>>2]=-1254786768;Sf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+76>>2]=-1623446221;if(a[(c[d>>2]|0)+248+6>>0]|0)Kd(c[(c[d>>2]|0)+248+32>>2]|0);Kd(c[d>>2]|0);i=n;return}function Og(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,45447,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;h=d;c[f>>2]=a;c[e>>2]=b;IH(c[c[f>>2]>>2]|0,h)|0;g=c[(c[f>>2]|0)+184>>2]|0;f=c[(c[f>>2]|0)+188>>2]|0;a=c[(c[e>>2]|0)+168>>2]|0;b=(c[e>>2]|0)+128|0;b=fR(c[h>>2]|0,c[h+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=rR(b|0,C|0,1e6,0)|0;_b[g&255](f,a,b,C);b=(c[e>>2]|0)+128|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Qg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Sg(c[b>>2]|0)|0;Tu(c[b>>2]|0);i=e;return c[d>>2]|0}function Rg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+65>>0]|0|0)!=0){c[e>>2]=uM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Sg(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];TH(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+76>>2]|0)>=0){MH(a)|0;Sf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;if((e[(c[d>>2]|0)+88>>1]|0)>>>4&1){g=(c[d>>2]|0)+88|0;b[g>>1]=b[g>>1]&-9|8}}else if((c[a+80>>2]|0)!=0?((e[(c[d>>2]|0)+88>>1]|0)>>>3&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[d>>2]|0)+80>>2]|0;a=(c[(c[d>>2]|0)+44>>2]|0)!=0?19255:0;c[g>>2]=c[(c[d>>2]|0)+44>>2];hg(k,j,a,g);Sf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0}tM(c[d>>2]|0);k=(c[d>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[d>>2]|0)+40>>2]=649915045;i=h;return c[(c[d>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Tg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+87>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Ug(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}sM(c[b>>2]|0);i=d;return}function Vg(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(ux(c[f>>2]|0,c[g>>2]|0,1)|0)){kR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Wg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=rM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Xg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=qM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function Yg(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Ky(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function Zg(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=qx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Hi(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function _g(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Vg(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(ux(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function $g(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Ug(c[b>>2]|0);Sf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function ah(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((dh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}se(c[h>>2]|0);i=j;return}function bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}se(c[g>>2]|0);i=h;return 18}function ch(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;fh(c[e>>2]|0);if(HF(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function dh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){fh(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+88>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=If(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Ug(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=$t(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(tx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){iR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(pM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function eh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;oM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function fh(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){DF(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function gh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)DF(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=_g(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function hh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Ug(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function ih(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=44821;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[7072+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[7072+(c[b>>2]<<2)>>2]}else c[d>>2]=44835;i=e;return c[d>>2]|0}function jh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+65>>0]|0){i=f;return}if(d[(c[e>>2]|0)+66>>0]|0){i=f;return}a[(c[e>>2]|0)+65>>0]=1;if((c[(c[e>>2]|0)+160>>2]|0)>0)c[(c[e>>2]|0)+240>>2]=1;b=(c[e>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,44781,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Og(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function lh(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=d;if((c[(c[g>>2]|0)+40>>2]|0)!=-1108210269)Zd(c[g>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];d=c[g>>2]|0;if(a[(c[h>>2]|0)+65>>0]|0){c[d+80>>2]=7;c[f>>2]=7;j=c[f>>2]|0;i=k;return j|0}if((c[d+76>>2]|0)<=0?((e[(c[g>>2]|0)+88>>1]|0)>>>3&1|0)!=0:0){c[(c[g>>2]|0)+80>>2]=17;c[j>>2]=1}else{if((c[(c[g>>2]|0)+76>>2]|0)<0){if(!(c[(c[h>>2]|0)+148>>2]|0))c[(c[h>>2]|0)+240>>2]=0;if(((c[(c[h>>2]|0)+184>>2]|0)!=0?(a[(c[h>>2]|0)+140+5>>0]|0)==0:0)?(c[(c[g>>2]|0)+168>>2]|0)!=0:0)IH(c[c[h>>2]>>2]|0,(c[g>>2]|0)+128|0)|0;d=(c[h>>2]|0)+148|0;c[d>>2]=(c[d>>2]|0)+1;if(!((e[(c[g>>2]|0)+88>>1]|0)>>>6&1)){d=(c[h>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+1}if((e[(c[g>>2]|0)+88>>1]|0)>>>7&1){d=(c[h>>2]|0)+152|0;c[d>>2]=(c[d>>2]|0)+1}c[(c[g>>2]|0)+76>>2]=0}if(b[(c[g>>2]|0)+88>>1]&3)c[j>>2]=JH(c[g>>2]|0)|0;else{d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+1;c[j>>2]=KH(c[g>>2]|0)|0;d=(c[h>>2]|0)+160|0;c[d>>2]=(c[d>>2]|0)+-1}if((c[j>>2]|0)!=100?(d=(c[g>>2]|0)+128|0,l=c[d+4>>2]|0,(l|0)>0|(l|0)==0&(c[d>>2]|0)>>>0>0):0)Pg(c[h>>2]|0,c[g>>2]|0);if((c[j>>2]|0)==101?(l=LH(c[h>>2]|0)|0,c[(c[g>>2]|0)+80>>2]=l,(c[(c[g>>2]|0)+80>>2]|0)!=0):0)c[j>>2]=1;c[(c[h>>2]|0)+52>>2]=c[j>>2];if(7==(Rg(c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+80>>2]|0)|0))c[(c[g>>2]|0)+80>>2]=7}if(((c[j>>2]|0)!=100?((e[(c[g>>2]|0)+88>>1]|0)>>>8&1|0)!=0:0)&(c[j>>2]|0)!=101)c[j>>2]=MH(c[g>>2]|0)|0;c[f>>2]=c[j>>2]&c[(c[h>>2]|0)+56>>2];l=c[f>>2]|0;i=k;return l|0}function mh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Xd(c[d>>2]|0)|0;c[e>>2]=wA(c[d>>2]|0)|0;c[g>>2]=Rh(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){GH(c[f>>2]|0,c[d>>2]|0);wh(c[f>>2]|0,c[d>>2]|0)|0;HH(c[f>>2]|0);Qg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)jh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(If(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=yh(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)iR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function oh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){tx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)kR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{fh(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=yh(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}kR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function qh(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)jg(c[c[g>>2]>>2]|0,25);c[f>>2]=FH()|0;j=c[f>>2]|0;i=h;return j|0}function rh(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Rg(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function sh(b,d,e,f){b=b|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;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=ye(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+65>>0]|0)){p=c[n>>2]|0;i=o;return p|0}li(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function th(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=uh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=dh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=Zt(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+62>>0]|0)|0;jg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Rg(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function uh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;k=m;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;c[g>>2]=a;c[h>>2]=d;if(kh(c[g>>2]|0)|0){c[f>>2]=Kf(73485)|0;l=c[f>>2]|0;i=m;return l|0}if((c[(c[g>>2]|0)+40>>2]|0)==-1108210269?(c[(c[g>>2]|0)+76>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+68>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[j>>2]=(c[(c[g>>2]|0)+60>>2]|0)+((c[h>>2]|0)*40|0);Ug(c[j>>2]|0);b[(c[j>>2]|0)+8>>1]=1;jg(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+88>>1]|0)>>>8&1){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+188>>2]&1<>2]|0)!=0:0))l=12;if((l|0)==12?(c[(c[g>>2]|0)+188>>2]|0)!=-1:0)break;l=(c[g>>2]|0)+88|0;b[l>>1]=b[l>>1]&-9|8}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}jg(c[c[g>>2]>>2]|0,25);c[f>>2]=25;l=c[f>>2]|0;i=m;return l|0}jg(c[c[g>>2]>>2]|0,21);c[k>>2]=c[(c[g>>2]|0)+168>>2];Rd(21,40606,k);c[f>>2]=Kf(73493)|0;l=c[f>>2]|0;i=m;return l|0}function vh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(CQ(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function wh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;EH((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function xh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Ky(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Hi(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}px(c[g>>2]|0);i=n;return}function yh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Fw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=_f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function zh(b,d,e,f){b=b|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,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(pz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=pi(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]|0)!=0?40579:40592;if(((ji(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=nj((c[c[l>>2]>>2]|0)+312|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(AH(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Ah(d,30884,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Ah(d,30894,q)}a[(c[l>>2]|0)+17>>0]=1}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Ah(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=Zw(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+69>>0]|0){Sf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+68|0;c[l>>2]=(c[l>>2]|0)+1;Sf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Zw(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=ph(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Eh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=Vw(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Ih(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Fh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(a[(c[c[e>>2]>>2]|0)+65>>0]|0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Gh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)?(Xw(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+32>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[35754+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+32>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+32|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(zH(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+100|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Ih(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+65>>0]|0){if((c[l>>2]|0)==-10){i=n;return}qA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}yH(c[k>>2]|0);i=n;return}xH(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Jh(e,f){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,r=0;r=i;i=i+48|0;g=r+44|0;h=r+40|0;j=r+36|0;p=r+32|0;n=r+28|0;m=r+24|0;l=r+20|0;o=r+16|0;k=r+12|0;q=r;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[p>>2]=b[(c[h>>2]|0)+444>>1];c[n>>2]=c[(c[h>>2]|0)+76>>2];c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=c[(c[h>>2]|0)+400>>2];f=c[(c[h>>2]|0)+84>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)==0?1:f;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);c[k>>2]=((c[(c[g>>2]|0)+32>>2]|0)*20|0)+7&-8;c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[q+4>>2]=(c[(c[h>>2]|0)+92>>2]|0)-(c[k>>2]|0)&-8;if((c[q+4>>2]|0)>0)kR(c[q>>2]|0,0,c[q+4>>2]|0)|0;SE(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-33|(e&1)<<5&65535;if((c[n>>2]|0)<10?(d[(c[h>>2]|0)+453>>0]|0)!=0:0)c[n>>2]=10;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-9;do{c[q+8>>2]=0;f=wH(q,c[(c[g>>2]|0)+8>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[g>>2]|0)+8>>2]=f;f=wH(q,c[(c[g>>2]|0)+60>>2]|0,(c[p>>2]|0)*40|0)|0;c[(c[g>>2]|0)+60>>2]=f;f=wH(q,c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=f;f=wH(q,c[(c[g>>2]|0)+56>>2]|0,c[m>>2]<<2)|0;c[(c[g>>2]|0)+56>>2]=f;f=wH(q,c[(c[g>>2]|0)+200>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+200>>2]=f;if(!(c[q+8>>2]|0))break;f=c[q+8>>2]|0;f=ph(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f;c[q>>2]=f;c[q+4>>2]=c[q+8>>2]}while((a[(c[j>>2]|0)+65>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[m>>2];c[(c[g>>2]|0)+196>>2]=c[o>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[p>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+448>>2];c[(c[g>>2]|0)+64>>2]=c[(c[h>>2]|0)+476>>2];c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+476>>2]=0;if(!(c[(c[g>>2]|0)+8>>2]|0)){p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+88|0;p=p&65535;o=b[q>>1]|0;p=p&3;o=o&-4;p=o|p;b[q>>1]=p;q=c[g>>2]|0;Tg(q);i=r;return}q=(c[g>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-40;c[(c[g>>2]|0)+28>>2]=c[n>>2];c[k>>2]=1;while(1){if((c[k>>2]|0)>(c[n>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+88|0;p=p&65535;o=b[q>>1]|0;p=p&3;o=o&-4;p=o|p;b[q>>1]=p;q=c[g>>2]|0;Tg(q);i=r;return}function Kh(a,d,e,f){a=a|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,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+60>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=ue(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=uF(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];vH(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=40525;else d=(c[j>>2]|0)==7?40512:40517;c[k>>2]=d;c[r>>2]=Bh(e,40530,k)|0;c[o>>2]=1;Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Bh(d,40559,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Bh(d,19255,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Lh(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Sf(c[f>>2]|0,c[(c[e>>2]|0)+120>>2]|0);Vu(c[f>>2]|0,c[(c[e>>2]|0)+324>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Mh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=WE(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=hF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Nh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Kf(81441)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=gR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}uH(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Qg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+80>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;jg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Rg(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Oh(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+88|0;b[f>>1]=b[f>>1]&-9|8;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Ph(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=jC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=jC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=jC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=jC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=jC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=jC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=jC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=jC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=jC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0&(c[q>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[18477+(c[q>>2]&255)>>0]|0)==(d[18477+(c[r>>2]&255)>>0]|0):0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=jC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(jC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=jC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Ph((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[19267+(c[q>>2]&255)>>0]&32);c[q>>2]=d[18477+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Ph(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=jC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Ph(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){hH(40498);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+76>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Sh(c[d>>2]|0)|0)hH(40503);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Rh(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Qh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Kf(110077)|0;b=c[j>>2]|0;i=s;return b|0}Nf(c[k>>2]|0);c[r>>2]=iH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Yd(c[c[p>>2]>>2]|0)|0;c[r>>2]=iH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+76>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){hH(40345);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Th(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=If(c[h>>2]|0)|0;if(!(nj((c[g>>2]|0)+312|0,c[h>>2]|0)|0)){c[o>>2]=Fw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,iR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Oj((c[g>>2]|0)+312|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){jh(c[g>>2]|0);Sf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Kf(118442)|0;c[p>>2]=Rg(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Uh(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+88+4>>2];if(!(c[(c[u>>2]|0)+148>>2]|0))c[(c[u>>2]|0)+240>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+484>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=Pu(179)|0;if(!(c[m>>2]|0)){jh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}while(1){if(!(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0))break;c[(c[t>>2]|0)+508>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=Qu((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+508+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+508+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break}if((c[n>>2]|0)>=159){if(c[(c[u>>2]|0)+240>>2]|0){r=10;break}if((c[n>>2]|0)==160){r=12;break}else continue}if((c[n>>2]|0)==1)c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0);b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+508|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];Ru(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+65>>0]|0)break}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==10)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==12){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+508;Ah(A,27316,o)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+65>>0]|0)==0:0){if((c[k>>2]|0)!=1){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Ru(r,1,g,A);c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+65>>0]|0)==0:0){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Ru(r,0,g,A)}}Su(c[m>>2]|0,148);if(a[(c[u>>2]|0)+65>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=ih(c[(c[t>>2]|0)+12>>2]|0)|0;A=Bh(A,19255,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,19255,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+68>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){Tu(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Sf(c[u>>2]|0,c[(c[t>>2]|0)+408>>2]|0);c[(c[t>>2]|0)+408>>2]=0;c[(c[t>>2]|0)+404>>2]=0}Kd(c[(c[t>>2]|0)+524>>2]|0);if(!(a[(c[t>>2]|0)+454>>0]|0))Qf(c[u>>2]|0,c[(c[t>>2]|0)+488>>2]|0);Uu(c[u>>2]|0,c[(c[t>>2]|0)+540>>2]|0);Pf(c[u>>2]|0,c[(c[t>>2]|0)+492>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+448>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Sf(g,c[(c[(c[t>>2]|0)+476>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Sf(g,c[(c[t>>2]|0)+476>>2]|0);while(1){if(!(c[(c[t>>2]|0)+412>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+412>>2];c[(c[t>>2]|0)+412>>2]=c[c[x>>2]>>2];Sf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+528>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+528>>2];c[(c[t>>2]|0)+528>>2]=c[(c[y>>2]|0)+68>>2];Qf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Vh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=ph(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Wh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}dh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Xh(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5028;mf(4,b)|0;i=a;return}function Yh(){return 88}function Zh(){return 40}function _h(){return 32}function $h(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=4976;mf(18,b)|0;i=a;return}function ai(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ku(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function bi(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function ci(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+248+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+248+6>>0]|0)Kd(c[(c[j>>2]|0)+248+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Sj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=_f(f,((f|0)<0)<<31>>31)|0;Tj();if(c[p>>2]|0){f=$f(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+248+32>>2]=c[p>>2];c[(c[j>>2]|0)+248+28>>2]=0;b[(c[j>>2]|0)+248+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+248+28>>2];c[(c[j>>2]|0)+248+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+248+36>>2]=c[o>>2];c[(c[j>>2]|0)+248>>2]=0;a[(c[j>>2]|0)+248+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+248+32>>2]=c[j>>2];c[(c[j>>2]|0)+248+36>>2]=c[j>>2];c[(c[j>>2]|0)+248>>2]=1;a[(c[j>>2]|0)+248+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function di(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Sh(c[e>>2]|0)|0)){c[d>>2]=Kf(133819)|0;g=c[d>>2]|0;i=h;return g|0}cu(c[e>>2]|0);du(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(eu(c[e>>2]|0)|0)!=0:0){hg(c[e>>2]|0,5,27174,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+76>>2]=1691352191;Ng(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+496>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{ri(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} -function Py(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+44|0;h=t+40|0;o=t+36|0;l=t+32|0;q=t+28|0;m=t+24|0;p=t+20|0;j=t+16|0;r=t+12|0;s=t+8|0;k=t;c[h>>2]=f;c[o>>2]=g;if(!(c[(c[o>>2]|0)+52>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;if((d[(c[m>>2]|0)+4>>0]|0|0)!=116?(d[(c[m>>2]|0)+4>>0]|0|0)!=119:0)break;c[m>>2]=c[(c[m>>2]|0)+52>>2]}if(!(c[m>>2]|0)){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[j>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[c[(c[o>>2]|0)+48>>2]>>2]|0)-1;while(1){if((c[l>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[l>>2]=(c[l>>2]|0)+-1}if((c[l>>2]|0)<0){c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}c[s>>2]=c[c[h>>2]>>2];c[p>>2]=c[c[s>>2]>>2];c[q>>2]=ph(c[p>>2]|0,72,0)|0;if(!(c[q>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0};c[k>>2]=0;c[k+4>>2]=0;c[r>>2]=Ev(c[s>>2]|0,0,0,0,k,c[q>>2]|0,0,0)|0;if(!(c[r>>2]|0)){c[n>>2]=2;s=c[n>>2]|0;i=t;return s|0}else{h=c[q>>2]|0;j=c[o>>2]|0;k=h+72|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));c[(c[o>>2]|0)+32>>2]=c[r>>2];s=c[s>>2]|0;s=Gv(s,0,Jv(c[p>>2]|0,158,0)|0)|0;c[c[o>>2]>>2]=s;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+36>>2]=0;c[(c[q>>2]|0)+40>>2]=0;c[(c[q>>2]|0)+44>>2]=0;c[(c[q>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+68>>2]=0;s=(c[o>>2]|0)+6|0;b[s>>1]=(e[s>>1]|0)&-129;s=(c[o>>2]|0)+6|0;b[s>>1]=e[s>>1]|0|16384;c[(c[(c[q>>2]|0)+52>>2]|0)+56>>2]=c[q>>2];c[(c[q>>2]|0)+60>>2]=0;c[(c[q>>2]|0)+64>>2]=0;c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function Qy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=b[(c[r>>2]|0)+6>>1]|0;f=(c[r>>2]|0)+6|0;b[f>>1]=e[f>>1]|32;if(a[(c[t>>2]|0)+65>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+32>>2]|0)!=0?(e[l>>1]&32|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+32>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;Qv(l,c[(Sy(c[r>>2]|0)|0)+68>>2]|0,0)}Ix(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(Ty(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(Zx(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=ph(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Bh(l,30964,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}Gx(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=_w(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(Uy(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(zx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=Hx(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;Zx(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(Vy(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Ah(X,30977,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+65>>0]|0)==0?(Wy(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==158)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==158:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=158){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==158:0){j=58;break}c[E>>2]=Gv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+65>>0]|0)break;if((c[H>>2]|0)!=0?(e[(c[H>>2]|0)+6>>1]&1024|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(Td(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Dh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=26308;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[w>>2]|0)*24|0)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(Ly(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((e[(c[r>>2]|0)+6>>1]&32768|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+((c[w>>2]|0)*24|0)+23>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(Xy(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((Yy(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Jv(c[t>>2]|0,27,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Jv(c[t>>2]|0,27,c[W>>2]|0)|0;c[B>>2]=rv(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Jv(c[t>>2]|0,27,c[U>>2]|0)|0;c[B>>2]=rv(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Bh(p,31016,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Gv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Cy(L,c[S>>2]|0);Hv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(e[(c[r>>2]|0)+6>>1]&1024))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=nh(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Bh(h,31022,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Sf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Ah(h,31031,O);break}else{Ah(h,31049,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}Vu(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+88+8>>2]|0):0){Ah(c[F>>2]|0,31069,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Sy(c[g>>2]|0)|0)+68>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+536>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function Sy(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+56>>2]|0))break;c[b>>2]=c[a+56>>2]}i=d;return a|0}function Ty(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=kz(c[(c[y>>2]|0)+536>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Ah(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(Uy(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=ph(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=nh(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=Hx(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+65>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+32>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(Td(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+6|0;b[k>>1]=e[k>>1]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Ah(A,31310,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=31353;c[z>>2]=c[(c[y>>2]|0)+536>>2];c[(c[y>>2]|0)+536>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+52>>2]|0;Zx(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+536>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+52>>2]|0))break;c[s>>2]=c[g+52>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Ah(A,31376,u);c[(c[y>>2]|0)+536>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}Gx(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(e[(c[A>>2]|0)+6>>1]&8192)c[g>>2]=31414;else c[g>>2]=31448;Zx(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+536>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function Uy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ah(a,31287,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function Vy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(Td(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Ah(k,31269,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function Wy(a,e){a=a|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+32>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(Xy(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)_y(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)$y(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=az(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+36>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=Zy(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(Xy(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}_y(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+36|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Ah(B,31100,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Ah(c[x>>2]|0,31150,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Ah(z,31205,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function Xy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=Zy(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function Yy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(Td(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function Zy(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(Td(c[(c[(c[e>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function _y(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=jz(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=jz(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=rv(c[s>>2]|0,79,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=az(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=az(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function $y(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;$y(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);$y(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((bz(b)|0)==0?(bz(c[h>>2]|0)|0)==0:0){c[j>>2]=cz(c[f>>2]|0,72,0,0)|0;dz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}Zu(c[f>>2]|0,c[g>>2]|0);Zu(c[f>>2]|0,c[h>>2]|0);c[e>>2]=cz(c[f>>2]|0,132,5092,0)|0;j=c[e>>2]|0;i=k;return j|0}function bz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(ky(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function cz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;p=q+12|0;o=q+8|0;n=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;c[n>>2]=0;do if(c[k>>2]|0){if(((c[j>>2]|0)==132?(c[c[k>>2]>>2]|0)!=0:0)?(Li(c[c[k>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Fw(c[h>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}h=c[p>>2]|0;d=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(d|0));a[c[p>>2]>>0]=c[j>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[k>>2]|0){h=c[p>>2]|0;if(!(c[o>>2]|0)){o=h+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=h+48;if(c[(c[k>>2]|0)+4>>2]|0)iR(c[(c[p>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;if(((c[l>>2]|0)!=0&(c[o>>2]|0)>=3?(o=a[c[c[k>>2]>>2]>>0]|0,c[m>>2]=o,(o|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(Jw(c[(c[p>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function dz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){Zu(c[f>>2]|0,c[h>>2]|0);Zu(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}ez(c[g>>2]|0);i=k;return}function ez(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;fz(c[(c[b>>2]|0)+12>>2]|0,d);fz(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){hz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(iz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else gz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}fz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);fz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);fz(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);fz(c[(c[d>>2]|0)+64>>2]|0,c[e>>2]|0);hz(c[c[d>>2]>>2]|0,c[e>>2]|0);hz(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);hz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);gz(c[(c[d>>2]|0)+52>>2]|0,c[e>>2]|0);i=f;return}function hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;fz(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function iz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];if(c[f>>2]|0)c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function jz(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=cz(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=lR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function kz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(Td(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function lz(a,e,f){a=a|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,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Fw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=nh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=nh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=nh(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=nh(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=vy(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=Hx(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=ny(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=nz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=ph(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Hx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=vy(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=nh(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Fw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Fw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Sf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=nh(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function oz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;A=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;n=N+124|0;o=N+120|0;p=N+116|0;G=N+112|0;z=N+96|0;H=N+92|0;I=N+88|0;q=N+84|0;v=N+80|0;L=N+76|0;M=N+72|0;t=N+68|0;k=N+64|0;B=N+60|0;s=N+56|0;y=N+136|0;C=N+52|0;x=N+48|0;r=N+44|0;u=N+40|0;w=N+36|0;c[F>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;c[q>>2]=c[(c[n>>2]|0)+52>>2];c[v>>2]=c[(c[n>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+328>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[n>>2]|0)){D=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((D|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[n>>2]>>2];M=Bh(M,31513,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}h=c[F>>2]|0;c[m>>2]=c[c[n>>2]>>2];c[M>>2]=Bh(h,19255,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=ph(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Sf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[o>>2];c[t>>2]=Dh(c[F>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[(c[(c[n>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[z+4>>2]=c[n>>2];c[z>>2]=c[H>>2];c[z+8>>2]=c[(c[F>>2]|0)+328>>2];c[z+12>>2]=0;c[(c[F>>2]|0)+328>>2]=z;c[I>>2]=Sb[c[p>>2]&255](c[F>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[v>>2]|0,c[q>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+328>>2]=c[z+8>>2];if((c[I>>2]|0)==7)jh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[o>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[z+12>>2]|0)){c[B>>2]=31585;K=c[F>>2]|0;L=c[B>>2]|0;c[A>>2]=c[c[n>>2]>>2];L=Bh(K,L,A)|0;c[c[G>>2]>>2]=L;hu(c[H>>2]|0);c[I>>2]=1;break}a[y>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[n>>2]|0)+56>>2];c[(c[n>>2]|0)+56>>2]=c[H>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break a;c[C>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((c[s>>2]|0)*24|0)+12>>2];c[r>>2]=0;do if(c[C>>2]|0){c[x>>2]=If(c[C>>2]|0)|0;if(!(zd(31631,c[C>>2]|0,6)|0)){if((a[(c[C>>2]|0)+6>>0]|0)!=0?(a[(c[C>>2]|0)+6>>0]|0)!=32:0)D=27}else D=27;b:do if((D|0)==27){D=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[x>>2]|0))break b;if(!(zd(31638,(c[C>>2]|0)+(c[r>>2]|0)|0,7)|0)){if(!(a[(c[C>>2]|0)+((c[r>>2]|0)+7)>>0]|0))break;if((a[(c[C>>2]|0)+((c[r>>2]|0)+7)>>0]|0)==32)break}c[r>>2]=(c[r>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}while(0);if((c[r>>2]|0)>=(c[x>>2]|0)){L=(c[n>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[y>>0];break}c[w>>2]=6+((a[(c[C>>2]|0)+((c[r>>2]|0)+6)>>0]|0)!=0?1:0);c[u>>2]=c[r>>2];while(1){if(((c[u>>2]|0)+(c[w>>2]|0)|0)>(c[x>>2]|0))break;a[(c[C>>2]|0)+(c[u>>2]|0)>>0]=a[(c[C>>2]|0)+((c[u>>2]|0)+(c[w>>2]|0))>>0]|0;c[u>>2]=(c[u>>2]|0)+1}if((c[r>>2]|0)>0?(a[(c[C>>2]|0)+(c[r>>2]|0)>>0]|0)==0:0)a[(c[C>>2]|0)+((c[r>>2]|0)-1)>>0]=0;L=(c[(c[n>>2]|0)+4>>2]|0)+((c[s>>2]|0)*24|0)+23|0;a[L>>0]=d[L>>0]|2;a[y>>0]=-128}else{L=(c[n>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[y>>0]}while(0);c[s>>2]=(c[s>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Bh(e,31555,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Bh(e,19255,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Sf(c[F>>2]|0,c[H>>2]|0)}while(0);Sf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function pz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+140+5>>0]|0))c[f>>2]=oi(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];ax(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+72>>2];a=(c[d>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+3;uz(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+72>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];vz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}wz(c[d>>2]|0,c[e>>2]|0);i=l;return}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Dw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=ji(c[g>>2]|0,c[f>>2]|0)|0;Sf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;ax(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+72>>2];d=(c[e>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)uz(d,a,b,c[c[g>>2]>>2]|0,31725);else uz(d,a,b,c[c[f>>2]>>2]|0,31729);vz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+76>>2]|0)+1|0,c[(c[e>>2]|0)+72>>2]|0);wz(c[e>>2]|0,c[h>>2]|0);i=k;return}function tz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+140|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Ah(c[j>>2]|0,31688,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=rz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ah(p,31705,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function uz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=Pw(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[5224+(c[q>>2]<<3)>>2];g=pi(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[5224+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[5224+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;Ow(g,31786,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+396>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;yz(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;Ow(g,31809,v);break}else{Rw(c[t>>2]|0,119,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[5224+(c[q>>2]<<3)+4>>2]|0))break;Eh(c[t>>2]|0,55,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Fh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function vz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+76>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+76>>2]=l;c[O>>2]=Pw(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(31733,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Dh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(Mw(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}yz(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+72>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+72>>2]=l;zz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,54);Tw(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}Tw(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+76>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+76>>2]=l;Vw(c[O>>2]|0,54,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Az(c[n>>2]|0,c[F>>2]|0);Rw(c[O>>2]|0,22,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;Rw(c[O>>2]|0,22,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;Uw(c[O>>2]|0,35,0,(c[L>>2]|0)+1|0,c[L>>2]|0,5108,-5)|0;Fh(c[O>>2]|0,2);c[t>>2]=xz(c[O>>2]|0,108,c[y>>2]|0)|0;Rw(c[O>>2]|0,22,0,c[G>>2]|0)|0;c[s>>2]=Bz(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Cz(c[O>>2]|0)|0;c[r>>2]=Fw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;Yw(c[O>>2]|0,13)|0;c[s>>2]=Bz(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)Rw(c[O>>2]|0,77,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Dz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;Rw(c[O>>2]|0,22,c[w>>2]|0,c[G>>2]|0)|0;Vw(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=Uw(c[O>>2]|0,78,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Fh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}Rw(c[O>>2]|0,22,c[C>>2]|0,c[G>>2]|0)|0;Ez(c[O>>2]|0,c[v>>2]|0)|0;Fz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Fz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);Vw(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Gz(l,c[v>>2]|0);Sf(c[u>>2]|0,c[r>>2]|0)}Uw(c[O>>2]|0,35,1,c[L>>2]|0,c[N>>2]|0,5140,-5)|0;Fh(c[O>>2]|0,2);Rw(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;Hz(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);Uw(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31742,0)|0;Rw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Vw(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Fh(c[O>>2]|0,8);Fz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}Rw(c[O>>2]|0,50,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=xz(c[O>>2]|0,46,c[K>>2]|0)|0;Rw(c[O>>2]|0,25,0,c[H>>2]|0)|0;Uw(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31742,0)|0;Rw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;Vw(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Fh(c[O>>2]|0,8);Fz(c[O>>2]|0,c[A>>2]|0);i=R;return}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Pw(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}xz(c[e>>2]|0,124,c[d>>2]|0)|0;i=f;return}function xz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Vw(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function yz(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+404>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+404>>2]|0)+1<<4;e=c[k>>2]|0;e=vx(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+408>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+408>>2]=e;e=(c[q>>2]|0)+404|0;if(c[(c[q>>2]|0)+408>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;jh(c[c[q>>2]>>2]|0);i=s;return}}function zz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=Pw(c[j>>2]|0)|0;yz(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Eh(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Ej(c[m>>2]|0)|0;Vw(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Az(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Ih(a,-1,Pz(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Bz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Cz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+116|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=vx(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+120>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+120>>2]=f}if(!(c[(c[d>>2]|0)+120>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+120>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Dz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+62>>0]|0;a[l>>0]=a[(c[m>>2]|0)+140+5>>0]|0;c[j>>2]=Mj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=Px(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vw(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+24>>2]|0)+96>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;Lz(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);i=d;return}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if(c[(c[f>>2]|0)+120>>2]|0)c[(c[(c[f>>2]|0)+120>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+96>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Hz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;Uw(c[g>>2]|0,35,0,c[j>>2]|0,c[h>>2]|0,5172,-5)|0;Fh(c[g>>2]|0,1);i=f;return}function Iz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=$d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=ig(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){te(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,31755,k)|0;p=c[n>>2]|0;c[m>>2]=p+(If(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=gR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=fR(p|0,C|0,1,0)|0;d=h;d=sR(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,31760,l)|0;p=If(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}ne(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;c[f>>2]=de(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Kz(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Kz(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Mz(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function Mz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+65>>0]|0){c[e>>2]=5204;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=de(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=de(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=we(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=ph(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){te(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);ge(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function Oz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Sf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Pz(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+68>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=Qz(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=Qz(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==35690)f=0;else f=Dz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0){Rz(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Qz(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=_f(24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+62>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;kR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{jh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Rz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Sf(0,c[b>>2]|0);i=d;return}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];Tz(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(hB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;ax(c[e>>2]|0,0,c[h>>2]|0);Uz(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function Uz(a,b,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Dh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Mw(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}yz(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=Pw(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=Pz(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;Uw(b,58,a,0,y,Vz(c[k>>2]|0)|0,-6)|0;zz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,54);c[p>>2]=Rw(c[w>>2]|0,108,c[t>>2]|0,0)|0;c[v>>2]=Wz(c[n>>2]|0)|0;Xz(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;Rw(c[w>>2]|0,109,c[s>>2]|0,c[v>>2]|0)|0;Yz(c[n>>2]|0,c[j>>2]|0);Rw(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Fz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)Rw(c[w>>2]|0,119,c[m>>2]|0,c[h>>2]|0)|0;Uw(c[w>>2]|0,55,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Fh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=Rw(c[w>>2]|0,106,c[s>>2]|0,0)|0;y=(c[k>>2]|0)!=0?(d[(c[o>>2]|0)+54>>0]|0|0)!=0:0;g=Bz(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Ez(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=Bz(c[w>>2]|0)|0;Eh(c[w>>2]|0,99,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;Zz(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;Vw(c[w>>2]|0,100,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;Vw(c[w>>2]|0,105,c[r>>2]|0,0,-1)|0;Vw(c[w>>2]|0,110,c[r>>2]|0,c[v>>2]|0,0)|0;Fh(c[w>>2]|0,16);_z(c[n>>2]|0,c[v>>2]|0);Rw(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Fz(c[w>>2]|0,c[p>>2]|0);xz(c[w>>2]|0,61,c[t>>2]|0)|0;xz(c[w>>2]|0,61,c[r>>2]|0)|0;xz(c[w>>2]|0,61,c[s>>2]|0)|0;i=x;return}function Vz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function Wz(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+76|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+28+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function Xz(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Cz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+104>>2]=c[q>>2];iA(c[o>>2]|0);jA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=kA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){lA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);mA(c[x>>2]|0,39)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;nA(t,u,x);x=c[w>>2]|0;i=y;return x|0}Vw(c[x>>2]|0,49,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;nA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Gz(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);gA(c[d>>2]|0);i=f;return}function Zz(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];cg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];$z(l,31924,o);o=eg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;bA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0)*24|0)>>2];if(c[m>>2]|0)aA(l,31935,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;$z(l,31016,p);c[m>>2]=(c[m>>2]|0)+1}o=eg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;bA(o,p,q,r,-1,2);i=s;return}function _z(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+124;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+28+((j&255)<<2)>>2]=h;i=k;return}}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;dg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function aA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){cA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);iR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function bA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=Pw(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Bx(c[j>>2]|0);Uw(c[p>>2]|0,21,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Fh(c[p>>2]|0,a[o>>0]|0);i=q;return}function cA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=dA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}iR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function dA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;eA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=gR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=gR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=gR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){fA(c[j>>2]|0);eA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Ew(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){fA(e);eA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)iR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=$t(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function eA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function fA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Sf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function gA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+108>>2]|0):0){hA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function hA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=h;return}if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+28+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=h;return}function iA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function jA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=ny(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+65>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;Zu(a,n);i=m;return}LA(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;Zu(a,n);i=m;return}function kA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+64>>2];c[h>>2]=c[(c[d>>2]|0)+60>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;h=(c[d>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function lA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+104>>2]=c[k>>2];sA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{tA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function mA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+96>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=pA(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function nA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;oA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+60>>2]|0)){i=h;return}c[(c[e>>2]|0)+60>>2]=c[g>>2];c[(c[e>>2]|0)+64>>2]=c[f>>2];i=h;return}function oA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;m=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[h>>2]=(c[f>>2]|0)+(c[m>>2]|0)-1;c[g>>2]=0;c[j>>2]=(c[e>>2]|0)+124;while(1){if((c[g>>2]|0)>=10)break;c[k>>2]=c[(c[j>>2]|0)+12>>2];if((c[k>>2]|0)>=(c[f>>2]|0)?(c[k>>2]|0)<=(c[h>>2]|0):0){hA(c[e>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+12>>2]=0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=l;return}function pA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+65>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);qA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-96;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function qA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}switch(c[e>>2]|0){case -20:{rA(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(c[(c[g>>2]|0)+528>>2]|0){i=j;return}Rz(c[f>>2]|0);i=j;return}case -11:{if(c[(c[g>>2]|0)+528>>2]|0){i=j;return}Kd(c[f>>2]|0);i=j;return}case -5:{rA(c[g>>2]|0,c[f>>2]|0);i=j;return}case -8:{e=c[f>>2]|0;if(!(c[(c[g>>2]|0)+528>>2]|0)){$g(e);i=j;return}c[h>>2]=e;if(c[(c[h>>2]|0)+24>>2]|0)Sf(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Sf(c[g>>2]|0,c[h>>2]|0);i=j;return}case -10:{if(c[(c[g>>2]|0)+528>>2]|0){i=j;return}hu(c[f>>2]|0);i=j;return}default:{i=j;return}}Sf(c[g>>2]|0,c[f>>2]|0);i=j;return}function rA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Sf(c[d>>2]|0,c[f>>2]|0);i=g;return}function sA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=ny(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+65>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;Zu(b,e);i=k;return}xA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;Zu(b,e);i=k;return}function tA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?153:47;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+42>>0]&32){a=Ej(c[k>>2]|0)|0;c[p>>2]=(uA(a,c[m>>2]&65535)|0)<<16>>16}Vw(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else Rw(c[j>>2]|0,103,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}vA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function uA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function vA(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(wA(c[g>>2]|0)|0)+62>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0);b=wA(c[g>>2]|0)|0;dx(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+21>>0]|0,n)|0;if(c[n>>2]|0)Ih(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*24|0)+21>>0]|0)!=69){i=o;return}xz(c[g>>2]|0,39,c[k>>2]|0)|0;i=o;return}function wA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){Rw(c[(c[f>>2]|0)+8>>2]|0,30,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=yA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}Rw(c[(c[f>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function yA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=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;la=i;i=i+320|0;C=la+16|0;H=la+8|0;B=la;da=la+308|0;ea=la+304|0;J=la+300|0;fa=la+296|0;ja=la+292|0;o=la+288|0;ga=la+284|0;ha=la+280|0;ia=la+276|0;R=la+272|0;y=la+268|0;z=la+264|0;A=la+260|0;L=la+256|0;U=la+208|0;q=la+200|0;r=la+196|0;m=la+192|0;n=la+188|0;D=la+184|0;E=la+180|0;u=la+176|0;j=la+172|0;s=la+168|0;T=la+164|0;S=la+160|0;Q=la+156|0;G=la+152|0;I=la+148|0;K=la+144|0;O=la+140|0;F=la+313|0;P=la+136|0;M=la+132|0;N=la+312|0;k=la+128|0;l=la+124|0;v=la+120|0;t=la+116|0;w=la+112|0;x=la+108|0;p=la+104|0;W=la+100|0;Z=la+96|0;Y=la+92|0;X=la+88|0;aa=la+84|0;V=la+80|0;$=la+32|0;ca=la+24|0;ba=la+20|0;c[ea>>2]=f;c[J>>2]=g;c[fa>>2]=h;c[ja>>2]=c[(c[ea>>2]|0)+8>>2];c[ga>>2]=c[fa>>2];c[ha>>2]=0;c[ia>>2]=0;c[L>>2]=c[c[ea>>2]>>2];if(!(c[ja>>2]|0)){c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if(!(c[J>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[J>>2]>>0];a:do switch(c[o>>2]|0){case 154:{c[q>>2]=c[(c[J>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[J>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[ga>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)Vw(c[ja>>2]|0,47,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;else ka=11;break}case 152:{ka=11;break}case 132:{AA(c[ea>>2]|0,c[J>>2]|0,0,c[fa>>2]|0);break}case 133:{BA(c[ja>>2]|0,c[(c[J>>2]|0)+8>>2]|0,0,c[fa>>2]|0);break}case 97:{Tw(c[ja>>2]|0,c[fa>>2]|0,c[(c[J>>2]|0)+8>>2]|0)|0;break}case 101:{Rw(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[J>>2]|0)+8>>2]|0)+2;c[n>>2]=(If(c[D>>2]|0)|0)-1;c[E>>2]=ox(wA(c[ja>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;Uw(c[ja>>2]|0,27,(c[n>>2]|0)/2|0,c[fa>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{Rw(c[ja>>2]|0,28,b[(c[J>>2]|0)+32>>1]|0,c[fa>>2]|0)|0;if(a[(c[(c[J>>2]|0)+8>>2]|0)+1>>0]|0)Ih(c[ja>>2]|0,-1,c[(c[(c[ea>>2]|0)+476>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{c[ga>>2]=c[(c[J>>2]|0)+28>>2];break}case 38:{c[ga>>2]=yA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;if((c[ga>>2]|0)!=(c[fa>>2]|0)){Rw(c[ja>>2]|0,31,c[ga>>2]|0,c[fa>>2]|0)|0;c[ga>>2]=c[fa>>2]}Rw(c[ja>>2]|0,40,c[fa>>2]|0,(jx(c[(c[J>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;CA(c[ea>>2]|0,c[ga>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;EA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,32)|0;break}case 148:case 73:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;EA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[(c[J>>2]|0)+16>>2]|0,c[o>>2]|0,c[R>>2]|0,c[y>>2]|0,c[ga>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+16>>2]|0,ia)|0;Vw(c[ja>>2]|0,c[o>>2]|0,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}case 155:{c[u>>2]=c[(c[J>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){BA(c[ja>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[fa>>2]|0);break}else{a[U>>0]=-124;c[U+4>>2]=17408;c[U+8>>2]=0;c[R>>2]=DA(c[ea>>2]|0,U,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ia)|0;Vw(c[ja>>2]|0,90,c[y>>2]|0,c[R>>2]|0,c[fa>>2]|0)|0;break}else AA(c[ea>>2]|0,c[u>>2]|0,1,c[fa>>2]|0);while(0);c[ga>>2]=c[fa>>2];break}case 19:case 96:{c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[ga>>2]=c[fa>>2];Rw(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0,c[ga>>2]|0)|0;break}case 77:case 76:{Rw(c[ja>>2]|0,22,1,c[fa>>2]|0)|0;c[R>>2]=DA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,ha)|0;c[j>>2]=xz(c[ja>>2]|0,c[o>>2]|0,c[R>>2]|0)|0;Rw(c[ja>>2]|0,22,0,c[fa>>2]|0)|0;Fz(c[ja>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[J>>2]|0)+40>>2];if(!(c[s>>2]|0)){ja=c[ea>>2]|0;c[B>>2]=c[(c[J>>2]|0)+8>>2];Ah(ja,31938,B);break a}else{c[ga>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[J>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{c[K>>2]=0;a[F>>0]=a[(c[L>>2]|0)+62>>0]|0;c[P>>2]=0;if(c[(c[J>>2]|0)+4>>2]&16384)c[T>>2]=0;else c[T>>2]=c[(c[J>>2]|0)+20>>2];if(c[T>>2]|0)j=c[c[T>>2]>>2]|0;else j=0;c[S>>2]=j;c[I>>2]=c[(c[J>>2]|0)+8>>2];c[G>>2]=If(c[I>>2]|0)|0;c[Q>>2]=gi(c[L>>2]|0,c[I>>2]|0,c[G>>2]|0,c[S>>2]|0,a[F>>0]|0,0)|0;if((c[Q>>2]|0)!=0?(c[(c[Q>>2]|0)+16>>2]|0)==0:0){if(e[(c[Q>>2]|0)+2>>1]&512){c[M>>2]=Cz(c[ja>>2]|0)|0;xA(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0);c[O>>2]=1;while(1){j=c[ja>>2]|0;if((c[O>>2]|0)>=(c[S>>2]|0))break;Rw(j,77,c[fa>>2]|0,c[M>>2]|0)|0;oA(c[ea>>2]|0,c[fa>>2]|0,1);iA(c[ea>>2]|0);xA(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0,c[fa>>2]|0);gA(c[ea>>2]|0);c[O>>2]=(c[O>>2]|0)+1}Gz(j,c[M>>2]|0);break a}if(e[(c[Q>>2]|0)+2>>1]&1024){c[ga>>2]=yA(c[ea>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0,c[fa>>2]|0)|0;break a}c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[S>>2]|0))break;if((c[O>>2]|0)<32?(FA(c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[K>>2]=c[K>>2]|1<>2];if(!((c[P>>2]|0)!=0?1:(e[(c[Q>>2]|0)+2>>1]&32|0)==0))c[P>>2]=Ox(c[ea>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2]|0)|0;c[O>>2]=(c[O>>2]|0)+1}if(c[T>>2]|0){j=c[ea>>2]|0;if(c[K>>2]|0){c[R>>2]=(c[j+76>>2]|0)+1;ca=(c[ea>>2]|0)+76|0;c[ca>>2]=(c[ca>>2]|0)+(c[S>>2]|0)}else c[R>>2]=kA(j,c[S>>2]|0)|0;do if(e[(c[Q>>2]|0)+2>>1]&192){a[N>>0]=a[c[c[(c[T>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=152?(d[N>>0]|0)!=154:0)break;a[(c[c[(c[T>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[Q>>2]|0)+2>>1]&192}while(0);iA(c[ea>>2]|0);GA(c[ea>>2]|0,c[T>>2]|0,c[R>>2]|0,0,3)|0;gA(c[ea>>2]|0)}else c[R>>2]=0;if((c[S>>2]|0)>=2?(c[(c[J>>2]|0)+4>>2]&128|0)!=0:0)c[Q>>2]=HA(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[(c[(c[T>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ka=77;if((ka|0)==77?(c[S>>2]|0)>0:0)c[Q>>2]=HA(c[L>>2]|0,c[Q>>2]|0,c[S>>2]|0,c[c[(c[T>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[Q>>2]|0)+2>>1]&32){if(!(c[P>>2]|0))c[P>>2]=c[(c[L>>2]|0)+8>>2];Uw(c[ja>>2]|0,34,0,0,0,c[P>>2]|0,-4)|0}Uw(c[ja>>2]|0,35,c[K>>2]|0,c[R>>2]|0,c[fa>>2]|0,c[Q>>2]|0,-5)|0;Fh(c[ja>>2]|0,c[S>>2]&255);if(!((c[S>>2]|0)!=0&(c[K>>2]|0)==0))break a;nA(c[ea>>2]|0,c[R>>2]|0,c[S>>2]|0);break a}ja=c[ea>>2]|0;fa=c[I>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=fa;Ah(ja,31964,H);break}case 119:case 20:{c[ga>>2]=IA(c[ea>>2]|0,c[J>>2]|0,0,0)|0;break}case 75:{c[k>>2]=Cz(c[ja>>2]|0)|0;c[l>>2]=Cz(c[ja>>2]|0)|0;Rw(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;JA(c[ea>>2]|0,c[J>>2]|0,c[k>>2]|0,c[l>>2]|0);Rw(c[ja>>2]|0,22,1,c[fa>>2]|0)|0;Gz(c[ja>>2]|0,c[k>>2]|0);Rw(c[ja>>2]|0,37,c[fa>>2]|0,0)|0;Gz(c[ja>>2]|0,c[l>>2]|0);break}case 74:{c[v>>2]=c[(c[J>>2]|0)+12>>2];c[t>>2]=c[(c[(c[J>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[R>>2]=DA(c[ea>>2]|0,c[v>>2]|0,ha)|0;c[y>>2]=DA(c[ea>>2]|0,c[w>>2]|0,ia)|0;c[z>>2]=Wz(c[ea>>2]|0)|0;c[A>>2]=Wz(c[ea>>2]|0)|0;EA(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,83,c[R>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];_z(c[ea>>2]|0,c[ia>>2]|0);c[y>>2]=DA(c[ea>>2]|0,c[w>>2]|0,ia)|0;EA(c[ea>>2]|0,c[v>>2]|0,c[w>>2]|0,81,c[R>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;Vw(c[ja>>2]|0,72,c[z>>2]|0,c[A>>2]|0,c[fa>>2]|0)|0;_z(c[ea>>2]|0,c[z>>2]|0);_z(c[ea>>2]|0,c[A>>2]|0);break}case 156:case 95:{c[ga>>2]=yA(c[ea>>2]|0,c[(c[J>>2]|0)+12>>2]|0,c[fa>>2]|0)|0;break}case 62:{c[x>>2]=c[(c[J>>2]|0)+44>>2];c[p>>2]=(_(c[(c[J>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[J>>2]|0)+32>>1]|0);Rw(c[ja>>2]|0,134,c[p>>2]|0,c[fa>>2]|0)|0;if((b[(c[J>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+((b[(c[J>>2]|0)+32>>1]|0)*24|0)+21>>0]|0)==69:0)xz(c[ja>>2]|0,39,c[fa>>2]|0)|0;break}case 57:{if(!(c[(c[ea>>2]|0)+420>>2]|0)){Ah(c[ea>>2]|0,31989,C);c[da>>2]=0;ka=c[da>>2]|0;i=la;return ka|0}if((a[(c[J>>2]|0)+1>>0]|0)==2)Bx(c[ea>>2]|0);if((a[(c[J>>2]|0)+1>>0]|0)==4){Uw(c[ja>>2]|0,21,0,4,0,c[(c[J>>2]|0)+8>>2]|0,0)|0;break a}else{bA(c[ea>>2]|0,1811,a[(c[J>>2]|0)+1>>0]|0,c[(c[J>>2]|0)+8>>2]|0,0,0);break a}}default:{c[ba>>2]=0;c[aa>>2]=c[(c[J>>2]|0)+20>>2];c[V>>2]=c[(c[aa>>2]|0)+4>>2];c[Y>>2]=c[c[aa>>2]>>2];c[W>>2]=Cz(c[ja>>2]|0)|0;T=c[(c[J>>2]|0)+12>>2]|0;c[ca>>2]=T;if(T){j=U;k=c[ca>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));KA(U,DA(c[ea>>2]|0,c[ca>>2]|0,ha)|0);a[$>>0]=79;c[$+12>>2]=U;c[ba>>2]=$;c[ha>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[Y>>2]|0)-1|0))break;iA(c[ea>>2]|0);j=c[(c[V>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[ca>>2]|0)c[$+16>>2]=j;else c[ba>>2]=j;c[Z>>2]=Cz(c[ja>>2]|0)|0;LA(c[ea>>2]|0,c[ba>>2]|0,c[Z>>2]|0,16);xA(c[ea>>2]|0,c[(c[V>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[fa>>2]|0);Ez(c[ja>>2]|0,c[W>>2]|0)|0;gA(c[ea>>2]|0);Gz(c[ja>>2]|0,c[Z>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[Y>>2]&1){iA(c[ea>>2]|0);xA(c[ea>>2]|0,c[(c[(c[aa>>2]|0)+4>>2]|0)+(((c[Y>>2]|0)-1|0)*20|0)>>2]|0,c[fa>>2]|0);gA(c[ea>>2]|0)}else Rw(c[ja>>2]|0,25,0,c[fa>>2]|0)|0;Gz(c[ja>>2]|0,c[W>>2]|0)}}while(0);b:do if((ka|0)==11){c[m>>2]=c[(c[J>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[ea>>2]|0)+100>>2]|0)>0){c[ga>>2]=(b[(c[J>>2]|0)+32>>1]|0)+(c[(c[ea>>2]|0)+100>>2]|0);break b}else{c[m>>2]=c[(c[ea>>2]|0)+104>>2];break}while(0);c[ga>>2]=zA(c[ea>>2]|0,c[(c[J>>2]|0)+44>>2]|0,b[(c[J>>2]|0)+32>>1]|0,c[m>>2]|0,c[fa>>2]|0,a[(c[J>>2]|0)+38>>0]|0)|0}while(0);_z(c[ea>>2]|0,c[ha>>2]|0);_z(c[ea>>2]|0,c[ia>>2]|0);c[da>>2]=c[ga>>2];ka=c[da>>2]|0;i=la;return ka|0}function zA(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+36|0;t=v+8|0;r=v+4|0;s=v;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+124;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+112|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;fB(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}tA(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)Fh(c[t>>2]|0,a[q>>0]|0);else gB(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function AA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);Rw(c[l>>2]|0,22,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Ci(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,32088,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Ah(q,32091,n);i=p;return}else{BA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=fR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}eB(c[l>>2]|0,23,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function BA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;Ky(b,l,If(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];eB(c[f>>2]|0,133,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function CA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;oA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function DA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=Tx(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(dB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+324>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(py(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+76|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;_A(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=Wz(c[g>>2]|0)|0;c[o>>2]=yA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{_z(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function EA(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=VA(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(cB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=Uw(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Fh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function FA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$A(c[d>>2]|0,1,0)|0;i=b;return a|0}function GA(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?30:31;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)Rw(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?(FA(c[u>>2]|0)|0)!=0:0){_A(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=yA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==30?(g=Mz(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==30):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}Rw(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function HA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+56|0;l=z+52|0;m=z+48|0;n=z+44|0;o=z+40|0;t=z+36|0;u=z+32|0;r=z+28|0;w=z+24|0;q=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;p=z;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[w>>2]=0;c[q>>2]=0;c[v>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[t>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if(!(d[(c[t>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[u>>2]=c[(Ax(c[l>>2]|0,c[t>>2]|0)|0)+8>>2];c[r>>2]=c[c[u>>2]>>2];if(!(c[(c[r>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[y>>2]=nh(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[y>>2]|0){c[x>>2]=c[y>>2];while(1){if(!(a[c[x>>2]>>0]|0))break;a[c[x>>2]>>0]=a[18477+(d[c[x>>2]>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}r=c[(c[r>>2]|0)+72>>2]|0;t=c[u>>2]|0;u=c[n>>2]|0;x=c[y>>2]|0;c[p>>2]=w;c[v>>2]=Zb[r&255](t,u,x,c[p>>2]|0,q)|0;Sf(c[l>>2]|0,c[y>>2]|0)}if(!(c[v>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}y=c[l>>2]|0;c[s>>2]=ph(y,32+(If(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}else{x=c[s>>2]|0;y=c[m>>2]|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[x+28>>2]=c[y+28>>2];c[(c[s>>2]|0)+20>>2]=(c[s>>2]|0)+32;x=c[(c[s>>2]|0)+20>>2]|0;y=c[(c[m>>2]|0)+20>>2]|0;iR(x|0,y|0,(If(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[s>>2]|0)+12>>2]=c[w>>2];c[(c[s>>2]|0)+4>>2]=c[q>>2];y=(c[s>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[k>>2]=c[s>>2];y=c[k>>2]|0;i=z;return y|0}return 0}function IA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+160|0;k=M;t=M+140|0;u=M+136|0;v=M+132|0;w=M+128|0;x=M+124|0;C=M+120|0;J=M+116|0;K=M+112|0;l=M+108|0;z=M+144|0;y=M+104|0;n=M+100|0;F=M+96|0;s=M+92|0;p=M+72|0;q=M+68|0;A=M+64|0;r=M+60|0;E=M+56|0;G=M+52|0;H=M+48|0;I=M+44|0;D=M+40|0;B=M+36|0;o=M+32|0;m=M+12|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[x>>2]=j;c[C>>2]=-1;c[J>>2]=0;c[K>>2]=Pw(c[u>>2]|0)|0;if(!(c[K>>2]|0)){c[t>>2]=0;L=c[t>>2]|0;i=M;return L|0}iA(c[u>>2]|0);if(!(c[(c[v>>2]|0)+4>>2]&32))c[C>>2]=UA(c[u>>2]|0)|0;if((d[(c[u>>2]|0)+453>>0]|0)==2){h=c[c[u>>2]>>2]|0;g=(d[c[v>>2]>>0]|0)==75?32051:32056;f=c[(c[u>>2]|0)+472>>2]|0;c[k>>2]=(c[C>>2]|0)>=0?19266:32039;c[k+4>>2]=g;c[k+8>>2]=f;c[l>>2]=Bh(h,32063,k)|0;Uw(c[K>>2]|0,161,c[(c[u>>2]|0)+468>>2]|0,0,0,c[l>>2]|0,-1)|0}j=c[v>>2]|0;do if((d[c[v>>2]>>0]|0)==75){c[n>>2]=c[j+12>>2];c[F>>2]=0;a[z>>0]=Nx(c[n>>2]|0)|0;n=(c[u>>2]|0)+72|0;o=c[n>>2]|0;c[n>>2]=o+1;c[(c[v>>2]|0)+28>>2]=o;c[y>>2]=Rw(c[K>>2]|0,57,c[(c[v>>2]|0)+28>>2]|0,((c[x>>2]|0)!=0^1)&1)|0;if(c[x>>2]|0)j=0;else j=Qz(c[c[u>>2]>>2]|0,1,1)|0;c[F>>2]=j;j=(c[v>>2]|0)+20|0;do if(!(c[(c[v>>2]|0)+4>>2]&2048)){if(c[j>>2]|0){c[r>>2]=c[(c[v>>2]|0)+20>>2];if(!(a[z>>0]|0))a[z>>0]=65;if(c[F>>2]|0){s=Ox(c[u>>2]|0,c[(c[v>>2]|0)+12>>2]|0)|0;c[(c[F>>2]|0)+20>>2]=s}c[G>>2]=Wz(c[u>>2]|0)|0;c[H>>2]=Wz(c[u>>2]|0)|0;if(c[x>>2]|0)Rw(c[K>>2]|0,25,0,c[H>>2]|0)|0;c[A>>2]=c[c[r>>2]>>2];c[E>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[A>>2]|0)<=0)break;c[D>>2]=c[c[E>>2]>>2];if((c[C>>2]|0)>=0?(FA(c[D>>2]|0)|0)==0:0){pA(c[K>>2]|0,c[C>>2]|0)|0;c[C>>2]=-1}if((c[x>>2]|0)!=0?(ky(c[D>>2]|0,B)|0)!=0:0)Vw(c[K>>2]|0,84,c[(c[v>>2]|0)+28>>2]|0,c[H>>2]|0,c[B>>2]|0)|0;else L=29;do if((L|0)==29){L=0;c[I>>2]=yA(c[u>>2]|0,c[D>>2]|0,c[G>>2]|0)|0;j=c[K>>2]|0;g=c[I>>2]|0;if(c[x>>2]|0){Rw(j,38,g,(Bz(c[K>>2]|0)|0)+2|0)|0;Vw(c[K>>2]|0,75,c[(c[v>>2]|0)+28>>2]|0,c[H>>2]|0,c[I>>2]|0)|0;break}else{Uw(j,49,g,1,c[H>>2]|0,z,1)|0;CA(c[u>>2]|0,c[I>>2]|0,1);Rw(c[K>>2]|0,110,c[(c[v>>2]|0)+28>>2]|0,c[H>>2]|0)|0;break}}while(0);c[A>>2]=(c[A>>2]|0)+-1;c[E>>2]=(c[E>>2]|0)+20}_z(c[u>>2]|0,c[G>>2]|0);_z(c[u>>2]|0,c[H>>2]|0)}}else{c[s>>2]=c[j>>2];ZA(p,11,c[(c[v>>2]|0)+28>>2]|0);a[p+1>>0]=a[z>>0]|0;c[(c[s>>2]|0)+8>>2]=0;if(!(Cv(c[u>>2]|0,c[s>>2]|0,p)|0)){c[q>>2]=c[c[s>>2]>>2];L=VA(c[u>>2]|0,c[(c[v>>2]|0)+12>>2]|0,c[c[(c[q>>2]|0)+4>>2]>>2]|0)|0;c[(c[F>>2]|0)+20>>2]=L;break}Rz(c[F>>2]|0);c[t>>2]=0;L=c[t>>2]|0;i=M;return L|0}while(0);if(c[F>>2]|0)Ih(c[K>>2]|0,c[y>>2]|0,c[F>>2]|0,-6)}else{c[o>>2]=c[j+20>>2];I=(c[u>>2]|0)+76|0;L=(c[I>>2]|0)+1|0;c[I>>2]=L;ZA(m,0,L);if((d[c[v>>2]>>0]|0)==119){a[m>>0]=10;c[m+8>>2]=c[m+4>>2];Rw(c[K>>2]|0,25,0,c[m+4>>2]|0)|0}else{a[m>>0]=3;Rw(c[K>>2]|0,22,0,c[m+4>>2]|0)|0}Zu(c[c[u>>2]>>2]|0,c[(c[o>>2]|0)+60>>2]|0);L=rv(c[u>>2]|0,132,0,0,5100)|0;c[(c[o>>2]|0)+60>>2]=L;c[(c[o>>2]|0)+8>>2]=0;L=(c[o>>2]|0)+6|0;b[L>>1]=e[L>>1]&-513;if(!(Cv(c[u>>2]|0,c[o>>2]|0,m)|0)){c[J>>2]=c[m+4>>2];break}c[t>>2]=0;L=c[t>>2]|0;i=M;return L|0}while(0);if(c[w>>2]|0)XA(c[K>>2]|0,c[(c[v>>2]|0)+28>>2]|0,c[w>>2]|0);if((c[C>>2]|0)>=0)Fz(c[K>>2]|0,c[C>>2]|0);gA(c[u>>2]|0);c[t>>2]=c[J>>2];L=c[t>>2]|0;i=M;return L|0}function JA(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;s=z+64|0;r=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;p=z+68|0;q=z+44|0;w=z+40|0;y=z+36|0;k=z+32|0;j=z+28|0;h=z+24|0;l=z+20|0;n=z+16|0;m=z+12|0;g=z+8|0;o=z+4|0;v=z;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=PA(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=QA(c[r>>2]|0)|0;iA(c[s>>2]|0);c[w>>2]=Wz(c[s>>2]|0)|0;xA(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(RA(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){Rw(e,76,f,c[u>>2]|0)|0;break}else{c[o>>2]=xz(e,77,f)|0;Rw(c[y>>2]|0,108,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Ez(c[y>>2]|0,c[u>>2]|0)|0;Fz(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){Rw(e,38,f,c[t>>2]|0)|0;Vw(c[y>>2]|0,70,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}Uw(e,48,f,1,0,p,1)|0;f=c[y>>2]|0;e=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){Eh(f,68,e,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}else{c[v>>2]=Eh(f,69,e,0,c[w>>2]|0,1)|0;Rw(c[y>>2]|0,76,c[x>>2]|0,c[u>>2]|0)|0;Ez(c[y>>2]|0,c[t>>2]|0)|0;Fz(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=Ox(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=Cz(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=Wz(c[s>>2]|0)|0;Vw(c[y>>2]|0,85,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=DA(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(RA(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)Vw(c[y>>2]|0,85,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){Uw(c[y>>2]|0,78,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Fh(c[y>>2]|0,(a[p>>0]|16)&255)}else{Uw(c[y>>2]|0,79,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Fh(c[y>>2]|0,a[p>>0]|0)}_z(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){Rw(c[y>>2]|0,76,c[m>>2]|0,c[u>>2]|0)|0;Ez(c[y>>2]|0,c[t>>2]|0)|0}Gz(c[y>>2]|0,c[h>>2]|0);_z(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;_z(x,y);y=c[s>>2]|0;gA(y);i=z;return}function KA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function LA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;g=t+44|0;h=t+40|0;j=t+36|0;k=t+32|0;s=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;o=t+12|0;p=t+8|0;l=t+4|0;m=t;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=t;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 72:{LA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);iA(c[g>>2]|0);LA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);gA(c[g>>2]|0);break}case 71:{c[l>>2]=Cz(c[s>>2]|0)|0;MA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);iA(c[g>>2]|0);LA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Gz(c[s>>2]|0,c[l>>2]|0);gA(c[g>>2]|0);break}case 19:{MA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[o>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[o>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;c[n>>2]=(d[c[h>>2]>>0]|0|0)==73?78:79;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[o>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;Rw(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 74:{NA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 75:if(c[k>>2]|0){JA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Cz(c[s>>2]|0)|0;JA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Gz(c[s>>2]|0,c[m>>2]|0);break a}default:{if(bz(c[h>>2]|0)|0){Ez(c[s>>2]|0,c[j>>2]|0)|0;break a}if(!(OA(c[h>>2]|0)|0)){c[o>>2]=DA(c[g>>2]|0,c[h>>2]|0,q)|0;Vw(c[s>>2]|0,46,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);_z(c[g>>2]|0,c[q>>2]|0);_z(c[g>>2]|0,c[r>>2]|0);i=t;return}function MA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;t=u+32|0;o=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;q=u+12|0;l=u+8|0;m=u+4|0;n=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 72:{c[l>>2]=Cz(c[t>>2]|0)|0;LA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);iA(c[g>>2]|0);MA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Gz(c[t>>2]|0,c[l>>2]|0);gA(c[g>>2]|0);break}case 71:{MA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);iA(c[g>>2]|0);MA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);gA(c[g>>2]|0);break}case 19:{LA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}case 148:case 73:{c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;EA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,128)|0;break}case 77:case 76:{c[p>>2]=DA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;Rw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 74:{NA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 75:{c[m>>2]=Cz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;JA(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Ez(c[t>>2]|0,c[j>>2]|0)|0;Gz(c[t>>2]|0,c[m>>2]|0);break}default:{if(OA(c[h>>2]|0)|0){Ez(c[t>>2]|0,c[j>>2]|0)|0;break a}if(!(bz(c[h>>2]|0)|0)){c[p>>2]=DA(c[g>>2]|0,c[h>>2]|0,r)|0;Vw(c[t>>2]|0,45,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);_z(c[g>>2]|0,c[r>>2]|0);_z(c[g>>2]|0,c[s>>2]|0);i=u;return}function NA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+216|0;h=s+212|0;m=s+208|0;p=s+204|0;n=s+200|0;q=s+152|0;j=s+104|0;k=s+56|0;l=s+8|0;r=s;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=72;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=83;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=81;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];KA(l,DA(c[o>>2]|0,l,r)|0);f=c[o>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if(c[p>>2]|0){MA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;_z(q,r);i=s;return}else{LA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;_z(q,r);i=s;return}}function OA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(ky(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function PA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;k=F+56|0;r=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;q=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;p=F+12|0;t=F+8|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=Pw(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;if(c[(c[m>>2]|0)+4>>2]&2048)h=c[(c[m>>2]|0)+20>>2]|0;else h=0;c[k>>2]=h;a:do if((c[(c[l>>2]|0)+68>>2]|0)==0?(TA(c[k>>2]|0)|0)!=0:0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=Dh(c[q>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;bx(c[l>>2]|0,b[v>>1]|0);yz(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+28>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=UA(h)|0;zz(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,54);c[r>>2]=1;Fz(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=VA(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=WA(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+21>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Mj(c[q>>2]|0,a[(c[q>>2]|0)+62>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=UA(c[l>>2]|0)|0;Vw(c[E>>2]|0,54,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;Az(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+20>>0]|0)==0:0){s=(c[l>>2]|0)+76|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;XA(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}Fz(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((YA(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+428>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+428>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+76|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}IA(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+428>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function QA(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Nx(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=SA(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=SA(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function RA(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*24|0)+20>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function SA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Nx(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function TA(a){a=a|0;var b=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[f>>2]=a;do if(c[f>>2]|0){if(c[(c[f>>2]|0)+52>>2]|0){c[b>>2]=0;break}if((e[(c[f>>2]|0)+6>>1]|0)&9){c[b>>2]=0;break}if(c[(c[f>>2]|0)+60>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+36>>2]|0){c[b>>2]=0;break}c[h>>2]=c[(c[f>>2]|0)+32>>2];if((c[c[h>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[h>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[h>>2]|0)+8+16>>2];if(!(c[j>>2]|0)){c[b>>2]=0;break}if((d[(c[j>>2]|0)+42>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}if((d[c[c[(c[g>>2]|0)+4>>2]>>2]>>0]|0|0)!=152){c[b>>2]=0;break}else{c[b>>2]=1;break}}else c[b>>2]=0;while(0);i=k;return c[b>>2]|0}function UA(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Pw(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+84|0;a=c[e>>2]|0;c[e>>2]=a+1;a=xz(d,44,a)|0;i=b;return a|0}function VA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=Ox(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=Ox(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ox(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ox(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function WA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=QA(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function XA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;Rw(c[g>>2]|0,22,0,c[h>>2]|0)|0;c[f>>2]=xz(c[g>>2]|0,108,c[j>>2]|0)|0;Vw(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;Fh(c[g>>2]|0,-128);Fz(c[g>>2]|0,c[f>>2]|0);i=e;return}function YA(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=FA(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function ZA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function _A(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+324>>2];c[o>>2]=ny(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Gv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}function $A(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];by(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function aB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 27:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function bB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function cB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Nx(c[k>>2]|0)|0;d=(SA(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function dB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$A(c[d>>2]|0,2,0)|0;i=b;return a|0}function eB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Fw(wA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=Uw(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function fB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+124;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function gB(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+60>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+124+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function hB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(Td(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function iB(a,e,f,g,h,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=jB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=jB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=jB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Mw(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=Pw(c[l>>2]|0)|0;c[u>>2]=kA(c[l>>2]|0,4)|0;xA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);xA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);xA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){Uw(c[w>>2]|0,35,0,(c[u>>2]|0)+3-(b[c[n>>2]>>1]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Fh(c[w>>2]|0,b[c[n>>2]>>1]&255);xz(c[w>>2]|0,147,(c[m>>2]|0)==24&1)|0}}while(0);Zu(c[s>>2]|0,c[p>>2]|0);Zu(c[s>>2]|0,c[q>>2]|0);Zu(c[s>>2]|0,c[r>>2]|0);i=y;return}function jB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=27){c[h>>2]=fy(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function kB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=ae(c[c[r>>2]>>2]|0)|0;c[g>>2]=we(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=19266;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(Td(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,32129,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,32150,l)|0;break}if(!(a[(c[g>>2]|0)+63>>0]|0)){Qd(128,o,32176,m)|0;break}if((og(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(fu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){lB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;mB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,32218,n)|0}while(0);je(c[f>>2]|0,o,-1);i=q;return}function lB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];kg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;nB(c[g>>2]|0)|0}Mg(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(oB(c[e>>2]|0)|0)==0:0)){ar(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Sf(0,c[(c[e>>2]|0)+48>>2]|0);Pi(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function mB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Sf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+460|0)){i=g;return}h=(c[b>>2]|0)+460|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Sf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+460;i=g;return}function nB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];kg(c[g>>2]|0);pB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;qB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}rB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function oB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1208]|0)!=(c[d>>2]|0)){c[e>>2]=c[1208];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1208]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function pB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function qB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}sB(c[b>>2]|0);i=d;return}function rB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;sB(c[e>>2]|0);i=f;return}function sB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zs(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function tB(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=we(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ae(c[c[F>>2]>>2]|0)|0;c[C>>2]=ae(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=19266;if(!(c[C>>2]|0))c[C>>2]=19266;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+88+28>>2]|0)+2|0)){if(!(a[e+63>>0]|0)){c[A>>2]=Bh(c[p>>2]|0,32291,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(Td(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Bh(F,32333,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+460|0)){c[o>>2]=Fw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Ew(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=Wj(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)jh(c[p>>2]|0);je(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=Xj(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=Yj(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+62>>0]|0):0){c[A>>2]=Bh(c[p>>2]|0,20880,y)|0;c[u>>2]=1}}else c[u>>2]=7;kg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Of(c[(c[o>>2]|0)+4>>2]|0)|0;uB(c[s>>2]|0,d[(c[p>>2]|0)+67>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;vB(F,vB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;wB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Bh(c[p>>2]|0,32363,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=nh(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Nf(c[p>>2]|0);c[u>>2]=oi(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){lB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}zg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){jh(c[p>>2]|0);Sf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Bh(c[p>>2]|0,32392,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Bh(F,32406,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+88+28>>2];c[A>>2]=Bh(e,32254,h)|0}while(0);if(c[A>>2]|0){je(c[n>>2]|0,c[A>>2]|0,-1);Sf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}re(c[n>>2]|0,c[u>>2]|0);i=E;return}function uB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(yB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function vB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}kg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function wB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);xB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function xB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function yB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function zB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(Td(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;bx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=BB(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?20769:20788;if((c[h>>2]|0)==1)c[f>>2]=14;if(Mw(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(Mw(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=Pw(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?20769:20788;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;Ow(n,32454,l);Qw(c[d>>2]|0,c[h>>2]|0);Uw(c[k>>2]|0,127,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function BB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function CB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=ph(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;iR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Jw(c[j>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function DB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=_w(c[e>>2]|0,0,c[f>>2]|0)|0;Qf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!(Vy(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function EB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(Td(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Sf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(GB(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(HB(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Ah(f,32752,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(IB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(FB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=6;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=8;break}if(IB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=10;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=12;break}if(IB(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0){d=14;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=16;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+52>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function HB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+140+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(GB(e,c[b>>2]|0)|0){e=10;break}}else if(IB(e,c[b>>2]|0)|0){e=12;break}if(HB(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Ah(f,32798,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function IB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(HB(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function JB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(GB(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(HB(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(IB(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function KB(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-17|16;i=d;return}function LB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}Tw(c[e>>2]|0,1,c[g>>2]|0)|0;MB(c[e>>2]|0,c[f>>2]|0);Rw(c[e>>2]|0,33,1,1)|0;i=h;return}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;_B(c[f>>2]|0,1,e);i=d;return}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;eB(c[g>>2]|0,23,0,1,0,j,-13)|0;MB(c[g>>2]|0,c[h>>2]|0);Rw(c[g>>2]|0,33,1,1)|0;i=f;return}function OB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];oC(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Sf(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=ph(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function PB(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+65>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=dh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function QB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(Td(c[d>>2]|0,33004)|0)){c[b>>2]=1;break}if(!(Td(c[d>>2]|0,32997)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function RB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[6256+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function SB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;nC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function TB(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;kg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function UB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(Td(c[d>>2]|0,34075)|0){if(!(Td(c[d>>2]|0,33519)|0)){c[b>>2]=1;break}if(!(Td(c[d>>2]|0,34080)|0)){c[b>>2]=2;break}else{c[e>>2]=Ki(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function VB(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];kg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];kg(c[h>>2]|0);c[d>>2]=lC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function XB(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+63>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)wB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function YB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=kC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+64>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(ZB(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+64>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function ZB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+63>>0]|0)!=0?(og(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){lB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;zg(c[f>>2]|0);break}Ah(c[e>>2]|0,34013,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function _B(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;OB(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;PB(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function $B(b,d,e,f){b=b|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;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?25:97;e=c[h>>2]|0;c[h>>2]=e+1;Uw(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;Rw(b,22,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function aC(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;g=h+8|0;e=h+16|0;f=h;b[e>>1]=a;if((b[e>>1]|0)<10){f=g;c[f>>2]=1;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}k=(b[e>>1]|0)%10|0;j=f;c[j>>2]=k;c[j+4>>2]=((k|0)<0)<<31>>31;b[e>>1]=(b[e>>1]|0)/10|0;j=f;k=c[j+4>>2]|0;d=f;a=c[d>>2]|0;d=c[d+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>=5)){if(d>>>0>0|(d|0)==0&a>>>0>=1){j=f;j=fR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}}else{j=fR(a|0,d|0,2,0)|0;k=f;c[k>>2]=j;c[k+4>>2]=C}if((b[e>>1]|0)<3){k=f;k=gR(c[k>>2]|0,c[k+4>>2]|0,8,0)|0;k=hR(k|0,C|0,3-(b[e>>1]|0)|0)|0;j=g;c[j>>2]=k;c[j+4>>2]=C;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}if((b[e>>1]|0)>60){a=-1;d=2147483647}else{a=f;a=gR(c[a>>2]|0,c[a+4>>2]|0,8,0)|0;a=lR(a|0,C|0,(b[e>>1]|0)-3|0)|0;d=C}j=g;c[j>>2]=a;c[j+4>>2]=d;j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function bC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33823;break}case 8:{c[e>>2]=33832;break}case 9:{c[e>>2]=33844;break}case 6:{c[e>>2]=33852;break}default:c[e>>2]=33861}i=f;return c[e>>2]|0}function cC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(Td(c[(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*24|0)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Fw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)+16>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:35690;if(Td(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+((b[u>>1]|0)*24|0)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(Td(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+442>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Ah(C,33760,y)}Sf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function dC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=yh(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){jh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=Nx(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g*24|0)+21>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function eC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=33668;else c[f>>2]=19262;fi(c[d>>2]|0,33672,2,1,c[f>>2]|0,212,0,0,0)|0;fi(c[d>>2]|0,33672,3,1,c[f>>2]|0,212,0,0,0)|0;fi(c[d>>2]|0,33677,2,1,19258,212,0,0,0)|0;iC(c[d>>2]|0,33677,12);iC(c[d>>2]|0,33672,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function fC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){hA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function gC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Dh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=Pw(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+72>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}zz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)yz(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==55&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){Vw(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Az(c[q>>2]|0,c[A>>2]|0)}if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2]}else Fh(c[B>>2]|0,a[t>>0]|0);c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function hC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=we(c[f>>2]|0)|0;c[k>>2]=ve(c[f>>2]|0)|0;c[m>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=be(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+88+32>>2]|0)){je(c[f>>2]|0,33682,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=ae(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Cx(c[n>>2]|0,-1)|0)==1){c[j>>2]=jC(n)|0;break}je(c[f>>2]|0,33715,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;ke(q,Ph(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function iC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;h=c[n>>2]|0;g=c[m>>2]|0;c[k>>2]=gi(h,g,If(c[m>>2]|0)|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function jC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[26420+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function kC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(Td(c[e>>2]|0,33917)|0)){c[d>>2]=1;break}if(!(Td(c[e>>2]|0,27038)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function lC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=mC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function mC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=rR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=pR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=Zi(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function nC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function oC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+528>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Sf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Sf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Ug(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function pC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34953,k)|0;if(pi(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;Ow(p,31809,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=Pw(c[g>>2]|0)|0;c[f>>2]=Wz(c[g>>2]|0)|0;Vw(c[k>>2]|0,118,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Bx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?20769:20788;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;Ow(a,34897,h);_z(c[g>>2]|0,c[f>>2]|0);i=e;return}function rC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Ew(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;kR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function sC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&8388608)c[p>>2]=fx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(MF(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function tC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Ax(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Ah(m,36112,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ah(m,36083,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function uC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+88|0;b[a>>1]=b[a>>1]&-5|4;i=d;return}function vC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+536>>2]|0)==0?(c[(c[l>>2]|0)+68>>2]|0)==0:0){if(fx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+32>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+32>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+40>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+60>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+52>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(e[(c[l>>2]|0)+6>>1]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=158){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+32>>2]|0)+8;c[I>>2]=_w(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0);if((a[(c[m>>2]|0)+21>>0]|0)!=(a[(c[p>>2]|0)+21>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+16>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+20>>0]|0)!=0?(a[(c[p>>2]|0)+20>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+8>>2]|0)==0|0)!=((c[(c[p>>2]|0)+8>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+8>>2]|0))break;if(yQ(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(OF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(qy(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Dh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=Pw(c[v>>2]|0)|0;bx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+72|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+72|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=wC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=Wz(c[v>>2]|0)|0;c[L>>2]=Wz(c[v>>2]|0)|0;zz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,55);do if(!(c[(c[z>>2]|0)+24>>2]&134217728)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=Rw(c[M>>2]|0,108,c[E>>2]|0,0)|0;c[A>>2]=Yw(c[M>>2]|0,13)|0;Fz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){zz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,54);c[B>>2]=Rw(c[M>>2]|0,108,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=Rw(l,74,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=Rw(l,103,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=Rw(c[M>>2]|0,103,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=Vw(c[M>>2]|0,70,c[E>>2]|0,0,c[L>>2]|0)|0;CE(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Fz(c[M>>2]|0,c[s>>2]|0);CC(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);Rw(c[M>>2]|0,102,c[F>>2]|0,c[K>>2]|0)|0;Uw(c[M>>2]|0,75,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[c[w>>2]>>2]|0,0)|0;Fh(c[M>>2]|0,11);Rw(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;Rw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Rw(c[M>>2]|0,61,c[E>>2]|0,0)|0}else{yz(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);yz(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(OF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}Vw(c[M>>2]|0,54,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Az(c[v>>2]|0,c[J>>2]|0);Vw(c[M>>2]|0,55,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Az(c[v>>2]|0,c[H>>2]|0);Fh(c[M>>2]|0,1);c[y>>2]=Rw(c[M>>2]|0,108,c[F>>2]|0,0)|0;Rw(c[M>>2]|0,101,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&134217728){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(35690,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;Vw(c[M>>2]|0,105,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);Vw(c[M>>2]|0,110,c[E>>2]|0,c[K>>2]|0,1)|0;Fh(c[M>>2]|0,a[G>>0]|0);Rw(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Fz(c[M>>2]|0,c[y>>2]|0);Rw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Rw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Fz(c[M>>2]|0,c[B>>2]|0);_z(c[v>>2]|0,c[L>>2]|0);_z(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){Rw(c[M>>2]|0,21,0,0)|0;Fz(c[M>>2]|0,c[A>>2]|0);Rw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function wC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+42>>0]|0)&8){b=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+412>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Fw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+412>>2];c[(c[m>>2]|0)+412>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function xC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;xz(c[f>>2]|0,17,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+24>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+24>>2]|0)+60>>2]=0;i=e;return}function yC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=Pw(c[f>>2]|0)|0;c[k>>2]=Bz(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Ax(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Mz(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==54?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==152?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function zC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];xA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+76|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;Rw(c[j>>2]|0,30,c[h>>2]|0,c[f>>2]|0)|0;KA(c[g>>2]|0,c[f>>2]|0);i=e;return}function AC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=wA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=yh(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){jh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)+21>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=If(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){Uw(g,48,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Ih(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function BC(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(MF(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)LE(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function CC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Rw(c[(c[e>>2]|0)+8>>2]|0,137,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function DC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(FA(c[g>>2]|0)|0)!=0:0){_A(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}xA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function EC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)a=c[a+416>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+456>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+524>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+456>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+524>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+524>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+456|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+524>>2]|0)+(l<<2)>>2]=j;i=k;return}else{jh(c[c[h>>2]>>2]|0);i=k;return}}function FC(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=Pw(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Ej(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+20>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Bx(c[E>>2]|0);break}case 3:case 1:break;case 4:{Rw(c[ka>>2]|0,76,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=xz(c[ka>>2]|0,77,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;xA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Fz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+((c[T>>2]|0)*24|0)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Bh(m,31016,A)|0;Uw(c[ka>>2]|0,20,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Fh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(BE(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Cz(c[ka>>2]|0)|0;MA(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Ez(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;bA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}Gz(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Cz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){Vw(c[ka>>2]|0,79,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Fh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=Yw(c[ka>>2]|0,13)|0}while(0);Vw(c[ka>>2]|0,70,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=sC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(DE(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){EE(c[E>>2]|0);GE(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{EE(c[E>>2]|0);FE(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Ez(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)CE(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);Gz(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=Yw(c[ka>>2]|0,13)|0;Fz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){AC(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Cz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){Rw(c[ka>>2]|0,25,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;jA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+100>>2]=0}c[ga>>2]=kA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;sA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+100>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}Rw(c[ka>>2]|0,(c[U>>2]|0)<0?32:31,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}Vw(c[ka>>2]|0,49,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;CA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){Gz(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){nA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);Gz(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Eh(c[ka>>2]|0,67,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=kA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Rw(c[ka>>2]|0,113,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;Vw(c[ka>>2]|0,79,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Fh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(uA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;Vw(c[ka>>2]|0,47,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=Bz(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=78;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Dz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=79}Uw(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Fh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{Zz(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Ez(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;EE(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=sC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;FE(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}Gz(c[ka>>2]|0,c[Q>>2]|0);nA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))nA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Ez(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Fz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function GC(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+442>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Dh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(KC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+442>>0]|0)c[I>>2]=pi(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=zh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(cC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+288>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+((j<<16>>16)*24|0)>>2];c[J>>2]=Oy(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}yz(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+72|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)LC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(MC(c[l>>2]|0,c[D>>2]|0)|0)==0:0)LC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Sf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+65>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=Pw(c[l>>2]|0)|0;g=Bz(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;Rw(c[K>>2]|0,76,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Rw(c[K>>2]|0,135,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Ex(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(NC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[l>>2]|0)+416>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(cC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+65>>0]|0){N=59;break b}else break}c[H>>2]=Nv(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+72|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)OC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],OC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Bx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;Yu(c[v>>2]|0,c[H>>2]|0)}Sf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function HC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=Pw(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;Rw(j,76,n,(Bz(c[D>>2]|0)|0)+2|0)|0}Rw(c[D>>2]|0,110,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Fh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=Wz(c[o>>2]|0)|0;Vw(c[D>>2]|0,49,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))AC(c[D>>2]|0,c[p>>2]|0,0);CA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;Vw(c[D>>2]|0,75,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Ih(c[D>>2]|0,-1,c[c[p>>2]>>2]|0,0);Fh(c[D>>2]|0,a[A>>0]|0);i=E;return}function IC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+412>>2]|0)){i=d;return}JC(c[b>>2]|0);i=d;return}function JC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=Wz(c[d>>2]|0)|0;zz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,55);c[e>>2]=Gh(c[l>>2]|0,5,35196,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;_z(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function KC(a,d,e,f){a=a|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;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0} -function fi(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;p=D+56|0;q=D+52|0;r=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;B=D+16|0;A=D+12|0;z=D+8|0;o=D+4|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[w>>2]=l;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if((c[v>>2]|0)!=0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(f=If(c[r>>2]|0)|0,c[A>>2]=f,255>=(f|0)):0){c[z>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[o>>2]=fi(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0))c[o>>2]=fi(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[z>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[o>>2]|0)){c[t>>2]=3;break}c[p>>2]=c[o>>2];C=c[p>>2]|0;i=D;return C|0}}else c[t>>2]=(a[960]|0)==0?3:2;while(0);c[B>>2]=gi(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(b[c[B>>2]>>1]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+148>>2]|0)){Oh(d);break}hg(d,5,27111,C);c[p>>2]=5;C=c[p>>2]|0;i=D;return C|0}while(0);c[B>>2]=gi(c[q>>2]|0,c[r>>2]|0,c[A>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[B>>2]|0)){c[p>>2]=7;C=c[p>>2]|0;i=D;return C|0}bu(c[q>>2]|0,c[B>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+28>>2]=c[y>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[z>>2];c[(c[B>>2]|0)+12>>2]=(c[v>>2]|0)!=0?c[v>>2]|0:c[w>>2]|0;c[(c[B>>2]|0)+16>>2]=c[x>>2];c[(c[B>>2]|0)+4>>2]=c[u>>2];b[c[B>>2]>>1]=c[s>>2];c[p>>2]=0;C=c[p>>2]|0;i=D;return C|0}}while(0);c[p>>2]=Kf(134386)|0;C=c[p>>2]|0;i=D;return C|0}function gi(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;l=z+44|0;m=z+40|0;n=z+36|0;o=z+32|0;p=z+28|0;q=z+49|0;r=z+48|0;u=z+24|0;v=z+20|0;s=z+16|0;t=z+12|0;x=z+8|0;w=z+4|0;y=z;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;a[r>>0]=k;c[v>>2]=0;c[s>>2]=0;c[t>>2]=((d[18477+(d[c[n>>2]>>0]|0)>>0]|0)+(c[o>>2]|0)|0)%23|0;c[u>>2]=Wt((c[m>>2]|0)+340|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break;c[x>>2]=Xt(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[x>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[x>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}a:do if(!(a[r>>0]|0)){if((c[v>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&2097152|0)==0:0)break;c[w>>2]=1080;c[s>>2]=0;c[u>>2]=Wt(c[w>>2]|0,c[t>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;while(1){if(!(c[u>>2]|0))break a;c[y>>2]=Xt(c[u>>2]|0,c[p>>2]|0,a[q>>0]|0)|0;if((c[y>>2]|0)>(c[s>>2]|0)){c[v>>2]=c[u>>2];c[s>>2]=c[y>>2]}c[u>>2]=c[(c[u>>2]|0)+8>>2]}}while(0);if((d[r>>0]|0)!=0&(c[s>>2]|0)<6?(f=ph(c[m>>2]|0,32+(c[o>>2]|0)+1|0,0)|0,c[v>>2]=f,(f|0)!=0):0){c[(c[v>>2]|0)+20>>2]=(c[v>>2]|0)+32;b[c[v>>2]>>1]=c[p>>2];b[(c[v>>2]|0)+2>>1]=d[q>>0]|0;iR(c[(c[v>>2]|0)+20>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;a[(c[(c[v>>2]|0)+20>>2]|0)+(c[o>>2]|0)>>0]=0;Yt((c[m>>2]|0)+340|0,c[v>>2]|0)}do if(c[v>>2]|0){if((c[(c[v>>2]|0)+12>>2]|0)==0?(d[r>>0]|0)==0:0)break;c[l>>2]=c[v>>2];f=c[l>>2]|0;i=z;return f|0}while(0);c[l>>2]=0;f=c[l>>2]|0;i=z;return f|0}function hi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(27060,h)|0;je(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function ii(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Sj();Bf(c[f>>2]|0,c[g>>2]|0)|0;Tj();i=h;return 0}function ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=-1;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[f>>2]=If(c[e>>2]|0)|0;c[h>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[g>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[h>>2]<<4);while(1){if((c[h>>2]|0)<0){d=7;break}b=c[f>>2]|0;if((b|0)==(If(c[c[g>>2]>>2]|0)|0)?0==(Td(c[c[g>>2]>>2]|0,c[e>>2]|0)|0):0){d=7;break}c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-16}if((d|0)==7){h=c[h>>2]|0;i=j;return h|0}return 0}function ki(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=Ut(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function li(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+65>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+160>>2]|0){i=f;return}a[(c[e>>2]|0)+65>>0]=0;c[(c[e>>2]|0)+240>>2]=0;b=(c[e>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function mi(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Kf(135519)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=ig(536,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+76>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+460;e=(c[n>>2]|0)+88|0;g=1536;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+88+44>>2]=0;a[(c[n>>2]|0)+63>>0]=1;a[(c[n>>2]|0)+68>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+72>>2]=0;c[(c[n>>2]|0)+136>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|9437280;uj((c[n>>2]|0)+432|0);uj((c[n>>2]|0)+312|0);ni(c[n>>2]|0,35690,1,0,141,0)|0;ni(c[n>>2]|0,35690,3,0,141,0)|0;ni(c[n>>2]|0,35690,2,0,141,0)|0;ni(c[n>>2]|0,21290,1,0,142,0)|0;ni(c[n>>2]|0,21297,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+65>>0]|0)){f=Mj(c[n>>2]|0,1,35690,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=Wj(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)jh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?19255:0;c[p>>2]=c[q>>2];hg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=Xj(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;jg(c[n>>2]|0,c[o>>2]|0);break}kg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=Yj(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+65>>0]|0))a[(c[n>>2]|0)+62>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=Yj(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=21303;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=19536;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+76>>2]=-1607883113;if(!(a[(c[n>>2]|0)+65>>0]|0)){jg(c[n>>2]|0,0);Zj(c[n>>2]|0);c[o>>2]=Cf(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(_j(c[n>>2]|0),c[o>>2]=Cf(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+65>>0]|0)==0:0)c[o>>2]=$j(c[n>>2]|0)|0;if(c[o>>2]|0)jg(c[n>>2]|0,c[o>>2]|0);ci(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;yf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Cf(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+76>>2]=1266094736}else{rf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function ni(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[960]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Kf(135070)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Mj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+148>>2]|0){hg(b,5,21222,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Oh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=nj((c[l>>2]|0)+432|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Mj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;jg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function oi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+140+5>>0]=1;a[(c[f>>2]|0)+62>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=qj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)rj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=qj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)rj(c[f>>2]|0,1);a[(c[f>>2]|0)+140+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}sj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function pi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(Td(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=nj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function qi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(Td(c[d>>2]|0,20751)|0){if(!(Td(c[d>>2]|0,20759)|0)){c[b>>2]=1;break}if(!(Td(c[d>>2]|0,20765)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function ri(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(Td(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function ti(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function ui(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=mj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function wi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function xi(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];kg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Pi(c[m>>2]|0)}c[n>>2]=Qi(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=27;Oi(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Mi(8,c[b>>2]|0);if((c[76]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[75];c[75]=c[c[75]>>2];c[76]=(c[76]|0)+-1;Ni(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=_f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Ni(4,$f(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Ai(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[74]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[75];c[75]=c[e>>2];c[76]=(c[76]|0)+1;ag(3,1);i=f;return}if(c[2]|0){c[d>>2]=$f(c[b>>2]|0)|0;ag(4,c[d>>2]|0);ag(0,c[d>>2]|0);ag(9,1);Qb[c[48>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[48>>2]&255](c[b>>2]|0);i=f;return}}function Bi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Ji(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Ci(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;if(d[19267+(d[(c[f>>2]|0)+2>>0]|0)>>0]&8){b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[19267+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=rR(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=gR(b|0,e|0,(Gi(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Hi(j,k,If(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Di(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Fi(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Ei(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Fi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=19266;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Gi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Hi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;l=w+48|0;m=w+44|0;n=w+40|0;h=w+36|0;j=w+52|0;q=w+32|0;k=w;r=w+28|0;p=w+24|0;o=w+20|0;s=w+16|0;u=w+12|0;t=w+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]|0)+(d[j>>0]|0)+-3;c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[19267+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;g=k;j=c[g>>2]|0;g=c[g+4>>2]|0;if(!h)break;b=rR(j|0,g|0,10,0)|0;e=c[o>>2]|0;e=gR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=fR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(g>>>0>2147483647|(g|0)==2147483647&j>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=fR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);if(!((c[o>>2]|0)!=0?((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}c[o>>2]=Ii(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}if((c[o>>2]|0)>0){c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;v=c[l>>2]|0;i=w;return v|0}}}while(0);c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}function Ii(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=19631;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Ji(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[19267+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Ki(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=If(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[19650+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(19666+(d[19658+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[19691+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[19691+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Ki(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Li(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Li(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[19267+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[19267+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Gi(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[19267+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=rR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=gR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=fR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=fR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Mi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1036+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Ni(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=996+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[996+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1036+(c[d>>2]<<2)>>2]=c[996+(c[d>>2]<<2)>>2];i=e;return}function Oi(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[18477+(d[c[h>>2]>>0]|0)>>0]<<2^(d[18477+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[19699+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[19826+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19950+(e[10628+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[20627+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[20503+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Pi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Wi(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Qi(a,e,f){a=a|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Ri(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Si(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Ti(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Ui(c[g>>2]|0);c[n>>2]=Vi(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Wi(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=gR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=fR(o|0,C|0,1,0)|0;o=pR(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{Wi(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];Xi(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Ri(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Si(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ti(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=ej(c[d>>2]|0)|0;i=b;return a|0}function Ui(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;_i(c[(c[d>>2]|0)+96>>2]|0);$i(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function Vi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[128>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[33]|0;a=c[h>>2]|0;b=Zi(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[156>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Wi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Yi(c[d>>2]|0);i=b;return}function Xi(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[415]|0)>>>0?(c[b>>2]|0)>>>0<(c[416]|0)>>>0:0){ag(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[418];c[418]=c[e>>2];c[419]=(c[419]|0)+1;c[420]=(c[419]|0)<(c[414]|0)&1;i=f;return}c[d>>2]=$f(c[b>>2]|0)|0;ag(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function Zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=rR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=pR(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function _i(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function $i(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;aj(c[d>>2]|0,0);i=b;return}function aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)bj(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){kR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[152>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function bj(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}cj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}dj(c[d>>2]|0);i=f;return}function cj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;h=l+12|0;k=l+4|0;g=l;c[j>>2]=b;a[h>>0]=f;c[k>>2]=c[(c[j>>2]|0)+28>>2];if(d[h>>0]&1){if((c[(c[k>>2]|0)+8>>2]|0)==(c[j>>2]|0)){c[g>>2]=c[(c[j>>2]|0)+36>>2];while(1){if(c[g>>2]|0)f=(e[(c[g>>2]|0)+24>>1]&8|0)!=0;else f=0;b=c[g>>2]|0;if(!f)break;c[g>>2]=c[b+36>>2]}c[(c[k>>2]|0)+8>>2]=b}f=c[(c[j>>2]|0)+36>>2]|0;if(c[(c[j>>2]|0)+32>>2]|0)c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[k>>2]|0)+4>>2]=f;f=c[(c[j>>2]|0)+32>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]|0)){c[c[k>>2]>>2]=f;if((c[c[k>>2]>>2]|0)==0?(d[(c[k>>2]|0)+32>>0]|0)!=0:0)a[(c[k>>2]|0)+33>>0]=2}else c[(c[(c[j>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0}if(!(d[h>>0]&2)){i=l;return}c[(c[j>>2]|0)+32>>2]=c[c[k>>2]>>2];f=c[j>>2]|0;if(!(c[(c[j>>2]|0)+32>>2]|0)){c[(c[k>>2]|0)+4>>2]=f;if(a[(c[k>>2]|0)+32>>0]|0)a[(c[k>>2]|0)+33>>0]=1}else c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;c[c[k>>2]>>2]=c[j>>2];if(c[(c[k>>2]|0)+8>>2]|0){i=l;return}if(e[(c[j>>2]|0)+24>>1]&8){i=l;return}c[(c[k>>2]|0)+8>>2]=c[j>>2];i=l;return}function dj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[144>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function ej(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[412]|0)?(c[d>>2]=c[418],(c[d>>2]|0)!=0):0){c[418]=c[c[418]>>2];c[419]=(c[419]|0)+-1;c[420]=(c[419]|0)<(c[414]|0)&1;Mi(7,c[b>>2]|0);Ni(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=_f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=$f(c[d>>2]|0)|0;Mi(7,c[b>>2]|0);Ni(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function fj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ig(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function gj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=fj(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=yh(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}iR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;kR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=gj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=gj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Sf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function hj(b,e,f){b=b|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];iR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;kR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(lj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function jj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function kj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;kj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function lj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=oj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=pj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(Td(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function pj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[18477+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function qj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?20769:20788;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=20802;c[B+8>>2]=20804;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];wj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}kg(c[(c[t>>2]|0)+4>>2]|0);do if(!(og(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=mg(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;xj(z,B,ih(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;ng(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+62>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+62>>0]|0)){xj(c[o>>2]|0,c[m>>2]|0,20880);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+62>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=yj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];zj(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){xj(c[o>>2]|0,c[m>>2]|0,20948);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Bh(B,20972,w)|0;c[x>>2]=c[(c[m>>2]|0)+288>>2];c[(c[m>>2]|0)+288>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+288>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Sf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Aj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+65>>0]|0){c[u>>2]=7;zg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Bj(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)jh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);tj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;tj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function sj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function tj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];uj((c[f>>2]|0)+40|0);vj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Pf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}vj(j);uj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Qf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}vj(h);vj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function vj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function wj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;j=r+40|0;s=r+36|0;k=r+28|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;p=r+4|0;o=r;c[s>>2]=d;c[r+32>>2]=f;c[k>>2]=g;c[r+24>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+65>>0]|0){Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,21114,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Fj(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Li(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,21122);break a}while(0);Kj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[(c[l>>2]|0)+140+4>>0]=c[m>>2];s=Ki(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+140>>2]=s;a[(c[l>>2]|0)+140+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+140+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+140+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){jh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Kj(q,s,bf(c[l>>2]|0)|0)}}while(0);Yd(c[p>>2]|0)|0}while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Sf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=nh(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function yj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);Ij(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Aj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;d=n+40|0;e=n+36|0;f=n+32|0;k=n+24|0;g=n+16|0;m=n+12|0;j=n+8|0;h=n+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];Cj(c[h>>2]|0);c[g>>2]=c[c[g>>2]>>2]}c[k>>2]=c[e>>2];c[k+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];if(!(pi(c[e>>2]|0,21027,c[k+4>>2]|0)|0)){c[d>>2]=1;m=c[d>>2]|0;i=n;return m|0}h=c[e>>2]|0;c[l>>2]=c[k+4>>2];c[m>>2]=Bh(h,21040,l)|0;if(!(c[m>>2]|0))c[j>>2]=7;else{c[j>>2]=$e(c[e>>2]|0,c[m>>2]|0,141,k,0)|0;Sf(c[e>>2]|0,c[m>>2]|0)}if((c[j>>2]|0)==7)jh(c[e>>2]|0);c[d>>2]=c[j>>2];m=c[d>>2]|0;i=n;return m|0}function Bj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;kg(c[b>>2]|0);c[d>>2]=Kg(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Jg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Cj(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5446]|0;b[h+2>>1]=b[5447]|0;b[h+4>>1]=b[5448]|0;b[h+6>>1]=b[5449]|0;b[h+8>>1]=b[5450]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;iR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Dj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=pi(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Ej(c[q>>2]|0)|0;break}else{c[o>>2]=Fj(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Gj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Gj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Ej(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(Td(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=nj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Gj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Hj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(21081,c[p>>2]|0)|0){r=(Ze(21092,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Ki(j+3|0)|0;r=Hj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(21102,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Hj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=lR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=hR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=hR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[10876+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Jj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Jj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[33]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=Zi(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+65>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=21139;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Bh(e,21141,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Bh(e,21172,m)|0}Sf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+65>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Lj(109430)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Lj(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(kf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Rd(11,21180,d);i=b;return 11}function Mj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Nj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Nj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=nj((c[f>>2]|0)+432|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=If(c[g>>2]|0)|0;c[j>>2]=ph(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;iR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Oj((c[f>>2]|0)+432|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}jh(c[f>>2]|0);Sf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Oj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=oj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Pj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=_f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Qj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=pj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Rj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}vj(c[e>>2]|0);i=j;return}function Qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Sj();c[j>>2]=_f(c[f>>2]<<3,0)|0;Tj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=(($f(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;kR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=pj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Rj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Sj(){if(!(c[421]|0))return;Vb[c[1684>>2]&255]();return}function Tj(){if(!(c[422]|0))return;Vb[c[1688>>2]&255]();return}function Uj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=vQ(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(Tt((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(Tt((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function Vj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function Wj(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=If(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(vQ(c[n>>2]|0,26902,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=gR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(vQ(26908,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26918,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[19267+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[19267+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Gi(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Gi(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(If(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=If(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=If(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(vQ(26946,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(vQ(26950,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4912;c[z>>2]=c[A>>2];c[N>>2]=26950}if((c[D>>2]|0)==4?(vQ(26956,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4936;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26961}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(If(c[L>>2]|0)|0)?0==(vQ(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26968,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26988,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){iR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(27012,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function Xj(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(yQ(c[n>>2]|0,26694)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Sq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=ig(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(If(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=_f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=Tq(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else iR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1208];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(yQ(w,Fi(c[c[F>>2]>>2]|0,0)|0)|0)?(w=ti(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=ig(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=Vq(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;Wq(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=Xq(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];Zq(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((_q(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=($q(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=($q(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Qi(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+64>>2]=1;c[(c[F>>2]|0)+68>>2]=c[1208];c[1208]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Rq(c[E>>2]|0,0,0)|0))Ij(c[c[(c[E>>2]|0)+4>>2]>>2]|0,2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)ar(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function Yj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Rq(c[g>>2]|0,84,150)|0;else c[h>>2]=ph(0,84,0)|0;if(!(c[h>>2]|0)){jh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}uj((c[h>>2]|0)+8|0);uj((c[h>>2]|0)+24|0);uj((c[h>>2]|0)+40|0);uj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function Zj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=xf(c[b>>2]|0,26688,2)|0;if((c[e>>2]|0)!=7){i=d;return}jh(c[b>>2]|0);i=d;return}function _j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[382]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>>>0>=(c[382]|0)>>>0){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[383]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=Ob[c[h>>2]&255](c[b>>2]|0,j,3980)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];hg(l,a,26649,g);c[d>>2]=0}Kd(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function $j(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;ak(h);c[j>>2]=bk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}ck(g);dk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)ek(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((fk(c[e>>2]|0,21308,7,c[g>>2]|0)|0)==0?(fk(c[e>>2]|0,21315,7,c[f>>2]|0)|0)==0:0)?(fk(c[e>>2]|0,21322,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=gk(c[d>>2]|0,c[e>>2]|0,21332)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21347,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21355,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21363,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21363,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=xf(c[d>>2]|0,21373,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,21382,1692,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,21387,1692,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=ik(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){jk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function ak(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2312;i=b;return}function bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,26300,2220,0)|0;i=d;return c[b>>2]|0}function ck(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2192;i=b;return}function dk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2164;i=b;return}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function fk(b,d,e,f){b=b|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,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Bk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Ck(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))Vp(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?(Wp(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?(Wp(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=Xp(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=Xp(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){iR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}kk(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;Yp(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function gk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=vf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=vf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function hk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];jk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,21392,1784,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function jk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;kk(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)kk(c[(c[e>>2]|0)+12>>2]|0);kk(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function kk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function lk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,21405)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=wk(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=21308;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=xk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function mk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function nk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function pk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];vk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function qk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];vk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=ae(c[c[k>>2]>>2]|0)|0;c[l>>2]=be(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}iR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=rk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}vk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function sk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{ne(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{ke(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{ke(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function vk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function wk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(BQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=BQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];iR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Ik(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=BQ(c[g>>2]|0)|0;c[k>>2]=yk(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];zk(o,21456,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function yk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Ak(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function zk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Ak(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Bk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Ck(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Ck(b,d,e,f){b=b|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;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Dk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Dk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Ek(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=CQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Fk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=vQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Gk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=BQ(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Hk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Ik(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Jk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Fp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Kk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Fp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Lk(b,e){b=b|0;e=e|0;var f=0,g=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;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Dp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Ep(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=24471;else c[e>>2]=24476;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Mk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Nk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;hl(f,a,24671,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;hl(f,o,24708,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;hl(f,o,24746,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;hl(f,o,24782,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;hl(f,o,24819,j);if(!(c[f>>2]|0)){o=Mk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Pk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Yd(c[(c[d>>2]|0)+8>>2]|0)|0;ap(c[(c[d>>2]|0)+12>>2]|0);Cp(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);tm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Qk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Yd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);tm(c[(c[w>>2]|0)+92>>2]|0);ap(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=bp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=bp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=ae(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(fe(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=de(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=cp(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=dp(c[w>>2]|0)|0;sm(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?24471:24476;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(24480,A)|0}else{A=(d[l+52>>0]|0)!=0?24471:24476;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(24542,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=zn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Pe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Rk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Rk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=$o(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(ue(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Zd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=Ee(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Sk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;le(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){ge(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;le(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=nn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=De(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;ke(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ze(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;pe(m,Ge(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function Uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Ao(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function Wk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=fl(c[d>>2]|0)|0;i=b;return a|0}function Xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=gl(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=_n(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=$n(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;sm(c[e>>2]|0);i=g;return c[f>>2]|0}function Yk(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Zk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];dl(c[d>>2]|0);i=b;return 0}function _k(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;j=m+64|0;n=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[n>>2]=e;e=c[n>>2]|0;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[509];c[l+4>>2]=c[510];c[l+8>>2]=c[511];c[l+12>>2]=c[512];c[l+16>>2]=c[513];c[l+20>>2]=c[514];c[l+24>>2]=c[515];c[l+28>>2]=c[516];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}n=(yQ(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(n){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;n=c[j>>2]|0;i=m;return n|0}else if((b|0)==6){c[j>>2]=0;n=c[j>>2]|0;i=m;return n|0}return 0}function $k(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=fl(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=gl(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;hl(h,p,21478,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;hl(h,p,21531,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;hl(h,p,21584,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;hl(h,p,21631,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;hl(h,p,21685,l);i=o;return c[h>>2]|0}function al(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=Xk(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function bl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];dl(c[e>>2]|0);i=d;return 0}function dl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];el(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}jk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function el(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function fl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=24028;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(ue(c[g>>2]|0)|0)==100&1,c[h>>2]=Yd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function gl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=il(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}dl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=jl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Le(c[g>>2]|0,1,2)|0;c[h>>2]=ue(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=De(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Zd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function il(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=kl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;a:do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=ll(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;do if((c[j>>2]|0)==-2)if((c[l+4>>2]|0)==1){c[r>>2]=101;break a}else{b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1;break}else{e=ml(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=nl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}while(0);if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=ol(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=pl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=ql(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=sl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=tl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);ul(c[q>>2]|0);vl(l);i=s;return c[r>>2]|0}function jl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;iR(f|0,1876,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Re(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Pe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function kl(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=dm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=jl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(m,1,e,C)|0;e=c[l>>2]|0;m=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(e,2,m,C)|0;if(100==(ue(c[l>>2]|0)|0)){e=Ee(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Zd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=rR(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=gR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=rR(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=gR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function nl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=jl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(a,1,f,C)|0;if(100==(ue(c[n>>2]|0)|0))c[m>>2]=De(c[n>>2]|0,0)|0;c[o>>2]=Zd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=il(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=bm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function pl(b,e){b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Kl(c[G>>2]|0);else c[H>>2]=Ll(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Nl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(vQ(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(vQ(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Ol(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Pl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Nl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Ql(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Ql(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Rl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=fR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=fR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Dl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Sl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=El(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;iR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Nl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function ql(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=jl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(ue(c[w>>2]|0)|0)){e=Ee(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Zd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Gl(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Dl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Dl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Dl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=gR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=zl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Hl(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Dl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Dl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=gR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=El((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=El((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;iR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=El((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;iR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);iR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function rl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Fl(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=jl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=ml(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Me(p,1,a,C)|0;a=c[q>>2]|0;p=ml(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Me(a,2,p,C)|0}}else{c[r>>2]=jl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=ml(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Me(a,1,p,C)|0}}if(!(c[r>>2]|0)){ue(c[q>>2]|0)|0;c[r>>2]=Zd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function sl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Bl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=gR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=zl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=Al(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Bl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=jl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=pR(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=gR(f|0,C|0,1,0)|0;f=rR(f|0,C|0,1024,0)|0;f=fR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=rR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=pR(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=gR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Me(j,1,a,C)|0;a=n;Me(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(ue(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;yl(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Zd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=jl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=jl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Me(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(ue(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Le(a,1,u)|0;u=c[r>>2]|0;Le(u,2,De(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Le(u,3,De(c[q>>2]|0,1)|0)|0;ue(c[r>>2]|0)|0;c[t>>2]=Zd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Zd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Zd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Me(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;ue(c[s>>2]|0)|0;c[t>>2]=Zd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function ul(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);xl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function vl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;wl(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function wl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function xl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];xl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function yl(a,b,e,f){a=a|0;b=b|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;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Fe(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=rR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=gR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=rR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=gR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=rR(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=jl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Me(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Je(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function Al(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Cl(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=fR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Cl(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=zl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=gR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=gR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=Al(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Bl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=jl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Me(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Le(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Me(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Me(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Me(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(24e3,B)|0;if(c[C>>2]|0){Oe(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Je(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;ue(c[z>>2]|0)|0;c[A>>2]=Zd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Cl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Dl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;El((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=hR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function El(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=hR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=jl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Me(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Me(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;ue(c[f>>2]|0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Hl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Gl(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Dl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Dl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=El((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=El((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;iR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];iR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Hl(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Hl(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Kl(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Ll(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){iR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Kl(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=gR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=am(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=Yl(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Vl(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Vl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=Yl(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}iR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Vl(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=vQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=vQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);iR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Pl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;Wl(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=Yl(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=Ul(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ql(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}Wl(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=Xl(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=Yl(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(Ul(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=fR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=gR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Rl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=Vl(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}kR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Sl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=El((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Tl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=Ul(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=El((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=El((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Tl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Tl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];iR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function Ul(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=lR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=gR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function Vl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function Wl(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;_l(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=rR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=fR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];$l(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=Ul(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=rR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=gR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];Zl(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function Xl(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function Yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=Xl(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];iR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function _l(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];Ul(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function $l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function am(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(24010,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,24022,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function bm(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Ll(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=cm(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Kl(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Nl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function cm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=vQ(a,d,c[g>>2]|0)|0;else c[h>>2]=vQ(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function dm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=em(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=fm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=gm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=ue(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=Ee(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=Ee(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=Ee(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Be(c[A>>2]|0,4)|0;c[F>>2]=Ae(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=hm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=im((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=fm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Zd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function em(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(vQ(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)uQ(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Ak(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){kR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;iR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}wl(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function gm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=jl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(k,1,f,C)|0;f=c[m>>2]|0;k=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(f,2,k,C)|0}}else{c[n>>2]=jl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function hm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)Vl(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=jm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=am(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=hm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=am(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=hm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function im(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];iR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=fR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function jm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=Ul(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=Ul(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Vl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Vl(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}iR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=vQ(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=gR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=vQ(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=24274;c[n>>2]=24278;c[m>>2]=24283;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){je(d,24294,-1);i=p;return}if(pm(d,21347,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=de(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=de(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=ae(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=ae(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){te(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){ne(d,19266,-1,0);i=p;return}if(nn(d,c[l>>2]|0)|0){i=p;return}Sn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(pm(c[e>>2]|0,21355,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(nn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}On(c[e>>2]|0,c[f>>2]|0);i=g;return}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(pm(c[e>>2]|0,21373,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Mn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,24178,-1,0);i=j;return}case 101:{ne(c[e>>2]|0,24194,-1,0);i=j;return}default:{re(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(pm(c[e>>2]|0,21363,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;qm(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function pm(b,d,e,f){b=b|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;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((fe(c[k>>2]|0)|0)==4?(be(c[k>>2]|0)|0)==4:0){d=$d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(24149,n)|0;je(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=24084;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){rm(e,c[g>>2]|0,c[j>>2]|0);sm(c[h>>2]|0);i=k;return}else{ge(e,19266,0,0);i=k;return}}function rm(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(yQ(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){tm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=um(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(vm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=wm(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){je(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=xm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=ym(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=zm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Am(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;ge(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}re(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function sm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function tm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function um(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Hm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function vm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];zk(f,24114,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=BQ(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}kR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);iR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function ym(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)iR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function zm(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Bm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Bm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=Ul(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=pR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=gR(f|0,0,e|0,C|0)|0;f=s;f=pR(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Cm(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=Ae(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=Ul(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Zd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Dm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Em(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(wm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;kR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Fm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Dm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Bm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Hm(c[w>>2]|0,154,c[j>>2]|0)|0;Im(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Hm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=wm(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Zd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Am(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;iR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Jn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=Ae(c[n>>2]|0,0)|0;o=Ul(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=In(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Hm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Em(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}kR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Hm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Km(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Gn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Gn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Fm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Fm(c[b+12>>2]|0,c[f>>2]|0);Fm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{En(b,c[f>>2]|0);i=g;return}}function Gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Bn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=An(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=nn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=on(c[d>>2]|0)|0;c[f>>2]=0==(pn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;qn(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Km(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Lm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0} -function Fp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(BQ(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(BQ(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){kR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)kR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(BQ(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24853,8)|0):0)?0==(Gp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Hp(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Ip(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2100;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];zk(ia,24862,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((BQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,21382,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];zk(ia,24889,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((BQ(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24916,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((BQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24920,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];zk(ia,24925,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(BQ(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Jp(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24948;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Hp(c[S>>2]|0,21308,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Kp(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];zk(ia,24956,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}kR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);iR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;ek((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];iR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];iR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Lp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;iR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Ik(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=BQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(BQ(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];zk(ia,24991,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?25010:25019;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];zk(ia,25030,V)}ia=Mp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Np(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Op(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Pp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Qp(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Mk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Gp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[25712+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Hp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(19255,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=BQ(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Lp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ik(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=yk(z,A,(BQ(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Lp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Ik(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)zk(c[k>>2]|0,25694,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];zk(A,21456,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Ip(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(19255,k)|0;if(c[m>>2]|0)Ik(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Jp(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(25639,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;zk(D,19255,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=ye(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;D=(BQ(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(BQ(c[y>>2]|0)|0)+1;iR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Kp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}kR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Tp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0}function Lp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Gp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Gp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Mp(a,b,d){a=a|0;b=b|0;d=d|0;var 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;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Sp(c[f>>2]|0,s,25592,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Sp(p,s,25598,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Sp(p,s,25578,l)}}else{if(c[e>>2]|0){b=Rp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=19266;Sp(c[f>>2]|0,s,25557,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Sp(b,s,25563,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=25585;Sp(p,s,25578,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19266:25607;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Sp(e,s,25616,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19266:25607;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Sp(e,s,25616,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Rp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=19266;Sp(c[g>>2]|0,n,21139,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Sp(b,n,25541,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Sp(c[g>>2]|0,n,25548,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Op(b){b=b|0;var 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;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(25166,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(25192,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(25204,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;hl(g,s,25215,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;hl(g,s,25248,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;hl(g,s,25320,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;hl(g,s,25473,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}Xo(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Pp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(25146,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){ue(c[f>>2]|0)|0;h=De(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Yd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=25071;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(25080,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(25085,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(25092,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Rp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((BQ(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Sp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(25552,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Tp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;j=m;e=m+32|0;n=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;l=m+12|0;f=m+8|0;k=m+4|0;c[e>>2]=a;c[n>>2]=b;c[o>>2]=d;c[h>>2]=0;c[g>>2]=ve(c[e>>2]|0)|0;c[l>>2]=ae(c[c[o>>2]>>2]|0)|0;c[f>>2]=(be(c[c[o>>2]>>2]|0)|0)+1;if((c[n>>2]|0)==2){je(c[e>>2]|0,25840,-1);i=m;return}if(c[l>>2]|0)c[h>>2]=yk(c[g>>2]|0,c[l>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){ge(c[e>>2]|0,h,4,-1);i=m;return}else{c[j>>2]=c[l>>2];c[k>>2]=Od(21456,j)|0;je(c[e>>2]|0,c[k>>2]|0,-1);Kd(c[k>>2]|0);i=m;return}}function Vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)kk(c[(c[g>>2]|0)+12>>2]|0);kk(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}jk(c[f>>2]|0);i=k;return}function Wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=Xp(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}kk(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Bk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];Yp(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function Xp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}kR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function Zp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function _p(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function $p(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=BQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function aq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function bq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25909+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25909+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);cq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function cq(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){dq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){dq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(eq(r,25989,25994,0)|0)==0:0)?(eq(r,25997,26001,0)|0)==0:0)?(eq(r,25994,25994,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(eq(r,26003,26007,172)|0)){if((eq(r,26010,19266,173)|0)==0?(eq(r,26014,19266,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(eq(r,26017,26020,0)|0)==0:0)?(eq(r,26024,26027,0)|0)==0:0)?(eq(r,26031,26034,0)|0)==0:0){if((((hq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((iq(c[r>>2]|0)|0)!=0?(jq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(gq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(eq(r,26038,26020,172)|0))eq(r,26046,26053,172)|0;break}case 99:{if(!(eq(r,26058,26063,172)|0))eq(r,26068,26073,172)|0;break}case 101:{eq(r,26078,26034,172)|0;break}case 103:{eq(r,26083,26088,172)|0;break}case 108:{if((((eq(r,26092,26027,172)|0)==0?(eq(r,26096,26101,172)|0)==0:0)?(eq(r,26104,26110,172)|0)==0:0)?(eq(r,26114,26118,172)|0)==0:0)eq(r,26120,26126,172)|0;break}case 111:{if((eq(r,26130,26034,172)|0)==0?(eq(r,26138,26020,172)|0)==0:0)eq(r,26144,26020,172)|0;break}case 115:{if(((eq(r,26149,26101,172)|0)==0?(eq(r,26155,26163,172)|0)==0:0)?(eq(r,26167,26175,172)|0)==0:0)eq(r,26179,26126,172)|0;break}case 116:{if((eq(r,26187,26101,172)|0)==0?(eq(r,26193,26163,172)|0)==0:0)eq(r,26199,26027,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((eq(r,26206,26212,172)|0)==0?(eq(r,26215,19266,172)|0)==0:0)eq(r,26221,26101,172)|0;break}case 105:{eq(r,26227,26212,172)|0;break}case 108:{if(!(eq(r,26233,26212,172)|0))eq(r,26238,19266,172)|0;break}case 115:{eq(r,26242,19266,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(kq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(kq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(kq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(kq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(kq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(kq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(eq(r,26247,19266,174)|0)==0:0)?(eq(r,26253,19266,174)|0)==0:0)eq(r,26258,19266,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(kq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;eq(r,26262,19266,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(kq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(eq(r,26266,19266,174)|0))eq(r,26270,19266,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(kq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(kq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(kq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((iq(g)|0)!=0?(jq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((kq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=BQ(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function dq(b,d,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function eq(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function fq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function gq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(mq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function hq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(mq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function iq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function jq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((mq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(lq((c[d>>2]|0)+1|0)|0)!=0:0)d=(mq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function kq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(lq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(mq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function lq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[26274+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=mq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[26274+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(lq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function nq(b,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}kR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=BQ(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(tq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function oq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function pq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=BQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function qq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function rq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(sq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(sq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function sq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function tq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function uq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=BQ(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(19536,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=BQ(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=BQ(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,26310)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){kR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;iR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;iR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Ik(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);zk(c[n>>2]|0,26379,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function vq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function wq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function yq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];sm(c[e>>2]|0);vl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}vl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);kR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=ae(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(19255,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=be(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(19255,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=be(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=de(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=kl(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=ol(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Aq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Aq(a){a=a|0;var b=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;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=gR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=pl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=vQ(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Eq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}kR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=Ul((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Eq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Bq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){ke(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{ne(e,26308,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Dq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){kR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Fq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=BQ(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(vQ(26585,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(vQ(26605,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(vQ(26625,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Qq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(vQ(26637,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Qq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Gq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Gq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Hq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=BQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Iq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Jq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26420+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Kq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Lq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26420+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Kq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Mq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Oq(c[e>>2]|0)|0;a=a^(Pq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Lq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[10902+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=10902+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[11554+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Nq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Mq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Nq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;iR(j|0,11708,202)|0;b=h;d=26484;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Oq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2340+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2356+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2356+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2356+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Qq(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26420+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Oq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Mq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26420+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Oq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Mq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];kg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=ph(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Sq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+64>>0]|0|0)==2|0}function Tq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Uq(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=It(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Jt(c[d>>2]|0)|0)<=1){i=f;return}Kt(c[e>>2]|0)|0;i=f;return}function Vq(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;s=L+96|0;t=L+92|0;u=L+88|0;v=L+84|0;w=L+80|0;l=L+76|0;x=L+72|0;y=L+68|0;o=L+64|0;D=L+60|0;E=L+56|0;H=L+52|0;B=L+48|0;F=L+44|0;m=L+40|0;J=L+36|0;C=L+32|0;I=L+28|0;p=L+24|0;G=L+20|0;r=L+16|0;n=L+12|0;q=L+8|0;z=L+4|0;A=L;c[t>>2]=d;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[x>>2]=j;c[y>>2]=k;c[D>>2]=0;c[E>>2]=0;c[H>>2]=0;c[B>>2]=0;c[F>>2]=0;c[J>>2]=0;c[C>>2]=0;c[I>>2]=(c[l>>2]&1|0)==0&1;c[p>>2]=it()|0;c[G>>2]=1024;c[r>>2]=0;c[n>>2]=0;f=c[(c[t>>2]|0)+4>>2]|0;if((f|0)>(Jr()|0))c[m>>2]=(c[(c[t>>2]|0)+4>>2]|0)+7&-8;else c[m>>2]=(Jr()|0)+7&-8;c[c[u>>2]>>2]=0;do if(((c[l>>2]&2|0)!=0?(c[B>>2]=1,(c[v>>2]|0)!=0):0)?(a[c[v>>2]>>0]|0)!=0:0){c[J>>2]=nh(0,c[v>>2]|0)|0;if(c[J>>2]|0){c[C>>2]=If(c[J>>2]|0)|0;c[v>>2]=0;break}c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}while(0);if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[C>>2]=(c[(c[t>>2]|0)+8>>2]|0)+1;f=c[C>>2]<<1;c[J>>2]=yh(0,f,((f|0)<0)<<31>>31)|0;if(!(c[J>>2]|0)){c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}a[c[J>>2]>>0]=0;c[E>>2]=Tq(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0,c[J>>2]|0)|0;c[C>>2]=If(c[J>>2]|0)|0;f=(If(c[v>>2]|0)|0)+1|0;f=(c[v>>2]|0)+f|0;c[r>>2]=f;c[q>>2]=f;while(1){l=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;f=(If(l)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f;f=(If(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+f}c[n>>2]=l+1-(c[r>>2]|0);if((c[E>>2]|0)==0?((c[C>>2]|0)+8|0)>(c[(c[t>>2]|0)+8>>2]|0):0)c[E>>2]=et(48375)|0;if(c[E>>2]|0){Sf(0,c[J>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}}c[o>>2]=ig(224+((c[p>>2]|0)+7&-8)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[C>>2]|0)+1+(c[n>>2]|0)+(c[C>>2]|0)+8+2+(c[C>>2]|0)+4+2|0,0)|0;if(!(c[o>>2]|0)){Sf(0,c[J>>2]|0);c[s>>2]=7;K=c[s>>2]|0;i=L;return K|0}c[D>>2]=c[o>>2];q=(c[o>>2]|0)+224|0;c[o>>2]=q;c[(c[D>>2]|0)+212>>2]=q;q=(c[o>>2]|0)+((c[p>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+64>>2]=q;q=(c[o>>2]|0)+((c[(c[t>>2]|0)+4>>2]|0)+7&-8)|0;c[o>>2]=q;c[(c[D>>2]|0)+72>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+68>>2]=q;q=(c[o>>2]|0)+(c[m>>2]|0)|0;c[o>>2]=q;c[(c[D>>2]|0)+176>>2]=q;if(c[J>>2]|0){q=(c[o>>2]|0)+((c[C>>2]|0)+1+(c[n>>2]|0))|0;c[o>>2]=q;c[(c[D>>2]|0)+180>>2]=q;iR(c[(c[D>>2]|0)+176>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;if(c[n>>2]|0)iR((c[(c[D>>2]|0)+176>>2]|0)+((c[C>>2]|0)+1)|0,c[r>>2]|0,c[n>>2]|0)|0;iR(c[(c[D>>2]|0)+180>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;l=(c[(c[D>>2]|0)+180>>2]|0)+(c[C>>2]|0)|0;h=26868;g=l+10|0;do{a[l>>0]=a[h>>0]|0;l=l+1|0;h=h+1|0}while((l|0)<(g|0));c[(c[D>>2]|0)+220>>2]=(c[(c[D>>2]|0)+180>>2]|0)+((c[C>>2]|0)+8+1);iR(c[(c[D>>2]|0)+220>>2]|0,c[J>>2]|0,c[C>>2]|0)|0;C=(c[(c[D>>2]|0)+220>>2]|0)+(c[C>>2]|0)|0;a[C>>0]=a[26878]|0;a[C+1>>0]=a[26879]|0;a[C+2>>0]=a[26880]|0;a[C+3>>0]=a[26881]|0;a[C+4>>0]=a[26882]|0;Sf(0,c[J>>2]|0)}c[c[D>>2]>>2]=c[t>>2];c[(c[D>>2]|0)+152>>2]=c[x>>2];do if((c[v>>2]|0)!=0?(a[c[v>>2]>>0]|0)!=0:0){c[z>>2]=0;c[E>>2]=Vr(c[t>>2]|0,c[(c[D>>2]|0)+176>>2]|0,c[(c[D>>2]|0)+64>>2]|0,c[x>>2]|0,z)|0;c[F>>2]=c[z>>2]&1;if(!(c[E>>2]|0)){c[A>>2]=Sr(c[(c[D>>2]|0)+64>>2]|0)|0;do if((c[F>>2]|0)==0?(Rr(c[D>>2]|0),(c[G>>2]|0)>>>0<(c[(c[D>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[D>>2]|0)+156>>2]|0)>>>0>8192){c[G>>2]=8192;break}else{c[G>>2]=c[(c[D>>2]|0)+156>>2];break}while(0);J=(Hf(c[v>>2]|0,26884,0)|0)&255;a[(c[D>>2]|0)+14>>0]=J;if((c[A>>2]&8192|0)==0?(Hf(c[v>>2]|0,26891,0)|0)==0:0)break;c[x>>2]=c[x>>2]|1;K=39}}else K=39;while(0);if((K|0)==39){c[H>>2]=1;a[(c[D>>2]|0)+17>>0]=1;a[(c[D>>2]|0)+18>>0]=4;a[(c[D>>2]|0)+14>>0]=1;c[F>>2]=c[x>>2]&1}if(!(c[E>>2]|0))c[E>>2]=Qi(c[D>>2]|0,G,-1)|0;if(!(c[E>>2]|0)){c[w>>2]=(c[w>>2]|0)+7&-8;c[E>>2]=kt(c[G>>2]|0,c[w>>2]|0,((c[B>>2]|0)!=0^1)&1,(c[B>>2]|0)!=0^1?186:0,c[D>>2]|0,c[(c[D>>2]|0)+212>>2]|0)|0}if(c[E>>2]|0){hr(c[(c[D>>2]|0)+64>>2]|0)|0;Wi(c[(c[D>>2]|0)+208>>2]|0);Kd(c[D>>2]|0);c[s>>2]=c[E>>2];K=c[s>>2]|0;i=L;return K|0}a[(c[D>>2]|0)+6>>0]=c[I>>2];c[(c[D>>2]|0)+164>>2]=1073741823;a[(c[D>>2]|0)+13>>0]=c[H>>2];a[(c[D>>2]|0)+4>>0]=c[H>>2];a[(c[D>>2]|0)+19>>0]=a[(c[D>>2]|0)+13>>0]|0;a[(c[D>>2]|0)+16>>0]=c[B>>2];a[(c[D>>2]|0)+15>>0]=c[F>>2];a[(c[D>>2]|0)+7>>0]=a[(c[D>>2]|0)+13>>0]|0;if(!(a[(c[D>>2]|0)+7>>0]|0)){a[(c[D>>2]|0)+8>>0]=1;a[(c[D>>2]|0)+9>>0]=0;a[(c[D>>2]|0)+12>>0]=2;a[(c[D>>2]|0)+11>>0]=34;a[(c[D>>2]|0)+10>>0]=2}b[(c[D>>2]|0)+148>>1]=c[w>>2];K=(c[D>>2]|0)+168|0;c[K>>2]=-1;c[K+4>>2]=-1;Rr(c[D>>2]|0);if(c[I>>2]|0){if(c[B>>2]|0)a[(c[D>>2]|0)+5>>0]=4}else a[(c[D>>2]|0)+5>>0]=2;c[(c[D>>2]|0)+204>>2]=c[y>>2];c[c[u>>2]>>2]=c[D>>2];c[s>>2]=0;K=c[s>>2]|0;i=L;return K|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;Xi(c[f>>2]|0);i=e;return}function Xq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;kR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=Wr(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function Yq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=ht((c[(c[d>>2]|0)+4>>2]|0)+448|0)|0;i=b;return a|0}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Js(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function _q(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function $q(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function ar(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Sj();br(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;cr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Ui(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)dr(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;fr(b,er(c[e>>2]|0)|0)|0}gr(c[e>>2]|0)}Tj();hr(c[(c[e>>2]|0)+68>>2]|0)|0;hr(c[(c[e>>2]|0)+64>>2]|0)|0;Wi(c[f>>2]|0);ir(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function br(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function cr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Hs(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Is(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Js(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Ks(c[h>>2]|0,0,0)}}while(0);Ls(c[h>>2]|0,c[n>>2]|0);hr(c[(c[h>>2]|0)+8>>2]|0)|0;if(c[n>>2]|0){Sj();qr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Tj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function dr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;kj(c[(c[e>>2]|0)+60>>2]|0);c[(c[e>>2]|0)+60>>2]=0;lr(c[e>>2]|0);j=(sr(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+64>>2]>>2]|0)b=Sr(c[(c[e>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))hr(c[(c[e>>2]|0)+68>>2]|0)|0;c[g>>2]=wr(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+17>>0]|0)==6:0)a[(c[e>>2]|0)+18>>0]=5;a[(c[e>>2]|0)+19>>0]=0;a[(c[e>>2]|0)+17>>0]=0}}else{Gs(c[b+216>>2]|0);a[(c[e>>2]|0)+17>>0]=0}if(!(c[(c[e>>2]|0)+44>>2]|0)){j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}Ui(c[e>>2]|0);a[(c[e>>2]|0)+19>>0]=a[(c[e>>2]|0)+13>>0]|0;a[(c[e>>2]|0)+17>>0]=0;c[(c[e>>2]|0)+44>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function er(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=or(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Si(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function gr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Sj();jr(c[e>>2]|0)|0;Tj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))kr(c[e>>2]|0,0,0)|0}while(0);dr(c[e>>2]|0);i=f;return}function hr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;d=c[d>>2]|0;i=e;return d|0}function ir(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function jr(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(sr(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Kr(b,2,-1)|0;c[j>>2]=kr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Lr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=kr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=fr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function kr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0)<2?(d[(c[h>>2]|0)+18>>0]|0)<2:0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}lr(c[h>>2]|0);a:do if(c[c[(c[h>>2]|0)+68>>2]>>2]|0){b=(mr(c[(c[h>>2]|0)+68>>2]|0)|0)!=0;f=c[h>>2]|0;if(b){hr(c[f+68>>2]|0)|0;break}e=c[h>>2]|0;if((d[f+5>>0]|0)==3){l=e+80|0;if(!((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)){c[m>>2]=nr(c[(c[h>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=or(c[(c[h>>2]|0)+68>>2]|0,d[(c[h>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}else{do if((d[e+5>>0]|0)!=1){if((d[(c[h>>2]|0)+4>>0]|0)!=0?(d[(c[h>>2]|0)+5>>0]|0)!=5:0)break;c[l>>2]=((a[(c[h>>2]|0)+13>>0]|0)!=0?0:1)&1;hr(c[(c[h>>2]|0)+68>>2]|0)|0;if(!(c[l>>2]|0))break a;c[m>>2]=qr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+180>>2]|0,d[(c[h>>2]|0)+9>>0]|0)|0;break a}while(0);c[m>>2]=pr(c[h>>2]|0,c[j>>2]|0)|0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}}while(0);kj(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;c[(c[h>>2]|0)+48>>2]=0;rr(c[(c[h>>2]|0)+212>>2]|0);aj(c[(c[h>>2]|0)+212>>2]|0,c[(c[h>>2]|0)+28>>2]|0);if(!(sr(c[h>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[h>>2]|0)+36>>2]|0)>>>0>(c[(c[h>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=ur(c[h>>2]|0,c[(c[h>>2]|0)+28>>2]|0)|0}else c[n>>2]=tr(c[(c[h>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0:0){l=vi(c[(c[h>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[h>>2]|0)+4>>0]|0)){if((sr(c[h>>2]|0)|0)!=0?(vr(c[(c[h>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=wr(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+19>>0]=0}while(0);a[(c[h>>2]|0)+17>>0]=1;a[(c[h>>2]|0)+20>>0]=0;c[g>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[g>>2]|0;i=o;return n|0}function lr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;kj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(mr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))hr(c[(c[d>>2]|0)+72>>2]|0)|0;Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function mr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4836|0}function nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function pr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=nr(e,0,0)|0;else c[j>>2]=Fg(e,26703,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=or(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Si(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=nr(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function rr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;bj(c[d>>2]|0)}i=e;return}function sr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function tr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Br(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function ur(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Si(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=rR(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=gR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];kR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=fR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Fg(a,j,n,o,C)|0}}else{o=h;c[k>>2]=nr(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function vr(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){zr(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(yr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function wr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=xr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function yr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Ar(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function zr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Ar(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Ar(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Br(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Ar(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Cr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Fr(c[d>>2]|0,0,0)|0;i=b;return 0}function Dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;n=r+44|0;o=r+8|0;p=r+40|0;m=r+36|0;l=r+32|0;g=r+28|0;q=r+24|0;h=r;j=r+20|0;k=r+16|0;c[t>>2]=a;c[s>>2]=b;c[n>>2]=d;d=o;c[d>>2]=e;c[d+4>>2]=f;c[p>>2]=c[t>>2];c[m>>2]=c[s>>2];c[l>>2]=c[n>>2];d=(c[p>>2]|0)+24|0;a=o;b=o;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=h;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=c[(c[p>>2]|0)+4>>2];while(1){if(!(c[q>>2]|0))break a;s=h;s=gR(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;a=C;t=o;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=h;s=gR(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;t=h;c[t>>2]=s;c[t+4>>2]=C;c[q>>2]=c[c[q>>2]>>2]}}else c[q>>2]=c[(c[p>>2]|0)+24+8>>2];while(0);t=o;t=qR(c[t>>2]|0,c[t+4>>2]|0,1020,0)|0;c[g>>2]=t;while(1){c[j>>2]=1020-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)<(1020-(c[g>>2]|0)|0)?c[l>>2]|0:1020-(c[g>>2]|0)|0;iR(c[m>>2]|0,(c[q>>2]|0)+4+(c[g>>2]|0)|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[g>>2]=0;if((c[l>>2]|0)<0){e=10;break}t=c[c[q>>2]>>2]|0;c[q>>2]=t;if(!((t|0)!=0&(c[l>>2]|0)>0)){e=10;break}}if((e|0)==10){t=o;s=c[n>>2]|0;s=gR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[p>>2]|0)+24|0;c[t>>2]=s;c[t+4>>2]=C;c[(c[p>>2]|0)+24+8>>2]=c[q>>2];i=r;return 0}return 0}function Er(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+64|0;o=p+48|0;s=p+44|0;q=p+40|0;r=p+36|0;k=p+32|0;j=p+28|0;n=p+24|0;l=p+20|0;g=p+16|0;h=p+12|0;m=p+8|0;c[s>>2]=a;c[q>>2]=b;c[r>>2]=d;b=p;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[s>>2];c[j>>2]=c[r>>2];c[n>>2]=c[q>>2];while(1){if((c[j>>2]|0)<=0){e=11;break}c[l>>2]=c[(c[k>>2]|0)+8+8>>2];s=(c[k>>2]|0)+8|0;s=qR(c[s>>2]|0,c[s+4>>2]|0,1020,0)|0;c[g>>2]=s;c[h>>2]=(c[j>>2]|0)<(1020-(c[g>>2]|0)|0)?c[j>>2]|0:1020-(c[g>>2]|0)|0;if(!(c[g>>2]|0)){c[m>>2]=Id(1024)|0;if(!(c[m>>2]|0)){e=5;break}c[c[m>>2]>>2]=0;e=c[m>>2]|0;if(c[l>>2]|0)c[c[l>>2]>>2]=e;else c[(c[k>>2]|0)+4>>2]=e;c[(c[k>>2]|0)+8+8>>2]=c[m>>2]}iR((c[(c[k>>2]|0)+8+8>>2]|0)+4+(c[g>>2]|0)|0,c[n>>2]|0,c[h>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+(c[h>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0);r=c[h>>2]|0;s=(c[k>>2]|0)+8|0;q=s;r=gR(c[q>>2]|0,c[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[s>>2]=r;c[s+4>>2]=C}if((e|0)==5){c[o>>2]=3082;s=c[o>>2]|0;i=p;return s|0}else if((e|0)==11){c[o>>2]=0;s=c[o>>2]|0;i=p;return s|0}return 0}function Fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+20|0;j=h+16|0;f=h+12|0;g=h+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=c[e>>2];c[f>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[c[f>>2]>>2];Kd(c[g>>2]|0)}Ir(c[e>>2]|0);i=h;return 0}function Gr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+8|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Ir(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=c[d>>2]|0;kR(a|0,0,Jr()|0)|0;c[c[d>>2]>>2]=4836;i=b;return}function Jr(){return 40}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;kj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((sr(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=gs(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(mr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=nr(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Lr(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Si(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Mr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Nr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Or(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=fR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=pR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=gR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=fR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=pR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=ur(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Ui(c[m>>2]|0);c[h>>2]=0}c[p>>2]=Pr(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Mr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Hg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=kr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=Qr(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;Rr(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,26731,r);s=c[m>>2]|0;Rr(s);s=c[p>>2]|0;i=t;return s|0}function Mr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Si(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=Xr(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=Xr(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=Wr(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(vQ(k,26758,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=fR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=fR(d|0,C|0,c[m>>2]|0,0)|0,d=Wr(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Nr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Or(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=fs(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=gR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=Wr(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(vQ(n,26758,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=gR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=Xr(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=gR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=Xr(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=gR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=Xr(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=gR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=Xr(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=gR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=Xr(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Qi(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=gR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function Pr(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;o=B+56|0;p=B+52|0;l=B+48|0;q=B+44|0;r=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;m=B+24|0;s=B+20|0;n=B+16|0;t=B+12|0;u=B;x=B+8|0;c[o>>2]=f;c[p>>2]=g;c[l>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[o>>2]|0)+208>>2];j=c[o>>2]|0;if(c[q>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[n>>2]=j;f=c[p>>2]|0;c[A>>2]=Xr(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[n>>2]|0;h=c[s>>2]|0;g=c[(c[o>>2]|0)+160>>2]|0;f=c[p>>2]|0;f=gR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=Wr(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[o>>2]|0)+160>>2]|0)+4+(c[q>>2]<<2)|0;f=c[p>>2]|0;h=f;g=gR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[381]|0)/(c[(c[o>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[o>>2]|0)+28>>2]|0)>>>0?(ij(c[l>>2]|0,c[v>>2]|0)|0)==0:0){if(c[q>>2]|0){f=c[n>>2]|0;n=c[p>>2]|0;n=fR(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[A>>2]=Xr(f,n,C,m)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[r>>2]|0)==0?(n=Yr(c[o>>2]|0,c[s>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[l>>2]|0)!=0?(n=gj(c[l>>2]|0,c[v>>2]|0)|0,c[A>>2]=n,(n|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[o>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[o>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(sr(c[o>>2]|0)|0)c[z>>2]=0;else c[z>>2]=Zr(c[o>>2]|0,c[v>>2]|0)|0;if(c[q>>2]|0){if(d[(c[o>>2]|0)+7>>0]|0)j=1;else{n=c[p>>2]|0;l=c[n+4>>2]|0;j=(c[o>>2]|0)+88|0;m=c[j+4>>2]|0;j=(l|0)<(m|0)|((l|0)==(m|0)?(c[n>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[o>>2]|0)+64>>2]>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)){w=44;break}n=c[(c[o>>2]|0)+160>>2]|0;n=rR((c[v>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=n;c[t+4>>2]=C;c[A>>2]=Fg(c[(c[o>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[o>>2]|0)+36>>2]|0)>>>0)c[(c[o>>2]|0)+36>>2]=c[v>>2];if(c[(c[o>>2]|0)+96>>2]|0){_r(c[(c[o>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[q>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=sg(c[o>>2]|0,c[v>>2]|0,z,1)|0;w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){w=(c[z>>2]|0)+24|0;b[w>>1]=e[w>>1]&-17;$r(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];iR(c[x>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0)|0;Qb[c[(c[o>>2]|0)+204>>2]&255](c[z>>2]|0);do if(c[q>>2]|0){if((c[r>>2]|0)!=0?(u=c[p>>2]|0,s=c[u+4>>2]|0,w=(c[o>>2]|0)+88|0,t=c[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(c[u>>2]|0)>>>0<=(c[w>>2]|0)>>>0:0))):0)break;bj(c[z>>2]|0)}while(0);if((c[v>>2]|0)==1){h=(c[o>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}as(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function Qr(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=ig(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Vr(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Si(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=gR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=gR(t|0,C|0,1,0)|0;c[q>>2]=_f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=gR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=Wr(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Nr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Vr(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Mr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;hr(c[l>>2]|0)|0;if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(yQ(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(If(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}hr(c[m>>2]|0)|0;c[o>>2]=qr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}hr(c[m>>2]|0)|0;Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function Rr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((Sr(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=Tr(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function Sr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function Tr(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Ur(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function Ur(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Vr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Wr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=Wr(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=$q(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function Yr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function Zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=cs(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=ds(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}bs(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function $r(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&33)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;cj(c[d>>2]|0,2);i=f;return}function as(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){dj(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}cj(c[d>>2]|0,3);i=f;return}function bs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((lg(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=ug(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function cs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);b=Ob[c[140>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function ds(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=es(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function es(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[j>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;kR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[f>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[f>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2];b[(c[j>>2]|0)+24>>1]=1;j=ds(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return j|0}function fs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=fR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=pR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=gR(h|0,C|0,1,0)|0;h=rR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function gs(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=fj(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(sr(c[f>>2]|0)|0)!=0:0){c[e>>2]=hs(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(sr(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=Pr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Or(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=gR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=fR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=pR(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=Pr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=rR(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(sr(c[f>>2]|0)|0)c[p>>2]=is(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=Pr(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);kj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function hs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=ps(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=qs(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=os(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function is(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];js(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function js(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;ls(a,ks(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));kR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function ks(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function ls(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=ms(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function ms(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){kR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=ig(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=ns(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function ns(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function os(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=Zr(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((vs(c[f>>2]|0)|0)==1){ws(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=xs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=ys(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);zs(c[f>>2]|0)}while(0);_i(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function ps(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=ts(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=us(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}js(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function qs(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=rs(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function rs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=ss(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=ss(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=ss(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function ts(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function us(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=ks(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function vs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function ws(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)cj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[144>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function xs(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=ks(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=ks(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=ls(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Es(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Fs(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Lj(53690)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function ys(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Ds(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=rR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=Wr(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function zs(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){As(a);f=c[b>>2]|0;Bs(f);i=d;return}else{as(a);f=c[b>>2]|0;Bs(f);i=d;return}}function As(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=rR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Cs(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Bs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Ri(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}gr(c[b>>2]|0);i=d;return}function Cs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Ds(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=rR((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=gR(32,0,f|0,C|0)|0;f=gR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=Wr(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Es(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Fs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Gs(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;tr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}zr(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Is(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Ns(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Os(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Ps(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Cs(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=Qs(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Lj(54390)|0;else c[y>>2]=Rs(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(Ss(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}tr(c[v>>2]|0)|0;Br(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Sj();c[g>>2]=Si(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=nr(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Tj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,26766,j);i=k;return}function Ls(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Ms(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Ns(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Ar(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Ns(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Ps(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=ms(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=ct(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=yr(e,0)|0;c[l>>2]=k;if(k)break;zr(c[g>>2]|0,0);c[l>>2]=264;break}b=Ns(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=ms(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=ct(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=dt(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Br(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=et(53243)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function Qs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Rs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=Qs(c[j>>2]|0)|0;c[y>>2]=Ss(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=Ts(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Os(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Br(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Os(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=or(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=rR(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Si(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Js(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(Us(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=rR((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=gR(32,0,g|0,C|0)|0;g=gR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Wr(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=rR((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Fg(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(ts(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=rR(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=nr(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=or(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Br(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Os(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){Vs(c[j>>2]|0,c[B>>2]|0);c[A>>2]=nr(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Br(c[j>>2]|0,4,4)}}while(0);Ws(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function Ss(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Ts(a,d){a=a|0;d=d|0;var 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;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(ks(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}kR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=ls(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}at(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)Ws(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function Us(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=Ss(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;Xs(b,1+($q(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];Ys(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Ws(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function Xs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function Ys(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=ts(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;Zs(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));_s(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function Zs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function _s(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}$s(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function $s(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function at(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);bt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);bt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function bt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];iR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function ct(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=ts(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));_s(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(vQ(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}Zs(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(vQ((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function dt(e){e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Ns(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Si(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=Wr(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=$q(j)|0;c[A>>2]=$q(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=$q(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,Zs((d[(c[h>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==($q(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==($q(j+28|0)|0)):0){c[D>>2]=$q(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=et(52297)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=gR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=Wr(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=ft(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=gt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=gR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];Ys(c[h>>2]|0);c[w>>2]=Ss(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,26831,B)}}}while(0);Br(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function et(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+8|0;c[e>>2]=a;e=c[e>>2]|0;a=(kf()|0)+20|0;c[d>>2]=e;c[d+4>>2]=a;Rd(14,26792,d);i=b;return 14}function ft(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(vQ((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=$q(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;Zs(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);Zs(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==($q((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==($q((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=$q((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function gt(a,d,e){a=a|0;d=d|0;e=e|0;var 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;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=ls(a,ks(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);kR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)js(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Es(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Fs(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Lj(52166)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function ht(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function it(){return 48}function jt(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(sr(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=lt(a)|0;if(!(c[j>>2]|0))c[j>>2]=mt(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=nt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=ot(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))bj(c[g>>2]|0);c[f>>2]=fr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function kt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=Vi(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function lt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Dt(c[d>>2]|0)|0){c[b>>2]=Et(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function mt(a,b,e,f){a=a|0;b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)qt(c[h>>2]|0);c[o>>2]=wt(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;_r(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function nt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=rt(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=Sr(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[26758]|0;a[n+1>>0]=a[26759]|0;a[n+2>>0]=a[26760]|0;a[n+3>>0]=a[26761]|0;a[n+4>>0]=a[26762]|0;a[n+5>>0]=a[26763]|0;a[n+6>>0]=a[26764]|0;a[n+7>>0]=a[26765]|0;Xs(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=fs(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=Wr(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(vQ(j,26758,8)|0):0){b=l;c[m>>2]=Fg(c[(c[g>>2]|0)+68>>2]|0,26901,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=or(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Fg(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=or(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=st(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);tt(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function ot(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=pt(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=rR(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Js(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&32|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=rR((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)qt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Fg(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;_r(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function pt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Vr(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function qt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=($q((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;Xs((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Xs((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Xs((c[(c[d>>2]|0)+4>>2]|0)+96|0,3011e3);i=b;return}function rt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(sr(c[b>>2]|0)|0):0)c[d>>2]=ut(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function st(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=fs(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((Sr(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[26758]|0;a[n+1>>0]=a[26759]|0;a[n+2>>0]=a[26760]|0;a[n+3>>0]=a[26761]|0;a[n+4>>0]=a[26762]|0;a[n+5>>0]=a[26763]|0;a[n+6>>0]=a[26764]|0;a[n+7>>0]=a[26765]|0;Xs((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);Xs((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);Xs((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);Xs((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);Xs((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);kR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Fg(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=gR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function tt(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function ut(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=vt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function vt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Hs(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function wt(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;H=M+100|0;B=M+96|0;F=M+92|0;G=M+88|0;E=M+84|0;K=M+80|0;D=M+40|0;L=M+16|0;p=M+76|0;o=M+72|0;n=M+136|0;m=M+64|0;s=M+60|0;r=M+56|0;q=M+8|0;t=M+52|0;I=M+48|0;J=M;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[G>>2]=0;c[E>>2]=0;c[p>>2]=0;c[o>>2]=ts(c[v>>2]|0)|0;if(vQ((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=xt(c[v>>2]|0)|0;c[H>>2]=g;if(g){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[B>>2]|0)){Xs(n,931071618|(a[960]|0)==0);Xs(n+4|0,3007e3);Xs(n+8|0,c[w>>2]|0);Xs(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;Zs(1,n,24,0,m);Xs(n+24|0,c[m>>2]|0);Xs(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[960]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[H>>2]=Fg(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[H>>2]|0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[H>>2]=or(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}}c[L>>2]=c[v>>2];c[L+4>>2]=c[(c[v>>2]|0)+8>>2];l=L+8|0;c[l>>2]=0;c[l+4>>2]=0;c[L+16>>2]=c[A>>2];c[L+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=rR((c[B>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=gR(32,0,l|0,C|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;c[K>>2]=(c[w>>2]|0)+24;c[F>>2]=c[x>>2];while(1){if(!(c[F>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[F>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,xs(c[v>>2]|0,c[(c[F>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=rR((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=gR(32,0,l|0,C|0)|0;l=gR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[F>>2]|0)+4>>2];g=q;c[H>>2]=Fg(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=22;break}g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]&-129}else{c[B>>2]=(c[B>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[F>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=D;c[H>>2]=yt(L,c[F>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=27;break}c[G>>2]=c[F>>2];l=c[K>>2]|0;g=D;l=gR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]|128}c[F>>2]=c[(c[F>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==27){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[H>>2]=zt(c[v>>2]|0,c[B>>2]|0)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}a:do if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){if(!(a[(c[v>>2]|0)+49>>0]|0)){c[H>>2]=or(c[L+4>>2]|0,c[A>>2]&19)|0;break}c[I>>2]=Tr(c[(c[v>>2]|0)+8>>2]|0)|0;t=D;A=c[I>>2]|0;A=gR(c[t>>2]|0,c[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=fR(A|0,C|0,1,0)|0;t=c[I>>2]|0;t=pR(A|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;A=c[I>>2]|0;A=rR(t|0,C|0,A|0,((A|0)<0)<<31>>31|0)|0;I=L+8|0;c[I>>2]=A;c[I+4>>2]=C;while(1){A=D;s=c[A+4>>2]|0;I=L+8|0;t=c[I+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(c[A>>2]|0)>>>0<(c[I>>2]|0)>>>0:0)))break a;I=D;c[H>>2]=yt(L,c[G>>2]|0,c[y>>2]|0,c[I>>2]|0,c[I+4>>2]|0)|0;if(c[H>>2]|0)break;A=c[K>>2]|0;I=D;A=gR(c[I>>2]|0,c[I+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;I=D;c[I>>2]=A;c[I+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}while(0);if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(L=(c[v>>2]|0)+16|0,K=c[L+4>>2]|0,(K|0)>0|(K|0)==0&(c[L>>2]|0)>>>0>=0):0){L=(c[v>>2]|0)+16|0;D=c[L+4>>2]|0;K=J;c[K>>2]=c[L>>2];c[K+4>>2]=D;K=(c[w>>2]|0)+24|0;K=rR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=gR(32,0,K|0,C|0)|0;D=C;L=(c[v>>2]|0)+16|0;I=c[L+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(c[L>>2]|0)>>>0:0)){K=(c[w>>2]|0)+24|0;K=rR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=gR(32,0,K|0,C|0)|0;L=J;c[L>>2]=K;c[L+4>>2]=C}L=J;Ks(c[v>>2]|0,c[L>>2]|0,c[L+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];c[F>>2]=c[x>>2];while(1){if(!((c[F>>2]|0)!=0?(c[H>>2]|0)==0:0))break;if(e[(c[F>>2]|0)+24>>1]&128){c[B>>2]=(c[B>>2]|0)+1;c[H>>2]=gt(c[v>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+20>>2]|0)|0}c[F>>2]=c[(c[F>>2]|0)+12>>2]}while(1){if(!((c[H>>2]|0)==0?(c[E>>2]|0)>0:0))break;c[B>>2]=(c[B>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1;c[H>>2]=gt(c[v>>2]|0,c[B>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}if(!(c[H>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[B>>2];if(c[z>>2]|0){L=(c[v>>2]|0)+52+8|0;c[L>>2]=(c[L>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){Ys(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[B>>2]}}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}return 0}function xt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Ss(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Ns(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){Vs(c[e>>2]|0,c[k>>2]|0);Br(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);zr(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=Ct(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function yt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];At(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Bt(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=gR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Bt(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function zt(a,b){a=a|0;b=b|0;var 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;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=rR((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=gR(32,0,b|0,C|0)|0;b=gR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=Wr(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=$q(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=$q((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=rR((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=gR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=Wr(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=$q(c[g>>2]|0)|0;c[n>>2]=$q((c[g>>2]|0)+4|0)|0;At(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Fg(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function At(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;Xs(c[l>>2]|0,c[q>>2]|0);Xs((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;Zs(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);Zs(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);Xs((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);Xs((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Bt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=gR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=fR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Fg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=gR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=or(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Fg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function Ct(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;ri(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Ps(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=yr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){zr(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=Ss(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=yr(c[h>>2]|0,3)|0;_s(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=ts(c[h>>2]|0)|0;u=(vQ(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){zr(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Ns(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Br(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=yr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;_s(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=ts(c[h>>2]|0)|0,(vQ(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}zr(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Dt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(lj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Et(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Ft(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=rR(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Gt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=gR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Fg(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Ht(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Ft(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){e=c[e>>2]|0;i=f;return e|0}if((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0){c[e>>2]=pt(c[b>>2]|0,c[(c[b>>2]|0)+72>>2]|0,8192)|0;e=c[e>>2]|0;i=f;return e|0}Ir(c[(c[b>>2]|0)+72>>2]|0);e=c[e>>2]|0;i=f;return e|0}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;Xs(g,c[k>>2]|0);e=j;e=Fg(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Ht(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=gj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function It(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=vs(c[d>>2]|0)|0;i=b;return a|0}function Kt(f){f=f|0;var 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,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(Lt(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Lj(57320)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Lj(57338)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&268435456){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Lj(57366)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Lj(57371)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Lj(57391)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Lj(57398)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Lj(57412)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function Lt(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Lj(57278)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Mt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Nt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=lR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=lR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Rt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function Ot(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function Pt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((St((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return}function Qt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Rt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function Rt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return} -function tE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(vE(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((Nx(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=Tx(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+480>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=wE(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(fe(c[A>>2]|0)|0)==3:0)c[E>>2]=ae(c[A>>2]|0)|0;xE(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Jv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];xE(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=Wz(c[s>>2]|0)|0;yA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;yE(G,(Bz(c[D>>2]|0)|0)-1|0,0);_z(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;$g(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function uE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;k=n+56|0;h=n+52|0;l=n+48|0;m=n+16|0;g=n+8|0;f=n+4|0;j=n;c[h>>2]=b;c[l>>2]=e;c[m>>2]=c[1570];c[m+4>>2]=c[1571];c[m+8>>2]=c[1572];c[m+12>>2]=c[1573];c[m+16>>2]=c[1574];c[m+20>>2]=c[1575];c[m+24>>2]=c[1576];c[m+28>>2]=c[1577];if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(Td(c[(c[h>>2]|0)+8>>2]|0,c[m+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[m+(b<<3)+4>>0]|0;c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}else if((f|0)==14){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function vE(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){f=c[k>>2]|0;g=c[(c[l>>2]|0)+8>>2]|0;c[o>>2]=gi(f,g,If(c[(c[l>>2]|0)+8>>2]|0)|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function wE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Vh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){gh(c[m>>2]|0,c[l>>2]|0)|0;lx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function xE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function yE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Mz(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function zE(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+18>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+12>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function AE(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+18>>1]|0|(e[(c[k>>2]|0)+18>>1]|0);if(!((e[(c[j>>2]|0)+18>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+18>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(py(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(py(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=ny(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=79;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-79|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=nE(c[n>>2]|0,c[r>>2]|0,3)|0;jE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function BE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=199;c[g+24>>2]=c[l>>2];by(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function CE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+((b[(c[h>>2]|0)+32>>1]|0)*24|0)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Bh(a,31016,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;bA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Bh(a,36074,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;bA(h,k,l,m,-1,2);i=n;return}}function DE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Ex(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(KC(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Ex(d)|0;while(1){if(!(c[j>>2]|0))break a;if(NC(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function EE(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function FE(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Cz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?70:68;if(!(d[A>>0]|0))Eh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(DE(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=HE(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=IE(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+76>>2]|0)+1;g=(c[q>>2]|0)+76|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Rw(c[I>>2]|0,30,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;tA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=Bz(c[I>>2]|0)|0;BC(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(Bz(c[I>>2]|0)|0))Eh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;GC(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;JE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;BC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Gz(I,J);i=K;return}a[H>>0]=0;GE(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);Rw(c[I>>2]|0,95,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;if(a[y>>0]|0)Ih(c[I>>2]|0,-1,c[c[r>>2]>>2]|0,0);if(d[A>>0]|0)Fh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)xz(c[I>>2]|0,95,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Fh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;JE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;BC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Gz(I,J);i=K;return}function GE(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Ej(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=Xz(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;Vw(c[w>>2]|0,111,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;Yz(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function HE(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(MF(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=ME(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function IE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Ex(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;cC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function JE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Ex(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(NC(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=KE(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)LE(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function KE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(cC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1578];c[J+4>>2]=c[1579];c[I>>2]=c[1580];c[I+4>>2]=c[1581];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Cy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+((h<<16>>16)*24|0)>>2]|0);Cy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=cz(c[q>>2]|0,27,J,0)|0;f=rv(g,122,f,cz(c[q>>2]|0,27,K,0)|0,0)|0;c[w>>2]=rv(e,79,f,cz(c[q>>2]|0,27,H,0)|0,0)|0;c[F>>2]=az(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=cz(c[q>>2]|0,27,J,0)|0;g=rv(e,122,g,cz(c[q>>2]|0,27,K,0)|0,0)|0;e=c[k>>2]|0;f=cz(c[q>>2]|0,27,I,0)|0;c[w>>2]=rv(h,73,g,rv(e,122,f,cz(c[q>>2]|0,27,K,0)|0,0)|0,0)|0;c[E>>2]=az(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=rv(c[k>>2]|0,101,0,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+((c[t>>2]|0)*24|0)+4>>2];if(c[v>>2]|0){c[z>>2]=ny(c[q>>2]|0,c[v>>2]|0,0)|0;break}else{c[z>>2]=rv(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=cz(c[q>>2]|0,27,I,0)|0;c[z>>2]=rv(e,122,f,cz(c[q>>2]|0,27,K,0)|0,0)|0}while(0);c[y>>2]=Gv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Hv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Sf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=If(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Jv(c[q>>2]|0,57,36044)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Gv(c[k>>2]|0,0,c[A>>2]|0)|0;K=Nv(c[q>>2]|0,0,G,0)|0;c[B>>2]=Fv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+248|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=ph(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,iR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=ny(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=vy(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=Hx(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=rv(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=ny(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+248|0;c[L>>2]=(c[L>>2]|0)+-1;Zu(c[q>>2]|0,c[F>>2]|0);Zu(c[q>>2]|0,c[E>>2]|0);Vu(c[q>>2]|0,c[y>>2]|0);Wu(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+65>>0]|0|0)==1){LF(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=38;else a[c[C>>2]>>0]=109;break}default:M=38}if((M|0)==38)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function LE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=Pw(c[j>>2]|0)|0;c[n>>2]=ME(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+76|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;Uw(e,132,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Fh(c[o>>2]|0,c[m>>2]&255);i=p;return}function ME(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+532>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=NE(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function NE(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+416>>2]|0)g=c[g+416>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=ph(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+532>>2];c[(c[s>>2]|0)+532>>2]=c[p>>2];e=ph(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}OE(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=ph(c[n>>2]|0,544,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+420>>2]=c[l>>2];c[(c[r>>2]|0)+416>>2]=c[s>>2];c[(c[r>>2]|0)+496>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+440>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+428>>2]=c[(c[j>>2]|0)+428>>2];c[v>>2]=Pw(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Ih(e,-1,Bh(l,35740,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=ny(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(fy(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+65>>0]|0|0)==0:0){c[o>>2]=Cz(c[v>>2]|0)|0;LA(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}Zu(c[n>>2]|0,c[t>>2]|0)}PE(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Gz(c[v>>2]|0,c[o>>2]|0);Yw(c[v>>2]|0,21)|0;QE(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+65>>0]|0)){w=RE(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+400|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+76>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+84>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+432>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+436>>2];Tu(c[v>>2]|0)}Lh(c[r>>2]|0);Sf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function OE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function PE(b,e,f){b=b|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;o=i;i=i+48|0;g=o+44|0;p=o+40|0;h=o+36|0;l=o+32|0;n=o+28|0;j=o+24|0;m=o+4|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+441>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=KF(c[g>>2]|0,c[l>>2]|0)|0;p=vy(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;Tv(b,e,p,ny(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 108:{b=c[g>>2]|0;e=KF(c[g>>2]|0,c[l>>2]|0)|0;p=Hx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;Uv(b,e,p,nz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 109:{p=c[g>>2]|0;Rv(p,KF(c[g>>2]|0,c[l>>2]|0)|0,ny(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=Hx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;ZA(m,4,0);Cv(c[g>>2]|0,c[k>>2]|0,m)|0;Wu(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)Yw(c[n>>2]|0,98)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+68>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+68>>2]=c[(c[e>>2]|0)+68>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Sf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function RE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];SE(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function SE(e,f){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,r=0;r=i;i=i+48|0;g=r+28|0;h=r+24|0;k=r+20|0;m=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;n=r+32|0;l=r;c[g>>2]=e;c[h>>2]=f;c[m>>2]=c[c[h>>2]>>2];c[p>>2]=c[(c[g>>2]|0)+24>>2];c[j>>2]=c[(c[p>>2]|0)+120>>2];f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-65|64;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129;c[o>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[n>>0]=a[c[o>>2]>>0]|0;switch(d[n>>0]|0|0){case 2:{if(c[(c[o>>2]|0)+8>>2]|0){q=(c[g>>2]|0)+88|0;b[q>>1]=b[q>>1]&-65;q=6}else q=6;break}case 0:case 1:{q=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-65;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129|128;break}case 12:{if((c[(c[o>>2]|0)+8>>2]|0)>(c[m>>2]|0))c[m>>2]=c[(c[o>>2]|0)+8>>2];break}case 11:{c[l>>2]=c[(c[o>>2]|0)+-20+4>>2];if((c[l>>2]|0)>(c[m>>2]|0))c[m>>2]=c[l>>2];break}case 3:case 5:case 7:{c[(c[o>>2]|0)+16>>2]=200;a[(c[o>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[o>>2]|0)+16>>2]=201;a[(c[o>>2]|0)+1>>0]=-19;break}default:{}}if((q|0)==6){q=0;f=(c[g>>2]|0)+88|0;b[f>>1]=b[f>>1]&-129|128}a[(c[o>>2]|0)+2>>0]=a[35754+(d[n>>0]|0)>>0]|0;if(((d[(c[o>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[o>>2]|0)+8>>2]|0)<0:0)c[(c[o>>2]|0)+8>>2]=c[(c[j>>2]|0)+(-1-(c[(c[o>>2]|0)+8>>2]|0)<<2)>>2];c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+20}Sf(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+120>>2]|0);c[(c[p>>2]|0)+120>>2]=0;c[(c[p>>2]|0)+116>>2]=0;c[c[h>>2]>>2]=c[m>>2];i=r;return}function TE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=IF(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=IF(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=JF(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function UE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=VE(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function VE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=WE(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}ZE(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=UE(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=XE(o,$q((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=YE(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function WE(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=bF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function XE(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Lj(60332)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=_E(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function YE(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=$q((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=XE(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function ZE(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;sB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function _E(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=($E(c[l>>2]|0)|0)>>>0){c[r>>2]=sg(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=It(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(aF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Kt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){qB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Lj(57580)|0;qB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Lj(57558)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function $E(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function aF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=It(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=tg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function bF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=cF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}dF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Sf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Lj(56338)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=eF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Sf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function cF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=yh(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function dF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(tF(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(tF(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;v=vF((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function eF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+66>>0]|0)==1?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0)?(d[(c[n>>2]|0)+69>>0]|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=fF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=gF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);St(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=_f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=hF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=$q((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=$q((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=XE(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Lj(60709)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Lj(60782)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function fF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function gF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){pB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;sB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=_E(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=$q((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=XE(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Lj(60470)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Lj(60459)|0;n=c[g>>2]|0;i=m;return n|0}function hF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];iF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0>((c[(c[A>>2]|0)+56>>2]|0)+(c[(c[y>>2]|0)+36>>2]|0)|0)>>>0){c[k>>2]=Lj(60043)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=jF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=$q((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=bg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){kR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=kF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=sg(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=tg(c[z>>2]|0)|0;c[w>>2]=$q(c[t>>2]|0)|0;c[B>>2]=jF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;vg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Lj(60200)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function iF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;oF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function jF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Dg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){iR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else iR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function kF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=lF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[381]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=($E(c[h>>2]|0)|0)>>>0?(c[r>>2]=mF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=nF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=$q(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{qB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function lF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function mF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=lF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=sg(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=tg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){vg(c[o>>2]|0);c[h>>2]=Lj(56557)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=$q((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}vg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Lj(56565)|0;s=c[h>>2]|0;i=r;return s|0}function nF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=sg(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=aF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function oF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function pF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+4>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=gR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,rR(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=rF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=rF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=sF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function qF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else tF(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Lj(71970)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=vQ((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=sF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function rF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=sF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function sF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(tF(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(uF(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(tF(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Lj(71688)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){vF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(wF(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=xF(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}vF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=wF(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(!(e[(c[w>>2]|0)+8>>1]&2)){k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else tF(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=vQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else tF(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=yF(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=vQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(!(c[E>>2]|0))c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0)}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=67;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=uF(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=zF(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=73;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=73;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=73;break}}if((k|0)==43){H=(Lj(71763)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Lj(71792)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==67){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==73){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function tF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=St(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function uF(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35916+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function vF(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=gR(f|0,0,rR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=GF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[15534+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function wF(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function xF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=gR(b|0,0,rR(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function yF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}AF(n,c[(c[j>>2]|0)+32>>2]|0,1);AF(o,c[(c[j>>2]|0)+32>>2]|0,1);BF(n,c[j>>2]|0,4096);BF(o,c[k>>2]|0,4096);c[s>>2]=Wg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Wg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Ug(n);Ug(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function zF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=hR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function AF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function BF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){CF(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function CF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;DF(c[h>>2]|0);BF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function DF(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)EF(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){FF(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function EF(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Sf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function FF(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Sf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function GF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=gR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(HF(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function HF(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function IF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=WE(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=JF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=XE(o,$q((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=JF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}ZE(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=TE(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function JF(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=$q((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=XE(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function KF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Nv(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=nh(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Dh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;i=h;return j|0}j=nh(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;i=h;return j|0}function LF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];Zu(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Vu(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Wu(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);Zu(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=g;return}function MF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((Yy(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function NF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function OF(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(py(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(py(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function PF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+496>>2];c[(c[f>>2]|0)+496>>2]=c[g>>2];i=e;return}function QF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Dh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=ny(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Nv(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=nh(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=nh(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Fv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,-32768,0,0)|0;ZA(l,12,c[j>>2]|0);Cv(c[f>>2]|0,c[o>>2]|0,l)|0;Wu(c[k>>2]|0,c[o>>2]|0);i=p;return}function RF(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Ax(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+72|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=Rw(c[E>>2]|0,57,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+76|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+76|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=RC(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}Rw(c[E>>2]|0,103,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)xA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else Rw(c[E>>2]|0,103,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)xA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else Vw(c[E>>2]|0,153,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=SF(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){pA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+416>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{Vw(m,49,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;Rw(c[E>>2]|0,74,c[w>>2]|0,c[D>>2]|0)|0;Vw(c[E>>2]|0,75,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){SC(c[A>>2]|0);c[u>>2]=xz(c[E>>2]|0,108,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;Vw(c[E>>2]|0,47,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);EC(c[r>>2]|0,c[s>>2]|0);Uw(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Fh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Bx(c[r>>2]|0);if(!(c[v>>2]|0)){Rw(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Fz(c[E>>2]|0,c[u>>2]|0);Rw(c[E>>2]|0,61,c[w>>2]|0,0)|0;i=F;return}else{SC(c[A>>2]|0);i=F;return}}function SF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+38>>0]|0|0}function TF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+496>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function UF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Ew(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=(((($t(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);kR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function VF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Ah(c[g>>2]|0,36847,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function WF(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+496>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+60>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+32>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+36>>2]|0)!=0?(c[(c[(c[v>>2]|0)+36>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((iz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((iz(c[(c[v>>2]|0)+48>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+32>>2];if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[v>>2]|0)+60>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+64>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((e[(c[v>>2]|0)+6>>1]&128|0)!=0?(c[(c[K>>2]|0)+60>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(e[(c[v>>2]|0)+6>>1]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+48>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(c[(c[v>>2]|0)+36>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+60>>2]|0)!=0?(e[(c[v>>2]|0)+6>>1]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(e[(c[K>>2]|0)+6>>1]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((e[(c[v>>2]|0)+6>>1]&8192|0)!=0?(c[(c[K>>2]|0)+52>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+52>>2]|0){if(c[(c[K>>2]|0)+48>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(e[(c[v>>2]|0)+6>>1]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(e[(c[L>>2]|0)+6>>1]&9){t=62;break}if((c[(c[L>>2]|0)+52>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+32>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+52>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+48>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+48>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+48>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+496>>2]=c[(c[N>>2]|0)+8>>2];Mw(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+496>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+48>>2];c[o>>2]=c[(c[v>>2]|0)+60>>2];c[q>>2]=c[(c[v>>2]|0)+64>>2];c[s>>2]=c[(c[v>>2]|0)+52>>2];c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[(c[v>>2]|0)+52>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[(c[v>>2]|0)+64>>2]=0;c[p>>2]=Hx(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+64>>2]=c[q>>2];c[(c[v>>2]|0)+60>>2]=c[o>>2];c[(c[v>>2]|0)+48>>2]=c[r>>2];c[(c[v>>2]|0)+32>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+52>>2]=l;else{c[(c[p>>2]|0)+52>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+56>>2]=c[p>>2];c[(c[p>>2]|0)+56>>2]=c[v>>2];c[(c[v>>2]|0)+52>>2]=c[p>>2]}if(a[(c[B>>2]|0)+65>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+52>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Sf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Sf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Sf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+416>>2]|0)l=c[l+416>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+528>>2];c[(c[x>>2]|0)+528>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+32>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+32>>2];if(!(c[J>>2]|0)){x=Nv(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+32>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=UF(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+32>>2]=x,(a[(c[B>>2]|0)+65>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;_u(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=nh(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Jw(c[P>>2]|0)|0;c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+48>>2]|0){c[H>>2]=c[(c[K>>2]|0)+48>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+48>>2]=c[H>>2];c[(c[K>>2]|0)+48>>2]=0}c[O>>2]=ny(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+44>>2]=c[(c[I>>2]|0)+36>>2];c[(c[I>>2]|0)+36>>2]=c[O>>2];w=c[B>>2]|0;x=c[(c[I>>2]|0)+44>>2]|0;x=az(w,x,ny(c[B>>2]|0,c[(c[K>>2]|0)+44>>2]|0,0)|0)|0;c[(c[I>>2]|0)+44>>2]=x;x=vy(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0;c[(c[I>>2]|0)+40>>2]=x}else{x=az(c[B>>2]|0,c[(c[I>>2]|0)+36>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+36>>2]=x}EG(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+6|0;b[x>>1]=e[x>>1]|e[(c[K>>2]|0)+6>>1]&1;if(c[(c[K>>2]|0)+60>>2]|0){c[(c[I>>2]|0)+60>>2]=c[(c[K>>2]|0)+60>>2];c[(c[K>>2]|0)+60>>2]=0}c[I>>2]=c[(c[I>>2]|0)+52>>2];c[K>>2]=c[(c[K>>2]|0)+52>>2]}Wu(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function XF(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=i;i=i+240|0;$=aa+8|0;j=aa;k=aa+220|0;l=aa+216|0;m=aa+212|0;n=aa+208|0;V=aa+204|0;S=aa+200|0;_=aa+196|0;u=aa+176|0;J=aa+172|0;t=aa+168|0;D=aa+164|0;E=aa+160|0;o=aa+156|0;H=aa+152|0;Y=aa+148|0;I=aa+224|0;T=aa+144|0;N=aa+140|0;Q=aa+136|0;p=aa+132|0;Z=aa+112|0;y=aa+108|0;w=aa+104|0;A=aa+100|0;K=aa+96|0;W=aa+92|0;X=aa+88|0;z=aa+84|0;x=aa+80|0;B=aa+76|0;O=aa+72|0;R=aa+68|0;q=aa+64|0;F=aa+44|0;U=aa+40|0;L=aa+36|0;v=aa+32|0;M=aa+28|0;P=aa+24|0;s=aa+20|0;G=aa+16|0;r=aa+12|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[V>>2]=0;c[J>>2]=0;c[D>>2]=0;c[E>>2]=0;c[t>>2]=c[c[l>>2]>>2];c[S>>2]=c[(c[m>>2]|0)+52>>2];f=c[n>>2]|0;c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];a:do if(!(c[(c[S>>2]|0)+48>>2]|0)){g=c[l>>2]|0;if(c[(c[S>>2]|0)+60>>2]|0){c[$>>2]=xy(d[(c[m>>2]|0)+4>>0]|0)|0;Ah(g,36704,$);c[V>>2]=1;break}c[_>>2]=Pw(g)|0;if((d[u>>0]|0|0)==12){Rw(c[_>>2]|0,57,c[u+4>>2]|0,c[c[c[m>>2]>>2]>>2]|0)|0;Fh(c[_>>2]|0,8);a[u>>0]=14}if((e[(c[m>>2]|0)+6>>1]|0)&512){c[V>>2]=GG(c[l>>2]|0,c[m>>2]|0,u)|0;break}b:do if((e[(c[m>>2]|0)+6>>1]|0)&8192)HG(c[l>>2]|0,c[m>>2]|0,u);else{if(c[(c[m>>2]|0)+48>>2]|0){c[k>>2]=IG(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;$=c[k>>2]|0;i=aa;return $|0}switch(d[(c[m>>2]|0)+4>>0]|0|0){case 116:{c[o>>2]=0;c[(c[S>>2]|0)+8>>2]=c[(c[m>>2]|0)+8>>2];c[(c[S>>2]|0)+12>>2]=c[(c[m>>2]|0)+12>>2];c[(c[S>>2]|0)+60>>2]=c[(c[m>>2]|0)+60>>2];c[(c[S>>2]|0)+64>>2]=c[(c[m>>2]|0)+64>>2];c[D>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[S>>2]|0,u)|0;c[(c[m>>2]|0)+60>>2]=0;c[(c[m>>2]|0)+64>>2]=0;if(c[V>>2]|0)break a;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+8>>2]=c[(c[S>>2]|0)+8>>2];c[(c[m>>2]|0)+12>>2]=c[(c[S>>2]|0)+12>>2];if((c[(c[m>>2]|0)+8>>2]|0)!=0?(c[o>>2]=xz(c[_>>2]|0,46,c[(c[m>>2]|0)+8>>2]|0)|0,(c[(c[m>>2]|0)+12>>2]|0)!=0):0)Vw(c[_>>2]|0,139,c[(c[m>>2]|0)+8>>2]|0,(c[(c[m>>2]|0)+12>>2]|0)+1|0,c[(c[m>>2]|0)+12>>2]|0)|0;c[E>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[m>>2]|0,u)|0;c[J>>2]=c[(c[m>>2]|0)+52>>2];c[(c[m>>2]|0)+52>>2]=c[S>>2];Z=(c[S>>2]|0)+24|0;$=(c[m>>2]|0)+24|0;Y=$;c[$>>2]=gR(c[Y>>2]|0,c[Y+4>>2]|0,c[Z>>2]|0,c[Z+4>>2]|0)|0;c[$+4>>2]=C;if(((c[(c[S>>2]|0)+60>>2]|0)!=0?($=(ky(c[(c[S>>2]|0)+60>>2]|0,H)|0)!=0,$&(c[H>>2]|0)>0):0)?(Z=(c[m>>2]|0)+24|0,X=c[Z+4>>2]|0,$=c[H>>2]|0,Y=(($|0)<0)<<31>>31,X>>>0>Y>>>0|((X|0)==(Y|0)?(c[Z>>2]|0)>>>0>$>>>0:0)):0){Z=c[H>>2]|0;$=(c[m>>2]|0)+24|0;c[$>>2]=Z;c[$+4>>2]=((Z|0)<0)<<31>>31}if(!(c[o>>2]|0))break b;Fz(c[_>>2]|0,c[o>>2]|0);break b}case 115:case 117:{a[I>>0]=0;c[T>>2]=1;if((d[u>>0]|0|0)==(c[T>>2]|0))c[Y>>2]=c[u+4>>2];else{X=(c[l>>2]|0)+72|0;$=c[X>>2]|0;c[X>>2]=$+1;c[Y>>2]=$;c[p>>2]=Rw(c[_>>2]|0,57,c[Y>>2]|0,0)|0;c[(c[m>>2]|0)+16>>2]=c[p>>2];$=(Sy(c[m>>2]|0)|0)+6|0;b[$>>1]=e[$>>1]|0|16}ZA(Z,c[T>>2]|0,c[Y>>2]|0);c[D>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[S>>2]|0,Z)|0;if(c[V>>2]|0)break a;if((d[(c[m>>2]|0)+4>>0]|0|0)==117)a[I>>0]=2;else a[I>>0]=1;c[(c[m>>2]|0)+52>>2]=0;c[N>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=0;c[Q>>2]=c[(c[m>>2]|0)+64>>2];c[(c[m>>2]|0)+64>>2]=0;a[Z>>0]=a[I>>0]|0;c[E>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[m>>2]|0,Z)|0;Vu(c[t>>2]|0,c[(c[m>>2]|0)+48>>2]|0);c[J>>2]=c[(c[m>>2]|0)+52>>2];c[(c[m>>2]|0)+52>>2]=c[S>>2];c[(c[m>>2]|0)+48>>2]=0;if((d[(c[m>>2]|0)+4>>0]|0|0)==115){Z=(c[S>>2]|0)+24|0;$=(c[m>>2]|0)+24|0;X=$;Z=gR(c[X>>2]|0,c[X+4>>2]|0,c[Z>>2]|0,c[Z+4>>2]|0)|0;c[$>>2]=Z;c[$+4>>2]=C}Zu(c[t>>2]|0,c[(c[m>>2]|0)+60>>2]|0);c[(c[m>>2]|0)+60>>2]=c[N>>2];c[(c[m>>2]|0)+64>>2]=c[Q>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;if((d[u>>0]|0|0)==(c[T>>2]|0))break b;if((d[u>>0]|0|0)==9){c[K>>2]=c[m>>2];while(1){if(!(c[(c[K>>2]|0)+52>>2]|0))break;c[K>>2]=c[(c[K>>2]|0)+52>>2]}uG(c[l>>2]|0,c[(c[K>>2]|0)+32>>2]|0,c[c[K>>2]>>2]|0)}c[w>>2]=Cz(c[_>>2]|0)|0;c[y>>2]=Cz(c[_>>2]|0)|0;aG(c[l>>2]|0,c[m>>2]|0,c[w>>2]|0);Rw(c[_>>2]|0,108,c[Y>>2]|0,c[w>>2]|0)|0;c[A>>2]=Bz(c[_>>2]|0)|0;hG(c[l>>2]|0,c[m>>2]|0,c[c[m>>2]>>2]|0,c[Y>>2]|0,0,0,u,c[y>>2]|0,c[w>>2]|0);Gz(c[_>>2]|0,c[y>>2]|0);Rw(c[_>>2]|0,7,c[Y>>2]|0,c[A>>2]|0)|0;Gz(c[_>>2]|0,c[w>>2]|0);Rw(c[_>>2]|0,61,c[Y>>2]|0,0)|0;break b}default:{$=(c[l>>2]|0)+72|0;Z=c[$>>2]|0;c[$>>2]=Z+1;c[W>>2]=Z;Z=(c[l>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[X>>2]=$;c[q>>2]=Rw(c[_>>2]|0,57,c[W>>2]|0,0)|0;c[(c[m>>2]|0)+16>>2]=c[q>>2];$=(Sy(c[m>>2]|0)|0)+6|0;b[$>>1]=e[$>>1]|0|16;ZA(F,1,c[W>>2]|0);c[D>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[S>>2]|0,F)|0;if(c[V>>2]|0)break a;c[q>>2]=Rw(c[_>>2]|0,57,c[X>>2]|0,0)|0;c[(c[m>>2]|0)+16+4>>2]=c[q>>2];c[(c[m>>2]|0)+52>>2]=0;c[O>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=0;c[R>>2]=c[(c[m>>2]|0)+64>>2];c[(c[m>>2]|0)+64>>2]=0;c[F+4>>2]=c[X>>2];c[E>>2]=c[(c[l>>2]|0)+472>>2];c[V>>2]=Cv(c[l>>2]|0,c[m>>2]|0,F)|0;c[J>>2]=c[(c[m>>2]|0)+52>>2];c[(c[m>>2]|0)+52>>2]=c[S>>2];Z=(c[m>>2]|0)+24|0;T=c[Z+4>>2]|0;$=(c[S>>2]|0)+24|0;Y=c[$+4>>2]|0;if(T>>>0>Y>>>0|((T|0)==(Y|0)?(c[Z>>2]|0)>>>0>(c[$>>2]|0)>>>0:0)){Y=(c[S>>2]|0)+24|0;Z=c[Y+4>>2]|0;$=(c[m>>2]|0)+24|0;c[$>>2]=c[Y>>2];c[$+4>>2]=Z}Zu(c[t>>2]|0,c[(c[m>>2]|0)+60>>2]|0);c[(c[m>>2]|0)+60>>2]=c[O>>2];c[(c[m>>2]|0)+64>>2]=c[R>>2];if((d[u>>0]|0|0)==9){c[L>>2]=c[m>>2];while(1){if(!(c[(c[L>>2]|0)+52>>2]|0))break;c[L>>2]=c[(c[L>>2]|0)+52>>2]}uG(c[l>>2]|0,c[(c[L>>2]|0)+32>>2]|0,c[c[L>>2]>>2]|0)}c[x>>2]=Cz(c[_>>2]|0)|0;c[z>>2]=Cz(c[_>>2]|0)|0;aG(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0);Rw(c[_>>2]|0,108,c[W>>2]|0,c[x>>2]|0)|0;c[U>>2]=Wz(c[l>>2]|0)|0;c[B>>2]=Rw(c[_>>2]|0,101,c[W>>2]|0,c[U>>2]|0)|0;Eh(c[_>>2]|0,68,c[X>>2]|0,c[z>>2]|0,c[U>>2]|0,0)|0;_z(c[l>>2]|0,c[U>>2]|0);hG(c[l>>2]|0,c[m>>2]|0,c[c[m>>2]>>2]|0,c[W>>2]|0,0,0,u,c[z>>2]|0,c[x>>2]|0);Gz(c[_>>2]|0,c[z>>2]|0);Rw(c[_>>2]|0,7,c[W>>2]|0,c[B>>2]|0)|0;Gz(c[_>>2]|0,c[x>>2]|0);Rw(c[_>>2]|0,61,c[X>>2]|0,0)|0;Rw(c[_>>2]|0,61,c[W>>2]|0,0)|0;break b}}}while(0);JG(c[l>>2]|0,d[(c[m>>2]|0)+4>>0]|0,c[D>>2]|0,c[E>>2]|0,(d[(c[m>>2]|0)+4>>0]|0|0)!=116&1);if((e[(c[m>>2]|0)+6>>1]|0)&16){c[G>>2]=c[c[c[m>>2]>>2]>>2];c[M>>2]=Qz(c[t>>2]|0,c[G>>2]|0,1)|0;if(!(c[M>>2]|0)){c[V>>2]=7;break}c[v>>2]=0;c[s>>2]=(c[M>>2]|0)+20;while(1){if((c[v>>2]|0)>=(c[G>>2]|0))break;$=KG(c[l>>2]|0,c[m>>2]|0,c[v>>2]|0)|0;c[c[s>>2]>>2]=$;if(!(c[c[s>>2]>>2]|0))c[c[s>>2]>>2]=c[(c[t>>2]|0)+8>>2];c[v>>2]=(c[v>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+4}c[P>>2]=c[m>>2];while(1){if(!(c[P>>2]|0))break;c[v>>2]=0;while(1){if((c[v>>2]|0)>=2)break;c[r>>2]=c[(c[P>>2]|0)+16+(c[v>>2]<<2)>>2];if((c[r>>2]|0)<0)break;Lz(c[_>>2]|0,c[r>>2]|0,c[G>>2]|0);Z=c[_>>2]|0;$=c[r>>2]|0;Ih(Z,$,Vz(c[M>>2]|0)|0,-6);c[(c[P>>2]|0)+16+(c[v>>2]<<2)>>2]=-1;c[v>>2]=(c[v>>2]|0)+1}c[P>>2]=c[(c[P>>2]|0)+52>>2]}Rz(c[M>>2]|0)}}else{$=c[l>>2]|0;c[j>>2]=xy(d[(c[m>>2]|0)+4>>0]|0)|0;Ah($,36656,j);c[V>>2]=1}while(0);c[(c[n>>2]|0)+8>>2]=c[u+8>>2];c[(c[n>>2]|0)+12>>2]=c[u+12>>2];Wu(c[t>>2]|0,c[J>>2]|0);c[k>>2]=c[V>>2];$=c[k>>2]|0;i=aa;return $|0}function YF(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;gz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function ZF(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=a;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;if(!(c[l>>2]|0)){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}if((e[(c[k>>2]|0)+6>>1]|0)&8200){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}if(c[(c[k>>2]|0)+60>>2]|0){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}while(1){if((d[c[l>>2]>>0]|0|0)!=72)break;f=ZF(c[j>>2]|0,c[k>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+f;c[l>>2]=c[(c[l>>2]|0)+12>>2]}if(c[(c[l>>2]|0)+4>>2]&1){c[h>>2]=0;f=c[h>>2]|0;i=p;return f|0}a:do if(ED(c[l>>2]|0,c[m>>2]|0)|0){c[n>>2]=(c[n>>2]|0)+1;while(1){if(!(c[k>>2]|0))break a;c[o>>2]=ny(c[j>>2]|0,c[l>>2]|0,0)|0;c[o>>2]=DG(c[j>>2]|0,c[o>>2]|0,c[m>>2]|0,c[c[k>>2]>>2]|0)|0;f=az(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=f;c[k>>2]=c[(c[k>>2]|0)+52>>2]}}while(0);c[h>>2]=c[n>>2];f=c[h>>2]|0;i=p;return f|0}function _F(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+60>>2]=0;i=d;return}function $F(b,d,e,f){b=b|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,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Qz(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=Ox(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function aG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;h=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=0;c[h>>2]=0;if(c[(c[f>>2]|0)+8>>2]|0){i=m;return}fC(c[e>>2]|0);if(!(c[(c[f>>2]|0)+60>>2]|0)){i=m;return}b=(c[e>>2]|0)+76|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[h>>2]=a;c[(c[f>>2]|0)+8>>2]=a;c[l>>2]=Pw(c[e>>2]|0)|0;do if(ky(c[(c[f>>2]|0)+60>>2]|0,k)|0){Rw(c[l>>2]|0,22,c[k>>2]|0,c[h>>2]|0)|0;if(!(c[k>>2]|0)){Ez(c[l>>2]|0,c[g>>2]|0)|0;break}if((c[k>>2]|0)>=0?(b=(c[f>>2]|0)+24|0,g=c[b+4>>2]|0,a=c[k>>2]|0,d=((a|0)<0)<<31>>31,g>>>0>d>>>0|((g|0)==(d|0)?(c[b>>2]|0)>>>0>a>>>0:0)):0){b=c[k>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=b;c[a+4>>2]=((b|0)<0)<<31>>31}}else{xA(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0,c[h>>2]|0);xz(c[l>>2]|0,38,c[h>>2]|0)|0;Rw(c[l>>2]|0,46,c[h>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[(c[f>>2]|0)+64>>2]|0)){i=m;return}b=(c[e>>2]|0)+76|0;a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[j>>2]=a;c[(c[f>>2]|0)+12>>2]=a;a=(c[e>>2]|0)+76|0;c[a>>2]=(c[a>>2]|0)+1;xA(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0,c[j>>2]|0);xz(c[l>>2]|0,38,c[j>>2]|0)|0;Vw(c[l>>2]|0,139,c[h>>2]|0,(c[j>>2]|0)+1|0,c[j>>2]|0)|0;i=m;return}function bG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(Mz(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function cG(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=aC(b[(c[e>>2]|0)+32>>1]|0)|0;i=d;return a|0}function dG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+40>>0]|0|0}function eG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+36>>0]|0}function fG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function gG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function hG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[M>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[M>>2]>>0];c[O>>2]=c[(c[M>>2]|0)+4>>2];c[N>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))wG(c[U>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[u>>2]|0);c[F>>2]=c[c[t>>2]>>2];if(c[(c[M>>2]|0)+8>>2]|0){if(((c[(c[M>>2]|0)+8>>2]|0)+(c[F>>2]|0)|0)>(c[(c[P>>2]|0)+76>>2]|0)){h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}}else{if(c[R>>2]|0){c[N>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[N>>2]=(c[N>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[M>>2]|0)+8>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}c[(c[M>>2]|0)+12>>2]=c[F>>2];c[T>>2]=c[(c[M>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;GA(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break a;Vw(c[U>>2]|0,47,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;r=(c[P>>2]|0)+76|0;c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);pA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Mz(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=25;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(Bz(c[U>>2]|0)|0)+(c[F>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=Ox(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[F>>2]|0)-1|0))Vw(n,78,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else Vw(n,79,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Ih(c[U>>2]|0,-1,c[x>>2]|0,-4);Fh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}Vw(c[U>>2]|0,30,c[T>>2]|0,c[A>>2]|0,(c[F>>2]|0)-1|0)|0;break}case 1:{pA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:xG(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[F>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))wG(c[U>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=Wz(c[P>>2]|0)|0;Vw(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[y>>2]|0)|0;Rw(c[U>>2]|0,110,c[O>>2]|0,c[y>>2]|0)|0;_z(c[P>>2]|0,c[y>>2]|0);break}case 2:{Vw(c[U>>2]|0,111,c[O>>2]|0,c[T>>2]|0,c[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[H>>2]=kA(c[P>>2]|0,(c[N>>2]|0)+1|0)|0;Vw(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(Bz(c[U>>2]|0)|0)+4;Eh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,c[v>>2]|0,c[H>>2]|0,0)|0;Rw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[H>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)CG(n,c[R>>2]|0,c[Q>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0,c[T>>2]|0,1,c[N>>2]|0);else{c[K>>2]=Wz(n)|0;Rw(c[U>>2]|0,74,c[O>>2]|0,c[K>>2]|0)|0;Vw(c[U>>2]|0,75,c[O>>2]|0,c[H>>2]|0,c[K>>2]|0)|0;Fh(c[U>>2]|0,8);_z(c[P>>2]|0,c[K>>2]|0)}nA(c[P>>2]|0,c[H>>2]|0,(c[N>>2]|0)+1|0);break}case 11:{n=SA(c[c[(c[t>>2]|0)+4>>2]>>2]|0,a[(c[M>>2]|0)+1>>0]|0)|0;a[(c[M>>2]|0)+1>>0]=n;n=c[P>>2]|0;if(c[R>>2]|0){CG(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break b}else{c[I>>2]=Wz(n)|0;Uw(c[U>>2]|0,49,c[T>>2]|0,1,c[I>>2]|0,(c[M>>2]|0)+1|0,1)|0;CA(c[P>>2]|0,c[T>>2]|0,1);Rw(c[U>>2]|0,110,c[O>>2]|0,c[I>>2]|0)|0;_z(c[P>>2]|0,c[I>>2]|0);break b}}case 3:{Rw(c[U>>2]|0,22,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)CG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){CG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[F>>2]|0,c[N>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){xz(n,18,c[(c[M>>2]|0)+4>>2]|0)|0;break b}else{Rw(n,33,c[T>>2]|0,c[F>>2]|0)|0;CA(c[P>>2]|0,c[T>>2]|0,c[F>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[G>>2]=c[(c[M>>2]|0)+16>>2];c[E>>2]=c[c[G>>2]>>2];c[J>>2]=Wz(c[P>>2]|0)|0;c[L>>2]=kA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[L>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Eh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[F>>2]|0)|0;Vw(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){Rw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Fh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;Rw(n,31,(c[T>>2]|0)+(e[(c[(c[G>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[L>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}Rw(n,73,c[O>>2]|0,(c[L>>2]|0)+(c[E>>2]|0)|0)|0;Vw(c[U>>2]|0,49,c[L>>2]|0,(c[E>>2]|0)+2|0,c[J>>2]|0)|0;Rw(c[U>>2]|0,110,c[O>>2]|0,c[J>>2]|0)|0;if(c[B>>2]|0)Fz(c[U>>2]|0,c[B>>2]|0);_z(c[P>>2]|0,c[J>>2]|0);nA(c[P>>2]|0,c[L>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+8>>2]|0)){i=V;return}Rw(c[U>>2]|0,141,c[(c[Q>>2]|0)+8>>2]|0,c[S>>2]|0)|0;i=V;return}function iG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;jG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function jG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+8>>2]=203;c[f+24>>2]=c[g>>2];by(f,c[e>>2]|0)|0;i=d;return}function kG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+453>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Bh(b,36633,h)|0;Uw(c[g>>2]|0,161,c[(c[e>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function lG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+37>>0]|0|0}function mG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;Vw(c[(c[j>>2]|0)+8>>2]|0,29,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;oA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function nG(b,d){b=b|0;d=d|0;var 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;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=kA(c[f>>2]|0,c[m>>2]|0)|0;GA(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Cz(c[u>>2]|0)|0;xG(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=Ox(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+76|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}Uw(c[u>>2]|0,34,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}Uw(c[u>>2]|0,143,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Fh(c[u>>2]|0,c[m>>2]&255);CA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);nA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Gz(c[u>>2]|0,c[j>>2]|0);fC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=xz(c[u>>2]|0,45,c[t>>2]|0)|0;fC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;xA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;fC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Fz(c[u>>2]|0,c[h>>2]|0);i=v;return}function oG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;Uw(c[h>>2]|0,145,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function pG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}Vw(c[k>>2]|0,25,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=$F(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;Uw(c[k>>2]|0,57,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ah(c[d>>2]|0,36582,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function qG(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+36>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+32>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+32>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function rG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+453>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?36541:19266;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=19266;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Bh(b,36564,l)|0;Uw(c[(c[j>>2]|0)+8>>2]|0,161,c[(c[j>>2]|0)+468>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function sG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(Td(c[k>>2]|0,36533)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(Td(c[k>>2]|0,36537)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function tG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;s=E+84|0;h=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;w=E+36|0;m=E+32|0;x=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[s>>2]=a;c[h>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[v>>2]=Cz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){Rw(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Ez(c[D>>2]|0,c[C>>2]|0)|0;Gz(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=Wz(c[s>>2]|0)|0;c[x>>2]=Wz(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[s>>2]|0)+76|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+72|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=UA(c[s>>2]|0)|0;Vw(c[D>>2]|0,60,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Fz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(Rw(c[D>>2]|0,106,c[z>>2]|0,c[C>>2]|0)|0);wG(c[D>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[v>>2]|0);Vw(c[D>>2]|0,100,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(Rw(c[D>>2]|0,107,c[z>>2]|0,c[C>>2]|0)|0);wG(c[D>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;Vw(c[D>>2]|0,47,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:{Rw(c[D>>2]|0,74,c[m>>2]|0,c[y>>2]|0)|0;Vw(c[D>>2]|0,75,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Fh(c[D>>2]|0,8);break}case 11:{Uw(c[D>>2]|0,49,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;CA(c[s>>2]|0,c[x>>2]|0,1);Rw(c[D>>2]|0,110,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{mG(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{h=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){Rw(h,33,c[j+8>>2]|0,c[t>>2]|0)|0;CA(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{xz(h,18,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){_z(c[s>>2]|0,c[x>>2]|0);_z(c[s>>2]|0,c[y>>2]|0)}Gz(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)Rw(k,3,j,h)|0;else Rw(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Gz(B,D);i=E;return}xz(c[D>>2]|0,15,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Gz(B,D);i=E;return}function uG(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+453>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+65>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;OB(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];PB(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Bh(g,36524,v)|0}else g=nh(g,c[w>>2]|0)|0;c[w>>2]=g;PB(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=25592;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;PB(e,f,0,nh(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Bh(f,31016,u)|0;PB(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{PB(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}vG(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function vG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Mx(h,c[g>>2]|0,0)|0;PB(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function wG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Vw(c[e>>2]|0,138,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function xG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=Wz(c[j>>2]|0)|0;Eh(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Vw(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Rw(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;_z(c[j>>2]|0,c[h>>2]|0);i=g;return}function yG(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=AG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+76|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(py(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+62>>0]|0,c[w>>2]=BG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];j=(c[z>>2]|0)+76|0;h=(c[j>>2]|0)+1|0;c[j>>2]=h;c[(c[y>>2]|0)+8>>2]=h;h=c[c[z>>2]>>2]|0;j=c[(c[u>>2]|0)+8>>2]|0;k=If(c[(c[u>>2]|0)+8>>2]|0)|0;if(c[(c[u>>2]|0)+20>>2]|0)l=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else l=0;v=gi(h,j,k,l,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+72|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function zG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function AG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=rC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function BG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=rC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function CG(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;r=J+88|0;s=J+84|0;m=J+80|0;n=J+76|0;o=J+72|0;t=J+68|0;p=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;q=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[I>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[z>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[z>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[H>>2]=j;c[B>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[F>>2]=(c[n>>2]|0)-(c[z>>2]|0)-(c[x>>2]|0);else{c[F>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;j=(c[r>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+12>>2]|0)k=(c[k+12>>2]|0)+1|0;else k=c[k+8>>2]|0;c[y>>2]=k;m=Cz(c[I>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;GA(c[r>>2]|0,c[c[s>>2]>>2]|0,c[F>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)Rw(c[I>>2]|0,73,c[(c[s>>2]|0)+8>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;if(!(c[p>>2]|0))mG(c[r>>2]|0,c[n>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);Vw(c[I>>2]|0,49,(c[F>>2]|0)+(c[B>>2]|0)|0,(c[q>>2]|0)-(c[B>>2]|0)|0,c[H>>2]|0)|0;if((c[B>>2]|0)>0){c[G>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[A>>2]=(c[z>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[I>>2]|0;if(c[x>>2]|0)c[v>>2]=xz(k,46,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;else c[v>>2]=xz(k,59,c[(c[s>>2]|0)+8>>2]|0)|0;Vw(c[I>>2]|0,42,c[G>>2]|0,c[F>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[E>>2]=Mz(c[I>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+65>>0]|0){i=J;return}c[(c[E>>2]|0)+8>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[D>>2]=c[(c[E>>2]|0)+16>>2];kR(c[(c[D>>2]|0)+16>>2]|0,0,e[(c[D>>2]|0)+6>>1]|0)|0;Ih(c[I>>2]|0,-1,c[D>>2]|0,-6);D=$F(c[r>>2]|0,c[c[s>>2]>>2]|0,c[B>>2]|0,(e[(c[D>>2]|0)+8>>1]|0)-1|0)|0;c[(c[E>>2]|0)+16>>2]=D;c[w>>2]=Bz(c[I>>2]|0)|0;Vw(c[I>>2]|0,43,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;D=Cz(c[I>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=D;D=(c[r>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[s>>2]|0)+12>>2]=E;Rw(c[I>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;xz(c[I>>2]|0,120,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[y>>2]|0)Rw(c[I>>2]|0,46,c[y>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Fz(c[I>>2]|0,c[v>>2]|0);mG(c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Fz(c[I>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[C>>2]=109;else c[C>>2]=110;Rw(c[I>>2]|0,c[C>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[H>>2]|0)|0;if(!(c[y>>2]|0)){i=J;return}c[u>>2]=Vw(c[I>>2]|0,140,c[y>>2]|0,0,1)|0;xz(c[I>>2]|0,105,c[(c[s>>2]|0)+8>>2]|0)|0;xz(c[I>>2]|0,95,c[(c[s>>2]|0)+8>>2]|0)|0;Fz(c[I>>2]|0,c[u>>2]|0);i=J;return}function DG(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=ny(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;Zu(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=DG(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=DG(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){EG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{FG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function EG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){FG(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);FG(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0);FG(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0,c[l>>2]|0);f=DG(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=f;f=DG(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+36>>2]=f;c[p>>2]=c[(c[j>>2]|0)+32>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;EG(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)FG(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+52>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function FG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=DG(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function GG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=1;c[k>>2]=0;while(1){if(!(c[(c[f>>2]|0)+52>>2]|0))break;c[f>>2]=c[(c[f>>2]|0)+52>>2];c[h>>2]=(c[h>>2]|0)+1}while(1){if(!(c[f>>2]|0)){e=7;break}c[j>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=0;c[k>>2]=Cv(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=c[j>>2];if(c[k>>2]|0){e=7;break}d=c[h>>2]|0;a=(c[f>>2]|0)+24|0;c[a>>2]=d;c[a+4>>2]=((d|0)<0)<<31>>31;c[f>>2]=c[(c[f>>2]|0)+56>>2]}if((e|0)==7){i=l;return c[k>>2]|0}return 0}function HG(a,f,g){a=a|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+128|0;H=I;q=I+112|0;r=I+108|0;s=I+104|0;j=I+100|0;n=I+96|0;G=I+92|0;C=I+88|0;v=I+84|0;u=I+80|0;t=I+76|0;x=I+72|0;D=I+68|0;y=I+64|0;m=I+60|0;l=I+56|0;w=I+36|0;h=I+32|0;p=I+28|0;B=I+24|0;z=I+20|0;A=I+16|0;E=I+12|0;F=I+8|0;o=I+4|0;c[q>>2]=a;c[r>>2]=f;c[s>>2]=g;c[j>>2]=c[(c[r>>2]|0)+32>>2];c[n>>2]=c[c[c[r>>2]>>2]>>2];c[G>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=c[(c[r>>2]|0)+52>>2];c[x>>2]=0;c[m>>2]=0;c[l>>2]=5;if(Mw(c[q>>2]|0,33,0,0,0)|0){i=I;return}c[t>>2]=Cz(c[G>>2]|0)|0;aG(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0);c[z>>2]=c[(c[r>>2]|0)+60>>2];c[A>>2]=c[(c[r>>2]|0)+64>>2];c[E>>2]=c[(c[r>>2]|0)+8>>2];c[F>>2]=c[(c[r>>2]|0)+12>>2];c[(c[r>>2]|0)+64>>2]=0;c[(c[r>>2]|0)+60>>2]=0;c[(c[r>>2]|0)+12>>2]=0;c[(c[r>>2]|0)+8>>2]=0;c[B>>2]=c[(c[r>>2]|0)+48>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0))break;f=c[h>>2]|0;if((d[(c[j>>2]|0)+8+((c[h>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){k=5;break}c[h>>2]=f+1}if((k|0)==5)c[x>>2]=c[(c[j>>2]|0)+8+(f*72|0)+44>>2];k=(c[q>>2]|0)+72|0;f=c[k>>2]|0;c[k>>2]=f+1;c[y>>2]=f;f=(c[B>>2]|0)!=0;if((d[(c[r>>2]|0)+4>>0]|0|0)==115){c[l>>2]=f?8:6;j=(c[q>>2]|0)+72|0;k=c[j>>2]|0;c[j>>2]=k+1;c[m>>2]=k}else c[l>>2]=f?7:5;ZA(w,c[l>>2]|0,c[y>>2]|0);k=(c[q>>2]|0)+76|0;l=(c[k>>2]|0)+1|0;c[k>>2]=l;c[D>>2]=l;Vw(c[G>>2]|0,60,c[x>>2]|0,c[D>>2]|0,c[n>>2]|0)|0;if(c[B>>2]|0){c[o>>2]=LG(c[q>>2]|0,c[r>>2]|0,1)|0;Uw(c[G>>2]|0,57,c[y>>2]|0,(c[c[B>>2]>>2]|0)+2|0,0,c[o>>2]|0,-6)|0;c[w+16>>2]=c[B>>2]}else Rw(c[G>>2]|0,57,c[y>>2]|0,c[n>>2]|0)|0;if(c[m>>2]|0){o=Rw(c[G>>2]|0,57,c[m>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=o;o=(c[r>>2]|0)+6|0;b[o>>1]=e[o>>1]|0|16}c[(c[r>>2]|0)+48>>2]=0;c[(c[C>>2]|0)+56>>2]=0;c[p>>2]=Cv(c[q>>2]|0,c[C>>2]|0,w)|0;c[(c[C>>2]|0)+56>>2]=c[r>>2];if(!(c[p>>2]|0)){c[v>>2]=Rw(c[G>>2]|0,108,c[y>>2]|0,c[t>>2]|0)|0;xz(c[G>>2]|0,104,c[x>>2]|0)|0;f=c[G>>2]|0;g=c[y>>2]|0;if(c[B>>2]|0)Vw(f,47,g,(c[c[B>>2]>>2]|0)+1|0,c[D>>2]|0)|0;else Rw(f,102,g,c[D>>2]|0)|0;xz(c[G>>2]|0,95,c[y>>2]|0)|0;c[u>>2]=Cz(c[G>>2]|0)|0;wG(c[G>>2]|0,c[F>>2]|0,c[u>>2]|0);hG(c[q>>2]|0,c[r>>2]|0,c[c[r>>2]>>2]|0,c[x>>2]|0,0,0,c[s>>2]|0,c[u>>2]|0,c[t>>2]|0);if(c[E>>2]|0)Rw(c[G>>2]|0,141,c[E>>2]|0,c[t>>2]|0)|0;Gz(c[G>>2]|0,c[u>>2]|0);if((e[(c[r>>2]|0)+6>>1]|0)&8)Ah(c[q>>2]|0,36805,H);else{c[(c[r>>2]|0)+52>>2]=0;Cv(c[q>>2]|0,c[r>>2]|0,w)|0;c[(c[r>>2]|0)+52>>2]=c[C>>2]}Ez(c[G>>2]|0,c[v>>2]|0)|0;Gz(c[G>>2]|0,c[t>>2]|0)}Vu(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+48>>2]|0);c[(c[r>>2]|0)+48>>2]=c[B>>2];c[(c[r>>2]|0)+60>>2]=c[z>>2];c[(c[r>>2]|0)+64>>2]=c[A>>2];i=I;return}function IG(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+224|0;q=ca+212|0;r=ca+208|0;s=ca+204|0;t=ca+200|0;j=ca+196|0;k=ca+192|0;T=ca+188|0;ba=ca+184|0;I=ca+164|0;J=ca+144|0;U=ca+140|0;V=ca+136|0;F=ca+132|0;G=ca+128|0;Y=ca+124|0;Z=ca+120|0;D=ca+116|0;E=ca+112|0;z=ca+108|0;A=ca+104|0;B=ca+100|0;y=ca+96|0;w=ca+92|0;x=ca+88|0;W=ca+84|0;X=ca+80|0;_=ca+76|0;$=ca+72|0;aa=ca+68|0;M=ca+64|0;N=ca+60|0;v=ca+56|0;P=ca+52|0;R=ca+48|0;S=ca+44|0;H=ca+40|0;p=ca+36|0;O=ca+32|0;u=ca+28|0;K=ca+24|0;L=ca+20|0;m=ca+16|0;o=ca+12|0;n=ca+8|0;l=ca+4|0;Q=ca;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[E>>2]=0;c[R>>2]=0;c[H>>2]=c[c[r>>2]>>2];c[ba>>2]=c[(c[r>>2]|0)+8>>2];c[N>>2]=Cz(c[ba>>2]|0)|0;c[M>>2]=Cz(c[ba>>2]|0)|0;c[P>>2]=d[(c[s>>2]|0)+4>>0];c[T>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[O>>2]=c[c[p>>2]>>2];a:do if((c[P>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[H>>2]|0)+65>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[O>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[O>>2]|0)){c[o>>2]=Jv(c[H>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Gv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[O>>2]|0;c[O>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;ba=c[q>>2]|0;i=ca;return ba|0}while(0);c[u>>2]=Fw(c[H>>2]|0,(c[O>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[O>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[O>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[S>>2]=LG(c[r>>2]|0,c[s>>2]|0,1)|0}else c[S>>2]=0;c[(c[s>>2]|0)+48>>2]=c[p>>2];f=vy(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[T>>2]|0)+48>>2]=f;b:do if((c[P>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[_>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;f=(c[r>>2]|0)+76|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);Rw(c[ba>>2]|0,22,0,c[_>>2]|0)|0;c[R>>2]=Qz(c[H>>2]|0,c[l>>2]|0,1)|0;if(c[R>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=KG(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[R>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[_>>2]=0;while(0);c[(c[s>>2]|0)+52>>2]=0;c[(c[T>>2]|0)+56>>2]=0;yy(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+48>>2]|0,29962)|0;if(!(c[(c[T>>2]|0)+52>>2]|0))yy(c[r>>2]|0,c[T>>2]|0,c[(c[T>>2]|0)+48>>2]|0,29962)|0;aG(c[r>>2]|0,c[s>>2]|0,c[N>>2]|0);if((c[P>>2]|0)==116?(c[(c[s>>2]|0)+8>>2]|0)!=0:0){j=(c[r>>2]|0)+76|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[W>>2]=f;f=(c[r>>2]|0)+76|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[X>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+12>>2]|0)j=(c[j+12>>2]|0)+1|0;else j=c[j+8>>2]|0;Rw(c[ba>>2]|0,30,j,c[W>>2]|0)|0;Rw(c[ba>>2]|0,30,c[W>>2]|0,c[X>>2]|0)|0}else{c[X>>2]=0;c[W>>2]=0}Zu(c[H>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;Zu(c[H>>2]|0,c[(c[s>>2]|0)+64>>2]|0);c[(c[s>>2]|0)+64>>2]=0;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[U>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[Y>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Z>>2]=f;ZA(I,13,c[U>>2]|0);ZA(J,13,c[V>>2]|0);c[F>>2]=(Bz(c[ba>>2]|0)|0)+1;c[v>>2]=Vw(c[ba>>2]|0,16,c[U>>2]|0,0,c[F>>2]|0)|0;c[(c[T>>2]|0)+8>>2]=c[W>>2];c[K>>2]=c[(c[r>>2]|0)+472>>2];Cv(c[r>>2]|0,c[T>>2]|0,I)|0;xC(c[ba>>2]|0,c[U>>2]|0);Fz(c[ba>>2]|0,c[v>>2]|0);c[G>>2]=(Bz(c[ba>>2]|0)|0)+1;c[v>>2]=Vw(c[ba>>2]|0,16,c[V>>2]|0,0,c[G>>2]|0)|0;c[$>>2]=c[(c[s>>2]|0)+8>>2];c[aa>>2]=c[(c[s>>2]|0)+12>>2];c[(c[s>>2]|0)+8>>2]=c[X>>2];c[(c[s>>2]|0)+12>>2]=0;c[L>>2]=c[(c[r>>2]|0)+472>>2];Cv(c[r>>2]|0,c[s>>2]|0,J)|0;c[(c[s>>2]|0)+8>>2]=c[$>>2];c[(c[s>>2]|0)+12>>2]=c[aa>>2];xC(c[ba>>2]|0,c[V>>2]|0);c[D>>2]=MG(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)c[E>>2]=MG(c[r>>2]|0,c[s>>2]|0,J,c[t>>2]|0,c[Z>>2]|0,c[_>>2]|0,c[R>>2]|0,c[N>>2]|0)|0;Rz(c[R>>2]|0);if((c[P>>2]|0)==117|(c[P>>2]|0)==118){aa=c[N>>2]|0;c[z>>2]=aa;c[A>>2]=aa}else{c[z>>2]=Rw(c[ba>>2]|0,14,c[Z>>2]|0,c[E>>2]|0)|0;c[A>>2]=Rw(c[ba>>2]|0,18,c[V>>2]|0,c[N>>2]|0)|0;Ez(c[ba>>2]|0,c[z>>2]|0)|0;$=(c[T>>2]|0)+24|0;aa=(c[s>>2]|0)+24|0;_=aa;$=gR(c[_>>2]|0,c[_+4>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;c[aa>>2]=$;c[aa+4>>2]=C}if((c[P>>2]|0)==118){c[B>>2]=c[z>>2];$=(c[s>>2]|0)+24|0;X=c[$+4>>2]|0;aa=(c[T>>2]|0)+24|0;_=c[aa+4>>2]|0;if(X>>>0>_>>>0|((X|0)==(_|0)?(c[$>>2]|0)>>>0>(c[aa>>2]|0)>>>0:0)){_=(c[T>>2]|0)+24|0;$=c[_+4>>2]|0;aa=(c[s>>2]|0)+24|0;c[aa>>2]=c[_>>2];c[aa+4>>2]=$}}else{c[B>>2]=Rw(c[ba>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;Rw(c[ba>>2]|0,18,c[U>>2]|0,c[N>>2]|0)|0;Ez(c[ba>>2]|0,c[B>>2]|0)|0}c[y>>2]=Rw(c[ba>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;Rw(c[ba>>2]|0,18,c[U>>2]|0,c[z>>2]|0)|0;Ez(c[ba>>2]|0,c[M>>2]|0)|0;do if((c[P>>2]|0)!=116)if((c[P>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=Rw(c[ba>>2]|0,18,c[U>>2]|0,c[z>>2]|0)|0;Ez(c[ba>>2]|0,c[M>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=Bz(c[ba>>2]|0)|0;if((c[P>>2]|0)==116|(c[P>>2]|0)==115)Rw(c[ba>>2]|0,14,c[Z>>2]|0,c[E>>2]|0)|0;Rw(c[ba>>2]|0,18,c[V>>2]|0,c[B>>2]|0)|0;Ez(c[ba>>2]|0,c[M>>2]|0)|0;Fz(c[ba>>2]|0,c[v>>2]|0);Rw(c[ba>>2]|0,18,c[U>>2]|0,c[A>>2]|0)|0;Rw(c[ba>>2]|0,18,c[V>>2]|0,c[B>>2]|0)|0;Gz(c[ba>>2]|0,c[M>>2]|0);Uw(c[ba>>2]|0,41,0,0,0,c[u>>2]|0,-15)|0;Uw(c[ba>>2]|0,42,c[I+8>>2]|0,c[J+8>>2]|0,c[O>>2]|0,c[S>>2]|0,-6)|0;Fh(c[ba>>2]|0,1);Vw(c[ba>>2]|0,43,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;Gz(c[ba>>2]|0,c[N>>2]|0);if((d[c[t>>2]>>0]|0|0)==9){c[Q>>2]=c[T>>2];while(1){if(!(c[(c[Q>>2]|0)+52>>2]|0))break;c[Q>>2]=c[(c[Q>>2]|0)+52>>2]}uG(c[r>>2]|0,c[(c[Q>>2]|0)+32>>2]|0,c[c[Q>>2]>>2]|0)}if(c[(c[s>>2]|0)+52>>2]|0)Wu(c[H>>2]|0,c[(c[s>>2]|0)+52>>2]|0);c[(c[s>>2]|0)+52>>2]=c[T>>2];c[(c[T>>2]|0)+56>>2]=c[s>>2];JG(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[K>>2]|0,c[L>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+68>>2]|0)!=0&1;ba=c[q>>2]|0;i=ca;return ba|0}function JG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+453>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?36749:19266;b=xy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Bh(a,36768,o)|0;Uw(c[n>>2]|0,161,c[(c[h>>2]|0)+468>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function KG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+52>>2]|0)c[h>>2]=KG(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=Ox(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function LG(b,d,f){b=b|0;d=d|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,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+48>>2];c[l>>2]=c[c[(c[h>>2]|0)+48>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=Qz(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=Ox(f,c[q>>2]|0)|0;else{c[m>>2]=KG(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=By(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function MG(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=Bz(c[C>>2]|0)|0;c[y>>2]=Cz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=xz(c[C>>2]|0,46,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[x>>2]=Uw(k,42,b,j,h,Vz(c[t>>2]|0)|0,-6)|0;Vw(c[C>>2]|0,43,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Fz(c[C>>2]|0,c[w>>2]|0);Vw(c[C>>2]|0,30,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;Rw(c[C>>2]|0,22,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+65>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}wG(c[C>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=Wz(c[n>>2]|0)|0;c[B>>2]=Wz(c[n>>2]|0)|0;Vw(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;Rw(c[C>>2]|0,74,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;Vw(c[C>>2]|0,75,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Fh(c[C>>2]|0,8);_z(c[n>>2]|0,c[B>>2]|0);_z(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=SA(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=Wz(c[n>>2]|0)|0;Uw(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;CA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);Rw(c[C>>2]|0,110,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;_z(c[n>>2]|0,c[A>>2]|0);break}case 10:{mG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=kA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}mG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0);xz(c[C>>2]|0,18,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{Rw(c[C>>2]|0,33,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;CA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+8>>2]|0)Rw(c[C>>2]|0,141,c[(c[o>>2]|0)+8>>2]|0,c[u>>2]|0)|0;Gz(c[C>>2]|0,c[y>>2]|0);xz(c[C>>2]|0,15,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function NG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=Pw(c[g>>2]|0)|0;do if(!(Ex(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&16777216)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Cz(c[n>>2]|0)|0;Rw(c[n>>2]|0,136,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+442>>0]=1;f=c[g>>2]|0;Rv(f,lz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+442>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&16777216)){f=c[n>>2]|0;Rw(f,136,0,(Bz(c[n>>2]|0)|0)+2|0)|0;bA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Gz(c[n>>2]|0,c[l>>2]|0);i=o;return}function OG(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=Pw(c[g>>2]|0)|0;ax(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)Yw(c[o>>2]|0,149)|0;c[n>>2]=fx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;AB(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;Ow(n,37066,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?20769:20788;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;Ow(p,37111,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)PG(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;Uw(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qw(q,p);p=c[l>>2]|0;q=c[j>>2]|0;QG(p,q);i=r;return}Uw(c[o>>2]|0,151,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;Uw(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Qw(q,p);p=c[l>>2]|0;q=c[j>>2]|0;QG(p,q);i=r;return}function PG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Dh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;qC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function QG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){RG(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function RG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Sf(a,c[c[h>>2]>>2]|0);Zu(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+24}Sf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function SG(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(fy(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}gy(n,c[m>>2]|0)|0;i=p;return}function TG(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=27;i=f;return}if((d[b>>0]|0|0)!=95){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=27;i=f;return}function UG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function VG(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+((b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)*24|0)+22>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Hj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function WG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;XG(c[e>>2]|0,c[f>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Sf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Sf(a,b);i=g;return}Sf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Sf(a,b);i=g;return}function XG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function YG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=$A(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function ZG(f,g){f=f|0;g=g|0;var 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;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+424>>2]|0)bG(c[t>>2]|0,c[(c[h>>2]|0)+424>>2]|0,121);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Cy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+((b[f+32>>1]|0)*24|0)>>2]|0);t=c[h>>2]|0;c[r>>2]=Gv(t,0,cz(c[k>>2]|0,27,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+452>>0]|0;c[s>>2]=vv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0)|0;if(!(c[s>>2]|0)){i=v;return}else{t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-4|2;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Ej(f)|0;if(c[t>>2]|0)bG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if(UG(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;c[p>>2]=e[(c[s>>2]|0)+50>>1];if(!(a[(c[k>>2]|0)+140+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+((b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)*24|0)+20>>0]=2;c[l>>2]=(c[l>>2]|0)+1}t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0))break;b:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!(UG(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(cH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=46;break a}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break b;if(!(UG(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==46){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(cH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!(UG(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=35690;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function _G(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+22>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+24}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Hj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Hj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function $G(d,e){d=d|0;e=e|0;var 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;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(aH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}e=aH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=19266;c[t>>2]=38266;c[r>>2]=35518}else{c[s>>2]=38268;c[t>>2]=38272;c[r>>2]=38277}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=yh(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){jh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,38280,g)|0;c[l>>2]=If(c[u>>2]|0)|0;bH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=If((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];bH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[6328+((a[(c[o>>2]|0)+21>>0]|0)-65<<2)>>2];c[m>>2]=If(c[v>>2]|0)|0;iR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+24}c[q>>2]=c[r>>2];Qd(f,d,19255,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function aH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function bH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[19267+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[19267+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(yi(c[m>>2]|0,c[k>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function cH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=ph(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{iR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);iR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);iR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function dH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Pw(c[d>>2]|0)|0;yz(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?20769:20788);Eh(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+72>>2]|0){i=e;return}c[(c[d>>2]|0)+72>>2]=1;i=e;return}function eH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=Pw(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+404>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+408>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];Uw(c[h>>2]|0,148,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function fH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];zz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,54);Tw(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Gh(c[k>>2]|0,10,38456,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function gH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;d=g+12|0;e=g+4|0;c[d>>2]=a;c[g+8>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];a=c[d>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[d>>2]>>2]|0)<0)break;$u(c[d>>2]|0)}Ah(c[e>>2]|0,38496,f);c[(c[d>>2]|0)+8>>2]=c[e>>2];i=g;return}function hH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,40353,d);i=b;return}function iH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+96|0;G=I+16|0;s=I+8|0;n=I;C=I+92|0;u=I+88|0;p=I+84|0;v=I+80|0;l=I+76|0;w=I+72|0;q=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=ph(c[C>>2]|0,544,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+480>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=jH(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];hg(G,H,40398,n);H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}ju(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+428>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+88+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){hg(l,18,40428,s);c[F>>2]=Rg(c[C>>2]|0,18)|0;H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Iw(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Uh(c[D>>2]|0,c[t>>2]|0,H)|0;c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+484>>2]|0)-(c[t>>2]|0));Sf(c[C>>2]|0,c[t>>2]|0);break}else{c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Uh(c[D>>2]|0,c[u>>2]|0,H)|0;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)kH(c[D>>2]|0);if(a[(c[C>>2]|0)+65>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+484>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+453>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+453>>0]|0)==2){OB(l,4);c[y>>2]=8;c[z>>2]=12}else{OB(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;PB(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[6360+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+140+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];lH(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+484>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+65>>0]|0)==0:0){B=41;break}Qg(c[(c[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];l=c[C>>2]|0;b=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];hg(l,b,19255,G);Sf(c[C>>2]|0,c[H>>2]|0)}else jg(l,b);while(1){if(!(c[(c[D>>2]|0)+532>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+532>>2];c[(c[D>>2]|0)+532>>2]=c[(c[E>>2]|0)+4>>2];Sf(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Lh(H);H=c[C>>2]|0;G=c[D>>2]|0;Sf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Rg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function jH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;kg(c[e>>2]|0);c[b>>2]=mH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function kH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(og(c[h>>2]|0)|0)){c[j>>2]=mg(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)jh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}ng(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){rj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Bj(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function lH(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Iw(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+88|0;b[d>>1]=b[d>>1]&-257|(c[k>>2]&1)<<8&65535;i=l;return}function mH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function nH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=oH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function oH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){qH(c[f>>2]|0);break}c[k>>2]=pH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function pH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=rH(c[e>>2]|0)|0;if(!(c[f>>2]|0)){qH(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function qH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;qB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function rH(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;b=g;c[e>>2]=a;c[f>>2]=sH(c[e>>2]|0,(c[e>>2]|0)+40|0)|0;if(d[(c[e>>2]|0)+69>>0]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+40|0;c[b>>2]=_f(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[b>>2]|0)){c[f>>2]=7;f=c[f>>2]|0;i=g;return f|0}c[f>>2]=tH(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0)|0;a=c[b>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=a;f=c[f>>2]|0;i=g;return f|0}else{Kd(a);f=c[f>>2]|0;i=g;return f|0}return 0}function sH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;iF(c[e>>2]|0);e=(c[e>>2]|0)+16|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function tH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=hF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function uH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;kg(c[c[d>>2]>>2]|0);i=b;return}function vH(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function wH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function xH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){qA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Ih(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=If(c[j>>2]|0)|0;e=c[k>>2]|0;e=Iw(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function yH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function zH(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function AH(e,f){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,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;m=r+24|0;n=r+20|0;q=r+16|0;l=r+12|0;o=r+8|0;k=r+4|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[j>>2]>>2];c[q>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if((c[(c[m>>2]|0)+4>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]|0)!=(c[(c[m>>2]|0)+8>>2]|0):0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[l>>2]=(If(c[(c[j>>2]|0)+4>>2]|0)|0)+1;c[n>>2]=ph(c[k>>2]|0,72+(c[l>>2]|0)|0,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[j>>2]|0)+16>>2]=c[n>>2];c[c[n>>2]>>2]=(c[n>>2]|0)+72;iR(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;b[(c[n>>2]|0)+36>>1]=1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[n>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;b[(c[n>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[n>>2]|0;Lw(e,f,nh(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);Lw(c[k>>2]|0,c[n>>2]|0,0);f=c[k>>2]|0;e=c[n>>2]|0;Lw(f,e,nh(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);c[o>>2]=oz(c[k>>2]|0,c[n>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+8>>2]|0,q)|0;if(c[o>>2]|0){o=c[h>>2]|0;c[p>>2]=c[q>>2];Ah(o,19255,p);Sf(c[k>>2]|0,c[q>>2]|0);BH(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}return 0}function BH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}RG(c[d>>2]|0,c[f>>2]|0);CH(c[d>>2]|0,c[f>>2]|0);Sf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function CH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+528>>2]|0)!=0:0))DH(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Sf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function DH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+336>>2];c[(c[f>>2]|0)+336>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function EH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Ug(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function FH(){return 312}function GH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=a;c[h>>2]=d;iR(l|0,c[g>>2]|0,208)|0;iR(c[g>>2]|0,c[h>>2]|0,208)|0;iR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];d=(c[h>>2]|0)+88|0;b[d>>1]=b[d>>1]&-257|((e[(c[g>>2]|0)+88>>1]|0)>>>8&1)<<8&65535;i=f;return}function HH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function IH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function JH(f){f=f|0;var 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,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;oC(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){jh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((b[(c[s>>2]|0)+88>>1]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=161);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+240>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;z=c[s>>2]|0;SH(z,ih(c[(c[s>>2]|0)+80>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((b[(c[s>>2]|0)+88>>1]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=mM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=If(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(ux(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(tx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=nM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))dh(g,c[x>>2]|0,-1,1,0)|0;else{z=If(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((b[(c[s>>2]|0)+88>>1]&3|0)==1){if(!(tx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,43360,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((b[(c[s>>2]|0)+88>>1]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0} -function dJ(b,e){b=b|0;e=e|0;var 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,x=0;x=i;i=i+80|0;k=x+64|0;j=x+60|0;l=x+56|0;s=x+52|0;q=x+48|0;r=x+44|0;h=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;p=x+20|0;f=x+16|0;o=x+12|0;g=x+8|0;n=x+4|0;m=x;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+63>>0]|0)){xj(c[j>>2]|0,c[l>>2]|0,41344);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+148>>2]|0)>1){xj(c[j>>2]|0,c[l>>2]|0,41384);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+80>>2];c[v>>2]=c[(c[l>>2]|0)+84>>2];c[w>>2]=c[(c[l>>2]|0)+176>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+176>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=DJ(Of(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(Sq(c[l>>2]|0)|0)c[h>>2]=41427;else c[h>>2]=41459;c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Bj(c[r>>2]|0)|0,c[o>>2]=FJ(c[q>>2]|0)|0,c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,41483)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,41516)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=mg(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((qg(Of(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+72>>2]=0;b=c[r>>2]|0;h=pg(c[q>>2]|0)|0;do if(!(xi(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(xi(c[r>>2]|0,c[(c[l>>2]|0)+72>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+65>>0]|0)){e=c[r>>2]|0;if((a[(c[l>>2]|0)+68>>0]|0)>=0)f=a[(c[l>>2]|0)+68>>0]|0;else f=TB(c[q>>2]|0)|0;VB(e,f)|0;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41523)|0;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41671)|0;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41775)|0;if(c[s>>2]|0)break a;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|134217728;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,41893)|0;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&-134217729;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,42089)|0;if(c[s>>2]|0)break a;c[s>>2]=GJ(c[l>>2]|0,c[j>>2]|0,42202)|0;if(c[s>>2]|0)break a;c[s>>2]=EJ(c[l>>2]|0,c[j>>2]|0,42357)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){e=c[q>>2]|0;if((c[m>>2]|0)>=10)break;ng(e,d[42541+(c[m>>2]|0)>>0]|0,n);c[s>>2]=yg(c[r>>2]|0,d[42541+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[42541+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=HJ(e,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Bj(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;VB(n,TB(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=pg(c[r>>2]|0)|0;c[s>>2]=xi(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+80>>2]=c[u>>2];c[(c[l>>2]|0)+84>>2]=c[v>>2];c[(c[l>>2]|0)+176>>2]=c[w>>2];xi(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+63>>0]=1;if(c[p>>2]|0){lB(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}zg(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function eJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];kg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=$E(c[g>>2]|0)|0;c[e>>2]=$q((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=qJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Lj(59178)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=nH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){rJ(c[g>>2]|0);c[h>>2]=sJ(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Dg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;Xs((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function fJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);kg(c[g>>2]|0);c[l>>2]=mH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=pJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function gJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+308>>2]|0)>0?(c[(c[e>>2]|0)+332>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+308>>2]|0))break;if((c[(c[(c[e>>2]|0)+332>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=nJ(c[e>>2]|0)|0;if(((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+504>>2]|0)+(c[(c[e>>2]|0)+500>>2]|0),oJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)c[k>>2]=nI(c[e>>2]|0,0,(c[h>>2]|0)-1|0)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function hJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=pi(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=nj((c[f>>2]|0)+312|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=oz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Bh(p,31494,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Ax(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=nJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;oJ(p,Ax(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function iJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=pi(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=DH(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;hu(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;kg(c[g>>2]|0);c[d>>2]=mJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function kJ(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;v=D+116|0;C=D+88|0;j=D+84|0;r=D+80|0;n=D+152|0;w=D;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];cg(C,c[m>>2]|0,D+156|0,100,c[(c[m>>2]|0)+88>>2]|0);if((c[(c[m>>2]|0)+160>>2]|0)>1){while(1){if(!(a[c[l>>2]>>0]|0))break;c[j>>2]=c[l>>2];do{B=c[l>>2]|0;c[l>>2]=B+1;if((a[B>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);aA(C,41310,3);aA(C,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}C=eg(C)|0;i=D;return C|0}if(!(b[(c[k>>2]|0)+68>>1]|0)){B=c[l>>2]|0;aA(C,B,If(c[l>>2]|0)|0);C=eg(C)|0;i=D;return C|0}while(1){if(!(a[c[l>>2]>>0]|0)){f=33;break}c[q>>2]=lJ(c[l>>2]|0,t)|0;aA(C,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0)){f=33;break}do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Li((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=vh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[v>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[v>>2]|0)+8>>1]&1){aA(C,40498,4);continue}g=c[v>>2]|0;if(e[(c[v>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=x;c[j>>2]=c[f>>2];c[j+4>>2]=g;$z(C,29137,x);continue}f=c[v>>2]|0;if(e[g+8>>1]&8){h[y>>3]=+h[f>>3];$z(C,29142,y);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+62>>0]|0;if((d[n>>0]|0)!=1){f=w;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[w+32>>2]=c[m>>2];dh(w,c[(c[v>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;Zt(w,1)|0;c[v>>2]=w}c[r>>2]=c[(c[v>>2]|0)+12>>2];j=c[(c[v>>2]|0)+16>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=j;$z(C,41314,A);if((d[n>>0]|0)==1)continue;Ug(w);continue}if(e[(c[v>>2]|0)+8>>1]&16384){c[B>>2]=c[c[v>>2]>>2];$z(C,41321,B);continue}aA(C,41334,2);c[s>>2]=c[(c[v>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[z>>2]=a[(c[(c[v>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;$z(C,41337,z);c[o>>2]=(c[o>>2]|0)+1}aA(C,41342,1)}if((f|0)==33){C=eg(C)|0;i=D;return C|0}return 0}function lJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Qu(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function nJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+308>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+308>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Ew(c[d>>2]|0,c[(c[d>>2]|0)+332>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+308>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+332>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function oJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+308|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+332>>2]|0)+(b<<2)>>2]=a;yH(c[e>>2]|0);i=d;return}function pJ(b,e,f){b=b|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;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=ig(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function qJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(lF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=lF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function rJ(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function sJ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=lF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=$q((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=mF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Lj(59063)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=tJ(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){qB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=nF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=tJ(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}qB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){qB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=uJ(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;qB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=lF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function tJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=$E(c[m>>2]|0)|0;c[B>>2]=$q((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Lj(61115)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=mF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Dg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}Xs((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=$q(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=$q((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=BJ(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Lj(61171)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=$q((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Dg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Dg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=$q((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=BJ(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Dg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;Xs((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);iR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;qB(c[E>>2]|0);if(!(c[I>>2]|0)){Xs((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Dg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;Xs(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=$q((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=$q((c[r>>2]|0)+8|0)|0;c[u>>2]=yj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=$q((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=yj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=$q((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Dg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}Xs((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(CJ(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=BJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Dg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;qB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Dg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);qB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Lj(61200)|0;break}else if((j|0)==40){c[K>>2]=Lj(61234)|0;break}else if((j|0)==43){qB(h);break}else if((j|0)==63){c[K>>2]=Lj(61299)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Dg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=lF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=BJ(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Dg(c[(c[l>>2]|0)+72>>2]|0)|0;qB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);Xs((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=BJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Dg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;qB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);qB(c[J>>2]|0);qB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function uJ(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=vJ(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=$q(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(xJ(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=wJ(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=nF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Dg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){qB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=yJ(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;qB(c[t>>2]|0);if(c[u>>2]|0)break;xJ(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function vJ(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;j=t+20|0;r=t+16|0;o=t+12|0;s=t+8|0;p=t+4|0;q=t;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[j>>2]=h;c[o>>2]=0;if((a[(c[l>>2]|0)+16>>0]|0)!=0?(c[s>>2]=Dg(c[m>>2]|0)|0,(c[s>>2]|0)!=0):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if((e[(c[m>>2]|0)+24>>1]&2|0)!=0?(g=lt(c[m>>2]|0)|0,c[s>>2]=g,0!=(g|0)):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(!((c[j>>2]|0)!=0?1:(e[(c[m>>2]|0)+24>>1]&8|0)==0))c[o>>2]=c[(c[m>>2]|0)+20>>2];g=(c[m>>2]|0)+24|0;b[g>>1]=e[g>>1]&-9;c[r>>2]=Zr(c[l>>2]|0,c[n>>2]|0)|0;do if(c[r>>2]|0){j=(c[m>>2]|0)+24|0;b[j>>1]=e[j>>1]|e[(c[r>>2]|0)+24>>1]&8;j=c[r>>2]|0;if(a[(c[l>>2]|0)+16>>0]|0){AJ(j,(c[(c[l>>2]|0)+28>>2]|0)+1|0);break}else{ws(j);break}}while(0);c[p>>2]=c[(c[m>>2]|0)+20>>2];AJ(c[m>>2]|0,c[n>>2]|0);$r(c[m>>2]|0);if(a[(c[l>>2]|0)+16>>0]|0){AJ(c[r>>2]|0,c[p>>2]|0);zs(c[r>>2]|0)}do if(c[o>>2]|0){c[s>>2]=sg(c[l>>2]|0,c[o>>2]|0,q,0)|0;if(!(c[s>>2]|0)){s=(c[q>>2]|0)+24|0;b[s>>1]=e[s>>1]|8;$r(c[q>>2]|0);zs(c[q>>2]|0);break}if((c[o>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)hj(c[(c[l>>2]|0)+60>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+208>>2]|0);c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}while(0);c[k>>2]=0;s=c[k>>2]|0;i=t;return s|0}function wJ(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Kt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));zJ(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=$q(c[n>>2]|0)|0;xJ(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=$q((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;xJ(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function xJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Lj(56501)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=lF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=sg(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=tg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=$q((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Dg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;Xs((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Lj(56512)|0;c[c[n>>2]>>2]=s}while(0);vg(c[q>>2]|0);i=t;return}function yJ(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=$q(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){Xs(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Lj(58893)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Kt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==($q((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=$q(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)Xs((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)Xs(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=$q((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){Xs((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Lj(58929)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function zJ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=$q((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;xJ(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function AJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[148>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}cj(c[d>>2]|0,3);i=f;return}function BJ(b,d,e,f){b=b|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;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=nF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Jt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}qB(f);c[c[h>>2]>>2]=0;c[g>>2]=Lj(57630)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function CJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(jj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(ij(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function DJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+16>>0]|0|0}function EJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(cf(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;xj(b,d,bf(c[f>>2]|0)|0);c[e>>2]=Cf(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{ue(c[j>>2]|0)|0;c[e>>2]=JJ(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function FJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;kg(c[e>>2]|0);c[b>>2]=KJ(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function GJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=cf(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(ue(c[h>>2]|0)|0);a=c[f>>2]|0;if(!l){b=6;break}l=c[g>>2]|0;c[j>>2]=EJ(a,l,Fe(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){b=5;break}}if((b|0)==5){JJ(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((b|0)==6){c[e>>2]=JJ(a,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function HJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;kg(c[h>>2]|0);kg(c[j>>2]|0);c[g>>2]=Bg(Of(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=pg(c[j>>2]|0)|0,d=rR(d|0,((d|0)<0)<<31>>31|0,rg(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=vi(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{IJ(Of(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function IJ(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(a[(c[e>>2]|0)+16>>0]|0){i=f;return}if(d[(c[e>>2]|0)+13>>0]|0){i=f;return}Ui(c[e>>2]|0);i=f;return}function JJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Qg(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;xj(d,j,bf(c[e>>2]|0)|0);j=c[g>>2]|0;i=h;return j|0}function KJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function LJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;n=q+32|0;o=q+28|0;p=q+24|0;f=q+20|0;j=q+16|0;e=q+12|0;h=q+8|0;g=q+4|0;k=q;m=q+40|0;c[o>>2]=b;c[p>>2]=0;if((d[(c[o>>2]|0)+16>>0]|0)!=0?(c[(c[o>>2]|0)+44>>2]|0)!=0:0){c[n>>2]=c[(c[o>>2]|0)+44>>2];p=c[n>>2]|0;i=q;return p|0}do if((sr(c[o>>2]|0)|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[p>>2]=ut(c[o>>2]|0,1)|0;if(!(c[p>>2]|0)){if((d[(c[o>>2]|0)+18>>0]|0)<=1)c[p>>2]=MJ(c[o>>2]|0,f)|0;if(!(c[p>>2]|0)){if(c[f>>2]|0){if(a[(c[o>>2]|0)+15>>0]|0){c[p>>2]=776;break}c[p>>2]=vt(c[o>>2]|0,4)|0;if(c[p>>2]|0)break;if((((c[c[(c[o>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[o>>2]>>2],c[p>>2]=Nr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,0,e)|0,(c[p>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[p>>2]=Vr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,c[(c[o>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[p>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[p>>2]=et(48855)|0;hr(c[(c[o>>2]|0)+68>>2]|0)|0}e=c[o>>2]|0;if(c[c[(c[o>>2]|0)+68>>2]>>2]|0){c[p>>2]=er(e)|0;if(!(c[p>>2]|0)){c[p>>2]=Lr(c[o>>2]|0,1)|0;a[(c[o>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))wr(c[o>>2]|0,1)|0;if(c[p>>2]|0){fr(c[o>>2]|0,c[p>>2]|0)|0;break}}if((a[(c[o>>2]|0)+13>>0]|0)==0?(d[(c[o>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[p>>2]=NJ(c[o>>2]|0,k)|0;if(c[p>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[p>>2]=Wr(c[(c[o>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[p>>2]|0)!=0&(c[p>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(vQ((c[o>>2]|0)+112|0,m,16)|0)Ui(c[o>>2]|0)}c[p>>2]=OJ(c[o>>2]|0)|0;l=35}}}else l=35;while(0);if((l|0)==35){if(sr(c[o>>2]|0)|0)c[p>>2]=PJ(c[o>>2]|0)|0;if((c[p>>2]|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)c[p>>2]=NJ(c[o>>2]|0,(c[o>>2]|0)+28|0)|0}e=c[o>>2]|0;if(c[p>>2]|0)dr(e);else{a[e+17>>0]=1;a[(c[o>>2]|0)+24>>0]=1}c[n>>2]=c[p>>2];p=c[n>>2]|0;i=q;return p|0}function MJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Nr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=WJ(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=NJ(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Sj();if((vt(c[f>>2]|0,2)|0)==0?(qr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)wr(c[f>>2]|0,1)|0;Tj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Vr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=Wr(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))hr(c[(c[f>>2]|0)+68>>2]|0)|0;c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function NJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=VJ(c[(c[e>>2]|0)+216>>2]|0)|0;if(!(c[h>>2]|0)){b=g;c[b>>2]=0;c[b+4>>2]=0;if((c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0?(c[j>>2]=Si(c[(c[e>>2]|0)+64>>2]|0,g)|0,(c[j>>2]|0)!=0):0){c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=gR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=fR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=pR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j}if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function OJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=NJ(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=qr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Nr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=RJ(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function PJ(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Gs(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=QJ(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Ui(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function QJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=Ct(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function RJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(aJ(c[f>>2]|0)|0){hr(c[(c[f>>2]|0)+68>>2]|0)|0;c[h>>2]=SJ(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function SJ(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=TJ(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;Xi(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=UJ(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;Xi(b);f=c[f>>2]|0;i=g;return f|0}function TJ(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=vt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}wr(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function UJ(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=ig(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Vr(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Ls(c[u>>2]|0,0);hr(c[(c[u>>2]|0)+8>>2]|0)|0;Kd(c[u>>2]|0)}else{c[t>>2]=Sr(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function VJ(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function WJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function XJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;kR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=_J(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=_J(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function YJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=aK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function ZJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){ZJ(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){ZJ(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function _J(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function $J(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Fw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;if((c[g>>2]|0)==1){c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}c[d>>2]=aK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(!(c[h>>2]|0)){c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=aK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function bK(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+26>>1]|0)&1)){a=XJ(c[(c[d>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a}a=(c[d>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|2;i=f;return}function cK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function dK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function eK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(jK(f,c[r>>2]|0)|0){g=25;break}if(sg(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=tg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=$q(c[m>>2]|0)|0;fK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=$q((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)fK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];iK(b,43167,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=$q((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)fK(c[q>>2]|0,c[k>>2]|0,2,0);jK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=$q(c[m>>2]|0)|0;vg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;iK(c[q>>2]|0,43206,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;iK(f,43088,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];iK(v,43145,w);i=x;return}else if((g|0)==25){i=x;return}}function fK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=mF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];iK(q,43005,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;iK(p,43034,q);i=r;return}function gK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(jK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=42625;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=nF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Kt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];iK(ba,42673,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=42711;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=$q((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=42737;fK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=gK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){iK(c[o>>2]|0,42795,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;iK(m,42819,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=$q((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)fK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);eK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){kK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=$q(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)fK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=gK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){iK(c[o>>2]|0,42843,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;iK(m,42765,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;kK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];kK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(lK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;iK(ba,42868,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;iK(ba,42905,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];iK(ba,42635,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;qB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function hK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function iK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)aA((c[f>>2]|0)+40|0,42623,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;$z(e,b,j)}dg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function jK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;iK(b,42957,e);c[g>>2]=1;break}e=(hK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;iK(a,42980,h);c[g>>2]=1;break}else{dK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function kK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function lK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function mK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;qK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function nK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Sf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);oK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)pK(c[(c[d>>2]|0)+40>>2]|0)|0;if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}pK(c[(c[d>>2]|0)+56>>2]|0)|0;d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function oK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Sf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function pK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=hr(c[e>>2]|0)|0;Kd(c[e>>2]|0);i=d;return c[b>>2]|0}function qK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Cs(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;rK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function rK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}mK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function sK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function tK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>($E(c[k>>2]|0)|0)>>>0){c[p>>2]=Lj(64010)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=_E(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=$q(c[n>>2]|0)|0,c[t>>2]=tK(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=uK(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=$q((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=tK(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){vK(j,t);break}q=Dg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)wK(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Lj(64015)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;qB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function uK(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Lj(61571)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=$q((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>($E(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=kF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=zK(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Jt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Lj(61607)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=xK(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)vg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Lj(61587)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function vK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=xK(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function wK(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)kR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);Lt(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function xK(b,d,f){b=b|0;d=d|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,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Lj(61425)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];yK(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=zK(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Dg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=$q((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;Xs((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=nF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;kR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(xJ(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=$q((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=nF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=$q((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Lj(61478)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Dg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;Xs((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);Xs((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)AK(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=BK(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=nF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){Xs(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);Xs((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);Xs((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;qB(c[o>>2]|0);qB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function yK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;CK(c[d>>2]|0);i=b;return}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=Zr(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=aF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function AK(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=g;return}if(c[(c[f>>2]|0)+104>>2]|0){i=g;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|32;a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;i=g;return}function BK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=fj(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(jj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=gj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function CK(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function DK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Lj(64136)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=nF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=QI(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){qB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){ng(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){vK(d,o);qB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{qB(d);c[o>>2]=nF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=uJ(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;qB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=nF(c[l>>2]|0,c[k>>2]|0,m,0)|0;vK(c[m>>2]|0,o);qB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=lF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=yg(c[g>>2]|0,4,c[k>>2]|0)|0}else{vK(c[n>>2]|0,o);qB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function EK(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=FK((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function FK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=GK(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=HK(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;IK(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;JK(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;JK(k,d,((d|0)<0)<<31>>31);KK(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=LK(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function GK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(wi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=TK(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Js(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function HK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[e>>2]=MK(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];e=NK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=e;c[j>>2]=ig(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;OK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;OK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Kd(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function IK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=_f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=qR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=fR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function JK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=kI(g,c[a>>2]|0,c[a+4>>2]|0)|0;KK(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function KK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);iR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=gR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Fg(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=gR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function LK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=gR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Fg(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=gR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function MK(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=cF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function NK(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[m>>2]=l;c[k>>2]=0;while(1){if(!((c[g>>2]|0)!=0?(c[h>>2]|0)!=0:0))break;c[n>>2]=Sb[c[(c[f>>2]|0)+32>>2]&255](c[f>>2]|0,k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0)|0;if((c[n>>2]|0)<=0){c[c[m>>2]>>2]=c[g>>2];c[m>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2];continue}else{c[c[m>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;continue}}c[c[m>>2]>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:c[h>>2]|0;c[c[j>>2]>>2]=c[l>>2];i=o;return}function PK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[43245+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=SK(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function QK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else tF(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else tF(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=vQ(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=SK(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function RK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=rF(a,b,o)|0;i=p;return o|0}dF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=rF(a,b,o)|0;i=p;return o|0}function SK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=sF(a,b,o,1)|0;i=p;return o|0}dF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=sF(a,b,o,1)|0;i=p;return o|0}function TK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=7;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=ig(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Vr(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function UK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=VK((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function VK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=WK(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=XK(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){qK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=YK(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=ZK(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function WK(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=aL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function XK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(wi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Cs(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=_K(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=qR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=_f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=gR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=fR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=Wr(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function YK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(St((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=gR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=qR(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(St((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=gR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=ZK(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){St(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function ZK(a,b,d){a=a|0;b=b|0;d=d|0;var 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;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=gR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=qR(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=fR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=fR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=Wr(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=gR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=bg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);iR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=gR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=ZK(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;iR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function _K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+136>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=$K(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function $K(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function aL(a){a=a|0;var b=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;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;IK(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=gR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=gR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=zF(q,((q|0)<0)<<31>>31)|0;q=gR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=gR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;JK(n,r,((r|0)<0)<<31>>31);KK(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=UK(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=LK(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function bL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=cL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=dL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}mK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function cL(a,b){a=a|0;b=b|0;var 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;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=hL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=iL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=jL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=iL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=kL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else mK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}mK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function dL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=eL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;fL(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function eL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=gL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function fL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function gL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=dL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=GK(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=gR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=VK(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function hL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=rR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function iL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=jL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=mL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}mK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function jL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(wi(100)|0)a=0;else{a=c[d>>2]|0;a=ig(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function kL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=lL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=jL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=lL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{rK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(wi(100)|0)b=0;else b=ig(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){mK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=gR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function mL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=XK(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=YK(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=gR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=gR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=VK(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function nL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function oL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=pL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function pL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=WE(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function qL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function rL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=IL(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{jR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Lj(61841)|0;c[c[n>>2]>>2]=h;i=t;return}function sL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if(c[c[t>>2]>>2]|0){i=z;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Dg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=KL(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);iR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)Xs((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);jR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}zJ(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){iR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)Xs(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function tL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=uL(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=vL(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Ti(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=wL(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Wi(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;qB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Wi(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function uL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Dg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=tJ(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,BL(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)xJ(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;qB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{iR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;iR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;wK(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);Xs((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function vL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Lj(62338)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=tJ(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;wK(c[p>>2]|0,13);c[t>>2]=GL(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(xJ(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)zJ(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);sL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);Xs((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);qB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function wL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=$q(c[K>>2]|0)|0;while(1){c[Aa>>2]=_E(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=$q(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=$q(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}iR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}rL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)kR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Lj(62677)|0;kR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=zi(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}kR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);iR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Lj(62744)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Lj(62842)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((xL(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((xL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((xL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((xL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Lj(62854)|0;break}else if((h|0)==81){c[Aa>>2]=Lj(62887)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);xL(ma,c[F>>2]|0)|0;do{xL(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2)|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Lj(62929)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Dg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=tJ(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;wK(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(xJ(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Lj(63003)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))yL(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);yL(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}Xs(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=$q(c[_>>2]|0)|0;xJ(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(xL(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))zJ(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(kI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);sL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=zL(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=AL(c[ka>>2]|0)|0;BL(c[ka>>2]|0,c[ha>>2]|0,Aa);vK(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=$q((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;xJ(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;vK(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Ai(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;qB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;qB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function xL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=JL(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function yL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;AJ(c[h>>2]|0,c[g>>2]|0);i=f;return}function zL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=DL(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;jR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=DL(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];jR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(EL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),jR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(EL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(EL(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);FL(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=GL(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function AL(b){b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=CL(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);iR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;iR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Lj(56934)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Lj(56940)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;kR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Lj(56964)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function BL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];iR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;iR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Kt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=wJ(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function CL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function DL(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var 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,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)IL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)IL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function EL(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(xL(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=HL(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));if((c[u>>2]|0)>>>0<(c[n>>2]|0)>>>0){h=7;break}c[v>>2]=c[u>>2]}jR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function FL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function GL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=CL(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);iR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}iR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Lj(62048)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function HL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Lj(56997)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Lj(57008)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function IL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;j=x+20|0;k=x+16|0;l=x+32|0;m=x+30|0;t=x+28|0;q=x+26|0;o=x+35|0;v=x+34|0;s=x+24|0;r=x+12|0;p=x+8|0;n=x+4|0;u=x;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)kR((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+5>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)h=(e[q>>1]|0|0)<(e[l>>1]|0|0);else h=0;g=e[q>>1]|0;if(!h)break;if((g|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Lj(57169)|0;w=c[j>>2]|0;i=x;return w|0}if(g>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Lj(57172)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0>(e[q>>1]|0)>>>0){c[j>>2]=Lj(57183)|0;w=c[j>>2]|0;i=x;return w|0}c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));if((c[p>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Lj(57185)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Lj(57197)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Lj(57203)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Lj(57210)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function JL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function KL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Lj(57075)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=HL(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=AL(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function LL(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+112|0;J=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;o=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+6>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=kI((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=kI((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2]}if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=35;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=lF(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=tJ(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,xJ(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)qB(c[C>>2]|0);if(c[L>>2]|0){h=24;break}Xs(c[E>>2]|0,c[G>>2]|0);qB(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];Xs(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];iR(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else kR(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==24){qB(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==35){qB(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}RI(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Sf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function NL(b,e,f){b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){rJ(f);ng(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(lF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=tJ(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=nH(c[n>>2]|0,0,0)|0;qB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=nF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=mF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Lj(63920)|0;if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=uJ(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;qB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=nF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Dg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];xJ(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=yg(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){qB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=tJ(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;wK(c[p>>2]|0,c[s>>2]|0);vg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function OL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(PL(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?($E(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function PL(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Ti(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function QL(){return 200}function RL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function SL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=TL(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function TL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=bg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}kR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=fj(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(sr(c[d>>2]|0)|0)UL(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function UL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function VL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Dg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=43252;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));wK(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;Xs((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);Xs((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function WL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=hR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=hR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=hR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function XL(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=tx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=tH(e,j,f,g)|0;else c[o>>2]=Mh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Ug(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function YL(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function ZL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=eF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Lj(70762)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=vQ(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function $L(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Ky(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Hi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function aM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(ux(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function bM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;fh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function cM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+176>>2]|0){c[b>>2]=c[(c[d>>2]|0)+176>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}RH(a)|0;c[(c[d>>2]|0)+176>>2]=0;c[(c[d>>2]|0)+184>>2]=0}kM(c[d>>2]|0);if(c[(c[d>>2]|0)+8>>2]|0)oC((c[(c[d>>2]|0)+8>>2]|0)+40|0,c[(c[d>>2]|0)+28>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+180>>2]|0))break;c[e>>2]=c[a+180>>2];c[(c[d>>2]|0)+180>>2]=c[(c[e>>2]|0)+4>>2];lM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}bI(c[d>>2]|0,-1,0);i=f;return}function dM(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0;H=i;i=i+144|0;z=H+32|0;B=H+24|0;A=H+16|0;y=H+8|0;d=H+128|0;e=H+124|0;I=H+120|0;f=H+116|0;j=H+112|0;v=H+108|0;l=H+104|0;n=H+100|0;o=H+96|0;p=H+92|0;u=H+88|0;k=H+84|0;F=H+80|0;E=H+76|0;t=H+72|0;m=H;w=H+68|0;x=H+64|0;h=H+60|0;g=H+56|0;q=H+52|0;D=H+48|0;r=H+44|0;s=H+40|0;c[e>>2]=a;c[I>>2]=b;c[j>>2]=0;c[v>>2]=0;c[l>>2]=0;c[v>>2]=eM(c[e>>2]|0,c[I>>2]|0)|0;c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(bi(c[n>>2]|0)|0){c[l>>2]=1;if((c[f>>2]|0)!=1)c[j>>2]=(c[j>>2]|0)+1;kg(c[n>>2]|0);c[v>>2]=rt(Of(c[n>>2]|0)|0)|0}c[f>>2]=(c[f>>2]|0)+1}if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[l>>2]|0)!=0?(c[(c[e>>2]|0)+196>>2]|0)!=0:0)?(c[v>>2]=Tb[c[(c[e>>2]|0)+196>>2]&255](c[(c[e>>2]|0)+192>>2]|0)|0,(c[v>>2]|0)!=0):0){c[d>>2]=531;I=c[d>>2]|0;i=H;return I|0}I=0==(If(Di(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(I|(c[j>>2]|0)<=1){c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[o>>2]|0)c[v>>2]=Kg(c[o>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[p>>2]|0)c[v>>2]=Jg(c[p>>2]|0,0)|0;c[f>>2]=(c[f>>2]|0)+1}if(!(c[v>>2]|0))fM(c[e>>2]|0)|0}else{c[u>>2]=c[c[e>>2]>>2];c[k>>2]=0;c[F>>2]=0;c[E>>2]=Di(c[(c[(c[e>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;I=m;c[I>>2]=0;c[I+4>>2]=0;c[x>>2]=0;c[h>>2]=If(c[E>>2]|0)|0;I=c[e>>2]|0;c[y>>2]=c[E>>2];c[F>>2]=Bh(I,43268,y)|0;if(!(c[F>>2]|0)){c[d>>2]=7;I=c[d>>2]|0;i=H;return I|0}do{if(c[x>>2]|0){if((c[x>>2]|0)>100){G=34;break}if((c[x>>2]|0)==1){c[B>>2]=c[F>>2];Rd(13,43298,B)}}c[x>>2]=(c[x>>2]|0)+1;Sd(4,g);I=(c[F>>2]|0)+(c[h>>2]|0)|0;E=c[g>>2]&255;c[z>>2]=(c[g>>2]|0)>>>8&16777215;c[z+4>>2]=E;Qd(13,I,43313,z)|0;c[v>>2]=Nr(c[u>>2]|0,c[F>>2]|0,0,w)|0}while((c[v>>2]|0)==0?(c[w>>2]|0)!=0:0);if((G|0)==34){c[A>>2]=c[F>>2];Rd(13,43284,A);qr(c[u>>2]|0,c[F>>2]|0,0)|0}if(!(c[v>>2]|0))c[v>>2]=TK(c[u>>2]|0,c[F>>2]|0,t,16406,0)|0;if(c[v>>2]|0){Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if((bi(c[q>>2]|0)|0)!=0?(c[D>>2]=gM(c[q>>2]|0)|0,(c[D>>2]|0)!=0):0){if((c[k>>2]|0)==0?(hM(c[q>>2]|0)|0)==0:0)c[k>>2]=1;A=c[t>>2]|0;B=c[D>>2]|0;I=(If(c[D>>2]|0)|0)+1|0;E=m;c[v>>2]=Fg(A,B,I,c[E>>2]|0,c[E+4>>2]|0)|0;E=(If(c[D>>2]|0)|0)+1|0;I=m;E=gR(c[I>>2]|0,c[I+4>>2]|0,E|0,((E|0)<0)<<31>>31|0)|0;I=m;c[I>>2]=E;c[I+4>>2]=C;if(c[v>>2]|0){G=50;break}}c[f>>2]=(c[f>>2]|0)+1}if((G|0)==50){pK(c[t>>2]|0)|0;qr(c[u>>2]|0,c[F>>2]|0,0)|0;Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}if(((c[k>>2]|0)!=0?0==((Sr(c[t>>2]|0)|0)&1024|0):0)?(I=or(c[t>>2]|0,2)|0,c[v>>2]=I,0!=(I|0)):0){pK(c[t>>2]|0)|0;qr(c[u>>2]|0,c[F>>2]|0,0)|0;Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[f>>2]=0;while(1){if(c[v>>2]|0)break;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[r>>2]|0)c[v>>2]=Kg(c[r>>2]|0,c[F>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}pK(c[t>>2]|0)|0;if(c[v>>2]|0){Sf(c[e>>2]|0,c[F>>2]|0);c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}c[v>>2]=qr(c[u>>2]|0,c[F>>2]|0,c[k>>2]|0)|0;Sf(c[e>>2]|0,c[F>>2]|0);c[F>>2]=0;if(c[v>>2]|0){c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}Sj();c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[s>>2]|0)Jg(c[s>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+1}Tj();fM(c[e>>2]|0)|0}c[d>>2]=c[v>>2];I=c[d>>2]|0;i=H;return I|0}function eM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+332>>2];c[(c[h>>2]|0)+332>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+308>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;GI(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+332>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function fM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;gu(c[d>>2]|0,64);i=b;return 0}function gM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=jM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function hM(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;b=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+4>>2];kg(c[f>>2]|0);c[b>>2]=iM(c[c[e>>2]>>2]|0)|0;i=d;return c[b>>2]|0}function iM(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+7>>0]|0|0}function jM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function kM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+56>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){yI(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function lM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;yI(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}oC(c[d>>2]|0,c[(c[b>>2]|0)+60>>2]|0);Sf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function mM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[6424+(c[b>>2]<<2)>>2]|0}function nM(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+192|0;y=L+88|0;x=L+80|0;w=L+72|0;I=L+64|0;H=L+56|0;v=L+48|0;u=L+40|0;t=L+32|0;A=L+24|0;z=L+16|0;E=L+8|0;s=L;k=L+176|0;l=L+172|0;M=L+168|0;K=L+164|0;J=L+136|0;B=L+132|0;D=L+128|0;C=L+124|0;F=L+120|0;p=L+116|0;q=L+112|0;G=L+108|0;r=L+104|0;n=L+100|0;m=L+96|0;o=L+92|0;c[k>>2]=f;c[l>>2]=g;c[M>>2]=j;c[K>>2]=c[l>>2];cg(J,0,c[l>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[k>>2]|0)+1>>0]|0){case -6:{c[D>>2]=c[(c[k>>2]|0)+16>>2];c[s>>2]=e[(c[D>>2]|0)+6>>1];$z(J,43365,s);c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[(c[D>>2]|0)+6>>1]|0))break;c[C>>2]=c[(c[D>>2]|0)+20+(c[B>>2]<<2)>>2];if(c[C>>2]|0)k=c[c[C>>2]>>2]|0;else k=19266;c[F>>2]=k;M=(yQ(c[F>>2]|0,35690)|0)==0;c[F>>2]=M?43370:k;M=c[F>>2]|0;c[E>>2]=(d[(c[(c[D>>2]|0)+16>>2]|0)+(c[B>>2]|0)>>0]|0)!=0?29135:19266;c[E+4>>2]=M;$z(J,43372,E);c[B>>2]=(c[B>>2]|0)+1}aA(J,35518,1);break}case -4:{c[p>>2]=c[(c[k>>2]|0)+16>>2];c[z>>2]=c[c[p>>2]>>2];$z(J,43378,z);break}case -5:{c[q>>2]=c[(c[k>>2]|0)+16>>2];M=b[c[q>>2]>>1]|0;c[A>>2]=c[(c[q>>2]|0)+20>>2];c[A+4>>2]=M;$z(J,43386,A);break}case -13:{H=c[(c[k>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=t;c[M>>2]=c[H>>2];c[M+4>>2]=I;$z(J,29137,t);break}case -14:{c[u>>2]=c[(c[k>>2]|0)+16>>2];$z(J,43393,u);break}case -12:{h[v>>3]=+h[c[(c[k>>2]|0)+16>>2]>>3];$z(J,43396,v);break}case -8:{c[G>>2]=c[(c[k>>2]|0)+16>>2];k=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2){c[K>>2]=c[k+16>>2];break a}l=c[G>>2]|0;if(e[k+8>>1]&4){G=l;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;$z(J,29137,H);break a}k=c[G>>2]|0;if(e[l+8>>1]&8){h[I>>3]=+h[k>>3];$z(J,43396,I);break a}if(e[k+8>>1]&1){c[K>>2]=40498;break a}else{c[K>>2]=43402;break a}}case -10:{c[r>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+8>>2];c[w>>2]=c[r>>2];$z(J,43409,w);break}case -15:{c[m>>2]=c[(c[k>>2]|0)+16>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break;c[x>>2]=c[(c[m>>2]|0)+(c[n>>2]<<2)>>2];$z(J,43417,x);c[n>>2]=(c[n>>2]|0)+1}a[c[l>>2]>>0]=91;aA(J,43421,1);break}case -18:{$z(J,43423,y);break}case -19:{a[c[l>>2]>>0]=0;break}default:{c[K>>2]=c[(c[k>>2]|0)+16>>2];if(!(c[K>>2]|0)){c[K>>2]=c[l>>2];a[c[l>>2]>>0]=0}}}while(0);eg(J)|0;i=L;return c[K>>2]|0}function oM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;fh(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function pM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=_g(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;jR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function qM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(rM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function rM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Vg(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))Zt(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(_g(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}YH(c[j>>2]|0)|0}else sx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function sM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)DF(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Sf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function tM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Sf(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function uM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;li(c[d>>2]|0);jg(c[d>>2]|0,7);i=b;return 7}function vM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;kj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function wM(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+152>>2]|0)>1:0){xM(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(yM(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;rB(c[f>>2]|0);i=g;return}function xM(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function yM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function zM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];rJ(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=$E(c[e>>2]|0)|0;b=lF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=$q((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=qJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Lj(59231)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=nH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=sJ(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Dg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;Xs((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Xs((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Xs((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;jr(c[k>>2]|0)|0;break}c[d>>2]=Lj(59226)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function AM(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=kr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=fr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function BM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=sg(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Dg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){qt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}vg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function CM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=fs(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Gt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[381]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=gR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Fg(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=gR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=gR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Gt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=gR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=gR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=gR(q|0,C|0,4,0)|0,q=Gt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=gR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=gR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=gR(q|0,C|0,8,0)|0,q=Fg(p,26758,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=gR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Si(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=nr(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0} -function DM(f){f=f|0;var 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;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(ij(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=Zr(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;zs(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[381]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=sg(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=EM(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;zs(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=Zr(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;zs(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function EM(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=FM(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}$r(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(lj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=GM(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=lt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function FM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;e=k;c[h>>2]=b;c[j>>2]=0;c[f>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[b+44>>2];j=c[g>>2]|0;i=k;return j|0}if((sr(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=fj(c[(c[h>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+60>>2]=b;if(!(c[(c[h>>2]|0)+60>>2]|0)){c[g>>2]=7;j=c[g>>2]|0;i=k;return j|0}do if(!(c[c[(c[h>>2]|0)+68>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){Ir(c[b+68>>2]|0);break}c[e>>2]=6|((d[b+13>>0]|0|0)!=0?4104:2048);c[j>>2]=HM(c[h>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Vr(c[f>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[e>>2]|0,0)|0}while(0);if(!(c[j>>2]|0)){c[(c[h>>2]|0)+48>>2]=0;f=(c[h>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;a[(c[h>>2]|0)+20>>0]=0;f=(c[h>>2]|0)+88|0;c[f>>2]=0;c[f+4>>2]=0;c[j>>2]=st(c[h>>2]|0)|0}}b=c[h>>2]|0;if(c[j>>2]|0){kj(c[b+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[g>>2]=c[j>>2];j=c[g>>2]|0;i=k;return j|0}function GM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=Yr(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Gt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=gR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Fg(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=gR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=gR(p|0,C|0,4,0)|0;c[l>>2]=Gt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=gR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=gj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=Ht(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function HM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=vi(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function IM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;kR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=ig(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=64;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=rR((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Cs(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function JM(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=KM(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[140>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function KM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[136>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function LM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function MM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=LJ(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=nF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=$q((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Cg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(vQ((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(vQ(c[j>>2]|0,43252,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=RJ(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}qB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((vQ((c[j>>2]|0)+21|0,45492,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){qB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Pi(c[o>>2]|0);c[l>>2]=Qi(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Lj(58503)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=($q((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=($q((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);qB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function NM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(sr(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=vt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=ut(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(vr(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=vt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){vr(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=OM(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function OM(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Ns(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(vQ(b,ts(c[e>>2]|0)|0,48)|0){Br(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function PM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;fh(c[d>>2]|0);i=b;return}function QM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1926]|0;if((b|0)!=(LQ()|0)){c[1926]=LQ()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=FN(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=WN(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=XN(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=BN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[(SP()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=BN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=et(33050)|0;c[B>>2]=xN(F,45571,c[E>>2]|0,33050)|0;break}if(c[l>>2]&526336){YN(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[7464>>2]&255](c[E>>2]|0)|0;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=ZN(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function RM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[7464>>2]&255](c[f>>2]|0)|0)==-1){if((c[(SP()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=xN(2570,45668,c[f>>2]|0,33178)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[7476>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(MN(c[h>>2]|0,0,0)|0)c[j>>2]=xN(1290,45902,c[f>>2]|0,33188)|0;wN(0,c[h>>2]|0,33190)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function SM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[7320>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[7296>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function TM(b,d,e,f){b=b|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,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[7596>>2]&255](c[o>>2]|0,k)|0){if((c[(SP()|0)>>2]|0)!=2){s=et(33302)|0;c[p>>2]=xN(s,45756,c[o>>2]|0,33302)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=et(33313)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[7584>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=et(33319)|0;c[p>>2]=xN(s,45747,c[o>>2]|0,33319)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=If(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=et(33325)|0;break}else{jR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;iR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=VN(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function UM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;kR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1926]=LQ()|0;c[h>>2]=BN(45889,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[7704]|0;a[e+1>>0]=a[7705]|0;a[e+2>>0]=a[7706]|0;a[e+3>>0]=a[7707]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[7368>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[(SP()|0)>>2]|0)==4);wN(0,c[h>>2]|0,33449);e=c[f>>2]|0;i=l;return e|0}function VM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;QQ(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=YM(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function XM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;i=e;return 0}function YM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=rR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=gR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=gR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function ZM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[7268+((c[g>>2]|0)*12|0)+8>>2]|0)c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(yQ(c[e>>2]|0,c[7268+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[7268+(d*12|0)+8>>2]|0))c[7268+((c[g>>2]|0)*12|0)+8>>2]=c[7268+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[7268+((c[g>>2]|0)*12|0)+8>>2];c[7268+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function _M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(yQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[7268+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function $M(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(yQ(c[d>>2]|0,c[7268+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[7268+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[7268+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function aN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7192}function bN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];iN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=PN(c[d>>2]|0)|0;i=b;return a|0}function cN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=ON(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{KN(c[l>>2]|0,0);kR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function dN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=IN(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=gR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}KN(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function eN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=gR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=fR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=pR(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=rR(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=NN(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;KN(k,c[(SP()|0)>>2]|0);c[e>>2]=xN(1546,45594,c[(c[g>>2]|0)+32>>2]|0,30893)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function fN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=MN(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){KN(d,c[(SP()|0)>>2]|0);c[f>>2]=xN(1034,45878,c[(c[h>>2]|0)+32>>2]|0,30848)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[7476>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){MN(c[g>>2]|0,0,0)|0;wN(c[h>>2]|0,c[g>>2]|0,30862)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function gN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[7332>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;KN(j,c[(SP()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function hN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[7488>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(SP()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=LN(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)KN(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function iN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[7500>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[(SP()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;KN(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function jN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[7296>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function kN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=DN(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{EN(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{EN(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(19255,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){FN(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=GN(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function lN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function mN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function nN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=CN(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=CN(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=CN(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function oN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;sN();uN();i=b;return}function pN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;sN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[7464>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;tN(c[g>>2]|0)}uN();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function qN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function rN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function sN(){return}function tN(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=vN()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[7548>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){wN(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,31469);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function uN(){return}function vN(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[7572>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function wN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[7284>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;xN(4106,45534,e,c[f>>2]|0)|0;i=g;return}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[(SP()|0)>>2];c[m>>2]=TP(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=19266;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,45540,l);i=n;return c[f>>2]|0}function yN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=VP(d,a,f)|0;i=e;return a|0}function zN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,19255,l)|0;c[h>>2]=BQ(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=BN(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=xN(et(30807)|0,45675,j,30807)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function AN(){return ib(30)|0}function BN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[7272>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(SP()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[7284>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,45762,l);c[h>>2]=-1;if((Ob[c[7272>>2]&255](45805,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[7332>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[7440>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function CN(a,d,e,f){a=a|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;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1839]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function DN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=gR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=fR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=pR(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=rR(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=gR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=fR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=fR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=IN(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,19266,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=gR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function EN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function FN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[k>>2]=HN()|0;while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,45815,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=4;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=4;break}if(Yb[c[7296>>2]&255](c[f>>2]|0,0)|0){e=6;break}}if((e|0)==4){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==6){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function GN(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[7320>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function HN(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+96|0;b=e+80|0;a=e+4|0;d=e;c[d>>2]=c[241];if(!(c[1901]|0))c[1901]=rb(45832)|0;if(!(c[1902]|0))c[1902]=rb(45846)|0;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=6){a=12;break}if((((c[d>>2]|0)!=0?(Yb[c[7320>>2]&255](c[d>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[7296>>2]&255](c[d>>2]|0,7)|0)==0:0){a=12;break}f=c[b>>2]|0;c[b>>2]=f+1;c[d>>2]=c[7604+(f<<2)>>2]}if((a|0)==12){i=e;return c[d>>2]|0}return 0}function IN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=JN(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function JN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=MQ(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[7404>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[(SP()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[(SP()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function KN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function LN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function MN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=HQ(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function NN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[7344>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[(SP()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function ON(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=MQ(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[7368>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=gR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[(SP()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;KN(p,c[(SP()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;KN(p,c[(SP()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function PN(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){wN(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,29216);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function QN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7628}function RN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=PN(c[d>>2]|0)|0;i=b;return a|0}function SN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function TN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function UN(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=If(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[7308>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=If(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=et(33245)|0;c[f>>2]=xN(b,45576,c[g>>2]|0,33245)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=et(33254)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,19255,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[7320>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}sN();c[e>>2]=c[1946];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}uN();k=c[f>>2]|0;i=j;return k|0}function XN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+624|0;h=r+100|0;j=r+96|0;k=r+92|0;l=r+88|0;m=r+84|0;o=r+80|0;q=r+104|0;n=r+76|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(If(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}iR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(Yb[c[7320>>2]&255](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function YN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[7524>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[7512>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function ZN(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(Hf((c[m>>2]&64|0)!=0?c[l>>2]|0:0,45908,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(yQ(c[(c[j>>2]|0)+16>>2]|0,45524)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=7628;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=7708){if((c[o>>2]|0)==7192){c[n>>2]=(BQ(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,45913,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{sN();c[q>>2]=_N(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){wN(c[p>>2]|0,c[k>>2]|0,32585);c[k>>2]=-1}uN()}KN(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];$N(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}wN(c[p>>2]|0,c[k>>2]|0,32670);u=c[q>>2]|0;i=t;return u|0}function _N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[7332>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;KN(m,c[(SP()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1946];while(1){if(c[j>>2]|0)a=(vQ(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1946];c[(c[j>>2]|0)+36>>2]=0;if(c[1946]|0)c[(c[1946]|0)+36>>2]=c[j>>2];c[1946]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function $N(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+112|0;j=k+24|0;h=k+16|0;d=k+8|0;b=k;f=k+108|0;g=k+32|0;l=k+28|0;c[f>>2]=a;c[l>>2]=Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,g)|0;if(c[l>>2]|0){c[b>>2]=c[(c[f>>2]|0)+32>>2];Rd(28,45921,b);i=k;return}if((c[g+16>>2]|0)==0?((e[(c[f>>2]|0)+18>>1]|0)&32|0)==0:0){c[d>>2]=c[(c[f>>2]|0)+32>>2];Rd(28,45945,d);i=k;return}a=c[f>>2]|0;if((c[g+16>>2]|0)>>>0>1){c[h>>2]=c[a+32>>2];Rd(28,45974,h);i=k;return}if(!(GN(a)|0)){i=k;return}c[j>>2]=c[(c[f>>2]|0)+32>>2];Rd(28,46001,j);i=k;return}function aO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];$N(c[d>>2]|0);cO(c[b>>2]|0,0)|0;sN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)jO(c[d>>2]|0);kO(c[d>>2]|0);c[e>>2]=PN(c[b>>2]|0)|0;uN();i=f;return c[e>>2]|0}function bO(e,f){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;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}sN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[381],(hO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[(SP()|0)>>2];c[o>>2]=LN(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;KN(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[381]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((hO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[(SP()|0)>>2],c[o>>2]=LN(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)KN(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[381]|0)+2;c[h+8>>2]=510;if(hO(c[m>>2]|0,h)|0){c[j>>2]=c[(SP()|0)>>2];c[o>>2]=LN(c[j>>2]|0,3850)|0}c[h+4>>2]=c[381];c[h+8>>2]=1;b[h>>1]=2;q=(hO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[(SP()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;KN(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);uN();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function cO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=gO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function dO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];sN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[381]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;KN(o,c[(SP()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);uN();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function eO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=vN()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=fO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[7332>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((JN(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19266,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=xN(4874,45629,c[y>>2]|0,31732)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1884]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=rR(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}kR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=xN(5386,45716,c[(c[C>>2]|0)+8>>2]|0,31759)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function fO(b){b=b|0;var 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;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;sN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[7332>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(BQ(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}kR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,46029,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(Hf(c[(c[f>>2]|0)+32>>2]|0,46036,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=BN(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=et(31584)|0;c[m>>2]=xN(p,45571,c[q>>2]|0,31584)|0;break}YN(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((CN(c[f>>2]|0,1,128,1)|0)==0?(NN(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=xN(4618,45594,c[q>>2]|0,31600)|0;if(!(c[m>>2]|0))c[m>>2]=CN(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);tN(c[f>>2]|0);Kd(c[j>>2]|0);uN();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];uN();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function gO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}sN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[381]|0)+2,c[k+8>>2]=510,(hO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;KN(q,c[(SP()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[381];c[k+8>>2]=2;if(!(hO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;KN(q,c[(SP()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(hO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;KN(q,c[(SP()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))iO(c[l>>2]|0)}uN();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function hO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[381]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1839]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1839]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function iO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];wN(c[b>>2]|0,c[c[d>>2]>>2]|0,28492);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function jO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function kO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}iO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1946]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function lO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7708}function mO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=ee(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function nO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+ce(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function oO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function pO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ae(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function qO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=gR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=dA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function rO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=288;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function sO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[60>>2]&255](c[j>>2]|0)|0;Mi(5,c[j>>2]|0);b=288;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=Zf(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=288;j=c[e>>2]|0;j=fR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[77]=1;rO(c[e>>2]|0);break}else{c[77]=0;break}}while(0);c[g>>2]=Tb[c[44>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=$f(c[g>>2]|0)|0;Ni(0,c[e>>2]|0);Ni(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function tO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=1080;c[a>>2]=9708;c[b>>2]=0;while(1){if((c[b>>2]|0)>=8)break;Yt(c[d>>2]|0,(c[a>>2]|0)+(c[b>>2]<<5)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function uO(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;a=e;c[d>>2]=1080;c[a>>2]=9612;c[b>>2]=0;while(1){if((c[b>>2]|0)>=3)break;Yt(c[d>>2]|0,(c[a>>2]|0)+(c[b>>2]<<5)|0);c[b>>2]=(c[b>>2]|0)+1}i=e;return}function vO(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=ae(c[c[s>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Qu(c[m>>2]|0,k)|0}while((c[k>>2]|0)==159)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Bh(s,46327,l)|0;ne(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function wO(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=ae(c[c[t>>2]>>2]|0)|0;c[q>>2]=ae(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Qu(c[n>>2]|0,l)|0}while((c[l>>2]|0)==159);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=46&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Bh(t,46327,m)|0;ne(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function xO(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=we(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ae(c[c[v>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Qu(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Qu(c[m>>2]|0,j)|0}while((c[j>>2]|0)==159);if((c[j>>2]|0)==160)break;v=c[h>>2]|0;c[s>>2]=Iw(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Jw(c[s>>2]|0)|0;if(!(Td(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19266;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Bh(v,46316,k)|0;Sf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Sf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19266;c[l+4>>2]=s;c[t>>2]=Bh(v,25552,l)|0;ne(c[f>>2]|0,c[t>>2]|0,-1,170);Sf(c[g>>2]|0,c[r>>2]|0);i=u;return}function yO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(GO(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}HO(f);j=f;ie(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function zO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(GO(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}JO(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,46623,f)|0;ne(c[e>>2]|0,h,-1,-1);i=j;return}function AO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(GO(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}KO(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,46608,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function BO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(GO(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}IO(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,46578,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function CO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(GO(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=we(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=gR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+88>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){se(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Fw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){te(c[m>>2]|0);i=J;return}}else c[G>>2]=H;HO(E);IO(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,46420,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,46425,s)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,46420,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;HO(F);k=E;l=F;c[p>>2]=pR(gR(fR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=gR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=pR(l|0,C|0,864e5,0)|0;l=qR(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,46420,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,46432,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,43396,u)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,46420,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,46420,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=fR(pR(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,29137,x)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,46420,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=qR(pR(gR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,46437,z)|0;c[o>>2]=(If((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;ne(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function DO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;AO(c[f>>2]|0,0,0);i=e;return}function EO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;BO(c[f>>2]|0,0,0);i=e;return}function FO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;zO(c[f>>2]|0,0,0);i=e;return}function GO(b,d,e,f){b=b|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.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=LO(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=fe(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+ce(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ae(d)|0;if((c[n>>2]|0)!=0?(MO(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=ae(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(NO(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function HO(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=gR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=gR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=fR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function IO(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;JO(c[d>>2]|0);KO(c[d>>2]|0);i=b;return}function JO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=gR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=pR(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function KO(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}HO(c[d>>2]|0);b=c[d>>2]|0;b=gR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=qR(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function LO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=VO(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function MO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(UO(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(QO(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(Td(c[j>>2]|0,46562)|0)){c[f>>2]=LO(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Ky(d,l,If(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function NO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[18477+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(yQ(c[y>>2]|0,46442)|0){y=c[x>>2]|0;i=z;return y|0}HO(c[w>>2]|0);v=OO(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=gR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;PO(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((yQ(c[y>>2]|0,46452)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=gR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=pR(v|0,C|0,86400,0)|0;v=gR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;PO(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(yQ(c[y>>2]|0,46462)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}HO(c[w>>2]|0);y=l;c[y>>2]=OO(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=fR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;PO(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=OO(c[w>>2]|0,c[g>>2]|0,x)|0;v=fR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(CQ(c[y>>2]|0,46466,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Ky((c[y>>2]|0)+8|0,n,If((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}IO(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;HO(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=qR(pR(gR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=fR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=rR(fR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=gR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;PO(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(CQ(c[y>>2]|0,46475,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;JO(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(yQ(c[y>>2]|0,46485)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(yQ(c[y>>2]|0,46491)|0)){JO(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(yQ(c[y>>2]|0,46496)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[19267+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Ky(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[19267+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(QO(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}HO(u);v=u;v=fR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=pR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=rR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=fR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=fR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}HO(c[w>>2]|0);PO(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=gR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[19267+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=If(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}HO(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(yQ(c[y>>2]|0,46496)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(yQ(c[y>>2]|0,46500)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(yQ(c[y>>2]|0,46505)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(yQ(c[y>>2]|0,46512)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(yQ(c[y>>2]|0,46485)|0)==0:0){IO(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;HO(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(yQ(c[y>>2]|0,46491)|0)==0:0){c[r>>2]=~~+h[n>>3];IO(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;HO(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=gR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);PO(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function OO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));IO(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;HO(o);l=o;l=pR(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=fR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(TO(n,m)|0){je(c[j>>2]|0,46539,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;HO(p);c[c[k>>2]>>2]=0;n=p;p=o;p=fR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function PO(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function QO(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((RO(b,46519,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((RO(r,46527,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[19267+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[19267+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(SO(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function RO(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[17286+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[19267+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function SO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[19267+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((RO(o,46531,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[19267+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function TO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function UO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((RO(b,46566,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[19267+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(QO(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)HO(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function VO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+136;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=IH(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function WO(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((fe(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=be(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ae(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=rR(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=GP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=47041;c[l>>2]=9964;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ve(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(vQ(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(vQ((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}ne(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ve(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=HP(c[e>>2]|0)|0;c[j>>2]=0;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fe(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=cI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}pe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function YO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=xe(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(fe(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}IP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=we(d)|0;c[(c[l>>2]|0)+32>>2]=m;gh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=HP(d)|0;c[j>>2]=(ve(c[g>>2]|0)|0)!=0&1;c[h>>2]=cI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){IP(c[g>>2]|0);i=n;return}gh(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function ZO(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)pe(c[d>>2]|0,c[e>>2]|0);Ug(c[e>>2]|0);i=f;return}function _O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fe(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=40517;break}case 3:{c[f>>2]=47031;break}case 2:{c[f>>2]=40512;break}case 4:{c[f>>2]=47036;break}default:c[f>>2]=40525}ne(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function $O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(fe(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{ke(c[g>>2]|0,be(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ae(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}ke(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{me(c[g>>2]|0);i=l;return}}}function aP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=fe(c[c[g>>2]>>2]|0)|0;c[n>>2]=fe(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=be(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ae(b)|0;c[p>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(vQ(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;ke(c[f>>2]|0,c[h>>2]|0);i=q;return}function bP(b,e,f){b=b|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,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((fe(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(fe(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=fe(c[c[h>>2]>>2]|0)|0;b=de(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=be(e)|0;c[p>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ae(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=de(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=fR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(we(c[m>>2]|0)|0)+88>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=gR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=gR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=gR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=gR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=fR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=gR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=gR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=fR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;he(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=gR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=gR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;oe(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function cP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=we(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=ae(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;cg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+88>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;$z(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=eg(l)|0;ne(n,o,c[k>>2]|0,170);i=p;return}function dP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;ke(j,jC(g)|0);i=h;return}function eP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){te(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=ee(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;oe(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function fP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=ee(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=fR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}je(c[e>>2]|0,46986,-1);i=k;return}while(0);j=g;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];ie(c[e>>2]|0,+h[j>>3]);i=k;return}}}function gP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fe(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=de(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fe(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+ce(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(47026,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Ky(n,j,If(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}te(c[e>>2]|0);i=m;return}while(0);ie(c[e>>2]|0,+h[j>>3]);i=m;return}function hP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=gR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=GP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[19267+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function iP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=gR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=GP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[18477+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function jP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,jf()|0,-1,0);i=e;return}function kP(b,e,f){b=b|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;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=$d(c[c[p>>2]>>2]|0)|0;c[k>>2]=be(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=rR(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=gR(b|0,C|0,1,0)|0;b=GP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[47010+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[47010+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function lP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=fR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}le(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=de(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=GP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);ge(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function nP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=HP(c[e>>2]|0)|0;if(!(cI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}pe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,kf()|0,-1,0);i=e;return}function pP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=de(c[c[g>>2]>>2]|0)|0;c[f>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,19255,f);i=e;return}function qP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ae(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;ke(h,yd(c[f>>2]|0)|0);i=g;return}function rP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=de(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;ne(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function sP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(fe(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+ce(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,29142,r)|0;Ky(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,47003,s)|0}ne(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{pe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=$d(c[c[j>>2]>>2]|0)|0;c[o>>2]=be(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=GP(u,gR(rR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[47010+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[47010+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;ne(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=gR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=gR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=gR(x|0,C|0,3,0)|0;c[t>>2]=GP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;ne(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{ne(c[g>>2]|0,40498,4,0);i=y;return}}}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;d=c[g>>2]|0;a=of(c[f>>2]|0)|0;le(d,a,C);i=e;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,pf(c[f>>2]|0)|0);i=e;return}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,qf(c[f>>2]|0)|0);i=e;return}function wP(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=be(c[c[g>>2]>>2]|0)|0;c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){pe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=be(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=GP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(vQ((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=we(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=gR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+88>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}iR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){se(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){te(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){iR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;ne(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=ee(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=qe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}re(c[e>>2]|0,c[f>>2]|0);i=g;return}function yP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=xe(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=gR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+ce(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=ee(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(_H((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function zP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){je(c[d>>2]|0,46986,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){ie(d,+h[b>>3]);i=f;return}else{g=b+8|0;le(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function AP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;ie(a,f);i=d;return}f=+h[c[b>>2]>>3];ie(a,f);i=d;return}function BP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;ie(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function CP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=xe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(fe(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=gR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function DP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;le(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;le(a,b,e);i=d;return}function EP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=xe(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=we(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+88>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=38266;c[k>>2]=1}if(c[k>>2]|0)aA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}aA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function FP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){se(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){te(b);i=f;return}else{ne(b,eg(c[e>>2]|0)|0,-1,148);i=f;return}}function GP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=we(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+88>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){se(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=_f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}te(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function HP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function IP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function JP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=$t(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+528>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function KP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Sf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)qA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Sf(e,j);i=k;return}function LP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+528>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Oj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}LF(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);LF(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Sf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function MP(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function NP(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function OP(a){a=a|0;return (a+-97|0)>>>0<26|0}function PP(a){a=a|0;return (a+-65|0)>>>0<26|0}function QP(a){a=a|0;var b=0;b=(PP(a)|0)==0;return (b?a:a|32)|0}function RP(a){a=a|0;var b=0;b=(OP(a)|0)==0;return (b?a:a&95)|0}function SP(){var a=0;if(!(c[2492]|0))a=10016;else a=c[(qb()|0)+60>>2]|0;return a|0}function TP(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[47177+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=47265;e=5;break}}if((e|0)==2)if(!c)b=47265;else{b=47265;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function UP(a,b,d){a=a|0;b=b|0;d=d|0;var 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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=XP(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=XP(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=XP(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=XP(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=XP(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=XP(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=XP(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function VP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=XP(Db(5,f|0)|0)|0;i=e;return d|0}function WP(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[49069+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function XP(a){a=a|0;if(a>>>0>4294963200){c[(SP()|0)>>2]=0-a;a=-1}return a|0}function YP(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function ZP(a){a=+a;var b=0;h[k>>3]=a;b=hR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+dQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function _P(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=hR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+dQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function $P(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=hR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+dQ(f+a*f/(1.0-a))*.5}}else a=+dQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function aQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+bQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+YP(a);break}while(0);return +a}function bQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=hR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=lR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=lR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function cQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function dQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=lR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function eQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+bQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+YP(b);while(0);return +a}function fQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+bQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+bQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+bQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function gQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(SP()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)XQ(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=XP(cb(192,h|0)|0)|0;if(j)YQ()}else{c[(SP()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;XQ(-1);c[e>>2]=a;c[e+4>>2]=b;a=XP(Xa(91,e|0)|0)|0;YQ();i=d;return a|0}function iQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){WP(e,a);c[g>>2]=e;c[g+4>>2]=b;d=XP(wb(15,g|0)|0)|0}else d=XP(d)|0;i=h;return d|0}function jQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){WP(e,a);c[g>>2]=e;c[g+4>>2]=b;d=XP(fb(195,g|0)|0)|0}else d=XP(d)|0;i=h;return d|0}function kQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(eb(196,e|0)|0)|0;i=d;return a|0}function lQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(Za(39,e|0)|0)|0;i=d;return a|0}function mQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(fb(195,e|0)|0)|0;i=d;return a|0}function nQ(a){a=a|0;return 0}function oQ(a){a=a|0;return}function pQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=XP(Cb(6,d|0)|0)|0;i=b;return a|0}function qQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((XP(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function rQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2492]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=XP(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=XP(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function sQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=rQ(b,d,e)|0;i=g;return f|0}function tQ(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=UQ(a)|0;break}d=(nQ(a)|0)==0;b=UQ(a)|0;if(!d)oQ(a)}else{if(!(c[2503]|0))b=0;else b=tQ(c[2503]|0)|0;Bb(9996);a=c[2498]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=nQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=UQ(a)|0|b;if(d)oQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(9996)}while(0);return b|0}function uQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){VQ(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)VQ(a,d,e,h,o);else WQ(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}WQ(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;WQ(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;WQ(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function vQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function wQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function xQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);kR(b|0,0,e|0)|0;return b|0}function yQ(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function zQ(a,b){a=a|0;b=b|0;wQ(a,b)|0;return a|0}function AQ(a){a=a|0;var b=0,c=0;c=(BQ(a)|0)+1|0;b=_Q(c)|0;if(!b)b=0;else iR(b|0,a|0,c|0)|0;return b|0}function BQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function CQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function DQ(a,b,c){a=a|0;b=b|0;c=c|0;xQ(a,b,c)|0;return a|0}function EQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=XP(sb(33,e|0)|0)|0;i=d;return a|0}function FQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=XP((a|0)==-4?-115:a)|0;i=b;return a|0}function GQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){WP(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=XP(hb(212,h|0)|0)|0}else e=XP(e)|0;i=j;return e|0}function HQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XP(Oa(118,d|0)|0)|0;i=b;return a|0}function IQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=XP(gb(194,e|0)|0)|0;i=d;return b|0}function JQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(SP()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((XP(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=AQ(d)|0}else a=0}i=g;return a|0}function KQ(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function LQ(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function MQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(XP(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function NQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=XP(Ab(3,f|0)|0)|0;i=e;return a|0}function OQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=XP(Ea(85,f|0)|0)|0;i=e;return a|0}function PQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XP(Na(40,d|0)|0)|0;i=b;return a|0}function QQ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function RQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XP(yb(10,d|0)|0)|0;i=b;return a|0}function SQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=XP(Eb(4,f|0)|0)|0;i=e;return a|0}function TQ(a){a=a|0;if(!(c[a+68>>2]|0))oQ(a);return}function UQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function VQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);ZQ(b,o,e);i=p;return}function WQ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){ZQ(b,p,e);VQ(a,b,d,g,h)}i=r;return}function XQ(a){a=a|0;return}function YQ(){return}function ZQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;iR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;iR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function _Q(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2533]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=10172+(e<<2)|0;e=10172+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2537]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2533]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2535]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=10172+(e<<2)|0;e=10172+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2537]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2535]|0;break}else Ma()}else{c[2533]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2538]|0;d=k>>>3;b=d<<1;e=10172+(b<<2)|0;a=c[2533]|0;d=1<>2]|0;if(b>>>0<(c[2537]|0)>>>0)Ma();else{l=a;m=b}}else{c[2533]=a|d;l=10172+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2535]=h;c[2538]=i;M=j;return M|0}a=c[2534]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[10436+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2537]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=10436+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2537]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2535]|0;if(b){g=c[2538]|0;d=b>>>3;b=d<<1;f=10172+(b<<2)|0;a=c[2533]|0;d=1<>2]|0;if(a>>>0<(c[2537]|0)>>>0)Ma();else{p=b;q=a}}else{c[2533]=a|d;p=10172+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2535]=j;c[2538]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2534]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[10436+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[10436+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2535]|0)-m|0)>>>0:0){f=c[2537]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=10436+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2537]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=10172+(a<<2)|0;d=c[2533]|0;b=1<>2]|0;if(a>>>0<(c[2537]|0)>>>0)Ma();else{s=b;t=a}}else{c[2533]=d|b;s=10172+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=10436+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2534]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2537]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2537]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2535]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2538]|0;if(b>>>0>15){c[2538]=a+q;c[2535]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2535]=0;c[2538]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2536]|0;if(a>>>0>q>>>0){L=a-q|0;c[2536]=L;M=c[2539]|0;c[2539]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2651]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2653]=a;c[2652]=a;c[2654]=-1;c[2655]=-1;c[2656]=0;c[2644]=0;c[2651]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2653]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2643]|0;if((a|0)!=0?(t=c[2641]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2644]&4)){a=c[2539]|0;e:do if(a){f=10580;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2536]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2652]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2641]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2643]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2653]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2644]=c[2644]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2641]|0)+p|0;c[2641]=a;if(a>>>0>(c[2642]|0)>>>0)c[2642]=a;h=c[2539]|0;g:do if(h){g=10580;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2536]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2539]=h+L;c[2536]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2540]=c[2655];break}a=c[2537]|0;if(w>>>0>>0){c[2537]=w;a=w}d=w+p|0;g=10580;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=10580;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2538]|0)){M=(c[2535]|0)+l|0;c[2535]=M;c[2538]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=10436+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2537]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2534]=c[2534]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=10172+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=10172+(a<<2)|0;d=c[2533]|0;b=1<>2]|0;if(a>>>0>=(c[2537]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=10436+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2534]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2537]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2537]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2536]|0)+l|0;c[2536]=M;c[2539]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=10580;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2539]=w+d;c[2536]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2540]=c[2655];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2645];c[b+4>>2]=c[2646];c[b+8>>2]=c[2647];c[b+12>>2]=c[2648];c[2645]=w;c[2646]=p;c[2648]=0;c[2647]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=10172+(a<<2)|0;d=c[2533]|0;b=1<>2]|0;if(a>>>0<(c[2537]|0)>>>0)Ma();else{G=b;H=a}}else{c[2533]=d|b;G=10172+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=10436+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2534]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2537]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2537]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2537]|0;if((M|0)==0|w>>>0>>0)c[2537]=w;c[2645]=w;c[2646]=p;c[2648]=0;c[2542]=c[2651];c[2541]=-1;b=0;do{M=b<<1;L=10172+(M<<2)|0;c[10172+(M+3<<2)>>2]=L;c[10172+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2539]=w+M;c[2536]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2540]=c[2655]}while(0);b=c[2536]|0;if(b>>>0>q>>>0){L=b-q|0;c[2536]=L;M=c[2539]|0;c[2539]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[(SP()|0)>>2]=12;M=0;return M|0}function $Q(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2537]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2538]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2535]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=10172+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=10436+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2537]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2539]|0)){t=(c[2536]|0)+g|0;c[2536]=t;c[2539]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2538]|0))return;c[2538]=0;c[2535]=0;return}if((q|0)==(c[2538]|0)){t=(c[2535]|0)+g|0;c[2535]=t;c[2538]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2537]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=10436+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2537]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2537]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=10172+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2537]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2533]=c[2533]&~(1<>>0<(c[2537]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2538]|0)){c[2535]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=10172+(d<<2)|0;e=c[2533]|0;b=1<>2]|0;if(d>>>0<(c[2537]|0)>>>0)Ma();else{r=b;s=d}}else{c[2533]=e|b;r=10172+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=10436+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2534]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2537]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2534]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2541]|0)+-1|0;c[2541]=u;if(!u)b=10588;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2541]=-1;return}function aR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=_Q(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;kR(b|0,0,d|0)|0;return b|0}function bR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=_Q(b)|0;return a|0}if(b>>>0>4294967231){c[(SP()|0)>>2]=12;a=0;return a|0}d=cR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=_Q(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;iR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;$Q(a);a=d;return a|0}function cR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2537]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2653]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;dR(a+b|0,d);return a|0}if((l|0)==(c[2539]|0)){d=(c[2536]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2539]=a+b;c[2536]=n;return a|0}if((l|0)==(c[2538]|0)){e=(c[2535]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2535]=d;c[2538]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=10436+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2537]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=10172+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;dR(a+b|0,n);return a|0}return 0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2537]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2538]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2535]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=10172+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=10436+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2537]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2537]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2539]|0)){s=(c[2536]|0)+h|0;c[2536]=s;c[2539]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2538]|0))return;c[2538]=0;c[2535]=0;return}if((q|0)==(c[2538]|0)){s=(c[2535]|0)+h|0;c[2535]=s;c[2538]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=10436+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2534]=c[2534]&~(1<>>0<(c[2537]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2537]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2537]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=10172+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2533]=c[2533]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2538]|0)){c[2535]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=10172+(e<<2)|0;f=c[2533]|0;d=1<>2]|0;if(e>>>0<(c[2537]|0)>>>0)Ma();else{r=d;s=e}}else{c[2533]=f|d;r=10172+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=10436+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2534]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2537]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2537]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function eR(){}function fR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function gR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function iR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function jR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else iR(b,c,d)|0;return b|0}function kR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function lR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function nR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function oR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function pR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=fR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return fR((uR(h,g,fR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function qR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=fR(h^a,g^b,h,g)|0;b=C;uR(a,b,fR(l^d,k^e,l,k)|0,C,j)|0;e=fR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function rR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=oR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function sR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return uR(a,b,c,d,0)|0}function tR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;uR(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0} -function Km(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Mm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Nm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Nm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=fR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,rR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Om(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=fR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=rR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;Wl(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Vl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Tl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Vl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Lm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Pm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)Ym(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=Zm(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Mm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Mm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return}function Nm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Nm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Nm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Nm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=fR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=rR(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Nm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Nm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;kR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Nm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}kR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Nm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=fR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=rR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Nm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Nm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Nm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Nm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=fR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=rR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Nm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Nm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=fR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=rR(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Nm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Pm(c[h>>2]|0);u=Qm(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Om(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=Ul(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}Zl(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=Ul(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=rR(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=gR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Pm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Qm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Rm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){Wl(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Sm(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Rm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Tm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=Um(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=fR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,rR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=fR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;rR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=Um(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=fR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=rR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;iR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=Vm(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Sm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=Ul(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=fR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=gR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];Zl(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Tm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Ql(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Ql(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Nl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Ol(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Rl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function Um(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Sm(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Tm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function Vm(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Vl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Vl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Tl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Vl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Tl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Vl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=El(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}Wm(y,t);j=t;j=fR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;Wm(z,u);h=u;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=gR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=gR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=gR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;Xm(x,v,h,C);h=v;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=gR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;Wm(y,t);h=t;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;Wm(z,u);h=u;h=fR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Tl(0,y);Tl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Vl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Vl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}Zl(0,z);Zl(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=Ul(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=gR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function Xm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=fR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=El(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function Ym(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function Zm(a,b,e){a=a|0;b=b|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=$m(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=_m(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function _m(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=bm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(cm(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Pl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Nl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=an(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=bn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function an(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=ol(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=pl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=fn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=gn(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;hn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;hn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function bn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=cn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function cn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];dn(x,c[z>>2]|0,0,r);dn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=fR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=rR(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){Zl(0,x);dn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{Zl(0,y);dn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;en(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!(Vm(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}dn(x,c[z>>2]|0,c[j>>2]|0,r);dn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=Ul(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=fR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=gR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function en(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=fR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=fR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=El(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function fn(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){iR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=jn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function gn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=jn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function hn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;vl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function jn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];dn(u,c[w>>2]|0,0,p);dn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=fR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=rR(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;en(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);kn(t,u,v);dn(u,c[w>>2]|0,c[k>>2]|0,p);dn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;en(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);Zl(t,v);dn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;en(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);Zl(t,u);dn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function kn(b,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){Vl(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){Vl(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=ln(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Tl(q,r);continue}else{f=ln(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Tl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=ln(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);Wm(r,k);Wm(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;Xm(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=fR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){mn(r,k);break}else{mn(s,l);break}}else{mn(r,k);mn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function ln(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(El((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function mn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){Wm(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=fR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=zn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Me(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(ue(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Zd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)re(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function on(a){a=a|0;var b=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,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=Ee(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Fe(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=wn(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(vQ(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;xn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=yn((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function pn(b,e,f){b=b|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;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((pn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(pn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(rn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Pm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Pm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=pn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=pn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(pn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(pn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Pm(c[k>>2]|0);f=sn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function qn(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;el(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function rn(a,b){a=a|0;b=b|0;var 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;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=un(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=un(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function sn(a,b){a=a|0;b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=tn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];Vm(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if(Vm(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=Ul(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];iR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function un(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=vn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;kR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function vn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;Vm(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];Vm(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){kn(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){Zl(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){Zl(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function wn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function xn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=fR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=yn(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=yn(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=yn(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=gR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=fR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=yn(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=El((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(24088,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function An(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=An(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=An(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Bn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Cn(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function Cn(b,e){b=b|0;e=e|0;var 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;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}kR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Mm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Zd(c[(c[h>>2]|0)+8>>2]|0)|0;Nm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Im(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Dn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Mm(c[h>>2]|0,c[o>>2]|0,q);do{Nm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Dn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=Vl(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Dn(c[(c[f>>2]|0)+12>>2]|0);Dn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function En(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Lm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=Vl(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Gn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=Ul(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=fR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function In(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=jl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=ue(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(He(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Zd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=jl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Le(c[e>>2]|0,1,0)|0;if((ue(c[e>>2]|0)|0)==100?(He(c[e>>2]|0,0)|0)==4:0)break;h=Zd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function Kn(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Mn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,24216,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Nn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,24244,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,24231,0,0,0)|0;break}c[e>>2]=$e(a,24231,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);sm(c[b>>2]|0);i=f;return c[d>>2]|0}function Nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=jl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Le(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Le(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(ue(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=De(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=il(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Zd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}sm(c[d>>2]|0);dl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function On(b,d){b=b|0;d=d|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){ne(c[e>>2]|0,19266,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Dm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Hm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Fe(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Be(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((He(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=wn(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Qn(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,24261,y)|0;c[A>>2]=Rn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);sm(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){re(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{ne(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Km(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Qn(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Qn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=Vl(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Rn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=BQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);iR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Sn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){ne(c[j>>2]|0,19266,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Tn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=Un(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);sm(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){re(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{ne(g,c[F>>2]|0,-1,148);i=G;return}}function Tn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Dm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}kR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Hm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=lR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!((Xn(B)|0)!=0^1))break;g=o;Yn(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function Un(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Fe(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((He(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Be(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=wn(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=Vn(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Rn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Rn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=lR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Rn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Rn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Rn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Rn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Rn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Rn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function Vn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=lR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=lR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=wn(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=hR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function Wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Km(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Qn(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function Xn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);Zn((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);Zn((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);Zn((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function Yn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=lR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=lR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=hR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Qn(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function Zn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Qn(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function _n(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=jl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(ue(c[f>>2]|0)|0))c[e>>2]=De(c[f>>2]|0,0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function $n(a,b,e){a=a|0;b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=ao(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=jl(c[g>>2]|0,28,y,0)|0;Le(c[y>>2]|0,1,c[h>>2]|0)|0;if((ue(c[y>>2]|0)|0)==100){a=Ee(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=c[h>>2]}else c[v>>2]=-1;c[A>>2]=Zd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=bo(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=qR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=qR(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;kR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=co(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=gR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=eo(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=fo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=ol(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=pl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=go(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=ho(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=io(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=pl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;ko(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=rR(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}lo(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=gR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;tl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}vl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=mo(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=jl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Le(c[g>>2]|0,1,1)|0;if((100==(ue(c[g>>2]|0)|0)?(c[e>>2]=Ae(c[g>>2]|0,0)|0,c[f>>2]=Be(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(no(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){iR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Zd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function bo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=Ul((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=Vl(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=jl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=gR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Me(e,1,l,C)|0;ue(c[h>>2]|0)|0;l=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=jl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Me(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=pR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=gR(m|0,C|0,1,0)|0;m=rR(m|0,C|0,1024,0)|0;Me(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(ue(c[j>>2]|0)|0)){m=(He(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Zd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{kR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=jl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Me(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((ue(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=Ee(c[n>>2]|0,1)|0;d=C;e=Ee(c[n>>2]|0,2)|0;a=C;f=Ee(c[n>>2]|0,3)|0;g=C;h=Ae(c[n>>2]|0,4)|0;m=Be(c[n>>2]|0,4)|0;c[o>>2]=im(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Zd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function go(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=jl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=gR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Me(d,1,g,C)|0;Le(c[G>>2]|0,2,c[l>>2]|0)|0;g=(ue(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Zd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=Ee(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=Ee(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;yl(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=rR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Be(c[G>>2]|0,4)|0;c[v>>2]=Ae(c[G>>2]|0,4)|0;g=q;c[H>>2]=zo(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=am(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=so(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=wo(u)|0}if((to(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;xo(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=fR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=gR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=gR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=gR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;no((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){iR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=so(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=wo(J)|0}no((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(iR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=am(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;no((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){iR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}xo(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Zd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function ho(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=jl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Me(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Me(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(ue(c[r>>2]|0)|0))c[p>>2]=De(c[r>>2]|0,0)|0;c[s>>2]=Zd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=jl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(ue(c[q>>2]|0)|0)){r=Ee(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=fR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=gR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Zd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=zl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=gR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function io(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Gl(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Dl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Dl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Dl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=zl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=yo(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=gR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Dl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Dl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=gR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;no((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=vo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Fl(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=oo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=po(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=qo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function ko(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;no(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=El((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=El((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function lo(b,e,f){b=b|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,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;no(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(El((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=zl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=gR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Bl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=jl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Le(c[e>>2]|0,1,1)|0;Je(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;ue(c[e>>2]|0)|0;c[f>>2]=Zd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function no(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=jl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Le(c[h>>2]|0,2,c[g>>2]|0)|0;ue(c[h>>2]|0)|0;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function po(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=jl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Me(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(ue(c[x>>2]|0)|0)){c[o>>2]=Ae(c[x>>2]|0,4)|0;c[u>>2]=Be(c[x>>2]|0,4)|0;a=Ee(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=ro(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Zd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=am(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=ro(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=zl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=jl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Me(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=fR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Me(z,2,f,C)|0;ue(c[w>>2]|0)|0;c[y>>2]=Zd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=jl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Me(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Je(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Me(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[v>>2]|0,4,c[k>>2]|0)|0;ue(c[v>>2]|0)|0;c[y>>2]=Zd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function qo(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=jl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Me(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(ue(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=De(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Zd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=jl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Me(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Le(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Le(c[o>>2]|0,1,c[k>>2]|0)|0;ue(c[o>>2]|0)|0;c[p>>2]=Zd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function ro(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;no(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=so(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=to(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;uo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=vo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=wo(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;uo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}xo(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function so(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(Ul((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=wo(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=wo(h)|0;i=j;return h|0}return 0}function to(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=vQ(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function uo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(El((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;no(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Gl(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);iR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=El((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=El((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;iR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=El((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;iR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function wo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Vl(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Vl(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;no((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}iR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Vl(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function xo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function yo(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Gl(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Dl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Dl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=zl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=gR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(El(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=gR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(no(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(El((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}no(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);no((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=El((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=El((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;iR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);iR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=jl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Me(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(ue(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Zd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Ao(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(fe(c[c[h>>2]>>2]|0)|0)==5:0)?(fe(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Bo(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);kR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Co(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((fe(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((fe(c[r>>2]|0)|0)!=5){if((fe(c[c[h>>2]>>2]|0)|0)!=5?(f=ee(c[c[h>>2]>>2]|0)|0,u=C,b=ee(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Do(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Eo(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}if((fe(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Do(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Eo(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Fo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Go(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)Ho(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}Io(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;sm(u);u=c[s>>2]|0;i=t;return u|0}function Bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=ae(c[l>>2]|0)|0;c[f>>2]=be(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,21373,8)|0):0)c[g>>2]=Nn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,24342,7)|0):0){c[g>>2]=So(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,24350,15)|0):0){c[g>>2]=To(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,24366,6)|0):0){c[g>>2]=Uo(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,24373,10)|0):0){c[g>>2]=Vo(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Co(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=jl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Ne(c[d>>2]|0,1)|0;ue(c[d>>2]|0)|0;c[e>>2]=Zd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Do(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;No(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=Oo(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=Po(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;kR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Qo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Qo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((fe(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fe(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=ee(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=jl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Le(d,k,de(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(fe(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Pe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}ue(c[j>>2]|0)|0;c[l>>2]=Zd(c[j>>2]|0)|0;j=of(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Fo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=gl(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Go(a,b,e,f){a=a|0;b=b|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;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Lo(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=be(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Ko(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=jl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Me(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Je(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;ue(c[k>>2]|0)|0;l=Zd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Io(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=jl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Le(c[r>>2]|0,1,0)|0;if((ue(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=Ae(c[r>>2]|0,0)|0;Jo(f,b,a,Be(c[r>>2]|0,0)|0)}else kR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Zd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Ko(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=jl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Le(c[r>>2]|0,1,0)|0;Je(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;ue(c[r>>2]|0)|0;t=Zd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function Jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=Ul((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Ko(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=El((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Lo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=wn(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=Mo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=Mo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function Mo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=yk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((xn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(fk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function No(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=jl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(ue(h)|0)){c[q>>2]=Ro(c[k>>2]|0,c[r>>2]|0)|0;e=Ee(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Fo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Fe(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Lo(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Be(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Zd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Zd(c[r>>2]|0)|0}else Zd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function Oo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=jl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(ue(c[h>>2]|0)|0)){d=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Zd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;dl(c[e>>2]|0);if(c[h>>2]|0)Qo(f,c[e>>2]|0,2,0);Qo(f,c[e>>2]|0,3,0);Qo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Qo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Qo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Qo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=jl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=De(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function So(b){b=b|0;var 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;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=Po(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(24461,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{kR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(ue(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Ro(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=Ee(c[p>>2]|0,0)|0;c[q>>2]=Fo(b,0,f,g,C)|0;kR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Fe(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Lo(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Be(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)Ho(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Yd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Io(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Yd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function To(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=Yo(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function Uo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=Wo(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=Wo(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))Xo(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=$n(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;sm(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function Vo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=Wo(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(Xo(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=jl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Le(c[g>>2]|0,1,2)|0;Le(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;ue(c[g>>2]|0)|0;c[h>>2]=Zd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function Wo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function Xo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;hl(d,b,24384,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function Yo(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=jl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Le(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Le(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(ue(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=De(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=Zo(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Zd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(24461,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(ue(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=Ee(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Ro(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Fe(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Be(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=wn(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=_o(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=_o(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Yd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function Zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=kl(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=ol(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){vl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=pl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=Ul(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=Ul(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=fR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=gR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=_o(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=Ul(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=Ul(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=gR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}vl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function _o(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=lR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=gR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=gR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=lR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=gR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=gR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function $o(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Zd(c[(c[e>>2]|0)+8>>2]|0)|0;Nm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Im(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function ap(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Ap(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=ee(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function cp(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=op(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=pp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=qp(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}ap(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;zk(z,24570,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];zk(z,24622,r);z=c[p>>2]|0;i=s;return z|0}function dp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;ep(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];fp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=gp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=gp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);hp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function ep(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);ep(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);ep(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=mp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function fp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=lp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}fp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}fp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function gp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=ip(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=jp(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;hn(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=an(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=bn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=kp(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function hp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){hp(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);hp(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=Zm(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Jn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=Ae(c[m>>2]|0,0)|0;b=Be(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=Ul(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=Ul(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Zd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=pR(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=gR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=pR(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Zd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function kp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);Zl(0,j)}j=c[h>>2]|0;i=k;return j|0}function lp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=am(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=gR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function mp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=kl(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=kl(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=np(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=kl(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function np(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=dm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function op(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=BQ(c[s>>2]|0)|0;c[w>>2]=rp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function pp(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=pp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=pp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){ap(c[e>>2]|0);ap(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else kR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=pp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){ap(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;ap(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}ap(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function qp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=qp(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=qp(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function rp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=sp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=tp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;up(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else up(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){ap(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){ap(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){ap(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}ap(c[v>>2]|0);ap(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function sp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(wp(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2068+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(vQ(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(wp(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=tp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=xp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=rp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=BQ(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=yp(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function tp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}kR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=vp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(vp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function vp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function wp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function xp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=wn(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=zp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=zp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;iR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=zp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;kR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){iR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function yp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=wn(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=tp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;iR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Ap(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Bp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Bp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Pm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;hn(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Cp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];el(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Dp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Ep(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return} -function Uv(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;ra=i;i=i+304|0;F=ra+32|0;E=ra+16|0;D=ra;I=ra+288|0;J=ra+284|0;K=ra+280|0;L=ra+276|0;M=ra+272|0;S=ra+268|0;fa=ra+264|0;n=ra+260|0;m=ra+256|0;U=ra+252|0;aa=ra+248|0;Y=ra+244|0;qa=ra+240|0;da=ra+236|0;ba=ra+232|0;ca=ra+228|0;V=ra+224|0;W=ra+220|0;Z=ra+216|0;T=ra+212|0;oa=ra+208|0;Q=ra+204|0;P=ra+200|0;s=ra+180|0;t=ra+176|0;l=ra+172|0;pa=ra+295|0;R=ra+294|0;G=ra+293|0;r=ra+292|0;ea=ra+168|0;ka=ra+164|0;ia=ra+160|0;ma=ra+156|0;la=ra+152|0;na=ra+148|0;ja=ra+144|0;N=ra+140|0;$=ra+136|0;ga=ra+132|0;C=ra+128|0;A=ra+124|0;q=ra+120|0;w=ra+116|0;y=ra+112|0;z=ra+108|0;p=ra+104|0;B=ra+72|0;u=ra+68|0;x=ra+64|0;o=ra+60|0;v=ra+56|0;O=ra+52|0;X=ra+48|0;ha=ra+44|0;_=ra+40|0;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[ca>>2]=0;c[V>>2]=0;c[W>>2]=0;c[Z>>2]=-1;c[oa>>2]=0;c[Q>>2]=0;c[P>>2]=0;a[pa>>0]=0;a[R>>0]=0;c[ea>>2]=0;c[ka>>2]=0;c[ia>>2]=0;c[ma>>2]=0;c[N>>2]=0;c[S>>2]=c[c[I>>2]>>2];c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;a:do if((c[(c[I>>2]|0)+68>>2]|0)==0?(d[(c[S>>2]|0)+65>>0]|0)==0:0){if(((c[K>>2]|0)!=0?(e[(c[K>>2]|0)+6>>1]&256|0)!=0:0)?(c[(c[K>>2]|0)+52>>2]|0)==0:0){c[ea>>2]=c[c[K>>2]>>2];c[c[K>>2]>>2]=0;Wu(c[S>>2]|0,c[K>>2]|0);c[K>>2]=0}c[n>>2]=c[(c[J>>2]|0)+8+8>>2];if((((((c[n>>2]|0)!=0?(c[fa>>2]=DB(c[I>>2]|0,c[J>>2]|0)|0,(c[fa>>2]|0)!=0):0)?(c[t>>2]=Dh(c[S>>2]|0,c[(c[fa>>2]|0)+64>>2]|0)|0,c[l>>2]=(c[(c[S>>2]|0)+16>>2]|0)+(c[t>>2]<<4),c[m>>2]=c[c[l>>2]>>2],(Mw(c[I>>2]|0,18,c[c[fa>>2]>>2]|0,0,c[m>>2]|0)|0)==0):0)?(a[G>>0]=((d[(c[fa>>2]|0)+42>>0]&32|0)==0^1)&1,c[ga>>2]=sC(c[I>>2]|0,c[fa>>2]|0,108,0,C)|0,c[$>>2]=(c[(c[fa>>2]|0)+12>>2]|0)!=0&1,(zx(c[I>>2]|0,c[fa>>2]|0)|0)==0):0)?(tC(c[I>>2]|0,c[fa>>2]|0,c[C>>2]|0)|0)==0:0)?(c[qa>>2]=Pw(c[I>>2]|0)|0,(c[qa>>2]|0)!=0):0){if(!(d[(c[I>>2]|0)+18>>0]|0))uC(c[qa>>2]|0);ax(c[I>>2]|0,((c[K>>2]|0)!=0?1:(c[ga>>2]|0)!=0)&1,c[t>>2]|0);if(!((c[L>>2]|0)==0?(vC(c[I>>2]|0,c[fa>>2]|0,c[K>>2]|0,c[M>>2]|0,c[t>>2]|0)|0)!=0:0))H=17;b:do if((H|0)==17){c[ia>>2]=wC(c[I>>2]|0,c[t>>2]|0,c[fa>>2]|0)|0;n=(c[(c[I>>2]|0)+76>>2]|0)+1|0;c[la>>2]=n;c[na>>2]=n;n=(c[I>>2]|0)+76|0;c[n>>2]=(c[n>>2]|0)+((b[(c[fa>>2]|0)+34>>1]|0)+1);if(d[(c[fa>>2]|0)+42>>0]&16){c[na>>2]=(c[na>>2]|0)+1;n=(c[I>>2]|0)+76|0;c[n>>2]=(c[n>>2]|0)+1}c[ja>>2]=(c[na>>2]|0)+1;a[r>>0]=(d[(c[fa>>2]|0)+42>>0]&128|0)==0;c:do if(c[L>>2]|0){c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break;c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)+4>>2]=-1;c[U>>2]=(c[U>>2]|0)+1}c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break c;c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;n=(Td(c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*24|0)>>2]|0)|0)==0;k=c[aa>>2]|0;if(n){H=28;break}c[aa>>2]=k+1}do if((H|0)==28){H=0;c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)+4>>2]=k;if((c[U>>2]|0)!=(c[aa>>2]|0))a[r>>0]=0;if((c[aa>>2]|0)!=(b[(c[fa>>2]|0)+32>>1]|0))break;c[Z>>2]=c[U>>2]}while(0);if((c[aa>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0)){n=(qi(c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)>>2]|0)|0)==0;if(n|(a[G>>0]|0)!=0)break;c[Z>>2]=c[U>>2];a[r>>0]=0}c[U>>2]=(c[U>>2]|0)+1}qa=c[I>>2]|0;pa=c[(c[c[L>>2]>>2]|0)+(c[U>>2]<<3)>>2]|0;c[D>>2]=c[J>>2];c[D+4>>2]=0;c[D+8>>2]=pa;Ah(qa,35073,D);a[(c[I>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[K>>2]|0)){c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[B+24>>2]=0;c[B+28>>2]=0;c[B>>2]=c[I>>2];c[oa>>2]=-1;if(c[ea>>2]|0){c[ba>>2]=c[c[ea>>2]>>2];if(gy(B,c[ea>>2]|0)|0)break a;else break}else{c[ba>>2]=0;break}}else{B=(c[I>>2]|0)+76|0;D=(c[B>>2]|0)+1|0;c[B>>2]=D;c[A>>2]=D;c[q>>2]=(Bz(c[qa>>2]|0)|0)+1;Vw(c[qa>>2]|0,16,c[A>>2]|0,0,c[q>>2]|0)|0;ZA(s,13,c[A>>2]|0);c[s+8>>2]=(d[r>>0]|0)!=0?c[ja>>2]|0:0;c[s+12>>2]=b[(c[fa>>2]|0)+34>>1];c[w>>2]=Cv(c[I>>2]|0,c[K>>2]|0,s)|0;c[ka>>2]=c[s+8>>2];if(c[w>>2]|0)break a;if(d[(c[S>>2]|0)+65>>0]|0)break a;if(c[(c[I>>2]|0)+68>>2]|0)break a;xC(c[qa>>2]|0,c[A>>2]|0);Fz(c[qa>>2]|0,(c[q>>2]|0)-1|0);c[ba>>2]=c[c[c[K>>2]>>2]>>2];if(!((c[ga>>2]|0)==0?(yC(c[I>>2]|0,c[t>>2]|0,c[fa>>2]|0)|0)==0:0))a[pa>>0]=1;if(!(a[pa>>0]|0))break;B=(c[I>>2]|0)+72|0;D=c[B>>2]|0;c[B>>2]=D+1;c[oa>>2]=D;c[y>>2]=Wz(c[I>>2]|0)|0;c[z>>2]=Wz(c[I>>2]|0)|0;Rw(c[qa>>2]|0,57,c[oa>>2]|0,c[ba>>2]|0)|0;c[p>>2]=xz(c[qa>>2]|0,18,c[s+4>>2]|0)|0;Vw(c[qa>>2]|0,49,c[ka>>2]|0,c[ba>>2]|0,c[y>>2]|0)|0;Rw(c[qa>>2]|0,74,c[oa>>2]|0,c[z>>2]|0)|0;Vw(c[qa>>2]|0,75,c[oa>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Ez(c[qa>>2]|0,c[p>>2]|0)|0;Fz(c[qa>>2]|0,c[p>>2]|0);_z(c[I>>2]|0,c[y>>2]|0);_z(c[I>>2]|0,c[z>>2]|0)}while(0);if((c[L>>2]|0)==0&(c[ba>>2]|0)>0)c[Z>>2]=b[(c[fa>>2]|0)+32>>1];c[U>>2]=0;while(1){if((c[U>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;c[ca>>2]=(c[ca>>2]|0)+((d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+23>>0]&2|0)!=0?1:0);c[U>>2]=(c[U>>2]|0)+1}if((c[L>>2]|0)==0&(c[ba>>2]|0)!=0?(c[ba>>2]|0)!=((b[(c[fa>>2]|0)+34>>1]|0)-(c[ca>>2]|0)|0):0){qa=c[I>>2]|0;oa=(b[(c[fa>>2]|0)+34>>1]|0)-(c[ca>>2]|0)|0;pa=c[ba>>2]|0;c[E>>2]=c[J>>2];c[E+4>>2]=0;c[E+8>>2]=oa;c[E+12>>2]=pa;Ah(qa,35105,E);break a}do if(c[L>>2]|0){if((c[ba>>2]|0)==(c[(c[L>>2]|0)+4>>2]|0))break;qa=c[I>>2]|0;pa=c[(c[L>>2]|0)+4>>2]|0;c[F>>2]=c[ba>>2];c[F+4>>2]=pa;Ah(qa,35157,F);break a}while(0);if(c[(c[S>>2]|0)+24>>2]&128){E=(c[I>>2]|0)+76|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[ma>>2]=F;Rw(c[qa>>2]|0,22,0,c[ma>>2]|0)|0}d:do if(!(c[$>>2]|0)){c[u>>2]=gC(c[I>>2]|0,c[fa>>2]|0,55,0,-1,0,V,W)|0;c[N>>2]=Fw(c[S>>2]|0,(c[u>>2]|0)+1<<2,0)|0;if(!(c[N>>2]|0))break a;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[u>>2]|0))break d;E=(c[I>>2]|0)+76|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[N>>2]|0)+(c[U>>2]<<2)>>2]=F;c[U>>2]=(c[U>>2]|0)+1}}while(0);do if(a[pa>>0]|0){c[Q>>2]=xz(c[qa>>2]|0,108,c[oa>>2]|0)|0;c[P>>2]=Bz(c[qa>>2]|0)|0}else{if(!(c[K>>2]|0))break;F=xz(c[qa>>2]|0,18,c[s+4>>2]|0)|0;c[P>>2]=F;c[Q>>2]=F}while(0);c[T>>2]=Cz(c[qa>>2]|0)|0;if(c[C>>2]&1){c[x>>2]=kA(c[I>>2]|0,(b[(c[fa>>2]|0)+34>>1]|0)+1|0)|0;if((c[Z>>2]|0)<0)Rw(c[qa>>2]|0,22,-1,c[x>>2]|0)|0;else{if(a[pa>>0]|0)Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[Z>>2]|0,c[x>>2]|0)|0;else xA(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[x>>2]|0);c[o>>2]=xz(c[qa>>2]|0,77,c[x>>2]|0)|0;Rw(c[qa>>2]|0,22,-1,c[x>>2]|0)|0;Fz(c[qa>>2]|0,c[o>>2]|0);xz(c[qa>>2]|0,38,c[x>>2]|0)|0}c[aa>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;e:do if(c[L>>2]|0){c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break e;if((c[(c[c[L>>2]>>2]|0)+(c[aa>>2]<<3)+4>>2]|0)==(c[U>>2]|0))break e;c[aa>>2]=(c[aa>>2]|0)+1}}while(0);do if((a[pa>>0]|0)!=0|(c[ea>>2]|0)!=0){if((c[L>>2]|0)!=0?(c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0){H=90;break}if(a[pa>>0]|0){Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[aa>>2]|0,(c[x>>2]|0)+(c[U>>2]|0)+1|0)|0;break}else{zC(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*20|0)>>2]|0,(c[x>>2]|0)+(c[U>>2]|0)+1|0);break}}else H=90;while(0);if((H|0)==90){H=0;xA(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+4>>2]|0,(c[x>>2]|0)+(c[U>>2]|0)+1|0)}if(!(c[L>>2]|0))c[aa>>2]=(c[aa>>2]|0)+1;c[U>>2]=(c[U>>2]|0)+1}if(!(c[$>>2]|0))AC(c[qa>>2]|0,c[fa>>2]|0,(c[x>>2]|0)+1|0);BC(c[I>>2]|0,c[ga>>2]|0,108,0,1,c[fa>>2]|0,(c[x>>2]|0)-(b[(c[fa>>2]|0)+34>>1]|0)-1|0,c[M>>2]|0,c[T>>2]|0);nA(c[I>>2]|0,c[x>>2]|0,(b[(c[fa>>2]|0)+34>>1]|0)+1|0)}do if(!(c[$>>2]|0)){if(d[(c[fa>>2]|0)+42>>0]&16)Rw(c[qa>>2]|0,25,0,c[la>>2]|0)|0;f:do if((c[Z>>2]|0)>=0){do if(a[pa>>0]|0)Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[Z>>2]|0,c[na>>2]|0)|0;else{if(c[K>>2]|0){Rw(c[qa>>2]|0,30,(c[ka>>2]|0)+(c[Z>>2]|0)|0,c[na>>2]|0)|0;break}xA(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0,c[na>>2]|0);c[v>>2]=Mz(c[qa>>2]|0,-1)|0;if(!(c[v>>2]|0))break;if((d[c[v>>2]>>0]|0)!=25)break;if(d[(c[fa>>2]|0)+42>>0]&16)break;a[R>>0]=1;a[c[v>>2]>>0]=74;c[(c[v>>2]|0)+4>>2]=c[V>>2];c[(c[v>>2]|0)+8>>2]=c[na>>2];c[(c[v>>2]|0)+12>>2]=c[ia>>2]}while(0);if(a[R>>0]|0)break;k=c[qa>>2]|0;if(d[(c[fa>>2]|0)+42>>0]&16){c[O>>2]=Bz(k)|0;Rw(c[qa>>2]|0,76,c[na>>2]|0,(c[O>>2]|0)+2|0)|0}else{c[O>>2]=xz(k,77,c[na>>2]|0)|0;Vw(c[qa>>2]|0,74,c[V>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;Fz(c[qa>>2]|0,c[O>>2]|0)}xz(c[qa>>2]|0,38,c[na>>2]|0)|0}else{do if(!(d[(c[fa>>2]|0)+42>>0]&16)){if(d[G>>0]|0)break;Vw(c[qa>>2]|0,74,c[V>>2]|0,c[na>>2]|0,c[ia>>2]|0)|0;a[R>>0]=1;break f}while(0);Rw(c[qa>>2]|0,25,0,c[na>>2]|0)|0}while(0);CC(c[I>>2]|0,c[ia>>2]|0,c[na>>2]|0);c[ca>>2]=0;c[U>>2]=0;while(1){if((c[U>>2]|0)>=(b[(c[fa>>2]|0)+34>>1]|0))break;c[X>>2]=(c[na>>2]|0)+1+(c[U>>2]|0);g:do if((c[U>>2]|0)==(b[(c[fa>>2]|0)+32>>1]|0))xz(c[qa>>2]|0,26,c[X>>2]|0)|0;else{h:do if(!(c[L>>2]|0))if(d[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+23>>0]&2){c[aa>>2]=-1;c[ca>>2]=(c[ca>>2]|0)+1;break}else{c[aa>>2]=(c[U>>2]|0)-(c[ca>>2]|0);break}else{c[aa>>2]=0;while(1){if((c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0))break h;if((c[(c[c[L>>2]>>2]|0)+(c[aa>>2]<<3)+4>>2]|0)==(c[U>>2]|0))break h;c[aa>>2]=(c[aa>>2]|0)+1}}while(0);do if(!((c[aa>>2]|0)<0|(c[ba>>2]|0)==0)){if((c[L>>2]|0)!=0?(c[aa>>2]|0)>=(c[(c[L>>2]|0)+4>>2]|0):0)break;if(a[pa>>0]|0){Vw(c[qa>>2]|0,47,c[oa>>2]|0,c[aa>>2]|0,c[X>>2]|0)|0;break g}if(!(c[K>>2]|0)){xA(c[I>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+((c[aa>>2]|0)*20|0)>>2]|0,c[X>>2]|0);break g}if((c[ka>>2]|0)==(c[ja>>2]|0))break g;Rw(c[qa>>2]|0,31,(c[ka>>2]|0)+(c[aa>>2]|0)|0,c[X>>2]|0)|0;break g}while(0);DC(c[I>>2]|0,c[(c[(c[fa>>2]|0)+4>>2]|0)+((c[U>>2]|0)*24|0)+4>>2]|0,c[X>>2]|0)}while(0);c[U>>2]=(c[U>>2]|0)+1}if(d[(c[fa>>2]|0)+42>>0]&16){c[ha>>2]=Ax(c[S>>2]|0,c[fa>>2]|0)|0;EC(c[I>>2]|0,c[fa>>2]|0);Uw(c[qa>>2]|0,12,1,(b[(c[fa>>2]|0)+34>>1]|0)+2|0,c[la>>2]|0,c[ha>>2]|0,-10)|0;Fh(c[qa>>2]|0,((c[M>>2]|0)==10?2:c[M>>2]|0)&255);Bx(c[I>>2]|0);break}else{FC(c[I>>2]|0,c[fa>>2]|0,c[N>>2]|0,c[V>>2]|0,c[W>>2]|0,c[la>>2]|0,0,(c[Z>>2]|0)>=0&255,c[M>>2]&255,c[T>>2]|0,_,0);GC(c[I>>2]|0,c[fa>>2]|0,0,c[la>>2]|0,0,0);HC(c[I>>2]|0,c[fa>>2]|0,c[V>>2]|0,c[W>>2]|0,c[la>>2]|0,c[N>>2]|0,0,d[R>>0]|0,(c[_>>2]|0)==0&1);break}}while(0);if(c[(c[S>>2]|0)+24>>2]&128)Rw(c[qa>>2]|0,37,c[ma>>2]|0,1)|0;if(c[ga>>2]|0)BC(c[I>>2]|0,c[ga>>2]|0,108,0,2,c[fa>>2]|0,(c[ja>>2]|0)-2-(b[(c[fa>>2]|0)+34>>1]|0)|0,c[M>>2]|0,c[T>>2]|0);Gz(c[qa>>2]|0,c[T>>2]|0);do if(a[pa>>0]|0){Rw(c[qa>>2]|0,7,c[oa>>2]|0,c[P>>2]|0)|0;Fz(c[qa>>2]|0,c[Q>>2]|0);xz(c[qa>>2]|0,61,c[oa>>2]|0)|0}else{if(!(c[K>>2]|0))break;Ez(c[qa>>2]|0,c[P>>2]|0)|0;Fz(c[qa>>2]|0,c[Q>>2]|0)}while(0);if((c[$>>2]|0)!=0?1:(d[(c[fa>>2]|0)+42>>0]&16|0)!=0)break;if((c[V>>2]|0)<(c[W>>2]|0))xz(c[qa>>2]|0,61,c[V>>2]|0)|0;c[Y>>2]=0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break b;xz(c[qa>>2]|0,61,(c[Y>>2]|0)+(c[W>>2]|0)|0)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2];c[Y>>2]=(c[Y>>2]|0)+1}}while(0);if((d[(c[I>>2]|0)+18>>0]|0)==0?(c[(c[I>>2]|0)+420>>2]|0)==0:0)IC(c[I>>2]|0);if(((c[(c[S>>2]|0)+24>>2]&128|0)!=0?(a[(c[I>>2]|0)+18>>0]|0)==0:0)?(c[(c[I>>2]|0)+420>>2]|0)==0:0){Rw(c[qa>>2]|0,33,c[ma>>2]|0,1)|0;OB(c[qa>>2]|0,1);PB(c[qa>>2]|0,0,0,35182,0)|0}}}while(0);Yu(c[S>>2]|0,c[J>>2]|0);Vu(c[S>>2]|0,c[ea>>2]|0);Wu(c[S>>2]|0,c[K>>2]|0);_u(c[S>>2]|0,c[L>>2]|0);Sf(c[S>>2]|0,c[N>>2]|0);i=ra;return}function Vv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=ph(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=rC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){_u(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Dw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function Wv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function Xv(d,e){d=d|0;e=e|0;var 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;t=i;i=i+64|0;p=t+16|0;o=t+8|0;f=t+44|0;g=t+40|0;k=t+36|0;r=t+32|0;q=t+50|0;n=t+28|0;l=t;j=t+24|0;m=t+48|0;h=t+20|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=If(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(Hi((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+88+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+88+36>>2];Ah(s,35007,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=b[(c[f>>2]|0)+444>>1]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))b[(c[f>>2]|0)+444>>1]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+448>>2]|0))break;if((c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(yQ(c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+444|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+448>>2]|0)){c[h>>2]=Ew(c[k>>2]|0,c[(c[f>>2]|0)+476>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+476>>2]=c[h>>2];kR((c[h>>2]|0)+(c[(c[f>>2]|0)+448>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+448>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+448>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Sf(c[k>>2]|0,c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Iw(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+444|0;s=(b[r>>1]|0)+1<<16>>16;b[r>>1]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+68>>2]|0){i=t;return}if((b[(c[f>>2]|0)+444>>1]|0)<=(c[(c[k>>2]|0)+88+36>>2]|0)){i=t;return}Ah(c[f>>2]|0,35050,p);i=t;return}function Yv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=cz(c[c[f>>2]>>2]|0,95,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function Zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=cz(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){Vu(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];dw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function _v(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=rv(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,c[c[j>>2]>>2]|0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=rv(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function aw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;k=g+4|0;j=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;f=rv(c[m>>2]|0,c[l>>2]|0,c[c[k>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[(c[h>>2]|0)+8>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);i=g;return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];Zu(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function cw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;m=g+12|0;l=g+8|0;j=g+4|0;k=g;c[h>>2]=a;c[m>>2]=b;c[l>>2]=d;c[j>>2]=e;c[k>>2]=f;f=rv(c[m>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[k>>2]>>2];c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+68>>2]|0){i=f;return}ez(c[e>>2]|0);Ey(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function ew(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Gv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+140+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Ah(p,34967,l)}Hv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function fw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+65>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}if(pz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}c[h>>2]=Fj(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)zB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Ah(f,34757,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Ah(t,34775,l);s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}c[g>>2]=Dh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?20769:20788;if(Mw(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(Mw(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}c[k>>2]=Pw(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}ax(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?20769:20788;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;Ow(t,34848,m);pC(c[p>>2]|0,c[g>>2]|0,31725,c[c[h>>2]>>2]|0);Qw(c[p>>2]|0,c[g>>2]|0);qC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);Uw(c[k>>2]|0,126,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;Yu(s,t);i=u;return}function gw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Pw(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}Rw(c[b>>2]|0,10,0,0)|0;Hh(c[b>>2]|0,0);i=d;return}function hw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0;ac=i;i=i+800|0;Ia=ac+264|0;Sb=ac+256|0;Rb=ac+248|0;db=ac+240|0;Aa=ac+208|0;za=ac+200|0;ya=ac+184|0;xa=ac+160|0;Qb=ac+144|0;Pb=ac+128|0;wa=ac+112|0;va=ac+96|0;cb=ac+72|0;ua=ac+64|0;ta=ac+56|0;sa=ac+48|0;r=ac+40|0;p=ac+32|0;Xb=ac+792|0;l=ac+788|0;s=ac+784|0;n=ac+780|0;o=ac+776|0;_b=ac+772|0;$b=ac+768|0;fb=ac+764|0;m=ac+760|0;q=ac+744|0;Wb=ac+736|0;X=ac+732|0;ra=ac+728|0;Y=ac+724|0;la=ac+720|0;Zb=ac+716|0;Fa=ac+712|0;Yb=ac+708|0;Hb=ac+704|0;v=ac+700|0;na=ac+696|0;$=ac+692|0;Ga=ac+688|0;aa=ac+684|0;B=ac+680|0;T=ac+676|0;Pa=ac+672|0;Da=ac+668|0;E=ac+664|0;ga=ac+660|0;U=ac+656|0;F=ac+652|0;V=ac+648|0;Ba=ac+644|0;Z=ac+640|0;ha=ac+636|0;R=ac+24|0;ba=ac+632|0;D=ac+628|0;y=ac+624|0;N=ac+620|0;S=ac+616|0;z=ac+612|0;oa=ac+608|0;pa=ac+604|0;qa=ac+16|0;ma=ac+600|0;Q=ac+596|0;Ea=ac+592|0;Za=ac+588|0;Ma=ac+584|0;Ra=ac+580|0;Ta=ac+576|0;Ua=ac+572|0;Ya=ac+568|0;ea=ac+564|0;H=ac+560|0;ia=ac+556|0;Db=ac+552|0;Jb=ac+548|0;lb=ac+544|0;Bb=ac+540|0;kb=ac+796|0;fa=ac+536|0;ja=ac+532|0;I=ac+528|0;A=ac+516|0;J=ac+512|0;K=ac+508|0;_=ac+504|0;ca=ac+500|0;da=ac+496|0;ka=ac+492|0;L=ac+488|0;W=ac+484|0;Va=ac+480|0;_a=ac+476|0;Xa=ac+472|0;Wa=ac+468|0;Na=ac+464|0;Qa=ac+460|0;Sa=ac+456|0;eb=ac+452|0;ab=ac+448|0;$a=ac+444|0;bb=ac+440|0;Ka=ac+436|0;Ja=ac+432|0;La=ac+428|0;Oa=ac+424|0;mb=ac+420|0;rb=ac+416|0;hb=ac+412|0;Cb=ac+408|0;qb=ac+404|0;Tb=ac+400|0;Mb=ac+396|0;jb=ac+392|0;Kb=ac+388|0;Eb=ac+384|0;Lb=ac+380|0;Fb=ac+376|0;Gb=ac+372|0;Ib=ac+368|0;Ab=ac+364|0;ob=ac+360|0;pb=ac+356|0;Nb=ac+352|0;Ub=ac+348|0;sb=ac+344|0;ub=ac+340|0;tb=ac+336|0;vb=ac+332|0;wb=ac+328|0;xb=ac+324|0;ib=ac+320|0;Ob=ac+316|0;yb=ac+312|0;zb=ac+308|0;nb=ac+304|0;gb=ac+300|0;Ha=ac+296|0;P=ac+292|0;w=ac+288|0;x=ac+284|0;M=ac+280|0;Ca=ac+276|0;O=ac+272|0;G=ac+268|0;t=ac+8|0;u=ac;c[Xb>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[_b>>2]=0;c[$b>>2]=0;c[fb>>2]=0;c[Y>>2]=0;c[Zb>>2]=c[c[Xb>>2]>>2];c[Yb>>2]=Pw(c[Xb>>2]|0)|0;if(!(c[Yb>>2]|0)){i=ac;return}KB(c[Yb>>2]|0);c[(c[Xb>>2]|0)+76>>2]=2;c[Wb>>2]=tz(c[Xb>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[Wb>>2]|0)<0){i=ac;return}c[Fa>>2]=(c[(c[Zb>>2]|0)+16>>2]|0)+(c[Wb>>2]<<4);if((c[Wb>>2]|0)==1?(cx(c[Xb>>2]|0)|0)!=0:0){i=ac;return}c[_b>>2]=Dw(c[Zb>>2]|0,c[m>>2]|0)|0;if(!(c[_b>>2]|0)){i=ac;return}k=c[Zb>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[$b>>2]=Bh(k,32915,p)|0}else c[$b>>2]=Dw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Fa>>2]>>2]|0;else l=0;c[fb>>2]=l;a:do if(!(Mw(c[Xb>>2]|0,19,c[_b>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[_b>>2];c[q+8>>2]=c[$b>>2];c[q+12>>2]=0;c[(c[Zb>>2]|0)+448+8>>2]=0;c[la>>2]=Ff(c[Zb>>2]|0,c[fb>>2]|0,14,q)|0;if(!(c[la>>2]|0)){LB(c[Yb>>2]|0,32919,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[la>>2]|0)!=12){if(c[q>>2]|0){Yb=c[Xb>>2]|0;c[r>>2]=c[q>>2];Ah(Yb,19255,r);Kd(c[q>>2]|0)}Yb=(c[Xb>>2]|0)+68|0;c[Yb>>2]=(c[Yb>>2]|0)+1;c[(c[Xb>>2]|0)+12>>2]=c[la>>2];break}c[X>>2]=0;c[ra>>2]=57;while(1){if((c[X>>2]|0)>(c[ra>>2]|0))break;c[Y>>2]=((c[X>>2]|0)+(c[ra>>2]|0)|0)/2|0;c[la>>2]=Td(c[_b>>2]|0,c[5312+((c[Y>>2]|0)*12|0)>>2]|0)|0;if(!(c[la>>2]|0))break;l=c[Y>>2]|0;if((c[la>>2]|0)<0){c[ra>>2]=l-1;continue}else{c[X>>2]=l+1;continue}}if((c[X>>2]|0)<=(c[ra>>2]|0)){c[Hb>>2]=5312+((c[Y>>2]|0)*12|0);if((d[(c[Hb>>2]|0)+5>>0]&1|0)!=0?(pz(c[Xb>>2]|0)|0)!=0:0)break;do switch(d[(c[Hb>>2]|0)+4>>0]|0){case 11:{Hh(c[Yb>>2]|0,c[Wb>>2]|0);if(c[$b>>2]|0){c[na>>2]=yj(Ki(c[$b>>2]|0)|0)|0;ax(c[Xb>>2]|0,0,c[Wb>>2]|0);Vw(c[Yb>>2]|0,52,c[Wb>>2]|0,3,c[na>>2]|0)|0;c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];zj(c[(c[Fa>>2]|0)+4>>2]|0,c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{MB(c[Yb>>2]|0,32926);Xb=(c[Xb>>2]|0)+76|0;c[Xb>>2]=(c[Xb>>2]|0)+2;c[v>>2]=Gh(c[Yb>>2]|0,9,32937,0)|0;c[(c[v>>2]|0)+4>>2]=c[Wb>>2];c[(c[v>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[v>>2]|0)+120+4>>2]=2e3;break a}}case 25:{c[$>>2]=c[(c[Fa>>2]|0)+4>>2];if(c[$b>>2]|0){Yb=Ki(c[$b>>2]|0)|0;c[(c[Zb>>2]|0)+72>>2]=Yb;if(7!=(xi(c[$>>2]|0,c[(c[Zb>>2]|0)+72>>2]|0,-1,0)|0))break a;jh(c[Zb>>2]|0);break a}if(c[$>>2]|0)l=pg(c[$>>2]|0)|0;else l=0;c[Ga>>2]=l;Xb=c[Ga>>2]|0;NB(c[Yb>>2]|0,32973,Xb,((Xb|0)<0)<<31>>31);break a}case 26:{c[aa>>2]=c[(c[Fa>>2]|0)+4>>2];c[B>>2]=-1;if(c[$b>>2]|0)c[B>>2]=(Bi(c[$b>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break b;vB(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);c[B>>2]=vB(c[aa>>2]|0,c[B>>2]|0)|0;Xb=c[B>>2]|0;NB(c[Yb>>2]|0,32983,Xb,((Xb|0)<0)<<31>>31);break a}case 23:{bx(c[Xb>>2]|0,c[Wb>>2]|0);l=(c[Xb>>2]|0)+76|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Pa>>2]=m;m=c[Yb>>2]|0;l=c[Wb>>2]|0;k=c[Pa>>2]|0;if((d[18477+(d[c[_b>>2]>>0]|0)>>0]|0)==112)Rw(m,156,l,k)|0;else Vw(m,157,l,k,yj(Ki(c[$b>>2]|0)|0)|0)|0;Rw(c[Yb>>2]|0,33,c[Pa>>2]|0,1)|0;OB(c[Yb>>2]|0,1);PB(c[Yb>>2]|0,0,0,c[_b>>2]|0,-1)|0;break a}case 22:{c[Da>>2]=32997;c[E>>2]=QB(c[$b>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[Zb>>2]|0)+67>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[U>>2]=2;while(1){if((c[U>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break;c[ga>>2]=Of(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0)|0;uB(c[ga>>2]|0,c[E>>2]|0)|0;c[U>>2]=(c[U>>2]|0)+1}a[(c[Zb>>2]|0)+67>>0]=c[E>>2]}c[ga>>2]=Of(c[(c[Fa>>2]|0)+4>>2]|0)|0;c[E>>2]=uB(c[ga>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Da>>2]=33004;LB(c[Yb>>2]|0,33014,c[Da>>2]|0);break a}case 19:{MB(c[Yb>>2]|0,33027);if(c[$b>>2]|0){c[Z>>2]=If(c[$b>>2]|0)|0;c[F>>2]=0;while(1){Xb=RB(c[F>>2]|0)|0;c[Ba>>2]=Xb;if(!Xb)break;if(!(zd(c[$b>>2]|0,c[Ba>>2]|0,c[Z>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Ba>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[Wb>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[V>>2]=(c[(c[Zb>>2]|0)+20>>2]|0)-1;while(1){if((c[V>>2]|0)<0)break;do if(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[V>>2]<<4)+4>>2]|0){if((c[V>>2]|0)!=(c[Wb>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Hh(c[Yb>>2]|0,c[V>>2]|0);Vw(c[Yb>>2]|0,9,c[V>>2]|0,1,c[F>>2]|0)|0}while(0);c[V>>2]=(c[V>>2]|0)+-1}Rw(c[Yb>>2]|0,33,1,1)|0;break a}case 20:{c[ha>>2]=Of(c[(c[Fa>>2]|0)+4>>2]|0)|0;Xb=R;c[Xb>>2]=-2;c[Xb+4>>2]=-1;if((c[$b>>2]|0)!=0?(Ci(c[$b>>2]|0,R)|0,Xb=R,Wb=c[Xb+4>>2]|0,(Wb|0)<-1|(Wb|0)==-1&(c[Xb>>2]|0)>>>0<4294967295):0){Xb=R;c[Xb>>2]=-1;c[Xb+4>>2]=-1}Wb=R;Wb=SB(c[ha>>2]|0,c[Wb>>2]|0,c[Wb+4>>2]|0)|0;Xb=R;c[Xb>>2]=Wb;c[Xb+4>>2]=C;Xb=R;NB(c[Yb>>2]|0,33040,c[Xb>>2]|0,c[Xb+4>>2]|0);break a}case 1:{c[ba>>2]=c[(c[Fa>>2]|0)+4>>2];if(!(c[$b>>2]|0)){Xb=c[Yb>>2]|0;Yb=TB(c[ba>>2]|0)|0;NB(Xb,33059,Yb,((Yb|0)<0)<<31>>31);break a}c[D>>2]=UB(c[$b>>2]|0)|0;a[(c[Zb>>2]|0)+68>>0]=c[D>>2];c[la>>2]=VB(c[ba>>2]|0,c[D>>2]|0)|0;if(c[la>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[N>>2]=Bz(c[Yb>>2]|0)|0;c[y>>2]=Gh(c[Yb>>2]|0,5,33071,0)|0;c[(c[y>>2]|0)+4>>2]=c[Wb>>2];c[(c[y>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[y>>2]|0)+40+8>>2]=(c[N>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[Wb>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Hh(c[Yb>>2]|0,c[Wb>>2]|0);break a}case 15:{if(!((c[$b>>2]|0)!=0?(Vb=(Li(c[$b>>2]|0,S)|0)==0,!(Vb|(c[S>>2]|0)<=0)):0))c[S>>2]=2147483647;ax(c[Xb>>2]|0,0,c[Wb>>2]|0);Rw(c[Yb>>2]|0,22,c[S>>2]|0,1)|0;c[z>>2]=xz(c[Yb>>2]|0,146,c[Wb>>2]|0)|0;xz(c[Yb>>2]|0,33,1)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Rw(c[Yb>>2]|0,138,1,c[z>>2]|0)|0;Fz(c[Yb>>2]|0,c[z>>2]|0);break a}case 4:if(c[$b>>2]|0){c[oa>>2]=Ki(c[$b>>2]|0)|0;c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]=c[oa>>2];zj(c[(c[Fa>>2]|0)+4>>2]|0,c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{Xb=c[(c[(c[Fa>>2]|0)+12>>2]|0)+80>>2]|0;NB(c[Yb>>2]|0,32926,Xb,((Xb|0)<0)<<31>>31);break a}case 5:{if(!(c[$b>>2]|0)){k=c[Yb>>2]|0;if(!(c[(c[Zb>>2]|0)+24>>2]&32))l=0;else l=WB(c[(c[Fa>>2]|0)+4>>2]|0,0)|0;NB(k,33091,l,((l|0)<0)<<31>>31);break a}c[pa>>2]=1;if(Li(c[$b>>2]|0,pa)|0)WB(c[(c[Fa>>2]|0)+4>>2]|0,c[pa>>2]|0)|0;Yb=(Bi(c[$b>>2]|0,(c[pa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[Zb>>2]|0)+24|0;k=c[l>>2]|0;if(Yb)c[l>>2]=k|32;else c[l>>2]=k&-33;XB(c[Zb>>2]|0);break a}case 24:{Wb=qa;c[Wb>>2]=0;c[Wb+4>>2]=0;c[la>>2]=0;if(!(c[la>>2]|0)){Xb=qa;NB(c[Yb>>2]|0,33103,c[Xb>>2]|0,c[Xb+4>>2]|0);break a}if((c[la>>2]|0)==12)break a;Yb=(c[Xb>>2]|0)+68|0;c[Yb>>2]=(c[Yb>>2]|0)+1;c[(c[Xb>>2]|0)+12>>2]=c[la>>2];break a}case 32:if(c[$b>>2]|0){YB(c[Xb>>2]|0,c[$b>>2]|0)|0;break a}else{NB(c[Yb>>2]|0,33113,d[(c[Zb>>2]|0)+64>>0]|0,0);break a}case 33:{if(!(c[$b>>2]|0)){LB(c[Yb>>2]|0,33124,c[241]|0);break a}if((a[c[$b>>2]>>0]|0)!=0?(c[la>>2]=Nr(c[c[Zb>>2]>>2]|0,c[$b>>2]|0,1,ma)|0,(c[la>>2]|0)!=0|(c[ma>>2]|0)==0):0){Ah(c[Xb>>2]|0,33145,sa);break a}if((d[(c[Zb>>2]|0)+64>>0]|0)<=1)ZB(c[Xb>>2]|0)|0;Kd(c[241]|0);if(a[c[$b>>2]>>0]|0){c[ta>>2]=c[$b>>2];c[241]=Od(19255,ta)|0;break a}else{c[241]=0;break a}}case 30:{if(!(c[$b>>2]|0)){Xb=(d[(c[Fa>>2]|0)+8>>0]|0)-1|0;NB(c[Yb>>2]|0,33170,Xb,((Xb|0)<0)<<31>>31);break a}if(a[(c[Zb>>2]|0)+63>>0]|0){Yb=((Ji(c[$b>>2]|0,0,1)|0)&255)+1&7;c[Q>>2]=Yb;c[Q>>2]=(c[Q>>2]|0)==0?1:Yb;a[(c[Fa>>2]|0)+8>>0]=c[Q>>2];XB(c[Zb>>2]|0);break a}else{Ah(c[Xb>>2]|0,33182,ua);break a}}case 2:{if(!(c[$b>>2]|0)){Xb=(c[(c[Zb>>2]|0)+24>>2]&c[(c[Hb>>2]|0)+8>>2]|0)!=0&1;NB(c[Yb>>2]|0,c[c[Hb>>2]>>2]|0,Xb,((Xb|0)<0)<<31>>31);break a}c[Ea>>2]=c[(c[Hb>>2]|0)+8>>2];if(!(d[(c[Zb>>2]|0)+63>>0]|0))c[Ea>>2]=c[Ea>>2]&-524289;Xb=(Bi(c[$b>>2]|0,0)|0)<<24>>24!=0;l=c[Ea>>2]|0;if(!Xb){Xb=(c[Zb>>2]|0)+24|0;c[Xb>>2]=c[Xb>>2]&~l;if((c[Ea>>2]|0)==16777216){Xb=(c[Zb>>2]|0)+520|0;c[Xb>>2]=0;c[Xb+4>>2]=0}}else{Xb=(c[Zb>>2]|0)+24|0;c[Xb>>2]=c[Xb>>2]|l}Rw(c[Yb>>2]|0,147,0,0)|0;XB(c[Zb>>2]|0);break a}case 31:{if(!(c[$b>>2]|0))break a;c[Za>>2]=pi(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[Za>>2]|0))break a;c[Ta>>2]=0;c[Ya>>2]=Ej(c[Za>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=6;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,6,6008);zx(c[Xb>>2]|0,c[Za>>2]|0)|0;c[Ma>>2]=0;c[Ua>>2]=c[(c[Za>>2]|0)+4>>2];while(1){if((c[Ma>>2]|0)>=(b[(c[Za>>2]|0)+34>>1]|0))break a;if(d[(c[Ua>>2]|0)+23>>0]&2)c[Ta>>2]=(c[Ta>>2]|0)+1;else{c:do if(!(d[(c[Ua>>2]|0)+23>>0]&1))c[Ra>>2]=0;else{Xb=(c[Ya>>2]|0)==0;c[Ra>>2]=1;if(Xb)break;while(1){if((c[Ra>>2]|0)>(b[(c[Za>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Ya>>2]|0)+4>>2]|0)+((c[Ra>>2]|0)-1<<1)>>1]|0)==(c[Ma>>2]|0))break c;c[Ra>>2]=(c[Ra>>2]|0)+1}}while(0);l=c[Yb>>2]|0;k=c[c[Ua>>2]>>2]|0;if(c[(c[Ua>>2]|0)+12>>2]|0)m=c[(c[Ua>>2]|0)+12>>2]|0;else m=19266;Vb=(d[(c[Ua>>2]|0)+20>>0]|0)!=0?1:0;Wb=c[(c[Ua>>2]|0)+8>>2]|0;Xb=c[Ra>>2]|0;c[cb>>2]=(c[Ma>>2]|0)-(c[Ta>>2]|0);c[cb+4>>2]=k;c[cb+8>>2]=m;c[cb+12>>2]=Vb;c[cb+16>>2]=Wb;c[cb+20>>2]=Xb;$B(l,1,33235,cb);Rw(c[Yb>>2]|0,33,1,6)|0}c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ua>>2]=(c[Ua>>2]|0)+24}}case 29:{c[Yb>>2]=Pw(c[Xb>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=4;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,4,6032);c[H>>2]=c[(c[(c[Fa>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ia>>2]=c[(c[H>>2]|0)+8>>2];Xb=c[Yb>>2]|0;Ub=c[c[ia>>2]>>2]|0;Vb=aC(b[(c[ia>>2]|0)+40>>1]|0)|0;Wb=aC(b[(c[ia>>2]|0)+38>>1]|0)|0;c[va>>2]=Ub;c[va+4>>2]=0;c[va+8>>2]=Vb;c[va+12>>2]=Wb;$B(Xb,1,33242,va);Rw(c[Yb>>2]|0,33,1,4)|0;c[ea>>2]=c[(c[ia>>2]|0)+8>>2];while(1){if(!(c[ea>>2]|0))break;Xb=c[Yb>>2]|0;Ub=c[c[ea>>2]>>2]|0;Vb=aC(b[(c[ea>>2]|0)+48>>1]|0)|0;Wb=aC(b[c[(c[ea>>2]|0)+8>>2]>>1]|0)|0;c[wa>>2]=Ub;c[wa+4>>2]=Vb;c[wa+8>>2]=Wb;$B(Xb,2,33247,wa);Rw(c[Yb>>2]|0,33,1,4)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[$b>>2]|0))break a;c[Db>>2]=Fj(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[Db>>2]|0))break a;l=c[Db>>2]|0;if(c[(c[Hb>>2]|0)+8>>2]|0){c[Bb>>2]=e[l+52>>1];c[(c[Xb>>2]|0)+76>>2]=6}else{c[Bb>>2]=e[l+50>>1];c[(c[Xb>>2]|0)+76>>2]=3}c[Jb>>2]=c[(c[Db>>2]|0)+12>>2];bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,c[(c[Xb>>2]|0)+76>>2]|0,6048);c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(c[Bb>>2]|0))break a;b[kb>>1]=b[(c[(c[Db>>2]|0)+4>>2]|0)+(c[lb>>2]<<1)>>1]|0;l=c[Yb>>2]|0;k=b[kb>>1]|0;if((b[kb>>1]|0)<0)m=0;else m=c[(c[(c[Jb>>2]|0)+4>>2]|0)+((b[kb>>1]|0)*24|0)>>2]|0;c[Pb>>2]=c[lb>>2];c[Pb+4>>2]=k;c[Pb+8>>2]=m;$B(l,1,33251,Pb);if(c[(c[Hb>>2]|0)+8>>2]|0){Wb=c[Yb>>2]|0;Ub=c[(c[(c[Db>>2]|0)+32>>2]|0)+(c[lb>>2]<<2)>>2]|0;Vb=(c[lb>>2]|0)<(e[(c[Db>>2]|0)+50>>1]|0)&1;c[Qb>>2]=d[(c[(c[Db>>2]|0)+28>>2]|0)+(c[lb>>2]|0)>>0];c[Qb+4>>2]=Ub;c[Qb+8>>2]=Vb;$B(Wb,4,33255,Qb)}Rw(c[Yb>>2]|0,33,1,c[(c[Xb>>2]|0)+76>>2]|0)|0;c[lb>>2]=(c[lb>>2]|0)+1}}case 17:{if(!(c[$b>>2]|0))break a;c[ja>>2]=pi(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[Yb>>2]=Pw(c[Xb>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=5;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,5,6072);c[fa>>2]=c[(c[ja>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[fa>>2]|0))break a;c[A>>2]=c[1523];c[A+4>>2]=c[1524];c[A+8>>2]=c[1525];Xb=c[Yb>>2]|0;Tb=c[c[fa>>2]>>2]|0;Ub=(d[(c[fa>>2]|0)+54>>0]|0)!=0&1;Vb=c[A+((a[(c[fa>>2]|0)+55>>0]&3)<<2)>>2]|0;Wb=(c[(c[fa>>2]|0)+36>>2]|0)!=0&1;c[xa>>2]=c[I>>2];c[xa+4>>2]=Tb;c[xa+8>>2]=Ub;c[xa+12>>2]=Vb;c[xa+16>>2]=Wb;$B(Xb,1,33259,xa);Rw(c[Yb>>2]|0,33,1,5)|0;c[fa>>2]=c[(c[fa>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[Xb>>2]|0)+76>>2]=3;_B(c[Yb>>2]|0,3,6104);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break a;if(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){Xb=c[Yb>>2]|0;Ub=c[J>>2]|0;Vb=c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;Wb=Di(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[ya>>2]=Ub;c[ya+4>>2]=Vb;c[ya+8>>2]=Wb;$B(Xb,1,33265,ya);Rw(c[Yb>>2]|0,33,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[Xb>>2]|0)+76>>2]=2;_B(c[Yb>>2]|0,2,6116);c[_>>2]=c[(c[Zb>>2]|0)+432+8>>2];while(1){if(!(c[_>>2]|0))break a;c[ca>>2]=c[(c[_>>2]|0)+8>>2];Xb=c[Yb>>2]|0;Vb=c[K>>2]|0;c[K>>2]=Vb+1;Wb=c[c[ca>>2]>>2]|0;c[za>>2]=Vb;c[za+4>>2]=Wb;$B(Xb,1,33269,za);Rw(c[Yb>>2]|0,33,1,2)|0;c[_>>2]=c[c[_>>2]>>2]}}case 14:{if(!(c[$b>>2]|0))break a;c[ka>>2]=pi(c[Zb>>2]|0,c[$b>>2]|0,c[fb>>2]|0)|0;if(!(c[ka>>2]|0))break a;c[Yb>>2]=Pw(c[Xb>>2]|0)|0;c[da>>2]=c[(c[ka>>2]|0)+16>>2];if(!(c[da>>2]|0))break a;c[L>>2]=0;c[(c[Xb>>2]|0)+76>>2]=8;bx(c[Xb>>2]|0,c[Wb>>2]|0);_B(c[Yb>>2]|0,8,6124);while(1){if(!(c[da>>2]|0))break a;c[W>>2]=0;while(1){if((c[W>>2]|0)>=(c[(c[da>>2]|0)+20>>2]|0))break;Xb=c[Yb>>2]|0;Qb=c[L>>2]|0;Rb=c[W>>2]|0;Sb=c[(c[da>>2]|0)+8>>2]|0;Tb=c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[(c[da>>2]|0)+36+(c[W>>2]<<3)>>2]|0)*24|0)>>2]|0;Ub=c[(c[da>>2]|0)+36+(c[W>>2]<<3)+4>>2]|0;Vb=bC(a[(c[da>>2]|0)+25+1>>0]|0)|0;Wb=bC(a[(c[da>>2]|0)+25>>0]|0)|0;c[Aa>>2]=Qb;c[Aa+4>>2]=Rb;c[Aa+8>>2]=Sb;c[Aa+12>>2]=Tb;c[Aa+16>>2]=Ub;c[Aa+20>>2]=Vb;c[Aa+24>>2]=Wb;c[Aa+28>>2]=33281;$B(Xb,1,33272,Aa);Rw(c[Yb>>2]|0,33,1,8)|0;c[W>>2]=(c[W>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[da>>2]=c[(c[da>>2]|0)+4>>2]}}case 13:{c[ab>>2]=(c[(c[Xb>>2]|0)+76>>2]|0)+1;Ub=(c[Xb>>2]|0)+76|0;c[Ub>>2]=(c[Ub>>2]|0)+4;Ub=(c[Xb>>2]|0)+76|0;Tb=(c[Ub>>2]|0)+1|0;c[Ub>>2]=Tb;c[$a>>2]=Tb;Tb=(c[Xb>>2]|0)+76|0;Ub=(c[Tb>>2]|0)+1|0;c[Tb>>2]=Ub;c[bb>>2]=Ub;c[Yb>>2]=Pw(c[Xb>>2]|0)|0;_B(c[Yb>>2]|0,4,6156);bx(c[Xb>>2]|0,c[Wb>>2]|0);c[Sa>>2]=c[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[Wb>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Sa>>2]|0))break a;if(c[$b>>2]|0){c[_a>>2]=zh(c[Xb>>2]|0,0,c[$b>>2]|0,c[fb>>2]|0)|0;c[Sa>>2]=0}else{c[_a>>2]=c[(c[Sa>>2]|0)+8>>2];c[Sa>>2]=c[c[Sa>>2]>>2]}if(!(c[_a>>2]|0))continue;if(!(c[(c[_a>>2]|0)+16>>2]|0))continue;yz(c[Xb>>2]|0,c[Wb>>2]|0,c[(c[_a>>2]|0)+28>>2]|0,0,c[c[_a>>2]>>2]|0);if(((b[(c[_a>>2]|0)+34>>1]|0)+(c[bb>>2]|0)|0)>(c[(c[Xb>>2]|0)+76>>2]|0))c[(c[Xb>>2]|0)+76>>2]=(b[(c[_a>>2]|0)+34>>1]|0)+(c[bb>>2]|0);zz(c[Xb>>2]|0,0,c[Wb>>2]|0,c[_a>>2]|0,54);Tw(c[Yb>>2]|0,c[ab>>2]|0,c[c[_a>>2]>>2]|0)|0;c[Na>>2]=1;c[Va>>2]=c[(c[_a>>2]|0)+16>>2];d:while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=pi(c[Zb>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[fb>>2]|0)|0;do if(c[Xa>>2]|0){c[Wa>>2]=0;yz(c[Xb>>2]|0,c[Wb>>2]|0,c[(c[Xa>>2]|0)+28>>2]|0,0,c[c[Xa>>2]>>2]|0);c[eb>>2]=cC(c[Xb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,0)|0;if(c[eb>>2]|0){Vb=207;break d}if(!(c[Wa>>2]|0)){zz(c[Xb>>2]|0,c[Na>>2]|0,c[Wb>>2]|0,c[Xa>>2]|0,54);break}else{Vw(c[Yb>>2]|0,54,c[Na>>2]|0,c[(c[Wa>>2]|0)+44>>2]|0,c[Wb>>2]|0)|0;Az(c[Xb>>2]|0,c[Wa>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}if((Vb|0)==207){Vb=0;c[Sa>>2]=0}if(c[Va>>2]|0)break a;if((c[(c[Xb>>2]|0)+72>>2]|0)<(c[Na>>2]|0))c[(c[Xb>>2]|0)+72>>2]=c[Na>>2];c[Ka>>2]=xz(c[Yb>>2]|0,108,0)|0;c[Na>>2]=1;c[Va>>2]=c[(c[_a>>2]|0)+16>>2];while(1){if(!(c[Va>>2]|0))break;c[Xa>>2]=pi(c[Zb>>2]|0,c[(c[Va>>2]|0)+8>>2]|0,c[fb>>2]|0)|0;c[Wa>>2]=0;c[La>>2]=0;if(c[Xa>>2]|0)c[eb>>2]=cC(c[Xb>>2]|0,c[Xa>>2]|0,c[Va>>2]|0,Wa,La)|0;c[Ja>>2]=Cz(c[Yb>>2]|0)|0;do if((c[Xa>>2]|0)!=0&(c[Wa>>2]|0)==0){c[Oa>>2]=c[(c[Va>>2]|0)+36>>2];l=c[Yb>>2]|0;if((c[Oa>>2]|0)!=(b[(c[_a>>2]|0)+32>>1]|0)){Vw(l,47,0,c[Oa>>2]|0,c[bb>>2]|0)|0;vA(c[Yb>>2]|0,c[_a>>2]|0,c[Oa>>2]|0,c[bb>>2]|0);Rw(c[Yb>>2]|0,76,c[bb>>2]|0,c[Ja>>2]|0)|0;Tb=c[Yb>>2]|0;Ub=c[bb>>2]|0;Rw(Tb,38,Ub,(Bz(c[Yb>>2]|0)|0)+3|0)|0}else Rw(l,103,0,c[bb>>2]|0)|0;Vw(c[Yb>>2]|0,70,c[Na>>2]|0,0,c[bb>>2]|0)|0;Ez(c[Yb>>2]|0,c[Ja>>2]|0)|0;Ub=c[Yb>>2]|0;Fz(Ub,(Bz(c[Yb>>2]|0)|0)-2|0)}else{c[Qa>>2]=0;while(1){if((c[Qa>>2]|0)>=(c[(c[Va>>2]|0)+20>>2]|0))break;l=c[Qa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Va>>2]|0)+36+(l<<3)>>2]|0;tA(c[Yb>>2]|0,c[_a>>2]|0,0,l,(c[bb>>2]|0)+(c[Qa>>2]|0)|0);Rw(c[Yb>>2]|0,76,(c[bb>>2]|0)+(c[Qa>>2]|0)|0,c[Ja>>2]|0)|0;c[Qa>>2]=(c[Qa>>2]|0)+1}if(!(c[Xa>>2]|0))break;Qb=c[Yb>>2]|0;Rb=c[bb>>2]|0;Sb=c[(c[Va>>2]|0)+20>>2]|0;Tb=c[$a>>2]|0;Ub=dC(c[Zb>>2]|0,c[Wa>>2]|0)|0;Uw(Qb,49,Rb,Sb,Tb,Ub,c[(c[Va>>2]|0)+20>>2]|0)|0;Eh(c[Yb>>2]|0,69,c[Na>>2]|0,c[Ja>>2]|0,c[$a>>2]|0,0)|0}while(0);Rw(c[Yb>>2]|0,103,0,(c[ab>>2]|0)+1|0)|0;Tb=c[Yb>>2]|0;Ub=(c[ab>>2]|0)+2|0;Sb=(c[Na>>2]|0)-1|0;c[db>>2]=c[(c[Va>>2]|0)+8>>2];c[db+4>>2]=Sb;$B(Tb,Ub,33286,db);Rw(c[Yb>>2]|0,33,c[ab>>2]|0,4)|0;Gz(c[Yb>>2]|0,c[Ja>>2]|0);Sf(c[Zb>>2]|0,c[La>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1;c[Va>>2]=c[(c[Va>>2]|0)+4>>2]}Rw(c[Yb>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Fz(c[Yb>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[$b>>2]|0))break a;Yb=c[Zb>>2]|0;eC(Yb,(Bi(c[$b>>2]|0,0)|0)&255);break a}case 18:{c[qb>>2]=(d[18477+(d[c[_b>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[Wb>>2]=-1;c[(c[Xb>>2]|0)+76>>2]=6;MB(c[Yb>>2]|0,33289);c[Cb>>2]=100;if((c[$b>>2]|0)!=0?(Li(c[$b>>2]|0,Cb)|0,(c[Cb>>2]|0)<=0):0)c[Cb>>2]=100;Rw(c[Yb>>2]|0,22,c[Cb>>2]|0,1)|0;c[mb>>2]=0;while(1){if((c[mb>>2]|0)>=(c[(c[Zb>>2]|0)+20>>2]|0))break;c[jb>>2]=0;if(!((c[Wb>>2]|0)>=0?(c[mb>>2]|0)!=(c[Wb>>2]|0):0))Vb=242;e:do if((Vb|0)==242){Vb=0;bx(c[Xb>>2]|0,c[mb>>2]|0);c[hb>>2]=xz(c[Yb>>2]|0,138,1)|0;Rw(c[Yb>>2]|0,21,0,0)|0;Fz(c[Yb>>2]|0,c[hb>>2]|0);c[Mb>>2]=(c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[mb>>2]<<4)+12>>2]|0)+8;c[Tb>>2]=c[(c[Mb>>2]|0)+8>>2];while(1){if(!(c[Tb>>2]|0))break;c[Kb>>2]=c[(c[Tb>>2]|0)+8>>2];if(!(d[(c[Kb>>2]|0)+42>>0]&32)){Rw(c[Yb>>2]|0,22,c[(c[Kb>>2]|0)+28>>2]|0,2+(c[jb>>2]|0)|0)|0;c[jb>>2]=(c[jb>>2]|0)+1}c[Eb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Eb>>2]|0))break;Rw(c[Yb>>2]|0,22,c[(c[Eb>>2]|0)+44>>2]|0,2+(c[jb>>2]|0)|0)|0;c[jb>>2]=(c[jb>>2]|0)+1;c[Eb>>2]=c[(c[Eb>>2]|0)+20>>2]}c[Tb>>2]=c[c[Tb>>2]>>2]}if((c[(c[Xb>>2]|0)+76>>2]|0)>((c[jb>>2]|0)+8|0))l=c[(c[Xb>>2]|0)+76>>2]|0;else l=(c[jb>>2]|0)+8|0;c[(c[Xb>>2]|0)+76>>2]=l;Vw(c[Yb>>2]|0,128,2,c[jb>>2]|0,1)|0;Fh(c[Yb>>2]|0,c[mb>>2]&255);c[hb>>2]=xz(c[Yb>>2]|0,76,2)|0;Pb=c[Yb>>2]|0;Qb=c[Zb>>2]|0;c[Rb>>2]=c[(c[(c[Zb>>2]|0)+16>>2]|0)+(c[mb>>2]<<4)>>2];Uw(Pb,97,0,3,0,Bh(Qb,33305,Rb)|0,-1)|0;Vw(c[Yb>>2]|0,29,2,4,1)|0;Vw(c[Yb>>2]|0,94,4,3,2)|0;Rw(c[Yb>>2]|0,33,2,1)|0;Fz(c[Yb>>2]|0,c[hb>>2]|0);c[Tb>>2]=c[(c[Mb>>2]|0)+8>>2];while(1){if(!(c[Tb>>2]|0))break e;if(!((c[qb>>2]|0)!=0^1))break e;c[Lb>>2]=c[(c[Tb>>2]|0)+8>>2];c[Ib>>2]=0;c[Nb>>2]=-1;f:do if(c[(c[Lb>>2]|0)+8>>2]|0){if(!(d[(c[Lb>>2]|0)+42>>0]&32))l=0;else l=Ej(c[Lb>>2]|0)|0;c[Gb>>2]=l;c[hb>>2]=xz(c[Yb>>2]|0,138,1)|0;Rw(c[Yb>>2]|0,21,0,0)|0;Fz(c[Yb>>2]|0,c[hb>>2]|0);fC(c[Xb>>2]|0);gC(c[Xb>>2]|0,c[Lb>>2]|0,54,0,1,0,ob,pb)|0;Rw(c[Yb>>2]|0,22,0,7)|0;c[rb>>2]=0;c[Fb>>2]=c[(c[Lb>>2]|0)+8>>2];while(1){if(!(c[Fb>>2]|0))break;Rw(c[Yb>>2]|0,22,0,8+(c[rb>>2]|0)|0)|0;c[Fb>>2]=c[(c[Fb>>2]|0)+20>>2];c[rb>>2]=(c[rb>>2]|0)+1}if((c[(c[Xb>>2]|0)+76>>2]|0)>(8+(c[rb>>2]|0)|0))l=c[(c[Xb>>2]|0)+76>>2]|0;else l=8+(c[rb>>2]|0)|0;c[(c[Xb>>2]|0)+76>>2]=l;Rw(c[Yb>>2]|0,108,c[ob>>2]|0,0)|0;c[Ab>>2]=Rw(c[Yb>>2]|0,37,7,1)|0;c[rb>>2]=0;while(1){if((c[rb>>2]|0)>=(b[(c[Lb>>2]|0)+34>>1]|0))break;do if((c[rb>>2]|0)!=(b[(c[Lb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Lb>>2]|0)+4>>2]|0)+((c[rb>>2]|0)*24|0)+20>>0]|0))break;tA(c[Yb>>2]|0,c[Lb>>2]|0,c[ob>>2]|0,c[rb>>2]|0,3);Fh(c[Yb>>2]|0,-128);c[sb>>2]=xz(c[Yb>>2]|0,77,3)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Qb=c[Zb>>2]|0;Pb=c[(c[(c[Lb>>2]|0)+4>>2]|0)+((c[rb>>2]|0)*24|0)>>2]|0;c[Sb>>2]=c[c[Lb>>2]>>2];c[Sb+4>>2]=Pb;c[Ub>>2]=Bh(Qb,33329,Sb)|0;Uw(c[Yb>>2]|0,97,0,3,0,c[Ub>>2]|0,-1)|0;Rw(c[Yb>>2]|0,33,3,1)|0;c[ub>>2]=xz(c[Yb>>2]|0,138,1)|0;Yw(c[Yb>>2]|0,21)|0;Fz(c[Yb>>2]|0,c[sb>>2]|0);Fz(c[Yb>>2]|0,c[ub>>2]|0)}while(0);c[rb>>2]=(c[rb>>2]|0)+1}c[rb>>2]=0;c[Fb>>2]=c[(c[Lb>>2]|0)+8>>2];while(1){l=c[Yb>>2]|0;if(!(c[Fb>>2]|0))break;c[ib>>2]=Cz(l)|0;if((c[Gb>>2]|0)!=(c[Fb>>2]|0)){c[Nb>>2]=Xz(c[Xb>>2]|0,c[Fb>>2]|0,c[ob>>2]|0,0,0,vb,c[Ib>>2]|0,c[Nb>>2]|0)|0;c[Ib>>2]=c[Fb>>2];Rw(c[Yb>>2]|0,37,8+(c[rb>>2]|0)|0,1)|0;c[tb>>2]=Eh(c[Yb>>2]|0,69,(c[pb>>2]|0)+(c[rb>>2]|0)|0,c[ib>>2]|0,c[Nb>>2]|0,e[(c[Fb>>2]|0)+52>>1]|0)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Tw(c[Yb>>2]|0,3,33349)|0;Vw(c[Yb>>2]|0,94,7,3,3)|0;Tw(c[Yb>>2]|0,4,33354)|0;Vw(c[Yb>>2]|0,94,4,3,3)|0;c[xb>>2]=Tw(c[Yb>>2]|0,4,c[c[Fb>>2]>>2]|0)|0;Vw(c[Yb>>2]|0,94,4,3,3)|0;Rw(c[Yb>>2]|0,33,3,1)|0;c[wb>>2]=xz(c[Yb>>2]|0,138,1)|0;Yw(c[Yb>>2]|0,21)|0;Fz(c[Yb>>2]|0,c[tb>>2]|0);if(d[(c[Fb>>2]|0)+54>>0]|0){c[Ob>>2]=Cz(c[Yb>>2]|0)|0;c[zb>>2]=0;while(1){if((c[zb>>2]|0)>=(e[(c[Fb>>2]|0)+50>>1]|0))break;c[nb>>2]=b[(c[(c[Fb>>2]|0)+4>>2]|0)+(c[zb>>2]<<1)>>1];if(!((c[nb>>2]|0)>=0?(d[(c[(c[Lb>>2]|0)+4>>2]|0)+((c[nb>>2]|0)*24|0)+20>>0]|0)!=0:0))Rw(c[Yb>>2]|0,76,(c[Nb>>2]|0)+(c[zb>>2]|0)|0,c[Ob>>2]|0)|0;c[zb>>2]=(c[zb>>2]|0)+1}c[yb>>2]=xz(c[Yb>>2]|0,7,(c[pb>>2]|0)+(c[rb>>2]|0)|0)|0;Ez(c[Yb>>2]|0,c[Ob>>2]|0)|0;Fz(c[Yb>>2]|0,c[yb>>2]|0);Eh(c[Yb>>2]|0,115,(c[pb>>2]|0)+(c[rb>>2]|0)|0,c[Ob>>2]|0,c[Nb>>2]|0,e[(c[Fb>>2]|0)+50>>1]|0)|0;Rw(c[Yb>>2]|0,37,1,-1)|0;Tw(c[Yb>>2]|0,3,33375)|0;Ez(c[Yb>>2]|0,c[xb>>2]|0)|0;Gz(c[Yb>>2]|0,c[Ob>>2]|0)}Fz(c[Yb>>2]|0,c[wb>>2]|0);Yz(c[Xb>>2]|0,c[vb>>2]|0)}c[Fb>>2]=c[(c[Fb>>2]|0)+20>>2];c[rb>>2]=(c[rb>>2]|0)+1}Rw(l,7,c[ob>>2]|0,c[Ab>>2]|0)|0;Fz(c[Yb>>2]|0,(c[Ab>>2]|0)-1|0);Tw(c[Yb>>2]|0,2,33402)|0;c[rb>>2]=0;c[Fb>>2]=c[(c[Lb>>2]|0)+8>>2];while(1){if(!(c[Fb>>2]|0))break f;if((c[Gb>>2]|0)!=(c[Fb>>2]|0)){c[hb>>2]=Bz(c[Yb>>2]|0)|0;Rw(c[Yb>>2]|0,138,1,(c[hb>>2]|0)+2|0)|0;Rw(c[Yb>>2]|0,21,0,0)|0;Rw(c[Yb>>2]|0,50,(c[pb>>2]|0)+(c[rb>>2]|0)|0,3)|0;Vw(c[Yb>>2]|0,79,8+(c[rb>>2]|0)|0,(c[hb>>2]|0)+8|0,3)|0;Fh(c[Yb>>2]|0,-112);Rw(c[Yb>>2]|0,37,1,-1)|0;Tw(c[Yb>>2]|0,3,c[c[Fb>>2]>>2]|0)|0;Vw(c[Yb>>2]|0,94,3,2,7)|0;Rw(c[Yb>>2]|0,33,7,1)|0}c[Fb>>2]=c[(c[Fb>>2]|0)+20>>2];c[rb>>2]=(c[rb>>2]|0)+1}}while(0);c[Tb>>2]=c[c[Tb>>2]>>2]}}while(0);c[mb>>2]=(c[mb>>2]|0)+1}c[gb>>2]=Gh(c[Yb>>2]|0,4,33431,0)|0;if(!(c[gb>>2]|0))break a;c[(c[gb>>2]|0)+8>>2]=0-(c[Cb>>2]|0);a[(c[gb>>2]|0)+40+1>>0]=-2;c[(c[gb>>2]|0)+40+16>>2]=33447;break a}case 12:{if(!(c[$b>>2]|0)){if(pz(c[Xb>>2]|0)|0)break a;LB(c[Yb>>2]|0,33450,c[6172+(d[(c[c[Xb>>2]>>2]|0)+62>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=6172;while(1){if(!(c[c[Ha>>2]>>2]|0))break;Yb=0==(Td(c[$b>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(Yb){Vb=301;break}c[Ha>>2]=l+8}if((Vb|0)==301){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[960]|0)==0?3:2;Yb=l&255;a[(c[Zb>>2]|0)+62>>0]=Yb;a[(c[(c[(c[Zb>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=Yb}if(c[c[Ha>>2]>>2]|0)break a;Yb=c[Xb>>2]|0;c[Ia>>2]=c[$b>>2];Ah(Yb,33459,Ia);break a}case 0:{c[P>>2]=c[(c[Hb>>2]|0)+8>>2];Hh(c[Yb>>2]|0,c[Wb>>2]|0);if((c[$b>>2]|0)!=0?(d[(c[Hb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Gh(c[Yb>>2]|0,2,33484,0)|0;c[(c[w>>2]|0)+4>>2]=c[Wb>>2];c[(c[w>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[w>>2]|0)+20+8>>2]=c[P>>2];Yb=Ki(c[$b>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=Yb;break a}c[x>>2]=Gh(c[Yb>>2]|0,3,33492,0)|0;c[(c[x>>2]|0)+4>>2]=c[Wb>>2];c[(c[x>>2]|0)+20+4>>2]=c[Wb>>2];c[(c[x>>2]|0)+20+12>>2]=c[P>>2];OB(c[Yb>>2]|0,1);PB(c[Yb>>2]|0,0,0,c[_b>>2]|0,-1)|0;break a}case 8:{c[M>>2]=0;c[(c[Xb>>2]|0)+76>>2]=1;MB(c[Yb>>2]|0,33504);while(1){Xb=c[M>>2]|0;c[M>>2]=Xb+1;Xb=Ad(Xb)|0;c[Ca>>2]=Xb;if(!Xb)break a;Tw(c[Yb>>2]|0,1,c[Ca>>2]|0)|0;Rw(c[Yb>>2]|0,33,1,1)|0}}case 36:{c[O>>2]=(c[c[s>>2]>>2]|0)!=0?c[Wb>>2]|0:10;c[G>>2]=0;do if(c[$b>>2]|0){if(!(Td(c[$b>>2]|0,33519)|0)){c[G>>2]=1;break}if(!(Td(c[$b>>2]|0,33524)|0)){c[G>>2]=2;break}if(!(Td(c[$b>>2]|0,33532)|0))c[G>>2]=3}while(0);_B(c[Yb>>2]|0,3,6244);c[(c[Xb>>2]|0)+76>>2]=3;Vw(c[Yb>>2]|0,8,c[O>>2]|0,c[G>>2]|0,1)|0;Rw(c[Yb>>2]|0,33,1,3)|0;break a}case 35:{if(c[$b>>2]|0){Xb=c[Zb>>2]|0;yf(Xb,Ki(c[$b>>2]|0)|0)|0}if((c[(c[Zb>>2]|0)+216>>2]|0)==139)l=c[(c[Zb>>2]|0)+220>>2]|0;else l=0;NB(c[Yb>>2]|0,33541,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[Zb>>2]|0)|0;break a}case 28:{if((c[$b>>2]|0)!=0?(Ci(c[$b>>2]|0,t)|0)==0:0){Xb=t;Gd(c[Xb>>2]|0,c[Xb+4>>2]|0)|0}Xb=c[Yb>>2]|0;Yb=Gd(-1,-1)|0;NB(Xb,33568,Yb,C);break a}case 34:{if((c[$b>>2]|0)!=0?(Vb=(Ci(c[$b>>2]|0,u)|0)==0,Xb=u,Wb=c[Xb+4>>2]|0,Vb&((Wb|0)>0|(Wb|0)==0&(c[Xb>>2]|0)>>>0>=0)):0)Df(c[Zb>>2]|0,11,c[u>>2]&2147483647)|0;Xb=c[Yb>>2]|0;Yb=Df(c[Zb>>2]|0,11,-1)|0;NB(Xb,33584,Yb,((Yb|0)<0)<<31>>31);break a}default:{if(c[$b>>2]|0){Xb=c[Zb>>2]|0;uf(Xb,Ki(c[$b>>2]|0)|0)|0}Xb=c[(c[Zb>>2]|0)+496>>2]|0;NB(c[Yb>>2]|0,33560,Xb,((Xb|0)<0)<<31>>31);break a}}while(0)}}while(0);Sf(c[Zb>>2]|0,c[_b>>2]|0);Sf(c[Zb>>2]|0,c[$b>>2]|0);i=ac;return}function iw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+492>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+492>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+68>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Dh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Cy(l,c[e>>2]|0);EB(q,c[f>>2]|0,c[k>>2]|0,19528,l);if((JB(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(HB(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+140+5>>0]|0)){c[r>>2]=Pw(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;ax(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Iw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?20769:20788;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;Ow(q,32822,s);Sf(c[j>>2]|0,c[u>>2]|0);Qw(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];Sw(r,s,Bh(u,32886,t)|0)}if(a[(c[j>>2]|0)+140+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Oj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){jh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=nj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Pf(c[j>>2]|0,c[p>>2]|0);bv(c[j>>2]|0,c[g>>2]|0);i=w;return}function jw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ah(c[I>>2]|0,32505,r);break}else{c[N>>2]=tz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+65>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+140+5>>0]|0)!=0:0){Sf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=DB(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+140+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+65>>0]|0)==0?(EB(q,c[I>>2]|0,c[N>>2]|0,19528,c[D>>2]|0),(FB(q,c[K>>2]|0)|0)==0):0){c[E>>2]=DB(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+140+4>>0]|0)!=1)break;a[(c[M>>2]|0)+140+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Ah(c[I>>2]|0,32551,s);break}c[P>>2]=Dw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(yx(c[I>>2]|0,c[P>>2]|0)|0):0){if(nj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){bx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Ah(o,32592,F);break}}if(!(zd(c[c[E>>2]>>2]|0,28715,7)|0)){Ah(c[I>>2]|0,32618,t);break}if((c[x>>2]|0)!=49?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==35?32656:32663;c[u+4>>2]=H;c[u+8>>2]=0;Ah(N,32669,u);break}if((c[x>>2]|0)==49?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ah(N,32706,v);break}c[C>>2]=Dh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Mw(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Mw(c[I>>2]|0,18,(c[C>>2]|0)==1?20769:20788,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==49)c[x>>2]=35;c[O>>2]=ph(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=nh(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==35?1:2;N=ny(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=nz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+492>>2]=c[O>>2]}}}}while(0);Sf(c[M>>2]|0,c[P>>2]|0);Yu(c[M>>2]|0,c[K>>2]|0);_u(c[M>>2]|0,c[J>>2]|0);Zu(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+492>>2]|0){i=Q;return}Pf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function kw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=CB(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=vy(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=ny(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}Vu(c[h>>2]|0,c[j>>2]|0);Zu(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function lw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=CB(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Hx(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;Wu(l,o);o=c[m>>2]|0;i=n;return o|0}else{_u(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;Wu(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function mw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=CB(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=ny(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}Zu(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function nw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=ph(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){Wu(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function ow(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+65>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}if(pz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(Td(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=nj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){AB(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)zB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Ah(f,32434,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;Yu(p,q);i=r;return}function pw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;iB(c[k>>2]|0,24,5280,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;iB(c[f>>2]|0,25,5248,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function rw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(pz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){Sz(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Dw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Mj(c[h>>2]|0,a[(c[h>>2]|0)+62>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Sf(c[h>>2]|0,c[n>>2]|0);break}Sz(c[q>>2]|0,c[n>>2]|0);Sf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=tz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Dw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=pi(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){Tz(c[q>>2]|0,c[l>>2]|0,0);Sf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Fj(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Sf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){ax(f,0,c[r>>2]|0);Uz(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Ah(f,31878,t);i=u;return}}function sw(a,b,d){a=a|0;b=b|0;d=d|0;var 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;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(pz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=tz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Dw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Fj(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=zh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)sz(c[l>>2]|0,c[o>>2]|0,0)}else sz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Sf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=rz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){qz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Dw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Fj(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=zh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)sz(c[l>>2]|0,c[o>>2]|0,0)}else sz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Sf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)qz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=Pw(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}Yw(c[p>>2]|0,147)|0;i=r;return}function tw(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+65>>0]|0)==0?(c[r>>2]=_w(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Dh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Dw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((pi(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Fj(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if($w(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(yx(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Ah(g,29208,v);break}if(Mw(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(zx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Ax(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=Pw(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;ax(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);Qw(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+76|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;Tw(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;Uw(c[u>>2]|0,155,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Bx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Cx(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Dx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?20769:20788;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;Ow(v,29235,z);Sf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?20769:20788;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;Ow(z,29304,w);if(pi(c[l>>2]|0,29688,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;Ow(C,29704,x)}C=gx(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;Ow(C,29762,y);Sf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Ex(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))ex(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);ex(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Ah(D,29149,h)}while(0);Yu(c[l>>2]|0,c[k>>2]|0);Sf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function uw(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;g=D+124|0;h=D+120|0;n=D+116|0;o=D+112|0;k=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;l=D+92|0;m=D+88|0;j=D+84|0;s=D+80|0;p=D+76|0;q=D+72|0;B=D+68|0;r=D+64|0;c[g>>2]=e;c[h>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+68>>2]|0){i=D;return}if(d[(c[j>>2]|0)+65>>0]|0){i=D;return}c[n>>2]=c[(c[g>>2]|0)+488>>2];c[k>>2]=Dh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[A>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[C>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+(((b[(c[n>>2]|0)+34>>1]|0)-1|0)*24|0);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=pi(c[j>>2]|0,c[C>>2]|0,c[A>>2]|0)|0;if(Mw(c[g>>2]|0,26,c[A>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=D;return}if((c[m>>2]|0)!=0?(d[c[m>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+23>>0]&1){Ah(c[g>>2]|0,28751,t);i=D;return}if(c[(c[n>>2]|0)+8>>2]|0){Ah(c[g>>2]|0,28783,w);i=D;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Ah(c[g>>2]|0,28810,x);i=D;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+20>>0]|0)==0)){Ah(c[g>>2]|0,28869,y);i=D;return}do if(c[m>>2]|0){c[p>>2]=0;c[q>>2]=dx(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[q>>2]|0){i=D;return}if(c[p>>2]|0){$g(c[p>>2]|0);break}Ah(c[g>>2]|0,28922,u);i=D;return}while(0);c[z>>2]=Iw(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[z>>2]|0){c[B>>2]=(c[z>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[r>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[B>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;if((a[c[B>>2]>>0]|0)!=59?(d[19267+(d[c[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=c[B>>2]|0;c[B>>2]=y+-1;a[y>>0]=0}B=(c[j>>2]|0)+24|0;c[B>>2]=c[B>>2]|2097152;B=c[g>>2]|0;u=(c[k>>2]|0)==1?20769:20788;w=c[(c[n>>2]|0)+44>>2]|0;x=c[z>>2]|0;y=(c[(c[n>>2]|0)+44>>2]|0)+1|0;C=c[C>>2]|0;c[v>>2]=c[A>>2];c[v+4>>2]=u;c[v+8>>2]=w;c[v+12>>2]=x;c[v+16>>2]=y;c[v+20>>2]=C;Ow(B,28968,v);Sf(c[j>>2]|0,c[z>>2]|0);c[(c[j>>2]|0)+24>>2]=c[r>>2]}Vw(c[s>>2]|0,52,c[k>>2]|0,2,4)|0;ex(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=D;return}function vw(e,f){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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+65>>0]|0)==0?(c[q>>2]=_w(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Ah(c[h>>2]|0,28562,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Ah(e,28596,s);break}if(((0==($w(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Dh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=ph(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+488>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=ph(c[k>>2]|0,(c[n>>2]|0)*24|0,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Bh(s,28626,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){iR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,(b[(c[p>>2]|0)+34>>1]|0)*24|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0);t=nh(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+16>>2]=0;c[(c[o>>2]|0)+12>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+8>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;ax(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=Pw(c[h>>2]|0)|0;if(c[r>>2]|0)Qw(c[h>>2]|0,c[m>>2]|0)}}while(0);Yu(c[k>>2]|0,c[j>>2]|0);i=u;return}function ww(b,d){b=b|0;d=d|0;var 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;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+488>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}Kw(c[e>>2]|0);c[(c[e>>2]|0)+516>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+140+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+500+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+500>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+500;c[s>>2]=Bh(r,28423,o)|0;c[h>>2]=Dh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?20769:20788;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+392>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;Ow(r,28447,p);Sf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=Pw(c[e>>2]|0)|0;Qw(c[e>>2]|0,c[h>>2]|0);Rw(c[n>>2]|0,147,0,0)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Bh(s,28535,q)|0;Sw(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+76|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;Tw(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;Rw(c[n>>2]|0,150,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Oj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){jh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+488>>2]=0;i=u;return}}function xw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;lv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Dh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;Lw(r,q,Dw(c[l>>2]|0,c[k>>2]|0)|0);Lw(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;Lw(q,r,nh(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+500+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+500>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}Mw(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function yw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kw(c[d>>2]|0);c[(c[d>>2]|0)+516>>2]=0;c[(c[d>>2]|0)+516+4>>2]=0;i=b;return}function zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+516;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Aw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Dw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(Td(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Ah(t,28355,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Ew(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=ph(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+65>>0]|0){Vu(c[m>>2]|0,c[k>>2]|0);Wu(c[m>>2]|0,c[l>>2]|0);Sf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Bw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11910+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[12532+(c[h>>2]<<1)>>1]|0}function Cw(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;$u(c[b>>2]|0)}c[(c[b>>2]|0)+8>>2]=c[d>>2];i=e;return}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Iw(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Jw(c[f>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Ew(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Fw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((au(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+248+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Gw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Fw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+248>>2]|0){if(a[(c[h>>2]|0)+65>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+248|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+248+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+248+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+248+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+248+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+248+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+248+8>>2]|0)>(c[(c[h>>2]|0)+248+12>>2]|0))c[(c[h>>2]|0)+248+12>>2]=c[(c[h>>2]|0)+248+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Hw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Gw(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+65>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(au(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Fw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}iR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+248+4>>1]|0|0)|0;Sf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}jh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=_f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}jh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Iw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=gR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Fw(b,d,C)|0;if(c[l>>2]|0){iR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Jw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+12|0;e=j+8|0;h=j+16|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}a[h>>0]=a[c[e>>2]>>0]|0;switch(a[h>>0]|0){case 96:case 34:case 39:break;case 91:{a[h>>0]=93;break}default:{c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}}c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function Kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+516>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+488>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+516>>2];c[e>>2]=c[(c[b>>2]|0)+516+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+488>>2]|0;a=c[e>>2]|0;Lw(h,b,Iw(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Lw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Ew(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Sf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function Mw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+140+5>>0]|0|0)==0?(d[(c[j>>2]|0)+454>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+288>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+288>>2]&255](c[(c[o>>2]|0)+292>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+496>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;Nw(c[j>>2]|0)}}else{Ah(c[j>>2]|0,28385,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function Nw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Ah(c[d>>2]|0,28400,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function Ow(d,e,f){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;o=i;i=i+144|0;j=o+36|0;g=o+32|0;h=o+16|0;n=o+8|0;m=o+4|0;k=o;l=o+40|0;c[j>>2]=d;c[g>>2]=e;c[m>>2]=0;c[k>>2]=c[c[j>>2]>>2];if(c[(c[j>>2]|0)+68>>2]|0){i=o;return}c[h>>2]=f;c[n>>2]=Zw(c[k>>2]|0,c[g>>2]|0,h)|0;if(!(c[n>>2]|0)){i=o;return}g=(c[j>>2]|0)+18|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24;g=l;h=(c[j>>2]|0)+444|0;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));g=(c[j>>2]|0)+444|0;d=g+100|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(d|0));Uh(c[j>>2]|0,c[n>>2]|0,m)|0;Sf(c[k>>2]|0,c[m>>2]|0);Sf(c[k>>2]|0,c[n>>2]|0);g=(c[j>>2]|0)+444|0;h=l;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));n=(c[j>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;i=o;return}function Pw(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=Ch(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Yw(c[f>>2]|0,158)|0;if((c[(c[d>>2]|0)+416>>2]|0)==0?((e[(c[c[d>>2]>>2]|0)+60>>1]|0)&8|0)==0:0)a[(c[d>>2]|0)+23>>0]=1}i=g;return c[f>>2]|0}function Qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];Vw(c[g>>2]|0,52,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function Rw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Vw(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;Uw(c[e>>2]|0,123,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Hh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Tw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Uw(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function Uw(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=Vw(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Ih(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function Vw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)<=(c[o>>2]|0)){c[h>>2]=Ww(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function Ww(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(Xw(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=Vw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+88>>2]|0)b=c[(c[f>>2]|0)+88>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Ew(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=$t(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+92>>2]=e;c[(c[f>>2]|0)+88>>2]=((c[(c[f>>2]|0)+92>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Vw(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function Zw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;cg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+88>>2]|0);a[k+25>>0]=1;dg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=eg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}jh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function _w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=zh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function $w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((If(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,28715,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Ah(b,28723,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function ax(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;c[k>>2]=f;bx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+336|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+340>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+340|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+344+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}cx(c[f>>2]|0)|0;i=g;return}function cx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+453>>0]|0)==0:0){c[h>>2]=Xj(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Ah(c[e>>2]|0,28645,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(xi(c[g>>2]|0,c[(c[f>>2]|0)+72>>2]|0,-1,0)|0)){jh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function dx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=ix(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Pw(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=fx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Dh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;Uw(c[l>>2]|0,127,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}Uw(c[l>>2]|0,125,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Bh(d,29077,m)|0;if(!(c[n>>2]|0)){i=o;return}Sw(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=gx(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}Sw(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function fx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+442>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(Td(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=fx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=hx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Bh(h,29089,j)|0;Sf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Bh(a,29121,j)|0;Sf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Bh(a,29113,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function ix(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=19266;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if((l|0)!=156)break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==38){a[p>>0]=jx(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=ix(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){kx(c[c[A>>2]>>2]|0,a[p>>0]|0,1);lx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=29135}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=mx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=rR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;eh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Bh(l,25552,t)|0;if(!(c[w>>2]|0)){n=43;break}Wh(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)lx(c[B>>2]|0,67,1);else lx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=Zt(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=mx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=mx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(If(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=ox(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;dh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=42;break}w=0==(dx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){nx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=fR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);lx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){jh(c[v>>2]|0);Sf(c[v>>2]|0,c[w>>2]|0);$g(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function jx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+21|0;g=o+16|0;h=o+12|0;k=o+8|0;j=o+20|0;m=o+4|0;l=o;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;a[j>>0]=67;c[m>>2]=0;if(!(c[g>>2]|0)){a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}a:while(1){if(!(a[c[g>>2]>>0]|0))break;c[k>>2]=(c[k>>2]<<8)+(d[18477+(a[c[g>>2]>>0]&255)>>0]|0);c[g>>2]=(c[g>>2]|0)+1;if((c[k>>2]|0)==1667785074){a[j>>0]=66;c[m>>2]=c[g>>2];continue}if((c[k>>2]|0)==1668050786){a[j>>0]=66;continue}if((c[k>>2]|0)==1952807028){a[j>>0]=66;continue}do if((c[k>>2]|0)==1651273570){if((a[j>>0]|0)!=67?(a[j>>0]|0)!=69:0)break;a[j>>0]=65;if((a[c[g>>2]>>0]|0)!=40)continue a;c[m>>2]=c[g>>2];continue a}while(0);if((c[k>>2]|0)==1919246700?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1718382433?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]|0)==1685026146?(a[j>>0]|0)==67:0){a[j>>0]=69;continue}if((c[k>>2]&16777215|0)==6909556){n=25;break}}if((n|0)==25)a[j>>0]=68;b:do if((c[h>>2]|0)!=0?(a[c[h>>2]>>0]=1,(a[j>>0]|0)<67):0){if(!(c[m>>2]|0)){a[c[h>>2]>>0]=5;break}while(1){if(!(a[c[m>>2]>>0]|0))break b;if(d[19267+(d[c[m>>2]>>0]|0)>>0]&4)break;c[m>>2]=(c[m>>2]|0)+1}c[l>>2]=0;Li(c[m>>2]|0,l)|0;n=((c[l>>2]|0)/4|0)+1|0;c[l>>2]=n;c[l>>2]=(c[l>>2]|0)>255?255:n;a[c[h>>2]>>0]=c[l>>2]}while(0);a[f>>0]=a[j>>0]|0;n=a[f>>0]|0;i=o;return n|0}function kx(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){lx(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}}case 67:{nx(c[k>>2]|0)|0;i=m;return}case 68:{wx(c[k>>2]|0)|0;i=m;return}case 69:{xx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;lx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function lx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;rx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function mx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Vh(c[e>>2]|0)|0;i=d;return b|0}function nx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Hi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+Yg(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;px(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function ox(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Fw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Gi(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Gi(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function px(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=qx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function qx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function rx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)sx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){px(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}xh(c[k>>2]|0,1);i=l;return}function sx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(tx(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,29137,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,29142,q)|0}q=If(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}Zt(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function tx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=ux(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function ux(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=vx(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Sf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=yh(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=$t(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}fh(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)iR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function vx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Ew(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Sf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function wx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=Zg(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function xx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+Yg(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function yx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+140+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,28715,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Ah(e,31646,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function zx(a,f){a=a|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,r=0;r=i;i=i+48|0;g=r;h=r+36|0;j=r+32|0;k=r+28|0;p=r+24|0;o=r+20|0;n=r+16|0;m=r+12|0;l=r+8|0;q=r+4|0;c[j>>2]=a;c[k>>2]=f;c[n>>2]=0;c[l>>2]=c[c[j>>2]>>2];if(Fx(c[j>>2]|0,c[k>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}if(d[(c[k>>2]|0)+42>>0]&16){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)<0){q=c[j>>2]|0;c[g>>2]=c[c[k>>2]>>2];Ah(q,29854,g);c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}a=c[l>>2]|0;do if(c[(c[k>>2]|0)+24>>2]|0){q=a+248|0;c[q>>2]=(c[q>>2]|0)+1;Gx(c[j>>2]|0,c[(c[k>>2]|0)+24>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;q=(c[l>>2]|0)+248|0;c[q>>2]=(c[q>>2]|0)+-1}else{c[o>>2]=Hx(a,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(!(c[o>>2]|0)){c[n>>2]=(c[n>>2]|0)+1;break}c[m>>2]=c[(c[j>>2]|0)+72>>2];Ix(c[j>>2]|0,c[(c[o>>2]|0)+32>>2]|0);b[(c[k>>2]|0)+34>>1]=-1;g=(c[l>>2]|0)+248|0;c[g>>2]=(c[g>>2]|0)+1;c[q>>2]=c[(c[l>>2]|0)+288>>2];c[(c[l>>2]|0)+288>>2]=0;c[p>>2]=Jx(c[j>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+288>>2]=c[q>>2];q=(c[l>>2]|0)+248|0;c[q>>2]=(c[q>>2]|0)+-1;c[(c[j>>2]|0)+72>>2]=c[m>>2];if(c[p>>2]|0){b[(c[k>>2]|0)+34>>1]=b[(c[p>>2]|0)+34>>1]|0;c[(c[k>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=0;c[(c[p>>2]|0)+4>>2]=0;Qf(c[l>>2]|0,c[p>>2]|0)}else{b[(c[k>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1}Wu(c[l>>2]|0,c[o>>2]|0)}while(0);q=(c[(c[k>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;i=r;return q|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Bx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Cx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Ex(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=hx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Ex(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=nj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Fx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Ax(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=nj((c[h>>2]|0)+312|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=oz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Ah(p,19255,m)}Sf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Ah(o,31494,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Gx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];uj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=ph(c[A>>2]|0,(c[n>>2]|0)*24|0,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+65>>0]|0)!=0^1))break;c[p>>2]=Tx(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)>>2]|0;else f=25592;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==27){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Bh(E,19255,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(nj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=If(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[19267+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Bh(E,31486,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Oj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)jh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+24}vj(l);if(!(a[(c[A>>2]|0)+65>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Sf(f,c[(c[z>>2]|0)+((c[C>>2]|0)*24|0)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Sf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function Hx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if(!(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=Fw(c[j>>2]|0,72,0)|0;if(!(c[m>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}f=vy(c[j>>2]|0,c[c[k>>2]>>2]|0,c[l>>2]|0)|0;c[c[m>>2]>>2]=f;f=lz(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=f;f=ny(c[j>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=f;f=vy(c[j>>2]|0,c[(c[k>>2]|0)+40>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=f;f=ny(c[j>>2]|0,c[(c[k>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+44>>2]=f;f=vy(c[j>>2]|0,c[(c[k>>2]|0)+48>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+48>>2]=f;a[(c[m>>2]|0)+4>>0]=a[(c[k>>2]|0)+4>>0]|0;f=Hx(c[j>>2]|0,c[(c[k>>2]|0)+52>>2]|0,c[l>>2]|0)|0;c[n>>2]=f;c[(c[m>>2]|0)+52>>2]=f;if(c[n>>2]|0)c[(c[n>>2]|0)+56>>2]=c[m>>2];c[(c[m>>2]|0)+56>>2]=0;g=ny(c[j>>2]|0,c[(c[k>>2]|0)+60>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+60>>2]=g;g=ny(c[j>>2]|0,c[(c[k>>2]|0)+64>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+64>>2]=g;c[(c[m>>2]|0)+8>>2]=0;c[(c[m>>2]|0)+12>>2]=0;b[(c[m>>2]|0)+6>>1]=(e[(c[k>>2]|0)+6>>1]|0)&-17;c[(c[m>>2]|0)+16>>2]=-1;c[(c[m>>2]|0)+16+4>>2]=-1;g=(c[k>>2]|0)+24|0;f=c[g+4>>2]|0;n=(c[m>>2]|0)+24|0;c[n>>2]=c[g>>2];c[n+4>>2]=f;n=mz(c[j>>2]|0,c[(c[k>>2]|0)+68>>2]|0)|0;c[(c[m>>2]|0)+68>>2]=n;c[h>>2]=c[m>>2];n=c[h>>2]|0;i=o;return n|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ix(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+32>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Jx(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Kx(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+68>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+52>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+52>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=ph(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;Gx(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;Lx(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+65>>0]|0){Qf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Kx(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(!(c[j>>2]|0)){i=m;return}c[l>>2]=c[c[h>>2]>>2];if(a[(c[l>>2]|0)+65>>0]|0){i=m;return}if(e[(c[j>>2]|0)+6>>1]&64){i=m;return}Ux(c[h>>2]|0,c[j>>2]|0);if(c[(c[h>>2]|0)+68>>2]|0){i=m;return}if(d[(c[l>>2]|0)+65>>0]|0){i=m;return}Vx(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);if(c[(c[h>>2]|0)+68>>2]|0){i=m;return}if(d[(c[l>>2]|0)+65>>0]|0){i=m;return}Wx(c[h>>2]|0,c[j>>2]|0);i=m;return}function Lx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;h=t+76|0;j=t+72|0;k=t+68|0;m=t+64|0;r=t+32|0;p=t+24|0;q=t+20|0;n=t+16|0;o=t+12|0;l=t+8|0;s=t;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=s;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+65>>0]|0){i=t;return};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+4>>2]=c[(c[k>>2]|0)+32>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[p>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[o>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];if(!(c[(c[p>>2]|0)+12>>2]|0)){f=c[m>>2]|0;f=nh(f,Mx(r,c[o>>2]|0,(c[p>>2]|0)+22|0)|0)|0;c[(c[p>>2]|0)+12>>2]=f}g=s;g=gR(c[g>>2]|0,c[g+4>>2]|0,d[(c[p>>2]|0)+22>>0]|0,0)|0;f=s;c[f>>2]=g;c[f+4>>2]=C;f=Nx(c[o>>2]|0)|0;a[(c[p>>2]|0)+21>>0]=f;if(!(a[(c[p>>2]|0)+21>>0]|0))a[(c[p>>2]|0)+21>>0]=65;c[q>>2]=Ox(c[h>>2]|0,c[o>>2]|0)|0;if((c[q>>2]|0)!=0?(c[(c[p>>2]|0)+16>>2]|0)==0:0){f=nh(c[m>>2]|0,c[c[q>>2]>>2]|0)|0;c[(c[p>>2]|0)+16>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+24}s=rR(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=Hj(s,C)|0;b[(c[j>>2]|0)+40>>1]=s;i=t;return}function Mx(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+32>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=Mx(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=19623;break a}else{c[w>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2];a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+22>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+32>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=Mx(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function Nx(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=Tx(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Nx(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==38){a[f>>0]=jx(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==154|(c[j>>2]|0)==152|(c[j>>2]|0)==157?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+21>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function Ox(e,f){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,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==38|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==95){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==95:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==62?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=Px(c[g>>2]|0,a[(c[h>>2]|0)+62>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+16>>2];c[n>>2]=Mj(c[h>>2]|0,a[(c[h>>2]|0)+62>>0]|0,c[p>>2]|0,0)|0}if(!(Qx(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function Px(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Mj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){Rx(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Mj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(Sx(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Ah(p,29884,n);p=c[m>>2]|0;i=o;return p|0}function Qx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=Px(c[f>>2]|0,a[(c[h>>2]|0)+62>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Rx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+224>>2]|0){c[l>>2]=nh(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+224>>2]&255](c[(c[g>>2]|0)+232>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Sf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+228>>2]|0)){i=n;return}c[k>>2]=Vh(c[g>>2]|0)|0;Wh(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Wg(c[k>>2]|0,((a[960]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+228>>2]&255](c[(c[g>>2]|0)+232>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+62>>0]|0,c[m>>2]|0);$g(c[k>>2]|0);i=n;return}function Sx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Mj(c[e>>2]|0,a[29915+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function Tx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function Ux(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+48|0;j=h+32|0;f=h+28|0;g=h;c[j>>2]=b;c[f>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=190;c[g>>2]=c[j>>2];if(a[(c[j>>2]|0)+22>>0]|0){c[g+8>>2]=191;Zx(g,c[f>>2]|0)|0}c[g+8>>2]=192;if(e[(c[f>>2]|0)+6>>1]&512){j=c[f>>2]|0;Zx(g,j)|0;i=h;return}c[g+12>>2]=132;j=c[f>>2]|0;Zx(g,j)|0;i=h;return}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];Zx(g,c[f>>2]|0)|0;i=e;return}function Wx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];Zx(f,c[e>>2]|0)|0;i=d;return}function Xx(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;p=n+28|0;o=n+24|0;j=n+20|0;g=n+16|0;m=n+12|0;h=n+8|0;l=n+4|0;k=n;c[p>>2]=a;c[o>>2]=f;a=(c[o>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|64;c[j>>2]=c[c[p>>2]>>2];c[m>>2]=c[(c[o>>2]|0)+32>>2];c[g>>2]=0;c[h>>2]=(c[m>>2]|0)+8;while(1){if((c[g>>2]|0)>=(c[c[m>>2]>>2]|0))break;c[l>>2]=c[(c[h>>2]|0)+16>>2];if(((d[(c[l>>2]|0)+42>>0]|0)&2|0)!=0?(c[k>>2]=c[(c[h>>2]|0)+20>>2],(c[k>>2]|0)!=0):0){while(1){if(!(c[(c[k>>2]|0)+52>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+52>>2]}Lx(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0)}c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}i=n;return}function Yx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(_x(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if($x(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+52>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function _x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(ay(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(by(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(ay(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(by(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(ay(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0)|0){c[d>>2]=2;break}if(by(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}if(by(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function $x(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+32>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(Zx(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(ay(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(by(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function by(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=cy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[d>>2]|0)+4>>2]&255](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(by(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}if(by(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[d>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!(Zx(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else{if(!(ay(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}function dy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;n=J+112|0;o=J+108|0;x=J+104|0;z=J+100|0;k=J+96|0;m=J+92|0;l=J+88|0;j=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;r=J+64|0;p=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;q=J+120|0;y=J+44|0;h=J+40|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+24>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 27:{c[I>>2]=Fy(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{Gy(c[z>>2]|0,c[x>>2]|0,30424,32);c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==27){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Fy(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 151:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[c[z>>2]>>2]|0)+62>>0]|0;Gy(c[z>>2]|0,c[x>>2]|0,30441,16);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=If(c[G>>2]|0)|0;c[v>>2]=gi(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=gi(c[c[z>>2]>>2]|0,c[G>>2]|0,c[t>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Hy(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){Ah(c[z>>2]|0,30451,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Mw(c[z>>2]|0,31,0,c[(c[v>>2]|0)+20>>2]|0,0)|0;if(c[p>>2]|0){if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+20>>2];Ah(H,30522,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}else{if(e[(c[v>>2]|0)+2>>1]&10240){B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288}if(e[(c[v>>2]|0)+2>>1]&2048)break;Gy(c[z>>2]|0,c[x>>2]|0,30557,32);break}}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;Ah(F,30585,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=31;do if((H|0)==31){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+140+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;Ah(H,30621,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;Ah(H,30644,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}ay(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-103;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Iy(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(2|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 75:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],Gy(c[z>>2]|0,c[x>>2]|0,30689,52),Zx(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32}break}case 135:{Gy(c[z>>2]|0,c[x>>2]|0,30700,52);break}default:{}}if(c[(c[z>>2]|0)+68>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+65>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function ey(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(e[(c[x>>2]|0)+6>>1]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(e[(c[x>>2]|0)+6>>1]&32)){Kx(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+68>>2]|0)h=1;else h=(d[(c[j>>2]|0)+65>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+52>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+6|0;b[f>>1]=e[f>>1]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(fy(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(fy(v,c[(c[x>>2]|0)+64>>2]|0)|0){h=11;break}if(e[(c[x>>2]|0)+6>>1]&16384){c[t>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+8+20>>2];c[(c[t>>2]|0)+48>>2]=c[(c[x>>2]|0)+48>>2];c[(c[x>>2]|0)+48>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+32>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+32>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+496>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+496>>2]=c[(c[o>>2]|0)+8>>2];Vx(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+496>>2]=c[w>>2];if(c[(c[A>>2]|0)+68>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+65>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+32>>2];c[v+16>>2]=c[s>>2];if(gy(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+40>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&2|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+6|0;b[f>>1]=e[f>>1]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+44>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(fy(v,c[(c[x>>2]|0)+44>>2]|0)|0){h=39;break}if(fy(v,c[(c[x>>2]|0)+36>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+32>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+32>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(gy(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(e[(c[x>>2]|0)+6>>1]&16384){c[u>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+8+20>>2];c[(c[x>>2]|0)+48>>2]=c[(c[u>>2]|0)+48>>2];c[(c[u>>2]|0)+48>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(hy(v,c[x>>2]|0,c[(c[x>>2]|0)+48>>2]|0,29962)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+65>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(hy(v,c[x>>2]|0,c[n>>2]|0,29968)|0){h=58;break a}if(d[(c[j>>2]|0)+65>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+56>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+56>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+52>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Ah(c[A>>2]|0,29918,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Ah(c[A>>2]|0,29974,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{iy(c[A>>2]|0,c[(c[x>>2]|0)+56>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(jy(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function fy(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Ey(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+464>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4098;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4099;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];by(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+68>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&2){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(fy(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function hy(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=Tx(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=my(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(ky(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(fy(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(py(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){ly(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=yy(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function iy(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+8|0;j=h+16|0;f=h+12|0;c[j>>2]=a;c[f>>2]=b;b=c[j>>2]|0;if((e[(c[f>>2]|0)+6>>1]|0)&256){Ah(b,30184,h);i=h;return}else{c[g>>2]=xy(d[(c[f>>2]|0)+4>>0]|0)|0;Ah(b,30230,g);i=h;return}}function jy(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+48>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+88+8>>2]|0)){Ah(c[r>>2]|0,30033,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+56>>2]=0;while(1){if(!(c[(c[g>>2]|0)+52>>2]|0))break;c[(c[(c[g>>2]|0)+52>>2]|0)+56>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=Tx(c[c[n>>2]>>2]|0)|0;if(ky(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=my(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=ny(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+65>>0]|0))c[j>>2]=oy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;Zu(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Jv(c[h>>2]|0,132,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=95)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}Zu(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+56>>2]}if((g|0)==18){ly(c[r>>2]|0,29962,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ah(u,30067,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function ky(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=ky(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(ky(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function ly(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Ah(b,30128,g);i=f;return}function my(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==27){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(Td(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=ry(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return b|0}function oy(d,e,f){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,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+32>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+69>>0]|0;a[(c[n>>2]|0)+69>>0]=1;c[m>>2]=fy(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+69>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(py(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function py(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==95?(py(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==95?(py(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(Td(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(yQ(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==95?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(py(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(py(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(qy(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function qy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(py(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function ry(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+64|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;m=t+28|0;s=t+24|0;k=t+20|0;h=t+16|0;f=t+12|0;j=t+8|0;g=t+4|0;l=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(c[o>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[m>>2]=c[p>>2]&1;c[k>>2]=0;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=sy(c[o>>2]|0,c[p>>2]|0)|0;c[s>>2]=Fw(b,e,((e|0)<0)<<31>>31)|0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[h>>2]=ty(c[o>>2]|0,c[p>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(If(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[m>>2]|0)){c[g>>2]=uy(c[o>>2]|0)|0;iR(c[s>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<48)kR((c[s>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}else iR(c[s>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[s>>2]|0)+(c[f>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=k;c[l>>2]=k;iR(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&16384)){d=c[n>>2]|0;a=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){m=Hx(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=vy(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[o>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&16384){s=c[r>>2]|0;i=t;return s|0}s=ny(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s;s=ny(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}p=wy(a,c[p>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+p;if(c[(c[r>>2]|0)+4>>2]&8192){p=ry(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,s)|0;c[(c[r>>2]|0)+12>>2]=p;p=ry(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,s)|0;c[(c[r>>2]|0)+16>>2]=p}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=wy(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=sy(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(sy(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function ty(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function uy(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function vy(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Fw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Fw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Sf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=ny(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=nh(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=nh(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(ty(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(If(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function xy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=30312;break}case 118:{c[b>>2]=30322;break}case 117:{c[b>>2]=30332;break}default:c[b>>2]=30339}i=d;return c[b>>2]|0}function yy(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+65>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+88+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Ah(s,30345,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}zy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){ly(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function zy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=ny(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Ay(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==95)c[p>>2]=By(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;Zu(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=nh(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Sf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];by(f,c[d>>2]|0)|0;i=g;return}function By(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Cy(f,c[j>>2]|0);d=Yv(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=If(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Dy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+88+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Ah(j,30376,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0}function Fy(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&20){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(Td(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(e[(c[(c[x>>2]|0)+20>>2]|0)+6>>1]&1024|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Ly(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(Td(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(Td(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(My(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+24}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+420>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+440>>0];if((c[u>>2]|0)!=109?(Td(30795,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+420>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(Td(30799,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+420>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(Td(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+24}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(qi(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+432|0;c[h>>2]=c[h>>2]|k;break}else{h=f+436|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(qi(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(Td(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Ah(W,30803,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}zy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,19266,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?30834:30849;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Ah(k,30884,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Ah(k,30894,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Ah(W,30871,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=lR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}Zu(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;Zu(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?62:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))Ny(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function Gy(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=30711;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=30757}else c[l>>2]=30739;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Ah(n,30775,k);i=m;return}function Hy(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Ky(a,f,If(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function Iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;ay(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Jy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function Ky(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;r=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;q=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[q>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[r>>2]=1;else{c[r>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]|0)+(d[m>>0]|0)+-3;c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((a[c[w>>2]>>0]|0)!=48)break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19267+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=rR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=gR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19267+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=rR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=gR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&4))break b;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=38;c:do if((o|0)==38){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[q>>2]|0)<1e4)j=((c[q>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[q>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=1}}while(0);if((c[A>>2]|0)!=0&(c[y>>2]|0)!=0)while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[19267+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}}}while(0);r=_(c[q>>2]|0,c[z>>2]|0)|0;c[q>>2]=r+(c[p>>2]|0);if((c[q>>2]|0)<0){c[z>>2]=-1;c[q>>2]=_(c[q>>2]|0,-1)|0}else c[z>>2]=1;r=t;do if((c[r>>2]|0)!=0|(c[r+4>>2]|0)!=0){d:do if((c[z>>2]|0)>0)while(1){r=t;p=c[r+4>>2]|0;if(!((p|0)<214748364|(p|0)==214748364&(c[r>>2]|0)>>>0<3435973836?(c[q>>2]|0)>0:0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=rR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}else while(1){r=t;r=qR(c[r>>2]|0,c[r+4>>2]|0,10,0)|0;if(!((r|0)!=0|(C|0)!=0?0:(c[q>>2]|0)>0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=pR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}while(0);p=(c[u>>2]|0)<0;r=t;o=c[r>>2]|0;r=c[r+4>>2]|0;b=fR(0,0,o|0,r|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:r;if(!(c[q>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[q>>2]|0)>307&(c[q>>2]|0)<342){while(1){if(!((c[q>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}if((c[q>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[q>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}while(1){if((c[q>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[q>>2]=(c[q>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}else h[D>>3]=((c[u>>2]|0)<0?(c[A>>2]|0)!=0:0)?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0:0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Ly(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(Td(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function My(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(Td(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function Ny(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+288>>2]|0)){i=s;return}c[o>>2]=Dh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==62)c[q>>2]=c[(c[k>>2]|0)+420>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((b[(c[q>>2]|0)+32>>1]|0)*24|0)>>2];break}else{c[r>>2]=20759;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)>>2];while(0);if(2!=(Oy(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;n=p+16|0;m=p;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;k=p+32|0;o=p+28|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=Sb[c[(c[k>>2]|0)+288>>2]&255](c[(c[k>>2]|0)+292>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+496>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}Nw(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;Ah(e,30901,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;Ah(e,30934,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0} -function St(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function Tt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function Ut(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=Vt(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function Vt(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Is(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function Wt(b,d,e,f){b=b|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;l=i;i=i+32|0;j=l+20|0;n=l+16|0;m=l+12|0;g=l+8|0;h=l+4|0;k=l;c[n>>2]=b;c[m>>2]=d;c[g>>2]=e;c[h>>2]=f;c[k>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];while(1){if(!(c[k>>2]|0)){g=7;break}if((zd(c[(c[k>>2]|0)+20>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)==0?(a[(c[(c[k>>2]|0)+20>>2]|0)+(c[h>>2]|0)>>0]|0)==0:0){g=5;break}c[k>>2]=c[(c[k>>2]|0)+24>>2]}if((g|0)==5){c[j>>2]=c[k>>2];n=c[j>>2]|0;i=l;return n|0}else if((g|0)==7){c[j>>2]=0;n=c[j>>2]|0;i=l;return n|0}return 0}function Xt(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o+16|0;n=o;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;h=c[k>>2]|0;if((c[l>>2]|0)==-2){c[j>>2]=(c[h+12>>2]|0)==0?0:6;n=c[j>>2]|0;i=o;return n|0}if((b[h>>1]|0)!=(c[l>>2]|0)?(b[c[k>>2]>>1]|0)>=0:0){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if((b[c[k>>2]>>1]|0)==(c[l>>2]|0))c[n>>2]=4;else c[n>>2]=1;if((d[m>>0]|0)!=(e[(c[k>>2]|0)+2>>1]&3|0)){if(d[m>>0]&e[(c[k>>2]|0)+2>>1]&2)c[n>>2]=(c[n>>2]|0)+1}else c[n>>2]=(c[n>>2]|0)+2;c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}function Yt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;j=k+8|0;l=k+4|0;m=k+20|0;h=k;c[f>>2]=b;c[g>>2]=e;c[l>>2]=If(c[(c[g>>2]|0)+20>>2]|0)|0;a[m>>0]=a[c[(c[g>>2]|0)+20>>2]>>0]|0;c[h>>2]=((d[18477+(d[m>>0]|0)>>0]|0)+(c[l>>2]|0)|0)%23|0;c[j>>2]=Wt(c[f>>2]|0,c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[l>>2]|0)|0;if(c[j>>2]|0){c[(c[g>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[g>>2];i=k;return}else{c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+24>>2]=c[(c[f>>2]|0)+(c[h>>2]<<2)>>2];c[(c[f>>2]|0)+(c[h>>2]<<2)>>2]=c[g>>2];i=k;return}}function Zt(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=_t(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function _t(f,g){f=f|0;g=g|0;var 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;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=_g(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=yh(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26420+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26420+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Ug(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=$t(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function $t(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(au(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+248+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[56>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+248+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+28>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=f;return}function cu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Nf(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)iu(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+312+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)iu(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}ju(c[b>>2]|0);i=k;return}function du(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;gu(c[d>>2]|0,68);i=b;return 0}function eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(fu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function fu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+332>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+332>>2];c[(c[d>>2]|0)+332>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+308>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;hu(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Sf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+308>>2]=0;i=l;return}function hu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Sf(c[d>>2]|0,c[b>>2]|0);i=f;return}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];hu(c[e>>2]|0);i=h;return}function ju(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+336>>2];c[(c[b>>2]|0)+336>>2]=0;if(!(c[d>>2]|0)){i=f;return}Oh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];hu(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function ku(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function lu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1584;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[410]=(c[53]|0)==0&1;if((c[410]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[411]=c[55];c[399]=10;c[409]=1;i=d;return 0}else{c[411]=0;c[399]=10;c[409]=1;i=d;return 0}return 0}function mu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1584;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function nu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[410]|0)*52|0);b=c[n>>2]|0;c[k>>2]=ig(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[410]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1584;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Eu(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}uu(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;wu(c[e>>2]|0);i=g;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function qu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Bu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function ru(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}yu(c[h>>2]|0,1);i=k;return}function su(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function tu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Au(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Au(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+24>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);wu(c[d>>2]|0);Kd(c[(c[d>>2]|0)+56>>2]|0);Kd(c[(c[d>>2]|0)+48>>2]|0);Kd(c[d>>2]|0);i=b;return}function vu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;wu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function wu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;xu(c[e>>2]|0)|0;yu(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function xu(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}zu(c[d>>2]|0);i=h;return}function zu(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else Yi(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Au(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+44>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))xu(c[h>>2]|0)|0;zu(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Bu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=xu(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Cu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Cu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Du(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Eu(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Du(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];yu(c[o>>2]|0,0);xu(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){zu(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Fu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Du(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[413]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[412]|0):0){c[b>>2]=c[420];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Hu()|0;e=c[b>>2]|0;i=d;return e|0}function Eu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Sj();c[d>>2]=ig(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Tj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Fu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Gu(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Sj();c[j>>2]=ej(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Tj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Gu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[411]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Sj();if((c[411]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[411]|0;m=rR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[411]|0;b=rR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=rR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){o=j;c[o>>2]=_(c[(c[e>>2]|0)+12>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[o+4>>2]=0}o=j;o=_f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Tj();a:do if(c[k>>2]|0){o=$f(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Hu(){return c[77]|0}function Iu(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=_Q((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,27278,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Ju(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;$Q(c[d>>2]|0);i=b;return}function Ku(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=bR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Lu(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,27242,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Lu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Mu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Nu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Ou(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Pu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Yb[c[e>>2]&255](1612,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Qu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[40089+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=159;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=90;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=159;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=89;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=91;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=159;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=92;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=93;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=79;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=81;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=87;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=82;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=83;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=88;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=80;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=160;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=86;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=94;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=85;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=96;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=27;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[19267+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?27:160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[19267+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[19267+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=160;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[40089+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[19267+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=27;c[n>>2]=Oi(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=160;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=160;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[19267+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[19267+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[19267+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=160;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[19267+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=27;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function Ru(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+32|0;p=o+28|0;j=o+24|0;h=o+20|0;l=o+8|0;k=o+4|0;n=o;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;c[(c[n>>2]|0)+4>>2]=-1;b[(c[n>>2]|0)+12>>1]=0;a[(c[n>>2]|0)+12+2>>0]=0};c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];c[(c[n>>2]|0)+8>>2]=c[h>>2];while(1){c[k>>2]=cv(c[n>>2]|0,c[j>>2]&255)|0;h=c[k>>2]|0;do if((c[k>>2]|0)>976){g=c[n>>2]|0;if((h|0)<=1304){ev(g,(c[k>>2]|0)-977|0);break}else{p=c[j>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];fv(g,p,m);av(c[n>>2]|0,c[j>>2]&255,l);c[j>>2]=253;break}}else{if((h|0)>435)c[k>>2]=(c[k>>2]|0)+328;dv(c[n>>2]|0,c[k>>2]|0,c[j>>2]|0,l);p=(c[n>>2]|0)+4|0;c[p>>2]=(c[p>>2]|0)+-1;c[j>>2]=253}while(0);if((c[j>>2]|0)==253){h=13;break}if((c[c[n>>2]>>2]|0)<0){h=13;break}}if((h|0)==13){i=o;return}}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)<0)break;$u(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function Tu(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Rf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Sf(c[d>>2]|0,c[b>>2]|0);i=e;return}function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);Vu(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Wu(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Sf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(c[d>>2]|0,c[e>>2]|0);i=h;return}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;Zu(a,c[c[g>>2]>>2]|0);Sf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Sf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Sf(a,c[(c[e>>2]|0)+4>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=h;return}function Wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Xu(c[f>>2]|0,c[e>>2]|0,1);i=d;return}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+52>>2];Vu(c[e>>2]|0,c[c[f>>2]>>2]|0);Yu(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);Vu(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);Zu(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);Uu(c[e>>2]|0,c[(c[f>>2]|0)+68>>2]|0);if(c[g>>2]|0)Sf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function Yu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Sf(a,c[(c[h>>2]|0)+4>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Sf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Sf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)Vu(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Qf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Wu(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Zu(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);_u(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Sf(a,c[f>>2]|0);i=j;return}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}do if(!(c[(c[e>>2]|0)+4>>2]&16384)){Zu(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Zu(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Sf(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);a=c[d>>2]|0;b=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){Wu(a,c[b>>2]|0);break}else{Vu(a,c[b>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Sf(c[d>>2]|0,c[e>>2]|0);i=f;return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Sf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Sf(a,c[c[e>>2]>>2]|0);Sf(c[d>>2]|0,c[e>>2]|0);i=g;return}function $u(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-1;c[e>>2]=(c[f>>2]|0)+12+(b<<4);av(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function av(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+8>>2];do switch(d[k>>0]|0|0){case 208:case 197:case 196:case 163:{Wu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 175:case 174:{Zu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 227:case 220:case 211:case 210:case 209:case 206:case 204:case 201:case 189:case 188:case 179:{Vu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 214:case 213:case 202:case 195:{Yu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 251:case 198:{Uu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 242:case 237:case 228:case 226:case 217:case 205:case 203:{Zu(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 222:case 219:case 218:{_u(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 238:case 233:{bv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 235:{_u(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];Zu(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);Vu(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Wu(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);_u(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Sf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function cv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[(c[q>>2]|0)+12+(c[c[q>>2]>>2]<<4)>>1];if((c[n>>2]|0)>=977){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[15538+(c[n>>2]<<1)>>1];if((c[k>>2]|0)==-89){o=4;break}c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1501)?(d[38518+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=15;break}if((d[j>>0]|0)<=0)break;if((d[j>>0]|0)>>>0>=70){o=11;break}q=a[40019+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255)){o=11;break}a[j>>0]=a[l>>0]|0}if((o|0)==4){c[h>>2]=e[16410+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}else if((o|0)==11){c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+70;if((c[m>>2]|0)>=0&(c[m>>2]|0)<1501?(d[38518+(c[m>>2]|0)>>0]|0)==70:0){c[h>>2]=e[12532+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}}else if((o|0)==15){c[h>>2]=e[12532+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[16410+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function dv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){gH(f,c[l>>2]|0);i=n;return}else{c[m>>2]=(c[h>>2]|0)+12+(c[f>>2]<<4);b[c[m>>2]>>1]=c[j>>2];a[(c[m>>2]|0)+2>>0]=c[k>>2];m=(c[m>>2]|0)+4|0;l=c[l>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];i=n;return}}function ev(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+256|0;M=$+40|0;L=$+32|0;O=$+24|0;N=$+16|0;R=$+8|0;K=$;U=$+248|0;V=$+244|0;X=$+240|0;W=$+236|0;Y=$+224|0;Z=$+220|0;_=$+216|0;T=$+212|0;I=$+200|0;J=$+188|0;j=$+168|0;k=$+164|0;y=$+160|0;r=$+156|0;o=$+152|0;P=$+144|0;z=$+136|0;p=$+132|0;l=$+128|0;A=$+124|0;q=$+120|0;n=$+116|0;v=$+112|0;w=$+108|0;B=$+104|0;C=$+100|0;E=$+96|0;D=$+92|0;F=$+88|0;G=$+84|0;H=$+80|0;s=$+76|0;t=$+72|0;u=$+68|0;x=$+64|0;Q=$+60|0;m=$+56|0;h=$+48|0;c[U>>2]=f;c[V>>2]=g;c[T>>2]=c[(c[U>>2]|0)+8>>2];c[Z>>2]=(c[U>>2]|0)+12+(c[c[U>>2]>>2]<<4);c[Y>>2]=c[1265];c[Y+4>>2]=c[1266];c[Y+8>>2]=c[1267];a:do switch(c[V>>2]|0){case 6:{a[(c[T>>2]|0)+453>>0]=1;break}case 7:{a[(c[T>>2]|0)+453>>0]=2;break}case 8:{gv(c[T>>2]|0);break}case 9:{hv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 13:{c[Y>>2]=7;break}case 117:case 115:case 16:case 15:case 14:{c[Y>>2]=d[(c[Z>>2]|0)+2>>0];break}case 18:case 17:{iv(c[T>>2]|0);break}case 19:{jv(c[T>>2]|0);break}case 22:{kv(c[T>>2]|0,0,(c[Z>>2]|0)+4|0);break}case 23:{kv(c[T>>2]|0,1,(c[Z>>2]|0)+4|0);break}case 24:{kv(c[T>>2]|0,2,(c[Z>>2]|0)+4|0);break}case 26:{lv(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0,c[(c[Z>>2]|0)+-32+4>>2]|0);break}case 27:{mv(c[T>>2]|0);T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break}case 247:case 222:case 219:case 124:case 108:case 97:case 85:case 83:case 81:case 68:case 34:case 31:case 28:{c[Y>>2]=0;break}case 248:case 223:case 220:case 107:case 84:case 69:case 30:case 29:{c[Y>>2]=1;break}case 32:{nv(c[T>>2]|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+-16+4|0,c[(c[Z>>2]|0)+4>>2]&255,0);break}case 33:{nv(c[T>>2]|0,0,0,0,c[(c[Z>>2]|0)+4>>2]|0);Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 35:{if((c[(c[Z>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[Z>>2]|0)+4>>2]|0,25592,5)|0)==0:0){c[Y>>2]=96;break a}c[Y>>2]=0;T=c[T>>2]|0;S=c[(c[Z>>2]|0)+4>>2]|0;c[K>>2]=c[(c[Z>>2]|0)+4+4>>2];c[K+4>>2]=S;Ah(T,27365,K);break}case 38:{c[Y>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y+4>>2]=(c[(c[T>>2]|0)+508>>2]|0)-(c[(c[Z>>2]|0)+-32+4>>2]|0)+(c[(c[T>>2]|0)+508+4>>2]|0);break}case 39:{ov(c[T>>2]|0,(c[Z>>2]|0)+4|0);S=(c[Z>>2]|0)+4|0;c[Y>>2]=c[S>>2];c[Y+4>>2]=c[S+4>>2];c[(c[T>>2]|0)+328+4>>2]=0;break}case 280:case 264:case 263:case 262:case 261:case 260:case 259:case 258:case 257:case 151:case 142:case 131:case 130:case 48:case 45:case 42:case 41:case 40:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break}case 44:{pv(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 46:{c[Y>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+4>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0)-(c[(c[Z>>2]|0)+-48+4>>2]|0);break}case 47:{c[Y>>2]=c[(c[Z>>2]|0)+-80+4>>2];c[Y+4>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0)-(c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 49:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[Y+4>>2]=(c[(c[Z>>2]|0)+4+4>>2]|0)+((c[(c[Z>>2]|0)+4>>2]|0)-(c[(c[Z>>2]|0)+-16+4>>2]|0));break}case 92:case 54:{T=(c[T>>2]|0)+328|0;S=(c[Z>>2]|0)+4|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];break}case 57:case 55:{qv(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 56:{qv(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0);break}case 58:{c[I>>2]=rv(c[T>>2]|0,155,c[(c[Z>>2]|0)+4>>2]|0,0,0)|0;c[I+4>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[I+8>>2]=c[(c[Z>>2]|0)+4+8>>2];qv(c[T>>2]|0,I);break}case 59:{sv(J,c[T>>2]|0,97,(c[Z>>2]|0)+4|0);qv(c[T>>2]|0,J);break}case 61:{tv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 62:{uv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0);break}case 63:{vv(c[T>>2]|0,0,0,0,0,c[(c[Z>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 64:{wv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 65:{xv(c[T>>2]|0,0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 66:{yv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 67:{zv(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 70:{c[Y>>2]=0;break}case 71:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2]&~c[(c[Z>>2]|0)+4+4>>2]|c[(c[Z>>2]|0)+4>>2];break}case 73:case 72:{c[Y>>2]=0;c[Y+4>>2]=0;break}case 74:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];c[Y+4>>2]=255;break}case 75:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2]<<8;c[Y+4>>2]=65280;break}case 76:{c[Y>>2]=7;break}case 77:{c[Y>>2]=8;break}case 78:{c[Y>>2]=9;break}case 79:{c[Y>>2]=6;break}case 80:{c[Y>>2]=0;break}case 178:case 103:case 102:case 100:case 98:case 82:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 86:{c[Y+4>>2]=0;c[Y>>2]=0;break}case 87:{T=(c[Z>>2]|0)+-16+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break}case 90:{c[(c[T>>2]|0)+328+4>>2]=0;break}case 93:{uv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,0);break}case 94:{vv(c[T>>2]|0,0,0,0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 95:{wv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0);break}case 96:{xv(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,(c[Z>>2]|0)+-48+4|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);yv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 101:case 99:{c[Y>>2]=10;break}case 104:{c[Y>>2]=4;break}case 179:case 105:{c[Y>>2]=5;break}case 106:{Av(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 109:{Bv(c[T>>2]|0,(c[Z>>2]|0)+-128+4|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 110:{Av(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,1,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 111:{c[j>>2]=c[1268];c[j+4>>2]=c[1269];c[j+8>>2]=c[1270];c[j+12>>2]=c[1271];c[j+16>>2]=c[1272];Cv(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,j)|0;Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 112:{c[k>>2]=c[(c[Z>>2]|0)+4>>2];if(c[k>>2]|0){c[(c[k>>2]|0)+68>>2]=c[(c[Z>>2]|0)+-16+4>>2];Dv(c[T>>2]|0,c[k>>2]|0)}else Uu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);c[Y>>2]=c[k>>2];break}case 119:case 113:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 114:{c[y>>2]=c[(c[Z>>2]|0)+4>>2];c[r>>2]=c[(c[Z>>2]|0)+-32+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+52>>2]|0)!=0:0){c[P+4>>2]=0;Dv(c[T>>2]|0,c[y>>2]|0);c[o>>2]=Ev(c[T>>2]|0,0,0,0,P,c[y>>2]|0,0,0)|0;c[y>>2]=Fv(c[T>>2]|0,0,c[o>>2]|0,0,0,0,0,0,0,0)|0}if(c[y>>2]|0){a[(c[y>>2]|0)+4>>0]=c[(c[Z>>2]|0)+-16+4>>2];c[(c[y>>2]|0)+52>>2]=c[r>>2];if(c[r>>2]|0){S=(c[r>>2]|0)+6|0;b[S>>1]=e[S>>1]&-513}S=(c[y>>2]|0)+6|0;b[S>>1]=e[S>>1]&-513;if((c[(c[Z>>2]|0)+-16+4>>2]|0)!=116)a[(c[T>>2]|0)+22>>0]=1}else Wu(c[c[T>>2]>>2]|0,c[r>>2]|0);c[Y>>2]=c[y>>2];break}case 116:{c[Y>>2]=116;break}case 118:{c[Y>>2]=Fv(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]&65535,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+4+4>>2]|0)|0;break}case 120:{c[Y>>2]=Fv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,0,0,0,0,0,256,0,0)|0;break}case 121:{c[p>>2]=c[(c[Z>>2]|0)+-64+4>>2];c[z>>2]=Fv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,0,0,0,0,0,768,0,0)|0;if(c[p>>2]|0){T=(c[p>>2]|0)+6|0;b[T>>1]=e[T>>1]&-513}if(c[z>>2]|0){a[(c[z>>2]|0)+4>>0]=116;c[p>>2]=c[(c[Z>>2]|0)+-64+4>>2];c[(c[z>>2]|0)+52>>2]=c[p>>2];c[Y>>2]=c[z>>2];break a}else{c[Y>>2]=c[p>>2];break a}}case 122:{c[Y>>2]=1;break}case 123:{c[Y>>2]=2;break}case 244:case 125:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];break}case 243:case 237:case 162:case 155:case 126:{c[Y>>2]=0;break}case 127:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;if((c[(c[Z>>2]|0)+4+4>>2]|0)>>>0>0)Hv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+4|0,1);Iv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-16+4|0);break}case 128:{c[l>>2]=Jv(c[c[T>>2]>>2]|0,158,0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[l>>2]|0)|0;break}case 129:{c[A>>2]=rv(c[T>>2]|0,158,0,0,(c[Z>>2]|0)+4|0)|0;c[q>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-32+4|0)|0;c[n>>2]=rv(c[T>>2]|0,122,c[q>>2]|0,c[A>>2]|0,0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[n>>2]|0)|0;break}case 132:{c[Y+4>>2]=0;break}case 133:{c[Y>>2]=ph(c[c[T>>2]>>2]|0,80,0)|0;break}case 134:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];Kv(c[Y>>2]|0);break}case 135:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];if((c[Y>>2]|0)!=0?(c[c[Y>>2]>>2]|0)>0:0)a[(c[Y>>2]|0)+8+(((c[c[Y>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[Z>>2]|0)+4>>2];break}case 136:{c[Y>>2]=0;break}case 137:{c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,(c[Z>>2]|0)+-80+4|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;Lv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-32+4|0);break}case 138:{c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-128+4>>2]|0,(c[Z>>2]|0)+-112+4|0,(c[Z>>2]|0)+-96+4|0,(c[Z>>2]|0)+-32+4|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;Mv(c[T>>2]|0,c[Y>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 139:{c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,0,0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 140:{if((((c[(c[Z>>2]|0)+-96+4>>2]|0)==0?(c[(c[Z>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[Z>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[Z>>2]|0)+4>>2]|0)==0:0){c[Y>>2]=c[(c[Z>>2]|0)+-64+4>>2];break a}if((c[c[(c[Z>>2]|0)+-64+4>>2]>>2]|0)!=1){Kv(c[(c[Z>>2]|0)+-64+4>>2]|0);c[B>>2]=Fv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0,0,0,1024,0,0)|0;c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,0,0,(c[Z>>2]|0)+-32+4|0,c[B>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break a}c[Y>>2]=Ev(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,0,0,(c[Z>>2]|0)+-32+4|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;if(c[Y>>2]|0){c[v>>2]=(c[Y>>2]|0)+8+(((c[c[Y>>2]>>2]|0)-1|0)*72|0);c[w>>2]=(c[(c[Z>>2]|0)+-64+4>>2]|0)+8;c[(c[v>>2]|0)+8>>2]=c[(c[w>>2]|0)+8>>2];c[(c[v>>2]|0)+4>>2]=c[(c[w>>2]|0)+4>>2];c[(c[v>>2]|0)+20>>2]=c[(c[w>>2]|0)+20>>2];c[(c[w>>2]|0)+4>>2]=0;c[(c[w>>2]|0)+8>>2]=0;c[(c[w>>2]|0)+20>>2]=0}Yu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 150:case 141:{c[Y>>2]=0;c[Y+4>>2]=0;break}case 143:{c[Y>>2]=Nv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0)|0;break}case 144:{c[Y>>2]=1;break}case 145:{c[Y>>2]=Ov(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,0,0)|0;break}case 146:{c[Y>>2]=Ov(c[T>>2]|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+-16+4|0,0)|0;break}case 147:{c[Y>>2]=Ov(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+-16+4|0)|0;break}case 234:case 232:case 172:case 165:case 148:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 235:case 233:case 171:case 164:case 149:{c[Y>>2]=0;break}case 152:{c[Y>>2]=0;c[Y+4>>2]=1;break}case 181:case 153:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];break}case 180:case 154:{c[Y>>2]=0;break}case 236:case 163:case 156:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 157:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;Pv(c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 158:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;Pv(c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 159:{c[Y>>2]=0;break}case 160:{c[Y>>2]=1;break}case 161:{c[Y>>2]=-1;break}case 166:{c[Y>>2]=0;c[Y+4>>2]=0;break}case 167:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];c[Y+4>>2]=0;break}case 168:{c[Y>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y+4>>2]=c[(c[Z>>2]|0)+4>>2];break}case 169:{c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 170:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0,1);Lv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,(c[Z>>2]|0)+-16+4|0);Rv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 173:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]|0,1);Lv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,(c[Z>>2]|0)+-48+4|0);Sv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,27392);Tv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 174:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;Hv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-32+4|0,1);break}case 175:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+4>>2]|0)|0;Hv(c[T>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+-32+4|0,1);break}case 176:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0,1);Uv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 177:{Qv(c[T>>2]|0,c[(c[Z>>2]|0)+-96+4>>2]|0,1);Uv(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]|0);break}case 182:{c[Y>>2]=Vv(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,(c[Z>>2]|0)+4|0)|0;break}case 183:{c[Y>>2]=Vv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+4|0)|0;break}case 184:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];c[Y+8>>2]=c[T+8>>2];break}case 185:{c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];Wv(Y,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 192:case 191:case 186:{sv(Y,c[T>>2]|0,d[(c[Z>>2]|0)+2>>0]|0,(c[Z>>2]|0)+4|0);break}case 188:case 187:{sv(Y,c[T>>2]|0,27,(c[Z>>2]|0)+4|0);break}case 189:{c[C>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-32+4|0)|0;c[E>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+4|0)|0;c[Y>>2]=rv(c[T>>2]|0,122,c[C>>2]|0,c[E>>2]|0,0)|0;Wv(Y,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 190:{c[D>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-64+4|0)|0;c[F>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+-32+4|0)|0;c[G>>2]=rv(c[T>>2]|0,27,0,0,(c[Z>>2]|0)+4|0)|0;c[H>>2]=rv(c[T>>2]|0,122,c[F>>2]|0,c[G>>2]|0,0)|0;c[Y>>2]=rv(c[T>>2]|0,122,c[D>>2]|0,c[H>>2]|0,0)|0;Wv(Y,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+4|0);break}case 193:{do if(((c[(c[Z>>2]|0)+4+4>>2]|0)>>>0>=2?(a[c[(c[Z>>2]|0)+4>>2]>>0]|0)==35:0)?(d[19267+(d[(c[(c[Z>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h=c[T>>2]|0;j=(c[Z>>2]|0)+4|0;if(!(d[(c[T>>2]|0)+18>>0]|0)){c[R>>2]=j;Ah(h,27341,R);c[Y>>2]=0;break}c[Y>>2]=rv(h,157,0,0,j)|0;if(c[Y>>2]|0)Li((c[(c[Z>>2]|0)+4>>2]|0)+1|0,(c[Y>>2]|0)+28|0)|0}else S=161;while(0);if((S|0)==161){sv(Y,c[T>>2]|0,135,(c[Z>>2]|0)+4|0);Xv(c[T>>2]|0,c[Y>>2]|0)}Wv(Y,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+4|0);break}case 194:{c[Y>>2]=Yv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,(c[Z>>2]|0)+4|0,1)|0;c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 195:{c[Y>>2]=rv(c[T>>2]|0,38,c[(c[Z>>2]|0)+-48+4>>2]|0,0,(c[Z>>2]|0)+-16+4|0)|0;Wv(Y,(c[Z>>2]|0)+-80+4|0,(c[Z>>2]|0)+4|0);break}case 196:{if((c[(c[Z>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[Z>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[T>>2]>>2]|0)+88+24>>2]|0):0){S=c[T>>2]|0;c[N>>2]=(c[Z>>2]|0)+-64+4;Ah(S,27401,N)}c[Y>>2]=Zv(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,(c[Z>>2]|0)+-64+4|0)|0;Wv(Y,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+4|0);if((c[(c[Z>>2]|0)+-32+4>>2]|0)==1?(c[Y>>2]|0)!=0:0){T=(c[Y>>2]|0)+4|0;c[T>>2]=c[T>>2]|16}break}case 197:{c[Y>>2]=Zv(c[T>>2]|0,0,(c[Z>>2]|0)+-48+4|0)|0;Wv(Y,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+4|0);break}case 198:{c[Y>>2]=Zv(c[T>>2]|0,0,(c[Z>>2]|0)+4|0)|0;Wv(Y,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+4|0);break}case 206:case 205:case 204:case 203:case 202:case 201:case 200:case 199:{_v(Y,c[T>>2]|0,d[(c[Z>>2]|0)+-16+2>>0]|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 207:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];c[Y+8>>2]=0;break}case 208:{T=(c[Z>>2]|0)+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];c[Y+8>>2]=1;break}case 209:{c[s>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+4>>2]|0)|0;c[s>>2]=Gv(c[T>>2]|0,c[s>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[Y>>2]=Zv(c[T>>2]|0,c[s>>2]|0,(c[Z>>2]|0)+-16+4|0)|0;$v(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4+8>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4+4>>2];c[Y+8>>2]=c[(c[Z>>2]|0)+4+8>>2];if(c[Y>>2]|0){T=(c[Y>>2]|0)+4|0;c[T>>2]=c[T>>2]|128}break}case 210:{c[t>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[t>>2]=Gv(c[T>>2]|0,c[t>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0)|0;c[t>>2]=Gv(c[T>>2]|0,c[t>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;c[Y>>2]=Zv(c[T>>2]|0,c[t>>2]|0,(c[Z>>2]|0)+-48+4|0)|0;$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4+8>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=c[(c[Z>>2]|0)+4+8>>2];if(c[Y>>2]|0){T=(c[Y>>2]|0)+4|0;c[T>>2]=c[T>>2]|128}break}case 211:{aw(Y,c[T>>2]|0,d[(c[Z>>2]|0)+2>>0]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0);break}case 212:{aw(Y,c[T>>2]|0,77,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);break}case 213:{_v(Y,c[T>>2]|0,73,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0);bw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[Y>>2]|0,76);break}case 214:{_v(Y,c[T>>2]|0,148,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+4|0);bw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[Y>>2]|0,77);break}case 216:case 215:{cw(Y,c[T>>2]|0,d[(c[Z>>2]|0)+-16+2>>0]|0,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+-16+4|0);break}case 217:{cw(Y,c[T>>2]|0,155,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+-16+4|0);break}case 218:{cw(Y,c[T>>2]|0,156,(c[Z>>2]|0)+4|0,(c[Z>>2]|0)+-16+4|0);break}case 221:{c[u>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[u>>2]=Gv(c[T>>2]|0,c[u>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;c[Y>>2]=rv(c[T>>2]|0,74,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[Y>>2]|0)c[(c[Y>>2]|0)+20>>2]=c[u>>2];else Vu(c[c[T>>2]>>2]|0,c[u>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=c[(c[Z>>2]|0)+4+8>>2];break}case 224:{do if(!(c[(c[Z>>2]|0)+-16+4>>2]|0)){c[Y>>2]=rv(c[T>>2]|0,132,0,0,5092+(c[(c[Z>>2]|0)+-48+4>>2]<<3)|0)|0;Zu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0)}else{if((c[c[(c[Z>>2]|0)+-16+4>>2]>>2]|0)==1){c[x>>2]=c[c[(c[(c[Z>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[Z>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;Vu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);if(c[x>>2]|0){S=(c[x>>2]|0)+4|0;c[S>>2]=c[S>>2]&-257;S=(c[x>>2]|0)+4|0;c[S>>2]=c[S>>2]|512}c[Y>>2]=rv(c[T>>2]|0,(c[(c[Z>>2]|0)+-48+4>>2]|0)!=0?78:79,c[(c[Z>>2]|0)+-64+4>>2]|0,c[x>>2]|0,0)|0;break}c[Y>>2]=rv(c[T>>2]|0,75,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[Y>>2]|0){c[(c[Y>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];dw(c[T>>2]|0,c[Y>>2]|0)}else Vu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,Y)}while(0);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 225:{c[Y>>2]=rv(c[T>>2]|0,119,0,0,0)|0;if(c[Y>>2]|0){c[(c[Y>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];S=(c[Y>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[Y>>2]|0)}else Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);c[Y+4>>2]=c[(c[Z>>2]|0)+-32+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 226:{c[Y>>2]=rv(c[T>>2]|0,75,c[(c[Z>>2]|0)+-64+4>>2]|0,0,0)|0;if(c[Y>>2]|0){c[(c[Y>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];S=(c[Y>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[Y>>2]|0)}else Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 227:{c[Q>>2]=Nv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0)|0;c[Y>>2]=rv(c[T>>2]|0,75,c[(c[Z>>2]|0)+-48+4>>2]|0,0,0)|0;h=c[T>>2]|0;if(c[Y>>2]|0){S=Fv(h,0,c[Q>>2]|0,0,0,0,0,0,0,0)|0;c[(c[Y>>2]|0)+20>>2]=S;S=(c[Y>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[Y>>2]|0)}else Yu(c[h>>2]|0,c[Q>>2]|0);$v(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,Y);c[Y+4>>2]=c[(c[Z>>2]|0)+-48+4+4>>2];h=c[Z>>2]|0;if(c[(c[Z>>2]|0)+4>>2]|0)h=(c[(c[Z>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[Z>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[Y+8>>2]=h;break}case 228:{S=rv(c[T>>2]|0,20,0,0,0)|0;c[Y>>2]=S;c[m>>2]=S;if(c[m>>2]|0){c[(c[m>>2]|0)+20>>2]=c[(c[Z>>2]|0)+-16+4>>2];S=(c[m>>2]|0)+4|0;c[S>>2]=c[S>>2]|2099200;dw(c[T>>2]|0,c[m>>2]|0)}else Wu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);c[Y+4>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 229:{c[Y>>2]=rv(c[T>>2]|0,136,c[(c[Z>>2]|0)+-48+4>>2]|0,0,0)|0;if(c[Y>>2]|0){if(c[(c[Z>>2]|0)+-16+4>>2]|0)h=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[Z>>2]|0)+-32+4>>2]|0;c[(c[Y>>2]|0)+20>>2]=h;dw(c[T>>2]|0,c[Y>>2]|0)}else{Vu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0);Zu(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)}c[Y+4>>2]=c[(c[Z>>2]|0)+-64+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 230:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 231:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+-32+4>>2]|0)|0;c[Y>>2]=Gv(c[T>>2]|0,c[Y>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 238:{c[Y>>2]=Gv(c[T>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 239:{c[Y>>2]=Gv(c[T>>2]|0,0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 240:{vv(c[T>>2]|0,(c[Z>>2]|0)+-112+4|0,(c[Z>>2]|0)+-96+4|0,Nv(c[c[T>>2]>>2]|0,0,(c[Z>>2]|0)+-64+4|0,0)|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+-160+4>>2]|0,(c[Z>>2]|0)+-176+4|0,c[(c[Z>>2]|0)+4>>2]|0,0,c[(c[Z>>2]|0)+-128+4>>2]|0)|0;break}case 292:case 241:{c[Y>>2]=2;break}case 242:{c[Y>>2]=0;break}case 245:{c[Y>>2]=ew(c[T>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 246:{c[Y>>2]=ew(c[T>>2]|0,0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 249:{fw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 251:case 250:{gw(c[T>>2]|0);break}case 252:{hw(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0,0,0);break}case 253:{hw(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0,0);break}case 254:{hw(c[T>>2]|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-16+4|0,0);break}case 255:{hw(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0,1);break}case 256:{hw(c[T>>2]|0,(c[Z>>2]|0)+-64+4|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-16+4|0,1);break}case 265:{c[h>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[h+4>>2]=(c[(c[Z>>2]|0)+4>>2]|0)-(c[(c[Z>>2]|0)+-48+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);iw(c[T>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,h);break}case 266:{jw(c[T>>2]|0,(c[Z>>2]|0)+-112+4|0,(c[Z>>2]|0)+-96+4|0,c[(c[Z>>2]|0)+-80+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-64+4+4>>2]|0,c[(c[Z>>2]|0)+-32+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-160+4>>2]|0,c[(c[Z>>2]|0)+-128+4>>2]|0);h=c[Z>>2]|0;if(!(c[(c[Z>>2]|0)+-96+4+4>>2]|0)){T=h+-112+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break a}else{T=h+-96+4|0;c[Y>>2]=c[T>>2];c[Y+4>>2]=c[T+4>>2];break a}}case 270:case 267:{c[Y>>2]=35;break}case 268:{c[Y>>2]=31;break}case 269:{c[Y>>2]=49;break}case 272:case 271:{c[Y>>2]=d[(c[Z>>2]|0)+2>>0];c[Y+4>>2]=0;break}case 273:{c[Y>>2]=110;c[Y+4>>2]=c[(c[Z>>2]|0)+4>>2];break}case 297:case 276:{c[Y>>2]=0;break}case 298:case 277:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 278:{c[(c[(c[(c[Z>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[(c[(c[Z>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[Y>>2]=c[(c[Z>>2]|0)+-32+4>>2];break}case 279:{c[(c[(c[Z>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[Z>>2]|0)+-16+4>>2];c[Y>>2]=c[(c[Z>>2]|0)+-16+4>>2];break}case 281:{S=(c[Z>>2]|0)+4|0;c[Y>>2]=c[S>>2];c[Y+4>>2]=c[S+4>>2];Ah(c[T>>2]|0,27435,O);break}case 283:{Ah(c[T>>2]|0,27530,L);break}case 284:{Ah(c[T>>2]|0,27614,M);break}case 285:{c[Y>>2]=kw(c[c[T>>2]>>2]|0,(c[Z>>2]|0)+-64+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-80+4>>2]&255)|0;break}case 286:{c[Y>>2]=lw(c[c[T>>2]>>2]|0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-64+4>>2]&255)|0;break}case 287:{c[Y>>2]=mw(c[c[T>>2]>>2]|0,(c[Z>>2]|0)+-32+4|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 288:{c[Y>>2]=nw(c[c[T>>2]>>2]|0,c[(c[Z>>2]|0)+4>>2]|0)|0;break}case 289:{c[Y>>2]=rv(c[T>>2]|0,57,0,0,0)|0;if(c[Y>>2]|0)a[(c[Y>>2]|0)+1>>0]=4;c[Y+4>>2]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 290:{c[Y>>2]=rv(c[T>>2]|0,57,0,0,(c[Z>>2]|0)+-16+4|0)|0;if(c[Y>>2]|0)a[(c[Y>>2]|0)+1>>0]=c[(c[Z>>2]|0)+-48+4>>2];c[Y+4>>2]=c[(c[Z>>2]|0)+-80+4>>2];c[Y+8>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+(c[(c[Z>>2]|0)+4+4>>2]|0);break}case 291:{c[Y>>2]=1;break}case 293:{c[Y>>2]=3;break}case 294:{ow(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0);break}case 295:{pw(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 296:{qw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 301:{rw(c[T>>2]|0,0,0);break}case 302:{rw(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0);break}case 303:{sw(c[T>>2]|0,0,0);break}case 304:{sw(c[T>>2]|0,(c[Z>>2]|0)+-16+4|0,(c[Z>>2]|0)+4|0);break}case 305:{tw(c[T>>2]|0,c[(c[Z>>2]|0)+-48+4>>2]|0,(c[Z>>2]|0)+4|0);break}case 306:{uw(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 307:{mv(c[T>>2]|0);vw(c[T>>2]|0,c[(c[Z>>2]|0)+4>>2]|0);break}case 310:{ww(c[T>>2]|0,0);break}case 311:{ww(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 312:{xw(c[T>>2]|0,(c[Z>>2]|0)+-48+4|0,(c[Z>>2]|0)+-32+4|0,(c[Z>>2]|0)+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0);break}case 315:{yw(c[T>>2]|0);break}case 319:case 318:case 317:{zw(c[T>>2]|0,(c[Z>>2]|0)+4|0);break}case 323:{c[Y>>2]=0;break}case 325:case 324:{c[Y>>2]=c[(c[Z>>2]|0)+4>>2];break}case 326:{c[Y>>2]=Aw(c[T>>2]|0,0,(c[Z>>2]|0)+-80+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;break}case 327:{c[Y>>2]=Aw(c[T>>2]|0,c[(c[Z>>2]|0)+-112+4>>2]|0,(c[Z>>2]|0)+-80+4|0,c[(c[Z>>2]|0)+-64+4>>2]|0,c[(c[Z>>2]|0)+-16+4>>2]|0)|0;break}default:{}}while(0);c[X>>2]=d[27699+(c[V>>2]<<1)>>0];c[_>>2]=d[27699+(c[V>>2]<<1)+1>>0];V=c[U>>2]|0;c[V>>2]=(c[V>>2]|0)-(c[_>>2]|0);c[W>>2]=Bw(e[(c[Z>>2]|0)+(0-(c[_>>2]|0)<<4)>>1]|0,c[X>>2]&255)|0;if((c[W>>2]|0)>976){Cw(c[U>>2]|0);i=$;return}if((c[W>>2]|0)>435)c[W>>2]=(c[W>>2]|0)+328;h=c[U>>2]|0;if(c[_>>2]|0){c[h>>2]=(c[h>>2]|0)+1;c[Z>>2]=(c[Z>>2]|0)+(0-((c[_>>2]|0)-1)<<4);b[c[Z>>2]>>1]=c[W>>2];a[(c[Z>>2]|0)+2>>0]=c[X>>2];_=(c[Z>>2]|0)+4|0;c[_>>2]=c[Y>>2];c[_+4>>2]=c[Y+4>>2];c[_+8>>2]=c[Y+8>>2];i=$;return}else{dv(h,c[W>>2]|0,c[X>>2]|0,Y);i=$;return}}function fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;c[h>>2]=d;Ah(a,27341,h);c[(c[f>>2]|0)+8>>2]=c[g>>2];i=e;return}function gv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;k=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if((d[(c[f>>2]|0)+65>>0]|0)==0?(c[(c[e>>2]|0)+68>>2]|0)==0:0){c[k>>2]=Pw(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((mA(c[k>>2]|0,61)|0)!=0);Yw(c[k>>2]|0,21)|0;if(!(d[(c[f>>2]|0)+65>>0]|0)){if((c[(c[e>>2]|0)+340>>2]|0)==0?(c[(c[e>>2]|0)+324>>2]|0)==0:0)break;Fz(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Hh(c[k>>2]|0,c[h>>2]|0),Eh(c[k>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+336>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+344+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+140+5>>0]|0)==0):0)Fh(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+456>>2]|0))break;c[l>>2]=Ax(c[f>>2]|0,c[(c[(c[e>>2]|0)+524>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;Uw(c[k>>2]|0,149,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+456>>2]=0;eH(c[e>>2]|0);fH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+324>>2]|0){c[j>>2]=c[(c[e>>2]|0)+324>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;xA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Ez(c[k>>2]|0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)?(a[(c[f>>2]|0)+65>>0]|0)==0:0){if((c[(c[e>>2]|0)+412>>2]|0)!=0?(c[(c[e>>2]|0)+72>>2]|0)==0:0)c[(c[e>>2]|0)+72>>2]=1;Jh(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}if(c[(c[e>>2]|0)+12>>2]|0){i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Mw(c[d>>2]|0,22,38426,0,0)|0){i=j;return}c[h>>2]=Pw(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Rw(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Hh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Yw(c[h>>2]|0,1)|0;i=j;return}function iv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mw(c[b>>2]|0,22,38449,0,0)|0){i=e;return}c[d>>2]=Pw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}xz(c[d>>2]|0,1,1)|0;i=e;return}function jv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Mw(c[b>>2]|0,22,38440,0,0)|0){i=e;return}c[d>>2]=Pw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Rw(c[d>>2]|0,1,1,1)|0;i=e;return}function kv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Dw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=Pw(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Mw(c[e>>2]|0,32,c[6348+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){Uw(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Sf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function lv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+140+5>>0]|0)!=0?(c[(c[A>>2]|0)+140>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+140+4>>0];c[H>>2]=nh(c[A>>2]|0,(c[I>>2]|0)==1?20769:20788)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=tz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Ah(c[w>>2]|0,38316,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Dw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+500|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(yx(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+140+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Mw(c[w>>2]|0,18,(c[o>>2]|0)==1?20769:20788,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(Mw(c[w>>2]|0,d[38357+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+454>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(pz(c[w>>2]|0)|0)break a;c[r>>2]=pi(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Fj(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Ah(I,38385,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){bx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Ah(m,38361,G);break a}}while(0);c[r>>2]=ph(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+68|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+488>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(yQ(c[H>>2]|0,29688)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+140+5>>0]|0){i=J;return}H=Pw(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}ax(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)Yw(c[F>>2]|0,149)|0;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+392>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+76|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+396>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;Vw(c[F>>2]|0,51,c[I>>2]|0,c[E>>2]|0,2)|0;Hh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=xz(c[F>>2]|0,45,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;Vw(c[F>>2]|0,52,c[I>>2]|0,2,c[q>>2]|0)|0;Vw(c[F>>2]|0,52,c[I>>2]|0,5,d[(c[A>>2]|0)+62>>0]|0)|0;Fz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)Rw(m,22,0,c[D>>2]|0)|0;else{H=Rw(m,122,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+424>>2]=H}dH(c[w>>2]|0,c[I>>2]|0);Rw(c[F>>2]|0,74,0,c[C>>2]|0)|0;Uw(c[F>>2]|0,27,6,c[E>>2]|0,0,38420,-2)|0;Vw(c[F>>2]|0,75,0,c[E>>2]|0,c[C>>2]|0)|0;Fh(c[F>>2]|0,8);Yw(c[F>>2]|0,61)|0;i=J;return}}while(0);Sf(c[A>>2]|0,c[H>>2]|0);i=J;return}function mv(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+248|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function nv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+192|0;l=R+188|0;m=R+184|0;n=R+196|0;o=R+180|0;w=R+176|0;r=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+488>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+140+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+140>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Ah(c[k>>2]|0,37995,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Ah(H,38045,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;ZG(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Dh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)SG(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);_G(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;VG(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+140+5>>0]|0)){c[G>>2]=Pw(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}xz(c[G>>2]|0,61,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=33805;c[Q>>2]=38077}else{c[P>>2]=36955;c[Q>>2]=38083}do if(c[o>>2]|0){H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+76|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Bx(c[k>>2]|0);Vw(c[G>>2]|0,55,1,c[(c[k>>2]|0)+396>>2]|0,c[t>>2]|0)|0;Fh(c[G>>2]|0,16);c[(c[k>>2]|0)+72>>2]=2;c[q>>2]=(Bz(c[G>>2]|0)|0)+1;Vw(c[G>>2]|0,16,c[F>>2]|0,0,c[q>>2]|0)|0;ZA(s,13,c[F>>2]|0);Cv(c[k>>2]|0,c[o>>2]|0,s)|0;xC(c[G>>2]|0,c[F>>2]|0);Fz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+68>>2]|0){i=R;return}c[C>>2]=Jx(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Qf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=xz(c[G>>2]|0,18,c[s+4>>2]|0)|0;Vw(c[G>>2]|0,49,c[s+8>>2]|0,c[s+12>>2]|0,c[D>>2]|0)|0;AC(c[G>>2]|0,c[w>>2]|0,0);Rw(c[G>>2]|0,74,1,c[E>>2]|0)|0;Vw(c[G>>2]|0,75,1,c[D>>2]|0,c[E>>2]|0)|0;Ez(c[G>>2]|0,c[p>>2]|0)|0;Fz(c[G>>2]|0,c[p>>2]|0);xz(c[G>>2]|0,61,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=$G(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+508|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+500>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+500>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Bh(J,38088,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?20769:20788;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+396>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+392>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;Ow(Q,38103,M);Sf(c[r>>2]|0,c[O>>2]|0);Qw(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];Ow(Q,38190,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];Sw(O,P,Bh(Q,38232,K)|0)}if(!(a[(c[r>>2]|0)+140+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Oj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){jh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+488>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+500>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Cx(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function ov(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;o=r+8|0;n=r;f=r+40|0;g=r+36|0;l=r+32|0;k=r+28|0;p=r+24|0;m=r+20|0;j=r+16|0;h=r+12|0;c[f>>2]=d;c[g>>2]=e;c[j>>2]=c[c[f>>2]>>2];d=c[(c[f>>2]|0)+488>>2]|0;c[l>>2]=d;if(!d){i=r;return}if(((b[(c[l>>2]|0)+34>>1]|0)+1|0)>(c[(c[j>>2]|0)+88+8>>2]|0)){q=c[f>>2]|0;c[n>>2]=c[c[l>>2]>>2];Ah(q,37946,n);i=r;return}c[p>>2]=Dw(c[j>>2]|0,c[g>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[l>>2]|0)+34>>1]|0))break;if(!(Td(c[p>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)>>2]|0)|0)){q=8;break}c[k>>2]=(c[k>>2]|0)+1}if((q|0)==8){q=c[f>>2]|0;c[o>>2]=c[p>>2];Ah(q,37969,o);Sf(c[j>>2]|0,c[p>>2]|0);i=r;return}do if(!(b[(c[l>>2]|0)+34>>1]&7)){c[h>>2]=Ew(c[j>>2]|0,c[(c[l>>2]|0)+4>>2]|0,((b[(c[l>>2]|0)+34>>1]|0)+8|0)*24|0,0)|0;if(c[h>>2]|0){c[(c[l>>2]|0)+4>>2]=c[h>>2];break}Sf(c[j>>2]|0,c[p>>2]|0);i=r;return}while(0);c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+((b[(c[l>>2]|0)+34>>1]|0)*24|0);q=c[m>>2]|0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[c[m>>2]>>2]=c[p>>2];a[(c[m>>2]|0)+21>>0]=65;a[(c[m>>2]|0)+22>>0]=1;q=(c[l>>2]|0)+34|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;i=r;return}function pv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[h>>2]|0)){i=k;return}if((b[(c[h>>2]|0)+34>>1]|0)<1){i=k;return}c[j>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(((b[(c[h>>2]|0)+34>>1]|0)-1|0)*24|0);Sf(c[c[f>>2]>>2]|0,c[(c[j>>2]|0)+12>>2]|0);e=Dw(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+12>>2]=e;e=jx(c[(c[j>>2]|0)+12>>2]|0,(c[j>>2]|0)+22|0)|0;a[(c[j>>2]|0)+21>>0]=e;i=k;return}function qv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[j>>2]|0)){e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;Zu(e,l);i=m;return}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(((b[(c[j>>2]|0)+34>>1]|0)-1|0)*24|0);if(YG(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+140+5>>0]|0)|0){Zu(c[h>>2]|0,c[(c[k>>2]|0)+4>>2]|0);e=ny(c[h>>2]|0,c[c[g>>2]>>2]|0,1)|0;c[(c[k>>2]|0)+4>>2]=e;Sf(c[h>>2]|0,c[(c[k>>2]|0)+8>>2]|0);e=(c[(c[g>>2]|0)+8>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0;e=Iw(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+8>>2]=e;e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;Zu(e,l);i=m;return}else{e=c[f>>2]|0;c[l>>2]=c[c[k>>2]>>2];Ah(e,37901,l);e=c[h>>2]|0;l=c[g>>2]|0;l=c[l>>2]|0;Zu(e,l);i=m;return}}function rv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==72?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[m>>2]=az(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=cz(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;dz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Ey(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f+12|0;k=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;e=rv(c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function tv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+(((b[(c[g>>2]|0)+34>>1]|0)-1|0)*24|0)+20>>0]=c[f>>2];i=h;return}function uv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;p=z+40|0;r=z+36|0;m=z+32|0;l=z+28|0;n=z+24|0;o=z+20|0;q=z+16|0;x=z+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[p>>2]=c[(c[s>>2]|0)+488>>2];c[r>>2]=0;c[m>>2]=-1;if(!(c[p>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}if(d[(c[s>>2]|0)+454>>0]|0){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}if(d[(c[p>>2]|0)+42>>0]&4){x=c[s>>2]|0;c[k>>2]=c[c[p>>2]>>2];Ah(x,37804,k);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}k=(c[p>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[p>>2]|0)+34>>1]|0)-1;q=(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+23|0;a[q>>0]=d[q>>0]|1;c[r>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2];c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=Tx(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;TG(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==27){c[q>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break b;k=(Td(c[q>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}k=(c[(c[p>>2]|0)+4>>2]|0)+(h*24|0)+23|0;a[k>>0]=d[k>>0]|1;c[r>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[r>>2]|0)!=0?(r=(Td(c[r>>2]|0,19623)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[p>>2]|0)+32>>1]=c[m>>2];a[(c[p>>2]|0)+43>>0]=c[u>>2];y=(c[p>>2]|0)+42|0;a[y>>0]=d[y>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}a[(c[s>>2]|0)+452>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}h=c[s>>2]|0;if(c[v>>2]|0){Ah(h,37845,y);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}c[x>>2]=vv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0)|0;if(c[x>>2]|0){y=(c[x>>2]|0)+55|0;a[y>>0]=a[y>>0]&-4|2}c[t>>2]=0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;Vu(x,y);i=z;return}function vv(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=i;i=i+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;q=ya+332|0;r=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;c[F>>2]=f;c[q>>2]=g;c[r>>2]=h;c[ra>>2]=j;c[sa>>2]=k;c[la>>2]=l;c[G>>2]=m;c[ta>>2]=n;c[s>>2]=o;c[H>>2]=p;c[wa>>2]=0;c[oa>>2]=0;c[va>>2]=0;c[xa>>2]=0;c[ua>>2]=c[c[F>>2]>>2];c[W>>2]=0;c[O>>2]=0;c[ja>>2]=0;c[X>>2]=0;a:do if((((d[(c[ua>>2]|0)+65>>0]|0)==0?(d[(c[F>>2]|0)+454>>0]|0)==0:0)?(c[(c[F>>2]|0)+68>>2]|0)<=0:0)?0==(pz(c[F>>2]|0)|0):0){p=c[F>>2]|0;if(c[ra>>2]|0){c[ma>>2]=tz(p,c[q>>2]|0,c[r>>2]|0,W)|0;if((c[ma>>2]|0)<0)break;if(((a[(c[ua>>2]|0)+140+5>>0]|0)==0?(c[oa>>2]=DB(c[F>>2]|0,c[ra>>2]|0)|0,(c[oa>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[ma>>2]=1;EB(x,c[F>>2]|0,c[ma>>2]|0,33970,c[W>>2]|0);FB(x,c[ra>>2]|0)|0;c[oa>>2]=_w(c[F>>2]|0,0,(c[ra>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[ma>>2]|0)==1?(c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){qa=c[F>>2]|0;c[y>>2]=c[c[oa>>2]>>2];Ah(qa,37370,y);break}if(d[(c[oa>>2]|0)+42>>0]&32)c[X>>2]=Ej(c[oa>>2]|0)|0}else{c[oa>>2]=c[p+488>>2];if(!(c[oa>>2]|0))break;c[ma>>2]=Dh(c[ua>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[T>>2]=(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);if(((zd(c[c[oa>>2]>>2]|0,28715,7)|0)==0?(d[(c[ua>>2]|0)+140+5>>0]|0)==0:0)?(zd((c[c[oa>>2]>>2]|0)+7|0,37420,9)|0)!=0:0){qa=c[F>>2]|0;c[C>>2]=c[c[oa>>2]>>2];Ah(qa,37430,C);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ah(c[F>>2]|0,37458,D);break}if(d[(c[oa>>2]|0)+42>>0]&16){Ah(c[F>>2]|0,37483,z);break}if(c[W>>2]|0){c[xa>>2]=Dw(c[ua>>2]|0,c[W>>2]|0)|0;if(!(c[xa>>2]|0))break;if(yx(c[F>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ua>>2]|0)+140+5>>0]|0)==0?(pi(c[ua>>2]|0,c[xa>>2]|0,0)|0)!=0:0){qa=c[F>>2]|0;c[A>>2]=c[xa>>2];Ah(qa,37517,A);break}if(Fj(c[ua>>2]|0,c[xa>>2]|0,c[c[T>>2]>>2]|0)|0){p=c[F>>2]|0;if(c[H>>2]|0){bx(p,c[ma>>2]|0);break}else{c[$>>2]=c[xa>>2];Ah(p,37551,$);break}}}else{c[v>>2]=c[(c[oa>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}$=c[ua>>2]|0;H=c[t>>2]|0;c[B>>2]=c[c[oa>>2]>>2];c[B+4>>2]=H;c[xa>>2]=Bh($,37575,B)|0;if(!(c[xa>>2]|0))break}c[E>>2]=c[c[T>>2]>>2];if((Mw(c[F>>2]|0,18,(c[ma>>2]|0)==1?20769:20788,0,c[E>>2]|0)|0)==0?(c[I>>2]=1,c[I>>2]=(c[ma>>2]|0)==1?3:1,(Mw(c[F>>2]|0,c[I>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[E>>2]|0)|0)==0):0){if(!(c[sa>>2]|0)){Cy(w,c[(c[(c[oa>>2]|0)+4>>2]|0)+(((b[(c[oa>>2]|0)+34>>1]|0)-1|0)*24|0)>>2]|0);$=c[F>>2]|0;c[sa>>2]=Gv($,0,cz(c[ua>>2]|0,27,w,0)|0)|0;if(!(c[sa>>2]|0))break;Pv(c[sa>>2]|0,c[s>>2]|0)}else Sv(c[F>>2]|0,c[sa>>2]|0,33970);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;c[u>>2]=c[(c[(c[sa>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2];if((d[c[u>>2]>>0]|0)==95){$=1+(If(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[O>>2]=(c[O>>2]|0)+$}c[I>>2]=(c[I>>2]|0)+1}c[Q>>2]=If(c[xa>>2]|0)|0;if(c[X>>2]|0)p=e[(c[X>>2]|0)+50>>1]|0;else p=1;c[P>>2]=p;c[va>>2]=HD(c[ua>>2]|0,(c[c[sa>>2]>>2]|0)+(c[P>>2]|0)&65535,(c[Q>>2]|0)+(c[O>>2]|0)+1|0,ja)|0;if(!(a[(c[ua>>2]|0)+65>>0]|0)){c[c[va>>2]>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+((c[Q>>2]|0)+1);iR(c[c[va>>2]>>2]|0,c[xa>>2]|0,(c[Q>>2]|0)+1|0)|0;c[(c[va>>2]|0)+12>>2]=c[oa>>2];a[(c[va>>2]|0)+54>>0]=c[la>>2];$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9|((c[la>>2]|0)!=0&1)<<3&255;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-4|((c[W>>2]|0)!=0?0:1)&3;c[(c[va>>2]|0)+24>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2];b[(c[va>>2]|0)+50>>1]=c[c[sa>>2]>>2];if(c[ta>>2]|0){SG(c[F>>2]|0,c[oa>>2]|0,16,c[ta>>2]|0,0);c[(c[va>>2]|0)+36>>2]=c[ta>>2];c[ta>>2]=0}if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Z>>2]=-1;else c[Z>>2]=0;c[I>>2]=0;c[V>>2]=c[(c[sa>>2]|0)+4>>2];while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;TG(c[c[V>>2]>>2]|0);SG(c[F>>2]|0,c[oa>>2]|0,32,c[c[V>>2]>>2]|0,0);if(c[(c[F>>2]|0)+68>>2]|0)break a;c[R>>2]=Tx(c[c[V>>2]>>2]|0)|0;if((d[c[R>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(c[(c[va>>2]|0)+40>>2]|0)){c[S>>2]=vy(c[ua>>2]|0,c[sa>>2]|0,0)|0;c[(c[va>>2]|0)+40>>2]=c[S>>2];if(a[(c[ua>>2]|0)+65>>0]|0)break;c[V>>2]=(c[(c[S>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)}while(0);c[K>>2]=-2;b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-2;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}else{c[K>>2]=b[(c[R>>2]|0)+32>>1];do if((c[K>>2]|0)<0)c[K>>2]=b[(c[oa>>2]|0)+32>>1];else{if(d[(c[(c[oa>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+20>>0]|0)break;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}while(0);b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[K>>2]}c[ia>>2]=0;do if((d[c[c[V>>2]>>2]>>0]|0)==95){c[ia>>2]=c[(c[c[V>>2]>>2]|0)+8>>2];c[N>>2]=(If(c[ia>>2]|0)|0)+1;iR(c[ja>>2]|0,c[ia>>2]|0,c[N>>2]|0)|0;c[ia>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+(c[N>>2]|0);c[O>>2]=(c[O>>2]|0)-(c[N>>2]|0)}else{if((c[K>>2]|0)<0)break;c[ia>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+((c[K>>2]|0)*24|0)+16>>2]}while(0);if(!(c[ia>>2]|0))c[ia>>2]=35690;if((a[(c[ua>>2]|0)+140+5>>0]|0)==0?(Dz(c[F>>2]|0,c[ia>>2]|0)|0)==0:0)break a;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[ia>>2];c[Y>>2]=d[(c[V>>2]|0)+12>>0]&c[Z>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=c[Y>>2];c[I>>2]=(c[I>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+20}if((qa|0)==65){Ah(c[F>>2]|0,37598,aa);break}b:do if(c[X>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[X>>2]|0)+50>>1]|0))break b;c[fa>>2]=b[(c[(c[X>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1];if(UG(c[(c[va>>2]|0)+4>>2]|0,e[(c[va>>2]|0)+50>>1]|0,c[fa>>2]|0)|0){ja=(c[va>>2]|0)+52|0;b[ja>>1]=(b[ja>>1]|0)+-1<<16>>16}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[fa>>2];c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[(c[X>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=a[(c[(c[X>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]|0;c[I>>2]=(c[I>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-1;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=35690}while(0);Cj(c[va>>2]|0);if(!(c[(c[F>>2]|0)+488>>2]|0))VG(c[va>>2]|0);c:do if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){c[U>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break c;if((e[(c[U>>2]|0)+50>>1]|0)==(e[(c[va>>2]|0)+50>>1]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;if((b[(c[(c[U>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)!=(b[(c[(c[va>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0))break;c[ga>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];c[ha>>2]=c[(c[(c[va>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];if((c[ga>>2]|0)!=(c[ha>>2]|0)?(Td(c[ga>>2]|0,c[ha>>2]|0)|0)!=0:0)break;c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(e[(c[U>>2]|0)+50>>1]|0))break}c[U>>2]=c[(c[U>>2]|0)+20>>2]}do if((d[(c[U>>2]|0)+54>>0]|0)!=(d[(c[va>>2]|0)+54>>0]|0)){do if((d[(c[U>>2]|0)+54>>0]|0)!=10){if((d[(c[va>>2]|0)+54>>0]|0)==10)break;qa=c[F>>2]|0;c[ba>>2]=0;Ah(qa,37659,ba)}while(0);if((d[(c[U>>2]|0)+54>>0]|0)!=10)break;a[(c[U>>2]|0)+54>>0]=a[(c[va>>2]|0)+54>>0]|0}while(0);c[wa>>2]=c[U>>2];break a}while(0);do if(a[(c[ua>>2]|0)+140+5>>0]|0){c[na>>2]=Oj((c[(c[va>>2]|0)+24>>2]|0)+24|0,c[c[va>>2]>>2]|0,c[va>>2]|0)|0;p=c[ua>>2]|0;if(c[na>>2]|0){jh(p);break a}na=p+24|0;c[na>>2]=c[na>>2]|2;if(!(c[ra>>2]|0))break;c[(c[va>>2]|0)+44>>2]=c[(c[ua>>2]|0)+140>>2]}else{if(!((c[ra>>2]|0)!=0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[F>>2]|0)+76|0;na=(c[ja>>2]|0)+1|0;c[ja>>2]=na;c[J>>2]=na;c[_>>2]=Pw(c[F>>2]|0)|0;if(!(c[_>>2]|0))break a;ax(c[F>>2]|0,1,c[ma>>2]|0);na=Yw(c[_>>2]|0,160)|0;c[(c[va>>2]|0)+44>>2]=na;Rw(c[_>>2]|0,121,c[ma>>2]|0,c[J>>2]|0)|0;if(c[G>>2]|0){c[M>>2]=(c[(c[F>>2]|0)+508>>2]|0)-(c[c[W>>2]>>2]|0)+(c[(c[F>>2]|0)+508+4>>2]|0);if((a[(c[c[W>>2]>>2]|0)+((c[M>>2]|0)-1)>>0]|0)==59)c[M>>2]=(c[M>>2]|0)+-1;na=c[ua>>2]|0;ia=c[M>>2]|0;ja=c[c[W>>2]>>2]|0;c[ca>>2]=(c[la>>2]|0)==0?19266:37701;c[ca+4>>2]=ia;c[ca+8>>2]=ja;c[ka>>2]=Bh(na,37709,ca)|0}else c[ka>>2]=0;na=c[F>>2]|0;fa=(c[ma>>2]|0)==1?20769:20788;ga=c[c[va>>2]>>2]|0;ha=c[c[oa>>2]>>2]|0;ia=c[J>>2]|0;ja=c[ka>>2]|0;c[da>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)>>2];c[da+4>>2]=fa;c[da+8>>2]=ga;c[da+12>>2]=ha;c[da+16>>2]=ia;c[da+20>>2]=ja;Ow(na,37729,da);Sf(c[ua>>2]|0,c[ka>>2]|0);if(c[ra>>2]|0){Uz(c[F>>2]|0,c[va>>2]|0,c[J>>2]|0);Qw(c[F>>2]|0,c[ma>>2]|0);ka=c[_>>2]|0;ma=c[ma>>2]|0;na=c[ua>>2]|0;c[ea>>2]=c[c[va>>2]>>2];Sw(ka,ma,Bh(na,37777,ea)|0);xz(c[_>>2]|0,147,0)|0}Fz(c[_>>2]|0,c[(c[va>>2]|0)+44>>2]|0)}while(0);if(!((c[ra>>2]|0)==0?1:(d[(c[ua>>2]|0)+140+5>>0]|0)!=0))break;do if((c[la>>2]|0)!=5)qa=132;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){qa=132;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=132;break}c[pa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[pa>>2]|0)+20>>2]|0)l=(d[(c[(c[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else l=0;p=c[(c[pa>>2]|0)+20>>2]|0;if(!l)break;c[pa>>2]=p}c[(c[va>>2]|0)+20>>2]=p;c[(c[pa>>2]|0)+20>>2]=c[va>>2]}while(0);if((qa|0)==132){c[(c[va>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[va>>2]}c[wa>>2]=c[va>>2];c[va>>2]=0}}}while(0);if(!(c[va>>2]|0)){qa=c[ua>>2]|0;va=c[ta>>2]|0;Zu(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;Vu(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;Yu(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Sf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}WG(c[ua>>2]|0,c[va>>2]|0);qa=c[ua>>2]|0;va=c[ta>>2]|0;Zu(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;Vu(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;Yu(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Sf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}function wv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+488>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+454>>0]|0)==0:0)?(Ei(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+140+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Gv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+328+4>>2]|0)){i=k;return}Hv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+328|0,1);i=k;return}Zu(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function xv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+488>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+454>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+((c[l>>2]|0)*24|0)>>2];c[n+4>>2]=C;Ah(D,37167,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Ah(c[p>>2]|0,37230,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(If(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=ph(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];iR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Jw(c[C>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(Td(c[(c[(c[y>>2]|0)+4>>2]|0)+((c[v>>2]|0)*24|0)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Ah(D,37324,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=If(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];iR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Oj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){jh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Sf(c[t>>2]|0,c[z>>2]|0);Vu(c[t>>2]|0,c[q>>2]|0);Vu(c[t>>2]|0,c[r>>2]|0);i=E;return}function yv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+488>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function zv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+488>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Dw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Dz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Sf(e,c[l>>2]|0);i=m;return}Sf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*24|0)+16>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Av(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+65>>0]|0)==0?(pz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+69|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=_w(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+69|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;zB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Dh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(zx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?20769:20788;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Mw(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Ax(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Mw(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Mw(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,28715,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36960,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Ah(w,36972,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Ah(w,37e3,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Ah(w,37034,t);break}c[q>>2]=Pw(c[h>>2]|0)|0;if(c[q>>2]|0){ax(c[h>>2]|0,1,c[o>>2]|0);pC(c[h>>2]|0,c[o>>2]|0,31729,c[c[p>>2]>>2]|0);NG(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);OG(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);Yu(c[n>>2]|0,c[j>>2]|0);i=x;return}function Bv(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+444>>1]|0)<=0){lv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+488>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(tz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Dh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,EB(v,c[w>>2]|0,c[s>>2]|0,36955,c[u>>2]|0),(GB(v,c[y>>2]|0)|0)==0):0)?(v=Hx(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=vy(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+65>>0]|0)==0):0){v=(c[w>>2]|0)+508|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[19267+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;nv(c[w>>2]|0,0,B,0,0)}}else Ah(l,36919,D);Wu(c[z>>2]|0,c[y>>2]|0);Vu(c[z>>2]|0,c[x>>2]|0);i=D;return}function Cv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+432|0;w=Da;O=Da+412|0;P=Da+408|0;Q=Da+404|0;R=Da+400|0;$=Da+396|0;ga=Da+392|0;qa=Da+388|0;Ca=Da+384|0;l=Da+380|0;la=Da+376|0;pa=Da+372|0;M=Da+368|0;ma=Da+364|0;na=Da+360|0;sa=Da+356|0;ya=Da+344|0;za=Da+312|0;xa=Da+264|0;da=Da+256|0;Z=Da+252|0;ea=Da+248|0;o=Da+244|0;r=Da+240|0;m=Da+236|0;t=Da+232|0;p=Da+228|0;k=Da+208|0;s=Da+204|0;j=Da+200|0;v=Da+196|0;n=Da+192|0;u=Da+188|0;q=Da+184|0;x=Da+416|0;N=Da+152|0;aa=Da+148|0;ca=Da+144|0;fa=Da+140|0;ba=Da+136|0;_=Da+132|0;T=Da+128|0;Ba=Da+124|0;Aa=Da+120|0;ja=Da+116|0;z=Da+112|0;A=Da+108|0;oa=Da+104|0;S=Da+100|0;U=Da+96|0;ua=Da+92|0;W=Da+88|0;Y=Da+84|0;X=Da+80|0;V=Da+76|0;wa=Da+72|0;ta=Da+68|0;va=Da+64|0;ha=Da+60|0;ia=Da+56|0;ka=Da+52|0;ra=Da+48|0;H=Da+44|0;L=Da+40|0;E=Da+36|0;D=Da+32|0;I=Da+28|0;J=Da+24|0;G=Da+20|0;F=Da+16|0;K=Da+12|0;B=Da+418|0;c[P>>2]=f;c[Q>>2]=g;c[R>>2]=h;c[la>>2]=0;c[sa>>2]=1;c[ea>>2]=c[(c[P>>2]|0)+468>>2];h=(c[P>>2]|0)+472|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[P>>2]|0)+468>>2]=f;c[Z>>2]=c[c[P>>2]>>2];if(((c[Q>>2]|0)!=0?(d[(c[Z>>2]|0)+65>>0]|0)==0:0)?(c[(c[P>>2]|0)+68>>2]|0)==0:0){if(Mw(c[P>>2]|0,21,0,0,0)|0){c[O>>2]=1;Ca=c[O>>2]|0;i=Da;return Ca|0}g=xa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[R>>2]>>0]|0)<=8){Vu(c[Z>>2]|0,c[(c[Q>>2]|0)+48>>2]|0);c[(c[Q>>2]|0)+48>>2]=0;f=(c[Q>>2]|0)+6|0;b[f>>1]=e[f>>1]&-2}Kx(c[P>>2]|0,c[Q>>2]|0,0);c[za>>2]=0;c[za+4>>2]=0;c[za+8>>2]=0;c[za+12>>2]=0;c[za+16>>2]=0;c[za+20>>2]=0;c[za+24>>2]=0;c[za+28>>2]=0;c[za>>2]=c[(c[Q>>2]|0)+48>>2];c[pa>>2]=c[(c[Q>>2]|0)+32>>2];a:do if(((c[(c[P>>2]|0)+68>>2]|0)==0?(d[(c[Z>>2]|0)+65>>0]|0)==0:0)?(c[l>>2]=(e[(c[Q>>2]|0)+6>>1]&8|0)!=0&1,(VF(c[P>>2]|0,c[R>>2]|0,c[c[c[Q>>2]>>2]>>2]|0)|0)==0):0){c[$>>2]=0;while(1){if(c[(c[Q>>2]|0)+52>>2]|0)break;if((c[$>>2]|0)>=(c[c[pa>>2]>>2]|0))break;c[o>>2]=(c[pa>>2]|0)+8+((c[$>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=17;break}c[m>>2]=(e[(c[r>>2]|0)+6>>1]&8|0)!=0&1;if(WF(c[P>>2]|0,c[Q>>2]|0,c[$>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[Q>>2]|0)+6|0;b[f>>1]=e[f>>1]|8}c[$>>2]=-1}c[pa>>2]=c[(c[Q>>2]|0)+32>>2];if(a[(c[Z>>2]|0)+65>>0]|0)break a;if((d[c[R>>2]>>0]|0)>8)c[za>>2]=c[(c[Q>>2]|0)+48>>2]}c[$>>2]=(c[$>>2]|0)+1}if((y|0)==17){Ca=c[P>>2]|0;Aa=c[c[t>>2]>>2]|0;Ba=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=Aa;c[w+8>>2]=Ba;Ah(Ca,36434,w);break}c[Ca>>2]=Pw(c[P>>2]|0)|0;if(c[Ca>>2]|0){if(c[(c[Q>>2]|0)+52>>2]|0){c[sa>>2]=XF(c[P>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0;c[(c[P>>2]|0)+468>>2]=c[ea>>2];c[O>>2]=c[sa>>2];Ca=c[O>>2]|0;i=Da;return Ca|0}c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[c[pa>>2]>>2]|0))break;c[p>>2]=(c[pa>>2]|0)+8+((c[$>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;Rw(c[Ca>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=YF(c[Q>>2]|0)|0;w=(c[P>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))ZF(c[Z>>2]|0,c[s>>2]|0,c[(c[Q>>2]|0)+36>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if((c[c[pa>>2]>>2]|0)==1){if(e[(c[Q>>2]|0)+6>>1]&2){y=41;break}if(e[(c[Z>>2]|0)+60>>1]&256){y=41;break}c[j>>2]=(Bz(c[Ca>>2]|0)|0)+1;t=(c[P>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;Vw(c[Ca>>2]|0,16,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];ZA(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[P>>2]|0)+472>>2];Cv(c[P>>2]|0,c[s>>2]|0,k)|0;w=(c[s>>2]|0)+24|0;w=Hj(c[w>>2]|0,c[w+4>>2]|0)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=w;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+8>>2];xC(c[Ca>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Fz(c[Ca>>2]|0,(c[j>>2]|0)-1|0);_F(c[P>>2]|0)}else y=41;while(0);if((y|0)==41){y=0;c[n>>2]=0;t=(c[P>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=Rw(c[Ca>>2]|0,22,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=UA(c[P>>2]|0)|0;ZA(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[P>>2]|0)+472>>2];Cv(c[P>>2]|0,c[s>>2]|0,k)|0;w=(c[s>>2]|0)+24|0;w=Hj(c[w>>2]|0,c[w+4>>2]|0)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=w;if(c[n>>2]|0)Fz(c[Ca>>2]|0,c[n>>2]|0);c[u>>2]=xz(c[Ca>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0)|0;wD(c[Ca>>2]|0,c[v>>2]|0,c[u>>2]|0);_F(c[P>>2]|0)}if(a[(c[Z>>2]|0)+65>>0]|0)break a;t=YF(c[Q>>2]|0)|0;w=(c[P>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[$>>2]=(c[$>>2]|0)+1}c[la>>2]=c[c[Q>>2]>>2];c[M>>2]=c[(c[Q>>2]|0)+36>>2];c[ma>>2]=c[(c[Q>>2]|0)+40>>2];c[na>>2]=c[(c[Q>>2]|0)+44>>2];a[ya>>0]=(e[(c[Q>>2]|0)+6>>1]&1|0)!=0;if((e[(c[Q>>2]|0)+6>>1]&9|0)==1?(qy(c[za>>2]|0,c[la>>2]|0,-1)|0)==0:0){y=(c[Q>>2]|0)+6|0;b[y>>1]=e[y>>1]&-2;y=vy(c[Z>>2]|0,c[la>>2]|0,0)|0;c[(c[Q>>2]|0)+40>>2]=y;c[ma>>2]=y}if(c[za>>2]|0){c[q>>2]=$F(c[P>>2]|0,c[za>>2]|0,0,c[c[la>>2]>>2]|0)|0;w=(c[P>>2]|0)+72|0;y=c[w>>2]|0;c[w>>2]=y+1;c[za+8>>2]=y;c[za+20>>2]=Uw(c[Ca>>2]|0,57,c[za+8>>2]|0,(c[c[za>>2]>>2]|0)+1+(c[c[la>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[za+20>>2]=-1;if((d[c[R>>2]>>0]|0)==12)Rw(c[Ca>>2]|0,57,c[(c[R>>2]|0)+4>>2]|0,c[c[la>>2]>>2]|0)|0;c[da>>2]=Cz(c[Ca>>2]|0)|0;y=(c[Q>>2]|0)+24|0;c[y>>2]=-1;c[y+4>>2]=2147483647;aG(c[P>>2]|0,c[Q>>2]|0,c[da>>2]|0);if((c[(c[Q>>2]|0)+8>>2]|0)==0?(c[za+20>>2]|0)>=0:0){bG(c[Ca>>2]|0,c[za+20>>2]|0,58);y=za+28|0;a[y>>0]=d[y>>0]|1}if(e[(c[Q>>2]|0)+6>>1]&1){y=(c[P>>2]|0)+72|0;w=c[y>>2]|0;c[y>>2]=w+1;c[ya+4>>2]=w;w=c[Ca>>2]|0;y=c[ya+4>>2]|0;c[ya+8>>2]=Uw(w,57,y,0,0,$F(c[P>>2]|0,c[c[Q>>2]>>2]|0,0,0)|0,-6)|0;Fh(c[Ca>>2]|0,8);a[ya+1>>0]=3}else a[ya+1>>0]=0;if((c[l>>2]|0)==0&(c[ma>>2]|0)==0){b[x>>1]=(d[ya>>0]|0)!=0?1024:0;c[qa>>2]=RC(c[P>>2]|0,c[pa>>2]|0,c[M>>2]|0,c[za>>2]|0,c[c[Q>>2]>>2]|0,b[x>>1]|0,0)|0;if(!(c[qa>>2]|0))break;Aa=cG(c[qa>>2]|0)|0;va=C;Ba=(c[Q>>2]|0)+24|0;wa=c[Ba+4>>2]|0;if(va>>>0>>0|((va|0)==(wa|0)?Aa>>>0<(c[Ba>>2]|0)>>>0:0)){Aa=cG(c[qa>>2]|0)|0;Ba=(c[Q>>2]|0)+24|0;c[Ba>>2]=Aa;c[Ba+4>>2]=C}do if(d[ya>>0]|0){if(!(dG(c[qa>>2]|0)|0))break;a[ya+1>>0]=dG(c[qa>>2]|0)|0}while(0);do if(c[za>>2]|0){c[za+4>>2]=eG(c[qa>>2]|0)|0;if((c[za+4>>2]|0)!=(c[c[za>>2]>>2]|0))break;c[za>>2]=0}while(0);do if((c[za+20>>2]|0)>=0){if(c[za>>2]|0)break;pA(c[Ca>>2]|0,c[za+20>>2]|0)|0}while(0);ua=c[P>>2]|0;va=c[Q>>2]|0;wa=c[la>>2]|0;Aa=c[R>>2]|0;Ba=fG(c[qa>>2]|0)|0;hG(ua,va,wa,-1,za,ya,Aa,Ba,gG(c[qa>>2]|0)|0);SC(c[qa>>2]|0)}else{c[Ba>>2]=0;c[Aa>>2]=0;c[ja>>2]=0;g=c[Q>>2]|0;do if(c[ma>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[Q>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[ma>>2]>>2];c[A>>2]=c[(c[ma>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}A=(c[Q>>2]|0)+24|0;z=c[A+4>>2]|0;if(!(z>>>0>0|(z|0)==0&(c[A>>2]|0)>>>0>100))break;A=(c[Q>>2]|0)+24|0;c[A>>2]=100;c[A+4>>2]=0}else{A=g+24|0;c[A>>2]=1;c[A+4>>2]=0}while(0);if(!(qy(c[ma>>2]|0,c[za>>2]|0,-1)|0))c[ja>>2]=1;c[T>>2]=Cz(c[Ca>>2]|0)|0;c[N>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;c[N+16>>2]=0;c[N+20>>2]=0;c[N+24>>2]=0;c[N+28>>2]=0;c[N>>2]=c[P>>2];c[N+4>>2]=c[pa>>2];c[N+12>>2]=xa;c[xa+16>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;if(c[ma>>2]|0)g=c[c[ma>>2]>>2]|0;else g=0;c[xa+12>>2]=g;c[xa+24>>2]=c[ma>>2];iG(N,c[la>>2]|0);iG(N,c[za>>2]|0);if(c[na>>2]|0)jG(N,c[na>>2]|0);c[xa+36>>2]=c[xa+32>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[xa+44>>2]|0))break;A=N+28|0;b[A>>1]=e[A>>1]|8;iG(N,c[(c[(c[xa+40>>2]|0)+(c[$>>2]<<4)>>2]|0)+20>>2]|0);A=N+28|0;b[A>>1]=e[A>>1]&-9;c[$>>2]=(c[$>>2]|0)+1}c[xa+20>>2]=c[(c[P>>2]|0)+76>>2];if(a[(c[Z>>2]|0)+65>>0]|0)break;if(c[ma>>2]|0){L=(c[P>>2]|0)+72|0;N=c[L>>2]|0;c[L>>2]=N+1;c[xa+4>>2]=N;c[oa>>2]=$F(c[P>>2]|0,c[ma>>2]|0,0,c[xa+32>>2]|0)|0;c[X>>2]=Uw(c[Ca>>2]|0,58,c[xa+4>>2]|0,c[xa+12>>2]|0,0,c[oa>>2]|0,-6)|0;N=(c[P>>2]|0)+76|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[fa>>2]=L;L=(c[P>>2]|0)+76|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[ba>>2]=N;N=(c[P>>2]|0)+76|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[ua>>2]=L;c[U>>2]=Cz(c[Ca>>2]|0)|0;L=(c[P>>2]|0)+76|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[wa>>2]=N;c[V>>2]=Cz(c[Ca>>2]|0)|0;c[aa>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;N=(c[P>>2]|0)+76|0;c[N>>2]=(c[N>>2]|0)+(c[c[ma>>2]>>2]|0);c[ca>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;N=(c[P>>2]|0)+76|0;c[N>>2]=(c[N>>2]|0)+(c[c[ma>>2]>>2]|0);Rw(c[Ca>>2]|0,22,0,c[ba>>2]|0)|0;Rw(c[Ca>>2]|0,22,0,c[fa>>2]|0)|0;Vw(c[Ca>>2]|0,25,0,c[aa>>2]|0,(c[aa>>2]|0)+(c[c[ma>>2]>>2]|0)-1|0)|0;Rw(c[Ca>>2]|0,14,c[wa>>2]|0,c[V>>2]|0)|0;c[qa>>2]=RC(c[P>>2]|0,c[pa>>2]|0,c[M>>2]|0,c[ma>>2]|0,0,(256|((c[ja>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[qa>>2]|0))break;N=eG(c[qa>>2]|0)|0;if((N|0)==(c[c[ma>>2]>>2]|0))c[_>>2]=0;else{if(d[ya>>0]|0)g=(e[(c[Q>>2]|0)+6>>1]&1|0)==0;else g=0;kG(c[P>>2]|0,g?36474:36483);c[_>>2]=1;c[ia>>2]=c[c[ma>>2]>>2];c[ha>>2]=c[ia>>2];c[ga>>2]=c[ia>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[xa+32>>2]|0))break;if((c[(c[xa+28>>2]|0)+((c[$>>2]|0)*24|0)+12>>2]|0)>=(c[ga>>2]|0)){c[ha>>2]=(c[ha>>2]|0)+1;c[ga>>2]=(c[ga>>2]|0)+1}c[$>>2]=(c[$>>2]|0)+1}c[ta>>2]=kA(c[P>>2]|0,c[ha>>2]|0)|0;fC(c[P>>2]|0);GA(c[P>>2]|0,c[ma>>2]|0,c[ta>>2]|0,0,0)|0;c[ga>>2]=c[ia>>2];c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[xa+32>>2]|0))break;c[ka>>2]=(c[xa+28>>2]|0)+((c[$>>2]|0)*24|0);if((c[(c[ka>>2]|0)+12>>2]|0)>=(c[ga>>2]|0)){c[ra>>2]=(c[ga>>2]|0)+(c[ta>>2]|0);vD(c[P>>2]|0,c[c[ka>>2]>>2]|0,c[(c[ka>>2]|0)+8>>2]|0,c[(c[ka>>2]|0)+4>>2]|0,c[ra>>2]|0);c[ga>>2]=(c[ga>>2]|0)+1}c[$>>2]=(c[$>>2]|0)+1}c[va>>2]=Wz(c[P>>2]|0)|0;Vw(c[Ca>>2]|0,49,c[ta>>2]|0,c[ha>>2]|0,c[va>>2]|0)|0;Rw(c[Ca>>2]|0,109,c[xa+4>>2]|0,c[va>>2]|0)|0;_z(c[P>>2]|0,c[va>>2]|0);nA(c[P>>2]|0,c[ta>>2]|0,c[ha>>2]|0);SC(c[qa>>2]|0);ta=(c[P>>2]|0)+72|0;va=c[ta>>2]|0;c[ta>>2]=va+1;c[Ba>>2]=va;c[xa+8>>2]=va;c[Aa>>2]=Wz(c[P>>2]|0)|0;Vw(c[Ca>>2]|0,60,c[Ba>>2]|0,c[Aa>>2]|0,c[ha>>2]|0)|0;Rw(c[Ca>>2]|0,106,c[xa+4>>2]|0,c[T>>2]|0)|0;a[xa+1>>0]=1;fC(c[P>>2]|0)}do if(c[ja>>2]|0){if(e[(c[Z>>2]|0)+60>>1]&4)break;if((c[_>>2]|0)==0?(lG(c[qa>>2]|0)|0)==0:0)break;c[za>>2]=0;pA(c[Ca>>2]|0,c[za+20>>2]|0)|0}while(0);c[Y>>2]=Bz(c[Ca>>2]|0)|0;fC(c[P>>2]|0);if(c[_>>2]|0)Vw(c[Ca>>2]|0,100,c[xa+4>>2]|0,c[Aa>>2]|0,c[Ba>>2]|0)|0;c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[c[ma>>2]>>2]|0))break;if(c[_>>2]|0)Vw(c[Ca>>2]|0,47,c[Ba>>2]|0,c[ga>>2]|0,(c[ca>>2]|0)+(c[ga>>2]|0)|0)|0;else{a[xa>>0]=1;xA(c[P>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[ga>>2]|0)*20|0)>>2]|0,(c[ca>>2]|0)+(c[ga>>2]|0)|0)}c[ga>>2]=(c[ga>>2]|0)+1}ta=c[Ca>>2]|0;va=c[aa>>2]|0;Aa=c[ca>>2]|0;Ba=c[c[ma>>2]>>2]|0;Uw(ta,42,va,Aa,Ba,Vz(c[oa>>2]|0)|0,-6)|0;c[S>>2]=Bz(c[Ca>>2]|0)|0;Vw(c[Ca>>2]|0,43,(c[S>>2]|0)+1|0,0,(c[S>>2]|0)+1|0)|0;mG(c[P>>2]|0,c[ca>>2]|0,c[aa>>2]|0,c[c[ma>>2]>>2]|0);Rw(c[Ca>>2]|0,14,c[ua>>2]|0,c[U>>2]|0)|0;Rw(c[Ca>>2]|0,138,c[ba>>2]|0,c[T>>2]|0)|0;Rw(c[Ca>>2]|0,14,c[wa>>2]|0,c[V>>2]|0)|0;Fz(c[Ca>>2]|0,c[S>>2]|0);nG(c[P>>2]|0,xa);Rw(c[Ca>>2]|0,22,1,c[fa>>2]|0)|0;if(c[_>>2]|0)Rw(c[Ca>>2]|0,3,c[xa+4>>2]|0,c[Y>>2]|0)|0;else{SC(c[qa>>2]|0);pA(c[Ca>>2]|0,c[X>>2]|0)|0}Rw(c[Ca>>2]|0,14,c[ua>>2]|0,c[U>>2]|0)|0;Ez(c[Ca>>2]|0,c[T>>2]|0)|0;c[W>>2]=Bz(c[Ca>>2]|0)|0;Rw(c[Ca>>2]|0,22,1,c[ba>>2]|0)|0;xz(c[Ca>>2]|0,15,c[ua>>2]|0)|0;Gz(c[Ca>>2]|0,c[U>>2]|0);c[U>>2]=Bz(c[Ca>>2]|0)|0;Rw(c[Ca>>2]|0,138,c[fa>>2]|0,(c[U>>2]|0)+2|0)|0;xz(c[Ca>>2]|0,15,c[ua>>2]|0)|0;oG(c[P>>2]|0,xa);LA(c[P>>2]|0,c[na>>2]|0,(c[U>>2]|0)+1|0,16);hG(c[P>>2]|0,c[Q>>2]|0,c[c[Q>>2]>>2]|0,-1,za,ya,c[R>>2]|0,(c[U>>2]|0)+1|0,c[W>>2]|0);xz(c[Ca>>2]|0,15,c[ua>>2]|0)|0;Gz(c[Ca>>2]|0,c[V>>2]|0);pG(c[P>>2]|0,xa);xz(c[Ca>>2]|0,15,c[wa>>2]|0)|0}else{c[H>>2]=0;Ba=qG(c[Q>>2]|0,xa)|0;c[L>>2]=Ba;if(Ba){c[E>>2]=Dh(c[c[P>>2]>>2]|0,c[(c[L>>2]|0)+64>>2]|0)|0;Aa=(c[P>>2]|0)+72|0;Ba=c[Aa>>2]|0;c[Aa>>2]=Ba+1;c[D>>2]=Ba;c[J>>2]=0;c[G>>2]=0;c[F>>2]=c[(c[L>>2]|0)+28>>2];bx(c[P>>2]|0,c[E>>2]|0);yz(c[P>>2]|0,c[E>>2]|0,c[(c[L>>2]|0)+28>>2]|0,0,c[c[L>>2]>>2]|0);if(d[(c[L>>2]|0)+42>>0]&32)c[G>>2]=Ej(c[L>>2]|0)|0;c[I>>2]=c[(c[L>>2]|0)+8>>2];while(1){if(!(c[I>>2]|0))break;do if(!((d[(c[I>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[I>>2]|0)+48>>1]|0)>=(b[(c[L>>2]|0)+40>>1]|0))break;if(c[(c[I>>2]|0)+36>>2]|0)break;if((c[G>>2]|0)!=0?(b[(c[I>>2]|0)+48>>1]|0)>=(b[(c[G>>2]|0)+48>>1]|0):0)break;c[G>>2]=c[I>>2]}while(0);c[I>>2]=c[(c[I>>2]|0)+20>>2]}if(c[G>>2]|0){c[F>>2]=c[(c[G>>2]|0)+44>>2];c[J>>2]=Pz(c[P>>2]|0,c[G>>2]|0)|0}Eh(c[Ca>>2]|0,54,c[D>>2]|0,c[F>>2]|0,c[E>>2]|0,1)|0;if(c[J>>2]|0)Ih(c[Ca>>2]|0,-1,c[J>>2]|0,-6);Rw(c[Ca>>2]|0,50,c[D>>2]|0,c[(c[xa+40>>2]|0)+8>>2]|0)|0;xz(c[Ca>>2]|0,61,c[D>>2]|0)|0;rG(c[P>>2]|0,c[L>>2]|0,c[G>>2]|0)}else{c[K>>2]=0;a[B>>0]=0;if(!(c[(c[Q>>2]|0)+44>>2]|0))a[B>>0]=sG(xa,K)|0;do if(a[B>>0]|0){c[K>>2]=vy(c[Z>>2]|0,c[K>>2]|0,0)|0;c[H>>2]=c[K>>2];if(a[(c[Z>>2]|0)+65>>0]|0)break;a[(c[(c[K>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[K>>2]|0)+4>>2]>>2]>>0]=-104}while(0);pG(c[P>>2]|0,xa);c[qa>>2]=RC(c[P>>2]|0,c[pa>>2]|0,c[M>>2]|0,c[K>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[qa>>2]|0)){Vu(c[Z>>2]|0,c[H>>2]|0);break}nG(c[P>>2]|0,xa);if((eG(c[qa>>2]|0)|0)>0){Ba=c[Ca>>2]|0;Ez(Ba,gG(c[qa>>2]|0)|0)|0}SC(c[qa>>2]|0);oG(c[P>>2]|0,xa)}c[za>>2]=0;LA(c[P>>2]|0,c[na>>2]|0,c[T>>2]|0,16);hG(c[P>>2]|0,c[Q>>2]|0,c[c[Q>>2]>>2]|0,-1,0,0,c[R>>2]|0,c[T>>2]|0,c[T>>2]|0);Vu(c[Z>>2]|0,c[H>>2]|0)}Gz(c[Ca>>2]|0,c[T>>2]|0)}if((d[ya+1>>0]|0)==3)kG(c[P>>2]|0,36474);if(c[za>>2]|0){kG(c[P>>2]|0,(c[za+4>>2]|0)>0?36492:36515);tG(c[P>>2]|0,c[Q>>2]|0,za,c[c[la>>2]>>2]|0,c[R>>2]|0)}Gz(c[Ca>>2]|0,c[da>>2]|0);c[sa>>2]=(c[(c[P>>2]|0)+68>>2]|0)>0&1}}while(0);c[(c[P>>2]|0)+468>>2]=c[ea>>2];if((c[sa>>2]|0)==0?(d[c[R>>2]>>0]|0)==9:0)uG(c[P>>2]|0,c[pa>>2]|0,c[la>>2]|0);Sf(c[Z>>2]|0,c[xa+28>>2]|0);Sf(c[Z>>2]|0,c[xa+40>>2]|0);c[O>>2]=c[sa>>2];Ca=c[O>>2]|0;i=Da;return Ca|0}c[O>>2]=1;Ca=c[O>>2]|0;i=Da;return Ca|0}function Dv(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;l=n+16|0;k=n+12|0;j=n+8|0;h=n+4|0;c[f>>2]=a;c[g>>2]=d;if(!(c[(c[g>>2]|0)+52>>2]|0)){i=n;return}c[l>>2]=0;c[h>>2]=0;c[k>>2]=c[g>>2];while(1){if(!(c[k>>2]|0))break;c[(c[k>>2]|0)+56>>2]=c[l>>2];a=(c[k>>2]|0)+6|0;b[a>>1]=e[a>>1]|0|128;c[l>>2]=c[k>>2];c[k>>2]=c[(c[k>>2]|0)+52>>2];c[h>>2]=(c[h>>2]|0)+1}if((e[(c[g>>2]|0)+6>>1]|0)&512){i=n;return}a=c[(c[c[f>>2]>>2]|0)+88+16>>2]|0;c[j>>2]=a;if((a|0)<=0){i=n;return}if((c[h>>2]|0)<=(c[j>>2]|0)){i=n;return}Ah(c[f>>2]|0,36400,m);i=n;return}function Ev(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?36355:36358;Ah(j,36364,v)}else w=4;if(((w|0)==4?(c[m>>2]=Nv(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Dw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}Zu(c[t>>2]|0,c[r>>2]|0);_u(c[t>>2]|0,c[s>>2]|0);Wu(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Fv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+116|0;w=B+84|0;x=B+80|0;z=B+76|0;A=B;y=B+72|0;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Fw(c[y>>2]|0,72,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Gv(l,0,Jv(c[y>>2]|0,158,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;b[(c[z>>2]|0)+6>>1]=b[v>>1]|0;c[(c[z>>2]|0)+8>>2]=0;c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=-1;c[(c[z>>2]|0)+16+4>>2]=-1;l=(c[z>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;if(!(c[q>>2]|0))c[q>>2]=ph(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+32>>2]=c[q>>2];c[(c[z>>2]|0)+36>>2]=c[r>>2];c[(c[z>>2]|0)+40>>2]=c[s>>2];c[(c[z>>2]|0)+44>>2]=c[t>>2];c[(c[z>>2]|0)+48>>2]=c[u>>2];c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=0;c[(c[z>>2]|0)+60>>2]=c[w>>2];c[(c[z>>2]|0)+64>>2]=c[x>>2];c[(c[z>>2]|0)+68>>2]=0;if(!(a[(c[y>>2]|0)+65>>0]|0)){A=c[z>>2]|0;i=B;return A|0}Xu(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Gv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Fw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Fw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Ew(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){Zu(c[j>>2]|0,c[h>>2]|0);Vu(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Iw(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}if(!(c[(c[k>>2]|0)+4>>2]|0)){i=l;return}Jw(c[(c[k>>2]|0)+4>>2]|0)|0;i=l;return}function Iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Sf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Iw(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Jv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=If(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=cz(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Kv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Lv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Dw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Mv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{Vu(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function Nv(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Fw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=UF(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+65>>0]|0){Yu(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Dw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Dw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Ov(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[36199+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,36220+(d[36199+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[36199+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Ah(c[g>>2]|0,36300,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=36254;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Ah(t,36256,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function Pv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function Qv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+536>>2];c[(c[f>>2]|0)+536>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+540>>2]=c[g>>2];i=j;return}function Rv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;n=Y+144|0;O=Y+140|0;Q=Y+136|0;o=Y+132|0;M=Y+128|0;W=Y+120|0;r=Y+88|0;l=Y+84|0;S=Y+80|0;q=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;m=Y+52|0;p=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;j=Y+28|0;R=Y+24|0;E=Y+20|0;x=Y+16|0;s=Y+184|0;k=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;c[H>>2]=f;c[I>>2]=g;c[J>>2]=h;c[O>>2]=0;c[Q>>2]=0;c[S>>2]=-1;c[K>>2]=0;c[m>>2]=0;b[p>>1]=1;c[P>>2]=0;c[C>>2]=0;c[v>>2]=0;c[L>>2]=0;c[j>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[M>>2]=c[c[H>>2]>>2];a:do if(((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[M>>2]|0)+65>>0]|0)==0:0)?(c[V>>2]=DB(c[H>>2]|0,c[I>>2]|0)|0,(c[V>>2]|0)!=0):0){c[E>>2]=sC(c[H>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[E>>2]|0)f=1;else f=(DE(c[H>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[x>>2]=f&1;if(((zx(c[H>>2]|0,c[V>>2]|0)|0)==0?(tC(c[H>>2]|0,c[V>>2]|0,(c[E>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Dh(c[M>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[t>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[q>>2]=Mw(c[H>>2]|0,9,c[c[V>>2]>>2]|0,0,c[t>>2]|0)|0,(c[q>>2]|0)!=1):0){h=(c[H>>2]|0)+72|0;t=c[h>>2]|0;c[h>>2]=t+1;c[(c[I>>2]|0)+8+44>>2]=t;c[n>>2]=t;c[o>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break;t=(c[H>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[R>>2]|0)PF(c[H>>2]|0,W,c[c[V>>2]>>2]|0);c[X>>2]=Pw(c[H>>2]|0)|0;if(c[X>>2]|0){if(!(d[(c[H>>2]|0)+18>>0]|0))uC(c[X>>2]|0);ax(c[H>>2]|0,1,c[l>>2]|0);if(c[R>>2]|0){QF(c[H>>2]|0,c[V>>2]|0,c[J>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[Q>>2]=t;c[O>>2]=t};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[H>>2];c[r+4>>2]=c[I>>2];if(!(fy(r,c[J>>2]|0)|0)){if(c[(c[M>>2]|0)+24>>2]&128){r=(c[H>>2]|0)+76|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[S>>2]=t;Rw(c[X>>2]|0,22,0,c[S>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[J>>2]|0)==0^1|(c[x>>2]|0)!=0)?(d[(c[V>>2]|0)+42>>0]&16|0)==0:0){yz(c[H>>2]|0,c[l>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))Uw(c[X>>2]|0,119,c[(c[V>>2]|0)+28>>2]|0,c[l>>2]|0,c[S>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break b;Rw(c[X>>2]|0,119,c[(c[T>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){b[s>>1]=12;b[s>>1]=e[s>>1]|((c[x>>2]|0)!=0?0:8192);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[U>>2]=0;b[p>>1]=1;t=(c[H>>2]|0)+76|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[C>>2]=u;Rw(c[X>>2]|0,25,0,c[C>>2]|0)|0}else{c[U>>2]=Ej(c[V>>2]|0)|0;b[p>>1]=b[(c[U>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;t=(c[H>>2]|0)+76|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[H>>2]|0)+72|0;u=c[t>>2]|0;c[t>>2]=u+1;c[P>>2]=u;c[j>>2]=Rw(c[X>>2]|0,57,c[P>>2]|0,b[p>>1]|0)|0;Az(c[H>>2]|0,c[U>>2]|0)}c[G>>2]=RC(c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[G>>2]|0))break a;c[z>>2]=SF(c[G>>2]|0,w)|0;if(c[(c[M>>2]|0)+24>>2]&128)Rw(c[X>>2]|0,37,c[S>>2]|0,1)|0;do if(c[U>>2]|0){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(b[p>>1]|0))break;tA(c[X>>2]|0,c[V>>2]|0,c[n>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[N>>2]|0)|0);c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[m>>2]}else{c[B>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;c[B>>2]=zA(c[H>>2]|0,c[V>>2]|0,-1,c[n>>2]|0,c[B>>2]|0,0)|0;if((c[B>>2]|0)<=(c[(c[H>>2]|0)+76>>2]|0))break;c[(c[H>>2]|0)+76>>2]=c[B>>2]}while(0);do if(!(c[z>>2]|0))if(c[U>>2]|0){r=(c[H>>2]|0)+76|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[B>>2]=q;b[D>>1]=0;q=c[X>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[B>>2]|0;u=dC(c[c[H>>2]>>2]|0,c[U>>2]|0)|0;Uw(q,49,r,s,t,u,b[p>>1]|0)|0;Rw(c[X>>2]|0,110,c[P>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=1;Rw(c[X>>2]|0,129,c[C>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[K>>2]=Fw(c[M>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[K>>2]|0)){SC(c[G>>2]|0);break a}kR(c[K>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[K>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[w>>2]|0)>=0)a[(c[K>>2]|0)+((c[w>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[w+4>>2]|0)>=0)a[(c[K>>2]|0)+((c[w+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;pA(c[X>>2]|0,c[j>>2]|0)|0}while(0);if(c[z>>2]|0)c[v>>2]=Cz(c[X>>2]|0)|0;else SC(c[G>>2]|0);do if(!(c[R>>2]|0)){c[k>>2]=0;if((c[z>>2]|0)==2)c[k>>2]=UA(c[H>>2]|0)|0;gC(c[H>>2]|0,c[V>>2]|0,55,8,c[n>>2]|0,c[K>>2]|0,O,Q)|0;if((c[z>>2]|0)!=2)break;Fz(c[X>>2]|0,c[k>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){c[L>>2]=xz(f,108,c[P>>2]|0)|0;Rw(c[X>>2]|0,101,c[P>>2]|0,c[B>>2]|0)|0;break}else{c[L>>2]=Vw(f,130,c[C>>2]|0,0,c[B>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(d[(c[K>>2]|0)+((c[O>>2]|0)-(c[n>>2]|0))>>0]|0))break;Eh(c[X>>2]|0,68,c[O>>2]|0,c[v>>2]|0,c[B>>2]|0,b[D>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16){c[F>>2]=Ax(c[M>>2]|0,c[V>>2]|0)|0;EC(c[H>>2]|0,c[V>>2]|0);Uw(c[X>>2]|0,12,0,1,c[B>>2]|0,c[F>>2]|0,-10)|0;Fh(c[X>>2]|0,2);Bx(c[H>>2]|0);if((c[z>>2]|0)!=1)break;if(c[(c[H>>2]|0)+416>>2]|0)break;a[(c[H>>2]|0)+20>>0]=0}else{c[y>>2]=(d[(c[H>>2]|0)+18>>0]|0)==0&1;c[A>>2]=-1;do if(!(c[x>>2]|0)){if((c[w+4>>2]|0)==(c[O>>2]|0))break;c[A>>2]=c[w+4>>2]}while(0);FE(c[H>>2]|0,c[V>>2]|0,c[E>>2]|0,c[O>>2]|0,c[Q>>2]|0,c[B>>2]|0,b[D>>1]|0,c[y>>2]&255,10,c[z>>2]&255,c[A>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){Rw(f,7,c[P>>2]|0,(c[L>>2]|0)+1|0)|0;Fz(c[X>>2]|0,c[L>>2]|0);break}else{Ez(f,c[L>>2]|0)|0;Fz(c[X>>2]|0,c[L>>2]|0);break}}else{Gz(c[X>>2]|0,c[v>>2]|0);SC(c[G>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(c[U>>2]|0))xz(c[X>>2]|0,61,c[O>>2]|0)|0;c[N>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break c;xz(c[X>>2]|0,61,(c[Q>>2]|0)+(c[N>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)IC(c[H>>2]|0);if(((c[(c[M>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){Rw(c[X>>2]|0,33,c[S>>2]|0,1)|0;OB(c[X>>2]|0,1);PB(c[X>>2]|0,0,0,36186,0)|0}}}}}while(0);TF(W);Yu(c[M>>2]|0,c[I>>2]|0);Zu(c[M>>2]|0,c[J>>2]|0);Sf(c[M>>2]|0,c[K>>2]|0);i=Y;return}function Sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+88+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Ah(d,36163,j);i=k;return}function Tv(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+68>>2]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+65>>0]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[ka>>2]=DB(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[l>>2]=Dh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=sC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(zx(c[X>>2]|0,c[ka>>2]|0)|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(tC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}g=(c[X>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Ej(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+72>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Fw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);kR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(fy(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(Td(c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0)+23>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(qi(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=20759;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+((c[C>>2]|0)*24|0)>>2]|0;c[n>>2]=Mw(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Ah(na,24991,q);a[(c[X>>2]|0)+17>>0]=1;TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=DE(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=Pw(c[X>>2]|0)|0;if(!(c[na>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))uC(c[na>>2]|0);ax(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+76|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)PF(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)QF(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(fy(p,c[_>>2]|0)|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){RF(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){Vw(c[na>>2]|0,25,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=RC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[R>>2]=SF(c[x>>2]|0,s)|0;Rw(c[na>>2]|0,103,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))Rw(c[na>>2]|0,129,c[A>>2]|0,c[V>>2]|0)|0;SC(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+76|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+72|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;Rw(c[na>>2]|0,25,0,c[u>>2]|0)|0;c[r>>2]=Rw(c[na>>2]|0,57,c[fa>>2]|0,b[w>>1]|0)|0;Az(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=RC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}c[R>>2]=SF(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;tA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){pA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=dC(c[ca>>2]|0,c[ja>>2]|0)|0;Uw(k,49,p,q,r,u,b[w>>1]|0)|0;Rw(c[na>>2]|0,110,c[fa>>2]|0,c[T>>2]|0)|0}SC(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+420>>2]|0)==0:0){w=(c[X>>2]|0)+76|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;Rw(c[na>>2]|0,22,0,c[la>>2]|0)|0}c[ha>>2]=Cz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)kR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}kR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);gC(c[X>>2]|0,c[ka>>2]|0,55,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Cz(k)|0;Rw(c[na>>2]|0,108,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=Rw(c[na>>2]|0,101,c[fa>>2]|0,c[T>>2]|0)|0;Eh(c[na>>2]|0,68,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=Vw(k,130,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;Vw(c[na>>2]|0,70,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Eh(c[na>>2]|0,68,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];Rw(c[na>>2]|0,76,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){xA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);xz(c[na>>2]|0,38,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=IE(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=HE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+((c[da>>2]|0)*24|0)+23>>0]&1){J=120;break}Rw(c[na>>2]|0,25,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;tA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;Rw(c[na>>2]|0,30,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=HE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))Rw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){xA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;Rw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);vD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){AC(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);BC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Eh(k,68,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else Vw(k,70,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;tA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;FC(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)GC(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Eh(k,68,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=Vw(k,70,h,0,c[V>>2]|0)|0;break}}while(0);GE(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))Rw(c[na>>2]|0,95,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Fz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)GC(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);HC(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;JE(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+420>>2]|0)break;Rw(c[na>>2]|0,37,c[la>>2]|0,1)|0}while(0);BC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){Gz(h,k);Rw(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Ez(h,k)|0;break}}while(0);Gz(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)Rw(c[na>>2]|0,61,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))Rw(c[na>>2]|0,61,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+420>>2]|0)break;IC(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(c[(c[X>>2]|0)+420>>2]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}Rw(c[na>>2]|0,33,c[la>>2]|0,1)|0;OB(c[na>>2]|0,1);PB(c[na>>2]|0,0,0,36150,0)|0;TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}else if((J|0)==185){TF(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Sf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;Yu(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;Vu(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;Zu(ma,na);i=oa;return}} -function LC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=Pw(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)-1;c[C>>2]=Cz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)Rw(c[J>>2]|0,136,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;Rw(c[J>>2]|0,76,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=Wz(c[o>>2]|0)|0;Rw(c[J>>2]|0,31,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=Rw(c[J>>2]|0,38,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){Vw(c[J>>2]|0,79,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Fh(c[J>>2]|0,-112)}zz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,54);Vw(c[J>>2]|0,70,c[z>>2]|0,0,c[H>>2]|0)|0;Ez(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Fz(I,(Bz(c[J>>2]|0)|0)-2|0);Fz(c[J>>2]|0,c[B>>2]|0);_z(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=kA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=Wz(c[o>>2]|0)|0;Vw(c[J>>2]|0,54,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Az(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;Rw(c[J>>2]|0,30,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=Bz(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];Vw(c[J>>2]|0,78,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Fh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Ez(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=dC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;Uw(h,49,e,g,l,H,c[F>>2]|0)|0;Eh(c[J>>2]|0,69,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;_z(c[o>>2]|0,c[G>>2]|0);nA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[o>>2]|0)+416>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){bA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;Gz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;xz(I,61,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Bx(c[o>>2]|0);Rw(c[J>>2]|0,135,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;Gz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;xz(I,61,J)|0;i=K;return}function MC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+532>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+532>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function NC(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*24|0);f=c[p>>2]|0;if(c[q>>2]|0)if(!(Td(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+23>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function OC(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=Pw(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=Rw(c[M>>2]|0,136,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=PC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((b[x>>1]|0)*24|0)>>2];c[H>>2]=Jv(c[v>>2]|0,27,c[N>>2]|0)|0;c[B>>2]=rv(c[n>>2]|0,79,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=az(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=PC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=QC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=rv(c[n>>2]|0,78,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Ej(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=PC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=QC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=rv(c[n>>2]|0,79,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=az(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=rv(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=az(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];fy(L,c[K>>2]|0)|0;c[J>>2]=RC(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;Rw(c[M>>2]|0,135,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)SC(c[J>>2]|0);Zu(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Fz(c[M>>2]|0,c[z>>2]|0);i=O;return}function PC(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Jv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((b[l>>1]|0)*24|0);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+21>>0]|0;c[p>>2]=c[(c[n>>2]|0)+16>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=By(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function QC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Jv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function RC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+60>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Ah(ba,35216,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=816+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=ph(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+65>>0]|0)){c[(c[W>>2]|0)+60+4>>2]=-1;c[(c[W>>2]|0)+60>>2]=-1;a[(c[W>>2]|0)+41>>0]=c[I>>2];c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];l=Cz(c[_>>2]|0)|0;c[(c[W>>2]|0)+48>>2]=l;c[(c[W>>2]|0)+52>>2]=l;b[(c[W>>2]|0)+34>>1]=b[v>>1]|0;c[(c[W>>2]|0)+56>>2]=c[(c[r>>2]|0)+428>>2];c[R>>2]=(c[W>>2]|0)+68;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+328;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);ZC(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;aD((c[W>>2]|0)+328|0,c[W>>2]|0);bD((c[W>>2]|0)+328|0,c[o>>2]|0,72);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(dB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){LA(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+52>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+20|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+36>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[W>>2]|0)+40>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;cD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);dD(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+328|0);c[G>>2]=(c[G>>2]|0)+1}eD(c[s>>2]|0,(c[W>>2]|0)+328|0);if(!(a[(c[B>>2]|0)+65>>0]|0)){do if(e[v>>1]&1024){if(fD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+40>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+34|0;b[t>>1]=e[t>>1]|512;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(gD(Y)|0)!=0:0)){c[X>>2]=hD(Y)|0;if(c[X>>2]|0)break;iD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+65>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(iD(c[W>>2]|0,(b[(c[W>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+65>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+24|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+68>>2]|0)==0?(d[(c[B>>2]|0)+65>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+41>>0]|0)>=2:0)?(e[(c[B>>2]|0)+60>>1]&1024|0)==0:0){u=jD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=jD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+41>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+736+(((d[(c[W>>2]|0)+41>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+41|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+428|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+32>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8192))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+38>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8192)a[z>>0]=8;c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+736;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Dh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Ax(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];Uw(c[_>>2]|0,152,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[K>>2]=54;if(d[(c[W>>2]|0)+38>>0]|0){c[K>>2]=55;c[(c[W>>2]|0)+60>>2]=c[(c[T>>2]|0)+44>>2]}zz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+38>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=hR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Ih(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Fh(c[_>>2]|0,a[z>>0]|0);break c}while(0);yz(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+4>>2];c[L>>2]=54;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&64)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(d[(c[W>>2]|0)+38>>0]|0){c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=55;c[(c[W>>2]|0)+60+4>>2]=c[F>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[F>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[L>>2]=53;break d}while(0);Z=(c[r>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;Vw(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Az(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+34>>1]&1)break;Fh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)bx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=Bz(c[_>>2]|0)|0;c[(c[W>>2]|0)+44>>2]=ba;if(!(a[(c[B>>2]|0)+65>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+736+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,kD(c[r>>2]|0,(c[W>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+65>>0]|0)!=0):0)break a;c[x>>2]=lD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=Bz(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=mD(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+48>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&64|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Sf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+428>>2]=c[(c[W>>2]|0)+56>>2];UC(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function SC(f){f=f|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;l=E+44|0;j=E+40|0;k=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];fC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+41>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+736+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];Gz(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=160){Vw(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Fh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){Gz(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[l>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Fz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)+1|0);Rw(c[A>>2]|0,d[(c[l>>2]|0)+8>>0]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;Fz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-12}}while(0);Gz(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Ez(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Fz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Fz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0){if(c[(Mz(c[A>>2]|0,(c[(c[s>>2]|0)+40>>2]|0)-1|0)|0)+4>>2]|0)c[k>>2]=141;else c[k>>2]=142;Rw(c[A>>2]|0,c[k>>2]|0,c[(c[s>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+40>>2]|0)|0}if(c[c[s>>2]>>2]|0){c[h>>2]=xz(c[A>>2]|0,138,c[c[s>>2]>>2]|0)|0;if(!(c[(c[t>>2]|0)+36>>2]&64))xz(c[A>>2]|0,104,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(c[(c[t>>2]|0)+36>>2]&512)xz(c[A>>2]|0,104,c[(c[s>>2]|0)+8>>2]|0)|0;f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==15)Rw(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Ez(f,c[g+28>>2]|0)|0;Fz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}Gz(c[A>>2]|0,c[(c[m>>2]|0)+52>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+736;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+41>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+65>>0]|0)==0:0)TC(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=32;b:do if((D|0)==32){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+34>>1]&16|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+38>>0]|0)==0?(c[B>>2]&64|0)==0:0)xz(c[A>>2]|0,61,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+60+4>>2]|0):0)xz(c[A>>2]|0,61,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+4>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+38>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+65>>0]|0)){c[q>>2]=Bz(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=Mz(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=47){if((d[f>>0]|0)!=103)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=113;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Ej(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(uA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+428>>2]=c[(c[m>>2]|0)+56>>2];UC(c[n>>2]|0,c[m>>2]|0);i=E;return}function TC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=Mz(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=Bz(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==47){a[h>>0]=30;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==103){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=37;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=25;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function UC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+41>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+736+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Sf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}VC((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[h>>2]|0)+52>>2];WC(c[e>>2]|0,c[h>>2]|0)}Sf(c[e>>2]|0,c[f>>2]|0);i=k;return}function VC(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+20>>1]|0)&1)Zu(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+20>>1]|0)&16)){if((e[(c[d>>2]|0)+20>>1]|0)&32)$C(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0)}else _C(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Sf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function WC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;XC(c[f>>2]|0,c[e>>2]|0);Sf(c[f>>2]|0,c[e>>2]|0);i=d;return}function XC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Sf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);YC(c[d>>2]|0,c[e>>2]|0);ZC(c[e>>2]|0);i=f;return}function YC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Sf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);Sf(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function ZC(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function _C(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;VC(c[e>>2]|0);Sf(c[f>>2]|0,c[e>>2]|0);i=d;return}function $C(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;VC(c[e>>2]|0);Sf(c[f>>2]|0,c[e>>2]|0);i=d;return}function aD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function bD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=Tx(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){nE(f,c[h>>2]|0,0)|0;i=l;return}else{bD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);bD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function cD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function dD(a,e,f){a=a|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,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+((c[k>>2]|0)*24|0)+23>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=rv(f,152,0,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=rv(a,79,f,ny(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;nE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Ah(f,35704,q);i=r;return}else if((e|0)==13){i=r;return}}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;jE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function fD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=Tx(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(xD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((iE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(bE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function gD(f){f=f|0;var 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;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+34>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+328;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=xD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=xD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=$D(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+4>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+736+64>>2]=c[o>>2];q=nD((c[s>>2]|0)+68|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+736+4>>2]=c[j>>2];b[(c[s>>2]|0)+32>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+36>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+34>>1]|0)&1024)a[(c[s>>2]|0)+40>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function hD(b){b=b|0;var 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;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+41>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];ZC(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=nD((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=nD((c[n>>2]|0)+68|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=OD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=PD(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=QD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+65>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){XC(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function iD(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=i;i=i+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;r=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;n=U+104|0;p=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;k=U+80|0;m=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;j=U+60|0;l=U+56|0;S=U+52|0;h=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;o=U+148|0;q=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+41>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=Fw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];kR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+428>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+428>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){b[C>>1]=KD(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=KD(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=LD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+34>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=MD(b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=KD(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;iR(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=58}else F=58;while(0);if((F|0)==58){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Ah(c[z>>2]|0,35564,E);Sf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*80|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+34>>1]&1024|0)!=0?(e[(c[N>>2]|0)+34>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+40>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(LD(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+40>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+34>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+40>>0]=2}else{a[(c[N>>2]|0)+36>>0]=g;if((a[(c[N>>2]|0)+36>>0]|0)<0)a[(c[N>>2]|0)+36>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+34>>1]&2048|0)!=0?((c[P>>2]|0)>0?(a[(c[N>>2]|0)+36>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(LD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+37>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Sf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function jD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=ID(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function kD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=UA(c[N>>2]|0)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+20>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(ED(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=az(h,g,ny(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(FD(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+12>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=lR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,35527,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(GD(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Zu(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=lR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=HD(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Zu(W,X);i=Y;return}c[(c[H>>2]|0)+24+4>>2]=c[G>>2];c[c[G>>2]>>2]=35553;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(FD(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+12>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=lR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+12>>2];c[F>>2]=VA(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=35690;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=lR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35690;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35690;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35690;K=(c[N>>2]|0)+72|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;Rw(c[X>>2]|0,56,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Az(c[N>>2]|0,c[G>>2]|0);iA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=Rw(c[X>>2]|0,22,0,0)|0;Vw(c[X>>2]|0,16,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=xz(c[X>>2]|0,18,c[M>>2]|0)|0}else c[R>>2]=xz(c[X>>2]|0,108,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Cz(c[X>>2]|0)|0;LA(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=Wz(c[N>>2]|0)|0;c[V>>2]=Xz(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;Rw(c[X>>2]|0,110,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Fh(c[X>>2]|0,16);if(c[T>>2]|0)Gz(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){Lz(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);TC(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Ez(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else Rw(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Fh(c[X>>2]|0,3);Fz(c[X>>2]|0,c[R>>2]|0);_z(c[N>>2]|0,c[W>>2]|0);gA(c[N>>2]|0);Fz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;Zu(W,X);i=Y;return}function lD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+453>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+468>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&64|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;cg(C,c[q>>2]|0,r,100,1e9);AD(C,(c[x>>2]|0)!=0?35264:35271);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];$z(C,35276,E)}else{c[F>>2]=c[m+8>>2];$z(C,35289,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];$z(C,35299,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+4>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=35306}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=35318;break}if(c[v>>2]&16384){c[K>>2]=35351;break}if(c[v>>2]&64){c[K>>2]=35376;break}else{c[K>>2]=35394;break}}while(0);if(c[K>>2]|0){aA(C,35403,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];$z(C,N,J);BD(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=35413;break}if(c[v>>2]&32){c[M>>2]=35427;break}else{c[M>>2]=35429;break}}else c[M>>2]=35411;while(0);c[G>>2]=c[M>>2];$z(C,35431,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;$z(C,35469,H)}}while(0);c[L>>2]=eg(C)|0;c[B>>2]=Uw(c[D>>2]|0,161,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function mD(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;Za=i;i=i+368|0;Ia=Za+8|0;Ja=Za+352|0;Z=Za+348|0;Ka=Za;Oa=Za+344|0;Ha=Za+340|0;Na=Za+336|0;F=Za+332|0;N=Za+328|0;Fa=Za+324|0;Ta=Za+320|0;Ga=Za+316|0;Wa=Za+312|0;Va=Za+308|0;Ua=Za+304|0;Ma=Za+300|0;Ya=Za+296|0;E=Za+292|0;v=Za+288|0;La=Za+284|0;K=Za+280|0;l=Za+276|0;k=Za+272|0;A=Za+268|0;z=Za+264|0;D=Za+260|0;B=Za+256|0;u=Za+252|0;t=Za+248|0;m=Za+244|0;o=Za+240|0;n=Za+236|0;p=Za+232|0;r=Za+228|0;s=Za+224|0;q=Za+220|0;M=Za+358|0;V=Za+216|0;S=Za+212|0;R=Za+208|0;W=Za+204|0;J=Za+200|0;X=Za+196|0;L=Za+192|0;P=Za+188|0;ba=Za+184|0;w=Za+180|0;O=Za+176|0;Y=Za+172|0;I=Za+363|0;G=Za+362|0;H=Za+361|0;x=Za+168|0;y=Za+360|0;T=Za+164|0;U=Za+160|0;Q=Za+156|0;sa=Za+152|0;qa=Za+148|0;na=Za+144|0;aa=Za+140|0;za=Za+136|0;Ba=Za+132|0;Aa=Za+128|0;ca=Za+124|0;ea=Za+120|0;Ca=Za+116|0;ha=Za+112|0;Da=Za+356|0;ma=Za+108|0;xa=Za+104|0;ja=Za+100|0;la=Za+96|0;ta=Za+92|0;ga=Za+88|0;oa=Za+84|0;ra=Za+80|0;wa=Za+76|0;pa=Za+72|0;ia=Za+68|0;va=Za+64|0;_=Za+60|0;ya=Za+56|0;fa=Za+52|0;ua=Za+48|0;ka=Za+44|0;da=Za+40|0;$=Za+36|0;Qa=Za+32|0;Xa=Za+28|0;Ra=Za+24|0;Sa=Za+20|0;Pa=Za+16|0;c[Ja>>2]=f;c[Z>>2]=g;g=Ka;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[l>>2]=0;c[Ua>>2]=c[c[Ja>>2]>>2];c[Ya>>2]=c[(c[Ua>>2]|0)+8>>2];c[Wa>>2]=(c[Ja>>2]|0)+328;c[Ma>>2]=c[c[Ua>>2]>>2];c[Ta>>2]=(c[Ja>>2]|0)+736+((c[Z>>2]|0)*80|0);c[Ga>>2]=c[(c[Ta>>2]|0)+64>>2];c[E>>2]=(c[(c[Ja>>2]|0)+4>>2]|0)+8+((d[(c[Ta>>2]|0)+44>>0]|0)*72|0);c[Na>>2]=c[(c[E>>2]|0)+44>>2];g=Ka;h=c[g>>2]|0;g=c[g+4>>2]|0;j=nD((c[Ja>>2]|0)+68|0,c[Na>>2]|0)|0;f=(c[Ta>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Ja>>2]|0)+24|0;f=hR(c[f>>2]|0,c[f+4>>2]|0,c[Z>>2]|0)|0;c[Fa>>2]=f&1;if(c[(c[Ga>>2]|0)+36>>2]&64)h=(e[(c[Ja>>2]|0)+34>>1]&32|0)==0;else h=0;c[N>>2]=h&1;f=Cz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+16>>2]=f;c[(c[Ta>>2]|0)+12>>2]=f;c[v>>2]=f;f=Cz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+24>>2]=f;c[La>>2]=f;if((d[(c[Ta>>2]|0)+44>>0]|0)>0?(d[(c[E>>2]|0)+36>>0]&8|0)!=0:0){g=(c[Ua>>2]|0)+76|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[Ta>>2]>>2]=f;Rw(c[Ya>>2]|0,22,0,c[c[Ta>>2]>>2]|0)|0}do if(!((d[(c[E>>2]|0)+36+1>>0]|0)>>>4&1)){h=c[Ga>>2]|0;if(c[(c[Ga>>2]|0)+36>>2]&1024){c[D>>2]=e[h+40>>1];iA(c[Ua>>2]|0);c[A>>2]=kA(c[Ua>>2]|0,(c[D>>2]|0)+2|0)|0;c[z>>2]=c[(c[Ta>>2]|0)+12>>2];c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[D>>2]|0))break;c[B>>2]=(c[A>>2]|0)+(c[Oa>>2]|0)+2;c[Va>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(c[Oa>>2]<<2)>>2];do if(c[Va>>2]|0){h=c[Ua>>2]|0;j=c[Va>>2]|0;if(e[(c[Va>>2]|0)+18>>1]&1){oD(h,j,c[Ta>>2]|0,c[Oa>>2]|0,c[Fa>>2]|0,c[B>>2]|0)|0;c[z>>2]=c[(c[Ta>>2]|0)+16>>2];break}else{xA(h,c[(c[j>>2]|0)+16>>2]|0,c[B>>2]|0);break}}while(0);c[Oa>>2]=(c[Oa>>2]|0)+1}Rw(c[Ya>>2]|0,22,c[(c[Ga>>2]|0)+24>>2]|0,c[A>>2]|0)|0;Rw(c[Ya>>2]|0,22,c[D>>2]|0,(c[A>>2]|0)+1|0)|0;Uw(c[Ya>>2]|0,11,c[Na>>2]|0,c[z>>2]|0,c[A>>2]|0,c[(c[Ga>>2]|0)+24+8>>2]|0,(d[(c[Ga>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Ga>>2]|0)+24+4>>0]=0;c[Oa>>2]=0;while(1){if(!((c[Oa>>2]|0)<(c[D>>2]|0)?(c[Oa>>2]|0)<16:0))break;if(e[(c[Ga>>2]|0)+24+6>>1]>>c[Oa>>2]&1)pD(c[Ta>>2]|0,c[(c[(c[Ga>>2]|0)+48>>2]|0)+(c[Oa>>2]<<2)>>2]|0);c[Oa>>2]=(c[Oa>>2]|0)+1}c[(c[Ta>>2]|0)+48>>2]=c[Na>>2];a[(c[Ta>>2]|0)+45>>0]=(d[(c[Ja>>2]|0)+38>>0]|0)!=0?160:154;Ha=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ha;nA(c[Ua>>2]|0,c[A>>2]|0,(c[D>>2]|0)+2|0);gA(c[Ua>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Ga>>2]|0)+36>>2]&5|0)!=0:0){c[Va>>2]=c[c[(c[Ga>>2]|0)+48>>2]>>2];Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[l>>2]=Ha;c[K>>2]=oD(c[Ua>>2]|0,c[Va>>2]|0,c[Ta>>2]|0,0,c[Fa>>2]|0,c[l>>2]|0)|0;if((c[K>>2]|0)!=(c[l>>2]|0))_z(c[Ua>>2]|0,c[l>>2]|0);c[F>>2]=c[(c[Ta>>2]|0)+16>>2];Rw(c[Ya>>2]|0,38,c[K>>2]|0,c[F>>2]|0)|0;Vw(c[Ya>>2]|0,70,c[Na>>2]|0,c[F>>2]|0,c[K>>2]|0)|0;CA(c[Ua>>2]|0,c[K>>2]|0,1);gB(c[Ua>>2]|0,c[Na>>2]|0,-1,c[K>>2]|0);a[(c[Ta>>2]|0)+45>>0]=-96;break}if((c[(c[Ga>>2]|0)+36>>2]&256|0)!=0?(c[(c[Ga>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=160;c[m>>2]=0;c[Oa>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Ga>>2]|0)+36>>2]&32){Ha=c[Oa>>2]|0;c[Oa>>2]=Ha+1;c[o>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ha<<2)>>2]}if(c[(c[Ga>>2]|0)+36>>2]&16){Ha=c[Oa>>2]|0;c[Oa>>2]=Ha+1;c[n>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ha<<2)>>2]}if(c[Fa>>2]|0){c[Va>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Va>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=DA(c[Ua>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;Vw(c[Ya>>2]|0,d[35244+((d[c[p>>2]>>0]|0)-80)>>0]|0,c[Na>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;CA(c[Ua>>2]|0,c[r>>2]|0,1);_z(c[Ua>>2]|0,c[s>>2]|0);pD(c[Ta>>2]|0,c[o>>2]|0)}else Rw(c[Ya>>2]|0,(c[Fa>>2]|0)!=0?105:108,c[Na>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[m>>2]=Ha;xA(c[Ua>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=82?(d[c[q>>2]>>0]|0)!=80:0)c[u>>2]=(c[Fa>>2]|0)!=0?82:80;else c[u>>2]=(c[Fa>>2]|0)!=0?81:83;pD(c[Ta>>2]|0,c[n>>2]|0)}c[t>>2]=Bz(c[Ya>>2]|0)|0;a[(c[Ta>>2]|0)+45>>0]=(c[Fa>>2]|0)!=0?6:7;c[(c[Ta>>2]|0)+48>>2]=c[Na>>2];c[(c[Ta>>2]|0)+52>>2]=c[t>>2];if((c[u>>2]|0)==160)break;Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[K>>2]=Ha;Rw(c[Ya>>2]|0,103,c[Na>>2]|0,c[K>>2]|0)|0;gB(c[Ua>>2]|0,c[Na>>2]|0,-1,c[K>>2]|0);Vw(c[Ya>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[K>>2]|0)|0;Fh(c[Ya>>2]|0,83);break}h=c[Ga>>2]|0;if(c[(c[Ga>>2]|0)+36>>2]&512){b[M>>1]=b[h+24>>1]|0;c[S>>2]=0;c[R>>2]=0;c[w>>2]=0;a[I>>0]=0;a[G>>0]=0;a[H>>0]=0;c[P>>2]=c[(c[Ga>>2]|0)+24+4>>2];c[ba>>2]=c[(c[Ta>>2]|0)+8>>2];if(((e[(c[Ja>>2]|0)+34>>1]&1|0)!=0?(a[(c[Ja>>2]|0)+36>>0]|0)>0:0)?(e[(c[P>>2]|0)+50>>1]|0)>(e[M>>1]|0):0){a[G>>0]=1;c[w>>2]=1}c[Oa>>2]=e[M>>1];if(c[(c[Ga>>2]|0)+36>>2]&32){Ea=c[Oa>>2]|0;c[Oa>>2]=Ea+1;c[S>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ea<<2)>>2];c[w>>2]=1}if(c[(c[Ga>>2]|0)+36>>2]&16){Ea=c[Oa>>2]|0;c[Oa>>2]=Ea+1;c[R>>2]=c[(c[(c[Ga>>2]|0)+48>>2]|0)+(Ea<<2)>>2];c[w>>2]=1;if(e[(c[R>>2]|0)+20>>1]&256){Da=(c[Ua>>2]|0)+76|0;Ea=(c[Da>>2]|0)+1|0;c[Da>>2]=Ea;c[(c[Ta>>2]|0)+36>>2]=Ea;Rw(c[Ya>>2]|0,22,c[Fa>>2]^(d[(c[(c[P>>2]|0)+28>>2]|0)+(e[M>>1]|0)>>0]|0)==1,c[(c[Ta>>2]|0)+36>>2]|0)|0;Ea=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+40>>2]=Ea}if(((c[S>>2]|0)==0?(Ea=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[M>>1]<<1)>>1]|0,c[Oa>>2]=Ea,(Ea|0)>=0):0)?(d[(c[(c[(c[P>>2]|0)+12>>2]|0)+4>>2]|0)+((c[Oa>>2]|0)*24|0)+20>>0]|0)==0:0)a[G>>0]=1}if((e[M>>1]|0)<(e[(c[P>>2]|0)+50>>1]|0)?(c[Fa>>2]|0)==((d[(c[(c[P>>2]|0)+28>>2]|0)+(e[M>>1]|0)>>0]|0)==0|0):0)Ea=64;else Ea=62;if(((Ea|0)==62?(c[Fa>>2]|0)!=0:0)?(e[(c[P>>2]|0)+50>>1]|0)==(e[M>>1]|0):0)Ea=64;if((Ea|0)==64){c[x>>2]=c[R>>2];c[R>>2]=c[S>>2];c[S>>2]=c[x>>2];a[y>>0]=a[G>>0]|0;a[G>>0]=a[H>>0]|0;a[H>>0]=a[y>>0]|0}c[V>>2]=qD(c[Ua>>2]|0,c[Ta>>2]|0,c[Fa>>2]|0,c[w>>2]|0,Y)|0;if(c[Y>>2]|0)a[I>>0]=a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0;c[F>>2]=c[(c[Ta>>2]|0)+16>>2];if(c[S>>2]|0)h=(e[(c[S>>2]|0)+18>>1]&40|0)!=0;else h=1;c[W>>2]=h&1;if(c[R>>2]|0)h=(e[(c[R>>2]|0)+18>>1]&40|0)!=0;else h=1;c[J>>2]=h&1;if(c[S>>2]|0)h=1;else h=(e[M>>1]|0)>0;c[X>>2]=h&1;c[L>>2]=e[M>>1];if(!(c[S>>2]|0)){if(a[G>>0]|0){Rw(c[Ya>>2]|0,25,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[L>>2]=(c[L>>2]|0)+1;c[W>>2]=0;c[X>>2]=1}}else{c[T>>2]=c[(c[c[S>>2]>>2]|0)+16>>2];xA(c[Ua>>2]|0,c[T>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);rD(c[Ya>>2]|0,c[Ta>>2]|0,c[S>>2]|0);do if(!(e[(c[S>>2]|0)+20>>1]&0)){if(!(RA(c[T>>2]|0)|0))break;Rw(c[Ya>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(c[Y>>2]|0){if(((SA(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65;if(!(sD(c[T>>2]|0,a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]|0)|0))break;a[(c[Y>>2]|0)+(e[M>>1]|0)>>0]=65}while(0);c[L>>2]=(c[L>>2]|0)+1}tD(c[Ua>>2]|0,c[V>>2]|0,(c[L>>2]|0)-(d[G>>0]|0)|0,c[Y>>2]|0);c[O>>2]=d[35248+((c[X>>2]<<2)+(c[W>>2]<<1)+(c[Fa>>2]|0))>>0];Eh(c[Ya>>2]|0,c[O>>2]|0,c[ba>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0;c[L>>2]=e[M>>1];do if(c[R>>2]|0){c[U>>2]=c[(c[c[R>>2]>>2]|0)+16>>2];oA(c[Ua>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1);xA(c[Ua>>2]|0,c[U>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0);rD(c[Ya>>2]|0,c[Ta>>2]|0,c[R>>2]|0);do if(!(e[(c[R>>2]|0)+20>>1]&0)){if(!(RA(c[U>>2]|0)|0))break;Rw(c[Ya>>2]|0,76,(c[V>>2]|0)+(e[M>>1]|0)|0,c[F>>2]|0)|0}while(0);do if(((SA(c[U>>2]|0,a[I>>0]|0)|0)<<24>>24|0)!=65){if(sD(c[U>>2]|0,a[I>>0]|0)|0)break;tD(c[Ua>>2]|0,(c[V>>2]|0)+(e[M>>1]|0)|0,1,I)}while(0);c[L>>2]=(c[L>>2]|0)+1}else{if(!(a[H>>0]|0))break;Rw(c[Ya>>2]|0,25,0,(c[V>>2]|0)+(e[M>>1]|0)|0)|0;c[J>>2]=0;c[L>>2]=(c[L>>2]|0)+1}while(0);Sf(c[Ma>>2]|0,c[Y>>2]|0);Ea=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ea;if(c[L>>2]|0){c[O>>2]=d[35256+((c[Fa>>2]<<1)+(c[J>>2]|0))>>0];Eh(c[Ya>>2]|0,c[O>>2]|0,c[ba>>2]|0,c[F>>2]|0,c[V>>2]|0,c[L>>2]|0)|0}pD(c[Ta>>2]|0,c[S>>2]|0);pD(c[Ta>>2]|0,c[R>>2]|0);do if(!(c[N>>2]|0)){if(!(d[(c[(c[P>>2]|0)+12>>2]|0)+42>>0]&32))if(d[(c[Ja>>2]|0)+38>>0]|0){Ea=(c[Ua>>2]|0)+76|0;Ha=(c[Ea>>2]|0)+1|0;c[Ea>>2]=Ha;c[K>>2]=Ha;Rw(c[Ya>>2]|0,113,c[ba>>2]|0,c[K>>2]|0)|0;gB(c[Ua>>2]|0,c[Na>>2]|0,-1,c[K>>2]|0);Vw(c[Ya>>2]|0,70,c[Na>>2]|0,0,c[K>>2]|0)|0;break}else{uD(c[Ja>>2]|0,c[P>>2]|0,c[Na>>2]|0,c[ba>>2]|0);break}if((c[Na>>2]|0)==(c[ba>>2]|0))break;c[Q>>2]=Ej(c[(c[P>>2]|0)+12>>2]|0)|0;c[K>>2]=kA(c[Ua>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(e[(c[Q>>2]|0)+50>>1]|0))break;c[Ha>>2]=(uA(c[P>>2]|0,b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[Oa>>2]<<1)>>1]|0)|0)<<16>>16;Vw(c[Ya>>2]|0,47,c[ba>>2]|0,c[Ha>>2]|0,(c[K>>2]|0)+(c[Oa>>2]|0)|0)|0;c[Oa>>2]=(c[Oa>>2]|0)+1}Eh(c[Ya>>2]|0,68,c[Na>>2]|0,c[La>>2]|0,c[K>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Ga>>2]|0)+36>>2]&4096)){h=(c[Ta>>2]|0)+45|0;if(c[Fa>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[Ta>>2]|0)+45>>0]=-96;while(0);c[(c[Ta>>2]|0)+48>>2]=c[ba>>2];a[(c[Ta>>2]|0)+46>>0]=(c[(c[Ga>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Ga>>2]|0)+36>>2]&15)break;a[(c[Ta>>2]|0)+47>>0]=1;break}if(!(c[h+36>>2]&8192))if((d[(c[E>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[Ta>>2]|0)+45>>0]=-96;break}else{a[(c[Ta>>2]|0)+45>>0]=a[35260+(c[Fa>>2]|0)>>0]|0;c[(c[Ta>>2]|0)+48>>2]=c[Na>>2];Ha=1+(Rw(c[Ya>>2]|0,d[35262+(c[Fa>>2]|0)>>0]|0,c[Na>>2]|0,c[v>>2]|0)|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ha;a[(c[Ta>>2]|0)+47>>0]=1;break}c[na>>2]=0;h=(c[Ua>>2]|0)+72|0;Fa=c[h>>2]|0;c[h>>2]=Fa+1;c[aa>>2]=Fa;Fa=(c[Ua>>2]|0)+76|0;h=(c[Fa>>2]|0)+1|0;c[Fa>>2]=h;c[za>>2]=h;c[Ba>>2]=0;c[Aa>>2]=0;c[ca>>2]=Cz(c[Ya>>2]|0)|0;c[Ca>>2]=0;c[ma>>2]=0;c[xa>>2]=c[(c[E>>2]|0)+16>>2];c[Va>>2]=c[c[(c[Ga>>2]|0)+48>>2]>>2];c[sa>>2]=c[(c[Va>>2]|0)+12>>2];a[(c[Ta>>2]|0)+45>>0]=15;c[(c[Ta>>2]|0)+48>>2]=c[za>>2];h=c[Ja>>2]|0;a:do if((d[(c[Ja>>2]|0)+41>>0]|0)>1){c[ja>>2]=(d[h+41>>0]|0)-(c[Z>>2]|0)-1;c[qa>>2]=yh(c[Ma>>2]|0,80+((c[ja>>2]|0)*72|0)|0,0)|0;if(!(c[qa>>2]|0)){Wa=Ka;Ya=c[Wa+4>>2]|0;Xa=Ia;c[Xa>>2]=c[Wa>>2];c[Xa+4>>2]=Ya;Xa=Ia;Ya=Xa;Ya=c[Ya>>2]|0;Xa=Xa+4|0;Xa=c[Xa>>2]|0;C=Xa;i=Za;return Ya|0}c[(c[qa>>2]|0)+4>>2]=(c[ja>>2]|0)+1&255;c[c[qa>>2]>>2]=c[(c[qa>>2]|0)+4>>2];g=(c[qa>>2]|0)+8|0;h=c[E>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[la>>2]=(c[(c[Ja>>2]|0)+4>>2]|0)+8;c[Ha>>2]=1;while(1){if((c[Ha>>2]|0)>(c[ja>>2]|0))break a;g=(c[qa>>2]|0)+8+((c[Ha>>2]|0)*72|0)|0;h=(c[la>>2]|0)+((d[(c[Ta>>2]|0)+((c[Ha>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[Ha>>2]=(c[Ha>>2]|0)+1}}else c[qa>>2]=c[h+4>>2];while(0);if(!(e[(c[Ja>>2]|0)+34>>1]&8)){if(!(d[(c[xa>>2]|0)+42>>0]&32)){Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[Ba>>2]=Ha;Rw(c[Ya>>2]|0,25,0,c[Ba>>2]|0)|0}else{c[ta>>2]=Ej(c[xa>>2]|0)|0;Ga=(c[Ua>>2]|0)+72|0;Ha=c[Ga>>2]|0;c[Ga>>2]=Ha+1;c[Ba>>2]=Ha;Rw(c[Ya>>2]|0,57,c[Ba>>2]|0,e[(c[ta>>2]|0)+50>>1]|0)|0;Az(c[Ua>>2]|0,c[ta>>2]|0)}Ga=(c[Ua>>2]|0)+76|0;Ha=(c[Ga>>2]|0)+1|0;c[Ga>>2]=Ha;c[Aa>>2]=Ha}c[ea>>2]=Rw(c[Ya>>2]|0,22,0,c[za>>2]|0)|0;if((c[(c[Wa>>2]|0)+12>>2]|0)>1){c[ga>>2]=0;while(1){if((c[ga>>2]|0)>=(c[(c[Wa>>2]|0)+12>>2]|0))break;c[oa>>2]=c[(c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)>>2];if(((((c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)|0)!=(c[Va>>2]|0)?(c[(c[oa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)+20>>1]&6|0)==0:0)?(e[(c[(c[Wa>>2]|0)+20>>2]|0)+((c[ga>>2]|0)*48|0)+18>>1]&8191|0)!=0:0){c[oa>>2]=ny(c[Ma>>2]|0,c[oa>>2]|0,0)|0;c[ma>>2]=az(c[Ma>>2]|0,c[ma>>2]|0,c[oa>>2]|0)|0}c[ga>>2]=(c[ga>>2]|0)+1}if(c[ma>>2]|0)c[ma>>2]=rv(c[Ua>>2]|0,328,0,c[ma>>2]|0,0)|0}b[Da>>1]=240;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[(c[sa>>2]|0)+12>>2]|0))break;c[ra>>2]=(c[(c[sa>>2]|0)+20>>2]|0)+((c[ha>>2]|0)*48|0);if(!((c[(c[ra>>2]|0)+8>>2]|0)!=(c[Na>>2]|0)?(e[(c[ra>>2]|0)+18>>1]&1024|0)==0:0)){c[pa>>2]=c[c[ra>>2]>>2];c[ia>>2]=0;if((c[ma>>2]|0)!=0?(c[(c[pa>>2]|0)+4>>2]&1|0)==0:0){c[(c[ma>>2]|0)+12>>2]=c[pa>>2];c[pa>>2]=c[ma>>2]}c[wa>>2]=RC(c[Ua>>2]|0,c[qa>>2]|0,c[pa>>2]|0,0,0,b[Da>>1]|0,c[aa>>2]|0)|0;if(c[wa>>2]|0){c[_>>2]=lD(c[Ua>>2]|0,c[qa>>2]|0,(c[wa>>2]|0)+736|0,c[Z>>2]|0,d[(c[Ta>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Ja>>2]|0)+34>>1]&8)){c[fa>>2]=(c[ha>>2]|0)==((c[(c[sa>>2]|0)+12>>2]|0)-1|0)?-1:c[ha>>2]|0;if(!(d[(c[xa>>2]|0)+42>>0]&32)){c[ya>>2]=zA(c[Ua>>2]|0,c[xa>>2]|0,-1,c[Na>>2]|0,c[Aa>>2]|0,0)|0;c[ia>>2]=Eh(c[Ya>>2]|0,131,c[Ba>>2]|0,0,c[ya>>2]|0,c[fa>>2]|0)|0;break}c[ua>>2]=Ej(c[xa>>2]|0)|0;c[ka>>2]=e[(c[ua>>2]|0)+50>>1];c[ya>>2]=kA(c[Ua>>2]|0,c[ka>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[ka>>2]|0))break;c[$>>2]=b[(c[(c[ua>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1];vD(c[Ua>>2]|0,c[xa>>2]|0,c[$>>2]|0,c[Na>>2]|0,(c[ya>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}if(c[fa>>2]|0)c[ia>>2]=Eh(c[Ya>>2]|0,69,c[Ba>>2]|0,0,c[ya>>2]|0,c[ka>>2]|0)|0;do if((c[fa>>2]|0)>=0){Vw(c[Ya>>2]|0,49,c[ya>>2]|0,c[ka>>2]|0,c[Aa>>2]|0)|0;Vw(c[Ya>>2]|0,110,c[Ba>>2]|0,c[Aa>>2]|0,0)|0;if(!(c[fa>>2]|0))break;Fh(c[Ya>>2]|0,16)}while(0);nA(c[Ua>>2]|0,c[ya>>2]|0,c[ka>>2]|0)}while(0);Rw(c[Ya>>2]|0,14,c[za>>2]|0,c[ca>>2]|0)|0;if(c[ia>>2]|0)Fz(c[Ya>>2]|0,c[ia>>2]|0);if(a[(c[wa>>2]|0)+39>>0]|0)c[Ca>>2]=1;c[va>>2]=c[(c[wa>>2]|0)+736+64>>2];do if(c[(c[va>>2]|0)+36>>2]&512){if((c[ha>>2]|0)!=0?(c[(c[va>>2]|0)+24+4>>2]|0)!=(c[na>>2]|0):0){Ea=168;break}if((d[(c[xa>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[va>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ea=168;break}c[na>>2]=c[(c[va>>2]|0)+24+4>>2];b[Da>>1]=e[Da>>1]|4096}else Ea=168;while(0);if((Ea|0)==168){Ea=0;c[na>>2]=0}SC(c[wa>>2]|0)}}c[ha>>2]=(c[ha>>2]|0)+1}c[(c[Ta>>2]|0)+56>>2]=c[na>>2];if(c[na>>2]|0)c[(c[Ta>>2]|0)+8>>2]=c[aa>>2];if(c[ma>>2]|0){c[(c[ma>>2]|0)+12>>2]=0;Zu(c[Ma>>2]|0,c[ma>>2]|0)}Ga=c[Ya>>2]|0;Ha=c[ea>>2]|0;wD(Ga,Ha,Bz(c[Ya>>2]|0)|0);Ez(c[Ya>>2]|0,c[(c[Ta>>2]|0)+12>>2]|0)|0;Gz(c[Ya>>2]|0,c[ca>>2]|0);if((d[(c[Ja>>2]|0)+41>>0]|0)>1)Sf(c[Ma>>2]|0,c[qa>>2]|0);if(!(c[Ca>>2]|0))pD(c[Ta>>2]|0,c[Va>>2]|0)}else{c[k>>2]=c[(c[E>>2]|0)+28>>2];Vw(c[Ya>>2]|0,16,c[k>>2]|0,0,c[(c[E>>2]|0)+24>>2]|0)|0;Ha=Rw(c[Ya>>2]|0,18,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Ta>>2]|0)+52>>2]=Ha;a[(c[Ta>>2]|0)+45>>0]=13}while(0);c[Va>>2]=c[(c[Wa>>2]|0)+20>>2];c[Oa>>2]=c[(c[Wa>>2]|0)+12>>2];while(1){if((c[Oa>>2]|0)<=0)break;c[Xa>>2]=0;do if(!(e[(c[Va>>2]|0)+20>>1]&6)){Ga=(c[Va>>2]|0)+40|0;Ha=(c[Ta>>2]|0)+72|0;if((c[Ga>>2]&c[Ha>>2]|0)!=0?1:(c[Ga+4>>2]&c[Ha+4>>2]|0)!=0){a[(c[Ja>>2]|0)+39>>0]=1;break}c[Qa>>2]=c[c[Va>>2]>>2];if((c[c[Ta>>2]>>2]|0)!=0?(c[(c[Qa>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[Va>>2]|0)+20>>1]&512)c[Xa>>2]=xz(c[Ya>>2]|0,46,c[(c[Ta>>2]|0)+36>>2]|0)|0;LA(c[Ua>>2]|0,c[Qa>>2]|0,c[La>>2]|0,16);if(c[Xa>>2]|0)Fz(c[Ya>>2]|0,c[Xa>>2]|0);Ha=(c[Va>>2]|0)+20|0;b[Ha>>1]=e[Ha>>1]|4}while(0);c[Oa>>2]=(c[Oa>>2]|0)+-1;c[Va>>2]=(c[Va>>2]|0)+48}c[Va>>2]=c[(c[Wa>>2]|0)+20>>2];c[Oa>>2]=c[(c[Wa>>2]|0)+12>>2];while(1){if((c[Oa>>2]|0)<=0)break;if((((((((e[(c[Va>>2]|0)+20>>1]&6|0)==0?(e[(c[Va>>2]|0)+18>>1]&130|0)!=0:0)?(e[(c[Va>>2]|0)+18>>1]&2048|0)!=0:0)?(c[(c[Va>>2]|0)+8>>2]|0)==(c[Na>>2]|0):0)?(c[c[Ta>>2]>>2]|0)==0:0)?(c[Ra>>2]=c[c[Va>>2]>>2],Xa=Ka,c[Pa>>2]=xD(c[Wa>>2]|0,c[Na>>2]|0,c[(c[Va>>2]|0)+12>>2]|0,c[Xa>>2]|0,c[Xa+4>>2]|0,131,0)|0,(c[Pa>>2]|0)!=0):0)?(e[(c[Pa>>2]|0)+20>>1]&4|0)==0:0)?(c[Sa>>2]=yh(c[Ma>>2]|0,48,0)|0,(c[Sa>>2]|0)!=0):0){g=c[Sa>>2]|0;h=c[c[Pa>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[(c[Sa>>2]|0)+12>>2]=c[(c[Ra>>2]|0)+12>>2];LA(c[Ua>>2]|0,c[Sa>>2]|0,c[La>>2]|0,16);Sf(c[Ma>>2]|0,c[Sa>>2]|0)}c[Oa>>2]=(c[Oa>>2]|0)+-1;c[Va>>2]=(c[Va>>2]|0)+48}b:do if(c[c[Ta>>2]>>2]|0){Xa=Bz(c[Ya>>2]|0)|0;c[(c[Ta>>2]|0)+28>>2]=Xa;Rw(c[Ya>>2]|0,22,1,c[c[Ta>>2]>>2]|0)|0;fC(c[Ua>>2]|0);c[Va>>2]=c[(c[Wa>>2]|0)+20>>2];c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[(c[Wa>>2]|0)+12>>2]|0))break b;if((e[(c[Va>>2]|0)+20>>1]&6|0)==0?(Xa=(c[Va>>2]|0)+40|0,Ya=(c[Ta>>2]|0)+72|0,!((c[Xa>>2]&c[Ya>>2]|0)!=0?1:(c[Xa+4>>2]&c[Ya+4>>2]|0)!=0)):0){LA(c[Ua>>2]|0,c[c[Va>>2]>>2]|0,c[La>>2]|0,16);Ya=(c[Va>>2]|0)+20|0;b[Ya>>1]=e[Ya>>1]|4}c[Oa>>2]=(c[Oa>>2]|0)+1;c[Va>>2]=(c[Va>>2]|0)+48}}while(0);Wa=(c[Ta>>2]|0)+72|0;Ya=c[Wa+4>>2]|0;Xa=Ia;c[Xa>>2]=c[Wa>>2];c[Xa+4>>2]=Ya;Xa=Ia;Ya=Xa;Ya=c[Ya>>2]|0;Xa=Xa+4|0;Xa=c[Xa>>2]|0;C=Xa;i=Za;return Ya|0}function nD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=lR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function oD(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;q=x+44|0;r=x+40|0;l=x+36|0;s=x+32|0;m=x+28|0;o=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;p=x+8|0;v=x+4|0;n=x;c[k>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[m>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)!=79?(d[c[o>>2]>>0]|0|0)!=73:0){if((d[c[o>>2]>>0]|0|0)==76){c[u>>2]=c[m>>2];Rw(c[w>>2]|0,25,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+64>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[m>>2];c[t>>2]=PA(c[k>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];Rw(c[w>>2]|0,(c[s>>2]|0)!=0?105:108,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+56>>2]|0)){o=Cz(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}o=(c[r>>2]|0)+56|0;c[o>>2]=(c[o>>2]|0)+1;k=vx(c[c[k>>2]>>2]|0,c[(c[r>>2]|0)+56+4>>2]|0,(c[(c[r>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+56+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+56+4>>2];k=(c[r>>2]|0)+56|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=Rw(m,103,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=Vw(m,47,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?4:5;xz(c[w>>2]|0,76,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}c[u>>2]=yA(c[k>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[m>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;pD(v,w);w=c[u>>2]|0;i=x;return w|0}function pD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+20>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+20>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+4>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)*48|0);g=(c[j>>2]|0)+22|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+22>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function qD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+60|0;l=A+56|0;m=A+52|0;C=A+48|0;n=A+44|0;q=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;r=A+16|0;z=A+12|0;o=A+8|0;w=A+4|0;u=A;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+64>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+76>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=nh(j,dC(c[c[k>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];xz(c[y>>2]|0,(c[m>>2]|0)!=0?105:108,c[o>>2]|0)|0;c[p>>2]=Yw(c[y>>2]|0,13)|0;C=Eh(c[y>>2]|0,(c[m>>2]|0)!=0?63:66,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;Fz(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;Vw(c[y>>2]|0,47,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=oD(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){_z(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{Rw(c[y>>2]|0,31,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&257)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+20>>1]&2048|0)==0?(RA(c[u>>2]|0)|0)!=0:0)Rw(c[y>>2]|0,76,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((SA(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(sD(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function rD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+20>>1]|0)&256)){i=k;return}c[j>>2]=Mz(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=c[(c[h>>2]|0)+36>>2];a[(c[j>>2]|0)+3>>0]=1;i=k;return}function sD(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 133:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function tD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}Uw(c[l>>2]|0,48,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;CA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function uD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];Vw(c[n>>2]|0,112,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+34>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;if(c[f+336>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=ph(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Ih(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function vD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=zA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}Rw(c[(c[g>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function wD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Mz(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function xD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=yD(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+18>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=zD(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function yD(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if((c[o>>2]|0)!=0?(c[p>>2]=c[m>>2],c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1],(c[m>>2]|0)==-2):0)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+((c[m>>2]|0)*24|0)+21>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=zD(c[k>>2]|0)|0;i=q;return r|0}function zD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(py(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+18>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=Tx(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(WA(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=VA(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(Td(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function AD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;aA(a,b,If(c[e>>2]|0)|0);i=d;return}function BD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r;f=r+32|0;g=r+28|0;m=r+24|0;k=r+38|0;l=r+36|0;h=r+20|0;j=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+4>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=r;return}aA(c[f>>2]|0,35496,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=CD(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)aA(c[f>>2]|0,35499,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?35505:35510;c[n>>2]=c[o>>2];$z(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){c[p>>2]=CD(c[m>>2]|0,c[h>>2]|0)|0;n=c[f>>2]|0;o=c[h>>2]|0;c[h>>2]=o+1;DD(n,o,c[p>>2]|0,35427)}if(c[(c[g>>2]|0)+36>>2]&16){c[q>>2]=CD(c[m>>2]|0,c[j>>2]|0)|0;DD(c[f>>2]|0,c[h>>2]|0,c[q>>2]|0,35429)}aA(c[f>>2]|0,35518,1);i=r;return}function CD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=35520;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=25592;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+((c[g>>2]|0)*24|0)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function DD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)aA(c[f>>2]|0,35499,5);AD(c[f>>2]|0,c[g>>2]|0);aA(c[f>>2]|0,c[h>>2]|0,1);aA(c[f>>2]|0,21139,1);i=j;return}function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=$A(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function FD(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+12>>2]|0)*24|0)+21>>0]|0;if(WA(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function GD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Fw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}iR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Sf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function HD(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=ph(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function ID(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+8|0;e=j+20|0;g=j+16|0;h=j;c[e>>2]=a;c[g>>2]=b;a=h;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){g=f;c[g>>2]=0;c[g+4>>2]=0;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[e>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==152){g=nD(b,c[a+28>>2]|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=h;h=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=h;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}l=ID(b,c[a+16>>2]|0)|0;k=h;c[k>>2]=l;c[k+4>>2]=C;k=ID(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;b=h;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=c[e>>2]|0;a=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){g=JD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}else{g=jD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=f;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function JD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+32>>2];k=jD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=jD(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=jD(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=ID(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=ID(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=JD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=ID(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+52>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function KD(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35582+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35582+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function LD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+144|0;W=$+141|0;n=$+120|0;o=$+116|0;p=$+112|0;q=$+132|0;r=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;G=$+128|0;F=$+126|0;H=$+124|0;z=$+100|0;X=$+96|0;D=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;L=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;I=$+32|0;J=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;K=$+48|0;E=$+8|0;Y=$;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+60>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=lR(1,0,e[H>>1]|0)|0;f=fR(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=lR(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=Tx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==152):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=xD((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],386,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&130|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=Ox(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=Ox(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if(Td(c[U>>2]|0,c[V>>2]|0)|0)break}m=lR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+42>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&386|0)!=0):0){if(c[X>>2]&256)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+32>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+((c[x>>2]|0)*24|0)+20>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=lR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=Tx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;k=c[O>>2]|0;if((c[x>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break}else if(py(k,c[(c[(c[(c[M>>2]|0)+40>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0,c[y>>2]|0)|0)break;if((c[x>>2]|0)<0){_=70;break a}c[L>>2]=Ox(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!(Td(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==70){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=lR(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=84;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=lR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==84){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=lR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=ID((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(FA(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=lR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=108;break}V=lR(1,0,c[X>>2]|0)|0;V=fR(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=106;break}c[X>>2]=k+-1}if((_|0)==106){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==108){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function MD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;j=g+12|0;k=g+4|0;l=g;h=g+10|0;f=g+8|0;b[j>>1]=a;c[k>>2]=d;c[l>>2]=e;e=(((c[k>>2]|0)-(c[l>>2]|0)|0)*100|0)/(c[k>>2]|0)|0;b[h>>1]=((Hj(e,((e|0)<0)<<31>>31)|0)<<16>>16)-66;e=b[j>>1]|0;e=e+((ND(b[j>>1]|0)|0)<<16>>16)|0;b[f>>1]=e+(b[h>>1]|0)+16;i=g;return b[f>>1]|0}function ND(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Hj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function OD(f,g,j,k,l){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;K=i;i=i+112|0;I=K+16|0;m=K+104|0;n=K+100|0;o=K+8|0;L=K;M=K+96|0;z=K+92|0;E=K+88|0;A=K+84|0;B=K+80|0;p=K+76|0;x=K+72|0;w=K+68|0;D=K+64|0;C=K+60|0;q=K+56|0;t=K+52|0;s=K+48|0;u=K+44|0;v=K+40|0;G=K+36|0;H=K+32|0;r=K+28|0;y=K+24|0;F=K+20|0;c[n>>2]=f;f=o;c[f>>2]=g;c[f+4>>2]=j;f=L;c[f>>2]=k;c[f+4>>2]=l;c[G>>2]=0;c[H>>2]=0;c[F>>2]=0;c[M>>2]=c[c[n>>2]>>2];c[z>>2]=c[c[M>>2]>>2];c[p>>2]=c[c[z>>2]>>2];c[E>>2]=c[(c[n>>2]|0)+4>>2];c[y>>2]=c[(c[n>>2]|0)+12>>2];c[A>>2]=(c[(c[M>>2]|0)+4>>2]|0)+8+((d[(c[y>>2]|0)+16>>0]|0)*72|0);c[B>>2]=c[(c[A>>2]|0)+16>>2];f=L;c[x>>2]=fE(c[z>>2]|0,c[E>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[A>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;if(!(c[x>>2]|0)){c[m>>2]=7;M=c[m>>2]|0;i=K;return M|0}M=c[y>>2]|0;c[M>>2]=0;c[M+4>>2]=0;b[(c[y>>2]|0)+18>>1]=0;c[(c[y>>2]|0)+36>>2]=1024;b[(c[y>>2]|0)+40>>1]=0;a[(c[y>>2]|0)+24+4>>0]=0;c[D>>2]=c[(c[x>>2]|0)+16>>2];c[v>>2]=c[c[x>>2]>>2];if(GD(c[p>>2]|0,c[y>>2]|0,c[v>>2]|0)|0){Sf(c[p>>2]|0,c[x>>2]|0);c[m>>2]=7;M=c[m>>2]|0;i=K;return M|0}c[r>>2]=0;a:while(1){if((c[r>>2]|0)>3)break;if(((c[G>>2]|0)==0?(c[r>>2]&1|0)!=0:0)?(c[r>>2]=(c[r>>2]|0)+1,(c[r>>2]|0)>3):0)break;if((c[H>>2]|0)==0&(c[r>>2]|0)>1)break;c[w>>2]=c[(c[x>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[x>>2]>>2]|0))break;c[t>>2]=c[(c[w>>2]|0)+8>>2];c[C>>2]=(c[(c[E>>2]|0)+20>>2]|0)+((c[t>>2]|0)*48|0);b:do switch(c[r>>2]|0){case 0:{a[(c[w>>2]|0)+5>>0]=0;if(e[(c[C>>2]|0)+18>>1]&1)c[G>>2]=1;L=(c[C>>2]|0)+32|0;M=o;if((c[L>>2]&~c[M>>2]|0)!=0?1:(c[L+4>>2]&~c[M+4>>2]|0)!=0){c[H>>2]=1;break b}if(!(e[(c[C>>2]|0)+18>>1]&1))a[(c[w>>2]|0)+5>>0]=1;break}case 1:{L=(c[C>>2]|0)+32|0;M=o;a[(c[w>>2]|0)+5>>0]=((c[L>>2]&~c[M>>2]|0)==0?(c[L+4>>2]&~c[M+4>>2]|0)==0:0)&1;break}case 2:{a[(c[w>>2]|0)+5>>0]=(e[(c[C>>2]|0)+18>>1]&1|0)==0;break}default:a[(c[w>>2]|0)+5>>0]=1}while(0);c[q>>2]=(c[q>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}kR(c[D>>2]|0,0,c[c[x>>2]>>2]<<3|0)|0;if(c[(c[x>>2]|0)+28>>2]|0)Kd(c[(c[x>>2]|0)+24>>2]|0);c[(c[x>>2]|0)+24>>2]=0;c[(c[x>>2]|0)+20>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[(c[x>>2]|0)+32>>2]=0;h[(c[x>>2]|0)+40>>3]=5.e+98;f=(c[x>>2]|0)+48|0;c[f>>2]=25;c[f+4>>2]=0;c[(c[x>>2]|0)+56>>2]=0;f=(c[A>>2]|0)+56|0;L=c[f+4>>2]|0;M=(c[x>>2]|0)+64|0;c[M>>2]=c[f>>2];c[M+4>>2]=L;c[F>>2]=gE(c[z>>2]|0,c[B>>2]|0,c[x>>2]|0)|0;if(c[F>>2]|0)break;c[w>>2]=c[(c[x>>2]|0)+4>>2];f=o;L=c[f+4>>2]|0;M=c[y>>2]|0;c[M>>2]=c[f>>2];c[M+4>>2]=L;c[u>>2]=-1;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;c[(c[(c[y>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2]=0;c[q>>2]=(c[q>>2]|0)+1}b[(c[y>>2]|0)+24+6>>1]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;M=(c[(c[D>>2]|0)+(c[q>>2]<<3)>>2]|0)-1|0;c[s>>2]=M;if((M|0)>=0){c[t>>2]=c[(c[w>>2]|0)+8>>2];if((c[t>>2]|0)<0?1:(c[s>>2]|0)>=(c[v>>2]|0)){J=36;break a}if((c[t>>2]|0)>=(c[(c[E>>2]|0)+12>>2]|0)){J=36;break a}if(c[(c[(c[y>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]|0){J=36;break a}c[C>>2]=(c[(c[E>>2]|0)+20>>2]|0)+((c[t>>2]|0)*48|0);f=(c[C>>2]|0)+32|0;M=c[y>>2]|0;l=M;L=c[l+4>>2]|c[f+4>>2];c[M>>2]=c[l>>2]|c[f>>2];c[M+4>>2]=L;c[(c[(c[y>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]=c[C>>2];if((c[s>>2]|0)>(c[u>>2]|0))c[u>>2]=c[s>>2];if((c[s>>2]|0)<16?(d[(c[D>>2]|0)+(c[q>>2]<<3)+4>>0]|0)!=0:0){M=(c[y>>2]|0)+24+6|0;b[M>>1]=e[M>>1]|1<>2]}if(e[(c[C>>2]|0)+18>>1]&1){if(!(d[(c[D>>2]|0)+(c[q>>2]<<3)+4>>0]|0))break;c[(c[x>>2]|0)+32>>2]=0;M=(c[x>>2]|0)+56|0;c[M>>2]=c[M>>2]&-2}}c[q>>2]=(c[q>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}if((c[q>>2]|0)>=(c[v>>2]|0)){b[(c[y>>2]|0)+40>>1]=(c[u>>2]|0)+1;c[(c[y>>2]|0)+24>>2]=c[(c[x>>2]|0)+20>>2];a[(c[y>>2]|0)+24+4>>0]=c[(c[x>>2]|0)+28>>2];c[(c[x>>2]|0)+28>>2]=0;c[(c[y>>2]|0)+24+8>>2]=c[(c[x>>2]|0)+24>>2];if(c[(c[x>>2]|0)+32>>2]|0)g=c[(c[x>>2]|0)+8>>2]|0;else g=0;a[(c[y>>2]|0)+24+5>>0]=g;b[(c[y>>2]|0)+18>>1]=0;g=hE(+h[(c[x>>2]|0)+40>>3])|0;b[(c[y>>2]|0)+20>>1]=g;g=(c[x>>2]|0)+48|0;g=Hj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[y>>2]|0)+22>>1]=g;g=(c[y>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[x>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;TD(c[n>>2]|0,c[y>>2]|0)|0;if(a[(c[y>>2]|0)+24+4>>0]|0){Kd(c[(c[y>>2]|0)+24+8>>2]|0);a[(c[y>>2]|0)+24+4>>0]=0}}c[r>>2]=(c[r>>2]|0)+1}if((J|0)==36){c[F>>2]=1;M=c[z>>2]|0;c[I>>2]=c[c[B>>2]>>2];Ah(M,35614,I)}if(c[(c[x>>2]|0)+28>>2]|0)Kd(c[(c[x>>2]|0)+24>>2]|0);Sf(c[p>>2]|0,c[x>>2]|0);c[m>>2]=c[F>>2];M=c[m>>2]|0;i=K;return M|0}function PD(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+128|0;k=E+8|0;y=E+124|0;s=E+120|0;B=E+64|0;m=E+140|0;l=E+136|0;F=E+56|0;t=E+52|0;r=E+48|0;D=E+44|0;o=E+40|0;n=E+36|0;A=E+134|0;z=E+132|0;w=E+32|0;u=E+28|0;q=E+24|0;v=E+20|0;x=E+16|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+42>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}g=B;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+40>>1]|0;b[m>>1]=b[(c[u>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+36+1>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+38>>1]|0;b[z>>1]=ND(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[y>>2]|0)+34>>1]&128|0)==0:0)?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?(a[(c[t>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(FD(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+42>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+48>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=KD(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=TD(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){g=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(YD(c[(c[t>>2]|0)+44>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+42>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=ZD(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;_D(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=TD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=$D(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+34>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+60>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+40>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=KD(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}_D(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=TD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}while(0);c[D>>2]=aE(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){g=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((g|0)==46){i=E;return c[D>>2]|0}return 0}function QD(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+18>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+12>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+12>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+18>>1]&1024)){if((c[g+8>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=72;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+12>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=OD(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=PD(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=QD(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){RD(F,C);c[s>>2]=0;break}RD(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=KD(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;SD(F,k,f,l,KD(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=TD(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function RD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;iR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function SD(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function TD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;n=p+24|0;j=p+20|0;m=p+16|0;h=p+12|0;o=p+8|0;l=p+4|0;k=p;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){o=c[g>>2]|0;SD(c[(c[f>>2]|0)+16>>2]|0,c[o>>2]|0,c[o+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}UD(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=VD((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Fw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){ZC(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=VD(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];WC(c[h>>2]|0,c[l>>2]|0)}}while(0);WD(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=0;o=c[e>>2]|0;i=p;return o|0}function UD(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(XD(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(XD(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function VD(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function WD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;YC(c[l>>2]|0,c[g>>2]|0);d=(GD(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));iR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+4>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function XD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function YD(a,e,f){a=a|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=72)break;if(!(YD(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(eE(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function ZD(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=Tx(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(py(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function _D(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+20>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+4>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+16>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+16>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+18>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(ky(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function $D(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=lR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function aE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=i;i=i+208|0;l=O+172|0;m=O+168|0;n=O+164|0;o=O+160|0;p=O+196|0;P=O+156|0;A=O+152|0;q=O+148|0;z=O+144|0;B=O+140|0;k=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;r=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[P>>2]=c[c[m>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[q>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+65>>0]|0){c[l>>2]=7;P=c[l>>2]|0;i=O;return P|0}do if(!(c[(c[z>>2]|0)+36>>2]&32))if(d[(c[n>>2]|0)+36>>0]&8){c[k>>2]=63;break}else{c[k>>2]=447;break}else c[k>>2]=24;while(0);if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+42>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;c[B>>2]=yD(N,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[H>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[E>>1]=ND(b[F>>1]|0)|0;a:while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[r>>1]=b[(c[B>>2]|0)+18>>1]|0;c[u>>2]=0;if((e[r>>1]|0)!=256?(e[(c[B>>2]|0)+20>>1]&0|0)==0:0)j=15;else j=14;if((j|0)==14?(j=0,(bE(c[o>>2]|0,e[H>>1]|0)|0)==0):0)j=15;do if((j|0)==15?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){if((e[(c[B>>2]|0)+20>>1]&256|0)!=0?(e[(c[B>>2]|0)+18>>1]|0)==16:0)break;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(GD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[r>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[u>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[u>>2]=(Hj(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else{if(e[r>>1]&130){c[s>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[s>>2]|0)!=-1){if((c[s>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[H>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[s>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}if(e[r>>1]&256){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[z>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;c[x>>2]=c[B>>2];c[C>>2]=0;if(!(e[(c[B>>2]|0)+20>>1]&256))break;c[C>>2]=(c[B>>2]|0)+48;if(GD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[C>>2]|0;h=(c[z>>2]|0)+40|0;P=b[h>>1]|0;b[h>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=g;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|16;break}else{c[j>>2]=k|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)j=c[(c[(c[z>>2]|0)+48>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[x>>2]=j;break}}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[t>>2]=P&65535;if((b[(c[B>>2]|0)+16>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1]|0)>=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[u>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[t>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[t>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else cE(c[A>>2]|0,c[m>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=KD(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=KD(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));_D(c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=TD(c[m>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)aE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[u>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}while(0);c[B>>2]=zD(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=GD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){N=(c[z>>2]|0)+24|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+42|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+40|0;P=b[N>>1]|0;b[N>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[v>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[v>>1]|0);b[v>>1]=(b[v>>1]|0)+5;aE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[v>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2]}c[l>>2]=c[G>>2];P=c[l>>2]|0;i=O;return P|0}function bE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e*24|0)+20>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function cE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=dE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=dE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+16>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function dE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+16>>1]|0);break}if(!(e[d+20>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function eE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(py(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==71){if((eE(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(eE(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(py(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=76:0)?(d[c[g>>2]>>0]|0|0)!=73:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function fE(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+8|0;m=G+76|0;n=G+72|0;o=G+68|0;p=G;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;c[w>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(k=(c[D>>2]|0)+32|0,g=p,!((c[k>>2]&c[g>>2]|0)!=0?1:(c[k+4>>2]&c[g+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[v>>2]=0;if(c[r>>2]|0){c[u>>2]=c[c[r>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[y>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)!=152)break;if((c[(c[y>>2]|0)+28>>2]|0)!=(c[(c[q>>2]|0)+44>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[u>>2]|0))c[v>>2]=c[u>>2]}c[B>>2]=ph(c[c[n>>2]>>2]|0,72+((c[w>>2]|0)*20|0)+(c[v>>2]<<3)|0,0)|0;if(!(c[B>>2]|0)){Ah(c[n>>2]|0,32392,F);c[m>>2]=0;F=c[m>>2]|0;i=G;return F|0}c[A>>2]=(c[B>>2]|0)+72;c[C>>2]=(c[A>>2]|0)+((c[w>>2]|0)*12|0);c[E>>2]=(c[C>>2]|0)+(c[v>>2]<<3);c[c[B>>2]>>2]=c[w>>2];c[(c[B>>2]|0)+8>>2]=c[v>>2];c[(c[B>>2]|0)+4>>2]=c[A>>2];c[(c[B>>2]|0)+12>>2]=c[C>>2];c[(c[B>>2]|0)+16>>2]=c[E>>2];c[t>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(g=(c[D>>2]|0)+32|0,F=p,!((c[g>>2]&c[F>>2]|0)!=0?1:(c[g+4>>2]&c[F+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0){c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)>>2]=c[(c[D>>2]|0)+12>>2];c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+8>>2]=c[s>>2];F=b[(c[D>>2]|0)+18>>1]&255;a[x>>0]=F;a[x>>0]=(d[x>>0]|0)==1?2:F;if((d[x>>0]|0)==64)a[x>>0]=a[(c[D>>2]|0)+23>>0]|0;a[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+4>>0]=a[x>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;c[z>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]=b[(c[z>>2]|0)+32>>1];a[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]=a[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+12>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[B>>2];F=c[m>>2]|0;i=G;return F|0}function gE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;o=p+16|0;n=p+8|0;m=p;f=p+40|0;g=p+36|0;h=p+32|0;k=p+28|0;j=p+24|0;l=p+20|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[(Ax(c[c[f>>2]>>2]|0,c[g>>2]|0)|0)+8>>2];c[l>>2]=Yb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[h>>2]|0)|0;do if(c[l>>2]|0){if((c[l>>2]|0)==7){jh(c[c[f>>2]>>2]|0);break}e=c[f>>2]|0;if(c[(c[k>>2]|0)+8>>2]|0){c[n>>2]=c[(c[k>>2]|0)+8>>2];Ah(e,19255,n);break}else{c[m>>2]=ih(c[l>>2]|0)|0;Ah(e,19255,m);break}}while(0);Kd(c[(c[k>>2]|0)+8>>2]|0);c[(c[k>>2]|0)+8>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[h>>2]>>2]|0))break;if((a[(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0)==0?(c[(c[(c[h>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]|0)>0:0){n=c[f>>2]|0;c[o>>2]=c[c[g>>2]>>2];Ah(n,35642,o)}c[j>>2]=(c[j>>2]|0)+1}i=p;return c[(c[f>>2]|0)+68>>2]|0}function hE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Hj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=hR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=fR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function iE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=Tx(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=Ox(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(Td(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0}function jE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+224|0;l=ga+196|0;m=ga+192|0;n=ga+188|0;j=ga+184|0;$=ga+180|0;P=ga+176|0;K=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;E=ga+164|0;F=ga+160|0;G=ga+156|0;W=ga+152|0;q=ga+148|0;s=ga+208|0;k=ga+16|0;x=ga+144|0;w=ga+140|0;L=ga+136|0;X=ga+132|0;H=ga+204|0;Q=ga+128|0;J=ga+124|0;r=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;o=ga+207|0;p=ga+206|0;I=ga+68|0;D=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[Z>>2]=0;c[E>>2]=0;c[F>>2]=0;c[W>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[W>>2]>>2];if(a[(c[q>>2]|0)+65>>0]|0){i=ga;return}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[P>>2]=(c[j>>2]|0)+68;c[K>>2]=c[c[$>>2]>>2];g=ID(c[P>>2]|0,c[(c[K>>2]|0)+12>>2]|0)|0;j=da;c[j>>2]=g;c[j+4>>2]=C;c[G>>2]=d[c[K>>2]>>0];do if((c[G>>2]|0)==75){h=c[P>>2]|0;f=(c[K>>2]|0)+20|0;if(c[(c[K>>2]|0)+4>>2]&2048){g=JD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=jD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[G>>2]|0)==76){j=(c[$>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=ID(c[P>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=ID(c[P>>2]|0,c[K>>2]|0)|0;j=aa;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[K>>2]|0)+4>>2]&1){h=nD(c[P>>2]|0,b[(c[K>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=aa;g=c[h+4>>2]|c[f+4>>2];j=aa;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=fR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=aa;h=c[j+4>>2]|0;k=(c[$>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[$>>2]|0)+8>>2]=-1;c[(c[$>>2]|0)+4>>2]=-1;b[(c[$>>2]|0)+18>>1]=0;k=(kE(c[G>>2]|0)|0)!=0;h=c[K>>2]|0;a:do if(k){c[L>>2]=Tx(c[h+12>>2]|0)|0;c[X>>2]=Tx(c[(c[K>>2]|0)+16>>2]|0)|0;O=(c[$>>2]|0)+32|0;R=da;b[H>>1]=((c[O>>2]&c[R>>2]|0)==0?(c[O+4>>2]&c[R+4>>2]|0)==0:0)?8191:2048;R=da;if(lE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[L>>2]|0,x,w)|0){c[(c[$>>2]|0)+8>>2]=c[x>>2];c[(c[$>>2]|0)+12>>2]=c[w>>2];R=(mE(c[G>>2]|0)|0)&65535;b[(c[$>>2]|0)+18>>1]=R&e[H>>1]}if((c[G>>2]|0)==73){R=(c[$>>2]|0)+20|0;b[R>>1]=e[R>>1]|2048}if((c[X>>2]|0)!=0?(R=(c[$>>2]|0)+32|0,(lE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[X>>2]|0,x,w)|0)!=0):0){b[r>>1]=0;if((c[(c[$>>2]|0)+8>>2]|0)>=0){c[J>>2]=ny(c[q>>2]|0,c[K>>2]|0,0)|0;if(a[(c[q>>2]|0)+65>>0]|0){Zu(c[q>>2]|0,c[J>>2]|0);i=ga;return}c[y>>2]=nE(c[m>>2]|0,c[J>>2]|0,3)|0;if(!(c[y>>2]|0)){i=ga;return}c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);oE(c[m>>2]|0,c[y>>2]|0,c[n>>2]|0);if((c[G>>2]|0)==73){X=(c[Q>>2]|0)+20|0;b[X>>1]=e[X>>1]|2048}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);X=(c[$>>2]|0)+20|0;b[X>>1]=e[X>>1]|8;if(pE(c[W>>2]|0,c[J>>2]|0)|0){X=(c[$>>2]|0)+18|0;b[X>>1]=e[X>>1]|2048;b[r>>1]=2048}}else{c[J>>2]=c[K>>2];c[Q>>2]=c[$>>2]}qE(c[W>>2]|0,c[J>>2]|0);c[(c[Q>>2]|0)+8>>2]=c[x>>2];c[(c[Q>>2]|0)+12>>2]=c[w>>2];O=da;R=t;da=c[O+4>>2]|c[R+4>>2];X=(c[Q>>2]|0)+32|0;c[X>>2]=c[O>>2]|c[R>>2];c[X+4>>2]=da;X=aa;aa=c[X+4>>2]|0;da=(c[Q>>2]|0)+40|0;c[da>>2]=c[X>>2];c[da+4>>2]=aa;da=(mE(d[c[J>>2]>>0]|0)|0)&65535;b[(c[Q>>2]|0)+18>>1]=da+(e[r>>1]|0)&e[H>>1]}}else{if((d[h>>0]|0)==74?(d[(c[m>>2]|0)+8>>0]|0)==72:0){c[O>>2]=c[(c[K>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;X=c[W>>2]|0;aa=d[35688+(c[u>>2]|0)>>0]|0;da=ny(c[q>>2]|0,c[(c[K>>2]|0)+12>>2]|0,0)|0;c[R>>2]=rv(X,aa,da,ny(c[q>>2]|0,c[(c[(c[O>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;rE(c[R>>2]|0,c[K>>2]|0);c[z>>2]=nE(c[m>>2]|0,c[R>>2]|0,3)|0;jE(c[l>>2]|0,c[m>>2]|0,c[z>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);oE(c[m>>2]|0,c[z>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[K>>2]>>0]|0)==71){sE(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==72?(tE(c[W>>2]|0,c[K>>2]|0,Z,E,F)|0)!=0:0){b[ea>>1]=259;c[M>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[_>>2]=ny(c[q>>2]|0,c[Z>>2]|0,0)|0;b:do if((c[F>>2]|0)!=0?(a[(c[c[W>>2]>>2]|0)+65>>0]|0)==0:0){ea=(c[$>>2]|0)+20|0;b[ea>>1]=e[ea>>1]|1024;c[v>>2]=0;while(1){ea=a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]|0;a[o>>0]=ea;if(!(ea<<24>>24))break b;a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[o>>0]&~(d[19267+(d[o>>0]|0)>>0]&32);a[(c[(c[_>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[18477+(d[o>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+65>>0]|0)){ea=(If(c[(c[_>>2]|0)+8>>2]|0)|0)-1|0;c[I>>2]=(c[(c[_>>2]|0)+8>>2]|0)+ea;a[p>>0]=a[c[I>>2]>>0]|0;if(c[F>>2]|0){if((d[p>>0]|0)==64)c[E>>2]=0;a[p>>0]=a[18477+(d[p>>0]|0)>>0]|0}a[c[I>>2]>>0]=(d[p>>0]|0)+1}c[fa>>2]=(c[F>>2]|0)!=0?21290:35690;c[S>>2]=ny(c[q>>2]|0,c[M>>2]|0,0)|0;da=c[W>>2]|0;ea=By(c[W>>2]|0,c[S>>2]|0,c[fa>>2]|0)|0;c[S>>2]=rv(da,83,ea,c[Z>>2]|0,0)|0;rE(c[S>>2]|0,c[K>>2]|0);c[A>>2]=nE(c[m>>2]|0,c[S>>2]|0,259)|0;jE(c[l>>2]|0,c[m>>2]|0,c[A>>2]|0);c[T>>2]=ny(c[q>>2]|0,c[M>>2]|0,0)|0;ea=c[W>>2]|0;fa=By(c[W>>2]|0,c[T>>2]|0,c[fa>>2]|0)|0;c[T>>2]=rv(ea,82,fa,c[_>>2]|0,0)|0;rE(c[T>>2]|0,c[K>>2]|0);c[B>>2]=nE(c[m>>2]|0,c[T>>2]|0,259)|0;jE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[E>>2]|0){oE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);oE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0)}}if((uE(c[K>>2]|0,s)|0)!=0?(c[Y>>2]=c[c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]>>2],c[N>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=ID(c[P>>2]|0,c[Y>>2]|0)|0,fa=ca,c[fa>>2]=ea,c[fa+4>>2]=C,fa=ID(c[P>>2]|0,c[N>>2]|0)|0,ea=ba,c[ea>>2]=fa,c[ea+4>>2]=C,ea=ca,fa=ba,(c[ea>>2]&c[fa>>2]|0)==0?(c[ea+4>>2]&c[fa+4>>2]|0)==0:0):0){fa=c[W>>2]|0;c[U>>2]=rv(fa,51,0,ny(c[q>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[D>>2]=nE(c[m>>2]|0,c[U>>2]|0,3)|0;c[V>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0);fa=ca;ea=c[fa+4>>2]|0;da=(c[V>>2]|0)+32|0;c[da>>2]=c[fa>>2];c[da+4>>2]=ea;c[(c[V>>2]|0)+8>>2]=c[(c[N>>2]|0)+28>>2];c[(c[V>>2]|0)+12>>2]=b[(c[N>>2]|0)+32>>1];b[(c[V>>2]|0)+18>>1]=64;a[(c[V>>2]|0)+23>>0]=a[s>>0]|0;oE(c[m>>2]|0,c[D>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);da=(c[$>>2]|0)+20|0;b[da>>1]=e[da>>1]|8;da=(c[$>>2]|0)+40|0;ea=c[da+4>>2]|0;fa=(c[V>>2]|0)+40|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea}da=t;fa=(c[$>>2]|0)+32|0;ca=fa;ea=c[ca+4>>2]|c[da+4>>2];c[fa>>2]=c[ca>>2]|c[da>>2];c[fa+4>>2]=ea;i=ga;return}function kE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=75?!((c[b>>2]|0)>=79&(c[b>>2]|0)<=83|(c[b>>2]|0)==76):0)b=(c[b>>2]|0)==73;else b=1;i=d;return b&1|0}function lE(a,f,g,h,j,k){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u+36|0;l=u+32|0;m=u;n=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;o=u+12|0;t=u+8|0;c[l>>2]=a;a=m;c[a>>2]=f;c[a+4>>2]=g;c[n>>2]=h;c[r>>2]=j;c[s>>2]=k;if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}j=m;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}j=m;a=c[j>>2]|0;j=c[j+4>>2]|0;k=m;k=fR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((a&k|0)!=0|(j&C|0)!=0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}c[o>>2]=0;while(1){j=m;k=c[j+4>>2]|0;f=c[o>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>1))break;c[o>>2]=f+1;k=m;k=hR(c[k>>2]|0,c[k+4>>2]|0,1)|0;j=m;c[j>>2]=k;c[j+4>>2]=C}c[t>>2]=c[(c[l>>2]|0)+8+(f*72|0)+44>>2];c[p>>2]=c[(c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0)){f=20;break}b:do if(c[(c[p>>2]|0)+40>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break b;if((b[(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(py(c[n>>2]|0,c[(c[(c[(c[p>>2]|0)+40>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){f=17;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((f|0)==17){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}else if((f|0)==20){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function mE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=75){if((c[d>>2]|0)==76){b[e>>1]=256;break}if((c[d>>2]|0)==73){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-79;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function nE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+28|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[h>>2]|0)+12>>2]|0)>=(c[(c[h>>2]|0)+16>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+20>>2];c[l>>2]=c[c[c[c[h>>2]>>2]>>2]>>2];f=Fw(c[l>>2]|0,(c[(c[h>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[h>>2]|0)+20>>2]=f;if(c[(c[h>>2]|0)+20>>2]|0){iR(c[(c[h>>2]|0)+20>>2]|0,c[n>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)*48|0)|0;if((c[n>>2]|0)!=((c[h>>2]|0)+24|0))Sf(c[l>>2]|0,c[n>>2]|0);f=(($t(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[h>>2]|0)+16>>2]=f;kR((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)*48|0)|0,0,((c[(c[h>>2]|0)+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((e[k>>1]|0)&1)Zu(c[l>>2]|0,c[j>>2]|0);c[(c[h>>2]|0)+20>>2]=c[n>>2];c[g>>2]=0;f=c[g>>2]|0;i=p;return f|0}while(0);a=(c[h>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[m>>2]=f;c[o>>2]=(c[(c[h>>2]|0)+20>>2]|0)+(f*48|0);if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[j>>2]|0)+28>>2]|0;f=((Hj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[o>>2]|0)+16>>1]=f}else b[(c[o>>2]|0)+16>>1]=1;f=Tx(c[j>>2]|0)|0;c[c[o>>2]>>2]=f;b[(c[o>>2]|0)+20>>1]=b[k>>1]|0;c[(c[o>>2]|0)+24>>2]=c[h>>2];c[(c[o>>2]|0)+4>>2]=-1;c[g>>2]=c[m>>2];f=c[g>>2]|0;i=p;return f|0}function oE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+4>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+16>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+22|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function pE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+60>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=79?(d[c[k>>2]>>0]|0)!=73:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=Nx(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=Nx(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=VA(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(Td(c[c[l>>2]>>2]|0,35690)|0)!=0:0){c[l>>2]=Ox(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=Ox(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(Td(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function qE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(Ox(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<80){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=m;return}function rE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function sE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=ph(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+12>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+20|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];aD(c[Q>>2]|0,c[T>>2]|0);bD(c[Q>>2]|0,c[L>>2]|0,71);eD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+65>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+18>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Fw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+12>>2]=c[p>>2];g=(c[P>>2]|0)+20|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+18>>1]=1024;c[r>>2]=c[p>>2];aD(c[r>>2]|0,c[c[x>>2]>>2]|0);bD(c[r>>2]|0,c[c[P>>2]>>2]|0,72);eD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+65>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(kE(d[c[c[q>>2]>>2]>>0]|0)|0){h=nD((c[T>>2]|0)+68|0,c[(c[q>>2]|0)+8>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+20>>1]&8)){g=nD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+20>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+4>>2]|0)*48|0);f=nD((c[T>>2]|0)+68|0,c[(c[u>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+18>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+18>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=zE(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=zE(g,W)|0;c[v>>2]=W;if(!W)continue c;AE(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=nD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=36;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==36){U=0;c[F>>2]=c[(c[P>>2]|0)+12>>2];c[G>>2]=c[(c[P>>2]|0)+8>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)){W=j+20|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+12>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(Nx(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(Nx(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+20>>1]&64){c[K>>2]=ny(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Gv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=ny(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=rv(c[R>>2]|0,75,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){rE(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=nE(c[x>>2]|0,c[O>>2]|0,3)|0;jE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);oE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else Vu(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+18>>1]=4096;i=V;return} -function KH(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0.0,Af=0;xf=i;i=i+1824|0;Qe=xf+496|0;Pe=xf+488|0;Oe=xf+480|0;Ne=xf+472|0;Me=xf+456|0;Le=xf+448|0;Ke=xf+440|0;Je=xf+432|0;Ie=xf+424|0;He=xf+416|0;Ge=xf+400|0;Fe=xf+392|0;Ee=xf+384|0;De=xf+376|0;Ce=xf+368|0;Be=xf+360|0;Ae=xf+352|0;uf=xf+336|0;tf=xf+328|0;sf=xf+320|0;ze=xf+312|0;lf=xf+1612|0;n=xf+1608|0;pf=xf+1604|0;rf=xf+1600|0;mf=xf+1596|0;fe=xf+1819|0;H=xf+1818|0;fa=xf+1592|0;of=xf+1588|0;db=xf+1584|0;l=xf+1580|0;Oc=xf+1576|0;Pc=xf+1572|0;Qc=xf+1568|0;id=xf+1564|0;o=xf+1560|0;nf=xf+304|0;g=xf+1556|0;dc=xf+1552|0;Gd=xf+1548|0;wf=xf+1544|0;vf=xf+1540|0;Gc=xf+1536|0;qf=xf+1532|0;B=xf+1528|0;jb=xf+1626|0;vd=xf+1524|0;Ha=xf+1520|0;pb=xf+1516|0;tb=xf+1512|0;Ia=xf+1508|0;Wc=xf+1504|0;S=xf+1500|0;Qa=xf+296|0;x=xf+1817|0;L=xf+1624|0;re=xf+1622|0;se=xf+1620|0;ba=xf+288|0;da=xf+280|0;Od=xf+272|0;Pd=xf+264|0;Ja=xf+1496|0;mc=xf+1492|0;X=xf+1488|0;nc=xf+1484|0;ca=xf+256|0;te=xf+248|0;ea=xf+240|0;nb=xf+1816|0;Qd=xf+1480|0;s=xf+1815|0;O=xf+1618|0;P=xf+1616|0;Ma=xf+1476|0;Y=xf+1472|0;sb=xf+1468|0;ub=xf+1464|0;Sc=xf+1460|0;wa=xf+1456|0;ec=xf+1452|0;y=xf+1448|0;ve=xf+1444|0;we=xf+1440|0;z=xf+1436|0;Fd=xf+232|0;vb=xf+1432|0;Cb=xf+1428|0;fc=xf+1424|0;m=xf+1420|0;Fa=xf+1416|0;U=xf+1412|0;Dc=xf+1408|0;je=xf+192|0;Ye=xf+1404|0;bf=xf+1400|0;_e=xf+1396|0;lb=xf+1392|0;mb=xf+184|0;w=xf+1388|0;ne=xf+1384|0;nd=xf+1380|0;We=xf+1376|0;A=xf+1814|0;ff=xf+1372|0;md=xf+1368|0;Ua=xf+176|0;_a=xf+1364|0;Ra=xf+168|0;gb=xf+160|0;fb=xf+1360|0;me=xf+1356|0;zc=xf+1352|0;Vc=xf+1348|0;Xa=xf+1344|0;Xe=xf+1340|0;K=xf+1336|0;W=xf+1332|0;Da=xf+1328|0;Ga=xf+1324|0;Va=xf+152|0;gc=xf+1320|0;rb=xf+1316|0;ef=xf+1312|0;cb=xf+1308|0;hd=xf+1304|0;pd=xf+1300|0;rd=xf+1296|0;ua=xf+1292|0;xa=xf+1288|0;Ba=xf+1284|0;Aa=xf+1280|0;E=xf+1276|0;ta=xf+1272|0;yb=xf+1268|0;pa=xf+1264|0;la=xf+1260|0;qa=xf+1256|0;ha=xf+1252|0;ga=xf+1248|0;Ac=xf+1244|0;Ya=xf+1240|0;Tc=xf+1236|0;wb=xf+1232|0;ia=xf+1228|0;Se=xf+1224|0;Dd=xf+1220|0;qc=xf+1216|0;Bc=xf+1212|0;vc=xf+1208|0;Uc=xf+1204|0;Hd=xf+1200|0;wc=xf+1196|0;Db=xf+1192|0;xc=xf+1188|0;Wd=xf+1184|0;kb=xf+1180|0;Eb=xf+1176|0;Kd=xf+1160|0;Za=xf+1152|0;ma=xf+144|0;I=xf+1148|0;t=xf+1144|0;qe=xf+1140|0;ya=xf+1136|0;Fb=xf+1132|0;Xd=xf+1128|0;Lc=xf+1124|0;Mc=xf+1120|0;Ld=xf+1104|0;r=xf+1631|0;Gb=xf+1100|0;hc=xf+1096|0;Yd=xf+1092|0;na=xf+136|0;ue=xf+128|0;Hb=xf+1088|0;Zd=xf+1084|0;D=xf+1080|0;Xc=xf+1076|0;Hc=xf+1072|0;yc=xf+1068|0;Rc=xf+1064|0;oa=xf+120|0;Ib=xf+1060|0;hb=xf+1056|0;le=xf+1052|0;Ze=xf+1048|0;jf=xf+1044|0;ob=xf+1040|0;Jb=xf+1036|0;R=xf+1630|0;Kb=xf+1032|0;_d=xf+1028|0;ab=xf+1024|0;Lb=xf+1020|0;Mb=xf+1016|0;ic=xf+1012|0;Ka=xf+1008|0;La=xf+112|0;Nb=xf+1004|0;xe=xf+104|0;wd=xf+1e3|0;ad=xf+996|0;Pb=xf+992|0;Qb=xf+988|0;jc=xf+984|0;$d=xf+980|0;Sb=xf+976|0;kc=xf+972|0;be=xf+968|0;Vb=xf+964|0;ce=xf+960|0;_b=xf+956|0;$a=xf+952|0;cf=xf+948|0;$b=xf+944|0;lc=xf+940|0;de=xf+936|0;Md=xf+920|0;ac=xf+916|0;qd=xf+912|0;ge=xf+96|0;bc=xf+908|0;ee=xf+904|0;Nd=xf+888|0;ra=xf+884|0;ja=xf+880|0;Ta=xf+876|0;cc=xf+872|0;Id=xf+868|0;Q=xf+864|0;Cc=xf+860|0;ka=xf+856|0;df=xf+852|0;gf=xf+848|0;za=xf+832|0;eb=xf+828|0;q=xf+824|0;Ea=xf+820|0;Wa=xf+816|0;Te=xf+812|0;Jd=xf+808|0;ye=xf+88|0;va=xf+804|0;J=xf+800|0;bb=xf+796|0;Sa=xf+792|0;od=xf+788|0;Yc=xf+784|0;Fc=xf+780|0;Ic=xf+776|0;kd=xf+772|0;oe=xf+768|0;Jc=xf+764|0;Nc=xf+760|0;Kc=xf+756|0;Na=xf+752|0;oc=xf+748|0;_=xf+744|0;pc=xf+740|0;Zc=xf+736|0;pe=xf+48|0;_c=xf+732|0;aa=xf+728|0;p=xf+716|0;$c=xf+712|0;Ab=xf+708|0;jd=xf+704|0;F=xf+700|0;G=xf+696|0;af=xf+692|0;Bb=xf+688|0;Ca=xf+1629|0;qb=xf+684|0;Ue=xf+680|0;ud=xf+676|0;ke=xf+8|0;hf=xf+672|0;rc=xf+668|0;sd=xf+664|0;xd=xf+660|0;bd=xf+656|0;Oa=xf+652|0;sa=xf+648|0;cd=xf+644|0;ld=xf+640|0;xb=xf+636|0;td=xf+632|0;yd=xf+628|0;sc=xf+624|0;Ud=xf+620|0;T=xf+616|0;u=xf+612|0;zd=xf+608|0;dd=xf+604|0;Ec=xf+600|0;ie=xf+568|0;tc=xf+564|0;Ad=xf+560|0;ed=xf+556|0;Vd=xf+552|0;uc=xf+548|0;Bd=xf+544|0;gd=xf+540|0;Cd=xf+536|0;fd=xf+532|0;Pa=xf+528|0;V=xf+524|0;he=xf;v=xf+520|0;Ed=xf+516|0;Re=xf+1628|0;ib=xf+512|0;zb=xf+508|0;kf=xf+504|0;Ve=xf+500|0;c[lf>>2]=f;c[n>>2]=c[(c[lf>>2]|0)+4>>2];c[pf>>2]=c[n>>2];c[rf>>2]=0;c[mf>>2]=c[c[lf>>2]>>2];a[fe>>0]=0;a[H>>0]=a[(c[mf>>2]|0)+62>>0]|0;c[fa>>2]=0;c[of>>2]=0;c[db>>2]=0;c[l>>2]=c[(c[lf>>2]|0)+8>>2];c[Oc>>2]=0;c[Pc>>2]=0;c[Qc>>2]=0;c[id>>2]=0;c[o>>2]=0;yf=(c[mf>>2]|0)+32|0;f=c[yf+4>>2]|0;j=nf;c[j>>2]=c[yf>>2];c[j+4>>2]=f;PH(c[lf>>2]|0);a:do if((c[(c[lf>>2]|0)+80>>2]|0)==7)k=860;else{c[(c[lf>>2]|0)+80>>2]=0;yf=(c[lf>>2]|0)+136|0;c[yf>>2]=0;c[yf+4>>2]=0;c[(c[lf>>2]|0)+20>>2]=0;c[(c[mf>>2]|0)+448+8>>2]=0;b:do if(!(c[(c[mf>>2]|0)+240>>2]|0)){if(c[(c[mf>>2]|0)+296>>2]|0){c[g>>2]=c[(c[lf>>2]|0)+108+16>>2];c[db>>2]=(c[(c[mf>>2]|0)+304>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[mf>>2]|0)+304>>2]|0)>>>0)|0)}c[pf>>2]=(c[n>>2]|0)+((c[(c[lf>>2]|0)+76>>2]|0)*20|0);c:while(1){if(c[rf>>2]|0)break a;c[of>>2]=(c[of>>2]|0)+1;d:do switch(d[c[pf>>2]>>0]|0){case 13:{k=8;break}case 14:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Oc>>2]|0)+8>>1]=4;yf=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;k=c[Oc>>2]|0;c[k>>2]=yf;c[k+4>>2]=((yf|0)<0)<<31>>31;k=15;break}case 15:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[pf>>2]=(c[n>>2]|0)+((c[c[Oc>>2]>>2]|0)*20|0);b[(c[Oc>>2]|0)+8>>1]=128;break}case 16:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[pf>>2]|0)+12>>2]|0)-1|0;yf=c[id>>2]|0;c[yf>>2]=j;c[yf+4>>2]=((j|0)<0)<<31>>31;b[(c[id>>2]|0)+8>>1]=4;if(c[(c[pf>>2]|0)+8>>2]|0)k=15;break}case 17:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[dc>>2]=(c[n>>2]|0)+((c[c[Oc>>2]>>2]|0)*20|0);c[pf>>2]=(c[n>>2]|0)+(((c[(c[dc>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Oc>>2]|0)+8>>1]=128;break}case 18:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[Oc>>2]|0)+8>>1]=4;c[Gd>>2]=c[c[Oc>>2]>>2];j=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;yf=c[Oc>>2]|0;c[yf>>2]=j;c[yf+4>>2]=((j|0)<0)<<31>>31;c[pf>>2]=(c[n>>2]|0)+((c[Gd>>2]|0)*20|0);break}case 20:{c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Qc>>2]|0)+8>>1]&1)k=21;break}case 21:{k=21;break}case 22:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;j=c[(c[pf>>2]|0)+4>>2]|0;yf=c[id>>2]|0;c[yf>>2]=j;c[yf+4>>2]=((j|0)<0)<<31>>31;break}case 23:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;f=c[(c[pf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;yf=c[id>>2]|0;c[yf>>2]=c[f>>2];c[yf+4>>2]=j;break}case 133:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=8;h[c[id>>2]>>3]=+h[c[(c[pf>>2]|0)+16>>2]>>3];break}case 97:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;a[c[pf>>2]>>0]=24;yf=If(c[(c[pf>>2]|0)+16>>2]|0)|0;c[(c[pf>>2]|0)+4>>2]=yf;if((d[H>>0]|0)!=1){c[rf>>2]=dh(c[id>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,-1,1,0)|0;if((c[rf>>2]|0)==18){k=859;break c}if(Zt(c[id>>2]|0,d[H>>0]|0)|0){k=860;break a}c[(c[id>>2]|0)+24>>2]=0;yf=(c[id>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|2048;if((a[(c[pf>>2]|0)+1>>0]|0)==-1)Sf(c[mf>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);a[(c[pf>>2]|0)+1>>0]=-1;c[(c[pf>>2]|0)+16>>2]=c[(c[id>>2]|0)+16>>2];c[(c[pf>>2]|0)+4>>2]=c[(c[id>>2]|0)+12>>2]}if((c[(c[pf>>2]|0)+4>>2]|0)>(c[(c[mf>>2]|0)+88>>2]|0)){k=859;break c}else k=50;break}case 24:{k=50;break}case 25:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[B>>2]=(c[(c[pf>>2]|0)+12>>2]|0)-(c[(c[pf>>2]|0)+8>>2]|0);yf=((c[(c[pf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[jb>>1]=yf;b[(c[id>>2]|0)+8>>1]=yf;while(1){if((c[B>>2]|0)<=0)break d;c[id>>2]=(c[id>>2]|0)+40;fh(c[id>>2]|0);b[(c[id>>2]|0)+8>>1]=b[jb>>1]|0;c[B>>2]=(c[B>>2]|0)+-1}}case 26:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[(c[id>>2]|0)+8>>1]=(e[(c[id>>2]|0)+8>>1]|1)&-129;break}case 27:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;dh(c[id>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,0)|0;a[(c[id>>2]|0)+10>>0]=a[H>>0]|0;break}case 28:{c[vd>>2]=(c[(c[lf>>2]|0)+60>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*40|0);if(VH(c[vd>>2]|0)|0){k=859;break c}c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;BF(c[id>>2]|0,c[vd>>2]|0,2048);break}case 29:{c[Ha>>2]=c[(c[pf>>2]|0)+12>>2];c[pb>>2]=c[(c[pf>>2]|0)+4>>2];c[tb>>2]=c[(c[pf>>2]|0)+8>>2];c[Oc>>2]=(c[l>>2]|0)+((c[pb>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[tb>>2]|0)*40|0);do{EH(c[id>>2]|0,c[Oc>>2]|0);if((e[(c[id>>2]|0)+8>>1]&4096|0)!=0?(_g(c[id>>2]|0)|0)!=0:0){k=860;break a}c[Oc>>2]=(c[Oc>>2]|0)+40;c[id>>2]=(c[id>>2]|0)+40;yf=(c[Ha>>2]|0)+-1|0;c[Ha>>2]=yf}while((yf|0)!=0);break}case 30:{c[Ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);while(1){BF(c[id>>2]|0,c[Oc>>2]|0,4096);if((e[(c[id>>2]|0)+8>>1]&4096|0)!=0?(_g(c[id>>2]|0)|0)!=0:0){k=860;break a}yf=c[Ia>>2]|0;c[Ia>>2]=yf+-1;if(!yf)break d;c[id>>2]=(c[id>>2]|0)+40;c[Oc>>2]=(c[Oc>>2]|0)+40}}case 31:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);BF(c[id>>2]|0,c[Oc>>2]|0,4096);break}case 32:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);yf=c[Oc>>2]|0;eh(c[id>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 33:{if(((c[(c[mf>>2]|0)+296>>2]|0)!=0?(c[of>>2]|0)>>>0>=(c[db>>2]|0)>>>0:0)?(Tb[c[(c[mf>>2]|0)+296>>2]&255](c[(c[mf>>2]|0)+300>>2]|0)|0)!=0:0){k=74;break c}yf=WH(c[lf>>2]|0,0)|0;c[rf>>2]=yf;if(0==(yf|0)?(c[rf>>2]=XH(c[lf>>2]|0,1)|0,(c[rf>>2]|0)==0):0){k=77;break c}break}case 94:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]|e[(c[Pc>>2]|0)+8>>1])&1){fh(c[id>>2]|0);break d}if((e[(c[Oc>>2]|0)+8>>1]&16384|0)!=0?(Vg(c[Oc>>2]|0)|0)!=0:0){k=860;break a}if((e[(c[Pc>>2]|0)+8>>1]&16384|0)!=0?(Vg(c[Pc>>2]|0)|0)!=0:0){k=860;break a}if((e[(c[Oc>>2]|0)+8>>1]&18|0)==0?(sx(c[Oc>>2]|0,a[H>>0]|0,0)|0)!=0:0){k=860;break a}if((e[(c[Pc>>2]|0)+8>>1]&18|0)==0?(sx(c[Pc>>2]|0,a[H>>0]|0,0)|0)!=0:0){k=860;break a}g=(c[(c[Oc>>2]|0)+12>>2]|0)+(c[(c[Pc>>2]|0)+12>>2]|0)|0;j=Qa;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Qa;g=c[j+4>>2]|0;yf=c[(c[mf>>2]|0)+88>>2]|0;f=((yf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>yf>>>0:0)){k=859;break c}if(ux(c[id>>2]|0,(c[Qa>>2]|0)+2|0,(c[id>>2]|0)==(c[Pc>>2]|0)&1)|0){k=860;break a}b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|2;if((c[id>>2]|0)!=(c[Pc>>2]|0))iR(c[(c[id>>2]|0)+16>>2]|0,c[(c[Pc>>2]|0)+16>>2]|0,c[(c[Pc>>2]|0)+12>>2]|0)|0;iR((c[(c[id>>2]|0)+16>>2]|0)+(c[(c[Pc>>2]|0)+12>>2]|0)|0,c[(c[Oc>>2]|0)+16>>2]|0,c[(c[Oc>>2]|0)+12>>2]|0)|0;a[(c[(c[id>>2]|0)+16>>2]|0)+(c[Qa>>2]|0)>>0]=0;yf=Qa;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;a[(c[(c[id>>2]|0)+16>>2]|0)+yf>>0]=0;yf=(c[id>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|512;c[(c[id>>2]|0)+12>>2]=c[Qa>>2];a[(c[id>>2]|0)+10>>0]=a[H>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);b[re>>1]=ZH(c[Oc>>2]|0)|0;c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[se>>1]=ZH(c[Pc>>2]|0)|0;c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=e[(c[Oc>>2]|0)+8>>1]|e[(c[Pc>>2]|0)+8>>1];e:do if(!(e[L>>1]&1)){f:do if(e[re>>1]&e[se>>1]&4){yf=c[Oc>>2]|0;j=c[yf+4>>2]|0;f=ba;c[f>>2]=c[yf>>2];c[f+4>>2]=j;f=c[Pc>>2]|0;j=c[f+4>>2]|0;yf=da;c[yf>>2]=c[f>>2];c[yf+4>>2]=j;a[x>>0]=1;switch(d[c[pf>>2]>>0]|0){case 89:{yf=ba;if(_H(da,c[yf>>2]|0,c[yf+4>>2]|0)|0)break f;break}case 90:{yf=ba;if($H(da,c[yf>>2]|0,c[yf+4>>2]|0)|0)break f;break}case 91:{yf=ba;if(aI(da,c[yf>>2]|0,c[yf+4>>2]|0)|0)break f;break}case 92:{yf=ba;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)break e;j=ba;yf=da;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[yf>>2]|0)==0?(c[yf+4>>2]|0)==-2147483648:0))break f;j=ba;f=da;yf=da;c[yf>>2]=pR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[yf+4>>2]=C;break}default:{yf=ba;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)break e;yf=ba;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==-1:0){yf=ba;c[yf>>2]=1;c[yf+4>>2]=0}j=ba;f=da;yf=da;c[yf>>2]=qR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[yf+4>>2]=C}}f=da;j=c[f+4>>2]|0;yf=c[id>>2]|0;c[yf>>2]=c[f>>2];c[yf+4>>2]=j;b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;break d}else a[x>>0]=0;while(0);h[Od>>3]=+Yg(c[Oc>>2]|0);h[Pd>>3]=+Yg(c[Pc>>2]|0);switch(d[c[pf>>2]>>0]|0){case 89:{h[Pd>>3]=+h[Pd>>3]+ +h[Od>>3];break}case 90:{h[Pd>>3]=+h[Pd>>3]-+h[Od>>3];break}case 91:{h[Pd>>3]=+h[Pd>>3]*+h[Od>>3];break}case 92:{if(+h[Od>>3]==0.0)break e;h[Pd>>3]=+h[Pd>>3]/+h[Od>>3];break}default:{zf=+h[Od>>3];yf=+N(zf)>=1.0?(zf>0.0?~~+$(+M(zf/4294967296.0),4294967295.0)>>>0:~~+Z((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;j=ba;c[j>>2]=~~zf>>>0;c[j+4>>2]=yf;zf=+h[Pd>>3];j=+N(zf)>=1.0?(zf>0.0?~~+$(+M(zf/4294967296.0),4294967295.0)>>>0:~~+Z((zf-+(~~zf>>>0))/4294967296.0)>>>0):0;yf=da;c[yf>>2]=~~zf>>>0;c[yf+4>>2]=j;yf=ba;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)break e;yf=ba;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==-1:0){yf=ba;c[yf>>2]=1;c[yf+4>>2]=0}j=da;yf=ba;h[Pd>>3]=+((qR(c[j>>2]|0,c[j+4>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(HF(+h[Pd>>3])|0)){h[c[id>>2]>>3]=+h[Pd>>3];b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|8;if((a[x>>0]|0)!=0?1:((e[re>>1]|e[se>>1])&8|0)!=0)break d;px(c[id>>2]|0);break d}}while(0);fh(c[id>>2]|0);break}case 34:{if(c[(c[pf>>2]|0)+4>>2]|0)eh((c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 35:{c[Ja>>2]=d[(c[pf>>2]|0)+3>>0];c[mc>>2]=Fw(c[mf>>2]|0,32+((c[Ja>>2]|0)-1<<2)|0,0)|0;if(!(c[mc>>2]|0)){k=860;break a}c[c[mc>>2]>>2]=0;c[(c[mc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[mc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[mc>>2]|0)+12>>2]=c[lf>>2];a[(c[mc>>2]|0)+26>>0]=c[Ja>>2];a[(c[pf>>2]|0)+1>>0]=-20;c[(c[pf>>2]|0)+16>>2]=c[mc>>2];a[c[pf>>2]>>0]=36;k=132;break}case 36:{k=132;break}case 88:case 87:case 86:case 85:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]|e[(c[Pc>>2]|0)+8>>1])&1){fh(c[id>>2]|0);break d}yf=Zg(c[Pc>>2]|0)|0;j=ca;c[j>>2]=yf;c[j+4>>2]=C;j=Zg(c[Oc>>2]|0)|0;yf=ea;c[yf>>2]=j;c[yf+4>>2]=C;a[nb>>0]=a[c[pf>>2]>>0]|0;do if((d[nb>>0]|0)!=85){f=ea;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[nb>>0]|0)==86){Af=ca;j=c[Af+4>>2]|f;yf=ca;c[yf>>2]=c[Af>>2]|g;c[yf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[ea+4>>2]|0)<0){a[nb>>0]=175-(d[nb>>0]|0);yf=ea;j=c[yf+4>>2]|0;yf=(j|0)>-1|(j|0)==-1&(c[yf>>2]|0)>>>0>4294967232;j=ea;j=fR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;Af=ea;c[Af>>2]=yf?j:64;c[Af+4>>2]=yf?C:0}Af=ea;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>=64){Af=ca;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>=0)g=1;else g=(d[nb>>0]|0)==87;yf=g?0:-1;Af=ca;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break};c[te>>2]=c[ca>>2];c[te+4>>2]=c[ca+4>>2];g=c[ea>>2]|0;j=te;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[nb>>0]|0)!=87){yf=hR(f|0,j|0,g|0)|0;Af=te;c[Af>>2]=yf;c[Af+4>>2]=C;if((c[ca+4>>2]|0)<0){j=ea;j=fR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=lR(-1,-1,j|0)|0;f=te;yf=c[f+4>>2]|C;Af=te;c[Af>>2]=c[f>>2]|j;c[Af+4>>2]=yf}}else{yf=lR(f|0,j|0,g|0)|0;Af=te;c[Af>>2]=yf;c[Af+4>>2]=C};c[ca>>2]=c[te>>2];c[ca+4>>2]=c[te+4>>2]}}else{j=ea;f=ca;yf=c[f+4>>2]&c[j+4>>2];Af=ca;c[Af>>2]=c[f>>2]&c[j>>2];c[Af+4>>2]=yf}while(0);j=ca;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;break}case 37:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);wx(c[Oc>>2]|0)|0;yf=c[(c[pf>>2]|0)+8>>2]|0;Af=c[Oc>>2]|0;j=Af;yf=gR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break}case 38:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&4|0)==0?(rx(c[Oc>>2]|0,67,a[H>>0]|0),(e[(c[Oc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[pf>>2]|0)+8>>2]|0)){k=165;break c}else{k=15;break d}b[(c[Oc>>2]|0)+8>>1]=e[(c[Oc>>2]|0)+8>>1]&-49664|4;break}case 39:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&4)xx(c[Oc>>2]|0)|0;break}case 40:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&16384)g=Vg(c[Oc>>2]|0)|0;else g=0;c[rf>>2]=g;kx(c[Oc>>2]|0,c[(c[pf>>2]|0)+8>>2]&255,a[H>>0]|0);break}case 83:case 80:case 81:case 82:case 78:case 79:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);b[O>>1]=b[(c[Oc>>2]|0)+8>>1]|0;b[P>>1]=b[(c[Qc>>2]|0)+8>>1]|0;g=d[(c[pf>>2]|0)+3>>0]|0;do if((e[O>>1]|e[P>>1])&1){if(!(g&128)){g=c[pf>>2]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=15;break d}else break d;else{c[id>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|1;break d}}if(((e[O>>1]&1|0)!=0?(e[P>>1]&1|0)!=0:0)?(e[P>>1]&256|0)==0:0){c[Qd>>2]=0;break}c[Qd>>2]=1}else{a[s>>0]=g&71;if((a[s>>0]|0)>=67){if((e[O>>1]&14|0)==2)xh(c[Oc>>2]|0,0);if((e[P>>1]&14|0)==2)xh(c[Qc>>2]|0,0)}else if((a[s>>0]|0)==66){if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){sx(c[Oc>>2]|0,a[H>>0]|0,1)|0;b[O>>1]=e[(c[Oc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}if((e[P>>1]&2|0)==0?(e[P>>1]&12|0)!=0:0){sx(c[Qc>>2]|0,a[H>>0]|0,1)|0;b[P>>1]=e[(c[Qc>>2]|0)+8>>1]&-33280|e[P>>1]&33279}}if(e[O>>1]&16384){Vg(c[Oc>>2]|0)|0;b[O>>1]=e[O>>1]&-16385}if(e[P>>1]&16384){Vg(c[Qc>>2]|0)|0;b[P>>1]=e[P>>1]&-16385}c[Qd>>2]=cI(c[Qc>>2]|0,c[Oc>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[pf>>2]>>0]|0){case 79:{c[Qd>>2]=(c[Qd>>2]|0)==0&1;break}case 78:{c[Qd>>2]=(c[Qd>>2]|0)!=0&1;break}case 82:{c[Qd>>2]=(c[Qd>>2]|0)<0&1;break}case 81:{c[Qd>>2]=(c[Qd>>2]|0)<=0&1;break}case 80:{c[Qd>>2]=(c[Qd>>2]|0)>0&1;break}default:c[Qd>>2]=(c[Qd>>2]|0)>=0&1}b[(c[Oc>>2]|0)+8>>1]=b[O>>1]|0;b[(c[Qc>>2]|0)+8>>1]=b[P>>1]|0;if(!(d[(c[pf>>2]|0)+3>>0]&32))if(c[Qd>>2]|0){k=15;break d}else break d;else{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;yf=c[Qd>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break d}}case 41:{c[o>>2]=(c[(c[pf>>2]|0)+16>>2]|0)+4;break}case 42:{if(!(d[(c[pf>>2]|0)+3>>0]&1))c[o>>2]=0;c[Ma>>2]=c[(c[pf>>2]|0)+12>>2];c[Sc>>2]=c[(c[pf>>2]|0)+16>>2];c[sb>>2]=c[(c[pf>>2]|0)+4>>2];c[ub>>2]=c[(c[pf>>2]|0)+8>>2];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[Ma>>2]|0))break;g=c[Y>>2]|0;if(c[o>>2]|0)g=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[wa>>2]=g;c[ec>>2]=c[(c[Sc>>2]|0)+20+(c[Y>>2]<<2)>>2];c[y>>2]=d[(c[(c[Sc>>2]|0)+16>>2]|0)+(c[Y>>2]|0)>>0];c[fa>>2]=cI((c[l>>2]|0)+(((c[sb>>2]|0)+(c[wa>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[ub>>2]|0)+(c[wa>>2]|0)|0)*40|0)|0,c[ec>>2]|0)|0;if(c[fa>>2]|0){k=217;break}c[Y>>2]=(c[Y>>2]|0)+1}if((k|0)==217?(k=0,(c[y>>2]|0)!=0):0)c[fa>>2]=0-(c[fa>>2]|0);c[o>>2]=0;break}case 43:{if((c[fa>>2]|0)<0){c[pf>>2]=(c[n>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[pf>>2]|0;if(!(c[fa>>2]|0)){c[pf>>2]=(c[n>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[pf>>2]=(c[n>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 71:case 72:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)c[ve>>2]=2;else{Af=Zg(c[Oc>>2]|0)|0;c[ve>>2]=((Af|0)!=0|(C|0)!=0)&1}c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Pc>>2]|0)+8>>1]&1)c[we>>2]=2;else{Af=Zg(c[Pc>>2]|0)|0;c[we>>2]=((Af|0)!=0|(C|0)!=0)&1}g=((c[ve>>2]|0)*3|0)+(c[we>>2]|0)|0;if((d[c[pf>>2]>>0]|0)==72)c[ve>>2]=d[40716+g>>0];else c[ve>>2]=d[40725+g>>0];c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((c[ve>>2]|0)==2){b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|1;break d}else{yf=c[ve>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);fh(c[id>>2]|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1)){b[(c[id>>2]|0)+8>>1]=4;yf=Zg(c[Oc>>2]|0)|0;yf=(((yf|0)!=0|(C|0)!=0)^1)&1;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31}break}case 96:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);fh(c[id>>2]|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1)){b[(c[id>>2]|0)+8>>1]=4;yf=Zg(c[Oc>>2]|0)|0;Af=c[id>>2]|0;c[Af>>2]=~yf;c[Af+4>>2]=~C}break}case 44:{if(a[(c[(c[lf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]|0)k=15;else a[(c[(c[lf>>2]|0)+200>>2]|0)+(c[(c[pf>>2]|0)+4>>2]|0)>>0]=1;break}case 46:case 45:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1)){c[z>>2]=+Yg(c[Oc>>2]|0)!=0.0&1;if((d[c[pf>>2]>>0]|0)==46)c[z>>2]=((c[z>>2]|0)!=0^1)&1}else c[z>>2]=c[(c[pf>>2]|0)+12>>2];if(c[z>>2]|0)k=15;break}case 76:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)k=15;break}case 77:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Oc>>2]|0)+8>>1]&1))k=15;break}case 47:{c[Cb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[vb>>2]=c[(c[pf>>2]|0)+8>>2];c[rf>>2]=dI(Cb,vb)|0;c[Dc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[Cb>>2]|0)+76>>2];c[fc>>2]=c[(c[Cb>>2]|0)+16>>2];if(c[rf>>2]|0){k=861;break c}g=c[Cb>>2]|0;do if((c[(c[Cb>>2]|0)+56>>2]|0)!=(c[(c[lf>>2]|0)+72>>2]|0)){f=c[Cb>>2]|0;do if(a[g+2>>0]|0)if((d[f>>0]|0)==3){c[nd>>2]=(c[l>>2]|0)+((c[(c[Cb>>2]|0)+16>>2]|0)*40|0);Af=c[(c[nd>>2]|0)+12>>2]|0;c[w>>2]=Af;c[(c[Cb>>2]|0)+64>>2]=Af;c[(c[Cb>>2]|0)+60>>2]=Af;c[(c[Cb>>2]|0)+72>>2]=c[(c[nd>>2]|0)+16>>2];break}else{fh(c[Dc>>2]|0);break d}else{g=c[fc>>2]|0;if(!(d[f+4>>0]|0)){sH(g,Fd)|0;Af=eI(c[fc>>2]|0,w)|0;c[(c[Cb>>2]|0)+72>>2]=Af;c[(c[Cb>>2]|0)+60>>2]=c[Fd>>2]}else{fI(g,(c[Cb>>2]|0)+60|0)|0;Af=gI(c[fc>>2]|0,w)|0;c[(c[Cb>>2]|0)+72>>2]=Af}g=c[(c[Cb>>2]|0)+60>>2]|0;if((c[(c[Cb>>2]|0)+60>>2]|0)>>>0<=(c[w>>2]|0)>>>0){c[(c[Cb>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[mf>>2]|0)+88>>2]|0)>>>0){k=859;break c}c[(c[Cb>>2]|0)+64>>2]=c[w>>2]}while(0);c[(c[Cb>>2]|0)+56>>2]=c[(c[lf>>2]|0)+72>>2];g=c[(c[Cb>>2]|0)+72>>2]|0;if((d[c[(c[Cb>>2]|0)+72>>2]>>0]|0)<128){c[lb>>2]=d[g>>0];g=1}else g=(tF(g,lb)|0)&255;c[(c[Cb>>2]|0)+68>>2]=g&255;b[(c[Cb>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[lb>>2];if((c[w>>2]|0)>>>0<(c[lb>>2]|0)>>>0){c[(c[Cb>>2]|0)+72>>2]=0;c[(c[Cb>>2]|0)+64>>2]=0;if((c[lb>>2]|0)>>>0<=98307?(c[lb>>2]|0)>>>0<=(c[(c[Cb>>2]|0)+60>>2]|0)>>>0:0){k=272;break}c[rf>>2]=Lj(76686)|0;break d}else k=272}else if((e[g+14>>1]|0)<=(c[vb>>2]|0))k=272;else c[ne>>2]=c[(c[Cb>>2]|0)+80+(c[vb>>2]<<2)>>2];while(0);if((k|0)==272){k=0;do if((c[(c[Cb>>2]|0)+68>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Cb>>2]|0)+72>>2]|0)){g=je;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[rf>>2]=hI(c[fc>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[Cb>>2]|0)+4>>0]|0)!=0^1)&1,je)|0;if(c[rf>>2]|0)break d;c[Ye>>2]=c[je+16>>2]}else c[Ye>>2]=c[(c[Cb>>2]|0)+72>>2];c[U>>2]=e[(c[Cb>>2]|0)+14>>1];Af=mb;c[Af>>2]=c[(c[m>>2]|0)+(c[U>>2]<<2)>>2];c[Af+4>>2]=0;c[bf>>2]=(c[Ye>>2]|0)+(c[(c[Cb>>2]|0)+68>>2]|0);c[_e>>2]=(c[Ye>>2]|0)+(c[c[m>>2]>>2]|0);do{Af=d[c[bf>>2]>>0]|0;c[ne>>2]=Af;g=c[bf>>2]|0;if(Af>>>0<128){c[bf>>2]=g+1;yf=(iI(c[ne>>2]&255)|0)&255;Af=mb;yf=gR(c[Af>>2]|0,c[Af+4>>2]|0,yf|0,0)|0;Af=mb;c[Af>>2]=yf;c[Af+4>>2]=C}else{yf=(tF(g,ne)|0)&255;c[bf>>2]=(c[bf>>2]|0)+yf;yf=uF(c[ne>>2]|0)|0;Af=mb;yf=gR(c[Af>>2]|0,c[Af+4>>2]|0,yf|0,0)|0;Af=mb;c[Af>>2]=yf;c[Af+4>>2]=C}yf=c[ne>>2]|0;Af=c[U>>2]|0;c[U>>2]=Af+1;c[(c[Cb>>2]|0)+80+(Af<<2)>>2]=yf;c[(c[m>>2]|0)+(c[U>>2]<<2)>>2]=c[mb>>2];if((c[U>>2]|0)>(c[vb>>2]|0))break}while((c[bf>>2]|0)>>>0<(c[_e>>2]|0)>>>0);b[(c[Cb>>2]|0)+14>>1]=c[U>>2];c[(c[Cb>>2]|0)+68>>2]=(c[bf>>2]|0)-(c[Ye>>2]|0);if(!(c[(c[Cb>>2]|0)+72>>2]|0))Ug(je);if((c[bf>>2]|0)>>>0>=(c[_e>>2]|0)>>>0){if((c[bf>>2]|0)>>>0<=(c[_e>>2]|0)>>>0?(Af=mb,!((c[Af+4>>2]|0)!=0?1:(c[Af>>2]|0)!=(c[(c[Cb>>2]|0)+60>>2]|0))):0)k=288}else k=288;if((k|0)==288?(k=0,Af=mb,yf=c[Af+4>>2]|0,!(yf>>>0>0|((yf|0)==0?(c[Af>>2]|0)>>>0>(c[(c[Cb>>2]|0)+60>>2]|0)>>>0:0))):0)break;c[rf>>2]=Lj(76747)|0;break d}else c[ne>>2]=0;while(0);if((e[(c[Cb>>2]|0)+14>>1]|0)<=(c[vb>>2]|0)){g=c[Dc>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)==-8){BF(g,c[(c[pf>>2]|0)+16>>2]|0,2048);break d}else{fh(g);break d}}}if(e[(c[Dc>>2]|0)+8>>1]&9312)fh(c[Dc>>2]|0);a[(c[Dc>>2]|0)+10>>0]=a[H>>0]|0;if((c[(c[Cb>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[vb>>2]|0)+1<<2)>>2]|0)>>>0){c[Ye>>2]=(c[(c[Cb>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[vb>>2]<<2)>>2]|0);if((c[ne>>2]|0)>>>0<12){vF(c[Ye>>2]|0,c[ne>>2]|0,c[Dc>>2]|0)|0;break d}g=(((c[ne>>2]|0)-12|0)>>>0)/2|0;c[Fa>>2]=g;c[(c[Dc>>2]|0)+12>>2]=g;g=c[Dc>>2]|0;if((c[(c[Dc>>2]|0)+24>>2]|0)<((c[Fa>>2]|0)+2|0)){b[g+8>>1]=1;if(ux(c[Dc>>2]|0,(c[Fa>>2]|0)+2|0,0)|0){k=860;break a}}else c[(c[Dc>>2]|0)+16>>2]=c[g+20>>2];iR(c[(c[Dc>>2]|0)+16>>2]|0,c[Ye>>2]|0,c[Fa>>2]|0)|0;a[(c[(c[Dc>>2]|0)+16>>2]|0)+(c[Fa>>2]|0)>>0]=0;a[(c[(c[Dc>>2]|0)+16>>2]|0)+((c[Fa>>2]|0)+1)>>0]=0;b[(c[Dc>>2]|0)+8>>1]=b[17282+((c[ne>>2]&1)<<1)>>1]|0;break d}do if(d[(c[pf>>2]|0)+3>>0]&192){if((c[ne>>2]|0)>>>0>=12?(c[ne>>2]&1|0)==0:0)break;if(!(d[(c[pf>>2]|0)+3>>0]&128))k=309}else k=309;while(0);if((k|0)==309?(k=0,Af=uF(c[ne>>2]|0)|0,c[Fa>>2]=Af,(Af|0)!=0):0){c[rf>>2]=hI(c[fc>>2]|0,c[(c[m>>2]|0)+(c[vb>>2]<<2)>>2]|0,c[Fa>>2]|0,((a[(c[Cb>>2]|0)+4>>0]|0)!=0^1)&1,c[Dc>>2]|0)|0;if(c[rf>>2]|0)break d;vF(c[(c[Dc>>2]|0)+16>>2]|0,c[ne>>2]|0,c[Dc>>2]|0)|0;Af=(c[Dc>>2]|0)+8|0;b[Af>>1]=e[Af>>1]&-4097;break d}vF(40734,c[ne>>2]|0,c[Dc>>2]|0)|0;break}case 48:{c[We>>2]=c[(c[pf>>2]|0)+16>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);while(1){Af=c[We>>2]|0;c[We>>2]=Af+1;Af=a[Af>>0]|0;a[A>>0]=Af;if(!(Af<<24>>24))break d;rx(c[Oc>>2]|0,a[A>>0]|0,a[H>>0]|0);c[Oc>>2]=(c[Oc>>2]|0)+40}}case 49:{Af=Ua;c[Af>>2]=0;c[Af+4>>2]=0;c[_a>>2]=0;Af=gb;c[Af>>2]=0;c[Af+4>>2]=0;c[Xa>>2]=c[(c[pf>>2]|0)+4>>2];c[Xe>>2]=c[(c[pf>>2]|0)+16>>2];c[zc>>2]=(c[l>>2]|0)+((c[Xa>>2]|0)*40|0);c[Xa>>2]=c[(c[pf>>2]|0)+8>>2];c[Vc>>2]=(c[zc>>2]|0)+(((c[Xa>>2]|0)-1|0)*40|0);c[K>>2]=d[(c[lf>>2]|0)+87>>0];c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(c[Xe>>2]|0){c[md>>2]=c[zc>>2];do{yf=c[md>>2]|0;c[md>>2]=yf+40;Af=c[Xe>>2]|0;c[Xe>>2]=Af+1;rx(yf,a[Af>>0]|0,a[H>>0]|0)}while((a[c[Xe>>2]>>0]|0)!=0)}c[md>>2]=c[Vc>>2];do{Af=jI(c[md>>2]|0,c[K>>2]|0,Ga)|0;c[me>>2]=Af;c[(c[md>>2]|0)+28>>2]=Af;do if(e[(c[md>>2]|0)+8>>1]&16384){Af=Ua;g=c[md>>2]|0;if((c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0)if(Vg(g)|0){k=860;break a}else break;else{yf=c[g>>2]|0;Af=gb;yf=gR(c[Af>>2]|0,c[Af+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;Af=gb;c[Af>>2]=yf;c[Af+4>>2]=C;c[Ga>>2]=(c[Ga>>2]|0)-(c[c[md>>2]>>2]|0);break}}while(0);yf=Ua;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,c[Ga>>2]|0,0)|0;Af=Ua;c[Af>>2]=yf;c[Af+4>>2]=C;if((c[me>>2]|0)>>>0<=127)g=1;else g=zF(c[me>>2]|0,0)|0;c[_a>>2]=(c[_a>>2]|0)+g;Af=(c[md>>2]|0)+-40|0;c[md>>2]=Af}while(Af>>>0>=(c[zc>>2]|0)>>>0);g=c[_a>>2]|0;if((c[_a>>2]|0)>126){c[fb>>2]=zF(g,((g|0)<0)<<31>>31)|0;c[_a>>2]=(c[_a>>2]|0)+(c[fb>>2]|0);yf=c[fb>>2]|0;Af=c[_a>>2]|0;if((yf|0)<(zF(Af,((Af|0)<0)<<31>>31)|0))c[_a>>2]=(c[_a>>2]|0)+1}else c[_a>>2]=g+1;f=c[_a>>2]|0;yf=Ua;yf=gR(f|0,((f|0)<0)<<31>>31|0,c[yf>>2]|0,c[yf+4>>2]|0)|0;f=Ra;c[f>>2]=yf;c[f+4>>2]=C;f=Ra;yf=gb;yf=gR(c[f>>2]|0,c[f+4>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0;f=C;Af=c[(c[mf>>2]|0)+88>>2]|0;j=((Af|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&yf>>>0>Af>>>0){k=859;break c}if(tx(c[id>>2]|0,c[Ra>>2]|0)|0){k=860;break a}c[ff>>2]=c[(c[id>>2]|0)+16>>2];if((c[_a>>2]|0)>>>0<128){a[c[ff>>2]>>0]=c[_a>>2];g=1}else{g=c[_a>>2]|0;g=kI(c[ff>>2]|0,g,((g|0)<0)<<31>>31)|0}c[W>>2]=g&255;c[Da>>2]=c[_a>>2];c[md>>2]=c[zc>>2];do{c[me>>2]=c[(c[md>>2]|0)+28>>2];if((c[me>>2]|0)>>>0<128){a[(c[ff>>2]|0)+(c[W>>2]|0)>>0]=c[me>>2];g=1}else g=kI((c[ff>>2]|0)+(c[W>>2]|0)|0,c[me>>2]|0,0)|0;c[W>>2]=(c[W>>2]|0)+(g&255);Af=lI((c[ff>>2]|0)+(c[Da>>2]|0)|0,c[md>>2]|0,c[me>>2]|0)|0;c[Da>>2]=(c[Da>>2]|0)+Af;Af=(c[md>>2]|0)+40|0;c[md>>2]=Af}while(Af>>>0<=(c[Vc>>2]|0)>>>0);c[(c[id>>2]|0)+12>>2]=c[Ra>>2];b[(c[id>>2]|0)+8>>1]=16;Af=gb;if((c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0){c[c[id>>2]>>2]=c[gb>>2];Af=(c[id>>2]|0)+8|0;b[Af>>1]=e[Af>>1]|16384}a[(c[id>>2]|0)+10>>0]=1;break}case 50:{c[gc>>2]=c[(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];j=Va;c[j>>2]=0;c[j+4>>2]=0;c[rf>>2]=mI(c[gc>>2]|0,Va)|0;c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;j=Va;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break}case 0:{c[rb>>2]=c[(c[pf>>2]|0)+4>>2];c[ef>>2]=c[(c[pf>>2]|0)+16>>2];if(!(c[rb>>2]|0)){if((c[(c[mf>>2]|0)+156>>2]|0)>0){SH(c[lf>>2]|0,40742,Be);c[rf>>2]=5;break d}c[cb>>2]=If(c[ef>>2]|0)|0;c[rf>>2]=nI(c[mf>>2]|0,0,(c[(c[mf>>2]|0)+504>>2]|0)+(c[(c[mf>>2]|0)+500>>2]|0)|0)|0;if(c[rf>>2]|0){k=861;break c}c[hd>>2]=Fw(c[mf>>2]|0,32+(c[cb>>2]|0)+1|0,0)|0;if(!(c[hd>>2]|0))break d;c[c[hd>>2]>>2]=(c[hd>>2]|0)+32;iR(c[c[hd>>2]>>2]|0,c[ef>>2]|0,(c[cb>>2]|0)+1|0)|0;g=c[mf>>2]|0;if(a[(c[mf>>2]|0)+63>>0]|0){a[g+63>>0]=0;a[(c[mf>>2]|0)+71>>0]=1}else{Af=g+500|0;c[Af>>2]=(c[Af>>2]|0)+1}c[(c[hd>>2]|0)+24>>2]=c[(c[mf>>2]|0)+492>>2];c[(c[mf>>2]|0)+492>>2]=c[hd>>2];Af=(c[mf>>2]|0)+512|0;yf=c[Af+4>>2]|0;j=(c[hd>>2]|0)+8|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=(c[mf>>2]|0)+520|0;yf=c[j+4>>2]|0;Af=(c[hd>>2]|0)+16|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break d}c[ua>>2]=0;c[pd>>2]=c[(c[mf>>2]|0)+492>>2];while(1){if(!(c[pd>>2]|0))break;if(!(Td(c[c[pd>>2]>>2]|0,c[ef>>2]|0)|0))break;c[ua>>2]=(c[ua>>2]|0)+1;c[pd>>2]=c[(c[pd>>2]|0)+24>>2]}if(!(c[pd>>2]|0)){Af=c[lf>>2]|0;c[Ce>>2]=c[ef>>2];SH(Af,40793,Ce);c[rf>>2]=1;break d}if((c[rb>>2]|0)==1?(c[(c[mf>>2]|0)+156>>2]|0)>0:0){SH(c[lf>>2]|0,40815,De);c[rf>>2]=5;break d}if(!(c[(c[pd>>2]|0)+24>>2]|0))g=(d[(c[mf>>2]|0)+71>>0]|0)!=0;else g=0;c[Ba>>2]=g&1;if(!((c[Ba>>2]|0)!=0&(c[rb>>2]|0)==1)){c[ua>>2]=(c[(c[mf>>2]|0)+500>>2]|0)-(c[ua>>2]|0)-1;g:do if((c[rb>>2]|0)==2){c[Aa>>2]=(c[(c[mf>>2]|0)+24>>2]&2|0)!=0&1;c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(c[(c[mf>>2]|0)+20>>2]|0))break g;c[rf>>2]=oI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[xa>>2]<<4)+4>>2]|0,516,(c[Aa>>2]|0)==0&1)|0;if(c[rf>>2]|0){k=861;break c}c[xa>>2]=(c[xa>>2]|0)+1}}else c[Aa>>2]=0;while(0);c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(c[(c[mf>>2]|0)+20>>2]|0))break;c[rf>>2]=pI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[xa>>2]<<4)+4>>2]|0,c[rb>>2]|0,c[ua>>2]|0)|0;if(c[rf>>2]|0){k=861;break c}c[xa>>2]=(c[xa>>2]|0)+1}if(c[Aa>>2]|0){Oh(c[mf>>2]|0);zg(c[mf>>2]|0);c[(c[mf>>2]|0)+24>>2]=c[(c[mf>>2]|0)+24>>2]|2}}else{Af=WH(c[lf>>2]|0,1)|0;c[rf>>2]=Af;if(Af){k=858;break c}a[(c[mf>>2]|0)+63>>0]=1;if((TH(c[lf>>2]|0)|0)==5){k=367;break c}a[(c[mf>>2]|0)+71>>0]=0;c[rf>>2]=c[(c[lf>>2]|0)+80>>2]}while(1){if((c[(c[mf>>2]|0)+492>>2]|0)==(c[pd>>2]|0))break;c[rd>>2]=c[(c[mf>>2]|0)+492>>2];c[(c[mf>>2]|0)+492>>2]=c[(c[rd>>2]|0)+24>>2];Sf(c[mf>>2]|0,c[rd>>2]|0);Af=(c[mf>>2]|0)+500|0;c[Af>>2]=(c[Af>>2]|0)+-1}g=c[pd>>2]|0;if((c[rb>>2]|0)==1){c[(c[mf>>2]|0)+492>>2]=c[g+24>>2];Sf(c[mf>>2]|0,c[pd>>2]|0);if(!(c[Ba>>2]|0)){Af=(c[mf>>2]|0)+500|0;c[Af>>2]=(c[Af>>2]|0)+-1}}else{Af=g+8|0;yf=c[Af+4>>2]|0;j=(c[mf>>2]|0)+512|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=(c[pd>>2]|0)+16|0;yf=c[j+4>>2]|0;Af=(c[mf>>2]|0)+520|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}if((c[Ba>>2]|0)==0|(c[rb>>2]|0)==2?(c[rf>>2]=nI(c[mf>>2]|0,c[rb>>2]|0,c[ua>>2]|0)|0,(c[rf>>2]|0)!=0):0){k=861;break c}break}case 1:{c[E>>2]=c[(c[pf>>2]|0)+4>>2];c[ta>>2]=c[(c[pf>>2]|0)+8>>2];if((c[E>>2]|0)==(d[(c[mf>>2]|0)+63>>0]|0)){if(c[E>>2]|0)g=(c[ta>>2]|0)!=0?40924:40967;else g=41008;SH(c[lf>>2]|0,g,Fe);c[rf>>2]=1;break d}if(c[ta>>2]|0){k=391;break c}if(!(c[E>>2]|0)){k=395;break c}if((c[(c[mf>>2]|0)+156>>2]|0)<=0){k=395;break c}SH(c[lf>>2]|0,40869,Ee);c[rf>>2]=5;break}case 2:{if((c[(c[pf>>2]|0)+8>>2]|0)!=0?(c[(c[mf>>2]|0)+24>>2]&33554432|0)!=0:0){k=407;break c}c[yb>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];if(c[yb>>2]|0){c[rf>>2]=mg(c[yb>>2]|0,c[(c[pf>>2]|0)+8>>2]|0)|0;if((c[rf>>2]&255|0)==5){k=410;break c}if(c[rf>>2]|0){k=861;break c}do if((c[(c[pf>>2]|0)+8>>2]|0)!=0?((e[(c[lf>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){if((d[(c[mf>>2]|0)+63>>0]|0)!=0?(c[(c[mf>>2]|0)+152>>2]|0)<=1:0)break;if(!(c[(c[lf>>2]|0)+104>>2]|0)){Af=(c[mf>>2]|0)+504|0;c[Af>>2]=(c[Af>>2]|0)+1;c[(c[lf>>2]|0)+104>>2]=(c[(c[mf>>2]|0)+500>>2]|0)+(c[(c[mf>>2]|0)+504>>2]|0)}c[rf>>2]=nI(c[mf>>2]|0,0,(c[(c[lf>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[rf>>2]|0))c[rf>>2]=sI(c[yb>>2]|0,c[(c[lf>>2]|0)+104>>2]|0)|0;Af=(c[mf>>2]|0)+512|0;yf=c[Af+4>>2]|0;j=(c[lf>>2]|0)+152|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=(c[mf>>2]|0)+520|0;yf=c[j+4>>2]|0;Af=(c[lf>>2]|0)+160|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}while(0);ng(c[yb>>2]|0,1,pa);c[la>>2]=c[(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[pa>>2]=0;c[la>>2]=0}if(d[(c[pf>>2]|0)+3>>0]|0){if((c[pa>>2]|0)==(c[(c[pf>>2]|0)+12>>2]|0)?(c[la>>2]|0)==(c[(c[pf>>2]|0)+16>>2]|0):0)break d;Sf(c[mf>>2]|0,c[(c[lf>>2]|0)+44>>2]|0);Af=nh(c[mf>>2]|0,41056)|0;c[(c[lf>>2]|0)+44>>2]=Af;if((c[c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[pa>>2]|0))rj(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9|8;c[rf>>2]=17}break}case 51:{c[ha>>2]=c[(c[pf>>2]|0)+4>>2];c[ga>>2]=c[(c[pf>>2]|0)+12>>2];ng(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4)+4>>2]|0,c[ga>>2]|0,qa);c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;yf=c[qa>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 52:{c[Ac>>2]=(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);c[rf>>2]=yg(c[(c[Ac>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,c[(c[pf>>2]|0)+12>>2]|0)|0;g=c[pf>>2]|0;if((c[(c[pf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[Ac>>2]|0)+12>>2]|0)+76>>0]=c[(c[pf>>2]|0)+12>>2]}else{c[c[(c[Ac>>2]|0)+12>>2]>>2]=c[g+12>>2];Af=(c[mf>>2]|0)+24|0;c[Af>>2]=c[Af>>2]|2}if((c[(c[pf>>2]|0)+4>>2]|0)==1){Oh(c[mf>>2]|0);Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9}break}case 53:{c[qc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[qc>>2]|0)!=0?(c[(c[qc>>2]|0)+8>>2]|0)==(c[(c[pf>>2]|0)+8>>2]|0):0)k=453;else k=438;break}case 55:case 54:{k=438;break}case 57:case 56:{c[vc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[vc>>2]|0)){k=860;break a}a[(c[vc>>2]|0)+2>>0]=1;Af=(c[vc>>2]|0)+5|0;a[Af>>0]=a[Af>>0]&-2|1;c[rf>>2]=Xj(c[c[mf>>2]>>2]|0,0,c[mf>>2]|0,(c[vc>>2]|0)+20|0,5|d[(c[pf>>2]|0)+3>>0],1054)|0;if(!(c[rf>>2]|0))c[rf>>2]=mg(c[(c[vc>>2]|0)+20>>2]|0,1)|0;do if(!(c[rf>>2]|0)){Af=c[(c[pf>>2]|0)+16>>2]|0;c[Uc>>2]=Af;g=c[(c[vc>>2]|0)+20>>2]|0;if(!Af){c[rf>>2]=uI(g,1,4,0,c[(c[vc>>2]|0)+16>>2]|0)|0;a[(c[vc>>2]|0)+4>>0]=1;break}c[rf>>2]=wI(g,Hd,2|d[(c[pf>>2]|0)+3>>0])|0;if(!(c[rf>>2]|0)){c[(c[vc>>2]|0)+24>>2]=c[Uc>>2];c[rf>>2]=uI(c[(c[vc>>2]|0)+20>>2]|0,c[Hd>>2]|0,4,c[Uc>>2]|0,c[(c[vc>>2]|0)+16>>2]|0)|0}a[(c[vc>>2]|0)+4>>0]=0}while(0);Af=(c[vc>>2]|0)+5|0;a[Af>>0]=a[Af>>0]&-5|((d[(c[pf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 58:{c[wc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[wc>>2]|0)){k=860;break a}c[(c[wc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+16>>2];c[rf>>2]=xI(c[mf>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,c[wc>>2]|0)|0;break}case 59:{c[Db>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];j=(c[Db>>2]|0)+32|0;Af=j;yf=c[Af>>2]|0;Af=c[Af+4>>2]|0;f=gR(yf|0,Af|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((yf|0)==0&(Af|0)==0)k=15;break}case 60:{c[xc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[xc>>2]|0)){k=860;break a}a[(c[xc>>2]|0)+2>>0]=1;c[(c[xc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];a[(c[xc>>2]|0)+4>>0]=1;break}case 61:{yI(c[lf>>2]|0,c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]=0;break}case 66:case 65:case 64:case 63:{c[Eb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[kb>>2]=d[c[pf>>2]>>0];c[I>>2]=0;a[(c[Eb>>2]|0)+2>>0]=0;if(a[(c[Eb>>2]|0)+4>>0]|0){c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Qc>>2]|0)+8>>1]&14|0)==2)xh(c[Qc>>2]|0,0);yf=Zg(c[Qc>>2]|0)|0;Af=ma;c[Af>>2]=yf;c[Af+4>>2]=C;do if(!(e[(c[Qc>>2]|0)+8>>1]&4)){if(!(e[(c[Qc>>2]|0)+8>>1]&8)){k=15;break d}Af=ma;if(+h[c[Qc>>2]>>3]<+((c[Af>>2]|0)>>>0)+4294967296.0*+(c[Af+4>>2]|0)){if(c[kb>>2]&1)break;c[kb>>2]=(c[kb>>2]|0)+-1;break}Af=ma;if(+h[c[Qc>>2]>>3]>+((c[Af>>2]|0)>>>0)+4294967296.0*+(c[Af+4>>2]|0)?(c[kb>>2]&1|0)==1:0)c[kb>>2]=(c[kb>>2]|0)+1}while(0);k=ma;c[rf>>2]=eF(c[(c[Eb>>2]|0)+16>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,0,Wd)|0;k=ma;yf=c[k+4>>2]|0;Af=(c[Eb>>2]|0)+40|0;c[Af>>2]=c[k>>2];c[Af+4>>2]=yf;if(c[rf>>2]|0){k=861;break c}else k=489}else{if(zI(c[(c[Eb>>2]|0)+16>>2]|0,2)|0)c[I>>2]=1;c[Za>>2]=c[(c[pf>>2]|0)+16>>2];c[Kd>>2]=c[(c[Eb>>2]|0)+24>>2];b[Kd+8>>1]=c[Za>>2];a[Kd+10>>0]=(1&(c[kb>>2]|0)-63|0)!=0?-1:1;c[Kd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Kd+4>>2]|0)+8>>1]&16384)Vg(c[Kd+4>>2]|0)|0;a[Kd+14>>0]=0;c[rf>>2]=eF(c[(c[Eb>>2]|0)+16>>2]|0,Kd,0,0,0,Wd)|0;if(c[rf>>2]|0){k=861;break c}if(!((c[I>>2]|0)!=0?(d[Kd+14>>0]|0)==0:0))k=489}do if((k|0)==489){k=0;a[(c[Eb>>2]|0)+3>>0]=0;c[(c[Eb>>2]|0)+56>>2]=0;g=c[Wd>>2]|0;if((c[kb>>2]|0)>=65){if((g|0)>=0?!((c[Wd>>2]|0)==0&(c[kb>>2]|0)==66):0){c[Wd>>2]=0;break}c[Wd>>2]=0;c[rf>>2]=TE(c[(c[Eb>>2]|0)+16>>2]|0,Wd)|0;if(c[rf>>2]|0){k=861;break c}else break}else{if((g|0)<=0?!((c[Wd>>2]|0)==0&(c[kb>>2]|0)==63):0){c[Wd>>2]=AI(c[(c[Eb>>2]|0)+16>>2]|0)|0;break}c[Wd>>2]=0;c[rf>>2]=UE(c[(c[Eb>>2]|0)+16>>2]|0,Wd)|0;if(c[rf>>2]|0){k=861;break c}else break}}while(0);if(!(c[Wd>>2]|0)){if(c[I>>2]|0)c[pf>>2]=(c[pf>>2]|0)+20}else k=15;break}case 69:case 68:case 67:{c[Fb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Lc>>2]=0;g=c[(c[Fb>>2]|0)+24>>2]|0;if((c[(c[pf>>2]|0)+16>>2]|0)>0){c[Ld>>2]=g;b[Ld+8>>1]=c[(c[pf>>2]|0)+16>>2];c[Ld+4>>2]=c[Qc>>2];c[ya>>2]=0;while(1){if((c[ya>>2]|0)>=(e[Ld+8>>1]|0))break;if(e[(c[Ld+4>>2]|0)+((c[ya>>2]|0)*40|0)+8>>1]&16384)Vg((c[Ld+4>>2]|0)+((c[ya>>2]|0)*40|0)|0)|0;c[ya>>2]=(c[ya>>2]|0)+1}c[Mc>>2]=Ld}else{c[Mc>>2]=cF(g,r,183,Lc)|0;if(!(c[Mc>>2]|0)){k=860;break a}if(e[(c[Qc>>2]|0)+8>>1]&16384)Vg(c[Qc>>2]|0)|0;dF(c[(c[Fb>>2]|0)+24>>2]|0,c[(c[Qc>>2]|0)+12>>2]|0,c[(c[Qc>>2]|0)+16>>2]|0,c[Mc>>2]|0)}a[(c[Mc>>2]|0)+10>>0]=0;c[qe>>2]=0;h:do if((d[c[pf>>2]>>0]|0)==67){c[ya>>2]=0;while(1){if((c[ya>>2]|0)>=(e[(c[Mc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Mc>>2]|0)+4>>2]|0)+((c[ya>>2]|0)*40|0)+8>>1]&1)break;c[ya>>2]=(c[ya>>2]|0)+1}c[qe>>2]=1}while(0);c[rf>>2]=eF(c[(c[Fb>>2]|0)+16>>2]|0,c[Mc>>2]|0,0,0,0,Xd)|0;Sf(c[mf>>2]|0,c[Lc>>2]|0);if(!(c[rf>>2]|0)){c[(c[Fb>>2]|0)+28>>2]=c[Xd>>2];c[t>>2]=(c[Xd>>2]|0)==0&1;a[(c[Fb>>2]|0)+2>>0]=1-(c[t>>2]|0);a[(c[Fb>>2]|0)+3>>0]=0;c[(c[Fb>>2]|0)+56>>2]=0;if((d[c[pf>>2]>>0]|0)==69)if(c[t>>2]|0){k=15;break d}else break d;else if((c[qe>>2]|0)==0&(c[t>>2]|0)!=0)break d;else{k=15;break d}}break}case 70:{c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[hc>>2]=c[(c[Gb>>2]|0)+16>>2];c[Yd>>2]=0;Af=c[Qc>>2]|0;yf=c[Af+4>>2]|0;j=na;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;j=na;c[rf>>2]=eF(c[hc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Yd)|0;j=na;yf=c[j+4>>2]|0;Af=(c[Gb>>2]|0)+40|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;a[(c[Gb>>2]|0)+2>>0]=0;c[(c[Gb>>2]|0)+56>>2]=0;a[(c[Gb>>2]|0)+3>>0]=0;c[(c[Gb>>2]|0)+28>>2]=c[Yd>>2];if(c[Yd>>2]|0)if(!(c[(c[pf>>2]|0)+8>>2]|0))c[rf>>2]=Lj(78267)|0;else k=15;break}case 73:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;Af=(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;yf=Af;j=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=gR(j|0,yf|0,1,0)|0;c[Af>>2]=f;c[Af+4>>2]=C;Af=c[id>>2]|0;c[Af>>2]=j;c[Af+4>>2]=yf;break}case 74:{Af=ue;c[Af>>2]=0;c[Af+4>>2]=0;c[Zd>>2]=0;c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Hb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Hb>>2]|0)+5>>0]|0)>>>1&1)){c[rf>>2]=BI(c[(c[Hb>>2]|0)+16>>2]|0,Zd)|0;if(c[rf>>2]|0){k=861;break c}if(c[Zd>>2]|0){Af=ue;c[Af>>2]=1;c[Af+4>>2]=0;break}c[rf>>2]=sH(c[(c[Hb>>2]|0)+16>>2]|0,ue)|0;Af=ue;yf=c[Af+4>>2]|0;if((yf|0)>2147483647|(yf|0)==2147483647&(c[Af>>2]|0)>>>0>=4294967295){Af=(c[Hb>>2]|0)+5|0;a[Af>>0]=a[Af>>0]&-3|2;break}else{yf=ue;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;Af=ue;c[Af>>2]=yf;c[Af+4>>2]=C;break}}while(0);if(c[(c[pf>>2]|0)+12>>2]|0){if(c[(c[lf>>2]|0)+176>>2]|0){c[Hc>>2]=c[(c[lf>>2]|0)+176>>2];while(1){if(!(c[(c[Hc>>2]|0)+4>>2]|0))break;c[Hc>>2]=c[(c[Hc>>2]|0)+4>>2]}c[Xc>>2]=(c[(c[Hc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)}else c[Xc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);wx(c[Xc>>2]|0)|0;Af=c[Xc>>2]|0;if((c[Af>>2]|0)==-1?(c[Af+4>>2]|0)==2147483647:0){k=542;break c}if((d[(c[Hb>>2]|0)+5>>0]|0)>>>1&1){k=542;break c}f=ue;yf=c[f>>2]|0;f=c[f+4>>2]|0;Af=c[Xc>>2]|0;Af=gR(c[Af>>2]|0,c[Af+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&yf>>>0>>0){yf=c[Xc>>2]|0;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;Af=ue;c[Af>>2]=yf;c[Af+4>>2]=C}j=ue;yf=c[j+4>>2]|0;Af=c[Xc>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}if((d[(c[Hb>>2]|0)+5>>0]|0)>>>1&1){c[D>>2]=0;do{Sd(8,ue);j=ue;Af=c[j+4>>2]&1073741823;yf=ue;c[yf>>2]=c[j>>2];c[yf+4>>2]=Af;yf=ue;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;Af=ue;c[Af>>2]=yf;c[Af+4>>2]=C;Af=ue;Af=eF(c[(c[Hb>>2]|0)+16>>2]|0,0,c[Af>>2]|0,c[Af+4>>2]|0,0,Zd)|0;c[rf>>2]=Af;if(!((Af|0)==0&(c[Zd>>2]|0)==0))break;Af=(c[D>>2]|0)+1|0;c[D>>2]=Af}while((Af|0)<100);if((c[rf>>2]|0)==0&(c[Zd>>2]|0)==0){k=551;break c}}a[(c[Hb>>2]|0)+3>>0]=0;c[(c[Hb>>2]|0)+56>>2]=0;j=ue;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break}case 84:case 75:{c[yc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Ib>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];g=c[(c[pf>>2]|0)+12>>2]|0;if((d[c[pf>>2]>>0]|0)==75){c[Rc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Rc>>2]|0;yf=c[j+4>>2]|0;Af=oa;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}else{Af=oa;c[Af>>2]=g;c[Af+4>>2]=((g|0)<0)<<31>>31}if(d[(c[pf>>2]|0)+3>>0]&1){Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1}if(d[(c[pf>>2]|0)+3>>0]&2){yf=oa;j=c[yf>>2]|0;yf=c[yf+4>>2]|0;Af=nf;c[Af>>2]=j;c[Af+4>>2]=yf;Af=(c[mf>>2]|0)+32|0;c[Af>>2]=j;c[Af+4>>2]=yf}if(e[(c[yc>>2]|0)+8>>1]&1){c[(c[yc>>2]|0)+16>>2]=0;c[(c[yc>>2]|0)+12>>2]=0}if(d[(c[pf>>2]|0)+3>>0]&16)g=c[(c[Ib>>2]|0)+28>>2]|0;else g=0;c[le>>2]=g;if(e[(c[yc>>2]|0)+8>>1]&16384)c[hb>>2]=c[c[yc>>2]>>2];else c[hb>>2]=0;Af=oa;c[rf>>2]=CI(c[(c[Ib>>2]|0)+16>>2]|0,0,c[Af>>2]|0,c[Af+4>>2]|0,c[(c[yc>>2]|0)+16>>2]|0,c[(c[yc>>2]|0)+12>>2]|0,c[hb>>2]|0,(d[(c[pf>>2]|0)+3>>0]&8|0)!=0&1,c[le>>2]|0)|0;a[(c[Ib>>2]|0)+3>>0]=0;c[(c[Ib>>2]|0)+56>>2]=0;if(((c[rf>>2]|0)==0?(c[(c[mf>>2]|0)+212>>2]|0)!=0:0)?(c[(c[pf>>2]|0)+16>>2]|0)!=0:0){c[Ze>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(a[(c[Ib>>2]|0)+1>>0]<<4)>>2];c[jf>>2]=c[(c[pf>>2]|0)+16>>2];c[ob>>2]=(d[(c[pf>>2]|0)+3>>0]&4|0)!=0?23:18;Af=oa;Xb[c[(c[mf>>2]|0)+212>>2]&255](c[(c[mf>>2]|0)+208>>2]|0,c[ob>>2]|0,c[Ze>>2]|0,c[jf>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)}break}case 95:{c[Jb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((c[(c[mf>>2]|0)+212>>2]|0)!=0?(c[(c[pf>>2]|0)+16>>2]|0)!=0:0)g=(d[(c[Jb>>2]|0)+4>>0]|0)!=0;else g=0;a[R>>0]=g&1;if((d[(c[pf>>2]|0)+3>>0]|0)!=0?(d[R>>0]|0)!=0:0)sH(c[(c[Jb>>2]|0)+16>>2]|0,(c[Jb>>2]|0)+40|0)|0;c[rf>>2]=DI(c[(c[Jb>>2]|0)+16>>2]|0,a[(c[pf>>2]|0)+3>>0]|0)|0;c[(c[Jb>>2]|0)+56>>2]=0;if((c[rf>>2]|0)==0?(d[R>>0]|0)!=0:0){Af=(c[Jb>>2]|0)+40|0;Xb[c[(c[mf>>2]|0)+212>>2]&255](c[(c[mf>>2]|0)+208>>2]|0,9,c[(c[(c[mf>>2]|0)+16>>2]|0)+(a[(c[Jb>>2]|0)+1>>0]<<4)>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)}if(c[(c[pf>>2]|0)+8>>2]&1){Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1}break}case 98:{QH(c[mf>>2]|0,c[(c[lf>>2]|0)+92>>2]|0);c[(c[lf>>2]|0)+92>>2]=0;break}case 99:{c[Kb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ab>>2]=c[(c[pf>>2]|0)+16>>2];c[_d>>2]=0;c[rf>>2]=EI(c[Kb>>2]|0,c[Qc>>2]|0,c[ab>>2]|0,_d)|0;if(c[_d>>2]|0)k=15;break}case 100:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Lb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[rf>>2]=FI(c[Lb>>2]|0,c[id>>2]|0)|0;c[(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 102:case 101:{c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[Mb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ic>>2]=c[(c[Mb>>2]|0)+16>>2];g=c[ic>>2]|0;if(d[(c[Mb>>2]|0)+4>>0]|0){fI(g,Ka)|0;if((c[Ka>>2]|0)>>>0>(c[(c[mf>>2]|0)+88>>2]|0)>>>0){k=859;break c}}else{sH(g,La)|0;yf=La;f=c[yf+4>>2]|0;Af=c[(c[mf>>2]|0)+88>>2]|0;j=((Af|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[yf>>2]|0)>>>0>Af>>>0:0)){k=859;break c}c[Ka>>2]=c[La>>2]}if(tx(c[id>>2]|0,(c[Ka>>2]|0)>>>0>32?c[Ka>>2]|0:32)|0){k=860;break a}c[(c[id>>2]|0)+12>>2]=c[Ka>>2];b[(c[id>>2]|0)+8>>1]=e[(c[id>>2]|0)+8>>1]&-49664|16;g=c[ic>>2]|0;f=c[Ka>>2]|0;j=c[(c[id>>2]|0)+16>>2]|0;if(!(d[(c[Mb>>2]|0)+4>>0]|0))c[rf>>2]=tH(g,0,f,j)|0;else c[rf>>2]=Mh(g,0,f,j)|0;a[(c[id>>2]|0)+10>>0]=1;break}case 103:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Nb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Nb>>2]|0)+2>>0]|0){b[(c[id>>2]|0)+8>>1]=1;break d}g=c[Nb>>2]|0;do if(!(a[(c[Nb>>2]|0)+3>>0]|0)){f=c[Nb>>2]|0;if((d[g>>0]|0)==2){c[wd>>2]=c[c[f+16>>2]>>2];c[ad>>2]=c[c[wd>>2]>>2];c[rf>>2]=Yb[c[(c[ad>>2]|0)+48>>2]&255](c[(c[Nb>>2]|0)+16>>2]|0,xe)|0;GI(c[lf>>2]|0,c[wd>>2]|0);break}c[rf>>2]=HI(f)|0;if(c[rf>>2]|0){k=861;break c}if(a[(c[Nb>>2]|0)+2>>0]|0){b[(c[id>>2]|0)+8>>1]=1;break d}else{c[rf>>2]=sH(c[(c[Nb>>2]|0)+16>>2]|0,xe)|0;break}}else{j=g+40|0;yf=c[j+4>>2]|0;Af=xe;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}while(0);j=xe;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;break}case 104:{c[Pb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];a[(c[Pb>>2]|0)+2>>0]=1;c[(c[Pb>>2]|0)+56>>2]=0;if(!(d[c[Pb>>2]>>0]|0))pB(c[(c[Pb>>2]|0)+16>>2]|0);break}case 105:{c[Qb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[jc>>2]=c[(c[Qb>>2]|0)+16>>2];c[$d>>2]=0;c[rf>>2]=BI(c[jc>>2]|0,$d)|0;a[(c[Qb>>2]|0)+2>>0]=c[$d>>2];a[(c[Qb>>2]|0)+3>>0]=0;c[(c[Qb>>2]|0)+56>>2]=0;c[(c[Qb>>2]|0)+28>>2]=c[(c[pf>>2]|0)+12>>2];if((c[$d>>2]|0)!=0?(c[(c[pf>>2]|0)+8>>2]|0)>0:0)k=15;break}case 107:case 106:{k=(c[lf>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=609;break}case 108:{k=609;break}case 3:{c[Vb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ce>>2]=0;c[rf>>2]=KI(c[mf>>2]|0,c[Vb>>2]|0,ce)|0;k=616;break}case 5:case 4:{if(c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2]|0)k=615;break}case 7:case 6:{k=615;break}case 110:case 109:{c[_b>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if(d[(c[pf>>2]|0)+3>>0]&1){Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1}if(e[(c[Pc>>2]|0)+8>>1]&16384)g=Vg(c[Pc>>2]|0)|0;else g=0;c[rf>>2]=g;if(!(c[rf>>2]|0)){if((d[c[pf>>2]>>0]|0)==109){c[rf>>2]=LI(c[_b>>2]|0,c[Pc>>2]|0)|0;break d}c[$a>>2]=c[(c[Pc>>2]|0)+12>>2];c[cf>>2]=c[(c[Pc>>2]|0)+16>>2];g=c[$a>>2]|0;if(d[(c[pf>>2]|0)+3>>0]&16)f=c[(c[_b>>2]|0)+28>>2]|0;else f=0;c[rf>>2]=CI(c[(c[_b>>2]|0)+16>>2]|0,c[cf>>2]|0,g,((g|0)<0)<<31>>31,19266,0,0,c[(c[pf>>2]|0)+12>>2]|0,f)|0;c[(c[_b>>2]|0)+56>>2]=0}break}case 111:{c[$b>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[lc>>2]=c[(c[$b>>2]|0)+16>>2];c[Md>>2]=c[(c[$b>>2]|0)+24>>2];b[Md+8>>1]=c[(c[pf>>2]|0)+12>>2];a[Md+10>>0]=0;c[Md+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);c[rf>>2]=eF(c[lc>>2]|0,Md,0,0,0,de)|0;if((c[rf>>2]|0)==0&(c[de>>2]|0)==0)c[rf>>2]=DI(c[lc>>2]|0,4)|0;c[(c[$b>>2]|0)+56>>2]=0;break}case 113:case 112:{c[ac>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[rf>>2]=HI(c[ac>>2]|0)|0;if(c[rf>>2]|0){k=861;break c}if(a[(c[ac>>2]|0)+2>>0]|0){fh((c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0);break d}Af=ge;c[Af>>2]=0;c[Af+4>>2]=0;c[rf>>2]=MI(c[mf>>2]|0,c[(c[ac>>2]|0)+16>>2]|0,ge)|0;if(c[rf>>2]|0){k=861;break c}if((d[c[pf>>2]>>0]|0)==112){c[qd>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+12>>2]<<2)>>2];a[(c[qd>>2]|0)+2>>0]=0;j=ge;yf=c[j+4>>2]|0;Af=(c[qd>>2]|0)+40|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;a[(c[qd>>2]|0)+3>>0]=1;c[(c[qd>>2]|0)+52>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[qd>>2]|0)+48>>2]=c[ac>>2];break d}else{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;j=ge;yf=c[j+4>>2]|0;Af=c[id>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;b[(c[id>>2]|0)+8>>1]=4;break d}}case 117:case 116:case 115:case 114:{c[bc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Nd>>2]=c[(c[bc>>2]|0)+24>>2];b[Nd+8>>1]=c[(c[pf>>2]|0)+16>>2];g=Nd+10|0;if((d[c[pf>>2]>>0]|0)<116)a[g>>0]=-1;else a[g>>0]=0;c[Nd+4>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[ee>>2]=0;c[rf>>2]=NI(c[mf>>2]|0,c[bc>>2]|0,Nd,ee)|0;g=c[ee>>2]|0;if(!(d[c[pf>>2]>>0]&1))c[ee>>2]=0-g;else c[ee>>2]=g+1;if((c[ee>>2]|0)>0)k=15;break}case 118:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=1;if((c[(c[mf>>2]|0)+152>>2]|0)>((c[(c[mf>>2]|0)+164>>2]|0)+1|0)){c[rf>>2]=6;a[(c[lf>>2]|0)+86>>0]=2;break d}c[ja>>2]=c[(c[pf>>2]|0)+12>>2];c[ra>>2]=0;c[rf>>2]=OI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,ra)|0;b[(c[id>>2]|0)+8>>1]=4;yf=c[ra>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;if((c[rf>>2]|0)==0&(c[ra>>2]|0)!=0){PI(c[mf>>2]|0,c[ja>>2]|0,c[ra>>2]|0,c[(c[pf>>2]|0)+4>>2]|0);a[fe>>0]=(c[ja>>2]|0)+1}break}case 119:{c[Ta>>2]=0;c[rf>>2]=QI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,(c[(c[pf>>2]|0)+12>>2]|0)!=0?Ta:0)|0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(Af=(c[lf>>2]|0)+92|0,c[Af>>2]=(c[Af>>2]|0)+(c[Ta>>2]|0),(c[(c[pf>>2]|0)+12>>2]|0)>0):0){yf=c[Ta>>2]|0;Af=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0;j=Af;yf=gR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C}break}case 120:{c[cc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if((d[c[cc>>2]>>0]|0)==1){RI(c[mf>>2]|0,c[(c[cc>>2]|0)+16>>2]|0);break d}else{c[rf>>2]=SI(c[(c[cc>>2]|0)+16>>2]|0)|0;break d}}case 122:case 121:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Id>>2]=0;c[Cc>>2]=(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4);if((d[c[pf>>2]>>0]|0)==122)c[Q>>2]=1;else c[Q>>2]=2;c[rf>>2]=wI(c[(c[Cc>>2]|0)+4>>2]|0,Id,c[Q>>2]|0)|0;yf=c[Id>>2]|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 123:{c[ka>>2]=c[(c[pf>>2]|0)+4>>2];c[df>>2]=(c[ka>>2]|0)==1?20769:20788;c[za>>2]=c[mf>>2];c[za+8>>2]=c[(c[pf>>2]|0)+4>>2];c[za+4>>2]=(c[lf>>2]|0)+44;Af=c[mf>>2]|0;j=c[df>>2]|0;yf=c[(c[pf>>2]|0)+16>>2]|0;c[Ge>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[ka>>2]<<4)>>2];c[Ge+4>>2]=j;c[Ge+8>>2]=yf;c[gf>>2]=Bh(Af,41084,Ge)|0;if(!(c[gf>>2]|0))c[rf>>2]=7;else{a[(c[mf>>2]|0)+140+5>>0]=1;c[za+12>>2]=0;c[rf>>2]=$e(c[mf>>2]|0,c[gf>>2]|0,140,za,0)|0;if(!(c[rf>>2]|0))c[rf>>2]=c[za+12>>2];Sf(c[mf>>2]|0,c[gf>>2]|0);a[(c[mf>>2]|0)+140+5>>0]=0}if(c[rf>>2]|0)zg(c[mf>>2]|0);if((c[rf>>2]|0)==7){k=860;break a}break}case 124:{c[rf>>2]=Aj(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)|0;break}case 125:{TI(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 126:{UI(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 127:{VI(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0);break}case 128:{c[eb>>2]=c[(c[pf>>2]|0)+8>>2];c[q>>2]=Fw(c[mf>>2]|0,(c[eb>>2]|0)+1<<2,0)|0;if(!(c[q>>2]|0)){k=860;break a}c[Jd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Ea>>2]=0;while(1){g=c[Ea>>2]|0;if((c[Ea>>2]|0)>=(c[eb>>2]|0))break;Af=Zg((c[Oc>>2]|0)+(g*40|0)|0)|0;c[(c[q>>2]|0)+(c[Ea>>2]<<2)>>2]=Af;c[Ea>>2]=(c[Ea>>2]|0)+1}c[(c[q>>2]|0)+(g<<2)>>2]=0;c[Te>>2]=WI(c[(c[(c[mf>>2]|0)+16>>2]|0)+(d[(c[pf>>2]|0)+3>>0]<<4)+4>>2]|0,c[q>>2]|0,c[eb>>2]|0,c[c[Jd>>2]>>2]|0,Wa)|0;Sf(c[mf>>2]|0,c[q>>2]|0);yf=c[Wa>>2]|0;Af=c[Jd>>2]|0;j=Af;yf=fR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;fh(c[Oc>>2]|0);if(c[Wa>>2]|0){if(!(c[Te>>2]|0)){k=860;break a}dh(c[Oc>>2]|0,c[Te>>2]|0,-1,1,148)|0}Zt(c[Oc>>2]|0,d[H>>0]|0)|0;break}case 129:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&32|0)==0?(XI(c[Oc>>2]|0),(e[(c[Oc>>2]|0)+8>>1]&32|0)==0):0){k=860;break a}Af=c[Pc>>2]|0;YI(c[c[Oc>>2]>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0);break}case 130:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&32|0)!=0?(ZI(c[c[Oc>>2]>>2]|0,ye)|0)!=0:0){k=ye;eh((c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=9;break d}fh(c[Oc>>2]|0);k=8;break}case 131:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[va>>2]=c[(c[pf>>2]|0)+16>>2];if((e[(c[Oc>>2]|0)+8>>1]&32|0)==0?(XI(c[Oc>>2]|0),(e[(c[Oc>>2]|0)+8>>1]&32|0)==0):0){k=860;break a}if((c[va>>2]|0)!=0?(Af=c[Qc>>2]|0,c[J>>2]=_I(c[c[Oc>>2]>>2]|0,c[va>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)|0,(c[J>>2]|0)!=0):0){k=15;break d}if((c[va>>2]|0)>=0){Af=c[Qc>>2]|0;YI(c[c[Oc>>2]>>2]|0,c[Af>>2]|0,c[Af+4>>2]|0)}break}case 132:{c[kd>>2]=c[(c[pf>>2]|0)+16>>2];c[od>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[pf>>2]|0)+3>>0]|0){c[oe>>2]=c[(c[kd>>2]|0)+20>>2];c[Ic>>2]=c[(c[lf>>2]|0)+176>>2];while(1){if(!(c[Ic>>2]|0))break;if((c[(c[Ic>>2]|0)+28>>2]|0)==(c[oe>>2]|0))break;c[Ic>>2]=c[(c[Ic>>2]|0)+4>>2]}if(c[Ic>>2]|0)break d}if((c[(c[lf>>2]|0)+184>>2]|0)>=(c[(c[mf>>2]|0)+88+40>>2]|0)){c[rf>>2]=1;SH(c[lf>>2]|0,41148,He);break d}i:do if(!(e[(c[od>>2]|0)+8>>1]&64)){c[bb>>2]=(c[(c[kd>>2]|0)+8>>2]|0)+(c[(c[kd>>2]|0)+12>>2]|0);c[Sa>>2]=80+((c[bb>>2]|0)*40|0)+(c[(c[kd>>2]|0)+12>>2]<<2)+(c[(c[kd>>2]|0)+16>>2]|0);Af=c[Sa>>2]|0;c[Ic>>2]=ph(c[mf>>2]|0,Af,((Af|0)<0)<<31>>31)|0;if(!(c[Ic>>2]|0)){k=860;break a}Ug(c[od>>2]|0);b[(c[od>>2]|0)+8>>1]=64;c[c[od>>2]>>2]=c[Ic>>2];c[c[Ic>>2]>>2]=c[lf>>2];c[(c[Ic>>2]|0)+60>>2]=c[bb>>2];c[(c[Ic>>2]|0)+64>>2]=c[(c[kd>>2]|0)+12>>2];c[(c[Ic>>2]|0)+44>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[Ic>>2]|0)+16>>2]=c[(c[lf>>2]|0)+8>>2];c[(c[Ic>>2]|0)+52>>2]=c[(c[lf>>2]|0)+28>>2];c[(c[Ic>>2]|0)+24>>2]=c[(c[lf>>2]|0)+56>>2];c[(c[Ic>>2]|0)+40>>2]=c[(c[lf>>2]|0)+36>>2];c[(c[Ic>>2]|0)+8>>2]=c[(c[lf>>2]|0)+4>>2];c[(c[Ic>>2]|0)+48>>2]=c[(c[lf>>2]|0)+32>>2];c[(c[Ic>>2]|0)+28>>2]=c[(c[kd>>2]|0)+20>>2];c[(c[Ic>>2]|0)+20>>2]=c[(c[lf>>2]|0)+200>>2];c[(c[Ic>>2]|0)+56>>2]=c[(c[lf>>2]|0)+196>>2];c[Fc>>2]=(c[Ic>>2]|0)+80+((c[(c[Ic>>2]|0)+60>>2]|0)*40|0);c[Yc>>2]=(c[Ic>>2]|0)+80;while(1){if((c[Yc>>2]|0)==(c[Fc>>2]|0))break i;b[(c[Yc>>2]|0)+8>>1]=128;c[(c[Yc>>2]|0)+32>>2]=c[mf>>2];c[Yc>>2]=(c[Yc>>2]|0)+40}}else c[Ic>>2]=c[c[od>>2]>>2];while(0);j=(c[lf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Ic>>2]|0)+4>>2]=c[(c[lf>>2]|0)+176>>2];j=nf;yf=c[j+4>>2]|0;Af=(c[Ic>>2]|0)+32|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;c[(c[Ic>>2]|0)+68>>2]=c[(c[lf>>2]|0)+92>>2];c[(c[Ic>>2]|0)+72>>2]=c[(c[c[lf>>2]>>2]|0)+80>>2];c[(c[lf>>2]|0)+92>>2]=0;c[(c[lf>>2]|0)+176>>2]=c[Ic>>2];Af=(c[Ic>>2]|0)+80+-40|0;c[l>>2]=Af;c[(c[lf>>2]|0)+8>>2]=Af;c[(c[lf>>2]|0)+28>>2]=c[(c[Ic>>2]|0)+60>>2];c[(c[lf>>2]|0)+36>>2]=c[(c[Ic>>2]|0)+64>>2]&65535;c[(c[lf>>2]|0)+56>>2]=(c[l>>2]|0)+(((c[(c[lf>>2]|0)+28>>2]|0)+1|0)*40|0);Af=c[c[kd>>2]>>2]|0;c[n>>2]=Af;c[(c[lf>>2]|0)+4>>2]=Af;c[(c[lf>>2]|0)+32>>2]=c[(c[kd>>2]|0)+4>>2];c[(c[lf>>2]|0)+200>>2]=(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[lf>>2]|0)+36>>2]<<2);c[(c[lf>>2]|0)+196>>2]=c[(c[kd>>2]|0)+16>>2];c[pf>>2]=(c[n>>2]|0)+-20;kR(c[(c[lf>>2]|0)+200>>2]|0,0,c[(c[lf>>2]|0)+196>>2]|0)|0;break}case 134:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[Jc>>2]=c[(c[lf>>2]|0)+176>>2];c[Nc>>2]=(c[(c[Jc>>2]|0)+16>>2]|0)+(((c[(c[pf>>2]|0)+4>>2]|0)+(c[(c[(c[Jc>>2]|0)+8>>2]|0)+((c[(c[Jc>>2]|0)+44>>2]|0)*20|0)+4>>2]|0)|0)*40|0);BF(c[id>>2]|0,c[Nc>>2]|0,4096);break}case 135:{g=c[pf>>2]|0;if(c[(c[mf>>2]|0)+24>>2]&16777216){yf=c[g+8>>2]|0;Af=(c[mf>>2]|0)+520|0;j=Af;yf=gR(c[j>>2]|0,c[j+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break d}f=c[(c[pf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){Af=(c[mf>>2]|0)+512|0;yf=Af;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,f|0,j|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break d}else{Af=(c[lf>>2]|0)+144|0;yf=Af;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,f|0,j|0)|0;c[Af>>2]=yf;c[Af+4>>2]=C;break d}}case 136:if(c[(c[pf>>2]|0)+4>>2]|0){Af=(c[mf>>2]|0)+512|0;if(!((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0))break d;Af=(c[mf>>2]|0)+520|0;if((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0){k=15;break d}else break d}else{Af=(c[lf>>2]|0)+144|0;if(!((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0))break d;Af=(c[mf>>2]|0)+520|0;if((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0){k=15;break d}else break d}case 137:{if(c[(c[lf>>2]|0)+176>>2]|0){c[Kc>>2]=c[(c[lf>>2]|0)+176>>2];while(1){if(!(c[(c[Kc>>2]|0)+4>>2]|0))break;c[Kc>>2]=c[(c[Kc>>2]|0)+4>>2]}c[Oc>>2]=(c[(c[Kc>>2]|0)+16>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)}else c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);wx(c[Oc>>2]|0)|0;c[Pc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0);wx(c[Pc>>2]|0)|0;yf=c[Oc>>2]|0;f=c[yf+4>>2]|0;Af=c[Pc>>2]|0;j=c[Af+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[yf>>2]|0)>>>0<(c[Af>>2]|0)>>>0:0)){j=c[Pc>>2]|0;yf=c[j+4>>2]|0;Af=c[Oc>>2]|0;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf}break}case 138:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Af=c[Oc>>2]|0;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>0){Af=c[(c[pf>>2]|0)+12>>2]|0;k=c[Oc>>2]|0;yf=k;Af=fR(c[yf>>2]|0,c[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;c[k>>2]=Af;c[k+4>>2]=C;k=15}break}case 139:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;Af=c[Oc>>2]|0;yf=c[Af+4>>2]|0;if((yf|0)<0|(yf|0)==0&(c[Af>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Oc>>2]|0;Af=c[Qc>>2]|0;yf=c[Af+4>>2]|0;if((yf|0)>0|(yf|0)==0&(c[Af>>2]|0)>>>0>0){j=c[Qc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=gR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}Af=c[id>>2]|0;c[Af>>2]=g;c[Af+4>>2]=f;break}case 140:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Af=c[Oc>>2]|0;if((c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0){Af=c[(c[pf>>2]|0)+12>>2]|0;k=c[Oc>>2]|0;yf=k;Af=fR(c[yf>>2]|0,c[yf+4>>2]|0,Af|0,((Af|0)<0)<<31>>31|0)|0;c[k>>2]=Af;c[k+4>>2]=C;k=15}break}case 141:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);Af=c[Oc>>2]|0;yf=Af;yf=gR(c[yf>>2]|0,c[yf+4>>2]|0,-1,-1)|0;c[Af>>2]=yf;c[Af+4>>2]=C;Af=c[Oc>>2]|0;if((c[Af>>2]|0)==0&(c[Af+4>>2]|0)==0)k=15;break}case 142:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);j=c[Oc>>2]|0;Af=j;yf=c[Af>>2]|0;Af=c[Af+4>>2]|0;f=gR(yf|0,Af|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((yf|0)==0&(Af|0)==0)k=15;break}case 143:{c[Na>>2]=d[(c[pf>>2]|0)+3>>0];c[oc>>2]=Fw(c[mf>>2]|0,32+((c[Na>>2]|0)-1<<2)|0,0)|0;if(!(c[oc>>2]|0)){k=860;break a}c[(c[oc>>2]|0)+8>>2]=0;c[(c[oc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[oc>>2]|0)+16>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[oc>>2]|0)+12>>2]=c[lf>>2];a[(c[oc>>2]|0)+26>>0]=c[Na>>2];a[(c[pf>>2]|0)+1>>0]=-20;c[(c[pf>>2]|0)+16>>2]=c[oc>>2];a[c[pf>>2]>>0]=-112;k=740;break}case 144:{k=740;break}case 145:{c[_c>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[rf>>2]=EF(c[_c>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;if(c[rf>>2]|0){Af=c[lf>>2]|0;c[Je>>2]=ae(c[_c>>2]|0)|0;SH(Af,19255,Je)}Zt(c[_c>>2]|0,d[H>>0]|0)|0;if(VH(c[_c>>2]|0)|0){k=859;break c}break}case 8:{c[p>>2]=0;c[p+8>>2]=-1;c[p+4>>2]=-1;c[rf>>2]=ki(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,p+4|0,p+8|0)|0;if((c[rf>>2]|0)==5){c[rf>>2]=0;c[p>>2]=1}c[aa>>2]=0;c[$c>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[aa>>2]|0)>=3)break d;Af=c[p+(c[aa>>2]<<2)>>2]|0;eh(c[$c>>2]|0,Af,((Af|0)<0)<<31>>31);c[aa>>2]=(c[aa>>2]|0)+1;c[$c>>2]=(c[$c>>2]|0)+40}}case 9:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[F>>2]=c[(c[pf>>2]|0)+12>>2];c[Ab>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[jd>>2]=Of(c[Ab>>2]|0)|0;c[G>>2]=qg(c[jd>>2]|0)|0;if((c[F>>2]|0)==-1)c[F>>2]=c[G>>2];if(!($I(c[jd>>2]|0)|0))c[F>>2]=c[G>>2];c[af>>2]=Fi(c[jd>>2]|0,1)|0;do if((c[F>>2]|0)==5){if((If(c[af>>2]|0)|0)!=0?(aJ(c[jd>>2]|0)|0)!=0:0)break;c[F>>2]=c[G>>2]}while(0);do if((c[F>>2]|0)!=(c[G>>2]|0)?(c[G>>2]|0)==5|(c[F>>2]|0)==5:0){if((a[(c[mf>>2]|0)+63>>0]|0)!=0?(c[(c[mf>>2]|0)+152>>2]|0)<=1:0){if((c[G>>2]|0)==5){c[rf>>2]=bJ(c[jd>>2]|0)|0;if(!(c[rf>>2]|0))cJ(c[jd>>2]|0,c[F>>2]|0)|0}else if((c[G>>2]|0)==4)cJ(c[jd>>2]|0,2)|0;if(c[rf>>2]|0)break;c[rf>>2]=Ag(c[Ab>>2]|0,(c[F>>2]|0)==5?2:1)|0;break}c[rf>>2]=1;Af=c[lf>>2]|0;c[Ke>>2]=(c[F>>2]|0)==5?41185:41190;SH(Af,41197,Ke);break d}while(0);if(c[rf>>2]|0)c[F>>2]=c[G>>2];c[F>>2]=cJ(c[jd>>2]|0,c[F>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=2562;Af=RB(c[F>>2]|0)|0;c[(c[id>>2]|0)+16>>2]=Af;Af=If(c[(c[id>>2]|0)+16>>2]|0)|0;c[(c[id>>2]|0)+12>>2]=Af;a[(c[id>>2]|0)+10>>0]=1;Zt(c[id>>2]|0,d[H>>0]|0)|0;break}case 10:{c[rf>>2]=dJ((c[lf>>2]|0)+44|0,c[mf>>2]|0)|0;break}case 146:{c[Bb>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[rf>>2]=eJ(c[Bb>>2]|0)|0;if((c[rf>>2]|0)==101){c[rf>>2]=0;k=15}break}case 147:if(c[(c[pf>>2]|0)+4>>2]|0){Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9|8;break d}else{Oh(c[mf>>2]|0);break d}case 148:{a[Ca>>0]=c[(c[pf>>2]|0)+12>>2];if((d[Ca>>0]|0)==0?0!=(c[(c[mf>>2]|0)+24>>2]&16384|0):0)break d;c[qb>>2]=c[(c[pf>>2]|0)+4>>2];c[rf>>2]=fJ(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[qb>>2]<<4)+4>>2]|0,c[(c[pf>>2]|0)+8>>2]|0,a[Ca>>0]|0)|0;if((c[rf>>2]&255|0)==6){c[Ue>>2]=c[(c[pf>>2]|0)+16>>2];Af=c[lf>>2]|0;c[Le>>2]=c[Ue>>2];SH(Af,41249,Le)}break}case 149:{c[ud>>2]=c[(c[pf>>2]|0)+16>>2];c[rf>>2]=gJ(c[mf>>2]|0,c[ud>>2]|0)|0;if(c[ud>>2]|0)GI(c[lf>>2]|0,c[(c[ud>>2]|0)+8>>2]|0);break}case 150:{g=ke;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ke+32>>2]=c[mf>>2];c[rf>>2]=gh(ke,(c[l>>2]|0)+((c[(c[pf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[hf>>2]=ae(ke)|0;if(c[hf>>2]|0)c[rf>>2]=hJ(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[hf>>2]|0,(c[lf>>2]|0)+44|0)|0;Ug(ke);break}case 151:{Af=(c[mf>>2]|0)+164|0;c[Af>>2]=(c[Af>>2]|0)+1;c[rf>>2]=iJ(c[mf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[(c[pf>>2]|0)+16>>2]|0)|0;Af=(c[mf>>2]|0)+164|0;c[Af>>2]=(c[Af>>2]|0)+-1;break}case 152:{c[rc>>2]=0;c[sd>>2]=0;c[xd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if((c[xd>>2]|0)!=0?(c[c[xd>>2]>>2]|0)!=0:0){c[bd>>2]=c[c[xd>>2]>>2];c[rf>>2]=Yb[c[(c[bd>>2]|0)+24>>2]&255](c[xd>>2]|0,sd)|0;GI(c[lf>>2]|0,c[xd>>2]|0);if(c[rf>>2]|0)break d;c[c[sd>>2]>>2]=c[xd>>2];c[rc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[rc>>2]|0)){k=804;break c}c[(c[rc>>2]|0)+16>>2]=c[sd>>2];Af=(c[xd>>2]|0)+4|0;c[Af>>2]=(c[Af>>2]|0)+1;break d}c[rf>>2]=6;break}case 11:{c[ld>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[xb>>2]=(c[ld>>2]|0)+40;c[sc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[td>>2]=c[(c[sc>>2]|0)+16>>2];c[yd>>2]=c[c[td>>2]>>2];c[cd>>2]=c[c[yd>>2]>>2];c[Oa>>2]=c[c[xb>>2]>>2];c[sa>>2]=c[c[ld>>2]>>2];c[Ud>>2]=0;c[u>>2]=c[(c[lf>>2]|0)+12>>2];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[Oa>>2]|0))break;c[(c[u>>2]|0)+(c[T>>2]<<2)>>2]=(c[xb>>2]|0)+(((c[T>>2]|0)+1|0)*40|0);c[T>>2]=(c[T>>2]|0)+1}c[rf>>2]=Zb[c[(c[cd>>2]|0)+32>>2]&255](c[td>>2]|0,c[sa>>2]|0,c[(c[pf>>2]|0)+16>>2]|0,c[Oa>>2]|0,c[u>>2]|0)|0;GI(c[lf>>2]|0,c[yd>>2]|0);if(!(c[rf>>2]|0))c[Ud>>2]=Tb[c[(c[cd>>2]|0)+40>>2]&255](c[td>>2]|0)|0;a[(c[sc>>2]|0)+2>>0]=0;if(c[Ud>>2]|0)k=15;break}case 153:{c[tc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[Ec>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);if(a[(c[tc>>2]|0)+2>>0]|0){fh(c[Ec>>2]|0);break d}c[zd>>2]=c[c[(c[tc>>2]|0)+16>>2]>>2];c[dd>>2]=c[c[zd>>2]>>2];c[ie>>2]=0;c[ie+4>>2]=0;c[ie+8>>2]=0;c[ie+12>>2]=0;c[ie+16>>2]=0;c[ie+20>>2]=0;c[ie+24>>2]=0;c[ie+28>>2]=0;c[ie>>2]=c[Ec>>2];b[(c[Ec>>2]|0)+8>>1]=e[(c[Ec>>2]|0)+8>>1]&-49664|1;c[rf>>2]=Ob[c[(c[dd>>2]|0)+44>>2]&255](c[(c[tc>>2]|0)+16>>2]|0,ie,c[(c[pf>>2]|0)+8>>2]|0)|0;GI(c[lf>>2]|0,c[zd>>2]|0);if(c[ie+20>>2]|0)c[rf>>2]=c[ie+20>>2];Zt(c[Ec>>2]|0,d[H>>0]|0)|0;if(VH(c[Ec>>2]|0)|0){k=859;break c}break}case 154:{c[Vd>>2]=0;c[uc>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[uc>>2]|0)+2>>0]|0)){c[Ad>>2]=c[c[(c[uc>>2]|0)+16>>2]>>2];c[ed>>2]=c[c[Ad>>2]>>2];c[rf>>2]=Tb[c[(c[ed>>2]|0)+36>>2]&255](c[(c[uc>>2]|0)+16>>2]|0)|0;GI(c[lf>>2]|0,c[Ad>>2]|0);if(!(c[rf>>2]|0))c[Vd>>2]=Tb[c[(c[ed>>2]|0)+40>>2]&255](c[(c[uc>>2]|0)+16>>2]|0)|0;if(c[Vd>>2]|0)k=9;else k=8}break}case 155:{c[Bd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];c[gd>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0);c[rf>>2]=Zt(c[gd>>2]|0,1)|0;if(!(c[rf>>2]|0)){c[rf>>2]=Yb[c[(c[c[Bd>>2]>>2]|0)+76>>2]&255](c[Bd>>2]|0,c[(c[gd>>2]|0)+16>>2]|0)|0;GI(c[lf>>2]|0,c[Bd>>2]|0);Af=(c[lf>>2]|0)+88|0;b[Af>>1]=b[Af>>1]&-9}break}case 12:{c[Cd>>2]=c[(c[(c[pf>>2]|0)+16>>2]|0)+8>>2];if((c[Cd>>2]|0)!=0?(c[c[Cd>>2]>>2]|0)!=0:0){c[fd>>2]=c[c[Cd>>2]>>2];c[Pa>>2]=c[(c[pf>>2]|0)+8>>2];if(!(c[(c[fd>>2]|0)+52>>2]|0))break d;a[Re>>0]=a[(c[mf>>2]|0)+70>>0]|0;c[v>>2]=c[(c[lf>>2]|0)+12>>2];c[Ed>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[Pa>>2]|0))break;c[(c[v>>2]|0)+(c[V>>2]<<2)>>2]=c[Ed>>2];c[Ed>>2]=(c[Ed>>2]|0)+40;c[V>>2]=(c[V>>2]|0)+1}a[(c[mf>>2]|0)+70>>0]=a[(c[pf>>2]|0)+3>>0]|0;c[rf>>2]=Wb[c[(c[fd>>2]|0)+52>>2]&255](c[Cd>>2]|0,c[Pa>>2]|0,c[v>>2]|0,he)|0;a[(c[mf>>2]|0)+70>>0]=a[Re>>0]|0;GI(c[lf>>2]|0,c[Cd>>2]|0);if((c[rf>>2]|0)==0?(c[(c[pf>>2]|0)+4>>2]|0)!=0:0){yf=he;j=c[yf>>2]|0;yf=c[yf+4>>2]|0;Af=nf;c[Af>>2]=j;c[Af+4>>2]=yf;Af=(c[mf>>2]|0)+32|0;c[Af>>2]=j;c[Af+4>>2]=yf}if((c[rf>>2]&255|0)==19?(d[(c[(c[pf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[pf>>2]|0)+3>>0]|0)==4){c[rf>>2]=0;break d}if((d[(c[pf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[pf>>2]|0)+3>>0]|0;a[(c[lf>>2]|0)+86>>0]=g;break d}Af=(c[lf>>2]|0)+92|0;c[Af>>2]=(c[Af>>2]|0)+1;break d}c[rf>>2]=6;break}case 156:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;yf=rg(c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=0;break}case 157:{c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;c[zb>>2]=c[(c[(c[mf>>2]|0)+16>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<4)+4>>2];c[ib>>2]=0;if((c[(c[pf>>2]|0)+12>>2]|0)!=0?(c[ib>>2]=rg(c[zb>>2]|0)|0,(c[ib>>2]|0)>>>0<(c[(c[pf>>2]|0)+12>>2]|0)>>>0):0)c[ib>>2]=c[(c[pf>>2]|0)+12>>2];yf=jJ(c[zb>>2]|0,c[ib>>2]|0)|0;Af=c[id>>2]|0;c[Af>>2]=yf;c[Af+4>>2]=((yf|0)<0)<<31>>31;break}case 158:{if((c[(c[mf>>2]|0)+176>>2]|0)!=0?((e[(c[lf>>2]|0)+88>>1]|0)>>>9&1|0)==0:0){if(c[(c[pf>>2]|0)+16>>2]|0)g=c[(c[pf>>2]|0)+16>>2]|0;else g=c[(c[lf>>2]|0)+168>>2]|0;c[kf>>2]=g;if(g){c[Ve>>2]=kJ(c[lf>>2]|0,c[kf>>2]|0)|0;Rb[c[(c[mf>>2]|0)+176>>2]&255](c[(c[mf>>2]|0)+180>>2]|0,c[Ve>>2]|0);Sf(c[mf>>2]|0,c[Ve>>2]|0)}}if(c[(c[pf>>2]|0)+8>>2]|0)k=15;break}default:{}}while(0);do if((k|0)==21){k=0;c[qf>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;if(c[(c[pf>>2]|0)+4>>2]|0){k=26;break c}if(!(c[(c[lf>>2]|0)+176>>2]|0)){k=26;break c}c[Gc>>2]=c[(c[lf>>2]|0)+176>>2];c[(c[lf>>2]|0)+176>>2]=c[(c[Gc>>2]|0)+4>>2];j=(c[lf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;QH(c[mf>>2]|0,c[(c[lf>>2]|0)+92>>2]|0);c[qf>>2]=RH(c[Gc>>2]|0)|0;j=(c[mf>>2]|0)+32|0;yf=c[j+4>>2]|0;Af=nf;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;if((c[(c[pf>>2]|0)+8>>2]|0)==4)c[qf>>2]=(c[(c[(c[lf>>2]|0)+4>>2]|0)+((c[qf>>2]|0)*20|0)+8>>2]|0)-1;c[n>>2]=c[(c[lf>>2]|0)+4>>2];c[l>>2]=c[(c[lf>>2]|0)+8>>2];c[pf>>2]=(c[n>>2]|0)+((c[qf>>2]|0)*20|0)}else if((k|0)==50){k=0;c[id>>2]=UH(c[lf>>2]|0,c[pf>>2]|0)|0;b[(c[id>>2]|0)+8>>1]=2562;c[(c[id>>2]|0)+16>>2]=c[(c[pf>>2]|0)+16>>2];c[(c[id>>2]|0)+12>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[id>>2]|0)+10>>0]=a[H>>0]|0;if((a[(c[pf>>2]|0)+3>>0]|0)!=0?(c[Qc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0),Af=c[Qc>>2]|0,(c[Af>>2]|0)!=0|(c[Af+4>>2]|0)!=0):0)b[(c[id>>2]|0)+8>>1]=2576}else if((k|0)==132){k=0;c[nc>>2]=c[(c[pf>>2]|0)+16>>2];c[id>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[nc>>2]>>2]|0)!=(c[id>>2]|0)){c[c[nc>>2]>>2]=c[id>>2];c[X>>2]=(d[(c[nc>>2]|0)+26>>0]|0)-1;while(1){if((c[X>>2]|0)<0)break j;c[(c[nc>>2]|0)+28+(c[X>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[X>>2]|0)|0)*40|0);c[X>>2]=(c[X>>2]|0)+-1}}while(0);b[(c[c[nc>>2]>>2]|0)+8>>1]=e[(c[c[nc>>2]>>2]|0)+8>>1]&-49664|1;a[(c[nc>>2]|0)+25>>0]=0;Af=nf;yf=c[Af+4>>2]|0;j=(c[mf>>2]|0)+32|0;c[j>>2]=c[Af>>2];c[j+4>>2]=yf;Ub[c[(c[(c[nc>>2]|0)+4>>2]|0)+12>>2]&255](c[nc>>2]|0,d[(c[nc>>2]|0)+26>>0]|0,(c[nc>>2]|0)+28|0);j=(c[mf>>2]|0)+32|0;yf=c[j+4>>2]|0;Af=nf;c[Af>>2]=c[j>>2];c[Af+4>>2]=yf;if(a[(c[nc>>2]|0)+25>>0]|0){if(c[(c[nc>>2]|0)+20>>2]|0){Af=c[lf>>2]|0;c[Ae>>2]=ae(c[c[nc>>2]>>2]|0)|0;SH(Af,19255,Ae);c[rf>>2]=c[(c[nc>>2]|0)+20>>2]}bI(c[lf>>2]|0,c[(c[nc>>2]|0)+16>>2]|0,c[(c[pf>>2]|0)+4>>2]|0)}if((e[(c[id>>2]|0)+8>>1]&18|0)!=0?(Zt(c[c[nc>>2]>>2]|0,d[H>>0]|0)|0,(VH(c[c[nc>>2]>>2]|0)|0)!=0):0){k=859;break c}}else if((k|0)==438){k=0;if((e[(c[lf>>2]|0)+88>>1]|0)>>>3&1){c[rf>>2]=516;break}c[Ya>>2]=0;c[Tc>>2]=0;c[wb>>2]=c[(c[pf>>2]|0)+8>>2];c[ia>>2]=c[(c[pf>>2]|0)+12>>2];c[Bc>>2]=(c[(c[mf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4);c[Dd>>2]=c[(c[Bc>>2]|0)+4>>2];if((d[c[pf>>2]>>0]|0)==55){c[Se>>2]=4|d[(c[pf>>2]|0)+3>>0]&8;if((d[(c[(c[Bc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[lf>>2]|0)+87>>0]|0))a[(c[lf>>2]|0)+87>>0]=a[(c[(c[Bc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Se>>2]=0;if((d[(c[pf>>2]|0)+3>>0]&16|0)!=0?(c[Pc>>2]=(c[l>>2]|0)+((c[wb>>2]|0)*40|0),wx(c[Pc>>2]|0)|0,c[wb>>2]=c[c[Pc>>2]>>2],(c[wb>>2]|0)<2):0){k=446;break c}g=c[pf>>2]|0;if((a[(c[pf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Ya>>2]=c[(c[pf>>2]|0)+16>>2]}else{c[Tc>>2]=c[g+16>>2];c[Ya>>2]=(e[(c[Tc>>2]|0)+6>>1]|0)+(e[(c[Tc>>2]|0)+8>>1]|0)}c[qc>>2]=tI(c[lf>>2]|0,c[(c[pf>>2]|0)+4>>2]|0,c[Ya>>2]|0,c[ia>>2]|0,0)|0;if(!(c[qc>>2]|0)){k=860;break a}a[(c[qc>>2]|0)+2>>0]=1;k=(c[qc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[qc>>2]|0)+8>>2]=c[wb>>2];c[rf>>2]=uI(c[Dd>>2]|0,c[wb>>2]|0,c[Se>>2]|0,c[Tc>>2]|0,c[(c[qc>>2]|0)+16>>2]|0)|0;c[(c[qc>>2]|0)+24>>2]=c[Tc>>2];a[(c[qc>>2]|0)+4>>0]=(a[(c[pf>>2]|0)+1>>0]|0)!=-6;k=453}else if((k|0)==609){k=0;c[Sb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[be>>2]=1;g=c[Sb>>2]|0;if((d[c[Sb>>2]>>0]|0)==1)c[rf>>2]=II(g,be)|0;else{c[kc>>2]=c[g+16>>2];c[rf>>2]=JI(c[kc>>2]|0,be)|0;a[(c[Sb>>2]|0)+3>>0]=0;c[(c[Sb>>2]|0)+56>>2]=0}a[(c[Sb>>2]|0)+2>>0]=c[be>>2];if(c[be>>2]|0)k=15}else if((k|0)==615){c[Vb>>2]=c[(c[(c[lf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+4>>2]<<2)>>2];c[ce>>2]=c[(c[pf>>2]|0)+12>>2];c[rf>>2]=Yb[c[(c[pf>>2]|0)+16>>2]&255](c[(c[Vb>>2]|0)+16>>2]|0,ce)|0;k=616}else if((k|0)==740){k=0;c[pc>>2]=c[(c[pf>>2]|0)+16>>2];c[Zc>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[pc>>2]|0)+8>>2]|0)!=(c[Zc>>2]|0)){c[(c[pc>>2]|0)+8>>2]=c[Zc>>2];c[_>>2]=(d[(c[pc>>2]|0)+26>>0]|0)-1;while(1){if((c[_>>2]|0)<0)break k;c[(c[pc>>2]|0)+28+(c[_>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)+(c[_>>2]|0)|0)*40|0);c[_>>2]=(c[_>>2]|0)+-1}}while(0);Af=(c[Zc>>2]|0)+12|0;c[Af>>2]=(c[Af>>2]|0)+1;AF(pe,c[mf>>2]|0,1);c[c[pc>>2]>>2]=pe;a[(c[pc>>2]|0)+25>>0]=0;a[(c[pc>>2]|0)+24>>0]=0;Ub[c[(c[(c[pc>>2]|0)+4>>2]|0)+12>>2]&255](c[pc>>2]|0,d[(c[pc>>2]|0)+26>>0]|0,(c[pc>>2]|0)+28|0);if(a[(c[pc>>2]|0)+25>>0]|0){if(c[(c[pc>>2]|0)+20>>2]|0){Af=c[lf>>2]|0;c[Ie>>2]=ae(pe)|0;SH(Af,19255,Ie);c[rf>>2]=c[(c[pc>>2]|0)+20>>2]}Ug(pe)}if((a[(c[pc>>2]|0)+24>>0]|0)!=0?(c[_>>2]=c[(c[pf>>2]|0)+-20+4>>2],(c[_>>2]|0)!=0):0)eh((c[l>>2]|0)+((c[_>>2]|0)*40|0)|0,1,0)}while(0);do if((k|0)==15){k=0;c[pf>>2]=(c[n>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==453){k=0;vI(c[(c[qc>>2]|0)+16>>2]|0,d[(c[pf>>2]|0)+3>>0]&3)}else if((k|0)==616){c[(c[Vb>>2]|0)+56>>2]=0;g=(c[Vb>>2]|0)+2|0;if(!(c[ce>>2]|0)){a[g>>0]=0;k=(c[lf>>2]|0)+108+(d[(c[pf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=8;break}else{a[g>>0]=1;k=9;break}}while(0);if((k|0)==8){c[pf>>2]=(c[n>>2]|0)+(((c[(c[pf>>2]|0)+8>>2]|0)-1|0)*20|0);k=9}if((k|0)==9){k=0;if(c[(c[mf>>2]|0)+240>>2]|0)break b;if(((c[(c[mf>>2]|0)+296>>2]|0)!=0?(c[of>>2]|0)>>>0>=(c[db>>2]|0)>>>0:0)?(c[db>>2]=(c[of>>2]|0)+(c[(c[mf>>2]|0)+304>>2]|0)-(((c[of>>2]|0)>>>0)%((c[(c[mf>>2]|0)+304>>2]|0)>>>0)|0),(Tb[c[(c[mf>>2]|0)+296>>2]&255](c[(c[mf>>2]|0)+300>>2]|0)|0)!=0):0){k=13;break}}c[pf>>2]=(c[pf>>2]|0)+20}switch(k|0){case 13:{c[rf>>2]=9;break a}case 26:{c[(c[lf>>2]|0)+80>>2]=c[(c[pf>>2]|0)+4>>2];a[(c[lf>>2]|0)+86>>0]=c[(c[pf>>2]|0)+8>>2];c[(c[lf>>2]|0)+76>>2]=c[qf>>2];if(c[(c[lf>>2]|0)+80>>2]|0){if(a[(c[pf>>2]|0)+3>>0]|0)c[wf>>2]=c[6408+((d[(c[pf>>2]|0)+3>>0]|0)-1<<2)>>2];else c[wf>>2]=0;c[vf>>2]=40646;if((c[wf>>2]|0)!=0?(c[(c[pf>>2]|0)+16>>2]|0)!=0:0){Af=c[lf>>2]|0;yf=c[(c[pf>>2]|0)+16>>2]|0;c[ze>>2]=c[wf>>2];c[ze+4>>2]=yf;SH(Af,40670,ze)}else k=33;do if((k|0)==33){g=c[lf>>2]|0;if(c[(c[pf>>2]|0)+16>>2]|0){c[sf>>2]=c[(c[pf>>2]|0)+16>>2];SH(g,19255,sf);break}else{c[tf>>2]=c[wf>>2];SH(g,40695,tf);break}}while(0);yf=c[(c[pf>>2]|0)+4>>2]|0;Af=c[vf>>2]|0;vf=c[(c[lf>>2]|0)+168>>2]|0;wf=c[(c[lf>>2]|0)+44>>2]|0;c[uf>>2]=c[qf>>2];c[uf+4>>2]=vf;c[uf+8>>2]=wf;Rd(yf,Af,uf)}c[rf>>2]=TH(c[lf>>2]|0)|0;if((c[rf>>2]|0)==5){c[rf>>2]=5;c[(c[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}else{c[rf>>2]=(c[(c[lf>>2]|0)+80>>2]|0)!=0?1:101;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}}case 74:{c[rf>>2]=9;break a}case 77:{c[(c[lf>>2]|0)+72>>2]=(c[(c[lf>>2]|0)+72>>2]|0)+2|1;Af=(c[l>>2]|0)+((c[(c[pf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[lf>>2]|0)+20>>2]=Af;c[Wc>>2]=Af;c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[pf>>2]|0)+8>>2]|0))break;if((e[(c[Wc>>2]|0)+((c[S>>2]|0)*40|0)+8>>1]&4096|0)!=0?(_g((c[Wc>>2]|0)+((c[S>>2]|0)*40|0)|0)|0)!=0:0){k=860;break a}YH((c[Wc>>2]|0)+((c[S>>2]|0)*40|0)|0)|0;c[S>>2]=(c[S>>2]|0)+1}if(a[(c[mf>>2]|0)+65>>0]|0){k=860;break a}c[(c[lf>>2]|0)+76>>2]=(((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0)+1;c[rf>>2]=100;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 165:{c[rf>>2]=20;k=861;break}case 367:{c[(c[lf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;a[(c[mf>>2]|0)+63>>0]=0;c[rf>>2]=5;c[(c[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 391:{qI(c[mf>>2]|0,516);a[(c[mf>>2]|0)+63>>0]=1;break}case 395:{Af=WH(c[lf>>2]|0,1)|0;c[rf>>2]=Af;if(Af){Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}else{a[(c[mf>>2]|0)+63>>0]=c[E>>2];break}}case 407:{c[rf>>2]=8;k=861;break}case 410:{c[(c[lf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[(c[lf>>2]|0)+80>>2]=c[rf>>2];Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 446:{c[rf>>2]=Lj(77597)|0;k=861;break}case 542:{c[rf>>2]=13;k=861;break}case 551:{c[rf>>2]=13;k=861;break}case 804:{Tb[c[(c[bd>>2]|0)+28>>2]&255](c[sd>>2]|0)|0;k=860;break a}case 858:{Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}case 859:{SH(c[lf>>2]|0,19034,Ne);c[rf>>2]=18;break a}}if((k|0)==861){if(a[(c[mf>>2]|0)+65>>0]|0)c[rf>>2]=7;if((c[rf>>2]|0)==3082)break a;Af=c[lf>>2]|0;c[Pe>>2]=ih(c[rf>>2]|0)|0;SH(Af,19255,Pe);break a}if((TH(c[lf>>2]|0)|0)==5){c[(c[lf>>2]|0)+76>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;a[(c[mf>>2]|0)+63>>0]=1-(c[E>>2]|0);c[rf>>2]=5;c[(c[lf>>2]|0)+80>>2]=5;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}rI(c[mf>>2]|0);if(!(c[(c[lf>>2]|0)+80>>2]|0)){c[rf>>2]=101;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}else{c[rf>>2]=1;Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}}while(0);c[rf>>2]=(d[(c[mf>>2]|0)+65>>0]|0)!=0?7:9;c[(c[lf>>2]|0)+80>>2]=c[rf>>2];Af=c[lf>>2]|0;c[Qe>>2]=ih(c[rf>>2]|0)|0;SH(Af,19255,Qe)}while(0);if((k|0)==860){jh(c[mf>>2]|0);SH(c[lf>>2]|0,32392,Oe);c[rf>>2]=7}c[(c[lf>>2]|0)+80>>2]=c[rf>>2];Af=c[rf>>2]|0;wf=c[(c[lf>>2]|0)+168>>2]|0;yf=c[(c[lf>>2]|0)+44>>2]|0;c[Me>>2]=((c[pf>>2]|0)-(c[n>>2]|0)|0)/20|0;c[Me+4>>2]=wf;c[Me+8>>2]=yf;Rd(Af,41278,Me);TH(c[lf>>2]|0)|0;if((c[rf>>2]|0)==3082)jh(c[mf>>2]|0);c[rf>>2]=1;if((d[fe>>0]|0)<=0){Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}rj(c[mf>>2]|0,(d[fe>>0]|0)-1|0);Af=nf;vf=Af;vf=c[vf>>2]|0;Af=Af+4|0;Af=c[Af>>2]|0;yf=c[mf>>2]|0;yf=yf+32|0;wf=yf;c[wf>>2]=vf;yf=yf+4|0;c[yf>>2]=Af;yf=c[of>>2]|0;Af=c[lf>>2]|0;Af=Af+108|0;Af=Af+16|0;wf=c[Af>>2]|0;yf=wf+yf|0;c[Af>>2]=yf;Af=c[rf>>2]|0;i=xf;return Af|0}function LH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(kg(c[f>>2]|0),c[e>>2]=NH(Of(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+216>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+216>>2]&255](c[(c[b>>2]|0)+220>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function MH(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){jg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+66|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Sj();if(!(c[(c[e>>2]|0)+236>>2]|0)){b=Vh(c[e>>2]|0)|0;c[(c[e>>2]|0)+236>>2]=b}Wh(c[(c[e>>2]|0)+236>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);Tj();d=(c[e>>2]|0)+66|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function NH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=OH(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function OH(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function PH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+100>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)kg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function QH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+80>>2]=c[e>>2];b=(c[f>>2]|0)+84|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function RH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];kM(c[e>>2]|0);c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+48>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+24>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+40>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+80>>2]=c[(c[b>>2]|0)+72>>2];i=d;return c[(c[b>>2]|0)+44>>2]|0}function SH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Sf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+44>>2]|0);c[g>>2]=d;b=Zw(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+44>>2]=b;i=e;return}function TH(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o+24|0;l=o+20|0;h=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;f=o;c[l>>2]=b;c[m>>2]=c[c[l>>2]>>2];if(a[(c[m>>2]|0)+65>>0]|0)c[(c[l>>2]|0)+80>>2]=7;if(c[(c[l>>2]|0)+200>>2]|0)kR(c[(c[l>>2]|0)+200>>2]|0,0,c[(c[l>>2]|0)+196>>2]|0)|0;cM(c[l>>2]|0);if((c[(c[l>>2]|0)+40>>2]|0)!=-1108210269){c[k>>2]=0;n=c[k>>2]|0;i=o;return n|0}if((c[(c[l>>2]|0)+76>>2]|0)>=0?((e[(c[l>>2]|0)+88>>1]|0)>>>7&1|0)!=0:0){c[n>>2]=0;PH(c[l>>2]|0);c[g>>2]=c[(c[l>>2]|0)+80>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[f>>2]=b&1;do if((c[f>>2]|0)!=0?((c[g>>2]|0)!=9?1:((e[(c[l>>2]|0)+88>>1]|0)>>>6&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?((e[(c[l>>2]|0)+88>>1]|0)>>>5&1|0)!=0:0){c[n>>2]=2;break}qI(c[m>>2]|0,516);rI(c[m>>2]|0);a[(c[m>>2]|0)+63>>0]=1;c[(c[l>>2]|0)+92>>2]=0}while(0);if(!(c[(c[l>>2]|0)+80>>2]|0))WH(c[l>>2]|0,0)|0;if((c[(c[m>>2]|0)+308>>2]|0)>0?(c[(c[m>>2]|0)+332>>2]|0)==0:0)j=38;else if((d[(c[m>>2]|0)+63>>0]|0)!=0?(c[(c[m>>2]|0)+156>>2]|0)==(((e[(c[l>>2]|0)+88>>1]|0)>>>6&1|0)==0|0):0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?((c[f>>2]|0)!=0?1:(d[(c[l>>2]|0)+86>>0]|0)!=3):0){qI(c[m>>2]|0,0);c[(c[l>>2]|0)+92>>2]=0}else j=25;do if((j|0)==25){c[h>>2]=WH(c[l>>2]|0,1)|0;do if(c[h>>2]|0){if(!((e[(c[l>>2]|0)+88>>1]|0)>>>6&1)){c[h>>2]=787;break}c[k>>2]=1;n=c[k>>2]|0;i=o;return n|0}else c[h>>2]=dM(c[m>>2]|0,c[l>>2]|0)|0;while(0);if((c[h>>2]|0)==5?((e[(c[l>>2]|0)+88>>1]|0)>>>6&1|0)!=0:0){c[k>>2]=5;n=c[k>>2]|0;i=o;return n|0}if(c[h>>2]|0){c[(c[l>>2]|0)+80>>2]=c[h>>2];qI(c[m>>2]|0,0);c[(c[l>>2]|0)+92>>2]=0;break}else{g=(c[m>>2]|0)+512|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+520|0;c[g>>2]=0;c[g+4>>2]=0;g=(c[m>>2]|0)+24|0;c[g>>2]=c[g>>2]&-16777217;sj(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+504>>2]=0}else j=38;do if((j|0)==38?(c[n>>2]|0)==0:0){if((c[(c[l>>2]|0)+80>>2]|0)!=0?(d[(c[l>>2]|0)+86>>0]|0)!=3:0)if((d[(c[l>>2]|0)+86>>0]|0)==2){c[n>>2]=2;break}else{qI(c[m>>2]|0,516);rI(c[m>>2]|0);a[(c[m>>2]|0)+63>>0]=1;c[(c[l>>2]|0)+92>>2]=0;break}c[n>>2]=1}while(0);if((c[n>>2]|0)!=0?(c[h>>2]=XH(c[l>>2]|0,c[n>>2]|0)|0,(c[h>>2]|0)!=0):0){if(!((c[(c[l>>2]|0)+80>>2]|0)!=0?(c[(c[l>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[l>>2]|0)+80>>2]=c[h>>2];Sf(c[m>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[(c[l>>2]|0)+44>>2]=0}qI(c[m>>2]|0,516);rI(c[m>>2]|0);a[(c[m>>2]|0)+63>>0]=1;c[(c[l>>2]|0)+92>>2]=0}if((e[(c[l>>2]|0)+88>>1]|0)>>>2&1){b=c[m>>2]|0;if((c[n>>2]|0)!=2)QH(b,c[(c[l>>2]|0)+92>>2]|0);else QH(b,0);c[(c[l>>2]|0)+92>>2]=0}}if((c[(c[l>>2]|0)+76>>2]|0)>=0){n=(c[m>>2]|0)+148|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[l>>2]|0)+88>>1]|0)>>>6&1)){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[l>>2]|0)+88>>1]|0)>>>7&1){n=(c[m>>2]|0)+152|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[l>>2]|0)+40>>2]=1369188723;if(a[(c[m>>2]|0)+65>>0]|0)c[(c[l>>2]|0)+80>>2]=7;c[k>>2]=(c[(c[l>>2]|0)+80>>2]|0)==5?5:0;n=c[k>>2]|0;i=o;return n|0}function UH(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=bM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function VH(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+88>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function WH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+512|0,b=(c[h>>2]|0)+520|0,b=gR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;SH(c[f>>2]|0,36044,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function XH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+504>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=pI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=pI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+504|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=nI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=nI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+512|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+520|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function YH(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=aM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function ZH(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=$L(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function _H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=fR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=gR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=fR(0,0,h|0,C|0)|0,d=C,k=g,k=gR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=gR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function $H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=fR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=_H(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=fR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+48|0;o=n+40|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;m=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=pR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=qR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=pR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=qR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=rR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=rR(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=rR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=rR(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=rR(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(_H(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function bI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[e>>2]|0)+204;a:while(1){if(!(c[c[j>>2]>>2]|0))break;c[h>>2]=c[c[j>>2]>>2];do if((c[f>>2]|0)>=0){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>31)break;if(!(c[g>>2]&1<>2]|0)+4>>2]))break}c[j>>2]=(c[h>>2]|0)+16;continue a}while(0);if(c[(c[h>>2]|0)+12>>2]|0)Qb[c[(c[h>>2]|0)+12>>2]&255](c[(c[h>>2]|0)+8>>2]|0);c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];Sf(c[c[e>>2]>>2]|0,c[h>>2]|0)}i=k;return}function cI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=yF(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=_L(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=wF(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(wF(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function dI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(nL(c[e+16>>2]|0)|0))break;c[f>>2]=oL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=ZL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function eI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=YL(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function fI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;iF(c[f>>2]|0);c[c[e>>2]>>2]=c[(c[f>>2]|0)+16+12>>2];i=d;return 0}function gI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=YL(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function hI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[o>>2]=0;e=c[h>>2]|0;if(c[l>>2]|0)c[p>>2]=eI(e,n)|0;else c[p>>2]=gI(e,n)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[p>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];p=c[o>>2]|0;i=q;return p|0}else{c[o>>2]=XL(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}return 0}function iI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35916+(d[c>>0]|0)>>0]|0}function jI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function kI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=hR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=WL(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function lI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35916+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=hR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)iR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function mI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=gF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=gR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}ZE(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=XE(f,$q((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=XE(f,$q((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=gF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function nI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+332>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+308>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+332>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function oI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}kg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=pH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;pB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;qB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}oI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function pI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];kg(c[g>>2]|0);c[l>>2]=Kr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=VL(c[k>>2]|0)|0;a=$q((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function qI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Sj();Nf(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+140+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(bi(c[k>>2]|0)|0)c[j>>2]=1;Mg(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}du(c[f>>2]|0)|0;Tj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+140+5>>0]|0)==0:0){Oh(c[f>>2]|0);zg(c[f>>2]|0)}l=(c[f>>2]|0)+512|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+520|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-16777217;if(!(c[(c[f>>2]|0)+204>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+63>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+204>>2]&255](c[(c[f>>2]|0)+200>>2]|0);i=m;return}function rI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+492>>2]|0))break;c[e>>2]=c[b+492>>2];c[(c[d>>2]|0)+492>>2]=c[(c[e>>2]|0)+24>>2];Sf(c[d>>2]|0,c[e>>2]|0)}c[b+500>>2]=0;c[(c[d>>2]|0)+504>>2]=0;a[(c[d>>2]|0)+71>>0]=0;i=f;return}function sI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];kg(c[h>>2]|0);c[d>>2]=SL(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function tI(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;c[r>>2]=(c[(c[k>>2]|0)+8>>2]|0)+(((c[(c[k>>2]|0)+28>>2]|0)-(c[l>>2]|0)|0)*40|0);c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=QL()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0){yI(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=0}if(tx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));RL(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function uI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Lj(59722)|0;d=c[m>>2]|0;i=n;return d|0}else{kg(c[g>>2]|0);c[m>>2]=OL(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function vI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function wI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;kg(c[j>>2]|0);c[e>>2]=NL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function xI(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+48|0;j=w+44|0;k=w+40|0;u=w+36|0;l=w+32|0;m=w+28|0;t=w+24|0;s=w+20|0;p=w+16|0;o=w+12|0;v=w+8|0;n=w+4|0;q=w;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[p>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[o>>2]=136;h=(c[o>>2]|0)+(c[p>>2]|0)|0;c[t>>2]=ph(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}o=(c[t>>2]|0)+(c[o>>2]|0)|0;c[s>>2]=o;c[(c[t>>2]|0)+28>>2]=o;iR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[p>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){p=(c[s>>2]|0)+8|0;b[p>>1]=(e[p>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}p=pg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=p;c[(c[t>>2]|0)+12>>2]=p;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[n>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[n>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Sq(c[r>>2]|0)|0)){c[q>>2]=c[58];p=_(c[q>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=p;c[m>>2]=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2];if((c[m>>2]|0)<(c[q>>2]|0))c[m>>2]=c[q>>2];p=c[m>>2]|0;q=c[u>>2]|0;q=rR(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;p=C;if((p|0)<0|(p|0)==0&q>>>0<536870912){q=c[m>>2]|0;j=c[u>>2]|0;j=rR(q|0,((q|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0}else j=536870912;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=_f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function yI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{ML(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){lB(c[e+20>>2]|0)|0;i=j;return}else{nB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function zI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function AI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function BI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=gF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=YE(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function CI(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+68|0;r=I+64|0;s=I;t=I+60|0;u=I+56|0;v=I+52|0;w=I+48|0;J=I+44|0;F=I+40|0;y=I+36|0;G=I+32|0;x=I+28|0;E=I+24|0;B=I+20|0;D=I+16|0;A=I+12|0;z=I+8|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+66>>0]|0)==4){c[p>>2]=c[h+60>>2];J=c[p>>2]|0;i=I;return J|0}if((d[h+64>>0]&32|0)!=0?(c[F>>2]=nH(c[D>>2]|0,c[(c[q>>2]|0)+52>>2]|0,c[q>>2]|0)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}do if(!(c[(c[q>>2]|0)+72>>2]|0)){J=s;sK(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0);J=s;B=c[J+4>>2]|0;if((d[(c[q>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(c[J>>2]|0)>>>0>0)?(J=(c[q>>2]|0)+16|0,o=c[J>>2]|0,J=c[J+4>>2]|0,B=s,B=fR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0,(o|0)==(B|0)&(J|0)==(C|0)):0){c[y>>2]=-1;break}if((c[y>>2]|0)==0?(J=s,c[F>>2]=eF(c[q>>2]|0,0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}}else if((c[y>>2]|0)==0?(J=s,c[F>>2]=bF(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}while(0);c[E>>2]=c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=LL(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=Dg(c[(c[E>>2]|0)+72>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+4>>0]|0)){J=c[z>>2]|0;D=c[A>>2]|0;a[J>>0]=a[D>>0]|0;a[J+1>>0]=a[D+1>>0]|0;a[J+2>>0]=a[D+2>>0]|0;a[J+3>>0]=a[D+3>>0]|0}c[F>>2]=uK(c[E>>2]|0,c[A>>2]|0,H)|0;rL(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}sL(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+16+18>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+64|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=tL(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+66>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function DI(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=UE(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=nH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;sK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Mt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=rH(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);c[y>>2]=Dg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=uK(c[x>>2]|0,c[n>>2]|0,q)|0;rL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Lj(63773)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Dg(c[(c[o>>2]|0)+72>>2]|0)|0;sL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);rL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=tL(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;qB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=tL(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=gF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function EI(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=cF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=qL(c[n>>2]|0,k)|0;dF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=rF(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function FI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=qL(c[l>>2]|0,h)|0;if(tx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;iR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function GI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Sf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);b=nh(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+44>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function HI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(nL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=oL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function II(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=EK(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=bL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=HK((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function JI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=gF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=JF(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function KI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=UK(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))oK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}function LI(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else tF(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(zF(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Hu()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=EK(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=bg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=_f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);iR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function MI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;sH(c[q>>2]|0,p)|0;AF(k,c[r>>2]|0,0);c[f>>2]=hI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else tF(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else tF(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35916+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){vF((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Ug(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Ug(k);c[g>>2]=Lj(72119)|0;r=c[g>>2]|0;i=o;return r|0}function NI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];sH(c[m>>2]|0,l)|0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Lj(72153)|0;p=c[f>>2]|0;i=o;return p|0}AF(k,c[g>>2]|0,0);c[n>>2]=hI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=rF(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Ug(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function OI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;kg(c[j>>2]|0);c[e>>2]=DK(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function PI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function QI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];kg(c[e>>2]|0);c[j>>2]=nH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}sK(c[e>>2]|0,0,0,1);c[j>>2]=tK(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function RI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;mK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);nK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))oK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Sf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function SI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=QI(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function TI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Oj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Qf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function UI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Oj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];WG(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Oj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=BB(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Pf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function WI(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];kg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=$E(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;cg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=ig((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Ti(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[381]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)dK(p,c[m>>2]|0);c[p+28>>2]=42551;v=$q((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;eK(p,1,v,$q((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-268435457;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)fK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);gK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(hK(p,c[m>>2]|0)|0)){v=lF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];iK(p,42567,r)}while(0);if(((hK(p,c[m>>2]|0)|0)!=0?(v=lF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];iK(p,42589,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);Wi(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){fA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=eg(v)|0;i=t;return v|0}fA(p+40|0);v=p+40|0;v=eg(v)|0;i=t;return v|0}function XI(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Ug(c[e>>2]|0);d=Fw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+65>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=$t(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=cK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function YI(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=$J(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){if(((e[(c[g>>2]|0)+26>>1]|0)&1|0)!=0?(h,d=c[h+4>>2]|0,a=c[k>>2]|0,f=c[a+4>>2]|0,(d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function ZI(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((e[(c[f>>2]|0)+26>>1]|0)&2))bK(c[f>>2]|0);if(!(c[(c[f>>2]|0)+8>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}j=c[(c[f>>2]|0)+8>>2]|0;a=c[j+4>>2]|0;b=c[g>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[f>>2]|0)+8>>2]|0))FF(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=h;return j|0}function _I(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=XJ(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}ZJ(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=_J(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=YJ(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=$J(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=YJ(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function $I(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function aJ(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;b=e;c[f>>2]=a;c[b>>2]=c[c[(c[f>>2]|0)+64>>2]>>2];if(d[(c[f>>2]|0)+4>>0]|0){f=1;f=f&1;i=e;return f|0}if((c[c[b>>2]>>2]|0)<2){f=0;f=f&1;i=e;return f|0}f=(c[(c[b>>2]|0)+52>>2]|0)!=0;f=f&1;i=e;return f|0}function bJ(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=0;if(!(c[(c[b>>2]|0)+216>>2]|0)){c[e>>2]=0;c[f>>2]=vt(c[b>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=Nr(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+220>>2]|0,0,e)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)!=0)c[f>>2]=SJ(c[b>>2]|0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}if(!(c[(c[b>>2]|0)+216>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=TJ(c[b>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=cr(c[(c[b>>2]|0)+216>>2]|0,d[(c[b>>2]|0)+10>>0]|0,c[(c[b>>2]|0)+160>>2]|0,c[(c[b>>2]|0)+208>>2]|0)|0;c[(c[b>>2]|0)+216>>2]=0;Xi(c[b>>2]|0);f=c[f>>2]|0;i=g;return f|0}function cJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){hr(c[(c[f>>2]|0)+68>>2]|0)|0;if((d[(c[f>>2]|0)+18>>0]|0)>=2){qr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=LJ(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=vt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))qr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){wr(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;dr(c[f>>2]|0);break}if((c[g>>2]|0)==2)hr(c[(c[f>>2]|0)+68>>2]|0)|0}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0} -function uR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=nR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((nR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=gR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;fR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=fR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function vR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function wR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function xR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function yR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function zR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function AR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function BR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function CR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function DR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function ER(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function KR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function OR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function GS(a){a=a|0;return Pb[a&255]()|0}function HS(){return ga(0)|0}function IS(){return ga(1)|0}function JS(){return ga(2)|0}function KS(){return ga(3)|0}function LS(){return ga(4)|0}function MS(){return ga(5)|0}function NS(){return ga(6)|0}function OS(){return ga(7)|0}function PS(){return ga(8)|0}function QS(){return ga(9)|0}function RS(){return ga(10)|0}function SS(){return ga(11)|0}function TS(){return ga(12)|0}function US(){return ga(13)|0}function VS(){return ga(14)|0}function WS(){return ga(15)|0}function XS(){return ga(16)|0}function YS(){return ga(17)|0}function ZS(){return ga(18)|0}function _S(){return ga(19)|0}function $S(){return ga(20)|0}function aT(){return ga(21)|0}function bT(){return ga(22)|0}function cT(){return ga(23)|0}function dT(){return ga(24)|0}function eT(){return ga(25)|0}function fT(){return ga(26)|0}function gT(){return ga(27)|0}function hT(){return ga(28)|0}function iT(){return ga(29)|0}function jT(){return ga(30)|0}function kT(){return ga(31)|0}function lT(){return ga(32)|0}function mT(){return ga(33)|0}function nT(){return ga(34)|0}function oT(){return ga(35)|0}function pT(){return ga(36)|0}function qT(){return ga(37)|0}function rT(){return ga(38)|0}function sT(){return ga(39)|0}function tT(){return ga(40)|0}function uT(){return ga(41)|0}function vT(){return ga(42)|0}function wT(){return ga(43)|0}function xT(){return ga(44)|0}function yT(){return ga(45)|0}function zT(){return ga(46)|0}function AT(){return ga(47)|0}function BT(){return ga(48)|0}function CT(){return ga(49)|0}function DT(){return ga(50)|0}function ET(){return ga(51)|0}function FT(){return ga(52)|0}function GT(){return ga(53)|0}function HT(){return ga(54)|0}function IT(){return ga(55)|0}function JT(){return ga(56)|0}function KT(){return ga(57)|0}function LT(){return ga(58)|0}function MT(){return ga(59)|0}function NT(){return ga(60)|0}function OT(){return ga(61)|0}function PT(){return ga(62)|0}function QT(){return ga(63)|0}function RT(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function ST(a){a=a|0;ia(0,a|0)}function TT(a){a=a|0;ia(1,a|0)}function UT(a){a=a|0;ia(2,a|0)}function VT(a){a=a|0;ia(3,a|0)}function WT(a){a=a|0;ia(4,a|0)}function XT(a){a=a|0;ia(5,a|0)}function YT(a){a=a|0;ia(6,a|0)}function ZT(a){a=a|0;ia(7,a|0)}function _T(a){a=a|0;ia(8,a|0)}function $T(a){a=a|0;ia(9,a|0)}function aU(a){a=a|0;ia(10,a|0)}function bU(a){a=a|0;ia(11,a|0)}function cU(a){a=a|0;ia(12,a|0)}function dU(a){a=a|0;ia(13,a|0)}function eU(a){a=a|0;ia(14,a|0)}function fU(a){a=a|0;ia(15,a|0)}function gU(a){a=a|0;ia(16,a|0)}function hU(a){a=a|0;ia(17,a|0)}function iU(a){a=a|0;ia(18,a|0)}function jU(a){a=a|0;ia(19,a|0)}function kU(a){a=a|0;ia(20,a|0)}function lU(a){a=a|0;ia(21,a|0)}function mU(a){a=a|0;ia(22,a|0)}function nU(a){a=a|0;ia(23,a|0)}function oU(a){a=a|0;ia(24,a|0)}function pU(a){a=a|0;ia(25,a|0)}function qU(a){a=a|0;ia(26,a|0)}function rU(a){a=a|0;ia(27,a|0)}function sU(a){a=a|0;ia(28,a|0)}function tU(a){a=a|0;ia(29,a|0)}function uU(a){a=a|0;ia(30,a|0)}function vU(a){a=a|0;ia(31,a|0)}function wU(a){a=a|0;ia(32,a|0)}function xU(a){a=a|0;ia(33,a|0)}function yU(a){a=a|0;ia(34,a|0)}function zU(a){a=a|0;ia(35,a|0)}function AU(a){a=a|0;ia(36,a|0)}function BU(a){a=a|0;ia(37,a|0)}function CU(a){a=a|0;ia(38,a|0)}function DU(a){a=a|0;ia(39,a|0)}function EU(a){a=a|0;ia(40,a|0)}function FU(a){a=a|0;ia(41,a|0)}function GU(a){a=a|0;ia(42,a|0)}function HU(a){a=a|0;ia(43,a|0)}function IU(a){a=a|0;ia(44,a|0)}function JU(a){a=a|0;ia(45,a|0)}function KU(a){a=a|0;ia(46,a|0)}function LU(a){a=a|0;ia(47,a|0)}function MU(a){a=a|0;ia(48,a|0)}function NU(a){a=a|0;ia(49,a|0)}function OU(a){a=a|0;ia(50,a|0)}function PU(a){a=a|0;ia(51,a|0)}function QU(a){a=a|0;ia(52,a|0)}function RU(a){a=a|0;ia(53,a|0)}function SU(a){a=a|0;ia(54,a|0)}function TU(a){a=a|0;ia(55,a|0)}function UU(a){a=a|0;ia(56,a|0)}function VU(a){a=a|0;ia(57,a|0)}function WU(a){a=a|0;ia(58,a|0)}function XU(a){a=a|0;ia(59,a|0)}function YU(a){a=a|0;ia(60,a|0)}function ZU(a){a=a|0;ia(61,a|0)}function _U(a){a=a|0;ia(62,a|0)}function $U(a){a=a|0;ia(63,a|0)}function aV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function bV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function cV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function dV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function eV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function fV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function gV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function hV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function iV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function jV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function kV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function lV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function mV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function nV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function oV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function pV(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function qV(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function rV(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function lW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function mW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function xX(a){a=a|0;return oa(0,a|0)|0}function yX(a){a=a|0;return oa(1,a|0)|0}function zX(a){a=a|0;return oa(2,a|0)|0}function AX(a){a=a|0;return oa(3,a|0)|0}function BX(a){a=a|0;return oa(4,a|0)|0}function CX(a){a=a|0;return oa(5,a|0)|0}function DX(a){a=a|0;return oa(6,a|0)|0}function EX(a){a=a|0;return oa(7,a|0)|0}function FX(a){a=a|0;return oa(8,a|0)|0}function GX(a){a=a|0;return oa(9,a|0)|0}function HX(a){a=a|0;return oa(10,a|0)|0}function IX(a){a=a|0;return oa(11,a|0)|0}function JX(a){a=a|0;return oa(12,a|0)|0}function KX(a){a=a|0;return oa(13,a|0)|0}function LX(a){a=a|0;return oa(14,a|0)|0}function MX(a){a=a|0;return oa(15,a|0)|0}function NX(a){a=a|0;return oa(16,a|0)|0}function OX(a){a=a|0;return oa(17,a|0)|0}function PX(a){a=a|0;return oa(18,a|0)|0}function QX(a){a=a|0;return oa(19,a|0)|0}function RX(a){a=a|0;return oa(20,a|0)|0}function SX(a){a=a|0;return oa(21,a|0)|0}function TX(a){a=a|0;return oa(22,a|0)|0}function UX(a){a=a|0;return oa(23,a|0)|0}function VX(a){a=a|0;return oa(24,a|0)|0}function WX(a){a=a|0;return oa(25,a|0)|0}function XX(a){a=a|0;return oa(26,a|0)|0}function YX(a){a=a|0;return oa(27,a|0)|0}function ZX(a){a=a|0;return oa(28,a|0)|0}function _X(a){a=a|0;return oa(29,a|0)|0}function $X(a){a=a|0;return oa(30,a|0)|0}function aY(a){a=a|0;return oa(31,a|0)|0}function bY(a){a=a|0;return oa(32,a|0)|0}function cY(a){a=a|0;return oa(33,a|0)|0}function dY(a){a=a|0;return oa(34,a|0)|0}function eY(a){a=a|0;return oa(35,a|0)|0}function fY(a){a=a|0;return oa(36,a|0)|0}function gY(a){a=a|0;return oa(37,a|0)|0}function hY(a){a=a|0;return oa(38,a|0)|0}function iY(a){a=a|0;return oa(39,a|0)|0}function jY(a){a=a|0;return oa(40,a|0)|0}function kY(a){a=a|0;return oa(41,a|0)|0}function lY(a){a=a|0;return oa(42,a|0)|0}function mY(a){a=a|0;return oa(43,a|0)|0}function nY(a){a=a|0;return oa(44,a|0)|0}function oY(a){a=a|0;return oa(45,a|0)|0}function pY(a){a=a|0;return oa(46,a|0)|0}function qY(a){a=a|0;return oa(47,a|0)|0}function rY(a){a=a|0;return oa(48,a|0)|0}function sY(a){a=a|0;return oa(49,a|0)|0}function tY(a){a=a|0;return oa(50,a|0)|0}function uY(a){a=a|0;return oa(51,a|0)|0}function vY(a){a=a|0;return oa(52,a|0)|0}function wY(a){a=a|0;return oa(53,a|0)|0}function xY(a){a=a|0;return oa(54,a|0)|0}function yY(a){a=a|0;return oa(55,a|0)|0}function zY(a){a=a|0;return oa(56,a|0)|0}function AY(a){a=a|0;return oa(57,a|0)|0}function BY(a){a=a|0;return oa(58,a|0)|0}function CY(a){a=a|0;return oa(59,a|0)|0}function DY(a){a=a|0;return oa(60,a|0)|0}function EY(a){a=a|0;return oa(61,a|0)|0}function FY(a){a=a|0;return oa(62,a|0)|0}function GY(a){a=a|0;return oa(63,a|0)|0}function HY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function IY(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function JY(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function KY(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function LY(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function MY(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function NY(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function OY(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function PY(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function QY(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function RY(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function SY(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function TY(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function UY(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function VY(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function WY(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function XY(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function SZ(a){a=a|0;Vb[a&255]()}function TZ(){sa(0)}function UZ(){sa(1)}function VZ(){sa(2)}function WZ(){sa(3)}function XZ(){sa(4)}function YZ(){sa(5)}function ZZ(){sa(6)}function _Z(){sa(7)}function $Z(){sa(8)}function a_(){sa(9)}function b_(){sa(10)}function c_(){sa(11)}function d_(){sa(12)}function e_(){sa(13)}function f_(){sa(14)}function g_(){sa(15)}function h_(){sa(16)}function i_(){sa(17)}function j_(){sa(18)}function k_(){sa(19)}function l_(){sa(20)}function m_(){sa(21)}function n_(){sa(22)}function o_(){sa(23)}function p_(){sa(24)}function q_(){sa(25)}function r_(){sa(26)}function s_(){sa(27)}function t_(){sa(28)}function u_(){sa(29)}function v_(){sa(30)}function w_(){sa(31)}function x_(){sa(32)}function y_(){sa(33)}function z_(){sa(34)}function A_(){sa(35)}function B_(){sa(36)}function C_(){sa(37)}function D_(){sa(38)}function E_(){sa(39)}function F_(){sa(40)}function G_(){sa(41)}function H_(){sa(42)}function I_(){sa(43)}function J_(){sa(44)}function K_(){sa(45)}function L_(){sa(46)}function M_(){sa(47)}function N_(){sa(48)}function O_(){sa(49)}function P_(){sa(50)}function Q_(){sa(51)}function R_(){sa(52)}function S_(){sa(53)}function T_(){sa(54)}function U_(){sa(55)}function V_(){sa(56)}function W_(){sa(57)}function X_(){sa(58)}function Y_(){sa(59)}function Z_(){sa(60)}function __(){sa(61)}function $_(){sa(62)}function a$(){sa(63)}function b$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function c$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function d$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function e$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function f$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function g$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function h$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function i$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function j$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function k$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function l$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function m$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function n$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function o$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function p$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function r$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function n0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function o0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function p0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function r0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function s0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function t0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function u0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function v0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function w0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function x0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function A0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function B0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function C0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function y1(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function z1(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function A1(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function B1(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function C1(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function D1(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function E1(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function F1(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function G1(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function H1(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function I1(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function J1(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function K1(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function L1(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function M1(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function N1(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function O1(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function I2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function J2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function K2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function L2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function M2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function N2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function O2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function P2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function Q2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function R2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function S2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function T2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function U2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function V2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function W2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function X2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function Y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function U3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function V3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function W3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function X3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function Y3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function Z3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function _3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function $3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function a4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function b4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function c4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function d4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function e4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function f4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function g4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function h4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function c5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function d5(){ba(1);return 0}function e5(a){a=a|0;ba(2)}function f5(a,b){a=a|0;b=b|0;ba(3)}function g5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function h5(a){a=a|0;ba(5);return 0}function i5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function j5(){ba(7)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function l5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function m5(a,b){a=a|0;b=b|0;ba(10);return 0}function n5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} +function $b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function ac(){return i|0}function bc(a){a=a|0;i=a}function cc(a,b){a=a|0;b=b|0;i=a;j=b}function dc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function fc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function gc(a){a=a|0;C=a}function hc(){return C|0}function ic(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[352+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[352+((c[f>>2]|0)*12|0)>>2]|0,a[352+((c[f>>2]|0)*12|0)+4>>0]|0,d[352+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[352+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[832+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}wf(c[e>>2]|0,c[832+(c[f>>2]<<4)>>2]|0,a[832+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[832+(c[f>>2]<<4)+8>>2]|0,c[832+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=j;return 0}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,378,17366);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+T(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,379,17375);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+U(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,380,17384);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+V(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[l>>2]|0)!=2)Sa(17393,17342,570,17401);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);ie(c[e>>2]|0,+W(+(+h[g>>3]),+(+h[j>>3])));i=k;return}me(c[e>>2]|0);i=k;return}function nc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,394,17410);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+gQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,402,17420);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+hQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function pc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,410,17430);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+iQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;j=o+12|0;h=o+8|0;k=o+4|0;l=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[j>>2]=0;c[h>>2]=0;if((c[p>>2]|0)!=2)Sa(17393,17342,1680,17440);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;md(c[k>>2]|0,c[m>>2]|0);md(c[l>>2]|0,c[n>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=4)break;p=nd(c[m>>2]|0)|0;if((p|0)==(nd(c[n>>2]|0)|0))c[j>>2]=(c[j>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}ke(c[f>>2]|0,c[j>>2]|0);i=o;return}me(c[f>>2]|0);i=o;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,498,17844);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+od(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function sc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,499,17856);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+pd(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,420,17868);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+Q(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,419,17876);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+R(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,421,17884);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+S(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,422,17892);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+qd(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,446,17900);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+jQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,438,17909);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+nQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function zc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,454,17918);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+oQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,456,17927);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+rd(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,474,17936);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+X(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,472,17944);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+Y(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,473,17952);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+lQ(+h[g>>3]);l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;e=l+32|0;m=l+28|0;f=l+24|0;g=l+16|0;j=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[j>>3]=0.0;if((c[m>>2]|0)!=2)Sa(17393,17342,546,17962);if((fe(c[c[f>>2]>>2]|0)|0)!=5?(fe(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+ce(c[c[f>>2]>>2]|0);h[j>>3]=+ce(c[(c[f>>2]|0)+4>>2]|0);c[($P()|0)>>2]=0;h[k>>3]=+P(+(+h[g>>3]),+(+h[j>>3]));m=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(m){ie(e,+h[k>>3]);i=l;return}else{m=aQ(c[($P()|0)>>2]|0)|0;je(e,m,c[($P()|0)>>2]|0);i=l;return}}me(c[e>>2]|0);i=l;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+24|0;l=k+20|0;e=k+16|0;g=k+8|0;f=k;c[j>>2]=a;c[l>>2]=b;c[e>>2]=d;h[g>>3]=0.0;a=f;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17334,17342,590,17972);switch(fe(c[c[e>>2]>>2]|0)|0){case 1:{l=f;c[l>>2]=ee(c[c[e>>2]>>2]|0)|0;c[l+4>>2]=C;l=f;g=c[l+4>>2]|0;if((g|0)>0|(g|0)==0&(c[l>>2]|0)>>>0>0)e=1;else e=(c[f+4>>2]|0)<0?-1:0;l=f;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=f;le(c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[j>>2]|0);i=k;return}default:{h[g>>3]=+ce(c[c[e>>2]>>2]|0);if(+h[g>>3]>0.0)e=1;else e=+h[g>>3]<0.0?-1:0;h[g>>3]=+(e|0);ie(c[j>>2]|0,+h[g>>3]);i=k;return}}}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,375,17981);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[e>>2]|0);i=k;return}h[g>>3]=+ce(c[c[f>>2]>>2]|0);c[($P()|0)>>2]=0;h[j>>3]=+O(+(+h[g>>3]));l=(c[($P()|0)>>2]|0)==0;e=c[e>>2]|0;if(l){ie(e,+h[j>>3]);i=k;return}else{l=aQ(c[($P()|0)>>2]|0)|0;je(e,l,c[($P()|0)>>2]|0);i=k;return}}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+24|0;l=k+20|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;h[j>>3]=0.0;if((c[l>>2]|0)!=1)Sa(17334,17342,514,17990);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{a=g;c[a>>2]=ee(c[c[f>>2]>>2]|0)|0;c[a+4>>2]=C;a=c[e>>2]|0;j=g;l=g;le(a,AR(c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);ie(c[e>>2]|0,+h[j>>3]*+h[j>>3]);i=k;return}}}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17334,17342,620,18001);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+Z(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;k=i;i=i+48|0;e=k+32|0;l=k+28|0;f=k+24|0;j=k+16|0;g=k;c[e>>2]=a;c[l>>2]=b;c[f>>2]=d;h[j>>3]=0.0;a=k+8|0;c[a>>2]=0;c[a+4>>2]=0;if((c[l>>2]|0)!=1)Sa(17334,17342,645,18010);switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{l=g;c[l>>2]=ee(c[c[f>>2]>>2]|0)|0;c[l+4>>2]=C;l=g;le(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);m=+M(+(+h[j>>3]));le(c[e>>2]|0,~~m>>>0,+N(m)>=1.0?(m>0.0?~~+$(+M(m/4294967296.0),4294967295.0)>>>0:~~+Z((m-+(~~m>>>0))/4294967296.0)>>>0):0);i=k;return}}}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;ie(c[f>>2]|0,3.141592653589793);i=e;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+48|0;o=n+44|0;f=n+40|0;l=n+36|0;m=n+32|0;h=n+24|0;j=n+16|0;k=n+8|0;g=n;c[e>>2]=a;c[o>>2]=b;c[f>>2]=d;a=g;c[a>>2]=0;c[a+4>>2]=0;if((c[o>>2]|0)!=2){i=n;return}if(5==(fe(c[c[f>>2]>>2]|0)|0)){i=n;return}a=ee(c[(c[f>>2]|0)+4>>2]|0)|0;o=h;c[o>>2]=a;c[o+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[e>>2]|0,18020,-1);i=n;return}a=be(c[c[f>>2]>>2]|0)|0;o=j;c[o>>2]=a;c[o+4>>2]=((a|0)<0)<<31>>31;o=j;a=h;a=AR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=k;c[o>>2]=a;c[o+4>>2]=C;o=k;o=pR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[l>>2]=Id(o)|0;o=j;o=pR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[m>>2]=Id(o)|0;if((c[l>>2]|0)!=0&(c[m>>2]|0)!=0){o=c[m>>2]|0;IQ(o,ae(c[c[f>>2]>>2]|0)|0)|0;o=g;c[o>>2]=0;c[o+4>>2]=0;while(1){k=g;d=c[k+4>>2]|0;o=h;a=c[o+4>>2]|0;if(!((d|0)<(a|0)|((d|0)==(a|0)?(c[k>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[l>>2]|0;a=g;k=j;k=AR(c[a>>2]|0,c[a+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;IQ(o+k|0,c[m>>2]|0)|0;k=g;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;o=g;c[o>>2]=k;c[o+4>>2]=C}ne(c[e>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);Kd(c[m>>2]|0);i=n;return}te(c[e>>2]|0);if(c[l>>2]|0)Kd(c[l>>2]|0);if(!(c[m>>2]|0)){i=n;return}Kd(c[m>>2]|0);i=n;return}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Sa(18033,17342,1038,18051);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[k>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=m;return}c[l>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){a=(de(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=a;c[j>>2]=(c[j>>2]|0)<0?0:a}else c[j>>2]=0;c[h>>2]=sd(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,0)|0;ke(c[e>>2]|0,(c[h>>2]|0)+1|0);i=m;return}me(c[e>>2]|0);i=m;return}function Nc(b,e,f){b=b|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;p=i;i=i+48|0;g=p+32|0;q=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;o=p+4|0;m=p;c[g>>2]=b;c[q>>2]=e;c[h>>2]=f;c[j>>2]=0;c[k>>2]=0;c[l>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,1073,18065);if(5!=(fe(c[c[h>>2]>>2]|0)|0)?5!=(fe(c[(c[h>>2]|0)+4>>2]|0)|0):0){c[n>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=de(c[(c[h>>2]|0)+4>>2]|0)|0;c[o>>2]=c[n>>2];a:while(1){if(!(nd(c[o>>2]|0)|0))break;q=c[j>>2]|0;c[j>>2]=q+1;if((q|0)>=(c[l>>2]|0))break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[k>>2]=(c[o>>2]|0)-(c[n>>2]|0);c[m>>2]=Id((c[o>>2]|0)-(c[n>>2]|0)+1|0)|0;if(c[m>>2]|0){MQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0)|0;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=0;ne(c[g>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);i=p;return}else{te(c[g>>2]|0);i=p;return}}me(c[g>>2]|0);i=p;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+36|0;q=p+32|0;g=p+28|0;k=p+24|0;h=p+20|0;j=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;l=p;c[f>>2]=b;c[q>>2]=d;c[g>>2]=e;c[k>>2]=0;c[h>>2]=0;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,1113,18074);if(5!=(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[k>>2]=de(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=c[m>>2];while(1){if(!(nd(c[o>>2]|0)|0))break;do{q=(c[o>>2]|0)+1|0;c[o>>2]=q}while((192&a[q>>0]|0)==128);c[h>>2]=(c[h>>2]|0)+1}c[n>>2]=c[o>>2];c[o>>2]=c[m>>2];q=(c[h>>2]|0)-(c[k>>2]|0)|0;c[j>>2]=q;c[j>>2]=(c[j>>2]|0)<0?0:q;a:while(1){q=c[j>>2]|0;c[j>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[o>>2]|0)+1|0;c[o>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[l>>2]=Id((c[n>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[l>>2]|0){IQ(c[l>>2]|0,c[o>>2]|0)|0;ne(c[f>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=p;return}else{te(c[f>>2]|0);i=p;return}}me(c[f>>2]|0);i=p;return}function Pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;p=o+28|0;g=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o+8|0;j=o+4|0;h=o;c[f>>2]=b;c[p>>2]=d;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;if(1!=(c[p>>2]|0))Sa(18084,17342,1323,18092);if(5==(fe(c[c[g>>2]>>2]|0)|0)){me(c[f>>2]|0);i=o;return}c[m>>2]=ae(c[c[g>>2]>>2]|0)|0;c[j>>2]=KQ(c[m>>2]|0)|0;c[k>>2]=Id((c[j>>2]|0)+1|0)|0;if(!(c[k>>2]|0)){te(c[f>>2]|0);i=o;return}c[l>>2]=(c[k>>2]|0)+(c[j>>2]|0);p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=0;c[n>>2]=c[m>>2];a:while(1){if(!(nd(c[n>>2]|0)|0))break;c[m>>2]=c[n>>2];do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[h>>2]=1;while(1){if(((c[n>>2]|0)+(0-(c[h>>2]|0))|0)>>>0<(c[m>>2]|0)>>>0)continue a;j=a[(c[n>>2]|0)+(0-(c[h>>2]|0))>>0]|0;p=c[l>>2]|0;c[l>>2]=p+-1;a[p>>0]=j;c[h>>2]=(c[h>>2]|0)+1}}ne(c[f>>2]|0,c[k>>2]|0,-1,-1);Kd(c[k>>2]|0);i=o;return}function Qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;o=n+20|0;f=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n+28|0;h=n;c[g>>2]=b;c[o>>2]=d;c[f>>2]=e;c[h>>2]=1;if((c[o>>2]|0)!=1)Sa(17334,17342,724,18104);if(5==(fe(c[c[f>>2]>>2]|0)|0)){me(c[g>>2]|0);i=n;return}c[k>>2]=ae(c[c[f>>2]>>2]|0)|0;c[l>>2]=td(c[k>>2]|0)|0;if(!(c[l>>2]|0)){te(c[g>>2]|0);i=n;return}c[m>>2]=c[l>>2];while(1){o=c[k>>2]|0;c[k>>2]=o+1;o=a[o>>0]|0;a[j>>0]=o;if(!(o<<24>>24))break;if(WP(a[j>>0]|0)|0)c[h>>2]=1;else{f=a[j>>0]|0;if((c[h>>2]|0)==1)a[j>>0]=_P(f)|0;else a[j>>0]=ZP(f)|0;c[h>>2]=0}b=a[j>>0]|0;o=c[m>>2]|0;c[m>>2]=o+1;a[o>>0]=b}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[l>>2]|0,-1,-1);Kd(c[l>>2]|0);i=n;return}function Rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;m=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;k=o;g=o+28|0;j=o+24|0;n=o+20|0;l=o+16|0;c[m>>2]=b;c[p>>2]=d;c[f>>2]=e;c[g>>2]=0;if((c[p>>2]|0)!=2)Sa(17393,17342,771,18115);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[m>>2]|0);i=o;return}c[j>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=b;c[p+4>>2]=C;if((c[h+4>>2]|0)<0){je(c[m>>2]|0,18020,-1);i=o;return}d=ud(c[j>>2]|0,-1)|0;b=k;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=k;d=c[b+4>>2]|0;p=h;e=c[p+4>>2]|0;f=c[j>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[n>>2]=td(f)|0;f=c[m>>2]|0;if(c[n>>2]|0){ne(f,c[n>>2]|0,-1,-1);break}te(f);i=o;return}else{p=KQ(f)|0;b=h;b=pR(p|0,0,c[b>>2]|0,c[b+4>>2]|0)|0;p=k;p=oR(b|0,C|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=pR(p|0,C|0,1,0)|0;c[n>>2]=Id(p)|0;if(!(c[n>>2]|0)){te(c[m>>2]|0);i=o;return}c[l>>2]=c[n>>2];c[g>>2]=1;while(1){d=c[g>>2]|0;b=k;b=pR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;p=h;e=c[p+4>>2]|0;f=c[l>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[p>>2]|0)>>>0:0)))break;c[l>>2]=f+1;a[f>>0]=32;c[g>>2]=(c[g>>2]|0)+1}IQ(f,c[j>>2]|0)|0}while(0);ne(c[m>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);i=o;return}function Sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,825,18152);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18020,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=KQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=pR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=oR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=pR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}q=IQ(c[o>>2]|0,c[g>>2]|0)|0;c[m>>2]=q+(c[h>>2]|0);c[j>>2]=1;while(1){b=c[j>>2]|0;h=l;h=pR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+64|0;n=p+48|0;q=p+44|0;f=p+40|0;k=p+16|0;l=p+8|0;h=p;j=p+36|0;g=p+32|0;o=p+28|0;m=p+24|0;c[n>>2]=b;c[q>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[q>>2]|0)!=2)Sa(17393,17342,880,18161);if((fe(c[c[f>>2]>>2]|0)|0)==5){me(c[n>>2]|0);i=p;return}c[g>>2]=ae(c[c[f>>2]>>2]|0)|0;b=ee(c[(c[f>>2]|0)+4>>2]|0)|0;q=k;c[q>>2]=b;c[q+4>>2]=C;if((c[k+4>>2]|0)<0){je(c[n>>2]|0,18020,-1);i=p;return}d=ud(c[g>>2]|0,-1)|0;b=l;c[b>>2]=d;c[b+4>>2]=((d|0)<0)<<31>>31;b=l;d=c[b+4>>2]|0;q=k;e=c[q+4>>2]|0;f=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[b>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[o>>2]=td(f)|0;f=c[n>>2]|0;if(c[o>>2]|0){ne(f,c[o>>2]|0,-1,-1);break}te(f);i=p;return}else{q=h;c[q>>2]=KQ(f)|0;c[q+4>>2]=0;q=h;b=k;b=pR(c[q>>2]|0,c[q+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;q=l;q=oR(b|0,C|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=pR(q|0,C|0,1,0)|0;c[o>>2]=Id(q)|0;if(!(c[o>>2]|0)){te(c[n>>2]|0);i=p;return}c[m>>2]=c[o>>2];c[j>>2]=1;while(1){d=c[j>>2]<<1;b=l;b=pR(d|0,((d|0)<0)<<31>>31|0,c[b>>2]|0,c[b+4>>2]|0)|0;d=C;q=k;e=c[q+4>>2]|0;f=c[m>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?b>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}IQ(f,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);while(1){b=c[j>>2]|0;h=l;h=pR(b|0,((b|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;b=C;q=k;g=c[q+4>>2]|0;f=c[m>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[m>>2]=f+1;a[f>>0]=32;c[j>>2]=(c[j>>2]|0)+1}a[f>>0]=0}while(0);ne(c[n>>2]|0,c[o>>2]|0,-1,-1);Kd(c[o>>2]|0);i=p;return}function Uc(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;s=r+40|0;g=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;p=r+12|0;q=r+8|0;h=r+4|0;j=r;c[f>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Sa(17393,17342,939,18170);if((fe(c[c[g>>2]>>2]|0)|0)!=5?(fe(c[(c[g>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=ae(c[c[g>>2]>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=Id((KQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[p>>2]|0)){te(c[f>>2]|0);i=r;return}c[q>>2]=c[p>>2];c[k>>2]=c[n>>2];a:while(1){s=nd(c[k>>2]|0)|0;c[h>>2]=s;if(!s)break;c[l>>2]=c[o>>2];b:while(1){s=nd(c[l>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[h>>2]|0))break;while(1){s=(c[l>>2]|0)+1|0;c[l>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[m>>2]=c[l>>2];do{s=(c[m>>2]|0)+1|0;c[m>>2]=s}while((192&a[s>>0]|0)==128);MQ(c[q>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+((c[m>>2]|0)-(c[l>>2]|0))}while(1){s=(c[k>>2]|0)+1|0;c[k>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[q>>2]>>0]=0;ne(c[f>>2]|0,c[p>>2]|0,-1,-1);Kd(c[p>>2]|0);i=r;return}me(c[f>>2]|0);i=r;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;f=l+20|0;j=l+16|0;g=l+8|0;k=l;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Sa(17334,17342,1395,18184);c[j>>2]=xe(c[e>>2]|0,24)|0;if(5==(Te(c[c[f>>2]>>2]|0)|0)){i=l;return}a=(c[j>>2]|0)+16|0;m=a;m=pR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[a>>2]=m;c[a+4>>2]=C;h[k>>3]=+ce(c[c[f>>2]>>2]|0);h[g>>3]=+h[k>>3]-+h[c[j>>2]>>3];a=(c[j>>2]|0)+16|0;m=c[j>>2]|0;h[m>>3]=+h[m>>3]+ +h[g>>3]/(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0));m=(c[j>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[g>>3]*(+h[k>>3]-+h[c[j>>2]>>3]);i=l;return}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,+O(+(g/(+(f>>>0)+4294967296.0*+(C|0)))));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Xc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if((c[d>>2]|0)!=0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){a=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;ie(a,g/(+(f>>>0)+4294967296.0*+(C|0)));i=e;return}ie(c[b>>2]|0,0.0);i=e;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+80|0;e=q+64|0;r=q+60|0;f=q+56|0;n=q+52|0;p=q+8|0;o=q;m=q+48|0;l=q+44|0;k=q+40|0;g=q+28|0;j=q+16|0;c[e>>2]=a;c[r>>2]=b;c[f>>2]=d;a=p;c[a>>2]=0;c[a+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Sa(17334,17342,1418,18197);c[k>>2]=Te(c[c[f>>2]>>2]|0)|0;if((c[k>>2]|0)==5){i=q;return}c[n>>2]=xe(c[e>>2]|0,64)|0;do if(!(c[(c[n>>2]|0)+56>>2]|0)){e=jR(1,12)|0;c[(c[n>>2]|0)+56>>2]=e;e=c[n>>2]|0;if((c[k>>2]|0)==1){r=c[e+56>>2]|0;bd(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[n>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=e+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[n>>2]|0)+56>>2]|0;bd(j,177);c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];break}}while(0);r=(c[n>>2]|0)+16|0;e=r;e=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[r>>2]=e;c[r+4>>2]=C;r=(c[n>>2]|0)+48|0;e=c[c[f>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ee(e)|0;o=p;c[o>>2]=r;c[o+4>>2]=C;c[m>>2]=jR(1,8)|0;o=p;p=c[o+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=p;fd(c[(c[n>>2]|0)+56>>2]|0,c[m>>2]|0);i=q;return}else{h[o>>3]=+ce(e);c[l>>2]=jR(1,8)|0;h[c[l>>2]>>3]=+h[o>>3];fd(c[(c[n>>2]|0)+56>>2]|0,c[l>>2]|0);i=q;return}}function Zc(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){i=e;return}hd(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);jd(c[(c[d>>2]|0)+56>>2]|0);iR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){i=e;return}f=(c[d>>2]|0)+48|0;a=c[b>>2]|0;b=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=b;le(a,c[f>>2]|0,c[f+4>>2]|0);i=e;return}else{ie(a,+h[b+8>>3]);i=e;return}}function _c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;wd(c[b>>2]|0);i=e;return}function $c(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;wd(c[b>>2]|0);i=e;return}function ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;a=AR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(C|0))/4.0;wd(c[b>>2]|0);i=e;return}function bd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];i=d;return}function cd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=jR(c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function dd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;iR(c[d>>2]|0);i=b;return}function ed(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;f=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=cd(1,24,17325)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];j=(c[f>>2]|0)+16|0;c[j>>2]=1;c[j+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];i=k;return}c[j>>2]=Yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){j=(c[c[e>>2]>>2]|0)+16|0;g=j;g=pR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[j>>2]=g;c[j+4>>2]=C;dd(c[h>>2]|0);i=k;return}e=c[c[e>>2]>>2]|0;if((c[j>>2]|0)>0){ed(e,c[g>>2]|0,c[h>>2]|0);i=k;return}else{ed(e+4|0,c[g>>2]|0,c[h>>2]|0);i=k;return}}function fd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ed(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);i=d;return}function gd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}if(c[c[e>>2]>>2]|0)gd(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;_b[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){i=h;return}gd(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;gd(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function id(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}dd(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)id(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)id(c[(c[b>>2]|0)+4>>2]|0);dd(c[b>>2]|0);i=d;return}function jd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;id(c[c[d>>2]>>2]|0);i=b;return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;d=g+24|0;j=g+20|0;h=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[h>>2]=b;j=c[j>>2]|0;a=c[j+4>>2]|0;b=e;c[b>>2]=c[j>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;j=c[d>>2]|0;i=g;return j|0}h=e;b=c[h+4>>2]|0;j=f;f=c[j+4>>2]|0;if((b|0)<(f|0)|((b|0)==(f|0)?(c[h>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){c[d>>2]=-1;j=c[d>>2]|0;i=g;return j|0}else{c[d>>2]=1;j=c[d>>2]|0;i=g;return j|0}return 0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;g=i;i=i+32|0;d=g+24|0;k=g+20|0;j=g+16|0;e=g+8|0;f=g;c[k>>2]=a;c[j>>2]=b;h[e>>3]=+h[c[k>>2]>>3];h[f>>3]=+h[c[j>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);i=g;return c[d>>2]|0}function md(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;j=l+12|0;h=l+8|0;k=l+4|0;g=l;c[f>>2]=b;c[j>>2]=e;c[h>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;if(!((VP(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)!=0^1))break;c[h>>2]=(c[h>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)){IQ(c[j>>2]|0,17583)|0;i=l;return}e=(_P(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)|0)&255;a[c[j>>2]>>0]=e;c[k>>2]=1;while(1){if((c[k>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;c[g>>2]=d[17455+(d[(c[f>>2]|0)+(c[h>>2]|0)>>0]&127)>>0];if((c[g>>2]|0)>0){b=(c[g>>2]|0)+48&255;e=c[k>>2]|0;c[k>>2]=e+1;a[(c[j>>2]|0)+e>>0]=b}c[h>>2]=(c[h>>2]|0)+1}while(1){f=c[k>>2]|0;if((c[k>>2]|0)>=4)break;c[k>>2]=f+1;a[(c[j>>2]|0)+f>>0]=48}a[(c[j>>2]|0)+f>>0]=0;i=l;return}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[17588+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;i=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[928+(c[f>>2]<<2)>>2]|0);if(((c[944+(c[f>>2]<<2)>>2]&c[e>>2]|0)!=0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;i=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;i=h;return g|0}function od(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*180.0/3.141592653589793)}function pd(a){a=+a;var b=0,c=0;c=i;i=i+16|0;b=c;h[b>>3]=a;i=c;return +(+h[b>>3]*3.141592653589793/180.0)}function qd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+S(+(+h[c>>3]));i=b;return +a}function rd(a){a=+a;var b=0,c=0;b=i;i=i+16|0;c=b;h[c>>3]=a;a=1.0/+oQ(+h[c>>3]);i=b;return +a}function sd(b,d,e,f){b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;g=t+40|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;p=t+16|0;q=t+12|0;r=t+8|0;n=t+4|0;o=t;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[p>>2]=-1;if(!(a[c[h>>2]>>0]|0)){c[g>>2]=-1;s=c[g>>2]|0;i=t;return s|0}a:while(1){if(!(nd(c[j>>2]|0)|0))break;d=c[m>>2]|0;c[m>>2]=d+1;if((d|0)>=(c[k>>2]|0))break;while(1){d=(c[j>>2]|0)+1|0;c[j>>2]=d;if((192&a[d>>0]|0)!=128)continue a}}c[m>>2]=0;while(1){if(!(nd(c[j>>2]|0)|0))break;c[q>>2]=c[h>>2];c[r>>2]=c[j>>2];do{c[n>>2]=nd(c[q>>2]|0)|0;c[o>>2]=nd(c[r>>2]|0)|0;do{d=(c[q>>2]|0)+1|0;c[q>>2]=d}while((192&a[d>>0]|0)==128);do{d=(c[r>>2]|0)+1|0;c[r>>2]=d}while((192&a[d>>0]|0)==128)}while(((c[n>>2]|0)!=0?(c[n>>2]|0)==(c[o>>2]|0):0)&(c[o>>2]|0)!=0);if(!(c[n>>2]|0)){s=14;break}do{d=(c[j>>2]|0)+1|0;c[j>>2]=d}while((192&a[d>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}if((s|0)==14)c[p>>2]=c[m>>2];if(c[l>>2]|0)c[c[l>>2]>>2]=c[j>>2];s=c[p>>2]|0;c[g>>2]=(c[p>>2]|0)>=0?s+(c[k>>2]|0)|0:s;s=c[g>>2]|0;i=t;return s|0}function td(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Id((KQ(c[d>>2]|0)|0)+1|0)|0;a=IQ(c[e>>2]|0,c[d>>2]|0)|0;i=b;return a|0}function ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Sa(18124,17342,316,18133);while(1){if(!(a[c[f>>2]>>0]|0)){f=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){f=10;break}c[f>>2]=(c[f>>2]|0)+((d[17588+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){i=k;return c[j>>2]|0}return 0}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;m=l+32|0;j=l+16|0;n=l+28|0;g=l+8|0;f=l;k=l+24|0;c[m>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[k>>2]=c[n>>2];e=(c[k>>2]|0)+48|0;b=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[b>>2]|0;m=g;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=pR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}n=c[g+4>>2]|0;m=c[k>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}else{h[f>>3]=+h[b>>3];m=(c[k>>2]|0)+32|0;n=j;b=c[k>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=b+40|0;m=n;m=pR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=C;i=l;return}m=b+32|0;e=c[m+4>>2]|0;n=j;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){i=l;return}h[(c[k>>2]|0)+8>>3]=+h[f>>3];m=c[j+4>>2]|0;n=(c[k>>2]|0)+32|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;n=(c[k>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;i=l;return}}function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){i=f;return}c[(c[e>>2]|0)+60>>2]=0;hd(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);jd(c[(c[e>>2]|0)+56>>2]|0);iR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;ie(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));i=f;return}g=(c[e>>2]|0)+40|0;b=c[b>>2]|0;d=c[e>>2]|0;a=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){le(b,a,d);i=f;return}else{g=(c[e>>2]|0)+40|0;ie(b,(+(a>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));i=f;return}}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;j=q+56|0;m=q+32|0;r=q+52|0;o=q+24|0;n=q+16|0;f=q+8|0;k=q;g=q+48|0;l=q+44|0;p=q+40|0;c[j>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[p>>2]=c[r>>2];if((c[(c[p>>2]|0)+60>>2]|0)>0){i=q;return}h[f>>3]=+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+16|0;h[k>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[p>>2]|0)+24>>3];r=(c[p>>2]|0)+32|0;e=m;e=pR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[g>>2]=e;e=(c[p>>2]|0)+16|0;r=(c[p>>2]|0)+32|0;r=oR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[l>>2]=r;do if(+(c[g>>2]|0)>=+h[f>>3]){b=c[p>>2]|0;if(!(+(c[l>>2]|0)>=+h[k>>3])){c[b+60>>2]=1;break}r=b+40|0;b=r;b=pR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[r>>2]=b;c[r+4>>2]=C;r=(c[p>>2]|0)+48|0;b=c[j>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){n=c[b>>2]|0;r=o;c[r>>2]=n;c[r+4>>2]=((n|0)<0)<<31>>31;r=c[p>>2]|0;n=r;o=pR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=o;c[r+4>>2]=C;break}else{h[n>>3]=+h[b>>3];r=(c[p>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[n>>3];break}}while(0);o=m;r=(c[p>>2]|0)+32|0;p=r;p=pR(c[p>>2]|0,c[p+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=C;i=q;return}function yd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(zd(c[d>>2]|0,18213,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=Jf(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=7){d=9;break}if((zd(c[d>>2]|0,c[968+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?(Kf(a[(c[968+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){d=7;break}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==7){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==9){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function zd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;if(!(c[f>>2]|0)){c[l>>2]=(e|0)!=0?-1:0;l=c[l>>2]|0;i=m;return l|0}if(!e){c[l>>2]=1;l=c[l>>2]|0;i=m;return l|0}c[j>>2]=c[f>>2];c[k>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[j>>2]>>0]|0))break;if((d[18221+(d[c[j>>2]>>0]|0)>>0]|0|0)!=(d[18221+(d[c[k>>2]>>0]|0)>>0]|0|0))break;c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}if((c[h>>2]|0)<0)e=0;else e=(d[18221+(d[c[j>>2]>>0]|0)>>0]|0)-(d[18221+(d[c[k>>2]>>0]|0)>>0]|0)|0;c[l>>2]=e;l=c[l>>2]|0;i=m;return l|0}function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<7){c[b>>2]=c[968+(c[d>>2]<<2)>>2];a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function Bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=Lf(16513)|0;l=c[g>>2]|0;i=m;return l|0}if(a[18477+(c[h>>2]|0)>>0]|0)b=Mf()|0;else b=Nf()|0;c[m>>2]=b;j=c[j>>2]|0;c[j>>2]=c[996+(c[h>>2]<<2)>>2];c[j+4>>2]=0;k=c[k>>2]|0;c[k>>2]=c[1036+(c[h>>2]<<2)>>2];c[k+4>>2]=0;if(c[l>>2]|0)c[1036+(c[h>>2]<<2)>>2]=c[996+(c[h>>2]<<2)>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Dd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}c[e>>2]=c[269];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(HQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;i=f;return g|0}function Dd(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;i=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Uf()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=1080;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Vf();if(!(c[63]|0))c[b>>2]=Wf()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Xf()|0}if(!(c[b>>2]|0)){Yf(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;i=e;return f|0}function Ed(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Dd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;i=h;return g|0}Zf(c[f>>2]|0);b=c[269]|0;if((c[g>>2]|0)!=0|(c[269]|0)==0){c[(c[f>>2]|0)+12>>2]=b;c[269]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[b+12>>2];c[(c[269]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function Fd(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;e=j+32|0;f=j+24|0;h=j+16|0;g=j+8|0;d=j;k=j+40|0;l=f;c[l>>2]=a;c[l+4>>2]=b;c[k>>2]=Dd()|0;if(c[k>>2]|0){k=e;c[k>>2]=-1;c[k+4>>2]=-1;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=288;k=c[b+4>>2]|0;l=h;c[l>>2]=c[b>>2];c[l+4>>2]=k;if((c[f+4>>2]|0)<0){l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}b=f;l=c[b+4>>2]|0;k=288;c[k>>2]=c[b>>2];c[k+4>>2]=l;k=_f(0)|0;l=d;c[l>>2]=k;c[l+4>>2]=C;l=f;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0){l=f;b=c[l+4>>2]|0;a=d;k=c[a+4>>2]|0;a=(b|0)<(k|0)|((b|0)==(k|0)?(c[l>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[77]=a&1;l=Hd()|0;k=f;k=oR(l|0,C|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=g;c[l>>2]=k;c[l+4>>2]=C;l=g;k=c[l+4>>2]|0;if((k|0)>0|(k|0)==0&(c[l>>2]|0)>>>0>0)Fd(c[g>>2]&2147483647)|0;l=c[h+4>>2]|0;k=e;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=e;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function Hd(){var a=0,b=0;b=i;i=i+16|0;a=b+8|0;Bd(0,a,b,0)|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function Id(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Dd()|0){c[d>>2]=0;d=c[d>>2]|0;i=e;return d|0}if((c[b>>2]|0)<=0)b=0;else{b=c[b>>2]|0;b=$f(b,((b|0)<0)<<31>>31)|0}c[d>>2]=b;d=c[d>>2]|0;i=e;return d|0}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Dd()|0){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}else{g=e;c[d>>2]=$f(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;i=f;return g|0}return 0}function Kd(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}if(c[2]|0){bg(0,ag(c[b>>2]|0)|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=g;return a|0}if((c[f>>2]|0)<0)c[f>>2]=0;a=c[f>>2]|0;c[d>>2]=cg(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;a=c[d>>2]|0;i=g;return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Dd()|0){c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}else{a=g;c[e>>2]=cg(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}return 0}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+128|0;d=j+40|0;e=j+36|0;f=j+32|0;h=j+28|0;g=j;c[e>>2]=a;c[f>>2]=b;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}else{dg(g,0,j+44|0,70,1e9);eg(g,c[e>>2]|0,c[f>>2]|0);c[h>>2]=fg(g)|0;c[d>>2]=c[h>>2];a=c[d>>2]|0;i=j;return a|0}return 0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Dd()|0){c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}else{c[f>>2]=b;c[g>>2]=Nd(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];a=c[d>>2]|0;i=h;return a|0}return 0}function Pd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+48|0;f=l+44|0;g=l+40|0;m=l+36|0;h=l+32|0;j=l+28|0;k=l;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=e;m=c[f>>2]|0;i=l;return m|0}else{dg(k,0,e,c[g>>2]|0,0);eg(k,c[h>>2]|0,c[j>>2]|0);c[f>>2]=fg(k)|0;m=c[f>>2]|0;i=l;return m|0}return 0}function Qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;l=g+28|0;k=g+24|0;j=g+20|0;f=g+16|0;h=g;c[l>>2]=a;c[k>>2]=b;c[j>>2]=d;c[h>>2]=e;c[f>>2]=Pd(c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,h)|0;i=g;return c[f>>2]|0}function Rd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){i=h;return}c[g>>2]=d;gg(c[e>>2]|0,c[f>>2]|0,g);i=h;return}function Sd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+288|0;f=m+12|0;g=m+8|0;k=m+272|0;l=m+4|0;h=m;j=m+16|0;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[g>>2];if(Dd()|0){i=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[18487]=0;i=m;return}if(!(a[18487]|0)){a[18489]=0;a[18488]=0;hg(Cd(0)|0,256,j)|0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18490+(c[h>>2]|0)>>0]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if((c[h>>2]|0)>=256)break;a[18489]=(d[18489]|0)+((d[18490+(c[h>>2]|0)>>0]|0)+(a[j+(c[h>>2]|0)>>0]|0));a[k>>0]=a[18490+(d[18489]|0)>>0]|0;a[18490+(d[18489]|0)>>0]=a[18490+(c[h>>2]|0)>>0]|0;a[18490+(c[h>>2]|0)>>0]=a[k>>0]|0;c[h>>2]=(c[h>>2]|0)+1}a[18487]=1}do{a[18488]=(a[18488]|0)+1<<24>>24;a[k>>0]=a[18490+(d[18488]|0)>>0]|0;a[18489]=(d[18489]|0)+(d[k>>0]|0);a[18490+(d[18488]|0)>>0]=a[18490+(d[18489]|0)>>0]|0;a[18490+(d[18489]|0)>>0]=a[k>>0]|0;a[k>>0]=(d[k>>0]|0)+(d[18490+(d[18488]|0)>>0]|0);j=a[18490+(d[k>>0]|0)>>0]|0;e=c[l>>2]|0;c[l>>2]=e+1;a[e>>0]=j;e=(c[f>>2]|0)+-1|0;c[f>>2]=e}while((e|0)!=0);i=m;return}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=(a|0)!=0?-1:0;while(0);i=g;return c[d>>2]|0}function Ud(){var a=0,b=0;b=i;i=i+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;Ed(1172+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}i=b;return 0}function Vd(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+112|0;r=F+108|0;e=F+104|0;D=F+100|0;f=F+96|0;B=F+92|0;p=F+88|0;z=F+84|0;x=F+80|0;j=F+76|0;m=F+72|0;s=F+68|0;h=F+64|0;o=F+60|0;k=F+56|0;q=F+52|0;v=F+16|0;y=F+48|0;g=F+44|0;l=F+40|0;u=F+8|0;t=F;n=F+36|0;A=F+32|0;w=F+28|0;E=F+24|0;c[r>>2]=a;c[e>>2]=b;c[B>>2]=0;c[p>>2]=0;mg(c[(c[r>>2]|0)+24>>2]|0);c[D>>2]=c[(c[r>>2]|0)+28>>2];if(ng(c[D>>2]|0)|0){E=c[D>>2]|0;i=F;return E|0}c[z>>2]=Pf(c[(c[r>>2]|0)+24>>2]|0)|0;c[x>>2]=Pf(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=-1;c[s>>2]=0;if((c[c[r>>2]>>2]|0)!=0?(d[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[D>>2]=5;else c[D>>2]=0;if((0==(c[D>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==0:0)?(a=og(c[(c[r>>2]|0)+4>>2]|0,2)|0,c[D>>2]=a,0==(a|0)):0){c[(c[r>>2]|0)+12>>2]=1;pg(c[(c[r>>2]|0)+4>>2]|0,1,(c[r>>2]|0)+8|0)}if((c[D>>2]|0)==0?0==(qg(c[(c[r>>2]|0)+24>>2]|0)|0):0){c[D>>2]=og(c[(c[r>>2]|0)+24>>2]|0,0)|0;c[s>>2]=1}c[B>>2]=rg(c[(c[r>>2]|0)+24>>2]|0)|0;c[p>>2]=rg(c[(c[r>>2]|0)+4>>2]|0)|0;c[f>>2]=sg(Pf(c[(c[r>>2]|0)+4>>2]|0)|0)|0;if(0==(c[D>>2]|0)&(c[f>>2]|0)==5?(c[B>>2]|0)!=(c[p>>2]|0):0)c[D>>2]=8;c[m>>2]=tg(c[(c[r>>2]|0)+24>>2]|0)|0;c[j>>2]=0;while(1){if((c[e>>2]|0)>=0?(c[j>>2]|0)>=(c[e>>2]|0):0)break;if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;if(!((c[D>>2]|0)!=0^1))break;c[h>>2]=c[(c[r>>2]|0)+16>>2];if((c[h>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[D>>2]=ug(c[z>>2]|0,c[h>>2]|0,o,2)|0,(c[D>>2]|0)==0):0){b=c[r>>2]|0;a=c[h>>2]|0;c[D>>2]=wg(b,a,vg(c[o>>2]|0)|0,0)|0;xg(c[o>>2]|0)}a=(c[r>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}do if(!(c[D>>2]|0)){c[(c[r>>2]|0)+36>>2]=c[m>>2];c[(c[r>>2]|0)+32>>2]=(c[m>>2]|0)+1-(c[(c[r>>2]|0)+16>>2]|0);if((c[(c[r>>2]|0)+16>>2]|0)>>>0>(c[m>>2]|0)>>>0){c[D>>2]=101;break}if(!(c[(c[r>>2]|0)+40>>2]|0))yg(c[r>>2]|0)}while(0);if((c[D>>2]|0)==101){if(!(c[m>>2]|0)){c[D>>2]=zg(c[(c[r>>2]|0)+4>>2]|0)|0;c[m>>2]=1}if((c[D>>2]|0)==0|(c[D>>2]|0)==101)c[D>>2]=Ag(c[(c[r>>2]|0)+4>>2]|0,1,(c[(c[r>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[D>>2]|0)){if(c[c[r>>2]>>2]|0)Bg(c[c[r>>2]>>2]|0);if((c[f>>2]|0)==5)c[D>>2]=Cg(c[(c[r>>2]|0)+4>>2]|0,2)|0}if(!(c[D>>2]|0)){if((c[B>>2]|0)<(c[p>>2]|0)){c[q>>2]=(c[p>>2]|0)/(c[B>>2]|0)|0;c[k>>2]=((c[m>>2]|0)+(c[q>>2]|0)-1|0)/(c[q>>2]|0)|0;if((c[k>>2]|0)==((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[k>>2]=(c[k>>2]|0)+-1}else c[k>>2]=_(c[m>>2]|0,(c[B>>2]|0)/(c[p>>2]|0)|0)|0;if((c[B>>2]|0)<(c[p>>2]|0)){q=c[B>>2]|0;o=c[m>>2]|0;o=AR(q|0,((q|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=o;c[q+4>>2]=C;c[y>>2]=Dg(c[x>>2]|0)|0;Eg(c[x>>2]|0,l);c[g>>2]=c[k>>2];while(1){if(c[D>>2]|0)break;if((c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0)break;do if((c[g>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[r>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[D>>2]=ug(c[x>>2]|0,c[g>>2]|0,n,0)|0;if(c[D>>2]|0)break;c[D>>2]=Fg(c[n>>2]|0)|0;xg(c[n>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}if(!(c[D>>2]|0))c[D>>2]=Gg(c[x>>2]|0,0,1)|0;o=(c[381]|0)+(c[p>>2]|0)|0;a=((o|0)<0)<<31>>31;q=v;n=c[q+4>>2]|0;if((a|0)<(n|0)|((a|0)==(n|0)?o>>>0<(c[q>>2]|0)>>>0:0)){f=(c[381]|0)+(c[p>>2]|0)|0;e=f;f=((f|0)<0)<<31>>31}else{f=v;e=c[f>>2]|0;f=c[f+4>>2]|0}p=t;c[p>>2]=e;c[p+4>>2]=f;p=(c[381]|0)+(c[B>>2]|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[D>>2]|0)break;p=u;n=c[p+4>>2]|0;q=t;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[A>>2]=0;p=u;q=c[B>>2]|0;q=yR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=pR(q|0,C|0,1,0)|0;c[w>>2]=q;c[D>>2]=ug(c[z>>2]|0,c[w>>2]|0,A,0)|0;if(!(c[D>>2]|0)){c[E>>2]=vg(c[A>>2]|0)|0;q=u;c[D>>2]=Hg(c[y>>2]|0,c[E>>2]|0,c[B>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}xg(c[A>>2]|0);p=c[B>>2]|0;q=u;p=pR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=u;c[q>>2]=p;c[q+4>>2]=C}if(!(c[D>>2]|0)){E=v;c[D>>2]=Ig(c[y>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0}if(!(c[D>>2]|0))c[D>>2]=Jg(c[x>>2]|0,0)|0}else{Kg(c[x>>2]|0,c[k>>2]|0);c[D>>2]=Gg(c[x>>2]|0,0,0)|0}if(!(c[D>>2]|0)){E=Lg(c[(c[r>>2]|0)+4>>2]|0,0)|0;c[D>>2]=E;c[D>>2]=0==(E|0)?101:E}}}if(c[s>>2]|0){Mg(c[(c[r>>2]|0)+24>>2]|0,0)|0;Lg(c[(c[r>>2]|0)+24>>2]|0,0)|0}if((c[D>>2]|0)==3082)c[D>>2]=7;c[(c[r>>2]|0)+28>>2]=c[D>>2];E=c[D>>2]|0;i=F;return E|0}function Wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];mg(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=Ng(Pf(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Og(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){lg(c[c[e>>2]>>2]|0,c[g>>2]|0);Pg(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Pg(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function Xd(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+168>>2]|0;i=d;return e|0}function Yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;f=h+8|0;g=h+4|0;e=h;c[d>>2]=a;if(!(c[d>>2]|0))c[f>>2]=0;else{c[g>>2]=c[d>>2];c[e>>2]=c[c[g>>2]>>2];if(Qg(c[g>>2]|0)|0){c[b>>2]=Lf(72615)|0;g=c[b>>2]|0;i=h;return g|0}a=(c[g>>2]|0)+128|0;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[e>>2]|0,c[g>>2]|0);c[f>>2]=Sg(c[g>>2]|0)|0;c[f>>2]=Tg(c[e>>2]|0,c[f>>2]|0)|0;Pg(c[e>>2]|0)}c[b>>2]=c[f>>2];g=c[b>>2]|0;i=h;return g|0}function Zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g+4|0;d=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[e>>2]=0;f=c[e>>2]|0;i=g;return f|0}c[f>>2]=c[b>>2];c[d>>2]=c[c[f>>2]>>2];a=(c[f>>2]|0)+128|0;b=c[a+4>>2]|0;if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0)Rg(c[d>>2]|0,c[f>>2]|0);c[e>>2]=Ug(c[f>>2]|0)|0;Vg(c[f>>2]|0);c[e>>2]=Tg(c[d>>2]|0,c[e>>2]|0)|0;f=c[e>>2]|0;i=g;return f|0}function _d(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=e;c[h>>2]=0;c[g>>2]=c[k>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(b[(c[g>>2]|0)+68>>1]|0))break;Wg((c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+60>>2]|0)+((c[f>>2]|0)*40|0)+8>>1]=1;c[f>>2]=(c[f>>2]|0)+1}if(!((d[(c[g>>2]|0)+89>>0]|0)>>>7&255)){k=c[h>>2]|0;i=j;return k|0}if(!(c[(c[g>>2]|0)+188>>2]|0)){k=c[h>>2]|0;i=j;return k|0}k=(c[g>>2]|0)+87|0;a[k>>0]=a[k>>0]&-2|1;k=c[h>>2]|0;i=j;return k|0}function $d(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=ae(c[d>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}if(Xg(c[f>>2]|0)|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)d=c[(c[f>>2]|0)+16>>2]|0;else d=0;c[g>>2]=d;g=c[g>>2]|0;i=h;return g|0}function ae(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Yg(c[d>>2]|0,1)|0;i=b;return a|0}function be(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Zg(c[d>>2]|0,1)|0;i=b;return a|0}function ce(a){a=a|0;var b=0.0,d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;b=+_g(c[e>>2]|0);i=d;return +b}function de(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function ee(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=$g(c[d>>2]|0)|0;i=b;return a|0}function fe(a){a=a|0;var b=0,f=0;f=i;i=i+16|0;b=f;c[b>>2]=a;i=f;return d[18746+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function ge(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0,c[g>>2]|0);i=f;return}function he(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;b=j;f=c[b+4>>2]|0;if(f>>>0>0|(f|0)==0&(c[b>>2]|0)>>>0>2147483647){dh(c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;i=l;return}else{ch(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);i=l;return}}function ie(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;eh(c[c[f>>2]>>2]|0,+h[e>>3]);i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+8|0;h=f+4|0;g=f;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[j>>2]|0)+20>>2]=1;a[(c[j>>2]|0)+25>>0]=1;fh(c[c[j>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;i=f;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;gh(c[c[e>>2]>>2]|0,a,((a|0)<0)<<31>>31);i=d;return}function le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;gh(c[c[f>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=e;return}function me(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[c[d>>2]>>2]|0);i=b;return}function ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;ch(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1,c[g>>2]|0);i=f;return}function oe(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+16|0;l=p+12|0;m=p;n=p+8|0;o=p+20|0;c[k>>2]=b;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;c[n>>2]=h;a[o>>0]=j;if((d[o>>0]|0)==4)a[o>>0]=(a[960]|0)==0?3:2;e=m;h=c[e+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[e>>2]|0)>>>0>2147483647){dh(c[l>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;i=p;return}else{ch(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0);i=p;return}}function pe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;ih(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;i=d;return}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h+12|0;g=h;k=h+8|0;c[f>>2]=a;j=g;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=c[c[f>>2]>>2];d=g;j=c[d+4>>2]|0;a=c[(c[(c[k>>2]|0)+32>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if(j>>>0>b>>>0|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){c[e>>2]=18;k=c[e>>2]|0;i=h;return k|0}else{jh(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;i=h;return k|0}return 0}function re(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){i=h;return}b=c[c[f>>2]>>2]|0;fh(b,kh(c[g>>2]|0)|0,-1,1,0)|0;i=h;return}function se(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;fh(c[c[e>>2]>>2]|0,18778,-1,1,0)|0;i=d;return}function te(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;hh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;lh(c[(c[c[e>>2]>>2]|0)+32>>2]|0);i=d;return}function ue(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;d=n+32|0;e=n+28|0;h=n+24|0;j=n+20|0;l=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[h>>2]=0;c[j>>2]=0;c[l>>2]=c[e>>2];c[f>>2]=0;if(mh(c[l>>2]|0)|0){c[d>>2]=Lf(73166)|0;m=c[d>>2]|0;i=n;return m|0}c[g>>2]=c[c[l>>2]>>2];b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3;while(1){b=nh(c[l>>2]|0)|0;c[h>>2]=b;if((b|0)!=17)break;b=c[f>>2]|0;c[f>>2]=b+1;if((b|0)>=50)break;c[k>>2]=c[(c[l>>2]|0)+76>>2];b=oh(c[l>>2]|0)|0;c[h>>2]=b;c[j>>2]=b;if(c[h>>2]|0)break;Zd(c[e>>2]|0)|0;if((c[k>>2]|0)<0)continue;b=(c[l>>2]|0)+87|0;a[b>>0]=a[b>>0]&-3|2}do if(c[j>>2]|0){c[m>>2]=ae(c[(c[g>>2]|0)+240>>2]|0)|0;Tf(c[g>>2]|0,c[(c[l>>2]|0)+44>>2]|0);if(a[(c[g>>2]|0)+69>>0]|0){c[(c[l>>2]|0)+44>>2]=0;c[h>>2]=7;c[(c[l>>2]|0)+80>>2]=7;break}else{m=ph(c[g>>2]|0,c[m>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=m;c[(c[l>>2]|0)+80>>2]=c[j>>2];break}}while(0);c[h>>2]=Tg(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[h>>2];m=c[d>>2]|0;i=n;return m|0}function ve(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function we(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function xe(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;b=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=qh(b,c[f>>2]|0)|0;h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[b+8>>2]|0)+16>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function ye(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;i=d;return f|0}f=e[(c[b>>2]|0)+84>>1]|0;i=d;return f|0}function ze(a){a=a|0;var b=0,d=0,f=0,g=0;f=i;i=i+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+20>>2]|0)!=0:0){c[b>>2]=e[(c[d>>2]|0)+84>>1];g=c[b>>2]|0;i=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;i=f;return g|0}function Ae(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=$d(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=be(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+ce(sh(c[f>>2]|0,c[g>>2]|0)|0);th(c[f>>2]|0);i=e;return +(+h[d>>3])}function De(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=de(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ee(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;b=ee(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;a=e;c[a>>2]=b;c[a+4>>2]=C;th(c[f>>2]|0);a=e;C=c[a+4>>2]|0;i=d;return c[a>>2]|0}function Fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=ae(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ge(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+8|0;j=h+4|0;g=h;c[f>>2]=a;c[j>>2]=d;c[g>>2]=sh(c[f>>2]|0,c[j>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}j=(c[g>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-2049;j=(c[g>>2]|0)+8|0;b[j>>1]=e[j>>1]|0|4096;j=c[f>>2]|0;th(j);j=c[g>>2]|0;i=h;return j|0}function He(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fe(sh(c[f>>2]|0,c[g>>2]|0)|0)|0;th(c[f>>2]|0);i=e;return c[d>>2]|0}function Ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=uh(c[f>>2]|0,c[e>>2]|0,169,0)|0;i=d;return a|0}function Je(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,0)|0;i=g;return d|0}function Ke(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;e=k+16|0;f=k;j=k+12|0;g=k+8|0;c[l>>2]=a;c[e>>2]=b;h[f>>3]=d;c[g>>2]=c[l>>2];c[j>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}eh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);l=c[j>>2]|0;i=k;return l|0}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;a=c[h>>2]|0;a=Me(c[g>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;i=e;return a|0}function Me(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k+16|0;g=k;j=k+12|0;h=k+8|0;c[l>>2]=a;c[f>>2]=b;a=g;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=c[l>>2];c[j>>2]=wh(c[h>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=g;gh((c[(c[h>>2]|0)+60>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[l>>2]|0,c[l+4>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=wh(c[g>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,1)|0;i=g;return d|0}function Pe(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=f;switch(fe(c[k>>2]|0)|0){case 1:{k=c[k>>2]|0;c[l>>2]=Me(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}case 2:{c[l>>2]=Ke(c[g>>2]|0,c[j>>2]|0,+h[c[k>>2]>>3])|0;l=c[l>>2]|0;i=m;return l|0}case 4:{b=c[g>>2]|0;g=c[j>>2]|0;d=c[k>>2]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16384){c[l>>2]=Qe(b,g,c[d>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{c[l>>2]=Je(b,g,c[d+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1)|0;l=c[l>>2]|0;i=m;return l|0}}case 3:{c[l>>2]=vh(c[g>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,-1,a[(c[k>>2]|0)+10>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}default:{c[l>>2]=Ne(c[g>>2]|0,c[j>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}}return 0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[k>>2];c[h>>2]=wh(c[g>>2]|0,c[e>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}jh((c[(c[g>>2]|0)+60>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Re(a){a=a|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;i=e;return f|0}f=b[(c[d>>2]|0)+68>>1]|0;i=e;return f|0}function Se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=xh(a,b,Jf(c[e>>2]|0)|0)|0;i=d;return b|0}function Te(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fe(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){a=c[d>>2]|0;i=f;return a|0}c[e>>2]=c[b>>2];zh(c[e>>2]|0,0);c[d>>2]=fe(c[b>>2]|0)|0;a=c[d>>2]|0;i=f;return a|0}function Ue(f,g,h,j,k,l,m,n){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+144|0;M=Q+48|0;L=Q+40|0;N=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;F=Q+132|0;o=Q+128|0;p=Q+124|0;G=Q+120|0;q=Q;r=Q+116|0;H=Q+112|0;x=Q+108|0;t=Q+104|0;K=Q+100|0;O=Q+96|0;A=Q+92|0;J=Q+88|0;I=Q+84|0;P=Q+80|0;z=Q+76|0;y=Q+72|0;v=Q+68|0;w=Q+64|0;B=Q+60|0;u=Q+56|0;s=Q+52|0;c[F>>2]=f;c[o>>2]=g;c[p>>2]=h;c[G>>2]=j;h=q;c[h>>2]=k;c[h+4>>2]=l;c[r>>2]=m;c[H>>2]=n;c[x>>2]=0;c[K>>2]=0;c[O>>2]=0;c[J>>2]=0;c[I>>2]=0;c[c[H>>2]>>2]=0;c[r>>2]=((c[r>>2]|0)!=0^1^1)&1;c[I>>2]=rh(c[F>>2]|0,28,0)|0;a:do if((c[I>>2]|0)!=0?(c[J>>2]=Ah(c[F>>2]|0,544,0)|0,(c[J>>2]|0)!=0):0){while(1){tR(c[J>>2]|0,0,544)|0;c[c[J>>2]>>2]=c[F>>2];Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=0;Of(c[F>>2]|0);c[A>>2]=Bh(c[J>>2]|0,0,c[p>>2]|0,c[o>>2]|0)|0;if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&16|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[C>>2]=c[p>>2];Ch(h,18801,C)}if((c[A>>2]|0)!=0?(d[(c[A>>2]|0)+42>>0]&32|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[D>>2]=c[p>>2];Ch(h,18831,D)}if((c[A>>2]|0)!=0?(c[(c[A>>2]|0)+12>>2]|0)!=0:0){c[A>>2]=0;h=c[J>>2]|0;c[E>>2]=c[p>>2];Ch(h,18867,E)}if(!(c[A>>2]|0)){k=13;break}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;if(!(ig(c[(c[(c[A>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0,c[G>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(b[(c[A>>2]|0)+34>>1]|0)){k=21;break}if(c[r>>2]|0){c[P>>2]=0;b:do if(c[(c[F>>2]|0)+24>>2]&524288){c[y>>2]=c[(c[A>>2]|0)+16>>2];while(1){if(!(c[y>>2]|0))break b;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;if((c[(c[y>>2]|0)+36+(c[v>>2]<<3)>>2]|0)==(c[t>>2]|0))c[P>>2]=18909;c[v>>2]=(c[v>>2]|0)+1}c[y>>2]=c[(c[y>>2]|0)+4>>2]}}while(0);c[z>>2]=c[(c[A>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[z>>2]|0)+50>>1]|0))break;if(!((b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=(c[t>>2]|0)?(b[(c[(c[z>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)!=-2:0))c[P>>2]=18921;c[w>>2]=(c[w>>2]|0)+1}c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(c[P>>2]|0){k=42;break}}h=Eh(c[J>>2]|0)|0;c[(c[I>>2]|0)+20>>2]=h;if(c[(c[I>>2]|0)+20>>2]|0){c[B>>2]=c[(c[I>>2]|0)+20>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[A>>2]|0)+64>>2]|0)|0;Gh(c[B>>2]|0,2,c[u>>2]|0,c[r>>2]|0,c[c[(c[A>>2]|0)+64>>2]>>2]|0,c[(c[(c[A>>2]|0)+64>>2]|0)+4>>2]|0)|0;Hh(c[B>>2]|0,1);c[s>>2]=Ih(c[B>>2]|0,9,18963,0)|0;Jh(c[B>>2]|0,c[u>>2]|0);if(!(d[(c[F>>2]|0)+69>>0]|0)){c[(c[s>>2]|0)+4>>2]=c[u>>2];c[(c[s>>2]|0)+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+12>>2]=c[r>>2];Kh(c[B>>2]|0,1,c[c[A>>2]>>2]|0,0)}if(!(d[(c[F>>2]|0)+69>>0]|0)){if(c[r>>2]|0)a[(c[s>>2]|0)+20>>0]=55;c[(c[s>>2]|0)+20+8>>2]=c[(c[A>>2]|0)+28>>2];c[(c[s>>2]|0)+20+12>>2]=c[u>>2];a[(c[s>>2]|0)+20+1>>0]=-14;c[(c[s>>2]|0)+20+16>>2]=(b[(c[A>>2]|0)+34>>1]|0)+1;c[(c[s>>2]|0)+80+8>>2]=b[(c[A>>2]|0)+34>>1];b[(c[J>>2]|0)+444>>1]=1;c[(c[J>>2]|0)+76>>2]=1;c[(c[J>>2]|0)+72>>2]=1;Lh(c[B>>2]|0,c[J>>2]|0)}}c[c[I>>2]>>2]=c[r>>2];c[(c[I>>2]|0)+12>>2]=c[t>>2];c[(c[I>>2]|0)+24>>2]=c[F>>2];if(a[(c[F>>2]|0)+69>>0]|0)break a;h=q;Me(c[(c[I>>2]|0)+20>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;h=q;c[K>>2]=Mh(c[I>>2]|0,c[h>>2]|0,c[h+4>>2]|0,O)|0;h=(c[x>>2]|0)+1|0;c[x>>2]=h;if(!((h|0)<50?(c[K>>2]|0)==17:0))break a}if((k|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Tf(c[F>>2]|0,c[O>>2]|0);c[O>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[K>>2]=1;break}else if((k|0)==21){Tf(c[F>>2]|0,c[O>>2]|0);P=c[F>>2]|0;c[N>>2]=c[G>>2];c[O>>2]=Dh(P,18888,N)|0;c[K>>2]=1;break}else if((k|0)==42){Tf(c[F>>2]|0,c[O>>2]|0);N=c[F>>2]|0;c[L>>2]=c[P>>2];c[O>>2]=Dh(N,18929,L)|0;c[K>>2]=1;break}}while(0);if((c[K>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){c[c[H>>2]>>2]=c[I>>2];L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18999:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}if((c[I>>2]|0)!=0?(c[(c[I>>2]|0)+20>>2]|0)!=0:0)Sg(c[(c[I>>2]|0)+20>>2]|0)|0;Tf(c[F>>2]|0,c[I>>2]|0);L=c[F>>2]|0;P=c[K>>2]|0;N=c[O>>2]|0;N=(N|0)!=0;N=N?18999:0;I=c[O>>2]|0;c[M>>2]=I;jg(L,P,N,M);N=c[F>>2]|0;P=c[O>>2]|0;Tf(N,P);P=c[J>>2]|0;Nh(P);P=c[F>>2]|0;O=c[J>>2]|0;Tf(P,O);O=c[F>>2]|0;P=c[K>>2]|0;P=Tg(O,P)|0;c[K>>2]=P;P=c[K>>2]|0;i=Q;return P|0}function Ve(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0){c[b>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=Yd(c[(c[d>>2]|0)+20>>2]|0)|0;Tf(c[b>>2]|0,c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}return 0}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Ph(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,138)|0;i=f;return b|0}function Xe(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;i=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;i=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;i=d;return e|0}function Ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;j=m+24|0;h=m+20|0;g=m+16|0;l=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=Lf(81809)|0;n=c[e>>2]|0;i=m;return n|0}c[g>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[j>>2]=Mh(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,l)|0;if(c[j>>2]|0){h=c[g>>2]|0;a=c[j>>2]|0;n=(c[l>>2]|0)!=0?18999:0;c[k>>2]=c[l>>2];jg(h,a,n,k);Tf(c[g>>2]|0,c[l>>2]|0)}}else c[j>>2]=4;c[j>>2]=Tg(c[g>>2]|0,c[j>>2]|0)|0;c[e>>2]=c[j>>2];n=c[e>>2]|0;i=m;return n|0}function Ze(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Rh(c[f>>2]|0,c[e>>2]|0,19002,91)|0)==0&1;i=d;return b|0}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=(Rh(c[h>>2]|0,c[g>>2]|0,19006,c[f>>2]|0)|0)==0&1;i=e;return b|0}function $e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;j=z+56|0;k=z+52|0;l=z+48|0;m=z+44|0;n=z+40|0;o=z+36|0;w=z+32|0;x=z+28|0;v=z+24|0;p=z+20|0;r=z+16|0;t=z+12|0;q=z+8|0;s=z+4|0;u=z;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=0;c[v>>2]=0;c[p>>2]=0;if(!(Sh(c[k>>2]|0)|0)){c[j>>2]=Lf(105726)|0;y=c[j>>2]|0;i=z;return y|0}if(!(c[l>>2]|0))c[l>>2]=19010;lg(c[k>>2]|0,0);a:while(1){if(c[w>>2]|0)break;if(!(a[c[l>>2]>>0]|0))break;c[q>>2]=0;c[v>>2]=0;c[w>>2]=af(c[k>>2]|0,c[l>>2]|0,-1,v,x)|0;if(c[w>>2]|0)continue;if(!(c[v>>2]|0)){c[l>>2]=c[x>>2];continue}c[r>>2]=0;c[t>>2]=ye(c[v>>2]|0)|0;do{c[w>>2]=ue(c[v>>2]|0)|0;do if(c[m>>2]|0){if(100!=(c[w>>2]|0)){if(101!=(c[w>>2]|0)|(c[r>>2]|0)!=0)break;if(!(c[(c[k>>2]|0)+24>>2]&256))break}if(!(c[r>>2]|0)){c[p>>2]=rh(c[k>>2]|0,(c[t>>2]<<1<<2)+1|0,0)|0;if(!(c[p>>2]|0))break a;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break;e=Ie(c[v>>2]|0,c[s>>2]|0)|0;c[(c[p>>2]|0)+(c[s>>2]<<2)>>2]=e;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=1}b:do if((c[w>>2]|0)==100){c[q>>2]=(c[p>>2]|0)+(c[t>>2]<<2);c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[t>>2]|0))break b;e=Fe(c[v>>2]|0,c[s>>2]|0)|0;c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]=e;if((c[(c[q>>2]|0)+(c[s>>2]<<2)>>2]|0)==0?(He(c[v>>2]|0,c[s>>2]|0)|0)!=5:0){y=27;break a}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(Wb[c[m>>2]&255](c[n>>2]|0,c[t>>2]|0,c[q>>2]|0,c[p>>2]|0)|0){y=30;break a}}while(0)}while((c[w>>2]|0)==100);c[w>>2]=Sg(c[v>>2]|0)|0;c[v>>2]=0;c[l>>2]=c[x>>2];while(1){if(!(d[19011+(d[c[l>>2]>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}Tf(c[k>>2]|0,c[p>>2]|0);c[p>>2]=0}if((y|0)==27)lh(c[k>>2]|0);else if((y|0)==30){c[w>>2]=4;Sg(c[v>>2]|0)|0;c[v>>2]=0;lg(c[k>>2]|0,4)}if(c[v>>2]|0)Sg(c[v>>2]|0)|0;Tf(c[k>>2]|0,c[p>>2]|0);c[w>>2]=Tg(c[k>>2]|0,c[w>>2]|0)|0;do if((c[w>>2]|0)!=0&(c[o>>2]|0)!=0){c[u>>2]=1+(Jf(bf(c[k>>2]|0)|0)|0);y=c[u>>2]|0;y=$f(y,((y|0)<0)<<31>>31)|0;c[c[o>>2]>>2]=y;if(c[c[o>>2]>>2]|0){e=c[c[o>>2]>>2]|0;y=bf(c[k>>2]|0)|0;rR(e|0,y|0,c[u>>2]|0)|0;break}else{c[w>>2]=7;lg(c[k>>2]|0,7);break}}else if(c[o>>2]|0)c[c[o>>2]>>2]=0;while(0);c[j>>2]=c[w>>2];y=c[j>>2]|0;i=z;return y|0}function af(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,1,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function bf(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=kh(7)|0;f=c[d>>2]|0;i=g;return f|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=kh(Lf(135352)|0)|0;f=c[d>>2]|0;i=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=ae(c[(c[e>>2]|0)+240>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=kh(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=kh(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function cf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Th(c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0,0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Vh(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return b|0}function ef(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;b=Vh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return b|0}function ff(e,f){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;q=i;i=i+48|0;o=q;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;n=q+12|0;m=q+8|0;p=q+4|0;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[p>>2]=0;c[k>>2]=c[(c[h>>2]|0)+336>>2];if((c[k>>2]|0)!=0?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[m>>2]=c[(c[k>>2]|0)+4>>2];c[l>>2]=rh(c[h>>2]|0,544,0)|0;if(!(c[l>>2]|0))c[n>>2]=7;else{a[(c[l>>2]|0)+454>>0]=1;c[c[l>>2]>>2]=c[h>>2];c[(c[l>>2]|0)+428>>2]=1;if((((0==(Wh(c[l>>2]|0,c[j>>2]|0,p)|0)?(c[(c[l>>2]|0)+488>>2]|0)!=0:0)?(a[(c[h>>2]|0)+69>>0]|0)==0:0)?(c[(c[(c[l>>2]|0)+488>>2]|0)+12>>2]|0)==0:0)?(d[(c[(c[l>>2]|0)+488>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[m>>2]|0)+4>>2]|0)){c[(c[m>>2]|0)+4>>2]=c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2];b[(c[m>>2]|0)+34>>1]=b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]|0;b[(c[(c[l>>2]|0)+488>>2]|0)+34>>1]=0;c[(c[(c[l>>2]|0)+488>>2]|0)+4>>2]=0}c[(c[k>>2]|0)+12>>2]=1}else{m=c[h>>2]|0;f=(c[p>>2]|0)!=0?18999:0;c[o>>2]=c[p>>2];jg(m,1,f,o);Tf(c[h>>2]|0,c[p>>2]|0);c[n>>2]=1}a[(c[l>>2]|0)+454>>0]=0;if(c[(c[l>>2]|0)+8>>2]|0)Sg(c[(c[l>>2]|0)+8>>2]|0)|0;Rf(c[h>>2]|0,c[(c[l>>2]|0)+488>>2]|0);Nh(c[l>>2]|0);Tf(c[h>>2]|0,c[l>>2]|0)}c[n>>2]=Tg(c[h>>2]|0,c[n>>2]|0)|0;c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}lg(c[h>>2]|0,21);c[g>>2]=Lf(119383)|0;p=c[g>>2]|0;i=q;return p|0}function gf(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[19267+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function hf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+28|0;l=k+24|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[l>>2]=d;c[j>>2]=0;c[g>>2]=e;do if((c[l>>2]|0)==1){c[h>>2]=c[(c[f>>2]|0)+336>>2];if(c[h>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);l=c[e>>2]|0;c[g>>2]=e+4;a[(c[c[h>>2]>>2]|0)+16>>0]=l;break}else{c[j>>2]=Lf(119834)|0;break}}else c[j>>2]=Lf(119842)|0;while(0);if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}lg(c[f>>2]|0,c[j>>2]|0);l=c[j>>2]|0;i=k;return l|0}function jf(){return 18206}function kf(){return 19285}function lf(){return 3012e3}function mf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+48|0;h=k+44|0;d=k+40|0;e=k+24|0;j=k+16|0;g=k+8|0;f=k;c[d>>2]=a;c[j>>2]=0;if(c[59]|0){c[h>>2]=Lf(133555)|0;j=c[h>>2]|0;i=k;return j|0}c[e>>2]=b;do switch(c[d>>2]|0){case 4:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[12]=c[b>>2];c[13]=c[b+4>>2];c[14]=c[b+8>>2];c[15]=c[b+12>>2];c[16]=c[b+16>>2];c[17]=c[b+20>>2];c[18]=c[b+24>>2];c[19]=c[b+28>>2];break}case 5:{if(!(c[12]|0))Zh();g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[b>>2]=c[12];c[b+4>>2]=c[13];c[b+8>>2]=c[14];c[b+12>>2]=c[15];c[b+16>>2]=c[16];c[b+20>>2]=c[17];c[b+24>>2]=c[18];c[b+28>>2]=c[19];break}case 9:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[2]=b;break}case 6:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[50]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[51]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[52]=b;break}case 7:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[53]=b;b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[54]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[55]=b;break}case 24:{g=(_h()|0)+($h()|0)+(ai()|0)|0;a=(c[e>>2]|0)+(4-1)&~(4-1);b=c[a>>2]|0;c[e>>2]=a+4;c[b>>2]=g;break}case 14:break;case 15:{c[j>>2]=1;break}case 18:{d=(c[e>>2]|0)+(4-1)&~(4-1);f=c[d>>2]|0;c[e>>2]=d+4;d=116;e=f;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 19:{if(!(c[31]|0))bi();f=(c[e>>2]|0)+(4-1)&~(4-1);d=c[f>>2]|0;c[e>>2]=f+4;e=116;f=d+52|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));break}case 13:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[9]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[10]=b;break}case 16:{b=(c[e>>2]|0)+(4-1)&~(4-1);g=c[b>>2]|0;c[e>>2]=b+4;c[66]=g;g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[67]=b;break}case 17:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[5]=b;break}case 20:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[6]=b;break}case 22:{b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;b=g;c[b>>2]=d;c[b+4>>2]=a;b=(c[e>>2]|0)+(8-1)&~(8-1);a=b;d=c[a>>2]|0;a=c[a+4>>2]|0;c[e>>2]=b+8;e=f;c[e>>2]=d;c[e+4>>2]=a;e=f;b=c[e+4>>2]|0;e=(c[f+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[e>>2]|0)>>>0>0);b=f;c[b>>2]=e?0:d;c[b+4>>2]=e?0:a;if((c[g+4>>2]|0)<0){b=g;c[b>>2]=0;c[b+4>>2]=0}a=g;d=c[a+4>>2]|0;b=f;e=c[b+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){e=f;a=c[e+4>>2]|0;b=g;c[b>>2]=c[e>>2];c[b+4>>2]=a}b=c[f+4>>2]|0;a=192;c[a>>2]=c[f>>2];c[a+4>>2]=b;a=g;g=c[a+4>>2]|0;b=184;c[b>>2]=c[a>>2];c[b+4>>2]=g;break}case 25:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[58]=b;break}case 26:{g=(c[e>>2]|0)+(4-1)&~(4-1);b=c[g>>2]|0;c[e>>2]=g+4;c[11]=b;break}default:c[j>>2]=1}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Pf(c[e>>2]|0)|0;ci(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}i=g;return 0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var 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;r=i;i=i+64|0;e=r+52|0;f=r+48|0;g=r+32|0;o=r+28|0;m=r+24|0;p=r+20|0;h=r+16|0;j=r+12|0;l=r+8|0;n=r+4|0;k=r;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)==1001){d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[m>>2]=q;q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[p>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[h>>2]=q;c[o>>2]=ei(c[e>>2]|0,c[m>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;q=c[o>>2]|0;i=r;return q|0}c[o>>2]=1;c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=3){q=16;break}if((c[1536+(c[j>>2]<<3)>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if((q|0)==16){q=c[o>>2]|0;i=r;return q|0}q=(c[g>>2]|0)+(4-1)&~(4-1);d=c[q>>2]|0;c[g>>2]=q+4;c[l>>2]=d;d=(c[g>>2]|0)+(4-1)&~(4-1);q=c[d>>2]|0;c[g>>2]=d+4;c[n>>2]=q;c[k>>2]=c[(c[e>>2]|0)+24>>2];if((c[l>>2]|0)<=0){if(!(c[l>>2]|0)){q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]&~c[1536+(c[j>>2]<<3)+4>>2]}}else{q=(c[e>>2]|0)+24|0;c[q>>2]=c[q>>2]|c[1536+(c[j>>2]<<3)+4>>2]}if((c[k>>2]|0)!=(c[(c[e>>2]|0)+24>>2]|0))Qh(c[e>>2]|0);if(c[n>>2]|0)c[c[n>>2]>>2]=(c[(c[e>>2]|0)+24>>2]&c[1536+(c[j>>2]<<3)+4>>2]|0)!=0&1;c[o>>2]=0;q=c[o>>2]|0;i=r;return q|0}function pf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;C=c[a+4>>2]|0;i=b;return c[a>>2]|0}function qf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+84>>2]|0}function rf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+88>>2]|0}function sf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,0)|0;i=b;return a|0}function tf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fi(c[d>>2]|0,1)|0;i=b;return a|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;i=e;return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){uf(a,178,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];i=f;return 0}else{uf(a,0,0)|0;i=f;return 0}return 0}function wf(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;i=i+32|0;s=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;n=k+8|0;m=k+4|0;l=k;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[l>>2]=j;b=xf(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,0)|0;i=k;return b|0}function xf(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;t=x+8|0;v=x+4|0;u=x;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[v>>2]=1;c[u>>2]=0;do if(c[t>>2]|0){c[u>>2]=rh(c[l>>2]|0,12,0)|0;a=c[t>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[p>>2];w=5;break}else{Qb[a&255](c[p>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[v>>2]=hi(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[u>>2]|0)|0,(c[u>>2]|0)!=0):0)?(c[c[u>>2]>>2]|0)==0:0){Qb[c[t>>2]&255](c[p>>2]|0);Tf(c[l>>2]|0,c[u>>2]|0)}c[v>>2]=Tg(c[l>>2]|0,c[v>>2]|0)|0;i=x;return c[v>>2]|0}function yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(ii(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=hi(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,224,0,0,0)|0;c[h>>2]=Tg(c[e>>2]|0,c[h>>2]|0)|0;i=j;return c[h>>2]|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){Af(a,139,c[d>>2]|0)|0;i=e;return 0}else{Af(a,0,0)|0;i=e;return 0}return 0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+224>>2];c[(c[g>>2]|0)+220>>2]=c[j>>2];c[(c[g>>2]|0)+224>>2]=c[h>>2];i=f;return c[e>>2]|0}function Bf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;p=r+8|0;o=r+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=10;if(c[m>>2]|0)c[c[m>>2]>>2]=-1;if(c[n>>2]|0)c[c[n>>2]>>2]=-1;if((c[l>>2]|0)<0|(c[l>>2]|0)>3){c[h>>2]=21;d=c[h>>2]|0;i=r;return d|0}if((c[k>>2]|0)!=0?(a[c[k>>2]>>0]|0)!=0:0)c[o>>2]=li(c[j>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){c[p>>2]=1;d=c[j>>2]|0;c[q>>2]=c[k>>2];jg(d,1,19346,q)}else{c[(c[j>>2]|0)+380+8>>2]=0;c[p>>2]=mi(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;lg(c[j>>2]|0,c[p>>2]|0)}c[p>>2]=Tg(c[j>>2]|0,c[p>>2]|0)|0;c[h>>2]=c[p>>2];d=c[h>>2]|0;i=r;return d|0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Bf(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return b|0}function Df(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(Uh(c[e>>2]|0)|0)==0:0){c[b>>2]=Lf(135421)|0;a=c[b>>2]|0;i=f;return a|0}if((c[e>>2]|0)!=0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];a=c[b>>2]|0;i=f;return a|0}c[b>>2]=7;a=c[b>>2]|0;i=f;return a|0}function Ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[1560+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[1560+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+92+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oi(c[f>>2]|0,c[e>>2]|0,6,0)|0;i=d;return a|0}function Gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;o=m+28|0;n=m+24|0;f=m+20|0;g=m+16|0;l=m+12|0;j=m+8|0;k=m+4|0;h=m;c[o>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=e;c[l>>2]=1;c[j>>2]=vi(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[j>>2]|0)){o=c[l>>2]|0;i=m;return o|0}mg(c[j>>2]|0);c[k>>2]=Pf(c[j>>2]|0)|0;c[h>>2]=Dg(c[k>>2]|0)|0;if((c[f>>2]|0)==7){c[c[g>>2]>>2]=c[h>>2];c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==27){o=wi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if((c[f>>2]|0)==28){o=xi(c[k>>2]|0)|0;c[c[g>>2]>>2]=o;c[l>>2]=0;o=c[l>>2]|0;i=m;return o|0}if(c[c[h>>2]>>2]|0){c[l>>2]=yi(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;o=c[l>>2]|0;i=m;return o|0}else{c[l>>2]=12;o=c[l>>2]|0;i=m;return o|0}return 0}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=HQ(c[e>>2]|0,c[f>>2]|0)|0;d=(Jf(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(Jf(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function If(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Hf(c[j>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){j=(Ei(c[f>>2]|0,c[e>>2]&255)|0)&255;i=g;return j|0}else{j=c[e>>2]|0;i=g;return j|0}return 0}function Jf(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(KQ(c[d>>2]|0)|0);i=e;return c[b>>2]|0}function Kf(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return ((d[19011+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function Lf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(21,c[d>>2]|0,46699)|0;i=b;return a|0}function Mf(){return c[423]|0}function Nf(){return c[70]|0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}i=f;return}function Pf(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}hv(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Tf(c[d>>2]|0,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);ev(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function Rf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){i=l;return}if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))k=4;if((k|0)==4?(d=(c[f>>2]|0)+36|0,k=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=k,(k&65535|0)>0):0){i=l;return}c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0)){c[j>>2]=c[c[g>>2]>>2];Sj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[j>>2]|0,0)|0}bH(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}UP(c[e>>2]|0,c[f>>2]|0);YG(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[c[f>>2]>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);av(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);IH(c[e>>2]|0,c[f>>2]|0);Tf(c[e>>2]|0,c[f>>2]|0);i=l;return}function Sf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+16|0;j=l+12|0;g=l+8|0;f=l+4|0;k=l;c[h>>2]=a;c[j>>2]=d;uC(c[(c[j>>2]|0)+60>>2]|0,b[(c[j>>2]|0)+68>>1]|0);uC(c[(c[j>>2]|0)+16>>2]|0,e[(c[j>>2]|0)+84>>1]<<1);c[g>>2]=c[(c[j>>2]|0)+192>>2];while(1){if(!(c[g>>2]|0))break;c[f>>2]=c[(c[g>>2]|0)+24>>2];TP(c[h>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[h>>2]|0,c[g>>2]|0);c[g>>2]=c[f>>2]}c[k>>2]=(b[(c[j>>2]|0)+70>>1]|0)-1;while(1){a=c[h>>2]|0;if((c[k>>2]|0)<0)break;Tf(a,c[(c[(c[j>>2]|0)+64>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+-1}Tf(a,c[(c[j>>2]|0)+64>>2]|0);TP(c[h>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+32>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+168>>2]|0);Tf(c[h>>2]|0,c[(c[j>>2]|0)+172>>2]|0);i=l;return}function Tf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){SP(a,b);i=g;return}if(gu(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;i=g;return}}Kd(c[e>>2]|0);i=g;return}function Uf(){var a=0,b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;a=g+12|0;b=g+8|0;f=g+4|0;d=g;if(!(c[12]|0))Zh();c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;c[70]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[f>>2]=c[51]&-8;c[51]=c[f>>2];c[d>>2]=c[50];c[b>>2]=c[52];c[75]=c[d>>2];c[76]=c[b>>2];c[a>>2]=0;while(1){if((c[a>>2]|0)>=((c[b>>2]|0)-1|0))break;c[c[d>>2]>>2]=(c[d>>2]|0)+(c[f>>2]|0);c[d>>2]=c[c[d>>2]>>2];c[a>>2]=(c[a>>2]|0)+1}c[c[d>>2]>>2]=0;c[74]=(c[d>>2]|0)+4}else{c[74]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[e>>2]=Tb[c[68>>2]&255](c[19]|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;i=g;return f|0};c[70]=0;c[71]=0;c[72]=0;c[73]=0;c[74]=0;c[75]=0;c[76]=0;c[77]=0;f=c[e>>2]|0;i=g;return f|0}function Vf(){BO();CO();DO(7784,57);return}function Wf(){if(!(c[31]|0))bi();return Tb[c[124>>2]&255](c[30]|0)|0}function Xf(){var a=0,b=0,d=0;d=i;i=i+16|0;a=d+4|0;b=d;c[b>>2]=Id(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;i=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Ud()|0;b=c[a>>2]|0;i=d;return b|0}return 0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[415]|0)){i=j;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[418]=c[f>>2];b=c[g>>2]|0;c[425]=b;c[419]=b;if((c[g>>2]|0)>90)d=10;else d=((c[g>>2]|0)/10|0)+1|0;c[420]=d;c[421]=c[e>>2];c[424]=0;c[426]=0;while(1){b=c[g>>2]|0;c[g>>2]=b+-1;d=c[e>>2]|0;if(!b)break;c[h>>2]=d;c[c[h>>2]>>2]=c[424];c[424]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[422]=d;i=j;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}if((c[269]|0)==(c[d>>2]|0)){c[269]=c[(c[d>>2]|0)+12>>2];i=f;return}if(!(c[269]|0)){i=f;return}c[e>>2]=c[269];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){i=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];i=f;return}function _f(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;C=0;i=d;return c[996+(c[b>>2]<<2)>>2]|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}if(c[2]|0){AO(c[d>>2]|0,e)|0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=Tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}return 0}function ag(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[60>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function bg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=996+(c[f>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)-(c[e>>2]|0);i=d;return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;e=m+28|0;f=m+24|0;g=m;k=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;b=c[d>>2]|0;d=c[d+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=$f(b,d)|0;l=c[e>>2]|0;i=m;return l|0}if((b|0)==0&(d|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}a=g;d=c[a+4>>2]|0;if(d>>>0>0|(d|0)==0&(c[a>>2]|0)>>>0>=2147483392){c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}c[k>>2]=ag(c[f>>2]|0)|0;c[j>>2]=Tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[2]|0)){c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;break}Pi(5,c[g>>2]|0);c[h>>2]=(c[j>>2]|0)-(c[k>>2]|0);d=_f(0)|0;n=C;b=288;a=c[h>>2]|0;a=oR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=C;if((n|0)>(b|0)|(n|0)==(b|0)&d>>>0>=a>>>0)zO(c[h>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0;n=288;h=c[n+4>>2]|0;if((c[l>>2]|0)==0&((h|0)>0|(h|0)==0&(c[n>>2]|0)>>>0>0)){zO(c[g>>2]|0);c[l>>2]=Yb[c[56>>2]&255](c[f>>2]|0,c[j>>2]|0)|0}if(c[l>>2]|0){c[j>>2]=ag(c[l>>2]|0)|0;Qi(0,(c[j>>2]|0)-(c[k>>2]|0)|0)}}else c[l>>2]=c[f>>2];while(0);c[e>>2]=c[l>>2];n=c[e>>2]|0;i=m;return n|0}function dg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;j=h+16|0;m=h+12|0;n=h+8|0;l=h+4|0;k=h;c[j>>2]=b;c[m>>2]=d;c[n>>2]=e;c[l>>2]=f;c[k>>2]=g;e=c[n>>2]|0;c[(c[j>>2]|0)+4>>2]=e;c[(c[j>>2]|0)+8>>2]=e;c[c[j>>2]>>2]=c[m>>2];c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=c[l>>2];c[(c[j>>2]|0)+20>>2]=c[k>>2];a[(c[j>>2]|0)+24>>0]=0;a[(c[j>>2]|0)+25>>0]=0;i=h;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0;ra=i;i=i+272|0;j=ra+176|0;k=ra+172|0;l=ra+168|0;q=ra+164|0;p=ra+160|0;aa=ra+156|0;Q=ra+152|0;K=ra+148|0;ja=ra+144|0;B=ra+268|0;F=ra+267|0;z=ra+266|0;x=ra+265|0;y=ra+264|0;H=ra+263|0;D=ra+262|0;E=ra+261|0;t=ra+260|0;na=ra+259|0;m=ra+258|0;ha=ra+257|0;ba=ra+256|0;R=ra+32|0;ea=ra+24|0;L=ra+140|0;pa=ra+136|0;T=ra+132|0;oa=ra+128|0;w=ra+124|0;u=ra+120|0;W=ra+116|0;fa=ra+16|0;A=ra+255|0;G=ra+254|0;X=ra+112|0;o=ra+184|0;ka=ra+108|0;ca=ra+104|0;ia=ra+8|0;la=ra+100|0;s=ra+96|0;n=ra+183|0;$=ra+92|0;ma=ra+182|0;ga=ra;I=ra+88|0;U=ra+84|0;J=ra+80|0;N=ra+76|0;O=ra+72|0;S=ra+68|0;M=ra+64|0;V=ra+60|0;r=ra+181|0;da=ra+180|0;v=ra+56|0;_=ra+52|0;Z=ra+48|0;P=ra+44|0;Y=ra+40|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;a[na>>0]=0;c[oa>>2]=0;c[X>>2]=0;c[p>>2]=0;if(a[(c[j>>2]|0)+25>>0]|0){b=d[(c[j>>2]|0)+25>>0]&2;a[m>>0]=b;if(b&255){e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[X>>2]=b}a[ha>>0]=d[(c[j>>2]|0)+25>>0]&1}else{a[ha>>0]=0;a[m>>0]=0}a:while(1){b=a[c[k>>2]>>0]|0;c[q>>2]=b;if(!b){qa=268;break}if((c[q>>2]|0)!=37){c[p>>2]=c[k>>2];do{c[k>>2]=(c[k>>2]|0)+1;if(!(a[c[k>>2]>>0]|0))break}while((a[c[k>>2]>>0]|0)!=37);gA(c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)-(c[p>>2]|0)|0);if(!(a[c[k>>2]>>0]|0)){qa=268;break}}b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b;if(!b){qa=13;break}a[H>>0]=0;a[y>>0]=0;a[x>>0]=0;a[z>>0]=0;a[F>>0]=0;a[B>>0]=0;a[t>>0]=0;do{switch(c[q>>2]|0){case 45:{a[B>>0]=1;break}case 43:{a[F>>0]=1;break}case 32:{a[z>>0]=1;break}case 35:{a[x>>0]=1;break}case 33:{a[y>>0]=1;break}case 48:{a[H>>0]=1;break}default:a[t>>0]=1}if(a[t>>0]|0)break;b=(c[k>>2]|0)+1|0;c[k>>2]=b;b=a[b>>0]|0;c[q>>2]=b}while((b|0)!=0);if((c[q>>2]|0)==42){if(a[m>>0]|0){b=uO(c[X>>2]|0)|0;c[ja>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[ja>>2]=b}if((c[ja>>2]|0)<0){a[B>>0]=1;c[ja>>2]=(c[ja>>2]|0)>=-2147483647?0-(c[ja>>2]|0)|0:0}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}else{c[ka>>2]=0;while(1){f=c[ka>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ka>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[ja>>2]=f&2147483647}do if((c[q>>2]|0)==46){b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)!=42){c[ca>>2]=0;while(1){f=c[ca>>2]|0;if(!((c[q>>2]|0)>=48?(c[q>>2]|0)<=57:0))break;c[ca>>2]=(f*10|0)+(c[q>>2]|0)-48;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0]}c[aa>>2]=f&2147483647;break}if(a[m>>0]|0){b=uO(c[X>>2]|0)|0;c[aa>>2]=b}else{e=c[l>>2]|0;f=(c[e>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[e>>2]=f+4;c[aa>>2]=b}b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[aa>>2]|0)<0)c[aa>>2]=(c[aa>>2]|0)>=-2147483647?0-(c[aa>>2]|0)|0:-1}else c[aa>>2]=-1;while(0);do if((c[q>>2]|0)==108){a[D>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];if((c[q>>2]|0)==108){a[E>>0]=1;b=(c[k>>2]|0)+1|0;c[k>>2]=b;c[q>>2]=a[b>>0];break}else{a[E>>0]=0;break}}else{a[E>>0]=0;a[D>>0]=0}while(0);c[L>>2]=45708;a[na>>0]=0;c[K>>2]=0;while(1){if((c[K>>2]|0)>=23)break;f=c[K>>2]|0;if((c[q>>2]|0)==(a[45708+((c[K>>2]|0)*6|0)>>0]|0)){qa=56;break}c[K>>2]=f+1}if((qa|0)==56){qa=0;c[L>>2]=45708+(f*6|0);if((d[ha>>0]|0)==0?(d[(c[L>>2]|0)+2>>0]&2|0)!=0:0){qa=268;break}a[na>>0]=a[(c[L>>2]|0)+3>>0]|0}b:do switch(d[na>>0]|0){case 14:{a[E>>0]=0;a[D>>0]=1;qa=62;break}case 1:case 16:{qa=62;break}case 4:case 3:case 2:{if(a[m>>0]|0)h[ea>>3]=+vO(c[X>>2]|0);else{b=c[l>>2]|0;e=(c[b>>2]|0)+(8-1)&~(8-1);g=+h[e>>3];c[b>>2]=e+8;h[ea>>3]=g}if((c[aa>>2]|0)<0)c[aa>>2]=6;do if(!(+h[ea>>3]<0.0)){if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{h[ea>>3]=-+h[ea>>3];a[ba>>0]=45}while(0);if((d[na>>0]|0)==4&(c[aa>>2]|0)>0)c[aa>>2]=(c[aa>>2]|0)+-1;c[K>>2]=c[aa>>2]&4095;h[fa>>3]=.5;while(1){if((c[K>>2]|0)<=0)break;c[K>>2]=(c[K>>2]|0)+-1;h[fa>>3]=+h[fa>>3]*.1}if((d[na>>0]|0)==2)h[ea>>3]=+h[ea>>3]+ +h[fa>>3];c[w>>2]=0;if(OF(+h[ea>>3])|0){c[p>>2]=45895;c[Q>>2]=3;break b}if(+h[ea>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.e+100?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[w>>2]=(c[w>>2]|0)+100}while(1){if(!(+h[ea>>3]>=+h[ga>>3]*1.0e10?(c[w>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[w>>2]=(c[w>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[ea>>3]>=+h[ga>>3]*10.0?(c[w>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[w>>2]=(c[w>>2]|0)+1}h[ea>>3]=+h[ea>>3]/g;while(1){if(!(+h[ea>>3]<1.0e-08))break;h[ea>>3]=+h[ea>>3]*1.0e8;c[w>>2]=(c[w>>2]|0)-8}while(1){if(!(+h[ea>>3]<1.0))break;h[ea>>3]=+h[ea>>3]*10.0;c[w>>2]=(c[w>>2]|0)+-1}if((c[w>>2]|0)>350){c[p>>2]=o;a[o>>0]=a[ba>>0]|0;b=o+((a[ba>>0]|0)!=0&1)|0;a[b>>0]=a[45899]|0;a[b+1>>0]=a[45900]|0;a[b+2>>0]=a[45901]|0;a[b+3>>0]=a[45902]|0;c[Q>>2]=3+((a[ba>>0]|0)!=0&1);break b}}c[p>>2]=o;if((d[na>>0]|0)!=2?(h[ea>>3]=+h[ea>>3]+ +h[fa>>3],+h[ea>>3]>=10.0):0){h[ea>>3]=+h[ea>>3]*.1;c[w>>2]=(c[w>>2]|0)+1}c:do if((d[na>>0]|0)==4){a[G>>0]=((a[x>>0]|0)!=0^1)&1;do if((c[w>>2]|0)>=-4){if((c[w>>2]|0)>(c[aa>>2]|0))break;c[aa>>2]=(c[aa>>2]|0)-(c[w>>2]|0);a[na>>0]=2;break c}while(0);a[na>>0]=3}else a[G>>0]=a[y>>0]|0;while(0);if((d[na>>0]|0)==3)c[u>>2]=0;else c[u>>2]=c[w>>2];b=(c[u>>2]|0)>0?c[u>>2]|0:0;e=c[aa>>2]|0;e=pR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;b=c[ja>>2]|0;b=pR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|(e|0)==0&b>>>0>55?(b=(c[u>>2]|0)>0?c[u>>2]|0:0,e=c[aa>>2]|0,e=pR(b|0,((b|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0,b=c[ja>>2]|0,b=pR(e|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0,b=pR(b|0,C|0,15,0)|0,b=$f(b,C)|0,c[oa>>2]=b,c[p>>2]=b,(c[p>>2]|0)==0):0){qa=161;break a}c[pa>>2]=c[p>>2];c[W>>2]=16+((d[y>>0]|0)*10|0);a[A>>0]=((c[aa>>2]|0)>0?1:0)|d[x>>0]|d[y>>0];if(a[ba>>0]|0){e=a[ba>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}d:do if((c[u>>2]|0)<0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48}else while(1){if((c[u>>2]|0)<0)break d;e=wO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[u>>2]=(c[u>>2]|0)+-1}while(0);if(a[A>>0]|0){b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=46}c[u>>2]=(c[u>>2]|0)+1;while(1){if((c[u>>2]|0)>=0)break;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=48;c[aa>>2]=(c[aa>>2]|0)+-1;c[u>>2]=(c[u>>2]|0)+1}while(1){b=c[aa>>2]|0;c[aa>>2]=b+-1;if((b|0)<=0)break;e=wO(ea,W)|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}do if(d[G>>0]|0){if(!(d[A>>0]|0))break;while(1){f=(c[p>>2]|0)+-1|0;if((a[(c[p>>2]|0)+-1>>0]|0)!=48)break;c[p>>2]=f;a[f>>0]=0}if((a[f>>0]|0)!=46)break;f=c[p>>2]|0;if(a[y>>0]|0){c[p>>2]=f+1;a[f>>0]=48;break}else{b=f+-1|0;c[p>>2]=b;a[b>>0]=0;break}}while(0);if((d[na>>0]|0)==3){f=a[45855+(d[(c[L>>2]|0)+4>>0]|0)>>0]|0;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=f;b=(c[w>>2]|0)<0;f=c[p>>2]|0;c[p>>2]=f+1;if(b){a[f>>0]=45;c[w>>2]=0-(c[w>>2]|0)}else a[f>>0]=43;if((c[w>>2]|0)>=100){e=((c[w>>2]|0)/100|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e;c[w>>2]=(c[w>>2]|0)%100|0}b=((c[w>>2]|0)/10|0)+48&255;e=c[p>>2]|0;c[p>>2]=e+1;a[e>>0]=b;e=((c[w>>2]|0)%10|0)+48&255;b=c[p>>2]|0;c[p>>2]=b+1;a[b>>0]=e}a[c[p>>2]>>0]=0;c[Q>>2]=(c[p>>2]|0)-(c[pa>>2]|0);c[p>>2]=c[pa>>2];if((d[H>>0]|0)==0|(a[B>>0]|0)!=0)break b;if((c[Q>>2]|0)>=(c[ja>>2]|0))break b;c[U>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);c[I>>2]=c[ja>>2];while(1){if((c[I>>2]|0)<(c[U>>2]|0))break;a[(c[p>>2]|0)+(c[I>>2]|0)>>0]=a[(c[p>>2]|0)+((c[I>>2]|0)-(c[U>>2]|0))>>0]|0;c[I>>2]=(c[I>>2]|0)+-1}c[I>>2]=(a[ba>>0]|0)!=0&1;while(1){b=c[U>>2]|0;c[U>>2]=b+-1;if(!b)break;b=c[I>>2]|0;c[I>>2]=b+1;a[(c[p>>2]|0)+b>>0]=48}c[Q>>2]=c[ja>>2];break}case 5:{if(!(a[m>>0]|0)){e=c[(c[j>>2]|0)+12>>2]|0;f=c[l>>2]|0;sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;c[b>>2]=e}c[ja>>2]=0;c[Q>>2]=0;break}case 8:{a[o>>0]=37;c[p>>2]=o;c[Q>>2]=1;break}case 9:{if(a[m>>0]|0){c[p>>2]=xO(c[X>>2]|0)|0;if(c[p>>2]|0)f=a[c[p>>2]>>0]|0;else f=0;c[q>>2]=f}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[q>>2]=sa}if((c[aa>>2]|0)>1){c[ja>>2]=(c[ja>>2]|0)-((c[aa>>2]|0)-1);if(!((c[ja>>2]|0)<=1|(a[B>>0]|0)!=0)){yO(c[j>>2]|0,(c[ja>>2]|0)-1|0,32);c[ja>>2]=0}yO(c[j>>2]|0,(c[aa>>2]|0)-1|0,c[q>>2]&255)}c[Q>>2]=1;a[o>>0]=c[q>>2];c[p>>2]=o;break}case 7:case 6:{if(a[m>>0]|0){c[p>>2]=xO(c[X>>2]|0)|0;a[na>>0]=6}else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[p>>2]=sa}if(c[p>>2]|0){if((d[na>>0]|0)==7)c[oa>>2]=c[p>>2]}else c[p>>2]=19010;if((c[aa>>2]|0)<0){c[Q>>2]=Jf(c[p>>2]|0)|0;break b}c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(c[aa>>2]|0))break b;if(!(a[(c[p>>2]|0)+(c[Q>>2]|0)>>0]|0))break b;c[Q>>2]=(c[Q>>2]|0)+1}}case 15:case 11:case 10:{a[da>>0]=(d[na>>0]|0)==15?34:39;if(a[m>>0]|0)c[v>>2]=xO(c[X>>2]|0)|0;else{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[v>>2]=sa}c[M>>2]=(c[v>>2]|0)==0&1;if(c[M>>2]|0)c[v>>2]=(d[na>>0]|0)==11?40149:45903;c[O>>2]=c[aa>>2];c[S>>2]=0;c[J>>2]=0;while(1){if(!(c[O>>2]|0))break;sa=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=sa;if(!(sa<<24>>24))break;if((a[r>>0]|0)==(a[da>>0]|0))c[S>>2]=(c[S>>2]|0)+1;c[J>>2]=(c[J>>2]|0)+1;c[O>>2]=(c[O>>2]|0)+-1}if(c[M>>2]|0)f=0;else f=(d[na>>0]|0)==11;c[V>>2]=f&1;c[S>>2]=(c[S>>2]|0)+((c[J>>2]|0)+3);if((c[S>>2]|0)>70){sa=c[S>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[p>>2]=sa;if(!(c[p>>2]|0)){qa=241;break a}}else c[p>>2]=o;c[N>>2]=0;if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[O>>2]=c[J>>2];c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[O>>2]|0))break;b=a[(c[v>>2]|0)+(c[J>>2]|0)>>0]|0;a[r>>0]=b;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b;if((a[r>>0]|0)==(a[da>>0]|0)){b=a[r>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}c[J>>2]=(c[J>>2]|0)+1}if(c[V>>2]|0){b=a[da>>0]|0;sa=c[N>>2]|0;c[N>>2]=sa+1;a[(c[p>>2]|0)+sa>>0]=b}a[(c[p>>2]|0)+(c[N>>2]|0)>>0]=0;c[Q>>2]=c[N>>2];break}case 12:{b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[_>>2]=sa;if((c[_>>2]|0)!=0?(c[(c[_>>2]|0)+4>>2]|0)!=0:0)gA(c[j>>2]|0,c[c[_>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}case 13:{e=c[l>>2]|0;sa=(c[e>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[e>>2]=sa+4;c[Z>>2]=b;b=c[l>>2]|0;e=(c[b>>2]|0)+(4-1)&~(4-1);sa=c[e>>2]|0;c[b>>2]=e+4;c[P>>2]=sa;c[Y>>2]=(c[Z>>2]|0)+8+((c[P>>2]|0)*72|0);if(c[(c[Y>>2]|0)+4>>2]|0){GD(c[j>>2]|0,c[(c[Y>>2]|0)+4>>2]|0);gA(c[j>>2]|0,45533,1)}GD(c[j>>2]|0,c[(c[Y>>2]|0)+8>>2]|0);c[ja>>2]=0;c[Q>>2]=0;break}default:{qa=268;break a}}while(0);if((qa|0)==62){qa=0;f=(a[m>>0]|0)!=0;do if(d[(c[L>>2]|0)+2>>0]&1){do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=ia;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=ia;c[sa>>2]=b;c[sa+4>>2]=((b|0)<0)<<31>>31;break}}else{b=uO(c[X>>2]|0)|0;sa=ia;c[sa>>2]=b;c[sa+4>>2]=C}while(0);e=ia;f=c[e>>2]|0;e=c[e+4>>2]|0;if((c[ia+4>>2]|0)<0){if((f|0)==0&(e|0)==-2147483648){sa=R;c[sa>>2]=0;c[sa+4>>2]=-2147483648}else{b=ia;b=oR(0,0,c[b>>2]|0,c[b+4>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}a[ba>>0]=45;break}sa=R;c[sa>>2]=f;c[sa+4>>2]=e;if(a[F>>0]|0){a[ba>>0]=43;break}if(a[z>>0]|0){a[ba>>0]=32;break}else{a[ba>>0]=0;break}}else{do if(!f){f=c[l>>2]|0;if(a[E>>0]|0){sa=(c[f>>2]|0)+(8-1)&~(8-1);b=sa;e=c[b>>2]|0;b=c[b+4>>2]|0;c[f>>2]=sa+8;sa=R;c[sa>>2]=e;c[sa+4>>2]=b;break}else{sa=(c[f>>2]|0)+(4-1)&~(4-1);b=c[sa>>2]|0;c[f>>2]=sa+4;sa=R;c[sa>>2]=b;c[sa+4>>2]=0;break}}else{b=uO(c[X>>2]|0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C}while(0);a[ba>>0]=0}while(0);sa=R;if((c[sa>>2]|0)==0&(c[sa+4>>2]|0)==0)a[x>>0]=0;if((d[H>>0]|0)!=0?(c[aa>>2]|0)<((c[ja>>2]|0)-((a[ba>>0]|0)!=0&1)|0):0)c[aa>>2]=(c[ja>>2]|0)-((a[ba>>0]|0)!=0&1);if((c[aa>>2]|0)>=60){c[T>>2]=(c[aa>>2]|0)+10;sa=c[T>>2]|0;sa=$f(sa,((sa|0)<0)<<31>>31)|0;c[oa>>2]=sa;c[pa>>2]=sa;if(!(c[pa>>2]|0)){qa=92;break}}else{c[T>>2]=70;c[pa>>2]=o}c[p>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1);if((d[na>>0]|0)==16){sa=R;sa=CR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0;c[la>>2]=sa;if(!((c[la>>2]|0)<4?(sa=R,sa=BR(c[sa>>2]|0,c[sa+4>>2]|0,10,0)|0,sa=CR(sa|0,C|0,10,0)|0,!((sa|0)==1&(C|0)==0)):0))c[la>>2]=0;sa=a[45846+((c[la>>2]<<1)+1)>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=a[45846+(c[la>>2]<<1)>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}c[s>>2]=45855+(d[(c[L>>2]|0)+4>>0]|0);a[n>>0]=a[(c[L>>2]|0)+1>>0]|0;do{sa=R;sa=CR(c[sa>>2]|0,c[sa+4>>2]|0,d[n>>0]|0,0)|0;sa=a[(c[s>>2]|0)+sa>>0]|0;b=(c[p>>2]|0)+-1|0;c[p>>2]=b;a[b>>0]=sa;b=R;b=BR(c[b>>2]|0,c[b+4>>2]|0,d[n>>0]|0,0)|0;sa=R;c[sa>>2]=b;c[sa+4>>2]=C;sa=R;b=c[sa+4>>2]|0}while(b>>>0>0|(b|0)==0&(c[sa>>2]|0)>>>0>0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0);c[K>>2]=(c[aa>>2]|0)-(c[Q>>2]|0);while(1){if((c[K>>2]|0)<=0)break;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=48;c[K>>2]=(c[K>>2]|0)+-1}if(a[ba>>0]|0){b=a[ba>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b}e:do if((d[x>>0]|0)!=0?(d[(c[L>>2]|0)+5>>0]|0)!=0:0){c[$>>2]=45888+(d[(c[L>>2]|0)+5>>0]|0);while(1){sa=a[c[$>>2]>>0]|0;a[ma>>0]=sa;if(!(sa<<24>>24))break e;b=a[ma>>0]|0;sa=(c[p>>2]|0)+-1|0;c[p>>2]=sa;a[sa>>0]=b;c[$>>2]=(c[$>>2]|0)+1}}while(0);c[Q>>2]=(c[pa>>2]|0)+((c[T>>2]|0)-1)-(c[p>>2]|0)}c[ja>>2]=(c[ja>>2]|0)-(c[Q>>2]|0);if(!((c[ja>>2]|0)<=0|(a[B>>0]|0)!=0))yO(c[j>>2]|0,c[ja>>2]|0,32);gA(c[j>>2]|0,c[p>>2]|0,c[Q>>2]|0);if((c[ja>>2]|0)>0?(d[B>>0]|0)!=0:0)yO(c[j>>2]|0,c[ja>>2]|0,32);if(c[oa>>2]|0){Tf(c[c[j>>2]>>2]|0,c[oa>>2]|0);c[oa>>2]=0}c[k>>2]=(c[k>>2]|0)+1}if((qa|0)==13){gA(c[j>>2]|0,45706,1);i=ra;return}else if((qa|0)==92){kA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==161){kA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==241){kA(c[j>>2]|0,1);i=ra;return}else if((qa|0)==268){i=ra;return}}function fg(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if(((c[(c[e>>2]|0)+8>>2]|0)!=0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=Ah(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){rR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{kA(b,1);break}}while(0);i=f;return c[(c[e>>2]|0)+8>>2]|0}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+256|0;h=e+36|0;j=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[j>>2]=b;c[f>>2]=d;dg(g,0,e+40|0,210,0);eg(g,c[j>>2]|0,c[f>>2]|0);f=c[66]|0;d=c[67]|0;a=c[h>>2]|0;b=fg(g)|0;Ub[f&255](d,a,b);i=e;return}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[k>>2]=a;c[j>>2]=b;c[e>>2]=c[k>>2];c[f>>2]=c[j>>2];while(1){c[g>>2]=(d[18221+(d[c[e>>2]>>0]|0)>>0]|0)-(d[18221+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){e=5;break}if(!(d[c[e>>2]>>0]|0)){e=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((e|0)==5){i=h;return c[g>>2]|0}return 0}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];rJ(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){lg(a,c[g>>2]|0);i=l;return}if((c[a+240>>2]|0)==0?(g=Xh(c[f>>2]|0)|0,c[(c[f>>2]|0)+240>>2]=g,(g|0)==0):0){i=l;return}c[j>>2]=e;c[k>>2]=dx(c[f>>2]|0,c[h>>2]|0,j)|0;Yh(c[(c[f>>2]|0)+240>>2]|0,-1,c[k>>2]|0,1,170);i=l;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=$f(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;i=f;return g|0}tR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;i=f;return g|0}function lg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+240>>2]|0)==0:0){i=f;return}WM(c[d>>2]|0,c[e>>2]|0);i=f;return}function mg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];i=b;return}function ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){a=0;a=a&1;i=d;return a|0}a=(c[b>>2]|0)!=6;a=a&1;i=d;return a|0}function og(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;l=p+16|0;o=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[o>>2]=0;mg(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?((c[j>>2]|0)!=0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if((c[j>>2]|0)!=0?(e[(c[l>>2]|0)+22>>1]&1|0)!=0:0){c[o>>2]=8;break}c[k>>2]=0;if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[l>>2]|0)+22>>1]&64)){if((c[j>>2]|0)>1){c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break a;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=(c[h>>2]|0))break;c[m>>2]=c[f+12>>2]}c[k>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[k>>2]=c[c[(c[l>>2]|0)+76>>2]>>2];if(c[k>>2]|0){c[o>>2]=262;break}c[o>>2]=sH(c[h>>2]|0,1,1)|0;if(!(c[o>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-9;if(!(c[(c[l>>2]|0)+44>>2]|0)){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|8}while(1){if((c[(c[l>>2]|0)+12>>2]|0)==0?(m=TM(c[l>>2]|0)|0,c[o>>2]=m,0==(m|0)):0)continue;do if((c[o>>2]|0)==0&(c[j>>2]|0)!=0){if(e[(c[l>>2]|0)+22>>1]&1){c[o>>2]=8;break}k=c[c[l>>2]>>2]|0;m=(c[j>>2]|0)>1&1;c[o>>2]=UM(k,m,Xq(c[c[h>>2]>>2]|0)|0)|0;if(!(c[o>>2]|0))c[o>>2]=bM(c[l>>2]|0)|0}while(0);if(c[o>>2]|0)xB(c[l>>2]|0);if((c[o>>2]&255|0)!=5)break;if(d[(c[l>>2]|0)+20>>0]|0)break;if(!(br(c[l>>2]|0)|0))break}if(!(c[o>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(m=(c[l>>2]|0)+40|0,c[m>>2]=(c[m>>2]|0)+1,(a[(c[h>>2]|0)+9>>0]|0)!=0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=(c[j>>2]|0)!=0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[l>>2]|0)+20>>0]|0))a[(c[l>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[j>>2]|0){c[n>>2]=c[(c[l>>2]|0)+12>>2];c[(c[l>>2]|0)+76>>2]=c[h>>2];m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]&-33;if((c[j>>2]|0)>1){m=(c[l>>2]|0)+22|0;b[m>>1]=e[m>>1]|32}m=c[(c[l>>2]|0)+44>>2]|0;if((m|0)!=(er((c[(c[n>>2]|0)+56>>2]|0)+28|0)|0)?(c[o>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0,(c[o>>2]|0)==0):0)at((c[(c[n>>2]|0)+56>>2]|0)+28|0,c[(c[l>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[o>>2]|0)==0&(c[j>>2]|0)!=0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=_L(c[c[l>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);if((c[f>>2]|0)==15){d=SM(c[c[h>>2]>>2]|0)|0;c[c[g>>2]>>2]=d+(c[(c[e>>2]|0)+20>>2]|0);i=j;return}else{d=er((c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=d;i=j;return}}function qg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function rg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function sg(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+5>>0]|0|0}function tg(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=gF(c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function ug(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+48|0;k=t+44|0;l=t+40|0;m=t+36|0;n=t+32|0;u=t+28|0;s=t+24|0;r=t+20|0;p=t+16|0;q=t+12|0;o=t+8|0;h=t+4|0;g=t;c[l>>2]=a;c[m>>2]=b;c[n>>2]=e;c[u>>2]=f;c[s>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2]&1;c[o>>2]=0;if((c[m>>2]|0)>>>0<=1&(c[m>>2]|0)==0){c[k>>2]=Oj(49316)|0;u=c[k>>2]|0;i=t;return u|0}do if(c[(c[l>>2]|0)+44>>2]|0){c[s>>2]=c[(c[l>>2]|0)+44>>2];j=23}else{if(((c[o>>2]|0)!=0?(xr(c[l>>2]|0)|0)!=0:0)?(c[s>>2]=Cs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;if((c[o>>2]|0)!=0&(c[p>>2]|0)==0){c[h>>2]=0;e=c[(c[l>>2]|0)+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=AR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=hL(e,u,C,c[(c[l>>2]|0)+160>>2]|0,h)|0;if((c[s>>2]|0)==0&(c[h>>2]|0)!=0){if((d[(c[l>>2]|0)+17>>0]|0|0)>1)c[r>>2]=cs(c[l>>2]|0,c[m>>2]|0)|0;f=c[l>>2]|0;if(!(c[r>>2]|0))c[s>>2]=PM(f,c[m>>2]|0,c[h>>2]|0,r)|0;else{e=c[f+64>>2]|0;u=c[(c[l>>2]|0)+160>>2]|0;u=AR((c[m>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;Hs(e,u,C,c[h>>2]|0)|0}if(c[r>>2]|0){c[c[n>>2]>>2]=c[r>>2];c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}}if(c[s>>2]|0)break}c[g>>2]=hs(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,3)|0;if(!(c[g>>2]|0)){c[s>>2]=QM(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,g)|0;if(c[s>>2]|0)break;if(!(c[g>>2]|0)){c[c[n>>2]>>2]=0;c[r>>2]=0;c[s>>2]=7;break}}j=is(c[(c[l>>2]|0)+212>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;c[c[n>>2]>>2]=j;c[r>>2]=j;j=23}while(0);do if((j|0)==23){if(c[s>>2]|0){c[r>>2]=0;break}f=c[l>>2]|0;if(!((c[q>>2]|0)!=0?1:(c[(c[r>>2]|0)+16>>2]|0)==0)){u=f+192|0;c[u>>2]=(c[u>>2]|0)+1;c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[(c[r>>2]|0)+16>>2]=f;if((c[m>>2]|0)>>>0<=2147483647?(c[m>>2]|0)!=(((c[381]|0)/(c[(c[l>>2]|0)+160>>2]|0)|0)+1|0):0){if(((d[(c[l>>2]|0)+16>>0]|0|0)==0?!((c[q>>2]|0)!=0?1:(c[(c[l>>2]|0)+28>>2]|0)>>>0<(c[m>>2]|0)>>>0):0)?(c[c[(c[l>>2]|0)+64>>2]>>2]|0)!=0:0){u=(xr(c[l>>2]|0)|0)!=0;if(u&(c[o>>2]|0)==0?(c[s>>2]=Cs(c[(c[l>>2]|0)+216>>2]|0,c[m>>2]|0,p)|0,(c[s>>2]|0)!=0):0)break;u=(c[l>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Ds(c[r>>2]|0,c[p>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[m>>2]|0)>>>0>(c[(c[l>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[q>>2]|0){Wj();if((c[m>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)jj(c[(c[l>>2]|0)+60>>2]|0,c[m>>2]|0)|0;Nt(c[l>>2]|0,c[m>>2]|0)|0;Xj()}tR(c[(c[r>>2]|0)+4>>2]|0,0,c[(c[l>>2]|0)+160>>2]|0)|0}c[k>>2]=0;u=c[k>>2]|0;i=t;return u|0}c[s>>2]=Oj(49405)|0}while(0);if(c[r>>2]|0)Bs(c[r>>2]|0);Gs(c[l>>2]|0);c[c[n>>2]>>2]=0;c[k>>2]=c[s>>2];u=c[k>>2]|0;i=t;return u|0}function vg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+4>>2]|0}function wg(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+80|0;g=w+68|0;x=w+64|0;h=w+60|0;j=w+56|0;q=w+52|0;p=w+48|0;o=w+44|0;n=w+40|0;l=w+8|0;v=w+36|0;m=w;r=w+32|0;k=w+28|0;t=w+24|0;s=w+20|0;u=w+16|0;c[g>>2]=b;c[x>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=Pf(c[(c[g>>2]|0)+4>>2]|0)|0;c[p>>2]=rg(c[(c[g>>2]|0)+24>>2]|0)|0;c[o>>2]=rg(c[(c[g>>2]|0)+4>>2]|0)|0;c[n>>2]=(c[p>>2]|0)<(c[o>>2]|0)?c[p>>2]|0:c[o>>2]|0;b=c[p>>2]|0;b=AR(c[x>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=l;c[e>>2]=b;c[e+4>>2]=C;c[v>>2]=0;if((c[p>>2]|0)!=(c[o>>2]|0)?(LJ(c[q>>2]|0)|0)!=0:0)c[v>>2]=8;x=l;e=c[p>>2]|0;e=oR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C;while(1){if(c[v>>2]|0){g=14;break}e=m;d=c[e+4>>2]|0;x=l;b=c[x+4>>2]|0;if(!((d|0)<(b|0)|((d|0)==(b|0)?(c[e>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){g=14;break}c[r>>2]=0;e=m;x=c[o>>2]|0;x=yR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[k>>2]=x+1;if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[(c[(c[g>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=ug(c[q>>2]|0,c[k>>2]|0,r,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Fg(c[r>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(x=m,e=c[p>>2]|0,e=zR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,c[t>>2]=(c[h>>2]|0)+e,c[s>>2]=vg(c[r>>2]|0)|0,e=m,x=c[o>>2]|0,x=zR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[u>>2]=(c[s>>2]|0)+x,rR(c[u>>2]|0,c[t>>2]|0,c[n>>2]|0)|0,a[(Pt(c[r>>2]|0)|0)>>0]=0,x=m,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[j>>2]|0)==0):0){x=(c[u>>2]|0)+28|0;at(x,tg(c[(c[g>>2]|0)+24>>2]|0)|0)}xg(c[r>>2]|0)}e=c[o>>2]|0;x=m;e=pR(c[x>>2]|0,c[x+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;x=m;c[x>>2]=e;c[x+4>>2]=C}if((g|0)==14){i=w;return c[v>>2]|0}return 0}function xg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Es(c[b>>2]|0);i=d;return}function yg(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Ng(Pf(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;i=b;return}function zg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=bM(c[(c[e>>2]|0)+4>>2]|0)|0;i=d;return c[b>>2]|0}function Ag(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];mg(c[m>>2]|0);c[j>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[k>>2]=Fg(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}at((c[j>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[k>>2]|0;i=l;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[k>>2]|0;i=l;return m|0}function Bg(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Of(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)wj(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=(c[b>>2]|0)+24|0;c[e>>2]=c[e>>2]&-3;pu(c[b>>2]|0);sB(c[b>>2]|0);i=f;return}function Cg(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[h>>2]=f;c[j>>2]=g;c[l>>2]=c[(c[h>>2]|0)+4>>2];f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;if((c[j>>2]|0)==1){f=(c[l>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|16}c[m>>2]=og(c[h>>2]|0,0)|0;do if(!(c[m>>2]|0)){c[k>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+56>>2];if((d[(c[k>>2]|0)+18>>0]|0|0)==(c[j>>2]&255|0)?(d[(c[k>>2]|0)+19>>0]|0|0)==(c[j>>2]&255|0):0)break;c[m>>2]=og(c[h>>2]|0,2)|0;if((c[m>>2]|0)==0?(c[m>>2]=Fg(c[(c[(c[l>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[m>>2]|0)==0):0){a[(c[k>>2]|0)+18>>0]=c[j>>2];a[(c[k>>2]|0)+19>>0]=c[j>>2]}}while(0);f=(c[l>>2]|0)+22|0;b[f>>1]=(e[f>>1]|0)&-17;i=n;return c[m>>2]|0}function Dg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+64>>2]|0}function Eg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];i=d;return}function Fg(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;i=g;return f|0}if(((e[(c[b>>2]|0)+24>>1]|0)&4|0)!=0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=rt(c[b>>2]|0)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}b=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=JM(b)|0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=KM(b)|0;f=c[d>>2]|0;i=g;return f|0}return 0}function Gg(b,e,f){b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;f=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[f+44>>2];o=c[g>>2]|0;i=p;return o|0}if((d[f+17>>0]|0)<3){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}f=c[h>>2]|0;do if(!(a[(c[h>>2]|0)+16>>0]|0)){e=(xr(f)|0)!=0;f=c[h>>2]|0;if(e){c[m>>2]=vs(c[f+212>>2]|0)|0;c[n>>2]=0;if(!(c[m>>2]|0)){c[o>>2]=ug(c[h>>2]|0,1,n,0)|0;c[m>>2]=c[n>>2];c[(c[m>>2]|0)+12>>2]=0}if(c[m>>2]|0)c[o>>2]=st(c[h>>2]|0,c[m>>2]|0,c[(c[h>>2]|0)+28>>2]|0,1)|0;xg(c[n>>2]|0);if(c[o>>2]|0)break;wr(c[(c[h>>2]|0)+212>>2]|0);break}c[o>>2]=HM(f,0)|0;if((((c[o>>2]|0)==0?(c[o>>2]=IM(c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)==0):0)?(c[o>>2]=tt(c[h>>2]|0,0)|0,(c[o>>2]|0)==0):0)?(n=c[h>>2]|0,c[o>>2]=ut(n,vs(c[(c[h>>2]|0)+212>>2]|0)|0)|0,(c[o>>2]|0)==0):0){wr(c[(c[h>>2]|0)+212>>2]|0);if((c[(c[h>>2]|0)+28>>2]|0)>>>0>(c[(c[h>>2]|0)+36>>2]|0)>>>0){c[l>>2]=(c[(c[h>>2]|0)+28>>2]|0)-((c[(c[h>>2]|0)+28>>2]|0)==(((c[381]|0)/(c[(c[h>>2]|0)+160>>2]|0)|0)+1|0)&1);c[o>>2]=zr(c[h>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[o>>2]=Jg(c[h>>2]|0,c[j>>2]|0)|0}}else bj(c[f+96>>2]|0);while(0);if((c[o>>2]|0)==0?(xr(c[h>>2]|0)|0)==0:0)a[(c[h>>2]|0)+17>>0]=5;c[g>>2]=c[o>>2];o=c[g>>2]|0;i=p;return o|0}function Hg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+12>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+20|0;f=j+8|0;g=j;h=j+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Vi(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}b=c[g+4>>2]|0;a=f;d=c[a+4>>2]|0;if(!((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){h=c[h>>2]|0;i=j;return h|0}a=f;c[h>>2]=sr(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function Jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[h>>2]=c[g>>2];e=yi(c[(c[f>>2]|0)+64>>2]|0,21,c[h>>2]|0)|0;c[j>>2]=e;c[j>>2]=(c[j>>2]|0)==12?0:e}if(c[j>>2]|0){e=c[j>>2]|0;i=k;return e|0}if(a[(c[f>>2]|0)+7>>0]|0){e=c[j>>2]|0;i=k;return e|0}c[j>>2]=tr(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;e=c[j>>2]|0;i=k;return e|0}function Kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];i=d;return}function Lg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}mg(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[k>>2]=GM(c[c[j>>2]>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[h>>2]|0)==0)){k=(c[g>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;BM(c[j>>2]|0);break}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}while(0);CM(c[g>>2]|0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function Mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if((a[(c[j>>2]|0)+17>>0]|0)!=0?(c[k>>2]=FM(c[j>>2]|0)|0,(c[k>>2]|0)!=0):0){c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}if(a[(c[j>>2]|0)+19>>0]|0)Kg(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[k>>2]=Gg(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[k>>2];e=c[f>>2]|0;i=l;return e|0}function Ng(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+96|0}function Og(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;o=q+8|0;p=q+4|0;k=q;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(!(c[h>>2]|0)){f=tH(c[l>>2]|0,0,0)|0;c[h>>2]=f;c[n>>2]=f;if(c[n>>2]|0)c[j>>2]=0}else c[n>>2]=0;if((c[h>>2]|0)!=0?(c[o>>2]=uI(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[o>>2]|0)!=0):0)c[n>>2]=c[o>>2];if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){f=c[g>>2]|0;CM(f);f=c[n>>2]|0;i=q;return f|0}c[p>>2]=or(c[c[l>>2]>>2]|0)|0;if(c[p>>2]|0)c[n>>2]=c[p>>2];if(!(uF(c[l>>2]|0,1,m,0)|0)){c[k>>2]=er((c[(c[m>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[k>>2]|0))Eg(c[c[l>>2]>>2]|0,k);c[(c[l>>2]|0)+44>>2]=c[k>>2];wB(c[m>>2]|0)}a[(c[l>>2]|0)+20>>0]=1;BM(c[l>>2]|0);f=c[g>>2]|0;CM(f);f=c[n>>2]|0;i=q;return f|0}function Pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;j=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+80>>2]|0)!=1691352191){i=m;return}if(ku(c[d>>2]|0)|0){i=m;return}wI(c[d>>2]|0,0);xI(c[d>>2]|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(rB(c[(c[j>>2]|0)+4>>2]|0)|0,c[(c[j>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[j>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0)wj(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);pu(c[d>>2]|0);sB(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];do{hu(c[d>>2]|0,c[g>>2]|0);c[l>>2]=c[(c[g>>2]|0)+8>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[l>>2]}while((c[g>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)Qb[c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[h>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[h>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);HH(c[d>>2]|0,c[k>>2]|0);Tf(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}yj((c[d>>2]|0)+320|0);lg(c[d>>2]|0,0);bh(c[(c[d>>2]|0)+240>>2]|0);c[(c[d>>2]|0)+80>>2]=-1254786768;Tf(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+80>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);i=m;return}function Qg(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){Rd(21,45104,d);c[b>>2]=1;e=c[b>>2]|0;i=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;i=d;return e|0}return 0}function Rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;f=d+12|0;e=d+8|0;h=d;c[f>>2]=a;c[e>>2]=b;OH(c[c[f>>2]>>2]|0,h)|0;g=c[(c[f>>2]|0)+188>>2]|0;f=c[(c[f>>2]|0)+192>>2]|0;a=c[(c[e>>2]|0)+168>>2]|0;b=(c[e>>2]|0)+128|0;b=oR(c[h>>2]|0,c[h+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=AR(b|0,C|0,1e6,0)|0;_b[g&255](f,a,b,C);b=(c[e>>2]|0)+128|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Sg(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+40>>2]|0)!=-1108210269?(c[(c[b>>2]|0)+40>>2]|0)!=1369188723:0))c[d>>2]=Ug(c[b>>2]|0)|0;Zu(c[b>>2]|0);i=e;return c[d>>2]|0}function Tg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=AM(c[f>>2]|0)|0;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];b=c[e>>2]|0;i=h;return b|0}return 0}function Ug(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;g=h;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];ZH(c[e>>2]|0)|0;b=c[e>>2]|0;if((c[(c[e>>2]|0)+76>>2]|0)>=0){SH(b)|0;Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0;if((d[(c[e>>2]|0)+89>>0]|0)>>>3&1){g=(c[e>>2]|0)+87|0;a[g>>0]=a[g>>0]&-2|1}}else if((c[b+80>>2]|0)!=0?(a[(c[e>>2]|0)+87>>0]&1|0)!=0:0){k=c[f>>2]|0;j=c[(c[e>>2]|0)+80>>2]|0;b=(c[(c[e>>2]|0)+44>>2]|0)!=0?18999:0;c[g>>2]=c[(c[e>>2]|0)+44>>2];jg(k,j,b,g);Tf(c[f>>2]|0,c[(c[e>>2]|0)+44>>2]|0);c[(c[e>>2]|0)+44>>2]=0}zM(c[e>>2]|0);k=(c[e>>2]|0)+136|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[e>>2]|0)+40>>2]=649915045;i=h;return c[(c[e>>2]|0)+80>>2]&c[(c[f>>2]|0)+56>>2]|0}function Vg(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+40>>2]=-1108210269;c[(c[e>>2]|0)+76>>2]=-1;c[(c[e>>2]|0)+80>>2]=0;a[(c[e>>2]|0)+86>>0]=2;c[(c[e>>2]|0)+92>>2]=0;c[(c[e>>2]|0)+72>>2]=1;a[(c[e>>2]|0)+88>>0]=-1;c[(c[e>>2]|0)+104>>2]=0;b=(c[e>>2]|0)+144|0;c[b>>2]=0;c[b+4>>2]=0;i=d;return}function Wg(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){i=d;return}yM(c[b>>2]|0);i=d;return}function Xg(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if((e[(c[f>>2]|0)+8>>1]|0)&16384){a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)<=0?1:a;if(!(Ax(c[f>>2]|0,c[g>>2]|0,1)|0)){tR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;a=(c[f>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+(c[c[f>>2]>>2]|0);a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-16897;break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Yg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+4|0;h=k;j=k+8|0;c[h>>2]=b;a[j>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[j>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1){c[g>>2]=0;break}else{c[g>>2]=xM(c[h>>2]|0,a[j>>0]|0)|0;break}}else c[g>>2]=0;while(0);i=k;return c[g>>2]|0}function Zg(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;g=l+4|0;h=l+12|0;k=l;c[g>>2]=b;a[h>>0]=f;c[k>>2]=c[g>>2];if(((e[(c[k>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[j>>2]=c[(c[k>>2]|0)+12>>2];k=c[j>>2]|0;i=l;return k|0}b=e[(c[k>>2]|0)+8>>1]|0;if((e[(c[k>>2]|0)+8>>1]|0)&16){f=c[(c[k>>2]|0)+12>>2]|0;if(b&16384){c[j>>2]=f+(c[c[k>>2]>>2]|0);k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=f;k=c[j>>2]|0;i=l;return k|0}}else if(b&1){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}else{c[j>>2]=wM(c[g>>2]|0,a[h>>0]|0)|0;k=c[j>>2]|0;i=l;return k|0}return 0}function _g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+32|0;f=k+8|0;g=k+16|0;j=k;c[g>>2]=b;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8){h[f>>3]=+h[d>>3];l=+h[f>>3];i=k;return +l}b=c[g>>2]|0;if((e[d+8>>1]|0)&4){j=b;h[f>>3]=+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0);l=+h[f>>3];i=k;return +l}if((e[b+8>>1]|0)&18){h[j>>3]=0.0;Qy(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[j>>3];l=+h[f>>3];i=k;return +l}else{h[f>>3]=0.0;l=+h[f>>3];i=k;return +l}return 0.0}function $g(b){b=b|0;var d=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;d=k+8|0;f=k+20|0;g=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4)){if(c[g>>2]&8){b=wx(+h[c[f>>2]>>3])|0;j=d;c[j>>2]=b;c[j+4>>2]=C;break}if(c[g>>2]&18){g=j;c[g>>2]=0;c[g+4>>2]=0;Ki(c[(c[f>>2]|0)+16>>2]|0,j,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;g=j;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b;break}else{j=d;c[j>>2]=0;c[j+4>>2]=0;break}}else{g=c[f>>2]|0;b=c[g+4>>2]|0;j=d;c[j>>2]=c[g>>2];c[j+4>>2]=b}while(0);j=d;C=c[j+4>>2]|0;i=k;return c[j>>2]|0}function ah(d){d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=d;if((e[(c[g>>2]|0)+8>>1]|0)&16384)Xg(c[g>>2]|0)|0;c[h>>2]=e[(c[g>>2]|0)+8>>1];do if(c[h>>2]&18){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ax(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;d=c[f>>2]|0;i=j;return d|0}while(0);d=(c[g>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-4097;c[f>>2]=0;d=c[f>>2]|0;i=j;return d|0}function bh(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Wg(c[b>>2]|0);Tf(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);i=d;return}function ch(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;h=j+12|0;n=j+8|0;m=j+4|0;l=j+16|0;k=j;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[l>>0]=f;c[k>>2]=g;if((fh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,c[k>>2]|0)|0)!=18){i=j;return}se(c[h>>2]|0);i=j;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))Qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){i=h;return 18}se(c[g>>2]|0);i=h;return 18}function eh(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;hh(c[e>>2]|0);if(OF(+h[f>>3])|0){i=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;i=g;return}function fh(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;n=u+28|0;o=u+24|0;l=u+20|0;v=u+16|0;p=u+34|0;q=u+12|0;t=u+8|0;s=u+4|0;r=u+32|0;m=u;c[o>>2]=f;c[l>>2]=g;c[v>>2]=h;a[p>>0]=j;c[q>>2]=k;c[t>>2]=c[v>>2];b[r>>1]=0;j=c[o>>2]|0;if(!(c[l>>2]|0)){hh(j);c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}if(c[j+32>>2]|0)c[s>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+92>>2];else c[s>>2]=1e9;b[r>>1]=(d[p>>0]|0)==0?16:2;if((c[t>>2]|0)<0){a:do if((d[p>>0]|0)==1){c[t>>2]=Jf(c[l>>2]|0)|0;if((c[t>>2]|0)>(c[s>>2]|0))c[t>>2]=(c[s>>2]|0)+1}else{c[t>>2]=0;while(1){if((c[t>>2]|0)>(c[s>>2]|0))break a;if(!(a[(c[l>>2]|0)+(c[t>>2]|0)>>0]|a[(c[l>>2]|0)+((c[t>>2]|0)+1)>>0]))break a;c[t>>2]=(c[t>>2]|0)+2}}while(0);b[r>>1]=e[r>>1]|512}do if((c[q>>2]|0)!=(-1|0)){v=(c[q>>2]|0)==170;Wg(c[o>>2]|0);j=c[l>>2]|0;c[(c[o>>2]|0)+16>>2]=j;if(v){c[(c[o>>2]|0)+20>>2]=j;v=fu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=v;break}else{c[(c[o>>2]|0)+36>>2]=c[q>>2];b[r>>1]=e[r>>1]|((c[q>>2]|0)==0?2048:1024);break}}else{c[m>>2]=c[t>>2];if(e[r>>1]&512)c[m>>2]=(c[m>>2]|0)+((d[p>>0]|0)==1?1:2);if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}if(!(zx(c[o>>2]|0,(c[m>>2]|0)>32?c[m>>2]|0:32)|0)){rR(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;break}c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}while(0);c[(c[o>>2]|0)+12>>2]=c[t>>2];b[(c[o>>2]|0)+8>>1]=b[r>>1]|0;a[(c[o>>2]|0)+10>>0]=(d[p>>0]|0)==0?1:d[p>>0]|0;if((d[(c[o>>2]|0)+10>>0]|0)!=1?(vM(c[o>>2]|0)|0)!=0:0){c[n>>2]=7;v=c[n>>2]|0;i=u;return v|0}if((c[t>>2]|0)>(c[s>>2]|0)){c[n>>2]=18;v=c[n>>2]|0;i=u;return v|0}else{c[n>>2]=0;v=c[n>>2]|0;i=u;return v|0}return 0}function gh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312){a=h;uM(c[g>>2]|0,c[a>>2]|0,c[a+4>>2]|0);i=j;return}else{f=h;h=c[f+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=h;b[(c[g>>2]|0)+8>>1]=4;i=j;return}}function hh(a){a=a|0;var d=0,f=0;d=i;i=i+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312){KF(a);i=d;return}else{b[a+8>>1]=1;i=d;return}}function ih(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312)KF(c[f>>2]|0);a=c[f>>2]|0;d=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];a=(c[f>>2]|0)+8|0;b[a>>1]=(e[a>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;i=j;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;i=j;return h|0}a=(c[f>>2]|0)+8|0;b[a>>1]=e[a>>1]|0|4096;c[h>>2]=ah(c[f>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function jh(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Wg(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;i=h;return}function kh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=44478;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?(c[7068+(c[b>>2]<<2)>>2]|0)!=0:0)c[d>>2]=c[7068+(c[b>>2]<<2)>>2]}else c[d>>2]=44492;i=e;return c[d>>2]|0}function lh(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0){i=f;return}if(d[(c[e>>2]|0)+70>>0]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+164>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=f;return}function mh(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){Rd(21,44438,e);c[b>>2]=1;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=Qg(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function nh(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;if((c[(c[f>>2]|0)+40>>2]|0)!=-1108210269)Zd(c[f>>2]|0)|0;c[g>>2]=c[c[f>>2]>>2];b=c[f>>2]|0;if(a[(c[g>>2]|0)+69>>0]|0){c[b+80>>2]=7;c[e>>2]=7;h=c[e>>2]|0;i=j;return h|0}if((c[b+76>>2]|0)<=0?(a[(c[f>>2]|0)+87>>0]&1|0)!=0:0){c[(c[f>>2]|0)+80>>2]=17;c[h>>2]=1}else{if((c[(c[f>>2]|0)+76>>2]|0)<0){if(!(c[(c[g>>2]|0)+152>>2]|0))c[(c[g>>2]|0)+248>>2]=0;if(((c[(c[g>>2]|0)+188>>2]|0)!=0?(a[(c[g>>2]|0)+144+5>>0]|0)==0:0)?(c[(c[f>>2]|0)+168>>2]|0)!=0:0)OH(c[c[g>>2]>>2]|0,(c[f>>2]|0)+128|0)|0;b=(c[g>>2]|0)+152|0;c[b>>2]=(c[b>>2]|0)+1;if(!((d[(c[f>>2]|0)+89>>0]|0)>>>5&1)){b=(c[g>>2]|0)+160|0;c[b>>2]=(c[b>>2]|0)+1}if((d[(c[f>>2]|0)+89>>0]|0)>>>6&1){b=(c[g>>2]|0)+156|0;c[b>>2]=(c[b>>2]|0)+1}c[(c[f>>2]|0)+76>>2]=0}if(a[(c[f>>2]|0)+89>>0]&3)c[h>>2]=PH(c[f>>2]|0)|0;else{b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=QH(c[f>>2]|0)|0;b=(c[g>>2]|0)+164|0;c[b>>2]=(c[b>>2]|0)+-1}if((c[h>>2]|0)!=100?(b=(c[f>>2]|0)+128|0,k=c[b+4>>2]|0,(k|0)>0|(k|0)==0&(c[b>>2]|0)>>>0>0):0)Rg(c[g>>2]|0,c[f>>2]|0);if((c[h>>2]|0)==101?(k=RH(c[g>>2]|0)|0,c[(c[f>>2]|0)+80>>2]=k,(c[(c[f>>2]|0)+80>>2]|0)!=0):0)c[h>>2]=1;c[(c[g>>2]|0)+52>>2]=c[h>>2];if(7==(Tg(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+80>>2]|0)|0))c[(c[f>>2]|0)+80>>2]=7}if(((c[h>>2]|0)!=100?((d[(c[f>>2]|0)+89>>0]|0)>>>7&255|0)!=0:0)&(c[h>>2]|0)!=101)c[h>>2]=SH(c[f>>2]|0)|0;c[e>>2]=c[h>>2]&c[(c[g>>2]|0)+56>>2];k=c[e>>2]|0;i=j;return k|0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;b=h+20|0;d=h+16|0;g=h+12|0;f=h+8|0;j=h+4|0;e=h;c[d>>2]=a;c[j>>2]=Xd(c[d>>2]|0)|0;c[e>>2]=CA(c[d>>2]|0)|0;c[g>>2]=Th(c[e>>2]|0,c[j>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[g>>2]|0)){MH(c[f>>2]|0,c[d>>2]|0);yh(c[f>>2]|0,c[d>>2]|0)|0;NH(c[f>>2]|0);Sg(c[f>>2]|0)|0;c[b>>2]=0;j=c[b>>2]|0;i=h;return j|0}if((c[g>>2]|0)==7)lh(c[e>>2]|0);c[b>>2]=c[g>>2];j=c[b>>2]|0;i=h;return j|0}function ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;i=j;return h|0}c[g>>2]=(Jf(c[f>>2]|0)|0)+1;b=c[g>>2]|0;c[h>>2]=Ah(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[h>>2]|0)rR(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;c[d>>2]=c[h>>2];h=c[d>>2]|0;i=j;return h|0}function qh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];d=c[g>>2]|0;if((c[f>>2]|0)>0){zx(d,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)tR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{hh(d);c[(c[g>>2]|0)+16>>2]=0}i=h;return c[(c[g>>2]|0)+16>>2]|0}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;a=e;c[f>>2]=Ah(c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;i=g;return h|0}tR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function sh(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;d=h+8|0;g=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[g>>2]=c[j>>2];if(((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+20>>2]|0)!=0:0)?((c[d>>2]|0)>=0?(c[d>>2]|0)<(e[(c[g>>2]|0)+84>>1]|0|0):0):0){c[f>>2]=(c[(c[g>>2]|0)+20>>2]|0)+((c[d>>2]|0)*40|0);j=c[f>>2]|0;i=h;return j|0}if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0)lg(c[c[g>>2]>>2]|0,25);c[f>>2]=LH()|0;j=c[f>>2]|0;i=h;return j|0}function th(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){i=d;return}e=Tg(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+80>>2]|0)|0;c[(c[b>>2]|0)+80>>2]=e;i=d;return}function uh(b,d,e,f){b=b|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;o=i;i=i+32|0;p=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;n=o+12|0;m=o+8|0;l=o+4|0;k=o;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[p>>2];c[k>>2]=c[c[m>>2]>>2];c[l>>2]=ye(c[p>>2]|0)|0;if(!((c[g>>2]|0)>=0?(c[g>>2]|0)<(c[l>>2]|0):0)){p=c[n>>2]|0;i=o;return p|0}p=_(c[j>>2]|0,c[l>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[n>>2]=Tb[c[h>>2]&255]((c[(c[m>>2]|0)+16>>2]|0)+((c[g>>2]|0)*40|0)|0)|0;if(!(a[(c[k>>2]|0)+69>>0]|0)){p=c[n>>2]|0;i=o;return p|0}ni(c[k>>2]|0);c[n>>2]=0;p=c[n>>2]|0;i=o;return p|0}function vh(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;o=s+32|0;p=s+8|0;q=s+4|0;r=s;c[t>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;c[p>>2]=c[t>>2];c[r>>2]=wh(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){if(!((c[n>>2]|0)!=0&(c[n>>2]|0)!=(-1|0))){t=c[r>>2]|0;i=s;return t|0}Qb[c[n>>2]&255](c[l>>2]|0);t=c[r>>2]|0;i=s;return t|0}if(!(c[l>>2]|0)){t=c[r>>2]|0;i=s;return t|0}c[q>>2]=(c[(c[p>>2]|0)+60>>2]|0)+(((c[k>>2]|0)-1|0)*40|0);c[r>>2]=fh(c[q>>2]|0,c[l>>2]|0,c[m>>2]|0,a[o>>0]|0,c[n>>2]|0)|0;if((c[r>>2]|0)==0?(d[o>>0]|0|0)!=0:0)c[r>>2]=du(c[q>>2]|0,d[(c[c[p>>2]>>2]|0)+66>>0]|0)|0;lg(c[c[p>>2]>>2]|0,c[r>>2]|0);c[r>>2]=Tg(c[c[p>>2]>>2]|0,c[r>>2]|0)|0;t=c[r>>2]|0;i=s;return t|0}function wh(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;c[h>>2]=e;c[j>>2]=f;if(mh(c[h>>2]|0)|0){c[g>>2]=Lf(73738)|0;m=c[g>>2]|0;i=n;return m|0}if((c[(c[h>>2]|0)+40>>2]|0)==-1108210269?(c[(c[h>>2]|0)+76>>2]|0)<0:0){if((c[j>>2]|0)>=1?(c[j>>2]|0)<=(b[(c[h>>2]|0)+68>>1]|0):0){c[j>>2]=(c[j>>2]|0)+-1;c[k>>2]=(c[(c[h>>2]|0)+60>>2]|0)+((c[j>>2]|0)*40|0);Wg(c[k>>2]|0);b[(c[k>>2]|0)+8>>1]=1;lg(c[c[h>>2]>>2]|0,0);do if((d[(c[h>>2]|0)+89>>0]|0)>>>7&255){if(!((c[j>>2]|0)<32?(c[(c[h>>2]|0)+188>>2]&1<>2]|0)!=0:0))m=12;if((m|0)==12?(c[(c[h>>2]|0)+188>>2]|0)!=-1:0)break;m=(c[h>>2]|0)+87|0;a[m>>0]=a[m>>0]&-2|1}while(0);c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,25);c[g>>2]=25;m=c[g>>2]|0;i=n;return m|0}lg(c[c[h>>2]>>2]|0,21);c[l>>2]=c[(c[h>>2]|0)+168>>2];Rd(21,40257,l);c[g>>2]=Lf(73746)|0;m=c[g>>2]|0;i=n;return m|0}function xh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}a:do if(c[j>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+70>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+64>>2]|0)+(c[l>>2]<<2)>>2];if(((c[m>>2]|0)!=0?(LQ(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)break;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=(c[l>>2]|0)+1;e=c[g>>2]|0;i=n;return e|0}while(0);c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}function yh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+16|0;j=h+12|0;f=h+8|0;g=h+4|0;e=h;c[k>>2]=a;c[j>>2]=d;c[f>>2]=c[k>>2];c[g>>2]=c[j>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(b[(c[f>>2]|0)+68>>1]|0))break;KH((c[(c[g>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0,(c[(c[f>>2]|0)+60>>2]|0)+((c[e>>2]|0)*40|0)|0);c[e>>2]=(c[e>>2]|0)+1}i=h;return 0}function zh(d,f){d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;j=n+16|0;m=n+8|0;l=n;k=n+24|0;c[g>>2]=d;c[j>>2]=f;a[k>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(Qy(c[(c[g>>2]|0)+16>>2]|0,m,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){i=n;return}if(!(Ki(c[(c[g>>2]|0)+16>>2]|0,l,c[(c[g>>2]|0)+12>>2]|0,a[k>>0]|0)|0)){d=c[l+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[l>>2];c[m+4>>2]=d;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;i=n;return}h[c[g>>2]>>3]=+h[m>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[j>>2]|0)){i=n;return}vx(c[g>>2]|0);i=n;return}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j;h=j+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=Lw(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;i=j;return h|0}else{a=g;c[h>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Bh(b,d,e,f){b=b|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,r=0;r=i;i=i+64|0;q=r+16|0;p=r;k=r+52|0;l=r+48|0;g=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;j=r+28|0;h=r+24|0;c[l>>2]=b;c[g>>2]=d;c[m>>2]=e;c[n>>2]=f;if(vz(c[l>>2]|0)|0){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}c[o>>2]=ri(c[c[l>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[j>>2]=(c[g>>2]|0)!=0?40230:40243;if(((li(c[c[l>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[h>>2]=qj((c[c[l>>2]>>2]|0)+320|0,c[m>>2]|0)|0,(c[h>>2]|0)!=0):0)?(GH(c[l>>2]|0,c[h>>2]|0)|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];q=c[k>>2]|0;i=r;return q|0}d=c[l>>2]|0;g=c[j>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=g;c[p+4>>2]=n;c[p+8>>2]=q;Ch(d,30609,p)}else{p=c[m>>2]|0;c[q>>2]=g;c[q+4>>2]=p;Ch(d,30619,q)}a[(c[l>>2]|0)+17>>0]=1}c[k>>2]=c[o>>2];q=c[k>>2]|0;i=r;return q|0}function Ch(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+48|0;f=j+32|0;l=j+28|0;h=j+24|0;k=j+8|0;g=j;c[f>>2]=b;c[l>>2]=d;c[g>>2]=c[c[f>>2]>>2];c[k>>2]=e;c[h>>2]=dx(c[g>>2]|0,c[l>>2]|0,k)|0;if(a[(c[g>>2]|0)+73>>0]|0){Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}else{l=(c[f>>2]|0)+68|0;c[l>>2]=(c[l>>2]|0)+1;Tf(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=1;i=j;return}}function Dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;j=f+28|0;h=f+24|0;g=f+8|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=dx(c[j>>2]|0,c[h>>2]|0,g)|0;i=f;return c[e>>2]|0}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=rh(c[e>>2]|0,208,0)|0;if(!(c[f>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[c[f>>2]>>2]=c[e>>2];if(c[(c[e>>2]|0)+4>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+48>>2]=c[f>>2];c[(c[f>>2]|0)+52>>2]=c[(c[e>>2]|0)+4>>2];c[(c[f>>2]|0)+48>>2]=0;c[(c[e>>2]|0)+4>>2]=c[f>>2];c[(c[f>>2]|0)+40>>2]=649915045;c[(c[f>>2]|0)+24>>2]=c[d>>2];c[b>>2]=c[f>>2];a=c[b>>2]|0;i=g;return a|0}function Fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){d=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){f=c[f>>2]|0;i=g;return f|0}return 0}function Gh(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;l=j+24|0;p=j+20|0;o=j+16|0;n=j+12|0;m=j+8|0;k=j+4|0;h=j;c[l>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[k>>2]=g;c[h>>2]=$w(c[l>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Kh(c[l>>2]|0,c[h>>2]|0,c[k>>2]|0,-14);i=j;return c[h>>2]|0}function Hh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if(a[(c[c[e>>2]>>2]|0)+69>>0]|0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+32>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;i=g;return}function Ih(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+8|0;o=p+4|0;n=p;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[p+12>>2]=g;if(((c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]|0)|0)>(c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)?(bx(c[j>>2]|0,c[k>>2]|0)|0)!=0:0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}b=(c[(c[j>>2]|0)+4>>2]|0)+((c[(c[j>>2]|0)+32>>2]|0)*20|0)|0;c[o>>2]=b;c[n>>2]=b;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;a[c[o>>2]>>0]=a[c[l>>2]>>0]|0;c[(c[o>>2]|0)+4>>2]=a[(c[l>>2]|0)+1>>0];c[(c[o>>2]|0)+8>>2]=a[(c[l>>2]|0)+2>>0];if((d[35407+(d[c[l>>2]>>0]|0)>>0]&1|0)!=0?(a[(c[l>>2]|0)+2>>0]|0)>0:0){b=(c[o>>2]|0)+8|0;c[b>>2]=(c[b>>2]|0)+(c[(c[j>>2]|0)+32>>2]|0)}c[(c[o>>2]|0)+12>>2]=a[(c[l>>2]|0)+3>>0];a[(c[o>>2]|0)+1>>0]=0;c[(c[o>>2]|0)+16>>2]=0;a[(c[o>>2]|0)+3>>0]=0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+4;c[o>>2]=(c[o>>2]|0)+20}o=(c[j>>2]|0)+32|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=(c[d>>2]|0)+96|0;c[a>>2]=c[a>>2]|1<>2];if((c[e>>2]|0)==1){i=f;return}if(!(FH(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){i=f;return}a=(c[d>>2]|0)+100|0;c[a>>2]=c[a>>2]|1<>2];i=f;return}function Kh(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=d;c[k>>2]=e;c[l>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){if((c[l>>2]|0)==-10){i=n;return}wA(c[j>>2]|0,c[l>>2]|0,c[k>>2]|0);i=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+32>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0);if((c[l>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){g=c[k>>2]|0;if((c[l>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=g;a[(c[m>>2]|0)+1>>0]=-14;i=n;return}if(!g){i=n;return}c[(c[m>>2]|0)+16>>2]=c[k>>2];a[(c[m>>2]|0)+1>>0]=c[l>>2];if((c[l>>2]|0)!=-10){i=n;return}EH(c[k>>2]|0);i=n;return}DH(c[g>>2]|0,c[m>>2]|0,c[k>>2]|0,c[l>>2]|0);i=n;return}function Lh(e,f){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,r=0;r=i;i=i+48|0;g=r+44|0;h=r+40|0;j=r+36|0;p=r+32|0;n=r+28|0;m=r+24|0;l=r+20|0;o=r+16|0;k=r+12|0;q=r;c[g>>2]=e;c[h>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[p>>2]=b[(c[h>>2]|0)+444>>1];c[n>>2]=c[(c[h>>2]|0)+76>>2];c[m>>2]=c[(c[h>>2]|0)+72>>2];c[l>>2]=c[(c[h>>2]|0)+400>>2];f=c[(c[h>>2]|0)+84>>2]|0;c[o>>2]=f;c[o>>2]=(c[o>>2]|0)==0?1:f;c[n>>2]=(c[n>>2]|0)+(c[m>>2]|0);if((c[m>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[k>>2]=((c[(c[g>>2]|0)+32>>2]|0)*20|0)+7&-8;c[q>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]|0);c[q+4>>2]=(c[(c[h>>2]|0)+92>>2]|0)-(c[k>>2]|0)&-8;if((c[q+4>>2]|0)>0)tR(c[q>>2]|0,0,c[q+4>>2]|0)|0;ZE(c[g>>2]|0,l);if(d[(c[h>>2]|0)+20>>0]|0)e=(d[(c[h>>2]|0)+21>>0]|0)!=0;else e=0;f=(c[g>>2]|0)+89|0;a[f>>0]=a[f>>0]&-17|(e&1)<<4&255;if((c[n>>2]|0)<10?(d[(c[h>>2]|0)+453>>0]|0)!=0:0)c[n>>2]=10;f=(c[g>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2;do{c[q+8>>2]=0;f=CH(q,c[(c[g>>2]|0)+8>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[g>>2]|0)+8>>2]=f;f=CH(q,c[(c[g>>2]|0)+60>>2]|0,(c[p>>2]|0)*40|0)|0;c[(c[g>>2]|0)+60>>2]=f;f=CH(q,c[(c[g>>2]|0)+12>>2]|0,c[l>>2]<<2)|0;c[(c[g>>2]|0)+12>>2]=f;f=CH(q,c[(c[g>>2]|0)+56>>2]|0,c[m>>2]<<2)|0;c[(c[g>>2]|0)+56>>2]=f;f=CH(q,c[(c[g>>2]|0)+200>>2]|0,c[o>>2]|0)|0;c[(c[g>>2]|0)+200>>2]=f;if(!(c[q+8>>2]|0))break;f=c[q+8>>2]|0;f=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+172>>2]=f;c[q>>2]=f;c[q+4>>2]=c[q+8>>2]}while((a[(c[j>>2]|0)+69>>0]|0)!=0^1);c[(c[g>>2]|0)+36>>2]=c[m>>2];c[(c[g>>2]|0)+196>>2]=c[o>>2];a:do if(c[(c[g>>2]|0)+60>>2]|0){b[(c[g>>2]|0)+68>>1]=c[p>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[p>>2]|0))break a;b[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=1;c[(c[(c[g>>2]|0)+60>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}}while(0);b[(c[g>>2]|0)+70>>1]=c[(c[h>>2]|0)+448>>2];c[(c[g>>2]|0)+64>>2]=c[(c[h>>2]|0)+476>>2];c[(c[h>>2]|0)+448>>2]=0;c[(c[h>>2]|0)+476>>2]=0;if(!(c[(c[g>>2]|0)+8>>2]|0)){p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}c[(c[g>>2]|0)+28>>2]=c[n>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;b[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+8>>1]=128;c[(c[(c[g>>2]|0)+8>>2]|0)+((c[k>>2]|0)*40|0)+32>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+1}p=c[h>>2]|0;p=p+453|0;p=a[p>>0]|0;p=p&255;q=c[g>>2]|0;q=q+89|0;p=p&255;o=a[q>>0]|0;p=p&3;o=o&-4;p=o|p;a[q>>0]=p;q=c[g>>2]|0;Vg(q);i=r;return}function Mh(a,d,e,f){a=a|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,r=0,s=0;s=i;i=i+64|0;q=s+24|0;p=s+16|0;k=s+8|0;l=s+52|0;m=s;n=s+48|0;o=s+44|0;r=s+40|0;g=s+36|0;h=s+32|0;j=s+28|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[r>>2]=0;c[g>>2]=c[(c[l>>2]|0)+20>>2];e=m;a=c[e+4>>2]|0;f=c[(c[g>>2]|0)+60>>2]|0;c[f>>2]=c[e>>2];c[f+4>>2]=a;c[o>>2]=ue(c[(c[l>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[h>>2]=c[c[(c[g>>2]|0)+56>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+80+(c[(c[l>>2]|0)+12>>2]<<2)>>2];d=c[l>>2]|0;if((c[j>>2]|0)>>>0>=12){c[(c[l>>2]|0)+8>>2]=c[(c[h>>2]|0)+80+((c[d+12>>2]|0)+(b[(c[h>>2]|0)+12>>1]|0)<<2)>>2];k=BF(c[j>>2]|0)|0;c[(c[l>>2]|0)+4>>2]=k;c[(c[l>>2]|0)+16>>2]=c[(c[h>>2]|0)+16>>2];BH(c[(c[l>>2]|0)+16>>2]|0);break}e=c[d+24>>2]|0;if(!(c[j>>2]|0))d=40176;else d=(c[j>>2]|0)==7?40163:40168;c[k>>2]=d;c[r>>2]=Dh(e,40181,k)|0;c[o>>2]=1;Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}if(!(c[(c[l>>2]|0)+20>>2]|0)){q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}c[o>>2]=Yd(c[(c[l>>2]|0)+20>>2]|0)|0;c[(c[l>>2]|0)+20>>2]=0;d=c[(c[l>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){l=m;m=c[l+4>>2]|0;q=p;c[q>>2]=c[l>>2];c[q+4>>2]=m;c[r>>2]=Dh(d,40210,p)|0;c[o>>2]=1;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}else{c[q>>2]=bf(c[(c[l>>2]|0)+24>>2]|0)|0;c[r>>2]=Dh(d,18999,q)|0;q=c[r>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;i=s;return r|0}return 0}function Nh(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];Tf(c[f>>2]|0,c[(c[e>>2]|0)+120>>2]|0);$u(c[f>>2]|0,c[(c[e>>2]|0)+324>>2]|0);if(c[f>>2]|0){b=(c[f>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;i=g;return}function Oh(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;i=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)e=bF(c[h>>2]|0)|0;else e=0;c[m>>2]=e;if(!(c[m>>2]|0))c[m>>2]=oF(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;i=n;return m|0}function Ph(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;o=r+12|0;n=r+8|0;p=r+4|0;m=r;c[s>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[n>>2]=c[s>>2];if(!(c[n>>2]|0)){c[g>>2]=Lf(81735)|0;s=c[g>>2]|0;i=r;return s|0}c[m>>2]=c[(c[n>>2]|0)+24>>2];c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(!((c[j>>2]|0)<0|(c[k>>2]|0)<0)?(a=c[k>>2]|0,b=c[j>>2]|0,b=pR(a|0,((a|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0,a=C,s=c[(c[n>>2]|0)+4>>2]|0,f=((s|0)<0)<<31>>31,!((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>s>>>0)):0){if(!(c[p>>2]|0)){c[o>>2]=4;break}AH(c[(c[n>>2]|0)+16>>2]|0);c[o>>2]=Wb[c[l>>2]&255](c[(c[n>>2]|0)+16>>2]|0,(c[k>>2]|0)+(c[(c[n>>2]|0)+8>>2]|0)|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[o>>2]|0)==4){Sg(c[p>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=0;break}else{c[(c[p>>2]|0)+80>>2]=c[o>>2];break}}else q=5;while(0);if((q|0)==5)c[o>>2]=1;lg(c[m>>2]|0,c[o>>2]|0);c[o>>2]=Tg(c[m>>2]|0,c[o>>2]|0)|0;c[g>>2]=c[o>>2];s=c[g>>2]|0;i=r;return s|0}function Qh(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+87|0;a[f>>0]=a[f>>0]&-2|1;c[d>>2]=c[(c[d>>2]|0)+52>>2]}i=e;return}function Rh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;n=x+24|0;m=x+20|0;p=x+56|0;l=x+16|0;o=x+12|0;j=x+8|0;k=x+4|0;h=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[n>>2]=d[(c[v>>2]|0)+1>>0];c[m>>2]=d[c[v>>2]>>0];a[p>>0]=a[(c[v>>2]|0)+3>>0]|0;c[l>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=pC(t)|0;c[q>>2]=g;if(!g){b=83;break}if((c[q>>2]|0)==(c[m>>2]|0)){b=7;break}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=pC(t)|0;if(!(c[q>>2]|0)){b=49;break a}c[l>>2]=c[t>>2];break}c[j>>2]=0;c[k>>2]=0;c[h>>2]=0;c[q>>2]=pC(u)|0;if(!(c[q>>2]|0)){b=52;break a}c[r>>2]=pC(t)|0;if((c[r>>2]|0)==94){c[h>>2]=1;c[r>>2]=pC(t)|0}if((c[r>>2]|0)==93){if((c[q>>2]|0)==93)c[k>>2]=1;c[r>>2]=pC(t)|0}while(1){g=c[r>>2]|0;if(!((c[r>>2]|0)!=0?(c[r>>2]|0)!=93:0))break;if(((g|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[j>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[r>>2]=pC(t)|0;if((c[q>>2]|0)>>>0>=(c[j>>2]|0)>>>0?(c[q>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)c[k>>2]=1;c[j>>2]=0}else{if((c[q>>2]|0)==(c[r>>2]|0))c[k>>2]=1;c[j>>2]=c[r>>2]}c[r>>2]=pC(t)|0}if(!g){b=73;break a}if(!(c[k>>2]^c[h>>2])){b=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=pC(u)|0;c[r>>2]=g;if((c[q>>2]|0)==(c[r>>2]|0))continue;if((d[p>>0]|0)!=0&(c[q>>2]|0)>>>0<128&(c[r>>2]|0)>>>0<128?(d[18221+(c[q>>2]&255)>>0]|0)==(d[18221+(c[r>>2]&255)>>0]|0):0)continue;if((c[q>>2]|0)!=(c[n>>2]|0)){b=82;break}if(!((c[r>>2]|0)!=0?(c[t>>2]|0)!=(c[l>>2]|0):0)){b=82;break}}if((b|0)==7){while(1){b=0;if((d[c[t>>2]>>0]|0)<128){g=c[t>>2]|0;c[t>>2]=g+1;g=d[g>>0]|0}else g=pC(t)|0;c[q>>2]=g;if((g|0)==(c[m>>2]|0))g=1;else g=(c[q>>2]|0)==(c[n>>2]|0);f=c[q>>2]|0;if(!g)break;if((f|0)!=(c[n>>2]|0)){b=7;continue}if(!(pC(u)|0)){b=15;break}else b=7}if((b|0)==15){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}if(!f){c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}do if((c[q>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[q>>2]=pC(t)|0;if(c[q>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)g=(Rh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else g=0;f=c[u>>2]|0;if(!g)break;c[u>>2]=f+1;if((d[f>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[f>>0]|0)!=0&1;w=c[s>>2]|0;i=x;return w|0}while(0);c:do if((c[q>>2]|0)>>>0<=128){g=c[q>>2]|0;if(a[p>>0]|0){c[o>>2]=g&~(d[19011+(c[q>>2]&255)>>0]&32);c[q>>2]=d[18221+(c[q>>2]&255)>>0]}else c[o>>2]=g;while(1){p=c[u>>2]|0;c[u>>2]=p+1;p=d[p>>0]|0;c[r>>2]=p;if(!p)break c;if((c[r>>2]|0)!=(c[q>>2]|0)?(c[r>>2]|0)!=(c[o>>2]|0):0)continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){g=c[u>>2]|0;c[u>>2]=g+1;g=d[g>>0]|0}else g=pC(u)|0;c[r>>2]=g;if(!g)break c;if((c[r>>2]|0)!=(c[q>>2]|0))continue;if(Rh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;i=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==49){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==52){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==73){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==82){c[s>>2]=0;w=c[s>>2]|0;i=x;return w|0}else if((b|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;i=x;return w|0}return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){nH(40149);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+80>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Uh(c[d>>2]|0)|0)nH(40154);c[b>>2]=0}while(0);i=f;return c[b>>2]|0}function Th(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[c[p>>2]>>2]=0;b=(Sh(c[k>>2]|0)|0)==0;if(b|(c[l>>2]|0)==0){c[j>>2]=Lf(110313)|0;b=c[j>>2]|0;i=s;return b|0}Of(c[k>>2]|0);c[r>>2]=oH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==17){Yd(c[c[p>>2]>>2]|0)|0;c[r>>2]=oH(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}c[j>>2]=c[r>>2];b=c[j>>2]|0;i=s;return b|0}function Uh(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+80>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){nH(39996);c[b>>2]=0;f=c[b>>2]|0;i=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;i=d;return f|0}return 0}function Vh(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;m=r+12|0;o=r+8|0;n=r+4|0;q=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=0;c[m>>2]=Jf(c[h>>2]|0)|0;if(!(qj((c[g>>2]|0)+320|0,c[h>>2]|0)|0)){c[o>>2]=Lw(c[g>>2]|0,20+(c[m>>2]|0)+1|0,0)|0;if((c[o>>2]|0)!=0?(c[q>>2]=(c[o>>2]|0)+20,rR(c[q>>2]|0,c[h>>2]|0,(c[m>>2]|0)+1|0)|0,c[(c[o>>2]|0)+4>>2]=c[q>>2],c[c[o>>2]>>2]=c[j>>2],c[(c[o>>2]|0)+8>>2]=c[k>>2],c[(c[o>>2]|0)+12>>2]=c[l>>2],c[(c[o>>2]|0)+16>>2]=0,c[n>>2]=Sj((c[g>>2]|0)+320|0,c[q>>2]|0,c[o>>2]|0)|0,(c[n>>2]|0)!=0):0){lh(c[g>>2]|0);Tf(c[g>>2]|0,c[n>>2]|0)}}else c[p>>2]=Lf(118695)|0;c[p>>2]=Tg(c[g>>2]|0,c[p>>2]|0)|0;if(!((c[p>>2]|0)!=0&(c[l>>2]|0)!=0)){b=c[p>>2]|0;i=r;return b|0}Qb[c[l>>2]&255](c[k>>2]|0);b=c[p>>2]|0;i=r;return b|0}function Wh(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;s=z+68|0;t=z+64|0;h=z+60|0;j=z+56|0;w=z+52|0;v=z+48|0;m=z+44|0;n=z+40|0;k=z+36|0;u=z+32|0;l=z+28|0;x=z+24|0;y=z+20|0;c[t>>2]=b;c[h>>2]=e;c[j>>2]=f;c[w>>2]=0;c[k>>2]=-1;c[u>>2]=c[c[t>>2]>>2];c[l>>2]=c[(c[u>>2]|0)+92+4>>2];if(!(c[(c[u>>2]|0)+152>>2]|0))c[(c[u>>2]|0)+248>>2]=0;c[(c[t>>2]|0)+12>>2]=0;c[(c[t>>2]|0)+484>>2]=c[h>>2];c[v>>2]=0;c[m>>2]=Vu(179)|0;if(!(c[m>>2]|0)){lh(c[u>>2]|0);c[s>>2]=7;y=c[s>>2]|0;i=z;return y|0}while(1){if(!(a[(c[h>>2]|0)+(c[v>>2]|0)>>0]|0))break;c[(c[t>>2]|0)+508>>2]=(c[h>>2]|0)+(c[v>>2]|0);e=Wu((c[h>>2]|0)+(c[v>>2]|0)|0,n)|0;c[(c[t>>2]|0)+508+4>>2]=e;c[v>>2]=(c[v>>2]|0)+(c[(c[t>>2]|0)+508+4>>2]|0);if((c[v>>2]|0)>(c[l>>2]|0)){r=7;break}if((c[n>>2]|0)>=160){if(c[(c[u>>2]|0)+248>>2]|0){r=10;break}if((c[n>>2]|0)==161){r=12;break}else continue}else{b=c[m>>2]|0;f=c[n>>2]|0;A=(c[t>>2]|0)+508|0;e=c[t>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];Xu(b,f,g,e);c[k>>2]=c[n>>2];if(c[(c[t>>2]|0)+12>>2]|0)break;if(d[(c[u>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[t>>2]|0)+12>>2]=18;else if((r|0)==10)c[(c[t>>2]|0)+12>>2]=9;else if((r|0)==12){A=c[t>>2]|0;c[o>>2]=(c[t>>2]|0)+508;Ch(A,27045,o)}c[(c[t>>2]|0)+484>>2]=(c[h>>2]|0)+(c[v>>2]|0);if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){if((c[k>>2]|0)!=1){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Xu(r,1,g,A)}if((c[(c[t>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+69>>0]|0)==0:0){r=c[m>>2]|0;e=(c[t>>2]|0)+508|0;A=c[t>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Xu(r,0,g,A)}}Yu(c[m>>2]|0,148);if(a[(c[u>>2]|0)+69>>0]|0)c[(c[t>>2]|0)+12>>2]=7;if(((c[(c[t>>2]|0)+12>>2]|0)!=0?(c[(c[t>>2]|0)+12>>2]|0)!=101:0)?(c[(c[t>>2]|0)+4>>2]|0)==0:0){A=c[u>>2]|0;c[p>>2]=kh(c[(c[t>>2]|0)+12>>2]|0)|0;A=Dh(A,18999,p)|0;c[(c[t>>2]|0)+4>>2]=A}if(c[(c[t>>2]|0)+4>>2]|0){c[c[j>>2]>>2]=c[(c[t>>2]|0)+4>>2];A=c[(c[t>>2]|0)+12>>2]|0;c[q>>2]=c[c[j>>2]>>2];Rd(A,18999,q);c[(c[t>>2]|0)+4>>2]=0;c[w>>2]=(c[w>>2]|0)+1}if(((c[(c[t>>2]|0)+8>>2]|0)!=0?(c[(c[t>>2]|0)+68>>2]|0)>0:0)?(d[(c[t>>2]|0)+18>>0]|0)==0:0){Zu(c[(c[t>>2]|0)+8>>2]|0);c[(c[t>>2]|0)+8>>2]=0}if(!(d[(c[t>>2]|0)+18>>0]|0)){Tf(c[u>>2]|0,c[(c[t>>2]|0)+408>>2]|0);c[(c[t>>2]|0)+408>>2]=0;c[(c[t>>2]|0)+404>>2]=0}Kd(c[(c[t>>2]|0)+524>>2]|0);if(!(a[(c[t>>2]|0)+454>>0]|0))Rf(c[u>>2]|0,c[(c[t>>2]|0)+488>>2]|0);_u(c[u>>2]|0,c[(c[t>>2]|0)+540>>2]|0);Qf(c[u>>2]|0,c[(c[t>>2]|0)+492>>2]|0);c[v>>2]=(c[(c[t>>2]|0)+448>>2]|0)-1;while(1){g=c[u>>2]|0;if((c[v>>2]|0)<0)break;Tf(g,c[(c[(c[t>>2]|0)+476>>2]|0)+(c[v>>2]<<2)>>2]|0);c[v>>2]=(c[v>>2]|0)+-1}Tf(g,c[(c[t>>2]|0)+476>>2]|0);while(1){if(!(c[(c[t>>2]|0)+412>>2]|0))break;c[x>>2]=c[(c[t>>2]|0)+412>>2];c[(c[t>>2]|0)+412>>2]=c[c[x>>2]>>2];Tf(c[u>>2]|0,c[x>>2]|0)}while(1){if(!(c[(c[t>>2]|0)+528>>2]|0))break;c[y>>2]=c[(c[t>>2]|0)+528>>2];c[(c[t>>2]|0)+528>>2]=c[(c[y>>2]|0)+68>>2];Rf(c[u>>2]|0,c[y>>2]|0)}c[s>>2]=c[w>>2];A=c[s>>2]|0;i=z;return A|0}function Xh(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=rh(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;i=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;i=f;return e|0}function Yh(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){i=n;return}fh(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,a[l>>0]|0,c[m>>2]|0)|0;i=n;return}function Zh(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5056;mf(4,b)|0;i=a;return}function _h(){return 88}function $h(){return 40}function ai(){return 32}function bi(){var a=0,b=0;a=i;i=i+16|0;b=a;c[b>>2]=5004;mf(18,b)|0;i=a;return}function ci(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;qu(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function di(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+8>>0]|0|0)==2;a=a&1;i=e;return a|0}function ei(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[(c[j>>2]|0)+256+8>>2]|0){c[h>>2]=5;f=c[h>>2]|0;i=q;return f|0}if(a[(c[j>>2]|0)+256+6>>0]|0)Kd(c[(c[j>>2]|0)+256+32>>2]|0);f=c[l>>2]&-8;c[l>>2]=f;c[l>>2]=(c[l>>2]|0)<=4?0:f;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[l>>2]|0)==0|(c[m>>2]|0)==0)){if(c[k>>2]|0){c[p>>2]=c[k>>2];break}Wj();f=_(c[l>>2]|0,c[m>>2]|0)|0;c[p>>2]=$f(f,((f|0)<0)<<31>>31)|0;Xj();if(c[p>>2]|0){f=ag(c[p>>2]|0)|0;c[m>>2]=(f|0)/(c[l>>2]|0)|0}}else{c[l>>2]=0;c[p>>2]=0}while(0);c[(c[j>>2]|0)+256+32>>2]=c[p>>2];c[(c[j>>2]|0)+256+28>>2]=0;b[(c[j>>2]|0)+256+4>>1]=c[l>>2];if(c[p>>2]|0){c[o>>2]=c[p>>2];c[n>>2]=(c[m>>2]|0)-1;while(1){if((c[n>>2]|0)<0)break;c[c[o>>2]>>2]=c[(c[j>>2]|0)+256+28>>2];c[(c[j>>2]|0)+256+28>>2]=c[o>>2];c[o>>2]=(c[o>>2]|0)+(c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1}c[(c[j>>2]|0)+256+36>>2]=c[o>>2];c[(c[j>>2]|0)+256>>2]=0;a[(c[j>>2]|0)+256+6>>0]=(c[k>>2]|0)==0?1:0}else{c[(c[j>>2]|0)+256+32>>2]=c[j>>2];c[(c[j>>2]|0)+256+36>>2]=c[j>>2];c[(c[j>>2]|0)+256>>2]=1;a[(c[j>>2]|0)+256+6>>0]=0}c[h>>2]=0;f=c[h>>2]|0;i=q;return f|0}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(Uh(c[e>>2]|0)|0)){c[d>>2]=Lf(134226)|0;g=c[d>>2]|0;i=h;return g|0}iu(c[e>>2]|0);ju(c[e>>2]|0)|0;if((c[f>>2]|0)==0?(ku(c[e>>2]|0)|0)!=0:0){jg(c[e>>2]|0,5,26903,g);c[d>>2]=5;g=c[d>>2]|0;i=h;return g|0}c[(c[e>>2]|0)+80>>2]=1691352191;Pg(c[e>>2]|0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function gi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;d=f+16|0;j=f+12|0;h=f+8|0;e=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[e>>2]=c[j>>2];c[g>>2]=c[(c[j>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;i=f;return j|0}else{ui(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;j=c[d>>2]|0;i=f;return j|0}return 0} +function Jp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;ha=i;i=i+288|0;V=ha+40|0;U=ha+32|0;T=ha+24|0;q=ha+16|0;r=ha+8|0;p=ha;v=ha+280|0;w=ha+276|0;ia=ha+272|0;k=ha+268|0;x=ha+264|0;da=ha+260|0;y=ha+256|0;S=ha+252|0;ea=ha+248|0;ga=ha+244|0;E=ha+240|0;L=ha+236|0;F=ha+232|0;R=ha+228|0;M=ha+224|0;Z=ha+220|0;N=ha+216|0;P=ha+212|0;G=ha+208|0;z=ha+204|0;fa=ha+200|0;O=ha+196|0;A=ha+192|0;D=ha+188|0;C=ha+184|0;ba=ha+180|0;X=ha+176|0;ca=ha+172|0;Y=ha+168|0;_=ha+164|0;B=ha+160|0;Q=ha+156|0;s=ha+152|0;n=ha+148|0;t=ha+144|0;l=ha+80|0;m=ha+76|0;o=ha+72|0;H=ha+68|0;I=ha+64|0;W=ha+60|0;J=ha+56|0;K=ha+52|0;aa=ha+48|0;$=ha+44|0;c[v>>2]=b;c[w>>2]=d;c[ia>>2]=e;c[k>>2]=f;c[x>>2]=g;c[da>>2]=h;c[y>>2]=j;c[S>>2]=c[ia>>2];c[ea>>2]=0;c[ga>>2]=0;c[R>>2]=0;c[M>>2]=0;c[G>>2]=(a[(c[c[x>>2]>>2]|0)+3>>0]|0)==52&1;c[fa>>2]=0;c[O>>2]=0;c[A>>2]=0;c[D>>2]=0;c[C>>2]=0;c[ba>>2]=0;c[X>>2]=0;c[ca>>2]=0;c[Y>>2]=0;c[_>>2]=0;c[B>>2]=0;c[Q>>2]=0;c[N>>2]=(KQ(c[(c[x>>2]|0)+4>>2]|0)|0)+1;c[P>>2]=(KQ(c[(c[x>>2]|0)+8>>2]|0)|0)+1;c[L>>2]=(c[k>>2]|0)-2<<2;c[z>>2]=Id(c[L>>2]|0)|0;if(c[z>>2]|0){tR(c[z>>2]|0,0,c[L>>2]|0)|0;c[B>>2]=Id(c[L>>2]|0)|0}if(c[B>>2]|0)tR(c[B>>2]|0,0,c[L>>2]|0)|0;do if((c[z>>2]|0)!=0&(c[B>>2]|0)!=0){c[E>>2]=3;while(1){if(c[ga>>2]|0)break;if((c[E>>2]|0)>=(c[k>>2]|0))break;c[s>>2]=c[(c[x>>2]|0)+(c[E>>2]<<2)>>2];if((((c[fa>>2]|0)==0?(KQ(c[s>>2]|0)|0)>>>0>8:0)?0==(zd(c[s>>2]|0,24614,8)|0):0)?0==(Kp(a[(c[s>>2]|0)+8>>0]|0)|0):0)c[ga>>2]=Lp(c[S>>2]|0,(c[s>>2]|0)+9|0,fa,c[y>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if((c[G>>2]|0)!=0?(Mp(c[s>>2]|0,n,t)|0)!=0:0){f=l;g=2124;d=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));if(!(c[t>>2]|0)){c[ga>>2]=7;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=8)break;c[o>>2]=l+(c[m>>2]<<3);if((c[n>>2]|0)==(c[(c[o>>2]|0)+4>>2]|0)?(zd(c[s>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+1}a:do if((c[m>>2]|0)==8){ia=c[y>>2]|0;c[p>>2]=c[s>>2];Dk(ia,24623,p);c[ga>>2]=1}else switch(c[m>>2]|0){case 0:{if(!((KQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,21129,4)|0)==0:0)){ia=c[y>>2]|0;c[r>>2]=c[t>>2];Dk(ia,24650,r);c[ga>>2]=1}c[D>>2]=1;break a}case 1:{Kd(c[ba>>2]|0);c[ba>>2]=c[t>>2];c[t>>2]=0;break a}case 2:{Kd(c[X>>2]|0);c[X>>2]=c[t>>2];c[t>>2]=0;break a}case 3:{Kd(c[ca>>2]|0);c[ca>>2]=c[t>>2];c[t>>2]=0;break a}case 4:{if(!((KQ(c[t>>2]|0)|0)==3?(zd(c[t>>2]|0,24677,3)|0)==0:0))u=36;do if((u|0)==36){u=0;if((KQ(c[t>>2]|0)|0)==4?(zd(c[t>>2]|0,24681,4)|0)==0:0)break;ia=c[y>>2]|0;c[q>>2]=c[t>>2];Dk(ia,24686,q);c[ga>>2]=1}while(0);if((a[c[t>>2]>>0]|0)==100)f=1;else f=(a[c[t>>2]>>0]|0)==68;c[C>>2]=f&1;break a}case 5:{Kd(c[Y>>2]|0);c[Y>>2]=c[t>>2];c[t>>2]=0;break a}case 6:{Kd(c[_>>2]|0);c[_>>2]=c[t>>2];c[t>>2]=0;break a}case 7:{j=c[t>>2]|0;ia=c[Q>>2]|0;c[Q>>2]=ia+1;c[(c[B>>2]|0)+(ia<<2)>>2]=j;c[t>>2]=0;break a}default:break a}while(0);Kd(c[t>>2]|0);break}j=(KQ(c[s>>2]|0)|0)+1|0;c[R>>2]=(c[R>>2]|0)+j;j=c[s>>2]|0;ia=c[M>>2]|0;c[M>>2]=ia+1;c[(c[z>>2]|0)+(ia<<2)>>2]=j}while(0);c[E>>2]=(c[E>>2]|0)+1}b:do if(((c[ga>>2]|0)==0&(c[Y>>2]|0)!=0?(Kd(c[X>>2]|0),Kd(c[ca>>2]|0),c[X>>2]=0,c[ca>>2]=0,(c[M>>2]|0)==0):0)?(Kd(c[z>>2]|0),c[z>>2]=0,c[ga>>2]=Np(c[w>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[Y>>2]|0,z,M,R,c[y>>2]|0)|0,(c[ga>>2]|0)==0&(c[_>>2]|0)!=0):0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[M>>2]|0))break b;ia=(Td(c[_>>2]|0,c[(c[z>>2]|0)+(c[H>>2]<<2)>>2]|0)|0)==0;f=c[H>>2]|0;if(ia)break;c[H>>2]=f+1}c[I>>2]=f;while(1){if((c[I>>2]|0)>=(c[M>>2]|0))break;c[(c[z>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[z>>2]|0)+((c[I>>2]|0)+1<<2)>>2];c[I>>2]=(c[I>>2]|0)+1}c[M>>2]=(c[M>>2]|0)+-1}while(0);if(!(c[ga>>2]|0)){if(!(c[M>>2]|0)){c[c[z>>2]>>2]=24709;c[R>>2]=8;c[M>>2]=1}if((c[fa>>2]|0)==0?(c[ga>>2]=Lp(c[S>>2]|0,21055,fa,c[y>>2]|0)|0,(c[ga>>2]|0)!=0):0)break;c[ga>>2]=Op(c[ba>>2]|0,O,A)|0;if((c[ga>>2]|0)==1){ia=c[y>>2]|0;c[T>>2]=c[ba>>2];Dk(ia,24717,T)}if(!(c[ga>>2]|0)){c[L>>2]=280+(c[M>>2]<<2)+((c[O>>2]|0)*24|0)+(c[M>>2]|0)+(c[P>>2]|0)+(c[N>>2]|0)+(c[R>>2]|0);c[ea>>2]=Id(c[L>>2]|0)|0;if(!(c[ea>>2]|0)){c[ga>>2]=7;break}tR(c[ea>>2]|0,0,c[L>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[w>>2];c[(c[ea>>2]|0)+24>>2]=c[M>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[fa>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=((c[G>>2]|0)!=0?(c[D>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[G>>2];a[(c[ea>>2]|0)+228>>0]=c[G>>2];a[(c[ea>>2]|0)+231>>0]=c[C>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[Y>>2];c[(c[ea>>2]|0)+44>>2]=c[_>>2];c[Y>>2]=0;c[_>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[M>>2]<<2);rR(c[(c[ea>>2]|0)+252>>2]|0,c[A>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[O>>2]|0))break;ik((c[(c[ea>>2]|0)+252>>2]|0)+((c[E>>2]|0)*24|0)+4|0,1,1);c[E>>2]=(c[E>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=(c[(c[ea>>2]|0)+252>>2]|0)+((c[O>>2]|0)*24|0);c[Z>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[M>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[Z>>2];rR(c[Z>>2]|0,c[(c[x>>2]|0)+8>>2]|0,c[P>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[P>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[Z>>2];rR(c[Z>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[N>>2]|0)|0;c[Z>>2]=(c[Z>>2]|0)+(c[N>>2]|0);c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[J>>2]=0;c[W>>2]=Pp(c[(c[z>>2]|0)+(c[F>>2]<<2)>>2]|0,J)|0;rR(c[Z>>2]|0,c[W>>2]|0,c[J>>2]|0)|0;a[(c[Z>>2]|0)+(c[J>>2]|0)>>0]=0;Mk(c[Z>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]=c[Z>>2];c[Z>>2]=(c[Z>>2]|0)+((c[J>>2]|0)+1);c[F>>2]=(c[F>>2]|0)+1}c[F>>2]=0;while(1){if((c[F>>2]|0)>=(c[M>>2]|0))break;c[K>>2]=KQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0)|0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;c[aa>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];if(((c[aa>>2]|0)!=0?(ia=c[K>>2]|0,(ia|0)==(KQ(c[aa>>2]|0)|0)):0)?0==(zd(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[F>>2]<<2)>>2]|0,c[aa>>2]|0,c[K>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[F>>2]|0)>>0]=1;Kd(c[aa>>2]|0);c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]=0}c[E>>2]=(c[E>>2]|0)+1}c[F>>2]=(c[F>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;if(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0){ia=c[y>>2]|0;c[U>>2]=c[(c[B>>2]|0)+(c[E>>2]<<2)>>2];Dk(ia,24752,U);c[ga>>2]=1}c[E>>2]=(c[E>>2]|0)+1}if((c[ga>>2]|0)==0?((c[X>>2]|0)==0|0)!=((c[ca>>2]|0)==0|0):0){c[$>>2]=(c[X>>2]|0)==0?24771:24780;c[ga>>2]=1;ia=c[y>>2]|0;c[V>>2]=c[$>>2];Dk(ia,24791,V)}ia=Qp(c[ea>>2]|0,c[ca>>2]|0,ga)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=Rp(c[ea>>2]|0,c[X>>2]|0,ga)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[ga>>2]|0)){if(c[v>>2]|0)c[ga>>2]=Sp(c[ea>>2]|0)|0;if(!((c[G>>2]|0)!=0|(c[v>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;Tp(ga,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;Up(ga,c[ea>>2]|0)}}}}else c[ga>>2]=7;while(0);Kd(c[ba>>2]|0);Kd(c[A>>2]|0);Kd(c[X>>2]|0);Kd(c[ca>>2]|0);Kd(c[Y>>2]|0);Kd(c[_>>2]|0);c[E>>2]=0;while(1){if((c[E>>2]|0)>=(c[Q>>2]|0))break;Kd(c[(c[B>>2]|0)+(c[E>>2]<<2)>>2]|0);c[E>>2]=(c[E>>2]|0)+1}Kd(c[z>>2]|0);Kd(c[B>>2]|0);f=c[ea>>2]|0;if(!(c[ga>>2]|0)){c[c[da>>2]>>2]=f;ia=c[ga>>2]|0;i=ha;return ia|0}if(f){Qk(c[ea>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}if(!(c[fa>>2]|0)){ia=c[ga>>2]|0;i=ha;return ia|0}Tb[c[(c[c[fa>>2]>>2]|0)+8>>2]&255](c[fa>>2]|0)|0;ia=c[ga>>2]|0;i=ha;return ia|0}function Kp(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128){b=1;b=b&1;i=d;return b|0}b=(a[25473+(a[c>>0]|0)>>0]|0)!=0;b=b&1;i=d;return b|0}function Lp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;t=y+16|0;s=y+8|0;z=y;g=y+76|0;h=y+72|0;A=y+68|0;j=y+64|0;k=y+60|0;r=y+56|0;u=y+52|0;p=y+48|0;v=y+44|0;w=y+40|0;o=y+36|0;l=y+32|0;n=y+28|0;q=y+24|0;m=y+20|0;c[h>>2]=b;c[A>>2]=d;c[j>>2]=e;c[k>>2]=f;c[u>>2]=c[A>>2];c[p>>2]=0;c[z>>2]=c[A>>2];c[v>>2]=Od(18999,z)|0;if(!(c[v>>2]|0)){c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}A=KQ(c[v>>2]|0)|0;c[w>>2]=(c[v>>2]|0)+A;c[u>>2]=Pp(c[v>>2]|0,p)|0;if(!(c[u>>2]|0))c[u>>2]=c[v>>2];a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);z=c[h>>2]|0;A=c[u>>2]|0;c[o>>2]=Ck(z,A,(KQ(c[u>>2]|0)|0)+1|0)|0;if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1);while(1){if((c[u>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;A=Pp(c[u>>2]|0,p)|0;c[u>>2]=A;if(!A)break;c[q>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=Ld(c[l>>2]|0,c[q>>2]|0)|0;if(!(c[m>>2]|0)){x=11;break}c[l>>2]=c[m>>2];z=c[u>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[(c[l>>2]|0)+(A<<2)>>2]=z;a[(c[u>>2]|0)+(c[p>>2]|0)>>0]=0;Mk(c[u>>2]|0);c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+1)}if((x|0)==11){Kd(c[v>>2]|0);Kd(c[l>>2]|0);c[g>>2]=7;A=c[g>>2]|0;i=y;return A|0}c[r>>2]=Ob[c[(c[o>>2]|0)+4>>2]&255](c[n>>2]|0,c[l>>2]|0,c[j>>2]|0)|0;if(c[r>>2]|0)Dk(c[k>>2]|0,25455,t);else c[c[c[j>>2]>>2]>>2]=c[o>>2];Kd(c[l>>2]|0)}else{A=c[k>>2]|0;c[s>>2]=c[u>>2];Dk(A,21203,s);c[r>>2]=1}Kd(c[v>>2]|0);c[g>>2]=c[r>>2];A=c[g>>2]|0;i=y;return A|0}function Mp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;k=o;f=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;m=o+8|0;l=o+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=c[g>>2];while(1){d=c[l>>2]|0;if((a[c[l>>2]>>0]|0)==61)break;if(!(a[d>>0]|0)){n=4;break}c[l>>2]=(c[l>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=d-(c[g>>2]|0);c[k>>2]=(c[l>>2]|0)+1;c[m>>2]=Od(18999,k)|0;if(c[m>>2]|0)Mk(c[m>>2]|0);c[c[j>>2]>>2]=c[m>>2];c[f>>2]=1;n=c[f>>2]|0;i=o;return n|0}function Np(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=i;i=i+96|0;w=A+8|0;B=A;j=A+80|0;C=A+76|0;D=A+72|0;k=A+68|0;l=A+64|0;m=A+60|0;n=A+56|0;v=A+52|0;z=A+48|0;u=A+44|0;o=A+40|0;s=A+36|0;r=A+32|0;p=A+28|0;x=A+24|0;t=A+20|0;y=A+16|0;q=A+12|0;c[j>>2]=a;c[C>>2]=b;c[D>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[v>>2]=0;c[u>>2]=0;d=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=d;c[z>>2]=Od(25400,B)|0;if(c[z>>2]|0){c[v>>2]=cf(c[j>>2]|0,c[z>>2]|0,-1,u,0)|0;if(c[v>>2]|0){D=c[n>>2]|0;c[w>>2]=bf(c[j>>2]|0)|0;Dk(D,18999,w)}}else c[v>>2]=7;Kd(c[z>>2]|0);if(c[v>>2]|0){D=c[v>>2]|0;i=A;return D|0}c[s>>2]=0;c[r>>2]=ye(c[u>>2]|0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;c[x>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;D=(KQ(c[x>>2]|0)|0)+1|0;c[s>>2]=(c[s>>2]|0)+D;c[p>>2]=(c[p>>2]|0)+1}c[o>>2]=Id((c[r>>2]<<2)+(c[s>>2]|0)|0)|0;a:do if(!(c[o>>2]|0))c[v>>2]=7;else{c[t>>2]=(c[o>>2]|0)+(c[r>>2]<<2);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;c[y>>2]=Ie(c[u>>2]|0,c[p>>2]|0)|0;c[q>>2]=(KQ(c[y>>2]|0)|0)+1;rR(c[t>>2]|0,c[y>>2]|0,c[q>>2]|0)|0;c[(c[o>>2]|0)+(c[p>>2]<<2)>>2]=c[t>>2];c[t>>2]=(c[t>>2]|0)+(c[q>>2]|0);c[p>>2]=(c[p>>2]|0)+1}}while(0);Yd(c[u>>2]|0)|0;c[c[l>>2]>>2]=c[r>>2];c[c[m>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[o>>2];D=c[v>>2]|0;i=A;return D|0}function Op(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;o=q+12|0;p=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=1;a:do if((c[g>>2]|0)!=0?(a[c[g>>2]>>0]|0)!=0:0){c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=c[g>>2];while(1){if(!(a[c[o>>2]>>0]|0))break a;if((a[c[o>>2]>>0]|0)==44)c[m>>2]=(c[m>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}}while(0);c[k>>2]=Id((c[m>>2]|0)*24|0)|0;c[c[j>>2]>>2]=c[k>>2];if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=q;return b|0}tR(c[k>>2]|0,0,(c[m>>2]|0)*24|0)|0;b:do if(c[g>>2]|0){c[p>>2]=c[g>>2];c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break b;c[n>>2]=0;if(Xp(p,n)|0)break;if(!(c[n>>2]|0)){c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-1}else c[(c[k>>2]|0)+((c[l>>2]|0)*24|0)>>2]=c[n>>2];c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[f>>2]=1;b=c[f>>2]|0;i=q;return b|0}while(0);c[c[h>>2]>>2]=c[m>>2];c[f>>2]=0;b=c[f>>2]|0;i=q;return b|0}function Pp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;e=k+20|0;c[l>>2]=b;c[g>>2]=d;c[j>>2]=0;c[h>>2]=c[l>>2];a:while(1){if(c[j>>2]|0){d=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{d=4;break a}case 96:case 34:case 39:{c[j>>2]=c[h>>2];while(1){l=(c[j>>2]|0)+1|0;c[j>>2]=l;if(!(a[l>>0]|0))continue a;if((a[c[j>>2]>>0]|0)!=(a[e>>0]|0))continue;l=(c[j>>2]|0)+1|0;c[j>>2]=l;if((a[l>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[j>>2]=(c[h>>2]|0)+1;while(1){if(a[c[j>>2]>>0]|0)b=(a[c[j>>2]>>0]|0)!=93;else b=0;d=c[j>>2]|0;if(!b)break;c[j>>2]=d+1}if(!(a[d>>0]|0))continue a;c[j>>2]=(c[j>>2]|0)+1;continue a}default:{l=(Kp(a[c[h>>2]>>0]|0)|0)!=0;d=(c[h>>2]|0)+1|0;if(!l){c[h>>2]=d;continue a}c[j>>2]=d;while(1){if(!(Kp(a[c[j>>2]>>0]|0)|0))continue a;c[j>>2]=(c[j>>2]|0)+1}}}}if((d|0)==4){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}else if((d|0)==21){c[c[g>>2]>>2]=(c[j>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];l=c[f>>2]|0;i=k;return l|0}return 0}function Qp(a,b,d){a=a|0;b=b|0;d=d|0;var 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;t=i;i=i+96|0;r=t+56|0;l=t+48|0;k=t+40|0;n=t+32|0;m=t+24|0;j=t+8|0;h=t;q=t+92|0;e=t+88|0;f=t+84|0;s=t+80|0;o=t+76|0;p=t+72|0;g=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[s>>2]=0;c[o>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){Wp(c[f>>2]|0,s,25353,n);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[k>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2];Wp(p,s,25359,k);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[l>>2]=c[(c[q>>2]|0)+44>>2];Wp(p,s,25339,l)}}else{if(c[e>>2]|0){b=Vp(c[e>>2]|0)|0;c[p>>2]=b;c[o>>2]=b}else c[p>>2]=19010;Wp(c[f>>2]|0,s,25318,h);c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;b=c[f>>2]|0;l=c[g>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]|0;c[j>>2]=c[p>>2];c[j+4>>2]=l;c[j+8>>2]=n;Wp(b,s,25324,j);c[g>>2]=(c[g>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[m>>2]=25346;Wp(p,s,25339,m)}Kd(c[o>>2]|0)}e=c[f>>2]|0;f=c[(c[q>>2]|0)+16>>2]|0;g=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){b=c[g+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19010:25368;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25377,r);s=c[s>>2]|0;i=t;return s|0}else{b=c[g+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?19010:25368;c[r>>2]=f;q=r+4|0;c[q>>2]=b;q=r+8|0;c[q>>2]=p;Wp(e,s,25377,r);s=c[s>>2]|0;i=t;return s|0}return 0}function Rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;k=o+16|0;j=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;n=o+32|0;l=o+28|0;m=o+24|0;h=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;c[l>>2]=0;if(c[f>>2]|0){b=Vp(c[f>>2]|0)|0;c[m>>2]=b;c[l>>2]=b}else c[m>>2]=19010;Wp(c[g>>2]|0,n,20883,o);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;b=c[g>>2]|0;c[j>>2]=c[m>>2];Wp(b,n,25302,j);c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}Wp(c[g>>2]|0,n,25309,k);m=c[l>>2]|0;Kd(m);n=c[n>>2]|0;i=o;return n|0}function Sp(b){b=b|0;var 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;r=i;i=i+112|0;m=r+64|0;k=r+56|0;j=r+48|0;h=r+32|0;n=r+24|0;l=r+8|0;d=r+96|0;g=r+92|0;f=r+88|0;e=r+84|0;q=r+80|0;p=r+76|0;o=r+72|0;c[d>>2]=b;c[g>>2]=0;c[e>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[q>>2]=c[(c[d>>2]|0)+44>>2];c[p>>2]=Od(24927,r)|0;c[f>>2]=0;while(1){if(!(c[p>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[o>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[o>>2]|0;c[l>>2]=c[p>>2];c[l+4>>2]=s;c[l+8>>2]=b;c[p>>2]=Od(24953,l)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[q>>2]|0)!=0&(c[p>>2]|0)!=0){s=c[q>>2]|0;c[n>>2]=c[p>>2];c[n+4>>2]=s;c[p>>2]=Od(24965,n)|0}if(!(c[p>>2]|0))c[g>>2]=7;s=c[e>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[p>>2]|0;c[h>>2]=c[(c[d>>2]|0)+16>>2];c[h+4>>2]=o;c[h+8>>2]=q;ll(g,s,24976,h);Kd(c[p>>2]|0)}s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[(c[d>>2]|0)+16>>2];c[j+4>>2]=q;ll(g,s,25009,j);s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=q;ll(g,s,25081,k);if(a[(c[d>>2]|0)+230>>0]|0){s=c[e>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;ll(g,s,25234,m)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[g>>2]|0;i=r;return s|0}$o(g,c[d>>2]|0);s=c[g>>2]|0;i=r;return s|0}function Tp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;d=k+20|0;e=k+16|0;g=k+12|0;j=k+8|0;f=k+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){i=k;return}c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=Od(24907,h)|0;do if(c[j>>2]|0){c[g>>2]=cf(c[(c[e>>2]|0)+12>>2]|0,c[j>>2]|0,-1,f,0)|0;if(!(c[g>>2]|0)){ue(c[f>>2]|0)|0;h=De(c[f>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=h;c[g>>2]=Yd(c[f>>2]|0)|0;break}if((c[g>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[g>>2]=0}}else c[g>>2]=7;while(0);Kd(c[j>>2]|0);c[c[d>>2]>>2]=c[g>>2];i=k;return}function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;l=p+24|0;k=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;j=p+48|0;o=p+44|0;m=p+40|0;n=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){i=p;return}if(c[(c[g>>2]|0)+44>>2]|0)b=c[(c[g>>2]|0)+44>>2]|0;else b=24832;c[n>>2]=b;a=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;hf(a,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[m>>2]=Od(24841,e)|0;c[h>>2]=1;while(1){if(c[m>>2]|0)a=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else a=0;b=c[m>>2]|0;if(!a)break;e=c[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[k>>2]=b;c[k+4>>2]=e;c[m>>2]=Od(24846,k)|0;c[h>>2]=(c[h>>2]|0)+1}k=c[(c[g>>2]|0)+20>>2]|0;n=c[n>>2]|0;c[l>>2]=b;c[l+4>>2]=k;c[l+8>>2]=n;c[o>>2]=Od(24853,l)|0;if((c[m>>2]|0)!=0&(c[o>>2]|0)!=0)c[j>>2]=ff(c[(c[g>>2]|0)+12>>2]|0,c[o>>2]|0)|0;else c[j>>2]=7;Kd(c[o>>2]|0);Kd(c[m>>2]|0);c[c[f>>2]>>2]=c[j>>2];i=p;return}function Vp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;j=h+12|0;g=h+8|0;e=h+4|0;f=h;c[d>>2]=b;c[j>>2]=2+((KQ(c[d>>2]|0)|0)<<1)+1;c[g>>2]=Id(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}c[f>>2]=c[g>>2];j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;c[e>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0)==34){j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34}b=a[(c[d>>2]|0)+(c[e>>2]|0)>>0]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=b;c[e>>2]=(c[e>>2]|0)+1}j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=34;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=c[g>>2]|0;i=h;return j|0}function Wp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;k=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+16|0;l=n+12|0;m=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=n;return}c[j>>2]=e;c[l>>2]=Nd(c[h>>2]|0,j)|0;if((c[l>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0){d=c[l>>2]|0;c[k>>2]=c[c[g>>2]>>2];c[k+4>>2]=d;c[m>>2]=Od(25313,k)|0;Kd(c[l>>2]|0);c[l>>2]=c[m>>2]}if(!(c[l>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[l>>2];i=n;return}function Xp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[l+8>>2]=1e7;c[h>>2]=0;c[j>>2]=c[c[f>>2]>>2];while(1){if((a[c[j>>2]>>0]|0)<48)break;if((a[c[j>>2]>>0]|0)>57)break;c[h>>2]=((c[h>>2]|0)*10|0)+((a[c[j>>2]>>0]|0)-48);if((c[h>>2]|0)>1e7){k=5;break}c[j>>2]=(c[j>>2]|0)+1}if((k|0)==5)c[h>>2]=0;if((c[j>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}else{c[c[g>>2]>>2]=c[h>>2];c[c[f>>2]>>2]=c[j>>2];c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}return 0}function Yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;m=p;e=p+40|0;q=p+36|0;f=p+32|0;j=p+28|0;l=p+24|0;o=p+20|0;h=p+16|0;k=p+12|0;g=p+8|0;n=p+4|0;c[e>>2]=a;c[q>>2]=b;c[f>>2]=d;c[l>>2]=0;c[j>>2]=ve(c[e>>2]|0)|0;c[o>>2]=ae(c[c[f>>2]>>2]|0)|0;c[h>>2]=(be(c[c[f>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(Zp(c[e>>2]|0)|0)){je(c[e>>2]|0,25638,-1);i=p;return}c[g>>2]=be(c[(c[f>>2]|0)+4>>2]|0)|0;if((c[o>>2]|0)==0|(c[g>>2]|0)!=4){je(c[e>>2]|0,25601,-1);i=p;return}else{c[l>>2]=c[($d(c[(c[f>>2]|0)+4>>2]|0)|0)>>2];c[k>>2]=jk(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if((c[k>>2]|0)!=(c[l>>2]|0))break;je(c[e>>2]|0,25624,-1);break}}else{if(c[o>>2]|0)c[l>>2]=Ck(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;if(!(c[l>>2]|0)){c[m>>2]=c[o>>2];c[n>>2]=Od(21203,m)|0;je(c[e>>2]|0,c[n>>2]|0,-1);Kd(c[n>>2]|0);i=p;return}}while(0);ge(c[e>>2]|0,l,4,-1);i=p;return}function Zp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=we(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;of(a,1004,e)|0;i=d;return c[b>>2]|0}function _p(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;d=c[c[g>>2]>>2]|0;if(c[(c[g>>2]|0)+4>>2]|0)c[c[(c[g>>2]|0)+4>>2]>>2]=d;else c[(c[f>>2]|0)+8>>2]=d;if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[j>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[j>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[j>>2]>>2]|0)<=0)c[(c[j>>2]|0)+4>>2]=0;if((a[(c[f>>2]|0)+1>>0]|0)!=0?(c[(c[g>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[g>>2]|0)+12>>2]|0);ok(c[g>>2]|0);j=(c[f>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){i=k;return}nk(c[f>>2]|0);i=k;return}function $p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;k=n+16|0;h=n+12|0;l=n+8|0;m=n+4|0;j=n;c[f>>2]=b;c[g>>2]=d;c[k>>2]=aq(c[g>>2]<<3)|0;if(!(c[k>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}ok(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[k>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[m>>2]=Fk(a[c[f>>2]>>0]|0)|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=Yb[c[m>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0)|0;c[j>>2]=b&(c[g>>2]|0)-1;c[l>>2]=c[c[h>>2]>>2];bq(c[f>>2]|0,(c[k>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[l>>2]}c[e>>2]=0;m=c[e>>2]|0;i=n;return m|0}function aq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}tR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;i=j;return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Id(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;i=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function dq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function eq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){b=KQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=b;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function fq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function gq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;j=w+48|0;x=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;o=w+24|0;p=w+20|0;u=w+16|0;r=w+12|0;q=w+8|0;s=w+4|0;t=w;c[x>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[x>>2];c[u>>2]=c[(c[p>>2]|0)+4>>2];do{if((c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[p>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)?(x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0,c[q>>2]=x,(x&128|0)==0):0)if((c[q>>2]|0)<48)b=1;else b=(a[25660+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}c[r>>2]=h;while(1){if((c[(c[p>>2]|0)+12>>2]|0)<(c[(c[p>>2]|0)+8>>2]|0)){x=a[(c[u>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0)>>0]|0;c[q>>2]=x;if(!(x&128))if((c[q>>2]|0)<48)b=1;else b=(a[25660+((c[q>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;g=(c[p>>2]|0)+12|0;h=c[g>>2]|0;if(!b)break;c[g>>2]=h+1}}while((h|0)<=(c[r>>2]|0));if((v|0)==23){c[j>>2]=101;x=c[j>>2]|0;i=w;return x|0}c[s>>2]=(c[(c[p>>2]|0)+12>>2]|0)-(c[r>>2]|0);do if((c[s>>2]|0)>(c[(c[p>>2]|0)+24>>2]|0)){c[(c[p>>2]|0)+24>>2]=(c[s>>2]|0)+20;c[t>>2]=Ld(c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;if(c[t>>2]|0){c[(c[p>>2]|0)+20>>2]=c[t>>2];break}c[j>>2]=7;x=c[j>>2]|0;i=w;return x|0}while(0);hq((c[u>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[l>>2]|0);c[c[k>>2]>>2]=c[(c[p>>2]|0)+20>>2];c[c[m>>2]>>2]=c[r>>2];c[c[n>>2]>>2]=c[(c[p>>2]|0)+12>>2];v=(c[p>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[o>>2]>>2]=x;c[j>>2]=0;x=c[j>>2]|0;i=w;return x|0}function hq(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+64|0;g=s+28|0;h=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;k=s+8|0;m=s+36|0;r=s+4|0;l=s;j=s+32|0;c[g>>2]=b;c[h>>2]=d;c[o>>2]=e;c[p>>2]=f;if((c[h>>2]|0)<3|(c[h>>2]|0)>=21){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}c[q>>2]=0;c[k>>2]=22;while(1){if((c[q>>2]|0)>=(c[h>>2]|0))break;a[j>>0]=a[(c[g>>2]|0)+(c[q>>2]|0)>>0]|0;if((a[j>>0]|0)>=65?(a[j>>0]|0)<=90:0)a[m+(c[k>>2]|0)>>0]=(a[j>>0]|0)+97-65;else{if((a[j>>0]|0)<97){n=11;break}if((a[j>>0]|0)>122){n=11;break}a[m+(c[k>>2]|0)>>0]=a[j>>0]|0}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+-1}if((n|0)==11){iq(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[p>>2]|0);i=s;return}n=m+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[r>>2]=m+((c[k>>2]|0)+1);if((((a[c[r>>2]>>0]|0)==115?(jq(r,25740,25745,0)|0)==0:0)?(jq(r,25748,25752,0)|0)==0:0)?(jq(r,25745,25745,0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1;c[l>>2]=c[r>>2];do if(!(jq(r,25754,25758,172)|0)){if((jq(r,25761,19010,173)|0)==0?(jq(r,25765,19010,173)|0)==0:0)break;if((((c[r>>2]|0)!=(c[l>>2]|0)?(jq(r,25768,25771,0)|0)==0:0)?(jq(r,25775,25778,0)|0)==0:0)?(jq(r,25782,25785,0)|0)==0:0){if((((mq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)!=108:0)?(a[c[r>>2]>>0]|0)!=115:0)?(a[c[r>>2]>>0]|0)!=122:0){c[r>>2]=(c[r>>2]|0)+1;break}if((nq(c[r>>2]|0)|0)!=0?(oq(c[r>>2]|0)|0)!=0:0){n=(c[r>>2]|0)+-1|0;c[r>>2]=n;a[n>>0]=101}}}while(0);if((a[c[r>>2]>>0]|0)==121?(lq((c[r>>2]|0)+1|0)|0)!=0:0)a[c[r>>2]>>0]=105;switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if(!(jq(r,25789,25771,172)|0))jq(r,25797,25804,172)|0;break}case 99:{if(!(jq(r,25809,25814,172)|0))jq(r,25819,25824,172)|0;break}case 101:{jq(r,25829,25785,172)|0;break}case 103:{jq(r,25834,25839,172)|0;break}case 108:{if((((jq(r,25843,25778,172)|0)==0?(jq(r,25847,25852,172)|0)==0:0)?(jq(r,25855,25861,172)|0)==0:0)?(jq(r,25865,25869,172)|0)==0:0)jq(r,25871,25877,172)|0;break}case 111:{if((jq(r,25881,25785,172)|0)==0?(jq(r,25889,25771,172)|0)==0:0)jq(r,25895,25771,172)|0;break}case 115:{if(((jq(r,25900,25852,172)|0)==0?(jq(r,25906,25914,172)|0)==0:0)?(jq(r,25918,25926,172)|0)==0:0)jq(r,25930,25877,172)|0;break}case 116:{if((jq(r,25938,25852,172)|0)==0?(jq(r,25944,25914,172)|0)==0:0)jq(r,25950,25778,172)|0;break}default:{}}switch(a[c[r>>2]>>0]|0){case 101:{if((jq(r,25957,25963,172)|0)==0?(jq(r,25966,19010,172)|0)==0:0)jq(r,25972,25852,172)|0;break}case 105:{jq(r,25978,25963,172)|0;break}case 108:{if(!(jq(r,25984,25963,172)|0))jq(r,25989,19010,172)|0;break}case 115:{jq(r,25993,19010,172)|0;break}default:{}}a:do switch(a[(c[r>>2]|0)+1>>0]|0){case 97:{if((a[c[r>>2]>>0]|0)==108?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 99:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==110:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=101:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 101:{if((a[c[r>>2]>>0]|0)==114?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 105:{if((a[c[r>>2]>>0]|0)==99?(pq((c[r>>2]|0)+2|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+2;break}case 108:{if((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==98:0){if((a[(c[r>>2]|0)+3>>0]|0)!=97?(a[(c[r>>2]|0)+3>>0]|0)!=105:0)break a;if(pq((c[r>>2]|0)+4|0)|0)c[r>>2]=(c[r>>2]|0)+4}break}case 110:{if((a[c[r>>2]>>0]|0)==116){g=c[r>>2]|0;if((a[(c[r>>2]|0)+2>>0]|0)==97){if(!(pq(g+3|0)|0))break a;c[r>>2]=(c[r>>2]|0)+3;break a}if(((a[g+2>>0]|0)==101?(jq(r,25998,19010,174)|0)==0:0)?(jq(r,26004,19010,174)|0)==0:0)jq(r,26009,19010,174)|0}break}case 111:{g=c[r>>2]|0;if((a[c[r>>2]>>0]|0)==117){if(!(pq(g+2|0)|0))break a;c[r>>2]=(c[r>>2]|0)+2;break a}if((a[g+3>>0]|0)!=115?(a[(c[r>>2]|0)+3>>0]|0)!=116:0)break a;jq(r,26013,19010,174)|0;break}case 115:{if(((a[c[r>>2]>>0]|0)==109?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 116:{if(!(jq(r,26017,19010,174)|0))jq(r,26021,19010,174)|0;break}case 117:{if(((a[c[r>>2]>>0]|0)==115?(a[(c[r>>2]|0)+2>>0]|0)==111:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}case 122:case 118:{if(((a[c[r>>2]>>0]|0)==101?(a[(c[r>>2]|0)+2>>0]|0)==105:0)?(pq((c[r>>2]|0)+3|0)|0)!=0:0)c[r>>2]=(c[r>>2]|0)+3;break}default:{}}while(0);do if((a[c[r>>2]>>0]|0)==101){n=(pq((c[r>>2]|0)+1|0)|0)!=0;g=(c[r>>2]|0)+1|0;if(n){c[r>>2]=g;break}if((nq(g)|0)!=0?(oq((c[r>>2]|0)+1|0)|0)==0:0)c[r>>2]=(c[r>>2]|0)+1}while(0);if(((pq(c[r>>2]|0)|0)!=0?(a[c[r>>2]>>0]|0)==108:0)?(a[(c[r>>2]|0)+1>>0]|0)==108:0)c[r>>2]=(c[r>>2]|0)+1;n=KQ(c[r>>2]|0)|0;c[q>>2]=n;c[c[p>>2]>>2]=n;a[(c[o>>2]|0)+(c[q>>2]|0)>>0]=0;while(1){if(!(a[c[r>>2]>>0]|0))break;n=c[r>>2]|0;c[r>>2]=n+1;n=a[n>>0]|0;p=(c[q>>2]|0)+-1|0;c[q>>2]=p;a[(c[o>>2]|0)+p>>0]=n}i=s;return}function iq(b,d,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;n=q+12|0;p=q+8|0;o=q+4|0;m=q;l=q+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[l>>0]=a[(c[g>>2]|0)+(c[n>>2]|0)>>0]|0;if((a[l>>0]|0)>=65?(a[l>>0]|0)<=90:0)a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=(a[l>>0]|0)-65+97;else{if((a[l>>0]|0)>=48?(a[l>>0]|0)<=57:0)c[m>>2]=1;a[(c[j>>2]|0)+(c[n>>2]|0)>>0]=a[l>>0]|0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=(c[m>>2]|0)!=0?3:10;if((c[h>>2]|0)<=(c[p>>2]<<1|0)){b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}c[o>>2]=c[p>>2];c[n>>2]=(c[h>>2]|0)-(c[p>>2]|0);while(1){if((c[n>>2]|0)>=(c[h>>2]|0))break;a[(c[j>>2]|0)+(c[o>>2]|0)>>0]=a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=c[o>>2];b=c[n>>2]|0;e=c[j>>2]|0;b=e+b|0;a[b>>0]=0;b=c[n>>2]|0;e=c[k>>2]|0;c[e>>2]=b;i=q;return}function jq(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[j>>2]>>0]|0))break;if((a[c[j>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if(a[c[j>>2]>>0]|0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}if((c[l>>2]|0)!=0?(Tb[c[l>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}while(1){if(!(a[c[k>>2]>>0]|0))break;d=c[k>>2]|0;c[k>>2]=d+1;d=a[d>>0]|0;e=(c[m>>2]|0)+-1|0;c[m>>2]=e;a[e>>0]=d}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function kq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function lq(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;c[d>>2]=b;while(1){f=(rq(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}i=e;return (a[b>>0]|0)!=0|0}function mq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(rq(c[d>>2]|0)|0)){b=0;b=b&1;i=e;return b|0}b=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);b=b&1;i=e;return b|0}function nq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;i=f;return g|0}function oq(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(((((rq(c[d>>2]|0)|0)!=0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?(qq((c[d>>2]|0)+1|0)|0)!=0:0)d=(rq((c[d>>2]|0)+2|0)|0)!=0;else d=0;i=e;return d&1|0}function pq(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(qq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;i=f;return g|0}while(1){g=(rq(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;i=f;return g|0}function qq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}c[f>>2]=a[26025+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=rq((c[e>>2]|0)+1|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function rq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}c[e>>2]=a[26025+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;i=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))d=1;else d=(qq((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=d&1;g=c[g>>2]|0;i=h;return g|0}function sq(b,e,f){b=b|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;q=i;i=i+48|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;p=q+12|0;m=q+8|0;o=q+4|0;l=q+32|0;n=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[p>>2]=Id(132)|0;if(!(c[p>>2]|0)){c[g>>2]=7;p=c[g>>2]|0;i=q;return p|0}tR(c[p>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[o>>2]=KQ(c[(c[j>>2]|0)+4>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break a;a[l>>0]=a[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]|0)>>0]|0;if((d[l>>0]|0|0)>=128)break;a[(c[p>>2]|0)+4+(d[l>>0]|0)>>0]=1;c[m>>2]=(c[m>>2]|0)+1}Kd(c[p>>2]|0);c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}else{c[n>>2]=1;while(1){if((c[n>>2]|0)>=128)break a;f=(yq(c[n>>2]|0)|0)!=0^1;a[(c[p>>2]|0)+4+(c[n>>2]|0)>>0]=f?-1:0;c[n>>2]=(c[n>>2]|0)+1}}while(0);c[c[k>>2]>>2]=c[p>>2];c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}function tq(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return 0}function uq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=KQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+24>>2]=0;c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function vq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function wq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=i;i=i+64|0;n=z+52|0;A=z+48|0;o=z+44|0;p=z+40|0;q=z+36|0;r=z+32|0;s=z+28|0;t=z+24|0;l=z+20|0;y=z+16|0;w=z+12|0;v=z+8|0;x=z+4|0;k=z;u=z+56|0;c[A>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[A>>2];c[l>>2]=c[c[A>>2]>>2];c[y>>2]=c[(c[t>>2]|0)+4>>2];do{if((c[(c[t>>2]|0)+12>>2]|0)>=(c[(c[t>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}c[w>>2]=j;while(1){if((c[(c[t>>2]|0)+12>>2]|0)<(c[(c[t>>2]|0)+8>>2]|0))b=(xq(c[l>>2]|0,a[(c[y>>2]|0)+(c[(c[t>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;h=(c[t>>2]|0)+12|0;j=c[h>>2]|0;if(!b)break;c[h>>2]=j+1}}while((j|0)<=(c[w>>2]|0));if((m|0)==25){c[n>>2]=101;A=c[n>>2]|0;i=z;return A|0}c[x>>2]=(c[(c[t>>2]|0)+12>>2]|0)-(c[w>>2]|0);do if((c[x>>2]|0)>(c[(c[t>>2]|0)+24>>2]|0)){c[(c[t>>2]|0)+24>>2]=(c[x>>2]|0)+20;c[k>>2]=Ld(c[(c[t>>2]|0)+20>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[t>>2]|0)+20>>2]=c[k>>2];break}c[n>>2]=7;A=c[n>>2]|0;i=z;return A|0}while(0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[x>>2]|0))break;a[u>>0]=a[(c[y>>2]|0)+((c[w>>2]|0)+(c[v>>2]|0))>>0]|0;if((d[u>>0]|0|0)>=65?(d[u>>0]|0|0)<=90:0)b=(d[u>>0]|0)-65+97|0;else b=d[u>>0]|0;a[(c[(c[t>>2]|0)+20>>2]|0)+(c[v>>2]|0)>>0]=b;c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[(c[t>>2]|0)+20>>2];c[c[p>>2]>>2]=c[x>>2];c[c[q>>2]>>2]=c[w>>2];c[c[r>>2]>>2]=c[(c[t>>2]|0)+12>>2];y=(c[t>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[s>>2]>>2]=A;c[n>>2]=0;A=c[n>>2]|0;i=z;return A|0}function xq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){b=0;b=b&1;i=h;return b|0}b=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;b=b&1;i=h;return b|0}function yq(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)b=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else b=1;i=d;return b&1|0}function zq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,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;w=i;i=i+64|0;t=w;h=w+56|0;j=w+52|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;u=w+28|0;v=w+24|0;p=w+20|0;q=w+16|0;o=w+12|0;s=w+8|0;r=w+4|0;c[j>>2]=a;c[w+48>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;do if(!((c[k>>2]|0)!=4&(c[k>>2]|0)!=5)){c[u>>2]=c[(c[l>>2]|0)+4>>2];c[p>>2]=KQ(c[u>>2]|0)|0;if((c[k>>2]|0)==5){if((c[p>>2]|0)!=4)break;if(zd(19280,c[u>>2]|0,4)|0)break;c[u>>2]=c[(c[l>>2]|0)+12>>2];c[p>>2]=KQ(c[u>>2]|0)|0;c[v>>2]=c[(c[l>>2]|0)+16>>2]}else c[v>>2]=c[(c[l>>2]|0)+12>>2];c[q>>2]=KQ(c[v>>2]|0)|0;c[s>>2]=ff(c[j>>2]|0,26061)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];v=c[h>>2]|0;i=w;return v|0}c[o>>2]=296+(c[p>>2]|0)+(c[q>>2]|0)+2;c[r>>2]=Id(c[o>>2]|0)|0;if(c[r>>2]|0){tR(c[r>>2]|0,0,c[o>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[p>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[j>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;rR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;rR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[v>>2]|0,c[q>>2]|0)|0;Mk(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[m>>2]>>2]=c[r>>2];c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}else{c[h>>2]=7;v=c[h>>2]|0;i=w;return v|0}}while(0);Dk(c[n>>2]|0,26130,t);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}function Aq(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;k=q+32|0;f=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q+12|0;p=q+8|0;j=q+4|0;g=q;c[q+36>>2]=b;c[k>>2]=e;c[l>>2]=-1;c[m>>2]=-1;c[o>>2]=-1;c[n>>2]=-1;c[p>>2]=1;if(((c[(c[k>>2]|0)+8>>2]|0)==1?(c[c[(c[k>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[k>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[k>>2]|0)+32>>2]=1;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(a[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+5>>0]|0){c[j>>2]=d[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[f>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[j>>2]|0)==2)c[l>>2]=c[f>>2];if((c[j>>2]|0)==16)c[o>>2]=c[f>>2];if((c[j>>2]|0)==8)c[o>>2]=c[f>>2];if((c[j>>2]|0)==4)c[m>>2]=c[f>>2];if((c[j>>2]|0)==32)c[m>>2]=c[f>>2]}if((c[g>>2]|0)==4&(c[j>>2]|0)==2)c[n>>2]=c[f>>2]}c[f>>2]=(c[f>>2]|0)+1}f=(c[k>>2]|0)+20|0;if((c[l>>2]|0)<0){c[f>>2]=0;h[(c[k>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){l=(c[k>>2]|0)+20|0;c[l>>2]=(c[l>>2]|0)+2;l=c[p>>2]|0;c[p>>2]=l+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=l;m=(c[k>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[o>>2]|0)>=0){m=(c[k>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=m;o=(c[k>>2]|0)+40|0;h[o>>3]=+h[o>>3]/2.0}}else{c[f>>2]=1;o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=o;h[(c[k>>2]|0)+40>>3]=5.0}if((c[n>>2]|0)<0){i=q;return 0}o=c[p>>2]|0;c[p>>2]=o+1;c[(c[(c[k>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=o;p=(c[k>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;i=q;return 0}function Bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;d=f+8|0;e=f+4|0;b=f;c[g>>2]=a;c[d>>2]=c[g>>2];c[e>>2]=c[(c[d>>2]|0)+12>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[e>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[e>>2]|0)+240>>2]|0);Kd(c[d>>2]|0);i=f;return 0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}return 0}function Dq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];wm(c[e>>2]|0);zl((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Eq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;x=z+8|0;w=z;g=z+76|0;h=z+72|0;j=z+68|0;k=z+60|0;l=z+56|0;t=z+52|0;u=z+48|0;v=z+44|0;s=z+40|0;o=z+36|0;m=z+32|0;n=z+28|0;q=z+24|0;p=z+20|0;r=z+16|0;y=z+12|0;c[h>>2]=a;c[j>>2]=b;c[z+64>>2]=d;c[k>>2]=e;c[l>>2]=f;c[t>>2]=c[h>>2];c[u>>2]=c[(c[c[h>>2]>>2]|0)+12>>2];c[s>>2]=0;c[o>>2]=0;c[m>>2]=-1;c[n>>2]=-1;c[q>>2]=-1;c[p>>2]=-1;c[r>>2]=0;if((c[j>>2]|0)!=1){c[s>>2]=1;if(c[j>>2]&2){a=c[r>>2]|0;c[r>>2]=a+1;c[n>>2]=a}if(c[j>>2]&4){a=c[r>>2]|0;c[r>>2]=a+1;c[q>>2]=a}}else{a=c[r>>2]|0;c[r>>2]=a+1;c[m>>2]=a}if((c[r>>2]|0)<(c[k>>2]|0)){a=c[r>>2]|0;c[r>>2]=a+1;c[p>>2]=a}zl((c[t>>2]|0)+4|0);Kd(c[(c[t>>2]|0)+60>>2]|0);Kd(c[(c[t>>2]|0)+112>>2]|0);tR((c[t>>2]|0)+4|0,0,(c[t>>2]|0)+120-((c[t>>2]|0)+4)|0)|0;c[(c[t>>2]|0)+60+12>>2]=3;if(c[s>>2]|0){a=(c[t>>2]|0)+60+12|0;c[a>>2]=c[a>>2]|16}if(((c[m>>2]|0)>=0|(c[n>>2]|0)>=0?(c[y>>2]=ae(c[c[l>>2]>>2]|0)|0,(c[y>>2]|0)!=0):0)?(c[w>>2]=c[y>>2],y=Od(18999,w)|0,c[(c[t>>2]|0)+60>>2]=y,y=be(c[c[l>>2]>>2]|0)|0,c[(c[t>>2]|0)+60+4>>2]=y,(c[(c[t>>2]|0)+60>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[q>>2]|0)>=0?(c[x>>2]=ae(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,y=Od(18999,x)|0,c[(c[t>>2]|0)+76>>2]=y,y=be(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0)|0,c[(c[t>>2]|0)+80>>2]=y,(c[(c[t>>2]|0)+76>>2]|0)==0):0){c[g>>2]=7;y=c[g>>2]|0;i=z;return y|0}if((c[p>>2]|0)>=0){y=de(c[(c[l>>2]|0)+(c[p>>2]<<2)>>2]|0)|0;c[o>>2]=y;c[o>>2]=(c[o>>2]|0)<0?0:y}c[(c[t>>2]|0)+84>>2]=c[o>>2];c[v>>2]=ol(c[u>>2]|0,c[o>>2]|0,0,-2,c[(c[t>>2]|0)+60>>2]|0,c[(c[t>>2]|0)+60+4>>2]|0,0,c[s>>2]|0,(c[t>>2]|0)+4|0)|0;if(!(c[v>>2]|0))c[v>>2]=sl(c[u>>2]|0,(c[t>>2]|0)+4|0,(c[t>>2]|0)+60|0)|0;if(!(c[v>>2]|0))c[v>>2]=Fq(c[h>>2]|0)|0;c[g>>2]=c[v>>2];y=c[g>>2]|0;i=z;return y|0}function Fq(a){a=a|0;var b=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;q=i;i=i+64|0;d=q+52|0;r=q+48|0;m=q+44|0;b=q+40|0;n=q+36|0;g=q+32|0;l=q+28|0;e=q+24|0;h=q+20|0;f=q+16|0;k=q+12|0;j=q+8|0;o=q;c[r>>2]=a;c[m>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[m>>2]|0)+96|0;r=a;r=pR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=C;a=(c[m>>2]|0)+104|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if((c[(c[m>>2]|0)+104>>2]|0)>=(c[(c[m>>2]|0)+108>>2]|0))break;r=(c[(c[m>>2]|0)+112>>2]|0)+(c[(c[m>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}r=(c[m>>2]|0)+104|0;c[r>>2]=(c[r>>2]|0)+1}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}c[n>>2]=tl(c[b>>2]|0,(c[m>>2]|0)+4|0)|0;do if((c[n>>2]|0)==100){c[g>>2]=0;c[l>>2]=c[(c[m>>2]|0)+4+52>>2];c[e>>2]=c[(c[m>>2]|0)+4+48>>2];c[f>>2]=0;do if(c[(c[m>>2]|0)+76>>2]|0){a=c[m>>2]|0;if((c[(c[m>>2]|0)+80>>2]|0)<(c[(c[m>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[k>>2]=a;c[j>>2]=EQ(c[(c[m>>2]|0)+76>>2]|0,c[(c[m>>2]|0)+4+40>>2]|0,c[k>>2]|0)|0;if((c[j>>2]|0)>=0){if(c[j>>2]|0)break;if((c[(c[m>>2]|0)+4+44>>2]|0)<=(c[(c[m>>2]|0)+80>>2]|0))break}c[(c[m>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;i=q;return r|0}while(0);if(Jq(c[m>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}tR(c[(c[m>>2]|0)+112>>2]|0,0,c[(c[m>>2]|0)+108>>2]<<4|0)|0;c[h>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[l>>2]|0)){p=32;break}r=o;c[r>>2]=0;c[r+4>>2]=0;r=Yl((c[e>>2]|0)+(c[g>>2]|0)|0,o)|0;c[g>>2]=(c[g>>2]|0)+r;switch(c[f>>2]|0){case 0:{r=c[(c[m>>2]|0)+112>>2]|0;k=r;c[r>>2]=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=1;c[h>>2]=0;continue a}case 1:{r=o;k=c[r+4>>2]|0;if((k|0)>0|(k|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;k=r;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C}c[f>>2]=2;break}case 2:break;default:{c[h>>2]=c[o>>2];if(Jq(c[m>>2]|0,(c[h>>2]|0)+2|0)|0)break a;r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)|0;k=r;c[r>>2]=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r+4>>2]=C;c[f>>2]=2;continue a}}r=o;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[f>>2]=0;continue}r=o;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[f>>2]=3;continue}else{r=(c[(c[m>>2]|0)+112>>2]|0)+((c[h>>2]|0)+1<<4)+8|0;k=r;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;r=(c[(c[m>>2]|0)+112>>2]|0)+8|0;k=r;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[r>>2]=k;c[r+4>>2]=C;continue}}if((p|0)==32){c[(c[m>>2]|0)+104>>2]=0;c[n>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;i=q;return r|0}else c[(c[m>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[n>>2];r=c[d>>2]|0;i=q;return r|0}function Gq(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return c[(c[b>>2]|0)+88>>2]|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);i=g;return 0}case 1:{e=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){ke(e,(c[(c[f>>2]|0)+104>>2]|0)-1|0);i=g;return 0}else{ne(e,26059,-1,0);i=g;return 0}}case 2:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}case 3:{j=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);i=g;return 0}}return 0}function Iq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Ld(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){tR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function Kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+32|0;f=p+28|0;g=p+24|0;h=p+20|0;l=p+16|0;j=p+12|0;m=p+8|0;n=p+4|0;k=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;c[l>>2]=Id(16)|0;if(!(c[l>>2]|0)){c[e>>2]=7;o=c[e>>2]|0;i=p;return o|0}d=c[l>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[l>>2]|0)+4>>2]=1;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[f>>2]|0))break;c[n>>2]=c[(c[g>>2]|0)+(c[j>>2]<<2)>>2];c[k>>2]=KQ(c[n>>2]|0)|0;if((c[k>>2]|0)==19?(EQ(26336,c[n>>2]|0,19)|0)==0:0)c[(c[l>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[k>>2]|0)==19?(EQ(26356,c[n>>2]|0,19)|0)==0:0){c[(c[l>>2]|0)+4>>2]=0;break}if((c[k>>2]|0)>=11?(EQ(26376,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,1,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}if((c[k>>2]|0)>=11?(EQ(26388,c[n>>2]|0,11)|0)==0:0){c[m>>2]=Vq(c[l>>2]|0,0,(c[n>>2]|0)+11|0,(c[k>>2]|0)-11|0)|0;break}c[m>>2]=1}while(0);c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){Lq(c[l>>2]|0)|0;c[l>>2]=0}c[c[h>>2]>>2]=c[l>>2];c[e>>2]=c[m>>2];o=c[e>>2]|0;i=p;return o|0}function Lq(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);i=e;return 0}function Mq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+16>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=Id(28)|0;if(!(c[k>>2]|0)){c[f>>2]=7;e=c[f>>2]|0;i=l;return e|0}e=c[k>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[k>>2]|0)+4>>2]=c[g>>2];do if(c[g>>2]|0)if((c[h>>2]|0)<0){e=KQ(c[g>>2]|0)|0;c[(c[k>>2]|0)+8>>2]=e;break}else{c[(c[k>>2]|0)+8>>2]=c[h>>2];break}else c[(c[k>>2]|0)+8>>2]=0;while(0);c[c[j>>2]>>2]=c[k>>2];c[f>>2]=0;e=c[f>>2]|0;i=l;return e|0}function Nq(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Oq(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+80|0;p=A+64|0;B=A+60|0;q=A+56|0;r=A+52|0;s=A+48|0;t=A+44|0;u=A+40|0;v=A+36|0;m=A+32|0;k=A+28|0;y=A+24|0;w=A+20|0;z=A+16|0;x=A+12|0;o=A+8|0;l=A+4|0;n=A;c[B>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=c[B>>2];c[m>>2]=c[c[v>>2]>>2];c[k>>2]=0;c[w>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+12>>2]|0);c[z>>2]=c[w>>2];c[o>>2]=(c[(c[v>>2]|0)+4>>2]|0)+(c[(c[v>>2]|0)+8>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26171+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))b=((d[c[w>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)break;c[z>>2]=c[w>>2]}if((c[z>>2]|0)>>>0>=(c[o>>2]|0)>>>0){c[p>>2]=101;B=c[p>>2]|0;i=A;return B|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0)|0)>=((c[(c[v>>2]|0)+24>>2]|0)-4|0)){c[n>>2]=Ld(c[(c[v>>2]|0)+20>>2]|0,(c[(c[v>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[n>>2]|0)){b=20;break}c[y>>2]=(c[n>>2]|0)+((c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0));c[(c[v>>2]|0)+20>>2]=c[n>>2];B=(c[v>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[x>>2]=c[w>>2];c[l>>2]=Qq(c[k>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;do if(c[l>>2]|0){b=c[l>>2]|0;if((c[l>>2]|0)<128){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=b;break}e=c[l>>2]|0;if((b|0)<2048){f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=192+(e>>6&31);f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}b=c[l>>2]|0;if((e|0)<65536){B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}else{f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=240+(b>>18&7);f=128+(c[l>>2]>>12&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;B=128+(c[l>>2]>>6&63)&255;f=c[y>>2]|0;c[y>>2]=f+1;a[f>>0]=B;f=128+(c[l>>2]&63)&255;B=c[y>>2]|0;c[y>>2]=B+1;a[B>>0]=f;break}}while(0);if((c[w>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=43;break}B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[26171+((c[k>>2]|0)-192)>>0];while(1){if((c[w>>2]|0)!=(c[o>>2]|0))e=((d[c[w>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[w>>2]|0;c[w>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(Pq(c[m>>2]|0,c[k>>2]|0)|0)continue;if(!(Rq(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[p>>2]=7;B=c[p>>2]|0;i=A;return B|0}else if((b|0)==43){c[(c[v>>2]|0)+12>>2]=(c[w>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=c[(c[v>>2]|0)+20>>2];c[c[r>>2]>>2]=(c[y>>2]|0)-(c[(c[v>>2]|0)+20>>2]|0);c[c[s>>2]>>2]=(c[z>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);c[c[t>>2]>>2]=(c[x>>2]|0)-(c[(c[v>>2]|0)+4>>2]|0);z=(c[v>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[u>>2]>>2]=B;c[p>>2]=0;B=c[p>>2]|0;i=A;return B|0}return 0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Tq(c[e>>2]|0)|0;a=a^(Uq(c[f>>2]|0,c[e>>2]|0)|0);i=d;return a|0}function Qq(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;o=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;h=p+4|0;n=p;c[f>>2]=a;c[g>>2]=b;c[o>>2]=c[f>>2];b=c[f>>2]|0;if((c[f>>2]|0)<128){if(!((b|0)>=65&(c[f>>2]|0)<=90)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+32;o=c[o>>2]|0;i=p;return o|0}if((b|0)>=65536){if(!((c[f>>2]|0)>=66560&(c[f>>2]|0)<66600)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=(c[f>>2]|0)+40;o=c[o>>2]|0;i=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[l>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[m>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[h>>2]=(c[f>>2]|0)-(e[10626+(c[m>>2]<<2)>>1]|0);b=c[m>>2]|0;if((c[h>>2]|0)>=0){c[l>>2]=b;c[k>>2]=(c[m>>2]|0)+1;continue}else{c[j>>2]=b-1;continue}}if(((c[l>>2]|0)>=0?(c[n>>2]=10626+(c[l>>2]<<2),(c[f>>2]|0)<((e[c[n>>2]>>1]|0)+(d[(c[n>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[n>>2]|0)+2>>0]|0)&((e[c[n>>2]>>1]|0)^c[f>>2])|0):0)c[o>>2]=(c[f>>2]|0)+(e[11278+((d[(c[n>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[g>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Sq(c[o>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}function Rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=134389727;c[e>>2]=221688;if((c[b>>2]|0)<768|(c[b>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}if((c[b>>2]|0)<800)b=c[d>>2]&1<<(c[b>>2]|0)-768;else b=c[e>>2]&1<<(c[b>>2]|0)-768-32;c[f>>2]=b;f=c[f>>2]|0;i=g;return f|0}function Sq(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+336|0;g=p+20|0;j=p+24|0;h=p+226|0;o=p+16|0;m=p+12|0;k=p+8|0;l=p+4|0;n=p;c[g>>2]=b;rR(j|0,11432,202)|0;b=h;d=26235;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[o>>2]=c[g>>2]<<3|7;c[m>>2]=0;c[k>>2]=100;c[l>>2]=0;while(1){if((c[k>>2]|0)<(c[l>>2]|0))break;c[n>>2]=((c[k>>2]|0)+(c[l>>2]|0)|0)/2|0;b=c[n>>2]|0;if((c[o>>2]|0)>>>0>=(e[j+(c[n>>2]<<1)>>1]|0)>>>0){c[m>>2]=b;c[l>>2]=(c[n>>2]|0)+1;continue}else{c[k>>2]=b-1;continue}}if((c[g>>2]|0)>((e[j+(c[m>>2]<<1)>>1]>>3)+(e[j+(c[m>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;i=p;return o|0}else{o=a[h+(c[m>>2]|0)>>0]|0;i=p;return o|0}return 0}function Tq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;g=k+12|0;e=k+8|0;f=k+4|0;h=k;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[2364+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;j=c[b>>2]|0;i=k;return j|0}if((a|0)>=4194304){c[b>>2]=1;j=c[b>>2]|0;i=k;return j|0}c[j>>2]=c[d>>2]<<10|1023;c[g>>2]=0;c[e>>2]=405;c[f>>2]=0;while(1){if((c[e>>2]|0)<(c[f>>2]|0))break;c[h>>2]=((c[e>>2]|0)+(c[f>>2]|0)|0)/2|0;a=c[h>>2]|0;if((c[j>>2]|0)>>>0>=(c[2380+(c[h>>2]<<2)>>2]|0)>>>0){c[g>>2]=a;c[f>>2]=(c[h>>2]|0)+1;continue}else{c[e>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[2380+(c[g>>2]<<2)>>2]|0)>>>10)+(c[2380+(c[g>>2]<<2)>>2]&1023)|0)>>>0&1;j=c[b>>2]|0;i=k;return j|0}function Uq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+24|0;d=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[j>>2]=0;c[h>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[h>>2]|0)<(c[j>>2]|0))break a;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0))break;d=c[k>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)){c[j>>2]=d+1;continue}else{c[h>>2]=d-1;continue}}c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Vq(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;j=t+48|0;k=t+44|0;l=t+40|0;g=t+36|0;u=t+32|0;r=t+28|0;s=t+24|0;o=t+20|0;h=t+16|0;m=t+12|0;q=t+8|0;n=t+4|0;p=t;c[k>>2]=a;c[l>>2]=b;c[g>>2]=e;c[u>>2]=f;c[r>>2]=c[g>>2];c[s>>2]=(c[r>>2]|0)+(c[u>>2]|0);c[h>>2]=0;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26171+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[h>>2]=(c[h>>2]|0)+1}if(c[h>>2]|0){c[m>>2]=Ld(c[(c[k>>2]|0)+12>>2]|0,(c[(c[k>>2]|0)+8>>2]|0)+(c[h>>2]|0)<<2)|0;if(!(c[m>>2]|0)){c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}c[q>>2]=c[(c[k>>2]|0)+8>>2];c[r>>2]=c[g>>2];while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=d[u>>0];do if((c[o>>2]|0)>=192){c[o>>2]=d[26171+((c[o>>2]|0)-192)>>0];while(1){if((c[r>>2]|0)!=(c[s>>2]|0))b=((d[c[r>>2]>>0]|0)&192|0)==128;else b=0;f=c[o>>2]|0;if(!b)break;u=c[r>>2]|0;c[r>>2]=u+1;c[o>>2]=(f<<6)+(63&(d[u>>0]|0))}if(((f|0)>=128?(c[o>>2]&-2048|0)!=55296:0)?(c[o>>2]&-2|0)!=65534:0)break;c[o>>2]=65533}while(0);u=Tq(c[o>>2]|0)|0;if((u|0)==(c[l>>2]|0))continue;if(Rq(c[o>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;if((c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[o>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[q>>2];while(1){if((c[p>>2]|0)<=(c[n>>2]|0))break;c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]=c[(c[m>>2]|0)+((c[p>>2]|0)-1<<2)>>2];c[p>>2]=(c[p>>2]|0)+-1}c[(c[m>>2]|0)+(c[n>>2]<<2)>>2]=c[o>>2];c[q>>2]=(c[q>>2]|0)+1}c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[q>>2]}c[j>>2]=0;u=c[j>>2]|0;i=t;return u|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[j>>2]|0)+4>>2];mg(c[j>>2]|0);if(!((c[e>>2]|0)!=0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}j=c[e>>2]|0;j=rh(0,j,((j|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=j;c[(c[g>>2]|0)+52>>2]=c[f>>2];j=c[g>>2]|0;j=j+48|0;j=c[j>>2]|0;i=h;return j|0}function Xq(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Yq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=Wb[c[(c[l>>2]|0)+36>>2]&255](c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function Zq(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Pt(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){i=f;return}a[c[e>>2]>>0]=0;if((Qt(c[d>>2]|0)|0)<=1){i=f;return}Rt(c[e>>2]|0)|0;i=f;return}function _q(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+112|0;r=K+96|0;s=K+92|0;t=K+88|0;u=K+84|0;v=K+80|0;L=K+76|0;w=K+72|0;x=K+68|0;n=K+64|0;C=K+60|0;D=K+56|0;G=K+52|0;A=K+48|0;E=K+44|0;l=K+40|0;I=K+36|0;B=K+32|0;H=K+28|0;o=K+24|0;F=K+20|0;q=K+16|0;m=K+12|0;p=K+8|0;y=K+4|0;z=K;c[s>>2]=d;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[L>>2]=h;c[w>>2]=j;c[x>>2]=k;c[C>>2]=0;c[D>>2]=0;c[G>>2]=0;c[A>>2]=0;c[E>>2]=0;c[I>>2]=0;c[B>>2]=0;c[H>>2]=(c[L>>2]&1|0)==0&1;c[o>>2]=nt()|0;c[F>>2]=4096;c[q>>2]=0;c[m>>2]=0;c[l>>2]=(ot(c[s>>2]|0)|0)+7&-8;c[c[t>>2]>>2]=0;do if(((c[L>>2]&2|0)!=0?(c[A>>2]=1,(c[u>>2]|0)!=0):0)?(a[c[u>>2]>>0]|0)!=0:0){c[I>>2]=ph(0,c[u>>2]|0)|0;if(c[I>>2]|0){c[B>>2]=Jf(c[I>>2]|0)|0;c[u>>2]=0;break}c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}while(0);if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[B>>2]=(c[(c[s>>2]|0)+8>>2]|0)+1;L=c[B>>2]<<1;c[I>>2]=Ah(0,L,((L|0)<0)<<31>>31)|0;if(!(c[I>>2]|0)){c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}a[c[I>>2]>>0]=0;c[D>>2]=Yq(c[s>>2]|0,c[u>>2]|0,c[B>>2]|0,c[I>>2]|0)|0;c[B>>2]=Jf(c[I>>2]|0)|0;L=(Jf(c[u>>2]|0)|0)+1|0;L=(c[u>>2]|0)+L|0;c[q>>2]=L;c[p>>2]=L;while(1){h=c[p>>2]|0;if(!(a[c[p>>2]>>0]|0))break;L=(Jf(h)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L;L=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+L}c[m>>2]=h+1-(c[q>>2]|0);if((c[D>>2]|0)==0?((c[B>>2]|0)+8|0)>(c[(c[s>>2]|0)+8>>2]|0):0)c[D>>2]=jt(48619)|0;if(c[D>>2]|0){Tf(0,c[I>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}}c[n>>2]=kg(224+((c[o>>2]|0)+7&-8)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)+(c[l>>2]<<1)+(c[B>>2]|0)+1+(c[m>>2]|0)+(c[B>>2]|0)+8+2+(c[B>>2]|0)+4+2|0,0)|0;if(!(c[n>>2]|0)){Tf(0,c[I>>2]|0);c[r>>2]=7;L=c[r>>2]|0;i=K;return L|0}c[C>>2]=c[n>>2];L=(c[n>>2]|0)+224|0;c[n>>2]=L;c[(c[C>>2]|0)+212>>2]=L;L=(c[n>>2]|0)+((c[o>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+64>>2]=L;L=(c[n>>2]|0)+((c[(c[s>>2]|0)+4>>2]|0)+7&-8)|0;c[n>>2]=L;c[(c[C>>2]|0)+72>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+68>>2]=L;L=(c[n>>2]|0)+(c[l>>2]|0)|0;c[n>>2]=L;c[(c[C>>2]|0)+176>>2]=L;if(c[I>>2]|0){L=(c[n>>2]|0)+((c[B>>2]|0)+1+(c[m>>2]|0))|0;c[n>>2]=L;c[(c[C>>2]|0)+180>>2]=L;rR(c[(c[C>>2]|0)+176>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;if(c[m>>2]|0)rR((c[(c[C>>2]|0)+176>>2]|0)+((c[B>>2]|0)+1)|0,c[q>>2]|0,c[m>>2]|0)|0;rR(c[(c[C>>2]|0)+180>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;h=(c[(c[C>>2]|0)+180>>2]|0)+(c[B>>2]|0)|0;g=26597;d=h+10|0;do{a[h>>0]=a[g>>0]|0;h=h+1|0;g=g+1|0}while((h|0)<(d|0));c[(c[C>>2]|0)+220>>2]=(c[(c[C>>2]|0)+180>>2]|0)+((c[B>>2]|0)+8+1);rR(c[(c[C>>2]|0)+220>>2]|0,c[I>>2]|0,c[B>>2]|0)|0;L=(c[(c[C>>2]|0)+220>>2]|0)+(c[B>>2]|0)|0;a[L>>0]=a[26607]|0;a[L+1>>0]=a[26608]|0;a[L+2>>0]=a[26609]|0;a[L+3>>0]=a[26610]|0;a[L+4>>0]=a[26611]|0;Tf(0,c[I>>2]|0)}c[c[C>>2]>>2]=c[s>>2];c[(c[C>>2]|0)+152>>2]=c[w>>2];do if((c[u>>2]|0)!=0?(a[c[u>>2]>>0]|0)!=0:0){c[y>>2]=0;c[D>>2]=Pr(c[s>>2]|0,c[(c[C>>2]|0)+176>>2]|0,c[(c[C>>2]|0)+64>>2]|0,c[w>>2]|0,y)|0;c[E>>2]=c[y>>2]&1;if(!(c[D>>2]|0)){c[z>>2]=Yr(c[(c[C>>2]|0)+64>>2]|0)|0;do if((c[E>>2]|0)==0?(Xr(c[C>>2]|0),(c[F>>2]|0)>>>0<(c[(c[C>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[C>>2]|0)+156>>2]|0)>>>0>8192){c[F>>2]=8192;break}else{c[F>>2]=c[(c[C>>2]|0)+156>>2];break}while(0);L=(If(c[u>>2]|0,26613,0)|0)&255;a[(c[C>>2]|0)+14>>0]=L;if((c[z>>2]&8192|0)==0?(If(c[u>>2]|0,26620,0)|0)==0:0)break;c[w>>2]=c[w>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[G>>2]=1;a[(c[C>>2]|0)+17>>0]=1;a[(c[C>>2]|0)+18>>0]=4;a[(c[C>>2]|0)+14>>0]=1;c[E>>2]=c[w>>2]&1}if(!(c[D>>2]|0))c[D>>2]=Ti(c[C>>2]|0,F,-1)|0;if(!(c[D>>2]|0)){c[v>>2]=(c[v>>2]|0)+7&-8;c[D>>2]=qt(c[F>>2]|0,c[v>>2]|0,((c[A>>2]|0)!=0^1)&1,(c[A>>2]|0)!=0^1?186:0,c[C>>2]|0,c[(c[C>>2]|0)+212>>2]|0)|0}if(c[D>>2]|0){mr(c[(c[C>>2]|0)+64>>2]|0)|0;Zi(c[(c[C>>2]|0)+208>>2]|0);Kd(c[C>>2]|0);c[r>>2]=c[D>>2];L=c[r>>2]|0;i=K;return L|0}a[(c[C>>2]|0)+6>>0]=c[H>>2];c[(c[C>>2]|0)+164>>2]=1073741823;a[(c[C>>2]|0)+13>>0]=c[G>>2];a[(c[C>>2]|0)+4>>0]=c[G>>2];a[(c[C>>2]|0)+19>>0]=a[(c[C>>2]|0)+13>>0]|0;a[(c[C>>2]|0)+16>>0]=c[A>>2];a[(c[C>>2]|0)+15>>0]=c[E>>2];a[(c[C>>2]|0)+7>>0]=a[(c[C>>2]|0)+13>>0]|0;if(!(a[(c[C>>2]|0)+7>>0]|0)){a[(c[C>>2]|0)+8>>0]=1;a[(c[C>>2]|0)+9>>0]=0;a[(c[C>>2]|0)+12>>0]=2;a[(c[C>>2]|0)+11>>0]=34;a[(c[C>>2]|0)+10>>0]=2}b[(c[C>>2]|0)+148>>1]=c[v>>2];L=(c[C>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;Xr(c[C>>2]|0);if(c[H>>2]|0){if(c[A>>2]|0)a[(c[C>>2]|0)+5>>0]=4}else a[(c[C>>2]|0)+5>>0]=2;c[(c[C>>2]|0)+204>>2]=c[x>>2];c[c[t>>2]>>2]=c[C>>2];c[r>>2]=0;L=c[r>>2]|0;i=K;return L|0}function $q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;d=c[b+4>>2]|0;a=(c[f>>2]|0)+136|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;_i(c[f>>2]|0);i=e;return}function ar(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;tR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=$r(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)==522?0:a;h=c[h>>2]|0;i=j;return h|0}function br(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=mt((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;i=b;return a|0}function cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[j>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){i=g;return}c[f>>2]=(c[e>>2]|0)+184;Os(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);i=g;return}function dr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+15>>0]|0}function er(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function fr(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];Wj();gr(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;hr(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Xi(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)ir(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;kr(b,jr(c[e>>2]|0)|0)|0}lr(c[e>>2]|0)}Xj();mr(c[(c[e>>2]|0)+68>>2]|0)|0;mr(c[(c[e>>2]|0)+64>>2]|0)|0;Zi(c[f>>2]|0);nr(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);i=g;return 0}function gr(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}i=e;return}function hr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;if(!(c[h>>2]|0)){g=c[o>>2]|0;i=p;return g|0}c[n>>2]=0;c[o>>2]=Ms(c[(c[h>>2]|0)+4>>2]|0,4)|0;do if(!(c[o>>2]|0)){if(!(d[(c[h>>2]|0)+43>>0]|0))a[(c[h>>2]|0)+43>>0]=1;c[o>>2]=Ns(c[h>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0,0)|0;if(!(c[o>>2]|0)){c[m>>2]=-1;Os(c[(c[h>>2]|0)+4>>2]|0,10,m);if((c[m>>2]|0)!=1){c[n>>2]=1;break}g=(c[h>>2]|0)+16|0;e=c[g+4>>2]|0;if((e|0)>0|(e|0)==0&(c[g>>2]|0)>>>0>=0)Ps(c[h>>2]|0,0,0)}}while(0);Qs(c[h>>2]|0,c[n>>2]|0);mr(c[(c[h>>2]|0)+8>>2]|0)|0;if(c[n>>2]|0){Wj();vr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+108>>2]|0,0)|0;Xj()}Kd(c[(c[h>>2]|0)+32>>2]|0);Kd(c[h>>2]|0);g=c[o>>2]|0;i=p;return g|0}function ir(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;nj(c[(c[e>>2]|0)+60>>2]|0);c[(c[e>>2]|0)+60>>2]=0;qr(c[e>>2]|0);j=(xr(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[e>>2]|0)+64>>2]>>2]|0)b=Yr(c[(c[e>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[e>>2]|0)+5>>0]&5|0):0))mr(c[(c[e>>2]|0)+68>>2]|0)|0;c[g>>2]=Br(c[e>>2]|0,0)|0;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+17>>0]|0)==6:0)a[(c[e>>2]|0)+18>>0]=5;a[(c[e>>2]|0)+19>>0]=0;a[(c[e>>2]|0)+17>>0]=0}}else{Ls(c[b+216>>2]|0);a[(c[e>>2]|0)+17>>0]=0}if(!(c[(c[e>>2]|0)+44>>2]|0)){j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}Xi(c[e>>2]|0);a[(c[e>>2]|0)+19>>0]=a[(c[e>>2]|0)+13>>0]|0;a[(c[e>>2]|0)+17>>0]=0;c[(c[e>>2]|0)+44>>2]=0;j=c[e>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[e>>2]|0;j=j+20|0;a[j>>0]=0;i=h;return}function jr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=tr(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;i=f;return e|0}c[e>>2]=Vi(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;i=f;return e|0}function kr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;i=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;i=g;return h|0}function lr(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?(d[(c[e>>2]|0)+17>>0]|0)!=0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){Wj();or(c[e>>2]|0)|0;Xj();break}if(!(a[(c[e>>2]|0)+4>>0]|0))pr(c[e>>2]|0,0,0)|0}while(0);ir(c[e>>2]|0);i=f;return}function mr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[c[b>>2]>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;d=c[d>>2]|0;i=e;return d|0}function nr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function or(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[h>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];j=c[e>>2]|0;i=k;return j|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}l=(xr(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(l){c[h>>2]=Qr(b,2,-1)|0;c[j>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[h>>2]|0))c[h>>2]=c[j>>2]}else{if((c[c[b+68>>2]>>2]|0)!=0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[h>>2]=Rr(c[f>>2]|0,0)|0;break}c[g>>2]=d[(c[f>>2]|0)+17>>0];c[h>>2]=pr(c[f>>2]|0,0,0)|0;if((c[g>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[h>>2];l=c[e>>2]|0;i=k;return l|0}}while(0);c[e>>2]=kr(c[f>>2]|0,c[h>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}function pr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0)<2?(d[(c[h>>2]|0)+18>>0]|0)<2:0){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}qr(c[h>>2]|0);a:do if(c[c[(c[h>>2]|0)+68>>2]>>2]|0){b=(rr(c[(c[h>>2]|0)+68>>2]|0)|0)!=0;f=c[h>>2]|0;if(b){mr(c[f+68>>2]|0)|0;break}e=c[h>>2]|0;if((d[f+5>>0]|0)==3){l=e+80|0;if(!((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)){c[m>>2]=sr(c[(c[h>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?(d[(c[h>>2]|0)+8>>0]|0)!=0:0)c[m>>2]=tr(c[(c[h>>2]|0)+68>>2]|0,d[(c[h>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}else{do if((d[e+5>>0]|0)!=1){if((d[(c[h>>2]|0)+4>>0]|0)!=0?(d[(c[h>>2]|0)+5>>0]|0)!=5:0)break;c[l>>2]=((a[(c[h>>2]|0)+13>>0]|0)!=0^1)&1;mr(c[(c[h>>2]|0)+68>>2]|0)|0;if(!(c[l>>2]|0))break a;c[m>>2]=vr(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+180>>2]|0,d[(c[h>>2]|0)+9>>0]|0)|0;break a}while(0);c[m>>2]=ur(c[h>>2]|0,c[j>>2]|0)|0;l=(c[h>>2]|0)+80|0;c[l>>2]=0;c[l+4>>2]=0;break}}while(0);nj(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;c[(c[h>>2]|0)+48>>2]=0;wr(c[(c[h>>2]|0)+212>>2]|0);dj(c[(c[h>>2]|0)+212>>2]|0,c[(c[h>>2]|0)+28>>2]|0);if(!(xr(c[h>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[h>>2]|0)+36>>2]|0)>>>0>(c[(c[h>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=zr(c[h>>2]|0,c[(c[h>>2]|0)+28>>2]|0)|0}else c[n>>2]=yr(c[(c[h>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[c[(c[h>>2]|0)+64>>2]>>2]|0)!=0:0){l=yi(c[(c[h>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=l;c[m>>2]=(c[m>>2]|0)==12?0:l}do if(!(a[(c[h>>2]|0)+4>>0]|0)){if((xr(c[h>>2]|0)|0)!=0?(Ar(c[(c[h>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Br(c[h>>2]|0,1)|0;a[(c[h>>2]|0)+19>>0]=0}while(0);a[(c[h>>2]|0)+17>>0]=1;a[(c[h>>2]|0)+20>>0]=0;c[g>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[g>>2]|0;i=o;return n|0}function qr(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;nj(c[(c[(c[d>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!((a[(c[d>>2]|0)+4>>0]|0)!=0?(rr(c[(c[d>>2]|0)+72>>2]|0)|0)==0:0))mr(c[(c[d>>2]|0)+72>>2]|0)|0;Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;i=f;return}function rr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[b>>2]>>2]|0)==4864|0}function sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;a=Ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=e;return a|0}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function ur(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;g=l+20|0;j=l+16|0;h=l+8|0;k=l;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;b=(c[f>>2]|0)+80|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){k=c[j>>2]|0;i=l;return k|0}m=(c[f>>2]|0)+168|0;e=c[m+4>>2]|0;b=h;c[b>>2]=c[m>>2];c[b+4>>2]=e;b=h;e=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0)c[j>>2]=sr(e,0,0)|0;else c[j>>2]=Hg(e,26454,28,0,0)|0;if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[j>>2]=tr(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=h;g=c[m+4>>2]|0;if(!((c[j>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[j>>2]|0;i=l;return m|0}c[j>>2]=Vi(c[(c[f>>2]|0)+68>>2]|0,k)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=l;return m|0}b=c[k+4>>2]|0;m=h;g=c[m+4>>2]|0;if(!((b|0)>(g|0)|((b|0)==(g|0)?(c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[j>>2]|0;i=l;return m|0}m=h;c[j>>2]=sr(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=Ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function wr(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;ej(c[d>>2]|0)}i=e;return}function xr(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function yr(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){i=e;return 0}Gr(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;i=e;return 0}function zr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;e=m+32|0;f=m+28|0;k=m+24|0;g=m+8|0;h=m;l=m+20|0;j=m+16|0;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?(d[(c[e>>2]|0)+17>>0]|0|0)!=0:0){l=c[k>>2]|0;i=m;return l|0}c[l>>2]=c[(c[e>>2]|0)+160>>2];c[k>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0;b=c[l>>2]|0;b=AR(b|0,((b|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}b=g;a=h;if(!((c[b>>2]|0)!=(c[a>>2]|0)?1:(c[b+4>>2]|0)!=(c[a+4>>2]|0))){l=c[k>>2]|0;i=m;return l|0}b=g;o=c[b+4>>2]|0;a=h;n=c[a+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[b>>2]|0)>>>0>(c[a>>2]|0)>>>0:0))){b=g;n=c[l>>2]|0;n=pR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=C;o=h;a=c[o+4>>2]|0;if((b|0)<(a|0)|((b|0)==(a|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[j>>2]=c[(c[e>>2]|0)+208>>2];tR(c[j>>2]|0,0,c[l>>2]|0)|0;a=c[(c[e>>2]|0)+64>>2]|0;j=c[j>>2]|0;n=c[l>>2]|0;o=c[l>>2]|0;o=oR(c[h>>2]|0,c[h+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[k>>2]=Hg(a,j,n,o,C)|0}}else{o=h;c[k>>2]=sr(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[k>>2]|0){o=c[k>>2]|0;i=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[k>>2]|0;i=m;return o|0}function Ar(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){f=c[g>>2]|0;if((c[h>>2]|0)>0){Er(f,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else{c[j>>2]=(d[f+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}a[(c[g>>2]|0)+43>>0]=0;if(Dr(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[j>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;j=c[j>>2]|0;i=k;return j|0}function Br(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Cr(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Cr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Dr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=Fr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function Er(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){i=g;return}Fr(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;i=g;return}function Fr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[c[k>>2]>>2]|0)+56>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Gr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){i=j;return}Fr(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;i=j;return}function Hr(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Nr(c[d>>2]|0);i=b;return 0}function Ir(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=i;i=i+64|0;t=r+52|0;s=r+48|0;n=r+44|0;o=r+8|0;p=r+40|0;m=r+36|0;l=r+32|0;h=r+28|0;q=r+24|0;g=r;j=r+20|0;k=r+16|0;c[t>>2]=a;c[s>>2]=b;c[n>>2]=d;d=o;c[d>>2]=e;c[d+4>>2]=f;c[p>>2]=c[t>>2];c[m>>2]=c[s>>2];c[l>>2]=c[n>>2];d=(c[p>>2]|0)+40|0;a=o;b=o;a:do if(((c[d>>2]|0)!=(c[a>>2]|0)?1:(c[d+4>>2]|0)!=(c[a+4>>2]|0))|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=c[(c[p>>2]|0)+16>>2];while(1){if(!(c[q>>2]|0))break a;a=g;s=c[(c[p>>2]|0)+4>>2]|0;s=pR(c[a>>2]|0,c[a+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;a=C;t=o;b=c[t+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[p>>2]|0)+4>>2]|0;t=g;s=pR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=C;c[q>>2]=c[c[q>>2]>>2]}}else c[q>>2]=c[(c[p>>2]|0)+40+8>>2];while(0);s=o;t=c[(c[p>>2]|0)+4>>2]|0;t=zR(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[h>>2]=t;while(1){c[j>>2]=(c[(c[p>>2]|0)+4>>2]|0)-(c[h>>2]|0);if((c[l>>2]|0)<((c[(c[p>>2]|0)+4>>2]|0)-(c[h>>2]|0)|0))e=c[l>>2]|0;else e=(c[(c[p>>2]|0)+4>>2]|0)-(c[h>>2]|0)|0;c[k>>2]=e;rR(c[m>>2]|0,(c[q>>2]|0)+4+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[k>>2]|0);c[l>>2]=(c[l>>2]|0)-(c[j>>2]|0);c[h>>2]=0;if((c[l>>2]|0)<0){e=13;break}t=c[c[q>>2]>>2]|0;c[q>>2]=t;if(!((t|0)!=0&(c[l>>2]|0)>0)){e=13;break}}if((e|0)==13){t=o;s=c[n>>2]|0;s=pR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=(c[p>>2]|0)+40|0;c[t>>2]=s;c[t+4>>2]=C;c[(c[p>>2]|0)+40+8>>2]=c[q>>2];i=r;return 0}return 0}function Jr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;q=u+52|0;g=u+48|0;h=u+44|0;r=u+40|0;s=u;t=u+36|0;m=u+32|0;p=u+28|0;j=u+24|0;n=u+20|0;k=u+16|0;l=u+12|0;o=u+8|0;c[g>>2]=a;c[h>>2]=b;c[r>>2]=d;b=s;c[b>>2]=e;c[b+4>>2]=f;c[t>>2]=c[g>>2];c[m>>2]=c[r>>2];c[p>>2]=c[h>>2];if((c[(c[t>>2]|0)+8>>2]|0)>0?(f=c[r>>2]|0,a=s,a=pR(f|0,((f|0)<0)<<31>>31|0,c[a>>2]|0,c[a+4>>2]|0)|0,f=C,b=c[(c[t>>2]|0)+8>>2]|0,d=((b|0)<0)<<31>>31,(f|0)>(d|0)|(f|0)==(d|0)&a>>>0>b>>>0):0){c[j>>2]=Or(c[t>>2]|0)|0;if(!(c[j>>2]|0)){t=s;c[j>>2]=Hg(c[g>>2]|0,c[h>>2]|0,c[r>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0}c[q>>2]=c[j>>2];t=c[q>>2]|0;i=u;return t|0}while(1){if((c[m>>2]|0)<=0){e=18;break}c[n>>2]=c[(c[t>>2]|0)+24+8>>2];j=(c[t>>2]|0)+24|0;b=c[(c[t>>2]|0)+4>>2]|0;b=zR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[k>>2]=b;if((c[m>>2]|0)<((c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0))e=c[m>>2]|0;else e=(c[(c[t>>2]|0)+4>>2]|0)-(c[k>>2]|0)|0;c[l>>2]=e;if(!(c[k>>2]|0)){c[o>>2]=Id(12+((c[(c[t>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[o>>2]|0)){e=12;break}c[c[o>>2]>>2]=0;e=c[o>>2]|0;if(c[n>>2]|0)c[c[n>>2]>>2]=e;else c[(c[t>>2]|0)+16>>2]=e;c[(c[t>>2]|0)+24+8>>2]=c[o>>2]}rR((c[(c[t>>2]|0)+24+8>>2]|0)+4+(c[k>>2]|0)|0,c[p>>2]|0,c[l>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[l>>2]|0);c[m>>2]=(c[m>>2]|0)-(c[l>>2]|0);j=c[l>>2]|0;b=(c[t>>2]|0)+24|0;a=b;j=pR(c[a>>2]|0,c[a+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;c[b>>2]=j;c[b+4>>2]=C}if((e|0)==12){c[q>>2]=3082;t=c[q>>2]|0;i=u;return t|0}else if((e|0)==18){r=c[r>>2]|0;s=pR(r|0,((r|0)<0)<<31>>31|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=s;c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function Kr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];a=g;if(!((c[a>>2]|0)==0&(c[a+4>>2]|0)==0)){i=f;return 0}Nr(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;i=f;return 0}function Lr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function Mr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Nr(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;i=f;return}function Or(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+112|0;e=m+96|0;l=m+92|0;k=m+88|0;f=m+8|0;h=m+84|0;g=m;j=m+80|0;c[e>>2]=a;c[k>>2]=c[e>>2];a=f;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[l>>2]=Pr(c[f+60>>2]|0,c[f+64>>2]|0,c[k>>2]|0,c[f+56>>2]|0,0)|0;if(!(c[l>>2]|0)){c[h>>2]=c[f+4>>2];d=g;c[d>>2]=0;c[d+4>>2]=0;c[j>>2]=c[f+16>>2];while(1){if(!(c[j>>2]|0))break;n=g;b=c[h>>2]|0;b=pR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=C;d=f+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=f+24|0;n=g;n=oR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[h>>2]=n}n=g;c[l>>2]=Hg(c[k>>2]|0,(c[j>>2]|0)+4|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[l>>2]|0)break;d=c[h>>2]|0;n=g;d=pR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=g;c[n>>2]=d;c[n+4>>2]=C;c[j>>2]=c[c[j>>2]>>2]}if(!(c[l>>2]|0))Nr(f)}if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}mr(c[k>>2]|0)|0;a=c[e>>2]|0;b=f;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[l>>2]|0;i=m;return n|0}function Pr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+32|0;n=h+20|0;m=h+16|0;l=h+12|0;k=h+8|0;j=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[l>>2]=d;c[k>>2]=e;c[j>>2]=f;c[g>>2]=Zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]&556927,c[j>>2]|0)|0;i=h;return c[g>>2]|0}function Qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m+24|0;e=m+20|0;f=m+16|0;l=m+12|0;g=m+8|0;h=m+4|0;k=m;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[l>>2]=c[(c[j>>2]|0)+44>>2];if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[f>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0)){l=c[l>>2]|0;i=m;return l|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[j>>2]|0)+104>>2]|0))break;nj(c[(c[(c[j>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[j>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((xr(c[j>>2]|0)|0)==0?(c[c[(c[j>>2]|0)+68>>2]>>2]|0)==0:0){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))e=0;else e=(c[(c[j>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=e;c[l>>2]=ls(c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}if(c[h>>2]|0){l=c[l>>2]|0;i=m;return l|0}if(!(c[c[(c[j>>2]|0)+72>>2]>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(rr(c[(c[j>>2]|0)+72>>2]|0)|0)c[l>>2]=sr(c[(c[j>>2]|0)+72>>2]|0,0,0)|0;c[(c[j>>2]|0)+56>>2]=0;l=c[l>>2]|0;i=m;return l|0}function Rr(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;r=t+8|0;m=t+56|0;n=t+52|0;j=t+48|0;k=t;g=t+44|0;l=t+40|0;f=t+36|0;p=t+32|0;q=t+28|0;s=t+24|0;h=t+20|0;o=t+16|0;c[m>>2]=b;c[n>>2]=e;c[j>>2]=c[c[m>>2]>>2];c[f>>2]=0;c[q>>2]=1;c[s>>2]=0;c[o>>2]=0;c[p>>2]=Vi(c[(c[m>>2]|0)+68>>2]|0,k)|0;a:do if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Sr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[p>>2]|0)==0?(a[c[s>>2]>>0]|0)!=0:0)c[p>>2]=Tr(c[j>>2]|0,c[s>>2]|0,0,q)|0;c[s>>2]=0;if((c[p>>2]|0)==0&(c[q>>2]|0)!=0){j=(c[m>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0;c[h>>2]=c[n>>2];b:while(1){j=k;c[p>>2]=Ur(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,g,f)|0;if(c[p>>2]|0){e=8;break}if((c[g>>2]|0)==-1){b=k;b=oR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=yR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}if(!((c[g>>2]|0)!=0|(c[n>>2]|0)!=0)?(b=(c[m>>2]|0)+88|0,b=pR(c[b>>2]|0,c[b+4>>2]|0,c[(c[m>>2]|0)+156>>2]|0,0)|0,j=(c[m>>2]|0)+80|0,(b|0)==(c[j>>2]|0)?(C|0)==(c[j+4>>2]|0):0):0){j=k;b=(c[m>>2]|0)+80|0;b=oR(c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;j=(c[(c[m>>2]|0)+160>>2]|0)+8|0;j=yR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[g>>2]=j}j=(c[m>>2]|0)+80|0;if((c[j+4>>2]|0)==0?(c[j>>2]|0)==(c[(c[m>>2]|0)+156>>2]|0):0){c[p>>2]=zr(c[m>>2]|0,c[f>>2]|0)|0;if(c[p>>2]|0)break a;c[(c[m>>2]|0)+28>>2]=c[f>>2]}c[l>>2]=0;while(1){if((c[l>>2]|0)>>>0>=(c[g>>2]|0)>>>0)continue b;if(c[h>>2]|0){Xi(c[m>>2]|0);c[h>>2]=0}c[p>>2]=Vr(c[m>>2]|0,(c[m>>2]|0)+80|0,0,1,0)|0;if(c[p>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if((c[p>>2]|0)!=101){e=26;break}e=k;b=c[e+4>>2]|0;j=(c[m>>2]|0)+80|0;c[j>>2]=c[e>>2];c[j+4>>2]=b}if((e|0)==8){if((c[p>>2]|0)!=101)break;c[p>>2]=0;break}else if((e|0)==26){if((c[p>>2]|0)!=522)break;c[p>>2]=0;break}}}while(0);a[(c[m>>2]|0)+19>>0]=a[(c[m>>2]|0)+13>>0]|0;if(!(c[p>>2]|0)){c[s>>2]=c[(c[m>>2]|0)+208>>2];c[p>>2]=Sr(c[(c[m>>2]|0)+68>>2]|0,c[s>>2]|0,(c[(c[c[m>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[p>>2]|0)){if((d[(c[m>>2]|0)+17>>0]|0)<4?(d[(c[m>>2]|0)+17>>0]|0)!=0:0)break;c[p>>2]=Jg(c[m>>2]|0,0)|0}while(0);if(!(c[p>>2]|0))c[p>>2]=pr(c[m>>2]|0,(a[c[s>>2]>>0]|0)!=0&1,0)|0;if((c[p>>2]|0)==0?((c[q>>2]|0)!=0?(a[c[s>>2]>>0]|0)!=0:0):0)c[p>>2]=Wr(c[m>>2]|0,c[s>>2]|0)|0;if(!((c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[m>>2]|0;Xr(s);s=c[p>>2]|0;i=t;return s|0}s=c[(c[m>>2]|0)+180>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=s;Rd(539,26482,r);s=c[m>>2]|0;Xr(s);s=c[p>>2]|0;i=t;return s|0}function Sr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+36|0;g=q+32|0;h=q+28|0;j=q+24|0;n=q+20|0;m=q+16|0;o=q;l=q+12|0;p=q+8|0;k=q+40|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a[c[h>>2]>>0]=0;e=Vi(c[g>>2]|0,o)|0;c[n>>2]=e;d=o;b=c[d+4>>2]|0;if((((((!(0!=(e|0)|((b|0)<0|(b|0)==0&(c[d>>2]|0)>>>0<16))?(b=c[g>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=as(b,d,C,m)|0,c[n>>2]=d,0==(d|0)):0)?!((c[m>>2]|0)==0?1:(c[m>>2]|0)>>>0>=(c[j>>2]|0)>>>0):0)?(b=c[g>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,12,0)|0,d=as(b,d,C,l)|0,c[n>>2]=d,0==(d|0)):0)?(b=c[g>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,8,0)|0,d=$r(b,k,8,d,C)|0,c[n>>2]=d,0==(d|0)):0)?(EQ(k,26509,8)|0)==0:0)?(k=c[g>>2]|0,e=c[h>>2]|0,b=c[m>>2]|0,d=o,d=oR(c[d>>2]|0,c[d+4>>2]|0,16,0)|0,d=oR(d|0,C|0,c[m>>2]|0,0)|0,d=$r(k,e,b,d,C)|0,c[n>>2]=d,0==(d|0)):0){c[p>>2]=0;while(1){if((c[p>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;c[l>>2]=(c[l>>2]|0)-(a[(c[h>>2]|0)+(c[p>>2]|0)>>0]|0);c[p>>2]=(c[p>>2]|0)+1}if(c[l>>2]|0)c[m>>2]=0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;c[f>>2]=0;d=c[f>>2]|0;i=q;return d|0}c[f>>2]=c[n>>2];d=c[f>>2]|0;i=q;return d|0}function Tr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;b=Wb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function Ur(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;h=s+44|0;j=s+40|0;k=s+36|0;t=s+8|0;l=s+32|0;m=s+28|0;r=s+24|0;n=s+48|0;o=s;p=s+20|0;q=s+16|0;c[j>>2]=a;c[k>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;b=ks(c[j>>2]|0)|0;f=(c[j>>2]|0)+80|0;c[f>>2]=b;c[f+4>>2]=C;f=(c[j>>2]|0)+80|0;f=pR(c[f>>2]|0,c[f+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;b=C;a=t;g=c[a+4>>2]|0;if((b|0)>(g|0)|((b|0)==(g|0)?f>>>0>(c[a>>2]|0)>>>0:0)){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}f=(c[j>>2]|0)+80|0;a=c[f+4>>2]|0;t=o;c[t>>2]=c[f>>2];c[t+4>>2]=a;if(!((c[k>>2]|0)==0?(a=o,t=(c[j>>2]|0)+88|0,!((c[a>>2]|0)!=(c[t>>2]|0)?1:(c[a+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=o;c[r>>2]=$r(c[(c[j>>2]|0)+68>>2]|0,n,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[r>>2]|0){c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}if(EQ(n,26509,8)|0){c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}}a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=pR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=as(a,t,C,c[l>>2]|0)|0;c[r>>2]=t;if((0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=pR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=as(a,t,C,(c[j>>2]|0)+52|0)|0,c[r>>2]=t,0==(t|0)):0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=pR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=as(a,t,C,c[m>>2]|0)|0,c[r>>2]=t,0==(t|0)):0){t=(c[j>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){a=c[(c[j>>2]|0)+68>>2]|0;t=o;t=pR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=as(a,t,C,q)|0;c[r>>2]=t;if(0==(t|0)?(a=c[(c[j>>2]|0)+68>>2]|0,t=o,t=pR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=as(a,t,C,p)|0,c[r>>2]=t,0==(t|0)):0){if(!(c[p>>2]|0))c[p>>2]=c[(c[j>>2]|0)+160>>2];if((!((c[p>>2]|0)>>>0<512|(c[q>>2]|0)>>>0<32|(c[p>>2]|0)>>>0>65536|(c[q>>2]|0)>>>0>65536)?((c[p>>2]|0)-1&c[p>>2]|0)==0:0)?((c[q>>2]|0)-1&c[q>>2]|0)==0:0){c[r>>2]=Ti(c[j>>2]|0,p,-1)|0;c[(c[j>>2]|0)+156>>2]=c[q>>2];break}c[h>>2]=101;t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}while(0);t=(c[j>>2]|0)+80|0;a=t;a=pR(c[a>>2]|0,c[a+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0;c[t>>2]=a;c[t+4>>2]=C;c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}c[h>>2]=c[r>>2];t=c[h>>2]|0;i=s;return t|0}function Vr(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+64|0;y=B+60|0;o=B+56|0;p=B+52|0;l=B+48|0;q=B+44|0;r=B+40|0;A=B+36|0;z=B+32|0;v=B+28|0;m=B+24|0;s=B+20|0;n=B+16|0;t=B+12|0;u=B;x=B+8|0;c[o>>2]=f;c[p>>2]=g;c[l>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[o>>2]|0)+208>>2];j=c[o>>2]|0;if(c[q>>2]|0)j=c[j+68>>2]|0;else j=c[j+72>>2]|0;c[n>>2]=j;f=c[p>>2]|0;c[A>>2]=as(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,v)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}k=c[n>>2]|0;h=c[s>>2]|0;g=c[(c[o>>2]|0)+160>>2]|0;f=c[p>>2]|0;f=pR(c[f>>2]|0,c[f+4>>2]|0,4,0)|0;c[A>>2]=$r(k,h,g,f,C)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}g=(c[(c[o>>2]|0)+160>>2]|0)+4+(c[q>>2]<<2)|0;f=c[p>>2]|0;h=f;g=pR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;c[f>>2]=g;c[f+4>>2]=C;if((c[v>>2]|0)!=0?(c[v>>2]|0)!=(((c[381]|0)/(c[(c[o>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[v>>2]|0)>>>0<=(c[(c[o>>2]|0)+28>>2]|0)>>>0?(lj(c[l>>2]|0,c[v>>2]|0)|0)==0:0){if(c[q>>2]|0){f=c[n>>2]|0;n=c[p>>2]|0;n=oR(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[A>>2]=as(f,n,C,m)|0;if(c[A>>2]|0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[r>>2]|0)==0?(n=bs(c[o>>2]|0,c[s>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}}if((c[l>>2]|0)!=0?(n=jj(c[l>>2]|0,c[v>>2]|0)|0,c[A>>2]=n,(n|0)!=0):0){c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}if((c[v>>2]|0)==1?(b[(c[o>>2]|0)+150>>1]|0)!=(d[(c[s>>2]|0)+20>>0]|0):0)b[(c[o>>2]|0)+150>>1]=d[(c[s>>2]|0)+20>>0]|0;if(xr(c[o>>2]|0)|0)c[z>>2]=0;else c[z>>2]=cs(c[o>>2]|0,c[v>>2]|0)|0;if(c[q>>2]|0){if(d[(c[o>>2]|0)+7>>0]|0)j=1;else{n=c[p>>2]|0;l=c[n+4>>2]|0;j=(c[o>>2]|0)+88|0;m=c[j+4>>2]|0;j=(l|0)<(m|0)|((l|0)==(m|0)?(c[n>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0)}c[t>>2]=j&1}else{if(!(c[z>>2]|0))j=1;else j=0==(e[(c[z>>2]|0)+24>>1]&8|0);c[t>>2]=j&1}do if(c[c[(c[o>>2]|0)+64>>2]>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)>=4){if(!(c[t>>2]|0)){w=44;break}}else if(!((c[t>>2]|0)!=0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)){w=44;break}n=c[(c[o>>2]|0)+160>>2]|0;n=AR((c[v>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;t=u;c[t>>2]=n;c[t+4>>2]=C;c[A>>2]=Hg(c[(c[o>>2]|0)+64>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;if((c[v>>2]|0)>>>0>(c[(c[o>>2]|0)+36>>2]|0)>>>0)c[(c[o>>2]|0)+36>>2]=c[v>>2];if(c[(c[o>>2]|0)+96>>2]|0){ds(c[(c[o>>2]|0)+96>>2]|0,c[v>>2]|0,c[s>>2]|0);c[s>>2]=c[s>>2]}}else w=44;while(0);do if((w|0)==44?(c[q>>2]|0)==0&(c[z>>2]|0)==0:0){w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[A>>2]=ug(c[o>>2]|0,c[v>>2]|0,z,1)|0;w=(c[o>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[A>>2]|0)){w=(c[z>>2]|0)+24|0;b[w>>1]=e[w>>1]&-17;es(c[z>>2]|0);break}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}while(0);if(c[z>>2]|0){c[x>>2]=c[(c[z>>2]|0)+4>>2];rR(c[x>>2]|0,c[s>>2]|0,c[(c[o>>2]|0)+160>>2]|0)|0;Qb[c[(c[o>>2]|0)+204>>2]&255](c[z>>2]|0);do if(c[q>>2]|0){if((c[r>>2]|0)!=0?(u=c[p>>2]|0,s=c[u+4>>2]|0,w=(c[o>>2]|0)+88|0,t=c[w+4>>2]|0,!((s|0)<(t|0)|((s|0)==(t|0)?(c[u>>2]|0)>>>0<=(c[w>>2]|0)>>>0:0))):0)break;ej(c[z>>2]|0)}while(0);if((c[v>>2]|0)==1){h=(c[o>>2]|0)+112|0;j=(c[x>>2]|0)+24|0;k=h+16|0;do{a[h>>0]=a[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0))}fs(c[z>>2]|0)}c[y>>2]=c[A>>2];A=c[y>>2]|0;i=B;return A|0}c[y>>2]=0;A=c[y>>2]|0;i=B;return A|0}c[y>>2]=101;A=c[y>>2]|0;i=B;return A|0}function Wr(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;t=s+60|0;e=s+56|0;n=s+52|0;o=s+48|0;m=s+44|0;l=s+40|0;q=s+36|0;j=s;p=s+32|0;r=s+28|0;k=s+24|0;g=s+16|0;f=s+12|0;h=s+8|0;c[t>>2]=b;c[e>>2]=d;c[n>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[n>>2]|0)+4>>2]<<1;c[m>>2]=kg(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[m>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0);if(c[m>>2]|0){c[s+20>>2]=16385;c[o>>2]=Pr(c[n>>2]|0,c[e>>2]|0,c[m>>2]|0,16385,0)|0}else c[o>>2]=7;a:do if((c[o>>2]|0)==0?(c[o>>2]=Vi(c[m>>2]|0,j)|0,(c[o>>2]|0)==0):0){c[k>>2]=(c[(c[n>>2]|0)+8>>2]|0)+1;d=j;t=c[k>>2]|0;t=pR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=pR(t|0,C|0,1,0)|0;c[q>>2]=$f(t,C)|0;if(!(c[q>>2]|0)){c[o>>2]=7;break}t=j;t=pR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[r>>2]=(c[q>>2]|0)+t;c[o>>2]=$r(c[m>>2]|0,c[q>>2]|0,c[j>>2]|0,0,0)|0;if(!(c[o>>2]|0)){a[(c[q>>2]|0)+(c[j>>2]|0)>>0]=0;c[p>>2]=c[q>>2];while(1){d=(c[p>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[o>>2]=Tr(c[n>>2]|0,c[p>>2]|0,0,g)|0;if(c[o>>2]|0)break a;if(c[g>>2]|0){c[h>>2]=2049;c[o>>2]=Pr(c[n>>2]|0,c[p>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0)break a;c[o>>2]=Sr(c[l>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;mr(c[l>>2]|0)|0;if(c[o>>2]|0)break a;if(a[c[r>>2]>>0]|0)b=(HQ(c[r>>2]|0,c[e>>2]|0)|0)==0;else b=0;c[f>>2]=b&1;if(c[f>>2]|0)break a}u=(Jf(c[p>>2]|0)|0)+1|0;c[p>>2]=(c[p>>2]|0)+u}mr(c[m>>2]|0)|0;c[o>>2]=vr(c[n>>2]|0,c[e>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[m>>2]|0)){u=c[o>>2]|0;i=s;return u|0}mr(c[m>>2]|0)|0;Kd(c[m>>2]|0);u=c[o>>2]|0;i=s;return u|0}function Xr(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((Yr(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=Zr(c[(c[b>>2]|0)+64>>2]|0)|0;c[(c[b>>2]|0)+156>>2]=a;i=e;return}c[(c[b>>2]|0)+156>>2]=512;i=e;return}function Yr(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;i=b;return a|0}function Zr(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=_r(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;i=d;return c[b>>2]|0}function _r(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function $r(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;k=g+16|0;j=g+12|0;h=g+8|0;l=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;b=l;c[b>>2]=e;c[b+4>>2]=f;b=l;b=Zb[c[(c[c[k>>2]>>2]|0)+8>>2]&255](c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=g;return b|0}function as(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;k=j+16|0;l=j;f=j+12|0;g=j+20|0;h=j+8|0;c[k>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=l;c[h>>2]=$r(c[k>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=j;return l|0}l=er(g)|0;c[c[f>>2]>>2]=l;l=c[h>>2]|0;i=j;return l|0}function bs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[j>>2]|0)+52>>2];c[g>>2]=(c[(c[j>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}i=h;return c[f>>2]|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=hs(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=is(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}return 0}function ds(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){i=h;return}gs(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}function es(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&33)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-33;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){i=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;fj(c[d>>2]|0,2);i=f;return}function fs(a){a=a|0;var d=0,f=0,g=0;f=i;i=i+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16){i=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1){gj(a);i=f;return}if(!(c[a+36>>2]|0)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((ng(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=wg(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,(c[h>>2]|0)!=0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];a=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=a}while((a|0)!=0);i=j;return}function hs(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=e;c[g>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);b=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return b|0}function is(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[l>>2]|0;if(c[c[j>>2]>>2]|0){l=a+12|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[j>>2]|0)+26|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;c[f>>2]=c[j>>2];l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=js(a,c[g>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function js(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[(c[h>>2]|0)+4>>2];a=c[j>>2]|0;e=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(e|0));c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;tR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[f>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[f>>2];c[(c[j>>2]|0)+20>>2]=c[g>>2];b[(c[j>>2]|0)+24>>1]=1;j=is(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;i=k;return j|0}function ks(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;b=f+16|0;e=f+8|0;d=f;c[b>>2]=a;h=e;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=d;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=d;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}h=d;h=oR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=yR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=pR(h|0,C|0,1,0)|0;h=AR(h|0,C|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=e;c[g>>2]=h;c[g+4>>2]=C;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=f;return h|0}function ls(b,d){b=b|0;d=d|0;var 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;s=i;i=i+64|0;e=s+56|0;f=s+52|0;g=s+48|0;q=s+16|0;j=s+8|0;p=s+44|0;o=s+40|0;k=s+36|0;m=s+32|0;h=s+28|0;l=s+24|0;n=s;c[f>>2]=b;c[g>>2]=d;c[p>>2]=0;c[o>>2]=0;if((c[g>>2]|0)!=0?(c[o>>2]=ij(c[(c[g>>2]|0)+20>>2]|0)|0,(c[o>>2]|0)==0):0){c[e>>2]=7;r=c[e>>2]|0;i=s;return r|0}if(c[g>>2]|0)b=c[(c[g>>2]|0)+20>>2]|0;else b=c[(c[f>>2]|0)+32>>2]|0;c[(c[f>>2]|0)+28>>2]=b;a[(c[f>>2]|0)+19>>0]=a[(c[f>>2]|0)+13>>0]|0;if((c[g>>2]|0)==0?(xr(c[f>>2]|0)|0)!=0:0){c[e>>2]=ms(c[f>>2]|0)|0;r=c[e>>2]|0;i=s;return r|0}t=(c[f>>2]|0)+80|0;b=c[t+4>>2]|0;d=q;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if((c[g>>2]|0)!=0?(xr(c[f>>2]|0)|0)==0:0){t=(c[g>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[g>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=q;b=c[d>>2]|0;d=c[d+4>>2]|0}t=j;c[t>>2]=b;c[t+4>>2]=d;b=c[g>>2]|0;d=c[b+4>>2]|0;t=(c[f>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[p>>2]|0)break a;d=(c[f>>2]|0)+80|0;u=c[d+4>>2]|0;t=j;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[p>>2]=Vr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[f>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[p>>2]|0)break;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[m>>2]=0;u=q;c[p>>2]=Ur(c[f>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,m,h)|0;if((c[m>>2]|0)==0?(t=(c[f>>2]|0)+88|0,t=pR(c[t>>2]|0,c[t+4>>2]|0,c[(c[f>>2]|0)+156>>2]|0,0)|0,u=(c[f>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(C|0)==(c[u+4>>2]|0):0):0){u=q;t=(c[f>>2]|0)+80|0;t=oR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[f>>2]|0)+160>>2]|0)+8|0;u=yR(t|0,C|0,u|0,((u|0)<0)<<31>>31|0)|0;c[m>>2]=u}c[k>>2]=0;while(1){if(c[p>>2]|0)continue b;if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0)continue b;t=(c[f>>2]|0)+80|0;j=c[t+4>>2]|0;u=q;r=c[u+4>>2]|0;if(!((j|0)<(r|0)|((j|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[p>>2]=Vr(c[f>>2]|0,(c[f>>2]|0)+80|0,c[o>>2]|0,1,1)|0;c[k>>2]=(c[k>>2]|0)+1}}c:do if(c[g>>2]|0){t=4+(c[(c[f>>2]|0)+160>>2]|0)|0;t=AR(c[(c[g>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=n;c[u>>2]=t;c[u+4>>2]=C;if(xr(c[f>>2]|0)|0)c[p>>2]=ns(c[(c[f>>2]|0)+216>>2]|0,(c[g>>2]|0)+28|0)|0;c[l>>2]=c[(c[g>>2]|0)+24>>2];while(1){if(c[p>>2]|0)break c;if((c[l>>2]|0)>>>0>=(c[(c[f>>2]|0)+56>>2]|0)>>>0)break c;c[p>>2]=Vr(c[f>>2]|0,n,c[o>>2]|0,0,1)|0;c[l>>2]=(c[l>>2]|0)+1}}while(0);nj(c[o>>2]|0);if(!(c[p>>2]|0)){r=q;t=c[r+4>>2]|0;u=(c[f>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[e>>2]=c[p>>2];u=c[e>>2]|0;i=s;return u|0}function ms(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[f>>2]=us(c[(c[b>>2]|0)+216>>2]|0,187,c[b>>2]|0)|0;c[d>>2]=vs(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!((c[d>>2]|0)!=0?(c[f>>2]|0)==0:0))break;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=ts(c[b>>2]|0,c[(c[d>>2]|0)+20>>2]|0)|0;c[d>>2]=c[e>>2]}i=g;return c[f>>2]|0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];os(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function os(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;f=m+20|0;g=m+16|0;k=m+12|0;j=m+8|0;l=m+4|0;h=m;c[d>>2]=a;c[f>>2]=0;c[g>>2]=0;c[k>>2]=0;c[j>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){i=m;return}a=c[d>>2]|0;qs(a,ps(c[(c[d>>2]|0)+52+16>>2]|0)|0,f,g,k)|0;c[j>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[k>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=8192)break;if((e[(c[f>>2]|0)+(c[h>>2]<<1)>>1]|0|0)>(c[j>>2]|0))b[(c[f>>2]|0)+(c[h>>2]<<1)>>1]=0;c[h>>2]=(c[h>>2]|0)+1}c[l>>2]=(c[f>>2]|0)-((c[g>>2]|0)+((c[j>>2]|0)+1<<2));tR((c[g>>2]|0)+((c[j>>2]|0)+1<<2)|0,0,c[l>>2]|0)|0;i=m;return}function ps(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;i=d;return c[b>>2]|0}function qs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;q=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[q>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[o>>2]=rs(c[q>>2]|0,c[g>>2]|0,m)|0;if(c[o>>2]|0){q=c[o>>2]|0;i=p;return q|0}c[l>>2]=(c[m>>2]|0)+16384;if(!(c[g>>2]|0)){c[m>>2]=(c[m>>2]|0)+136;c[n>>2]=0}else c[n>>2]=4062+((c[g>>2]|0)-1<<12);c[c[j>>2]>>2]=(c[m>>2]|0)+-4;c[c[h>>2]>>2]=c[l>>2];c[c[k>>2]>>2]=c[n>>2];q=c[o>>2]|0;i=p;return q|0}function rs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;m=o+4|0;l=o;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[j>>2]|0)){c[m>>2]=(c[j>>2]|0)+1<<2;f=c[m>>2]|0;c[l>>2]=Md(c[(c[h>>2]|0)+32>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[l>>2]|0){tR((c[l>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[j>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[l>>2];c[(c[h>>2]|0)+24>>2]=(c[j>>2]|0)+1;break}c[c[k>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;i=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){f=kg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]=f;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2]|0)break;c[n>>2]=7;break}else{c[n>>2]=ss(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)|0)|0;if((c[n>>2]|0)!=8)break;f=(c[h>>2]|0)+46|0;a[f>>0]=d[f>>0]|0|2;c[n>>2]=0;break}while(0);c[c[k>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[j>>2]<<2)>>2];c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;f=Zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;i=g;return f|0}function ts(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;k=h+20|0;j=h+16|0;g=h+12|0;e=h+8|0;f=h+4|0;d=h;c[k>>2]=a;c[j>>2]=b;c[g>>2]=0;c[e>>2]=c[k>>2];c[f>>2]=cs(c[e>>2]|0,c[j>>2]|0)|0;do if(c[f>>2]|0){if((As(c[f>>2]|0)|0)==1){Bs(c[f>>2]|0);break}c[d>>2]=0;c[g>>2]=Cs(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,d)|0;if(!(c[g>>2]|0))c[g>>2]=Ds(c[f>>2]|0,c[d>>2]|0)|0;if(!(c[g>>2]|0))Qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Es(c[f>>2]|0)}while(0);bj(c[(c[e>>2]|0)+96>>2]|0);i=h;return c[g>>2]|0}function us(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[f>>2]|0)+52+16>>2];e=(c[f>>2]|0)+52|0;b=ys(c[f>>2]|0)|0;d=e+48|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));c[j>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[l>>2]|0)break;if((c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0)break;e=c[g>>2]|0;b=c[h>>2]|0;d=zs(c[f>>2]|0,c[j>>2]|0)|0;c[l>>2]=Yb[e&255](b,d)|0;c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){l=c[l>>2]|0;i=m;return l|0}os(c[f>>2]|0);l=c[l>>2]|0;i=m;return l|0}function vs(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}a=ws(c[c[b>>2]>>2]|0)|0;i=e;return a|0}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;d=j+136|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[h>>2]=c[d>>2];c[d>>2]=c[(c[h>>2]|0)+12>>2];c[(c[h>>2]|0)+12>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=31)break;if(!(c[f+(c[g>>2]<<2)>>2]|0)){e=6;break}c[h>>2]=xs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[g>>2]<<2)>>2]=c[h>>2]}if((c[g>>2]|0)!=31)continue;b=xs(c[f+(c[g>>2]<<2)>>2]|0,c[h>>2]|0)|0;c[f+(c[g>>2]<<2)>>2]=b}c[h>>2]=c[f>>2];c[g>>2]=1;while(1){a=c[h>>2]|0;if((c[g>>2]|0)>=32)break;c[h>>2]=xs(a,c[f+(c[g>>2]<<2)>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}i=j;return a|0}function xs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;d=h+52|0;e=h+48|0;g=h+8|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=g;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;if((c[a+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[f>>2]|0)+12>>2]=c[d>>2];c[f>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];continue}else{c[(c[f>>2]|0)+12>>2]=c[e>>2];c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];continue}}if(a){c[(c[f>>2]|0)+12>>2]=c[d>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}if(c[e>>2]|0){c[(c[f>>2]|0)+12>>2]=c[e>>2];g=g+12|0;g=c[g>>2]|0;i=h;return g|0}else{c[(c[f>>2]|0)+12>>2]=0;g=g+12|0;g=c[g>>2]|0;i=h;return g|0}return 0}function ys(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=ps(c[h>>2]|0)|0;b=c[h>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[c[(c[e>>2]|0)+32>>2]>>2]|0)+(34+b-1<<2)>>2];h=c[d>>2]|0;i=g;return h|0}else{c[d>>2]=c[(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[f>>2]<<2)>>2]|0)+((((b-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;i=g;return h|0}return 0}function As(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+26>>1]|0}function Bs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2)fj(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;Ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);i=d;return}function Cs(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;s=w+56|0;g=w+52|0;h=w+48|0;t=w+44|0;u=w+40|0;o=w+36|0;m=w+32|0;p=w+28|0;j=w+24|0;k=w+20|0;q=w+16|0;n=w+12|0;r=w+8|0;v=w+4|0;l=w;c[g>>2]=a;c[h>>2]=d;c[t>>2]=f;c[u>>2]=0;c[o>>2]=c[(c[g>>2]|0)+52+16>>2];if((c[o>>2]|0)!=0?(b[(c[g>>2]|0)+40>>1]|0)!=0:0){c[p>>2]=ps(c[(c[g>>2]|0)+100>>2]|0)|0;c[m>>2]=ps(c[o>>2]|0)|0;a:while(1){if(!((c[m>>2]|0)>=(c[p>>2]|0)?(c[u>>2]|0)==0:0)){g=18;break}c[v>>2]=qs(c[g>>2]|0,c[m>>2]|0,j,k,q)|0;if(c[v>>2]|0){g=7;break}c[r>>2]=8192;c[n>>2]=Js(c[h>>2]|0)|0;while(1){if(!(b[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0))break;c[l>>2]=(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]|0)+(c[q>>2]|0);if(((c[l>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[l>>2]|0)>>>0>=(c[(c[g>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[k>>2]|0)+(e[(c[j>>2]|0)+(c[n>>2]<<1)>>1]<<2)>>2]|0)==(c[h>>2]|0):0)c[u>>2]=c[l>>2];f=c[r>>2]|0;c[r>>2]=f+-1;if(!f){g=15;break a}c[n>>2]=Ks(c[n>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+-1}if((g|0)==7){c[s>>2]=c[v>>2];v=c[s>>2]|0;i=w;return v|0}else if((g|0)==15){c[s>>2]=Oj(53923)|0;v=c[s>>2]|0;i=w;return v|0}else if((g|0)==18){c[c[t>>2]>>2]=c[u>>2];c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}}c[c[t>>2]>>2]=0;c[s>>2]=0;v=c[s>>2]|0;i=w;return v|0}function Ds(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+32|0;f=n+28|0;h=n+24|0;j=n+20|0;m=n+16|0;k=n+12|0;g=n;l=n+8|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[j>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[k>>2]=c[(c[h>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Is(c[(c[h>>2]|0)+216>>2]|0,c[f>>2]|0,c[k>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[h>>2]|0)+160>>2]|0;d=AR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;b=g;c[b>>2]=d;c[b+4>>2]=C;b=g;k=$r(c[(c[h>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==522?0:k}if((c[j>>2]|0)!=1){m=c[m>>2]|0;i=n;return m|0}if(c[m>>2]|0){d=(c[h>>2]|0)+112|0;f=d+16|0;do{a[d>>0]=255;d=d+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}else{c[l>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;d=(c[h>>2]|0)+112|0;e=c[l>>2]|0;f=d+16|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));m=c[m>>2]|0;i=n;return m|0}return 0}function Es(a){a=a|0;var b=0,d=0,f=0;d=i;i=i+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&64){Fs(a);f=c[b>>2]|0;Gs(f);i=d;return}else{fs(a);f=c[b>>2]|0;Gs(f);i=d;return}}function Fs(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=AR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;Hs(e,a,C,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return}function Gs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){i=d;return}if(Ui(c[(c[b>>2]|0)+212>>2]|0)|0){i=d;return}lr(c[b>>2]|0);i=d;return}function Hs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function Is(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;l=g+24|0;n=g+20|0;h=g+16|0;k=g+12|0;j=g+8|0;m=g;c[l>>2]=a;c[n>>2]=b;c[h>>2]=d;c[k>>2]=f;c[j>>2]=e[(c[l>>2]|0)+52+14>>1];c[j>>2]=(c[j>>2]&65024)+((c[j>>2]&1)<<16);f=(c[j>>2]|0)+24|0;f=AR((c[n>>2]|0)-1|0,0,f|0,((f|0)<0)<<31>>31|0)|0;f=pR(32,0,f|0,C|0)|0;f=pR(f|0,C|0,24,0)|0;a=m;c[a>>2]=f;c[a+4>>2]=C;a=m;a=$r(c[(c[l>>2]|0)+8>>2]|0,c[k>>2]|0,(c[h>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[h>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;i=g;return a|0}function Js(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)*383&8191|0}function Ks(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+1&8191|0}function Ls(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;yr(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){i=e;return}Er(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;i=e;return}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Ns(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;i=i+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;y=A+12|0;t=A+8|0;x=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=0;c[x>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;i=A;return z|0}c[y>>2]=Ss(c[v>>2]|0,1,1)|0;if(c[y>>2]|0){c[z>>2]=c[y>>2];z=c[z>>2]|0;i=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[y>>2]=Ts(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[y>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[y>>2]|0)==5){c[x>>2]=0;c[u>>2]=0;c[y>>2]=0}}while(0);if(((c[y>>2]|0)==0?(c[y>>2]=Us(c[v>>2]|0,t)|0,(c[t>>2]|0)!=0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)Hs(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[y>>2]|0)){if((c[(c[v>>2]|0)+52+16>>2]|0)!=0?(j=Vs(c[v>>2]|0)|0,(j|0)!=(c[p>>2]|0)):0)c[y>>2]=Oj(54623)|0;else c[y>>2]=Ws(c[v>>2]|0,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[y>>2]|0)==0|(c[y>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){j=c[(Xs(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=j}}}if(c[t>>2]|0){m=(c[v>>2]|0)+52|0;n=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0))}yr(c[v>>2]|0)|0;Gr(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[y>>2]|0)==0?(c[w>>2]|0)!=(c[x>>2]|0):0)m=5;else m=c[y>>2]|0;c[z>>2]=m;z=c[z>>2]|0;i=A;return z|0}function Os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return}function Ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;e=k+24|0;f=k+8|0;h=k;g=k+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;Wj();c[g>>2]=Vi(c[(c[e>>2]|0)+8>>2]|0,h)|0;if((c[g>>2]|0)==0?(a=h,b=c[a+4>>2]|0,h=f,d=c[h+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?(c[a>>2]|0)>>>0>(c[h>>2]|0)>>>0:0)):0){h=f;c[g>>2]=sr(c[(c[e>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0}Xj();if(!(c[g>>2]|0)){i=k;return}h=c[g>>2]|0;c[j>>2]=c[(c[e>>2]|0)+108>>2];Rd(h,26517,j);i=k;return}function Qs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Rs(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;i=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}i=h;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function Ss(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[k>>2]=Fr(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[j>>2]|0,10)|0;c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}return 0}function Ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;while(1){c[m>>2]=Ss(c[g>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){g=4;break}if(!(Tb[c[h>>2]&255](c[j>>2]|0)|0)){g=4;break}}if((g|0)==4){i=n;return c[m>>2]|0}return 0}function Us(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[l>>2]=rs(c[g>>2]|0,0,k)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}if(c[k>>2]|0)e=ht(c[g>>2]|0,c[h>>2]|0)|0;else e=1;c[j>>2]=e;do if(c[j>>2]|0){e=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2){k=Dr(e,0)|0;c[l>>2]=k;if(k)break;Er(c[g>>2]|0,0);c[l>>2]=264;break}b=Ss(e,0,1)|0;c[l>>2]=b;if(!b){a[(c[g>>2]|0)+44>>0]=1;k=rs(c[g>>2]|0,0,k)|0;c[l>>2]=k;if(0==(k|0)?(c[j>>2]=ht(c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[l>>2]=it(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Gr(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[l>>2]=jt(53476)|0;c[f>>2]=c[l>>2];l=c[f>>2]|0;i=m;return l|0}function Vs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function Ws(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+112|0;h=H+104|0;j=H+100|0;k=H+96|0;l=H+92|0;m=H+88|0;n=H+84|0;o=H+80|0;A=H+76|0;E=H+72|0;z=H+68|0;q=H+64|0;r=H+60|0;u=H+56|0;t=H+52|0;p=H+48|0;y=H+44|0;F=H+40|0;x=H+24|0;v=H+36|0;w=H+16|0;s=H+8|0;D=H;B=H+32|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[A>>2]=0;c[z>>2]=0;c[q>>2]=0;c[r>>2]=0;c[E>>2]=Vs(c[j>>2]|0)|0;c[y>>2]=Xs(c[j>>2]|0)|0;a:do if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=Ys(c[j>>2]|0,z)|0;if(c[A>>2]|0){c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}c[u>>2]=c[(c[j>>2]|0)+52+16>>2];c[t>>2]=c[(c[j>>2]|0)+52+20>>2];c[p>>2]=1;while(1){if((c[p>>2]|0)>=5)break;c[F>>2]=c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2];do if((c[u>>2]|0)>>>0>(c[F>>2]|0)>>>0){c[A>>2]=Ts(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3+(c[p>>2]|0)|0,1)|0;if(!(c[A>>2]|0)){c[(c[y>>2]|0)+4+(c[p>>2]<<2)>>2]=(c[p>>2]|0)==1?c[u>>2]|0:-1;Gr(c[j>>2]|0,3+(c[p>>2]|0)|0,1);break}if((c[A>>2]|0)!=5)break a;c[u>>2]=c[F>>2];c[l>>2]=0}while(0);c[p>>2]=(c[p>>2]|0)+1}if((c[c[y>>2]>>2]|0)>>>0<(c[u>>2]|0)>>>0?(G=Ts(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,3,1)|0,c[A>>2]=G,(G|0)==0):0){c[v>>2]=c[c[y>>2]>>2];c[(c[y>>2]|0)+32>>2]=c[u>>2];if(c[n>>2]|0)c[A>>2]=tr(c[(c[j>>2]|0)+8>>2]|0,c[n>>2]|0)|0;if(((c[A>>2]|0)==0?(g=c[E>>2]|0,g=AR(c[t>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=w,c[G>>2]=g,c[G+4>>2]=C,c[A>>2]=Vi(c[(c[j>>2]|0)+4>>2]|0,x)|0,(c[A>>2]|0)==0):0)?(g=x,d=c[g+4>>2]|0,G=w,F=c[G+4>>2]|0,(d|0)<(F|0)|((d|0)==(F|0)?(c[g>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Os(c[(c[j>>2]|0)+4>>2]|0,5,w);b:while(1){if(c[A>>2]|0)break;while(1){if(Zs(c[z>>2]|0,q,r)|0)break b;if((c[r>>2]|0)>>>0<=(c[v>>2]|0)>>>0)continue b;if((c[r>>2]|0)>>>0>(c[u>>2]|0)>>>0)continue b;if((c[q>>2]|0)>>>0>(c[t>>2]|0)>>>0)continue b;g=(c[E>>2]|0)+24|0;g=AR((c[r>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;g=pR(32,0,g|0,C|0)|0;g=pR(g|0,C|0,24,0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=$r(c[(c[j>>2]|0)+8>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[A>>2]|0)break b;g=c[E>>2]|0;g=AR((c[q>>2]|0)-1|0,0,g|0,((g|0)<0)<<31>>31|0)|0;G=s;c[G>>2]=g;c[G+4>>2]=C;G=s;c[A>>2]=Hg(c[(c[j>>2]|0)+4>>2]|0,c[o>>2]|0,c[E>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[A>>2]|0)==0&(c[A>>2]|0)==0))break b}}if(!(c[A>>2]|0)){G=c[u>>2]|0;if((G|0)==(c[(ys(c[j>>2]|0)|0)+16>>2]|0)?(g=c[E>>2]|0,g=AR(c[(c[j>>2]|0)+52+20>>2]|0,0,g|0,((g|0)<0)<<31>>31|0)|0,G=D,c[G>>2]=g,c[G+4>>2]=C,G=D,c[A>>2]=sr(c[(c[j>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[A>>2]|0)==0&(c[n>>2]|0)!=0):0)c[A>>2]=tr(c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0)|0;if(!(c[A>>2]|0))c[c[y>>2]>>2]=c[u>>2]}Gr(c[j>>2]|0,3,1)}if((c[A>>2]|0)==5){c[A>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[A>>2]|0)==0&(c[k>>2]|0)!=0:0){if((c[c[y>>2]>>2]|0)>>>0<(c[(c[j>>2]|0)+52+16>>2]|0)>>>0){c[A>>2]=5;break}if((c[k>>2]|0)>=2?(Sd(4,B),c[A>>2]=Ts(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0,4,4)|0,(c[A>>2]|0)==0):0){if((c[k>>2]|0)==3){_s(c[j>>2]|0,c[B>>2]|0);c[A>>2]=sr(c[(c[j>>2]|0)+8>>2]|0,0,0)|0}Gr(c[j>>2]|0,4,4)}}while(0);$s(c[z>>2]|0);c[h>>2]=c[A>>2];G=c[h>>2]|0;i=H;return G|0}function Xs(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Ys(a,d){a=a|0;d=d|0;var 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;v=i;i=i+64|0;e=v+60|0;f=v+56|0;g=v+52|0;t=v+48|0;s=v+44|0;n=v+40|0;q=v+36|0;m=v+32|0;l=v+28|0;u=v+24|0;h=v+20|0;o=v+16|0;k=v+12|0;p=v+8|0;r=v+4|0;j=v;c[f>>2]=a;c[g>>2]=d;c[u>>2]=0;c[n>>2]=c[(c[f>>2]|0)+52+16>>2];c[s>>2]=(ps(c[n>>2]|0)|0)+1;c[q>>2]=28+(((c[s>>2]|0)-1|0)*20|0)+(c[n>>2]<<1);d=c[q>>2]|0;c[t>>2]=Jd(d,((d|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[e>>2]=7;u=c[e>>2]|0;i=v;return u|0}tR(c[t>>2]|0,0,c[q>>2]|0)|0;c[(c[t>>2]|0)+4>>2]=c[s>>2];c[l>>2]=Jd(((c[n>>2]|0)>>>0>4096?4096:c[n>>2]|0)<<1,0)|0;if(!(c[l>>2]|0))c[u>>2]=7;c[m>>2]=0;while(1){if(c[u>>2]|0)break;if((c[m>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=qs(c[f>>2]|0,c[m>>2]|0,h,k,o)|0;if(!(c[u>>2]|0)){c[k>>2]=(c[k>>2]|0)+4;if(((c[m>>2]|0)+1|0)==(c[s>>2]|0))c[r>>2]=(c[n>>2]|0)-(c[o>>2]|0);else c[r>>2]=((c[h>>2]|0)-(c[k>>2]|0)|0)/4|0;c[j>>2]=(c[t>>2]|0)+8+((c[(c[t>>2]|0)+4>>2]|0)*20|0)+(c[o>>2]<<1);c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break;b[(c[j>>2]|0)+(c[p>>2]<<1)>>1]=c[p>>2];c[p>>2]=(c[p>>2]|0)+1}ft(c[k>>2]|0,c[l>>2]|0,c[j>>2]|0,r);c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+16>>2]=c[o>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+12>>2]=c[r>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+4>>2]=c[j>>2];c[(c[t>>2]|0)+8+((c[m>>2]|0)*20|0)+8>>2]=c[k>>2]}c[m>>2]=(c[m>>2]|0)+1}Kd(c[l>>2]|0);if(c[u>>2]|0)$s(c[t>>2]|0);c[c[g>>2]>>2]=c[t>>2];c[e>>2]=c[u>>2];u=c[e>>2]|0;i=v;return u|0}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;f=p+28|0;g=p+24|0;h=p+20|0;k=p+16|0;m=p+12|0;j=p+8|0;n=p+4|0;l=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=-1;c[k>>2]=c[c[f>>2]>>2];c[j>>2]=(c[(c[f>>2]|0)+4>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;c[n>>2]=(c[f>>2]|0)+8+((c[j>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[l>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[l>>2]|0)>>>0>(c[k>>2]|0)>>>0){o=6;break}b=c[n>>2]|0;c[b>>2]=(c[b>>2]|0)+1}if((o|0)==6?(o=0,(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[m>>2]=c[l>>2];c[c[h>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[j>>2]=(c[j>>2]|0)+-1}o=c[m>>2]|0;c[c[f>>2]>>2]=o;c[c[g>>2]>>2]=o;i=p;return (c[m>>2]|0)==-1|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f+16|0;h=f+12|0;e=f+8|0;d=f+4|0;j=f;c[g>>2]=a;c[h>>2]=b;c[e>>2]=Xs(c[g>>2]|0)|0;c[j>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[j>>2]|0;at(b,1+(er(c[j>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];bt(c[g>>2]|0);c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+32>>2]=0;c[(c[e>>2]|0)+4+4>>2]=0;c[d>>2]=2;while(1){if((c[d>>2]|0)>=5)break;c[(c[e>>2]|0)+4+(c[d>>2]<<2)>>2]=-1;c[d>>2]=(c[d>>2]|0)+1}i=f;return}function $s(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function at(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];i=e;return}function bt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=ys(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;ct(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));dt(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));i=h;return}function ct(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;g=o+32|0;q=o+28|0;p=o+24|0;h=o+20|0;j=o+16|0;m=o+12|0;n=o+8|0;k=o+4|0;l=o;c[g>>2]=a;c[q>>2]=b;c[p>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[q>>2];c[l>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[h>>2]|0){c[m>>2]=c[c[h>>2]>>2];c[n>>2]=c[(c[h>>2]|0)+4>>2]}else{c[n>>2]=0;c[m>>2]=0}if(c[g>>2]|0){do{q=c[k>>2]|0;c[k>>2]=q+4;c[m>>2]=(c[m>>2]|0)+((c[q>>2]|0)+(c[n>>2]|0));q=c[k>>2]|0;c[k>>2]=q+4;c[n>>2]=(c[n>>2]|0)+((c[q>>2]|0)+(c[m>>2]|0))}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}else{do{c[m>>2]=(c[m>>2]|0)+(((c[c[k>>2]>>2]&255)<<24)+((c[c[k>>2]>>2]&65280)<<8)+((c[c[k>>2]>>2]&16711680)>>>8)+((c[c[k>>2]>>2]&-16777216)>>>24)+(c[n>>2]|0));c[n>>2]=(c[n>>2]|0)+(((c[(c[k>>2]|0)+4>>2]&255)<<24)+((c[(c[k>>2]|0)+4>>2]&65280)<<8)+((c[(c[k>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[k>>2]|0)+4>>2]&-16777216)>>>24)+(c[m>>2]|0));c[k>>2]=(c[k>>2]|0)+8}while((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0);q=c[m>>2]|0;p=c[j>>2]|0;c[p>>2]=q;p=c[n>>2]|0;q=c[j>>2]|0;q=q+4|0;c[q>>2]=p;i=o;return}}function dt(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){i=e;return}et(c[(c[b>>2]|0)+4>>2]|0);i=e;return}function et(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);i=b;return}function ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+160|0;f=s+144|0;g=s+140|0;h=s+136|0;j=s+132|0;o=s+128|0;p=s+124|0;k=s+120|0;m=s+116|0;n=s+112|0;l=s+8|0;q=s+4|0;r=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=c[c[j>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[n>>2]=0;b=l;a=b+104|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[p>>2]=1;c[k>>2]=(c[h>>2]|0)+(c[m>>2]<<1);c[n>>2]=0;while(1){if(!(c[m>>2]&1<>2]))break;c[q>>2]=l+(c[n>>2]<<3);gt(c[f>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[c[q>>2]>>2]|0,k,p,c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+1}c[l+(c[n>>2]<<3)+4>>2]=c[k>>2];c[l+(c[n>>2]<<3)>>2]=c[p>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;while(1){if((c[n>>2]|0)>>>0>=13)break;if(c[o>>2]&1<>2]){c[r>>2]=l+(c[n>>2]<<3);gt(c[f>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[c[r>>2]>>2]|0,k,p,c[g>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}c[c[j>>2]>>2]=c[p>>2];i=s;return}function gt(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+28|0;p=y+24|0;s=y+20|0;u=y+16|0;t=y+12|0;w=y+8|0;q=y+4|0;v=y+48|0;r=y;c[k>>2]=a;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[s>>2]=0;c[u>>2]=0;c[t>>2]=0;c[w>>2]=c[c[o>>2]>>2];c[q>>2]=c[c[n>>2]>>2];while(1){if((c[u>>2]|0)>=(c[w>>2]|0)?(c[s>>2]|0)>=(c[m>>2]|0):0)break;do if((c[s>>2]|0)<(c[m>>2]|0)){if((c[u>>2]|0)<(c[w>>2]|0)?(c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[k>>2]|0)+((e[(c[q>>2]|0)+(c[u>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[s>>2]|0;c[s>>2]=h+1;b[v>>1]=b[(c[l>>2]|0)+(h<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[u>>2]|0;c[u>>2]=h+1;b[v>>1]=b[(c[q>>2]|0)+(h<<1)>>1]|0}c[r>>2]=c[(c[k>>2]|0)+((e[v>>1]|0)<<2)>>2];g=b[v>>1]|0;h=c[t>>2]|0;c[t>>2]=h+1;b[(c[p>>2]|0)+(h<<1)>>1]=g;if((c[s>>2]|0)>=(c[m>>2]|0))continue;if((c[(c[k>>2]|0)+((e[(c[l>>2]|0)+(c[s>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[r>>2]|0))continue;c[s>>2]=(c[s>>2]|0)+1}c[c[n>>2]>>2]=c[l>>2];c[c[o>>2]>>2]=c[t>>2];rR(c[l>>2]|0,c[p>>2]|0,c[t>>2]<<1|0)|0;i=y;return}function ht(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+128|0;h=p+120|0;j=p+116|0;k=p+112|0;l=p+104|0;n=p+56|0;o=p+8|0;m=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=ys(c[j>>2]|0)|0;f=n;b=c[m>>2]|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));dt(c[j>>2]|0);f=o;b=(c[m>>2]|0)+48|0;g=f+48|0;do{a[f>>0]=a[b>>0]|0;f=f+1|0;b=b+1|0}while((f|0)<(g|0));if(EQ(n,o,48)|0){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}if(!(d[n+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}ct(1,n,40,0,l);if((c[l>>2]|0)==(c[n+40>>2]|0)?(c[l+4>>2]|0)==(c[n+40+4>>2]|0):0){if(EQ((c[j>>2]|0)+52|0,n,48)|0){c[c[k>>2]>>2]=1;f=(c[j>>2]|0)+52|0;b=n;g=f+48|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(g|0));c[(c[j>>2]|0)+36>>2]=((e[(c[j>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[j>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;i=p;return o|0}function it(e){e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+144|0;B=E+16|0;g=E+96|0;h=E+92|0;y=E+88|0;u=E+8|0;m=E+80|0;p=E+76|0;t=E+72|0;j=E+104|0;l=E+68|0;z=E+64|0;k=E+60|0;o=E+56|0;q=E;A=E+52|0;s=E+48|0;D=E+44|0;r=E+40|0;x=E+36|0;v=E+32|0;w=E+28|0;n=E+24|0;c[h>>2]=e;c[m>>2]=0;c[m+4>>2]=0;c[p>>2]=1+(d[(c[h>>2]|0)+45>>0]|0);c[t>>2]=8-(c[p>>2]|0);c[y>>2]=Ss(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0)|0;if(c[y>>2]|0){c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}e=(c[h>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[y>>2]=Vi(c[(c[h>>2]|0)+8>>2]|0,u)|0;a:do if(!(c[y>>2]|0)){f=u;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[l>>2]=0;c[y>>2]=$r(c[(c[h>>2]|0)+8>>2]|0,j,32,0,0)|0;if(c[y>>2]|0)break a;c[s>>2]=er(j)|0;c[A>>2]=er(j+8|0)|0;if((((c[s>>2]&-2|0)==931071618?!(((c[A>>2]|0)>65536?1:(c[A>>2]&(c[A>>2]|0)-1|0)!=0)|(c[A>>2]|0)<512):0)?(a[(c[h>>2]|0)+52+13>>0]=c[s>>2]&1,c[(c[h>>2]|0)+36>>2]=c[A>>2],s=er(j+12|0)|0,c[(c[h>>2]|0)+112>>2]=s,s=(c[h>>2]|0)+52+32|0,f=j+16|0,a[s>>0]=a[f>>0]|0,a[s+1>>0]=a[f+1>>0]|0,a[s+2>>0]=a[f+2>>0]|0,a[s+3>>0]=a[f+3>>0]|0,a[s+4>>0]=a[f+4>>0]|0,a[s+5>>0]=a[f+5>>0]|0,a[s+6>>0]=a[f+6>>0]|0,a[s+7>>0]=a[f+7>>0]|0,ct((d[(c[h>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1,j,24,0,(c[h>>2]|0)+52+24|0),s=c[(c[h>>2]|0)+52+24>>2]|0,(s|0)==(er(j+24|0)|0)):0)?(s=c[(c[h>>2]|0)+52+24+4>>2]|0,(s|0)==(er(j+28|0)|0)):0){c[D>>2]=er(j+4|0)|0;if((c[D>>2]|0)!=3007e3){c[y>>2]=jt(52530)|0;break}c[z>>2]=(c[A>>2]|0)+24;D=c[z>>2]|0;c[l>>2]=Jd(D,((D|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[y>>2]=7;break a}c[k>>2]=(c[l>>2]|0)+24;c[o>>2]=0;D=q;c[D>>2]=32;c[D+4>>2]=0;while(1){f=q;s=c[z>>2]|0;s=pR(c[f>>2]|0,c[f+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;f=C;D=u;j=c[D+4>>2]|0;if(!((f|0)<(j|0)|((f|0)==(j|0)?s>>>0<=(c[D>>2]|0)>>>0:0)))break;c[o>>2]=(c[o>>2]|0)+1;D=q;c[y>>2]=$r(c[(c[h>>2]|0)+8>>2]|0,c[l>>2]|0,c[z>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0;if(c[y>>2]|0)break;c[r>>2]=kt(c[h>>2]|0,x,v,c[k>>2]|0,c[l>>2]|0)|0;if(!(c[r>>2]|0))break;c[y>>2]=lt(c[h>>2]|0,c[o>>2]|0,c[x>>2]|0)|0;if(c[y>>2]|0)break;if(c[v>>2]|0){c[(c[h>>2]|0)+52+16>>2]=c[o>>2];c[(c[h>>2]|0)+52+20>>2]=c[v>>2];b[(c[h>>2]|0)+52+14>>1]=c[A>>2]&65280|c[A>>2]>>16;c[m>>2]=c[(c[h>>2]|0)+52+24>>2];c[m+4>>2]=c[(c[h>>2]|0)+52+24+4>>2]}s=c[z>>2]|0;D=q;s=pR(c[D>>2]|0,c[D+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;D=q;c[D>>2]=s;c[D+4>>2]=C}Kd(c[l>>2]|0)}}while(0);if(!(c[y>>2]|0)){c[(c[h>>2]|0)+52+24>>2]=c[m>>2];c[(c[h>>2]|0)+52+24+4>>2]=c[m+4>>2];bt(c[h>>2]|0);c[w>>2]=Xs(c[h>>2]|0)|0;c[c[w>>2]>>2]=0;c[(c[w>>2]|0)+32>>2]=c[(c[h>>2]|0)+52+16>>2];c[(c[w>>2]|0)+4>>2]=0;c[n>>2]=1;while(1){if((c[n>>2]|0)>=5)break;c[(c[w>>2]|0)+4+(c[n>>2]<<2)>>2]=-1;c[n>>2]=(c[n>>2]|0)+1}if(c[(c[h>>2]|0)+52+16>>2]|0)c[(c[w>>2]|0)+4+4>>2]=c[(c[h>>2]|0)+52+16>>2];if(c[(c[h>>2]|0)+52+20>>2]|0){D=c[(c[h>>2]|0)+108>>2]|0;c[B>>2]=c[(c[h>>2]|0)+52+16>>2];c[B+4>>2]=D;Rd(283,26560,B)}}}while(0);Gr(c[h>>2]|0,c[p>>2]|0,c[t>>2]|0);c[g>>2]=c[y>>2];D=c[g>>2]|0;i=E;return D|0}function jt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(14,c[d>>2]|0,26543)|0;i=b;return a|0}function kt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;q=s+8|0;p=s+4|0;r=s;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=(c[k>>2]|0)+52+24;if(EQ((c[k>>2]|0)+52+32|0,(c[o>>2]|0)+8|0,8)|0){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[r>>2]=er(c[o>>2]|0)|0;if(!(c[r>>2]|0)){c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}c[q>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ct(c[q>>2]|0,c[o>>2]|0,8,c[p>>2]|0,c[p>>2]|0);ct(c[q>>2]|0,c[n>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[p>>2]|0,c[p>>2]|0);f=c[c[p>>2]>>2]|0;if((f|0)==(er((c[o>>2]|0)+16|0)|0)?(f=c[(c[p>>2]|0)+4>>2]|0,(f|0)==(er((c[o>>2]|0)+20|0)|0)):0){c[c[l>>2]>>2]=c[r>>2];f=er((c[o>>2]|0)+4|0)|0;c[c[m>>2]>>2]=f;c[j>>2]=1;f=c[j>>2]|0;i=s;return f|0}c[j>>2]=0;f=c[j>>2]|0;i=s;return f|0}function lt(a,d,e){a=a|0;d=d|0;e=e|0;var 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;t=i;i=i+48|0;f=t+44|0;g=t+40|0;h=t+36|0;j=t+32|0;r=t+28|0;n=t+24|0;l=t+20|0;k=t+16|0;m=t+12|0;o=t+8|0;q=t+4|0;p=t;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=0;c[k>>2]=0;a=c[g>>2]|0;c[r>>2]=qs(a,ps(c[h>>2]|0)|0,k,l,n)|0;do if(!(c[r>>2]|0)){c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);if((c[o>>2]|0)==1){c[p>>2]=(c[k>>2]|0)+16384-((c[l>>2]|0)+4);tR((c[l>>2]|0)+4|0,0,c[p>>2]|0)|0}if(c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)os(c[g>>2]|0);c[q>>2]=c[o>>2];c[m>>2]=Js(c[j>>2]|0)|0;while(1){if(!(b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]|0)){s=11;break}a=c[q>>2]|0;c[q>>2]=a+-1;if(!a)break;c[m>>2]=Ks(c[m>>2]|0)|0}if((s|0)==11){c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]=c[j>>2];b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=c[o>>2];break}c[f>>2]=Oj(52399)|0;s=c[f>>2]|0;i=t;return s|0}while(0);c[f>>2]=c[r>>2];s=c[f>>2]|0;i=t;return s|0}function mt(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if(((c[b>>2]|0)!=0?(c[c[b>>2]>>2]|0)!=0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=Yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))c[b>>2]=-1;else c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=c[e>>2];e=c[d>>2]|0;i=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;i=f;return e|0}function nt(){return 48}function ot(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){a=72;i=d;return a|0}a=c[(c[b>>2]|0)+4>>2]|0;i=d;return a|0}function pt(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=a;c[g>>2]=b;c[h>>2]=c[l>>2];c[j>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}do if(d[(c[h>>2]|0)+21>>0]|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}while(0);c[(c[g>>2]|0)+12>>2]=0;l=(xr(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(l){c[j>>2]=rt(a)|0;if(!(c[j>>2]|0))c[j>>2]=st(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(((e[a+24>>1]|0)&8|0)==0?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[j>>2]=tt(c[h>>2]|0,1)|0;if(!(c[j>>2]|0))c[j>>2]=ut(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[j>>2]|0))ej(c[g>>2]|0);c[f>>2]=kr(c[h>>2]|0,c[j>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}function qt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;e=c[o>>2]|0;h=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+32>>0]=c[l>>2];a[(c[o>>2]|0)+33>>0]=2;c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+40>>2]=c[n>>2];c[(c[o>>2]|0)+16>>2]=100;c[(c[o>>2]|0)+20>>2]=1;o=Yi(c[o>>2]|0,c[j>>2]|0)|0;i=p;return o|0}function rt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(Jt(c[d>>2]|0)|0){c[b>>2]=Kt(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function st(a,b,e,f){a=a|0;b=b|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;o=p+12|0;l=p+8|0;m=p+4|0;n=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;a:do if(c[k>>2]|0){c[n>>2]=h;c[l>>2]=0;c[m>>2]=c[h>>2];while(1){a=c[m>>2]|0;c[c[n>>2]>>2]=a;if(!a)break a;if((c[(c[m>>2]|0)+20>>2]|0)>>>0<=(c[j>>2]|0)>>>0){c[n>>2]=(c[m>>2]|0)+12;c[l>>2]=(c[l>>2]|0)+1}c[m>>2]=c[(c[m>>2]|0)+12>>2]}}else c[l>>2]=1;while(0);n=(c[g>>2]|0)+192+8|0;c[n>>2]=(c[n>>2]|0)+(c[l>>2]|0);if((c[(c[h>>2]|0)+20>>2]|0)==1)wt(c[h>>2]|0);c[o>>2]=Ct(c[(c[g>>2]|0)+216>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,d[(c[g>>2]|0)+11>>0]|0)|0;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if(!(c[(c[g>>2]|0)+96>>2]|0)){o=c[o>>2]|0;i=p;return o|0}c[m>>2]=c[h>>2];while(1){if(!(c[m>>2]|0))break;ds(c[(c[g>>2]|0)+96>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+4>>2]|0);c[m>>2]=c[(c[m>>2]|0)+12>>2]}o=c[o>>2]|0;i=p;return o|0}function tt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o+24|0;g=o+20|0;h=o+16|0;m=o+12|0;k=o+8|0;l=o;j=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=xt(c[g>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if((c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[k>>2]=Yr(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[k>>2]&512)){a[n>>0]=a[26509]|0;a[n+1>>0]=a[26510]|0;a[n+2>>0]=a[26511]|0;a[n+3>>0]=a[26512]|0;a[n+4>>0]=a[26513]|0;a[n+5>>0]=a[26514]|0;a[n+6>>0]=a[26515]|0;a[n+7>>0]=a[26516]|0;at(n+8|0,c[(c[g>>2]|0)+48>>2]|0);e=ks(c[g>>2]|0)|0;b=l;c[b>>2]=e;c[b+4>>2]=C;b=l;c[m>>2]=$r(c[(c[g>>2]|0)+68>>2]|0,j,8,c[b>>2]|0,c[b+4>>2]|0)|0;if((c[m>>2]|0)==0?0==(EQ(j,26509,8)|0):0){b=l;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,26630,1,c[b>>2]|0,c[b+4>>2]|0)|0}if((c[m>>2]|0)!=0&(c[m>>2]|0)!=522){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}if(((d[(c[g>>2]|0)+8>>0]|0)!=0?0==(c[k>>2]&1024|0):0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+88|0;c[m>>2]=Hg(c[(c[g>>2]|0)+68>>2]|0,n,12,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}}if(0==(c[k>>2]&1024|0)?(c[m>>2]=tr(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,(c[m>>2]|0)!=0):0){c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}e=(c[g>>2]|0)+80|0;b=c[e+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[e>>2];c[n+4>>2]=b;if(!(c[h>>2]|0))break;if(c[k>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[m>>2]=yt(c[g>>2]|0)|0;if(!(c[m>>2]|0))break;c[f>>2]=c[m>>2];n=c[f>>2]|0;i=o;return n|0}b=(c[g>>2]|0)+80|0;m=c[b+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[b>>2];c[n+4>>2]=m}while(0);zt(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;i=o;return n|0}function ut(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+32|0;h=n+28|0;m=n+24|0;f=n+8|0;l=n+20|0;j=n;k=n+16|0;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[m>>2]=vt(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[m>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;d=c[(c[g>>2]|0)+160>>2]|0;d=AR(d|0,((d|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;b=f;c[b>>2]=d;c[b+4>>2]=C;Os(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[m>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[l>>2]=c[(c[h>>2]|0)+20>>2];if((c[l>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&32|0):0){b=c[(c[g>>2]|0)+160>>2]|0;b=AR((c[l>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=b;c[f+4>>2]=C;if((c[(c[h>>2]|0)+20>>2]|0)==1)wt(c[h>>2]|0);c[k>>2]=c[(c[h>>2]|0)+4>>2];f=j;c[m>>2]=Hg(c[(c[g>>2]|0)+64>>2]|0,c[k>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[l>>2]|0)==1){d=(c[g>>2]|0)+112|0;b=(c[k>>2]|0)+24|0;f=d+16|0;do{a[d>>0]=a[b>>0]|0;d=d+1|0;b=b+1|0}while((d|0)<(f|0))}if((c[l>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[l>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;ds(c[(c[g>>2]|0)+96>>2]|0,c[l>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}i=n;return c[m>>2]|0}function vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Pr(c[c[j>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return c[e>>2]|0}function wt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(er((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;at((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);at((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);at((c[(c[d>>2]|0)+4>>2]|0)+96|0,3012e3);i=b;return}function xt(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(xr(c[b>>2]|0)|0):0)c[d>>2]=At(c[b>>2]|0,4)|0;i=e;return c[d>>2]|0}function yt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;f=l+20|0;k=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;e=l;c[f>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[f>>2]|0)+208>>2];c[g>>2]=c[(c[f>>2]|0)+160>>2];if((c[g>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[g>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}b=ks(c[f>>2]|0)|0;m=C;n=(c[f>>2]|0)+80|0;c[n>>2]=b;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=b;c[n+4>>2]=m;if(((d[(c[f>>2]|0)+7>>0]|0|0)==0?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?((Yr(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0)==0:0){e=c[j>>2]|0;b=e+12|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(b|0))}else{n=c[j>>2]|0;a[n>>0]=a[26509]|0;a[n+1>>0]=a[26510]|0;a[n+2>>0]=a[26511]|0;a[n+3>>0]=a[26512]|0;a[n+4>>0]=a[26513]|0;a[n+5>>0]=a[26514]|0;a[n+6>>0]=a[26515]|0;a[n+7>>0]=a[26516]|0;at((c[j>>2]|0)+8|0,-1)}Sd(4,(c[f>>2]|0)+52|0);at((c[j>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);at((c[j>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);at((c[j>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);at((c[j>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);tR((c[j>>2]|0)+28|0,0,(c[g>>2]|0)-28|0)|0;c[h>>2]=0;while(1){if(c[k>>2]|0){e=17;break}if((c[h>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){e=17;break}n=(c[f>>2]|0)+80|0;c[k>>2]=Hg(c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,c[g>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=pR(c[m>>2]|0,c[m+4>>2]|0,c[g>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0)}if((e|0)==17){i=l;return c[k>>2]|0}return 0}function zt(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];i=g;return}function At(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=Bt(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){d=4;break}if(!(Tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){d=4;break}}if((d|0)==4){i=g;return c[f>>2]|0}return 0}function Bt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;i=j;return h|0}if(d[(c[f>>2]|0)+14>>0]|0)e=0;else e=Ms(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=e;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;i=j;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;i=j;return h|0}function Ct(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=i;i=i+176|0;u=M+128|0;v=M+124|0;w=M+120|0;x=M+116|0;y=M+112|0;z=M+108|0;A=M+104|0;H=M+100|0;B=M+96|0;F=M+92|0;G=M+88|0;E=M+84|0;K=M+80|0;D=M+40|0;L=M+16|0;p=M+76|0;o=M+72|0;n=M+136|0;m=M+64|0;s=M+60|0;r=M+56|0;q=M+8|0;t=M+52|0;I=M+48|0;J=M;c[v>>2]=f;c[w>>2]=g;c[x>>2]=h;c[y>>2]=j;c[z>>2]=k;c[A>>2]=l;c[G>>2]=0;c[E>>2]=0;c[p>>2]=0;c[o>>2]=ys(c[v>>2]|0)|0;if(EQ((c[v>>2]|0)+52|0,c[o>>2]|0,48)|0)c[p>>2]=(c[(c[o>>2]|0)+16>>2]|0)+1;g=Dt(c[v>>2]|0)|0;c[H>>2]=g;if(g){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];if(!(c[B>>2]|0)){at(n,931071618|(a[960]|0)==0);at(n+4|0,3007e3);at(n+8|0,c[w>>2]|0);at(n+12|0,c[(c[v>>2]|0)+112>>2]|0);if(!(c[(c[v>>2]|0)+112>>2]|0))Sd(8,(c[v>>2]|0)+52+32|0);g=n+16|0;l=(c[v>>2]|0)+52+32|0;a[g>>0]=a[l>>0]|0;a[g+1>>0]=a[l+1>>0]|0;a[g+2>>0]=a[l+2>>0]|0;a[g+3>>0]=a[l+3>>0]|0;a[g+4>>0]=a[l+4>>0]|0;a[g+5>>0]=a[l+5>>0]|0;a[g+6>>0]=a[l+6>>0]|0;a[g+7>>0]=a[l+7>>0]|0;ct(1,n,24,0,m);at(n+24|0,c[m>>2]|0);at(n+28|0,c[m+4>>2]|0);c[(c[v>>2]|0)+36>>2]=c[w>>2];a[(c[v>>2]|0)+52+13>>0]=(a[960]|0)==0;c[(c[v>>2]|0)+52+24>>2]=c[m>>2];c[(c[v>>2]|0)+52+24+4>>2]=c[m+4>>2];a[(c[v>>2]|0)+47>>0]=1;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[H>>2]|0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}if(((c[A>>2]|0)!=0?(d[(c[v>>2]|0)+48>>0]|0)!=0:0)?(c[H>>2]=tr(c[(c[v>>2]|0)+8>>2]|0,c[A>>2]&19)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}}c[L>>2]=c[v>>2];c[L+4>>2]=c[(c[v>>2]|0)+8>>2];l=L+8|0;c[l>>2]=0;c[l+4>>2]=0;c[L+16>>2]=c[A>>2];c[L+20>>2]=c[w>>2];l=(c[w>>2]|0)+24|0;l=AR((c[B>>2]|0)+1-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=pR(32,0,l|0,C|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;c[K>>2]=(c[w>>2]|0)+24;c[F>>2]=c[x>>2];while(1){if(!(c[F>>2]|0)){m=30;break}if(((c[p>>2]|0)!=0?((c[z>>2]|0)==0?1:(c[(c[F>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,Cs(c[v>>2]|0,c[(c[F>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){l=(c[w>>2]|0)+24|0;l=AR((c[r>>2]|0)-1|0,0,l|0,((l|0)<0)<<31>>31|0)|0;l=pR(32,0,l|0,C|0)|0;l=pR(l|0,C|0,24,0)|0;g=q;c[g>>2]=l;c[g+4>>2]=C;if(!((c[(c[v>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[v>>2]|0)+104>>2]|0)>>>0:0))c[(c[v>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[F>>2]|0)+4>>2];g=q;c[H>>2]=Hg(c[(c[v>>2]|0)+8>>2]|0,c[t>>2]|0,c[w>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=22;break}g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]&-129}else{c[B>>2]=(c[B>>2]|0)+1;if(c[z>>2]|0)m=(c[(c[F>>2]|0)+12>>2]|0)==0?c[y>>2]|0:0;else m=0;c[s>>2]=m;g=D;c[H>>2]=Et(L,c[F>>2]|0,c[s>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(c[H>>2]|0){m=27;break}c[G>>2]=c[F>>2];l=c[K>>2]|0;g=D;l=pR(c[g>>2]|0,c[g+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;g=D;c[g>>2]=l;c[g+4>>2]=C;g=(c[F>>2]|0)+24|0;b[g>>1]=e[g>>1]|128}c[F>>2]=c[(c[F>>2]|0)+12>>2]}if((m|0)==22){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==27){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}else if((m|0)==30){if(((c[z>>2]|0)!=0?(c[(c[v>>2]|0)+104>>2]|0)!=0:0)?(c[H>>2]=Ft(c[v>>2]|0,c[B>>2]|0)|0,(c[H>>2]|0)!=0):0){c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}a:do if((c[z>>2]|0)!=0?(c[A>>2]&32|0)!=0:0){if(!(a[(c[v>>2]|0)+49>>0]|0)){c[H>>2]=tr(c[L+4>>2]|0,c[A>>2]&19)|0;break}c[I>>2]=Zr(c[(c[v>>2]|0)+8>>2]|0)|0;t=D;A=c[I>>2]|0;A=pR(c[t>>2]|0,c[t+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;A=oR(A|0,C|0,1,0)|0;t=c[I>>2]|0;t=yR(A|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;A=c[I>>2]|0;A=AR(t|0,C|0,A|0,((A|0)<0)<<31>>31|0)|0;I=L+8|0;c[I>>2]=A;c[I+4>>2]=C;while(1){A=D;s=c[A+4>>2]|0;I=L+8|0;t=c[I+4>>2]|0;if(!((s|0)<(t|0)|((s|0)==(t|0)?(c[A>>2]|0)>>>0<(c[I>>2]|0)>>>0:0)))break a;I=D;c[H>>2]=Et(L,c[G>>2]|0,c[y>>2]|0,c[I>>2]|0,c[I+4>>2]|0)|0;if(c[H>>2]|0)break;A=c[K>>2]|0;I=D;A=pR(c[I>>2]|0,c[I+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;I=D;c[I>>2]=A;c[I+4>>2]=C;c[E>>2]=(c[E>>2]|0)+1}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}while(0);if(((c[z>>2]|0)!=0?(d[(c[v>>2]|0)+47>>0]|0)!=0:0)?(L=(c[v>>2]|0)+16|0,K=c[L+4>>2]|0,(K|0)>0|(K|0)==0&(c[L>>2]|0)>>>0>=0):0){L=(c[v>>2]|0)+16|0;D=c[L+4>>2]|0;K=J;c[K>>2]=c[L>>2];c[K+4>>2]=D;K=(c[w>>2]|0)+24|0;K=AR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=pR(32,0,K|0,C|0)|0;D=C;L=(c[v>>2]|0)+16|0;I=c[L+4>>2]|0;if((D|0)>(I|0)|((D|0)==(I|0)?K>>>0>(c[L>>2]|0)>>>0:0)){K=(c[w>>2]|0)+24|0;K=AR((c[B>>2]|0)+(c[E>>2]|0)+1-1|0,0,K|0,((K|0)<0)<<31>>31|0)|0;K=pR(32,0,K|0,C|0)|0;L=J;c[L>>2]=K;c[L+4>>2]=C}L=J;Ps(c[v>>2]|0,c[L>>2]|0,c[L+4>>2]|0);a[(c[v>>2]|0)+47>>0]=0}c[B>>2]=c[(c[v>>2]|0)+52+16>>2];c[F>>2]=c[x>>2];while(1){if(!((c[F>>2]|0)!=0?(c[H>>2]|0)==0:0))break;if(e[(c[F>>2]|0)+24>>1]&128){c[B>>2]=(c[B>>2]|0)+1;c[H>>2]=lt(c[v>>2]|0,c[B>>2]|0,c[(c[F>>2]|0)+20>>2]|0)|0}c[F>>2]=c[(c[F>>2]|0)+12>>2]}while(1){if(!((c[H>>2]|0)==0?(c[E>>2]|0)>0:0))break;c[B>>2]=(c[B>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+-1;c[H>>2]=lt(c[v>>2]|0,c[B>>2]|0,c[(c[G>>2]|0)+20>>2]|0)|0}if(!(c[H>>2]|0)){b[(c[v>>2]|0)+52+14>>1]=c[w>>2]&65280|c[w>>2]>>16;c[(c[v>>2]|0)+52+16>>2]=c[B>>2];if(c[z>>2]|0){L=(c[v>>2]|0)+52+8|0;c[L>>2]=(c[L>>2]|0)+1;c[(c[v>>2]|0)+52+20>>2]=c[y>>2]}if(c[z>>2]|0){bt(c[v>>2]|0);c[(c[v>>2]|0)+12>>2]=c[B>>2]}}c[u>>2]=c[H>>2];L=c[u>>2]|0;i=M;return L|0}return 0}function Dt(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;f=l+12|0;h=l+8|0;k=l+4|0;g=l;c[e>>2]=a;c[j>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Xs(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Sd(4,k);c[j>>2]=Ss(c[e>>2]|0,4,4)|0;if(!(c[j>>2]|0)){_s(c[e>>2]|0,c[k>>2]|0);Gr(c[e>>2]|0,4,4);break}if((c[j>>2]|0)!=5){c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}}while(0);Er(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[f>>2]=0;do{a=c[e>>2]|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[j>>2]=It(a,g,1,k)|0}while((c[j>>2]|0)==-1)}c[d>>2]=c[j>>2];k=c[d>>2]|0;i=l;return k|0}function Et(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;g=m+28|0;h=m+24|0;p=m+20|0;o=m+16|0;j=m;l=m+12|0;k=m+8|0;n=m+32|0;c[h>>2]=a;c[p>>2]=b;c[o>>2]=d;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=c[(c[p>>2]|0)+4>>2];Gt(c[c[h>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[k>>2]|0,n);b=j;c[l>>2]=Ht(c[h>>2]|0,n,24,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}else{b=c[h>>2]|0;n=c[k>>2]|0;o=c[(c[h>>2]|0)+20>>2]|0;p=j;p=pR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[l>>2]=Ht(b,n,o,p,C)|0;c[g>>2]=c[l>>2];p=c[g>>2]|0;i=m;return p|0}return 0}function Ft(a,b){a=a|0;b=b|0;var 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;q=i;i=i+80|0;d=q+48|0;e=q+44|0;f=q+40|0;p=q+36|0;o=q+32|0;g=q+28|0;h=q+56|0;m=q+24|0;j=q+8|0;k=q;l=q+20|0;n=q+16|0;c[e>>2]=a;c[f>>2]=b;c[p>>2]=c[(c[e>>2]|0)+36>>2];c[o>>2]=0;c[g>>2]=Id((c[p>>2]|0)+24|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;p=c[d>>2]|0;i=q;return p|0}if((c[(c[e>>2]|0)+104>>2]|0)==1){a=j;c[a>>2]=24;c[a+4>>2]=0}else{b=(c[p>>2]|0)+24|0;b=AR((c[(c[e>>2]|0)+104>>2]|0)-1-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(32,0,b|0,C|0)|0;b=pR(b|0,C|0,16,0)|0;a=j;c[a>>2]=b;c[a+4>>2]=C}a=j;c[o>>2]=$r(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,8,c[a>>2]|0,c[a+4>>2]|0)|0;a=er(c[g>>2]|0)|0;c[(c[e>>2]|0)+52+24>>2]=a;a=er((c[g>>2]|0)+4|0)|0;c[(c[e>>2]|0)+52+24+4>>2]=a;c[m>>2]=c[(c[e>>2]|0)+104>>2];c[(c[e>>2]|0)+104>>2]=0;while(1){if(c[o>>2]|0)break;if((c[m>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;b=(c[p>>2]|0)+24|0;b=AR((c[m>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(32,0,b|0,C|0)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=k;c[o>>2]=$r(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,(c[p>>2]|0)+24|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[o>>2]|0)){c[l>>2]=er(c[g>>2]|0)|0;c[n>>2]=er((c[g>>2]|0)+4|0)|0;Gt(c[e>>2]|0,c[l>>2]|0,c[n>>2]|0,(c[g>>2]|0)+24|0,h);a=k;c[o>>2]=Hg(c[(c[e>>2]|0)+8>>2]|0,h,24,c[a>>2]|0,c[a+4>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}Kd(c[g>>2]|0);c[d>>2]=c[o>>2];p=c[d>>2]|0;i=q;return p|0}function Gt(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+32|0;j=o+24|0;q=o+20|0;p=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=b;c[q>>2]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=h;c[m>>2]=(c[j>>2]|0)+52+24;at(c[l>>2]|0,c[q>>2]|0);at((c[l>>2]|0)+4|0,c[p>>2]|0);g=(c[l>>2]|0)+8|0;if(!(c[(c[j>>2]|0)+104>>2]|0)){q=(c[j>>2]|0)+52+32|0;a[g>>0]=a[q>>0]|0;a[g+1>>0]=a[q+1>>0]|0;a[g+2>>0]=a[q+2>>0]|0;a[g+3>>0]=a[q+3>>0]|0;a[g+4>>0]=a[q+4>>0]|0;a[g+5>>0]=a[q+5>>0]|0;a[g+6>>0]=a[q+6>>0]|0;a[g+7>>0]=a[q+7>>0]|0;c[n>>2]=(d[(c[j>>2]|0)+52+13>>0]|0)==((a[960]|0)==0|0)&1;ct(c[n>>2]|0,c[l>>2]|0,8,c[m>>2]|0,c[m>>2]|0);ct(c[n>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[m>>2]|0,c[m>>2]|0);at((c[l>>2]|0)+16|0,c[c[m>>2]>>2]|0);at((c[l>>2]|0)+20|0,c[(c[m>>2]|0)+4>>2]|0);i=o;return}else{h=g+16|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(h|0));i=o;return}}function Ht(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o;n=o+12|0;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;a=l;f=c[a+4>>2]|0;b=(c[h>>2]|0)+8|0;d=c[b+4>>2]|0;if((f|0)<(d|0)|((f|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?(f=l,a=c[k>>2]|0,a=pR(c[f>>2]|0,c[f+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0,f=C,b=(c[h>>2]|0)+8|0,d=c[b+4>>2]|0,(f|0)>(d|0)|((f|0)==(d|0)?a>>>0>=(c[b>>2]|0)>>>0:0)):0){a=(c[h>>2]|0)+8|0;b=l;b=oR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[m>>2]=b;b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[n>>2]|0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}a=c[m>>2]|0;b=l;a=pR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[n>>2]=tr(c[(c[h>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+16>>2]&19)|0;if((c[k>>2]|0)==0|(c[n>>2]|0)!=0){c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}}b=l;c[n>>2]=Hg(c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[g>>2]=c[n>>2];n=c[g>>2]|0;i=o;return n|0}function It(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;v=w+48|0;h=w+44|0;j=w+40|0;k=w+36|0;l=w+32|0;r=w+28|0;p=w+24|0;o=w+20|0;m=w+16|0;s=w+12|0;n=w+8|0;q=w+4|0;t=w;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[s>>2]=0;if((c[l>>2]|0)>5){c[q>>2]=1;if((c[l>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;i=w;return v|0}if((c[l>>2]|0)>=10)c[q>>2]=(_((c[l>>2]|0)-9|0,(c[l>>2]|0)-9|0)|0)*39;ui(c[c[h>>2]>>2]|0,c[q>>2]|0)|0}if(!(c[k>>2]|0)){c[s>>2]=Us(c[h>>2]|0,c[j>>2]|0)|0;do if((c[s>>2]|0)==5){if(!(c[c[(c[h>>2]|0)+32>>2]>>2]|0)){c[s>>2]=-1;break}f=Dr(c[h>>2]|0,2)|0;c[s>>2]=f;if(!f){Er(c[h>>2]|0,2);c[s>>2]=-1;break}if((c[s>>2]|0)==5)c[s>>2]=261}while(0);if(c[s>>2]|0){c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}}c[r>>2]=Xs(c[h>>2]|0)|0;do if((c[k>>2]|0)==0?(c[c[r>>2]>>2]|0)==(c[(c[h>>2]|0)+52+16>>2]|0):0){c[s>>2]=Dr(c[h>>2]|0,3)|0;dt(c[h>>2]|0);if(c[s>>2]|0){if((c[s>>2]|0)==5)break;c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}u=ys(c[h>>2]|0)|0;u=(EQ(u,(c[h>>2]|0)+52|0,48)|0)!=0;h=c[h>>2]|0;if(u){Er(h,3);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}else{b[h+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;i=w;return v|0}}while(0);c[p>>2]=0;c[o>>2]=0;c[n>>2]=c[(c[h>>2]|0)+52+16>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break;c[t>>2]=c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0<=(c[t>>2]|0)>>>0?(c[t>>2]|0)>>>0<=(c[n>>2]|0)>>>0:0){c[p>>2]=c[t>>2];c[o>>2]=c[m>>2]}c[m>>2]=(c[m>>2]|0)+1}a:do if(((d[(c[h>>2]|0)+46>>0]|0)&2|0)==0?((c[o>>2]|0)==0?1:(c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0):0){c[m>>2]=1;while(1){if((c[m>>2]|0)>=5)break a;c[s>>2]=Ss(c[h>>2]|0,3+(c[m>>2]|0)|0,1)|0;if(!(c[s>>2]|0)){u=36;break}if((c[s>>2]|0)!=5)break;c[m>>2]=(c[m>>2]|0)+1}if((u|0)==36){u=c[n>>2]|0;c[(c[r>>2]|0)+4+(c[m>>2]<<2)>>2]=u;c[p>>2]=u;c[o>>2]=c[m>>2];Gr(c[h>>2]|0,3+(c[m>>2]|0)|0,1);break}c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}while(0);if(!(c[o>>2]|0)){c[v>>2]=(c[s>>2]|0)==5?-1:520;v=c[v>>2]|0;i=w;return v|0}c[s>>2]=Dr(c[h>>2]|0,3+(c[o>>2]|0)|0)|0;if(c[s>>2]|0){c[v>>2]=(c[s>>2]|0)==5?-1:c[s>>2]|0;v=c[v>>2]|0;i=w;return v|0}c[(c[h>>2]|0)+100>>2]=(c[c[r>>2]>>2]|0)+1;dt(c[h>>2]|0);if((c[(c[r>>2]|0)+4+(c[o>>2]<<2)>>2]|0)==(c[p>>2]|0)?(u=ys(c[h>>2]|0)|0,(EQ(u,(c[h>>2]|0)+52|0,48)|0)==0):0){b[(c[h>>2]|0)+40>>1]=c[o>>2];c[v>>2]=c[s>>2];v=c[v>>2]|0;i=w;return v|0}Er(c[h>>2]|0,3+(c[o>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;i=w;return v|0}function Jt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h+20|0;j=h+16|0;e=h+12|0;d=h+8|0;f=h+4|0;b=h;c[j>>2]=a;c[e>>2]=c[(c[j>>2]|0)+16>>2];c[f>>2]=c[(c[j>>2]|0)+20>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=(c[(c[e>>2]|0)+104>>2]|0)){b=7;break}c[d>>2]=(c[(c[e>>2]|0)+100>>2]|0)+((c[b>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[f>>2]|0)>>>0?0==(oj(c[(c[d>>2]|0)+16>>2]|0,c[f>>2]|0)|0):0){b=5;break}c[b>>2]=(c[b>>2]|0)+1}if((b|0)==5){c[g>>2]=1;j=c[g>>2]|0;i=h;return j|0}else if((b|0)==7){c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}return 0}function Kt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;b=k+24|0;j=k+20|0;h=k+16|0;f=k+12|0;e=k;g=k+8|0;c[b>>2]=a;c[j>>2]=0;c[h>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[h>>2]|0)+5>>0]|0|0)!=2?(c[j>>2]=Lt(c[h>>2]|0)|0,(c[j>>2]|0)==0):0)?(c[f>>2]=c[(c[b>>2]|0)+4>>2],l=4+(c[(c[h>>2]|0)+160>>2]|0)|0,l=AR(c[(c[h>>2]|0)+56>>2]|0,0,l|0,((l|0)<0)<<31>>31|0)|0,a=e,c[a>>2]=l,c[a+4>>2]=C,c[g>>2]=c[f>>2],a=e,c[j>>2]=Mt(c[(c[h>>2]|0)+72>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[j>>2]|0)==0):0){f=c[(c[h>>2]|0)+72>>2]|0;g=c[g>>2]|0;a=c[(c[h>>2]|0)+160>>2]|0;l=e;l=pR(c[l>>2]|0,c[l+4>>2]|0,4,0)|0;c[j>>2]=Hg(f,g,a,l,C)|0}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=(c[h>>2]|0)+56|0;c[l>>2]=(c[l>>2]|0)+1;c[j>>2]=Nt(c[h>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function Lt(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g;c[b>>2]=a;c[f>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[g+4>>2]=8222;c[e>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?(d[(c[b>>2]|0)+22>>0]|0|0)==0:0))c[e>>2]=-1;c[f>>2]=Ot(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function Mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;h=f+12|0;j=f;k=f+8|0;g=f+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;at(g,c[k>>2]|0);e=j;e=Hg(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;i=f;return e|0}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[g>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[g>>2]|0)+20>>2]|0)>>>0){b=jj(c[(c[g>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[h>>2]=c[h>>2]|b}c[f>>2]=(c[f>>2]|0)+1}i=j;return c[h>>2]|0}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[k>>2];e=c[n>>2]|0;f=e+72|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));if(!(c[m>>2]|0)){c[g>>2]=Pr(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,0)|0;n=c[g>>2]|0;i=o;return n|0}if((c[m>>2]|0)>0)c[(c[n>>2]|0)+4>>2]=c[m>>2];else c[(c[n>>2]|0)+4>>2]=1020;c[c[n>>2]>>2]=4864;c[(c[n>>2]|0)+8>>2]=c[m>>2];c[(c[n>>2]|0)+56>>2]=c[l>>2];c[(c[n>>2]|0)+64>>2]=c[j>>2];c[(c[n>>2]|0)+60>>2]=c[h>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Pt(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function Qt(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=As(c[d>>2]|0)|0;i=b;return a|0}function Rt(f){f=f|0;var 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,x=0;x=i;i=i+64|0;l=x+40|0;m=x+36|0;t=x+50|0;o=x+52|0;n=x+32|0;j=x+28|0;w=x+24|0;g=x+48|0;r=x+20|0;v=x+16|0;p=x+12|0;q=x+8|0;h=x+4|0;k=x;s=x+46|0;u=x+44|0;c[m>>2]=f;do if(!(a[c[m>>2]>>0]|0)){c[j>>2]=c[(c[m>>2]|0)+52>>2];a[o>>0]=a[(c[m>>2]|0)+5>>0]|0;c[n>>2]=c[(c[m>>2]|0)+56>>2];if(St(c[m>>2]|0,d[(c[n>>2]|0)+(d[o>>0]|0)>>0]|0)|0){c[l>>2]=Oj(57553)|0;w=c[l>>2]|0;i=x;return w|0}b[(c[m>>2]|0)+20>>1]=(c[(c[j>>2]|0)+32>>2]|0)-1;a[(c[m>>2]|0)+1>>0]=0;c[w>>2]=c[(c[j>>2]|0)+36>>2];f=(d[o>>0]|0)+8+(d[(c[m>>2]|0)+6>>0]|0)&65535;b[g>>1]=f;b[(c[m>>2]|0)+14>>1]=f;c[(c[m>>2]|0)+60>>2]=(c[n>>2]|0)+(c[w>>2]|0);c[(c[m>>2]|0)+64>>2]=(c[n>>2]|0)+(e[g>>1]|0);c[(c[m>>2]|0)+68>>2]=(c[n>>2]|0)+(d[(c[m>>2]|0)+6>>0]|0);c[v>>2]=((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[m>>2]|0)+18>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+3)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+3)+1>>0];if((e[(c[m>>2]|0)+18>>1]|0)>>>0>((((c[(c[j>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[l>>2]=Oj(57571)|0;w=c[l>>2]|0;i=x;return w|0}c[p>>2]=(e[g>>1]|0)+(e[(c[m>>2]|0)+18>>1]<<1);c[q>>2]=(c[w>>2]|0)-4;do if(c[(c[(c[j>>2]|0)+4>>2]|0)+24>>2]&268435456){if(!(a[(c[m>>2]|0)+4>>0]|0))c[q>>2]=(c[q>>2]|0)+-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+18>>1]|0)){g=17;break}b[t>>1]=d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))>>0]<<8|d[(c[n>>2]|0)+((e[g>>1]|0)+(c[h>>2]<<1))+1>>0];if((e[t>>1]|0)<(c[p>>2]|0)){g=13;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=13;break}c[k>>2]=(Yb[c[(c[m>>2]|0)+76>>2]&255](c[m>>2]|0,(c[n>>2]|0)+(e[t>>1]|0)|0)|0)&65535;if(((e[t>>1]|0)+(c[k>>2]|0)|0)>(c[w>>2]|0)){g=15;break}c[h>>2]=(c[h>>2]|0)+1}if((g|0)==13){c[l>>2]=Oj(57599)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==15){c[l>>2]=Oj(57604)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==17){if(a[(c[m>>2]|0)+4>>0]|0)break;c[q>>2]=(c[q>>2]|0)+1;break}}while(0);b[t>>1]=d[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]<<8|d[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0];c[r>>2]=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0)+(c[v>>2]|0);while(1){if((e[t>>1]|0)<=0){g=29;break}if((e[t>>1]|0)<(c[p>>2]|0)){g=23;break}if((e[t>>1]|0)>(c[q>>2]|0)){g=23;break}b[s>>1]=d[(c[n>>2]|0)+(e[t>>1]|0)>>0]<<8|d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0];b[u>>1]=d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]<<8|d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0];if((e[s>>1]|0)>0?(e[s>>1]|0)<=((e[t>>1]|0)+(e[u>>1]|0)+3|0):0){g=27;break}if(((e[t>>1]|0)+(e[u>>1]|0)|0)>(c[w>>2]|0)){g=27;break}c[r>>2]=(c[r>>2]|0)+(e[u>>1]|0);b[t>>1]=b[s>>1]|0}if((g|0)==23){c[l>>2]=Oj(57624)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==27){c[l>>2]=Oj(57631)|0;w=c[l>>2]|0;i=x;return w|0}else if((g|0)==29){if((c[r>>2]|0)<=(c[w>>2]|0)){b[(c[m>>2]|0)+16>>1]=(c[r>>2]|0)-(c[p>>2]|0);a[c[m>>2]>>0]=1;break}c[l>>2]=Oj(57645)|0;w=c[l>>2]|0;i=x;return w|0}}while(0);c[l>>2]=0;w=c[l>>2]|0;i=x;return w|0}function St(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=e;c[g>>2]=f;a[(c[j>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[j>>2]|0)+6>>0]=4-(d[(c[j>>2]|0)+4>>0]<<2);c[(c[j>>2]|0)+76>>2]=188;c[k>>2]=c[(c[j>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[j>>2]|0)+2>>0]=1;g=(c[j>>2]|0)+3|0;if(a[(c[j>>2]|0)+4>>0]|0){a[g>>0]=1;c[(c[j>>2]|0)+80>>2]=226}else{a[g>>0]=0;c[(c[j>>2]|0)+76>>2]=189;c[(c[j>>2]|0)+80>>2]=227}b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+28>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+30>>1]|0}else{if((c[g>>2]|0)==2){a[(c[j>>2]|0)+2>>0]=0;a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+80>>2]=228;b[(c[j>>2]|0)+10>>1]=b[(c[k>>2]|0)+24>>1]|0;b[(c[j>>2]|0)+12>>1]=b[(c[k>>2]|0)+26>>1]|0;break}c[h>>2]=Oj(57511)|0;k=c[h>>2]|0;i=l;return k|0}while(0);a[(c[j>>2]|0)+7>>0]=a[(c[k>>2]|0)+21>>0]|0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Tt(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;m=n+12|0;l=n+8|0;k=n+4|0;j=n;c[g>>2]=b;c[h>>2]=f;c[m>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[m>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[l>>2]=(c[m>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{f=c[k>>2]<<7;b=(c[m>>2]|0)+1|0;c[m>>2]=b;c[k>>2]=f|d[b>>0]&127;if((d[c[m>>2]>>0]|0)<128)break a}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[l>>2]=(c[m>>2]|0)+9;do{b=c[m>>2]|0;c[m>>2]=b+1;if(!(d[b>>0]&128))break b}while((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){b=(c[k>>2]|0)+((c[m>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=b;c[k>>2]=(c[k>>2]|0)>>>0<4?4:b;b=c[k>>2]|0;b=b&65535;i=n;return b|0}c[j>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[j>>2]|0)+((((c[k>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[j>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[m>>2]|0)-(c[h>>2]|0)&65535));b=c[k>>2]|0;b=b&65535;i=n;return b|0}function Ut(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+28|0;k=q+24|0;p=q+20|0;m=q+16|0;l=q;n=q+12|0;o=q+8|0;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[j>>2];c[m>>2]=d[c[p>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[p>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{g=c[m>>2]<<7;a=(c[p>>2]|0)+1|0;c[p>>2]=a;c[m>>2]=g|(d[a>>0]|0)&127;if((d[c[p>>2]>>0]|0|0)<128)break a}while((c[p>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[p>>2]=(c[p>>2]|0)+1;a=l;c[a>>2]=d[c[p>>2]>>0];c[a+4>>2]=0;a=l;g=c[a+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[a>>2]|0)>>>0>=128){c[o>>2]=(c[p>>2]|0)+7;a=l;c[a>>2]=c[l>>2]&127;c[a+4>>2]=0;do{n=l;n=uR(c[n>>2]|0,c[n+4>>2]|0,7)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;g=(d[g>>0]|0)&127;a=l;c[a>>2]=n|g;c[a+4>>2]=C|((g|0)<0)<<31>>31;if((d[c[p>>2]>>0]|0|0)<128)break b}while((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0);o=l;o=uR(c[o>>2]|0,c[o+4>>2]|0,8)|0;g=(c[p>>2]|0)+1|0;c[p>>2]=g;a=l;c[a>>2]=o|(d[g>>0]|0);c[a+4>>2]=C}while(0);c[p>>2]=(c[p>>2]|0)+1;o=l;g=c[o+4>>2]|0;a=c[k>>2]|0;c[a>>2]=c[o>>2];c[a+4>>2]=g;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=c[p>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Yt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=q;return}b[(c[k>>2]|0)+18>>1]=(c[m>>2]|0)+((c[p>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[m>>2];i=q;return}function Vt(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[h+12>>2]=a;c[e>>2]=b;c[g>>2]=(c[e>>2]|0)+4;c[f>>2]=(c[g>>2]|0)+9;do{a=c[g>>2]|0;c[g>>2]=a+1;if(!((d[a>>0]|0)&128))break}while((c[g>>2]|0)>>>0<(c[f>>2]|0)>>>0);i=h;return (c[g>>2]|0)-(c[e>>2]|0)&65535|0}function Wt(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;a=4+((Zt((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=a;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;i=f;return} +function hi(d,f,g,h,j,k,l,m,n){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+64|0;C=D;q=D+56|0;r=D+52|0;s=D+48|0;t=D+44|0;u=D+40|0;v=D+36|0;w=D+32|0;x=D+28|0;y=D+24|0;z=D+20|0;B=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[r>>2]=d;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[x>>2]=l;c[y>>2]=m;c[z>>2]=n;do if(c[s>>2]|0){if((c[w>>2]|0)!=0?(c[y>>2]|0)!=0|(c[x>>2]|0)!=0:0)break;if(((c[w>>2]|0)==0&(c[y>>2]|0)!=0^1|(c[x>>2]|0)!=0?!((((c[w>>2]|0)!=0|(c[y>>2]|0)!=0)^1)&(c[x>>2]|0)!=0|(c[t>>2]|0)<-1|(c[t>>2]|0)>127):0)?(f=Jf(c[s>>2]|0)|0,c[o>>2]=f,255>=(f|0)):0){c[A>>2]=c[u>>2]&2048;c[u>>2]=c[u>>2]&7;do if((c[u>>2]|0)!=4){if((c[u>>2]|0)==5){c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,1|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=hi(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,2|c[A>>2],c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(!(c[p>>2]|0)){c[u>>2]=3;break}c[q>>2]=c[p>>2];C=c[q>>2]|0;i=D;return C|0}}else c[u>>2]=(a[960]|0)==0?3:2;while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,0)|0;do if(((c[B>>2]|0)!=0?(e[(c[B>>2]|0)+2>>1]&3|0)==(c[u>>2]|0):0)?(a[c[B>>2]>>0]|0)==(c[t>>2]|0):0){d=c[r>>2]|0;if(!(c[(c[r>>2]|0)+152>>2]|0)){Qh(d);break}jg(d,5,26840,C);c[q>>2]=5;C=c[q>>2]|0;i=D;return C|0}while(0);c[B>>2]=ii(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]&255,1)|0;if(!(c[B>>2]|0)){c[q>>2]=7;C=c[q>>2]|0;i=D;return C|0}hu(c[r>>2]|0,c[B>>2]|0);if(c[z>>2]|0){C=c[z>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[B>>2]|0)+24>>2]=c[z>>2];b[(c[B>>2]|0)+2>>1]=e[(c[B>>2]|0)+2>>1]&3|c[A>>2];c[(c[B>>2]|0)+12>>2]=(c[w>>2]|0)!=0?c[w>>2]|0:c[x>>2]|0;c[(c[B>>2]|0)+16>>2]=c[y>>2];c[(c[B>>2]|0)+4>>2]=c[v>>2];a[c[B>>2]>>0]=c[t>>2];c[q>>2]=0;C=c[q>>2]|0;i=D;return C|0}}while(0);c[q>>2]=Lf(134792)|0;C=c[q>>2]|0;i=D;return C|0}function ii(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;k=y+44|0;l=y+40|0;m=y+36|0;n=y+32|0;o=y+49|0;p=y+48|0;t=y+28|0;u=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;w=y+8|0;x=y+4|0;v=y;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;a[o>>0]=h;a[p>>0]=j;c[u>>2]=0;c[q>>2]=0;c[s>>2]=Jf(c[m>>2]|0)|0;c[t>>2]=qj((c[l>>2]|0)+348|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break;c[w>>2]=bu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[w>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[w>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}a:do if(!(a[p>>0]|0)){if((c[u>>2]|0)!=0?(c[(c[l>>2]|0)+24>>2]&2097152|0)==0:0)break;c[q>>2]=0;c[r>>2]=((d[18221+(d[c[m>>2]>>0]|0)>>0]|0)+(c[s>>2]|0)|0)%23|0;c[t>>2]=cu(c[r>>2]|0,c[m>>2]|0)|0;while(1){if(!(c[t>>2]|0))break a;c[x>>2]=bu(c[t>>2]|0,c[n>>2]|0,a[o>>0]|0)|0;if((c[x>>2]|0)>(c[q>>2]|0)){c[u>>2]=c[t>>2];c[q>>2]=c[x>>2]}c[t>>2]=c[(c[t>>2]|0)+8>>2]}}while(0);do if((d[p>>0]|0)!=0&(c[q>>2]|0)<6?(f=rh(c[l>>2]|0,28+(c[s>>2]|0)+1|0,0)|0,c[u>>2]=f,(f|0)!=0):0){c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+28;a[c[u>>2]>>0]=c[n>>2];b[(c[u>>2]|0)+2>>1]=d[o>>0]|0;rR((c[u>>2]|0)+28|0,c[m>>2]|0,(c[s>>2]|0)+1|0)|0;c[v>>2]=Sj((c[l>>2]|0)+348|0,c[(c[u>>2]|0)+20>>2]|0,c[u>>2]|0)|0;if((c[v>>2]|0)!=(c[u>>2]|0)){c[(c[u>>2]|0)+8>>2]=c[v>>2];break}Tf(c[l>>2]|0,c[u>>2]|0);lh(c[l>>2]|0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}while(0);do if(c[u>>2]|0){if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[p>>0]|0)==0:0)break;c[k>>2]=c[u>>2];f=c[k>>2]|0;i=y;return f|0}while(0);c[k>>2]=0;f=c[k>>2]|0;i=y;return f|0}function ji(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e;g=e+20|0;j=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[j>>2];c[f>>2]=Od(26789,h)|0;je(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);i=e;return}function ki(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;j=h+12|0;f=h+8|0;g=h+4|0;k=h;c[j>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=e;if((c[k>>2]|0)<(c[j>>2]|0)){i=h;return 0}Wj();Cf(c[f>>2]|0,c[g>>2]|0)|0;Xj();i=h;return 0}function li(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){d=6;break}if(!(ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){d=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((d|0)==6){g=c[g>>2]|0;i=h;return g|0}return 0}function mi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=0;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[g>>2]|0)+20>>2]|0)?(c[o>>2]|0)==0:0))break;if(((c[h>>2]|0)==10?1:(c[n>>2]|0)==(c[h>>2]|0))?(c[o>>2]=$t(c[(c[(c[g>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0,c[k>>2]=0,c[l>>2]=0,(c[o>>2]|0)==5):0){c[m>>2]=1;c[o>>2]=0}c[n>>2]=(c[n>>2]|0)+1}i=p;return ((c[o>>2]|0)==0&(c[m>>2]|0)!=0?5:c[o>>2]|0)|0}function ni(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){i=f;return}if(c[(c[e>>2]|0)+164>>2]|0){i=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;b=(c[e>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+-1;i=f;return}function oi(b,d,e,f){b=b|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,r=0,s=0;s=i;i=i+48|0;p=s;h=s+40|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;g=s+12|0;r=s+8|0;q=s+4|0;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[r>>2]=0;c[q>>2]=0;c[c[k>>2]>>2]=0;c[o>>2]=Dd()|0;if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=s;return r|0}if(!(1<<(c[l>>2]&7)&70)){c[h>>2]=Lf(135927)|0;r=c[h>>2]|0;i=s;return r|0}do if(c[3]|0){if(c[l>>2]&32768){c[g>>2]=0;break}if(c[l>>2]&65536){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[l>>2]&262144)){if(c[57]|0)c[l>>2]=c[l>>2]|131072}else c[l>>2]=c[l>>2]&-131073;c[l>>2]=c[l>>2]&-655129;c[n>>2]=kg(464,0)|0;do if(c[n>>2]|0){if((c[g>>2]|0)!=0?(c[(c[n>>2]|0)+12>>2]=8,(c[(c[n>>2]|0)+12>>2]|0)==0):0){Kd(c[n>>2]|0);c[n>>2]=0;break}c[(c[n>>2]|0)+56>>2]=255;c[(c[n>>2]|0)+20>>2]=2;c[(c[n>>2]|0)+80>>2]=-264537850;c[(c[n>>2]|0)+16>>2]=(c[n>>2]|0)+392;e=(c[n>>2]|0)+92|0;g=1560;d=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[(c[n>>2]|0)+92+44>>2]=0;a[(c[n>>2]|0)+67>>0]=1;a[(c[n>>2]|0)+72>>0]=-1;d=184;b=c[d+4>>2]|0;f=(c[n>>2]|0)+40|0;c[f>>2]=c[d>>2];c[f+4>>2]=b;c[(c[n>>2]|0)+76>>2]=0;c[(c[n>>2]|0)+140>>2]=2147483647;f=(c[n>>2]|0)+24|0;c[f>>2]=c[f>>2]|9437280;xj((c[n>>2]|0)+364|0);xj((c[n>>2]|0)+320|0);pi(c[n>>2]|0,35343,1,0,141,0)|0;pi(c[n>>2]|0,35343,3,0,141,0)|0;pi(c[n>>2]|0,35343,2,0,141,0)|0;pi(c[n>>2]|0,21037,1,0,142,0)|0;pi(c[n>>2]|0,21044,1,1,141,0)|0;if(!(a[(c[n>>2]|0)+69>>0]|0)){f=Qj(c[n>>2]|0,1,35343,0)|0;c[(c[n>>2]|0)+8>>2]=f;c[(c[n>>2]|0)+48>>2]=c[l>>2];c[o>>2]=_j(c[m>>2]|0,c[j>>2]|0,l,c[n>>2]|0,r,q)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7)lh(c[n>>2]|0);j=c[n>>2]|0;l=c[o>>2]|0;m=(c[q>>2]|0)!=0?18999:0;c[p>>2]=c[q>>2];jg(j,l,m,p);Kd(c[q>>2]|0);break}c[o>>2]=$j(c[c[n>>2]>>2]|0,c[r>>2]|0,c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+4|0,0,c[l>>2]|256)|0;if(c[o>>2]|0){if((c[o>>2]|0)==3082)c[o>>2]=7;lg(c[n>>2]|0,c[o>>2]|0);break}mg(c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0);q=ak(c[n>>2]|0,c[(c[(c[n>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]=q;if(!(a[(c[n>>2]|0)+69>>0]|0))a[(c[n>>2]|0)+66>>0]=a[(c[(c[(c[n>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;q=ak(c[n>>2]|0,0)|0;c[(c[(c[n>>2]|0)+16>>2]|0)+16+12>>2]=q;c[c[(c[n>>2]|0)+16>>2]>>2]=21050;a[(c[(c[n>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[n>>2]|0)+16>>2]|0)+16>>2]=19280;a[(c[(c[n>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[n>>2]|0)+80>>2]=-1607883113;if(!(a[(c[n>>2]|0)+69>>0]|0)){lg(c[n>>2]|0,0);bk(c[n>>2]|0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)==0?(ck(c[n>>2]|0),c[o>>2]=Df(c[n>>2]|0)|0,(c[o>>2]|0)!=0):0)break;if((c[o>>2]|0)==0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)c[o>>2]=dk(c[n>>2]|0)|0;if(c[o>>2]|0)lg(c[n>>2]|0,c[o>>2]|0);ei(c[n>>2]|0,0,c[9]|0,c[10]|0)|0;zf(c[n>>2]|0,1e3)|0}}}while(0);c[o>>2]=Df(c[n>>2]|0)|0;if((c[o>>2]|0)!=7){if(c[o>>2]|0)c[(c[n>>2]|0)+80>>2]=1266094736}else{sf(c[n>>2]|0)|0;c[n>>2]=0}c[c[k>>2]>>2]=c[n>>2];Kd(c[r>>2]|0);c[h>>2]=c[o>>2]&255;r=c[h>>2]|0;i=s;return r|0}function pi(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;w=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+48|0;o=x+32|0;p=x+28|0;q=x+24|0;v=x+20|0;s=x+16|0;r=x+12|0;t=x+8|0;u=x+4|0;c[l>>2]=b;c[m>>2]=e;a[n>>0]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[s>>2]=d[n>>0];if((c[s>>2]|0)==4|(c[s>>2]|0)==8)c[s>>2]=(a[960]|0)==0?3:2;if((c[s>>2]|0)<1|(c[s>>2]|0)>3){c[k>>2]=Lf(135478)|0;w=c[k>>2]|0;i=x;return w|0}c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,0)|0;a:do if((c[v>>2]|0)!=0?(c[(c[v>>2]|0)+12>>2]|0)!=0:0){b=c[l>>2]|0;if(c[(c[l>>2]|0)+152>>2]|0){jg(b,5,20969,w);c[k>>2]=5;w=c[k>>2]|0;i=x;return w|0}Qh(b);if((d[(c[v>>2]|0)+4>>0]&-9|0)==(c[s>>2]|0)){c[r>>2]=qj((c[l>>2]|0)+364|0,c[m>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=3)break a;c[u>>2]=(c[r>>2]|0)+((c[t>>2]|0)*20|0);if((d[(c[u>>2]|0)+4>>0]|0)==(d[(c[v>>2]|0)+4>>0]|0)){if(c[(c[u>>2]|0)+16>>2]|0)Qb[c[(c[u>>2]|0)+16>>2]&255](c[(c[u>>2]|0)+8>>2]|0);c[(c[u>>2]|0)+12>>2]=0}c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[v>>2]=Qj(c[l>>2]|0,c[s>>2]&255,c[m>>2]|0,1)|0;if(!(c[v>>2]|0)){c[k>>2]=7;w=c[k>>2]|0;i=x;return w|0}else{c[(c[v>>2]|0)+12>>2]=c[p>>2];c[(c[v>>2]|0)+8>>2]=c[o>>2];c[(c[v>>2]|0)+16>>2]=c[q>>2];a[(c[v>>2]|0)+4>>0]=c[s>>2]|d[n>>0]&8;lg(c[l>>2]|0,0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}return 0}function qi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[k>>2]=0;a[(c[f>>2]|0)+144+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[j>>2]=0;while(1){if(c[k>>2]|0)break;if((c[j>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[j>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[k>>2]=tj(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(((c[k>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[k>>2]=tj(c[f>>2]|0,1,c[g>>2]|0)|0,(c[k>>2]|0)!=0):0)uj(c[f>>2]|0,1);a[(c[f>>2]|0)+144+5>>0]=0;if(!((c[k>>2]|0)==0&(c[h>>2]|0)!=0)){k=c[k>>2]|0;i=l;return k|0}vj(c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}function ri(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+20|0;f=m+16|0;g=m+12|0;k=m+8|0;h=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){l=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))l=5;if((l|0)==5?(l=0,c[k>>2]=qj((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){l=7;break}c[h>>2]=(c[h>>2]|0)+1}if((l|0)==7){i=m;return c[k>>2]|0}return 0}function si(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(ig(c[d>>2]|0,20495)|0){if(!(ig(c[d>>2]|0,20503)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,20509)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);i=e;return c[b>>2]|0}function ti(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];b=c[e>>2]|0;i=h;return b|0}else{b=c[c[f>>2]>>2]|0;c[e>>2]=b+(KQ(c[c[f>>2]>>2]|0)|0)+1;b=c[e>>2]|0;i=h;return b|0}return 0}function ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=Yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){d=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){d=6;break}if(!(ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){d=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((d|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;i=h;return g|0}else if((d|0)==8){c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function wi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=pj(c[a+216>>2]|0)|0;i=b;return d|0}else{d=c[a+68>>2]|0;i=b;return d|0}return 0}function yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return d|0}function zi(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;i=e;return d|0}d=Tb[c[d>>2]&255](c[b>>2]|0)|0;i=e;return d|0}function Ai(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;h=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[n>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];mg(c[p>>2]|0);if((e[(c[m>>2]|0)+22>>1]|0)&2){c[h>>2]=8;p=c[h>>2]|0;i=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[(c[m>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[m>>2]|0)+32>>2]=c[j>>2];Si(c[m>>2]|0)}c[n>>2]=Ti(c[c[m>>2]>>2]|0,(c[m>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+36>>2]=(c[(c[m>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[l>>2]|0){p=(c[m>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=o;return p|0}function Bi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=27;Ri(c[g>>2]|0,c[f>>2]|0,d)|0;i=e;return c[d>>2]|0}function Ci(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;Pi(8,c[b>>2]|0);if((c[76]|0)!=0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[75];c[75]=c[c[75]>>2];c[76]=(c[76]|0)+-1;Qi(3,1);d=c[d>>2]|0;i=e;return d|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;i=e;return d|0}Qi(4,ag(c[d>>2]|0)|0);d=c[d>>2]|0;i=e;return d|0}function Di(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[74]|0)>>>0:0){c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[75];c[75]=c[e>>2];c[76]=(c[76]|0)+1;bg(3,1);i=f;return}if(c[2]|0){c[d>>2]=ag(c[b>>2]|0)|0;bg(4,c[d>>2]|0);bg(0,c[d>>2]|0);bg(9,1);Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}else{Qb[c[52>>2]&255](c[b>>2]|0);i=f;return}}function Ei(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;b=((Mi(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;i=e;return b|0}function Fi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m+24|0;f=m+20|0;g=m+16|0;k=m;h=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;if(d[19011+(d[(c[f>>2]|0)+2>>0]|0)>>0]&8){b=k;c[b>>2]=0;c[b+4>>2]=0;c[h>>2]=2;while(1){e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=48)break;c[h>>2]=e+1}c[j>>2]=e;while(1){if(!(d[19011+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;b=k;b=AR(c[b>>2]|0,c[b+4>>2]|0,16,0)|0;e=C;e=pR(b|0,e|0,(Ji(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))e=((c[j>>2]|0)-(c[h>>2]|0)|0)<=16;else e=0;c[l>>2]=e?0:1;l=c[l>>2]|0;i=m;return l|0}}while(0);j=c[f>>2]|0;k=c[g>>2]|0;c[l>>2]=Ki(j,k,Jf(c[f>>2]|0)|0,1)|0;l=c[l>>2]|0;i=m;return l|0}function Gi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Ii(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;i=b;return a|0}function Hi(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function Ii(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if((c[g>>2]|0)!=0?(d[(c[e>>2]|0)+16>>0]|0|0)!=0:0){g=19010;i=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;i=f;return g|0}function Ji(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);i=d;return c[b>>2]&15|0}function Ki(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;l=w+48|0;m=w+44|0;n=w+40|0;h=w+36|0;j=w+52|0;q=w+32|0;k=w;r=w+28|0;p=w+24|0;o=w+20|0;s=w+16|0;u=w+12|0;t=w+8|0;c[m>>2]=b;c[n>>2]=e;c[h>>2]=f;a[j>>0]=g;b=k;c[b>>2]=0;c[b+4>>2]=0;c[r>>2]=0;c[o>>2]=0;c[s>>2]=0;c[t>>2]=(c[m>>2]|0)+(c[h>>2]|0);if((d[j>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[p>>2]=3-(d[j>>0]|0);while(1){if((c[p>>2]|0)>=(c[h>>2]|0))break;if(a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)break;c[p>>2]=(c[p>>2]|0)+2}c[s>>2]=(c[p>>2]|0)<(c[h>>2]|0)&1;c[t>>2]=(c[m>>2]|0)+(c[p>>2]|0)+(d[j>>0]|0)+-3;c[m>>2]=(c[m>>2]|0)+(d[j>>0]&1)}while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if(!(d[19011+(d[c[m>>2]>>0]|0)>>0]&1))break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}do if((c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0){if((a[c[m>>2]>>0]|0)==45){c[r>>2]=1;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);break}if((a[c[m>>2]>>0]|0)==43)c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}while(0);c[u>>2]=c[m>>2];while(1){if((c[m>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;if((a[c[m>>2]>>0]|0)!=48)break;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0)}c[p>>2]=0;while(1){if(((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0?(b=a[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0,c[o>>2]=b,(b|0)>=48):0)h=(c[o>>2]|0)<=57;else h=0;g=k;j=c[g>>2]|0;g=c[g+4>>2]|0;if(!h)break;b=AR(j|0,g|0,10,0)|0;e=c[o>>2]|0;e=pR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;e=oR(e|0,C|0,48,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0)}f=(c[r>>2]|0)!=0;do if(!(g>>>0>2147483647|(g|0)==2147483647&j>>>0>4294967295)){j=k;h=c[j>>2]|0;j=c[j+4>>2]|0;if(f){k=oR(0,0,h|0,j|0)|0;n=c[n>>2]|0;c[n>>2]=k;c[n+4>>2]=C;break}else{n=c[n>>2]|0;c[n>>2]=h;c[n+4>>2]=j;break}}else{n=c[n>>2]|0;c[n>>2]=f?0:-1;c[n+4>>2]=f?-2147483648:2147483647}while(0);if(!((c[o>>2]|0)!=0?((c[m>>2]|0)+(c[p>>2]|0)|0)>>>0<(c[t>>2]|0)>>>0:0))v=33;do if((v|0)==33){if((c[p>>2]|0)==0?(c[u>>2]|0)==(c[m>>2]|0):0)break;if(!((c[s>>2]|0)!=0?1:(c[p>>2]|0)>((c[q>>2]|0)*19|0))){if((c[p>>2]|0)<((c[q>>2]|0)*19|0)){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}c[o>>2]=Li(c[m>>2]|0,c[q>>2]|0)|0;if((c[o>>2]|0)<0){c[l>>2]=0;v=c[l>>2]|0;i=w;return v|0}if((c[o>>2]|0)>0){c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}else{c[l>>2]=(c[r>>2]|0)!=0?0:2;v=c[l>>2]|0;i=w;return v|0}}}while(0);c[l>>2]=1;v=c[l>>2]|0;i=w;return v|0}function Li(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[j>>2]=19375;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;b=_(c[h>>2]|0,c[f>>2]|0)|0;c[g>>2]=((a[(c[e>>2]|0)+b>>0]|0)-(a[(c[j>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){b=c[g>>2]|0;i=k;return b|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;b=c[g>>2]|0;i=k;return b|0}function Mi(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+17|0;g=n+12|0;h=n+8|0;l=n+16|0;m=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;a[l>>0]=f;f=c[g>>2]|0;if((d[19011+(d[c[g>>2]>>0]|0)>>0]|0)&4){a[k>>0]=Ni(f)|0;m=a[k>>0]|0;i=n;return m|0}c[j>>2]=Jf(f)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){f=11;break}if((d[19394+(c[m>>2]|0)>>0]|0|0)==(c[j>>2]|0)?(zd(19410+(d[19402+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[j>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){f=9;break}if((d[19435+(c[m>>2]|0)>>0]|0|0)<=1){f=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((f|0)==9){a[k>>0]=a[19435+(c[m>>2]|0)>>0]|0;m=a[k>>0]|0;i=n;return m|0}else if((f|0)==11){a[k>>0]=a[l>>0]|0;m=a[k>>0]|0;i=n;return m|0}return 0}function Ni(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Oi(c[b>>2]|0,d)|0;i=e;return c[d>>2]|0}function Oi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;k=o+28|0;l=o+24|0;h=o;m=o+20|0;f=o+16|0;g=o+12|0;n=o+8|0;c[k>>2]=b;c[l>>2]=e;b=h;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;do if((a[c[k>>2]>>0]|0)!=45){e=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==43){c[k>>2]=e+1;break}if((a[e>>0]|0)==48){if((a[(c[k>>2]|0)+1>>0]|0)!=120?(a[(c[k>>2]|0)+1>>0]|0)!=88:0)break;if(d[19011+(d[(c[k>>2]|0)+2>>0]|0)>>0]&8){c[n>>2]=0;c[k>>2]=(c[k>>2]|0)+2;while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){e=c[n>>2]|0;if(!((d[19011+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)!=0?(c[m>>2]|0)<8:0))break;c[n>>2]=(e<<4)+((Ji(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((e&-2147483648|0)==0?(d[19011+(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[l>>2]>>2]=c[n>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}}}else{c[g>>2]=1;c[k>>2]=(c[k>>2]|0)+1}while(0);while(1){if((a[c[k>>2]>>0]|0)!=48)break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[f>>2]=n;if(!((n|0)>=0&(c[f>>2]|0)<=9))break;n=h;n=AR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;b=c[f>>2]|0;b=pR(n|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;n=h;c[n>>2]=b;c[n+4>>2]=C;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}m=h;n=c[g>>2]|0;n=oR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=C;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}if(c[g>>2]|0){m=h;m=oR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=h;c[n>>2]=m;c[n+4>>2]=C}c[c[l>>2]>>2]=c[h>>2];c[j>>2]=1;n=c[j>>2]|0;i=o;return n|0}function Pi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=f;return}c[1036+(c[d>>2]<<2)>>2]=c[e>>2];i=f;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;a=996+(c[d>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+(c[f>>2]|0);if((c[996+(c[d>>2]<<2)>>2]|0)>>>0<=(c[1036+(c[d>>2]<<2)>>2]|0)>>>0){i=e;return}c[1036+(c[d>>2]<<2)>>2]=c[996+(c[d>>2]<<2)>>2];i=e;return}function Ri(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if((c[j>>2]|0)<2){o=c[j>>2]|0;i=p;return o|0}c[l>>2]=(d[18221+(d[c[h>>2]>>0]|0)>>0]<<2^(d[18221+(d[(c[h>>2]|0)+((c[j>>2]|0)-1)>>0]|0)>>0]|0)*3^c[j>>2]|0)%127|0;c[l>>2]=(d[19443+(c[l>>2]|0)>>0]|0)-1;while(1){if((c[l>>2]|0)<0){o=13;break}if((d[19570+(c[l>>2]|0)>>0]|0)==(c[j>>2]|0)){c[m>>2]=0;c[n>>2]=19694+(e[10352+(c[l>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[j>>2]|0))g=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else g=0;f=c[m>>2]|0;if(!g)break;c[m>>2]=f+1}if((f|0)>=(c[j>>2]|0))break}c[l>>2]=(d[20371+(c[l>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[j>>2]|0;i=p;return o|0}c[c[k>>2]>>2]=d[20247+(c[l>>2]|0)>>0];o=c[j>>2]|0;i=p;return o|0}function Si(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){i=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Zi(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;i=d;return}function Ti(a,e,f){a=a|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;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;n=p+16|0;m=p+12|0;l=p+8|0;k=p;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;c[n>>2]=0;c[m>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Ui(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[m>>2]|0)!=0):0)?(c[m>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[l>>2]=0;o=k;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?(c[c[(c[g>>2]|0)+64>>2]>>2]|0)!=0:0)c[n>>2]=Vi(c[(c[g>>2]|0)+64>>2]|0,k)|0;if((c[n>>2]|0)==0?(c[l>>2]=Wi(c[m>>2]|0)|0,(c[l>>2]|0)==0):0)c[n>>2]=7;if(!(c[n>>2]|0)){Xi(c[g>>2]|0);c[n>>2]=Yi(c[(c[g>>2]|0)+212>>2]|0,c[m>>2]|0)|0}if(!(c[n>>2]|0)){Zi(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[l>>2];o=k;o=pR(c[o>>2]|0,c[o+4>>2]|0,c[m>>2]|0,0)|0;o=oR(o|0,C|0,1,0)|0;o=yR(o|0,C|0,c[m>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[m>>2];break}else{Zi(c[l>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[n>>2]|0){o=c[n>>2]|0;i=p;return o|0}if((c[j>>2]|0)<0)c[j>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[j>>2];_i(c[g>>2]|0);o=c[n>>2]|0;i=p;return o|0}function Ui(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+12>>2]|0}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function Wi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=hj(c[d>>2]|0)|0;i=b;return a|0}function Xi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;bj(c[(c[d>>2]|0)+96>>2]|0);cj(c[(c[d>>2]|0)+212>>2]|0);i=b;return}function Yi(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=Ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;b=c[e>>2]|0;i=j;return b|0}k=c[34]|0;a=c[h>>2]|0;b=aj(c[f>>2]|0)|0;Rb[k&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)Qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function Zi(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;$i(c[d>>2]|0);i=b;return}function _i(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function $i(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}if((c[b>>2]|0)>>>0>=(c[421]|0)>>>0?(c[b>>2]|0)>>>0<(c[422]|0)>>>0:0){bg(1,1);c[e>>2]=c[b>>2];c[c[e>>2]>>2]=c[424];c[424]=c[e>>2];c[425]=(c[425]|0)+1;c[426]=(c[425]|0)<(c[420]|0)&1;i=f;return}c[d>>2]=0;c[d>>2]=ag(c[b>>2]|0)|0;bg(2,c[d>>2]|0);Kd(c[b>>2]|0);i=f;return}function aj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;i=e;return d|0}else{a=AR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=yR(a|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;i=e;return d|0}return 0}function bj(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}i=d;return}function cj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;dj(c[d>>2]|0,0);i=b;return}function dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){i=j;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)ej(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?(c[(c[d>>2]|0)+12>>2]|0)!=0:0)?(c[h>>2]=Ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,(c[h>>2]|0)!=0):0){tR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}Rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);i=j;return}function ej(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){i=f;return}fj(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){i=f;return}gj(c[d>>2]|0);i=f;return}function fj(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;j=l+8|0;h=l+12|0;k=l+4|0;g=l;c[j>>2]=b;a[h>>0]=f;c[k>>2]=c[(c[j>>2]|0)+28>>2];if(d[h>>0]&1){if((c[(c[k>>2]|0)+8>>2]|0)==(c[j>>2]|0)){c[g>>2]=c[(c[j>>2]|0)+36>>2];while(1){if(c[g>>2]|0)f=(e[(c[g>>2]|0)+24>>1]&8|0)!=0;else f=0;b=c[g>>2]|0;if(!f)break;c[g>>2]=c[b+36>>2]}c[(c[k>>2]|0)+8>>2]=b}f=c[(c[j>>2]|0)+36>>2]|0;if(c[(c[j>>2]|0)+32>>2]|0)c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;else c[(c[k>>2]|0)+4>>2]=f;f=c[(c[j>>2]|0)+32>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]|0)){c[c[k>>2]>>2]=f;if((c[c[k>>2]>>2]|0)==0?(d[(c[k>>2]|0)+32>>0]|0)!=0:0)a[(c[k>>2]|0)+33>>0]=2}else c[(c[(c[j>>2]|0)+36>>2]|0)+32>>2]=f;c[(c[j>>2]|0)+32>>2]=0;c[(c[j>>2]|0)+36>>2]=0}if(!(d[h>>0]&2)){i=l;return}c[(c[j>>2]|0)+32>>2]=c[c[k>>2]>>2];f=c[j>>2]|0;if(!(c[(c[j>>2]|0)+32>>2]|0)){c[(c[k>>2]|0)+4>>2]=f;if(a[(c[k>>2]|0)+32>>0]|0)a[(c[k>>2]|0)+33>>0]=1}else c[(c[(c[j>>2]|0)+32>>2]|0)+36>>2]=f;c[c[k>>2]>>2]=c[j>>2];if(c[(c[k>>2]|0)+8>>2]|0){i=l;return}if(e[(c[j>>2]|0)+24>>1]&8){i=l;return}c[(c[k>>2]|0)+8>>2]=c[j>>2];i=l;return}function gj(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){i=e;return}Ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);i=e;return}function hj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[418]|0)?(c[d>>2]=c[424],(c[d>>2]|0)!=0):0){c[424]=c[c[424]>>2];c[425]=(c[425]|0)+-1;c[426]=(c[425]|0)<(c[420]|0)&1;Pi(7,c[b>>2]|0);Qi(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;i=f;return e|0}a=c[b>>2]|0;c[d>>2]=$f(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;i=f;return e|0}c[e>>2]=ag(c[d>>2]|0)|0;Pi(7,c[b>>2]|0);Qi(2,c[e>>2]|0);e=c[d>>2]|0;i=f;return e|0}function ij(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=kg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;i=e;return d|0}function jj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;k=p;c[h>>2]=b;c[j>>2]=e;if(!(c[h>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=(c[j>>2]|0)+-1;while(1){if((c[c[h>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[f>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(b=ij(c[(c[h>>2]|0)+8>>2]|0)|0,c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]=b,(c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){o=8;break}c[h>>2]=c[(c[h>>2]|0)+12+(c[f>>2]<<2)>>2]}if((o|0)==8){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}f=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){o=(c[h>>2]|0)+12+(((c[j>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(f&7);c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[j>>2]=f+1;c[l>>2]=(f>>>0)%125|0;a:do if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){if((c[(c[h>>2]|0)+4>>2]|0)>>>0>=124)o=17}else{while(1){if((c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)==(c[j>>2]|0))break;o=(c[l>>2]|0)+1|0;c[l>>2]=o;c[l>>2]=(c[l>>2]|0)>>>0>=125?0:o;if(!(c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]|0)){o=17;break a}}c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}while(0);if((o|0)==17?(c[(c[h>>2]|0)+4>>2]|0)>>>0>=62:0){c[k>>2]=Ah(0,500,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}rR(c[k>>2]|0,(c[h>>2]|0)+12|0,500)|0;tR((c[h>>2]|0)+12|0,0,500)|0;c[(c[h>>2]|0)+8>>2]=(((c[c[h>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=jj(c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>>>0>=125)break;if(c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0){o=jj(c[h>>2]|0,c[(c[k>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|o}c[m>>2]=(c[m>>2]|0)+1}Tf(0,c[k>>2]|0);c[g>>2]=c[n>>2];o=c[g>>2]|0;i=p;return o|0}o=(c[h>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[h>>2]|0)+12+(c[l>>2]<<2)>>2]=c[j>>2];c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function kj(b,e,f){b=b|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;l=p+12|0;n=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){i=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[l>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[l>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){i=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));i=p;return}c[k>>2]=c[j>>2];rR(c[k>>2]|0,(c[g>>2]|0)+12|0,500)|0;tR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>>>0>=125)break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=0?(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[m>>2]=(((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]|0))break;o=(c[m>>2]|0)+1|0;c[m>>2]=o;c[m>>2]=(c[m>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[m>>2]<<2)>>2]=c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]}c[n>>2]=(c[n>>2]|0)+1}i=p;return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){a=0;a=a&1;i=f;return a|0}a=(oj(c[d>>2]|0,c[e>>2]|0)|0)!=0;a=a&1;i=f;return a|0}function mj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function nj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;nj(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);i=e;return}function oj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[h>>2]=a;c[j>>2]=b;c[j>>2]=(c[j>>2]|0)+-1;if((c[j>>2]|0)>>>0>=(c[c[h>>2]>>2]|0)>>>0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}while(1){if(!(c[(c[h>>2]|0)+8>>2]|0))break;c[e>>2]=((c[j>>2]|0)>>>0)/((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[j>>2]=((c[j>>2]|0)>>>0)%((c[(c[h>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=c[(c[h>>2]|0)+12+(c[e>>2]<<2)>>2];if(!(c[h>>2]|0)){f=5;break}}if((f|0)==5){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}e=c[j>>2]|0;if((c[c[h>>2]>>2]|0)>>>0<=4e3){c[g>>2]=((d[(c[h>>2]|0)+12+((e>>>0)/8|0)>>0]|0)&1<<(c[j>>2]&7)|0)!=0&1;k=c[g>>2]|0;i=l;return k|0}c[j>>2]=e+1;c[k>>2]=(e>>>0)%125|0;while(1){if(!(c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)){f=13;break}if((c[(c[h>>2]|0)+12+(c[k>>2]<<2)>>2]|0)==(c[j>>2]|0)){f=11;break}c[k>>2]=(((c[k>>2]|0)+1|0)>>>0)%125|0}if((f|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((f|0)==13){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function pj(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+8>>2]|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=rj(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;i=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;i=e;return g|0}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+28|0;e=n+24|0;j=n+20|0;f=n+16|0;l=n+12|0;k=n+8|0;g=n+4|0;h=n;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;if(c[(c[e>>2]|0)+12>>2]|0){b=sj(c[j>>2]|0)|0;c[g>>2]=(b>>>0)%((c[c[e>>2]>>2]|0)>>>0)|0;c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);c[l>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=c[c[h>>2]>>2]}else{c[g>>2]=0;c[l>>2]=c[(c[e>>2]|0)+8>>2];c[k>>2]=c[(c[e>>2]|0)+4>>2]}c[c[f>>2]>>2]=c[g>>2];while(1){b=c[k>>2]|0;c[k>>2]=b+-1;if(!b){e=9;break}b=(ig(c[(c[l>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0;f=c[l>>2]|0;if(b){e=7;break}c[l>>2]=c[f>>2]}if((e|0)==7){c[m>>2]=f;m=c[m>>2]|0;i=n;return m|0}else if((e|0)==9){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function sj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+4|0;g=h;f=h+8|0;c[e>>2]=b;c[g>>2]=0;while(1){j=c[e>>2]|0;c[e>>2]=j+1;j=a[j>>0]|0;a[f>>0]=j;b=c[g>>2]|0;if(!(j&255))break;c[g>>2]=b<<3^c[g>>2]^(d[18221+(d[f>>0]|0)>>0]|0)}i=h;return b|0}function tj(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=i;i=i+128|0;w=A;l=A+108|0;m=A+104|0;n=A+100|0;o=A+96|0;u=A+92|0;j=A+88|0;v=A+84|0;t=A+80|0;B=A+64|0;r=A+40|0;q=A+24|0;y=A+20|0;s=A+16|0;p=A+112|0;z=A+12|0;x=A+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[s>>2]=0;h=(c[n>>2]|0)==1?20513:20532;c[y>>2]=h;c[B>>2]=h;c[B+4>>2]=20546;c[B+8>>2]=20548;c[B+12>>2]=0;c[q>>2]=c[m>>2];c[q+8>>2]=c[n>>2];c[q+12>>2]=0;c[q+4>>2]=c[o>>2];zj(q,3,B,0)|0;if(!(c[q+12>>2]|0)){c[t>>2]=(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4);if(!(c[(c[t>>2]|0)+4>>2]|0)){if((c[n>>2]|0)==1){B=(c[(c[(c[m>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[l>>2]=0;B=c[l>>2]|0;i=A;return B|0}mg(c[(c[t>>2]|0)+4>>2]|0);do if(!(qg(c[(c[t>>2]|0)+4>>2]|0)|0)){c[u>>2]=og(c[(c[t>>2]|0)+4>>2]|0,0)|0;if(c[u>>2]|0){z=c[o>>2]|0;B=c[m>>2]|0;Aj(z,B,kh(c[u>>2]|0)|0);break}else{c[s>>2]=1;k=11;break}}else k=11;while(0);a:do if((k|0)==11){c[j>>2]=0;while(1){if((c[j>>2]|0)>=5)break;pg(c[(c[t>>2]|0)+4>>2]|0,(c[j>>2]|0)+1|0,r+(c[j>>2]<<2)|0);c[j>>2]=(c[j>>2]|0)+1}c[c[(c[t>>2]|0)+12>>2]>>2]=c[r>>2];f=c[n>>2]|0;do if(c[r+16>>2]|0){j=c[r+16>>2]|0;if(!f){B=j&3;a[p>>0]=B;a[p>>0]=(d[p>>0]|0)==0?1:B;a[(c[m>>2]|0)+66>>0]=a[p>>0]|0;break}if((j|0)!=(d[(c[m>>2]|0)+66>>0]|0)){Aj(c[o>>2]|0,c[m>>2]|0,20624);c[u>>2]=1;break a}}else{B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(f<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[t>>2]|0)+12>>2]|0)+77>>0]=a[(c[m>>2]|0)+66>>0]|0;if(!(c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)){B=Bj(c[r+8>>2]|0)|0;c[v>>2]=B;c[v>>2]=(c[v>>2]|0)==0?-2e3:B;c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]=c[v>>2];Cj(c[(c[t>>2]|0)+4>>2]|0,c[(c[(c[t>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=c[r+4>>2];if(!(d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[t>>2]|0)+12>>2]|0)+76>>0]|0)>4){Aj(c[o>>2]|0,c[m>>2]|0,20692);c[u>>2]=1;break}if((c[n>>2]|0)==0?(c[r+4>>2]|0)>=4:0){B=(c[m>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[m>>2]|0;y=c[y>>2]|0;c[w>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];c[w+4>>2]=y;c[z>>2]=Dh(B,20716,w)|0;c[x>>2]=c[(c[m>>2]|0)+296>>2];c[(c[m>>2]|0)+296>>2]=0;c[u>>2]=$e(c[m>>2]|0,c[z>>2]|0,140,q,0)|0;c[(c[m>>2]|0)+296>>2]=c[x>>2];if(!(c[u>>2]|0))c[u>>2]=c[q+12>>2];Tf(c[m>>2]|0,c[z>>2]|0);if(!(c[u>>2]|0))Dj(c[m>>2]|0,c[n>>2]|0)|0;if(a[(c[m>>2]|0)+69>>0]|0){c[u>>2]=7;Bg(c[m>>2]|0)}if((c[u>>2]|0)!=0?(c[(c[m>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[m>>2]|0)+16>>2]|0)+(c[n>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[u>>2]=0}while(0);if(c[s>>2]|0)Ej(c[(c[t>>2]|0)+4>>2]|0)|0}else c[u>>2]=c[q+12>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082)lh(c[m>>2]|0);c[l>>2]=c[u>>2];B=c[l>>2]|0;i=A;return B|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);wj(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){i=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;wj(c[(c[e>>2]|0)+12>>2]|0);i=f;return}function vj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;i=b;return}function wj(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+64|0;l=k+48|0;h=k+32|0;j=k+16|0;d=k+8|0;f=k+4|0;g=k;c[l>>2]=a;c[f>>2]=c[l>>2];a=(c[f>>2]|0)+8|0;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=(c[f>>2]|0)+40|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];xj((c[f>>2]|0)+40|0);yj((c[f>>2]|0)+24|0);c[d>>2]=c[j+8>>2];while(1){if(!(c[d>>2]|0))break;Qf(0,c[(c[d>>2]|0)+8>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(j);xj((c[f>>2]|0)+8|0);c[d>>2]=c[h+8>>2];while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[(c[d>>2]|0)+8>>2];Rf(0,c[g>>2]|0);c[d>>2]=c[c[d>>2]>>2]}yj(h);yj((c[f>>2]|0)+56|0);c[(c[f>>2]|0)+72>>2]=0;if(!((e[(c[f>>2]|0)+78>>1]|0)&1)){i=k;return}l=(c[f>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+1;l=(c[f>>2]|0)+78|0;b[l>>1]=(e[l>>1]|0)&-2;i=k;return}function xj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;i=b;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;i=f;return}function zj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;j=r+40|0;s=r+36|0;k=r+28|0;n=r+20|0;l=r+16|0;m=r+12|0;q=r+8|0;p=r+4|0;o=r;c[s>>2]=d;c[r+32>>2]=f;c[k>>2]=g;c[r+24>>2]=h;c[n>>2]=c[s>>2];c[l>>2]=c[c[n>>2]>>2];c[m>>2]=c[(c[n>>2]|0)+8>>2];d=(c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+78|0;b[d>>1]=e[d>>1]&-5;if(a[(c[l>>2]|0)+69>>0]|0){Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);c[j>>2]=1;s=c[j>>2]|0;i=r;return s|0}if(!(c[k>>2]|0)){c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}a:do if(!(c[(c[k>>2]|0)+4>>2]|0))Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);else{if(zd(c[(c[k>>2]|0)+8>>2]|0,20858,7)|0){do if(c[c[k>>2]>>2]|0){if((c[(c[k>>2]|0)+8>>2]|0)!=0?(a[c[(c[k>>2]|0)+8>>2]>>0]|0)!=0:0)break;c[o>>2]=Ij(c[l>>2]|0,c[c[k>>2]>>2]|0,c[(c[(c[l>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Oi(c[(c[k>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,20866);break a}while(0);Nj(c[n>>2]|0,c[c[k>>2]>>2]|0,0);break}a[(c[l>>2]|0)+144+4>>0]=c[m>>2];s=Ni(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[l>>2]|0)+144>>2]=s;a[(c[l>>2]|0)+144+6>>0]=0;cf(c[l>>2]|0,c[(c[k>>2]|0)+8>>2]|0,-1,p,0)|0;c[q>>2]=c[(c[l>>2]|0)+52>>2];a[(c[l>>2]|0)+144+4>>0]=0;do if(0!=(c[q>>2]|0)?(a[(c[l>>2]|0)+144+6>>0]|0)==0:0){c[(c[n>>2]|0)+12>>2]=c[q>>2];if((c[q>>2]|0)==7){lh(c[l>>2]|0);break}if((c[q>>2]|0)!=9?(c[q>>2]&255|0)!=6:0){q=c[n>>2]|0;s=c[c[k>>2]>>2]|0;Nj(q,s,bf(c[l>>2]|0)|0)}}while(0);Yd(c[p>>2]|0)|0}while(0);c[j>>2]=0;s=c[j>>2]|0;i=r;return s|0}function Aj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Tf(c[h>>2]|0,c[c[f>>2]>>2]|0);d=ph(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;i=e;return}function Bj(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);i=e;return c[b>>2]|0}function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);Lj(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function Dj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;d=n+40|0;e=n+36|0;f=n+32|0;k=n+24|0;g=n+16|0;m=n+12|0;j=n+8|0;h=n+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+8>>2];Fj(c[h>>2]|0);c[g>>2]=c[c[g>>2]>>2]}c[k>>2]=c[e>>2];c[k+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];if(!(ri(c[e>>2]|0,20771,c[k+4>>2]|0)|0)){c[d>>2]=1;m=c[d>>2]|0;i=n;return m|0}h=c[e>>2]|0;c[l>>2]=c[k+4>>2];c[m>>2]=Dh(h,20784,l)|0;if(!(c[m>>2]|0))c[j>>2]=7;else{c[j>>2]=$e(c[e>>2]|0,c[m>>2]|0,141,k,0)|0;Tf(c[e>>2]|0,c[m>>2]|0)}if((c[j>>2]|0)==7)lh(c[e>>2]|0);c[d>>2]=c[j>>2];m=c[d>>2]|0;i=n;return m|0}function Ej(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;mg(c[b>>2]|0);c[d>>2]=Mg(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=Lg(c[b>>2]|0,0)|0;d=c[d>>2]|0;i=e;return d|0}function Fj(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;h=l+16|0;g=l+8|0;k=l+4|0;j=l;c[f>>2]=a;b[h>>1]=b[5308]|0;b[h+2>>1]=b[5309]|0;b[h+4>>1]=b[5310]|0;b[h+6>>1]=b[5311]|0;b[h+8>>1]=b[5312]|0;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[k>>2]=a;b[c[g>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if((b[c[g>>2]>>1]|0)<33)b[c[g>>2]>>1]=33;rR((c[g>>2]|0)+2|0,h|0,c[k>>2]<<1|0)|0;c[j>>2]=(c[k>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[g>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){i=l;return}b[(c[g>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;i=l;return}function Gj(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+112|0;j=s+96|0;t=s+92|0;k=s+84|0;p=s+76|0;o=s+72|0;q=s+68|0;r=s+64|0;l=s+60|0;n=s+56|0;m=s;c[t>>2]=d;c[s+88>>2]=f;c[k>>2]=g;c[s+80>>2]=h;c[p>>2]=c[t>>2];if(((c[k>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0)?(c[(c[k>>2]|0)+8>>2]|0)!=0:0){c[q>>2]=ri(c[c[p>>2]>>2]|0,c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;if(!(c[q>>2]|0)){c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}do if(c[(c[k>>2]|0)+4>>2]|0)if(!(Td(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){c[o>>2]=Hj(c[q>>2]|0)|0;break}else{c[o>>2]=Ij(c[c[p>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;break}else c[o>>2]=0;while(0);c[r>>2]=c[(c[k>>2]|0)+8>>2];if(c[o>>2]|0){c[l>>2]=0;c[n>>2]=(e[(c[o>>2]|0)+50>>1]|0)+1;t=(c[o>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Jj(c[r>>2]|0,c[n>>2]|0,c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[o>>2]|0);if(!(c[(c[o>>2]|0)+36>>2]|0))b[(c[q>>2]|0)+38>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0}else{b[m+48>>1]=b[(c[q>>2]|0)+40>>1]|0;Jj(c[r>>2]|0,1,0,(c[q>>2]|0)+38|0,m);b[(c[q>>2]|0)+40>>1]=b[m+48>>1]|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}c[j>>2]=0;t=c[j>>2]|0;i=s;return t|0}function Hj(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){i=e;return c[d>>2]|0}return 0}function Ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;k=n+12|0;h=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}b=c[h>>2]|0;c[j>>2]=(c[h>>2]|0)<2?b^1:b;c[l>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!((c[g>>2]|0)!=0?(ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[k>>2]=qj((c[l>>2]|0)+24|0,c[f>>2]|0)|0,(c[k>>2]|0)!=0):0){m=7;break}c[h>>2]=(c[h>>2]|0)+1}if((m|0)==7){i=n;return c[k>>2]|0}return 0}function Jj(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+32|0;j=q+28|0;k=q+20|0;o=q+16|0;p=q+12|0;l=q+8|0;m=q+4|0;n=q;c[r>>2]=d;c[j>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=h;c[p>>2]=c[r>>2];c[m>>2]=0;while(1){if(!(a[c[p>>2]>>0]|0))break;if((c[m>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=0;while(1){r=a[c[p>>2]>>0]|0;c[l>>2]=r;if(!((r|0)>=48?(c[l>>2]|0)<=57:0))break;c[n>>2]=((c[n>>2]|0)*10|0)+(c[l>>2]|0)-48;c[p>>2]=(c[p>>2]|0)+1}r=Kj(c[n>>2]|0,0)|0;b[(c[k>>2]|0)+(c[m>>2]<<1)>>1]=r;if((a[c[p>>2]>>0]|0)==32)c[p>>2]=(c[p>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[p>>2]>>0]|0))break;do if(Ze(20825,c[p>>2]|0)|0){r=(Ze(20836,c[p>>2]|0)|0)==0;j=c[p>>2]|0;if(r){r=Ni(j+3|0)|0;r=Kj(r,((r|0)<0)<<31>>31)|0;b[(c[o>>2]|0)+48>>1]=r;break}if(!(Ze(20846,j)|0)){r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[o>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[p>>2]>>0]|0))break;if((a[c[p>>2]>>0]|0)==32)break;c[p>>2]=(c[p>>2]|0)+1}while(1){if((a[c[p>>2]>>0]|0)!=32)continue a;c[p>>2]=(c[p>>2]|0)+1}}i=q;return}function Kj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+10|0;f=h;g=h+8|0;j=f;c[j>>2]=a;c[j+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){j=f;d=c[j+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<2){b[e>>1]=0;j=b[e>>1]|0;i=h;return j|0}else while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[j>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=uR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}else{while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=qR(c[d>>2]|0,c[d+4>>2]|0,4)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}while(1){j=f;d=c[j+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[j>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=qR(c[d>>2]|0,c[d+4>>2]|0,1)|0;j=f;c[j>>2]=d;c[j+4>>2]=C}}while(0);b[e>>1]=(b[10600+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;j=b[e>>1]|0;i=h;return j|0}function Lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Mj(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);i=d;return}function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;b=c[(c[f>>2]|0)+44>>2]|0;a=aj(c[f>>2]|0)|0;Rb[e&255](b,a);i=d;return}function Nj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o+8|0;l=o;g=o+32|0;h=o+28|0;j=o+24|0;k=o+20|0;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[(c[k>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=20883;e=c[k>>2]|0;c[l>>2]=c[h>>2];c[n>>2]=Dh(e,20885,l)|0;if(c[j>>2]|0){e=c[k>>2]|0;f=c[j>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=f;c[n>>2]=Dh(e,20916,m)|0}Tf(c[k>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[n>>2]}if(d[(c[k>>2]|0)+69>>0]|0){f=7;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}f=Oj(109666)|0;e=c[g>>2]|0;e=e+12|0;c[e>>2]=f;i=o;return}function Oj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Pj(11,c[d>>2]|0,20924)|0;i=b;return a|0}function Pj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;e=f+20|0;j=f+16|0;h=f+12|0;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[j>>2]|0;b=(kf()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;Rd(d,20944,g);i=f;return c[e>>2]|0}function Qj(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+12|0;h=m+16|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;a[h>>0]=e;c[j>>2]=f;c[k>>2]=g;g=c[n>>2]|0;if(c[j>>2]|0)c[l>>2]=Rj(g,c[j>>2]|0,c[k>>2]|0)|0;else c[l>>2]=c[g+8>>2];if(!(c[l>>2]|0)){n=c[l>>2]|0;i=m;return n|0}c[l>>2]=(c[l>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[l>>2]|0;i=m;return n|0}function Rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;m=l+12|0;j=l+8|0;h=l+4|0;k=l;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[j>>2]=qj((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[j>>2]|0)&(c[m>>2]|0)!=0)){m=c[j>>2]|0;i=l;return m|0}c[h>>2]=Jf(c[g>>2]|0)|0;c[j>>2]=rh(c[f>>2]|0,60+(c[h>>2]|0)+1|0,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;i=l;return m|0}c[k>>2]=0;c[c[j>>2]>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+4>>0]=1;c[(c[j>>2]|0)+20>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+20+4>>0]=2;c[(c[j>>2]|0)+40>>2]=(c[j>>2]|0)+60;a[(c[j>>2]|0)+40+4>>0]=3;rR(c[c[j>>2]>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;a[(c[c[j>>2]>>2]|0)+(c[h>>2]|0)>>0]=0;c[k>>2]=Sj((c[f>>2]|0)+364|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){m=c[j>>2]|0;i=l;return m|0}lh(c[f>>2]|0);Tf(c[f>>2]|0,c[k>>2]|0);c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}function Sj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+28|0;l=n+24|0;e=n+20|0;f=n+16|0;h=n+12|0;g=n+8|0;m=n+4|0;j=n;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=rj(c[l>>2]|0,c[e>>2]|0,h)|0;if(c[g>>2]|0){c[j>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[f>>2]|0))Tj(c[l>>2]|0,c[g>>2]|0,c[h>>2]|0);else{c[(c[g>>2]|0)+8>>2]=c[f>>2];c[(c[g>>2]|0)+12>>2]=c[e>>2]}c[k>>2]=c[j>>2];m=c[k>>2]|0;i=n;return m|0}if(!(c[f>>2]|0)){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[m>>2]=$f(16,0)|0;if(!(c[m>>2]|0)){c[k>>2]=c[f>>2];m=c[k>>2]|0;i=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[e>>2];c[(c[m>>2]|0)+8>>2]=c[f>>2];b=(c[l>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+1;if(((c[(c[l>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[l>>2]|0)+4>>2]|0)>>>0>c[c[l>>2]>>2]<<1>>>0:0)?(Uj(c[l>>2]|0,c[(c[l>>2]|0)+4>>2]<<1)|0)!=0:0){b=sj(c[e>>2]|0)|0;c[h>>2]=(b>>>0)%((c[c[l>>2]>>2]|0)>>>0)|0}if(c[(c[l>>2]|0)+12>>2]|0)e=(c[(c[l>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else e=0;Vj(c[l>>2]|0,e,c[m>>2]|0);c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function Tj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;b=c[c[f>>2]>>2]|0;if(c[(c[f>>2]|0)+4>>2]|0)c[c[(c[f>>2]|0)+4>>2]>>2]=b;else c[(c[e>>2]|0)+8>>2]=b;if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){i=j;return}yj(c[e>>2]|0);i=j;return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;h=l;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Wj();c[j>>2]=$f(c[f>>2]<<3,0)|0;Xj();if(!(c[j>>2]|0)){c[d>>2]=0;a=c[d>>2]|0;i=l;return a|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[j>>2];a=((ag(c[j>>2]|0)|0)>>>0)/8|0;c[f>>2]=a;c[c[e>>2]>>2]=a;tR(c[j>>2]|0,0,c[f>>2]<<3|0)|0;c[g>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[g>>2]|0))break;a=sj(c[(c[g>>2]|0)+12>>2]|0)|0;c[h>>2]=(a>>>0)%((c[f>>2]|0)>>>0)|0;c[k>>2]=c[c[g>>2]>>2];Vj(c[e>>2]|0,(c[j>>2]|0)+(c[h>>2]<<3)|0,c[g>>2]|0);c[g>>2]=c[k>>2]}c[d>>2]=1;a=c[d>>2]|0;i=l;return a|0}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;if(c[e>>2]|0){if(c[c[e>>2]>>2]|0)b=c[(c[e>>2]|0)+4>>2]|0;else b=0;c[h>>2]=b;d=c[e>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[e>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[f>>2]|0)+8>>2]|0)c[(c[(c[f>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+8>>2]=c[g>>2];i=j;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];b=c[g>>2]|0;if(c[(c[h>>2]|0)+4>>2]|0)c[c[(c[h>>2]|0)+4>>2]>>2]=b;else c[(c[f>>2]|0)+8>>2]=b;c[(c[h>>2]|0)+4>>2]=c[g>>2];i=j;return}function Wj(){if(!(c[427]|0))return;Vb[c[1708>>2]&255]();return}function Xj(){if(!(c[428]|0))return;Vb[c[1712>>2]&255]();return}function Yj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=(c[h>>2]|0)<(c[k>>2]|0)?c[h>>2]|0:c[k>>2]|0;c[n>>2]=EQ(c[j>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if(c[n>>2]|0){n=c[n>>2]|0;i=o;return n|0}if(((c[g>>2]|0)!=0?(_t((c[j>>2]|0)+(c[m>>2]|0)|0,(c[h>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0)?(_t((c[l>>2]|0)+(c[m>>2]|0)|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0)!=0:0){n=c[n>>2]|0;i=o;return n|0}c[n>>2]=(c[h>>2]|0)-(c[k>>2]|0);n=c[n>>2]|0;i=o;return n|0}function Zj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;g=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[k+20>>2]=a;c[g>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=zd(c[m>>2]|0,c[l>>2]|0,(c[g>>2]|0)<(c[h>>2]|0)?c[g>>2]|0:c[h>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=(c[g>>2]|0)-(c[h>>2]|0);m=c[j>>2]|0;i=k;return m|0}function _j(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=i;i=i+160|0;K=S+32|0;J=S+24|0;I=S+16|0;H=S+8|0;m=S+140|0;T=S+136|0;n=S+132|0;o=S+128|0;p=S+124|0;q=S+120|0;r=S+116|0;G=S+112|0;v=S+108|0;Q=S+104|0;M=S+100|0;t=S+144|0;l=S+96|0;O=S+92|0;u=S+88|0;x=S+84|0;y=S+80|0;k=S;F=S+76|0;D=S+72|0;P=S+68|0;E=S+64|0;s=S+60|0;N=S+56|0;A=S+52|0;z=S+48|0;w=S+44|0;B=S+40|0;L=S+36|0;c[T>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[G>>2]=0;c[v>>2]=c[c[o>>2]>>2];c[Q>>2]=c[T>>2];c[l>>2]=Jf(c[n>>2]|0)|0;a:do if(((c[v>>2]&64|0)!=0|(c[5]|0)!=0)&(c[l>>2]|0)>=5?(EQ(c[n>>2]|0,26631,5)|0)==0:0){c[y>>2]=0;e=(c[l>>2]|0)+2|0;T=k;c[T>>2]=e;c[T+4>>2]=((e|0)<0)<<31>>31;c[v>>2]=c[v>>2]|64;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[l>>2]|0))break;e=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==38&1;T=k;e=pR(c[T>>2]|0,c[T+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=e;c[T+4>>2]=C;c[x>>2]=(c[x>>2]|0)+1}T=k;c[M>>2]=Jd(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[M>>2]|0)){c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}c[x>>2]=5;do if((a[(c[n>>2]|0)+5>>0]|0)==47?(a[(c[n>>2]|0)+6>>0]|0)==47:0){c[x>>2]=7;while(1){if(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)k=(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)!=47;else k=0;l=c[x>>2]|0;if(!k)break;c[x>>2]=l+1}if((l|0)!=7){if((c[x>>2]|0)==16?(EQ(26637,(c[n>>2]|0)+7|0,9)|0)==0:0)break;T=(c[n>>2]|0)+7|0;c[H>>2]=(c[x>>2]|0)-7;c[H+4>>2]=T;T=Od(26647,H)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break a}}while(0);c[u>>2]=0;b:while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[x>>2]=(c[x>>2]|0)+1;do if(((a[t>>0]|0)==37?(d[19011+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&8|0)!=0:0)?(d[19011+(d[(c[n>>2]|0)+((c[x>>2]|0)+1)>>0]|0)>>0]&8|0)!=0:0){T=c[x>>2]|0;c[x>>2]=T+1;c[F>>2]=((Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255)<<4;T=c[x>>2]|0;c[x>>2]=T+1;T=(Ji(a[(c[n>>2]|0)+T>>0]|0)|0)&255;c[F>>2]=(c[F>>2]|0)+T;if(c[F>>2]|0){a[t>>0]=c[F>>2];break}while(1){T=a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[u>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[u>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[x>>2]=(c[x>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[u>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[M>>2]|0)+((c[y>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0))continue b;if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==35)continue b;if((a[(c[n>>2]|0)+((c[x>>2]|0)-1)>>0]|0)==38)continue b;c[x>>2]=(c[x>>2]|0)+1}else{if((a[t>>0]|0)==38){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}else c[u>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[u>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[u>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[u>>2]=1}while(0);H=a[t>>0]|0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=H}if((c[u>>2]|0)==1){T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0}T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=c[y>>2]|0;c[y>>2]=T+1;a[(c[M>>2]|0)+T>>0]=0;T=(Jf(c[M>>2]|0)|0)+1|0;c[O>>2]=(c[M>>2]|0)+T;while(1){if(!(a[c[O>>2]>>0]|0)){R=84;break a}c[D>>2]=Jf(c[O>>2]|0)|0;c[P>>2]=(c[O>>2]|0)+((c[D>>2]|0)+1);c[E>>2]=Jf(c[P>>2]|0)|0;if((c[D>>2]|0)==3?(EQ(26675,c[O>>2]|0,3)|0)==0:0)c[Q>>2]=c[P>>2];else{c[s>>2]=0;c[N>>2]=0;c[A>>2]=0;c[z>>2]=0;if((c[D>>2]|0)==5?(EQ(26679,c[O>>2]|0,5)|0)==0:0){c[A>>2]=393216;c[s>>2]=4940;c[z>>2]=c[A>>2];c[N>>2]=26679}if((c[D>>2]|0)==4?(EQ(26685,c[O>>2]|0,4)|0)==0:0){c[A>>2]=135;c[s>>2]=4964;c[z>>2]=c[A>>2]&c[v>>2];c[N>>2]=26690}if(c[s>>2]|0){c[B>>2]=0;c[w>>2]=0;while(1){if(!(c[(c[s>>2]|0)+(c[w>>2]<<3)>>2]|0))break;c[L>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)>>2];T=c[E>>2]|0;if((T|0)==(Jf(c[L>>2]|0)|0)?0==(EQ(c[P>>2]|0,c[L>>2]|0,c[E>>2]|0)|0):0){R=73;break}c[w>>2]=(c[w>>2]|0)+1}if((R|0)==73){R=0;c[B>>2]=c[(c[s>>2]|0)+(c[w>>2]<<3)+4>>2]}if(!(c[B>>2]|0)){R=76;break}if((c[B>>2]&-129|0)>(c[z>>2]|0)){R=78;break}c[v>>2]=c[v>>2]&~c[A>>2]|c[B>>2]}}c[O>>2]=(c[P>>2]|0)+((c[E>>2]|0)+1)}if((R|0)==76){T=c[P>>2]|0;c[I>>2]=c[N>>2];c[I+4>>2]=T;T=Od(26697,I)|0;c[c[r>>2]>>2]=T;c[G>>2]=1;break}else if((R|0)==78){T=c[P>>2]|0;c[J>>2]=c[N>>2];c[J+4>>2]=T;T=Od(26717,J)|0;c[c[r>>2]>>2]=T;c[G>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[l>>2]|0)+2|0;c[M>>2]=Jd(T,((T|0)<0)<<31>>31)|0;if(c[M>>2]|0){rR(c[M>>2]|0,c[n>>2]|0,c[l>>2]|0)|0;a[(c[M>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[M>>2]|0)+((c[l>>2]|0)+1)>>0]=0;c[v>>2]=c[v>>2]&-65;R=84;break}c[m>>2]=7;T=c[m>>2]|0;i=S;return T|0}while(0);if((R|0)==84?(T=Cd(c[Q>>2]|0)|0,c[c[p>>2]>>2]=T,(c[c[p>>2]>>2]|0)==0):0){c[K>>2]=c[Q>>2];T=Od(26741,K)|0;c[c[r>>2]>>2]=T;c[G>>2]=1}if(c[G>>2]|0){Kd(c[M>>2]|0);c[M>>2]=0}c[c[o>>2]>>2]=c[v>>2];c[c[q>>2]>>2]=c[M>>2];c[m>>2]=c[G>>2];T=c[m>>2]|0;i=S;return T|0}function $j(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+192|0;C=I+76|0;m=I+72|0;n=I+68|0;o=I+64|0;D=I+60|0;p=I+56|0;q=I+52|0;F=I+48|0;E=I+44|0;H=I+36|0;x=I+180|0;z=I+80|0;u=I+32|0;t=I+28|0;v=I+24|0;w=I+20|0;A=I+16|0;s=I+12|0;y=I+8|0;r=I+4|0;G=I;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[D>>2]=j;c[p>>2]=k;c[q>>2]=l;c[F>>2]=0;c[I+40>>2]=0;c[H>>2]=0;if(!(c[n>>2]|0))h=1;else h=(a[c[n>>2]>>0]|0)==0;c[u>>2]=h&1;if((c[n>>2]|0)!=0?(HQ(c[n>>2]|0,26445)|0)==0:0)h=1;else B=5;do if((B|0)==5){if((c[u>>2]|0)!=0?(Xq(c[o>>2]|0)|0)!=0:0){h=1;break}h=(c[q>>2]&128|0)!=0}while(0);c[t>>2]=h&1;if(c[t>>2]|0)c[p>>2]=c[p>>2]|2;if((c[q>>2]&256|0)!=0?(c[t>>2]|0)!=0|(c[u>>2]|0)!=0:0)c[q>>2]=c[q>>2]&-257|512;c[E>>2]=kg(48,0)|0;if(!(c[E>>2]|0)){c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[o>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[u>>2]|0)){if((c[t>>2]|0)!=0?(c[q>>2]&64|0)==0:0)break;if(c[q>>2]&131072){c[v>>2]=(Jf(c[n>>2]|0)|0)+1;c[w>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;u=(c[w>>2]|0)>(c[v>>2]|0)?c[w>>2]|0:c[v>>2]|0;c[A>>2]=$f(u,((u|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[A>>2]|0)){Kd(c[E>>2]|0);c[C>>2]=7;H=c[C>>2]|0;i=I;return H|0}if(!(c[t>>2]|0)){c[H>>2]=Yq(c[m>>2]|0,c[n>>2]|0,c[w>>2]|0,c[A>>2]|0)|0;if(c[H>>2]|0){Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}}else rR(c[A>>2]|0,c[n>>2]|0,c[v>>2]|0)|0;c[F>>2]=c[1215];while(1){if(!(c[F>>2]|0))break;w=c[A>>2]|0;if(0==(HQ(w,Ii(c[c[F>>2]>>2]|0,0)|0)|0)?(w=wi(c[c[F>>2]>>2]|0)|0,(w|0)==(c[m>>2]|0)):0){B=29;break}c[F>>2]=c[(c[F>>2]|0)+68>>2]}do if((B|0)==29){c[s>>2]=(c[(c[o>>2]|0)+20>>2]|0)-1;while(1){if((c[s>>2]|0)<0){B=35;break}c[y>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[s>>2]<<4)+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+4>>2]|0)==(c[F>>2]|0):0)break;c[s>>2]=(c[s>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[F>>2];y=(c[F>>2]|0)+64|0;c[y>>2]=(c[y>>2]|0)+1;break}Kd(c[A>>2]|0);Kd(c[E>>2]|0);c[C>>2]=19;H=c[C>>2]|0;i=I;return H|0}while(0);Kd(c[A>>2]|0)}}while(0);do if(!(c[F>>2]|0)){c[F>>2]=kg(84,0)|0;if(!(c[F>>2]|0)){c[H>>2]=7;break}c[H>>2]=_q(c[m>>2]|0,c[F>>2]|0,c[n>>2]|0,88,c[p>>2]|0,c[q>>2]|0,149)|0;if(!(c[H>>2]|0)){A=(c[o>>2]|0)+40|0;$q(c[c[F>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0);c[H>>2]=ar(c[c[F>>2]>>2]|0,100,z)|0}if(!(c[H>>2]|0)){a[(c[F>>2]|0)+16>>0]=c[p>>2];c[(c[F>>2]|0)+4>>2]=c[o>>2];cr(c[c[F>>2]>>2]|0,171,c[F>>2]|0);c[(c[E>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+8>>2]=0;c[(c[F>>2]|0)+12>>2]=0;if((dr(c[c[F>>2]>>2]|0)|0)<<24>>24){A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|1}c[(c[F>>2]|0)+32>>2]=d[z+16>>0]<<8|d[z+17>>0]<<16;if(((c[(c[F>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[F>>2]|0)+32>>2]|0)>>>0<=65536:0)?((c[(c[F>>2]|0)+32>>2]|0)-1&c[(c[F>>2]|0)+32>>2]|0)==0:0){a[x>>0]=a[z+20>>0]|0;A=(c[F>>2]|0)+22|0;b[A>>1]=e[A>>1]|2;A=(er(z+52|0)|0)!=0;a[(c[F>>2]|0)+17>>0]=A?1:0;A=(er(z+64|0)|0)!=0;a[(c[F>>2]|0)+18>>0]=A?1:0}else{c[(c[F>>2]|0)+32>>2]=0;if(!((c[n>>2]|0)==0|(c[t>>2]|0)!=0)){a[(c[F>>2]|0)+17>>0]=0;a[(c[F>>2]|0)+18>>0]=0}a[x>>0]=0}c[H>>2]=Ti(c[c[F>>2]>>2]|0,(c[F>>2]|0)+32|0,d[x>>0]|0)|0;if(!(c[H>>2]|0)){c[(c[F>>2]|0)+36>>2]=(c[(c[F>>2]|0)+32>>2]|0)-(d[x>>0]|0);if(a[(c[E>>2]|0)+9>>0]|0){c[(c[F>>2]|0)+64>>2]=1;c[(c[F>>2]|0)+68>>2]=c[1215];c[1215]=c[F>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break a;B=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0;c[G>>2]=B;if((B|0)!=0?(d[(c[G>>2]|0)+9>>0]|0)!=0:0)break;c[r>>2]=(c[r>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)k=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else k=0;h=c[(c[G>>2]|0)+24>>2]|0;if(!k)break;c[G>>2]=h}c[(c[E>>2]|0)+24>>2]=h;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[D>>2]>>2]=c[E>>2]}if(!(c[H>>2]|0)){if(!(Wq(c[E>>2]|0,0,0)|0))Lj(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if((c[F>>2]|0)!=0?(c[c[F>>2]>>2]|0)!=0:0)fr(c[c[F>>2]>>2]|0)|0;Kd(c[F>>2]|0);Kd(c[E>>2]|0);c[c[D>>2]>>2]=0}c[C>>2]=c[H>>2];H=c[C>>2]|0;i=I;return H|0}function ak(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=Wq(c[g>>2]|0,84,150)|0;else c[h>>2]=rh(0,84,0)|0;if(!(c[h>>2]|0)){lh(c[f>>2]|0);e=c[h>>2]|0;i=j;return e|0}if(d[(c[h>>2]|0)+76>>0]|0){e=c[h>>2]|0;i=j;return e|0}xj((c[h>>2]|0)+8|0);xj((c[h>>2]|0)+24|0);xj((c[h>>2]|0)+40|0);xj((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;e=c[h>>2]|0;i=j;return e|0}function bk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=yf(c[b>>2]|0,26439,2)|0;if((c[e>>2]|0)!=7){i=d;return}lh(c[b>>2]|0);i=d;return}function ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k;b=k+24|0;e=k+20|0;d=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;c[b>>2]=a;c[d>>2]=1;if(!(c[382]|0)){i=k;return}c[e>>2]=0;while(1){if(!(c[d>>2]|0))break;if((c[e>>2]|0)>>>0>=(c[382]|0)>>>0){c[h>>2]=0;c[d>>2]=0}else c[h>>2]=c[(c[383]|0)+(c[e>>2]<<2)>>2];c[j>>2]=0;if((c[h>>2]|0)!=0?(a=Ob[c[h>>2]&255](c[b>>2]|0,j,4004)|0,c[f>>2]=a,(a|0)!=0):0){l=c[b>>2]|0;a=c[f>>2]|0;c[g>>2]=c[j>>2];jg(l,a,26400,g);c[d>>2]=0}Kd(c[j>>2]|0);c[e>>2]=(c[e>>2]|0)+1}i=k;return}function dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;j=k+16|0;e=k+12|0;g=k+8|0;f=k+4|0;h=k;c[d>>2]=a;c[j>>2]=0;c[e>>2]=0;c[g>>2]=0;c[f>>2]=0;c[h>>2]=0;ek(h);c[j>>2]=fk(c[d>>2]|0)|0;if(c[j>>2]|0){c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}gk(g);hk(f);c[e>>2]=Id(20)|0;if(c[e>>2]|0)ik(c[e>>2]|0,1,1);else c[j>>2]=7;do if(!(c[j>>2]|0)){if(((jk(c[e>>2]|0,21055,7,c[g>>2]|0)|0)==0?(jk(c[e>>2]|0,21062,7,c[f>>2]|0)|0)==0:0)?(jk(c[e>>2]|0,21069,10,c[h>>2]|0)|0)==0:0)break;c[j>>2]=7}while(0);if((((((0==(c[j>>2]|0)?(h=kk(c[d>>2]|0,c[e>>2]|0,21079)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21094,-1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21102,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21110,1)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21110,2)|0,c[j>>2]=h,0==(h|0)):0)?(h=yf(c[d>>2]|0,21120,1)|0,c[j>>2]=h,0==(h|0)):0){c[j>>2]=ef(c[d>>2]|0,21129,1716,c[e>>2]|0,151)|0;if(!(c[j>>2]|0))c[j>>2]=ef(c[d>>2]|0,21134,1716,c[e>>2]|0,0)|0;if(!(c[j>>2]|0))c[j>>2]=mk(c[d>>2]|0,c[e>>2]|0)|0;c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}if(c[e>>2]|0){nk(c[e>>2]|0);Kd(c[e>>2]|0)}c[b>>2]=c[j>>2];j=c[b>>2]|0;i=k;return j|0}function ek(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2336;i=b;return}function fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=df(c[e>>2]|0,26051,2244,0)|0;i=d;return c[b>>2]|0}function gk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2216;i=b;return}function hk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=2188;i=b;return}function ik(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f;j=f+5|0;h=f+4|0;c[g>>2]=b;a[j>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[j>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;i=f;return}function jk(b,d,e,f){b=b|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,r=0,s=0,t=0;s=i;i=i+48|0;k=s+40|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;q=s+20|0;p=s+16|0;g=s+12|0;r=s+8|0;t=s+4|0;h=s;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[t>>2]=Fk(a[c[l>>2]>>0]|0)|0;c[q>>2]=Yb[c[t>>2]&255](c[m>>2]|0,c[n>>2]|0)|0;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;c[g>>2]=Gk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[o>>2]|0))_p(c[l>>2]|0,c[g>>2]|0,c[p>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[o>>2];c[k>>2]=c[h>>2];t=c[k>>2]|0;i=s;return t|0}if(!(c[o>>2]|0)){c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}if(!((c[(c[l>>2]|0)+12>>2]|0)==0?($p(c[l>>2]|0,8)|0)!=0:0))j=10;do if((j|0)==10){if((c[(c[l>>2]|0)+4>>2]|0)>=(c[(c[l>>2]|0)+12>>2]|0)?($p(c[l>>2]|0,c[(c[l>>2]|0)+12>>2]<<1)|0)!=0:0)break;c[r>>2]=aq(20)|0;if(!(c[r>>2]|0)){c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}do if((c[m>>2]|0)!=0?(a[(c[l>>2]|0)+1>>0]|0)!=0:0){f=aq(c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=f;f=c[r>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){rR(c[f+12>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;break}ok(f);c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}else c[(c[r>>2]|0)+12>>2]=c[m>>2];while(0);c[(c[r>>2]|0)+16>>2]=c[n>>2];t=(c[l>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[p>>2]=c[q>>2]&(c[(c[l>>2]|0)+12>>2]|0)-1;bq(c[l>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+(c[p>>2]<<3)|0,c[r>>2]|0);c[(c[r>>2]|0)+8>>2]=c[o>>2];c[k>>2]=0;t=c[k>>2]|0;i=s;return t|0}while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=c[o>>2];t=c[k>>2]|0;i=s;return t|0}function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j+12|0;h=j+8|0;g=j+4|0;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;c[h>>2]=0;c[g>>2]=c[k>>2];c[j>>2]=5;if(!(c[h>>2]|0))c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,1,5,c[g>>2]|0,225,0,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=wf(c[e>>2]|0,c[f>>2]|0,2,5,c[g>>2]|0,225,0,0)|0;k=c[h>>2]|0;i=j;return k|0}function lk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];nk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=df(c[g>>2]|0,21139,1808,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function nk(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;ok(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if((a[(c[d>>2]|0)+1>>0]|0)!=0?(c[(c[e>>2]|0)+12>>2]|0)!=0:0)ok(c[(c[e>>2]|0)+12>>2]|0);ok(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;i=g;return}function ok(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function pk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=i;i=i+64|0;h=w+56|0;x=w+52|0;j=w+48|0;k=w+44|0;l=w+40|0;m=w+36|0;n=w+32|0;s=w+28|0;r=w+24|0;t=w+20|0;u=w+16|0;p=w+12|0;q=w+8|0;v=w+4|0;o=w;c[x>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[s>>2]=0;c[r>>2]=0;c[t>>2]=0;c[p>>2]=0;c[u>>2]=ff(c[x>>2]|0,21152)|0;if(c[u>>2]|0){c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}c[q>>2]=(c[k>>2]|0)-3;c[u>>2]=Ak(c[q>>2]|0,(c[l>>2]|0)+12|0,p)|0;if(!(c[u>>2]|0)){if((c[q>>2]|0)<1)c[v>>2]=21055;else c[v>>2]=c[c[p>>2]>>2];c[u>>2]=Bk(c[j>>2]|0,c[v>>2]|0,r,c[n>>2]|0)|0}if(!(c[u>>2]|0)){c[o>>2]=(c[p>>2]|0)+4;c[u>>2]=Ob[c[(c[r>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[o>>2]|0,t)|0}if((c[u>>2]|0)==0?(c[s>>2]=Id(20)|0,(c[s>>2]|0)==0):0)c[u>>2]=7;if(c[u>>2]|0){if(c[t>>2]|0)Tb[c[(c[r>>2]|0)+8>>2]&255](c[t>>2]|0)|0}else{x=c[s>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[s>>2]|0)+12>>2]=c[r>>2];c[(c[s>>2]|0)+16>>2]=c[t>>2];c[c[m>>2]>>2]=c[s>>2]}Kd(c[p>>2]|0);c[h>>2]=c[u>>2];x=c[h>>2]|0;i=w;return x|0}function qk(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+4|0;j=k;c[k+8>>2]=b;c[g>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if(((d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+5>>0]|0|0)!=0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[j>>2]=(c[j>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else if((e|0)==8){c[(c[g>>2]|0)+20>>2]=0;c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}return 0}function rk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);i=b;return 0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Id(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;i=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;i=g;return f|0}return 0}function tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zk(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;h=q+40|0;j=q+36|0;r=q+32|0;k=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;l=q;c[j>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[k>>2]=g;c[o>>2]=1;c[m>>2]=c[j>>2];c[n>>2]=c[c[j>>2]>>2];zk(c[m>>2]|0);do if((c[r>>2]|0)==1){c[p>>2]=ae(c[c[k>>2]>>2]|0)|0;c[l>>2]=be(c[c[k>>2]>>2]|0)|0;r=Id((c[l>>2]|0)+1|0)|0;c[(c[m>>2]|0)+4>>2]=r;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[o>>2]=7;break}rR(c[(c[m>>2]|0)+4>>2]|0,c[p>>2]|0,c[l>>2]|0)|0;a[(c[(c[m>>2]|0)+4>>2]|0)+(c[l>>2]|0)>>0]=0;c[o>>2]=Wb[c[(c[(c[n>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[n>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[l>>2]|0,(c[m>>2]|0)+8|0)|0;if(!(c[o>>2]|0))c[c[(c[m>>2]|0)+8>>2]>>2]=c[(c[n>>2]|0)+16>>2]}while(0);if(c[o>>2]|0){c[h>>2]=c[o>>2];r=c[h>>2]|0;i=q;return r|0}else{c[h>>2]=vk(c[j>>2]|0)|0;r=c[h>>2]|0;i=q;return r|0}return 0}function vk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=Sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;i=e;return g|0}zk(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;i=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;i=e;return g|0}function wk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];i=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;e=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[j>>2];switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);i=g;return 0}case 1:{ne(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);i=g;return 0}case 2:{ke(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);i=g;return 0}case 3:{ke(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);i=g;return 0}default:{ke(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);i=g;return 0}}return 0}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;i=d;return 0}function zk(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];Tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;i=e;return}function Ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;e=o+32|0;f=o+28|0;g=o+24|0;n=o+20|0;j=o+16|0;l=o+12|0;h=o+8|0;m=o+4|0;k=o;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[n>>2]=0;if(!(c[e>>2]|0)){c[c[g>>2]>>2]=0;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;d=(KQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0)+1|0;c[l>>2]=(c[l>>2]|0)+d;c[j>>2]=(c[j>>2]|0)+1}d=Id((c[e>>2]<<2)+(c[l>>2]|0)|0)|0;c[h>>2]=d;c[c[g>>2]>>2]=d;if(!(c[h>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=(c[h>>2]|0)+(c[e>>2]<<2);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[e>>2]|0))break;c[k>>2]=KQ(c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];rR(c[m>>2]|0,c[(c[f>>2]|0)+(c[j>>2]<<2)>>2]|0,(c[k>>2]|0)+1|0)|0;Mk(c[m>>2]|0);c[m>>2]=(c[m>>2]|0)+((c[k>>2]|0)+1);c[j>>2]=(c[j>>2]|0)+1}n=c[n>>2]|0;i=o;return n|0}function Bk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;l=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=KQ(c[g>>2]|0)|0;c[k>>2]=Ck(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[k>>2]|0){c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;o=c[f>>2]|0;i=m;return o|0}else{o=c[j>>2]|0;c[l>>2]=c[g>>2];Dk(o,21203,l);c[f>>2]=1;o=c[f>>2]|0;i=m;return o|0}return 0}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Ek(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){j=0;i=f;return j|0}j=c[(c[e>>2]|0)+8>>2]|0;i=f;return j|0}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;b=Nd(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=b;i=e;return}function Ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+16>>2]|0)!=0:0){c[l>>2]=Fk(a[c[g>>2]>>0]|0)|0;c[k>>2]=Yb[c[l>>2]&255](c[h>>2]|0,c[j>>2]|0)|0;c[f>>2]=Gk(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;l=c[f>>2]|0;i=m;return l|0}c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Fk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=180;else c[b>>2]=181;i=d;return c[b>>2]|0}function Gk(b,d,e,f){b=b|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;q=i;i=i+48|0;k=q+32|0;g=q+28|0;l=q+24|0;m=q+20|0;h=q+16|0;o=q+12|0;n=q+8|0;p=q+4|0;j=q;c[g>>2]=b;c[l>>2]=d;c[m>>2]=e;c[h>>2]=f;a:do if(c[(c[g>>2]|0)+16>>2]|0){c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<3);c[o>>2]=c[(c[j>>2]|0)+4>>2];c[n>>2]=c[c[j>>2]>>2];c[p>>2]=Hk(a[c[g>>2]>>0]|0)|0;while(1){d=c[n>>2]|0;c[n>>2]=d+-1;if(!((d|0)!=0?(c[o>>2]|0)!=0:0))break a;d=(Wb[c[p>>2]&255](c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0;g=c[o>>2]|0;if(d)break;c[o>>2]=c[g>>2]}c[k>>2]=g;p=c[k>>2]|0;i=q;return p|0}while(0);c[k>>2]=0;p=c[k>>2]|0;i=q;return p|0}function Hk(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;i=d;return c[b>>2]|0}function Ik(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=LQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Jk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;h=k+8|0;j=k+4|0;l=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[l>>2]=e;if((c[h>>2]|0)!=(c[l>>2]|0)){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{c[f>>2]=EQ(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;l=c[f>>2]|0;i=k;return l|0}return 0}function Kk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;c[g>>2]=c[j>>2];c[f>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=KQ(c[g>>2]|0)|0;while(1){d=c[f>>2]|0;if((c[e>>2]|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0];c[e>>2]=(c[e>>2]|0)+-1}i=h;return d&2147483647|0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[j>>2];while(1){j=c[e>>2]|0;c[e>>2]=j+-1;d=c[f>>2]|0;if((j|0)<=0)break;b=d<<3^c[f>>2];j=c[g>>2]|0;c[g>>2]=j+1;c[f>>2]=b^a[j>>0]}i=h;return d&2147483647|0}function Mk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+8|0;h=j+12|0;f=j+4|0;g=j;c[e>>2]=b;a[h>>0]=a[c[e>>2]>>0]|0;if((((a[h>>0]|0)!=91?(a[h>>0]|0)!=39:0)?(a[h>>0]|0)!=34:0)?(a[h>>0]|0)!=96:0){i=j;return}c[f>>2]=1;c[g>>2]=0;if((a[h>>0]|0)==91)a[h>>0]=93;while(1){if(!(a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=b+1|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)!=(a[h>>0]|0)){c[f>>2]=d;b=a[(c[e>>2]|0)+b>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;continue}if((a[(c[e>>2]|0)+d>>0]|0)!=(a[h>>0]|0))break;b=a[h>>0]|0;d=c[g>>2]|0;c[g>>2]=d+1;a[(c[e>>2]|0)+d>>0]=b;c[f>>2]=(c[f>>2]|0)+2}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;i=j;return}function Nk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Ok(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+32|0;o=h+20|0;n=h+16|0;m=h+12|0;l=h+8|0;k=h+4|0;j=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[k>>2]=f;c[j>>2]=g;g=Jp(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;i=h;return g|0}function Pk(b,e){b=b|0;e=e|0;var f=0,g=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;u=i;i=i+64|0;r=u+48|0;v=u+44|0;s=u+40|0;o=u+36|0;g=u+32|0;j=u+28|0;n=u+24|0;k=u+20|0;l=u+16|0;m=u+12|0;f=u+8|0;p=u+4|0;t=u;c[v>>2]=b;c[s>>2]=e;c[o>>2]=c[v>>2];c[j>>2]=-1;c[n>>2]=-1;c[k>>2]=-1;c[l>>2]=-1;c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=5.0e6;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[c[s>>2]>>2]|0))break;c[p>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[g>>2]|0)*12|0);e=c[p>>2]|0;b:do if(!(d[(c[p>>2]|0)+5>>0]|0)){if((d[e+4>>0]|0)==64){q=5;break a}}else{if((c[e>>2]|0)<0)e=1;else e=(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[f>>2]=e&1;if((c[j>>2]|0)<0?((c[f>>2]|0)!=0?(d[(c[p>>2]|0)+4>>0]|0)==2:0):0){c[(c[s>>2]|0)+20>>2]=1;h[(c[s>>2]|0)+40>>3]=1.0;c[j>>2]=c[g>>2]}if(((d[(c[p>>2]|0)+4>>0]|0)==64?(c[c[p>>2]>>2]|0)>=0:0)?(c[c[p>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[s>>2]|0)+20>>2]=2+(c[c[p>>2]>>2]|0);h[(c[s>>2]|0)+40>>3]=2.0;c[j>>2]=c[g>>2]}if((d[(c[p>>2]|0)+4>>0]|0)==2?(c[c[p>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[n>>2]=c[g>>2];if(c[f>>2]|0)switch(d[(c[p>>2]|0)+4>>0]|0){case 4:case 32:{c[k>>2]=c[g>>2];break b}case 16:case 8:{c[l>>2]=c[g>>2];break b}default:break b}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((q|0)==5){c[(c[s>>2]|0)+20>>2]=0;h[(c[s>>2]|0)+40>>3]=1.e+50;Hp(c[s>>2]|0,0,262144);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)==1)Ip(c[s>>2]|0);c[m>>2]=1;if((c[j>>2]|0)>=0){v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)>>2]=v;a[(c[(c[s>>2]|0)+16>>2]|0)+(c[j>>2]<<3)+4>>0]=1}if((c[n>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=v}if((c[k>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=v}if((c[l>>2]|0)>=0){v=(c[s>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[m>>2]|0;c[m>>2]=v+1;c[(c[(c[s>>2]|0)+16>>2]|0)+(c[l>>2]<<3)>>2]=v}do if((c[(c[s>>2]|0)+8>>2]|0)==1){c[t>>2]=c[(c[s>>2]|0)+12>>2];if((c[c[t>>2]>>2]|0)>=0?(c[c[t>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;e=(c[s>>2]|0)+24|0;if(a[(c[t>>2]|0)+4>>0]|0)c[e>>2]=24232;else c[e>>2]=24237;c[(c[s>>2]|0)+32>>2]=1}while(0);c[r>>2]=0;v=c[r>>2]|0;i=u;return v|0}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[f>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=40)break;Yd(c[(c[d>>2]|0)+56+(c[b>>2]<<2)>>2]|0)|0;c[b>>2]=(c[b>>2]|0)+1}Kd(c[(c[d>>2]|0)+240>>2]|0);Kd(c[(c[d>>2]|0)+216>>2]|0);Kd(c[(c[d>>2]|0)+220>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);Tb[c[(c[c[(c[d>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+36>>2]|0)|0;Kd(c[d>>2]|0);i=e;return 0}function Rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;g=n;b=n+56|0;e=n+52|0;f=n+48|0;m=n+44|0;d=n+40|0;c[b>>2]=a;c[e>>2]=c[b>>2];c[f>>2]=0;c[m>>2]=c[(c[e>>2]|0)+16>>2];c[d>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[(c[e>>2]|0)+40>>2]|0)){a=c[d>>2]|0;o=c[(c[e>>2]|0)+20>>2]|0;c[g>>2]=c[m>>2];c[g+4>>2]=o;ll(f,a,24432,g)}o=c[d>>2]|0;g=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=g;ll(f,o,24469,k);o=c[d>>2]|0;k=c[(c[e>>2]|0)+20>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=k;ll(f,o,24507,l);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;ll(f,o,24543,h);o=c[d>>2]|0;l=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[m>>2];c[j+4>>2]=l;ll(f,o,24580,j);if(!(c[f>>2]|0)){o=Qk(c[b>>2]|0)|0;i=n;return o|0}else{o=c[f>>2]|0;i=n;return o|0}return 0}function Sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Id(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){d=c[d>>2]|0;a=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[e>>2]=0;g=c[e>>2]|0;i=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;i=f;return g|0}return 0}function Tk(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Yd(c[(c[d>>2]|0)+8>>2]|0)|0;ep(c[(c[d>>2]|0)+12>>2]|0);Gp(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);xm(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);i=b;return 0}function Uk(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+112|0;B=E+32|0;A=E;t=E+108|0;u=E+104|0;k=E+100|0;n=E+96|0;l=E+88|0;z=E+84|0;D=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;q=E+64|0;r=E+60|0;x=E+56|0;y=E+52|0;m=E+48|0;p=E+44|0;s=E+40|0;c[u>>2]=e;c[k>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[l>>2]=j;c[z>>2]=0;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[u>>2];c[q>>2]=0;c[r>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[k>>2]&65535;c[m>>2]=0;if(c[o>>2]|0){e=c[m>>2]|0;c[m>>2]=e+1;c[q>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&65536){e=c[m>>2]|0;c[m>>2]=e+1;c[r>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&131072){e=c[m>>2]|0;c[m>>2]=e+1;c[x>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}if(c[k>>2]&262144){e=c[m>>2]|0;c[m>>2]=e+1;c[y>>2]=c[(c[l>>2]|0)+(e<<2)>>2]}Yd(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);xm(c[(c[w>>2]|0)+92>>2]|0);ep(c[(c[w>>2]|0)+12>>2]|0);k=(c[u>>2]|0)+4|0;l=k+92|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));e=fp(c[x>>2]|0,0,-2147483648)|0;h=(c[w>>2]|0)+72|0;c[h>>2]=e;c[h+4>>2]=C;h=fp(c[y>>2]|0,-1,2147483647)|0;e=(c[w>>2]|0)+80|0;c[e>>2]=h;c[e+4>>2]=C;if(c[n>>2]|0)a[(c[w>>2]|0)+52>>0]=(a[c[n>>2]>>0]|0)==68;else a[(c[w>>2]|0)+52>>0]=a[(c[v>>2]|0)+231>>0]|0;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[p>>2]=(c[o>>2]|0)-2;c[s>>2]=ae(c[q>>2]|0)|0;if((c[s>>2]|0)==0?(fe(c[q>>2]|0)|0)!=5:0){c[t>>2]=7;D=c[t>>2]|0;i=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[r>>2]|0){r=de(c[r>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=r}c[z>>2]=gp(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[p>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}c[z>>2]=hp(c[w>>2]|0)|0;wm(c[v>>2]|0);if(!(c[z>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}while(0);do if(!(c[o>>2]|0)){k=c[(c[v>>2]|0)+216>>2]|0;l=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=l+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;B=(d[(c[w>>2]|0)+52>>0]|0)!=0?24232:24237;c[A>>2]=k;y=A+8|0;c[y>>2]=q;c[y+4>>2]=r;y=A+16|0;c[y>>2]=s;c[y+4>>2]=x;c[A+24>>2]=B;c[D>>2]=Od(24241,A)|0}else{A=(d[l+52>>0]|0)!=0?24232:24237;c[B>>2]=k;c[B+4>>2]=A;c[D>>2]=Od(24303,B)|0}if(c[D>>2]|0){c[z>>2]=af(c[(c[v>>2]|0)+12>>2]|0,c[D>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[D>>2]|0);break}else{c[z>>2]=7;break}}else if((c[o>>2]|0)==1?(c[z>>2]=Dn(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[z>>2]|0)==0):0)c[z>>2]=Pe(c[(c[w>>2]|0)+8>>2]|0,1,c[q>>2]|0)|0;while(0);if(c[z>>2]|0){c[t>>2]=c[z>>2];D=c[t>>2]|0;i=E;return D|0}else{c[t>>2]=Vk(c[u>>2]|0)|0;D=c[t>>2]|0;i=E;return D|0}return 0}function Vk(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=d;c[f>>2]=c[e>>2];if((b[(c[f>>2]|0)+4>>1]|0)!=1?(b[(c[f>>2]|0)+4>>1]|0)!=0:0){c[g>>2]=dp(c[e>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}d=100!=(ue(c[(c[f>>2]|0)+8>>2]|0)|0);e=c[f>>2]|0;if(d){a[e+6>>0]=1;c[g>>2]=Zd(c[(c[f>>2]|0)+8>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}else{d=Ee(c[e+8>>2]|0,0)|0;f=(c[f>>2]|0)+32|0;c[f>>2]=d;c[f+4>>2]=C;c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function Wk(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+6>>0]|0|0}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;e=l+20|0;f=l+16|0;k=l+12|0;j=l+8|0;h=l+4|0;g=l;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[k>>2]=0;c[j>>2]=c[m>>2];c[h>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+1|0)){m=(c[j>>2]|0)+32|0;le(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==(c[(c[h>>2]|0)+24>>2]|0)){ge(c[e>>2]|0,j,4,-1);m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[(c[j>>2]|0)+16>>2]|0;le(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[k>>2]|0;i=l;return m|0}c[k>>2]=rn(0,c[j>>2]|0)|0;if(c[k>>2]|0){m=c[k>>2]|0;i=l;return m|0}if((c[f>>2]|0)==((c[(c[h>>2]|0)+24>>2]|0)+2|0)){c[g>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0)c[g>>2]=De(c[(c[j>>2]|0)+8>>2]|0,(c[(c[h>>2]|0)+24>>2]|0)+1|0)|0;ke(c[e>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}else{m=ze(c[(c[j>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[k>>2]|0;i=l;return m|0}m=c[e>>2]|0;pe(m,Ge(c[(c[j>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[k>>2]|0;i=l;return m|0}return 0}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function Zk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=Eo(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return a|0}function _k(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=jl(c[d>>2]|0)|0;i=b;return a|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;h=g+20|0;e=g+12|0;f=g+8|0;d=g+4|0;b=g;c[h>>2]=a;c[g+16>>2]=64;c[e>>2]=c[h>>2];c[f>>2]=kl(c[e>>2]|0)|0;if(((((c[f>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)>>>0>4:0)?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)?(c[(c[e>>2]|0)+48>>2]|0)!=255:0)?(c[d>>2]=0,c[f>>2]=co(c[e>>2]|0,d)|0,c[b>>2]=_(c[(c[e>>2]|0)+52>>2]|0,c[d>>2]|0)|0,c[b>>2]=(c[b>>2]|0)+((c[b>>2]|0)/2|0),(c[b>>2]|0)>64):0)c[f>>2]=eo(c[e>>2]|0,c[b>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;wm(c[e>>2]|0);i=g;return c[f>>2]|0}function al(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function bl(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];hl(c[d>>2]|0);i=b;return 0}function cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+80|0;j=m+64|0;n=m+60|0;g=m+48|0;k=m+44|0;l=m+8|0;h=m;c[n>>2]=e;e=c[n>>2]|0;c[m+56>>2]=a;c[m+52>>2]=b;c[g>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[l>>2]=c[515];c[l+4>>2]=c[516];c[l+8>>2]=c[517];c[l+12>>2]=c[518];c[l+16>>2]=c[519];c[l+20>>2]=c[520];c[l+24>>2]=c[521];c[l+28>>2]=c[522];c[h>>2]=0;while(1){if((c[h>>2]|0)>=4){b=6;break}n=(HQ(c[g>>2]|0,c[l+(c[h>>2]<<3)>>2]|0)|0)==0;a=c[h>>2]|0;if(n){b=4;break}c[h>>2]=a+1}if((b|0)==4){c[c[k>>2]>>2]=c[l+(a<<3)+4>>2];c[j>>2]=1;n=c[j>>2]|0;i=m;return n|0}else if((b|0)==6){c[j>>2]=0;n=c[j>>2]|0;i=m;return n|0}return 0}function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+96|0;l=o+64|0;k=o+48|0;n=o+32|0;m=o+16|0;j=o;p=o+92|0;e=o+88|0;g=o+84|0;f=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[g>>2]=c[p>>2];c[f>>2]=c[(c[g>>2]|0)+12>>2];c[h>>2]=jl(c[g>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=kl(c[g>>2]|0)|0;if(!(c[(c[g>>2]|0)+40>>2]|0)){p=c[f>>2]|0;b=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[j>>2]=c[(c[g>>2]|0)+16>>2];c[j+4>>2]=b;c[j+8>>2]=d;ll(h,p,21225,j)}if(a[(c[g>>2]|0)+230>>0]|0){p=c[f>>2]|0;j=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[m>>2]=c[(c[g>>2]|0)+16>>2];c[m+4>>2]=j;c[m+8>>2]=d;ll(h,p,21278,m)}if(a[(c[g>>2]|0)+229>>0]|0){p=c[f>>2]|0;m=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[n>>2]=c[(c[g>>2]|0)+16>>2];c[n+4>>2]=m;c[n+8>>2]=d;ll(h,p,21331,n)}p=c[f>>2]|0;d=c[(c[g>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[g>>2]|0)+16>>2];c[k+4>>2]=d;c[k+8>>2]=n;ll(h,p,21378,k);p=c[f>>2]|0;n=c[(c[g>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[l>>2]=c[(c[g>>2]|0)+16>>2];c[l+4>>2]=n;c[l+8>>2]=d;ll(h,p,21432,l);i=o;return c[h>>2]|0}function el(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=$k(c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function fl(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];hl(c[e>>2]|0);i=d;return 0}function hl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];il(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}nk(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+260>>2]=0;i=h;return}function il(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);i=b;return}function jl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;e=m+28|0;h=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;c[e>>2]=b;c[h>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){l=c[h>>2]|0;i=m;return l|0}c[k>>2]=23789;k=c[k>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[j>>2]=c[(c[e>>2]|0)+16>>2];c[j+4>>2]=b;c[l>>2]=Od(k,j)|0;if(!(c[l>>2]|0)){c[h>>2]=7;l=c[h>>2]|0;i=m;return l|0}c[g>>2]=0;c[h>>2]=af(c[(c[e>>2]|0)+12>>2]|0,c[l>>2]|0,-1,g,0)|0;if((c[h>>2]|0)==0?(c[f>>2]=(ue(c[g>>2]|0)|0)==100&1,c[h>>2]=Yd(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[f>>2];Kd(c[l>>2]|0);l=c[h>>2]|0;i=m;return l|0}function kl(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=0;while(1){if(!(c[h>>2]|0))a=(c[f>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;b=ml(b,c[(c[e>>2]|0)+272>>2]|0,c[f>>2]|0,-1)|0;c[h>>2]=b;c[h>>2]=(c[h>>2]|0)==101?0:b;c[f>>2]=(c[f>>2]|0)+1}hl(b);if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[h>>2]|0;i=j;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=0;c[h>>2]=nl(c[e>>2]|0,22,g,0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}Le(c[g>>2]|0,1,2)|0;c[h>>2]=ue(c[g>>2]|0)|0;if((c[h>>2]|0)==100){f=De(c[g>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=f;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[h>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[h>>2]=Zd(c[g>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function ll(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+32|0;g=l+28|0;h=l+24|0;j=l+8|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){i=l;return}c[j>>2]=e;c[k>>2]=Nd(c[h>>2]|0,j)|0;if(!(c[k>>2]|0)){c[c[f>>2]>>2]=7;i=l;return}else{d=$e(c[g>>2]|0,c[k>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=d;Kd(c[k>>2]|0);i=l;return}}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+128|0;f=s+120|0;g=s+116|0;h=s+112|0;j=s+108|0;r=s+104|0;n=s+100|0;p=s+8|0;q=s+96|0;m=s+80|0;l=s+24|0;k=s+16|0;o=s;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;a=p;c[a>>2]=0;c[a+4>>2]=0;c[q>>2]=0;c[k>>2]=0;a=o;c[a>>2]=0;c[a+4>>2]=0;c[r>>2]=ol(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,0,1,0,l)|0;do if((c[r>>2]|0)==0?(c[l+4>>2]|0)!=0:0){if((c[j>>2]|0)!=-1?(c[r>>2]=pl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,o)|0,(c[r>>2]|0)!=0):0)break;if((c[j>>2]|0)==-2){if((c[l+4>>2]|0)==1?0==((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[r>>2]=101;break}b=o;e=c[b+4>>2]|0;a=p;c[a>>2]=c[b>>2];c[a+4>>2]=e;c[k>>2]=1}else{e=ql(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0)|0;a=p;c[a>>2]=e;c[a+4>>2]=C;c[r>>2]=rl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,(c[j>>2]|0)+1|0,n)|0;if((c[j>>2]|0)!=-1){a=p;b=c[a+4>>2]|0;d=o;e=c[d+4>>2]|0;d=(b|0)>(e|0)|((b|0)==(e|0)?(c[a>>2]|0)>>>0>(c[d>>2]|0)>>>0:0)}else d=0;c[k>>2]=d&1}if(!(c[r>>2]|0)){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+12>>2]=1;a=m+12|0;c[a>>2]=c[a>>2]|((c[k>>2]|0)!=0?2:0);c[r>>2]=sl(c[f>>2]|0,l,m)|0;while(1){if(c[r>>2]|0)break;c[r>>2]=tl(c[f>>2]|0,l)|0;if((c[r>>2]|0)!=100)break;c[r>>2]=ul(c[f>>2]|0,q,1,c[l+40>>2]|0,c[l+44>>2]|0,c[l+48>>2]|0,c[l+52>>2]|0)|0}if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1){c[r>>2]=vl(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;if(!((c[r>>2]|0)==0&(c[q>>2]|0)!=0))break}else if(!(c[q>>2]|0))break;m=p;c[r>>2]=wl(c[f>>2]|0,c[q>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[n>>2]|0)|0;if(!(c[r>>2]|0)){if((c[j>>2]|0)!=-1?(n=p,k=c[n+4>>2]|0,o,m=c[o+4>>2]|0,!((k|0)<(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0))):0)break;o=p;p=(c[q>>2]|0)+56|0;c[r>>2]=xl(c[f>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}}}while(0);yl(c[q>>2]|0);zl(l);i=s;return c[r>>2]|0}function nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+240|0;o=t+24|0;n=t+16|0;g=t;h=t+228|0;j=t+224|0;q=t+220|0;k=t+216|0;f=t+56|0;s=t+48|0;r=t+44|0;p=t+40|0;l=t+36|0;m=t+32|0;c[h>>2]=a;c[j>>2]=b;c[q>>2]=d;c[k>>2]=e;rR(f|0,1900,160)|0;c[s>>2]=0;c[r>>2]=c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2];do if(!(c[r>>2]|0)){a=c[j>>2]|0;do if((c[j>>2]|0)!=18){e=c[f+(c[j>>2]<<2)>>2]|0;b=c[h>>2]|0;if((a|0)==7){c[n>>2]=c[b+216>>2];c[p>>2]=Od(e,n)|0;break}else{n=c[(c[h>>2]|0)+20>>2]|0;c[o>>2]=c[b+16>>2];c[o+4>>2]=n;c[p>>2]=Od(e,o)|0;break}}else{o=c[f+(a<<2)>>2]|0;f=c[(c[h>>2]|0)+20>>2]|0;n=c[(c[h>>2]|0)+220>>2]|0;c[g>>2]=c[(c[h>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=n;c[p>>2]=Od(o,g)|0}while(0);if(c[p>>2]|0){c[s>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[p>>2]|0,-1,r,0)|0;Kd(c[p>>2]|0);c[(c[h>>2]|0)+56+(c[j>>2]<<2)>>2]=c[r>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[k>>2]|0)){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}c[m>>2]=Re(c[r>>2]|0)|0;c[l>>2]=0;while(1){if(c[s>>2]|0){e=15;break}if((c[l>>2]|0)>=(c[m>>2]|0)){e=15;break}c[s>>2]=Pe(c[r>>2]|0,(c[l>>2]|0)+1|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1}if((e|0)==15){p=c[r>>2]|0;r=c[q>>2]|0;c[r>>2]=p;s=c[s>>2]|0;i=t;return s|0}return 0}function ol(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;q=u+12|0;r=u+8|0;s=u+4|0;t=u;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;d=c[t>>2]|0;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));t=hm(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;i=u;return t|0}function pl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=nl(c[g>>2]|0,15,l,0)|0;if(c[m>>2]|0){c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}m=c[l>>2]|0;e=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(m,1,e,C)|0;e=c[l>>2]|0;m=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(e,2,m,C)|0;if(100==(ue(c[l>>2]|0)|0)){e=Ee(c[l>>2]|0,0)|0;m=c[k>>2]|0;c[m>>2]=e;c[m+4>>2]=C}c[f>>2]=Zd(c[l>>2]|0)|0;m=c[f>>2]|0;i=n;return m|0}function ql(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;k=f+20|0;l=f+16|0;j=f+12|0;g=f+8|0;h=f;c[k>>2]=a;c[l>>2]=b;c[j>>2]=d;c[g>>2]=e;a=c[l>>2]|0;e=c[(c[k>>2]|0)+248>>2]|0;e=AR(a|0,((a|0)<0)<<31>>31|0,e|0,((e|0)<0)<<31>>31|0)|0;a=c[j>>2]|0;a=pR(e|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;a=AR(a|0,C|0,1024,0)|0;e=h;c[e>>2]=a;c[e+4>>2]=C;e=h;a=c[g>>2]|0;a=pR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;i=f;return a|0}function rl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;c[o>>2]=nl(c[g>>2]|0,8,n,0)|0;if(!(c[o>>2]|0)){a=c[n>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(a,1,f,C)|0;if(100==(ue(c[n>>2]|0)|0))c[m>>2]=De(c[n>>2]|0,0)|0;c[o>>2]=Zd(c[n>>2]|0)|0}if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[m>>2]|0)>=16){c[o>>2]=ml(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=0;o=c[o>>2]|0;i=p;return o|0}else{c[c[l>>2]>>2]=c[m>>2];o=c[o>>2]|0;i=p;return o|0}return 0}function sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=fm(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;i=e;return d|0}function tl(b,e){b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+128|0;f=K+120|0;g=K+116|0;h=K+112|0;H=K+108|0;s=K+104|0;u=K+100|0;q=K+96|0;t=K+92|0;v=K+88|0;r=K+84|0;l=K+80|0;B=K+76|0;E=K+72|0;I=K+68|0;A=K+64|0;m=K+60|0;G=K+56|0;y=K+52|0;p=K+16|0;w=K+48|0;F=K+44|0;z=K+40|0;x=K+36|0;o=K+8|0;n=K;k=K+32|0;j=K+28|0;D=K+24|0;c[g>>2]=b;c[h>>2]=e;c[H>>2]=0;c[s>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&2;c[u>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&1;c[q>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&4;c[t>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&8;c[v>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&16;c[r>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+12>>2]&32;c[l>>2]=c[c[h>>2]>>2];c[B>>2]=c[(c[h>>2]|0)+4>>2];c[E>>2]=c[(c[h>>2]|0)+12>>2];c[I>>2]=(d[(c[g>>2]|0)+231>>0]|0)!=0?182:183;if(!(c[(c[h>>2]|0)+4>>2]|0)){c[f>>2]=0;J=c[f>>2]|0;i=K;return J|0}a:while(1){c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[h>>2]|0)+8>>2]|0))break;c[G>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];if(a[(c[G>>2]|0)+4>>0]|0)Ol(c[G>>2]|0);else c[H>>2]=Pl(c[g>>2]|0,c[G>>2]|0,0)|0;if(c[H>>2]|0){J=9;break a}c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[B>>2]|0,c[(c[h>>2]|0)+8>>2]|0,184);c[(c[h>>2]|0)+8>>2]=0;if(!(c[(c[c[l>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[h>>2]|0)+44>>2]=c[(c[c[l>>2]>>2]|0)+60>>2];c[(c[h>>2]|0)+40>>2]=c[(c[c[l>>2]>>2]|0)+64>>2];if(!((c[v>>2]|0)!=0?1:(c[c[E>>2]>>2]|0)==0)){if((c[(c[h>>2]|0)+44>>2]|0)<(c[(c[E>>2]|0)+4>>2]|0)){J=61;break}if((c[t>>2]|0)==0?(c[(c[h>>2]|0)+44>>2]|0)>(c[(c[E>>2]|0)+4>>2]|0):0){J=61;break}if(EQ(c[(c[h>>2]|0)+40>>2]|0,c[c[E>>2]>>2]|0,c[(c[E>>2]|0)+4>>2]|0)|0){J=61;break}}c[A>>2]=1;while(1){if(((c[A>>2]|0)<(c[B>>2]|0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+40>>2]|0)!=0:0)?(c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0):0)e=0==(EQ(c[(c[h>>2]|0)+40>>2]|0,c[(c[(c[l>>2]|0)+(c[A>>2]<<2)>>2]|0)+64>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0);else e=0;b=c[A>>2]|0;if(!e)break;c[A>>2]=b+1}do if(!((b|0)!=1|(c[s>>2]|0)!=0|(c[r>>2]|0)!=0)){if((d[(c[g>>2]|0)+231>>0]|0)!=0?((c[(c[c[l>>2]>>2]|0)+56>>2]|0)!=0|0)!=0:0){J=32;break}c[(c[h>>2]|0)+52>>2]=c[(c[c[l>>2]>>2]|0)+76>>2];if(c[(c[c[l>>2]>>2]|0)+56>>2]|0){c[H>>2]=Sl(c[h>>2]|0,c[(c[c[l>>2]>>2]|0)+72>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2]}else c[(c[h>>2]|0)+48>>2]=c[(c[c[l>>2]>>2]|0)+72>>2];if(!(c[H>>2]|0))c[H>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[y>>2]=0;e=p;c[e>>2]=0;c[e+4>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[A>>2]|0))break;Tl(c[g>>2]|0,c[(c[l>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}Rl(c[l>>2]|0,c[A>>2]|0,c[A>>2]|0,c[I>>2]|0);while(1){if(!(c[(c[c[l>>2]>>2]|0)+80>>2]|0))break;c[F>>2]=0;c[z>>2]=0;L=(c[c[l>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=o;c[e>>2]=c[L>>2];c[e+4>>2]=b;Ul(c[g>>2]|0,c[c[l>>2]>>2]|0,F,z)|0;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[A>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0)+88|0;L=o;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;Ul(c[g>>2]|0,c[(c[l>>2]|0)+(c[w>>2]<<2)>>2]|0,0,0)|0;c[w>>2]=(c[w>>2]|0)+1}if(c[q>>2]|0)Vl(c[(c[E>>2]|0)+8>>2]|0,0,F,z);do if((c[s>>2]|0)==0|(c[z>>2]|0)>0){if((c[y>>2]|0)>0?(d[(c[g>>2]|0)+231>>0]|0)!=0:0){L=p;e=o;e=oR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}else{L=o;e=p;e=oR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=n;c[L>>2]=e;c[L+4>>2]=C}L=n;L=Hl(c[L>>2]|0,c[L+4>>2]|0)|0;c[x>>2]=L+((c[u>>2]|0)!=0?(c[z>>2]|0)+1|0:0);if(((c[y>>2]|0)+(c[x>>2]|0)|0)>(c[(c[h>>2]|0)+20>>2]|0)){c[(c[h>>2]|0)+20>>2]=(c[y>>2]|0)+(c[x>>2]|0)<<1;c[k>>2]=Ld(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0;if(!(c[k>>2]|0)){J=50;break a}c[(c[h>>2]|0)+16>>2]=c[k>>2]}b=(c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0;if(c[r>>2]|0){c[j>>2]=b;L=n;c[D>>2]=Wl(c[L>>2]|0,c[L+4>>2]|0,c[F>>2]|0,c[z>>2]|0,c[j>>2]|0)|0;if(!(c[D>>2]|0))break;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[y>>2]=(c[y>>2]|0)+(c[D>>2]|0);break}else{e=n;b=Il(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+b;b=o;e=c[b+4>>2]|0;L=p;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[u>>2]|0))break;rR((c[(c[h>>2]|0)+16>>2]|0)+(c[y>>2]|0)|0,c[F>>2]|0,c[z>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+(c[z>>2]|0);L=c[y>>2]|0;c[y>>2]=L+1;a[(c[(c[h>>2]|0)+16>>2]|0)+L>>0]=0;break}}while(0);Rl(c[l>>2]|0,c[A>>2]|0,c[w>>2]|0,c[I>>2]|0)}if((c[y>>2]|0)>0){c[(c[h>>2]|0)+48>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+52>>2]=c[y>>2];c[H>>2]=100}}c[(c[h>>2]|0)+8>>2]=c[A>>2];if(c[H>>2]|0){J=61;break}}if((J|0)==9){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}else if((J|0)==50){c[f>>2]=7;L=c[f>>2]|0;i=K;return L|0}else if((J|0)==61){c[f>>2]=c[H>>2];L=c[f>>2]|0;i=K;return L|0}return 0}function ul(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;p=B+44|0;q=B+40|0;t=B+36|0;v=B+32|0;u=B+28|0;s=B+24|0;x=B+20|0;y=B+16|0;w=B+12|0;z=B+8|0;r=B+4|0;A=B;c[k>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[x>>2]=c[c[l>>2]>>2];if(!(c[x>>2]|0)){c[x>>2]=Id(64)|0;if(!(c[x>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}g=c[x>>2]|0;d=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(d|0));c[c[l>>2]>>2]=c[x>>2];l=Id(c[(c[k>>2]|0)+224>>2]|0)|0;c[(c[x>>2]|0)+48>>2]=l;if(!(c[(c[x>>2]|0)+48>>2]|0)){c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+40>>2]=c[(c[k>>2]|0)+224>>2];c[y>>2]=nl(c[k>>2]|0,10,w,0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}if(100==(ue(c[w>>2]|0)|0)){e=Ee(c[w>>2]|0,0)|0;b=(c[x>>2]|0)+16|0;c[b>>2]=e;c[b+4>>2]=C;b=(c[x>>2]|0)+16|0;e=c[b+4>>2]|0;l=(c[x>>2]|0)+8|0;c[l>>2]=c[b>>2];c[l+4>>2]=e}c[y>>2]=Zd(c[w>>2]|0)|0;if(c[y>>2]|0){c[j>>2]=c[y>>2];A=c[j>>2]|0;i=B;return A|0}}c[s>>2]=c[(c[x>>2]|0)+44>>2];c[t>>2]=Kl(c[(c[x>>2]|0)+24>>2]|0,c[(c[x>>2]|0)+28>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[v>>2]=(c[o>>2]|0)-(c[t>>2]|0);y=c[t>>2]|0;y=Hl(y,((y|0)<0)<<31>>31)|0;w=c[v>>2]|0;w=y+(Hl(w,((w|0)<0)<<31>>31)|0)|0;w=w+(c[v>>2]|0)|0;y=c[q>>2]|0;y=w+(Hl(y,((y|0)<0)<<31>>31)|0)|0;c[u>>2]=y+(c[q>>2]|0);do if((c[s>>2]|0)>0?((c[s>>2]|0)+(c[u>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){l=c[k>>2]|0;e=(c[x>>2]|0)+16|0;y=e;w=c[y>>2]|0;y=c[y+4>>2]|0;b=pR(w|0,y|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=C;c[z>>2]=Dl(l,w,y,c[(c[x>>2]|0)+48>>2]|0,c[s>>2]|0)|0;if(c[z>>2]|0){c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}y=(c[k>>2]|0)+52|0;c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=Ll(c[k>>2]|0,c[x>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){c[s>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[t>>2]=0;c[v>>2]=c[o>>2];y=c[o>>2]|0;y=1+(Hl(y,((y|0)<0)<<31>>31)|0)|0;y=y+(c[o>>2]|0)|0;z=c[q>>2]|0;z=y+(Hl(z,((z|0)<0)<<31>>31)|0)|0;c[u>>2]=z+(c[q>>2]|0);break}c[j>>2]=c[z>>2];A=c[j>>2]|0;i=B;return A|0}while(0);y=c[u>>2]|0;z=(c[x>>2]|0)+56|0;w=z;y=pR(c[w>>2]|0,c[w+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;c[z>>2]=y;c[z+4>>2]=C;do if((c[u>>2]|0)>(c[(c[x>>2]|0)+40>>2]|0)){c[r>>2]=Ld(c[(c[x>>2]|0)+48>>2]|0,c[u>>2]|0)|0;if(c[r>>2]|0){c[(c[x>>2]|0)+48>>2]=c[r>>2];c[(c[x>>2]|0)+40>>2]=c[u>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);z=c[t>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;z=c[v>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;rR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,(c[n>>2]|0)+(c[t>>2]|0)|0,c[v>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[v>>2]|0);z=c[q>>2]|0;z=Il((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,z,((z|0)<0)<<31>>31)|0;c[s>>2]=(c[s>>2]|0)+z;rR((c[(c[x>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[(c[x>>2]|0)+44>>2]=(c[s>>2]|0)+(c[q>>2]|0);if(c[m>>2]|0){do if((c[o>>2]|0)>(c[(c[x>>2]|0)+32>>2]|0)){c[A>>2]=Ld(c[(c[x>>2]|0)+36>>2]|0,c[o>>2]<<1)|0;if(c[A>>2]|0){c[(c[x>>2]|0)+32>>2]=c[o>>2]<<1;c[(c[x>>2]|0)+36>>2]=c[A>>2];c[(c[x>>2]|0)+24>>2]=c[A>>2];break}c[j>>2]=7;A=c[j>>2]|0;i=B;return A|0}while(0);rR(c[(c[x>>2]|0)+24>>2]|0,c[n>>2]|0,c[o>>2]|0)|0}else c[(c[x>>2]|0)+24>>2]=c[n>>2];c[(c[x>>2]|0)+28>>2]=c[o>>2];c[j>>2]=0;A=c[j>>2]|0;i=B;return A|0}function vl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;l=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;j=s+12|0;r=s+8|0;k=s+4|0;q=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[j>>2]=g;c[r>>2]=0;c[q>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(c[j>>2]|0))break;c[r>>2]=Jl(c[m>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}if(c[r>>2]|0){c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}h=c[m>>2]|0;if((c[p>>2]|0)==-2){c[r>>2]=nl(h,26,q,0)|0;if(!(c[r>>2]|0)){p=c[q>>2]|0;a=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,0)|0;Me(p,1,a,C)|0;a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1023)|0;Me(a,2,p,C)|0}}else{c[r>>2]=nl(h,16,q,0)|0;if(!(c[r>>2]|0)){a=c[q>>2]|0;p=ql(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;Me(a,1,p,C)|0}}if(!(c[r>>2]|0)){ue(c[q>>2]|0)|0;c[r>>2]=Zd(c[q>>2]|0)|0}c[l>>2]=c[r>>2];r=c[l>>2]|0;i=s;return r|0}function wl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+44|0;h=q+40|0;j=q+16|0;k=q+36|0;o=q+32|0;l=q+8|0;m=q;p=q+28|0;n=q+24|0;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;if(!(c[c[h>>2]>>2]|0)){b=j;p=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[k>>2]|0,0,0,0,0,0,0,c[p>>2]|0,c[p+4>>2]|0,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}b=l;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[n>>2]=0;b=(c[h>>2]|0)+16|0;e=c[b+4>>2]|0;f=m;c[f>>2]=c[b>>2];c[f+4>>2]=e;f=c[g>>2]|0;e=(c[h>>2]|0)+16|0;b=e;a=c[b>>2]|0;b=c[b+4>>2]|0;d=pR(a|0,b|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[o>>2]=Dl(f,a,b,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+44>>2]|0)|0;if(!(c[o>>2]|0)){a=(c[h>>2]|0)+8|0;b=(c[h>>2]|0)+16|0;c[o>>2]=El(c[g>>2]|0,c[c[h>>2]>>2]|0,1,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,l,p,n)|0}if(c[o>>2]|0){p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}f=(c[h>>2]|0)+8|0;a=l;b=(c[h>>2]|0)+56|0;c[o>>2]=Fl(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[p>>2]|0,c[n>>2]|0)|0;p=c[g>>2]|0;p=p+52|0;b=c[p>>2]|0;b=b+1|0;c[p>>2]=b;p=c[o>>2]|0;i=q;return p|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;v=i;i=i+80|0;g=v+72|0;h=v+40|0;j=v+32|0;t=v+68|0;q=v+64|0;k=v+60|0;n=v+24|0;o=v+16|0;p=v+8|0;l=v;m=v+56|0;r=v+52|0;s=v+48|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;c[t>>2]=0;c[t>>2]=nl(c[g>>2]|0,37,q,0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}c[k>>2]=0;f=h;f=yR(c[f>>2]|0,c[f+4>>2]|0,1024,0)|0;f=pR(f|0,C|0,1,0)|0;f=AR(f|0,C|0,1024,0)|0;f=oR(f|0,C|0,1,0)|0;a=n;c[a>>2]=f;c[a+4>>2]=C;a=j;a=AR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;a=yR(a|0,C|0,2,0)|0;j=o;c[j>>2]=a;c[j+4>>2]=C;j=c[q>>2]|0;a=h;a=pR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;Me(j,1,a,C)|0;a=n;Me(c[q>>2]|0,2,c[a>>2]|0,c[a+4>>2]|0)|0;while(1){if(100!=(ue(c[q>>2]|0)|0))break;a=p;c[a>>2]=0;c[a+4>>2]=0;Cl(c[q>>2]|0,2,l,p);a=p;n=c[a+4>>2]|0;if((n|0)<0|(n|0)==0&(c[a>>2]|0)>>>0<=0){u=6;break}n=p;f=c[n+4>>2]|0;a=o;j=c[a+4>>2]|0;if((f|0)>(j|0)|((f|0)==(j|0)?(c[n>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)){u=6;break}c[k>>2]=1}if((u|0)==6)c[k>>2]=0;c[t>>2]=Zd(c[q>>2]|0)|0;if(!(c[k>>2]|0)){u=c[t>>2]|0;i=v;return u|0}c[m>>2]=0;c[r>>2]=0;c[s>>2]=0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,38,r,0)|0;if(!(c[t>>2]|0))c[t>>2]=nl(c[g>>2]|0,39,s,0)|0;a:do if(!(c[t>>2]|0)){u=h;Me(c[q>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(ue(c[q>>2]|0)|0))break a;a=c[r>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;Le(a,1,u)|0;u=c[r>>2]|0;Le(u,2,De(c[q>>2]|0,0)|0)|0;u=c[r>>2]|0;Le(u,3,De(c[q>>2]|0,1)|0)|0;ue(c[r>>2]|0)|0;c[t>>2]=Zd(c[r>>2]|0)|0}while((c[t>>2]|0)==0);Zd(c[q>>2]|0)|0}while(0);if(!(c[t>>2]|0))c[t>>2]=Zd(c[q>>2]|0)|0;if(c[t>>2]|0){u=c[t>>2]|0;i=v;return u|0}u=h;Me(c[s>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;ue(c[s>>2]|0)|0;c[t>>2]=Zd(c[s>>2]|0)|0;u=c[t>>2]|0;i=v;return u|0}function yl(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);Bl(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);i=d;return}function zl(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;Al(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(c[c[b>>2]>>2]|0);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;i=e;return}function Al(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;a=c[b>>2]|0;Kd(a);i=e;return}function Bl(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){i=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];Bl(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}i=f;return}function Cl(a,b,e,f){a=a|0;b=b|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;n=i;i=i+48|0;p=n+32|0;o=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;k=n+8|0;l=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[h>>2]=f;c[m>>2]=Fe(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[m>>2]|0)){i=n;return}c[k>>2]=1;p=l;c[p>>2]=0;c[p+4>>2]=0;c[j>>2]=0;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=AR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=pR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=a;c[p+4>>2]=e;while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)!=32)break;c[j>>2]=(c[j>>2]|0)+1}p=l;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)==45){c[j>>2]=(c[j>>2]|0)+1;c[k>>2]=-1}while(1){if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)>=48)b=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0|0)<=57;else b=0;e=l;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!b)break;p=AR(a|0,e|0,10,0)|0;o=(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)-48|0;o=pR(p|0,C|0,o|0,((o|0)<0)<<31>>31|0)|0;p=l;c[p>>2]=o;c[p+4>>2]=C;c[j>>2]=(c[j>>2]|0)+1}o=c[k>>2]|0;o=AR(a|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[h>>2]|0;c[p>>2]=o;c[p+4>>2]=C;i=n;return}function Dl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+24|0;g=m;h=m+20|0;j=m+16|0;k=m+12|0;l=m+8|0;c[n>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=f;c[l>>2]=nl(c[n>>2]|0,9,k,0)|0;if(c[l>>2]|0){n=c[l>>2]|0;i=m;return n|0}n=g;Me(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;Je(c[k>>2]|0,2,c[h>>2]|0,c[j>>2]|0,0)|0;ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0;n=c[l>>2]|0;i=m;return n|0}function El(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;o=B+72|0;p=B+68|0;q=B+64|0;r=B+24|0;s=B+16|0;t=B+60|0;m=B+56|0;n=B+52|0;A=B+48|0;w=B+44|0;z=B+40|0;u=B+8|0;v=B;x=B+36|0;y=B+32|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;b=r;c[b>>2]=e;c[b+4>>2]=f;b=s;c[b>>2]=g;c[b+4>>2]=h;c[t>>2]=j;c[m>>2]=k;c[n>>2]=l;c[A>>2]=0;if(!(c[c[p>>2]>>2]|0)){j=r;c[w>>2]=Gl(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=s;j=oR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;l=c[t>>2]|0;c[l>>2]=j;c[l+4>>2]=C;c[c[n>>2]>>2]=(c[(c[p>>2]|0)+32>>2]|0)-(c[w>>2]|0);c[c[m>>2]>>2]=(c[(c[p>>2]|0)+36>>2]|0)+(c[w>>2]|0);A=c[A>>2]|0;i=B;return A|0}l=s;j=c[l+4>>2]|0;k=u;c[k>>2]=c[l>>2];c[k+4>>2]=j;k=r;j=c[k+4>>2]|0;l=v;c[l>>2]=c[k>>2];c[l+4>>2]=j;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0?(c[A>>2]|0)==0:0))break;l=v;c[x>>2]=Gl(c[z>>2]|0,c[q>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;c[y>>2]=(c[(c[z>>2]|0)+32>>2]|0)-(c[x>>2]|0);l=u;c[A>>2]=Dl(c[o>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[(c[z>>2]|0)+36>>2]|0)+(c[x>>2]|0)|0,c[y>>2]|0)|0;l=u;l=pR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;j=u;c[j>>2]=l;c[j+4>>2]=C;j=(c[(c[z>>2]|0)+12>>2]|0)+1|0;l=v;j=pR(c[l>>2]|0,c[l+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;l=v;c[l>>2]=j;c[l+4>>2]=C;c[z>>2]=c[(c[z>>2]|0)+4>>2]}if(c[A>>2]|0){A=c[A>>2]|0;i=B;return A|0}j=s;l=u;c[A>>2]=El(c[o>>2]|0,c[c[p>>2]>>2]|0,(c[q>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0,c[t>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;A=c[A>>2]|0;i=B;return A|0}function Fl(a,b,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;B=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;C=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;a=t;c[a>>2]=f;c[a+4>>2]=g;a=u;c[a>>2]=h;c[a+4>>2]=j;a=v;c[a>>2]=k;c[a+4>>2]=l;a=w;c[a>>2]=m;c[a+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=nl(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;Me(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;Le(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;Me(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;Me(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;Me(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{e=v;p=c[e+4>>2]|0;o=w;a=c[o>>2]|0;o=c[o+4>>2]|0;E=B;c[E>>2]=c[e>>2];c[E+4>>2]=p;E=B+8|0;c[E>>2]=a;c[E+4>>2]=o;c[C>>2]=Od(23761,B)|0;if(c[C>>2]|0){Oe(c[z>>2]|0,5,c[C>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;i=D;return E|0}while(0);Je(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;ue(c[z>>2]|0)|0;c[A>>2]=Zd(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;i=D;return E|0}function Gl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;j=h+16|0;l=h+12|0;k=h;g=h+8|0;c[j>>2]=b;c[l>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;b=k;c[g>>2]=10-(Hl(c[b>>2]|0,c[b+4>>2]|0)|0);a[(c[(c[j>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[l>>2];b=k;Il((c[(c[j>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[b>>2]|0,c[b+4>>2]|0)|0;i=h;return c[g>>2]|0}function Hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=qR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=C;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);i=f;return c[e>>2]|0}function Il(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+20|0;l=k+8|0;h=k+16|0;j=k;c[g>>2]=b;b=l;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];e=l;f=c[e+4>>2]|0;b=j;c[b>>2]=c[e>>2];c[b+4>>2]=f;do{l=(c[j>>2]&127|128)&255;b=c[h>>2]|0;c[h>>2]=b+1;a[b>>0]=l;b=j;b=qR(c[b>>2]|0,c[b+4>>2]|0,7)|0;l=j;c[l>>2]=b;c[l+4>>2]=C;l=j}while((c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0);l=(c[h>>2]|0)+-1|0;a[l>>0]=(d[l>>0]|0)&127;i=k;return (c[h>>2]|0)-(c[g>>2]|0)|0}function Jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=nl(c[d>>2]|0,17,f,0)|0;if(c[g>>2]|0){g=c[g>>2]|0;i=h;return g|0}b=(c[e>>2]|0)+8|0;Me(c[f>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;b=(c[e>>2]|0)+24|0;Me(c[f>>2]|0,2,c[b>>2]|0,c[b+4>>2]|0)|0;ue(c[f>>2]|0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;g=c[g>>2]|0;i=h;return g|0}function Kl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l+4>>2]=f;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[h>>2]|0)){g=5;break}if((a[(c[g>>2]|0)+(c[k>>2]|0)>>0]|0)!=(a[(c[j>>2]|0)+(c[k>>2]|0)>>0]|0)){g=5;break}c[k>>2]=(c[k>>2]|0)+1}if((g|0)==5){i=l;return c[k>>2]|0}return 0}function Ll(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,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;w=i;i=i+64|0;m=w+56|0;n=w+52|0;o=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;u=w+32|0;v=w+28|0;s=w+24|0;g=w+20|0;j=w+16|0;h=w+12|0;k=w+8|0;l=w+4|0;t=w;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=f;c[u>>2]=c[c[o>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[j>>2]=c[g>>2];c[h>>2]=Kl(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[k>>2]=(c[r>>2]|0)-(c[h>>2]|0);b=c[h>>2]|0;b=Hl(b,((b|0)<0)<<31>>31)|0;e=c[k>>2]|0;e=b+(Hl(e,((e|0)<0)<<31>>31)|0)|0;c[j>>2]=(c[j>>2]|0)+(e+(c[k>>2]|0));if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(c[(c[u>>2]|0)+16>>2]|0)!=0:0)break;if((c[j>>2]|0)>(c[(c[n>>2]|0)+224>>2]|0)?(v=Id(c[j>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=v,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){v=c[h>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v}v=c[k>>2]|0;v=Il((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,v,((v|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+v;rR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[q>>2]|0)+(c[h>>2]|0)|0,c[k>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[k>>2]|0);v=(c[u>>2]|0)+12|0;c[v>>2]=(c[v>>2]|0)+1;if(c[p>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[r>>2]|0)){c[l>>2]=Ld(c[(c[u>>2]|0)+28>>2]|0,c[r>>2]<<1)|0;if(c[l>>2]|0){c[(c[u>>2]|0)+24>>2]=c[r>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[l>>2];break}c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];rR(c[(c[u>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;c[(c[u>>2]|0)+20>>2]=c[r>>2]}else{c[(c[u>>2]|0)+16>>2]=c[q>>2];c[(c[u>>2]|0)+20>>2]=c[r>>2]}c[m>>2]=0;v=c[m>>2]|0;i=w;return v|0}while(0);c[s>>2]=Id(40+(c[(c[n>>2]|0)+224>>2]|0)|0)|0;if(!(c[s>>2]|0)){c[m>>2]=7;v=c[m>>2]|0;i=w;return v|0}d=c[s>>2]|0;g=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(g|0));c[(c[s>>2]|0)+32>>2]=11;c[(c[s>>2]|0)+36>>2]=(c[s>>2]|0)+40;if(c[u>>2]|0){c[t>>2]=c[c[u>>2]>>2];c[v>>2]=Ll(c[n>>2]|0,t,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[t>>2];c[(c[u>>2]|0)+4>>2]=c[s>>2];c[(c[s>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[s>>2]>>2]=c[t>>2];c[(c[s>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[s>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[s>>2]|0)+8>>2]=c[s>>2];c[v>>2]=Ll(c[n>>2]|0,s,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}c[c[o>>2]>>2]=c[s>>2];c[m>>2]=c[v>>2];v=c[m>>2]|0;i=w;return v|0}function Ml(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)<(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Nl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;i=g;return f|0}else{a=(c[d>>2]|0)+88|0;d=c[a+4>>2]|0;b=(c[e>>2]|0)+88|0;e=c[b+4>>2]|0;c[f>>2]=(d|0)>(e|0)|((d|0)==(e|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;i=g;return f|0}return 0}function Ol(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0){a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);Ve(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;a=c[b>>2]|0;a=a+40|0;c[a>>2]=0;i=e;return}function Pl(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;s=v+52|0;g=v+48|0;t=v+44|0;h=v+40|0;q=v+36|0;u=v+32|0;o=v+28|0;p=v+24|0;l=v+20|0;j=v+16|0;m=v+12|0;k=v+8|0;n=v+4|0;r=v;c[g>>2]=b;c[t>>2]=e;c[h>>2]=f;f=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[(c[t>>2]|0)+72>>2]|0)+(c[f+76>>2]|0);else c[u>>2]=c[f+40>>2];if(!((c[u>>2]|0)!=0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){f=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[l>>2]=c[c[f+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+8>>2];c[k>>2]=(c[c[m>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[l>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[l>>2]|0)+16>>2];c[j>>2]=Id(c[k>>2]|0)|0;if(c[j>>2]|0){rR(c[j>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[k>>2]|0)|0;u=c[k>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[j>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}Ol(f);l=(c[t>>2]|0)+32|0;j=c[l+4>>2]|0;m=(c[t>>2]|0)+16|0;k=c[m+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[l>>2]|0)>>>0>=(c[m>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}k=c[g>>2]|0;j=(c[t>>2]|0)+32|0;l=j;l=pR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;m=C;c[j>>2]=l;c[j+4>>2]=m;c[q>>2]=em(k,l,m,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,(c[h>>2]|0)!=0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}if((c[h>>2]|0)!=0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[g>>2]|0)+244>>2];c[(c[g>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,o)|0;else{c[o>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;if(!((c[o>>2]|0)<0|(c[p>>2]|0)<=0)?((c[u>>2]|0)+(c[p>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[o>>2]|0)+(c[p>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[n>>2]=(c[o>>2]|0)+(c[p>>2]|0)<<1;c[r>>2]=Ld(c[(c[t>>2]|0)+64>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){c[(c[t>>2]|0)+64>>2]=c[r>>2];c[(c[t>>2]|0)+68>>2]=c[n>>2];break}c[s>>2]=7;u=c[s>>2]|0;i=v;return u|0}while(0);c[q>>2]=am(c[t>>2]|0,c[u>>2]|0,(c[p>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;i=v;return u|0}rR((c[(c[t>>2]|0)+64>>2]|0)+(c[o>>2]|0)|0,c[u>>2]|0,c[p>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[o>>2]|0)+(c[p>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[p>>2]|0);f=c[u>>2]|0;if(d[c[u>>2]>>0]&128)f=Zl(f,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[f>>0];f=1}c[u>>2]=(c[u>>2]|0)+f;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?(a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0)!=0:0)break;c[s>>2]=0;u=c[s>>2]|0;i=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;i=v;return u|0}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if((c[(c[d>>2]|0)+40>>2]|0)!=0?(c[(c[e>>2]|0)+40>>2]|0)!=0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=EQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=EQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;i=h;return g|0}function Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[h>>2]|0)==(c[g>>2]|0))c[h>>2]=(c[h>>2]|0)+-1;c[k>>2]=(c[h>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[l>>2]=c[k>>2];while(1){if((c[l>>2]|0)>=((c[g>>2]|0)-1|0))break;if((Yb[c[j>>2]&255](c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]|0,c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[m>>2]=c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2];c[(c[f>>2]|0)+((c[l>>2]|0)+1<<2)>>2]=c[(c[f>>2]|0)+(c[l>>2]<<2)>>2];c[(c[f>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[l>>2]=(c[l>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}i=n;return}function Sl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[j>>2]=Ld(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[j>>2]|0){c[(c[f>>2]|0)+16>>2]=c[j>>2];break}c[e>>2]=7;j=c[e>>2]|0;i=k;return j|0}while(0);rR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}function Tl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+8|0;j=k+4|0;g=k+16|0;h=k;c[l>>2]=b;c[f>>2]=e;c[j>>2]=0;if((d[(c[l>>2]|0)+231>>0]|0|0)!=0?(c[(c[f>>2]|0)+56>>2]|0)!=0:0){a[g>>0]=0;l=(c[f>>2]|0)+88|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;_l(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,g);l=c[j>>2]|0;i=k;return l|0}c[j>>2]=am(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=Yl(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[h>>2]|0);l=c[j>>2]|0;i=k;return l|0}function Ul(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;s=u+36|0;t=u+32|0;r=u+28|0;h=u+24|0;j=u+20|0;q=u+16|0;o=u+12|0;l=u+41|0;k=u+40|0;p=u+8|0;n=u;c[t>>2]=b;c[r>>2]=e;c[h>>2]=f;c[j>>2]=g;c[q>>2]=0;c[o>>2]=c[(c[r>>2]|0)+80>>2];a[l>>0]=0;do if((d[(c[t>>2]|0)+231>>0]|0)!=0?(c[(c[r>>2]|0)+56>>2]|0)!=0:0){a[k>>0]=0;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[(c[r>>2]|0)+84>>2]|0)-1}_l(0,c[(c[r>>2]|0)+72>>2]|0,c[(c[r>>2]|0)+76>>2]|0,o,(c[r>>2]|0)+88|0,(c[r>>2]|0)+84|0,k);if(a[k>>0]|0){c[(c[r>>2]|0)+80>>2]=0;break}else{c[(c[r>>2]|0)+80>>2]=c[o>>2];break}}else m=8;while(0);do if((m|0)==8){c[p>>2]=(c[(c[r>>2]|0)+72>>2]|0)+(c[(c[r>>2]|0)+76>>2]|0);while(1){if(a[c[o>>2]>>0]|a[l>>0]){f=c[o>>2]|0;c[o>>2]=f+1;a[l>>0]=a[f>>0]&128;continue}if(!(c[(c[r>>2]|0)+52>>2]|0))break;if((c[o>>2]|0)>>>0<((c[(c[r>>2]|0)+40>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0)|0)>>>0)break;c[q>>2]=$l(c[r>>2]|0)|0;if(c[q>>2]|0){m=14;break}}if((m|0)==14){c[s>>2]=c[q>>2];t=c[s>>2]|0;i=u;return t|0}c[o>>2]=(c[o>>2]|0)+1;if(c[h>>2]|0){c[c[h>>2]>>2]=c[(c[r>>2]|0)+80>>2];c[c[j>>2]>>2]=(c[o>>2]|0)-(c[(c[r>>2]|0)+80>>2]|0)-1}while(1){if((c[o>>2]|0)>>>0<(c[p>>2]|0)>>>0)h=(a[c[o>>2]>>0]|0)==0;else h=0;j=c[o>>2]|0;if(!h)break;c[o>>2]=j+1}h=c[r>>2]|0;if(j>>>0>=(c[p>>2]|0)>>>0){c[h+80>>2]=0;break}c[q>>2]=am(h,c[o>>2]|0,10)|0;if(!(c[q>>2]|0)){e=c[o>>2]|0;e=e+(Yl(c[o>>2]|0,n)|0)|0;c[(c[r>>2]|0)+80>>2]=e;e=n;l=c[e>>2]|0;e=c[e+4>>2]|0;h=(c[r>>2]|0)+88|0;k=h;j=c[k>>2]|0;k=c[k+4>>2]|0;if(a[(c[t>>2]|0)+231>>0]|0){r=oR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}else{r=pR(j|0,k|0,l|0,e|0)|0;t=h;c[t>>2]=r;c[t+4>>2]=C;break}}}while(0);c[s>>2]=0;t=c[s>>2]|0;i=u;return t|0}function Vl(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+32|0;j=t+28|0;k=t+24|0;l=t+20|0;r=t+16|0;o=t+12|0;q=t+8|0;n=t+4|0;p=t;m=t+36|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[r>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[l>>2]>>2];c[q>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[n>>2]=0;c[p>>2]=c[r>>2];while(1){a[m>>0]=0;while(1){if((c[p>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!((a[m>>0]|a[c[p>>2]>>0])&254))break;f=c[p>>2]|0;c[p>>2]=f+1;a[m>>0]=a[f>>0]&128}e=(c[p>>2]|0)-(c[r>>2]|0)|0;if((c[h>>2]|0)==(c[n>>2]|0)){s=7;break}c[o>>2]=(c[o>>2]|0)-e;c[r>>2]=c[p>>2];if(!(c[o>>2]|0))break;c[p>>2]=(c[r>>2]|0)+1;e=c[p>>2]|0;if(d[c[p>>2]>>0]&128)e=Zl(e,n)|0;else{c[n>>2]=d[e>>0];e=1}c[p>>2]=(c[p>>2]|0)+e}if((s|0)==7)c[o>>2]=e;if(!(c[j>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}if(((c[r>>2]|0)+(c[o>>2]|0)|0)==(c[q>>2]|0)){s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}tR((c[r>>2]|0)+(c[o>>2]|0)|0,0,(c[q>>2]|0)-((c[r>>2]|0)+(c[o>>2]|0))|0)|0;s=c[r>>2]|0;r=c[k>>2]|0;c[r>>2]=s;r=c[o>>2]|0;s=c[l>>2]|0;c[s>>2]=r;i=t;return}function Wl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=i;i=i+48|0;h=p+8|0;r=p+40|0;q=p+36|0;j=p+32|0;m=p+28|0;k=p+24|0;n=p+20|0;o=p+16|0;l=p;s=h;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[j>>2]=g;c[m>>2]=0;c[k>>2]=0;c[n>>2]=c[r>>2];c[o>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[n>>2]>>0]|0)!=1){if((a[c[n>>2]>>0]|0)==2){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2;c[k>>2]=1}Xl(0,n)}while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;if((a[c[n>>2]>>0]|0)!=1)break;c[n>>2]=(c[n>>2]|0)+1;s=Yl(c[n>>2]|0,l)|0;c[n>>2]=(c[n>>2]|0)+s;if((a[c[n>>2]>>0]|0)==2){if(!(c[k>>2]|0)){s=h;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;c[k>>2]=1}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=1;s=l;s=Il((c[j>>2]|0)+(c[m>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+s;s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=2}Xl(0,n)}if(!(c[k>>2]|0)){s=c[m>>2]|0;i=p;return s|0}s=c[m>>2]|0;c[m>>2]=s+1;a[(c[j>>2]|0)+s>>0]=0;s=c[m>>2]|0;i=p;return s|0}function Xl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){if(!(254&(a[c[k>>2]>>0]|a[g>>0])))break;d=c[k>>2]|0;c[k>>2]=d+1;a[g>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];rR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];b=c[k>>2]|0;d=c[f>>2]|0;c[d>>2]=b;i=l;return}function Yl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;e=n+36|0;f=n+32|0;g=n+28|0;l=n+24|0;h=n+20|0;j=n+8|0;m=n+16|0;k=n;c[f>>2]=b;c[g>>2]=d;c[l>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=a[b>>0];b=c[h>>2]|0;if(!(c[h>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&127|a[d>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;i=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;i=n;return m|0}h=j;c[h>>2]=b&268435455;c[h+4>>2]=0;c[m>>2]=28;while(1){if((c[m>>2]|0)>63)break;h=c[f>>2]|0;c[f>>2]=h+1;h=a[h>>0]|0;d=k;c[d>>2]=h;c[d+4>>2]=((h|0)<0)<<31>>31;d=uR(c[k>>2]&127|0,0,c[m>>2]|0)|0;h=j;d=pR(c[h>>2]|0,c[h+4>>2]|0,d|0,C|0)|0;h=j;c[h>>2]=d;c[h+4>>2]=C;if((c[k>>2]&128|0)==0&0==0)break;c[m>>2]=(c[m>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[l>>2]|0);m=c[e>>2]|0;i=n;return m|0}function Zl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;i=j;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;i=j;return h|0}return 0}function _l(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;k=B+76|0;l=B+72|0;m=B+68|0;n=B+64|0;o=B+60|0;p=B+56|0;q=B+52|0;w=B+48|0;t=B+16|0;z=B+44|0;x=B+40|0;y=B+36|0;u=B+32|0;r=B+8|0;v=B+28|0;s=B;A=B+24|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[w>>2]=c[c[n>>2]>>2];if(c[w>>2]|0){c[v>>2]=(c[k>>2]|0)!=0?-1:1;cm(w,c[l>>2]|0,s);f=c[v>>2]|0;h=s;h=AR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=c[o>>2]|0;g=f;h=oR(c[g>>2]|0,c[g+4>>2]|0,h|0,C|0)|0;c[f>>2]=h;c[f+4>>2]=C;if((c[w>>2]|0)==(c[l>>2]|0))a[c[q>>2]>>0]=1;else{c[A>>2]=c[w>>2];dm(c[l>>2]|0,w);c[c[p>>2]>>2]=(c[A>>2]|0)-(c[w>>2]|0)}c[c[n>>2]>>2]=c[w>>2];i=B;return}f=t;c[f>>2]=0;c[f+4>>2]=0;c[z>>2]=0;c[x>>2]=c[l>>2];c[y>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[u>>2]=1;while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;f=Yl(c[x>>2]|0,r)|0;c[x>>2]=(c[x>>2]|0)+f;f=c[u>>2]|0;h=r;h=AR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=t;h=pR(c[f>>2]|0,c[f+4>>2]|0,h|0,C|0)|0;f=t;c[f>>2]=h;c[f+4>>2]=C;c[z>>2]=c[x>>2];bm(0,x);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;if(a[c[x>>2]>>0]|0)break;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=(c[k>>2]|0)!=0?-1:1}c[c[p>>2]>>2]=(c[y>>2]|0)-(c[z>>2]|0);c[c[n>>2]>>2]=c[z>>2];g=t;h=c[g+4>>2]|0;f=c[o>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=h;i=B;return}function $l(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=We(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;i=g;return f|0}Ve(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;i=g;return f|0}function am(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){e=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){e=5;break}c[h>>2]=$l(c[e>>2]|0)|0}if((e|0)==5){i=j;return c[h>>2]|0}return 0}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;k=l+8|0;g=l+20|0;h=l+4|0;j=l;c[e>>2]=b;c[f>>2]=d;c[k>>2]=c[c[f>>2]>>2];a[g>>0]=0;while(1){d=(a[c[k>>2]>>0]|a[g>>0]|0)!=0;b=c[k>>2]|0;c[k>>2]=b+1;if(!d)break;a[g>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}c[h>>2]=(c[k>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];rR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0);c[c[e>>2]>>2]=c[j>>2];j=c[k>>2]|0;k=c[f>>2]|0;c[k>>2]=j;i=l;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[k>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[k>>2]>>0]&128))break;c[k>>2]=(c[k>>2]|0)+-1}c[k>>2]=(c[k>>2]|0)+1;c[c[f>>2]>>2]=c[k>>2];Yl(c[k>>2]|0,j)|0;d=j;e=c[d+4>>2]|0;b=c[h>>2]|0;c[b>>2]=c[d>>2];c[b+4>>2]=e;i=l;return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+8|0;f=k+4|0;h=k;g=k+12|0;c[e>>2]=b;c[f>>2]=d;c[h>>2]=(c[c[f>>2]>>2]|0)+-2;a[g>>0]=0;do{if((c[h>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[h>>2]|0;c[h>>2]=d+-1;d=a[d>>0]|0;a[g>>0]=d}while((d<<24>>24|0)==0);while(1){if((c[h>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[h>>2]>>0]&128|a[g>>0]|0)!=0;else d=0;b=c[h>>2]|0;if(!d)break;c[h>>2]=b+-1;a[g>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[g>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[h>>2]|0)+2|0)>>>0:0)j=11}else j=11;if((j|0)==11)c[h>>2]=(c[h>>2]|0)+2;do{j=c[h>>2]|0;c[h>>2]=j+1}while((a[j>>0]&128|0)!=0);c[c[f>>2]>>2]=c[h>>2];i=k;return}function em(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;o=t+8|0;p=t+40|0;j=t+36|0;k=t;q=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;n=t+16|0;r=t+12|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[q>>2]=f;c[l>>2]=g;c[m>>2]=h;d=c[j>>2]|0;if(c[(c[j>>2]|0)+244>>2]|0){o=k;c[s>>2]=Ye(c[d+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[d+240>>2]|0)?(c[o>>2]=c[(c[j>>2]|0)+20>>2],o=Od(23771,o)|0,c[(c[j>>2]|0)+240>>2]=o,0==(c[(c[j>>2]|0)+240>>2]|0)):0){c[p>>2]=7;s=c[p>>2]|0;i=t;return s|0}o=k;c[s>>2]=Ue(c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+240>>2]|0,23783,c[o>>2]|0,c[o+4>>2]|0,0,(c[j>>2]|0)+244|0)|0}if((c[s>>2]|0)==0?(c[n>>2]=Xe(c[(c[j>>2]|0)+244>>2]|0)|0,c[c[l>>2]>>2]=c[n>>2],(c[q>>2]|0)!=0):0){c[r>>2]=Id((c[n>>2]|0)+20|0)|0;if(c[r>>2]|0){if((c[m>>2]|0)!=0&(c[n>>2]|0)>16384){c[n>>2]=4096;c[c[m>>2]>>2]=c[n>>2]}c[s>>2]=We(c[(c[j>>2]|0)+244>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;d=(c[r>>2]|0)+(c[n>>2]|0)|0;e=d+20|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));if(c[s>>2]|0){Kd(c[r>>2]|0);c[r>>2]=0}}else c[s>>2]=7;c[c[q>>2]>>2]=c[r>>2]}c[p>>2]=c[s>>2];s=c[p>>2]|0;i=t;return s|0}function fm(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+48|0;n=r+36|0;g=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;k=r+16|0;p=r+12|0;m=r+8|0;l=r+4|0;q=r;c[g>>2]=a;c[o>>2]=b;c[h>>2]=e;c[j>>2]=f;c[p>>2]=c[(c[o>>2]|0)+4>>2];c[k>>2]=0;a:while(1){if(c[(c[o>>2]|0)+28>>2]|0){g=12;break}if((c[k>>2]|0)>=(c[(c[o>>2]|0)+4>>2]|0)){g=12;break}c[m>>2]=0;c[l>>2]=c[(c[c[o>>2]>>2]|0)+(c[k>>2]<<2)>>2];do{c[q>>2]=Pl(c[g>>2]|0,c[l>>2]|0,0)|0;if(c[q>>2]|0){g=6;break a}if(!(c[h>>2]|0))break;e=gm(c[l>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=e}while((e|0)<0);if((c[m>>2]|0)!=0?(d[(c[l>>2]|0)+4>>0]|0|0)!=0:0)Ol(c[l>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if((g|0)==6){c[n>>2]=c[q>>2];q=c[n>>2]|0;i=r;return q|0}else if((g|0)==12){Rl(c[c[o>>2]>>2]|0,c[p>>2]|0,c[p>>2]|0,184);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}return 0}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+12|0;e=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;i=j;return h|0}a=c[(c[f>>2]|0)+64>>2]|0;d=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=EQ(a,d,c[g>>2]|0)|0;else c[h>>2]=EQ(a,d,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;i=j;return h|0}function hm(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;l=G+88|0;m=G+84|0;n=G+80|0;o=G+76|0;p=G+72|0;q=G+68|0;r=G+64|0;s=G+60|0;t=G+56|0;D=G+52|0;A=G+48|0;E=G+44|0;y=G+40|0;z=G+36|0;w=G+16|0;v=G+8|0;u=G;x=G+32|0;F=G+28|0;B=G+24|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[D>>2]=0;c[A>>2]=0;if(((c[o>>2]|0)<0?(c[(c[l>>2]|0)+252>>2]|0)!=0:0)?(c[y>>2]=0,c[D>>2]=im(c[l>>2]|0,c[n>>2]|0,c[p>>2]|0,c[q>>2]|0,((c[r>>2]|0)!=0?1:(c[s>>2]|0)!=0)&1,y)|0,(c[D>>2]|0)==0&(c[y>>2]|0)!=0):0)c[D>>2]=jm(c[t>>2]|0,c[y>>2]|0)|0;a:do if((c[o>>2]|0)!=-1){if(!(c[D>>2]|0))c[D>>2]=km(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,A)|0;while(1){if(c[D>>2]|0)break a;f=ue(c[A>>2]|0)|0;c[D>>2]=f;if(100!=(f|0))break a;c[z>>2]=0;y=Ee(c[A>>2]|0,1)|0;f=w;c[f>>2]=y;c[f+4>>2]=C;f=Ee(c[A>>2]|0,2)|0;y=v;c[y>>2]=f;c[y+4>>2]=C;y=Ee(c[A>>2]|0,3)|0;f=u;c[f>>2]=y;c[f+4>>2]=C;c[x>>2]=Be(c[A>>2]|0,4)|0;c[F>>2]=Ae(c[A>>2]|0,4)|0;f=w;if(((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)&(c[p>>2]|0)!=0){c[B>>2]=(c[r>>2]|0)!=0?v:0;c[D>>2]=lm(c[l>>2]|0,c[p>>2]|0,c[q>>2]|0,c[F>>2]|0,c[x>>2]|0,w,c[B>>2]|0)|0;if(c[D>>2]|0)break a;if((c[r>>2]|0)==0&(c[s>>2]|0)==0){k=w;y=c[k+4>>2]|0;f=v;c[f>>2]=c[k>>2];c[f+4>>2]=y}}k=w;y=v;f=u;c[D>>2]=mm((c[(c[t>>2]|0)+4>>2]|0)+1|0,((c[r>>2]|0)==0?(c[s>>2]|0)==0:0)&1,c[k>>2]|0,c[k+4>>2]|0,c[y>>2]|0,c[y+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[F>>2]|0,c[x>>2]|0,z)|0;if(c[D>>2]|0)break a;c[D>>2]=jm(c[t>>2]|0,c[z>>2]|0)|0}}while(0);c[E>>2]=Zd(c[A>>2]|0)|0;if((c[D>>2]|0)!=101){f=c[D>>2]|0;i=G;return f|0}c[D>>2]=c[E>>2];f=c[D>>2]|0;i=G;return f|0}function im(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+80|0;A=y+64|0;z=y+60|0;h=y+56|0;j=y+52|0;k=y+48|0;l=y+44|0;u=y+40|0;s=y+36|0;m=y+32|0;q=y+28|0;v=y+24|0;t=y+20|0;o=y+16|0;w=y+12|0;r=y+8|0;n=y+4|0;p=y;c[A>>2]=a;c[z>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[u>>2]=0;c[m>>2]=0;c[q>>2]=0;c[v>>2]=0;c[t>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[k>>2]|0){c[o>>2]=0;c[s>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;c[w>>2]=c[(c[s>>2]|0)+12>>2];c[r>>2]=c[(c[s>>2]|0)+16>>2];if(c[j>>2]|0){if((c[r>>2]|0)>=(c[j>>2]|0)?0==(EQ(c[w>>2]|0,c[h>>2]|0,c[j>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[q>>2]|0)==(c[o>>2]|0)){c[o>>2]=(c[o>>2]|0)+16;c[n>>2]=Ld(c[m>>2]|0,c[o>>2]<<2)|0;if(!(c[n>>2]|0)){x=9;break}c[m>>2]=c[n>>2]}z=c[s>>2]|0;A=c[q>>2]|0;c[q>>2]=A+1;c[(c[m>>2]|0)+(A<<2)>>2]=z}c[s>>2]=c[c[s>>2]>>2]}if((x|0)==9){c[v>>2]=7;c[q>>2]=0}if((c[q>>2]|0)>1)DQ(c[m>>2]|0,c[q>>2]|0,4,185)}else{c[s>>2]=Ek(c[t>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[s>>2]|0){c[m>>2]=s;c[q>>2]=1}}do if((c[q>>2]|0)>0){c[p>>2]=96+((c[q>>2]|0)+1<<2);c[u>>2]=Id(c[p>>2]|0)|0;if(c[u>>2]|0){tR(c[u>>2]|0,0,c[p>>2]|0)|0;c[c[u>>2]>>2]=2147483647;c[(c[u>>2]|0)+56>>2]=(c[u>>2]|0)+96;rR(c[(c[u>>2]|0)+56>>2]|0,c[m>>2]|0,c[q>>2]<<2|0)|0;break}else{c[v>>2]=7;break}}while(0);if(!(c[k>>2]|0)){z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}Kd(c[m>>2]|0);z=c[u>>2]|0;A=c[l>>2]|0;c[A>>2]=z;A=c[v>>2]|0;i=y;return A|0}function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Ld(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}Al(c[f>>2]|0);c[d>>2]=7;b=c[d>>2]|0;i=j;return b|0}while(0);a=c[f>>2]|0;h=(c[e>>2]|0)+4|0;b=c[h>>2]|0;c[h>>2]=b+1;c[(c[c[e>>2]>>2]|0)+(b<<2)>>2]=a;c[d>>2]=0;b=c[d>>2]|0;i=j;return b|0}function km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;d=c[g>>2]|0;if((c[k>>2]|0)<0){c[n>>2]=nl(d,13,m,0)|0;if(!(c[n>>2]|0)){k=c[m>>2]|0;f=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0)|0;Me(k,1,f,C)|0;f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1023)|0;Me(f,2,k,C)|0}}else{c[n>>2]=nl(d,12,m,0)|0;if(!(c[n>>2]|0)){f=c[m>>2]|0;k=ql(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;Me(f,1,k,C)|0}}c[c[l>>2]>>2]=c[m>>2];i=o;return c[n>>2]|0}function lm(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+32|0;k=v+28|0;l=v+24|0;q=v+20|0;r=v+16|0;t=v+12|0;m=v+8|0;u=v+4|0;s=v;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[k>>2]=f;c[l>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=0;g=c[k>>2]|0;if((d[c[k>>2]>>0]|0)&128)Zl(g,m)|0;else c[m>>2]=d[g>>0];c[t>>2]=nm(c[o>>2]|0,c[p>>2]|0,c[k>>2]|0,c[l>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;if(!((c[t>>2]|0)==0&(c[m>>2]|0)>1)){u=c[t>>2]|0;i=v;return u|0}c[u>>2]=0;c[s>>2]=0;if((c[q>>2]|0)!=0&(c[r>>2]|0)!=0?(l=c[q>>2]|0,m=c[r>>2]|0,(c[l>>2]|0)!=(c[m>>2]|0)?1:(c[l+4>>2]|0)!=(c[m+4>>2]|0)):0){m=c[q>>2]|0;c[t>>2]=em(c[n>>2]|0,c[m>>2]|0,c[m+4>>2]|0,u,s,0)|0;if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,0)|0;Kd(c[u>>2]|0);c[q>>2]=0;c[u>>2]=0}if(!(c[t>>2]|0)){if(c[q>>2]|0){e=c[q>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}else{e=c[r>>2]|0;g=c[e>>2]|0;e=c[e+4>>2]|0}c[t>>2]=em(c[n>>2]|0,g,e,u,s,0)|0}if(!(c[t>>2]|0))c[t>>2]=lm(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[u>>2]|0,c[s>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;Kd(c[u>>2]|0);u=c[t>>2]|0;i=v;return u|0}function mm(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;t=z+52|0;u=z+48|0;v=z+44|0;w=z+16|0;o=z+8|0;p=z;q=z+40|0;r=z+36|0;s=z+32|0;y=z+28|0;x=z+24|0;c[u>>2]=b;c[v>>2]=d;b=w;c[b>>2]=e;c[b+4>>2]=f;b=o;c[b>>2]=g;c[b+4>>2]=h;b=p;c[b>>2]=j;c[b+4>>2]=k;c[q>>2]=l;c[r>>2]=m;c[s>>2]=n;c[x>>2]=0;l=w;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0)c[x>>2]=(c[r>>2]|0)+20;c[y>>2]=Id(96+(c[x>>2]|0)|0)|0;if(!(c[y>>2]|0)){c[t>>2]=7;y=c[t>>2]|0;i=z;return y|0}e=c[y>>2]|0;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[c[y>>2]>>2]=c[u>>2];a[(c[y>>2]|0)+4>>0]=(c[v>>2]|0)!=0;l=w;u=c[l+4>>2]|0;v=(c[y>>2]|0)+8|0;c[v>>2]=c[l>>2];c[v+4>>2]=u;v=c[o+4>>2]|0;u=(c[y>>2]|0)+16|0;c[u>>2]=c[o>>2];c[u+4>>2]=v;u=c[p+4>>2]|0;v=(c[y>>2]|0)+24|0;c[v>>2]=c[p>>2];c[v+4>>2]=u;if(c[x>>2]|0){c[(c[y>>2]|0)+40>>2]=(c[y>>2]|0)+96;a[(c[y>>2]|0)+5>>0]=1;c[(c[y>>2]|0)+44>>2]=c[r>>2];rR(c[(c[y>>2]|0)+40>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;e=(c[(c[y>>2]|0)+40>>2]|0)+(c[r>>2]|0)|0;f=e+20|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}else{w=oR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=(c[y>>2]|0)+32|0;c[x>>2]=w;c[x+4>>2]=C}c[c[s>>2]>>2]=c[y>>2];c[t>>2]=0;y=c[t>>2]|0;i=z;return y|0}function nm(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;A=i;i=i+80|0;u=A+76|0;j=A+72|0;k=A+68|0;D=A+64|0;B=A+60|0;v=A+56|0;w=A+52|0;y=A+48|0;r=A+44|0;s=A+40|0;z=A+36|0;n=A+32|0;m=A+28|0;x=A;l=A+24|0;q=A+20|0;p=A+16|0;o=A+12|0;t=A+8|0;c[j>>2]=a;c[k>>2]=b;c[D>>2]=e;c[B>>2]=f;c[v>>2]=g;c[w>>2]=h;c[y>>2]=0;c[r>>2]=c[D>>2];c[s>>2]=(c[r>>2]|0)+(c[B>>2]|0);c[z>>2]=0;c[n>>2]=0;c[m>>2]=1;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;a=Yl(c[r>>2]|0,x)|0;c[r>>2]=(c[r>>2]|0)+a;if((c[r>>2]|0)>>>0>(c[s>>2]|0)>>>0){c[u>>2]=267;D=c[u>>2]|0;i=A;return D|0}while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0){f=28;break}if(!((c[v>>2]|0)!=0?1:(c[w>>2]|0)!=0)){f=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,p)|0;else{c[p>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f}c[m>>2]=0;f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)&128)f=Zl(f,q)|0;else{c[q>>2]=d[f>>0];f=1}c[r>>2]=(c[r>>2]|0)+f;if((c[p>>2]|0)<0|(c[q>>2]|0)<0){f=15;break}if(((c[r>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[s>>2]|0)>>>0){f=15;break}if(((c[p>>2]|0)+(c[q>>2]|0)|0)>(c[n>>2]|0)){c[n>>2]=(c[p>>2]|0)+(c[q>>2]|0)<<1;c[t>>2]=Ld(c[z>>2]|0,c[n>>2]|0)|0;if(!(c[t>>2]|0)){f=18;break}c[z>>2]=c[t>>2]}rR((c[z>>2]|0)+(c[p>>2]|0)|0,c[r>>2]|0,c[q>>2]|0)|0;c[o>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[q>>2]|0);c[l>>2]=EQ(c[j>>2]|0,c[z>>2]|0,(c[o>>2]|0)>(c[k>>2]|0)?c[k>>2]|0:c[o>>2]|0)|0;do if(c[v>>2]|0){if((c[l>>2]|0)>=0){if(c[l>>2]|0)break;if((c[o>>2]|0)<=(c[k>>2]|0))break}a=x;B=c[a+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[v>>2]=0}while(0);if((c[w>>2]|0)!=0&(c[l>>2]|0)<0){a=x;B=c[a+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[a>>2];c[D+4>>2]=B;c[w>>2]=0}B=x;B=pR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;D=x;c[D>>2]=B;c[D+4>>2]=C}if((f|0)==15)c[y>>2]=267;else if((f|0)==18)c[y>>2]=7;else if((f|0)==28){if(c[v>>2]|0){t=x;B=c[t+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=B}if(c[w>>2]|0){B=c[x+4>>2]|0;D=c[w>>2]|0;c[D>>2]=c[x>>2];c[D+4>>2]=B}}Kd(c[z>>2]|0);c[u>>2]=c[y>>2];D=c[u>>2]|0;i=A;return D|0}function om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+28|0;l=g+24|0;k=g+20|0;j=g+16|0;e=g+12|0;f=g+8|0;h=g+4|0;d=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[j>>2]=c[(c[c[l>>2]>>2]|0)+12>>2];c[e>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[f>>2]=c[(c[c[l>>2]>>2]|0)+16>>2];c[h>>2]=(c[e>>2]|0)<(c[f>>2]|0)?c[e>>2]|0:c[f>>2]|0;c[d>>2]=EQ(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if(c[d>>2]|0){m=c[d>>2]|0;i=g;return m|0}c[d>>2]=(c[e>>2]|0)-(c[f>>2]|0);m=c[d>>2]|0;i=g;return m|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;h=p+32|0;e=p+28|0;f=p+24|0;l=p+20|0;o=p+16|0;n=p+12|0;m=p+8|0;j=p+4|0;k=p;c[h>>2]=a;c[e>>2]=b;c[f>>2]=d;c[o>>2]=24035;c[n>>2]=24039;c[m>>2]=24044;c[j>>2]=-1;c[k>>2]=15;d=c[h>>2]|0;if((c[e>>2]|0)>6){je(d,24055,-1);i=p;return}if(tm(d,21094,c[c[f>>2]>>2]|0,l)|0){i=p;return}switch(c[e>>2]|0){case 6:{c[k>>2]=de(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[j>>2]=de(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[m>>2]=ae(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=ae(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[o>>2]=ae(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0&(c[o>>2]|0)!=0)){te(c[h>>2]|0);i=p;return}d=c[h>>2]|0;if(!(c[k>>2]|0)){ne(d,19010,-1,0);i=p;return}if(rn(d,c[l>>2]|0)|0){i=p;return}Wn(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);i=p;return}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(tm(c[e>>2]|0,21102,c[c[h>>2]>>2]|0,f)|0){i=g;return}if(rn(c[e>>2]|0,c[f>>2]|0)|0){i=g;return}Sn(c[e>>2]|0,c[f>>2]|0);i=g;return}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+12|0;h=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[j+16>>2]=b;c[k>>2]=d;if(tm(c[e>>2]|0,21120,c[c[k>>2]>>2]|0,g)|0){i=j;return}c[f>>2]=c[c[g>>2]>>2];c[h>>2]=Qn(c[f>>2]|0)|0;switch(c[h>>2]|0){case 0:{ne(c[e>>2]|0,23939,-1,0);i=j;return}case 101:{ne(c[e>>2]|0,23955,-1,0);i=j;return}default:{re(c[e>>2]|0,c[h>>2]|0);i=j;return}}}function sm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(tm(c[e>>2]|0,21110,c[c[g>>2]>>2]|0,h)|0){i=k;return}c[j>>2]=0;if((c[f>>2]|0)>1)c[j>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;um(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0);i=k;return}function tm(b,d,e,f){b=b|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;p=i;i=i+32|0;n=p;g=p+28|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((fe(c[k>>2]|0)|0)==4?(be(c[k>>2]|0)|0)==4:0){d=$d(c[k>>2]|0)|0;a[m>>0]=a[d>>0]|0;a[m+1>>0]=a[d+1>>0]|0;a[m+2>>0]=a[d+2>>0]|0;a[m+3>>0]=a[d+3>>0]|0;c[c[l>>2]>>2]=c[m>>2];c[g>>2]=0;d=c[g>>2]|0;i=p;return d|0}c[n>>2]=c[j>>2];c[o>>2]=Od(23910,n)|0;je(c[h>>2]|0,c[o>>2]|0,-1);Kd(c[o>>2]|0);c[g>>2]=1;d=c[g>>2]|0;i=p;return d|0}function um(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;g=k+12|0;f=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[j>>2]=c[f>>2];else c[j>>2]=23845;e=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){vm(e,c[g>>2]|0,c[j>>2]|0);wm(c[h>>2]|0);i=k;return}else{ge(e,19010,0,0);i=k;return}}function vm(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;f=u+76|0;g=u+72|0;h=u+68|0;q=u;o=u+64|0;p=u+60|0;k=u+56|0;j=u+52|0;r=u+48|0;n=u+44|0;l=u+40|0;s=u+36|0;m=u+32|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[o>>2]=c[c[g>>2]>>2];c[p>>2]=0;c[k>>2]=0;c[j>>2]=0;c[r>>2]=0;c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[g>>2];c[q+4>>2]=c[(c[o>>2]|0)+24>>2];if((c[(c[g>>2]|0)+92>>2]|0)!=0?(HQ(c[(c[(c[g>>2]|0)+92>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0){xm(c[(c[g>>2]|0)+92>>2]|0);c[(c[g>>2]|0)+92>>2]=0}if(!(c[(c[g>>2]|0)+92>>2]|0)){c[n>>2]=0;e=ym(c[(c[g>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+20>>2]=e;c[q+8>>2]=c[(c[g>>2]|0)+20>>2];c[l>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0))break;c[s>>2]=0;if(zm(c[o>>2]|0,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0,s)|0){t=8;break}e=Am(q,a[(c[h>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[n>>2]=(c[n>>2]|0)+e;c[l>>2]=(c[l>>2]|0)+1}if((t|0)==8){je(c[f>>2]|0,c[s>>2]|0,-1);Kd(c[s>>2]|0);i=u;return}t=Bm(c[n>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+92>>2]=t;if(!(c[(c[g>>2]|0)+92>>2]|0))c[p>>2]=7;c[(c[g>>2]|0)+88>>2]=1;c[k>>2]=1}if((c[p>>2]|0)==0?(c[r>>2]=Cm(c[(c[g>>2]|0)+92>>2]|0,j)|0,(c[r>>2]|0)==0):0)c[p>>2]=7;if((c[p>>2]|0)==0?(c[q+28>>2]=c[j>>2],c[q+8>>2]=c[(c[g>>2]|0)+20>>2],c[p>>2]=Dm(c[g>>2]|0,c[k>>2]|0,q,c[h>>2]|0)|0,(c[k>>2]|0)!=0):0)Em(c[(c[g>>2]|0)+92>>2]|0);if(!(c[p>>2]|0)){c[m>>2]=c[(c[(c[g>>2]|0)+92>>2]|0)+4>>2]<<2;ge(c[f>>2]|0,c[j>>2]|0,c[m>>2]|0,c[r>>2]|0);i=u;return}re(c[f>>2]|0,c[p>>2]|0);if(!(c[r>>2]|0)){i=u;return}Qb[c[r>>2]&255](c[j>>2]|0);i=u;return}function wm(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ve(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;i=b;return}function xm(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function ym(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Lm(c[e>>2]|0,153,b)|0;i=d;return c[b>>2]|0}function zm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;l=m;g=m+12|0;h=m+8|0;j=m+16|0;k=m+4|0;c[h>>2]=b;a[j>>0]=e;c[k>>2]=f;do if((a[j>>0]|0)!=112?(a[j>>0]|0)!=99:0){if((a[j>>0]|0)==110?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==97?(d[(c[h>>2]|0)+228>>0]|0)!=0:0)break;if((a[j>>0]|0)==108?(d[(c[h>>2]|0)+230>>0]|0)!=0:0)break;if((((a[j>>0]|0)!=115?(a[j>>0]|0)!=120:0)?(a[j>>0]|0)!=121:0)?(a[j>>0]|0)!=98:0){f=c[k>>2]|0;c[l>>2]=a[j>>0];Dk(f,23875,l);c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function Am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=_(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(_(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}i=g;return c[f>>2]|0}function Bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;j=k+8|0;g=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=((c[e>>2]<<1)+1<<2)+20;c[h>>2]=KQ(c[f>>2]|0)|0;c[j>>2]=Id((c[g>>2]|0)+(c[h>>2]|0)+1|0)|0;if(!(c[j>>2]|0)){d=c[j>>2]|0;i=k;return d|0}tR(c[j>>2]|0,0,c[g>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=(c[j>>2]|0)+16+4-(c[j>>2]|0);c[(c[j>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[j>>2]|0)+4>>2]=c[e>>2];c[(c[j>>2]|0)+12>>2]=(c[j>>2]|0)+(c[g>>2]|0);rR(c[(c[j>>2]|0)+12>>2]|0,c[f>>2]|0,(c[h>>2]|0)+1|0)|0;a[c[j>>2]>>0]=1;d=c[j>>2]|0;i=k;return d|0}function Cm(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;c[h>>2]=0;e=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){b=c[f>>2]|0;if(!(d[e+2>>0]|0)){a[b+2>>0]=1;c[h>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[j>>2]=152;break}c[h>>2]=Id(c[b+4>>2]<<2)|0;if((c[h>>2]|0)!=0?(c[j>>2]=148,(c[(c[f>>2]|0)+8>>2]|0)!=0):0)rR(c[h>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[e+1>>0]=1;c[h>>2]=(c[f>>2]|0)+16+4;c[j>>2]=152}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Dm(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;g=B+92|0;h=B+88|0;j=B+84|0;k=B+80|0;A=B+76|0;n=B+72|0;y=B+68|0;z=B+64|0;r=B+24|0;s=B+16|0;l=B+60|0;o=B+56|0;q=B+52|0;t=B+8|0;x=B+48|0;p=B+44|0;m=B+40|0;u=B;v=B+36|0;w=B+32|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[y>>2]=c[c[g>>2]>>2];c[z>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0){g=31;break}if(!(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)){g=31;break}a[(c[j>>2]|0)+24>>0]=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a:do switch(a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0){case 112:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+8>>2];break}case 99:{if(c[h>>2]|0)c[c[(c[j>>2]|0)+28>>2]>>2]=c[(c[j>>2]|0)+4>>2];break}case 110:{if(c[h>>2]|0){f=r;c[f>>2]=0;c[f+4>>2]=0;c[A>>2]=Fm(c[y>>2]|0,z,r,0)|0;c[c[(c[j>>2]|0)+28>>2]>>2]=c[r>>2]}break}case 97:{if((c[h>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,s,l)|0,(c[A>>2]|0)==0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break a;f=Yl(c[l>>2]|0,t)|0;c[l>>2]=(c[l>>2]|0)+f;f=c[t>>2]|0;e=s;e=yR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=pR(f|0,0,e|0,C|0)|0;f=s;f=yR(e|0,C|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[q>>2]=f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1}}break}case 108:{c[x>>2]=0;f=(c[g>>2]|0)+32|0;c[A>>2]=Gm(c[y>>2]|0,c[f>>2]|0,c[f+4>>2]|0,x)|0;b:do if(!(c[A>>2]|0)){c[m>>2]=Ae(c[x>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break b;f=Yl(c[m>>2]|0,u)|0;c[m>>2]=(c[m>>2]|0)+f;c[(c[(c[j>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Zd(c[x>>2]|0)|0;break}case 115:{c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0))c[A>>2]=Im(c[g>>2]|0,c[j>>2]|0)|0;break}case 121:case 98:{c[v>>2]=(Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0)<<2;tR(c[(c[j>>2]|0)+28>>2]|0,0,c[v>>2]|0)|0;Jm(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0);break}default:{c[w>>2]=c[(c[g>>2]|0)+12>>2];c[A>>2]=Hm(c[g>>2]|0,0,0)|0;if(!(c[A>>2]|0)){if(c[h>>2]|0){if((c[(c[g>>2]|0)+24>>2]|0)!=0?(c[A>>2]=Fm(c[y>>2]|0,z,(c[j>>2]|0)+16|0,0)|0,(c[A>>2]|0)!=0):0)break a;c[A>>2]=Lm(c[w>>2]|0,154,c[j>>2]|0)|0;Mm(c[g>>2]|0,A)|0;if(c[A>>2]|0)break a}Lm(c[w>>2]|0,155,c[j>>2]|0)|0}}}while(0);e=Am(c[j>>2]|0,a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0)|0;f=(c[j>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[n>>2]=(c[n>>2]|0)+1}if((g|0)==31){Zd(c[z>>2]|0)|0;i=B;return c[A>>2]|0}return 0}function Em(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;rR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;i=b;return}function Fm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+36|0;g=p+32|0;h=p+28|0;j=p+24|0;k=p+20|0;n=p+16|0;l=p+12|0;m=p;o=p+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;if((c[c[h>>2]>>2]|0)==0?(c[o>>2]=Nn(c[g>>2]|0,c[h>>2]|0)|0,(c[o>>2]|0)!=0):0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[n>>2]=c[c[h>>2]>>2];c[l>>2]=Ae(c[n>>2]|0,0)|0;o=Yl(c[l>>2]|0,m)|0;c[l>>2]=(c[l>>2]|0)+o;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[f>>2]=267;o=c[f>>2]|0;i=p;return o|0}o=c[j>>2]|0;c[o>>2]=c[m>>2];c[o+4>>2]=0;if(c[k>>2]|0)c[c[k>>2]>>2]=c[l>>2];c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+12|0;j=f;g=f+8|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=j;e=Mn(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;i=f;return e|0}function Hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[k>>2];c[g>>2]=Lm(c[(c[k>>2]|0)+12>>2]|0,156,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){k=c[g>>2]|0;i=j;return k|0}c[c[f>>2]>>2]=c[h+8>>2];k=c[g>>2]|0;i=j;return k|0}function Im(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;q=t+56|0;d=t+52|0;e=t+48|0;r=t+44|0;f=t+40|0;g=t+36|0;l=t+32|0;o=t+28|0;h=t+24|0;j=t+20|0;s=t+16|0;n=t+12|0;m=t+8|0;k=t+4|0;p=t;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[r>>2]=Id(c[(c[d>>2]|0)+20>>2]<<4)|0;if(!(c[r>>2]|0)){c[q>>2]=7;s=c[q>>2]|0;i=t;return s|0}tR(c[r>>2]|0,0,c[(c[d>>2]|0)+20>>2]<<4|0)|0;Lm(c[(c[d>>2]|0)+12>>2]|0,157,c[r>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[o>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[l>>2]=(c[l>>2]|0)-(c[(c[(c[c[o>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[o>>2]|0)+4>>2]=c[l>>2];c[f>>2]=(c[f>>2]|0)+1}c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0)){d=33;break}c[h>>2]=0;c[j>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[n>>2]=(c[r>>2]|0)+(c[f>>2]<<4);c[s>>2]=Om(c[d>>2]|0,c[c[n>>2]>>2]|0,c[g>>2]|0,(c[n>>2]|0)+8|0)|0;if(c[s>>2]|0){d=11;break a}if(c[(c[n>>2]|0)+8>>2]|0){c[(c[n>>2]|0)+12>>2]=c[(c[n>>2]|0)+4>>2];Kn((c[r>>2]|0)+(c[f>>2]<<4)|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[f>>2]|0)+1}while(1){if((c[j>>2]|0)<=0)break;c[m>>2]=0;c[k>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+8>>2]|0))break;c[p>>2]=(c[r>>2]|0)+(c[f>>2]<<4);if(c[(c[p>>2]|0)+8>>2]|0){if(!((c[m>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0):0))c[m>>2]=c[p>>2];if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)!=(c[(c[p>>2]|0)+-16+12>>2]|0):0)c[k>>2]=1;else c[k>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>(c[h>>2]|0))c[h>>2]=c[k>>2]}else c[k>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(!(Kn(c[m>>2]|0)|0))continue;c[j>>2]=(c[j>>2]|0)+-1}c[(c[(c[e>>2]|0)+28>>2]|0)+(c[g>>2]<<2)>>2]=c[h>>2];c[g>>2]=(c[g>>2]|0)+1}if((d|0)==11){c[q>>2]=c[s>>2];s=c[q>>2]|0;i=t;return s|0}else if((d|0)==33){Kd(c[r>>2]|0);c[q>>2]=0;s=c[q>>2]|0;i=t;return s|0}return 0}function Jm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0){i=g;return}b=(c[e>>2]|0)+24|0;a=(c[c[f>>2]>>2]|0)+32|0;if(!((c[b>>2]|0)==(c[a>>2]|0)?(c[b+4>>2]|0)==(c[a+4>>2]|0):0)){i=g;return}b=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){Jm(c[b+12>>2]|0,c[f>>2]|0);Jm(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);i=g;return}else{In(b,c[f>>2]|0);i=g;return}}function Km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[f>>2]=c[j>>2];a=_((c[h>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0;a=Fn(c[c[f>>2]>>2]|0,c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+(a<<2)|0)|0;i=e;return a|0}function Lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;j=e+12|0;g=e+8|0;f=e+4|0;h=e;c[j>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;b=En(c[j>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;i=e;return b|0}function Mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[e>>2]>>2];c[f>>2]=0;if(c[g>>2]|0){b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}if((c[(c[d>>2]|0)+24>>2]|0)!=0?(c[g>>2]=rn(0,c[d>>2]|0)|0,(c[g>>2]|0)==0):0)c[g>>2]=sn(c[d>>2]|0)|0;c[f>>2]=0==(tn(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,g)|0)&1;un(c[d>>2]|0);c[c[e>>2]>>2]=c[g>>2];b=c[g>>2]|0;b=(b|0)==0;g=c[f>>2]|0;g=(g|0)!=0;g=b?g:0;g=g&1;i=h;return g|0}function Nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;m=l+24|0;n=l+20|0;k=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;j=l;c[e>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=0;c[h>>2]=c[n>>2];c[g>>2]=(_(c[m>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0)*3;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[h>>2]|0)+4>>2]|0)?(c[k>>2]|0)==0:0))break;c[k>>2]=Om(c[c[h>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if(c[j>>2]|0){n=Pm(j)|0;c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=n}else c[(c[(c[h>>2]|0)+28>>2]|0)+((c[g>>2]|0)+((c[f>>2]|0)*3|0)<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}i=l;return c[k>>2]|0} +function Ly(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+176|0;W=X+40|0;V=X+24|0;D=X+8|0;B=X;I=X+164|0;J=X+160|0;m=X+156|0;K=X+152|0;L=X+148|0;M=X+144|0;N=X+140|0;q=X+136|0;s=X+132|0;O=X+128|0;o=X+124|0;t=X+120|0;P=X+116|0;x=X+112|0;S=X+108|0;U=X+104|0;T=X+100|0;Q=X+96|0;A=X+92|0;v=X+88|0;w=X+84|0;z=X+80|0;p=X+76|0;F=X+72|0;u=X+68|0;r=X+64|0;E=X+60|0;y=X+56|0;H=X+52|0;R=X+48|0;c[J>>2]=f;c[m>>2]=g;c[K>>2]=h;c[L>>2]=j;c[M>>2]=k;c[N>>2]=l;c[O>>2]=0;c[o>>2]=0;c[t>>2]=0;c[P>>2]=c[c[J>>2]>>2];c[S>>2]=0;c[U>>2]=c[M>>2];c[T>>2]=0;c[Q>>2]=0;c[A>>2]=0;c[(c[N>>2]|0)+28>>2]=-1;c[(c[N>>2]|0)+44>>2]=0;a:do if(c[m>>2]|0){if(e[(c[M>>2]|0)+28>>1]&20){c[m>>2]=0;break}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[P>>2]|0)+20>>2]|0))break a;h=(ig(c[(c[(c[P>>2]|0)+16>>2]|0)+(c[q>>2]<<4)>>2]|0,c[m>>2]|0)|0)==0;l=c[q>>2]|0;if(h)break;c[q>>2]=l+1}c[T>>2]=c[(c[(c[P>>2]|0)+16>>2]|0)+(l<<4)+12>>2]}while(0);b:while(1){if(!((c[M>>2]|0)!=0?(c[O>>2]|0)==0:0)){G=89;break}c[z>>2]=c[(c[M>>2]|0)+4>>2];if(c[z>>2]|0){c[q>>2]=0;c[x>>2]=(c[z>>2]|0)+8;while(1){if((c[q>>2]|0)>=(c[c[z>>2]>>2]|0))break;c[A>>2]=c[(c[x>>2]|0)+16>>2];if((c[(c[x>>2]|0)+20>>2]|0)!=0?(c[(c[(c[x>>2]|0)+20>>2]|0)+8>>2]&1024|0)!=0:0){c[p>>2]=0;c[w>>2]=c[c[(c[x>>2]|0)+20>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break;if(Ry(c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+8>>2]|0,c[L>>2]|0,c[K>>2]|0,c[m>>2]|0)|0){c[O>>2]=(c[O>>2]|0)+1;c[o>>2]=2;c[S>>2]=c[x>>2];b[(c[N>>2]|0)+32>>1]=c[s>>2];c[p>>2]=1}c[s>>2]=(c[s>>2]|0)+1}if(!((c[p>>2]|0)!=0|(c[K>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if((c[m>>2]|0)!=0?(c[(c[A>>2]|0)+64>>2]|0)!=(c[T>>2]|0):0)break;if(c[K>>2]|0){if(c[(c[x>>2]|0)+12>>2]|0)l=c[(c[x>>2]|0)+12>>2]|0;else l=c[c[A>>2]>>2]|0;c[F>>2]=l;if(ig(c[F>>2]|0,c[K>>2]|0)|0)break}h=c[o>>2]|0;c[o>>2]=h+1;if(!h)c[S>>2]=c[x>>2];c[s>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break c;if(!(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)){if((c[O>>2]|0)!=1)break;if((d[(c[x>>2]|0)+36>>0]&4|0)==0?(Sy(c[(c[x>>2]|0)+52>>2]|0,c[L>>2]|0)|0)==0:0)break}c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=c[x>>2];if((c[s>>2]|0)==(b[(c[A>>2]|0)+32>>1]|0))l=-1;else l=(c[s>>2]&65535)<<16>>16;b[(c[N>>2]|0)+32>>1]=l}while(0);c[q>>2]=(c[q>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+72}if(c[S>>2]|0){c[(c[N>>2]|0)+28>>2]=c[(c[S>>2]|0)+44>>2];c[(c[N>>2]|0)+44>>2]=c[(c[S>>2]|0)+16>>2];if(d[(c[S>>2]|0)+36>>0]&8){h=(c[N>>2]|0)+4|0;c[h>>2]=c[h>>2]|1048576}c[T>>2]=c[(c[(c[N>>2]|0)+44>>2]|0)+64>>2]}}if((c[m>>2]|0)==0&(c[K>>2]|0)!=0&(c[o>>2]|0)==0?(c[(c[J>>2]|0)+420>>2]|0)!=0:0){c[u>>2]=d[(c[J>>2]|0)+440>>0];if((c[u>>2]|0)!=109?(ig(30520,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=1;c[A>>2]=c[(c[J>>2]|0)+420>>2]}else G=50;do if((G|0)==50){G=0;if((c[u>>2]|0)!=108?(ig(30524,c[K>>2]|0)|0)==0:0){c[(c[N>>2]|0)+28>>2]=0;c[A>>2]=c[(c[J>>2]|0)+420>>2];break}c[A>>2]=0}while(0);if(c[A>>2]|0){c[T>>2]=c[(c[A>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[r>>2]=0;c[v>>2]=c[(c[A>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0))break;h=(ig(c[c[v>>2]>>2]|0,c[L>>2]|0)|0)==0;n=c[r>>2]|0;if(h){G=58;break}c[r>>2]=n+1;c[v>>2]=(c[v>>2]|0)+16}if((G|0)==58?(G=0,(n|0)==(b[(c[A>>2]|0)+32>>1]|0)):0)c[r>>2]=-1;if(((c[r>>2]|0)>=(b[(c[A>>2]|0)+34>>1]|0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[A>>2]|0)+42>>0]&64|0)==0:0)c[r>>2]=-1;if((c[r>>2]|0)<(b[(c[A>>2]|0)+34>>1]|0)){c[O>>2]=(c[O>>2]|0)+1;l=c[N>>2]|0;do if((c[r>>2]|0)>=0){k=(c[r>>2]|0)>=32?-1:1<>2];f=c[J>>2]|0;if(!(c[l+28>>2]|0)){h=f+432|0;c[h>>2]=c[h>>2]|k;break}else{h=f+436|0;c[h>>2]=c[h>>2]|k;break}}else a[l+1>>0]=68;while(0);b[(c[N>>2]|0)+32>>1]=c[r>>2];c[(c[N>>2]|0)+44>>2]=c[A>>2];c[Q>>2]=1}}}if((((c[O>>2]|0)==0&(c[o>>2]|0)==1&(c[S>>2]|0)!=0?(e[(c[M>>2]|0)+28>>1]&32|0)==0:0)?(si(c[L>>2]|0)|0)!=0:0)?(d[(c[(c[S>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[O>>2]=1;b[(c[N>>2]|0)+32>>1]=-1;a[(c[N>>2]|0)+1>>0]=68}h=c[(c[M>>2]|0)+8>>2]|0;c[w>>2]=h;d:do if((h|0)!=0&(c[K>>2]|0)==0&(c[O>>2]|0)==0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[w>>2]>>2]|0))break d;c[E>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+4>>2];if((c[E>>2]|0)!=0?(ig(c[E>>2]|0,c[L>>2]|0)|0)==0:0){G=82;break b}c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[O>>2]|0)continue;c[M>>2]=c[(c[M>>2]|0)+16>>2];c[t>>2]=(c[t>>2]|0)+1}if((G|0)==82){c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((e[(c[M>>2]|0)+28>>1]&1|0)==0?(c[(c[y>>2]|0)+4>>2]&2|0)!=0:0){W=c[J>>2]|0;c[B>>2]=c[E>>2];Ch(W,30528,B);c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}Fy(c[J>>2]|0,c[w>>2]|0,c[s>>2]|0,c[N>>2]|0,19010,c[t>>2]|0);c[O>>2]=1;c[S>>2]=0}else if((G|0)==89){if((c[O>>2]|0)==0&(c[K>>2]|0)==0?(c[(c[N>>2]|0)+4>>2]&64|0)!=0:0){a[c[N>>2]>>0]=97;c[(c[N>>2]|0)+44>>2]=0;c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}if((c[O>>2]|0)!=1){c[H>>2]=(c[O>>2]|0)==0?30559:30574;do if(!(c[m>>2]|0)){k=c[J>>2]|0;l=c[H>>2]|0;if(c[K>>2]|0){K=c[K>>2]|0;W=c[L>>2]|0;c[V>>2]=l;c[V+4>>2]=K;c[V+8>>2]=W;Ch(k,30609,V);break}else{V=c[L>>2]|0;c[W>>2]=l;c[W+4>>2]=V;Ch(k,30619,W);break}}else{W=c[J>>2]|0;G=c[m>>2]|0;K=c[K>>2]|0;V=c[L>>2]|0;c[D>>2]=c[H>>2];c[D+4>>2]=G;c[D+8>>2]=K;c[D+12>>2]=V;Ch(W,30596,D)}while(0);a[(c[J>>2]|0)+17>>0]=1;W=(c[U>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if((c[S>>2]|0)!=0?(b[(c[N>>2]|0)+32>>1]|0)>=0:0){W=b[(c[N>>2]|0)+32>>1]|0;c[R>>2]=W;c[R>>2]=(c[R>>2]|0)>=64?63:W;R=uR(1,0,c[R>>2]|0)|0;W=(c[S>>2]|0)+56|0;S=W;V=c[S+4>>2]|C;c[W>>2]=c[S>>2]|R;c[W+4>>2]=V}dv(c[P>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+12>>2]=0;dv(c[P>>2]|0,c[(c[N>>2]|0)+16>>2]|0);c[(c[N>>2]|0)+16>>2]=0;a[c[N>>2]>>0]=(c[Q>>2]|0)!=0?62:152}if((c[O>>2]|0)!=1){c[I>>2]=2;W=c[I>>2]|0;i=X;return W|0}if(!(c[(c[N>>2]|0)+4>>2]&4194304))Ty(c[J>>2]|0,c[N>>2]|0,c[T>>2]|0,c[(c[M>>2]|0)+4>>2]|0);while(1){W=(c[U>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[U>>2]|0)==(c[M>>2]|0))break;c[U>>2]=c[(c[U>>2]|0)+16>>2]}c[I>>2]=1;W=c[I>>2]|0;i=X;return W|0}function My(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;k=m;g=m+24|0;h=m+20|0;j=m+16|0;n=m+12|0;l=m+8|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){i=m;return}c[l>>2]=30436;if(!((e[(c[h>>2]|0)+28>>1]|0)&32)){if((e[(c[h>>2]|0)+28>>1]|0)&4)c[l>>2]=30482}else c[l>>2]=30464;n=c[g>>2]|0;d=c[l>>2]|0;c[k>>2]=c[j>>2];c[k+4>>2]=d;Ch(n,30500,k);i=m;return}function Ny(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=133){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;Qy(a,f,Jf(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;i=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;i=g;return f|0}return 0}function Oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=196;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;gy(g,c[(c[f>>2]|0)+20>>2]|0)|0;i=e;return ((c[d+4>>2]|0)>0?1:(c[d+8>>2]|0)==0)&1|0}function Py(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){i=l;return 0}c[g>>2]=c[(c[e>>2]|0)+24>>2];c[h>>2]=c[c[g>>2]>>2];if(c[h>>2]|0)e=c[c[h>>2]>>2]|0;else e=0;c[k>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+8+((c[j>>2]|0)*72|0)+44>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}e=c[g>>2]|0;if((c[j>>2]|0)<(c[k>>2]|0)){k=e+4|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}else{k=e+8|0;c[k>>2]=(c[k>>2]|0)+1;i=l;return 0}return 0}function Qy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+76|0;w=G+72|0;x=G+68|0;j=G+64|0;m=G+80|0;r=G+60|0;E=G+56|0;u=G+52|0;t=G+16|0;p=G+48|0;z=G+44|0;q=G+40|0;y=G+36|0;D=G+8|0;A=G+32|0;B=G+28|0;n=G+24|0;v=G;c[w>>2]=b;c[x>>2]=e;c[j>>2]=f;a[m>>0]=g;c[E>>2]=(c[w>>2]|0)+(c[j>>2]|0);c[u>>2]=1;b=t;c[b>>2]=0;c[b+4>>2]=0;c[p>>2]=0;c[z>>2]=1;c[q>>2]=0;c[y>>2]=1;c[A>>2]=0;c[B>>2]=0;h[c[x>>2]>>3]=0.0;if((d[m>>0]|0)==1)c[r>>2]=1;else{c[r>>2]=2;c[n>>2]=3-(d[m>>0]|0);while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;if(a[(c[w>>2]|0)+(c[n>>2]|0)>>0]|0)break;c[n>>2]=(c[n>>2]|0)+2}c[B>>2]=(c[n>>2]|0)<(c[j>>2]|0)&1;c[E>>2]=(c[w>>2]|0)+(c[n>>2]|0)+(d[m>>0]|0)+-3;c[w>>2]=(c[w>>2]|0)+(d[m>>0]&1)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&1))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;i=G;return F|0}if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[u>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if((a[c[w>>2]>>0]|0)!=48)break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19011+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=AR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=pR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&4))break;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){b:do if((a[c[w>>2]>>0]|0)==46){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break;b=t;e=c[b+4>>2]|0;if(!((d[19011+(d[c[w>>2]>>0]|0)>>0]&4|0)!=0&((e|0)<214748364|(e|0)==214748364&(c[b>>2]|0)>>>0<3435973835)))break;b=t;b=AR(c[b>>2]|0,c[b+4>>2]|0,10,0)|0;e=(a[c[w>>2]>>0]|0)-48|0;e=pR(b|0,C|0,e|0,((e|0)<0)<<31>>31|0)|0;b=t;c[b>>2]=e;c[b+4>>2]=C;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+-1}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break b;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&4))break b;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[A>>2]=(c[A>>2]|0)+1}}while(0);if((c[w>>2]|0)>>>0<(c[E>>2]|0)>>>0){if(!((a[c[w>>2]>>0]|0)!=101?(a[c[w>>2]>>0]|0)!=69:0))o=38;c:do if((o|0)==38){c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=0;if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if((a[c[w>>2]>>0]|0)!=45){if((a[c[w>>2]>>0]|0)==43)c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}else{c[z>>2]=-1;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break c;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&4))break c;if((c[q>>2]|0)<1e4)j=((c[q>>2]|0)*10|0)+((a[c[w>>2]>>0]|0)-48)|0;else j=1e4;c[q>>2]=j;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0);c[y>>2]=1}}while(0);if((c[A>>2]|0)!=0&(c[y>>2]|0)!=0)while(1){if((c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0)break a;if(!(d[19011+(d[c[w>>2]>>0]|0)>>0]&1))break a;c[w>>2]=(c[w>>2]|0)+(c[r>>2]|0)}}}while(0);r=_(c[q>>2]|0,c[z>>2]|0)|0;c[q>>2]=r+(c[p>>2]|0);if((c[q>>2]|0)<0){c[z>>2]=-1;c[q>>2]=_(c[q>>2]|0,-1)|0}else c[z>>2]=1;r=t;do if((c[r>>2]|0)!=0|(c[r+4>>2]|0)!=0){d:do if((c[z>>2]|0)>0)while(1){r=t;p=c[r+4>>2]|0;if(!((p|0)<214748364|(p|0)==214748364&(c[r>>2]|0)>>>0<3435973836?(c[q>>2]|0)>0:0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=AR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}else while(1){r=t;r=zR(c[r>>2]|0,c[r+4>>2]|0,10,0)|0;if(!((r|0)!=0|(C|0)!=0?0:(c[q>>2]|0)>0))break d;c[q>>2]=(c[q>>2]|0)+-1;p=t;p=yR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;r=t;c[r>>2]=p;c[r+4>>2]=C}while(0);p=(c[u>>2]|0)<0;r=t;o=c[r>>2]|0;r=c[r+4>>2]|0;b=oR(0,0,o|0,r|0)|0;u=t;c[u>>2]=p?b:o;c[u+4>>2]=p?C:r;if(!(c[q>>2]|0)){z=t;h[D>>3]=+((c[z>>2]|0)>>>0)+4294967296.0*+(c[z+4>>2]|0);break}h[v>>3]=1.0;if((c[q>>2]|0)>307&(c[q>>2]|0)<342){while(1){if(!((c[q>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;h[D>>3]=+h[D>>3]/1.e+308;break}else{h[D>>3]=l*k;h[D>>3]=+h[D>>3]*1.e+308;break}}if((c[q>>2]|0)>=342){v=t;k=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[z>>2]|0)<0){h[D>>3]=0.0*k;break}else{h[D>>3]=s*k;break}}while(1){if(!((c[q>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[q>>2]=(c[q>>2]|0)-1}while(1){if((c[q>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[q>>2]=(c[q>>2]|0)-22}u=t;l=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);k=+h[v>>3];if((c[z>>2]|0)<0){h[D>>3]=l/k;break}else{h[D>>3]=l*k;break}}else h[D>>3]=((c[u>>2]|0)<0?(c[A>>2]|0)!=0:0)?-0.0:0.0;while(0);h[c[x>>2]>>3]=+h[D>>3];if(((c[A>>2]|0)>0?(c[w>>2]|0)>>>0>=(c[E>>2]|0)>>>0:0)&(c[y>>2]|0)!=0)j=(c[B>>2]|0)==0;else j=0;c[F>>2]=j&1;F=c[F>>2]|0;i=G;return F|0}function Ry(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[l>>2]|0){if((zd(c[h>>2]|0,c[l>>2]|0,c[m>>2]|0)|0)==0?(a[(c[l>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((zd(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if((c[j>>2]|0)!=0?(ig(c[h>>2]|0,c[j>>2]|0)|0)!=0:0){c[g>>2]=0;e=c[g>>2]|0;i=n;return e|0}c[g>>2]=1;e=c[g>>2]|0;i=n;return e|0}function Sy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}while(0);c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function Ty(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;k=s+36|0;l=s+32|0;j=s+28|0;m=s+24|0;t=s+20|0;q=s+16|0;r=s+12|0;p=s+8|0;o=s+4|0;n=s;c[k>>2]=e;c[l>>2]=f;c[j>>2]=g;c[m>>2]=h;c[t>>2]=c[c[k>>2]>>2];c[q>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){i=s;return}c[o>>2]=Fh(c[c[k>>2]>>2]|0,c[j>>2]|0)|0;if((c[o>>2]|0)<0){i=s;return}a:do if((d[c[l>>2]>>0]|0)==62)c[q>>2]=c[(c[k>>2]|0)+420>>2];else{c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[m>>2]>>2]|0))break a;j=c[p>>2]|0;if((c[(c[l>>2]|0)+28>>2]|0)==(c[(c[m>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0))break;c[p>>2]=j+1}c[q>>2]=c[(c[m>>2]|0)+8+(j*72|0)+16>>2]}while(0);c[n>>2]=b[(c[l>>2]|0)+32>>1];if(!(c[q>>2]|0)){i=s;return}do if((c[n>>2]|0)<0)if((b[(c[q>>2]|0)+32>>1]|0)>=0){c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(b[(c[q>>2]|0)+32>>1]<<4)>>2];break}else{c[r>>2]=20503;break}else c[r>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2];while(0);if(2!=(Uy(c[k>>2]|0,c[c[q>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)){i=s;return}a[c[l>>2]>>0]=101;i=s;return}function Uy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;n=p+16|0;m=p;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;k=p+32|0;o=p+28|0;l=p+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[o>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[l>>2]=Sb[c[(c[k>>2]|0)+296>>2]&255](c[(c[k>>2]|0)+300>>2]|0,20,c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,c[(c[f>>2]|0)+496>>2]|0)|0;if((c[l>>2]|0)!=1){if(!((c[l>>2]|0)!=2&(c[l>>2]|0)!=0)){o=c[l>>2]|0;i=p;return o|0}Tw(c[f>>2]|0);o=c[l>>2]|0;i=p;return o|0}e=c[f>>2]|0;if((c[j>>2]|0)!=0?1:(c[(c[k>>2]|0)+20>>2]|0)>2){k=c[g>>2]|0;n=c[h>>2]|0;c[m>>2]=c[o>>2];c[m+4>>2]=k;c[m+8>>2]=n;Ch(e,30626,m)}else{o=c[h>>2]|0;c[n>>2]=c[g>>2];c[n+4>>2]=o;Ch(e,30659,n)}c[(c[f>>2]|0)+12>>2]=23;o=c[l>>2]|0;i=p;return o|0}function Vy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+44|0;f=r+40|0;m=r+36|0;j=r+32|0;o=r+28|0;k=r+24|0;n=r+20|0;g=r+16|0;p=r+12|0;q=r+8|0;h=r;c[f>>2]=b;c[m>>2]=e;if(!(c[(c[m>>2]|0)+48>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}if(!(c[(c[m>>2]|0)+44>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[k>>2]=c[m>>2];while(1){if(!(c[k>>2]|0))break;if((d[(c[k>>2]|0)+4>>0]|0|0)!=116?(d[(c[k>>2]|0)+4>>0]|0|0)!=119:0)break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}if(!(c[k>>2]|0)){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[g>>2]=c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2];c[j>>2]=(c[c[(c[m>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;if(c[(c[(c[g>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}c[q>>2]=c[c[f>>2]>>2];c[n>>2]=c[c[q>>2]>>2];c[o>>2]=rh(c[n>>2]|0,68,0)|0;if(!(c[o>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0};c[h>>2]=0;c[h+4>>2]=0;c[p>>2]=Kv(c[q>>2]|0,0,0,0,h,c[o>>2]|0,0,0)|0;if(!(c[p>>2]|0)){c[l>>2]=2;q=c[l>>2]|0;i=r;return q|0}else{f=c[o>>2]|0;g=c[m>>2]|0;h=f+68|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));c[(c[m>>2]|0)+28>>2]=c[p>>2];q=c[q>>2]|0;q=Mv(q,0,Pv(c[n>>2]|0,158,0)|0)|0;c[c[m>>2]>>2]=q;a[(c[m>>2]|0)+4>>0]=119;c[(c[m>>2]|0)+32>>2]=0;c[(c[o>>2]|0)+36>>2]=0;c[(c[o>>2]|0)+40>>2]=0;c[(c[o>>2]|0)+44>>2]=0;c[(c[m>>2]|0)+48>>2]=0;c[(c[m>>2]|0)+52>>2]=0;c[(c[m>>2]|0)+64>>2]=0;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]&-129;q=(c[m>>2]|0)+8|0;c[q>>2]=c[q>>2]|32768;c[(c[(c[o>>2]|0)+48>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+56>>2]=0;c[(c[o>>2]|0)+60>>2]=0;c[l>>2]=0;q=c[l>>2]|0;i=r;return q|0}return 0}function Wy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+208|0;Q=Y+56|0;P=Y+48|0;O=Y+40|0;N=Y+24|0;R=Y+16|0;p=Y+8|0;m=Y;q=Y+196|0;h=Y+192|0;r=Y+188|0;F=Y+184|0;u=Y+180|0;w=Y+176|0;x=Y+172|0;J=Y+168|0;A=Y+164|0;C=Y+160|0;t=Y+156|0;z=Y+152|0;G=Y+148|0;B=Y+144|0;l=Y+202|0;o=Y+140|0;k=Y+136|0;j=Y+200|0;s=Y+132|0;E=Y+128|0;n=Y+124|0;y=Y+120|0;M=Y+116|0;V=Y+112|0;I=Y+108|0;H=Y+104|0;W=Y+100|0;U=Y+96|0;v=Y+92|0;T=Y+88|0;S=Y+84|0;X=Y+80|0;L=Y+72|0;D=Y+64|0;K=Y+60|0;c[h>>2]=f;c[r>>2]=g;c[F>>2]=c[c[h>>2]>>2];c[t>>2]=c[c[F>>2]>>2];b[l>>1]=c[(c[r>>2]|0)+8>>2];f=(c[r>>2]|0)+8|0;c[f>>2]=c[f>>2]|32;if(a[(c[t>>2]|0)+69>>0]|0){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}if((c[(c[r>>2]|0)+28>>2]|0)!=0?(e[l>>1]&32|0)==0:0){c[J>>2]=c[(c[r>>2]|0)+28>>2];c[A>>2]=c[c[r>>2]>>2];if((c[(c[h>>2]|0)+12>>2]|0)==132){l=c[F>>2]|0;Wv(l,c[(Yy(c[r>>2]|0)|0)+64>>2]|0,0)}Ox(c[F>>2]|0,c[J>>2]|0);c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;a:while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0)){j=38;break}if(!((d[(c[C>>2]|0)+36+1>>0]|0)>>>5&1)){if(Zy(c[h>>2]|0,c[C>>2]|0)|0){j=12;break}do if(!(c[(c[C>>2]|0)+16>>2]|0)){if(!(c[(c[C>>2]|0)+8>>2]|0)){c[k>>2]=c[(c[C>>2]|0)+20>>2];if(dy(c[h>>2]|0,c[k>>2]|0)|0){j=16;break a}l=rh(c[t>>2]|0,72,0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=18;break a}b[(c[o>>2]|0)+36>>1]=1;l=c[t>>2]|0;c[m>>2]=c[o>>2];l=Dh(l,30689,m)|0;c[c[o>>2]>>2]=l;while(1){if(!(c[(c[k>>2]|0)+48>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+48>>2]}Mx(c[F>>2]|0,c[c[k>>2]>>2]|0,(c[o>>2]|0)+34|0,(c[o>>2]|0)+4|0)|0;b[(c[o>>2]|0)+32>>1]=-1;b[(c[o>>2]|0)+38>>1]=200;l=(c[o>>2]|0)+42|0;a[l>>0]=d[l>>0]|2;break}l=ex(c[F>>2]|0,0,c[C>>2]|0)|0;c[o>>2]=l;c[(c[C>>2]|0)+16>>2]=l;if(!(c[o>>2]|0)){j=24;break a}if((e[(c[o>>2]|0)+36>>1]|0)==65535){j=26;break a}l=(c[o>>2]|0)+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16;if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(_y(c[F>>2]|0,c[C>>2]|0)|0)!=0:0){j=29;break a}if((d[(c[o>>2]|0)+42>>0]&16|0)==0?(c[(c[o>>2]|0)+12>>2]|0)==0:0)break;if(Fx(c[F>>2]|0,c[o>>2]|0)|0){j=33;break a}l=Nx(c[t>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[C>>2]|0)+20>>2]=l;b[j>>1]=b[(c[o>>2]|0)+34>>1]|0;b[(c[o>>2]|0)+34>>1]=-1;dy(c[h>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0;b[(c[o>>2]|0)+34>>1]=b[j>>1]|0}while(0);if($y(c[F>>2]|0,c[C>>2]|0)|0){j=36;break}}c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if((j|0)==12){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==16){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==18){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==24){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==26){X=c[F>>2]|0;c[p>>2]=c[c[o>>2]>>2];Ch(X,30702,p);c[(c[C>>2]|0)+16>>2]=0;c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==29){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==33){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==36){c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}else if((j|0)==38){if((d[(c[t>>2]|0)+69>>0]|0)==0?(az(c[F>>2]|0,c[r>>2]|0)|0)==0:0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[(c[A>>2]|0)+4>>2]|0)+((c[x>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==158)break;if((d[c[z>>2]>>0]|0)==122?(d[c[(c[z>>2]|0)+16>>2]>>0]|0)==158:0)break;c[x>>2]=(c[x>>2]|0)+1}if((c[x>>2]|0)<(c[c[A>>2]>>2]|0)){c[s>>2]=c[(c[A>>2]|0)+4>>2];c[E>>2]=0;c[n>>2]=c[(c[c[F>>2]>>2]|0)+24>>2];if(c[n>>2]&4)h=(c[n>>2]&64|0)==0;else h=0;c[y>>2]=h&1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[c[A>>2]>>2]|0))break;c[z>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2];c[G>>2]=c[(c[z>>2]|0)+16>>2];do if((d[c[z>>2]>>0]|0)!=158){if((d[c[z>>2]>>0]|0)==122?(d[c[G>>2]>>0]|0)==158:0){j=58;break}c[E>>2]=Mv(c[F>>2]|0,c[E>>2]|0,c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]|0)|0;if(c[E>>2]|0){c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2];c[(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2];c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+4>>2]=0;c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)+8>>2]=0}c[(c[s>>2]|0)+((c[x>>2]|0)*20|0)>>2]=0}else j=58;while(0);do if((j|0)==58){j=0;c[M>>2]=0;c[V>>2]=0;if((d[c[z>>2]>>0]|0)==122)c[V>>2]=c[(c[(c[z>>2]|0)+12>>2]|0)+8>>2];c[u>>2]=0;c[C>>2]=(c[J>>2]|0)+8;while(1){if((c[u>>2]|0)>=(c[c[J>>2]>>2]|0))break;c[I>>2]=c[(c[C>>2]|0)+16>>2];c[H>>2]=c[(c[C>>2]|0)+20>>2];c[W>>2]=c[(c[C>>2]|0)+12>>2];c[U>>2]=0;if(!(c[W>>2]|0))c[W>>2]=c[c[I>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0)break;if((c[H>>2]|0)!=0?(c[(c[H>>2]|0)+8>>2]&1024|0)!=0:0)j=72;else j=67;do if((j|0)==67){j=0;c[H>>2]=0;if((c[V>>2]|0)!=0?(ig(c[V>>2]|0,c[W>>2]|0)|0)!=0:0)break;c[v>>2]=Fh(c[t>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;if((c[v>>2]|0)>=0)h=c[(c[(c[t>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2]|0;else h=26059;c[U>>2]=h;j=72}while(0);b:do if((j|0)==72){j=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break b;c[T>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2];if(!((c[V>>2]|0)!=0&(c[H>>2]|0)!=0?(Ry(c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0,0,c[V>>2]|0,0)|0)==0:0))j=76;do if((j|0)==76){j=0;if((c[(c[r>>2]|0)+8>>2]&65536|0)==0?(d[(c[(c[I>>2]|0)+4>>2]|0)+(c[w>>2]<<4)+15>>0]&2|0)!=0:0)break;c[M>>2]=1;if((c[u>>2]|0)>0&(c[V>>2]|0)==0){if((d[(c[C>>2]|0)+36>>0]&4|0)!=0?(bz(c[J>>2]|0,c[u>>2]|0,c[T>>2]|0,0,0)|0)!=0:0)break;if((cz(c[(c[C>>2]|0)+52>>2]|0,c[T>>2]|0)|0)>=0)break}c[G>>2]=Pv(c[t>>2]|0,27,c[T>>2]|0)|0;c[S>>2]=c[T>>2];c[X>>2]=0;do if(c[y>>2]|0)j=84;else{if((c[c[J>>2]>>2]|0)>1){j=84;break}c[B>>2]=c[G>>2]}while(0);do if((j|0)==84){j=0;c[D>>2]=Pv(c[t>>2]|0,27,c[W>>2]|0)|0;c[B>>2]=xv(c[F>>2]|0,122,c[D>>2]|0,c[G>>2]|0,0)|0;if(c[U>>2]|0){c[D>>2]=Pv(c[t>>2]|0,27,c[U>>2]|0)|0;c[B>>2]=xv(c[F>>2]|0,122,c[D>>2]|0,c[B>>2]|0,0)|0}if(!(c[y>>2]|0))break;p=c[t>>2]|0;o=c[T>>2]|0;c[R>>2]=c[W>>2];c[R+4>>2]=o;c[S>>2]=Dh(p,30741,R)|0;c[X>>2]=c[S>>2]}while(0);c[E>>2]=Mv(c[F>>2]|0,c[E>>2]|0,c[B>>2]|0)|0;Iy(L,c[S>>2]|0);Nv(c[F>>2]|0,c[E>>2]|0,L,0);do if(c[E>>2]|0){if(!(c[(c[r>>2]|0)+8>>2]&1024))break;c[K>>2]=(c[(c[E>>2]|0)+4>>2]|0)+(((c[c[E>>2]>>2]|0)-1|0)*20|0);h=c[t>>2]|0;if(c[H>>2]|0){p=ph(h,c[(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2]|0)|0;c[(c[K>>2]|0)+8>>2]=p}else{o=c[W>>2]|0;p=c[S>>2]|0;c[N>>2]=c[U>>2];c[N+4>>2]=o;c[N+8>>2]=p;p=Dh(h,30747,N)|0;c[(c[K>>2]|0)+8>>2]=p}p=(c[K>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Tf(c[t>>2]|0,c[X>>2]|0)}while(0);c[w>>2]=(c[w>>2]|0)+1}}while(0);c[u>>2]=(c[u>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+72}if(!(c[M>>2]|0)){h=c[F>>2]|0;if(c[V>>2]|0){c[O>>2]=c[V>>2];Ch(h,30756,O);break}else{Ch(h,30774,P);break}}}while(0);c[x>>2]=(c[x>>2]|0)+1}$u(c[t>>2]|0,c[A>>2]|0);c[c[r>>2]>>2]=c[E>>2]}if((c[c[r>>2]>>2]|0)!=0?(c[c[c[r>>2]>>2]>>2]|0)>(c[(c[t>>2]|0)+92+8>>2]|0):0){Ch(c[F>>2]|0,30794,Q);c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=0;X=c[q>>2]|0;i=Y;return X|0}c[q>>2]=2;X=c[q>>2]|0;i=Y;return X|0}}c[q>>2]=1;X=c[q>>2]|0;i=Y;return X|0}function Xy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Yy(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){i=f;return}c[(c[d>>2]|0)+536>>2]=c[(c[e>>2]|0)+4>>2];i=f;return}function Yy(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}i=d;return a|0}function Zy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;u=B+16|0;o=B+8|0;j=B;v=B+88|0;w=B+84|0;k=B+80|0;y=B+76|0;h=B+72|0;x=B+68|0;p=B+64|0;t=B+60|0;r=B+56|0;A=B+52|0;s=B+48|0;q=B+44|0;z=B+40|0;l=B+36|0;n=B+32|0;m=B+28|0;c[w>>2]=f;c[k>>2]=g;c[y>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[y>>2]>>2];c[x>>2]=qz(c[(c[y>>2]|0)+536>>2]|0,c[k>>2]|0,p)|0;if(c[x>>2]|0){g=c[y>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){A=c[(c[x>>2]|0)+12>>2]|0;c[j>>2]=c[c[x>>2]>>2];Ch(g,A,j);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}if(_y(g,c[k>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}j=rh(c[h>>2]|0,72,0)|0;c[t>>2]=j;c[(c[k>>2]|0)+16>>2]=j;if(!(c[t>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;i=B;return A|0}b[(c[t>>2]|0)+36>>1]=1;j=ph(c[h>>2]|0,c[c[x>>2]>>2]|0)|0;c[c[t>>2]>>2]=j;b[(c[t>>2]|0)+32>>1]=-1;b[(c[t>>2]|0)+38>>1]=200;j=(c[t>>2]|0)+42|0;a[j>>0]=d[j>>0]|66;j=Nx(c[h>>2]|0,c[(c[x>>2]|0)+8>>2]|0,0)|0;c[(c[k>>2]|0)+20>>2]=j;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;i=B;return A|0}c[A>>2]=c[(c[k>>2]|0)+20>>2];if((d[(c[A>>2]|0)+4>>0]|0)==116)g=1;else g=(d[(c[A>>2]|0)+4>>0]|0)==115;c[q>>2]=g&1;a:do if(c[q>>2]|0){c[n>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+28>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[n>>2]>>2]|0))break a;c[m>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?(c[(c[m>>2]|0)+8>>2]|0)!=0:0)?0==(ig(c[(c[m>>2]|0)+8>>2]|0,c[c[x>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[t>>2];k=(c[m>>2]|0)+36+1|0;a[k>>0]=a[k>>0]&-33|32;k=(c[t>>2]|0)+36|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;k=(c[A>>2]|0)+8|0;c[k>>2]=c[k>>2]|8192}c[l>>2]=(c[l>>2]|0)+1}}while(0);if((e[(c[t>>2]|0)+36>>1]|0)>2){A=c[y>>2]|0;c[o>>2]=c[c[x>>2]>>2];Ch(A,31035,o);c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[(c[x>>2]|0)+12>>2]=31078;c[z>>2]=c[(c[y>>2]|0)+536>>2];c[(c[y>>2]|0)+536>>2]=c[p>>2];g=c[A>>2]|0;if(c[q>>2]|0)g=c[g+48>>2]|0;dy(c[w>>2]|0,g)|0;c[(c[y>>2]|0)+536>>2]=c[p>>2];c[s>>2]=c[A>>2];while(1){g=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[g+48>>2]}c[r>>2]=c[g>>2];if(c[(c[x>>2]|0)+4>>2]|0){if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[(c[x>>2]|0)+4>>2]>>2]|0):0){A=c[y>>2]|0;t=c[c[r>>2]>>2]|0;w=c[c[(c[x>>2]|0)+4>>2]>>2]|0;c[u>>2]=c[c[x>>2]>>2];c[u+4>>2]=t;c[u+8>>2]=w;Ch(A,31101,u);c[(c[y>>2]|0)+536>>2]=c[z>>2];c[v>>2]=1;A=c[v>>2]|0;i=B;return A|0}c[r>>2]=c[(c[x>>2]|0)+4>>2]}Mx(c[y>>2]|0,c[r>>2]|0,(c[t>>2]|0)+34|0,(c[t>>2]|0)+4|0)|0;if(c[q>>2]|0){g=(c[x>>2]|0)+12|0;if(c[(c[A>>2]|0)+8>>2]&8192)c[g>>2]=31139;else c[g>>2]=31173;dy(c[w>>2]|0,c[A>>2]|0)|0}c[(c[x>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+536>>2]=c[z>>2]}c[v>>2]=0;A=c[v>>2]|0;i=B;return A|0}function _y(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;e=j+12|0;f=j+8|0;g=j+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1){a=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ch(a,31012,h);c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}return 0}function $y(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;m=n+12|0;j=n+8|0;c[g>>2]=b;c[h>>2]=e;do if((c[(c[h>>2]|0)+16>>2]|0)!=0?((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)!=0:0){c[k>>2]=c[(c[h>>2]|0)+16>>2];c[m>>2]=c[(c[h>>2]|0)+64>>2];c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!(ig(c[c[j>>2]>>2]|0,c[m>>2]|0)|0))break;c[j>>2]=c[(c[j>>2]|0)+20>>2]}if(c[j>>2]|0){c[(c[h>>2]|0)+68>>2]=c[j>>2];break}k=c[g>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=0;Ch(k,30994,l);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}function az(a,e){a=a|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+96|0;A=C+16|0;z=C+8|0;y=C;w=C+92|0;x=C+88|0;f=C+84|0;u=C+80|0;g=C+76|0;o=C+72|0;p=C+68|0;s=C+64|0;q=C+60|0;t=C+56|0;n=C+52|0;v=C+48|0;h=C+44|0;k=C+40|0;r=C+36|0;B=C+32|0;j=C+28|0;l=C+24|0;m=C+20|0;c[x>>2]=a;c[f>>2]=e;c[u>>2]=c[(c[f>>2]|0)+28>>2];c[p>>2]=(c[u>>2]|0)+8;c[s>>2]=(c[p>>2]|0)+72;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=((c[c[u>>2]>>2]|0)-1|0)){f=28;break}c[q>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+16>>2];b:do if(!((c[q>>2]|0)==0|(c[t>>2]|0)==0)){c[n>>2]=(d[(c[s>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[s>>2]|0)+36>>0]&4){if(c[(c[s>>2]|0)+48>>2]|0){f=7;break a}if(c[(c[s>>2]|0)+52>>2]|0){f=7;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break c;c[v>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(bz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[v>>2]|0,h,k)|0)ez(c[x>>2]|0,c[u>>2]|0,c[h>>2]|0,c[k>>2]|0,(c[g>>2]|0)+1|0,c[o>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}while(0);if((c[(c[s>>2]|0)+48>>2]|0)!=0?(c[(c[s>>2]|0)+52>>2]|0)!=0:0){f=15;break a}if(c[(c[s>>2]|0)+48>>2]|0){if(c[n>>2]|0)fz(c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+44>>2]|0);a=gz(c[c[x>>2]>>2]|0,c[(c[f>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+48>>2]|0)|0;c[(c[f>>2]|0)+32>>2]=a;c[(c[s>>2]|0)+48>>2]=0}if(c[(c[s>>2]|0)+52>>2]|0){c[r>>2]=c[(c[s>>2]|0)+52>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+4>>2]|0))break b;c[B>>2]=c[(c[c[r>>2]>>2]|0)+(c[o>>2]<<3)>>2];c[m>>2]=dz(c[t>>2]|0,c[B>>2]|0)|0;if((c[m>>2]|0)<0){f=25;break a}if(!(bz(c[u>>2]|0,(c[g>>2]|0)+1|0,c[B>>2]|0,j,l)|0)){f=25;break a}ez(c[x>>2]|0,c[u>>2]|0,c[j>>2]|0,c[l>>2]|0,(c[g>>2]|0)+1|0,c[m>>2]|0,c[n>>2]|0,(c[f>>2]|0)+32|0);c[o>>2]=(c[o>>2]|0)+1}}}while(0);c[g>>2]=(c[g>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+72;c[p>>2]=(c[p>>2]|0)+72}if((f|0)==7){B=c[x>>2]|0;c[y>>2]=0;Ch(B,30825,y);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==15){Ch(c[x>>2]|0,30875,z);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==25){z=c[x>>2]|0;c[A>>2]=c[B>>2];Ch(z,30930,A);c[w>>2]=1;B=c[w>>2]|0;i=C;return B|0}else if((f|0)==28){c[w>>2]=0;B=c[w>>2]|0;i=C;return B|0}return 0}function bz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){p=8;break}c[o>>2]=dz(c[(c[h>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)>=0)break;c[n>>2]=(c[n>>2]|0)+1}if((p|0)==8){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}if(c[l>>2]|0){c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=c[o>>2]}c[g>>2]=1;p=c[g>>2]|0;i=q;return p|0}function cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;i=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;i=h;return g|0}return 0}function dz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;i=j;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;i=j;return h|0}return 0}function ez(a,d,e,f,g,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=i;i=i+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;l=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=j;c[l>>2]=k;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=pz(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=pz(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=xv(c[s>>2]|0,79,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=gz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[l>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=gz(v,x,w)|0;x=c[l>>2]|0;c[x>>2]=w;i=p;return}function fz(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?(c[(c[f>>2]|0)+20>>2]|0)!=0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;fz(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);fz(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}i=j;return}function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;j=c[e>>2]|0;i=k;return j|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;j=c[e>>2]|0;i=k;return j|0}if((hz(b)|0)==0?(hz(c[h>>2]|0)|0)==0:0){c[j>>2]=iz(c[f>>2]|0,72,0,0)|0;jz(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}dv(c[f>>2]|0,c[g>>2]|0);dv(c[f>>2]|0,c[h>>2]|0);c[e>>2]=iz(c[f>>2]|0,132,5108,0)|0;j=c[e>>2]|0;i=k;return j|0}function hz(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(qy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function iz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;p=q+12|0;o=q+8|0;n=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[o>>2]=0;c[n>>2]=0;do if(c[k>>2]|0){if(((c[j>>2]|0)==132?(c[c[k>>2]>>2]|0)!=0:0)?(Oi(c[c[k>>2]>>2]|0,n)|0)!=0:0)break;c[o>>2]=(c[(c[k>>2]|0)+4>>2]|0)+1}while(0);c[p>>2]=Lw(c[h>>2]|0,48+(c[o>>2]|0)|0,0)|0;if(!(c[p>>2]|0)){p=c[p>>2]|0;i=q;return p|0}h=c[p>>2]|0;d=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(d|0));a[c[p>>2]>>0]=c[j>>2];b[(c[p>>2]|0)+34>>1]=-1;do if(c[k>>2]|0){h=c[p>>2]|0;if(!(c[o>>2]|0)){o=h+4|0;c[o>>2]=c[o>>2]|1024;c[(c[p>>2]|0)+8>>2]=c[n>>2];break}c[(c[p>>2]|0)+8>>2]=h+48;if(c[(c[k>>2]|0)+4>>2]|0)rR(c[(c[p>>2]|0)+8>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[(c[p>>2]|0)+8>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;if(((c[l>>2]|0)!=0&(c[o>>2]|0)>=3?(o=a[c[c[k>>2]>>2]>>0]|0,c[m>>2]=o,(o|0)==39|(c[m>>2]|0)==34|(c[m>>2]|0)==91|(c[m>>2]|0)==96):0)?(Pw(c[(c[p>>2]|0)+8>>2]|0)|0,(c[m>>2]|0)==34):0){o=(c[p>>2]|0)+4|0;c[o>>2]=c[o>>2]|64}}while(0);c[(c[p>>2]|0)+24>>2]=1;p=c[p>>2]|0;i=q;return p|0}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){dv(c[f>>2]|0,c[h>>2]|0);dv(c[f>>2]|0,c[j>>2]|0);i=k;return}if(c[j>>2]|0){c[(c[g>>2]|0)+16>>2]=c[j>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[j>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];b=(c[g>>2]|0)+4|0;c[b>>2]=c[b>>2]|2097408&c[(c[h>>2]|0)+4>>2]}kz(c[g>>2]|0);i=k;return}function kz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;lz(c[(c[b>>2]|0)+12>>2]|0,d);lz(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048)){if(c[a>>2]|0){nz(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(oz(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else mz(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;i=e;return}function lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){i=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];i=f;return}function mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=f;return}lz(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);lz(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);lz(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);lz(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);nz(c[c[d>>2]>>2]|0,c[e>>2]|0);nz(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);nz(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);mz(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);i=f;return}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;lz(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){a=c[e>>2]|0;i=g;return a|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}a=c[e>>2]|0;i=g;return a|0}function pz(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=iz(c[n>>2]|0,152,0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}c[l>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[k>>2]|0)+44>>2]=c[(c[l>>2]|0)+16>>2];c[(c[k>>2]|0)+28>>2]=c[(c[l>>2]|0)+44>>2];if((b[(c[(c[k>>2]|0)+44>>2]|0)+32>>1]|0)==(c[j>>2]|0))b[(c[k>>2]|0)+32>>1]=-1;else{b[(c[k>>2]|0)+32>>1]=c[j>>2];e=uR(1,0,((c[j>>2]|0)>=64?63:c[j>>2]|0)|0)|0;n=(c[l>>2]|0)+56|0;l=n;d=c[l+4>>2]|C;c[n>>2]=c[l>>2]|e;c[n+4>>2]=d}n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[k>>2]|0;i=m;return n|0}function qz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;k=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(d=c[(c[g>>2]|0)+8>>2]|0,c[l>>2]=d,(d|0)!=0):0){c[k>>2]=c[f>>2];b:while(1){if(!(c[k>>2]|0))break a;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break;if(!(ig(c[l>>2]|0,c[(c[k>>2]|0)+8+(c[j>>2]<<4)>>2]|0)|0))break b;c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[k>>2];c[e>>2]=(c[k>>2]|0)+8+(c[j>>2]<<4);l=c[e>>2]|0;i=m;return l|0}while(0);c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}function rz(a,e,f){a=a|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,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;n=r+20|0;l=r+16|0;m=r+12|0;o=r+8|0;p=r+4|0;q=r;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}if((c[c[j>>2]>>2]|0)>0)a=((c[c[j>>2]>>2]|0)-1|0)*72|0;else a=0;c[m>>2]=80+a;m=c[m>>2]|0;c[n>>2]=Lw(c[h>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}m=c[c[j>>2]>>2]|0;c[(c[n>>2]|0)+4>>2]=m;c[c[n>>2]>>2]=m;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=(c[n>>2]|0)+8+((c[l>>2]|0)*72|0);c[p>>2]=(c[j>>2]|0)+8+((c[l>>2]|0)*72|0);c[c[o>>2]>>2]=c[c[p>>2]>>2];m=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=m;m=ph(c[h>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=m;c[(c[o>>2]|0)+36>>2]=c[(c[p>>2]|0)+36>>2];c[(c[o>>2]|0)+44>>2]=c[(c[p>>2]|0)+44>>2];c[(c[o>>2]|0)+24>>2]=c[(c[p>>2]|0)+24>>2];c[(c[o>>2]|0)+28>>2]=c[(c[p>>2]|0)+28>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>1&1){m=ph(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}c[(c[o>>2]|0)+68>>2]=c[(c[p>>2]|0)+68>>2];if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1){m=By(c[h>>2]|0,c[(c[p>>2]|0)+64>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+64>>2]=m}m=c[(c[p>>2]|0)+16>>2]|0;c[(c[o>>2]|0)+16>>2]=m;c[q>>2]=m;if(c[q>>2]|0){m=(c[q>>2]|0)+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}f=Nx(c[h>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+20>>2]=f;f=ty(c[h>>2]|0,c[(c[p>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[(c[o>>2]|0)+48>>2]=f;f=tz(c[h>>2]|0,c[(c[p>>2]|0)+52>>2]|0)|0;c[(c[o>>2]|0)+52>>2]=f;f=(c[p>>2]|0)+56|0;e=c[f+4>>2]|0;m=(c[o>>2]|0)+56|0;c[m>>2]=c[f>>2];c[m+4>>2]=e;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];q=c[g>>2]|0;i=r;return q|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;if(!(c[e>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);b=c[g>>2]|0;c[h>>2]=rh(c[d>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[c[h>>2]>>2]=c[c[e>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;b=Nx(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+8>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+8>>2]=b;b=By(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)+4>>2]|0,0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)+4>>2]=b;b=ph(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[f>>2]<<4)>>2]|0)|0;c[(c[h>>2]|0)+8+(c[f>>2]<<4)>>2]=b;c[f>>2]=(c[f>>2]|0)+1}h=c[h>>2]|0;i=j;return h|0}function tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[h>>2]=Lw(c[e>>2]|0,8,0)|0;if(!(c[h>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[(c[h>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=Lw(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[h>>2]>>2]=b;if(!(c[c[h>>2]>>2]|0)){Tf(c[e>>2]|0,c[h>>2]|0);c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[j>>2]=(c[c[h>>2]>>2]|0)+(c[g>>2]<<3);c[k>>2]=(c[c[f>>2]>>2]|0)+(c[g>>2]<<3);b=ph(c[e>>2]|0,c[c[k>>2]>>2]|0)|0;c[c[j>>2]>>2]=b;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function uz(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;B=N+32|0;K=N+24|0;J=N+16|0;m=N+8|0;l=N;E=N+132|0;F=N+128|0;o=N+124|0;p=N+120|0;q=N+116|0;G=N+112|0;A=N+96|0;H=N+92|0;I=N+88|0;r=N+84|0;w=N+80|0;L=N+76|0;M=N+72|0;u=N+68|0;k=N+64|0;C=N+60|0;t=N+56|0;z=N+136|0;D=N+52|0;y=N+48|0;s=N+44|0;v=N+40|0;x=N+36|0;c[F>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[G>>2]=j;c[r>>2]=c[(c[o>>2]|0)+52>>2];c[w>>2]=c[(c[o>>2]|0)+48>>2];c[L>>2]=0;c[k>>2]=c[(c[F>>2]|0)+336>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)==(c[o>>2]|0)){n=4;break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if((n|0)==4){M=c[F>>2]|0;c[l>>2]=c[c[o>>2]>>2];M=Dh(M,31238,l)|0;c[c[G>>2]>>2]=M;c[E>>2]=6;M=c[E>>2]|0;i=N;return M|0}n=c[F>>2]|0;c[m>>2]=c[c[o>>2]>>2];c[M>>2]=Dh(n,18999,m)|0;if(!(c[M>>2]|0)){c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[H>>2]=rh(c[F>>2]|0,28,0)|0;e=c[F>>2]|0;if(!(c[H>>2]|0)){Tf(e,c[M>>2]|0);c[E>>2]=7;M=c[E>>2]|0;i=N;return M|0}c[c[H>>2]>>2]=e;c[(c[H>>2]|0)+4>>2]=c[p>>2];c[u>>2]=Fh(c[F>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;c[(c[(c[o>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[F>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[A+4>>2]=c[o>>2];c[A>>2]=c[H>>2];c[A+8>>2]=c[(c[F>>2]|0)+336>>2];c[A+12>>2]=0;c[(c[F>>2]|0)+336>>2]=A;c[I>>2]=Sb[c[q>>2]&255](c[F>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[w>>2]|0,c[r>>2]|0,(c[H>>2]|0)+8|0,L)|0;c[(c[F>>2]|0)+336>>2]=c[A+8>>2];if((c[I>>2]|0)==7)lh(c[F>>2]|0);a:do if(!(c[I>>2]|0)){if(c[(c[H>>2]|0)+8>>2]|0){L=c[(c[H>>2]|0)+8>>2]|0;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[c[(c[H>>2]|0)+8>>2]>>2]=c[c[p>>2]>>2];c[(c[H>>2]|0)+12>>2]=1;if(!(c[A+12>>2]|0)){c[C>>2]=31310;K=c[F>>2]|0;L=c[C>>2]|0;c[B>>2]=c[c[o>>2]>>2];L=Dh(K,L,B)|0;c[c[G>>2]>>2]=L;nu(c[H>>2]|0);c[I>>2]=1;break}a[z>>0]=0;c[(c[H>>2]|0)+24>>2]=c[(c[o>>2]|0)+56>>2];c[(c[o>>2]|0)+56>>2]=c[H>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break a;c[D>>2]=ti((c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)|0,19010)|0;c[s>>2]=0;c[y>>2]=Jf(c[D>>2]|0)|0;c[s>>2]=0;b:while(1){if((c[s>>2]|0)>=(c[y>>2]|0))break;do if(!(zd(31356,(c[D>>2]|0)+(c[s>>2]|0)|0,6)|0)){if((c[s>>2]|0)!=0?(a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0))break b;if((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)==32)break b}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)<(c[y>>2]|0)){c[x>>2]=6+((a[(c[D>>2]|0)+((c[s>>2]|0)+6)>>0]|0)!=0?1:0);c[v>>2]=c[s>>2];while(1){if(((c[v>>2]|0)+(c[x>>2]|0)|0)>(c[y>>2]|0))break;a[(c[D>>2]|0)+(c[v>>2]|0)>>0]=a[(c[D>>2]|0)+((c[v>>2]|0)+(c[x>>2]|0))>>0]|0;c[v>>2]=(c[v>>2]|0)+1}if((c[s>>2]|0)>0?(a[(c[D>>2]|0)+(c[s>>2]|0)>>0]|0)==0:0)a[(c[D>>2]|0)+((c[s>>2]|0)-1)>>0]=0;L=(c[(c[o>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+15|0;a[L>>0]=d[L>>0]|2;a[z>>0]=-128}else{L=(c[o>>2]|0)+42|0;a[L>>0]=d[L>>0]|d[z>>0]}c[t>>2]=(c[t>>2]|0)+1}}}else{e=c[F>>2]|0;if(!(c[L>>2]|0)){c[J>>2]=c[M>>2];L=Dh(e,31280,J)|0;c[c[G>>2]>>2]=L}else{c[K>>2]=c[L>>2];K=Dh(e,18999,K)|0;c[c[G>>2]>>2]=K;Kd(c[L>>2]|0)}Tf(c[F>>2]|0,c[H>>2]|0)}while(0);Tf(c[F>>2]|0,c[M>>2]|0);c[E>>2]=c[I>>2];M=c[E>>2]|0;i=N;return M|0}function vz(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=0;c[e>>2]=c[c[d>>2]>>2];if(!(a[(c[e>>2]|0)+144+5>>0]|0))c[f>>2]=qi(c[e>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[f>>2];b=(c[d>>2]|0)+68|0;c[b>>2]=(c[b>>2]|0)+1;f=c[f>>2]|0;i=g;return f|0}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;d=l+32|0;e=l+28|0;n=l+24|0;m=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[n>>2]=c[c[d>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];gx(c[d>>2]|0,0,c[e>>2]|0);c[g>>2]=c[(c[d>>2]|0)+72>>2];a=(c[d>>2]|0)+72|0;c[a>>2]=(c[a>>2]|0)+3;Az(c[d>>2]|0,c[e>>2]|0,c[g>>2]|0,0,0);c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;c[h>>2]=c[(c[d>>2]|0)+72>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[j>>2]|0))break;c[k>>2]=c[(c[j>>2]|0)+8>>2];Bz(c[d>>2]|0,c[k>>2]|0,0,c[g>>2]|0,c[f>>2]|0,c[h>>2]|0);c[j>>2]=c[c[j>>2]>>2]}Cz(c[d>>2]|0,c[e>>2]|0);i=l;return}function xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Jw(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=li(c[g>>2]|0,c[f>>2]|0)|0;Tf(c[g>>2]|0,c[f>>2]|0);i=e;return c[d>>2]|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;gx(c[e>>2]|0,0,c[h>>2]|0);c[j>>2]=c[(c[e>>2]|0)+72>>2];d=(c[e>>2]|0)+72|0;c[d>>2]=(c[d>>2]|0)+3;d=c[e>>2]|0;a=c[h>>2]|0;b=c[j>>2]|0;if(c[g>>2]|0)Az(d,a,b,c[c[g>>2]>>2]|0,31442);else Az(d,a,b,c[c[f>>2]>>2]|0,31446);Bz(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[j>>2]|0,(c[(c[e>>2]|0)+76>>2]|0)+1|0,c[(c[e>>2]|0)+72>>2]|0);Cz(c[e>>2]|0,c[h>>2]|0);i=k;return}function zz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;h=r+36|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;o=r+16|0;n=r+12|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=c[c[j>>2]>>2];e=(c[n>>2]|0)+144|0;if((c[(c[l>>2]|0)+4>>2]|0)>>>0>0){if(a[e+5>>0]|0){Ch(c[j>>2]|0,31405,p);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}c[c[m>>2]>>2]=c[l>>2];c[o>>2]=xz(c[n>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ch(p,31422,q);c[h>>2]=-1;q=c[h>>2]|0;i=r;return q|0}}else{c[o>>2]=d[e+4>>0];c[c[m>>2]>>2]=c[k>>2]}c[h>>2]=c[o>>2];q=c[h>>2]|0;i=r;return q|0}function Az(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;v=x+16|0;u=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;q=x+64|0;p=x+60|0;r=x+56|0;t=x+52|0;o=x+40|0;n=x+88|0;w=x+36|0;s=x+32|0;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[p>>2]=c[c[h>>2]>>2];c[t>>2]=Vw(c[h>>2]|0)|0;if(!(c[t>>2]|0)){i=x;return}c[r>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break;c[w>>2]=c[5228+(c[q>>2]<<3)>>2];g=ri(c[p>>2]|0,c[w>>2]|0,c[c[r>>2]>>2]|0)|0;c[s>>2]=g;do if(!g){if(c[5228+(c[q>>2]<<3)+4>>2]|0){g=c[h>>2]|0;b=c[w>>2]|0;f=c[5228+(c[q>>2]<<3)+4>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=b;c[u+8>>2]=f;Uw(g,31503,u);c[o+(c[q>>2]<<2)>>2]=c[(c[h>>2]|0)+396>>2];a[n+(c[q>>2]|0)>>0]=16}}else{c[o+(c[q>>2]<<2)>>2]=c[(c[s>>2]|0)+28>>2];a[n+(c[q>>2]|0)>>0]=0;Ez(c[h>>2]|0,c[j>>2]|0,c[o+(c[q>>2]<<2)>>2]|0,1,c[w>>2]|0);if(c[l>>2]|0){g=c[h>>2]|0;e=c[w>>2]|0;b=c[m>>2]|0;f=c[l>>2]|0;c[v>>2]=c[c[r>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=b;c[v+12>>2]=f;Uw(g,31526,v);break}else{Xw(c[t>>2]|0,119,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0)|0;break}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if(!(c[5228+(c[q>>2]<<3)+4>>2]|0))break;Gh(c[t>>2]|0,55,(c[k>>2]|0)+(c[q>>2]|0)|0,c[o+(c[q>>2]<<2)>>2]|0,c[j>>2]|0,3)|0;Hh(c[t>>2]|0,a[n+(c[q>>2]|0)>>0]|0);c[q>>2]=(c[q>>2]|0)+1}i=x;return}function Bz(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+128|0;n=R+116|0;o=R+112|0;p=R+108|0;q=R+104|0;l=R+100|0;m=R+96|0;u=R+92|0;F=R+88|0;y=R+84|0;z=R+80|0;O=R+76|0;w=R+72|0;A=R+68|0;x=R+64|0;D=R+120|0;I=R+60|0;L=R+56|0;G=R+52|0;N=R+48|0;M=R+44|0;H=R+40|0;K=R+36|0;J=R+32|0;B=R+28|0;t=R+24|0;s=R+20|0;P=R+16|0;C=R+12|0;v=R+8|0;r=R+4|0;E=R;c[n>>2]=b;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[l>>2]=j;c[m>>2]=k;c[u>>2]=c[c[n>>2]>>2];c[A>>2]=-1;a[D>>0]=1;f=c[l>>2]|0;c[l>>2]=f+1;c[I>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[L>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[G>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[N>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[M>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[H>>2]=f;f=c[l>>2]|0;c[l>>2]=f+1;c[K>>2]=f;c[J>>2]=c[l>>2];if((c[(c[n>>2]|0)+76>>2]|0)>(c[l>>2]|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=c[l>>2]|0;c[(c[n>>2]|0)+76>>2]=l;c[O>>2]=Vw(c[n>>2]|0)|0;if((c[O>>2]|0)==0|(c[o>>2]|0)==0){i=R;return}if(!(c[(c[o>>2]|0)+28>>2]|0)){i=R;return}if(!(_e(31450,c[c[o>>2]>>2]|0,0)|0)){i=R;return}c[x>>2]=Fh(c[u>>2]|0,c[(c[o>>2]|0)+64>>2]|0)|0;if(Sw(c[n>>2]|0,28,c[c[o>>2]>>2]|0,0,c[(c[(c[u>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2]|0)|0){i=R;return}Ez(c[n>>2]|0,c[x>>2]|0,c[(c[o>>2]|0)+28>>2]|0,0,c[c[o>>2]>>2]|0);f=c[m>>2]|0;c[m>>2]=f+1;c[z>>2]=f;f=c[m>>2]|0;c[m>>2]=f+1;c[y>>2]=f;if((c[(c[n>>2]|0)+72>>2]|0)>(c[m>>2]|0))l=c[(c[n>>2]|0)+72>>2]|0;else l=c[m>>2]|0;c[(c[n>>2]|0)+72>>2]=l;Fz(c[n>>2]|0,c[z>>2]|0,c[x>>2]|0,c[o>>2]|0,54);Zw(c[O>>2]|0,c[M>>2]|0,c[c[o>>2]>>2]|0)|0;c[F>>2]=c[(c[o>>2]|0)+8>>2];while(1){l=c[p>>2]|0;if(!(c[F>>2]|0))break;if(!((l|0)!=0?(c[p>>2]|0)!=(c[F>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[F>>2]|0)+36>>2]|0))a[D>>0]=0;if(((d[(c[o>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[F>>2]|0)+55>>0]&3|0)==2:0){c[B>>2]=e[(c[F>>2]|0)+50>>1];c[P>>2]=c[c[o>>2]>>2];c[C>>2]=(c[B>>2]|0)-1}else{c[B>>2]=e[(c[F>>2]|0)+52>>1];c[P>>2]=c[c[F>>2]>>2];if((d[(c[F>>2]|0)+55>>0]|0)>>>3&1)l=e[(c[F>>2]|0)+50>>1]|0;else l=c[B>>2]|0;c[C>>2]=l-1}Zw(c[O>>2]|0,c[H>>2]|0,c[P>>2]|0)|0;if((c[(c[n>>2]|0)+76>>2]|0)>((c[J>>2]|0)+(c[C>>2]|0)|0))l=c[(c[n>>2]|0)+76>>2]|0;else l=(c[J>>2]|0)+(c[C>>2]|0)|0;c[(c[n>>2]|0)+76>>2]=l;$w(c[O>>2]|0,54,c[y>>2]|0,c[(c[F>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Gz(c[n>>2]|0,c[F>>2]|0);Xw(c[O>>2]|0,22,c[B>>2]|0,(c[L>>2]|0)+1|0)|0;Xw(c[O>>2]|0,22,e[(c[F>>2]|0)+50>>1]|0,(c[L>>2]|0)+2|0)|0;_w(c[O>>2]|0,35,0,(c[L>>2]|0)+1|0,c[L>>2]|0,5124,-5)|0;Hh(c[O>>2]|0,2);c[t>>2]=Dz(c[O>>2]|0,108,c[y>>2]|0)|0;Xw(c[O>>2]|0,22,0,c[G>>2]|0)|0;c[s>>2]=Hz(c[O>>2]|0)|0;if((c[C>>2]|0)>0){c[v>>2]=Iz(c[O>>2]|0)|0;c[r>>2]=Lw(c[u>>2]|0,c[C>>2]<<2,0)|0;if(!(c[r>>2]|0))break;cx(c[O>>2]|0,13)|0;c[s>>2]=Hz(c[O>>2]|0)|0;if(((c[C>>2]|0)==1?(e[(c[F>>2]|0)+50>>1]|0|0)==1:0)?(d[(c[F>>2]|0)+54>>0]|0|0)!=0:0)Xw(c[O>>2]|0,77,c[J>>2]|0,c[v>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[C>>2]|0))break;c[E>>2]=Jz(c[n>>2]|0,c[(c[(c[F>>2]|0)+32>>2]|0)+(c[w>>2]<<2)>>2]|0)|0;Xw(c[O>>2]|0,22,c[w>>2]|0,c[G>>2]|0)|0;$w(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,c[N>>2]|0)|0;m=_w(c[O>>2]|0,78,c[N>>2]|0,0,(c[J>>2]|0)+(c[w>>2]|0)|0,c[E>>2]|0,-4)|0;c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]=m;Hh(c[O>>2]|0,-128);c[w>>2]=(c[w>>2]|0)+1}Xw(c[O>>2]|0,22,c[C>>2]|0,c[G>>2]|0)|0;Kz(c[O>>2]|0,c[v>>2]|0)|0;Lz(c[O>>2]|0,(c[s>>2]|0)-1|0);c[w>>2]=0;while(1){l=c[O>>2]|0;if((c[w>>2]|0)>=(c[C>>2]|0))break;Lz(l,c[(c[r>>2]|0)+(c[w>>2]<<2)>>2]|0);$w(c[O>>2]|0,47,c[y>>2]|0,c[w>>2]|0,(c[J>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}Mz(l,c[v>>2]|0);Tf(c[u>>2]|0,c[r>>2]|0)}_w(c[O>>2]|0,35,1,c[L>>2]|0,c[N>>2]|0,5152,-5)|0;Hh(c[O>>2]|0,2);Xw(c[O>>2]|0,7,c[y>>2]|0,c[s>>2]|0)|0;Nz(c[O>>2]|0,c[L>>2]|0,0,c[K>>2]|0);_w(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31459,0)|0;Xw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;$w(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Lz(c[O>>2]|0,c[t>>2]|0)}while(0);c[F>>2]=c[(c[F>>2]|0)+20>>2]}if(l){i=R;return}if(!(d[D>>0]|0)){i=R;return}Xw(c[O>>2]|0,50,c[z>>2]|0,c[K>>2]|0)|0;c[A>>2]=Dz(c[O>>2]|0,46,c[K>>2]|0)|0;Xw(c[O>>2]|0,25,0,c[H>>2]|0)|0;_w(c[O>>2]|0,49,c[M>>2]|0,3,c[N>>2]|0,31459,0)|0;Xw(c[O>>2]|0,74,c[q>>2]|0,c[I>>2]|0)|0;$w(c[O>>2]|0,75,c[q>>2]|0,c[N>>2]|0,c[I>>2]|0)|0;Hh(c[O>>2]|0,8);Lz(c[O>>2]|0,c[A>>2]|0);i=R;return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Vw(c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=f;return}Dz(c[e>>2]|0,124,c[d>>2]|0)|0;i=f;return}function Dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=$w(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;i=e;return d|0}function Ez(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;t=s+28|0;m=s+24|0;n=s+20|0;o=s+32|0;p=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;r=s;c[t>>2]=b;c[m>>2]=e;c[n>>2]=f;a[o>>0]=g;c[p>>2]=h;e=c[t>>2]|0;if(c[(c[t>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[q>>2]=e;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[q>>2]|0)+404>>2]|0))break;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(c[j>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[m>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[n>>2]|0):0){l=7;break}c[j>>2]=(c[j>>2]|0)+1}if((l|0)==7){if(d[(c[r>>2]|0)+8>>0]|0)e=1;else e=(d[o>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=e&1;i=s;return}c[k>>2]=(c[(c[q>>2]|0)+404>>2]|0)+1<<4;e=c[k>>2]|0;e=Bx(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+408>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[q>>2]|0)+408>>2]=e;e=(c[q>>2]|0)+404|0;if(c[(c[q>>2]|0)+408>>2]|0){t=c[e>>2]|0;c[e>>2]=t+1;c[r>>2]=(c[(c[q>>2]|0)+408>>2]|0)+(t<<4);c[c[r>>2]>>2]=c[m>>2];c[(c[r>>2]|0)+4>>2]=c[n>>2];a[(c[r>>2]|0)+8>>0]=a[o>>0]|0;c[(c[r>>2]|0)+12>>2]=c[p>>2];i=s;return}else{c[e>>2]=0;lh(c[c[q>>2]>>2]|0);i=s;return}}function Fz(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=Vw(c[j>>2]|0)|0;Ez(c[j>>2]|0,c[l>>2]|0,c[(c[m>>2]|0)+28>>2]|0,((c[n>>2]|0)==55?1:0)&255,c[c[m>>2]>>2]|0);if(!(d[(c[m>>2]|0)+42>>0]&32)){Gh(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+28>>2]|0,c[l>>2]|0,b[(c[m>>2]|0)+34>>1]|0)|0;i=q;return}else{c[o>>2]=Hj(c[m>>2]|0)|0;$w(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[l>>2]|0)|0;Gz(c[j>>2]|0,c[o>>2]|0);i=q;return}}function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];a=c[g>>2]|0;Kh(a,-1,Vz(c[f>>2]|0,c[e>>2]|0)|0,-6);i=d;return}function Hz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+32>>2]|0}function Iz(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;d=e+4|0;b=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+24>>2];f=(c[d>>2]|0)+116|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=a;if(!(c[b>>2]&(c[b>>2]|0)-1)){f=Bx(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+120>>2]|0,(c[b>>2]<<1)+1<<2,0)|0;c[(c[d>>2]|0)+120>>2]=f}if(!(c[(c[d>>2]|0)+120>>2]|0)){f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}c[(c[(c[d>>2]|0)+120>>2]|0)+(c[b>>2]<<2)>>2]=-1;f=c[b>>2]|0;f=-1-f|0;i=e;return f|0}function Jz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+12|0;g=k+8|0;m=k+4|0;h=k+17|0;l=k+16|0;j=k;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[l>>0]=a[(c[m>>2]|0)+144+5>>0]|0;c[j>>2]=Qj(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[l>>0]|0)|0;if(a[l>>0]|0){m=c[j>>2]|0;i=k;return m|0}if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0){m=c[j>>2]|0;i=k;return m|0}c[j>>2]=Vx(c[f>>2]|0,a[h>>0]|0,c[j>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=k;return m|0}function Kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=$w(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;i=d;return a|0}function Lz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[(c[e>>2]|0)+24>>2]|0)+96>>2]=(c[(c[e>>2]|0)+32>>2]|0)-1;Rz(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+32>>2]|0);i=d;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;f=g+4|0;e=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];c[e>>2]=-1-(c[h>>2]|0);if(c[(c[f>>2]|0)+120>>2]|0)c[(c[(c[f>>2]|0)+120>>2]|0)+(c[e>>2]<<2)>>2]=c[(c[d>>2]|0)+32>>2];c[(c[f>>2]|0)+96>>2]=(c[(c[d>>2]|0)+32>>2]|0)-1;i=g;return}function Nz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;j=f+8|0;h=f;c[g>>2]=a;c[j>>2]=b;c[f+4>>2]=d;c[h>>2]=e;_w(c[g>>2]|0,35,0,c[j>>2]|0,c[h>>2]|0,5180,-5)|0;Hh(c[g>>2]|0,1);i=f;return}function Oz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+64|0;l=o+24|0;k=o+16|0;e=o+56|0;p=o+48|0;j=o+44|0;m=o+40|0;f=o+36|0;n=o+32|0;h=o+8|0;g=o;c[e>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[j>>2]=$d(c[c[p>>2]>>2]|0)|0;a=((c[(c[j>>2]|0)+12>>2]|0)+1|0)*25|0;c[n>>2]=kg(a,((a|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){te(c[e>>2]|0);i=o;return}p=c[n>>2]|0;a=k;c[a>>2]=c[c[j>>2]>>2];c[a+4>>2]=0;Qd(24,p,31472,k)|0;p=c[n>>2]|0;c[m>>2]=p+(Jf(c[n>>2]|0)|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0))break;p=h;c[p>>2]=(c[(c[(c[j>>2]|0)+20+4>>2]|0)+(c[f>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=h;p=pR(c[c[j>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=oR(p|0,C|0,1,0)|0;d=h;d=BR(p|0,C|0,c[d>>2]|0,c[d+4>>2]|0)|0;p=g;c[p>>2]=d;c[p+4>>2]=C;p=c[m>>2]|0;d=g;a=c[d+4>>2]|0;k=l;c[k>>2]=c[d>>2];c[k+4>>2]=a;Qd(24,p,31477,l)|0;p=Jf(c[m>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+p;c[f>>2]=(c[f>>2]|0)+1}ne(c[e>>2]|0,c[n>>2]|0,-1,148);i=o;return}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[h+20>>2]=a;c[h+16>>2]=b;c[j>>2]=d;c[g>>2]=$d(c[c[j>>2]>>2]|0)|0;c[f>>2]=de(c[(c[j>>2]|0)+4>>2]|0)|0;if(!(c[c[g>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}Qz(c[g>>2]|0,c[f>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[f>>2]|0))break;j=(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[f>>2];while(1){if((c[e>>2]|0)>=(c[(c[g>>2]|0)+8>>2]|0))break;j=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[(c[g>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}j=c[g>>2]|0;g=c[j>>2]|0;g=g+1|0;c[j>>2]=g;i=h;return}function Qz(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Sz(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;i=e;return}function Sz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=5208;b=c[e>>2]|0;i=h;return b|0}else{c[e>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);b=c[e>>2]|0;i=h;return b|0}return 0}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;n=l+24|0;k=l+20|0;g=l+16|0;j=l+12|0;h=l+8|0;m=l+4|0;f=l;c[e>>2]=a;c[l+28>>2]=b;c[n>>2]=d;c[g>>2]=de(c[c[n>>2]>>2]|0)|0;c[h>>2]=(c[g>>2]|0)+1&-2;c[j>>2]=de(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[h>>2]<<2)+(c[h>>2]<<2);c[f>>2]=we(c[e>>2]|0)|0;a=c[m>>2]|0;c[k>>2]=rh(c[f>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){te(c[e>>2]|0);i=l;return}else{c[(c[k>>2]|0)+52>>2]=c[f>>2];c[c[k>>2]>>2]=0;c[(c[k>>2]|0)+8>>2]=c[g>>2];c[(c[k>>2]|0)+12>>2]=c[j>>2];c[(c[k>>2]|0)+20+4>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+20>>2]=(c[(c[k>>2]|0)+20+4>>2]|0)+(c[h>>2]<<2);ge(c[e>>2]|0,c[k>>2]|0,56,153);i=l;return}}function Uz(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Tf(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);i=b;return}function Vz(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;l=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=e[(c[k>>2]|0)+52>>1];c[g>>2]=e[(c[k>>2]|0)+50>>1];if(c[(c[j>>2]|0)+68>>2]|0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}f=c[c[j>>2]>>2]|0;if((d[(c[k>>2]|0)+55>>0]|0)>>>3&1)c[n>>2]=Wz(f,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=Wz(f,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[k>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];if((c[o>>2]|0)==35343)f=0;else f=Jz(c[j>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[l>>2]<<2)>>2]=f;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[k>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0;c[l>>2]=(c[l>>2]|0)+1}if(c[(c[j>>2]|0)+68>>2]|0){Xz(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}function Wz(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=((c[h>>2]|0)+(c[j>>2]|0)|0)*5;c[l>>2]=$f(24+(c[k>>2]|0)|0,0)|0;if(c[l>>2]|0){c[(c[l>>2]|0)+16>>2]=(c[l>>2]|0)+20+((c[h>>2]|0)+(c[j>>2]|0)<<2);b[(c[l>>2]|0)+6>>1]=c[h>>2];b[(c[l>>2]|0)+8>>1]=c[j>>2];a[(c[l>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[l>>2]|0)+12>>2]=c[g>>2];c[c[l>>2]>>2]=1;tR((c[l>>2]|0)+24|0,0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}else{lh(c[g>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Xz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){i=d;return}Tf(0,c[b>>2]|0);i=d;return}function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;j=l+16|0;g=l+12|0;f=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[j>>2]=c[(c[f>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];Zz(c[d>>2]|0,c[k>>2]|0,c[e>>2]|0);c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}i=l;return}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if(!((c[g>>2]|0)!=0?(nB(c[g>>2]|0,c[j>>2]|0)|0)==0:0)){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;gx(c[e>>2]|0,0,c[h>>2]|0);_z(c[e>>2]|0,c[j>>2]|0,-1)}c[j>>2]=c[(c[j>>2]|0)+20>>2]}i=k;return}function _z(a,b,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;n=x+64|0;o=x+60|0;g=x+56|0;l=x+52|0;t=x+48|0;r=x+44|0;s=x+40|0;p=x+36|0;q=x+32|0;m=x+28|0;j=x+24|0;w=x+20|0;k=x+16|0;v=x+12|0;y=x+8|0;h=x+4|0;u=x;c[n>>2]=a;c[o>>2]=b;c[g>>2]=f;c[l>>2]=c[(c[o>>2]|0)+12>>2];a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[t>>2]=b;b=(c[n>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[r>>2]=a;c[y>>2]=c[c[n>>2]>>2];c[h>>2]=Fh(c[y>>2]|0,c[(c[o>>2]|0)+24>>2]|0)|0;if(Sw(c[n>>2]|0,27,c[c[o>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0){i=x;return}Ez(c[n>>2]|0,c[h>>2]|0,c[(c[l>>2]|0)+28>>2]|0,1,c[c[l>>2]>>2]|0);c[w>>2]=Vw(c[n>>2]|0)|0;if(!(c[w>>2]|0)){i=x;return}if((c[g>>2]|0)>=0)c[m>>2]=c[g>>2];else c[m>>2]=c[(c[o>>2]|0)+44>>2];c[k>>2]=Vz(c[n>>2]|0,c[o>>2]|0)|0;a=(c[n>>2]|0)+72|0;b=c[a>>2]|0;c[a>>2]=b+1;c[s>>2]=b;b=c[w>>2]|0;a=c[s>>2]|0;y=e[(c[o>>2]|0)+50>>1]|0;_w(b,58,a,0,y,$z(c[k>>2]|0)|0,-6)|0;Fz(c[n>>2]|0,c[t>>2]|0,c[h>>2]|0,c[l>>2]|0,54);c[p>>2]=Xw(c[w>>2]|0,108,c[t>>2]|0,0)|0;c[v>>2]=aA(c[n>>2]|0)|0;bA(c[n>>2]|0,c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,0,j,0,0)|0;Xw(c[w>>2]|0,109,c[s>>2]|0,c[v>>2]|0)|0;cA(c[n>>2]|0,c[j>>2]|0);Xw(c[w>>2]|0,7,c[t>>2]|0,(c[p>>2]|0)+1|0)|0;Lz(c[w>>2]|0,c[p>>2]|0);if((c[g>>2]|0)<0)Xw(c[w>>2]|0,119,c[m>>2]|0,c[h>>2]|0)|0;_w(c[w>>2]|0,55,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0,-6)|0;Hh(c[w>>2]|0,(1|((c[g>>2]|0)>=0?16:0))&255);c[p>>2]=Xw(c[w>>2]|0,106,c[s>>2]|0,0)|0;y=(c[k>>2]|0)!=0?(d[(c[o>>2]|0)+54>>0]|0|0)!=0:0;g=Hz(c[w>>2]|0)|0;if(y){c[u>>2]=g+3;Kz(c[w>>2]|0,c[u>>2]|0)|0;c[q>>2]=Hz(c[w>>2]|0)|0;Gh(c[w>>2]|0,99,c[s>>2]|0,c[u>>2]|0,c[v>>2]|0,e[(c[o>>2]|0)+50>>1]|0)|0;dA(c[n>>2]|0,2,c[o>>2]|0)}else c[q>>2]=g;$w(c[w>>2]|0,100,c[s>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;$w(c[w>>2]|0,105,c[r>>2]|0,0,-1)|0;$w(c[w>>2]|0,110,c[r>>2]|0,c[v>>2]|0,0)|0;Hh(c[w>>2]|0,16);eA(c[n>>2]|0,c[v>>2]|0);Xw(c[w>>2]|0,3,c[s>>2]|0,c[q>>2]|0)|0;Lz(c[w>>2]|0,c[p>>2]|0);Dz(c[w>>2]|0,61,c[t>>2]|0)|0;Dz(c[w>>2]|0,61,c[r>>2]|0)|0;Dz(c[w>>2]|0,61,c[s>>2]|0)|0;i=x;return}function $z(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}i=d;return c[b>>2]|0}function aA(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+76|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;i=g;return f|0}else{h=b+19|0;b=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=b;c[e>>2]=c[(c[f>>2]|0)+28+((b&255)<<2)>>2];f=c[e>>2]|0;i=g;return f|0}return 0}function bA(a,e,f,g,h,j,k,l){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+48|0;o=y+44|0;p=y+40|0;q=y+36|0;r=y+32|0;m=y+28|0;n=y+24|0;s=y+20|0;t=y+16|0;x=y+12|0;u=y+8|0;w=y+4|0;v=y;c[o>>2]=a;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=h;c[n>>2]=j;c[s>>2]=k;c[t>>2]=l;c[x>>2]=c[(c[o>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[p>>2]|0)+36>>2]|0){l=Iz(c[x>>2]|0)|0;c[c[n>>2]>>2]=l;c[(c[o>>2]|0)+104>>2]=c[q>>2];oA(c[o>>2]|0);pA(c[o>>2]|0,c[(c[p>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if((c[m>>2]|0)!=0?((d[(c[p>>2]|0)+55>>0]|0)>>>3&1|0)!=0:0)m=b[(c[p>>2]|0)+50>>1]|0;else m=b[(c[p>>2]|0)+52>>1]|0;c[v>>2]=m&65535;c[w>>2]=qA(c[o>>2]|0,c[v>>2]|0)|0;do if(c[s>>2]|0){if((c[w>>2]|0)==(c[t>>2]|0)?(c[(c[s>>2]|0)+36>>2]|0)==0:0)break;c[s>>2]=0}while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[v>>2]|0))break;if(!(((c[s>>2]|0)!=0?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)==(b[(c[(c[p>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0):0)?(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0)!=-2:0)){rA(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[u>>2]|0,(c[w>>2]|0)+(c[u>>2]|0)|0);sA(c[x>>2]|0,39)|0}c[u>>2]=(c[u>>2]|0)+1}if(!(c[r>>2]|0)){t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;tA(t,u,x);x=c[w>>2]|0;i=y;return x|0}$w(c[x>>2]|0,49,c[w>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;t=c[o>>2]|0;u=c[w>>2]|0;x=c[v>>2]|0;tA(t,u,x);x=c[w>>2]|0;i=y;return x|0}function cA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}Mz(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);mA(c[d>>2]|0);i=f;return}function dA(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;p=s+8|0;o=s;h=s+68|0;j=s+64|0;k=s+60|0;r=s+56|0;m=s+52|0;l=s+24|0;n=s+20|0;q=s+16|0;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[n>>2]=c[(c[k>>2]|0)+12>>2];dg(l,c[c[h>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[o>>2]=c[c[k>>2]>>2];fA(l,31641,o);o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;hA(o,p,q,r,-1,2);i=s;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[q>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]<<4)>>2];if(c[m>>2]|0)gA(l,31652,2);o=c[q>>2]|0;c[p>>2]=c[c[n>>2]>>2];c[p+4>>2]=o;fA(l,30741,p);c[m>>2]=(c[m>>2]|0)+1}o=fg(l)|0;c[r>>2]=o;o=c[h>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[r>>2]|0;hA(o,p,q,r,-1,2);i=s;return}function eA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){i=k;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){i=k;return}c[f>>2]=0;c[j>>2]=(c[g>>2]|0)+124;while(1){if((c[f>>2]|0)>=10){f=8;break}if((c[(c[j>>2]|0)+12>>2]|0)==(c[h>>2]|0)){f=6;break}c[f>>2]=(c[f>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==6){a[(c[j>>2]|0)+6>>0]=1;i=k;return}else if((f|0)==8){h=c[h>>2]|0;b=(c[g>>2]|0)+19|0;j=a[b>>0]|0;a[b>>0]=j+1<<24>>24;c[(c[g>>2]|0)+28+((j&255)<<2)>>2]=h;i=k;return}}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;eg(c[h>>2]|0,c[g>>2]|0,f);i=e;return}function gA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){iA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);i=h;return}else{b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);rR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}}function hA(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;n=q+21|0;o=q+20|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;a[n>>0]=g;a[o>>0]=h;c[p>>2]=Vw(c[j>>2]|0)|0;if((c[l>>2]|0)==2)Hx(c[j>>2]|0);_w(c[p>>2]|0,21,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,a[n>>0]|0)|0;Hh(c[p>>2]|0,a[o>>0]|0);i=q;return}function iA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=jA(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){i=h;return}rR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;b=(c[e>>2]|0)+12|0;c[b>>2]=(c[b>>2]|0)+(c[g>>2]|0);i=h;return}function jA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+24|0;j=m+20|0;k=m+16|0;l=m+12|0;g=m+8|0;f=m;c[j>>2]=b;c[k>>2]=e;if(a[(c[j>>2]|0)+24>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}e=c[j>>2]|0;if(!(c[(c[j>>2]|0)+20>>2]|0)){c[k>>2]=(c[e+16>>2]|0)-(c[(c[j>>2]|0)+12>>2]|0)-1;kA(c[j>>2]|0,2);c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}if(d[e+25>>0]&4)e=c[(c[j>>2]|0)+8>>2]|0;else e=0;c[g>>2]=e;e=f;c[e>>2]=c[(c[j>>2]|0)+12>>2];c[e+4>>2]=0;e=(c[k>>2]|0)+1|0;b=f;e=pR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C;b=f;b=pR(c[b>>2]|0,c[b+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;e=C;if((e|0)<0|((e|0)==0?b>>>0<=(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){e=f;e=pR(c[e>>2]|0,c[e+4>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;b=f;c[b>>2]=e;c[b+4>>2]=C}b=f;e=c[b+4>>2]|0;if((e|0)>0|((e|0)==0?(c[b>>2]|0)>>>0>(c[(c[j>>2]|0)+20>>2]|0)>>>0:0)){lA(c[j>>2]|0);kA(c[j>>2]|0,2);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}c[(c[j>>2]|0)+16>>2]=c[f>>2];if(c[c[j>>2]>>2]|0)c[l>>2]=Kw(c[c[j>>2]>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;else c[l>>2]=Md(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0;e=c[j>>2]|0;if(!(c[l>>2]|0)){lA(e);kA(c[j>>2]|0,1);c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}if((d[e+25>>0]&4|0)==0?(c[(c[j>>2]|0)+12>>2]|0)>>>0>0:0)rR(c[l>>2]|0,c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;c[(c[j>>2]|0)+8>>2]=c[l>>2];l=fu(c[c[j>>2]>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+16>>2]=l;l=(c[j>>2]|0)+25|0;a[l>>0]=d[l>>0]|4;c[h>>2]=c[k>>2];l=c[h>>2]|0;i=m;return l|0}function kA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;i=e;return}function lA(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}Tf(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;b=c[e>>2]|0;b=b+8|0;c[b>>2]=0;i=f;return}function mA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;a=(c[b>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+-1;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if((c[(c[e>>2]|0)+12>>2]|0)!=0?(c[(c[e>>2]|0)+8>>2]|0)>(c[(c[b>>2]|0)+108>>2]|0):0){nA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function nA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(a[(c[g>>2]|0)+6>>0]|0)){i=h;return}if((d[(c[f>>2]|0)+19>>0]|0)<8){e=c[(c[g>>2]|0)+12>>2]|0;j=(c[f>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[(c[f>>2]|0)+28+((b&255)<<2)>>2]=e}a[(c[g>>2]|0)+6>>0]=0;i=h;return}function oA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function pA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[l>>2]=ty(c[k>>2]|0,c[n>>2]|0,0)|0;if(d[(c[k>>2]|0)+69>>0]|0){a=c[k>>2]|0;n=c[l>>2]|0;dv(a,n);i=m;return}RA(c[g>>2]|0,c[l>>2]|0,c[h>>2]|0,c[j>>2]|0);a=c[k>>2]|0;n=c[l>>2]|0;dv(a,n);i=m;return}function qA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;f=g+4|0;h=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+64>>2];c[h>>2]=c[(c[d>>2]|0)+60>>2];if((c[e>>2]|0)<=(c[h>>2]|0)){h=(c[d>>2]|0)+64|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=(c[d>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)-(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}else{c[f>>2]=(c[(c[d>>2]|0)+76>>2]|0)+1;h=(c[d>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}return 0}function rA(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;n=o+20|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b[n>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;if((b[n>>1]|0)==-2){c[(c[h>>2]|0)+104>>2]=c[k>>2];yA(c[h>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0,c[m>>2]|0);i=o;return}else{zA(c[(c[h>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[n>>1]|0,c[m>>2]|0);i=o;return}}function sA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+4|0;g=h;j=h+8|0;c[g>>2]=b;a[j>>0]=e;if(((c[(c[g>>2]|0)+32>>2]|0)-1|0)>(c[(c[(c[g>>2]|0)+24>>2]|0)+96>>2]|0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+(((c[(c[g>>2]|0)+32>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[j>>0]|0|0):0){c[f>>2]=vA(c[g>>2]|0,(c[(c[g>>2]|0)+32>>2]|0)-1|0)|0;j=c[f>>2]|0;i=h;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=h;return j|0}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;uA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+60>>2]|0)){i=h;return}c[(c[e>>2]|0)+60>>2]=c[g>>2];c[(c[e>>2]|0)+64>>2]=c[f>>2];i=h;return}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;e=l+24|0;f=l+20|0;m=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[m>>2]=d;c[h>>2]=(c[f>>2]|0)+(c[m>>2]|0)-1;c[g>>2]=0;c[j>>2]=(c[e>>2]|0)+124;while(1){if((c[g>>2]|0)>=10)break;c[k>>2]=c[(c[j>>2]|0)+12>>2];if((c[k>>2]|0)>=(c[f>>2]|0)?(c[k>>2]|0)<=(c[h>>2]|0):0){nA(c[e>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+12>>2]=0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}i=l;return}function vA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);wA(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-96;c[e>>2]=1;h=c[e>>2]|0;i=j;return h|0}return 0}function wA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;if(!(c[f>>2]|0)){i=j;return}switch(c[e>>2]|0){case -20:{xA(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0);break}case -15:case -1:case -13:case -12:break;case -6:{if(c[(c[g>>2]|0)+456>>2]|0){i=j;return}Xz(c[f>>2]|0);i=j;return}case -11:{if(c[(c[g>>2]|0)+456>>2]|0){i=j;return}Kd(c[f>>2]|0);i=j;return}case -5:{xA(c[g>>2]|0,c[f>>2]|0);i=j;return}case -8:{e=c[f>>2]|0;if(!(c[(c[g>>2]|0)+456>>2]|0)){bh(e);i=j;return}c[h>>2]=e;if(c[(c[h>>2]|0)+24>>2]|0)Tf(c[g>>2]|0,c[(c[h>>2]|0)+20>>2]|0);Tf(c[g>>2]|0,c[h>>2]|0);i=j;return}case -10:{if(c[(c[g>>2]|0)+456>>2]|0){i=j;return}nu(c[f>>2]|0);i=j;return}default:{i=j;return}}Tf(c[g>>2]|0,c[f>>2]|0);i=j;return}function xA(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=g;return}if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){i=g;return}Tf(c[d>>2]|0,c[f>>2]|0);i=g;return}function yA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[f>>2]>>2];c[g>>2]=ty(c[j>>2]|0,c[g>>2]|0,0)|0;if(a[(c[j>>2]|0)+69>>0]|0){b=c[j>>2]|0;e=c[g>>2]|0;dv(b,e);i=k;return}DA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);b=c[j>>2]|0;e=c[g>>2]|0;dv(b,e);i=k;return}function zA(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[m>>2]|0)>=0?(c[m>>2]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[o>>2]=(d[(c[k>>2]|0)+42>>0]&16|0)!=0?153:47;c[p>>2]=c[m>>2];if(d[(c[k>>2]|0)+42>>0]&32){a=Hj(c[k>>2]|0)|0;c[p>>2]=(AA(a,c[m>>2]&65535)|0)<<16>>16}$w(c[j>>2]|0,c[o>>2]|0,c[l>>2]|0,c[p>>2]|0,c[n>>2]|0)|0}else Xw(c[j>>2]|0,103,c[l>>2]|0,c[n>>2]|0)|0;if((c[m>>2]|0)<0){i=q;return}BA(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0);i=q;return}function AA(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+10|0;f=k+4|0;g=k+8|0;h=k;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){d=6;break}a=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){d=4;break}c[h>>2]=a+1}if((d|0)==4){b[j>>1]=a;j=b[j>>1]|0;i=k;return j|0}else if((d|0)==6){b[j>>1]=-1;j=b[j>>1]|0;i=k;return j|0}return 0}function BA(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o+24|0;m=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[h>>2]|0)+12>>2]|0){i=o;return}c[n>>2]=0;a[l>>0]=a[(CA(c[g>>2]|0)|0)+66>>0]|0;c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4);b=CA(c[g>>2]|0)|0;jx(b,c[(c[m>>2]|0)+4>>2]|0,a[l>>0]|0,a[(c[m>>2]|0)+13>>0]|0,n)|0;if(c[n>>2]|0)Kh(c[g>>2]|0,-1,c[n>>2]|0,-8);if((a[(c[(c[h>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){i=o;return}Dz(c[g>>2]|0,39,c[k>>2]|0)|0;i=o;return}function CA(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function DA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[g>>2]|0)!=0?(d[c[g>>2]>>0]|0|0)==157:0){Xw(c[(c[f>>2]|0)+8>>2]|0,30,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;i=k;return}c[j>>2]=EA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){i=k;return}Xw(c[(c[f>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function EA(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;ka=i;i=i+320|0;C=ka+16|0;G=ka+8|0;B=ka;ca=ka+300|0;da=ka+296|0;I=ka+292|0;ea=ka+288|0;ia=ka+284|0;o=ka+280|0;fa=ka+276|0;ga=ka+272|0;ha=ka+268|0;Q=ka+264|0;y=ka+260|0;z=ka+256|0;A=ka+252|0;K=ka+248|0;T=ka+200|0;q=ka+196|0;r=ka+192|0;m=ka+188|0;n=ka+184|0;D=ka+180|0;E=ka+176|0;u=ka+172|0;j=ka+168|0;s=ka+164|0;S=ka+160|0;R=ka+156|0;P=ka+152|0;H=ka+148|0;J=ka+144|0;N=ka+140|0;F=ka+305|0;O=ka+136|0;L=ka+132|0;M=ka+304|0;k=ka+128|0;l=ka+124|0;v=ka+120|0;t=ka+116|0;w=ka+112|0;x=ka+108|0;p=ka+104|0;V=ka+100|0;Y=ka+96|0;X=ka+92|0;W=ka+88|0;$=ka+84|0;U=ka+80|0;Z=ka+32|0;ba=ka+24|0;aa=ka+20|0;c[da>>2]=f;c[I>>2]=g;c[ea>>2]=h;c[ia>>2]=c[(c[da>>2]|0)+8>>2];c[fa>>2]=c[ea>>2];c[ga>>2]=0;c[ha>>2]=0;c[K>>2]=c[c[da>>2]>>2];if(!(c[ia>>2]|0)){c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if(!(c[I>>2]|0))c[o>>2]=101;else c[o>>2]=d[c[I>>2]>>0];a:do switch(c[o>>2]|0){case 154:{c[q>>2]=c[(c[I>>2]|0)+40>>2];c[r>>2]=(c[(c[q>>2]|0)+28>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)*24|0);if(!(a[c[q>>2]>>0]|0)){c[fa>>2]=c[(c[r>>2]|0)+16>>2];break a}if(a[(c[q>>2]|0)+1>>0]|0)$w(c[ia>>2]|0,47,c[(c[q>>2]|0)+8>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;else ja=11;break}case 152:{ja=11;break}case 132:{GA(c[da>>2]|0,c[I>>2]|0,0,c[ea>>2]|0);break}case 133:{HA(c[ia>>2]|0,c[(c[I>>2]|0)+8>>2]|0,0,c[ea>>2]|0);break}case 97:{Zw(c[ia>>2]|0,c[ea>>2]|0,c[(c[I>>2]|0)+8>>2]|0)|0;break}case 101:{Xw(c[ia>>2]|0,25,0,c[ea>>2]|0)|0;break}case 134:{c[D>>2]=(c[(c[I>>2]|0)+8>>2]|0)+2;c[n>>2]=(Jf(c[D>>2]|0)|0)-1;c[E>>2]=ux(CA(c[ia>>2]|0)|0,c[D>>2]|0,c[n>>2]|0)|0;_w(c[ia>>2]|0,27,(c[n>>2]|0)/2|0,c[ea>>2]|0,0,c[E>>2]|0,-1)|0;break}case 135:{Xw(c[ia>>2]|0,28,b[(c[I>>2]|0)+32>>1]|0,c[ea>>2]|0)|0;if(a[(c[(c[I>>2]|0)+8>>2]|0)+1>>0]|0)Kh(c[ia>>2]|0,-1,c[(c[(c[da>>2]|0)+476>>2]|0)+((b[(c[I>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);break}case 157:{c[fa>>2]=c[(c[I>>2]|0)+28>>2];break}case 38:{c[fa>>2]=EA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;if((c[fa>>2]|0)!=(c[ea>>2]|0)){Xw(c[ia>>2]|0,31,c[fa>>2]|0,c[ea>>2]|0)|0;c[fa>>2]=c[ea>>2]}Xw(c[ia>>2]|0,40,c[ea>>2]|0,(px(c[(c[I>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;IA(c[da>>2]|0,c[fa>>2]|0,1);break}case 79:case 78:case 83:case 80:case 81:case 82:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;KA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,32)|0;break}case 148:case 73:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;c[o>>2]=(c[o>>2]|0)==73?79:78;KA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[y>>2]|0,c[fa>>2]|0,160)|0;break}case 94:case 88:case 87:case 92:case 86:case 85:case 93:case 90:case 91:case 89:case 71:case 72:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+16>>2]|0,ha)|0;$w(c[ia>>2]|0,c[o>>2]|0,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}case 155:{c[u>>2]=c[(c[I>>2]|0)+12>>2];do if((d[c[u>>2]>>0]|0)!=132)if((d[c[u>>2]>>0]|0)==133){HA(c[ia>>2]|0,c[(c[u>>2]|0)+8>>2]|0,1,c[ea>>2]|0);break}else{a[T>>0]=-124;c[T+4>>2]=17408;c[T+8>>2]=0;c[Q>>2]=JA(c[da>>2]|0,T,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ha)|0;$w(c[ia>>2]|0,90,c[y>>2]|0,c[Q>>2]|0,c[ea>>2]|0)|0;break}else GA(c[da>>2]|0,c[u>>2]|0,1,c[ea>>2]|0);while(0);c[fa>>2]=c[ea>>2];break}case 19:case 96:{c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[fa>>2]=c[ea>>2];Xw(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0,c[fa>>2]|0)|0;break}case 77:case 76:{Xw(c[ia>>2]|0,22,1,c[ea>>2]|0)|0;c[Q>>2]=JA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,ga)|0;c[j>>2]=Dz(c[ia>>2]|0,c[o>>2]|0,c[Q>>2]|0)|0;Xw(c[ia>>2]|0,22,0,c[ea>>2]|0)|0;Lz(c[ia>>2]|0,c[j>>2]|0);break}case 153:{c[s>>2]=c[(c[I>>2]|0)+40>>2];if(!(c[s>>2]|0)){ia=c[da>>2]|0;c[B>>2]=c[(c[I>>2]|0)+8>>2];Ch(ia,31655,B);break a}else{c[fa>>2]=c[(c[(c[s>>2]|0)+40>>2]|0)+(b[(c[I>>2]|0)+34>>1]<<4)+8>>2];break a}}case 151:{c[J>>2]=0;a[F>>0]=a[(c[K>>2]|0)+66>>0]|0;c[O>>2]=0;if(c[(c[I>>2]|0)+4>>2]&16384)c[S>>2]=0;else c[S>>2]=c[(c[I>>2]|0)+20>>2];if(c[S>>2]|0)j=c[c[S>>2]>>2]|0;else j=0;c[R>>2]=j;c[H>>2]=c[(c[I>>2]|0)+8>>2];c[P>>2]=ii(c[K>>2]|0,c[H>>2]|0,c[R>>2]|0,a[F>>0]|0,0)|0;if((c[P>>2]|0)!=0?(c[(c[P>>2]|0)+16>>2]|0)==0:0){if(e[(c[P>>2]|0)+2>>1]&512){c[L>>2]=Iz(c[ia>>2]|0)|0;DA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0);c[N>>2]=1;while(1){j=c[ia>>2]|0;if((c[N>>2]|0)>=(c[R>>2]|0))break;Xw(j,77,c[ea>>2]|0,c[L>>2]|0)|0;uA(c[da>>2]|0,c[ea>>2]|0,1);oA(c[da>>2]|0);DA(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0,c[ea>>2]|0);mA(c[da>>2]|0);c[N>>2]=(c[N>>2]|0)+1}Mz(j,c[L>>2]|0);break a}if(e[(c[P>>2]|0)+2>>1]&1024){c[fa>>2]=EA(c[da>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0,c[ea>>2]|0)|0;break a}c[N>>2]=0;while(1){if((c[N>>2]|0)>=(c[R>>2]|0))break;if((c[N>>2]|0)<32?(LA(c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0)!=0:0)c[J>>2]=c[J>>2]|1<>2];if(!((c[O>>2]|0)!=0?1:(e[(c[P>>2]|0)+2>>1]&32|0)==0))c[O>>2]=Ux(c[da>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+((c[N>>2]|0)*20|0)>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}if(c[S>>2]|0){j=c[da>>2]|0;if(c[J>>2]|0){c[Q>>2]=(c[j+76>>2]|0)+1;ba=(c[da>>2]|0)+76|0;c[ba>>2]=(c[ba>>2]|0)+(c[R>>2]|0)}else c[Q>>2]=qA(j,c[R>>2]|0)|0;do if(e[(c[P>>2]|0)+2>>1]&192){a[M>>0]=a[c[c[(c[S>>2]|0)+4>>2]>>2]>>0]|0;if((d[M>>0]|0)!=152?(d[M>>0]|0)!=154:0)break;a[(c[c[(c[S>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[P>>2]|0)+2>>1]&192}while(0);oA(c[da>>2]|0);MA(c[da>>2]|0,c[S>>2]|0,c[Q>>2]|0,0,3)|0;mA(c[da>>2]|0)}else c[Q>>2]=0;if((c[R>>2]|0)>=2?(c[(c[I>>2]|0)+4>>2]&128|0)!=0:0)c[P>>2]=NA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[(c[(c[S>>2]|0)+4>>2]|0)+20>>2]|0)|0;else ja=77;if((ja|0)==77?(c[R>>2]|0)>0:0)c[P>>2]=NA(c[K>>2]|0,c[P>>2]|0,c[R>>2]|0,c[c[(c[S>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[P>>2]|0)+2>>1]&32){if(!(c[O>>2]|0))c[O>>2]=c[(c[K>>2]|0)+8>>2];_w(c[ia>>2]|0,34,0,0,0,c[O>>2]|0,-4)|0}_w(c[ia>>2]|0,35,c[J>>2]|0,c[Q>>2]|0,c[ea>>2]|0,c[P>>2]|0,-5)|0;Hh(c[ia>>2]|0,c[R>>2]&255);if(!((c[R>>2]|0)!=0&(c[J>>2]|0)==0))break a;tA(c[da>>2]|0,c[Q>>2]|0,c[R>>2]|0);break a}ia=c[da>>2]|0;c[G>>2]=c[H>>2];Ch(ia,31681,G);break}case 119:case 20:{c[fa>>2]=OA(c[da>>2]|0,c[I>>2]|0,0,0)|0;break}case 75:{c[k>>2]=Iz(c[ia>>2]|0)|0;c[l>>2]=Iz(c[ia>>2]|0)|0;Xw(c[ia>>2]|0,25,0,c[ea>>2]|0)|0;PA(c[da>>2]|0,c[I>>2]|0,c[k>>2]|0,c[l>>2]|0);Xw(c[ia>>2]|0,22,1,c[ea>>2]|0)|0;Mz(c[ia>>2]|0,c[k>>2]|0);Xw(c[ia>>2]|0,37,c[ea>>2]|0,0)|0;Mz(c[ia>>2]|0,c[l>>2]|0);break}case 74:{c[v>>2]=c[(c[I>>2]|0)+12>>2];c[t>>2]=c[(c[(c[I>>2]|0)+20>>2]|0)+4>>2];c[w>>2]=c[c[t>>2]>>2];c[Q>>2]=JA(c[da>>2]|0,c[v>>2]|0,ga)|0;c[y>>2]=JA(c[da>>2]|0,c[w>>2]|0,ha)|0;c[z>>2]=aA(c[da>>2]|0)|0;c[A>>2]=aA(c[da>>2]|0)|0;KA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,83,c[Q>>2]|0,c[y>>2]|0,c[z>>2]|0,32)|0;c[t>>2]=(c[t>>2]|0)+20;c[w>>2]=c[c[t>>2]>>2];eA(c[da>>2]|0,c[ha>>2]|0);c[y>>2]=JA(c[da>>2]|0,c[w>>2]|0,ha)|0;KA(c[da>>2]|0,c[v>>2]|0,c[w>>2]|0,81,c[Q>>2]|0,c[y>>2]|0,c[A>>2]|0,32)|0;$w(c[ia>>2]|0,72,c[z>>2]|0,c[A>>2]|0,c[ea>>2]|0)|0;eA(c[da>>2]|0,c[z>>2]|0);eA(c[da>>2]|0,c[A>>2]|0);break}case 156:case 95:case 159:{c[fa>>2]=EA(c[da>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;break}case 62:{c[x>>2]=c[(c[I>>2]|0)+44>>2];c[p>>2]=(_(c[(c[I>>2]|0)+28>>2]|0,(b[(c[x>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[I>>2]|0)+32>>1]|0);Xw(c[ia>>2]|0,134,c[p>>2]|0,c[ea>>2]|0)|0;if((b[(c[I>>2]|0)+32>>1]|0)>=0?(a[(c[(c[x>>2]|0)+4>>2]|0)+(b[(c[I>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)Dz(c[ia>>2]|0,39,c[ea>>2]|0)|0;break}case 57:{if(!(c[(c[da>>2]|0)+420>>2]|0)){Ch(c[da>>2]|0,31704,C);c[ca>>2]=0;ja=c[ca>>2]|0;i=ka;return ja|0}if((a[(c[I>>2]|0)+1>>0]|0)==2)Hx(c[da>>2]|0);if((a[(c[I>>2]|0)+1>>0]|0)==4){_w(c[ia>>2]|0,21,0,4,0,c[(c[I>>2]|0)+8>>2]|0,0)|0;break a}else{hA(c[da>>2]|0,1811,a[(c[I>>2]|0)+1>>0]|0,c[(c[I>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[$>>2]=c[(c[I>>2]|0)+20>>2];c[U>>2]=c[(c[$>>2]|0)+4>>2];c[X>>2]=c[c[$>>2]>>2];c[V>>2]=Iz(c[ia>>2]|0)|0;S=c[(c[I>>2]|0)+12>>2]|0;c[ba>>2]=S;if(S){j=T;k=c[ba>>2]|0;l=j+48|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));QA(T,JA(c[da>>2]|0,c[ba>>2]|0,ga)|0);a[Z>>0]=79;c[Z+12>>2]=T;c[aa>>2]=Z;c[ga>>2]=0}c[W>>2]=0;while(1){if((c[W>>2]|0)>=((c[X>>2]|0)-1|0))break;oA(c[da>>2]|0);j=c[(c[U>>2]|0)+((c[W>>2]|0)*20|0)>>2]|0;if(c[ba>>2]|0)c[Z+16>>2]=j;else c[aa>>2]=j;c[Y>>2]=Iz(c[ia>>2]|0)|0;RA(c[da>>2]|0,c[aa>>2]|0,c[Y>>2]|0,16);DA(c[da>>2]|0,c[(c[U>>2]|0)+(((c[W>>2]|0)+1|0)*20|0)>>2]|0,c[ea>>2]|0);Kz(c[ia>>2]|0,c[V>>2]|0)|0;mA(c[da>>2]|0);Mz(c[ia>>2]|0,c[Y>>2]|0);c[W>>2]=(c[W>>2]|0)+2}if(c[X>>2]&1){oA(c[da>>2]|0);DA(c[da>>2]|0,c[(c[(c[$>>2]|0)+4>>2]|0)+(((c[X>>2]|0)-1|0)*20|0)>>2]|0,c[ea>>2]|0);mA(c[da>>2]|0)}else Xw(c[ia>>2]|0,25,0,c[ea>>2]|0)|0;Mz(c[ia>>2]|0,c[V>>2]|0)}}while(0);b:do if((ja|0)==11){c[m>>2]=c[(c[I>>2]|0)+28>>2];do if((c[m>>2]|0)<0)if((c[(c[da>>2]|0)+100>>2]|0)>0){c[fa>>2]=(b[(c[I>>2]|0)+32>>1]|0)+(c[(c[da>>2]|0)+100>>2]|0);break b}else{c[m>>2]=c[(c[da>>2]|0)+104>>2];break}while(0);c[fa>>2]=FA(c[da>>2]|0,c[(c[I>>2]|0)+44>>2]|0,b[(c[I>>2]|0)+32>>1]|0,c[m>>2]|0,c[ea>>2]|0,a[(c[I>>2]|0)+38>>0]|0)|0}while(0);eA(c[da>>2]|0,c[ga>>2]|0);eA(c[da>>2]|0,c[ha>>2]|0);c[ca>>2]=c[fa>>2];ja=c[ca>>2]|0;i=ka;return ja|0}function FA(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;k=v+32|0;l=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+36|0;t=v+8|0;r=v+4|0;s=v;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;a[q>>0]=j;c[t>>2]=c[(c[l>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=(c[l>>2]|0)+124;while(1){if((c[r>>2]|0)>=10)break;if(((c[(c[s>>2]|0)+12>>2]|0)>0?(c[c[s>>2]>>2]|0)==(c[o>>2]|0):0)?(b[(c[s>>2]|0)+4>>1]|0)==(c[n>>2]|0):0){u=6;break}c[r>>2]=(c[r>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}if((u|0)==6){t=(c[l>>2]|0)+112|0;u=c[t>>2]|0;c[t>>2]=u+1;c[(c[s>>2]|0)+16>>2]=u;lB(c[l>>2]|0,c[(c[s>>2]|0)+12>>2]|0);c[k>>2]=c[(c[s>>2]|0)+12>>2];u=c[k>>2]|0;i=v;return u|0}zA(c[t>>2]|0,c[m>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);if(a[q>>0]|0)Hh(c[t>>2]|0,a[q>>0]|0);else mB(c[l>>2]|0,c[o>>2]|0,c[n>>2]|0,c[p>>2]|0);c[k>>2]=c[p>>2];u=c[k>>2]|0;i=v;return u|0}function GA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;n=p+8|0;f=p+40|0;q=p+36|0;g=p+32|0;h=p+28|0;l=p+24|0;k=p+20|0;j=p+16|0;m=p;o=p+12|0;c[f>>2]=a;c[q>>2]=b;c[g>>2]=d;c[h>>2]=e;c[l>>2]=c[(c[f>>2]|0)+8>>2];e=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024){c[k>>2]=c[e>>2];if(c[g>>2]|0)c[k>>2]=0-(c[k>>2]|0);Xw(c[l>>2]|0,22,c[k>>2]|0,c[h>>2]|0)|0;i=p;return}c[o>>2]=c[e>>2];c[j>>2]=Fi(c[o>>2]|0,m)|0;if((c[j>>2]|0)!=0?!((c[j>>2]|0)==2&(c[g>>2]|0)!=0):0)if(!(zd(c[o>>2]|0,31803,2)|0)){q=c[f>>2]|0;c[n>>2]=c[o>>2];Ch(q,31806,n);i=p;return}else{HA(c[l>>2]|0,c[o>>2]|0,c[g>>2]|0,c[h>>2]|0);i=p;return}if(c[g>>2]|0){o=(c[j>>2]|0)==2;n=m;n=oR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=m;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:C}kB(c[l>>2]|0,23,0,c[h>>2]|0,0,m,-13)|0;i=p;return}function HA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(c[g>>2]|0)){i=m;return}b=c[g>>2]|0;Qy(b,l,Jf(c[g>>2]|0)|0,1)|0;if(c[j>>2]|0)h[l>>3]=-+h[l>>3];kB(c[f>>2]|0,133,0,c[k>>2]|0,0,l,-12)|0;i=m;return}function IA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;uA(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function JA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;l=q+12|0;k=q+8|0;m=q+4|0;n=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[h>>2]=Zx(c[h>>2]|0)|0;if(((d[(c[g>>2]|0)+23>>0]|0|0)!=0?(d[c[h>>2]>>0]|0|0)!=157:0)?(jB(c[h>>2]|0)|0)!=0:0){c[l>>2]=c[(c[g>>2]|0)+324>>2];c[c[j>>2]>>2]=0;a:do if(c[l>>2]|0){c[m>>2]=c[(c[l>>2]|0)+4>>2];c[k>>2]=c[c[l>>2]>>2];while(1){if((c[k>>2]|0)<=0)break a;if(((d[(c[m>>2]|0)+13>>0]|0)>>>2&1|0)!=0?(vy(c[c[m>>2]>>2]|0,c[h>>2]|0,-1)|0)==0:0)break;c[m>>2]=(c[m>>2]|0)+20;c[k>>2]=(c[k>>2]|0)+-1}c[f>>2]=c[(c[m>>2]|0)+16>>2];p=c[f>>2]|0;i=q;return p|0}while(0);e=(c[g>>2]|0)+76|0;n=(c[e>>2]|0)+1|0;c[e>>2]=n;c[o>>2]=n;eB(c[g>>2]|0,c[h>>2]|0,c[o>>2]|0,1)}else p=12;do if((p|0)==12){c[n>>2]=aA(c[g>>2]|0)|0;c[o>>2]=EA(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==(c[n>>2]|0)){c[c[j>>2]>>2]=c[n>>2];break}else{eA(c[g>>2]|0,c[n>>2]|0);c[c[j>>2]>>2]=0;break}}while(0);c[f>>2]=c[o>>2];p=c[f>>2]|0;i=q;return p|0}function KA(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;i=i+48|0;n=l+40|0;v=l+36|0;u=l+32|0;s=l+28|0;p=l+24|0;r=l+20|0;q=l+16|0;t=l+12|0;m=l+8|0;k=l+4|0;o=l;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=j;c[o>>2]=$A(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(iB(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[k>>2]=_w(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;Hh(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);i=l;return c[k>>2]|0}function LA(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fB(c[d>>2]|0,1,0)|0;i=b;return a|0}function MA(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+44|0;l=z+40|0;m=z+36|0;n=z+32|0;o=z+49|0;v=z+28|0;q=z+24|0;s=z+20|0;t=z+16|0;p=z+48|0;x=z+12|0;u=z+8|0;r=z+4|0;w=z;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;a[o>>0]=j;a[p>>0]=(d[o>>0]&1|0)!=0?30:31;c[x>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[c[l>>2]>>2];if(!(a[(c[k>>2]|0)+23>>0]|0))a[o>>0]=d[o>>0]&-3;c[v>>2]=c[(c[l>>2]|0)+4>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[t>>2]|0))break;c[u>>2]=c[c[v>>2]>>2];if((d[o>>0]&4|0)!=0?(g=e[(c[(c[l>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)+16>>1]|0,c[s>>2]=g,(g|0)>0):0)Xw(c[x>>2]|0,d[p>>0]|0,(c[s>>2]|0)+(c[n>>2]|0)-1|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if((d[o>>0]&2|0)!=0?(LA(c[u>>2]|0)|0)!=0:0){eB(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0,0);break}c[r>>2]=EA(c[k>>2]|0,c[u>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[m>>2]|0)+(c[q>>2]|0)|0)){if((((d[p>>0]|0)==30?(g=Sz(c[x>>2]|0,-1)|0,c[w>>2]=g,(d[g>>0]|0)==30):0)?((c[(c[w>>2]|0)+4>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[w>>2]|0)+8>>2]|0)+(c[(c[w>>2]|0)+12>>2]|0)+1|0)==((c[m>>2]|0)+(c[q>>2]|0)|0):0){g=(c[w>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+1;break}Xw(c[x>>2]|0,d[p>>0]|0,c[r>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+20}i=z;return c[t>>2]|0}function NA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;k=z+56|0;l=z+52|0;m=z+48|0;n=z+44|0;o=z+40|0;t=z+36|0;u=z+32|0;r=z+28|0;w=z+24|0;q=z+20|0;s=z+16|0;v=z+12|0;y=z+8|0;x=z+4|0;p=z;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[w>>2]=0;c[q>>2]=0;c[v>>2]=0;if(!(c[o>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if((d[c[o>>2]>>0]|0)!=152){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[t>>2]=c[(c[o>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}if(!(d[(c[t>>2]|0)+42>>0]&16)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[u>>2]=c[(Gx(c[l>>2]|0,c[t>>2]|0)|0)+8>>2];c[r>>2]=c[c[u>>2]>>2];if(!(c[(c[r>>2]|0)+72>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}c[y>>2]=ph(c[l>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if(c[y>>2]|0){c[x>>2]=c[y>>2];while(1){if(!(a[c[x>>2]>>0]|0))break;a[c[x>>2]>>0]=a[18221+(d[c[x>>2]>>0]|0)>>0]|0;c[x>>2]=(c[x>>2]|0)+1}r=c[(c[r>>2]|0)+72>>2]|0;t=c[u>>2]|0;u=c[n>>2]|0;x=c[y>>2]|0;c[p>>2]=w;c[v>>2]=Zb[r&255](t,u,x,c[p>>2]|0,q)|0;Tf(c[l>>2]|0,c[y>>2]|0)}if(!(c[v>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}y=c[l>>2]|0;c[s>>2]=rh(y,28+(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[s>>2]|0)){c[k>>2]=c[m>>2];y=c[k>>2]|0;i=z;return y|0}else{x=c[s>>2]|0;y=c[m>>2]|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[(c[s>>2]|0)+20>>2]=(c[s>>2]|0)+28;x=(c[s>>2]|0)+28|0;y=c[(c[m>>2]|0)+20>>2]|0;rR(x|0,y|0,(Jf(c[(c[m>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[s>>2]|0)+12>>2]=c[w>>2];c[(c[s>>2]|0)+4>>2]=c[q>>2];y=(c[s>>2]|0)+2|0;b[y>>1]=e[y>>1]|16;c[k>>2]=c[s>>2];y=c[k>>2]|0;i=z;return y|0}return 0}function OA(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+160|0;h=K;r=K+140|0;s=K+136|0;t=K+132|0;u=K+128|0;v=K+124|0;A=K+120|0;H=K+116|0;I=K+112|0;j=K+108|0;x=K+144|0;w=K+104|0;l=K+100|0;D=K+96|0;q=K+92|0;n=K+72|0;o=K+68|0;y=K+64|0;p=K+60|0;C=K+56|0;E=K+52|0;F=K+48|0;G=K+44|0;B=K+40|0;z=K+36|0;m=K+32|0;k=K+12|0;c[s>>2]=b;c[t>>2]=e;c[u>>2]=f;c[v>>2]=g;c[A>>2]=-1;c[H>>2]=0;c[I>>2]=Vw(c[s>>2]|0)|0;if(!(c[I>>2]|0)){c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}oA(c[s>>2]|0);if(!(c[(c[t>>2]|0)+4>>2]&32))c[A>>2]=_A(c[s>>2]|0)|0;if((d[(c[s>>2]|0)+453>>0]|0)==2){f=c[c[s>>2]>>2]|0;e=(d[c[t>>2]>>0]|0)==75?31766:31771;b=c[(c[s>>2]|0)+472>>2]|0;c[h>>2]=(c[A>>2]|0)>=0?19010:31754;c[h+4>>2]=e;c[h+8>>2]=b;c[j>>2]=Dh(f,31778,h)|0;_w(c[I>>2]|0,161,c[(c[s>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0}g=c[t>>2]|0;do if((d[c[t>>2]>>0]|0)==75){c[l>>2]=c[g+12>>2];c[D>>2]=0;a[x>>0]=Tx(c[l>>2]|0)|0;l=(c[s>>2]|0)+72|0;m=c[l>>2]|0;c[l>>2]=m+1;c[(c[t>>2]|0)+28>>2]=m;c[w>>2]=Xw(c[I>>2]|0,57,c[(c[t>>2]|0)+28>>2]|0,((c[v>>2]|0)!=0^1)&1)|0;if(c[v>>2]|0)g=0;else g=Wz(c[c[s>>2]>>2]|0,1,1)|0;c[D>>2]=g;g=(c[t>>2]|0)+20|0;do if(!(c[(c[t>>2]|0)+4>>2]&2048)){if(c[g>>2]|0){c[p>>2]=c[(c[t>>2]|0)+20>>2];if(!(a[x>>0]|0))a[x>>0]=65;if(c[D>>2]|0){q=Ux(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=q}c[E>>2]=aA(c[s>>2]|0)|0;c[F>>2]=aA(c[s>>2]|0)|0;if(c[v>>2]|0)Xw(c[I>>2]|0,25,0,c[F>>2]|0)|0;c[y>>2]=c[c[p>>2]>>2];c[C>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[B>>2]=c[c[C>>2]>>2];if((c[A>>2]|0)>=0?(LA(c[B>>2]|0)|0)==0:0){vA(c[I>>2]|0,c[A>>2]|0)|0;c[A>>2]=-1}if((c[v>>2]|0)!=0?(qy(c[B>>2]|0,z)|0)!=0:0)$w(c[I>>2]|0,84,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;else J=29;do if((J|0)==29){J=0;c[G>>2]=EA(c[s>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;g=c[I>>2]|0;e=c[G>>2]|0;if(c[v>>2]|0){Xw(g,38,e,(Hz(c[I>>2]|0)|0)+2|0)|0;$w(c[I>>2]|0,75,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;break}else{_w(g,49,e,1,c[F>>2]|0,x,1)|0;IA(c[s>>2]|0,c[G>>2]|0,1);Xw(c[I>>2]|0,110,c[(c[t>>2]|0)+28>>2]|0,c[F>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[C>>2]=(c[C>>2]|0)+20}eA(c[s>>2]|0,c[E>>2]|0);eA(c[s>>2]|0,c[F>>2]|0)}}else{c[q>>2]=c[g>>2];dB(n,11,c[(c[t>>2]|0)+28>>2]|0);a[n+1>>0]=a[x>>0]|0;c[(c[q>>2]|0)+12>>2]=0;if(!(Iv(c[s>>2]|0,c[q>>2]|0,n)|0)){c[o>>2]=c[c[q>>2]>>2];J=$A(c[s>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[c[(c[o>>2]|0)+4>>2]>>2]|0)|0;c[(c[D>>2]|0)+20>>2]=J;break}Xz(c[D>>2]|0);c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[D>>2]|0)Kh(c[I>>2]|0,c[w>>2]|0,c[D>>2]|0,-6)}else{c[m>>2]=c[g+20>>2];G=(c[s>>2]|0)+76|0;J=(c[G>>2]|0)+1|0;c[G>>2]=J;dB(k,0,J);if((d[c[t>>2]>>0]|0)==119){a[k>>0]=10;c[k+8>>2]=c[k+4>>2];Xw(c[I>>2]|0,25,0,c[k+4>>2]|0)|0}else{a[k>>0]=3;Xw(c[I>>2]|0,22,0,c[k+4>>2]|0)|0}dv(c[c[s>>2]>>2]|0,c[(c[m>>2]|0)+56>>2]|0);J=xv(c[s>>2]|0,132,0,0,5116)|0;c[(c[m>>2]|0)+56>>2]=J;c[(c[m>>2]|0)+12>>2]=0;J=(c[m>>2]|0)+8|0;c[J>>2]=c[J>>2]&-513;if(!(Iv(c[s>>2]|0,c[m>>2]|0,k)|0)){c[H>>2]=c[k+4>>2];break}c[r>>2]=0;J=c[r>>2]|0;i=K;return J|0}while(0);if(c[u>>2]|0)bB(c[I>>2]|0,c[(c[t>>2]|0)+28>>2]|0,c[u>>2]|0);if((c[A>>2]|0)>=0)Lz(c[I>>2]|0,c[A>>2]|0);mA(c[s>>2]|0);c[r>>2]=c[H>>2];J=c[r>>2]|0;i=K;return J|0}function PA(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+80|0;s=z+64|0;r=z+60|0;t=z+56|0;u=z+52|0;x=z+48|0;p=z+68|0;q=z+44|0;w=z+40|0;y=z+36|0;k=z+32|0;j=z+28|0;h=z+24|0;l=z+20|0;n=z+16|0;m=z+12|0;g=z+8|0;o=z+4|0;v=z;c[s>>2]=b;c[r>>2]=d;c[t>>2]=e;c[u>>2]=f;c[x>>2]=0;c[y>>2]=c[(c[s>>2]|0)+8>>2];c[q>>2]=VA(c[s>>2]|0,c[r>>2]|0,3,(c[t>>2]|0)==(c[u>>2]|0)?0:x)|0;a[p>>0]=WA(c[r>>2]|0)|0;oA(c[s>>2]|0);c[w>>2]=aA(c[s>>2]|0)|0;DA(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0,c[w>>2]|0);e=c[r>>2]|0;if((c[q>>2]|0)!=5){do if(XA(c[e+12>>2]|0)|0){e=c[y>>2]|0;f=c[w>>2]|0;if((c[u>>2]|0)==(c[t>>2]|0)){Xw(e,76,f,c[u>>2]|0)|0;break}else{c[o>>2]=Dz(e,77,f)|0;Xw(c[y>>2]|0,108,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0)|0;Kz(c[y>>2]|0,c[u>>2]|0)|0;Lz(c[y>>2]|0,c[o>>2]|0);break}}while(0);e=c[y>>2]|0;f=c[w>>2]|0;if((c[q>>2]|0)==1){Xw(e,38,f,c[t>>2]|0)|0;$w(c[y>>2]|0,70,c[(c[r>>2]|0)+28>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}_w(e,48,f,1,0,p,1)|0;f=c[y>>2]|0;e=c[(c[r>>2]|0)+28>>2]|0;if(!(c[x>>2]|0)){Gh(f,68,e,c[t>>2]|0,c[w>>2]|0,1)|0;x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}else{c[v>>2]=Gh(f,69,e,0,c[w>>2]|0,1)|0;Xw(c[y>>2]|0,76,c[x>>2]|0,c[u>>2]|0)|0;Kz(c[y>>2]|0,c[t>>2]|0)|0;Lz(c[y>>2]|0,c[v>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}}c[k>>2]=c[e+20>>2];c[j>>2]=Ux(c[s>>2]|0,c[(c[r>>2]|0)+12>>2]|0)|0;c[h>>2]=Iz(c[y>>2]|0)|0;c[m>>2]=0;if((c[u>>2]|0)!=(c[t>>2]|0)){c[m>>2]=aA(c[s>>2]|0)|0;$w(c[y>>2]|0,85,c[w>>2]|0,c[w>>2]|0,c[m>>2]|0)|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[l>>2]=JA(c[s>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,n)|0;if((c[m>>2]|0)!=0?(XA(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)!=0:0)$w(c[y>>2]|0,85,c[m>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;if((c[g>>2]|0)>=((c[c[k>>2]>>2]|0)-1|0)?(c[u>>2]|0)==(c[t>>2]|0):0){_w(c[y>>2]|0,78,c[w>>2]|0,c[t>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,(a[p>>0]|16)&255)}else{_w(c[y>>2]|0,79,c[w>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,-4)|0;Hh(c[y>>2]|0,a[p>>0]|0)}eA(c[s>>2]|0,c[n>>2]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[m>>2]|0){Xw(c[y>>2]|0,76,c[m>>2]|0,c[u>>2]|0)|0;Kz(c[y>>2]|0,c[t>>2]|0)|0}Mz(c[y>>2]|0,c[h>>2]|0);eA(c[s>>2]|0,c[m>>2]|0);x=c[s>>2]|0;y=c[w>>2]|0;eA(x,y);y=c[s>>2]|0;mA(y);i=z;return}function QA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];b=(c[f>>2]|0)+4|0;c[b>>2]=c[b>>2]&-4097;i=e;return}function RA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+48|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;s=u+28|0;n=u+24|0;q=u+20|0;r=u+16|0;o=u+12|0;p=u+8|0;l=u+4|0;m=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[n>>2]=0;c[q>>2]=0;c[r>>2]=0;if((c[s>>2]|0)==0|(c[h>>2]|0)==0){i=u;return}c[n>>2]=((d[c[h>>2]>>0]|0)+0^1)-0;a:do switch(d[c[h>>2]>>0]|0|0){case 72:{RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);oA(c[g>>2]|0);RA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);mA(c[g>>2]|0);break}case 71:{c[l>>2]=Iz(c[s>>2]|0)|0;SA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);oA(c[g>>2]|0);RA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Mz(c[s>>2]|0,c[l>>2]|0);mA(c[g>>2]|0);break}case 19:{SA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 73:{c[n>>2]=(d[c[h>>2]>>0]|0|0)==73?78:79;c[k>>2]=128;t=7;break}case 79:case 78:case 83:case 80:case 81:case 82:{t=7;break}case 77:case 76:{c[o>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;Xw(c[s>>2]|0,c[n>>2]|0,c[o>>2]|0,c[j>>2]|0)|0;break}case 74:{TA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0);break}case 75:if(c[k>>2]|0){PA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[j>>2]|0);break a}else{c[m>>2]=Iz(c[s>>2]|0)|0;PA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);Mz(c[s>>2]|0,c[m>>2]|0);break a}default:{if(hz(c[h>>2]|0)|0){Kz(c[s>>2]|0,c[j>>2]|0)|0;break a}if(!(UA(c[h>>2]|0)|0)){c[o>>2]=JA(c[g>>2]|0,c[h>>2]|0,q)|0;$w(c[s>>2]|0,46,c[o>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((t|0)==7){c[o>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,q)|0;c[p>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,r)|0;KA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}eA(c[g>>2]|0,c[q>>2]|0);eA(c[g>>2]|0,c[r>>2]|0);i=u;return}function SA(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+48|0;h=v+44|0;j=v+40|0;k=v+36|0;t=v+32|0;o=v+28|0;r=v+24|0;s=v+20|0;p=v+16|0;q=v+12|0;l=v+8|0;m=v+4|0;n=v;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[t>>2]=c[(c[g>>2]|0)+8>>2];c[o>>2]=0;c[r>>2]=0;c[s>>2]=0;if((c[t>>2]|0)==0|(c[h>>2]|0)==0){i=v;return}c[o>>2]=d[c[h>>2]>>0];a:do switch(c[o>>2]|0){case 72:{c[l>>2]=Iz(c[t>>2]|0)|0;RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[l>>2]|0,c[k>>2]^16);oA(c[g>>2]|0);SA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);Mz(c[t>>2]|0,c[l>>2]|0);mA(c[g>>2]|0);break}case 71:{SA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);oA(c[g>>2]|0);SA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0,c[k>>2]|0);mA(c[g>>2]|0);break}case 19:{RA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0);break}case 148:case 73:{c[o>>2]=(c[o>>2]|0)==73?79:78;c[k>>2]=128;u=7;break}case 79:case 78:case 83:case 80:case 81:case 82:{u=7;break}case 77:case 76:{c[p>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;Xw(c[t>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;break}case 74:{TA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,1,c[k>>2]|0);break}case 75:{c[m>>2]=Iz(c[t>>2]|0)|0;c[n>>2]=(c[k>>2]|0)!=0?c[j>>2]|0:c[m>>2]|0;PA(c[g>>2]|0,c[h>>2]|0,c[m>>2]|0,c[n>>2]|0);Kz(c[t>>2]|0,c[j>>2]|0)|0;Mz(c[t>>2]|0,c[m>>2]|0);break}default:{if(UA(c[h>>2]|0)|0){Kz(c[t>>2]|0,c[j>>2]|0)|0;break a}if(!(hz(c[h>>2]|0)|0)){c[p>>2]=JA(c[g>>2]|0,c[h>>2]|0,r)|0;$w(c[t>>2]|0,45,c[p>>2]|0,c[j>>2]|0,(c[k>>2]|0)!=0&1)|0}}}while(0);if((u|0)==7){c[p>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,r)|0;c[q>>2]=JA(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,s)|0;KA(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}eA(c[g>>2]|0,c[r>>2]|0);eA(c[g>>2]|0,c[s>>2]|0);i=v;return}function TA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+224|0;o=s+216|0;h=s+212|0;m=s+208|0;p=s+204|0;n=s+200|0;q=s+152|0;j=s+104|0;k=s+56|0;l=s+8|0;r=s;c[o>>2]=b;c[h>>2]=d;c[m>>2]=e;c[p>>2]=f;c[n>>2]=g;c[r>>2]=0;e=l;g=c[(c[h>>2]|0)+12>>2]|0;f=e+48|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(f|0));a[q>>0]=72;c[q+12>>2]=j;c[q+16>>2]=k;a[j>>0]=83;c[j+12>>2]=l;c[j+16>>2]=c[c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]>>2];a[k>>0]=81;c[k+12>>2]=l;c[k+16>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];QA(l,JA(c[o>>2]|0,l,r)|0);f=c[o>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;if(c[p>>2]|0){SA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;eA(q,r);i=s;return}else{RA(f,q,g,e);q=c[o>>2]|0;r=c[r>>2]|0;eA(q,r);i=s;return}}function UA(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1))if(qy(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function VA(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+80|0;l=F+72|0;m=F+68|0;n=F+64|0;o=F+60|0;k=F+56|0;r=F+52|0;w=F+48|0;x=F+44|0;E=F+40|0;q=F+36|0;B=F+32|0;y=F+28|0;u=F+78|0;v=F+76|0;s=F+24|0;z=F+20|0;A=F+16|0;p=F+12|0;t=F+8|0;D=F+4|0;C=F;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[r>>2]=0;g=(c[l>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[w>>2]=j;c[E>>2]=Vw(c[l>>2]|0)|0;c[x>>2]=(c[n>>2]&4|0)!=0&1;a:do if((c[(c[l>>2]|0)+68>>2]|0)==0?(j=ZA(c[m>>2]|0)|0,c[k>>2]=j,(j|0)!=0):0){c[q>>2]=c[c[l>>2]>>2];c[B>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];c[y>>2]=c[c[(c[c[k>>2]>>2]|0)+4>>2]>>2];b[u>>1]=b[(c[y>>2]|0)+32>>1]|0;b[v>>1]=Fh(c[q>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;hx(c[l>>2]|0,b[v>>1]|0);Ez(c[l>>2]|0,b[v>>1]|0,c[(c[B>>2]|0)+28>>2]|0,0,c[c[B>>2]>>2]|0);h=c[l>>2]|0;if((b[u>>1]|0)<0){c[s>>2]=_A(h)|0;Fz(c[l>>2]|0,c[w>>2]|0,b[v>>1]|0,c[B>>2]|0,54);c[r>>2]=1;Lz(c[E>>2]|0,c[s>>2]|0);break}c[A>>2]=$A(h,c[(c[m>>2]|0)+12>>2]|0,c[y>>2]|0)|0;c[p>>2]=aB(c[m>>2]|0,a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+13>>0]|0)|0;c[z>>2]=c[(c[B>>2]|0)+8>>2];while(1){if(!((c[z>>2]|0)!=0&(c[r>>2]|0)==0&(c[p>>2]|0)!=0))break a;do if((b[c[(c[z>>2]|0)+4>>2]>>1]|0)==(b[u>>1]|0)?(y=Qj(c[q>>2]|0,a[(c[q>>2]|0)+66>>0]|0,c[c[(c[z>>2]|0)+32>>2]>>2]|0,0)|0,(y|0)==(c[A>>2]|0)):0){if(c[x>>2]|0){if((e[(c[z>>2]|0)+50>>1]|0)!=1)break;if(!(d[(c[z>>2]|0)+54>>0]|0))break}c[t>>2]=_A(c[l>>2]|0)|0;$w(c[E>>2]|0,54,c[w>>2]|0,c[(c[z>>2]|0)+44>>2]|0,b[v>>1]|0)|0;Gz(c[l>>2]|0,c[z>>2]|0);c[r>>2]=3+(d[c[(c[z>>2]|0)+28>>2]>>0]|0);if((c[o>>2]|0)!=0?(a[(c[(c[B>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+12>>0]|0)==0:0){s=(c[l>>2]|0)+76|0;y=(c[s>>2]|0)+1|0;c[s>>2]=y;c[c[o>>2]>>2]=y;bB(c[E>>2]|0,c[w>>2]|0,c[c[o>>2]>>2]|0)}Lz(c[E>>2]|0,c[t>>2]|0)}while(0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}}while(0);do if(((c[r>>2]|0)==0?(c[n>>2]&1|0)!=0:0)?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){if((cB(c[m>>2]|0)|0)!=0?(c[c[(c[m>>2]|0)+20>>2]>>2]|0)>2:0)break;c[r>>2]=5}while(0);if(c[r>>2]|0){c[(c[m>>2]|0)+28>>2]=c[w>>2];E=c[r>>2]|0;i=F;return E|0}c[D>>2]=c[(c[l>>2]|0)+428>>2];c[C>>2]=0;c[r>>2]=2;if(c[n>>2]&4){c[(c[l>>2]|0)+428>>2]=0;if((b[(c[(c[m>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0)c[r>>2]=1}else if(c[o>>2]|0){B=(c[l>>2]|0)+76|0;E=(c[B>>2]|0)+1|0;c[B>>2]=E;c[C>>2]=E;c[c[o>>2]>>2]=E}OA(c[l>>2]|0,c[m>>2]|0,c[C>>2]|0,(c[r>>2]|0)==1&1)|0;c[(c[l>>2]|0)+428>>2]=c[D>>2];E=c[r>>2]|0;i=F;return E|0}function WA(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=Tx(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=YA(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(c[b+4>>2]&2048){a[e>>0]=YA(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;i=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;i=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;i=f;return e|0}function XA(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+4|0;g=k;h=k+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 134:case 133:case 97:case 132:{c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[j>>2]=e&1;j=c[j>>2]|0;i=k;return j|0}default:{c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}}return 0}function YA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+6|0;j=h;f=h+5|0;g=h+4|0;c[j>>2]=b;a[f>>0]=d;a[g>>0]=Tx(c[j>>2]|0)|0;if((a[g>>0]|0)!=0?(a[f>>0]|0)!=0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}a[e>>0]=67;j=a[e>>0]|0;i=h;return j|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);j=a[e>>0]|0;i=h;return j|0}else{a[e>>0]=65;j=a[e>>0]|0;i=h;return j|0}return 0}function ZA(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;h=l+4|0;k=l;c[e>>2]=a;do if(c[(c[e>>2]|0)+4>>2]&2048){if(c[(c[e>>2]|0)+4>>2]&32){c[b>>2]=0;break}c[f>>2]=c[(c[e>>2]|0)+20>>2];if(c[(c[f>>2]|0)+48>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+8>>2]&9){c[b>>2]=0;break}if(c[(c[f>>2]|0)+56>>2]|0){c[b>>2]=0;break}if(c[(c[f>>2]|0)+32>>2]|0){c[b>>2]=0;break}c[j>>2]=c[(c[f>>2]|0)+28>>2];if((c[c[j>>2]>>2]|0)!=1){c[b>>2]=0;break}if(c[(c[j>>2]|0)+8+20>>2]|0){c[b>>2]=0;break}c[k>>2]=c[(c[j>>2]|0)+8+16>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[b>>2]=0;break}c[g>>2]=c[c[f>>2]>>2];if((c[c[g>>2]>>2]|0)!=1){c[b>>2]=0;break}c[h>>2]=c[c[(c[g>>2]|0)+4>>2]>>2];if((d[c[h>>2]>>0]|0|0)!=152){c[b>>2]=0;break}else{c[b>>2]=c[f>>2];break}}else c[b>>2]=0;while(0);i=l;return c[b>>2]|0}function _A(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=Vw(c[e>>2]|0)|0;d=c[d>>2]|0;e=(c[e>>2]|0)+84|0;a=c[e>>2]|0;c[e>>2]=a+1;a=Dz(d,44,a)|0;i=b;return a|0}function $A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256){c[h>>2]=Ux(c[e>>2]|0,c[f>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}if((c[g>>2]|0)!=0?(c[(c[g>>2]|0)+4>>2]&256|0)!=0:0){c[h>>2]=Ux(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ux(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){d=c[h>>2]|0;i=j;return d|0}c[h>>2]=Ux(c[e>>2]|0,c[g>>2]|0)|0;d=c[h>>2]|0;i=j;return d|0}function aB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+4|0;j=g;f=g+9|0;h=g+8|0;c[j>>2]=b;a[f>>0]=d;a[h>>0]=WA(c[j>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}i=g;return c[e>>2]|0}function bB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;g=e+12|0;j=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;Xw(c[g>>2]|0,22,0,c[h>>2]|0)|0;c[f>>2]=Dz(c[g>>2]|0,108,c[j>>2]|0)|0;$w(c[g>>2]|0,47,c[j>>2]|0,0,c[h>>2]|0)|0;Hh(c[g>>2]|0,-128);Lz(c[g>>2]|0,c[f>>2]|0);i=e;return}function cB(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=LA(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];i=d;return c[b>>2]|0}function dB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=b;c[j>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[j>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];a[(c[g>>2]|0)+1>>0]=0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+12>>2]=0;i=f;return}function eB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[j>>2]=f;a[k>>0]=g;c[l>>2]=c[(c[h>>2]|0)+324>>2];c[o>>2]=ty(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[l>>2]=Mv(c[h>>2]|0,c[l>>2]|0,c[o>>2]|0)|0;if(!(c[l>>2]|0)){g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}c[m>>2]=(c[(c[l>>2]|0)+4>>2]|0)+(((c[c[l>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[j>>2];g=(c[m>>2]|0)+13|0;a[g>>0]=a[g>>0]&-5|((d[k>>0]|0)&1)<<2&255;g=c[l>>2]|0;o=c[h>>2]|0;o=o+324|0;c[o>>2]=g;i=n;return}function fB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;j=h+36|0;l=h+32|0;k=h+28|0;g=h;c[j>>2]=b;c[l>>2]=e;c[k>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[l>>2];c[g+4>>2]=197;c[g+8>>2]=198;c[g+24>>2]=c[k>>2];hy(g,c[j>>2]|0)|0;i=h;return d[g+20>>0]|0|0}function gB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+8|0;g=k+4|0;h=k;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?(c[(c[h>>2]|0)+4>>2]&1|0)!=0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else j=4;a:do if((j|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 27:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);i=k;return c[f>>2]|0}function hB(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;i=e;return 2}function iB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;f=g+12|0;c[j>>2]=b;c[k>>2]=d;c[h>>2]=e;a[f>>0]=Tx(c[k>>2]|0)|0;d=(YA(c[j>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=d|c[h>>2]&255;i=g;return a[f>>0]|0}function jB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=fB(c[d>>2]|0,2,0)|0;i=b;return a|0}function kB(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;q=s+4|0;r=s;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=Lw(CA(c[k>>2]|0)|0,8,0)|0;if(c[r>>2]|0){h=c[r>>2]|0;j=c[p>>2]|0;a[h>>0]=a[j>>0]|0;a[h+1>>0]=a[j+1>>0]|0;a[h+2>>0]=a[j+2>>0]|0;a[h+3>>0]=a[j+3>>0]|0;a[h+4>>0]=a[j+4>>0]|0;a[h+5>>0]=a[j+5>>0]|0;a[h+6>>0]=a[j+6>>0]|0;a[h+7>>0]=a[j+7>>0]|0}h=_w(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;i=s;return h|0}function lB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=(c[j>>2]|0)+124;while(1){if((c[f>>2]|0)>=10)break;if((c[(c[g>>2]|0)+12>>2]|0)==(c[e>>2]|0))a[(c[g>>2]|0)+6>>0]=0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function mB(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;p=s+8|0;o=s+4|0;q=s;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;if((e[(c[c[j>>2]>>2]|0)+64>>1]|0)&2){i=s;return}c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if(!(c[(c[q>>2]|0)+12>>2]|0)){r=5;break}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((r|0)==5){c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}c[p>>2]=2147483647;c[o>>2]=-1;c[n>>2]=0;c[q>>2]=(c[j>>2]|0)+124;while(1){if((c[n>>2]|0)>=10)break;if((c[(c[q>>2]|0)+16>>2]|0)<(c[p>>2]|0)){c[o>>2]=c[n>>2];c[p>>2]=c[(c[q>>2]|0)+16>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((c[o>>2]|0)<0){i=s;return}c[q>>2]=(c[j>>2]|0)+124+((c[o>>2]|0)*20|0);c[(c[q>>2]|0)+8>>2]=c[(c[j>>2]|0)+108>>2];c[c[q>>2]>>2]=c[k>>2];b[(c[q>>2]|0)+4>>1]=c[l>>2];c[(c[q>>2]|0)+12>>2]=c[m>>2];a[(c[q>>2]|0)+6>>0]=0;d=(c[j>>2]|0)+112|0;r=c[d>>2]|0;c[d>>2]=r+1;c[(c[q>>2]|0)+16>>2]=r;i=s;return}function nB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){f=7;break}c[j>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(ig(c[j>>2]|0,c[f>>2]|0)|0):0){f=5;break}c[h>>2]=(c[h>>2]|0)+1}if((f|0)==5){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==7){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}return 0}function oB(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+80|0;l=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;t=y+48|0;v=y+16|0;w=y+12|0;s=y+8|0;u=y+4|0;x=y;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[c[l>>2]>>2];c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[l>>2];e=pB(v,c[p>>2]|0)|0;c[t>>2]=e;do if((0==(e|0)?(e=pB(v,c[q>>2]|0)|0,c[t>>2]=e,0==(e|0)):0)?(e=pB(v,c[r>>2]|0)|0,c[t>>2]=e,0==(e|0)):0){if(c[o>>2]|0){if((d[c[o>>2]>>0]|0)==97)c[x>>2]=c[(c[o>>2]|0)+8>>2];else c[x>>2]=0;c[t>>2]=Sw(c[l>>2]|0,c[m>>2]|0,c[x>>2]|0,0,0)|0;if(c[t>>2]|0)break}c[w>>2]=Vw(c[l>>2]|0)|0;c[u>>2]=qA(c[l>>2]|0,4)|0;DA(c[l>>2]|0,c[p>>2]|0,c[u>>2]|0);DA(c[l>>2]|0,c[q>>2]|0,(c[u>>2]|0)+1|0);DA(c[l>>2]|0,c[r>>2]|0,(c[u>>2]|0)+2|0);if(c[w>>2]|0){_w(c[w>>2]|0,35,0,(c[u>>2]|0)+3-(a[c[n>>2]>>0]|0)|0,(c[u>>2]|0)+3|0,c[n>>2]|0,-5)|0;Hh(c[w>>2]|0,a[c[n>>2]>>0]|0);Dz(c[w>>2]|0,147,(c[m>>2]|0)==24&1)|0}}while(0);dv(c[s>>2]|0,c[p>>2]|0);dv(c[s>>2]|0,c[q>>2]|0);dv(c[s>>2]|0,c[r>>2]|0);i=y;return}function pB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=27){c[h>>2]=ly(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);i=j;return c[h>>2]|0}function qB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+192|0;n=q+24|0;m=q+16|0;l=q+8|0;k=q;f=q+52|0;r=q+44|0;p=q+40|0;g=q+36|0;h=q+32|0;j=q+28|0;o=q+56|0;c[f>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[p>>2]=ae(c[c[r>>2]>>2]|0)|0;c[g>>2]=we(c[f>>2]|0)|0;c[j>>2]=0;if(!(c[p>>2]|0))c[p>>2]=19010;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0))break;c[j>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4);if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[c[j>>2]>>2]|0,c[p>>2]|0)|0)==0:0)break;c[h>>2]=(c[h>>2]|0)+1}do if((c[h>>2]|0)>=(c[(c[g>>2]|0)+20>>2]|0)){c[k>>2]=c[p>>2];Qd(128,o,31844,k)|0}else{if((c[h>>2]|0)<2){c[l>>2]=c[p>>2];Qd(128,o,31865,l)|0;break}if(!(a[(c[g>>2]|0)+67>>0]|0)){Qd(128,o,31891,m)|0;break}if((qg(c[(c[j>>2]|0)+4>>2]|0)|0)==0?(lu(c[(c[j>>2]|0)+4>>2]|0)|0)==0:0){rB(c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+4>>2]=0;c[(c[j>>2]|0)+12>>2]=0;sB(c[g>>2]|0);i=q;return}c[n>>2]=c[p>>2];Qd(128,o,31933,n)|0}while(0);je(c[f>>2]|0,o,-1);i=q;return}function rB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];mg(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;tB(c[g>>2]|0)|0}Og(c[d>>2]|0,0,0)|0;if(!((a[(c[d>>2]|0)+9>>0]|0)!=0?(uB(c[e>>2]|0)|0)==0:0)){fr(c[c[e>>2]>>2]|0)|0;if((c[(c[e>>2]|0)+52>>2]|0)!=0?(c[(c[e>>2]|0)+48>>2]|0)!=0:0)Qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Tf(0,c[(c[e>>2]|0)+48>>2]|0);Si(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);i=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);i=h;return 0}function sB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Tf(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){i=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){i=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Tf(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;i=g;return}function tB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;g=j+12|0;e=j+8|0;f=j+4|0;h=j;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];if(!(c[g>>2]|0)){i=j;return 0}c[f>>2]=c[(c[d>>2]|0)+4>>2];mg(c[g>>2]|0);vB(c[d>>2]|0);a:do if((c[(c[f>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[f>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;wB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[e>>2]=(c[e>>2]|0)+1}xB(c[f>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);i=j;return 0}function uB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;i=g;return f|0}if((c[1215]|0)!=(c[d>>2]|0)){c[e>>2]=c[1215];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[1215]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}function vB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;i=d;return}function wB(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}yB(c[b>>2]|0);i=d;return}function xB(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0){i=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){i=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;yB(c[e>>2]|0);i=f;return}function yB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Es(c[(c[d>>2]|0)+72>>2]|0);i=b;return}function zB(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+128|0;w=E+48|0;v=E+40|0;y=E+32|0;x=E+24|0;k=E+16|0;j=E+8|0;h=E;n=E+116|0;F=E+108|0;g=E+104|0;u=E+100|0;p=E+96|0;C=E+92|0;B=E+88|0;D=E+84|0;z=E+80|0;q=E+76|0;o=E+72|0;A=E+68|0;t=E+64|0;l=E+60|0;s=E+56|0;r=E+52|0;c[n>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[u>>2]=0;c[p>>2]=we(c[n>>2]|0)|0;c[D>>2]=0;c[z>>2]=0;c[A>>2]=0;c[B>>2]=ae(c[c[F>>2]>>2]|0)|0;c[C>>2]=ae(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[B>>2]|0))c[B>>2]=19010;if(!(c[C>>2]|0))c[C>>2]=19010;e=c[p>>2]|0;do if((c[(c[p>>2]|0)+20>>2]|0)<((c[(c[p>>2]|0)+92+28>>2]|0)+2|0)){if(!(a[e+67>>0]|0)){c[A>>2]=Dh(c[p>>2]|0,32006,j)|0;break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;c[l>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];if(!(ig(c[l>>2]|0,c[C>>2]|0)|0)){m=12;break}c[g>>2]=(c[g>>2]|0)+1}if((m|0)==12){F=c[p>>2]|0;c[k>>2]=c[C>>2];c[A>>2]=Dh(F,32048,k)|0;break}e=c[p>>2]|0;do if((c[(c[p>>2]|0)+16>>2]|0)==((c[p>>2]|0)+392|0)){c[o>>2]=Lw(e,48,0)|0;if(!(c[o>>2]|0)){i=E;return}else{F=c[o>>2]|0;m=c[(c[p>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[o>>2]=Kw(e,c[(c[p>>2]|0)+16>>2]|0,(c[(c[p>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[o>>2]|0)){i=E;return}}while(0);c[(c[p>>2]|0)+16>>2]=c[o>>2];c[o>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[(c[p>>2]|0)+20>>2]<<4);F=c[o>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[p>>2]|0)+48>>2];c[u>>2]=_j(c[(c[c[p>>2]>>2]|0)+16>>2]|0,c[B>>2]|0,q,t,D,z)|0;if(c[u>>2]|0){if((c[u>>2]|0)==7)lh(c[p>>2]|0);je(c[n>>2]|0,c[z>>2]|0,-1);Kd(c[z>>2]|0);i=E;return}c[q>>2]=c[q>>2]|256;c[u>>2]=$j(c[t>>2]|0,c[D>>2]|0,c[p>>2]|0,(c[o>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[D>>2]|0);F=(c[p>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[u>>2]|0)!=19){if(!(c[u>>2]|0)){F=ak(c[p>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=F;if(c[(c[o>>2]|0)+12>>2]|0){if((d[(c[(c[o>>2]|0)+12>>2]|0)+76>>0]|0)!=0?(d[(c[(c[o>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[p>>2]|0)+66>>0]|0):0){c[A>>2]=Dh(c[p>>2]|0,20624,y)|0;c[u>>2]=1}}else c[u>>2]=7;mg(c[(c[o>>2]|0)+4>>2]|0);c[s>>2]=Pf(c[(c[o>>2]|0)+4>>2]|0)|0;AB(c[s>>2]|0,d[(c[p>>2]|0)+71>>0]|0)|0;F=c[(c[o>>2]|0)+4>>2]|0;BB(F,BB(c[(c[(c[p>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;CB(c[(c[o>>2]|0)+4>>2]|0,3|c[(c[p>>2]|0)+24>>2]&56)|0}}else{c[u>>2]=1;c[A>>2]=Dh(c[p>>2]|0,32078,x)|0}a[(c[o>>2]|0)+8>>0]=3;F=ph(c[p>>2]|0,c[C>>2]|0)|0;c[c[o>>2]>>2]=F;if((c[u>>2]|0)==0?(c[c[o>>2]>>2]|0)==0:0)c[u>>2]=7;if(!(c[u>>2]|0)){Of(c[p>>2]|0);c[u>>2]=qi(c[p>>2]|0,A)|0}if(!(c[u>>2]|0)){i=E;return}c[r>>2]=(c[(c[p>>2]|0)+20>>2]|0)-1;if(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0){rB(c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]|0)|0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+4>>2]=0;c[(c[(c[p>>2]|0)+16>>2]|0)+(c[r>>2]<<4)+12>>2]=0}Bg(c[p>>2]|0);c[(c[p>>2]|0)+20>>2]=c[r>>2];if((c[u>>2]|0)==7|(c[u>>2]|0)==3082){lh(c[p>>2]|0);Tf(c[p>>2]|0,c[A>>2]|0);c[A>>2]=Dh(c[p>>2]|0,25624,v)|0;break}if(!(c[A>>2]|0)){F=c[p>>2]|0;c[w>>2]=c[B>>2];c[A>>2]=Dh(F,32107,w)|0}}else{c[h>>2]=c[(c[p>>2]|0)+92+28>>2];c[A>>2]=Dh(e,31969,h)|0}while(0);if(c[A>>2]|0){je(c[n>>2]|0,c[A>>2]|0,-1);Tf(c[p>>2]|0,c[A>>2]|0)}if(!(c[u>>2]|0)){i=E;return}re(c[n>>2]|0,c[u>>2]|0);i=E;return}function AB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(EB(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];i=h;return d[(c[f>>2]|0)+4>>0]|0}function BB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;a=c[f>>2]|0;i=k;return a|0}mg(c[g>>2]|0);if((c[h>>2]|0)>=0?(a=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[a>>1]=(e[a>>1]|0)&-5,(c[h>>2]|0)!=0):0){a=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[a>>1]=e[a>>1]|0|4}c[j>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[j>>2];a=c[f>>2]|0;i=k;return a|0}function CB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);DB(c[c[f>>2]>>2]|0,c[e>>2]|0);i=d;return 0}function DB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;h=j+4|0;f=j;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;a[(c[g>>2]|0)+9>>0]=0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;a[(c[g>>2]|0)+9>>0]=(c[f>>2]|0)==4?1:0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[h>>2]&8){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}e=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;f=(c[g>>2]|0)+10|0;if(e){a[f>>0]=3;break}else{a[f>>0]=2;break}}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(a[(c[g>>2]|0)+8>>0]|0){e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32}f=(c[g>>2]|0)+21|0;b=d[f>>0]|0;if(c[h>>2]&32){a[f>>0]=b&-2;i=j;return}else{a[f>>0]=b|1;i=j;return}}function EB(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=0;a=a&1;i=e;return a|0}a=(d[(c[b>>2]|0)+43>>0]|0|0)==2;a=a&1;i=e;return a|0}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if((c[e>>2]|0)!=0?0!=(ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;hx(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}i=j;return}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;l=o;d=o+44|0;e=o+40|0;j=o+36|0;k=o+32|0;g=o+28|0;h=o+24|0;f=o+20|0;m=o+16|0;n=o+12|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[c[d>>2]>>2];c[h>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[j>>2]=HB(c[e>>2]|0)|0;c[f>>2]=16;c[m>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[n>>2]=(c[h>>2]|0)==1?20513:20532;if((c[h>>2]|0)==1)c[f>>2]=14;if(Sw(c[d>>2]|0,c[f>>2]|0,c[c[e>>2]>>2]|0,c[c[j>>2]>>2]|0,c[m>>2]|0)|0){i=o;return}if(Sw(c[d>>2]|0,9,c[n>>2]|0,0,c[m>>2]|0)|0){i=o;return}n=Vw(c[d>>2]|0)|0;c[k>>2]=n;if(!n){i=o;return}n=c[d>>2]|0;b=(c[h>>2]|0)==1?20513:20532;m=c[c[e>>2]>>2]|0;c[l>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[l+4>>2]=b;c[l+8>>2]=m;Uw(n,32155,l);Ww(c[d>>2]|0,c[h>>2]|0);_w(c[k>>2]|0,127,c[h>>2]|0,0,0,c[c[e>>2]>>2]|0,0)|0;i=o;return}function HB(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;i=b;return a|0}function IB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+12|0;f=k+16|0;g=k+8|0;h=k+4|0;j=k;c[l>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=rh(c[l>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){l=c[h>>2]|0;i=k;return l|0}c[j>>2]=(c[h>>2]|0)+36;rR(c[j>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Pw(c[j>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=c[j>>2];a[c[h>>2]>>0]=a[f>>0]|0;l=c[h>>2]|0;i=k;return l|0}function JB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=d;c[f>>2]=(c[j>>2]|0)+8;c[g>>2]=ex(c[e>>2]|0,0,c[f>>2]|0)|0;Rf(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){j=(c[g>>2]|0)+36|0;b[j>>1]=(b[j>>1]|0)+1<<16>>16}if(!($y(c[e>>2]|0,c[f>>2]|0)|0)){j=c[g>>2]|0;i=h;return j|0}c[g>>2]=0;j=c[g>>2]|0;i=h;return j|0}function KB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=g+20|0;n=g+16|0;j=g+12|0;l=g+8|0;k=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[j>>2]=d;c[l>>2]=e;c[k>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[l>>2];c[(c[h>>2]|0)+20>>2]=c[k>>2];c[(c[h>>2]|0)+8>>2]=(c[j>>2]|0)==1&1;i=g;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;k=l;g=l+32|0;h=l+28|0;d=l+24|0;e=l+20|0;f=l+16|0;j=l+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[j>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){d=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)!=0?(ig(c[(c[j>>2]|0)+4>>2]|0,c[f>>2]|0)|0)!=0:0){d=8;break}Tf(c[c[c[h>>2]>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0);c[(c[j>>2]|0)+4>>2]=0;c[c[j>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(MB(c[h>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0){d=11;break}if(NB(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0)|0){d=13;break}c[e>>2]=(c[e>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+72}if((d|0)==8){f=c[c[h>>2]>>2]|0;b=c[(c[h>>2]|0)+20>>2]|0;j=c[(c[j>>2]|0)+4>>2]|0;c[k>>2]=c[(c[h>>2]|0)+16>>2];c[k+4>>2]=b;c[k+8>>2]=j;Ch(f,32453,k);c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==11){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==13){c[g>>2]=1;k=c[g>>2]|0;i=l;return k|0}else if((d|0)==15){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}return 0}function MB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=20;break}if(OB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){d=4;break}if(LB(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){d=6;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){d=8;break}if(OB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){d=10;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){d=12;break}if(OB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){d=14;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){d=16;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){d=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=1;else if((d|0)==12)c[f>>2]=1;else if((d|0)==14)c[f>>2]=1;else if((d|0)==16)c[f>>2]=1;else if((d|0)==18)c[f>>2]=1;else if((d|0)==20)c[f>>2]=0;i=g;return c[f>>2]|0}function NB(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;g=k+12|0;h=k+8|0;f=k+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){e=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+144+5>>0]|0)){e=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&16384){e=16;break}e=c[h>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(MB(e,c[b>>2]|0)|0){e=10;break}}else if(OB(e,c[b>>2]|0)|0){e=12;break}if(NB(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){e=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((e|0)==6){f=c[c[h>>2]>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];Ch(f,32499,j);c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==10){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==12){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==14){c[g>>2]=1;j=c[g>>2]|0;i=k;return j|0}else if((e|0)==16){c[g>>2]=0;j=c[g>>2]|0;i=k;return j|0}return 0}function OB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+16|0;d=j+12|0;e=j+8|0;f=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if(NB(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){d=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((d|0)==6){c[h>>2]=1;h=c[h>>2]|0;i=j;return h|0}else if((d|0)==8){c[h>>2]=0;h=c[h>>2]|0;i=j;return h|0}return 0}function PB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){d=10;break}if(MB(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){d=4;break}if(NB(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){d=6;break}if(OB(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){d=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((d|0)==4)c[f>>2]=1;else if((d|0)==6)c[f>>2]=1;else if((d|0)==8)c[f>>2]=1;else if((d|0)==10)c[f>>2]=0;i=g;return c[f>>2]|0}function QB(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9|8;i=d;return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){i=h;return}Zw(c[e>>2]|0,1,c[g>>2]|0)|0;SB(c[e>>2]|0,c[f>>2]|0);Xw(c[e>>2]|0,33,1,1)|0;i=h;return}function SB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;eC(c[f>>2]|0,1,e);i=d;return}function TB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f;c[g>>2]=a;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;kB(c[g>>2]|0,23,0,1,0,j,-13)|0;SB(c[g>>2]|0,c[h>>2]|0);Xw(c[g>>2]|0,33,1,1)|0;i=f;return}function UB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+16|0;l=j+12|0;h=j+8|0;g=j+4|0;k=j;c[f>>2]=a;c[l>>2]=d;c[k>>2]=c[c[f>>2]>>2];uC(c[(c[f>>2]|0)+16>>2]|0,(e[(c[f>>2]|0)+84>>1]|0)<<1);Tf(c[k>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[g>>2]=c[l>>2]<<1;b[(c[f>>2]|0)+84>>1]=c[l>>2];a=rh(c[k>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h>>2]=a;c[(c[f>>2]|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=j;return}while(1){l=c[g>>2]|0;c[g>>2]=l+-1;if((l|0)<=0)break;b[(c[h>>2]|0)+8>>1]=1;c[(c[h>>2]|0)+32>>2]=c[c[f>>2]>>2];c[h>>2]=(c[h>>2]|0)+40}i=j;return}function VB(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;q=r+4|0;p=r;c[k>>2]=b;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;if(a[(c[c[k>>2]>>2]|0)+69>>0]|0){c[j>>2]=7;g=c[j>>2]|0;i=r;return g|0}else{g=(c[l>>2]|0)+(_(c[m>>2]|0,e[(c[k>>2]|0)+84>>1]|0)|0)|0;c[p>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(g*40|0);c[q>>2]=fh(c[p>>2]|0,c[n>>2]|0,-1,1,c[o>>2]|0)|0;c[j>>2]=c[q>>2];g=c[j>>2]|0;i=r;return g|0}return 0}function WB(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(ig(c[d>>2]|0,32705)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,32698)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;i=f;return c[b>>2]|0}function XB(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[6252+(c[d>>2]<<2)>>2];i=e;return c[b>>2]|0}function YB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;a=f;d=c[a+4>>2]|0;if((d|0)>-1|(d|0)==-1&(c[a>>2]|0)>>>0>=4294967295){b=f;d=c[b+4>>2]|0;a=(c[e>>2]|0)+168|0;c[a>>2]=c[b>>2];c[a+4>>2]=d;a=f;tC(c[(c[e>>2]|0)+216>>2]|0,c[a>>2]|0,c[a+4>>2]|0)}a=(c[e>>2]|0)+168|0;C=c[a+4>>2]|0;i=g;return c[a>>2]|0}function ZB(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;mg(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){b=0;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}b=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=b;e=c[e>>2]|0;i=f;return e|0}function _B(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(ig(c[d>>2]|0,33776)|0){if(!(ig(c[d>>2]|0,33220)|0)){c[b>>2]=1;break}if(!(ig(c[d>>2]|0,33781)|0)){c[b>>2]=2;break}else{c[e>>2]=Ni(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);i=f;return c[b>>2]|0}function $B(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;l=k+12|0;m=k+8|0;h=k+4|0;j=k;g=k+16|0;c[l>>2]=b;c[m>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];c[j>>2]=0;a[g>>0]=c[m>>2];mg(c[l>>2]|0);if(((e[(c[h>>2]|0)+22>>1]|0)&2|0)!=0?(((d[g>>0]|0|0)!=0?1:0)|0)!=(d[(c[h>>2]|0)+17>>0]|0|0):0){c[j>>2]=8;m=c[j>>2]|0;i=k;return m|0}a[(c[h>>2]|0)+17>>0]=(d[g>>0]|0|0)!=0?1:0;a[(c[h>>2]|0)+18>>0]=(d[g>>0]|0|0)==2?1:0;m=c[j>>2]|0;i=k;return m|0}function aC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=rC(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function bC(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+16>>2];c[f>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[f>>2]|0;c[f>>2]=b+-1;if((b|0)<=0)break;if(c[(c[g>>2]|0)+4>>2]|0)CB(c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[g>>2]=(c[g>>2]|0)+16}i=h;return}function cC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[g>>2]=b;c[l>>2]=e;c[j>>2]=qC(c[l>>2]|0)|0;c[h>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+68>>0]|0|0)==(c[j>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}if(dC(c[g>>2]|0)|0){c[f>>2]=1;l=c[f>>2]|0;i=k;return l|0}else{a[(c[h>>2]|0)+68>>0]=c[j>>2];c[f>>2]=0;l=c[f>>2]|0;i=k;return l|0}return 0}function dC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if((a[(c[f>>2]|0)+67>>0]|0)!=0?(qg(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){rB(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Bg(c[f>>2]|0);break}Ch(c[e>>2]|0,33714,g);c[d>>2]=1;g=c[d>>2]|0;i=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}function eC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;UB(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;VB(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}i=j;return}function fC(b,d,e,f){b=b|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;o=i;i=i+48|0;g=o+32|0;h=o+28|0;j=o+24|0;k=o+8|0;m=o+4|0;l=o+36|0;n=o;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){e=a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0;a[l>>0]=e;if(!(e<<24>>24))break;if((a[l>>0]|0)==115){f=(c[k>>2]|0)+(4-1)&~(4-1);b=c[f>>2]|0;c[k>>2]=f+4;c[n>>2]=b;b=c[g>>2]|0;f=(c[n>>2]|0)==0?25:97;e=c[h>>2]|0;c[h>>2]=e+1;_w(b,f,0,e,0,c[n>>2]|0,0)|0}else{b=c[g>>2]|0;e=(c[k>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[k>>2]=e+4;e=c[h>>2]|0;c[h>>2]=e+1;Xw(b,22,f,e)|0}c[m>>2]=(c[m>>2]|0)+1}i=o;return}function gC(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=33524;break}case 8:{c[e>>2]=33533;break}case 9:{c[e>>2]=33545;break}case 6:{c[e>>2]=33553;break}default:c[e>>2]=33562}i=f;return c[e>>2]|0}function hC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;y=D;l=D+64|0;m=D+60|0;n=D+56|0;o=D+52|0;p=D+48|0;q=D+44|0;x=D+40|0;r=D+36|0;w=D+32|0;B=D+28|0;s=D+24|0;t=D+20|0;v=D+16|0;u=D+68|0;z=D+12|0;A=D+8|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[x>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[o>>2]|0)+20>>2];c[B>>2]=c[(c[o>>2]|0)+36+4>>2];do if((c[w>>2]|0)==1){if((b[(c[n>>2]|0)+32>>1]|0)>=0){if(!(c[B>>2]|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(ig(c[(c[(c[n>>2]|0)+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0,c[B>>2]|0)|0)){c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}}}else if(c[q>>2]|0){c[r>>2]=Lw(c[c[m>>2]>>2]|0,c[w>>2]<<2,0)|0;if(c[r>>2]|0){c[c[q>>2]>>2]=c[r>>2];break}c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}while(0);c[x>>2]=c[(c[n>>2]|0)+8>>2];a:while(1){if(!(c[x>>2]|0))break;do if((e[(c[x>>2]|0)+50>>1]|0)==(c[w>>2]|0)?(d[(c[x>>2]|0)+54>>0]|0)!=0:0){if(!(c[B>>2]|0))if((a[(c[x>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[w>>2]|0))break;b[u>>1]=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0;if((b[u>>1]|0)<0)break;j=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)+8>>2]|0;c[z>>2]=j;c[z>>2]=(c[z>>2]|0)!=0?j:35343;if(ig(c[(c[(c[x>>2]|0)+32>>2]|0)+(c[t>>2]<<2)>>2]|0,c[z>>2]|0)|0)break;c[A>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+(b[u>>1]<<4)>>2];c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[w>>2]|0))break;if(!(ig(c[(c[o>>2]|0)+36+(c[v>>2]<<3)+4>>2]|0,c[A>>2]|0)|0)){C=28;break}c[v>>2]=(c[v>>2]|0)+1}if((C|0)==28?(C=0,(c[r>>2]|0)!=0):0)c[(c[r>>2]|0)+(c[t>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[v>>2]<<3)>>2];if((c[v>>2]|0)==(c[w>>2]|0))break;c[t>>2]=(c[t>>2]|0)+1}if((c[t>>2]|0)==(c[w>>2]|0))break a}while(0);c[x>>2]=c[(c[x>>2]|0)+20>>2]}b:do if((C|0)==17?(c[r>>2]|0)!=0:0){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break b;c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[o>>2]|0)+36+(c[s>>2]<<3)>>2];c[s>>2]=(c[s>>2]|0)+1}}while(0);if(c[x>>2]|0){c[c[p>>2]>>2]=c[x>>2];c[l>>2]=0;C=c[l>>2]|0;i=D;return C|0}if(!(a[(c[m>>2]|0)+442>>0]|0)){C=c[m>>2]|0;B=c[(c[o>>2]|0)+8>>2]|0;c[y>>2]=c[c[c[o>>2]>>2]>>2];c[y+4>>2]=B;Ch(C,33461,y)}Tf(c[c[m>>2]>>2]|0,c[r>>2]|0);c[l>>2]=1;C=c[l>>2]|0;i=D;return C|0}function iC(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;g=o+12|0;j=o+8|0;l=o+4|0;m=o;n=o+20|0;k=o+22|0;c[g>>2]=d;c[j>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+12>>2];f=(e[(c[j>>2]|0)+52>>1]|0)+1|0;f=Ah(0,f,((f|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+16>>2]=f;if(!(c[(c[j>>2]|0)+16>>2]|0)){lh(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[l>>2]=0;while(1){g=c[l>>2]|0;d=c[j>>2]|0;if((c[l>>2]|0)>=(e[(c[j>>2]|0)+52>>1]|0))break;b[n>>1]=b[(c[d+4>>2]|0)+(g<<1)>>1]|0;g=b[n>>1]|0;do if((b[n>>1]|0)<0){d=c[l>>2]|0;f=c[j>>2]|0;if((g|0)==-1){a[(c[f+16>>2]|0)+d>>0]=68;break}else{f=Tx(c[(c[(c[f+40>>2]|0)+4>>2]|0)+(d*20|0)>>2]|0)|0;a[k>>0]=f;a[k>>0]=(a[k>>0]|0)==0?65:f;a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[k>>0]|0;break}}else a[(c[(c[j>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[m>>2]|0)+4>>2]|0)+(g<<4)+13>>0]|0;while(0);c[l>>2]=(c[l>>2]|0)+1}a[(c[d+16>>2]|0)+g>>0]=0}c[h>>2]=c[(c[j>>2]|0)+16>>2];n=c[h>>2]|0;i=o;return n|0}function jC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=33369;else c[f>>2]=19006;hi(c[d>>2]|0,33373,2,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33373,3,1,c[f>>2]|0,212,0,0,0)|0;hi(c[d>>2]|0,33378,2,1,19002,212,0,0,0)|0;oC(c[d>>2]|0,33378,12);oC(c[d>>2]|0,33373,((c[e>>2]|0)!=0?12:4)&255);i=g;return}function kC(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=(c[b>>2]|0)+124;while(1){if((c[d>>2]|0)>=10)break;if(c[(c[e>>2]|0)+12>>2]|0){nA(c[b>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0}c[d>>2]=(c[d>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+20}i=f;return}function lC(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+64|0;p=C+52|0;q=C+48|0;r=C+44|0;s=C+40|0;t=C+56|0;u=C+36|0;v=C+32|0;w=C+28|0;m=C+24|0;x=C+20|0;y=C+16|0;n=C+12|0;A=C+8|0;B=C+4|0;z=C;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;a[t>>0]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;c[m>>2]=l;if((d[(c[r>>2]|0)+42>>0]|0)&16){c[p>>2]=0;B=c[p>>2]|0;i=C;return B|0}c[y>>2]=Fh(c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0;c[B>>2]=Vw(c[q>>2]|0)|0;if((c[u>>2]|0)<0)c[u>>2]=c[(c[q>>2]|0)+72>>2];l=c[u>>2]|0;c[u>>2]=l+1;c[n>>2]=l;if(c[w>>2]|0)c[c[w>>2]>>2]=c[n>>2];do if(!((d[(c[r>>2]|0)+42>>0]|0)&32)){if((c[v>>2]|0)!=0?(d[c[v>>2]>>0]|0|0)==0:0){o=11;break}Fz(c[q>>2]|0,c[n>>2]|0,c[y>>2]|0,c[r>>2]|0,c[s>>2]|0)}else o=11;while(0);if((o|0)==11)Ez(c[q>>2]|0,c[y>>2]|0,c[(c[r>>2]|0)+28>>2]|0,(c[s>>2]|0)==55&255,c[c[r>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[u>>2];c[x>>2]=0;c[A>>2]=c[(c[r>>2]|0)+8>>2];while(1){m=c[u>>2]|0;if(!(c[A>>2]|0))break;c[u>>2]=m+1;c[z>>2]=m;if(!((c[v>>2]|0)!=0?(d[(c[v>>2]|0)+((c[x>>2]|0)+1)>>0]|0|0)==0:0)){$w(c[B>>2]|0,c[s>>2]|0,c[z>>2]|0,c[(c[A>>2]|0)+44>>2]|0,c[y>>2]|0)|0;Gz(c[q>>2]|0,c[A>>2]|0)}if((a[(c[A>>2]|0)+55>>0]&3|0)==2?((d[(c[r>>2]|0)+42>>0]|0)&32|0)!=0:0){if(c[w>>2]|0)c[c[w>>2]>>2]=c[z>>2]}else Hh(c[B>>2]|0,a[t>>0]|0);c[A>>2]=c[(c[A>>2]|0)+20>>2];c[x>>2]=(c[x>>2]|0)+1}if((m|0)>(c[(c[q>>2]|0)+72>>2]|0))c[(c[q>>2]|0)+72>>2]=c[u>>2];c[p>>2]=c[x>>2];B=c[p>>2]|0;i=C;return B|0}function mC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-9;i=d;return}function nC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;l=o+24|0;m=o+20|0;j=o+16|0;q=o+12|0;p=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=we(c[f>>2]|0)|0;c[k>>2]=ve(c[f>>2]|0)|0;c[m>>2]=ae(c[c[h>>2]>>2]|0)|0;c[l>>2]=ae(c[(c[h>>2]|0)+4>>2]|0)|0;c[q>>2]=be(c[c[h>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+92+32>>2]|0)){je(c[f>>2]|0,33383,-1);i=o;return}do if((c[g>>2]|0)==3){c[n>>2]=ae(c[(c[h>>2]|0)+8>>2]|0)|0;if(!(c[n>>2]|0)){i=o;return}if((Ix(c[n>>2]|0,-1)|0)==1){c[j>>2]=pC(n)|0;break}je(c[f>>2]|0,33416,-1);i=o;return}else c[j>>2]=d[(c[k>>2]|0)+2>>0];while(0);if(!((c[l>>2]|0)!=0&(c[m>>2]|0)!=0)){i=o;return}q=c[f>>2]|0;ke(q,Rh(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0,c[j>>2]|0)|0);i=o;return}function oC(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;l=i;i=i+16|0;n=l+8|0;m=l+4|0;j=l+12|0;k=l;c[n>>2]=f;c[m>>2]=g;a[j>>0]=h;c[k>>2]=ii(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[k>>2]|0)){i=l;return}n=(c[k>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[j>>0]|0);i=l;return}function pC(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;i=f;return g|0}c[e>>2]=d[26171+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;i=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;i=f;return h|0}function qC(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(ig(c[e>>2]|0,33618)|0)){c[d>>2]=1;break}if(!(ig(c[e>>2]|0,26767)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);i=g;return c[d>>2]|0}function rC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=sC(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function sC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){b=c[e>>2]|0;b=AR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;a=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;a=yR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;c[e>>2]=a}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=aj(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;i=g;return f|0}function tC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function uC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){i=k;return}c[j>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[h>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[h>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}do{f=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312)){if(c[f+24>>2]|0){Tf(c[h>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Wg(f);b[(c[g>>2]|0)+8>>1]=128;a=(c[g>>2]|0)+40|0;c[g>>2]=a}while(a>>>0<(c[j>>2]|0)>>>0);i=k;return}function vC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;l=o+8|0;k=o;f=o+44|0;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;n=o+48|0;c[f>>2]=a;c[p>>2]=b;c[g>>2]=d;c[h>>2]=e;c[m>>2]=c[(c[(c[c[f>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[k>>2]=c[j>>2];Qd(24,n,34654,k)|0;if(ri(c[c[f>>2]>>2]|0,n,c[m>>2]|0)|0){p=c[f>>2]|0;e=c[g>>2]|0;d=c[h>>2]|0;c[l>>2]=c[m>>2];c[l+4>>2]=n;c[l+8>>2]=e;c[l+12>>2]=d;Uw(p,31526,l)}c[j>>2]=(c[j>>2]|0)+1}i=o;return}function wC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+48|0;h=e;g=e+36|0;j=e+32|0;l=e+28|0;k=e+24|0;f=e+20|0;c[g>>2]=a;c[j>>2]=b;c[l>>2]=d;c[k>>2]=Vw(c[g>>2]|0)|0;c[f>>2]=aA(c[g>>2]|0)|0;$w(c[k>>2]|0,118,c[j>>2]|0,c[f>>2]|0,c[l>>2]|0)|0;Hx(c[g>>2]|0);a=c[g>>2]|0;k=(c[l>>2]|0)==1?20513:20532;j=c[j>>2]|0;d=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2];c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=d;c[h+16>>2]=b;Uw(a,34598,h);eA(c[g>>2]|0,c[f>>2]|0);i=e;return}function xC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;q=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=c[c[l>>2]>>2];do if(!(c[n>>2]&(c[n>>2]|0)-1)){c[p>>2]=(c[n>>2]|0)==0?1:c[n>>2]<<1;d=_(c[p>>2]|0,c[k>>2]|0)|0;c[o>>2]=Kw(c[h>>2]|0,c[j>>2]|0,d,((d|0)<0)<<31>>31)|0;if(c[o>>2]|0){c[j>>2]=c[o>>2];break}c[c[m>>2]>>2]=-1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}while(0);c[q>>2]=c[j>>2];d=_(c[n>>2]|0,c[k>>2]|0)|0;tR((c[q>>2]|0)+d|0,0,c[k>>2]|0)|0;c[c[m>>2]>>2]=c[n>>2];q=c[l>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[j>>2];q=c[g>>2]|0;i=r;return q|0}function yC(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;p=q+4|0;o=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[p>>2]=0;if(c[(c[c[h>>2]>>2]|0)+24>>2]&8388608)c[p>>2]=lx(c[h>>2]|0,c[j>>2]|0)|0;c[o>>2]=c[p>>2];while(1){if(!(c[o>>2]|0))break;if((d[(c[o>>2]|0)+8>>0]|0|0)==(c[k>>2]|0)?(TF(c[(c[o>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)c[n>>2]=c[n>>2]|(d[(c[o>>2]|0)+9>>0]|0);c[o>>2]=c[(c[o>>2]|0)+32>>2]}if(!(c[m>>2]|0)){a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}c[c[m>>2]>>2]=c[n>>2];a=c[n>>2]|0;a=(a|0)!=0;b=c[p>>2]|0;b=a?b:0;i=q;return b|0}function zC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(((d[(c[h>>2]|0)+42>>0]|0)&16|0)!=0?(c[(c[c[(Gx(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0)==0:0))m=3;do if((m|0)==3){if((((d[(c[h>>2]|0)+42>>0]|0)&1|0)!=0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[j>>2]|0)==0?(c[(c[h>>2]|0)+12>>2]|0)!=0:0){m=c[g>>2]|0;c[l>>2]=c[c[h>>2]>>2];Ch(m,35765,l);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ch(m,35736,k);c[f>>2]=1;m=c[f>>2]|0;i=n;return m|0}function AC(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+89|0;a[b>>0]=a[b>>0]&-5|4;i=d;return}function BC(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+128|0;u=O+108|0;v=O+104|0;w=O+100|0;l=O+96|0;r=O+92|0;x=O+88|0;z=O+84|0;n=O+80|0;I=O+76|0;J=O+72|0;H=O+68|0;o=O+64|0;C=O+60|0;D=O+56|0;F=O+52|0;E=O+48|0;y=O+44|0;s=O+40|0;A=O+36|0;B=O+32|0;M=O+28|0;t=O+24|0;q=O+20|0;K=O+16|0;L=O+12|0;m=O+8|0;p=O+4|0;G=O+112|0;N=O;c[v>>2]=f;c[w>>2]=g;c[l>>2]=h;c[r>>2]=j;c[x>>2]=k;c[z>>2]=c[c[v>>2]>>2];c[A>>2]=0;c[B>>2]=0;c[q>>2]=0;if(!(c[l>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[(c[v>>2]|0)+536>>2]|0)==0?(c[(c[l>>2]|0)+64>>2]|0)==0:0){if(lx(c[v>>2]|0,c[w>>2]|0)|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[r>>2]|0)==10){if((b[(c[w>>2]|0)+32>>1]|0)>=0)c[r>>2]=d[(c[w>>2]|0)+43>>0];if((c[r>>2]|0)==10)c[r>>2]=2}if((c[c[(c[l>>2]|0)+28>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[(c[l>>2]|0)+28>>2]|0)+8+20>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+32>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+44>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+36>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+56>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+48>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[l>>2]|0)+8>>2]&1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[n>>2]=c[c[l>>2]>>2];if((c[c[n>>2]>>2]|0)!=1){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((d[c[c[(c[n>>2]|0)+4>>2]>>2]>>0]|0)!=158){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[o>>2]=(c[(c[l>>2]|0)+28>>2]|0)+8;c[I>>2]=ex(c[v>>2]|0,0,c[o>>2]|0)|0;if(!(c[I>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((c[I>>2]|0)==(c[w>>2]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[I>>2]|0)+42>>0]&32|0)==0|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(d[(c[I>>2]|0)+42>>0]&16){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if(c[(c[I>>2]|0)+12>>2]|0){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+34>>1]|0)!=(b[(c[I>>2]|0)+34>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}if((b[(c[w>>2]|0)+32>>1]|0)!=(b[(c[I>>2]|0)+32>>1]|0)){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[C>>2]=0;a:while(1){if((c[C>>2]|0)>=(b[(c[w>>2]|0)+34>>1]|0)){l=64;break}c[m>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<4);c[p>>2]=(c[(c[I>>2]|0)+4>>2]|0)+(c[C>>2]<<4);if((a[(c[m>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){l=52;break}if(Td(c[(c[m>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){l=54;break}if((d[(c[m>>2]|0)+12>>0]|0)!=0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){l=57;break}do if((c[C>>2]|0)>0){if(((c[(c[m>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){l=62;break a}if(!(c[(c[m>>2]|0)+4>>2]|0))break;if(HQ(c[(c[(c[m>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){l=62;break a}}while(0);c[C>>2]=(c[C>>2]|0)+1}if((l|0)==52){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==54){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==57){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==62){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else if((l|0)==64){c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;if(d[(c[H>>2]|0)+54>>0]|0)c[q>>2]=1;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(VF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}if(!(c[J>>2]|0)){l=73;break}c[H>>2]=c[(c[H>>2]|0)+20>>2]}if((l|0)==73){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}do if(c[(c[w>>2]|0)+24>>2]|0){if(!(wy(c[(c[I>>2]|0)+24>>2]|0,c[(c[w>>2]|0)+24>>2]|0,-1)|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);do if(c[(c[z>>2]|0)+24>>2]&524288){if(!(c[(c[w>>2]|0)+16>>2]|0))break;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}while(0);if(c[(c[z>>2]|0)+24>>2]&128){c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}c[D>>2]=Fh(c[z>>2]|0,c[(c[I>>2]|0)+64>>2]|0)|0;c[M>>2]=Vw(c[v>>2]|0)|0;hx(c[v>>2]|0,c[D>>2]|0);p=(c[v>>2]|0)+72|0;h=c[p>>2]|0;c[p>>2]=h+1;c[F>>2]=h;h=(c[v>>2]|0)+72|0;p=c[h>>2]|0;c[h>>2]=p+1;c[E>>2]=p;c[t>>2]=CC(c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[K>>2]=aA(c[v>>2]|0)|0;c[L>>2]=aA(c[v>>2]|0)|0;Fz(c[v>>2]|0,c[E>>2]|0,c[x>>2]|0,c[w>>2]|0,55);do if(!(c[(c[z>>2]|0)+24>>2]&134217728)){if((b[(c[w>>2]|0)+32>>1]|0)<0){if(!((c[q>>2]|0)!=0?1:(c[(c[w>>2]|0)+8>>2]|0)!=0))l=87}else if(!(c[q>>2]|0))l=87;if((l|0)==87?!((c[r>>2]|0)!=2&(c[r>>2]|0)!=1):0)break;c[y>>2]=Xw(c[M>>2]|0,108,c[E>>2]|0,0)|0;c[A>>2]=cx(c[M>>2]|0,13)|0;Lz(c[M>>2]|0,c[y>>2]|0)}while(0);l=c[v>>2]|0;if(!(d[(c[I>>2]|0)+42>>0]&32)){Fz(l,c[F>>2]|0,c[D>>2]|0,c[I>>2]|0,54);c[B>>2]=Xw(c[M>>2]|0,108,c[F>>2]|0,0)|0;do if((b[(c[w>>2]|0)+32>>1]|0)<0){l=c[M>>2]|0;if(!(c[(c[w>>2]|0)+8>>2]|0)){c[y>>2]=Xw(l,74,c[E>>2]|0,c[L>>2]|0)|0;break}else{c[y>>2]=Xw(l,103,c[F>>2]|0,c[L>>2]|0)|0;break}}else{c[y>>2]=Xw(c[M>>2]|0,103,c[F>>2]|0,c[L>>2]|0)|0;c[s>>2]=$w(c[M>>2]|0,70,c[E>>2]|0,0,c[L>>2]|0)|0;JE(c[v>>2]|0,c[r>>2]|0,c[w>>2]|0);Lz(c[M>>2]|0,c[s>>2]|0);IC(c[v>>2]|0,c[t>>2]|0,c[L>>2]|0)}while(0);Xw(c[M>>2]|0,102,c[F>>2]|0,c[K>>2]|0)|0;_w(c[M>>2]|0,75,c[E>>2]|0,c[K>>2]|0,c[L>>2]|0,c[c[w>>2]>>2]|0,0)|0;Hh(c[M>>2]|0,11);Xw(c[M>>2]|0,7,c[F>>2]|0,c[y>>2]|0)|0;Xw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Xw(c[M>>2]|0,61,c[E>>2]|0,0)|0}else{Ez(l,c[x>>2]|0,c[(c[w>>2]|0)+28>>2]|0,1,c[c[w>>2]>>2]|0);Ez(c[v>>2]|0,c[D>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0)}c[H>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;a[G>>0]=0;c[J>>2]=c[(c[I>>2]|0)+8>>2];while(1){if(!(c[J>>2]|0))break;if(VF(c[H>>2]|0,c[J>>2]|0)|0)break;c[J>>2]=c[(c[J>>2]|0)+20>>2]}$w(c[M>>2]|0,54,c[F>>2]|0,c[(c[J>>2]|0)+44>>2]|0,c[D>>2]|0)|0;Gz(c[v>>2]|0,c[J>>2]|0);$w(c[M>>2]|0,55,c[E>>2]|0,c[(c[H>>2]|0)+44>>2]|0,c[x>>2]|0)|0;Gz(c[v>>2]|0,c[H>>2]|0);Hh(c[M>>2]|0,1);c[y>>2]=Xw(c[M>>2]|0,108,c[F>>2]|0,0)|0;Xw(c[M>>2]|0,101,c[F>>2]|0,c[K>>2]|0)|0;do if(c[(c[z>>2]|0)+24>>2]&134217728){c[C>>2]=0;while(1){if((c[C>>2]|0)>=(e[(c[J>>2]|0)+52>>1]|0))break;c[N>>2]=c[(c[(c[J>>2]|0)+32>>2]|0)+(c[C>>2]<<2)>>2];if(Td(35343,c[N>>2]|0)|0)break;c[C>>2]=(c[C>>2]|0)+1}if((c[C>>2]|0)!=(e[(c[J>>2]|0)+52>>1]|0))break;a[G>>0]=16;$w(c[M>>2]|0,105,c[E>>2]|0,0,-1)|0}while(0);do if(d[(c[I>>2]|0)+42>>0]&32){if((a[(c[H>>2]|0)+55>>0]&3|0)!=2)break;a[G>>0]=d[G>>0]|1}while(0);$w(c[M>>2]|0,110,c[E>>2]|0,c[K>>2]|0,1)|0;Hh(c[M>>2]|0,a[G>>0]|0);Xw(c[M>>2]|0,7,c[F>>2]|0,(c[y>>2]|0)+1|0)|0;Lz(c[M>>2]|0,c[y>>2]|0);Xw(c[M>>2]|0,61,c[F>>2]|0,0)|0;Xw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[B>>2]|0)Lz(c[M>>2]|0,c[B>>2]|0);eA(c[v>>2]|0,c[L>>2]|0);eA(c[v>>2]|0,c[K>>2]|0);if(c[A>>2]|0){Xw(c[M>>2]|0,21,0,0)|0;Lz(c[M>>2]|0,c[A>>2]|0);Xw(c[M>>2]|0,61,c[E>>2]|0,0)|0;c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}else{c[u>>2]=1;N=c[u>>2]|0;i=O;return N|0}}}c[u>>2]=0;N=c[u>>2]|0;i=O;return N|0}function CC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=0;if((d[(c[j>>2]|0)+42>>0]|0)&8){b=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[m>>2]=b;c[l>>2]=c[(c[m>>2]|0)+412>>2];while(1){if(c[l>>2]|0)a=(c[(c[l>>2]|0)+4>>2]|0)!=(c[j>>2]|0);else a=0;b=c[l>>2]|0;if(!a)break;c[l>>2]=c[b>>2]}do if(!b){c[l>>2]=Lw(c[c[g>>2]>>2]|0,16,0)|0;if(c[l>>2]|0){c[c[l>>2]>>2]=c[(c[m>>2]|0)+412>>2];c[(c[m>>2]|0)+412>>2]=c[l>>2];c[(c[l>>2]|0)+4>>2]=c[j>>2];c[(c[l>>2]|0)+8>>2]=c[h>>2];h=(c[m>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[m>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[(c[l>>2]|0)+12>>2]=j;m=(c[m>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}while(0);c[k>>2]=c[(c[l>>2]|0)+12>>2]}c[f>>2]=c[k>>2];m=c[f>>2]|0;i=n;return m|0}function DC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;Dz(c[f>>2]|0,17,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+24>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+24>>2]|0)+60>>2]=0;i=e;return}function EC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+40|0;f=r+36|0;g=r+32|0;h=r+28|0;p=r+24|0;j=r+20|0;k=r+16|0;n=r+12|0;m=r+8|0;l=r+4|0;o=r;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[p>>2]=Vw(c[f>>2]|0)|0;c[k>>2]=Hz(c[p>>2]|0)|0;if((d[(c[h>>2]|0)+42>>0]|0)&16)f=Gx(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;else f=0;c[n>>2]=f;c[j>>2]=1;a:while(1){if((c[j>>2]|0)>=(c[k>>2]|0)){f=18;break}c[m>>2]=Sz(c[p>>2]|0,c[j>>2]|0)|0;b:do if((d[c[m>>2]>>0]|0|0)==54?(c[(c[m>>2]|0)+12>>2]|0)==(c[g>>2]|0):0){c[o>>2]=c[(c[m>>2]|0)+8>>2];if((c[o>>2]|0)==(c[(c[h>>2]|0)+28>>2]|0)){f=8;break a}c[l>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break b;if((c[o>>2]|0)==(c[(c[l>>2]|0)+44>>2]|0)){f=12;break a}c[l>>2]=c[(c[l>>2]|0)+20>>2]}}while(0);if((d[c[m>>2]>>0]|0|0)==152?(c[(c[m>>2]|0)+16>>2]|0)==(c[n>>2]|0):0){f=16;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==8){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==12){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==16){c[q>>2]=1;q=c[q>>2]|0;i=r;return q|0}else if((f|0)==18){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}return 0}function FC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;k=e+16|0;g=e+12|0;h=e+8|0;j=e+4|0;f=e;c[k>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[(c[k>>2]|0)+8>>2];DA(c[k>>2]|0,c[g>>2]|0,c[h>>2]|0);a=(c[k>>2]|0)+76|0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[f>>2]=d;Xw(c[j>>2]|0,30,c[h>>2]|0,c[f>>2]|0)|0;QA(c[g>>2]|0,c[f>>2]|0);i=e;return}function GC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;k=n+12|0;l=n+8|0;m=n+4|0;j=n;c[g>>2]=d;c[h>>2]=e;c[k>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[j>>2]=CA(c[g>>2]|0)|0;d=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=Ah(0,d,((d|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){lh(c[j>>2]|0);i=n;return}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[l>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[l>>2]<<4)+13>>0]|0;c[l>>2]=(c[l>>2]|0)+1}do{d=c[l>>2]|0;c[l>>2]=d+-1;a[(c[m>>2]|0)+d>>0]=0;if((c[l>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[l>>2]=Jf(c[m>>2]|0)|0;if(!(c[l>>2]|0)){i=n;return}g=c[g>>2]|0;if(c[k>>2]|0){_w(g,48,c[k>>2]|0,c[l>>2]|0,0,c[m>>2]|0,c[l>>2]|0)|0;i=n;return}else{Kh(g,-1,c[m>>2]|0,c[l>>2]|0);i=n;return}}function HC(a,b,e,f,g,h,j,k,l){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=i;i=i+48|0;m=v+36|0;w=v+32|0;n=v+28|0;o=v+24|0;p=v+20|0;q=v+16|0;r=v+12|0;s=v+8|0;t=v+4|0;u=v;c[m>>2]=a;c[w>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=c[w>>2];while(1){if(!(c[u>>2]|0))break;if(((d[(c[u>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?(d[(c[u>>2]|0)+9>>0]|0|0)==(c[p>>2]|0):0)?(TF(c[(c[u>>2]|0)+16>>2]|0,c[o>>2]|0)|0)!=0:0)SE(c[m>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);c[u>>2]=c[(c[u>>2]|0)+32>>2]}i=v;return}function IC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}Xw(c[(c[e>>2]|0)+8>>2]|0,137,c[f>>2]|0,c[g>>2]|0)|0;i=h;return}function JC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((d[(c[f>>2]|0)+23>>0]|0|0)!=0?(LA(c[g>>2]|0)|0)!=0:0){eB(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);i=j;return}DA(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);i=j;return}function KC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;d=k+16|0;h=k+12|0;f=k+8|0;g=k+4|0;e=k;c[l>>2]=a;c[d>>2]=b;a=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)a=c[a+416>>2]|0;c[h>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[h>>2]|0)+456>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[h>>2]|0)+524>>2]|0)+(c[f>>2]<<2)>>2]|0)){j=10;break}c[f>>2]=(c[f>>2]|0)+1}if((j|0)==10){i=k;return}c[g>>2]=(c[(c[h>>2]|0)+456>>2]|0)+1<<2;l=c[g>>2]|0;c[e>>2]=Md(c[(c[h>>2]|0)+524>>2]|0,l,((l|0)<0)<<31>>31)|0;if(c[e>>2]|0){c[(c[h>>2]|0)+524>>2]=c[e>>2];j=c[d>>2]|0;g=(c[h>>2]|0)+456|0;l=c[g>>2]|0;c[g>>2]=l+1;c[(c[(c[h>>2]|0)+524>>2]|0)+(l<<2)>>2]=j;i=k;return}else{lh(c[c[h>>2]>>2]|0);i=k;return}} +function qE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0;ga=i;i=i+224|0;l=ga+196|0;m=ga+192|0;n=ga+188|0;j=ga+184|0;$=ga+180|0;P=ga+176|0;K=ga+172|0;da=ga+40|0;aa=ga+32|0;t=ga+24|0;Z=ga+168|0;E=ga+164|0;F=ga+160|0;G=ga+156|0;W=ga+152|0;q=ga+148|0;s=ga+208|0;k=ga+16|0;x=ga+144|0;w=ga+140|0;L=ga+136|0;X=ga+132|0;H=ga+204|0;Q=ga+128|0;J=ga+124|0;r=ga+202|0;y=ga+120|0;O=ga+116|0;u=ga+112|0;R=ga+108|0;z=ga+104|0;M=ga+100|0;_=ga+96|0;S=ga+92|0;T=ga+88|0;A=ga+84|0;B=ga+80|0;fa=ga+76|0;ea=ga+200|0;v=ga+72|0;o=ga+207|0;p=ga+206|0;I=ga+68|0;D=ga+64|0;Y=ga+60|0;N=ga+56|0;V=ga+52|0;ba=ga+8|0;ca=ga;U=ga+48|0;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=c[c[m>>2]>>2];g=t;c[g>>2]=0;c[g+4>>2]=0;c[Z>>2]=0;c[E>>2]=0;c[F>>2]=0;c[W>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[W>>2]>>2];if(a[(c[q>>2]|0)+69>>0]|0){i=ga;return}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);c[P>>2]=(c[j>>2]|0)+68;c[K>>2]=c[c[$>>2]>>2];g=OD(c[P>>2]|0,c[(c[K>>2]|0)+12>>2]|0)|0;j=da;c[j>>2]=g;c[j+4>>2]=C;c[G>>2]=d[c[K>>2]>>0];do if((c[G>>2]|0)==75){h=c[P>>2]|0;f=(c[K>>2]|0)+20|0;if(c[(c[K>>2]|0)+4>>2]&2048){g=PD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}else{g=pD(h,c[f>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}}else if((c[G>>2]|0)==76){j=(c[$>>2]|0)+32|0;c[j>>2]=0;c[j+4>>2]=0;break}else{g=OD(c[P>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;j=(c[$>>2]|0)+32|0;c[j>>2]=g;c[j+4>>2]=C;break}while(0);g=OD(c[P>>2]|0,c[K>>2]|0)|0;j=aa;c[j>>2]=g;c[j+4>>2]=C;if(c[(c[K>>2]|0)+4>>2]&1){h=tD(c[P>>2]|0,b[(c[K>>2]|0)+36>>1]|0)|0;f=k;c[f>>2]=h;c[f+4>>2]=C;f=k;h=aa;g=c[h+4>>2]|c[f+4>>2];j=aa;c[j>>2]=c[h>>2]|c[f>>2];c[j+4>>2]=g;j=k;j=oR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=t;c[k>>2]=j;c[k+4>>2]=C}j=aa;h=c[j+4>>2]|0;k=(c[$>>2]|0)+40|0;c[k>>2]=c[j>>2];c[k+4>>2]=h;c[(c[$>>2]|0)+8>>2]=-1;c[(c[$>>2]|0)+4>>2]=-1;b[(c[$>>2]|0)+18>>1]=0;k=(rE(c[G>>2]|0)|0)!=0;h=c[K>>2]|0;a:do if(k){c[L>>2]=Zx(c[h+12>>2]|0)|0;c[X>>2]=Zx(c[(c[K>>2]|0)+16>>2]|0)|0;O=(c[$>>2]|0)+32|0;R=da;b[H>>1]=((c[O>>2]&c[R>>2]|0)==0?(c[O+4>>2]&c[R+4>>2]|0)==0:0)?8191:2048;R=da;if(sE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[L>>2]|0,x,w)|0){c[(c[$>>2]|0)+8>>2]=c[x>>2];c[(c[$>>2]|0)+12>>2]=c[w>>2];R=(tE(c[G>>2]|0)|0)&65535;b[(c[$>>2]|0)+18>>1]=R&e[H>>1]}if((c[G>>2]|0)==73){R=(c[$>>2]|0)+20|0;b[R>>1]=e[R>>1]|2048}if((c[X>>2]|0)!=0?(R=(c[$>>2]|0)+32|0,(sE(c[l>>2]|0,c[R>>2]|0,c[R+4>>2]|0,c[X>>2]|0,x,w)|0)!=0):0){b[r>>1]=0;if((c[(c[$>>2]|0)+8>>2]|0)>=0){c[J>>2]=ty(c[q>>2]|0,c[K>>2]|0,0)|0;if(a[(c[q>>2]|0)+69>>0]|0){dv(c[q>>2]|0,c[J>>2]|0);i=ga;return}c[y>>2]=uE(c[m>>2]|0,c[J>>2]|0,3)|0;if(!(c[y>>2]|0)){i=ga;return}c[Q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);vE(c[m>>2]|0,c[y>>2]|0,c[n>>2]|0);if((c[G>>2]|0)==73){X=(c[Q>>2]|0)+20|0;b[X>>1]=e[X>>1]|2048}c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);X=(c[$>>2]|0)+20|0;b[X>>1]=e[X>>1]|8;if(wE(c[W>>2]|0,c[J>>2]|0)|0){X=(c[$>>2]|0)+18|0;b[X>>1]=e[X>>1]|2048;b[r>>1]=2048}}else{c[J>>2]=c[K>>2];c[Q>>2]=c[$>>2]}xE(c[W>>2]|0,c[J>>2]|0);c[(c[Q>>2]|0)+8>>2]=c[x>>2];c[(c[Q>>2]|0)+12>>2]=c[w>>2];O=da;R=t;da=c[O+4>>2]|c[R+4>>2];X=(c[Q>>2]|0)+32|0;c[X>>2]=c[O>>2]|c[R>>2];c[X+4>>2]=da;X=aa;aa=c[X+4>>2]|0;da=(c[Q>>2]|0)+40|0;c[da>>2]=c[X>>2];c[da+4>>2]=aa;da=(tE(d[c[J>>2]>>0]|0)|0)&65535;b[(c[Q>>2]|0)+18>>1]=da+(e[r>>1]|0)&e[H>>1]}}else{if((d[h>>0]|0)==74?(d[(c[m>>2]|0)+8>>0]|0)==72:0){c[O>>2]=c[(c[K>>2]|0)+20>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break a;X=c[W>>2]|0;aa=d[35341+(c[u>>2]|0)>>0]|0;da=ty(c[q>>2]|0,c[(c[K>>2]|0)+12>>2]|0,0)|0;c[R>>2]=xv(X,aa,da,ty(c[q>>2]|0,c[(c[(c[O>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)>>2]|0,0)|0,0)|0;yE(c[R>>2]|0,c[K>>2]|0);c[z>>2]=uE(c[m>>2]|0,c[R>>2]|0,3)|0;qE(c[l>>2]|0,c[m>>2]|0,c[z>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);vE(c[m>>2]|0,c[z>>2]|0,c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+1}}if((d[c[K>>2]>>0]|0)==71){zE(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0)}}while(0);if((d[(c[m>>2]|0)+8>>0]|0)==72?(AE(c[W>>2]|0,c[K>>2]|0,Z,E,F)|0)!=0:0){b[ea>>1]=259;c[M>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[_>>2]=ty(c[q>>2]|0,c[Z>>2]|0,0)|0;b:do if((c[F>>2]|0)!=0?(a[(c[c[W>>2]>>2]|0)+69>>0]|0)==0:0){ea=(c[$>>2]|0)+20|0;b[ea>>1]=e[ea>>1]|1024;c[v>>2]=0;while(1){ea=a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]|0;a[o>>0]=ea;if(!(ea<<24>>24))break b;a[(c[(c[Z>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[o>>0]&~(d[19011+(d[o>>0]|0)>>0]&32);a[(c[(c[_>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=a[18221+(d[o>>0]|0)>>0]|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);if(!(a[(c[q>>2]|0)+69>>0]|0)){ea=(Jf(c[(c[_>>2]|0)+8>>2]|0)|0)-1|0;c[I>>2]=(c[(c[_>>2]|0)+8>>2]|0)+ea;a[p>>0]=a[c[I>>2]>>0]|0;if(c[F>>2]|0){if((d[p>>0]|0)==64)c[E>>2]=0;a[p>>0]=a[18221+(d[p>>0]|0)>>0]|0}a[c[I>>2]>>0]=(d[p>>0]|0)+1}c[fa>>2]=(c[F>>2]|0)!=0?21037:35343;c[S>>2]=ty(c[q>>2]|0,c[M>>2]|0,0)|0;da=c[W>>2]|0;ea=Hy(c[W>>2]|0,c[S>>2]|0,c[fa>>2]|0)|0;c[S>>2]=xv(da,83,ea,c[Z>>2]|0,0)|0;yE(c[S>>2]|0,c[K>>2]|0);c[A>>2]=uE(c[m>>2]|0,c[S>>2]|0,259)|0;qE(c[l>>2]|0,c[m>>2]|0,c[A>>2]|0);c[T>>2]=ty(c[q>>2]|0,c[M>>2]|0,0)|0;ea=c[W>>2]|0;fa=Hy(c[W>>2]|0,c[T>>2]|0,c[fa>>2]|0)|0;c[T>>2]=xv(ea,82,fa,c[_>>2]|0,0)|0;yE(c[T>>2]|0,c[K>>2]|0);c[B>>2]=uE(c[m>>2]|0,c[T>>2]|0,259)|0;qE(c[l>>2]|0,c[m>>2]|0,c[B>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);if(c[E>>2]|0){vE(c[m>>2]|0,c[A>>2]|0,c[n>>2]|0);vE(c[m>>2]|0,c[B>>2]|0,c[n>>2]|0)}}if((BE(c[K>>2]|0,s)|0)!=0?(c[Y>>2]=c[c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]>>2],c[N>>2]=c[(c[(c[(c[K>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],ea=OD(c[P>>2]|0,c[Y>>2]|0)|0,fa=ca,c[fa>>2]=ea,c[fa+4>>2]=C,fa=OD(c[P>>2]|0,c[N>>2]|0)|0,ea=ba,c[ea>>2]=fa,c[ea+4>>2]=C,ea=ca,fa=ba,(c[ea>>2]&c[fa>>2]|0)==0?(c[ea+4>>2]&c[fa+4>>2]|0)==0:0):0){fa=c[W>>2]|0;c[U>>2]=xv(fa,51,0,ty(c[q>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[D>>2]=uE(c[m>>2]|0,c[U>>2]|0,3)|0;c[V>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[D>>2]|0)*48|0);fa=ca;ea=c[fa+4>>2]|0;da=(c[V>>2]|0)+32|0;c[da>>2]=c[fa>>2];c[da+4>>2]=ea;c[(c[V>>2]|0)+8>>2]=c[(c[N>>2]|0)+28>>2];c[(c[V>>2]|0)+12>>2]=b[(c[N>>2]|0)+32>>1];b[(c[V>>2]|0)+18>>1]=64;a[(c[V>>2]|0)+23>>0]=a[s>>0]|0;vE(c[m>>2]|0,c[D>>2]|0,c[n>>2]|0);c[$>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[n>>2]|0)*48|0);da=(c[$>>2]|0)+20|0;b[da>>1]=e[da>>1]|8;da=(c[$>>2]|0)+40|0;ea=c[da+4>>2]|0;fa=(c[V>>2]|0)+40|0;c[fa>>2]=c[da>>2];c[fa+4>>2]=ea}da=t;fa=(c[$>>2]|0)+32|0;ca=fa;ea=c[ca+4>>2]|c[da+4>>2];c[fa>>2]=c[ca>>2]|c[da>>2];c[fa+4>>2]=ea;i=ga;return}function rE(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=75?!((c[b>>2]|0)>=79&(c[b>>2]|0)<=83|(c[b>>2]|0)==76):0)b=(c[b>>2]|0)==73;else b=1;i=d;return b&1|0}function sE(a,f,g,h,j,k){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;q=u+36|0;l=u+32|0;m=u;n=u+28|0;r=u+24|0;s=u+20|0;p=u+16|0;o=u+12|0;t=u+8|0;c[l>>2]=a;a=m;c[a>>2]=f;c[a+4>>2]=g;c[n>>2]=h;c[r>>2]=j;c[s>>2]=k;if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}j=m;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}j=m;a=c[j>>2]|0;j=c[j+4>>2]|0;k=m;k=oR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((a&k|0)!=0|(j&C|0)!=0){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}c[o>>2]=0;while(1){j=m;k=c[j+4>>2]|0;f=c[o>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[j>>2]|0)>>>0>1))break;c[o>>2]=f+1;k=m;k=qR(c[k>>2]|0,c[k+4>>2]|0,1)|0;j=m;c[j>>2]=k;c[j+4>>2]=C}c[t>>2]=c[(c[l>>2]|0)+8+(f*72|0)+44>>2];c[p>>2]=c[(c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[p>>2]|0)){f=20;break}b:do if(c[(c[p>>2]|0)+40>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break b;if((b[(c[(c[p>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(vy(c[n>>2]|0,c[(c[(c[(c[p>>2]|0)+40>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){f=17;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[p>>2]=c[(c[p>>2]|0)+20>>2]}if((f|0)==17){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[q>>2]=1;t=c[q>>2]|0;i=u;return t|0}else if((f|0)==20){c[q>>2]=0;t=c[q>>2]|0;i=u;return t|0}return 0}function tE(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=75){if((c[d>>2]|0)==76){b[e>>1]=256;break}if((c[d>>2]|0)==73){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-79;break}}else b[e>>1]=1;while(0);i=f;return b[e>>1]|0}function uE(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+28|0;o=p+12|0;m=p+8|0;n=p+4|0;l=p;c[h>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[h>>2]|0)+12>>2]|0)>=(c[(c[h>>2]|0)+16>>2]|0)){c[n>>2]=c[(c[h>>2]|0)+20>>2];c[l>>2]=c[c[c[c[h>>2]>>2]>>2]>>2];f=Lw(c[l>>2]|0,(c[(c[h>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[h>>2]|0)+20>>2]=f;if(c[(c[h>>2]|0)+20>>2]|0){rR(c[(c[h>>2]|0)+20>>2]|0,c[n>>2]|0,(c[(c[h>>2]|0)+12>>2]|0)*48|0)|0;if((c[n>>2]|0)!=((c[h>>2]|0)+24|0))Tf(c[l>>2]|0,c[n>>2]|0);f=((fu(c[l>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[h>>2]|0)+16>>2]=f;tR((c[(c[h>>2]|0)+20>>2]|0)+((c[(c[h>>2]|0)+12>>2]|0)*48|0)|0,0,((c[(c[h>>2]|0)+16>>2]|0)-(c[(c[h>>2]|0)+12>>2]|0)|0)*48|0)|0;break}if((e[k>>1]|0)&1)dv(c[l>>2]|0,c[j>>2]|0);c[(c[h>>2]|0)+20>>2]=c[n>>2];c[g>>2]=0;f=c[g>>2]|0;i=p;return f|0}while(0);a=(c[h>>2]|0)+12|0;f=c[a>>2]|0;c[a>>2]=f+1;c[m>>2]=f;c[o>>2]=(c[(c[h>>2]|0)+20>>2]|0)+(f*48|0);if((c[j>>2]|0)!=0?(c[(c[j>>2]|0)+4>>2]&262144|0)!=0:0){f=c[(c[j>>2]|0)+28>>2]|0;f=((Kj(f,((f|0)<0)<<31>>31)|0)<<16>>16)-270&65535;b[(c[o>>2]|0)+16>>1]=f}else b[(c[o>>2]|0)+16>>1]=1;f=Zx(c[j>>2]|0)|0;c[c[o>>2]>>2]=f;b[(c[o>>2]|0)+20>>1]=b[k>>1]|0;c[(c[o>>2]|0)+24>>2]=c[h>>2];c[(c[o>>2]|0)+4>>2]=-1;c[g>>2]=c[m>>2];f=c[g>>2]|0;i=p;return f|0}function vE(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+8|0;k=g+4|0;h=g;c[j>>2]=d;c[k>>2]=e;c[h>>2]=f;c[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+4>>2]=c[h>>2];b[(c[(c[j>>2]|0)+20>>2]|0)+((c[k>>2]|0)*48|0)+16>>1]=b[(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+16>>1]|0;d=(c[(c[j>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+22|0;a[d>>0]=(a[d>>0]|0)+1<<24>>24;i=g;return}function wE(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;m=p+20|0;j=p+16|0;k=p+12|0;g=p+25|0;h=p+24|0;l=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;if(e[(c[c[j>>2]>>2]|0)+64>>1]&512){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if((d[c[k>>2]>>0]|0)!=79?(d[c[k>>2]>>0]|0)!=73:0){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}if(c[(c[k>>2]|0)+4>>2]&1){c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}a[g>>0]=Tx(c[(c[k>>2]|0)+12>>2]|0)|0;a[h>>0]=Tx(c[(c[k>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;i=p;return o|0}while(0);c[l>>2]=$A(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if((c[l>>2]|0)!=0?(ig(c[c[l>>2]>>2]|0,35343)|0)!=0:0){c[l>>2]=Ux(c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[n>>2]=g;c[l>>2]=Ux(c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(c[l>>2]|0)g=c[c[l>>2]>>2]|0;else g=0;c[o>>2]=g;c[m>>2]=(ig(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;i=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;i=p;return o|0}function xE(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+16|0;h=m+8|0;j=m+4|0;k=m+14|0;n=m+12|0;l=m;c[h>>2]=f;c[j>>2]=g;b[k>>1]=c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[k>>1]|0)==(e[n>>1]|0)){if(b[k>>1]|0){n=(c[(c[j>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(Ux(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0){n=(c[(c[j>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[l>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+12>>2]=c[l>>2];if((d[c[j>>2]>>0]|0)<80){i=m;return}a[c[j>>2]>>0]=((d[c[j>>2]>>0]|0)-80^2)+80;i=m;return}function yE(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){i=g;return}a=(c[e>>2]|0)+4|0;c[a>>2]=c[a>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;i=g;return}function zE(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=i;i=i+160|0;w=V+156|0;x=V+152|0;y=V+148|0;T=V+144|0;R=V+140|0;D=V+136|0;S=V+132|0;L=V+128|0;E=V+124|0;Q=V+120|0;P=V+116|0;t=V+112|0;B=V+24|0;n=V+16|0;p=V+108|0;r=V+104|0;q=V+100|0;o=V+96|0;j=V+8|0;k=V;u=V+92|0;l=V+88|0;s=V+84|0;m=V+80|0;v=V+76|0;J=V+72|0;F=V+68|0;G=V+64|0;I=V+60|0;z=V+56|0;A=V+52|0;K=V+48|0;N=V+44|0;M=V+40|0;O=V+36|0;H=V+32|0;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[T>>2]=c[c[x>>2]>>2];c[R>>2]=c[c[T>>2]>>2];c[D>>2]=c[c[R>>2]>>2];c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);c[L>>2]=c[c[S>>2]>>2];g=rh(c[D>>2]|0,416,0)|0;c[t>>2]=g;c[(c[S>>2]|0)+12>>2]=g;if(!(c[t>>2]|0)){i=V;return}g=(c[S>>2]|0)+20|0;b[g>>1]=e[g>>1]|16;c[Q>>2]=c[t>>2];tR((c[Q>>2]|0)+24|0,0,384)|0;gD(c[Q>>2]|0,c[T>>2]|0);hD(c[Q>>2]|0,c[L>>2]|0,71);kD(c[w>>2]|0,c[Q>>2]|0);if(a[(c[D>>2]|0)+69>>0]|0){i=V;return}g=n;c[g>>2]=-1;c[g+4>>2]=-1;g=B;c[g>>2]=-1;c[g+4>>2]=-1;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){g=n;if(!((c[E>>2]|0)>=0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;do if(!(e[(c[P>>2]|0)+18>>1]&511)){g=B;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=Lw(c[D>>2]|0,408,0)|0;if(c[p>>2]|0){g=j;c[g>>2]=0;c[g+4>>2]=0;c[(c[P>>2]|0)+12>>2]=c[p>>2];g=(c[P>>2]|0)+20|0;b[g>>1]=e[g>>1]|32;b[(c[P>>2]|0)+18>>1]=1024;c[r>>2]=c[p>>2];tR((c[r>>2]|0)+24|0,0,384)|0;gD(c[r>>2]|0,c[c[x>>2]>>2]|0);hD(c[r>>2]|0,c[c[P>>2]>>2]|0,72);kD(c[w>>2]|0,c[r>>2]|0);c[(c[r>>2]|0)+4>>2]=c[x>>2];a:do if(!(a[(c[D>>2]|0)+69>>0]|0)){c[o>>2]=0;c[q>>2]=c[(c[r>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[r>>2]|0)+12>>2]|0))break a;if(rE(d[c[c[q>>2]>>2]>>0]|0)|0){h=tD((c[T>>2]|0)+68|0,c[(c[q>>2]|0)+8>>2]|0)|0;W=j;f=c[W+4>>2]|C;g=j;c[g>>2]=c[W>>2]|h;c[g+4>>2]=f}c[o>>2]=(c[o>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}}while(0);f=j;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g}}else if(!(e[(c[P>>2]|0)+20>>1]&8)){g=tD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0;W=k;c[W>>2]=g;c[W+4>>2]=C;if(e[(c[P>>2]|0)+20>>1]&2){c[u>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[(c[P>>2]|0)+4>>2]|0)*48|0);f=tD((c[T>>2]|0)+68|0,c[(c[u>>2]|0)+8>>2]|0)|0;h=k;g=c[h+4>>2]|C;W=k;c[W>>2]=c[h>>2]|f;c[W+4>>2]=g}f=k;h=n;g=c[h+4>>2]&c[f+4>>2];W=n;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;if(!(e[(c[P>>2]|0)+18>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{f=k;h=B;g=c[h+4>>2]&c[f+4>>2];W=B;c[W>>2]=c[h>>2]&c[f>>2];c[W+4>>2]=g;break}}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}f=n;g=c[f+4>>2]|0;W=(c[t>>2]|0)+408|0;c[W>>2]=c[f>>2];c[W+4>>2]=g;W=n;b[(c[S>>2]|0)+18>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=n;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[Q>>2]|0)+12>>2]|0)==2:0){c[l>>2]=0;c:while(1){g=c[(c[Q>>2]|0)+20>>2]|0;W=c[l>>2]|0;c[l>>2]=W+1;W=GE(g,W)|0;c[s>>2]=W;if(!W)break b;c[m>>2]=0;while(1){g=(c[(c[Q>>2]|0)+20>>2]|0)+48|0;W=c[m>>2]|0;c[m>>2]=W+1;W=GE(g,W)|0;c[v>>2]=W;if(!W)continue c;HE(c[w>>2]|0,c[x>>2]|0,c[s>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){i=V;return}c[J>>2]=0;c[F>>2]=-1;c[G>>2]=-1;c[I>>2]=0;c[I>>2]=0;while(1){if((c[I>>2]|0)>=2)break;if(!((c[J>>2]|0)!=0^1))break;c[P>>2]=c[(c[Q>>2]|0)+20>>2];c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;while(1){if((c[E>>2]|0)<0)break;W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]&-65;if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)?(W=B,v=c[W>>2]|0,W=c[W+4>>2]|0,g=tD((c[T>>2]|0)+68|0,c[(c[P>>2]|0)+8>>2]|0)|0,!((v&g|0)==0&(W&C|0)==0)):0){U=36;break}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}if((U|0)==36){U=0;c[F>>2]=c[(c[P>>2]|0)+12>>2];c[G>>2]=c[(c[P>>2]|0)+8>>2]}if((c[E>>2]|0)<0)break;c[J>>2]=1;while(1){if(!((c[E>>2]|0)>=0?(c[J>>2]|0)!=0:0))break;j=c[P>>2]|0;do if((c[(c[P>>2]|0)+8>>2]|0)!=(c[G>>2]|0)){W=j+20|0;b[W>>1]=e[W>>1]&-65}else{if((c[j+12>>2]|0)!=(c[F>>2]|0)){c[J>>2]=0;break}c[A>>2]=(Tx(c[(c[c[P>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[z>>2]=(Tx(c[(c[c[P>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if((c[A>>2]|0)!=0?(c[A>>2]|0)!=(c[z>>2]|0):0){c[J>>2]=0;break}W=(c[P>>2]|0)+20|0;b[W>>1]=e[W>>1]|64}while(0);c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[I>>2]=(c[I>>2]|0)+1}if(!(c[J>>2]|0)){i=V;return}c[N>>2]=0;c[M>>2]=0;c[E>>2]=(c[(c[Q>>2]|0)+12>>2]|0)-1;c[P>>2]=c[(c[Q>>2]|0)+20>>2];while(1){if((c[E>>2]|0)<0)break;if(e[(c[P>>2]|0)+20>>1]&64){c[K>>2]=ty(c[D>>2]|0,c[(c[c[P>>2]>>2]|0)+16>>2]|0,0)|0;c[N>>2]=Mv(c[c[T>>2]>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;c[M>>2]=c[(c[c[P>>2]>>2]|0)+12>>2]}c[E>>2]=(c[E>>2]|0)+-1;c[P>>2]=(c[P>>2]|0)+48}c[K>>2]=ty(c[D>>2]|0,c[M>>2]|0,0)|0;c[O>>2]=xv(c[R>>2]|0,75,c[K>>2]|0,0,0)|0;if(c[O>>2]|0){yE(c[O>>2]|0,c[L>>2]|0);c[(c[O>>2]|0)+20>>2]=c[N>>2];c[H>>2]=uE(c[x>>2]|0,c[O>>2]|0,3)|0;qE(c[w>>2]|0,c[x>>2]|0,c[H>>2]|0);c[S>>2]=(c[(c[x>>2]|0)+20>>2]|0)+((c[y>>2]|0)*48|0);vE(c[x>>2]|0,c[H>>2]|0,c[y>>2]|0)}else $u(c[D>>2]|0,c[N>>2]|0);b[(c[S>>2]|0)+18>>1]=4096;i=V;return}function AE(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=i;i=i+96|0;r=F+80|0;s=F+76|0;k=F+72|0;t=F+68|0;u=F+64|0;G=F+60|0;E=F+56|0;z=F+52|0;m=F+48|0;n=F+44|0;p=F+40|0;v=F+36|0;q=F+84|0;w=F+32|0;A=F+28|0;x=F+24|0;C=F+20|0;o=F+16|0;l=F+12|0;y=F+8|0;D=F+4|0;B=F;c[s>>2]=e;c[k>>2]=f;c[t>>2]=g;c[u>>2]=h;c[G>>2]=j;c[E>>2]=0;c[w>>2]=c[c[s>>2]>>2];c[A>>2]=0;if(!(CE(c[w>>2]|0,c[k>>2]|0,c[G>>2]|0,q)|0)){c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}c[n>>2]=c[(c[k>>2]|0)+20>>2];c[m>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+20>>2];if(((d[c[m>>2]>>0]|0)==152?((Tx(c[m>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[m>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[z>>2]=Zx(c[c[(c[n>>2]|0)+4>>2]>>2]|0)|0;c[x>>2]=d[c[z>>2]>>0];if((c[x>>2]|0)!=135){if((c[x>>2]|0)==97)c[E>>2]=c[(c[z>>2]|0)+8>>2]}else{c[o>>2]=c[(c[s>>2]|0)+480>>2];c[l>>2]=b[(c[z>>2]|0)+32>>1];c[A>>2]=DE(c[o>>2]|0,c[l>>2]|0,65)|0;if((c[A>>2]|0)!=0?(fe(c[A>>2]|0)|0)==3:0)c[E>>2]=ae(c[A>>2]|0)|0;EE(c[(c[s>>2]|0)+8>>2]|0,c[l>>2]|0)}do if(c[E>>2]|0){c[v>>2]=0;while(1){G=a[(c[E>>2]|0)+(c[v>>2]|0)>>0]|0;c[p>>2]=G;if(((G|0)!=0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)k=(c[p>>2]|0)!=(a[q+2>>0]|0);else k=0;l=c[v>>2]|0;if(!k)break;c[v>>2]=l+1}if((l|0)!=0?255!=(d[(c[E>>2]|0)+((c[v>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))k=(a[(c[E>>2]|0)+((c[v>>2]|0)+1)>>0]|0)==0;else k=0;c[c[u>>2]>>2]=k&1;c[y>>2]=Pv(c[w>>2]|0,97,c[E>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[v>>2]|0)>>0]=0;c[c[t>>2]>>2]=c[y>>2];if((c[x>>2]|0)!=135)break;c[D>>2]=c[(c[s>>2]|0)+8>>2];EE(c[D>>2]|0,b[(c[z>>2]|0)+32>>1]|0);if(!(c[c[u>>2]>>2]|0))break;if(!(a[(c[(c[z>>2]|0)+8>>2]|0)+1>>0]|0))break;c[B>>2]=aA(c[s>>2]|0)|0;EA(c[s>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;G=c[D>>2]|0;FE(G,(Hz(c[D>>2]|0)|0)-1|0,0);eA(c[s>>2]|0,c[B>>2]|0);break}c[E>>2]=0}while(0);c[C>>2]=(c[E>>2]|0)!=0&1;bh(c[A>>2]|0);c[r>>2]=c[C>>2];G=c[r>>2]|0;i=F;return G|0}c[r>>2]=0;G=c[r>>2]|0;i=F;return G|0}function BE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+64|0;k=n+56|0;h=n+52|0;l=n+48|0;m=n+16|0;g=n+8|0;f=n+4|0;j=n;c[h>>2]=b;c[l>>2]=e;c[m>>2]=c[1569];c[m+4>>2]=c[1570];c[m+8>>2]=c[1571];c[m+12>>2]=c[1572];c[m+16>>2]=c[1573];c[m+20>>2]=c[1574];c[m+24>>2]=c[1575];c[m+28>>2]=c[1576];if((d[c[h>>2]>>0]|0|0)!=151){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[g>>2]=c[(c[h>>2]|0)+20>>2];if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)==2:0){c[f>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];if((d[c[f>>2]>>0]|0|0)==152?((d[(c[(c[f>>2]|0)+44>>2]|0)+42>>0]|0)&16|0)!=0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=4){f=14;break}e=(ig(c[(c[h>>2]|0)+8>>2]|0,c[m+(c[j>>2]<<3)>>2]|0)|0)==0;b=c[j>>2]|0;if(e){f=12;break}c[j>>2]=b+1}if((f|0)==12){a[c[l>>2]>>0]=a[m+(b<<3)+4>>0]|0;c[k>>2]=1;m=c[k>>2]|0;i=n;return m|0}else if((f|0)==14){c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}function CE(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[l>>2]>>0]|0|0)==151?(c[(c[l>>2]|0)+20>>2]|0)!=0:0)?(c[c[(c[l>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=ii(c[k>>2]|0,c[(c[l>>2]|0)+8>>2]|0,2,1,0)|0;if((c[o>>2]|0)!=0?((e[(c[o>>2]|0)+2>>1]|0)&4|0)!=0:0){g=c[n>>2]|0;f=c[(c[o>>2]|0)+4>>2]|0;a[g>>0]=a[f>>0]|0;a[g+1>>0]=a[f+1>>0]|0;a[g+2>>0]=a[f+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[j>>2]=1;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}c[j>>2]=0;g=c[j>>2]|0;i=p;return g|0}function DE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+20|0;l=n+4|0;m=n;c[h>>2]=b;c[j>>2]=d;a[k>>0]=f;if((c[h>>2]|0)!=0?(c[l>>2]=(c[(c[h>>2]|0)+60>>2]|0)+(((c[j>>2]|0)-1|0)*40|0),0==((e[(c[l>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Xh(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){ih(c[m>>2]|0,c[l>>2]|0)|0;rx(c[m>>2]|0,a[k>>0]|0,1)}c[g>>2]=c[m>>2];b=c[g>>2]|0;i=n;return b|0}c[g>>2]=0;b=c[g>>2]|0;i=n;return b|0}function EE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+188>>2]=-1;i=f;return}else{a=(c[d>>2]|0)+188|0;c[a>>2]=c[a>>2]|1<<(c[e>>2]|0)-1;i=f;return}}function FE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Sz(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;i=e;return}function GE(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[f>>2]|0)+18>>1]|0|0)!=1024){c[d>>2]=(b|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;i=h;return g|0}if((b|0)<(c[(c[(c[f>>2]|0)+12>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function HE(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;m=s+28|0;n=s+24|0;j=s+20|0;k=s+16|0;o=s+32|0;l=s+12|0;r=s+8|0;q=s+4|0;p=s;c[m>>2]=d;c[n>>2]=f;c[j>>2]=g;c[k>>2]=h;b[o>>1]=e[(c[j>>2]|0)+18>>1]|0|(e[(c[k>>2]|0)+18>>1]|0);if(!((e[(c[j>>2]|0)+18>>1]|0)&62)){i=s;return}if(!((e[(c[k>>2]|0)+18>>1]|0)&62)){i=s;return}if(((e[o>>1]|0)&26|0)!=(e[o>>1]|0|0)?((e[o>>1]|0)&38|0)!=(e[o>>1]|0|0):0){i=s;return}if(vy(c[(c[c[j>>2]>>2]|0)+12>>2]|0,c[(c[c[k>>2]>>2]|0)+12>>2]|0,-1)|0){i=s;return}if(vy(c[(c[c[j>>2]>>2]|0)+16>>2]|0,c[(c[c[k>>2]>>2]|0)+16>>2]|0,-1)|0){i=s;return}do if((e[o>>1]|0)&(e[o>>1]|0)-1)if((e[o>>1]|0)&24){b[o>>1]=8;break}else{b[o>>1]=32;break}while(0);c[l>>2]=c[c[c[c[n>>2]>>2]>>2]>>2];c[r>>2]=ty(c[l>>2]|0,c[c[j>>2]>>2]|0,0)|0;if(!(c[r>>2]|0)){i=s;return}c[q>>2]=79;while(1){j=c[q>>2]|0;if((e[o>>1]|0|0)==(2<<(c[q>>2]|0)-79|0))break;c[q>>2]=j+1}a[c[r>>2]>>0]=j;c[p>>2]=uE(c[n>>2]|0,c[r>>2]|0,3)|0;qE(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0);i=s;return}function IE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;i=i+48|0;k=h+36|0;l=h+32|0;j=h+28|0;g=h;c[k>>2]=b;c[l>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=199;c[g+24>>2]=c[l>>2];hy(g,c[k>>2]|0)|0;if(c[j>>2]|0){l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}l=g+20|0;a[l>>0]=(d[l>>0]|0)&-3;l=g+20|0;l=a[l>>0]|0;l=l<<24>>24!=0;l=l^1;l=l&1;i=h;return l|0}function JE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[m>>2]=Dh(a,30741,k)|0;c[j>>2]=1555;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;hA(h,k,l,m,-1,2);i=n;return}else{c[l>>2]=d;c[m>>2]=Dh(a,35727,l)|0;c[j>>2]=2579;h=c[f>>2]|0;k=c[j>>2]|0;l=c[g>>2]|0;m=c[m>>2]|0;hA(h,k,l,m,-1,2);i=n;return}}function KE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;l=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;j=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288){d=c[f>>2]|0;if(!(c[g>>2]|0)){if(Kx(d)|0)d=1;else d=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[l>>2]=d&1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=c[d+16>>2];while(1){d=c[f>>2]|0;if(!(c[j>>2]|0))break;if(QC(d,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){k=9;break}c[j>>2]=c[(c[j>>2]|0)+4>>2]}if((k|0)==9){c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}c[j>>2]=Kx(d)|0;while(1){if(!(c[j>>2]|0))break a;if(TC(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[j>>2]=c[(c[j>>2]|0)+12>>2]}c[l>>2]=1;n=c[l>>2]|0;i=m;return n|0}while(0);c[l>>2]=0;n=c[l>>2]|0;i=m;return n|0}function LE(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;i=e;return}function ME(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+64|0;q=K+48|0;r=K+44|0;t=K+40|0;u=K+36|0;v=K+32|0;w=K+28|0;x=K+52|0;y=K+58|0;z=K+57|0;A=K+56|0;s=K+24|0;I=K+20|0;E=K+16|0;D=K+12|0;G=K+55|0;F=K+8|0;C=K+4|0;B=K;H=K+54|0;c[q>>2]=e;c[r>>2]=f;c[t>>2]=g;c[u>>2]=h;c[v>>2]=j;c[w>>2]=k;b[x>>1]=l;a[y>>0]=m;a[z>>0]=n;a[A>>0]=o;c[s>>2]=p;c[I>>2]=c[(c[q>>2]|0)+8>>2];c[E>>2]=0;c[D>>2]=Iz(c[I>>2]|0)|0;a[G>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?70:68;if(!(d[A>>0]|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;g=(KE(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(g|(c[t>>2]|0)!=0){c[F>>2]=OE(c[q>>2]|0,c[t>>2]|0,0,0,3,c[r>>2]|0,d[z>>0]|0)|0;g=PE(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|g;c[E>>2]=(c[(c[q>>2]|0)+76>>2]|0)+1;g=(c[q>>2]|0)+76|0;c[g>>2]=(c[g>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Xw(c[I>>2]|0,30,c[w>>2]|0,c[E>>2]|0)|0;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[C>>2]|0)<=31?(c[F>>2]&1<>2]|0)!=0:0)J=9}else J=9;if((J|0)==9){J=0;zA(c[I>>2]|0,c[r>>2]|0,c[u>>2]|0,c[C>>2]|0,(c[E>>2]|0)+(c[C>>2]|0)+1|0)}c[C>>2]=(c[C>>2]|0)+1}c[B>>2]=Hz(c[I>>2]|0)|0;HC(c[q>>2]|0,c[t>>2]|0,109,0,1,c[r>>2]|0,c[E>>2]|0,d[z>>0]|0,c[D>>2]|0);J=c[B>>2]|0;if((J|0)<(Hz(c[I>>2]|0)|0))Gh(c[I>>2]|0,d[G>>0]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,b[x>>1]|0)|0;MC(c[q>>2]|0,c[r>>2]|0,c[E>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;QE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;HC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Mz(I,J);i=K;return}a[H>>0]=0;NE(c[q>>2]|0,c[r>>2]|0,c[u>>2]|0,c[v>>2]|0,0,c[s>>2]|0);Xw(c[I>>2]|0,95,c[u>>2]|0,(d[y>>0]|0)!=0?1:0)|0;if(a[y>>0]|0)Kh(c[I>>2]|0,-1,c[c[r>>2]>>2]|0,0);if(d[A>>0]|0)Hh(c[I>>2]|0,4);if((c[s>>2]|0)>=0)Dz(c[I>>2]|0,95,c[s>>2]|0)|0;if((d[A>>0]|0)==2)a[H>>0]=d[H>>0]|2;Hh(c[I>>2]|0,a[H>>0]|0);e=c[q>>2]|0;H=c[r>>2]|0;G=c[E>>2]|0;QE(e,H,0,G,0,0);G=c[q>>2]|0;H=c[t>>2]|0;e=c[r>>2]|0;f=c[E>>2]|0;g=a[z>>0]|0;g=g&255;J=c[D>>2]|0;HC(G,H,109,0,2,e,f,g,J);I=c[I>>2]|0;J=c[D>>2]|0;Mz(I,J);i=K;return}function NE(a,e,f,g,h,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+64|0;l=y+48|0;k=y+44|0;m=y+40|0;n=y+36|0;o=y+32|0;p=y+28|0;q=y+24|0;v=y+20|0;r=y+16|0;s=y+12|0;u=y+8|0;w=y+4|0;t=y;c[l>>2]=a;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[v>>2]=-1;c[u>>2]=0;c[w>>2]=c[(c[l>>2]|0)+8>>2];if(!((d[(c[k>>2]|0)+42>>0]|0)&32))h=0;else h=Hj(c[k>>2]|0)|0;c[t>>2]=h;c[q>>2]=0;c[s>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[s>>2]|0))break;if(!((c[o>>2]|0)!=0?(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)==0:0))x=7;if(((x|0)==7?(x=0,(c[s>>2]|0)!=(c[t>>2]|0)):0)?((c[n>>2]|0)+(c[q>>2]|0)|0)!=(c[p>>2]|0):0){c[v>>2]=bA(c[l>>2]|0,c[s>>2]|0,c[m>>2]|0,0,1,r,c[u>>2]|0,c[v>>2]|0)|0;h=c[s>>2]|0;if((d[(c[s>>2]|0)+55>>0]|0)>>>3&1)h=b[h+50>>1]|0;else h=b[h+52>>1]|0;$w(c[w>>2]|0,111,(c[n>>2]|0)+(c[q>>2]|0)|0,c[v>>2]|0,h&65535)|0;cA(c[l>>2]|0,c[r>>2]|0);c[u>>2]=c[s>>2]}c[q>>2]=(c[q>>2]|0)+1;c[s>>2]=c[(c[s>>2]|0)+20>>2]}i=y;return}function OE(a,b,e,f,g,h,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+40|0;v=u+36|0;l=u+32|0;m=u+28|0;n=u+24|0;o=u+20|0;p=u+16|0;r=u+12|0;q=u+8|0;s=u+4|0;t=u;c[k>>2]=a;c[v>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[r>>2]=(c[l>>2]|0)!=0?110:109;c[q>>2]=0;c[s>>2]=c[v>>2];while(1){if(!(c[s>>2]|0))break;if((((d[(c[s>>2]|0)+8>>0]|0|0)==(c[r>>2]|0)?(c[n>>2]&(d[(c[s>>2]|0)+9>>0]|0)|0)!=0:0)?(TF(c[(c[s>>2]|0)+16>>2]|0,c[l>>2]|0)|0)!=0:0)?(c[t>>2]=TE(c[k>>2]|0,c[s>>2]|0,c[o>>2]|0,c[p>>2]|0)|0,(c[t>>2]|0)!=0):0)c[q>>2]=c[q>>2]|c[(c[t>>2]|0)+16+(c[m>>2]<<2)>>2];c[s>>2]=c[(c[s>>2]|0)+32>>2]}i=u;return c[q>>2]|0}function PE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;h=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){l=c[j>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;if((c[(c[k>>2]|0)+36+(c[h>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[h>>2]<<3)>>2];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}c[k>>2]=c[(c[k>>2]|0)+4>>2]}c[k>>2]=Kx(c[g>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[l>>2]=0;hC(c[f>>2]|0,c[g>>2]|0,c[k>>2]|0,l,0)|0;a:do if(c[l>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[l>>2]|0)+50>>1]|0))break a;if((b[(c[(c[l>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1];c[j>>2]=c[j>>2]|a;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[k>>2]=c[(c[k>>2]|0)+12>>2]}l=c[j>>2]|0;i=m;return l|0}function QE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;h=r+28|0;j=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;p=r+4|0;o=r;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;if(!(c[(c[c[h>>2]>>2]|0)+24>>2]&524288)){i=r;return}c[p>>2]=Kx(c[j>>2]|0)|0;while(1){if(!(c[p>>2]|0))break;if(!((c[m>>2]|0)!=0?(TC(c[j>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)==0:0))q=6;if((q|0)==6?(q=0,c[o>>2]=RE(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0,c[k>>2]|0)|0,(c[o>>2]|0)!=0):0)SE(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[l>>2]|0,2,0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}i=r;return}function RE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=i;i=i+144|0;j=N+136|0;k=N+132|0;l=N+128|0;m=N+124|0;n=N+120|0;q=N+116|0;o=N+112|0;D=N+108|0;s=N+104|0;L=N+100|0;u=N+96|0;x=N+92|0;p=N+88|0;C=N+84|0;F=N+80|0;y=N+76|0;B=N+72|0;r=N+68|0;E=N+64|0;J=N+56|0;I=N+48|0;H=N+40|0;K=N+32|0;t=N+28|0;w=N+24|0;z=N+20|0;v=N+16|0;G=N+8|0;A=N;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[c[k>>2]>>2];c[s>>2]=(c[n>>2]|0)!=0&1;c[o>>2]=d[(c[m>>2]|0)+25+(c[s>>2]|0)>>0];if((c[o>>2]|0)==6?(c[(c[q>>2]|0)+24>>2]&16777216|0)!=0:0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[D>>2]=c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2];if(!((c[o>>2]|0)==0|(c[D>>2]|0)!=0)){c[x>>2]=0;c[p>>2]=0;c[C>>2]=0;c[F>>2]=0;c[y>>2]=0;c[B>>2]=0;c[E>>2]=0;if(hC(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,x,p)|0){c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break;c[J>>2]=c[1577];c[J+4>>2]=c[1578];c[I>>2]=c[1579];c[I+4>>2]=c[1580];if(c[p>>2]|0)h=c[(c[p>>2]|0)+(c[r>>2]<<2)>>2]|0;else h=c[(c[m>>2]|0)+36>>2]|0;c[t>>2]=h;if(c[x>>2]|0)h=b[(c[(c[x>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else h=b[(c[l>>2]|0)+32>>1]|0;Iy(K,c[(c[(c[l>>2]|0)+4>>2]|0)+(h<<16>>16<<4)>>2]|0);Iy(H,c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2]|0);e=c[k>>2]|0;g=c[k>>2]|0;f=iz(c[q>>2]|0,27,J,0)|0;f=xv(g,122,f,iz(c[q>>2]|0,27,K,0)|0,0)|0;c[w>>2]=xv(e,79,f,iz(c[q>>2]|0,27,H,0)|0,0)|0;c[F>>2]=gz(c[q>>2]|0,c[F>>2]|0,c[w>>2]|0)|0;if(c[n>>2]|0){h=c[k>>2]|0;e=c[k>>2]|0;g=iz(c[q>>2]|0,27,J,0)|0;g=xv(e,122,g,iz(c[q>>2]|0,27,K,0)|0,0)|0;e=c[k>>2]|0;f=iz(c[q>>2]|0,27,I,0)|0;c[w>>2]=xv(h,73,g,xv(e,122,f,iz(c[q>>2]|0,27,K,0)|0,0)|0,0)|0;c[E>>2]=gz(c[q>>2]|0,c[E>>2]|0,c[w>>2]|0)|0}if((c[o>>2]|0)!=6?(c[o>>2]|0)!=9|(c[n>>2]|0)!=0:0){do if((c[o>>2]|0)!=9){if((c[o>>2]|0)!=8){c[z>>2]=xv(c[k>>2]|0,101,0,0,0)|0;break}c[v>>2]=c[(c[(c[c[m>>2]>>2]|0)+4>>2]|0)+(c[t>>2]<<4)+4>>2];if(c[v>>2]|0){c[z>>2]=ty(c[q>>2]|0,c[v>>2]|0,0)|0;break}else{c[z>>2]=xv(c[k>>2]|0,101,0,0,0)|0;break}}else{e=c[k>>2]|0;f=iz(c[q>>2]|0,27,I,0)|0;c[z>>2]=xv(e,122,f,iz(c[q>>2]|0,27,K,0)|0,0)|0}while(0);c[y>>2]=Mv(c[k>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;Nv(c[k>>2]|0,c[y>>2]|0,H,0)}c[r>>2]=(c[r>>2]|0)+1}Tf(c[q>>2]|0,c[p>>2]|0);c[L>>2]=c[c[c[m>>2]>>2]>>2];c[u>>2]=Jf(c[L>>2]|0)|0;if((c[o>>2]|0)==6){c[G>>2]=c[L>>2];c[G+4>>2]=c[u>>2];c[A>>2]=Pv(c[q>>2]|0,57,35697)|0;if(c[A>>2]|0)a[(c[A>>2]|0)+1>>0]=2;I=c[k>>2]|0;J=Mv(c[k>>2]|0,0,c[A>>2]|0)|0;K=Tv(c[q>>2]|0,0,G,0)|0;c[B>>2]=Lv(I,J,K,c[F>>2]|0,0,0,0,0,0,0)|0;c[F>>2]=0}K=(c[q>>2]|0)+256|0;c[K>>2]=(c[K>>2]|0)+1;c[D>>2]=rh(c[q>>2]|0,72+(c[u>>2]|0)+1|0,0)|0;if((c[D>>2]|0)!=0?(K=(c[D>>2]|0)+36|0,c[(c[D>>2]|0)+28>>2]=K,c[C>>2]=K,c[(c[C>>2]|0)+12>>2]=(c[C>>2]|0)+36,rR(c[(c[C>>2]|0)+12>>2]|0,c[L>>2]|0,c[u>>2]|0)|0,L=ty(c[q>>2]|0,c[F>>2]|0,1)|0,c[(c[C>>2]|0)+16>>2]=L,L=By(c[q>>2]|0,c[y>>2]|0,1)|0,c[(c[C>>2]|0)+20>>2]=L,L=Nx(c[q>>2]|0,c[B>>2]|0,1)|0,c[(c[C>>2]|0)+8>>2]=L,(c[E>>2]|0)!=0):0){c[E>>2]=xv(c[k>>2]|0,19,c[E>>2]|0,0,0)|0;L=ty(c[q>>2]|0,c[E>>2]|0,1)|0;c[(c[D>>2]|0)+12>>2]=L}L=(c[q>>2]|0)+256|0;c[L>>2]=(c[L>>2]|0)+-1;dv(c[q>>2]|0,c[F>>2]|0);dv(c[q>>2]|0,c[E>>2]|0);$u(c[q>>2]|0,c[y>>2]|0);av(c[q>>2]|0,c[B>>2]|0);if((d[(c[q>>2]|0)+69>>0]|0|0)==1){SF(c[q>>2]|0,c[D>>2]|0);c[j>>2]=0;M=c[j>>2]|0;i=N;return M|0}switch(c[o>>2]|0){case 6:{a[c[C>>2]>>0]=119;break}case 9:{if(c[n>>2]|0)M=41;else a[c[C>>2]>>0]=109;break}default:M=41}if((M|0)==41)a[c[C>>2]>>0]=110;c[(c[C>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+20>>2]=c[(c[l>>2]|0)+64>>2];c[(c[D>>2]|0)+24>>2]=c[(c[l>>2]|0)+64>>2];c[(c[m>>2]|0)+28+(c[s>>2]<<2)>>2]=c[D>>2];a[(c[D>>2]|0)+8>>0]=(c[n>>2]|0)!=0?110:109}c[j>>2]=c[D>>2];M=c[j>>2]|0;i=N;return M|0}function SE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=i;i=i+48|0;j=p+32|0;h=p+28|0;r=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[h>>2]=b;c[r>>2]=d;c[k>>2]=e;c[q>>2]=f;c[l>>2]=g;c[o>>2]=Vw(c[j>>2]|0)|0;c[n>>2]=TE(c[j>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[n>>2]|0)){i=p;return}if(c[c[h>>2]>>2]|0)h=0==(c[(c[c[j>>2]>>2]|0)+24>>2]&262144|0);else h=0;c[m>>2]=h&1;e=c[o>>2]|0;k=c[k>>2]|0;q=c[l>>2]|0;l=(c[j>>2]|0)+76|0;r=(c[l>>2]|0)+1|0;c[l>>2]=r;_w(e,132,k,q,r,c[(c[n>>2]|0)+8>>2]|0,-18)|0;Hh(c[o>>2]|0,c[m>>2]&255);i=p;return}function TE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;e=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)e=c[e+416>>2]|0;c[l>>2]=e;c[k>>2]=c[(c[l>>2]|0)+532>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[j>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){l=c[k>>2]|0;i=m;return l|0}c[k>>2]=UE(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;l=c[k>>2]|0;i=m;return l|0}function UE(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+96|0;w=x;h=x+84|0;j=x+80|0;k=x+76|0;l=x+72|0;m=x+68|0;s=x+64|0;n=x+60|0;p=x+56|0;t=x+52|0;v=x+48|0;u=x+16|0;q=x+12|0;r=x+8|0;o=x+4|0;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;g=c[j>>2]|0;if(c[(c[j>>2]|0)+416>>2]|0)g=c[g+416>>2]|0;c[s>>2]=g;c[n>>2]=c[c[j>>2]>>2];c[t>>2]=0;c[q>>2]=0;c[o>>2]=0;c[p>>2]=rh(c[n>>2]|0,24,0)|0;if(!(c[p>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}c[(c[p>>2]|0)+4>>2]=c[(c[s>>2]|0)+532>>2];c[(c[s>>2]|0)+532>>2]=c[p>>2];e=rh(c[n>>2]|0,28,0)|0;c[q>>2]=e;c[(c[p>>2]|0)+8>>2]=e;if(!(c[q>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0}VE(c[(c[s>>2]|0)+8>>2]|0,c[q>>2]|0);c[c[p>>2]>>2]=c[k>>2];c[(c[p>>2]|0)+12>>2]=c[m>>2];c[(c[p>>2]|0)+16>>2]=-1;c[(c[p>>2]|0)+16+4>>2]=-1;c[r>>2]=rh(c[n>>2]|0,544,0)|0;if(!(c[r>>2]|0)){c[h>>2]=0;w=c[h>>2]|0;i=x;return w|0};c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;c[u+24>>2]=0;c[u+28>>2]=0;c[u>>2]=c[r>>2];c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+420>>2]=c[l>>2];c[(c[r>>2]|0)+416>>2]=c[s>>2];c[(c[r>>2]|0)+496>>2]=c[c[k>>2]>>2];a[(c[r>>2]|0)+440>>0]=a[(c[k>>2]|0)+8>>0]|0;c[(c[r>>2]|0)+428>>2]=c[(c[j>>2]|0)+428>>2];c[v>>2]=Vw(c[r>>2]|0)|0;if(c[v>>2]|0){e=c[v>>2]|0;l=c[n>>2]|0;c[w>>2]=c[c[k>>2]>>2];Kh(e,-1,Dh(l,35393,w)|0,-1);if(c[(c[k>>2]|0)+12>>2]|0){c[t>>2]=ty(c[n>>2]|0,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(0==(ly(u,c[t>>2]|0)|0)?(d[(c[n>>2]|0)+69>>0]|0|0)==0:0){c[o>>2]=Iz(c[v>>2]|0)|0;RA(c[r>>2]|0,c[t>>2]|0,c[o>>2]|0,16)}dv(c[n>>2]|0,c[t>>2]|0)}WE(c[r>>2]|0,c[(c[k>>2]|0)+28>>2]|0,c[m>>2]|0)|0;if(c[o>>2]|0)Mz(c[v>>2]|0,c[o>>2]|0);cx(c[v>>2]|0,21)|0;XE(c[j>>2]|0,c[r>>2]|0);if(!(d[(c[n>>2]|0)+69>>0]|0)){w=YE(c[v>>2]|0,(c[q>>2]|0)+4|0,(c[s>>2]|0)+400|0)|0;c[c[q>>2]>>2]=w}c[(c[q>>2]|0)+8>>2]=c[(c[r>>2]|0)+76>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+72>>2];c[(c[q>>2]|0)+16>>2]=c[(c[r>>2]|0)+84>>2];c[(c[q>>2]|0)+20>>2]=c[k>>2];c[(c[p>>2]|0)+16>>2]=c[(c[r>>2]|0)+432>>2];c[(c[p>>2]|0)+16+4>>2]=c[(c[r>>2]|0)+436>>2];Zu(c[v>>2]|0)}Nh(c[r>>2]|0);Tf(c[n>>2]|0,c[r>>2]|0);c[h>>2]=c[p>>2];w=c[h>>2]|0;i=x;return w|0}function VE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+24>>2]=c[(c[e>>2]|0)+192>>2];c[(c[e>>2]|0)+192>>2]=c[f>>2];i=d;return}function WE(b,e,f){b=b|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;o=i;i=i+48|0;g=o+44|0;p=o+40|0;h=o+36|0;l=o+32|0;n=o+28|0;j=o+24|0;m=o+4|0;k=o;c[g>>2]=b;c[p>>2]=e;c[h>>2]=f;c[n>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[p>>2];while(1){if(!(c[l>>2]|0))break;if((c[h>>2]|0)==10)f=a[(c[l>>2]|0)+1>>0]|0;else f=c[h>>2]&255;a[(c[g>>2]|0)+441>>0]=f;switch(d[c[l>>2]>>0]|0|0){case 110:{b=c[g>>2]|0;e=RF(c[g>>2]|0,c[l>>2]|0)|0;p=By(c[j>>2]|0,c[(c[l>>2]|0)+20>>2]|0,0)|0;Zv(b,e,p,ty(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 108:{b=c[g>>2]|0;e=RF(c[g>>2]|0,c[l>>2]|0)|0;p=Nx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;_v(b,e,p,tz(c[j>>2]|0,c[(c[l>>2]|0)+24>>2]|0)|0,d[(c[g>>2]|0)+441>>0]|0);break}case 109:{p=c[g>>2]|0;Xv(p,RF(c[g>>2]|0,c[l>>2]|0)|0,ty(c[j>>2]|0,c[(c[l>>2]|0)+16>>2]|0,0)|0);break}default:{c[k>>2]=Nx(c[j>>2]|0,c[(c[l>>2]|0)+8>>2]|0,0)|0;dB(m,4,0);Iv(c[g>>2]|0,c[k>>2]|0,m)|0;av(c[j>>2]|0,c[k>>2]|0)}}if((d[c[l>>2]>>0]|0|0)!=119)cx(c[n>>2]|0,98)|0;c[l>>2]=c[(c[l>>2]|0)+28>>2]}i=o;return 0}function XE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+68>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[b+4>>2];c[(c[d>>2]|0)+68>>2]=c[(c[e>>2]|0)+68>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];i=f;return}else{Tf(c[b>>2]|0,c[(c[e>>2]|0)+4>>2]|0);i=f;return}}function YE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+12|0;h=f+8|0;j=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[e>>2]=c[(c[g>>2]|0)+4>>2];ZE(c[g>>2]|0,c[j>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+32>>2];c[(c[g>>2]|0)+4>>2]=0;i=f;return c[e>>2]|0}function ZE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+28|0;g=q+24|0;j=q+20|0;l=q+16|0;n=q+12|0;o=q+8|0;h=q+4|0;m=q+32|0;k=q;c[f>>2]=b;c[g>>2]=e;c[l>>2]=c[c[g>>2]>>2];c[o>>2]=c[(c[f>>2]|0)+24>>2];c[h>>2]=c[(c[o>>2]|0)+120>>2];e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33|32;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65;c[n>>2]=c[(c[f>>2]|0)+4>>2];c[j>>2]=(c[(c[f>>2]|0)+32>>2]|0)-1;while(1){if((c[j>>2]|0)<0)break;a[m>>0]=a[c[n>>2]>>0]|0;switch(d[m>>0]|0|0){case 2:{if(c[(c[n>>2]|0)+8>>2]|0){p=(c[f>>2]|0)+89|0;a[p>>0]=a[p>>0]&-33;p=6}else p=6;break}case 0:case 1:{p=6;break}case 9:case 10:case 8:{e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-33;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64;break}case 12:{if((c[(c[n>>2]|0)+8>>2]|0)>(c[l>>2]|0))c[l>>2]=c[(c[n>>2]|0)+8>>2];break}case 11:{c[k>>2]=c[(c[n>>2]|0)+-20+4>>2];if((c[k>>2]|0)>(c[l>>2]|0))c[l>>2]=c[k>>2];break}case 3:case 5:case 7:{c[(c[n>>2]|0)+16>>2]=200;a[(c[n>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[n>>2]|0)+16>>2]=201;a[(c[n>>2]|0)+1>>0]=-19;break}default:{}}if((p|0)==6){p=0;e=(c[f>>2]|0)+89|0;a[e>>0]=a[e>>0]&-65|64}a[(c[n>>2]|0)+2>>0]=a[35407+(d[m>>0]|0)>>0]|0;if(((d[(c[n>>2]|0)+2>>0]|0)&1|0)!=0?(c[(c[n>>2]|0)+8>>2]|0)<0:0)c[(c[n>>2]|0)+8>>2]=c[(c[h>>2]|0)+(-1-(c[(c[n>>2]|0)+8>>2]|0)<<2)>>2];c[j>>2]=(c[j>>2]|0)+-1;c[n>>2]=(c[n>>2]|0)+20}Tf(c[c[f>>2]>>2]|0,c[(c[o>>2]|0)+120>>2]|0);c[(c[o>>2]|0)+120>>2]=0;c[(c[o>>2]|0)+116>>2]=0;c[c[g>>2]>>2]=c[l>>2];i=q;return}function _E(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=f;c[k>>2]=g;b[(c[j>>2]|0)+16+18>>1]=0;f=(c[j>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[k>>2]>>2]=0;f=c[j>>2]|0;if((d[(c[j>>2]|0)+66>>0]|0)!=1){c[h>>2]=PF(f,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}c[l>>2]=c[(c[j>>2]|0)+120+(a[f+68>>0]<<2)>>2];f=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[l>>2]|0)+18>>1]|0)){l=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[l>>1]=(b[l>>1]|0)+-1<<16>>16;c[h>>2]=PF(c[j>>2]|0,c[k>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}if(a[(c[l>>2]|0)+4>>0]|0){c[h>>2]=0;l=c[h>>2]|0;i=m;return l|0}else{c[h>>2]=QF(c[j>>2]|0)|0;l=c[h>>2]|0;i=m;return l|0}return 0}function $E(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[j>>2]=f;c[k>>2]=g;c[c[k>>2]>>2]=0;g=(c[j>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[j>>2]|0)+16+18>>1]=0;if(((d[(c[j>>2]|0)+66>>0]|0)==1?(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)!=0:0)?(d[(c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0)!=0:0){g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;c[h>>2]=0;g=c[h>>2]|0;i=l;return g|0}c[h>>2]=aF(c[j>>2]|0,c[k>>2]|0)|0;g=c[h>>2]|0;i=l;return g|0}function aF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;n=p+8|0;m=p+4|0;h=p;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+66>>0]|0)!=1){if((d[(c[k>>2]|0)+66>>0]|0)>=3)f=bF(c[k>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}if(!(d[(c[k>>2]|0)+66>>0]|0)){c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}if((c[(c[k>>2]|0)+60>>2]|0)!=0?(a[(c[k>>2]|0)+66>>0]=1,g=(c[(c[k>>2]|0)+60>>2]|0)<0,c[(c[k>>2]|0)+60>>2]=0,g):0){c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];do if(a[(c[m>>2]|0)+4>>0]|0){while(1){f=a[(c[k>>2]|0)+68>>0]|0;if(e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[k>>2]|0;if(!f){o=17;break}eF(g)}if((o|0)==17){a[g+66>>0]=0;c[c[l>>2]>>2]=1;c[j>>2]=0;o=c[j>>2]|0;i=p;return o|0}o=(c[k>>2]|0)+80+(f<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[m>>2]=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2];if((d[(c[m>>2]|0)+2>>0]|0)!=0?(a[(c[m>>2]|0)+4>>0]|0)==0:0){c[n>>2]=$E(c[k>>2]|0,c[l>>2]|0)|0;break}c[n>>2]=0}else{c[h>>2]=e[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1];o=c[k>>2]|0;c[n>>2]=cF(o,er((c[(c[m>>2]|0)+56>>2]|0)+(e[(c[m>>2]|0)+20>>1]&(d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[m>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[n>>2]|0)){c[n>>2]=dF(c[k>>2]|0)|0;break}c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}while(0);c[j>>2]=c[n>>2];o=c[j>>2]|0;i=p;return o|0}function bF(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;i=j;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=iF(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],(c[(c[f>>2]|0)+60>>2]|0)!=0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;i=j;return h|0}function cF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=Oj(60571)|0;e=c[g>>2]|0;i=l;return e|0}else{b[(c[h>>2]|0)+16+18>>1]=0;e=(c[h>>2]|0)+64|0;a[e>>0]=d[e>>0]&-7;e=(c[h>>2]|0)+68|0;a[e>>0]=(a[e>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=fF(c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;e=c[g>>2]|0;i=l;return e|0}return 0}function dF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+16|0;l=n+12|0;j=n+8|0;m=n+4|0;h=n;c[l>>2]=f;c[m>>2]=0;c[h>>2]=0;while(1){f=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=f;g=c[h>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[j>>2]=er((c[(c[h>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0;b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=b[(c[h>>2]|0)+18>>1]|0;c[m>>2]=cF(c[l>>2]|0,c[j>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[k>>2]=c[m>>2];m=c[k>>2]|0;i=n;return m|0}else if((f|0)==5){b[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function eF(e){e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;c[g>>2]=e;b[(c[g>>2]|0)+16+18>>1]=0;h=(c[g>>2]|0)+64|0;a[h>>0]=(d[h>>0]|0)&-7;h=(c[g>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;yB(c[(c[g>>2]|0)+120+(e<<24>>24<<2)>>2]|0);i=f;return}function fF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+28|0;l=s+24|0;m=s+20|0;n=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;q=s;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;g=c[m>>2]|0;a:do if(g>>>0<=(gF(c[l>>2]|0)|0)>>>0){c[r>>2]=ug(c[c[l>>2]>>2]|0,c[m>>2]|0,q,c[p>>2]|0)|0;if(!(c[r>>2]|0)){g=Pt(c[q>>2]|0)|0;c[c[n>>2]>>2]=g;if((d[c[c[n>>2]>>2]>>0]|0|0)==0?(hF(c[q>>2]|0,c[m>>2]|0,c[l>>2]|0)|0,c[r>>2]=Rt(c[c[n>>2]>>2]|0)|0,(c[r>>2]|0)!=0):0){wB(c[c[n>>2]>>2]|0);break}do if(c[o>>2]|0){if((e[(c[c[n>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[n>>2]>>2]|0)+2>>0]|0|0)==(d[(c[o>>2]|0)+69>>0]|0|0):0)break;c[r>>2]=Oj(57813)|0;wB(c[c[n>>2]>>2]|0);break a}while(0);c[k>>2]=0;r=c[k>>2]|0;i=s;return r|0}}else c[r>>2]=Oj(57791)|0;while(0);if(c[o>>2]|0){g=(c[o>>2]|0)+68|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}c[k>>2]=c[r>>2];r=c[k>>2]|0;i=s;return r|0}function gF(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+44>>2]|0}function hF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=Pt(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[j>>2]|0)+84>>2]|0)){d=c[j>>2]|0;i=k;return d|0}d=vg(c[f>>2]|0)|0;c[(c[j>>2]|0)+56>>2]=d;c[(c[j>>2]|0)+72>>2]=c[f>>2];c[(c[j>>2]|0)+52>>2]=c[h>>2];c[(c[j>>2]|0)+84>>2]=c[g>>2];a[(c[j>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;d=c[j>>2]|0;i=k;return d|0}function iF(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+240|0;j=s+36|0;k=s+32|0;l=s+28|0;m=s;n=s+24|0;o=s+20|0;r=s+16|0;q=s+12|0;p=s+8|0;c[k>>2]=a;c[l>>2]=b;b=m;c[b>>2]=d;c[b+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=0;if(c[l>>2]|0){c[q>>2]=jF(c[(c[k>>2]|0)+72>>2]|0,s+40|0,200,p)|0;if(!(c[q>>2]|0)){c[j>>2]=7;r=c[j>>2]|0;i=s;return r|0}kF(c[(c[k>>2]|0)+72>>2]|0,c[m>>2]|0,c[l>>2]|0,c[q>>2]|0);if(!(e[(c[q>>2]|0)+8>>1]|0)){Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=Oj(56571)|0;r=c[j>>2]|0;i=s;return r|0}}else c[q>>2]=0;h=m;c[r>>2]=lF(c[k>>2]|0,c[q>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0)Tf(c[(c[(c[k>>2]|0)+72>>2]|0)+12>>2]|0,c[p>>2]|0);c[j>>2]=c[r>>2];r=c[j>>2]|0;i=s;return r|0}function jF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+28|0;j=p+24|0;k=p+20|0;q=p+16|0;l=p+12|0;o=p+8|0;n=p+4|0;m=p;c[j>>2]=a;c[k>>2]=d;c[q>>2]=f;c[l>>2]=g;c[n>>2]=8-(c[k>>2]&7)&7;c[m>>2]=16+(((e[(c[j>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[m>>2]|0)>((c[q>>2]|0)+(c[n>>2]|0)|0)){q=c[m>>2]|0;c[o>>2]=Ah(c[(c[j>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[l>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}}else{c[o>>2]=(c[k>>2]|0)+(c[n>>2]|0);c[c[l>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[j>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[j>>2]|0)+6>>1]|0)+1;c[h>>2]=c[o>>2];q=c[h>>2]|0;i=p;return q|0}function kF(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=i;i=i+48|0;k=u+36|0;l=u+32|0;v=u+28|0;s=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;t=u+40|0;r=u+8|0;p=u+4|0;q=u;c[k>>2]=f;c[l>>2]=g;c[v>>2]=h;c[s>>2]=j;c[m>>2]=c[v>>2];c[p>>2]=c[(c[s>>2]|0)+4>>2];a[(c[s>>2]|0)+10>>0]=0;g=c[m>>2]|0;if((d[c[m>>2]>>0]|0|0)<128){c[r>>2]=d[g>>0];g=1}else g=(AF(g,r)|0)&255;c[o>>2]=g&255;c[n>>2]=c[r>>2];b[t>>1]=0;while(1){if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0){g=11;break}if((c[n>>2]|0)>(c[l>>2]|0)){g=11;break}g=(c[m>>2]|0)+(c[o>>2]|0)|0;if((d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0|0)<128){c[q>>2]=d[g>>0];g=1}else g=(AF(g,q)|0)&255;c[o>>2]=(c[o>>2]|0)+(g&255);a[(c[p>>2]|0)+10>>0]=a[(c[k>>2]|0)+4>>0]|0;c[(c[p>>2]|0)+32>>2]=c[(c[k>>2]|0)+12>>2];c[(c[p>>2]|0)+24>>2]=0;v=CF((c[m>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+v;c[p>>2]=(c[p>>2]|0)+40;v=(b[t>>1]|0)+1<<16>>16;b[t>>1]=v;if((v&65535|0)>=(e[(c[s>>2]|0)+8>>1]|0|0)){g=11;break}}if((g|0)==11){b[(c[s>>2]|0)+8>>1]=b[t>>1]|0;i=u;return}}function lF(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=i;i=i+96|0;m=F+80|0;n=F+76|0;o=F+72|0;p=F+8|0;q=F+68|0;r=F+64|0;C=F+60|0;E=F+56|0;v=F+52|0;D=F+48|0;u=F+44|0;s=F+40|0;t=F+36|0;B=F+32|0;y=F+28|0;x=F;w=F+24|0;A=F+20|0;z=F+16|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;if(((d[(c[n>>2]|0)+66>>0]|0)==1?(d[(c[n>>2]|0)+64>>0]&2|0)!=0:0)?(d[(c[n>>2]|0)+69>>0]|0)!=0:0){g=(c[n>>2]|0)+16|0;l=p;if((c[g>>2]|0)==(c[l>>2]|0)?(c[g+4>>2]|0)==(c[l+4>>2]|0):0){c[c[r>>2]>>2]=0;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}if((d[(c[n>>2]|0)+64>>0]&8|0)!=0?(g=(c[n>>2]|0)+16|0,k=c[g+4>>2]|0,l=p,f=c[l+4>>2]|0,(k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)):0){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}}if(c[o>>2]|0){c[E>>2]=mF(c[o>>2]|0)|0;a[(c[o>>2]|0)+11>>0]=0}else c[E>>2]=0;c[C>>2]=nF(c[n>>2]|0)|0;if(c[C>>2]|0){c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}if(!(d[(c[n>>2]|0)+66>>0]|0)){c[c[r>>2]>>2]=-1;c[m>>2]=0;E=c[m>>2]|0;i=F;return E|0}a:do{c[B>>2]=c[(c[n>>2]|0)+120+(a[(c[n>>2]|0)+68>>0]<<2)>>2];c[v>>2]=0;c[D>>2]=(e[(c[B>>2]|0)+18>>1]|0)-1;c[u>>2]=c[D>>2]>>1-(c[q>>2]|0);b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];b:do if(!(c[E>>2]|0)){while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c:do if(a[(c[B>>2]|0)+3>>0]|0)while(1){l=c[y>>2]|0;c[y>>2]=l+1;if(128>(d[l>>0]|0))break c;if((c[y>>2]|0)>>>0>=(c[(c[B>>2]|0)+60>>2]|0)>>>0){j=20;break a}}while(0);Zt(c[y>>2]|0,x)|0;g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if((k|0)<(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0<(c[l>>2]|0)>>>0:0)){c[v>>2]=(c[u>>2]|0)+1;if((c[v>>2]|0)>(c[D>>2]|0)){j=23;break}}else{g=x;k=c[g+4>>2]|0;l=p;f=c[l+4>>2]|0;if(!((k|0)>(f|0)|((k|0)==(f|0)?(c[g>>2]|0)>>>0>(c[l>>2]|0)>>>0:0))){j=27;break}c[D>>2]=(c[u>>2]|0)-1;if((c[v>>2]|0)>(c[D>>2]|0)){j=26;break}}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}if((j|0)==23){c[s>>2]=-1;j=51;break}else if((j|0)==26){c[s>>2]=1;j=51;break}else if((j|0)==27){j=0;f=(c[n>>2]|0)+64|0;a[f>>0]=d[f>>0]|2;f=x;g=c[f+4>>2]|0;l=(c[n>>2]|0)+16|0;c[l>>2]=c[f>>2];c[l+4>>2]=g;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[B>>2]|0)+4>>0]|0){j=29;break a}c[v>>2]=c[u>>2];break}}else while(1){c[y>>2]=(c[(c[B>>2]|0)+68>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[u>>2]<<1)+1>>0]));c[w>>2]=d[c[y>>2]>>0];do if((c[w>>2]|0)<=(d[(c[B>>2]|0)+7>>0]|0))c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+1|0,c[o>>2]|0)|0;else{if((d[(c[y>>2]|0)+1>>0]&128|0)==0?(l=((c[w>>2]&127)<<7)+(d[(c[y>>2]|0)+1>>0]|0)|0,c[w>>2]=l,(l|0)<=(e[(c[B>>2]|0)+10>>1]|0)):0){c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,(c[y>>2]|0)+2|0,c[o>>2]|0)|0;break}c[z>>2]=(c[y>>2]|0)+(0-(d[(c[B>>2]|0)+6>>0]|0));Ub[c[(c[B>>2]|0)+80>>2]&255](c[B>>2]|0,c[z>>2]|0,(c[n>>2]|0)+16|0);c[w>>2]=c[(c[n>>2]|0)+16>>2];if((c[w>>2]|0)<2){j=37;break a}l=(c[w>>2]|0)+18|0;c[A>>2]=$f(l,((l|0)<0)<<31>>31)|0;if(!(c[A>>2]|0)){j=39;break a}b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[C>>2]=oF(c[n>>2]|0,0,c[w>>2]|0,c[A>>2]|0,2)|0;if(c[C>>2]|0){j=41;break a}c[s>>2]=Ob[c[E>>2]&255](c[w>>2]|0,c[A>>2]|0,c[o>>2]|0)|0;Kd(c[A>>2]|0)}while(0);if((c[s>>2]|0)<0)c[v>>2]=(c[u>>2]|0)+1;else{if((c[s>>2]|0)<=0){j=47;break a}c[D>>2]=(c[u>>2]|0)-1}if((c[v>>2]|0)>(c[D>>2]|0)){j=51;break b}c[u>>2]=(c[v>>2]|0)+(c[D>>2]|0)>>1}while(0);if((j|0)==51?(j=0,(a[(c[B>>2]|0)+4>>0]|0)!=0):0){j=52;break}h=c[B>>2]|0;if((c[v>>2]|0)>=(e[(c[B>>2]|0)+18>>1]|0))c[t>>2]=er((c[(c[B>>2]|0)+56>>2]|0)+((d[h+5>>0]|0)+8)|0)|0;else c[t>>2]=er((c[h+56>>2]|0)+(e[(c[B>>2]|0)+20>>1]&(d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)>>0]<<8|d[(c[(c[B>>2]|0)+64>>2]|0)+(c[v>>2]<<1)+1>>0]))|0)|0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[v>>2];c[C>>2]=cF(c[n>>2]|0,c[t>>2]|0)|0}while((c[C>>2]|0)==0);if((j|0)==20){c[m>>2]=Oj(60948)|0;E=c[m>>2]|0;i=F;return E|0}else if((j|0)==29){c[c[r>>2]>>2]=0;c[C>>2]=0}else if((j|0)==37)c[C>>2]=Oj(61021)|0;else if((j|0)==39)c[C>>2]=7;else if((j|0)==41)Kd(c[A>>2]|0);else if((j|0)==47){c[c[r>>2]>>2]=0;c[C>>2]=0;b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];if(a[(c[o>>2]|0)+11>>0]|0)c[C>>2]=11}else if((j|0)==52){b[(c[n>>2]|0)+80+(a[(c[n>>2]|0)+68>>0]<<1)>>1]=c[u>>2];c[c[r>>2]>>2]=c[s>>2];c[C>>2]=0}b[(c[n>>2]|0)+16+18>>1]=0;E=(c[n>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[m>>2]=c[C>>2];E=c[m>>2]|0;i=F;return E|0}function mF(b){b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=b;if(((e[(c[c[f>>2]>>2]|0)+6>>1]|0)+(e[(c[c[f>>2]>>2]|0)+8>>1]|0)|0)<=13){c[g>>2]=e[(c[(c[f>>2]|0)+4>>2]|0)+8>>1];b=(c[f>>2]|0)+12|0;if(a[c[(c[c[f>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;a[(c[f>>2]|0)+13>>0]=-1}else{a[b>>0]=-1;a[(c[f>>2]|0)+13>>0]=1}if(c[g>>2]&4){c[d>>2]=160;g=c[d>>2]|0;i=h;return g|0}if((c[g>>2]&25|0)==0?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)==0:0){c[d>>2]=161;g=c[d>>2]|0;i=h;return g|0}}c[d>>2]=162;g=c[d>>2]|0;i=h;return g|0}function nF(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=f;c[k>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){vB(f);break}c[g>>2]=c[f+60>>2];l=c[g>>2]|0;i=m;return l|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+68|0;f=a[n>>0]|0;a[n>>0]=f+-1<<24>>24;yB(c[(c[h>>2]|0)+120+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;n=c[g>>2]|0;i=m;return n|0}c[k>>2]=fF(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[k>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}while(0);c[j>>2]=c[(c[h>>2]|0)+120>>2];if((d[c[j>>2]>>0]|0)!=0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[j>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;n=(c[h>>2]|0)+64|0;a[n>>0]=d[n>>0]&-15;do if((e[(c[j>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[j>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[j>>2]|0)+84>>2]|0)==1){c[l>>2]=er((c[(c[j>>2]|0)+56>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[k>>2]=cF(c[h>>2]|0,c[l>>2]|0)|0;break}c[g>>2]=Oj(60709)|0;n=c[g>>2]|0;i=m;return n|0}while(0);c[g>>2]=c[k>>2];n=c[g>>2]|0;i=m;return n|0}c[g>>2]=Oj(60698)|0;n=c[g>>2]|0;i=m;return n|0}function oF(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=i;i=i+80|0;k=C+68|0;l=C+64|0;m=C+60|0;n=C+56|0;o=C+52|0;p=C+48|0;t=C+44|0;B=C+40|0;u=C+36|0;A=C+32|0;y=C+28|0;q=C+24|0;x=C+20|0;w=C+16|0;v=C+12|0;s=C+8|0;r=C+4|0;z=C;c[l>>2]=b;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[B>>2]=0;c[u>>2]=0;c[A>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];pF(c[l>>2]|0);c[t>>2]=c[(c[l>>2]|0)+16+8>>2];if(((c[t>>2]|0)-(c[(c[A>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[y>>2]|0)+36>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)|0)>>>0){c[k>>2]=Oj(60282)|0;B=c[k>>2]|0;i=C;return B|0}if((c[m>>2]|0)>>>0<(e[(c[l>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[n>>2];if(((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0>(e[(c[l>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[l>>2]|0)+16+16>>1]|0)-(c[m>>2]|0);c[B>>2]=qF((c[t>>2]|0)+(c[m>>2]|0)|0,c[o>>2]|0,c[q>>2]|0,c[p>>2]&1,c[(c[A>>2]|0)+72>>2]|0)|0;c[m>>2]=0;c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[q>>2]|0)}else c[m>>2]=(c[m>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0);a:do if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[x>>2]=(c[(c[y>>2]|0)+36>>2]|0)-4;c[w>>2]=er((c[t>>2]|0)+(e[(c[l>>2]|0)+16+16>>1]|0)|0)|0;if((c[p>>2]|0)!=2?(d[(c[l>>2]|0)+64>>0]&4|0)==0:0){c[v>>2]=(((c[(c[l>>2]|0)+16+12>>2]|0)-(e[(c[l>>2]|0)+16+16>>1]|0)+(c[x>>2]|0)-1|0)>>>0)/((c[x>>2]|0)>>>0)|0;do if((c[v>>2]|0)>(c[(c[l>>2]|0)+56>>2]|0)){c[s>>2]=cg(c[(c[l>>2]|0)+12>>2]|0,c[v>>2]<<1<<2,0)|0;if(!(c[s>>2]|0)){c[B>>2]=7;break}else{c[(c[l>>2]|0)+56>>2]=c[v>>2]<<1;c[(c[l>>2]|0)+12>>2]=c[s>>2];break}}while(0);if(!(c[B>>2]|0)){tR(c[(c[l>>2]|0)+12>>2]|0,0,c[v>>2]<<2|0)|0;A=(c[l>>2]|0)+64|0;a[A>>0]=d[A>>0]|4}}if((d[(c[l>>2]|0)+64>>0]&4|0)!=0?(c[(c[(c[l>>2]|0)+12>>2]|0)+((((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0)<<2)>>2]|0)!=0:0){c[u>>2]=((c[m>>2]|0)>>>0)/((c[x>>2]|0)>>>0)|0;c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2];c[m>>2]=((c[m>>2]|0)>>>0)%((c[x>>2]|0)>>>0)|0}while(1){if(!((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0&(c[w>>2]|0)!=0))break a;if(d[(c[l>>2]|0)+64>>0]&4)c[(c[(c[l>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]=c[w>>2];if((c[m>>2]|0)>>>0>=(c[x>>2]|0)>>>0){if(c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2]|0)c[w>>2]=c[(c[(c[l>>2]|0)+12>>2]|0)+((c[u>>2]|0)+1<<2)>>2];else c[B>>2]=rF(c[y>>2]|0,c[w>>2]|0,0,w)|0;c[m>>2]=(c[m>>2]|0)-(c[x>>2]|0)}else{c[r>>2]=c[n>>2];if(((c[r>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0)c[r>>2]=(c[x>>2]|0)-(c[m>>2]|0);c[B>>2]=ug(c[c[y>>2]>>2]|0,c[w>>2]|0,z,(c[p>>2]&1|0)==0?2:0)|0;if(!(c[B>>2]|0)){c[t>>2]=vg(c[z>>2]|0)|0;c[w>>2]=er(c[t>>2]|0)|0;c[B>>2]=qF((c[t>>2]|0)+((c[m>>2]|0)+4)|0,c[o>>2]|0,c[r>>2]|0,c[p>>2]&1,c[z>>2]|0)|0;xg(c[z>>2]|0);c[m>>2]=0}c[n>>2]=(c[n>>2]|0)-(c[r>>2]|0);c[o>>2]=(c[o>>2]|0)+(c[r>>2]|0)}c[u>>2]=(c[u>>2]|0)+1}}while(0);if((c[B>>2]|0)==0&(c[n>>2]|0)>>>0>0){c[k>>2]=Oj(60439)|0;B=c[k>>2]|0;i=C;return B|0}else{c[k>>2]=c[B>>2];B=c[k>>2]|0;i=C;return B|0}return 0}function pF(b){b=b|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){i=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;vF(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);i=h;return}function qF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[o>>2]=e;c[l>>2]=f;do if(c[o>>2]|0){c[m>>2]=Fg(c[l>>2]|0)|0;if(!(c[m>>2]|0)){rR(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=c[m>>2];o=c[g>>2]|0;i=n;return o|0}else rR(c[j>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;while(0);c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}function rF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;q=s+24|0;k=s+20|0;n=s+16|0;o=s+12|0;r=s+8|0;p=s+4|0;m=s;l=s+36|0;c[h>>2]=b;c[j>>2]=e;c[q>>2]=f;c[k>>2]=g;c[n>>2]=0;c[o>>2]=0;c[r>>2]=0;if(a[(c[h>>2]|0)+17>>0]|0){c[m>>2]=(c[j>>2]|0)+1;while(1){f=sF(c[h>>2]|0,c[m>>2]|0)|0;if((f|0)==(c[m>>2]|0))b=1;else b=(c[m>>2]|0)==((((c[381]|0)>>>0)/((c[(c[h>>2]|0)+32>>2]|0)>>>0)|0)+1|0);e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}if(((e>>>0<=(gF(c[h>>2]|0)|0)>>>0?(c[r>>2]=tF(c[h>>2]|0,c[m>>2]|0,l,p)|0,(c[r>>2]|0)==0):0)?(d[l>>0]|0)==4:0)?(c[p>>2]|0)==(c[j>>2]|0):0){c[n>>2]=c[m>>2];c[r>>2]=101}}if((c[r>>2]|0)==0?(c[r>>2]=uF(c[h>>2]|0,c[j>>2]|0,o,(c[q>>2]|0)==0?2:0)|0,(c[r>>2]|0)==0):0)c[n>>2]=er(c[(c[o>>2]|0)+56>>2]|0)|0;c[c[k>>2]>>2]=c[n>>2];e=c[o>>2]|0;if(c[q>>2]|0){c[c[q>>2]>>2]=e;q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}else{wB(e);q=c[r>>2]|0;q=(q|0)==101;r=c[r>>2]|0;r=q?0:r;i=s;return r|0}return 0}function sF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[h>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[g>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[h>>2]|0)>>>0)|0;c[j>>2]=(_(c[g>>2]|0,c[h>>2]|0)|0)+2;if((c[j>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[j>>2]=(c[j>>2]|0)+1;c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}function tF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=i;i=i+48|0;h=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;o=r+16|0;m=r+12|0;p=r+8|0;n=r+4|0;q=r;c[s>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=sF(c[s>>2]|0,c[j>>2]|0)|0;c[q>>2]=ug(c[c[s>>2]>>2]|0,c[m>>2]|0,o,0)|0;if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=r;return s|0}c[p>>2]=vg(c[o>>2]|0)|0;c[n>>2]=((c[j>>2]|0)-(c[m>>2]|0)-1|0)*5;if((c[n>>2]|0)<0){xg(c[o>>2]|0);c[h>>2]=Oj(56790)|0;s=c[h>>2]|0;i=r;return s|0}a[c[k>>2]>>0]=a[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(c[l>>2]|0){s=er((c[p>>2]|0)+((c[n>>2]|0)+1)|0)|0;c[c[l>>2]>>2]=s}xg(c[o>>2]|0);if((d[c[k>>2]>>0]|0|0)>=1?(d[c[k>>2]>>0]|0|0)<=5:0){c[h>>2]=0;s=c[h>>2]|0;i=r;return s|0}c[h>>2]=Oj(56798)|0;s=c[h>>2]|0;i=r;return s|0}function uF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;g=m+20|0;h=m+16|0;j=m+12|0;n=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[n>>2]=e;c[l>>2]=ug(c[c[g>>2]>>2]|0,c[h>>2]|0,k,c[n>>2]|0)|0;if(c[l>>2]|0){c[f>>2]=c[l>>2];n=c[f>>2]|0;i=m;return n|0}else{n=hF(c[k>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[c[j>>2]>>2]=n;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}return 0}function vF(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;k=g+8|0;j=g+4|0;h=g;c[k>>2]=a;c[j>>2]=b;c[h>>2]=f;Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);i=g;return}function wF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;h=s+36|0;t=s+32|0;r=s+28|0;m=s+24|0;l=s+16|0;k=s+8|0;j=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[h>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];b=c[(c[q>>2]|0)+4>>2]|0;f=c[b+4>>2]|0;g=k;c[g>>2]=c[b>>2];c[g+4>>2]=f;do switch(c[t>>2]|0){case 1:{m=a[c[h>>2]>>0]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[m>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];m=c[m>>2]|0;t=j;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{m=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];t=j;c[t>>2]=pR(d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0]|0,0,AR(0,1,m|0,((m|0)<0)<<31>>31|0)|0,C|0)|0;c[t+4>>2]=C;break}case 6:{t=l;c[t>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[t+4>>2]=0;t=c[l>>2]|0;m=l;c[m>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[m+4>>2]=t;m=c[l+4>>2]|0;t=j;c[t>>2]=c[l>>2];c[t+4>>2]=m;break}case 8:{t=j;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=j;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=yF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}default:{c[n>>2]=yF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;i=s;return t|0}}while(0);m=k;g=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;do if(!((g|0)>(l|0)|((g|0)==(l|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=k;k=c[m+4>>2]|0;t=j;l=c[t+4>>2]|0;h=c[q>>2]|0;if((k|0)<(l|0)|((k|0)==(l|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[h+13>>0];break}if((e[h+8>>1]|0)>1){c[r>>2]=zF(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;i=s;return t|0}function xF(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;q=s+36|0;j=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;h=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[k>>2];b=(c[m>>2]|0)+1|0;if((d[(c[m>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else AF(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[l>>2]|0)+13>>0];break}c[p>>2]=d[c[m>>2]>>0];c[o>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[j>>2]|0)){r=(Oj(72223)|0)&255;a[(c[l>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;i=s;return r|0}if((c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0)<(c[o>>2]|0))b=c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[o>>2]|0;c[n>>2]=b;c[r>>2]=EQ((c[m>>2]|0)+(c[p>>2]|0)|0,c[(c[(c[l>>2]|0)+4>>2]|0)+16>>2]|0,c[n>>2]|0)|0;if(c[r>>2]|0){b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[o>>2]|0)-(c[(c[(c[l>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[l>>2]|0)+8>>1]|0)>1){c[r>>2]=zF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,1)|0;break}else{c[r>>2]=a[(c[l>>2]|0)+10>>0];a[(c[l>>2]|0)+14>>0]=1;break}else{b=c[l>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[l>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;i=s;return r|0}function yF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=zF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return d|0}function zF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+128|0;A=F+124|0;m=F+120|0;H=F+116|0;B=F+112|0;G=F+108|0;o=F+104|0;p=F+100|0;z=F+96|0;q=F+92|0;E=F+88|0;w=F+84|0;D=F+80|0;n=F+76|0;s=F+16|0;l=F+72|0;y=F+68|0;r=F+8|0;x=F;t=F+64|0;v=F+60|0;u=F+56|0;c[m>>2]=f;c[H>>2]=g;c[B>>2]=j;c[G>>2]=k;c[E>>2]=0;c[w>>2]=c[(c[B>>2]|0)+4>>2];c[D>>2]=c[c[B>>2]>>2];c[n>>2]=c[H>>2];f=c[n>>2]|0;do if(c[G>>2]|0){k=(c[n>>2]|0)+1|0;if((d[f+1>>0]|0)<128){c[l>>2]=d[k>>0];k=1}else k=(AF(k,l)|0)&255;c[q>>2]=1+(k&255);c[z>>2]=d[c[n>>2]>>0];H=c[z>>2]|0;c[o>>2]=H+(BF(c[l>>2]|0)|0);c[p>>2]=1;c[w>>2]=(c[w>>2]|0)+40}else{k=c[n>>2]|0;if((d[f>>0]|0)<128){c[z>>2]=d[k>>0];k=1}else k=(AF(k,z)|0)&255;c[q>>2]=k&255;c[o>>2]=c[z>>2];if((c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0){c[p>>2]=0;break}H=(Oj(71941)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}while(0);a:while(1){do if(e[(c[w>>2]|0)+8>>1]&4){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}if((c[y>>2]|0)==7){CF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;H=c[w>>2]|0;c[E>>2]=0-(DF(c[H>>2]|0,c[H+4>>2]|0,+h[s>>3])|0);break}j=EF(c[y>>2]|0,(c[n>>2]|0)+(c[o>>2]|0)|0)|0;H=r;c[H>>2]=j;c[H+4>>2]=C;H=c[w>>2]|0;j=c[H+4>>2]|0;G=x;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)<(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[E>>2]=-1;break}G=r;j=c[G+4>>2]|0;H=x;l=c[H+4>>2]|0;if((j|0)>(l|0)|((j|0)==(l|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[E>>2]=1}else{if(e[(c[w>>2]|0)+8>>1]&8){c[y>>2]=d[(c[n>>2]|0)+(c[q>>2]|0)>>0];if((c[y>>2]|0)>>>0>=10){c[E>>2]=1;break}if(!(c[y>>2]|0)){c[E>>2]=-1;break}CF((c[n>>2]|0)+(c[o>>2]|0)|0,c[y>>2]|0,s)|0;if((c[y>>2]|0)!=7){H=s;c[E>>2]=DF(c[H>>2]|0,c[H+4>>2]|0,+h[c[w>>2]>>3])|0;break}if(+h[s>>3]<+h[c[w>>2]>>3]){c[E>>2]=-1;break}if(!(+h[s>>3]>+h[c[w>>2]>>3]))break;c[E>>2]=1;break}if(!(e[(c[w>>2]|0)+8>>1]&2)){k=d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0;if(!(e[(c[w>>2]|0)+8>>1]&16)){c[y>>2]=k;c[E>>2]=(c[y>>2]|0)!=0&1;break}f=(c[n>>2]|0)+(c[q>>2]|0)|0;if((k|0)<128)c[y>>2]=d[f>>0];else AF(f,y)|0;if((c[y>>2]|0)>>>0>=12?(c[y>>2]&1|0)==0:0){c[v>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=59;break a}if((c[v>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[v>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[u>>2]=k;c[E>>2]=EQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[E>>2]|0)break;c[E>>2]=(c[v>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0);break}c[E>>2]=-1;break}k=(c[n>>2]|0)+(c[q>>2]|0)|0;if((d[(c[n>>2]|0)+(c[q>>2]|0)>>0]|0)<128)c[y>>2]=d[k>>0];else AF(k,y)|0;if((c[y>>2]|0)>>>0<12){c[E>>2]=-1;break}if(!(c[y>>2]&1)){c[E>>2]=1;break}c[s+12>>2]=(((c[y>>2]|0)-12|0)>>>0)/2|0;if(((c[o>>2]|0)+(c[s+12>>2]|0)|0)>>>0>(c[m>>2]|0)>>>0){k=43;break a}if(c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0){a[s+10>>0]=a[(c[D>>2]|0)+4>>0]|0;c[s+32>>2]=c[(c[D>>2]|0)+12>>2];b[s+8>>1]=2;c[s+16>>2]=(c[n>>2]|0)+(c[o>>2]|0);c[E>>2]=FF(s,c[w>>2]|0,c[(c[D>>2]|0)+20+(c[p>>2]<<2)>>2]|0,(c[B>>2]|0)+11|0)|0;break}if((c[s+12>>2]|0)<(c[(c[w>>2]|0)+12>>2]|0))k=c[s+12>>2]|0;else k=c[(c[w>>2]|0)+12>>2]|0;c[t>>2]=k;c[E>>2]=EQ((c[n>>2]|0)+(c[o>>2]|0)|0,c[(c[w>>2]|0)+16>>2]|0,c[t>>2]|0)|0;if(!(c[E>>2]|0))c[E>>2]=(c[s+12>>2]|0)-(c[(c[w>>2]|0)+12>>2]|0)}while(0);f=c[p>>2]|0;if(c[E>>2]|0){k=67;break}c[p>>2]=f+1;c[w>>2]=(c[w>>2]|0)+40;H=BF(c[y>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+H;H=GF(c[y>>2]|0,0)|0;c[q>>2]=(c[q>>2]|0)+H;if((c[q>>2]|0)>>>0>=(c[z>>2]|0)>>>0){k=73;break}if((c[p>>2]|0)>=(e[(c[B>>2]|0)+8>>1]|0)){k=73;break}if((c[o>>2]|0)>>>0>(c[m>>2]|0)>>>0){k=73;break}}if((k|0)==43){H=(Oj(72016)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==59){H=(Oj(72045)|0)&255;a[(c[B>>2]|0)+11>>0]=H;c[A>>2]=0;H=c[A>>2]|0;i=F;return H|0}else if((k|0)==67){if(a[(c[(c[D>>2]|0)+16>>2]|0)+f>>0]|0)c[E>>2]=0-(c[E>>2]|0);c[A>>2]=c[E>>2];H=c[A>>2]|0;i=F;return H|0}else if((k|0)==73){a[(c[B>>2]|0)+14>>0]=1;c[A>>2]=a[(c[B>>2]|0)+10>>0];H=c[A>>2]|0;i=F;return H|0}return 0}function AF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+25|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n;l=n+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=2;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[c[h>>2]>>2]=c[j>>2]|c[k>>2];a[f>>0]=3;m=a[f>>0]|0;i=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[l>>0]=Zt(c[g>>2]|0,m)|0;e=m;if(0!=(c[e+4>>2]|0)?1:(c[m>>2]|0)!=(c[e>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[m>>2];a[f>>0]=a[l>>0]|0;m=a[f>>0]|0;i=n;return m|0}function BF(a){a=a|0;var b=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;i=e;return f|0}else{c[b>>2]=d[35569+a>>0];f=c[b>>2]|0;i=e;return f|0}return 0}function CF(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;switch(c[k>>2]|0){case 0:case 11:case 10:{b[(c[l>>2]|0)+8>>1]=1;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}case 1:{g=a[c[j>>2]>>0]|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=1;f=c[h>>2]|0;i=m;return f|0}case 2:{g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=2;f=c[h>>2]|0;i=m;return f|0}case 3:{g=a[c[j>>2]>>0]<<16|d[(c[j>>2]|0)+1>>0]<<8|d[(c[j>>2]|0)+2>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=3;f=c[h>>2]|0;i=m;return f|0}case 4:{g=a[c[j>>2]>>0]<<24|d[(c[j>>2]|0)+1>>0]<<16|d[(c[j>>2]|0)+2>>0]<<8|d[(c[j>>2]|0)+3>>0];f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=4;f=c[h>>2]|0;i=m;return f|0}case 5:{f=d[(c[j>>2]|0)+2>>0]<<24|d[(c[j>>2]|0)+2+1>>0]<<16|d[(c[j>>2]|0)+2+2>>0]<<8|d[(c[j>>2]|0)+2+3>>0];g=a[c[j>>2]>>0]<<8|d[(c[j>>2]|0)+1>>0];g=pR(f|0,0,AR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,C|0)|0;f=c[l>>2]|0;c[f>>2]=g;c[f+4>>2]=C;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=6;f=c[h>>2]|0;i=m;return f|0}case 7:case 6:{c[h>>2]=NF(c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;i=m;return f|0}case 9:case 8:{f=c[l>>2]|0;c[f>>2]=(c[k>>2]|0)-8;c[f+4>>2]=0;b[(c[l>>2]|0)+8>>1]=4;c[h>>2]=0;f=c[h>>2]|0;i=m;return f|0}default:{c[(c[l>>2]|0)+16>>2]=c[j>>2];c[(c[l>>2]|0)+12>>2]=(((c[k>>2]|0)-12|0)>>>0)/2|0;b[(c[l>>2]|0)+8>>1]=b[15262+((c[k>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[l>>2]|0)+12>>2];f=c[h>>2]|0;i=m;return f|0}}return 0}function DF(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+48|0;e=l+32|0;f=l+24|0;g=l+16|0;k=l+8|0;j=l;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;i=l;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;i=l;return m|0}d=+h[g>>3];n=+N(d)>=1.0?(d>0.0?~~+$(+M(d/4294967296.0),4294967295.0)>>>0:~~+Z((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=k;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=k;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}m=f;a=c[m+4>>2]|0;n=k;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=k;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;i=l;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;i=l;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;i=l;return n|0}return 0}function EF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+8|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{j=a[c[h>>2]>>0]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 2:{j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 3:{j=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 4:{c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];j=c[k>>2]|0;k=f;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;break}case 5:{b=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];j=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];k=f;c[k>>2]=pR(b|0,0,AR(0,1,j|0,((j|0)<0)<<31>>31|0)|0,C|0)|0;c[k+4>>2]=C;break}case 6:{k=j;c[k>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[k+4>>2]=0;k=c[j>>2]|0;b=j;c[b>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[b+4>>2]=k;b=j;j=c[b+4>>2]|0;k=f;c[k>>2]=c[b>>2];c[k+4>>2]=j;break}default:{k=f;c[k>>2]=(c[g>>2]|0)-8;c[k+4>>2]=0}}k=f;C=c[k+4>>2]|0;i=l;return c[k>>2]|0}function FF(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+128|0;h=u+116|0;j=u+112|0;k=u+108|0;l=u+104|0;m=u+100|0;r=u+96|0;s=u+92|0;t=u+88|0;p=u+84|0;q=u+80|0;n=u+40|0;o=u;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[j>>2]|0)+10>>0]|0|0)==(d[(c[l>>2]|0)+4>>0]|0|0)){c[h>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;t=c[h>>2]|0;i=u;return t|0}HF(n,c[(c[j>>2]|0)+32>>2]|0,1);HF(o,c[(c[j>>2]|0)+32>>2]|0,1);IF(n,c[j>>2]|0,4096);IF(o,c[k>>2]|0,4096);c[s>>2]=Yg(n,a[(c[l>>2]|0)+4>>0]|0)|0;c[p>>2]=(c[s>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=Yg(o,a[(c[l>>2]|0)+4>>0]|0)|0;c[q>>2]=(c[t>>2]|0)==0?0:c[o+12>>2]|0;c[r>>2]=Zb[c[(c[l>>2]|0)+12>>2]&255](c[(c[l>>2]|0)+8>>2]|0,c[p>>2]|0,c[s>>2]|0,c[q>>2]|0,c[t>>2]|0)|0;if(((c[s>>2]|0)==0|(c[t>>2]|0)==0)&(c[m>>2]|0)!=0)a[c[m>>2]>>0]=7;Wg(n);Wg(o);c[h>>2]=c[r>>2];t=c[h>>2]|0;i=u;return t|0}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=qR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=C;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}i=f;return a|0}function HF(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+4|0;h=f;j=f+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=e;b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;i=f;return}function IF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;d=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){JF(d,c[h>>2]|0,c[j>>2]|0);i=k;return}f=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048){i=k;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[j>>2];i=k;return}function JF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;KF(c[h>>2]|0);IF(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);i=e;return}function KF(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192)LF(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32){MF(c[d>>2]|0);break}if((e[d+8>>1]|0)&64){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+180>>2];c[(c[c[g>>2]>>2]|0)+180>>2]=c[g>>2]}}else Qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;i=h;return}function LF(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+96|0;f=k+80|0;g=k+76|0;j=k+72|0;h=k+40|0;e=k;c[f>>2]=a;c[g>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){j=c[j>>2]|0;i=k;return j|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){j=c[j>>2]|0;i=k;return j|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;d=e;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[h>>2]=e;c[h+8>>2]=c[f>>2];c[h+4>>2]=c[g>>2];Qb[c[(c[g>>2]|0)+16>>2]&255](h);if((c[(c[f>>2]|0)+24>>2]|0)>0)Tf(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);d=c[f>>2]|0;a=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(a|0));c[j>>2]=c[h+20>>2];j=c[j>>2]|0;i=k;return j|0}function MF(a){a=a|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Tf(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;i=g;return}function NF(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+20|0;l=k+16|0;g=k+12|0;j=k;m=k+8|0;c[n>>2]=a;c[l>>2]=e;c[g>>2]=f;f=j;c[f>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[f+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);f=pR(0,c[j>>2]|0,c[m>>2]|0,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=C;if((c[l>>2]|0)==6){l=j;m=c[l+4>>2]|0;n=c[g>>2]|0;c[n>>2]=c[l>>2];c[n+4>>2]=m;b[(c[g>>2]|0)+8>>1]=4;i=k;return 8}else{n=c[g>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];n=(OF(+h[c[g>>2]>>3])|0)!=0;b[(c[g>>2]|0)+8>>1]=n?1:8;i=k;return 8}return 0}function OF(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;i=d;return c[b>>2]|0}function PF(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+20|0;j=p+16|0;k=p+12|0;n=p+8|0;l=p+4|0;m=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=bF(c[j>>2]|0)|0;else f=0;c[n>>2]=f;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if((c[(c[j>>2]|0)+60>>2]|0)!=0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)>0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}}c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];g=(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[l>>2]=f&65535;f=(a[(c[m>>2]|0)+4>>0]|0)!=0;if((c[l>>2]|0)<(e[(c[m>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=QF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}if(!f){o=c[j>>2]|0;c[n>>2]=cF(o,er((c[(c[m>>2]|0)+56>>2]|0)+((d[(c[m>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[n>>2]|0){c[h>>2]=c[n>>2];o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=QF(c[j>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}}do{if(!(a[(c[j>>2]|0)+68>>0]|0)){o=17;break}eF(c[j>>2]|0);c[m>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2]}while((e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[m>>2]|0)+18>>1]|0));if((o|0)==17){c[c[k>>2]>>2]=1;a[(c[j>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}if(a[(c[m>>2]|0)+2>>0]|0){c[h>>2]=_E(c[j>>2]|0,c[k>>2]|0)|0;o=c[h>>2]|0;i=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;i=p;return o|0}return 0}function QF(b){b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[f>>2]=b;c[j>>2]=0;while(1){if(c[j>>2]|0){f=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[g>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=er((c[(c[g>>2]|0)+56>>2]|0)+(e[(c[g>>2]|0)+20>>1]&(d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[g>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[j>>2]=cF(c[f>>2]|0,c[h>>2]|0)|0}if((f|0)==5){i=k;return c[j>>2]|0}return 0}function RF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Tv(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Fh(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;i=h;return j|0}j=ph(c[e>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;i=h;return j|0}function SF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];dv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);$u(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);av(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function TF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((cz(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){d=6;break}c[f>>2]=(c[f>>2]|0)+1}if((d|0)==6){c[g>>2]=1;g=c[g>>2]|0;i=h;return g|0}else if((d|0)==8){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}return 0}function UF(e,f){e=e|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j+4|0;h=j;c[g>>2]=e;c[h>>2]=f;if((d[c[h>>2]>>0]|0)!=152){i=j;return 0}if((b[(c[h>>2]|0)+32>>1]|0)<0){e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|2;i=j;return 0}if((c[(c[(c[g>>2]|0)+24>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<2)>>2]|0)<0){i=j;return 0}e=(c[g>>2]|0)+20|0;a[e>>0]=d[e>>0]|1;i=j;return 0}function VF(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[j>>2]=a;c[k>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[k>>2]|0)+50>>1]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[k>>2]|0)+54>>0]|0)){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0)){g=17;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)){g=8;break}if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1]|0)==-2?(vy(c[(c[(c[(c[k>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,-1)|0)!=0:0){g=11;break}if((d[(c[(c[k>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[g>>2]|0)>>0]|0)){g=13;break}if(Td(c[(c[(c[k>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0)|0){g=15;break}c[g>>2]=(c[g>>2]|0)+1}if((g|0)==8){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==11){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==13){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==15){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((g|0)==17)if(vy(c[(c[k>>2]|0)+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function WF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+496>>2];c[(c[f>>2]|0)+496>>2]=c[g>>2];i=e;return}function XF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+64|0;f=p+48|0;g=p+44|0;h=p+40|0;j=p+36|0;l=p+16|0;o=p+12|0;n=p+8|0;k=p+4|0;m=p;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[m>>2]=Fh(c[k>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[h>>2]=ty(c[k>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=Tv(c[k>>2]|0,0,0,0)|0;if(c[n>>2]|0){d=ph(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;c[(c[n>>2]|0)+8+8>>2]=d;d=ph(c[k>>2]|0,c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;c[(c[n>>2]|0)+8+4>>2]=d}c[o>>2]=Lv(c[f>>2]|0,0,c[n>>2]|0,c[h>>2]|0,0,0,0,65536,0,0)|0;dB(l,12,c[j>>2]|0);Iv(c[f>>2]|0,c[o>>2]|0,l)|0;av(c[k>>2]|0,c[o>>2]|0);i=p;return}function YF(d,e,f,g,h,j,k,l){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=i;i=i+96|0;r=F+88|0;H=F+84|0;s=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;t=F+60|0;E=F+56|0;w=F+52|0;x=F+48|0;I=F+44|0;z=F+40|0;A=F+36|0;y=F+32|0;B=F+28|0;C=F+24|0;D=F+20|0;q=F+16|0;p=F+8|0;v=F+4|0;u=F;c[r>>2]=d;c[H>>2]=e;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[G>>2]=k;c[t>>2]=l;c[E>>2]=c[(c[r>>2]|0)+8>>2];c[I>>2]=c[c[r>>2]>>2];c[z>>2]=Gx(c[I>>2]|0,c[s>>2]|0)|0;c[y>>2]=2+(b[(c[s>>2]|0)+34>>1]|0);c[q>>2]=c[(c[H>>2]|0)+8+44>>2];f=(c[r>>2]|0)+72|0;k=c[f>>2]|0;c[f>>2]=k+1;c[w>>2]=k;c[u>>2]=Xw(c[E>>2]|0,57,c[w>>2]|0,c[y>>2]|0)|0;c[B>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[r>>2]|0)+76|0;f=(c[k>>2]|0)+1|0;c[k>>2]=f;c[C>>2]=f;f=(c[r>>2]|0)+76|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[D>>2]=k;c[A>>2]=XC(c[r>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[A>>2]|0)){i=F;return}Xw(c[E>>2]|0,103,c[q>>2]|0,c[B>>2]|0)|0;if(c[n>>2]|0)DA(c[r>>2]|0,c[n>>2]|0,(c[B>>2]|0)+1|0);else Xw(c[E>>2]|0,103,c[q>>2]|0,(c[B>>2]|0)+1|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)>=0)DA(c[r>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[x>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0);else $w(c[E>>2]|0,153,c[q>>2]|0,c[x>>2]|0,(c[B>>2]|0)+2+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}c[v>>2]=ZF(c[A>>2]|0,p)|0;m=c[E>>2]|0;if(c[v>>2]|0){vA(m,c[u>>2]|0)|0;if(!(c[(c[r>>2]|0)+416>>2]|0))a[(c[r>>2]|0)+20>>0]=0}else{$w(m,49,c[B>>2]|0,c[y>>2]|0,c[C>>2]|0)|0;Xw(c[E>>2]|0,74,c[w>>2]|0,c[D>>2]|0)|0;$w(c[E>>2]|0,75,c[w>>2]|0,c[C>>2]|0,c[D>>2]|0)|0}a:do if(!(c[v>>2]|0)){YC(c[A>>2]|0);c[u>>2]=Dz(c[E>>2]|0,108,c[w>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break a;$w(c[E>>2]|0,47,c[w>>2]|0,c[x>>2]|0,(c[B>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);KC(c[r>>2]|0,c[s>>2]|0);_w(c[E>>2]|0,12,0,c[y>>2]|0,c[B>>2]|0,c[z>>2]|0,-10)|0;Hh(c[E>>2]|0,((c[t>>2]|0)==10?2:c[t>>2]|0)&255);Hx(c[r>>2]|0);if(!(c[v>>2]|0)){Xw(c[E>>2]|0,7,c[w>>2]|0,(c[u>>2]|0)+1|0)|0;Lz(c[E>>2]|0,c[u>>2]|0);Xw(c[E>>2]|0,61,c[w>>2]|0,0)|0;i=F;return}else{YC(c[A>>2]|0);i=F;return}}function ZF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;a=c[g>>2]|0;b=(c[e>>2]|0)+60|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];i=f;return d[(c[e>>2]|0)+40>>0]|0|0}function _F(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){i=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+496>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;i=d;return}function $F(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;k=p+32|0;f=p+28|0;l=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;j=p+8|0;g=p+4|0;h=p;c[f>>2]=a;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[l>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[l>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[l>>2]>>2]|0)+(c[m>>2]|0);c[j>>2]=Kw(c[f>>2]|0,c[l>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[j>>2]|0){c[l>>2]=c[j>>2];c[h>>2]=((((fu(c[f>>2]|0,c[j>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[l>>2]|0)+4>>2]=c[h>>2];break}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}while(0);c[o>>2]=(c[c[l>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;f=(c[l>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;a=(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)|0;e=f+72|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(e|0));c[o>>2]=(c[o>>2]|0)+-1}b=c[l>>2]|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);tR((c[l>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[(c[l>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[k>>2]=c[l>>2];o=c[k>>2]|0;i=p;return o|0}function aG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;h=j;f=j+20|0;g=j+16|0;m=j+12|0;l=j+8|0;k=j+4|0;c[g>>2]=a;c[m>>2]=b;c[l>>2]=e;c[k>>2]=d[c[m>>2]>>0];if((c[l>>2]|0)>1?(c[k>>2]|0)==10|(c[k>>2]|0)==11:0){Ch(c[g>>2]|0,36500,h);c[f>>2]=1;m=c[f>>2]|0;i=j;return m|0}c[f>>2]=0;m=c[f>>2]|0;i=j;return m|0}function bG(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+128|0;y=Q+112|0;u=Q+108|0;v=Q+104|0;z=Q+100|0;l=Q+96|0;A=Q+92|0;n=Q+88|0;I=Q+84|0;K=Q+80|0;L=Q+76|0;J=Q+72|0;M=Q+68|0;G=Q+64|0;D=Q+60|0;C=Q+56|0;O=Q+52|0;N=Q+48|0;B=Q+44|0;m=Q+40|0;p=Q+36|0;r=Q+32|0;o=Q+28|0;q=Q+24|0;s=Q+20|0;w=Q+16|0;x=Q+12|0;F=Q+8|0;E=Q+116|0;P=Q+4|0;H=Q;c[u>>2]=f;c[v>>2]=g;c[z>>2]=h;c[l>>2]=j;c[A>>2]=k;c[n>>2]=c[(c[u>>2]|0)+496>>2];c[B>>2]=c[c[u>>2]>>2];if(e[(c[B>>2]|0)+64>>1]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}c[J>>2]=c[(c[v>>2]|0)+28>>2];c[N>>2]=(c[J>>2]|0)+8+((c[z>>2]|0)*72|0);c[D>>2]=c[(c[N>>2]|0)+44>>2];c[K>>2]=c[(c[N>>2]|0)+20>>2];do if(c[A>>2]|0){if(c[l>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[c[J>>2]>>2]|0)>1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!((c[(c[v>>2]|0)+32>>2]|0)!=0?(c[(c[(c[v>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((oz(c[c[v>>2]>>2]|0)|0)&2097152|0)==0:0)?((oz(c[(c[v>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[M>>2]=c[(c[K>>2]|0)+28>>2];if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+60>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&128|0)!=0?(c[(c[K>>2]|0)+56>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[c[M>>2]>>2]|0)){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&1){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?((c[l>>2]|0)!=0?1:(c[c[J>>2]>>2]|0)>1):0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[A>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+44>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[l>>2]|0)!=0?(c[(c[K>>2]|0)+44>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+32>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[K>>2]|0)+56>>2]|0)!=0?(c[(c[v>>2]|0)+8>>2]&1|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(c[(c[K>>2]|0)+8>>2]&12288){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if((c[(c[v>>2]|0)+8>>2]&8192|0)!=0?(c[(c[K>>2]|0)+48>>2]|0)!=0:0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(d[(c[N>>2]|0)+36>>0]&32){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}a:do if(c[(c[K>>2]|0)+48>>2]|0){if(c[(c[K>>2]|0)+44>>2]|0){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}do if(!(c[l>>2]|0)){if(c[(c[v>>2]|0)+8>>2]&1)break;if((c[c[J>>2]>>2]|0)!=1)break;c[L>>2]=c[K>>2];while(1){if(!(c[L>>2]|0))break;if(c[(c[L>>2]|0)+8>>2]&9){t=62;break}if((c[(c[L>>2]|0)+48>>2]|0)!=0?(d[(c[L>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[L>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[L>>2]=c[(c[L>>2]|0)+48>>2]}if((t|0)==62){c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}if(!(c[(c[v>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[v>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[v>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[y>>2]=0;P=c[y>>2]|0;i=Q;return P|0}while(0);c[(c[u>>2]|0)+496>>2]=c[(c[N>>2]|0)+8>>2];Sw(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+496>>2]=c[n>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2];while(1){if(!(c[K>>2]|0))break;c[r>>2]=c[(c[v>>2]|0)+44>>2];c[o>>2]=c[(c[v>>2]|0)+56>>2];c[q>>2]=c[(c[v>>2]|0)+60>>2];c[s>>2]=c[(c[v>>2]|0)+48>>2];c[(c[v>>2]|0)+44>>2]=0;c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+48>>2]=0;c[(c[v>>2]|0)+56>>2]=0;c[(c[v>>2]|0)+60>>2]=0;c[p>>2]=Nx(c[B>>2]|0,c[v>>2]|0,0)|0;c[(c[v>>2]|0)+60>>2]=c[q>>2];c[(c[v>>2]|0)+56>>2]=c[o>>2];c[(c[v>>2]|0)+44>>2]=c[r>>2];c[(c[v>>2]|0)+28>>2]=c[J>>2];a[(c[v>>2]|0)+4>>0]=116;l=c[s>>2]|0;if(!(c[p>>2]|0))c[(c[v>>2]|0)+48>>2]=l;else{c[(c[p>>2]|0)+48>>2]=l;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+52>>2]=c[v>>2];c[(c[v>>2]|0)+48>>2]=c[p>>2]}if(a[(c[B>>2]|0)+69>>0]|0){t=78;break}c[K>>2]=c[(c[K>>2]|0)+48>>2]}if((t|0)==78){c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}t=c[(c[N>>2]|0)+20>>2]|0;c[L>>2]=t;c[K>>2]=t;Tf(c[B>>2]|0,c[(c[N>>2]|0)+4>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+8>>2]|0);Tf(c[B>>2]|0,c[(c[N>>2]|0)+12>>2]|0);c[(c[N>>2]|0)+4>>2]=0;c[(c[N>>2]|0)+8>>2]=0;c[(c[N>>2]|0)+12>>2]=0;c[(c[N>>2]|0)+20>>2]=0;if(c[(c[N>>2]|0)+16>>2]|0){c[w>>2]=c[(c[N>>2]|0)+16>>2];if((e[(c[w>>2]|0)+36>>1]|0)==1){l=c[u>>2]|0;if(c[(c[u>>2]|0)+416>>2]|0)l=c[l+416>>2]|0;c[x>>2]=l;c[(c[w>>2]|0)+68>>2]=c[(c[x>>2]|0)+528>>2];c[(c[x>>2]|0)+528>>2]=c[w>>2]}else{x=(c[w>>2]|0)+36|0;b[x>>1]=(b[x>>1]|0)+-1<<16>>16}c[(c[N>>2]|0)+16>>2]=0}c[I>>2]=c[v>>2];while(1){if(!(c[I>>2]|0))break;a[E>>0]=0;c[M>>2]=c[(c[K>>2]|0)+28>>2];c[F>>2]=c[c[M>>2]>>2];c[J>>2]=c[(c[I>>2]|0)+28>>2];if(!(c[J>>2]|0)){x=Tv(c[B>>2]|0,0,0,0)|0;c[(c[I>>2]|0)+28>>2]=x;c[J>>2]=x;if(!(c[J>>2]|0))break}else a[E>>0]=a[(c[N>>2]|0)+36>>0]|0;if((c[F>>2]|0)>1?(x=$F(c[B>>2]|0,c[J>>2]|0,(c[F>>2]|0)-1|0,(c[z>>2]|0)+1|0)|0,c[J>>2]=x,c[(c[I>>2]|0)+28>>2]=x,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break;c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[F>>2]|0))break;ev(c[B>>2]|0,c[(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)+52>>2]|0);l=(c[J>>2]|0)+8+(((c[C>>2]|0)+(c[z>>2]|0)|0)*72|0)|0;h=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=c[h>>2];l=l+4|0;h=h+4|0}while((l|0)<(m|0));l=(c[M>>2]|0)+8+((c[C>>2]|0)*72|0)|0;m=l+72|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));c[C>>2]=(c[C>>2]|0)+1}a[(c[J>>2]|0)+8+((c[z>>2]|0)*72|0)+36>>0]=a[E>>0]|0;c[G>>2]=c[c[I>>2]>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[G>>2]>>2]|0))break;if(!(c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]|0)){c[P>>2]=ph(c[B>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+8>>2]|0)|0;Pw(c[P>>2]|0)|0;c[(c[(c[G>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+4>>2]=c[P>>2]}c[C>>2]=(c[C>>2]|0)+1}if(c[(c[K>>2]|0)+44>>2]|0){c[H>>2]=c[(c[K>>2]|0)+44>>2];c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[c[H>>2]>>2]|0))break;b[(c[(c[H>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]=0;c[C>>2]=(c[C>>2]|0)+1}c[(c[I>>2]|0)+44>>2]=c[H>>2];c[(c[K>>2]|0)+44>>2]=0}c[O>>2]=ty(c[B>>2]|0,c[(c[K>>2]|0)+32>>2]|0,0)|0;if(c[A>>2]|0){c[(c[I>>2]|0)+40>>2]=c[(c[I>>2]|0)+32>>2];c[(c[I>>2]|0)+32>>2]=c[O>>2];w=c[B>>2]|0;x=c[(c[I>>2]|0)+40>>2]|0;x=gz(w,x,ty(c[B>>2]|0,c[(c[K>>2]|0)+40>>2]|0,0)|0)|0;c[(c[I>>2]|0)+40>>2]=x;x=By(c[B>>2]|0,c[(c[K>>2]|0)+36>>2]|0,0)|0;c[(c[I>>2]|0)+36>>2]=x}else{x=gz(c[B>>2]|0,c[(c[I>>2]|0)+32>>2]|0,c[O>>2]|0)|0;c[(c[I>>2]|0)+32>>2]=x}LG(c[B>>2]|0,c[I>>2]|0,c[D>>2]|0,c[c[K>>2]>>2]|0,0);x=(c[I>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[K>>2]|0)+8>>2]&1;if(c[(c[K>>2]|0)+56>>2]|0){c[(c[I>>2]|0)+56>>2]=c[(c[K>>2]|0)+56>>2];c[(c[K>>2]|0)+56>>2]=0}c[I>>2]=c[(c[I>>2]|0)+48>>2];c[K>>2]=c[(c[K>>2]|0)+48>>2]}av(c[B>>2]|0,c[L>>2]|0);c[y>>2]=1;P=c[y>>2]|0;i=Q;return P|0}function cG(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=i;i=i+240|0;Z=_+8|0;h=_;j=_+220|0;k=_+216|0;l=_+212|0;m=_+208|0;T=_+204|0;Q=_+200|0;Y=_+196|0;t=_+176|0;H=_+172|0;s=_+168|0;B=_+164|0;C=_+160|0;n=_+156|0;F=_+152|0;W=_+148|0;G=_+224|0;R=_+144|0;L=_+140|0;O=_+136|0;o=_+132|0;X=_+112|0;x=_+108|0;v=_+104|0;z=_+100|0;I=_+96|0;U=_+92|0;V=_+88|0;y=_+84|0;w=_+80|0;A=_+76|0;M=_+72|0;P=_+68|0;p=_+64|0;D=_+44|0;S=_+40|0;J=_+36|0;u=_+32|0;K=_+28|0;N=_+24|0;r=_+20|0;E=_+16|0;q=_+12|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[T>>2]=0;c[H>>2]=0;c[B>>2]=0;c[C>>2]=0;c[s>>2]=c[c[k>>2]>>2];c[Q>>2]=c[(c[l>>2]|0)+48>>2];e=c[m>>2]|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];c[t+8>>2]=c[e+8>>2];c[t+12>>2]=c[e+12>>2];c[t+16>>2]=c[e+16>>2];a:do if(!(c[(c[Q>>2]|0)+44>>2]|0)){f=c[k>>2]|0;if(c[(c[Q>>2]|0)+56>>2]|0){c[Z>>2]=Dy(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(f,36357,Z);c[T>>2]=1;break}c[Y>>2]=Vw(f)|0;if((d[t>>0]|0)==12){Xw(c[Y>>2]|0,57,c[t+4>>2]|0,c[c[c[l>>2]>>2]>>2]|0)|0;a[t>>0]=14}if(c[(c[l>>2]|0)+8>>2]&512){c[T>>2]=NG(c[k>>2]|0,c[l>>2]|0,t)|0;break}b:do if(c[(c[l>>2]|0)+8>>2]&8192)OG(c[k>>2]|0,c[l>>2]|0,t);else{if(c[(c[l>>2]|0)+44>>2]|0){c[j>>2]=PG(c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;Z=c[j>>2]|0;i=_;return Z|0}switch(d[(c[l>>2]|0)+4>>0]|0){case 116:{c[n>>2]=0;c[(c[Q>>2]|0)+12>>2]=c[(c[l>>2]|0)+12>>2];c[(c[Q>>2]|0)+16>>2]=c[(c[l>>2]|0)+16>>2];c[(c[Q>>2]|0)+56>>2]=c[(c[l>>2]|0)+56>>2];c[(c[Q>>2]|0)+60>>2]=c[(c[l>>2]|0)+60>>2];c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[Q>>2]|0,t)|0;c[(c[l>>2]|0)+56>>2]=0;c[(c[l>>2]|0)+60>>2]=0;if(c[T>>2]|0)break a;c[(c[l>>2]|0)+48>>2]=0;c[(c[l>>2]|0)+12>>2]=c[(c[Q>>2]|0)+12>>2];c[(c[l>>2]|0)+16>>2]=c[(c[Q>>2]|0)+16>>2];if((c[(c[l>>2]|0)+12>>2]|0)!=0?(c[n>>2]=Dz(c[Y>>2]|0,46,c[(c[l>>2]|0)+12>>2]|0)|0,(c[(c[l>>2]|0)+16>>2]|0)!=0):0)$w(c[Y>>2]|0,139,c[(c[l>>2]|0)+12>>2]|0,(c[(c[l>>2]|0)+16>>2]|0)+1|0,c[(c[l>>2]|0)+16>>2]|0)|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[l>>2]|0,t)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];Z=QD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z;if(((c[(c[Q>>2]|0)+56>>2]|0)!=0?(Z=(qy(c[(c[Q>>2]|0)+56>>2]|0,F)|0)!=0,Z&(c[F>>2]|0)>0):0)?(X=b[(c[l>>2]|0)+6>>1]|0,Z=c[F>>2]|0,(X|0)>((Kj(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[F>>2]|0;Z=Kj(Z,((Z|0)<0)<<31>>31)|0;b[(c[l>>2]|0)+6>>1]=Z}if(!(c[n>>2]|0))break b;Lz(c[Y>>2]|0,c[n>>2]|0);break b}case 115:case 117:{a[G>>0]=0;c[R>>2]=1;if((d[t>>0]|0)==(c[R>>2]|0))c[W>>2]=c[t+4>>2];else{V=(c[k>>2]|0)+72|0;Z=c[V>>2]|0;c[V>>2]=Z+1;c[W>>2]=Z;c[o>>2]=Xw(c[Y>>2]|0,57,c[W>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[o>>2];Z=(Yy(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|16}dB(X,c[R>>2]|0,c[W>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[Q>>2]|0,X)|0;if(c[T>>2]|0)break a;if((d[(c[l>>2]|0)+4>>0]|0)==117)a[G>>0]=2;else a[G>>0]=1;c[(c[l>>2]|0)+48>>2]=0;c[L>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[O>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;a[X>>0]=a[G>>0]|0;c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[l>>2]|0,X)|0;$u(c[s>>2]|0,c[(c[l>>2]|0)+44>>2]|0);c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];c[(c[l>>2]|0)+44>>2]=0;if((d[(c[l>>2]|0)+4>>0]|0)==115){Z=QD(b[(c[l>>2]|0)+6>>1]|0,b[(c[Q>>2]|0)+6>>1]|0)|0;b[(c[l>>2]|0)+6>>1]=Z}dv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[L>>2];c[(c[l>>2]|0)+60>>2]=c[O>>2];c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;if((d[t>>0]|0)==(c[R>>2]|0))break b;if((d[t>>0]|0)==9){c[I>>2]=c[l>>2];while(1){if(!(c[(c[I>>2]|0)+48>>2]|0))break;c[I>>2]=c[(c[I>>2]|0)+48>>2]}BG(c[k>>2]|0,c[(c[I>>2]|0)+28>>2]|0,c[c[I>>2]>>2]|0)}c[v>>2]=Iz(c[Y>>2]|0)|0;c[x>>2]=Iz(c[Y>>2]|0)|0;hG(c[k>>2]|0,c[l>>2]|0,c[v>>2]|0);Xw(c[Y>>2]|0,108,c[W>>2]|0,c[v>>2]|0)|0;c[z>>2]=Hz(c[Y>>2]|0)|0;oG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[W>>2]|0,0,0,t,c[x>>2]|0,c[v>>2]|0);Mz(c[Y>>2]|0,c[x>>2]|0);Xw(c[Y>>2]|0,7,c[W>>2]|0,c[z>>2]|0)|0;Mz(c[Y>>2]|0,c[v>>2]|0);Xw(c[Y>>2]|0,61,c[W>>2]|0,0)|0;break b}default:{Z=(c[k>>2]|0)+72|0;X=c[Z>>2]|0;c[Z>>2]=X+1;c[U>>2]=X;X=(c[k>>2]|0)+72|0;Z=c[X>>2]|0;c[X>>2]=Z+1;c[V>>2]=Z;c[p>>2]=Xw(c[Y>>2]|0,57,c[U>>2]|0,0)|0;c[(c[l>>2]|0)+20>>2]=c[p>>2];Z=(Yy(c[l>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|16;dB(D,1,c[U>>2]|0);c[B>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[Q>>2]|0,D)|0;if(c[T>>2]|0)break a;c[p>>2]=Xw(c[Y>>2]|0,57,c[V>>2]|0,0)|0;c[(c[l>>2]|0)+20+4>>2]=c[p>>2];c[(c[l>>2]|0)+48>>2]=0;c[M>>2]=c[(c[l>>2]|0)+56>>2];c[(c[l>>2]|0)+56>>2]=0;c[P>>2]=c[(c[l>>2]|0)+60>>2];c[(c[l>>2]|0)+60>>2]=0;c[D+4>>2]=c[V>>2];c[C>>2]=c[(c[k>>2]|0)+472>>2];c[T>>2]=Iv(c[k>>2]|0,c[l>>2]|0,D)|0;c[H>>2]=c[(c[l>>2]|0)+48>>2];c[(c[l>>2]|0)+48>>2]=c[Q>>2];if((b[(c[l>>2]|0)+6>>1]|0)>(b[(c[Q>>2]|0)+6>>1]|0))b[(c[l>>2]|0)+6>>1]=b[(c[Q>>2]|0)+6>>1]|0;dv(c[s>>2]|0,c[(c[l>>2]|0)+56>>2]|0);c[(c[l>>2]|0)+56>>2]=c[M>>2];c[(c[l>>2]|0)+60>>2]=c[P>>2];if((d[t>>0]|0)==9){c[J>>2]=c[l>>2];while(1){if(!(c[(c[J>>2]|0)+48>>2]|0))break;c[J>>2]=c[(c[J>>2]|0)+48>>2]}BG(c[k>>2]|0,c[(c[J>>2]|0)+28>>2]|0,c[c[J>>2]>>2]|0)}c[w>>2]=Iz(c[Y>>2]|0)|0;c[y>>2]=Iz(c[Y>>2]|0)|0;hG(c[k>>2]|0,c[l>>2]|0,c[w>>2]|0);Xw(c[Y>>2]|0,108,c[U>>2]|0,c[w>>2]|0)|0;c[S>>2]=aA(c[k>>2]|0)|0;c[A>>2]=Xw(c[Y>>2]|0,101,c[U>>2]|0,c[S>>2]|0)|0;Gh(c[Y>>2]|0,68,c[V>>2]|0,c[y>>2]|0,c[S>>2]|0,0)|0;eA(c[k>>2]|0,c[S>>2]|0);oG(c[k>>2]|0,c[l>>2]|0,c[c[l>>2]>>2]|0,c[U>>2]|0,0,0,t,c[y>>2]|0,c[w>>2]|0);Mz(c[Y>>2]|0,c[y>>2]|0);Xw(c[Y>>2]|0,7,c[U>>2]|0,c[A>>2]|0)|0;Mz(c[Y>>2]|0,c[w>>2]|0);Xw(c[Y>>2]|0,61,c[V>>2]|0,0)|0;Xw(c[Y>>2]|0,61,c[U>>2]|0,0)|0;break b}}}while(0);QG(c[k>>2]|0,d[(c[l>>2]|0)+4>>0]|0,c[B>>2]|0,c[C>>2]|0,(d[(c[l>>2]|0)+4>>0]|0)!=116&1);if(c[(c[l>>2]|0)+8>>2]&16){c[E>>2]=c[c[c[l>>2]>>2]>>2];c[K>>2]=Wz(c[s>>2]|0,c[E>>2]|0,1)|0;if(!(c[K>>2]|0)){c[T>>2]=7;break}c[u>>2]=0;c[r>>2]=(c[K>>2]|0)+20;while(1){if((c[u>>2]|0)>=(c[E>>2]|0))break;Z=RG(c[k>>2]|0,c[l>>2]|0,c[u>>2]|0)|0;c[c[r>>2]>>2]=Z;if(!(c[c[r>>2]>>2]|0))c[c[r>>2]>>2]=c[(c[s>>2]|0)+8>>2];c[u>>2]=(c[u>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+4}c[N>>2]=c[l>>2];while(1){if(!(c[N>>2]|0))break;c[u>>2]=0;while(1){if((c[u>>2]|0)>=2)break;c[q>>2]=c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2];if((c[q>>2]|0)<0)break;Rz(c[Y>>2]|0,c[q>>2]|0,c[E>>2]|0);X=c[Y>>2]|0;Z=c[q>>2]|0;Kh(X,Z,$z(c[K>>2]|0)|0,-6);c[(c[N>>2]|0)+20+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}c[N>>2]=c[(c[N>>2]|0)+48>>2]}Xz(c[K>>2]|0)}}else{Z=c[k>>2]|0;c[h>>2]=Dy(d[(c[l>>2]|0)+4>>0]|0)|0;Ch(Z,36309,h);c[T>>2]=1}while(0);c[(c[m>>2]|0)+8>>2]=c[t+8>>2];c[(c[m>>2]|0)+12>>2]=c[t+12>>2];av(c[s>>2]|0,c[H>>2]|0);c[j>>2]=c[T>>2];Z=c[j>>2]|0;i=_;return Z|0}function dG(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;mz(c[e>>2]|0,b);i=d;return c[b>>2]|0}function eG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=0;if(!(c[k>>2]|0)){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}if(c[(c[j>>2]|0)+8>>2]&8200){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}while(1){if((d[c[k>>2]>>0]|0|0)!=72)break;e=eG(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+e;c[k>>2]=c[(c[k>>2]|0)+12>>2]}if(c[(c[k>>2]|0)+4>>2]&1){c[g>>2]=0;e=c[g>>2]|0;i=o;return e|0}a:do if(KD(c[k>>2]|0,c[l>>2]|0)|0){c[m>>2]=(c[m>>2]|0)+1;while(1){if(!(c[j>>2]|0))break a;c[n>>2]=ty(c[h>>2]|0,c[k>>2]|0,0)|0;c[n>>2]=KG(c[h>>2]|0,c[n>>2]|0,c[l>>2]|0,c[c[j>>2]>>2]|0)|0;e=gz(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[n>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=e;c[j>>2]=c[(c[j>>2]|0)+48>>2]}}while(0);c[g>>2]=c[m>>2];e=c[g>>2]|0;i=o;return e|0}function fG(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+60>>2]=0;i=d;return}function gG(b,d,e,f){b=b|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,r=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;r=q+24|0;m=q+20|0;o=q+16|0;p=q+12|0;k=q+8|0;l=q+4|0;n=q;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[r>>2]=f;c[k>>2]=c[c[g>>2]>>2];c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Wz(c[k>>2]|0,(c[m>>2]|0)-(c[j>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[o>>2]|0)){r=c[o>>2]|0;i=q;return r|0}c[l>>2]=c[j>>2];c[p>>2]=(c[(c[h>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);while(1){if((c[l>>2]|0)>=(c[m>>2]|0))break;c[n>>2]=Ux(c[g>>2]|0,c[c[p>>2]>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=c[(c[k>>2]|0)+8>>2];c[(c[o>>2]|0)+20+((c[l>>2]|0)-(c[j>>2]|0)<<2)>>2]=c[n>>2];a[(c[(c[o>>2]|0)+16>>2]|0)+((c[l>>2]|0)-(c[j>>2]|0))>>0]=a[(c[p>>2]|0)+12>>0]|0;c[l>>2]=(c[l>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}r=c[o>>2]|0;i=q;return r|0}function hG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[m>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){i=n;return}kC(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[j>>2]=a;c[(c[g>>2]|0)+12>>2]=a;c[m>>2]=Vw(c[f>>2]|0)|0;do if(qy(c[(c[g>>2]|0)+56>>2]|0,l)|0){Xw(c[m>>2]|0,22,c[l>>2]|0,c[j>>2]|0)|0;if(!(c[l>>2]|0)){Kz(c[m>>2]|0,c[h>>2]|0)|0;break}if((c[l>>2]|0)>=0?(d=b[(c[g>>2]|0)+6>>1]|0,a=c[l>>2]|0,(d|0)>((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16|0)):0){a=c[l>>2]|0;a=Kj(a,((a|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=a;a=(c[g>>2]|0)+8|0;c[a>>2]=c[a>>2]|16384}}else{DA(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);Dz(c[m>>2]|0,38,c[j>>2]|0)|0;Xw(c[m>>2]|0,46,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){i=n;return}d=(c[f>>2]|0)+76|0;a=(c[d>>2]|0)+1|0;c[d>>2]=a;c[k>>2]=a;c[(c[g>>2]|0)+16>>2]=a;a=(c[f>>2]|0)+76|0;c[a>>2]=(c[a>>2]|0)+1;DA(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);Dz(c[m>>2]|0,38,c[k>>2]|0)|0;$w(c[m>>2]|0,139,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;i=n;return}function iG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=b;c[g>>2]=d;a[j>>0]=e;b=a[j>>0]|0;a[(Sz(c[h>>2]|0,c[g>>2]|0)|0)>>0]=b;i=f;return}function jG(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;i=e;return b[(c[d>>2]|0)+32>>1]|0}function kG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+42>>0]|0|0}function lG(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;i=e;return a[(c[d>>2]|0)+38>>0]|0}function mG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+48>>2]|0}function nG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+52>>2]|0}function oG(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=i;i=i+144|0;P=V+124|0;Q=V+120|0;t=V+116|0;o=V+112|0;R=V+108|0;p=V+104|0;M=V+100|0;u=V+96|0;S=V+92|0;U=V+88|0;D=V+84|0;r=V+80|0;T=V+76|0;C=V+72|0;O=V+68|0;F=V+64|0;N=V+60|0;q=V+128|0;s=V+56|0;w=V+52|0;A=V+48|0;x=V+44|0;y=V+40|0;H=V+36|0;v=V+32|0;K=V+28|0;I=V+24|0;E=V+20|0;J=V+16|0;L=V+12|0;z=V+8|0;B=V+4|0;G=V;c[P>>2]=b;c[Q>>2]=f;c[t>>2]=g;c[o>>2]=h;c[R>>2]=j;c[p>>2]=k;c[M>>2]=l;c[u>>2]=m;c[S>>2]=n;c[U>>2]=c[(c[P>>2]|0)+8>>2];c[C>>2]=d[c[M>>2]>>0];c[O>>2]=c[(c[M>>2]|0)+4>>2];c[N>>2]=0;if(c[p>>2]|0)n=d[(c[p>>2]|0)+1>>0]|0;else n=0;c[r>>2]=n;if((c[R>>2]|0)!=0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[r>>2]|0)!=0))DG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0);c[F>>2]=c[c[t>>2]>>2];if(c[(c[M>>2]|0)+8>>2]|0){if(((c[(c[M>>2]|0)+8>>2]|0)+(c[F>>2]|0)|0)>(c[(c[P>>2]|0)+76>>2]|0)){h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}}else{if(c[R>>2]|0){c[N>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[N>>2]=(c[N>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[N>>2]|0)}c[(c[M>>2]|0)+8>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;h=(c[P>>2]|0)+76|0;c[h>>2]=(c[h>>2]|0)+(c[F>>2]|0)}c[(c[M>>2]|0)+12>>2]=c[F>>2];c[T>>2]=c[(c[M>>2]|0)+8>>2];a:do if((c[o>>2]|0)<0){if((c[C>>2]|0)!=3){if((c[C>>2]|0)==10|(c[C>>2]|0)==9|(c[C>>2]|0)==13)a[q>>0]=1;else a[q>>0]=0;MA(c[P>>2]|0,c[t>>2]|0,c[T>>2]|0,0,a[q>>0]|0)|0}}else{c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break a;$w(c[U>>2]|0,47,c[o>>2]|0,c[D>>2]|0,(c[T>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}}while(0);if(c[r>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[A>>2]=(c[(c[P>>2]|0)+76>>2]|0)+1;r=(c[P>>2]|0)+76|0;c[r>>2]=(c[r>>2]|0)+(c[F>>2]|0);vA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Sz(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=25;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[A>>2];c[w>>2]=(Hz(c[U>>2]|0)|0)+(c[F>>2]|0);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[F>>2]|0))break;c[x>>2]=Ux(c[P>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0)|0;n=c[U>>2]|0;m=(c[T>>2]|0)+(c[D>>2]|0)|0;if((c[D>>2]|0)<((c[F>>2]|0)-1|0))$w(n,78,m,c[w>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;else $w(n,79,m,c[u>>2]|0,(c[A>>2]|0)+(c[D>>2]|0)|0)|0;Kh(c[U>>2]|0,-1,c[x>>2]|0,-4);Hh(c[U>>2]|0,-128);c[D>>2]=(c[D>>2]|0)+1}$w(c[U>>2]|0,30,c[T>>2]|0,c[A>>2]|0,(c[F>>2]|0)-1|0)|0;break}case 1:{vA(c[U>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:EG(c[P>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[u>>2]|0,c[F>>2]|0,c[T>>2]|0)}if(!(c[R>>2]|0))DG(c[U>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[u>>2]|0)}b:do switch(c[C>>2]|0){case 1:{c[y>>2]=aA(c[P>>2]|0)|0;$w(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[y>>2]|0)|0;Xw(c[U>>2]|0,110,c[O>>2]|0,c[y>>2]|0)|0;eA(c[P>>2]|0,c[y>>2]|0);break}case 2:{$w(c[U>>2]|0,111,c[O>>2]|0,c[T>>2]|0,c[F>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[H>>2]=qA(c[P>>2]|0,(c[N>>2]|0)+1|0)|0;$w(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0)|0;if((c[C>>2]|0)==6){c[v>>2]=(Hz(c[U>>2]|0)|0)+4;Gh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,c[v>>2]|0,c[H>>2]|0,0)|0;Xw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[H>>2]|0)|0}n=c[P>>2]|0;if(c[R>>2]|0)JG(n,c[R>>2]|0,c[Q>>2]|0,(c[H>>2]|0)+(c[N>>2]|0)|0,c[T>>2]|0,1,c[N>>2]|0);else{c[K>>2]=aA(n)|0;Xw(c[U>>2]|0,74,c[O>>2]|0,c[K>>2]|0)|0;$w(c[U>>2]|0,75,c[O>>2]|0,c[H>>2]|0,c[K>>2]|0)|0;Hh(c[U>>2]|0,8);eA(c[P>>2]|0,c[K>>2]|0)}tA(c[P>>2]|0,c[H>>2]|0,(c[N>>2]|0)+1|0);break}case 11:{n=YA(c[c[(c[t>>2]|0)+4>>2]>>2]|0,a[(c[M>>2]|0)+1>>0]|0)|0;a[(c[M>>2]|0)+1>>0]=n;n=c[P>>2]|0;if(c[R>>2]|0){JG(n,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break b}else{c[I>>2]=aA(n)|0;_w(c[U>>2]|0,49,c[T>>2]|0,1,c[I>>2]|0,(c[M>>2]|0)+1|0,1)|0;IA(c[P>>2]|0,c[T>>2]|0,1);Xw(c[U>>2]|0,110,c[O>>2]|0,c[I>>2]|0)|0;eA(c[P>>2]|0,c[I>>2]|0);break b}}case 3:{Xw(c[U>>2]|0,22,1,c[O>>2]|0)|0;break}case 10:{if(c[R>>2]|0)JG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,1,c[N>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){JG(c[P>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[T>>2]|0,c[T>>2]|0,c[F>>2]|0,c[N>>2]|0);break b}n=c[U>>2]|0;if((c[C>>2]|0)==13){Dz(n,18,c[(c[M>>2]|0)+4>>2]|0)|0;break b}else{Xw(n,33,c[T>>2]|0,c[F>>2]|0)|0;IA(c[P>>2]|0,c[T>>2]|0,c[F>>2]|0);break b}}case 7:case 8:{c[B>>2]=0;c[G>>2]=c[(c[M>>2]|0)+16>>2];c[E>>2]=c[c[G>>2]>>2];c[J>>2]=aA(c[P>>2]|0)|0;c[L>>2]=qA(c[P>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=(c[L>>2]|0)+(c[E>>2]|0)+1;if((c[C>>2]|0)==8)c[B>>2]=Gh(c[U>>2]|0,69,(c[O>>2]|0)+1|0,0,c[T>>2]|0,c[F>>2]|0)|0;$w(c[U>>2]|0,49,c[T>>2]|0,c[F>>2]|0,c[z>>2]|0)|0;if((c[C>>2]|0)==8){Xw(c[U>>2]|0,110,(c[O>>2]|0)+1|0,c[z>>2]|0)|0;Hh(c[U>>2]|0,16)}c[D>>2]=0;while(1){n=c[U>>2]|0;if((c[D>>2]|0)>=(c[E>>2]|0))break;Xw(n,31,(c[T>>2]|0)+(e[(c[(c[G>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)+16>>1]|0)-1|0,(c[L>>2]|0)+(c[D>>2]|0)|0)|0;c[D>>2]=(c[D>>2]|0)+1}Xw(n,73,c[O>>2]|0,(c[L>>2]|0)+(c[E>>2]|0)|0)|0;$w(c[U>>2]|0,49,c[L>>2]|0,(c[E>>2]|0)+2|0,c[J>>2]|0)|0;Xw(c[U>>2]|0,110,c[O>>2]|0,c[J>>2]|0)|0;if(c[B>>2]|0)Lz(c[U>>2]|0,c[B>>2]|0);eA(c[P>>2]|0,c[J>>2]|0);tA(c[P>>2]|0,c[L>>2]|0,(c[E>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){i=V;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){i=V;return}Xw(c[U>>2]|0,141,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;i=V;return}function pG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;qG(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}i=h;return}function qG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=202;c[f+8>>2]=203;c[f+24>>2]=c[g>>2];hy(f,c[e>>2]|0)|0;i=d;return}function rG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;h=k;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+453>>0]|0|0)!=2){i=k;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[h>>2]=c[f>>2];c[j>>2]=Dh(b,36286,h)|0;_w(c[g>>2]|0,161,c[(c[e>>2]|0)+468>>2]|0,0,0,c[j>>2]|0,-1)|0;i=k;return}function sG(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+39>>0]|0|0}function tG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;k=f+4|0;g=f;c[j>>2]=a;c[h>>2]=b;c[k>>2]=d;c[g>>2]=e;$w(c[(c[j>>2]|0)+8>>2]|0,29,c[h>>2]|0,c[k>>2]|0,c[g>>2]|0)|0;uA(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function uG(b,d){b=b|0;d=d|0;var 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;v=i;i=i+64|0;f=v+56|0;g=v+52|0;u=v+48|0;k=v+44|0;t=v+40|0;h=v+36|0;p=v+32|0;n=v+28|0;m=v+24|0;j=v+20|0;s=v+16|0;r=v+12|0;o=v+8|0;q=v+4|0;l=v;c[f>>2]=b;c[g>>2]=d;c[u>>2]=c[(c[f>>2]|0)+8>>2];c[t>>2]=0;c[h>>2]=0;a[c[g>>2]>>0]=1;c[k>>2]=0;c[p>>2]=c[(c[g>>2]|0)+40>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+44>>2]|0))break;c[j>>2]=0;c[r>>2]=c[(c[c[p>>2]>>2]|0)+20>>2];if(c[r>>2]|0){c[m>>2]=c[c[r>>2]>>2];c[s>>2]=qA(c[f>>2]|0,c[m>>2]|0)|0;MA(c[f>>2]|0,c[r>>2]|0,c[s>>2]|0,0,1)|0}else{c[m>>2]=0;c[s>>2]=0}if((c[(c[p>>2]|0)+12>>2]|0)>=0){c[j>>2]=Iz(c[u>>2]|0)|0;EG(c[f>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[j>>2]|0,1,c[s>>2]|0)}if((e[(c[(c[p>>2]|0)+4>>2]|0)+2>>1]|0)&32){c[o>>2]=0;c[l>>2]=0;c[q>>2]=c[(c[r>>2]|0)+4>>2];while(1){if(c[o>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=Ux(c[f>>2]|0,c[c[q>>2]>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if(!(c[o>>2]|0))c[o>>2]=c[(c[c[f>>2]>>2]|0)+8>>2];if((c[t>>2]|0)==0?(c[(c[g>>2]|0)+36>>2]|0)!=0:0){d=(c[f>>2]|0)+76|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;c[t>>2]=b}_w(c[u>>2]|0,34,c[t>>2]|0,0,0,c[o>>2]|0,-4)|0}_w(c[u>>2]|0,143,0,c[s>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+4>>2]|0,-5)|0;Hh(c[u>>2]|0,c[m>>2]&255);IA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);tA(c[f>>2]|0,c[s>>2]|0,c[m>>2]|0);if(c[j>>2]|0){Mz(c[u>>2]|0,c[j>>2]|0);kC(c[f>>2]|0)}c[k>>2]=(c[k>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}if(c[t>>2]|0)c[h>>2]=Dz(c[u>>2]|0,45,c[t>>2]|0)|0;kC(c[f>>2]|0);c[k>>2]=0;c[n>>2]=c[(c[g>>2]|0)+28>>2];while(1){if((c[k>>2]|0)>=(c[(c[g>>2]|0)+36>>2]|0))break;DA(c[f>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[n>>2]|0)+16>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+24}a[c[g>>2]>>0]=0;kC(c[f>>2]|0);if(!(c[h>>2]|0)){i=v;return}Lz(c[u>>2]|0,c[h>>2]|0);i=v;return}function vG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;d=j+16|0;h=j+12|0;e=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[h>>2]=c[(c[k>>2]|0)+8>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[g>>2]=c[(c[c[f>>2]>>2]|0)+20>>2];if(c[g>>2]|0)b=c[c[g>>2]>>2]|0;else b=0;_w(c[h>>2]|0,145,c[(c[f>>2]|0)+8>>2]|0,b,0,c[(c[f>>2]|0)+4>>2]|0,-5)|0;c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}i=j;return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+48|0;l=m;d=m+32|0;e=m+28|0;k=m+24|0;f=m+20|0;h=m+16|0;n=m+12|0;g=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){i=m;return}$w(c[k>>2]|0,25,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[g>>2]=c[c[h>>2]>>2];if((c[(c[g>>2]|0)+20>>2]|0)!=0?(c[c[(c[g>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=gG(c[d>>2]|0,c[(c[g>>2]|0)+20>>2]|0,0,0)|0;_w(c[k>>2]|0,57,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ch(c[d>>2]|0,36235,l);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}i=m;return}function xG(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[k>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[k>>2]|0)+42>>0]|0)&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}if(c[(c[j>>2]|0)+4>>2]&16){c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}else{c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}}c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function yG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=n;j=n+28|0;k=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;if((d[(c[j>>2]|0)+453>>0]|0|0)!=2){i=n;return}if(c[g>>2]|0)if(!((d[(c[k>>2]|0)+42>>0]|0)&32))f=1;else f=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else f=0;c[h>>2]=f&1;b=c[c[j>>2]>>2]|0;e=(c[h>>2]|0)!=0?36194:19010;if(c[h>>2]|0)f=c[c[g>>2]>>2]|0;else f=19010;c[l>>2]=c[c[k>>2]>>2];c[l+4>>2]=e;c[l+8>>2]=f;c[m>>2]=Dh(b,36217,l)|0;_w(c[(c[j>>2]|0)+8>>2]|0,161,c[(c[j>>2]|0)+468>>2]|0,0,0,c[m>>2]|0,-1)|0;i=n;return}function zG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;j=l+8|0;h=l+4|0;k=l;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[j>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[h>>2]=c[(c[j>>2]|0)+20>>2],(c[h>>2]|0)!=0):0)?(c[c[h>>2]>>2]|0)==1:0)?(d[c[c[(c[h>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[k>>2]=c[(c[j>>2]|0)+8>>2];if(!(ig(c[k>>2]|0,36186)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[h>>2];break}if(!(ig(c[k>>2]|0,36190)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[h>>2]}}while(0);i=l;return c[g>>2]&255|0}function AG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;s=E+84|0;h=E+80|0;B=E+76|0;t=E+72|0;u=E+68|0;D=E+64|0;C=E+60|0;v=E+56|0;A=E+52|0;j=E+48|0;z=E+44|0;q=E+40|0;w=E+36|0;m=E+32|0;x=E+28|0;y=E+24|0;o=E+20|0;n=E+16|0;p=E+12|0;l=E+8|0;k=E+4|0;r=E;c[s>>2]=a;c[h>>2]=b;c[B>>2]=e;c[t>>2]=f;c[u>>2]=g;c[D>>2]=c[(c[s>>2]|0)+8>>2];c[C>>2]=c[(c[B>>2]|0)+24>>2];c[v>>2]=Iz(c[D>>2]|0)|0;c[j>>2]=0;c[q>>2]=c[c[B>>2]>>2];c[w>>2]=d[c[u>>2]>>0];c[m>>2]=c[(c[u>>2]|0)+4>>2];if(c[(c[B>>2]|0)+16>>2]|0){Xw(c[D>>2]|0,14,c[(c[B>>2]|0)+12>>2]|0,c[(c[B>>2]|0)+16>>2]|0)|0;Kz(c[D>>2]|0,c[C>>2]|0)|0;Mz(c[D>>2]|0,c[(c[B>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[B>>2]|0)+8>>2];if((c[w>>2]|0)==9|(c[w>>2]|0)==13){c[y>>2]=0;c[x>>2]=c[(c[u>>2]|0)+8>>2];c[p>>2]=c[t>>2]}else{c[y>>2]=aA(c[s>>2]|0)|0;c[x>>2]=aA(c[s>>2]|0)|0;c[p>>2]=1}c[o>>2]=(c[c[q>>2]>>2]|0)-(c[(c[B>>2]|0)+4>>2]|0);if((d[(c[B>>2]|0)+28>>0]|0)&1){e=(c[s>>2]|0)+76|0;a=(c[e>>2]|0)+1|0;c[e>>2]=a;c[r>>2]=a;a=(c[s>>2]|0)+72|0;e=c[a>>2]|0;c[a>>2]=e+1;c[n>>2]=e;if(c[(c[B>>2]|0)+16>>2]|0)c[j>>2]=_A(c[s>>2]|0)|0;$w(c[D>>2]|0,60,c[n>>2]|0,c[r>>2]|0,(c[o>>2]|0)+1+(c[p>>2]|0)|0)|0;if(c[j>>2]|0)Lz(c[D>>2]|0,c[j>>2]|0);c[A>>2]=1+(Xw(c[D>>2]|0,106,c[z>>2]|0,c[C>>2]|0)|0);DG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);$w(c[D>>2]|0,100,c[z>>2]|0,c[r>>2]|0,c[n>>2]|0)|0;c[k>>2]=0}else{c[A>>2]=1+(Xw(c[D>>2]|0,107,c[z>>2]|0,c[C>>2]|0)|0);DG(c[D>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[v>>2]|0);c[n>>2]=c[z>>2];c[k>>2]=1}c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;$w(c[D>>2]|0,47,c[n>>2]|0,(c[o>>2]|0)+(c[k>>2]|0)+(c[l>>2]|0)|0,(c[x>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+1}a:do switch(c[w>>2]|0){case 12:{Xw(c[D>>2]|0,74,c[m>>2]|0,c[y>>2]|0)|0;$w(c[D>>2]|0,75,c[m>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Hh(c[D>>2]|0,8);break}case 11:{_w(c[D>>2]|0,49,c[x>>2]|0,1,c[y>>2]|0,(c[u>>2]|0)+1|0,1)|0;IA(c[s>>2]|0,c[x>>2]|0,1);Xw(c[D>>2]|0,110,c[m>>2]|0,c[y>>2]|0)|0;break}case 10:{tG(c[s>>2]|0,c[x>>2]|0,c[m>>2]|0,1);break}default:{h=c[D>>2]|0;j=c[u>>2]|0;if((c[w>>2]|0)==9){Xw(h,33,c[j+8>>2]|0,c[t>>2]|0)|0;IA(c[s>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[t>>2]|0);break a}else{Dz(h,18,c[j+4>>2]|0)|0;break a}}}while(0);if(c[y>>2]|0){eA(c[s>>2]|0,c[x>>2]|0);eA(c[s>>2]|0,c[y>>2]|0)}Mz(c[D>>2]|0,c[v>>2]|0);k=c[D>>2]|0;j=c[z>>2]|0;h=c[A>>2]|0;if((d[(c[B>>2]|0)+28>>0]|0)&1)Xw(k,3,j,h)|0;else Xw(k,7,j,h)|0;if(!(c[(c[B>>2]|0)+12>>2]|0)){B=c[D>>2]|0;D=c[C>>2]|0;Mz(B,D);i=E;return}Dz(c[D>>2]|0,15,c[(c[B>>2]|0)+12>>2]|0)|0;B=c[D>>2]|0;D=c[C>>2]|0;Mz(B,D);i=E;return}function BG(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;v=A+8|0;u=A;h=A+72|0;j=A+68|0;k=A+64|0;t=A+60|0;n=A+56|0;p=A+52|0;l=A+48|0;m=A+44|0;s=A+40|0;q=A+36|0;y=A+32|0;r=A+28|0;x=A+24|0;o=A+20|0;z=A+16|0;w=A+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=c[(c[h>>2]|0)+8>>2];c[l>>2]=c[c[h>>2]>>2];if(a[(c[h>>2]|0)+453>>0]|0){i=A;return}if(d[(c[h>>2]|0)+16>>0]|0){i=A;return}if(d[(c[l>>2]|0)+69>>0]|0){i=A;return}a[(c[h>>2]|0)+16>>0]=1;c[m>>2]=(c[(c[l>>2]|0)+24>>2]&4|0)!=0&1;c[s>>2]=(c[(c[l>>2]|0)+24>>2]&64|0)!=0&1;UB(c[t>>2]|0,c[c[k>>2]>>2]|0);c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[q>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];do if(c[q>>2]|0){if(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2]|0){c[y>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];VB(c[t>>2]|0,c[n>>2]|0,0,c[y>>2]|0,-1)|0;break}if((d[c[q>>2]>>0]|0)!=152?(d[c[q>>2]>>0]|0)!=154:0){c[w>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2];g=c[l>>2]|0;if(!(c[w>>2]|0)){c[v>>2]=(c[n>>2]|0)+1;g=Dh(g,36177,v)|0}else g=ph(g,c[w>>2]|0)|0;c[w>>2]=g;VB(c[t>>2]|0,c[n>>2]|0,0,c[w>>2]|0,170)|0;break}c[o>>2]=b[(c[q>>2]|0)+32>>1];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2]|0)==(c[(c[q>>2]|0)+28>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1}c[r>>2]=c[(c[j>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[r>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[x>>2]=25353;else c[x>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[s>>2]|0)!=0|(c[m>>2]|0)!=0)){e=c[t>>2]|0;f=c[n>>2]|0;VB(e,f,0,ph(c[l>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0)|0,170)|0;break}if(c[m>>2]|0){c[z>>2]=0;f=c[l>>2]|0;e=c[x>>2]|0;c[u>>2]=c[c[r>>2]>>2];c[u+4>>2]=e;c[z>>2]=Dh(f,30741,u)|0;VB(c[t>>2]|0,c[n>>2]|0,0,c[z>>2]|0,170)|0;break}else{VB(c[t>>2]|0,c[n>>2]|0,0,c[x>>2]|0,-1)|0;break}}while(0);c[n>>2]=(c[n>>2]|0)+1}CG(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=A;return}function CG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+64|0;m=l+56|0;n=l+52|0;e=l+48|0;j=l+44|0;f=l+40|0;h=l+8|0;g=l+4|0;k=l;c[m>>2]=a;c[n>>2]=b;c[e>>2]=d;c[j>>2]=c[(c[m>>2]|0)+8>>2];c[h+4>>2]=c[n>>2];c[h>>2]=c[m>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2];c[k>>2]=Sx(h,c[g>>2]|0,0)|0;VB(c[j>>2]|0,c[f>>2]|0,1,c[k>>2]|0,-1)|0;c[f>>2]=(c[f>>2]|0)+1}i=l;return}function DG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){i=h;return}$w(c[e>>2]|0,138,c[f>>2]|0,c[g>>2]|0,1)|0;i=h;return}function EG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;i=i+32|0;j=g+24|0;k=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;l=g+4|0;h=g;c[j>>2]=a;c[k>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[l>>2]=c[(c[j>>2]|0)+8>>2];c[h>>2]=aA(c[j>>2]|0)|0;Gh(c[l>>2]|0,69,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;$w(c[l>>2]|0,49,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Xw(c[l>>2]|0,110,c[k>>2]|0,c[h>>2]|0)|0;eA(c[j>>2]|0,c[h>>2]|0);i=g;return}function FG(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;A=i;i=i+80|0;t=A+64|0;h=A+60|0;u=A+56|0;w=A+52|0;q=A+48|0;z=A+44|0;r=A+40|0;x=A+36|0;p=A+32|0;m=A+28|0;k=A+24|0;j=A+20|0;l=A+16|0;o=A+12|0;s=A+8|0;n=A+4|0;y=A;v=A+68|0;c[h>>2]=f;c[u>>2]=g;c[q>>2]=c[(c[h>>2]|0)+24>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];c[x>>2]=c[(c[q>>2]|0)+12>>2];switch(d[c[u>>2]>>0]|0){case 152:case 154:{a:do if(c[r>>2]|0){c[p>>2]=(c[r>>2]|0)+8;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[r>>2]>>2]|0))break a;if((c[(c[u>>2]|0)+28>>2]|0)==(c[(c[p>>2]|0)+44>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+72}c[m>>2]=c[(c[x>>2]|0)+28>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0)?(c[(c[m>>2]|0)+8>>2]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+24}if((c[k>>2]|0)>=(c[(c[x>>2]|0)+32>>2]|0)?(y=HG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,c[k>>2]=y,(y|0)>=0):0){c[m>>2]=(c[(c[x>>2]|0)+28>>2]|0)+((c[k>>2]|0)*24|0);c[c[m>>2]>>2]=c[(c[u>>2]|0)+44>>2];c[(c[m>>2]|0)+4>>2]=c[(c[u>>2]|0)+28>>2];c[(c[m>>2]|0)+8>>2]=b[(c[u>>2]|0)+32>>1];y=(c[z>>2]|0)+76|0;z=(c[y>>2]|0)+1|0;c[y>>2]=z;c[(c[m>>2]|0)+16>>2]=z;c[(c[m>>2]|0)+12>>2]=-1;c[(c[m>>2]|0)+20>>2]=c[u>>2];b:do if(c[(c[x>>2]|0)+24>>2]|0){c[o>>2]=c[(c[x>>2]|0)+24>>2];c[s>>2]=c[(c[o>>2]|0)+4>>2];c[l>>2]=c[c[o>>2]>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;c[n>>2]=c[c[s>>2]>>2];if(((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[(c[u>>2]|0)+28>>2]|0):0)?(b[(c[n>>2]|0)+32>>1]|0)==(b[(c[u>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}c[(c[m>>2]|0)+12>>2]=c[j>>2]}while(0);if((c[(c[m>>2]|0)+12>>2]|0)<0){y=(c[x>>2]|0)+12|0;z=c[y>>2]|0;c[y>>2]=z+1;c[(c[m>>2]|0)+12>>2]=z}}c[(c[u>>2]|0)+40>>2]=c[x>>2];a[c[u>>2]>>0]=-102;b[(c[u>>2]|0)+34>>1]=c[k>>2]}while(0);c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}case 153:{if((e[(c[q>>2]|0)+28>>1]&8|0)==0?(c[(c[h>>2]|0)+16>>2]|0)==(d[(c[u>>2]|0)+38>>0]|0):0){c[y>>2]=c[(c[x>>2]|0)+40>>2];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0))break;if(!(vy(c[c[y>>2]>>2]|0,c[u>>2]|0,-1)|0))break;c[w>>2]=(c[w>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+16}do if((c[w>>2]|0)>=(c[(c[x>>2]|0)+44>>2]|0)?(a[v>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0,c[w>>2]=IG(c[c[z>>2]>>2]|0,c[x>>2]|0)|0,(c[w>>2]|0)>=0):0){c[y>>2]=(c[(c[x>>2]|0)+40>>2]|0)+(c[w>>2]<<4);c[c[y>>2]>>2]=c[u>>2];s=(c[z>>2]|0)+76|0;f=(c[s>>2]|0)+1|0;c[s>>2]=f;c[(c[y>>2]|0)+8>>2]=f;if(c[(c[u>>2]|0)+20>>2]|0)h=c[c[(c[u>>2]|0)+20>>2]>>2]|0;else h=0;v=ii(c[c[z>>2]>>2]|0,c[(c[u>>2]|0)+8>>2]|0,h,a[v>>0]|0,0)|0;c[(c[y>>2]|0)+4>>2]=v;if(c[(c[u>>2]|0)+4>>2]&16){v=(c[z>>2]|0)+72|0;z=c[v>>2]|0;c[v>>2]=z+1;c[(c[y>>2]|0)+12>>2]=z;break}else{c[(c[y>>2]|0)+12>>2]=-1;break}}while(0);b[(c[u>>2]|0)+34>>1]=c[w>>2];c[(c[u>>2]|0)+40>>2]=c[x>>2];c[t>>2]=1;z=c[t>>2]|0;i=A;return z|0}c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}default:{c[t>>2]=0;z=c[t>>2]|0;i=A;return z|0}}return 0}function GG(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=xC(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;i=e;return c[d>>2]|0}function IG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=xC(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;i=e;return c[d>>2]|0}function JG(b,f,g,h,j,k,l){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+96|0;r=J+88|0;s=J+84|0;m=J+80|0;n=J+76|0;o=J+72|0;t=J+68|0;p=J+64|0;I=J+60|0;x=J+56|0;z=J+52|0;q=J+48|0;F=J+44|0;H=J+40|0;B=J+36|0;C=J+32|0;y=J+28|0;G=J+24|0;v=J+20|0;w=J+16|0;E=J+12|0;A=J+8|0;D=J+4|0;u=J;c[r>>2]=b;c[s>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[t>>2]=k;c[p>>2]=l;c[I>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=(d[(c[s>>2]|0)+28>>0]&1|0)==0&1;c[z>>2]=c[c[c[s>>2]>>2]>>2];c[q>>2]=(c[z>>2]|0)+(c[x>>2]|0)+(c[t>>2]|0);h=(c[r>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[H>>2]=j;c[B>>2]=c[(c[s>>2]|0)+4>>2];if(c[p>>2]|0)c[F>>2]=(c[n>>2]|0)-(c[z>>2]|0)-(c[x>>2]|0);else{c[F>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;j=(c[r>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[q>>2]|0)}k=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)k=(c[k+16>>2]|0)+1|0;else k=c[k+12>>2]|0;c[y>>2]=k;m=Iz(c[I>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=m;MA(c[r>>2]|0,c[c[s>>2]>>2]|0,c[F>>2]|0,c[o>>2]|0,5)|0;if(c[x>>2]|0)Xw(c[I>>2]|0,73,c[(c[s>>2]|0)+8>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;if(!(c[p>>2]|0))tG(c[r>>2]|0,c[n>>2]|0,(c[F>>2]|0)+(c[z>>2]|0)+(c[x>>2]|0)|0,c[t>>2]|0);$w(c[I>>2]|0,49,(c[F>>2]|0)+(c[B>>2]|0)|0,(c[q>>2]|0)-(c[B>>2]|0)|0,c[H>>2]|0)|0;if((c[B>>2]|0)>0){c[G>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;k=(c[r>>2]|0)+76|0;c[k>>2]=(c[k>>2]|0)+(c[(c[s>>2]|0)+4>>2]|0);c[A>>2]=(c[z>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0)+(c[x>>2]|0);k=c[I>>2]|0;if(c[x>>2]|0)c[v>>2]=Dz(k,46,(c[F>>2]|0)+(c[z>>2]|0)|0)|0;else c[v>>2]=Dz(k,59,c[(c[s>>2]|0)+8>>2]|0)|0;$w(c[I>>2]|0,42,c[G>>2]|0,c[F>>2]|0,c[(c[s>>2]|0)+4>>2]|0)|0;c[E>>2]=Sz(c[I>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;if(a[(c[c[r>>2]>>2]|0)+69>>0]|0){i=J;return}c[(c[E>>2]|0)+8>>2]=(c[A>>2]|0)+(c[t>>2]|0);c[D>>2]=c[(c[E>>2]|0)+16>>2];tR(c[(c[D>>2]|0)+16>>2]|0,0,e[(c[D>>2]|0)+6>>1]|0)|0;Kh(c[I>>2]|0,-1,c[D>>2]|0,-6);D=gG(c[r>>2]|0,c[c[s>>2]>>2]|0,c[B>>2]|0,(e[(c[D>>2]|0)+8>>1]|0)-1|0)|0;c[(c[E>>2]|0)+16>>2]=D;c[w>>2]=Hz(c[I>>2]|0)|0;$w(c[I>>2]|0,43,(c[w>>2]|0)+1|0,0,(c[w>>2]|0)+1|0)|0;D=Iz(c[I>>2]|0)|0;c[(c[s>>2]|0)+16>>2]=D;D=(c[r>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[s>>2]|0)+12>>2]=E;Xw(c[I>>2]|0,14,c[(c[s>>2]|0)+12>>2]|0,c[(c[s>>2]|0)+16>>2]|0)|0;Dz(c[I>>2]|0,120,c[(c[s>>2]|0)+8>>2]|0)|0;if(c[y>>2]|0)Xw(c[I>>2]|0,46,c[y>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;Lz(c[I>>2]|0,c[v>>2]|0);tG(c[r>>2]|0,c[F>>2]|0,c[G>>2]|0,c[(c[s>>2]|0)+4>>2]|0);Lz(c[I>>2]|0,c[w>>2]|0)}if(d[(c[s>>2]|0)+28>>0]&1)c[C>>2]=109;else c[C>>2]=110;Xw(c[I>>2]|0,c[C>>2]|0,c[(c[s>>2]|0)+8>>2]|0,c[H>>2]|0)|0;if(!(c[y>>2]|0)){i=J;return}c[u>>2]=$w(c[I>>2]|0,140,c[y>>2]|0,0,1)|0;Dz(c[I>>2]|0,105,c[(c[s>>2]|0)+8>>2]|0)|0;Dz(c[I>>2]|0,95,c[(c[s>>2]|0)+8>>2]|0)|0;Lz(c[I>>2]|0,c[u>>2]|0);i=J;return}function KG(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;m=q+20|0;j=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[j>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;i=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[k>>2]=ty(c[j>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;dv(c[j>>2]|0,c[n>>2]|0);c[n>>2]=c[k>>2];break}else l=8;while(0);do if((l|0)==8){e=KG(c[j>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=KG(c[j>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;j=c[j>>2]|0;e=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048){LG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{MG(j,c[e>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;i=q;return p|0}function LG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;o=q+4|0;n=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[j>>2]|0)){i=q;return}while(1){MG(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0,c[l>>2]|0);MG(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0);MG(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,c[l>>2]|0);f=KG(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+40>>2]=f;f=KG(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=f;c[p>>2]=c[(c[j>>2]|0)+28>>2];c[n>>2]=c[c[p>>2]>>2];c[o>>2]=(c[p>>2]|0)+8;while(1){if((c[n>>2]|0)<=0)break;LG(c[h>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[k>>2]|0,c[l>>2]|0,1);if((d[(c[o>>2]|0)+36+1>>0]|0)>>>2&1)MG(c[h>>2]|0,c[(c[o>>2]|0)+64>>2]|0,c[k>>2]|0,c[l>>2]|0);c[n>>2]=(c[n>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+72}if(!(c[m>>2]|0)){h=9;break}f=c[(c[j>>2]|0)+48>>2]|0;c[j>>2]=f;if(!f){h=9;break}}if((h|0)==9){i=q;return}}function MG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=KG(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=b;c[k>>2]=(c[k>>2]|0)+1}i=l;return}function NG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[l>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){f=7;break}c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[l>>2]=Iv(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[k>>2];if(c[l>>2]|0){f=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((f|0)==7){i=m;return c[l>>2]|0}return 0}function OG(a,b,e){a=a|0;b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+128|0;F=G;o=G+112|0;p=G+108|0;q=G+104|0;g=G+100|0;l=G+96|0;E=G+92|0;A=G+88|0;t=G+84|0;s=G+80|0;r=G+76|0;v=G+72|0;B=G+68|0;w=G+64|0;k=G+60|0;j=G+56|0;u=G+36|0;f=G+32|0;n=G+28|0;z=G+24|0;x=G+20|0;y=G+16|0;C=G+12|0;D=G+8|0;m=G+4|0;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[(c[p>>2]|0)+28>>2];c[l>>2]=c[c[c[p>>2]>>2]>>2];c[E>>2]=c[(c[o>>2]|0)+8>>2];c[A>>2]=c[(c[p>>2]|0)+48>>2];c[v>>2]=0;c[k>>2]=0;c[j>>2]=5;if(Sw(c[o>>2]|0,33,0,0,0)|0){i=G;return}c[r>>2]=Iz(c[E>>2]|0)|0;hG(c[o>>2]|0,c[p>>2]|0,c[r>>2]|0);c[x>>2]=c[(c[p>>2]|0)+56>>2];c[y>>2]=c[(c[p>>2]|0)+60>>2];c[C>>2]=c[(c[p>>2]|0)+12>>2];c[D>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+60>>2]=0;c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[p>>2]|0)+12>>2]=0;c[z>>2]=c[(c[p>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;b=c[f>>2]|0;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1){h=5;break}c[f>>2]=b+1}if((h|0)==5)c[v>>2]=c[(c[g>>2]|0)+8+(b*72|0)+44>>2];h=(c[o>>2]|0)+72|0;b=c[h>>2]|0;c[h>>2]=b+1;c[w>>2]=b;b=(c[z>>2]|0)!=0;if((d[(c[p>>2]|0)+4>>0]|0|0)==115){c[j>>2]=b?8:6;g=(c[o>>2]|0)+72|0;h=c[g>>2]|0;c[g>>2]=h+1;c[k>>2]=h}else c[j>>2]=b?7:5;dB(u,c[j>>2]|0,c[w>>2]|0);h=(c[o>>2]|0)+76|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[B>>2]=j;$w(c[E>>2]|0,60,c[v>>2]|0,c[B>>2]|0,c[l>>2]|0)|0;if(c[z>>2]|0){c[m>>2]=SG(c[o>>2]|0,c[p>>2]|0,1)|0;_w(c[E>>2]|0,57,c[w>>2]|0,(c[c[z>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+16>>2]=c[z>>2]}else Xw(c[E>>2]|0,57,c[w>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){m=Xw(c[E>>2]|0,57,c[k>>2]|0,0)|0;c[(c[p>>2]|0)+20>>2]=m;m=(c[p>>2]|0)+8|0;c[m>>2]=c[m>>2]|16}c[(c[p>>2]|0)+44>>2]=0;c[(c[A>>2]|0)+52>>2]=0;c[n>>2]=Iv(c[o>>2]|0,c[A>>2]|0,u)|0;c[(c[A>>2]|0)+52>>2]=c[p>>2];if(!(c[n>>2]|0)){c[t>>2]=Xw(c[E>>2]|0,108,c[w>>2]|0,c[r>>2]|0)|0;Dz(c[E>>2]|0,104,c[v>>2]|0)|0;b=c[E>>2]|0;e=c[w>>2]|0;if(c[z>>2]|0)$w(b,47,e,(c[c[z>>2]>>2]|0)+1|0,c[B>>2]|0)|0;else Xw(b,102,e,c[B>>2]|0)|0;Dz(c[E>>2]|0,95,c[w>>2]|0)|0;c[s>>2]=Iz(c[E>>2]|0)|0;DG(c[E>>2]|0,c[D>>2]|0,c[s>>2]|0);oG(c[o>>2]|0,c[p>>2]|0,c[c[p>>2]>>2]|0,c[v>>2]|0,0,0,c[q>>2]|0,c[s>>2]|0,c[r>>2]|0);if(c[C>>2]|0)Xw(c[E>>2]|0,141,c[C>>2]|0,c[r>>2]|0)|0;Mz(c[E>>2]|0,c[s>>2]|0);if(c[(c[p>>2]|0)+8>>2]&8)Ch(c[o>>2]|0,36458,F);else{c[(c[p>>2]|0)+48>>2]=0;Iv(c[o>>2]|0,c[p>>2]|0,u)|0;c[(c[p>>2]|0)+48>>2]=c[A>>2]}Kz(c[E>>2]|0,c[t>>2]|0)|0;Mz(c[E>>2]|0,c[r>>2]|0)}$u(c[c[o>>2]>>2]|0,c[(c[p>>2]|0)+44>>2]|0);c[(c[p>>2]|0)+44>>2]=c[z>>2];c[(c[p>>2]|0)+56>>2]=c[x>>2];c[(c[p>>2]|0)+60>>2]=c[y>>2];i=G;return}function PG(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=i;i=i+224|0;q=ba+212|0;r=ba+208|0;s=ba+204|0;t=ba+200|0;j=ba+196|0;k=ba+192|0;S=ba+188|0;aa=ba+184|0;H=ba+164|0;I=ba+144|0;T=ba+140|0;U=ba+136|0;E=ba+132|0;F=ba+128|0;X=ba+124|0;Y=ba+120|0;C=ba+116|0;D=ba+112|0;z=ba+108|0;A=ba+104|0;B=ba+100|0;y=ba+96|0;w=ba+92|0;x=ba+88|0;V=ba+84|0;W=ba+80|0;Z=ba+76|0;_=ba+72|0;$=ba+68|0;L=ba+64|0;M=ba+60|0;v=ba+56|0;O=ba+52|0;Q=ba+48|0;R=ba+44|0;G=ba+40|0;p=ba+36|0;N=ba+32|0;u=ba+28|0;J=ba+24|0;K=ba+20|0;m=ba+16|0;o=ba+12|0;n=ba+8|0;l=ba+4|0;P=ba;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[D>>2]=0;c[Q>>2]=0;c[G>>2]=c[c[r>>2]>>2];c[aa>>2]=c[(c[r>>2]|0)+8>>2];c[M>>2]=Iz(c[aa>>2]|0)|0;c[L>>2]=Iz(c[aa>>2]|0)|0;c[O>>2]=d[(c[s>>2]|0)+4>>0];c[S>>2]=c[(c[s>>2]|0)+48>>2];c[p>>2]=c[(c[s>>2]|0)+44>>2];c[N>>2]=c[c[p>>2]>>2];a:do if((c[O>>2]|0)!=116){c[j>>2]=1;while(1){if(d[(c[G>>2]|0)+69>>0]|0)break a;if((c[j>>2]|0)>(c[c[c[s>>2]>>2]>>2]|0))break a;c[k>>2]=0;c[m>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[N>>2]|0))break;if((e[(c[m>>2]|0)+16>>1]|0)==(c[j>>2]|0))break;c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((c[k>>2]|0)==(c[N>>2]|0)){c[o>>2]=Pv(c[G>>2]|0,132,0)|0;if(!(c[o>>2]|0))break;f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];c[p>>2]=Mv(c[r>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){h=c[j>>2]&65535;f=c[N>>2]|0;c[N>>2]=f+1;b[(c[(c[p>>2]|0)+4>>2]|0)+(f*20|0)+16>>1]=h}}c[j>>2]=(c[j>>2]|0)+1}c[q>>2]=7;aa=c[q>>2]|0;i=ba;return aa|0}while(0);c[u>>2]=Lw(c[G>>2]|0,(c[N>>2]|0)+1<<2,0)|0;if(c[u>>2]|0){c[c[u>>2]>>2]=c[N>>2];c[j>>2]=1;c[n>>2]=c[(c[p>>2]|0)+4>>2];while(1){if((c[j>>2]|0)>(c[N>>2]|0))break;c[(c[u>>2]|0)+(c[j>>2]<<2)>>2]=(e[(c[n>>2]|0)+16>>1]|0)-1;c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[R>>2]=SG(c[r>>2]|0,c[s>>2]|0,1)|0}else c[R>>2]=0;c[(c[s>>2]|0)+44>>2]=c[p>>2];f=By(c[c[r>>2]>>2]|0,c[p>>2]|0,0)|0;c[(c[S>>2]|0)+44>>2]=f;b:do if((c[O>>2]|0)!=116){c[l>>2]=c[c[c[s>>2]>>2]>>2];c[Z>>2]=(c[(c[r>>2]|0)+76>>2]|0)+1;f=(c[r>>2]|0)+76|0;c[f>>2]=(c[f>>2]|0)+((c[l>>2]|0)+1);Xw(c[aa>>2]|0,22,0,c[Z>>2]|0)|0;c[Q>>2]=Wz(c[G>>2]|0,c[l>>2]|0,1)|0;if(c[Q>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break b;f=RG(c[r>>2]|0,c[s>>2]|0,c[j>>2]|0)|0;c[(c[Q>>2]|0)+20+(c[j>>2]<<2)>>2]=f;a[(c[(c[Q>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=0;c[j>>2]=(c[j>>2]|0)+1}}}else c[Z>>2]=0;while(0);c[(c[s>>2]|0)+48>>2]=0;c[(c[S>>2]|0)+52>>2]=0;Ey(c[r>>2]|0,c[s>>2]|0,c[(c[s>>2]|0)+44>>2]|0,29687)|0;if(!(c[(c[S>>2]|0)+48>>2]|0))Ey(c[r>>2]|0,c[S>>2]|0,c[(c[S>>2]|0)+44>>2]|0,29687)|0;hG(c[r>>2]|0,c[s>>2]|0,c[M>>2]|0);if((c[O>>2]|0)==116?(c[(c[s>>2]|0)+12>>2]|0)!=0:0){j=(c[r>>2]|0)+76|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;c[V>>2]=f;f=(c[r>>2]|0)+76|0;j=(c[f>>2]|0)+1|0;c[f>>2]=j;c[W>>2]=j;j=c[s>>2]|0;if(c[(c[s>>2]|0)+16>>2]|0)j=(c[j+16>>2]|0)+1|0;else j=c[j+12>>2]|0;Xw(c[aa>>2]|0,30,j,c[V>>2]|0)|0;Xw(c[aa>>2]|0,30,c[V>>2]|0,c[W>>2]|0)|0}else{c[W>>2]=0;c[V>>2]=0}dv(c[G>>2]|0,c[(c[s>>2]|0)+56>>2]|0);c[(c[s>>2]|0)+56>>2]=0;dv(c[G>>2]|0,c[(c[s>>2]|0)+60>>2]|0);c[(c[s>>2]|0)+60>>2]=0;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[T>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[U>>2]=f;f=(c[r>>2]|0)+76|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[X>>2]=p;p=(c[r>>2]|0)+76|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[Y>>2]=f;dB(H,13,c[T>>2]|0);dB(I,13,c[U>>2]|0);c[E>>2]=(Hz(c[aa>>2]|0)|0)+1;c[v>>2]=$w(c[aa>>2]|0,16,c[T>>2]|0,0,c[E>>2]|0)|0;c[(c[S>>2]|0)+12>>2]=c[V>>2];c[J>>2]=c[(c[r>>2]|0)+472>>2];Iv(c[r>>2]|0,c[S>>2]|0,H)|0;DC(c[aa>>2]|0,c[T>>2]|0);Lz(c[aa>>2]|0,c[v>>2]|0);c[F>>2]=(Hz(c[aa>>2]|0)|0)+1;c[v>>2]=$w(c[aa>>2]|0,16,c[U>>2]|0,0,c[F>>2]|0)|0;c[_>>2]=c[(c[s>>2]|0)+12>>2];c[$>>2]=c[(c[s>>2]|0)+16>>2];c[(c[s>>2]|0)+12>>2]=c[W>>2];c[(c[s>>2]|0)+16>>2]=0;c[K>>2]=c[(c[r>>2]|0)+472>>2];Iv(c[r>>2]|0,c[s>>2]|0,I)|0;c[(c[s>>2]|0)+12>>2]=c[_>>2];c[(c[s>>2]|0)+16>>2]=c[$>>2];DC(c[aa>>2]|0,c[U>>2]|0);c[C>>2]=TG(c[r>>2]|0,c[s>>2]|0,H,c[t>>2]|0,c[X>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)c[D>>2]=TG(c[r>>2]|0,c[s>>2]|0,I,c[t>>2]|0,c[Y>>2]|0,c[Z>>2]|0,c[Q>>2]|0,c[M>>2]|0)|0;Xz(c[Q>>2]|0);if((c[O>>2]|0)==117|(c[O>>2]|0)==118){$=c[M>>2]|0;c[z>>2]=$;c[A>>2]=$}else{c[z>>2]=Xw(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;c[A>>2]=Xw(c[aa>>2]|0,18,c[U>>2]|0,c[M>>2]|0)|0;Kz(c[aa>>2]|0,c[z>>2]|0)|0;$=QD(b[(c[s>>2]|0)+6>>1]|0,b[(c[S>>2]|0)+6>>1]|0)|0;b[(c[s>>2]|0)+6>>1]=$}if((c[O>>2]|0)==118){c[B>>2]=c[z>>2];if((b[(c[s>>2]|0)+6>>1]|0)>(b[(c[S>>2]|0)+6>>1]|0))b[(c[s>>2]|0)+6>>1]=b[(c[S>>2]|0)+6>>1]|0}else{c[B>>2]=Xw(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;Xw(c[aa>>2]|0,18,c[T>>2]|0,c[M>>2]|0)|0;Kz(c[aa>>2]|0,c[B>>2]|0)|0}c[y>>2]=Xw(c[aa>>2]|0,14,c[X>>2]|0,c[C>>2]|0)|0;Xw(c[aa>>2]|0,18,c[T>>2]|0,c[z>>2]|0)|0;Kz(c[aa>>2]|0,c[L>>2]|0)|0;do if((c[O>>2]|0)!=116)if((c[O>>2]|0)==118){c[w>>2]=c[y>>2];c[y>>2]=(c[y>>2]|0)+1;break}else{c[w>>2]=Xw(c[aa>>2]|0,18,c[T>>2]|0,c[z>>2]|0)|0;Kz(c[aa>>2]|0,c[L>>2]|0)|0;break}else c[w>>2]=c[y>>2];while(0);c[x>>2]=Hz(c[aa>>2]|0)|0;if((c[O>>2]|0)==116|(c[O>>2]|0)==115)Xw(c[aa>>2]|0,14,c[Y>>2]|0,c[D>>2]|0)|0;Xw(c[aa>>2]|0,18,c[U>>2]|0,c[B>>2]|0)|0;Kz(c[aa>>2]|0,c[L>>2]|0)|0;Lz(c[aa>>2]|0,c[v>>2]|0);Xw(c[aa>>2]|0,18,c[T>>2]|0,c[A>>2]|0)|0;Xw(c[aa>>2]|0,18,c[U>>2]|0,c[B>>2]|0)|0;Mz(c[aa>>2]|0,c[L>>2]|0);_w(c[aa>>2]|0,41,0,0,0,c[u>>2]|0,-15)|0;_w(c[aa>>2]|0,42,c[H+8>>2]|0,c[I+8>>2]|0,c[N>>2]|0,c[R>>2]|0,-6)|0;Hh(c[aa>>2]|0,1);$w(c[aa>>2]|0,43,c[y>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;Mz(c[aa>>2]|0,c[M>>2]|0);if((d[c[t>>2]>>0]|0)==9){c[P>>2]=c[S>>2];while(1){if(!(c[(c[P>>2]|0)+48>>2]|0))break;c[P>>2]=c[(c[P>>2]|0)+48>>2]}BG(c[r>>2]|0,c[(c[P>>2]|0)+28>>2]|0,c[c[P>>2]>>2]|0)}if(c[(c[s>>2]|0)+48>>2]|0)av(c[G>>2]|0,c[(c[s>>2]|0)+48>>2]|0);c[(c[s>>2]|0)+48>>2]=c[S>>2];c[(c[S>>2]|0)+52>>2]=c[s>>2];QG(c[r>>2]|0,d[(c[s>>2]|0)+4>>0]|0,c[J>>2]|0,c[K>>2]|0,0);c[q>>2]=(c[(c[r>>2]|0)+68>>2]|0)!=0&1;aa=c[q>>2]|0;i=ba;return aa|0}function QG(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;o=q;h=q+40|0;j=q+36|0;k=q+32|0;l=q+28|0;m=q+24|0;n=q+20|0;p=q+16|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if((d[(c[h>>2]|0)+453>>0]|0|0)!=2){i=q;return}c[n>>2]=c[(c[h>>2]|0)+8>>2];a=c[c[h>>2]>>2]|0;g=c[k>>2]|0;e=c[l>>2]|0;f=(c[m>>2]|0)!=0?36402:19010;b=Dy(c[j>>2]|0)|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=f;c[o+12>>2]=b;c[p>>2]=Dh(a,36421,o)|0;_w(c[n>>2]|0,161,c[(c[h>>2]|0)+468>>2]|0,0,0,c[p>>2]|0,-1)|0;i=q;return}function RG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=RG(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;i=j;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;i=j;return h|0}c[h>>2]=Ux(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;i=j;return h|0}function SG(b,d,f){b=b|0;d=d|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,r=0,s=0;r=i;i=i+48|0;g=r+40|0;h=r+36|0;s=r+32|0;o=r+28|0;l=r+24|0;j=r+20|0;p=r+16|0;k=r+12|0;n=r+8|0;q=r+4|0;m=r;c[g>>2]=b;c[h>>2]=d;c[s>>2]=f;c[o>>2]=c[(c[h>>2]|0)+44>>2];c[l>>2]=c[c[(c[h>>2]|0)+44>>2]>>2];c[j>>2]=c[c[g>>2]>>2];c[p>>2]=Wz(c[j>>2]|0,(c[l>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[p>>2]|0)){s=c[p>>2]|0;i=r;return s|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0);c[q>>2]=c[c[n>>2]>>2];f=c[g>>2]|0;if(c[(c[q>>2]|0)+4>>2]&256)c[m>>2]=Ux(f,c[q>>2]|0)|0;else{c[m>>2]=RG(f,c[h>>2]|0,(e[(c[n>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[(c[j>>2]|0)+8>>2];s=Hy(c[g>>2]|0,c[q>>2]|0,c[c[m>>2]>>2]|0)|0;c[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]=s}c[(c[p>>2]|0)+20+(c[k>>2]<<2)>>2]=c[m>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[o>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+12>>0]|0;c[k>>2]=(c[k>>2]|0)+1}s=c[p>>2]|0;i=r;return s|0}function TG(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;m=D+64|0;n=D+60|0;o=D+56|0;p=D+52|0;q=D+48|0;r=D+44|0;s=D+40|0;t=D+36|0;u=D+32|0;C=D+28|0;y=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;z=D+8|0;B=D+4|0;A=D;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[C>>2]=c[(c[n>>2]|0)+8>>2];c[v>>2]=Hz(c[C>>2]|0)|0;c[y>>2]=Iz(c[C>>2]|0)|0;if(c[s>>2]|0){c[w>>2]=Dz(c[C>>2]|0,46,c[s>>2]|0)|0;k=c[C>>2]|0;b=c[(c[p>>2]|0)+8>>2]|0;j=(c[s>>2]|0)+1|0;h=c[(c[p>>2]|0)+12>>2]|0;c[x>>2]=_w(k,42,b,j,h,$z(c[t>>2]|0)|0,-6)|0;$w(c[C>>2]|0,43,(c[x>>2]|0)+2|0,c[y>>2]|0,(c[x>>2]|0)+2|0)|0;Lz(c[C>>2]|0,c[w>>2]|0);$w(c[C>>2]|0,30,c[(c[p>>2]|0)+8>>2]|0,(c[s>>2]|0)+1|0,(c[(c[p>>2]|0)+12>>2]|0)-1|0)|0;Xw(c[C>>2]|0,22,1,c[s>>2]|0)|0}if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=0;C=c[m>>2]|0;i=D;return C|0}DG(c[C>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[y>>2]|0);switch(d[c[q>>2]>>0]|0){case 12:{c[z>>2]=aA(c[n>>2]|0)|0;c[B>>2]=aA(c[n>>2]|0)|0;$w(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[z>>2]|0)|0;Xw(c[C>>2]|0,74,c[(c[q>>2]|0)+4>>2]|0,c[B>>2]|0)|0;$w(c[C>>2]|0,75,c[(c[q>>2]|0)+4>>2]|0,c[z>>2]|0,c[B>>2]|0)|0;Hh(c[C>>2]|0,8);eA(c[n>>2]|0,c[B>>2]|0);eA(c[n>>2]|0,c[z>>2]|0);break}case 11:{h=YA(c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2]|0,a[(c[q>>2]|0)+1>>0]|0)|0;a[(c[q>>2]|0)+1>>0]=h;c[A>>2]=aA(c[n>>2]|0)|0;_w(c[C>>2]|0,49,c[(c[p>>2]|0)+8>>2]|0,1,c[A>>2]|0,(c[q>>2]|0)+1|0,1)|0;IA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1);Xw(c[C>>2]|0,110,c[(c[q>>2]|0)+4>>2]|0,c[A>>2]|0)|0;eA(c[n>>2]|0,c[A>>2]|0);break}case 10:{tG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+4>>2]|0,1);break}case 13:{if(!(c[(c[q>>2]|0)+8>>2]|0)){h=qA(c[n>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;c[(c[q>>2]|0)+8>>2]=h;c[(c[q>>2]|0)+12>>2]=c[(c[p>>2]|0)+12>>2]}tG(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0);Dz(c[C>>2]|0,18,c[(c[q>>2]|0)+4>>2]|0)|0;break}default:{Xw(c[C>>2]|0,33,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)|0;IA(c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0)}}if(c[(c[o>>2]|0)+12>>2]|0)Xw(c[C>>2]|0,141,c[(c[o>>2]|0)+12>>2]|0,c[u>>2]|0)|0;Mz(c[C>>2]|0,c[y>>2]|0);Dz(c[C>>2]|0,15,c[r>>2]|0)|0;c[m>>2]=c[v>>2];C=c[m>>2]|0;i=D;return C|0}function UG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[g>>2]>>2];if(!(c[(c[k>>2]|0)+24>>2]&524288)){i=o;return}if((d[(c[j>>2]|0)+42>>0]|0)&16){i=o;return}if(c[(c[j>>2]|0)+12>>2]|0){i=o;return}c[l>>2]=0;c[n>>2]=Vw(c[g>>2]|0)|0;do if(!(Kx(c[j>>2]|0)|0)){c[m>>2]=c[(c[j>>2]|0)+16>>2];while(1){if(!(c[m>>2]|0))break;if(d[(c[m>>2]|0)+24>>0]|0)break;if(c[(c[k>>2]|0)+24>>2]&16777216)break;c[m>>2]=c[(c[m>>2]|0)+4>>2]}if(c[m>>2]|0){c[l>>2]=Iz(c[n>>2]|0)|0;Xw(c[n>>2]|0,136,1,c[l>>2]|0)|0;break}else{i=o;return}}while(0);a[(c[g>>2]|0)+442>>0]=1;f=c[g>>2]|0;Xv(f,rz(c[k>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+442>>0]=0;if(!(c[(c[k>>2]|0)+24>>2]&16777216)){f=c[n>>2]|0;Xw(f,136,0,(Hz(c[n>>2]|0)|0)+2|0)|0;hA(c[g>>2]|0,787,2,0,-2,4)}if(!(c[l>>2]|0)){i=o;return}Mz(c[n>>2]|0,c[l>>2]|0);i=o;return}function VG(a,b,e,f){a=a|0;b=b|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,r=0;r=i;i=i+64|0;q=r+8|0;p=r;g=r+48|0;h=r+44|0;j=r+40|0;k=r+36|0;o=r+32|0;l=r+28|0;n=r+24|0;m=r+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[l>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[o>>2]=Vw(c[g>>2]|0)|0;gx(c[g>>2]|0,1,c[j>>2]|0);if((d[(c[h>>2]|0)+42>>0]|0)&16)cx(c[o>>2]|0,149)|0;c[n>>2]=lx(c[g>>2]|0,c[h>>2]|0)|0;while(1){if(!(c[n>>2]|0))break;GB(c[g>>2]|0,c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+32>>2]}if((d[(c[h>>2]|0)+42>>0]|0)&8){n=c[g>>2]|0;b=c[c[h>>2]>>2]|0;c[p>>2]=c[c[m>>2]>>2];c[p+4>>2]=b;Uw(n,36719,p)}p=c[g>>2]|0;b=(c[j>>2]|0)==1?20513:20532;n=c[c[h>>2]>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[q+4>>2]=b;c[q+8>>2]=n;Uw(p,36764,q);if((c[k>>2]|0)==0?((d[(c[h>>2]|0)+42>>0]|0)&16|0)==0:0)WG(c[g>>2]|0,c[h>>2]|0);if(!((d[(c[h>>2]|0)+42>>0]|0)&16)){o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;_w(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Ww(q,p);p=c[l>>2]|0;q=c[j>>2]|0;XG(p,q);i=r;return}_w(c[o>>2]|0,151,c[j>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;o=c[o>>2]|0;p=c[j>>2]|0;q=c[h>>2]|0;q=c[q>>2]|0;_w(o,125,p,0,0,q,0)|0;q=c[g>>2]|0;p=c[j>>2]|0;Ww(q,p);p=c[l>>2]|0;q=c[j>>2]|0;XG(p,q);i=r;return}function WG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;d=n+28|0;e=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;f=n;c[d>>2]=a;c[e>>2]=b;c[k>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[j>>2]=0;if(!((c[g>>2]|0)!=0?(c[k>>2]|0)>=(c[g>>2]|0):0))c[j>>2]=c[k>>2];c[l>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;c[h>>2]=c[(c[l>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[h>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[h>>2]|0)>(c[j>>2]|0)):0)c[j>>2]=c[h>>2];c[l>>2]=c[(c[l>>2]|0)+20>>2]}if(!(c[j>>2]|0))break;c[f>>2]=Fh(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;wC(c[d>>2]|0,c[j>>2]|0,c[f>>2]|0);c[g>>2]=c[j>>2]}i=n;return}function XG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){i=k;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[j>>2]|0)+12>>2]|0){YG(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+4>>2]=0;b[(c[j>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}j=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[j>>1]=(e[j>>1]|0)&-3;i=k;return}function YG(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){i=j;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Tf(a,c[c[h>>2]>>2]|0);dv(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Tf(a,c[(c[f>>2]|0)+4>>2]|0);i=j;return}function ZG(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+144|0;h=p+128|0;j=p+124|0;k=p+120|0;l=p+116|0;m=p+112|0;o=p;n=p+80|0;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;f=o;g=f+80|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[o>>2]=1;c[o+8+8>>2]=c[c[j>>2]>>2];c[o+8+16>>2]=c[j>>2];c[o+8+44>>2]=-1;c[n>>2]=c[h>>2];c[n+4>>2]=o;b[n+28>>1]=c[k>>2];o=(ly(n,c[l>>2]|0)|0)==0;if(!(o&(c[m>>2]|0)!=0)){i=p;return}my(n,c[m>>2]|0)|0;i=p;return}function _G(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=27;i=f;return}if((d[b>>0]|0|0)!=95){i=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){i=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=27;i=f;return}function $G(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){f=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){f=4;break}}if((f|0)==4){c[j>>2]=1;j=c[j>>2]|0;i=k;return j|0}else if((f|0)==5){c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}return 0}function aH(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;k=l+16|0;c[f>>2]=a;c[j>>2]=0;c[g>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[k>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[k>>1]|0)<0)a=1;else a=d[(c[g>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[j>>2]=(c[j>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}k=Kj(c[j>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=k;i=l;return}function bH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;cH(c[e>>2]|0,c[f>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Tf(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}Tf(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);a=c[e>>2]|0;b=c[f>>2]|0;Tf(a,b);i=g;return}function cH(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return}function dH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;b=fB(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;i=f;return b|0}function eH(f,g){f=f|0;g=g|0;var 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;v=i;i=i+64|0;h=v+52|0;j=v+48|0;q=v+44|0;s=v+40|0;p=v+36|0;l=v+32|0;n=v+28|0;k=v+24|0;t=v+20|0;r=v+16|0;m=v+8|0;o=v;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[c[h>>2]>>2];c[t>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[h>>2]|0)+424>>2]|0)iG(c[t>>2]|0,c[(c[h>>2]|0)+424>>2]|0,121);f=c[j>>2]|0;do if((b[(c[j>>2]|0)+32>>1]|0)>=0){Iy(m,c[(c[(c[j>>2]|0)+4>>2]|0)+(b[f+32>>1]<<4)>>2]|0);t=c[h>>2]|0;c[r>>2]=Mv(t,0,iz(c[k>>2]|0,27,m,0)|0)|0;if(!(c[r>>2]|0)){i=v;return}a[(c[(c[r>>2]|0)+4>>2]|0)+12>>0]=a[(c[h>>2]|0)+452>>0]|0;c[s>>2]=Bv(c[h>>2]|0,0,0,0,c[r>>2]|0,d[(c[j>>2]|0)+43>>0]|0,0,0,0,0)|0;if(!(c[s>>2]|0)){i=v;return}else{t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-4|2;b[(c[j>>2]|0)+32>>1]=-1;break}}else{c[s>>2]=Hj(f)|0;if(c[t>>2]|0)iG(c[t>>2]|0,c[(c[s>>2]|0)+44>>2]|0,13);c[n>>2]=1;c[l>>2]=1;while(1){if((c[l>>2]|0)>=(e[(c[s>>2]|0)+50>>1]|0))break;if($G(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0){t=(c[s>>2]|0)+52|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16}else{r=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;t=c[n>>2]|0;c[n>>2]=t+1;b[(c[(c[s>>2]|0)+4>>2]|0)+(t<<1)>>1]=r}c[l>>2]=(c[l>>2]|0)+1}b[(c[s>>2]|0)+50>>1]=c[n>>2]}while(0);t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-33|32;c[p>>2]=e[(c[s>>2]|0)+50>>1];if(!(a[(c[k>>2]|0)+144+7>>0]|0)){c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;a[(c[(c[j>>2]|0)+4>>2]|0)+(b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]<<4)+12>>0]=2;c[l>>2]=(c[l>>2]|0)+1}t=(c[s>>2]|0)+55|0;a[t>>0]=a[t>>0]&-9|8}c[(c[s>>2]|0)+44>>2]=c[(c[j>>2]|0)+28>>2];c[q>>2]=c[(c[j>>2]|0)+8>>2];a:while(1){if(!(c[q>>2]|0))break;b:do if((a[(c[q>>2]|0)+55>>0]&3|0)!=2){c[o>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break;if(!($G(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0))c[o>>2]=(c[o>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}if(!(c[o>>2]|0)){b[(c[q>>2]|0)+52>>1]=b[(c[q>>2]|0)+50>>1]|0;break}if(jH(c[k>>2]|0,c[q>>2]|0,(e[(c[q>>2]|0)+50>>1]|0)+(c[o>>2]|0)|0)|0){u=46;break a}c[l>>2]=0;c[n>>2]=e[(c[q>>2]|0)+50>>1];while(1){if((c[l>>2]|0)>=(c[p>>2]|0))break b;if(!($G(c[(c[q>>2]|0)+4>>2]|0,e[(c[q>>2]|0)+50>>1]|0,b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0)|0)){b[(c[(c[q>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=b[(c[(c[s>>2]|0)+4>>2]|0)+(c[l>>2]<<1)>>1]|0;c[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+(c[l>>2]<<2)>>2];c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}}while(0);c[q>>2]=c[(c[q>>2]|0)+20>>2]}if((u|0)==46){i=v;return}if((c[p>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0)){b[(c[s>>2]|0)+52>>1]=b[(c[j>>2]|0)+34>>1]|0;i=v;return}if(jH(c[k>>2]|0,c[s>>2]|0,b[(c[j>>2]|0)+34>>1]|0)|0){i=v;return}c[l>>2]=0;c[n>>2]=c[p>>2];while(1){if((c[l>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!($G(c[(c[s>>2]|0)+4>>2]|0,c[n>>2]|0,c[l>>2]|0)|0)){b[(c[(c[s>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]=c[l>>2];c[(c[(c[s>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2]=35343;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}i=v;return}function fH(a){a=a|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=0;c[f>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)<=0)break;c[h>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}c[h>>2]=(c[h>>2]|0)+1;g=c[h>>2]|0;g=g<<2;g=Kj(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;i=j;return}function gH(d,e){d=d|0;e=e|0;var 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;w=i;i=i+80|0;q=w+16|0;p=w+8|0;g=w;h=w+68|0;f=w+64|0;j=w+60|0;k=w+56|0;l=w+52|0;n=w+48|0;u=w+44|0;s=w+40|0;t=w+36|0;r=w+32|0;o=w+28|0;m=w+24|0;v=w+20|0;c[f>>2]=d;c[j>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;e=(hH(c[c[o>>2]>>2]|0)|0)+5|0;c[n>>2]=(c[n>>2]|0)+e;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}e=hH(c[c[j>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+e;if((c[n>>2]|0)<50){c[s>>2]=19010;c[t>>2]=37919;c[r>>2]=35219}else{c[s>>2]=37921;c[t>>2]=37925;c[r>>2]=37930}c[n>>2]=(c[n>>2]|0)+(35+((b[(c[j>>2]|0)+34>>1]|0)*6|0));e=c[n>>2]|0;c[u>>2]=Ah(0,e,((e|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){lh(c[f>>2]|0);c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}Qd(c[n>>2]|0,c[u>>2]|0,37933,g)|0;c[l>>2]=Jf(c[u>>2]|0)|0;iH(c[u>>2]|0,l,c[c[j>>2]>>2]|0);g=c[l>>2]|0;c[l>>2]=g+1;a[(c[u>>2]|0)+g>>0]=40;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[k>>2]=0;while(1){f=(c[n>>2]|0)-(c[l>>2]|0)|0;d=(c[u>>2]|0)+(c[l>>2]|0)|0;if((c[k>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;Qd(f,d,c[s>>2]|0,p)|0;g=Jf((c[u>>2]|0)+(c[l>>2]|0)|0)|0;c[l>>2]=(c[l>>2]|0)+g;c[s>>2]=c[t>>2];iH(c[u>>2]|0,l,c[c[o>>2]>>2]|0);c[v>>2]=c[6324+((a[(c[o>>2]|0)+13>>0]|0)-65<<2)>>2];c[m>>2]=Jf(c[v>>2]|0)|0;rR((c[u>>2]|0)+(c[l>>2]|0)|0,c[v>>2]|0,c[m>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+16}c[q>>2]=c[r>>2];Qd(f,d,18999,q)|0;c[h>>2]=c[u>>2];v=c[h>>2]|0;i=w;return v|0}function hH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}i=f;return (c[e>>2]|0)+2|0}function iH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+24|0;h=n+20|0;o=n+16|0;m=n+12|0;j=n+8|0;k=n+4|0;l=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[m>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[19011+(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if(((d[19011+(d[c[m>>2]>>0]|0)>>0]&4|0)==0?(Bi(c[m>>2]|0,c[k>>2]|0)|0)==27:0)?(d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==0:0)e=(c[k>>2]|0)==0;else e=1;c[l>>2]=e&1;if(c[l>>2]|0){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0))break;f=a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=f;if((d[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==34){o=c[j>>2]|0;c[j>>2]=o+1;a[(c[g>>2]|0)+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[l>>2]|0)){m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}m=c[j>>2]|0;c[j>>2]=m+1;a[(c[g>>2]|0)+m>>0]=34;m=c[j>>2]|0;o=c[g>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;i=n;return}function jH(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;c[j>>2]=d;c[k>>2]=f;c[l>>2]=g;if((e[(c[k>>2]|0)+52>>1]|0|0)>=(c[l>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}c[m>>2]=(c[l>>2]|0)*7;f=c[m>>2]|0;c[n>>2]=rh(c[j>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[n>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}else{rR(c[n>>2]|0,c[(c[k>>2]|0)+32>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[k>>2]|0)+32>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<2);rR(c[n>>2]|0,c[(c[k>>2]|0)+4>>2]|0,(e[(c[k>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[k>>2]|0)+4>>2]=c[n>>2];c[n>>2]=(c[n>>2]|0)+(c[l>>2]<<1);rR(c[n>>2]|0,c[(c[k>>2]|0)+28>>2]|0,e[(c[k>>2]|0)+52>>1]|0|0)|0;c[(c[k>>2]|0)+28>>2]=c[n>>2];b[(c[k>>2]|0)+52>>1]=c[l>>2];n=(c[k>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}return 0}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Vw(c[d>>2]|0)|0;Ez(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?20513:20532);Gh(c[g>>2]|0,55,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+72>>2]|0){i=e;return}c[(c[d>>2]|0)+72>>2]=1;i=e;return}function lH(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;b=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[b>>2]=a;c[h>>2]=Vw(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+404>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+408>>2]|0)+(c[e>>2]<<4);c[g>>2]=c[c[f>>2]>>2];_w(c[h>>2]|0,148,c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|0,c[(c[f>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}i=j;return}function mH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;h=l+20|0;f=l+16|0;j=l+12|0;g=l+8|0;k=l+4|0;e=l;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=c[(c[d>>2]|0)+8>>2];c[h>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[h>>2]|0)){d=5;break}c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[h>>2]|0)+8>>2]<<4);c[g>>2]=c[(c[h>>2]|0)+12>>2];Fz(c[d>>2]|0,0,c[(c[h>>2]|0)+8>>2]|0,c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0,54);Zw(c[k>>2]|0,(c[g>>2]|0)-1|0,c[c[(c[h>>2]|0)+4>>2]>>2]|0)|0;c[e>>2]=Ih(c[k>>2]|0,10,38109,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+8>>2]=c[g>>2];c[(c[e>>2]|0)+12>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+4>>2]=(c[g>>2]|0)-1;c[(c[e>>2]|0)+60+12>>2]=c[g>>2];a[(c[e>>2]|0)+60+3>>0]=16;c[(c[e>>2]|0)+80+8>>2]=(c[g>>2]|0)+1;c[(c[e>>2]|0)+100+12>>2]=c[g>>2];c[(c[e>>2]|0)+160+8>>2]=c[g>>2];c[h>>2]=c[c[h>>2]>>2]}if((d|0)==5){i=l;return}}function nH(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];Rd(21,40004,d);i=b;return} +function lM(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+144|0;A=I+32|0;D=I+24|0;B=I+16|0;z=I+8|0;e=I+128|0;f=I+124|0;J=I+120|0;g=I+116|0;k=I+112|0;w=I+108|0;l=I+104|0;n=I+100|0;u=I+96|0;o=I+92|0;p=I+88|0;v=I+84|0;G=I+80|0;F=I+76|0;t=I+72|0;m=I;x=I+68|0;y=I+64|0;j=I+60|0;h=I+56|0;q=I+52|0;E=I+48|0;r=I+44|0;s=I+40|0;c[f>>2]=a;c[J>>2]=b;c[k>>2]=0;c[w>>2]=0;c[l>>2]=0;c[w>>2]=mM(c[f>>2]|0,c[J>>2]|0)|0;c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(di(c[n>>2]|0)|0){c[l>>2]=1;mg(c[n>>2]|0);c[u>>2]=Pf(c[n>>2]|0)|0;if((d[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+8>>0]|0|0)!=1?(d[42919+(sg(c[u>>2]|0)|0)>>0]|0|0)!=0:0)c[k>>2]=(c[k>>2]|0)+1;c[w>>2]=xt(c[u>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+1}if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(((c[l>>2]|0)!=0?(c[(c[f>>2]|0)+200>>2]|0)!=0:0)?(c[w>>2]=Tb[c[(c[f>>2]|0)+200>>2]&255](c[(c[f>>2]|0)+196>>2]|0)|0,(c[w>>2]|0)!=0):0){c[e>>2]=531;J=c[e>>2]|0;i=I;return J|0}J=0==(Jf(Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[k>>2]|0)<=1){c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[o>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[o>>2]|0)c[w>>2]=Mg(c[o>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[p>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[p>>2]|0)c[w>>2]=Lg(c[p>>2]|0,0)|0;c[g>>2]=(c[g>>2]|0)+1}if(!(c[w>>2]|0))nM(c[f>>2]|0)|0}else{c[v>>2]=c[c[f>>2]>>2];c[G>>2]=0;c[F>>2]=Gi(c[(c[(c[f>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[y>>2]=0;c[j>>2]=Jf(c[F>>2]|0)|0;J=c[f>>2]|0;c[z>>2]=c[F>>2];c[G>>2]=Dh(J,42925,z)|0;if(!(c[G>>2]|0)){c[e>>2]=7;J=c[e>>2]|0;i=I;return J|0}do{if(c[y>>2]|0){if((c[y>>2]|0)>100){H=35;break}if((c[y>>2]|0)==1){c[D>>2]=c[G>>2];Rd(13,42955,D)}}c[y>>2]=(c[y>>2]|0)+1;Sd(4,h);J=(c[G>>2]|0)+(c[j>>2]|0)|0;F=c[h>>2]&255;c[A>>2]=(c[h>>2]|0)>>>8&16777215;c[A+4>>2]=F;Qd(13,J,42970,A)|0;c[w>>2]=Tr(c[v>>2]|0,c[G>>2]|0,0,x)|0}while((c[w>>2]|0)==0?(c[x>>2]|0)!=0:0);if((H|0)==35){c[B>>2]=c[G>>2];Rd(13,42941,B);vr(c[v>>2]|0,c[G>>2]|0,0)|0}if(!(c[w>>2]|0))c[w>>2]=$K(c[v>>2]|0,c[G>>2]|0,t,16406,0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[q>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(((di(c[q>>2]|0)|0)!=0?(c[E>>2]=oM(c[q>>2]|0)|0,(c[E>>2]|0)!=0):0)?(B=c[t>>2]|0,D=c[E>>2]|0,J=(Jf(c[E>>2]|0)|0)+1|0,F=m,c[w>>2]=Hg(B,D,J,c[F>>2]|0,c[F+4>>2]|0)|0,F=(Jf(c[E>>2]|0)|0)+1|0,J=m,F=pR(c[J>>2]|0,c[J+4>>2]|0,F|0,((F|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=F,c[J+4>>2]=C,(c[w>>2]|0)!=0):0){H=48;break}c[g>>2]=(c[g>>2]|0)+1}if((H|0)==48){xK(c[t>>2]|0)|0;vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}if(0==((Yr(c[t>>2]|0)|0)&1024|0)?(J=tr(c[t>>2]|0,2)|0,c[w>>2]=J,0!=(J|0)):0){xK(c[t>>2]|0)|0;vr(c[v>>2]|0,c[G>>2]|0,0)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[g>>2]=0;while(1){if(c[w>>2]|0)break;if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[r>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[r>>2]|0)c[w>>2]=Mg(c[r>>2]|0,c[G>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}xK(c[t>>2]|0)|0;if(c[w>>2]|0){Tf(c[f>>2]|0,c[G>>2]|0);c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}c[w>>2]=vr(c[v>>2]|0,c[G>>2]|0,1)|0;Tf(c[f>>2]|0,c[G>>2]|0);c[G>>2]=0;if(c[w>>2]|0){c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}Wj();c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[s>>2]|0)Lg(c[s>>2]|0,1)|0;c[g>>2]=(c[g>>2]|0)+1}Xj();nM(c[f>>2]|0)|0}c[e>>2]=c[w>>2];J=c[e>>2]|0;i=I;return J|0}function mM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;g=l+4|0;f=l;c[h>>2]=a;c[d>>2]=b;c[k>>2]=0;c[j>>2]=c[(c[h>>2]|0)+340>>2];c[(c[h>>2]|0)+340>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[h>>2]|0)+316>>2]|0)){d=8;break}c[f>>2]=c[(c[(c[j>>2]|0)+(c[e>>2]<<2)>>2]|0)+8>>2];if((c[f>>2]|0)!=0?(b=c[(c[c[f>>2]>>2]|0)+60>>2]|0,c[g>>2]=b,(b|0)!=0):0){c[k>>2]=Tb[c[g>>2]&255](c[f>>2]|0)|0;MI(c[d>>2]|0,c[f>>2]|0)}c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){c[(c[h>>2]|0)+340>>2]=c[j>>2];i=l;return c[k>>2]|0}return 0}function nM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mu(c[d>>2]|0,64);i=b;return 0}function oM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=pM(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;i=b;return a|0}function pM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+180>>2]|0}function qM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+56>>2]|0)){i=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+36>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){EI(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+56>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}i=f;return}function rM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;d=g+4|0;e=g;c[b>>2]=a;c[d>>2]=(c[b>>2]|0)+80;c[e>>2]=(c[d>>2]|0)+((c[(c[b>>2]|0)+64>>2]|0)*40|0);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+68>>2]|0))break;EI(c[c[b>>2]>>2]|0,c[(c[e>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}uC(c[d>>2]|0,c[(c[b>>2]|0)+64>>2]|0);hI(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Tf(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);i=g;return}function sM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[6420+(c[b>>2]<<2)>>2]|0}function tM(b,f,g){b=b|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=i;i=i+192|0;x=K+88|0;w=K+80|0;v=K+72|0;H=K+64|0;G=K+56|0;u=K+48|0;t=K+40|0;s=K+32|0;z=K+24|0;y=K+16|0;D=K+8|0;r=K;j=K+176|0;k=K+172|0;L=K+168|0;J=K+164|0;I=K+136|0;A=K+132|0;C=K+128|0;B=K+124|0;E=K+120|0;o=K+116|0;p=K+112|0;F=K+108|0;q=K+104|0;m=K+100|0;l=K+96|0;n=K+92|0;c[j>>2]=b;c[k>>2]=f;c[L>>2]=g;c[J>>2]=c[k>>2];dg(I,0,c[k>>2]|0,c[L>>2]|0,0);a:do switch(a[(c[j>>2]|0)+1>>0]|0){case -6:{c[C>>2]=c[(c[j>>2]|0)+16>>2];c[r>>2]=e[(c[C>>2]|0)+6>>1];fA(I,43022,r);c[A>>2]=0;while(1){if((c[A>>2]|0)>=(e[(c[C>>2]|0)+6>>1]|0))break;c[B>>2]=c[(c[C>>2]|0)+20+(c[A>>2]<<2)>>2];if(c[B>>2]|0)j=c[c[B>>2]>>2]|0;else j=19010;c[E>>2]=j;L=(HQ(c[E>>2]|0,35343)|0)==0;c[E>>2]=L?43027:j;L=c[E>>2]|0;c[D>>2]=(d[(c[(c[C>>2]|0)+16>>2]|0)+(c[A>>2]|0)>>0]|0)!=0?28860:19010;c[D+4>>2]=L;fA(I,43029,D);c[A>>2]=(c[A>>2]|0)+1}gA(I,35219,1);break}case -4:{c[o>>2]=c[(c[j>>2]|0)+16>>2];c[y>>2]=c[c[o>>2]>>2];fA(I,43035,y);break}case -5:{c[p>>2]=c[(c[j>>2]|0)+16>>2];L=a[c[p>>2]>>0]|0;c[z>>2]=c[(c[p>>2]|0)+20>>2];c[z+4>>2]=L;fA(I,43043,z);break}case -13:{G=c[(c[j>>2]|0)+16>>2]|0;H=c[G+4>>2]|0;L=s;c[L>>2]=c[G>>2];c[L+4>>2]=H;fA(I,28862,s);break}case -14:{c[t>>2]=c[(c[j>>2]|0)+16>>2];fA(I,43050,t);break}case -12:{h[u>>3]=+h[c[(c[j>>2]|0)+16>>2]>>3];fA(I,43053,u);break}case -8:{c[F>>2]=c[(c[j>>2]|0)+16>>2];j=c[F>>2]|0;if(e[(c[F>>2]|0)+8>>1]&2){c[J>>2]=c[j+16>>2];break a}k=c[F>>2]|0;if(e[j+8>>1]&4){F=k;H=c[F+4>>2]|0;L=G;c[L>>2]=c[F>>2];c[L+4>>2]=H;fA(I,28862,G);break a}j=c[F>>2]|0;if(e[k+8>>1]&8){h[H>>3]=+h[j>>3];fA(I,43053,H);break a}if(e[j+8>>1]&1){c[J>>2]=40149;break a}else{c[J>>2]=43059;break a}}case -10:{c[q>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[q>>2];fA(I,43066,v);break}case -15:{c[l>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[c[l>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[w>>2]=c[(c[l>>2]|0)+(c[m>>2]<<2)>>2];fA(I,43074,w);c[m>>2]=(c[m>>2]|0)+1}a[c[k>>2]>>0]=91;gA(I,43078,1);break}case -18:{fA(I,43080,x);break}case -19:{a[c[k>>2]>>0]=0;break}default:{c[J>>2]=c[(c[j>>2]|0)+16>>2];if(!(c[J>>2]|0)){c[J>>2]=c[k>>2];a[c[k>>2]>>0]=0}}}while(0);fg(I)|0;i=K;return c[J>>2]|0}function uM(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;hh(c[g>>2]|0);d=h;e=c[d+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=e;b[(c[g>>2]|0)+8>>1]=4;i=f;return}function vM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+4|0;l=m;k=m+10|0;h=m+9|0;j=m+8|0;c[g>>2]=f;c[l>>2]=0;a[k>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[h>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[j>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[h>>0]|0)==254?(d[j>>0]|0)==255:0)a[k>>0]=3;if((d[h>>0]|0)==255?(d[j>>0]|0)==254:0)a[k>>0]=2}if(!(a[k>>0]|0)){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=ah(c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}f=(c[g>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)-2;sR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;f=(c[g>>2]|0)+8|0;b[f>>1]=e[f>>1]|512;a[(c[g>>2]|0)+10>>0]=a[k>>0]|0;l=c[l>>2]|0;i=m;return l|0}function wM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(xM(c[e>>2]|0,a[g>>0]|0)|0)){g=0;i=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;i=f;return g|0}function xM(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+4|0;j=l;k=l+8|0;c[j>>2]=f;a[k>>0]=g;g=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&18){f=g+8|0;b[f>>1]=e[f>>1]|0|2;if((e[(c[j>>2]|0)+8>>1]|0)&16384)Xg(c[j>>2]|0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)!=((d[k>>0]|0)&-9|0))du(c[j>>2]|0,(d[k>>0]|0)&-9)|0;if((((d[k>>0]|0)&8|0)!=0?1==(1&c[(c[j>>2]|0)+16>>2]|0):0)?(ah(c[j>>2]|0)|0)!=0:0){c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}cI(c[j>>2]|0)|0}else yx(g,a[k>>0]|0,0)|0;if((d[(c[j>>2]|0)+10>>0]|0|0)==((d[k>>0]|0)&-9|0)){c[h>>2]=c[(c[j>>2]|0)+16>>2];k=c[h>>2]|0;i=l;return k|0}else{c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}return 0}function yM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312)KF(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}Tf(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;a=c[b>>2]|0;a=a+16|0;c[a>>2]=0;i=d;return}function zM(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Tf(c[e>>2]|0,c[(c[d>>2]|0)+44>>2]|0);c[(c[d>>2]|0)+44>>2]=0;c[(c[d>>2]|0)+20>>2]=0;i=b;return}function AM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;ni(c[d>>2]|0);lg(c[d>>2]|0,7);i=b;return 7}function BM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;nj(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;i=b;return}function CM(b){b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+156>>2]|0)>1:0){DM(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;i=g;return}if((d[(c[e>>2]|0)+8>>0]|0|0)!=0?(EM(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;xB(c[f>>2]|0);i=g;return}function DM(d){d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=c[(c[j>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[j>>2]|0)){i=h;return}c[(c[f>>2]|0)+76>>2]=0;j=(c[f>>2]|0)+22|0;b[j>>1]=(e[j>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}i=h;return}function EM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;f=j+4|0;d=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[f>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[f>>2]>>2]|0))break;c[d>>2]=c[c[f>>2]>>2];a=(c[d>>2]|0)+12|0;if((c[c[d>>2]>>2]|0)!=(c[g>>2]|0)){c[f>>2]=a;continue}c[c[f>>2]>>2]=c[a>>2];if((c[(c[d>>2]|0)+4>>2]|0)==1)continue;Kd(c[d>>2]|0)}a=c[h>>2]|0;if((c[(c[h>>2]|0)+76>>2]|0)==(c[g>>2]|0)){c[a+76>>2]=0;h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-97;i=j;return}if((c[a+40>>2]|0)!=2){i=j;return}h=(c[h>>2]|0)+22|0;b[h>>1]=(e[h>>1]|0)&-65;i=j;return}function FM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;l=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;f=m+4|0;j=m;c[e>>2]=b;c[l>>2]=0;c[k>>2]=c[c[e>>2]>>2];zJ(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[j>>2]=gF(c[e>>2]|0)|0;b=sF(c[e>>2]|0,c[j>>2]|0)|0;if((b|0)!=(c[j>>2]|0)?(c[j>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[h>>2]=er((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[g>>2]=yJ(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[g>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[d>>2]=Oj(59465)|0;l=c[d>>2]|0;i=m;return l|0}if((c[g>>2]|0)>>>0<(c[j>>2]|0)>>>0)c[l>>2]=tH(c[e>>2]|0,0,0)|0;c[f>>2]=c[j>>2];while(1){if(!((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(c[l>>2]|0)==0:0))break;c[l>>2]=AJ(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,1)|0;c[f>>2]=(c[f>>2]|0)+-1}if(((c[l>>2]|0)==101|(c[l>>2]|0)==0)&(c[h>>2]|0)>>>0>0){c[l>>2]=Fg(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;at((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);at((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);at((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[g>>2]}if(!(c[l>>2]|0))break;or(c[k>>2]|0)|0;break}c[d>>2]=Oj(59460)|0;l=c[d>>2]|0;i=m;return l|0}while(0);c[d>>2]=c[l>>2];l=c[d>>2]|0;i=m;return l|0}function GM(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;i=h;return g|0}if(((d[b+17>>0]|0|0)==2?(d[(c[f>>2]|0)+4>>0]|0|0)!=0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=pr(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=kr(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;i=h;return g|0}function HM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;g=h+4|0;f=h;c[e>>2]=b;c[h+8>>2]=d;c[g>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[g>>2]|0;i=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[g>>2]|0;i=h;return g|0}c[g>>2]=ug(c[e>>2]|0,1,f,0)|0;if(!(c[g>>2]|0))c[g>>2]=Fg(c[f>>2]|0)|0;if(!(c[g>>2]|0)){wt(c[f>>2]|0);a[(c[e>>2]|0)+19>>0]=1}xg(c[f>>2]|0);g=c[g>>2]|0;i=h;return g|0}function IM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=i;i=i+48|0;f=o+36|0;g=o+32|0;h=o+28|0;n=o+24|0;m=o+20|0;k=o+8|0;l=o;j=o+16|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;if(((c[h>>2]|0)!=0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?(c[c[(c[g>>2]|0)+68>>2]>>2]|0)!=0:0){a[(c[g>>2]|0)+20>>0]=1;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;c[j>>2]=(c[j>>2]|0)+(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0);c[m>>2]=(c[m>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=ks(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=C}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=Mt(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[381]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[n>>2]=e;if((((0==(e|0)?(q=c[(c[g>>2]|0)+68>>2]|0,b=c[h>>2]|0,e=c[m>>2]|0,p=k,p=pR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Hg(q,b,e,p,C)|0,c[n>>2]=p,0==(p|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=pR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=pR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=Mt(p,q,C,c[m>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=pR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=pR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=pR(q|0,C|0,4,0)|0,q=Mt(p,q,C,c[j>>2]|0)|0,c[n>>2]=q,0==(q|0)):0)?(p=c[(c[g>>2]|0)+68>>2]|0,e=k,e=pR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,q=c[m>>2]|0,q=pR(e|0,C|0,q|0,((q|0)<0)<<31>>31|0)|0,q=pR(q|0,C|0,8,0)|0,q=Hg(p,26509,8,q,C)|0,c[n>>2]=q,0==(q|0)):0){p=(c[m>>2]|0)+20|0;q=(c[g>>2]|0)+80|0;e=q;p=pR(c[e>>2]|0,c[e+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[q>>2]=p;c[q+4>>2]=C;q=Vi(c[(c[g>>2]|0)+68>>2]|0,l)|0;c[n>>2]=q;if(0==(q|0)?(p=l,b=c[p+4>>2]|0,q=(c[g>>2]|0)+80|0,e=c[q+4>>2]|0,(b|0)>(e|0)|((b|0)==(e|0)?(c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0:0)):0){q=(c[g>>2]|0)+80|0;c[n>>2]=sr(c[(c[g>>2]|0)+68>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=o;return q|0}c[f>>2]=0;q=c[f>>2]|0;i=o;return q|0}function JM(f){f=f|0;var 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;u=i;i=i+48|0;g=u+44|0;s=u+40|0;k=u+36|0;r=u+32|0;j=u+28|0;h=u+24|0;m=u+20|0;p=u+16|0;l=u+12|0;q=u+8|0;n=u+4|0;o=u;c[g>>2]=f;c[s>>2]=0;c[j>>2]=0;c[m>>2]=0;c[p>>2]=c[(c[g>>2]|0)+16>>2];c[l>>2]=((c[(c[p>>2]|0)+156>>2]|0)>>>0)/((c[(c[p>>2]|0)+160>>2]|0)>>>0)|0;f=(c[p>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[r>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[l>>2]|0)-1))+1;c[k>>2]=c[(c[p>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0)if(((c[r>>2]|0)+(c[l>>2]|0)-1|0)>>>0>(c[k>>2]|0)>>>0){c[j>>2]=(c[k>>2]|0)+1-(c[r>>2]|0);break}else{c[j>>2]=c[l>>2];break}else c[j>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[r>>2]|0)+1;while(0);c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[s>>2]|0)==0:0))break;c[q>>2]=(c[r>>2]|0)+(c[h>>2]|0);if((c[q>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?(lj(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0)!=0:0){f=cs(c[p>>2]|0,c[q>>2]|0)|0;c[n>>2]=f;if(f){if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Es(c[n>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[q>>2]|0)!=(((c[381]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[s>>2]=ug(c[p>>2]|0,c[q>>2]|0,n,0)|0,(c[s>>2]|0)==0):0){c[s>>2]=KM(c[n>>2]|0)|0;if((e[(c[n>>2]|0)+24>>1]|0)&8)c[m>>2]=1;Es(c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}if(!((c[s>>2]|0)==0&(c[m>>2]|0)!=0)){t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[o>>2]=cs(c[p>>2]|0,(c[r>>2]|0)+(c[h>>2]|0)|0)|0;if(c[o>>2]|0){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Es(c[o>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}t=c[p>>2]|0;t=t+21|0;r=a[t>>0]|0;r=r&255;r=r&-5;r=r&255;a[t>>0]=r;t=c[s>>2]|0;i=u;return t|0}function KM(a){a=a|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[j>>2]=LM(c[h>>2]|0)|0,(c[j>>2]|0)!=0):0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}es(c[g>>2]|0);do if((c[(c[h>>2]|0)+60>>2]|0)!=0?(oj(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[j>>2]=MM(c[g>>2]|0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[j>>2]=rt(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}function LM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;e=k;c[h>>2]=b;c[j>>2]=0;c[f>>2]=c[c[h>>2]>>2];b=c[h>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[g>>2]=c[b+44>>2];j=c[g>>2]|0;i=k;return j|0}if((xr(b)|0)==0?(d[(c[h>>2]|0)+5>>0]|0|0)!=2:0){b=ij(c[(c[h>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+60>>2]=b;if(!(c[(c[h>>2]|0)+60>>2]|0)){c[g>>2]=7;j=c[g>>2]|0;i=k;return j|0}do if(!(c[c[(c[h>>2]|0)+68>>2]>>2]|0)){b=c[h>>2]|0;if((d[(c[h>>2]|0)+5>>0]|0|0)==4){NM(c[b+68>>2]|0);break}c[e>>2]=6|((d[b+13>>0]|0|0)!=0?4104:2048);c[j>>2]=OM(c[h>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=Pr(c[f>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[e>>2]|0,0)|0}while(0);if(!(c[j>>2]|0)){c[(c[h>>2]|0)+48>>2]=0;f=(c[h>>2]|0)+80|0;c[f>>2]=0;c[f+4>>2]=0;a[(c[h>>2]|0)+20>>0]=0;f=(c[h>>2]|0)+88|0;c[f>>2]=0;c[f+4>>2]=0;c[j>>2]=yt(c[h>>2]|0)|0}}b=c[h>>2]|0;if(c[j>>2]|0){nj(c[b+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[g>>2]=c[j>>2];j=c[g>>2]|0;i=k;return j|0}function MM(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;d=m+28|0;f=m+24|0;k=m+20|0;l=m+16|0;g=m+12|0;j=m+8|0;h=m;c[f>>2]=a;c[k>>2]=c[(c[f>>2]|0)+16>>2];o=(c[k>>2]|0)+80|0;n=c[o+4>>2]|0;a=h;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[g>>2]=bs(c[k>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=h;c[l>>2]=Mt(c[(c[k>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];o=c[d>>2]|0;i=m;return o|0}p=c[(c[k>>2]|0)+68>>2]|0;a=c[j>>2]|0;n=c[(c[k>>2]|0)+160>>2]|0;o=h;o=pR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[l>>2]=Hg(p,a,n,o,C)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}o=c[(c[k>>2]|0)+68>>2]|0;n=h;p=c[(c[k>>2]|0)+160>>2]|0;p=pR(c[n>>2]|0,c[n+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;p=pR(p|0,C|0,4,0)|0;c[l>>2]=Mt(o,p,C,c[g>>2]|0)|0;if(c[l>>2]|0){c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}else{o=8+(c[(c[k>>2]|0)+160>>2]|0)|0;p=(c[k>>2]|0)+80|0;n=p;o=pR(c[n>>2]|0,c[n+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=(c[k>>2]|0)+48|0;c[p>>2]=(c[p>>2]|0)+1;c[l>>2]=jj(c[(c[k>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;p=Nt(c[k>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[l>>2]=c[l>>2]|p;c[d>>2]=c[l>>2];p=c[d>>2]|0;i=m;return p|0}return 0}function NM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Ot(0,0,c[d>>2]|0,0,-1)|0;i=b;return}function OM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}c[g>>2]=yi(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}function PM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;f=c[j>>2]|0;do if(c[(c[j>>2]|0)+144>>2]|0){g=c[f+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[j>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;tR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[j>>2]|0)+148>>1]|0|0)|0}else{g=kg(40+(e[f+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=64;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[j>>2];break}m=c[(c[j>>2]|0)+64>>2]|0;n=c[(c[j>>2]|0)+160>>2]|0;n=AR((c[k>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;Hs(m,n,C,c[l>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;i=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[k>>2];c[(c[n>>2]|0)+4>>2]=c[l>>2];n=(c[j>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}function QM(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[j>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;i=o;return n|0}g=RM(c[j>>2]|0)|0;if((g|0)>(c[(c[j>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[j>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[j>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if((c[m>>2]|0)!=0?(c[n>>2]=Yb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;i=o;return n|0}}n=Ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0,2)|0;c[c[l>>2]>>2]=n;c[h>>2]=(c[c[l>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;i=o;return n|0}function RM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;i=b;return a|0}function SM(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+108>>2]|0}function TM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r+40|0;o=r+36|0;l=r+32|0;q=r+28|0;p=r+24|0;h=r+20|0;k=r+12|0;m=r+8|0;j=r+4|0;g=r;c[o>>2]=f;c[h>>2]=0;c[l>>2]=TJ(c[c[o>>2]>>2]|0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}c[l>>2]=uF(c[o>>2]|0,1,q,0)|0;if(c[l>>2]|0){c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}f=er((c[(c[q>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[p>>2]=f;Eg(c[c[o>>2]>>2]|0,h);if(!((c[p>>2]|0)!=0?(EQ((c[(c[q>>2]|0)+56>>2]|0)+24|0,(c[(c[q>>2]|0)+56>>2]|0)+92|0,4)|0)==0:0))c[p>>2]=c[h>>2];a:do if((c[p>>2]|0)>0){c[j>>2]=c[(c[q>>2]|0)+56>>2];c[l>>2]=26;b:do if(!(EQ(c[j>>2]|0,42903,16)|0)){if((d[(c[j>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[j>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[j>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[g>>2]=0;c[l>>2]=ZJ(c[c[o>>2]>>2]|0,g)|0;if(c[l>>2]|0)break b;if(c[g>>2]|0){c[l>>2]=26;break}wB(c[q>>2]|0);c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}while(0);if((EQ((c[j>>2]|0)+21|0,45149,3)|0)==0?(c[k>>2]=(d[(c[j>>2]|0)+16>>0]|0)<<8|(d[(c[j>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[j>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){wB(c[q>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Si(c[o>>2]|0);c[l>>2]=Ti(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[p>>2]|0)>(c[h>>2]|0):0){c[l>>2]=Oj(58737)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(er((c[j>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(er((c[j>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);wB(c[q>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[l>>2];q=c[n>>2]|0;i=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;g=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)a[g+21>>0]=127;else a[(c[o>>2]|0)+21>>0]=b[g+24>>1];c[(c[o>>2]|0)+12>>2]=c[q>>2];c[(c[o>>2]|0)+44>>2]=c[p>>2];c[n>>2]=0;q=c[n>>2]|0;i=r;return q|0}function UM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m+8|0;g=m+4|0;l=m;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[l>>2]=0;if(c[(c[j>>2]|0)+44>>2]|0){c[h>>2]=c[(c[j>>2]|0)+44>>2];l=c[h>>2]|0;i=m;return l|0}a[(c[j>>2]|0)+22>>0]=c[g>>2];if((d[(c[j>>2]|0)+17>>0]|0|0)==1){f=(xr(c[j>>2]|0)|0)!=0;g=c[j>>2]|0;if(!f){c[l>>2]=Bt(g,2)|0;if((c[l>>2]|0)==0&(c[k>>2]|0)!=0)c[l>>2]=At(c[j>>2]|0,4)|0}else{do if((d[g+4>>0]|0|0)!=0?(Ar(c[(c[j>>2]|0)+216>>2]|0,-1)|0)!=0:0){c[l>>2]=Bt(c[j>>2]|0,4)|0;if(!(c[l>>2]|0)){Ar(c[(c[j>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}while(0);c[l>>2]=VM(c[(c[j>>2]|0)+216>>2]|0)|0}if(!(c[l>>2]|0)){a[(c[j>>2]|0)+17>>0]=2;c[(c[j>>2]|0)+40>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+36>>2]=c[(c[j>>2]|0)+28>>2];c[(c[j>>2]|0)+32>>2]=c[(c[j>>2]|0)+28>>2];k=(c[j>>2]|0)+80|0;c[k>>2]=0;c[k+4>>2]=0}}c[h>>2]=c[l>>2];l=c[h>>2]|0;i=m;return l|0}function VM(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;i=g;return f|0}c[f>>2]=Ss(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(EQ(b,ys(c[e>>2]|0)|0,48)|0){Gr(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;i=g;return f|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+240>>2]|0)XM(c[(c[d>>2]|0)+240>>2]|0);rJ(c[d>>2]|0,c[e>>2]|0);i=f;return}function XM(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;hh(c[d>>2]|0);i=b;return}function YM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+624|0;g=H+92|0;h=H+88|0;j=H+84|0;k=H+80|0;l=H+76|0;m=H+72|0;z=H+68|0;p=H+64|0;x=H+60|0;o=H+56|0;w=H+52|0;B=H+48|0;n=H+44|0;t=H+40|0;s=H+36|0;r=H+32|0;v=H+28|0;u=H+24|0;C=H+20|0;F=H+96|0;E=H+16|0;A=H+12|0;y=H+8|0;D=H+4|0;q=H;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[z>>2]=c[k>>2];c[p>>2]=-1;c[x>>2]=0;c[o>>2]=c[l>>2]&-256;c[B>>2]=0;c[n>>2]=0;c[t>>2]=c[l>>2]&16;c[s>>2]=c[l>>2]&8;c[r>>2]=c[l>>2]&4;c[v>>2]=c[l>>2]&1;c[u>>2]=c[l>>2]&2;if(c[r>>2]|0)if((c[o>>2]|0)==16384|(c[o>>2]|0)==2048)e=1;else e=(c[o>>2]|0)==524288;else e=0;c[C>>2]=e&1;c[E>>2]=c[j>>2];b=c[1925]|0;if((b|0)!=(UQ()|0)){c[1925]=UQ()|0;Sd(0,0)}e=c[z>>2]|0;d=e+44|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(d|0));e=c[E>>2]|0;do if((c[o>>2]|0)!=256){if(!e){c[B>>2]=NN(c[(c[h>>2]|0)+8>>2]|0,F)|0;if(!(c[B>>2]|0)){c[E>>2]=F;break}c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}}else{c[A>>2]=cO(e,c[l>>2]|0)|0;if(!(c[A>>2]|0)){c[A>>2]=Jd(12,0)|0;if(!(c[A>>2]|0)){c[g>>2]=7;G=c[g>>2]|0;i=H;return G|0}}else c[p>>2]=c[c[A>>2]>>2];c[(c[z>>2]|0)+28>>2]=c[A>>2]}while(0);if(c[v>>2]|0)c[x>>2]=c[x>>2];if(c[u>>2]|0)c[x>>2]=c[x>>2]|2;if(c[r>>2]|0)c[x>>2]=c[x>>2]|64;if(c[t>>2]|0)c[x>>2]=c[x>>2]|131200;c[x>>2]=c[x>>2];do if((c[p>>2]|0)<0){c[B>>2]=dO(c[E>>2]|0,c[l>>2]|0,y,D,q)|0;if(c[B>>2]|0){c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}c[p>>2]=JN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if((c[p>>2]|0)<0?(F=(c[($P()|0)>>2]|0)!=21,F&(c[u>>2]|0)!=0):0){c[l>>2]=c[l>>2]&-7;c[x>>2]=c[x>>2]&-67;c[l>>2]=c[l>>2]|1;c[x>>2]=c[x>>2];c[v>>2]=1;c[p>>2]=JN(c[E>>2]|0,c[x>>2]|0,c[y>>2]|0)|0}if((c[p>>2]|0)<0){F=jt(33278)|0;c[B>>2]=FN(F,45228,c[E>>2]|0,33278)|0;break}if(c[l>>2]&526336){eO(c[p>>2]|0,c[D>>2]|0,c[q>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[m>>2]|0)c[c[m>>2]>>2]=c[l>>2];if(c[(c[z>>2]|0)+28>>2]|0){c[c[(c[z>>2]|0)+28>>2]>>2]=c[p>>2];c[(c[(c[z>>2]|0)+28>>2]|0)+4>>2]=c[l>>2]}if(c[s>>2]|0)Tb[c[7460>>2]&255](c[E>>2]|0)|0;if(c[s>>2]|0)c[n>>2]=c[n>>2]|32;if(c[v>>2]|0)c[n>>2]=c[n>>2]|2;c[w>>2]=(c[o>>2]|0)!=256&1;if(c[w>>2]|0)c[n>>2]=c[n>>2]|128;if(c[C>>2]|0)c[n>>2]=c[n>>2]|8;if(c[l>>2]&64)c[n>>2]=c[n>>2]|64;c[B>>2]=fO(c[h>>2]|0,c[p>>2]|0,c[k>>2]|0,c[j>>2]|0,c[n>>2]|0)|0}if(c[B>>2]|0)Kd(c[(c[z>>2]|0)+28>>2]|0);c[g>>2]=c[B>>2];G=c[g>>2]|0;i=H;return G|0}function ZM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+20|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((Tb[c[7460>>2]&255](c[f>>2]|0)|0)==-1){if((c[($P()|0)>>2]|0)==2)c[j>>2]=5898;else c[j>>2]=FN(2570,45325,c[f>>2]|0,33404)|0;c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}do if(c[g>>2]&1){c[j>>2]=Yb[c[7472>>2]&255](c[f>>2]|0,h)|0;if(c[j>>2]|0){c[j>>2]=0;break}if(UN(c[h>>2]|0,0,0)|0)c[j>>2]=FN(1290,45559,c[f>>2]|0,33414)|0;EN(0,c[h>>2]|0,33416)}while(0);c[e>>2]=c[j>>2];b=c[e>>2]|0;i=k;return b|0}function _M(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;f=j+84|0;k=j+80|0;g=j+76|0;h=j;c[j+88>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;if(!(c[k>>2]|0)){k=0==(Yb[c[7316>>2]&255](c[f>>2]|0,h)|0);c[c[g>>2]>>2]=(k?(c[h+36>>2]|0)>0:0)&1;i=j;return 0}else{k=(Yb[c[7292>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[g>>2]>>2]=k;i=j;return 0}return 0}function $M(b,d,e,f){b=b|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,r=0,s=0;r=i;i=i+128|0;s=r+112|0;g=r+108|0;h=r+104|0;p=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;q=r+84|0;j=r+80|0;k=r+4|0;l=r;c[r+116>>2]=b;c[s>>2]=d;c[g>>2]=e;c[h>>2]=f;c[p>>2]=0;c[n>>2]=1;c[o>>2]=c[s>>2];c[q>>2]=0;while(1){c[j>>2]=0;if(Yb[c[7592>>2]&255](c[o>>2]|0,k)|0){if((c[($P()|0)>>2]|0)!=2){s=jt(33528)|0;c[p>>2]=FN(s,45413,c[o>>2]|0,33528)|0}}else c[j>>2]=(c[k+12>>2]&61440|0)==40960&1;if(c[j>>2]|0){if(!(c[q>>2]|0)){c[q>>2]=Id(c[g>>2]|0)|0;if(!(c[q>>2]|0))c[p>>2]=7}else{s=(c[n>>2]|0)+1|0;c[n>>2]=s;if((s|0)>100)c[p>>2]=jt(33539)|0}do if(!(c[p>>2]|0)){c[m>>2]=Ob[c[7580>>2]&255](c[o>>2]|0,c[q>>2]|0,(c[g>>2]|0)-1|0)|0;if((c[m>>2]|0)<0){s=jt(33545)|0;c[p>>2]=FN(s,45404,c[o>>2]|0,33545)|0;break}do if((a[c[q>>2]>>0]|0)!=47){c[l>>2]=Jf(c[o>>2]|0)|0;while(1){if((c[l>>2]|0)<=0)break;if((a[(c[o>>2]|0)+((c[l>>2]|0)-1)>>0]|0)==47)break;c[l>>2]=(c[l>>2]|0)+-1}if(((c[m>>2]|0)+(c[l>>2]|0)+1|0)>(c[g>>2]|0)){c[p>>2]=jt(33551)|0;break}else{sR((c[q>>2]|0)+(c[l>>2]|0)|0,c[q>>2]|0,(c[m>>2]|0)+1|0)|0;rR(c[q>>2]|0,c[o>>2]|0,c[l>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[l>>2]|0);break}}while(0);a[(c[q>>2]|0)+(c[m>>2]|0)>>0]=0}while(0);c[o>>2]=c[q>>2]}if((c[p>>2]|0)==0?(c[o>>2]|0)!=(c[h>>2]|0):0)c[p>>2]=bO(c[o>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[j>>2]|0)){g=30;break}c[o>>2]=c[h>>2];if(c[p>>2]|0){g=30;break}}if((g|0)==30){Kd(c[q>>2]|0);i=r;return c[p>>2]|0}return 0}function aN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[l+20>>2]=b;c[f>>2]=d;c[g>>2]=e;tR(c[g>>2]|0,0,c[f>>2]|0)|0;c[1925]=UQ()|0;c[h>>2]=JN(45546,0,0)|0;if((c[h>>2]|0)<0){Fb(k|0)|0;e=c[g>>2]|0;a[e>>0]=a[k>>0]|0;a[e+1>>0]=a[k+1>>0]|0;a[e+2>>0]=a[k+2>>0]|0;a[e+3>>0]=a[k+3>>0]|0;e=(c[g>>2]|0)+4|0;a[e>>0]=a[7700]|0;a[e+1>>0]=a[7701]|0;a[e+2>>0]=a[7702]|0;a[e+3>>0]=a[7703]|0;c[f>>2]=8;e=c[f>>2]|0;i=l;return e|0}do{c[j>>2]=Ob[c[7364>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[j>>2]|0)>=0)break}while((c[($P()|0)>>2]|0)==4);EN(0,c[h>>2]|0,33675);e=c[f>>2]|0;i=l;return e|0}function bN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;ZQ(c[d>>2]|0)|0;i=e;return (c[d>>2]|0)*1e6|0}function cN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=eN(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;i=e;return c[d>>2]|0}function dN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[($P()|0)>>2]|0;i=e;return d|0}function eN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;Hb(g|0,0)|0;b=c[g>>2]|0;b=AR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=pR(1045635584,49096,b|0,C|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=pR(b|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=C;i=e;return c[d>>2]|0}function fN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[k+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[7264+((c[g>>2]|0)*12|0)+8>>2]|0)c[7264+((c[g>>2]|0)*12|0)+4>>2]=c[7264+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}j=c[h>>2]|0;i=k;return j|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){j=16;break}b=(HQ(c[e>>2]|0,c[7264+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;d=c[g>>2]|0;if(b)break;c[g>>2]=d+1}if((j|0)==16){j=c[h>>2]|0;i=k;return j|0}if(!(c[7264+(d*12|0)+8>>2]|0))c[7264+((c[g>>2]|0)*12|0)+8>>2]=c[7264+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[7264+((c[g>>2]|0)*12|0)+8>>2];c[7264+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];j=c[h>>2]|0;i=k;return j|0}function gN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(HQ(c[d>>2]|0,c[7264+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[7264+(b*12|0)+4>>2];f=c[f>>2]|0;i=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function hN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(HQ(c[d>>2]|0,c[7264+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){d=11;break}a=c[e>>2]|0;if(c[7264+((c[e>>2]|0)*12|0)+4>>2]|0){d=9;break}c[e>>2]=a+1}if((d|0)==9){c[f>>2]=c[7264+(a*12|0)>>2];f=c[f>>2]|0;i=g;return f|0}else if((d|0)==11){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function iN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7188}function jN(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];qN(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=XN(c[d>>2]|0)|0;i=b;return a|0}function kN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;g=m+28|0;o=m+24|0;h=m+20|0;j=m+16|0;n=m;l=m+12|0;k=m+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];b=n;c[k>>2]=WN(c[l>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if((c[k>>2]|0)==(c[j>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=m;return o|0}if((c[k>>2]|0)<0){c[g>>2]=266;o=c[g>>2]|0;i=m;return o|0}else{SN(c[l>>2]|0,0);tR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[j>>2]|0)-(c[k>>2]|0)|0)|0;c[g>>2]=522;o=c[g>>2]|0;i=m;return o|0}return 0}function lN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;g=n+28|0;o=n+24|0;h=n+20|0;j=n+16|0;k=n;l=n+12|0;m=n+8|0;c[o>>2]=a;c[h>>2]=b;c[j>>2]=d;b=k;c[b>>2]=e;c[b+4>>2]=f;c[l>>2]=c[o>>2];c[m>>2]=0;while(1){o=k;o=QN(c[l>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=o;if(!((o|0)<(c[j>>2]|0)?(c[m>>2]|0)>0:0))break;c[j>>2]=(c[j>>2]|0)-(c[m>>2]|0);b=c[m>>2]|0;o=k;b=pR(c[o>>2]|0,c[o+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;o=k;c[o>>2]=b;c[o+4>>2]=C;c[h>>2]=(c[h>>2]|0)+(c[m>>2]|0)}if((c[j>>2]|0)<=(c[m>>2]|0)){c[g>>2]=0;o=c[g>>2]|0;i=n;return o|0}if((c[m>>2]|0)<0?(c[(c[l>>2]|0)+20>>2]|0)!=28:0){c[g>>2]=778;o=c[g>>2]|0;i=n;return o|0}SN(c[l>>2]|0,0);c[g>>2]=13;o=c[g>>2]|0;i=n;return o|0}function mN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;k=j+16|0;f=j;g=j+12|0;h=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[k>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){k=f;a=c[(c[g>>2]|0)+40>>2]|0;a=pR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=oR(a|0,C|0,1,0)|0;k=c[(c[g>>2]|0)+40>>2]|0;k=yR(a|0,C|0,k|0,((k|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=AR(k|0,C|0,a|0,((a|0)<0)<<31>>31|0)|0;k=f;c[k>>2]=a;c[k+4>>2]=C}k=f;c[h>>2]=VN(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[h>>2]|0){k=c[g>>2]|0;SN(k,c[($P()|0)>>2]|0);c[e>>2]=FN(1546,45251,c[(c[g>>2]|0)+32>>2]|0,31121)|0;k=c[e>>2]|0;i=j;return k|0}else{c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}return 0}function nN(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;i=i+32|0;f=k+28|0;o=k+24|0;n=k+20|0;j=k+16|0;h=k+12|0;l=k+8|0;m=k+4|0;g=k;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[l>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[j>>2]=UN(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[l>>2]|0)|0;d=c[h>>2]|0;if(c[j>>2]|0){SN(d,c[($P()|0)>>2]|0);c[f>>2]=FN(1034,45535,c[(c[h>>2]|0)+32>>2]|0,31076)|0;o=c[f>>2]|0;i=k;return o|0}if((e[d+18>>1]|0)&8){c[j>>2]=Yb[c[7472>>2]&255](c[(c[h>>2]|0)+32>>2]|0,g)|0;if(!(c[j>>2]|0)){UN(c[g>>2]|0,0,0)|0;EN(c[h>>2]|0,c[g>>2]|0,31090)}else c[j>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[j>>2];o=c[f>>2]|0;i=k;return o|0}function oN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+96|0;d=h+88|0;e=h+84|0;f=h+80|0;j=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[j>>2]=Yb[c[7328>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[j>>2]|0){j=c[e>>2]|0;SN(j,c[($P()|0)>>2]|0);c[d>>2]=1802;j=c[d>>2]|0;i=h;return j|0}b=c[g+36>>2]|0;j=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=((b|0)<0)<<31>>31;j=c[f>>2]|0;if((c[j>>2]|0)==1&(c[j+4>>2]|0)==0){j=c[f>>2]|0;c[j>>2]=0;c[j+4>>2]=0}c[d>>2]=0;j=c[d>>2]|0;i=h;return j|0}function pN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];Ha(c[l>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Yb[c[7484>>2]&255](c[l>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[($P()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=TN(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)SN(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function qN(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[l>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[j>>2]=Tb[c[7496>>2]&255](c[l>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;i=m;return n|0}c[k>>2]=c[($P()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;SN(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;i=m;return n|0}function rN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;j=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[j>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=(Yb[c[7292>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];i=e;return c[d>>2]|0}function sN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[j>>2]=LN(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[j>>2];break}case 10:{MN(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{MN(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Od(18999,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[l>>2]=Jd(o,((o|0)<0)<<31>>31)|0;if(c[l>>2]|0){NN(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[l>>2]|0)|0;c[c[g>>2]>>2]=c[l>>2]}c[f>>2]=0;break}case 20:{o=ON(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);i=m;return c[f>>2]|0}function tN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 4096}function uN(a){a=a|0;var b=0,d=0,f=0,g=0;d=i;i=i+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;i=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;i=d;return g|0}function vN(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var 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;u=i;i=i+48|0;v=u+32|0;h=u+28|0;j=u+24|0;k=u+20|0;p=u+16|0;o=u+12|0;r=u+8|0;q=u+4|0;s=u;n=u+40|0;l=u+38|0;m=u+36|0;c[v>>2]=a;c[h>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[v>>2];c[o>>2]=c[(c[p>>2]|0)+36>>2];c[q>>2]=c[c[o>>2]>>2];c[s>>2]=0;b[n>>1]=(1<<(c[h>>2]|0)+(c[j>>2]|0))-(1<>2]);if(c[k>>2]&1){b[l>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((c[r>>2]|0)!=(c[o>>2]|0))b[l>>1]=e[l>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if(!((e[n>>1]|0)&(e[l>>1]|0)))c[s>>2]=KN(c[p>>2]|0,2,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;else c[s>>2]=0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=(c[o>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}if(!(c[k>>2]&4)){c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=28;break}if((e[(c[r>>2]|0)+10>>1]|0)&(e[n>>1]|0)){t=28;break}c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==28)c[s>>2]=5;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}c[s>>2]=KN(c[p>>2]|0,1,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}b[m>>1]=0;c[r>>2]=c[(c[q>>2]|0)+32>>2];while(1){if(!(c[r>>2]|0))break;if((e[(c[r>>2]|0)+12>>1]|0)&(e[n>>1]|0)){t=16;break}b[m>>1]=e[m>>1]|0|(e[(c[r>>2]|0)+10>>1]|0);c[r>>2]=c[(c[r>>2]|0)+4>>2]}if((t|0)==16)c[s>>2]=5;do if(!(c[s>>2]|0))if(!((e[m>>1]|0)&(e[n>>1]|0))){c[s>>2]=KN(c[p>>2]|0,0,(c[h>>2]|0)+120|0,c[j>>2]|0)|0;break}else{c[s>>2]=0;break}while(0);if(c[s>>2]|0){v=c[s>>2]|0;i=u;return v|0}v=(c[o>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[n>>1]|0);v=c[s>>2]|0;i=u;return v|0}function wN(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;AN();CN();i=b;return}function xN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[l>>2]=a;c[e>>2]=b;c[g>>2]=c[l>>2];c[f>>2]=c[(c[g>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}c[h>>2]=c[c[f>>2]>>2];c[j>>2]=(c[h>>2]|0)+32;while(1){if((c[c[j>>2]>>2]|0)==(c[f>>2]|0))break;c[j>>2]=(c[c[j>>2]>>2]|0)+4}c[c[j>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[g>>2]|0)+36>>2]=0;AN();l=(c[h>>2]|0)+28|0;c[l>>2]=(c[l>>2]|0)+-1;if(!(c[(c[h>>2]|0)+28>>2]|0)){if((c[e>>2]|0)!=0?(c[(c[h>>2]|0)+12>>2]|0)>=0:0)Tb[c[7460>>2]&255](c[(c[h>>2]|0)+8>>2]|0)|0;BN(c[g>>2]|0)}CN();c[d>>2]=0;l=c[d>>2]|0;i=k;return l|0}function yN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function zN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;i=f;return 0}function AN(){return}function BN(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;f=h+4|0;d=h;c[b>>2]=a;c[g>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[g>>2]|0)){i=h;return}if(c[(c[g>>2]|0)+28>>2]|0){i=h;return}c[f>>2]=DN()|0;c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(e[(c[g>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)Yb[c[7544>>2]&255](c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[g>>2]|0)+24>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[g>>2]|0)+12>>2]|0)>=0){EN(c[b>>2]|0,c[(c[g>>2]|0)+12>>2]|0,31697);c[(c[g>>2]|0)+12>>2]=-1}c[(c[c[g>>2]>>2]|0)+20>>2]=0;Kd(c[g>>2]|0);i=h;return}function CN(){return}function DN(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;a=e+8|0;d=e+4|0;b=e;c[d>>2]=32768;c[b>>2]=Pb[c[7568>>2]&255]()|0;if((c[b>>2]|0)<(c[d>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;i=e;return d|0}else{c[a>>2]=(c[b>>2]|0)/(c[d>>2]|0)|0;d=c[a>>2]|0;i=e;return d|0}return 0}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(Tb[c[7280>>2]&255](c[h>>2]|0)|0)){i=g;return}if(c[e>>2]|0)e=c[(c[e>>2]|0)+32>>2]|0;else e=0;FN(4106,45191,e,c[f>>2]|0)|0;i=g;return}function FN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;l=n;f=n+40|0;g=n+36|0;h=n+32|0;j=n+28|0;m=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[($P()|0)>>2];c[m>>2]=aQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=19010;d=c[f>>2]|0;a=c[k>>2]|0;k=c[g>>2]|0;e=c[h>>2]|0;b=c[m>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=a;c[l+8>>2]=k;c[l+12>>2]=e;c[l+16>>2]=b;Rd(d,45197,l);i=n;return c[f>>2]|0}function GN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;j=e+12|0;h=e+8|0;g=e+4|0;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;d=c[j>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];a=cQ(d,a,f)|0;i=e;return a|0}function HN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+544|0;l=k;e=k+20|0;m=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k+24|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=-1;c[l>>2]=c[m>>2];Qd(512,j,18999,l)|0;c[h>>2]=KQ(j)|0;while(1){if((c[h>>2]|0)<=0)break;if((a[j+(c[h>>2]|0)>>0]|0)==47)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)>0)a[j+(c[h>>2]|0)>>0]=0;else{if((a[j>>0]|0)!=47)a[j>>0]=46;a[j+1>>0]=0}c[g>>2]=JN(j,0,0)|0;c[c[f>>2]>>2]=c[g>>2];if((c[g>>2]|0)>=0){c[e>>2]=0;m=c[e>>2]|0;i=k;return m|0}else{c[e>>2]=FN(jt(31035)|0,45332,j,31035)|0;m=c[e>>2]|0;i=k;return m|0}return 0}function IN(){return ib(30)|0}function JN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+112|0;l=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;j=m+84|0;k=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:420;while(1){c[h>>2]=Ob[c[7268>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[j>>2]|0)|0;if((c[h>>2]|0)<0)if((c[($P()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;Tb[c[7280>>2]&255](c[h>>2]|0)|0;a=c[h>>2]|0;c[l>>2]=c[e>>2];c[l+4>>2]=a;Rd(28,45419,l);c[h>>2]=-1;if((Ob[c[7268>>2]&255](45462,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){a=c[h>>2]|0;i=m;return a|0}if(Yb[c[7328>>2]&255](c[h>>2]|0,k)|0){a=c[h>>2]|0;i=m;return a|0}if(c[k+36>>2]|0){a=c[h>>2]|0;i=m;return a|0}if((c[k+12>>2]&511|0)==(c[g>>2]|0)){a=c[h>>2]|0;i=m;return a|0}Yb[c[7436>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;a=c[h>>2]|0;i=m;return a|0}function KN(a,d,e,f){a=a|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;o=i;i=i+48|0;n=o;p=o+40|0;g=o+36|0;h=o+32|0;j=o+28|0;l=o+24|0;k=o+8|0;m=o+4|0;c[p>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;c[l>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[l>>2]|0)+12>>2]|0)<0){p=c[m>>2]|0;i=o;return p|0};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;b[k>>1]=c[g>>2];b[k+2>>1]=0;c[k+4>>2]=c[h>>2];c[k+8>>2]=c[j>>2];a=c[1838]|0;p=c[(c[l>>2]|0)+12>>2]|0;c[n>>2]=k;c[m>>2]=Ob[a&255](p,13,n)|0;c[m>>2]=(c[m>>2]|0)!=-1?0:5;p=c[m>>2]|0;i=o;return p|0}function LN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+128|0;e=n+112|0;f=n+108|0;g=n+16|0;l=n+8|0;h=n+32|0;k=n+28|0;m=n+24|0;j=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[f>>2]|0)+40>>2]|0)>0){if(Yb[c[7328>>2]&255](c[(c[f>>2]|0)+12>>2]|0,h)|0){c[e>>2]=1802;a=c[e>>2]|0;i=n;return a|0}b=c[(c[f>>2]|0)+40>>2]|0;b=pR(c[g>>2]|0,c[g+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=oR(b|0,C|0,1,0)|0;g=c[(c[f>>2]|0)+40>>2]|0;g=yR(b|0,C|0,g|0,((g|0)<0)<<31>>31|0)|0;b=c[(c[f>>2]|0)+40>>2]|0;b=AR(g|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;g=l;c[g>>2]=b;c[g+4>>2]=C;g=l;b=c[g+4>>2]|0;a=c[h+36>>2]|0;d=((a|0)<0)<<31>>31;if((b|0)>(d|0)|((b|0)==(d|0)?(c[g>>2]|0)>>>0>a>>>0:0)){c[k>>2]=c[h+40>>2];c[m>>2]=0;h=_((c[h+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;a=j;c[a>>2]=h;c[a+4>>2]=((h|0)<0)<<31>>31;while(1){d=j;h=c[d>>2]|0;d=c[d+4>>2]|0;g=l;a=c[k>>2]|0;a=pR(c[g>>2]|0,c[g+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=oR(a|0,C|0,1,0)|0;g=C;if(!((d|0)<(g|0)|(d|0)==(g|0)&h>>>0>>0))break a;h=j;d=c[h+4>>2]|0;a=l;g=c[a+4>>2]|0;if((d|0)>(g|0)|((d|0)==(g|0)?(c[h>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){h=l;h=oR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}a=j;c[m>>2]=QN(c[f>>2]|0,c[a>>2]|0,c[a+4>>2]|0,19010,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;a=j;h=pR(c[a>>2]|0,c[a+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;a=j;c[a>>2]=h;c[a+4>>2]=C}c[e>>2]=778;a=c[e>>2]|0;i=n;return a|0}}while(0);c[e>>2]=0;a=c[e>>2]|0;i=n;return a|0}function MN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m+4|0;j=m+8|0;l=m;c[k>>2]=f;a[j>>0]=g;c[l>>2]=h;if((c[c[l>>2]>>2]|0)<0){c[c[l>>2]>>2]=((e[(c[k>>2]|0)+18>>1]|0)&(d[j>>0]|0)|0)!=0&1;i=m;return}j=d[j>>0]|0;if(!(c[c[l>>2]>>2]|0)){l=(c[k>>2]|0)+18|0;b[l>>1]=(e[l>>1]|0)&~j;i=m;return}else{l=(c[k>>2]|0)+18|0;b[l>>1]=e[l>>1]|0|j;i=m;return}}function NN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+64|0;j=m+8|0;l=m+48|0;e=m+44|0;f=m+40|0;k=m+36|0;g=m+32|0;h=m;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[k>>2]=PN()|0;while(1){Sd(8,h);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=h;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[k>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Qd(b,d,45472,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){e=4;break}p=c[g>>2]|0;c[g>>2]=p+1;if((p|0)>10){e=4;break}if(Yb[c[7292>>2]&255](c[f>>2]|0,0)|0){e=6;break}}if((e|0)==4){c[l>>2]=1;p=c[l>>2]|0;i=m;return p|0}else if((e|0)==6){c[l>>2]=0;p=c[l>>2]|0;i=m;return p|0}return 0}function ON(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){a=0;a=a&1;i=e;return a|0}if(Yb[c[7316>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){a=1;a=a&1;i=e;return a|0}a=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);a=a&1;i=e;return a|0}function PN(){var a=0,b=0,d=0,e=0,f=0;e=i;i=i+96|0;b=e+80|0;a=e+4|0;d=e;c[d>>2]=c[241];if(!(c[1900]|0))c[1900]=rb(45489)|0;if(!(c[1901]|0))c[1901]=rb(45503)|0;c[b>>2]=0;while(1){if((c[b>>2]|0)>>>0>=6){a=12;break}if((((c[d>>2]|0)!=0?(Yb[c[7316>>2]&255](c[d>>2]|0,a)|0)==0:0)?(c[a+12>>2]&61440|0)==16384:0)?(Yb[c[7292>>2]&255](c[d>>2]|0,7)|0)==0:0){a=12;break}f=c[b>>2]|0;c[b>>2]=f+1;c[d>>2]=c[7600+(f<<2)>>2]}if((a|0)==12){i=e;return c[d>>2]|0}return 0}function QN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;h=g+16|0;l=g;k=g+12|0;j=g+8|0;c[h>>2]=a;a=l;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[j>>2]=f;e=l;e=RN(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[k>>2]|0,c[j>>2]|0,(c[h>>2]|0)+20|0)|0;i=g;return e|0}function RN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[l>>2]=c[l>>2]&131071;do{e=VQ(c[h>>2]|0,c[j>>2]|0,0)|0;g=n;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[o>>2]=Ob[c[7400>>2]&255](c[h>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[o>>2]|0)>=0)break}while((c[($P()|0)>>2]|0)==4);if((p|0)==3)c[o>>2]=-1;if((c[o>>2]|0)>=0){p=c[o>>2]|0;i=q;return p|0}p=c[($P()|0)>>2]|0;c[c[m>>2]>>2]=p;p=c[o>>2]|0;i=q;return p|0}function SN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];i=d;return}function TN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}i=f;return c[d>>2]|0}function UN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=QQ(c[g>>2]|0)|0;i=f;return c[e>>2]|0}function VN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=Yb[c[7340>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){b=4;break}if((c[($P()|0)>>2]|0)!=4){b=4;break}}if((b|0)==4){i=h;return c[g>>2]|0}return 0}function WN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+8|0;k=q+28|0;l=q+24|0;m=q+20|0;o=q+16|0;n=q;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=0;do{a=VQ(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,0)|0;e=n;c[e>>2]=a;c[e+4>>2]=((a|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){p=3;break}c[m>>2]=Ob[c[7364>>2]&255](c[(c[h>>2]|0)+12>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;if((c[m>>2]|0)==(c[l>>2]|0))break;if((c[m>>2]|0)>=0){if((c[m>>2]|0)>0){c[l>>2]=(c[l>>2]|0)-(c[m>>2]|0);a=c[m>>2]|0;e=j;a=pR(c[e>>2]|0,c[e+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;e=j;c[e>>2]=a;c[e+4>>2]=C;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[m>>2]|0)}}else{if((c[($P()|0)>>2]|0)!=4){p=8;break}c[m>>2]=1}}while((c[m>>2]|0)>0);if((p|0)==3){p=c[h>>2]|0;SN(p,c[($P()|0)>>2]|0);c[g>>2]=-1;p=c[g>>2]|0;i=q;return p|0}else if((p|0)==8){c[o>>2]=0;p=c[h>>2]|0;SN(p,c[($P()|0)>>2]|0)}c[g>>2]=(c[m>>2]|0)+(c[o>>2]|0);p=c[g>>2]|0;i=q;return p|0}function XN(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){EN(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,29444);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return 0}function YN(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7624}function ZN(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=XN(c[d>>2]|0)|0;i=b;return a|0}function _N(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function $N(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function aO(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;i=d;return 0}function bO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=Jf(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(Yb[c[7304>>2]&255](c[h>>2]|0,(c[j>>2]|0)-2|0)|0){c[k>>2]=Jf(c[h>>2]|0)|0;b=c[k>>2]|0;c[k>>2]=b+1;a[(c[h>>2]|0)+b>>0]=47;break}b=jt(33471)|0;c[f>>2]=FN(b,45233,c[g>>2]|0,33471)|0;b=c[f>>2]|0;i=n;return b|0}while(0);if(((c[k>>2]|0)+(c[l>>2]|0)+1|0)>(c[j>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=jt(33480)|0;b=c[f>>2]|0;i=n;return b|0}else{d=(c[j>>2]|0)-(c[k>>2]|0)|0;b=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Qd(d,b,18999,m)|0;c[f>>2]=0;b=c[f>>2]|0;i=n;return b|0}return 0}function cO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+96|0;k=j+92|0;d=j+88|0;f=j+84|0;h=j+8|0;e=j+4|0;g=j;c[k>>2]=a;c[d>>2]=b;c[f>>2]=0;if(Yb[c[7316>>2]&255](c[k>>2]|0,h)|0){k=c[f>>2]|0;i=j;return k|0}AN();c[e>>2]=c[1945];while(1){if(c[e>>2]|0)if((c[c[e>>2]>>2]|0)!=(c[h>>2]|0))a=1;else a=(c[(c[e>>2]|0)+4>>2]|0)!=(c[h+72>>2]|0);else a=0;b=c[e>>2]|0;if(!a)break;c[e>>2]=c[b+32>>2]}if(b){c[g>>2]=(c[e>>2]|0)+28;while(1){if(!(c[c[g>>2]>>2]|0))break;if((c[(c[c[g>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[g>>2]=(c[c[g>>2]>>2]|0)+8}c[f>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[c[g>>2]>>2]=c[(c[f>>2]|0)+8>>2]}CN();k=c[f>>2]|0;i=j;return k|0}function dO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+624|0;h=r+100|0;j=r+96|0;k=r+92|0;l=r+88|0;m=r+84|0;o=r+80|0;q=r+104|0;n=r+76|0;p=r;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;c[c[k>>2]>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;if(!(c[j>>2]&526336)){if(!(c[j>>2]&8)){b=c[o>>2]|0;i=r;return b|0}c[c[k>>2]>>2]=384;b=c[o>>2]|0;i=r;return b|0}c[n>>2]=(Jf(c[h>>2]|0)|0)-1;while(1){if((a[(c[h>>2]|0)+(c[n>>2]|0)>>0]|0)==45)break;c[n>>2]=(c[n>>2]|0)+-1}rR(q|0,c[h>>2]|0,c[n>>2]|0)|0;a[q+(c[n>>2]|0)>>0]=0;if(!(Yb[c[7316>>2]&255](q,p)|0)){c[c[k>>2]>>2]=c[p+12>>2]&511;c[c[l>>2]>>2]=c[p+20>>2];c[c[m>>2]>>2]=c[p+24>>2];b=c[o>>2]|0;i=r;return b|0}else{c[o>>2]=1802;b=c[o>>2]|0;i=r;return b|0}return 0}function eO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(Pb[c[7520>>2]&255]()|0){b=0;i=h;return b|0}b=Ob[c[7508>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;i=h;return b|0}function fO(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+48|0;r=t;j=t+40|0;k=t+36|0;u=t+32|0;l=t+28|0;m=t+24|0;o=t+20|0;p=t+16|0;q=t+12|0;s=t+8|0;n=t+4|0;c[j>>2]=a;c[k>>2]=d;c[u>>2]=f;c[l>>2]=g;c[m>>2]=h;c[p>>2]=c[u>>2];c[q>>2]=0;c[(c[p>>2]|0)+12>>2]=c[k>>2];c[(c[p>>2]|0)+4>>2]=c[j>>2];c[(c[p>>2]|0)+32>>2]=c[l>>2];b[(c[p>>2]|0)+18>>1]=c[m>>2]&255;if(If((c[m>>2]&64|0)!=0?c[l>>2]|0:0,45565,1)|0){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(HQ(c[(c[j>>2]|0)+16>>2]|0,45181)|0)){u=(c[p>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[m>>2]&128)c[o>>2]=7624;else c[o>>2]=Yb[c[c[(c[j>>2]|0)+20>>2]>>2]&255](c[l>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)!=7704){if((c[o>>2]|0)==7188){c[n>>2]=(KQ(c[l>>2]|0)|0)+6;u=c[n>>2]|0;c[s>>2]=Jd(u,((u|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))c[q>>2]=7;else{g=c[n>>2]|0;u=c[s>>2]|0;c[r>>2]=c[l>>2];Qd(g,u,45570,r)|0}c[(c[p>>2]|0)+24>>2]=c[s>>2]}}else{AN();c[q>>2]=gO(c[p>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[q>>2]|0){EN(c[p>>2]|0,c[k>>2]|0,32813);c[k>>2]=-1}CN()}SN(c[p>>2]|0,0);if(!(c[q>>2]|0)){c[c[p>>2]>>2]=c[o>>2];hO(c[p>>2]|0);u=c[q>>2]|0;i=t;return u|0}if((c[k>>2]|0)<0){u=c[q>>2]|0;i=t;return u|0}EN(c[p>>2]|0,c[k>>2]|0,32898);u=c[q>>2]|0;i=t;return u|0}function gO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+112|0;f=k+104|0;d=k+100|0;g=k+96|0;l=k+92|0;m=k+88|0;h=k+80|0;e=k+4|0;j=k;c[d>>2]=a;c[g>>2]=b;c[j>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[l>>2]=Yb[c[7328>>2]&255](c[m>>2]|0,e)|0;if(c[l>>2]|0){m=c[d>>2]|0;SN(m,c[($P()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;i=k;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;i=k;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[j>>2]=c[1945];while(1){if(c[j>>2]|0)a=(EQ(h,c[j>>2]|0,8)|0)!=0;else a=0;d=c[j>>2]|0;if(!a)break;c[j>>2]=c[d+32>>2]}if(!d){c[j>>2]=Jd(40,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}d=c[j>>2]|0;a=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));m=c[j>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[j>>2]|0)+16>>2]=1;c[(c[j>>2]|0)+32>>2]=c[1945];c[(c[j>>2]|0)+36>>2]=0;if(c[1945]|0)c[(c[1945]|0)+36>>2]=c[j>>2];c[1945]=c[j>>2]}else{m=(c[j>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}function hO(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+112|0;k=l+24|0;j=l+16|0;f=l+8|0;d=l;g=l+108|0;h=l+32|0;b=l+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128){i=l;return}c[b>>2]=Yb[c[7328>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45578,d);i=l;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45602,f);i=l;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[j>>2]=c[a+32>>2];Rd(28,45631,j);i=l;return}if(!(ON(a)|0)){i=l;return}c[k>>2]=c[(c[g>>2]|0)+32>>2];Rd(28,45658,k);i=l;return}function iO(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;c[d>>2]=c[b>>2];hO(c[d>>2]|0);kO(c[b>>2]|0,0)|0;AN();if((c[(c[d>>2]|0)+8>>2]|0)!=0?(c[(c[(c[d>>2]|0)+8>>2]|0)+24>>2]|0)!=0:0)rO(c[d>>2]|0);sO(c[d>>2]|0);c[e>>2]=XN(c[b>>2]|0)|0;CN();i=f;return c[e>>2]|0}function jO(e,f){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;p=i;i=i+48|0;k=p+44|0;q=p+40|0;l=p+36|0;o=p+32|0;m=p+28|0;n=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[l>>2]=f;c[o>>2]=0;c[m>>2]=c[q>>2];c[j>>2]=0;if((d[(c[m>>2]|0)+16>>0]|0|0)>=(c[l>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;i=p;return q|0}AN();c[n>>2]=c[(c[m>>2]|0)+8>>2];if((d[(c[m>>2]|0)+16>>0]|0|0)!=(d[(c[n>>2]|0)+12>>0]|0|0)?((c[l>>2]|0)>1?1:(d[(c[n>>2]|0)+12>>0]|0|0)>=3):0)c[o>>2]=5;else g=6;a:do if((g|0)==6){do if((c[l>>2]|0)==1){if((d[(c[n>>2]|0)+12>>0]|0|0)!=1?(d[(c[n>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[h+8>>2]=1;b[h+2>>1]=0;if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(d[(c[m>>2]|0)+16>>0]|0|0)<3:0)g=13}else g=13;if((g|0)==13?(b[h>>1]=(c[l>>2]|0)==1?0:1,c[h+4>>2]=c[381],(pO(c[m>>2]|0,h)|0)!=0):0){c[j>>2]=c[($P()|0)>>2];c[o>>2]=TN(c[j>>2]|0,3850)|0;if((c[o>>2]|0)==5)break;SN(c[m>>2]|0,c[j>>2]|0);break}do if((c[l>>2]|0)!=1){if((c[l>>2]|0)==4?(c[(c[n>>2]|0)+8>>2]|0)>1:0){c[o>>2]=5;break}b[h>>1]=1;f=c[381]|0;if((c[l>>2]|0)==2){c[h+4>>2]=f+1;c[h+8>>2]=1}else{c[h+4>>2]=f+2;c[h+8>>2]=510}if((pO(c[m>>2]|0,h)|0)!=0?(c[j>>2]=c[($P()|0)>>2],c[o>>2]=TN(c[j>>2]|0,3850)|0,(c[o>>2]|0)!=5):0)SN(c[m>>2]|0,c[j>>2]|0)}else{c[h+4>>2]=(c[381]|0)+2;c[h+8>>2]=510;if(pO(c[m>>2]|0,h)|0){c[j>>2]=c[($P()|0)>>2];c[o>>2]=TN(c[j>>2]|0,3850)|0}c[h+4>>2]=c[381];c[h+8>>2]=1;b[h>>1]=2;q=(pO(c[m>>2]|0,h)|0)!=0;if(q&(c[o>>2]|0)==0){c[j>>2]=c[($P()|0)>>2];c[o>>2]=2058}if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=1;q=(c[n>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[n>>2]|0)+8>>2]=1;break}if((c[o>>2]|0)==5)break a;SN(c[m>>2]|0,c[j>>2]|0);break a}while(0);f=c[l>>2]|0;if(!(c[o>>2]|0)){a[(c[m>>2]|0)+16>>0]=f;a[(c[n>>2]|0)+12>>0]=c[l>>2];break}if((f|0)==4){a[(c[m>>2]|0)+16>>0]=3;a[(c[n>>2]|0)+12>>0]=3}}while(0);CN();c[k>>2]=c[o>>2];q=c[k>>2]|0;i=p;return q|0}function kO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=oO(c[f>>2]|0,c[e>>2]|0,0)|0;i=d;return a|0}function lO(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;m=n;o=n+40|0;g=n+36|0;k=n+32|0;l=n+28|0;j=n+24|0;h=n+8|0;c[o>>2]=e;c[g>>2]=f;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[o>>2];AN();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[l>>2]=1;do if((c[l>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[h+2>>1]=0;c[h+4>>2]=(c[381]|0)+1;c[h+8>>2]=1;b[h>>1]=1;f=c[1838]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=h;if(Ob[f&255](o,12,m)|0){c[k>>2]=3594;o=c[j>>2]|0;SN(o,c[($P()|0)>>2]|0);break}if((b[h>>1]|0)!=2)c[l>>2]=1}while(0);CN();c[c[g>>2]>>2]=c[l>>2];i=n;return c[k>>2]|0}function mO(a,f,g,h,j){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=i;i=i+160|0;z=E+152|0;F=E+148|0;A=E+144|0;k=E+140|0;l=E+136|0;B=E+132|0;u=E+128|0;t=E+124|0;C=E+120|0;D=E+116|0;s=E+112|0;r=E+108|0;m=E+104|0;p=E+100|0;w=E+24|0;o=E+20|0;x=E+16|0;y=E+12|0;q=E+8|0;n=E+4|0;v=E;c[F>>2]=a;c[A>>2]=f;c[k>>2]=g;c[l>>2]=h;c[B>>2]=j;c[u>>2]=c[F>>2];c[D>>2]=0;c[s>>2]=DN()|0;if((c[(c[u>>2]|0)+36>>2]|0)==0?(c[D>>2]=nO(c[u>>2]|0)|0,(c[D>>2]|0)!=0):0){c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}c[t>>2]=c[(c[u>>2]|0)+36>>2];c[C>>2]=c[c[t>>2]>>2];c[r>>2]=_(((c[A>>2]|0)+(c[s>>2]|0)|0)/(c[s>>2]|0)|0,c[s>>2]|0)|0;a:do if((e[(c[C>>2]|0)+20>>1]|0|0)<(c[r>>2]|0)){c[p>>2]=_(c[r>>2]|0,c[k>>2]|0)|0;c[(c[C>>2]|0)+16>>2]=c[k>>2];b:do if((c[(c[C>>2]|0)+12>>2]|0)>=0){if(Yb[c[7328>>2]&255](c[(c[C>>2]|0)+12>>2]|0,w)|0){c[D>>2]=4874;break a}if((c[w+36>>2]|0)<(c[p>>2]|0)){if(!(c[l>>2]|0))break a;c[o>>2]=(c[w+36>>2]|0)/4096|0;while(1){if((c[o>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[x>>2]=0;F=(c[o>>2]<<12)+4096-1|0;if((RN(c[(c[C>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,19010,1,x)|0)!=1)break;c[o>>2]=(c[o>>2]|0)+1}c[y>>2]=c[(c[C>>2]|0)+8>>2];c[D>>2]=FN(4874,45286,c[y>>2]|0,31960)|0;break a}}while(0);c[m>>2]=Ld(c[(c[C>>2]|0)+24>>2]|0,c[r>>2]<<2)|0;if(!(c[m>>2]|0)){c[D>>2]=3082;break}c[(c[C>>2]|0)+24>>2]=c[m>>2];while(1){if((e[(c[C>>2]|0)+20>>1]|0|0)>=(c[r>>2]|0))break a;c[q>>2]=_(c[k>>2]|0,c[s>>2]|0)|0;if((c[(c[C>>2]|0)+12>>2]|0)>=0){w=c[1883]|0;g=c[q>>2]|0;x=(d[(c[C>>2]|0)+22>>0]|0|0)!=0?1:3;y=c[(c[C>>2]|0)+12>>2]|0;F=c[k>>2]|0;F=AR(F|0,((F|0)<0)<<31>>31|0,e[(c[C>>2]|0)+20>>1]|0|0,0)|0;c[v>>2]=Sb[w&255](0,g,x,1,y,F)|0;if((c[v>>2]|0)==(-1|0)){k=21;break}}else{F=c[k>>2]|0;c[v>>2]=Jd(F,((F|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){k=23;break}tR(c[v>>2]|0,0,c[k>>2]|0)|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[s>>2]|0))break;F=_(c[k>>2]|0,c[n>>2]|0)|0;c[(c[(c[C>>2]|0)+24>>2]|0)+((e[(c[C>>2]|0)+20>>1]|0)+(c[n>>2]|0)<<2)>>2]=(c[v>>2]|0)+F;c[n>>2]=(c[n>>2]|0)+1}F=(c[C>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[s>>2]|0)}if((k|0)==21){c[D>>2]=FN(5386,45373,c[(c[C>>2]|0)+8>>2]|0,31987)|0;break}else if((k|0)==23){c[D>>2]=7;break}}while(0);if((e[(c[C>>2]|0)+20>>1]|0|0)>(c[A>>2]|0))c[c[B>>2]>>2]=c[(c[(c[C>>2]|0)+24>>2]|0)+(c[A>>2]<<2)>>2];else c[c[B>>2]>>2]=0;if((c[D>>2]|0)==0?(d[(c[C>>2]|0)+22>>0]|0|0)!=0:0)c[D>>2]=8;c[z>>2]=c[D>>2];F=c[z>>2]|0;i=E;return F|0}function nO(b){b=b|0;var 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;r=i;i=i+128|0;o=r;e=r+116|0;f=r+112|0;j=r+108|0;l=r+104|0;m=r+100|0;k=r+96|0;q=r+92|0;g=r+88|0;n=r+12|0;p=r+8|0;h=r+4|0;c[f>>2]=b;c[j>>2]=0;c[j>>2]=Jd(16,0)|0;if(!(c[j>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;i=r;return q|0}b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;AN();c[k>>2]=c[(c[f>>2]|0)+8>>2];c[l>>2]=c[(c[k>>2]|0)+20>>2];a:do if(!(c[l>>2]|0)){c[p>>2]=c[(c[f>>2]|0)+32>>2];do if(!(Yb[c[7328>>2]&255](c[(c[f>>2]|0)+12>>2]|0,n)|0)){c[g>>2]=6+(KQ(c[p>>2]|0)|0);c[l>>2]=Jd(36+(c[g>>2]|0)|0,0)|0;if(!(c[l>>2]|0)){c[m>>2]=7;break}tR(c[l>>2]|0,0,36+(c[g>>2]|0)|0)|0;b=(c[l>>2]|0)+36|0;c[(c[l>>2]|0)+8>>2]=b;c[q>>2]=b;g=c[g>>2]|0;b=c[q>>2]|0;c[o>>2]=c[p>>2];Qd(g,b,45686,o)|0;c[(c[l>>2]|0)+12>>2]=-1;c[(c[(c[f>>2]|0)+8>>2]|0)+20>>2]=c[l>>2];c[c[l>>2]>>2]=c[(c[f>>2]|0)+8>>2];c[(c[l>>2]|0)+4>>2]=8;if(!(c[(c[l>>2]|0)+4>>2]|0)){c[m>>2]=7;break}if(d[(c[k>>2]|0)+13>>0]|0)break a;c[h>>2]=66;if(If(c[(c[f>>2]|0)+32>>2]|0,45693,0)|0){c[h>>2]=0;a[(c[l>>2]|0)+22>>0]=1}p=JN(c[q>>2]|0,c[h>>2]|0,c[n+12>>2]&511)|0;c[(c[l>>2]|0)+12>>2]=p;if((c[(c[l>>2]|0)+12>>2]|0)<0){p=jt(31812)|0;c[m>>2]=FN(p,45228,c[q>>2]|0,31812)|0;break}eO(c[(c[l>>2]|0)+12>>2]|0,c[n+20>>2]|0,c[n+24>>2]|0)|0;c[m>>2]=0;if((KN(c[f>>2]|0,1,128,1)|0)==0?(VN(c[(c[l>>2]|0)+12>>2]|0,0,0)|0)!=0:0)c[m>>2]=FN(4618,45251,c[q>>2]|0,31828)|0;if(!(c[m>>2]|0))c[m>>2]=KN(c[f>>2]|0,0,128,1)|0;if(!(c[m>>2]|0))break a}else c[m>>2]=1802;while(0);BN(c[f>>2]|0);Kd(c[j>>2]|0);CN();c[e>>2]=c[m>>2];q=c[e>>2]|0;i=r;return q|0}while(0);c[c[j>>2]>>2]=c[l>>2];q=(c[l>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[j>>2];CN();c[(c[j>>2]|0)+4>>2]=c[(c[l>>2]|0)+32>>2];c[(c[l>>2]|0)+32>>2]=c[j>>2];c[e>>2]=0;q=c[e>>2]|0;i=r;return q|0}function oO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;h=p+44|0;q=p+40|0;j=p+36|0;l=p+28|0;m=p+24|0;k=p+8|0;n=p;c[q>>2]=e;c[j>>2]=f;c[p+32>>2]=g;c[l>>2]=c[q>>2];c[n>>2]=0;if((d[(c[l>>2]|0)+16>>0]|0|0)<=(c[j>>2]|0)){c[h>>2]=0;q=c[h>>2]|0;i=p;return q|0}AN();c[m>>2]=c[(c[l>>2]|0)+8>>2];do if((d[(c[l>>2]|0)+16>>0]|0|0)>1){if((c[j>>2]|0)==1?(b[k>>1]=0,b[k+2>>1]=0,c[k+4>>2]=(c[381]|0)+2,c[k+8>>2]=510,(pO(c[l>>2]|0,k)|0)!=0):0){c[n>>2]=2314;q=c[l>>2]|0;SN(q,c[($P()|0)>>2]|0);break}b[k>>1]=2;b[k+2>>1]=0;c[k+4>>2]=c[381];c[k+8>>2]=2;if(!(pO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=1;o=10;break}else{c[n>>2]=2058;q=c[l>>2]|0;SN(q,c[($P()|0)>>2]|0);break}}else o=10;while(0);if((o|0)==10?(c[j>>2]|0)==0:0){q=(c[m>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;do if(!(c[(c[m>>2]|0)+8>>2]|0)){b[k>>1]=2;b[k+2>>1]=0;c[k+8>>2]=0;c[k+4>>2]=0;if(!(pO(c[l>>2]|0,k)|0)){a[(c[m>>2]|0)+12>>0]=0;break}else{c[n>>2]=2058;q=c[l>>2]|0;SN(q,c[($P()|0)>>2]|0);a[(c[m>>2]|0)+12>>0]=0;a[(c[l>>2]|0)+16>>0]=0;break}}while(0);q=(c[m>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[m>>2]|0)+24>>2]|0))qO(c[l>>2]|0)}CN();if(!(c[n>>2]|0))a[(c[l>>2]|0)+16>>0]=c[j>>2];c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}function pO(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;p=q+8|0;o=q;h=q+48|0;j=q+44|0;k=q+40|0;n=q+36|0;m=q+32|0;l=q+16|0;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];do if(((e[(c[j>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0){c[n>>2]=0;break}b[l+2>>1]=0;c[l+4>>2]=(c[381]|0)+2;c[l+8>>2]=510;b[l>>1]=1;g=c[1838]|0;p=c[(c[j>>2]|0)+12>>2]|0;c[o>>2]=l;c[n>>2]=Ob[g&255](p,13,o)|0;if((c[n>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}else{g=c[1838]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[p>>2]=c[k>>2];c[n>>2]=Ob[g&255](o,13,p)|0}while(0);c[h>>2]=c[n>>2];p=c[h>>2]|0;i=q;return p|0}function qO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[d>>2]=c[(c[e>>2]|0)+28>>2];while(1){if(!(c[d>>2]|0))break;c[f>>2]=c[(c[d>>2]|0)+8>>2];EN(c[b>>2]|0,c[c[d>>2]>>2]|0,28716);Kd(c[d>>2]|0);c[d>>2]=c[f>>2]}c[(c[e>>2]|0)+28>>2]=0;i=g;return}function rO(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;i=b;return}function sO(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){i=e;return}qO(c[b>>2]|0);b=c[(c[d>>2]|0)+32>>2]|0;if(c[(c[d>>2]|0)+36>>2]|0)c[(c[(c[d>>2]|0)+36>>2]|0)+32>>2]=b;else c[1945]=b;if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);i=e;return}function tO(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 7704}function uO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;a=ee(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=C;d=b;a=d;a=c[a>>2]|0;d=d+4|0;d=c[d>>2]|0;C=d;i=e;return a|0}return 0}function vO(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=i;i=i+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];i=e;return +f}else{g=(c[d>>2]|0)+4|0;a=c[g>>2]|0;c[g>>2]=a+1;h[b>>3]=+ce(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0);f=+h[b>>3];i=e;return +f}return 0.0}function wO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;b=a[e>>0]|0;i=l;return b|0}else{b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[k>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[k>>2]|0);c[k>>2]=(c[k>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[k>>2];b=a[e>>0]|0;i=l;return b|0}return 0}function xO(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}else{f=(c[d>>2]|0)+4|0;a=c[f>>2]|0;c[f>>2]=a+1;c[b>>2]=ae(c[(c[(c[d>>2]|0)+8>>2]|0)+(a<<2)>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}return 0}function yO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;b=c[g>>2]|0;b=pR(c[(c[f>>2]|0)+12>>2]|0,0,b|0,((b|0)<0)<<31>>31|0)|0;e=C;if((e|0)>0|((e|0)==0?b>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(b=jA(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=b,(b|0)<=0):0){i=j;return}while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;e=a[h>>0]|0;d=(c[f>>2]|0)+12|0;b=c[d>>2]|0;c[d>>2]=b+1;a[(c[(c[f>>2]|0)+8>>2]|0)+b>>0]=e}i=j;return}function zO(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=288;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){i=d;return}Fd(c[b>>2]|0)|0;i=d;return}function AO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+20|0;d=h+16|0;e=h+12|0;g=h+8|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=Tb[c[64>>2]&255](c[j>>2]|0)|0;Pi(5,c[j>>2]|0);b=288;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=_f(0)|0;a=f;c[a>>2]=b;c[a+4>>2]=C;a=f;b=c[a>>2]|0;a=c[a+4>>2]|0;f=288;j=c[e>>2]|0;j=oR(c[f>>2]|0,c[f+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;f=C;if((a|0)>(f|0)|(a|0)==(f|0)&b>>>0>=j>>>0){c[77]=1;zO(c[e>>2]|0);break}else{c[77]=0;break}}while(0);c[g>>2]=Tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[g>>2]|0)){b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}c[e>>2]=ag(c[g>>2]|0)|0;Qi(0,c[e>>2]|0);Qi(9,1);b=c[g>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[e>>2]|0;i=h;return j|0}function BO(){DO(9608,3);return}function CO(){DO(9384,8);return}function DO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;h=m+16|0;k=m+12|0;l=m+8|0;j=m+4|0;g=m;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;c[l>>2]=c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+20>>2];c[j>>2]=Jf(c[l>>2]|0)|0;c[g>>2]=((d[18221+(d[c[l>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[k>>2]=cu(c[g>>2]|0,c[l>>2]|0)|0;if(c[k>>2]|0){c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[h>>2]|0)*28|0)+24>>2]=c[1080+(c[g>>2]<<2)>>2];c[1080+(c[g>>2]<<2)>>2]=(c[e>>2]|0)+((c[h>>2]|0)*28|0)}c[h>>2]=(c[h>>2]|0)+1}i=m;return}function EO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;a=ae(c[c[h>>2]>>2]|0)|0;c[f>>2]=a;if(!a){i=g;return}h=c[e>>2]|0;ke(h,yd(c[f>>2]|0)|0);i=g;return}function FO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=de(c[c[h>>2]>>2]|0)|0;a=c[g>>2]|0;ne(a,Ad(c[f>>2]|0)|0,-1,0);i=e;return}function GO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,jf()|0,-1,0);i=e;return}function HO(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;g=v+52|0;h=v+48|0;j=v+44|0;u=v+40|0;t=v+36|0;r=v+32|0;m=v+28|0;n=v+24|0;k=v+20|0;l=v+16|0;q=v+12|0;s=v+8|0;o=v+4|0;p=v;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=0;c[l>>2]=0;if((fe(c[c[j>>2]>>2]|0)|0)==5){i=v;return}c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=v;return}c[r>>2]=be(c[c[j>>2]>>2]|0)|0;a:do if((c[h>>2]|0)!=1){b=ae(c[(c[j>>2]|0)+4>>2]|0)|0;c[t>>2]=b;if(!b){i=v;return}c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break;b=c[s>>2]|0;c[s>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break b;c[s>>2]=(c[s>>2]|0)+1}while(0);c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)>0){f=c[g>>2]|0;b=c[q>>2]|0;b=AR(b|0,((b|0)<0)<<31>>31|0,5,0)|0;c[l>>2]=oP(f,b,C)|0;if(!(c[l>>2]|0)){i=v;return}c[k>>2]=(c[l>>2]|0)+(c[q>>2]<<2);c[s>>2]=c[t>>2];c[q>>2]=0;while(1){if(!(a[c[s>>2]>>0]|0))break a;c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]=c[s>>2];b=c[s>>2]|0;c[s>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[s>>2]>>0]&192|0)!=128)break c;c[s>>2]=(c[s>>2]|0)+1}while(0);a[(c[k>>2]|0)+(c[q>>2]|0)>>0]=(c[s>>2]|0)-(c[(c[l>>2]|0)+(c[q>>2]<<2)>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}}else{c[q>>2]=1;c[k>>2]=46313;c[l>>2]=9380;c[t>>2]=0}while(0);if((c[q>>2]|0)>0){c[m>>2]=ve(c[g>>2]|0)|0;d:do if((c[m>>2]&1|0)!=0&(c[r>>2]|0)>0)do{c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[o>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[o>>2]|0)<=(c[r>>2]|0)?(EQ(c[u>>2]|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[o>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break d;c[u>>2]=(c[u>>2]|0)+(c[o>>2]|0);c[r>>2]=(c[r>>2]|0)-(c[o>>2]|0)}while((c[r>>2]|0)>0);while(0);e:do if((c[m>>2]&2|0)!=0&(c[r>>2]|0)>0)do{c[p>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[q>>2]|0))break;c[p>>2]=d[(c[k>>2]|0)+(c[n>>2]|0)>>0];if((c[p>>2]|0)<=(c[r>>2]|0)?(EQ((c[u>>2]|0)+((c[r>>2]|0)-(c[p>>2]|0))|0,c[(c[l>>2]|0)+(c[n>>2]<<2)>>2]|0,c[p>>2]|0)|0)==0:0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)>=(c[q>>2]|0))break e;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}while((c[r>>2]|0)>0);while(0);if(c[t>>2]|0)Kd(c[l>>2]|0)}ne(c[g>>2]|0,c[u>>2]|0,c[r>>2]|0,-1);i=v;return}function IO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=(ve(c[e>>2]|0)|0)==0;c[k>>2]=a?0:-1;c[l>>2]=pP(c[e>>2]|0)|0;c[j>>2]=0;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fe(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}a=iI(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[l>>2]|0)|0;if((a^c[k>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){i=n;return}pe(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);i=n;return}function JO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+28|0;f=n+20|0;k=n+16|0;l=n+12|0;j=n+8|0;h=n+4|0;m=n;c[g>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=xe(c[g>>2]|0,40)|0;if(!(c[l>>2]|0)){i=n;return}a=(fe(c[c[f>>2]>>2]|0)|0)==5;f=(b[(c[l>>2]|0)+8>>1]|0)!=0;if(a){if(!f){i=n;return}qP(c[g>>2]|0);i=n;return}d=c[g>>2]|0;if(!f){m=we(d)|0;c[(c[l>>2]|0)+32>>2]=m;ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}c[m>>2]=pP(d)|0;c[j>>2]=(ve(c[g>>2]|0)|0)!=0&1;c[h>>2]=iI(c[l>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[h>>2]|0)<0)?!((c[j>>2]|0)==0&(c[h>>2]|0)>0):0){qP(c[g>>2]|0);i=n;return}ih(c[l>>2]|0,c[k>>2]|0)|0;i=n;return}function KO(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if(b[(c[e>>2]|0)+8>>1]|0)pe(c[d>>2]|0,c[e>>2]|0);Wg(c[e>>2]|0);i=f;return}function LO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fe(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=40168;break}case 3:{c[f>>2]=46303;break}case 2:{c[f>>2]=40163;break}case 4:{c[f>>2]=46308;break}default:c[f>>2]=40176}ne(c[e>>2]|0,c[f>>2]|0,-1,0);i=g;return}function MO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[l+12>>2]=e;c[h>>2]=f;switch(fe(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{ke(c[g>>2]|0,be(c[c[h>>2]>>2]|0)|0);i=l;return}case 3:{c[k>>2]=ae(c[c[h>>2]>>2]|0)|0;if(!(c[k>>2]|0)){i=l;return}c[j>>2]=0;a:while(1){if(!(a[c[k>>2]>>0]|0))break;c[j>>2]=(c[j>>2]|0)+1;b=c[k>>2]|0;c[k>>2]=b+1;if((d[b>>0]|0)<192)continue;while(1){if((d[c[k>>2]>>0]&192|0)!=128)continue a;c[k>>2]=(c[k>>2]|0)+1}}ke(c[g>>2]|0,c[j>>2]|0);i=l;return}default:{me(c[g>>2]|0);i=l;return}}}function NO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+40|0;g=q+32|0;o=q+28|0;p=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;j=q;c[f>>2]=a;c[q+36>>2]=b;c[g>>2]=e;c[h>>2]=1;c[m>>2]=fe(c[c[g>>2]>>2]|0)|0;c[n>>2]=fe(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==5|(c[n>>2]|0)==5){i=q;return}c[k>>2]=be(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;b=c[c[g>>2]>>2]|0;if((c[m>>2]|0)==4&(c[n>>2]|0)==4){c[o>>2]=$d(b)|0;c[p>>2]=$d(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=0}else{c[o>>2]=ae(b)|0;c[p>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[j>>2]=1}a:while(1){if((c[l>>2]|0)>(c[k>>2]|0))break;if(!(EQ(c[o>>2]|0,c[p>>2]|0,c[l>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[k>>2]=(c[k>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+1;if(!(c[j>>2]|0))continue a;if(((d[c[o>>2]>>0]|0)&192|0)!=128)continue a}}if((c[l>>2]|0)>(c[k>>2]|0))c[h>>2]=0;ke(c[f>>2]|0,c[h>>2]|0);i=q;return}function OO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+80|0;m=p;f=p+64|0;g=p+60|0;h=p+56|0;n=p+44|0;l=p+16|0;o=p+12|0;k=p+8|0;j=p+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=we(c[f>>2]|0)|0;if((c[g>>2]|0)<1){i=p;return}b=ae(c[c[h>>2]>>2]|0)|0;c[o>>2]=b;if(!b){i=p;return}c[n>>2]=(c[g>>2]|0)-1;c[n+4>>2]=0;c[n+8>>2]=(c[h>>2]|0)+4;dg(l,c[j>>2]|0,0,0,c[(c[j>>2]|0)+92>>2]|0);a[l+25>>0]=2;o=c[o>>2]|0;c[m>>2]=n;fA(l,o,m);c[k>>2]=c[l+12>>2];n=c[f>>2]|0;o=fg(l)|0;ne(n,o,c[k>>2]|0,170);i=p;return}function PO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h+12|0;j=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[j>>2]=e;c[g>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[g>>2]|0)){i=h;return}if(!(d[c[g>>2]>>0]|0)){i=h;return}j=c[f>>2]|0;ke(j,pC(g)|0);i=h;return}function QO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;f=o+32|0;g=o+28|0;h=o+24|0;m=o+20|0;n=o+16|0;k=o+12|0;l=o;j=o+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;b=(c[g>>2]<<2)+1|0;b=Jd(b,((b|0)<0)<<31>>31)|0;c[m>>2]=b;c[n>>2]=b;if(!(c[m>>2]|0)){te(c[f>>2]|0);i=o;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;p=ee(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;b=C;e=l;c[e>>2]=p;c[e+4>>2]=b;e=l;d=c[e+4>>2]|0;e=(c[l+4>>2]|0)<0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>1114111);d=l;c[d>>2]=e?65533:p;c[d+4>>2]=e?0:b;c[j>>2]=c[l>>2]&2097151;d=c[j>>2]|0;do if((c[j>>2]|0)>>>0>=128){e=c[j>>2]|0;if(d>>>0<2048){b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=192+(e>>>6&31);b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}d=c[j>>2]|0;if(e>>>0<65536){p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=224+(d>>>12&15);p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}else{b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=240+(d>>>18&7);b=128+((c[j>>2]|0)>>>12&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;p=128+((c[j>>2]|0)>>>6&63)&255;b=c[n>>2]|0;c[n>>2]=b+1;a[b>>0]=p;b=128+(c[j>>2]&63)&255;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=b;break}}else{p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=d}while(0);c[k>>2]=(c[k>>2]|0)+1}p=(c[n>>2]|0)-(c[m>>2]|0)|0;oe(c[f>>2]|0,c[m>>2]|0,p,((p|0)<0)<<31>>31,148,1);i=o;return}function RO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;e=k+24|0;f=k+16|0;g=k+8|0;j=k;c[e>>2]=a;c[k+20>>2]=b;c[f>>2]=d;switch(fe(c[c[f>>2]>>2]|0)|0){case 1:{j=g;c[j>>2]=ee(c[c[f>>2]>>2]|0)|0;c[j+4>>2]=C;do if((c[g+4>>2]|0)<0){j=g;if(!((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0)){a=g;a=oR(0,0,c[a>>2]|0,c[a+4>>2]|0)|0;j=g;c[j>>2]=a;c[j+4>>2]=C;break}je(c[e>>2]|0,46258,-1);i=k;return}while(0);j=g;le(c[e>>2]|0,c[j>>2]|0,c[j+4>>2]|0);i=k;return}case 5:{me(c[e>>2]|0);i=k;return}default:{h[j>>3]=+ce(c[c[f>>2]>>2]|0);if(+h[j>>3]<0.0)h[j>>3]=-+h[j>>3];ie(c[e>>2]|0,+h[j>>3]);i=k;return}}}function SO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;j=m;l=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fe(c[(c[f>>2]|0)+4>>2]|0)|0)){i=m;return}else{n=de(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fe(c[c[f>>2]>>2]|0)|0)==5){i=m;return}h[j>>3]=+ce(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[j>>3]>=0.0&+h[j>>3]<9223372036854775808.0){o=+h[j>>3]+.5;h[j>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[j>>3]<0.0?-+h[j>>3]<9223372036854775808.0:0){o=-+h[j>>3]+.5;h[j>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[j>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[l>>2]=Od(46298,k)|0;if(c[l>>2]|0){n=c[l>>2]|0;Qy(n,j,Jf(c[l>>2]|0)|0,1)|0;Kd(c[l>>2]|0);break}te(c[e>>2]|0);i=m;return}while(0);ie(c[e>>2]|0,+h[j>>3]);i=m;return}function TO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=pR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=oP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[(c[l>>2]|0)+(c[h>>2]|0)>>0]&~(d[19011+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]&32);c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function UO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+24|0;n=m+16|0;k=m+12|0;l=m+8|0;h=m+4|0;j=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[l>>2]=ae(c[c[n>>2]>>2]|0)|0;c[j>>2]=be(c[c[n>>2]>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}b=c[g>>2]|0;n=c[j>>2]|0;n=pR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[k>>2]=oP(b,n,C)|0;if(!(c[k>>2]|0)){i=m;return}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;a[(c[k>>2]|0)+(c[h>>2]|0)>>0]=a[18221+(d[(c[l>>2]|0)+(c[h>>2]|0)>>0]|0)>>0]|0;c[h>>2]=(c[h>>2]|0)+1}ne(c[g>>2]|0,c[k>>2]|0,c[j>>2]|0,148);i=m;return}function VO(b,e,f){b=b|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;o=i;i=i+48|0;g=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;n=o+4|0;m=o;h=o+32|0;c[g>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[l>>2]=$d(c[c[p>>2]>>2]|0)|0;c[k>>2]=be(c[c[p>>2]>>2]|0)|0;f=c[g>>2]|0;b=c[k>>2]|0;b=AR(b|0,((b|0)<0)<<31>>31|0,2,0)|0;b=pR(b|0,C|0,1,0)|0;b=oP(f,b,C)|0;c[n>>2]=b;c[m>>2]=b;if(!(c[n>>2]|0)){i=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[l>>2]>>0]|0;p=a[46282+((d[h>>0]|0)>>4&15)>>0]|0;b=c[m>>2]|0;c[m>>2]=b+1;a[b>>0]=p;b=a[46282+((d[h>>0]|0)&15)>>0]|0;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=b;c[j>>2]=(c[j>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}a[c[m>>2]>>0]=0;ne(c[g>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);i=o;return}function WO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Sd(8,f);if((c[f+4>>2]|0)<0){d=f;d=oR(0,0,c[d>>2]|0,c[d+4>>2]&2147483647|0)|0;a=f;c[a>>2]=d;c[a+4>>2]=C}le(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);i=g;return}function XO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;e=h+16|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[j>>2]=d;a=de(c[c[j>>2]>>2]|0)|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)<1?1:a;a=c[f>>2]|0;c[g>>2]=oP(c[e>>2]|0,a,((a|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){i=h;return}Sd(c[f>>2]|0,c[g>>2]|0);ge(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);i=h;return}function YO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=pP(c[e>>2]|0)|0;if(!(iI(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){i=g;return}pe(c[e>>2]|0,c[c[f>>2]>>2]|0);i=g;return}function ZO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;a=c[f>>2]|0;ne(a,kf()|0,-1,0);i=e;return}function _O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;a=de(c[c[g>>2]>>2]|0)|0;c[f>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;Rd(a,18999,f);i=e;return}function $O(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+144|0;s=y+32|0;r=y+24|0;g=y+80|0;j=y+72|0;p=y+16|0;q=y+8|0;w=y+84|0;x=y+68|0;v=y+64|0;o=y+60|0;k=y+56|0;l=y+52|0;m=y+48|0;n=y;u=y+44|0;t=y+40|0;c[g>>2]=b;c[y+76>>2]=e;c[j>>2]=f;switch(fe(c[c[j>>2]>>2]|0)|0){case 2:{h[p>>3]=+ce(c[c[j>>2]>>2]|0);h[r>>3]=+h[p>>3];Qd(50,w,28867,r)|0;Qy(w,q,20,1)|0;if(+h[p>>3]!=+h[q>>3]){h[s>>3]=+h[p>>3];Qd(50,w,46275,s)|0}ne(c[g>>2]|0,w,-1,-1);i=y;return}case 1:{pe(c[g>>2]|0,c[c[j>>2]>>2]|0);i=y;return}case 4:{c[x>>2]=0;c[v>>2]=$d(c[c[j>>2]>>2]|0)|0;c[o>>2]=be(c[c[j>>2]>>2]|0)|0;u=c[g>>2]|0;w=c[o>>2]|0;c[x>>2]=oP(u,pR(AR(2,0,w|0,((w|0)<0)<<31>>31|0)|0,C|0,4,0)|0,C)|0;if(!(c[x>>2]|0)){i=y;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[o>>2]|0))break;a[(c[x>>2]|0)+((c[k>>2]<<1)+2)>>0]=a[46282+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]>>4&15)>>0]|0;a[(c[x>>2]|0)+((c[k>>2]<<1)+3)>>0]=a[46282+(a[(c[v>>2]|0)+(c[k>>2]|0)>>0]&15)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}a[(c[x>>2]|0)+((c[o>>2]<<1)+2)>>0]=39;a[(c[x>>2]|0)+((c[o>>2]<<1)+3)>>0]=0;a[c[x>>2]>>0]=88;a[(c[x>>2]|0)+1>>0]=39;ne(c[g>>2]|0,c[x>>2]|0,-1,-1);Kd(c[x>>2]|0);i=y;return}case 3:{c[u>>2]=ae(c[c[j>>2]>>2]|0)|0;if(!(c[u>>2]|0)){i=y;return}c[l>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){w=n;w=pR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=C}c[l>>2]=(c[l>>2]|0)+1}w=c[g>>2]|0;v=c[l>>2]|0;x=n;x=pR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=pR(x|0,C|0,3,0)|0;c[t>>2]=oP(w,x,C)|0;if(!(c[t>>2]|0)){i=y;return}a[c[t>>2]>>0]=39;c[l>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0))break;w=a[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=w;if((d[(c[u>>2]|0)+(c[l>>2]|0)>>0]|0)==39){x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39}c[l>>2]=(c[l>>2]|0)+1}x=c[m>>2]|0;c[m>>2]=x+1;a[(c[t>>2]|0)+x>>0]=39;a[(c[t>>2]|0)+(c[m>>2]|0)>>0]=0;ne(c[g>>2]|0,c[t>>2]|0,c[m>>2]|0,148);i=y;return}default:{ne(c[g>>2]|0,40149,4,0);i=y;return}}}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;d=c[g>>2]|0;a=pf(c[f>>2]|0)|0;le(d,a,C);i=e;return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,qf(c[f>>2]|0)|0);i=e;return}function cP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=we(c[g>>2]|0)|0;a=c[g>>2]|0;ke(a,rf(c[f>>2]|0)|0);i=e;return}function dP(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;p=w+64|0;g=w+56|0;v=w+52|0;n=w+48|0;o=w+44|0;u=w+40|0;s=w+36|0;l=w+32|0;m=w+28|0;k=w;j=w+24|0;q=w+20|0;r=w+16|0;t=w+12|0;h=w+8|0;c[p>>2]=b;c[w+60>>2]=e;c[g>>2]=f;c[v>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[v>>2]|0)){i=w;return}c[s>>2]=be(c[c[g>>2]>>2]|0)|0;c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){i=w;return}if(!(d[c[n>>2]>>0]|0)){pe(c[p>>2]|0,c[c[g>>2]>>2]|0);i=w;return}c[l>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[g>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){i=w;return}c[m>>2]=be(c[(c[g>>2]|0)+8>>2]|0)|0;f=(c[s>>2]|0)+1|0;b=k;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=k;c[u>>2]=oP(c[p>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[u>>2]|0)){i=w;return}c[j>>2]=(c[s>>2]|0)-(c[l>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){g=18;break}if((d[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?(EQ((c[v>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[l>>2]|0)|0)==0:0){c[h>>2]=we(c[p>>2]|0)|0;g=(c[m>>2]|0)-(c[l>>2]|0)|0;f=k;g=pR(c[f>>2]|0,c[f+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=g;c[f+4>>2]=C;f=k;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;g=C;b=c[(c[h>>2]|0)+92>>2]|0;e=((b|0)<0)<<31>>31;if((g|0)>(e|0)|(g|0)==(e|0)&f>>>0>b>>>0){g=13;break}c[t>>2]=c[u>>2];b=c[k>>2]|0;c[u>>2]=Md(c[u>>2]|0,b,((b|0)<0)<<31>>31)|0;if(!(c[u>>2]|0)){g=15;break}rR((c[u>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[l>>2]|0)-1)}else{f=a[(c[v>>2]|0)+(c[q>>2]|0)>>0]|0;b=c[r>>2]|0;c[r>>2]=b+1;a[(c[u>>2]|0)+b>>0]=f}c[q>>2]=(c[q>>2]|0)+1}if((g|0)==13){se(c[p>>2]|0);Kd(c[u>>2]|0);i=w;return}else if((g|0)==15){te(c[p>>2]|0);Kd(c[t>>2]|0);i=w;return}else if((g|0)==18){rR((c[u>>2]|0)+(c[r>>2]|0)|0,(c[v>>2]|0)+(c[q>>2]|0)|0,(c[s>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[s>>2]|0)-(c[q>>2]|0));a[(c[u>>2]|0)+(c[r>>2]|0)>>0]=0;ne(c[p>>2]|0,c[u>>2]|0,c[r>>2]|0,148);i=w;return}}function eP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+32|0;e=g+20|0;j=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[j>>2]=d;j=ee(c[c[j>>2]>>2]|0)|0;d=C;b=h;c[b>>2]=j;c[b+4>>2]=d;b=(c[h+4>>2]|0)<0;a=h;c[a>>2]=b?0:j;c[a+4>>2]=b?0:d;a=h;c[f>>2]=qe(c[e>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[f>>2]|0)){i=g;return}re(c[e>>2]|0,c[f>>2]|0);i=g;return}function fP(b,e,f){b=b|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,r=0;r=i;i=i+48|0;m=r+44|0;g=r+40|0;h=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;l=r+20|0;n=r+8|0;o=r;k=r+16|0;c[m>>2]=b;c[g>>2]=e;c[h>>2]=f;c[k>>2]=0;if((fe(c[(c[h>>2]|0)+4>>2]|0)|0)==5){i=r;return}if((c[g>>2]|0)==3?(fe(c[(c[h>>2]|0)+8>>2]|0)|0)==5:0){i=r;return}c[l>>2]=fe(c[c[h>>2]>>2]|0)|0;b=de(c[(c[h>>2]|0)+4>>2]|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;e=c[c[h>>2]>>2]|0;a:do if((c[l>>2]|0)==4){c[j>>2]=be(e)|0;c[p>>2]=$d(c[c[h>>2]>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}}else{c[p>>2]=ae(e)|0;if(!(c[p>>2]|0)){i=r;return}c[j>>2]=0;if((c[n+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;b=c[q>>2]|0;c[q>>2]=b+1;b:do if((d[b>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[g>>2]|0)==3){g=de(c[(c[h>>2]|0)+8>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31;if((c[o+4>>2]|0)<0){g=o;g=oR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;h=o;c[h>>2]=g;c[h+4>>2]=C;c[k>>2]=1}}else{g=c[(we(c[m>>2]|0)|0)+92>>2]|0;h=o;c[h>>2]=g;c[h+4>>2]=((g|0)<0)<<31>>31}do if((c[n+4>>2]|0)<0){g=c[j>>2]|0;h=n;g=pR(c[h>>2]|0,c[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;if((c[n+4>>2]|0)<0){f=n;g=o;f=pR(c[g>>2]|0,c[g+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;g=C;b=o;c[b>>2]=f;c[b+4>>2]=g;b=(c[o+4>>2]|0)<0;h=o;c[h>>2]=b?0:f;c[h+4>>2]=b?0:g;h=n;c[h>>2]=0;c[h+4>>2]=0}}else{h=n;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=n;g=pR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=n;c[h>>2]=g;c[h+4>>2]=C;break}h=o;g=c[h+4>>2]|0;if((g|0)>0|(g|0)==0&(c[h>>2]|0)>>>0>0){g=o;g=pR(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0;h=o;c[h>>2]=g;c[h+4>>2]=C}}while(0);if((c[k>>2]|0)!=0?(h=o,k=n,h=oR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,k=n,c[k>>2]=h,c[k+4>>2]=C,(c[n+4>>2]|0)<0):0){h=n;k=o;h=pR(c[k>>2]|0,c[k+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=o;c[k>>2]=h;c[k+4>>2]=C;k=n;c[k>>2]=0;c[k+4>>2]=0}if((c[l>>2]|0)==4){h=n;l=o;l=pR(c[h>>2]|0,c[h+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;h=C;q=c[j>>2]|0;k=((q|0)<0)<<31>>31;if((h|0)>(k|0)|(h|0)==(k|0)&l>>>0>q>>>0){l=c[j>>2]|0;j=n;j=oR(l|0,((l|0)<0)<<31>>31|0,c[j>>2]|0,c[j+4>>2]|0)|0;l=C;k=o;c[k>>2]=j;c[k+4>>2]=l;k=(c[o+4>>2]|0)<0;q=o;c[q>>2]=k?0:j;c[q+4>>2]=k?0:l}q=o;he(c[m>>2]|0,(c[p>>2]|0)+(c[n>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);i=r;return}while(1){l=n;e=c[p>>2]|0;if(!((d[c[p>>2]>>0]|0)!=0?(c[l>>2]|0)!=0|(c[l+4>>2]|0)!=0:0))break;c[p>>2]=e+1;c:do if((d[e>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);k=n;k=pR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;l=n;c[l>>2]=k;c[l+4>>2]=C}c[q>>2]=e;while(1){n=o;if(!((d[c[q>>2]>>0]|0)!=0?(c[n>>2]|0)!=0|(c[n+4>>2]|0)!=0:0))break;n=c[q>>2]|0;c[q>>2]=n+1;d:do if((d[n>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);l=o;l=pR(c[l>>2]|0,c[l+4>>2]|0,-1,-1)|0;n=o;c[n>>2]=l;c[n+4>>2]=C}q=(c[q>>2]|0)-(c[p>>2]|0)|0;oe(c[m>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);i=r;return}function gP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;m=i;i=i+32|0;n=m+24|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[j>>2]=xe(c[n>>2]|0,32)|0;c[k>>2]=Te(c[c[g>>2]>>2]|0)|0;if(!((c[j>>2]|0)!=0&(c[k>>2]|0)!=5)){i=m;return}n=(c[j>>2]|0)+16|0;b=n;b=pR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[n>>2]=b;c[n+4>>2]=C;g=c[c[g>>2]>>2]|0;if((c[k>>2]|0)!=1){o=+ce(g);n=c[j>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[j>>2]|0)+25>>0]=1;i=m;return}n=ee(g)|0;k=l;c[k>>2]=n;c[k+4>>2]=C;k=l;n=c[j>>2]|0;h[n>>3]=+h[n>>3]+(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0));if(d[(c[j>>2]|0)+25>>0]|0|(d[(c[j>>2]|0)+24>>0]|0)){i=m;return}n=l;if(!(eI((c[j>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){i=m;return}a[(c[j>>2]|0)+24>>0]=1;i=m;return}function hP(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xe(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){i=f;return}if(a[(c[e>>2]|0)+24>>0]|0){je(c[d>>2]|0,46258,-1);i=f;return}d=c[d>>2]|0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){ie(d,+h[b>>3]);i=f;return}else{g=b+8|0;le(d,c[g>>2]|0,c[g+4>>2]|0);i=f;return}}function iP(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;ie(a,f);i=d;return}f=+h[c[b>>2]>>3];ie(a,f);i=d;return}function jP(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=xe(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){i=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){i=e;return}f=(c[d>>2]|0)+16|0;ie(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));i=e;return}function kP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;j=g+12|0;h=g+8|0;e=g+4|0;f=g;c[j>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=xe(c[j>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){i=g;return}}else{j=5!=(fe(c[c[e>>2]>>2]|0)|0);if(!(j&(c[f>>2]|0)!=0)){i=g;return}}j=c[f>>2]|0;h=j;h=pR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[j>>2]=h;c[j+4>>2]=C;i=g;return}function lP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=xe(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;le(a,b,e);i=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;le(a,b,e);i=d;return}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;e=p+36|0;f=p+32|0;g=p+28|0;o=p+24|0;m=p+20|0;n=p+16|0;l=p+12|0;k=p+8|0;h=p+4|0;j=p;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((fe(c[c[g>>2]>>2]|0)|0)==5){i=p;return}c[m>>2]=xe(c[e>>2]|0,28)|0;if(!(c[m>>2]|0)){i=p;return}c[h>>2]=we(c[e>>2]|0)|0;c[j>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[h>>2]|0)+92>>2];if(!(c[j>>2]|0)){if((c[f>>2]|0)==2){c[n>>2]=ae(c[(c[g>>2]|0)+4>>2]|0)|0;c[k>>2]=be(c[(c[g>>2]|0)+4>>2]|0)|0}else{c[n>>2]=37919;c[k>>2]=1}if(c[k>>2]|0)gA(c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)}c[o>>2]=ae(c[c[g>>2]>>2]|0)|0;c[l>>2]=be(c[c[g>>2]>>2]|0)|0;if(!(c[o>>2]|0)){i=p;return}gA(c[m>>2]|0,c[o>>2]|0,c[l>>2]|0);i=p;return}function nP(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=xe(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){i=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){se(c[b>>2]|0);i=f;return}b=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){te(b);i=f;return}else{ne(b,fg(c[e>>2]|0)|0,-1,148);i=f;return}}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;e=h+16|0;f=h;g=h+12|0;k=h+8|0;c[e>>2]=a;j=f;c[j>>2]=b;c[j+4>>2]=d;c[k>>2]=we(c[e>>2]|0)|0;d=f;j=c[d+4>>2]|0;a=c[(c[k>>2]|0)+92>>2]|0;b=((a|0)<0)<<31>>31;if((j|0)>(b|0)|((j|0)==(b|0)?(c[d>>2]|0)>>>0>a>>>0:0)){se(c[e>>2]|0);c[g>>2]=0;k=c[g>>2]|0;i=h;return k|0}k=f;c[g>>2]=$f(c[k>>2]|0,c[k+4>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}te(c[e>>2]|0);k=c[g>>2]|0;i=h;return k|0}function pP(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+4>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);i=d;return c[(c[b>>2]|0)+16>>2]|0}function qP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;i=d;return}function rP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+64|0;e=g+56|0;j=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;if(zP(c[e>>2]|0,c[j>>2]|0,c[h>>2]|0,f)|0){i=g;return}AP(f);j=f;ie(c[e>>2]|0,(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5);i=g;return}function sP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+176|0;f=j+48|0;e=j+68|0;l=j+64|0;k=j+60|0;g=j;h=j+72|0;c[e>>2]=a;c[l>>2]=b;c[k>>2]=d;if(zP(c[e>>2]|0,c[l>>2]|0,c[k>>2]|0,g)|0){i=j;return}CP(g);k=c[g+12>>2]|0;l=c[g+16>>2]|0;c[f>>2]=c[g+8>>2];c[f+4>>2]=k;c[f+8>>2]=l;Qd(100,h,46599,f)|0;ne(c[e>>2]|0,h,-1,-1);i=j;return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+176|0;f=k+48|0;e=k+68|0;m=k+64|0;l=k+60|0;g=k;j=k+72|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(zP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}DP(g);l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+20>>2];c[f+4>>2]=l;c[f+8>>2]=m;Qd(100,j,46584,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function uP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;k=i;i=i+192|0;f=k+48|0;e=k+80|0;m=k+76|0;l=k+72|0;g=k;j=k+84|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;if(zP(c[e>>2]|0,c[m>>2]|0,c[l>>2]|0,g)|0){i=k;return}BP(g);b=c[g+12>>2]|0;d=c[g+16>>2]|0;a=c[g+20>>2]|0;l=c[g+24>>2]|0;m=~~+h[g+32>>3];c[f>>2]=c[g+8>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=a;c[f+16>>2]=l;c[f+20>>2]=m;Qd(100,j,46554,f)|0;ne(c[e>>2]|0,j,-1,-1);i=k;return}function vP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+336|0;z=J+192|0;y=J+184|0;x=J+176|0;w=J+168|0;v=J+160|0;u=J+152|0;t=J+144|0;B=J+136|0;A=J+128|0;s=J+120|0;r=J+112|0;m=J+232|0;f=J+228|0;g=J+224|0;E=J+64|0;k=J+56|0;n=J+220|0;o=J+216|0;G=J+212|0;j=J+208|0;I=J+204|0;H=J+236|0;q=J+48|0;p=J+200|0;F=J;D=J+196|0;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;if(!(c[f>>2]|0)){i=J;return}c[I>>2]=ae(c[c[g>>2]>>2]|0)|0;if(!(c[I>>2]|0)){i=J;return}if(zP(c[m>>2]|0,(c[f>>2]|0)-1|0,(c[g>>2]|0)+4|0,E)|0){i=J;return}c[j>>2]=we(c[m>>2]|0)|0;c[n>>2]=0;b=k;c[b>>2]=1;c[b+4>>2]=0;a:while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==37){switch(a[(c[I>>2]|0)+((c[n>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[b+4>>2]=C;break}case 37:case 119:break;case 102:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 106:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,3,0)|0;c[b+4>>2]=C;break}case 89:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,8,0)|0;c[b+4>>2]=C;break}case 74:case 115:{e=k;b=k;c[b>>2]=pR(c[e>>2]|0,c[e+4>>2]|0,50,0)|0;c[b+4>>2]=C;break}default:{l=44;break a}}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1;e=k;e=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;b=k;c[b>>2]=e;c[b+4>>2]=C}if((l|0)==44){i=J;return}l=k;b=c[l+4>>2]|0;if(!(b>>>0<0|(b|0)==0&(c[l>>2]|0)>>>0<100)){b=k;d=c[b+4>>2]|0;l=c[(c[j>>2]|0)+92>>2]|0;e=((l|0)<0)<<31>>31;if(d>>>0>e>>>0|((d|0)==(e|0)?(c[b>>2]|0)>>>0>l>>>0:0)){se(c[m>>2]|0);i=J;return}l=c[k>>2]|0;c[G>>2]=Lw(c[j>>2]|0,l,((l|0)<0)<<31>>31)|0;if(!(c[G>>2]|0)){te(c[m>>2]|0);i=J;return}}else c[G>>2]=H;AP(E);BP(E);c[o>>2]=0;c[n>>2]=0;while(1){if(!(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0))break;f=c[n>>2]|0;b:do if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)!=37){k=a[(c[I>>2]|0)+f>>0]|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=k}else{c[n>>2]=f+1;do switch(a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0){case 100:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[r>>2]=c[E+16>>2];Qd(3,l,46396,r)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 102:{h[q>>3]=+h[E+32>>3];if(+h[q>>3]>59.999)h[q>>3]=59.999;l=(c[G>>2]|0)+(c[o>>2]|0)|0;h[s>>3]=+h[q>>3];Qd(7,l,46401,s)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 72:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[A>>2]=c[E+20>>2];Qd(3,l,46396,A)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 106:case 87:{f=F;g=E;d=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(d|0));a[F+42>>0]=0;c[F+12>>2]=1;c[F+16>>2]=1;AP(F);k=E;l=F;c[p>>2]=yR(pR(oR(c[k>>2]|0,c[k+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0,C|0,432e5,0)|0,C|0,864e5,0)|0;if((a[(c[I>>2]|0)+(c[n>>2]|0)>>0]|0)==87){l=E;l=pR(c[l>>2]|0,c[l+4>>2]|0,432e5,0)|0;l=yR(l|0,C|0,864e5,0)|0;l=zR(l|0,C|0,7,0)|0;c[D>>2]=l;l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[B>>2]=((c[p>>2]|0)+7-(c[D>>2]|0)|0)/7|0;Qd(3,l,46396,B)|0;c[o>>2]=(c[o>>2]|0)+2;break b}else{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[t>>2]=(c[p>>2]|0)+1;Qd(4,l,46408,t)|0;c[o>>2]=(c[o>>2]|0)+3;break b}}case 74:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;k=E;h[u>>3]=(+((c[k>>2]|0)>>>0)+4294967296.0*+(c[k+4>>2]|0))/864.0e5;Qd(20,l,43053,u)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 109:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[v>>2]=c[E+12>>2];Qd(3,l,46396,v)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 77:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[w>>2]=c[E+24>>2];Qd(3,l,46396,w)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 115:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;j=E;k=x;c[k>>2]=oR(yR(c[j>>2]|0,c[j+4>>2]|0,1e3,0)|0,C|0,413362496,49)|0;c[k+4>>2]=C;Qd(30,l,28862,x)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}case 83:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[y>>2]=~~+h[E+32>>3];Qd(3,l,46396,y)|0;c[o>>2]=(c[o>>2]|0)+2;break b}case 119:{k=E;k=zR(yR(pR(c[k>>2]|0,c[k+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=((k&255)<<24>>24)+48;break b}case 89:{l=(c[G>>2]|0)+(c[o>>2]|0)|0;c[z>>2]=c[E+8>>2];Qd(5,l,46413,z)|0;c[o>>2]=(Jf((c[G>>2]|0)+(c[o>>2]|0)|0)|0)+(c[o>>2]|0);break b}default:{l=c[o>>2]|0;c[o>>2]=l+1;a[(c[G>>2]|0)+l>>0]=37;break b}}while(0)}while(0);c[n>>2]=(c[n>>2]|0)+1}a[(c[G>>2]|0)+(c[o>>2]|0)>>0]=0;ne(c[m>>2]|0,c[G>>2]|0,-1,(c[G>>2]|0)==(H|0)?-1:170);i=J;return}function wP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;tP(c[f>>2]|0,0,0);i=e;return}function xP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;uP(c[f>>2]|0,0,0);i=e;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;sP(c[f>>2]|0,0,0);i=e;return}function zP(b,d,e,f){b=b|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.0;p=i;i=i+32|0;o=p+28|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;l=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;d=c[k>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));if(!(c[h>>2]|0)){c[o>>2]=EP(c[g>>2]|0,c[k>>2]|0)|0;o=c[o>>2]|0;i=p;return o|0}f=fe(c[c[j>>2]>>2]|0)|0;c[l>>2]=f;d=c[c[j>>2]>>2]|0;do if((f|0)==2|(c[l>>2]|0)==1){q=+ce(d)*864.0e5+.5;f=+N(q)>=1.0?(q>0.0?~~+$(+M(q/4294967296.0),4294967295.0)>>>0:~~+Z((q-+(~~q>>>0))/4294967296.0)>>>0):0;l=c[k>>2]|0;c[l>>2]=~~q>>>0;c[l+4>>2]=f;a[(c[k>>2]|0)+42>>0]=1}else{c[n>>2]=ae(d)|0;if((c[n>>2]|0)!=0?(FP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}while(0);c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[h>>2]|0)){d=14;break}c[n>>2]=ae(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;if(!(c[n>>2]|0)){d=12;break}if(GP(c[g>>2]|0,c[n>>2]|0,c[k>>2]|0)|0){d=12;break}c[m>>2]=(c[m>>2]|0)+1}if((d|0)==12){c[o>>2]=1;o=c[o>>2]|0;i=p;return o|0}else if((d|0)==14){c[o>>2]=0;o=c[o>>2]|0;i=p;return o|0}return 0}function AP(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;n=i;i=i+32|0;d=n+28|0;m=n+24|0;j=n+20|0;g=n+16|0;e=n+12|0;f=n+8|0;k=n+4|0;l=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){i=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[m>>2]=c[(c[d>>2]|0)+8>>2];c[j>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[m>>2]=2e3;c[j>>2]=1;c[g>>2]=1}if((c[j>>2]|0)<=2){c[m>>2]=(c[m>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+12}c[e>>2]=(c[m>>2]|0)/100|0;c[f>>2]=2-(c[e>>2]|0)+((c[e>>2]|0)/4|0);c[k>>2]=(((c[m>>2]|0)+4716|0)*36525|0)/100|0;c[l>>2]=(((c[j>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[l>>2]|0)+(c[g>>2]|0)+(c[f>>2]|0)|0)-1524.5)*864.0e5;m=+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0;b=c[d>>2]|0;c[b>>2]=~~o>>>0;c[b+4>>2]=m;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){i=n;return}m=_(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;m=m+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;m=pR(m|0,((m|0)<0)<<31>>31|0,~~o>>>0|0,(+N(o)>=1.0?(o>0.0?~~+$(+M(o/4294967296.0),4294967295.0)>>>0:~~+Z((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;b=c[d>>2]|0;l=b;m=pR(c[l>>2]|0,c[l+4>>2]|0,m|0,C|0)|0;c[b>>2]=m;c[b+4>>2]=C;if(!(a[(c[d>>2]|0)+43>>0]|0)){i=n;return}m=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;b=c[d>>2]|0;l=b;m=oR(c[l>>2]|0,c[l+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;c[b>>2]=m;c[b+4>>2]=C;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;i=n;return}function BP(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;CP(c[d>>2]|0);DP(c[d>>2]|0);i=b;return}function CP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;l=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){i=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=pR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=yR(b|0,C|0,864e5,0)|0;c[l>>2]=b;c[e>>2]=~~((+(c[l>>2]|0)-1867216.25)/36524.25);c[e>>2]=(c[l>>2]|0)+1+(c[e>>2]|0)-((c[e>>2]|0)/4|0);c[f>>2]=(c[e>>2]|0)+1524;c[g>>2]=~~((+(c[f>>2]|0)-122.1)/365.25);c[h>>2]=((c[g>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[f>>2]|0)-(c[h>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[f>>2]|0)-(c[h>>2]|0)-(c[k>>2]|0);l=c[j>>2]|0;c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)<14?l-1|0:l-13|0;l=c[g>>2]|0;c[(c[d>>2]|0)+8>>2]=(c[(c[d>>2]|0)+12>>2]|0)>2?l-4716|0:l-4715|0}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;i=m;return}function DP(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){i=f;return}AP(c[d>>2]|0);b=c[d>>2]|0;b=pR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=zR(b|0,C|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;i=f;return}function EP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=OP(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=C;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;i=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;i=g;return h|0}return 0}function FP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;j=m+12|0;k=m+8|0;l=m;c[g>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(NP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(JP(c[j>>2]|0,c[k>>2]|0)|0)){c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}if(!(ig(c[j>>2]|0,46538)|0)){c[f>>2]=EP(c[g>>2]|0,c[k>>2]|0)|0;d=c[f>>2]|0;i=m;return d|0}d=c[j>>2]|0;if(Qy(d,l,Jf(c[j>>2]|0)|0,1)|0){n=+h[l>>3]*864.0e5+.5;l=+N(n)>=1.0?(n>0.0?~~+$(+M(n/4294967296.0),4294967295.0)>>>0:~~+Z((n-+(~~n>>>0))/4294967296.0)>>>0):0;d=c[k>>2]|0;c[d>>2]=~~n>>>0;c[d+4>>2]=l;a[(c[k>>2]|0)+42>>0]=1;c[f>>2]=0;d=c[f>>2]|0;i=m;return d|0}else{c[f>>2]=1;d=c[f>>2]|0;i=m;return d|0}return 0}function GP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=i;i=i+160|0;g=z+124|0;j=z+120|0;w=z+116|0;x=z+112|0;m=z+108|0;n=z+80|0;y=z+104|0;l=z+72|0;k=z+64|0;o=z+56|0;v=z+100|0;u=z+8|0;t=z;p=z+96|0;q=z+92|0;r=z+88|0;c[g>>2]=b;c[j>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=z+128;c[m>>2]=0;while(1){if((c[m>>2]|0)<29)b=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)!=0;else b=0;f=c[m>>2]|0;if(!b)break;a[(c[y>>2]|0)+(c[m>>2]|0)>>0]=a[18221+(d[(c[j>>2]|0)+f>>0]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+1}a[(c[y>>2]|0)+f>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(HQ(c[y>>2]|0,46418)|0){y=c[x>>2]|0;i=z;return y|0}AP(c[w>>2]|0);v=HP(c[w>>2]|0,c[g>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=pR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;IP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}case 117:{if((HQ(c[y>>2]|0,46428)|0)==0?(a[(c[w>>2]|0)+42>>0]|0)!=0:0){v=c[w>>2]|0;v=pR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=yR(v|0,C|0,86400,0)|0;v=pR(v|0,C|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=C;IP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(HQ(c[y>>2]|0,46438)|0){y=c[x>>2]|0;i=z;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}AP(c[w>>2]|0);y=l;c[y>>2]=HP(c[w>>2]|0,c[g>>2]|0,x)|0;c[y+4>>2]=C;if(!(c[x>>2]|0)){u=l;y=c[w>>2]|0;v=y;u=oR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=C;IP(c[w>>2]|0);y=l;u=c[y>>2]|0;y=c[y+4>>2]|0;v=HP(c[w>>2]|0,c[g>>2]|0,x)|0;v=oR(u|0,y|0,v|0,C|0)|0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y>>2]=v;c[y+4>>2]=C}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;i=z;return y|0}case 119:{if(LQ(c[y>>2]|0,46442,8)|0){y=c[x>>2]|0;i=z;return y|0}if(!(Qy((c[y>>2]|0)+8|0,n,Jf((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;i=z;return y|0}y=~~+h[n>>3];c[m>>2]=y;if(!(((c[m>>2]|0)>=0?+(y|0)==+h[n>>3]:0)&+h[n>>3]<7.0)){y=c[x>>2]|0;i=z;return y|0}BP(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;AP(c[w>>2]|0);t=c[w>>2]|0;v=k;c[v>>2]=zR(yR(pR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,C|0,864e5,0)|0,C|0,7,0)|0;c[v+4>>2]=C;v=k;t=c[v+4>>2]|0;y=c[m>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=k;v=oR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=k;c[y>>2]=v;c[y+4>>2]=C}y=c[m>>2]|0;v=k;v=AR(oR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,C|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=pR(c[u>>2]|0,c[u+4>>2]|0,v|0,C|0)|0;c[y+4>>2]=C;IP(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 115:{if(LQ(c[y>>2]|0,46451,9)|0){y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+9;CP(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(HQ(c[y>>2]|0,46461)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(!(HQ(c[y>>2]|0,46467)|0)){CP(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}if(HQ(c[y>>2]|0,46472)|0){y=c[x>>2]|0;i=z;return y|0}c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[m>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58)break;if(!((d[19011+(d[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[m>>2]=(c[m>>2]|0)+1}if(!(Qy(c[y>>2]|0,n,c[m>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+(c[m>>2]|0)>>0]|0)==58){c[v>>2]=c[y>>2];if(!(d[19011+(d[c[v>>2]>>0]|0)>>0]&4))c[v>>2]=(c[v>>2]|0)+1;f=u;b=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(b|0));if(JP(c[v>>2]|0,u)|0){y=c[x>>2]|0;i=z;return y|0}AP(u);v=u;v=oR(c[v>>2]|0,c[v+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=v;c[s+4>>2]=C;s=u;s=yR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;v=t;c[v>>2]=s;c[v+4>>2]=C;t=AR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=oR(c[v>>2]|0,c[v+4>>2]|0,t|0,C|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=C;if((a[c[y>>2]>>0]|0)==45){v=u;v=oR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=C}AP(c[w>>2]|0);IP(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=pR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=C;c[x>>2]=0;y=c[x>>2]|0;i=z;return y|0}c[y>>2]=(c[y>>2]|0)+(c[m>>2]|0);while(1){f=c[y>>2]|0;if(!(d[19011+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=f+1}c[m>>2]=Jf(f)|0;if((c[m>>2]|0)>10|(c[m>>2]|0)<3){y=c[x>>2]|0;i=z;return y|0}if((a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[m>>2]|0)-1)>>0]=0;c[m>>2]=(c[m>>2]|0)+-1}AP(c[w>>2]|0);c[x>>2]=0;h[o>>3]=+h[n>>3]<0.0?-.5:.5;if((c[m>>2]|0)==3?(HQ(c[y>>2]|0,46472)|0)==0:0){A=+h[n>>3]*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C}else s=54;do if((s|0)==54){if((c[m>>2]|0)==4?(HQ(c[y>>2]|0,46476)|0)==0:0){A=+h[n>>3]*36.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(HQ(c[y>>2]|0,46481)|0)==0:0){A=+h[n>>3]*6.0e4+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==6?(HQ(c[y>>2]|0,46488)|0)==0:0){A=+h[n>>3]*1.0e3+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==5?(HQ(c[y>>2]|0,46461)|0)==0:0){BP(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[n>>3];y=c[(c[w>>2]|0)+12>>2]|0;c[p>>2]=(((c[(c[w>>2]|0)+12>>2]|0)>0?y-1|0:y-12|0)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[p>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;AP(c[w>>2]|0);c[q>>2]=~~+h[n>>3];if(!(+(c[q>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[q>>2]|0))*30.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}if((c[m>>2]|0)==4?(HQ(c[y>>2]|0,46467)|0)==0:0){c[r>>2]=~~+h[n>>3];BP(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[r>>2]|0);a[(c[w>>2]|0)+42>>0]=0;AP(c[w>>2]|0);if(!(+(c[r>>2]|0)!=+h[n>>3]))break;A=(+h[n>>3]-+(c[r>>2]|0))*365.0*864.0e5+ +h[o>>3];v=+N(A)>=1.0?(A>0.0?~~+$(+M(A/4294967296.0),4294967295.0)>>>0:~~+Z((A-+(~~A>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=pR(c[u>>2]|0,c[u+4>>2]|0,~~A>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=C;break}c[x>>2]=1}while(0);IP(c[w>>2]|0);y=c[x>>2]|0;i=z;return y|0}default:{y=c[x>>2]|0;i=z;return y|0}}return 0}function HP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+176|0;g=q+96|0;f=q+164|0;j=q+160|0;k=q+156|0;o=q+48|0;p=q;n=q+152|0;m=q+108|0;l=q+104|0;c[f>>2]=b;c[j>>2]=d;c[k>>2]=e;d=m;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[f>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));BP(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[l>>2]=~~(+h[o+32>>3]+.5);h[o+32>>3]=+(c[l>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;h[o+32>>3]=0.0}c[o+28>>2]=0;a[o+42>>0]=0;AP(o);l=o;l=yR(c[l>>2]|0,c[l+4>>2]|0,1e3,0)|0;l=oR(l|0,C|0,413362496,49)|0;c[n>>2]=l;if(MP(n,m)|0){je(c[j>>2]|0,46515,-1);c[c[k>>2]>>2]=1;o=g;c[o>>2]=0;c[o+4>>2]=0;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}else{c[p+8>>2]=(c[m+20>>2]|0)+1900;c[p+12>>2]=(c[m+16>>2]|0)+1;c[p+16>>2]=c[m+12>>2];c[p+20>>2]=c[m+8>>2];c[p+24>>2]=c[m+4>>2];h[p+32>>3]=+(c[m>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;AP(p);c[c[k>>2]>>2]=0;n=p;p=o;p=oR(c[n>>2]|0,c[n+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=g;c[o>>2]=p;c[o+4>>2]=C;o=g;p=o;p=c[p>>2]|0;o=o+4|0;o=c[o>>2]|0;C=o;i=q;return p|0}return 0}function IP(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;i=d;return}function JP(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;j=q+40|0;k=q+36|0;l=q+32|0;o=q+28|0;m=q+8|0;n=q;c[g>>2]=b;c[j>>2]=e;h[m>>3]=0.0;b=c[g>>2]|0;c[r>>2]=k;c[r+4>>2]=l;if((KP(b,46495,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=o;if((KP(r,46503,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?(d[19011+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){h[n>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[19011+(d[c[g>>2]>>0]|0)>>0]&4))break;h[m>>3]=+h[m>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[n>>3]=+h[n>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[m>>3]=+h[m>>3]/+h[n>>3]}}else c[o>>2]=0;a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+41>>0]=1;c[(c[j>>2]|0)+20>>2]=c[k>>2];c[(c[j>>2]|0)+24>>2]=c[l>>2];h[(c[j>>2]|0)+32>>3]=+(c[o>>2]|0)+ +h[m>>3];if(LP(c[g>>2]|0,c[j>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;i=q;return r|0}else{a[(c[j>>2]|0)+43>>0]=(c[(c[j>>2]|0)+28>>2]|0)!=0?1:0;c[f>>2]=0;r=c[f>>2]|0;i=q;return r|0}return 0}function KP(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;j=s+28|0;k=s+24|0;m=s+8|0;r=s+4|0;p=s+36|0;l=s+35|0;o=s+34|0;q=s;n=s+32|0;c[j>>2]=f;c[k>>2]=g;c[r>>2]=0;c[m>>2]=h;a:while(1){a[l>>0]=(a[c[k>>2]>>0]|0)-48;a[o>>0]=(a[(c[k>>2]|0)+1>>0]|0)-48;c[q>>2]=0;b[n>>1]=b[17030+((a[(c[k>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[p>>0]=a[(c[k>>2]|0)+3>>0]|0;c[q>>2]=0;while(1){g=a[l>>0]|0;a[l>>0]=g+-1<<24>>24;if(!(g<<24>>24))break;if(!(d[19011+(d[c[j>>2]>>0]|0)>>0]&4)){j=11;break a}c[q>>2]=((c[q>>2]|0)*10|0)+(a[c[j>>2]>>0]|0)-48;c[j>>2]=(c[j>>2]|0)+1}if((c[q>>2]|0)<(a[o>>0]|0)){j=11;break}if((c[q>>2]|0)>(e[n>>1]|0)){j=11;break}if((a[p>>0]|0)!=0?(a[p>>0]|0)!=(a[c[j>>2]>>0]|0):0){j=11;break}f=c[q>>2]|0;h=(c[m>>2]|0)+(4-1)&~(4-1);g=c[h>>2]|0;c[m>>2]=h+4;c[g>>2]=f;c[j>>2]=(c[j>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+4;if(!(a[p>>0]|0)){j=11;break}}if((j|0)==11){i=s;return c[r>>2]|0}return 0}function LP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;m=p+20|0;k=p+16|0;l=p+12|0;j=p+8|0;c[g>>2]=b;c[h>>2]=e;c[m>>2]=0;while(1){if(!(d[19011+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[j>>2]=a[c[g>>2]>>0];do if((c[j>>2]|0)==45){c[m>>2]=-1;o=11}else{if((c[j>>2]|0)==43){c[m>>2]=1;o=11;break}if((c[j>>2]|0)==90|(c[j>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[j>>2]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=k;c[n+4>>2]=l;if((KP(o,46507,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=_(c[m>>2]|0,(c[l>>2]|0)+((c[k>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;i=p;return o|0}while(0);while(1){if(!(d[19011+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;i=p;return o|0}function MP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;a=Kb(c[h>>2]|0)|0;c[e>>2]=a;c[e>>2]=(c[69]|0)!=0?0:a;if(c[e>>2]|0){d=c[d>>2]|0;b=c[e>>2]|0;a=d+44|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(a|0))}c[f>>2]=(c[e>>2]|0)==0&1;i=g;return c[f>>2]|0}function NP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;f=o;g=o+36|0;h=o+32|0;j=o+28|0;m=o+24|0;l=o+20|0;k=o+16|0;n=o+12|0;c[h>>2]=b;c[j>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;b=c[h>>2]|0;c[f>>2]=m;c[f+4>>2]=l;c[f+8>>2]=k;if((KP(b,46542,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[19011+(d[c[h>>2]>>0]|0)>>0]&1)f=1;else f=84==(d[c[h>>2]>>0]|0);e=c[h>>2]|0;if(!f)break;c[h>>2]=e+1}do if(JP(e,c[j>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[j>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;i=o;return n|0}while(0);a[(c[j>>2]|0)+42>>0]=0;a[(c[j>>2]|0)+40>>0]=1;m=c[m>>2]|0;c[(c[j>>2]|0)+8>>2]=(c[n>>2]|0)!=0?0-m|0:m;c[(c[j>>2]|0)+12>>2]=c[l>>2];c[(c[j>>2]|0)+16>>2]=c[k>>2];if(a[(c[j>>2]|0)+43>>0]|0)AP(c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function OP(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)+136;a=c[d>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[e>>2]=OH(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[d>>2]|0)|0,(c[e>>2]|0)!=0):0){e=c[d>>2]|0;c[e>>2]=0;c[e+4>>2]=0}e=c[d>>2]|0;C=c[e+4>>2]|0;i=f;return c[e>>2]|0}function PP(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+64|0;l=r;f=r+60|0;s=r+52|0;o=r+48|0;p=r+44|0;k=r+40|0;j=r+32|0;m=r+28|0;h=r+24|0;n=r+20|0;g=r+16|0;c[f>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[o>>2]=ae(c[c[s>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[s>>2]|0)+4>>2]|0)|0;c[m>>2]=c[o>>2];c[h>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[o>>2]|0)){i=r;return}do{if(!(a[c[m>>2]>>0]|0)){q=7;break}c[j>>2]=c[m>>2];c[j+4>>2]=c[h>>2];do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Wu(c[m>>2]|0,k)|0}while((c[k>>2]|0)==160)}while((c[k>>2]|0)!=22?(c[k>>2]|0)!=125:0);if((q|0)==7){i=r;return}s=c[g>>2]|0;m=c[o>>2]|0;p=c[p>>2]|0;q=(c[j>>2]|0)+(c[j+4>>2]|0)|0;c[l>>2]=(c[j>>2]|0)-(c[o>>2]|0);c[l+4>>2]=m;c[l+8>>2]=p;c[l+12>>2]=q;c[n>>2]=Dh(s,46688,l)|0;ne(c[f>>2]|0,c[n>>2]|0,-1,170);i=r;return}function QP(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+80|0;m=s;f=s+68|0;t=s+60|0;p=s+56|0;q=s+52|0;l=s+48|0;k=s+40|0;h=s+32|0;n=s+28|0;j=s+24|0;o=s+20|0;g=s+16|0;c[f>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[p>>2]=ae(c[c[t>>2]>>2]|0)|0;c[q>>2]=ae(c[(c[t>>2]|0)+4>>2]|0)|0;c[h>>2]=3;c[n>>2]=c[p>>2];c[j>>2]=0;c[g>>2]=we(c[f>>2]|0)|0;if(!(c[p>>2]|0)){i=s;return}while(1){if(!(a[c[n>>2]>>0]|0)){r=8;break}c[k>>2]=c[n>>2];c[k+4>>2]=c[j>>2];do{c[n>>2]=(c[n>>2]|0)+(c[j>>2]|0);c[j>>2]=Wu(c[n>>2]|0,l)|0}while((c[l>>2]|0)==160);t=(c[h>>2]|0)+1|0;c[h>>2]=t;c[h>>2]=(c[l>>2]|0)==122|(c[l>>2]|0)==107?0:t;if((c[h>>2]|0)!=2)continue;if(!((c[l>>2]|0)!=137&(c[l>>2]|0)!=46&(c[l>>2]|0)!=5))break}if((r|0)==8){i=s;return}t=c[g>>2]|0;n=c[p>>2]|0;q=c[q>>2]|0;r=(c[k>>2]|0)+(c[k+4>>2]|0)|0;c[m>>2]=(c[k>>2]|0)-(c[p>>2]|0);c[m+4>>2]=n;c[m+8>>2]=q;c[m+12>>2]=r;c[o>>2]=Dh(t,46688,m)|0;ne(c[f>>2]|0,c[o>>2]|0,-1,170);i=s;return}function RP(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;l=u+16|0;k=u;f=u+76|0;v=u+68|0;g=u+64|0;r=u+60|0;t=u+56|0;n=u+52|0;p=u+48|0;o=u+44|0;m=u+40|0;h=u+36|0;j=u+32|0;s=u+28|0;q=u+24|0;c[f>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[g>>2]=we(c[f>>2]|0)|0;c[r>>2]=0;c[n>>2]=ae(c[c[v>>2]>>2]|0)|0;c[p>>2]=ae(c[(c[v>>2]|0)+4>>2]|0)|0;c[o>>2]=ae(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[n>>2]|0)==0|(c[p>>2]|0)==0){i=u;return}c[m>>2]=c[n>>2];while(1){if(!(a[c[m>>2]>>0]|0))break;c[h>>2]=Wu(c[m>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[h>>2]=Wu(c[m>>2]|0,j)|0}while((c[j>>2]|0)==160);if((c[j>>2]|0)==161)break;v=c[h>>2]|0;c[s>>2]=Ow(c[g>>2]|0,c[m>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[s>>2]|0))break;Pw(c[s>>2]|0)|0;if(!(ig(c[p>>2]|0,c[s>>2]|0)|0)){v=c[g>>2]|0;d=(c[m>>2]|0)-(c[n>>2]|0)|0;e=c[n>>2]|0;b=c[o>>2]|0;c[k>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19010;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=b;c[q>>2]=Dh(v,46677,k)|0;Tf(c[g>>2]|0,c[r>>2]|0);c[r>>2]=c[q>>2];c[n>>2]=(c[m>>2]|0)+(c[h>>2]|0)}Tf(c[g>>2]|0,c[s>>2]|0)}c[m>>2]=(c[m>>2]|0)+(c[h>>2]|0)}v=c[g>>2]|0;s=c[n>>2]|0;c[l>>2]=(c[r>>2]|0)!=0?c[r>>2]|0:19010;c[l+4>>2]=s;c[t>>2]=Dh(v,25313,l)|0;ne(c[f>>2]|0,c[t>>2]|0,-1,170);Tf(c[g>>2]|0,c[r>>2]|0);i=u;return}function SP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=fu(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;i=d;return}function TP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[j>>2]|0)+1>>0]|0)wA(c[f>>2]|0,a[(c[j>>2]|0)+1>>0]|0,c[(c[j>>2]|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+20}e=c[f>>2]|0;j=c[g>>2]|0;Tf(e,j);i=k;return}function UP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;g=k+12|0;h=k+8|0;f=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[g>>2]|0))break;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[g>>2]|0)+12>>2]|0;if(c[(c[g>>2]|0)+16>>2]|0)c[(c[(c[g>>2]|0)+16>>2]|0)+12>>2]=a;else{c[f>>2]=a;a=c[g>>2]|0;if(c[f>>2]|0)a=c[(c[a+12>>2]|0)+8>>2]|0;else a=c[a+8>>2]|0;c[j>>2]=a;Sj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[j>>2]|0,c[f>>2]|0)|0}if(c[(c[g>>2]|0)+12>>2]|0)c[(c[(c[g>>2]|0)+12>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2]}SF(c[d>>2]|0,c[(c[g>>2]|0)+28>>2]|0);SF(c[d>>2]|0,c[(c[g>>2]|0)+28+4>>2]|0);c[h>>2]=c[(c[g>>2]|0)+4>>2];Tf(c[d>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}i=k;return}function VP(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function WP(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function XP(a){a=a|0;return (a+-97|0)>>>0<26|0}function YP(a){a=a|0;return (a+-65|0)>>>0<26|0}function ZP(a){a=a|0;var b=0;b=(YP(a)|0)==0;return (b?a:a|32)|0}function _P(a){a=a|0;var b=0;b=(XP(a)|0)==0;return (b?a:a&95)|0}function $P(){var a=0;if(!(c[2423]|0))a=9740;else a=c[(qb()|0)+60>>2]|0;return a|0}function aQ(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[46812+c>>0]|0)==(b|0)){e=2;break}c=c+1|0;if((c|0)==87){c=87;b=46900;e=5;break}}if((e|0)==2)if(!c)b=46900;else{b=46900;e=5}if((e|0)==5)while(1){e=b;while(1){b=e+1|0;if(!(a[e>>0]|0))break;else e=b}c=c+-1|0;if(!c)break;else e=5}return b|0}function bQ(a,b,d){a=a|0;b=b|0;d=d|0;var 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;s=i;i=i+192|0;j=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;l=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;k=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;a:do switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=eQ(mb(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=k;d=mb(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=mb(221,n|0)|0;break a}case 0:{d=c[k+4>>2]|0;d=(c[k>>2]|0)==2?0-d|0:d;break a}default:{d=eQ(d)|0;break a}}}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=mb(221,f|0)|0;if((d|0)!=-22){if((d|0)>-1){c[l>>2]=d;c[l+4>>2]=2;c[l+8>>2]=1;mb(221,l|0)|0}d=eQ(d)|0;break a}c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=mb(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=mb(221,q|0)|0;if((d|0)>-1){c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;mb(221,r|0)|0}d=eQ(d)|0;break a}else{if((d|0)>-1){c[p>>2]=d;Cb(6,p|0)|0}d=eQ(-22)|0;break a}}default:if((b+-12|0)>>>0<5){c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=eQ(mb(221,h|0)|0)|0;break a}else{c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=o;d=eQ(mb(221,j|0)|0)|0;break a}}while(0);i=s;return d|0}function cQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e;g=e+16|0;c[g>>2]=d;h=(c[g>>2]|0)+(4-1)&~(4-1);d=c[h>>2]|0;c[g>>2]=h+4;c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=d;d=eQ(Db(5,f|0)|0)|0;i=e;return d|0}function dQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[48704+d>>0]|0;if((d|0)==14)break;else d=d+1|0}if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{d=14;e=c;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function eQ(a){a=a|0;if(a>>>0>4294963200){c[($P()|0)>>2]=0-a;a=-1}return a|0}function fQ(a){a=+a;return +(+X(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function gQ(a){a=+a;var b=0;h[k>>3]=a;b=qR(c[k>>2]|0,c[k+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+Y(+(a*2.0-1.0/(+O(+(a*a+-1.0))+a)));break}else{a=+Y(+a)+.6931471805599453;break}else{a=a+-1.0;a=+mQ(a+ +O(+(a*a+a*2.0)))}while(0);return +a}function hQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=qR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+Y(+(a*2.0+1.0/(a+ +O(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+mQ(a+f/(+O(+(f+1.0))+1.0))}}else a=+Y(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function iQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[k>>3]=a;e=c[k>>2]|0;d=c[k+4>>2]|0;b=qR(e|0,d|0,52)|0;b=b&2047;c[k>>2]=e;c[k+4>>2]=d&2147483647;a=+h[k>>3];if(b>>>0<1022){if(b>>>0>=991){f=a*2.0;a=+mQ(f+a*f/(1.0-a))*.5}}else a=+mQ(a/(1.0-a)*2.0)*.5;return +((d|0)<0?-a:a)}function jQ(a){a=+a;var b=0;h[k>>3]=a;b=c[k+4>>2]&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+kQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+X(+a);a=(a+1.0/a)*.5;break}else{a=+fQ(a);break}while(0);return +a}function kQ(a){a=+a;var b=0.0,d=0.0,e=0,f=0,g=0,i=0,j=0.0,l=0,m=0.0;h[k>>3]=a;e=c[k>>2]|0;f=c[k+4>>2]|0;g=f&2147483647;i=qR(e|0,f|0,63)|0;do if(g>>>0>1078159481){g=f&2147483647;if(!(g>>>0>2146435072|(g|0)==2146435072&e>>>0>0))if(!i)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else l=11;else a=-1.0}else{if(g>>>0<=1071001154)if(g>>>0<1016070144)break;else{j=0.0;g=0;l=14;break}if(g>>>0<1072734898)if(!i){b=a+-.6931471803691238;e=1;d=1.9082149292705877e-10;l=12;break}else{b=a+.6931471803691238;e=-1;d=-1.9082149292705877e-10;l=12;break}else l=11}while(0);if((l|0)==11){e=~~(a*1.4426950408889634+((i|0)!=0?-.5:.5));d=+(e|0);b=a-d*.6931471803691238;d=d*1.9082149292705877e-10;l=12}if((l|0)==12){j=b-d;a=j;j=b-j-d;g=e;l=14}a:do if((l|0)==14){d=a*.5;b=a*d;m=b*(b*(b*(b*(4.008217827329362e-06-b*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;d=3.0-d*m;d=b*((m-d)/(6.0-a*d));if(!g){a=a-(a*d-b);break}b=a*(d-j)-j-b;switch(g|0){case -1:{a=(a-b)*.5+-.5;break a}case 1:if(a<-.25){a=(b-(a+.5))*-2.0;break a}else{a=(a-b)*2.0+1.0;break a}default:{i=uR(g+1023|0,0,52)|0;l=C;c[k>>2]=i;c[k+4>>2]=l;d=+h[k>>3];if(g>>>0>56){a=a-b+1.0;a=((g|0)==1024?a*2.0*8988465674311579538646525.0e283:d*a)+-1.0;break a}e=uR(1023-g|0,0,52)|0;f=C;if((g|0)<20){c[k>>2]=e;c[k+4>>2]=f;a=1.0-+h[k>>3]+(a-b)}else{c[k>>2]=e;c[k+4>>2]=f;a=a-(+h[k>>3]+b)+1.0}a=d*a;break a}}}while(0);return +a}function lQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;d=c[k>>2]|0;b=c[k+4>>2]|0;e=(b|0)<0;do if(e|b>>>0<1048576){if((d|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[k>>3]=a*18014398509481984.0;b=c[k+4>>2]|0;e=c[k>>2]|0;d=-1077;f=9;break}}else if(b>>>0<=2146435071)if((d|0)==0&0==0&(b|0)==1072693248)a=0.0;else{e=d;d=-1023;f=9}while(0);if((f|0)==9){f=b+614242|0;c[k>>2]=e;c[k+4>>2]=(f&1048575)+1072079006;m=+h[k>>3]+-1.0;a=m*(m*.5);j=m/(m+2.0);l=j*j;i=l*l;h[k>>3]=m-a;e=c[k+4>>2]|0;c[k>>2]=0;c[k+4>>2]=e;g=+h[k>>3];a=j*(a+(i*(i*(i*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(i*(i*(i*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))+(m-g-a);m=g*.4342944818781689;i=+(d+(f>>>20)|0);l=i*.30102999566361177;j=l+m;a=j+(m+(l-j)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function mQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0,i=0.0,j=0.0,l=0.0,m=0.0;h[k>>3]=a;b=c[k+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=uR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){e=0.0;d=0.0;f=11;break}else{f=8;break}}else{if(a==-1.0){a=-s;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)f=8;while(0);if((f|0)==8){d=a+1.0;h[k>>3]=d;b=(c[k+4>>2]|0)+614242|0;f=(b>>>20)+-1023|0;if((f|0)<54)a=((f|0)>1?1.0-(d-a):a-(d+-1.0))/d;else a=0.0;c[k>>2]=c[k>>2];c[k+4>>2]=(b&1048575)+1072079006;e=a;a=+h[k>>3]+-1.0;d=+(f|0);f=11}if((f|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;j=l*l;a=d*.6931471803691238+(a+(e+d*1.9082149292705877e-10+m*(i+(j*(j*(j*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(j*(j*(j*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function nQ(a){a=+a;var b=0.0,d=0.0,e=0;h[k>>3]=a;e=c[k+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=e;b=+h[k>>3];do if(e>>>0<1082535490){b=+kQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+fQ(b);while(0);return +a}function oQ(a){a=+a;var b=0,d=0;h[k>>3]=a;d=c[k+4>>2]|0;b=d&2147483647;c[k>>2]=c[k>>2];c[k+4>>2]=b;a=+h[k>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+kQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+kQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+kQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function pQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;i=i+32|0;h=k;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[($P()|0)>>2]=12;f=-1;break}j=(e&16|0)!=0;if(j)eR(-1);c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;f=eQ(cb(192,h|0)|0)|0;if(j)fR()}else{c[($P()|0)>>2]=22;f=-1}while(0);i=k;return f|0}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;eR(-1);c[e>>2]=a;c[e+4>>2]=b;a=eQ(Xa(91,e|0)|0)|0;fR();i=d;return a|0}function rQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=jb(94,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){dQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=eQ(wb(15,g|0)|0)|0}else d=eQ(d)|0;i=h;return d|0}function sQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+64|0;g=h+16|0;f=h+8|0;d=h;e=h+24|0;c[d>>2]=a;c[d+4>>2]=b;d=db(197,d|0)|0;if((d|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(mb(221,f|0)|0)>=0):0){dQ(e,a);c[g>>2]=e;c[g+4>>2]=b;d=eQ(fb(195,g|0)|0)|0}else d=eQ(d)|0;i=h;return d|0}function tQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(eb(196,e|0)|0)|0;i=d;return a|0}function uQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(Za(39,e|0)|0)|0;i=d;return a|0}function vQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(fb(195,e|0)|0)|0;i=d;return a|0}function wQ(a){a=a|0;return 0}function xQ(a){a=a|0;return}function yQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=c[a+60>>2];a=eQ(Cb(6,d|0)|0)|0;i=b;return a|0}function zQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((eQ(vb(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;i=f;return a|0}function AQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;n=q+16|0;m=q;e=q+32|0;o=a+28|0;f=c[o>>2]|0;c[e>>2]=f;p=a+20|0;f=(c[p>>2]|0)-f|0;c[e+4>>2]=f;c[e+8>>2]=b;c[e+12>>2]=d;k=a+60|0;l=a+44|0;b=2;f=f+d|0;while(1){if(!(c[2423]|0)){c[n>>2]=c[k>>2];c[n+4>>2]=e;c[n+8>>2]=b;h=eQ(Mb(146,n|0)|0)|0}else{La(154,a|0);c[m>>2]=c[k>>2];c[m+4>>2]=e;c[m+8>>2]=b;h=eQ(Mb(146,m|0)|0)|0;Da(0)}if((f|0)==(h|0)){f=6;break}if((h|0)<0){f=8;break}f=f-h|0;g=c[e+4>>2]|0;if(h>>>0<=g>>>0)if((b|0)==2){c[o>>2]=(c[o>>2]|0)+h;j=g;b=2}else j=g;else{j=c[l>>2]|0;c[o>>2]=j;c[p>>2]=j;j=c[e+12>>2]|0;h=h-g|0;e=e+8|0;b=b+-1|0}c[e>>2]=(c[e>>2]|0)+h;c[e+4>>2]=j-h}if((f|0)==6){n=c[l>>2]|0;c[a+16>>2]=n+(c[a+48>>2]|0);a=n;c[o>>2]=a;c[p>>2]=a}else if((f|0)==8){c[a+16>>2]=0;c[o>>2]=0;c[p>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}i=q;return d|0}function BQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21505,c[f+8>>2]=g+12,(Ka(54,f|0)|0)!=0):0)a[b+75>>0]=-1;f=AQ(b,d,e)|0;i=g;return f|0}function CQ(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=bR(a)|0;break}d=(wQ(a)|0)==0;b=bR(a)|0;if(!d)xQ(a)}else{if(!(c[2434]|0))b=0;else b=CQ(c[2434]|0)|0;Bb(9720);a=c[2429]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=wQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=bR(a)|0|b;if(d)xQ(a);a=c[a+56>>2]|0}while((a|0)!=0);ub(9720)}while(0);return b|0}function DQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+208|0;o=r+8|0;p=r;f=_(d,b)|0;n=p;c[n>>2]=1;c[n+4>>2]=0;if(f){j=f-d|0;c[o+4>>2]=d;c[o>>2]=d;g=d;b=d;h=2;while(1){b=b+d+g|0;c[o+(h<<2)>>2]=b;if(b>>>0>>0){n=g;g=b;h=h+1|0;b=n}else break}n=0-d|0;k=a+j|0;m=p+4|0;if((j|0)>0){j=k;f=1;h=1;while(1){do if((f&3|0)==3){cR(a,d,e,h,o);l=c[m>>2]|0;b=l<<30|(c[p>>2]|0)>>>2;c[p>>2]=b;c[m>>2]=l>>>2;h=h+2|0}else{b=h+-1|0;if((c[o+(b<<2)>>2]|0)>>>0<(j-a|0)>>>0)cR(a,d,e,h,o);else dR(a,d,e,p,h,0,o);if((h|0)==1){b=c[p>>2]|0;c[m>>2]=b>>>31|c[m>>2]<<1;b=b<<1;c[p>>2]=b;h=0;break}if(b>>>0>31){f=c[p>>2]|0;c[m>>2]=f;c[p>>2]=0;b=h+-33|0;g=0}else{f=c[m>>2]|0;g=c[p>>2]|0}c[m>>2]=g>>>(32-b|0)|f<>2]=b;h=1}while(0);f=b|1;c[p>>2]=f;b=a+d|0;if(b>>>0>=k>>>0){f=b;break}else a=b}}else{f=a;h=1}dR(f,d,e,p,h,0,o);l=p+4|0;b=c[p>>2]|0;if(!((h|0)==1&(b|0)==1&(c[l>>2]|0)==0)){g=f;while(1){if((h|0)<2){f=b+-1|0;do if(f){if(!(f&1)){j=f;f=0;do{f=f+1|0;j=j>>>1}while((j&1|0)==0);if(!f)q=24}else q=24;if((q|0)==24){q=0;k=c[m>>2]|0;if(!k){f=64;q=30;break}if(!(k&1)){j=k;f=0}else{a=0;j=k;f=0;break}while(1){a=f+1|0;j=j>>>1;if(j&1){j=a;break}else f=a}if(!j){a=0;j=k;f=0;break}else f=f+33|0}if(f>>>0>31)q=30;else{a=f;j=c[m>>2]|0}}else{f=32;q=30}while(0);if((q|0)==30){q=0;b=c[m>>2]|0;c[p>>2]=b;c[m>>2]=0;a=f+-32|0;j=0}c[p>>2]=j<<32-a|b>>>a;c[m>>2]=j>>>a;g=g+n|0;f=f+h|0}else{a=b>>>30;k=a|c[m>>2]<<2;f=h+-2|0;c[p>>2]=(b<<1&2147483646|a<<31)^3;c[m>>2]=k>>>1;dR(g+(0-((c[o+(f<<2)>>2]|0)+d))|0,d,e,p,h+-1|0,1,o);k=c[p>>2]|0;c[m>>2]=k>>>31|c[m>>2]<<1;c[p>>2]=k<<1|1;g=g+n|0;dR(g,d,e,p,f,1,o)}b=c[p>>2]|0;if((f|0)==1&(b|0)==1&(c[l>>2]|0)==0)break;else h=f}}}i=r;return}function EQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)d=0;else{f=d;e=b;while(1){b=a[e>>0]|0;d=a[c>>0]|0;if(b<<24>>24!=d<<24>>24)break;f=f+-1|0;if(!f){d=0;break a}else{e=e+1|0;c=c+1|0}}d=(b&255)-(d&255)|0}while(0);return d|0}function FQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function GQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3)do{f=c[d>>2]|0;if((f&-2139062144^-2139062144)&f+-16843009)break b;c[b>>2]=f;e=e+-4|0;d=d+4|0;b=b+4|0}while(e>>>0>3);while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);tR(b|0,0,e|0)|0;return b|0}function HQ(b,c){b=b|0;c=c|0;var d=0,e=0;e=a[b>>0]|0;d=a[c>>0]|0;if(e<<24>>24==0?1:e<<24>>24!=d<<24>>24)c=e;else{do{b=b+1|0;c=c+1|0;e=a[b>>0]|0;d=a[c>>0]|0}while(!(e<<24>>24==0?1:e<<24>>24!=d<<24>>24));c=e}return (c&255)-(d&255)|0}function IQ(a,b){a=a|0;b=b|0;FQ(a,b)|0;return a|0}function JQ(a){a=a|0;var b=0,c=0;c=(KQ(a)|0)+1|0;b=hR(c)|0;if(!b)b=0;else rR(b|0,a|0,c|0)|0;return b|0}function KQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=b;b=f;while(1){if(!(a[d>>0]|0))break a;d=d+1|0;b=d;if(!(b&3)){b=d;e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function LQ(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function MQ(a,b,c){a=a|0;b=b|0;c=c|0;GQ(a,b,c)|0;return a|0}function NQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;a=eQ(sb(33,e|0)|0)|0;i=d;return a|0}function OQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=Cb(6,d|0)|0;a=eQ((a|0)==-4?-115:a)|0;i=b;return a|0}function PQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+64|0;h=j+24|0;g=j+16|0;e=j;f=j+36|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=Lb(207,e|0)|0;if((e|0)==-9?(c[g>>2]=a,c[g+4>>2]=1,(mb(221,g|0)|0)>=0):0){dQ(f,a);c[h>>2]=f;c[h+4>>2]=b;c[h+8>>2]=d;e=eQ(hb(212,h|0)|0)|0}else e=eQ(e)|0;i=j;return e|0}function QQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=eQ(Oa(118,d|0)|0)|0;i=b;return a|0}function RQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=eQ(gb(194,e|0)|0)|0;i=d;return b|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+4112|0;e=g;d=g+8|0;if(a)if(!b){c[($P()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((eQ(Ra(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=JQ(d)|0}else a=0}i=g;return a|0}function TQ(){var a=0,b=0;b=i;i=i+16|0;a=pb(201,b|0)|0;i=b;return a|0}function UQ(){var a=0,b=0;b=i;i=i+16|0;a=Qa(20,b|0)|0;i=b;return a|0}function VQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(eQ(vb(140,g|0)|0)|0)!=0;i=f;return (d?-1:c[e>>2]|0)|0}function WQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=eQ(Ab(3,f|0)|0)|0;i=e;return a|0}function XQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=eQ(Ea(85,f|0)|0)|0;i=e;return a|0}function YQ(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=eQ(Na(40,d|0)|0)|0;i=b;return a|0}function ZQ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(kb(b|0,b|0)|0)==0;i=d;return (a?0:c[b>>2]|0)|0}function _Q(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=eQ(yb(10,d|0)|0)|0;i=b;return a|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;a=eQ(Eb(4,f|0)|0)|0;i=e;return a|0}function aR(a){a=a|0;if(!(c[a+68>>2]|0))xQ(a);return}function bR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;g=a+28|0;if((c[b>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)b=-1;else{h=a+4|0;d=c[h>>2]|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>>0)Ob[c[a+40>>2]&255](a,d-f|0,1)|0;c[a+16>>2]=0;c[g>>2]=0;c[b>>2]=0;c[e>>2]=0;c[h>>2]=0;b=0}return b|0}function cR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+240|0;o=p;c[o>>2]=a;a:do if((e|0)>1){n=0-b|0;g=e;h=a;k=a;l=1;while(1){a=h+n|0;m=g+-2|0;j=h+(0-((c[f+(m<<2)>>2]|0)+b))|0;if((Yb[d&255](k,j)|0)>-1?(Yb[d&255](k,a)|0)>-1:0){e=l;break a}e=l+1|0;h=o+(l<<2)|0;if((Yb[d&255](j,a)|0)>-1){c[h>>2]=j;a=j;g=g+-1|0}else{c[h>>2]=a;g=m}if((g|0)<=1)break a;h=a;k=c[o>>2]|0;l=e}}else e=1;while(0);gR(b,o,e);i=p;return}function dR(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+240|0;p=r;k=c[e>>2]|0;e=c[e+4>>2]|0;c[p>>2]=a;o=0-b|0;a:do if((e|0)!=0|(k|0)!=1?(j=a+(0-(c[h+(f<<2)>>2]|0))|0,(Yb[d&255](j,a)|0)>=1):0){g=(g|0)==0;n=j;l=k;m=e;j=1;while(1){if(g&(f|0)>1){e=c[h+(f+-2<<2)>>2]|0;if((Yb[d&255](a+o|0,n)|0)>-1){g=f;e=j;q=20;break a}if((Yb[d&255](a+(0-(e+b))|0,n)|0)>-1){g=f;e=j;q=20;break a}}e=j+1|0;c[p+(j<<2)>>2]=n;g=l+-1|0;do if(g){if(!(g&1)){a=g;g=0;do{g=g+1|0;a=a>>>1}while((a&1|0)==0);if(!g)q=11}else q=11;if((q|0)==11){q=0;if(!m){g=64;q=16;break}if(!(m&1)){a=m;g=0}else{k=0;a=l;j=m;g=0;break}while(1){j=g+1|0;a=a>>>1;if(a&1){a=j;break}else g=j}if(!a){k=0;a=l;j=m;g=0;break}else g=g+33|0}if(g>>>0>31)q=16;else{k=g;a=l;j=m}}else{g=32;q=16}while(0);if((q|0)==16){q=0;k=g+-32|0;a=m;j=0}l=j<<32-k|a>>>k;m=j>>>k;g=g+f|0;if(!((m|0)!=0|(l|0)!=1)){a=n;q=20;break a}a=n+(0-(c[h+(g<<2)>>2]|0))|0;if((Yb[d&255](a,c[p>>2]|0)|0)<1){a=n;f=g;g=0;q=19;break}else{k=n;f=g;g=1;n=a;j=e;a=k}}}else{e=1;q=19}while(0);if((q|0)==19?(g|0)==0:0){g=f;q=20}if((q|0)==20){gR(b,p,e);cR(a,b,d,g,h)}i=r;return}function eR(a){a=a|0;return}function fR(){return}function gR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,(a|0)!=0):0)while(1){f=a>>>0>256?256:a;rR(e|0,c[b>>2]|0,f|0)|0;e=0;do{j=b+(e<<2)|0;e=e+1|0;rR(c[j>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[j>>2]=(c[j>>2]|0)+f}while((e|0)!=(d|0));if((a|0)==(f|0))break a;a=a-f|0;e=c[g>>2]|0}while(0);i=h;return}function hR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;do if(a>>>0<245){o=a>>>0<11?16:a+11&-8;a=o>>>3;i=c[2464]|0;d=i>>>a;if(d&3){a=(d&1^1)+a|0;e=a<<1;d=9896+(e<<2)|0;e=9896+(e+2<<2)|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[2468]|0)>>>0)Ma();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Ma()}else c[2464]=i&~(1<>2]=M|3;M=f+(M|4)|0;c[M>>2]=c[M>>2]|1;M=g;return M|0}h=c[2466]|0;if(o>>>0>h>>>0){if(d){e=2<>>12&16;e=e>>>j;f=e>>>5&8;e=e>>>f;g=e>>>2&4;e=e>>>g;d=e>>>1&2;e=e>>>d;a=e>>>1&1;a=(f|j|g|d|a)+(e>>>a)|0;e=a<<1;d=9896+(e<<2)|0;e=9896+(e+2<<2)|0;g=c[e>>2]|0;j=g+8|0;f=c[j>>2]|0;do if((d|0)!=(f|0)){if(f>>>0<(c[2468]|0)>>>0)Ma();b=f+12|0;if((c[b>>2]|0)==(g|0)){c[b>>2]=d;c[e>>2]=f;k=c[2466]|0;break}else Ma()}else{c[2464]=i&~(1<>2]=o|3;i=g+o|0;c[g+(o|4)>>2]=h|1;c[g+M>>2]=h;if(k){f=c[2469]|0;d=k>>>3;b=d<<1;e=9896+(b<<2)|0;a=c[2464]|0;d=1<>2]|0;if(b>>>0<(c[2468]|0)>>>0)Ma();else{l=a;m=b}}else{c[2464]=a|d;l=9896+(b+2<<2)|0;m=e}c[l>>2]=f;c[m+12>>2]=f;c[f+8>>2]=m;c[f+12>>2]=e}c[2466]=h;c[2469]=i;M=j;return M|0}a=c[2465]|0;if(a){d=(a&0-a)+-1|0;L=d>>>12&16;d=d>>>L;K=d>>>5&8;d=d>>>K;M=d>>>2&4;d=d>>>M;a=d>>>1&2;d=d>>>a;e=d>>>1&1;e=c[10160+((K|L|M|a|e)+(d>>>e)<<2)>>2]|0;d=(c[e+4>>2]&-8)-o|0;a=e;while(1){b=c[a+16>>2]|0;if(!b){b=c[a+20>>2]|0;if(!b){j=d;break}}a=(c[b+4>>2]&-8)-o|0;M=a>>>0>>0;d=M?a:d;a=b;e=M?b:e}g=c[2468]|0;if(e>>>0>>0)Ma();i=e+o|0;if(e>>>0>=i>>>0)Ma();h=c[e+24>>2]|0;d=c[e+12>>2]|0;do if((d|0)==(e|0)){a=e+20|0;b=c[a>>2]|0;if(!b){a=e+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;f=c[d>>2]|0;if(f){b=f;a=d;continue}d=b+16|0;f=c[d>>2]|0;if(!f)break;else{b=f;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;n=b;break}}else{f=c[e+8>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(e|0))Ma();a=d+8|0;if((c[a>>2]|0)==(e|0)){c[b>>2]=d;c[a>>2]=f;n=d;break}else Ma()}while(0);do if(h){b=c[e+28>>2]|0;a=10160+(b<<2)|0;if((e|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(e|0))c[b>>2]=n;else c[h+20>>2]=n;if(!n)break}a=c[2468]|0;if(n>>>0>>0)Ma();c[n+24>>2]=h;b=c[e+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[e+20>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(j>>>0<16){M=j+o|0;c[e+4>>2]=M|3;M=e+(M+4)|0;c[M>>2]=c[M>>2]|1}else{c[e+4>>2]=o|3;c[e+(o|4)>>2]=j|1;c[e+(j+o)>>2]=j;b=c[2466]|0;if(b){g=c[2469]|0;d=b>>>3;b=d<<1;f=9896+(b<<2)|0;a=c[2464]|0;d=1<>2]|0;if(a>>>0<(c[2468]|0)>>>0)Ma();else{p=b;q=a}}else{c[2464]=a|d;p=9896+(b+2<<2)|0;q=f}c[p>>2]=g;c[q+12>>2]=g;c[g+8>>2]=q;c[g+12>>2]=f}c[2466]=j;c[2469]=i}M=e+8|0;return M|0}else q=o}else q=o}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;l=c[2465]|0;if(l){d=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)k=31;else{q=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;k=14-(p|q|k)+(v<>>15)|0;k=m>>>(k+7|0)&1|k<<1}else k=0;a=c[10160+(k<<2)>>2]|0;a:do if(!a){f=0;a=0;v=86}else{h=d;f=0;i=m<<((k|0)==31?0:25-(k>>>1)|0);j=a;a=0;while(1){g=c[j+4>>2]&-8;d=g-m|0;if(d>>>0>>0)if((g|0)==(m|0)){g=j;a=j;v=90;break a}else a=j;else d=h;v=c[j+20>>2]|0;j=c[j+16+(i>>>31<<2)>>2]|0;f=(v|0)==0|(v|0)==(j|0)?f:v;if(!j){v=86;break}else{h=d;i=i<<1}}}while(0);if((v|0)==86){if((f|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>n;l=a>>>5&8;a=a>>>l;p=a>>>2&4;a=a>>>p;q=a>>>1&2;a=a>>>q;f=a>>>1&1;f=c[10160+((l|n|p|q|f)+(a>>>f)<<2)>>2]|0;a=0}if(!f){i=d;j=a}else{g=f;v=90}}if((v|0)==90)while(1){v=0;q=(c[g+4>>2]&-8)-m|0;f=q>>>0>>0;d=f?q:d;a=f?g:a;f=c[g+16>>2]|0;if(f){g=f;v=90;continue}g=c[g+20>>2]|0;if(!g){i=d;j=a;break}else v=90}if((j|0)!=0?i>>>0<((c[2466]|0)-m|0)>>>0:0){f=c[2468]|0;if(j>>>0>>0)Ma();h=j+m|0;if(j>>>0>=h>>>0)Ma();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){o=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)Ma();else{c[a>>2]=0;o=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)Ma();b=e+12|0;if((c[b>>2]|0)!=(j|0))Ma();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;o=d;break}else Ma()}while(0);do if(g){b=c[j+28>>2]|0;a=10160+(b<<2)|0;if((j|0)==(c[a>>2]|0)){c[a>>2]=o;if(!o){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=g+16|0;if((c[b>>2]|0)==(j|0))c[b>>2]=o;else c[g+20>>2]=o;if(!o)break}a=c[2468]|0;if(o>>>0>>0)Ma();c[o+24>>2]=g;b=c[j+16>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[o+16>>2]=b;c[b+24>>2]=o;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[o+20>>2]=b;c[b+24>>2]=o;break}}while(0);b:do if(i>>>0>=16){c[j+4>>2]=m|3;c[j+(m|4)>>2]=i|1;c[j+(i+m)>>2]=i;b=i>>>3;if(i>>>0<256){a=b<<1;e=9896+(a<<2)|0;d=c[2464]|0;b=1<>2]|0;if(a>>>0<(c[2468]|0)>>>0)Ma();else{s=b;t=a}}else{c[2464]=d|b;s=9896+(a+2<<2)|0;t=e}c[s>>2]=h;c[t+12>>2]=h;c[j+(m+8)>>2]=t;c[j+(m+12)>>2]=e;break}b=i>>>8;if(b)if(i>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=i>>>(e+7|0)&1|e<<1}else e=0;b=10160+(e<<2)|0;c[j+(m+28)>>2]=e;c[j+(m+20)>>2]=0;c[j+(m+16)>>2]=0;a=c[2465]|0;d=1<>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(i|0)){e=i<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(i|0)){y=d;break c}else{e=e<<1;b=d}}if(a>>>0<(c[2468]|0)>>>0)Ma();else{c[a>>2]=h;c[j+(m+24)>>2]=b;c[j+(m+12)>>2]=h;c[j+(m+8)>>2]=h;break b}}else y=b;while(0);b=y+8|0;a=c[b>>2]|0;M=c[2468]|0;if(a>>>0>=M>>>0&y>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[j+(m+8)>>2]=a;c[j+(m+12)>>2]=y;c[j+(m+24)>>2]=0;break}else Ma()}else{M=i+m|0;c[j+4>>2]=M|3;M=j+(M+4)|0;c[M>>2]=c[M>>2]|1}while(0);M=j+8|0;return M|0}else q=m}else q=m}else q=-1;while(0);d=c[2466]|0;if(d>>>0>=q>>>0){b=d-q|0;a=c[2469]|0;if(b>>>0>15){c[2469]=a+q;c[2466]=b;c[a+(q+4)>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=q|3}else{c[2466]=0;c[2469]=0;c[a+4>>2]=d|3;M=a+(d+4)|0;c[M>>2]=c[M>>2]|1}M=a+8|0;return M|0}a=c[2467]|0;if(a>>>0>q>>>0){L=a-q|0;c[2467]=L;M=c[2470]|0;c[2470]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}do if(!(c[2582]|0)){a=ib(30)|0;if(!(a+-1&a)){c[2584]=a;c[2583]=a;c[2585]=-1;c[2586]=-1;c[2587]=0;c[2575]=0;c[2582]=(Fb(0)|0)&-16^1431655768;break}else Ma()}while(0);j=q+48|0;i=c[2584]|0;k=q+47|0;h=i+k|0;i=0-i|0;l=h&i;if(l>>>0<=q>>>0){M=0;return M|0}a=c[2574]|0;if((a|0)!=0?(t=c[2572]|0,y=t+l|0,y>>>0<=t>>>0|y>>>0>a>>>0):0){M=0;return M|0}d:do if(!(c[2575]&4)){a=c[2470]|0;e:do if(a){f=10304;while(1){d=c[f>>2]|0;if(d>>>0<=a>>>0?(r=f+4|0,(d+(c[r>>2]|0)|0)>>>0>a>>>0):0){g=f;a=r;break}f=c[f+8>>2]|0;if(!f){v=174;break e}}d=h-(c[2467]|0)&i;if(d>>>0<2147483647){f=bb(d|0)|0;y=(f|0)==((c[g>>2]|0)+(c[a>>2]|0)|0);a=y?d:0;if(y){if((f|0)!=(-1|0)){w=f;p=a;v=194;break d}}else v=184}else a=0}else v=174;while(0);do if((v|0)==174){g=bb(0)|0;if((g|0)!=(-1|0)){a=g;d=c[2583]|0;f=d+-1|0;if(!(f&a))d=l;else d=l-a+(f+a&0-d)|0;a=c[2572]|0;f=a+d|0;if(d>>>0>q>>>0&d>>>0<2147483647){y=c[2574]|0;if((y|0)!=0?f>>>0<=a>>>0|f>>>0>y>>>0:0){a=0;break}f=bb(d|0)|0;y=(f|0)==(g|0);a=y?d:0;if(y){w=g;p=a;v=194;break d}else v=184}else a=0}else a=0}while(0);f:do if((v|0)==184){g=0-d|0;do if(j>>>0>d>>>0&(d>>>0<2147483647&(f|0)!=(-1|0))?(u=c[2584]|0,u=k-d+u&0-u,u>>>0<2147483647):0)if((bb(u|0)|0)==(-1|0)){bb(g|0)|0;break f}else{d=u+d|0;break}while(0);if((f|0)!=(-1|0)){w=f;p=d;v=194;break d}}while(0);c[2575]=c[2575]|4;v=191}else{a=0;v=191}while(0);if((((v|0)==191?l>>>0<2147483647:0)?(w=bb(l|0)|0,x=bb(0)|0,w>>>0>>0&((w|0)!=(-1|0)&(x|0)!=(-1|0))):0)?(z=x-w|0,A=z>>>0>(q+40|0)>>>0,A):0){p=A?z:a;v=194}if((v|0)==194){a=(c[2572]|0)+p|0;c[2572]=a;if(a>>>0>(c[2573]|0)>>>0)c[2573]=a;h=c[2470]|0;g:do if(h){g=10304;do{a=c[g>>2]|0;d=g+4|0;f=c[d>>2]|0;if((w|0)==(a+f|0)){B=a;C=d;D=f;E=g;v=204;break}g=c[g+8>>2]|0}while((g|0)!=0);if(((v|0)==204?(c[E+12>>2]&8|0)==0:0)?h>>>0>>0&h>>>0>=B>>>0:0){c[C>>2]=D+p;M=(c[2467]|0)+p|0;L=h+8|0;L=(L&7|0)==0?0:0-L&7;K=M-L|0;c[2470]=h+L;c[2467]=K;c[h+(L+4)>>2]=K|1;c[h+(M+4)>>2]=40;c[2471]=c[2586];break}a=c[2468]|0;if(w>>>0>>0){c[2468]=w;a=w}d=w+p|0;g=10304;while(1){if((c[g>>2]|0)==(d|0)){f=g;d=g;v=212;break}g=c[g+8>>2]|0;if(!g){d=10304;break}}if((v|0)==212)if(!(c[d+12>>2]&8)){c[f>>2]=w;n=d+4|0;c[n>>2]=(c[n>>2]|0)+p;n=w+8|0;n=(n&7|0)==0?0:0-n&7;k=w+(p+8)|0;k=(k&7|0)==0?0:0-k&7;b=w+(k+p)|0;m=n+q|0;o=w+m|0;l=b-(w+n)-q|0;c[w+(n+4)>>2]=q|3;h:do if((b|0)!=(h|0)){if((b|0)==(c[2469]|0)){M=(c[2466]|0)+l|0;c[2466]=M;c[2469]=o;c[w+(m+4)>>2]=M|1;c[w+(M+m)>>2]=M;break}i=p+4|0;d=c[w+(i+k)>>2]|0;if((d&3|0)==1){j=d&-8;g=d>>>3;i:do if(d>>>0>=256){h=c[w+((k|24)+p)>>2]|0;e=c[w+(p+12+k)>>2]|0;do if((e|0)==(b|0)){f=k|16;e=w+(i+f)|0;d=c[e>>2]|0;if(!d){e=w+(f+p)|0;d=c[e>>2]|0;if(!d){J=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;J=d;break}}else{f=c[w+((k|8)+p)>>2]|0;if(f>>>0>>0)Ma();a=f+12|0;if((c[a>>2]|0)!=(b|0))Ma();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;J=e;break}else Ma()}while(0);if(!h)break;a=c[w+(p+28+k)>>2]|0;d=10160+(a<<2)|0;do if((b|0)!=(c[d>>2]|0)){if(h>>>0<(c[2468]|0)>>>0)Ma();a=h+16|0;if((c[a>>2]|0)==(b|0))c[a>>2]=J;else c[h+20>>2]=J;if(!J)break i}else{c[d>>2]=J;if(J)break;c[2465]=c[2465]&~(1<>>0>>0)Ma();c[J+24>>2]=h;b=k|16;a=c[w+(b+p)>>2]|0;do if(a)if(a>>>0>>0)Ma();else{c[J+16>>2]=a;c[a+24>>2]=J;break}while(0);b=c[w+(i+b)>>2]|0;if(!b)break;if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[J+20>>2]=b;c[b+24>>2]=J;break}}else{e=c[w+((k|8)+p)>>2]|0;f=c[w+(p+12+k)>>2]|0;d=9896+(g<<1<<2)|0;do if((e|0)!=(d|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)==(b|0))break;Ma()}while(0);if((f|0)==(e|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();a=f+8|0;if((c[a>>2]|0)==(b|0)){F=a;break}Ma()}while(0);c[e+12>>2]=f;c[F>>2]=e}while(0);b=w+((j|k)+p)|0;f=j+l|0}else f=l;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[w+(m+4)>>2]=f|1;c[w+(f+m)>>2]=f;b=f>>>3;if(f>>>0<256){a=b<<1;e=9896+(a<<2)|0;d=c[2464]|0;b=1<>2]|0;if(a>>>0>=(c[2468]|0)>>>0){K=b;L=a;break}Ma()}while(0);c[K>>2]=o;c[L+12>>2]=o;c[w+(m+8)>>2]=L;c[w+(m+12)>>2]=e;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}K=(b+1048320|0)>>>16&8;L=b<>>16&4;L=L<>>16&2;e=14-(J|K|e)+(L<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=10160+(e<<2)|0;c[w+(m+28)>>2]=e;c[w+(m+20)>>2]=0;c[w+(m+16)>>2]=0;a=c[2465]|0;d=1<>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break}b=c[b>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(f|0)){M=d;break j}else{e=e<<1;b=d}}if(a>>>0<(c[2468]|0)>>>0)Ma();else{c[a>>2]=o;c[w+(m+24)>>2]=b;c[w+(m+12)>>2]=o;c[w+(m+8)>>2]=o;break h}}else M=b;while(0);b=M+8|0;a=c[b>>2]|0;L=c[2468]|0;if(a>>>0>=L>>>0&M>>>0>=L>>>0){c[a+12>>2]=o;c[b>>2]=o;c[w+(m+8)>>2]=a;c[w+(m+12)>>2]=M;c[w+(m+24)>>2]=0;break}else Ma()}else{M=(c[2467]|0)+l|0;c[2467]=M;c[2470]=o;c[w+(m+4)>>2]=M|1}while(0);M=w+(n|8)|0;return M|0}else d=10304;while(1){a=c[d>>2]|0;if(a>>>0<=h>>>0?(b=c[d+4>>2]|0,e=a+b|0,e>>>0>h>>>0):0)break;d=c[d+8>>2]|0}f=a+(b+-39)|0;a=a+(b+-47+((f&7|0)==0?0:0-f&7))|0;f=h+16|0;a=a>>>0>>0?h:a;b=a+8|0;d=w+8|0;d=(d&7|0)==0?0:0-d&7;M=p+-40-d|0;c[2470]=w+d;c[2467]=M;c[w+(d+4)>>2]=M|1;c[w+(p+-36)>>2]=40;c[2471]=c[2586];d=a+4|0;c[d>>2]=27;c[b>>2]=c[2576];c[b+4>>2]=c[2577];c[b+8>>2]=c[2578];c[b+12>>2]=c[2579];c[2576]=w;c[2577]=p;c[2579]=0;c[2578]=b;b=a+28|0;c[b>>2]=7;if((a+32|0)>>>0>>0)do{M=b;b=b+4|0;c[b>>2]=7}while((M+8|0)>>>0>>0);if((a|0)!=(h|0)){g=a-h|0;c[d>>2]=c[d>>2]&-2;c[h+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){a=b<<1;e=9896+(a<<2)|0;d=c[2464]|0;b=1<>2]|0;if(a>>>0<(c[2468]|0)>>>0)Ma();else{G=b;H=a}}else{c[2464]=d|b;G=9896+(a+2<<2)|0;H=e}c[G>>2]=h;c[H+12>>2]=h;c[h+8>>2]=H;c[h+12>>2]=e;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{L=(b+1048320|0)>>>16&8;M=b<>>16&4;M=M<>>16&2;e=14-(K|L|e)+(M<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=10160+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[f>>2]=0;b=c[2465]|0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[d>>2]|0;k:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){a=b+16+(e>>>31<<2)|0;d=c[a>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){I=d;break k}else{e=e<<1;b=d}}if(a>>>0<(c[2468]|0)>>>0)Ma();else{c[a>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else I=b;while(0);b=I+8|0;a=c[b>>2]|0;M=c[2468]|0;if(a>>>0>=M>>>0&I>>>0>=M>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=I;c[h+24>>2]=0;break}else Ma()}}else{M=c[2468]|0;if((M|0)==0|w>>>0>>0)c[2468]=w;c[2576]=w;c[2577]=p;c[2579]=0;c[2473]=c[2582];c[2472]=-1;b=0;do{M=b<<1;L=9896+(M<<2)|0;c[9896+(M+3<<2)>>2]=L;c[9896+(M+2<<2)>>2]=L;b=b+1|0}while((b|0)!=32);M=w+8|0;M=(M&7|0)==0?0:0-M&7;L=p+-40-M|0;c[2470]=w+M;c[2467]=L;c[w+(M+4)>>2]=L|1;c[w+(p+-36)>>2]=40;c[2471]=c[2586]}while(0);b=c[2467]|0;if(b>>>0>q>>>0){L=b-q|0;c[2467]=L;M=c[2470]|0;c[2470]=M+q;c[M+(q+4)>>2]=L|1;c[M+4>>2]=q|3;M=M+8|0;return M|0}}c[($P()|0)>>2]=12;M=0;return M|0} +function RI(b,e){b=b|0;e=e|0;var 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;t=i;i=i+64|0;j=t+52|0;u=t+48|0;k=t+44|0;r=t+40|0;s=t+36|0;q=t+32|0;g=t+28|0;p=t+24|0;h=t+20|0;f=t+16|0;n=t+12|0;l=t+8|0;m=t+4|0;o=t;c[u>>2]=b;c[k>>2]=e;c[s>>2]=0;c[r>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[k>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[k>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else AF(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?(c[f>>2]&1|0)!=0:0){u=(c[r>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[r>>2]|0)+60>>0]=0}while(0);c[p>>2]=(c[(c[k>>2]|0)+12>>2]|0)+8;f=c[(c[k>>2]|0)+12>>2]|0;u=c[(c[k>>2]|0)+12>>2]|0;c[h>>2]=f+(GF(u,((u|0)<0)<<31>>31)|0);if(c[(c[r>>2]|0)+4>>2]|0){b=c[r>>2]|0;if(c[(c[r>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0)|0)>(c[(c[r>>2]|0)+4>>2]|0);else b=0;c[g>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[r>>2]|0)+4>>2]|0))if((c[(c[r>>2]|0)+36+8>>2]|0)>(c[c[r>>2]>>2]|0))b=(Nu()|0)!=0;else b=0;else b=1;c[g>>2]=b&1}if(c[g>>2]|0){c[s>>2]=MK(c[r>>2]|0)|0;c[(c[r>>2]|0)+36+8>>2]=0;c[(c[r>>2]|0)+48>>2]=0}}u=(c[r>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[h>>2]|0);if((c[h>>2]|0)>(c[(c[r>>2]|0)+8>>2]|0))c[(c[r>>2]|0)+8>>2]=c[h>>2];do if(c[(c[r>>2]|0)+36+4>>2]|0){c[n>>2]=(c[(c[r>>2]|0)+48>>2]|0)+(c[p>>2]|0);do if((c[n>>2]|0)>(c[(c[r>>2]|0)+52>>2]|0)){c[m>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0);c[o>>2]=c[(c[r>>2]|0)+52>>2]<<1;while(1){b=c[o>>2]|0;if((c[o>>2]|0)>=(c[n>>2]|0))break;c[o>>2]=b<<1}if((b|0)>(c[(c[r>>2]|0)+4>>2]|0))c[o>>2]=c[(c[r>>2]|0)+4>>2];if((c[o>>2]|0)<(c[n>>2]|0))c[o>>2]=c[n>>2];u=c[o>>2]|0;c[l>>2]=cg(c[(c[r>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[r>>2]|0)+36>>2]=(c[l>>2]|0)+(c[m>>2]|0);c[(c[r>>2]|0)+36+4>>2]=c[l>>2];c[(c[r>>2]|0)+52>>2]=c[o>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);c[q>>2]=(c[(c[r>>2]|0)+36+4>>2]|0)+(c[(c[r>>2]|0)+48>>2]|0);u=(c[r>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[p>>2]|0)+7&-8);if(c[(c[r>>2]|0)+36>>2]|0)c[(c[q>>2]|0)+4>>2]=(c[(c[r>>2]|0)+36>>2]|0)-(c[(c[r>>2]|0)+36+4>>2]|0)}else{u=c[p>>2]|0;c[q>>2]=$f(u,((u|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[(c[q>>2]|0)+4>>2]=c[(c[r>>2]|0)+36>>2];break}c[j>>2]=7;u=c[j>>2]|0;i=t;return u|0}while(0);rR((c[q>>2]|0)+8|0,c[(c[k>>2]|0)+16>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;c[c[q>>2]>>2]=c[(c[k>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=c[q>>2];c[j>>2]=c[s>>2];u=c[j>>2]|0;i=t;return u|0}function SI(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+128|0;g=o+116|0;r=o+112|0;q=o+108|0;h=o+104|0;p=o+80|0;f=o+100|0;l=o+96|0;m=o+92|0;j=o+88|0;k=o+40|0;n=o;c[r>>2]=a;c[q>>2]=b;c[h>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;yH(c[q>>2]|0,p)|0;HF(k,c[r>>2]|0,0);c[f>>2]=nI(c[q>>2]|0,0,c[p>>2]|0,1,k)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];r=c[g>>2]|0;i=o;return r|0}a=c[k+16>>2]|0;if((d[c[k+16>>2]>>0]|0|0)<128)c[l>>2]=d[a>>0];else AF(a,l)|0;if((c[l>>2]|0)>>>0>=3?(c[l>>2]|0)<=(c[k+12>>2]|0):0){a=(c[k+16>>2]|0)+((c[l>>2]|0)-1)|0;if((d[(c[k+16>>2]|0)+((c[l>>2]|0)-1)>>0]|0|0)<128)c[m>>2]=d[a>>0];else AF(a,m)|0;if(!((c[m>>2]|0)>>>0<1|(c[m>>2]|0)>>>0>9|(c[m>>2]|0)==7)?(c[j>>2]=d[35569+(c[m>>2]|0)>>0],(c[k+12>>2]|0)>>>0>=((c[l>>2]|0)+(c[j>>2]|0)|0)>>>0):0){CF((c[k+16>>2]|0)+((c[k+12>>2]|0)-(c[j>>2]|0))|0,c[m>>2]|0,n)|0;p=n;q=c[p+4>>2]|0;r=c[h>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Wg(k);c[g>>2]=0;r=c[g>>2]|0;i=o;return r|0}}Wg(k);c[g>>2]=Oj(72372)|0;r=c[g>>2]|0;i=o;return r|0}function TI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+80|0;f=o+72|0;g=o+68|0;p=o+64|0;h=o+60|0;j=o+56|0;l=o+40|0;n=o+52|0;m=o+48|0;k=o;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[j>>2]=e;b=l;c[b>>2]=0;c[b+4>>2]=0;c[m>>2]=c[(c[p>>2]|0)+16>>2];yH(c[m>>2]|0,l)|0;b=l;a=c[b+4>>2]|0;e=l;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[j>>2]>>2]=0;c[f>>2]=Oj(72406)|0;p=c[f>>2]|0;i=o;return p|0}HF(k,c[g>>2]|0,0);c[n>>2]=nI(c[m>>2]|0,0,c[l>>2]|0,1,k)|0;if(c[n>>2]|0){c[f>>2]=c[n>>2];p=c[f>>2]|0;i=o;return p|0}else{p=yF(c[k+12>>2]|0,c[k+16>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=p;Wg(k);c[f>>2]=0;p=c[f>>2]|0;i=o;return p|0}return 0}function UI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=LK(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function VI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;p=n+32|0;o=n+28|0;f=n+24|0;g=n+20|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;l=n;c[p>>2]=a;c[o>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+8;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[m>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[m>>2]|0)+28>>2]|0)==(c[f>>2]|0))c[(c[m>>2]|0)+28>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+24;c[j>>2]=c[(c[k>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;c[l>>2]=c[(c[j>>2]|0)+8>>2];if((c[(c[l>>2]|0)+44>>2]|0)==(c[f>>2]|0))c[(c[l>>2]|0)+44>>2]=c[g>>2];c[j>>2]=c[c[j>>2]>>2]}i=n;return}function WI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[e>>2]|0)+4>>2];mg(c[e>>2]|0);c[j>>2]=tH(c[h>>2]|0,c[f>>2]|0,0)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}AK(c[e>>2]|0,0,0,1);c[j>>2]=BK(c[h>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function XI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;uK(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[j>>2]=(c[g>>2]|0)+64+((c[h>>2]|0)*72|0);vK(c[f>>2]|0,c[j>>2]|0);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[(c[g>>2]|0)+36+4>>2]|0))wK(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Tf(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;i=k;return}function YI(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=WI(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;i=b;return a|0}function ZI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+32|0;f=e+16|0;k=e+12|0;h=e+8|0;g=e+4|0;j=e;c[f>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[g>>2]=Sj((c[(c[j>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Rf(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;i=e;return}function _I(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i+32|0;e=h+20|0;l=h+16|0;j=h+12|0;g=h+8|0;k=h+4|0;f=h;c[e>>2]=a;c[l>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[l>>2]<<4)+12>>2]|0)+24;c[g>>2]=Sj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}a=c[g>>2]|0;if((c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[f>>2]|0)b=(c[(c[f>>2]|0)+20>>2]|0)!=(c[g>>2]|0);else b=0;a=c[f>>2]|0;if(!b)break;c[f>>2]=c[a+20>>2]}if((a|0)!=0?(c[(c[f>>2]|0)+20>>2]|0)==(c[g>>2]|0):0)c[(c[f>>2]|0)+20>>2]=c[(c[g>>2]|0)+20>>2]}else c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];bH(c[e>>2]|0,c[g>>2]|0);l=c[e>>2]|0;l=l+24|0;k=c[l>>2]|0;k=k|2;c[l>>2]=k;i=h;return}function $I(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;f=j+24|0;m=j+20|0;k=j+16|0;g=j+12|0;l=j+8|0;e=j+4|0;h=j;c[f>>2]=a;c[m>>2]=b;c[k>>2]=d;c[l>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Sj(c[l>>2]|0,c[k>>2]|0,0)|0;if(!(c[g>>2]|0)){i=j;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=HB(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Qf(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;i=j;return}function aJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=i;i=i+240|0;s=t+16|0;r=t+8|0;v=t+124|0;j=t+120|0;k=t+116|0;u=t+112|0;l=t+108|0;m=t+104|0;p=t+32|0;o=t+24|0;q=t+20|0;n=t;c[v>>2]=b;c[j>>2]=e;c[k>>2]=f;c[u>>2]=g;c[l>>2]=h;c[o>>2]=c[(c[v>>2]|0)+4>>2];c[q>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2];mg(c[v>>2]|0);c[p>>2]=c[o>>2];c[p+4>>2]=c[c[o>>2]>>2];c[p+12>>2]=gF(c[p>>2]|0)|0;c[p+16>>2]=c[u>>2];c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+8>>2]=0;c[p+68>>2]=0;dg(p+40|0,0,t+128|0,100,1e9);a[p+40+25>>0]=1;a:do if(c[p+12>>2]|0){c[p+8>>2]=kg((((c[p+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[p+8>>2]|0)){c[p+24>>2]=1;break}c[p+68>>2]=Wi(c[(c[o>>2]|0)+32>>2]|0)|0;if(!(c[p+68>>2]|0)){c[p+24>>2]=1;break}c[m>>2]=(((c[381]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0)lK(p,c[m>>2]|0);c[p+28>>2]=42202;v=er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;mK(p,1,v,er((c[(c[(c[o>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[p+28>>2]=0;v=(c[(c[o>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-268435457;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[k>>2]|0)?(c[p+16>>2]|0)!=0:0))break;if(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0){if((d[(c[o>>2]|0)+17>>0]|0)!=0?(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>1:0)nK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,1,0);oK(p,c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[m>>2]=(c[m>>2]|0)+1}c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]=c[q>>2];c[m>>2]=1;while(1){if(!((c[m>>2]|0)>>>0<=(c[p+12>>2]|0)>>>0?(c[p+16>>2]|0)!=0:0))break a;do if(!(pK(p,c[m>>2]|0)|0)){v=sF(c[o>>2]|0,c[m>>2]|0)|0;if((v|0)==(c[m>>2]|0)?(a[(c[o>>2]|0)+17>>0]|0)!=0:0)break;c[r>>2]=c[m>>2];qK(p,42218,r)}while(0);if(((pK(p,c[m>>2]|0)|0)!=0?(v=sF(c[o>>2]|0,c[m>>2]|0)|0,(v|0)==(c[m>>2]|0)):0)?(d[(c[o>>2]|0)+17>>0]|0)!=0:0){c[s>>2]=c[m>>2];qK(p,42240,s)}c[m>>2]=(c[m>>2]|0)+1}}while(0);Zi(c[p+68>>2]|0);Kd(c[p+8>>2]|0);if(c[p+24>>2]|0){lA(p+40|0);v=p+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[l>>2]>>2]=c[p+20>>2];if(c[p+20>>2]|0){v=p+40|0;v=fg(v)|0;i=t;return v|0}lA(p+40|0);v=p+40|0;v=fg(v)|0;i=t;return v|0}function bJ(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Wg(c[e>>2]|0);d=Lw(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;i=g;return}else{d=fu(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;d=kK(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=d;b[(c[e>>2]|0)+8>>1]=32;i=g;return}}function cJ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l;j=l+12|0;k=l+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[j>>2]=hK(c[g>>2]|0)|0;if(!(c[j>>2]|0)){i=l;return}d=h;f=c[d+4>>2]|0;a=c[j>>2]|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;c[(c[j>>2]|0)+8>>2]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];if(c[k>>2]|0){if(((e[(c[g>>2]|0)+26>>1]|0)&1|0)!=0?(h,d=c[h+4>>2]|0,a=c[k>>2]|0,f=c[a+4>>2]|0,(d|0)<(f|0)|((d|0)==(f|0)?(c[h>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)):0){a=(c[g>>2]|0)+26|0;b[a>>1]=(e[a>>1]|0)&-2}c[(c[k>>2]|0)+8>>2]=c[j>>2]}else c[(c[g>>2]|0)+8>>2]=c[j>>2];c[(c[g>>2]|0)+12>>2]=c[j>>2];i=l;return}function dJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((e[(c[f>>2]|0)+26>>1]|0)&2))jK(c[f>>2]|0);if(!(c[(c[f>>2]|0)+8>>2]|0)){c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}j=c[(c[f>>2]|0)+8>>2]|0;a=c[j+4>>2]|0;b=c[g>>2]|0;c[b>>2]=c[j>>2];c[b+4>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[f>>2]|0)+8>>2]|0))MF(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=h;return j|0}function eJ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;h=s+32|0;j=s+28|0;p=s;q=s+24|0;r=s+20|0;m=s+16|0;k=s+12|0;l=s+8|0;c[h>>2]=a;c[j>>2]=d;a=p;c[a>>2]=f;c[a+4>>2]=g;if((c[j>>2]|0)!=(c[(c[h>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[h>>2]|0)+8>>2];if(c[q>>2]|0){c[m>>2]=(c[h>>2]|0)+20;if(!((e[(c[h>>2]|0)+26>>1]|0)&1))c[q>>2]=dK(c[q>>2]|0)|0;c[r>>2]=c[(c[h>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}fK(c[(c[r>>2]|0)+12>>2]|0,k,l);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=gK(c[k>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=eK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=hK(c[h>>2]|0)|0,c[r>>2]=n,c[c[m>>2]>>2]=n,(c[r>>2]|0)!=0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=eK(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;n=(c[h>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[h>>2]|0)+28>>2]=c[j>>2]}c[r>>2]=c[(c[h>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;f=c[q>>2]|0;if((a|0)<(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[f+8>>2];continue}m=f;a=c[m+4>>2]|0;n=p;l=c[n+4>>2]|0;if(!((a|0)>(l|0)|((a|0)==(l|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;i=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function fJ(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}if((c[c[(c[e>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[e>>2]|0)+80|0,e=c[a+4>>2]|0,(e|0)>0|(e|0)==0&(c[a>>2]|0)>>>0>0):0){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}c[b>>2]=1;a=c[b>>2]|0;i=f;return a|0}function gJ(b){b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;i=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)e=(c[(c[f>>2]|0)+52>>2]|0)!=0;else e=0;else e=1;c[g>>2]=e&1;g=c[g>>2]|0;i=h;return g|0}function hJ(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=0;if(!(c[(c[b>>2]|0)+216>>2]|0)){c[e>>2]=0;c[f>>2]=Bt(c[b>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=Tr(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+220>>2]|0,0,e)|0;if((c[f>>2]|0)==0&(c[e>>2]|0)!=0)c[f>>2]=_J(c[b>>2]|0)|0}if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}if(!(c[(c[b>>2]|0)+216>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=$J(c[b>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=hr(c[(c[b>>2]|0)+216>>2]|0,d[(c[b>>2]|0)+10>>0]|0,c[(c[b>>2]|0)+160>>2]|0,c[(c[b>>2]|0)+208>>2]|0)|0;c[(c[b>>2]|0)+216>>2]=0;_i(c[b>>2]|0);f=c[f>>2]|0;i=g;return f|0}function iJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+12|0;g=l+8|0;h=l+16|0;j=l+4|0;k=l;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if((a[(c[f>>2]|0)+16>>0]|0)!=0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){mr(c[(c[f>>2]|0)+68>>2]|0)|0;if((d[(c[f>>2]|0)+18>>0]|0)>=2){vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[j>>2]=0;c[k>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[k>>2]|0))c[j>>2]=TJ(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[j>>2]=Bt(c[f>>2]|0,2)|0;if(!(c[j>>2]|0))vr(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[j>>2]|0)==0&(c[k>>2]|0)==1){Br(c[f>>2]|0,1)|0;break}if(c[k>>2]|0)break;ir(c[f>>2]|0);break}if((c[g>>2]|0)==2)mr(c[(c[f>>2]|0)+68>>2]|0)|0}while(0);i=l;return d[(c[f>>2]|0)+5>>0]|0}function jJ(b,e){b=b|0;e=e|0;var 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,x=0;x=i;i=i+80|0;k=x+64|0;j=x+60|0;l=x+56|0;s=x+52|0;q=x+48|0;r=x+44|0;h=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;w=x+24|0;p=x+20|0;f=x+16|0;o=x+12|0;g=x+8|0;n=x+4|0;m=x;c[j>>2]=b;c[l>>2]=e;c[s>>2]=0;c[h>>2]=0;c[p>>2]=0;if(!(a[(c[l>>2]|0)+67>>0]|0)){Aj(c[j>>2]|0,c[l>>2]|0,40995);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}if((c[(c[l>>2]|0)+152>>2]|0)>1){Aj(c[j>>2]|0,c[l>>2]|0,41035);c[k>>2]=1;w=c[k>>2]|0;i=x;return w|0}c[t>>2]=c[(c[l>>2]|0)+24>>2];c[u>>2]=c[(c[l>>2]|0)+84>>2];c[v>>2]=c[(c[l>>2]|0)+88>>2];c[w>>2]=c[(c[l>>2]|0)+180>>2];b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]|2107392;b=(c[l>>2]|0)+24|0;c[b>>2]=c[b>>2]&-655361;c[(c[l>>2]|0)+180>>2]=0;c[q>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+4>>2];c[f>>2]=LJ(Pf(c[q>>2]|0)|0)|0;c[g>>2]=c[(c[l>>2]|0)+20>>2];if(Xq(c[l>>2]|0)|0)c[h>>2]=41078;else c[h>>2]=41110;c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;if((c[(c[l>>2]|0)+20>>2]|0)>(c[g>>2]|0))c[p>>2]=(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4);a:do if((((c[s>>2]|0)==0?(c[r>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+((c[(c[l>>2]|0)+20>>2]|0)-1<<4)+4>>2],Ej(c[r>>2]|0)|0,c[o>>2]=NJ(c[q>>2]|0)|0,c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,41134)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,41167)|0,(c[s>>2]|0)==0):0)?(c[s>>2]=og(c[q>>2]|0,2)|0,(c[s>>2]|0)==0):0){if((sg(Pf(c[q>>2]|0)|0)|0)==5)c[(c[l>>2]|0)+76>>2]=0;b=c[r>>2]|0;h=rg(c[q>>2]|0)|0;do if(!(Ai(b,h,c[o>>2]|0,0)|0)){if((c[f>>2]|0)==0?(Ai(c[r>>2]|0,c[(c[l>>2]|0)+76>>2]|0,c[o>>2]|0,0)|0)!=0:0)break;if(!(d[(c[l>>2]|0)+69>>0]|0)){e=c[r>>2]|0;if((a[(c[l>>2]|0)+72>>0]|0)>=0)f=a[(c[l>>2]|0)+72>>0]|0;else f=ZB(c[q>>2]|0)|0;$B(e,f)|0;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41174)|0;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41322)|0;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41426)|0;if(c[s>>2]|0)break a;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]|134217728;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41544)|0;h=(c[l>>2]|0)+24|0;c[h>>2]=c[h>>2]&-134217729;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41740)|0;if(c[s>>2]|0)break a;c[s>>2]=OJ(c[l>>2]|0,c[j>>2]|0,41853)|0;if(c[s>>2]|0)break a;c[s>>2]=MJ(c[l>>2]|0,c[j>>2]|0,42008)|0;if(c[s>>2]|0)break a;c[m>>2]=0;while(1){e=c[q>>2]|0;if((c[m>>2]|0)>=10)break;pg(e,d[42192+(c[m>>2]|0)>>0]|0,n);c[s>>2]=Ag(c[r>>2]|0,d[42192+(c[m>>2]|0)>>0]|0,(c[n>>2]|0)+(d[42192+((c[m>>2]|0)+1)>>0]|0)|0)|0;if(c[s>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+2}c[s>>2]=PJ(e,c[r>>2]|0)|0;if(c[s>>2]|0)break a;c[s>>2]=Ej(c[r>>2]|0)|0;if(c[s>>2]|0)break a;n=c[q>>2]|0;$B(n,ZB(c[r>>2]|0)|0)|0;n=c[q>>2]|0;r=rg(c[r>>2]|0)|0;c[s>>2]=Ai(n,r,c[o>>2]|0,1)|0;break a}}while(0);c[s>>2]=7}while(0);c[(c[l>>2]|0)+24>>2]=c[t>>2];c[(c[l>>2]|0)+84>>2]=c[u>>2];c[(c[l>>2]|0)+88>>2]=c[v>>2];c[(c[l>>2]|0)+180>>2]=c[w>>2];Ai(c[q>>2]|0,-1,-1,1)|0;a[(c[l>>2]|0)+67>>0]=1;if(c[p>>2]|0){rB(c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[p>>2]|0)+4>>2]=0;c[(c[p>>2]|0)+12>>2]=0}Bg(c[l>>2]|0);c[k>>2]=c[s>>2];w=c[k>>2]|0;i=x;return w|0}function kJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+20|0;h=j+16|0;g=j+12|0;f=j+8|0;e=j+4|0;d=j;c[k>>2]=b;c[g>>2]=c[(c[k>>2]|0)+4>>2];mg(c[k>>2]|0);if(!(a[(c[g>>2]|0)+17>>0]|0)){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[f>>2]=gF(c[g>>2]|0)|0;c[e>>2]=er((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[d>>2]=yJ(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[d>>2]|0)>>>0){c[h>>2]=Oj(59412)|0;k=c[h>>2]|0;i=j;return k|0}if((c[e>>2]|0)>>>0<=0){c[h>>2]=101;k=c[h>>2]|0;i=j;return k|0}c[h>>2]=tH(c[g>>2]|0,0,0)|0;if(!(c[h>>2]|0)){zJ(c[g>>2]|0);c[h>>2]=AJ(c[g>>2]|0,c[d>>2]|0,c[f>>2]|0,0)|0}if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}c[h>>2]=Fg(c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0)|0;at((c[(c[(c[g>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[g>>2]|0)+44>>2]|0);k=c[h>>2]|0;i=j;return k|0}function lJ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;g=m+8|0;h=m+4|0;j=m+13|0;l=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[l>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){l=c[l>>2]|0;i=m;return l|0}a[k>>0]=1+(d[j>>0]|0);mg(c[g>>2]|0);c[l>>2]=sH(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[l>>2]=xJ(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;l=c[l>>2]|0;i=m;return l|0}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+24|0;e=m+20|0;f=m+16|0;k=m+12|0;j=m+8|0;g=m+4|0;h=m;c[e>>2]=a;c[f>>2]=b;c[k>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;l=c[d>>2]|0;i=m;return l|0}if(!(c[f>>2]|0)){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[j>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[j>>2]|0)+56>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[(c[e>>2]|0)+340>>2]|0)+(c[g>>2]<<2)>>2]|0)==(c[f>>2]|0)){l=10;break}c[g>>2]=(c[g>>2]|0)+1}if((l|0)==10){c[d>>2]=0;l=c[d>>2]|0;i=m;return l|0}c[k>>2]=vJ(c[e>>2]|0)|0;if(((c[k>>2]|0)==0?(c[k>>2]=Tb[c[(c[j>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[k>>2]|0)==0):0)?(c[h>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),wJ(c[e>>2]|0,c[f>>2]|0),(c[h>>2]|0)!=0):0)c[k>>2]=tI(c[e>>2]|0,0,(c[h>>2]|0)-1|0)|0}c[d>>2]=c[k>>2];l=c[d>>2]|0;i=m;return l|0}function nJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+48|0;l=n;f=n+32|0;o=n+28|0;p=n+24|0;g=n+20|0;k=n+16|0;j=n+12|0;h=n+8|0;m=n+4|0;c[f>>2]=a;c[o>>2]=b;c[p>>2]=d;c[g>>2]=e;c[k>>2]=0;c[j>>2]=ri(c[f>>2]|0,c[p>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[m>>2]=c[c[(c[j>>2]|0)+52>>2]>>2];c[h>>2]=qj((c[f>>2]|0)+320|0,c[m>>2]|0)|0;if(((c[h>>2]|0)!=0?(c[(c[c[h>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[h>>2]>>2]|0)+20>>2]|0)!=0:0)c[k>>2]=uz(c[f>>2]|0,c[j>>2]|0,c[h>>2]|0,c[(c[c[h>>2]>>2]|0)+4>>2]|0,c[g>>2]|0)|0;else{p=c[f>>2]|0;c[l>>2]=c[m>>2];p=Dh(p,31219,l)|0;c[c[g>>2]>>2]=p;c[k>>2]=1}if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}if(!(Gx(c[f>>2]|0,c[j>>2]|0)|0)){p=c[k>>2]|0;i=n;return p|0}c[k>>2]=vJ(c[f>>2]|0)|0;if(c[k>>2]|0){p=c[k>>2]|0;i=n;return p|0}p=c[f>>2]|0;wJ(p,Gx(c[f>>2]|0,c[j>>2]|0)|0);p=c[k>>2]|0;i=n;return p|0}function oJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;m=l+20|0;n=l+16|0;j=l+12|0;h=l+8|0;g=l+4|0;k=l;c[f>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=0;c[h>>2]=ri(c[f>>2]|0,c[n>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if((c[h>>2]|0)!=0?(c[(c[h>>2]|0)+56>>2]|0)!=0:0){c[g>>2]=c[(c[h>>2]|0)+56>>2];while(1){if(!(c[g>>2]|0)){a=8;break}if((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[g>>2]=c[(c[g>>2]|0)+24>>2]}if((a|0)==6){c[e>>2]=6;n=c[e>>2]|0;i=l;return n|0}else if((a|0)==8){c[g>>2]=JH(c[f>>2]|0,c[h>>2]|0)|0;c[k>>2]=c[(c[c[(c[g>>2]|0)+4>>2]>>2]|0)+20>>2];c[j>>2]=Tb[c[k>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;if(c[j>>2]|0)break;c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+56>>2]=0;nu(c[g>>2]|0);break}}while(0);c[e>>2]=c[j>>2];n=c[e>>2]|0;i=l;return n|0}function pJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;mg(c[g>>2]|0);c[d>>2]=uJ(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function qJ(f,g){f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+256|0;z=D+72|0;B=D+64|0;A=D+56|0;y=D+48|0;x=D+40|0;k=D+148|0;l=D+144|0;m=D+140|0;p=D+136|0;u=D+132|0;q=D+128|0;t=D+124|0;o=D+120|0;v=D+116|0;C=D+88|0;j=D+84|0;r=D+80|0;n=D+152|0;w=D;s=D+76|0;c[k>>2]=f;c[l>>2]=g;c[p>>2]=0;c[u>>2]=1;c[m>>2]=c[c[k>>2]>>2];dg(C,c[m>>2]|0,D+156|0,100,c[(c[m>>2]|0)+92>>2]|0);if((c[(c[m>>2]|0)+164>>2]|0)>1){while(1){if(!(a[c[l>>2]>>0]|0))break;c[j>>2]=c[l>>2];do{B=c[l>>2]|0;c[l>>2]=B+1;if((a[B>>0]|0)==10)break}while((a[c[l>>2]>>0]|0)!=0);gA(C,40961,3);gA(C,c[j>>2]|0,(c[l>>2]|0)-(c[j>>2]|0)|0)}C=fg(C)|0;i=D;return C|0}if(!(b[(c[k>>2]|0)+68>>1]|0)){B=c[l>>2]|0;gA(C,B,Jf(c[l>>2]|0)|0);C=fg(C)|0;i=D;return C|0}while(1){if(!(a[c[l>>2]>>0]|0)){f=33;break}c[q>>2]=tJ(c[l>>2]|0,t)|0;gA(C,c[l>>2]|0,c[q>>2]|0);c[l>>2]=(c[l>>2]|0)+(c[q>>2]|0);if(!(c[t>>2]|0)){f=33;break}do if((a[c[l>>2]>>0]|0)==63)if((c[t>>2]|0)>1){Oi((c[l>>2]|0)+1|0,p)|0;break}else{c[p>>2]=c[u>>2];break}else c[p>>2]=xh(c[k>>2]|0,c[l>>2]|0,c[t>>2]|0)|0;while(0);c[l>>2]=(c[l>>2]|0)+(c[t>>2]|0);c[u>>2]=(c[p>>2]|0)+1;c[v>>2]=(c[(c[k>>2]|0)+60>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);if(e[(c[v>>2]|0)+8>>1]&1){gA(C,40149,4);continue}g=c[v>>2]|0;if(e[(c[v>>2]|0)+8>>1]&4){f=g;g=c[f+4>>2]|0;j=x;c[j>>2]=c[f>>2];c[j+4>>2]=g;fA(C,28862,x);continue}f=c[v>>2]|0;if(e[g+8>>1]&8){h[y>>3]=+h[f>>3];fA(C,28867,y);continue}if(e[f+8>>1]&2){a[n>>0]=a[(c[m>>2]|0)+66>>0]|0;if((d[n>>0]|0)!=1){f=w;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[w+32>>2]=c[m>>2];fh(w,c[(c[v>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+12>>2]|0,a[n>>0]|0,0)|0;du(w,1)|0;c[v>>2]=w}c[r>>2]=c[(c[v>>2]|0)+12>>2];j=c[(c[v>>2]|0)+16>>2]|0;c[A>>2]=c[r>>2];c[A+4>>2]=j;fA(C,40965,A);if((d[n>>0]|0)==1)continue;Wg(w);continue}if(e[(c[v>>2]|0)+8>>1]&16384){c[B>>2]=c[c[v>>2]>>2];fA(C,40972,B);continue}gA(C,40985,2);c[s>>2]=c[(c[v>>2]|0)+12>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[s>>2]|0))break;c[z>>2]=a[(c[(c[v>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]&255;fA(C,40988,z);c[o>>2]=(c[o>>2]|0)+1}gA(C,40993,1)}if((f|0)==33){C=fg(C)|0;i=D;return C|0}return 0}function rJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){i=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){i=f;return}b=sJ(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=b;i=f;return}function sJ(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){a=0;i=d;return a|0}a=Ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;i=d;return a|0}function tJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;g=l;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){k=6;break}c[g>>2]=Wu(c[e>>2]|0,j)|0;d=c[g>>2]|0;if((c[j>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+d;c[e>>2]=(c[e>>2]|0)+(c[g>>2]|0)}if((k|0)==6){k=c[h>>2]|0;i=l;return k|0}c[c[f>>2]>>2]=d;k=c[h>>2]|0;i=l;return k|0}function uJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];i=f;return c[(c[d>>2]|0)+164>>2]|0}function vJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Kw(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;i=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;i=g;return f|0}function wJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[e>>2]|0;g=(c[f>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[(c[(c[f>>2]|0)+340>>2]|0)+(b<<2)>>2]=a;EH(c[e>>2]|0);i=d;return}function xJ(b,e,f){b=b|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;p=i;i=i+32|0;g=p+20|0;h=p+16|0;j=p+12|0;k=p+24|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;c[m>>2]=c[(c[l>>2]|0)+72>>2];while(1){if(!(c[m>>2]|0))break;if((c[(c[m>>2]|0)+4>>2]|0)==(c[j>>2]|0)?(c[c[m>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((o|0)==5)c[n>>2]=c[m>>2];do if(!(c[n>>2]|0)){c[n>>2]=kg(16,0)|0;if(c[n>>2]|0){c[(c[n>>2]|0)+4>>2]=c[j>>2];c[c[n>>2]>>2]=c[h>>2];c[(c[n>>2]|0)+12>>2]=c[(c[l>>2]|0)+72>>2];c[(c[l>>2]|0)+72>>2]=c[n>>2];break}c[g>>2]=7;o=c[g>>2]|0;i=p;return o|0}while(0);if((d[k>>0]|0|0)>(d[(c[n>>2]|0)+8>>0]|0|0))a[(c[n>>2]|0)+8>>0]=a[k>>0]|0;c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}function yJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+32|0;e=g+20|0;h=g+16|0;k=g+12|0;l=g+8|0;j=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[k>>2]=d;c[l>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;a=(c[k>>2]|0)-(c[h>>2]|0)|0;a=a+(sF(c[e>>2]|0,c[h>>2]|0)|0)|0;c[j>>2]=((a+(c[l>>2]|0)|0)>>>0)/((c[l>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[k>>2]|0)-(c[j>>2]|0);if((c[h>>2]|0)>>>0>((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){l=sF(c[e>>2]|0,c[f>>2]|0)|0;if((l|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[381]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return d|0}function zJ(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}i=f;return}function AJ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0;z=i;i=i+64|0;h=z+52|0;j=z+48|0;k=z+44|0;l=z+40|0;m=z+36|0;t=z+32|0;x=z+28|0;o=z+57|0;s=z+24|0;p=z+20|0;u=z+16|0;q=z+12|0;w=z+8|0;n=z+56|0;r=z+4|0;v=z;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;b=sF(c[j>>2]|0,c[l>>2]|0)|0;do if((b|0)!=(c[l>>2]|0)?(c[l>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[t>>2]=er((c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[t>>2]|0)){c[h>>2]=101;y=c[h>>2]|0;i=z;return y|0}c[x>>2]=tF(c[j>>2]|0,c[l>>2]|0,o,s)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==1){c[h>>2]=Oj(59297)|0;y=c[h>>2]|0;i=z;return y|0}if((d[o>>0]|0|0)==2){if(c[m>>2]|0)break;c[x>>2]=BJ(c[j>>2]|0,u,p,c[l>>2]|0,1)|0;if(!(c[x>>2]|0)){wB(c[u>>2]|0);break}c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}a[n>>0]=0;c[r>>2]=0;c[x>>2]=uF(c[j>>2]|0,c[l>>2]|0,w,0)|0;if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}if(!(c[m>>2]|0)){a[n>>0]=2;c[r>>2]=c[k>>2]}do{c[x>>2]=BJ(c[j>>2]|0,v,q,c[r>>2]|0,a[n>>0]|0)|0;if(c[x>>2]|0){y=19;break}wB(c[v>>2]|0);if(!(c[m>>2]|0))break}while((c[q>>2]|0)>>>0>(c[k>>2]|0)>>>0);if((y|0)==19){wB(c[w>>2]|0);c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}c[x>>2]=CJ(c[j>>2]|0,c[w>>2]|0,a[o>>0]|0,c[s>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;wB(c[w>>2]|0);if(c[x>>2]|0){c[h>>2]=c[x>>2];y=c[h>>2]|0;i=z;return y|0}}while(0);if(!(c[m>>2]|0)){while(1){c[l>>2]=(c[l>>2]|0)+-1;if((c[l>>2]|0)==((((c[381]|0)>>>0)/((c[(c[j>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=sF(c[j>>2]|0,c[l>>2]|0)|0;if((y|0)!=(c[l>>2]|0))break}a[(c[j>>2]|0)+19>>0]=1;c[(c[j>>2]|0)+44>>2]=c[l>>2]}c[h>>2]=0;y=c[h>>2]|0;i=z;return y|0}function BJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=i;i=i+112|0;H=L+96|0;m=L+92|0;n=L+88|0;o=L+84|0;p=L+80|0;q=L+102|0;F=L+76|0;K=L+72|0;B=L+68|0;z=L+64|0;J=L+60|0;I=L+56|0;A=L+52|0;y=L+48|0;G=L+101|0;C=L+44|0;k=L+100|0;E=L+40|0;w=L+36|0;s=L+32|0;x=L+28|0;r=L+24|0;v=L+20|0;u=L+16|0;t=L+12|0;D=L+8|0;j=L+4|0;l=L;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;a[q>>0]=h;c[J>>2]=0;c[I>>2]=0;c[F>>2]=c[(c[m>>2]|0)+12>>2];c[A>>2]=gF(c[m>>2]|0)|0;c[B>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+36|0)|0;if((c[B>>2]|0)>>>0>=(c[A>>2]|0)>>>0){c[H>>2]=Oj(61354)|0;K=c[H>>2]|0;i=L;return K|0}a:do if((c[B>>2]|0)>>>0>0){a[G>>0]=0;c[C>>2]=0;do if((d[q>>0]|0)==1){if((c[p>>2]|0)>>>0<=(c[A>>2]|0)>>>0){c[K>>2]=tF(c[m>>2]|0,c[p>>2]|0,k,0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{if((d[k>>0]|0)!=2)break;a[G>>0]=1;break}}}else if((d[q>>0]|0)==2)a[G>>0]=1;while(0);c[K>>2]=Fg(c[(c[F>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}at((c[(c[F>>2]|0)+56>>2]|0)+36|0,(c[B>>2]|0)-1|0);b:while(1){c[I>>2]=c[J>>2];if(c[I>>2]|0)c[y>>2]=er(c[(c[I>>2]|0)+56>>2]|0)|0;else c[y>>2]=er((c[(c[F>>2]|0)+56>>2]|0)+32|0)|0;if((c[y>>2]|0)>>>0<=(c[A>>2]|0)>>>0?(e=c[C>>2]|0,c[C>>2]=e+1,e>>>0<=(c[B>>2]|0)>>>0):0)c[K>>2]=JJ(c[m>>2]|0,c[y>>2]|0,J,0)|0;else c[K>>2]=Oj(61410)|0;if(c[K>>2]|0){j=23;break}c[z>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[z>>2]|0)!=0|(a[G>>0]|0)!=0){if((c[z>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){j=28;break b}do if(d[G>>0]|0){if((c[p>>2]|0)!=(c[y>>2]|0)){if((c[y>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[y>>2];c[c[n>>2]>>2]=c[J>>2];a[G>>0]=0;c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;do if(!(c[z>>2]|0)){if(!(c[I>>2]|0)){e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;e=c[(c[I>>2]|0)+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}else{c[w>>2]=er((c[(c[J>>2]|0)+56>>2]|0)+8|0)|0;if((c[w>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=40;break b}c[K>>2]=JJ(c[m>>2]|0,c[w>>2]|0,E,0)|0;if(c[K>>2]|0)break a;c[K>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;h=c[E>>2]|0;if(c[K>>2]|0){j=43;break b}e=c[h+56>>2]|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;at((c[(c[E>>2]|0)+56>>2]|0)+4|0,(c[z>>2]|0)-1|0);rR((c[(c[E>>2]|0)+56>>2]|0)+8|0,(c[(c[J>>2]|0)+56>>2]|0)+12|0,(c[z>>2]|0)-1<<2|0)|0;wB(c[E>>2]|0);if(!(c[I>>2]|0)){at((c[(c[F>>2]|0)+56>>2]|0)+32|0,c[w>>2]|0);break}c[K>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;at(c[(c[I>>2]|0)+56>>2]|0,c[w>>2]|0)}while(0);c[J>>2]=0;break c}while(0);if((c[z>>2]|0)>>>0>0){c[r>>2]=c[(c[J>>2]|0)+56>>2];e=(c[p>>2]|0)>>>0>0;c[s>>2]=0;d:do if(e)if((d[q>>0]|0)==2){c[v>>2]=0;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;c[x>>2]=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;j=c[v>>2]|0;if((c[x>>2]|0)>>>0<=(c[p>>2]|0)>>>0)break;c[v>>2]=j+1}c[s>>2]=j;break}else{e=er((c[r>>2]|0)+8|0)|0;c[u>>2]=Bj(e-(c[p>>2]|0)|0)|0;c[v>>2]=1;while(1){if((c[v>>2]|0)>>>0>=(c[z>>2]|0)>>>0)break d;e=er((c[r>>2]|0)+(8+(c[v>>2]<<2))|0)|0;c[t>>2]=Bj(e-(c[p>>2]|0)|0)|0;if((c[t>>2]|0)<(c[u>>2]|0)){c[s>>2]=c[v>>2];c[u>>2]=c[t>>2]}c[v>>2]=(c[v>>2]|0)+1}}while(0);c[x>>2]=er((c[r>>2]|0)+(8+(c[s>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[A>>2]|0)>>>0){j=63;break b}if((a[G>>0]|0)!=0?(c[x>>2]|0)!=(c[p>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break;if((d[q>>0]|0)!=2)break}c[c[o>>2]>>2]=c[x>>2];c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;if((c[s>>2]|0)>>>0<((c[z>>2]|0)-1|0)>>>0){e=(c[r>>2]|0)+(8+(c[s>>2]<<2))|0;f=(c[r>>2]|0)+(4+(c[z>>2]<<2))|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0}at((c[r>>2]|0)+4|0,(c[z>>2]|0)-1|0);e=(KJ(c[m>>2]|0,c[c[o>>2]>>2]|0)|0)!=0^1;c[D>>2]=e?1:0;c[K>>2]=JJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[D>>2]|0)|0;do if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;wB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0}while(0);a[G>>0]=0}}else{c[K>>2]=Fg(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0)break a;c[c[o>>2]>>2]=c[y>>2];e=(c[(c[F>>2]|0)+56>>2]|0)+32|0;f=c[(c[J>>2]|0)+56>>2]|0;a[e>>0]=a[f>>0]|0;a[e+1>>0]=a[f+1>>0]|0;a[e+2>>0]=a[f+2>>0]|0;a[e+3>>0]=a[f+3>>0]|0;c[c[n>>2]>>2]=c[J>>2];c[J>>2]=0}while(0);wB(c[I>>2]|0);c[I>>2]=0;if(!(a[G>>0]|0))break a}if((j|0)==23){c[J>>2]=0;break}else if((j|0)==28){c[K>>2]=Oj(61439)|0;break}else if((j|0)==40){c[K>>2]=Oj(61473)|0;break}else if((j|0)==43){wB(h);break}else if((j|0)==63){c[K>>2]=Oj(61538)|0;break}}else{c[j>>2]=0==(d[(c[m>>2]|0)+19>>0]|0)?1:0;c[K>>2]=Fg(c[(c[(c[m>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)==((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if((d[(c[m>>2]|0)+17>>0]|0)!=0?(G=sF(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[m>>2]|0)+44>>2]|0)):0){c[l>>2]=0;c[K>>2]=JJ(c[m>>2]|0,c[(c[m>>2]|0)+44>>2]|0,l,c[j>>2]|0)|0;if(!(c[K>>2]|0)){c[K>>2]=Fg(c[(c[l>>2]|0)+72>>2]|0)|0;wB(c[l>>2]|0)}if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[m>>2]|0)+44>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[m>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[m>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);at((c[(c[(c[m>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[m>>2]|0)+44>>2]|0);c[c[o>>2]>>2]=c[(c[m>>2]|0)+44>>2];c[K>>2]=JJ(c[m>>2]|0,c[c[o>>2]>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;if(c[K>>2]|0){c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}else{c[K>>2]=Fg(c[(c[c[n>>2]>>2]|0)+72>>2]|0)|0;if(!(c[K>>2]|0))break;wB(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;break}}while(0);wB(c[J>>2]|0);wB(c[I>>2]|0);c[H>>2]=c[K>>2];K=c[H>>2]|0;i=L;return K|0}function CJ(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=i;i=i+48|0;n=v+40|0;o=v+36|0;k=v+32|0;p=v+44|0;q=v+28|0;r=v+24|0;w=v+20|0;t=v+16|0;s=v+12|0;x=v+8|0;u=v+4|0;l=v;c[o>>2]=b;c[k>>2]=e;a[p>>0]=f;c[q>>2]=g;c[r>>2]=h;c[w>>2]=j;c[s>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[o>>2]>>2];c[u>>2]=DJ(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[r>>2];if((d[p>>0]|0|0)!=5?(d[p>>0]|0|0)!=1:0){c[l>>2]=er(c[(c[k>>2]|0)+56>>2]|0)|0;if((c[l>>2]|0)!=0?(FJ(c[o>>2]|0,c[l>>2]|0,4,c[r>>2]|0,u),(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}}else m=5;if((m|0)==5?(c[u>>2]=EJ(c[k>>2]|0)|0,(c[u>>2]|0)!=0):0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}do if((d[p>>0]|0|0)!=1){c[u>>2]=uF(c[o>>2]|0,c[q>>2]|0,t,0)|0;if(c[u>>2]|0){c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}c[u>>2]=Fg(c[(c[t>>2]|0)+72>>2]|0)|0;k=c[t>>2]|0;if(c[u>>2]|0){wB(k);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}else{c[u>>2]=GJ(k,c[s>>2]|0,c[r>>2]|0,a[p>>0]|0)|0;wB(c[t>>2]|0);if(c[u>>2]|0)break;FJ(c[o>>2]|0,c[r>>2]|0,a[p>>0]|0,c[q>>2]|0,u);break}}while(0);c[n>>2]=c[u>>2];x=c[n>>2]|0;i=v;return x|0}function DJ(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+36|0;l=t+32|0;m=t+28|0;n=t+24|0;j=t+20|0;r=t+16|0;o=t+12|0;s=t+8|0;p=t+4|0;q=t;c[l>>2]=d;c[m>>2]=f;c[n>>2]=g;c[j>>2]=h;c[o>>2]=0;if((a[(c[l>>2]|0)+16>>0]|0)!=0?(c[s>>2]=Fg(c[m>>2]|0)|0,(c[s>>2]|0)!=0):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if((e[(c[m>>2]|0)+24>>1]&2|0)!=0?(g=rt(c[m>>2]|0)|0,c[s>>2]=g,0!=(g|0)):0){c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}if(!((c[j>>2]|0)!=0?1:(e[(c[m>>2]|0)+24>>1]&8|0)==0))c[o>>2]=c[(c[m>>2]|0)+20>>2];g=(c[m>>2]|0)+24|0;b[g>>1]=e[g>>1]&-9;c[r>>2]=cs(c[l>>2]|0,c[n>>2]|0)|0;do if(c[r>>2]|0){j=(c[m>>2]|0)+24|0;b[j>>1]=e[j>>1]|e[(c[r>>2]|0)+24>>1]&8;j=c[r>>2]|0;if(a[(c[l>>2]|0)+16>>0]|0){IJ(j,(c[(c[l>>2]|0)+28>>2]|0)+1|0);break}else{Bs(j);break}}while(0);c[p>>2]=c[(c[m>>2]|0)+20>>2];IJ(c[m>>2]|0,c[n>>2]|0);es(c[m>>2]|0);if(a[(c[l>>2]|0)+16>>0]|0){IJ(c[r>>2]|0,c[p>>2]|0);Es(c[r>>2]|0)}do if(c[o>>2]|0){c[s>>2]=ug(c[l>>2]|0,c[o>>2]|0,q,0)|0;if(!(c[s>>2]|0)){s=(c[q>>2]|0)+24|0;b[s>>1]=e[s>>1]|8;es(c[q>>2]|0);Es(c[q>>2]|0);break}if((c[o>>2]|0)>>>0<=(c[(c[l>>2]|0)+32>>2]|0)>>>0)kj(c[(c[l>>2]|0)+60>>2]|0,c[o>>2]|0,c[(c[l>>2]|0)+208>>2]|0);c[k>>2]=c[s>>2];s=c[k>>2]|0;i=t;return s|0}while(0);c[k>>2]=0;s=c[k>>2]|0;i=t;return s|0}function EJ(b){b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;j=q+28|0;l=q+24|0;p=q+20|0;m=q+16|0;k=q+36|0;o=q+12|0;n=q+8|0;g=q+4|0;h=q;c[f>>2]=b;c[m>>2]=c[(c[f>>2]|0)+52>>2];a[k>>0]=a[c[f>>2]>>0]|0;c[o>>2]=c[(c[f>>2]|0)+84>>2];c[p>>2]=Rt(c[f>>2]|0)|0;if(c[p>>2]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[l>>2]=e[(c[f>>2]|0)+18>>1];c[j>>2]=0;while(1){b=c[f>>2]|0;if((c[j>>2]|0)>=(c[l>>2]|0))break;c[n>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[j>>2]<<1)+1>>0]));HJ(c[f>>2]|0,c[n>>2]|0,p);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[g>>2]=er(c[n>>2]|0)|0;FJ(c[m>>2]|0,c[g>>2]|0,5,c[o>>2]|0,p)}c[j>>2]=(c[j>>2]|0)+1}if(a[b+4>>0]|0){n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}c[h>>2]=er((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;FJ(c[m>>2]|0,c[h>>2]|0,5,c[o>>2]|0,p);n=a[k>>0]|0;o=c[f>>2]|0;a[o>>0]=n;p=c[p>>2]|0;i=q;return p|0}function FJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+32|0;k=t+28|0;l=t+36|0;m=t+24|0;n=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;s=t;c[j>>2]=b;c[k>>2]=e;a[l>>0]=f;c[m>>2]=g;c[n>>2]=h;if(c[c[n>>2]>>2]|0){i=t;return}if(!(c[k>>2]|0)){s=Oj(56734)|0;c[c[n>>2]>>2]=s;i=t;return}c[o>>2]=sF(c[j>>2]|0,c[k>>2]|0)|0;c[s>>2]=ug(c[c[j>>2]>>2]|0,c[o>>2]|0,q,0)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}c[p>>2]=((c[k>>2]|0)-(c[o>>2]|0)-1|0)*5;do if((c[p>>2]|0)>=0){c[r>>2]=vg(c[q>>2]|0)|0;if((d[l>>0]|0|0)==(d[(c[r>>2]|0)+(c[p>>2]|0)>>0]|0|0)?(g=er((c[r>>2]|0)+((c[p>>2]|0)+1)|0)|0,(g|0)==(c[m>>2]|0)):0)break;g=Fg(c[q>>2]|0)|0;c[s>>2]=g;c[c[n>>2]>>2]=g;if(!(c[s>>2]|0)){a[(c[r>>2]|0)+(c[p>>2]|0)>>0]=a[l>>0]|0;at((c[r>>2]|0)+((c[p>>2]|0)+1)|0,c[m>>2]|0)}}else{s=Oj(56745)|0;c[c[n>>2]>>2]=s}while(0);xg(c[q>>2]|0);i=t;return}function GJ(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;j=v+52|0;k=v+48|0;l=v+44|0;m=v+40|0;n=v+57|0;q=v+56|0;o=v+36|0;r=v+32|0;t=v+28|0;s=v+24|0;p=v;c[k>>2]=b;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;h=c[k>>2]|0;do if((d[n>>0]|0|0)==4){u=er(c[h+56>>2]|0)|0;if((u|0)==(c[l>>2]|0)){at(c[(c[k>>2]|0)+56>>2]|0,c[m>>2]|0);break}c[j>>2]=Oj(59127)|0;u=c[j>>2]|0;i=v;return u|0}else{a[q>>0]=a[h>>0]|0;c[t>>2]=Rt(c[k>>2]|0)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}c[r>>2]=e[(c[k>>2]|0)+18>>1];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[r>>2]|0))break;c[s>>2]=(c[(c[k>>2]|0)+56>>2]|0)+((e[(c[k>>2]|0)+20>>1]|0)&((d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)>>0]|0)<<8|(d[(c[(c[k>>2]|0)+64>>2]|0)+(c[o>>2]<<1)+1>>0]|0)));if((d[n>>0]|0|0)==3){Ub[c[(c[k>>2]|0)+80>>2]&255](c[k>>2]|0,c[s>>2]|0,p);if(((e[p+16>>1]|0)>>>0<(c[p+12>>2]|0)>>>0?((c[s>>2]|0)+(e[p+18>>1]|0)+-1|0)>>>0<=((c[(c[k>>2]|0)+56>>2]|0)+(e[(c[k>>2]|0)+20>>1]|0)|0)>>>0:0)?(t=c[l>>2]|0,(t|0)==(er((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{t=er(c[s>>2]|0)|0;if((t|0)==(c[l>>2]|0)){u=15;break}}c[o>>2]=(c[o>>2]|0)+1}if((u|0)==13)at((c[s>>2]|0)+(e[p+18>>1]|0)+-4|0,c[m>>2]|0);else if((u|0)==15)at(c[s>>2]|0,c[m>>2]|0);do if((c[o>>2]|0)==(c[r>>2]|0)){if((d[n>>0]|0|0)==5?(u=er((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[l>>2]|0)):0){at((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[m>>2]|0);break}c[j>>2]=Oj(59163)|0;u=c[j>>2]|0;i=v;return u|0}while(0);a[c[k>>2]>>0]=a[q>>0]|0}while(0);c[j>>2]=0;u=c[j>>2]|0;i=v;return u|0}function HJ(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+48|0;f=l+36|0;g=l+32|0;h=l+28|0;j=l;k=l+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){i=l;return}Ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,j);if((e[j+16>>1]|0)>>>0>=(c[j+12>>2]|0)>>>0){i=l;return}c[k>>2]=er((c[g>>2]|0)+((e[j+18>>1]|0)-4)|0)|0;FJ(c[(c[f>>2]|0)+52>>2]|0,c[k>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);i=l;return}function IJ(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];_b[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){i=f;return}fj(c[d>>2]|0,3);i=f;return}function JJ(b,d,e,f){b=b|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;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;h=k+8|0;l=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[l>>2]=f;c[j>>2]=uF(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;f=c[h>>2]|0;do if(!(c[j>>2]|0)){n=(Qt(c[(c[f>>2]|0)+72>>2]|0)|0)>1;f=c[c[h>>2]>>2]|0;if(!n){a[f>>0]=0;break}wB(f);c[c[h>>2]>>2]=0;c[g>>2]=Oj(57863)|0;n=c[g>>2]|0;i=k;return n|0}else c[f>>2]=0;while(0);c[g>>2]=c[j>>2];n=c[g>>2]|0;i=k;return n|0}function KJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;i=f;return g|0}g=c[d>>2]|0;if(g>>>0>(mj(c[e>>2]|0)|0)>>>0){g=1;g=g&1;i=f;return g|0}g=(lj(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;i=f;return g|0}function LJ(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+16>>0]|0|0}function MJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[h>>2]|0)){c[e>>2]=7;d=c[e>>2]|0;i=k;return d|0}if(cf(c[f>>2]|0,c[h>>2]|0,-1,j,0)|0){b=c[g>>2]|0;d=c[f>>2]|0;Aj(b,d,bf(c[f>>2]|0)|0);c[e>>2]=Df(c[f>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}else{ue(c[j>>2]|0)|0;c[e>>2]=RJ(c[f>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;d=c[e>>2]|0;i=k;return d|0}return 0}function NJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=SJ(c[e>>2]|0)|0;i=d;return c[b>>2]|0}function OJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[j>>2]=cf(c[f>>2]|0,c[l>>2]|0,-1,h,0)|0;if(c[j>>2]|0){c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}while(1){l=100==(ue(c[h>>2]|0)|0);a=c[f>>2]|0;if(!l){b=6;break}l=c[g>>2]|0;c[j>>2]=MJ(a,l,Fe(c[h>>2]|0,0)|0)|0;if(c[j>>2]|0){b=5;break}}if((b|0)==5){RJ(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}else if((b|0)==6){c[e>>2]=RJ(a,c[h>>2]|0,c[g>>2]|0)|0;l=c[e>>2]|0;i=k;return l|0}return 0}function PJ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+80|0;h=m+68|0;j=m+64|0;l=m+60|0;g=m+56|0;k=m+8|0;f=m;c[h>>2]=a;c[j>>2]=d;mg(c[h>>2]|0);mg(c[j>>2]|0);c[g>>2]=Dg(Pf(c[h>>2]|0)|0)|0;if((c[c[g>>2]>>2]|0)!=0?(d=rg(c[j>>2]|0)|0,d=AR(d|0,((d|0)<0)<<31>>31|0,tg(c[j>>2]|0)|0,0)|0,a=f,c[a>>2]=d,c[a+4>>2]=C,a=yi(c[g>>2]|0,11,f)|0,c[l>>2]=a,c[l>>2]=(c[l>>2]|0)==12?0:a,(c[l>>2]|0)!=0):0){l=c[l>>2]|0;i=m;return l|0}f=k;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[k+20>>2]=c[c[j>>2]>>2];c[k+24>>2]=c[j>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Vd(k,2147483647)|0;c[l>>2]=Wd(k)|0;if(!(c[l>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;l=c[l>>2]|0;i=m;return l|0}else{QJ(Pf(c[k+4>>2]|0)|0);l=c[l>>2]|0;i=m;return l|0}return 0}function QJ(b){b=b|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[e>>2]=b;if(a[(c[e>>2]|0)+16>>0]|0){i=f;return}if(d[(c[e>>2]|0)+13>>0]|0){i=f;return}Xi(c[e>>2]|0);i=f;return}function RJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=Sg(c[j>>2]|0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;i=h;return j|0}d=c[f>>2]|0;j=c[e>>2]|0;Aj(d,j,bf(c[e>>2]|0)|0);j=c[g>>2]|0;i=h;return j|0}function SJ(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);i=d;return c[b>>2]|0}function TJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+64|0;n=q+32|0;o=q+28|0;p=q+24|0;f=q+20|0;j=q+16|0;e=q+12|0;h=q+8|0;g=q+4|0;k=q;m=q+40|0;c[o>>2]=b;c[p>>2]=0;if((d[(c[o>>2]|0)+16>>0]|0)!=0?(c[(c[o>>2]|0)+44>>2]|0)!=0:0){c[n>>2]=c[(c[o>>2]|0)+44>>2];p=c[n>>2]|0;i=q;return p|0}do if((xr(c[o>>2]|0)|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0){c[f>>2]=1;c[p>>2]=At(c[o>>2]|0,1)|0;if(!(c[p>>2]|0)){if((d[(c[o>>2]|0)+18>>0]|0)<=1)c[p>>2]=UJ(c[o>>2]|0,f)|0;if(!(c[p>>2]|0)){if(c[f>>2]|0){if(a[(c[o>>2]|0)+15>>0]|0){c[p>>2]=776;break}c[p>>2]=Bt(c[o>>2]|0,4)|0;if(c[p>>2]|0)break;if((((c[c[(c[o>>2]|0)+68>>2]>>2]|0)==0?(c[j>>2]=c[c[o>>2]>>2],c[p>>2]=Tr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,0,e)|0,(c[p>>2]|0)==0&(c[e>>2]|0)!=0):0)?(c[h>>2]=0,c[g>>2]=2050,c[p>>2]=Pr(c[j>>2]|0,c[(c[o>>2]|0)+180>>2]|0,c[(c[o>>2]|0)+68>>2]|0,c[g>>2]|0,h)|0,(c[p>>2]|0)==0):0)?(c[h>>2]&1|0)!=0:0){c[p>>2]=jt(49095)|0;mr(c[(c[o>>2]|0)+68>>2]|0)|0}e=c[o>>2]|0;if(c[c[(c[o>>2]|0)+68>>2]>>2]|0){c[p>>2]=jr(e)|0;if(!(c[p>>2]|0)){c[p>>2]=Rr(c[o>>2]|0,1)|0;a[(c[o>>2]|0)+17>>0]=0}}else if(!(a[e+4>>0]|0))Br(c[o>>2]|0,1)|0;if(c[p>>2]|0){kr(c[o>>2]|0,c[p>>2]|0)|0;break}}if((a[(c[o>>2]|0)+13>>0]|0)==0?(d[(c[o>>2]|0)+24>>0]|0)!=0:0){c[k>>2]=0;c[p>>2]=VJ(c[o>>2]|0,k)|0;if(c[p>>2]|0)break;if((c[k>>2]|0)>>>0>0){c[p>>2]=$r(c[(c[o>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[p>>2]|0)!=0&(c[p>>2]|0)!=522)break}else{e=m;f=e+16|0;do{a[e>>0]=0;e=e+1|0}while((e|0)<(f|0))}if(EQ((c[o>>2]|0)+112|0,m,16)|0)Xi(c[o>>2]|0)}c[p>>2]=WJ(c[o>>2]|0)|0;l=35}}}else l=35;while(0);if((l|0)==35){if(xr(c[o>>2]|0)|0)c[p>>2]=XJ(c[o>>2]|0)|0;if((c[p>>2]|0)==0?(d[(c[o>>2]|0)+17>>0]|0)==0:0)c[p>>2]=VJ(c[o>>2]|0,(c[o>>2]|0)+28|0)|0}e=c[o>>2]|0;if(c[p>>2]|0)ir(e);else{a[e+17>>0]=1;a[(c[o>>2]|0)+24>>0]=1}c[n>>2]=c[p>>2];p=c[n>>2]|0;i=q;return p|0}function UJ(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+32|0;g=q+28|0;o=q+24|0;p=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;j=q;k=q+36|0;c[f>>2]=b;c[g>>2]=e;c[o>>2]=c[c[f>>2]>>2];c[p>>2]=0;c[h>>2]=1;c[l>>2]=((c[c[(c[f>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[g>>2]>>2]=0;if(!(c[l>>2]|0))c[p>>2]=Tr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0,h)|0;if(!((c[p>>2]|0)==0&(c[h>>2]|0)!=0)){p=c[p>>2]|0;i=q;return p|0}c[m>>2]=0;c[p>>2]=cK(c[(c[f>>2]|0)+64>>2]|0,m)|0;if((c[p>>2]|0)!=0|(c[m>>2]|0)!=0){p=c[p>>2]|0;i=q;return p|0}c[p>>2]=VJ(c[f>>2]|0,n)|0;if(c[p>>2]|0){p=c[p>>2]|0;i=q;return p|0}if(!((c[n>>2]|0)!=0|(c[l>>2]|0)!=0)){Wj();if((Bt(c[f>>2]|0,2)|0)==0?(vr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0,(a[(c[f>>2]|0)+4>>0]|0)==0):0)Br(c[f>>2]|0,1)|0;Xj();p=c[p>>2]|0;i=q;return p|0}if(!(c[l>>2]|0)){c[j>>2]=2049;c[p>>2]=Pr(c[o>>2]|0,c[(c[f>>2]|0)+180>>2]|0,c[(c[f>>2]|0)+68>>2]|0,c[j>>2]|0,j)|0}if(!(c[p>>2]|0)){a[k>>0]=0;o=$r(c[(c[f>>2]|0)+68>>2]|0,k,1,0,0)|0;c[p>>2]=o;c[p>>2]=(c[p>>2]|0)==522?0:o;if(!(c[l>>2]|0))mr(c[(c[f>>2]|0)+68>>2]|0)|0;c[c[g>>2]>>2]=(d[k>>0]|0)!=0&1;p=c[p>>2]|0;i=q;return p|0}else{if((c[p>>2]|0)!=14){p=c[p>>2]|0;i=q;return p|0}c[c[g>>2]>>2]=1;c[p>>2]=0;p=c[p>>2]|0;i=q;return p|0}return 0}function VJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+24|0;e=k+20|0;f=k+16|0;h=k+12|0;g=k;j=k+8|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=bK(c[(c[e>>2]|0)+216>>2]|0)|0;if(!(c[h>>2]|0)){b=g;c[b>>2]=0;c[b+4>>2]=0;if((c[c[(c[e>>2]|0)+64>>2]>>2]|0)!=0?(c[j>>2]=Vi(c[(c[e>>2]|0)+64>>2]|0,g)|0,(c[j>>2]|0)!=0):0){c[d>>2]=c[j>>2];j=c[d>>2]|0;i=k;return j|0}j=g;b=c[(c[e>>2]|0)+160>>2]|0;b=pR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=oR(b|0,C|0,1,0)|0;j=c[(c[e>>2]|0)+160>>2]|0;j=yR(b|0,C|0,j|0,((j|0)<0)<<31>>31|0)|0;c[h>>2]=j}if((c[h>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[h>>2];c[c[f>>2]>>2]=c[h>>2];c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function WJ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;k=l+8|0;j=l+4|0;f=l;c[h>>2]=b;c[k>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[k>>2]=VJ(c[h>>2]|0,f)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=vr(b,e,0)|0;c[k>>2]=f;c[k>>2]=(c[k>>2]|0)==5898?0:f;c[j>>2]=0}else c[k>>2]=Tr(b,e,0,j)|0;if(!(c[k>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[k>>2]=ZJ(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}function XJ(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Ls(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=YJ(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;i=e;return f|0}Xi(c[b>>2]|0);f=c[d>>2]|0;i=e;return f|0}function YJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do{j=c[d>>2]|0;b=c[e>>2]|0;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[g>>2]=It(j,b,0,a)|0}while((c[g>>2]|0)==-1);i=h;return c[g>>2]|0}function ZJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;e=k+12|0;f=k+8|0;g=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if((a[(c[f>>2]|0)+13>>0]|0)==0?(c[(c[f>>2]|0)+216>>2]|0)==0:0)if(gJ(c[f>>2]|0)|0){mr(c[(c[f>>2]|0)+68>>2]|0)|0;c[h>>2]=_J(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;j=c[e>>2]|0;i=k;return j|0}else j=7;while(0);if((j|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function _J(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=$J(c[e>>2]|0)|0;if(c[f>>2]|0){b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=aK(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;b=c[e>>2]|0;_i(b);f=c[f>>2]|0;i=g;return f|0}function $J(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Bt(c[b>>2]|0,4)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}Br(c[b>>2]|0,1)|0;d=c[d>>2]|0;i=e;return d|0}function aK(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+48|0;l=w+44|0;m=w+40|0;n=w+36|0;o=w+32|0;p=w+28|0;q=w;r=w+24|0;v=w+20|0;u=w+16|0;s=w+12|0;t=w+8|0;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;f=q;c[f>>2]=h;c[f+4>>2]=j;c[r>>2]=k;c[c[r>>2]>>2]=0;c[u>>2]=kg(120+(c[(c[m>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[u>>2]|0)){c[l>>2]=7;f=c[l>>2]|0;i=w;return f|0}c[c[u>>2]>>2]=c[m>>2];c[(c[u>>2]|0)+8>>2]=(c[u>>2]|0)+120;c[(c[u>>2]|0)+4>>2]=c[n>>2];b[(c[u>>2]|0)+40>>1]=-1;d=q;k=c[d+4>>2]|0;f=(c[u>>2]|0)+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=k;c[(c[u>>2]|0)+108>>2]=c[o>>2];a[(c[u>>2]|0)+48>>0]=1;a[(c[u>>2]|0)+49>>0]=1;a[(c[u>>2]|0)+43>>0]=(c[p>>2]|0)!=0?2:0;c[s>>2]=524294;c[v>>2]=Pr(c[m>>2]|0,c[o>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[s>>2]|0,s)|0;if((c[v>>2]|0)==0?(c[s>>2]&1|0)!=0:0)a[(c[u>>2]|0)+46>>0]=1;if(c[v>>2]|0){Qs(c[u>>2]|0,0);mr(c[(c[u>>2]|0)+8>>2]|0)|0;Kd(c[u>>2]|0)}else{c[t>>2]=Yr(c[n>>2]|0)|0;if(c[t>>2]&1024)a[(c[u>>2]|0)+48>>0]=0;if(c[t>>2]&4096)a[(c[u>>2]|0)+49>>0]=0;c[c[r>>2]>>2]=c[u>>2]}c[l>>2]=c[v>>2];f=c[l>>2]|0;i=w;return f|0}function bK(a){a=a|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[e>>2]=a;if((c[e>>2]|0)!=0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];a=c[d>>2]|0;i=f;return a|0}c[d>>2]=0;a=c[d>>2]|0;i=f;return a|0}function cK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function dK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+176|0;d=g+168|0;f=g+164|0;b=g+160|0;e=g;c[d>>2]=a;tR(e|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[f>>2]=0;while(1){if(!(c[e+(c[f>>2]<<2)>>2]|0))break;c[d>>2]=gK(c[e+(c[f>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[e+(c[f>>2]<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+1}c[e+(c[f>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=0;c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>>>0>=40)break;c[d>>2]=gK(a,c[e+(c[f>>2]<<2)>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}i=g;return a|0}function eK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=iK(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}i=g;return a|0}function fK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;e=j+8|0;h=j+4|0;f=j;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){fK(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){fK(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);i=j;return}else{c[c[h>>2]>>2]=a;i=j;return}}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;if(!((c[d>>2]|0)!=0?(c[e>>2]|0)!=0:0))break;k=c[a+4>>2]|0;b=c[e>>2]|0;j=c[b+4>>2]|0;if((k|0)<(j|0)|((k|0)==(j|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}j=c[e>>2]|0;a=c[j+4>>2]|0;k=c[d>>2]|0;b=c[k+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[(c[g>>2]|0)+8>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+8>>2];c[g>>2]=c[(c[g>>2]|0)+8>>2];continue}else{c[d>>2]=c[(c[d>>2]|0)+8>>2];continue}}if(a){c[(c[g>>2]|0)+8>>2]=c[d>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}else{c[(c[g>>2]|0)+8>>2]=c[e>>2];k=f+8|0;k=c[k>>2]|0;i=h;return k|0}return 0}function hK(a){a=a|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=Lw(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}while(0);a=(c[f>>2]|0)+24|0;b[a>>1]=(b[a>>1]|0)+-1<<16>>16;a=(c[f>>2]|0)+16|0;g=c[a>>2]|0;c[a>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;i=h;return g|0}function iK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;d=j;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}b=c[f>>2]|0;if((c[g>>2]|0)==1){c[h>>2]=c[b>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}c[d>>2]=iK(b,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];b=c[d>>2]|0;if(!(c[h>>2]|0)){c[e>>2]=b;h=c[e>>2]|0;i=j;return h|0}else{c[(c[h>>2]|0)+12>>2]=b;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=iK(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function jK(a){a=a|0;var d=0,f=0;f=i;i=i+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+26>>1]|0)&1)){a=dK(c[(c[d>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=a}a=(c[d>>2]|0)+26|0;b[a>>1]=e[a>>1]|0|2;i=f;return}function kK(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;j=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[k>>2]=d;c[h>>2]=e;c[f>>2]=c[k>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[j>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;i=g;return c[f>>2]|0}function lK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;b=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[b>>0]=d[b>>0]|0|1<<(c[g>>2]&7);i=f;return}function mK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;q=x+76|0;h=x+72|0;r=x+68|0;s=x+64|0;j=x+60|0;t=x+56|0;u=x+52|0;n=x+48|0;m=x+44|0;l=x+40|0;k=x+36|0;c[q>>2]=b;c[h>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=c[s>>2];c[u>>2]=c[r>>2];while(1){b=c[s>>2]|0;c[s>>2]=b+-1;if((b|0)<=0){g=25;break}if(!(c[(c[q>>2]|0)+16>>2]|0)){g=25;break}f=c[q>>2]|0;if((c[r>>2]|0)<1){g=5;break}if(rK(f,c[r>>2]|0)|0){g=25;break}if(ug(c[(c[q>>2]|0)+4>>2]|0,c[r>>2]|0,n,0)|0){g=8;break}c[m>>2]=vg(c[n>>2]|0)|0;do if(!(c[h>>2]|0)){if((c[s>>2]|0)>0?(d[(c[c[q>>2]>>2]|0)+17>>0]|0)!=0:0){c[j>>2]=er(c[m>>2]|0)|0;nK(c[q>>2]|0,c[j>>2]|0,4,c[r>>2]|0)}}else{c[l>>2]=er((c[m>>2]|0)+4|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)nK(c[q>>2]|0,c[r>>2]|0,2,0);if((c[l>>2]|0)>(((c[(c[c[q>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){b=c[q>>2]|0;c[p>>2]=c[r>>2];qK(b,42818,p);c[s>>2]=(c[s>>2]|0)+-1;break}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[l>>2]|0))break;c[k>>2]=er((c[m>>2]|0)+(8+(c[j>>2]<<2))|0)|0;if(a[(c[c[q>>2]>>2]|0)+17>>0]|0)nK(c[q>>2]|0,c[k>>2]|0,2,0);rK(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}c[s>>2]=(c[s>>2]|0)-(c[l>>2]|0)}while(0);c[r>>2]=er(c[m>>2]|0)|0;xg(c[n>>2]|0);if(!(c[h>>2]|0))continue;if((c[s>>2]|0)>=((c[r>>2]|0)!=0|0))continue;qK(c[q>>2]|0,42857,o)}if((g|0)==5){t=c[t>>2]|0;w=c[u>>2]|0;c[v>>2]=(c[s>>2]|0)+1;c[v+4>>2]=t;c[v+8>>2]=w;qK(f,42739,v);i=x;return}else if((g|0)==8){v=c[q>>2]|0;c[w>>2]=c[r>>2];qK(v,42796,w);i=x;return}else if((g|0)==25){i=x;return}}function nK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;q=r+8|0;p=r;h=r+44|0;j=r+40|0;k=r+49|0;l=r+36|0;o=r+32|0;m=r+48|0;n=r+28|0;c[h>>2]=b;c[j>>2]=e;a[k>>0]=f;c[l>>2]=g;c[o>>2]=tF(c[c[h>>2]>>2]|0,c[j>>2]|0,m,n)|0;if(c[o>>2]|0){if((c[o>>2]|0)==7|(c[o>>2]|0)==3082)c[(c[h>>2]|0)+24>>2]=1;q=c[h>>2]|0;c[p>>2]=c[j>>2];qK(q,42656,p);i=r;return}if((d[m>>0]|0|0)==(d[k>>0]|0|0)?(c[n>>2]|0)==(c[l>>2]|0):0){i=r;return}p=c[h>>2]|0;e=d[k>>0]|0;g=c[l>>2]|0;b=d[m>>0]|0;o=c[n>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=e;c[q+8>>2]=g;c[q+12>>2]=b;c[q+16>>2]=o;qK(p,42685,q);i=r;return}function oK(b,f,g,h,j){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+256|0;Z=ca+96|0;Y=ca+88|0;X=ca+80|0;W=ca+72|0;$=ca+64|0;_=ca+48|0;m=ca+40|0;l=ca+32|0;n=ca+240|0;o=ca+236|0;p=ca+232|0;q=ca+228|0;r=ca+24|0;K=ca+224|0;A=ca+220|0;k=ca+216|0;w=ca+212|0;u=ca+208|0;M=ca+204|0;F=ca+200|0;y=ca+196|0;s=ca+192|0;E=ca+188|0;x=ca+184|0;D=ca+180|0;v=ca+176|0;I=ca+172|0;J=ca+168|0;H=ca+164|0;L=ca+160|0;V=ca+156|0;t=ca+152|0;z=ca+148|0;aa=ca+144|0;O=ca+140|0;S=ca+136|0;Q=ca+132|0;R=ca+128|0;P=ca+244|0;B=ca;G=ca+124|0;N=ca+120|0;T=ca+116|0;U=ca+112|0;C=ca+108|0;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;g=r;c[g>>2]=h;c[g+4>>2]=j;c[K>>2]=0;c[w>>2]=-1;c[x>>2]=1;c[D>>2]=1;c[z>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[o>>2]|0)+28>>2];c[Q>>2]=c[(c[o>>2]|0)+32>>2];c[R>>2]=c[(c[o>>2]|0)+36>>2];a[P>>0]=0;c[H>>2]=c[c[o>>2]>>2];c[V>>2]=c[(c[H>>2]|0)+36>>2];if(!(c[p>>2]|0)){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}if(rK(c[o>>2]|0,c[p>>2]|0)|0){c[n>>2]=0;ba=c[n>>2]|0;i=ca;return ba|0}c[(c[o>>2]|0)+28>>2]=42276;c[(c[o>>2]|0)+32>>2]=c[p>>2];g=uF(c[H>>2]|0,c[p>>2]|0,K,0)|0;c[k>>2]=g;do if(!g){a[P>>0]=a[c[K>>2]>>0]|0;a[c[K>>2]>>0]=0;l=Rt(c[K>>2]|0)|0;c[k>>2]=l;if(l){ba=c[o>>2]|0;c[m>>2]=c[k>>2];qK(ba,42324,m);break}c[v>>2]=c[(c[K>>2]|0)+56>>2];c[y>>2]=d[(c[K>>2]|0)+5>>0];c[(c[o>>2]|0)+28>>2]=42362;c[t>>2]=((d[(c[v>>2]|0)+((c[y>>2]|0)+5)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+5)+1>>0])-1&65535)+1;c[E>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+3)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+3)+1>>0];c[s>>2]=(c[y>>2]|0)+12-(d[(c[K>>2]|0)+4>>0]<<2);c[J>>2]=(c[v>>2]|0)+((c[s>>2]|0)+((c[E>>2]|0)-1<<1));if(a[(c[K>>2]|0)+4>>0]|0){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0}else{c[M>>2]=er((c[v>>2]|0)+((c[y>>2]|0)+8)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0){c[(c[o>>2]|0)+28>>2]=42388;nK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0)}m=r;c[w>>2]=oK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0}c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break;if(!(c[(c[o>>2]|0)+16>>2]|0))break;c[(c[o>>2]|0)+36>>2]=c[A>>2];c[L>>2]=d[c[J>>2]>>0]<<8|d[(c[J>>2]|0)+1>>0];c[J>>2]=(c[J>>2]|0)+-2;do if((c[L>>2]|0)>>>0>=(c[t>>2]|0)>>>0?(c[L>>2]|0)>>>0<=((c[V>>2]|0)-4|0)>>>0:0){c[I>>2]=(c[v>>2]|0)+(c[L>>2]|0);Ub[c[(c[K>>2]|0)+80>>2]&255](c[K>>2]|0,c[I>>2]|0,B);if(((c[L>>2]|0)+(e[B+18>>1]|0)|0)>>>0>(c[V>>2]|0)>>>0){qK(c[o>>2]|0,42446,$);c[x>>2]=0;break}if(a[(c[K>>2]|0)+2>>0]|0){j=B;h=c[j>>2]|0;j=c[j+4>>2]|0;b=r;f=c[b>>2]|0;b=c[b+4>>2]|0;if(c[D>>2]|0){if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>f>>>0)ba=26}else if((j|0)>(b|0)|(j|0)==(b|0)&h>>>0>=f>>>0)ba=26;if((ba|0)==26){ba=0;m=c[o>>2]|0;g=B;k=c[g+4>>2]|0;l=W;c[l>>2]=c[g>>2];c[l+4>>2]=k;qK(m,42470,W)}k=B;l=c[k+4>>2]|0;m=r;c[m>>2]=c[k>>2];c[m+4>>2]=l}if((c[B+12>>2]|0)>>>0>(e[B+16>>1]|0)>>>0){c[G>>2]=(((c[B+12>>2]|0)-(e[B+16>>1]|0)+(c[V>>2]|0)-5|0)>>>0)/(((c[V>>2]|0)-4|0)>>>0)|0;c[N>>2]=er((c[I>>2]|0)+((e[B+18>>1]|0)-4)|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)nK(c[o>>2]|0,c[N>>2]|0,3,c[p>>2]|0);mK(c[o>>2]|0,0,c[N>>2]|0,c[G>>2]|0)}if(a[(c[K>>2]|0)+4>>0]|0){sK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(e[B+18>>1]|0)-1);break}c[M>>2]=er(c[I>>2]|0)|0;if(a[(c[H>>2]|0)+17>>0]|0)nK(c[o>>2]|0,c[M>>2]|0,5,c[p>>2]|0);m=r;c[u>>2]=oK(c[o>>2]|0,c[M>>2]|0,r,c[m>>2]|0,c[m+4>>2]|0)|0;c[D>>2]=0;if((c[u>>2]|0)!=(c[w>>2]|0)){qK(c[o>>2]|0,42494,X);c[w>>2]=c[u>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[o>>2]|0;k=c[t>>2]|0;l=(c[V>>2]|0)-4|0;c[_>>2]=c[L>>2];c[_+4>>2]=k;c[_+8>>2]=l;qK(m,42416,_);c[x>>2]=0}c[A>>2]=(c[A>>2]|0)+-1}X=r;_=c[X+4>>2]|0;$=c[q>>2]|0;c[$>>2]=c[X>>2];c[$+4>>2]=_;c[(c[o>>2]|0)+28>>2]=0;if((c[x>>2]|0)!=0?(c[(c[o>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[K>>2]|0)+4>>0]|0)){c[z>>2]=c[(c[o>>2]|0)+68>>2];c[c[z>>2]>>2]=0;c[A>>2]=(c[E>>2]|0)-1;while(1){if((c[A>>2]|0)<0)break a;c[L>>2]=d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))>>0]<<8|d[(c[v>>2]|0)+((c[s>>2]|0)+(c[A>>2]<<1))+1>>0];c[T>>2]=(Yb[c[(c[K>>2]|0)+76>>2]&255](c[K>>2]|0,(c[v>>2]|0)+(c[L>>2]|0)|0)|0)&65535;sK(c[z>>2]|0,c[L>>2]<<16|(c[L>>2]|0)+(c[T>>2]|0)-1);c[A>>2]=(c[A>>2]|0)+-1}}while(0);c[A>>2]=d[(c[v>>2]|0)+((c[y>>2]|0)+1)>>0]<<8|d[(c[v>>2]|0)+((c[y>>2]|0)+1)+1>>0];while(1){if((c[A>>2]|0)<=0)break;c[U>>2]=d[(c[v>>2]|0)+((c[A>>2]|0)+2)>>0]<<8|d[(c[v>>2]|0)+((c[A>>2]|0)+2)+1>>0];sK(c[z>>2]|0,c[A>>2]<<16|(c[A>>2]|0)+(c[U>>2]|0)-1);c[C>>2]=d[(c[v>>2]|0)+(c[A>>2]|0)>>0]<<8|d[(c[v>>2]|0)+(c[A>>2]|0)+1>>0];c[A>>2]=c[C>>2]}c[F>>2]=0;c[O>>2]=(c[t>>2]|0)-1;while(1){if(!(tK(c[z>>2]|0,aa)|0))break;if((c[O>>2]&65535)>>>0>=(c[aa>>2]|0)>>>16>>>0){ba=51;break}c[F>>2]=(c[F>>2]|0)+(((c[aa>>2]|0)>>>16)-(c[O>>2]&65535)-1);c[O>>2]=c[aa>>2]}if((ba|0)==51){ba=c[o>>2]|0;$=c[p>>2]|0;c[Y>>2]=(c[aa>>2]|0)>>>16;c[Y+4>>2]=$;qK(ba,42519,Y)}c[F>>2]=(c[F>>2]|0)+((c[V>>2]|0)-(c[O>>2]&65535)-1);if((c[c[z>>2]>>2]|0)==0?(c[F>>2]|0)!=(d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0):0){ba=c[o>>2]|0;$=d[(c[v>>2]|0)+((c[y>>2]|0)+7)>>0]|0;aa=c[p>>2]|0;c[Z>>2]=c[F>>2];c[Z+4>>2]=$;c[Z+8>>2]=aa;qK(ba,42556,Z)}}}else{ba=c[o>>2]|0;c[l>>2]=c[k>>2];qK(ba,42286,l)}while(0);if(!(c[x>>2]|0))a[c[K>>2]>>0]=a[P>>0]|0;wB(c[K>>2]|0);c[(c[o>>2]|0)+28>>2]=c[S>>2];c[(c[o>>2]|0)+32>>2]=c[Q>>2];c[(c[o>>2]|0)+36>>2]=c[R>>2];c[n>>2]=(c[w>>2]|0)+1;ba=c[n>>2]|0;i=ca;return ba|0}function pK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function qK(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;f=k+28|0;g=k+24|0;h=k+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){i=k;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)gA((c[f>>2]|0)+40|0,42274,1);if(c[(c[f>>2]|0)+28>>2]|0){e=(c[f>>2]|0)+40|0;b=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[j>>2]=c[(c[f>>2]|0)+32>>2];c[j+4>>2]=a;fA(e,b,j)}eg((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){i=k;return}c[(c[f>>2]|0)+24>>2]=1;i=k;return}function rK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=j+8|0;e=j;g=j+20|0;d=j+16|0;f=j+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){b=c[d>>2]|0;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=a;qK(b,42608,e);c[g>>2]=1;break}e=(pK(b,a)|0)!=0;a=c[d>>2]|0;b=c[f>>2]|0;if(e){c[h>>2]=b;qK(a,42631,h);c[g>>2]=1;break}else{lK(a,b);c[g>>2]=0;break}}else c[g>>2]=1;while(0);i=j;return c[g>>2]|0}function sK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[f>>2]=b;c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];while(1){b=((c[f>>2]|0)>>>0)/2|0;c[g>>2]=b;if(b>>>0<=0){d=5;break}if((c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0){d=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[e>>2];c[f>>2]=c[g>>2]}if((d|0)==5){i=h;return}}function tK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[j>>2]=b;if(!b){c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[j>>2]<<2)>>2];c[(c[e>>2]|0)+(c[j>>2]<<2)>>2]=-1;b=c[e>>2]|0;c[b>>2]=(c[b>>2]|0)+-1;c[g>>2]=1;while(1){b=c[g>>2]<<1;c[h>>2]=b;if(b>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[h>>2]|0)+1<<2)>>2]|0)>>>0)c[h>>2]=(c[h>>2]|0)+1;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0)break;c[j>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[j>>2];c[g>>2]=c[h>>2]}c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}function uK(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){a=c[b>>2]|0;Kd(a);i=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;yK((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}a=c[b>>2]|0;Kd(a);i=e;return}function vK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Tf(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);wK(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)xK(c[(c[d>>2]|0)+40>>2]|0)|0;if(!(c[(c[d>>2]|0)+56>>2]|0)){d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}xK(c[(c[d>>2]|0)+56>>2]|0)|0;d=c[d>>2]|0;a=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));i=e;return}function wK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Tf(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}i=g;return}function xK(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;c[b>>2]=mr(c[e>>2]|0)|0;Kd(c[e>>2]|0);i=d;return c[b>>2]|0}function yK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)Hs(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;zK(c[(c[b>>2]|0)+48>>2]|0);b=c[b>>2]|0;a=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=d;return}function zK(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){i=d;return}uK(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);i=d;return}function AK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m;k=m+12|0;l=m+8|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;c[k>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){i=m;return}a[(c[h>>2]|0)+11>>0]=0;c[l>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[l>>2]|0))break;do if((d[(c[l>>2]|0)+64>>0]|0)&16){a[(c[h>>2]|0)+11>>0]=1;if((c[k>>2]|0)==0?(g=(c[l>>2]|0)+16|0,b=j,!((c[g>>2]|0)==(c[b>>2]|0)?(c[g+4>>2]|0)==(c[b+4>>2]|0):0)):0)break;a[(c[l>>2]|0)+66>>0]=0}while(0);c[l>>2]=c[(c[l>>2]|0)+8>>2]}i=m;return}function BK(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;p=u+36|0;k=u+32|0;j=u+28|0;q=u+24|0;l=u+20|0;s=u+16|0;t=u+12|0;n=u+8|0;m=u+4|0;r=u;o=u+40|0;c[k>>2]=b;c[j>>2]=f;c[q>>2]=g;c[l>>2]=h;h=c[j>>2]|0;if(h>>>0>(gF(c[k>>2]|0)|0)>>>0){c[p>>2]=Oj(64249)|0;t=c[p>>2]|0;i=u;return t|0}c[t>>2]=fF(c[k>>2]|0,c[j>>2]|0,s,0,0)|0;if(c[t>>2]|0){c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}a:do if(!(a[(c[s>>2]|0)+8>>0]|0)){a[(c[s>>2]|0)+8>>0]=1;c[r>>2]=d[(c[s>>2]|0)+5>>0];c[m>>2]=0;while(1){j=c[s>>2]|0;if((c[m>>2]|0)>=(e[(c[s>>2]|0)+18>>1]|0))break;c[n>>2]=(c[j+56>>2]|0)+(e[(c[s>>2]|0)+20>>1]&(d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[s>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if((a[(c[s>>2]|0)+4>>0]|0)==0?(f=c[k>>2]|0,h=er(c[n>>2]|0)|0,c[t>>2]=BK(f,h,1,c[l>>2]|0)|0,(c[t>>2]|0)!=0):0)break a;c[t>>2]=CK(c[s>>2]|0,c[n>>2]|0,o)|0;if(c[t>>2]|0)break a;c[m>>2]=(c[m>>2]|0)+1}if(a[j+4>>0]|0){if(c[l>>2]|0){o=c[l>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[s>>2]|0)+18>>1]|0)}}else{n=c[k>>2]|0;o=er((c[(c[s>>2]|0)+56>>2]|0)+((c[r>>2]|0)+8)|0)|0;c[t>>2]=BK(n,o,1,c[l>>2]|0)|0;if(c[t>>2]|0)break}j=c[s>>2]|0;if(c[q>>2]|0){DK(j,t);break}q=Fg(c[j+72>>2]|0)|0;c[t>>2]=q;if(!q)EK(c[s>>2]|0,d[(c[(c[s>>2]|0)+56>>2]|0)+(c[r>>2]|0)>>0]|8)}else c[t>>2]=Oj(64254)|0;while(0);a[(c[s>>2]|0)+8>>0]=0;wB(c[s>>2]|0);c[p>>2]=c[t>>2];t=c[p>>2]|0;i=u;return t|0}function CK(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0,u=0;t=i;i=i+80|0;g=t+64|0;h=t+60|0;j=t+56|0;u=t+52|0;p=t+48|0;l=t;o=t+44|0;r=t+40|0;m=t+36|0;n=t+32|0;k=t+28|0;q=t+24|0;c[h>>2]=a;c[j>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[h>>2]|0)+52>>2];Ub[c[(c[h>>2]|0)+80>>2]&255](c[h>>2]|0,c[j>>2]|0,l);b[c[u>>2]>>1]=b[l+18>>1]|0;if((e[l+16>>1]|0|0)==(c[l+12>>2]|0)){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}if(((c[j>>2]|0)+(e[l+18>>1]|0)+-1|0)>>>0>((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]|0)|0)>>>0){c[g>>2]=Oj(61810)|0;u=c[g>>2]|0;i=t;return u|0}c[o>>2]=er((c[j>>2]|0)+(e[l+18>>1]|0)+-4|0)|0;c[n>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[m>>2]=(((c[l+12>>2]|0)-(e[l+16>>1]|0)+(c[n>>2]|0)-1|0)>>>0)/((c[n>>2]|0)>>>0)|0;while(1){u=c[m>>2]|0;c[m>>2]=u+-1;if(!u){s=23;break}c[k>>2]=0;c[q>>2]=0;if((c[o>>2]|0)>>>0<2){s=9;break}u=c[o>>2]|0;if(u>>>0>(gF(c[p>>2]|0)|0)>>>0){s=9;break}if((c[m>>2]|0)!=0?(c[r>>2]=rF(c[p>>2]|0,c[o>>2]|0,q,k)|0,(c[r>>2]|0)!=0):0){s=12;break}if((c[q>>2]|0)==0?(u=HK(c[p>>2]|0,c[o>>2]|0)|0,c[q>>2]=u,(u|0)==0):0)s=17;else if((Qt(c[(c[q>>2]|0)+72>>2]|0)|0)!=1)c[r>>2]=Oj(61846)|0;else s=17;if((s|0)==17){s=0;c[r>>2]=FK(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0)|0}if(c[q>>2]|0)xg(c[(c[q>>2]|0)+72>>2]|0);if(c[r>>2]|0){s=21;break}c[o>>2]=c[k>>2]}if((s|0)==9){c[g>>2]=Oj(61826)|0;u=c[g>>2]|0;i=t;return u|0}else if((s|0)==12){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==21){c[g>>2]=c[r>>2];u=c[g>>2]|0;i=t;return u|0}else if((s|0)==23){c[g>>2]=0;u=c[g>>2]|0;i=t;return u|0}return 0}function DK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){i=f;return}b=FK(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=b;i=f;return}function EK(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+12|0;j=o+8|0;k=o+4|0;n=o;m=o+18|0;l=o+16|0;c[h>>2]=f;c[j>>2]=g;c[k>>2]=c[(c[h>>2]|0)+56>>2];c[n>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[n>>2]|0)+22>>1]|0)&4)tR((c[k>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[n>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[k>>2]|0)+(d[m>>0]|0)>>0]=c[j>>2];b[l>>1]=(d[m>>0]|0)+((c[j>>2]&8|0)==0?12:8);f=(c[k>>2]|0)+((d[m>>0]|0)+1)|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[k>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[n>>2]|0)+36>>2]|0)>>>8;a[(c[k>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[n>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[l>>1]|0);St(c[h>>2]|0,c[j>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[l>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[k>>2]|0)+(c[(c[n>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[k>>2]|0)+(e[l>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[k>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[n>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;i=o;return}function FK(b,d,f){b=b|0;d=d|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,r=0,s=0;s=i;i=i+48|0;g=s+40|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;p=s+16|0;o=s+12|0;r=s+8|0;m=s+4|0;n=s;c[h>>2]=b;c[j>>2]=d;c[k>>2]=f;c[q>>2]=0;c[l>>2]=0;c[p>>2]=c[(c[h>>2]|0)+12>>2];if((c[k>>2]|0)>>>0<2){c[g>>2]=Oj(61664)|0;r=c[g>>2]|0;i=s;return r|0}if(c[j>>2]|0){c[o>>2]=c[j>>2];GK(c[(c[o>>2]|0)+72>>2]|0)}else c[o>>2]=HK(c[h>>2]|0,c[k>>2]|0)|0;c[r>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[r>>2]|0)){c[m>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+36|0)|0;at((c[(c[p>>2]|0)+56>>2]|0)+36|0,(c[m>>2]|0)+1|0);if(e[(c[h>>2]|0)+22>>1]&4){if((c[o>>2]|0)==0?(d=uF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,(d|0)!=0):0)break;d=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;c[r>>2]=d;if(d)break;tR(c[(c[o>>2]|0)+56>>2]|0,0,c[(c[(c[o>>2]|0)+52>>2]|0)+32>>2]|0)|0}if((a[(c[h>>2]|0)+17>>0]|0)!=0?(FJ(c[h>>2]|0,c[k>>2]|0,2,0,r),(c[r>>2]|0)!=0):0)break;if(c[m>>2]|0){c[l>>2]=er((c[(c[p>>2]|0)+56>>2]|0)+32|0)|0;c[r>>2]=uF(c[h>>2]|0,c[l>>2]|0,q,0)|0;if(c[r>>2]|0)break;c[n>>2]=er((c[(c[q>>2]|0)+56>>2]|0)+4|0)|0;if((c[n>>2]|0)>>>0>((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[r>>2]=Oj(61717)|0;break}if((c[n>>2]|0)>>>0<((((c[(c[h>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[r>>2]=Fg(c[(c[q>>2]|0)+72>>2]|0)|0;if(c[r>>2]|0)break;at((c[(c[q>>2]|0)+56>>2]|0)+4|0,(c[n>>2]|0)+1|0);at((c[(c[q>>2]|0)+56>>2]|0)+(8+(c[n>>2]<<2))|0,c[k>>2]|0);if((c[o>>2]|0)!=0?(e[(c[h>>2]|0)+22>>1]&4|0)==0:0)IK(c[(c[o>>2]|0)+72>>2]|0);c[r>>2]=JK(c[h>>2]|0,c[k>>2]|0)|0;break}}if((c[o>>2]|0)==0?(d=uF(c[h>>2]|0,c[k>>2]|0,o,0)|0,c[r>>2]=d,0!=(d|0)):0)break;c[r>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;if(!(c[r>>2]|0)){at(c[(c[o>>2]|0)+56>>2]|0,c[l>>2]|0);at((c[(c[o>>2]|0)+56>>2]|0)+4|0,0);at((c[(c[p>>2]|0)+56>>2]|0)+32|0,c[k>>2]|0)}}while(0);if(c[o>>2]|0)a[c[o>>2]>>0]=0;wB(c[o>>2]|0);wB(c[q>>2]|0);c[g>>2]=c[r>>2];r=c[g>>2]|0;i=s;return r|0}function GK(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;KK(c[d>>2]|0);i=b;return}function HK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=cs(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=hF(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}else{c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}return 0}function IK(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){i=g;return}if(c[(c[f>>2]|0)+104>>2]|0){i=g;return}a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|32;a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-5;i=g;return}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=ij(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;i=g;return f|0}b=c[e>>2]|0;if(b>>>0>(mj(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;i=g;return f|0}c[f>>2]=jj(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}function KK(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return}function LK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;o=p+16|0;n=p+12|0;l=p+8|0;k=p+4|0;m=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[n>>2]=0;c[l>>2]=c[(c[g>>2]|0)+4>>2];if(c[(c[l>>2]|0)+8>>2]|0){c[f>>2]=262;o=c[f>>2]|0;i=p;return o|0}if((c[h>>2]|0)>>>0<2){c[f>>2]=Oj(64375)|0;o=c[f>>2]|0;i=p;return o|0}c[o>>2]=uF(c[l>>2]|0,c[h>>2]|0,n,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=WI(c[g>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){wB(c[n>>2]|0);c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[c[j>>2]>>2]=0;if(a[(c[l>>2]|0)+17>>0]|0){pg(c[g>>2]|0,4,k);d=c[n>>2]|0;do if((c[h>>2]|0)==(c[k>>2]|0)){DK(d,o);wB(c[n>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}}else{wB(d);c[o>>2]=uF(c[l>>2]|0,c[k>>2]|0,m,0)|0;if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[o>>2]=CJ(c[l>>2]|0,c[m>>2]|0,1,0,c[h>>2]|0,0)|0;wB(c[m>>2]|0);if(c[o>>2]|0){c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}c[m>>2]=0;c[o>>2]=uF(c[l>>2]|0,c[k>>2]|0,m,0)|0;DK(c[m>>2]|0,o);wB(c[m>>2]|0);if(!(c[o>>2]|0)){c[c[j>>2]>>2]=c[k>>2];break}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}while(0);c[k>>2]=(c[k>>2]|0)+-1;while(1){if((c[k>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[l>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=sF(c[l>>2]|0,c[k>>2]|0)|0,(n|0)!=(c[k>>2]|0)):0)break;c[k>>2]=(c[k>>2]|0)+-1}c[o>>2]=Ag(c[g>>2]|0,4,c[k>>2]|0)|0}else{DK(c[n>>2]|0,o);wB(c[n>>2]|0)}c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function MK(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=NK((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;i=d;return b|0}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+64|0;e=l+60|0;f=l+56|0;d=l+52|0;j=l+48|0;k=l;g=l+44|0;h=l+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=0;b=k;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[j>>2]=OK(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[j>>2]|0))c[j>>2]=PK(c[e>>2]|0,c[f>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;i=l;return k|0}c[h>>2]=0;d=(c[e>>2]|0)+40+8|0;QK(c[(c[e>>2]|0)+40>>2]|0,k,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;RK(k,d,((d|0)<0)<<31>>31);c[g>>2]=c[c[f>>2]>>2];while(1){b=c[g>>2]|0;if(!(c[g>>2]|0))break;c[h>>2]=c[b+4>>2];d=c[c[g>>2]>>2]|0;RK(k,d,((d|0)<0)<<31>>31);SK(k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[g>>2]|0);c[g>>2]=c[h>>2]}c[c[f>>2]>>2]=b;c[j>>2]=TK(k,(c[e>>2]|0)+40+8|0)|0;k=c[j>>2]|0;i=l;return k|0}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+28|0;g=l+24|0;h=l+20|0;k=l+16|0;j=l;c[g>>2]=a;a=l+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(zi(202)|0){c[f>>2]=3338;k=c[f>>2]|0;i=l;return k|0}c[k>>2]=$K(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,k)|0;if(!(c[k>>2]|0)){e=j;c[e>>2]=0;c[e+4>>2]=0;Os(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[k>>2];k=c[f>>2]|0;i=l;return k|0}function PK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+28|0;g=n+24|0;h=n+20|0;k=n+16|0;j=n+12|0;l=n+8|0;e=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[e>>2]=UK(c[g>>2]|0)|0;if(c[e>>2]|0){c[f>>2]=c[e>>2];m=c[f>>2]|0;i=n;return m|0}c[l>>2]=c[c[h>>2]>>2];e=VK(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+32>>2]=e;c[j>>2]=kg(256,0)|0;if(!(c[j>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;i=n;return m|0}while(1){if(!(c[l>>2]|0))break;b=c[l>>2]|0;do if(c[(c[h>>2]|0)+4>>2]|0)if((b|0)==(c[(c[h>>2]|0)+4>>2]|0)){c[m>>2]=0;break}else{c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)+(c[(c[l>>2]|0)+4>>2]|0);break}else c[m>>2]=c[b+4>>2];while(0);c[(c[l>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if(!(c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0))break;WK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]=c[l>>2];c[l>>2]=c[m>>2]}c[l>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=64)break;WK(c[g>>2]|0,c[l>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,l);c[k>>2]=(c[k>>2]|0)+1}c[c[h>>2]>>2]=c[l>>2];Kd(c[j>>2]|0);c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function QK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;a=k;c[a>>2]=e;c[a+4>>2]=f;e=c[h>>2]|0;f=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a=c[j>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=a;if(c[(c[h>>2]|0)+4>>2]|0){b=k;a=c[j>>2]|0;a=zR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=a;c[(c[h>>2]|0)+16>>2]=a;a=c[(c[h>>2]|0)+12>>2]|0;a=oR(c[k>>2]|0,c[k+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;k=(c[h>>2]|0)+24|0;c[k>>2]=a;c[k+4>>2]=C;c[(c[h>>2]|0)+8>>2]=c[j>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];i=l;return}else{c[c[h>>2]>>2]=7;i=l;return}}function RK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+12|0;j=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;a=j;c[f>>2]=qI(g,c[a>>2]|0,c[a+4>>2]|0)|0;SK(c[h>>2]|0,g,c[f>>2]|0);i=e;return}function SK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=c[g>>2];while(1){if((c[j>>2]|0)<=0){e=9;break}if(c[c[e>>2]>>2]|0){e=9;break}c[h>>2]=c[j>>2];if((c[h>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[h>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);rR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[j>>2]|0))|0,c[h>>2]|0)|0;b=(c[e>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+(c[h>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){l=c[(c[e>>2]|0)+32>>2]|0;d=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;b=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;a=c[(c[e>>2]|0)+12>>2]|0;a=pR(c[m>>2]|0,c[m+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Hg(l,d,b,a,C)|0;c[c[e>>2]>>2]=a;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;a=c[(c[e>>2]|0)+8>>2]|0;b=(c[e>>2]|0)+24|0;d=b;a=pR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[b>>2]=a;c[b+4>>2]=C}c[j>>2]=(c[j>>2]|0)-(c[h>>2]|0)}if((e|0)==9){i=k;return}}function TK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?(c[(c[d>>2]|0)+4>>2]|0)!=0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){j=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;k=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=pR(c[k>>2]|0,c[k+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Hg(j,h,a,b,C)|0;c[c[d>>2]>>2]=b}j=(c[d>>2]|0)+24|0;k=c[(c[d>>2]|0)+16>>2]|0;k=pR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;e=c[e>>2]|0;c[e>>2]=k;c[e+4>>2]=C;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];d=c[d>>2]|0;e=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));i=g;return c[f>>2]|0}function UK(d){d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=jF(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;d=c[e>>2]|0;i=h;return d|0}while(0);c[e>>2]=0;d=c[e>>2]|0;i=h;return d|0}function VK(a){a=a|0;var b=0,e=0,f=0;f=i;i=i+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);i=f;return c[b>>2]|0}function WK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+28|0;g=o+24|0;h=o+20|0;j=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[m>>2]=l;c[k>>2]=0;while(1){if(!((c[g>>2]|0)!=0?(c[h>>2]|0)!=0:0))break;c[n>>2]=Sb[c[(c[f>>2]|0)+32>>2]&255](c[f>>2]|0,k,(c[g>>2]|0)+8|0,c[c[g>>2]>>2]|0,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0)|0;if((c[n>>2]|0)<=0){c[c[m>>2]>>2]=c[g>>2];c[m>>2]=(c[g>>2]|0)+4;c[g>>2]=c[(c[g>>2]|0)+4>>2];continue}else{c[c[m>>2]>>2]=c[h>>2];c[m>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;continue}}c[c[m>>2]>>2]=(c[g>>2]|0)!=0?c[g>>2]|0:c[h>>2]|0;c[c[j>>2]>>2]=c[l>>2];i=o;return}function XK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=i;i=i+64|0;q=x+52|0;r=x+48|0;s=x+44|0;t=x+40|0;u=x+36|0;v=x+32|0;z=x+28|0;y=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;p=x+8|0;w=x+4|0;l=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[z>>2]=c[s>>2];c[y>>2]=c[u>>2];c[m>>2]=d[(c[z>>2]|0)+1>>0];c[n>>2]=d[(c[y>>2]|0)+1>>0];c[o>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[p>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);h=c[m>>2]|0;k=c[n>>2]|0;a:do if(!((c[m>>2]|0)>7&(c[n>>2]|0)>7)){if((h|0)==(k|0)){if((d[c[o>>2]>>0]^d[c[p>>2]>>0])&128){c[w>>2]=(d[c[o>>2]>>0]&128|0)!=0?-1:1;break}c[w>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[42896+(c[m>>2]|0)>>0]|0))break a;z=(d[(c[o>>2]|0)+(c[l>>2]|0)>>0]|0)-(d[(c[p>>2]|0)+(c[l>>2]|0)>>0]|0)|0;c[w>>2]=z;if(z)break a;c[l>>2]=(c[l>>2]|0)+1}}do if((c[n>>2]|0)<=7)if((c[m>>2]|0)>7){c[w>>2]=-1;break}else{c[w>>2]=(c[m>>2]|0)-(c[n>>2]|0);break}else c[w>>2]=1;while(0);if((c[w>>2]|0)>0){if(!(d[c[o>>2]>>0]&128))break;c[w>>2]=-1;break}else{if(!(d[c[p>>2]>>0]&128))break;c[w>>2]=1;break}}else c[w>>2]=h-k;while(0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_K(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;z=c[w>>2]|0;i=x;return z|0}else{if(!(a[c[h+16>>2]>>0]|0)){z=c[w>>2]|0;i=x;return z|0}c[w>>2]=_(c[w>>2]|0,-1)|0;z=c[w>>2]|0;i=x;return z|0}return 0}function YK(b,f,g,h,j,k){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;q=x+48|0;r=x+44|0;s=x+40|0;t=x+36|0;u=x+32|0;v=x+28|0;y=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;l=x+8|0;m=x+4|0;w=x;c[q>>2]=b;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=j;c[v>>2]=k;c[y>>2]=c[s>>2];c[n>>2]=c[u>>2];c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[p>>2]=(c[n>>2]|0)+(d[c[n>>2]>>0]|0);h=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[l>>2]=d[h>>0];else AF(h,l)|0;c[l>>2]=((c[l>>2]|0)-13|0)/2|0;h=(c[n>>2]|0)+1|0;if((d[(c[n>>2]|0)+1>>0]|0)<128)c[m>>2]=d[h>>0];else AF(h,m)|0;c[m>>2]=((c[m>>2]|0)-13|0)/2|0;c[w>>2]=EQ(c[o>>2]|0,c[p>>2]|0,(c[l>>2]|0)<(c[m>>2]|0)?c[l>>2]|0:c[m>>2]|0)|0;if(!(c[w>>2]|0))c[w>>2]=(c[l>>2]|0)-(c[m>>2]|0);h=c[(c[(c[q>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[w>>2]|0)){if((e[h+6>>1]|0)<=1){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_K(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;y=c[w>>2]|0;i=x;return y|0}else{if(!(a[c[h+16>>2]>>0]|0)){y=c[w>>2]|0;i=x;return y|0}c[w>>2]=_(c[w>>2]|0,-1)|0;y=c[w>>2]|0;i=x;return y|0}return 0}function ZK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=yF(a,b,o)|0;i=p;return o|0}kF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=yF(a,b,o)|0;i=p;return o|0}function _K(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[h>>2]|0)+12>>2];if(c[c[j>>2]>>2]|0){a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=zF(a,b,o,1)|0;i=p;return o|0}kF(c[(c[(c[h>>2]|0)+8>>2]|0)+28>>2]|0,c[n>>2]|0,c[m>>2]|0,c[o>>2]|0);c[c[j>>2]>>2]=1;a=c[l>>2]|0;b=c[k>>2]|0;o=c[o>>2]|0;o=zF(a,b,o,1)|0;i=p;return o|0}function $K(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;m=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[h>>2]=b;c[m>>2]=d;c[j>>2]=e;c[k>>2]=f;b=c[(c[g>>2]|0)+4>>2]|0;c[l>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[l>>2]|0)){c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[n>>2]=Pr(c[g>>2]|0,c[h>>2]|0,c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;g=c[l>>2]|0;if(c[n>>2]|0){Kd(g);n=c[n>>2]|0;i=o;return n|0}else{c[c[m>>2]>>2]=g;n=c[n>>2]|0;i=o;return n|0}return 0}function aL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+36|0;f=q+32|0;o=q+28|0;j=q+24|0;n=q+20|0;h=q+16|0;l=q+12|0;m=q+8|0;g=q+4|0;k=q;c[e>>2]=a;c[f>>2]=b;c[j>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2];c[n>>2]=c[(c[e>>2]|0)+4>>2];c[o>>2]=bL((c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[o>>2]|0)){c[g>>2]=0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[h>>2]=((c[c[e>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[h>>2]|0)<=0)break;do if(c[(c[l>>2]|0)+24>>2]|0)if(!(c[(c[m>>2]|0)+24>>2]|0)){c[k>>2]=-1;break}else{c[k>>2]=Sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,g,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;break}else c[k>>2]=1;while(0);do if((c[k>>2]|0)<0)p=12;else{if((c[k>>2]|0)==0?(c[l>>2]|0)>>>0<(c[m>>2]|0)>>>0:0){p=12;break}if(c[(c[l>>2]|0)+24>>2]|0)c[g>>2]=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[m>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[l>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[e>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]=((c[l>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0)/56|0;c[m>>2]=(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+((c[h>>2]^1)<<2)>>2]|0)*56|0);c[g>>2]=0}c[h>>2]=(c[h>>2]|0)/2|0}c[c[f>>2]>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+((c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[o>>2]|0)){p=d[(c[(c[n>>2]|0)+12>>2]|0)+11>>0]|0;i=q;return p|0}else{p=c[o>>2]|0;i=q;return p|0}return 0}function bL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;b=j+24|0;d=j+20|0;h=j+16|0;f=j;g=j+12|0;e=j+8|0;c[d>>2]=a;c[h>>2]=0;k=f;c[k>>2]=0;c[k+4>>2]=0;k=c[d>>2]|0;m=c[k+4>>2]|0;a=(c[d>>2]|0)+8|0;l=c[a+4>>2]|0;if((m|0)>(l|0)|((m|0)==(l|0)?(c[k>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[e>>2]=1;if(((c[g>>2]|0)!=0?(c[h>>2]=cL(c[g>>2]|0)|0,(c[h>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[h>>2]=dL(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[e>>2]=0}if(c[e>>2]|0){yK(c[d>>2]|0);c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}}if(!(c[h>>2]|0))c[h>>2]=eL(c[d>>2]|0,f)|0;if(!(c[h>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[h>>2]=fL(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[h>>2];m=c[b>>2]|0;i=j;return m|0}function cL(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=iL(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;i=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;i=e;return f|0}function dL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+36|0;h=q+32|0;j=q+28|0;k=q+24|0;l=q;p=q+20|0;o=q+16|0;m=q+12|0;n=q+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=l;c[a>>2]=e;c[a+4>>2]=f;c[p>>2]=0;if(zi(201)|0){c[g>>2]=266;p=c[g>>2]|0;i=q;return p|0}if(c[(c[j>>2]|0)+44>>2]|0){Hs(c[(c[j>>2]|0)+24>>2]|0,0,0,c[(c[j>>2]|0)+44>>2]|0)|0;c[(c[j>>2]|0)+44>>2]=0}a=l;b=c[a+4>>2]|0;d=c[j>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=(c[k>>2]|0)+8|0;b=c[d+4>>2]|0;a=(c[j>>2]|0)+8|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;c[(c[j>>2]|0)+24>>2]=c[c[k>>2]>>2];c[p>>2]=gL(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+44|0)|0;if((c[p>>2]|0)==0?(c[(c[j>>2]|0)+44>>2]|0)==0:0){c[o>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+12>>2];b=c[j>>2]|0;a=c[o>>2]|0;a=zR(c[b>>2]|0,c[b+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[m>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0)){a=c[o>>2]|0;a=$f(a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+36>>2]=a;if(!(c[(c[j>>2]|0)+36>>2]|0))c[p>>2]=7;c[(c[j>>2]|0)+40>>2]=c[o>>2]}if((c[p>>2]|0)==0&(c[m>>2]|0)!=0){c[n>>2]=(c[o>>2]|0)-(c[m>>2]|0);d=c[j>>2]|0;a=c[n>>2]|0;a=pR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;d=C;o=(c[j>>2]|0)+8|0;b=c[o+4>>2]|0;if((d|0)>(b|0)|((d|0)==(b|0)?a>>>0>(c[o>>2]|0)>>>0:0)){a=(c[j>>2]|0)+8|0;o=c[j>>2]|0;o=oR(c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[n>>2]=o}o=c[j>>2]|0;c[p>>2]=$r(c[(c[j>>2]|0)+24>>2]|0,(c[(c[j>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}}c[g>>2]=c[p>>2];p=c[g>>2]|0;i=q;return p|0}function eL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+48|0;f=p+24|0;g=p+20|0;h=p+16|0;m=p+12|0;k=p+32|0;j=p+8|0;l=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;e=c[g>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(Zt((c[(c[g>>2]|0)+44>>2]|0)+b|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=pR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=C}else{q=c[(c[g>>2]|0)+40>>2]|0;e=zR(b|0,e|0,q|0,((q|0)<0)<<31>>31|0)|0;c[m>>2]=e;if((c[m>>2]|0)!=0?((c[(c[g>>2]|0)+40>>2]|0)-(c[m>>2]|0)|0)>=9:0){o=(Zt((c[(c[g>>2]|0)+36>>2]|0)+(c[m>>2]|0)|0,c[h>>2]|0)|0)&255;q=c[g>>2]|0;n=q;o=pR(c[n>>2]|0,c[n+4>>2]|0,o|0,0)|0;c[q>>2]=o;c[q+4>>2]=C;break}c[l>>2]=0;while(1){c[n>>2]=fL(c[g>>2]|0,1,j)|0;if(c[n>>2]|0)break;m=a[c[j>>2]>>0]|0;q=c[l>>2]|0;c[l>>2]=q+1;a[k+(q&15)>>0]=m;if(!((d[c[j>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){Zt(k,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];q=c[f>>2]|0;i=p;return q|0}while(0);c[f>>2]=0;q=c[f>>2]|0;i=p;return q|0}function fL(a,b,d){a=a|0;b=b|0;d=d|0;var 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;u=i;i=i+64|0;g=u+52|0;h=u+48|0;j=u+44|0;k=u+40|0;n=u+36|0;o=u+32|0;e=u+28|0;f=u+24|0;r=u+20|0;l=u+16|0;q=u+12|0;s=u+8|0;p=u+4|0;m=u;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;a=c[h>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if(c[(c[h>>2]|0)+44>>2]|0){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+44>>2]|0)+b;s=c[j>>2]|0;t=c[h>>2]|0;r=t;s=pR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=C;c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}d=c[(c[h>>2]|0)+40>>2]|0;d=zR(b|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;c[n>>2]=d;if(!(c[n>>2]|0)){w=(c[h>>2]|0)+8|0;a=c[h>>2]|0;a=oR(c[w>>2]|0,c[w+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;w=C;d=c[(c[h>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;b=c[h>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&a>>>0>d>>>0)c[e>>2]=c[b+40>>2];else{v=b+8|0;w=c[h>>2]|0;w=oR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[e>>2]=w}w=c[h>>2]|0;c[f>>2]=$r(c[(c[h>>2]|0)+24>>2]|0,c[(c[h>>2]|0)+36>>2]|0,c[e>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];w=c[g>>2]|0;i=u;return w|0}}c[o>>2]=(c[(c[h>>2]|0)+40>>2]|0)-(c[n>>2]|0);do if((c[j>>2]|0)<=(c[o>>2]|0)){c[c[k>>2]>>2]=(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0);v=c[j>>2]|0;w=c[h>>2]|0;t=w;v=pR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C}else{do if((c[(c[h>>2]|0)+16>>2]|0)<(c[j>>2]|0)){if(128>(c[(c[h>>2]|0)+16>>2]<<1|0))b=128;else b=c[(c[h>>2]|0)+16>>2]<<1;c[q>>2]=b;while(1){if((c[j>>2]|0)<=(c[q>>2]|0))break;c[q>>2]=c[q>>2]<<1}w=c[q>>2]|0;c[l>>2]=cg(c[(c[h>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[l>>2]|0){c[(c[h>>2]|0)+16>>2]=c[q>>2];c[(c[h>>2]|0)+28>>2]=c[l>>2];break}c[g>>2]=7;w=c[g>>2]|0;i=u;return w|0}while(0);rR(c[(c[h>>2]|0)+28>>2]|0,(c[(c[h>>2]|0)+36>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;v=c[o>>2]|0;w=c[h>>2]|0;q=w;v=pR(c[q>>2]|0,c[q+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=C;c[r>>2]=(c[j>>2]|0)-(c[o>>2]|0);while(1){if((c[r>>2]|0)<=0){t=27;break}c[p>>2]=c[r>>2];if((c[r>>2]|0)>(c[(c[h>>2]|0)+40>>2]|0))c[p>>2]=c[(c[h>>2]|0)+40>>2];c[s>>2]=fL(c[h>>2]|0,c[p>>2]|0,m)|0;if(c[s>>2]|0)break;rR((c[(c[h>>2]|0)+28>>2]|0)+((c[j>>2]|0)-(c[r>>2]|0))|0,c[m>>2]|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)-(c[p>>2]|0)}if((t|0)==27){c[c[k>>2]>>2]=c[(c[h>>2]|0)+28>>2];break}c[g>>2]=c[s>>2];w=c[g>>2]|0;i=u;return w|0}while(0);c[g>>2]=0;w=c[g>>2]|0;i=u;return w|0}function gL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;l=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a=(c[e>>2]|0)+8|0;k=c[a+4>>2]|0;d=c[(c[(c[(c[l>>2]|0)+8>>2]|0)+24>>2]|0)+140>>2]|0;b=((d|0)<0)<<31>>31;if(!((k|0)<(b|0)|((k|0)==(b|0)?(c[a>>2]|0)>>>0<=d>>>0:0))){l=c[h>>2]|0;i=j;return l|0}c[g>>2]=c[c[e>>2]>>2];if((c[c[c[g>>2]>>2]>>2]|0)<3){l=c[h>>2]|0;i=j;return l|0}c[h>>2]=hL(c[g>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;l=c[h>>2]|0;i=j;return l|0}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;i=g;return 0}function iL(a){a=a|0;var b=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;o=i;i=i+96|0;b=o+88|0;l=o+84|0;m=o+80|0;f=o+48|0;j=o+76|0;p=o+72|0;h=o+68|0;n=o+8|0;d=o+64|0;k=o+60|0;g=o+56|0;e=o;c[b>>2]=a;c[l>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=f;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[h>>2]=c[(c[b>>2]|0)+4>>2];a=f;QK(c[c[j>>2]>>2]|0,n,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[l>>2]|0)break;c[k>>2]=(c[(c[h>>2]|0)+12>>2]|0)+((c[(c[(c[h>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[g>>2]=c[(c[k>>2]|0)+20>>2];r=n+24|0;q=c[n+16>>2]|0;q=pR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=e;c[r>>2]=q;c[r+4>>2]=C;if(!(c[(c[k>>2]|0)+24>>2]|0))break;a=e;p=c[g>>2]|0;p=pR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=C;q=c[g>>2]|0;q=GF(q,((q|0)<0)<<31>>31)|0;q=pR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=C;p=f;r=c[(c[b>>2]|0)+16>>2]|0;r=pR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=C;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[g>>2]|0;RK(n,r,((r|0)<0)<<31>>31);SK(n,c[(c[k>>2]|0)+32>>2]|0,c[g>>2]|0);c[l>>2]=aL(c[(c[b>>2]|0)+4>>2]|0,d)|0}c[m>>2]=TK(n,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){r=c[l>>2]|0;i=o;return r|0}c[l>>2]=c[m>>2];r=c[l>>2]|0;i=o;return r|0}function jL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[d>>2]=0;c[f>>2]=kL(c[b>>2]|0,d)|0;if(!(c[f>>2]|0)){c[f>>2]=lL(c[e>>2]|0,c[d>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[d>>2];c[d>>2]=0}if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}uK(c[d>>2]|0);f=c[f>>2]|0;i=g;return f|0}function kL(a,b){a=a|0;b=b|0;var 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;s=i;i=i+64|0;e=s+52|0;f=s+48|0;n=s+44|0;r=s+40|0;k=s+36|0;q=s+32|0;p=s+28|0;l=s+24|0;h=s;g=s+20|0;j=s+16|0;o=s+12|0;m=s+8|0;c[e>>2]=a;c[f>>2]=b;c[n>>2]=0;c[r>>2]=0;c[k>>2]=0;while(1){if(c[r>>2]|0)break;if((c[k>>2]|0)>=(d[(c[e>>2]|0)+59>>0]|0|0))break;c[q>>2]=(c[e>>2]|0)+64+((c[k>>2]|0)*72|0);c[p>>2]=0;c[l>>2]=pL(c[(c[q>>2]|0)+28>>2]|0)|0;b=h;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[q>>2]|0)+28>>2]|0)<=16)c[r>>2]=qL(c[q>>2]|0,c[(c[q>>2]|0)+28>>2]|0,h,p)|0;else{c[j>>2]=0;c[p>>2]=rL(16)|0;if(!(c[p>>2]|0))c[r>>2]=7;c[g>>2]=0;while(1){if(!((c[g>>2]|0)<(c[(c[q>>2]|0)+28>>2]|0)?(c[r>>2]|0)==0:0))break a;c[o>>2]=0;if(((c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0)<16)a=(c[(c[q>>2]|0)+28>>2]|0)-(c[g>>2]|0)|0;else a=16;c[m>>2]=a;c[r>>2]=qL(c[q>>2]|0,c[m>>2]|0,h,o)|0;if(!(c[r>>2]|0)){t=c[q>>2]|0;a=c[l>>2]|0;b=c[j>>2]|0;c[j>>2]=b+1;c[r>>2]=sL(t,a,b,c[p>>2]|0,c[o>>2]|0)|0}c[g>>2]=(c[g>>2]|0)+16}}while(0);a=c[p>>2]|0;if(!(c[r>>2]|0))c[n>>2]=a;else uK(a);c[k>>2]=(c[k>>2]|0)+1}if(!(c[r>>2]|0)){q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}uK(c[n>>2]|0);c[n>>2]=0;q=c[n>>2]|0;t=c[f>>2]|0;c[t>>2]=q;t=c[r>>2]|0;i=s;return t|0}function lL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;l=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[l>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;c[l>>2]=mL((c[(c[h>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[l>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[l>>2];m=c[f>>2]|0;i=n;return m|0}c[j>>2]=(c[c[h>>2]>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;nL(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;i=n;return m|0}function mL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;i=g;return h|0}c[f>>2]=oL(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function nL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+36|0;e=o+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;l=o+12|0;m=o+8|0;f=o+4|0;n=o;c[d>>2]=a;c[e>>2]=b;b=c[e>>2]|0;if((c[e>>2]|0)>=((c[c[d>>2]>>2]|0)/2|0|0)){c[g>>2]=b-((c[c[d>>2]>>2]|0)/2|0)<<1;c[h>>2]=(c[g>>2]|0)+1}else{c[g>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+(b<<1<<2)>>2];c[h>>2]=c[(c[(c[d>>2]|0)+8>>2]|0)+((c[e>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[g>>2]|0)*56|0);c[l>>2]=(c[(c[d>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[l>>2]|0)+24>>2]|0)){c[j>>2]=c[g>>2];break}c[m>>2]=c[(c[d>>2]|0)+4>>2];c[f>>2]=0;c[n>>2]=Sb[c[(c[m>>2]|0)+32>>2]&255](c[m>>2]|0,f,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[l>>2]|0)+32>>2]|0,c[(c[l>>2]|0)+20>>2]|0)|0;if((c[n>>2]|0)<=0){c[j>>2]=c[g>>2];break}else{c[j>>2]=c[h>>2];break}}else c[j>>2]=c[h>>2];while(0);c[(c[(c[d>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2];i=o;return}function oL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+24|0;l=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;e=k+4|0;f=k;c[d>>2]=a;c[l>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=c[c[g>>2]>>2];c[e>>2]=c[(c[(c[h>>2]|0)+8>>2]|0)+24>>2];c[j>>2]=lL(c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,c[l>>2]|0)|0;if(!(c[j>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[(c[h>>2]|0)+56>>2]|0)){l=(c[h>>2]|0)+56+8|0;c[j>>2]=OK(c[e>>2]|0,c[l>>2]|0,c[l+4>>2]|0,(c[h>>2]|0)+56|0)|0;l=(c[h>>2]|0)+56+8|0;c[l>>2]=0;c[l+4>>2]=0}if(!(c[j>>2]|0)){c[(c[g>>2]|0)+32+16>>2]=c[(c[h>>2]|0)+56>>2];b=(c[h>>2]|0)+56+8|0;l=c[b+4>>2]|0;a=(c[g>>2]|0)+8|0;c[a>>2]=c[b>>2];c[a+4>>2]=l;a=c[f>>2]|0;l=(c[h>>2]|0)+56+8|0;h=l;h=pR(c[h>>2]|0,c[h+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;c[l>>2]=h;c[l+4>>2]=C}}if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}c[j>>2]=bL(c[d>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function pL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;j=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((j|0)<(h|0)|((j|0)==(h|0)?(c[g>>2]|0)>>>0>>0:0)))break;h=e;h=AR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=C;c[d>>2]=(c[d>>2]|0)+1}i=f;return c[d>>2]|0}function qL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;f=q+44|0;g=q+40|0;h=q+36|0;j=q+32|0;n=q+28|0;l=q+8|0;k=q+24|0;p=q+20|0;m=q;o=q+16|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a=c[h>>2]|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[p>>2]=0;e=rL(c[g>>2]|0)|0;c[n>>2]=e;c[c[j>>2]>>2]=e;if(!(c[n>>2]|0))c[p>>2]=7;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[g>>2]|0)?(c[p>>2]|0)==0:0))break;a=m;c[a>>2]=0;c[a+4>>2]=0;c[o>>2]=(c[(c[n>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);a=l;c[p>>2]=uL(c[f>>2]|0,(c[f>>2]|0)+40|0,c[a>>2]|0,c[a+4>>2]|0,c[o>>2]|0,m)|0;a=(c[o>>2]|0)+8|0;d=c[a+4>>2]|0;e=l;c[e>>2]=c[a>>2];c[e+4>>2]=d;c[k>>2]=(c[k>>2]|0)+1}if(!(c[p>>2]|0)){d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}uK(c[n>>2]|0);c[c[j>>2]>>2]=0;d=l;o=d;o=c[o>>2]|0;d=d+4|0;d=c[d>>2]|0;e=c[h>>2]|0;a=e;c[a>>2]=o;e=e+4|0;c[e>>2]=d;p=c[p>>2]|0;i=q;return p|0}function rL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(zi(100)|0)a=0;else{a=c[d>>2]|0;a=kg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;i=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;i=g;return f|0}function sL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=i;i=i+64|0;g=s+48|0;h=s+44|0;p=s+40|0;u=s+36|0;t=s+32|0;r=s+28|0;l=s+24|0;j=s+20|0;q=s+16|0;m=s+12|0;k=s+8|0;o=s+4|0;n=s;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[u>>2]=e;c[t>>2]=f;c[r>>2]=0;c[l>>2]=1;c[q>>2]=c[u>>2];c[r>>2]=tL(c[g>>2]|0,c[t>>2]|0,m)|0;c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;c[l>>2]=c[l>>2]<<4;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=1;while(1){if(!((c[j>>2]|0)<(c[h>>2]|0)?(c[r>>2]|0)==0:0))break;c[k>>2]=((c[p>>2]|0)/(c[l>>2]|0)|0|0)%16|0;c[o>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[k>>2]|0)*56|0);do if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=rL(16)|0;if(!(c[n>>2]|0)){c[r>>2]=7;break}else{c[r>>2]=tL(c[g>>2]|0,c[n>>2]|0,(c[o>>2]|0)+48|0)|0;break}}while(0);if(!(c[r>>2]|0)){c[q>>2]=c[(c[(c[o>>2]|0)+48>>2]|0)+4>>2];c[l>>2]=(c[l>>2]|0)/16|0}c[j>>2]=(c[j>>2]|0)+1}g=c[m>>2]|0;if(!(c[r>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[p>>2]|0)%16|0)*56|0)+48>>2]=g;u=c[r>>2]|0;i=s;return u|0}else{zK(g);u=c[r>>2]|0;i=s;return u|0}return 0}function tL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;g=k+16|0;e=k+12|0;f=k+8|0;j=k+4|0;h=k;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=0;if(zi(100)|0)b=0;else b=kg(64,0)|0;c[c[f>>2]>>2]=b;c[h>>2]=b;b=c[e>>2]|0;if(!(c[h>>2]|0)){uK(b);c[j>>2]=7;j=c[j>>2]|0;i=k;return j|0}c[(c[h>>2]|0)+4>>2]=b;c[c[h>>2]>>2]=c[g>>2];b=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))b=(c[b+8>>2]|0)+9|0;else b=(c[b+4>>2]|0)/2|0;c[(c[h>>2]|0)+16>>2]=b;f=c[(c[h>>2]|0)+16>>2]|0;h=(c[g>>2]|0)+56+8|0;g=h;g=pR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[h>>2]=g;c[h+4>>2]=C;j=c[j>>2]|0;i=k;return j|0}function uL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+48|0;o=m+32|0;n=m+28|0;p=m+8|0;h=m+24|0;j=m+20|0;l=m+16|0;k=m;c[o>>2]=a;c[n>>2]=b;a=p;c[a>>2]=d;c[a+4>>2]=e;c[h>>2]=f;c[j>>2]=g;g=p;c[l>>2]=dL(c[o>>2]|0,c[h>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[l>>2]|0)){o=k;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=eL(c[h>>2]|0,k)|0;o=c[h>>2]|0;p=k;p=pR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[h>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=C;o=k;p=c[j>>2]|0;n=p;o=pR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=C}if(c[l>>2]|0){p=c[l>>2]|0;i=m;return p|0}c[l>>2]=bL(c[h>>2]|0)|0;p=c[l>>2]|0;i=m;return p|0}function vL(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function wL(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=xL(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;i=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;i=f;return g|0}function xL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+12|0;h=j+8|0;e=j+4|0;f=j;c[h>>2]=a;c[e>>2]=b;if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=bF(c[h>>2]|0)|0;else a=0;c[f>>2]=a;if(c[f>>2]|0){c[c[e>>2]>>2]=1;c[g>>2]=c[f>>2];h=c[g>>2]|0;i=j;return h|0}a=c[e>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0|0)!=1)c[a>>2]=1;else c[a>>2]=0;c[g>>2]=0;h=c[g>>2]|0;i=j;return h|0}function yL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[(c[e>>2]|0)+20>>2]|0)+12>>2]|0)+((c[(c[(c[b+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;i=j;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;i=j;return h|0}return 0}function zL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;q=t+16|0;o=t+12|0;r=t+8|0;s=t+4|0;p=t;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=j;if(c[c[n>>2]>>2]|0){i=t;return}c[o>>2]=c[(c[k>>2]|0)+56>>2];c[r>>2]=(c[(c[k>>2]|0)+64>>2]|0)+(c[l>>2]<<1);c[q>>2]=(d[c[r>>2]>>0]|0)<<8|(d[(c[r>>2]|0)+1>>0]|0);c[p>>2]=d[(c[k>>2]|0)+5>>0];if((c[q>>2]|0)>>>0>=((d[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))>>>0?((c[q>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[s>>2]=QL(c[k>>2]|0,c[q>>2]&65535,c[m>>2]&65535)|0;if(c[s>>2]|0){c[c[n>>2]>>2]=c[s>>2];i=t;return}h=(c[k>>2]|0)+18|0;b[h>>1]=(b[h>>1]|0)+-1<<16>>16;if(!(e[(c[k>>2]|0)+18>>1]|0)){h=(c[o>>2]|0)+((c[p>>2]|0)+1)|0;a[h>>0]=0;a[h+1>>0]=0;a[h+2>>0]=0;a[h+3>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+7)>>0]=0;a[(c[o>>2]|0)+((c[p>>2]|0)+5)>>0]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];b[(c[k>>2]|0)+16>>1]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[k>>2]|0)+5>>0]|0)-(d[(c[k>>2]|0)+6>>0]|0)-8;i=t;return}else{sR(c[r>>2]|0,(c[r>>2]|0)+2|0,(e[(c[k>>2]|0)+18>>1]|0)-(c[l>>2]|0)<<1|0)|0;a[(c[o>>2]|0)+((c[p>>2]|0)+3)>>0]=(e[(c[k>>2]|0)+18>>1]|0)>>8;a[(c[o>>2]|0)+((c[p>>2]|0)+3)+1>>0]=b[(c[k>>2]|0)+18>>1];h=(c[k>>2]|0)+16|0;b[h>>1]=(e[h>>1]|0)+2;i=t;return}}h=Oj(62080)|0;c[c[n>>2]>>2]=h;i=t;return}function AL(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+48|0;n=z+44|0;o=z+40|0;p=z+36|0;q=z+32|0;r=z+28|0;s=z+24|0;t=z+20|0;v=z+16|0;w=z+12|0;u=z+8|0;x=z+4|0;y=z;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;c[s>>2]=l;c[t>>2]=m;c[v>>2]=0;if(c[c[t>>2]>>2]|0){i=z;return}if((d[(c[n>>2]|0)+1>>0]|0)==0?((c[q>>2]|0)+2|0)<=(e[(c[n>>2]|0)+16>>1]|0):0){c[y>>2]=Fg(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}c[u>>2]=c[(c[n>>2]|0)+56>>2];c[y>>2]=SL(c[n>>2]|0,c[q>>2]|0,v)|0;if(c[y>>2]|0){c[c[t>>2]>>2]=c[y>>2];i=z;return}j=(c[n>>2]|0)+16|0;b[j>>1]=(e[j>>1]|0)-(2+(c[q>>2]|0)&65535);rR((c[u>>2]|0)+(c[v>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0)at((c[u>>2]|0)+(c[v>>2]|0)|0,c[s>>2]|0);c[x>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);sR((c[x>>2]|0)+2|0,c[x>>2]|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[c[x>>2]>>0]=c[v>>2]>>8;a[(c[x>>2]|0)+1>>0]=c[v>>2];y=(c[n>>2]|0)+18|0;b[y>>1]=(b[y>>1]|0)+1<<16>>16;y=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+4)|0;j=(a[y>>0]|0)+1<<24>>24;a[y>>0]=j;if(!(j&255)){j=(c[u>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+3)|0;a[j>>0]=(a[j>>0]|0)+1<<24>>24}if(!(a[(c[(c[n>>2]|0)+52>>2]|0)+17>>0]|0)){i=z;return}HJ(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0);i=z;return}if(c[r>>2]|0){rR(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;c[p>>2]=c[r>>2]}if(c[s>>2]|0)at(c[p>>2]|0,c[s>>2]|0);y=(c[n>>2]|0)+1|0;j=a[y>>0]|0;a[y>>0]=j+1<<24>>24;c[w>>2]=j&255;c[(c[n>>2]|0)+32+(c[w>>2]<<2)>>2]=c[p>>2];b[(c[n>>2]|0)+22+(c[w>>2]<<1)>>1]=c[o>>2];i=z;return}function BL(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+64|0;g=r+32|0;q=r+28|0;l=r+24|0;h=r+36|0;m=r+20|0;k=r+16|0;n=r+12|0;o=r+8|0;j=r+4|0;p=r;c[g>>2]=f;c[q>>2]=0;c[l>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[k>>2]=a[(c[g>>2]|0)+68>>0];c[n>>2]=c[(c[g>>2]|0)+120+(c[k>>2]<<2)>>2];f=a[(c[n>>2]|0)+1>>0]|0;if(!(c[k>>2]|0)){if(!(f<<24>>24))break;c[q>>2]=CL(c[n>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[q>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[n>>2]|0)+16>>1]|0)<=(c[l>>2]|0):0)break;c[o>>2]=c[(c[g>>2]|0)+120+((c[k>>2]|0)-1<<2)>>2];c[j>>2]=e[(c[g>>2]|0)+80+((c[k>>2]|0)-1<<1)>>1];c[q>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;do if(!(c[q>>2]|0)){if(((((d[(c[n>>2]|0)+3>>0]|0)!=0?(d[(c[n>>2]|0)+1>>0]|0)==1:0)?(e[(c[n>>2]|0)+22>>1]|0)==(e[(c[n>>2]|0)+18>>1]|0):0)?(c[(c[o>>2]|0)+84>>2]|0)!=1:0)?(e[(c[o>>2]|0)+18>>1]|0)==(c[j>>2]|0):0){c[q>>2]=DL(c[o>>2]|0,c[n>>2]|0,h)|0;break}c[p>>2]=Wi(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[q>>2]=EL(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,(c[k>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Zi(c[m>>2]|0);c[m>>2]=c[p>>2]}while(0);a[(c[n>>2]|0)+1>>0]=0;wB(c[n>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while((c[q>>2]|0)==0);if(!(c[m>>2]|0)){q=c[q>>2]|0;i=r;return q|0}Zi(c[m>>2]|0);q=c[q>>2]|0;i=r;return q|0}function CL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+24|0;g=n+20|0;h=n+16|0;m=n+12|0;k=n+8|0;l=n+4|0;j=n;c[g>>2]=b;c[h>>2]=e;c[k>>2]=0;c[l>>2]=0;c[j>>2]=c[(c[g>>2]|0)+52>>2];c[m>>2]=Fg(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[m>>2]|0)==0?(c[m>>2]=BJ(c[j>>2]|0,k,l,c[(c[g>>2]|0)+84>>2]|0,0)|0,JL(c[g>>2]|0,c[k>>2]|0,m),(a[(c[j>>2]|0)+17>>0]|0)!=0):0)FJ(c[j>>2]|0,c[l>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,m);if(c[m>>2]|0){c[c[h>>2]>>2]=0;wB(c[k>>2]|0);c[f>>2]=c[m>>2];m=c[f>>2]|0;i=n;return m|0}else{rR((c[k>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;rR((c[k>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[k>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;EK(c[g>>2]|0,d[c[(c[k>>2]|0)+56>>2]>>0]&-9);at((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[l>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[f>>2]=0;m=c[f>>2]|0;i=n;return m|0}return 0}function DL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=i;i=i+48|0;j=v+40|0;k=v+36|0;l=v+32|0;m=v+28|0;n=v+24|0;p=v+20|0;t=v+16|0;s=v+12|0;q=v+8|0;o=v+4|0;u=v+44|0;r=v;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[n>>2]=c[(c[l>>2]|0)+52>>2];if(!(e[(c[l>>2]|0)+18>>1]|0)){c[j>>2]=Oj(62577)|0;u=c[j>>2]|0;i=v;return u|0}c[t>>2]=BJ(c[n>>2]|0,p,s,0,0)|0;if(!(c[t>>2]|0)){c[q>>2]=(c[m>>2]|0)+4;c[o>>2]=c[(c[l>>2]|0)+32>>2];b[u>>1]=Yb[c[(c[l>>2]|0)+76>>2]&255](c[l>>2]|0,c[o>>2]|0)|0;EK(c[p>>2]|0,13);c[t>>2]=OL(c[p>>2]|0,1,o,u)|0;if(c[t>>2]|0){c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}b[(c[p>>2]|0)+16>>1]=(c[(c[n>>2]|0)+36>>2]|0)-(e[(c[p>>2]|0)+14>>1]|0)-2-(e[u>>1]|0);if((a[(c[n>>2]|0)+17>>0]|0)!=0?(FJ(c[n>>2]|0,c[s>>2]|0,5,c[(c[k>>2]|0)+84>>2]|0,t),(e[u>>1]|0)>(e[(c[p>>2]|0)+12>>1]|0)):0)HJ(c[p>>2]|0,c[o>>2]|0,t);c[o>>2]=(c[(c[l>>2]|0)+56>>2]|0)+(e[(c[l>>2]|0)+20>>1]&(d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[l>>2]|0)+64>>2]|0)+((e[(c[l>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;if(!(d[u>>0]&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);c[r>>2]=(c[o>>2]|0)+9;do{u=c[o>>2]|0;c[o>>2]=u+1;u=a[u>>0]|0;h=c[q>>2]|0;c[q>>2]=h+1;a[h>>0]=u;if(!(u&128))break}while((c[o>>2]|0)>>>0<(c[r>>2]|0)>>>0);AL(c[k>>2]|0,e[(c[k>>2]|0)+18>>1]|0,c[m>>2]|0,(c[q>>2]|0)-(c[m>>2]|0)|0,0,c[(c[l>>2]|0)+84>>2]|0,t);at((c[(c[k>>2]|0)+56>>2]|0)+((d[(c[k>>2]|0)+5>>0]|0)+8)|0,c[s>>2]|0);wB(c[p>>2]|0)}c[j>>2]=c[t>>2];u=c[j>>2]|0;i=v;return u|0}function EL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=i;i=i+448|0;ga=Da+412|0;ha=Da+408|0;l=Da+404|0;Q=Da+400|0;ia=Da+396|0;C=Da+392|0;za=Da+388|0;t=Da+384|0;wa=Da+380|0;ya=Da+376|0;pa=Da+372|0;Y=Da+368|0;H=Da+364|0;Z=Da+360|0;Aa=Da+356|0;ua=Da+430|0;va=Da+352|0;Ca=Da+348|0;L=Da+344|0;q=Da+340|0;W=Da+336|0;A=Da+332|0;la=Da+320|0;ka=Da+300|0;K=Da+296|0;p=Da+288|0;na=Da+264|0;oa=Da+244|0;Ba=Da+224|0;o=Da+220|0;M=Da+216|0;ja=Da+432|0;S=Da+196|0;E=Da+176|0;D=Da+420|0;ma=Da+160|0;m=Da+152|0;v=Da+148|0;r=Da+144|0;n=Da+140|0;s=Da+418|0;x=Da+136|0;y=Da+132|0;z=Da+416|0;w=Da+128|0;u=Da+124|0;B=Da+120|0;P=Da+116|0;O=Da+112|0;N=Da+108|0;F=Da+104|0;I=Da+100|0;G=Da+96|0;J=Da+92|0;aa=Da+88|0;R=Da+84|0;T=Da+80|0;fa=Da+76|0;U=Da+72|0;V=Da+68|0;_=Da+64|0;ca=Da+60|0;$=Da+56|0;da=Da+52|0;ea=Da+48|0;ba=Da+44|0;X=Da;sa=Da+40|0;qa=Da+36|0;ra=Da+32|0;xa=Da+28|0;ta=Da+24|0;c[ha>>2]=f;c[l>>2]=g;c[Q>>2]=h;c[ia>>2]=j;c[C>>2]=k;c[t>>2]=0;c[wa>>2]=0;c[Aa>>2]=0;c[q>>2]=0;c[W>>2]=0;a[ja>>0]=0;a[ja+1>>0]=0;a[ja+2>>0]=0;a[ja+3>>0]=0;a[ja+4>>0]=0;c[ma>>2]=0;c[ma+8>>2]=0;c[za>>2]=c[(c[ha>>2]|0)+52>>2];if(!(c[Q>>2]|0)){c[ga>>2]=7;Ca=c[ga>>2]|0;i=Da;return Ca|0}c[pa>>2]=(d[(c[ha>>2]|0)+1>>0]|0)+(e[(c[ha>>2]|0)+18>>1]|0);if((c[pa>>2]|0)<2)c[Z>>2]=0;else{do if(c[l>>2]|0)if((c[l>>2]|0)==(c[pa>>2]|0)){c[Z>>2]=(c[pa>>2]|0)-2+(c[C>>2]|0);break}else{c[Z>>2]=(c[l>>2]|0)-1;break}else c[Z>>2]=0;while(0);c[pa>>2]=2-(c[C>>2]|0)}c[ya>>2]=(c[pa>>2]|0)+1;l=c[ha>>2]|0;if(((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0)==(e[(c[ha>>2]|0)+18>>1]|0))c[K>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+((d[l+5>>0]|0)+8);else c[K>>2]=(c[l+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[K>>2]|0)|0;while(1){c[Aa>>2]=fF(c[za>>2]|0,c[M>>2]|0,la+(c[pa>>2]<<2)|0,0,0)|0;if(c[Aa>>2]|0){h=16;break}c[t>>2]=(c[t>>2]|0)+(1+(e[(c[la+(c[pa>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[la+(c[pa>>2]<<2)>>2]|0)+1>>0]|0));f=c[pa>>2]|0;c[pa>>2]=f+-1;if(!f){h=26;break}if(((c[pa>>2]|0)+(c[Z>>2]|0)|0)==(e[(c[ha>>2]|0)+22>>1]|0)?(d[(c[ha>>2]|0)+1>>0]|0)!=0:0){c[p+(c[pa>>2]<<2)>>2]=c[(c[ha>>2]|0)+32>>2];c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;a[(c[ha>>2]|0)+1>>0]=0;continue}c[p+(c[pa>>2]<<2)>>2]=(c[(c[ha>>2]|0)+56>>2]|0)+(e[(c[ha>>2]|0)+20>>1]&(d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[ha>>2]|0)+64>>2]|0)+((c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)<<1)+1>>0]));c[M>>2]=er(c[p+(c[pa>>2]<<2)>>2]|0)|0;f=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0)|0)&65535;c[Ba+(c[pa>>2]<<2)>>2]=f;if(e[(c[za>>2]|0)+22>>1]&4){c[m>>2]=(c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[Ba+(c[pa>>2]<<2)>>2]|0)|0)>(c[(c[za>>2]|0)+36>>2]|0)){h=23;break}rR((c[Q>>2]|0)+(c[m>>2]|0)|0,c[p+(c[pa>>2]<<2)>>2]|0,c[Ba+(c[pa>>2]<<2)>>2]|0)|0;c[p+(c[pa>>2]<<2)>>2]=(c[Q>>2]|0)+((c[p+(c[pa>>2]<<2)>>2]|0)-(c[(c[ha>>2]|0)+56>>2]|0))}zL(c[ha>>2]|0,(c[pa>>2]|0)+(c[Z>>2]|0)-(d[(c[ha>>2]|0)+1>>0]|0)|0,c[Ba+(c[pa>>2]<<2)>>2]|0,Aa)}a:do if((h|0)==16)tR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0;else if((h|0)==23){c[Aa>>2]=Oj(62916)|0;tR(la|0,0,(c[pa>>2]|0)+1<<2|0)|0}else if((h|0)==26){c[t>>2]=(c[t>>2]|0)+3&-4;c[A>>2]=(c[t>>2]<<2)+(c[t>>2]<<1)+(c[(c[za>>2]|0)+32>>2]|0);c[ma+8>>2]=Ci(c[A>>2]|0)|0;if(!(c[ma+8>>2]|0)){c[Aa>>2]=7;break}c[ma+12>>2]=(c[ma+8>>2]|0)+(c[t>>2]<<2);c[o>>2]=(c[ma+12>>2]|0)+(c[t>>2]<<1);c[ma+4>>2]=c[la>>2];b[ua>>1]=d[(c[ma+4>>2]|0)+4>>0]<<2;c[va>>2]=d[(c[ma+4>>2]|0)+3>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[v>>2]=c[la+(c[pa>>2]<<2)>>2];c[r>>2]=e[(c[v>>2]|0)+18>>1];c[n>>2]=c[(c[v>>2]|0)+56>>2];b[s>>1]=b[(c[v>>2]|0)+20>>1]|0;c[x>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0);if((d[c[(c[v>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[la>>2]|0)+56>>2]>>0]|0)){h=31;break}tR((c[ma+12>>2]|0)+(c[ma>>2]<<1)|0,0,(c[r>>2]|0)+(d[(c[v>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[v>>2]|0)+1>>0]|0)>0){c[r>>2]=e[(c[v>>2]|0)+22>>1];c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[r>>2]|0))break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1;c[Y>>2]=(c[Y>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(d[(c[v>>2]|0)+1>>0]|0))break b;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=c[(c[v>>2]|0)+32+(c[H>>2]<<2)>>2];c[ma>>2]=(c[ma>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}}while(0);c[y>>2]=(c[n>>2]|0)+(e[(c[v>>2]|0)+14>>1]|0)+(e[(c[v>>2]|0)+18>>1]<<1);while(1){if((c[x>>2]|0)>>>0>=(c[y>>2]|0)>>>0)break;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[n>>2]|0)+(e[s>>1]&(d[c[x>>2]>>0]<<8|d[(c[x>>2]|0)+1>>0]));c[x>>2]=(c[x>>2]|0)+2;c[ma>>2]=(c[ma>>2]|0)+1}c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if(!((c[va>>2]|0)!=0?1:(c[pa>>2]|0)>=((c[ya>>2]|0)-1|0))){b[z>>1]=c[Ba+(c[pa>>2]<<2)>>2];b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=b[z>>1]|0;c[w>>2]=(c[o>>2]|0)+(c[q>>2]|0);c[q>>2]=(c[q>>2]|0)+(e[z>>1]|0);rR(c[w>>2]|0,c[p+(c[pa>>2]<<2)>>2]|0,e[z>>1]|0)|0;c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]=(c[w>>2]|0)+(e[ua>>1]|0);b[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]=(e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)-(e[ua>>1]|0);c:do if(a[(c[v>>2]|0)+4>>0]|0)while(1){if((e[(c[ma+12>>2]|0)+(c[ma>>2]<<1)>>1]|0)>=4)break c;A=c[q>>2]|0;c[q>>2]=A+1;a[(c[o>>2]|0)+A>>0]=0;A=(c[ma+12>>2]|0)+(c[ma>>2]<<1)|0;b[A>>1]=(b[A>>1]|0)+1<<16>>16}else{A=c[(c[ma+8>>2]|0)+(c[ma>>2]<<2)>>2]|0;t=(c[(c[v>>2]|0)+56>>2]|0)+8|0;a[A>>0]=a[t>>0]|0;a[A+1>>0]=a[t+1>>0]|0;a[A+2>>0]=a[t+2>>0]|0;a[A+3>>0]=a[t+3>>0]|0}while(0);c[ma>>2]=(c[ma>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==31){c[Aa>>2]=Oj(62983)|0;break}c[Ca>>2]=(c[(c[za>>2]|0)+36>>2]|0)-12+(e[ua>>1]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;c[u>>2]=c[la+(c[pa>>2]<<2)>>2];c[Ba+(c[pa>>2]<<2)>>2]=(c[Ca>>2]|0)-(e[(c[u>>2]|0)+16>>1]|0);if((c[Ba+(c[pa>>2]<<2)>>2]|0)<0){h=52;break}c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(d[(c[u>>2]|0)+1>>0]|0))break;z=2+((Yb[c[(c[u>>2]|0)+76>>2]&255](c[u>>2]|0,c[(c[u>>2]|0)+32+(c[Y>>2]<<2)>>2]|0)|0)&65535)|0;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+z;c[Y>>2]=(c[Y>>2]|0)+1}c[na+(c[pa>>2]<<2)>>2]=c[oa+(c[pa>>2]<<2)>>2];c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==52){c[Aa>>2]=Oj(63081)|0;break}c[H>>2]=c[ya>>2];c[pa>>2]=0;d:while(1){if((c[pa>>2]|0)>=(c[H>>2]|0)){h=83;break}while(1){if((c[Ba+(c[pa>>2]<<2)>>2]|0)<=(c[Ca>>2]|0))break;if(((c[pa>>2]|0)+1|0)>=(c[H>>2]|0)){c[H>>2]=(c[pa>>2]|0)+2;if((c[H>>2]|0)>5){h=62;break d}c[Ba+((c[H>>2]|0)-1<<2)>>2]=0;c[na+((c[H>>2]|0)-1<<2)>>2]=c[ma>>2]}c[B>>2]=2+((FL(ma,(c[na+(c[pa>>2]<<2)>>2]|0)-1|0)|0)&65535);A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((FL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[na+(c[pa>>2]<<2)>>2]|0)>=(c[ma>>2]|0))break;c[B>>2]=2+((FL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);if(((c[Ba+(c[pa>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[Ca>>2]|0))break;A=Ba+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=na+(c[pa>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[va>>2]|0))if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){c[B>>2]=2+((FL(ma,c[na+(c[pa>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=Ba+((c[pa>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}l=c[pa>>2]|0;if((c[na+(c[pa>>2]<<2)>>2]|0)<(c[ma>>2]|0)){if((c[pa>>2]|0)>0)h=c[na+((c[pa>>2]|0)-1<<2)>>2]|0;else h=0;if((c[na+(l<<2)>>2]|0)<=(h|0)){h=81;break}}else c[H>>2]=l+1;c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==62){c[Aa>>2]=Oj(63093)|0;break}else if((h|0)==81){c[Aa>>2]=Oj(63126)|0;break}else if((h|0)==83){c[pa>>2]=(c[H>>2]|0)-1;while(1){if((c[pa>>2]|0)<=0)break;c[P>>2]=c[Ba+(c[pa>>2]<<2)>>2];c[O>>2]=c[Ba+((c[pa>>2]|0)-1<<2)>>2];c[N>>2]=(c[na+((c[pa>>2]|0)-1<<2)>>2]|0)-1;c[F>>2]=(c[N>>2]|0)+1-(c[va>>2]|0);FL(ma,c[F>>2]|0)|0;do{FL(ma,c[N>>2]|0)|0;if(c[P>>2]|0){if(c[C>>2]|0)break;if(((c[P>>2]|0)+(e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2)|0))break}c[P>>2]=(c[P>>2]|0)+((e[(c[ma+12>>2]|0)+(c[F>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ma+12>>2]|0)+(c[N>>2]<<1)>>1]|0)+2);c[na+((c[pa>>2]|0)-1<<2)>>2]=c[N>>2];c[N>>2]=(c[N>>2]|0)+-1;c[F>>2]=(c[F>>2]|0)+-1}while((c[N>>2]|0)>=0);c[Ba+(c[pa>>2]<<2)>>2]=c[P>>2];c[Ba+((c[pa>>2]|0)-1<<2)>>2]=c[O>>2];if((c[pa>>2]|0)>1)l=c[na+((c[pa>>2]|0)-2<<2)>>2]|0;else l=0;if((c[na+((c[pa>>2]|0)-1<<2)>>2]|0)<=(l|0)){h=93;break}c[pa>>2]=(c[pa>>2]|0)+-1}if((h|0)==93){c[Aa>>2]=Oj(63168)|0;break}c[L>>2]=d[c[(c[la>>2]|0)+56>>2]>>0];c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[H>>2]|0))break;if((c[pa>>2]|0)<(c[ya>>2]|0)){P=c[la+(c[pa>>2]<<2)>>2]|0;c[ka+(c[pa>>2]<<2)>>2]=P;c[I>>2]=P;c[la+(c[pa>>2]<<2)>>2]=0;c[Aa>>2]=Fg(c[(c[I>>2]|0)+72>>2]|0)|0;c[wa>>2]=(c[wa>>2]|0)+1;if(c[Aa>>2]|0)break a}else{c[Aa>>2]=BJ(c[za>>2]|0,I,M,(c[C>>2]|0)!=0?1:c[M>>2]|0,0)|0;if(c[Aa>>2]|0)break a;EK(c[I>>2]|0,c[L>>2]|0);c[ka+(c[pa>>2]<<2)>>2]=c[I>>2];c[wa>>2]=(c[wa>>2]|0)+1;c[oa+(c[pa>>2]<<2)>>2]=c[ma>>2];if((a[(c[za>>2]|0)+17>>0]|0)!=0?(FJ(c[za>>2]|0,c[(c[I>>2]|0)+84>>2]|0,5,c[(c[ha>>2]|0)+84>>2]|0,Aa),(c[Aa>>2]|0)!=0):0)break a}c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;e:while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;P=c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0;c[S+(c[pa>>2]<<2)>>2]=P;c[E+(c[pa>>2]<<2)>>2]=P;b[D+(c[pa>>2]<<1)>>1]=b[(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[pa>>2]|0))break;if((c[S+(c[Y>>2]<<2)>>2]|0)==(c[S+(c[pa>>2]<<2)>>2]|0)){h=108;break e}c[Y>>2]=(c[Y>>2]|0)+1}c[pa>>2]=(c[pa>>2]|0)+1}if((h|0)==108){c[Aa>>2]=Oj(63242)|0;break}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;c[G>>2]=0;c[Y>>2]=1;while(1){if((c[Y>>2]|0)>=(c[wa>>2]|0))break;if((c[E+(c[Y>>2]<<2)>>2]|0)>>>0<(c[E+(c[G>>2]<<2)>>2]|0)>>>0)c[G>>2]=c[Y>>2];c[Y>>2]=(c[Y>>2]|0)+1}c[M>>2]=c[E+(c[G>>2]<<2)>>2];c[E+(c[G>>2]<<2)>>2]=-1;if((c[G>>2]|0)!=(c[pa>>2]|0)){if((c[G>>2]|0)>(c[pa>>2]|0))GL(c[(c[ka+(c[G>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[za>>2]|0)+44>>2]|0)+(c[G>>2]|0)+1|0,0);GL(c[(c[ka+(c[pa>>2]<<2)>>2]|0)+72>>2]|0,c[M>>2]|0,b[D+(c[G>>2]<<1)>>1]|0);c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]=c[M>>2]}c[pa>>2]=(c[pa>>2]|0)+1}at(c[K>>2]|0,c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[L>>2]&8|0)==0?(c[ya>>2]|0)!=(c[wa>>2]|0):0){c[J>>2]=c[((c[wa>>2]|0)>(c[ya>>2]|0)?ka:la)+((c[ya>>2]|0)-1<<2)>>2];P=(c[(c[ka+((c[wa>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;O=(c[(c[J>>2]|0)+56>>2]|0)+8|0;a[P>>0]=a[O>>0]|0;a[P+1>>0]=a[O+1>>0]|0;a[P+2>>0]=a[O+2>>0]|0;a[P+3>>0]=a[O+3>>0]|0}f:do if(a[(c[za>>2]|0)+17>>0]|0){c[aa>>2]=c[ka>>2];c[R>>2]=c[(c[aa>>2]|0)+56>>2];c[T>>2]=(e[(c[aa>>2]|0)+18>>1]|0)+(d[(c[aa>>2]|0)+1>>0]|0);c[fa>>2]=c[(c[za>>2]|0)+36>>2];c[U>>2]=0;c[V>>2]=0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ma>>2]|0))break f;c[_>>2]=c[(c[ma+8>>2]|0)+(c[pa>>2]<<2)>>2];if((c[pa>>2]|0)==(c[T>>2]|0)){P=(c[V>>2]|0)+1|0;c[V>>2]=P;l=c[V>>2]|0;if((P|0)<(c[wa>>2]|0))l=c[ka+(l<<2)>>2]|0;else l=c[la+(l<<2)>>2]|0;c[ca>>2]=l;c[T>>2]=(c[T>>2]|0)+((e[(c[ca>>2]|0)+18>>1]|0)+(d[(c[ca>>2]|0)+1>>0]|0)+(((c[va>>2]|0)!=0^1)&1));c[R>>2]=c[(c[ca>>2]|0)+56>>2]}if(!((c[pa>>2]|0)==(c[na+(c[U>>2]<<2)>>2]|0)?(P=(c[U>>2]|0)+1|0,c[U>>2]=P,c[aa>>2]=c[ka+(P<<2)>>2],(c[va>>2]|0)==0):0))h=136;do if((h|0)==136){h=0;if((((c[V>>2]|0)<(c[wa>>2]|0)?(c[(c[aa>>2]|0)+84>>2]|0)==(c[S+(c[V>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[R>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[R>>2]|0)+(c[fa>>2]|0)|0)>>>0:0)break;if(!(b[ua>>1]|0)){O=c[za>>2]|0;P=er(c[_>>2]|0)|0;FJ(O,P,5,c[(c[aa>>2]|0)+84>>2]|0,Aa)}P=(FL(ma,c[pa>>2]|0)|0)&65535;if((P|0)>(e[(c[aa>>2]|0)+12>>1]|0))HJ(c[aa>>2]|0,c[_>>2]|0,Aa);if(c[Aa>>2]|0)break a}while(0);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=((c[wa>>2]|0)-1|0))break;c[ba>>2]=c[ka+(c[pa>>2]<<2)>>2];c[Y>>2]=c[na+(c[pa>>2]<<2)>>2];c[$>>2]=c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2];c[ea>>2]=(e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)+(e[ua>>1]|0);c[da>>2]=(c[Q>>2]|0)+(c[W>>2]|0);do if(a[(c[ba>>2]|0)+4>>0]|0){if(c[va>>2]|0){c[Y>>2]=(c[Y>>2]|0)+-1;Ub[c[(c[ba>>2]|0)+80>>2]&255](c[ba>>2]|0,c[(c[ma+8>>2]|0)+(c[Y>>2]<<2)>>2]|0,X);c[$>>2]=c[da>>2];fa=X;c[ea>>2]=4+(qI((c[$>>2]|0)+4|0,c[fa>>2]|0,c[fa+4>>2]|0)|0);c[da>>2]=0;break}c[$>>2]=(c[$>>2]|0)+-4;if((e[(c[ma+12>>2]|0)+(c[Y>>2]<<1)>>1]|0)==4)c[ea>>2]=(Yb[c[(c[ha>>2]|0)+76>>2]&255](c[ha>>2]|0,c[$>>2]|0)|0)&65535}else{fa=(c[(c[ba>>2]|0)+56>>2]|0)+8|0;ca=c[$>>2]|0;a[fa>>0]=a[ca>>0]|0;a[fa+1>>0]=a[ca+1>>0]|0;a[fa+2>>0]=a[ca+2>>0]|0;a[fa+3>>0]=a[ca+3>>0]|0}while(0);c[W>>2]=(c[W>>2]|0)+(c[ea>>2]|0);AL(c[ha>>2]|0,(c[Z>>2]|0)+(c[pa>>2]|0)|0,c[$>>2]|0,c[ea>>2]|0,c[da>>2]|0,c[(c[ba>>2]|0)+84>>2]|0,Aa);if(c[Aa>>2]|0)break a;c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=1-(c[wa>>2]|0);while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;fa=c[pa>>2]|0;c[sa>>2]=(c[pa>>2]|0)<0?0-fa|0:fa;do if(!(a[ja+(c[sa>>2]|0)>>0]|0)){if((c[pa>>2]|0)<0?(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)<(c[na+((c[sa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[sa>>2]|0)){c[ra>>2]=0;c[qa>>2]=0;c[xa>>2]=c[na>>2]}else{if((c[sa>>2]|0)<(c[ya>>2]|0))l=(c[oa+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1)|0;else l=c[ma>>2]|0;c[ra>>2]=l;c[qa>>2]=(c[na+((c[sa>>2]|0)-1<<2)>>2]|0)+(((c[va>>2]|0)!=0^1)&1);c[xa>>2]=(c[na+(c[sa>>2]<<2)>>2]|0)-(c[qa>>2]|0)}c[Aa>>2]=HL(c[ka+(c[sa>>2]<<2)>>2]|0,c[ra>>2]|0,c[qa>>2]|0,c[xa>>2]|0,ma)|0;if(c[Aa>>2]|0)break a;fa=ja+(c[sa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[ka+(c[sa>>2]<<2)>>2]|0)+16>>1]=(c[Ca>>2]|0)-(c[Ba+(c[sa>>2]<<2)>>2]|0)}while(0);c[pa>>2]=(c[pa>>2]|0)+1}if(((c[ia>>2]|0)!=0?(e[(c[ha>>2]|0)+18>>1]|0)==0:0)?(d[(c[ha>>2]|0)+5>>0]|0)<=(e[(c[ka>>2]|0)+16>>1]|0):0){c[Aa>>2]=IL(c[ka>>2]|0)|0;JL(c[ka>>2]|0,c[ha>>2]|0,Aa);DK(c[ka>>2]|0,Aa)}else h=174;g:do if((h|0)==174?!((b[ua>>1]|0)!=0?1:(d[(c[za>>2]|0)+17>>0]|0)==0):0){c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break g;c[ta>>2]=er((c[(c[ka+(c[pa>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;FJ(c[za>>2]|0,c[ta>>2]|0,5,c[(c[ka+(c[pa>>2]<<2)>>2]|0)+84>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}while(0);c[pa>>2]=c[wa>>2];while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break a;DK(c[la+(c[pa>>2]<<2)>>2]|0,Aa);c[pa>>2]=(c[pa>>2]|0)+1}}}while(0);Di(c[ma+8>>2]|0);c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[ya>>2]|0))break;wB(c[la+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[wa>>2]|0))break;wB(c[ka+(c[pa>>2]<<2)>>2]|0);c[pa>>2]=(c[pa>>2]|0)+1}c[ga>>2]=c[Aa>>2];Ca=c[ga>>2]|0;i=Da;return Ca|0}function FL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;if(b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0){b[e>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+(c[g>>2]<<1)>>1]|0;a=b[e>>1]|0;i=h;return a|0}else{b[e>>1]=RL(c[f>>2]|0,c[g>>2]|0)|0;a=b[e>>1]|0;i=h;return a|0}return 0}function GL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f+4|0;g=f;j=f+8|0;c[h>>2]=a;c[g>>2]=d;b[j>>1]=e;b[(c[h>>2]|0)+24>>1]=b[j>>1]|0;IJ(c[h>>2]|0,c[g>>2]|0);i=f;return}function HL(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+80|0;o=D+68|0;p=D+64|0;q=D+60|0;r=D+56|0;s=D+52|0;t=D+48|0;u=D+44|0;v=D+40|0;A=D+36|0;z=D+32|0;C=D+28|0;B=D+24|0;w=D+20|0;m=D+16|0;l=D+12|0;n=D+8|0;y=D+4|0;x=D;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=c[(c[p>>2]|0)+56>>2];c[v>>2]=d[(c[p>>2]|0)+5>>0];c[A>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[s>>2]<<1);c[z>>2]=e[(c[p>>2]|0)+18>>1];c[m>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+18>>1]|0)+(d[(c[p>>2]|0)+1>>0]|0);c[l>>2]=(c[r>>2]|0)+(c[s>>2]|0);if((c[q>>2]|0)<(c[r>>2]|0)){c[n>>2]=LL(c[p>>2]|0,c[q>>2]|0,(c[r>>2]|0)-(c[q>>2]|0)|0,c[t>>2]|0)|0;sR(c[(c[p>>2]|0)+64>>2]|0,(c[(c[p>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[z>>2]<<1|0)|0;c[z>>2]=(c[z>>2]|0)-(c[n>>2]|0)}if((c[l>>2]|0)<(c[m>>2]|0)){f=LL(c[p>>2]|0,c[l>>2]|0,(c[m>>2]|0)-(c[l>>2]|0)|0,c[t>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-f}c[C>>2]=(c[u>>2]|0)+((((d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[C>>2]|0)>>>0>=(c[A>>2]|0)>>>0){if((c[r>>2]|0)<(c[q>>2]|0)){if((c[s>>2]|0)<((c[q>>2]|0)-(c[r>>2]|0)|0))h=c[s>>2]|0;else h=(c[q>>2]|0)-(c[r>>2]|0)|0;c[y>>2]=h;c[B>>2]=c[(c[p>>2]|0)+64>>2];sR((c[B>>2]|0)+(c[y>>2]<<1)|0,c[B>>2]|0,c[z>>2]<<1|0)|0;if(ML(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,c[r>>2]|0,c[y>>2]|0,c[t>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+(c[y>>2]|0)}c[w>>2]=0;while(1){if((c[w>>2]|0)>=(d[(c[p>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[q>>2]|0)+(e[(c[p>>2]|0)+22+(c[w>>2]<<1)>>1]|0)-(c[r>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[s>>2]|0):0)?(c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[x>>2]<<1),sR((c[B>>2]|0)+2|0,c[B>>2]|0,(c[z>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[z>>2]=(c[z>>2]|0)+1,(ML(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[x>>2]|0)+(c[r>>2]|0)|0,1,c[t>>2]|0)|0)!=0):0)break a;c[w>>2]=(c[w>>2]|0)+1}c[B>>2]=(c[(c[p>>2]|0)+64>>2]|0)+(c[z>>2]<<1);if(!(ML(c[p>>2]|0,c[A>>2]|0,C,c[B>>2]|0,(c[r>>2]|0)+(c[z>>2]|0)|0,(c[s>>2]|0)-(c[z>>2]|0)|0,c[t>>2]|0)|0)){b[(c[p>>2]|0)+18>>1]=c[s>>2];a[(c[p>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[p>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[p>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[C>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[C>>2]|0)-(c[u>>2]|0);c[o>>2]=0;C=c[o>>2]|0;i=D;return C|0}}while(0);NL(c[t>>2]|0,c[r>>2]|0,c[s>>2]|0);c[o>>2]=OL(c[p>>2]|0,c[s>>2]|0,(c[(c[t>>2]|0)+8>>2]|0)+(c[r>>2]<<2)|0,(c[(c[t>>2]|0)+12>>2]|0)+(c[r>>2]<<1)|0)|0;C=c[o>>2]|0;i=D;return C|0}function IL(b){b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;f=y+64|0;g=y+60|0;m=y+56|0;r=y+52|0;l=y+48|0;s=y+44|0;v=y+40|0;j=y+36|0;h=y+32|0;p=y+28|0;k=y+24|0;u=y+20|0;t=y+16|0;n=y+12|0;o=y+8|0;q=y+4|0;w=y;c[g>>2]=b;c[u>>2]=0;b=c[(c[g>>2]|0)+56>>2]|0;c[k>>2]=b;c[t>>2]=b;c[l>>2]=d[(c[g>>2]|0)+5>>0];c[j>>2]=e[(c[g>>2]|0)+14>>1];c[p>>2]=e[(c[g>>2]|0)+18>>1];c[v>>2]=c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2];c[h>>2]=c[v>>2];c[n>>2]=(c[j>>2]|0)+(c[p>>2]<<1);c[o>>2]=(c[v>>2]|0)-4;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[p>>2]|0)){x=14;break}c[q>>2]=(c[k>>2]|0)+((c[j>>2]|0)+(c[m>>2]<<1));c[r>>2]=(d[c[q>>2]>>0]|0)<<8|(d[(c[q>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[n>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[o>>2]|0)){x=5;break}c[s>>2]=(Yb[c[(c[g>>2]|0)+76>>2]&255](c[g>>2]|0,(c[t>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[h>>2]=(c[h>>2]|0)-(c[s>>2]|0);if((c[h>>2]|0)<(c[n>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[s>>2]|0)|0)>(c[v>>2]|0)){x=8;break}a[c[q>>2]>>0]=c[h>>2]>>8;a[(c[q>>2]|0)+1>>0]=c[h>>2];if(!(c[u>>2]|0)){if((c[h>>2]|0)!=(c[r>>2]|0)){c[u>>2]=KL(c[c[(c[g>>2]|0)+52>>2]>>2]|0)|0;c[w>>2]=(d[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]|0)<<8|(d[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]|0);rR((c[u>>2]|0)+(c[w>>2]|0)|0,(c[k>>2]|0)+(c[w>>2]|0)|0,(c[h>>2]|0)+(c[s>>2]|0)-(c[w>>2]|0)|0)|0;c[t>>2]=c[u>>2];x=12}}else x=12;if((x|0)==12){x=0;rR((c[k>>2]|0)+(c[h>>2]|0)|0,(c[t>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0}c[m>>2]=(c[m>>2]|0)+1}if((x|0)==5){c[f>>2]=Oj(57167)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==8){c[f>>2]=Oj(57173)|0;x=c[f>>2]|0;i=y;return x|0}else if((x|0)==14){a[(c[k>>2]|0)+((c[l>>2]|0)+5)>>0]=c[h>>2]>>8;a[(c[k>>2]|0)+((c[l>>2]|0)+5)+1>>0]=c[h>>2];a[(c[k>>2]|0)+((c[l>>2]|0)+1)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+2)>>0]=0;a[(c[k>>2]|0)+((c[l>>2]|0)+7)>>0]=0;tR((c[k>>2]|0)+(c[n>>2]|0)|0,0,(c[h>>2]|0)-(c[n>>2]|0)|0)|0;if(((c[h>>2]|0)-(c[n>>2]|0)|0)!=(e[(c[g>>2]|0)+16>>1]|0|0)){c[f>>2]=Oj(57197)|0;x=c[f>>2]|0;i=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;i=y;return x|0}}return 0}function JL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+36|0;j=s+32|0;k=s+28|0;q=s+24|0;l=s+20|0;m=s+16|0;o=s+12|0;p=s+8|0;r=s+4|0;n=s;c[h>>2]=b;c[j>>2]=f;c[k>>2]=g;if(c[c[k>>2]>>2]|0){i=s;return}c[q>>2]=c[(c[h>>2]|0)+52>>2];c[l>>2]=c[(c[h>>2]|0)+56>>2];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[o>>2]=d[(c[h>>2]|0)+5>>0];c[p>>2]=(c[(c[j>>2]|0)+84>>2]|0)==1?100:0;c[n>>2]=d[(c[l>>2]|0)+((c[o>>2]|0)+5)>>0]<<8|d[(c[l>>2]|0)+((c[o>>2]|0)+5)+1>>0];rR((c[m>>2]|0)+(c[n>>2]|0)|0,(c[l>>2]|0)+(c[n>>2]|0)|0,(c[(c[q>>2]|0)+36>>2]|0)-(c[n>>2]|0)|0)|0;rR((c[m>>2]|0)+(c[p>>2]|0)|0,(c[l>>2]|0)+(c[o>>2]|0)|0,(e[(c[h>>2]|0)+14>>1]|0)+(e[(c[h>>2]|0)+18>>1]<<1)|0)|0;a[c[j>>2]>>0]=0;c[r>>2]=Rt(c[j>>2]|0)|0;if(c[r>>2]|0){c[c[k>>2]>>2]=c[r>>2];i=s;return}if(!(a[(c[q>>2]|0)+17>>0]|0)){i=s;return}r=EJ(c[j>>2]|0)|0;c[c[k>>2]>>2]=r;i=s;return}function KL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[(c[b>>2]|0)+208>>2]|0}function LL(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var 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,x=0,y=0;w=i;i=i+64|0;h=w+56|0;j=w+52|0;x=w+48|0;y=w+44|0;k=w+40|0;l=w+36|0;q=w+32|0;s=w+28|0;o=w+24|0;m=w+20|0;n=w+16|0;r=w+12|0;u=w+8|0;p=w+4|0;t=w;c[j>>2]=a;c[x>>2]=b;c[y>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=(c[l>>2]|0)+(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0);c[s>>2]=(c[l>>2]|0)+((d[(c[j>>2]|0)+5>>0]|0)+8+(d[(c[j>>2]|0)+6>>0]|0));c[o>>2]=0;c[n>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[r>>2]=0;c[u>>2]=0;c[m>>2]=c[x>>2];while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;c[p>>2]=c[(c[(c[k>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[s>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0){c[t>>2]=e[(c[(c[k>>2]|0)+12>>2]|0)+(c[m>>2]<<1)>>1];if((c[r>>2]|0)!=((c[p>>2]|0)+(c[t>>2]|0)|0)){if(c[r>>2]|0)QL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[r>>2]=c[p>>2];c[u>>2]=c[t>>2];if(((c[r>>2]|0)+(c[t>>2]|0)|0)>>>0>(c[q>>2]|0)>>>0){v=9;break}}else{c[r>>2]=c[p>>2];c[u>>2]=(c[u>>2]|0)+(c[t>>2]|0)}c[o>>2]=(c[o>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((v|0)==9){c[h>>2]=0;y=c[h>>2]|0;i=w;return y|0}if(c[r>>2]|0)QL(c[j>>2]|0,(c[r>>2]|0)-(c[l>>2]|0)&65535,c[u>>2]&65535)|0;c[h>>2]=c[o>>2];y=c[h>>2]|0;i=w;return y|0}function ML(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=i;i=i+64|0;l=y+56|0;m=y+52|0;n=y+48|0;o=y+44|0;p=y+40|0;z=y+36|0;A=y+32|0;q=y+28|0;s=y+24|0;r=y+20|0;u=y+16|0;t=y+12|0;x=y+8|0;w=y+4|0;v=y;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[z>>2]=h;c[A>>2]=j;c[q>>2]=k;c[r>>2]=c[(c[m>>2]|0)+56>>2];c[u>>2]=c[c[o>>2]>>2];c[t>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[s>>2]=c[z>>2];while(1){if((c[s>>2]|0)>=(c[t>>2]|0)){h=10;break}c[x>>2]=(FL(c[q>>2]|0,c[s>>2]|0)|0)&65535;if((d[(c[r>>2]|0)+1>>0]|0|0)==0?(d[(c[r>>2]|0)+2>>0]|0|0)==0:0)h=6;else h=5;if((h|0)==5?(h=0,A=PL(c[m>>2]|0,c[x>>2]|0,w)|0,c[v>>2]=A,(A|0)==0):0)h=6;if((h|0)==6){c[u>>2]=(c[u>>2]|0)+(0-(c[x>>2]|0));if((c[u>>2]|0)>>>0<(c[n>>2]|0)>>>0){h=7;break}c[v>>2]=c[u>>2]}sR(c[v>>2]|0,c[(c[(c[q>>2]|0)+8>>2]|0)+(c[s>>2]<<2)>>2]|0,c[x>>2]|0)|0;a[c[p>>2]>>0]=(c[v>>2]|0)-(c[r>>2]|0)>>8;a[(c[p>>2]|0)+1>>0]=(c[v>>2]|0)-(c[r>>2]|0);c[p>>2]=(c[p>>2]|0)+2;c[s>>2]=(c[s>>2]|0)+1}if((h|0)==7){c[l>>2]=1;A=c[l>>2]|0;i=y;return A|0}else if((h|0)==10){c[c[o>>2]>>2]=c[u>>2];c[l>>2]=0;A=c[l>>2]|0;i=y;return A|0}return 0}function NL(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i+16|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[j>>2]=f;while(1){if((c[j>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=Yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=a}c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+-1}i=k;return}function OL(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+64|0;r=x+52|0;s=x+48|0;t=x+44|0;k=x+40|0;l=x+36|0;v=x+32|0;u=x+28|0;y=x+24|0;p=x+20|0;m=x+16|0;o=x+12|0;q=x+8|0;w=x+4|0;n=x;c[s>>2]=f;c[t>>2]=g;c[k>>2]=h;c[l>>2]=j;c[v>>2]=d[(c[s>>2]|0)+5>>0];c[u>>2]=c[(c[s>>2]|0)+56>>2];c[y>>2]=c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2];c[p>>2]=(c[u>>2]|0)+(c[y>>2]|0);c[o>>2]=c[(c[s>>2]|0)+64>>2];c[q>>2]=KL(c[c[(c[s>>2]|0)+52>>2]>>2]|0)|0;c[m>>2]=(d[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]|0)<<8|(d[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]|0);rR((c[q>>2]|0)+(c[m>>2]|0)|0,(c[u>>2]|0)+(c[m>>2]|0)|0,(c[y>>2]|0)-(c[m>>2]|0)|0)|0;c[w>>2]=c[p>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[t>>2]|0)){k=9;break}c[n>>2]=c[(c[k>>2]|0)+(c[m>>2]<<2)>>2];if((c[n>>2]|0)>>>0>=(c[u>>2]|0)>>>0?(c[n>>2]|0)>>>0<(c[p>>2]|0)>>>0:0)c[n>>2]=(c[q>>2]|0)+((c[n>>2]|0)-(c[u>>2]|0));c[w>>2]=(c[w>>2]|0)+(0-(e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0));a[c[o>>2]>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[o>>2]|0)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);c[o>>2]=(c[o>>2]|0)+2;if((c[w>>2]|0)>>>0<(c[o>>2]|0)>>>0){k=7;break}rR(c[w>>2]|0,c[n>>2]|0,e[(c[l>>2]|0)+(c[m>>2]<<1)>>1]|0|0)|0;c[m>>2]=(c[m>>2]|0)+1}if((k|0)==7){c[r>>2]=Oj(62287)|0;y=c[r>>2]|0;i=x;return y|0}else if((k|0)==9){b[(c[s>>2]|0)+18>>1]=c[t>>2];a[(c[s>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+1)+1>>0]=0;a[(c[u>>2]|0)+((c[v>>2]|0)+3)>>0]=(e[(c[s>>2]|0)+18>>1]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+3)+1>>0]=b[(c[s>>2]|0)+18>>1];a[(c[u>>2]|0)+((c[v>>2]|0)+5)>>0]=(c[w>>2]|0)-(c[u>>2]|0)>>8;a[(c[u>>2]|0)+((c[v>>2]|0)+5)+1>>0]=(c[w>>2]|0)-(c[u>>2]|0);a[(c[u>>2]|0)+((c[v>>2]|0)+7)>>0]=0;c[r>>2]=0;y=c[r>>2]|0;i=x;return y|0}return 0}function PL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;j=t+40|0;k=t+36|0;h=t+32|0;l=t+28|0;n=t+24|0;m=t+20|0;o=t+16|0;p=t+12|0;s=t+8|0;r=t+4|0;q=t;c[k>>2]=b;c[h>>2]=f;c[l>>2]=g;c[n>>2]=d[(c[k>>2]|0)+5>>0];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[o>>2]=(c[n>>2]|0)+1;c[p>>2]=(d[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[o>>2]|0)+1>>0]|0);c[r>>2]=c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[p>>2]|0)>((c[r>>2]|0)-4|0)){f=4;break}if((c[p>>2]|0)<((c[o>>2]|0)+4|0)){f=4;break}c[q>>2]=(d[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]|0);g=(c[q>>2]|0)-(c[h>>2]|0)|0;c[s>>2]=g;b=c[p>>2]|0;if((g|0)>=0){f=6;break}c[o>>2]=b;c[p>>2]=(d[(c[m>>2]|0)+(c[p>>2]|0)>>0]|0)<<8|(d[(c[m>>2]|0)+(c[p>>2]|0)+1>>0]|0);if(!(c[p>>2]|0)){f=16;break}}if((f|0)==4){s=Oj(57230)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==6){if((b|0)>=((e[(c[k>>2]|0)+14>>1]|0)+((e[(c[k>>2]|0)+18>>1]|0)<<1)|0)?((c[q>>2]|0)+(c[p>>2]|0)|0)<=(c[r>>2]|0):0){do if((c[s>>2]|0)<4){if((d[(c[m>>2]|0)+((c[n>>2]|0)+7)>>0]|0|0)<=57){r=(c[m>>2]|0)+(c[o>>2]|0)|0;q=(c[m>>2]|0)+(c[p>>2]|0)|0;a[r>>0]=a[q>>0]|0;a[r+1>>0]=a[q+1>>0]|0;r=(c[m>>2]|0)+((c[n>>2]|0)+7)|0;a[r>>0]=(d[r>>0]|0)+(c[s>>2]&255);break}c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else{a[(c[m>>2]|0)+((c[p>>2]|0)+2)>>0]=c[s>>2]>>8;a[(c[m>>2]|0)+((c[p>>2]|0)+2)+1>>0]=c[s>>2]}while(0);c[j>>2]=(c[m>>2]|0)+((c[p>>2]|0)+(c[s>>2]|0));s=c[j>>2]|0;i=t;return s|0}s=Oj(57241)|0;c[c[l>>2]>>2]=s;c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}else if((f|0)==16){c[j>>2]=0;s=c[j>>2]|0;i=t;return s|0}return 0}function QL(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;j=x+20|0;k=x+16|0;l=x+32|0;m=x+30|0;t=x+28|0;q=x+26|0;o=x+35|0;v=x+34|0;s=x+24|0;r=x+12|0;p=x+8|0;n=x+4|0;u=x;c[k>>2]=f;b[l>>1]=g;b[m>>1]=h;a[v>>0]=0;b[s>>1]=b[m>>1]|0;c[r>>2]=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[p>>2]=(e[l>>1]|0)+(e[m>>1]|0);c[n>>2]=c[(c[k>>2]|0)+56>>2];if((e[(c[(c[k>>2]|0)+52>>2]|0)+22>>1]|0)&4)tR((c[n>>2]|0)+(e[l>>1]|0)|0,0,e[m>>1]|0|0)|0;a[o>>0]=a[(c[k>>2]|0)+5>>0]|0;b[t>>1]=(d[o>>0]|0)+1;if((d[(c[n>>2]|0)+((e[t>>1]|0)+1)>>0]|0|0)==0?(d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0|0)==0:0)b[q>>1]=0;else w=6;do if((w|0)==6){while(1){w=0;f=((d[(c[n>>2]|0)+(e[t>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]|0))&65535;b[q>>1]=f;if((f&65535|0)>0)h=(e[q>>1]|0|0)<(e[l>>1]|0|0);else h=0;g=e[q>>1]|0;if(!h)break;if((g|0)<((e[t>>1]|0)+4|0)){w=10;break}b[t>>1]=b[q>>1]|0;w=6}if((w|0)==10){c[j>>2]=Oj(57402)|0;w=c[j>>2]|0;i=x;return w|0}if(g>>>0>(c[r>>2]|0)>>>0){c[j>>2]=Oj(57405)|0;w=c[j>>2]|0;i=x;return w|0}do if((e[q>>1]|0|0)!=0?((c[p>>2]|0)+3|0)>>>0>=(e[q>>1]|0)>>>0:0){a[v>>0]=(e[q>>1]|0)-(c[p>>2]|0);if((c[p>>2]|0)>>>0>(e[q>>1]|0)>>>0){c[j>>2]=Oj(57416)|0;w=c[j>>2]|0;i=x;return w|0}c[p>>2]=(e[q>>1]|0)+((d[(c[n>>2]|0)+((e[q>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[q>>1]|0)+2)+1>>0]|0));if((c[p>>2]|0)>>>0<=(c[(c[(c[k>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[m>>1]=(c[p>>2]|0)-(e[l>>1]|0);b[q>>1]=(d[(c[n>>2]|0)+(e[q>>1]|0)>>0]|0)<<8|(d[(c[n>>2]|0)+(e[q>>1]|0)+1>>0]|0);break}c[j>>2]=Oj(57418)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[t>>1]|0|0)>((d[o>>0]|0)+1|0)?(c[u>>2]=(e[t>>1]|0)+((d[(c[n>>2]|0)+((e[t>>1]|0)+2)>>0]|0)<<8|(d[(c[n>>2]|0)+((e[t>>1]|0)+2)+1>>0]|0)),((c[u>>2]|0)+3|0)>=(e[l>>1]|0|0)):0){if((c[u>>2]|0)<=(e[l>>1]|0|0)){a[v>>0]=(d[v>>0]|0)+((e[l>>1]|0)-(c[u>>2]|0));b[m>>1]=(c[p>>2]|0)-(e[t>>1]|0);b[l>>1]=b[t>>1]|0;break}c[j>>2]=Oj(57430)|0;w=c[j>>2]|0;i=x;return w|0}while(0);if((d[v>>0]|0|0)<=(d[(c[n>>2]|0)+((d[o>>0]|0)+7)>>0]|0|0)){w=(c[n>>2]|0)+((d[o>>0]|0)+7)|0;a[w>>0]=(d[w>>0]|0)-(d[v>>0]|0);break}c[j>>2]=Oj(57436)|0;w=c[j>>2]|0;i=x;return w|0}while(0);do if((e[l>>1]|0|0)==((d[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]|0)<<8|(d[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]|0)|0)){if((e[t>>1]|0|0)==((d[o>>0]|0)+1|0)){a[(c[n>>2]|0)+((d[o>>0]|0)+1)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+1)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((d[o>>0]|0)+5)>>0]=(c[p>>2]|0)>>>8;a[(c[n>>2]|0)+((d[o>>0]|0)+5)+1>>0]=c[p>>2];break}c[j>>2]=Oj(57443)|0;w=c[j>>2]|0;i=x;return w|0}else{a[(c[n>>2]|0)+(e[t>>1]|0)>>0]=(e[l>>1]|0)>>8;a[(c[n>>2]|0)+(e[t>>1]|0)+1>>0]=b[l>>1];a[(c[n>>2]|0)+(e[l>>1]|0)>>0]=(e[q>>1]|0)>>8;a[(c[n>>2]|0)+(e[l>>1]|0)+1>>0]=b[q>>1];a[(c[n>>2]|0)+((e[l>>1]|0)+2)>>0]=(e[m>>1]|0)>>8;a[(c[n>>2]|0)+((e[l>>1]|0)+2)+1>>0]=b[m>>1]}while(0);w=(c[k>>2]|0)+16|0;b[w>>1]=(e[w>>1]|0)+(e[s>>1]|0);c[j>>2]=0;w=c[j>>2]|0;i=x;return w|0}function RL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;a=Yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=a;i=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function SL(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;o=t+20|0;m=t+16|0;r=t+12|0;q=t+8|0;n=t+4|0;p=t;c[j>>2]=b;c[k>>2]=f;c[l>>2]=g;c[o>>2]=d[(c[j>>2]|0)+5>>0];c[m>>2]=c[(c[j>>2]|0)+56>>2];c[q>>2]=0;c[n>>2]=(e[(c[j>>2]|0)+14>>1]|0)+((e[(c[j>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0);do if((c[n>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[j>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[h>>2]=Oj(57308)|0;s=c[h>>2]|0;i=t;return s|0}while(0);if(!((d[(c[m>>2]|0)+((c[o>>2]|0)+2)>>0]|0|0)==0?(d[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]|0|0)==0:0))s=8;if((s|0)==8?((c[n>>2]|0)+2|0)<=(c[r>>2]|0):0){c[p>>2]=PL(c[j>>2]|0,c[k>>2]|0,q)|0;if(c[p>>2]|0){c[c[l>>2]>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}if(c[q>>2]|0){c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}}do if(((c[n>>2]|0)+2+(c[k>>2]|0)|0)>(c[r>>2]|0)){c[q>>2]=IL(c[j>>2]|0)|0;if(!(c[q>>2]|0)){c[r>>2]=(((d[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]|0)<<8|(d[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[h>>2]=c[q>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[k>>2]|0);a[(c[m>>2]|0)+((c[o>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[m>>2]|0)+((c[o>>2]|0)+5)+1>>0]=c[r>>2];c[c[l>>2]>>2]=c[r>>2];c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function TL(b,f,g,h,j,k,l,m,n){b=b|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=i;i=i+112|0;J=M+96|0;p=M+92|0;q=M+88|0;r=M+84|0;s=M;t=M+80|0;u=M+76|0;N=M+72|0;o=M+68|0;z=M+64|0;F=M+60|0;A=M+56|0;x=M+52|0;L=M+48|0;I=M+44|0;C=M+40|0;K=M+36|0;E=M+32|0;D=M+28|0;B=M+24|0;G=M+20|0;y=M+16|0;w=M+12|0;H=M+8|0;v=M+100|0;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;b=s;c[b>>2]=h;c[b+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[N>>2]=m;c[o>>2]=n;c[C>>2]=0;c[K>>2]=0;c[B>>2]=c[(c[p>>2]|0)+52>>2];c[G>>2]=0;c[y>>2]=d[(c[p>>2]|0)+6>>0];c[z>>2]=(c[u>>2]|0)+(c[N>>2]|0);if(a[(c[p>>2]|0)+3>>0]|0){if((c[z>>2]|0)>>>0<128){a[(c[q>>2]|0)+(c[y>>2]|0)>>0]=c[z>>2];h=1}else{h=c[z>>2]|0;h=qI((c[q>>2]|0)+(c[y>>2]|0)|0,h,((h|0)<0)<<31>>31)|0}c[y>>2]=(c[y>>2]|0)+(h&255)}N=s;N=qI((c[q>>2]|0)+(c[y>>2]|0)|0,c[N>>2]|0,c[N+4>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+N;if(a[(c[p>>2]|0)+2>>0]|0){c[F>>2]=c[t>>2];c[A>>2]=c[u>>2];c[u>>2]=0}else{c[z>>2]=c[s>>2];c[F>>2]=c[r>>2];c[A>>2]=c[s>>2]}if((c[z>>2]|0)<=(e[(c[p>>2]|0)+10>>1]|0)){N=(c[y>>2]|0)+(c[z>>2]|0)|0;c[x>>2]=N;c[x>>2]=(c[x>>2]|0)<4?4:N;c[c[o>>2]>>2]=c[x>>2];c[I>>2]=c[z>>2];c[E>>2]=c[q>>2]}else{c[w>>2]=e[(c[p>>2]|0)+12>>1];c[x>>2]=(c[w>>2]|0)+((((c[z>>2]|0)-(c[w>>2]|0)|0)>>>0)%(((c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[x>>2]|0)>(e[(c[p>>2]|0)+10>>1]|0))c[x>>2]=c[w>>2];c[I>>2]=c[x>>2];c[c[o>>2]>>2]=(c[x>>2]|0)+(c[y>>2]|0)+4;c[E>>2]=(c[q>>2]|0)+((c[y>>2]|0)+(c[x>>2]|0))}c[D>>2]=(c[q>>2]|0)+(c[y>>2]|0);while(1){if((c[z>>2]|0)<=0){h=35;break}if(!(c[I>>2]|0)){c[H>>2]=c[G>>2];if(a[(c[B>>2]|0)+17>>0]|0)while(1){c[G>>2]=(c[G>>2]|0)+1;N=sF(c[B>>2]|0,c[G>>2]|0)|0;if((N|0)==(c[G>>2]|0))continue;if((c[G>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[B>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[L>>2]=BJ(c[B>>2]|0,C,G,c[G>>2]|0,0)|0;if(((c[L>>2]|0)==0?(d[(c[B>>2]|0)+17>>0]|0)!=0:0)?(a[v>>0]=(c[H>>2]|0)!=0?4:3,FJ(c[B>>2]|0,c[G>>2]|0,a[v>>0]|0,c[H>>2]|0,L),(c[L>>2]|0)!=0):0)wB(c[C>>2]|0);if(c[L>>2]|0){h=24;break}at(c[E>>2]|0,c[G>>2]|0);wB(c[K>>2]|0);c[K>>2]=c[C>>2];c[E>>2]=c[(c[C>>2]|0)+56>>2];at(c[E>>2]|0,0);c[D>>2]=(c[(c[C>>2]|0)+56>>2]|0)+4;c[I>>2]=(c[(c[B>>2]|0)+36>>2]|0)-4}c[x>>2]=c[z>>2];if((c[x>>2]|0)>(c[I>>2]|0))c[x>>2]=c[I>>2];if((c[A>>2]|0)>0){if((c[x>>2]|0)>(c[A>>2]|0))c[x>>2]=c[A>>2];rR(c[D>>2]|0,c[F>>2]|0,c[x>>2]|0)|0}else tR(c[D>>2]|0,0,c[x>>2]|0)|0;c[z>>2]=(c[z>>2]|0)-(c[x>>2]|0);c[D>>2]=(c[D>>2]|0)+(c[x>>2]|0);c[F>>2]=(c[F>>2]|0)+(c[x>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[x>>2]|0);c[I>>2]=(c[I>>2]|0)-(c[x>>2]|0);if(c[A>>2]|0)continue;c[A>>2]=c[u>>2];c[F>>2]=c[t>>2]}if((h|0)==24){wB(c[K>>2]|0);c[J>>2]=c[L>>2];N=c[J>>2]|0;i=M;return N|0}else if((h|0)==35){wB(c[K>>2]|0);c[J>>2]=0;N=c[J>>2]|0;i=M;return N|0}return 0}function UL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}XI(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function VL(b,e,f){b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+44|0;h=u+40|0;j=u+36|0;k=u+32|0;n=u+28|0;p=u+24|0;r=u+20|0;t=u+16|0;s=u+12|0;q=u+8|0;o=u+4|0;l=u+48|0;m=u;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[h>>2]|0)+4>>2];f=c[n>>2]|0;if(a[(c[n>>2]|0)+17>>0]|0){zJ(f);pg(c[h>>2]|0,4,r);c[r>>2]=(c[r>>2]|0)+1;while(1){e=c[r>>2]|0;if((e|0)!=(sF(c[n>>2]|0,c[r>>2]|0)|0)?(c[r>>2]|0)!=((((c[381]|0)>>>0)/((c[(c[n>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=BJ(c[n>>2]|0,o,q,c[r>>2]|0,1)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}if((c[q>>2]|0)!=(c[r>>2]|0)){a[l>>0]=0;c[m>>2]=0;c[t>>2]=tH(c[n>>2]|0,0,0)|0;wB(c[o>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=uF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=tF(c[n>>2]|0,c[r>>2]|0,l,m)|0;if(!((d[l>>0]|0)!=1?(d[l>>0]|0)!=2:0))c[t>>2]=Oj(64159)|0;if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=CJ(c[n>>2]|0,c[p>>2]|0,a[l>>0]|0,c[m>>2]|0,c[q>>2]|0,0)|0;wB(c[p>>2]|0);if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=uF(c[n>>2]|0,c[r>>2]|0,p,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Fg(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else c[p>>2]=c[o>>2];FJ(c[n>>2]|0,c[r>>2]|0,1,0,t);if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}c[t>>2]=Ag(c[h>>2]|0,4,c[r>>2]|0)|0;if(c[t>>2]|0){wB(c[p>>2]|0);c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}else{c[t>>2]=BJ(f,p,r,1,0)|0;if(c[t>>2]|0){c[g>>2]=c[t>>2];t=c[g>>2]|0;i=u;return t|0}}if(c[k>>2]&1)c[s>>2]=13;else c[s>>2]=10;EK(c[p>>2]|0,c[s>>2]|0);xg(c[(c[p>>2]|0)+72>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[g>>2]=0;t=c[g>>2]|0;i=u;return t|0}function WL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;q=r;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=c[(c[k>>2]|0)+4>>2];if((c[m>>2]|0)!=0?(XL(c[p>>2]|0),(c[(c[p>>2]|0)+80>>2]|0)==0):0){c[j>>2]=7;f=c[j>>2]|0;i=r;return f|0}if((c[l>>2]|0)==1?(gF(c[p>>2]|0)|0)==0:0)c[l>>2]=0;c[(c[o>>2]|0)+52>>2]=c[l>>2];a[(c[o>>2]|0)+68>>0]=-1;c[(c[o>>2]|0)+72>>2]=c[n>>2];c[c[o>>2]>>2]=c[k>>2];c[(c[o>>2]|0)+4>>2]=c[p>>2];a[(c[o>>2]|0)+64>>0]=(c[m>>2]|0)!=0?1:0;a[(c[o>>2]|0)+65>>0]=(c[m>>2]|0)!=0?0:2;c[q>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if((c[(c[q>>2]|0)+52>>2]|0)==(c[l>>2]|0)){f=(c[q>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32;f=(c[o>>2]|0)+64|0;a[f>>0]=d[f>>0]|0|32}c[q>>2]=c[(c[q>>2]|0)+8>>2]}c[(c[o>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];c[(c[p>>2]|0)+8>>2]=c[o>>2];a[(c[o>>2]|0)+66>>0]=0;c[j>>2]=0;f=c[j>>2]|0;i=r;return f|0}function XL(b){b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){i=e;return}b=Wi(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){i=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;b=(c[d>>2]|0)+80|0;c[b>>2]=(c[b>>2]|0)+4;i=e;return}function YL(){return 200}function ZL(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function _L(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?(d[(c[f>>2]|0)+6>>0]|0|0)!=0:0){c[e>>2]=$L(c[f>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;i=h;return a|0}c[e>>2]=0;a=c[e>>2]|0;i=h;return a|0}function $L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+24|0;d=l+20|0;e=l+16|0;k=l+12|0;h=l+8|0;g=l+4|0;f=l;c[d>>2]=a;c[e>>2]=b;c[k>>2]=0;c[h>>2]=c[(c[d>>2]|0)+104>>2];c[f>>2]=cg(c[(c[d>>2]|0)+100>>2]|0,(c[e>>2]|0)*48|0,0)|0;if(!(c[f>>2]|0)){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}tR((c[f>>2]|0)+((c[h>>2]|0)*48|0)|0,0,((c[e>>2]|0)-(c[h>>2]|0)|0)*48|0)|0;c[(c[d>>2]|0)+100>>2]=c[f>>2];c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[e>>2]|0)){d=14;break}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[d>>2]|0)+28>>2];if((c[c[(c[d>>2]|0)+68>>2]>>2]|0)!=0?(a=(c[d>>2]|0)+80|0,b=c[a+4>>2]|0,(b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0):0){h=(c[d>>2]|0)+80|0;b=c[h+4>>2]|0;a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[h>>2];c[a+4>>2]=b}else{a=(c[f>>2]|0)+((c[g>>2]|0)*48|0)|0;c[a>>2]=c[(c[d>>2]|0)+156>>2];c[a+4>>2]=0}c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[d>>2]|0)+56>>2];a=ij(c[(c[d>>2]|0)+28>>2]|0)|0;c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=a;if(!(c[(c[f>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){d=10;break}if(xr(c[d>>2]|0)|0)aM(c[(c[d>>2]|0)+216>>2]|0,(c[f>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[d>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((d|0)==10){c[j>>2]=7;k=c[j>>2]|0;i=l;return k|0}else if((d|0)==14){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}return 0}function aM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];i=d;return}function bM(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+16|0;k=n+12|0;m=n+8|0;l=n+4|0;g=n;c[k>>2]=f;if((c[(c[k>>2]|0)+44>>2]|0)>>>0>0){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}c[m>>2]=c[(c[k>>2]|0)+12>>2];c[l>>2]=c[(c[m>>2]|0)+56>>2];c[g>>2]=Fg(c[(c[m>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[j>>2]=c[g>>2];m=c[j>>2]|0;i=n;return m|0}else{f=c[l>>2]|0;g=42903;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[l>>2]|0)+16>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>8;a[(c[l>>2]|0)+17>>0]=(c[(c[k>>2]|0)+32>>2]|0)>>>16;a[(c[l>>2]|0)+18>>0]=1;a[(c[l>>2]|0)+19>>0]=1;a[(c[l>>2]|0)+20>>0]=(c[(c[k>>2]|0)+32>>2]|0)-(c[(c[k>>2]|0)+36>>2]|0);a[(c[l>>2]|0)+21>>0]=64;a[(c[l>>2]|0)+22>>0]=32;a[(c[l>>2]|0)+23>>0]=32;f=(c[l>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));EK(c[m>>2]|0,13);m=(c[k>>2]|0)+22|0;b[m>>1]=e[m>>1]|0|2;at((c[l>>2]|0)+52|0,d[(c[k>>2]|0)+17>>0]|0);at((c[l>>2]|0)+64|0,d[(c[k>>2]|0)+18>>0]|0);c[(c[k>>2]|0)+44>>2]=1;a[(c[l>>2]|0)+31>>0]=1;c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}return 0}function cM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;g=o+24|0;h=o+20|0;j=o;l=o+16|0;m=o+12|0;n=o+8|0;k=o+28|0;c[h>>2]=b;b=j;c[b>>2]=e;c[b+4>>2]=f;if(0!=0?1:(c[j+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[j>>2];n=j;n=qR(c[n>>2]|0,c[n+4>>2]|0,8)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=7;while(1){if((c[l>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=c[j>>2]&127|128;n=j;n=qR(c[n>>2]|0,c[n+4>>2]|0,7)|0;b=j;c[b>>2]=n;c[b+4>>2]=C;c[l>>2]=(c[l>>2]|0)+-1}c[g>>2]=9;b=c[g>>2]|0;i=o;return b|0}c[n>>2]=0;do{b=(c[j>>2]&127|128)&255;f=c[n>>2]|0;c[n>>2]=f+1;a[k+f>>0]=b;f=j;f=qR(c[f>>2]|0,c[f+4>>2]|0,7)|0;b=j;c[b>>2]=f;c[b+4>>2]=C;b=j}while((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0);a[k>>0]=(d[k>>0]|0)&127;c[l>>2]=0;c[m>>2]=(c[n>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;a[(c[h>>2]|0)+(c[l>>2]|0)>>0]=a[k+(c[m>>2]|0)>>0]|0;c[m>>2]=(c[m>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+1}c[g>>2]=c[n>>2];b=c[g>>2]|0;i=o;return b|0}function dM(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;b[(c[n>>2]|0)+8>>1]=1;h=zx(c[n>>2]|0,(c[l>>2]|0)+2|0)|0;c[o>>2]=h;if(h){o=c[o>>2]|0;i=p;return o|0}e=c[j>>2]|0;j=c[k>>2]|0;f=c[l>>2]|0;g=c[(c[n>>2]|0)+16>>2]|0;if(c[m>>2]|0)c[o>>2]=zH(e,j,f,g)|0;else c[o>>2]=Oh(e,j,f,g)|0;if(!(c[o>>2]|0)){a[(c[(c[n>>2]|0)+16>>2]|0)+(c[l>>2]|0)>>0]=0;a[(c[(c[n>>2]|0)+16>>2]|0)+((c[l>>2]|0)+1)>>0]=0;b[(c[n>>2]|0)+8>>1]=528;c[(c[n>>2]|0)+12>>2]=c[l>>2];o=c[o>>2]|0;i=p;return o|0}else{Wg(c[n>>2]|0);o=c[o>>2]|0;i=p;return o|0}return 0}function eM(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];i=j;return c[(c[f>>2]|0)+16+8>>2]|0}function fM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[f>>2]=lF(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,g)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];g=c[d>>2]|0;i=h;return g|0}if(c[g>>2]|0){c[d>>2]=Oj(71015)|0;g=c[d>>2]|0;i=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;i=h;return g|0}return 0}function gM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((c[(c[e>>2]|0)+12>>2]|0)>(c[(c[f>>2]|0)+12>>2]|0))a=c[(c[f>>2]|0)+12>>2]|0;else a=c[(c[e>>2]|0)+12>>2]|0;c[g>>2]=EQ(c[(c[e>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+16>>2]|0,a)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;i=h;return g|0}else{c[d>>2]=(c[(c[e>>2]|0)+12>>2]|0)-(c[(c[f>>2]|0)+12>>2]|0);g=c[d>>2]|0;i=h;return g|0}return 0}function hM(d){d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(Qy(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;d=b[e>>1]|0;i=g;return d|0}if(!(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;d=b[e>>1]|0;i=g;return d|0}else{b[e>>1]=8;d=b[e>>1]|0;i=g;return d|0}return 0}function iM(d){d=d|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ax(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;d=c[f>>2]|0;i=h;return d|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;c[f>>2]=0;d=c[f>>2]|0;i=h;return d|0}return 0}function jM(a){a=a|0;var d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;hh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;i=e;return c[d>>2]|0}function kM(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+176>>2]|0){c[b>>2]=c[(c[d>>2]|0)+176>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}XH(a)|0;c[(c[d>>2]|0)+176>>2]=0;c[(c[d>>2]|0)+184>>2]=0}qM(c[d>>2]|0);if(c[(c[d>>2]|0)+8>>2]|0)uC(c[(c[d>>2]|0)+8>>2]|0,c[(c[d>>2]|0)+28>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+180>>2]|0))break;c[e>>2]=c[a+180>>2];c[(c[d>>2]|0)+180>>2]=c[(c[e>>2]|0)+4>>2];rM(c[e>>2]|0)}if(!(c[a+204>>2]|0)){i=f;return}hI(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);i=f;return} +function Om(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;z=G+80|0;p=G+76|0;h=G+72|0;A=G+68|0;B=G+64|0;x=G+60|0;n=G+56|0;E=G+52|0;D=G+48|0;u=G;o=G+44|0;q=G+40|0;k=G+36|0;l=G+85|0;v=G+32|0;m=G+28|0;s=G+24|0;j=G+20|0;r=G+84|0;y=G+16|0;w=G+12|0;t=G+8|0;c[p>>2]=b;c[h>>2]=e;c[A>>2]=f;c[B>>2]=g;c[x>>2]=c[(c[h>>2]|0)+20>>2];c[n>>2]=c[c[p>>2]>>2];c[c[B>>2]>>2]=0;if((c[(c[x>>2]|0)+68>>2]|0)<(c[(c[n>>2]|0)+24>>2]|0)?(c[(c[x>>2]|0)+68>>2]|0)!=(c[A>>2]|0):0){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}b=(c[h>>2]|0)+24|0;g=c[b+4>>2]|0;e=u;c[e>>2]=c[b>>2];c[e+4>>2]=g;c[E>>2]=c[(c[x>>2]|0)+28>>2];e=u;g=(c[p>>2]|0)+32|0;if(!(!((c[e>>2]|0)!=(c[g>>2]|0)?1:(c[e+4>>2]|0)!=(c[g+4>>2]|0))?(d[(c[h>>2]|0)+32>>0]|0)==0:0))F=6;do if((F|0)==6){c[o>>2]=0;c[q>>2]=d[(c[n>>2]|0)+231>>0];c[k>>2]=0;a[l>>0]=0;c[m>>2]=c[h>>2];c[v>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[v>>2]|0))break;if((c[c[v>>2]>>2]|0)==4)c[k>>2]=1;if((c[c[v>>2]>>2]|0)==1)c[m>>2]=c[v>>2];if(a[(c[v>>2]|0)+32>>0]|0)a[l>>0]=1;c[v>>2]=c[(c[v>>2]|0)+8>>2]}if(!(c[k>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}a:do if(c[(c[x>>2]|0)+40>>2]|0){c[j>>2]=d[(c[m>>2]|0)+32>>0];Qm(c[p>>2]|0,c[m>>2]|0,o);b:while(1){if(c[o>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;Rm(c[p>>2]|0,c[m>>2]|0,o);if(c[j>>2]|0)continue b;n=(c[m>>2]|0)+24|0;g=u;if(!(((c[n>>2]|0)!=(c[g>>2]|0)?1:(c[n+4>>2]|0)!=(c[g+4>>2]|0))&(c[o>>2]|0)==0))break a}}}while(0);c:do if((a[l>>0]|0)!=0&(c[o>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;Rm(c[p>>2]|0,c[m>>2]|0,o)}while((c[o>>2]|0)==0);while(0);if(c[o>>2]|0){c[z>>2]=c[o>>2];F=c[z>>2]|0;i=G;return F|0}c[s>>2]=1;c[v>>2]=c[m>>2];while(1){if(!(c[v>>2]|0))break;a[r>>0]=0;c[y>>2]=c[v>>2];if((c[c[y>>2]>>2]|0)==1)c[y>>2]=c[(c[y>>2]|0)+16>>2];c[w>>2]=c[(c[y>>2]|0)+20>>2];c[E>>2]=c[(c[w>>2]|0)+48>>2];g=(c[w>>2]|0)+56|0;o=c[g+4>>2]|0;h=u;c[h>>2]=c[g>>2];c[h+4>>2]=o;h=(c[(c[w>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[p>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(h)h=(c[E>>2]|0)>>>0>=((c[c[w>>2]>>2]|0)+(c[(c[w>>2]|0)+4>>2]|0)|0)>>>0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=oR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,AR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,(C|0)>=0):0)break d;if(d[r>>0]|0)break d;Sm(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,r)}}else{if(h)if(c[E>>2]|0)h=(c[E>>2]|0)>>>0<=(c[c[w>>2]>>2]|0)>>>0;else h=0;else h=1;a[r>>0]=h&1;while(1){if((c[E>>2]|0)!=0?(g=(c[q>>2]|0)!=0?-1:1,n=u,o=(c[p>>2]|0)+32|0,o=oR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=AR(g|0,((g|0)<0)<<31>>31|0,o|0,C|0)|0,g=C,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[r>>0]|0)break d;_l(c[q>>2]|0,c[c[w>>2]>>2]|0,c[(c[w>>2]|0)+4>>2]|0,E,u,t,r)}}while(0);c[(c[w>>2]|0)+48>>2]=c[E>>2];n=u;g=c[n+4>>2]|0;o=(c[w>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!((d[r>>0]|0)==0?(g=u,o=(c[p>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[v>>2]=c[(c[v>>2]|0)+12>>2]}if(c[s>>2]|0){c[E>>2]=c[(c[x>>2]|0)+48>>2];break}else{c[E>>2]=0;break}}while(0);if(!(c[E>>2]|0)){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if((a[c[E>>2]>>0]|0)==1){c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}else c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[A>>2]|0))break;Xl(0,E);if(!(a[c[E>>2]>>0]|0)){F=65;break}c[E>>2]=(c[E>>2]|0)+1;h=c[E>>2]|0;if(d[c[E>>2]>>0]&128)h=Zl(h,D)|0;else{c[D>>2]=d[h>>0];h=1}c[E>>2]=(c[E>>2]|0)+h}if((F|0)==65){c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}if(!(a[c[E>>2]>>0]|0))c[E>>2]=0;c[c[B>>2]>>2]=(c[A>>2]|0)==(c[D>>2]|0)?c[E>>2]|0:0;c[z>>2]=0;F=c[z>>2]|0;i=G;return F|0}function Pm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;g=h+4|0;e=h+12|0;f=h;c[d>>2]=b;c[g>>2]=c[c[d>>2]>>2];a[e>>0]=0;c[f>>2]=0;while(1){b=c[g>>2]|0;if(!(254&(a[c[g>>2]>>0]|a[e>>0])))break;c[g>>2]=b+1;a[e>>0]=a[b>>0]&128;if(a[e>>0]|0)continue;c[f>>2]=(c[f>>2]|0)+1}c[c[d>>2]>>2]=b;i=h;return c[f>>2]|0}function Qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}c[k>>2]=c[(c[g>>2]|0)+20>>2];if(c[k>>2]|0){Tm(c[k>>2]|0);if(c[(c[k>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+64>>2]|0))break;c[l>>2]=(c[k>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[l>>2]|0)+20>>2]|0)an(c[(c[l>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}l=bn(c[f>>2]|0,0,c[k>>2]|0)|0;c[c[h>>2]>>2]=l}c[(c[k>>2]|0)+8>>2]=0;l=(c[k>>2]|0)+16|0;c[l>>2]=0;c[l+4>>2]=0;c[(c[k>>2]|0)+48>>2]=0}l=(c[g>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;Qm(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);Qm(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);i=m;return}function Rm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+80|0;p=x+64|0;w=x+60|0;q=x+56|0;r=x+52|0;u=x+48|0;v=x+44|0;m=x+8|0;s=x+40|0;t=x+36|0;n=x+32|0;o=x+28|0;l=x;g=x+24|0;j=x+20|0;h=x+16|0;c[p>>2]=b;c[w>>2]=e;c[q>>2]=f;if(c[c[q>>2]>>2]|0){i=x;return}c[r>>2]=d[(c[p>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;i=x;return}o=(a[(c[v>>2]|0)+34>>0]|0)!=0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0);if(o){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;i=x;return}Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[q>>2]>>2]|0)break;o=(c[r>>2]|0)!=0?-1:1;l=(c[u>>2]|0)+24|0;n=(c[v>>2]|0)+24|0;n=oR(c[l>>2]|0,c[l+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=AR(o|0,((o|0)<0)<<31>>31|0,n|0,C|0)|0;o=m;c[o>>2]=n;c[o+4>>2]=C;o=m;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0)break;b=c[p>>2]|0;if((c[m+4>>2]|0)<0){Rm(b,c[u>>2]|0,c[q>>2]|0);continue}else{Rm(b,c[v>>2]|0,c[q>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;r=(c[w>>2]|0)+24|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){i=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){i=x;return}a:do if((c[(c[v>>2]|0)+20>>2]|0)!=0?(c[c[(c[v>>2]|0)+20>>2]>>2]|0)!=0:0){c[s>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;tR(c[(c[s>>2]|0)+28>>2]|0,0,c[(c[s>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[v>>2]|0,c[q>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){i=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){i=x;return}c[t>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[q>>2]>>2]|0){k=53;break}if(d[(c[u>>2]|0)+32>>0]|0){k=53;break}tR(c[(c[t>>2]|0)+28>>2]|0,0,c[(c[t>>2]|0)+32>>2]|0)|0;Rm(c[p>>2]|0,c[u>>2]|0,c[q>>2]|0)}if((k|0)==53){i=x;return}break}case 4:{c[n>>2]=c[(c[w>>2]|0)+12>>2];c[o>>2]=c[(c[w>>2]|0)+16>>2];v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=oR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=AR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;do if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[n>>2]|0)+32>>0]|0)==0?(v=l,u=c[v+4>>2]|0,!((d[(c[o>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0);break}Rm(c[p>>2]|0,c[o>>2]|0,c[q>>2]|0)}else k=33;while(0);if((k|0)==33)Rm(c[p>>2]|0,c[n>>2]|0,c[q>>2]|0);if(d[(c[n>>2]|0)+32>>0]|0)b=(d[(c[o>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=(c[r>>2]|0)!=0?-1:1;t=(c[n>>2]|0)+24|0;u=(c[o>>2]|0)+24|0;u=oR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=AR(v|0,((v|0)<0)<<31>>31|0,u|0,C|0)|0;v=l;c[v>>2]=u;c[v+4>>2]=C;if((d[(c[o>>2]|0)+32>>0]|0)==0?!((c[l+4>>2]|0)<0?(d[(c[n>>2]|0)+32>>0]|0)==0:0):0){u=(c[o>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}u=(c[n>>2]|0)+24|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[j>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[j>>2]|0)+33>>0]|0))Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0);Rm(c[p>>2]|0,c[g>>2]|0,c[q>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[q>>2]>>2]|0)break b;if(a[(c[j>>2]|0)+32>>0]|0)break b;u=(c[r>>2]|0)!=0?-1:1;t=(c[g>>2]|0)+24|0;v=(c[j>>2]|0)+24|0;v=oR(c[t>>2]|0,c[t+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=AR(u|0,((u|0)<0)<<31>>31|0,v|0,C|0)|0;u=C;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;Rm(c[p>>2]|0,c[j>>2]|0,c[q>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;i=x;return}default:{c[h>>2]=c[(c[w>>2]|0)+20>>2];Tm(c[h>>2]|0);u=Um(c[p>>2]|0,c[h>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[q>>2]>>2]=u;u=(c[h>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;i=x;return}}}function Sm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;j=r+32|0;k=r+28|0;l=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;q=r+8|0;p=r;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[q>>2]=c[c[m>>2]>>2];if(!(c[q>>2]|0)){c[q>>2]=c[k>>2];p=Yl(c[q>>2]|0,c[n>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+p;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}bm(0,q);while(1){if((c[q>>2]|0)>>>0<((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0)b=(a[c[q>>2]>>0]|0)==0;else b=0;d=c[q>>2]|0;if(!b)break;c[q>>2]=d+1}if(d>>>0>=((c[k>>2]|0)+(c[l>>2]|0)|0)>>>0){a[c[o>>2]>>0]=1;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}else{l=Yl(c[q>>2]|0,p)|0;c[q>>2]=(c[q>>2]|0)+l;l=(c[j>>2]|0)!=0?-1:1;o=p;o=AR(l|0,((l|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[n>>2]|0;n=p;o=pR(c[n>>2]|0,c[n+4>>2]|0,o|0,C|0)|0;c[p>>2]=o;c[p+4>>2]=C;p=c[q>>2]|0;q=c[m>>2]|0;c[q>>2]=p;i=r;return}}function Tm(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;i=d;return}function Um(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[k>>2]=0;c[h>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];b=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=Vm(b,c[f>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}if((d[b+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?(c[(c[h>>2]|0)+4>>2]|0)!=0:0){_l(d[(c[j>>2]|0)+231>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,(c[h>>2]|0)+8|0,(c[h>>2]|0)+16|0,(c[h>>2]|0)+32|0,c[g>>2]|0);c[(c[h>>2]|0)+28>>2]=c[(c[h>>2]|0)+8>>2];m=c[k>>2]|0;i=l;return m|0}Wm(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);m=c[k>>2]|0;i=l;return m|0}function Vm(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+192|0;h=E+172|0;g=E+168|0;j=E+164|0;k=E+160|0;A=E+156|0;v=E+152|0;z=E+148|0;o=E+176|0;n=E+144|0;l=E+8|0;p=E+140|0;r=E;q=E+136|0;u=E+132|0;s=E+128|0;m=E+124|0;w=E+120|0;y=E+116|0;x=E+112|0;t=E+108|0;B=E+104|0;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[A>>2]=0;c[v>>2]=c[j>>2];c[z>>2]=c[c[g>>2]>>2];a[o>>0]=0;if((c[(c[j>>2]|0)+64>>2]|0)==1?(c[(c[j>>2]|0)+40>>2]|0)!=0:0){c[A>>2]=Xm(c[z>>2]|0,c[(c[j>>2]|0)+72+20>>2]|0,(c[v>>2]|0)+16|0,(c[v>>2]|0)+28|0,(c[v>>2]|0)+32|0)|0;if(!(c[(c[v>>2]|0)+28>>2]|0))a[o>>0]=1}else D=5;a:do if((D|0)==5){c[n>>2]=d[(c[g>>2]|0)+52>>0];g=l;e=g+96|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));while(1){if(d[o>>0]|0)break a;c[p>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;c[q>>2]=0;while(1){if(c[A>>2]|0)break;if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;if(d[o>>0]|0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;do if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){if((c[p>>2]|0)!=0?(b=(c[n>>2]|0)!=0?-1:1,e=r,f=l+((c[q>>2]|0)*24|0)+8|0,f=oR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0,AR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0,(C|0)>=0):0)break;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[p>>2]=1}while(0);c[q>>2]=(c[q>>2]|0)+1}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[o>>0]|0)break;if(c[l+((c[q>>2]|0)*24|0)>>2]|0)break;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=oR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;AR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;if((C|0)>=0)break;c[A>>2]=Ym(c[z>>2]|0,c[j>>2]|0,c[q>>2]|0,l+((c[q>>2]|0)*24|0)|0,o)|0;b=(c[n>>2]|0)!=0?-1:1;e=l+((c[q>>2]|0)*24|0)+8|0;f=r;f=oR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=AR(b|0,((b|0)<0)<<31>>31|0,f|0,C|0)|0;b=C;if(!((b|0)>0|(b|0)==0&f>>>0>0))continue;e=l+((c[q>>2]|0)*24|0)+8|0;b=c[e+4>>2]|0;f=r;c[f>>2]=c[e>>2];c[f+4>>2]=b;c[q>>2]=0}c[q>>2]=(c[q>>2]|0)+1}if(d[o>>0]|0)continue;c[u>>2]=0;c[s>>2]=c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[m>>2]=Id((c[s>>2]|0)+1|0)|0;if(!(c[m>>2]|0))break;rR(c[m>>2]|0,c[l+(((c[(c[j>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[s>>2]|0)+1|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=((c[(c[j>>2]|0)+64>>2]|0)-1|0))break;if(!(c[l+((c[q>>2]|0)*24|0)>>2]|0)){c[w>>2]=c[l+((c[q>>2]|0)*24|0)+16>>2];c[y>>2]=c[m>>2];c[x>>2]=c[m>>2];c[t>>2]=(c[(c[j>>2]|0)+64>>2]|0)-1-(c[q>>2]|0);c[B>>2]=Zm(x,c[t>>2]|0,0,1,w,y)|0;if(!(c[B>>2]|0))break;c[u>>2]=(c[x>>2]|0)-(c[m>>2]|0)}c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==((c[(c[j>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[m>>2]|0)}if((D|0)==35){z=r;B=c[z+4>>2]|0;D=(c[v>>2]|0)+16|0;c[D>>2]=c[z>>2];c[D+4>>2]=B;c[(c[v>>2]|0)+28>>2]=c[m>>2];c[(c[v>>2]|0)+32>>2]=c[u>>2];c[(c[v>>2]|0)+24>>2]=1;break}c[h>>2]=7;D=c[h>>2]|0;i=E;return D|0}while(0);a[c[k>>2]>>0]=a[o>>0]|0;c[h>>2]=c[A>>2];D=c[h>>2]|0;i=E;return D|0}function Wm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;l=n+8|0;h=n;c[g>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=(c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);e=c[j>>2]|0;if(c[(c[j>>2]|0)+8>>2]|0)c[m>>2]=c[e+8>>2];else c[m>>2]=c[e>>2];if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){a[c[k>>2]>>0]=1;i=n;return}f=Yl(c[m>>2]|0,h)|0;c[m>>2]=(c[m>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[j>>2]|0)+16|0;f=h;g=oR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}else{g=h;h=(c[j>>2]|0)+16|0;f=h;g=pR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=C}c[(c[j>>2]|0)+28>>2]=c[m>>2];bm(0,m);c[(c[j>>2]|0)+32>>2]=(c[m>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0);while(1){if((c[m>>2]|0)>>>0<(c[l>>2]|0)>>>0)b=(a[c[m>>2]>>0]|0)==0;else b=0;e=c[m>>2]|0;if(!b)break;c[m>>2]=e+1}c[(c[j>>2]|0)+8>>2]=e;a[c[k>>2]>>0]=0;i=n;return}function Xm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+64|0;p=x+60|0;h=x+56|0;j=x+52|0;q=x+48|0;r=x+44|0;s=x+40|0;m=x+36|0;k=x+32|0;o=x+28|0;n=x+24|0;w=x+20|0;v=x+16|0;u=x+12|0;l=x+8|0;t=x;c[h>>2]=a;c[j>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[m>>2]=c[(c[j>>2]|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];c[o>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;if(!(c[m>>2]|0)){c[c[r>>2]>>2]=0;c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}while(1){c[n>>2]=c[c[c[j>>2]>>2]>>2];if(!(c[(c[n>>2]|0)+80>>2]|0)){h=4;break}f=(c[c[k>>2]>>2]|0)+88|0;e=c[f+4>>2]|0;g=t;c[g>>2]=c[f>>2];c[g+4>>2]=e;c[w>>2]=Ul(c[h>>2]|0,c[c[k>>2]>>2]|0,v,u)|0;c[l>>2]=1;while(1){if(c[w>>2]|0)break;if((c[l>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[e>>2]|0)==(c[g>>2]|0)?(c[e+4>>2]|0)==(c[g+4>>2]|0):0))break;c[w>>2]=Ul(c[h>>2]|0,c[(c[k>>2]|0)+(c[l>>2]<<2)>>2]|0,0,0)|0;c[l>>2]=(c[l>>2]|0)+1}if(c[w>>2]|0){h=12;break}Rl(c[c[j>>2]>>2]|0,c[m>>2]|0,c[l>>2]|0,c[o>>2]|0);if((c[u>>2]|0)>0?(c[(c[c[k>>2]>>2]|0)+56>>2]|0)!=0:0){c[w>>2]=Sl(c[j>>2]|0,c[v>>2]|0,(c[u>>2]|0)+1|0)|0;if(c[w>>2]|0){h=16;break}c[v>>2]=c[(c[j>>2]|0)+16>>2]}if((c[(c[j>>2]|0)+24>>2]|0)>=0)Vl(c[(c[j>>2]|0)+24>>2]|0,1,v,u);if((c[u>>2]|0)>0){h=21;break}}if((h|0)==4)c[c[r>>2]>>2]=0;else if((h|0)==12){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==16){c[p>>2]=c[w>>2];w=c[p>>2]|0;i=x;return w|0}else if((h|0)==21){c[c[r>>2]>>2]=c[v>>2];v=c[t+4>>2]|0;w=c[q>>2]|0;c[w>>2]=c[t>>2];c[w+4>>2]=v;c[c[s>>2]>>2]=c[u>>2]}c[p>>2]=0;w=c[p>>2]|0;i=x;return w|0}function Ym(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;h=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[o>>2]=0;if((c[(c[j>>2]|0)+44>>2]|0)==(c[k>>2]|0)){Wm(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0);c[(c[l>>2]|0)+16>>2]=c[(c[j>>2]|0)+28>>2];c[(c[l>>2]|0)+20>>2]=c[(c[j>>2]|0)+32>>2];b=(c[j>>2]|0)+16|0;n=c[b+4>>2]|0;g=(c[l>>2]|0)+8|0;c[g>>2]=c[b>>2];c[g+4>>2]=n;o=c[o>>2]|0;i=p;return o|0}c[n>>2]=(c[j>>2]|0)+72+((c[k>>2]|0)*24|0);if(!(c[(c[n>>2]|0)+20>>2]|0)){c[c[l>>2]>>2]=1;o=c[o>>2]|0;i=p;return o|0}c[o>>2]=Xm(c[h>>2]|0,c[(c[n>>2]|0)+20>>2]|0,(c[l>>2]|0)+8|0,(c[l>>2]|0)+16|0,(c[l>>2]|0)+20|0)|0;if(c[(c[l>>2]|0)+16>>2]|0){o=c[o>>2]|0;i=p;return o|0}a[c[m>>2]>>0]=1;o=c[o>>2]|0;i=p;return o|0}function Zm(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+96|0;k=D+80|0;l=D+76|0;m=D+72|0;n=D+68|0;o=D+64|0;p=D+60|0;q=D+56|0;x=D+52|0;y=D+48|0;z=D+44|0;r=D+40|0;s=D+36|0;A=D+32|0;v=D+24|0;t=D+16|0;u=D+8|0;w=D;c[l>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[x>>2]=c[c[l>>2]>>2];c[y>>2]=c[c[p>>2]>>2];c[z>>2]=c[c[q>>2]>>2];c[r>>2]=0;c[s>>2]=0;if((a[c[y>>2]>>0]|0)==1){c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g}if((a[c[z>>2]>>0]|0)==1){c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}while(1){if((c[r>>2]|0)!=(c[s>>2]|0))if((c[r>>2]|0)<(c[s>>2]|0)){Xl(0,y);if(!(a[c[y>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;continue}else{Xl(0,z);if(!(a[c[z>>2]>>0]|0))break;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g;continue}c[A>>2]=c[x>>2];j=v;c[j>>2]=0;c[j+4>>2]=0;j=t;c[j>>2]=0;c[j+4>>2]=0;j=u;c[j>>2]=0;c[j+4>>2]=0;if(c[r>>2]|0){j=c[x>>2]|0;c[x>>2]=j+1;a[j>>0]=1;j=c[r>>2]|0;j=Il(c[x>>2]|0,j,((j|0)<0)<<31>>31)|0;c[x>>2]=(c[x>>2]|0)+j}_m(y,t);j=t;j=oR(c[j>>2]|0,c[j+4>>2]|0,2,0)|0;h=t;c[h>>2]=j;c[h+4>>2]=C;_m(z,u);h=u;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C;while(1){j=u;b=c[j>>2]|0;j=c[j+4>>2]|0;e=t;h=c[m>>2]|0;h=pR(c[e>>2]|0,c[e+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((b|0)==(h|0)&(j|0)==(C|0))){if(((c[o>>2]|0)==0?(h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,(e|0)>(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=pR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0)B=19}else B=19;if((B|0)==19){B=0;f=(c[n>>2]|0)!=0;e=t;b=u;j=f?c[e+4>>2]|0:c[b+4>>2]|0;h=w;c[h>>2]=f?c[e>>2]|0:c[b>>2]|0;c[h+4>>2]=j;h=w;h=pR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;$m(x,v,h,C);h=v;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=v;c[j>>2]=h;c[j+4>>2]=C;c[A>>2]=0}if(!((c[n>>2]|0)==0?(e=u,h=c[e>>2]|0,e=c[e+4>>2]|0,b=t,j=c[m>>2]|0,j=pR(c[b>>2]|0,c[b+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0,b=C,(e|0)<(b|0)|(e|0)==(b|0)&h>>>0<=j>>>0):0))B=22;if((B|0)==22?(B=0,h=u,e=c[h+4>>2]|0,j=t,b=c[j+4>>2]|0,!((e|0)<(b|0)|((e|0)==(b|0)?(c[h>>2]|0)>>>0<=(c[j>>2]|0)>>>0:0))):0){if(!(a[c[y>>2]>>0]&254))break;_m(y,t);h=t;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=t;c[j>>2]=h;c[j+4>>2]=C;continue}if(!(a[c[z>>2]>>0]&254))break;_m(z,u);h=u;h=oR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;j=u;c[j>>2]=h;c[j+4>>2]=C}if(c[A>>2]|0)c[x>>2]=c[A>>2];Xl(0,y);Xl(0,z);if(!(a[c[y>>2]>>0]|0))break;if(!(a[c[z>>2]>>0]|0))break;c[y>>2]=(c[y>>2]|0)+1;g=c[y>>2]|0;if(d[c[y>>2]>>0]&128)g=Zl(g,r)|0;else{c[r>>2]=d[g>>0];g=1}c[y>>2]=(c[y>>2]|0)+g;c[z>>2]=(c[z>>2]|0)+1;g=c[z>>2]|0;if(d[c[z>>2]>>0]&128)g=Zl(g,s)|0;else{c[s>>2]=d[g>>0];g=1}c[z>>2]=(c[z>>2]|0)+g}bm(0,z);bm(0,y);c[c[p>>2]>>2]=c[y>>2];c[c[q>>2]>>2]=c[z>>2];if((c[c[l>>2]>>2]|0)==(c[x>>2]|0)){c[k>>2]=0;B=c[k>>2]|0;i=D;return B|0}else{B=c[x>>2]|0;c[x>>2]=B+1;a[B>>0]=0;c[c[l>>2]>>2]=c[x>>2];c[k>>2]=1;B=c[k>>2]|0;i=D;return B|0}return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;a=Yl(c[c[g>>2]>>2]|0,f)|0;b=c[g>>2]|0;c[b>>2]=(c[b>>2]|0)+a;b=f;a=c[e>>2]|0;e=a;b=pR(c[e>>2]|0,c[e+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;c[a>>2]=b;c[a+4>>2]=C;i=d;return}function $m(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[g>>2]=b;a=h;c[a>>2]=d;c[a+4>>2]=e;e=c[c[j>>2]>>2]|0;a=h;b=c[g>>2]|0;b=oR(c[a>>2]|0,c[a+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;b=Il(e,b,C)|0;e=c[j>>2]|0;c[e>>2]=(c[e>>2]|0)+b;e=h;b=c[e+4>>2]|0;a=c[g>>2]|0;c[a>>2]=c[e>>2];c[a+4>>2]=b;i=f;return}function an(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}i=e;return 0}function bn(a,b,e){a=a|0;b=b|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;t=s+40|0;l=s+36|0;p=s+32|0;r=s+28|0;m=s+24|0;g=s+20|0;h=s+16|0;j=s+12|0;n=s+8|0;q=s+4|0;o=s;c[f>>2]=a;c[t>>2]=b;c[l>>2]=e;c[p>>2]=c[c[f>>2]>>2];c[r>>2]=0;c[g>>2]=0;if(((c[t>>2]|0)!=0?(d[(c[f>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[l>>2]|0)+64>>2]|0)<=4:0)b=(c[(c[l>>2]|0)+64>>2]|0)>0;else b=0;c[h>>2]=b&1;c[m>>2]=0;while(1){if((c[h>>2]|0)!=1)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[j>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[j>>2]|0)+12>>2]|0)){if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[(c[(c[j>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)k=11}else k=11;if((k|0)==11){k=0;c[h>>2]=0}if(c[(c[j>>2]|0)+20>>2]|0)c[g>>2]=1;c[m>>2]=(c[m>>2]|0)+1}if(!((c[h>>2]|0)!=0&(c[g>>2]|0)!=0)){c[r>>2]=dn(c[f>>2]|0,c[l>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=0;t=c[r>>2]|0;i=s;return t|0}if((c[(c[l>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))b=-1;else b=c[(c[l>>2]|0)+68>>2]|0;c[n>>2]=b;c[m>>2]=0;while(1){if(c[r>>2]|0)break;if((c[m>>2]|0)>=(c[(c[l>>2]|0)+64>>2]|0))break;c[q>>2]=(c[l>>2]|0)+72+((c[m>>2]|0)*24|0);c[o>>2]=c[(c[q>>2]|0)+20>>2];if(c[o>>2]|0)c[r>>2]=cn(c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1}c[(c[l>>2]|0)+40>>2]=1;t=c[r>>2]|0;i=s;return t|0}function cn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;n=t+40|0;h=t+36|0;o=t+32|0;p=t+28|0;j=t+24|0;k=t+20|0;q=t+16|0;r=t+12|0;l=t+8|0;s=t+4|0;m=t;c[h>>2]=a;c[o>>2]=b;c[p>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[(c[o>>2]|0)+4>>2];c[s>>2]=(d[(c[h>>2]|0)+231>>0]|0|0)!=0?182:183;c[r>>2]=fm(c[h>>2]|0,c[o>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[l>>2]|0))break;c[m>>2]=c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2];if(!(c[(c[m>>2]|0)+40>>2]|0))break;if(gm(c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}c[(c[o>>2]|0)+8>>2]=c[q>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+8>>2]|0)){h=13;break}c[r>>2]=Tl(c[h>>2]|0,c[(c[c[o>>2]>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;if(c[r>>2]|0){h=11;break}c[q>>2]=(c[q>>2]|0)+1}if((h|0)==11){c[n>>2]=c[r>>2];s=c[n>>2]|0;i=t;return s|0}else if((h|0)==13){Rl(c[c[o>>2]>>2]|0,c[q>>2]|0,c[q>>2]|0,c[s>>2]|0);c[(c[o>>2]|0)+24>>2]=c[p>>2];c[n>>2]=0;s=c[n>>2]|0;i=t;return s|0}return 0}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+28|0;d=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;j=l+8|0;f=l+4|0;h=l;c[m>>2]=a;c[d>>2]=b;c[g>>2]=c[c[m>>2]>>2];c[k>>2]=0;c[e>>2]=0;while(1){if(c[k>>2]|0){d=8;break}if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){d=8;break}c[j>>2]=(c[d>>2]|0)+72+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+20>>2]|0)!=0?(c[f>>2]=0,c[h>>2]=0,c[k>>2]=en(c[g>>2]|0,c[j>>2]|0,c[(c[d>>2]|0)+68>>2]|0,f,h)|0,(c[k>>2]|0)==0):0)c[k>>2]=fn(c[g>>2]|0,c[d>>2]|0,c[e>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}if((d|0)==8){i=l;return c[k>>2]|0}return 0}function en(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+192|0;g=r+176|0;h=r+172|0;j=r+168|0;k=r+164|0;l=r+160|0;p=r+156|0;o=r+152|0;q=r+24|0;m=r+8|0;n=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[o>>2]=c[(c[h>>2]|0)+20>>2];d=q;a=d+128|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(a|0));c[m+12>>2]=3|((c[(c[h>>2]|0)+8>>2]|0)!=0?8:0)|((c[(c[h>>2]|0)+12>>2]|0)!=0?32:0)|((c[j>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?4:0);c[m+8>>2]=c[j>>2];c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=c[(c[h>>2]|0)+4>>2];c[p>>2]=sl(c[g>>2]|0,c[o>>2]|0,m)|0;while(1){if(c[p>>2]|0)break;m=tl(c[g>>2]|0,c[o>>2]|0)|0;c[p>>2]=m;if(100!=(m|0))break;c[p>>2]=kn(c[g>>2]|0,q,c[(c[o>>2]|0)+48>>2]|0,c[(c[o>>2]|0)+52>>2]|0)|0}if(!(c[p>>2]|0))c[p>>2]=ln(c[g>>2]|0,q)|0;if(!(c[p>>2]|0)){c[c[l>>2]>>2]=c[q>>2];c[c[k>>2]>>2]=c[q+64>>2];q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=16)break;Kd(c[q+(c[n>>2]<<2)>>2]|0);c[n>>2]=(c[n>>2]|0)+1}q=c[o>>2]|0;mn(q);q=c[h>>2]|0;q=q+20|0;c[q>>2]=0;q=c[p>>2]|0;i=r;return q|0}function fn(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;s=t+20|0;q=t+16|0;r=t+12|0;o=t+8|0;p=t+4|0;n=t;c[h>>2]=a;c[j>>2]=b;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[s>>2]=0;e=c[j>>2]|0;do if(!(c[l>>2]|0)){Kd(c[e>>2]|0);c[c[j>>2]>>2]=0;c[(c[j>>2]|0)+4>>2]=0}else{if((c[e+44>>2]|0)<0){c[c[j>>2]>>2]=c[l>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];break}if(!(c[c[j>>2]>>2]|0)){Kd(c[l>>2]|0);break}e=c[c[j>>2]>>2]|0;if((c[(c[j>>2]|0)+44>>2]|0)<(c[k>>2]|0)){c[q>>2]=e;c[o>>2]=c[(c[j>>2]|0)+4>>2];c[r>>2]=c[l>>2];c[p>>2]=c[m>>2];c[n>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+44>>2]|0)}else{c[r>>2]=e;c[p>>2]=c[(c[j>>2]|0)+4>>2];c[q>>2]=c[l>>2];c[o>>2]=c[m>>2];c[n>>2]=(c[(c[j>>2]|0)+44>>2]|0)-(c[k>>2]|0)}c[s>>2]=gn(d[(c[h>>2]|0)+231>>0]|0,c[n>>2]|0,c[q>>2]|0,c[o>>2]|0,r,p)|0;Kd(c[q>>2]|0);c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[p>>2]}while(0);if((c[k>>2]|0)<=(c[(c[j>>2]|0)+44>>2]|0)){s=c[s>>2]|0;i=t;return s|0}c[(c[j>>2]|0)+44>>2]=c[k>>2];s=c[s>>2]|0;i=t;return s|0}function gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;D=i;i=i+112|0;h=D+104|0;j=D+100|0;k=D+96|0;E=D+92|0;F=D+88|0;l=D+84|0;m=D+80|0;r=D+32|0;s=D+24|0;u=D+16|0;o=D+76|0;z=D+72|0;A=D+68|0;x=D+64|0;y=D+60|0;w=D+56|0;p=D+52|0;n=D+48|0;t=D+8|0;B=D+44|0;v=D;q=D+40|0;c[j>>2]=a;c[k>>2]=b;c[E>>2]=d;c[F>>2]=e;c[l>>2]=f;c[m>>2]=g;g=r;c[g>>2]=0;c[g+4>>2]=0;g=s;c[g>>2]=0;c[g+4>>2]=0;g=u;c[g>>2]=0;c[g+4>>2]=0;c[o>>2]=c[c[l>>2]>>2];c[z>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[A>>2]=(c[o>>2]|0)+(c[c[m>>2]>>2]|0);c[x>>2]=c[E>>2];c[y>>2]=c[o>>2];c[p>>2]=0;if(c[j>>2]|0){c[n>>2]=Id((c[c[m>>2]>>2]|0)+10|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;F=c[h>>2]|0;i=D;return F|0}}else c[n>>2]=c[o>>2];c[w>>2]=c[n>>2];hn(x,c[z>>2]|0,0,r);hn(y,c[A>>2]|0,0,s);while(1){if(!((c[x>>2]|0)!=0?(c[y>>2]|0)!=0:0))break;F=(c[j>>2]|0)!=0?-1:1;g=r;E=s;E=oR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=AR(F|0,((F|0)<0)<<31>>31|0,E|0,C|0)|0;F=t;c[F>>2]=E;c[F+4>>2]=C;F=t;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[t+4>>2]|0)<0){bm(0,x);hn(x,c[z>>2]|0,c[j>>2]|0,r);continue}else{bm(0,y);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}else{c[B>>2]=c[w>>2];g=u;E=c[g+4>>2]|0;F=v;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[q>>2]=c[p>>2];F=r;jn(w,c[j>>2]|0,u,p,c[F>>2]|0,c[F+4>>2]|0);if(!(Zm(w,c[k>>2]|0,0,1,x,y)|0)){c[w>>2]=c[B>>2];g=v;E=c[g+4>>2]|0;F=u;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[p>>2]=c[q>>2]}hn(x,c[z>>2]|0,c[j>>2]|0,r);hn(y,c[A>>2]|0,c[j>>2]|0,s);continue}}c[c[m>>2]>>2]=(c[w>>2]|0)-(c[n>>2]|0);if(c[j>>2]|0){Kd(c[o>>2]|0);c[c[l>>2]>>2]=c[n>>2]}c[h>>2]=0;F=c[h>>2]|0;i=D;return F|0}function hn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;f=k+20|0;l=k+16|0;j=k+12|0;h=k+8|0;g=k;c[f>>2]=a;c[l>>2]=b;c[j>>2]=d;c[h>>2]=e;d=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[l>>2]|0)>>>0){c[d>>2]=0;i=k;return}a=Yl(c[d>>2]|0,g)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+a;f=g;a=c[f>>2]|0;f=c[f+4>>2]|0;d=c[h>>2]|0;e=d;b=c[e>>2]|0;e=c[e+4>>2]|0;if(c[j>>2]|0){j=oR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}else{j=pR(b|0,e|0,a|0,f|0)|0;l=d;c[l>>2]=j;c[l+4>>2]=C;i=k;return}}function jn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;l=n+8|0;m=n;c[h>>2]=a;c[o>>2]=b;c[j>>2]=d;c[k>>2]=e;a=l;c[a>>2]=f;c[a+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[k>>2]>>2]|0)!=0:0){o=c[j>>2]|0;a=l;a=oR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}else{o=l;a=c[j>>2]|0;a=oR(c[o>>2]|0,c[o+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;o=m;c[o>>2]=a;c[o+4>>2]=C}a=m;a=Il(c[c[h>>2]>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+a;d=l;a=c[d+4>>2]|0;o=c[j>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=a;c[c[k>>2]>>2]=1;i=n;return}function kn(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;g=t+24|0;m=t+20|0;p=t+16|0;o=t+12|0;n=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[g>>2]=f;a:do if(!(c[c[k>>2]>>2]|0)){s=Id((c[g>>2]|0)+10+1|0)|0;c[c[k>>2]>>2]=s;c[(c[k>>2]|0)+64>>2]=c[g>>2];if(c[c[k>>2]>>2]|0){rR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[g>>2]|0)|0;break}c[h>>2]=7;s=c[h>>2]|0;i=t;return s|0}else{c[m>>2]=c[l>>2];c[p>>2]=c[g>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break a;if(!(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0)){s=8;break}c[r>>2]=nn(d[(c[j>>2]|0)+231>>0]|0,c[m>>2]|0,c[p>>2]|0,c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]|0,n,q)|0;g=(c[m>>2]|0)!=(c[l>>2]|0);if(c[r>>2]|0)break;if(g)Kd(c[m>>2]|0);Kd(c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]|0);c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=0;c[m>>2]=c[n>>2];c[p>>2]=c[q>>2];if(((c[o>>2]|0)+1|0)==16){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2]}c[o>>2]=(c[o>>2]|0)+1}if((s|0)==8){c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[m>>2];c[(c[k>>2]|0)+64+(c[o>>2]<<2)>>2]=c[p>>2];break}if(g)Kd(c[m>>2]|0);c[h>>2]=c[r>>2];s=c[h>>2]|0;i=t;return s|0}while(0);c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function ln(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;j=o+32|0;e=o+28|0;k=o+24|0;l=o+20|0;m=o+16|0;g=o+12|0;h=o+8|0;f=o+4|0;n=o;c[e>>2]=a;c[k>>2]=b;c[l>>2]=0;c[m>>2]=0;c[g>>2]=0;a:while(1){if((c[g>>2]|0)>=16){e=10;break}do if(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0){if(!(c[l>>2]|0)){c[l>>2]=c[(c[k>>2]|0)+(c[g>>2]<<2)>>2];c[m>>2]=c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2];c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;break}c[n>>2]=nn(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[g>>2]<<2)>>2]|0,c[l>>2]|0,c[m>>2]|0,f,h)|0;if(c[n>>2]|0){e=7;break a}Kd(c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]|0);Kd(c[l>>2]|0);c[(c[k>>2]|0)+(c[g>>2]<<2)>>2]=0;c[l>>2]=c[f>>2];c[m>>2]=c[h>>2]}while(0);c[g>>2]=(c[g>>2]|0)+1}if((e|0)==7){Kd(c[l>>2]|0);c[j>>2]=c[n>>2];n=c[j>>2]|0;i=o;return n|0}else if((e|0)==10){c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+64>>2]=c[m>>2];c[j>>2]=0;n=c[j>>2]|0;i=o;return n|0}return 0}function mn(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;zl(c[d>>2]|0);Kd(c[d>>2]|0);i=b;return}function nn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;y=i;i=i+96|0;j=y+88|0;k=y+84|0;D=y+80|0;A=y+76|0;B=y+72|0;z=y+68|0;l=y+64|0;m=y+60|0;p=y+24|0;q=y+16|0;s=y+8|0;w=y+56|0;x=y+52|0;u=y+48|0;v=y+44|0;t=y+40|0;n=y+36|0;o=y+32|0;r=y;c[k>>2]=a;c[D>>2]=b;c[A>>2]=d;c[B>>2]=e;c[z>>2]=f;c[l>>2]=g;c[m>>2]=h;h=p;c[h>>2]=0;c[h+4>>2]=0;h=q;c[h>>2]=0;c[h+4>>2]=0;h=s;c[h>>2]=0;c[h+4>>2]=0;c[w>>2]=(c[D>>2]|0)+(c[A>>2]|0);c[x>>2]=(c[B>>2]|0)+(c[z>>2]|0);c[u>>2]=c[D>>2];c[v>>2]=c[B>>2];c[o>>2]=0;c[c[l>>2]>>2]=0;c[c[m>>2]>>2]=0;c[n>>2]=Id((c[A>>2]|0)+(c[z>>2]|0)+10-1|0)|0;if(!(c[n>>2]|0)){c[j>>2]=7;D=c[j>>2]|0;i=y;return D|0}c[t>>2]=c[n>>2];hn(u,c[w>>2]|0,0,p);hn(v,c[x>>2]|0,0,q);while(1){if(!((c[u>>2]|0)!=0?1:(c[v>>2]|0)!=0))break;D=(c[k>>2]|0)!=0?-1:1;A=p;B=q;B=oR(c[A>>2]|0,c[A+4>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;B=AR(D|0,((D|0)<0)<<31>>31|0,B|0,C|0)|0;D=r;c[D>>2]=B;c[D+4>>2]=C;D=r;if((c[v>>2]|0)!=0&(c[u>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);on(t,u,v);hn(u,c[w>>2]|0,c[k>>2]|0,p);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}if((c[v>>2]|0)!=0?!((c[u>>2]|0)!=0&(c[r+4>>2]|0)<0):0){D=q;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,v);hn(v,c[x>>2]|0,c[k>>2]|0,q);continue}D=p;jn(t,c[k>>2]|0,s,o,c[D>>2]|0,c[D+4>>2]|0);bm(t,u);hn(u,c[w>>2]|0,c[k>>2]|0,p)}c[c[l>>2]>>2]=c[n>>2];c[c[m>>2]>>2]=(c[t>>2]|0)-(c[n>>2]|0);c[j>>2]=0;D=c[j>>2]|0;i=y;return D|0}function on(b,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;g=t+56|0;h=t+52|0;j=t+48|0;q=t+44|0;r=t+40|0;s=t+36|0;m=t+32|0;n=t+28|0;k=t+16|0;l=t+8|0;o=t;p=t+24|0;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[c[g>>2]>>2];c[r>>2]=c[c[h>>2]>>2];c[s>>2]=c[c[j>>2]>>2];a:while(1){if((a[c[r>>2]>>0]|0)==0?(a[c[s>>2]>>0]|0)==0:0)break;b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,m)|0;break}else{c[m>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[m>>2]=2147483647;break}else{c[m>>2]=0;break}while(0);b=c[s>>2]|0;do if((a[c[s>>2]>>0]|0)==1){e=(c[s>>2]|0)+1|0;if(d[b+1>>0]&128){Zl(e,n)|0;break}else{c[n>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[n>>2]=2147483647;break}else{c[n>>2]=0;break}while(0);if((c[m>>2]|0)!=(c[n>>2]|0))if((c[m>>2]|0)<(c[n>>2]|0)){f=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;Xl(q,r);continue}else{f=pn(q,c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+f;Xl(q,s);continue}f=k;c[f>>2]=0;c[f+4>>2]=0;f=l;c[f>>2]=0;c[f+4>>2]=0;f=o;c[f>>2]=0;c[f+4>>2]=0;c[p>>2]=pn(q,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[p>>2]|0);_m(r,k);_m(s,l);while(1){e=k;u=c[e+4>>2]|0;b=l;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=k;f=l;$m(q,o,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=o;f=oR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=o;c[e>>2]=f;c[e+4>>2]=C;e=k;f=l;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=k;b=c[f+4>>2]|0;u=l;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){qn(r,k);break}else{qn(s,l);break}}else{qn(r,k);qn(s,l)}while(0);f=k;u=l;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[q>>2]|0;c[q>>2]=u+1;a[u>>0]=0;c[c[g>>2]>>2]=c[q>>2];c[c[h>>2]>>2]=(c[r>>2]|0)+1;c[c[j>>2]>>2]=(c[s>>2]|0)+1;i=t;return}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){b=c[g>>2]|0;i=j;return b|0}c[h>>2]=c[c[e>>2]>>2];b=c[f>>2]|0;c[g>>2]=1+(Il((c[h>>2]|0)+1|0,b,((b|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);b=c[g>>2]|0;i=j;return b|0}function qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254){_m(c[e>>2]|0,c[f>>2]|0);b=c[f>>2]|0;d=b;d=oR(c[d>>2]|0,c[d+4>>2]|0,2,0)|0;c[b>>2]=d;c[b+4>>2]=C;i=g;return}else{b=c[f>>2]|0;c[b>>2]=2147483647;c[b+4>>2]=0;i=g;return}}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;if((a[(c[g>>2]|0)+7>>0]|0)!=0?(c[h>>2]=0,c[j>>2]=Dn(c[g>>2]|0,h)|0,(c[j>>2]|0)==0):0){h=(c[g>>2]|0)+32|0;Me(c[(c[g>>2]|0)+8>>2]|0,1,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(ue(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;j=c[e>>2]|0;i=k;return j|0}c[j>>2]=Zd(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[j>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[j>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[j>>2]|0)!=0&(c[f>>2]|0)!=0)re(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];j=c[e>>2]|0;i=k;return j|0}function sn(a){a=a|0;var b=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,x=0;v=i;i=i+80|0;b=v+64|0;r=v+60|0;e=v+56|0;f=v;m=v+52|0;l=v+48|0;p=v+44|0;n=v+40|0;s=v+36|0;q=v+32|0;t=v+28|0;k=v+24|0;g=v+20|0;h=v+16|0;j=v+12|0;o=v+8|0;c[b>>2]=a;c[r>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[r>>2]|0;i=v;return u|0}c[l>>2]=c[c[b>>2]>>2];c[p>>2]=c[(c[l>>2]|0)+36>>2];c[n>>2]=c[c[p>>2]>>2];w=Ee(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=f;c[a>>2]=w;c[a+4>>2]=C;c[e>>2]=0;while(1){if(!((c[e>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[r>>2]|0)==0:0))break;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[e>>2]|0)>>0]|0)){c[s>>2]=Fe(c[(c[b>>2]|0)+8>>2]|0,(c[e>>2]|0)+1|0)|0;c[q>>2]=0;c[r>>2]=An(c[p>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[s>>2]|0,-1,q)|0;a:while(1){if(c[r>>2]|0)break;c[k>>2]=0;c[g>>2]=0;c[h>>2]=0;c[j>>2]=0;c[r>>2]=Sb[c[(c[n>>2]|0)+20>>2]&255](c[q>>2]|0,t,k,g,h,j)|0;c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))continue a;c[o>>2]=c[c[m>>2]>>2];if(!((c[(c[m>>2]|0)+4>>2]|0)<(c[(c[l>>2]|0)+24>>2]|0)?(c[(c[m>>2]|0)+4>>2]|0)!=(c[e>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[o>>2]|0)+12>>2]|0)==0):0){if((c[(c[o>>2]|0)+4>>2]|0)!=(c[k>>2]|0)){if(!(c[(c[o>>2]|0)+8>>2]|0))break;if((c[(c[o>>2]|0)+4>>2]|0)>=(c[k>>2]|0))break}if(!(EQ(c[t>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0)|0)){x=f;a=c[e>>2]|0;w=c[j>>2]|0;Bn((c[m>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,r)|0}}while(0);c[m>>2]=c[(c[m>>2]|0)+8>>2]}}if(c[q>>2]|0)Tb[c[(c[n>>2]|0)+16>>2]&255](c[q>>2]|0)|0;if((c[r>>2]|0)==101)c[r>>2]=0}c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!((c[m>>2]|0)!=0?(c[r>>2]|0)==0:0))break;if(c[(c[m>>2]|0)+12>>2]|0)c[r>>2]=Cn((c[m>>2]|0)+12|0,0,0)|0;c[m>>2]=c[(c[m>>2]|0)+8>>2]}x=c[r>>2]|0;i=v;return x|0}function tn(b,e,f){b=b|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;p=i;i=i+32|0;m=p+28|0;l=p+24|0;g=p+20|0;o=p+16|0;n=p+12|0;h=p+8|0;j=p+4|0;k=p;c[m>>2]=b;c[l>>2]=e;c[g>>2]=f;c[o>>2]=1;if(c[c[g>>2]>>2]|0){o=c[o>>2]|0;i=p;return o|0}switch(c[c[l>>2]>>2]|0){case 3:case 1:{if((tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)!=0?(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0:0)g=(vn(c[l>>2]|0,c[g>>2]|0)|0)!=0;else g=0;c[o>>2]=g&1;if(c[o>>2]|0){o=c[o>>2]|0;i=p;return o|0}if((c[c[l>>2]>>2]|0)!=1){o=c[o>>2]|0;i=p;return o|0}if((c[(c[l>>2]|0)+8>>2]|0)!=0?(c[c[(c[l>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;i=p;return o|0}c[n>>2]=c[l>>2];while(1){g=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;f=(c[g+16>>2]|0)+24|0;l=(c[m>>2]|0)+32|0;if((c[f>>2]|0)==(c[l>>2]|0)?(c[f+4>>2]|0)==(c[l+4>>2]|0):0)Tm(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}l=g+24|0;m=(c[m>>2]|0)+32|0;if(!((c[l>>2]|0)==(c[m>>2]|0)?(c[l+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;i=p;return o|0}Tm(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;i=p;return o|0}case 4:{c[h>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0;c[j>>2]=tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0;c[o>>2]=((c[h>>2]|0)!=0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;i=p;return o|0}case 2:{if(tn(c[m>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[g>>2]|0)|0)g=(tn(c[m>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[g>>2]|0)|0)!=0^1;else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){f=(c[l>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[f>>2]|0)==(c[n>>2]|0)?(c[f+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[l>>2]|0)+34>>0]|0)==0:0)break;c[k>>2]=c[(c[l>>2]|0)+20>>2];if(a[(c[l>>2]|0)+34>>0]|0)Tm(c[k>>2]|0);f=wn(c[m>>2]|0,c[k>>2]|0)|0;c[c[g>>2]>>2]=f;c[o>>2]=(c[(c[k>>2]|0)+28>>2]|0)!=0&1;f=(c[m>>2]|0)+32|0;m=c[f+4>>2]|0;n=(c[l>>2]|0)+24|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;o=c[o>>2]|0;i=p;return o|0}while(0);if(!(d[(c[l>>2]|0)+32>>0]|0)){n=(c[l>>2]|0)+24|0;g=(c[m>>2]|0)+32|0;g=(c[n>>2]|0)==(c[g>>2]|0)?(c[n+4>>2]|0)==(c[g+4>>2]|0):0}else g=0;c[o>>2]=g&1;o=c[o>>2]|0;i=p;return o|0}}return 0}function un(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;il(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}i=d;return}function vn(a,b){a=a|0;b=b|0;var 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;r=i;i=i+48|0;e=r+44|0;f=r+40|0;q=r+36|0;o=r+32|0;h=r+28|0;l=r+24|0;k=r+20|0;n=r+16|0;j=r+12|0;g=r+8|0;m=r+4|0;p=r;c[e>>2]=a;c[f>>2]=b;c[q>>2]=1;if(c[c[f>>2]>>2]|0){q=c[q>>2]|0;i=r;return q|0}if((c[c[e>>2]>>2]|0)!=1){q=c[q>>2]|0;i=r;return q|0}if(d[(c[e>>2]|0)+32>>0]|0){q=c[q>>2]|0;i=r;return q|0}if((c[(c[e>>2]|0)+8>>2]|0)!=0?(c[c[(c[e>>2]|0)+8>>2]>>2]|0)==1:0){q=c[q>>2]|0;i=r;return q|0}c[h>>2]=0;c[o>>2]=c[e>>2];while(1){a=c[o>>2]|0;if(!(c[(c[o>>2]|0)+12>>2]|0))break;c[h>>2]=(c[h>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}c[h>>2]=(c[h>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[h>>2]|0)){c[q>>2]=0;q=c[q>>2]|0;i=r;return q|0}c[l>>2]=Id(c[h>>2]<<1)|0;a:do if(c[l>>2]|0){c[k>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[o>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0))break;if((c[c[o>>2]>>2]|0)!=1)break;c[j>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+20>>2];c[g>>2]=c[(c[o>>2]|0)+4>>2];c[q>>2]=yn(c[g>>2]|0,c[l>>2]|0,k,n,c[j>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+8>>2]}c[k>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[n>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[o>>2]=c[(c[e>>2]|0)+12>>2];while(1){if(!((c[o>>2]|0)!=0?(c[q>>2]|0)!=0:0))break a;c[m>>2]=c[(c[(c[o>>2]|0)+8>>2]|0)+4>>2];a=c[o>>2]|0;if((c[c[o>>2]>>2]|0)==1)a=c[(c[a+16>>2]|0)+20>>2]|0;else a=c[a+20>>2]|0;c[p>>2]=a;c[q>>2]=yn(c[m>>2]|0,c[l>>2]|0,k,n,c[p>>2]|0)|0;c[o>>2]=c[(c[o>>2]|0)+12>>2]}}else{c[c[f>>2]>>2]=7;c[q>>2]=0}while(0);Kd(c[l>>2]|0);q=c[q>>2]|0;i=r;return q|0}function wn(a,b){a=a|0;b=b|0;var 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,x=0,y=0;y=i;i=i+80|0;m=y+76|0;n=y+72|0;o=y+68|0;e=y+64|0;q=y+60|0;u=y+56|0;r=y+52|0;l=y+48|0;j=y+44|0;k=y+40|0;f=y+36|0;x=y+32|0;d=y+28|0;g=y+24|0;h=y+20|0;t=y+16|0;s=y+12|0;v=y+8|0;w=y+4|0;p=y;c[n>>2]=a;c[o>>2]=b;c[q>>2]=0;c[u>>2]=0;c[r>>2]=-1;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0)){a=14;break}c[l>>2]=(c[o>>2]|0)+72+((c[e>>2]|0)*24|0);c[j>>2]=c[(c[l>>2]|0)+16>>2];if(c[j>>2]|0){c[x>>2]=xn(c[j>>2]|0,k,f)|0;if(c[x>>2]|0){a=5;break}b=c[q>>2]|0;if(!(c[k>>2]|0)){a=7;break}a=c[k>>2]|0;if(b){c[d>>2]=a;c[g>>2]=c[q>>2];c[h>>2]=c[d>>2];Zm(d,(c[e>>2]|0)-(c[r>>2]|0)|0,0,1,g,h)|0;Kd(c[q>>2]|0);c[q>>2]=c[k>>2];c[u>>2]=(c[d>>2]|0)-(c[q>>2]|0);if(!(c[u>>2]|0)){a=11;break}}else{c[q>>2]=a;c[u>>2]=c[f>>2]}c[r>>2]=c[e>>2]}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==5){c[m>>2]=c[x>>2];x=c[m>>2]|0;i=y;return x|0}else if((a|0)==7){Kd(b);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==11){Kd(c[q>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0;c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}else if((a|0)==14){do if((c[r>>2]|0)>=0){c[t>>2]=c[(c[o>>2]|0)+44>>2];if((c[t>>2]|0)<0){c[(c[o>>2]|0)+28>>2]=c[q>>2];c[(c[o>>2]|0)+32>>2]=c[u>>2];v=(c[n>>2]|0)+32|0;w=c[v+4>>2]|0;x=(c[o>>2]|0)+16|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;c[(c[o>>2]|0)+24>>2]=1;break}if((c[t>>2]|0)>(c[r>>2]|0)){c[v>>2]=c[q>>2];c[w>>2]=c[(c[o>>2]|0)+28>>2];c[s>>2]=(c[t>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[(c[o>>2]|0)+28>>2];c[w>>2]=c[q>>2];c[s>>2]=(c[r>>2]|0)-(c[t>>2]|0)}c[p>>2]=Id((c[u>>2]|0)+8|0)|0;if(!(c[p>>2]|0)){Kd(c[q>>2]|0);c[m>>2]=7;x=c[m>>2]|0;i=y;return x|0}c[(c[o>>2]|0)+28>>2]=c[p>>2];if(Zm(p,c[s>>2]|0,0,1,v,w)|0){c[(c[o>>2]|0)+24>>2]=1;c[(c[o>>2]|0)+32>>2]=(c[p>>2]|0)-(c[(c[o>>2]|0)+28>>2]|0)}else{Kd(c[p>>2]|0);c[(c[o>>2]|0)+28>>2]=0;c[(c[o>>2]|0)+32>>2]=0}Kd(c[q>>2]|0)}while(0);c[m>>2]=0;x=c[m>>2]|0;i=y;return x|0}return 0}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+28|0;f=l+24|0;g=l+20|0;h=l+16|0;k=l+12|0;j=l+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}c[k>>2]=Id(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[k>>2]|0){c[j>>2]=Yl(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,l)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[k>>2];rR(c[k>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;b=c[e>>2]|0;i=l;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=l;return b|0}return 0}function yn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=i;i=i+48|0;s=n+40|0;r=n+36|0;g=n+32|0;h=n+28|0;j=n+24|0;q=n+20|0;p=n+16|0;k=n+12|0;o=n+8|0;l=n+4|0;m=n;c[s>>2]=a;c[r>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[h>>2]>>2]|0);e=c[(c[j>>2]|0)+28>>2]|0;c[l>>2]=e;c[o>>2]=e;c[m>>2]=zn(l,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[g>>2]|0,o)|0;if(!(c[m>>2]|0)){s=c[m>>2]|0;i=n;return s|0}c[k>>2]=(c[l>>2]|0)-(c[(c[j>>2]|0)+28>>2]|0)-1;tR((c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)|0,0,(c[(c[j>>2]|0)+32>>2]|0)-(c[k>>2]|0)|0)|0;c[(c[j>>2]|0)+32>>2]=c[k>>2];c[c[g>>2]>>2]=c[(c[j>>2]|0)+28>>2];c[c[h>>2]>>2]=c[(c[j>>2]|0)+64>>2];s=c[m>>2]|0;i=n;return s|0}function zn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+48|0;h=o+44|0;j=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;l=o+12|0;m=o+8|0;k=o+4|0;n=o;c[h>>2]=a;c[j>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[l>>2]=c[j>>2];c[n>>2]=1;Zm(l,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[l>>2]|0;c[m>>2]=g;c[k>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];Zm(m,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[l>>2]|0)!=(c[j>>2]|0)?(c[m>>2]|0)!=(c[k>>2]|0):0){on(c[h>>2]|0,j,k);u=c[n>>2]|0;i=o;return u|0}if((c[l>>2]|0)!=(c[j>>2]|0)){bm(c[h>>2]|0,j);u=c[n>>2]|0;i=o;return u|0}if((c[m>>2]|0)!=(c[k>>2]|0)){bm(c[h>>2]|0,k);u=c[n>>2]|0;i=o;return u|0}else{c[n>>2]=0;u=c[n>>2]|0;i=o;return u|0}return 0}function An(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=i;i=i+32|0;g=n+28|0;h=n+24|0;p=n+20|0;o=n+16|0;j=n+12|0;l=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[p>>2]=d;c[o>>2]=e;c[j>>2]=f;c[l>>2]=c[c[g>>2]>>2];c[k>>2]=0;c[m>>2]=Wb[c[(c[l>>2]|0)+12>>2]&255](c[g>>2]|0,c[p>>2]|0,c[o>>2]|0,k)|0;if(((c[m>>2]|0)==0?(c[c[k>>2]>>2]=c[g>>2],(c[c[l>>2]>>2]|0)>=1):0)?(c[m>>2]=Yb[c[(c[l>>2]|0)+24>>2]&255](c[k>>2]|0,c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){Tb[c[(c[l>>2]|0)+16>>2]&255](c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];i=n;return c[m>>2]|0}function Bn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;m=u+48|0;n=u+44|0;o=u+24|0;p=u+16|0;k=u+8|0;l=u+40|0;r=u+36|0;s=u+32|0;q=u;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;a=p;c[a>>2]=e;c[a+4>>2]=f;a=k;c[a>>2]=g;c[a+4>>2]=h;c[l>>2]=j;c[r>>2]=c[c[n>>2]>>2];c[s>>2]=0;if((c[r>>2]|0)!=0?(j=(c[r>>2]|0)+16|0,a=o,!((c[j>>2]|0)!=(c[a>>2]|0)?1:(c[j+4>>2]|0)!=(c[a+4>>2]|0))):0)t=9;else{b=o;if(c[r>>2]|0){e=(c[r>>2]|0)+16|0;d=c[e>>2]|0;e=c[e+4>>2]|0}else{d=0;e=0}j=oR(c[b>>2]|0,c[b+4>>2]|0,d|0,e|0)|0;a=q;c[a>>2]=j;c[a+4>>2]=C;if(c[r>>2]|0){a=c[r>>2]|0;c[a>>2]=(c[a>>2]|0)+1}q=Cn(r,c[q>>2]|0,c[q+4>>2]|0)|0;c[s>>2]=q;if(!q){q=(c[r>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[r>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[o+4>>2]|0;t=(c[r>>2]|0)+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[r>>2]|0)+24|0,t=p,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=Cn(r,1,0)|0;c[s>>2]=t;if(t)break;t=p;t=Cn(r,c[t>>2]|0,c[t+4>>2]|0)|0;c[s>>2]=t;if(t)break;o=p;q=c[o+4>>2]|0;t=(c[r>>2]|0)+24|0;c[t>>2]=c[o>>2];c[t+4>>2]=q;t=(c[r>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=p;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=k,q=pR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[r>>2]|0)+32|0,t=oR(q|0,C|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[s>>2]=Cn(r,t,C)|0,(c[s>>2]|0)==0):0){p=k;q=c[p+4>>2]|0;t=(c[r>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=q}}while(0);c[c[l>>2]>>2]=c[s>>2];if((c[r>>2]|0)!=(c[c[n>>2]>>2]|0)){c[c[n>>2]>>2]=c[r>>2];c[m>>2]=1;t=c[m>>2]|0;i=u;return t|0}else{c[m>>2]=0;t=c[m>>2]|0;i=u;return t|0}return 0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+20|0;g=l+16|0;h=l;k=l+12|0;j=l+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(c[k>>2]|0){if(((c[c[k>>2]>>2]|0)+10+1|0)>(c[(c[k>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[k>>2]|0)+8>>2]<<1;c[k>>2]=Ld(c[k>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}}else{c[k>>2]=Id(140)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+8>>2]=100;c[(c[k>>2]|0)+4>>2]=(c[k>>2]|0)+40;c[c[k>>2]>>2]=0;break}c[f>>2]=7;b=c[f>>2]|0;i=l;return b|0}while(0);j=h;j=Il((c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)|0,c[j>>2]|0,c[j+4>>2]|0)|0;b=c[k>>2]|0;c[b>>2]=(c[b>>2]|0)+j;a[(c[(c[k>>2]|0)+4>>2]|0)+(c[c[k>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[k>>2];c[f>>2]=0;b=c[f>>2]|0;i=l;return b|0}function Dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;d=l+24|0;e=l+20|0;f=l+16|0;h=l+12|0;g=l+8|0;k=l+4|0;c[e>>2]=a;c[f>>2]=b;c[h>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[g>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[g>>2]|0)+216>>2];c[k>>2]=Od(23849,j)|0;if(c[k>>2]|0){c[h>>2]=af(c[(c[g>>2]|0)+12>>2]|0,c[k>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[k>>2]|0);break}c[d>>2]=7;k=c[d>>2]|0;i=l;return k|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[h>>2];k=c[d>>2]|0;i=l;return k|0}function En(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[l>>2]=Ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[j>>2]|0)|0;d=c[g>>2]|0;c[d>>2]=(c[d>>2]|0)+1;d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(!((c[l>>2]|0)==0&(c[k>>2]|0)!=2)){d=c[l>>2]|0;i=m;return d|0}c[l>>2]=En(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;d=c[l>>2]|0;i=m;return d|0}function Fn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;l=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[l>>2]=0;if((d[(c[g>>2]|0)+34>>0]|0|0)!=0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}c[l>>2]=Gn(c[f>>2]|0,c[g>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[k>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)>>2];c[j>>2]=(c[j>>2]|0)+1}l=c[l>>2]|0;i=m;return l|0}function Gn(b,e){b=b|0;e=e|0;var 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;s=i;i=i+64|0;g=s+44|0;h=s+40|0;f=s+36|0;q=s+32|0;p=s+28|0;o=s+24|0;m=s+20|0;l=s+8|0;k=s;j=s+48|0;n=s+16|0;c[h>>2]=b;c[f>>2]=e;c[q>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[p>>2]=c[c[h>>2]>>2];t=(c[h>>2]|0)+32|0;b=c[t+4>>2]|0;e=l;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)f=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else f=0;b=c[o>>2]|0;if(!f)break;c[o>>2]=c[b+8>>2]}b=b+24|0;e=c[b+4>>2]|0;t=k;c[t>>2]=c[b>>2];c[t+4>>2]=e;a[j>>0]=a[(c[o>>2]|0)+32>>0]|0;c[m>>2]=c[o>>2];while(1){if(!(c[m>>2]|0))break;f=c[m>>2]|0;if((c[c[m>>2]>>2]|0)!=5)f=c[f+16>>2]|0;c[n>>2]=f;t=Id((c[(c[p>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[n>>2]|0)+40>>2]=t;if(!(c[(c[n>>2]|0)+40>>2]|0)){r=12;break}tR(c[(c[n>>2]|0)+40>>2]|0,0,(c[(c[p>>2]|0)+24>>2]|0)*3<<2|0)|0;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if((r|0)==12){c[g>>2]=7;t=c[g>>2]|0;i=s;return t|0}Qm(c[h>>2]|0,c[o>>2]|0,q);while(1){if(!((d[(c[h>>2]|0)+6>>0]|0)==0?(c[q>>2]|0)==0:0))break;do{if(!(d[(c[h>>2]|0)+7>>0]|0))Zd(c[(c[h>>2]|0)+8>>2]|0)|0;Rm(c[h>>2]|0,c[o>>2]|0,q);a[(c[h>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[h>>2]|0)+7>>0]=1;c[(c[h>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[h>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((Mm(c[h>>2]|0,q)|0)!=0);if(c[q>>2]|0)continue;if(d[(c[h>>2]|0)+6>>0]|0)continue;Hn(c[o>>2]|0)}a[(c[h>>2]|0)+6>>0]=0;p=l;r=c[p+4>>2]|0;t=(c[h>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(a[j>>0]|0){a[(c[o>>2]|0)+32>>0]=a[j>>0]|0;break}Qm(c[h>>2]|0,c[o>>2]|0,q);do{Rm(c[h>>2]|0,c[o>>2]|0,q);r=(c[o>>2]|0)+24|0;t=k}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[q>>2]|0)==0:0)}while(0);c[g>>2]=c[q>>2];t=c[g>>2]|0;i=s;return t|0}function Hn(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;e=l+12|0;j=l+8|0;k=l+4|0;g=l+20|0;h=l;c[f>>2]=b;if(!(c[f>>2]|0)){i=l;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+28>>2]|0)!=0:0){c[j>>2]=0;c[k>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[g>>0]=0;c[h>>2]=0;while(1){if(!(254&(a[c[k>>2]>>0]|d[g>>0])))break;if(!(d[g>>0]&128))c[h>>2]=(c[h>>2]|0)+1;e=c[k>>2]|0;c[k>>2]=e+1;a[g>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[h>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[j>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[h>>2]|0)>0&1);if(!(a[c[k>>2]>>0]|0))break a;c[k>>2]=(c[k>>2]|0)+1;b=c[k>>2]|0;if(d[c[k>>2]>>0]&128)b=Zl(b,j)|0;else{c[j>>2]=d[b>>0];b=1}c[k>>2]=(c[k>>2]|0)+b}}while(0);Hn(c[(c[f>>2]|0)+12>>2]|0);Hn(c[(c[f>>2]|0)+16>>2]|0);i=l;return}function In(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;p=o+28|0;f=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;k=o+8|0;g=o+4|0;j=o;c[p>>2]=b;c[f>>2]=e;c[m>>2]=c[c[c[f>>2]>>2]>>2];c[l>>2]=c[(c[p>>2]|0)+20>>2];c[k>>2]=c[(c[l>>2]|0)+28>>2];c[g>>2]=0;e=c[(c[p>>2]|0)+36>>2]|0;b=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=_(e,b)|0;else c[h>>2]=_(e,(b+31|0)/32|0)|0;while(1){c[j>>2]=Pm(k)|0;if(!((c[(c[l>>2]|0)+68>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?(c[(c[l>>2]|0)+68>>2]|0)!=(c[g>>2]|0):0))n=6;do if((n|0)==6){n=0;e=c[j>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[g>>2]|0)<<2)>>2]=e;break}if(e){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[g>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[g>>2]&31)}}while(0);if((a[c[k>>2]>>0]|0)!=1)break;c[k>>2]=(c[k>>2]|0)+1;e=c[k>>2]|0;if(d[c[k>>2]>>0]&128)e=Zl(e,g)|0;else{c[g>>2]=d[e>>0];e=1}c[k>>2]=(c[k>>2]|0)+e}i=o;return}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;j=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=c[j>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];i=e;return 0}function Kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;b=g+16|0;e=g+12|0;d=g;f=g+8|0;c[b>>2]=a;c[e>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=Yl(c[e>>2]|0,d)|0;c[e>>2]=(c[e>>2]|0)+h;h=d;a=d;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[e>>2]=0;c[f>>2]=1;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}else{a=d;a=oR(c[a>>2]|0,c[a+4>>2]|0,2,0)|0;h=(c[b>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+a;e=c[e>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;i=g;return h|0}return 0}function Ln(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+20|0;j=f+12|0;e=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[f+16>>2]=b;c[j>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[k>>2]|0)+20>>2];c[h>>2]=c[j>>2];a=(c[h>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=(c[h>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);i=f;return c[e>>2]|0}function Mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;h=k+12|0;j=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,21,h,0)|0;do if(!(c[j>>2]|0)){l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;c[j>>2]=ue(c[h>>2]|0)|0;if((c[j>>2]|0)==100?(He(c[h>>2]|0,0)|0)==4:0){c[j>>2]=0;break}l=Zd(c[h>>2]|0)|0;c[j>>2]=l;c[j>>2]=(c[j>>2]|0)==0?267:l;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];i=k;return c[j>>2]|0}function Nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){Le(c[e>>2]|0,1,0)|0;if((ue(c[e>>2]|0)|0)==100?(He(c[e>>2]|0,0)|0)==4:0)break;h=Zd(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];i=g;return c[f>>2]|0}function On(b){b=b|0;var e=0,f=0,g=0;f=i;i=i+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0){i=f;return}if(d[(c[e>>2]|0)+1>>0]|0){i=f;return}if(d[(c[e>>2]|0)+2>>0]|0){i=f;return}Kd(c[e>>2]|0);i=f;return}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;c[a>>2]=(c[a>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];i=e;return 0}function Qn(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=$e(c[(c[b>>2]|0)+12>>2]|0,23977,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=Rn(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){$e(a,24005,0,0,0)|0;$e(c[(c[b>>2]|0)+12>>2]|0,23992,0,0,0)|0;break}c[e>>2]=$e(a,23992,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);wm(c[b>>2]|0);i=f;return c[d>>2]|0}function Rn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;j=m+12|0;l=m+8|0;g=m+4|0;h=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[d>>2]|0,27,j,0)|0;if(!(c[k>>2]|0)){Le(c[j>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;Le(c[j>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){a=(ue(c[j>>2]|0)|0)==100;b=c[j>>2]|0;if(!a)break;c[h>>2]=De(b,0)|0;c[g>>2]=0;while(1){if(c[k>>2]|0)continue a;if((c[g>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[k>>2]=ml(c[d>>2]|0,c[h>>2]|0,c[g>>2]|0,-2)|0;if((c[k>>2]|0)==101){c[f>>2]=1;c[k>>2]=0}c[g>>2]=(c[g>>2]|0)+1}}c[l>>2]=Zd(b)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}wm(c[d>>2]|0);hl(c[d>>2]|0);i=m;return ((c[k>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[k>>2]|0)|0}function Sn(b,d){b=b|0;d=d|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=i;i=i+208|0;y=C+32|0;e=C+132|0;f=C+128|0;v=C+124|0;t=C+120|0;A=C+116|0;r=C+112|0;l=C+108|0;B=C+96|0;x=C;s=C+92|0;h=C+88|0;g=C+84|0;p=C+80|0;n=C+76|0;m=C+72|0;z=C+68|0;q=C+64|0;k=C+60|0;o=C+56|0;w=C+52|0;u=C+48|0;j=C+136|0;c[e>>2]=b;c[f>>2]=d;c[v>>2]=c[c[f>>2]>>2];c[t>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){ne(c[e>>2]|0,19010,0,0);i=C;return};c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;c[A>>2]=Hm(c[f>>2]|0,0,r)|0;a:do if(!(c[A>>2]|0)){c[x+24>>2]=Id((c[r>>2]|0)*12|0)|0;if(!(c[x+24>>2]|0)){c[A>>2]=7;break}D=(c[f>>2]|0)+32|0;d=c[D+4>>2]|0;b=x+16|0;c[b>>2]=c[D>>2];c[b+4>>2]=d;c[x>>2]=c[f>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[g>>2]=0;c[p>>2]=0;c[n>>2]=0;c[m>>2]=0;c[x+4>>2]=c[l>>2];c[x+8>>2]=0;Lm(c[(c[f>>2]|0)+12>>2]|0,158,x)|0;c[z>>2]=Fe(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;c[q>>2]=Be(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0;if(!(c[z>>2]|0)){if((He(c[(c[f>>2]|0)+8>>2]|0,(c[l>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=An(c[(c[v>>2]|0)+36>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[z>>2]|0,c[q>>2]|0,s)|0;if(c[A>>2]|0)break a;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0;while(1){if(c[A>>2]|0)break;c[o>>2]=2147483647;c[w>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[r>>2]|0))break;c[u>>2]=(c[x+24>>2]|0)+((c[k>>2]|0)*12|0);if((c[c[u>>2]>>2]|0)!=0?((c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0)|0)<(c[o>>2]|0):0){c[o>>2]=(c[(c[u>>2]|0)+4>>2]|0)-(c[(c[u>>2]|0)+8>>2]|0);c[w>>2]=c[u>>2]}c[k>>2]=(c[k>>2]|0)+1}if(!(c[w>>2]|0)){c[A>>2]=101;continue}d=c[w>>2]|0;if(!(254&a[c[c[w>>2]>>2]>>0]))c[d>>2]=0;else Un(d,(c[w>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[m>>2]|0)>=(c[o>>2]|0))break;c[A>>2]=Sb[c[(c[t>>2]|0)+20>>2]&255](c[s>>2]|0,h,g,p,n,m)|0}if(!(c[A>>2]|0)){d=((c[w>>2]|0)-(c[x+24>>2]|0)|0)/12|0;b=c[p>>2]|0;D=(c[n>>2]|0)-(c[p>>2]|0)|0;c[y>>2]=c[l>>2];c[y+4>>2]=d;c[y+8>>2]=b;c[y+12>>2]=D;Qd(64,j,24022,y)|0;c[A>>2]=Vn(B,j,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;Tb[c[(c[t>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if(c[A>>2]|0)break a}c[l>>2]=(c[l>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[x+24>>2]|0);wm(c[v>>2]|0);d=c[e>>2]|0;if(c[A>>2]|0){re(d,c[A>>2]|0);Kd(c[B>>2]|0);i=C;return}else{ne(d,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);i=C;return}}function Tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;i=i+48|0;n=m+36|0;o=m+28|0;h=m+24|0;g=m+20|0;f=m+16|0;j=m+12|0;e=m+8|0;l=m+4|0;k=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[l>>2]=Om(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,j)|0;c[g>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[j>>2]|0)Un(j,e);c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;n=(c[h>>2]|0)+8|0;o=c[n>>2]|0;c[n>>2]=o+1;c[k>>2]=(c[(c[h>>2]|0)+24>>2]|0)+(o*12|0);c[(c[k>>2]|0)+8>>2]=(c[g>>2]|0)-(c[f>>2]|0)-1;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[e>>2];c[f>>2]=(c[f>>2]|0)+1}i=m;return c[l>>2]|0}function Un(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128)b=Zl(b,g)|0;else{c[g>>2]=d[b>>0];b=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+b;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);i=h;return}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<0)c[j>>2]=KQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[k>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[j>>2]|0)+100;c[l>>2]=Ld(c[c[g>>2]>>2]|0,c[k>>2]|0)|0;if(c[l>>2]|0){c[c[g>>2]>>2]=c[l>>2];c[(c[g>>2]|0)+8>>2]=c[k>>2];break}c[f>>2]=7;l=c[f>>2]|0;i=m;return l|0}while(0);rR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[j>>2]|0)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+(c[j>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function Wn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+224|0;j=G+212|0;k=G+208|0;l=G+204|0;m=G+200|0;n=G+196|0;o=G+192|0;p=G+188|0;B=G+184|0;E=G+180|0;r=G+176|0;F=G+164|0;z=G+160|0;q=G+40|0;y=G+156|0;v=G+152|0;w=G+32|0;x=G+24|0;s=G+148|0;t=G+144|0;A=G+140|0;C=G;u=G+136|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[B>>2]=c[c[k>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[z>>2]=0;c[y>>2]=-1;if(!(c[(c[k>>2]|0)+12>>2]|0)){ne(c[j>>2]|0,19010,0,0);i=G;return}c[z>>2]=1;a:while(1){g=w;c[g>>2]=0;c[g+4>>2]=0;g=x;c[g>>2]=0;c[g+4>>2]=0;g=c[p>>2]|0;if((c[p>>2]|0)>=0)c[y>>2]=(g+(c[z>>2]|0)-1|0)/(c[z>>2]|0)|0;else c[y>>2]=_(-1,g)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[z>>2]|0))break;c[s>>2]=-1;c[A>>2]=q+((c[v>>2]|0)*24|0);d=c[A>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[B>>2]|0)+24>>2]|0))break;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[u>>2]=0;if(!((c[o>>2]|0)>=0?(c[t>>2]|0)!=(c[o>>2]|0):0)){d=w;c[E>>2]=Xn(c[y>>2]|0,c[k>>2]|0,c[t>>2]|0,c[d>>2]|0,c[d+4>>2]|0,x,C,u)|0;if(c[E>>2]|0)break a;if((c[u>>2]|0)>(c[s>>2]|0)){d=c[A>>2]|0;c[d>>2]=c[C>>2];c[d+4>>2]=c[C+4>>2];c[d+8>>2]=c[C+8>>2];c[d+12>>2]=c[C+12>>2];c[d+16>>2]=c[C+16>>2];c[d+20>>2]=c[C+20>>2];c[s>>2]=c[u>>2]}}c[t>>2]=(c[t>>2]|0)+1}f=(c[A>>2]|0)+8|0;a=w;e=c[a+4>>2]|c[f+4>>2];d=w;c[d>>2]=c[a>>2]|c[f>>2];c[d+4>>2]=e;c[v>>2]=(c[v>>2]|0)+1}e=x;d=w;if(((c[e>>2]|0)==(c[d>>2]|0)?(c[e+4>>2]|0)==(c[d+4>>2]|0):0)|(c[z>>2]|0)==4){D=20;break}c[z>>2]=(c[z>>2]|0)+1}b:do if((D|0)==20){c[r>>2]=0;while(1){if(!((c[r>>2]|0)<(c[z>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=Yn(c[k>>2]|0,q+((c[r>>2]|0)*24|0)|0,c[r>>2]|0,(c[r>>2]|0)==((c[z>>2]|0)-1|0)&1,c[y>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,F)|0;c[r>>2]=(c[r>>2]|0)+1}}while(0);wm(c[B>>2]|0);g=c[j>>2]|0;if(c[E>>2]|0){re(g,c[E>>2]|0);Kd(c[F>>2]|0);i=G;return}else{ne(g,c[F>>2]|0,-1,148);i=G;return}}function Xn(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0;D=i;i=i+112|0;k=D+104|0;l=D+100|0;m=D+96|0;n=D+92|0;o=D+16|0;p=D+88|0;q=D+84|0;r=D+80|0;A=D+76|0;z=D+72|0;B=D+48|0;y=D+40|0;t=D+36|0;s=D+32|0;u=D+28|0;v=D+24|0;w=D+8|0;x=D;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;b=o;c[b>>2]=e;c[b+4>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[t>>2]=-1;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[A>>2]=Hm(c[m>>2]|0,z,0)|0;if(c[A>>2]|0){c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}c[y>>2]=(c[z>>2]|0)*24;c[B+16>>2]=Id(c[y>>2]|0)|0;if(!(c[B+16>>2]|0)){c[k>>2]=7;B=c[k>>2]|0;i=D;return B|0}tR(c[B+16>>2]|0,0,c[y>>2]|0)|0;c[B>>2]=c[m>>2];c[B+4>>2]=c[n>>2];c[B+8>>2]=c[l>>2];c[B+12>>2]=c[z>>2];c[B+20>>2]=-1;c[A>>2]=Lm(c[(c[m>>2]|0)+12>>2]|0,159,B)|0;if(!(c[A>>2]|0)){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[z>>2]|0))break;if(c[(c[B+16>>2]|0)+((c[s>>2]|0)*24|0)+12>>2]|0){h=uR(1,0,c[s>>2]|0)|0;g=c[p>>2]|0;b=g;j=c[b+4>>2]|C;c[g>>2]=c[b>>2]|h;c[g+4>>2]=j}c[s>>2]=(c[s>>2]|0)+1}c[c[q>>2]>>2]=c[n>>2];while(1){if(!(($n(B)|0)!=0^1))break;g=o;ao(B,c[g>>2]|0,c[g+4>>2]|0,u,v,w,x);if((c[v>>2]|0)<=(c[t>>2]|0))continue;c[(c[q>>2]|0)+4>>2]=c[u>>2];g=x;j=c[g+4>>2]|0;h=(c[q>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;h=w;j=c[h+4>>2]|0;g=(c[q>>2]|0)+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=j;c[t>>2]=c[v>>2]}c[c[r>>2]>>2]=c[t>>2]}Kd(c[B+16>>2]|0);c[k>>2]=c[A>>2];B=c[k>>2]|0;i=D;return B|0}function Yn(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=i;i=i+128|0;l=N+112|0;m=N+108|0;P=N+104|0;n=N+100|0;o=N+96|0;p=N+92|0;q=N+88|0;r=N+84|0;s=N+80|0;t=N+76|0;J=N+72|0;K=N+68|0;L=N+64|0;G=N+60|0;y=N+56|0;z=N+52|0;E=N+48|0;B=N+44|0;w=N;O=N+40|0;I=N+36|0;H=N+32|0;v=N+28|0;u=N+24|0;x=N+20|0;A=N+16|0;D=N+12|0;F=N+8|0;c[m>>2]=a;c[P>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[J>>2]=c[c[m>>2]>>2];c[y>>2]=0;c[z>>2]=0;c[E>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];g=(c[P>>2]|0)+16|0;e=c[g+4>>2]|0;d=w;c[d>>2]=c[g>>2];c[d+4>>2]=e;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[L>>2]=Fe(c[(c[m>>2]|0)+8>>2]|0,c[O>>2]|0)|0;d=c[(c[m>>2]|0)+8>>2]|0;e=c[O>>2]|0;if(!(c[L>>2]|0))if((He(d,e)|0)!=5){c[l>>2]=7;P=c[l>>2]|0;i=N;return P|0}else{c[l>>2]=0;P=c[l>>2]|0;i=N;return P|0}c[G>>2]=Be(d,e)|0;c[I>>2]=c[c[(c[J>>2]|0)+36>>2]>>2];c[K>>2]=An(c[(c[J>>2]|0)+36>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[L>>2]|0,c[G>>2]|0,H)|0;if(c[K>>2]|0){c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}while(1){if(c[K>>2]|0)break;c[u>>2]=-1;c[x>>2]=0;c[A>>2]=0;c[D>>2]=0;c[K>>2]=Sb[c[(c[I>>2]|0)+20>>2]&255](c[H>>2]|0,v,u,x,A,y)|0;if(c[K>>2]|0){M=9;break}if((c[y>>2]|0)<(c[B>>2]|0))continue;if(!(c[E>>2]|0)){c[F>>2]=(c[G>>2]|0)-(c[x>>2]|0);c[K>>2]=Zn(c[J>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[p>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,c[F>>2]|0,B,w)|0;c[E>>2]=1;do if(!(c[K>>2]|0)){if((c[B>>2]|0)>0|(c[n>>2]|0)>0){c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;break}if(c[x>>2]|0)c[K>>2]=Vn(c[t>>2]|0,c[L>>2]|0,c[x>>2]|0)|0}while(0);if(c[K>>2]|0)continue;if((c[y>>2]|0)<(c[B>>2]|0))continue}if((c[y>>2]|0)>=((c[B>>2]|0)+(c[p>>2]|0)|0)){M=21;break}P=w;g=c[P>>2]|0;P=c[P+4>>2]|0;O=uR(1,0,(c[y>>2]|0)-(c[B>>2]|0)|0)|0;c[D>>2]=((g&O|0)!=0|(P&C|0)!=0)&1;if((c[y>>2]|0)>(c[B>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,(c[x>>2]|0)-(c[z>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[q>>2]|0,-1)|0;if(!(c[K>>2]|0))c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[x>>2]|0)|0,(c[A>>2]|0)-(c[x>>2]|0)|0)|0;if((c[K>>2]|0)==0&(c[D>>2]|0)!=0)c[K>>2]=Vn(c[t>>2]|0,c[r>>2]|0,-1)|0;c[z>>2]=c[A>>2]}if((M|0)==9){if((c[K>>2]|0)==101)c[K>>2]=Vn(c[t>>2]|0,(c[L>>2]|0)+(c[z>>2]|0)|0,-1)|0}else if((M|0)==21?(c[o>>2]|0)!=0:0)c[K>>2]=Vn(c[t>>2]|0,c[s>>2]|0,-1)|0;Tb[c[(c[I>>2]|0)+16>>2]&255](c[H>>2]|0)|0;c[l>>2]=c[K>>2];P=c[l>>2]|0;i=N;return P|0}function Zn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;F=i;i=i+96|0;w=F+84|0;j=F+80|0;k=F+76|0;x=F+72|0;l=F+68|0;m=F+64|0;y=F+60|0;z=F+56|0;A=F;s=F+52|0;t=F+48|0;r=F+44|0;D=F+40|0;B=F+36|0;E=F+32|0;v=F+28|0;u=F+24|0;q=F+20|0;n=F+16|0;o=F+12|0;p=F+8|0;c[j>>2]=a;c[k>>2]=b;c[x>>2]=d;c[l>>2]=e;c[m>>2]=f;c[y>>2]=g;c[z>>2]=h;a=c[z>>2]|0;g=c[a+4>>2]|0;e=A;c[e>>2]=c[a>>2];c[e+4>>2]=g;e=A;do if((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0){c[s>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=uR(1,0,c[s>>2]|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[s>>2]=(c[s>>2]|0)+1}c[t>>2]=0;while(1){e=A;a=c[e>>2]|0;e=c[e+4>>2]|0;g=uR(1,0,(c[x>>2]|0)-1-(c[t>>2]|0)|0)|0;if(!(((a&g|0)!=0|(e&C|0)!=0)^1))break;c[t>>2]=(c[t>>2]|0)+1}c[r>>2]=((c[s>>2]|0)-(c[t>>2]|0)|0)/2|0;if((c[r>>2]|0)>0){c[B>>2]=0;c[v>>2]=c[c[(c[j>>2]|0)+36>>2]>>2];c[E>>2]=An(c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,u)|0;if(c[E>>2]|0){c[w>>2]=c[E>>2];E=c[w>>2]|0;i=F;return E|0}while(1){if(c[E>>2]|0)break;if((c[B>>2]|0)>=((c[x>>2]|0)+(c[r>>2]|0)|0))break;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[E>>2]=Sb[c[(c[v>>2]|0)+20>>2]&255](c[u>>2]|0,q,n,o,p,B)|0}Tb[c[(c[v>>2]|0)+16>>2]&255](c[u>>2]|0)|0;j=c[E>>2]|0;if((c[E>>2]|0)!=0&(c[E>>2]|0)!=101){c[w>>2]=j;E=c[w>>2]|0;i=F;return E|0}else{c[D>>2]=((j|0)==101&1)+(c[B>>2]|0)-(c[x>>2]|0);if((c[D>>2]|0)<=0)break;E=c[y>>2]|0;c[E>>2]=(c[E>>2]|0)+(c[D>>2]|0);E=A;D=qR(c[E>>2]|0,c[E+4>>2]|0,c[D>>2]|0)|0;E=c[z>>2]|0;c[E>>2]=D;c[E+4>>2]=C;break}}}while(0);c[w>>2]=0;E=c[w>>2]|0;i=F;return E|0}function _n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+28|0;m=j+24|0;n=j+20|0;k=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;e=j;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[k>>2]=c[n>>2];c[g>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[g>>2]>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=Om(c[c[k>>2]>>2]|0,c[l>>2]|0,c[(c[k>>2]|0)+4>>2]|0,f)|0;if(!(c[f>>2]|0)){n=c[h>>2]|0;i=j;return n|0}c[e>>2]=0;c[(c[g>>2]|0)+4>>2]=c[f>>2];Un(f,e);c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[g>>2]|0)+20>>2]=c[f>>2];c[(c[g>>2]|0)+8>>2]=c[e>>2];c[(c[g>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;i=j;return n|0}function $n(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;b=l+28|0;d=l+24|0;e=l+20|0;h=l+16|0;g=l+12|0;f=l+8|0;j=l+4|0;k=l;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[h>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[h>>2]|0)+12|0,(c[h>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[f>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if((c[(c[j>>2]|0)+12>>2]|0)!=0?(c[(c[j>>2]|0)+8>>2]|0)<(c[f>>2]|0):0)c[f>>2]=c[(c[j>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[f>>2]|0)==2147483647){c[b>>2]=1;k=c[b>>2]|0;i=l;return k|0}j=(c[f>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=j;c[(c[d>>2]|0)+20>>2]=j;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[k>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);bo((c[k>>2]|0)+12|0,(c[k>>2]|0)+8|0,(c[f>>2]|0)+1|0);bo((c[k>>2]|0)+20|0,(c[k>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;k=c[b>>2]|0;i=l;return k|0}function ao(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+96|0;k=B+84|0;l=B+32|0;m=B+80|0;n=B+76|0;o=B+72|0;p=B+68|0;t=B+64|0;s=B+60|0;q=B+56|0;v=B+24|0;w=B+16|0;A=B+52|0;z=B+48|0;r=B+44|0;u=B+40|0;x=B+8|0;y=B;c[k>>2]=b;b=l;c[b>>2]=d;c[b+4>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[t>>2]=c[(c[k>>2]|0)+20>>2];c[s>>2]=0;j=v;c[j>>2]=0;c[j+4>>2]=0;j=w;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[k>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[k>>2]|0)+16>>2]|0)+((c[q>>2]|0)*24|0);a:do if(c[(c[A>>2]|0)+20>>2]|0){c[z>>2]=c[(c[A>>2]|0)+20>>2];c[r>>2]=c[(c[A>>2]|0)+16>>2];while(1){if((c[r>>2]|0)>=((c[t>>2]|0)+(c[(c[k>>2]|0)+8>>2]|0)|0))break a;f=uR(1,0,c[q>>2]|0)|0;h=x;c[h>>2]=f;c[h+4>>2]=C;h=uR(1,0,(c[r>>2]|0)-(c[t>>2]|0)|0)|0;f=y;c[f>>2]=h;c[f+4>>2]=C;f=v;h=l;j=x;d=c[s>>2]|0;if(((c[f>>2]|c[h>>2])&c[j>>2]|0)!=0?1:((c[f+4>>2]|c[h+4>>2])&c[j+4>>2]|0)!=0)c[s>>2]=d+1;else c[s>>2]=d+1e3;f=x;g=v;h=c[g+4>>2]|c[f+4>>2];j=v;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[A>>2]>>2]|0))break;f=y;f=qR(c[f>>2]|0,c[f+4>>2]|0,c[u>>2]|0)|0;g=w;h=c[g+4>>2]|C;j=w;c[j>>2]=c[g>>2]|f;c[j+4>>2]=h;c[u>>2]=(c[u>>2]|0)+1}if(!(a[c[z>>2]>>0]&254))break a;Un(z,r)}}while(0);c[q>>2]=(c[q>>2]|0)+1}c[c[m>>2]>>2]=c[t>>2];c[c[n>>2]>>2]=c[s>>2];A=v;z=c[A+4>>2]|0;y=c[o>>2]|0;c[y>>2]=c[A>>2];c[y+4>>2]=z;y=w;z=c[y+4>>2]|0;A=c[p>>2]|0;c[A>>2]=c[y>>2];c[A+4>>2]=z;i=B;return}function bo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+16|0;g=m+12|0;h=m+8|0;k=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[k>>2]|0)){i=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[k>>2]>>0]&254)){l=5;break}Un(k,j)}if((l|0)==5){c[j>>2]=-1;c[k>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[k>>2];i=m;return}function co(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;j=h+16|0;d=h+12|0;g=h+8|0;e=h+4|0;f=h;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=0;c[g>>2]=nl(c[j>>2]|0,36,f,0)|0;if(c[g>>2]|0){b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}if(100==(ue(c[f>>2]|0)|0))c[e>>2]=De(c[f>>2]|0,0)|0;c[g>>2]=Zd(c[f>>2]|0)|0;b=c[e>>2]|0;j=c[d>>2]|0;c[j>>2]=b;j=c[g>>2]|0;i=h;return j|0}function eo(a,b,e){a=a|0;b=b|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0;D=i;i=i+128|0;f=D+112|0;g=D+108|0;E=D+104|0;h=D+100|0;A=D+96|0;u=D+92|0;w=D+88|0;x=D+84|0;z=D+80|0;v=D+76|0;n=D+16|0;m=D+64|0;j=D+60|0;t=D+8|0;y=D+52|0;l=D+48|0;p=D+44|0;q=D+40|0;o=D;r=D+36|0;k=D+32|0;B=D+28|0;s=D+24|0;c[g>>2]=a;c[E>>2]=b;c[h>>2]=e;c[u>>2]=c[E>>2];c[v>>2]=0;a=n;c[a>>2]=0;c[a+4>>2]=0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[j>>2]=0;c[D+56>>2]=640;c[z>>2]=Id(640)|0;if(!(c[z>>2]|0)){c[f>>2]=7;E=c[f>>2]|0;i=D;return E|0}c[x>>2]=(c[z>>2]|0)+568;c[w>>2]=(c[x>>2]|0)+16;c[A>>2]=fo(c[g>>2]|0,m)|0;while(1){if(!((c[A>>2]|0)==0?(c[u>>2]|0)>0:0))break;a=c[(c[g>>2]|0)+248>>2]<<10;E=t;c[E>>2]=a;c[E+4>>2]=((a|0)<0)<<31>>31;c[y>>2]=0;c[l>>2]=0;c[p>>2]=0;c[A>>2]=nl(c[g>>2]|0,28,y,0)|0;Le(c[y>>2]|0,1,2>(c[h>>2]|0)?2:c[h>>2]|0)|0;if((ue(c[y>>2]|0)|0)==100){a=Ee(c[y>>2]|0,0)|0;E=n;c[E>>2]=a;c[E+4>>2]=C;c[v>>2]=De(c[y>>2]|0,1)|0}else c[v>>2]=-1;c[A>>2]=Zd(c[y>>2]|0)|0;do if((c[A>>2]|0)==0?(c[m+4>>2]|0)!=0:0){c[q>>2]=c[m+4>>2];E=o;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=0;c[A>>2]=go(m,o,r)|0;if((c[v>>2]|0)>=0?(b=n,a=t,a=zR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0,b=C,e=o,E=t,E=zR(c[e>>2]|0,c[e+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,e=C,!((b|0)>(e|0)|(b|0)==(e|0)&a>>>0>=E>>>0)):0){c[m+4>>2]=c[q>>2];break}e=o;a=c[e+4>>2]|0;E=n;c[E>>2]=c[e>>2];c[E+4>>2]=a;c[v>>2]=c[r>>2];c[l>>2]=1;c[j>>2]=1}while(0);if((c[v>>2]|0)<0)break;tR(c[z>>2]|0,0,640)|0;c[(c[x>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=n;c[A>>2]=ho(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if((c[p>>2]|0)!=0?!((c[l>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[k>>2]=0;a=c[g>>2]|0;E=n;E=pR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=io(a,E,C,k)|0;if(c[k>>2]|0){E=(c[x>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=n;c[A>>2]=jo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,c[w>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[w>>2]|0)+4>>2]|0)==(c[v>>2]|0):0)?(E=sl(c[g>>2]|0,c[w>>2]|0,c[x>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=tl(c[g>>2]|0,c[w>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[l>>2]|0)!=0&(c[p>>2]|0)>0){c[B>>2]=c[(c[w>>2]|0)+40>>2];c[s>>2]=c[(c[w>>2]|0)+44>>2];E=n;c[A>>2]=ko(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[B>>2]|0,c[s>>2]|0,c[z>>2]|0)|0}else{E=n;c[A>>2]=lo(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[w>>2]|0,c[z>>2]|0)|0}if((c[A>>2]|0)==0?(c[c[z>>2]>>2]|0)!=0:0){do{c[A>>2]=mo(c[g>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=tl(c[g>>2]|0,c[w>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[z>>2]|0)+4>>2]|0)>=(c[u>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[u>>2]=(c[u>>2]|0)-(1+(c[(c[z>>2]|0)+4>>2]|0)),E=n,c[A>>2]=no(c[g>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[w>>2]|0,v)|0,(c[v>>2]|0)!=0):0){c[j>>2]=1;E=n;oo(m,c[E>>2]|0,c[E+4>>2]|0,c[v>>2]|0,A)}}if(c[v>>2]|0){a=(c[z>>2]|0)+40|0;a=AR(c[a>>2]|0,c[a+4>>2]|0,-1,-1)|0;E=(c[z>>2]|0)+40|0;c[E>>2]=a;c[E+4>>2]=C}po(c[g>>2]|0,c[z>>2]|0,A);if((c[v>>2]|0)==0?(d[(c[z>>2]|0)+48>>0]|0|0)==0:0){e=c[g>>2]|0;a=n;a=pR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;E=(c[z>>2]|0)+40|0;xl(e,a,C,c[E>>2]|0,c[E+4>>2]|0)|0}}zl(c[w>>2]|0)}if((c[j>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=qo(c[g>>2]|0,m)|0;Kd(c[z>>2]|0);Kd(c[m>>2]|0);c[f>>2]=c[A>>2];E=c[f>>2]|0;i=D;return E|0}function fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+24|0;d=k+20|0;g=k+16|0;h=k+12|0;j=k+8|0;e=k+4|0;f=k;c[l>>2]=a;c[d>>2]=b;c[g>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[h>>2]=nl(c[l>>2]|0,22,g,0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}Le(c[g>>2]|0,1,1)|0;if((100==(ue(c[g>>2]|0)|0)?(c[e>>2]=Ae(c[g>>2]|0,0)|0,c[f>>2]=Be(c[g>>2]|0,0)|0,(c[e>>2]|0)!=0):0)?(ro(c[d>>2]|0,c[f>>2]|0,h),(c[h>>2]|0)==0):0){rR(c[c[d>>2]>>2]|0,c[e>>2]|0,c[f>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[f>>2]}c[j>>2]=Zd(c[g>>2]|0)|0;if(c[h>>2]|0){l=c[h>>2]|0;i=k;return l|0}c[h>>2]=c[j>>2];l=c[h>>2]|0;i=k;return l|0}function go(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;k=n+20|0;h=n+16|0;g=n+12|0;j=n+8|0;m=n+4|0;l=n;c[h>>2]=b;c[g>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+4>>2];c[l>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[l>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128))break;c[l>>2]=(c[l>>2]|0)+-1}while(1){if((c[l>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[l>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[l>>2]|0;if(!e)break;c[l>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=Yl((c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0,c[g>>2]|0)|0;c[l>>2]=(c[l>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[l>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[l>>2]|0)>>0]&128)b=Zl(b,c[j>>2]|0)|0;else{c[c[j>>2]>>2]=d[b>>0];b=1}c[l>>2]=(c[l>>2]|0)+b;if((c[l>>2]|0)!=(c[m>>2]|0)){c[k>>2]=267;m=c[k>>2]|0;i=n;return m|0}else{c[k>>2]=0;m=c[k>>2]|0;i=n;return m|0}return 0}function ho(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,8,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}e=c[h>>2]|0;l=f;l=pR(c[l>>2]|0,c[l+4>>2]|0,1,0)|0;Me(e,1,l,C)|0;ue(c[h>>2]|0)|0;l=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=l;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function io(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[k>>2]=nl(c[m>>2]|0,15,j,0)|0;if(c[k>>2]|0){c[f>>2]=c[k>>2];m=c[f>>2]|0;i=l;return m|0}m=c[j>>2]|0;k=g;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;Me(m,1,k,C)|0;k=c[j>>2]|0;m=g;m=yR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=pR(m|0,C|0,1,0)|0;m=AR(m|0,C|0,1024,0)|0;Me(k,2,m,C)|0;c[c[h>>2]>>2]=0;if(100==(ue(c[j>>2]|0)|0)){m=(He(c[j>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Zd(c[j>>2]|0)|0;m=c[f>>2]|0;i=l;return m|0}function jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;g=q+36|0;h=q;j=q+32|0;k=q+28|0;o=q+24|0;n=q+20|0;m=q+16|0;l=q+12|0;p=q+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;b=c[k>>2]|0;d=b+56|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[m>>2]=c[j>>2]<<2;f=Id(c[m>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0))c[o>>2]=7;else{tR(c[c[k>>2]>>2]|0,0,c[m>>2]|0)|0;c[o>>2]=nl(c[g>>2]|0,12,n,0)|0}if(c[o>>2]|0){p=c[o>>2]|0;i=q;return p|0}m=h;Me(c[n>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[l>>2]=0;while(1){if(c[o>>2]|0)break;if((ue(c[n>>2]|0)|0)!=100)break;if((c[l>>2]|0)>=(c[j>>2]|0))break;r=c[l>>2]|0;b=Ee(c[n>>2]|0,1)|0;d=C;e=Ee(c[n>>2]|0,2)|0;a=C;f=Ee(c[n>>2]|0,3)|0;g=C;h=Ae(c[n>>2]|0,4)|0;m=Be(c[n>>2]|0,4)|0;c[o>>2]=mm(r,0,b,d,e,a,f,g,h,m,(c[c[k>>2]>>2]|0)+(c[l>>2]<<2)|0)|0;m=(c[k>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[l>>2]=(c[l>>2]|0)+1}c[p>>2]=Zd(c[n>>2]|0)|0;if(c[o>>2]|0){r=c[o>>2]|0;i=q;return r|0}c[o>>2]=c[p>>2];r=c[o>>2]|0;i=q;return r|0}function ko(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+208|0;y=K+200|0;z=K+196|0;k=K+120|0;l=K+192|0;m=K+188|0;n=K+184|0;A=K+180|0;H=K+176|0;G=K+172|0;s=K+112|0;r=K+104|0;q=K+96|0;v=K+168|0;x=K+164|0;I=K+160|0;p=K+156|0;o=K+152|0;t=K+148|0;u=K+48|0;D=K+144|0;w=K+140|0;F=K+136|0;J=K;B=K+132|0;E=K+128|0;c[z>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[A>>2]=j;c[G>>2]=0;c[H>>2]=nl(c[z>>2]|0,32,G,0)|0;if(!(c[H>>2]|0)){d=s;c[d>>2]=0;c[d+4>>2]=0;d=r;c[d>>2]=0;c[d+4>>2]=0;d=q;c[d>>2]=0;c[d+4>>2]=0;c[v>>2]=0;c[x>>2]=0;c[p>>2]=0;d=c[G>>2]|0;g=k;g=pR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;Me(d,1,g,C)|0;Le(c[G>>2]|0,2,c[l>>2]|0)|0;g=(ue(c[G>>2]|0)|0)==100;d=c[G>>2]|0;if(!g){c[y>>2]=Zd(d)|0;J=c[y>>2]|0;i=K;return J|0}g=Ee(d,1)|0;j=s;c[j>>2]=g;c[j+4>>2]=C;j=Ee(c[G>>2]|0,2)|0;g=r;c[g>>2]=j;c[g+4>>2]=C;Cl(c[G>>2]|0,3,q,(c[A>>2]|0)+40|0);if((c[(c[A>>2]|0)+40+4>>2]|0)<0){j=(c[A>>2]|0)+40|0;j=AR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;g=(c[A>>2]|0)+40|0;c[g>>2]=j;c[g+4>>2]=C}g=(c[A>>2]|0)+40|0;a[(c[A>>2]|0)+48>>0]=(c[g>>2]|0)==0&(c[g+4>>2]|0)==0&1;c[x>>2]=Be(c[G>>2]|0,4)|0;c[v>>2]=Ae(c[G>>2]|0,4)|0;g=q;c[H>>2]=Do(c[z>>2]|0,c[g>>2]|0,c[g+4>>2]|0,p)|0;if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[o>>2]=0;c[t>>2]=0;c[H>>2]=em(c[z>>2]|0,c[r>>2]|0,c[r+4>>2]|0,o,t,0)|0;if(!(c[H>>2]|0)){c[H>>2]=wo(u,c[o>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[H>>2]|0)==0?(c[u>>2]|0)!=0:0))break;c[H>>2]=Ao(u)|0}if((xo(c[m>>2]|0,c[n>>2]|0,c[u+24>>2]|0,c[u+24+4>>2]|0)|0)<=0)c[p>>2]=0;Bo(u)}Kd(c[o>>2]|0)}a:do if((c[H>>2]|0)==0&(c[p>>2]|0)!=0){c[w>>2]=a[c[v>>2]>>0];u=q;t=s;t=oR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;t=pR(t|0,C|0,1,0)|0;c[c[A>>2]>>2]=(t|0)/16|0;t=c[s+4>>2]|0;u=(c[A>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;u=q;t=c[u+4>>2]|0;s=(c[A>>2]|0)+32|0;c[s>>2]=c[u>>2];c[s+4>>2]=t;s=k;t=c[s+4>>2]|0;u=(c[A>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[A>>2]|0)+16>>2]=c[l>>2];c[D>>2]=(c[w>>2]|0)+1;while(1){if((c[D>>2]|0)>=16)break;u=(c[A>>2]|0)+24|0;t=_(c[D>>2]|0,c[c[A>>2]>>2]|0)|0;t=pR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[A>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=C;c[D>>2]=(c[D>>2]|0)+1}c[F>>2]=(c[A>>2]|0)+56+(c[w>>2]<<5);u=(c[A>>2]|0)+24|0;t=_(c[c[A>>2]>>2]|0,c[w>>2]|0)|0;t=pR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[F>>2]|0;c[u>>2]=t;c[u+4>>2]=C;if((c[x>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[x>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){rR(c[(c[F>>2]|0)+20>>2]|0,c[v>>2]|0,c[x>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[x>>2]}c[D>>2]=c[w>>2];while(1){if(!((c[D>>2]|0)>=0?(c[H>>2]|0)==0:0))break a;c[F>>2]=(c[A>>2]|0)+56+(c[D>>2]<<5);c[H>>2]=wo(J,c[(c[F>>2]|0)+20>>2]|0,c[(c[F>>2]|0)+20+4>>2]|0)|0;while(1){if(!((c[J>>2]|0)!=0?(c[H>>2]|0)==0:0))break;c[H>>2]=Ao(J)|0}ro((c[F>>2]|0)+8|0,c[J+24+4>>2]|0,H);if((c[H>>2]|0)==0?(rR(c[(c[F>>2]|0)+8>>2]|0,c[J+24>>2]|0,c[J+24+4>>2]|0)|0,c[(c[F>>2]|0)+8+4>>2]=c[J+24+4>>2],(c[D>>2]|0)>0):0){c[B>>2]=0;c[E>>2]=0;c[F>>2]=(c[A>>2]|0)+56+((c[D>>2]|0)-1<<5);v=J+16|0;w=c[v+4>>2]|0;x=c[F>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=J+16|0;c[H>>2]=em(c[z>>2]|0,c[x>>2]|0,c[x+4>>2]|0,B,E,0)|0;if((c[E>>2]|0)>(c[(c[z>>2]|0)+224>>2]|0))d=c[E>>2]|0;else d=c[(c[z>>2]|0)+224>>2]|0;ro((c[F>>2]|0)+20|0,d,H);if(!(c[H>>2]|0)){rR(c[(c[F>>2]|0)+20>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;c[(c[F>>2]|0)+20+4>>2]=c[E>>2]}Kd(c[B>>2]|0)}Bo(J);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[I>>2]=Zd(c[G>>2]|0)|0;if(!(c[H>>2]|0))c[H>>2]=c[I>>2]}c[y>>2]=c[H>>2];J=c[y>>2]|0;i=K;return J|0}function lo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+44|0;j=t+40|0;k=t;l=t+36|0;m=t+32|0;n=t+28|0;s=t+24|0;o=t+20|0;p=t+16|0;r=t+12|0;q=t+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[r>>2]=0;c[q>>2]=0;c[s>>2]=nl(c[j>>2]|0,29,r,0)|0;if(!(c[s>>2]|0)){g=k;Me(c[r>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[m>>2]|0)+4>>2]|0;Me(c[r>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(ue(c[r>>2]|0)|0))c[p>>2]=De(c[r>>2]|0,0)|0;c[s>>2]=Zd(c[r>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}c[s>>2]=nl(c[j>>2]|0,10,q,0)|0;if(!(c[s>>2]|0)){if(100==(ue(c[q>>2]|0)|0)){r=Ee(c[q>>2]|0,0)|0;g=(c[n>>2]|0)+24|0;c[g>>2]=r;c[g+4>>2]=C;g=(c[n>>2]|0)+24|0;g=oR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;r=(c[n>>2]|0)+32|0;c[r>>2]=g;c[r+4>>2]=C;r=c[p>>2]<<4;g=(c[n>>2]|0)+32|0;f=g;r=pR(c[f>>2]|0,c[f+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;c[g>>2]=r;c[g+4>>2]=C}c[s>>2]=Zd(c[q>>2]|0)|0}if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}g=(c[n>>2]|0)+32|0;c[s>>2]=Dl(c[j>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[s>>2]|0){c[h>>2]=c[s>>2];s=c[h>>2]|0;i=t;return s|0}r=k;g=c[r+4>>2]|0;s=(c[n>>2]|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=g;c[c[n>>2]>>2]=c[p>>2];c[(c[n>>2]|0)+16>>2]=c[l>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=16)break;s=(c[n>>2]|0)+24|0;g=_(c[o>>2]|0,c[c[n>>2]>>2]|0)|0;g=pR(c[s>>2]|0,c[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;s=(c[n>>2]|0)+56+(c[o>>2]<<5)|0;c[s>>2]=g;c[s+4>>2]=C;c[o>>2]=(c[o>>2]|0)+1}c[h>>2]=0;s=c[h>>2]|0;i=t;return s|0}function mo(b,d,e){b=b|0;d=d|0;e=e|0;var 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;r=i;i=i+48|0;f=r+44|0;g=r+40|0;s=r+36|0;q=r+32|0;n=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;l=r+12|0;k=r+8|0;m=r+4|0;o=r;c[f>>2]=b;c[g>>2]=d;c[s>>2]=e;c[q>>2]=c[(c[s>>2]|0)+40>>2];c[n>>2]=c[(c[s>>2]|0)+44>>2];c[h>>2]=c[(c[s>>2]|0)+48>>2];c[j>>2]=c[(c[s>>2]|0)+52>>2];c[p>>2]=0;c[o>>2]=(c[g>>2]|0)+56;c[k>>2]=Kl(c[(c[o>>2]|0)+8>>2]|0,c[(c[o>>2]|0)+8+4>>2]|0,c[q>>2]|0,c[n>>2]|0)|0;c[m>>2]=(c[n>>2]|0)-(c[k>>2]|0);d=c[k>>2]|0;c[l>>2]=Hl(d,((d|0)<0)<<31>>31)|0;d=c[m>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[m>>2]|0));d=c[j>>2]|0;d=Hl(d,((d|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(d+(c[j>>2]|0));if((c[(c[o>>2]|0)+20+4>>2]|0)>0?((c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0)>(c[(c[f>>2]|0)+224>>2]|0):0){s=c[o>>2]|0;c[p>>2]=Dl(c[f>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+20+4>>2]|0)|0;s=(c[g>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[p>>2]|0))c[p>>2]=Co(c[f>>2]|0,c[g>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1|0)|0;s=c[o>>2]|0;d=s;d=pR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[s>>2]=d;c[s+4>>2]=C;c[(c[o>>2]|0)+8+4>>2]=0;c[(c[o>>2]|0)+20+4>>2]=0;c[m>>2]=c[n>>2];c[l>>2]=1;s=c[m>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[m>>2]|0));s=c[j>>2]|0;s=Hl(s,((s|0)<0)<<31>>31)|0;c[l>>2]=(c[l>>2]|0)+(s+(c[j>>2]|0))}d=c[l>>2]|0;s=(c[g>>2]|0)+40|0;e=s;d=pR(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[s>>2]=d;c[s+4>>2]=C;ro((c[o>>2]|0)+20|0,(c[(c[o>>2]|0)+20+4>>2]|0)+(c[l>>2]|0)|0,p);if(c[p>>2]|0){s=c[p>>2]|0;i=r;return s|0}if(!(c[(c[o>>2]|0)+20+4>>2]|0)){c[(c[o>>2]|0)+20+4>>2]=1;a[c[(c[o>>2]|0)+20>>2]>>0]=0}c[p>>2]=zo((c[o>>2]|0)+20|0,(c[o>>2]|0)+8|0,c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;s=c[p>>2]|0;i=r;return s|0}function no(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;g=s+44|0;h=s;j=s+40|0;k=s+36|0;l=s+32|0;n=s+28|0;q=s+24|0;p=s+20|0;m=s+16|0;r=s+12|0;o=s+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[k>>2]=f;c[n>>2]=0;c[q>>2]=0;c[l>>2]=(c[(c[j>>2]|0)+4>>2]|0)-1;while(1){if(!((c[l>>2]|0)>=0?(c[q>>2]|0)==0:0))break;c[p>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0))break;c[p>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];if((c[c[p>>2]>>2]|0)==(c[l>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if(!(c[(c[p>>2]|0)+40>>2]|0)){c[q>>2]=Jl(c[g>>2]|0,c[p>>2]|0)|0;if(!(c[q>>2]|0)){f=h;c[q>>2]=so(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0)|0}c[c[k>>2]>>2]=0}else{c[r>>2]=c[(c[p>>2]|0)+64>>2];c[o>>2]=c[(c[p>>2]|0)+60>>2];f=h;c[q>>2]=to(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[p>>2]>>2]|0,c[r>>2]|0,c[o>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+-1}if(c[q>>2]|0){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}if((c[n>>2]|0)==(c[(c[j>>2]|0)+4>>2]|0)){f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}f=h;c[q>>2]=uo(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;f=c[n>>2]|0;r=c[k>>2]|0;c[r>>2]=f;r=c[q>>2]|0;i=s;return r|0}function oo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;g=k+16|0;h=k;j=k+12|0;l=k+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[l>>2]=f;ro(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[l>>2]|0);if(c[c[l>>2]>>2]|0){i=k;return}l=h;l=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[l>>2]|0,c[l+4>>2]|0)|0;f=(c[g>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)+l;f=c[j>>2]|0;f=Il((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;l=(c[g>>2]|0)+4|0;c[l>>2]=(c[l>>2]|0)+f;i=k;return}function po(b,e,f){b=b|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,r=0;r=i;i=i+48|0;g=r+36|0;n=r+32|0;o=r+28|0;h=r+24|0;j=r+20|0;p=r+16|0;q=r+12|0;l=r+8|0;k=r+4|0;m=r;c[g>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[j>>2]=15;while(1){if((c[j>>2]|0)<0)break;c[l>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);if((c[(c[l>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[l>>2]|0)+20>>2]|0);Kd(c[(c[l>>2]|0)+8>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){i=r;return}if(!(c[j>>2]|0)){c[k>>2]=(c[n>>2]|0)+56+32+20;ro(c[k>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[k>>2]>>2]>>0]=1;e=(c[n>>2]|0)+56|0;e=1+(Il((c[c[k>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[k>>2]|0)+4>>2]=e}c[j>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[j>>2]<<5);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[n>>2]|0)+56+(c[h>>2]<<5);if((c[q>>2]|0)==0?(c[(c[m>>2]|0)+20+4>>2]|0)>0:0){e=c[m>>2]|0;c[q>>2]=Dl(c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[m>>2]|0)+20>>2]|0);Kd(c[(c[m>>2]|0)+8>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(!(c[q>>2]|0)){m=c[g>>2]|0;g=(c[n>>2]|0)+8|0;g=pR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;h=(c[n>>2]|0)+24|0;j=(c[n>>2]|0)+56|0;b=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){l=(c[n>>2]|0)+40|0;k=c[l>>2]|0;l=c[l+4>>2]|0}else{k=0;l=0}c[q>>2]=Fl(m,g,C,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0,k,l,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];i=r;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nl(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}Le(c[e>>2]|0,1,1)|0;Je(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;ue(c[e>>2]|0)|0;c[f>>2]=Zd(c[e>>2]|0)|0;h=c[f>>2]|0;i=g;return h|0}function ro(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){i=k;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){i=k;return}c[j>>2]=c[f>>2];c[h>>2]=Ld(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+8>>2]=c[j>>2];c[c[e>>2]>>2]=c[h>>2];i=k;return}else{c[c[g>>2]>>2]=7;i=k;return}}function so(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+20|0;f=k;g=k+16|0;j=k+12|0;h=k+8|0;c[l>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=nl(c[l>>2]|0,30,h,0)|0;if(c[j>>2]|0){l=c[j>>2]|0;i=k;return l|0}l=f;Me(c[h>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Le(c[h>>2]|0,2,c[g>>2]|0)|0;ue(c[h>>2]|0)|0;c[j>>2]=Zd(c[h>>2]|0)|0;l=c[j>>2]|0;i=k;return l|0}function to(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+112|0;h=B+104|0;j=B+24|0;k=B+100|0;l=B+96|0;m=B+92|0;y=B+88|0;A=B+76|0;p=B+64|0;q=B+16|0;r=B+8|0;s=B;x=B+60|0;z=B+56|0;o=B+52|0;u=B+48|0;n=B+44|0;t=B+40|0;w=B+36|0;v=B+32|0;c[h>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[y>>2]=0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;f=q;c[f>>2]=0;c[f+4>>2]=0;f=r;c[f>>2]=0;c[f+4>>2]=0;f=s;c[f>>2]=0;c[f+4>>2]=0;c[x>>2]=0;c[y>>2]=nl(c[h>>2]|0,32,x,0)|0;if(!(c[y>>2]|0)){f=j;Me(c[x>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[x>>2]|0,2,c[k>>2]|0)|0;if(100==(ue(c[x>>2]|0)|0)){c[o>>2]=Ae(c[x>>2]|0,4)|0;c[u>>2]=Be(c[x>>2]|0,4)|0;a=Ee(c[x>>2]|0,1)|0;f=s;c[f>>2]=a;c[f+4>>2]=C;c[y>>2]=vo(c[o>>2]|0,c[u>>2]|0,A,c[l>>2]|0,c[m>>2]|0,q)|0}c[z>>2]=Zd(c[x>>2]|0)|0;if(!(c[y>>2]|0))c[y>>2]=c[z>>2]}while(1){f=q;if(!((c[y>>2]|0)==0?(c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0:0))break;c[n>>2]=0;c[t>>2]=0;x=q;z=c[x+4>>2]|0;f=r;c[f>>2]=c[x>>2];c[f+4>>2]=z;f=q;c[y>>2]=em(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,n,t,0)|0;if(!(c[y>>2]|0))c[y>>2]=vo(c[n>>2]|0,c[t>>2]|0,p,c[l>>2]|0,c[m>>2]|0,q)|0;if(!(c[y>>2]|0)){f=r;c[y>>2]=Dl(c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}Kd(c[n>>2]|0)}f=r;if((c[y>>2]|0)==0&((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)?(c[w>>2]=0,c[y>>2]=nl(c[h>>2]|0,17,w,0)|0,(c[y>>2]|0)==0):0){z=s;Me(c[w>>2]|0,1,c[z>>2]|0,c[z+4>>2]|0)|0;z=c[w>>2]|0;f=r;f=oR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;Me(z,2,f,C)|0;ue(c[w>>2]|0)|0;c[y>>2]=Zd(c[w>>2]|0)|0}if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}c[v>>2]=0;c[y>>2]=nl(c[h>>2]|0,33,v,0)|0;if(c[y>>2]|0){f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}f=r;Me(c[v>>2]|0,1,c[f>>2]|0,c[f+4>>2]|0)|0;Je(c[v>>2]|0,2,c[A>>2]|0,c[A+4>>2]|0,0)|0;f=j;Me(c[v>>2]|0,3,c[f>>2]|0,c[f+4>>2]|0)|0;Le(c[v>>2]|0,4,c[k>>2]|0)|0;ue(c[v>>2]|0)|0;c[y>>2]=Zd(c[v>>2]|0)|0;f=c[A>>2]|0;Kd(f);f=c[p>>2]|0;Kd(f);f=c[y>>2]|0;i=B;return f|0}function uo(b,d,e){b=b|0;d=d|0;e=e|0;var 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;s=i;i=i+48|0;f=s+44|0;g=s;p=s+40|0;h=s+36|0;m=s+32|0;l=s+28|0;k=s+24|0;n=s+20|0;o=s+16|0;q=s+12|0;j=s+8|0;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=0;c[m>>2]=0;c[l>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=nl(c[f>>2]|0,35,n,0)|0;if(!(c[p>>2]|0)){b=g;Me(c[n>>2]|0,1,c[b>>2]|0,c[b+4>>2]|0)|0;while(1){if(100!=(ue(c[n>>2]|0)|0))break;if((c[m>>2]|0)>=(c[l>>2]|0)){c[l>>2]=(c[l>>2]|0)+16;c[j>>2]=Ld(c[h>>2]|0,c[l>>2]<<2)|0;if(!(c[j>>2]|0)){r=6;break}c[h>>2]=c[j>>2]}e=De(c[n>>2]|0,0)|0;b=c[m>>2]|0;c[m>>2]=b+1;c[(c[h>>2]|0)+(b<<2)>>2]=e}if((r|0)==6)c[p>>2]=7;c[q>>2]=Zd(c[n>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=c[q>>2]}if(!(c[p>>2]|0))c[p>>2]=nl(c[f>>2]|0,31,o,0)|0;if(!(c[p>>2]|0)){r=g;Me(c[o>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[f>>2]|0)+232>>0]=1;c[k>>2]=0;while(1){if(c[p>>2]|0){r=21;break}if((c[k>>2]|0)>=(c[m>>2]|0)){r=21;break}if((c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)!=(c[k>>2]|0)){Le(c[o>>2]|0,3,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;Le(c[o>>2]|0,1,c[k>>2]|0)|0;ue(c[o>>2]|0)|0;c[p>>2]=Zd(c[o>>2]|0)|0}c[k>>2]=(c[k>>2]|0)+1}if((r|0)==21){a[(c[f>>2]|0)+232>>0]=0;Kd(c[h>>2]|0);i=s;return c[p>>2]|0}return 0}function vo(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var 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;w=i;i=i+112|0;j=w+96|0;k=w+92|0;l=w+88|0;m=w+84|0;n=w+80|0;o=w+76|0;p=w+72|0;t=w;r=w+60|0;s=w+56|0;q=w+52|0;u=w+48|0;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s>>2]=0;c[q>>2]=(a[c[k>>2]>>0]|0)==0&1;ro(c[m>>2]|0,c[l>>2]|0,s);if(c[s>>2]|0){c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}c[(c[m>>2]|0)+4>>2]=0;c[s>>2]=wo(t,c[k>>2]|0,c[l>>2]|0)|0;while(1){if(!((c[s>>2]|0)==0?(c[t>>2]|0)!=0:0))break;if(!(c[(c[m>>2]|0)+4>>2]|0)){c[u>>2]=xo(c[t+24>>2]|0,c[t+24+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[u>>2]|0)>=0?!((c[q>>2]|0)==0&(c[u>>2]|0)==0):0){h=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=t+16|0;f=c[h+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=f;v=9}}else v=9;if((v|0)==9?(v=0,c[s>>2]=zo(c[m>>2]|0,r,c[t+24>>2]|0,c[t+24+4>>2]|0,c[t+36>>2]|0,c[t+40>>2]|0)|0,(c[s>>2]|0)!=0):0)break;c[s>>2]=Ao(t)|0}if(!(c[(c[m>>2]|0)+4>>2]|0)){u=t+16|0;yo(c[m>>2]|0,a[c[k>>2]>>0]|0,c[u>>2]|0,c[u+4>>2]|0);u=t+16|0;f=c[u+4>>2]|0;v=c[p>>2]|0;c[v>>2]=c[u>>2];c[v+4>>2]=f}Bo(t);Kd(c[r>>2]|0);c[j>>2]=c[s>>2];v=c[j>>2]|0;i=w;return v|0}function wo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j+8|0;f=j+4|0;g=j;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;d=c[h>>2]|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];d=c[h>>2]|0;if(a[c[c[h>>2]>>2]>>0]|0){g=1+(Yl((c[d>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;c[(c[h>>2]|0)+8>>2]=g;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}else{c[d+8>>2]=1;h=c[h>>2]|0;h=Ao(h)|0;i=j;return h|0}return 0}function xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;m=j+20|0;f=j+16|0;l=j+12|0;g=j+8|0;k=j+4|0;h=j;c[m>>2]=a;c[f>>2]=b;c[l>>2]=d;c[g>>2]=e;c[k>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=EQ(c[m>>2]|0,c[l>>2]|0,c[k>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;i=j;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function yo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j+12|0;k=j+8|0;h=j;c[g>>2]=b;c[k>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[k>>2];b=h;e=c[g>>2]|0;if((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0){k=h;k=1+(Il((c[e>>2]|0)+1|0,c[k>>2]|0,c[k+4>>2]|0)|0)|0;c[(c[g>>2]|0)+4>>2]=k;i=j;return}else{c[e+4>>2]=1;i=j;return}}function zo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;h=t+40|0;j=t+36|0;k=t+32|0;l=t+28|0;m=t+24|0;n=t+20|0;o=t+16|0;s=t+12|0;p=t+8|0;q=t+4|0;r=t;c[j>>2]=a;c[k>>2]=b;c[l>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[s>>2]=0;c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)==0&1;ro(c[k>>2]|0,c[m>>2]|0,s);if(c[s>>2]|0){c[h>>2]=c[s>>2];d=c[h>>2]|0;i=t;return d|0}c[q>>2]=Kl(c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[m>>2]|0)-(c[q>>2]|0);rR(c[c[k>>2]>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=c[m>>2];if(!(c[p>>2]|0)){s=c[q>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s}s=c[r>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;rR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,(c[l>>2]|0)+(c[q>>2]|0)|0,c[r>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[r>>2]|0);if(c[n>>2]|0){s=c[o>>2]|0;s=Il((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,s,((s|0)<0)<<31>>31)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+s;rR((c[c[j>>2]>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)|0,c[n>>2]|0,c[o>>2]|0)|0;d=(c[j>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+(c[o>>2]|0)}c[h>>2]=0;d=c[h>>2]|0;i=t;return d|0}function Ao(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;g=j+16|0;b=j+12|0;e=j+8|0;f=j+4|0;h=j;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;k=a;k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[a>>2]=k;c[a+4>>2]=C}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;k=c[h>>2]|0;i=j;return k|0}if(!(c[b>>2]|0)){b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,e)|0;else{c[e>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,f)|0;else{c[f>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;ro((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}rR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[f>>2]|0);k=(c[g>>2]|0)+16|0;if(!((c[k>>2]|0)==0&(c[k+4>>2]|0)==0)){k=c[h>>2]|0;i=j;return k|0}b=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128)b=Zl(b,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[b>>0];b=1}k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+b;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);k=(c[g>>2]|0)+8|0;c[k>>2]=(c[k>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Bo(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);i=b;return}function Co(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0;v=i;i=i+64|0;t=v+60|0;g=v+56|0;h=v+52|0;j=v+48|0;k=v+44|0;n=v+8|0;l=v+40|0;m=v;s=v+36|0;u=v+32|0;o=v+28|0;q=v+24|0;p=v+20|0;r=v+16|0;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b=(c[h>>2]|0)+56|0;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=1;while(1){if((c[l>>2]|0)>=16){g=16;break}e=m;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=(c[h>>2]|0)+56+(c[l>>2]<<5);c[u>>2]=0;c[o>>2]=Kl(c[(c[s>>2]|0)+8>>2]|0,c[(c[s>>2]|0)+8+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[k>>2]|0)-(c[o>>2]|0);e=c[o>>2]|0;c[p>>2]=Hl(e,((e|0)<0)<<31>>31)|0;e=c[q>>2]|0;e=Hl(e,((e|0)<0)<<31>>31)|0;c[p>>2]=(c[p>>2]|0)+(e+(c[q>>2]|0));if((c[(c[s>>2]|0)+8+4>>2]|0)!=0?((c[(c[s>>2]|0)+20+4>>2]|0)+(c[p>>2]|0)|0)>(c[(c[g>>2]|0)+224>>2]|0):0){d=c[s>>2]|0;c[u>>2]=Dl(c[g>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[s>>2]|0)+20>>2]|0,c[(c[s>>2]|0)+20+4>>2]|0)|0;a[c[(c[s>>2]|0)+20>>2]>>0]=c[l>>2];d=(c[(c[s>>2]|0)+20>>2]|0)+1|0;b=n;b=pR(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;b=1+(Il(d,b,C)|0)|0;c[(c[s>>2]|0)+20+4>>2]=b;b=c[s>>2]|0;d=c[b+4>>2]|0;e=m;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=c[s>>2]|0;d=e;d=pR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[e>>2]=d;c[e+4>>2]=C;c[(c[s>>2]|0)+8+4>>2]=0}else{c[r>>2]=(c[s>>2]|0)+20;if((c[(c[r>>2]|0)+4>>2]|0)==0?(ro(c[r>>2]|0,c[(c[g>>2]|0)+224>>2]|0,u),(c[u>>2]|0)==0):0){a[c[c[r>>2]>>2]>>0]=c[l>>2];e=n;e=1+(Il((c[c[r>>2]>>2]|0)+1|0,c[e>>2]|0,c[e+4>>2]|0)|0)|0;c[(c[r>>2]|0)+4>>2]=e}ro(c[r>>2]|0,(c[(c[r>>2]|0)+4>>2]|0)+(c[p>>2]|0)|0,u);ro((c[s>>2]|0)+8|0,c[k>>2]|0,u);if(!(c[u>>2]|0)){if(c[(c[s>>2]|0)+8+4>>2]|0){d=c[o>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d}d=c[q>>2]|0;d=Il((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+d;rR((c[c[r>>2]>>2]|0)+(c[(c[r>>2]|0)+4>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+(c[q>>2]|0);rR(c[(c[s>>2]|0)+8>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[(c[s>>2]|0)+8+4>>2]=c[k>>2]}}e=m;if((c[u>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){g=14;break}b=m;d=c[b+4>>2]|0;e=n;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[l>>2]=(c[l>>2]|0)+1}if((g|0)==14){c[t>>2]=c[u>>2];u=c[t>>2]|0;i=v;return u|0}else if((g|0)==16){c[t>>2]=0;u=c[t>>2]|0;i=v;return u|0}return 0}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+24|0;f=l;g=l+20|0;h=l+16|0;j=l+12|0;k=l+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[j>>2]=0;c[k>>2]=nl(c[m>>2]|0,34,j,0)|0;if(c[k>>2]|0){e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}m=f;Me(c[j>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(ue(c[j>>2]|0)|0))c[h>>2]=1;c[k>>2]=Zd(c[j>>2]|0)|0;e=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=e;m=c[k>>2]|0;i=l;return m|0}function Eo(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0;t=i;i=i+64|0;u=t+48|0;g=t+44|0;h=t+40|0;j=t+36|0;q=t+32|0;s=t+28|0;o=t+24|0;l=t+20|0;k=t+16|0;p=t+12|0;m=t+8|0;r=t+4|0;n=t;c[u>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[q>>2]=c[u>>2];c[s>>2]=0;c[o>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[m>>2]=0;if(((c[g>>2]|0)>1?(fe(c[c[h>>2]>>2]|0)|0)==5:0)?(fe(c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=Fo(c[q>>2]|0,c[(c[h>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((c[g>>2]|0)>1?(de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[k>>2]=Id((c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[k>>2]|0)){c[s>>2]=7;u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}c[l>>2]=(c[k>>2]|0)+((c[(c[q>>2]|0)+24>>2]|0)+1<<2);tR(c[k>>2]|0,0,(c[(c[q>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=Go(c[q>>2]|0)|0;if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}do if((c[g>>2]|0)>1?(c[(c[q>>2]|0)+40>>2]|0)==0:0){c[r>>2]=c[(c[h>>2]|0)+(3+(c[(c[q>>2]|0)+24>>2]|0)<<2)>>2];if((fe(c[r>>2]|0)|0)==5)c[r>>2]=c[(c[h>>2]|0)+4>>2];if((fe(c[r>>2]|0)|0)!=5){if((fe(c[c[h>>2]>>2]|0)|0)!=5?(f=ee(c[c[h>>2]>>2]|0)|0,u=C,b=ee(c[r>>2]|0)|0,!((f|0)!=(b|0)|(u|0)!=(C|0))):0)break;u=(gf(c[(c[q>>2]|0)+12>>2]|0)|0)==5;e=c[q>>2]|0;if(u){c[s>>2]=Ho(e,c[r>>2]|0,p,c[k>>2]|0)|0;break}else{c[s>>2]=Io(e,c[h>>2]|0,c[j>>2]|0)|0;c[m>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}if((fe(c[c[h>>2]>>2]|0)|0)!=5){c[s>>2]=Ho(c[q>>2]|0,c[c[h>>2]>>2]|0,p,c[k>>2]|0)|0;c[o>>2]=1}if((c[g>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=de(c[(c[h>>2]|0)+(2+(c[(c[q>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[m>>2]|0)==0?(c[s>>2]=Io(c[q>>2]|0,c[h>>2]|0,c[j>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[q>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if((c[o>>2]|0)!=0?(r=c[j>>2]|0,u=(c[q>>2]|0)+264|0,!((c[r>>2]|0)!=(c[u>>2]|0)?1:(c[r+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[j>>2]|0;c[s>>2]=Jo(c[q>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Ko(c[q>>2]|0,c[n>>2]|0,c[h>>2]|0,c[l>>2]|0)|0;if(a[(c[q>>2]|0)+230>>0]|0)Lo(s,c[q>>2]|0,c[l>>2]|0);c[p>>2]=(c[p>>2]|0)+1}if(!(a[(c[q>>2]|0)+228>>0]|0)){u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}Mo(s,c[q>>2]|0,c[l>>2]|0,c[k>>2]|0,c[p>>2]|0);u=c[k>>2]|0;Kd(u);u=c[q>>2]|0;wm(u);u=c[s>>2]|0;i=t;return u|0}function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;l=k+12|0;g=k+8|0;h=k+4|0;f=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=ae(c[l>>2]|0)|0;c[f>>2]=be(c[l>>2]|0)|0;if(!(c[h>>2]|0)){c[d>>2]=7;l=c[d>>2]|0;i=k;return l|0}if((c[f>>2]|0)==8?0==(zd(c[h>>2]|0,21120,8)|0):0)c[g>>2]=Rn(c[e>>2]|0,0)|0;else j=6;do if((j|0)==6){if((c[f>>2]|0)==7?0==(zd(c[h>>2]|0,24103,7)|0):0){c[g>>2]=Wo(c[e>>2]|0)|0;break}if((c[f>>2]|0)==15?0==(zd(c[h>>2]|0,24111,15)|0):0){c[g>>2]=Xo(c[e>>2]|0)|0;break}if((c[f>>2]|0)>6?0==(zd(c[h>>2]|0,24127,6)|0):0){c[g>>2]=Yo(c[e>>2]|0,(c[h>>2]|0)+6|0)|0;break}if((c[f>>2]|0)>10?0==(zd(c[h>>2]|0,24134,10)|0):0){c[g>>2]=Zo(c[e>>2]|0,(c[h>>2]|0)+10|0)|0;break}c[g>>2]=1}while(0);c[d>>2]=c[g>>2];l=c[d>>2]|0;i=k;return l|0}function Go(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;e=f+4|0;d=f;c[b>>2]=a;c[e>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[e>>2]=nl(c[b>>2]|0,16,d,0)|0,(c[e>>2]|0)==0):0){Ne(c[d>>2]|0,1)|0;ue(c[d>>2]|0)|0;c[e>>2]=Zd(c[d>>2]|0)|0}i=f;return c[e>>2]|0}function Ho(b,d,e,f){b=b|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;n=i;i=i+32|0;g=n+24|0;h=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;l=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;Ro(m,c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;i=n;return o|0}c[l>>2]=0;c[m>>2]=So(c[g>>2]|0,c[h>>2]|0,l)|0;if(c[m>>2]|0){o=c[m>>2]|0;i=n;return o|0}if(c[l>>2]|0){c[m>>2]=To(c[g>>2]|0,1)|0;c[c[j>>2]>>2]=0;tR(c[k>>2]|0,0,(c[(c[g>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;i=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[g>>2]|0)+40>>2]|0))Uo(m,c[g>>2]|0,0,h);if(!(a[(c[g>>2]|0)+230>>0]|0)){o=c[m>>2]|0;i=n;return o|0}Uo(m,c[g>>2]|0,19,h);o=c[m>>2]|0;i=n;return o|0}function Io(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;l=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;b=c[f>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[b+24>>2]|0)+3<<2)>>2];if((fe(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fe(c[k>>2]|0)|0)!=1){c[e>>2]=19;l=c[e>>2]|0;i=m;return l|0}else{k=ee(c[k>>2]|0)|0;l=c[h>>2]|0;c[l>>2]=k;c[l+4>>2]=C;c[e>>2]=0;l=c[e>>2]|0;i=m;return l|0}}c[l>>2]=nl(b,18,j,(c[g>>2]|0)+4|0)|0;if((c[l>>2]|0)==0?(c[(c[f>>2]|0)+44>>2]|0)!=0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[l>>2]=Le(d,k,de(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}if(5!=(fe(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fe(c[c[g>>2]>>2]|0)|0)?5!=(fe(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;l=c[e>>2]|0;i=m;return l|0}c[l>>2]=Pe(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[l>>2]|0){c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}}ue(c[j>>2]|0)|0;c[l>>2]=Zd(c[j>>2]|0)|0;j=pf(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=C;c[e>>2]=c[l>>2];l=c[e>>2]|0;i=m;return l|0}function Jo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o;m=o+8|0;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;d=l;c[d>>2]=e;c[d+4>>2]=f;d=l;f=c[d+4>>2]|0;a=(c[h>>2]|0)+264|0;b=c[a+4>>2]|0;do if(!((f|0)<(b|0)|((f|0)==(b|0)?(c[d>>2]|0)>>>0<(c[a>>2]|0)>>>0:0))){d=l;a=(c[h>>2]|0)+264|0;if(((c[d>>2]|0)==(c[a>>2]|0)?(c[d+4>>2]|0)==(c[a+4>>2]|0):0)?(c[(c[h>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[h>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[h>>2]|0)+260>>2]|0)<=(c[(c[h>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[m>>2]=kl(c[h>>2]|0)|0,(c[m>>2]|0)!=0):0){c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}a=l;m=c[a+4>>2]|0;n=(c[h>>2]|0)+264|0;c[n>>2]=c[a>>2];c[n+4>>2]=m;c[(c[h>>2]|0)+272>>2]=c[k>>2];c[(c[h>>2]|0)+276>>2]=c[j>>2];c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}function Ko(a,b,e,f){a=a|0;b=b|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;q=i;i=i+48|0;o=q+32|0;g=q+28|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+12|0;m=q+8|0;n=q+4|0;p=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=2;while(1){if((c[l>>2]|0)>=((c[(c[g>>2]|0)+24>>2]|0)+2|0)){g=8;break}c[m>>2]=(c[l>>2]|0)-2;if(!(d[(c[(c[g>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[n>>2]=ae(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;c[p>>2]=Po(c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+(c[m>>2]<<2)|0)|0;if(c[p>>2]|0){g=5;break}b=be(c[(c[j>>2]|0)+(c[l>>2]<<2)>>2]|0)|0;a=(c[k>>2]|0)+(c[(c[g>>2]|0)+24>>2]<<2)|0;c[a>>2]=(c[a>>2]|0)+b}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==5){c[o>>2]=c[p>>2];p=c[o>>2]|0;i=q;return p|0}else if((g|0)==8){c[o>>2]=0;p=c[o>>2]|0;i=q;return p|0}return 0}function Lo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;g=m+16|0;j=m+12|0;h=m+8|0;k=m+4|0;l=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){i=m;return}c[j>>2]=Id((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[j>>2]|0)){c[c[e>>2]>>2]=7;i=m;return}Oo(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[j>>2]|0,h);c[l>>2]=nl(c[f>>2]|0,20,k,0)|0;if(c[l>>2]|0){Kd(c[j>>2]|0);c[c[e>>2]>>2]=c[l>>2];i=m;return}else{l=(c[f>>2]|0)+264|0;Me(c[k>>2]|0,1,c[l>>2]|0,c[l+4>>2]|0)|0;Je(c[k>>2]|0,2,c[j>>2]|0,c[h>>2]|0,148)|0;ue(c[k>>2]|0)|0;l=Zd(c[k>>2]|0)|0;c[c[e>>2]>>2]=l;i=m;return}}function Mo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+64|0;g=u+48|0;h=u+44|0;j=u+40|0;k=u+36|0;l=u+32|0;q=u+28|0;o=u+24|0;m=u+20|0;r=u+16|0;n=u+12|0;s=u+8|0;p=u+4|0;t=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[p>>2]=(c[(c[h>>2]|0)+24>>2]|0)+2;if(c[c[g>>2]>>2]|0){i=u;return}c[m>>2]=Id((c[p>>2]|0)*14|0)|0;if(!(c[m>>2]|0)){c[c[g>>2]>>2]=7;i=u;return}c[q>>2]=(c[m>>2]|0)+(c[p>>2]<<2);c[s>>2]=nl(c[h>>2]|0,22,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}Le(c[r>>2]|0,1,0)|0;if((ue(c[r>>2]|0)|0)==100){f=c[p>>2]|0;b=c[m>>2]|0;a=Ae(c[r>>2]|0,0)|0;No(f,b,a,Be(c[r>>2]|0,0)|0)}else tR(c[m>>2]|0,0,c[p>>2]<<2|0)|0;c[s>>2]=Zd(c[r>>2]|0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}if((c[l>>2]|0)<0?(c[c[m>>2]>>2]|0)>>>0<(0-(c[l>>2]|0)|0)>>>0:0)c[c[m>>2]>>2]=0;else{a=c[m>>2]|0;c[a>>2]=(c[a>>2]|0)+(c[l>>2]|0)}c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[h>>2]|0)+24>>2]|0)+1|0))break;c[t>>2]=c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2];if(((c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)|0)>>>0<(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>>>0)c[t>>2]=0;else c[t>>2]=(c[t>>2]|0)+(c[(c[j>>2]|0)+(c[n>>2]<<2)>>2]|0)-(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0);c[(c[m>>2]|0)+((c[n>>2]|0)+1<<2)>>2]=c[t>>2];c[n>>2]=(c[n>>2]|0)+1}Oo(c[p>>2]|0,c[m>>2]|0,c[q>>2]|0,o);c[s>>2]=nl(c[h>>2]|0,23,r,0)|0;if(c[s>>2]|0){Kd(c[m>>2]|0);c[c[g>>2]>>2]=c[s>>2];i=u;return}else{Le(c[r>>2]|0,1,0)|0;Je(c[r>>2]|0,2,c[q>>2]|0,c[o>>2]|0,0)|0;ue(c[r>>2]|0)|0;t=Zd(c[r>>2]|0)|0;c[c[g>>2]>>2]=t;Kd(c[m>>2]|0);i=u;return}}function No(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+28|0;g=m+24|0;h=m+20|0;j=m+12|0;k=m+8|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;d=Yl((c[h>>2]|0)+(c[k>>2]|0)|0,l)|0;c[k>>2]=(c[k>>2]|0)+d;c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]=c[l>>2];c[j>>2]=(c[j>>2]|0)+1}i=m;return}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[l>>2]=0;c[k>>2]=0;while(1){a=c[l>>2]|0;if((c[k>>2]|0)>=(c[f>>2]|0))break;d=Il((c[h>>2]|0)+a|0,c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0,0)|0;c[l>>2]=(c[l>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}c[c[j>>2]>>2]=a;i=m;return}function Po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;l=B+56|0;m=B+52|0;x=B+48|0;q=B+44|0;o=B+40|0;p=B+36|0;s=B+32|0;z=B+28|0;r=B+24|0;w=B+20|0;v=B+16|0;t=B+12|0;y=B+8|0;n=B+4|0;u=B;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[r>>2]=0;c[w>>2]=c[(c[h>>2]|0)+36>>2];c[v>>2]=c[c[w>>2]>>2];if(!(c[k>>2]|0)){c[c[m>>2]>>2]=0;c[g>>2]=0;A=c[g>>2]|0;i=B;return A|0}c[x>>2]=An(c[w>>2]|0,c[j>>2]|0,c[k>>2]|0,-1,t)|0;if(c[x>>2]|0){c[g>>2]=c[x>>2];A=c[g>>2]|0;i=B;return A|0}c[y>>2]=c[(c[v>>2]|0)+20>>2];a:while(1){if(c[x>>2]|0)break;d=Sb[c[y>>2]&255](c[t>>2]|0,z,r,q,o,p)|0;c[x>>2]=d;if(d)break;if((c[p>>2]|0)>=(c[s>>2]|0))c[s>>2]=(c[p>>2]|0)+1;if((c[p>>2]|0)>=0&(c[z>>2]|0)!=0^1|(c[r>>2]|0)<=0){A=11;break}c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[(c[h>>2]|0)+252>>2]|0)+4|0,c[z>>2]|0,c[r>>2]|0)|0;c[n>>2]=1;while(1){if(c[x>>2]|0)continue a;if((c[n>>2]|0)>=(c[(c[h>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[h>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0);if((c[r>>2]|0)>=(c[c[u>>2]>>2]|0))c[x>>2]=Qo(c[h>>2]|0,c[l>>2]|0,c[p>>2]|0,(c[u>>2]|0)+4|0,c[z>>2]|0,c[c[u>>2]>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}if((A|0)==11)c[x>>2]=1;Tb[c[(c[v>>2]|0)+16>>2]&255](c[t>>2]|0)|0;A=c[m>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[s>>2]|0);c[g>>2]=(c[x>>2]|0)==101?0:c[x>>2]|0;A=c[g>>2]|0;i=B;return A|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[p>>2]=0;c[o>>2]=Ck(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)-((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20)}a=(c[h>>2]|0)+264|0;e=c[j>>2]|0;f=c[k>>2]|0;if((Bn(o,c[a>>2]|0,c[a+4>>2]|0,e,((e|0)<0)<<31>>31,f,((f|0)<0)<<31>>31,p)|0)!=0?(f=c[o>>2]|0,(f|0)==(jk(c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)):0){Kd(c[o>>2]|0);c[p>>2]=7}if(c[p>>2]|0){f=c[p>>2]|0;i=q;return f|0}f=(c[h>>2]|0)+260|0;c[f>>2]=(c[f>>2]|0)+((c[c[o>>2]>>2]|0)+(c[n>>2]|0)+20);f=c[p>>2]|0;i=q;return f|0}function Ro(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var 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;u=i;i=i+64|0;j=u+48|0;k=u+44|0;h=u+40|0;l=u+36|0;m=u+32|0;s=u+28|0;r=u+24|0;n=u+20|0;q=u+16|0;p=u;o=u+12|0;t=u+8|0;c[j>>2]=a;c[k>>2]=b;c[h>>2]=e;c[l>>2]=f;c[m>>2]=g;if(c[c[j>>2]>>2]|0){i=u;return}c[s>>2]=nl(c[k>>2]|0,7,r,h)|0;h=c[r>>2]|0;if(!(c[s>>2]|0)){do if(100==(ue(h)|0)){c[q>>2]=Vo(c[k>>2]|0,c[r>>2]|0)|0;e=Ee(c[r>>2]|0,0)|0;g=p;c[g>>2]=e;c[g+4>>2]=C;c[s>>2]=Jo(c[k>>2]|0,1,c[q>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[n>>2]=1;while(1){if(c[s>>2]|0)break;if((c[n>>2]|0)>(c[(c[k>>2]|0)+24>>2]|0))break;c[o>>2]=(c[n>>2]|0)-1;if(!(d[(c[(c[k>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[t>>2]=Fe(c[r>>2]|0,c[n>>2]|0)|0;c[s>>2]=Po(c[k>>2]|0,c[q>>2]|0,c[t>>2]|0,-1,(c[l>>2]|0)+(c[o>>2]<<2)|0)|0;g=Be(c[r>>2]|0,c[n>>2]|0)|0;p=(c[l>>2]|0)+(c[(c[k>>2]|0)+24>>2]<<2)|0;c[p>>2]=(c[p>>2]|0)+g}c[n>>2]=(c[n>>2]|0)+1}if(!(c[s>>2]|0)){c[c[m>>2]>>2]=1;break}Zd(c[r>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}while(0);c[s>>2]=Zd(c[r>>2]|0)|0}else Zd(h)|0;c[c[j>>2]>>2]=c[s>>2];i=u;return}function So(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[j>>2]=0;j=c[j>>2]|0;i=k;return j|0}c[j>>2]=nl(c[e>>2]|0,1,h,f)|0;if(c[j>>2]|0){j=c[j>>2]|0;i=k;return j|0}if(100==(ue(c[h>>2]|0)|0)){d=De(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=d}c[j>>2]=Zd(c[h>>2]|0)|0;j=c[j>>2]|0;i=k;return j|0}function To(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;hl(c[e>>2]|0);if(c[h>>2]|0)Uo(f,c[e>>2]|0,2,0);Uo(f,c[e>>2]|0,3,0);Uo(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)Uo(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;i=g;return h|0}Uo(f,c[e>>2]|0,6,0);h=c[f>>2]|0;i=g;return h|0}function Uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(c[c[f>>2]>>2]|0){i=m;return}c[l>>2]=nl(c[g>>2]|0,c[h>>2]|0,k,c[j>>2]|0)|0;if(!(c[l>>2]|0)){ue(c[k>>2]|0)|0;c[l>>2]=Zd(c[k>>2]|0)|0}c[c[f>>2]>>2]=c[l>>2];i=m;return}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){b=c[f>>2]|0;i=g;return b|0}c[f>>2]=De(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;b=c[f>>2]|0;i=g;return b|0}function Wo(b){b=b|0;var 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;t=i;i=i+64|0;f=t;h=t+52|0;q=t+48|0;j=t+44|0;l=t+40|0;k=t+36|0;p=t+32|0;o=t+28|0;g=t+24|0;e=t+20|0;m=t+16|0;n=t+12|0;s=t+8|0;r=t+4|0;c[h>>2]=b;c[q>>2]=To(c[h>>2]|0,0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[j>>2]=0;c[l>>2]=0;c[k>>2]=0;c[p>>2]=0;c[o>>2]=0;c[f>>2]=c[(c[h>>2]|0)+216>>2];c[g>>2]=Od(24222,f)|0;if(c[g>>2]|0){c[q>>2]=af(c[(c[h>>2]|0)+12>>2]|0,c[g>>2]|0,-1,p,0)|0;Kd(c[g>>2]|0)}else c[q>>2]=7;do if(!(c[q>>2]|0)){c[e>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[j>>2]=Id(c[e>>2]|0)|0;if(!(c[j>>2]|0)){c[q>>2]=7;break}else{tR(c[j>>2]|0,0,c[e>>2]|0)|0;c[l>>2]=(c[j>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[k>>2]=(c[l>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[q>>2]|0))e=100==(ue(c[p>>2]|0)|0);else e=0;b=c[h>>2]|0;if(!e)break;c[n>>2]=Vo(b,c[p>>2]|0)|0;b=c[h>>2]|0;f=c[n>>2]|0;g=Ee(c[p>>2]|0,0)|0;c[q>>2]=Jo(b,0,f,g,C)|0;tR(c[j>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[m>>2]=0;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[(c[h>>2]|0)+24>>2]|0))break;if(!(d[(c[(c[h>>2]|0)+32>>2]|0)+(c[m>>2]|0)>>0]|0)){c[s>>2]=Fe(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;c[q>>2]=Po(c[h>>2]|0,c[n>>2]|0,c[s>>2]|0,c[m>>2]|0,(c[j>>2]|0)+(c[m>>2]<<2)|0)|0;f=Be(c[p>>2]|0,(c[m>>2]|0)+1|0)|0;g=(c[j>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[m>>2]=(c[m>>2]|0)+1}if(a[(c[h>>2]|0)+230>>0]|0)Lo(q,c[h>>2]|0,c[j>>2]|0);if(c[q>>2]|0){Yd(c[p>>2]|0)|0;c[p>>2]=0;continue}c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=0;while(1){if((c[m>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[l>>2]|0)+(c[m>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0);c[m>>2]=(c[m>>2]|0)+1}}if(a[b+228>>0]|0)Mo(q,c[h>>2]|0,c[l>>2]|0,c[k>>2]|0,c[o>>2]|0);Kd(c[j>>2]|0);if(!(c[p>>2]|0)){s=c[q>>2]|0;i=t;return s|0}c[r>>2]=Yd(c[p>>2]|0)|0;if(c[q>>2]|0){s=c[q>>2]|0;i=t;return s|0}c[q>>2]=c[r>>2];s=c[q>>2]|0;i=t;return s|0}function Xo(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=ap(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;i=d;return c[b>>2]|0}function Yo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;l=k+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[e>>2]=b;c[l>>2]=d;c[g>>2]=8;c[f>>2]=0;c[j>>2]=c[l>>2];c[f>>2]=_o(j)|0;if((a[c[j>>2]>>0]|0)==44?(a[(c[j>>2]|0)+1>>0]|0)!=0:0){c[j>>2]=(c[j>>2]|0)+1;c[g>>2]=_o(j)|0}if((c[g>>2]|0)<2?1:(a[c[j>>2]>>0]|0)!=0){c[h>>2]=1;l=c[h>>2]|0;i=k;return l|0}c[h>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))$o(h,c[e>>2]|0);if(!(c[h>>2]|0))c[h>>2]=eo(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;wm(c[e>>2]|0);l=c[h>>2]|0;i=k;return l|0}function Zo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[f>>2]=b;c[k>>2]=d;c[h>>2]=0;c[g>>2]=0;d=_o(k)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?($o(h,c[f>>2]|0),(c[h>>2]|0)!=0):0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}c[h>>2]=nl(c[f>>2]|0,23,g,0)|0;if(c[h>>2]|0){c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}else{Le(c[g>>2]|0,1,2)|0;Le(c[g>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;ue(c[g>>2]|0)|0;c[h>>2]=Zd(c[g>>2]|0)|0;c[e>>2]=c[h>>2];k=c[e>>2]|0;i=j;return k|0}return 0}function _o(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+8|0;f=g+4|0;e=g;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[e>>2]=0;while(1){if((a[c[f>>2]>>0]|0)<48){b=5;break}if((a[c[f>>2]>>0]|0)>57){b=5;break}h=(c[e>>2]|0)*10|0;b=c[f>>2]|0;c[f>>2]=b+1;c[e>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[f>>2];i=g;return c[e>>2]|0}return 0}function $o(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;d=c[g>>2]|0;b=c[(c[e>>2]|0)+12>>2]|0;j=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=j;ll(d,b,24145,h);if(c[c[g>>2]>>2]|0){i=f;return}a[(c[e>>2]|0)+229>>0]=1;i=f;return}function ap(a,b){a=a|0;b=b|0;var 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,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0;F=i;i=i+112|0;j=F+24|0;l=F+108|0;m=F+104|0;B=F+100|0;n=F+16|0;o=F+8|0;g=F+96|0;h=F+92|0;f=F+88|0;e=F+84|0;y=F+80|0;z=F+76|0;k=F+72|0;r=F;u=F+68|0;q=F+64|0;D=F+60|0;w=F+56|0;A=F+52|0;E=F+48|0;x=F+44|0;s=F+40|0;t=F+36|0;v=F+32|0;p=F+28|0;c[l>>2]=a;c[m>>2]=b;c[B>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[B>>2]=nl(c[l>>2]|0,27,g,0)|0;if(!(c[B>>2]|0)){Le(c[g>>2]|0,1,c[(c[l>>2]|0)+272>>2]|0)|0;Le(c[g>>2]|0,2,c[(c[l>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[B>>2]|0))a=(ue(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[f>>2]=De(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue a;a=n;H=c[a>>2]|0;a=c[a+4>>2]|0;G=bp(c[l>>2]|0,c[f>>2]|0,c[e>>2]|0,B)|0;b=n;c[b>>2]=H^G;c[b+4>>2]=a^C;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Zd(b)|0;if(!(c[B>>2]|0))c[B>>2]=c[h>>2]}if(c[B>>2]|0){E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}c[y>>2]=c[c[(c[l>>2]|0)+36>>2]>>2];c[z>>2]=0;c[j>>2]=c[(c[l>>2]|0)+216>>2];c[k>>2]=Od(24222,j)|0;if(c[k>>2]|0){c[B>>2]=af(c[(c[l>>2]|0)+12>>2]|0,c[k>>2]|0,-1,z,0)|0;Kd(c[k>>2]|0)}else c[B>>2]=7;b:while(1){if(!(c[B>>2]|0))a=100==(ue(c[z>>2]|0)|0);else a=0;b=c[z>>2]|0;if(!a)break;G=Ee(b,0)|0;H=r;c[H>>2]=G;c[H+4>>2]=C;c[u>>2]=Vo(c[l>>2]|0,c[z>>2]|0)|0;c[q>>2]=0;while(1){if(c[B>>2]|0)continue b;if((c[q>>2]|0)>=(c[(c[l>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[l>>2]|0)+32>>2]|0)+(c[q>>2]|0)>>0]|0)){c[D>>2]=Fe(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[w>>2]=Be(c[z>>2]|0,(c[q>>2]|0)+1|0)|0;c[A>>2]=0;c[B>>2]=An(c[(c[l>>2]|0)+36>>2]|0,c[u>>2]|0,c[D>>2]|0,c[w>>2]|0,A)|0;c:while(1){if(c[B>>2]|0)break;c[x>>2]=0;c[s>>2]=0;c[t>>2]=0;c[v>>2]=0;c[B>>2]=Sb[c[(c[y>>2]|0)+20>>2]&255](c[A>>2]|0,E,x,s,t,v)|0;if(c[B>>2]|0)continue;G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[x>>2]|0,c[u>>2]|0,0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C;c[p>>2]=1;while(1){if((c[p>>2]|0)>=(c[(c[l>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0)<=(c[x>>2]|0)){G=o;j=c[G>>2]|0;G=c[G+4>>2]|0;k=r;k=cp(c[E>>2]|0,c[(c[(c[l>>2]|0)+252>>2]|0)+((c[p>>2]|0)*24|0)>>2]|0,c[u>>2]|0,c[p>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;H=o;c[H>>2]=j^k;c[H+4>>2]=G^C}c[p>>2]=(c[p>>2]|0)+1}}if(c[A>>2]|0)Tb[c[(c[y>>2]|0)+16>>2]&255](c[A>>2]|0)|0;if((c[B>>2]|0)==101)c[B>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}Yd(b)|0;E=n;D=E;D=c[D>>2]|0;E=E+4|0;E=c[E>>2]|0;G=o;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(D|0)==(H|0);G=(E|0)==(G|0);G=H&G;G=G&1;H=c[m>>2]|0;c[H>>2]=G;H=c[B>>2]|0;i=F;return H|0}function bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+144|0;g=u+140|0;h=u+136|0;j=u+132|0;k=u+128|0;f=u+112|0;m=u+56|0;t=u+48|0;l=u+32|0;r=u+44|0;s=u+40|0;o=u+24|0;n=u+16|0;p=u+8|0;q=u;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;d=l;c[d>>2]=0;c[d+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;d=m;b=d+56|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[t>>2]=ol(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,-2,0,0,0,1,m)|0;if(!(c[t>>2]|0))c[t>>2]=sl(c[g>>2]|0,m,f)|0;if(c[t>>2]|0){zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}a:while(1){f=tl(c[g>>2]|0,m)|0;c[t>>2]=f;if(100!=(f|0))break;c[r>>2]=c[m+48>>2];c[s>>2]=(c[r>>2]|0)+(c[m+52>>2]|0);f=o;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,o)|0;c[r>>2]=(c[r>>2]|0)+f;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue a;f=q;c[f>>2]=0;c[f+4>>2]=0;f=Yl(c[r>>2]|0,q)|0;c[r>>2]=(c[r>>2]|0)+f;if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)continue;e=q;f=q;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=q;b=oR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=p;b=pR(c[e>>2]|0,c[e+4>>2]|0,b|0,C|0)|0;e=p;c[e>>2]=b;c[e+4>>2]=C;e=l;b=c[e>>2]|0;e=c[e+4>>2]|0;a=o;a=cp(c[m+40>>2]|0,c[m+44>>2]|0,c[h>>2]|0,c[j>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[n>>2]|0,c[p>>2]|0)|0;f=l;c[f>>2]=b^a;c[f+4>>2]=e^C;continue}f=n;c[f>>2]=0;c[f+4>>2]=0;f=p;c[f>>2]=0;c[f+4>>2]=0;f=q;d=c[r>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=Yl(d,n)|0;c[r>>2]=(c[r>>2]|0)+f;continue}else{e=Yl(d,q)|0;c[r>>2]=(c[r>>2]|0)+e;e=q;f=o;e=pR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=o;c[f>>2]=e;c[f+4>>2]=C;continue}}}zl(m);t=c[t>>2]|0;s=c[k>>2]|0;c[s>>2]=t;s=l;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;C=s;i=u;return t|0}function cp(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=i;i=i+48|0;l=p+40|0;m=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;n=p+16|0;o=p;c[l>>2]=b;c[m>>2]=d;c[t>>2]=e;c[s>>2]=f;d=u;c[d>>2]=g;c[d+4>>2]=h;c[r>>2]=j;c[q>>2]=k;k=u;d=c[k+4>>2]|0;b=o;c[b>>2]=c[k>>2];c[b+4>>2]=d;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[t>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[s>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[r>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;b=o;b=uR(c[b>>2]|0,c[b+4>>2]|0,3)|0;d=c[q>>2]|0;d=pR(b|0,C|0,d|0,((d|0)<0)<<31>>31|0)|0;b=o;d=pR(c[b>>2]|0,c[b+4>>2]|0,d|0,C|0)|0;b=o;c[b>>2]=d;c[b+4>>2]=C;c[n>>2]=0;while(1){h=o;g=c[h>>2]|0;h=c[h+4>>2]|0;if((c[n>>2]|0)>=(c[m>>2]|0))break;u=uR(g|0,h|0,3)|0;t=a[(c[l>>2]|0)+(c[n>>2]|0)>>0]|0;t=pR(u|0,C|0,t|0,((t|0)<0)<<31>>31|0)|0;u=o;t=pR(c[u>>2]|0,c[u+4>>2]|0,t|0,C|0)|0;u=o;c[u>>2]=t;c[u+4>>2]=C;c[n>>2]=(c[n>>2]|0)+1}C=h;i=p;return g|0}function dp(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;e=h+8|0;g=h+4|0;f=h;c[e>>2]=b;c[g>>2]=0;c[f>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[f>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Zd(c[(c[e>>2]|0)+8>>2]|0)|0;Rm(c[e>>2]|0,c[f>>2]|0,g);a[(c[e>>2]|0)+6>>0]=a[(c[f>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;k=(c[f>>2]|0)+24|0;j=c[k+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=j;if(d[(c[e>>2]|0)+6>>0]|0)break a}while((Mm(c[e>>2]|0,g)|0)!=0);while(0);if(c[g>>2]|0){k=c[g>>2]|0;i=h;return k|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(j=(c[e>>2]|0)+32|0,b=c[j+4>>2]|0,k=(c[e>>2]|0)+80|0,f=c[k+4>>2]|0,(b|0)>(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){k=c[g>>2]|0;i=h;return k|0}j=(c[e>>2]|0)+32|0;b=c[j+4>>2]|0;k=(c[e>>2]|0)+72|0;f=c[k+4>>2]|0;if(!((b|0)<(f|0)|((b|0)==(f|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0))){k=c[g>>2]|0;i=h;return k|0}}a[(c[e>>2]|0)+6>>0]=1;k=c[g>>2]|0;i=h;return k|0}function ep(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];Ep(c[b>>2]|0);if(((c[d>>2]|0)!=0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?(c[(c[d>>2]|0)+16>>2]|0)!=0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}i=e;return}function fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;e=j+8|0;f=j+20|0;g=j;h=j+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if((c[f>>2]|0)!=0?(c[h>>2]=Te(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){a=ee(c[f>>2]|0)|0;h=e;c[h>>2]=a;c[h+4>>2]=C;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}a=c[g+4>>2]|0;h=e;c[h>>2]=c[g>>2];c[h+4>>2]=a;h=e;a=h;a=c[a>>2]|0;h=h+4|0;h=c[h>>2]|0;C=h;i=j;return a|0}function gp(a,b,d,e,f,g,h,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=i;i=i+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=j;c[n>>2]=k;c[o>>2]=l;c[p>>2]=sp(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?(c[c[n>>2]>>2]|0)!=0:0)?(c[p>>2]=tp(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=up(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;i=s;return z|0}ep(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;Dk(z,24331,q);c[p>>2]=1;z=c[p>>2]|0;i=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;i=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];Dk(z,24383,r);z=c[p>>2]|0;i=s;return z|0}function hp(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+48|0;b=n+36|0;o=n+32|0;m=n+28|0;j=n+24|0;h=n+20|0;e=n+16|0;f=n+12|0;g=n+8|0;k=n+4|0;l=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[m>>2]=0;c[j>>2]=0;c[h>>2]=0;ip(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,j,h,m);do if((c[m>>2]|0)==0&(c[j>>2]|0)>1?(d[(c[o>>2]|0)+228>>0]|0|0)!=0:0){c[e>>2]=Id(((c[j>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[f>>2]=(c[e>>2]|0)+((c[j>>2]|0)*24|0);if(!(c[e>>2]|0)){c[m>>2]=7;break}c[k>>2]=c[e>>2];c[l>>2]=c[f>>2];jp(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,k,l,m);c[j>>2]=((c[k>>2]|0)-(c[e>>2]|0)|0)/24|0;c[h>>2]=((c[l>>2]|0)-(c[f>>2]|0)|0)/4|0;a:do if(!(c[m>>2]|0)){c[m>>2]=kp(c[b>>2]|0,0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=0;while(1){if(c[m>>2]|0)break a;if((c[g>>2]|0)>=(c[h>>2]|0))break a;c[m>>2]=kp(c[b>>2]|0,c[(c[f>>2]|0)+(c[g>>2]<<2)>>2]|0,c[e>>2]|0,c[j>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Kd(c[e>>2]|0)}while(0);lp(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,m);i=n;return c[m>>2]|0}function ip(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;g=q+32|0;n=q+28|0;h=q+24|0;j=q+20|0;o=q+16|0;k=q+12|0;l=q+8|0;m=q+4|0;p=q;c[g>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){i=q;return}if(c[c[o>>2]>>2]|0){i=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){p=c[j>>2]|0;c[p>>2]=(c[p>>2]|0)+((c[a>>2]|0)==4&1);ip(c[g>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);ip(c[g>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[o>>2]|0);i=q;return}c[l>>2]=c[(c[a+20>>2]|0)+64>>2];j=c[h>>2]|0;c[j>>2]=(c[j>>2]|0)+(c[l>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[l>>2]|0)){a=9;break}c[m>>2]=(c[(c[n>>2]|0)+20>>2]|0)+72+((c[k>>2]|0)*24|0);c[p>>2]=qp(c[g>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+8>>2]|0,(c[m>>2]|0)+20|0)|0;if(c[p>>2]|0){a=7;break}c[k>>2]=(c[k>>2]|0)+1}if((a|0)==7){c[c[o>>2]>>2]=c[p>>2];i=q;return}else if((a|0)==9){c[(c[(c[n>>2]|0)+20>>2]|0)+44>>2]=-1;i=q;return}}function jp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;l=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;h=r+4|0;k=r;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;if(c[c[q>>2]>>2]|0){i=r;return}d=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==5){c[j>>2]=c[d+20>>2];c[h>>2]=0;while(1){if(c[c[q>>2]>>2]|0){a=13;break}if((c[h>>2]|0)>=(c[(c[j>>2]|0)+64>>2]|0)){a=13;break}n=c[o>>2]|0;p=c[n>>2]|0;c[n>>2]=p+24;c[k>>2]=p;c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+8>>2]=(c[j>>2]|0)+72+((c[h>>2]|0)*24|0);c[(c[k>>2]|0)+20>>2]=c[(c[j>>2]|0)+68>>2];p=pp(c[l>>2]|0,c[(c[(c[k>>2]|0)+8>>2]|0)+20>>2]|0,(c[k>>2]|0)+16|0)|0;c[c[q>>2]>>2]=p;c[h>>2]=(c[h>>2]|0)+1}if((a|0)==13){i=r;return}}if((c[d>>2]|0)==2){i=r;return}if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+12>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);if((c[c[n>>2]>>2]|0)==4){c[m>>2]=c[(c[n>>2]|0)+16>>2];c[c[c[p>>2]>>2]>>2]=c[m>>2];k=c[p>>2]|0;c[k>>2]=(c[k>>2]|0)+4}jp(c[l>>2]|0,c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0);i=r;return}function kp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;f=B+76|0;g=B+72|0;h=B+68|0;j=B+64|0;k=B+60|0;w=B+56|0;o=B+52|0;z=B+48|0;m=B+44|0;s=B+40|0;t=B+36|0;r=B+32|0;q=B+28|0;l=B+24|0;v=B+20|0;x=B+16|0;y=B+12|0;p=B+8|0;u=B+4|0;n=B;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[w>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[z>>2]=0;c[s>>2]=0;c[t>>2]=0;c[r>>2]=0;c[q>>2]=1;if(c[(c[w>>2]|0)+40>>2]|0){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[k>>2]|0))break;if((c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0)){c[s>>2]=(c[s>>2]|0)+(c[(c[j>>2]|0)+((c[m>>2]|0)*24|0)+16>>2]|0);c[t>>2]=(c[t>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}if((c[s>>2]|0)==0|(c[t>>2]|0)<2){c[f>>2]=0;A=c[f>>2]|0;i=B;return A|0}c[z>>2]=mp(c[g>>2]|0,o)|0;c[m>>2]=0;while(1){if(!((c[m>>2]|0)<(c[t>>2]|0)?(c[z>>2]|0)==0:0))break;c[v>>2]=0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[k>>2]|0))break;do if((c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+8>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+12>>2]|0)==(c[h>>2]|0):0){if((c[v>>2]|0)!=0?(c[(c[j>>2]|0)+((c[l>>2]|0)*24|0)+16>>2]|0)>=(c[(c[v>>2]|0)+16>>2]|0):0)break;c[v>>2]=(c[j>>2]|0)+((c[l>>2]|0)*24|0)}while(0);c[l>>2]=(c[l>>2]|0)+1}if((c[m>>2]|0)!=0?(c[(c[v>>2]|0)+16>>2]|0)>=(_(((c[r>>2]|0)+((c[q>>2]|0)/4|0)-1|0)/((c[q>>2]|0)/4|0|0)|0,c[o>>2]|0)|0):0){c[x>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=np(c[g>>2]|0,c[x>>2]|0,c[(c[v>>2]|0)+20>>2]|0)|0;mn(c[(c[x>>2]|0)+20>>2]|0);c[(c[x>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[m>>2]|0)<12)c[q>>2]=c[q>>2]<<2;if(c[m>>2]|0){if((c[(c[c[v>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[m>>2]|0)==((c[t>>2]|0)-1|0))break}c[y>>2]=c[(c[v>>2]|0)+8>>2];c[p>>2]=0;c[u>>2]=0;c[z>>2]=en(c[w>>2]|0,c[y>>2]|0,c[(c[v>>2]|0)+20>>2]|0,p,u)|0;if(!(c[z>>2]|0))c[z>>2]=fn(c[w>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,c[u>>2]|0,c[p>>2]|0)|0;if(!(c[z>>2]|0)){c[n>>2]=op(c[c[c[v>>2]>>2]>>2]|0,c[(c[c[v>>2]>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)!=0?(c[n>>2]|0)>=(c[r>>2]|0):0)break;c[r>>2]=c[n>>2]}}while(0);c[(c[v>>2]|0)+8>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[f>>2]=c[z>>2];A=c[f>>2]|0;i=B;return A|0}function lp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;l=m+12|0;h=m+8|0;k=m+4|0;j=m;c[g>>2]=b;c[l>>2]=e;c[h>>2]=f;if(!(c[l>>2]|0)){i=m;return}if(c[c[h>>2]>>2]|0){i=m;return}if((c[c[l>>2]>>2]|0)!=5){lp(c[g>>2]|0,c[(c[l>>2]|0)+12>>2]|0,c[h>>2]|0);lp(c[g>>2]|0,c[(c[l>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[l>>2]|0)+12>>2]|0)+34>>0]|0)g=(d[(c[(c[l>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else g=0;a[(c[l>>2]|0)+34>>0]=g&1;i=m;return}c[k>>2]=c[(c[(c[l>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;if(!(c[(c[(c[l>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[l>>2]|0)+34>>0]=(c[j>>2]|0)==(c[k>>2]|0)}l=bn(c[g>>2]|0,1,c[(c[l>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=l;i=m;return}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;d=o+44|0;e=o+40|0;f=o+36|0;n=o+32|0;k=o+28|0;m=o+24|0;j=o+8|0;h=o;l=o+20|0;g=o+16|0;c[e>>2]=a;c[f>>2]=b;if(!(c[(c[e>>2]|0)+60>>2]|0)){c[k>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[n>>2]=Nn(c[k>>2]|0,m)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}c[g>>2]=Ae(c[m>>2]|0,0)|0;b=Be(c[m>>2]|0,0)|0;c[l>>2]=(c[g>>2]|0)+b;b=Yl(c[g>>2]|0,j)|0;c[g>>2]=(c[g>>2]|0)+b;while(1){if((c[g>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;b=Yl(c[g>>2]|0,h)|0;c[g>>2]=(c[g>>2]|0)+b}l=j;b=h;if((c[l>>2]|0)==0&(c[l+4>>2]|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0){Zd(c[m>>2]|0)|0;c[d>>2]=267;n=c[d>>2]|0;i=o;return n|0}a=j;b=c[a+4>>2]|0;l=(c[e>>2]|0)+64|0;c[l>>2]=c[a>>2];c[l+4>>2]=b;l=h;b=j;b=yR(c[l>>2]|0,c[l+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;l=c[(c[k>>2]|0)+236>>2]|0;l=pR(b|0,C|0,l|0,((l|0)<0)<<31>>31|0)|0;b=c[(c[k>>2]|0)+236>>2]|0;b=yR(l|0,C|0,b|0,((b|0)<0)<<31>>31|0)|0;c[(c[e>>2]|0)+60>>2]=b;c[n>>2]=Zd(c[m>>2]|0)|0;if(c[n>>2]|0){c[d>>2]=c[n>>2];n=c[d>>2]|0;i=o;return n|0}}c[c[f>>2]>>2]=c[(c[e>>2]|0)+60>>2];c[d>>2]=0;n=c[d>>2]|0;i=o;return n|0}function np(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=Id(16)|0;if(c[j>>2]|0){b=c[j>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[j>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[j>>2];c[(c[g>>2]|0)+16>>2]=c[j>>2];c[e>>2]=0;b=c[e>>2]|0;i=k;return b|0}else{c[e>>2]=7;b=c[e>>2]|0;i=k;return b|0}return 0}function op(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(!(c[e>>2]|0)){j=c[h>>2]|0;i=k;return j|0}c[g>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[j>>2]=c[e>>2];while(1){if((c[j>>2]|0)>>>0>=(c[g>>2]|0)>>>0)break;c[h>>2]=(c[h>>2]|0)+1;do{d=c[j>>2]|0;c[j>>2]=d+1}while((a[d>>0]&128|0)!=0);bm(0,j)}j=c[h>>2]|0;i=k;return j|0}function pp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+48|0;r=q+44|0;f=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;g=q+24|0;p=q+20|0;m=q+16|0;l=q+12|0;h=q;j=q+8|0;c[r>>2]=a;c[f>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[m>>2]=c[(c[k>>2]|0)+236>>2];c[g>>2]=0;while(1){if(c[p>>2]|0){f=13;break}if((c[g>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0)){f=13;break}c[l>>2]=c[(c[c[f>>2]>>2]|0)+(c[g>>2]<<2)>>2];a:do if((c[(c[l>>2]|0)+56>>2]|0)==0?(d[(c[l>>2]|0)+5>>0]|0|0)==0:0){b=(c[l>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[l>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=em(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,j,0)|0;if(c[p>>2]|0)break a;if(((c[j>>2]|0)+35|0)>(c[m>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[j>>2]|0)+34|0)/(c[m>>2]|0)|0);e=h;e=pR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=C}}while(0);c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[c[n>>2]>>2]=c[o>>2];i=q;return c[p>>2]|0}return 0}function qp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;g=r+36|0;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;p=r+16|0;q=r+12|0;n=r+8|0;m=r+4|0;o=r;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[q>>2]=7;c[p>>2]=Id(56)|0;if(!(c[p>>2]|0)){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[m>>2]=0;c[o>>2]=c[c[g>>2]>>2];a:do if(c[k>>2]|0){c[n>>2]=1;while(1){if(c[m>>2]|0)break;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==(c[j>>2]|0)){c[m>>2]=1;c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=1}c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=1;while(1){if(c[m>>2]|0)break a;if((c[n>>2]|0)>=(c[(c[o>>2]|0)+248>>2]|0))break a;if((c[(c[(c[o>>2]|0)+252>>2]|0)+((c[n>>2]|0)*24|0)>>2]|0)==((c[j>>2]|0)+1|0)?(c[m>>2]=1,c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[n>>2]|0,-2,c[h>>2]|0,c[j>>2]|0,1,0,c[p>>2]|0)|0,(c[q>>2]|0)==0):0)c[q>>2]=rp(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[j>>2]|0,c[p>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[m>>2]|0){f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}c[q>>2]=ol(c[o>>2]|0,c[(c[g>>2]|0)+16>>2]|0,0,-2,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,0,c[p>>2]|0)|0;c[(c[p>>2]|0)+36>>2]=((c[k>>2]|0)!=0^1)&1;f=c[p>>2]|0;b=c[l>>2]|0;c[b>>2]=f;b=c[q>>2]|0;i=r;return b|0}function rp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;m=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;h=g;c[m>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[h>>2]=f;d=hm(c[m>>2]|0,c[l>>2]|0,0,-2,c[k>>2]|0,c[j>>2]|0,0,0,c[h>>2]|0)|0;i=g;return d|0}function sp(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=i;i=i+96|0;l=y+80|0;m=y+76|0;n=y+72|0;o=y+68|0;p=y+64|0;q=y+60|0;r=y+56|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;d=x;e=d+36|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));c[x>>2]=c[m>>2];c[x+4>>2]=c[n>>2];c[x+8>>2]=c[o>>2];c[x+16>>2]=c[q>>2];c[x+20>>2]=c[r>>2];c[x+12>>2]=c[p>>2];if(!(c[s>>2]|0)){c[c[u>>2]>>2]=0;c[l>>2]=0;x=c[l>>2]|0;i=y;return x|0}if((c[t>>2]|0)<0)c[t>>2]=KQ(c[s>>2]|0)|0;c[w>>2]=vp(x,c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,v)|0;if((c[w>>2]|0)==0?(c[x+32>>2]|0)!=0:0)c[w>>2]=1;c[l>>2]=c[w>>2];x=c[l>>2]|0;i=y;return x|0}function tp(a,b){a=a|0;b=b|0;var 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;t=i;i=i+64|0;f=t+52|0;g=t+48|0;r=t+44|0;q=t+40|0;o=t+36|0;j=t+32|0;h=t+28|0;k=t+24|0;m=t+20|0;l=t+16|0;p=t+12|0;n=t+8|0;d=t+4|0;e=t;c[f>>2]=a;c[g>>2]=b;c[r>>2]=0;c[q>>2]=c[c[f>>2]>>2];c[o>>2]=0;c[j>>2]=c[c[q>>2]>>2];if(!(c[g>>2]|0))c[r>>2]=1;do if(!(c[r>>2]|0)){if(!((c[j>>2]|0)==3|(c[j>>2]|0)==4)){if((c[j>>2]|0)!=2)break;c[d>>2]=c[(c[q>>2]|0)+12>>2];c[e>>2]=c[(c[q>>2]|0)+16>>2];c[(c[q>>2]|0)+12>>2]=0;c[(c[q>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[r>>2]=tp(d,(c[g>>2]|0)-1|0)|0;if(!(c[r>>2]|0))c[r>>2]=tp(e,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0){ep(c[e>>2]|0);ep(c[d>>2]|0);break}else{c[(c[q>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[q>>2];break}}c[h>>2]=Id(c[g>>2]<<2)|0;if(!(c[h>>2]|0))c[r>>2]=7;else tR(c[h>>2]|0,0,c[g>>2]<<2|0)|0;if(!(c[r>>2]|0)){c[m>>2]=c[q>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}while(1){c[p>>2]=c[(c[m>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;if(c[p>>2]|0)c[(c[p>>2]|0)+12>>2]=0;else c[q>>2]=0;c[r>>2]=tp(m,(c[g>>2]|0)-1|0)|0;if(c[r>>2]|0)break;c[l>>2]=0;while(1){if(!(c[m>>2]|0))break;if((c[l>>2]|0)>=(c[g>>2]|0))break;if(!(c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]|0)){c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=c[m>>2];c[m>>2]=0}else{c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[l>>2]<<2)>>2];c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+(c[l>>2]<<2)>>2]=0}c[l>>2]=(c[l>>2]|0)+1}if(c[m>>2]|0){s=24;break}if(!(c[p>>2]|0))break;c[m>>2]=c[(c[p>>2]|0)+16>>2];while(1){if((c[c[m>>2]>>2]|0)!=(c[j>>2]|0))break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2]=c[(c[p>>2]|0)+8>>2];b=c[(c[p>>2]|0)+16>>2]|0;if(c[(c[p>>2]|0)+8>>2]|0)c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]=b;else c[q>>2]=b;c[(c[p>>2]|0)+8>>2]=c[o>>2];c[o>>2]=c[p>>2]}if((s|0)==24){ep(c[m>>2]|0);c[r>>2]=18}a:do if(!(c[r>>2]|0)){c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;do if(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)if(!(c[m>>2]|0)){c[m>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[m>>2]|0)+8>>2]=0;break}else{c[(c[o>>2]|0)+16>>2]=c[m>>2];c[(c[o>>2]|0)+12>>2]=c[(c[h>>2]|0)+(c[k>>2]<<2)>>2];c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2]=c[o>>2];c[(c[(c[o>>2]|0)+16>>2]|0)+8>>2]=c[o>>2];c[m>>2]=c[o>>2];c[o>>2]=c[(c[o>>2]|0)+8>>2];c[(c[m>>2]|0)+8>>2]=0;break}while(0);c[k>>2]=(c[k>>2]|0)+1}c[q>>2]=c[m>>2]}else{c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;ep(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}while(1){s=c[o>>2]|0;c[n>>2]=s;if(!s)break a;c[o>>2]=c[(c[n>>2]|0)+8>>2];Kd(c[n>>2]|0)}}while(0);Kd(c[h>>2]|0)}}while(0);if(!(c[r>>2]|0)){q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}ep(c[q>>2]|0);c[q>>2]=0;q=c[q>>2]|0;s=c[f>>2]|0;c[s>>2]=q;s=c[r>>2]|0;i=t;return s|0}function up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=up(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=up(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);i=g;return c[f>>2]|0}function vp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=i;i=i+80|0;g=x+64|0;y=x+60|0;o=x+56|0;p=x+52|0;q=x+48|0;v=x+44|0;m=x+40|0;u=x+36|0;s=x+32|0;n=x+28|0;w=x+24|0;r=x+20|0;t=x+16|0;k=x+12|0;j=x+8|0;h=x+4|0;l=x;c[g>>2]=a;c[y>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[v>>2]=0;c[m>>2]=0;c[u>>2]=0;c[s>>2]=c[o>>2];c[n>>2]=c[y>>2];c[w>>2]=0;c[r>>2]=1;while(1){if(c[w>>2]|0){d=25;break}c[t>>2]=0;c[k>>2]=0;c[w>>2]=wp(c[g>>2]|0,c[n>>2]|0,c[s>>2]|0,t,k)|0;if((c[w>>2]|0)==0&(c[t>>2]|0)!=0){c[h>>2]=c[c[t>>2]>>2];if((c[h>>2]|0)==5)d=1;else d=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=d&1;if((c[j>>2]|0)==0&(c[r>>2]|0)!=0){d=7;break}if(!((c[j>>2]|0)==0|(c[r>>2]|0)!=0)){c[l>>2]=xp(48)|0;if(!(c[l>>2]|0)){d=10;break}c[c[l>>2]>>2]=3;yp(v,c[m>>2]|0,c[l>>2]|0);c[m>>2]=c[l>>2]}if(c[m>>2]|0){if(!((c[h>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[m>>2]>>2]|0)!=5:0){d=17;break}if((c[h>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[m>>2]>>2]|0)==1:0){d=17;break}}do if(c[j>>2]|0){d=c[t>>2]|0;if(c[v>>2]|0){c[(c[m>>2]|0)+16>>2]=d;c[(c[t>>2]|0)+8>>2]=c[m>>2];break}else{c[v>>2]=d;break}}else yp(v,c[m>>2]|0,c[t>>2]|0);while(0);c[r>>2]=((c[j>>2]|0)!=0^1)&1;c[m>>2]=c[t>>2]}c[s>>2]=(c[s>>2]|0)-(c[k>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}if((d|0)==7){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==10){ep(c[t>>2]|0);c[w>>2]=7}else if((d|0)==17){ep(c[t>>2]|0);c[w>>2]=1}else if((d|0)==25){if((c[w>>2]|0)==101&(c[v>>2]|0)!=0&(c[r>>2]|0)!=0)c[w>>2]=1;if((c[w>>2]|0)==101)c[w>>2]=0;c[c[q>>2]>>2]=(c[o>>2]|0)-(c[s>>2]|0)}if(!(c[w>>2]|0)){v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}ep(c[v>>2]|0);ep(c[u>>2]|0);c[v>>2]=0;v=c[v>>2]|0;y=c[p>>2]|0;c[y>>2]=v;y=c[w>>2]|0;i=x;return y|0}function wp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+80|0;p=E+72|0;q=E+68|0;r=E+64|0;s=E+60|0;t=E+56|0;u=E+52|0;x=E+48|0;v=E+44|0;w=E+40|0;A=E+36|0;o=E+32|0;B=E+28|0;y=E+24|0;n=E+20|0;m=E+16|0;l=E+12|0;j=E+76|0;k=E+8|0;C=E+4|0;z=E;c[q>>2]=b;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=h;c[o>>2]=0;c[B>>2]=c[r>>2];c[y>>2]=c[s>>2];c[(c[q>>2]|0)+24>>2]=0;while(1){if((c[y>>2]|0)>0)b=(Ap(a[c[B>>2]>>0]|0)|0)!=0;else b=0;f=c[y>>2]|0;if(!b)break;c[y>>2]=f+-1;c[B>>2]=(c[B>>2]|0)+1}if(!f){c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=4)break;c[n>>2]=2092+(c[x>>2]<<3);if(((d[(c[n>>2]|0)+5>>0]&-2|0)==0?(c[y>>2]|0)>=(d[(c[n>>2]|0)+4>>0]|0):0)?0==(EQ(c[B>>2]|0,c[c[n>>2]>>2]|0,d[(c[n>>2]|0)+4>>0]|0)|0):0){c[m>>2]=10;c[l>>2]=d[(c[n>>2]|0)+4>>0];a:do if((((d[(c[n>>2]|0)+6>>0]|0)==1?(a[(c[B>>2]|0)+4>>0]|0)==47:0)?(a[(c[B>>2]|0)+5>>0]|0)>=48:0)?(a[(c[B>>2]|0)+5>>0]|0)<=57:0){c[m>>2]=0;c[l>>2]=5;while(1){if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)<48)break a;if((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)>57)break a;c[m>>2]=((c[m>>2]|0)*10|0)+((a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0)-48);c[l>>2]=(c[l>>2]|0)+1}}while(0);a[j>>0]=a[(c[B>>2]|0)+(c[l>>2]|0)>>0]|0;if(Ap(a[j>>0]|0)|0){D=26;break}if((a[j>>0]|0)==34){D=26;break}if((a[j>>0]|0)==40){D=26;break}if((a[j>>0]|0)==41){D=26;break}if(!(a[j>>0]|0)){D=26;break}}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==26){c[o>>2]=xp(48)|0;if(c[o>>2]|0){c[c[o>>2]>>2]=d[(c[n>>2]|0)+6>>0];c[(c[o>>2]|0)+4>>2]=c[m>>2];c[c[t>>2]>>2]=c[o>>2];c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[l>>2]|0);c[p>>2]=0;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=7;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==34){c[x>>2]=1;while(1){if((c[x>>2]|0)>=(c[y>>2]|0))break;if((a[(c[B>>2]|0)+(c[x>>2]|0)>>0]|0)==34)break;c[x>>2]=(c[x>>2]|0)+1}c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[x>>2]|0)+1;if((c[x>>2]|0)==(c[y>>2]|0)){c[p>>2]=1;D=c[p>>2]|0;i=E;return D|0}else{c[p>>2]=Bp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[x>>2]|0)-1|0,c[t>>2]|0)|0;D=c[p>>2]|0;i=E;return D|0}}if((a[c[B>>2]>>0]|0)==40){c[k>>2]=0;D=(c[q>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[A>>2]=vp(c[q>>2]|0,(c[B>>2]|0)+1|0,(c[y>>2]|0)-1|0,c[t>>2]|0,k)|0;if((c[A>>2]|0)==0?(c[c[t>>2]>>2]|0)==0:0)c[A>>2]=101;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1+(c[k>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}f=c[q>>2]|0;if((a[c[B>>2]>>0]|0)==41){D=f+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[u>>2]>>2]=(c[B>>2]|0)-(c[r>>2]|0)+1;c[c[t>>2]>>2]=0;c[p>>2]=101;D=c[p>>2]|0;i=E;return D|0}c[v>>2]=c[f+20>>2];c[w>>2]=0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[q>>2]|0)+16>>2]|0))break;c[C>>2]=c[(c[(c[q>>2]|0)+8>>2]|0)+(c[x>>2]<<2)>>2];c[z>>2]=KQ(c[C>>2]|0)|0;if(((c[y>>2]|0)>(c[z>>2]|0)?(a[(c[B>>2]|0)+(c[z>>2]|0)>>0]|0)==58:0)?(zd(c[C>>2]|0,c[B>>2]|0,c[z>>2]|0)|0)==0:0){D=50;break}c[x>>2]=(c[x>>2]|0)+1}if((D|0)==50){c[v>>2]=c[x>>2];c[w>>2]=(c[B>>2]|0)-(c[r>>2]|0)+(c[z>>2]|0)+1}c[A>>2]=Cp(c[q>>2]|0,c[v>>2]|0,(c[r>>2]|0)+(c[w>>2]|0)|0,(c[s>>2]|0)-(c[w>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;D=c[u>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[w>>2]|0);c[p>>2]=c[A>>2];D=c[p>>2]|0;i=E;return D|0}function xp(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Id(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;i=e;return d|0}tR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;i=e;return d|0}function yp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=c[j>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){d=zp(c[(c[g>>2]|0)+8>>2]|0)|0;d=(d|0)<=(zp(c[f>>2]|0)|0)}else d=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!d)break;c[g>>2]=b}d=c[f>>2]|0;if(b){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=d;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}else{c[c[e>>2]>>2]=d;e=c[g>>2]|0;j=c[f>>2]|0;j=j+12|0;c[j>>2]=e;f=c[f>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=f;i=h;return}}function zp(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return c[c[b>>2]>>2]|0}function Ap(b){b=b|0;var c=0,d=0;d=i;i=i+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)c=(a[c>>0]|0)==12;else c=1;i=d;return c&1|0}function Bp(b,d,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+96|0;g=D+88|0;h=D+84|0;j=D+80|0;k=D+76|0;l=D+72|0;E=D+68|0;w=D+64|0;y=D+60|0;u=D+56|0;v=D+52|0;B=D+48|0;s=D+44|0;t=D+36|0;p=D+32|0;A=D+28|0;r=D+24|0;m=D+20|0;n=D+16|0;o=D+12|0;x=D+8|0;q=D+4|0;z=D;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[E>>2]=c[c[h>>2]>>2];c[w>>2]=c[c[E>>2]>>2];c[u>>2]=0;c[v>>2]=0;c[B>>2]=0;c[s>>2]=0;c[D+40>>2]=144;c[t>>2]=0;c[y>>2]=An(c[E>>2]|0,c[(c[h>>2]|0)+4>>2]|0,c[j>>2]|0,c[k>>2]|0,v)|0;a:do if(!(c[y>>2]|0)){c[p>>2]=0;while(1){if(c[y>>2]|0)break;c[r>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[y>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,r,m,n,o)|0;if(!(c[y>>2]|0)){c[u>>2]=Dp(c[u>>2]|0,144+((c[p>>2]|0)*24|0)|0)|0;if(!(c[u>>2]|0))break a;c[B>>2]=Dp(c[B>>2]|0,(c[s>>2]|0)+(c[r>>2]|0)|0)|0;if(!(c[B>>2]|0))break a;c[x>>2]=(c[u>>2]|0)+48+72+((c[p>>2]|0)*24|0);E=c[x>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;rR((c[B>>2]|0)+(c[s>>2]|0)|0,c[A>>2]|0,c[r>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+(c[r>>2]|0);c[(c[x>>2]|0)+4>>2]=c[r>>2];if((c[n>>2]|0)<(c[k>>2]|0))e=(a[(c[j>>2]|0)+(c[n>>2]|0)>>0]|0)==42;else e=0;c[(c[x>>2]|0)+8>>2]=e&1;if((c[m>>2]|0)>0)e=(a[(c[j>>2]|0)+((c[m>>2]|0)-1)>>0]|0)==94;else e=0;c[(c[x>>2]|0)+12>>2]=e&1;c[t>>2]=(c[p>>2]|0)+1}c[p>>2]=(c[p>>2]|0)+1}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;c[v>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[y>>2]|0)==101){c[z>>2]=0;c[u>>2]=Dp(c[u>>2]|0,144+((c[t>>2]|0)*24|0)+(c[s>>2]|0)|0)|0;if(!(c[u>>2]|0))break;tR(c[u>>2]|0,0,(c[u>>2]|0)+48+72-(c[u>>2]|0)|0)|0;c[c[u>>2]>>2]=5;c[(c[u>>2]|0)+20>>2]=(c[u>>2]|0)+48;c[(c[(c[u>>2]|0)+20>>2]|0)+68>>2]=c[(c[h>>2]|0)+20>>2];c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]=c[t>>2];c[z>>2]=(c[(c[u>>2]|0)+20>>2]|0)+72+((c[t>>2]|0)*24|0);if(c[B>>2]|0){rR(c[z>>2]|0,c[B>>2]|0,c[s>>2]|0)|0;Kd(c[B>>2]|0)}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[(c[u>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)>>2]=c[z>>2];c[z>>2]=(c[z>>2]|0)+(c[(c[(c[u>>2]|0)+20>>2]|0)+72+((c[q>>2]|0)*24|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}c[y>>2]=0}c[c[l>>2]>>2]=c[u>>2];c[g>>2]=c[y>>2];E=c[g>>2]|0;i=D;return E|0}while(0);if(c[v>>2]|0)Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;Kd(c[B>>2]|0);Kd(c[u>>2]|0);c[c[l>>2]>>2]=0;c[g>>2]=7;E=c[g>>2]|0;i=D;return E|0}function Cp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+80|0;j=B+68|0;k=B+64|0;l=B+60|0;m=B+56|0;n=B+52|0;o=B+48|0;y=B+44|0;w=B+40|0;z=B+36|0;v=B+32|0;x=B+28|0;p=B+24|0;A=B+20|0;u=B+16|0;s=B+12|0;q=B+8|0;r=B+4|0;t=B;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[y>>2]=c[c[j>>2]>>2];c[w>>2]=c[c[y>>2]>>2];c[x>>2]=0;c[p>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[m>>2]|0))break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==40)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==41)break;if((a[(c[l>>2]|0)+(c[p>>2]|0)>>0]|0)==34)break;c[p>>2]=(c[p>>2]|0)+1}c[c[o>>2]>>2]=c[p>>2];c[z>>2]=An(c[y>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0,c[p>>2]|0,v)|0;if(c[z>>2]|0){e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}c[u>>2]=0;c[s>>2]=0;c[q>>2]=0;c[r>>2]=0;c[z>>2]=Sb[c[(c[w>>2]|0)+20>>2]&255](c[v>>2]|0,A,u,s,q,r)|0;if(c[z>>2]|0){if((c[p>>2]|0)!=0&(c[z>>2]|0)==101)c[z>>2]=0}else{c[t>>2]=144+(c[u>>2]|0);c[x>>2]=xp(c[t>>2]|0)|0;a:do if(c[x>>2]|0){c[c[x>>2]>>2]=5;c[(c[x>>2]|0)+20>>2]=(c[x>>2]|0)+48;c[(c[(c[x>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[x>>2]|0)+20>>2]|0)+68>>2]=c[k>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72+4>>2]=c[u>>2];c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]=(c[(c[x>>2]|0)+20>>2]|0)+96;rR(c[(c[(c[x>>2]|0)+20>>2]|0)+72>>2]|0,c[A>>2]|0,c[u>>2]|0)|0;if((c[q>>2]|0)<(c[m>>2]|0)?(a[(c[l>>2]|0)+(c[q>>2]|0)>>0]|0)==42:0){c[(c[(c[x>>2]|0)+20>>2]|0)+72+8>>2]=1;c[q>>2]=(c[q>>2]|0)+1}while(1){if(!((c[s>>2]|0)>0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[l>>2]|0)+((c[s>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[x>>2]|0)+20>>2]|0)+72+12>>2]=1;c[s>>2]=(c[s>>2]|0)+-1}}else c[z>>2]=7;while(0);c[c[o>>2]>>2]=c[q>>2]}Tb[c[(c[w>>2]|0)+16>>2]&255](c[v>>2]|0)|0;e=c[x>>2]|0;A=c[n>>2]|0;c[A>>2]=e;A=c[z>>2]|0;i=B;return A|0}function Dp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Ld(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;i=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;i=f;return g|0}function Ep(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Fp(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);i=b;return}function Fp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){i=f;return}Kd(c[c[d>>2]>>2]|0);Tm(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;mn(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}i=f;return}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];il(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;i=f;return}function Hp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((lf()|0)<3008002){i=g;return}d=f;f=c[d+4>>2]|0;a=(c[e>>2]|0)+48|0;c[a>>2]=c[d>>2];c[a+4>>2]=f;i=g;return}function Ip(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if((lf()|0)<3008012){i=d;return}a=(c[b>>2]|0)+56|0;c[a>>2]=c[a>>2]|1;i=d;return} +function Zv(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=i;i=i+256|0;q=oa;X=oa+244|0;Y=oa+240|0;Z=oa+236|0;_=oa+232|0;K=oa+228|0;da=oa+224|0;C=oa+220|0;ka=oa+216|0;ba=oa+212|0;x=oa+208|0;na=oa+204|0;ia=oa+200|0;ja=oa+196|0;v=oa+192|0;t=oa+188|0;ea=oa+184|0;ga=oa+180|0;ca=oa+176|0;L=oa+172|0;aa=oa+168|0;$=oa+164|0;y=oa+254|0;B=oa+253|0;O=oa+252|0;z=oa+160|0;ma=oa+152|0;p=oa+120|0;l=oa+112|0;R=oa+108|0;P=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;S=oa+88|0;G=oa+84|0;D=oa+80|0;fa=oa+76|0;Q=oa+72|0;s=oa+64|0;la=oa+56|0;V=oa+52|0;U=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;T=oa+32|0;n=oa+28|0;o=oa+24|0;m=oa+250|0;u=oa+20|0;w=oa+248|0;r=oa+16|0;E=oa+12|0;M=oa+8|0;N=oa+4|0;c[X>>2]=f;c[Y>>2]=g;c[Z>>2]=h;c[_>>2]=j;c[K>>2]=k;c[ba>>2]=0;c[L>>2]=0;c[aa>>2]=0;c[z>>2]=0;c[fa>>2]=0;c[Q>>2]=0;c[la>>2]=0;c[V>>2]=0;c[U>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[T>>2]=0;c[ma>>2]=0;c[ma+4>>2]=0;c[ca>>2]=c[c[X>>2]>>2];if(c[(c[X>>2]|0)+68>>2]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(d[(c[ca>>2]|0)+69>>0]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[ka>>2]=JB(c[X>>2]|0,c[Y>>2]|0)|0;if(!(c[ka>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[l>>2]=Fh(c[c[X>>2]>>2]|0,c[(c[ka>>2]|0)+64>>2]|0)|0;c[S>>2]=yC(c[X>>2]|0,c[ka>>2]|0,110,c[Z>>2]|0,G)|0;c[H>>2]=(c[(c[ka>>2]|0)+12>>2]|0)!=0&1;if(Fx(c[X>>2]|0,c[ka>>2]|0)|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(zC(c[X>>2]|0,c[ka>>2]|0,c[G>>2]|0)|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}g=(c[X>>2]|0)+72|0;j=c[g>>2]|0;c[g>>2]=j+1;c[ea>>2]=j;c[t>>2]=j;c[(c[Y>>2]|0)+8+44>>2]=j;c[ga>>2]=(c[ea>>2]|0)+1;if(!(d[(c[ka>>2]|0)+42>>0]&32))k=0;else k=Hj(c[ka>>2]|0)|0;c[ja>>2]=k;c[v>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if((c[ja>>2]|0)!=0?(a[(c[ia>>2]|0)+55>>0]&3|0)==2:0){c[ea>>2]=c[(c[X>>2]|0)+72>>2];c[(c[Y>>2]|0)+8+44>>2]=c[ea>>2]}j=(c[X>>2]|0)+72|0;c[j>>2]=(c[j>>2]|0)+1;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}c[aa>>2]=Lw(c[ca>>2]|0,((b[(c[ka>>2]|0)+34>>1]|0)+(c[v>>2]|0)<<2)+(c[v>>2]|0)+2|0,0)|0;if(!(c[aa>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[L>>2]=(c[aa>>2]|0)+(b[(c[ka>>2]|0)+34>>1]<<2);c[$>>2]=(c[L>>2]|0)+(c[v>>2]<<2);tR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;a[(c[$>>2]|0)+((c[v>>2]|0)+1)>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[X>>2];c[p+4>>2]=c[Y>>2];a[y>>0]=0;a[B>>0]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[c[Z>>2]>>2]|0)){J=41;break}if(ly(p,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]|0)|0){J=185;break}c[C>>2]=0;while(1){if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;j=(ig(c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[C>>2]|0;if(j){J=23;break}c[C>>2]=k+1}if((J|0)==23){J=0;if((k|0)!=(b[(c[ka>>2]|0)+32>>1]|0)){if((c[ja>>2]|0)!=0?(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)+15>>0]&1|0)!=0:0)a[y>>0]=1}else{a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=c[da>>2]}if((c[C>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0)){if(c[ja>>2]|0){J=34;break}if(!(si(c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[C>>2]=-1;a[B>>0]=1;c[z>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)>>2]}if((c[C>>2]|0)<0)k=20503;else k=c[(c[(c[ka>>2]|0)+4>>2]|0)+(c[C>>2]<<4)>>2]|0;c[n>>2]=Sw(c[X>>2]|0,23,c[c[ka>>2]>>2]|0,k,c[(c[(c[ca>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1){J=185;break}if((c[n>>2]|0)==2)c[(c[aa>>2]|0)+(c[C>>2]<<2)>>2]=-1;c[da>>2]=(c[da>>2]|0)+1}if((J|0)==34){na=c[X>>2]|0;c[q>>2]=c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[da>>2]|0)*20|0)+4>>2];Ch(na,24752,q);a[(c[X>>2]|0)+17>>0]=1;_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}else if((J|0)==41){a[O>>0]=(d[B>>0]|0)+(d[y>>0]|0);n=(d[(c[ka>>2]|0)+42>>0]&16|0)!=0;q=(c[Y>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[P>>2]=KE(c[X>>2]|0,c[ka>>2]|0,c[aa>>2]|0,d[O>>0]|0)|0;c[C>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;a:do if((!((d[O>>0]|0)!=0|(c[P>>2]|0)!=0)?(c[(c[ia>>2]|0)+36>>2]|0)==0:0)?(c[ia>>2]|0)!=(c[ja>>2]|0):0){c[o>>2]=0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(e[(c[ia>>2]|0)+50>>1]|0))break a;b[m>>1]=b[(c[(c[ia>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0;if((b[m>>1]|0)<0)break;if((c[(c[aa>>2]|0)+(b[m>>1]<<2)>>2]|0)>=0)break;c[da>>2]=(c[da>>2]|0)+1}n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[X>>2]|0)+76|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[$>>2]|0)+((c[C>>2]|0)+1)>>0]=0;c[(c[L>>2]|0)+(c[C>>2]<<2)>>2]=c[o>>2];c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[C>>2]=(c[C>>2]|0)+1}c[na>>2]=Vw(c[X>>2]|0)|0;if(!(c[na>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(!(d[(c[X>>2]|0)+18>>0]|0))AC(c[na>>2]|0);gx(c[X>>2]|0,1,c[l>>2]|0);if(!(d[(c[ka>>2]|0)+42>>0]&16)){q=(c[X>>2]|0)+76|0;o=(c[q>>2]|0)+1|0;c[q>>2]=o;c[A>>2]=o;o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q;c[V>>2]=q;if((d[y>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){c[F>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if((d[O>>0]|0)!=0|(c[S>>2]|0)!=0|(c[P>>2]|0)!=0){o=(c[X>>2]|0)+76|0;q=(c[o>>2]|0)+1|0;c[o>>2]=q;c[U>>2]=q}c[I>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[(c[ka>>2]|0)+34>>1]|0)}if(c[H>>2]|0)WF(c[X>>2]|0,ma,c[c[ka>>2]>>2]|0);if(c[H>>2]|0)XF(c[X>>2]|0,c[ka>>2]|0,c[_>>2]|0,c[ea>>2]|0);if(ly(p,c[_>>2]|0)|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(d[(c[ka>>2]|0)+42>>0]&16){YF(c[X>>2]|0,c[Y>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[z>>2]|0,c[aa>>2]|0,c[_>>2]|0,c[K>>2]|0);_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(!(d[(c[ka>>2]|0)+42>>0]&32)){$w(c[na>>2]|0,25,0,c[A>>2]|0,c[V>>2]|0)|0;c[x>>2]=XC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[R>>2]=ZF(c[x>>2]|0,s)|0;Xw(c[na>>2]|0,103,c[ea>>2]|0,c[V>>2]|0)|0;if(!(c[R>>2]|0))Xw(c[na>>2]|0,129,c[A>>2]|0,c[V>>2]|0)|0;YC(c[x>>2]|0)}else{b[w>>1]=b[(c[ja>>2]|0)+50>>1]|0;c[u>>2]=(c[(c[X>>2]|0)+76>>2]|0)+1;q=(c[X>>2]|0)+76|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[X>>2]|0)+76|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[T>>2]=p;p=(c[X>>2]|0)+72|0;q=c[p>>2]|0;c[p>>2]=q+1;c[fa>>2]=q;Xw(c[na>>2]|0,25,0,c[u>>2]|0)|0;c[r>>2]=Xw(c[na>>2]|0,57,c[fa>>2]|0,b[w>>1]|0)|0;Gz(c[X>>2]|0,c[ja>>2]|0);c[x>>2]=XC(c[X>>2]|0,c[Y>>2]|0,c[_>>2]|0,0,0,4,c[ga>>2]|0)|0;if(!(c[x>>2]|0)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}c[R>>2]=ZF(c[x>>2]|0,s)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[w>>1]|0))break;zA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,b[(c[(c[ja>>2]|0)+4>>2]|0)+(c[da>>2]<<1)>>1]|0,(c[u>>2]|0)+(c[da>>2]|0)|0);c[da>>2]=(c[da>>2]|0)+1}k=c[na>>2]|0;if(c[R>>2]|0){vA(k,c[r>>2]|0)|0;c[Q>>2]=b[w>>1];c[T>>2]=c[u>>2]}else{p=c[u>>2]|0;q=b[w>>1]|0;r=c[T>>2]|0;u=iC(c[ca>>2]|0,c[ja>>2]|0)|0;_w(k,49,p,q,r,u,b[w>>1]|0)|0;Xw(c[na>>2]|0,110,c[fa>>2]|0,c[T>>2]|0)|0}YC(c[x>>2]|0)}if((c[(c[ca>>2]|0)+24>>2]&128|0)!=0?(c[(c[X>>2]|0)+420>>2]|0)==0:0){w=(c[X>>2]|0)+76|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[la>>2]=x;Xw(c[na>>2]|0,22,0,c[la>>2]|0)|0}c[ha>>2]=Iz(c[na>>2]|0)|0;if(!(c[H>>2]|0)){b:do if((c[K>>2]|0)==5)tR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0;else{c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break b;if((d[(c[ia>>2]|0)+54>>0]|0)==5)break;c[ia>>2]=c[(c[ia>>2]|0)+20>>2]}tR(c[$>>2]|0,1,(c[v>>2]|0)+1|0)|0}while(0);do if(c[R>>2]|0){if((c[s>>2]|0)>=0)a[(c[$>>2]|0)+((c[s>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[s+4>>2]|0)<0)break;a[(c[$>>2]|0)+((c[s+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);lC(c[X>>2]|0,c[ka>>2]|0,55,0,c[t>>2]|0,c[$>>2]|0,0,0)|0}do if(!(c[R>>2]|0)){k=c[na>>2]|0;if(c[ja>>2]|0){c[W>>2]=Iz(k)|0;Xw(c[na>>2]|0,108,c[fa>>2]|0,c[ha>>2]|0)|0;c[ba>>2]=Xw(c[na>>2]|0,101,c[fa>>2]|0,c[T>>2]|0)|0;Gh(c[na>>2]|0,68,c[ea>>2]|0,c[W>>2]|0,c[T>>2]|0,0)|0;break}else{c[W>>2]=$w(k,130,c[A>>2]|0,c[ha>>2]|0,c[V>>2]|0)|0;$w(c[na>>2]|0,70,c[ea>>2]|0,c[W>>2]|0,c[V>>2]|0)|0;break}}else{if(!((c[H>>2]|0)!=0?1:(d[(c[$>>2]|0)+((c[ea>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Gh(c[na>>2]|0,68,c[ea>>2]|0,c[ha>>2]|0,c[T>>2]|0,c[Q>>2]|0)|0;c[W>>2]=c[ha>>2];Xw(c[na>>2]|0,76,(c[ja>>2]|0)!=0?c[T>>2]|0:c[V>>2]|0,c[ha>>2]|0)|0}while(0);if(a[B>>0]|0){DA(c[X>>2]|0,c[z>>2]|0,c[U>>2]|0);Dz(c[na>>2]|0,38,c[U>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[P>>2]|0)!=0|(c[S>>2]|0)!=0){if(c[P>>2]|0)k=PE(c[X>>2]|0,c[ka>>2]|0)|0;else k=0;c[E>>2]=k;A=OE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,0,3,c[ka>>2]|0,c[K>>2]|0)|0;c[E>>2]=c[E>>2]|A;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;do if((c[E>>2]|0)==-1)J=120;else{if((c[da>>2]|0)<32?(c[E>>2]&1<>2]|0)!=0:0){J=120;break}if(d[(c[(c[ka>>2]|0)+4>>2]|0)+(c[da>>2]<<4)+15>>0]&1){J=120;break}Xw(c[na>>2]|0,25,0,(c[F>>2]|0)+(c[da>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;zA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[F>>2]|0)+(c[da>>2]|0)|0)}c[da>>2]=(c[da>>2]|0)+1}if(!((d[B>>0]|0)==0&(c[ja>>2]|0)==0))break;Xw(c[na>>2]|0,30,c[V>>2]|0,c[U>>2]|0)|0}while(0);c[D>>2]=OE(c[X>>2]|0,c[S>>2]|0,c[Z>>2]|0,1,1,c[ka>>2]|0,c[K>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break;c:do if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))Xw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;else{c[C>>2]=c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2];if((c[C>>2]|0)>=0){DA(c[X>>2]|0,c[(c[(c[Z>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0);break}do if(!((c[da>>2]|0)>31?1:0==(c[G>>2]&1|0))){if(c[D>>2]&1<>2])break;Xw(c[na>>2]|0,25,0,(c[I>>2]|0)+(c[da>>2]|0)|0)|0;break c}while(0);BD(c[X>>2]|0,c[ka>>2]|0,c[da>>2]|0,c[ea>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}d:do if(c[G>>2]&1){GC(c[na>>2]|0,c[ka>>2]|0,c[I>>2]|0);HC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,1,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);k=c[na>>2]|0;h=c[ea>>2]|0;f=c[W>>2]|0;if(c[ja>>2]|0)Gh(k,68,h,f,c[T>>2]|0,c[Q>>2]|0)|0;else $w(k,70,h,f,c[V>>2]|0)|0;c[da>>2]=0;while(1){if((c[da>>2]|0)>=(b[(c[ka>>2]|0)+34>>1]|0))break d;do if((c[(c[aa>>2]|0)+(c[da>>2]<<2)>>2]|0)<0){if((c[da>>2]|0)==(b[(c[ka>>2]|0)+32>>1]|0))break;zA(c[na>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[da>>2]|0,(c[I>>2]|0)+(c[da>>2]|0)|0)}while(0);c[da>>2]=(c[da>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[M>>2]=0;c[N>>2]=0;LC(c[X>>2]|0,c[ka>>2]|0,c[L>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[V>>2]|0,a[O>>0]|0,c[K>>2]&255,c[W>>2]|0,N,c[aa>>2]|0);if(c[P>>2]|0)MC(c[X>>2]|0,c[ka>>2]|0,c[V>>2]|0,0,c[aa>>2]|0,d[O>>0]|0);if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))J=151;do if((J|0)==151){k=c[na>>2]|0;h=c[ea>>2]|0;if(c[ja>>2]|0){c[M>>2]=Gh(k,68,h,0,c[T>>2]|0,c[Q>>2]|0)|0;break}else{c[M>>2]=$w(k,70,h,0,c[V>>2]|0)|0;break}}while(0);NE(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[L>>2]|0,-1);if(!((c[P>>2]|0)==0?!((d[O>>0]|0)!=0|(c[ja>>2]|0)!=0):0))Xw(c[na>>2]|0,95,c[ea>>2]|0,0)|0;if(!((c[N>>2]|0)==0?(d[O>>0]|0)==0:0))Lz(c[na>>2]|0,c[M>>2]|0);if(c[P>>2]|0)MC(c[X>>2]|0,c[ka>>2]|0,0,c[U>>2]|0,c[aa>>2]|0,d[O>>0]|0);NC(c[X>>2]|0,c[ka>>2]|0,c[ea>>2]|0,c[ga>>2]|0,c[U>>2]|0,c[L>>2]|0,1,0,0);if(!(c[P>>2]|0))break;QE(c[X>>2]|0,c[ka>>2]|0,c[Z>>2]|0,c[V>>2]|0,c[aa>>2]|0,d[O>>0]|0)}while(0);do if(c[(c[ca>>2]|0)+24>>2]&128){if(c[(c[X>>2]|0)+420>>2]|0)break;Xw(c[na>>2]|0,37,c[la>>2]|0,1)|0}while(0);HC(c[X>>2]|0,c[S>>2]|0,110,c[Z>>2]|0,2,c[ka>>2]|0,c[V>>2]|0,c[K>>2]|0,c[W>>2]|0);do if(!(c[R>>2]|0)){h=c[na>>2]|0;k=c[W>>2]|0;if(c[ja>>2]|0){Mz(h,k);Xw(c[na>>2]|0,7,c[fa>>2]|0,c[ba>>2]|0)|0;break}else{Kz(h,k)|0;break}}while(0);Mz(c[na>>2]|0,c[ha>>2]|0);c[da>>2]=0;c[ia>>2]=c[(c[ka>>2]|0)+8>>2];while(1){if(!(c[ia>>2]|0))break;if(a[(c[$>>2]|0)+((c[da>>2]|0)+1)>>0]|0)Xw(c[na>>2]|0,61,(c[ga>>2]|0)+(c[da>>2]|0)|0,0)|0;c[ia>>2]=c[(c[ia>>2]|0)+20>>2];c[da>>2]=(c[da>>2]|0)+1}if((c[ea>>2]|0)<(c[ga>>2]|0))Xw(c[na>>2]|0,61,c[ea>>2]|0,0)|0;do if(!(d[(c[X>>2]|0)+18>>0]|0)){if(c[(c[X>>2]|0)+420>>2]|0)break;OC(c[X>>2]|0)}while(0);if(!(c[(c[ca>>2]|0)+24>>2]&128)){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(c[(c[X>>2]|0)+420>>2]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}if(a[(c[X>>2]|0)+18>>0]|0){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}Xw(c[na>>2]|0,33,c[la>>2]|0,1)|0;UB(c[na>>2]|0,1);VB(c[na>>2]|0,0,0,35803,0)|0;_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}else if((J|0)==185){_F(ma);na=c[ca>>2]|0;ma=c[aa>>2]|0;Tf(na,ma);ma=c[ca>>2]|0;na=c[Y>>2]|0;cv(ma,na);na=c[ca>>2]|0;ma=c[Z>>2]|0;$u(na,ma);ma=c[ca>>2]|0;na=c[_>>2]|0;dv(ma,na);i=oa;return}}function _v(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,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;qa=i;i=i+304|0;E=qa+32|0;D=qa+16|0;C=qa;H=qa+288|0;I=qa+284|0;J=qa+280|0;K=qa+276|0;L=qa+272|0;R=qa+268|0;ea=qa+264|0;m=qa+260|0;l=qa+256|0;T=qa+252|0;$=qa+248|0;X=qa+244|0;pa=qa+240|0;ca=qa+236|0;aa=qa+232|0;ba=qa+228|0;U=qa+224|0;V=qa+220|0;Y=qa+216|0;S=qa+212|0;na=qa+208|0;P=qa+204|0;O=qa+200|0;r=qa+180|0;s=qa+176|0;k=qa+172|0;oa=qa+295|0;Q=qa+294|0;F=qa+293|0;q=qa+292|0;da=qa+168|0;ja=qa+164|0;ha=qa+160|0;la=qa+156|0;ka=qa+152|0;ma=qa+148|0;ia=qa+144|0;M=qa+140|0;_=qa+136|0;fa=qa+132|0;B=qa+128|0;z=qa+124|0;p=qa+120|0;v=qa+116|0;x=qa+112|0;y=qa+108|0;o=qa+104|0;A=qa+72|0;t=qa+68|0;w=qa+64|0;n=qa+60|0;u=qa+56|0;N=qa+52|0;W=qa+48|0;ga=qa+44|0;Z=qa+40|0;c[H>>2]=e;c[I>>2]=f;c[J>>2]=g;c[K>>2]=h;c[L>>2]=j;c[ba>>2]=0;c[U>>2]=0;c[V>>2]=0;c[Y>>2]=-1;c[na>>2]=0;c[P>>2]=0;c[O>>2]=0;a[oa>>0]=0;a[Q>>0]=0;c[da>>2]=0;c[ja>>2]=0;c[ha>>2]=0;c[la>>2]=0;c[M>>2]=0;c[R>>2]=c[c[H>>2]>>2];c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;a:do if((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[R>>2]|0)+69>>0]|0)==0:0){if(((c[J>>2]|0)!=0?(c[(c[J>>2]|0)+8>>2]&256|0)!=0:0)?(c[(c[J>>2]|0)+48>>2]|0)==0:0){c[da>>2]=c[c[J>>2]>>2];c[c[J>>2]>>2]=0;av(c[R>>2]|0,c[J>>2]|0);c[J>>2]=0}c[m>>2]=c[(c[I>>2]|0)+8+8>>2];if((((((c[m>>2]|0)!=0?(c[ea>>2]=JB(c[H>>2]|0,c[I>>2]|0)|0,(c[ea>>2]|0)!=0):0)?(c[s>>2]=Fh(c[R>>2]|0,c[(c[ea>>2]|0)+64>>2]|0)|0,c[k>>2]=(c[(c[R>>2]|0)+16>>2]|0)+(c[s>>2]<<4),c[l>>2]=c[c[k>>2]>>2],(Sw(c[H>>2]|0,18,c[c[ea>>2]>>2]|0,0,c[l>>2]|0)|0)==0):0)?(a[F>>0]=((d[(c[ea>>2]|0)+42>>0]&32|0)==0^1)&1,c[fa>>2]=yC(c[H>>2]|0,c[ea>>2]|0,108,0,B)|0,c[_>>2]=(c[(c[ea>>2]|0)+12>>2]|0)!=0&1,(Fx(c[H>>2]|0,c[ea>>2]|0)|0)==0):0)?(zC(c[H>>2]|0,c[ea>>2]|0,c[B>>2]|0)|0)==0:0)?(c[pa>>2]=Vw(c[H>>2]|0)|0,(c[pa>>2]|0)!=0):0){if(!(d[(c[H>>2]|0)+18>>0]|0))AC(c[pa>>2]|0);gx(c[H>>2]|0,((c[J>>2]|0)!=0?1:(c[fa>>2]|0)!=0)&1,c[s>>2]|0);if(!((c[K>>2]|0)==0?(BC(c[H>>2]|0,c[ea>>2]|0,c[J>>2]|0,c[L>>2]|0,c[s>>2]|0)|0)!=0:0))G=17;b:do if((G|0)==17){c[ha>>2]=CC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0;m=(c[(c[H>>2]|0)+76>>2]|0)+1|0;c[ka>>2]=m;c[ma>>2]=m;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+((b[(c[ea>>2]|0)+34>>1]|0)+1);if(d[(c[ea>>2]|0)+42>>0]&16){c[ma>>2]=(c[ma>>2]|0)+1;m=(c[H>>2]|0)+76|0;c[m>>2]=(c[m>>2]|0)+1}c[ia>>2]=(c[ma>>2]|0)+1;a[q>>0]=(d[(c[ea>>2]|0)+42>>0]&128|0)==0;c:do if(c[K>>2]|0){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=-1;c[T>>2]=(c[T>>2]|0)+1}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break c;c[$>>2]=0;while(1){if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;m=(ig(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[$>>2]<<4)>>2]|0)|0)==0;j=c[$>>2]|0;if(m){G=28;break}c[$>>2]=j+1}do if((G|0)==28){G=0;c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)+4>>2]=j;if((c[T>>2]|0)!=(c[$>>2]|0))a[q>>0]=0;if((c[$>>2]|0)!=(b[(c[ea>>2]|0)+32>>1]|0))break;c[Y>>2]=c[T>>2]}while(0);if((c[$>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0)){m=(si(c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0)|0)==0;if(m|(a[F>>0]|0)!=0)break;c[Y>>2]=c[T>>2];a[q>>0]=0}c[T>>2]=(c[T>>2]|0)+1}pa=c[H>>2]|0;oa=c[(c[c[K>>2]>>2]|0)+(c[T>>2]<<3)>>2]|0;c[C>>2]=c[I>>2];c[C+4>>2]=0;c[C+8>>2]=oa;Ch(pa,34774,C);a[(c[H>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[J>>2]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[A+24>>2]=0;c[A+28>>2]=0;c[A>>2]=c[H>>2];c[na>>2]=-1;if(c[da>>2]|0){c[aa>>2]=c[c[da>>2]>>2];if(my(A,c[da>>2]|0)|0)break a;else break}else{c[aa>>2]=0;break}}else{A=(c[H>>2]|0)+76|0;C=(c[A>>2]|0)+1|0;c[A>>2]=C;c[z>>2]=C;c[p>>2]=(Hz(c[pa>>2]|0)|0)+1;$w(c[pa>>2]|0,16,c[z>>2]|0,0,c[p>>2]|0)|0;dB(r,13,c[z>>2]|0);c[r+8>>2]=(d[q>>0]|0)!=0?c[ia>>2]|0:0;c[r+12>>2]=b[(c[ea>>2]|0)+34>>1];c[v>>2]=Iv(c[H>>2]|0,c[J>>2]|0,r)|0;c[ja>>2]=c[r+8>>2];if(c[v>>2]|0)break a;if(d[(c[R>>2]|0)+69>>0]|0)break a;if(c[(c[H>>2]|0)+68>>2]|0)break a;DC(c[pa>>2]|0,c[z>>2]|0);Lz(c[pa>>2]|0,(c[p>>2]|0)-1|0);c[aa>>2]=c[c[c[J>>2]>>2]>>2];if(!((c[fa>>2]|0)==0?(EC(c[H>>2]|0,c[s>>2]|0,c[ea>>2]|0)|0)==0:0))a[oa>>0]=1;if(!(a[oa>>0]|0))break;A=(c[H>>2]|0)+72|0;C=c[A>>2]|0;c[A>>2]=C+1;c[na>>2]=C;c[x>>2]=aA(c[H>>2]|0)|0;c[y>>2]=aA(c[H>>2]|0)|0;Xw(c[pa>>2]|0,57,c[na>>2]|0,c[aa>>2]|0)|0;c[o>>2]=Dz(c[pa>>2]|0,18,c[r+4>>2]|0)|0;$w(c[pa>>2]|0,49,c[ja>>2]|0,c[aa>>2]|0,c[x>>2]|0)|0;Xw(c[pa>>2]|0,74,c[na>>2]|0,c[y>>2]|0)|0;$w(c[pa>>2]|0,75,c[na>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;Kz(c[pa>>2]|0,c[o>>2]|0)|0;Lz(c[pa>>2]|0,c[o>>2]|0);eA(c[H>>2]|0,c[x>>2]|0);eA(c[H>>2]|0,c[y>>2]|0)}while(0);if((c[K>>2]|0)==0&(c[aa>>2]|0)>0)c[Y>>2]=b[(c[ea>>2]|0)+32>>1];c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[ba>>2]=(c[ba>>2]|0)+((d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2|0)!=0?1:0);c[T>>2]=(c[T>>2]|0)+1}if((c[K>>2]|0)==0&(c[aa>>2]|0)!=0?(c[aa>>2]|0)!=((b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0):0){pa=c[H>>2]|0;na=(b[(c[ea>>2]|0)+34>>1]|0)-(c[ba>>2]|0)|0;oa=c[aa>>2]|0;c[D>>2]=c[I>>2];c[D+4>>2]=0;c[D+8>>2]=na;c[D+12>>2]=oa;Ch(pa,34806,D);break a}do if(c[K>>2]|0){if((c[aa>>2]|0)==(c[(c[K>>2]|0)+4>>2]|0))break;pa=c[H>>2]|0;oa=c[(c[K>>2]|0)+4>>2]|0;c[E>>2]=c[aa>>2];c[E+4>>2]=oa;Ch(pa,34858,E);break a}while(0);if(c[(c[R>>2]|0)+24>>2]&128){D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[la>>2]=E;Xw(c[pa>>2]|0,22,0,c[la>>2]|0)|0}d:do if(!(c[_>>2]|0)){c[t>>2]=lC(c[H>>2]|0,c[ea>>2]|0,55,0,-1,0,U,V)|0;c[M>>2]=Lw(c[R>>2]|0,(c[t>>2]|0)+1<<2,0)|0;if(!(c[M>>2]|0))break a;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break d;D=(c[H>>2]|0)+76|0;E=(c[D>>2]|0)+1|0;c[D>>2]=E;c[(c[M>>2]|0)+(c[T>>2]<<2)>>2]=E;c[T>>2]=(c[T>>2]|0)+1}}while(0);do if(a[oa>>0]|0){c[P>>2]=Dz(c[pa>>2]|0,108,c[na>>2]|0)|0;c[O>>2]=Hz(c[pa>>2]|0)|0}else{if(!(c[J>>2]|0))break;E=Dz(c[pa>>2]|0,18,c[r+4>>2]|0)|0;c[O>>2]=E;c[P>>2]=E}while(0);c[S>>2]=Iz(c[pa>>2]|0)|0;if(c[B>>2]&1){c[w>>2]=qA(c[H>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)|0;if((c[Y>>2]|0)<0)Xw(c[pa>>2]|0,22,-1,c[w>>2]|0)|0;else{if(a[oa>>0]|0)$w(c[pa>>2]|0,47,c[na>>2]|0,c[Y>>2]|0,c[w>>2]|0)|0;else DA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[w>>2]|0);c[n>>2]=Dz(c[pa>>2]|0,77,c[w>>2]|0)|0;Xw(c[pa>>2]|0,22,-1,c[w>>2]|0)|0;Lz(c[pa>>2]|0,c[n>>2]|0);Dz(c[pa>>2]|0,38,c[w>>2]|0)|0}c[$>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;e:do if(c[K>>2]|0){c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break e;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break e;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if((a[oa>>0]|0)!=0|(c[da>>2]|0)!=0){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0){G=90;break}if(a[oa>>0]|0){$w(c[pa>>2]|0,47,c[na>>2]|0,c[$>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)|0;break}else{FC(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0);break}}else G=90;while(0);if((G|0)==90){G=0;DA(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[w>>2]|0)+(c[T>>2]|0)+1|0)}if(!(c[K>>2]|0))c[$>>2]=(c[$>>2]|0)+1;c[T>>2]=(c[T>>2]|0)+1}if(!(c[_>>2]|0))GC(c[pa>>2]|0,c[ea>>2]|0,(c[w>>2]|0)+1|0);HC(c[H>>2]|0,c[fa>>2]|0,108,0,1,c[ea>>2]|0,(c[w>>2]|0)-(b[(c[ea>>2]|0)+34>>1]|0)-1|0,c[L>>2]|0,c[S>>2]|0);tA(c[H>>2]|0,c[w>>2]|0,(b[(c[ea>>2]|0)+34>>1]|0)+1|0)}do if(!(c[_>>2]|0)){if(d[(c[ea>>2]|0)+42>>0]&16)Xw(c[pa>>2]|0,25,0,c[ka>>2]|0)|0;f:do if((c[Y>>2]|0)>=0){do if(a[oa>>0]|0)$w(c[pa>>2]|0,47,c[na>>2]|0,c[Y>>2]|0,c[ma>>2]|0)|0;else{if(c[J>>2]|0){Xw(c[pa>>2]|0,30,(c[ja>>2]|0)+(c[Y>>2]|0)|0,c[ma>>2]|0)|0;break}DA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[Y>>2]|0)*20|0)>>2]|0,c[ma>>2]|0);c[u>>2]=Sz(c[pa>>2]|0,-1)|0;if(!(c[u>>2]|0))break;if((d[c[u>>2]>>0]|0)!=25)break;if(d[(c[ea>>2]|0)+42>>0]&16)break;a[Q>>0]=1;a[c[u>>2]>>0]=74;c[(c[u>>2]|0)+4>>2]=c[U>>2];c[(c[u>>2]|0)+8>>2]=c[ma>>2];c[(c[u>>2]|0)+12>>2]=c[ha>>2]}while(0);if(a[Q>>0]|0)break;j=c[pa>>2]|0;if(d[(c[ea>>2]|0)+42>>0]&16){c[N>>2]=Hz(j)|0;Xw(c[pa>>2]|0,76,c[ma>>2]|0,(c[N>>2]|0)+2|0)|0}else{c[N>>2]=Dz(j,77,c[ma>>2]|0)|0;$w(c[pa>>2]|0,74,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;Lz(c[pa>>2]|0,c[N>>2]|0)}Dz(c[pa>>2]|0,38,c[ma>>2]|0)|0}else{do if(!(d[(c[ea>>2]|0)+42>>0]&16)){if(d[F>>0]|0)break;$w(c[pa>>2]|0,74,c[U>>2]|0,c[ma>>2]|0,c[ha>>2]|0)|0;a[Q>>0]=1;break f}while(0);Xw(c[pa>>2]|0,25,0,c[ma>>2]|0)|0}while(0);IC(c[H>>2]|0,c[ha>>2]|0,c[ma>>2]|0);c[ba>>2]=0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(b[(c[ea>>2]|0)+34>>1]|0))break;c[W>>2]=(c[ma>>2]|0)+1+(c[T>>2]|0);g:do if((c[T>>2]|0)==(b[(c[ea>>2]|0)+32>>1]|0))Dz(c[pa>>2]|0,26,c[W>>2]|0)|0;else{h:do if(!(c[K>>2]|0))if(d[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+15>>0]&2){c[$>>2]=-1;c[ba>>2]=(c[ba>>2]|0)+1;break}else{c[$>>2]=(c[T>>2]|0)-(c[ba>>2]|0);break}else{c[$>>2]=0;while(1){if((c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0))break h;if((c[(c[c[K>>2]>>2]|0)+(c[$>>2]<<3)+4>>2]|0)==(c[T>>2]|0))break h;c[$>>2]=(c[$>>2]|0)+1}}while(0);do if(!((c[$>>2]|0)<0|(c[aa>>2]|0)==0)){if((c[K>>2]|0)!=0?(c[$>>2]|0)>=(c[(c[K>>2]|0)+4>>2]|0):0)break;if(a[oa>>0]|0){$w(c[pa>>2]|0,47,c[na>>2]|0,c[$>>2]|0,c[W>>2]|0)|0;break g}if(!(c[J>>2]|0)){DA(c[H>>2]|0,c[(c[(c[da>>2]|0)+4>>2]|0)+((c[$>>2]|0)*20|0)>>2]|0,c[W>>2]|0);break g}if((c[ja>>2]|0)==(c[ia>>2]|0))break g;Xw(c[pa>>2]|0,31,(c[ja>>2]|0)+(c[$>>2]|0)|0,c[W>>2]|0)|0;break g}while(0);JC(c[H>>2]|0,c[(c[(c[ea>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,c[W>>2]|0)}while(0);c[T>>2]=(c[T>>2]|0)+1}if(d[(c[ea>>2]|0)+42>>0]&16){c[ga>>2]=Gx(c[R>>2]|0,c[ea>>2]|0)|0;KC(c[H>>2]|0,c[ea>>2]|0);_w(c[pa>>2]|0,12,1,(b[(c[ea>>2]|0)+34>>1]|0)+2|0,c[ka>>2]|0,c[ga>>2]|0,-10)|0;Hh(c[pa>>2]|0,((c[L>>2]|0)==10?2:c[L>>2]|0)&255);Hx(c[H>>2]|0);break}else{LC(c[H>>2]|0,c[ea>>2]|0,c[M>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,0,(c[Y>>2]|0)>=0&255,c[L>>2]&255,c[S>>2]|0,Z,0);MC(c[H>>2]|0,c[ea>>2]|0,0,c[ka>>2]|0,0,0);NC(c[H>>2]|0,c[ea>>2]|0,c[U>>2]|0,c[V>>2]|0,c[ka>>2]|0,c[M>>2]|0,0,d[Q>>0]|0,(c[Z>>2]|0)==0&1);break}}while(0);if(c[(c[R>>2]|0)+24>>2]&128)Xw(c[pa>>2]|0,37,c[la>>2]|0,1)|0;if(c[fa>>2]|0)HC(c[H>>2]|0,c[fa>>2]|0,108,0,2,c[ea>>2]|0,(c[ia>>2]|0)-2-(b[(c[ea>>2]|0)+34>>1]|0)|0,c[L>>2]|0,c[S>>2]|0);Mz(c[pa>>2]|0,c[S>>2]|0);do if(a[oa>>0]|0){Xw(c[pa>>2]|0,7,c[na>>2]|0,c[O>>2]|0)|0;Lz(c[pa>>2]|0,c[P>>2]|0);Dz(c[pa>>2]|0,61,c[na>>2]|0)|0}else{if(!(c[J>>2]|0))break;Kz(c[pa>>2]|0,c[O>>2]|0)|0;Lz(c[pa>>2]|0,c[P>>2]|0)}while(0);if((c[_>>2]|0)!=0?1:(d[(c[ea>>2]|0)+42>>0]&16|0)!=0)break;if((c[U>>2]|0)<(c[V>>2]|0))Dz(c[pa>>2]|0,61,c[U>>2]|0)|0;c[X>>2]=0;c[ca>>2]=c[(c[ea>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break b;Dz(c[pa>>2]|0,61,(c[X>>2]|0)+(c[V>>2]|0)|0)|0;c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)OC(c[H>>2]|0);if(((c[(c[R>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){Xw(c[pa>>2]|0,33,c[la>>2]|0,1)|0;UB(c[pa>>2]|0,1);VB(c[pa>>2]|0,0,0,34883,0)|0}}}while(0);cv(c[R>>2]|0,c[I>>2]|0);$u(c[R>>2]|0,c[da>>2]|0);av(c[R>>2]|0,c[J>>2]|0);ev(c[R>>2]|0,c[K>>2]|0);Tf(c[R>>2]|0,c[M>>2]|0);i=qa;return}function $v(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=rh(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}d=xC(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,j)|0;c[c[g>>2]>>2]=d;e=c[e>>2]|0;if((c[j>>2]|0)<0){ev(e,c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}else{h=Jw(e,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[j>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];j=c[f>>2]|0;i=k;return j|0}return 0}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);i=e;return}function bw(d,e){d=d|0;e=e|0;var 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;t=i;i=i+64|0;p=t+16|0;o=t+8|0;f=t+44|0;g=t+40|0;k=t+36|0;r=t+32|0;q=t+50|0;n=t+28|0;l=t;j=t+24|0;m=t+48|0;h=t+20|0;c[f>>2]=d;c[g>>2]=e;c[k>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0)){i=t;return}c[r>>2]=c[(c[g>>2]|0)+8>>2];do if(a[(c[r>>2]|0)+1>>0]|0){b[q>>1]=0;c[n>>2]=Jf(c[r>>2]|0)|0;if((a[c[r>>2]>>0]|0)==63){c[j>>2]=0==(Ki((c[r>>2]|0)+1|0,l,(c[n>>2]|0)-1|0,1)|0)&1;s=c[l>>2]&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s;s=l;d=c[s+4>>2]|0;if(!(!((c[j>>2]|0)==0|((d|0)<0|(d|0)==0&(c[s>>2]|0)>>>0<1))?(d=l,m=c[d+4>>2]|0,s=c[(c[k>>2]|0)+92+36>>2]|0,e=((s|0)<0)<<31>>31,!((m|0)>(e|0)|((m|0)==(e|0)?(c[d>>2]|0)>>>0>s>>>0:0))):0)){s=c[f>>2]|0;c[o>>2]=c[(c[k>>2]|0)+92+36>>2];Ch(s,34708,o);b[q>>1]=0}o=l;e=c[o+4>>2]|0;s=b[(c[f>>2]|0)+444>>1]|0;d=((s|0)<0)<<31>>31;if((e|0)>(d|0)|((e|0)==(d|0)?(c[o>>2]|0)>>>0>s>>>0:0))b[(c[f>>2]|0)+444>>1]=c[l>>2]}else{b[m>>1]=0;while(1){if((b[m>>1]|0)>=(c[(c[f>>2]|0)+448>>2]|0))break;if((c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0)!=0?(HQ(c[(c[(c[f>>2]|0)+476>>2]|0)+(b[m>>1]<<2)>>2]|0,c[r>>2]|0)|0)==0:0){s=14;break}b[m>>1]=(b[m>>1]|0)+1<<16>>16}if((s|0)==14){s=(b[m>>1]|0)+1&65535;b[q>>1]=s;b[(c[g>>2]|0)+32>>1]=s}if(!(b[q>>1]|0)){o=(c[f>>2]|0)+444|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;b[(c[g>>2]|0)+32>>1]=s;b[q>>1]=s}}if((b[q>>1]|0)>0){do if((b[q>>1]|0)>(c[(c[f>>2]|0)+448>>2]|0)){c[h>>2]=Kw(c[k>>2]|0,c[(c[f>>2]|0)+476>>2]|0,b[q>>1]<<2,0)|0;if(!(c[h>>2]|0)){i=t;return}else{c[(c[f>>2]|0)+476>>2]=c[h>>2];tR((c[h>>2]|0)+(c[(c[f>>2]|0)+448>>2]<<2)|0,0,(b[q>>1]|0)-(c[(c[f>>2]|0)+448>>2]|0)<<2|0)|0;c[(c[f>>2]|0)+448>>2]=b[q>>1];break}}while(0);if((a[c[r>>2]>>0]|0)==63?(c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0)!=0:0)break;Tf(c[k>>2]|0,c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]|0);s=Ow(c[k>>2]|0,c[r>>2]|0,c[n>>2]|0,0)|0;c[(c[(c[f>>2]|0)+476>>2]|0)+((b[q>>1]|0)-1<<2)>>2]=s}}else{r=(c[f>>2]|0)+444|0;s=(b[r>>1]|0)+1<<16>>16;b[r>>1]=s;b[(c[g>>2]|0)+32>>1]=s}while(0);if(c[(c[f>>2]|0)+68>>2]|0){i=t;return}if((b[(c[f>>2]|0)+444>>1]|0)<=(c[(c[k>>2]|0)+92+36>>2]|0)){i=t;return}Ch(c[f>>2]|0,34751,p);i=t;return}function cw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){a=c[g>>2]|0;i=l;return a|0}c[k>>2]=iz(c[c[f>>2]>>2]|0,95,c[h>>2]|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){a=c[g>>2]|0;i=l;return a|0}c[(c[k>>2]|0)+12>>2]=c[g>>2];a=(c[k>>2]|0)+4|0;c[a>>2]=c[a>>2]|4352;c[g>>2]=c[k>>2];a=c[g>>2]|0;i=l;return a|0}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[f>>2]=a;c[g>>2]=b;c[l>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=iz(c[h>>2]|0,151,c[l>>2]|0,1)|0;if(!(c[j>>2]|0)){$u(c[h>>2]|0,c[g>>2]|0);c[e>>2]=0;l=c[e>>2]|0;i=k;return l|0}else{c[(c[j>>2]|0)+20>>2]=c[g>>2];jw(c[f>>2]|0,c[j>>2]|0);c[e>>2]=c[j>>2];l=c[e>>2]|0;i=k;return l|0}return 0}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=xv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];i=f;return}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){i=g;return}h=xv(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;i=g;return}function gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;g=f+4|0;h=f;c[k>>2]=a;c[j>>2]=b;c[g>>2]=d;c[h>>2]=e;e=xv(c[k>>2]|0,c[j>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);i=f;return}function hw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;n=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[n>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[l>>2]=c[c[n>>2]>>2];if(!((c[j>>2]|0)!=0&(c[h>>2]|0)!=0)){i=m;return}if((d[c[h>>2]>>0]|0|0)!=101){i=m;return}a[c[j>>2]>>0]=c[k>>2];dv(c[l>>2]|0,c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=0;i=m;return}function iw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+16|0;l=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[l>>2]=b;c[k>>2]=d;c[j>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=xv(c[l>>2]|0,c[k>>2]|0,c[c[j>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];i=g;return}function jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+68>>2]|0){i=f;return}kz(c[e>>2]|0);Ky(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;i=f;return}function kw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=i;i=i+32|0;l=m;h=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;k=m+8|0;c[h>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[k>>2]=Mv(c[h>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[h>>2]>>2]|0)+144+5>>0]|0|0)==0:0){p=c[h>>2]|0;o=c[c[j>>2]>>2]|0;c[l>>2]=c[(c[j>>2]|0)+4>>2];c[l+4>>2]=o;Ch(p,34668,l)}Nv(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,1);i=m;return c[k>>2]|0}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+80|0;m=u+16|0;l=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;h=u+56|0;k=u+52|0;s=u+48|0;g=u+44|0;f=u+40|0;j=u+36|0;n=u+32|0;o=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}if(vz(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}c[h>>2]=Ij(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[h>>2]|0)){f=c[p>>2]|0;g=c[q>>2]|0;if(c[r>>2]|0)FB(f,c[g+8+4>>2]|0);else{c[t>>2]=g;c[t+4>>2]=0;Ch(f,34458,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}if(a[(c[h>>2]|0)+55>>0]&3){t=c[p>>2]|0;c[l>>2]=0;Ch(t,34476,l);s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}c[g>>2]=Fh(c[s>>2]|0,c[(c[h>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[j>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[o>>2]=(c[g>>2]|0)==1?20513:20532;if(Sw(c[p>>2]|0,9,c[o>>2]|0,0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}if(c[g>>2]|0)c[f>>2]=12;if(Sw(c[p>>2]|0,c[f>>2]|0,c[c[h>>2]>>2]|0,c[c[j>>2]>>2]|0,c[n>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}c[k>>2]=Vw(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}gx(c[p>>2]|0,1,c[g>>2]|0);t=c[p>>2]|0;o=(c[g>>2]|0)==1?20513:20532;r=c[c[h>>2]>>2]|0;c[m>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2];c[m+4>>2]=o;c[m+8>>2]=r;Uw(t,34549,m);vC(c[p>>2]|0,c[g>>2]|0,31442,c[c[h>>2]>>2]|0);Ww(c[p>>2]|0,c[g>>2]|0);wC(c[p>>2]|0,c[(c[h>>2]|0)+44>>2]|0,c[g>>2]|0);_w(c[k>>2]|0,126,c[g>>2]|0,0,0,c[c[h>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;cv(s,t);i=u;return}function mw(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Vw(c[e>>2]|0)|0;if(!(c[b>>2]|0)){i=d;return}Xw(c[b>>2]|0,10,0,0)|0;Jh(c[b>>2]|0,0);i=d;return}function nw(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=i;i=i+816|0;Ia=fc+264|0;Qb=fc+256|0;Pb=fc+248|0;Ya=fc+240|0;za=fc+208|0;ya=fc+200|0;xa=fc+184|0;wa=fc+160|0;Ob=fc+144|0;Nb=fc+128|0;va=fc+112|0;ua=fc+96|0;Zb=fc+72|0;ta=fc+64|0;sa=fc+56|0;ra=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;l=fc+804|0;s=fc+800|0;n=fc+796|0;o=fc+792|0;dc=fc+788|0;ec=fc+784|0;_a=fc+780|0;m=fc+776|0;q=fc+760|0;$b=fc+756|0;W=fc+752|0;qa=fc+748|0;X=fc+744|0;ka=fc+740|0;cc=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Eb=fc+724|0;v=fc+720|0;ma=fc+716|0;_=fc+712|0;Fa=fc+708|0;$=fc+704|0;B=fc+700|0;S=fc+696|0;Oa=fc+692|0;Ba=fc+688|0;E=fc+684|0;fa=fc+680|0;T=fc+676|0;F=fc+672|0;U=fc+668|0;Aa=fc+664|0;Y=fc+660|0;ga=fc+656|0;Q=fc+24|0;aa=fc+652|0;D=fc+648|0;y=fc+644|0;M=fc+640|0;R=fc+636|0;z=fc+632|0;na=fc+628|0;oa=fc+624|0;pa=fc+16|0;la=fc+620|0;P=fc+616|0;Da=fc+612|0;Yb=fc+608|0;Tb=fc+604|0;Ub=fc+600|0;Vb=fc+596|0;Wb=fc+592|0;Xb=fc+588|0;da=fc+584|0;H=fc+580|0;ha=fc+576|0;zb=fc+572|0;Gb=fc+568|0;fb=fc+564|0;vb=fc+560|0;eb=fc+812|0;ea=fc+556|0;ia=fc+552|0;I=fc+548|0;A=fc+536|0;J=fc+532|0;K=fc+528|0;Z=fc+524|0;ba=fc+520|0;ca=fc+516|0;ja=fc+512|0;L=fc+508|0;V=fc+504|0;Ra=fc+500|0;Ua=fc+496|0;Ta=fc+492|0;Sa=fc+488|0;Ma=fc+484|0;Pa=fc+480|0;Qa=fc+476|0;Za=fc+472|0;Wa=fc+468|0;Va=fc+464|0;Xa=fc+460|0;Ka=fc+456|0;Ja=fc+452|0;La=fc+448|0;Na=fc+444|0;gb=fc+440|0;lb=fc+436|0;bb=fc+432|0;wb=fc+428|0;kb=fc+424|0;Rb=fc+420|0;Kb=fc+416|0;ab=fc+412|0;db=fc+408|0;xb=fc+404|0;yb=fc+400|0;Hb=fc+396|0;Ab=fc+392|0;Ib=fc+388|0;Bb=fc+384|0;Jb=fc+380|0;Cb=fc+376|0;Db=fc+372|0;Fb=fc+368|0;ub=fc+364|0;ib=fc+360|0;jb=fc+356|0;Lb=fc+352|0;Sb=fc+348|0;mb=fc+344|0;ob=fc+340|0;nb=fc+336|0;pb=fc+332|0;qb=fc+328|0;rb=fc+324|0;cb=fc+320|0;Mb=fc+316|0;sb=fc+312|0;tb=fc+308|0;hb=fc+304|0;$a=fc+300|0;Ha=fc+296|0;O=fc+292|0;w=fc+288|0;x=fc+284|0;Ca=fc+280|0;Ga=fc+276|0;N=fc+272|0;G=fc+268|0;t=fc+8|0;u=fc;c[ac>>2]=f;c[l>>2]=g;c[s>>2]=h;c[n>>2]=j;c[o>>2]=k;c[dc>>2]=0;c[ec>>2]=0;c[_a>>2]=0;c[X>>2]=0;c[cc>>2]=c[c[ac>>2]>>2];c[bc>>2]=Vw(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){i=fc;return}QB(c[bc>>2]|0);c[(c[ac>>2]|0)+76>>2]=2;c[$b>>2]=zz(c[ac>>2]|0,c[l>>2]|0,c[s>>2]|0,m)|0;if((c[$b>>2]|0)<0){i=fc;return}c[Ea>>2]=(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?(ix(c[ac>>2]|0)|0)!=0:0){i=fc;return}c[dc>>2]=Jw(c[cc>>2]|0,c[m>>2]|0)|0;if(!(c[dc>>2]|0)){i=fc;return}k=c[cc>>2]|0;l=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=l;c[ec>>2]=Dh(k,32616,p)|0}else c[ec>>2]=Jw(k,l)|0;if((c[(c[s>>2]|0)+4>>2]|0)>>>0>0)l=c[c[Ea>>2]>>2]|0;else l=0;c[_a>>2]=l;a:do if(!(Sw(c[ac>>2]|0,19,c[dc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[dc>>2];c[q+8>>2]=c[ec>>2];c[q+12>>2]=0;c[(c[cc>>2]|0)+380+8>>2]=0;c[ka>>2]=Gf(c[cc>>2]|0,c[_a>>2]|0,14,q)|0;if(!(c[ka>>2]|0)){RB(c[bc>>2]|0,32620,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[ka>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Ch(bc,18999,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break}c[W>>2]=0;c[qa>>2]=57;while(1){if((c[W>>2]|0)>(c[qa>>2]|0))break;c[X>>2]=((c[W>>2]|0)+(c[qa>>2]|0)|0)/2|0;c[ka>>2]=Td(c[dc>>2]|0,c[5308+((c[X>>2]|0)*12|0)>>2]|0)|0;if(!(c[ka>>2]|0))break;l=c[X>>2]|0;if((c[ka>>2]|0)<0){c[qa>>2]=l-1;continue}else{c[W>>2]=l+1;continue}}if((c[W>>2]|0)<=(c[qa>>2]|0)){c[Eb>>2]=5308+((c[X>>2]|0)*12|0);if((d[(c[Eb>>2]|0)+5>>0]&1|0)!=0?(vz(c[ac>>2]|0)|0)!=0:0)break;do switch(d[(c[Eb>>2]|0)+4>>0]|0){case 11:{Jh(c[bc>>2]|0,c[$b>>2]|0);if(c[ec>>2]|0){c[ma>>2]=Bj(Ni(c[ec>>2]|0)|0)|0;gx(c[ac>>2]|0,0,c[$b>>2]|0);$w(c[bc>>2]|0,52,c[$b>>2]|0,3,c[ma>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[ma>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{SB(c[bc>>2]|0,32627);ac=(c[ac>>2]|0)+76|0;c[ac>>2]=(c[ac>>2]|0)+2;c[v>>2]=Ih(c[bc>>2]|0,9,32638,0)|0;c[(c[v>>2]|0)+4>>2]=c[$b>>2];c[(c[v>>2]|0)+20+4>>2]=c[$b>>2];c[(c[v>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[_>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[ec>>2]|0){bc=Ni(c[ec>>2]|0)|0;c[(c[cc>>2]|0)+76>>2]=bc;if(7!=(Ai(c[_>>2]|0,c[(c[cc>>2]|0)+76>>2]|0,-1,0)|0))break a;lh(c[cc>>2]|0);break a}if(c[_>>2]|0)l=rg(c[_>>2]|0)|0;else l=0;c[Fa>>2]=l;ac=c[Fa>>2]|0;TB(c[bc>>2]|0,32674,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[$>>2]=c[(c[Ea>>2]|0)+4>>2];c[B>>2]=-1;if(c[ec>>2]|0)c[B>>2]=(Ei(c[ec>>2]|0,0)|0)&255;b:do if((c[B>>2]|0)>=0?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break b;BB(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[S>>2]<<4)+4>>2]|0,c[B>>2]|0)|0;c[S>>2]=(c[S>>2]|0)+1}}while(0);c[B>>2]=BB(c[$>>2]|0,c[B>>2]|0)|0;ac=c[B>>2]|0;TB(c[bc>>2]|0,32684,ac,((ac|0)<0)<<31>>31);break a}case 23:{hx(c[ac>>2]|0,c[$b>>2]|0);l=(c[ac>>2]|0)+76|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;c[Oa>>2]=m;m=c[bc>>2]|0;l=c[$b>>2]|0;k=c[Oa>>2]|0;if((d[18221+(d[c[dc>>2]>>0]|0)>>0]|0)==112)Xw(m,156,l,k)|0;else $w(m,157,l,k,Bj(Ni(c[ec>>2]|0)|0)|0)|0;Xw(c[bc>>2]|0,33,c[Oa>>2]|0,1)|0;UB(c[bc>>2]|0,1);VB(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;break a}case 22:{c[Ba>>2]=32698;c[E>>2]=WB(c[ec>>2]|0)|0;if((c[E>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0)c[E>>2]=d[(c[cc>>2]|0)+71>>0];else{if(!(c[(c[s>>2]|0)+4>>2]|0)){c[T>>2]=2;while(1){if((c[T>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[fa>>2]=Pf(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[T>>2]<<4)+4>>2]|0)|0;AB(c[fa>>2]|0,c[E>>2]|0)|0;c[T>>2]=(c[T>>2]|0)+1}a[(c[cc>>2]|0)+71>>0]=c[E>>2]}c[fa>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[E>>2]=AB(c[fa>>2]|0,c[E>>2]|0)|0}if((c[E>>2]|0)==1)c[Ba>>2]=32705;RB(c[bc>>2]|0,32715,c[Ba>>2]|0);break a}case 19:{SB(c[bc>>2]|0,32728);if(c[ec>>2]|0){c[Y>>2]=Jf(c[ec>>2]|0)|0;c[F>>2]=0;while(1){ac=XB(c[F>>2]|0)|0;c[Aa>>2]=ac;if(!ac)break;if(!(zd(c[ec>>2]|0,c[Aa>>2]|0,c[Y>>2]|0)|0))break;c[F>>2]=(c[F>>2]|0)+1}if(!(c[Aa>>2]|0))c[F>>2]=-1}else c[F>>2]=-1;if((c[F>>2]|0)==-1?(c[(c[s>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[s>>2]|0)+4>>2]=1}c[U>>2]=(c[(c[cc>>2]|0)+20>>2]|0)-1;while(1){if((c[U>>2]|0)<0)break;do if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[U>>2]<<4)+4>>2]|0){if((c[U>>2]|0)!=(c[$b>>2]|0)?(c[(c[s>>2]|0)+4>>2]|0)!=0:0)break;Jh(c[bc>>2]|0,c[U>>2]|0);$w(c[bc>>2]|0,9,c[U>>2]|0,1,c[F>>2]|0)|0}while(0);c[U>>2]=(c[U>>2]|0)+-1}Xw(c[bc>>2]|0,33,1,1)|0;break a}case 20:{c[ga>>2]=Pf(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=Q;c[ac>>2]=-2;c[ac+4>>2]=-1;if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,Q)|0,ac=Q,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=Q;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=Q;$b=YB(c[ga>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=Q;c[ac>>2]=$b;c[ac+4>>2]=C;ac=Q;TB(c[bc>>2]|0,32741,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[aa>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[ec>>2]|0)){ac=c[bc>>2]|0;bc=ZB(c[aa>>2]|0)|0;TB(ac,32760,bc,((bc|0)<0)<<31>>31);break a}c[D>>2]=_B(c[ec>>2]|0)|0;a[(c[cc>>2]|0)+72>>0]=c[D>>2];c[ka>>2]=$B(c[aa>>2]|0,c[D>>2]|0)|0;if(c[ka>>2]|0)break a;if(!((c[D>>2]|0)==1|(c[D>>2]|0)==2))break a;c[M>>2]=Hz(c[bc>>2]|0)|0;c[y>>2]=Ih(c[bc>>2]|0,5,32772,0)|0;c[(c[y>>2]|0)+4>>2]=c[$b>>2];c[(c[y>>2]|0)+20+4>>2]=c[$b>>2];c[(c[y>>2]|0)+40+8>>2]=(c[M>>2]|0)+4;c[(c[y>>2]|0)+80+4>>2]=c[$b>>2];c[(c[y>>2]|0)+80+12>>2]=(c[D>>2]|0)-1;Jh(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[ec>>2]|0)!=0?(_b=(Oi(c[ec>>2]|0,R)|0)==0,!(_b|(c[R>>2]|0)<=0)):0))c[R>>2]=2147483647;gx(c[ac>>2]|0,0,c[$b>>2]|0);Xw(c[bc>>2]|0,22,c[R>>2]|0,1)|0;c[z>>2]=Dz(c[bc>>2]|0,146,c[$b>>2]|0)|0;Dz(c[bc>>2]|0,33,1)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Xw(c[bc>>2]|0,138,1,c[z>>2]|0)|0;Lz(c[bc>>2]|0,c[z>>2]|0);break a}case 4:if(c[ec>>2]|0){c[na>>2]=Ni(c[ec>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[na>>2];Cj(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;TB(c[bc>>2]|0,32627,ac,((ac|0)<0)<<31>>31);break a}case 5:{if(!(c[ec>>2]|0)){k=c[bc>>2]|0;if(!(c[(c[cc>>2]|0)+24>>2]&32))l=0;else l=aC(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;TB(k,32792,l,((l|0)<0)<<31>>31);break a}c[oa>>2]=1;if(Oi(c[ec>>2]|0,oa)|0)aC(c[(c[Ea>>2]|0)+4>>2]|0,c[oa>>2]|0)|0;bc=(Ei(c[ec>>2]|0,(c[oa>>2]|0)!=0&255)|0)<<24>>24!=0;l=(c[cc>>2]|0)+24|0;k=c[l>>2]|0;if(bc)c[l>>2]=k|32;else c[l>>2]=k&-33;bC(c[cc>>2]|0);break a}case 24:{$b=pa;c[$b>>2]=0;c[$b+4>>2]=0;c[ka>>2]=0;if(!(c[ka>>2]|0)){ac=pa;TB(c[bc>>2]|0,32804,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[ka>>2]|0)==12)break a;bc=(c[ac>>2]|0)+68|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[ka>>2];break a}case 32:if(c[ec>>2]|0){cC(c[ac>>2]|0,c[ec>>2]|0)|0;break a}else{TB(c[bc>>2]|0,32814,d[(c[cc>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[ec>>2]|0)){RB(c[bc>>2]|0,32825,c[241]|0);break a}if((a[c[ec>>2]>>0]|0)!=0?(c[ka>>2]=Tr(c[c[cc>>2]>>2]|0,c[ec>>2]|0,1,la)|0,(c[ka>>2]|0)!=0|(c[la>>2]|0)==0):0){Ch(c[ac>>2]|0,32846,ra);break a}if((d[(c[cc>>2]|0)+68>>0]|0)<=1)dC(c[ac>>2]|0)|0;Kd(c[241]|0);if(a[c[ec>>2]>>0]|0){c[sa>>2]=c[ec>>2];c[241]=Od(18999,sa)|0;break a}else{c[241]=0;break a}}case 30:{if(!(c[ec>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;TB(c[bc>>2]|0,32871,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[cc>>2]|0)+67>>0]|0){bc=((Mi(c[ec>>2]|0,0,1)|0)&255)+1&7;c[P>>2]=bc;c[P>>2]=(c[P>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[P>>2];a[(c[Ea>>2]|0)+9>>0]=1;bC(c[cc>>2]|0);break a}else{Ch(c[ac>>2]|0,32883,ta);break a}}case 2:{if(!(c[ec>>2]|0)){ac=(c[(c[cc>>2]|0)+24>>2]&c[(c[Eb>>2]|0)+8>>2]|0)!=0&1;TB(c[bc>>2]|0,c[c[Eb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Da>>2]=c[(c[Eb>>2]|0)+8>>2];if(!(d[(c[cc>>2]|0)+67>>0]|0))c[Da>>2]=c[Da>>2]&-524289;ac=(Ei(c[ec>>2]|0,0)|0)<<24>>24!=0;l=c[Da>>2]|0;if(!ac){ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~l;if((c[Da>>2]|0)==16777216){ac=(c[cc>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[cc>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|l}Xw(c[bc>>2]|0,147,0,0)|0;bC(c[cc>>2]|0);break a}case 31:{if(!(c[ec>>2]|0))break a;c[Yb>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[Yb>>2]|0))break a;c[Vb>>2]=0;c[Xb>>2]=Hj(c[Yb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=6;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,6,6004);Fx(c[ac>>2]|0,c[Yb>>2]|0)|0;c[Tb>>2]=0;c[Wb>>2]=c[(c[Yb>>2]|0)+4>>2];while(1){if((c[Tb>>2]|0)>=(b[(c[Yb>>2]|0)+34>>1]|0))break a;if(d[(c[Wb>>2]|0)+15>>0]&2)c[Vb>>2]=(c[Vb>>2]|0)+1;else{c:do if(!(d[(c[Wb>>2]|0)+15>>0]&1))c[Ub>>2]=0;else{ac=(c[Xb>>2]|0)==0;c[Ub>>2]=1;if(ac)break;while(1){if((c[Ub>>2]|0)>(b[(c[Yb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Xb>>2]|0)+4>>2]|0)+((c[Ub>>2]|0)-1<<1)>>1]|0)==(c[Tb>>2]|0))break c;c[Ub>>2]=(c[Ub>>2]|0)+1}}while(0);l=c[bc>>2]|0;k=(c[Tb>>2]|0)-(c[Vb>>2]|0)|0;m=c[c[Wb>>2]>>2]|0;g=ti(c[Wb>>2]|0,19010)|0;h=(d[(c[Wb>>2]|0)+12>>0]|0)!=0?1:0;if(c[(c[Wb>>2]|0)+4>>2]|0)f=c[(c[(c[Wb>>2]|0)+4>>2]|0)+8>>2]|0;else f=0;ac=c[Ub>>2]|0;c[Zb>>2]=k;c[Zb+4>>2]=m;c[Zb+8>>2]=g;c[Zb+12>>2]=h;c[Zb+16>>2]=f;c[Zb+20>>2]=ac;fC(l,1,32936,Zb);Xw(c[bc>>2]|0,33,1,6)|0}c[Tb>>2]=(c[Tb>>2]|0)+1;c[Wb>>2]=(c[Wb>>2]|0)+16}}case 29:{c[bc>>2]=Vw(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=4;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,4,6028);c[H>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[H>>2]|0))break a;c[ha>>2]=c[(c[H>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[ha>>2]|0)+40>>1]|0;$b=b[(c[ha>>2]|0)+38>>1]|0;c[ua>>2]=c[c[ha>>2]>>2];c[ua+4>>2]=0;c[ua+8>>2]=_b;c[ua+12>>2]=$b;fC(ac,1,32943,ua);Xw(c[bc>>2]|0,33,1,4)|0;c[da>>2]=c[(c[ha>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[va>>2]=c[c[da>>2]>>2];c[va+4>>2]=_b;c[va+8>>2]=$b;fC(ac,2,32948,va);Xw(c[bc>>2]|0,33,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[H>>2]=c[c[H>>2]>>2]}}case 16:{if(!(c[ec>>2]|0))break a;c[zb>>2]=Ij(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[zb>>2]|0))break a;l=c[zb>>2]|0;if(c[(c[Eb>>2]|0)+8>>2]|0){c[vb>>2]=e[l+52>>1];c[(c[ac>>2]|0)+76>>2]=6}else{c[vb>>2]=e[l+50>>1];c[(c[ac>>2]|0)+76>>2]=3}c[Gb>>2]=c[(c[zb>>2]|0)+12>>2];hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,c[(c[ac>>2]|0)+76>>2]|0,6044);c[fb>>2]=0;while(1){if((c[fb>>2]|0)>=(c[vb>>2]|0))break a;b[eb>>1]=b[(c[(c[zb>>2]|0)+4>>2]|0)+(c[fb>>2]<<1)>>1]|0;l=c[bc>>2]|0;k=b[eb>>1]|0;if((b[eb>>1]|0)<0)m=0;else m=c[(c[(c[Gb>>2]|0)+4>>2]|0)+(b[eb>>1]<<4)>>2]|0;c[Nb>>2]=c[fb>>2];c[Nb+4>>2]=k;c[Nb+8>>2]=m;fC(l,1,32952,Nb);if(c[(c[Eb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Zb=c[(c[(c[zb>>2]|0)+32>>2]|0)+(c[fb>>2]<<2)>>2]|0;_b=(c[fb>>2]|0)<(e[(c[zb>>2]|0)+50>>1]|0)&1;c[Ob>>2]=d[(c[(c[zb>>2]|0)+28>>2]|0)+(c[fb>>2]|0)>>0];c[Ob+4>>2]=Zb;c[Ob+8>>2]=_b;fC($b,4,32956,Ob)}Xw(c[bc>>2]|0,33,1,c[(c[ac>>2]|0)+76>>2]|0)|0;c[fb>>2]=(c[fb>>2]|0)+1}}case 17:{if(!(c[ec>>2]|0))break a;c[ia>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ia>>2]|0))break a;c[bc>>2]=Vw(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=5;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,5,6068);c[ea>>2]=c[(c[ia>>2]|0)+8>>2];c[I>>2]=0;while(1){if(!(c[ea>>2]|0))break a;c[A>>2]=c[1522];c[A+4>>2]=c[1523];c[A+8>>2]=c[1524];ac=c[bc>>2]|0;Yb=c[c[ea>>2]>>2]|0;Zb=(d[(c[ea>>2]|0)+54>>0]|0)!=0&1;_b=c[A+((a[(c[ea>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ea>>2]|0)+36>>2]|0)!=0&1;c[wa>>2]=c[I>>2];c[wa+4>>2]=Yb;c[wa+8>>2]=Zb;c[wa+12>>2]=_b;c[wa+16>>2]=$b;fC(ac,1,32960,wa);Xw(c[bc>>2]|0,33,1,5)|0;c[ea>>2]=c[(c[ea>>2]|0)+20>>2];c[I>>2]=(c[I>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+76>>2]=3;eC(c[bc>>2]|0,3,6100);c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break a;if(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[J>>2]|0;_b=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)>>2]|0;$b=Gi(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0)|0;c[xa>>2]=Zb;c[xa+4>>2]=_b;c[xa+8>>2]=$b;fC(ac,1,32966,xa);Xw(c[bc>>2]|0,33,1,3)|0}c[J>>2]=(c[J>>2]|0)+1}}case 7:{c[K>>2]=0;c[(c[ac>>2]|0)+76>>2]=2;eC(c[bc>>2]|0,2,6112);c[Z>>2]=c[(c[cc>>2]|0)+364+8>>2];while(1){if(!(c[Z>>2]|0))break a;c[ba>>2]=c[(c[Z>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[K>>2]|0;c[K>>2]=_b+1;$b=c[c[ba>>2]>>2]|0;c[ya>>2]=_b;c[ya+4>>2]=$b;fC(ac,1,32970,ya);Xw(c[bc>>2]|0,33,1,2)|0;c[Z>>2]=c[c[Z>>2]>>2]}}case 14:{if(!(c[ec>>2]|0))break a;c[ja>>2]=ri(c[cc>>2]|0,c[ec>>2]|0,c[_a>>2]|0)|0;if(!(c[ja>>2]|0))break a;c[bc>>2]=Vw(c[ac>>2]|0)|0;c[ca>>2]=c[(c[ja>>2]|0)+16>>2];if(!(c[ca>>2]|0))break a;c[L>>2]=0;c[(c[ac>>2]|0)+76>>2]=8;hx(c[ac>>2]|0,c[$b>>2]|0);eC(c[bc>>2]|0,8,6120);while(1){if(!(c[ca>>2]|0))break a;c[V>>2]=0;while(1){if((c[V>>2]|0)>=(c[(c[ca>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[L>>2]|0;Wb=c[V>>2]|0;Xb=c[(c[ca>>2]|0)+8>>2]|0;Yb=c[(c[(c[ja>>2]|0)+4>>2]|0)+(c[(c[ca>>2]|0)+36+(c[V>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[ca>>2]|0)+36+(c[V>>2]<<3)+4>>2]|0;_b=gC(a[(c[ca>>2]|0)+25+1>>0]|0)|0;$b=gC(a[(c[ca>>2]|0)+25>>0]|0)|0;c[za>>2]=Vb;c[za+4>>2]=Wb;c[za+8>>2]=Xb;c[za+12>>2]=Yb;c[za+16>>2]=Zb;c[za+20>>2]=_b;c[za+24>>2]=$b;c[za+28>>2]=32982;fC(ac,1,32973,za);Xw(c[bc>>2]|0,33,1,8)|0;c[V>>2]=(c[V>>2]|0)+1}c[L>>2]=(c[L>>2]|0)+1;c[ca>>2]=c[(c[ca>>2]|0)+4>>2]}}case 13:{c[Wa>>2]=(c[(c[ac>>2]|0)+76>>2]|0)+1;Zb=(c[ac>>2]|0)+76|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+76|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Va>>2]=Yb;Yb=(c[ac>>2]|0)+76|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Xa>>2]=Zb;c[bc>>2]=Vw(c[ac>>2]|0)|0;eC(c[bc>>2]|0,4,6152);hx(c[ac>>2]|0,c[$b>>2]|0);c[Qa>>2]=c[(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Qa>>2]|0))break a;if(c[ec>>2]|0){c[Ua>>2]=Bh(c[ac>>2]|0,0,c[ec>>2]|0,c[_a>>2]|0)|0;c[Qa>>2]=0}else{c[Ua>>2]=c[(c[Qa>>2]|0)+8>>2];c[Qa>>2]=c[c[Qa>>2]>>2]}if(!(c[Ua>>2]|0))continue;if(!(c[(c[Ua>>2]|0)+16>>2]|0))continue;Ez(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ua>>2]|0)+28>>2]|0,0,c[c[Ua>>2]>>2]|0);if(((b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0)|0)>(c[(c[ac>>2]|0)+76>>2]|0))c[(c[ac>>2]|0)+76>>2]=(b[(c[Ua>>2]|0)+34>>1]|0)+(c[Xa>>2]|0);Fz(c[ac>>2]|0,0,c[$b>>2]|0,c[Ua>>2]|0,54);Zw(c[bc>>2]|0,c[Wa>>2]|0,c[c[Ua>>2]>>2]|0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];d:while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;do if(c[Ta>>2]|0){c[Sa>>2]=0;Ez(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ta>>2]|0)+28>>2]|0,0,c[c[Ta>>2]>>2]|0);c[Za>>2]=hC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,0)|0;if(c[Za>>2]|0){_b=207;break d}if(!(c[Sa>>2]|0)){Fz(c[ac>>2]|0,c[Ma>>2]|0,c[$b>>2]|0,c[Ta>>2]|0,54);break}else{$w(c[bc>>2]|0,54,c[Ma>>2]|0,c[(c[Sa>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;Gz(c[ac>>2]|0,c[Sa>>2]|0);break}}while(0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}if((_b|0)==207){_b=0;c[Qa>>2]=0}if(c[Ra>>2]|0)break a;if((c[(c[ac>>2]|0)+72>>2]|0)<(c[Ma>>2]|0))c[(c[ac>>2]|0)+72>>2]=c[Ma>>2];c[Ka>>2]=Dz(c[bc>>2]|0,108,0)|0;c[Ma>>2]=1;c[Ra>>2]=c[(c[Ua>>2]|0)+16>>2];while(1){if(!(c[Ra>>2]|0))break;c[Ta>>2]=ri(c[cc>>2]|0,c[(c[Ra>>2]|0)+8>>2]|0,c[_a>>2]|0)|0;c[Sa>>2]=0;c[La>>2]=0;if(c[Ta>>2]|0)c[Za>>2]=hC(c[ac>>2]|0,c[Ta>>2]|0,c[Ra>>2]|0,Sa,La)|0;c[Ja>>2]=Iz(c[bc>>2]|0)|0;do if((c[Ta>>2]|0)!=0&(c[Sa>>2]|0)==0){c[Na>>2]=c[(c[Ra>>2]|0)+36>>2];l=c[bc>>2]|0;if((c[Na>>2]|0)!=(b[(c[Ua>>2]|0)+32>>1]|0)){$w(l,47,0,c[Na>>2]|0,c[Xa>>2]|0)|0;BA(c[bc>>2]|0,c[Ua>>2]|0,c[Na>>2]|0,c[Xa>>2]|0);Xw(c[bc>>2]|0,76,c[Xa>>2]|0,c[Ja>>2]|0)|0;Yb=c[bc>>2]|0;Zb=c[Xa>>2]|0;Xw(Yb,38,Zb,(Hz(c[bc>>2]|0)|0)+3|0)|0}else Xw(l,103,0,c[Xa>>2]|0)|0;$w(c[bc>>2]|0,70,c[Ma>>2]|0,0,c[Xa>>2]|0)|0;Kz(c[bc>>2]|0,c[Ja>>2]|0)|0;Zb=c[bc>>2]|0;Lz(Zb,(Hz(c[bc>>2]|0)|0)-2|0)}else{c[Pa>>2]=0;while(1){if((c[Pa>>2]|0)>=(c[(c[Ra>>2]|0)+20>>2]|0))break;l=c[Pa>>2]|0;if(c[La>>2]|0)l=c[(c[La>>2]|0)+(l<<2)>>2]|0;else l=c[(c[Ra>>2]|0)+36+(l<<3)>>2]|0;zA(c[bc>>2]|0,c[Ua>>2]|0,0,l,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0);Xw(c[bc>>2]|0,76,(c[Xa>>2]|0)+(c[Pa>>2]|0)|0,c[Ja>>2]|0)|0;c[Pa>>2]=(c[Pa>>2]|0)+1}if(!(c[Ta>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Xa>>2]|0;Xb=c[(c[Ra>>2]|0)+20>>2]|0;Yb=c[Va>>2]|0;Zb=iC(c[cc>>2]|0,c[Sa>>2]|0)|0;_w(Vb,49,Wb,Xb,Yb,Zb,c[(c[Ra>>2]|0)+20>>2]|0)|0;Gh(c[bc>>2]|0,69,c[Ma>>2]|0,c[Ja>>2]|0,c[Va>>2]|0,0)|0}while(0);Xw(c[bc>>2]|0,103,0,(c[Wa>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Wa>>2]|0)+2|0;Xb=(c[Ma>>2]|0)-1|0;c[Ya>>2]=c[(c[Ra>>2]|0)+8>>2];c[Ya+4>>2]=Xb;fC(Yb,Zb,32987,Ya);Xw(c[bc>>2]|0,33,c[Wa>>2]|0,4)|0;Mz(c[bc>>2]|0,c[Ja>>2]|0);Tf(c[cc>>2]|0,c[La>>2]|0);c[Ma>>2]=(c[Ma>>2]|0)+1;c[Ra>>2]=c[(c[Ra>>2]|0)+4>>2]}Xw(c[bc>>2]|0,7,0,(c[Ka>>2]|0)+1|0)|0;Lz(c[bc>>2]|0,c[Ka>>2]|0)}}case 6:{if(!(c[ec>>2]|0))break a;bc=c[cc>>2]|0;jC(bc,(Ei(c[ec>>2]|0,0)|0)&255);break a}case 18:{c[kb>>2]=(d[18221+(d[c[dc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[s>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+76>>2]=6;SB(c[bc>>2]|0,32990);c[wb>>2]=100;if((c[ec>>2]|0)!=0?(Oi(c[ec>>2]|0,wb)|0,(c[wb>>2]|0)<=0):0)c[wb>>2]=100;Xw(c[bc>>2]|0,22,c[wb>>2]|0,1)|0;c[gb>>2]=0;e:while(1){if((c[gb>>2]|0)>=(c[(c[cc>>2]|0)+20>>2]|0))break;c[db>>2]=0;c[xb>>2]=0;if(!((c[$b>>2]|0)>=0?(c[gb>>2]|0)!=(c[$b>>2]|0):0))_b=242;f:do if((_b|0)==242){_b=0;hx(c[ac>>2]|0,c[gb>>2]|0);c[bb>>2]=Dz(c[bc>>2]|0,138,1)|0;Xw(c[bc>>2]|0,21,0,0)|0;Lz(c[bc>>2]|0,c[bb>>2]|0);c[Kb>>2]=(c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)+12>>2]|0)+8;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Hb>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Hb>>2]|0)+42>>0]&32))c[db>>2]=(c[db>>2]|0)+1;c[yb>>2]=0;c[Ab>>2]=c[(c[Hb>>2]|0)+8>>2];while(1){if(!(c[Ab>>2]|0))break;c[db>>2]=(c[db>>2]|0)+1;c[Ab>>2]=c[(c[Ab>>2]|0)+20>>2];c[yb>>2]=(c[yb>>2]|0)+1}if((c[yb>>2]|0)>(c[xb>>2]|0))c[xb>>2]=c[yb>>2];c[Rb>>2]=c[c[Rb>>2]>>2]}c[ab>>2]=Lw(c[cc>>2]|0,(c[db>>2]|0)+1<<2,0)|0;if(!(c[ab>>2]|0))break e;c[db>>2]=0;c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break;c[Ib>>2]=c[(c[Rb>>2]|0)+8>>2];if(!(d[(c[Ib>>2]|0)+42>>0]&32)){Yb=c[(c[Ib>>2]|0)+28>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb}c[Bb>>2]=c[(c[Ib>>2]|0)+8>>2];while(1){if(!(c[Bb>>2]|0))break;Yb=c[(c[Bb>>2]|0)+44>>2]|0;Zb=c[db>>2]|0;c[db>>2]=Zb+1;c[(c[ab>>2]|0)+(Zb<<2)>>2]=Yb;c[Bb>>2]=c[(c[Bb>>2]|0)+20>>2]}c[Rb>>2]=c[c[Rb>>2]>>2]}c[(c[ab>>2]|0)+(c[db>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+76>>2]|0)>(8+(c[xb>>2]|0)|0))l=c[(c[ac>>2]|0)+76>>2]|0;else l=8+(c[xb>>2]|0)|0;c[(c[ac>>2]|0)+76>>2]=l;_w(c[bc>>2]|0,128,2,c[db>>2]|0,1,c[ab>>2]|0,-15)|0;Hh(c[bc>>2]|0,c[gb>>2]&255);c[bb>>2]=Dz(c[bc>>2]|0,76,2)|0;Yb=c[bc>>2]|0;Zb=c[cc>>2]|0;c[Pb>>2]=c[(c[(c[cc>>2]|0)+16>>2]|0)+(c[gb>>2]<<4)>>2];_w(Yb,97,0,3,0,Dh(Zb,33006,Pb)|0,-1)|0;$w(c[bc>>2]|0,29,2,4,1)|0;$w(c[bc>>2]|0,94,4,3,2)|0;Xw(c[bc>>2]|0,33,2,1)|0;Lz(c[bc>>2]|0,c[bb>>2]|0);c[Rb>>2]=c[(c[Kb>>2]|0)+8>>2];while(1){if(!(c[Rb>>2]|0))break f;if(!((c[kb>>2]|0)!=0^1))break f;c[Jb>>2]=c[(c[Rb>>2]|0)+8>>2];c[Fb>>2]=0;c[Lb>>2]=-1;g:do if(c[(c[Jb>>2]|0)+8>>2]|0){if(!(d[(c[Jb>>2]|0)+42>>0]&32))l=0;else l=Hj(c[Jb>>2]|0)|0;c[Db>>2]=l;c[bb>>2]=Dz(c[bc>>2]|0,138,1)|0;Xw(c[bc>>2]|0,21,0,0)|0;Lz(c[bc>>2]|0,c[bb>>2]|0);kC(c[ac>>2]|0);lC(c[ac>>2]|0,c[Jb>>2]|0,54,0,1,0,ib,jb)|0;Xw(c[bc>>2]|0,22,0,7)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;Xw(l,22,0,8+(c[lb>>2]|0)|0)|0;c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}Xw(l,108,c[ib>>2]|0,0)|0;c[ub>>2]=Xw(c[bc>>2]|0,37,7,1)|0;c[lb>>2]=0;while(1){if((c[lb>>2]|0)>=(b[(c[Jb>>2]|0)+34>>1]|0))break;do if((c[lb>>2]|0)!=(b[(c[Jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)+12>>0]|0))break;zA(c[bc>>2]|0,c[Jb>>2]|0,c[ib>>2]|0,c[lb>>2]|0,3);Hh(c[bc>>2]|0,-128);c[mb>>2]=Dz(c[bc>>2]|0,77,3)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Zb=c[cc>>2]|0;Yb=c[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[lb>>2]<<4)>>2]|0;c[Qb>>2]=c[c[Jb>>2]>>2];c[Qb+4>>2]=Yb;c[Sb>>2]=Dh(Zb,33030,Qb)|0;_w(c[bc>>2]|0,97,0,3,0,c[Sb>>2]|0,-1)|0;Xw(c[bc>>2]|0,33,3,1)|0;c[ob>>2]=Dz(c[bc>>2]|0,138,1)|0;cx(c[bc>>2]|0,21)|0;Lz(c[bc>>2]|0,c[mb>>2]|0);Lz(c[bc>>2]|0,c[ob>>2]|0)}while(0);c[lb>>2]=(c[lb>>2]|0)+1}c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){l=c[bc>>2]|0;if(!(c[Cb>>2]|0))break;c[cb>>2]=Iz(l)|0;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[Lb>>2]=bA(c[ac>>2]|0,c[Cb>>2]|0,c[ib>>2]|0,0,0,pb,c[Fb>>2]|0,c[Lb>>2]|0)|0;c[Fb>>2]=c[Cb>>2];Xw(c[bc>>2]|0,37,8+(c[lb>>2]|0)|0,1)|0;c[nb>>2]=Gh(c[bc>>2]|0,69,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[cb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+52>>1]|0)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Zw(c[bc>>2]|0,3,33050)|0;$w(c[bc>>2]|0,94,7,3,3)|0;Zw(c[bc>>2]|0,4,33055)|0;$w(c[bc>>2]|0,94,4,3,3)|0;c[rb>>2]=Zw(c[bc>>2]|0,4,c[c[Cb>>2]>>2]|0)|0;$w(c[bc>>2]|0,94,4,3,3)|0;Xw(c[bc>>2]|0,33,3,1)|0;c[qb>>2]=Dz(c[bc>>2]|0,138,1)|0;cx(c[bc>>2]|0,21)|0;Lz(c[bc>>2]|0,c[nb>>2]|0);if(d[(c[Cb>>2]|0)+54>>0]|0){c[Mb>>2]=Iz(c[bc>>2]|0)|0;c[tb>>2]=0;while(1){if((c[tb>>2]|0)>=(e[(c[Cb>>2]|0)+50>>1]|0))break;c[hb>>2]=b[(c[(c[Cb>>2]|0)+4>>2]|0)+(c[tb>>2]<<1)>>1];if(!((c[hb>>2]|0)>=0?(d[(c[(c[Jb>>2]|0)+4>>2]|0)+(c[hb>>2]<<4)+12>>0]|0)!=0:0))Xw(c[bc>>2]|0,76,(c[Lb>>2]|0)+(c[tb>>2]|0)|0,c[Mb>>2]|0)|0;c[tb>>2]=(c[tb>>2]|0)+1}c[sb>>2]=Dz(c[bc>>2]|0,7,(c[jb>>2]|0)+(c[lb>>2]|0)|0)|0;Kz(c[bc>>2]|0,c[Mb>>2]|0)|0;Lz(c[bc>>2]|0,c[sb>>2]|0);Gh(c[bc>>2]|0,115,(c[jb>>2]|0)+(c[lb>>2]|0)|0,c[Mb>>2]|0,c[Lb>>2]|0,e[(c[Cb>>2]|0)+50>>1]|0)|0;Xw(c[bc>>2]|0,37,1,-1)|0;Zw(c[bc>>2]|0,3,33076)|0;Kz(c[bc>>2]|0,c[rb>>2]|0)|0;Mz(c[bc>>2]|0,c[Mb>>2]|0)}Lz(c[bc>>2]|0,c[qb>>2]|0);cA(c[ac>>2]|0,c[pb>>2]|0)}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}Xw(l,7,c[ib>>2]|0,c[ub>>2]|0)|0;Lz(c[bc>>2]|0,(c[ub>>2]|0)-1|0);Zw(c[bc>>2]|0,2,33103)|0;c[lb>>2]=0;c[Cb>>2]=c[(c[Jb>>2]|0)+8>>2];while(1){if(!(c[Cb>>2]|0))break g;if((c[Db>>2]|0)!=(c[Cb>>2]|0)){c[bb>>2]=Hz(c[bc>>2]|0)|0;Xw(c[bc>>2]|0,138,1,(c[bb>>2]|0)+2|0)|0;Xw(c[bc>>2]|0,21,0,0)|0;Xw(c[bc>>2]|0,50,(c[jb>>2]|0)+(c[lb>>2]|0)|0,3)|0;$w(c[bc>>2]|0,79,8+(c[lb>>2]|0)|0,(c[bb>>2]|0)+8|0,3)|0;Hh(c[bc>>2]|0,-112);Xw(c[bc>>2]|0,37,1,-1)|0;Zw(c[bc>>2]|0,3,c[c[Cb>>2]>>2]|0)|0;$w(c[bc>>2]|0,94,3,2,7)|0;Xw(c[bc>>2]|0,33,7,1)|0}c[Cb>>2]=c[(c[Cb>>2]|0)+20>>2];c[lb>>2]=(c[lb>>2]|0)+1}}while(0);c[Rb>>2]=c[c[Rb>>2]>>2]}}while(0);c[gb>>2]=(c[gb>>2]|0)+1}c[$a>>2]=Ih(c[bc>>2]|0,4,33132,0)|0;if(!(c[$a>>2]|0))break a;c[(c[$a>>2]|0)+8>>2]=0-(c[wb>>2]|0);a[(c[$a>>2]|0)+40+1>>0]=-2;c[(c[$a>>2]|0)+40+16>>2]=33148;break a}case 12:{if(!(c[ec>>2]|0)){if(vz(c[ac>>2]|0)|0)break a;RB(c[bc>>2]|0,33151,c[6168+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ha>>2]=6168;while(1){if(!(c[c[Ha>>2]>>2]|0))break;bc=0==(ig(c[ec>>2]|0,c[c[Ha>>2]>>2]|0)|0);l=c[Ha>>2]|0;if(bc){_b=309;break}c[Ha>>2]=l+8}if((_b|0)==309){if(d[l+4>>0]|0)l=d[(c[Ha>>2]|0)+4>>0]|0;else l=(a[960]|0)==0?3:2;bc=l&255;a[(c[cc>>2]|0)+66>>0]=bc;a[(c[(c[(c[cc>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ha>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Ia>>2]=c[ec>>2];Ch(bc,33160,Ia);break a}case 0:{c[O>>2]=c[(c[Eb>>2]|0)+8>>2];Jh(c[bc>>2]|0,c[$b>>2]|0);if((c[ec>>2]|0)!=0?(d[(c[Eb>>2]|0)+5>>0]&2|0)==0:0){c[w>>2]=Ih(c[bc>>2]|0,2,33185,0)|0;c[(c[w>>2]|0)+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+4>>2]=c[$b>>2];c[(c[w>>2]|0)+20+8>>2]=c[O>>2];bc=Ni(c[ec>>2]|0)|0;c[(c[w>>2]|0)+20+12>>2]=bc;break a}c[x>>2]=Ih(c[bc>>2]|0,3,33193,0)|0;c[(c[x>>2]|0)+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+4>>2]=c[$b>>2];c[(c[x>>2]|0)+20+12>>2]=c[O>>2];UB(c[bc>>2]|0,1);VB(c[bc>>2]|0,0,0,c[dc>>2]|0,-1)|0;mC(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+76>>2]=1;SB(c[bc>>2]|0,33205);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=Ad(ac)|0;c[Ga>>2]=ac;l=c[bc>>2]|0;if(!ac)break;Zw(l,1,c[Ga>>2]|0)|0;Xw(c[bc>>2]|0,33,1,1)|0}mC(l);break a}case 36:{c[N>>2]=(c[c[s>>2]>>2]|0)!=0?c[$b>>2]|0:10;c[G>>2]=0;do if(c[ec>>2]|0){if(!(ig(c[ec>>2]|0,33220)|0)){c[G>>2]=1;break}if(!(ig(c[ec>>2]|0,33225)|0)){c[G>>2]=2;break}if(!(ig(c[ec>>2]|0,33233)|0))c[G>>2]=3}while(0);eC(c[bc>>2]|0,3,6240);c[(c[ac>>2]|0)+76>>2]=3;$w(c[bc>>2]|0,8,c[N>>2]|0,c[G>>2]|0,1)|0;Xw(c[bc>>2]|0,33,1,3)|0;break a}case 35:{if(c[ec>>2]|0){ac=c[cc>>2]|0;zf(ac,Ni(c[ec>>2]|0)|0)|0}if((c[(c[cc>>2]|0)+220>>2]|0)==139)l=c[(c[cc>>2]|0)+224>>2]|0;else l=0;TB(c[bc>>2]|0,33242,l,((l|0)<0)<<31>>31);break a}case 27:{nf(c[cc>>2]|0)|0;break a}case 28:{if((c[ec>>2]|0)!=0?(Fi(c[ec>>2]|0,t)|0)==0:0){ac=t;Gd(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=Gd(-1,-1)|0;TB(ac,33269,bc,C);break a}case 34:{if((c[ec>>2]|0)!=0?(_b=(Fi(c[ec>>2]|0,u)|0)==0,ac=u,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Ef(c[cc>>2]|0,11,c[u>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Ef(c[cc>>2]|0,11,-1)|0;TB(ac,33285,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[ec>>2]|0){ac=c[cc>>2]|0;vf(ac,Ni(c[ec>>2]|0)|0)|0}ac=c[(c[cc>>2]|0)+428>>2]|0;TB(c[bc>>2]|0,33261,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Tf(c[cc>>2]|0,c[dc>>2]|0);Tf(c[cc>>2]|0,c[ec>>2]|0);i=fc;return}function ow(b,d,e){b=b|0;d=d|0;e=e|0;var 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;w=i;i=i+112|0;t=w+24|0;s=w;f=w+108|0;g=w+104|0;h=w+100|0;p=w+96|0;v=w+92|0;j=w+88|0;q=w+64|0;k=w+56|0;l=w+48|0;r=w+44|0;u=w+40|0;n=w+36|0;m=w+32|0;o=w+28|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=c[(c[f>>2]|0)+492>>2];c[j>>2]=c[c[f>>2]>>2];c[(c[f>>2]|0)+492>>2]=0;do if((c[p>>2]|0)!=0?(c[(c[f>>2]|0)+68>>2]|0)==0:0){c[v>>2]=c[c[p>>2]>>2];c[k>>2]=Fh(c[c[f>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0)|0;c[(c[p>>2]|0)+28>>2]=c[g>>2];while(1){e=c[p>>2]|0;if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+4>>2]=e;c[g>>2]=c[(c[g>>2]|0)+28>>2]}Iy(l,c[e>>2]|0);KB(q,c[f>>2]|0,c[k>>2]|0,19272,l);if((PB(q,c[(c[p>>2]|0)+28>>2]|0)|0)==0?(NB(q,c[(c[p>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[j>>2]|0)+144+5>>0]|0)){c[r>>2]=Vw(c[f>>2]|0)|0;if(!(c[r>>2]|0))break;gx(c[f>>2]|0,0,c[k>>2]|0);c[u>>2]=Ow(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;q=c[f>>2]|0;b=(c[k>>2]|0)==1?20513:20532;d=c[v>>2]|0;h=c[(c[p>>2]|0)+4>>2]|0;l=c[u>>2]|0;c[s>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=h;c[s+16>>2]=l;Uw(q,32523,s);Tf(c[j>>2]|0,c[u>>2]|0);Ww(c[f>>2]|0,c[k>>2]|0);r=c[r>>2]|0;s=c[k>>2]|0;u=c[j>>2]|0;c[t>>2]=c[v>>2];Yw(r,s,Dh(u,32587,t)|0)}if(a[(c[j>>2]|0)+144+5>>0]|0){c[n>>2]=c[p>>2];c[m>>2]=(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+40;c[p>>2]=Sj(c[m>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;if(c[p>>2]|0){lh(c[j>>2]|0);break}if((c[(c[n>>2]|0)+20>>2]|0)==(c[(c[n>>2]|0)+24>>2]|0)){c[o>>2]=qj((c[(c[n>>2]|0)+24>>2]|0)+8|0,c[(c[n>>2]|0)+4>>2]|0)|0;c[(c[n>>2]|0)+32>>2]=c[(c[o>>2]|0)+60>>2];c[(c[o>>2]|0)+60>>2]=c[n>>2]}}}}while(0);Qf(c[j>>2]|0,c[p>>2]|0);hv(c[j>>2]|0,c[g>>2]|0);i=w;return}function pw(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=i;i=i+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;F=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;O=Q+116|0;E=Q+112|0;P=Q+108|0;M=Q+104|0;N=Q+100|0;D=Q+96|0;q=Q+72|0;C=Q+68|0;B=Q+64|0;G=Q+60|0;H=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=j;c[K>>2]=k;c[L>>2]=l;c[z>>2]=m;c[A>>2]=n;c[O>>2]=0;c[P>>2]=0;c[M>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[N>>2]=1;c[D>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ch(c[I>>2]|0,32206,r);break}else{c[N>>2]=zz(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,D)|0;if((c[N>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[M>>2]|0)+69>>0]|0)==0:0){if((c[N>>2]|0)!=1?(d[(c[M>>2]|0)+144+5>>0]|0)!=0:0){Tf(c[M>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[E>>2]=JB(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[M>>2]|0)+144+5>>0]|0)==0?((c[E>>2]|0)!=0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[E>>2]|0)+64>>2]|0)==(c[(c[(c[M>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[N>>2]=1;if((a[(c[M>>2]|0)+69>>0]|0)==0?(KB(q,c[I>>2]|0,c[N>>2]|0,19272,c[D>>2]|0),(LB(q,c[K>>2]|0)|0)==0):0){c[E>>2]=JB(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[E>>2]|0)){if((d[(c[M>>2]|0)+144+4>>0]|0)!=1)break;a[(c[M>>2]|0)+144+6>>0]=1;break}if(d[(c[E>>2]|0)+42>>0]&16){Ch(c[I>>2]|0,32252,s);break}c[P>>2]=Jw(c[M>>2]|0,c[D>>2]|0)|0;if((c[P>>2]|0)!=0?0==(Ex(c[I>>2]|0,c[P>>2]|0)|0):0){if(qj((c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2]|0)+40|0,c[P>>2]|0)|0){o=c[I>>2]|0;if(c[A>>2]|0){hx(o,c[N>>2]|0);break}else{c[F>>2]=c[D>>2];Ch(o,32293,F);break}}if(!(zd(c[c[E>>2]>>2]|0,28440,7)|0)){Ch(c[I>>2]|0,32319,t);break}if((c[x>>2]|0)!=49?(c[(c[E>>2]|0)+12>>2]|0)!=0:0){N=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==35?32357:32364;c[u+4>>2]=H;c[u+8>>2]=0;Ch(N,32370,u);break}if((c[x>>2]|0)==49?(c[(c[E>>2]|0)+12>>2]|0)==0:0){N=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ch(N,32407,v);break}c[C>>2]=Fh(c[M>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[B>>2]=7;c[G>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[C>>2]<<4)>>2];if(c[z>>2]|0)o=c[(c[(c[M>>2]|0)+16>>2]|0)+16>>2]|0;else o=c[G>>2]|0;c[H>>2]=o;if((c[C>>2]|0)==1|(c[z>>2]|0)!=0)c[B>>2]=5;if((Sw(c[I>>2]|0,c[B>>2]|0,c[P>>2]|0,c[c[E>>2]>>2]|0,c[H>>2]|0)|0)==0?(Sw(c[I>>2]|0,18,(c[C>>2]|0)==1?20513:20532,0,c[G>>2]|0)|0)==0:0){if((c[x>>2]|0)==49)c[x>>2]=35;c[O>>2]=rh(c[M>>2]|0,36,0)|0;if(!(c[O>>2]|0))break;c[c[O>>2]>>2]=c[P>>2];c[P>>2]=0;H=ph(c[M>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[O>>2]|0)+4>>2]=H;c[(c[O>>2]|0)+20>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+12>>2];c[(c[O>>2]|0)+24>>2]=c[(c[E>>2]|0)+64>>2];a[(c[O>>2]|0)+8>>0]=c[y>>2];a[(c[O>>2]|0)+9>>0]=(c[x>>2]|0)==35?1:2;N=ty(c[M>>2]|0,c[L>>2]|0,1)|0;c[(c[O>>2]|0)+12>>2]=N;N=tz(c[M>>2]|0,c[J>>2]|0)|0;c[(c[O>>2]|0)+16>>2]=N;c[(c[I>>2]|0)+492>>2]=c[O>>2]}}}}while(0);Tf(c[M>>2]|0,c[P>>2]|0);cv(c[M>>2]|0,c[K>>2]|0);ev(c[M>>2]|0,c[J>>2]|0);dv(c[M>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+492>>2]|0){i=Q;return}Qf(c[M>>2]|0,c[O>>2]|0);i=Q;return}function qw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=IB(c[h>>2]|0,110,c[o>>2]|0)|0;if(c[m>>2]|0){o=By(c[h>>2]|0,c[j>>2]|0,1)|0;c[(c[m>>2]|0)+20>>2]=o;o=ty(c[h>>2]|0,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+16>>2]=o;a[(c[m>>2]|0)+1>>0]=a[l>>0]|0}$u(c[h>>2]|0,c[j>>2]|0);dv(c[h>>2]|0,c[k>>2]|0);i=n;return c[m>>2]|0}function rw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+32|0;h=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;l=n+20|0;m=n;c[h>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[l>>0]=g;c[m>>2]=IB(c[h>>2]|0,108,c[o>>2]|0)|0;b=c[h>>2]|0;if(c[m>>2]|0){o=Nx(b,c[k>>2]|0,1)|0;c[(c[m>>2]|0)+8>>2]=o;c[(c[m>>2]|0)+24>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=a[l>>0]|0;l=c[h>>2]|0;o=c[k>>2]|0;av(l,o);o=c[m>>2]|0;i=n;return o|0}else{ev(b,c[j>>2]|0);l=c[h>>2]|0;o=c[k>>2]|0;av(l,o);o=c[m>>2]|0;i=n;return o|0}return 0}function sw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[h>>2]=IB(c[f>>2]|0,109,c[k>>2]|0)|0;if(c[h>>2]|0){k=ty(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=k;a[(c[h>>2]|0)+1>>0]=10}dv(c[f>>2]|0,c[g>>2]|0);i=j;return c[h>>2]|0}function tw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=rh(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){av(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;i=j;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;i=j;return h|0}return 0}function uw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;p=r;l=r+40|0;m=r+36|0;n=r+32|0;h=r+28|0;f=r+24|0;q=r+20|0;j=r+16|0;o=r+12|0;g=r+8|0;c[l>>2]=b;c[m>>2]=d;c[n>>2]=e;c[h>>2]=0;c[o>>2]=c[c[l>>2]>>2];if(a[(c[o>>2]|0)+69>>0]|0){p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}if(vz(c[l>>2]|0)|0){p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}c[q>>2]=c[(c[m>>2]|0)+8+4>>2];c[j>>2]=c[(c[m>>2]|0)+8+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;b=c[f>>2]|0;c[g>>2]=(c[f>>2]|0)<2?b^1:b;if(!((c[q>>2]|0)!=0?(ig(c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0,c[q>>2]|0)|0)!=0:0))k=7;if((k|0)==7?(k=0,c[h>>2]=qj((c[(c[(c[o>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+40|0,c[j>>2]|0)|0,(c[h>>2]|0)!=0):0)break;c[f>>2]=(c[f>>2]|0)+1}if(c[h>>2]|0){GB(c[l>>2]|0,c[h>>2]|0);p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}f=c[l>>2]|0;if(c[n>>2]|0)FB(f,c[q>>2]|0);else{c[p>>2]=c[m>>2];c[p+4>>2]=0;Ch(f,32135,p)}a[(c[l>>2]|0)+17>>0]=1;p=c[o>>2]|0;q=c[m>>2]|0;cv(p,q);i=r;return}function vw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;oB(c[k>>2]|0,24,5280,c[j>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0);i=f;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;oB(c[f>>2]|0,25,5252,c[e>>2]|0,0,0,c[e>>2]|0);i=d;return}function xw(b,d,e){b=b|0;d=d|0;e=e|0;var 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;u=i;i=i+64|0;t=u;q=u+48|0;f=u+44|0;g=u+40|0;j=u+36|0;m=u+32|0;o=u+28|0;l=u+24|0;s=u+20|0;r=u+16|0;h=u+12|0;k=u+8|0;n=u+4|0;c[q>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[c[q>>2]>>2];if(vz(c[q>>2]|0)|0){i=u;return}if(!(c[f>>2]|0)){Yz(c[q>>2]|0,0);i=u;return}if(!((c[g>>2]|0)!=0?(c[c[g>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[n>>2]=Jw(c[c[q>>2]>>2]|0,c[f>>2]|0)|0;if(!(c[n>>2]|0)){i=u;return}c[j>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[n>>2]|0,0)|0;if(!(c[j>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);break}Yz(c[q>>2]|0,c[n>>2]|0);Tf(c[h>>2]|0,c[n>>2]|0);i=u;return}while(0);c[r>>2]=zz(c[q>>2]|0,c[f>>2]|0,c[g>>2]|0,k)|0;if((c[r>>2]|0)<0){i=u;return}c[m>>2]=Jw(c[h>>2]|0,c[k>>2]|0)|0;if(!(c[m>>2]|0)){i=u;return}c[o>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[l>>2]=ri(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;if(c[l>>2]|0){Zz(c[q>>2]|0,c[l>>2]|0,0);Tf(c[h>>2]|0,c[m>>2]|0);i=u;return}c[s>>2]=Ij(c[h>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;Tf(c[h>>2]|0,c[m>>2]|0);f=c[q>>2]|0;if(c[s>>2]|0){gx(f,0,c[r>>2]|0);_z(c[q>>2]|0,c[s>>2]|0,-1);i=u;return}else{Ch(f,31595,t);i=u;return}}function yw(a,b,d){a=a|0;b=b|0;d=d|0;var 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;r=i;i=i+48|0;l=r+44|0;e=r+40|0;f=r+36|0;m=r+32|0;h=r+28|0;g=r+24|0;q=r+20|0;k=r+16|0;o=r+12|0;n=r+8|0;j=r+4|0;p=r;c[l>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[c[l>>2]>>2];if(vz(c[l>>2]|0)|0){i=r;return}a:do if(c[e>>2]|0){if(c[(c[f>>2]|0)+4>>2]|0){c[h>>2]=zz(c[l>>2]|0,c[e>>2]|0,c[f>>2]|0,j)|0;if((c[h>>2]|0)<0)break;c[k>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Jw(c[m>>2]|0,c[j>>2]|0)|0;if(!(c[q>>2]|0))break;j=Ij(c[m>>2]|0,c[q>>2]|0,c[k>>2]|0)|0;c[n>>2]=j;e=c[l>>2]|0;if(!j){n=Bh(e,0,c[q>>2]|0,c[k>>2]|0)|0;c[o>>2]=n;if(n)yz(c[l>>2]|0,c[o>>2]|0,0)}else yz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0);break}c[h>>2]=xz(c[m>>2]|0,c[e>>2]|0)|0;if((c[h>>2]|0)>=0){wz(c[l>>2]|0,c[h>>2]|0);break}c[q>>2]=Jw(c[m>>2]|0,c[e>>2]|0)|0;if(c[q>>2]|0){k=Ij(c[m>>2]|0,c[q>>2]|0,0)|0;c[n>>2]=k;e=c[l>>2]|0;if(!k){n=Bh(e,0,c[q>>2]|0,0)|0;c[o>>2]=n;if(n)yz(c[l>>2]|0,c[o>>2]|0,0)}else yz(e,c[(c[n>>2]|0)+12>>2]|0,c[n>>2]|0);Tf(c[m>>2]|0,c[q>>2]|0)}}else{c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[m>>2]|0)+20>>2]|0))break a;if((c[g>>2]|0)!=1)wz(c[l>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);c[p>>2]=Vw(c[l>>2]|0)|0;if(!(c[p>>2]|0)){i=r;return}cx(c[p>>2]|0,147)|0;i=r;return}function zw(b,e,f){b=b|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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+176|0;y=E+96|0;x=E+80|0;w=E+40|0;z=E+16|0;v=E+8|0;h=E;j=E+172|0;k=E+168|0;g=E+164|0;n=E+160|0;A=E+156|0;r=E+152|0;B=E+148|0;l=E+144|0;o=E+140|0;C=E+136|0;u=E+132|0;D=E+128|0;s=E+124|0;t=E+120|0;m=E+116|0;p=E+112|0;q=E+108|0;c[j>>2]=b;c[k>>2]=e;c[g>>2]=f;c[B>>2]=0;c[l>>2]=c[c[j>>2]>>2];c[D>>2]=0;c[s>>2]=0;c[t>>2]=c[(c[l>>2]|0)+24>>2];do if(((a[(c[l>>2]|0)+69>>0]|0)==0?(c[r>>2]=ex(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,(c[r>>2]|0)!=0):0)?(c[n>>2]=Fh(c[c[j>>2]>>2]|0,c[(c[r>>2]|0)+64>>2]|0)|0,c[A>>2]=c[(c[(c[l>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2],e=(c[l>>2]|0)+24|0,c[e>>2]=c[e>>2]|2097152,c[B>>2]=Jw(c[l>>2]|0,c[g>>2]|0)|0,(c[B>>2]|0)!=0):0){if((ri(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0?(Ij(c[l>>2]|0,c[B>>2]|0,c[A>>2]|0)|0)==0:0){if(fx(c[j>>2]|0,c[c[r>>2]>>2]|0)|0)break;if(Ex(c[j>>2]|0,c[B>>2]|0)|0)break;g=c[j>>2]|0;if(c[(c[r>>2]|0)+12>>2]|0){c[v>>2]=c[c[r>>2]>>2];Ch(g,28933,v);break}if(Sw(g,26,c[A>>2]|0,c[c[r>>2]>>2]|0,0)|0)break;if(Fx(c[j>>2]|0,c[r>>2]|0)|0)break;if((d[(c[r>>2]|0)+42>>0]&16|0)!=0?(c[s>>2]=Gx(c[l>>2]|0,c[r>>2]|0)|0,(c[(c[c[(c[s>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[s>>2]=0;c[u>>2]=Vw(c[j>>2]|0)|0;if(!(c[u>>2]|0))break;gx(c[j>>2]|0,(c[s>>2]|0)!=0&1,c[n>>2]|0);Ww(c[j>>2]|0,c[n>>2]|0);if(c[s>>2]|0){h=(c[j>>2]|0)+76|0;v=(c[h>>2]|0)+1|0;c[h>>2]=v;c[m>>2]=v;Zw(c[u>>2]|0,c[m>>2]|0,c[B>>2]|0)|0;_w(c[u>>2]|0,155,c[m>>2]|0,0,0,c[s>>2]|0,-10)|0;Hx(c[j>>2]|0)}c[C>>2]=c[c[r>>2]>>2];c[o>>2]=Ix(c[C>>2]|0,-1)|0;if((c[(c[l>>2]|0)+24>>2]&524288|0)!=0?(v=Jx(c[j>>2]|0,c[r>>2]|0)|0,c[D>>2]=v,(v|0)!=0):0){v=c[j>>2]|0;h=(c[n>>2]|0)==1?20513:20532;m=c[C>>2]|0;s=c[B>>2]|0;u=c[D>>2]|0;c[z>>2]=c[A>>2];c[z+4>>2]=h;c[z+8>>2]=m;c[z+12>>2]=s;c[z+16>>2]=u;Uw(v,28960,z);Tf(c[l>>2]|0,c[D>>2]|0)}z=c[j>>2]|0;e=(c[n>>2]|0)==1?20513:20532;h=c[B>>2]|0;m=c[B>>2]|0;n=c[B>>2]|0;s=c[B>>2]|0;u=c[B>>2]|0;v=c[o>>2]|0;C=c[C>>2]|0;c[w>>2]=c[A>>2];c[w+4>>2]=e;c[w+8>>2]=h;c[w+12>>2]=m;c[w+16>>2]=n;c[w+20>>2]=s;c[w+24>>2]=u;c[w+28>>2]=v;c[w+32>>2]=C;Uw(z,29029,w);if(ri(c[l>>2]|0,29413,c[A>>2]|0)|0){C=c[j>>2]|0;w=c[B>>2]|0;z=c[c[r>>2]>>2]|0;c[x>>2]=c[A>>2];c[x+4>>2]=w;c[x+8>>2]=z;Uw(C,29429,x)}C=mx(c[j>>2]|0,c[r>>2]|0)|0;c[D>>2]=C;if(C){C=c[j>>2]|0;z=c[B>>2]|0;A=c[D>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=z;c[y+8>>2]=A;Uw(C,29487,y);Tf(c[l>>2]|0,c[D>>2]|0)}a:do if(c[(c[l>>2]|0)+24>>2]&524288){c[p>>2]=Kx(c[r>>2]|0)|0;while(1){if(!(c[p>>2]|0))break a;c[q>>2]=c[c[p>>2]>>2];if((c[q>>2]|0)!=(c[r>>2]|0))kx(c[j>>2]|0,c[c[p>>2]>>2]|0,c[c[q>>2]>>2]|0);c[p>>2]=c[(c[p>>2]|0)+12>>2]}}while(0);kx(c[j>>2]|0,c[r>>2]|0,c[B>>2]|0);break}D=c[j>>2]|0;c[h>>2]=c[B>>2];Ch(D,28874,h)}while(0);cv(c[l>>2]|0,c[k>>2]|0);Tf(c[l>>2]|0,c[B>>2]|0);c[(c[l>>2]|0)+24>>2]=c[t>>2];i=E;return}function Aw(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+128|0;v=D+40|0;u=D+32|0;y=D+24|0;x=D+16|0;w=D+8|0;t=D;g=D+124|0;h=D+120|0;n=D+116|0;o=D+112|0;k=D+108|0;A=D+104|0;C=D+100|0;z=D+96|0;l=D+92|0;m=D+88|0;j=D+84|0;s=D+80|0;p=D+76|0;q=D+72|0;B=D+68|0;r=D+64|0;c[g>>2]=e;c[h>>2]=f;c[s>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=c[c[g>>2]>>2];if(c[(c[g>>2]|0)+68>>2]|0){i=D;return}if(d[(c[j>>2]|0)+69>>0]|0){i=D;return}c[n>>2]=c[(c[g>>2]|0)+488>>2];c[k>>2]=Fh(c[j>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;c[A>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[C>>2]=(c[c[n>>2]>>2]|0)+16;c[l>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+34>>1]|0)-1<<4);c[m>>2]=c[(c[l>>2]|0)+4>>2];c[o>>2]=ri(c[j>>2]|0,c[C>>2]|0,c[A>>2]|0)|0;if(Sw(c[g>>2]|0,26,c[A>>2]|0,c[c[o>>2]>>2]|0,0)|0){i=D;return}if((c[m>>2]|0)!=0?(d[c[(c[m>>2]|0)+12>>2]>>0]|0)==101:0)c[m>>2]=0;if(d[(c[l>>2]|0)+15>>0]&1){Ch(c[g>>2]|0,28476,t);i=D;return}if(c[(c[n>>2]|0)+8>>2]|0){Ch(c[g>>2]|0,28508,w);i=D;return}if((c[(c[j>>2]|0)+24>>2]&524288|0)!=0?((c[m>>2]|0)!=0?(c[(c[n>>2]|0)+16>>2]|0)!=0:0):0){Ch(c[g>>2]|0,28535,x);i=D;return}if(!((c[m>>2]|0)!=0?1:(d[(c[l>>2]|0)+12>>0]|0)==0)){Ch(c[g>>2]|0,28594,y);i=D;return}do if(c[m>>2]|0){c[p>>2]=0;c[q>>2]=jx(c[j>>2]|0,c[m>>2]|0,1,65,p)|0;if(c[q>>2]|0){i=D;return}if(c[p>>2]|0){bh(c[p>>2]|0);break}Ch(c[g>>2]|0,28647,u);i=D;return}while(0);c[z>>2]=Ow(c[j>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;if(c[z>>2]|0){c[B>>2]=(c[z>>2]|0)+((c[(c[h>>2]|0)+4>>2]|0)-1);c[r>>2]=c[(c[j>>2]|0)+24>>2];while(1){if((c[B>>2]|0)>>>0<=(c[z>>2]|0)>>>0)break;if((a[c[B>>2]>>0]|0)!=59?(d[19011+(d[c[B>>2]>>0]|0)>>0]&1|0)==0:0)break;y=c[B>>2]|0;c[B>>2]=y+-1;a[y>>0]=0}B=(c[j>>2]|0)+24|0;c[B>>2]=c[B>>2]|2097152;B=c[g>>2]|0;u=(c[k>>2]|0)==1?20513:20532;w=c[(c[n>>2]|0)+44>>2]|0;x=c[z>>2]|0;y=(c[(c[n>>2]|0)+44>>2]|0)+1|0;C=c[C>>2]|0;c[v>>2]=c[A>>2];c[v+4>>2]=u;c[v+8>>2]=w;c[v+12>>2]=x;c[v+16>>2]=y;c[v+20>>2]=C;Uw(B,28693,v);Tf(c[j>>2]|0,c[z>>2]|0);c[(c[j>>2]|0)+24>>2]=c[r>>2]}$w(c[s>>2]|0,52,c[k>>2]|0,2,4)|0;kx(c[g>>2]|0,c[o>>2]|0,c[c[o>>2]>>2]|0);i=D;return}function Bw(e,f){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,r=0,s=0,t=0,u=0;u=i;i=i+64|0;t=u+16|0;s=u+8|0;g=u;h=u+56|0;j=u+52|0;p=u+48|0;q=u+44|0;r=u+40|0;m=u+36|0;l=u+32|0;n=u+28|0;k=u+24|0;o=u+20|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[c[h>>2]>>2];do if((a[(c[k>>2]|0)+69>>0]|0)==0?(c[q>>2]=ex(c[h>>2]|0,0,(c[j>>2]|0)+8|0)|0,(c[q>>2]|0)!=0):0){if(d[(c[q>>2]|0)+42>>0]&16){Ch(c[h>>2]|0,28287,g);break}e=c[h>>2]|0;if(c[(c[q>>2]|0)+12>>2]|0){Ch(e,28321,s);break}if(((0==(fx(e,c[c[q>>2]>>2]|0)|0)?(c[m>>2]=Fh(c[k>>2]|0,c[(c[q>>2]|0)+64>>2]|0)|0,c[p>>2]=rh(c[k>>2]|0,72,0)|0,(c[p>>2]|0)!=0):0)?(c[(c[h>>2]|0)+488>>2]=c[p>>2],b[(c[p>>2]|0)+36>>1]=1,b[(c[p>>2]|0)+34>>1]=b[(c[q>>2]|0)+34>>1]|0,c[n>>2]=((((b[(c[p>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=rh(c[k>>2]|0,c[n>>2]<<4,0)|0,c[(c[p>>2]|0)+4>>2]=s,s=c[k>>2]|0,c[t>>2]=c[c[q>>2]>>2],t=Dh(s,28351,t)|0,c[c[p>>2]>>2]=t,(c[(c[p>>2]|0)+4>>2]|0)!=0):0)?(c[c[p>>2]>>2]|0)!=0:0){rR(c[(c[p>>2]|0)+4>>2]|0,c[(c[q>>2]|0)+4>>2]|0,b[(c[p>>2]|0)+34>>1]<<4|0)|0;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(b[(c[p>>2]|0)+34>>1]|0))break;c[o>>2]=(c[(c[p>>2]|0)+4>>2]|0)+(c[l>>2]<<4);t=ph(c[k>>2]|0,c[c[o>>2]>>2]|0)|0;c[c[o>>2]>>2]=t;c[(c[o>>2]|0)+8>>2]=0;c[(c[o>>2]|0)+4>>2]=0;c[l>>2]=(c[l>>2]|0)+1}c[(c[p>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2];c[(c[p>>2]|0)+44>>2]=c[(c[q>>2]|0)+44>>2];b[(c[p>>2]|0)+36>>1]=1;gx(c[h>>2]|0,0,c[m>>2]|0);c[r>>2]=Vw(c[h>>2]|0)|0;if(c[r>>2]|0)Ww(c[h>>2]|0,c[m>>2]|0)}}while(0);cv(c[k>>2]|0,c[j>>2]|0);i=u;return}function Cw(b,d){b=b|0;d=d|0;var 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;u=i;i=i+96|0;q=u+32|0;p=u+8|0;o=u;e=u+80|0;f=u+76|0;m=u+72|0;g=u+68|0;s=u+64|0;t=u+60|0;h=u+56|0;j=u+52|0;n=u+48|0;k=u+44|0;l=u+40|0;r=u+36|0;c[e>>2]=b;c[f>>2]=d;c[m>>2]=c[(c[e>>2]|0)+488>>2];c[g>>2]=c[c[e>>2]>>2];if(!(c[m>>2]|0)){i=u;return}Qw(c[e>>2]|0);c[(c[e>>2]|0)+516>>2]=0;if((c[(c[m>>2]|0)+48>>2]|0)<1){i=u;return}if(!(a[(c[g>>2]|0)+144+5>>0]|0)){if(c[f>>2]|0)c[(c[e>>2]|0)+500+4>>2]=(c[c[f>>2]>>2]|0)-(c[(c[e>>2]|0)+500>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);r=c[g>>2]|0;c[o>>2]=(c[e>>2]|0)+500;c[s>>2]=Dh(r,28148,o)|0;c[h>>2]=Fh(c[g>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;r=c[e>>2]|0;d=(c[h>>2]|0)==1?20513:20532;k=c[c[m>>2]>>2]|0;b=c[c[m>>2]>>2]|0;l=c[s>>2]|0;o=c[(c[e>>2]|0)+392>>2]|0;c[p>>2]=c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[p+4>>2]=d;c[p+8>>2]=k;c[p+12>>2]=b;c[p+16>>2]=l;c[p+20>>2]=o;Uw(r,28172,p);Tf(c[g>>2]|0,c[s>>2]|0);c[n>>2]=Vw(c[e>>2]|0)|0;Ww(c[e>>2]|0,c[h>>2]|0);Xw(c[n>>2]|0,147,0,0)|0;s=c[g>>2]|0;c[q>>2]=c[c[m>>2]>>2];c[t>>2]=Dh(s,28260,q)|0;Yw(c[n>>2]|0,c[h>>2]|0,c[t>>2]|0);s=(c[e>>2]|0)+76|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[j>>2]=t;Zw(c[n>>2]|0,c[j>>2]|0,c[c[m>>2]>>2]|0)|0;Xw(c[n>>2]|0,150,c[h>>2]|0,c[j>>2]|0)|0;i=u;return}c[l>>2]=c[(c[m>>2]|0)+64>>2];c[r>>2]=c[c[m>>2]>>2];c[k>>2]=Sj((c[l>>2]|0)+8|0,c[r>>2]|0,c[m>>2]|0)|0;if(c[k>>2]|0){lh(c[g>>2]|0);i=u;return}else{c[(c[e>>2]|0)+488>>2]=0;i=u;return}}function Dw(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+32|0;j=o+28|0;r=o+24|0;q=o+20|0;k=o+16|0;p=o+12|0;m=o+8|0;n=o+4|0;l=o;c[j>>2]=b;c[r>>2]=e;c[q>>2]=f;c[k>>2]=g;c[p>>2]=h;sv(c[j>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[n>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[n>>2]|0)){i=o;return}c[l>>2]=c[c[j>>2]>>2];c[m>>2]=Fh(c[l>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0;r=(c[n>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;r=c[l>>2]|0;q=c[n>>2]|0;Rw(r,q,Jw(c[l>>2]|0,c[k>>2]|0)|0);Rw(c[l>>2]|0,c[n>>2]|0,0);q=c[l>>2]|0;r=c[n>>2]|0;Rw(q,r,ph(c[l>>2]|0,c[c[n>>2]>>2]|0)|0);c[(c[j>>2]|0)+500+4>>2]=(c[c[k>>2]>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)-(c[(c[j>>2]|0)+500>>2]|0);if(!(c[(c[n>>2]|0)+52>>2]|0)){i=o;return}Sw(c[j>>2]|0,29,c[c[n>>2]>>2]|0,c[c[(c[n>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[j>>2]>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;i=o;return}function Ew(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qw(c[d>>2]|0);c[(c[d>>2]|0)+516>>2]=0;c[(c[d>>2]|0)+516+4>>2]=0;i=b;return}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+516;b=c[d>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=c[b>>2];c[(c[e>>2]|0)+4>>2]=c[(c[d>>2]|0)+4>>2];i=f;return}else{c[(c[e>>2]|0)+4>>2]=(c[c[d>>2]>>2]|0)+(c[b+4>>2]|0)-(c[c[e>>2]>>2]|0);i=f;return}}function Gw(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;q=s;h=s+40|0;j=s+36|0;t=s+32|0;k=s+28|0;l=s+24|0;m=s+20|0;p=s+16|0;r=s+12|0;n=s+8|0;o=s+4|0;c[h>>2]=b;c[j>>2]=d;c[t>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[r>>2]=Jw(c[c[h>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[r>>2]|0)!=0&(c[j>>2]|0)!=0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[j>>2]>>2]|0))break a;if(!(ig(c[r>>2]|0,c[(c[j>>2]|0)+8+(c[n>>2]<<4)>>2]|0)|0)){t=c[h>>2]|0;c[q>>2]=c[r>>2];Ch(t,28080,q)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[j>>2]|0){c[o>>2]=24+(c[c[j>>2]>>2]<<4);t=c[o>>2]|0;c[p>>2]=Kw(c[m>>2]|0,c[j>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[p>>2]=rh(c[m>>2]|0,24,0)|0;if(a[(c[m>>2]|0)+69>>0]|0){$u(c[m>>2]|0,c[k>>2]|0);av(c[m>>2]|0,c[l>>2]|0);Tf(c[m>>2]|0,c[r>>2]|0);c[p>>2]=c[j>>2];t=c[p>>2]|0;i=s;return t|0}else{c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+8>>2]=c[l>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+4>>2]=c[k>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)>>2]=c[r>>2];c[(c[p>>2]|0)+8+(c[c[p>>2]>>2]<<4)+12>>2]=0;t=c[p>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[p>>2]|0;i=s;return t|0}return 0}function Hw(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+4|0;k=j+8|0;h=j;c[l>>2]=f;a[k>>0]=g;c[h>>2]=b[11634+(c[l>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[k>>0]|0);i=j;return e[12264+(c[h>>2]<<1)>>1]|0}function Iw(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];while(1){if((c[c[b>>2]>>2]|0)<0)break;fv(c[b>>2]|0)}c[(c[b>>2]|0)+4>>2]=c[d>>2];i=e;return}function Jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=Ow(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Pw(c[f>>2]|0)|0;f=c[f>>2]|0;i=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function Kw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l+8|0;k=l;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=f;d=c[h>>2]|0;if(!(c[j>>2]|0)){c[g>>2]=Lw(d,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}if((gu(d,c[j>>2]|0)|0)!=0?(b=k,a=c[b+4>>2]|0,a>>>0<0|((a|0)==0?(c[b>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[j>>2];k=c[g>>2]|0;i=l;return k|0}c[g>>2]=Mw(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Lw(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;g=l+16|0;h=l+12|0;j=l;k=l+8|0;c[h>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;k=c[g>>2]|0;i=l;return k|0}}else{b=j;f=c[b+4>>2]|0;d=(c[h>>2]|0)+256|0;if(f>>>0>0|((f|0)==0?(c[b>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){k=d+16+4|0;c[k>>2]=(c[k>>2]|0)+1;break}b=c[d+28>>2]|0;c[k>>2]=b;if(!b){k=(c[h>>2]|0)+256+16+8|0;c[k>>2]=(c[k>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[k>>2]>>2];j=(c[h>>2]|0)+256+8|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[h>>2]|0)+256+16|0;c[j>>2]=(c[j>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[k>>2];k=c[g>>2]|0;i=l;return k|0}while(0);k=j;c[g>>2]=Nw(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[g>>2]|0;i=l;return k|0}function Mw(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=a;c[j>>2]=b;b=k;c[b>>2]=f;c[b+4>>2]=g;c[l>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0){l=c[l>>2]|0;i=m;return l|0}if(gu(c[h>>2]|0,c[j>>2]|0)|0){b=k;c[l>>2]=Lw(c[h>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}rR(c[l>>2]|0,c[j>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Tf(c[h>>2]|0,c[j>>2]|0);l=c[l>>2]|0;i=m;return l|0}else{b=k;c[l>>2]=Md(c[j>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}lh(c[h>>2]|0);l=c[l>>2]|0;i=m;return l|0}return 0}function Nw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a=h;c[f>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;i=g;return h|0}lh(c[e>>2]|0);h=c[f>>2]|0;i=g;return h|0}function Ow(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m;l=m+8|0;c[h>>2]=b;c[j>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}b=c[h>>2]|0;d=k;d=pR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[l>>2]=Lw(b,d,C)|0;if(c[l>>2]|0){rR(c[l>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a[(c[l>>2]|0)+(c[k>>2]|0)>>0]=0}c[g>>2]=c[l>>2];l=c[g>>2]|0;i=m;return l|0}function Pw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;d=j+12|0;e=j+8|0;h=j+16|0;f=j+4|0;g=j;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}a[h>>0]=a[c[e>>2]>>0]|0;switch(a[h>>0]|0){case 96:case 34:case 39:break;case 91:{a[h>>0]=93;break}default:{c[d>>2]=-1;h=c[d>>2]|0;i=j;return h|0}}c[f>>2]=1;c[g>>2]=0;while(1){b=c[f>>2]|0;if((a[(c[e>>2]|0)+(c[f>>2]|0)>>0]|0)==(a[h>>0]|0)){if((a[(c[e>>2]|0)+(b+1)>>0]|0)!=(a[h>>0]|0))break;k=a[h>>0]|0;b=c[g>>2]|0;c[g>>2]=b+1;a[(c[e>>2]|0)+b>>0]=k;c[f>>2]=(c[f>>2]|0)+1}else{b=a[(c[e>>2]|0)+b>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[(c[e>>2]|0)+k>>0]=b}c[f>>2]=(c[f>>2]|0)+1}a[(c[e>>2]|0)+(c[g>>2]|0)>>0]=0;c[d>>2]=c[g>>2];k=c[d>>2]|0;i=j;return k|0}function Qw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;b=g+12|0;f=g+8|0;e=g+4|0;d=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+516>>2]|0)){i=g;return}if(!(c[(c[b>>2]|0)+488>>2]|0)){i=g;return}c[f>>2]=c[(c[b>>2]|0)+516>>2];c[e>>2]=c[(c[b>>2]|0)+516+4>>2];c[d>>2]=c[c[b>>2]>>2];h=c[d>>2]|0;b=c[(c[b>>2]|0)+488>>2]|0;a=c[e>>2]|0;Rw(h,b,Ow(c[d>>2]|0,c[f>>2]|0,a,((a|0)<0)<<31>>31)|0);i=g;return}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;e=k+20|0;f=k+16|0;g=k+12|0;l=k+8|0;h=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[l>>2]|0;c[h>>2]=Kw(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Tf(c[e>>2]|0,c[g>>2]|0);i=k;return}else{d=(c[f>>2]|0)+48|0;l=c[d>>2]|0;c[d>>2]=l+1;c[j>>2]=l;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[j>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];i=k;return}}function Sw(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r;h=r+32|0;j=r+28|0;k=r+24|0;l=r+20|0;m=r+16|0;n=r+12|0;o=r+8|0;p=r+4|0;c[j>>2]=a;c[k>>2]=b;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[c[j>>2]>>2];if((d[(c[o>>2]|0)+144+5>>0]|0|0)==0?(d[(c[j>>2]|0)+454>>0]|0|0)==0:0){if(!(c[(c[o>>2]|0)+296>>2]|0)){c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}c[p>>2]=Sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[(c[j>>2]|0)+496>>2]|0)|0;if((c[p>>2]|0)!=1){if((c[p>>2]|0)!=0&(c[p>>2]|0)!=2){c[p>>2]=1;Tw(c[j>>2]|0)}}else{Ch(c[j>>2]|0,28110,q);c[(c[j>>2]|0)+12>>2]=23}c[h>>2]=c[p>>2];g=c[h>>2]|0;i=r;return g|0}c[h>>2]=0;g=c[h>>2]|0;i=r;return g|0}function Tw(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b+4|0;c[d>>2]=a;Ch(c[d>>2]|0,28125,b);c[(c[d>>2]|0)+12>>2]=1;i=b;return}function Uw(d,e,f){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;o=i;i=i+144|0;j=o+36|0;g=o+32|0;h=o+16|0;n=o+8|0;m=o+4|0;k=o;l=o+40|0;c[j>>2]=d;c[g>>2]=e;c[m>>2]=0;c[k>>2]=c[c[j>>2]>>2];if(c[(c[j>>2]|0)+68>>2]|0){i=o;return}c[h>>2]=f;c[n>>2]=dx(c[k>>2]|0,c[g>>2]|0,h)|0;if(!(c[n>>2]|0)){i=o;return}g=(c[j>>2]|0)+18|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24;g=l;h=(c[j>>2]|0)+444|0;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));g=(c[j>>2]|0)+444|0;d=g+100|0;do{b[g>>1]=0;g=g+2|0}while((g|0)<(d|0));Wh(c[j>>2]|0,c[n>>2]|0,m)|0;Tf(c[k>>2]|0,c[m>>2]|0);Tf(c[k>>2]|0,c[n>>2]|0);g=(c[j>>2]|0)+444|0;h=l;d=g+100|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(d|0));n=(c[j>>2]|0)+18|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24;i=o;return}function Vw(b){b=b|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[f>>2]|0)){b=Eh(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)cx(c[f>>2]|0,158)|0;if((c[(c[d>>2]|0)+416>>2]|0)==0?((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8|0)==0:0)a[(c[d>>2]|0)+23>>0]=1}i=g;return c[f>>2]|0}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];$w(c[g>>2]|0,52,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;i=d;return}function Xw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;e=$w(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return e|0}function Yw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g+12|0;j=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[j>>2]=b;c[h>>2]=d;_w(c[e>>2]|0,123,c[j>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;Jh(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=g;return}function Zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=_w(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;i=e;return d|0}function _w(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+32|0;n=k+28|0;r=k+24|0;q=k+20|0;p=k+16|0;o=k+12|0;m=k+8|0;l=k+4|0;j=k;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[l>>2]=h;c[j>>2]=$w(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;Kh(c[n>>2]|0,c[j>>2]|0,c[m>>2]|0,c[l>>2]|0);i=k;return c[j>>2]|0}function $w(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=c[(c[j>>2]|0)+32>>2];d=c[j>>2]|0;if((c[(c[(c[j>>2]|0)+24>>2]|0)+88>>2]|0)<=(c[o>>2]|0)){c[h>>2]=ax(d,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;p=c[h>>2]|0;i=q;return p|0}else{g=d+32|0;c[g>>2]=(c[g>>2]|0)+1;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0);a[c[p>>2]>>0]=c[k>>2];a[(c[p>>2]|0)+3>>0]=0;c[(c[p>>2]|0)+4>>2]=c[l>>2];c[(c[p>>2]|0)+8>>2]=c[m>>2];c[(c[p>>2]|0)+12>>2]=c[n>>2];c[(c[p>>2]|0)+16>>2]=0;a[(c[p>>2]|0)+1>>0]=0;c[h>>2]=c[o>>2];p=c[h>>2]|0;i=q;return p|0}return 0}function ax(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=a;c[j>>2]=b;c[k>>2]=d;c[l>>2]=e;c[m>>2]=f;if(bx(c[h>>2]|0,1)|0){c[g>>2]=1;f=c[g>>2]|0;i=n;return f|0}else{c[g>>2]=$w(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;f=c[g>>2]|0;i=n;return f|0}return 0}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;d=h+16|0;g=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+24>>2];if(c[(c[f>>2]|0)+88>>2]|0)b=c[(c[f>>2]|0)+88>>2]<<1;else b=51;c[e>>2]=b;c[g>>2]=Kw(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,(c[e>>2]|0)*20|0,0)|0;if(!(c[g>>2]|0)){g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}e=fu(c[c[f>>2]>>2]|0,c[g>>2]|0)|0;c[(c[f>>2]|0)+92>>2]=e;c[(c[f>>2]|0)+88>>2]=((c[(c[f>>2]|0)+92>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+4>>2]=c[g>>2];g=c[g>>2]|0;g=(g|0)!=0;g=g?0:7;i=h;return g|0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=$w(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;i=d;return a|0}function dx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+128|0;g=j+40|0;m=j+36|0;l=j+32|0;h=j+28|0;k=j;c[g>>2]=b;c[m>>2]=e;c[l>>2]=f;dg(k,c[g>>2]|0,j+44|0,70,c[(c[g>>2]|0)+92>>2]|0);a[k+25>>0]=1;eg(k,c[m>>2]|0,c[l>>2]|0);c[h>>2]=fg(k)|0;if((d[k+24>>0]|0|0)!=1){m=c[h>>2]|0;i=j;return m|0}lh(c[g>>2]|0);m=c[h>>2]|0;i=j;return m|0}function ex(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[j>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]}else c[j>>2]=c[(c[g>>2]|0)+4>>2];j=Bh(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[j>>2]|0)|0;i=k;return j|0}function fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((Jf(c[f>>2]|0)|0)>6?0==(zd(c[f>>2]|0,28440,7)|0):0){b=c[e>>2]|0;c[g>>2]=c[f>>2];Ch(b,28448,g);c[d>>2]=1;b=c[d>>2]|0;i=h;return b|0}c[d>>2]=0;b=c[d>>2]|0;i=h;return b|0}function gx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;f=c[g>>2]|0;if(c[(c[g>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;c[k>>2]=f;hx(c[g>>2]|0,c[j>>2]|0);g=(c[k>>2]|0)+336|0;c[g>>2]=c[g>>2]|1<>2];k=(c[k>>2]|0)+20|0;a[k>>0]=d[k>>0]|0|c[h>>2];i=l;return}function hx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;f=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;b=c[h>>2]|0;if(c[(c[h>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[f>>2]=b;c[e>>2]=c[c[f>>2]>>2];if((c[(c[f>>2]|0)+340>>2]&1<>2]|0)!=0|0){i=g;return}h=(c[f>>2]|0)+340|0;c[h>>2]=c[h>>2]|1<>2];c[(c[f>>2]|0)+344+(c[d>>2]<<2)>>2]=c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+12>>2]>>2];if((c[d>>2]|0)!=1){i=g;return}ix(c[f>>2]|0)|0;i=g;return}function ix(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;d=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+453>>0]|0)==0:0){c[h>>2]=$j(c[c[f>>2]>>2]|0,0,c[f>>2]|0,g,0,542)|0;if(c[h>>2]|0){Ch(c[e>>2]|0,28370,j);c[(c[e>>2]|0)+12>>2]=c[h>>2];c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[g>>2];if(7==(Ai(c[g>>2]|0,c[(c[f>>2]|0)+76>>2]|0,-1,0)|0)){lh(c[f>>2]|0);c[d>>2]=1;j=c[d>>2]|0;i=k;return j|0}}c[d>>2]=0;j=c[d>>2]|0;i=k;return j|0}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;i=i+16|0;n=h+8|0;m=h+4|0;l=h+13|0;k=h+12|0;j=h;c[n>>2]=b;c[m>>2]=d;a[l>>0]=e;a[k>>0]=f;c[j>>2]=g;g=ox(c[n>>2]|0,c[m>>2]|0,a[l>>0]|0,a[k>>0]|0,c[j>>2]|0,0)|0;i=h;return g|0}function kx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;m=o;e=o+32|0;f=o+28|0;g=o+24|0;l=o+20|0;n=o+16|0;h=o+12|0;k=o+8|0;j=o+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[l>>2]=Vw(c[e>>2]|0)|0;if(!(c[l>>2]|0)){i=o;return}c[h>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;c[k>>2]=lx(c[e>>2]|0,c[f>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[j>>2]=Fh(c[c[e>>2]>>2]|0,c[(c[k>>2]|0)+20>>2]|0)|0;_w(c[l>>2]|0,127,c[j>>2]|0,0,0,c[c[k>>2]>>2]|0,0)|0;c[k>>2]=c[(c[k>>2]|0)+32>>2]}_w(c[l>>2]|0,125,c[h>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;d=c[c[e>>2]>>2]|0;c[m>>2]=c[g>>2];c[n>>2]=Dh(d,28802,m)|0;if(!(c[n>>2]|0)){i=o;return}Yw(c[l>>2]|0,c[h>>2]|0,c[n>>2]|0);d=mx(c[e>>2]|0,c[f>>2]|0)|0;c[n>>2]=d;if(!d){i=o;return}Yw(c[l>>2]|0,1,c[n>>2]|0);i=o;return}function lx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;k=l+24|0;m=l+20|0;f=l+16|0;e=l+12|0;h=l+8|0;g=l+4|0;j=l;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[h>>2]=0;if(a[(c[m>>2]|0)+442>>0]|0){c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[g>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[g>>2]|0))break a;c[j>>2]=c[(c[g>>2]|0)+8>>2];if((c[(c[j>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(ig(c[(c[j>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[j>>2]|0)+32>>2]=b;c[h>>2]=c[j>>2]}c[g>>2]=c[c[g>>2]>>2]}}while(0);if(c[h>>2]|0)b=c[h>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[k>>2]=b;m=c[k>>2]|0;i=l;return m|0}function mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;j=m;d=m+28|0;e=m+24|0;h=m+20|0;l=m+16|0;g=m+12|0;f=m+8|0;k=m+4|0;c[d>>2]=a;c[e>>2]=b;c[l>>2]=0;c[g>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[g>>2]|0)){c[f>>2]=c[c[d>>2]>>2];c[h>>2]=lx(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[h>>2]|0))break a;if((c[(c[h>>2]|0)+20>>2]|0)==(c[g>>2]|0))c[l>>2]=nx(c[f>>2]|0,c[l>>2]|0,c[c[h>>2]>>2]|0)|0;c[h>>2]=c[(c[h>>2]|0)+32>>2]}}while(0);if(!(c[l>>2]|0)){l=c[l>>2]|0;i=m;return l|0}h=c[c[d>>2]>>2]|0;c[j>>2]=c[l>>2];c[k>>2]=Dh(h,28814,j)|0;Tf(c[c[d>>2]>>2]|0,c[l>>2]|0);c[l>>2]=c[k>>2];l=c[l>>2]|0;i=m;return l|0}function nx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+8|0;h=l;e=l+28|0;f=l+24|0;g=l+20|0;k=l+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){h=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;c[k>>2]=Dh(a,28846,j)|0;Tf(c[e>>2]|0,c[f>>2]|0);k=c[k>>2]|0;i=l;return k|0}else{c[h>>2]=c[g>>2];c[k>>2]=Dh(a,28838,h)|0;k=c[k>>2]|0;i=l;return k|0}return 0}function ox(f,g,j,k,l,m){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0;E=i;i=i+64|0;t=E;z=E+52|0;v=E+48|0;n=E+44|0;x=E+58|0;y=E+57|0;A=E+40|0;o=E+36|0;s=E+32|0;w=E+28|0;B=E+24|0;r=E+20|0;u=E+16|0;D=E+12|0;p=E+56|0;q=E+8|0;c[v>>2]=f;c[n>>2]=g;a[x>>0]=j;a[y>>0]=k;c[A>>2]=l;c[o>>2]=m;c[w>>2]=0;c[B>>2]=0;c[r>>2]=1;c[u>>2]=19010;c[D>>2]=0;if(!(c[n>>2]|0)){c[c[A>>2]>>2]=0;c[z>>2]=0;D=c[z>>2]|0;i=E;return D|0}while(1){l=d[c[n>>2]>>0]|0;c[s>>2]=l;if(!((l|0)==156?1:(c[s>>2]|0)==159))break;c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((c[s>>2]|0)==157)c[s>>2]=d[(c[n>>2]|0)+38>>0];if((c[s>>2]|0)==38){a[p>>0]=px(c[(c[n>>2]|0)+8>>2]|0,0)|0;c[D>>2]=ox(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[p>>0]|0,c[A>>2]|0,c[o>>2]|0)|0;if(c[c[A>>2]>>2]|0){qx(c[c[A>>2]>>2]|0,a[p>>0]|0,1);rx(c[c[A>>2]>>2]|0,a[y>>0]|0,1)}c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}do if((c[s>>2]|0)==155){if((d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=132?(d[c[(c[n>>2]|0)+12>>2]>>0]|0|0)!=133:0)break;c[n>>2]=c[(c[n>>2]|0)+12>>2];c[s>>2]=d[c[n>>2]>>0];c[r>>2]=-1;c[u>>2]=28860}while(0);do if((c[s>>2]|0)==97|(c[s>>2]|0)==133|(c[s>>2]|0)==132){c[B>>2]=sx(c[v>>2]|0,c[o>>2]|0)|0;if(c[B>>2]|0){if(c[(c[n>>2]|0)+4>>2]&1024){v=c[B>>2]|0;u=c[(c[n>>2]|0)+8>>2]|0;w=c[r>>2]|0;w=AR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;gh(v,w,C)}else{l=c[v>>2]|0;g=c[(c[n>>2]|0)+8>>2]|0;c[t>>2]=c[u>>2];c[t+4>>2]=g;c[w>>2]=Dh(l,25313,t)|0;if(!(c[w>>2]|0)){n=43;break}Yh(c[B>>2]|0,-1,c[w>>2]|0,1,170)}if((c[s>>2]|0)==132|(c[s>>2]|0)==133?(d[y>>0]|0|0)==65:0)rx(c[B>>2]|0,67,1);else rx(c[B>>2]|0,a[y>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12){y=(c[B>>2]|0)+8|0;b[y>>1]=(e[y>>1]|0)&-3}if((d[x>>0]|0|0)!=1){c[D>>2]=du(c[B>>2]|0,d[x>>0]|0)|0;n=42}else n=42}else n=43}else{if((c[s>>2]|0)!=155){if((c[s>>2]|0)==101){c[B>>2]=sx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}else{n=42;break}}if((c[s>>2]|0)!=134){n=42;break}c[B>>2]=sx(c[v>>2]|0,c[o>>2]|0)|0;if(!(c[B>>2]|0)){n=43;break}c[w>>2]=(c[(c[n>>2]|0)+8>>2]|0)+2;c[q>>2]=(Jf(c[w>>2]|0)|0)-1;y=c[B>>2]|0;n=ux(c[v>>2]|0,c[w>>2]|0,c[q>>2]|0)|0;fh(y,n,(c[q>>2]|0)/2|0,0,170)|0;n=42;break}w=0==(jx(c[v>>2]|0,c[(c[n>>2]|0)+12>>2]|0,a[x>>0]|0,a[y>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){tx(c[B>>2]|0)|0;n=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8)){w=n;n=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[n>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=n;v=oR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=C;break}}else h[c[B>>2]>>3]=-+h[n>>3];while(0);rx(c[B>>2]|0,a[y>>0]|0,a[x>>0]|0);n=42}else n=42}while(0);if((n|0)==42){c[c[A>>2]>>2]=c[B>>2];c[z>>2]=c[D>>2];D=c[z>>2]|0;i=E;return D|0}else if((n|0)==43){lh(c[v>>2]|0);Tf(c[v>>2]|0,c[w>>2]|0);bh(c[B>>2]|0);c[z>>2]=7;D=c[z>>2]|0;i=E;return D|0}return 0}function px(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;f=n+16|0;g=n+12|0;j=n+8|0;h=n+20|0;l=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;a[h>>0]=67;c[l>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[j>>2]=(c[j>>2]<<8)+(d[18221+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[j>>2]|0)==1667785074){a[h>>0]=66;c[l>>2]=c[f>>2];continue}if((c[j>>2]|0)==1668050786){a[h>>0]=66;continue}if((c[j>>2]|0)==1952807028){a[h>>0]=66;continue}do if((c[j>>2]|0)==1651273570){if((a[h>>0]|0)!=67?(a[h>>0]|0)!=69:0)break;a[h>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[l>>2]=c[f>>2];continue a}while(0);if((c[j>>2]|0)==1919246700?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1718382433?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]|0)==1685026146?(a[h>>0]|0)==67:0){a[h>>0]=69;continue}if((c[j>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[h>>0]=68;if(!(c[g>>2]|0)){m=a[h>>0]|0;i=n;return m|0}a[c[g>>2]>>0]=1;if((a[h>>0]|0)>=67){m=a[h>>0]|0;i=n;return m|0}if(!(c[l>>2]|0)){a[c[g>>2]>>0]=5;m=a[h>>0]|0;i=n;return m|0}while(1){if(!(a[c[l>>2]>>0]|0)){m=33;break}if(d[19011+(d[c[l>>2]>>0]|0)>>0]&4)break;c[l>>2]=(c[l>>2]|0)+1}if((m|0)==33){m=a[h>>0]|0;i=n;return m|0}c[k>>2]=0;Oi(c[l>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[h>>0]|0;i=n;return m|0}function qx(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;m=i;i=i+16|0;k=m;j=m+5|0;l=m+4|0;c[k>>2]=f;a[j>>0]=g;a[l>>0]=h;if((e[(c[k>>2]|0)+8>>1]|0)&1){i=m;return}switch(d[j>>0]|0|0){case 65:{j=c[k>>2]|0;if(!((e[(c[k>>2]|0)+8>>1]|0)&16)){rx(j,66,a[l>>0]|0);b[(c[k>>2]|0)+8>>1]=(e[(c[k>>2]|0)+8>>1]|0)&-49664|16;i=m;return}else{l=j+8|0;b[l>>1]=(e[l>>1]|0)&-33264;i=m;return}}case 67:{tx(c[k>>2]|0)|0;i=m;return}case 68:{Cx(c[k>>2]|0)|0;i=m;return}case 69:{Dx(c[k>>2]|0)|0;i=m;return}default:{f=(c[k>>2]|0)+8|0;b[f>>1]=e[f>>1]|0|((e[(c[k>>2]|0)+8>>1]|0)&16)>>3;rx(c[k>>2]|0,66,a[l>>0]|0);l=(c[k>>2]|0)+8|0;b[l>>1]=(e[l>>1]|0)&-16413;i=m;return}}}function rx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f;h=f+5|0;g=f+4|0;c[j>>2]=b;a[h>>0]=d;a[g>>0]=e;xx(c[j>>2]|0,a[h>>0]|0,a[g>>0]|0);i=f;return}function sx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Xh(c[e>>2]|0)|0;i=d;return b|0}function tx(d){d=d|0;var f=0,g=0,j=0,k=0.0;g=i;i=i+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){j=0==(Ki(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(j){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{k=+_g(d);h[c[f>>2]>>3]=k;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;vx(c[f>>2]|0);break}}while(0);j=(c[f>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-19;i=g;return 0}function ux(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;l=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[l>>2]=b;c[f>>2]=d;c[g>>2]=e;d=((c[g>>2]|0)/2|0)+1|0;c[j>>2]=Lw(c[l>>2]|0,d,((d|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[j>>2]|0)){l=c[j>>2]|0;i=k;return l|0}c[h>>2]=0;while(1){b=c[h>>2]|0;if((c[h>>2]|0)>=(c[g>>2]|0))break;l=((Ji(a[(c[f>>2]|0)+b>>0]|0)|0)&255)<<4;l=(l|(Ji(a[(c[f>>2]|0)+((c[h>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[j>>2]|0)+((c[h>>2]|0)/2|0)>>0]=l;c[h>>2]=(c[h>>2]|0)+2}a[(c[j>>2]|0)+((b|0)/2|0)>>0]=0;l=c[j>>2]|0;i=k;return l|0}function vx(a){a=a|0;var d=0,f=0,g=0,j=0,k=0,l=0,m=0;g=i;i=i+16|0;d=g+8|0;f=g;c[d>>2]=a;k=wx(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=k;c[m+4>>2]=C;m=f;k=f;l=c[k+4>>2]|0;a=f;j=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((l|0)>-2147483648|(l|0)==-2147483648&(c[k>>2]|0)>>>0>0)&((j|0)<2147483647|(j|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){i=g;return}k=f;l=c[k+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=l;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;i=g;return}function wx(a){a=+a;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;C=c[f+4>>2]|0;i=e;return c[f>>2]|0}function xx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l;h=l+5|0;j=l+4|0;c[k>>2]=d;a[h>>0]=f;a[j>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){i=l;return}if(0==(e[(c[k>>2]|0)+8>>1]&2|0)?(e[(c[k>>2]|0)+8>>1]&12|0)!=0:0)yx(c[k>>2]|0,a[j>>0]|0,1)|0;k=(c[k>>2]|0)+8|0;b[k>>1]=e[k>>1]&-13;i=l;return}if(e[(c[k>>2]|0)+8>>1]&4){i=l;return}h=c[k>>2]|0;if(e[(c[k>>2]|0)+8>>1]&8){vx(h);i=l;return}if(!(e[h+8>>1]&2)){i=l;return}zh(c[k>>2]|0,1);i=l;return}function yx(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;q=r+8|0;p=r;k=r+28|0;l=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[l>>2]=f;a[m>>0]=g;a[n>>0]=j;c[o>>2]=e[(c[l>>2]|0)+8>>1];c[r+16>>2]=32;if(zx(c[l>>2]|0,32)|0){c[k>>2]=7;q=c[k>>2]|0;i=r;return q|0}j=c[(c[l>>2]|0)+16>>2]|0;g=c[l>>2]|0;if(c[o>>2]&4){f=g;o=c[f+4>>2]|0;q=p;c[q>>2]=c[f>>2];c[q+4>>2]=o;Qd(32,j,28862,p)|0}else{h[q>>3]=+h[g>>3];Qd(32,j,28867,q)|0}q=Jf(c[(c[l>>2]|0)+16>>2]|0)|0;c[(c[l>>2]|0)+12>>2]=q;a[(c[l>>2]|0)+10>>0]=1;q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[l>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}du(c[l>>2]|0,d[m>>0]|0)|0;c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}function zx(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ax(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;i=j;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;i=j;return h|0}return 0}function Ax(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+12|0;j=l+8|0;g=l+4|0;k=l;c[j>>2]=a;c[g>>2]=d;c[k>>2]=f;do if((c[(c[j>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+24>>2]|0)>0:0)?(c[(c[j>>2]|0)+16>>2]|0)==(c[(c[j>>2]|0)+20>>2]|0):0){a=c[g>>2]|0;a=Bx(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a;c[(c[j>>2]|0)+16>>2]=a;c[k>>2]=0}else{if((c[(c[j>>2]|0)+24>>2]|0)>0)Tf(c[(c[j>>2]|0)+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0);a=c[g>>2]|0;a=Ah(c[(c[j>>2]|0)+32>>2]|0,a,((a|0)<0)<<31>>31)|0;c[(c[j>>2]|0)+20>>2]=a}g=c[j>>2]|0;if(c[(c[j>>2]|0)+20>>2]|0){a=fu(c[g+32>>2]|0,c[(c[j>>2]|0)+20>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=a;break}hh(g);c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[h>>2]=7;k=c[h>>2]|0;i=l;return k|0}while(0);if(((c[k>>2]|0)!=0?(c[(c[j>>2]|0)+16>>2]|0)!=0:0)?(c[(c[j>>2]|0)+16>>2]|0)!=(c[(c[j>>2]|0)+20>>2]|0):0)rR(c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if((e[(c[j>>2]|0)+8>>1]|0)&1024)Qb[c[(c[j>>2]|0)+36>>2]&255](c[(c[j>>2]|0)+16>>2]|0);c[(c[j>>2]|0)+16>>2]=c[(c[j>>2]|0)+20>>2];k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-7169;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}function Bx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;k=j;h=j+8|0;c[f>>2]=a;c[g>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;b=k;c[h>>2]=Kw(c[f>>2]|0,c[g>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;i=j;return k|0}Tf(c[f>>2]|0,c[g>>2]|0);k=c[h>>2]|0;i=j;return k|0}function Cx(a){a=a|0;var d=0,f=0,g=0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=$g(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=C;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;i=d;return 0}function Dx(a){a=a|0;var d=0,f=0,g=0.0;d=i;i=i+16|0;f=d;c[f>>2]=a;g=+_g(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;i=d;return 0}function Ex(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=k;f=k+12|0;g=k+8|0;h=k+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+144+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(zd(c[h>>2]|0,28440,7)|0):0){e=c[g>>2]|0;c[j>>2]=c[h>>2];Ch(e,31363,j);c[f>>2]=1;e=c[f>>2]|0;i=k;return e|0}c[f>>2]=0;e=c[f>>2]|0;i=k;return e|0}function Fx(a,f){a=a|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,r=0;r=i;i=i+48|0;g=r;h=r+36|0;j=r+32|0;k=r+28|0;p=r+24|0;o=r+20|0;n=r+16|0;m=r+12|0;l=r+8|0;q=r+4|0;c[j>>2]=a;c[k>>2]=f;c[n>>2]=0;c[l>>2]=c[c[j>>2]>>2];if(Lx(c[j>>2]|0,c[k>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}if(d[(c[k>>2]|0)+42>>0]&16){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;i=r;return q|0}if((b[(c[k>>2]|0)+34>>1]|0)<0){q=c[j>>2]|0;c[g>>2]=c[c[k>>2]>>2];Ch(q,29579,g);c[h>>2]=1;q=c[h>>2]|0;i=r;return q|0}a=c[l>>2]|0;do if(c[(c[k>>2]|0)+24>>2]|0){q=a+256|0;c[q>>2]=(c[q>>2]|0)+1;Mx(c[j>>2]|0,c[(c[k>>2]|0)+24>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;q=(c[l>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else{c[o>>2]=Nx(a,c[(c[k>>2]|0)+12>>2]|0,0)|0;if(!(c[o>>2]|0)){c[n>>2]=(c[n>>2]|0)+1;break}c[m>>2]=c[(c[j>>2]|0)+72>>2];Ox(c[j>>2]|0,c[(c[o>>2]|0)+28>>2]|0);b[(c[k>>2]|0)+34>>1]=-1;g=(c[l>>2]|0)+256|0;c[g>>2]=(c[g>>2]|0)+1;c[q>>2]=c[(c[l>>2]|0)+296>>2];c[(c[l>>2]|0)+296>>2]=0;c[p>>2]=Px(c[j>>2]|0,c[o>>2]|0)|0;c[(c[l>>2]|0)+296>>2]=c[q>>2];q=(c[l>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1;c[(c[j>>2]|0)+72>>2]=c[m>>2];if(c[p>>2]|0){b[(c[k>>2]|0)+34>>1]=b[(c[p>>2]|0)+34>>1]|0;c[(c[k>>2]|0)+4>>2]=c[(c[p>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=0;c[(c[p>>2]|0)+4>>2]=0;Rf(c[l>>2]|0,c[p>>2]|0)}else{b[(c[k>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1}av(c[l>>2]|0,c[o>>2]|0)}while(0);q=(c[(c[k>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;i=r;return q|0}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){d=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){d=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((d|0)==5){i=f;return c[e>>2]|0}return 0}function Hx(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;i=e;return}function Ix(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;h=j+8|0;f=j+4|0;g=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[k>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){e=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){e=10;break}k=c[f>>2]|0;c[f>>2]=k+1;a:do if((d[k>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((e|0)==10){i=j;return c[h>>2]|0}return 0}function Jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=Kx(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=nx(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}i=g;return c[f>>2]|0}function Kx(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=qj((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;i=b;return a|0}function Lx(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;m=q+8|0;l=q;e=q+44|0;f=q+40|0;g=q+36|0;h=q+32|0;o=q+28|0;j=q+24|0;k=q+20|0;p=q+16|0;n=q+12|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=c[c[f>>2]>>2];if(((d[(c[g>>2]|0)+42>>0]|0)&16|0)!=0?(Gx(c[h>>2]|0,c[g>>2]|0)|0)==0:0){c[o>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];c[j>>2]=qj((c[h>>2]|0)+320|0,c[o>>2]|0)|0;if(c[j>>2]|0){c[n>>2]=0;c[k>>2]=uz(c[h>>2]|0,c[g>>2]|0,c[j>>2]|0,c[(c[c[j>>2]>>2]|0)+8>>2]|0,n)|0;if(c[k>>2]|0){p=c[f>>2]|0;c[m>>2]=c[n>>2];Ch(p,18999,m)}Tf(c[h>>2]|0,c[n>>2]|0)}else{c[p>>2]=c[c[(c[g>>2]|0)+52>>2]>>2];o=c[f>>2]|0;c[l>>2]=c[p>>2];Ch(o,31219,l);c[k>>2]=1}c[e>>2]=c[k>>2];p=c[e>>2]|0;i=q;return p|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}function Mx(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=i;i=i+112|0;u=D+8|0;t=D;w=D+104|0;E=D+100|0;j=D+96|0;x=D+92|0;y=D+88|0;A=D+84|0;B=D+80|0;C=D+76|0;k=D+72|0;z=D+68|0;q=D+64|0;n=D+60|0;p=D+56|0;v=D+52|0;o=D+48|0;l=D+32|0;r=D+28|0;s=D+24|0;m=D+20|0;c[E>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;c[A>>2]=c[c[E>>2]>>2];xj(l);if(c[j>>2]|0){c[n>>2]=c[c[j>>2]>>2];c[z>>2]=rh(c[A>>2]|0,c[n>>2]<<4,0)|0}else{c[n>>2]=0;c[z>>2]=0}b[c[x>>2]>>1]=c[n>>2];c[c[y>>2]>>2]=c[z>>2];c[B>>2]=0;c[q>>2]=c[z>>2];while(1){if((c[B>>2]|0)>=(c[n>>2]|0))break;if(!((a[(c[A>>2]|0)+69>>0]|0)!=0^1))break;c[p>>2]=Zx(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+4>>2]|0;c[v>>2]=E;do if(!E){c[r>>2]=c[p>>2];while(1){f=c[r>>2]|0;if((d[c[r>>2]>>0]|0)!=122)break;c[r>>2]=c[f+16>>2]}if((d[f>>0]|0)==152?(c[(c[r>>2]|0)+44>>2]|0)!=0:0){c[m>>2]=b[(c[r>>2]|0)+32>>1];c[s>>2]=c[(c[r>>2]|0)+44>>2];if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0;else f=25353;c[v>>2]=f;break}if((d[c[r>>2]>>0]|0)==27){c[v>>2]=c[(c[r>>2]|0)+8>>2];break}else{c[v>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)+8>>2];break}}while(0);E=c[A>>2]|0;c[t>>2]=c[v>>2];c[v>>2]=Dh(E,18999,t)|0;c[k>>2]=0;while(1){if(c[v>>2]|0)e=(qj(l,c[v>>2]|0)|0)!=0;else e=0;f=c[v>>2]|0;if(!e)break;c[o>>2]=Jf(f)|0;if((c[o>>2]|0)>0){c[C>>2]=(c[o>>2]|0)-1;while(1){if((c[C>>2]|0)<=0)break;if(!(d[19011+(d[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)>>0]&4))break;c[C>>2]=(c[C>>2]|0)+-1}if((a[(c[v>>2]|0)+(c[C>>2]|0)>>0]|0)==58)c[o>>2]=c[C>>2]}E=c[A>>2]|0;e=c[o>>2]|0;h=c[v>>2]|0;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[u>>2]=e;c[u+4>>2]=h;c[u+8>>2]=g;c[v>>2]=Dh(E,31211,u)|0;if((c[k>>2]|0)>>>0<=3)continue;Sd(4,k)}c[c[q>>2]>>2]=f;if((c[v>>2]|0)!=0?(E=Sj(l,c[v>>2]|0,c[q>>2]|0)|0,(E|0)==(c[q>>2]|0)):0)lh(c[A>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+16}yj(l);if(!(a[(c[A>>2]|0)+69>>0]|0)){c[w>>2]=0;E=c[w>>2]|0;i=D;return E|0}c[C>>2]=0;while(1){f=c[A>>2]|0;if((c[C>>2]|0)>=(c[B>>2]|0))break;Tf(f,c[(c[z>>2]|0)+(c[C>>2]<<4)>>2]|0);c[C>>2]=(c[C>>2]|0)+1}Tf(f,c[z>>2]|0);c[c[y>>2]>>2]=0;b[c[x>>2]>>1]=0;c[w>>2]=7;E=c[w>>2]|0;i=D;return E|0}function Nx(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[l>>2]=Lw(c[h>>2]|0,68,0)|0;if(!(c[l>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}e=By(c[h>>2]|0,c[c[j>>2]>>2]|0,c[k>>2]|0)|0;c[c[l>>2]>>2]=e;e=rz(c[h>>2]|0,c[(c[j>>2]|0)+28>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+28>>2]=e;e=ty(c[h>>2]|0,c[(c[j>>2]|0)+32>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+32>>2]=e;e=By(c[h>>2]|0,c[(c[j>>2]|0)+36>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+36>>2]=e;e=ty(c[h>>2]|0,c[(c[j>>2]|0)+40>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+40>>2]=e;e=By(c[h>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+44>>2]=e;a[(c[l>>2]|0)+4>>0]=a[(c[j>>2]|0)+4>>0]|0;e=Nx(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0,c[k>>2]|0)|0;c[m>>2]=e;c[(c[l>>2]|0)+48>>2]=e;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[l>>2];c[(c[l>>2]|0)+52>>2]=0;m=ty(c[h>>2]|0,c[(c[j>>2]|0)+56>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+56>>2]=m;m=ty(c[h>>2]|0,c[(c[j>>2]|0)+60>>2]|0,c[k>>2]|0)|0;c[(c[l>>2]|0)+60>>2]=m;c[(c[l>>2]|0)+12>>2]=0;c[(c[l>>2]|0)+16>>2]=0;c[(c[l>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2]&-17;c[(c[l>>2]|0)+20>>2]=-1;c[(c[l>>2]|0)+20+4>>2]=-1;b[(c[l>>2]|0)+6>>1]=b[(c[j>>2]|0)+6>>1]|0;m=sz(c[h>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[(c[l>>2]|0)+64>>2]=m;c[g>>2]=c[l>>2];m=c[g>>2]|0;i=n;return m|0}function Ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){d=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){d=8;break}b=(c[d>>2]|0)+72|0;a=c[b>>2]|0;c[b>>2]=a+1;c[(c[g>>2]|0)+44>>2]=a;if(c[(c[g>>2]|0)+20>>2]|0)Ox(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((d|0)==8){i=h;return}}function Px(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[l>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Qx(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+68>>2]|0){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[l>>2];c[k>>2]=rh(c[j>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}b[(c[k>>2]|0)+36>>1]=1;c[c[k>>2]>>2]=0;b[(c[k>>2]|0)+38>>1]=200;Mx(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[k>>2]|0)+34|0,(c[k>>2]|0)+4|0)|0;Rx(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0);b[(c[k>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Rf(c[j>>2]|0,c[k>>2]|0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}else{c[f>>2]=c[k>>2];l=c[f>>2]|0;i=m;return l|0}return 0}function Qx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){i=l;return}c[k>>2]=c[c[g>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){i=l;return}if(c[(c[h>>2]|0)+8>>2]&64){i=l;return}_x(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}$x(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);if(c[(c[g>>2]|0)+68>>2]|0){i=l;return}if(d[(c[k>>2]|0)+69>>0]|0){i=l;return}ay(c[g>>2]|0,c[h>>2]|0);i=l;return}function Rx(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+80|0;h=t+76|0;j=t+72|0;k=t+68|0;m=t+64|0;r=t+32|0;p=t+24|0;q=t+20|0;n=t+16|0;o=t+12|0;l=t+8|0;s=t;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];f=s;c[f>>2]=0;c[f+4>>2]=0;if(a[(c[m>>2]|0)+69>>0]|0){i=t;return};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+4>>2]=c[(c[k>>2]|0)+28>>2];c[l>>2]=c[(c[c[k>>2]>>2]|0)+4>>2];c[n>>2]=0;c[p>>2]=c[(c[j>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;c[o>>2]=c[(c[l>>2]|0)+((c[n>>2]|0)*20|0)>>2];Sx(r,c[o>>2]|0,(c[p>>2]|0)+14|0)|0;g=s;g=pR(c[g>>2]|0,c[g+4>>2]|0,d[(c[p>>2]|0)+14>>0]|0,0)|0;f=s;c[f>>2]=g;c[f+4>>2]=C;f=Tx(c[o>>2]|0)|0;a[(c[p>>2]|0)+13>>0]=f;if(!(a[(c[p>>2]|0)+13>>0]|0))a[(c[p>>2]|0)+13>>0]=65;c[q>>2]=Ux(c[h>>2]|0,c[o>>2]|0)|0;if((c[q>>2]|0)!=0?(c[(c[p>>2]|0)+8>>2]|0)==0:0){f=ph(c[m>>2]|0,c[c[q>>2]>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=f}c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+16}s=AR(c[s>>2]|0,c[s+4>>2]|0,4,0)|0;s=Kj(s,C)|0;b[(c[j>>2]|0)+40>>1]=s;i=t;return}function Sx(e,f,g){e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+128|0;h=x+112|0;j=x+108|0;k=x+104|0;w=x+100|0;n=x+96|0;l=x+116|0;s=x+92|0;q=x+88|0;m=x+84|0;t=x+80|0;u=x+48|0;o=x+40|0;v=x+8|0;r=x+4|0;p=x;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[w>>2]=0;a[l>>0]=1;a:do switch(d[c[j>>2]>>0]|0){case 152:case 154:{c[s>>2]=0;c[q>>2]=0;c[m>>2]=b[(c[j>>2]|0)+32>>1];while(1){if(!(c[h>>2]|0))break;if(!((c[s>>2]|0)!=0^1))break;c[t>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if((c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)<(c[c[t>>2]>>2]|0)){c[s>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+16>>2];c[q>>2]=c[(c[t>>2]|0)+8+((c[n>>2]|0)*72|0)+20>>2];continue}else{c[h>>2]=c[(c[h>>2]|0)+16>>2];continue}}if(c[s>>2]|0){if(c[q>>2]|0){if((c[m>>2]|0)<0)break a;if((c[m>>2]|0)>=(c[c[c[q>>2]>>2]>>2]|0))break a;c[o>>2]=c[(c[(c[c[q>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2];c[u+4>>2]=c[(c[q>>2]|0)+28>>2];c[u+16>>2]=c[h>>2];c[u>>2]=c[c[h>>2]>>2];c[w>>2]=Sx(u,c[o>>2]|0,l)|0;break a}if(c[(c[s>>2]|0)+64>>2]|0){if((c[m>>2]|0)<0)c[m>>2]=b[(c[s>>2]|0)+32>>1];if((c[m>>2]|0)<0){c[w>>2]=19367;break a}else{c[w>>2]=ti((c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)|0,0)|0;a[l>>0]=a[(c[(c[s>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[r>>2]=c[(c[j>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[r>>2]>>2]|0)+4>>2]>>2];c[v+4>>2]=c[(c[r>>2]|0)+28>>2];c[v+16>>2]=c[h>>2];c[v>>2]=c[c[h>>2]>>2];c[w>>2]=Sx(v,c[p>>2]|0,l)|0;break}default:{}}while(0);if(!(c[k>>2]|0)){w=c[w>>2]|0;i=x;return w|0}a[c[k>>2]>>0]=a[l>>0]|0;w=c[w>>2]|0;i=x;return w|0}function Tx(e){e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[g>>2]=e;c[g>>2]=Zx(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512){a[f>>0]=0;e=a[f>>0]|0;i=k;return e|0}c[j>>2]=d[c[g>>2]>>0];if((c[j>>2]|0)==119){a[f>>0]=Tx(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==38){a[f>>0]=px(c[(c[g>>2]|0)+8>>2]|0,0)|0;e=a[f>>0]|0;i=k;return e|0}if((c[j>>2]|0)==154|(c[j>>2]|0)==152|(c[j>>2]|0)==157?(c[(c[g>>2]|0)+44>>2]|0)!=0:0){c[h>>2]=b[(c[g>>2]|0)+32>>1];if((c[h>>2]|0)<0){a[f>>0]=68;e=a[f>>0]|0;i=k;return e|0}else{a[f>>0]=a[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+13>>0]|0;e=a[f>>0]|0;i=k;return e|0}}a[f>>0]=a[(c[g>>2]|0)+1>>0]|0;e=a[f>>0]|0;i=k;return e|0}function Ux(e,f){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,r=0,s=0;r=i;i=i+48|0;g=r+36|0;s=r+32|0;h=r+28|0;n=r+24|0;m=r+20|0;l=r+16|0;k=r+12|0;p=r+8|0;o=r+4|0;j=r;c[g>>2]=e;c[s>>2]=f;c[h>>2]=c[c[g>>2]>>2];c[n>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[l>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512)break;if((c[l>>2]|0)==38|(c[l>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[l>>2]|0)==95){q=9;break}if((c[l>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==95:0){q=9;break}if((c[l>>2]|0)==154|(c[l>>2]|0)==152|(c[l>>2]|0)==157|(c[l>>2]|0)==62?(c[(c[m>>2]|0)+44>>2]|0)!=0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if((c[(c[m>>2]|0)+12>>2]|0)!=0?(c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0)!=0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[o>>2]=c[(c[m>>2]|0)+16>>2];a:do if((c[(c[m>>2]|0)+20>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;f=c[j>>2]|0;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)+4>>2]&256)break;c[j>>2]=f+1}c[o>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+(f*20|0)>>2]}while(0);c[m>>2]=c[o>>2]}if((q|0)==9)c[n>>2]=Vx(c[g>>2]|0,a[(c[h>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[k>>2]=b[(c[m>>2]|0)+32>>1],(c[k>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+8>>2];c[n>>2]=Qj(c[h>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(Wx(c[g>>2]|0,c[n>>2]|0)|0)){s=c[n>>2]|0;i=r;return s|0}c[n>>2]=0;s=c[n>>2]|0;i=r;return s|0}function Vx(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+32|0;n=o;h=o+20|0;j=o+24|0;p=o+16|0;k=o+12|0;m=o+8|0;l=o+4|0;c[h>>2]=b;a[j>>0]=e;c[p>>2]=f;c[k>>2]=g;c[l>>2]=c[c[h>>2]>>2];c[m>>2]=c[p>>2];if(!(c[m>>2]|0))c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0;if(!((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)!=0:0)){Xx(c[l>>2]|0,d[j>>0]|0,c[k>>2]|0);c[m>>2]=Qj(c[l>>2]|0,a[j>>0]|0,c[k>>2]|0,0)|0}if(((c[m>>2]|0)!=0?(c[(c[m>>2]|0)+12>>2]|0)==0:0)?(Yx(c[l>>2]|0,c[m>>2]|0)|0)!=0:0)c[m>>2]=0;if(c[m>>2]|0){p=c[m>>2]|0;i=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[k>>2];Ch(p,29609,n);p=c[m>>2]|0;i=o;return p|0}function Wx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+20|0;f=l+16|0;g=l+12|0;k=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)!=0?(c[k>>2]=c[c[g>>2]>>2],c[h>>2]=c[c[f>>2]>>2],c[j>>2]=Vx(c[f>>2]|0,a[(c[h>>2]|0)+66>>0]|0,c[g>>2]|0,c[k>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}function Xx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;l=n+8|0;m=n+4|0;k=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;do if(c[(c[g>>2]|0)+228>>2]|0){c[l>>2]=ph(c[g>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){_b[c[(c[g>>2]|0)+228>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,c[h>>2]|0,c[l>>2]|0);Tf(c[g>>2]|0,c[l>>2]|0);break}else{i=n;return}}while(0);if(!(c[(c[g>>2]|0)+232>>2]|0)){i=n;return}c[k>>2]=Xh(c[g>>2]|0)|0;Yh(c[k>>2]|0,-1,c[j>>2]|0,1,0);c[m>>2]=Yg(c[k>>2]|0,((a[960]|0)==0?3:2)&255)|0;if(c[m>>2]|0)_b[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+236>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[m>>2]|0);bh(c[k>>2]|0);i=n;return}function Yx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;h=l+20|0;e=l+16|0;j=l+12|0;k=l+8|0;g=l+4|0;f=l;c[e>>2]=b;c[j>>2]=d;c[g>>2]=c[c[j>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3){e=6;break}c[k>>2]=Qj(c[e>>2]|0,a[29640+(c[f>>2]|0)>>0]|0,c[g>>2]|0,0)|0;if(c[(c[k>>2]|0)+12>>2]|0){e=4;break}c[f>>2]=(c[f>>2]|0)+1}if((e|0)==4){g=c[j>>2]|0;k=c[k>>2]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[g+16>>2]=c[k+16>>2];c[(c[j>>2]|0)+16>>2]=0;c[h>>2]=0;k=c[h>>2]|0;i=l;return k|0}else if((e|0)==6){c[h>>2]=1;k=c[h>>2]|0;i=l;return k|0}return 0}function Zx(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}i=e;return b|0}function _x(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=190;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=191;dy(f,c[e>>2]|0)|0}c[f+8>>2]=192;if(c[(c[e>>2]|0)+8>>2]&512){h=c[e>>2]|0;dy(f,h)|0;i=g;return}c[f+12>>2]=132;h=c[e>>2]|0;dy(f,h)|0;i=g;return}function $x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+48|0;j=e+36|0;f=e+32|0;h=e+28|0;g=e;c[j>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=193;c[g+8>>2]=194;c[g>>2]=c[j>>2];c[g+24>>2]=c[h>>2];dy(g,c[f>>2]|0)|0;i=e;return}function ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=190;c[f>>2]=c[g>>2];dy(f,c[e>>2]|0)|0;i=d;return}function by(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+28|0;m=l+24|0;g=l+20|0;e=l+16|0;k=l+12|0;f=l+8|0;j=l+4|0;h=l;c[n>>2]=a;c[m>>2]=b;a=(c[m>>2]|0)+8|0;c[a>>2]=c[a>>2]|64;c[g>>2]=c[c[n>>2]>>2];c[k>>2]=c[(c[m>>2]|0)+28>>2];c[e>>2]=0;c[f>>2]=(c[k>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+16>>2];if(((d[(c[j>>2]|0)+42>>0]|0)&2|0)!=0?(c[h>>2]=c[(c[f>>2]|0)+20>>2],(c[h>>2]|0)!=0):0){while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}Rx(c[g>>2]|0,c[j>>2]|0,c[h>>2]|0)}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+72}i=l;return}function cy(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d+4>>2]=a;c[d>>2]=b;i=d;return 0}function dy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;a=(c[f>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;while(1){if(!(c[d>>2]|0)){d=15;break}if((c[(c[f>>2]|0)+8>>2]|0)!=0?(c[g>>2]=Yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,(c[g>>2]|0)!=0):0){d=15;break}if(ey(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(fy(c[f>>2]|0,c[d>>2]|0)|0){d=11;break}if(c[(c[f>>2]|0)+12>>2]|0)Rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((d|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else if((d|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}function ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(gy(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(hy(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(gy(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(hy(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(gy(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(hy(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(hy(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);i=g;return c[d>>2]|0}function fy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;i=i+32|0;j=k+20|0;e=k+16|0;l=k+12|0;h=k+8|0;f=k+4|0;g=k;c[e>>2]=a;c[l>>2]=b;c[h>>2]=c[(c[l>>2]|0)+28>>2];a:do if(c[h>>2]|0){c[f>>2]=c[c[h>>2]>>2];c[g>>2]=(c[h>>2]|0)+8;while(1){if((c[f>>2]|0)<=0)break a;if(dy(c[e>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0){e=5;break}if(((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(gy(c[e>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0)!=0:0){e=8;break}c[f>>2]=(c[f>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+72}if((e|0)==5){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}else if((e|0)==8){c[j>>2]=2;l=c[j>>2]|0;i=k;return l|0}}while(0);c[j>>2]=0;l=c[j>>2]|0;i=k;return l|0}function gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(hy(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;a=c[d>>2]|0;i=j;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=j;return a|0}function hy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){a=0;i=f;return a|0}a=iy(c[d>>2]|0,c[e>>2]|0)|0;i=f;return a|0}function iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;d=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Yb[c[(c[d>>2]|0)+4>>2]&255](c[d>>2]|0,c[f>>2]|0)|0;do if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&16384|0)==0:0){if(hy(c[d>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}if(hy(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}d=c[d>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048){if(!(dy(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}else{if(!(gy(d,c[b>>2]|0)|0))break;c[e>>2]=2;g=c[e>>2]|0;i=h;return g|0}}while(0);c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;i=h;return g|0}function jy(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+128|0;C=J+32|0;E=J+24|0;D=J+16|0;B=J+8|0;A=J;I=J+116|0;n=J+112|0;o=J+108|0;x=J+104|0;z=J+100|0;k=J+96|0;m=J+92|0;l=J+88|0;j=J+84|0;w=J+80|0;s=J+76|0;u=J+72|0;F=J+68|0;r=J+64|0;p=J+60|0;t=J+56|0;G=J+52|0;v=J+48|0;q=J+120|0;y=J+44|0;h=J+40|0;c[n>>2]=f;c[o>>2]=g;c[x>>2]=c[(c[n>>2]|0)+24>>2];c[z>>2]=c[c[x>>2]>>2];if(c[(c[o>>2]|0)+4>>2]&4){c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|4;switch(d[c[o>>2]>>0]|0){case 27:{c[I>>2]=Ly(c[z>>2]|0,0,0,c[(c[o>>2]|0)+8>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 122:{My(c[z>>2]|0,c[x>>2]|0,30149,32);c[j>>2]=c[(c[o>>2]|0)+16>>2];if((d[c[j>>2]>>0]|0)==27){c[l>>2]=0;c[m>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2]}else{c[l>>2]=c[(c[(c[o>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+8>>2];c[k>>2]=c[(c[(c[j>>2]|0)+16>>2]|0)+8>>2]}c[I>>2]=Ly(c[z>>2]|0,c[l>>2]|0,c[m>>2]|0,c[k>>2]|0,c[x>>2]|0,c[o>>2]|0)|0;I=c[I>>2]|0;i=J;return I|0}case 151:{c[w>>2]=c[(c[o>>2]|0)+20>>2];if(c[w>>2]|0)h=c[c[w>>2]>>2]|0;else h=0;c[s>>2]=h;c[u>>2]=0;c[F>>2]=0;c[r>>2]=0;a[q>>0]=a[(c[c[z>>2]>>2]|0)+66>>0]|0;My(c[z>>2]|0,c[x>>2]|0,30166,16);c[G>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=Jf(c[G>>2]|0)|0;c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,c[s>>2]|0,a[q>>0]|0,0)|0;do if(!(c[v>>2]|0)){c[v>>2]=ii(c[c[z>>2]>>2]|0,c[G>>2]|0,-2,a[q>>0]|0,0)|0;if(!(c[v>>2]|0)){c[u>>2]=1;break}else{c[F>>2]=1;break}}else{c[r>>2]=(c[(c[v>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[v>>2]|0)+2>>1]&1024){q=(c[o>>2]|0)+4|0;c[q>>2]=c[q>>2]|266240;if((c[s>>2]|0)!=2){c[(c[o>>2]|0)+28>>2]=(a[c[(c[v>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}s=Ny(c[(c[(c[w>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[o>>2]|0)+28>>2]=s;if((c[(c[o>>2]|0)+28>>2]|0)<0){Ch(c[z>>2]|0,30176,A);A=(c[x>>2]|0)+24|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[p>>2]=Sw(c[z>>2]|0,31,0,c[(c[v>>2]|0)+20>>2]|0,0)|0;if(c[p>>2]|0){if((c[p>>2]|0)==1){H=c[z>>2]|0;c[B>>2]=c[(c[v>>2]|0)+20>>2];Ch(H,30247,B);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}a[c[o>>2]>>0]=101;c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}else{if(e[(c[v>>2]|0)+2>>1]&10240){B=(c[o>>2]|0)+4|0;c[B>>2]=c[B>>2]|524288}if(e[(c[v>>2]|0)+2>>1]&2048)break;My(c[z>>2]|0,c[x>>2]|0,30282,32);break}}while(0);if((c[r>>2]|0)!=0?(e[(c[x>>2]|0)+28>>1]&1|0)==0:0){F=c[z>>2]|0;G=c[G>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=G;Ch(F,30310,D);G=(c[x>>2]|0)+24|0;c[G>>2]=(c[G>>2]|0)+1;c[r>>2]=0}else H=31;do if((H|0)==31){if((c[u>>2]|0)!=0?(d[(c[c[z>>2]>>2]|0)+144+5>>0]|0)==0:0){H=c[z>>2]|0;G=c[G>>2]|0;c[E>>2]=c[t>>2];c[E+4>>2]=G;Ch(H,30346,E);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1;break}if(c[F>>2]|0){H=c[z>>2]|0;G=c[G>>2]|0;c[C>>2]=c[t>>2];c[C+4>>2]=G;Ch(H,30369,C);H=(c[x>>2]|0)+24|0;c[H>>2]=(c[H>>2]|0)+1}}while(0);if(c[r>>2]|0){H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]&-2}gy(c[n>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[y>>2]=c[x>>2];a[c[o>>2]>>0]=-103;a[(c[o>>2]|0)+38>>0]=0;while(1){if(!(c[y>>2]|0))break;if(!((Oy(c[o>>2]|0,c[(c[y>>2]|0)+4>>2]|0)|0)!=0^1))break;H=(c[o>>2]|0)+38|0;a[H>>0]=(a[H>>0]|0)+1<<24>>24;c[y>>2]=c[(c[y>>2]|0)+16>>2]}if(c[y>>2]|0){H=(c[y>>2]|0)+28|0;b[H>>1]=e[H>>1]|(2|e[(c[v>>2]|0)+2>>1]&4096)}H=(c[x>>2]|0)+28|0;b[H>>1]=e[H>>1]|1}c[I>>2]=1;I=c[I>>2]|0;i=J;return I|0}case 75:case 20:case 119:{if((c[(c[o>>2]|0)+4>>2]&2048|0)!=0?(c[h>>2]=c[(c[x>>2]|0)+20>>2],My(c[z>>2]|0,c[x>>2]|0,30414,52),dy(c[n>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0,(c[h>>2]|0)!=(c[(c[x>>2]|0)+20>>2]|0)):0){H=(c[o>>2]|0)+4|0;c[H>>2]=c[H>>2]|32}break}case 135:{My(c[z>>2]|0,c[x>>2]|0,30425,52);break}default:{}}if(c[(c[z>>2]|0)+68>>2]|0)h=1;else h=(d[(c[c[z>>2]>>2]|0)+69>>0]|0)!=0;c[I>>2]=h?2:0;I=c[I>>2]|0;i=J;return I|0}function ky(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+128|0;C=E+8|0;B=E;D=E+116|0;h=E+112|0;x=E+108|0;s=E+104|0;v=E+72|0;y=E+68|0;l=E+64|0;A=E+60|0;k=E+56|0;n=E+52|0;z=E+48|0;j=E+44|0;t=E+40|0;o=E+36|0;r=E+32|0;m=E+28|0;w=E+24|0;p=E+20|0;u=E+16|0;q=E+12|0;c[h>>2]=f;c[x>>2]=g;if(c[(c[x>>2]|0)+8>>2]&4){c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}c[s>>2]=c[(c[h>>2]|0)+24>>2];c[A>>2]=c[c[h>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[x>>2]|0)+8>>2]&32)){Qx(c[A>>2]|0,c[x>>2]|0,c[s>>2]|0);if(c[(c[A>>2]|0)+68>>2]|0)h=1;else h=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=h?2:1;D=c[D>>2]|0;i=E;return D|0}c[y>>2]=(c[(c[x>>2]|0)+48>>2]|0)!=0&1;c[l>>2]=0;c[z>>2]=c[x>>2];a:while(1){if(!(c[x>>2]|0)){h=68;break}f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(ly(v,c[(c[x>>2]|0)+56>>2]|0)|0){h=11;break}if(ly(v,c[(c[x>>2]|0)+60>>2]|0)|0){h=11;break}if(c[(c[x>>2]|0)+8>>2]&32768){c[t>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[t>>2]|0)+44>>2]=c[(c[x>>2]|0)+44>>2];c[(c[x>>2]|0)+44>>2]=0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[o>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(c[(c[o>>2]|0)+20>>2]|0){c[m>>2]=0;c[w>>2]=c[(c[A>>2]|0)+496>>2];c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)+(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}if(c[(c[o>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+496>>2]=c[(c[o>>2]|0)+8>>2];$x(c[A>>2]|0,c[(c[o>>2]|0)+20>>2]|0,c[s>>2]|0);c[(c[A>>2]|0)+496>>2]=c[w>>2];if(c[(c[A>>2]|0)+68>>2]|0){h=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=24;break a}c[r>>2]=c[s>>2];while(1){if(!(c[r>>2]|0))break;c[m>>2]=(c[m>>2]|0)-(c[(c[r>>2]|0)+20>>2]|0);c[r>>2]=c[(c[r>>2]|0)+16>>2]}f=(c[o>>2]|0)+36+1|0;a[f>>0]=a[f>>0]&-9|((c[m>>2]|0)!=0&1)<<3&255}c[k>>2]=(c[k>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[x>>2]|0)+28>>2];c[v+16>>2]=c[s>>2];if(my(v,c[c[x>>2]>>2]|0)|0){h=31;break}c[n>>2]=c[(c[x>>2]|0)+36>>2];if((c[n>>2]|0)==0?(e[v+28>>1]&2|0)==0:0){f=v+28|0;b[f>>1]=e[f>>1]&-2}else{f=(c[x>>2]|0)+8|0;c[f>>2]=c[f>>2]|(8|e[v+28>>1]&4096)}if(!((c[n>>2]|0)!=0?1:(c[(c[x>>2]|0)+40>>2]|0)==0)){h=37;break}c[v+8>>2]=c[c[x>>2]>>2];if(ly(v,c[(c[x>>2]|0)+40>>2]|0)|0){h=39;break}if(ly(v,c[(c[x>>2]|0)+32>>2]|0)|0){h=41;break}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[(c[x>>2]|0)+28>>2]>>2]|0))break;c[p>>2]=(c[(c[x>>2]|0)+28>>2]|0)+8+((c[k>>2]|0)*72|0);if(((d[(c[p>>2]|0)+36+1>>0]|0)>>>2&1|0)!=0?(my(v,c[(c[p>>2]|0)+64>>2]|0)|0)!=0:0){h=46;break a}c[k>>2]=(c[k>>2]|0)+1}c[v+16>>2]=0;f=v+28|0;b[f>>1]=e[f>>1]|1;if(c[(c[x>>2]|0)+8>>2]&32768){c[u>>2]=c[(c[(c[x>>2]|0)+28>>2]|0)+8+20>>2];c[(c[x>>2]|0)+44>>2]=c[(c[u>>2]|0)+44>>2];c[(c[u>>2]|0)+44>>2]=0}if((c[y>>2]|0)<=(c[l>>2]|0)?(ny(v,c[x>>2]|0,c[(c[x>>2]|0)+44>>2]|0,29687)|0)!=0:0){h=52;break}if(a[(c[j>>2]|0)+69>>0]|0){h=54;break}b:do if(c[n>>2]|0){if(ny(v,c[x>>2]|0,c[n>>2]|0,29693)|0){h=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){h=58;break a}c[k>>2]=0;c[q>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[k>>2]|0)>=(c[c[n>>2]>>2]|0))break b;if(c[(c[c[q>>2]>>2]|0)+4>>2]&2){h=62;break a}c[k>>2]=(c[k>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}}while(0);if((c[(c[x>>2]|0)+52>>2]|0)!=0?(c[c[c[x>>2]>>2]>>2]|0)!=(c[c[c[(c[x>>2]|0)+52>>2]>>2]>>2]|0):0){h=66;break}c[x>>2]=c[(c[x>>2]|0)+48>>2];c[l>>2]=(c[l>>2]|0)+1}switch(h|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 37:{Ch(c[A>>2]|0,29643,B);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 62:{Ch(c[A>>2]|0,29699,C);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 66:{oy(c[A>>2]|0,c[(c[x>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}case 68:{if((c[y>>2]|0)!=0?(py(c[A>>2]|0,c[z>>2]|0)|0)!=0:0){c[D>>2]=2;D=c[D>>2]|0;i=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;i=E;return D|0}}return 0}function ly(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+48|0;g=n+40|0;h=n+36|0;j=n+32|0;l=n+44|0;m=n+4|0;k=n;c[h>>2]=d;c[j>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;i=n;return m|0}c[k>>2]=c[c[h>>2]>>2];if(Ky(c[k>>2]|0,(c[(c[j>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+464>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;i=n;return m|0}k=(c[k>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)+(c[(c[j>>2]|0)+24>>2]|0);b[l>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4098;k=(c[h>>2]|0)+28|0;b[k>>1]=(e[k>>1]|0)&-4099;c[m>>2]=c[c[h>>2]>>2];c[m+4>>2]=193;c[m+8>>2]=194;c[m+12>>2]=0;c[m+16>>2]=0;a[m+20>>0]=0;c[m+24>>2]=c[h>>2];hy(m,c[j>>2]|0)|0;k=(c[c[h>>2]>>2]|0)+464|0;c[k>>2]=(c[k>>2]|0)-(c[(c[j>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[m>>2]|0)+68>>2]|0)<=0:0)){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&2){m=(c[j>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[l>>1]|0);c[g>>2]=(c[(c[j>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;i=n;return m|0}function my(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(ly(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;a=c[d>>2]|0;i=h;return a|0}while(0);c[d>>2]=0;a=c[d>>2]|0;i=h;return a|0}function ny(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var 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;w=i;i=i+64|0;h=w+48|0;j=w+44|0;k=w+40|0;l=w+36|0;m=w+32|0;n=w+28|0;p=w+24|0;o=w+20|0;t=w+16|0;u=w+12|0;q=w+8|0;r=w+4|0;s=w;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;if(!(c[l>>2]|0)){c[h>>2]=0;v=c[h>>2]|0;i=w;return v|0}c[q>>2]=c[c[c[k>>2]>>2]>>2];c[u>>2]=c[c[j>>2]>>2];c[n>>2]=0;c[t>>2]=c[(c[l>>2]|0)+4>>2];a:while(1){if((c[n>>2]|0)>=(c[c[l>>2]>>2]|0)){v=20;break}c[r>>2]=c[c[t>>2]>>2];c[s>>2]=Zx(c[r>>2]|0)|0;if((a[c[m>>2]>>0]|0)!=71?(c[o>>2]=sy(c[u>>2]|0,c[c[k>>2]>>2]|0,c[s>>2]|0)|0,(c[o>>2]|0)>0):0)b[(c[t>>2]|0)+16>>1]=c[o>>2];else v=8;b:do if((v|0)==8){v=0;if(qy(c[s>>2]|0,o)|0){if((c[o>>2]|0)<1|(c[o>>2]|0)>65535){v=10;break a}b[(c[t>>2]|0)+16>>1]=c[o>>2];break}b[(c[t>>2]|0)+16>>1]=0;if(ly(c[j>>2]|0,c[r>>2]|0)|0){v=13;break a}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[c[k>>2]>>2]>>2]|0))break b;if(!(vy(c[r>>2]|0,c[(c[(c[c[k>>2]>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[t>>2]|0)+16>>1]=(c[p>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+20}if((v|0)==10){ry(c[u>>2]|0,c[m>>2]|0,(c[n>>2]|0)+1|0,c[q>>2]|0);c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==13){c[h>>2]=1;v=c[h>>2]|0;i=w;return v|0}else if((v|0)==20){c[h>>2]=Ey(c[u>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;v=c[h>>2]|0;i=w;return v|0}return 0}function oy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;b=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&256){Ch(b,29909,g);i=g;return}else{c[f>>2]=Dy(d[(c[e>>2]|0)+4>>0]|0)|0;Ch(b,29955,f);i=g;return}}function py(e,f){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,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+80|0;v=w+8|0;q=w+64|0;r=w+60|0;g=w+56|0;s=w+52|0;u=w+48|0;t=w+44|0;h=w+40|0;k=w+36|0;n=w+32|0;j=w+28|0;m=w+24|0;l=w+20|0;o=w+16|0;p=w+12|0;c[r>>2]=e;c[g>>2]=f;c[k>>2]=1;c[u>>2]=c[(c[g>>2]|0)+44>>2];if(!(c[u>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}c[h>>2]=c[c[r>>2]>>2];if((c[c[u>>2]>>2]|0)>(c[(c[h>>2]|0)+92+8>>2]|0)){Ch(c[r>>2]|0,29758,w);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;f=(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[g>>2]|0)+52>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[(c[(c[g>>2]|0)+48>>2]|0)+52>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2]}a:while(1){if(!((c[g>>2]|0)!=0?(c[k>>2]|0)!=0:0)){g=36;break}c[k>>2]=0;c[t>>2]=c[c[g>>2]>>2];c[s>>2]=0;c[n>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[j>>2]=-1;do if(!(a[(c[n>>2]|0)+13>>0]&1)){c[m>>2]=Zx(c[c[n>>2]>>2]|0)|0;if(qy(c[m>>2]|0,j)|0){if((c[j>>2]|0)<=0){g=18;break a}if((c[j>>2]|0)>(c[c[t>>2]>>2]|0)){g=18;break a}}else{c[j>>2]=sy(c[r>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[j>>2]|0)){c[l>>2]=ty(c[h>>2]|0,c[m>>2]|0,0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0))c[j>>2]=uy(c[r>>2]|0,c[g>>2]|0,c[l>>2]|0)|0;dv(c[h>>2]|0,c[l>>2]|0)}}if((c[j>>2]|0)<=0){c[k>>2]=1;break}c[o>>2]=Pv(c[h>>2]|0,132,0)|0;if(!(c[o>>2]|0)){g=25;break a}f=(c[o>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[j>>2];if((c[c[n>>2]>>2]|0)==(c[m>>2]|0))c[c[n>>2]>>2]=c[o>>2];else{c[p>>2]=c[c[n>>2]>>2];while(1){if((d[c[(c[p>>2]|0)+12>>2]>>0]|0)!=95)break;c[p>>2]=c[(c[p>>2]|0)+12>>2]}c[(c[p>>2]|0)+12>>2]=c[o>>2]}dv(c[h>>2]|0,c[m>>2]|0);b[(c[n>>2]|0)+16>>1]=c[j>>2];f=(c[n>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+20}c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((g|0)==18){ry(c[r>>2]|0,29687,(c[s>>2]|0)+1|0,c[c[t>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==25){c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[u>>2]>>2]|0)){g=41;break}if(!(a[(c[(c[u>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){g=39;break}c[s>>2]=(c[s>>2]|0)+1}if((g|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ch(u,29792,v);c[q>>2]=1;v=c[q>>2]|0;i=w;return v|0}else if((g|0)==41){c[q>>2]=0;v=c[q>>2]|0;i=w;return v|0}}return 0}function qy(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;j=c[e>>2]|0;i=k;return j|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=qy(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(qy(c[(c[f>>2]|0)+12>>2]|0,j)|0){c[c[g>>2]>>2]=0-(c[j>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];j=c[e>>2]|0;i=k;return j|0}function ry(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+32|0;g=f;l=f+24|0;k=f+20|0;h=f+16|0;j=f+12|0;c[l>>2]=a;c[k>>2]=b;c[h>>2]=d;c[j>>2]=e;b=c[l>>2]|0;e=c[k>>2]|0;a=c[j>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=e;c[g+8>>2]=a;Ch(b,29853,g);i=f;return}function sy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+24|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==27){c[l>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+4>>2];if((c[k>>2]|0)!=0?(ig(c[k>>2]|0,c[l>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}c[f>>2]=(c[j>>2]|0)+1;l=c[f>>2]|0;i=m;return l|0}while(0);c[f>>2]=0;l=c[f>>2]|0;i=m;return l|0}function ty(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;b=xy(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;i=e;return b|0}function uy(d,e,f){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,r=0;l=i;i=i+80|0;k=l+60|0;q=l+56|0;r=l+52|0;g=l+48|0;h=l+44|0;j=l+40|0;p=l+8|0;n=l+4|0;m=l;o=l+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[j>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[j>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=ly(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[j>>2]>>2]|0)){f=8;break}r=(vy(c[(c[(c[j>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;d=(c[h>>2]|0)+1|0;if(r){f=6;break}c[h>>2]=d}if((f|0)==6){c[k>>2]=d;r=c[k>>2]|0;i=l;return r|0}else if((f|0)==8){c[k>>2]=0;r=c[k>>2]|0;i=l;return r|0}return 0}function vy(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)==0|(c[j>>2]|0)==0){c[g>>2]=(c[j>>2]|0)==(c[h>>2]|0)?0:2;l=c[g>>2]|0;i=m;return l|0}c[l>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[j>>2]|0)+4>>2];f=c[h>>2]|0;if(c[l>>2]&1024){if((c[f+4>>2]&c[(c[j>>2]|0)+4>>2]&1024|0)!=0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}a=d[c[h>>2]>>0]|0;if((d[f>>0]|0)!=(d[c[j>>2]>>0]|0)){if((a|0)==95?(vy(c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}if((d[c[j>>2]>>0]|0)==95?(vy(c[h>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0)<2:0){c[g>>2]=1;l=c[g>>2]|0;i=m;return l|0}c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(((a|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?(c[(c[h>>2]|0)+8>>2]|0)!=0:0){f=c[(c[h>>2]|0)+8>>2]|0;a=c[(c[j>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(ig(f,a)|0))break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}else{if(!(HQ(f,a)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==95?1:2;l=c[g>>2]|0;i=m;return l|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[j>>2]|0)+4>>2]&16|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}do if(!(c[l>>2]&16384)){if(c[l>>2]&2048){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(vy(c[(c[h>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(vy(c[(c[h>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if(wy(c[(c[h>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[k>>2]|0)|0){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[l>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0)){c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[j>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[k>>2]|0)?(c[(c[j>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;l=c[g>>2]|0;i=m;return l|0}}}while(0);c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function wy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[f>>2]>>2]|0)){f=14;break}c[k>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)+12>>0]|0|0)){f=10;break}if(vy(c[k>>2]|0,c[l>>2]|0,c[h>>2]|0)|0){f=12;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==10){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==12){c[m>>2]=1;m=c[m>>2]|0;i=n;return m|0}else if((f|0)==14){c[m>>2]=0;m=c[m>>2]|0;i=n;return m|0}return 0}function xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var 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;t=i;i=i+64|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;m=t+28|0;s=t+24|0;k=t+20|0;h=t+16|0;f=t+12|0;j=t+8|0;g=t+4|0;l=t;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[r>>2]=0;if(!(c[o>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[m>>2]=c[p>>2]&1;c[k>>2]=0;if(c[q>>2]|0){c[s>>2]=c[c[q>>2]>>2];c[k>>2]=32768}else{b=c[n>>2]|0;e=yy(c[o>>2]|0,c[p>>2]|0)|0;c[s>>2]=Lw(b,e,((e|0)<0)<<31>>31)|0}c[r>>2]=c[s>>2];if(!(c[r>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[h>>2]=zy(c[o>>2]|0,c[p>>2]|0)|0;c[f>>2]=c[h>>2]&4095;if((c[(c[o>>2]|0)+4>>2]&1024|0)==0?(c[(c[o>>2]|0)+8>>2]|0)!=0:0)c[j>>2]=(Jf(c[(c[o>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[m>>2]|0)){c[g>>2]=Ay(c[o>>2]|0)|0;rR(c[s>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)>>>0<48)tR((c[s>>2]|0)+(c[g>>2]|0)|0,0,48-(c[g>>2]|0)|0)|0}else rR(c[s>>2]|0,c[o>>2]|0,c[f>>2]|0)|0;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]&-122881;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[h>>2]&24576;e=(c[r>>2]|0)+4|0;c[e>>2]=c[e>>2]|c[k>>2];if(c[j>>2]|0){k=(c[s>>2]|0)+(c[f>>2]|0)|0;c[(c[r>>2]|0)+8>>2]=k;c[l>>2]=k;rR(c[l>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[o>>2]|0)+4>>2]|c[(c[r>>2]|0)+4>>2])&16384)){d=c[n>>2]|0;a=(c[o>>2]|0)+20|0;if(c[(c[o>>2]|0)+4>>2]&2048){m=Nx(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}else{m=By(d,c[a>>2]|0,c[m>>2]|0)|0;c[(c[r>>2]|0)+20>>2]=m;break}}while(0);a=c[o>>2]|0;if(!(c[(c[r>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&16384){s=c[r>>2]|0;i=t;return s|0}s=ty(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+12>>2]=s;s=ty(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,0)|0;c[(c[r>>2]|0)+16>>2]=s;s=c[r>>2]|0;i=t;return s|0}p=Cy(a,c[p>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+p;if(c[(c[r>>2]|0)+4>>2]&8192){p=xy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,1,s)|0;c[(c[r>>2]|0)+12>>2]=p;p=xy(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,1,s)|0;c[(c[r>>2]|0)+16>>2]=p}if(!(c[q>>2]|0)){s=c[r>>2]|0;i=t;return s|0}c[c[q>>2]>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}function yy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){a=c[f>>2]|0;i=g;return a|0}c[f>>2]=Cy(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){a=c[f>>2]|0;i=g;return a|0}a=yy(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;a=a+(yy(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+a;a=c[f>>2]|0;i=g;return a|0}function zy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]&1))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);i=f;return c[e>>2]|0}function Ay(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384))if(c[(c[d>>2]|0)+4>>2]&8192){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);i=e;return c[b>>2]|0}function By(b,e,f){b=b|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;q=i;i=i+48|0;g=q+32|0;h=q+28|0;j=q+24|0;k=q+20|0;n=q+16|0;m=q+12|0;p=q+8|0;l=q+4|0;o=q;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(c[j>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[n>>2]=Lw(c[h>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}e=c[c[j>>2]>>2]|0;c[l>>2]=e;c[c[n>>2]>>2]=e;a:do if(!(c[k>>2]&1)){c[l>>2]=1;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break a;c[l>>2]=(c[l>>2]|0)+(c[l>>2]|0)}}while(0);e=Lw(c[h>>2]|0,(c[l>>2]|0)*20|0,0)|0;c[m>>2]=e;c[(c[n>>2]|0)+4>>2]=e;if(!(c[m>>2]|0)){Tf(c[h>>2]|0,c[n>>2]|0);c[g>>2]=0;p=c[g>>2]|0;i=q;return p|0}c[p>>2]=c[(c[j>>2]|0)+4>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[c[j>>2]>>2]|0))break;c[o>>2]=c[c[p>>2]>>2];e=ty(c[h>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=e;e=ph(c[h>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=e;a[(c[m>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-2;e=(c[m>>2]|0)+13|0;a[e>>0]=a[e>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[m>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[l>>2]=(c[l>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[g>>2]=c[n>>2];p=c[g>>2]|0;i=q;return p|0}function Cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(zy(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?(c[(c[d>>2]|0)+8>>2]|0)!=0:0){g=(Jf(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}i=f;return (c[e>>2]|0)+7&-8|0}function Dy(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=30037;break}case 118:{c[b>>2]=30047;break}case 117:{c[b>>2]=30057;break}default:c[b>>2]=30064}i=d;return c[b>>2]|0}function Ey(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;l=t;p=t+36|0;m=t+32|0;j=t+28|0;n=t+24|0;q=t+20|0;r=t+16|0;k=t+12|0;s=t+8|0;o=t+4|0;c[m>>2]=a;c[j>>2]=f;c[n>>2]=g;c[q>>2]=h;c[k>>2]=c[c[m>>2]>>2];if((c[n>>2]|0)!=0?(d[(c[c[m>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[n>>2]>>2]|0)>(c[(c[k>>2]|0)+92+8>>2]|0)){s=c[m>>2]|0;c[l>>2]=c[q>>2];Ch(s,30070,l);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}c[s>>2]=c[c[j>>2]>>2];c[r>>2]=0;c[o>>2]=c[(c[n>>2]|0)+4>>2];while(1){if((c[r>>2]|0)>=(c[c[n>>2]>>2]|0)){j=13;break}if(b[(c[o>>2]|0)+16>>1]|0){k=c[m>>2]|0;if((e[(c[o>>2]|0)+16>>1]|0)>(c[c[s>>2]>>2]|0)){j=10;break}Fy(k,c[s>>2]|0,(e[(c[o>>2]|0)+16>>1]|0)-1|0,c[c[o>>2]>>2]|0,c[q>>2]|0,0)}c[r>>2]=(c[r>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}if((j|0)==10){ry(k,c[q>>2]|0,(c[r>>2]|0)+1|0,c[c[s>>2]>>2]|0);c[p>>2]=1;s=c[p>>2]|0;i=t;return s|0}else if((j|0)==13){c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}}c[p>>2]=0;s=c[p>>2]|0;i=t;return s|0}function Fy(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=i;i=i+48|0;k=q+32|0;t=q+28|0;s=q+24|0;n=q+20|0;l=q+16|0;m=q+12|0;r=q+8|0;p=q+4|0;o=q;c[k>>2]=b;c[t>>2]=e;c[s>>2]=f;c[n>>2]=g;c[l>>2]=h;c[m>>2]=j;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=ty(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[p>>2]|0)){i=q;return}if((a[c[l>>2]>>0]|0)!=71)Gy(c[p>>2]|0,c[m>>2]|0);if((d[c[n>>2]>>0]|0)==95)c[p>>2]=Hy(c[k>>2]|0,c[p>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;k=(c[p>>2]|0)+4|0;c[k>>2]=c[k>>2]|4194304;k=(c[n>>2]|0)+4|0;c[k>>2]=c[k>>2]|32768;dv(c[o>>2]|0,c[n>>2]|0);k=c[n>>2]|0;l=c[p>>2]|0;m=k+48|0;do{c[k>>2]=c[l>>2];k=k+4|0;l=l+4|0}while((k|0)<(m|0));if((c[(c[n>>2]|0)+4>>2]&1024|0)==0?(c[(c[n>>2]|0)+8>>2]|0)!=0:0){t=ph(c[o>>2]|0,c[(c[n>>2]|0)+8>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=t;t=(c[n>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Tf(c[o>>2]|0,c[p>>2]|0);i=q;return}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){i=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=195;c[f+24>>2]=c[e>>2];hy(f,c[d>>2]|0)|0;i=g;return}function Hy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+32|0;h=e+16|0;g=e+12|0;j=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[j>>2]=d;Iy(f,c[j>>2]|0);d=cw(c[h>>2]|0,c[g>>2]|0,f,0)|0;i=e;return d|0}function Iy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=Jf(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;i=d;return}function Jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){i=h;return 0}b=(c[g>>2]|0)+38|0;a[b>>0]=(d[b>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);i=h;return 0}function Ky(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;g=h;d=h+16|0;j=h+12|0;f=h+8|0;e=h+4|0;c[d>>2]=a;c[j>>2]=b;c[f>>2]=0;c[e>>2]=c[(c[c[d>>2]>>2]|0)+92+12>>2];if((c[j>>2]|0)<=(c[e>>2]|0)){j=c[f>>2]|0;i=h;return j|0}j=c[d>>2]|0;c[g>>2]=c[e>>2];Ch(j,30101,g);c[f>>2]=1;j=c[f>>2]|0;i=h;return j|0} +function LC(f,g,h,j,k,l,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=i;i=i+192|0;A=na;E=na+176|0;F=na+172|0;H=na+168|0;I=na+164|0;J=na+160|0;K=na+156|0;L=na+152|0;M=na+183|0;N=na+182|0;O=na+148|0;G=na+144|0;s=na+140|0;ka=na+136|0;ca=na+132|0;da=na+128|0;S=na+124|0;T=na+120|0;Z=na+116|0;w=na+112|0;$=na+108|0;t=na+104|0;ja=na+100|0;_=na+96|0;X=na+92|0;W=na+88|0;Y=na+181|0;R=na+180|0;ia=na+84|0;B=na+80|0;x=na+76|0;v=na+72|0;y=na+68|0;C=na+64|0;u=na+60|0;z=na+56|0;ga=na+52|0;ha=na+48|0;V=na+44|0;Q=na+40|0;U=na+36|0;la=na+32|0;ma=na+28|0;P=na+24|0;aa=na+20|0;fa=na+16|0;ba=na+12|0;ea=na+8|0;c[E>>2]=f;c[F>>2]=g;c[H>>2]=h;c[I>>2]=j;c[J>>2]=k;c[K>>2]=l;c[L>>2]=m;a[M>>0]=n;a[N>>0]=o;c[O>>2]=p;c[G>>2]=q;c[s>>2]=r;c[da>>2]=0;c[ja>>2]=0;c[X>>2]=0;c[W>>2]=0;a[R>>0]=0;c[ia>>2]=-1;a[Y>>0]=(c[L>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[ka>>2]=Vw(c[E>>2]|0)|0;c[w>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[da>>2]=0;c[_>>2]=1}else{c[da>>2]=Hj(c[F>>2]|0)|0;c[_>>2]=e[(c[da>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[w>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if((c[s>>2]|0)!=0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[$>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[$>>2]|0){if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if((c[$>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[$>>2]=2;switch(c[$>>2]|0){case 2:{Hx(c[E>>2]|0);break}case 3:case 1:break;case 4:{Xw(c[ka>>2]|0,76,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[O>>2]|0)|0;break a}default:{c[t>>2]=Dz(c[ka>>2]|0,77,(c[K>>2]|0)+1+(c[T>>2]|0)|0)|0;DA(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0);Lz(c[ka>>2]|0,c[t>>2]|0);break a}}m=c[S>>2]|0;l=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[A>>2]=c[c[F>>2]>>2];c[A+4>>2]=l;c[B>>2]=Dh(m,30741,A)|0;_w(c[ka>>2]|0,20,1299,c[$>>2]|0,(c[K>>2]|0)+1+(c[T>>2]|0)|0,c[B>>2]|0,-1)|0;Hh(c[ka>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if((c[(c[F>>2]|0)+24>>2]|0)!=0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[x>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;c[$>>2]=(d[N>>0]|0)!=10?d[N>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[x>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!((c[s>>2]|0)!=0?(IE(c[y>>2]|0,c[s>>2]|0,d[M>>0]|0)|0)!=0:0)){c[v>>2]=Iz(c[ka>>2]|0)|0;SA(c[E>>2]|0,c[y>>2]|0,c[v>>2]|0,16);if((c[$>>2]|0)==4)Kz(c[ka>>2]|0,c[O>>2]|0)|0;else{c[C>>2]=c[(c[(c[x>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[C>>2]|0))c[C>>2]=c[c[F>>2]>>2];if((c[$>>2]|0)==5)c[$>>2]=2;hA(c[E>>2]|0,275,c[$>>2]|0,c[C>>2]|0,0,3)}Mz(c[ka>>2]|0,c[v>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[M>>0]|0)!=0&(c[da>>2]|0)==0){c[u>>2]=Iz(c[ka>>2]|0)|0;c[$>>2]=d[(c[F>>2]|0)+43>>0];if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];if(a[Y>>0]|0){$w(c[ka>>2]|0,79,c[K>>2]|0,c[u>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112)}c:do if((c[$>>2]|0)==5?(d[N>>0]|0)!=5:0){c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break c;if((d[(c[ca>>2]|0)+54>>0]|0)==4)break;if((d[(c[ca>>2]|0)+54>>0]|0)==3)break;c[ca>>2]=c[(c[ca>>2]|0)+20>>2]}c[X>>2]=cx(c[ka>>2]|0,13)|0}while(0);$w(c[ka>>2]|0,70,c[I>>2]|0,c[u>>2]|0,c[K>>2]|0)|0;switch(c[$>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[z>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144)c[z>>2]=yC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if((c[z>>2]|0)==0?(KE(c[E>>2]|0,c[F>>2]|0,0,0)|0)==0:0){if(c[(c[F>>2]|0)+8>>2]|0){LE(c[E>>2]|0);NE(c[E>>2]|0,c[F>>2]|0,c[I>>2]|0,c[J>>2]|0,0,-1)}}else{LE(c[E>>2]|0);ME(c[E>>2]|0,c[F>>2]|0,c[z>>2]|0,c[I>>2]|0,c[J>>2]|0,c[K>>2]|0,1,0,5,1,-1)}c[ja>>2]=1;break}case 4:{Kz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[$>>2]=2;D=55}}if((D|0)==55)JE(c[E>>2]|0,c[$>>2]|0,c[F>>2]|0);Mz(c[ka>>2]|0,c[u>>2]|0);if(c[X>>2]|0){c[W>>2]=cx(c[ka>>2]|0,13)|0;Lz(c[ka>>2]|0,c[X>>2]|0)}}c[Z>>2]=0;c[ca>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[ca>>2]|0))break;do if(c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0){if(!(d[R>>0]|0)){GC(c[ka>>2]|0,c[F>>2]|0,(c[K>>2]|0)+1|0);a[R>>0]=1}c[V>>2]=(c[J>>2]|0)+(c[Z>>2]|0);c[Q>>2]=Iz(c[ka>>2]|0)|0;if(c[(c[ca>>2]|0)+36>>2]|0){Xw(c[ka>>2]|0,25,0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;pA(c[E>>2]|0,c[(c[ca>>2]|0)+36>>2]|0,c[Q>>2]|0,16);c[(c[E>>2]|0)+100>>2]=0}c[ga>>2]=qA(c[E>>2]|0,e[(c[ca>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[ca>>2]|0)+52>>1]|0))break;c[U>>2]=b[(c[(c[ca>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[U>>2]|0)==-2){c[(c[E>>2]|0)+100>>2]=(c[K>>2]|0)+1;yA(c[E>>2]|0,c[(c[(c[(c[ca>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+100>>2]=0}else{if((c[U>>2]|0)!=-1?(c[U>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[la>>2]=(c[U>>2]|0)+(c[K>>2]|0)+1;else{if((c[ia>>2]|0)==((c[ga>>2]|0)+(c[T>>2]|0)|0))break;c[la>>2]=c[K>>2];if(c[(c[ca>>2]|0)+36>>2]|0)s=-1;else s=(c[ga>>2]|0)+(c[T>>2]|0)|0;c[ia>>2]=s}Xw(c[ka>>2]|0,(c[U>>2]|0)<0?32:31,c[la>>2]|0,(c[ga>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}$w(c[ka>>2]|0,49,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0,c[(c[H>>2]|0)+(c[Z>>2]<<2)>>2]|0)|0;IA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if(((d[Y>>0]|0)!=0?(c[da>>2]|0)==(c[ca>>2]|0):0)?(d[M>>0]|0)==0:0){Mz(c[ka>>2]|0,c[Q>>2]|0);break}c[$>>2]=d[(c[ca>>2]|0)+54>>0];if(!(c[$>>2]|0)){tA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);Mz(c[ka>>2]|0,c[Q>>2]|0);break}if((d[N>>0]|0)==10){if((c[$>>2]|0)==10)c[$>>2]=2}else c[$>>2]=d[N>>0];Gh(c[ka>>2]|0,67,c[V>>2]|0,c[Q>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;if((c[ca>>2]|0)==(c[da>>2]|0))s=c[ga>>2]|0;else s=qA(c[E>>2]|0,c[_>>2]|0)|0;c[ha>>2]=s;d:do if((d[Y>>0]|0)!=0|(c[$>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Xw(c[ka>>2]|0,113,c[V>>2]|0,c[ha>>2]|0)|0;if(!(a[Y>>0]|0))break;$w(c[ka>>2]|0,79,c[ha>>2]|0,c[Q>>2]|0,c[L>>2]|0)|0;Hh(c[ka>>2]|0,-112);break}e:do if((c[ca>>2]|0)!=(c[da>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break e;c[ma>>2]=(AA(c[ca>>2]|0,b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;$w(c[ka>>2]|0,47,c[V>>2]|0,c[ma>>2]|0,(c[ha>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[Y>>0]|0){D=Hz(c[ka>>2]|0)|0;c[P>>2]=D+(e[(c[da>>2]|0)+50>>1]|0);c[aa>>2]=78;c[fa>>2]=(a[(c[ca>>2]|0)+55>>0]&3|0)==2?c[ga>>2]|0:c[ha>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[da>>2]|0)+50>>1]|0))break d;c[ba>>2]=Jz(c[E>>2]|0,c[(c[(c[da>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ma>>2]=b[(c[(c[da>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[da>>2]|0)+50>>1]|0)-1|0)){c[P>>2]=c[Q>>2];c[aa>>2]=79}_w(c[ka>>2]|0,c[aa>>2]|0,(c[L>>2]|0)+1+(c[ma>>2]|0)|0,c[P>>2]|0,(c[fa>>2]|0)+(c[T>>2]|0)|0,c[ba>>2]|0,-4)|0;Hh(c[ka>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[$>>2]|0){case 3:case 2:case 1:{dA(c[E>>2]|0,c[$>>2]|0,c[ca>>2]|0);break}case 4:{Kz(c[ka>>2]|0,c[O>>2]|0)|0;break}default:{c[ea>>2]=0;LE(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144)c[ea>>2]=yC(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;ME(c[E>>2]|0,c[F>>2]|0,c[ea>>2]|0,c[I>>2]|0,c[J>>2]|0,c[ha>>2]|0,c[_>>2]&65535,0,5,((c[ca>>2]|0)==(c[da>>2]|0)?1:0)&255,-1);c[ja>>2]=1}}Mz(c[ka>>2]|0,c[Q>>2]|0);tA(c[E>>2]|0,c[ga>>2]|0,e[(c[ca>>2]|0)+52>>1]|0);if((c[ha>>2]|0)!=(c[ga>>2]|0))tA(c[E>>2]|0,c[ha>>2]|0,c[_>>2]|0)}while(0);c[ca>>2]=c[(c[ca>>2]|0)+20>>2];c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[X>>2]|0)){la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}Kz(c[ka>>2]|0,(c[X>>2]|0)+1|0)|0;Lz(c[ka>>2]|0,c[W>>2]|0);la=c[ja>>2]|0;ma=c[G>>2]|0;c[ma>>2]=la;i=na;return}function MC(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+112|0;l=O+108|0;m=O+104|0;n=O+100|0;o=O+96|0;p=O+92|0;q=O+88|0;v=O+84|0;D=O+80|0;z=O+76|0;M=O+72|0;C=O+68|0;I=O+64|0;E=O+60|0;t=O+56|0;r=O+52|0;y=O+48|0;x=O+44|0;u=O+40|0;K=O+36|0;A=O+32|0;B=O+28|0;J=O+24|0;L=O+20|0;F=O+16|0;H=O+12|0;s=O+8|0;G=O+4|0;w=O;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=j;c[q>>2]=k;c[v>>2]=c[c[l>>2]>>2];c[C>>2]=d[(c[l>>2]|0)+442>>0];if(!(c[(c[v>>2]|0)+24>>2]&524288)){i=O;return}c[z>>2]=Fh(c[v>>2]|0,c[(c[m>>2]|0)+64>>2]|0)|0;c[M>>2]=c[(c[(c[v>>2]|0)+16>>2]|0)+(c[z>>2]<<4)>>2];c[D>>2]=c[(c[m>>2]|0)+16>>2];a:while(1){if(!(c[D>>2]|0)){N=39;break}c[E>>2]=0;c[t>>2]=0;c[u>>2]=0;if(!(((c[p>>2]|0)!=0?(Td(c[c[m>>2]>>2]|0,c[(c[D>>2]|0)+8>>2]|0)|0)!=0:0)?(QC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=7;do if((N|0)==7){N=0;if(a[(c[l>>2]|0)+442>>0]|0)c[I>>2]=ri(c[v>>2]|0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;else c[I>>2]=Bh(c[l>>2]|0,0,c[(c[D>>2]|0)+8>>2]|0,c[M>>2]|0)|0;if((c[I>>2]|0)!=0?(hC(c[l>>2]|0,c[I>>2]|0,c[D>>2]|0,E,t)|0)==0:0){if(c[t>>2]|0)c[r>>2]=c[t>>2];else{c[y>>2]=c[(c[D>>2]|0)+36>>2];c[r>>2]=y}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;if((c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0))c[(c[r>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[v>>2]|0)+296>>2]|0){if(c[E>>2]|0)j=b[(c[(c[E>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else j=b[(c[I>>2]|0)+32>>1]|0;c[L>>2]=c[(c[(c[I>>2]|0)+4>>2]|0)+(j<<16>>16<<4)>>2];c[J>>2]=Uy(c[l>>2]|0,c[c[I>>2]>>2]|0,c[L>>2]|0,c[z>>2]|0)|0;c[u>>2]=(c[J>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}Ez(c[l>>2]|0,c[z>>2]|0,c[(c[I>>2]|0)+28>>2]|0,0,c[c[I>>2]>>2]|0);g=(c[l>>2]|0)+72|0;c[g>>2]=(c[g>>2]|0)+1;if(c[n>>2]|0)RC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[n>>2]|0,-1,c[u>>2]|0);if((c[o>>2]|0)!=0?(SC(c[l>>2]|0,c[D>>2]|0)|0)==0:0)RC(c[l>>2]|0,c[z>>2]|0,c[I>>2]|0,c[E>>2]|0,c[D>>2]|0,c[r>>2]|0,c[o>>2]|0,1,c[u>>2]|0);Tf(c[v>>2]|0,c[t>>2]|0);break}if(!(c[C>>2]|0)){N=59;break a}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break a}if(!(c[I>>2]|0)){c[K>>2]=Vw(c[l>>2]|0)|0;g=Hz(c[K>>2]|0)|0;c[A>>2]=g+(c[(c[D>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[D>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[D>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[n>>2]|0)+1;Xw(c[K>>2]|0,76,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Xw(c[K>>2]|0,135,d[(c[D>>2]|0)+24>>0]|0,-1)|0}}while(0);c[D>>2]=c[(c[D>>2]|0)+4>>2]}if((N|0)==39){c[D>>2]=Kx(c[m>>2]|0)|0;b:while(1){if(!(c[D>>2]|0)){N=59;break}c[F>>2]=0;c[s>>2]=0;if(!((c[p>>2]|0)!=0?(TC(c[m>>2]|0,c[D>>2]|0,c[p>>2]|0,c[q>>2]|0)|0)==0:0))N=43;do if((N|0)==43){N=0;if((((a[(c[D>>2]|0)+24>>0]|0)==0?(c[(c[v>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[l>>2]|0)+416>>2]|0)==0:0)?(a[(c[l>>2]|0)+20>>0]|0)==0:0)break;if(hC(c[l>>2]|0,c[m>>2]|0,c[D>>2]|0,F,s)|0){if(!(c[C>>2]|0)){N=59;break b}if(d[(c[v>>2]|0)+69>>0]|0){N=59;break b}else break}c[H>>2]=Tv(c[v>>2]|0,0,0,0)|0;if(c[H>>2]|0){c[G>>2]=(c[H>>2]|0)+8;c[(c[G>>2]|0)+16>>2]=c[c[D>>2]>>2];c[(c[G>>2]|0)+8>>2]=c[c[c[D>>2]>>2]>>2];L=(c[(c[G>>2]|0)+16>>2]|0)+36|0;b[L>>1]=(b[L>>1]|0)+1<<16>>16;L=(c[l>>2]|0)+72|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[G>>2]|0)+44>>2]=M;if(c[o>>2]|0)UC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[o>>2]|0,-1);if((c[n>>2]|0)!=0?(c[w>>2]=d[(c[D>>2]|0)+25+((c[p>>2]|0)!=0&1)>>0],UC(c[l>>2]|0,c[H>>2]|0,c[m>>2]|0,c[F>>2]|0,c[D>>2]|0,c[s>>2]|0,c[n>>2]|0,1),((c[w>>2]|0)!=9?(a[(c[D>>2]|0)+24>>0]|0)==0:0)&(c[w>>2]|0)!=7):0)Hx(c[l>>2]|0);c[(c[G>>2]|0)+8>>2]=0;cv(c[v>>2]|0,c[H>>2]|0)}Tf(c[v>>2]|0,c[s>>2]|0)}while(0);c[D>>2]=c[(c[D>>2]|0)+12>>2]}if((N|0)==59){i=O;return}}else if((N|0)==59){i=O;return}}function NC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+64|0;o=E+52|0;p=E+48|0;q=E+44|0;r=E+40|0;s=E+36|0;t=E+32|0;u=E+28|0;v=E+24|0;w=E+20|0;D=E+16|0;z=E+12|0;A=E+57|0;B=E+8|0;C=E+4|0;y=E;x=E+56|0;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;a[x>>0]=0;c[D>>2]=Vw(c[o>>2]|0)|0;c[y>>2]=0;c[z>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;if(c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0){a[x>>0]=1;if(c[(c[z>>2]|0)+36>>2]|0){j=c[D>>2]|0;n=c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0;Xw(j,76,n,(Hz(c[D>>2]|0)|0)+2|0)|0}Xw(c[D>>2]|0,110,(c[r>>2]|0)+(c[y>>2]|0)|0,c[(c[t>>2]|0)+(c[y>>2]<<2)>>2]|0)|0;a[A>>0]=0;a[A>>0]=(c[w>>2]|0)!=0?16:0;if((a[(c[z>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]&32|0)!=0:0)a[A>>0]=d[A>>0]|1;Hh(c[D>>2]|0,a[A>>0]|0)}c[z>>2]=c[(c[z>>2]|0)+20>>2];c[y>>2]=(c[y>>2]|0)+1}if(d[(c[p>>2]|0)+42>>0]&32){i=E;return}c[B>>2]=(c[s>>2]|0)+1;c[C>>2]=aA(c[o>>2]|0)|0;$w(c[D>>2]|0,49,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0,c[C>>2]|0)|0;if(!(a[x>>0]|0))GC(c[D>>2]|0,c[p>>2]|0,0);IA(c[o>>2]|0,c[B>>2]|0,b[(c[p>>2]|0)+34>>1]|0);if(a[(c[o>>2]|0)+18>>0]|0)a[A>>0]=0;else{a[A>>0]=1;a[A>>0]=d[A>>0]|((c[u>>2]|0)!=0?4:2)}if(c[v>>2]|0)a[A>>0]=d[A>>0]|8;if(c[w>>2]|0)a[A>>0]=d[A>>0]|16;$w(c[D>>2]|0,75,c[q>>2]|0,c[C>>2]|0,c[s>>2]|0)|0;if(!(a[(c[o>>2]|0)+18>>0]|0))Kh(c[D>>2]|0,-1,c[c[p>>2]>>2]|0,0);Hh(c[D>>2]|0,a[A>>0]|0);i=E;return}function OC(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+412>>2]|0)){i=d;return}PC(c[b>>2]|0);i=d;return}function PC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;j=m+24|0;l=m+20|0;f=m+16|0;e=m+12|0;k=m+8|0;g=m+4|0;h=m;c[d>>2]=b;c[l>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[c[d>>2]>>2];c[j>>2]=c[(c[d>>2]|0)+412>>2];while(1){if(!(c[j>>2]|0)){d=5;break}c[k>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[j>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[j>>2]|0)+12>>2];c[g>>2]=aA(c[d>>2]|0)|0;Fz(c[d>>2]|0,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+72>>2]|0,55);c[e>>2]=Ih(c[l>>2]|0,5,34897,0)|0;if(!(c[e>>2]|0)){d=5;break}c[(c[e>>2]|0)+4>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+20+8>>2]=(c[h>>2]|0)+1;c[(c[e>>2]|0)+40+4>>2]=(c[h>>2]|0)-1;c[(c[e>>2]|0)+40+12>>2]=c[g>>2];c[(c[e>>2]|0)+60+8>>2]=c[g>>2];c[(c[e>>2]|0)+60+12>>2]=(c[h>>2]|0)+1;a[(c[e>>2]|0)+60+3>>0]=8;eA(c[d>>2]|0,c[g>>2]|0);c[j>>2]=c[c[j>>2]>>2]}if((d|0)==5){i=m;return}}function QC(a,d,e,f){a=a|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;o=i;i=i+32|0;n=o+24|0;g=o+20|0;h=o+16|0;j=o+12|0;k=o+8|0;l=o+4|0;m=o;c[g>>2]=a;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0)){g=8;break}c[m>>2]=c[(c[h>>2]|0)+36+(c[l>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[m>>2]<<2)>>2]|0)>=0){g=4;break}if((c[k>>2]|0)!=0?(c[m>>2]|0)==(b[(c[g>>2]|0)+32>>1]|0):0){g=6;break}c[l>>2]=(c[l>>2]|0)+1}if((g|0)==4){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==6){c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else if((g|0)==8){c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}return 0}function RC(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+96|0;o=K+84|0;p=K+80|0;q=K+76|0;r=K+72|0;s=K+68|0;t=K+64|0;u=K+60|0;v=K+56|0;w=K+52|0;x=K+48|0;J=K+44|0;z=K+40|0;C=K+36|0;E=K+32|0;B=K+28|0;H=K+24|0;F=K+20|0;I=K+16|0;G=K+12|0;A=K+8|0;y=K+4|0;D=K;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=Vw(c[o>>2]|0)|0;c[z>>2]=(c[(c[o>>2]|0)+72>>2]|0)-1;c[C>>2]=Iz(c[J>>2]|0)|0;if((c[v>>2]|0)<0)Xw(c[J>>2]|0,136,d[(c[s>>2]|0)+24>>0]|0,c[C>>2]|0)|0;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[s>>2]|0)+20>>2]|0))break;c[E>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+(c[u>>2]|0)+1;Xw(c[J>>2]|0,76,c[E>>2]|0,c[C>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}do if(!(c[w>>2]|0)){if(!(c[r>>2]|0)){c[H>>2]=aA(c[o>>2]|0)|0;Xw(c[J>>2]|0,31,(c[c[t>>2]>>2]|0)+1+(c[u>>2]|0)|0,c[H>>2]|0)|0;c[B>>2]=Xw(c[J>>2]|0,38,c[H>>2]|0,0)|0;if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){$w(c[J>>2]|0,79,c[u>>2]|0,c[C>>2]|0,c[H>>2]|0)|0;Hh(c[J>>2]|0,-112)}Fz(c[o>>2]|0,c[z>>2]|0,c[p>>2]|0,c[q>>2]|0,54);$w(c[J>>2]|0,70,c[z>>2]|0,0,c[H>>2]|0)|0;Kz(c[J>>2]|0,c[C>>2]|0)|0;I=c[J>>2]|0;Lz(I,(Hz(c[J>>2]|0)|0)-2|0);Lz(c[J>>2]|0,c[B>>2]|0);eA(c[o>>2]|0,c[H>>2]|0);break}c[F>>2]=c[(c[s>>2]|0)+20>>2];c[I>>2]=qA(c[o>>2]|0,c[F>>2]|0)|0;c[G>>2]=aA(c[o>>2]|0)|0;$w(c[J>>2]|0,54,c[z>>2]|0,c[(c[r>>2]|0)+44>>2]|0,c[p>>2]|0)|0;Gz(c[o>>2]|0,c[r>>2]|0);c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;Xw(c[J>>2]|0,30,(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0)|0,(c[I>>2]|0)+(c[x>>2]|0)|0)|0;c[x>>2]=(c[x>>2]|0)+1}if((c[v>>2]|0)==1?(c[q>>2]|0)==(c[c[s>>2]>>2]|0):0){H=Hz(c[J>>2]|0)|0;c[A>>2]=H+(c[F>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[F>>2]|0))break;c[y>>2]=(c[(c[t>>2]|0)+(c[x>>2]<<2)>>2]|0)+1+(c[u>>2]|0);c[D>>2]=(b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)+1+(c[u>>2]|0);if((b[(c[(c[r>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)==(b[(c[q>>2]|0)+32>>1]|0))c[D>>2]=c[u>>2];$w(c[J>>2]|0,78,c[y>>2]|0,c[A>>2]|0,c[D>>2]|0)|0;Hh(c[J>>2]|0,16);c[x>>2]=(c[x>>2]|0)+1}Kz(c[J>>2]|0,c[C>>2]|0)|0}h=c[J>>2]|0;e=c[I>>2]|0;g=c[F>>2]|0;l=c[G>>2]|0;H=iC(c[c[o>>2]>>2]|0,c[r>>2]|0)|0;_w(h,49,e,g,l,H,c[F>>2]|0)|0;Gh(c[J>>2]|0,69,c[z>>2]|0,c[C>>2]|0,c[G>>2]|0,0)|0;eA(c[o>>2]|0,c[G>>2]|0);tA(c[o>>2]|0,c[I>>2]|0,c[F>>2]|0)}while(0);if((((a[(c[s>>2]|0)+24>>0]|0)==0?(c[(c[c[o>>2]>>2]|0)+24>>2]&16777216|0)==0:0)?(c[(c[o>>2]|0)+416>>2]|0)==0:0)?(a[(c[o>>2]|0)+20>>0]|0)==0:0){hA(c[o>>2]|0,787,2,0,-2,4);H=c[J>>2]|0;I=c[C>>2]|0;Mz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Dz(I,61,J)|0;i=K;return}if((c[v>>2]|0)>0?(d[(c[s>>2]|0)+24>>0]|0)==0:0)Hx(c[o>>2]|0);Xw(c[J>>2]|0,135,d[(c[s>>2]|0)+24>>0]|0,c[v>>2]|0)|0;H=c[J>>2]|0;I=c[C>>2]|0;Mz(H,I);I=c[J>>2]|0;J=c[z>>2]|0;Dz(I,61,J)|0;i=K;return}function SC(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;k=j+12|0;f=j+8|0;h=j+4|0;g=j;c[k>>2]=a;c[f>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+416>>2]|0)b=c[b+416>>2]|0;c[h>>2]=b;do if(c[(c[h>>2]|0)+532>>2]|0){c[g>>2]=c[c[(c[h>>2]|0)+532>>2]>>2];if(!((c[g>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[g>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function TC(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;m=s+16|0;n=s+12|0;q=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0)){r=14;break}c[q>>2]=c[(c[k>>2]|0)+36+(c[n>>2]<<3)+4>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break;if(!((c[(c[l>>2]|0)+(c[o>>2]<<2)>>2]|0)<0?!((c[m>>2]|0)!=0?(c[o>>2]|0)==(b[(c[j>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[p>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[o>>2]<<4);f=c[p>>2]|0;if(c[q>>2]|0)if(!(ig(c[f>>2]|0,c[q>>2]|0)|0)){r=9;break a}else break;else if(d[f+15>>0]&1){r=11;break a}else break}while(0);c[o>>2]=(c[o>>2]|0)+1}c[n>>2]=(c[n>>2]|0)+1}if((r|0)==9){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==11){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function UC(a,f,g,h,j,k,l,m){a=a|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+144|0;n=O+128|0;o=O+124|0;p=O+120|0;q=O+116|0;r=O+112|0;s=O+108|0;t=O+104|0;u=O+100|0;v=O+96|0;w=O+92|0;K=O+88|0;L=O+56|0;J=O+48|0;z=O+44|0;M=O+40|0;D=O+36|0;H=O+32|0;B=O+28|0;x=O+134|0;N=O+24|0;F=O+20|0;E=O+16|0;I=O+12|0;C=O+8|0;A=O+4|0;G=O;y=O+132|0;c[n>>2]=a;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;c[u>>2]=m;c[v>>2]=c[c[n>>2]>>2];c[K>>2]=0;c[z>>2]=0;c[M>>2]=Vw(c[n>>2]|0)|0;if((c[u>>2]|0)<0)c[z>>2]=Xw(c[M>>2]|0,136,d[(c[r>>2]|0)+24>>0]|0,0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;if(c[q>>2]|0)k=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;else k=-1;b[x>>1]=k;c[D>>2]=VC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[x>>1]|0)|0;if(c[s>>2]|0)k=c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0;else k=c[(c[r>>2]|0)+36>>2]|0;b[x>>1]=k;c[N>>2]=c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+(b[x>>1]<<4)>>2];c[H>>2]=Pv(c[v>>2]|0,27,c[N>>2]|0)|0;c[B>>2]=xv(c[n>>2]|0,79,c[D>>2]|0,c[H>>2]|0,0)|0;c[K>>2]=gz(c[v>>2]|0,c[K>>2]|0,c[B>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)>0?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){if(!(d[(c[p>>2]|0)+42>>0]&32)){c[E>>2]=VC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,-1)|0;c[I>>2]=WC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=xv(c[n>>2]|0,78,c[E>>2]|0,c[I>>2]|0,0)|0}else{c[A>>2]=0;c[G>>2]=Hj(c[p>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(e[(c[G>>2]|0)+50>>1]|0))break;b[y>>1]=b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0;c[E>>2]=VC(c[n>>2]|0,c[p>>2]|0,c[t>>2]|0,b[y>>1]|0)|0;c[I>>2]=WC(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+8+44>>2]|0,b[y>>1]|0)|0;c[C>>2]=xv(c[n>>2]|0,79,c[E>>2]|0,c[I>>2]|0,0)|0;c[A>>2]=gz(c[v>>2]|0,c[A>>2]|0,c[C>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}c[F>>2]=xv(c[n>>2]|0,19,c[A>>2]|0,0,0)|0}c[K>>2]=gz(c[v>>2]|0,c[K>>2]|0,c[F>>2]|0)|0};c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;c[L+20>>2]=0;c[L+24>>2]=0;c[L+28>>2]=0;c[L+4>>2]=c[o>>2];c[L>>2]=c[n>>2];ly(L,c[K>>2]|0)|0;c[J>>2]=XC(c[n>>2]|0,c[o>>2]|0,c[K>>2]|0,0,0,0,0)|0;Xw(c[M>>2]|0,135,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;if(c[J>>2]|0)YC(c[J>>2]|0);dv(c[v>>2]|0,c[K>>2]|0);if(!(c[z>>2]|0)){i=O;return}Lz(c[M>>2]|0,c[z>>2]|0);i=O;return}function VC(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+24|0;j=q+20|0;k=q+16|0;l=q+28|0;o=q+12|0;n=q+8|0;p=q+4|0;m=q;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;b[l>>1]=g;c[m>>2]=c[c[h>>2]>>2];c[o>>2]=Pv(c[m>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;i=q;return p|0}if((b[l>>1]|0)>=0?(b[l>>1]|0)!=(b[(c[j>>2]|0)+32>>1]|0):0){c[n>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(b[l>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[k>>2]|0)+(b[l>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[n>>2]|0)+13>>0]|0;c[p>>2]=c[(c[n>>2]|0)+8>>2];if(!(c[p>>2]|0))c[p>>2]=c[c[(c[m>>2]|0)+8>>2]>>2];c[o>>2]=Hy(c[h>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[k>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;i=q;return p|0}function WC(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;m=l+12|0;g=l+8|0;h=l+4|0;j=l+16|0;k=l;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[j>>1]=f;c[k>>2]=Pv(c[m>>2]|0,152,0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;i=l;return m|0}c[(c[k>>2]|0)+44>>2]=c[g>>2];c[(c[k>>2]|0)+28>>2]=c[h>>2];b[(c[k>>2]|0)+32>>1]=b[j>>1]|0;m=c[k>>2]|0;i=l;return m|0}function XC(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=i;i=i+192|0;n=ca+24|0;q=ca+180|0;r=ca+176|0;s=ca+172|0;o=ca+168|0;t=ca+164|0;u=ca+160|0;v=ca+184|0;w=ca+156|0;p=ca+152|0;I=ca+148|0;W=ca+144|0;_=ca+140|0;J=ca+16|0;Y=ca+120|0;R=ca+116|0;P=ca+112|0;Q=ca+108|0;G=ca+104|0;B=ca+100|0;X=ca+96|0;z=ca+186|0;Z=ca+8|0;U=ca+92|0;M=ca+88|0;$=ca+84|0;A=ca+80|0;S=ca+76|0;E=ca+72|0;T=ca+68|0;V=ca+64|0;D=ca+60|0;K=ca+56|0;y=ca;H=ca+52|0;N=ca+48|0;F=ca+44|0;L=ca+40|0;O=ca+36|0;x=ca+32|0;aa=ca+28|0;c[r>>2]=f;c[s>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[v>>1]=l;c[w>>2]=m;c[_>>2]=c[(c[r>>2]|0)+8>>2];a[z>>0]=0;c[B>>2]=c[c[r>>2]>>2];c[Y>>2]=0;c[Y+4>>2]=0;c[Y+8>>2]=0;c[Y+12>>2]=0;c[Y+16>>2]=0;if((c[t>>2]|0)!=0?(c[c[t>>2]>>2]|0)>=64:0)c[t>>2]=0;c[Y+8>>2]=c[t>>2];if(e[(c[B>>2]|0)+64>>1]&32)b[v>>1]=e[v>>1]&-1025;if((c[c[s>>2]>>2]|0)>64){ba=c[r>>2]|0;c[n>>2]=64;Ch(ba,34917,n);c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}if(e[v>>1]&64)m=1;else m=c[c[s>>2]>>2]|0;c[I>>2]=m;c[p>>2]=816+(((c[I>>2]|0)-1|0)*80|0)+7&-8;c[W>>2]=rh(c[B>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[B>>2]|0)+69>>0]|0)){c[(c[W>>2]|0)+60+4>>2]=-1;c[(c[W>>2]|0)+60>>2]=-1;a[(c[W>>2]|0)+43>>0]=c[I>>2];c[c[W>>2]>>2]=c[r>>2];c[(c[W>>2]|0)+4>>2]=c[s>>2];c[(c[W>>2]|0)+8>>2]=c[t>>2];c[(c[W>>2]|0)+12>>2]=c[u>>2];l=Iz(c[_>>2]|0)|0;c[(c[W>>2]|0)+48>>2]=l;c[(c[W>>2]|0)+52>>2]=l;b[(c[W>>2]|0)+36>>1]=b[v>>1]|0;b[(c[W>>2]|0)+34>>1]=c[w>>2];c[(c[W>>2]|0)+56>>2]=c[(c[r>>2]|0)+428>>2];c[R>>2]=(c[W>>2]|0)+68;c[Y>>2]=c[W>>2];c[Y+4>>2]=(c[W>>2]|0)+328;c[Y+12>>2]=(c[W>>2]|0)+(c[p>>2]|0);dD(c[Y+12>>2]|0);c[c[R>>2]>>2]=0;gD((c[W>>2]|0)+328|0,c[W>>2]|0);hD((c[W>>2]|0)+328|0,c[o>>2]|0,72);c[G>>2]=0;while(1){m=(c[I>>2]|0)==0;if((c[G>>2]|0)>=(c[(c[Y+4>>2]|0)+12>>2]|0))break;if(!(!m?(jB(c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0)|0)==0:0)){RA(c[r>>2]|0,c[(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)>>2]|0,c[(c[W>>2]|0)+52>>2]|0,16);p=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[G>>2]|0)*48|0)+20|0;b[p>>1]=e[p>>1]|4}c[G>>2]=(c[G>>2]|0)+1}if(m){if(c[t>>2]|0)a[(c[W>>2]|0)+38>>0]=c[c[t>>2]>>2];if(e[v>>1]&1024)a[(c[W>>2]|0)+42>>0]=1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[s>>2]>>2]|0))break;iD(c[R>>2]|0,c[(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)+44>>2]|0);jD(c[r>>2]|0,(c[s>>2]|0)+8+((c[G>>2]|0)*72|0)|0,(c[W>>2]|0)+328|0);c[G>>2]=(c[G>>2]|0)+1}kD(c[s>>2]|0,(c[W>>2]|0)+328|0);if(!(a[(c[B>>2]|0)+69>>0]|0)){do if(e[v>>1]&1024){if(lD(c[r>>2]|0,c[s>>2]|0,(c[W>>2]|0)+328|0,c[u>>2]|0)|0){a[(c[W>>2]|0)+42>>0]=1;break}if(!(c[t>>2]|0)){t=(c[W>>2]|0)+36|0;b[t>>1]=e[t>>1]|512;c[(c[W>>2]|0)+8>>2]=c[u>>2]}}while(0);if(!((c[I>>2]|0)==1?(mD(Y)|0)!=0:0)){c[X>>2]=nD(Y)|0;if(c[X>>2]|0)break;oD(c[W>>2]|0,0)|0;if(a[(c[B>>2]|0)+69>>0]|0)break;if((c[(c[W>>2]|0)+8>>2]|0)!=0?(oD(c[W>>2]|0,(b[(c[W>>2]|0)+32>>1]|0)+1&65535)|0,(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break}if((c[(c[W>>2]|0)+8>>2]|0)==0?(c[(c[B>>2]|0)+24>>2]&131072|0)!=0:0){X=(c[W>>2]|0)+24|0;c[X>>2]=-1;c[X+4>>2]=-1}if((c[(c[r>>2]|0)+68>>2]|0)==0?(d[(c[B>>2]|0)+69>>0]|0)==0:0){b:do if(((c[u>>2]|0)!=0?(d[(c[W>>2]|0)+43>>0]|0)>=2:0)?(e[(c[B>>2]|0)+64>>1]&1024|0)==0:0){u=pD(c[R>>2]|0,c[u>>2]|0)|0;X=Z;c[X>>2]=u;c[X+4>>2]=C;if(c[Y+8>>2]|0){u=pD(c[R>>2]|0,c[Y+8>>2]|0)|0;t=Z;R=c[t+4>>2]|C;X=Z;c[X>>2]=c[t>>2]|u;c[X+4>>2]=R}while(1){if((d[(c[W>>2]|0)+43>>0]|0)<2)break b;c[Q>>2]=c[(c[W>>2]|0)+736+(((d[(c[W>>2]|0)+43>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[W>>2]|0)+4>>2]|0)+8+((d[(c[Q>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[v>>1]&1024|0)==0?(c[(c[Q>>2]|0)+36>>2]&4096|0)==0:0)break b;R=Z;X=(c[Q>>2]|0)+8|0;if((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)break b;c[M>>2]=(c[(c[Y+4>>2]|0)+20>>2]|0)+((c[(c[Y+4>>2]|0)+12>>2]|0)*48|0);c[U>>2]=c[(c[Y+4>>2]|0)+20>>2];while(1){if((c[U>>2]|0)>>>0>=(c[M>>2]|0)>>>0)break;R=(c[U>>2]|0)+40|0;X=(c[Q>>2]|0)+8|0;if(((c[R>>2]&c[X>>2]|0)!=0?1:(c[R+4>>2]&c[X+4>>2]|0)!=0)?(c[(c[c[U>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[U>>2]=(c[U>>2]|0)+48}if((c[U>>2]|0)>>>0<(c[M>>2]|0)>>>0)break b;X=(c[W>>2]|0)+43|0;a[X>>0]=(a[X>>0]|0)+-1<<24>>24;c[I>>2]=(c[I>>2]|0)+-1}}while(0);Z=(c[c[W>>2]>>2]|0)+428|0;c[Z>>2]=(c[Z>>2]|0)+(b[(c[W>>2]|0)+32>>1]|0);do if(e[v>>1]&4){c[$>>2]=c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2];c[A>>2]=(c[$>>2]&4096|0)!=0&1;if(!(c[A>>2]|0)){if(!(e[v>>1]&8192))break;if(c[$>>2]&1024)break}a[(c[W>>2]|0)+40>>0]=(c[A>>2]|0)!=0?1:2;if((d[(c[(c[s>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?(c[$>>2]&64|0)!=0:0){if(e[v>>1]&8192)a[z>>0]=8;c[(c[(c[W>>2]|0)+736+64>>2]|0)+36>>2]=c[$>>2]&-65}}while(0);c[G>>2]=0;c[P>>2]=(c[W>>2]|0)+736;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[T>>2]=(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0);c[S>>2]=c[(c[T>>2]|0)+16>>2];c[E>>2]=Fh(c[B>>2]|0,c[(c[S>>2]|0)+64>>2]|0)|0;c[Q>>2]=c[(c[P>>2]|0)+64>>2];c:do if((d[(c[S>>2]|0)+42>>0]&2|0)==0?(c[(c[S>>2]|0)+12>>2]|0)==0:0){if(c[(c[Q>>2]|0)+36>>2]&1024){c[V>>2]=Gx(c[B>>2]|0,c[S>>2]|0)|0;c[D>>2]=c[(c[T>>2]|0)+44>>2];_w(c[_>>2]|0,152,c[D>>2]|0,0,0,c[V>>2]|0,-10)|0;break}if(d[(c[S>>2]|0)+42>>0]&16)break;do if(!(c[(c[Q>>2]|0)+36>>2]&64)){if(e[v>>1]&16)break;c[K>>2]=54;if(d[(c[W>>2]|0)+40>>0]|0){c[K>>2]=55;c[(c[W>>2]|0)+60>>2]=c[(c[T>>2]|0)+44>>2]}Fz(c[r>>2]|0,c[(c[T>>2]|0)+44>>2]|0,c[E>>2]|0,c[S>>2]|0,c[K>>2]|0);do if(!(d[(c[W>>2]|0)+40>>0]|0)){if((b[(c[S>>2]|0)+34>>1]|0)>=64)break;if(d[(c[S>>2]|0)+42>>0]&32)break;Y=(c[T>>2]|0)+56|0;Z=c[Y+4>>2]|0;$=y;c[$>>2]=c[Y>>2];c[$+4>>2]=Z;c[H>>2]=0;while(1){$=y;if(!((c[$>>2]|0)!=0|(c[$+4>>2]|0)!=0))break;Z=y;Z=qR(c[Z>>2]|0,c[Z+4>>2]|0,1)|0;$=y;c[$>>2]=Z;c[$+4>>2]=C;c[H>>2]=(c[H>>2]|0)+1}Kh(c[_>>2]|0,-1,c[H>>2]|0,-14)}while(0);Hh(c[_>>2]|0,a[z>>0]|0);break c}while(0);Ez(c[r>>2]|0,c[E>>2]|0,c[(c[S>>2]|0)+28>>2]|0,0,c[c[S>>2]>>2]|0)}while(0);do if(c[(c[Q>>2]|0)+36>>2]&512){c[N>>2]=c[(c[Q>>2]|0)+24+4>>2];c[L>>2]=54;do if(!(d[(c[S>>2]|0)+42>>0]&32))ba=93;else{if((a[(c[N>>2]|0)+55>>0]&3|0)!=2){ba=93;break}if(!(e[v>>1]&64)){ba=93;break}c[F>>2]=c[(c[P>>2]|0)+4>>2];c[L>>2]=0}while(0);d:do if((ba|0)==93){ba=0;if(d[(c[W>>2]|0)+40>>0]|0){c[O>>2]=c[(c[(c[T>>2]|0)+16>>2]|0)+8>>2];c[F>>2]=c[w>>2];while(1){if(!(c[O>>2]|0))break;if((c[O>>2]|0)==(c[N>>2]|0))break;c[F>>2]=(c[F>>2]|0)+1;c[O>>2]=c[(c[O>>2]|0)+20>>2]}c[L>>2]=55;c[(c[W>>2]|0)+60+4>>2]=c[F>>2];break}else{do if(c[w>>2]|0){if(!(e[v>>1]&64))break;c[F>>2]=c[w>>2];if(!(e[v>>1]&4096))break d;c[L>>2]=53;break d}while(0);Z=(c[r>>2]|0)+72|0;$=c[Z>>2]|0;c[Z>>2]=$+1;c[F>>2]=$;break}}while(0);c[(c[P>>2]|0)+8>>2]=c[F>>2];if(!(c[L>>2]|0))break;$w(c[_>>2]|0,c[L>>2]|0,c[F>>2]|0,c[(c[N>>2]|0)+44>>2]|0,c[E>>2]|0)|0;Gz(c[r>>2]|0,c[N>>2]|0);if(!(c[(c[Q>>2]|0)+36>>2]&15))break;if(c[(c[Q>>2]|0)+36>>2]&32770)break;if(e[(c[W>>2]|0)+36>>1]&1)break;Hh(c[_>>2]|0,2)}while(0);if((c[E>>2]|0)>=0)hx(c[r>>2]|0,c[E>>2]|0);c[G>>2]=(c[G>>2]|0)+1;c[P>>2]=(c[P>>2]|0)+80}ba=Hz(c[_>>2]|0)|0;c[(c[W>>2]|0)+44>>2]=ba;if(!(a[(c[B>>2]|0)+69>>0]|0)){ba=J;c[ba>>2]=-1;c[ba+4>>2]=-1;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[I>>2]|0))break;c[P>>2]=(c[W>>2]|0)+736+((c[G>>2]|0)*80|0);c[aa>>2]=c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2];if((c[(c[(c[P>>2]|0)+64>>2]|0)+36>>2]&16384|0)!=0?(ba=J,qD(c[r>>2]|0,(c[W>>2]|0)+328|0,(c[s>>2]|0)+8+((d[(c[P>>2]|0)+44>>0]|0)*72|0)|0,c[ba>>2]|0,c[ba+4>>2]|0,c[P>>2]|0),(a[(c[B>>2]|0)+69>>0]|0)!=0):0)break a;c[x>>2]=rD(c[r>>2]|0,c[s>>2]|0,c[P>>2]|0,c[G>>2]|0,d[(c[P>>2]|0)+44>>0]|0,b[v>>1]|0)|0;$=Hz(c[_>>2]|0)|0;c[(c[P>>2]|0)+32>>2]=$;$=J;$=sD(c[W>>2]|0,c[G>>2]|0,c[$>>2]|0,c[$+4>>2]|0)|0;ba=J;c[ba>>2]=$;c[ba+4>>2]=C;c[(c[W>>2]|0)+48>>2]=c[(c[P>>2]|0)+24>>2];do if((c[aa>>2]&8192|0)==0?(e[v>>1]&64|0)!=0:0)break;while(0);c[G>>2]=(c[G>>2]|0)+1}c[q>>2]=c[W>>2];ba=c[q>>2]|0;i=ca;return ba|0}}}}else{Tf(c[B>>2]|0,c[W>>2]|0);c[W>>2]=0}while(0);if(c[W>>2]|0){c[(c[r>>2]|0)+428>>2]=c[(c[W>>2]|0)+56>>2];_C(c[B>>2]|0,c[W>>2]|0)}c[q>>2]=0;ba=c[q>>2]|0;i=ca;return ba|0}function YC(f){f=f|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;m=E+80|0;v=E+76|0;A=E+72|0;o=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;n=E+52|0;h=E+48|0;l=E+44|0;j=E+40|0;k=E+36|0;p=E+32|0;q=E+28|0;u=E+24|0;r=E+20|0;y=E+16|0;x=E+12|0;B=E+8|0;C=E+4|0;w=E;c[m>>2]=f;c[v>>2]=c[c[m>>2]>>2];c[A>>2]=c[(c[v>>2]|0)+8>>2];c[z>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=c[c[v>>2]>>2];kC(c[v>>2]|0);c[o>>2]=(d[(c[m>>2]|0)+43>>0]|0)-1;while(1){if((c[o>>2]|0)<0)break;c[s>>2]=(c[m>>2]|0)+736+((c[o>>2]|0)*80|0);c[t>>2]=c[(c[s>>2]|0)+64>>2];Mz(c[A>>2]|0,c[(c[s>>2]|0)+24>>2]|0);if((d[(c[s>>2]|0)+45>>0]|0)!=160){$w(c[A>>2]|0,d[(c[s>>2]|0)+45>>0]|0,c[(c[s>>2]|0)+48>>2]|0,c[(c[s>>2]|0)+52>>2]|0,d[(c[s>>2]|0)+46>>0]|0)|0;Hh(c[A>>2]|0,a[(c[s>>2]|0)+47>>0]|0)}a:do if((c[(c[t>>2]|0)+36>>2]&2048|0)!=0?(c[(c[s>>2]|0)+56>>2]|0)>0:0){Mz(c[A>>2]|0,c[(c[s>>2]|0)+16>>2]|0);c[j>>2]=c[(c[s>>2]|0)+56>>2];c[l>>2]=(c[(c[s>>2]|0)+56+4>>2]|0)+(((c[j>>2]|0)-1|0)*12|0);while(1){if((c[j>>2]|0)<=0)break a;Lz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)+1|0);Xw(c[A>>2]|0,d[(c[l>>2]|0)+8>>0]|0,c[c[l>>2]>>2]|0,c[(c[l>>2]|0)+4>>2]|0)|0;Lz(c[A>>2]|0,(c[(c[l>>2]|0)+4>>2]|0)-1|0);c[j>>2]=(c[j>>2]|0)+-1;c[l>>2]=(c[l>>2]|0)+-12}}while(0);Mz(c[A>>2]|0,c[(c[s>>2]|0)+12>>2]|0);if(c[(c[s>>2]|0)+20>>2]|0){Kz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;Lz(c[A>>2]|0,c[(c[s>>2]|0)+20>>2]|0);Lz(c[A>>2]|0,(c[(c[s>>2]|0)+20>>2]|0)-2|0)}if(c[(c[s>>2]|0)+40>>2]|0){if(c[(Sz(c[A>>2]|0,(c[(c[s>>2]|0)+40>>2]|0)-1|0)|0)+4>>2]|0)c[k>>2]=141;else c[k>>2]=142;Xw(c[A>>2]|0,c[k>>2]|0,c[(c[s>>2]|0)+36>>2]|0,c[(c[s>>2]|0)+40>>2]|0)|0}if(c[c[s>>2]>>2]|0){c[h>>2]=Dz(c[A>>2]|0,138,c[c[s>>2]>>2]|0)|0;if(!(c[(c[t>>2]|0)+36>>2]&64))Dz(c[A>>2]|0,104,c[(c[z>>2]|0)+8+((c[o>>2]|0)*72|0)+44>>2]|0)|0;if(c[(c[t>>2]|0)+36>>2]&512)Dz(c[A>>2]|0,104,c[(c[s>>2]|0)+8>>2]|0)|0;f=c[A>>2]|0;g=c[s>>2]|0;if((d[(c[s>>2]|0)+45>>0]|0)==15)Xw(f,14,c[g+48>>2]|0,c[(c[s>>2]|0)+28>>2]|0)|0;else Kz(f,c[g+28>>2]|0)|0;Lz(c[A>>2]|0,c[h>>2]|0)}c[o>>2]=(c[o>>2]|0)+-1}Mz(c[A>>2]|0,c[(c[m>>2]|0)+52>>2]|0);c[o>>2]=0;c[s>>2]=(c[m>>2]|0)+736;while(1){if((c[o>>2]|0)>=(d[(c[m>>2]|0)+43>>0]|0))break;c[r>>2]=0;c[y>>2]=(c[z>>2]|0)+8+((d[(c[s>>2]|0)+44>>0]|0)*72|0);c[x>>2]=c[(c[y>>2]|0)+16>>2];c[t>>2]=c[(c[s>>2]|0)+64>>2];if(((d[(c[y>>2]|0)+36+1>>0]|0)>>>4&1|0)!=0?(a[(c[n>>2]|0)+69>>0]|0)==0:0)ZC(c[A>>2]|0,c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[(c[y>>2]|0)+32>>2]|0,0);else D=32;b:do if((D|0)==32){D=0;if(((d[(c[x>>2]|0)+42>>0]&2|0)==0?(c[(c[x>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+36>>1]&16|0)==0:0){c[B>>2]=c[(c[t>>2]|0)+36>>2];if((d[(c[m>>2]|0)+40>>0]|0)==0?(c[B>>2]&64|0)==0:0)Dz(c[A>>2]|0,61,c[(c[y>>2]|0)+44>>2]|0)|0;if(((c[B>>2]&512|0)!=0?(c[B>>2]&16640|0)==0:0)?(c[(c[s>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+60+4>>2]|0):0)Dz(c[A>>2]|0,61,c[(c[s>>2]|0)+8>>2]|0)|0}f=c[t>>2]|0;if(!(c[(c[t>>2]|0)+36>>2]&576)){if(c[f+36>>2]&8192)c[r>>2]=c[(c[s>>2]|0)+56>>2]}else c[r>>2]=c[f+24+4>>2];if(c[r>>2]|0){if((d[(c[m>>2]|0)+40>>0]|0)!=0?(d[(c[(c[r>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[n>>2]|0)+69>>0]|0)){c[q>>2]=Hz(c[A>>2]|0)|0;c[p>>2]=c[(c[s>>2]|0)+32>>2];c[u>>2]=Sz(c[A>>2]|0,c[p>>2]|0)|0;while(1){if((c[p>>2]|0)>=(c[q>>2]|0))break b;do if((c[(c[u>>2]|0)+4>>2]|0)==(c[(c[s>>2]|0)+4>>2]|0)){f=c[u>>2]|0;if((d[c[u>>2]>>0]|0)!=47){if((d[f>>0]|0)!=103)break;c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2];a[c[u>>2]>>0]=113;break}c[C>>2]=c[f+8>>2];if(d[(c[x>>2]|0)+42>>0]&32){c[w>>2]=Hj(c[x>>2]|0)|0;c[C>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[C>>2]<<1)>>1]}c[C>>2]=(AA(c[r>>2]|0,c[C>>2]&65535)|0)<<16>>16;if((c[C>>2]|0)>=0){c[(c[u>>2]|0)+8>>2]=c[C>>2];c[(c[u>>2]|0)+4>>2]=c[(c[s>>2]|0)+8>>2]}}while(0);c[p>>2]=(c[p>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+20}}}}while(0);c[o>>2]=(c[o>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+80}c[(c[v>>2]|0)+428>>2]=c[(c[m>>2]|0)+56>>2];_C(c[n>>2]|0,c[m>>2]|0);i=E;return}function ZC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;q=p+24|0;j=p+20|0;k=p+16|0;l=p+12|0;m=p+8|0;o=p+4|0;n=p;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[m>>2]=h;c[o>>2]=Sz(c[q>>2]|0,c[j>>2]|0)|0;c[n>>2]=Hz(c[q>>2]|0)|0;while(1){if((c[j>>2]|0)>=(c[n>>2]|0))break;do if((c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0)){h=c[o>>2]|0;if((d[c[o>>2]>>0]|0|0)==47){a[h>>0]=30;c[(c[o>>2]|0)+4>>2]=(c[(c[o>>2]|0)+8>>2]|0)+(c[l>>2]|0);c[(c[o>>2]|0)+8>>2]=c[(c[o>>2]|0)+12>>2];c[(c[o>>2]|0)+12>>2]=0;break}if((d[h>>0]|0|0)==103){h=c[o>>2]|0;if(c[m>>2]|0){a[h>>0]=37;c[(c[o>>2]|0)+4>>2]=c[(c[o>>2]|0)+8>>2];c[(c[o>>2]|0)+8>>2]=1;break}else{a[h>>0]=25;c[(c[o>>2]|0)+4>>2]=0;c[(c[o>>2]|0)+12>>2]=0;break}}}while(0);c[j>>2]=(c[j>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}i=p;return}function _C(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=k;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(d[(c[f>>2]|0)+43>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+736+((c[g>>2]|0)*80|0);if((c[(c[j>>2]|0)+64>>2]|0)!=0?(c[(c[(c[j>>2]|0)+64>>2]|0)+36>>2]&2048|0)!=0:0)Tf(c[e>>2]|0,c[(c[j>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}$C((c[f>>2]|0)+328|0);while(1){if(!(c[(c[f>>2]|0)+16>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+16>>2];c[(c[f>>2]|0)+16>>2]=c[(c[h>>2]|0)+52>>2];aD(c[e>>2]|0,c[h>>2]|0)}Tf(c[e>>2]|0,c[f>>2]|0);i=k;return}function $C(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=i;i=i+16|0;b=h+12|0;g=h+8|0;d=h+4|0;f=h;c[b>>2]=a;c[f>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[g>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[d>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[g>>2]|0)<0)break;if((e[(c[d>>2]|0)+20>>1]|0)&1)dv(c[f>>2]|0,c[c[d>>2]>>2]|0);if(!((e[(c[d>>2]|0)+20>>1]|0)&16)){if((e[(c[d>>2]|0)+20>>1]|0)&32)fD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0)}else eD(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);c[g>>2]=(c[g>>2]|0)+-1;c[d>>2]=(c[d>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){i=h;return}Tf(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0);i=h;return}function aD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;bD(c[f>>2]|0,c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function bD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Tf(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);cD(c[d>>2]|0,c[e>>2]|0);dD(c[e>>2]|0);i=f;return}function cD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){i=h;return}if((c[(c[g>>2]|0)+36>>2]&1024|0)!=0?(d[(c[g>>2]|0)+24+4>>0]|0|0)!=0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;i=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){i=h;return}if(!(c[(c[g>>2]|0)+24+4>>2]|0)){i=h;return}Tf(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+4>>2]|0)+16>>2]|0);Tf(c[f>>2]|0,c[(c[g>>2]|0)+24+4>>2]|0);c[(c[g>>2]|0)+24+4>>2]=0;i=h;return}function dD(a){a=a|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;i=d;return}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$C(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function fD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;$C(c[e>>2]|0);Tf(c[f>>2]|0,c[e>>2]|0);i=d;return}function gD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;i=d;return}function hD(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+8|0;h=l+4|0;j=l+12|0;k=l;c[g>>2]=b;c[h>>2]=e;a[j>>0]=f;c[k>>2]=Zx(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[j>>0]|0;if(!(c[k>>2]|0)){i=l;return}f=c[g>>2]|0;if((d[c[k>>2]>>0]|0|0)!=(d[j>>0]|0|0)){uE(f,c[h>>2]|0,0)|0;i=l;return}else{hD(f,c[(c[k>>2]|0)+12>>2]|0,a[j>>0]|0);hD(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,a[j>>0]|0);i=l;return}}function iD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;f=c[e>>2]|0;a=c[f>>2]|0;c[f>>2]=a+1;c[(c[e>>2]|0)+4+(a<<2)>>2]=b;i=d;return}function jD(a,e,f){a=a|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,r=0;r=i;i=i+48|0;q=r;g=r+40|0;h=r+36|0;j=r+32|0;p=r+28|0;o=r+24|0;k=r+20|0;l=r+16|0;m=r+12|0;n=r+8|0;c[g>>2]=a;c[h>>2]=e;c[j>>2]=f;if(!((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)){i=r;return}c[p>>2]=c[(c[h>>2]|0)+16>>2];c[l>>2]=c[(c[h>>2]|0)+64>>2];if(!(c[l>>2]|0)){i=r;return}c[k>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[l>>2]>>2]|0)){e=13;break}while(1){if((c[k>>2]|0)<(b[(c[p>>2]|0)+34>>1]|0))e=(d[(c[(c[p>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+15>>0]&2|0)==0;else e=0;a=c[k>>2]|0;if(!e)break;c[k>>2]=a+1}f=c[g>>2]|0;if((a|0)>=(b[(c[p>>2]|0)+34>>1]|0)){e=10;break}c[m>>2]=xv(f,152,0,0,0)|0;if(!(c[m>>2]|0)){e=13;break}c[(c[m>>2]|0)+28>>2]=c[(c[h>>2]|0)+44>>2];a=c[k>>2]|0;c[k>>2]=a+1;b[(c[m>>2]|0)+32>>1]=a;c[(c[m>>2]|0)+44>>2]=c[p>>2];a=c[g>>2]|0;f=c[m>>2]|0;c[n>>2]=xv(a,79,f,ty(c[c[g>>2]>>2]|0,c[(c[(c[l>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0,0)|0;uE(c[j>>2]|0,c[n>>2]|0,1)|0;c[o>>2]=(c[o>>2]|0)+1}if((e|0)==10){o=c[o>>2]|0;c[q>>2]=c[c[p>>2]>>2];c[q+4>>2]=o;Ch(f,35357,q);i=r;return}else if((e|0)==13){i=r;return}}function kD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;qE(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}i=g;return}function lD(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=i;i=i+48|0;j=u+36|0;k=u+32|0;l=u+28|0;m=u+24|0;n=u+20|0;s=u+16|0;r=u+12|0;o=u+8|0;p=u+4|0;q=u;c[k>>2]=a;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;if((c[c[l>>2]>>2]|0)!=1){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}c[p>>2]=c[(c[l>>2]|0)+8+44>>2];c[s>>2]=c[(c[l>>2]|0)+8+16>>2];c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[q>>2]=Zx(c[(c[(c[n>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0;if(((d[c[q>>2]>>0]|0)==152?(c[(c[q>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(b[(c[q>>2]|0)+32>>1]|0)<0:0){t=8;break}c[o>>2]=(c[o>>2]|0)+1}if((t|0)==8){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}c[r>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0)){t=22;break}if(d[(c[r>>2]|0)+54>>0]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[r>>2]|0)+50>>1]|0))break;if(!(DD(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0,-1,-1,2,c[r>>2]|0)|0)){if((pE(c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,c[r>>2]|0,c[o>>2]|0)|0)<0)break;if(!(hE(c[r>>2]|0,c[o>>2]|0)|0))break}c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[r>>2]|0)+50>>1]|0)){t=20;break}}c[r>>2]=c[(c[r>>2]|0)+20>>2]}if((t|0)==20){c[j>>2]=1;t=c[j>>2]|0;i=u;return t|0}else if((t|0)==22){c[j>>2]=0;t=c[j>>2]|0;i=u;return t|0}return 0}function mD(f){f=f|0;var 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;t=i;i=i+48|0;g=t+44|0;h=t+40|0;s=t+36|0;n=t+32|0;r=t+28|0;q=t+24|0;o=t+20|0;j=t+16|0;k=t+12|0;p=t+8|0;m=t+4|0;l=t;c[h>>2]=f;c[s>>2]=c[c[h>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&32){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[n>>2]=(c[(c[s>>2]|0)+4>>2]|0)+8;c[p>>2]=c[(c[n>>2]|0)+16>>2];if((d[(c[p>>2]|0)+42>>0]|0)&16){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}if((d[(c[n>>2]|0)+36+1>>0]|0)>>>1&1){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}c[j>>2]=c[(c[n>>2]|0)+44>>2];c[r>>2]=(c[s>>2]|0)+328;c[o>>2]=c[(c[h>>2]|0)+12>>2];c[(c[o>>2]|0)+36>>2]=0;b[(c[o>>2]|0)+42>>1]=0;c[q>>2]=DD(c[r>>2]|0,c[j>>2]|0,-1,0,0,130,0)|0;a:do if(c[q>>2]|0){c[(c[o>>2]|0)+36>>2]=4353;c[c[(c[o>>2]|0)+48>>2]>>2]=c[q>>2];b[(c[o>>2]|0)+40>>1]=1;b[(c[o>>2]|0)+24>>1]=1;b[(c[o>>2]|0)+20>>1]=33}else{c[m>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break a;if(((d[(c[m>>2]|0)+54>>0]|0|0)!=0?(c[(c[m>>2]|0)+36>>2]|0)==0:0)?(e[(c[m>>2]|0)+50>>1]|0|0)<=3:0){c[l>>2]=((d[(c[m>>2]|0)+55>>0]|0)>>>3&1|0)!=0?130:2;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0|0))break;c[q>>2]=DD(c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,0,0,c[l>>2]|0,c[m>>2]|0)|0;if(!(c[q>>2]|0))break;c[(c[(c[o>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[q>>2];c[k>>2]=(c[k>>2]|0)+1}if((c[k>>2]|0)==(e[(c[m>>2]|0)+50>>1]|0|0))break}c[m>>2]=c[(c[m>>2]|0)+20>>2]}c[(c[o>>2]|0)+36>>2]=4609;if(!(((d[(c[m>>2]|0)+55>>0]|0)>>>5&1|0)==0?(r=(c[n>>2]|0)+56|0,p=c[r>>2]|0,r=c[r+4>>2]|0,q=fE(c[m>>2]|0)|0,!((p&~q|0)==0&(r&~C|0)==0)):0)){r=(c[o>>2]|0)+36|0;c[r>>2]=c[r>>2]|64}b[(c[o>>2]|0)+40>>1]=c[k>>2];b[(c[o>>2]|0)+24>>1]=c[k>>2];c[(c[o>>2]|0)+24+4>>2]=c[m>>2];b[(c[o>>2]|0)+20>>1]=39}while(0);if(!(c[(c[o>>2]|0)+36>>2]|0)){c[g>>2]=0;s=c[g>>2]|0;i=t;return s|0}b[(c[o>>2]|0)+22>>1]=1;c[(c[s>>2]|0)+736+64>>2]=c[o>>2];q=tD((c[s>>2]|0)+68|0,c[j>>2]|0)|0;r=(c[o>>2]|0)+8|0;c[r>>2]=q;c[r+4>>2]=C;c[(c[s>>2]|0)+736+4>>2]=c[j>>2];b[(c[s>>2]|0)+32>>1]=1;if(c[(c[s>>2]|0)+8>>2]|0)a[(c[s>>2]|0)+38>>0]=c[c[(c[s>>2]|0)+8>>2]>>2];if((e[(c[s>>2]|0)+36>>1]|0)&1024)a[(c[s>>2]|0)+42>>0]=1;c[g>>2]=1;s=c[g>>2]|0;i=t;return s|0}function nD(b){b=b|0;var 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;s=i;i=i+80|0;e=s+60|0;n=s+56|0;g=s+16|0;h=s+8|0;f=s+52|0;t=s+48|0;m=s+44|0;l=s+40|0;p=s+36|0;r=s+32|0;q=s+28|0;o=s+64|0;j=s;k=s+24|0;c[e>>2]=b;c[n>>2]=c[c[e>>2]>>2];b=g;c[b>>2]=0;c[b+4>>2]=0;b=h;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[n>>2]|0)+4>>2];c[l>>2]=(c[t>>2]|0)+8+((d[(c[n>>2]|0)+43>>0]|0)*72|0);c[p>>2]=c[c[c[n>>2]>>2]>>2];c[r>>2]=0;a[o>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];dD(c[q>>2]|0);c[f>>2]=0;c[m>>2]=(c[t>>2]|0)+8;while(1){if((c[m>>2]|0)>>>0>=(c[l>>2]|0)>>>0){e=19;break}b=j;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[f>>2];b=tD((c[n>>2]|0)+68|0,c[(c[m>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=C;if((d[(c[m>>2]|0)+36>>0]|0|(d[o>>0]|0))&10){u=h;b=c[u+4>>2]|0;t=g;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[o>>0]=a[(c[m>>2]|0)+36>>0]|0;if((d[(c[(c[m>>2]|0)+16>>2]|0)+42>>0]|0)&16){c[k>>2]=(c[m>>2]|0)+72;while(1){if((c[k>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break;u=j;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?((d[(c[k>>2]|0)+36>>0]|0)&10|0)==0:0)){b=tD((c[n>>2]|0)+68|0,c[(c[k>>2]|0)+44>>2]|0)|0;v=j;t=c[v+4>>2]|C;u=j;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[k>>2]=(c[k>>2]|0)+72}u=g;v=j;c[r>>2]=UD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=g;c[r>>2]=VD(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[r>>2]|0)){u=g;v=j;c[r>>2]=WD(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=h;u=c[b+4>>2]|c[t+4>>2];v=h;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[r>>2]|0){e=19;break}if(d[(c[p>>2]|0)+69>>0]|0){e=19;break}c[f>>2]=(c[f>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+72}if((e|0)==19){bD(c[p>>2]|0,c[q>>2]|0);i=s;return c[r>>2]|0}return 0}function oD(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;U=i;i=i+160|0;E=U+32|0;M=U+132|0;N=U+128|0;G=U+146|0;r=U+124|0;P=U+120|0;z=U+116|0;O=U+112|0;H=U+108|0;n=U+104|0;p=U+100|0;t=U+96|0;w=U+92|0;s=U+144|0;u=U+142|0;y=U+88|0;v=U+84|0;k=U+80|0;m=U+76|0;R=U+72|0;A=U+68|0;K=U+64|0;j=U+60|0;l=U+56|0;S=U+52|0;h=U+48|0;x=U+140|0;B=U+138|0;C=U+136|0;o=U+148|0;q=U+24|0;D=U+16|0;J=U+44|0;I=U+8|0;L=U+40|0;T=U;Q=U+36|0;c[N>>2]=f;b[G>>1]=g;c[t>>2]=0;b[s>>1]=0;b[u>>1]=0;c[l>>2]=0;c[z>>2]=c[c[N>>2]>>2];c[O>>2]=c[c[z>>2]>>2];c[P>>2]=d[(c[N>>2]|0)+43>>0];if((c[P>>2]|0)<=1)g=1;else g=(c[P>>2]|0)==2?5:10;c[r>>2]=g;if((c[(c[N>>2]|0)+8>>2]|0)!=0?(b[G>>1]|0)!=0:0)c[w>>2]=c[c[(c[N>>2]|0)+8>>2]>>2];else c[w>>2]=0;c[h>>2]=(_(32+(c[P>>2]<<2)|0,c[r>>2]|0)|0)<<1;c[h>>2]=(c[h>>2]|0)+(c[w>>2]<<1);h=c[h>>2]|0;c[S>>2]=Lw(c[O>>2]|0,h,((h|0)<0)<<31>>31)|0;if(!(c[S>>2]|0)){c[M>>2]=7;T=c[M>>2]|0;i=U;return T|0}c[m>>2]=c[S>>2];c[k>>2]=(c[m>>2]|0)+(c[r>>2]<<5);h=c[k>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;c[j>>2]=(c[k>>2]|0)+(c[r>>2]<<5);c[n>>2]=c[r>>2]<<1;c[R>>2]=c[m>>2];while(1){if((c[n>>2]|0)<=0)break;c[(c[R>>2]|0)+24>>2]=c[j>>2];c[n>>2]=(c[n>>2]|0)+-1;c[R>>2]=(c[R>>2]|0)+32;c[j>>2]=(c[j>>2]|0)+(c[P>>2]<<2)}if(c[w>>2]|0){c[l>>2]=c[j>>2];tR(c[l>>2]|0,0,c[w>>2]<<1|0)|0}if((c[(c[z>>2]|0)+428>>2]|0)>>>0<48)g=c[(c[z>>2]|0)+428>>2]|0;else g=48;b[(c[k>>2]|0)+16>>1]=g;c[v>>2]=1;if(c[w>>2]|0)a[(c[k>>2]|0)+22>>0]=(c[P>>2]|0)>0?-1:c[w>>2]|0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[P>>2]|0))break;c[y>>2]=0;c[n>>2]=0;c[R>>2]=c[k>>2];while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;c[K>>2]=c[(c[N>>2]|0)+16>>2];while(1){if(!(c[K>>2]|0))break;a[o>>0]=a[(c[R>>2]|0)+22>>0]|0;h=D;c[h>>2]=0;c[h+4>>2]=0;h=c[K>>2]|0;j=c[R>>2]|0;a:do if(!((c[h>>2]&~c[j>>2]|0)!=0?1:(c[h+4>>2]&~c[j+4>>2]|0)!=0)?(h=(c[K>>2]|0)+8|0,j=c[R>>2]|0,!((c[h>>2]&c[j>>2]|0)!=0?1:(c[h+4>>2]&c[j+4>>2]|0)!=0)):0){if((c[(c[K>>2]|0)+36>>2]&16384|0)!=0?(b[(c[R>>2]|0)+16>>1]|0)<10:0)break;b[C>>1]=QD(b[(c[K>>2]|0)+18>>1]|0,(b[(c[K>>2]|0)+20>>1]|0)+(b[(c[R>>2]|0)+16>>1]|0)&65535)|0;b[C>>1]=QD(b[C>>1]|0,b[(c[R>>2]|0)+20>>1]|0)|0;b[x>>1]=(b[(c[R>>2]|0)+16>>1]|0)+(b[(c[K>>2]|0)+22>>1]|0);g=c[R>>2]|0;f=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[f+4>>2];j=q;c[j>>2]=c[g>>2]|c[f>>2];c[j+4>>2]=h;if((a[o>>0]|0)<0)a[o>>0]=RD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,b[(c[N>>2]|0)+36>>1]|0,c[H>>2]&65535,c[K>>2]|0,D)|0;else{f=(c[R>>2]|0)+8|0;h=c[f+4>>2]|0;j=D;c[j>>2]=c[f>>2];c[j+4>>2]=h}if((a[o>>0]|0)>=0?(a[o>>0]|0)<(c[w>>2]|0):0){if(!(b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)){j=SD(c[N>>2]|0,b[G>>1]|0,c[w>>2]|0,a[o>>0]|0)|0;b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]=j}b[B>>1]=QD(b[C>>1]|0,b[(c[l>>2]|0)+(a[o>>0]<<1)>>1]|0)|0}else b[B>>1]=b[C>>1]|0;c[p>>2]=0;c[A>>2]=c[m>>2];while(1){if((c[p>>2]|0)>=(c[y>>2]|0))break;h=c[A>>2]|0;j=q;if(((c[h>>2]|0)==(c[j>>2]|0)?(c[h+4>>2]|0)==(c[j+4>>2]|0):0)?((a[(c[A>>2]|0)+22>>0]^a[o>>0])&128|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}do if((c[p>>2]|0)<(c[y>>2]|0)){if((b[(c[A>>2]|0)+18>>1]|0)<(b[B>>1]|0))break a;if((b[(c[A>>2]|0)+18>>1]|0)!=(b[B>>1]|0))break;if((b[(c[A>>2]|0)+16>>1]|0)<=(b[x>>1]|0))break a}else{do if((c[y>>2]|0)>=(c[r>>2]|0)){if((b[B>>1]|0)>(b[s>>1]|0))break a;if((b[B>>1]|0)!=(b[s>>1]|0))break;if((b[C>>1]|0)>=(b[u>>1]|0))break a}while(0);if((c[y>>2]|0)<(c[r>>2]|0)){j=c[y>>2]|0;c[y>>2]=j+1;c[p>>2]=j}else c[p>>2]=c[t>>2];c[A>>2]=(c[m>>2]|0)+(c[p>>2]<<5)}while(0);g=c[R>>2]|0;j=(c[K>>2]|0)+8|0;h=c[g+4>>2]|c[j+4>>2];f=c[A>>2]|0;c[f>>2]=c[g>>2]|c[j>>2];c[f+4>>2]=h;f=D;h=c[f+4>>2]|0;j=(c[A>>2]|0)+8|0;c[j>>2]=c[f>>2];c[j+4>>2]=h;b[(c[A>>2]|0)+16>>1]=b[x>>1]|0;b[(c[A>>2]|0)+18>>1]=b[B>>1]|0;b[(c[A>>2]|0)+20>>1]=b[C>>1]|0;a[(c[A>>2]|0)+22>>0]=a[o>>0]|0;rR(c[(c[A>>2]|0)+24>>2]|0,c[(c[R>>2]|0)+24>>2]|0,c[H>>2]<<2|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]=c[K>>2];if((c[y>>2]|0)>=(c[r>>2]|0)){c[t>>2]=0;b[s>>1]=b[(c[m>>2]|0)+18>>1]|0;b[u>>1]=b[(c[m>>2]|0)+16>>1]|0;c[p>>2]=1;c[A>>2]=(c[m>>2]|0)+32;while(1){if((c[p>>2]|0)>=(c[r>>2]|0))break a;do if((b[(c[A>>2]|0)+18>>1]|0)<=(b[s>>1]|0)){if((b[(c[A>>2]|0)+18>>1]|0)!=(b[s>>1]|0))break;if((b[(c[A>>2]|0)+20>>1]|0)>(b[u>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[s>>1]=b[(c[A>>2]|0)+18>>1]|0;b[u>>1]=b[(c[A>>2]|0)+20>>1]|0;c[t>>2]=c[p>>2]}c[p>>2]=(c[p>>2]|0)+1;c[A>>2]=(c[A>>2]|0)+32}}}while(0);c[K>>2]=c[(c[K>>2]|0)+52>>2]}c[n>>2]=(c[n>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+32}c[R>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[R>>2];c[v>>2]=c[y>>2];c[H>>2]=(c[H>>2]|0)+1}if(!(c[v>>2]|0)){Ch(c[z>>2]|0,35265,E);Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=1;T=c[M>>2]|0;i=U;return T|0}c[R>>2]=c[k>>2];c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[v>>2]|0))break;if((b[(c[R>>2]|0)+18>>1]|0)>(b[(c[k>>2]|0)+(c[n>>2]<<5)+18>>1]|0))c[R>>2]=(c[k>>2]|0)+(c[n>>2]<<5);c[n>>2]=(c[n>>2]|0)+1}c[H>>2]=0;while(1){g=c[N>>2]|0;if((c[H>>2]|0)>=(c[P>>2]|0))break;c[J>>2]=g+736+((c[H>>2]|0)*80|0);F=c[(c[(c[R>>2]|0)+24>>2]|0)+(c[H>>2]<<2)>>2]|0;c[K>>2]=F;c[(c[J>>2]|0)+64>>2]=F;a[(c[J>>2]|0)+44>>0]=a[(c[K>>2]|0)+16>>0]|0;c[(c[J>>2]|0)+4>>2]=c[(c[(c[N>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+44>>0]|0)*72|0)+44>>2];c[H>>2]=(c[H>>2]|0)+1}if(((((e[g+36>>1]&1024|0)!=0?(e[(c[N>>2]|0)+36>>1]&512|0)==0:0)?(d[(c[N>>2]|0)+42>>0]|0)==0:0)?(b[G>>1]|0)!=0:0)?(c[L>>2]=(RD(c[N>>2]|0,c[(c[N>>2]|0)+12>>2]|0,c[R>>2]|0,512,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[L>>2]|0)==(c[c[(c[N>>2]|0)+12>>2]>>2]|0)):0)a[(c[N>>2]|0)+42>>0]=2;if(c[(c[N>>2]|0)+8>>2]|0){g=a[(c[R>>2]|0)+22>>0]|0;if(e[(c[N>>2]|0)+36>>1]&512){if((g<<24>>24|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0))a[(c[N>>2]|0)+42>>0]=2}else{a[(c[N>>2]|0)+38>>0]=g;if((a[(c[N>>2]|0)+38>>0]|0)<0)a[(c[N>>2]|0)+38>>0]=0;J=(c[R>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[N>>2]|0)+24|0;c[L>>2]=c[J>>2];c[L+4>>2]=K}if(((e[(c[N>>2]|0)+36>>1]&2048|0)!=0?((c[P>>2]|0)>0?(a[(c[N>>2]|0)+38>>0]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0):0):0)?(L=T,c[L>>2]=0,c[L+4>>2]=0,c[Q>>2]=(RD(c[N>>2]|0,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0,0,(c[P>>2]|0)-1&65535,c[(c[(c[R>>2]|0)+24>>2]|0)+((c[P>>2]|0)-1<<2)>>2]|0,T)|0)<<24>>24,(c[Q>>2]|0)==(c[c[(c[N>>2]|0)+8>>2]>>2]|0)):0){a[(c[N>>2]|0)+39>>0]=1;P=T;Q=c[P+4>>2]|0;T=(c[N>>2]|0)+24|0;c[T>>2]=c[P>>2];c[T+4>>2]=Q}}b[(c[N>>2]|0)+32>>1]=b[(c[R>>2]|0)+16>>1]|0;Tf(c[O>>2]|0,c[S>>2]|0);c[M>>2]=0;T=c[M>>2]|0;i=U;return T|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;a=g;c[a>>2]=0;c[a+4>>2]=0;if(!(c[e>>2]|0)){b=g;a=b;a=c[a>>2]|0;b=b+4|0;b=c[b>>2]|0;C=b;i=h;return a|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;j=OD(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|j;c[a+4>>2]=b;c[f>>2]=(c[f>>2]|0)+1}j=g;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;C=j;i=h;return k|0}function qD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+176|0;q=Y+40|0;N=Y+160|0;t=Y+156|0;u=Y+152|0;v=Y+32|0;O=Y+148|0;E=Y+144|0;J=Y+140|0;K=Y+136|0;G=Y+132|0;X=Y+128|0;Q=Y+124|0;I=Y+120|0;R=Y+116|0;W=Y+112|0;S=Y+108|0;y=Y+104|0;D=Y+100|0;F=Y+96|0;H=Y+92|0;s=Y+88|0;B=Y+24|0;x=Y+16|0;p=Y+164|0;T=Y+84|0;A=Y+80|0;U=Y+76|0;P=Y+72|0;V=Y+68|0;o=Y+64|0;n=Y+60|0;m=Y+8|0;z=Y+56|0;w=Y;L=Y+52|0;M=Y+48|0;c[N>>2]=f;c[t>>2]=g;c[u>>2]=h;g=v;c[g>>2]=j;c[g+4>>2]=k;c[O>>2]=l;a[p>>0]=0;c[T>>2]=0;c[A>>2]=0;c[P>>2]=0;c[X>>2]=c[(c[N>>2]|0)+8>>2];c[Q>>2]=_A(c[N>>2]|0)|0;c[E>>2]=0;c[I>>2]=c[(c[u>>2]|0)+16>>2];c[K>>2]=(c[(c[t>>2]|0)+20>>2]|0)+((c[(c[t>>2]|0)+12>>2]|0)*48|0);c[H>>2]=c[(c[O>>2]|0)+64>>2];g=B;c[g>>2]=0;c[g+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;c[o>>2]=c[c[J>>2]>>2];g=c[H>>2]|0;if((((c[g>>2]|0)==0&(c[g+4>>2]|0)==0?(e[(c[J>>2]|0)+20>>1]&2|0)==0:0)?(c[(c[o>>2]|0)+4>>2]&1|0)==0:0)?(KD(c[o>>2]|0,c[(c[u>>2]|0)+44>>2]|0)|0)!=0:0){h=c[c[N>>2]>>2]|0;g=c[T>>2]|0;c[T>>2]=gz(h,g,ty(c[c[N>>2]>>2]|0,c[o>>2]|0,0)|0)|0}g=v;if(LD(c[J>>2]|0,c[u>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0){c[n>>2]=c[(c[J>>2]|0)+12>>2];if((c[n>>2]|0)>=64){j=0;k=-2147483648}else{j=uR(1,0,c[n>>2]|0)|0;k=C}g=m;c[g>>2]=j;c[g+4>>2]=k;if(!(a[p>>0]|0)){g=c[(c[(c[I>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0;c[q>>2]=c[c[I>>2]>>2];c[q+4>>2]=g;Rd(284,35228,q);a[p>>0]=1}h=B;g=m;if((c[h>>2]&c[g>>2]|0)==0?(c[h+4>>2]&c[g+4>>2]|0)==0:0){if(MD(c[c[N>>2]>>2]|0,c[H>>2]|0,(c[E>>2]|0)+1|0)|0){r=57;break}l=c[J>>2]|0;f=c[E>>2]|0;c[E>>2]=f+1;c[(c[(c[H>>2]|0)+48>>2]|0)+(f<<2)>>2]=l;f=m;l=B;h=c[l+4>>2]|c[f+4>>2];g=B;c[g>>2]=c[l>>2]|c[f>>2];c[g+4>>2]=h}}c[J>>2]=(c[J>>2]|0)+48}if((r|0)==57){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;dv(W,X);i=Y;return}o=c[E>>2]&65535;b[(c[H>>2]|0)+40>>1]=o;b[(c[H>>2]|0)+24>>1]=o;c[(c[H>>2]|0)+36>>2]=16961;o=(c[u>>2]|0)+56|0;p=B;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=x;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[I>>2]|0)+34>>1]|0))j=63;else j=b[(c[I>>2]|0)+34>>1]|0;c[D>>2]=j;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;r=x;p=c[r>>2]|0;r=c[r+4>>2]|0;q=uR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&C|0)!=0)c[E>>2]=(c[E>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[E>>2]=(c[E>>2]|0)+((b[(c[I>>2]|0)+34>>1]|0)-64+1);c[G>>2]=ND(c[c[N>>2]>>2]|0,(c[E>>2]|0)+1&65535,0,s)|0;if(!(c[G>>2]|0)){W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;dv(W,X);i=Y;return}c[(c[H>>2]|0)+24+4>>2]=c[G>>2];c[c[G>>2]>>2]=35254;c[(c[G>>2]|0)+12>>2]=c[I>>2];c[S>>2]=0;s=B;c[s>>2]=0;c[s+4>>2]=0;c[J>>2]=c[(c[t>>2]|0)+20>>2];while(1){if((c[J>>2]|0)>>>0>=(c[K>>2]|0)>>>0)break;s=v;if(LD(c[J>>2]|0,c[u>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[z>>2]=c[(c[J>>2]|0)+12>>2];if((c[z>>2]|0)>=64){j=0;k=-2147483648}else{j=uR(1,0,c[z>>2]|0)|0;k=C}r=w;c[r>>2]=j;c[r+4>>2]=k;r=B;s=w;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[L>>2]=c[c[J>>2]>>2];q=w;p=B;r=c[p+4>>2]|c[q+4>>2];s=B;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[J>>2]|0)+12>>2];c[F>>2]=$A(c[N>>2]|0,c[(c[L>>2]|0)+12>>2]|0,c[(c[L>>2]|0)+16>>2]|0)|0;if(c[F>>2]|0)j=c[c[F>>2]>>2]|0;else j=35343;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=j;c[S>>2]=(c[S>>2]|0)+1}}c[J>>2]=(c[J>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[D>>2]|0))break;L=x;J=c[L>>2]|0;L=c[L+4>>2]|0;K=uR(1,0,c[y>>2]|0)|0;if((J&K|0)!=0|(L&C|0)!=0){b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35343;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0!=0?1:(c[(c[u>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[I>>2]|0)+34>>1]|0))break a;b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35343;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[G>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[G>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=35343;K=(c[N>>2]|0)+72|0;L=c[K>>2]|0;c[K>>2]=L+1;c[(c[O>>2]|0)+8>>2]=L;Xw(c[X>>2]|0,56,c[(c[O>>2]|0)+8>>2]|0,(c[E>>2]|0)+1|0)|0;Gz(c[N>>2]|0,c[G>>2]|0);oA(c[N>>2]|0);c[U>>2]=(c[(c[c[t>>2]>>2]|0)+4>>2]|0)+8+((d[(c[O>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){c[M>>2]=c[(c[U>>2]|0)+28>>2];c[P>>2]=Xw(c[X>>2]|0,22,0,0)|0;$w(c[X>>2]|0,16,c[M>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[R>>2]=Dz(c[X>>2]|0,18,c[M>>2]|0)|0}else c[R>>2]=Dz(c[X>>2]|0,108,c[(c[O>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[A>>2]=Iz(c[X>>2]|0)|0;RA(c[N>>2]|0,c[T>>2]|0,c[A>>2]|0,16);M=(c[H>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[W>>2]=aA(c[N>>2]|0)|0;c[V>>2]=bA(c[N>>2]|0,c[G>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[W>>2]|0,0,0,0,0)|0;Xw(c[X>>2]|0,110,c[(c[O>>2]|0)+8>>2]|0,c[W>>2]|0)|0;Hh(c[X>>2]|0,16);if(c[T>>2]|0)Mz(c[X>>2]|0,c[A>>2]|0);j=c[X>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1){Rz(j,c[P>>2]|0,(c[V>>2]|0)+(c[S>>2]|0)|0);ZC(c[X>>2]|0,c[R>>2]|0,c[(c[O>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);Kz(c[X>>2]|0,c[R>>2]|0)|0;V=(c[U>>2]|0)+36+1|0;a[V>>0]=a[V>>0]&-17}else Xw(j,7,c[(c[O>>2]|0)+4>>2]|0,(c[R>>2]|0)+1|0)|0;Hh(c[X>>2]|0,3);Lz(c[X>>2]|0,c[R>>2]|0);eA(c[N>>2]|0,c[W>>2]|0);mA(c[N>>2]|0);Lz(c[X>>2]|0,c[Q>>2]|0);W=c[N>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;dv(W,X);i=Y;return}function rD(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=i;i=i+256|0;H=O+40|0;G=O+32|0;J=O+24|0;I=O+16|0;F=O+8|0;E=O;s=O+144|0;m=O+140|0;n=O+136|0;o=O+132|0;t=O+128|0;u=O+124|0;p=O+148|0;B=O+120|0;z=O+116|0;D=O+112|0;q=O+108|0;w=O+104|0;x=O+100|0;A=O+96|0;v=O+92|0;L=O+88|0;C=O+60|0;r=O+152|0;K=O+56|0;y=O+52|0;M=O+48|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[t>>2]=j;c[u>>2]=k;b[p>>1]=l;c[B>>2]=0;do if((d[(c[m>>2]|0)+453>>0]|0|0)==2){c[z>>2]=(c[n>>2]|0)+8+((d[(c[o>>2]|0)+44>>0]|0)*72|0);c[D>>2]=c[(c[m>>2]|0)+8>>2];c[q>>2]=c[c[m>>2]>>2];c[w>>2]=c[(c[m>>2]|0)+468>>2];c[A>>2]=c[(c[o>>2]|0)+64>>2];c[v>>2]=c[(c[A>>2]|0)+36>>2];if((c[v>>2]&8192|0)==0?((e[p>>1]|0)&64|0)==0:0){do if(c[v>>2]&48)m=1;else{if((c[v>>2]&1024|0)==0?(e[(c[A>>2]|0)+24>>1]|0|0)>0:0){m=1;break}m=((e[p>>1]|0)&3|0)!=0}while(0);c[x>>2]=m&1;dg(C,c[q>>2]|0,r,100,1e9);GD(C,(c[x>>2]|0)!=0?34965:34972);m=c[z>>2]|0;if(c[(c[z>>2]|0)+20>>2]|0){c[E>>2]=d[m+40>>0];fA(C,34977,E)}else{c[F>>2]=c[m+8>>2];fA(C,34990,F)}if(c[(c[z>>2]|0)+12>>2]|0){c[I>>2]=c[(c[z>>2]|0)+12>>2];fA(C,35e3,I)}do if(!(c[v>>2]&1280)){c[K>>2]=0;c[y>>2]=c[(c[A>>2]|0)+24+4>>2];if(((d[(c[(c[z>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[y>>2]|0)+55>>0]&3|0)==2:0){if(c[x>>2]|0)c[K>>2]=35007}else N=19;do if((N|0)==19){if(c[v>>2]&131072){c[K>>2]=35019;break}if(c[v>>2]&16384){c[K>>2]=35052;break}if(c[v>>2]&64){c[K>>2]=35077;break}else{c[K>>2]=35095;break}}while(0);if(c[K>>2]|0){gA(C,35104,7);N=c[K>>2]|0;c[J>>2]=c[c[y>>2]>>2];fA(C,N,J);HD(C,c[A>>2]|0)}}else{if((c[v>>2]&256|0)!=0?(c[v>>2]&15|0)!=0:0){do if(!(c[v>>2]&5)){if((c[v>>2]&48|0)==48){c[M>>2]=35114;break}if(c[v>>2]&32){c[M>>2]=35128;break}else{c[M>>2]=35130;break}}else c[M>>2]=35112;while(0);c[G>>2]=c[M>>2];fA(C,35132,G);break}if(c[v>>2]&1024){N=c[(c[A>>2]|0)+24+8>>2]|0;c[H>>2]=c[(c[A>>2]|0)+24>>2];c[H+4>>2]=N;fA(C,35170,H)}}while(0);c[L>>2]=fg(C)|0;c[B>>2]=_w(c[D>>2]|0,161,c[w>>2]|0,c[t>>2]|0,c[u>>2]|0,c[L>>2]|0,-1)|0;break}c[s>>2]=0;N=c[s>>2]|0;i=O;return N|0}while(0);c[s>>2]=c[B>>2];N=c[s>>2]|0;i=O;return N|0}function sD(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0;bb=i;i=i+384|0;Ma=bb+8|0;Na=bb+368|0;ba=bb+364|0;Oa=bb;Sa=bb+360|0;La=bb+356|0;Ra=bb+352|0;J=bb+348|0;R=bb+344|0;Ia=bb+340|0;Xa=bb+336|0;Ja=bb+332|0;_a=bb+328|0;Za=bb+324|0;Ya=bb+320|0;Qa=bb+316|0;ab=bb+312|0;I=bb+308|0;v=bb+304|0;Pa=bb+300|0;O=bb+296|0;l=bb+292|0;k=bb+288|0;B=bb+284|0;z=bb+280|0;E=bb+276|0;A=bb+272|0;D=bb+268|0;F=bb+264|0;H=bb+260|0;G=bb+256|0;u=bb+252|0;t=bb+248|0;m=bb+244|0;o=bb+240|0;n=bb+236|0;p=bb+232|0;r=bb+228|0;s=bb+224|0;q=bb+220|0;Q=bb+374|0;Z=bb+216|0;W=bb+212|0;V=bb+208|0;_=bb+204|0;N=bb+200|0;$=bb+196|0;P=bb+192|0;T=bb+188|0;fa=bb+184|0;w=bb+180|0;S=bb+176|0;aa=bb+172|0;M=bb+379|0;K=bb+378|0;L=bb+377|0;x=bb+168|0;y=bb+376|0;X=bb+164|0;Y=bb+160|0;U=bb+156|0;wa=bb+152|0;ua=bb+148|0;ra=bb+144|0;ea=bb+140|0;Da=bb+136|0;Fa=bb+132|0;Ea=bb+128|0;ga=bb+124|0;ia=bb+120|0;Ga=bb+116|0;la=bb+112|0;Ha=bb+372|0;qa=bb+108|0;Ba=bb+104|0;na=bb+100|0;pa=bb+96|0;xa=bb+92|0;ka=bb+88|0;sa=bb+84|0;va=bb+80|0;Aa=bb+76|0;ta=bb+72|0;ma=bb+68|0;za=bb+64|0;ca=bb+60|0;Ca=bb+56|0;ja=bb+52|0;ya=bb+48|0;oa=bb+44|0;ha=bb+40|0;da=bb+36|0;Ua=bb+32|0;$a=bb+28|0;Va=bb+24|0;Wa=bb+20|0;Ta=bb+16|0;c[Na>>2]=f;c[ba>>2]=g;g=Oa;c[g>>2]=h;c[g+4>>2]=j;c[O>>2]=0;c[l>>2]=0;c[Ya>>2]=c[c[Na>>2]>>2];c[ab>>2]=c[(c[Ya>>2]|0)+8>>2];c[_a>>2]=(c[Na>>2]|0)+328;c[Qa>>2]=c[c[Ya>>2]>>2];c[Xa>>2]=(c[Na>>2]|0)+736+((c[ba>>2]|0)*80|0);c[Ja>>2]=c[(c[Xa>>2]|0)+64>>2];c[I>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8+((d[(c[Xa>>2]|0)+44>>0]|0)*72|0);c[Ra>>2]=c[(c[I>>2]|0)+44>>2];g=Oa;h=c[g>>2]|0;g=c[g+4>>2]|0;j=tD((c[Na>>2]|0)+68|0,c[Ra>>2]|0)|0;f=(c[Xa>>2]|0)+72|0;c[f>>2]=h&~j;c[f+4>>2]=g&~C;f=(c[Na>>2]|0)+24|0;f=qR(c[f>>2]|0,c[f+4>>2]|0,c[ba>>2]|0)|0;c[Ia>>2]=f&1;if(c[(c[Ja>>2]|0)+36>>2]&64)h=(e[(c[Na>>2]|0)+36>>1]&32|0)==0;else h=0;c[R>>2]=h&1;f=Iz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+16>>2]=f;c[(c[Xa>>2]|0)+12>>2]=f;c[v>>2]=f;f=Iz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+24>>2]=f;c[Pa>>2]=f;if((d[(c[Xa>>2]|0)+44>>0]|0)>0?(d[(c[I>>2]|0)+36>>0]&8|0)!=0:0){g=(c[Ya>>2]|0)+76|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[c[Xa>>2]>>2]=f;Xw(c[ab>>2]|0,22,0,c[c[Xa>>2]>>2]|0)|0}do if((d[(c[I>>2]|0)+36+1>>0]|0)>>>4&1){c[k>>2]=c[(c[I>>2]|0)+28>>2];$w(c[ab>>2]|0,16,c[k>>2]|0,0,c[(c[I>>2]|0)+24>>2]|0)|0;La=Xw(c[ab>>2]|0,18,c[k>>2]|0,c[v>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+45>>0]=13}else{h=c[Ja>>2]|0;if(c[(c[Ja>>2]|0)+36>>2]&1024){c[E>>2]=e[h+40>>1];oA(c[Ya>>2]|0);c[B>>2]=qA(c[Ya>>2]|0,(c[E>>2]|0)+2|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+12>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[E>>2]|0))break;c[D>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];do if(c[Za>>2]|0){h=c[Ya>>2]|0;j=c[Za>>2]|0;if(e[(c[Za>>2]|0)+18>>1]&1){uD(h,j,c[Xa>>2]|0,c[Sa>>2]|0,c[Ia>>2]|0,c[D>>2]|0)|0;c[z>>2]=c[(c[Xa>>2]|0)+16>>2];break}else{DA(h,c[(c[j>>2]|0)+16>>2]|0,c[D>>2]|0);break}}while(0);c[Sa>>2]=(c[Sa>>2]|0)+1}Xw(c[ab>>2]|0,22,c[(c[Ja>>2]|0)+24>>2]|0,c[B>>2]|0)|0;Xw(c[ab>>2]|0,22,c[E>>2]|0,(c[B>>2]|0)+1|0)|0;_w(c[ab>>2]|0,11,c[Ra>>2]|0,c[z>>2]|0,c[B>>2]|0,c[(c[Ja>>2]|0)+24+8>>2]|0,(d[(c[Ja>>2]|0)+24+4>>0]|0)!=0?-11:-2)|0;a[(c[Ja>>2]|0)+24+4>>0]=0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];a[(c[Xa>>2]|0)+45>>0]=(d[(c[Na>>2]|0)+40>>0]|0)!=0?160:154;La=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;c[A>>2]=c[(c[Xa>>2]|0)+56>>2];c[Sa>>2]=(c[E>>2]|0)-1;while(1){if((c[Sa>>2]|0)<0)break;c[Za>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(c[Sa>>2]<<2)>>2];if((c[Sa>>2]|0)<16?(e[(c[Ja>>2]|0)+24+6>>1]>>c[Sa>>2]&1|0)!=0:0)vD(c[Xa>>2]|0,c[Za>>2]|0);else Ka=21;if((Ka|0)==21?(Ka=0,(e[(c[Za>>2]|0)+18>>1]&1|0)!=0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Ia=c[ab>>2]|0;La=(c[A>>2]|0)+-1|0;c[A>>2]=La;c[G>>2]=Sz(Ia,c[(c[(c[Xa>>2]|0)+56+4>>2]|0)+(La*12|0)+4>>2]|0)|0;$w(c[ab>>2]|0,d[c[G>>2]>>0]|0,c[(c[G>>2]|0)+4>>2]|0,c[(c[G>>2]|0)+8>>2]|0,c[(c[G>>2]|0)+12>>2]|0)|0}c[F>>2]=xv(c[Ya>>2]|0,79,0,0,0)|0;if(c[F>>2]|0){c[(c[F>>2]|0)+12>>2]=c[(c[c[Za>>2]>>2]|0)+12>>2];La=Pv(c[Qa>>2]|0,157,0)|0;c[H>>2]=La;c[(c[F>>2]|0)+16>>2]=La;if(c[H>>2]|0){c[(c[H>>2]|0)+28>>2]=(c[B>>2]|0)+(c[Sa>>2]|0)+2;RA(c[Ya>>2]|0,c[F>>2]|0,c[(c[Xa>>2]|0)+24>>2]|0,0)}c[(c[F>>2]|0)+12>>2]=0;dv(c[Qa>>2]|0,c[F>>2]|0)}}c[Sa>>2]=(c[Sa>>2]|0)+-1}tA(c[Ya>>2]|0,c[B>>2]|0,(c[E>>2]|0)+2|0);mA(c[Ya>>2]|0);break}if((c[h+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&5|0)!=0:0){c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[l>>2]=La;c[O>>2]=uD(c[Ya>>2]|0,c[Za>>2]|0,c[Xa>>2]|0,0,c[Ia>>2]|0,c[l>>2]|0)|0;if((c[O>>2]|0)!=(c[l>>2]|0))eA(c[Ya>>2]|0,c[l>>2]|0);c[J>>2]=c[(c[Xa>>2]|0)+16>>2];Xw(c[ab>>2]|0,38,c[O>>2]|0,c[J>>2]|0)|0;$w(c[ab>>2]|0,70,c[Ra>>2]|0,c[J>>2]|0,c[O>>2]|0)|0;IA(c[Ya>>2]|0,c[O>>2]|0,1);mB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);a[(c[Xa>>2]|0)+45>>0]=-96;break}if((c[(c[Ja>>2]|0)+36>>2]&256|0)!=0?(c[(c[Ja>>2]|0)+36>>2]&2|0)!=0:0){c[u>>2]=160;c[m>>2]=0;c[Sa>>2]=0;c[n>>2]=0;c[o>>2]=0;if(c[(c[Ja>>2]|0)+36>>2]&32){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[o>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[(c[Ja>>2]|0)+36>>2]&16){La=c[Sa>>2]|0;c[Sa>>2]=La+1;c[n>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(La<<2)>>2]}if(c[Ia>>2]|0){c[Za>>2]=c[o>>2];c[o>>2]=c[n>>2];c[n>>2]=c[Za>>2]}if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[r>>2]=JA(c[Ya>>2]|0,c[(c[p>>2]|0)+16>>2]|0,s)|0;$w(c[ab>>2]|0,d[34945+((d[c[p>>2]>>0]|0)-80)>>0]|0,c[Ra>>2]|0,c[v>>2]|0,c[r>>2]|0)|0;IA(c[Ya>>2]|0,c[r>>2]|0,1);eA(c[Ya>>2]|0,c[s>>2]|0);vD(c[Xa>>2]|0,c[o>>2]|0)}else Xw(c[ab>>2]|0,(c[Ia>>2]|0)!=0?105:108,c[Ra>>2]|0,c[v>>2]|0)|0;if(c[n>>2]|0){c[q>>2]=c[c[n>>2]>>2];Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[m>>2]=La;DA(c[Ya>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[m>>2]|0);if((d[c[q>>2]>>0]|0)!=82?(d[c[q>>2]>>0]|0)!=80:0)c[u>>2]=(c[Ia>>2]|0)!=0?82:80;else c[u>>2]=(c[Ia>>2]|0)!=0?81:83;vD(c[Xa>>2]|0,c[n>>2]|0)}c[t>>2]=Hz(c[ab>>2]|0)|0;a[(c[Xa>>2]|0)+45>>0]=(c[Ia>>2]|0)!=0?6:7;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];c[(c[Xa>>2]|0)+52>>2]=c[t>>2];if((c[u>>2]|0)==160)break;Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;Xw(c[ab>>2]|0,103,c[Ra>>2]|0,c[O>>2]|0)|0;mB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);$w(c[ab>>2]|0,c[u>>2]|0,c[m>>2]|0,c[v>>2]|0,c[O>>2]|0)|0;Hh(c[ab>>2]|0,83);break}h=c[Ja>>2]|0;if(!(c[(c[Ja>>2]|0)+36>>2]&512)){if(!(c[h+36>>2]&8192))if((d[(c[I>>2]|0)+36+1>>0]|0)>>>5&1){a[(c[Xa>>2]|0)+45>>0]=-96;break}else{a[(c[Xa>>2]|0)+45>>0]=a[34961+(c[Ia>>2]|0)>>0]|0;c[(c[Xa>>2]|0)+48>>2]=c[Ra>>2];La=1+(Xw(c[ab>>2]|0,d[34963+(c[Ia>>2]|0)>>0]|0,c[Ra>>2]|0,c[v>>2]|0)|0)|0;c[(c[Xa>>2]|0)+52>>2]=La;a[(c[Xa>>2]|0)+47>>0]=1;break}c[ra>>2]=0;h=(c[Ya>>2]|0)+72|0;Ia=c[h>>2]|0;c[h>>2]=Ia+1;c[ea>>2]=Ia;Ia=(c[Ya>>2]|0)+76|0;h=(c[Ia>>2]|0)+1|0;c[Ia>>2]=h;c[Da>>2]=h;c[Fa>>2]=0;c[Ea>>2]=0;c[ga>>2]=Iz(c[ab>>2]|0)|0;c[Ga>>2]=0;c[qa>>2]=0;c[Ba>>2]=c[(c[I>>2]|0)+16>>2];c[Za>>2]=c[c[(c[Ja>>2]|0)+48>>2]>>2];c[wa>>2]=c[(c[Za>>2]|0)+12>>2];a[(c[Xa>>2]|0)+45>>0]=15;c[(c[Xa>>2]|0)+48>>2]=c[Da>>2];h=c[Na>>2]|0;a:do if((d[(c[Na>>2]|0)+43>>0]|0)>1){c[na>>2]=(d[h+43>>0]|0)-(c[ba>>2]|0)-1;c[ua>>2]=Ah(c[Qa>>2]|0,80+((c[na>>2]|0)*72|0)|0,0)|0;if(!(c[ua>>2]|0)){_a=Oa;ab=c[_a+4>>2]|0;$a=Ma;c[$a>>2]=c[_a>>2];c[$a+4>>2]=ab;$a=Ma;ab=$a;ab=c[ab>>2]|0;$a=$a+4|0;$a=c[$a>>2]|0;C=$a;i=bb;return ab|0}c[(c[ua>>2]|0)+4>>2]=(c[na>>2]|0)+1&255;c[c[ua>>2]>>2]=c[(c[ua>>2]|0)+4>>2];g=(c[ua>>2]|0)+8|0;h=c[I>>2]|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[pa>>2]=(c[(c[Na>>2]|0)+4>>2]|0)+8;c[La>>2]=1;while(1){if((c[La>>2]|0)>(c[na>>2]|0))break a;g=(c[ua>>2]|0)+8+((c[La>>2]|0)*72|0)|0;h=(c[pa>>2]|0)+((d[(c[Xa>>2]|0)+((c[La>>2]|0)*80|0)+44>>0]|0)*72|0)|0;j=g+72|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[La>>2]=(c[La>>2]|0)+1}}else c[ua>>2]=c[h+4>>2];while(0);if(!(e[(c[Na>>2]|0)+36>>1]&8)){if(!(d[(c[Ba>>2]|0)+42>>0]&32)){Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Fa>>2]=La;Xw(c[ab>>2]|0,25,0,c[Fa>>2]|0)|0}else{c[xa>>2]=Hj(c[Ba>>2]|0)|0;Ja=(c[Ya>>2]|0)+72|0;La=c[Ja>>2]|0;c[Ja>>2]=La+1;c[Fa>>2]=La;Xw(c[ab>>2]|0,57,c[Fa>>2]|0,e[(c[xa>>2]|0)+50>>1]|0)|0;Gz(c[Ya>>2]|0,c[xa>>2]|0)}Ja=(c[Ya>>2]|0)+76|0;La=(c[Ja>>2]|0)+1|0;c[Ja>>2]=La;c[Ea>>2]=La}c[ia>>2]=Xw(c[ab>>2]|0,22,0,c[Da>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[ka>>2]=0;while(1){if((c[ka>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[sa>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)|0)!=(c[Za>>2]|0)?(c[(c[sa>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+20>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+18>>1]&8191))break;c[sa>>2]=ty(c[Qa>>2]|0,c[sa>>2]|0,0)|0;c[qa>>2]=gz(c[Qa>>2]|0,c[qa>>2]|0,c[sa>>2]|0)|0}while(0);c[ka>>2]=(c[ka>>2]|0)+1}if(c[qa>>2]|0)c[qa>>2]=xv(c[Ya>>2]|0,328,0,c[qa>>2]|0,0)|0}b[Ha>>1]=240;c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[wa>>2]|0)+12>>2]|0))break;c[va>>2]=(c[(c[wa>>2]|0)+20>>2]|0)+((c[la>>2]|0)*48|0);if(!((c[(c[va>>2]|0)+8>>2]|0)!=(c[Ra>>2]|0)?(e[(c[va>>2]|0)+18>>1]&1024|0)==0:0)){c[ta>>2]=c[c[va>>2]>>2];c[ma>>2]=0;if((c[qa>>2]|0)!=0?(c[(c[ta>>2]|0)+4>>2]&1|0)==0:0){c[(c[qa>>2]|0)+12>>2]=c[ta>>2];c[ta>>2]=c[qa>>2]}c[Aa>>2]=XC(c[Ya>>2]|0,c[ua>>2]|0,c[ta>>2]|0,0,0,b[Ha>>1]|0,c[ea>>2]|0)|0;if(c[Aa>>2]|0){c[ca>>2]=rD(c[Ya>>2]|0,c[ua>>2]|0,(c[Aa>>2]|0)+736|0,c[ba>>2]|0,d[(c[Xa>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[Na>>2]|0)+36>>1]&8)){c[ja>>2]=(c[la>>2]|0)==((c[(c[wa>>2]|0)+12>>2]|0)-1|0)?-1:c[la>>2]|0;if(!(d[(c[Ba>>2]|0)+42>>0]&32)){c[Ca>>2]=FA(c[Ya>>2]|0,c[Ba>>2]|0,-1,c[Ra>>2]|0,c[Ea>>2]|0,0)|0;c[ma>>2]=Gh(c[ab>>2]|0,131,c[Fa>>2]|0,0,c[Ca>>2]|0,c[ja>>2]|0)|0;break}c[ya>>2]=Hj(c[Ba>>2]|0)|0;c[oa>>2]=e[(c[ya>>2]|0)+50>>1];c[Ca>>2]=qA(c[Ya>>2]|0,c[oa>>2]|0)|0;c[ha>>2]=0;while(1){if((c[ha>>2]|0)>=(c[oa>>2]|0))break;c[da>>2]=b[(c[(c[ya>>2]|0)+4>>2]|0)+(c[ha>>2]<<1)>>1];BD(c[Ya>>2]|0,c[Ba>>2]|0,c[da>>2]|0,c[Ra>>2]|0,(c[Ca>>2]|0)+(c[ha>>2]|0)|0);c[ha>>2]=(c[ha>>2]|0)+1}if(c[ja>>2]|0)c[ma>>2]=Gh(c[ab>>2]|0,69,c[Fa>>2]|0,0,c[Ca>>2]|0,c[oa>>2]|0)|0;do if((c[ja>>2]|0)>=0){$w(c[ab>>2]|0,49,c[Ca>>2]|0,c[oa>>2]|0,c[Ea>>2]|0)|0;$w(c[ab>>2]|0,110,c[Fa>>2]|0,c[Ea>>2]|0,0)|0;if(!(c[ja>>2]|0))break;Hh(c[ab>>2]|0,16)}while(0);tA(c[Ya>>2]|0,c[Ca>>2]|0,c[oa>>2]|0)}while(0);Xw(c[ab>>2]|0,14,c[Da>>2]|0,c[ga>>2]|0)|0;if(c[ma>>2]|0)Lz(c[ab>>2]|0,c[ma>>2]|0);if(a[(c[Aa>>2]|0)+41>>0]|0)c[Ga>>2]=1;c[za>>2]=c[(c[Aa>>2]|0)+736+64>>2];do if(c[(c[za>>2]|0)+36>>2]&512){if((c[la>>2]|0)!=0?(c[(c[za>>2]|0)+24+4>>2]|0)!=(c[ra>>2]|0):0){Ka=179;break}if((d[(c[Ba>>2]|0)+42>>0]&32|0)!=0?(a[(c[(c[za>>2]|0)+24+4>>2]|0)+55>>0]&3|0)==2:0){Ka=179;break}c[ra>>2]=c[(c[za>>2]|0)+24+4>>2];b[Ha>>1]=e[Ha>>1]|4096}else Ka=179;while(0);if((Ka|0)==179){Ka=0;c[ra>>2]=0}YC(c[Aa>>2]|0)}}c[la>>2]=(c[la>>2]|0)+1}c[(c[Xa>>2]|0)+56>>2]=c[ra>>2];if(c[ra>>2]|0)c[(c[Xa>>2]|0)+8>>2]=c[ea>>2];if(c[qa>>2]|0){c[(c[qa>>2]|0)+12>>2]=0;dv(c[Qa>>2]|0,c[qa>>2]|0)}Ka=c[ab>>2]|0;La=c[ia>>2]|0;CD(Ka,La,Hz(c[ab>>2]|0)|0);Kz(c[ab>>2]|0,c[(c[Xa>>2]|0)+12>>2]|0)|0;Mz(c[ab>>2]|0,c[ga>>2]|0);if((d[(c[Na>>2]|0)+43>>0]|0)>1)Tf(c[Qa>>2]|0,c[ua>>2]|0);if(c[Ga>>2]|0)break;vD(c[Xa>>2]|0,c[Za>>2]|0);break}b[Q>>1]=b[h+24>>1]|0;c[W>>2]=0;c[V>>2]=0;c[w>>2]=0;a[M>>0]=0;a[K>>0]=0;a[L>>0]=0;c[T>>2]=c[(c[Ja>>2]|0)+24+4>>2];c[fa>>2]=c[(c[Xa>>2]|0)+8>>2];if(((e[(c[Na>>2]|0)+36>>1]&1|0)!=0?(a[(c[Na>>2]|0)+38>>0]|0)>0:0)?(e[(c[T>>2]|0)+50>>1]|0)>(e[Q>>1]|0):0){a[K>>0]=1;c[w>>2]=1}c[Sa>>2]=e[Q>>1];if(c[(c[Ja>>2]|0)+36>>2]&32){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[W>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1}if(c[(c[Ja>>2]|0)+36>>2]&16){Ka=c[Sa>>2]|0;c[Sa>>2]=Ka+1;c[V>>2]=c[(c[(c[Ja>>2]|0)+48>>2]|0)+(Ka<<2)>>2];c[w>>2]=1;if(e[(c[V>>2]|0)+20>>1]&256){Ha=(c[Ya>>2]|0)+76|0;Ka=(c[Ha>>2]|0)+1|0;c[Ha>>2]=Ka;c[(c[Xa>>2]|0)+36>>2]=Ka;Xw(c[ab>>2]|0,22,c[Ia>>2]^(d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==1,c[(c[Xa>>2]|0)+36>>2]|0)|0;Ka=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+40>>2]=Ka}if(((c[W>>2]|0)==0?(Ka=b[(c[(c[T>>2]|0)+4>>2]|0)+(e[Q>>1]<<1)>>1]|0,c[Sa>>2]=Ka,(Ka|0)>=0):0)?(d[(c[(c[(c[T>>2]|0)+12>>2]|0)+4>>2]|0)+(c[Sa>>2]<<4)+12>>0]|0)==0:0)a[K>>0]=1}if((e[Q>>1]|0)<(e[(c[T>>2]|0)+50>>1]|0)?(c[Ia>>2]|0)==((d[(c[(c[T>>2]|0)+28>>2]|0)+(e[Q>>1]|0)>>0]|0)==0|0):0)Ka=72;else Ka=70;if(((Ka|0)==70?(c[Ia>>2]|0)!=0:0)?(e[(c[T>>2]|0)+50>>1]|0)==(e[Q>>1]|0):0)Ka=72;if((Ka|0)==72){c[x>>2]=c[V>>2];c[V>>2]=c[W>>2];c[W>>2]=c[x>>2];a[y>>0]=a[K>>0]|0;a[K>>0]=a[L>>0]|0;a[L>>0]=a[y>>0]|0}c[Z>>2]=wD(c[Ya>>2]|0,c[Xa>>2]|0,c[Ia>>2]|0,c[w>>2]|0,aa)|0;if(c[aa>>2]|0)a[M>>0]=a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0;c[J>>2]=c[(c[Xa>>2]|0)+16>>2];if(c[W>>2]|0)h=(e[(c[W>>2]|0)+18>>1]&40|0)!=0;else h=1;c[_>>2]=h&1;if(c[V>>2]|0)h=(e[(c[V>>2]|0)+18>>1]&40|0)!=0;else h=1;c[N>>2]=h&1;if(c[W>>2]|0)h=1;else h=(e[Q>>1]|0)>0;c[$>>2]=h&1;c[P>>2]=e[Q>>1];if(!(c[W>>2]|0)){if(a[K>>0]|0){Xw(c[ab>>2]|0,25,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[P>>2]=(c[P>>2]|0)+1;c[_>>2]=0;c[$>>2]=1}}else{c[X>>2]=c[(c[c[W>>2]>>2]|0)+16>>2];DA(c[Ya>>2]|0,c[X>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);xD(c[ab>>2]|0,c[Xa>>2]|0,c[W>>2]|0);do if(!(e[(c[W>>2]|0)+20>>1]&0)){if(!(XA(c[X>>2]|0)|0))break;Xw(c[ab>>2]|0,76,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(c[aa>>2]|0){if(((YA(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65;if(!(yD(c[X>>2]|0,a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]|0)|0))break;a[(c[aa>>2]|0)+(e[Q>>1]|0)>>0]=65}while(0);c[P>>2]=(c[P>>2]|0)+1}zD(c[Ya>>2]|0,c[Z>>2]|0,(c[P>>2]|0)-(d[K>>0]|0)|0,c[aa>>2]|0);if(!((e[(c[Ja>>2]|0)+42>>1]|0)>0?(c[P>>2]|0)==(e[(c[Ja>>2]|0)+42>>1]|0):0)){c[S>>2]=d[34949+((c[$>>2]<<2)+(c[_>>2]<<1)+(c[Ia>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}c[P>>2]=e[Q>>1];do if(c[V>>2]|0){c[Y>>2]=c[(c[c[V>>2]>>2]|0)+16>>2];uA(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1);DA(c[Ya>>2]|0,c[Y>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0);xD(c[ab>>2]|0,c[Xa>>2]|0,c[V>>2]|0);do if(!(e[(c[V>>2]|0)+20>>1]&0)){if(!(XA(c[Y>>2]|0)|0))break;Xw(c[ab>>2]|0,76,(c[Z>>2]|0)+(e[Q>>1]|0)|0,c[J>>2]|0)|0}while(0);do if(((YA(c[Y>>2]|0,a[M>>0]|0)|0)<<24>>24|0)!=65){if(yD(c[Y>>2]|0,a[M>>0]|0)|0)break;zD(c[Ya>>2]|0,(c[Z>>2]|0)+(e[Q>>1]|0)|0,1,M)}while(0);c[P>>2]=(c[P>>2]|0)+1}else{if(!(a[L>>0]|0))break;Xw(c[ab>>2]|0,25,0,(c[Z>>2]|0)+(e[Q>>1]|0)|0)|0;c[N>>2]=0;c[P>>2]=(c[P>>2]|0)+1}while(0);Tf(c[Qa>>2]|0,c[aa>>2]|0);Ka=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+52>>2]=Ka;if(c[P>>2]|0){c[S>>2]=d[34957+((c[Ia>>2]<<1)+(c[N>>2]|0))>>0];Gh(c[ab>>2]|0,c[S>>2]|0,c[fa>>2]|0,c[J>>2]|0,c[Z>>2]|0,c[P>>2]|0)|0}vD(c[Xa>>2]|0,c[W>>2]|0);vD(c[Xa>>2]|0,c[V>>2]|0);do if(!(c[R>>2]|0)){if(!(d[(c[(c[T>>2]|0)+12>>2]|0)+42>>0]&32))if(d[(c[Na>>2]|0)+40>>0]|0){Ka=(c[Ya>>2]|0)+76|0;La=(c[Ka>>2]|0)+1|0;c[Ka>>2]=La;c[O>>2]=La;Xw(c[ab>>2]|0,113,c[fa>>2]|0,c[O>>2]|0)|0;mB(c[Ya>>2]|0,c[Ra>>2]|0,-1,c[O>>2]|0);$w(c[ab>>2]|0,70,c[Ra>>2]|0,0,c[O>>2]|0)|0;break}else{AD(c[Na>>2]|0,c[T>>2]|0,c[Ra>>2]|0,c[fa>>2]|0);break}if((c[Ra>>2]|0)==(c[fa>>2]|0))break;c[U>>2]=Hj(c[(c[T>>2]|0)+12>>2]|0)|0;c[O>>2]=qA(c[Ya>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0;c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;c[La>>2]=(AA(c[T>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[Sa>>2]<<1)>>1]|0)|0)<<16>>16;$w(c[ab>>2]|0,47,c[fa>>2]|0,c[La>>2]|0,(c[O>>2]|0)+(c[Sa>>2]|0)|0)|0;c[Sa>>2]=(c[Sa>>2]|0)+1}Gh(c[ab>>2]|0,68,c[Ra>>2]|0,c[Pa>>2]|0,c[O>>2]|0,e[(c[U>>2]|0)+50>>1]|0)|0}while(0);do if(!(c[(c[Ja>>2]|0)+36>>2]&4096)){h=(c[Xa>>2]|0)+45|0;if(c[Ia>>2]|0){a[h>>0]=6;break}else{a[h>>0]=7;break}}else a[(c[Xa>>2]|0)+45>>0]=-96;while(0);c[(c[Xa>>2]|0)+48>>2]=c[fa>>2];a[(c[Xa>>2]|0)+46>>0]=(c[(c[Ja>>2]|0)+36>>2]&65536|0)!=0?1:0;if(c[(c[Ja>>2]|0)+36>>2]&15)break;a[(c[Xa>>2]|0)+47>>0]=1}while(0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;c[$a>>2]=0;do if(!(e[(c[Za>>2]|0)+20>>1]&6)){Ka=(c[Za>>2]|0)+40|0;La=(c[Xa>>2]|0)+72|0;if((c[Ka>>2]&c[La>>2]|0)!=0?1:(c[Ka+4>>2]&c[La+4>>2]|0)!=0){a[(c[Na>>2]|0)+41>>0]=1;break}c[Ua>>2]=c[c[Za>>2]>>2];if((c[c[Xa>>2]>>2]|0)!=0?(c[(c[Ua>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[Za>>2]|0)+20>>1]&512)c[$a>>2]=Dz(c[ab>>2]|0,46,c[(c[Xa>>2]|0)+36>>2]|0)|0;RA(c[Ya>>2]|0,c[Ua>>2]|0,c[Pa>>2]|0,16);if(c[$a>>2]|0)Lz(c[ab>>2]|0,c[$a>>2]|0);La=(c[Za>>2]|0)+20|0;b[La>>1]=e[La>>1]|4}while(0);c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[Sa>>2]|0)<=0)break;if((((((((e[(c[Za>>2]|0)+20>>1]&6|0)==0?(e[(c[Za>>2]|0)+18>>1]&130|0)!=0:0)?(e[(c[Za>>2]|0)+18>>1]&2048|0)!=0:0)?(c[(c[Za>>2]|0)+8>>2]|0)==(c[Ra>>2]|0):0)?(c[c[Xa>>2]>>2]|0)==0:0)?(c[Va>>2]=c[c[Za>>2]>>2],$a=Oa,c[Ta>>2]=DD(c[_a>>2]|0,c[Ra>>2]|0,c[(c[Za>>2]|0)+12>>2]|0,c[$a>>2]|0,c[$a+4>>2]|0,131,0)|0,(c[Ta>>2]|0)!=0):0)?(e[(c[Ta>>2]|0)+20>>1]&4|0)==0:0)?(c[Wa>>2]=Ah(c[Qa>>2]|0,48,0)|0,(c[Wa>>2]|0)!=0):0){g=c[Wa>>2]|0;h=c[c[Ta>>2]>>2]|0;j=g+48|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(j|0));c[(c[Wa>>2]|0)+12>>2]=c[(c[Va>>2]|0)+12>>2];RA(c[Ya>>2]|0,c[Wa>>2]|0,c[Pa>>2]|0,16);Tf(c[Qa>>2]|0,c[Wa>>2]|0)}c[Sa>>2]=(c[Sa>>2]|0)+-1;c[Za>>2]=(c[Za>>2]|0)+48}b:do if(c[c[Xa>>2]>>2]|0){$a=Hz(c[ab>>2]|0)|0;c[(c[Xa>>2]|0)+28>>2]=$a;Xw(c[ab>>2]|0,22,1,c[c[Xa>>2]>>2]|0)|0;kC(c[Ya>>2]|0);c[Za>>2]=c[(c[_a>>2]|0)+20>>2];c[Sa>>2]=0;while(1){if((c[Sa>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[Za>>2]|0)+20>>1]&6|0)==0?($a=(c[Za>>2]|0)+40|0,ab=(c[Xa>>2]|0)+72|0,!((c[$a>>2]&c[ab>>2]|0)!=0?1:(c[$a+4>>2]&c[ab+4>>2]|0)!=0)):0){RA(c[Ya>>2]|0,c[c[Za>>2]>>2]|0,c[Pa>>2]|0,16);ab=(c[Za>>2]|0)+20|0;b[ab>>1]=e[ab>>1]|4}c[Sa>>2]=(c[Sa>>2]|0)+1;c[Za>>2]=(c[Za>>2]|0)+48}}while(0);_a=(c[Xa>>2]|0)+72|0;ab=c[_a+4>>2]|0;$a=Ma;c[$a>>2]=c[_a>>2];c[$a+4>>2]=ab;$a=Ma;ab=$a;ab=c[ab>>2]|0;$a=$a+4|0;$a=c[$a>>2]|0;C=$a;i=bb;return ab|0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){b=6;break}a=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){b=4;break}c[f>>2]=a+1}if((b|0)==4){e=uR(1,0,a|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=C;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}else if((b|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;C=f;i=h;return g|0}return 0}function uD(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+64|0;k=x+48|0;q=x+44|0;r=x+40|0;l=x+36|0;s=x+32|0;m=x+28|0;o=x+24|0;w=x+20|0;u=x+16|0;t=x+12|0;p=x+8|0;v=x+4|0;n=x;c[k>>2]=b;c[q>>2]=e;c[r>>2]=f;c[l>>2]=g;c[s>>2]=h;c[m>>2]=j;c[o>>2]=c[c[q>>2]>>2];c[w>>2]=c[(c[k>>2]|0)+8>>2];if((d[c[o>>2]>>0]|0|0)!=79?(d[c[o>>2]>>0]|0|0)!=73:0){if((d[c[o>>2]>>0]|0|0)==76){c[u>>2]=c[m>>2];Xw(c[w>>2]|0,25,0,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}c[n>>2]=c[(c[r>>2]|0)+64>>2];if(((c[(c[n>>2]|0)+36>>2]&1024|0)==0?(c[(c[n>>2]|0)+24+4>>2]|0)!=0:0)?(d[(c[(c[(c[n>>2]|0)+24+4>>2]|0)+28>>2]|0)+(c[l>>2]|0)>>0]|0|0)!=0:0)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[u>>2]=c[m>>2];c[t>>2]=VA(c[k>>2]|0,c[o>>2]|0,4,0)|0;if((c[t>>2]|0)==4)c[s>>2]=((c[s>>2]|0)!=0^1)&1;c[p>>2]=c[(c[o>>2]|0)+28>>2];Xw(c[w>>2]|0,(c[s>>2]|0)!=0?105:108,c[p>>2]|0,0)|0;o=(c[n>>2]|0)+36|0;c[o>>2]=c[o>>2]|2048;if(!(c[(c[r>>2]|0)+56>>2]|0)){o=Iz(c[w>>2]|0)|0;c[(c[r>>2]|0)+16>>2]=o}o=(c[r>>2]|0)+56|0;c[o>>2]=(c[o>>2]|0)+1;k=Bx(c[c[k>>2]>>2]|0,c[(c[r>>2]|0)+56+4>>2]|0,(c[(c[r>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[r>>2]|0)+56+4>>2]=k;c[v>>2]=c[(c[r>>2]|0)+56+4>>2];k=(c[r>>2]|0)+56|0;if(!(c[v>>2]|0)){c[k>>2]=0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}c[v>>2]=(c[v>>2]|0)+(((c[k>>2]|0)-1|0)*12|0);c[c[v>>2]>>2]=c[p>>2];m=c[w>>2]|0;k=c[p>>2]|0;l=c[u>>2]|0;if((c[t>>2]|0)==1){t=Xw(m,103,k,l)|0;c[(c[v>>2]|0)+4>>2]=t}else{t=$w(m,47,k,0,l)|0;c[(c[v>>2]|0)+4>>2]=t}a[(c[v>>2]|0)+8>>0]=(c[s>>2]|0)!=0?4:5;Dz(c[w>>2]|0,76,c[u>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}c[u>>2]=EA(c[k>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[m>>2]|0)|0;v=c[r>>2]|0;w=c[q>>2]|0;vD(v,w);w=c[u>>2]|0;i=x;return w|0}function vD(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=l+8|0;j=l+4|0;k=l;c[h>>2]=f;c[j>>2]=g;c[k>>2]=0;while(1){if(!(c[j>>2]|0)){h=14;break}if((e[(c[j>>2]|0)+20>>1]|0)&4){h=14;break}if((c[c[h>>2]>>2]|0)!=0?(c[(c[c[j>>2]>>2]|0)+4>>2]&1|0)==0:0){h=14;break}f=(c[h>>2]|0)+72|0;g=(c[j>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){h=14;break}if((c[k>>2]|0)!=0?((e[(c[j>>2]|0)+20>>1]|0)&1024|0)!=0:0){g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|512}else{g=(c[j>>2]|0)+20|0;b[g>>1]=e[g>>1]|0|4}if((c[(c[j>>2]|0)+4>>2]|0)<0){h=14;break}c[j>>2]=(c[(c[(c[j>>2]|0)+24>>2]|0)+20>>2]|0)+((c[(c[j>>2]|0)+4>>2]|0)*48|0);g=(c[j>>2]|0)+22|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[j>>2]|0)+22>>0]|0){h=14;break}c[k>>2]=(c[k>>2]|0)+1}if((h|0)==14){i=l;return}}function wD(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=i;i=i+80|0;k=A+60|0;l=A+56|0;m=A+52|0;C=A+48|0;n=A+44|0;q=A+66|0;s=A+64|0;y=A+40|0;B=A+36|0;v=A+32|0;t=A+28|0;p=A+24|0;x=A+20|0;r=A+16|0;z=A+12|0;o=A+8|0;w=A+4|0;u=A;c[k>>2]=d;c[l>>2]=f;c[m>>2]=g;c[C>>2]=h;c[n>>2]=j;c[y>>2]=c[(c[k>>2]|0)+8>>2];c[t>>2]=c[(c[l>>2]|0)+64>>2];b[q>>1]=b[(c[t>>2]|0)+24>>1]|0;b[s>>1]=b[(c[t>>2]|0)+42>>1]|0;c[B>>2]=c[(c[t>>2]|0)+24+4>>2];c[x>>2]=(c[(c[k>>2]|0)+76>>2]|0)+1;c[r>>2]=(e[(c[t>>2]|0)+24>>1]|0)+(c[C>>2]|0);j=(c[k>>2]|0)+76|0;c[j>>2]=(c[j>>2]|0)+(c[r>>2]|0);j=c[c[k>>2]>>2]|0;c[z>>2]=ph(j,iC(c[c[k>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[s>>1]|0){c[o>>2]=c[(c[l>>2]|0)+8>>2];Dz(c[y>>2]|0,(c[m>>2]|0)!=0?105:108,c[o>>2]|0)|0;c[p>>2]=cx(c[y>>2]|0,13)|0;C=Gh(c[y>>2]|0,(c[m>>2]|0)!=0?63:66,c[o>>2]|0,0,c[x>>2]|0,e[s>>1]|0)|0;c[(c[l>>2]|0)+20>>2]=C;Lz(c[y>>2]|0,c[p>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[s>>1]|0))break a;$w(c[y>>2]|0,47,c[o>>2]|0,c[p>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[p>>2]=e[s>>1];while(1){if((c[p>>2]|0)>=(e[q>>1]|0))break;c[v>>2]=c[(c[(c[t>>2]|0)+48>>2]|0)+(c[p>>2]<<2)>>2];c[w>>2]=uD(c[k>>2]|0,c[v>>2]|0,c[l>>2]|0,c[p>>2]|0,c[m>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;do if((c[w>>2]|0)!=((c[x>>2]|0)+(c[p>>2]|0)|0))if((c[r>>2]|0)==1){eA(c[k>>2]|0,c[x>>2]|0);c[x>>2]=c[w>>2];break}else{Xw(c[y>>2]|0,31,c[w>>2]|0,(c[x>>2]|0)+(c[p>>2]|0)|0)|0;break}while(0);if(!(e[(c[v>>2]|0)+18>>1]&257)){c[u>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];if((e[(c[v>>2]|0)+20>>1]&2048|0)==0?(XA(c[u>>2]|0)|0)!=0:0)Xw(c[y>>2]|0,76,(c[x>>2]|0)+(c[p>>2]|0)|0,c[(c[l>>2]|0)+12>>2]|0)|0;if(c[z>>2]|0){if(((YA(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65;if(yD(c[u>>2]|0,a[(c[z>>2]|0)+(c[p>>2]|0)>>0]|0)|0)a[(c[z>>2]|0)+(c[p>>2]|0)>>0]=65}}c[p>>2]=(c[p>>2]|0)+1}c[c[n>>2]>>2]=c[z>>2];i=A;return c[x>>2]|0}function xD(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;g=k+12|0;h=k+8|0;l=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[l>>2]=f;if(!((e[(c[l>>2]|0)+20>>1]|0)&256)){i=k;return}c[j>>2]=Sz(c[g>>2]|0,-1)|0;c[(c[j>>2]|0)+12>>2]=c[(c[h>>2]|0)+36>>2];a[(c[j>>2]|0)+3>>0]=1;i=k;return}function yD(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=l+4|0;g=l;h=l+9|0;j=l+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[k>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)e=1;else e=(d[c[g>>2]>>0]|0)==155;f=c[g>>2]|0;if(!e)break;c[g>>2]=c[f+12>>2]}a[j>>0]=a[f>>0]|0;if((d[j>>0]|0)==157)a[j>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[j>>0]|0){case 132:{if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 133:{if((a[h>>0]|0)==69)f=1;else f=(a[h>>0]|0)==67;c[k>>2]=f&1;break a}case 97:{c[k>>2]=(a[h>>0]|0)==66&1;break a}case 134:{c[k>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)f=1;else f=(a[h>>0]|0)==67;else f=0;c[k>>2]=f&1;break a}default:{c[k>>2]=0;break a}}}while(0);i=l;return c[k>>2]|0}function zD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[l>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[k>>2]|0)){i=m;return}while(1){if((c[j>>2]|0)<=0)break;if((a[c[k>>2]>>0]|0)!=65)break;c[j>>2]=(c[j>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}while(1){if((c[j>>2]|0)>1)e=(a[(c[k>>2]|0)+((c[j>>2]|0)-1)>>0]|0)==65;else e=0;d=c[j>>2]|0;if(!e)break;c[j>>2]=d+-1}if((d|0)<=0){i=m;return}_w(c[l>>2]|0,48,c[h>>2]|0,c[j>>2]|0,0,c[k>>2]|0,c[j>>2]|0)|0;IA(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);i=m;return}function AD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=i;i=i+48|0;p=o+32|0;h=o+28|0;q=o+24|0;r=o+20|0;l=o+16|0;n=o+12|0;k=o+8|0;m=o+4|0;j=o;c[p>>2]=a;c[h>>2]=d;c[q>>2]=f;c[r>>2]=g;c[l>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[l>>2]|0)+8>>2];$w(c[n>>2]|0,112,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+36>>1]&32)){i=o;return}f=c[l>>2]|0;if(c[(c[l>>2]|0)+416>>2]|0)f=c[f+416>>2]|0;if(c[f+336>>2]|0){i=o;return}c[m>>2]=c[(c[h>>2]|0)+12>>2];c[j>>2]=rh(c[c[l>>2]>>2]|0,(b[(c[m>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){i=o;return}c[c[j>>2]>>2]=b[(c[m>>2]|0)+34>>1];c[k>>2]=0;while(1){if((c[k>>2]|0)>=((e[(c[h>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1]|0)+1<<2)>>2]=(c[k>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+1}Kh(c[n>>2]|0,-1,c[j>>2]|0,-15);i=o;return}function BD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;g=k+20|0;n=k+16|0;m=k+12|0;l=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[h>>2]=f;c[j>>2]=FA(c[g>>2]|0,c[n>>2]|0,c[m>>2]|0,c[l>>2]|0,c[h>>2]|0,0)|0;if((c[j>>2]|0)==(c[h>>2]|0)){i=k;return}Xw(c[(c[g>>2]|0)+8>>2]|0,31,c[j>>2]|0,c[h>>2]|0)|0;i=k;return}function CD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Sz(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;i=e;return}function DD(a,b,d,f,g,h,j){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=i;i=i+144|0;n=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;k=q;l=q+116|0;r=q+112|0;p=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;a=k;c[a>>2]=f;c[a+4>>2]=g;c[l>>2]=h;c[r>>2]=j;c[p>>2]=0;c[o>>2]=ED(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[l>>2]|0,c[r>>2]|0)|0;c[l>>2]=c[l>>2]&130;while(1){if(!(c[o>>2]|0)){f=10;break}t=(c[o>>2]|0)+32|0;u=k;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?((e[(c[o>>2]|0)+18>>1]|0)&c[l>>2]|0)!=0:0){f=6;break}if(!(c[p>>2]|0))c[p>>2]=c[o>>2]}c[o>>2]=FD(m)|0}if((f|0)==6){c[n>>2]=c[o>>2];u=c[n>>2]|0;i=q;return u|0}else if((f|0)==10){c[n>>2]=c[p>>2];u=c[n>>2]|0;i=q;return u|0}return 0}function ED(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=i;i=i+32|0;k=q+24|0;r=q+20|0;l=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;p=q;c[k>>2]=d;c[r>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=j;c[p>>2]=0;c[c[k>>2]>>2]=c[r>>2];c[(c[k>>2]|0)+4>>2]=c[r>>2];c[(c[k>>2]|0)+12>>2]=0;if(c[o>>2]|0){c[p>>2]=c[m>>2];c[m>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1];if((c[m>>2]|0)==-2)c[(c[k>>2]|0)+12>>2]=c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2];if((c[m>>2]|0)==(b[(c[(c[o>>2]|0)+12>>2]|0)+32>>1]|0))c[m>>2]=-1}if((c[o>>2]|0)!=0&(c[m>>2]|0)>=0){a[(c[k>>2]|0)+16>>0]=a[(c[(c[(c[o>>2]|0)+12>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+13>>0]|0;c[(c[k>>2]|0)+8>>2]=c[(c[(c[o>>2]|0)+32>>2]|0)+(c[p>>2]<<2)>>2]}else{a[(c[k>>2]|0)+16>>0]=0;c[(c[k>>2]|0)+8>>2]=0}c[(c[k>>2]|0)+20>>2]=c[n>>2];c[(c[k>>2]|0)+24>>2]=0;c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+72>>1]=c[m>>2];a[(c[k>>2]|0)+17>>0]=1;a[(c[k>>2]|0)+18>>0]=1;r=FD(c[k>>2]|0)|0;i=q;return r|0}function FD(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;o=s+36|0;p=s+32|0;h=s+28|0;g=s+40|0;n=s+24|0;m=s+20|0;r=s+16|0;q=s+12|0;j=s+8|0;k=s+4|0;l=s;c[p>>2]=f;c[q>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){g=40;break}c[h>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[g>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[g>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){g=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[r>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[q>>2]|0)*48|0);while(1){if((c[q>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[r>>2]|0)+8>>2]|0)==(c[h>>2]|0)?(c[(c[r>>2]|0)+12>>2]|0)==(b[g>>1]|0):0){if((b[g>>1]|0)==-2?(vy(c[(c[c[r>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[h>>2]|0)|0)!=0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?(c[(c[c[r>>2]>>2]|0)+4>>2]&1|0)!=0:0)break;if(((e[(c[r>>2]|0)+18>>1]&2048|0)!=0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=Zx(c[(c[c[r>>2]>>2]|0)+16>>2]|0)|0,c[n>>2]=f,(d[f>>0]|0)==152):0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]|0)==(c[(c[n>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]|0)==(b[(c[n>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[j>>2]<<2)>>2]=c[(c[n>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[j>>2]<<1)>>1]=b[(c[n>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[r>>2]|0)+18>>1]&c[(c[p>>2]|0)+20>>2]){if((c[(c[p>>2]|0)+8>>2]|0)!=0?(e[(c[r>>2]|0)+18>>1]&256|0)==0:0){c[l>>2]=c[c[c[m>>2]>>2]>>2];c[n>>2]=c[c[r>>2]>>2];if(!(aB(c[n>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[k>>2]=$A(c[l>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[(c[c[l>>2]>>2]|0)+8>>2];if(ig(c[c[k>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[r>>2]|0)+18>>1]&130)){g=36;break a}f=c[(c[c[r>>2]>>2]|0)+16>>2]|0;c[n>>2]=f;if((d[f>>0]|0)!=152){g=36;break a}if((c[(c[n>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){g=36;break a}if((b[(c[n>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){g=36;break a}}}while(0);c[q>>2]=(c[q>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[q>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[q>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((g|0)==5){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}else if((g|0)==36){c[(c[p>>2]|0)+24>>2]=(c[q>>2]|0)+1;c[o>>2]=c[r>>2];r=c[o>>2]|0;i=s;return r|0}else if((g|0)==40){c[o>>2]=0;r=c[o>>2]|0;i=s;return r|0}return 0}function GD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;gA(a,b,Jf(c[e>>2]|0)|0);i=d;return}function HD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+48|0;n=r;f=r+32|0;g=r+28|0;m=r+24|0;k=r+38|0;l=r+36|0;h=r+20|0;j=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[(c[g>>2]|0)+24+4>>2];b[k>>1]=b[(c[g>>2]|0)+24>>1]|0;b[l>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[k>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){i=r;return}gA(c[f>>2]|0,35197,2);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[k>>1]|0|0))break;c[o>>2]=ID(c[m>>2]|0,c[h>>2]|0)|0;if(c[h>>2]|0)gA(c[f>>2]|0,35200,5);d=c[f>>2]|0;a=(c[h>>2]|0)>=(e[l>>1]|0|0)?35206:35211;c[n>>2]=c[o>>2];fA(d,a,n);c[h>>2]=(c[h>>2]|0)+1}c[j>>2]=c[h>>2];if(c[(c[g>>2]|0)+36>>2]&32){c[p>>2]=ID(c[m>>2]|0,c[h>>2]|0)|0;n=c[f>>2]|0;o=c[h>>2]|0;c[h>>2]=o+1;JD(n,o,c[p>>2]|0,35128)}if(c[(c[g>>2]|0)+36>>2]&16){c[q>>2]=ID(c[m>>2]|0,c[j>>2]|0)|0;JD(c[f>>2]|0,c[h>>2]|0,c[q>>2]|0,35130)}gA(c[f>>2]|0,35219,1);i=r;return}function ID(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=35221;a=c[e>>2]|0;i=h;return a|0}if((c[g>>2]|0)==-1){c[e>>2]=25353;a=c[e>>2]|0;i=h;return a|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];a=c[e>>2]|0;i=h;return a|0}return 0}function JD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;k=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[k>>2]|0)gA(c[f>>2]|0,35200,5);GD(c[f>>2]|0,c[g>>2]|0);gA(c[f>>2]|0,c[h>>2]|0,1);gA(c[f>>2]|0,20883,1);i=j;return}function KD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=fB(c[f>>2]|0,3,c[e>>2]|0)|0;i=d;return a|0}function LD(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n;m=n+20|0;c[j>>2]=b;c[k>>2]=d;b=l;c[b>>2]=f;c[b+4>>2]=g;if((c[(c[j>>2]|0)+8>>2]|0)!=(c[(c[k>>2]|0)+44>>2]|0)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if(!((e[(c[j>>2]|0)+18>>1]|0)&130)){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}d=(c[j>>2]|0)+32|0;b=l;if((c[d>>2]&c[b>>2]|0)!=0?1:(c[d+4>>2]&c[b+4>>2]|0)!=0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}if((c[(c[j>>2]|0)+12>>2]|0)<0){c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}a[m>>0]=a[(c[(c[(c[k>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[j>>2]|0)+12>>2]<<4)+13>>0]|0;if(aB(c[c[j>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;b=c[h>>2]|0;i=n;return b|0}else{c[h>>2]=0;b=c[h>>2]|0;i=n;return b|0}return 0}function MD(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=a;c[j>>2]=d;c[k>>2]=f;if((e[(c[j>>2]|0)+44>>1]|0|0)>=(c[k>>2]|0)){c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}c[k>>2]=(c[k>>2]|0)+7&-8;c[l>>2]=Lw(c[h>>2]|0,c[k>>2]<<2,0)|0;if(!(c[l>>2]|0)){c[g>>2]=7;l=c[g>>2]|0;i=m;return l|0}rR(c[l>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[j>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[j>>2]|0)+48>>2]|0)!=((c[j>>2]|0)+56|0))Tf(c[h>>2]|0,c[(c[j>>2]|0)+48>>2]|0);c[(c[j>>2]|0)+48>>2]=c[l>>2];b[(c[j>>2]|0)+44>>1]=c[k>>2];c[g>>2]=0;l=c[g>>2]|0;i=m;return l|0}function ND(a,d,e,f){a=a|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;m=i;i=i+32|0;n=m+20|0;g=m+24|0;o=m+16|0;h=m+12|0;k=m+8|0;j=m+4|0;l=m;c[n>>2]=a;b[g>>1]=d;c[o>>2]=e;c[h>>2]=f;c[j>>2]=56+((b[g>>1]<<2)+7&-8)+(((b[g>>1]|0)+1<<1)+(b[g>>1]<<1)+(b[g>>1]|0)+7&-8);f=(c[j>>2]|0)+(c[o>>2]|0)|0;c[k>>2]=rh(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){o=c[k>>2]|0;i=m;return o|0}c[l>>2]=(c[k>>2]|0)+56;c[(c[k>>2]|0)+32>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]<<2)+7&-8);c[(c[k>>2]|0)+8>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+((b[g>>1]|0)+1<<1);c[(c[k>>2]|0)+4>>2]=c[l>>2];c[l>>2]=(c[l>>2]|0)+(b[g>>1]<<1);c[(c[k>>2]|0)+28>>2]=c[l>>2];b[(c[k>>2]|0)+52>>1]=b[g>>1]|0;b[(c[k>>2]|0)+50>>1]=(b[g>>1]|0)-1;c[c[h>>2]>>2]=(c[k>>2]|0)+(c[j>>2]|0);o=c[k>>2]|0;i=m;return o|0}function OD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;f=j+8|0;e=j+20|0;g=j+16|0;h=j;c[e>>2]=a;c[g>>2]=b;a=h;c[a>>2]=0;c[a+4>>2]=0;if(!(c[g>>2]|0)){g=f;c[g>>2]=0;c[g+4>>2]=0;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}b=c[e>>2]|0;a=c[g>>2]|0;if((d[c[g>>2]>>0]|0|0)==152){g=tD(b,c[a+28>>2]|0)|0;e=h;c[e>>2]=g;c[e+4>>2]=C;e=h;h=c[e+4>>2]|0;g=f;c[g>>2]=c[e>>2];c[g+4>>2]=h;g=f;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;C=g;i=j;return h|0}l=OD(b,c[a+16>>2]|0)|0;k=h;c[k>>2]=l;c[k+4>>2]=C;k=OD(c[e>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;l=h;a=c[l+4>>2]|C;b=h;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=c[e>>2]|0;a=(c[g>>2]|0)+20|0;if(c[(c[g>>2]|0)+4>>2]&2048){g=PD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}else{g=pD(b,c[a>>2]|0)|0;e=h;k=c[e+4>>2]|C;l=h;c[l>>2]=c[e>>2]|g;c[l+4>>2]=k}l=c[h+4>>2]|0;k=f;c[k>>2]=c[h>>2];c[k+4>>2]=l;k=f;l=k;l=c[l>>2]|0;k=k+4|0;k=c[k>>2]|0;C=k;i=j;return l|0}function PD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;j=i;i=i+32|0;d=j+20|0;e=j+16|0;g=j;h=j+12|0;f=j+8|0;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[h>>2]=c[(c[e>>2]|0)+28>>2];k=pD(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=pD(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;l=pD(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;k=g;b=c[k+4>>2]|C;a=g;c[a>>2]=c[k>>2]|l;c[a+4>>2]=b;a=OD(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=g;l=c[b+4>>2]|C;k=g;c[k>>2]=c[b>>2]|a;c[k+4>>2]=l;k=OD(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;a:do if(c[h>>2]|0){c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[h>>2]>>2]|0))break a;k=PD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+20>>2]|0)|0;l=g;a=c[l+4>>2]|C;b=g;c[b>>2]=c[l>>2]|k;c[b+4>>2]=a;b=OD(c[d>>2]|0,c[(c[h>>2]|0)+8+((c[f>>2]|0)*72|0)+48>>2]|0)|0;a=g;k=c[a+4>>2]|C;l=g;c[l>>2]=c[a>>2]|b;c[l+4>>2]=k;c[f>>2]=(c[f>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}l=g;C=c[l+4>>2]|0;i=j;return c[l>>2]|0}function QD(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35283+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;i=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;i=h;return g|0}else{b[e>>1]=c+(d[35283+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;i=h;return g|0}}return 0}function RD(f,g,h,j,k,l,m){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=i;i=i+144|0;W=$+141|0;n=$+120|0;o=$+116|0;p=$+112|0;q=$+132|0;r=$+130|0;s=$+108|0;t=$+104|0;T=$+140|0;R=$+139|0;S=$+138|0;B=$+137|0;w=$+136|0;A=$+135|0;G=$+128|0;F=$+126|0;H=$+124|0;z=$+100|0;X=$+96|0;D=$+92|0;y=$+88|0;x=$+84|0;N=$+80|0;P=$+76|0;O=$+72|0;L=$+68|0;M=$+64|0;v=$+60|0;Z=$+40|0;I=$+32|0;J=$+24|0;Q=$+16|0;U=$+56|0;V=$+52|0;u=$+134|0;K=$+48|0;E=$+8|0;Y=$;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;b[q>>1]=j;b[r>>1]=k;c[s>>2]=l;c[t>>2]=m;c[N>>2]=0;c[v>>2]=c[c[c[n>>2]>>2]>>2];j=Z;c[j>>2]=0;c[j+4>>2]=0;if((e[r>>1]|0)!=0?(e[(c[v>>2]|0)+64>>1]&128|0)!=0:0){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}b[H>>1]=c[c[o>>2]>>2];if((e[H>>1]|0)>63){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}a[B>>0]=1;f=uR(1,0,e[H>>1]|0)|0;f=oR(f|0,C|0,1,0)|0;j=I;c[j>>2]=f;c[j+4>>2]=C;j=J;c[j>>2]=0;c[j+4>>2]=0;j=Q;c[j>>2]=0;c[j+4>>2]=0;c[z>>2]=0;while(1){if(!(d[B>>0]|0))break;f=Z;h=c[f+4>>2]|0;j=I;m=c[j+4>>2]|0;if(!(h>>>0>>0|((h|0)==(m|0)?(c[f>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)))break;if((c[z>>2]|0)>(e[r>>1]|0))break;if((c[z>>2]|0)>0){m=(c[N>>2]|0)+8|0;h=Q;f=c[h+4>>2]|c[m+4>>2];j=Q;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f}if((c[z>>2]|0)<(e[r>>1]|0))k=c[(c[(c[p>>2]|0)+24>>2]|0)+(c[z>>2]<<2)>>2]|0;else k=c[s>>2]|0;c[N>>2]=k;k=c[N>>2]|0;if(c[(c[N>>2]|0)+36>>2]&1024){_=16;break}c[y>>2]=c[(c[(c[n>>2]|0)+4>>2]|0)+8+((d[k+16>>0]|0)*72|0)+44>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break;f=uR(1,0,c[X>>2]|0)|0;j=Z;do if(((!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)?(c[O>>2]=Zx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0,(d[c[O>>2]>>0]|0)==152):0)?(c[(c[O>>2]|0)+28>>2]|0)==(c[y>>2]|0):0)?(j=Q,c[P>>2]=DD((c[n>>2]|0)+328|0,c[y>>2]|0,b[(c[O>>2]|0)+32>>1]|0,~c[j>>2],~c[j+4>>2],386,0)|0,(c[P>>2]|0)!=0):0){if((e[(c[P>>2]|0)+18>>1]&130|0)!=0?(b[(c[O>>2]|0)+32>>1]|0)>=0:0){c[L>>2]=Ux(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[U>>2]=c[c[L>>2]>>2];c[L>>2]=Ux(c[c[n>>2]>>2]|0,c[c[P>>2]>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];c[V>>2]=c[c[L>>2]>>2];if(ig(c[U>>2]|0,c[V>>2]|0)|0)break}m=uR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}while(0);c[X>>2]=(c[X>>2]|0)+1}if(!(c[(c[N>>2]|0)+36>>2]&4096)){if(c[(c[N>>2]|0)+36>>2]&256){c[M>>2]=0;b[G>>1]=0;b[F>>1]=1}else{j=c[(c[N>>2]|0)+24+4>>2]|0;c[M>>2]=j;if(!j){_=38;break}if((d[(c[M>>2]|0)+55>>0]|0)>>>2&1){_=38;break}b[G>>1]=b[(c[M>>2]|0)+50>>1]|0;b[F>>1]=b[(c[M>>2]|0)+52>>1]|0;a[B>>0]=(d[(c[M>>2]|0)+54>>0]|0)!=0}a[T>>0]=0;a[R>>0]=0;a[w>>0]=0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[F>>1]|0))break;if(((c[D>>2]|0)<(e[(c[N>>2]|0)+24>>1]|0)?(e[(c[N>>2]|0)+42>>1]|0)==0:0)?(j=e[(c[(c[(c[N>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0)+18>>1]|0,c[X>>2]=j,(j&386|0)!=0):0){if(c[X>>2]&256)a[B>>0]=0}else{if(c[M>>2]|0){c[x>>2]=b[(c[(c[M>>2]|0)+4>>2]|0)+(c[D>>2]<<1)>>1];a[S>>0]=a[(c[(c[M>>2]|0)+28>>2]|0)+(c[D>>2]|0)>>0]|0;if((c[x>>2]|0)==(b[(c[(c[M>>2]|0)+12>>2]|0)+32>>1]|0))c[x>>2]=-1}else{c[x>>2]=-1;a[S>>0]=0}do if((d[B>>0]|0)!=0&(c[x>>2]|0)>=0?(c[D>>2]|0)>=(e[(c[N>>2]|0)+24>>1]|0):0){if(d[(c[(c[(c[M>>2]|0)+12>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+12>>0]|0)break;a[B>>0]=0}while(0);a[u>>0]=1;a[A>>0]=0;c[X>>2]=0;a:while(1){if(!(d[u>>0]|0))break;if((c[X>>2]|0)>=(e[H>>1]|0))break;f=uR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[O>>2]=Zx(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(e[q>>1]&768))a[u>>0]=0;k=c[O>>2]|0;if((c[x>>2]|0)>=-1){if((d[k>>0]|0)!=152)break;if((c[(c[O>>2]|0)+28>>2]|0)!=(c[y>>2]|0))break;if((b[(c[O>>2]|0)+32>>1]|0)!=(c[x>>2]|0))break}else if(vy(k,c[(c[(c[(c[M>>2]|0)+40>>2]|0)+4>>2]|0)+((c[D>>2]|0)*20|0)>>2]|0,c[y>>2]|0)|0)break;if((c[x>>2]|0)<0){_=70;break a}c[L>>2]=Ux(c[c[n>>2]>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0;if(!(c[L>>2]|0))c[L>>2]=c[(c[v>>2]|0)+8>>2];if(!(ig(c[c[L>>2]>>2]|0,c[(c[(c[M>>2]|0)+32>>2]|0)+(c[D>>2]<<2)>>2]|0)|0)){_=70;break a}}while(0);c[X>>2]=(c[X>>2]|0)+1}if((_|0)==70){_=0;a[A>>0]=1}do if(d[A>>0]|0){if(e[q>>1]&256)break;if(a[T>>0]|0){if((d[R>>0]^d[S>>0]|0)==(d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0]|0))break;a[A>>0]=0;break}a[R>>0]=d[S>>0]^d[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+12>>0];if(a[R>>0]|0){m=uR(1,0,c[z>>2]|0)|0;j=c[t>>2]|0;h=j;f=c[h+4>>2]|C;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}a[T>>0]=1}while(0);if(!(a[A>>0]|0)){_=84;break}if((c[x>>2]|0)<0)a[w>>0]=1;m=uR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}c[D>>2]=(c[D>>2]|0)+1}do if((_|0)==84){_=0;if((c[D>>2]|0)!=0?(c[D>>2]|0)>=(e[G>>1]|0):0)break;a[B>>0]=0}while(0);if(a[w>>0]|0)a[B>>0]=1}b:do if(a[B>>0]|0){m=(c[N>>2]|0)+8|0;h=J;f=c[h+4>>2]|c[m+4>>2];j=J;c[j>>2]=c[h>>2]|c[m>>2];c[j+4>>2]=f;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[H>>1]|0))break b;f=uR(1,0,c[X>>2]|0)|0;j=Z;do if(!((f&c[j>>2]|0)!=0?1:(C&c[j+4>>2]|0)!=0)){c[K>>2]=c[(c[(c[o>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2];f=OD((c[n>>2]|0)+68|0,c[K>>2]|0)|0;j=E;c[j>>2]=f;c[j+4>>2]=C;j=E;if((c[j>>2]|0)==0&(c[j+4>>2]|0)==0?(LA(c[K>>2]|0)|0)==0:0)break;f=E;j=J;if((c[f>>2]&~c[j>>2]|0)==0?(c[f+4>>2]&~c[j+4>>2]|0)==0:0){m=uR(1,0,c[X>>2]|0)|0;h=Z;f=c[h+4>>2]|C;j=Z;c[j>>2]=c[h>>2]|m;c[j+4>>2]=f}}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((_|0)==16){if(a[k+24+5>>0]|0){U=I;V=c[U+4>>2]|0;_=Z;c[_>>2]=c[U>>2];c[_+4>>2]=V}}else if((_|0)==38){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}V=Z;_=I;if((c[V>>2]|0)==(c[_>>2]|0)?(c[V+4>>2]|0)==(c[_+4>>2]|0):0){a[W>>0]=b[H>>1];_=a[W>>0]|0;i=$;return _|0}if(a[B>>0]|0){a[W>>0]=-1;_=a[W>>0]|0;i=$;return _|0}c[X>>2]=(e[H>>1]|0)-1;while(1){if((c[X>>2]|0)<=0){_=108;break}V=uR(1,0,c[X>>2]|0)|0;V=oR(V|0,C|0,1,0)|0;U=Y;c[U>>2]=V;c[U+4>>2]=C;U=Z;V=Y;_=Y;k=c[X>>2]|0;if((c[U>>2]&c[V>>2]|0)==(c[_>>2]|0)?(c[U+4>>2]&c[V+4>>2]|0)==(c[_+4>>2]|0):0){_=106;break}c[X>>2]=k+-1}if((_|0)==106){a[W>>0]=k;_=a[W>>0]|0;i=$;return _|0}else if((_|0)==108){a[W>>0]=0;_=a[W>>0]|0;i=$;return _|0}return 0}function SD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;h=l+8|0;j=l+16|0;n=l+4|0;o=l;m=l+14|0;k=l+12|0;c[h>>2]=a;b[j>>1]=d;c[n>>2]=f;c[o>>2]=g;a=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-66;b[k>>1]=(b[j>>1]|0)+(b[m>>1]|0)+16;if((e[(c[h>>2]|0)+36>>1]&16384|0)!=0?(b[(c[h>>2]|0)+34>>1]|0)<(b[j>>1]|0):0)b[j>>1]=b[(c[h>>2]|0)+34>>1]|0;o=(TD(b[j>>1]|0)|0)<<16>>16;b[k>>1]=(b[k>>1]|0)+o;i=l;return b[k>>1]|0}function TD(a){a=a|0;var c=0,d=0;d=i;i=i+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){a=0;a=a&65535;i=d;return a|0}a=b[c>>1]|0;a=((Kj(a,((a|0)<0)<<31>>31)|0)<<16>>16)-33|0;a=a&65535;i=d;return a|0}function UD(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;C=i;i=i+112|0;k=C+108|0;l=C+104|0;m=C+48|0;E=C+40|0;z=C+100|0;F=C+96|0;x=C+92|0;y=C+88|0;D=C+84|0;v=C+80|0;u=C+76|0;n=C+72|0;w=C+68|0;p=C+32|0;A=C+64|0;B=C+60|0;s=C+24|0;q=C+16|0;o=C+56|0;r=C+8|0;t=C;c[l>>2]=e;e=m;c[e>>2]=f;c[e+4>>2]=g;e=E;c[e>>2]=h;c[e+4>>2]=j;c[z>>2]=0;c[F>>2]=c[c[l>>2]>>2];c[x>>2]=c[c[F>>2]>>2];c[y>>2]=c[(c[l>>2]|0)+4>>2];c[w>>2]=c[(c[l>>2]|0)+12>>2];c[D>>2]=(c[(c[F>>2]|0)+4>>2]|0)+8+((d[(c[w>>2]|0)+16>>0]|0)*72|0);e=E;c[v>>2]=lE(c[x>>2]|0,c[y>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[D>>2]|0,c[(c[l>>2]|0)+8>>2]|0)|0;if(!(c[v>>2]|0)){c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}b[(c[w>>2]|0)+18>>1]=0;c[(c[w>>2]|0)+36>>2]=1024;b[(c[w>>2]|0)+40>>1]=0;a[(c[w>>2]|0)+24+4>>0]=0;c[u>>2]=c[c[v>>2]>>2];if(MD(c[c[x>>2]>>2]|0,c[w>>2]|0,c[u>>2]|0)|0){Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=7;F=c[k>>2]|0;i=C;return F|0}F=m;c[z>>2]=mE(c[l>>2]|0,c[F>>2]|0,c[F+4>>2]|0,-1,-1,0,c[v>>2]|0,n)|0;if((c[z>>2]|0)==0?(D=c[w>>2]|0,F=m,E=c[D>>2]&~c[F>>2],F=c[D+4>>2]&~c[F+4>>2],D=p,c[D>>2]=E,c[D+4>>2]=F,(E|0)!=0|(F|0)!=0):0){c[A>>2]=0;c[B>>2]=0;F=s;c[F>>2]=0;c[F+4>>2]=0;F=q;c[F>>2]=0;c[F+4>>2]=0;if((c[n>>2]|0)!=0?(e=m,c[z>>2]=mE(c[l>>2]|0,c[e>>2]|0,c[e+4>>2]|0,-1,-1,1,c[v>>2]|0,n)|0,e=c[w>>2]|0,D=m,E=c[e+4>>2]&~c[D+4>>2],F=q,c[F>>2]=c[e>>2]&~c[D>>2],c[F+4>>2]=E,F=q,(c[F>>2]|0)==0&(c[F+4>>2]|0)==0):0){c[A>>2]=1;c[B>>2]=1}while(1){if(c[z>>2]|0)break;F=r;c[F>>2]=-1;c[F+4>>2]=-1;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[u>>2]|0))break;D=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;F=m;e=c[D+4>>2]&~c[F+4>>2];E=t;c[E>>2]=c[D>>2]&~c[F>>2];c[E+4>>2]=e;E=t;e=c[E+4>>2]|0;F=s;D=c[F+4>>2]|0;if(e>>>0>D>>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0>(c[F>>2]|0)>>>0:0)?(E=t,e=c[E+4>>2]|0,F=r,D=c[F+4>>2]|0,e>>>0>>0|((e|0)==(D|0)?(c[E>>2]|0)>>>0<(c[F>>2]|0)>>>0:0)):0){D=t;E=c[D+4>>2]|0;F=r;c[F>>2]=c[D>>2];c[F+4>>2]=E}c[o>>2]=(c[o>>2]|0)+1}D=r;E=c[D+4>>2]|0;F=s;c[F>>2]=c[D>>2];c[F+4>>2]=E;F=r;if((c[F>>2]|0)==-1?(c[F+4>>2]|0)==-1:0)break;E=r;F=p;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;E=r;F=q;if((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0)continue;D=m;F=r;E=m;c[z>>2]=mE(c[l>>2]|0,c[D>>2]|0,c[D+4>>2]|0,c[F>>2]|c[E>>2],c[F+4>>2]|c[E+4>>2],0,c[v>>2]|0,n)|0;E=c[w>>2]|0;F=m;if(!((c[E>>2]|0)==(c[F>>2]|0)?(c[E+4>>2]|0)==(c[F+4>>2]|0):0))continue;c[A>>2]=1;if(c[n>>2]|0)continue;c[B>>2]=1}if((c[z>>2]|0)==0&(c[A>>2]|0)==0?(E=m,F=m,c[z>>2]=mE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,0,c[v>>2]|0,n)|0,(c[n>>2]|0)==0):0)c[B>>2]=1;if((c[z>>2]|0)==0&(c[B>>2]|0)==0){E=m;F=m;c[z>>2]=mE(c[l>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[F>>2]|0,c[F+4>>2]|0,1,c[v>>2]|0,n)|0}}if(c[(c[v>>2]|0)+28>>2]|0)Kd(c[(c[v>>2]|0)+24>>2]|0);Tf(c[c[x>>2]>>2]|0,c[v>>2]|0);c[k>>2]=c[z>>2];F=c[k>>2]|0;i=C;return F|0}function VD(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0;E=i;i=i+144|0;j=E+128|0;k=E+8|0;y=E+124|0;s=E+120|0;B=E+64|0;m=E+140|0;l=E+136|0;F=E+56|0;t=E+52|0;r=E+48|0;D=E+44|0;o=E+40|0;n=E+36|0;A=E+134|0;z=E+132|0;w=E+32|0;u=E+28|0;q=E+24|0;v=E+20|0;x=E+16|0;p=E;c[j>>2]=f;f=k;c[f>>2]=g;c[f+4>>2]=h;b[l>>1]=-1;c[D>>2]=0;c[o>>2]=1;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[y>>2]=c[c[j>>2]>>2];c[F>>2]=c[(c[y>>2]|0)+4>>2];c[t>>2]=(c[F>>2]|0)+8+((d[(c[r>>2]|0)+16>>0]|0)*72|0);c[u>>2]=c[(c[t>>2]|0)+16>>2];c[w>>2]=c[(c[j>>2]|0)+4>>2];do if(c[(c[t>>2]|0)+68>>2]|0)c[s>>2]=c[(c[t>>2]|0)+68>>2];else{if(d[(c[u>>2]|0)+42>>0]&32){c[s>>2]=c[(c[u>>2]|0)+8>>2];break}g=B;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[B+50>>1]=1;b[B+52>>1]=1;c[B+4>>2]=l;c[B+8>>2]=m;a[B+54>>0]=5;c[B+12>>2]=c[u>>2];b[B+48>>1]=b[(c[u>>2]|0)+40>>1]|0;b[m>>1]=b[(c[u>>2]|0)+38>>1]|0;b[m+2>>1]=0;c[q>>2]=c[(c[(c[t>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[t>>2]|0)+36+1>>0]&1))c[B+20>>2]=c[q>>2];c[s>>2]=B}while(0);b[A>>1]=b[(c[u>>2]|0)+38>>1]|0;b[z>>1]=TD(b[A>>1]|0)|0;a:do if((((((((c[(c[j>>2]|0)+16>>2]|0)==0?(e[(c[y>>2]|0)+36>>1]&128|0)==0:0)?(c[(c[c[c[y>>2]>>2]>>2]|0)+24>>2]&1048576|0)!=0:0)?(c[(c[t>>2]|0)+68>>2]|0)==0:0)?(a[(c[t>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[t>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[v>>2]=c[(c[w>>2]|0)+20>>2];while(1){if(c[D>>2]|0)break a;if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break a;B=(c[v>>2]|0)+32|0;F=(c[r>>2]|0)+8|0;if(!((c[B>>2]&c[F>>2]|0)!=0?1:(c[B+4>>2]&c[F+4>>2]|0)!=0)?(LD(c[v>>2]|0,c[t>>2]|0,0,0)|0)!=0:0){b[(c[r>>2]|0)+24>>1]=1;b[(c[r>>2]|0)+42>>1]=0;c[(c[r>>2]|0)+24+4>>2]=0;b[(c[r>>2]|0)+40>>1]=1;c[c[(c[r>>2]|0)+48>>2]>>2]=c[v>>2];b[(c[r>>2]|0)+18>>1]=(b[z>>1]|0)+(b[A>>1]|0)+4;if((c[(c[u>>2]|0)+12>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&2|0)==0:0){F=(c[r>>2]|0)+18|0;b[F>>1]=(b[F>>1]|0)+24}b[(c[r>>2]|0)+22>>1]=43;m=QD(b[z>>1]|0,b[(c[r>>2]|0)+22>>1]|0)|0;b[(c[r>>2]|0)+20>>1]=m;c[(c[r>>2]|0)+36>>2]=16384;m=k;q=(c[v>>2]|0)+32|0;B=c[m+4>>2]|c[q+4>>2];F=c[r>>2]|0;c[F>>2]=c[m>>2]|c[q>>2];c[F+4>>2]=B;c[D>>2]=ZD(c[j>>2]|0,c[r>>2]|0)|0}c[v>>2]=(c[v>>2]|0)+48}}while(0);b:while(1){if(!((c[D>>2]|0)==0?(c[s>>2]|0)!=0:0)){g=46;break}if(!((c[(c[s>>2]|0)+36>>2]|0)!=0?(cE(c[(c[t>>2]|0)+44>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+36>>2]|0)|0)==0:0)){b[A>>1]=b[c[(c[s>>2]|0)+8>>2]>>1]|0;b[(c[r>>2]|0)+24>>1]=0;b[(c[r>>2]|0)+42>>1]=0;b[(c[r>>2]|0)+40>>1]=0;a[(c[r>>2]|0)+17>>0]=0;b[(c[r>>2]|0)+18>>1]=0;z=k;B=c[z+4>>2]|0;F=c[r>>2]|0;c[F>>2]=c[z>>2];c[F+4>>2]=B;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;c[(c[r>>2]|0)+24+4>>2]=c[s>>2];c[n>>2]=dE(c[j>>2]|0,c[s>>2]|0,c[(c[t>>2]|0)+44>>2]|0)|0;do if((c[(c[s>>2]|0)+44>>2]|0)<=0){c[(c[r>>2]|0)+36>>2]=256;a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+16;eE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=ZD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}else{if((d[(c[s>>2]|0)+55>>0]|0)>>>5&1){c[(c[r>>2]|0)+36>>2]=576;F=p;c[F>>2]=0;c[F+4>>2]=0}else{B=(c[t>>2]|0)+56|0;x=c[B>>2]|0;B=c[B+4>>2]|0;z=fE(c[s>>2]|0)|0;F=p;c[F>>2]=x&~z;c[F+4>>2]=B&~C;F=p;c[(c[r>>2]|0)+36>>2]=(c[F>>2]|0)==0&(c[F+4>>2]|0)==0?576:512}if((c[n>>2]|0)==0?(d[(c[u>>2]|0)+42>>0]&32|0)==0:0){F=p;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))break;if((d[(c[s>>2]|0)+55>>0]|0)>>>2&1)break;if((b[(c[s>>2]|0)+48>>1]|0)>=(b[(c[u>>2]|0)+40>>1]|0))break;if(!((c[6]|0)!=0?(e[(c[y>>2]|0)+36>>1]&4|0)==0:0))break;if(e[(c[c[c[y>>2]>>2]>>2]|0)+64>>1]&64)break}a[(c[r>>2]|0)+17>>0]=(c[n>>2]|0)!=0?c[o>>2]|0:0;b[(c[r>>2]|0)+20>>1]=(b[A>>1]|0)+1+(((b[(c[s>>2]|0)+48>>1]|0)*15|0)/(b[(c[u>>2]|0)+40>>1]|0)|0);F=p;if((c[F>>2]|0)!=0|(c[F+4>>2]|0)!=0){F=QD(b[(c[r>>2]|0)+20>>1]|0,(b[A>>1]|0)+16&65535)|0;b[(c[r>>2]|0)+20>>1]=F}eE(c[w>>2]|0,c[r>>2]|0,b[A>>1]|0);c[D>>2]=ZD(c[j>>2]|0,c[r>>2]|0)|0;b[(c[r>>2]|0)+22>>1]=b[A>>1]|0;if(c[D>>2]|0){g=46;break b}}while(0);c[D>>2]=gE(c[j>>2]|0,c[t>>2]|0,c[s>>2]|0,0)|0;if(c[(c[t>>2]|0)+68>>2]|0){g=46;break}}c[s>>2]=c[(c[s>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if((g|0)==46){i=E;return c[D>>2]|0}return 0}function WD(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+672|0;m=I+668|0;n=I+584|0;o=I+576|0;l=I+664|0;z=I+660|0;u=I+656|0;y=I+652|0;A=I+648|0;B=I+644|0;q=I+640|0;G=I+168|0;E=I+620|0;F=I+112|0;C=I+56|0;t=I+616|0;w=I+612|0;x=I+608|0;v=I+604|0;s=I+600|0;p=I+596|0;r=I+592|0;D=I;c[m>>2]=f;f=n;c[f>>2]=g;c[f+4>>2]=h;g=o;c[g>>2]=j;c[g+4>>2]=k;c[l>>2]=c[c[m>>2]>>2];c[B>>2]=0;c[z>>2]=c[(c[m>>2]|0)+4>>2];c[A>>2]=(c[(c[z>>2]|0)+20>>2]|0)+((c[(c[z>>2]|0)+12>>2]|0)*48|0);c[u>>2]=c[(c[m>>2]|0)+12>>2];g=F;h=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[t>>2]=(c[(c[l>>2]|0)+4>>2]|0)+8+((d[(c[u>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[t>>2]|0)+44>>2];c[y>>2]=c[(c[z>>2]|0)+20>>2];while(1){if(!((c[y>>2]|0)>>>0<(c[A>>2]|0)>>>0?(c[B>>2]|0)==0:0))break;a:do if((e[(c[y>>2]|0)+18>>1]&512|0)!=0?(f=(c[(c[y>>2]|0)+12>>2]|0)+408|0,l=(c[u>>2]|0)+8|0,(c[f>>2]&c[l>>2]|0)!=0?1:(c[f+4>>2]&c[l+4>>2]|0)!=0):0){c[w>>2]=c[(c[y>>2]|0)+12>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[s>>2]=1;l=c[m>>2]|0;c[E>>2]=c[l>>2];c[E+4>>2]=c[l+4>>2];c[E+8>>2]=c[l+8>>2];c[E+12>>2]=c[l+12>>2];c[E+16>>2]=c[l+16>>2];c[E+8>>2]=0;c[E+16>>2]=C;c[v>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[v>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;g=c[v>>2]|0;if(!(e[(c[v>>2]|0)+18>>1]&1024)){if((c[g+8>>2]|0)==(c[q>>2]|0)){c[G>>2]=c[c[z>>2]>>2];c[G+4>>2]=c[z>>2];a[G+8>>0]=72;c[G+12>>2]=1;c[G+20>>2]=c[v>>2];c[E+4>>2]=G;H=11}}else{c[E+4>>2]=c[g+12>>2];H=11}c:do if((H|0)==11){H=0;b[C>>1]=0;h=n;g=c[h>>2]|0;h=c[h+4>>2]|0;if(d[(c[(c[t>>2]|0)+16>>2]|0)+42>>0]&16){l=o;c[B>>2]=UD(E,g,h,c[l>>2]|0,c[l+4>>2]|0)|0}else c[B>>2]=VD(E,g,h)|0;if(!(c[B>>2]|0)){f=n;l=o;c[B>>2]=WD(E,c[f>>2]|0,c[f+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0}if(!(e[C>>1]|0)){H=17;break b}if(c[s>>2]|0){XD(F,C);c[s>>2]=0;break}XD(D,F);b[F>>1]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[D>>1]|0))break c;c[r>>2]=0;while(1){g=c[p>>2]|0;if((c[r>>2]|0)>=(e[C>>1]|0))break;l=D+8+(g<<4)|0;f=C+8+(c[r>>2]<<4)|0;k=c[l>>2]|c[f>>2];f=c[l+4>>2]|c[f+4>>2];l=QD(b[D+8+(c[p>>2]<<4)+8>>1]|0,b[C+8+(c[r>>2]<<4)+8>>1]|0)|0;YD(F,k,f,l,QD(b[D+8+(c[p>>2]<<4)+10>>1]|0,b[C+8+(c[r>>2]<<4)+10>>1]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=g+1}}while(0);c[v>>2]=(c[v>>2]|0)+48}if((H|0)==17){H=0;b[F>>1]=0}b[(c[u>>2]|0)+40>>1]=1;c[c[(c[u>>2]|0)+48>>2]>>2]=c[y>>2];c[(c[u>>2]|0)+36>>2]=8192;b[(c[u>>2]|0)+18>>1]=0;a[(c[u>>2]|0)+17>>0]=0;l=(c[u>>2]|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[p>>2]=0;while(1){if(c[B>>2]|0)break a;if((c[p>>2]|0)>=(e[F>>1]|0))break a;b[(c[u>>2]|0)+20>>1]=(b[F+8+(c[p>>2]<<4)+8>>1]|0)+1;b[(c[u>>2]|0)+22>>1]=b[F+8+(c[p>>2]<<4)+10>>1]|0;k=F+8+(c[p>>2]<<4)|0;f=c[k+4>>2]|0;l=c[u>>2]|0;c[l>>2]=c[k>>2];c[l+4>>2]=f;c[B>>2]=ZD(c[m>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}i=I;return c[B>>2]|0}function XD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;rR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;i=f;return}function YD(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;i=i+32|0;k=r+16|0;l=r+12|0;m=r;n=r+24|0;o=r+22|0;p=r+20|0;q=r+8|0;c[l>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=f;b[n>>1]=g;b[o>>1]=h;b[p>>1]=b[c[l>>2]>>1]|0;c[q>>2]=(c[l>>2]|0)+8;while(1){if((e[p>>1]|0)<=0){j=9;break}if((b[n>>1]|0)<=(b[(c[q>>2]|0)+8>>1]|0)?(h=m,a=c[q>>2]|0,g=m,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0)break;if((b[(c[q>>2]|0)+8>>1]|0)<=(b[n>>1]|0)?(h=c[q>>2]|0,a=m,g=c[q>>2]|0,(c[h>>2]&c[a>>2]|0)==(c[g>>2]|0)?(c[h+4>>2]&c[a+4>>2]|0)==(c[g+4>>2]|0):0):0){j=7;break}b[p>>1]=(b[p>>1]|0)+-1<<16>>16;c[q>>2]=(c[q>>2]|0)+16}if((j|0)==7){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}do if((j|0)==9){d=c[l>>2]|0;if((e[c[l>>2]>>1]|0)<3){p=b[d>>1]|0;b[d>>1]=p+1<<16>>16;c[q>>2]=(c[l>>2]|0)+8+((p&65535)<<4);b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;break}c[q>>2]=d+8;b[p>>1]=1;while(1){d=b[(c[q>>2]|0)+8>>1]|0;if((e[p>>1]|0)>=(e[c[l>>2]>>1]|0))break;if((d|0)>(b[(c[l>>2]|0)+8+(e[p>>1]<<4)+8>>1]|0))c[q>>2]=(c[l>>2]|0)+8+(e[p>>1]<<4);b[p>>1]=(b[p>>1]|0)+1<<16>>16}if((d|0)<=(b[n>>1]|0)){c[k>>2]=0;q=c[k>>2]|0;i=r;return q|0}}while(0);l=m;m=c[l+4>>2]|0;p=c[q>>2]|0;c[p>>2]=c[l>>2];c[p+4>>2]=m;b[(c[q>>2]|0)+8>>1]=b[n>>1]|0;if((b[(c[q>>2]|0)+10>>1]|0)>(b[o>>1]|0))b[(c[q>>2]|0)+10>>1]=b[o>>1]|0;c[k>>2]=1;q=c[k>>2]|0;i=r;return q|0}function ZD(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+48|0;e=q+40|0;f=q+36|0;g=q+32|0;n=q+28|0;j=q+24|0;m=q+20|0;h=q+16|0;p=q+12|0;o=q+8|0;l=q+4|0;k=q;c[f>>2]=a;c[g>>2]=d;c[m>>2]=c[c[f>>2]>>2];c[h>>2]=c[c[c[m>>2]>>2]>>2];if(c[(c[f>>2]|0)+16>>2]|0){if(b[(c[g>>2]|0)+40>>1]|0){p=c[g>>2]|0;YD(c[(c[f>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[g>>2]|0)+20>>1]|0,b[(c[g>>2]|0)+22>>1]|0)|0}c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}_D(c[(c[m>>2]|0)+16>>2]|0,c[g>>2]|0);c[n>>2]=$D((c[m>>2]|0)+16|0,c[g>>2]|0)|0;if(!(c[n>>2]|0)){c[e>>2]=0;p=c[e>>2]|0;i=q;return p|0}c[j>>2]=c[c[n>>2]>>2];a:do if(!(c[j>>2]|0)){o=Lw(c[h>>2]|0,72,0)|0;c[j>>2]=o;c[c[n>>2]>>2]=o;if(c[j>>2]|0){dD(c[j>>2]|0);c[(c[j>>2]|0)+52>>2]=0;break}c[e>>2]=7;p=c[e>>2]|0;i=q;return p|0}else{c[o>>2]=(c[j>>2]|0)+52;while(1){if(!(c[c[o>>2]>>2]|0))break a;c[o>>2]=$D(c[o>>2]|0,c[g>>2]|0)|0;if(!(c[o>>2]|0))break a;c[l>>2]=c[c[o>>2]>>2];if(!(c[l>>2]|0))break a;c[c[o>>2]>>2]=c[(c[l>>2]|0)+52>>2];aD(c[h>>2]|0,c[l>>2]|0)}}while(0);c[p>>2]=aE(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if(((c[(c[j>>2]|0)+36>>2]&1024|0)==0?(c[k>>2]=c[(c[j>>2]|0)+24+4>>2],(c[k>>2]|0)!=0):0)?(c[(c[k>>2]|0)+44>>2]|0)==0:0)c[(c[j>>2]|0)+24+4>>2]=0;c[e>>2]=c[p>>2];p=c[e>>2]|0;i=q;return p|0}function _D(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!((c[f>>2]|0)!=0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){i=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(c[(c[f>>2]|0)+36>>2]&512|0)!=0:0){if(bE(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(bE(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);i=h;return}function $D(a,f){a=a|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+16|0;j=l+12|0;k=l+8|0;g=l+4|0;h=l;c[k>>2]=a;c[g>>2]=f;c[h>>2]=c[c[k>>2]>>2];while(1){if(!(c[h>>2]|0)){g=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if(((((c[(c[h>>2]|0)+36>>2]&16384|0)!=0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)?(c[(c[g>>2]|0)+36>>2]&1|0)!=0:0)?(m=c[h>>2]|0,f=c[g>>2]|0,a=c[g>>2]|0,(c[m>>2]&c[f>>2]|0)==(c[a>>2]|0)?(c[m+4>>2]&c[f+4>>2]|0)==(c[a+4>>2]|0):0):0){g=19;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[h>>2]|0;if(((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){g=14;break}f=c[h>>2]|0;a=c[g>>2]|0;m=c[g>>2]|0;if((((c[f>>2]&c[a>>2]|0)==(c[m>>2]|0)?(c[f+4>>2]&c[a+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){g=19;break}}c[k>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[k>>2]>>2]}if((g|0)==14){c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}else if((g|0)==19){c[j>>2]=c[k>>2];m=c[j>>2]|0;i=l;return m|0}return 0}function aE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;k=i;i=i+16|0;h=k+12|0;l=k+8|0;g=k+4|0;j=k;c[l>>2]=b;c[g>>2]=d;c[j>>2]=f;cD(c[l>>2]|0,c[g>>2]|0);d=(MD(c[l>>2]|0,c[g>>2]|0,e[(c[j>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(d){l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[h>>2]=7;l=c[h>>2]|0;i=k;return l|0}f=c[j>>2]|0;d=b+44|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(d|0));rR(c[(c[g>>2]|0)+48>>2]|0,c[(c[j>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[j>>2]|0;if(!(c[(c[j>>2]|0)+36>>2]&1024)){if(c[b+36>>2]&16384)c[(c[j>>2]|0)+24+4>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;l=c[h>>2]|0;i=k;return l|0}function bE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){f=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[j>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[j>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[j>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-1}if((c[j>>2]|0)<0){f=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((f|0)==18){c[k>>2]=0;k=c[k>>2]|0;i=l;return k|0}else if((f|0)==20){c[k>>2]=1;k=c[k>>2]|0;i=l;return k|0}return 0}function cE(a,e,f){a=a|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;p=i;i=i+32|0;g=p+24|0;h=p+20|0;j=p+16|0;k=p+12|0;l=p+8|0;n=p+4|0;m=p;c[h>>2]=a;c[j>>2]=e;c[k>>2]=f;while(1){if((d[c[k>>2]>>0]|0)!=72)break;if(!(cE(c[h>>2]|0,c[j>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0)){o=4;break}c[k>>2]=c[(c[k>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}c[l>>2]=0;c[n>>2]=c[(c[j>>2]|0)+20>>2];while(1){if((c[l>>2]|0)>=(c[(c[j>>2]|0)+12>>2]|0)){o=13;break}c[m>>2]=c[c[n>>2]>>2];if(kE(c[m>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){if(!(c[(c[m>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[m>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;i=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;i=p;return o|0}return 0}function dE(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+48|0;h=s+32|0;j=s+28|0;k=s+24|0;l=s+20|0;q=s+16|0;m=s+12|0;n=s+8|0;o=s+4|0;p=s;c[j>>2]=a;c[k>>2]=f;c[l>>2]=g;if((d[(c[k>>2]|0)+55>>0]|0)>>>2&1){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}f=c[(c[c[j>>2]>>2]|0)+8>>2]|0;c[q>>2]=f;if(!f){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[c[q>>2]>>2]|0)){r=24;break}c[p>>2]=Zx(c[(c[(c[q>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[l>>2]|0):0){if((b[(c[p>>2]|0)+32>>1]|0)<0){r=10;break a}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break b;if((b[(c[p>>2]|0)+32>>1]|0)==(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)){r=14;break a}c[o>>2]=(c[o>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,f=c[(c[k>>2]|0)+40>>2]|0,c[m>>2]=f,(f|0)!=0):0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break c;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]<<1)>>1]|0)==-2?(vy(c[p>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,c[l>>2]|0)|0)==0:0){r=21;break a}c[o>>2]=(c[o>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+1}if((r|0)==10){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==14){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==21){c[h>>2]=1;r=c[h>>2]|0;i=s;return r|0}else if((r|0)==24){c[h>>2]=0;r=c[h>>2]|0;i=s;return r|0}return 0}function eE(a,d,f){a=a|0;d=d|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,r=0,s=0,t=0;s=i;i=i+48|0;g=s+36|0;h=s+32|0;j=s+42|0;q=s+28|0;r=s+24|0;o=s;k=s+20|0;m=s+16|0;n=s+12|0;l=s+40|0;p=s+8|0;c[g>>2]=a;c[h>>2]=d;b[j>>1]=f;t=c[h>>2]|0;f=(c[h>>2]|0)+8|0;d=~(c[t+4>>2]|c[f+4>>2]);a=o;c[a>>2]=~(c[t>>2]|c[f>>2]);c[a+4>>2]=d;b[l>>1]=0;c[k>>2]=c[(c[g>>2]|0)+12>>2];c[q>>2]=c[(c[g>>2]|0)+20>>2];while(1){if((c[k>>2]|0)<=0)break;if(e[(c[q>>2]|0)+20>>1]&2)break;a=(c[q>>2]|0)+40|0;t=(c[h>>2]|0)+8|0;do if(!((c[a>>2]&c[t>>2]|0)==0?(c[a+4>>2]&c[t+4>>2]|0)==0:0)?(a=(c[q>>2]|0)+40|0,t=o,!((c[a>>2]&c[t>>2]|0)!=0?1:(c[a+4>>2]&c[t+4>>2]|0)!=0)):0){c[m>>2]=(e[(c[h>>2]|0)+40>>1]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[r>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[m>>2]<<2)>>2];if(c[r>>2]|0){if((c[r>>2]|0)==(c[q>>2]|0))break;if((c[(c[r>>2]|0)+4>>2]|0)>=0?((c[(c[g>>2]|0)+20>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)*48|0)|0)==(c[q>>2]|0):0)break}c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){if((b[(c[q>>2]|0)+16>>1]|0)<=0){t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[q>>2]|0)+16>>1]|0);break}t=(c[h>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[q>>2]|0)+18>>1]&130){c[p>>2]=c[(c[c[q>>2]>>2]|0)+16>>2];t=(qy(c[p>>2]|0,n)|0)!=0;if(t&(c[n>>2]|0)>=-1&(c[n>>2]|0)<=1)c[n>>2]=10;else c[n>>2]=20;if((b[l>>1]|0)<(c[n>>2]|0))b[l>>1]=c[n>>2]}}}while(0);c[k>>2]=(c[k>>2]|0)+-1;c[q>>2]=(c[q>>2]|0)+48}if((b[(c[h>>2]|0)+22>>1]|0)<=((b[j>>1]|0)-(b[l>>1]|0)|0)){i=s;return}b[(c[h>>2]|0)+22>>1]=(b[j>>1]|0)-(b[l>>1]|0);i=s;return}function fE(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;i=i+32|0;d=j+16|0;g=j;f=j+12|0;h=j+8|0;c[d>>2]=a;a=g;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[f>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[f>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){l=uR(1,0,c[h>>2]|0)|0;m=g;k=c[m+4>>2]|C;a=g;c[a>>2]=c[m>>2]|l;c[a+4>>2]=k}c[f>>2]=(c[f>>2]|0)+-1}m=g;C=c[m+4>>2]|0;i=j;return c[m>>2]|0}function gE(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=i;i=i+208|0;l=O+172|0;m=O+168|0;n=O+164|0;o=O+160|0;p=O+196|0;P=O+156|0;A=O+152|0;q=O+148|0;z=O+144|0;B=O+140|0;k=O+136|0;N=O+40|0;L=O;I=O+194|0;H=O+192|0;K=O+190|0;M=O+36|0;J=O+188|0;G=O+32|0;F=O+186|0;E=O+184|0;C=O+28|0;x=O+24|0;r=O+182|0;D=O+180|0;w=O+178|0;u=O+20|0;y=O+16|0;s=O+12|0;t=O+8|0;v=O+176|0;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;b[p>>1]=j;c[P>>2]=c[c[m>>2]>>2];c[A>>2]=c[c[P>>2]>>2];c[q>>2]=c[c[A>>2]>>2];c[G>>2]=0;c[C>>2]=0;c[x>>2]=0;c[z>>2]=c[(c[m>>2]|0)+12>>2];if(a[(c[q>>2]|0)+69>>0]|0){c[l>>2]=7;P=c[l>>2]|0;i=O;return P|0}do if(!(c[(c[z>>2]|0)+36>>2]&32))if(d[(c[n>>2]|0)+36>>0]&8){c[k>>2]=63;break}else{c[k>>2]=447;break}else c[k>>2]=24;while(0);if((d[(c[o>>2]|0)+55>>0]|0)>>>2&1)c[k>>2]=c[k>>2]&-61;b[H>>1]=b[(c[z>>2]|0)+24>>1]|0;b[K>>1]=b[(c[z>>2]|0)+42>>1]|0;b[I>>1]=b[(c[z>>2]|0)+40>>1]|0;c[M>>2]=c[(c[z>>2]|0)+36>>2];h=c[z>>2]|0;g=c[h+4>>2]|0;P=L;c[P>>2]=c[h>>2];c[P+4>>2]=g;b[J>>1]=b[(c[z>>2]|0)+22>>1]|0;c[B>>2]=ED(N,c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+44>>2]|0,e[H>>1]|0,c[k>>2]|0,c[o>>2]|0)|0;b[(c[z>>2]|0)+18>>1]=0;b[F>>1]=b[c[(c[o>>2]|0)+8>>2]>>1]|0;b[E>>1]=TD(b[F>>1]|0)|0;a:while(1){if(!((c[G>>2]|0)==0?(c[B>>2]|0)!=0:0))break;b[r>>1]=b[(c[B>>2]|0)+18>>1]|0;c[u>>2]=0;if((e[r>>1]|0)!=256?(e[(c[B>>2]|0)+20>>1]&0|0)==0:0)j=15;else j=14;if((j|0)==14?(j=0,(hE(c[o>>2]|0,e[H>>1]|0)|0)==0):0)j=15;do if((j|0)==15?(0,g=(c[B>>2]|0)+32|0,P=(c[z>>2]|0)+8|0,!((c[g>>2]&c[P>>2]|0)!=0?1:(c[g+4>>2]&c[P+4>>2]|0)!=0)):0){if((e[(c[B>>2]|0)+20>>1]&256|0)!=0?(e[(c[B>>2]|0)+18>>1]|0)==16:0)break;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(MD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;f=c[B>>2]|0;h=(c[z>>2]|0)+40|0;k=b[h>>1]|0;b[h>>1]=k+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((k&65535)<<2)>>2]=f;k=L;f=(c[B>>2]|0)+32|0;h=(c[z>>2]|0)+8|0;g=(c[k+4>>2]|c[f+4>>2])&~c[h+4>>2];P=c[z>>2]|0;c[P>>2]=(c[k>>2]|c[f>>2])&~c[h>>2];c[P+4>>2]=g;do if(e[r>>1]&1){c[y>>2]=c[c[B>>2]>>2];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4;if(c[(c[y>>2]|0)+4>>2]&2048){c[u>>2]=46;break}if((c[(c[y>>2]|0)+20>>2]|0)!=0?(c[c[(c[y>>2]|0)+20>>2]>>2]|0)!=0:0){P=c[c[(c[y>>2]|0)+20>>2]>>2]|0;c[u>>2]=(Kj(P,((P|0)<0)<<31>>31)|0)<<16>>16}}else{if(e[r>>1]&130){c[s>>2]=b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1];P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|1;if((c[s>>2]|0)!=-1){if((c[s>>2]|0)<=0)break;if(b[p>>1]|0)break;if((e[H>>1]|0)!=((e[(c[o>>2]|0)+50>>1]|0)-1|0))break}if((c[s>>2]|0)>=0?((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|65536;break}P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|4096;break}if(e[r>>1]&256){P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|8;break}j=(c[z>>2]|0)+36|0;k=c[j>>2]|0;if(e[r>>1]&36){c[j>>2]=k|34;c[x>>2]=c[B>>2];c[C>>2]=0;if(!(e[(c[B>>2]|0)+20>>1]&256))break;c[C>>2]=(c[B>>2]|0)+48;if(MD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0)break a;g=c[C>>2]|0;h=(c[z>>2]|0)+40|0;P=b[h>>1]|0;b[h>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=g;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|16;break}else{c[j>>2]=k|18;c[C>>2]=c[B>>2];if(c[(c[z>>2]|0)+36>>2]&32)j=c[(c[(c[z>>2]|0)+48>>2]|0)+((e[(c[z>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else j=0;c[x>>2]=j;break}}while(0);do if(!(c[(c[z>>2]|0)+36>>2]&2)){g=(c[z>>2]|0)+24|0;P=(b[g>>1]|0)+1<<16>>16;b[g>>1]=P;c[t>>2]=P&65535;if((b[(c[B>>2]|0)+16>>1]|0)<=0?(b[(c[(c[o>>2]|0)+4>>2]|0)+(e[H>>1]<<1)>>1]|0)>=0:0){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+(b[(c[B>>2]|0)+16>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(c[u>>2]|0);break}P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[(c[(c[o>>2]|0)+8>>2]|0)+(c[t>>2]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((c[t>>2]|0)-1<<1)>>1]|0));if(e[r>>1]&256){P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+10}}else iE(c[A>>2]|0,c[m>>2]|0,c[x>>2]|0,c[C>>2]|0,c[z>>2]|0)|0;while(0);b[D>>1]=(b[(c[z>>2]|0)+22>>1]|0)+1+(((b[(c[o>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[n>>2]|0)+16>>2]|0)+40>>1]|0)|0);P=QD(b[E>>1]|0,b[D>>1]|0)|0;b[(c[z>>2]|0)+20>>1]=P;if(!(c[(c[z>>2]|0)+36>>2]&320)){P=QD(b[(c[z>>2]|0)+20>>1]|0,(b[(c[z>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[z>>2]|0)+20>>1]=P}b[w>>1]=b[(c[z>>2]|0)+22>>1]|0;P=(c[z>>2]|0)+20|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)+((b[p>>1]|0)+(c[u>>2]|0));eE(c[(c[m>>2]|0)+4>>2]|0,c[z>>2]|0,b[F>>1]|0);c[G>>2]=ZD(c[m>>2]|0,c[z>>2]|0)|0;if(c[(c[z>>2]|0)+36>>2]&2)b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;else b[(c[z>>2]|0)+22>>1]=b[w>>1]|0;if((c[(c[z>>2]|0)+36>>2]&16|0)==0?(e[(c[z>>2]|0)+24>>1]|0)<(e[(c[o>>2]|0)+52>>1]|0):0)gE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[p>>1]|0)+(c[u>>2]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0}while(0);c[B>>2]=FD(N)|0}N=c[L+4>>2]|0;P=c[z>>2]|0;c[P>>2]=c[L>>2];c[P+4>>2]=N;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2];b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+40>>1]=b[I>>1]|0;if(((((e[H>>1]|0)==(e[K>>1]|0)?((e[H>>1]|0)+1|0)<(e[(c[o>>2]|0)+50>>1]|0):0)?((d[(c[o>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0)>=42:0)?(P=MD(c[q>>2]|0,c[z>>2]|0,(e[(c[z>>2]|0)+40>>1]|0)+1|0)|0,c[G>>2]=P,(P|0)==0):0){N=(c[z>>2]|0)+24|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+42|0;b[N>>1]=(b[N>>1]|0)+1<<16>>16;N=(c[z>>2]|0)+40|0;P=b[N>>1]|0;b[N>>1]=P+1<<16>>16;c[(c[(c[z>>2]|0)+48>>2]|0)+((P&65535)<<2)>>2]=0;P=(c[z>>2]|0)+36|0;c[P>>2]=c[P>>2]|32768;b[v>>1]=(b[(c[(c[o>>2]|0)+8>>2]|0)+(e[H>>1]<<1)>>1]|0)-(b[(c[(c[o>>2]|0)+8>>2]|0)+((e[H>>1]|0)+1<<1)>>1]|0);P=(c[z>>2]|0)+22|0;b[P>>1]=(b[P>>1]|0)-(b[v>>1]|0);b[v>>1]=(b[v>>1]|0)+5;gE(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(b[v>>1]|0)+(b[p>>1]|0)&65535)|0;b[(c[z>>2]|0)+22>>1]=b[J>>1]|0;b[(c[z>>2]|0)+24>>1]=b[H>>1]|0;b[(c[z>>2]|0)+42>>1]=b[K>>1]|0;c[(c[z>>2]|0)+36>>2]=c[M>>2]}c[l>>2]=c[G>>2];P=c[l>>2]|0;i=O;return P|0}function hE(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;g=h+8|0;k=h+4|0;j=h;c[g>>2]=a;c[k>>2]=e;c[j>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];e=c[j>>2]|0;if((c[j>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(e<<4)+12>>0];k=c[f>>2]|0;i=h;return k|0}if((e|0)==-1){c[f>>2]=1;k=c[f>>2]|0;i=h;return k|0}else{c[f>>2]=0;k=c[f>>2]|0;i=h;return k|0}return 0}function iE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+16|0;j=o+12|0;k=o+8|0;n=o+4|0;m=o;l=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[n>>2]=0;c[m>>2]=b[(c[k>>2]|0)+22>>1];b[l>>1]=jE(c[h>>2]|0,c[m>>2]&65535)|0;b[l>>1]=jE(c[j>>2]|0,b[l>>1]|0)|0;if(((c[h>>2]|0)!=0?((c[j>>2]|0)!=0?(b[(c[h>>2]|0)+16>>1]|0)>0:0):0)?(b[(c[j>>2]|0)+16>>1]|0)>0:0)b[l>>1]=(b[l>>1]|0)-20;c[m>>2]=(c[m>>2]|0)-(((c[h>>2]|0)!=0&1)+((c[j>>2]|0)!=0&1));if((b[l>>1]|0)<10)b[l>>1]=10;if((b[l>>1]|0)>=(c[m>>2]|0)){a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}c[m>>2]=b[l>>1];a=c[m>>2]|0;a=a&65535;f=c[k>>2]|0;f=f+22|0;b[f>>1]=a;n=c[n>>2]|0;i=o;return n|0}function jE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;f=h;j=h+6|0;g=h+4|0;c[f>>2]=a;b[j>>1]=d;b[g>>1]=b[j>>1]|0;do if(c[f>>2]|0){d=c[f>>2]|0;if((b[(c[f>>2]|0)+16>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[d+16>>1]|0);break}if(!(e[d+20>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);i=h;return b[g>>1]|0}function kE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;if(!(vy(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0)|0)){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}do if((d[c[h>>2]>>0]|0|0)==71){if((kE(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0?(kE(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[j>>2]|0)|0)==0:0)break;c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}while(0);if((((d[c[h>>2]>>0]|0|0)==77?(vy(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[j>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=76:0)?(d[c[g>>2]>>0]|0|0)!=73:0){c[f>>2]=1;b=c[f>>2]|0;i=k;return b|0}c[f>>2]=0;b=c[f>>2]|0;i=k;return b|0}function lE(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=i;i=i+96|0;F=G+8|0;m=G+76|0;n=G+72|0;o=G+68|0;p=G;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;w=G+48|0;A=G+44|0;C=G+40|0;E=G+36|0;D=G+32|0;v=G+28|0;B=G+24|0;u=G+20|0;y=G+16|0;x=G+80|0;z=G+12|0;c[n>>2]=f;c[o>>2]=g;g=p;c[g>>2]=h;c[g+4>>2]=j;c[q>>2]=k;c[r>>2]=l;c[w>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(k=(c[D>>2]|0)+32|0,g=p,!((c[k>>2]&c[g>>2]|0)!=0?1:(c[k+4>>2]&c[g+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0)c[w>>2]=(c[w>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[v>>2]=0;if(c[r>>2]|0){c[u>>2]=c[c[r>>2]>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[u>>2]|0))break;c[y>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];if((d[c[y>>2]>>0]|0)!=152)break;if((c[(c[y>>2]|0)+28>>2]|0)!=(c[(c[q>>2]|0)+44>>2]|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(c[u>>2]|0))c[v>>2]=c[u>>2]}c[B>>2]=rh(c[c[n>>2]>>2]|0,72+((c[w>>2]|0)*20|0)+(c[v>>2]<<3)|0,0)|0;if(!(c[B>>2]|0)){Ch(c[n>>2]|0,25624,F);c[m>>2]=0;F=c[m>>2]|0;i=G;return F|0}c[A>>2]=(c[B>>2]|0)+72;c[C>>2]=(c[A>>2]|0)+((c[w>>2]|0)*12|0);c[E>>2]=(c[C>>2]|0)+(c[v>>2]<<3);c[c[B>>2]>>2]=c[w>>2];c[(c[B>>2]|0)+8>>2]=c[v>>2];c[(c[B>>2]|0)+4>>2]=c[A>>2];c[(c[B>>2]|0)+12>>2]=c[C>>2];c[(c[B>>2]|0)+16>>2]=c[E>>2];c[t>>2]=0;c[s>>2]=0;c[D>>2]=c[(c[o>>2]|0)+20>>2];while(1){if((c[s>>2]|0)>=(c[(c[o>>2]|0)+12>>2]|0))break;if((((c[(c[D>>2]|0)+8>>2]|0)==(c[(c[q>>2]|0)+44>>2]|0)?(g=(c[D>>2]|0)+32|0,F=p,!((c[g>>2]&c[F>>2]|0)!=0?1:(c[g+4>>2]&c[F+4>>2]|0)!=0)):0)?(e[(c[D>>2]|0)+18>>1]&-2433|0)!=0:0)?(e[(c[D>>2]|0)+20>>1]&0|0)==0:0){c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)>>2]=c[(c[D>>2]|0)+12>>2];c[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+8>>2]=c[s>>2];F=b[(c[D>>2]|0)+18>>1]&255;a[x>>0]=F;a[x>>0]=(d[x>>0]|0)==1?2:F;if((d[x>>0]|0)==64)a[x>>0]=a[(c[D>>2]|0)+23>>0]|0;a[(c[A>>2]|0)+((c[t>>2]|0)*12|0)+4>>0]=a[x>>0]|0;c[t>>2]=(c[t>>2]|0)+1}c[s>>2]=(c[s>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+48}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[v>>2]|0))break;c[z>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]=b[(c[z>>2]|0)+32>>1];a[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]=a[(c[(c[r>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+12>>0]|0;c[s>>2]=(c[s>>2]|0)+1}c[m>>2]=c[B>>2];F=c[m>>2]|0;i=G;return F|0}function mE(f,g,j,k,l,m,n,o){f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=i;i=i+96|0;E=L+16|0;G=L+88|0;H=L+84|0;M=L+8|0;q=L;r=L+92|0;I=L+80|0;p=L+76|0;D=L+72|0;x=L+68|0;C=L+64|0;s=L+60|0;v=L+56|0;K=L+52|0;J=L+48|0;y=L+44|0;z=L+40|0;w=L+36|0;A=L+32|0;t=L+28|0;B=L+24|0;u=L+20|0;c[H>>2]=f;f=M;c[f>>2]=g;c[f+4>>2]=j;f=q;c[f>>2]=k;c[f+4>>2]=l;b[r>>1]=m;c[I>>2]=n;c[p>>2]=o;c[D>>2]=c[(c[H>>2]|0)+4>>2];c[C>>2]=c[(c[I>>2]|0)+16>>2];c[K>>2]=0;c[J>>2]=c[(c[H>>2]|0)+12>>2];c[y>>2]=c[c[c[H>>2]>>2]>>2];c[z>>2]=(c[(c[c[H>>2]>>2]|0)+4>>2]|0)+8+((d[(c[J>>2]|0)+16>>0]|0)*72|0);c[w>>2]=c[c[I>>2]>>2];c[c[p>>2]>>2]=0;f=M;n=c[f+4>>2]|0;o=c[J>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=n;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[A>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[(c[x>>2]|0)+8>>2]|0)*48|0);a[(c[x>>2]|0)+5>>0]=0;n=(c[A>>2]|0)+32|0;o=q;M=(c[A>>2]|0)+32|0;if(((c[n>>2]&c[o>>2]|0)==(c[M>>2]|0)?(c[n+4>>2]&c[o+4>>2]|0)==(c[M+4>>2]|0):0)?(e[(c[A>>2]|0)+18>>1]&e[r>>1]|0)==0:0)a[(c[x>>2]|0)+5>>0]=1;c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}tR(c[C>>2]|0,0,c[w>>2]<<3|0)|0;c[(c[I>>2]|0)+24>>2]=0;c[(c[I>>2]|0)+20>>2]=0;c[(c[I>>2]|0)+32>>2]=0;h[(c[I>>2]|0)+40>>3]=5.e+98;A=(c[I>>2]|0)+48|0;c[A>>2]=25;c[A+4>>2]=0;c[(c[I>>2]|0)+56>>2]=0;A=(c[z>>2]|0)+56|0;o=c[A+4>>2]|0;M=(c[I>>2]|0)+64|0;c[M>>2]=c[A>>2];c[M+4>>2]=o;c[K>>2]=nE(c[y>>2]|0,c[(c[z>>2]|0)+16>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0){c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}c[v>>2]=-1;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[s>>2]<<2)>>2]=0;c[s>>2]=(c[s>>2]|0)+1}b[(c[J>>2]|0)+24+6>>1]=0;c[x>>2]=c[(c[I>>2]|0)+4>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[w>>2]|0))break;M=(c[(c[C>>2]|0)+(c[s>>2]<<3)>>2]|0)-1|0;c[t>>2]=M;if((M|0)>=0){c[u>>2]=c[(c[x>>2]|0)+8>>2];if((c[u>>2]|0)<0?1:(c[t>>2]|0)>=(c[w>>2]|0)){F=19;break}if((c[u>>2]|0)>=(c[(c[D>>2]|0)+12>>2]|0)){F=19;break}if(c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]|0){F=19;break}if(!(d[(c[x>>2]|0)+5>>0]|0)){F=19;break}c[B>>2]=(c[(c[D>>2]|0)+20>>2]|0)+((c[u>>2]|0)*48|0);A=(c[B>>2]|0)+32|0;M=c[J>>2]|0;n=M;o=c[n+4>>2]|c[A+4>>2];c[M>>2]=c[n>>2]|c[A>>2];c[M+4>>2]=o;c[(c[(c[J>>2]|0)+48>>2]|0)+(c[t>>2]<<2)>>2]=c[B>>2];if((c[t>>2]|0)>(c[v>>2]|0))c[v>>2]=c[t>>2];if((c[t>>2]|0)<16?(d[(c[C>>2]|0)+(c[s>>2]<<3)+4>>0]|0)!=0:0){M=(c[J>>2]|0)+24+6|0;b[M>>1]=e[M>>1]|1<>2]}if(e[(c[B>>2]|0)+18>>1]&1){c[(c[I>>2]|0)+32>>2]=0;M=(c[I>>2]|0)+56|0;c[M>>2]=c[M>>2]&-2;c[c[p>>2]>>2]=1}}c[s>>2]=(c[s>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+12}if((F|0)==19){c[K>>2]=1;M=c[y>>2]|0;c[E>>2]=c[c[(c[z>>2]|0)+16>>2]>>2];Ch(M,35315,E);c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}b[(c[J>>2]|0)+40>>1]=(c[v>>2]|0)+1;c[(c[J>>2]|0)+24>>2]=c[(c[I>>2]|0)+20>>2];a[(c[J>>2]|0)+24+4>>0]=c[(c[I>>2]|0)+28>>2];c[(c[I>>2]|0)+28>>2]=0;c[(c[J>>2]|0)+24+8>>2]=c[(c[I>>2]|0)+24>>2];if(c[(c[I>>2]|0)+32>>2]|0)g=c[(c[I>>2]|0)+8>>2]|0;else g=0;a[(c[J>>2]|0)+24+5>>0]=g;b[(c[J>>2]|0)+18>>1]=0;g=oE(+h[(c[I>>2]|0)+40>>3])|0;b[(c[J>>2]|0)+20>>1]=g;g=(c[I>>2]|0)+48|0;g=Kj(c[g>>2]|0,c[g+4>>2]|0)|0;b[(c[J>>2]|0)+22>>1]=g;g=(c[J>>2]|0)+36|0;j=c[g>>2]|0;if(c[(c[I>>2]|0)+56>>2]&1)c[g>>2]=j|4096;else c[g>>2]=j&-4097;c[K>>2]=ZD(c[H>>2]|0,c[J>>2]|0)|0;if(a[(c[J>>2]|0)+24+4>>0]|0){Kd(c[(c[J>>2]|0)+24+8>>2]|0);a[(c[J>>2]|0)+24+4>>0]=0}c[G>>2]=c[K>>2];M=c[G>>2]|0;i=L;return M|0}function nE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;j=k+8|0;h=k;e=k+28|0;m=k+24|0;l=k+20|0;f=k+16|0;g=k+12|0;c[e>>2]=a;c[m>>2]=b;c[l>>2]=d;c[f>>2]=c[(Gx(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=Yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[l>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){lh(c[c[e>>2]>>2]|0);break}d=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[j>>2]=c[(c[f>>2]|0)+8>>2];Ch(d,18999,j);break}else{c[h>>2]=kh(c[g>>2]|0)|0;Ch(d,18999,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;i=k;return c[(c[e>>2]|0)+68>>2]|0}function oE(a){a=+a;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+32|0;d=j+18|0;e=j+8|0;f=j;g=j+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;i=j;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Kj(~~a>>>0,+N(a)>=1.0?(a>0.0?~~+$(+M(a/4294967296.0),4294967295.0)>>>0:~~+Z((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;i=j;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=qR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=oR(f|0,C|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;i=j;return g|0}return 0}function pE(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+48|0;r=t+36|0;j=t+32|0;k=t+28|0;l=t+24|0;m=t+20|0;n=t+16|0;s=t+12|0;q=t+8|0;o=t+4|0;p=t;c[j>>2]=a;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=h;c[q>>2]=c[(c[(c[m>>2]|0)+32>>2]|0)+(c[n>>2]<<2)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[k>>2]>>2]|0)){j=10;break}c[o>>2]=Zx(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[o>>2]>>0]|0)==152?(b[(c[o>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]|0):0)?(c[(c[o>>2]|0)+28>>2]|0)==(c[l>>2]|0):0)?(c[p>>2]=Ux(c[j>>2]|0,c[(c[(c[k>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0,(c[p>>2]|0)!=0):0)?0==(ig(c[c[p>>2]>>2]|0,c[q>>2]|0)|0):0){j=8;break}c[s>>2]=(c[s>>2]|0)+1}if((j|0)==8){c[r>>2]=c[s>>2];s=c[r>>2]|0;i=t;return s|0}else if((j|0)==10){c[r>>2]=-1;s=c[r>>2]|0;i=t;return s|0}return 0} +function Xt(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;h=o+20|0;j=o+16|0;k=o+12|0;n=o+8|0;l=o+4|0;m=o;c[h>>2]=a;c[j>>2]=f;c[k>>2]=g;c[n>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[l>>2]=d[c[n>>2]>>0];a:do if((c[l>>2]|0)>>>0>=128){c[m>>2]=(c[n>>2]|0)+8;c[l>>2]=c[l>>2]&127;do{g=c[l>>2]<<7;a=(c[n>>2]|0)+1|0;c[n>>2]=a;c[l>>2]=g|(d[a>>0]|0)&127;if((d[c[n>>2]>>0]|0|0)<128)break a}while((c[n>>2]|0)>>>0<(c[m>>2]|0)>>>0)}while(0);c[n>>2]=(c[n>>2]|0)+1;a=c[k>>2]|0;c[a>>2]=c[l>>2];c[a+4>>2]=0;c[(c[k>>2]|0)+12>>2]=c[l>>2];c[(c[k>>2]|0)+8>>2]=c[n>>2];if((c[l>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Yt(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);i=o;return}b[(c[k>>2]|0)+18>>1]=(c[l>>2]|0)+((c[n>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[l>>2];i=o;return}function Yt(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i+32|0;n=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;m=l+4|0;k=l;c[n>>2]=a;c[g>>2]=d;c[h>>2]=f;c[j>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[k>>2]=(c[j>>2]|0)+((((c[(c[h>>2]|0)+12>>2]|0)-(c[j>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)<=(c[m>>2]|0))b[(c[h>>2]|0)+16>>1]=c[k>>2];else b[(c[h>>2]|0)+16>>1]=c[j>>2];b[(c[h>>2]|0)+18>>1]=((c[(c[h>>2]|0)+8>>2]|0)+(e[(c[h>>2]|0)+16>>1]|0)-(c[g>>2]|0)&65535)+4;i=l;return}function Zt(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=1;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=d[c[g>>2]>>0];if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=2;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;if(!e){c[k>>2]=c[k>>2]&127;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=3;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);e=(c[k>>2]&128|0)!=0;c[k>>2]=c[k>>2]&2080895;b=c[j>>2]|0;if(!e){c[j>>2]=b<<7;c[j>>2]=c[j>>2]|c[k>>2];l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=0;a[f>>0]=4;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=5;l=a[f>>0]|0;i=m;return l|0}c[l>>2]=c[l>>2]<<7;c[l>>2]=c[l>>2]|c[k>>2];c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(!(c[k>>2]&128)){c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>18;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=6;l=a[f>>0]|0;i=m;return l|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);b=c[j>>2]|0;if(!(c[j>>2]&128)){c[j>>2]=b&-266354561;c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>11;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=7;l=a[f>>0]|0;i=m;return l|0}c[j>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[k>>2]=c[k>>2]<<14;c[k>>2]=c[k>>2]|(d[c[g>>2]>>0]|0);if(c[k>>2]&128){c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<15;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);c[k>>2]=c[k>>2]&2080895;c[k>>2]=c[k>>2]<<8;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=c[l>>2]<<4;c[k>>2]=d[(c[g>>2]|0)+-4>>0];c[k>>2]=c[k>>2]&127;c[k>>2]=(c[k>>2]|0)>>>3;c[l>>2]=c[l>>2]|c[k>>2];k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=9;l=a[f>>0]|0;i=m;return l|0}else{c[k>>2]=c[k>>2]&-266354561;c[j>>2]=c[j>>2]<<7;c[j>>2]=c[j>>2]|c[k>>2];c[l>>2]=(c[l>>2]|0)>>>4;k=c[l>>2]|0;l=c[h>>2]|0;c[l>>2]=c[j>>2];c[l+4>>2]=k;a[f>>0]=8;l=a[f>>0]|0;i=m;return l|0}return 0}function _t(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)b=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else b=0;d=c[f>>2]|0;if(!b)break;c[f>>2]=d+-1}i=g;return (d|0)==0|0}function $t(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;l=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[l>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);if(d[(c[l>>2]|0)+20>>0]|0){c[m>>2]=6;m=c[m>>2]|0;i=n;return m|0}else{c[m>>2]=au(c[c[l>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;m=c[m>>2]|0;i=n;return m|0}return 0}function au(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if(!(c[h>>2]|0))b=0;else b=c[(c[g>>2]|0)+184>>2]|0;c[l>>2]=Ns(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,b,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;l=c[l>>2]|0;i=m;return l|0}function bu(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;h=n+12|0;j=n+8|0;k=n+4|0;l=n+16|0;m=n;c[j>>2]=b;c[k>>2]=f;a[l>>0]=g;g=c[j>>2]|0;if((c[k>>2]|0)==-2){c[h>>2]=(c[g+12>>2]|0)==0?0:6;m=c[h>>2]|0;i=n;return m|0}if((a[g>>0]|0)!=(c[k>>2]|0)?(a[c[j>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;i=n;return m|0}if((a[c[j>>2]>>0]|0)==(c[k>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[l>>0]|0)!=(e[(c[j>>2]|0)+2>>1]&3|0)){if(d[l>>0]&e[(c[j>>2]|0)+2>>1]&2)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;i=n;return m|0}function cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[1080+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;i=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;i=g;return h|0}return 0}function du(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if(((e[(c[g>>2]|0)+8>>1]|0)&2|0)!=0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[j>>2]=eu(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;i=k;return j|0}c[f>>2]=0;j=c[f>>2]|0;i=k;return j|0}function eu(f,g){f=f|0;g=g|0;var 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;v=i;i=i+48|0;n=v+40|0;o=v+36|0;p=v+45|0;k=v+32|0;t=v+28|0;s=v+24|0;u=v+20|0;r=v+16|0;q=v+12|0;j=v+44|0;h=v+8|0;l=v+4|0;m=v;c[o>>2]=f;a[p>>0]=g;if((d[(c[o>>2]|0)+10>>0]|0|0)!=1?(d[p>>0]|0|0)!=1:0){c[h>>2]=ah(c[o>>2]|0)|0;if(c[h>>2]|0){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break;a[j>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[j>>0]|0;t=c[s>>2]|0;c[s>>2]=t+1;a[t>>0]=r}a[(c[o>>2]|0)+10>>0]=a[p>>0]|0}else{g=(c[o>>2]|0)+12|0;f=c[g>>2]|0;if((d[p>>0]|0|0)==1){c[g>>2]=f&-2;c[k>>2]=(c[(c[o>>2]|0)+12>>2]<<1)+1}else c[k>>2]=(f<<1)+2;c[s>>2]=c[(c[o>>2]|0)+16>>2];c[u>>2]=(c[s>>2]|0)+(c[(c[o>>2]|0)+12>>2]|0);k=c[k>>2]|0;c[t>>2]=Ah(c[(c[o>>2]|0)+32>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[t>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;i=v;return u|0}c[r>>2]=c[t>>2];if((d[(c[o>>2]|0)+10>>0]|0|0)==1){a:do if((d[p>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26171+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;l=(c[q>>2]|0)>>>8&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{m=(g>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=216+(((c[q>>2]|0)-65536|0)>>>18&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=c[q>>2]&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=220+((c[q>>2]|0)>>>8&3)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];do if((c[q>>2]|0)>>>0>=192){c[q>>2]=d[26171+((c[q>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[u>>2]|0))f=((d[c[s>>2]>>0]|0)&192|0)==128;else f=0;g=c[q>>2]|0;if(!f)break;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(g<<6)+(63&(d[m>>0]|0))}if((g>>>0>=128?(c[q>>2]&-2048|0)!=55296:0)?(c[q>>2]&-2|0)!=65534:0)break;c[q>>2]=65533}while(0);g=c[q>>2]|0;if((c[q>>2]|0)>>>0<=65535){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g>>>8;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}else{l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=216+((g-65536|0)>>>18&3);l=((c[q>>2]|0)>>>10&63)+(((c[q>>2]|0)-65536|0)>>>10&192)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;m=220+((c[q>>2]|0)>>>8&3)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=m;l=c[q>>2]&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=l;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0);u=c[r>>2]|0;c[r>>2]=u+1;a[u>>0]=0}else{b:do if((d[(c[o>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[q>>2]=(c[q>>2]|0)+((d[m>>0]|0)<<8);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[l>>2]=(c[l>>2]|0)+((d[m>>0]|0)<<8);c[q>>2]=(c[l>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=224+(g>>>12&15);m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;m=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=m;k=128+(c[q>>2]&63)&255;m=c[r>>2]|0;c[r>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[u>>2]|0)>>>0)break b;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[q>>2]=(c[q>>2]|0)+(d[l>>0]|0);if((c[q>>2]|0)>>>0>=55296&(c[q>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[u>>2]|0)>>>0:0){l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(d[l>>0]|0)<<8;l=c[s>>2]|0;c[s>>2]=l+1;c[m>>2]=(c[m>>2]|0)+(d[l>>0]|0);c[q>>2]=(c[m>>2]&1023)+((c[q>>2]&63)<<10)+((c[q>>2]&960)+64<<10)}g=c[q>>2]|0;if((c[q>>2]|0)>>>0<128){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=g;continue}f=c[q>>2]|0;if(g>>>0<2048){k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=192+(f>>>6&31);k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}g=c[q>>2]|0;if(f>>>0<65536){l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=224+(g>>>12&15);l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}else{k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=240+(g>>>18&7);k=128+((c[q>>2]|0)>>>12&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;l=128+((c[q>>2]|0)>>>6&63)&255;k=c[r>>2]|0;c[r>>2]=k+1;a[k>>0]=l;k=128+(c[q>>2]&63)&255;l=c[r>>2]|0;c[r>>2]=l+1;a[l>>0]=k;continue}}while(0);c[(c[o>>2]|0)+12>>2]=(c[r>>2]|0)-(c[t>>2]|0)}a[c[r>>2]>>0]=0;c[q>>2]=e[(c[o>>2]|0)+8>>1];Wg(c[o>>2]|0);b[(c[o>>2]|0)+8>>1]=514|c[q>>2]&32799;a[(c[o>>2]|0)+10>>0]=a[p>>0]|0;c[(c[o>>2]|0)+16>>2]=c[t>>2];c[(c[o>>2]|0)+20>>2]=c[(c[o>>2]|0)+16>>2];u=fu(c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+24>>2]=u}c[n>>2]=0;u=c[n>>2]|0;i=v;return u|0}function fu(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[f>>2]|0)!=0?(gu(c[f>>2]|0,c[g>>2]|0)|0)!=0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];b=c[d>>2]|0;i=h;return b|0}c[d>>2]=Tb[c[60>>2]&255](c[g>>2]|0)|0;b=c[d>>2]|0;i=h;return b|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){b=0;b=b&1;i=f;return b|0}b=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;b=b&1;i=f;return b|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){i=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){i=f;return}Qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function iu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+20|0;e=k+16|0;f=k+12|0;h=k+8|0;j=k+4|0;g=k;c[b>>2]=a;Of(c[b>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[h>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[h>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[j>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[j>>2]|0)+42>>0]|0)&16)ou(c[b>>2]|0,c[j>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[(c[b>>2]|0)+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[g>>2]|0)+16>>2]|0)ou(c[b>>2]|0,c[(c[g>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}pu(c[b>>2]|0);i=k;return}function ju(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mu(c[d>>2]|0,68);i=b;return 0}function ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){b=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[e>>2]|0)!=0?(lu(c[e>>2]|0)|0)!=0:0){b=7;break}c[d>>2]=(c[d>>2]|0)+1}if((b|0)==7){c[f>>2]=1;f=c[f>>2]|0;i=g;return f|0}else if((b|0)==9){c[f>>2]=0;f=c[f>>2]|0;i=g;return f|0}return 0}function lu(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;d=l+24|0;e=l+20|0;g=l+16|0;f=l+12|0;j=l+8|0;h=l+4|0;k=l;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){i=l;return}c[f>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[j>>2]=c[(c[f>>2]|0)+(c[g>>2]<<2)>>2];c[h>>2]=c[(c[j>>2]|0)+8>>2];if((c[h>>2]|0)!=0?(c[k>>2]=c[(c[c[h>>2]>>2]|0)+(c[e>>2]|0)>>2],(c[k>>2]|0)!=0):0)Tb[c[k>>2]&255](c[h>>2]|0)|0;c[(c[j>>2]|0)+20>>2]=0;nu(c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+1}Tf(c[d>>2]|0,c[f>>2]|0);c[(c[d>>2]|0)+316>>2]=0;i=l;return}function nu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){i=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)Tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Tf(c[d>>2]|0,c[b>>2]|0);i=f;return}function ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;d=h+12|0;j=h+8|0;f=h+4|0;e=h;c[d>>2]=a;c[j>>2]=b;c[f>>2]=(c[j>>2]|0)+56;while(1){if(!(c[c[f>>2]>>2]|0)){g=6;break}a=c[c[f>>2]>>2]|0;if((c[c[c[f>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[f>>2]=a+24}if((g|0)==6){i=h;return}c[e>>2]=a;c[c[f>>2]>>2]=c[(c[e>>2]|0)+24>>2];nu(c[e>>2]|0);i=h;return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){i=f;return}Qh(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];nu(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);i=f;return}function qu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);i=b;return}function ru(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1608;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[416]=(c[53]|0)==0&1;if((c[416]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0){c[417]=c[55];c[405]=10;c[415]=1;i=d;return 0}else{c[417]=0;c[405]=10;c[415]=1;i=d;return 0}return 0}function su(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;c[d>>2]=a;a=1608;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));i=d;return}function tu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;i=i+32|0;g=m+20|0;h=m+16|0;j=m+12|0;k=m+8|0;l=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[n>>2]=60+((c[416]|0)*52|0);b=c[n>>2]|0;c[k>>2]=kg(b,((b|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;i=m;return n|0}if(c[416]|0){c[l>>2]=(c[k>>2]|0)+60;c[(c[l>>2]|0)+12>>2]=10}else c[l>>2]=1608;if(!(d[(c[l>>2]|0)+20+14>>0]|0)){a[(c[l>>2]|0)+20+14>>0]=1;n=(c[l>>2]|0)+20|0;c[(c[l>>2]|0)+20+24>>2]=n;c[(c[l>>2]|0)+20+28>>2]=n}c[c[k>>2]>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=c[g>>2];c[(c[k>>2]|0)+8>>2]=c[h>>2];c[(c[k>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[k>>2]|0)+16>>2]=(c[j>>2]|0)!=0?1:0;Ku(c[k>>2]|0);if(c[j>>2]|0){c[(c[k>>2]|0)+20>>2]=10;n=(c[l>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[k>>2]|0)+20>>2]|0);c[(c[l>>2]|0)+12>>2]=(c[(c[l>>2]|0)+4>>2]|0)+10-(c[(c[l>>2]|0)+8>>2]|0)}if(c[(c[k>>2]|0)+44>>2]|0){n=c[k>>2]|0;i=m;return n|0}Au(c[k>>2]|0);c[k>>2]=0;n=c[k>>2]|0;i=m;return n|0}function uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){i=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;Cu(c[e>>2]|0);i=g;return}function vu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];i=d;return c[b>>2]|0}function wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;a=Hu(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;i=e;return a|0}function xu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;k=i;i=i+32|0;n=k+24|0;m=k+20|0;l=k+16|0;f=k+12|0;h=k+8|0;g=k+4|0;j=k;c[n>>2]=b;c[m>>2]=d;c[l>>2]=e;c[f>>2]=c[n>>2];c[h>>2]=c[m>>2];c[g>>2]=c[c[f>>2]>>2];if((c[l>>2]|0)==0?(c[(c[g>>2]|0)+16>>2]|0)>>>0<=(c[(c[g>>2]|0)+4>>2]|0)>>>0:0){c[j>>2]=(c[g>>2]|0)+20+24;c[(c[h>>2]|0)+28>>2]=(c[g>>2]|0)+20;m=c[h>>2]|0;n=c[c[j>>2]>>2]|0;c[(c[h>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[j>>2]>>2]=c[h>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[h>>2]|0)+12>>0]=0;i=k;return}Eu(c[h>>2]|0,1);i=k;return}function yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;o=l+28|0;n=l+24|0;m=l+20|0;f=l+16|0;h=l+12|0;j=l+8|0;k=l+4|0;g=l;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[f>>2]=e;c[h>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[k>>2]=(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[k>>2]>>2]|0)==(c[j>>2]|0))break;c[k>>2]=(c[c[k>>2]>>2]|0)+16}c[c[k>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[f>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[h>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[f>>2]|0)>>>0<=(c[(c[h>>2]|0)+32>>2]|0)>>>0){i=l;return}c[(c[h>>2]|0)+32>>2]=c[f>>2];i=l;return}function zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){i=f;return}Gu(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;i=f;return}function Au(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;f=b+8|0;d=b+4|0;e=b;c[f>>2]=a;c[d>>2]=c[f>>2];c[e>>2]=c[c[d>>2]>>2];Gu(c[d>>2]|0,0);a=(c[e>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+24>>2]|0);a=(c[e>>2]|0)+8|0;c[a>>2]=(c[a>>2]|0)-(c[(c[d>>2]|0)+20>>2]|0);c[(c[e>>2]|0)+12>>2]=(c[(c[e>>2]|0)+4>>2]|0)+10-(c[(c[e>>2]|0)+8>>2]|0);Cu(c[d>>2]|0);Kd(c[(c[d>>2]|0)+56>>2]|0);Kd(c[(c[d>>2]|0)+48>>2]|0);Kd(c[d>>2]|0);i=b;return}function Bu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){i=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;Cu(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];i=f;return}function Cu(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;f=g+4|0;e=g;c[b>>2]=a;c[f>>2]=c[c[b>>2]>>2];while(1){if((c[(c[f>>2]|0)+16>>2]|0)>>>0<=(c[(c[f>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[f>>2]|0)+20+28>>2]|0;c[e>>2]=a;if(d[a+14>>0]|0)break;Du(c[e>>2]|0)|0;Eu(c[e>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){i=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){i=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;i=g;return}function Du(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;i=e;return c[d>>2]|0}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=h+16|0;e=h+12|0;j=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[j>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[j>>2]<<2);while(1){b=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=b}c[c[g>>2]>>2]=c[b>>2];j=(c[f>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+-1;if(!(c[e>>2]|0)){i=h;return}Fu(c[d>>2]|0);i=h;return}function Fu(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else $i(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){i=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;i=f;return}function Gu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;e=k+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[(c[e>>2]|0)+44>>2]|0)>>>0)break;c[j>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){b=c[c[j>>2]>>2]|0;c[h>>2]=b;if(!b)break;if((c[(c[h>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[j>>2]=(c[h>>2]|0)+16;continue}b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+-1;c[c[j>>2]>>2]=c[(c[h>>2]|0)+16>>2];if(!(a[(c[h>>2]|0)+12>>0]|0))Du(c[h>>2]|0)|0;Fu(c[h>>2]|0)}c[g>>2]=(c[g>>2]|0)+1}i=k;return}function Hu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;j=l+20|0;m=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[k>>2]=0;c[k>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[k>>2]|0)d=(c[(c[k>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;e=c[k>>2]|0;if(!d)break;c[k>>2]=c[e+16>>2]}if(e){e=c[k>>2]|0;if(a[(c[k>>2]|0)+12>>0]|0){c[j>>2]=e;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=Du(e)|0;m=c[j>>2]|0;i=l;return m|0}}else if(c[g>>2]|0){c[j>>2]=Iu(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[j>>2]|0;i=l;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;i=l;return m|0}return 0}function Iu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+48|0;f=p+32|0;g=p+28|0;h=p+24|0;j=p+20|0;l=p+16|0;m=p+12|0;o=p+8|0;n=p+4|0;k=p;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[m>>2]=c[c[g>>2]>>2];c[o>>2]=0;c[l>>2]=(c[(c[g>>2]|0)+40>>2]|0)-(c[(c[g>>2]|0)+36>>2]|0);do if((c[j>>2]|0)==1){if((c[l>>2]|0)>>>0<(c[(c[m>>2]|0)+12>>2]|0)>>>0?(c[l>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if(!(Ju(c[g>>2]|0)|0))break;if((c[(c[g>>2]|0)+36>>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}c[f>>2]=0;o=c[f>>2]|0;i=p;return o|0}while(0);if((c[(c[g>>2]|0)+40>>2]|0)>>>0>=(c[(c[g>>2]|0)+44>>2]|0)>>>0)Ku(c[g>>2]|0);do if((c[(c[g>>2]|0)+16>>2]|0)!=0?(a[(c[(c[m>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[g>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[g>>2]|0)+24>>2]|0)>>>0?(Ju(c[g>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[m>>2]|0)+20+28>>2];Eu(c[o>>2]|0,0);Du(c[o>>2]|0)|0;c[n>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[n>>2]|0)+12>>2]|0)!=(c[(c[g>>2]|0)+12>>2]|0)){Fu(c[o>>2]|0);c[o>>2]=0;break}else{m=(c[m>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)-((c[(c[n>>2]|0)+16>>2]|0)-(c[(c[g>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=Lu(c[g>>2]|0,(c[j>>2]|0)==1&1)|0;if((c[o>>2]|0)!=0?(c[k>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+44>>2]|0)>>>0)|0,n=(c[g>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[h>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[g>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[g>>2]|0)+48>>2]|0)+(c[k>>2]<<2)>>2]=c[o>>2],(c[h>>2]|0)>>>0>(c[(c[g>>2]|0)+32>>2]|0)>>>0):0)c[(c[g>>2]|0)+32>>2]=c[h>>2];c[f>>2]=c[o>>2];o=c[f>>2]|0;i=p;return o|0}function Ju(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[419]|0)!=0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[418]|0):0){c[b>>2]=c[426];e=c[b>>2]|0;i=d;return e|0}c[b>>2]=Nu()|0;e=c[b>>2]|0;i=d;return e|0}function Ku(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;d=k+20|0;g=k+16|0;f=k+12|0;j=k+8|0;h=k+4|0;e=k;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[g>>2]=a;c[g>>2]=(c[g>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)Wj();c[d>>2]=kg(c[g>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Xj();if(!(c[d>>2]|0)){i=k;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[(c[(c[b>>2]|0)+48>>2]|0)+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[j>>2]=a;if(!a)break;c[e>>2]=((c[(c[j>>2]|0)+8>>2]|0)>>>0)%((c[g>>2]|0)>>>0)|0;c[h>>2]=c[(c[j>>2]|0)+16>>2];c[(c[j>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[e>>2]<<2)>>2];c[(c[d>>2]|0)+(c[e>>2]<<2)>>2]=c[j>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(c[(c[b>>2]|0)+48>>2]|0);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[g>>2];i=k;return}function Lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;j=l;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)k=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?(Mu(c[f>>2]|0)|0)!=0:0){k=4;break}if(c[g>>2]|0)Wj();c[j>>2]=hj(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[j>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Xj();if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);if((k|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){k=(c[c[f>>2]>>2]|0)+16|0;c[k>>2]=(c[k>>2]|0)+1}c[e>>2]=c[h>>2];k=c[e>>2]|0;i=l;return k|0}function Mu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;l=i;i=i+32|0;d=l+28|0;e=l+24|0;j=l;k=l+20|0;g=l+16|0;f=l+12|0;h=l+8|0;c[e>>2]=b;if(!(c[417]|0)){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;k=c[d>>2]|0;i=l;return k|0}Wj();if((c[417]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[417]|0;m=AR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=j;c[b>>2]=m;c[b+4>>2]=C}else{b=c[417]|0;b=AR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=j;c[m>>2]=b;c[m+4>>2]=C}o=j;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=AR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=C;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){o=j;c[o>>2]=_(c[(c[e>>2]|0)+12>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[o+4>>2]=0}o=j;o=$f(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[k>>2]=o;Xj();a:do if(c[k>>2]|0){o=ag(c[k>>2]|0)|0;c[g>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break a;c[h>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[h>>2]>>2]=c[k>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=1;a[(c[h>>2]|0)+14>>0]=0;c[(c[h>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[h>>2];c[k>>2]=(c[k>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[f>>2]=(c[f>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;i=l;return o|0}function Nu(){return c[77]|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;i=i+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=hR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;i=e;return f|0}else{c[d>>2]=a;Rd(7,27007,d);f=c[b>>2]|0;i=e;return f|0}return 0}function Pu(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;iR(c[d>>2]|0);i=b;return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=kR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){a=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=a;c[g+4>>2]=((a|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;i=h;return g|0}else{b=Ru(c[d>>2]|0)|0;a=c[e>>2]|0;c[g>>2]=b;c[g+4>>2]=a;Rd(7,26971,g);g=c[f>>2]|0;i=h;return g|0}return 0}function Ru(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;i=d;return c[c[b>>2]>>2]|0}function Su(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;c[b>>2]=a;i=d;return (c[b>>2]|0)+7&-8|0}function Tu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return 0}function Uu(a){a=a|0;var b=0;b=i;i=i+16|0;c[b>>2]=a;i=b;return}function Vu(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=Yb[c[e>>2]&255](1608,0)|0;if(!(c[b>>2]|0)){e=c[b>>2]|0;i=d;return e|0}c[c[b>>2]>>2]=-1;e=c[b>>2]|0;i=d;return e|0}function Wu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;n=o+24|0;m=o+20|0;h=o+16|0;l=o+12|0;j=o+8|0;f=o+4|0;g=o;c[m>>2]=b;c[h>>2]=e;a:do switch(d[39740+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[l>>2]=1;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&1))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[h>>2]>>2]=90;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}c[l>>2]=2;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!((k|0)!=0?(c[j>>2]|0)!=10:0))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 17:{c[c[h>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 18:{c[c[h>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 19:{c[c[h>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 20:{c[c[h>>2]>>2]=89;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 21:{c[c[h>>2]>>2]=91;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?(d[(c[m>>2]|0)+2>>0]|0)!=0:0){c[l>>2]=3;c[j>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[j>>2]|0)==42?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==47:0)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}if(c[j>>2]|0)c[l>>2]=(c[l>>2]|0)+1;c[c[h>>2]>>2]=160;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}c[c[h>>2]>>2]=92;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 22:{c[c[h>>2]>>2]=93;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 14:{c[c[h>>2]>>2]=79;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;i=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=81;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}if((c[j>>2]|0)==62){c[c[h>>2]>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==60){c[f>>2]=87;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=82;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[j>>2]=m;if((m|0)==61){c[c[h>>2]>>2]=83;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if((c[j>>2]|0)==62){c[f>>2]=88;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=80;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}case 15:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[f>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=78;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 10:{f=c[h>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[f>>2]=86;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=94;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}}case 23:{c[c[h>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 24:{c[c[h>>2]>>2]=85;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 25:{c[c[h>>2]>>2]=96;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}case 8:{c[f>>2]=d[c[m>>2]>>0];c[l>>2]=1;while(1){k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)==(c[f>>2]|0)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=(c[f>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}if((c[j>>2]|0)==39){c[c[h>>2]>>2]=97;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}f=c[h>>2]|0;if(c[j>>2]|0){c[f>>2]=27;c[n>>2]=(c[l>>2]|0)+1;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}}case 26:{if(d[19011+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4)k=64;else{c[c[h>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}break}case 3:{k=64;break}case 9:{c[l>>2]=1;c[j>>2]=d[c[m>>2]>>0];while(1){if((c[j>>2]|0)==93)break;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=(c[j>>2]|0)==93?27:161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 6:{c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}case 5:case 4:{c[g>>2]=0;c[c[h>>2]>>2]=135;c[l>>2]=1;while(1){b=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=b;if(!b)break;if(d[19011+(c[j>>2]&255)>>0]&70)c[g>>2]=(c[g>>2]|0)+1;else{if((c[j>>2]|0)==40&(c[g>>2]|0)>0){k=107;break}if((c[j>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=58)break;c[l>>2]=(c[l>>2]|0)+1}c[l>>2]=(c[l>>2]|0)+1}do if((k|0)==107){while(1){c[l>>2]=(c[l>>2]|0)+1;k=d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0;c[j>>2]=k;if(!k)break;if((c[j>>2]|0)!=41?(d[19011+(c[j>>2]&255)>>0]&1|0)==0:0)k=107;else break}if((c[j>>2]|0)==41){c[l>>2]=(c[l>>2]|0)+1;break}else{c[c[h>>2]>>2]=161;break}}while(0);if(!(c[g>>2]|0))c[c[h>>2]>>2]=161;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}case 1:{c[l>>2]=1;while(1){f=c[l>>2]|0;if((d[39740+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]|0)>1)break;c[l>>2]=f+1}if(d[19011+(d[(c[m>>2]|0)+f>>0]|0)>>0]&70){c[l>>2]=(c[l>>2]|0)+1;break a}c[c[h>>2]>>2]=27;c[n>>2]=Ri(c[m>>2]|0,c[l>>2]|0,c[h>>2]|0)|0;n=c[n>>2]|0;i=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[h>>2]>>2]=134;c[l>>2]=2;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}if(!((d[(c[m>>2]|0)+f>>0]|0)==39?((c[l>>2]|0)%2|0|0)==0:0))k=131;b:do if((k|0)==131){c[c[h>>2]>>2]=161;while(1){if(!(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)==39)break b;c[l>>2]=(c[l>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)c[l>>2]=(c[l>>2]|0)+1;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else k=138;break}case 2:{k=138;break}default:{c[c[h>>2]>>2]=161;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}while(0);if((k|0)==64){c[c[h>>2]>>2]=132;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[19011+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8){c[l>>2]=3;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&8))break;c[l>>2]=f+1}c[n>>2]=f;n=c[n>>2]|0;i=o;return n|0}}while(0);c[l>>2]=0;while(1){f=c[l>>2]|0;if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=f+1}if((d[(c[m>>2]|0)+f>>0]|0)==46){c[l>>2]=(c[l>>2]|0)+1;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}if(!((d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)!=69:0))k=82;do if((k|0)==82){if(!(d[19011+(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[l>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[19011+(d[(c[m>>2]|0)+((c[l>>2]|0)+2)>>0]|0)>>0]&4))break}c[l>>2]=(c[l>>2]|0)+2;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&4))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=133}while(0);while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[c[h>>2]>>2]=161;c[l>>2]=(c[l>>2]|0)+1}c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}else if((k|0)==138)c[l>>2]=1;while(1){if(!(d[19011+(d[(c[m>>2]|0)+(c[l>>2]|0)>>0]|0)>>0]&70))break;c[l>>2]=(c[l>>2]|0)+1}c[c[h>>2]>>2]=27;c[n>>2]=c[l>>2];n=c[n>>2]|0;i=o;return n|0}function Xu(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;i=i+48|0;l=o+32|0;p=o+28|0;j=o+24|0;h=o+20|0;m=o+8|0;k=o+4|0;n=o;c[p>>2]=d;c[j>>2]=e;c[h>>2]=g;c[n>>2]=c[p>>2];if((c[c[n>>2]>>2]|0)<0){c[c[n>>2]>>2]=0;b[(c[n>>2]|0)+8>>1]=0;a[(c[n>>2]|0)+8+2>>0]=0}c[(c[n>>2]|0)+4>>2]=c[h>>2];while(1){c[k>>2]=iv(c[n>>2]|0,c[j>>2]&255)|0;h=c[k>>2]|0;do if((c[k>>2]|0)>>>0>974)if(h>>>0<=1300){kv(c[n>>2]|0,(c[k>>2]|0)-975|0);break}else{c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];d=c[n>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];lv(d,p,l);gv(c[n>>2]|0,c[j>>2]&255,m);c[j>>2]=251;break}else{if(h>>>0>439)c[k>>2]=(c[k>>2]|0)+326;e=c[n>>2]|0;d=c[k>>2]|0;p=c[j>>2]|0;c[l>>2]=c[f>>2];c[l+4>>2]=c[f+4>>2];jv(e,d,p,l);c[j>>2]=251}while(0);if((c[j>>2]|0)==251){h=13;break}if((c[c[n>>2]>>2]|0)<0){h=13;break}}if((h|0)==13){i=o;return}}function Yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)<0)break;fv(c[e>>2]|0)}Qb[c[d>>2]&255](c[e>>2]|0);i=f;return}function Zu(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){i=e;return}c[d>>2]=c[c[b>>2]>>2];Sf(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+52>>2]|0;if(c[(c[b>>2]|0)+48>>2]|0)c[(c[(c[b>>2]|0)+48>>2]|0)+52>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+52>>2]|0)c[(c[(c[b>>2]|0)+52>>2]|0)+48>>2]=c[(c[b>>2]|0)+48>>2];c[(c[b>>2]|0)+40>>2]=-1241070648;c[c[b>>2]>>2]=0;Tf(c[d>>2]|0,c[b>>2]|0);i=e;return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);$u(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);av(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Tf(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=h;return}c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;dv(a,c[c[g>>2]>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Tf(a,c[(c[e>>2]|0)+4>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=h;return}function av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;bv(c[f>>2]|0,c[e>>2]|0,1);i=d;return}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];$u(c[e>>2]|0,c[c[f>>2]>>2]|0);cv(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);$u(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);dv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);_u(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Tf(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}i=j;return}function cv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){i=j;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Tf(a,c[(c[h>>2]|0)+4>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Tf(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1)Tf(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1)$u(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Rf(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);av(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);dv(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);ev(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Tf(a,c[f>>2]|0);i=j;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=f;return}do if(!(c[(c[e>>2]|0)+4>>2]&16384)){dv(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);dv(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);if(c[(c[e>>2]|0)+4>>2]&65536)Tf(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0);a=c[d>>2]|0;b=(c[e>>2]|0)+20|0;if(c[(c[e>>2]|0)+4>>2]&2048){av(a,c[b>>2]|0);break}else{$u(a,c[b>>2]|0);break}}while(0);if(c[(c[e>>2]|0)+4>>2]&32768){i=f;return}Tf(c[d>>2]|0,c[e>>2]|0);i=f;return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){i=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Tf(a,c[(c[c[e>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(a,c[c[e>>2]>>2]|0);Tf(c[d>>2]|0,c[e>>2]|0);i=g;return}function fv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-1;c[e>>2]=(c[f>>2]|0)+8+(b<<4);gv(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);i=d;return}function gv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;j=i;i=i+16|0;l=j+8|0;k=j+12|0;g=j+4|0;h=j;c[l>>2]=b;a[k>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[l>>2]|0)+4>>2];do switch(d[k>>0]|0|0){case 206:case 195:case 194:case 163:{av(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 173:case 172:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 225:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{$u(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 212:case 211:case 200:case 193:{cv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 249:case 196:{_u(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 240:case 235:case 226:case 224:case 215:case 203:case 201:{dv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 220:case 217:case 216:{ev(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 236:case 231:{hv(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);i=j;return}case 233:{ev(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);i=j;return}default:{i=j;return}}while(0)}function hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];dv(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);$u(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);av(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);ev(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0)}i=g;return}function iv(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=i;i=i+32|0;h=p+16|0;q=p+12|0;j=p+21|0;k=p+8|0;n=p+4|0;l=p+20|0;m=p;c[q>>2]=f;a[j>>0]=g;c[n>>2]=e[(c[q>>2]|0)+8+(c[c[q>>2]>>2]<<4)>>1];if((c[n>>2]|0)>=975){c[h>>2]=c[n>>2];q=c[h>>2]|0;i=p;return q|0}while(1){c[k>>2]=b[15266+(c[n>>2]<<1)>>1];if((c[k>>2]|0)==-72){o=4;break}c[k>>2]=(c[k>>2]|0)+(d[j>>0]|0);if(!((c[k>>2]|0)<0|(c[k>>2]|0)>=1499)?(d[38171+(c[k>>2]|0)>>0]|0)==(d[j>>0]|0):0){o=15;break}if((d[j>>0]|0)<=0)break;if((d[j>>0]|0)>>>0>=70){o=11;break}q=a[39670+(d[j>>0]|0)>>0]|0;a[l>>0]=q;if(!(q&255)){o=11;break}a[j>>0]=a[l>>0]|0}if((o|0)==4){c[h>>2]=e[16146+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}else if((o|0)==11){c[m>>2]=(c[k>>2]|0)-(d[j>>0]|0)+70;if((c[m>>2]|0)>=0&(c[m>>2]|0)<1499?(d[38171+(c[m>>2]|0)>>0]|0)==70:0){c[h>>2]=e[12264+(c[m>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}}else if((o|0)==15){c[h>>2]=e[12264+(c[k>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}c[h>>2]=e[16146+(c[n>>2]<<1)>>1];q=c[h>>2]|0;i=p;return q|0}function jv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;h=m+12|0;j=m+8|0;k=m+4|0;l=m;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+1;f=c[h>>2]|0;if((c[c[h>>2]>>2]|0)>=100){mv(f);i=m;return}else{c[l>>2]=(c[h>>2]|0)+8+(c[f>>2]<<4);b[c[l>>2]>>1]=c[j>>2];a[(c[l>>2]|0)+2>>0]=c[k>>2];l=(c[l>>2]|0)+4|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];i=m;return}}function kv(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;aa=i;i=i+272|0;C=aa+264|0;N=aa+40|0;M=aa+32|0;P=aa+24|0;O=aa+16|0;U=aa+8|0;L=aa;W=aa+256|0;X=aa+252|0;Z=aa+248|0;Y=aa+244|0;_=aa+240|0;$=aa+236|0;V=aa+232|0;R=aa+220|0;J=aa+208|0;K=aa+196|0;j=aa+176|0;k=aa+172|0;y=aa+168|0;r=aa+164|0;o=aa+160|0;Q=aa+152|0;z=aa+144|0;p=aa+140|0;l=aa+136|0;A=aa+132|0;q=aa+128|0;n=aa+124|0;v=aa+120|0;w=aa+116|0;B=aa+112|0;D=aa+108|0;F=aa+104|0;E=aa+100|0;G=aa+96|0;H=aa+92|0;I=aa+88|0;T=aa+80|0;s=aa+76|0;t=aa+72|0;u=aa+68|0;x=aa+64|0;S=aa+60|0;m=aa+56|0;h=aa+48|0;c[W>>2]=f;c[X>>2]=g;c[V>>2]=c[(c[W>>2]|0)+4>>2];c[_>>2]=(c[W>>2]|0)+8+(c[c[W>>2]>>2]<<4);if((d[27094+(c[X>>2]<<1)+1>>0]|0)==0?(c[c[W>>2]>>2]|0)>=99:0){mv(c[W>>2]|0);i=aa;return}a:do switch(c[X>>2]|0){case 0:{a[(c[V>>2]|0)+453>>0]=1;break}case 1:{a[(c[V>>2]|0)+453>>0]=2;break}case 2:{nv(c[V>>2]|0);break}case 3:{ov(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[_>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[_>>2]|0)+4>>2]=d[(c[_>>2]|0)+2>>0];break}case 9:case 8:{pv(c[V>>2]|0);break}case 10:{qv(c[V>>2]|0);break}case 11:{rv(c[V>>2]|0,0,(c[_>>2]|0)+4|0);break}case 12:{rv(c[V>>2]|0,1,(c[_>>2]|0)+4|0);break}case 13:{rv(c[V>>2]|0,2,(c[_>>2]|0)+4|0);break}case 14:{sv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,0,0,c[(c[_>>2]|0)+-32+4>>2]|0);break}case 15:{tv(c[V>>2]|0);break}case 209:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[_>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[_>>2]|0)+4>>2]=1;break}case 20:{uv(c[V>>2]|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-16+4|0,c[(c[_>>2]|0)+4>>2]&255,0);break}case 21:{uv(c[V>>2]|0,0,0,0,c[(c[_>>2]|0)+4>>2]|0);av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[_>>2]|0)+4+4>>2]|0)==5?(zd(c[(c[_>>2]|0)+4>>2]|0,25353,5)|0)==0:0){c[(c[_>>2]|0)+-16+4>>2]=96;break a}c[(c[_>>2]|0)+-16+4>>2]=0;V=c[V>>2]|0;U=c[(c[_>>2]|0)+4>>2]|0;c[L>>2]=c[(c[_>>2]|0)+4+4>>2];c[L+4>>2]=U;Ch(V,27746,L);break}case 24:{vv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[_>>2]|0)+16+4+4>>2]=0;c[(c[_>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[_>>2]|0)+-48+4+4>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0)-(c[(c[_>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[_>>2]|0)+-80+4+4>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0)-(c[(c[_>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[_>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+4+4>>2]|0)+((c[(c[_>>2]|0)+4>>2]|0)-(c[(c[_>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{V=(c[V>>2]|0)+328|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];break}case 32:case 30:{wv(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 31:{wv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0);break}case 33:{c[J>>2]=xv(c[V>>2]|0,155,c[(c[_>>2]|0)+4>>2]|0,0,0)|0;c[J+4>>2]=c[(c[_>>2]|0)+-16+4>>2];c[J+8>>2]=c[(c[_>>2]|0)+4+8>>2];wv(c[V>>2]|0,J);break}case 34:{U=c[V>>2]|0;T=(c[_>>2]|0)+4|0;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];yv(K,U,97,C);wv(c[V>>2]|0,K);break}case 35:{zv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 36:{Av(c[V>>2]|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);break}case 37:{Bv(c[V>>2]|0,0,0,0,0,c[(c[_>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 38:{Cv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 39:{Dv(c[V>>2]|0,0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 40:{Ev(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 41:{Fv(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 44:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+-16+4>>2]&~c[(c[_>>2]|0)+4+4>>2]|c[(c[_>>2]|0)+4>>2];break}case 46:{c[(c[_>>2]|0)+-16+4>>2]=0;c[(c[_>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[_>>2]|0)+-32+4>>2]=0;c[(c[_>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];c[(c[_>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2]<<8;c[(c[_>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[_>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[_>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[_>>2]|0)+4>>2]=9;break}case 53:{c[(c[_>>2]|0)+4>>2]=6;break}case 54:{c[(c[_>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[_>>2]|0)+-32+4>>2]=0;break}case 142:case 71:case 56:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 210:case 186:case 183:case 75:case 58:{c[(c[_>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[_>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[V>>2]|0)+328+4>>2]=0;break}case 63:{Av(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,0);break}case 64:{Bv(c[V>>2]|0,0,0,0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,0,0,0,0)|0;break}case 65:{Cv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);break}case 66:{Dv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,(c[_>>2]|0)+-48+4|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);Ev(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[_>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 72:{c[(c[_>>2]|0)+4>>2]=4;break}case 143:case 73:{c[(c[_>>2]|0)+4>>2]=5;break}case 74:{Gv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 77:{Hv(c[V>>2]|0,(c[_>>2]|0)+-128+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0);break}case 78:{Gv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,1,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 79:{c[j>>2]=c[1272];c[j+4>>2]=c[1273];c[j+8>>2]=c[1274];c[j+12>>2]=c[1275];c[j+16>>2]=c[1276];Iv(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,j)|0;av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 80:{c[k>>2]=c[(c[_>>2]|0)+4>>2];if(c[k>>2]|0){c[(c[k>>2]|0)+64>>2]=c[(c[_>>2]|0)+-16+4>>2];Jv(c[V>>2]|0,c[k>>2]|0)}else _u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);c[(c[_>>2]|0)+-16+4>>2]=c[k>>2];break}case 81:{c[y>>2]=c[(c[_>>2]|0)+4>>2];c[r>>2]=c[(c[_>>2]|0)+-32+4>>2];if((c[y>>2]|0)!=0?(c[(c[y>>2]|0)+48>>2]|0)!=0:0){c[Q+4>>2]=0;Jv(c[V>>2]|0,c[y>>2]|0);c[o>>2]=Kv(c[V>>2]|0,0,0,0,Q,c[y>>2]|0,0,0)|0;c[y>>2]=Lv(c[V>>2]|0,0,c[o>>2]|0,0,0,0,0,0,0,0)|0}if(c[y>>2]|0){a[(c[y>>2]|0)+4>>0]=c[(c[_>>2]|0)+-16+4>>2];c[(c[y>>2]|0)+48>>2]=c[r>>2];if(c[r>>2]|0){U=(c[r>>2]|0)+8|0;c[U>>2]=c[U>>2]&-513}U=(c[y>>2]|0)+8|0;c[U>>2]=c[U>>2]&-513;if((c[(c[_>>2]|0)+-16+4>>2]|0)!=116)a[(c[V>>2]|0)+22>>0]=1}else av(c[c[V>>2]>>2]|0,c[r>>2]|0);c[(c[_>>2]|0)+-32+4>>2]=c[y>>2];break}case 84:case 82:{c[(c[_>>2]|0)+4>>2]=d[(c[_>>2]|0)+2>>0];break}case 83:{c[(c[_>>2]|0)+-16+4>>2]=116;break}case 85:{V=Lv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+4+4>>2]|0)|0;c[(c[_>>2]|0)+-128+4>>2]=V;break}case 86:{V=Lv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,0,0,0,0,0,256,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 87:{c[p>>2]=c[(c[_>>2]|0)+-64+4>>2];c[z>>2]=Lv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,0,0,0,0,0,768,0,0)|0;if(c[p>>2]|0){V=(c[p>>2]|0)+8|0;c[V>>2]=c[V>>2]&-513}if(c[z>>2]|0){a[(c[z>>2]|0)+4>>0]=116;c[(c[z>>2]|0)+48>>2]=c[p>>2];c[(c[_>>2]|0)+-64+4>>2]=c[z>>2];break a}else{c[(c[_>>2]|0)+-64+4>>2]=c[p>>2];break a}}case 88:{c[(c[_>>2]|0)+4>>2]=1;break}case 89:{c[(c[_>>2]|0)+4>>2]=2;break}case 205:case 199:case 126:case 119:case 91:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 92:{U=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-32+4>>2]=U;if((c[(c[_>>2]|0)+4+4>>2]|0)>>>0>0)Nv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+4|0,1);Ov(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+-16+4|0);break}case 93:{c[l>>2]=Pv(c[c[V>>2]>>2]|0,158,0)|0;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[l>>2]|0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;break}case 94:{c[A>>2]=xv(c[V>>2]|0,158,0,0,(c[_>>2]|0)+4|0)|0;c[q>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-32+4|0)|0;c[n>>2]=xv(c[V>>2]|0,122,c[q>>2]|0,c[A>>2]|0,0)|0;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[n>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 220:case 219:case 106:case 95:{V=(c[_>>2]|0)+-16+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];break}case 97:{V=rh(c[c[V>>2]>>2]|0,80,0)|0;c[(c[_>>2]|0)+16+4>>2]=V;break}case 98:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];Qv(c[(c[_>>2]|0)+-16+4>>2]|0);break}case 99:{if((c[(c[_>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[_>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[_>>2]|0)+4>>2];break}case 100:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 101:{U=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,(c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=U;Rv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,(c[_>>2]|0)+-32+4|0);break}case 102:{U=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-128+4>>2]|0,(c[_>>2]|0)+-112+4|0,(c[_>>2]|0)+-96+4|0,(c[_>>2]|0)+-32+4|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-128+4>>2]=U;Sv(c[V>>2]|0,c[(c[_>>2]|0)+-128+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 103:{V=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,0,0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=V;break}case 104:{if((((c[(c[_>>2]|0)+-96+4>>2]|0)==0?(c[(c[_>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[_>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[_>>2]|0)+4>>2]|0)==0:0){c[(c[_>>2]|0)+-96+4>>2]=c[(c[_>>2]|0)+-64+4>>2];break a}if((c[c[(c[_>>2]|0)+-64+4>>2]>>2]|0)!=1){Qv(c[(c[_>>2]|0)+-64+4>>2]|0);c[B>>2]=Lv(c[V>>2]|0,0,c[(c[_>>2]|0)+-64+4>>2]|0,0,0,0,0,1024,0,0)|0;V=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,0,0,(c[_>>2]|0)+-32+4|0,c[B>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=V;break a}U=Kv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,0,0,(c[_>>2]|0)+-32+4|0,0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-96+4>>2]=U;if(c[(c[_>>2]|0)+-96+4>>2]|0){c[v>>2]=(c[(c[_>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[_>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[w>>2]=(c[(c[_>>2]|0)+-64+4>>2]|0)+8;c[(c[v>>2]|0)+8>>2]=c[(c[w>>2]|0)+8>>2];c[(c[v>>2]|0)+4>>2]=c[(c[w>>2]|0)+4>>2];c[(c[v>>2]|0)+20>>2]=c[(c[w>>2]|0)+20>>2];c[(c[w>>2]|0)+4>>2]=0;c[(c[w>>2]|0)+8>>2]=0;c[(c[w>>2]|0)+20>>2]=0}cv(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[_>>2]|0)+16+4>>2]=0;c[(c[_>>2]|0)+16+4+4>>2]=0;break}case 107:{V=Tv(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;break}case 108:{c[(c[_>>2]|0)+4>>2]=1;break}case 109:{V=Uv(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,0,0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;break}case 110:{V=Uv(c[V>>2]|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-16+4|0,0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 111:{V=Uv(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 195:case 136:case 129:case 112:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 198:case 196:case 135:case 128:case 113:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 115:{V=(c[_>>2]|0)+-32+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];break}case 116:{c[(c[_>>2]|0)+-16+4>>2]=0;c[(c[_>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[_>>2]|0)+-48+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 144:case 118:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 121:{V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;Vv(c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 122:{V=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-16+4>>2]=V;Vv(c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 123:{c[(c[_>>2]|0)+4>>2]=0;break}case 124:{c[(c[_>>2]|0)+4>>2]=1;break}case 125:{c[(c[_>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[_>>2]|0)+16+4>>2]=0;c[(c[_>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];c[(c[_>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[_>>2]|0)+-48+4>>2]=c[(c[_>>2]|0)+-32+4>>2];c[(c[_>>2]|0)+-48+4+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 133:{c[(c[_>>2]|0)+-48+4+4>>2]=c[(c[_>>2]|0)+-32+4>>2];c[(c[_>>2]|0)+-48+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 134:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0,1);Rv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+-16+4|0);Xv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 137:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,1);Rv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,(c[_>>2]|0)+-48+4|0);Yv(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,27773);Zv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0);break}case 138:{U=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;Nv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,(c[_>>2]|0)+-32+4|0,1);break}case 139:{c[R>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+4>>2]|0)|0;Nv(c[V>>2]|0,c[R>>2]|0,(c[_>>2]|0)+-32+4|0,1);c[(c[_>>2]|0)+-32+4>>2]=c[R>>2];break}case 140:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0,1);_v(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 141:{Wv(c[V>>2]|0,c[(c[_>>2]|0)+-96+4>>2]|0,1);_v(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]|0);break}case 145:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 146:{V=$v(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+4|0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 147:{V=$v(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+4|0)|0;c[(c[_>>2]|0)+4>>2]=V;break}case 148:{aw((c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 155:case 154:case 149:{T=(c[_>>2]|0)+4|0;U=c[V>>2]|0;V=d[(c[_>>2]|0)+2>>0]|0;S=(c[_>>2]|0)+4|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];yv(T,U,V,C);break}case 151:case 150:{U=(c[_>>2]|0)+4|0;V=c[V>>2]|0;T=(c[_>>2]|0)+4|0;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];yv(U,V,27,C);break}case 152:{c[D>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-32+4|0)|0;c[F>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+4|0)|0;aw((c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,122,c[D>>2]|0,c[F>>2]|0,0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 153:{c[E>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-64+4|0)|0;c[G>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+-32+4|0)|0;c[H>>2]=xv(c[V>>2]|0,27,0,0,(c[_>>2]|0)+4|0)|0;c[I>>2]=xv(c[V>>2]|0,122,c[G>>2]|0,c[H>>2]|0,0)|0;aw((c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,122,c[E>>2]|0,c[I>>2]|0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 156:{S=(c[_>>2]|0)+4|0;c[T>>2]=c[S>>2];c[T+4>>2]=c[S+4>>2];if(((c[T+4>>2]|0)>>>0>=2?(a[c[T>>2]>>0]|0)==35:0)?(d[19011+(d[(c[T>>2]|0)+1>>0]|0)>>0]&4|0)!=0:0){aw((c[_>>2]|0)+4|0,T,T);h=c[V>>2]|0;if(!(d[(c[V>>2]|0)+18>>0]|0)){c[U>>2]=T;Ch(h,27070,U);c[(c[_>>2]|0)+4>>2]=0;break a}V=xv(h,157,0,0,T)|0;c[(c[_>>2]|0)+4>>2]=V;if(!(c[(c[_>>2]|0)+4>>2]|0))break a;Oi((c[T>>2]|0)+1|0,(c[(c[_>>2]|0)+4>>2]|0)+28|0)|0;break a}S=(c[_>>2]|0)+4|0;U=c[V>>2]|0;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];yv(S,U,135,C);bw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 157:{V=cw(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+4|0,1)|0;c[(c[_>>2]|0)+-32+4>>2]=V;c[(c[_>>2]|0)+-32+4+8>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);break}case 158:{aw((c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,38,c[(c[_>>2]|0)+-48+4>>2]|0,0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-80+4>>2]=V;break}case 159:{if((c[(c[_>>2]|0)+-16+4>>2]|0)!=0?(c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[V>>2]>>2]|0)+92+24>>2]|0):0){U=c[V>>2]|0;c[O>>2]=(c[_>>2]|0)+-64+4;Ch(U,27782,O)}c[R>>2]=dw(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,(c[_>>2]|0)+-64+4|0)|0;aw(R,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+4|0);if((c[(c[_>>2]|0)+-32+4>>2]|0)==1?(c[R>>2]|0)!=0:0){V=(c[R>>2]|0)+4|0;c[V>>2]=c[V>>2]|16}V=(c[_>>2]|0)+-64+4|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];break}case 160:{c[R>>2]=dw(c[V>>2]|0,0,(c[_>>2]|0)+-48+4|0)|0;aw(R,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);V=(c[_>>2]|0)+-48+4|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];break}case 161:{c[R>>2]=dw(c[V>>2]|0,0,(c[_>>2]|0)+4|0)|0;aw(R,(c[_>>2]|0)+4|0,(c[_>>2]|0)+4|0);V=(c[_>>2]|0)+4|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];break}case 169:case 168:case 167:case 166:case 165:case 164:case 163:case 162:{ew(c[V>>2]|0,d[(c[_>>2]|0)+-16+2>>0]|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);break}case 170:{V=(c[_>>2]|0)+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[(c[_>>2]|0)+4+8>>2]=0;break}case 171:{V=(c[_>>2]|0)+-16+4|0;U=(c[_>>2]|0)+4|0;c[V>>2]=c[U>>2];c[V+4>>2]=c[U+4>>2];c[(c[_>>2]|0)+-16+4+8>>2]=1;break}case 172:{c[s>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+4>>2]|0)|0;c[s>>2]=Mv(c[V>>2]|0,c[s>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;U=dw(c[V>>2]|0,c[s>>2]|0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-32+4>>2]=U;fw(c[V>>2]|0,c[(c[_>>2]|0)+-16+4+8>>2]|0,(c[_>>2]|0)+-32+4|0);c[(c[_>>2]|0)+-32+4+8>>2]=c[(c[_>>2]|0)+4+8>>2];if(c[(c[_>>2]|0)+-32+4>>2]|0){V=(c[(c[_>>2]|0)+-32+4>>2]|0)+4|0;c[V>>2]=c[V>>2]|128}break}case 173:{c[t>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[t>>2]=Mv(c[V>>2]|0,c[t>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0)|0;c[t>>2]=Mv(c[V>>2]|0,c[t>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;U=dw(c[V>>2]|0,c[t>>2]|0,(c[_>>2]|0)+-48+4|0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4+8>>2]|0,(c[_>>2]|0)+-64+4|0);c[(c[_>>2]|0)+-64+4+8>>2]=c[(c[_>>2]|0)+4+8>>2];if(c[(c[_>>2]|0)+-64+4>>2]|0){V=(c[(c[_>>2]|0)+-64+4>>2]|0)+4|0;c[V>>2]=c[V>>2]|128}break}case 174:{gw(c[V>>2]|0,d[(c[_>>2]|0)+2>>0]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 175:{gw(c[V>>2]|0,77,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);break}case 176:{ew(c[V>>2]|0,73,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);hw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,76);break}case 177:{ew(c[V>>2]|0,148,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);hw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,77);break}case 179:case 178:{iw((c[_>>2]|0)+-16+4|0,c[V>>2]|0,d[(c[_>>2]|0)+-16+2>>0]|0,(c[_>>2]|0)+4|0,(c[_>>2]|0)+-16+4|0);break}case 180:{iw((c[_>>2]|0)+-16+4|0,c[V>>2]|0,155,(c[_>>2]|0)+4|0,(c[_>>2]|0)+-16+4|0);break}case 181:{iw((c[_>>2]|0)+-16+4|0,c[V>>2]|0,156,(c[_>>2]|0)+4|0,(c[_>>2]|0)+-16+4|0);break}case 185:case 182:{c[(c[_>>2]|0)+4>>2]=0;break}case 184:{c[u>>2]=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[u>>2]=Mv(c[V>>2]|0,c[u>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;U=xv(c[V>>2]|0,74,c[(c[_>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(c[(c[_>>2]|0)+-64+4>>2]|0)c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=c[u>>2];else $u(c[c[V>>2]>>2]|0,c[u>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+-64+4|0);c[(c[_>>2]|0)+-64+4+8>>2]=c[(c[_>>2]|0)+4+8>>2];break}case 187:{do if(!(c[(c[_>>2]|0)+-16+4>>2]|0)){dv(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);V=xv(c[V>>2]|0,132,0,0,5108+(c[(c[_>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V}else{if((c[c[(c[_>>2]|0)+-16+4>>2]>>2]|0)==1){c[x>>2]=c[c[(c[(c[_>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[_>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;$u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);if(c[x>>2]|0){U=(c[x>>2]|0)+4|0;c[U>>2]=c[U>>2]&-257;U=(c[x>>2]|0)+4|0;c[U>>2]=c[U>>2]|512}V=xv(c[V>>2]|0,(c[(c[_>>2]|0)+-48+4>>2]|0)!=0?78:79,c[(c[_>>2]|0)+-64+4>>2]|0,c[x>>2]|0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}U=xv(c[V>>2]|0,75,c[(c[_>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(c[(c[_>>2]|0)+-64+4>>2]|0){c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];jw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0)}else $u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+-64+4|0)}while(0);c[(c[_>>2]|0)+-64+4+8>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);break}case 188:{aw((c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0);U=xv(c[V>>2]|0,119,0,0,0)|0;c[(c[_>>2]|0)+-32+4>>2]=U;if(c[(c[_>>2]|0)+-32+4>>2]|0){c[(c[(c[_>>2]|0)+-32+4>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];U=(c[(c[_>>2]|0)+-32+4>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);break a}else{av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break a}}case 189:{U=xv(c[V>>2]|0,75,c[(c[_>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(c[(c[_>>2]|0)+-64+4>>2]|0){c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];U=(c[(c[_>>2]|0)+-64+4>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0)}else av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+-64+4|0);c[(c[_>>2]|0)+-64+4+8>>2]=(c[(c[_>>2]|0)+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);break}case 190:{c[S>>2]=Tv(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0)|0;h=xv(c[V>>2]|0,75,c[(c[_>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=h;h=c[V>>2]|0;if(c[(c[_>>2]|0)+-48+4>>2]|0){U=Lv(h,0,c[S>>2]|0,0,0,0,0,0,0,0)|0;c[(c[(c[_>>2]|0)+-48+4>>2]|0)+20>>2]=U;U=(c[(c[_>>2]|0)+-48+4>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0)}else cv(c[h>>2]|0,c[S>>2]|0);fw(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,(c[_>>2]|0)+-48+4|0);h=c[_>>2]|0;if(c[(c[_>>2]|0)+4>>2]|0)h=(c[(c[_>>2]|0)+4>>2]|0)+(c[h+4+4>>2]|0)|0;else h=(c[(c[_>>2]|0)+-16+4>>2]|0)+(c[h+-16+4+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4+8>>2]=h;break}case 191:{aw((c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);U=xv(c[V>>2]|0,20,0,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=U;c[m>>2]=U;if(c[m>>2]|0){c[(c[m>>2]|0)+20>>2]=c[(c[_>>2]|0)+-16+4>>2];U=(c[m>>2]|0)+4|0;c[U>>2]=c[U>>2]|2099200;jw(c[V>>2]|0,c[m>>2]|0);break a}else{av(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break a}}case 192:{aw((c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+4|0);U=xv(c[V>>2]|0,136,c[(c[_>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;if(!(c[(c[_>>2]|0)+-64+4>>2]|0)){$u(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0);dv(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break a}if(c[(c[_>>2]|0)+-16+4>>2]|0)h=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[_>>2]|0)+-32+4>>2]|0;c[(c[(c[_>>2]|0)+-64+4>>2]|0)+20>>2]=h;jw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 193:{U=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=U;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 194:{U=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+-32+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=U;V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;break}case 197:{c[(c[_>>2]|0)+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 200:{V=Mv(c[V>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 201:{V=Mv(c[V>>2]|0,0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+4>>2]=V;break}case 202:{Bv(c[V>>2]|0,(c[_>>2]|0)+-112+4|0,(c[_>>2]|0)+-96+4|0,Tv(c[c[V>>2]>>2]|0,0,(c[_>>2]|0)+-64+4|0,0)|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+-160+4>>2]|0,(c[_>>2]|0)+-176+4|0,c[(c[_>>2]|0)+4>>2]|0,0,c[(c[_>>2]|0)+-128+4>>2]|0)|0;break}case 244:case 203:{c[(c[_>>2]|0)+4>>2]=2;break}case 204:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 206:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 207:{V=kw(c[V>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 208:{V=kw(c[V>>2]|0,0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-32+4>>2]=V;break}case 211:{lw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 213:case 212:{mw(c[V>>2]|0);break}case 214:{nw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0,0,0);break}case 215:{nw(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0,0);break}case 216:{nw(c[V>>2]|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-16+4|0,0);break}case 217:{nw(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0,1);break}case 218:{nw(c[V>>2]|0,(c[_>>2]|0)+-64+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-16+4|0,1);break}case 221:{c[h>>2]=c[(c[_>>2]|0)+-48+4>>2];c[h+4>>2]=(c[(c[_>>2]|0)+4>>2]|0)-(c[(c[_>>2]|0)+-48+4>>2]|0)+(c[(c[_>>2]|0)+4+4>>2]|0);ow(c[V>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,h);break}case 222:{pw(c[V>>2]|0,(c[_>>2]|0)+-112+4|0,(c[_>>2]|0)+-96+4|0,c[(c[_>>2]|0)+-80+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-64+4+4>>2]|0,c[(c[_>>2]|0)+-32+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-160+4>>2]|0,c[(c[_>>2]|0)+-128+4>>2]|0);h=(c[_>>2]|0)+-160+4|0;j=c[_>>2]|0;if(!(c[(c[_>>2]|0)+-96+4+4>>2]|0)){V=j+-112+4|0;c[h>>2]=c[V>>2];c[h+4>>2]=c[V+4>>2];break a}else{V=j+-96+4|0;c[h>>2]=c[V>>2];c[h+4>>2]=c[V+4>>2];break a}}case 223:{c[(c[_>>2]|0)+4>>2]=35;break}case 224:{c[(c[_>>2]|0)+4>>2]=31;break}case 225:{c[(c[_>>2]|0)+-16+4>>2]=49;break}case 226:{c[(c[_>>2]|0)+16+4>>2]=35;break}case 228:case 227:{c[(c[_>>2]|0)+4>>2]=d[(c[_>>2]|0)+2>>0];c[(c[_>>2]|0)+4+4>>2]=0;break}case 229:{c[(c[_>>2]|0)+-32+4>>2]=110;c[(c[_>>2]|0)+-32+4+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 249:case 230:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 250:case 231:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 232:{c[(c[(c[(c[_>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[_>>2]|0)+-16+4>>2];c[(c[(c[_>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 233:{c[(c[(c[_>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[_>>2]|0)+-16+4>>2];break}case 234:{U=(c[_>>2]|0)+-32+4|0;T=(c[_>>2]|0)+4|0;c[U>>2]=c[T>>2];c[U+4>>2]=c[T+4>>2];Ch(c[V>>2]|0,27816,P);break}case 235:{Ch(c[V>>2]|0,27911,M);break}case 236:{Ch(c[V>>2]|0,27995,N);break}case 237:{V=qw(c[c[V>>2]>>2]|0,(c[_>>2]|0)+-64+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-80+4>>2]&255)|0;c[(c[_>>2]|0)+-96+4>>2]=V;break}case 238:{V=rw(c[c[V>>2]>>2]|0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-64+4>>2]&255)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 239:{V=sw(c[c[V>>2]>>2]|0,(c[_>>2]|0)+-32+4|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+-64+4>>2]=V;break}case 240:{V=tw(c[c[V>>2]>>2]|0,c[(c[_>>2]|0)+4>>2]|0)|0;c[(c[_>>2]|0)+4>>2]=V;break}case 241:{aw((c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,57,0,0,0)|0;c[(c[_>>2]|0)+-48+4>>2]=V;if(c[(c[_>>2]|0)+-48+4>>2]|0)a[(c[(c[_>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 242:{aw((c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+-80+4|0,(c[_>>2]|0)+4|0);V=xv(c[V>>2]|0,57,0,0,(c[_>>2]|0)+-16+4|0)|0;c[(c[_>>2]|0)+-80+4>>2]=V;if(c[(c[_>>2]|0)+-80+4>>2]|0)a[(c[(c[_>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[_>>2]|0)+-48+4>>2];break}case 243:{c[(c[_>>2]|0)+4>>2]=1;break}case 245:{c[(c[_>>2]|0)+4>>2]=3;break}case 246:{uw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0);break}case 247:{vw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 248:{ww(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 251:{xw(c[V>>2]|0,0,0);break}case 252:{xw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 253:{yw(c[V>>2]|0,0,0);break}case 254:{yw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0,(c[_>>2]|0)+4|0);break}case 255:{zw(c[V>>2]|0,c[(c[_>>2]|0)+-48+4>>2]|0,(c[_>>2]|0)+4|0);break}case 256:{c[(c[_>>2]|0)+-16+4+4>>2]=(c[(c[V>>2]|0)+508>>2]|0)-(c[(c[_>>2]|0)+-16+4>>2]|0)+(c[(c[V>>2]|0)+508+4>>2]|0);Aw(c[V>>2]|0,(c[_>>2]|0)+-16+4|0);break}case 257:{tv(c[V>>2]|0);Bw(c[V>>2]|0,c[(c[_>>2]|0)+4>>2]|0);break}case 258:{Cw(c[V>>2]|0,0);break}case 259:{Cw(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 260:{Dw(c[V>>2]|0,(c[_>>2]|0)+-48+4|0,(c[_>>2]|0)+-32+4|0,(c[_>>2]|0)+4|0,c[(c[_>>2]|0)+-64+4>>2]|0);break}case 261:{Ew(c[V>>2]|0);break}case 264:case 263:case 262:{Fw(c[V>>2]|0,(c[_>>2]|0)+4|0);break}case 265:{c[(c[_>>2]|0)+16+4>>2]=0;break}case 266:{c[(c[_>>2]|0)+-16+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 267:{c[(c[_>>2]|0)+-32+4>>2]=c[(c[_>>2]|0)+4>>2];break}case 268:{V=Gw(c[V>>2]|0,0,(c[_>>2]|0)+-80+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-80+4>>2]=V;break}case 269:{V=Gw(c[V>>2]|0,c[(c[_>>2]|0)+-112+4>>2]|0,(c[_>>2]|0)+-80+4|0,c[(c[_>>2]|0)+-64+4>>2]|0,c[(c[_>>2]|0)+-16+4>>2]|0)|0;c[(c[_>>2]|0)+-112+4>>2]=V;break}default:{}}while(0);c[Z>>2]=d[27094+(c[X>>2]<<1)>>0];c[$>>2]=d[27094+(c[X>>2]<<1)+1>>0];c[Y>>2]=Hw(e[(c[_>>2]|0)+(0-(c[$>>2]|0)<<4)>>1]|0,c[Z>>2]&255)|0;if((c[Y>>2]|0)>974){_=c[W>>2]|0;c[_>>2]=(c[_>>2]|0)-(c[$>>2]|0);Iw(c[W>>2]|0);i=aa;return}if((c[Y>>2]|0)>439)c[Y>>2]=(c[Y>>2]|0)+326;X=c[W>>2]|0;c[X>>2]=(c[X>>2]|0)-((c[$>>2]|0)-1);c[_>>2]=(c[_>>2]|0)+(0-((c[$>>2]|0)-1)<<4);b[c[_>>2]>>1]=c[Y>>2];a[(c[_>>2]|0)+2>>0]=c[Z>>2];i=aa;return}function lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];a=c[g>>2]|0;c[h>>2]=d;Ch(a,27070,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];i=e;return}function mv(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[c[b>>2]>>2]|0)<0)break;fv(c[b>>2]|0)}Ch(c[d>>2]|0,38149,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];i=f;return}function nv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;k=m+16|0;h=m+12|0;g=m+8|0;l=m+4|0;j=m;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){i=m;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+68>>2]|0)==0:0){c[k>>2]=Vw(c[e>>2]|0)|0;do if(c[k>>2]|0){do{}while((sA(c[k>>2]|0,61)|0)!=0);cx(c[k>>2]|0,21)|0;if(!(d[(c[f>>2]|0)+69>>0]|0)){if((c[(c[e>>2]|0)+340>>2]|0)==0?(c[(c[e>>2]|0)+324>>2]|0)==0:0)break;Lz(c[k>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(((c[(c[e>>2]|0)+340>>2]&1<>2]|0)!=0|0)!=0?(Jh(c[k>>2]|0,c[h>>2]|0),Gh(c[k>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+336>>2]&1<>2]|0)!=0&1,c[(c[e>>2]|0)+344+(c[h>>2]<<2)>>2]|0,c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+144+5>>0]|0)==0):0)Hh(c[k>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+456>>2]|0))break;c[l>>2]=Gx(c[f>>2]|0,c[(c[(c[e>>2]|0)+524>>2]|0)+(c[g>>2]<<2)>>2]|0)|0;_w(c[k>>2]|0,149,0,0,0,c[l>>2]|0,-10)|0;c[g>>2]=(c[g>>2]|0)+1}c[(c[e>>2]|0)+456>>2]=0;lH(c[e>>2]|0);mH(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+324>>2]|0){c[j>>2]=c[(c[e>>2]|0)+324>>2];a[(c[e>>2]|0)+23>>0]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[j>>2]>>2]|0))break a;DA(c[e>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);Kz(c[k>>2]|0,1)|0}}while(0);if(((c[k>>2]|0)!=0?(c[(c[e>>2]|0)+68>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if((c[(c[e>>2]|0)+412>>2]|0)!=0?(c[(c[e>>2]|0)+72>>2]|0)==0:0)c[(c[e>>2]|0)+72>>2]=1;Lh(c[k>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}if(c[(c[e>>2]|0)+12>>2]|0){i=m;return}c[(c[e>>2]|0)+12>>2]=1;i=m;return}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;g=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Sw(c[d>>2]|0,22,38079,0,0)|0){i=j;return}c[h>>2]=Vw(c[d>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}a:do if((c[e>>2]|0)!=7){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Xw(c[h>>2]|0,2,c[g>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;Jh(c[h>>2]|0,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1}}while(0);cx(c[h>>2]|0,1)|0;i=j;return}function pv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Sw(c[b>>2]|0,22,38102,0,0)|0){i=e;return}c[d>>2]=Vw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Dz(c[d>>2]|0,1,1)|0;i=e;return}function qv(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Sw(c[b>>2]|0,22,38093,0,0)|0){i=e;return}c[d>>2]=Vw(c[b>>2]|0)|0;if(!(c[d>>2]|0)){i=e;return}Xw(c[d>>2]|0,1,1,1)|0;i=e;return}function rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+16|0;f=j+12|0;k=j+8|0;h=j+4|0;g=j;c[e>>2]=a;c[f>>2]=b;c[k>>2]=d;c[h>>2]=Jw(c[c[e>>2]>>2]|0,c[k>>2]|0)|0;if(!(c[h>>2]|0)){i=j;return}c[g>>2]=Vw(c[e>>2]|0)|0;if((c[g>>2]|0)!=0?(Sw(c[e>>2]|0,32,c[6344+(c[f>>2]<<2)>>2]|0,c[h>>2]|0,0)|0)==0:0){_w(c[g>>2]|0,0,c[f>>2]|0,0,0,c[h>>2]|0,-1)|0;i=j;return}Tf(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}function sv(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=i;i=i+112|0;t=J+16|0;G=J+8|0;s=J;w=J+96|0;m=J+92|0;n=J+88|0;o=J+84|0;x=J+80|0;y=J+76|0;z=J+72|0;r=J+68|0;H=J+64|0;A=J+60|0;F=J+56|0;I=J+52|0;B=J+48|0;u=J+44|0;v=J+40|0;p=J+36|0;q=J+32|0;C=J+28|0;D=J+24|0;E=J+20|0;c[w>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[x>>2]=j;c[y>>2]=k;c[z>>2]=l;c[H>>2]=0;c[A>>2]=c[c[w>>2]>>2];if((d[(c[A>>2]|0)+144+5>>0]|0)!=0?(c[(c[A>>2]|0)+144>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+144+4>>0];c[H>>2]=ph(c[A>>2]|0,(c[I>>2]|0)==1?20513:20532)|0;c[B>>2]=c[m>>2]}else{c[I>>2]=zz(c[w>>2]|0,c[m>>2]|0,c[n>>2]|0,B)|0;if((c[I>>2]|0)<0){i=J;return}if((c[o>>2]|0)!=0?((c[I>>2]|0)!=1?(c[(c[n>>2]|0)+4>>2]|0)>>>0>0:0):0){Ch(c[w>>2]|0,37969,s);i=J;return}if(c[o>>2]|0)c[I>>2]=1;c[H>>2]=Jw(c[A>>2]|0,c[B>>2]|0)|0}s=(c[w>>2]|0)+500|0;e=c[B>>2]|0;c[s>>2]=c[e>>2];c[s+4>>2]=c[e+4>>2];if(!(c[H>>2]|0)){i=J;return}a:do if(!(Ex(c[w>>2]|0,c[H>>2]|0)|0)){if((d[(c[A>>2]|0)+144+4>>0]|0)==1)c[o>>2]=1;c[u>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Sw(c[w>>2]|0,18,(c[o>>2]|0)==1?20513:20532,0,c[u>>2]|0)|0)){if((c[y>>2]|0)==0?(Sw(c[w>>2]|0,d[38010+((c[o>>2]|0)+(c[x>>2]<<1))>>0]|0,c[H>>2]|0,0,c[u>>2]|0)|0)!=0:0)break;do if(!(a[(c[w>>2]|0)+454>>0]|0)){c[v>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(vz(c[w>>2]|0)|0)break a;c[r>>2]=ri(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0;if(!(c[r>>2]|0)){if(!(Ij(c[A>>2]|0,c[H>>2]|0,c[v>>2]|0)|0))break;I=c[w>>2]|0;c[t>>2]=c[H>>2];Ch(I,38038,t);break a}m=c[w>>2]|0;if(c[z>>2]|0){hx(m,c[I>>2]|0);break a}else{c[G>>2]=c[B>>2];Ch(m,38014,G);break a}}while(0);c[r>>2]=rh(c[A>>2]|0,72,0)|0;if(!(c[r>>2]|0)){c[(c[w>>2]|0)+12>>2]=7;I=(c[w>>2]|0)+68|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[r>>2]>>2]=c[H>>2];b[(c[r>>2]|0)+32>>1]=-1;c[(c[r>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[r>>2]|0)+36>>1]=1;b[(c[r>>2]|0)+38>>1]=200;c[(c[w>>2]|0)+488>>2]=c[r>>2];if((a[(c[w>>2]|0)+18>>0]|0)==0?(HQ(c[H>>2]|0,29413)|0)==0:0)c[(c[(c[r>>2]|0)+64>>2]|0)+72>>2]=c[r>>2];if(a[(c[A>>2]|0)+144+5>>0]|0){i=J;return}H=Vw(c[w>>2]|0)|0;c[F>>2]=H;if(!H){i=J;return}gx(c[w>>2]|0,1,c[I>>2]|0);if(c[y>>2]|0)cx(c[F>>2]|0,149)|0;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[(c[w>>2]|0)+392>>2]=m;c[C>>2]=m;m=(c[w>>2]|0)+76|0;H=(c[m>>2]|0)+1|0;c[m>>2]=H;c[(c[w>>2]|0)+396>>2]=H;c[D>>2]=H;H=(c[w>>2]|0)+76|0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;c[E>>2]=m;$w(c[F>>2]|0,51,c[I>>2]|0,c[E>>2]|0,2)|0;Jh(c[F>>2]|0,c[I>>2]|0);c[p>>2]=Dz(c[F>>2]|0,45,c[E>>2]|0)|0;c[q>>2]=(c[(c[A>>2]|0)+24>>2]&32768|0)!=0?1:4;$w(c[F>>2]|0,52,c[I>>2]|0,2,c[q>>2]|0)|0;$w(c[F>>2]|0,52,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;Lz(c[F>>2]|0,c[p>>2]|0);m=c[F>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0)Xw(m,22,0,c[D>>2]|0)|0;else{H=Xw(m,122,c[I>>2]|0,c[D>>2]|0)|0;c[(c[w>>2]|0)+424>>2]=H}kH(c[w>>2]|0,c[I>>2]|0);Xw(c[F>>2]|0,74,0,c[C>>2]|0)|0;_w(c[F>>2]|0,27,6,c[E>>2]|0,0,38073,-2)|0;$w(c[F>>2]|0,75,0,c[E>>2]|0,c[C>>2]|0)|0;Hh(c[F>>2]|0,8);cx(c[F>>2]|0,61)|0;i=J;return}}while(0);Tf(c[A>>2]|0,c[H>>2]|0);i=J;return}function tv(b){b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function uv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=i;i=i+208|0;K=R+72|0;I=R+64|0;M=R+32|0;L=R+16|0;J=R+8|0;H=R;k=R+192|0;l=R+188|0;m=R+184|0;n=R+196|0;o=R+180|0;w=R+176|0;r=R+172|0;t=R+168|0;z=R+164|0;u=R+160|0;G=R+156|0;P=R+152|0;Q=R+148|0;O=R+144|0;s=R+124|0;F=R+120|0;q=R+116|0;D=R+112|0;E=R+108|0;p=R+104|0;C=R+100|0;y=R+96|0;x=R+92|0;A=R+88|0;B=R+84|0;N=R+80|0;v=R+76|0;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;a[n>>0]=h;c[o>>2]=j;c[r>>2]=c[c[k>>2]>>2];if((c[m>>2]|0)==0&(c[o>>2]|0)==0){i=R;return}c[w>>2]=c[(c[k>>2]|0)+488>>2];if(!(c[w>>2]|0)){i=R;return}if((a[(c[r>>2]|0)+144+5>>0]|0)!=0?(c[(c[w>>2]|0)+28>>2]=c[(c[r>>2]|0)+144>>2],(c[(c[w>>2]|0)+28>>2]|0)==1):0){h=(c[w>>2]|0)+42|0;a[h>>0]=d[h>>0]|1}do if(d[n>>0]&32){if(d[(c[w>>2]|0)+42>>0]&8){Ch(c[k>>2]|0,37648,H);i=R;return}if(!(d[(c[w>>2]|0)+42>>0]&4)){H=c[k>>2]|0;c[J>>2]=c[c[w>>2]>>2];Ch(H,37698,J);break}else{J=(c[w>>2]|0)+42|0;a[J>>0]=d[J>>0]|96;eH(c[k>>2]|0,c[w>>2]|0);break}}while(0);c[t>>2]=Fh(c[r>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;if(c[(c[w>>2]|0)+24>>2]|0)ZG(c[k>>2]|0,c[w>>2]|0,4,0,c[(c[w>>2]|0)+24>>2]|0);fH(c[w>>2]|0);c[z>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[z>>2]|0))break;aH(c[z>>2]|0);c[z>>2]=c[(c[z>>2]|0)+20>>2]}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){c[G>>2]=Vw(c[k>>2]|0)|0;if(!(c[G>>2]|0)){i=R;return}Dz(c[G>>2]|0,61,0)|0;if(!(c[(c[w>>2]|0)+12>>2]|0)){c[P>>2]=33506;c[Q>>2]=37730}else{c[P>>2]=36608;c[Q>>2]=37736}do if(c[o>>2]|0){H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[F>>2]=J;J=(c[k>>2]|0)+76|0;H=(c[J>>2]|0)+1|0;c[J>>2]=H;c[D>>2]=H;H=(c[k>>2]|0)+76|0;J=(c[H>>2]|0)+1|0;c[H>>2]=J;c[E>>2]=J;Hx(c[k>>2]|0);$w(c[G>>2]|0,55,1,c[(c[k>>2]|0)+396>>2]|0,c[t>>2]|0)|0;Hh(c[G>>2]|0,16);c[(c[k>>2]|0)+72>>2]=2;c[q>>2]=(Hz(c[G>>2]|0)|0)+1;$w(c[G>>2]|0,16,c[F>>2]|0,0,c[q>>2]|0)|0;dB(s,13,c[F>>2]|0);Iv(c[k>>2]|0,c[o>>2]|0,s)|0;DC(c[G>>2]|0,c[F>>2]|0);Lz(c[G>>2]|0,(c[q>>2]|0)-1|0);if(c[(c[k>>2]|0)+68>>2]|0){i=R;return}c[C>>2]=Px(c[k>>2]|0,c[o>>2]|0)|0;if(!(c[C>>2]|0)){i=R;return}else{b[(c[w>>2]|0)+34>>1]=b[(c[C>>2]|0)+34>>1]|0;c[(c[w>>2]|0)+4>>2]=c[(c[C>>2]|0)+4>>2];b[(c[C>>2]|0)+34>>1]=0;c[(c[C>>2]|0)+4>>2]=0;Rf(c[r>>2]|0,c[C>>2]|0);c[p>>2]=Dz(c[G>>2]|0,18,c[s+4>>2]|0)|0;$w(c[G>>2]|0,49,c[s+8>>2]|0,c[s+12>>2]|0,c[D>>2]|0)|0;GC(c[G>>2]|0,c[w>>2]|0,0);Xw(c[G>>2]|0,74,1,c[E>>2]|0)|0;$w(c[G>>2]|0,75,1,c[D>>2]|0,c[E>>2]|0)|0;Kz(c[G>>2]|0,c[p>>2]|0)|0;Lz(c[G>>2]|0,c[p>>2]|0);Dz(c[G>>2]|0,61,1)|0;break}}while(0);if(c[o>>2]|0)c[O>>2]=gH(c[r>>2]|0,c[w>>2]|0)|0;else{c[y>>2]=(d[n>>0]|0)!=0?(c[k>>2]|0)+508|0:c[m>>2]|0;c[u>>2]=(c[c[y>>2]>>2]|0)-(c[(c[k>>2]|0)+500>>2]|0);if((a[c[c[y>>2]>>2]>>0]|0)!=59)c[u>>2]=(c[u>>2]|0)+(c[(c[y>>2]|0)+4>>2]|0);J=c[r>>2]|0;h=c[u>>2]|0;H=c[(c[k>>2]|0)+500>>2]|0;c[L>>2]=c[Q>>2];c[L+4>>2]=h;c[L+8>>2]=H;c[O>>2]=Dh(J,37741,L)|0}Q=c[k>>2]|0;E=(c[t>>2]|0)==1?20513:20532;F=c[P>>2]|0;h=c[c[w>>2]>>2]|0;H=c[c[w>>2]>>2]|0;J=c[(c[k>>2]|0)+396>>2]|0;L=c[O>>2]|0;P=c[(c[k>>2]|0)+392>>2]|0;c[M>>2]=c[(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4)>>2];c[M+4>>2]=E;c[M+8>>2]=F;c[M+12>>2]=h;c[M+16>>2]=H;c[M+20>>2]=J;c[M+24>>2]=L;c[M+28>>2]=P;Uw(Q,37756,M);Tf(c[r>>2]|0,c[O>>2]|0);Ww(c[k>>2]|0,c[t>>2]|0);if((d[(c[w>>2]|0)+42>>0]&8|0)!=0?(c[x>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(c[t>>2]<<4),(c[(c[(c[x>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[k>>2]|0;c[I>>2]=c[c[x>>2]>>2];Uw(Q,37843,I)}O=c[G>>2]|0;P=c[t>>2]|0;Q=c[r>>2]|0;c[K>>2]=c[c[w>>2]>>2];Yw(O,P,Dh(Q,37885,K)|0)}if(!(a[(c[r>>2]|0)+144+5>>0]|0)){i=R;return}c[B>>2]=c[(c[w>>2]|0)+64>>2];c[A>>2]=Sj((c[B>>2]|0)+8|0,c[c[w>>2]>>2]|0,c[w>>2]|0)|0;if(c[A>>2]|0){lh(c[r>>2]|0);i=R;return}c[(c[k>>2]|0)+488>>2]=0;Q=(c[r>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[w>>2]|0)+12>>2]|0){i=R;return}c[N>>2]=c[(c[k>>2]|0)+500>>2];if(!(c[c[l>>2]>>2]|0))c[l>>2]=c[m>>2];c[v>>2]=(c[c[l>>2]>>2]|0)-(c[N>>2]|0);Q=13+(Ix(c[N>>2]|0,c[v>>2]|0)|0)|0;c[(c[w>>2]|0)+44>>2]=Q;i=R;return}function vv(e,f,g){e=e|0;f=f|0;g=g|0;var 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;v=i;i=i+64|0;r=v+8|0;q=v;h=v+48|0;j=v+44|0;k=v+40|0;o=v+36|0;n=v+32|0;s=v+28|0;t=v+24|0;p=v+20|0;m=v+16|0;l=v+12|0;c[h>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[c[h>>2]>>2];g=c[(c[h>>2]|0)+488>>2]|0;c[o>>2]=g;if(!g){i=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[m>>2]|0)+92+8>>2]|0)){u=c[h>>2]|0;c[q>>2]=c[c[o>>2]>>2];Ch(u,37599,q);i=v;return}c[s>>2]=Ah(c[m>>2]|0,(c[(c[j>>2]|0)+4>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[s>>2]|0)){i=v;return}rR(c[s>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;a[(c[s>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0)>>0]=0;Pw(c[s>>2]|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(Td(c[s>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]<<4)>>2]|0)|0)){u=8;break}c[n>>2]=(c[n>>2]|0)+1}if((u|0)==8){u=c[h>>2]|0;c[r>>2]=c[s>>2];Ch(u,37622,r);Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[l>>2]=Kw(c[m>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[l>>2]|0){c[(c[o>>2]|0)+4>>2]=c[l>>2];break}Tf(c[m>>2]|0,c[s>>2]|0);i=v;return}while(0);c[p>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[p>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[p>>2]>>2]=c[s>>2];if(!(c[(c[k>>2]|0)+4>>2]|0)){a[(c[p>>2]|0)+13>>0]=65;a[(c[p>>2]|0)+14>>0]=1}else{u=c[s>>2]|0;c[t>>2]=u+(Jf(c[s>>2]|0)|0)+1;rR(c[t>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[t>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;u=px(c[t>>2]|0,(c[p>>2]|0)+14|0)|0;a[(c[p>>2]|0)+13>>0]=u;u=(c[p>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[h>>2]|0)+328+4>>2]=0;i=v;return}function wv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+80|0;h=n;f=n+72|0;j=n+68|0;g=n+64|0;l=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[j>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+488>>2];if(!(c[g>>2]|0)){l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;dv(l,m);i=n;return}c[l>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(dH(c[c[j>>2]>>2]|0,a[(c[k>>2]|0)+144+5>>0]|0)|0){dv(c[k>>2]|0,c[(c[l>>2]|0)+4>>2]|0);f=m;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));a[m>>0]=-97;h=(c[(c[j>>2]|0)+8>>2]|0)-(c[(c[j>>2]|0)+4>>2]|0)|0;c[m+8>>2]=Ow(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[j>>2]>>2];c[m+4>>2]=4096;h=ty(c[k>>2]|0,m,1)|0;c[(c[l>>2]|0)+4>>2]=h;Tf(c[k>>2]|0,c[m+8>>2]|0);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;dv(l,m);i=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[l>>2]>>2];Ch(m,37554,h);l=c[k>>2]|0;m=c[j>>2]|0;m=c[m>>2]|0;dv(l,m);i=n;return}}function xv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)==72?(c[(c[g>>2]|0)+68>>2]|0)==0:0)c[m>>2]=gz(c[c[g>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[m>>2]=iz(c[c[g>>2]>>2]|0,c[h>>2]&255,c[l>>2]|0,1)|0;jz(c[c[g>>2]>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[m>>2]|0)){f=c[m>>2]|0;i=n;return f|0}Ky(c[g>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;f=c[m>>2]|0;i=n;return f|0}function yv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+16|0;g=f+8|0;j=f+4|0;h=f;c[g>>2]=a;c[j>>2]=b;c[h>>2]=d;b=xv(c[j>>2]|0,c[h>>2]|0,0,0,e)|0;c[c[g>>2]>>2]=b;c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+8>>2]=(c[e>>2]|0)+(c[e+4>>2]|0);i=f;return}function zv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+8|0;f=h+4|0;g=h;c[j>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[j>>2]|0)+488>>2];if(!(c[g>>2]|0)){i=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){i=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];i=h;return}function Av(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=i;i=i+64|0;y=z+8|0;k=z;s=z+60|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;q=z+40|0;p=z+36|0;m=z+32|0;l=z+28|0;n=z+24|0;o=z+20|0;r=z+16|0;x=z+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=j;c[q>>2]=c[(c[s>>2]|0)+488>>2];c[p>>2]=0;c[m>>2]=-1;if(!(c[q>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}if(d[(c[s>>2]|0)+454>>0]|0){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}if(d[(c[q>>2]|0)+42>>0]&4){x=c[s>>2]|0;c[k>>2]=c[c[q>>2]>>2];Ch(x,37457,k);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}k=(c[q>>2]|0)+42|0;a[k>>0]=d[k>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[q>>2]|0)+34>>1]|0)-1;c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[p>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[n>>2]=1}else{c[n>>2]=c[c[t>>2]>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[n>>2]|0))break a;c[o>>2]=Zx(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[l>>2]|0)*20|0)>>2]|0)|0;_G(c[o>>2]|0);b:do if((d[c[o>>2]>>0]|0)==27){c[r>>2]=c[(c[o>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break b;k=(ig(c[r>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0;h=c[m>>2]|0;if(k)break;c[m>>2]=h+1}c[p>>2]=(c[(c[q>>2]|0)+4>>2]|0)+(h<<4);k=(c[p>>2]|0)+15|0;a[k>>0]=d[k>>0]|1}while(0);c[l>>2]=(c[l>>2]|0)+1}}while(0);if((c[n>>2]|0)==1&(c[p>>2]|0)!=0?(r=(ig(ti(c[p>>2]|0,19010)|0,19367)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[q>>2]|0)+32>>1]=c[m>>2];a[(c[q>>2]|0)+43>>0]=c[u>>2];y=(c[q>>2]|0)+42|0;a[y>>0]=d[y>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}a[(c[s>>2]|0)+452>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}h=c[s>>2]|0;if(c[v>>2]|0){Ch(h,37498,y);x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}c[x>>2]=Bv(h,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0)|0;if(c[x>>2]|0){y=(c[x>>2]|0)+55|0;a[y>>0]=a[y>>0]&-4|2}c[t>>2]=0;x=c[s>>2]|0;x=c[x>>2]|0;y=c[t>>2]|0;$u(x,y);i=z;return}function Bv(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=i;i=i+352|0;ea=ya+112|0;da=ya+88|0;ca=ya+72|0;ba=ya+64|0;aa=ya+56|0;B=ya+48|0;$=ya+40|0;A=ya+32|0;z=ya+24|0;D=ya+16|0;C=ya+8|0;y=ya;F=ya+336|0;q=ya+332|0;r=ya+328|0;ra=ya+324|0;sa=ya+320|0;la=ya+316|0;G=ya+312|0;ta=ya+308|0;s=ya+304|0;H=ya+300|0;wa=ya+296|0;oa=ya+292|0;va=ya+288|0;xa=ya+284|0;Q=ya+280|0;I=ya+276|0;K=ya+272|0;x=ya+248|0;Z=ya+240|0;ua=ya+236|0;T=ya+232|0;ma=ya+228|0;W=ya+224|0;V=ya+220|0;O=ya+216|0;P=ya+212|0;ja=ya+208|0;X=ya+204|0;t=ya+200|0;v=ya+196|0;E=ya+192|0;w=ya+184|0;u=ya+180|0;R=ya+176|0;Y=ya+172|0;ia=ya+168|0;S=ya+164|0;N=ya+160|0;fa=ya+156|0;U=ya+152|0;L=ya+148|0;ga=ya+144|0;ha=ya+140|0;na=ya+136|0;_=ya+132|0;ka=ya+128|0;J=ya+124|0;M=ya+120|0;pa=ya+116|0;c[F>>2]=f;c[q>>2]=g;c[r>>2]=h;c[ra>>2]=j;c[sa>>2]=k;c[la>>2]=l;c[G>>2]=m;c[ta>>2]=n;c[s>>2]=o;c[H>>2]=p;c[wa>>2]=0;c[oa>>2]=0;c[va>>2]=0;c[xa>>2]=0;c[ua>>2]=c[c[F>>2]>>2];c[W>>2]=0;c[O>>2]=0;c[ja>>2]=0;c[X>>2]=0;a:do if((((d[(c[ua>>2]|0)+69>>0]|0)==0?(d[(c[F>>2]|0)+454>>0]|0)==0:0)?(c[(c[F>>2]|0)+68>>2]|0)<=0:0)?0==(vz(c[F>>2]|0)|0):0){p=c[F>>2]|0;if(c[ra>>2]|0){c[ma>>2]=zz(p,c[q>>2]|0,c[r>>2]|0,W)|0;if((c[ma>>2]|0)<0)break;if(((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(c[oa>>2]=JB(c[F>>2]|0,c[ra>>2]|0)|0,(c[oa>>2]|0)!=0?(c[(c[r>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ua>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[ma>>2]=1;KB(x,c[F>>2]|0,c[ma>>2]|0,33671,c[W>>2]|0);LB(x,c[ra>>2]|0)|0;c[oa>>2]=ex(c[F>>2]|0,0,(c[ra>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[ma>>2]|0)==1?(c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){qa=c[F>>2]|0;c[y>>2]=c[c[oa>>2]>>2];Ch(qa,37023,y);break}if(d[(c[oa>>2]|0)+42>>0]&32)c[X>>2]=Hj(c[oa>>2]|0)|0}else{c[oa>>2]=c[p+488>>2];if(!(c[oa>>2]|0))break;c[ma>>2]=Fh(c[ua>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[T>>2]=(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4);if(((zd(c[c[oa>>2]>>2]|0,28440,7)|0)==0?(d[(c[ua>>2]|0)+144+5>>0]|0)==0:0)?(zd((c[c[oa>>2]>>2]|0)+7|0,37073,9)|0)!=0:0){qa=c[F>>2]|0;c[C>>2]=c[c[oa>>2]>>2];Ch(qa,37083,C);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ch(c[F>>2]|0,37111,D);break}if(d[(c[oa>>2]|0)+42>>0]&16){Ch(c[F>>2]|0,37136,z);break}if(c[W>>2]|0){c[xa>>2]=Jw(c[ua>>2]|0,c[W>>2]|0)|0;if(!(c[xa>>2]|0))break;if(Ex(c[F>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(ri(c[ua>>2]|0,c[xa>>2]|0,0)|0)!=0:0){qa=c[F>>2]|0;c[A>>2]=c[xa>>2];Ch(qa,37170,A);break}if(Ij(c[ua>>2]|0,c[xa>>2]|0,c[c[T>>2]>>2]|0)|0){p=c[F>>2]|0;if(c[H>>2]|0){hx(p,c[ma>>2]|0);break}else{c[$>>2]=c[xa>>2];Ch(p,37204,$);break}}}else{c[v>>2]=c[(c[oa>>2]|0)+8>>2];c[t>>2]=1;while(1){if(!(c[v>>2]|0))break;c[v>>2]=c[(c[v>>2]|0)+20>>2];c[t>>2]=(c[t>>2]|0)+1}$=c[ua>>2]|0;H=c[t>>2]|0;c[B>>2]=c[c[oa>>2]>>2];c[B+4>>2]=H;c[xa>>2]=Dh($,37228,B)|0;if(!(c[xa>>2]|0))break}c[E>>2]=c[c[T>>2]>>2];if((Sw(c[F>>2]|0,18,(c[ma>>2]|0)==1?20513:20532,0,c[E>>2]|0)|0)==0?(c[I>>2]=1,c[I>>2]=(c[ma>>2]|0)==1?3:1,(Sw(c[F>>2]|0,c[I>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[E>>2]|0)|0)==0):0){if(!(c[sa>>2]|0)){Iy(w,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);$=c[F>>2]|0;c[sa>>2]=Mv($,0,iz(c[ua>>2]|0,27,w,0)|0)|0;if(!(c[sa>>2]|0))break;Vv(c[sa>>2]|0,c[s>>2]|0)}else Yv(c[F>>2]|0,c[sa>>2]|0,33671);c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;c[u>>2]=c[(c[(c[sa>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2];if((d[c[u>>2]>>0]|0)==95){$=1+(Jf(c[(c[u>>2]|0)+8>>2]|0)|0)|0;c[O>>2]=(c[O>>2]|0)+$}c[I>>2]=(c[I>>2]|0)+1}c[Q>>2]=Jf(c[xa>>2]|0)|0;if(c[X>>2]|0)p=e[(c[X>>2]|0)+50>>1]|0;else p=1;c[P>>2]=p;c[va>>2]=ND(c[ua>>2]|0,(c[c[sa>>2]>>2]|0)+(c[P>>2]|0)&65535,(c[Q>>2]|0)+(c[O>>2]|0)+1|0,ja)|0;if(!(a[(c[ua>>2]|0)+69>>0]|0)){c[c[va>>2]>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+((c[Q>>2]|0)+1);rR(c[c[va>>2]>>2]|0,c[xa>>2]|0,(c[Q>>2]|0)+1|0)|0;c[(c[va>>2]|0)+12>>2]=c[oa>>2];a[(c[va>>2]|0)+54>>0]=c[la>>2];$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9|((c[la>>2]|0)!=0&1)<<3&255;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-4|((c[W>>2]|0)!=0?0:1)&3;c[(c[va>>2]|0)+24>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)+12>>2];b[(c[va>>2]|0)+50>>1]=c[c[sa>>2]>>2];if(c[ta>>2]|0){ZG(c[F>>2]|0,c[oa>>2]|0,16,c[ta>>2]|0,0);c[(c[va>>2]|0)+36>>2]=c[ta>>2];c[ta>>2]=0}if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Z>>2]=-1;else c[Z>>2]=0;c[I>>2]=0;c[V>>2]=c[(c[sa>>2]|0)+4>>2];while(1){if((c[I>>2]|0)>=(c[c[sa>>2]>>2]|0))break;_G(c[c[V>>2]>>2]|0);ZG(c[F>>2]|0,c[oa>>2]|0,32,c[c[V>>2]>>2]|0,0);if(c[(c[F>>2]|0)+68>>2]|0)break a;c[R>>2]=Zx(c[c[V>>2]>>2]|0)|0;if((d[c[R>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){qa=65;break}do if(!(c[(c[va>>2]|0)+40>>2]|0)){c[S>>2]=By(c[ua>>2]|0,c[sa>>2]|0,0)|0;c[(c[va>>2]|0)+40>>2]=c[S>>2];if(a[(c[ua>>2]|0)+69>>0]|0)break;c[V>>2]=(c[(c[S>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)}while(0);c[K>>2]=-2;b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-2;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}else{c[K>>2]=b[(c[R>>2]|0)+32>>1];do if((c[K>>2]|0)<0)c[K>>2]=b[(c[oa>>2]|0)+32>>1];else{if(d[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+12>>0]|0)break;$=(c[va>>2]|0)+55|0;a[$>>0]=a[$>>0]&-9}while(0);b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[K>>2]}c[ia>>2]=0;do if((d[c[c[V>>2]>>2]>>0]|0)==95){c[ia>>2]=c[(c[c[V>>2]>>2]|0)+8>>2];c[N>>2]=(Jf(c[ia>>2]|0)|0)+1;rR(c[ja>>2]|0,c[ia>>2]|0,c[N>>2]|0)|0;c[ia>>2]=c[ja>>2];c[ja>>2]=(c[ja>>2]|0)+(c[N>>2]|0);c[O>>2]=(c[O>>2]|0)-(c[N>>2]|0)}else{if((c[K>>2]|0)<0)break;c[ia>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[K>>2]<<4)+8>>2]}while(0);if(!(c[ia>>2]|0))c[ia>>2]=35343;if((a[(c[ua>>2]|0)+144+5>>0]|0)==0?(Jz(c[F>>2]|0,c[ia>>2]|0)|0)==0:0)break a;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[ia>>2];c[Y>>2]=d[(c[V>>2]|0)+12>>0]&c[Z>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=c[Y>>2];c[I>>2]=(c[I>>2]|0)+1;c[V>>2]=(c[V>>2]|0)+20}if((qa|0)==65){Ch(c[F>>2]|0,37251,aa);break}b:do if(c[X>>2]|0){c[K>>2]=0;while(1){if((c[K>>2]|0)>=(e[(c[X>>2]|0)+50>>1]|0))break b;c[fa>>2]=b[(c[(c[X>>2]|0)+4>>2]|0)+(c[K>>2]<<1)>>1];if($G(c[(c[va>>2]|0)+4>>2]|0,e[(c[va>>2]|0)+50>>1]|0,c[fa>>2]|0)|0){ja=(c[va>>2]|0)+52|0;b[ja>>1]=(b[ja>>1]|0)+-1<<16>>16}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=c[fa>>2];c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=c[(c[(c[X>>2]|0)+32>>2]|0)+(c[K>>2]<<2)>>2];a[(c[(c[va>>2]|0)+28>>2]|0)+(c[I>>2]|0)>>0]=a[(c[(c[X>>2]|0)+28>>2]|0)+(c[K>>2]|0)>>0]|0;c[I>>2]=(c[I>>2]|0)+1}c[K>>2]=(c[K>>2]|0)+1}}else{b[(c[(c[va>>2]|0)+4>>2]|0)+(c[I>>2]<<1)>>1]=-1;c[(c[(c[va>>2]|0)+32>>2]|0)+(c[I>>2]<<2)>>2]=35343}while(0);Fj(c[va>>2]|0);if(!(c[(c[F>>2]|0)+488>>2]|0))aH(c[va>>2]|0);c:do if(c[ra>>2]|0){if((e[(c[va>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33|32;c[K>>2]=0;while(1){if((c[K>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[K>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((AA(c[va>>2]|0,c[K>>2]&65535)|0)<<16>>16|0)<0:0)break;c[K>>2]=(c[K>>2]|0)+1}ja=(c[va>>2]|0)+55|0;a[ja>>0]=a[ja>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[F>>2]|0)+488>>2]|0)){c[U>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[U>>2]|0))break d;if((e[(c[U>>2]|0)+50>>1]|0)==(e[(c[va>>2]|0)+50>>1]|0)){c[L>>2]=0;while(1){if((c[L>>2]|0)>=(e[(c[U>>2]|0)+50>>1]|0))break;if((b[(c[(c[U>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)!=(b[(c[(c[va>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0))break;c[ga>>2]=c[(c[(c[U>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];c[ha>>2]=c[(c[(c[va>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2];if(ig(c[ga>>2]|0,c[ha>>2]|0)|0)break;c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(e[(c[U>>2]|0)+50>>1]|0))break}c[U>>2]=c[(c[U>>2]|0)+20>>2]}do if((d[(c[U>>2]|0)+54>>0]|0)!=(d[(c[va>>2]|0)+54>>0]|0)){do if((d[(c[U>>2]|0)+54>>0]|0)!=10){if((d[(c[va>>2]|0)+54>>0]|0)==10)break;qa=c[F>>2]|0;c[ba>>2]=0;Ch(qa,37312,ba)}while(0);if((d[(c[U>>2]|0)+54>>0]|0)!=10)break;a[(c[U>>2]|0)+54>>0]=a[(c[va>>2]|0)+54>>0]|0}while(0);c[wa>>2]=c[U>>2];break a}while(0);do if(a[(c[ua>>2]|0)+144+5>>0]|0){c[na>>2]=Sj((c[(c[va>>2]|0)+24>>2]|0)+24|0,c[c[va>>2]>>2]|0,c[va>>2]|0)|0;p=c[ua>>2]|0;if(c[na>>2]|0){lh(p);break a}na=p+24|0;c[na>>2]=c[na>>2]|2;if(!(c[ra>>2]|0))break;c[(c[va>>2]|0)+44>>2]=c[(c[ua>>2]|0)+144>>2]}else{if(!((c[ra>>2]|0)!=0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[F>>2]|0)+76|0;na=(c[ja>>2]|0)+1|0;c[ja>>2]=na;c[J>>2]=na;c[_>>2]=Vw(c[F>>2]|0)|0;if(!(c[_>>2]|0))break a;gx(c[F>>2]|0,1,c[ma>>2]|0);na=cx(c[_>>2]|0,160)|0;c[(c[va>>2]|0)+44>>2]=na;Xw(c[_>>2]|0,121,c[ma>>2]|0,c[J>>2]|0)|0;if(c[G>>2]|0){c[M>>2]=(c[(c[F>>2]|0)+508>>2]|0)-(c[c[W>>2]>>2]|0)+(c[(c[F>>2]|0)+508+4>>2]|0);if((a[(c[c[W>>2]>>2]|0)+((c[M>>2]|0)-1)>>0]|0)==59)c[M>>2]=(c[M>>2]|0)+-1;na=c[ua>>2]|0;ia=c[M>>2]|0;ja=c[c[W>>2]>>2]|0;c[ca>>2]=(c[la>>2]|0)==0?19010:37354;c[ca+4>>2]=ia;c[ca+8>>2]=ja;c[ka>>2]=Dh(na,37362,ca)|0}else c[ka>>2]=0;na=c[F>>2]|0;fa=(c[ma>>2]|0)==1?20513:20532;ga=c[c[va>>2]>>2]|0;ha=c[c[oa>>2]>>2]|0;ia=c[J>>2]|0;ja=c[ka>>2]|0;c[da>>2]=c[(c[(c[ua>>2]|0)+16>>2]|0)+(c[ma>>2]<<4)>>2];c[da+4>>2]=fa;c[da+8>>2]=ga;c[da+12>>2]=ha;c[da+16>>2]=ia;c[da+20>>2]=ja;Uw(na,37382,da);Tf(c[ua>>2]|0,c[ka>>2]|0);if(c[ra>>2]|0){_z(c[F>>2]|0,c[va>>2]|0,c[J>>2]|0);Ww(c[F>>2]|0,c[ma>>2]|0);ka=c[_>>2]|0;ma=c[ma>>2]|0;na=c[ua>>2]|0;c[ea>>2]=c[c[va>>2]>>2];Yw(ka,ma,Dh(na,37430,ea)|0);Dz(c[_>>2]|0,147,0)|0}Lz(c[_>>2]|0,c[(c[va>>2]|0)+44>>2]|0)}while(0);if(!((c[ra>>2]|0)==0?1:(d[(c[ua>>2]|0)+144+5>>0]|0)!=0))break;do if((c[la>>2]|0)!=5)qa=139;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){qa=139;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){qa=139;break}c[pa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[pa>>2]|0)+20>>2]|0)l=(d[(c[(c[pa>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else l=0;p=c[(c[pa>>2]|0)+20>>2]|0;if(!l)break;c[pa>>2]=p}c[(c[va>>2]|0)+20>>2]=p;c[(c[pa>>2]|0)+20>>2]=c[va>>2]}while(0);if((qa|0)==139){c[(c[va>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[va>>2]}c[wa>>2]=c[va>>2];c[va>>2]=0}}}while(0);if(!(c[va>>2]|0)){qa=c[ua>>2]|0;va=c[ta>>2]|0;dv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;$u(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;cv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}bH(c[ua>>2]|0,c[va>>2]|0);qa=c[ua>>2]|0;va=c[ta>>2]|0;dv(qa,va);va=c[ua>>2]|0;ta=c[sa>>2]|0;$u(va,ta);ta=c[ua>>2]|0;va=c[ra>>2]|0;cv(ta,va);va=c[ua>>2]|0;xa=c[xa>>2]|0;Tf(va,xa);xa=c[wa>>2]|0;i=ya;return xa|0}function Cv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[g>>2]=e;c[j>>2]=c[(c[f>>2]|0)+488>>2];c[h>>2]=c[c[f>>2]>>2];if(((c[j>>2]|0)!=0?(a[(c[f>>2]|0)+454>>0]|0)==0:0)?(Hi(c[(c[(c[h>>2]|0)+16>>2]|0)+(d[(c[h>>2]|0)+144+4>>0]<<4)+4>>2]|0)|0)==0:0){b=Mv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[j>>2]|0)+24>>2]=b;if(!(c[(c[f>>2]|0)+328+4>>2]|0)){i=k;return}Nv(c[f>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[f>>2]|0)+328|0,1);i=k;return}dv(c[c[f>>2]>>2]|0,c[g>>2]|0);i=k;return}function Dv(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=i;i=i+96|0;B=E+16|0;o=E+8|0;n=E;p=E+80|0;q=E+76|0;k=E+72|0;r=E+68|0;s=E+64|0;t=E+60|0;z=E+56|0;A=E+52|0;y=E+48|0;m=E+44|0;u=E+40|0;x=E+36|0;C=E+32|0;l=E+28|0;v=E+24|0;w=E+20|0;c[p>>2]=e;c[q>>2]=f;c[k>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[p>>2]>>2];c[z>>2]=0;c[y>>2]=c[(c[p>>2]|0)+488>>2];a:do if((c[y>>2]|0)!=0?(d[(c[p>>2]|0)+454>>0]|0)==0:0){if(!(c[q>>2]|0)){c[l>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;if((c[l>>2]|0)<0)break;if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=1:0){D=c[p>>2]|0;C=c[k>>2]|0;c[n>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(c[l>>2]<<4)>>2];c[n+4>>2]=C;Ch(D,36820,n);break}c[x>>2]=1}else{if((c[r>>2]|0)!=0?(c[c[r>>2]>>2]|0)!=(c[c[q>>2]>>2]|0):0){Ch(c[p>>2]|0,36883,o);break}c[x>>2]=c[c[q>>2]>>2]}c[m>>2]=44+((c[x>>2]|0)-1<<3)+(c[(c[k>>2]|0)+4>>2]|0)+1;b:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[r>>2]>>2]|0))break b;o=(Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+o;c[u>>2]=(c[u>>2]|0)+1}}while(0);o=c[m>>2]|0;c[z>>2]=rh(c[t>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[z>>2]|0){c[c[z>>2]>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[(c[y>>2]|0)+16>>2];c[C>>2]=(c[z>>2]|0)+36+(c[x>>2]<<3);c[(c[z>>2]|0)+8>>2]=c[C>>2];rR(c[C>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;a[(c[C>>2]|0)+(c[(c[k>>2]|0)+4>>2]|0)>>0]=0;Pw(c[C>>2]|0)|0;c[C>>2]=(c[C>>2]|0)+((c[(c[k>>2]|0)+4>>2]|0)+1);c[(c[z>>2]|0)+20>>2]=c[x>>2];c:do if(!(c[q>>2]|0))c[(c[z>>2]|0)+36>>2]=(b[(c[y>>2]|0)+34>>1]|0)-1;else{c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break c;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;o=(ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(c[v>>2]<<4)>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0)==0;k=c[v>>2]|0;if(o){D=25;break}c[v>>2]=k+1}if((D|0)==25){D=0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)>>2]=k}if((c[v>>2]|0)>=(b[(c[y>>2]|0)+34>>1]|0))break;c[u>>2]=(c[u>>2]|0)+1}D=c[p>>2]|0;c[B>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2];Ch(D,36977,B);break a}while(0);d:do if(c[r>>2]|0){c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[x>>2]|0))break d;c[w>>2]=Jf(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0)|0;c[(c[z>>2]|0)+36+(c[u>>2]<<3)+4>>2]=c[C>>2];rR(c[C>>2]|0,c[(c[(c[r>>2]|0)+4>>2]|0)+((c[u>>2]|0)*20|0)+4>>2]|0,c[w>>2]|0)|0;a[(c[C>>2]|0)+(c[w>>2]|0)>>0]=0;c[C>>2]=(c[C>>2]|0)+((c[w>>2]|0)+1);c[u>>2]=(c[u>>2]|0)+1}}while(0);a[(c[z>>2]|0)+24>>0]=0;a[(c[z>>2]|0)+25>>0]=c[s>>2];a[(c[z>>2]|0)+25+1>>0]=c[s>>2]>>8;c[A>>2]=Sj((c[(c[y>>2]|0)+64>>2]|0)+56|0,c[(c[z>>2]|0)+8>>2]|0,c[z>>2]|0)|0;if((c[A>>2]|0)==(c[z>>2]|0)){lh(c[t>>2]|0);break}if(c[A>>2]|0){c[(c[z>>2]|0)+12>>2]=c[A>>2];c[(c[A>>2]|0)+16>>2]=c[z>>2]}c[(c[y>>2]|0)+16>>2]=c[z>>2];c[z>>2]=0}}while(0);Tf(c[t>>2]|0,c[z>>2]|0);$u(c[t>>2]|0,c[q>>2]|0);$u(c[t>>2]|0,c[r>>2]|0);i=E;return}function Ev(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;j=h+12|0;e=h+8|0;g=h+4|0;f=h;c[j>>2]=b;c[e>>2]=d;b=c[(c[j>>2]|0)+488>>2]|0;c[g>>2]=b;if(!b){i=h;return}j=c[(c[g>>2]|0)+16>>2]|0;c[f>>2]=j;if(!j){i=h;return}a[(c[f>>2]|0)+24>>0]=c[e>>2];i=h;return}function Fv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;e=m+24|0;f=m+20|0;j=m+16|0;h=m+12|0;l=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+488>>2]|0;c[j>>2]=d;if(!d){i=m;return}c[h>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[l>>2]=Jw(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[l>>2]|0)){i=m;return}d=(Jz(c[e>>2]|0,c[l>>2]|0)|0)!=0;e=c[g>>2]|0;if(!d){Tf(e,c[l>>2]|0);i=m;return}Tf(e,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]|0);c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2]=c[l>>2];c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[h>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}i=m;return}function Gv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var 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,x=0;x=i;i=i+80|0;t=x+16|0;s=x+8|0;r=x;h=x+64|0;j=x+60|0;k=x+56|0;l=x+52|0;p=x+48|0;q=x+44|0;n=x+40|0;o=x+36|0;m=x+32|0;w=x+28|0;v=x+24|0;u=x+20|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[l>>2]=g;c[n>>2]=c[c[h>>2]>>2];do if((a[(c[n>>2]|0)+69>>0]|0)==0?(vz(c[h>>2]|0)|0)==0:0){if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24}c[p>>2]=ex(c[h>>2]|0,c[k>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[l>>2]|0){b=(c[n>>2]|0)+73|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}if(!(c[p>>2]|0)){if(!(c[l>>2]|0))break;FB(c[h>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0);break}c[o>>2]=Fh(c[n>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;if((d[(c[p>>2]|0)+42>>0]&16|0)!=0?(Fx(c[h>>2]|0,c[p>>2]|0)|0)!=0:0)break;c[w>>2]=(c[o>>2]|0)==1?20513:20532;c[v>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2];c[u>>2]=0;if(!(Sw(c[h>>2]|0,9,c[w>>2]|0,0,c[v>>2]|0)|0)){do if(c[k>>2]|0)if((c[o>>2]|0)==1){c[m>>2]=15;break}else{c[m>>2]=17;break}else{if(d[(c[p>>2]|0)+42>>0]&16){c[m>>2]=30;c[u>>2]=c[(c[(Gx(c[n>>2]|0,c[p>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[o>>2]|0)==1){c[m>>2]=13;break}else{c[m>>2]=11;break}}while(0);if((Sw(c[h>>2]|0,c[m>>2]|0,c[c[p>>2]>>2]|0,c[u>>2]|0,c[v>>2]|0)|0)==0?(Sw(c[h>>2]|0,9,c[c[p>>2]>>2]|0,0,c[v>>2]|0)|0)==0:0){if((zd(c[c[p>>2]>>2]|0,28440,7)|0)==0?(zd(c[c[p>>2]>>2]|0,36613,11)|0)!=0:0){w=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];Ch(w,36625,r);break}if((c[k>>2]|0)!=0?(c[(c[p>>2]|0)+12>>2]|0)==0:0){w=c[h>>2]|0;c[s>>2]=c[c[p>>2]>>2];Ch(w,36653,s);break}if((c[k>>2]|0)==0?(c[(c[p>>2]|0)+12>>2]|0)!=0:0){w=c[h>>2]|0;c[t>>2]=c[c[p>>2]>>2];Ch(w,36687,t);break}c[q>>2]=Vw(c[h>>2]|0)|0;if(c[q>>2]|0){gx(c[h>>2]|0,1,c[o>>2]|0);vC(c[h>>2]|0,c[o>>2]|0,31446,c[c[p>>2]>>2]|0);UG(c[h>>2]|0,c[j>>2]|0,c[p>>2]|0);VG(c[h>>2]|0,c[p>>2]|0,c[o>>2]|0,c[k>>2]|0)}}}}while(0);cv(c[n>>2]|0,c[j>>2]|0);i=x;return}function Hv(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=i;i=i+96|0;w=D+88|0;n=D+84|0;o=D+80|0;p=D+76|0;x=D+72|0;y=D+68|0;q=D+64|0;r=D+60|0;t=D+56|0;A=D+52|0;C=D+48|0;B=D+40|0;v=D+16|0;u=D+12|0;s=D+8|0;z=D+4|0;c[w>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[x>>2]=j;c[y>>2]=k;c[q>>2]=l;c[r>>2]=m;c[u>>2]=0;c[z>>2]=c[c[w>>2]>>2];l=c[w>>2]|0;if((b[(c[w>>2]|0)+444>>1]|0)<=0){sv(l,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1,0,c[r>>2]|0);c[t>>2]=c[(c[w>>2]|0)+488>>2];if((((c[t>>2]|0)!=0?(c[(c[w>>2]|0)+68>>2]|0)==0:0)?(zz(c[w>>2]|0,c[o>>2]|0,c[p>>2]|0,u)|0,c[s>>2]=Fh(c[z>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,KB(v,c[w>>2]|0,c[s>>2]|0,36608,c[u>>2]|0),(MB(v,c[y>>2]|0)|0)==0):0)?(v=Nx(c[z>>2]|0,c[y>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=v,v=By(c[z>>2]|0,c[x>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=v,(a[(c[z>>2]|0)+69>>0]|0)==0):0){v=(c[w>>2]|0)+508|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];if((a[c[B>>2]>>0]|0)!=59)c[B>>2]=(c[B>>2]|0)+(c[B+4>>2]|0);c[B+4>>2]=0;c[A>>2]=(c[B>>2]|0)-(c[c[n>>2]>>2]|0);c[C>>2]=c[c[n>>2]>>2];while(1){l=c[A>>2]|0;if(!(d[19011+(d[(c[C>>2]|0)+((c[A>>2]|0)-1)>>0]|0)>>0]&1))break;c[A>>2]=l+-1}c[B>>2]=(c[C>>2]|0)+(l-1);c[B+4>>2]=1;uv(c[w>>2]|0,0,B,0,0)}}else Ch(l,36572,D);av(c[z>>2]|0,c[y>>2]|0);$u(c[z>>2]|0,c[x>>2]|0);i=D;return}function Iv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=i;i=i+432|0;w=Ca;N=Ca+412|0;O=Ca+408|0;P=Ca+404|0;Q=Ca+400|0;_=Ca+396|0;fa=Ca+392|0;pa=Ca+388|0;Ba=Ca+384|0;l=Ca+380|0;ka=Ca+376|0;oa=Ca+372|0;L=Ca+368|0;la=Ca+364|0;ma=Ca+360|0;ra=Ca+356|0;xa=Ca+344|0;ya=Ca+312|0;wa=Ca+264|0;ca=Ca+256|0;Y=Ca+252|0;da=Ca+248|0;o=Ca+244|0;r=Ca+240|0;m=Ca+236|0;t=Ca+232|0;p=Ca+228|0;k=Ca+208|0;s=Ca+204|0;j=Ca+200|0;v=Ca+196|0;n=Ca+192|0;u=Ca+188|0;q=Ca+184|0;x=Ca+416|0;M=Ca+152|0;$=Ca+148|0;ba=Ca+144|0;ea=Ca+140|0;aa=Ca+136|0;Z=Ca+132|0;S=Ca+128|0;Aa=Ca+124|0;za=Ca+120|0;ia=Ca+116|0;z=Ca+112|0;A=Ca+108|0;na=Ca+104|0;R=Ca+100|0;T=Ca+96|0;ta=Ca+92|0;V=Ca+88|0;X=Ca+84|0;W=Ca+80|0;U=Ca+76|0;va=Ca+72|0;sa=Ca+68|0;ua=Ca+64|0;ga=Ca+60|0;ha=Ca+56|0;ja=Ca+52|0;qa=Ca+48|0;G=Ca+44|0;K=Ca+40|0;D=Ca+36|0;C=Ca+32|0;H=Ca+28|0;I=Ca+24|0;F=Ca+20|0;E=Ca+16|0;J=Ca+12|0;B=Ca+418|0;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[ka>>2]=0;c[ra>>2]=1;c[da>>2]=c[(c[O>>2]|0)+468>>2];h=(c[O>>2]|0)+472|0;f=c[h>>2]|0;c[h>>2]=f+1;c[(c[O>>2]|0)+468>>2]=f;c[Y>>2]=c[c[O>>2]>>2];if(((c[P>>2]|0)!=0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[(c[O>>2]|0)+68>>2]|0)==0:0){if(Sw(c[O>>2]|0,21,0,0,0)|0){c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}g=wa;h=g+48|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));if((d[c[Q>>2]>>0]|0)<=8){$u(c[Y>>2]|0,c[(c[P>>2]|0)+44>>2]|0);c[(c[P>>2]|0)+44>>2]=0;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]&-2}Qx(c[O>>2]|0,c[P>>2]|0,0);c[ya>>2]=0;c[ya+4>>2]=0;c[ya+8>>2]=0;c[ya+12>>2]=0;c[ya+16>>2]=0;c[ya+20>>2]=0;c[ya+24>>2]=0;c[ya+28>>2]=0;c[ya>>2]=c[(c[P>>2]|0)+44>>2];c[oa>>2]=c[(c[P>>2]|0)+28>>2];a:do if(((c[(c[O>>2]|0)+68>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0)?(c[l>>2]=(c[(c[P>>2]|0)+8>>2]&8|0)!=0&1,(aG(c[O>>2]|0,c[Q>>2]|0,c[c[c[P>>2]>>2]>>2]|0)|0)==0):0){c[_>>2]=0;while(1){if(c[(c[P>>2]|0)+48>>2]|0)break;if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[o>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[r>>2]=c[(c[o>>2]|0)+20>>2];c[t>>2]=c[(c[o>>2]|0)+16>>2];if(c[r>>2]|0){if((b[(c[t>>2]|0)+34>>1]|0)!=(c[c[c[r>>2]>>2]>>2]|0)){y=17;break}c[m>>2]=(c[(c[r>>2]|0)+8>>2]&8|0)!=0&1;if(bG(c[O>>2]|0,c[P>>2]|0,c[_>>2]|0,c[l>>2]|0,c[m>>2]|0)|0){if(c[m>>2]|0){c[l>>2]=1;f=(c[P>>2]|0)+8|0;c[f>>2]=c[f>>2]|8}c[_>>2]=-1}c[oa>>2]=c[(c[P>>2]|0)+28>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break a;if((d[c[Q>>2]>>0]|0)>8)c[ya>>2]=c[(c[P>>2]|0)+44>>2]}c[_>>2]=(c[_>>2]|0)+1}if((y|0)==17){Ba=c[O>>2]|0;za=c[c[t>>2]>>2]|0;Aa=c[c[c[r>>2]>>2]>>2]|0;c[w>>2]=b[(c[t>>2]|0)+34>>1];c[w+4>>2]=za;c[w+8>>2]=Aa;Ch(Ba,36087,w);break}c[Ba>>2]=Vw(c[O>>2]|0)|0;if(c[Ba>>2]|0){if(c[(c[P>>2]|0)+48>>2]|0){c[ra>>2]=cG(c[O>>2]|0,c[P>>2]|0,c[Q>>2]|0)|0;c[(c[O>>2]|0)+468>>2]=c[da>>2];c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[c[oa>>2]>>2]|0))break;c[p>>2]=(c[oa>>2]|0)+8+((c[_>>2]|0)*72|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];do if(c[s>>2]|0){if(c[(c[p>>2]|0)+24>>2]|0){if((d[(c[p>>2]|0)+36+1>>0]|0)>>>4&1)break;Xw(c[Ba>>2]|0,14,c[(c[p>>2]|0)+28>>2]|0,c[(c[p>>2]|0)+24>>2]|0)|0;break}t=dG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)+t;if(!(d[(c[p>>2]|0)+36>>0]&32))eG(c[Y>>2]|0,c[s>>2]|0,c[(c[P>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+44>>2]|0)|0;do if(!(c[_>>2]|0)){if((c[c[oa>>2]>>2]|0)!=1?(d[(c[oa>>2]|0)+8+72+36>>0]&10|0)==0:0){y=43;break}if(c[(c[P>>2]|0)+8>>2]&2){y=43;break}if(e[(c[Y>>2]|0)+64>>1]&256){y=43;break}c[j>>2]=(Hz(c[Ba>>2]|0)|0)+1;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;$w(c[Ba>>2]|0,16,c[(c[p>>2]|0)+28>>2]|0,0,c[j>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=c[j>>2];dB(k,13,c[(c[p>>2]|0)+28>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Iv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;w=(c[p>>2]|0)+36+1|0;a[w>>0]=a[w>>0]&-17|16;c[(c[p>>2]|0)+32>>2]=c[k+8>>2];DC(c[Ba>>2]|0,c[(c[p>>2]|0)+28>>2]|0);Lz(c[Ba>>2]|0,(c[j>>2]|0)-1|0);fG(c[O>>2]|0)}else y=43;while(0);if((y|0)==43){y=0;c[n>>2]=0;t=(c[O>>2]|0)+76|0;w=(c[t>>2]|0)+1|0;c[t>>2]=w;c[(c[p>>2]|0)+28>>2]=w;c[v>>2]=Xw(c[Ba>>2]|0,22,0,c[(c[p>>2]|0)+28>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=(c[v>>2]|0)+1;if(!((d[(c[p>>2]|0)+36+1>>0]|0)>>>3&1))c[n>>2]=_A(c[O>>2]|0)|0;dB(k,12,c[(c[p>>2]|0)+44>>2]|0);a[(c[p>>2]|0)+40>>0]=c[(c[O>>2]|0)+472>>2];Iv(c[O>>2]|0,c[s>>2]|0,k)|0;b[(c[(c[p>>2]|0)+16>>2]|0)+38>>1]=b[(c[s>>2]|0)+6>>1]|0;if(c[n>>2]|0)Lz(c[Ba>>2]|0,c[n>>2]|0);c[u>>2]=Dz(c[Ba>>2]|0,15,c[(c[p>>2]|0)+28>>2]|0)|0;CD(c[Ba>>2]|0,c[v>>2]|0,c[u>>2]|0);fG(c[O>>2]|0)}if(a[(c[Y>>2]|0)+69>>0]|0)break a;t=dG(c[P>>2]|0)|0;w=(c[O>>2]|0)+464|0;c[w>>2]=(c[w>>2]|0)-t}while(0);c[_>>2]=(c[_>>2]|0)+1}c[ka>>2]=c[c[P>>2]>>2];c[L>>2]=c[(c[P>>2]|0)+32>>2];c[la>>2]=c[(c[P>>2]|0)+36>>2];c[ma>>2]=c[(c[P>>2]|0)+40>>2];a[xa>>0]=(c[(c[P>>2]|0)+8>>2]&1|0)!=0;if((c[(c[P>>2]|0)+8>>2]&9|0)==1?(wy(c[ya>>2]|0,c[ka>>2]|0,-1)|0)==0:0){y=(c[P>>2]|0)+8|0;c[y>>2]=c[y>>2]&-2;y=By(c[Y>>2]|0,c[ka>>2]|0,0)|0;c[(c[P>>2]|0)+36>>2]=y;c[la>>2]=y}if(c[ya>>2]|0){c[q>>2]=gG(c[O>>2]|0,c[ya>>2]|0,0,c[c[ka>>2]>>2]|0)|0;w=(c[O>>2]|0)+72|0;y=c[w>>2]|0;c[w>>2]=y+1;c[ya+8>>2]=y;c[ya+20>>2]=_w(c[Ba>>2]|0,57,c[ya+8>>2]|0,(c[c[ya>>2]>>2]|0)+1+(c[c[ka>>2]>>2]|0)|0,0,c[q>>2]|0,-6)|0}else c[ya+20>>2]=-1;if((d[c[Q>>2]>>0]|0)==12)Xw(c[Ba>>2]|0,57,c[(c[Q>>2]|0)+4>>2]|0,c[c[ka>>2]>>2]|0)|0;c[ca>>2]=Iz(c[Ba>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=320;hG(c[O>>2]|0,c[P>>2]|0,c[ca>>2]|0);if((c[(c[P>>2]|0)+12>>2]|0)==0?(c[ya+20>>2]|0)>=0:0){iG(c[Ba>>2]|0,c[ya+20>>2]|0,58);y=ya+28|0;a[y>>0]=d[y>>0]|1}if(c[(c[P>>2]|0)+8>>2]&1){y=(c[O>>2]|0)+72|0;w=c[y>>2]|0;c[y>>2]=w+1;c[xa+4>>2]=w;w=c[Ba>>2]|0;y=c[xa+4>>2]|0;c[xa+8>>2]=_w(w,57,y,0,0,gG(c[O>>2]|0,c[c[P>>2]>>2]|0,0,0)|0,-6)|0;Hh(c[Ba>>2]|0,8);a[xa+1>>0]=3}else a[xa+1>>0]=0;if((c[l>>2]|0)==0&(c[la>>2]|0)==0){b[x>>1]=(d[xa>>0]|0)!=0?1024:0;b[x>>1]=e[x>>1]|c[(c[P>>2]|0)+8>>2]&16384;c[pa>>2]=XC(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[ya>>2]|0,c[c[P>>2]>>2]|0,b[x>>1]|0,b[(c[P>>2]|0)+6>>1]|0)|0;if(!(c[pa>>2]|0))break;Aa=(jG(c[pa>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[P>>2]|0)+6>>1]|0)){Aa=jG(c[pa>>2]|0)|0;b[(c[P>>2]|0)+6>>1]=Aa}do if(d[xa>>0]|0){if(!(kG(c[pa>>2]|0)|0))break;a[xa+1>>0]=kG(c[pa>>2]|0)|0}while(0);do if(c[ya>>2]|0){c[ya+4>>2]=lG(c[pa>>2]|0)|0;if((c[ya+4>>2]|0)!=(c[c[ya>>2]>>2]|0))break;c[ya>>2]=0}while(0);do if((c[ya+20>>2]|0)>=0){if(c[ya>>2]|0)break;vA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);ta=c[O>>2]|0;ua=c[P>>2]|0;va=c[ka>>2]|0;za=c[Q>>2]|0;Aa=mG(c[pa>>2]|0)|0;oG(ta,ua,va,-1,ya,xa,za,Aa,nG(c[pa>>2]|0)|0);YC(c[pa>>2]|0)}else{c[Aa>>2]=0;c[za>>2]=0;c[ia>>2]=0;g=c[P>>2]|0;do if(c[la>>2]|0){c[z>>2]=c[c[g>>2]>>2];c[A>>2]=c[(c[c[P>>2]>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}c[z>>2]=c[c[la>>2]>>2];c[A>>2]=c[(c[la>>2]|0)+4>>2];while(1){if((c[z>>2]|0)<=0)break;b[(c[A>>2]|0)+16+2>>1]=0;c[z>>2]=(c[z>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+20}if((b[(c[P>>2]|0)+6>>1]|0)<=66)break;b[(c[P>>2]|0)+6>>1]=66}else b[g+6>>1]=0;while(0);if(!(wy(c[la>>2]|0,c[ya>>2]|0,-1)|0))c[ia>>2]=1;c[S>>2]=Iz(c[Ba>>2]|0)|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[M+24>>2]=0;c[M+28>>2]=0;c[M>>2]=c[O>>2];c[M+4>>2]=c[oa>>2];c[M+12>>2]=wa;c[wa+16>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;if(c[la>>2]|0)g=c[c[la>>2]>>2]|0;else g=0;c[wa+12>>2]=g;c[wa+24>>2]=c[la>>2];pG(M,c[ka>>2]|0);pG(M,c[ya>>2]|0);if(c[ma>>2]|0)qG(M,c[ma>>2]|0);c[wa+36>>2]=c[wa+32>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+44>>2]|0))break;A=M+28|0;b[A>>1]=e[A>>1]|8;pG(M,c[(c[(c[wa+40>>2]|0)+(c[_>>2]<<4)>>2]|0)+20>>2]|0);A=M+28|0;b[A>>1]=e[A>>1]&-9;c[_>>2]=(c[_>>2]|0)+1}c[wa+20>>2]=c[(c[O>>2]|0)+76>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[la>>2]|0){K=(c[O>>2]|0)+72|0;M=c[K>>2]|0;c[K>>2]=M+1;c[wa+4>>2]=M;c[na>>2]=gG(c[O>>2]|0,c[la>>2]|0,0,c[wa+32>>2]|0)|0;c[W>>2]=_w(c[Ba>>2]|0,58,c[wa+4>>2]|0,c[wa+12>>2]|0,0,c[na>>2]|0,-6)|0;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ea>>2]=K;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[aa>>2]=M;M=(c[O>>2]|0)+76|0;K=(c[M>>2]|0)+1|0;c[M>>2]=K;c[ta>>2]=K;c[T>>2]=Iz(c[Ba>>2]|0)|0;K=(c[O>>2]|0)+76|0;M=(c[K>>2]|0)+1|0;c[K>>2]=M;c[va>>2]=M;c[U>>2]=Iz(c[Ba>>2]|0)|0;c[$>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);c[ba>>2]=(c[(c[O>>2]|0)+76>>2]|0)+1;M=(c[O>>2]|0)+76|0;c[M>>2]=(c[M>>2]|0)+(c[c[la>>2]>>2]|0);Xw(c[Ba>>2]|0,22,0,c[aa>>2]|0)|0;Xw(c[Ba>>2]|0,22,0,c[ea>>2]|0)|0;$w(c[Ba>>2]|0,25,0,c[$>>2]|0,(c[$>>2]|0)+(c[c[la>>2]>>2]|0)-1|0)|0;Xw(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;c[pa>>2]=XC(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[la>>2]|0,0,(256|((c[ia>>2]|0)!=0?2048:0))&65535,0)|0;if(!(c[pa>>2]|0))break;M=lG(c[pa>>2]|0)|0;if((M|0)==(c[c[la>>2]>>2]|0))c[Z>>2]=0;else{if(d[xa>>0]|0)g=(c[(c[P>>2]|0)+8>>2]&1|0)==0;else g=0;rG(c[O>>2]|0,g?36127:36136);c[Z>>2]=1;c[ha>>2]=c[c[la>>2]>>2];c[ga>>2]=c[ha>>2];c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;if((c[(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0)+12>>2]|0)>=(c[fa>>2]|0)){c[ga>>2]=(c[ga>>2]|0)+1;c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[sa>>2]=qA(c[O>>2]|0,c[ga>>2]|0)|0;kC(c[O>>2]|0);MA(c[O>>2]|0,c[la>>2]|0,c[sa>>2]|0,0,0)|0;c[fa>>2]=c[ha>>2];c[_>>2]=0;while(1){if((c[_>>2]|0)>=(c[wa+32>>2]|0))break;c[ja>>2]=(c[wa+28>>2]|0)+((c[_>>2]|0)*24|0);if((c[(c[ja>>2]|0)+12>>2]|0)>=(c[fa>>2]|0)){c[qa>>2]=(c[fa>>2]|0)+(c[sa>>2]|0);BD(c[O>>2]|0,c[c[ja>>2]>>2]|0,c[(c[ja>>2]|0)+8>>2]|0,c[(c[ja>>2]|0)+4>>2]|0,c[qa>>2]|0);c[fa>>2]=(c[fa>>2]|0)+1}c[_>>2]=(c[_>>2]|0)+1}c[ua>>2]=aA(c[O>>2]|0)|0;$w(c[Ba>>2]|0,49,c[sa>>2]|0,c[ga>>2]|0,c[ua>>2]|0)|0;Xw(c[Ba>>2]|0,109,c[wa+4>>2]|0,c[ua>>2]|0)|0;eA(c[O>>2]|0,c[ua>>2]|0);tA(c[O>>2]|0,c[sa>>2]|0,c[ga>>2]|0);YC(c[pa>>2]|0);sa=(c[O>>2]|0)+72|0;ua=c[sa>>2]|0;c[sa>>2]=ua+1;c[Aa>>2]=ua;c[wa+8>>2]=ua;c[za>>2]=aA(c[O>>2]|0)|0;$w(c[Ba>>2]|0,60,c[Aa>>2]|0,c[za>>2]|0,c[ga>>2]|0)|0;Xw(c[Ba>>2]|0,106,c[wa+4>>2]|0,c[S>>2]|0)|0;a[wa+1>>0]=1;kC(c[O>>2]|0)}do if(c[ia>>2]|0){if(e[(c[Y>>2]|0)+64>>1]&4)break;if((c[Z>>2]|0)==0?(sG(c[pa>>2]|0)|0)==0:0)break;c[ya>>2]=0;vA(c[Ba>>2]|0,c[ya+20>>2]|0)|0}while(0);c[X>>2]=Hz(c[Ba>>2]|0)|0;kC(c[O>>2]|0);if(c[Z>>2]|0)$w(c[Ba>>2]|0,100,c[wa+4>>2]|0,c[za>>2]|0,c[Aa>>2]|0)|0;c[fa>>2]=0;while(1){if((c[fa>>2]|0)>=(c[c[la>>2]>>2]|0))break;if(c[Z>>2]|0)$w(c[Ba>>2]|0,47,c[Aa>>2]|0,c[fa>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)|0;else{a[wa>>0]=1;DA(c[O>>2]|0,c[(c[(c[la>>2]|0)+4>>2]|0)+((c[fa>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[fa>>2]|0)|0)}c[fa>>2]=(c[fa>>2]|0)+1}sa=c[Ba>>2]|0;ua=c[$>>2]|0;za=c[ba>>2]|0;Aa=c[c[la>>2]>>2]|0;_w(sa,42,ua,za,Aa,$z(c[na>>2]|0)|0,-6)|0;c[R>>2]=Hz(c[Ba>>2]|0)|0;$w(c[Ba>>2]|0,43,(c[R>>2]|0)+1|0,0,(c[R>>2]|0)+1|0)|0;tG(c[O>>2]|0,c[ba>>2]|0,c[$>>2]|0,c[c[la>>2]>>2]|0);Xw(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Xw(c[Ba>>2]|0,138,c[aa>>2]|0,c[S>>2]|0)|0;Xw(c[Ba>>2]|0,14,c[va>>2]|0,c[U>>2]|0)|0;Lz(c[Ba>>2]|0,c[R>>2]|0);uG(c[O>>2]|0,wa);Xw(c[Ba>>2]|0,22,1,c[ea>>2]|0)|0;if(c[Z>>2]|0)Xw(c[Ba>>2]|0,3,c[wa+4>>2]|0,c[X>>2]|0)|0;else{YC(c[pa>>2]|0);vA(c[Ba>>2]|0,c[W>>2]|0)|0}Xw(c[Ba>>2]|0,14,c[ta>>2]|0,c[T>>2]|0)|0;Kz(c[Ba>>2]|0,c[S>>2]|0)|0;c[V>>2]=Hz(c[Ba>>2]|0)|0;Xw(c[Ba>>2]|0,22,1,c[aa>>2]|0)|0;Dz(c[Ba>>2]|0,15,c[ta>>2]|0)|0;Mz(c[Ba>>2]|0,c[T>>2]|0);c[T>>2]=Hz(c[Ba>>2]|0)|0;Xw(c[Ba>>2]|0,138,c[ea>>2]|0,(c[T>>2]|0)+2|0)|0;Dz(c[Ba>>2]|0,15,c[ta>>2]|0)|0;vG(c[O>>2]|0,wa);RA(c[O>>2]|0,c[ma>>2]|0,(c[T>>2]|0)+1|0,16);oG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,ya,xa,c[Q>>2]|0,(c[T>>2]|0)+1|0,c[V>>2]|0);Dz(c[Ba>>2]|0,15,c[ta>>2]|0)|0;Mz(c[Ba>>2]|0,c[U>>2]|0);wG(c[O>>2]|0,wa);Dz(c[Ba>>2]|0,15,c[va>>2]|0)|0}else{c[G>>2]=0;Aa=xG(c[P>>2]|0,wa)|0;c[K>>2]=Aa;if(Aa){c[D>>2]=Fh(c[c[O>>2]>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;za=(c[O>>2]|0)+72|0;Aa=c[za>>2]|0;c[za>>2]=Aa+1;c[C>>2]=Aa;c[I>>2]=0;c[F>>2]=0;c[E>>2]=c[(c[K>>2]|0)+28>>2];hx(c[O>>2]|0,c[D>>2]|0);Ez(c[O>>2]|0,c[D>>2]|0,c[(c[K>>2]|0)+28>>2]|0,0,c[c[K>>2]>>2]|0);if(d[(c[K>>2]|0)+42>>0]&32)c[F>>2]=Hj(c[K>>2]|0)|0;c[H>>2]=c[(c[K>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[K>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if((c[F>>2]|0)!=0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[F>>2]|0)+48>>1]|0):0)break;c[F>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[F>>2]|0){c[E>>2]=c[(c[F>>2]|0)+44>>2];c[I>>2]=Vz(c[O>>2]|0,c[F>>2]|0)|0}Gh(c[Ba>>2]|0,54,c[C>>2]|0,c[E>>2]|0,c[D>>2]|0,1)|0;if(c[I>>2]|0)Kh(c[Ba>>2]|0,-1,c[I>>2]|0,-6);Xw(c[Ba>>2]|0,50,c[C>>2]|0,c[(c[wa+40>>2]|0)+8>>2]|0)|0;Dz(c[Ba>>2]|0,61,c[C>>2]|0)|0;yG(c[O>>2]|0,c[K>>2]|0,c[F>>2]|0)}else{c[J>>2]=0;a[B>>0]=0;if(!(c[(c[P>>2]|0)+40>>2]|0))a[B>>0]=zG(wa,J)|0;do if(a[B>>0]|0){c[J>>2]=By(c[Y>>2]|0,c[J>>2]|0,0)|0;c[G>>2]=c[J>>2];if(a[(c[Y>>2]|0)+69>>0]|0)break;a[(c[(c[J>>2]|0)+4>>2]|0)+12>>0]=(d[B>>0]|0)!=1?1:0;a[c[c[(c[J>>2]|0)+4>>2]>>2]>>0]=-104}while(0);wG(c[O>>2]|0,wa);c[pa>>2]=XC(c[O>>2]|0,c[oa>>2]|0,c[L>>2]|0,c[J>>2]|0,0,d[B>>0]|0,0)|0;if(!(c[pa>>2]|0)){$u(c[Y>>2]|0,c[G>>2]|0);break}uG(c[O>>2]|0,wa);if((lG(c[pa>>2]|0)|0)>0){Aa=c[Ba>>2]|0;Kz(Aa,nG(c[pa>>2]|0)|0)|0}YC(c[pa>>2]|0);vG(c[O>>2]|0,wa)}c[ya>>2]=0;RA(c[O>>2]|0,c[ma>>2]|0,c[S>>2]|0,16);oG(c[O>>2]|0,c[P>>2]|0,c[c[P>>2]>>2]|0,-1,0,0,c[Q>>2]|0,c[S>>2]|0,c[S>>2]|0);$u(c[Y>>2]|0,c[G>>2]|0)}Mz(c[Ba>>2]|0,c[S>>2]|0)}if((d[xa+1>>0]|0)==3)rG(c[O>>2]|0,36127);if(c[ya>>2]|0){rG(c[O>>2]|0,(c[ya+4>>2]|0)>0?36145:36168);AG(c[O>>2]|0,c[P>>2]|0,ya,c[c[ka>>2]>>2]|0,c[Q>>2]|0)}Mz(c[Ba>>2]|0,c[ca>>2]|0);c[ra>>2]=(c[(c[O>>2]|0)+68>>2]|0)>0&1}}while(0);c[(c[O>>2]|0)+468>>2]=c[da>>2];if((c[ra>>2]|0)==0?(d[c[Q>>2]>>0]|0)==9:0)BG(c[O>>2]|0,c[oa>>2]|0,c[ka>>2]|0);Tf(c[Y>>2]|0,c[wa+28>>2]|0);Tf(c[Y>>2]|0,c[wa+40>>2]|0);c[N>>2]=c[ra>>2];Ba=c[N>>2]|0;i=Ca;return Ba|0}c[N>>2]=1;Ba=c[N>>2]|0;i=Ca;return Ba|0}function Jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=l;d=l+24|0;e=l+20|0;j=l+16|0;h=l+12|0;g=l+8|0;f=l+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){i=l;return}c[j>>2]=0;c[f>>2]=0;c[h>>2]=c[e>>2];while(1){if(!(c[h>>2]|0))break;c[(c[h>>2]|0)+52>>2]=c[j>>2];a=(c[h>>2]|0)+8|0;c[a>>2]=c[a>>2]|128;c[j>>2]=c[h>>2];c[h>>2]=c[(c[h>>2]|0)+48>>2];c[f>>2]=(c[f>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&512){i=l;return}a=c[(c[c[d>>2]>>2]|0)+92+16>>2]|0;c[g>>2]=a;if((a|0)<=0){i=l;return}if((c[f>>2]|0)<=(c[g>>2]|0)){i=l;return}Ch(c[d>>2]|0,36053,k);i=l;return}function Kv(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=i;i=i+48|0;v=x;k=x+44|0;l=x+40|0;m=x+36|0;n=x+32|0;o=x+28|0;p=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;u=x+8|0;t=x+4|0;c[l>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=j;c[t>>2]=c[c[l>>2]>>2];if((c[m>>2]|0)==0?(c[r>>2]|0)!=0|(c[s>>2]|0)!=0:0){j=c[l>>2]|0;c[v>>2]=(c[r>>2]|0)!=0?36008:36011;Ch(j,36017,v)}else w=4;if(((w|0)==4?(c[m>>2]=Tv(c[t>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,(c[m>>2]|0)!=0):0)?(c[c[m>>2]>>2]|0)!=0:0){c[u>>2]=(c[m>>2]|0)+8+(((c[c[m>>2]>>2]|0)-1|0)*72|0);if(c[(c[p>>2]|0)+4>>2]|0){w=Jw(c[t>>2]|0,c[p>>2]|0)|0;c[(c[u>>2]|0)+12>>2]=w}c[(c[u>>2]|0)+20>>2]=c[q>>2];c[(c[u>>2]|0)+48>>2]=c[r>>2];c[(c[u>>2]|0)+52>>2]=c[s>>2];c[k>>2]=c[m>>2];w=c[k>>2]|0;i=x;return w|0}dv(c[t>>2]|0,c[r>>2]|0);ev(c[t>>2]|0,c[s>>2]|0);av(c[t>>2]|0,c[q>>2]|0);c[k>>2]=0;w=c[k>>2]|0;i=x;return w|0}function Lv(d,e,f,g,h,j,k,l,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=i;i=i+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;z=B+72|0;A=B+4|0;y=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;c[w>>2]=m;c[x>>2]=n;c[y>>2]=c[c[o>>2]>>2];l=Lw(c[y>>2]|0,68,0)|0;c[z>>2]=l;c[z>>2]=(c[z>>2]|0)==0?A:l;if(!(c[p>>2]|0)){l=c[o>>2]|0;c[p>>2]=Mv(l,0,Pv(c[y>>2]|0,158,0)|0)|0}c[c[z>>2]>>2]=c[p>>2];a[(c[z>>2]|0)+4>>0]=119;c[(c[z>>2]|0)+8>>2]=c[v>>2];c[(c[z>>2]|0)+12>>2]=0;c[(c[z>>2]|0)+16>>2]=0;c[(c[z>>2]|0)+20>>2]=-1;c[(c[z>>2]|0)+20+4>>2]=-1;b[(c[z>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=rh(c[y>>2]|0,80,0)|0;c[(c[z>>2]|0)+28>>2]=c[q>>2];c[(c[z>>2]|0)+32>>2]=c[r>>2];c[(c[z>>2]|0)+36>>2]=c[s>>2];c[(c[z>>2]|0)+40>>2]=c[t>>2];c[(c[z>>2]|0)+44>>2]=c[u>>2];c[(c[z>>2]|0)+48>>2]=0;c[(c[z>>2]|0)+52>>2]=0;c[(c[z>>2]|0)+56>>2]=c[w>>2];c[(c[z>>2]|0)+60>>2]=c[x>>2];c[(c[z>>2]|0)+64>>2]=0;if(!(a[(c[y>>2]|0)+69>>0]|0)){A=c[z>>2]|0;i=B;return A|0}bv(c[y>>2]|0,c[z>>2]|0,(c[z>>2]|0)!=(A|0)&1);c[z>>2]=0;A=c[z>>2]|0;i=B;return A|0}function Mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+24|0;m=l+20|0;g=l+16|0;h=l+12|0;j=l+8|0;e=l+4|0;k=l;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=Lw(c[j>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=Lw(c[j>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)e=7;else e=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Kw(c[j>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))e=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];e=7}}else e=7;if((e|0)==7){j=c[g>>2]|0;m=c[j>>2]|0;c[j>>2]=m+1;c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(m*20|0);m=c[k>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[k>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;i=l;return m|0}else if((e|0)==8){dv(c[j>>2]|0,c[h>>2]|0);$u(c[j>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;i=l;return m|0}return 0}function Nv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){i=l;return}c[k>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);a=Ow(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[k>>2]|0)+4>>2]=a;if(!(c[j>>2]|0)){i=l;return}if(!(c[(c[k>>2]|0)+4>>2]|0)){i=l;return}Pw(c[(c[k>>2]|0)+4>>2]|0)|0;i=l;return}function Ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;k=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[k>>2]>>2];if(!(c[e>>2]|0)){i=j;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Tf(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);k=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;k=Ow(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,k,((k|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=k;i=j;return}function Pv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;f=j+16|0;g=j+12|0;e=j+8|0;h=j;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)e=Jf(c[e>>2]|0)|0;else e=0;c[h+4>>2]=e;h=iz(c[f>>2]|0,c[g>>2]|0,h,0)|0;i=j;return h|0}function Qv(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){i=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[(c[d>>2]|0)+8+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[(c[d>>2]|0)+8+36>>0]=0;i=f;return}function Rv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){i=k;return}if((c[c[g>>2]>>2]|0)<=0){i=k;return}c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-2|1;i=k;return}b=Jw(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[j>>2]|0)+64>>2]=b;b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-3|((c[(c[j>>2]|0)+64>>2]|0)!=0&1)<<1&255;i=k;return}function Sv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[j>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[j>>2]|0)+64>>2]=c[h>>2];b=(c[j>>2]|0)+36+1|0;a[b>>0]=a[b>>0]&-5|4;i=k;return}else{$u(c[c[f>>2]>>2]|0,c[h>>2]|0);i=k;return}}function Tv(b,d,e,f){b=b|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;o=i;i=i+32|0;g=o+24|0;h=o+20|0;j=o+16|0;k=o+12|0;l=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=Lw(c[h>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}while(0);c[j>>2]=$F(c[h>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[h>>2]|0)+69>>0]|0){cv(c[h>>2]|0,c[j>>2]|0);c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if((c[l>>2]|0)!=0?(c[c[l>>2]>>2]|0)==0:0)c[l>>2]=0;if(c[l>>2]|0){c[n>>2]=c[l>>2];c[l>>2]=c[k>>2];c[k>>2]=c[n>>2]}n=Jw(c[h>>2]|0,c[k>>2]|0)|0;c[(c[m>>2]|0)+8>>2]=n;n=Jw(c[h>>2]|0,c[l>>2]|0)|0;c[(c[m>>2]|0)+4>>2]=n;c[g>>2]=c[j>>2];n=c[g>>2]|0;i=o;return n|0}function Uv(a,b,e,f){a=a|0;b=b|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,r=0,s=0,t=0,u=0;u=i;i=i+80|0;r=u+16|0;q=u;g=u+64|0;h=u+60|0;j=u+56|0;k=u+52|0;o=u+48|0;l=u+36|0;p=u+32|0;m=u+28|0;n=u+24|0;s=u+20|0;c[g>>2]=a;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[l>>2]=c[h>>2];c[l+4>>2]=c[j>>2];c[l+8>>2]=c[k>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=3)break;if(!(c[l+(c[m>>2]<<2)>>2]|0))break;c[p>>2]=c[l+(c[m>>2]<<2)>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=7)break;if((c[(c[p>>2]|0)+4>>2]|0)==(d[35852+((c[n>>2]|0)*3|0)+1>>0]|0|0)?(zd(c[c[p>>2]>>2]|0,35873+(d[35852+((c[n>>2]|0)*3|0)>>0]|0)|0,c[(c[p>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[n>>2]=(c[n>>2]|0)+1}if((t|0)==8){t=0;c[o>>2]=c[o>>2]|(d[35852+((c[n>>2]|0)*3|0)+2>>0]|0)}if((c[n>>2]|0)>=7){t=11;break}c[m>>2]=(c[m>>2]|0)+1}if((t|0)==11)c[o>>2]=c[o>>2]|64;if((c[o>>2]&33|0)!=33?(c[o>>2]&64|0)==0:0){if(!(c[o>>2]&32)){t=c[o>>2]|0;i=u;return t|0}if((c[o>>2]&24|0)==8){t=c[o>>2]|0;i=u;return t|0}Ch(c[g>>2]|0,35953,r);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}c[s>>2]=35907;if(!(c[k>>2]|0))c[s>>2]=(c[s>>2]|0)+1;t=c[g>>2]|0;a=c[j>>2]|0;r=c[s>>2]|0;s=c[k>>2]|0;c[q>>2]=c[h>>2];c[q+4>>2]=a;c[q+8>>2]=r;c[q+12>>2]=s;Ch(t,35909,q);c[o>>2]=1;t=c[o>>2]|0;i=u;return t|0}function Vv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){i=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];i=g;return}function Wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=j+4|0;g=j;h=j+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){i=j;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+536>>2];c[(c[f>>2]|0)+536>>2]=c[g>>2];if(!(a[h>>0]|0)){i=j;return}c[(c[f>>2]|0)+540>>2]=c[g>>2];i=j;return}function Xv(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=i;i=i+192|0;H=Y+180|0;I=Y+176|0;J=Y+172|0;X=Y+168|0;V=Y+164|0;t=Y+160|0;N=Y+156|0;G=Y+152|0;T=Y+148|0;n=Y+144|0;O=Y+140|0;Q=Y+136|0;o=Y+132|0;M=Y+128|0;W=Y+120|0;r=Y+88|0;l=Y+84|0;S=Y+80|0;q=Y+76|0;z=Y+72|0;w=Y+64|0;K=Y+60|0;U=Y+56|0;m=Y+52|0;p=Y+188|0;B=Y+48|0;D=Y+186|0;P=Y+44|0;C=Y+40|0;v=Y+36|0;L=Y+32|0;j=Y+28|0;R=Y+24|0;E=Y+20|0;x=Y+16|0;s=Y+184|0;k=Y+12|0;F=Y+8|0;y=Y+4|0;A=Y;c[H>>2]=f;c[I>>2]=g;c[J>>2]=h;c[O>>2]=0;c[Q>>2]=0;c[S>>2]=-1;c[K>>2]=0;c[m>>2]=0;b[p>>1]=1;c[P>>2]=0;c[C>>2]=0;c[v>>2]=0;c[L>>2]=0;c[j>>2]=0;c[W>>2]=0;c[W+4>>2]=0;c[M>>2]=c[c[H>>2]>>2];a:do if(((c[(c[H>>2]|0)+68>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=JB(c[H>>2]|0,c[I>>2]|0)|0,(c[V>>2]|0)!=0):0){c[E>>2]=yC(c[H>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[E>>2]|0)f=1;else f=(KE(c[H>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[x>>2]=f&1;if(((Fx(c[H>>2]|0,c[V>>2]|0)|0)==0?(zC(c[H>>2]|0,c[V>>2]|0,(c[E>>2]|0)!=0?1:0)|0)==0:0)?(c[l>>2]=Fh(c[M>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[t>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[l>>2]<<4)>>2],c[q>>2]=Sw(c[H>>2]|0,9,c[c[V>>2]>>2]|0,0,c[t>>2]|0)|0,(c[q>>2]|0)!=1):0){h=(c[H>>2]|0)+72|0;t=c[h>>2]|0;c[h>>2]=t+1;c[(c[I>>2]|0)+8+44>>2]=t;c[n>>2]=t;c[o>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break;t=(c[H>>2]|0)+72|0;c[t>>2]=(c[t>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2];c[o>>2]=(c[o>>2]|0)+1}if(c[R>>2]|0)WF(c[H>>2]|0,W,c[c[V>>2]>>2]|0);c[X>>2]=Vw(c[H>>2]|0)|0;if(c[X>>2]|0){if(!(d[(c[H>>2]|0)+18>>0]|0))AC(c[X>>2]|0);gx(c[H>>2]|0,1,c[l>>2]|0);if(c[R>>2]|0){XF(c[H>>2]|0,c[V>>2]|0,c[J>>2]|0,c[n>>2]|0);t=c[n>>2]|0;c[Q>>2]=t;c[O>>2]=t};c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r>>2]=c[H>>2];c[r+4>>2]=c[I>>2];if(!(ly(r,c[J>>2]|0)|0)){if(c[(c[M>>2]|0)+24>>2]&128){r=(c[H>>2]|0)+76|0;t=(c[r>>2]|0)+1|0;c[r>>2]=t;c[S>>2]=t;Xw(c[X>>2]|0,22,0,c[S>>2]|0)|0}b:do if(!((c[q>>2]|0)==0&(c[J>>2]|0)==0^1|(c[x>>2]|0)!=0)?(d[(c[V>>2]|0)+42>>0]&16|0)==0:0){Ez(c[H>>2]|0,c[l>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))_w(c[X>>2]|0,119,c[(c[V>>2]|0)+28>>2]|0,c[l>>2]|0,c[S>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break b;Xw(c[X>>2]|0,119,c[(c[T>>2]|0)+44>>2]|0,c[l>>2]|0)|0;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}else u=29;while(0);c:do if((u|0)==29){b[s>>1]=12;b[s>>1]=e[s>>1]|((c[x>>2]|0)!=0?0:8192);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[U>>2]=0;b[p>>1]=1;t=(c[H>>2]|0)+76|0;u=(c[t>>2]|0)+1|0;c[t>>2]=u;c[C>>2]=u;Xw(c[X>>2]|0,25,0,c[C>>2]|0)|0}else{c[U>>2]=Hj(c[V>>2]|0)|0;b[p>>1]=b[(c[U>>2]|0)+50>>1]|0;c[m>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;t=(c[H>>2]|0)+76|0;c[t>>2]=(c[t>>2]|0)+(b[p>>1]|0);t=(c[H>>2]|0)+72|0;u=c[t>>2]|0;c[t>>2]=u+1;c[P>>2]=u;c[j>>2]=Xw(c[X>>2]|0,57,c[P>>2]|0,b[p>>1]|0)|0;Gz(c[H>>2]|0,c[U>>2]|0)}c[G>>2]=XC(c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,0,0,b[s>>1]|0,(c[n>>2]|0)+1|0)|0;if(!(c[G>>2]|0))break a;c[z>>2]=ZF(c[G>>2]|0,w)|0;if(c[(c[M>>2]|0)+24>>2]&128)Xw(c[X>>2]|0,37,c[S>>2]|0,1)|0;do if(c[U>>2]|0){c[N>>2]=0;while(1){if((c[N>>2]|0)>=(b[p>>1]|0))break;zA(c[X>>2]|0,c[V>>2]|0,c[n>>2]|0,b[(c[(c[U>>2]|0)+4>>2]|0)+(c[N>>2]<<1)>>1]|0,(c[m>>2]|0)+(c[N>>2]|0)|0);c[N>>2]=(c[N>>2]|0)+1}c[B>>2]=c[m>>2]}else{c[B>>2]=(c[(c[H>>2]|0)+76>>2]|0)+1;c[B>>2]=FA(c[H>>2]|0,c[V>>2]|0,-1,c[n>>2]|0,c[B>>2]|0,0)|0;if((c[B>>2]|0)<=(c[(c[H>>2]|0)+76>>2]|0))break;c[(c[H>>2]|0)+76>>2]=c[B>>2]}while(0);do if(!(c[z>>2]|0))if(c[U>>2]|0){r=(c[H>>2]|0)+76|0;q=(c[r>>2]|0)+1|0;c[r>>2]=q;c[B>>2]=q;b[D>>1]=0;q=c[X>>2]|0;r=c[m>>2]|0;s=b[p>>1]|0;t=c[B>>2]|0;u=iC(c[c[H>>2]>>2]|0,c[U>>2]|0)|0;_w(q,49,r,s,t,u,b[p>>1]|0)|0;Xw(c[X>>2]|0,110,c[P>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=1;Xw(c[X>>2]|0,129,c[C>>2]|0,c[B>>2]|0)|0;break}else{b[D>>1]=b[p>>1]|0;u=(c[o>>2]|0)+2|0;c[K>>2]=Lw(c[M>>2]|0,u,((u|0)<0)<<31>>31)|0;if(!(c[K>>2]|0)){YC(c[G>>2]|0);break a}tR(c[K>>2]|0,1,(c[o>>2]|0)+1|0)|0;a[(c[K>>2]|0)+((c[o>>2]|0)+1)>>0]=0;if((c[w>>2]|0)>=0)a[(c[K>>2]|0)+((c[w>>2]|0)-(c[n>>2]|0))>>0]=0;if((c[w+4>>2]|0)>=0)a[(c[K>>2]|0)+((c[w+4>>2]|0)-(c[n>>2]|0))>>0]=0;if(!(c[j>>2]|0))break;vA(c[X>>2]|0,c[j>>2]|0)|0}while(0);if(c[z>>2]|0)c[v>>2]=Iz(c[X>>2]|0)|0;else YC(c[G>>2]|0);do if(!(c[R>>2]|0)){c[k>>2]=0;if((c[z>>2]|0)==2)c[k>>2]=_A(c[H>>2]|0)|0;lC(c[H>>2]|0,c[V>>2]|0,55,8,c[n>>2]|0,c[K>>2]|0,O,Q)|0;if((c[z>>2]|0)!=2)break;Lz(c[X>>2]|0,c[k>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){c[L>>2]=Dz(f,108,c[P>>2]|0)|0;Xw(c[X>>2]|0,101,c[P>>2]|0,c[B>>2]|0)|0;break}else{c[L>>2]=$w(f,130,c[C>>2]|0,0,c[B>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(d[(c[K>>2]|0)+((c[O>>2]|0)-(c[n>>2]|0))>>0]|0))break;Gh(c[X>>2]|0,68,c[O>>2]|0,c[v>>2]|0,c[B>>2]|0,b[D>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16){c[F>>2]=Gx(c[M>>2]|0,c[V>>2]|0)|0;KC(c[H>>2]|0,c[V>>2]|0);_w(c[X>>2]|0,12,0,1,c[B>>2]|0,c[F>>2]|0,-10)|0;Hh(c[X>>2]|0,2);Hx(c[H>>2]|0);if((c[z>>2]|0)!=1)break;if(c[(c[H>>2]|0)+416>>2]|0)break;a[(c[H>>2]|0)+20>>0]=0}else{c[y>>2]=(d[(c[H>>2]|0)+18>>0]|0)==0&1;c[A>>2]=-1;do if(!(c[x>>2]|0)){if((c[w+4>>2]|0)==(c[O>>2]|0))break;c[A>>2]=c[w+4>>2]}while(0);ME(c[H>>2]|0,c[V>>2]|0,c[E>>2]|0,c[O>>2]|0,c[Q>>2]|0,c[B>>2]|0,b[D>>1]|0,c[y>>2]&255,10,c[z>>2]&255,c[A>>2]|0)}while(0);do if(!(c[z>>2]|0)){f=c[X>>2]|0;if(c[U>>2]|0){Xw(f,7,c[P>>2]|0,(c[L>>2]|0)+1|0)|0;Lz(c[X>>2]|0,c[L>>2]|0);break}else{Kz(f,c[L>>2]|0)|0;Lz(c[X>>2]|0,c[L>>2]|0);break}}else{Mz(c[X>>2]|0,c[v>>2]|0);YC(c[G>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16)break;if(!(c[U>>2]|0))Dz(c[X>>2]|0,61,c[O>>2]|0)|0;c[N>>2]=0;c[T>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[T>>2]|0))break c;Dz(c[X>>2]|0,61,(c[Q>>2]|0)+(c[N>>2]|0)|0)|0;c[N>>2]=(c[N>>2]|0)+1;c[T>>2]=c[(c[T>>2]|0)+20>>2]}}while(0);if((d[(c[H>>2]|0)+18>>0]|0)==0?(c[(c[H>>2]|0)+420>>2]|0)==0:0)OC(c[H>>2]|0);if(((c[(c[M>>2]|0)+24>>2]&128|0)!=0?(a[(c[H>>2]|0)+18>>0]|0)==0:0)?(c[(c[H>>2]|0)+420>>2]|0)==0:0){Xw(c[X>>2]|0,33,c[S>>2]|0,1)|0;UB(c[X>>2]|0,1);VB(c[X>>2]|0,0,0,35839,0)|0}}}}}while(0);_F(W);cv(c[M>>2]|0,c[I>>2]|0);dv(c[M>>2]|0,c[J>>2]|0);Tf(c[M>>2]|0,c[K>>2]|0);i=Y;return}function Yv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+92+8>>2];if(!(c[f>>2]|0)){i=k;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){i=k;return}d=c[e>>2]|0;c[j>>2]=c[g>>2];Ch(d,35816,j);i=k;return} +function oH(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=i;i=i+96|0;G=I+16|0;s=I+8|0;n=I;C=I+92|0;u=I+88|0;p=I+84|0;v=I+80|0;l=I+76|0;w=I+72|0;q=I+68|0;D=I+64|0;H=I+60|0;F=I+56|0;x=I+52|0;m=I+48|0;o=I+44|0;t=I+40|0;r=I+36|0;y=I+32|0;z=I+28|0;A=I+24|0;E=I+20|0;c[C>>2]=b;c[u>>2]=e;c[p>>2]=f;c[v>>2]=g;c[l>>2]=h;c[w>>2]=j;c[q>>2]=k;c[H>>2]=0;c[F>>2]=0;c[D>>2]=rh(c[C>>2]|0,544,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}c[(c[D>>2]|0)+480>>2]=c[l>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[C>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((c[m>>2]|0)!=0?(c[F>>2]=pH(c[m>>2]|0)|0,(c[F>>2]|0)!=0):0){B=7;break}c[x>>2]=(c[x>>2]|0)+1}if((B|0)==7){c[o>>2]=c[(c[(c[C>>2]|0)+16>>2]|0)+(c[x>>2]<<4)>>2];G=c[C>>2]|0;H=c[F>>2]|0;c[n>>2]=c[o>>2];jg(G,H,40049,n);H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}pu(c[C>>2]|0);c[c[D>>2]>>2]=c[C>>2];c[(c[D>>2]|0)+428>>2]=0;do if((c[p>>2]|0)>=0){if((c[p>>2]|0)!=0?(a[(c[u>>2]|0)+((c[p>>2]|0)-1)>>0]|0)==0:0){B=17;break}c[r>>2]=c[(c[C>>2]|0)+92+4>>2];l=c[C>>2]|0;if((c[p>>2]|0)>(c[r>>2]|0)){jg(l,18,40079,s);c[F>>2]=Tg(c[C>>2]|0,18)|0;H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}s=c[p>>2]|0;c[t>>2]=Ow(l,c[u>>2]|0,s,((s|0)<0)<<31>>31)|0;if(c[t>>2]|0){Wh(c[D>>2]|0,c[t>>2]|0,H)|0;c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+((c[(c[D>>2]|0)+484>>2]|0)-(c[t>>2]|0));Tf(c[C>>2]|0,c[t>>2]|0);break}else{c[(c[D>>2]|0)+484>>2]=(c[u>>2]|0)+(c[p>>2]|0);break}}else B=17;while(0);if((B|0)==17)Wh(c[D>>2]|0,c[u>>2]|0,H)|0;if((c[(c[D>>2]|0)+12>>2]|0)==101)c[(c[D>>2]|0)+12>>2]=0;if(a[(c[D>>2]|0)+17>>0]|0)qH(c[D>>2]|0);if(a[(c[C>>2]|0)+69>>0]|0)c[(c[D>>2]|0)+12>>2]=7;if(c[q>>2]|0)c[c[q>>2]>>2]=c[(c[D>>2]|0)+484>>2];c[F>>2]=c[(c[D>>2]|0)+12>>2];a:do if(((c[F>>2]|0)==0?(c[(c[D>>2]|0)+8>>2]|0)!=0:0)?(d[(c[D>>2]|0)+453>>0]|0)!=0:0){l=c[(c[D>>2]|0)+8>>2]|0;if((d[(c[D>>2]|0)+453>>0]|0)==2){UB(l,4);c[y>>2]=8;c[z>>2]=12}else{UB(l,8);c[y>>2]=0;c[z>>2]=8}c[x>>2]=c[y>>2];while(1){if((c[x>>2]|0)>=(c[z>>2]|0))break a;VB(c[(c[D>>2]|0)+8>>2]|0,(c[x>>2]|0)-(c[y>>2]|0)|0,0,c[6356+(c[x>>2]<<2)>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}}while(0);if(!(d[(c[C>>2]|0)+144+5>>0]|0)){c[A>>2]=c[(c[D>>2]|0)+8>>2];rH(c[A>>2]|0,c[u>>2]|0,(c[(c[D>>2]|0)+484>>2]|0)-(c[u>>2]|0)|0,c[v>>2]|0)}do if(c[(c[D>>2]|0)+8>>2]|0){if((c[F>>2]|0)==0?(d[(c[C>>2]|0)+69>>0]|0)==0:0){B=41;break}Sg(c[(c[D>>2]|0)+8>>2]|0)|0}else B=41;while(0);if((B|0)==41)c[c[w>>2]>>2]=c[(c[D>>2]|0)+8>>2];l=c[C>>2]|0;b=c[F>>2]|0;if(c[H>>2]|0){c[G>>2]=c[H>>2];jg(l,b,18999,G);Tf(c[C>>2]|0,c[H>>2]|0)}else lg(l,b);while(1){if(!(c[(c[D>>2]|0)+532>>2]|0))break;c[E>>2]=c[(c[D>>2]|0)+532>>2];c[(c[D>>2]|0)+532>>2]=c[(c[E>>2]|0)+4>>2];Tf(c[C>>2]|0,c[E>>2]|0)}H=c[D>>2]|0;Nh(H);H=c[C>>2]|0;G=c[D>>2]|0;Tf(H,G);G=c[C>>2]|0;H=c[F>>2]|0;H=Tg(G,H)|0;c[F>>2]=H;H=c[F>>2]|0;i=I;return H|0}function pH(a){a=a|0;var b=0,d=0,e=0;d=i;i=i+16|0;e=d+4|0;b=d;c[e>>2]=a;mg(c[e>>2]|0);c[b>>2]=sH(c[e>>2]|0,1,1)|0;i=d;return c[b>>2]|0}function qH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;b=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){b=14;break}c[g>>2]=0;c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+4>>2];if(c[h>>2]|0){if(!(qg(c[h>>2]|0)|0)){c[j>>2]=og(c[h>>2]|0,0)|0;if((c[j>>2]|0)==7|(c[j>>2]|0)==3082)lh(c[e>>2]|0);if(c[j>>2]|0){b=14;break}c[g>>2]=1}pg(c[h>>2]|0,1,d);if((c[d>>2]|0)!=(c[c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]>>2]|0)){uj(c[e>>2]|0,c[f>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[g>>2]|0)Ej(c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1}if((b|0)==14){i=k;return}}function rH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(!(c[g>>2]|0)){i=l;return}d=c[j>>2]|0;d=Ow(c[c[g>>2]>>2]|0,c[h>>2]|0,d,((d|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+168>>2]=d;d=(c[g>>2]|0)+89|0;a[d>>0]=a[d>>0]&127|(c[k>>2]&1)<<7&255;i=l;return}function sH(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;j=q+16|0;k=q+12|0;l=q+8|0;m=q+20|0;n=q+4|0;o=q;c[k>>2]=f;c[l>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[k>>2]|0)+4>>2];if(!(a[(c[k>>2]|0)+9>>0]|0)){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[k>>2]|0)?(e[(c[n>>2]|0)+22>>1]&32|0)!=0:0){c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[k>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[l>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[j>>2]=0;p=c[j>>2]|0;i=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[j>>2]=262;p=c[j>>2]|0;i=q;return p|0}function tH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;g=l+16|0;m=l+12|0;h=l+8|0;j=l+4|0;k=l;c[m>>2]=b;c[h>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[k>>2]|0)!=(c[j>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[k>>2]=c[(c[k>>2]|0)+8>>2]}if(c[k>>2]|0){c[g>>2]=uH(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;m=c[g>>2]|0;i=l;return m|0}if(c[j>>2]|0){m=(c[j>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;i=l;return m|0}function uH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){wH(c[f>>2]|0);break}c[k>>2]=vH(c[f>>2]|0)|0;if(c[k>>2]|0){f=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){f=11;break}}if((f|0)==8){c[j>>2]=c[k>>2];k=c[j>>2]|0;i=l;return k|0}else if((f|0)==11){c[j>>2]=0;k=c[j>>2]|0;i=l;return k|0}return 0}function vH(b){b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=xH(c[e>>2]|0)|0;if(!(c[f>>2]|0)){wH(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;i=g;return c[f>>2]|0}function wH(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;wB(c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[(c[d>>2]|0)+68>>0]=-1;i=f;return}function xH(a){a=a|0;var b=0,e=0,f=0,g=0;g=i;i=i+16|0;e=g+8|0;f=g+4|0;b=g;c[e>>2]=a;c[f>>2]=yH(c[e>>2]|0,(c[e>>2]|0)+40|0)|0;if(d[(c[e>>2]|0)+69>>0]|0){f=c[f>>2]|0;i=g;return f|0}a=(c[e>>2]|0)+40|0;c[b>>2]=$f(c[a>>2]|0,c[a+4>>2]|0)|0;if(!(c[b>>2]|0)){c[f>>2]=7;f=c[f>>2]|0;i=g;return f|0}c[f>>2]=zH(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[b>>2]|0)|0;a=c[b>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=a;f=c[f>>2]|0;i=g;return f|0}else{Kd(a);f=c[f>>2]|0;i=g;return f|0}return 0}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;pF(c[e>>2]|0);e=(c[e>>2]|0)+16|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;i=d;return 0}function zH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;k=f+12|0;j=f+8|0;h=f+4|0;g=f;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[g>>2]=e;a=oF(c[k>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;i=f;return a|0}function AH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;mg(c[c[d>>2]>>2]|0);i=b;return}function BH(b){b=b|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;i=e;return}function CH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;i=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;d=c[g>>2]|0;a=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=a+4|0;c[g>>2]=(c[g>>2]|0)-d;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;i=h;return g|0}else{g=a+8|0;c[g>>2]=(c[g>>2]|0)+d;g=c[f>>2]|0;i=h;return g|0}return 0}function DH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){wA(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[k>>2]|0)<0){Kh(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+4>>2]|0)|0)/20|0,c[j>>2]|0,c[k>>2]|0);i=l;return}if(!(c[k>>2]|0))c[k>>2]=Jf(c[j>>2]|0)|0;e=c[k>>2]|0;e=Ow(c[c[g>>2]>>2]|0,c[j>>2]|0,e,((e|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=e;a[(c[h>>2]|0)+1>>0]=-1;i=l;return}function EH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function FH(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return d[(c[b>>2]|0)+9>>0]|0|0}function GH(e,f){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,r=0;r=i;i=i+48|0;p=r;g=r+36|0;h=r+32|0;j=r+28|0;m=r+24|0;n=r+20|0;q=r+16|0;l=r+12|0;o=r+8|0;k=r+4|0;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[c[j>>2]>>2];c[q>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[j>>2]|0)+16>>2]|0){c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}if((c[(c[m>>2]|0)+4>>2]|0)!=0?(c[(c[m>>2]|0)+4>>2]|0)!=(c[(c[m>>2]|0)+8>>2]|0):0){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[l>>2]=(Jf(c[(c[j>>2]|0)+4>>2]|0)|0)+1;c[n>>2]=rh(c[k>>2]|0,72+(c[l>>2]|0)|0,0)|0;if(!(c[n>>2]|0)){c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}c[(c[j>>2]|0)+16>>2]=c[n>>2];c[c[n>>2]>>2]=(c[n>>2]|0)+72;rR(c[c[n>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[l>>2]|0)|0;b[(c[n>>2]|0)+36>>1]=1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+12>>2];e=(c[n>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|16;c[(c[n>>2]|0)+48>>2]=0;b[(c[n>>2]|0)+32>>1]=-1;e=c[k>>2]|0;f=c[n>>2]|0;Rw(e,f,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);Rw(c[k>>2]|0,c[n>>2]|0,0);f=c[k>>2]|0;e=c[n>>2]|0;Rw(f,e,ph(c[k>>2]|0,c[c[n>>2]>>2]|0)|0);c[o>>2]=uz(c[k>>2]|0,c[n>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+8>>2]|0,q)|0;if(c[o>>2]|0){o=c[h>>2]|0;c[p>>2]=c[q>>2];Ch(o,18999,p);Tf(c[k>>2]|0,c[q>>2]|0);HH(c[k>>2]|0,c[j>>2]|0);c[g>>2]=0;q=c[g>>2]|0;i=r;return q|0}else{c[g>>2]=1;q=c[g>>2]|0;i=r;return q|0}return 0}function HH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){i=g;return}YG(c[d>>2]|0,c[f>>2]|0);IH(c[d>>2]|0,c[f>>2]|0);Tf(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;i=g;return}function IH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!((c[d>>2]|0)!=0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))JH(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){i=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Tf(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Tf(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);i=g;return}function JH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;d=k+20|0;e=k+16|0;h=k+12|0;j=k+8|0;f=k+4|0;g=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=0;c[j>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[j>>2]|0))break;c[f>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[j>>2]|0)+24>>2];if((c[f>>2]|0)==(c[d>>2]|0)){c[h>>2]=c[j>>2];c[(c[e>>2]|0)+56>>2]=c[h>>2];c[(c[h>>2]|0)+24>>2]=0}else{c[(c[j>>2]|0)+24>>2]=c[(c[f>>2]|0)+344>>2];c[(c[f>>2]|0)+344>>2]=c[j>>2]}c[j>>2]=c[g>>2]}i=k;return c[h>>2]|0}function KH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Wg(c[e>>2]|0);d=c[e>>2]|0;a=c[f>>2]|0;e=d+40|0;do{c[d>>2]=c[a>>2];d=d+4|0;a=a+4|0}while((d|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;i=g;return}function LH(){return 312}function MH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+224|0;g=f+220|0;h=f+216|0;l=f;k=f+212|0;j=f+208|0;c[g>>2]=b;c[h>>2]=e;rR(l|0,c[g>>2]|0,208)|0;rR(c[g>>2]|0,c[h>>2]|0,208)|0;rR(c[h>>2]|0,l|0,208)|0;c[k>>2]=c[(c[g>>2]|0)+52>>2];c[(c[g>>2]|0)+52>>2]=c[(c[h>>2]|0)+52>>2];c[(c[h>>2]|0)+52>>2]=c[k>>2];c[k>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=c[(c[h>>2]|0)+48>>2];c[(c[h>>2]|0)+48>>2]=c[k>>2];c[j>>2]=c[(c[g>>2]|0)+168>>2];c[(c[g>>2]|0)+168>>2]=c[(c[h>>2]|0)+168>>2];c[(c[h>>2]|0)+168>>2]=c[j>>2];e=(c[h>>2]|0)+89|0;a[e>>0]=a[e>>0]&127|((d[(c[g>>2]|0)+89>>0]|0)>>>7&1)<<7&255;i=f;return}function NH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+80>>2]=0;i=b;return}function OH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0;j=i;i=i+32|0;d=j+16|0;e=j+12|0;g=j+8|0;f=j;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?(c[(c[d>>2]|0)+72>>2]|0)!=0:0){c[g>>2]=Yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[g>>2]|0;i=j;return g|0}c[g>>2]=Yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,f)|0;k=+h[f>>3]*864.0e5;a=+N(k)>=1.0?(k>0.0?~~+$(+M(k/4294967296.0),4294967295.0)>>>0:~~+Z((k-+(~~k>>>0))/4294967296.0)>>>0):0;f=c[e>>2]|0;c[f>>2]=~~k>>>0;c[f+4>>2]=a;g=c[g>>2]|0;i=j;return g|0}function PH(f){f=f|0;var 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,x=0,y=0,z=0;y=i;i=i+80|0;w=y+8|0;q=y;r=y+68|0;s=y+64|0;n=y+60|0;o=y+56|0;g=y+52|0;p=y+48|0;h=y+44|0;j=y+40|0;v=y+36|0;t=y+32|0;x=y+28|0;u=y+24|0;k=y+20|0;m=y+16|0;l=y+12|0;c[s>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[h>>2]=c[c[s>>2]>>2];c[v>>2]=0;c[t>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;uC(c[t>>2]|0,8);c[(c[s>>2]|0)+20>>2]=0;if((c[(c[s>>2]|0)+80>>2]|0)==7){lh(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;i=y;return x|0}c[n>>2]=c[(c[s>>2]|0)+32>>2];a:do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){c[p>>2]=(c[(c[s>>2]|0)+8>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16){c[o>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[g>>2]=c[(c[p>>2]|0)+16>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[o>>2]|0))break a;c[n>>2]=(c[n>>2]|0)+(c[(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}while(0);do{z=(c[s>>2]|0)+76|0;f=c[z>>2]|0;c[z>>2]=f+1;c[j>>2]=f;if((c[j>>2]|0)>=(c[n>>2]|0))break;if((a[(c[s>>2]|0)+89>>0]&3|0)!=2)break}while((d[(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>0]|0)!=161);do if((c[j>>2]|0)>=(c[n>>2]|0)){c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[s>>2]|0)+80>>2]=9;c[v>>2]=1;z=c[s>>2]|0;YH(z,kh(c[(c[s>>2]|0)+80>>2]|0)|0,q);break}if((c[j>>2]|0)<(c[(c[s>>2]|0)+32>>2]|0))c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0);else{c[j>>2]=(c[j>>2]|0)-(c[(c[s>>2]|0)+32>>2]|0);c[k>>2]=0;while(1){if((c[j>>2]|0)<(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0))break;c[j>>2]=(c[j>>2]|0)-(c[(c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]|0)+4>>2]|0);c[k>>2]=(c[k>>2]|0)+1}c[u>>2]=(c[c[(c[g>>2]|0)+(c[k>>2]<<2)>>2]>>2]|0)+((c[j>>2]|0)*20|0)}if((a[(c[s>>2]|0)+89>>0]&3|0)==1?(b[(c[t>>2]|0)+8>>1]=4,q=c[j>>2]|0,z=c[t>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[t>>2]=(c[t>>2]|0)+40,b[(c[t>>2]|0)+8>>1]=2562,z=sM(d[c[u>>2]>>0]|0)|0,c[(c[t>>2]|0)+16>>2]=z,z=Jf(c[(c[t>>2]|0)+16>>2]|0)|0,c[(c[t>>2]|0)+12>>2]=z,a[(c[t>>2]|0)+10>>0]=1,c[t>>2]=(c[t>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[m>>2]=(c[o>>2]|0)+1<<2;c[l>>2]=0;while(1){if((c[l>>2]|0)>=(c[o>>2]|0))break;if((c[(c[g>>2]|0)+(c[l>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[l>>2]=(c[l>>2]|0)+1}if((c[l>>2]|0)==(c[o>>2]|0)?0==(Ax(c[p>>2]|0,c[m>>2]|0,(c[o>>2]|0)!=0&1)|0):0){c[g>>2]=c[(c[p>>2]|0)+16>>2];q=c[(c[u>>2]|0)+16>>2]|0;z=c[o>>2]|0;c[o>>2]=z+1;c[(c[g>>2]|0)+(z<<2)>>2]=q;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[o>>2]<<2}}b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[t>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[t>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[t>>2]=(c[t>>2]|0)+40;if(zx(c[t>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}b[(c[t>>2]|0)+8>>1]=514;c[x>>2]=tM(c[u>>2]|0,c[(c[t>>2]|0)+16>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;g=c[t>>2]|0;if((c[x>>2]|0)!=(c[(c[t>>2]|0)+16>>2]|0))fh(g,c[x>>2]|0,-1,1,0)|0;else{z=Jf(c[g+16>>2]|0)|0;c[(c[t>>2]|0)+12>>2]=z;a[(c[t>>2]|0)+10>>0]=1}c[t>>2]=(c[t>>2]|0)+40;do if((a[(c[s>>2]|0)+89>>0]&3|0)==1){if(!(zx(c[t>>2]|0,4)|0)){b[(c[t>>2]|0)+8>>1]=514;c[(c[t>>2]|0)+12>>2]=2;z=c[(c[t>>2]|0)+16>>2]|0;c[w>>2]=d[(c[u>>2]|0)+3>>0];Qd(3,z,43017,w)|0;a[(c[t>>2]|0)+10>>0]=1;c[t>>2]=(c[t>>2]|0)+40;b[(c[t>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;i=y;return z|0}while(0);b[(c[s>>2]|0)+84>>1]=8-((a[(c[s>>2]|0)+89>>0]&3)-1<<2);c[(c[s>>2]|0)+20>>2]=(c[(c[s>>2]|0)+8>>2]|0)+40;c[(c[s>>2]|0)+80>>2]=0;c[v>>2]=100}while(0);c[r>>2]=c[v>>2];z=c[r>>2]|0;i=y;return z|0}function QH(f){f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Pb=0,Qb=0,Sb=0,Vb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0.0,yf=0;vf=i;i=i+1824|0;Je=vf+496|0;Ie=vf+488|0;He=vf+480|0;mf=vf+464|0;lf=vf+456|0;Ge=vf+448|0;Fe=vf+440|0;Ee=vf+432|0;De=vf+424|0;Ce=vf+416|0;Be=vf+400|0;kf=vf+392|0;Ae=vf+384|0;ze=vf+376|0;ye=vf+368|0;xe=vf+360|0;we=vf+352|0;jf=vf+336|0;hf=vf+328|0;gf=vf+320|0;ve=vf+312|0;pf=vf+1612|0;df=vf+1608|0;tf=vf+1604|0;uf=vf+1600|0;qf=vf+1596|0;ff=vf+1819|0;G=vf+1818|0;ea=vf+1592|0;sf=vf+1588|0;bb=vf+1584|0;l=vf+1580|0;Mc=vf+1576|0;Nc=vf+1572|0;Oc=vf+1568|0;gd=vf+1564|0;n=vf+1560|0;rf=vf+304|0;g=vf+1556|0;bc=vf+1552|0;Ed=vf+1548|0;of=vf+1544|0;nf=vf+1540|0;Ec=vf+1536|0;ef=vf+1532|0;A=vf+1528|0;hb=vf+1626|0;td=vf+1524|0;Fa=vf+1520|0;nb=vf+1516|0;rb=vf+1512|0;Ga=vf+1508|0;Uc=vf+1504|0;R=vf+1500|0;Oa=vf+296|0;w=vf+1817|0;K=vf+1624|0;ne=vf+1622|0;oe=vf+1620|0;aa=vf+288|0;ca=vf+280|0;Md=vf+272|0;Nd=vf+264|0;Ha=vf+1496|0;kc=vf+1492|0;W=vf+1488|0;lc=vf+1484|0;ba=vf+256|0;pe=vf+248|0;da=vf+240|0;lb=vf+1816|0;Od=vf+1480|0;r=vf+1815|0;L=vf+1618|0;O=vf+1616|0;Ka=vf+1476|0;X=vf+1472|0;pb=vf+1468|0;sb=vf+1464|0;Qc=vf+1460|0;va=vf+1456|0;cc=vf+1452|0;x=vf+1448|0;re=vf+1444|0;se=vf+1440|0;y=vf+1436|0;Dd=vf+232|0;tb=vf+1432|0;Ab=vf+1428|0;dc=vf+1424|0;m=vf+1420|0;Da=vf+1416|0;T=vf+1412|0;Bc=vf+1408|0;fe=vf+192|0;Re=vf+1404|0;Ve=vf+1400|0;Te=vf+1396|0;jb=vf+1392|0;kb=vf+184|0;v=vf+1388|0;je=vf+1384|0;ld=vf+1380|0;Pe=vf+1376|0;z=vf+1814|0;Ze=vf+1372|0;kd=vf+1368|0;Sa=vf+176|0;Ya=vf+1364|0;Pa=vf+168|0;eb=vf+160|0;db=vf+1360|0;ie=vf+1356|0;xc=vf+1352|0;Tc=vf+1348|0;Va=vf+1344|0;Qe=vf+1340|0;J=vf+1336|0;V=vf+1332|0;Ca=vf+1328|0;Ea=vf+1324|0;Ta=vf+152|0;ec=vf+1320|0;ob=vf+1316|0;Ye=vf+1312|0;ab=vf+1308|0;fd=vf+1304|0;nd=vf+1300|0;pd=vf+1296|0;ta=vf+1292|0;wa=vf+1288|0;Aa=vf+1284|0;za=vf+1280|0;D=vf+1276|0;sa=vf+1272|0;wb=vf+1268|0;oa=vf+1264|0;ka=vf+1260|0;pa=vf+1256|0;ga=vf+1252|0;fa=vf+1248|0;yc=vf+1244|0;Wa=vf+1240|0;Rc=vf+1236|0;ub=vf+1232|0;ha=vf+1228|0;Le=vf+1224|0;Bd=vf+1220|0;oc=vf+1216|0;zc=vf+1212|0;tc=vf+1208|0;Sc=vf+1204|0;Fd=vf+1200|0;uc=vf+1196|0;Bb=vf+1192|0;vc=vf+1188|0;Td=vf+1184|0;ib=vf+1180|0;Cb=vf+1176|0;Id=vf+1160|0;Xa=vf+1152|0;la=vf+144|0;H=vf+1148|0;s=vf+1144|0;me=vf+1140|0;xa=vf+1136|0;Db=vf+1132|0;Ud=vf+1128|0;Jc=vf+1124|0;Kc=vf+1120|0;Jd=vf+1104|0;q=vf+1631|0;Eb=vf+1100|0;fc=vf+1096|0;Vd=vf+1092|0;ma=vf+136|0;qe=vf+128|0;Fb=vf+1088|0;Wd=vf+1084|0;B=vf+1080|0;Vc=vf+1076|0;Fc=vf+1072|0;wc=vf+1068|0;Pc=vf+1064|0;na=vf+120|0;Gb=vf+1060|0;fb=vf+1056|0;he=vf+1052|0;Se=vf+1048|0;bf=vf+1044|0;mb=vf+1040|0;Hb=vf+1036|0;Q=vf+1630|0;Ib=vf+1032|0;Xd=vf+1028|0;_a=vf+1024|0;Jb=vf+1020|0;Kb=vf+1016|0;gc=vf+1012|0;Ia=vf+1008|0;Ja=vf+112|0;Lb=vf+1004|0;te=vf+104|0;ud=vf+1e3|0;_c=vf+996|0;Mb=vf+992|0;Nb=vf+988|0;hc=vf+984|0;Yd=vf+980|0;Pb=vf+976|0;ic=vf+972|0;Zd=vf+968|0;Qb=vf+964|0;_d=vf+960|0;Sb=vf+956|0;Za=vf+952|0;We=vf+948|0;Vb=vf+944|0;jc=vf+940|0;$d=vf+936|0;Kd=vf+920|0;_b=vf+916|0;od=vf+912|0;ce=vf+96|0;$b=vf+908|0;be=vf+904|0;Ld=vf+888|0;qa=vf+884|0;ia=vf+880|0;Ra=vf+876|0;ac=vf+872|0;Gd=vf+868|0;P=vf+864|0;Ac=vf+860|0;ja=vf+856|0;Xe=vf+852|0;_e=vf+848|0;ya=vf+832|0;cb=vf+824|0;p=vf+820|0;Ua=vf+816|0;Me=vf+812|0;Hd=vf+808|0;ue=vf+88|0;ua=vf+804|0;I=vf+800|0;$a=vf+796|0;Qa=vf+792|0;md=vf+788|0;Wc=vf+784|0;Dc=vf+780|0;Gc=vf+776|0;id=vf+772|0;ke=vf+768|0;Hc=vf+764|0;Lc=vf+760|0;Ic=vf+756|0;La=vf+752|0;mc=vf+748|0;Y=vf+744|0;nc=vf+740|0;Xc=vf+736|0;le=vf+48|0;Yc=vf+732|0;_=vf+728|0;o=vf+716|0;Zc=vf+712|0;yb=vf+708|0;hd=vf+704|0;E=vf+700|0;F=vf+696|0;Ue=vf+692|0;zb=vf+688|0;Ba=vf+1629|0;qb=vf+684|0;Ne=vf+680|0;sd=vf+676|0;ge=vf+8|0;af=vf+672|0;pc=vf+668|0;qd=vf+664|0;vd=vf+660|0;$c=vf+656|0;Ma=vf+652|0;ra=vf+648|0;ad=vf+644|0;jd=vf+640|0;vb=vf+636|0;rd=vf+632|0;wd=vf+628|0;qc=vf+624|0;Pd=vf+620|0;S=vf+616|0;t=vf+612|0;xd=vf+608|0;bd=vf+604|0;Cc=vf+600|0;ee=vf+568|0;rc=vf+564|0;yd=vf+560|0;cd=vf+556|0;Qd=vf+552|0;sc=vf+548|0;zd=vf+544|0;ed=vf+540|0;Ad=vf+536|0;dd=vf+532|0;Na=vf+528|0;U=vf+524|0;de=vf;u=vf+520|0;Cd=vf+516|0;Ke=vf+1628|0;gb=vf+512|0;xb=vf+508|0;cf=vf+504|0;Oe=vf+500|0;c[pf>>2]=f;c[df>>2]=c[(c[pf>>2]|0)+4>>2];c[tf>>2]=c[df>>2];c[uf>>2]=0;c[qf>>2]=c[c[pf>>2]>>2];a[ff>>0]=0;a[G>>0]=a[(c[qf>>2]|0)+66>>0]|0;c[ea>>2]=0;c[sf>>2]=0;c[bb>>2]=0;c[l>>2]=c[(c[pf>>2]|0)+8>>2];c[Mc>>2]=0;c[Nc>>2]=0;c[Oc>>2]=0;c[gd>>2]=0;c[n>>2]=0;wf=(c[qf>>2]|0)+32|0;f=c[wf+4>>2]|0;j=rf;c[j>>2]=c[wf>>2];c[j+4>>2]=f;VH(c[pf>>2]|0);a:do if((c[(c[pf>>2]|0)+80>>2]|0)==7)k=883;else{c[(c[pf>>2]|0)+80>>2]=0;wf=(c[pf>>2]|0)+136|0;c[wf>>2]=0;c[wf+4>>2]=0;c[(c[pf>>2]|0)+20>>2]=0;c[(c[qf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[qf>>2]|0)+248>>2]|0)){if(c[(c[qf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[pf>>2]|0)+108+16>>2];c[bb>>2]=(c[(c[qf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[qf>>2]|0)+312>>2]|0)>>>0)|0)}c[tf>>2]=(c[df>>2]|0)+((c[(c[pf>>2]|0)+76>>2]|0)*20|0);c:while(1){c[sf>>2]=(c[sf>>2]|0)+1;d:do switch(d[c[tf>>2]>>0]|0){case 33:{k=70;break c}case 1:{k=391;break c}case 13:{k=7;break}case 14:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;wf=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;k=c[Mc>>2]|0;c[k>>2]=wf;c[k+4>>2]=((wf|0)<0)<<31>>31;k=14;break}case 15:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[tf>>2]=(c[df>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 16:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);j=(c[(c[tf>>2]|0)+12>>2]|0)-1|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=4;if(c[(c[tf>>2]|0)+8>>2]|0)k=14;break}case 17:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[bc>>2]=(c[df>>2]|0)+((c[c[Mc>>2]>>2]|0)*20|0);c[tf>>2]=(c[df>>2]|0)+(((c[(c[bc>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[Mc>>2]|0)+8>>1]=128;break}case 18:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[(c[Mc>>2]|0)+8>>1]=4;c[Ed>>2]=c[c[Mc>>2]>>2];j=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;wf=c[Mc>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;c[tf>>2]=(c[df>>2]|0)+((c[Ed>>2]|0)*20|0);break}case 20:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Oc>>2]|0)+8>>1]&1)k=20;break}case 21:{k=20;break}case 22:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;j=c[(c[tf>>2]|0)+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=j;c[wf+4>>2]=((j|0)<0)<<31>>31;break}case 23:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;f=c[(c[tf>>2]|0)+16>>2]|0;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;break}case 133:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=8;h[c[gd>>2]>>3]=+h[c[(c[tf>>2]|0)+16>>2]>>3];break}case 97:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;a[c[tf>>2]>>0]=24;wf=Jf(c[(c[tf>>2]|0)+16>>2]|0)|0;c[(c[tf>>2]|0)+4>>2]=wf;if((d[G>>0]|0)!=1){c[uf>>2]=fh(c[gd>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,-1,1,0)|0;if(c[uf>>2]|0){k=882;break c}if(du(c[gd>>2]|0,d[G>>0]|0)|0){k=883;break a}c[(c[gd>>2]|0)+24>>2]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|2048;if((a[(c[tf>>2]|0)+1>>0]|0)==-1)Tf(c[qf>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);a[(c[tf>>2]|0)+1>>0]=-1;c[(c[tf>>2]|0)+16>>2]=c[(c[gd>>2]|0)+16>>2];c[(c[tf>>2]|0)+4>>2]=c[(c[gd>>2]|0)+12>>2]}if((c[(c[tf>>2]|0)+4>>2]|0)>(c[(c[qf>>2]|0)+92>>2]|0)){k=882;break c}else k=49;break}case 24:{k=49;break}case 25:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[A>>2]=(c[(c[tf>>2]|0)+12>>2]|0)-(c[(c[tf>>2]|0)+8>>2]|0);wf=((c[(c[tf>>2]|0)+4>>2]|0)!=0?257:1)&65535;b[hb>>1]=wf;b[(c[gd>>2]|0)+8>>1]=wf;while(1){if((c[A>>2]|0)<=0)break d;c[gd>>2]=(c[gd>>2]|0)+40;hh(c[gd>>2]|0);b[(c[gd>>2]|0)+8>>1]=b[hb>>1]|0;c[A>>2]=(c[A>>2]|0)+-1}}case 26:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=(e[(c[gd>>2]|0)+8>>1]|1)&-129;break}case 27:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;fh(c[gd>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,0,0)|0;a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 28:{c[td>>2]=(c[(c[pf>>2]|0)+60>>2]|0)+(((c[(c[tf>>2]|0)+4>>2]|0)-1|0)*40|0);if($H(c[td>>2]|0)|0){k=882;break c}c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;IF(c[gd>>2]|0,c[td>>2]|0,2048);break}case 29:{c[Fa>>2]=c[(c[tf>>2]|0)+12>>2];c[nb>>2]=c[(c[tf>>2]|0)+4>>2];c[rb>>2]=c[(c[tf>>2]|0)+8>>2];c[Mc>>2]=(c[l>>2]|0)+((c[nb>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[rb>>2]|0)*40|0);do{KH(c[gd>>2]|0,c[Mc>>2]|0);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=883;break a}c[Mc>>2]=(c[Mc>>2]|0)+40;c[gd>>2]=(c[gd>>2]|0)+40;wf=(c[Fa>>2]|0)+-1|0;c[Fa>>2]=wf}while((wf|0)!=0);break}case 30:{c[Ga>>2]=c[(c[tf>>2]|0)+12>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);while(1){IF(c[gd>>2]|0,c[Mc>>2]|0,4096);if((e[(c[gd>>2]|0)+8>>1]&4096|0)!=0?(ah(c[gd>>2]|0)|0)!=0:0){k=883;break a}wf=c[Ga>>2]|0;c[Ga>>2]=wf+-1;if(!wf)break d;c[gd>>2]=(c[gd>>2]|0)+40;c[Mc>>2]=(c[Mc>>2]|0)+40}}case 31:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);IF(c[gd>>2]|0,c[Mc>>2]|0,4096);break}case 32:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);wf=c[Mc>>2]|0;gh(c[gd>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0);break}case 94:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}if((e[(c[Mc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Mc>>2]|0)|0)!=0:0){k=883;break a}if((e[(c[Nc>>2]|0)+8>>1]&16384|0)!=0?(Xg(c[Nc>>2]|0)|0)!=0:0){k=883;break a}if((e[(c[Mc>>2]|0)+8>>1]&18|0)==0?(yx(c[Mc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=883;break a}if((e[(c[Nc>>2]|0)+8>>1]&18|0)==0?(yx(c[Nc>>2]|0,a[G>>0]|0,0)|0)!=0:0){k=883;break a}g=(c[(c[Mc>>2]|0)+12>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0;j=Oa;c[j>>2]=g;c[j+4>>2]=((g|0)<0)<<31>>31;j=Oa;g=c[j+4>>2]|0;wf=c[(c[qf>>2]|0)+92>>2]|0;f=((wf|0)<0)<<31>>31;if((g|0)>(f|0)|((g|0)==(f|0)?(c[j>>2]|0)>>>0>wf>>>0:0)){k=882;break c}if(Ax(c[gd>>2]|0,(c[Oa>>2]|0)+2|0,(c[gd>>2]|0)==(c[Nc>>2]|0)&1)|0){k=883;break a}b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|2;if((c[gd>>2]|0)!=(c[Nc>>2]|0))rR(c[(c[gd>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+16>>2]|0,c[(c[Nc>>2]|0)+12>>2]|0)|0;rR((c[(c[gd>>2]|0)+16>>2]|0)+(c[(c[Nc>>2]|0)+12>>2]|0)|0,c[(c[Mc>>2]|0)+16>>2]|0,c[(c[Mc>>2]|0)+12>>2]|0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+(c[Oa>>2]|0)>>0]=0;wf=Oa;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;a[(c[(c[gd>>2]|0)+16>>2]|0)+wf>>0]=0;wf=(c[gd>>2]|0)+8|0;b[wf>>1]=e[wf>>1]|512;c[(c[gd>>2]|0)+12>>2]=c[Oa>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;break}case 93:case 92:case 91:case 90:case 89:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);b[ne>>1]=dI(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);b[oe>>1]=dI(c[Nc>>2]|0)|0;c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);b[K>>1]=e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1];e:do if(!(e[K>>1]&1)){f:do if(e[ne>>1]&e[oe>>1]&4){wf=c[Mc>>2]|0;j=c[wf+4>>2]|0;f=aa;c[f>>2]=c[wf>>2];c[f+4>>2]=j;f=c[Nc>>2]|0;j=c[f+4>>2]|0;wf=ca;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;a[w>>0]=1;switch(d[c[tf>>2]>>0]|0){case 89:{wf=aa;if(eI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 90:{wf=aa;if(fI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 91:{wf=aa;if(gI(ca,c[wf>>2]|0,c[wf+4>>2]|0)|0)break f;break}case 92:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;j=aa;wf=ca;if(((c[j>>2]|0)==-1?(c[j+4>>2]|0)==-1:0)&((c[wf>>2]|0)==0?(c[wf+4>>2]|0)==-2147483648:0))break f;j=aa;f=ca;wf=ca;c[wf>>2]=yR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C;break}default:{wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=aa;f=ca;wf=ca;c[wf>>2]=zR(c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[wf+4>>2]=C}}f=ca;j=c[f+4>>2]|0;wf=c[gd>>2]|0;c[wf>>2]=c[f>>2];c[wf+4>>2]=j;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}else a[w>>0]=0;while(0);h[Md>>3]=+_g(c[Mc>>2]|0);h[Nd>>3]=+_g(c[Nc>>2]|0);switch(d[c[tf>>2]>>0]|0){case 89:{h[Nd>>3]=+h[Nd>>3]+ +h[Md>>3];break}case 90:{h[Nd>>3]=+h[Nd>>3]-+h[Md>>3];break}case 91:{h[Nd>>3]=+h[Nd>>3]*+h[Md>>3];break}case 92:{if(+h[Md>>3]==0.0)break e;h[Nd>>3]=+h[Nd>>3]/+h[Md>>3];break}default:{xf=+h[Md>>3];wf=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;j=aa;c[j>>2]=~~xf>>>0;c[j+4>>2]=wf;xf=+h[Nd>>3];j=+N(xf)>=1.0?(xf>0.0?~~+$(+M(xf/4294967296.0),4294967295.0)>>>0:~~+Z((xf-+(~~xf>>>0))/4294967296.0)>>>0):0;wf=ca;c[wf>>2]=~~xf>>>0;c[wf+4>>2]=j;wf=aa;if((c[wf>>2]|0)==0&(c[wf+4>>2]|0)==0)break e;wf=aa;if((c[wf>>2]|0)==-1?(c[wf+4>>2]|0)==-1:0){wf=aa;c[wf>>2]=1;c[wf+4>>2]=0}j=ca;wf=aa;h[Nd>>3]=+((zR(c[j>>2]|0,c[j+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0)>>>0)+4294967296.0*+(C|0)}}if(!(OF(+h[Nd>>3])|0)){h[c[gd>>2]>>3]=+h[Nd>>3];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|8;if((a[w>>0]|0)!=0?1:((e[ne>>1]|e[oe>>1])&8|0)!=0)break d;vx(c[gd>>2]|0);break d}}while(0);hh(c[gd>>2]|0);break}case 34:{if(c[(c[tf>>2]|0)+4>>2]|0)gh((c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 35:{c[Ha>>2]=d[(c[tf>>2]|0)+3>>0];c[kc>>2]=Lw(c[qf>>2]|0,32+((c[Ha>>2]|0)-1<<2)|0,0)|0;if(!(c[kc>>2]|0)){k=883;break a}c[c[kc>>2]>>2]=0;c[(c[kc>>2]|0)+4>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[kc>>2]|0)+16>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[kc>>2]|0)+12>>2]=c[pf>>2];a[(c[kc>>2]|0)+26>>0]=c[Ha>>2];a[(c[tf>>2]|0)+1>>0]=-20;c[(c[tf>>2]|0)+16>>2]=c[kc>>2];a[c[tf>>2]>>0]=36;k=130;break}case 36:{k=130;break}case 88:case 87:case 86:case 85:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]|e[(c[Nc>>2]|0)+8>>1])&1){hh(c[gd>>2]|0);break d}wf=$g(c[Nc>>2]|0)|0;j=ba;c[j>>2]=wf;c[j+4>>2]=C;j=$g(c[Mc>>2]|0)|0;wf=da;c[wf>>2]=j;c[wf+4>>2]=C;a[lb>>0]=a[c[tf>>2]>>0]|0;do if((d[lb>>0]|0)!=85){f=da;g=c[f>>2]|0;f=c[f+4>>2]|0;if((d[lb>>0]|0)==86){yf=ba;j=c[yf+4>>2]|f;wf=ba;c[wf>>2]=c[yf>>2]|g;c[wf+4>>2]=j;break}if((g|0)!=0|(f|0)!=0){if((c[da+4>>2]|0)<0){a[lb>>0]=175-(d[lb>>0]|0);wf=da;j=c[wf+4>>2]|0;wf=(j|0)>-1|(j|0)==-1&(c[wf>>2]|0)>>>0>4294967232;j=da;j=oR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;yf=da;c[yf>>2]=wf?j:64;c[yf+4>>2]=wf?C:0}yf=da;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=64){yf=ba;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>=0)g=1;else g=(d[lb>>0]|0)==87;wf=g?0:-1;yf=ba;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break};c[pe>>2]=c[ba>>2];c[pe+4>>2]=c[ba+4>>2];g=c[da>>2]|0;j=pe;f=c[j>>2]|0;j=c[j+4>>2]|0;if((d[lb>>0]|0)!=87){wf=qR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ba+4>>2]|0)<0){j=da;j=oR(64,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=uR(-1,-1,j|0)|0;f=pe;wf=c[f+4>>2]|C;yf=pe;c[yf>>2]=c[f>>2]|j;c[yf+4>>2]=wf}}else{wf=uR(f|0,j|0,g|0)|0;yf=pe;c[yf>>2]=wf;c[yf+4>>2]=C};c[ba>>2]=c[pe>>2];c[ba+4>>2]=c[pe+4>>2]}}else{j=da;f=ba;wf=c[f+4>>2]&c[j+4>>2];yf=ba;c[yf>>2]=c[f>>2]&c[j>>2];c[yf+4>>2]=wf}while(0);j=ba;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break}case 37:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);Cx(c[Mc>>2]|0)|0;wf=c[(c[tf>>2]|0)+8>>2]|0;yf=c[Mc>>2]|0;j=yf;wf=pR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break}case 38:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&4|0)==0?(xx(c[Mc>>2]|0,67,a[G>>0]|0),(e[(c[Mc>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[tf>>2]|0)+8>>2]|0)){k=163;break c}else{k=14;break d}b[(c[Mc>>2]|0)+8>>1]=e[(c[Mc>>2]|0)+8>>1]&-49664|4;break}case 39:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&4)Dx(c[Mc>>2]|0)|0;break}case 40:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&16384)g=Xg(c[Mc>>2]|0)|0;else g=0;c[uf>>2]=g;qx(c[Mc>>2]|0,c[(c[tf>>2]|0)+8>>2]&255,a[G>>0]|0);if(c[uf>>2]|0)break a;break}case 83:case 80:case 81:case 82:case 78:case 79:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);b[L>>1]=b[(c[Mc>>2]|0)+8>>1]|0;b[O>>1]=b[(c[Oc>>2]|0)+8>>1]|0;g=d[(c[tf>>2]|0)+3>>0]|0;do if((e[L>>1]|e[O>>1])&1){if(!(g&128)){g=c[tf>>2]|0;if(!(d[(c[tf>>2]|0)+3>>0]&32))if(d[g+3>>0]&16){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[g+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}}if(((e[L>>1]&1|0)!=0?(e[O>>1]&1|0)!=0:0)?(e[O>>1]&256|0)==0:0){c[Od>>2]=0;break}c[Od>>2]=1}else{a[r>>0]=g&71;if((a[r>>0]|0)>=67){if((e[L>>1]&14|0)==2)zh(c[Mc>>2]|0,0);if((e[O>>1]&14|0)==2)zh(c[Oc>>2]|0,0)}else if((a[r>>0]|0)==66){if((e[L>>1]&2|0)==0?(e[L>>1]&12|0)!=0:0){yx(c[Mc>>2]|0,a[G>>0]|0,1)|0;b[L>>1]=e[(c[Mc>>2]|0)+8>>1]&-33280|e[L>>1]&33279}if((e[O>>1]&2|0)==0?(e[O>>1]&12|0)!=0:0){yx(c[Oc>>2]|0,a[G>>0]|0,1)|0;b[O>>1]=e[(c[Oc>>2]|0)+8>>1]&-33280|e[O>>1]&33279}}if(e[L>>1]&16384){Xg(c[Mc>>2]|0)|0;b[L>>1]=e[L>>1]&-16385}if(e[O>>1]&16384){Xg(c[Oc>>2]|0)|0;b[O>>1]=e[O>>1]&-16385}c[Od>>2]=iI(c[Oc>>2]|0,c[Mc>>2]|0,c[(c[tf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[tf>>2]>>0]|0){case 79:{c[Od>>2]=(c[Od>>2]|0)==0&1;break}case 78:{c[Od>>2]=(c[Od>>2]|0)!=0&1;break}case 82:{c[Od>>2]=(c[Od>>2]|0)<0&1;break}case 81:{c[Od>>2]=(c[Od>>2]|0)<=0&1;break}case 80:{c[Od>>2]=(c[Od>>2]|0)>0&1;break}default:c[Od>>2]=(c[Od>>2]|0)>=0&1}b[(c[Mc>>2]|0)+8>>1]=b[L>>1]|0;b[(c[Oc>>2]|0)+8>>1]=b[O>>1]|0;if(!(d[(c[tf>>2]|0)+3>>0]&32))if(c[Od>>2]|0){k=14;break d}else break d;else{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;wf=c[Od>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break d}}case 41:{c[n>>2]=(c[(c[tf>>2]|0)+16>>2]|0)+4;break}case 42:{if(!(d[(c[tf>>2]|0)+3>>0]&1))c[n>>2]=0;c[Ka>>2]=c[(c[tf>>2]|0)+12>>2];c[Qc>>2]=c[(c[tf>>2]|0)+16>>2];c[pb>>2]=c[(c[tf>>2]|0)+4>>2];c[sb>>2]=c[(c[tf>>2]|0)+8>>2];c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[Ka>>2]|0))break;g=c[X>>2]|0;if(c[n>>2]|0)g=c[(c[n>>2]|0)+(g<<2)>>2]|0;c[va>>2]=g;c[cc>>2]=c[(c[Qc>>2]|0)+20+(c[X>>2]<<2)>>2];c[x>>2]=d[(c[(c[Qc>>2]|0)+16>>2]|0)+(c[X>>2]|0)>>0];c[ea>>2]=iI((c[l>>2]|0)+(((c[pb>>2]|0)+(c[va>>2]|0)|0)*40|0)|0,(c[l>>2]|0)+(((c[sb>>2]|0)+(c[va>>2]|0)|0)*40|0)|0,c[cc>>2]|0)|0;if(c[ea>>2]|0){k=215;break}c[X>>2]=(c[X>>2]|0)+1}if((k|0)==215?(k=0,(c[x>>2]|0)!=0):0)c[ea>>2]=0-(c[ea>>2]|0);c[n>>2]=0;break}case 43:{if((c[ea>>2]|0)<0){c[tf>>2]=(c[df>>2]|0)+(((c[(c[tf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}g=c[tf>>2]|0;if(!(c[ea>>2]|0)){c[tf>>2]=(c[df>>2]|0)+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[tf>>2]=(c[df>>2]|0)+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 71:case 72:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)c[re>>2]=2;else{yf=$g(c[Mc>>2]|0)|0;c[re>>2]=((yf|0)!=0|(C|0)!=0)&1}c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);if(e[(c[Nc>>2]|0)+8>>1]&1)c[se>>2]=2;else{yf=$g(c[Nc>>2]|0)|0;c[se>>2]=((yf|0)!=0|(C|0)!=0)&1}g=((c[re>>2]|0)*3|0)+(c[se>>2]|0)|0;if((d[c[tf>>2]>>0]|0)==72)c[re>>2]=d[40367+g>>0];else c[re>>2]=d[40376+g>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((c[re>>2]|0)==2){b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|1;break d}else{wf=c[re>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|4;break d}}case 19:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;wf=(((wf|0)!=0|(C|0)!=0)^1)&1;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31}break}case 96:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);hh(c[gd>>2]|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){b[(c[gd>>2]|0)+8>>1]=4;wf=$g(c[Mc>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=~wf;c[yf+4>>2]=~C}break}case 44:{if(a[(c[(c[pf>>2]|0)+200>>2]|0)+(c[(c[tf>>2]|0)+4>>2]|0)>>0]|0)k=14;else a[(c[(c[pf>>2]|0)+200>>2]|0)+(c[(c[tf>>2]|0)+4>>2]|0)>>0]=1;break}case 46:case 45:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1)){c[y>>2]=+_g(c[Mc>>2]|0)!=0.0&1;if((d[c[tf>>2]>>0]|0)==46)c[y>>2]=((c[y>>2]|0)!=0^1)&1}else c[y>>2]=c[(c[tf>>2]|0)+12>>2];if(c[y>>2]|0)k=14;break}case 76:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(e[(c[Mc>>2]|0)+8>>1]&1)k=14;break}case 77:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[Mc>>2]|0)+8>>1]&1))k=14;break}case 47:{c[Ab>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[tb>>2]=c[(c[tf>>2]|0)+8>>2];c[uf>>2]=jI(Ab,tb)|0;c[Bc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[m>>2]=c[(c[Ab>>2]|0)+76>>2];c[dc>>2]=c[(c[Ab>>2]|0)+16>>2];if(c[uf>>2]|0)break a;g=c[Ab>>2]|0;if((c[(c[Ab>>2]|0)+56>>2]|0)!=(c[(c[pf>>2]|0)+72>>2]|0)){f=c[Ab>>2]|0;do if(a[g+2>>0]|0)if((d[f>>0]|0)==3){c[ld>>2]=(c[l>>2]|0)+((c[(c[Ab>>2]|0)+16>>2]|0)*40|0);yf=c[(c[ld>>2]|0)+12>>2]|0;c[v>>2]=yf;c[(c[Ab>>2]|0)+64>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=yf;c[(c[Ab>>2]|0)+72>>2]=c[(c[ld>>2]|0)+16>>2];break}else{hh(c[Bc>>2]|0);break d}else{g=c[dc>>2]|0;if(!(d[f+4>>0]|0)){yH(g,Dd)|0;yf=kI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf;c[(c[Ab>>2]|0)+60>>2]=c[Dd>>2]}else{lI(g,(c[Ab>>2]|0)+60|0)|0;yf=mI(c[dc>>2]|0,v)|0;c[(c[Ab>>2]|0)+72>>2]=yf}g=c[(c[Ab>>2]|0)+60>>2]|0;if((c[(c[Ab>>2]|0)+60>>2]|0)>>>0<=(c[v>>2]|0)>>>0){c[(c[Ab>>2]|0)+64>>2]=g;break}if(g>>>0>(c[(c[qf>>2]|0)+92>>2]|0)>>>0){k=882;break c}c[(c[Ab>>2]|0)+64>>2]=c[v>>2]}while(0);c[(c[Ab>>2]|0)+56>>2]=c[(c[pf>>2]|0)+72>>2];g=c[(c[Ab>>2]|0)+72>>2]|0;if((d[c[(c[Ab>>2]|0)+72>>2]>>0]|0)<128){c[jb>>2]=d[g>>0];g=1}else g=(AF(g,jb)|0)&255;c[(c[Ab>>2]|0)+68>>2]=g&255;b[(c[Ab>>2]|0)+14>>1]=0;c[c[m>>2]>>2]=c[jb>>2];if((c[v>>2]|0)>>>0<(c[jb>>2]|0)>>>0){c[(c[Ab>>2]|0)+72>>2]=0;c[(c[Ab>>2]|0)+64>>2]=0;if((c[jb>>2]|0)>>>0>98307){k=268;break c}if((c[jb>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0){k=268;break c}else k=270}else k=270}else if((e[g+14>>1]|0)<=(c[tb>>2]|0))k=270;else c[je>>2]=c[(c[Ab>>2]|0)+80+(c[tb>>2]<<2)>>2];if((k|0)==270){k=0;if((c[(c[Ab>>2]|0)+68>>2]|0)>>>0<(c[c[m>>2]>>2]|0)>>>0){if(!(c[(c[Ab>>2]|0)+72>>2]|0)){g=fe;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[uf>>2]=nI(c[dc>>2]|0,0,c[c[m>>2]>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,fe)|0;if(c[uf>>2]|0)break a;c[Re>>2]=c[fe+16>>2]}else c[Re>>2]=c[(c[Ab>>2]|0)+72>>2];c[T>>2]=e[(c[Ab>>2]|0)+14>>1];yf=kb;c[yf>>2]=c[(c[m>>2]|0)+(c[T>>2]<<2)>>2];c[yf+4>>2]=0;c[Ve>>2]=(c[Re>>2]|0)+(c[(c[Ab>>2]|0)+68>>2]|0);c[Te>>2]=(c[Re>>2]|0)+(c[c[m>>2]>>2]|0);do{yf=d[c[Ve>>2]>>0]|0;c[je>>2]=yf;g=c[Ve>>2]|0;if(yf>>>0<128){c[Ve>>2]=g+1;wf=(oI(c[je>>2]&255)|0)&255;yf=kb;wf=pR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=kb;c[yf>>2]=wf;c[yf+4>>2]=C}else{wf=(AF(g,je)|0)&255;c[Ve>>2]=(c[Ve>>2]|0)+wf;wf=BF(c[je>>2]|0)|0;yf=kb;wf=pR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,0)|0;yf=kb;c[yf>>2]=wf;c[yf+4>>2]=C}wf=c[je>>2]|0;yf=c[T>>2]|0;c[T>>2]=yf+1;c[(c[Ab>>2]|0)+80+(yf<<2)>>2]=wf;c[(c[m>>2]|0)+(c[T>>2]<<2)>>2]=c[kb>>2];if((c[T>>2]|0)>(c[tb>>2]|0))break}while((c[Ve>>2]|0)>>>0<(c[Te>>2]|0)>>>0);b[(c[Ab>>2]|0)+14>>1]=c[T>>2];c[(c[Ab>>2]|0)+68>>2]=(c[Ve>>2]|0)-(c[Re>>2]|0);if((c[Ve>>2]|0)>>>0>=(c[Te>>2]|0)>>>0){if((c[Ve>>2]|0)>>>0>(c[Te>>2]|0)>>>0){k=285;break c}yf=kb;if((c[yf+4>>2]|0)!=0?1:(c[yf>>2]|0)!=(c[(c[Ab>>2]|0)+60>>2]|0)){k=285;break c}}yf=kb;wf=c[yf+4>>2]|0;if(wf>>>0>0|((wf|0)==0?(c[yf>>2]|0)>>>0>(c[(c[Ab>>2]|0)+60>>2]|0)>>>0:0)){k=285;break c}if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(fe)}else c[je>>2]=0;if((e[(c[Ab>>2]|0)+14>>1]|0)<=(c[tb>>2]|0)){g=c[Bc>>2]|0;if((a[(c[tf>>2]|0)+1>>0]|0)==-8){IF(g,c[(c[tf>>2]|0)+16>>2]|0,2048);break d}else{hh(g);break d}}}if(e[(c[Bc>>2]|0)+8>>1]&9312)hh(c[Bc>>2]|0);a[(c[Bc>>2]|0)+10>>0]=a[G>>0]|0;if((c[(c[Ab>>2]|0)+64>>2]|0)>>>0>=(c[(c[m>>2]|0)+((c[tb>>2]|0)+1<<2)>>2]|0)>>>0){c[Re>>2]=(c[(c[Ab>>2]|0)+72>>2]|0)+(c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0);if((c[je>>2]|0)>>>0<12){CF(c[Re>>2]|0,c[je>>2]|0,c[Bc>>2]|0)|0;break d}g=(((c[je>>2]|0)-12|0)>>>0)/2|0;c[Da>>2]=g;c[(c[Bc>>2]|0)+12>>2]=g;g=c[Bc>>2]|0;if((c[(c[Bc>>2]|0)+24>>2]|0)<((c[Da>>2]|0)+2|0)){b[g+8>>1]=1;if(Ax(c[Bc>>2]|0,(c[Da>>2]|0)+2|0,0)|0){k=883;break a}}else c[(c[Bc>>2]|0)+16>>2]=c[g+20>>2];rR(c[(c[Bc>>2]|0)+16>>2]|0,c[Re>>2]|0,c[Da>>2]|0)|0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+(c[Da>>2]|0)>>0]=0;a[(c[(c[Bc>>2]|0)+16>>2]|0)+((c[Da>>2]|0)+1)>>0]=0;b[(c[Bc>>2]|0)+8>>1]=b[17026+((c[je>>2]&1)<<1)>>1]|0;break d}do if(d[(c[tf>>2]|0)+3>>0]&192){if((c[je>>2]|0)>>>0>=12?(c[je>>2]&1|0)==0:0)break;if(!(d[(c[tf>>2]|0)+3>>0]&128))k=309}else k=309;while(0);if((k|0)==309?(k=0,yf=BF(c[je>>2]|0)|0,c[Da>>2]=yf,(yf|0)!=0):0){c[uf>>2]=nI(c[dc>>2]|0,c[(c[m>>2]|0)+(c[tb>>2]<<2)>>2]|0,c[Da>>2]|0,((a[(c[Ab>>2]|0)+4>>0]|0)!=0^1)&1,c[Bc>>2]|0)|0;if(c[uf>>2]|0)break a;CF(c[(c[Bc>>2]|0)+16>>2]|0,c[je>>2]|0,c[Bc>>2]|0)|0;yf=(c[Bc>>2]|0)+8|0;b[yf>>1]=e[yf>>1]&-4097;break d}CF(40385,c[je>>2]|0,c[Bc>>2]|0)|0;break}case 48:{c[Pe>>2]=c[(c[tf>>2]|0)+16>>2];c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);while(1){yf=c[Pe>>2]|0;c[Pe>>2]=yf+1;yf=a[yf>>0]|0;a[z>>0]=yf;if(!(yf<<24>>24))break d;xx(c[Mc>>2]|0,a[z>>0]|0,a[G>>0]|0);c[Mc>>2]=(c[Mc>>2]|0)+40}}case 49:{yf=Sa;c[yf>>2]=0;c[yf+4>>2]=0;c[Ya>>2]=0;yf=eb;c[yf>>2]=0;c[yf+4>>2]=0;c[Va>>2]=c[(c[tf>>2]|0)+4>>2];c[Qe>>2]=c[(c[tf>>2]|0)+16>>2];c[xc>>2]=(c[l>>2]|0)+((c[Va>>2]|0)*40|0);c[Va>>2]=c[(c[tf>>2]|0)+8>>2];c[Tc>>2]=(c[xc>>2]|0)+(((c[Va>>2]|0)-1|0)*40|0);c[J>>2]=d[(c[pf>>2]|0)+88>>0];c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(c[Qe>>2]|0){c[kd>>2]=c[xc>>2];do{wf=c[kd>>2]|0;c[kd>>2]=wf+40;yf=c[Qe>>2]|0;c[Qe>>2]=yf+1;xx(wf,a[yf>>0]|0,a[G>>0]|0)}while((a[c[Qe>>2]>>0]|0)!=0)}c[kd>>2]=c[Tc>>2];do{yf=pI(c[kd>>2]|0,c[J>>2]|0,Ea)|0;c[ie>>2]=yf;c[(c[kd>>2]|0)+28>>2]=yf;do if(e[(c[kd>>2]|0)+8>>1]&16384){yf=Sa;g=c[kd>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0)if(Xg(g)|0){k=883;break a}else break;else{wf=c[g>>2]|0;yf=eb;wf=pR(c[yf>>2]|0,c[yf+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;yf=eb;c[yf>>2]=wf;c[yf+4>>2]=C;c[Ea>>2]=(c[Ea>>2]|0)-(c[c[kd>>2]>>2]|0);break}}while(0);wf=Sa;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,c[Ea>>2]|0,0)|0;yf=Sa;c[yf>>2]=wf;c[yf+4>>2]=C;if((c[ie>>2]|0)>>>0<=127)g=1;else g=GF(c[ie>>2]|0,0)|0;c[Ya>>2]=(c[Ya>>2]|0)+g;yf=(c[kd>>2]|0)+-40|0;c[kd>>2]=yf}while(yf>>>0>=(c[xc>>2]|0)>>>0);g=c[Ya>>2]|0;if((c[Ya>>2]|0)>126){c[db>>2]=GF(g,((g|0)<0)<<31>>31)|0;c[Ya>>2]=(c[Ya>>2]|0)+(c[db>>2]|0);wf=c[db>>2]|0;yf=c[Ya>>2]|0;if((wf|0)<(GF(yf,((yf|0)<0)<<31>>31)|0))c[Ya>>2]=(c[Ya>>2]|0)+1}else c[Ya>>2]=g+1;f=c[Ya>>2]|0;wf=Sa;wf=pR(f|0,((f|0)<0)<<31>>31|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=Pa;c[f>>2]=wf;c[f+4>>2]=C;f=Pa;wf=eb;wf=pR(c[f>>2]|0,c[f+4>>2]|0,c[wf>>2]|0,c[wf+4>>2]|0)|0;f=C;yf=c[(c[qf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|(f|0)==(j|0)&wf>>>0>yf>>>0){k=882;break c}if(zx(c[gd>>2]|0,c[Pa>>2]|0)|0){k=883;break a}c[Ze>>2]=c[(c[gd>>2]|0)+16>>2];if((c[Ya>>2]|0)>>>0<128){a[c[Ze>>2]>>0]=c[Ya>>2];g=1}else{g=c[Ya>>2]|0;g=qI(c[Ze>>2]|0,g,((g|0)<0)<<31>>31)|0}c[V>>2]=g&255;c[Ca>>2]=c[Ya>>2];c[kd>>2]=c[xc>>2];do{c[ie>>2]=c[(c[kd>>2]|0)+28>>2];if((c[ie>>2]|0)>>>0<128){a[(c[Ze>>2]|0)+(c[V>>2]|0)>>0]=c[ie>>2];g=1}else g=qI((c[Ze>>2]|0)+(c[V>>2]|0)|0,c[ie>>2]|0,0)|0;c[V>>2]=(c[V>>2]|0)+(g&255);yf=rI((c[Ze>>2]|0)+(c[Ca>>2]|0)|0,c[kd>>2]|0,c[ie>>2]|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+yf;yf=(c[kd>>2]|0)+40|0;c[kd>>2]=yf}while(yf>>>0<=(c[Tc>>2]|0)>>>0);c[(c[gd>>2]|0)+12>>2]=c[Pa>>2];b[(c[gd>>2]|0)+8>>1]=16;yf=eb;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){c[c[gd>>2]>>2]=c[eb>>2];yf=(c[gd>>2]|0)+8|0;b[yf>>1]=e[yf>>1]|16384}a[(c[gd>>2]|0)+10>>0]=1;break}case 50:{c[ec>>2]=c[(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];yf=Ta;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=sI(c[ec>>2]|0,Ta)|0;if(c[uf>>2]|0)break a;c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;j=Ta;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 0:{c[ob>>2]=c[(c[tf>>2]|0)+4>>2];c[Ye>>2]=c[(c[tf>>2]|0)+16>>2];do if(!(c[ob>>2]|0)){if((c[(c[qf>>2]|0)+160>>2]|0)>0){YH(c[pf>>2]|0,40393,xe);c[uf>>2]=5;break}c[ab>>2]=Jf(c[Ye>>2]|0)|0;c[uf>>2]=tI(c[qf>>2]|0,0,(c[(c[qf>>2]|0)+436>>2]|0)+(c[(c[qf>>2]|0)+432>>2]|0)|0)|0;if(c[uf>>2]|0)break a;c[fd>>2]=Lw(c[qf>>2]|0,32+(c[ab>>2]|0)+1|0,0)|0;if(c[fd>>2]|0){c[c[fd>>2]>>2]=(c[fd>>2]|0)+32;rR(c[c[fd>>2]>>2]|0,c[Ye>>2]|0,(c[ab>>2]|0)+1|0)|0;g=c[qf>>2]|0;if(a[(c[qf>>2]|0)+67>>0]|0){a[g+67>>0]=0;a[(c[qf>>2]|0)+75>>0]=1}else{yf=g+432|0;c[yf>>2]=(c[yf>>2]|0)+1}c[(c[fd>>2]|0)+24>>2]=c[(c[qf>>2]|0)+424>>2];c[(c[qf>>2]|0)+424>>2]=c[fd>>2];yf=(c[qf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[fd>>2]|0)+8|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[qf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[fd>>2]|0)+16|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}}else{c[ta>>2]=0;c[nd>>2]=c[(c[qf>>2]|0)+424>>2];while(1){if(!(c[nd>>2]|0))break;if(!(ig(c[c[nd>>2]>>2]|0,c[Ye>>2]|0)|0))break;c[ta>>2]=(c[ta>>2]|0)+1;c[nd>>2]=c[(c[nd>>2]|0)+24>>2]}if(!(c[nd>>2]|0)){yf=c[pf>>2]|0;c[ye>>2]=c[Ye>>2];YH(yf,40444,ye);c[uf>>2]=1;break}if((c[ob>>2]|0)==1?(c[(c[qf>>2]|0)+160>>2]|0)>0:0){YH(c[pf>>2]|0,40466,ze);c[uf>>2]=5;break}if(!(c[(c[nd>>2]|0)+24>>2]|0))g=(d[(c[qf>>2]|0)+75>>0]|0)!=0;else g=0;c[Aa>>2]=g&1;if(!((c[Aa>>2]|0)!=0&(c[ob>>2]|0)==1)){c[ta>>2]=(c[(c[qf>>2]|0)+432>>2]|0)-(c[ta>>2]|0)-1;g:do if((c[ob>>2]|0)==2){c[za>>2]=(c[(c[qf>>2]|0)+24>>2]&2|0)!=0&1;c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(c[(c[qf>>2]|0)+20>>2]|0))break g;c[uf>>2]=uI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[wa>>2]<<4)+4>>2]|0,516,(c[za>>2]|0)==0&1)|0;if(c[uf>>2]|0)break a;c[wa>>2]=(c[wa>>2]|0)+1}}else c[za>>2]=0;while(0);c[wa>>2]=0;while(1){if((c[wa>>2]|0)>=(c[(c[qf>>2]|0)+20>>2]|0))break;c[uf>>2]=vI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[wa>>2]<<4)+4>>2]|0,c[ob>>2]|0,c[ta>>2]|0)|0;if(c[uf>>2]|0)break a;c[wa>>2]=(c[wa>>2]|0)+1}if(c[za>>2]|0){Qh(c[qf>>2]|0);Bg(c[qf>>2]|0);c[(c[qf>>2]|0)+24>>2]=c[(c[qf>>2]|0)+24>>2]|2}}else{yf=aI(c[pf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){k=881;break c}a[(c[qf>>2]|0)+67>>0]=1;if((ZH(c[pf>>2]|0)|0)==5){k=368;break c}a[(c[qf>>2]|0)+75>>0]=0;c[uf>>2]=c[(c[pf>>2]|0)+80>>2]}while(1){if((c[(c[qf>>2]|0)+424>>2]|0)==(c[nd>>2]|0))break;c[pd>>2]=c[(c[qf>>2]|0)+424>>2];c[(c[qf>>2]|0)+424>>2]=c[(c[pd>>2]|0)+24>>2];Tf(c[qf>>2]|0,c[pd>>2]|0);yf=(c[qf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}g=c[nd>>2]|0;if((c[ob>>2]|0)==1){c[(c[qf>>2]|0)+424>>2]=c[g+24>>2];Tf(c[qf>>2]|0,c[nd>>2]|0);if(!(c[Aa>>2]|0)){yf=(c[qf>>2]|0)+432|0;c[yf>>2]=(c[yf>>2]|0)+-1}}else{yf=g+8|0;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+440|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[nd>>2]|0)+16|0;wf=c[j+4>>2]|0;yf=(c[qf>>2]|0)+448|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((c[Aa>>2]|0)==0|(c[ob>>2]|0)==2){c[uf>>2]=tI(c[qf>>2]|0,c[ob>>2]|0,c[ta>>2]|0)|0;if((c[uf>>2]|0)!=0|(c[uf>>2]|0)!=0)break a;else break d}}while(0);if(c[uf>>2]|0)break a;break}case 2:{if((c[(c[tf>>2]|0)+8>>2]|0)!=0?(c[(c[qf>>2]|0)+24>>2]&33554432|0)!=0:0){k=409;break c}c[wb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];if(c[wb>>2]|0){c[uf>>2]=og(c[wb>>2]|0,c[(c[tf>>2]|0)+8>>2]|0)|0;if((c[uf>>2]&255|0)==5){k=412;break c}if(c[uf>>2]|0)break a;do if((c[(c[tf>>2]|0)+8>>2]|0)!=0?((d[(c[pf>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){if((d[(c[qf>>2]|0)+67>>0]|0)!=0?(c[(c[qf>>2]|0)+156>>2]|0)<=1:0)break;if(!(c[(c[pf>>2]|0)+104>>2]|0)){yf=(c[qf>>2]|0)+436|0;c[yf>>2]=(c[yf>>2]|0)+1;c[(c[pf>>2]|0)+104>>2]=(c[(c[qf>>2]|0)+432>>2]|0)+(c[(c[qf>>2]|0)+436>>2]|0)}c[uf>>2]=tI(c[qf>>2]|0,0,(c[(c[pf>>2]|0)+104>>2]|0)-1|0)|0;if(!(c[uf>>2]|0))c[uf>>2]=yI(c[wb>>2]|0,c[(c[pf>>2]|0)+104>>2]|0)|0;yf=(c[qf>>2]|0)+440|0;wf=c[yf+4>>2]|0;j=(c[pf>>2]|0)+152|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=(c[qf>>2]|0)+448|0;wf=c[j+4>>2]|0;yf=(c[pf>>2]|0)+160|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);pg(c[wb>>2]|0,1,oa);c[ka>>2]=c[(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[oa>>2]=0;c[ka>>2]=0}do if(d[(c[tf>>2]|0)+3>>0]|0){if((c[oa>>2]|0)==(c[(c[tf>>2]|0)+12>>2]|0)?(c[ka>>2]|0)==(c[(c[tf>>2]|0)+16>>2]|0):0)break;Tf(c[qf>>2]|0,c[(c[pf>>2]|0)+44>>2]|0);yf=ph(c[qf>>2]|0,40707)|0;c[(c[pf>>2]|0)+44>>2]=yf;if((c[c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[oa>>2]|0))uj(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0);yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=17}while(0);if(c[uf>>2]|0)break a;break}case 51:{c[ga>>2]=c[(c[tf>>2]|0)+4>>2];c[fa>>2]=c[(c[tf>>2]|0)+12>>2];pg(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[ga>>2]<<4)+4>>2]|0,c[fa>>2]|0,pa);c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;wf=c[pa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 52:{c[yc>>2]=(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4);c[uf>>2]=Ag(c[(c[yc>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,c[(c[tf>>2]|0)+12>>2]|0)|0;g=c[tf>>2]|0;if((c[(c[tf>>2]|0)+8>>2]|0)!=1){if((c[g+8>>2]|0)==2)a[(c[(c[yc>>2]|0)+12>>2]|0)+76>>0]=c[(c[tf>>2]|0)+12>>2]}else{c[c[(c[yc>>2]|0)+12>>2]>>2]=c[g+12>>2];yf=(c[qf>>2]|0)+24|0;c[yf>>2]=c[yf>>2]|2}if((c[(c[tf>>2]|0)+4>>2]|0)==1){Qh(c[qf>>2]|0);yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2}if(c[uf>>2]|0)break a;break}case 53:{c[oc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if((c[oc>>2]|0)!=0?(c[(c[oc>>2]|0)+8>>2]|0)==(c[(c[tf>>2]|0)+8>>2]|0):0)k=456;else k=442;break}case 55:case 54:{k=442;break}case 57:case 56:{c[tc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[tc>>2]|0)){k=883;break a}a[(c[tc>>2]|0)+2>>0]=1;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-2|1;c[uf>>2]=$j(c[c[qf>>2]>>2]|0,0,c[qf>>2]|0,(c[tc>>2]|0)+20|0,5|d[(c[tf>>2]|0)+3>>0],1054)|0;if(!(c[uf>>2]|0))c[uf>>2]=og(c[(c[tc>>2]|0)+20>>2]|0,1)|0;do if(!(c[uf>>2]|0)){yf=c[(c[tf>>2]|0)+16>>2]|0;c[Sc>>2]=yf;g=c[(c[tc>>2]|0)+20>>2]|0;if(!yf){c[uf>>2]=AI(g,1,4,0,c[(c[tc>>2]|0)+16>>2]|0)|0;a[(c[tc>>2]|0)+4>>0]=1;break}c[uf>>2]=CI(g,Fd,2|d[(c[tf>>2]|0)+3>>0])|0;if(!(c[uf>>2]|0)){c[(c[tc>>2]|0)+24>>2]=c[Sc>>2];c[uf>>2]=AI(c[(c[tc>>2]|0)+20>>2]|0,c[Fd>>2]|0,4,c[Sc>>2]|0,c[(c[tc>>2]|0)+16>>2]|0)|0}a[(c[tc>>2]|0)+4>>0]=0}while(0);if(c[uf>>2]|0)break a;yf=(c[tc>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-5|((d[(c[tf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 58:{c[uc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[uc>>2]|0)){k=883;break a}c[(c[uc>>2]|0)+24>>2]=c[(c[tf>>2]|0)+16>>2];c[uf>>2]=DI(c[qf>>2]|0,c[(c[tf>>2]|0)+12>>2]|0,c[uc>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 59:{c[Bb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];j=(c[Bb>>2]|0)+32|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=pR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 60:{c[vc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[vc>>2]|0)){k=883;break a}a[(c[vc>>2]|0)+2>>0]=1;c[(c[vc>>2]|0)+16>>2]=c[(c[tf>>2]|0)+8>>2];a[(c[vc>>2]|0)+4>>0]=1;break}case 61:{EI(c[pf>>2]|0,c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]=0;break}case 66:case 65:case 64:case 63:{c[Cb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[ib>>2]=d[c[tf>>2]>>0];c[H>>2]=0;a[(c[Cb>>2]|0)+2>>0]=0;if(a[(c[Cb>>2]|0)+4>>0]|0){c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if((e[(c[Oc>>2]|0)+8>>1]&14|0)==2)zh(c[Oc>>2]|0,0);wf=$g(c[Oc>>2]|0)|0;yf=la;c[yf>>2]=wf;c[yf+4>>2]=C;do if(!(e[(c[Oc>>2]|0)+8>>1]&4)){if(!(e[(c[Oc>>2]|0)+8>>1]&8)){k=14;break d}yf=la;if(+h[c[Oc>>2]>>3]<+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)){if(c[ib>>2]&1)break;c[ib>>2]=(c[ib>>2]|0)+-1;break}yf=la;if(+h[c[Oc>>2]>>3]>+((c[yf>>2]|0)>>>0)+4294967296.0*+(c[yf+4>>2]|0)?(c[ib>>2]&1|0)==1:0)c[ib>>2]=(c[ib>>2]|0)+1}while(0);j=la;c[uf>>2]=lF(c[(c[Cb>>2]|0)+16>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Td)|0;j=la;wf=c[j+4>>2]|0;yf=(c[Cb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(c[uf>>2]|0)break a;else k=493}else{if(FI(c[(c[Cb>>2]|0)+16>>2]|0,2)|0)c[H>>2]=1;c[Xa>>2]=c[(c[tf>>2]|0)+16>>2];c[Id>>2]=c[(c[Cb>>2]|0)+24>>2];b[Id+8>>1]=c[Xa>>2];a[Id+10>>0]=(1&(c[ib>>2]|0)-63|0)!=0?-1:1;c[Id+4>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(e[(c[Id+4>>2]|0)+8>>1]&16384)Xg(c[Id+4>>2]|0)|0;a[Id+14>>0]=0;c[uf>>2]=lF(c[(c[Cb>>2]|0)+16>>2]|0,Id,0,0,0,Td)|0;if(c[uf>>2]|0)break a;if(!((c[H>>2]|0)!=0?(d[Id+14>>0]|0)==0:0))k=493}do if((k|0)==493){k=0;a[(c[Cb>>2]|0)+3>>0]=0;c[(c[Cb>>2]|0)+56>>2]=0;g=c[Td>>2]|0;if((c[ib>>2]|0)>=65){if((g|0)>=0?!((c[Td>>2]|0)==0&(c[ib>>2]|0)==66):0){c[Td>>2]=0;break}c[Td>>2]=0;c[uf>>2]=_E(c[(c[Cb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}else{if((g|0)<=0?!((c[Td>>2]|0)==0&(c[ib>>2]|0)==63):0){c[Td>>2]=GI(c[(c[Cb>>2]|0)+16>>2]|0)|0;break}c[Td>>2]=0;c[uf>>2]=$E(c[(c[Cb>>2]|0)+16>>2]|0,Td)|0;if(c[uf>>2]|0)break a;else break}}while(0);if(!(c[Td>>2]|0)){if(c[H>>2]|0)c[tf>>2]=(c[tf>>2]|0)+20}else k=14;break}case 69:case 68:case 67:{c[Db>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[Jc>>2]=0;g=c[(c[Db>>2]|0)+24>>2]|0;if((c[(c[tf>>2]|0)+16>>2]|0)>0){c[Jd>>2]=g;b[Jd+8>>1]=c[(c[tf>>2]|0)+16>>2];c[Jd+4>>2]=c[Oc>>2];c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(e[Jd+8>>1]|0))break;if(e[(c[Jd+4>>2]|0)+((c[xa>>2]|0)*40|0)+8>>1]&16384)Xg((c[Jd+4>>2]|0)+((c[xa>>2]|0)*40|0)|0)|0;c[xa>>2]=(c[xa>>2]|0)+1}c[Kc>>2]=Jd}else{c[Kc>>2]=jF(g,q,183,Jc)|0;if(!(c[Kc>>2]|0)){k=883;break a}if(e[(c[Oc>>2]|0)+8>>1]&16384)Xg(c[Oc>>2]|0)|0;kF(c[(c[Db>>2]|0)+24>>2]|0,c[(c[Oc>>2]|0)+12>>2]|0,c[(c[Oc>>2]|0)+16>>2]|0,c[Kc>>2]|0)}a[(c[Kc>>2]|0)+10>>0]=0;c[me>>2]=0;h:do if((d[c[tf>>2]>>0]|0)==67){c[xa>>2]=0;while(1){if((c[xa>>2]|0)>=(e[(c[Kc>>2]|0)+8>>1]|0))break h;if(e[(c[(c[Kc>>2]|0)+4>>2]|0)+((c[xa>>2]|0)*40|0)+8>>1]&1)break;c[xa>>2]=(c[xa>>2]|0)+1}c[me>>2]=1}while(0);c[uf>>2]=lF(c[(c[Db>>2]|0)+16>>2]|0,c[Kc>>2]|0,0,0,0,Ud)|0;Tf(c[qf>>2]|0,c[Jc>>2]|0);if(c[uf>>2]|0)break a;c[(c[Db>>2]|0)+28>>2]=c[Ud>>2];c[s>>2]=(c[Ud>>2]|0)==0&1;a[(c[Db>>2]|0)+2>>0]=1-(c[s>>2]|0);a[(c[Db>>2]|0)+3>>0]=0;c[(c[Db>>2]|0)+56>>2]=0;if((d[c[tf>>2]>>0]|0)==69)if(c[s>>2]|0){k=14;break d}else break d;else if((c[me>>2]|0)==0&(c[s>>2]|0)!=0)break d;else{k=14;break d}}case 70:{c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[Eb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[fc>>2]=c[(c[Eb>>2]|0)+16>>2];c[Vd>>2]=0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;j=ma;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;j=ma;c[uf>>2]=lF(c[fc>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,0,Vd)|0;j=ma;wf=c[j+4>>2]|0;yf=(c[Eb>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[Eb>>2]|0)+2>>0]=0;c[(c[Eb>>2]|0)+56>>2]=0;a[(c[Eb>>2]|0)+3>>0]=0;c[(c[Eb>>2]|0)+28>>2]=c[Vd>>2];if(c[Vd>>2]|0){if(c[(c[tf>>2]|0)+8>>2]|0){k=14;break d}c[uf>>2]=Oj(78535)|0}if(c[uf>>2]|0)break a;break}case 73:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;yf=(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;wf=yf;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;f=pR(j|0,wf|0,1,0)|0;c[yf>>2]=f;c[yf+4>>2]=C;yf=c[gd>>2]|0;c[yf>>2]=j;c[yf+4>>2]=wf;break}case 74:{yf=qe;c[yf>>2]=0;c[yf+4>>2]=0;c[Wd>>2]=0;c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Fb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1)){c[uf>>2]=HI(c[(c[Fb>>2]|0)+16>>2]|0,Wd)|0;if(c[uf>>2]|0)break a;if(c[Wd>>2]|0){yf=qe;c[yf>>2]=1;c[yf+4>>2]=0;break}c[uf>>2]=yH(c[(c[Fb>>2]|0)+16>>2]|0,qe)|0;yf=qe;wf=c[yf+4>>2]|0;if((wf|0)>2147483647|(wf|0)==2147483647&(c[yf>>2]|0)>>>0>=4294967295){yf=(c[Fb>>2]|0)+5|0;a[yf>>0]=a[yf>>0]&-3|2;break}else{wf=qe;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;break}}while(0);if(c[(c[tf>>2]|0)+12>>2]|0){if(c[(c[pf>>2]|0)+176>>2]|0){c[Fc>>2]=c[(c[pf>>2]|0)+176>>2];while(1){if(!(c[(c[Fc>>2]|0)+4>>2]|0))break;c[Fc>>2]=c[(c[Fc>>2]|0)+4>>2]}c[Vc>>2]=(c[(c[Fc>>2]|0)+16>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0)}else c[Vc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);Cx(c[Vc>>2]|0)|0;yf=c[Vc>>2]|0;if((c[yf>>2]|0)==-1?(c[yf+4>>2]|0)==2147483647:0){k=547;break c}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){k=547;break c}f=qe;wf=c[f>>2]|0;f=c[f+4>>2]|0;yf=c[Vc>>2]|0;yf=pR(c[yf>>2]|0,c[yf+4>>2]|0,1,0)|0;j=C;if((f|0)<(j|0)|(f|0)==(j|0)&wf>>>0>>0){wf=c[Vc>>2]|0;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C}j=qe;wf=c[j+4>>2]|0;yf=c[Vc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}if((d[(c[Fb>>2]|0)+5>>0]|0)>>>1&1){c[B>>2]=0;do{Sd(8,qe);j=qe;yf=c[j+4>>2]&1073741823;wf=qe;c[wf>>2]=c[j>>2];c[wf+4>>2]=yf;wf=qe;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,1,0)|0;yf=qe;c[yf>>2]=wf;c[yf+4>>2]=C;yf=qe;yf=lF(c[(c[Fb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,0,Wd)|0;c[uf>>2]=yf;if(!((yf|0)==0&(c[Wd>>2]|0)==0))break;yf=(c[B>>2]|0)+1|0;c[B>>2]=yf}while((yf|0)<100);if(c[uf>>2]|0)break a;if(!(c[Wd>>2]|0)){k=557;break c}}a[(c[Fb>>2]|0)+3>>0]=0;c[(c[Fb>>2]|0)+56>>2]=0;j=qe;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 84:case 75:{c[wc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[Gb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];g=c[(c[tf>>2]|0)+12>>2]|0;if((d[c[tf>>2]>>0]|0)==75){c[Pc>>2]=(c[l>>2]|0)+(g*40|0);j=c[Pc>>2]|0;wf=c[j+4>>2]|0;yf=na;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}else{yf=na;c[yf>>2]=g;c[yf+4>>2]=((g|0)<0)<<31>>31}if(d[(c[tf>>2]|0)+3>>0]&1){yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(d[(c[tf>>2]|0)+3>>0]&2){wf=na;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=rf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[qf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}if(e[(c[wc>>2]|0)+8>>1]&1){c[(c[wc>>2]|0)+16>>2]=0;c[(c[wc>>2]|0)+12>>2]=0}if(d[(c[tf>>2]|0)+3>>0]&16)g=c[(c[Gb>>2]|0)+28>>2]|0;else g=0;c[he>>2]=g;if(e[(c[wc>>2]|0)+8>>1]&16384)c[fb>>2]=c[c[wc>>2]>>2];else c[fb>>2]=0;yf=na;c[uf>>2]=II(c[(c[Gb>>2]|0)+16>>2]|0,0,c[yf>>2]|0,c[yf+4>>2]|0,c[(c[wc>>2]|0)+16>>2]|0,c[(c[wc>>2]|0)+12>>2]|0,c[fb>>2]|0,(d[(c[tf>>2]|0)+3>>0]&8|0)!=0&1,c[he>>2]|0)|0;a[(c[Gb>>2]|0)+3>>0]=0;c[(c[Gb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if((c[(c[qf>>2]|0)+216>>2]|0)!=0?(c[(c[tf>>2]|0)+16>>2]|0)!=0:0){c[Se>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(a[(c[Gb>>2]|0)+1>>0]<<4)>>2];c[bf>>2]=c[(c[tf>>2]|0)+16>>2];c[mb>>2]=(d[(c[tf>>2]|0)+3>>0]&4|0)!=0?23:18;yf=na;Xb[c[(c[qf>>2]|0)+216>>2]&255](c[(c[qf>>2]|0)+212>>2]|0,c[mb>>2]|0,c[Se>>2]|0,c[bf>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 95:{c[Hb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if((c[(c[qf>>2]|0)+216>>2]|0)!=0?(c[(c[tf>>2]|0)+16>>2]|0)!=0:0)g=(d[(c[Hb>>2]|0)+4>>0]|0)!=0;else g=0;a[Q>>0]=g&1;if((d[(c[tf>>2]|0)+3>>0]|0)!=0?(d[Q>>0]|0)!=0:0)yH(c[(c[Hb>>2]|0)+16>>2]|0,(c[Hb>>2]|0)+40|0)|0;c[uf>>2]=JI(c[(c[Hb>>2]|0)+16>>2]|0,a[(c[tf>>2]|0)+3>>0]|0)|0;c[(c[Hb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;if(a[Q>>0]|0){yf=(c[Hb>>2]|0)+40|0;Xb[c[(c[qf>>2]|0)+216>>2]&255](c[(c[qf>>2]|0)+212>>2]|0,9,c[(c[(c[qf>>2]|0)+16>>2]|0)+(a[(c[Hb>>2]|0)+1>>0]<<4)>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}if(c[(c[tf>>2]|0)+8>>2]&1){yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}break}case 98:{WH(c[qf>>2]|0,c[(c[pf>>2]|0)+92>>2]|0);c[(c[pf>>2]|0)+92>>2]=0;break}case 99:{c[Ib>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[_a>>2]=c[(c[tf>>2]|0)+16>>2];c[Xd>>2]=0;c[uf>>2]=KI(c[Ib>>2]|0,c[Oc>>2]|0,c[_a>>2]|0,Xd)|0;if(c[uf>>2]|0)break a;if(c[Xd>>2]|0)k=14;break}case 100:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[Jb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=LI(c[Jb>>2]|0,c[gd>>2]|0)|0;if(c[uf>>2]|0)break a;c[(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 102:case 101:{c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[Kb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[gc>>2]=c[(c[Kb>>2]|0)+16>>2];g=c[gc>>2]|0;if(d[(c[Kb>>2]|0)+4>>0]|0){lI(g,Ia)|0;if((c[Ia>>2]|0)>>>0>(c[(c[qf>>2]|0)+92>>2]|0)>>>0){k=882;break c}}else{yH(g,Ja)|0;wf=Ja;f=c[wf+4>>2]|0;yf=c[(c[qf>>2]|0)+92>>2]|0;j=((yf|0)<0)<<31>>31;if((f|0)>(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0>yf>>>0:0)){k=882;break c}c[Ia>>2]=c[Ja>>2]}if(zx(c[gd>>2]|0,(c[Ia>>2]|0)>>>0>32?c[Ia>>2]|0:32)|0){k=883;break a}c[(c[gd>>2]|0)+12>>2]=c[Ia>>2];b[(c[gd>>2]|0)+8>>1]=e[(c[gd>>2]|0)+8>>1]&-49664|16;g=c[gc>>2]|0;f=c[Ia>>2]|0;j=c[(c[gd>>2]|0)+16>>2]|0;if(!(d[(c[Kb>>2]|0)+4>>0]|0))c[uf>>2]=zH(g,0,f,j)|0;else c[uf>>2]=Oh(g,0,f,j)|0;if(c[uf>>2]|0)break a;a[(c[gd>>2]|0)+10>>0]=1;break}case 103:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Lb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}g=c[Lb>>2]|0;do if(!(a[(c[Lb>>2]|0)+3>>0]|0)){f=c[Lb>>2]|0;if((d[g>>0]|0)==2){c[ud>>2]=c[c[f+16>>2]>>2];c[_c>>2]=c[c[ud>>2]>>2];c[uf>>2]=Yb[c[(c[_c>>2]|0)+48>>2]&255](c[(c[Lb>>2]|0)+16>>2]|0,te)|0;MI(c[pf>>2]|0,c[ud>>2]|0);if(c[uf>>2]|0)break a;else break}c[uf>>2]=NI(f)|0;if(c[uf>>2]|0)break a;if(a[(c[Lb>>2]|0)+2>>0]|0){b[(c[gd>>2]|0)+8>>1]=1;break d}else{c[uf>>2]=yH(c[(c[Lb>>2]|0)+16>>2]|0,te)|0;break}}else{j=g+40|0;wf=c[j+4>>2]|0;yf=te;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}while(0);j=te;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;break}case 104:{c[Mb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];a[(c[Mb>>2]|0)+2>>0]=1;c[(c[Mb>>2]|0)+56>>2]=0;if(!(d[c[Mb>>2]>>0]|0))vB(c[(c[Mb>>2]|0)+16>>2]|0);break}case 105:{c[Nb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[hc>>2]=c[(c[Nb>>2]|0)+16>>2];c[Yd>>2]=0;c[uf>>2]=HI(c[hc>>2]|0,Yd)|0;a[(c[Nb>>2]|0)+2>>0]=c[Yd>>2];a[(c[Nb>>2]|0)+3>>0]=0;c[(c[Nb>>2]|0)+56>>2]=0;c[(c[Nb>>2]|0)+28>>2]=c[(c[tf>>2]|0)+12>>2];if(c[uf>>2]|0)break a;if((c[Yd>>2]|0)!=0?(c[(c[tf>>2]|0)+8>>2]|0)>0:0)k=14;break}case 107:case 106:{k=(c[pf>>2]|0)+108+8|0;c[k>>2]=(c[k>>2]|0)+1;k=619;break}case 108:{k=619;break}case 3:{c[Qb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=0;c[uf>>2]=QI(c[qf>>2]|0,c[Qb>>2]|0,_d)|0;k=627;break}case 5:case 4:{if(c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2]|0)k=626;break}case 7:case 6:{k=626;break}case 110:case 109:{c[Sb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);if(d[(c[tf>>2]|0)+3>>0]&1){yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(e[(c[Nc>>2]|0)+8>>1]&16384)g=Xg(c[Nc>>2]|0)|0;else g=0;c[uf>>2]=g;if(c[uf>>2]|0)break a;if((d[c[tf>>2]>>0]|0)==109)c[uf>>2]=RI(c[Sb>>2]|0,c[Nc>>2]|0)|0;else{c[Za>>2]=c[(c[Nc>>2]|0)+12>>2];c[We>>2]=c[(c[Nc>>2]|0)+16>>2];g=c[Za>>2]|0;if(d[(c[tf>>2]|0)+3>>0]&16)f=c[(c[Sb>>2]|0)+28>>2]|0;else f=0;c[uf>>2]=II(c[(c[Sb>>2]|0)+16>>2]|0,c[We>>2]|0,g,((g|0)<0)<<31>>31,19010,0,0,c[(c[tf>>2]|0)+12>>2]|0,f)|0;c[(c[Sb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;break}case 111:{c[Vb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[jc>>2]=c[(c[Vb>>2]|0)+16>>2];c[Kd>>2]=c[(c[Vb>>2]|0)+24>>2];b[Kd+8>>1]=c[(c[tf>>2]|0)+12>>2];a[Kd+10>>0]=0;c[Kd+4>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);c[uf>>2]=lF(c[jc>>2]|0,Kd,0,0,0,$d)|0;if(c[uf>>2]|0)break a;if((c[$d>>2]|0)==0?(c[uf>>2]=JI(c[jc>>2]|0,4)|0,(c[uf>>2]|0)!=0):0)break a;c[(c[Vb>>2]|0)+56>>2]=0;break}case 113:case 112:{c[_b>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[uf>>2]=NI(c[_b>>2]|0)|0;if(c[uf>>2]|0)break a;if(a[(c[_b>>2]|0)+2>>0]|0){hh((c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0)|0);break d}yf=ce;c[yf>>2]=0;c[yf+4>>2]=0;c[uf>>2]=SI(c[qf>>2]|0,c[(c[_b>>2]|0)+16>>2]|0,ce)|0;if(c[uf>>2]|0)break a;if((d[c[tf>>2]>>0]|0)==112){c[od>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+12>>2]<<2)>>2];a[(c[od>>2]|0)+2>>0]=0;j=ce;wf=c[j+4>>2]|0;yf=(c[od>>2]|0)+40|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;a[(c[od>>2]|0)+3>>0]=1;c[(c[od>>2]|0)+52>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[od>>2]|0)+48>>2]=c[_b>>2];break d}else{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;j=ce;wf=c[j+4>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;b[(c[gd>>2]|0)+8>>1]=4;break d}}case 117:case 116:case 115:case 114:{c[$b>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Ld>>2]=c[(c[$b>>2]|0)+24>>2];b[Ld+8>>1]=c[(c[tf>>2]|0)+16>>2];g=Ld+10|0;if((d[c[tf>>2]>>0]|0)<116)a[g>>0]=-1;else a[g>>0]=0;c[Ld+4>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[be>>2]=0;c[uf>>2]=TI(c[qf>>2]|0,c[$b>>2]|0,Ld,be)|0;g=c[be>>2]|0;if(!(d[c[tf>>2]>>0]&1))c[be>>2]=0-g;else c[be>>2]=g+1;if(c[uf>>2]|0)break a;if((c[be>>2]|0)>0)k=14;break}case 118:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=1;if((c[(c[qf>>2]|0)+156>>2]|0)>((c[(c[qf>>2]|0)+168>>2]|0)+1|0)){k=662;break c}c[ia>>2]=c[(c[tf>>2]|0)+12>>2];c[qa>>2]=0;c[uf>>2]=UI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[ia>>2]<<4)+4>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,qa)|0;b[(c[gd>>2]|0)+8>>1]=4;wf=c[qa>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;if(c[uf>>2]|0)break a;if(c[qa>>2]|0){VI(c[qf>>2]|0,c[ia>>2]|0,c[qa>>2]|0,c[(c[tf>>2]|0)+4>>2]|0);a[ff>>0]=(c[ia>>2]|0)+1}break}case 119:{c[Ra>>2]=0;c[uf>>2]=WI(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,(c[(c[tf>>2]|0)+12>>2]|0)!=0?Ra:0)|0;if((c[(c[tf>>2]|0)+12>>2]|0)!=0?(yf=(c[pf>>2]|0)+92|0,c[yf>>2]=(c[yf>>2]|0)+(c[Ra>>2]|0),(c[(c[tf>>2]|0)+12>>2]|0)>0):0){wf=c[Ra>>2]|0;yf=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0)|0;j=yf;wf=pR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C}if(c[uf>>2]|0)break a;break}case 120:{c[ac>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if((d[c[ac>>2]>>0]|0)!=1){c[uf>>2]=YI(c[(c[ac>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0)break a;else break d}else{XI(c[qf>>2]|0,c[(c[ac>>2]|0)+16>>2]|0);break d}}case 122:case 121:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Gd>>2]=0;c[Ac>>2]=(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4);if((d[c[tf>>2]>>0]|0)==122)c[P>>2]=1;else c[P>>2]=2;c[uf>>2]=CI(c[(c[Ac>>2]|0)+4>>2]|0,Gd,c[P>>2]|0)|0;if(c[uf>>2]|0)break a;wf=c[Gd>>2]|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 123:{c[ja>>2]=c[(c[tf>>2]|0)+4>>2];c[Xe>>2]=(c[ja>>2]|0)==1?20513:20532;c[ya>>2]=c[qf>>2];c[ya+8>>2]=c[(c[tf>>2]|0)+4>>2];c[ya+4>>2]=(c[pf>>2]|0)+44;yf=c[qf>>2]|0;j=c[Xe>>2]|0;wf=c[(c[tf>>2]|0)+16>>2]|0;c[Be>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[ja>>2]<<4)>>2];c[Be+4>>2]=j;c[Be+8>>2]=wf;c[_e>>2]=Dh(yf,40735,Be)|0;if(!(c[_e>>2]|0))c[uf>>2]=7;else{a[(c[qf>>2]|0)+144+5>>0]=1;c[ya+12>>2]=0;c[uf>>2]=$e(c[qf>>2]|0,c[_e>>2]|0,140,ya,0)|0;if(!(c[uf>>2]|0))c[uf>>2]=c[ya+12>>2];Tf(c[qf>>2]|0,c[_e>>2]|0);a[(c[qf>>2]|0)+144+5>>0]=0}if(c[uf>>2]|0){k=684;break c}break}case 124:{c[uf>>2]=Dj(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 125:{ZI(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);break}case 126:{_I(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);break}case 127:{$I(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0);break}case 128:{c[cb>>2]=c[(c[tf>>2]|0)+8>>2];c[p>>2]=c[(c[tf>>2]|0)+16>>2];c[Hd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Me>>2]=aJ(c[(c[(c[qf>>2]|0)+16>>2]|0)+(d[(c[tf>>2]|0)+3>>0]<<4)+4>>2]|0,c[p>>2]|0,c[cb>>2]|0,c[c[Hd>>2]>>2]|0,Ua)|0;wf=c[Ua>>2]|0;yf=c[Hd>>2]|0;j=yf;wf=oR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;hh(c[Mc>>2]|0);if(c[Ua>>2]|0){if(!(c[Me>>2]|0)){k=883;break a}fh(c[Mc>>2]|0,c[Me>>2]|0,-1,1,148)|0}du(c[Mc>>2]|0,d[G>>0]|0)|0;break}case 129:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(bJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=883;break a}yf=c[Nc>>2]|0;cJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0);break}case 130:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);if((e[(c[Mc>>2]|0)+8>>1]&32|0)!=0?(dJ(c[c[Mc>>2]>>2]|0,ue)|0)!=0:0){k=ue;gh((c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=8;break d}hh(c[Mc>>2]|0);k=7;break}case 131:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[ua>>2]=c[(c[tf>>2]|0)+16>>2];if((e[(c[Mc>>2]|0)+8>>1]&32|0)==0?(bJ(c[Mc>>2]|0),(e[(c[Mc>>2]|0)+8>>1]&32|0)==0):0){k=883;break a}if((c[ua>>2]|0)!=0?(yf=c[Oc>>2]|0,c[I>>2]=eJ(c[c[Mc>>2]>>2]|0,c[ua>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)|0,(c[I>>2]|0)!=0):0){k=14;break d}if((c[ua>>2]|0)>=0){yf=c[Oc>>2]|0;cJ(c[c[Mc>>2]>>2]|0,c[yf>>2]|0,c[yf+4>>2]|0)}break}case 132:{c[id>>2]=c[(c[tf>>2]|0)+16>>2];c[md>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(a[(c[tf>>2]|0)+3>>0]|0){c[ke>>2]=c[(c[id>>2]|0)+20>>2];c[Gc>>2]=c[(c[pf>>2]|0)+176>>2];while(1){if(!(c[Gc>>2]|0))break;if((c[(c[Gc>>2]|0)+28>>2]|0)==(c[ke>>2]|0))break;c[Gc>>2]=c[(c[Gc>>2]|0)+4>>2]}if(c[Gc>>2]|0)break d}if((c[(c[pf>>2]|0)+184>>2]|0)>=(c[(c[qf>>2]|0)+92+40>>2]|0)){k=713;break c}i:do if(!(e[(c[md>>2]|0)+8>>1]&64)){c[$a>>2]=(c[(c[id>>2]|0)+8>>2]|0)+(c[(c[id>>2]|0)+12>>2]|0);if(!(c[(c[id>>2]|0)+12>>2]|0))c[$a>>2]=(c[$a>>2]|0)+1;c[Qa>>2]=80+((c[$a>>2]|0)*40|0)+(c[(c[id>>2]|0)+12>>2]<<2)+(c[(c[id>>2]|0)+16>>2]|0);yf=c[Qa>>2]|0;c[Gc>>2]=rh(c[qf>>2]|0,yf,((yf|0)<0)<<31>>31)|0;if(!(c[Gc>>2]|0)){k=883;break a}Wg(c[md>>2]|0);b[(c[md>>2]|0)+8>>1]=64;c[c[md>>2]>>2]=c[Gc>>2];c[c[Gc>>2]>>2]=c[pf>>2];c[(c[Gc>>2]|0)+64>>2]=c[$a>>2];c[(c[Gc>>2]|0)+68>>2]=c[(c[id>>2]|0)+12>>2];c[(c[Gc>>2]|0)+48>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[Gc>>2]|0)+16>>2]=c[(c[pf>>2]|0)+8>>2];c[(c[Gc>>2]|0)+56>>2]=c[(c[pf>>2]|0)+28>>2];c[(c[Gc>>2]|0)+24>>2]=c[(c[pf>>2]|0)+56>>2];c[(c[Gc>>2]|0)+44>>2]=c[(c[pf>>2]|0)+36>>2];c[(c[Gc>>2]|0)+8>>2]=c[(c[pf>>2]|0)+4>>2];c[(c[Gc>>2]|0)+52>>2]=c[(c[pf>>2]|0)+32>>2];c[(c[Gc>>2]|0)+28>>2]=c[(c[id>>2]|0)+20>>2];c[(c[Gc>>2]|0)+20>>2]=c[(c[pf>>2]|0)+200>>2];c[(c[Gc>>2]|0)+60>>2]=c[(c[pf>>2]|0)+196>>2];c[Dc>>2]=(c[Gc>>2]|0)+80+((c[(c[Gc>>2]|0)+64>>2]|0)*40|0);c[Wc>>2]=(c[Gc>>2]|0)+80;while(1){if((c[Wc>>2]|0)==(c[Dc>>2]|0))break i;b[(c[Wc>>2]|0)+8>>1]=128;c[(c[Wc>>2]|0)+32>>2]=c[qf>>2];c[Wc>>2]=(c[Wc>>2]|0)+40}}else c[Gc>>2]=c[c[md>>2]>>2];while(0);j=(c[pf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+1;c[(c[Gc>>2]|0)+4>>2]=c[(c[pf>>2]|0)+176>>2];j=rf;wf=c[j+4>>2]|0;yf=(c[Gc>>2]|0)+32|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;c[(c[Gc>>2]|0)+72>>2]=c[(c[pf>>2]|0)+92>>2];c[(c[Gc>>2]|0)+76>>2]=c[(c[c[pf>>2]>>2]|0)+84>>2];c[(c[Gc>>2]|0)+40>>2]=c[(c[pf>>2]|0)+204>>2];c[(c[pf>>2]|0)+204>>2]=0;c[(c[pf>>2]|0)+92>>2]=0;c[(c[pf>>2]|0)+176>>2]=c[Gc>>2];yf=(c[Gc>>2]|0)+80|0;c[l>>2]=yf;c[(c[pf>>2]|0)+8>>2]=yf;c[(c[pf>>2]|0)+28>>2]=c[(c[Gc>>2]|0)+64>>2];c[(c[pf>>2]|0)+36>>2]=c[(c[Gc>>2]|0)+68>>2]&65535;c[(c[pf>>2]|0)+56>>2]=(c[l>>2]|0)+((c[(c[pf>>2]|0)+28>>2]|0)*40|0);yf=c[c[id>>2]>>2]|0;c[df>>2]=yf;c[(c[pf>>2]|0)+4>>2]=yf;c[(c[pf>>2]|0)+32>>2]=c[(c[id>>2]|0)+4>>2];c[(c[pf>>2]|0)+200>>2]=(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[pf>>2]|0)+36>>2]<<2);c[(c[pf>>2]|0)+196>>2]=c[(c[id>>2]|0)+16>>2];c[tf>>2]=(c[df>>2]|0)+-20;tR(c[(c[pf>>2]|0)+200>>2]|0,0,c[(c[pf>>2]|0)+196>>2]|0)|0;break}case 134:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[Hc>>2]=c[(c[pf>>2]|0)+176>>2];c[Lc>>2]=(c[(c[Hc>>2]|0)+16>>2]|0)+(((c[(c[tf>>2]|0)+4>>2]|0)+(c[(c[(c[Hc>>2]|0)+8>>2]|0)+((c[(c[Hc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);IF(c[gd>>2]|0,c[Lc>>2]|0,4096);break}case 135:{g=c[tf>>2]|0;if(c[(c[qf>>2]|0)+24>>2]&16777216){wf=c[g+8>>2]|0;yf=(c[qf>>2]|0)+448|0;j=yf;wf=pR(c[j>>2]|0,c[j+4>>2]|0,wf|0,((wf|0)<0)<<31>>31|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}f=c[(c[tf>>2]|0)+8>>2]|0;j=((f|0)<0)<<31>>31;if(c[g+4>>2]|0){yf=(c[qf>>2]|0)+440|0;wf=yf;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}else{yf=(c[pf>>2]|0)+144|0;wf=yf;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,f|0,j|0)|0;c[yf>>2]=wf;c[yf+4>>2]=C;break d}}case 136:if(c[(c[tf>>2]|0)+4>>2]|0){yf=(c[qf>>2]|0)+440|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[qf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}else{yf=(c[pf>>2]|0)+144|0;if(!((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0))break d;yf=(c[qf>>2]|0)+448|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0){k=14;break d}else break d}case 137:{if(c[(c[pf>>2]|0)+176>>2]|0){c[Ic>>2]=c[(c[pf>>2]|0)+176>>2];while(1){if(!(c[(c[Ic>>2]|0)+4>>2]|0))break;c[Ic>>2]=c[(c[Ic>>2]|0)+4>>2]}c[Mc>>2]=(c[(c[Ic>>2]|0)+16>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0)}else c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);Cx(c[Mc>>2]|0)|0;c[Nc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0);Cx(c[Nc>>2]|0)|0;wf=c[Mc>>2]|0;f=c[wf+4>>2]|0;yf=c[Nc>>2]|0;j=c[yf+4>>2]|0;if((f|0)<(j|0)|((f|0)==(j|0)?(c[wf>>2]|0)>>>0<(c[yf>>2]|0)>>>0:0)){j=c[Nc>>2]|0;wf=c[j+4>>2]|0;yf=c[Mc>>2]|0;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf}break}case 138:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){yf=c[(c[tf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=oR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 139:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;yf=c[Mc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)<0|(wf|0)==0&(c[yf>>2]|0)>>>0<=0){g=-1;f=-1}else{g=c[Mc>>2]|0;yf=c[Oc>>2]|0;wf=c[yf+4>>2]|0;if((wf|0)>0|(wf|0)==0&(c[yf>>2]|0)>>>0>0){j=c[Oc>>2]|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}g=pR(c[g>>2]|0,c[g+4>>2]|0,f|0,j|0)|0;f=C}yf=c[gd>>2]|0;c[yf>>2]=g;c[yf+4>>2]=f;break}case 140:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;if((c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0){yf=c[(c[tf>>2]|0)+12>>2]|0;k=c[Mc>>2]|0;wf=k;yf=oR(c[wf>>2]|0,c[wf+4>>2]|0,yf|0,((yf|0)<0)<<31>>31|0)|0;c[k>>2]=yf;c[k+4>>2]=C;k=14}break}case 141:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);yf=c[Mc>>2]|0;wf=yf;wf=pR(c[wf>>2]|0,c[wf+4>>2]|0,-1,-1)|0;c[yf>>2]=wf;c[yf+4>>2]=C;yf=c[Mc>>2]|0;if((c[yf>>2]|0)==0&(c[yf+4>>2]|0)==0)k=14;break}case 142:{c[Mc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);j=c[Mc>>2]|0;yf=j;wf=c[yf>>2]|0;yf=c[yf+4>>2]|0;f=pR(wf|0,yf|0,1,0)|0;c[j>>2]=f;c[j+4>>2]=C;if((wf|0)==0&(yf|0)==0)k=14;break}case 143:{c[La>>2]=d[(c[tf>>2]|0)+3>>0];c[mc>>2]=Lw(c[qf>>2]|0,32+((c[La>>2]|0)-1<<2)|0,0)|0;if(!(c[mc>>2]|0)){k=883;break a}c[(c[mc>>2]|0)+8>>2]=0;c[(c[mc>>2]|0)+4>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[mc>>2]|0)+16>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[mc>>2]|0)+12>>2]=c[pf>>2];a[(c[mc>>2]|0)+26>>0]=c[La>>2];a[(c[tf>>2]|0)+1>>0]=-20;c[(c[tf>>2]|0)+16>>2]=c[mc>>2];a[c[tf>>2]>>0]=-112;k=755;break}case 144:{k=755;break}case 145:{c[Yc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=LF(c[Yc>>2]|0,c[(c[tf>>2]|0)+16>>2]|0)|0;if(c[uf>>2]|0){k=767;break c}du(c[Yc>>2]|0,d[G>>0]|0)|0;if($H(c[Yc>>2]|0)|0){k=882;break c}break}case 8:{c[o>>2]=0;c[o+8>>2]=-1;c[o+4>>2]=-1;c[uf>>2]=mi(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,o+4|0,o+8|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=5)break a;c[uf>>2]=0;c[o>>2]=1}c[_>>2]=0;c[Zc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[_>>2]|0)>=3)break d;yf=c[o+(c[_>>2]<<2)>>2]|0;gh(c[Zc>>2]|0,yf,((yf|0)<0)<<31>>31);c[_>>2]=(c[_>>2]|0)+1;c[Zc>>2]=(c[Zc>>2]|0)+40}}case 9:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[E>>2]=c[(c[tf>>2]|0)+12>>2];c[yb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];c[hd>>2]=Pf(c[yb>>2]|0)|0;c[F>>2]=sg(c[hd>>2]|0)|0;if((c[E>>2]|0)==-1)c[E>>2]=c[F>>2];if(!(fJ(c[hd>>2]|0)|0))c[E>>2]=c[F>>2];c[Ue>>2]=Ii(c[hd>>2]|0,1)|0;do if((c[E>>2]|0)==5){if((Jf(c[Ue>>2]|0)|0)!=0?(gJ(c[hd>>2]|0)|0)!=0:0)break;c[E>>2]=c[F>>2]}while(0);if((c[E>>2]|0)!=(c[F>>2]|0)?(c[F>>2]|0)==5|(c[E>>2]|0)==5:0){if(!(a[(c[qf>>2]|0)+67>>0]|0)){k=787;break c}if((c[(c[qf>>2]|0)+156>>2]|0)>1){k=787;break c}if((c[F>>2]|0)==5){c[uf>>2]=hJ(c[hd>>2]|0)|0;if(!(c[uf>>2]|0))iJ(c[hd>>2]|0,c[E>>2]|0)|0}else if((c[F>>2]|0)==4)iJ(c[hd>>2]|0,2)|0;if(!(c[uf>>2]|0))c[uf>>2]=Cg(c[yb>>2]|0,(c[E>>2]|0)==5?2:1)|0}if(c[uf>>2]|0)c[E>>2]=c[F>>2];c[E>>2]=iJ(c[hd>>2]|0,c[E>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;yf=XB(c[E>>2]|0)|0;c[(c[gd>>2]|0)+16>>2]=yf;yf=Jf(c[(c[gd>>2]|0)+16>>2]|0)|0;c[(c[gd>>2]|0)+12>>2]=yf;a[(c[gd>>2]|0)+10>>0]=1;du(c[gd>>2]|0,d[G>>0]|0)|0;if(c[uf>>2]|0)break a;break}case 10:{c[uf>>2]=jJ((c[pf>>2]|0)+44|0,c[qf>>2]|0)|0;if(c[uf>>2]|0)break a;break}case 146:{c[zb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];c[uf>>2]=kJ(c[zb>>2]|0)|0;if(c[uf>>2]|0){if((c[uf>>2]|0)!=101)break a;c[uf>>2]=0;k=14}break}case 147:if(c[(c[tf>>2]|0)+4>>2]|0){yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2|1;break d}else{Qh(c[qf>>2]|0);break d}case 148:{a[Ba>>0]=c[(c[tf>>2]|0)+12>>2];if((d[Ba>>0]|0)==0?0!=(c[(c[qf>>2]|0)+24>>2]&16384|0):0)break d;c[qb>>2]=c[(c[tf>>2]|0)+4>>2];c[uf>>2]=lJ(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[qb>>2]<<4)+4>>2]|0,c[(c[tf>>2]|0)+8>>2]|0,a[Ba>>0]|0)|0;if(c[uf>>2]|0){k=808;break c}break}case 149:{c[sd>>2]=c[(c[tf>>2]|0)+16>>2];c[uf>>2]=mJ(c[qf>>2]|0,c[sd>>2]|0)|0;if(c[sd>>2]|0)MI(c[pf>>2]|0,c[(c[sd>>2]|0)+8>>2]|0);if(c[uf>>2]|0)break a;break}case 150:{g=ge;f=g+40|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[ge+32>>2]=c[qf>>2];c[uf>>2]=ih(ge,(c[l>>2]|0)+((c[(c[tf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[af>>2]=ae(ge)|0;if(c[af>>2]|0)c[uf>>2]=nJ(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[af>>2]|0,(c[pf>>2]|0)+44|0)|0;Wg(ge);if(c[uf>>2]|0)break a;break}case 151:{yf=(c[qf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+1;c[uf>>2]=oJ(c[qf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[(c[tf>>2]|0)+16>>2]|0)|0;yf=(c[qf>>2]|0)+168|0;c[yf>>2]=(c[yf>>2]|0)+-1;if(c[uf>>2]|0)break a;break}case 152:{c[pc>>2]=0;c[qd>>2]=0;c[vd>>2]=c[(c[(c[tf>>2]|0)+16>>2]|0)+8>>2];if(!(c[vd>>2]|0)){k=819;break c}if(!(c[c[vd>>2]>>2]|0)){k=819;break c}c[$c>>2]=c[c[vd>>2]>>2];c[uf>>2]=Yb[c[(c[$c>>2]|0)+24>>2]&255](c[vd>>2]|0,qd)|0;MI(c[pf>>2]|0,c[vd>>2]|0);if(c[uf>>2]|0)break a;c[c[qd>>2]>>2]=c[vd>>2];c[pc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[pc>>2]|0)){k=823;break c}c[(c[pc>>2]|0)+16>>2]=c[qd>>2];yf=(c[vd>>2]|0)+4|0;c[yf>>2]=(c[yf>>2]|0)+1;break}case 11:{c[jd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[vb>>2]=(c[jd>>2]|0)+40;c[qc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[rd>>2]=c[(c[qc>>2]|0)+16>>2];c[wd>>2]=c[c[rd>>2]>>2];c[ad>>2]=c[c[wd>>2]>>2];c[Ma>>2]=c[c[vb>>2]>>2];c[ra>>2]=c[c[jd>>2]>>2];c[Pd>>2]=0;c[t>>2]=c[(c[pf>>2]|0)+12>>2];c[S>>2]=0;while(1){if((c[S>>2]|0)>=(c[Ma>>2]|0))break;c[(c[t>>2]|0)+(c[S>>2]<<2)>>2]=(c[vb>>2]|0)+(((c[S>>2]|0)+1|0)*40|0);c[S>>2]=(c[S>>2]|0)+1}c[uf>>2]=Zb[c[(c[ad>>2]|0)+32>>2]&255](c[rd>>2]|0,c[ra>>2]|0,c[(c[tf>>2]|0)+16>>2]|0,c[Ma>>2]|0,c[t>>2]|0)|0;MI(c[pf>>2]|0,c[wd>>2]|0);if(c[uf>>2]|0)break a;c[Pd>>2]=Tb[c[(c[ad>>2]|0)+40>>2]&255](c[rd>>2]|0)|0;a[(c[qc>>2]|0)+2>>0]=0;if(c[Pd>>2]|0)k=14;break}case 153:{c[rc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Cc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);if(a[(c[rc>>2]|0)+2>>0]|0){hh(c[Cc>>2]|0);break d}c[xd>>2]=c[c[(c[rc>>2]|0)+16>>2]>>2];c[bd>>2]=c[c[xd>>2]>>2];c[ee>>2]=0;c[ee+4>>2]=0;c[ee+8>>2]=0;c[ee+12>>2]=0;c[ee+16>>2]=0;c[ee+20>>2]=0;c[ee+24>>2]=0;c[ee+28>>2]=0;c[ee>>2]=c[Cc>>2];b[(c[Cc>>2]|0)+8>>1]=e[(c[Cc>>2]|0)+8>>1]&-49664|1;c[uf>>2]=Ob[c[(c[bd>>2]|0)+44>>2]&255](c[(c[rc>>2]|0)+16>>2]|0,ee,c[(c[tf>>2]|0)+8>>2]|0)|0;MI(c[pf>>2]|0,c[xd>>2]|0);if(c[ee+20>>2]|0)c[uf>>2]=c[ee+20>>2];du(c[Cc>>2]|0,d[G>>0]|0)|0;if($H(c[Cc>>2]|0)|0){k=882;break c}if(c[uf>>2]|0)break a;break}case 154:{c[Qd>>2]=0;c[sc>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[sc>>2]|0)+2>>0]|0)){c[yd>>2]=c[c[(c[sc>>2]|0)+16>>2]>>2];c[cd>>2]=c[c[yd>>2]>>2];c[uf>>2]=Tb[c[(c[cd>>2]|0)+36>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;MI(c[pf>>2]|0,c[yd>>2]|0);if(c[uf>>2]|0)break a;c[Qd>>2]=Tb[c[(c[cd>>2]|0)+40>>2]&255](c[(c[sc>>2]|0)+16>>2]|0)|0;if(c[Qd>>2]|0)k=8;else k=7}break}case 155:{c[zd>>2]=c[(c[(c[tf>>2]|0)+16>>2]|0)+8>>2];c[ed>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0);c[uf>>2]=du(c[ed>>2]|0,1)|0;if(c[uf>>2]|0)break a;c[uf>>2]=Yb[c[(c[c[zd>>2]>>2]|0)+76>>2]&255](c[zd>>2]|0,c[(c[ed>>2]|0)+16>>2]|0)|0;MI(c[pf>>2]|0,c[zd>>2]|0);yf=(c[pf>>2]|0)+87|0;a[yf>>0]=a[yf>>0]&-2;if(c[uf>>2]|0)break a;break}case 12:{c[Ad>>2]=c[(c[(c[tf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Ad>>2]|0)){k=842;break c}if(!(c[c[Ad>>2]>>2]|0)){k=842;break c}c[dd>>2]=c[c[Ad>>2]>>2];c[Na>>2]=c[(c[tf>>2]|0)+8>>2];if(c[(c[dd>>2]|0)+52>>2]|0){a[Ke>>0]=a[(c[qf>>2]|0)+74>>0]|0;c[u>>2]=c[(c[pf>>2]|0)+12>>2];c[Cd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);c[U>>2]=0;while(1){if((c[U>>2]|0)>=(c[Na>>2]|0))break;c[(c[u>>2]|0)+(c[U>>2]<<2)>>2]=c[Cd>>2];c[Cd>>2]=(c[Cd>>2]|0)+40;c[U>>2]=(c[U>>2]|0)+1}a[(c[qf>>2]|0)+74>>0]=a[(c[tf>>2]|0)+3>>0]|0;c[uf>>2]=Wb[c[(c[dd>>2]|0)+52>>2]&255](c[Ad>>2]|0,c[Na>>2]|0,c[u>>2]|0,de)|0;a[(c[qf>>2]|0)+74>>0]=a[Ke>>0]|0;MI(c[pf>>2]|0,c[Ad>>2]|0);if((c[uf>>2]|0)==0?(c[(c[tf>>2]|0)+4>>2]|0)!=0:0){wf=de;j=c[wf>>2]|0;wf=c[wf+4>>2]|0;yf=rf;c[yf>>2]=j;c[yf+4>>2]=wf;yf=(c[qf>>2]|0)+32|0;c[yf>>2]=j;c[yf+4>>2]=wf}do if((c[uf>>2]&255|0)==19?(d[(c[(c[tf>>2]|0)+16>>2]|0)+16>>0]|0)!=0:0){if((d[(c[tf>>2]|0)+3>>0]|0)==4){c[uf>>2]=0;break}if((d[(c[tf>>2]|0)+3>>0]|0)==5)g=2;else g=d[(c[tf>>2]|0)+3>>0]|0;a[(c[pf>>2]|0)+86>>0]=g}else k=857;while(0);if((k|0)==857){k=0;yf=(c[pf>>2]|0)+92|0;c[yf>>2]=(c[yf>>2]|0)+1}if(c[uf>>2]|0)break a}break}case 156:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;wf=tg(c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=0;break}case 157:{c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;c[xb>>2]=c[(c[(c[qf>>2]|0)+16>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<4)+4>>2];c[gb>>2]=0;if((c[(c[tf>>2]|0)+12>>2]|0)!=0?(c[gb>>2]=tg(c[xb>>2]|0)|0,(c[gb>>2]|0)>>>0<(c[(c[tf>>2]|0)+12>>2]|0)>>>0):0)c[gb>>2]=c[(c[tf>>2]|0)+12>>2];wf=pJ(c[xb>>2]|0,c[gb>>2]|0)|0;yf=c[gd>>2]|0;c[yf>>2]=wf;c[yf+4>>2]=((wf|0)<0)<<31>>31;break}case 158:{if((c[(c[qf>>2]|0)+180>>2]|0)!=0?((d[(c[pf>>2]|0)+87>>0]|0)>>>1&1|0)==0:0){if(c[(c[tf>>2]|0)+16>>2]|0)g=c[(c[tf>>2]|0)+16>>2]|0;else g=c[(c[pf>>2]|0)+168>>2]|0;c[cf>>2]=g;if(g){c[Oe>>2]=qJ(c[pf>>2]|0,c[cf>>2]|0)|0;Rb[c[(c[qf>>2]|0)+180>>2]&255](c[(c[qf>>2]|0)+184>>2]|0,c[Oe>>2]|0);Tf(c[qf>>2]|0,c[Oe>>2]|0)}}if(c[(c[tf>>2]|0)+8>>2]|0)k=14;break}default:{}}while(0);if((k|0)==20){k=0;c[ef>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;if(c[(c[tf>>2]|0)+4>>2]|0){k=25;break}if(!(c[(c[pf>>2]|0)+176>>2]|0)){k=25;break}c[Ec>>2]=c[(c[pf>>2]|0)+176>>2];c[(c[pf>>2]|0)+176>>2]=c[(c[Ec>>2]|0)+4>>2];j=(c[pf>>2]|0)+184|0;c[j>>2]=(c[j>>2]|0)+-1;WH(c[qf>>2]|0,c[(c[pf>>2]|0)+92>>2]|0);c[ef>>2]=XH(c[Ec>>2]|0)|0;j=(c[qf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=rf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if((c[(c[tf>>2]|0)+8>>2]|0)==4)c[ef>>2]=(c[(c[(c[pf>>2]|0)+4>>2]|0)+((c[ef>>2]|0)*20|0)+8>>2]|0)-1;c[df>>2]=c[(c[pf>>2]|0)+4>>2];c[l>>2]=c[(c[pf>>2]|0)+8>>2];c[tf>>2]=(c[df>>2]|0)+((c[ef>>2]|0)*20|0)}else if((k|0)==49){k=0;c[gd>>2]=_H(c[pf>>2]|0,c[tf>>2]|0)|0;b[(c[gd>>2]|0)+8>>1]=2562;c[(c[gd>>2]|0)+16>>2]=c[(c[tf>>2]|0)+16>>2];c[(c[gd>>2]|0)+12>>2]=c[(c[tf>>2]|0)+4>>2];a[(c[gd>>2]|0)+10>>0]=a[G>>0]|0;if((a[(c[tf>>2]|0)+3>>0]|0)!=0?(c[Oc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0),yf=c[Oc>>2]|0,(c[yf>>2]|0)!=0|(c[yf+4>>2]|0)!=0):0)b[(c[gd>>2]|0)+8>>1]=2576}else if((k|0)==130){k=0;c[lc>>2]=c[(c[tf>>2]|0)+16>>2];c[gd>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[lc>>2]>>2]|0)!=(c[gd>>2]|0)){c[c[lc>>2]>>2]=c[gd>>2];c[W>>2]=(d[(c[lc>>2]|0)+26>>0]|0)-1;while(1){if((c[W>>2]|0)<0)break j;c[(c[lc>>2]|0)+28+(c[W>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)+(c[W>>2]|0)|0)*40|0);c[W>>2]=(c[W>>2]|0)+-1}}while(0);b[(c[c[lc>>2]>>2]|0)+8>>1]=e[(c[c[lc>>2]>>2]|0)+8>>1]&-49664|1;a[(c[lc>>2]|0)+25>>0]=0;yf=rf;wf=c[yf+4>>2]|0;j=(c[qf>>2]|0)+32|0;c[j>>2]=c[yf>>2];c[j+4>>2]=wf;Ub[c[(c[(c[lc>>2]|0)+4>>2]|0)+12>>2]&255](c[lc>>2]|0,d[(c[lc>>2]|0)+26>>0]|0,(c[lc>>2]|0)+28|0);j=(c[qf>>2]|0)+32|0;wf=c[j+4>>2]|0;yf=rf;c[yf>>2]=c[j>>2];c[yf+4>>2]=wf;if(a[(c[lc>>2]|0)+25>>0]|0){if(c[(c[lc>>2]|0)+20>>2]|0){yf=c[pf>>2]|0;c[we>>2]=ae(c[c[lc>>2]>>2]|0)|0;YH(yf,18999,we);c[uf>>2]=c[(c[lc>>2]|0)+20>>2]}hI(c[qf>>2]|0,(c[pf>>2]|0)+204|0,c[(c[lc>>2]|0)+16>>2]|0,c[(c[tf>>2]|0)+4>>2]|0);if(c[uf>>2]|0)break a}if((e[(c[gd>>2]|0)+8>>1]&18|0)!=0?(du(c[c[lc>>2]>>2]|0,d[G>>0]|0)|0,($H(c[c[lc>>2]>>2]|0)|0)!=0):0){k=882;break}}else if((k|0)==442){if(a[(c[pf>>2]|0)+87>>0]&1){k=443;break}c[Wa>>2]=0;c[Rc>>2]=0;c[ub>>2]=c[(c[tf>>2]|0)+8>>2];c[ha>>2]=c[(c[tf>>2]|0)+12>>2];c[zc>>2]=(c[(c[qf>>2]|0)+16>>2]|0)+(c[ha>>2]<<4);c[Bd>>2]=c[(c[zc>>2]|0)+4>>2];if((d[c[tf>>2]>>0]|0)==55){c[Le>>2]=4|d[(c[tf>>2]|0)+3>>0]&8;if((d[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[pf>>2]|0)+88>>0]|0))a[(c[pf>>2]|0)+88>>0]=a[(c[(c[zc>>2]|0)+12>>2]|0)+76>>0]|0}else c[Le>>2]=0;if(d[(c[tf>>2]|0)+3>>0]&16){c[Nc>>2]=(c[l>>2]|0)+((c[ub>>2]|0)*40|0);Cx(c[Nc>>2]|0)|0;c[ub>>2]=c[c[Nc>>2]>>2]}g=c[tf>>2]|0;if((a[(c[tf>>2]|0)+1>>0]|0)!=-6){if((a[g+1>>0]|0)==-14)c[Wa>>2]=c[(c[tf>>2]|0)+16>>2]}else{c[Rc>>2]=c[g+16>>2];c[Wa>>2]=(e[(c[Rc>>2]|0)+6>>1]|0)+(e[(c[Rc>>2]|0)+8>>1]|0)}c[oc>>2]=zI(c[pf>>2]|0,c[(c[tf>>2]|0)+4>>2]|0,c[Wa>>2]|0,c[ha>>2]|0,0)|0;if(!(c[oc>>2]|0)){k=883;break a}a[(c[oc>>2]|0)+2>>0]=1;k=(c[oc>>2]|0)+5|0;a[k>>0]=a[k>>0]&-5|4;c[(c[oc>>2]|0)+8>>2]=c[ub>>2];c[uf>>2]=AI(c[Bd>>2]|0,c[ub>>2]|0,c[Le>>2]|0,c[Rc>>2]|0,c[(c[oc>>2]|0)+16>>2]|0)|0;c[(c[oc>>2]|0)+24>>2]=c[Rc>>2];a[(c[oc>>2]|0)+4>>0]=(a[(c[tf>>2]|0)+1>>0]|0)!=-6;k=456}else if((k|0)==619){k=0;c[Pb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[Zd>>2]=1;g=c[Pb>>2]|0;if((d[c[Pb>>2]>>0]|0)==1)c[uf>>2]=OI(g,Zd)|0;else{c[ic>>2]=c[g+16>>2];c[uf>>2]=PI(c[ic>>2]|0,Zd)|0;a[(c[Pb>>2]|0)+3>>0]=0;c[(c[Pb>>2]|0)+56>>2]=0}if(c[uf>>2]|0)break a;a[(c[Pb>>2]|0)+2>>0]=c[Zd>>2];if(c[Zd>>2]|0)k=14}else if((k|0)==626){c[Qb>>2]=c[(c[(c[pf>>2]|0)+56>>2]|0)+(c[(c[tf>>2]|0)+4>>2]<<2)>>2];c[_d>>2]=c[(c[tf>>2]|0)+12>>2];c[uf>>2]=Yb[c[(c[tf>>2]|0)+16>>2]&255](c[(c[Qb>>2]|0)+16>>2]|0,_d)|0;k=627}else if((k|0)==755){k=0;c[nc>>2]=c[(c[tf>>2]|0)+16>>2];c[Xc>>2]=(c[l>>2]|0)+((c[(c[tf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[nc>>2]|0)+8>>2]|0)!=(c[Xc>>2]|0)){c[(c[nc>>2]|0)+8>>2]=c[Xc>>2];c[Y>>2]=(d[(c[nc>>2]|0)+26>>0]|0)-1;while(1){if((c[Y>>2]|0)<0)break k;c[(c[nc>>2]|0)+28+(c[Y>>2]<<2)>>2]=(c[l>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)+(c[Y>>2]|0)|0)*40|0);c[Y>>2]=(c[Y>>2]|0)+-1}}while(0);yf=(c[Xc>>2]|0)+12|0;c[yf>>2]=(c[yf>>2]|0)+1;HF(le,c[qf>>2]|0,1);c[c[nc>>2]>>2]=le;a[(c[nc>>2]|0)+25>>0]=0;a[(c[nc>>2]|0)+24>>0]=0;Ub[c[(c[(c[nc>>2]|0)+4>>2]|0)+12>>2]&255](c[nc>>2]|0,d[(c[nc>>2]|0)+26>>0]|0,(c[nc>>2]|0)+28|0);if(a[(c[nc>>2]|0)+25>>0]|0){if(c[(c[nc>>2]|0)+20>>2]|0){yf=c[pf>>2]|0;c[De>>2]=ae(le)|0;YH(yf,18999,De);c[uf>>2]=c[(c[nc>>2]|0)+20>>2]}Wg(le);if(c[uf>>2]|0)break a}if((a[(c[nc>>2]|0)+24>>0]|0)!=0?(c[Y>>2]=c[(c[tf>>2]|0)+-20+4>>2],(c[Y>>2]|0)!=0):0)gh((c[l>>2]|0)+((c[Y>>2]|0)*40|0)|0,1,0)}do if((k|0)==14){k=0;c[tf>>2]=(c[df>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((k|0)==456){k=0;BI(c[(c[oc>>2]|0)+16>>2]|0,d[(c[tf>>2]|0)+3>>0]&3);if(c[uf>>2]|0)break a}else if((k|0)==627){k=0;c[(c[Qb>>2]|0)+56>>2]=0;if(c[uf>>2]|0)break a;g=(c[Qb>>2]|0)+2|0;if(!(c[_d>>2]|0)){a[g>>0]=0;k=(c[pf>>2]|0)+108+(d[(c[tf>>2]|0)+3>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;k=7;break}else{a[g>>0]=1;k=8;break}}while(0);if((k|0)==7){c[tf>>2]=(c[df>>2]|0)+(((c[(c[tf>>2]|0)+8>>2]|0)-1|0)*20|0);k=8}if((k|0)==8){k=0;if(c[(c[qf>>2]|0)+248>>2]|0)break b;if(((c[(c[qf>>2]|0)+304>>2]|0)!=0?(c[sf>>2]|0)>>>0>=(c[bb>>2]|0)>>>0:0)?(c[bb>>2]=(c[sf>>2]|0)+(c[(c[qf>>2]|0)+312>>2]|0)-(((c[sf>>2]|0)>>>0)%((c[(c[qf>>2]|0)+312>>2]|0)>>>0)|0),(Tb[c[(c[qf>>2]|0)+304>>2]&255](c[(c[qf>>2]|0)+308>>2]|0)|0)!=0):0){k=12;break}}c[tf>>2]=(c[tf>>2]|0)+20}switch(k|0){case 12:{c[uf>>2]=9;break a}case 25:{c[(c[pf>>2]|0)+80>>2]=c[(c[tf>>2]|0)+4>>2];a[(c[pf>>2]|0)+86>>0]=c[(c[tf>>2]|0)+8>>2];c[(c[pf>>2]|0)+76>>2]=c[ef>>2];if(c[(c[pf>>2]|0)+80>>2]|0){if(a[(c[tf>>2]|0)+3>>0]|0)c[of>>2]=c[6404+((d[(c[tf>>2]|0)+3>>0]|0)-1<<2)>>2];else c[of>>2]=0;c[nf>>2]=40297;if((c[of>>2]|0)!=0?(c[(c[tf>>2]|0)+16>>2]|0)!=0:0){yf=c[pf>>2]|0;wf=c[(c[tf>>2]|0)+16>>2]|0;c[ve>>2]=c[of>>2];c[ve+4>>2]=wf;YH(yf,40321,ve)}else k=32;do if((k|0)==32){g=c[pf>>2]|0;if(c[(c[tf>>2]|0)+16>>2]|0){c[gf>>2]=c[(c[tf>>2]|0)+16>>2];YH(g,18999,gf);break}else{c[hf>>2]=c[of>>2];YH(g,40346,hf);break}}while(0);wf=c[(c[tf>>2]|0)+4>>2]|0;yf=c[nf>>2]|0;of=c[(c[pf>>2]|0)+168>>2]|0;tf=c[(c[pf>>2]|0)+44>>2]|0;c[jf>>2]=c[ef>>2];c[jf+4>>2]=of;c[jf+8>>2]=tf;Rd(wf,yf,jf)}c[uf>>2]=ZH(c[pf>>2]|0)|0;if((c[uf>>2]|0)==5){c[uf>>2]=5;c[(c[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=(c[(c[pf>>2]|0)+80>>2]|0)!=0?1:101;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 70:{if(((c[(c[qf>>2]|0)+304>>2]|0)!=0?(c[sf>>2]|0)>>>0>=(c[bb>>2]|0)>>>0:0)?(Tb[c[(c[qf>>2]|0)+304>>2]&255](c[(c[qf>>2]|0)+308>>2]|0)|0)!=0:0){c[uf>>2]=9;break a}yf=aI(c[pf>>2]|0,0)|0;c[uf>>2]=yf;if(yf)break a;c[uf>>2]=bI(c[pf>>2]|0,1)|0;c[(c[pf>>2]|0)+72>>2]=(c[(c[pf>>2]|0)+72>>2]|0)+2|1;yf=(c[l>>2]|0)+((c[(c[tf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[pf>>2]|0)+20>>2]=yf;c[Uc>>2]=yf;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[(c[tf>>2]|0)+8>>2]|0))break;if((e[(c[Uc>>2]|0)+((c[R>>2]|0)*40|0)+8>>1]&4096|0)!=0?(ah((c[Uc>>2]|0)+((c[R>>2]|0)*40|0)|0)|0)!=0:0){k=883;break a}cI((c[Uc>>2]|0)+((c[R>>2]|0)*40|0)|0)|0;c[R>>2]=(c[R>>2]|0)+1}if(a[(c[qf>>2]|0)+69>>0]|0){k=883;break a}c[(c[pf>>2]|0)+76>>2]=(((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0)+1;c[uf>>2]=100;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 163:{c[uf>>2]=20;break a}case 268:{c[uf>>2]=Oj(76949)|0;break a}case 285:{if(!(c[(c[Ab>>2]|0)+72>>2]|0))Wg(fe);c[uf>>2]=Oj(77010)|0;break a}case 368:{c[(c[pf>>2]|0)+76>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;a[(c[qf>>2]|0)+67>>0]=0;c[uf>>2]=5;c[(c[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 391:{c[D>>2]=c[(c[tf>>2]|0)+4>>2];c[sa>>2]=c[(c[tf>>2]|0)+8>>2];if((c[D>>2]|0)==(d[(c[qf>>2]|0)+67>>0]|0)){if(c[D>>2]|0)g=(c[sa>>2]|0)!=0?40575:40618;else g=40659;YH(c[pf>>2]|0,g,kf);c[uf>>2]=1;break a}do if(!(c[sa>>2]|0)){if((c[D>>2]|0)!=0?(c[(c[qf>>2]|0)+160>>2]|0)>0:0){YH(c[pf>>2]|0,40520,Ae);c[uf>>2]=5;break a}yf=aI(c[pf>>2]|0,1)|0;c[uf>>2]=yf;if(yf){yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{a[(c[qf>>2]|0)+67>>0]=c[D>>2];break}}else{wI(c[qf>>2]|0,516);a[(c[qf>>2]|0)+67>>0]=1}while(0);if((ZH(c[pf>>2]|0)|0)==5){c[(c[pf>>2]|0)+76>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;a[(c[qf>>2]|0)+67>>0]=1-(c[D>>2]|0);c[uf>>2]=5;c[(c[pf>>2]|0)+80>>2]=5;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}xI(c[qf>>2]|0);if(!(c[(c[pf>>2]|0)+80>>2]|0)){c[uf>>2]=101;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}else{c[uf>>2]=1;yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}}case 409:{c[uf>>2]=8;break a}case 412:{c[(c[pf>>2]|0)+76>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[(c[pf>>2]|0)+80>>2]=c[uf>>2];yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 443:{c[uf>>2]=516;break a}case 547:{c[uf>>2]=13;break a}case 557:{c[uf>>2]=13;break a}case 662:{c[uf>>2]=6;a[(c[pf>>2]|0)+86>>0]=2;break a}case 684:{Bg(c[qf>>2]|0);if((c[uf>>2]|0)==7){k=883;break a}else break a}case 713:{c[uf>>2]=1;YH(c[pf>>2]|0,40799,Ce);break a}case 767:{yf=c[pf>>2]|0;c[Ee>>2]=ae(c[Yc>>2]|0)|0;YH(yf,18999,Ee);break a}case 787:{c[uf>>2]=1;yf=c[pf>>2]|0;c[Fe>>2]=(c[E>>2]|0)==5?40836:40841;YH(yf,40848,Fe);break a}case 808:{if((c[uf>>2]&255|0)!=6)break a;c[Ne>>2]=c[(c[tf>>2]|0)+16>>2];yf=c[pf>>2]|0;c[Ge>>2]=c[Ne>>2];YH(yf,40900,Ge);break a}case 819:{c[uf>>2]=6;break a}case 823:{Tb[c[(c[$c>>2]|0)+28>>2]&255](c[qd>>2]|0)|0;k=883;break a}case 842:{c[uf>>2]=6;break a}case 881:{yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}case 882:{YH(c[pf>>2]|0,18778,He);c[uf>>2]=18;break a}}}while(0);c[uf>>2]=(d[(c[qf>>2]|0)+69>>0]|0)!=0?7:9;c[(c[pf>>2]|0)+80>>2]=c[uf>>2];yf=c[pf>>2]|0;c[Je>>2]=kh(c[uf>>2]|0)|0;YH(yf,18999,Je)}while(0);if((k|0)==883){lh(c[qf>>2]|0);YH(c[pf>>2]|0,25624,Ie);c[uf>>2]=7}if(a[(c[qf>>2]|0)+69>>0]|0)c[uf>>2]=7;if((c[uf>>2]|0)!=3082?(c[(c[pf>>2]|0)+44>>2]|0)==0:0){yf=c[pf>>2]|0;c[lf>>2]=kh(c[uf>>2]|0)|0;YH(yf,18999,lf)}c[(c[pf>>2]|0)+80>>2]=c[uf>>2];rJ(c[qf>>2]|0,c[uf>>2]|0);yf=c[uf>>2]|0;of=c[(c[pf>>2]|0)+168>>2]|0;wf=c[(c[pf>>2]|0)+44>>2]|0;c[mf>>2]=((c[tf>>2]|0)-(c[df>>2]|0)|0)/20|0;c[mf+4>>2]=of;c[mf+8>>2]=wf;Rd(yf,40929,mf);ZH(c[pf>>2]|0)|0;if((c[uf>>2]|0)==3082)lh(c[qf>>2]|0);c[uf>>2]=1;if((d[ff>>0]|0)<=0){yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}uj(c[qf>>2]|0,(d[ff>>0]|0)-1|0);yf=rf;rf=yf;rf=c[rf>>2]|0;yf=yf+4|0;yf=c[yf>>2]|0;wf=c[qf>>2]|0;wf=wf+32|0;tf=wf;c[tf>>2]=rf;wf=wf+4|0;c[wf>>2]=yf;wf=c[sf>>2]|0;yf=c[pf>>2]|0;yf=yf+108|0;yf=yf+16|0;tf=c[yf>>2]|0;wf=tf+wf|0;c[yf>>2]=wf;yf=c[uf>>2]|0;i=vf;return yf|0}function RH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;g=h+12|0;d=h+8|0;f=h+4|0;e=h;c[b>>2]=a;c[g>>2]=0;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if((c[f>>2]|0)!=0?(mg(c[f>>2]|0),c[e>>2]=TH(Pf(c[f>>2]|0)|0)|0,((c[e>>2]|0)>0?(c[(c[b>>2]|0)+220>>2]|0)!=0:0)&(c[g>>2]|0)==0):0)c[g>>2]=Wb[c[(c[b>>2]|0)+220>>2]&255](c[(c[b>>2]|0)+224>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)>>2]|0,c[e>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}i=h;return c[g>>2]|0}function SH(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+80>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+44>>2]|0)){lg(b,c[f>>2]|0);f=c[f>>2]|0;i=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;Wj();if(!(c[(c[e>>2]|0)+240>>2]|0)){b=Xh(c[e>>2]|0)|0;c[(c[e>>2]|0)+240>>2]=b}Yh(c[(c[e>>2]|0)+240>>2]|0,-1,c[(c[d>>2]|0)+44>>2]|0,1,-1);Xj();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;i=g;return f|0}function TH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;a=UH(c[(c[d>>2]|0)+216>>2]|0)|0;i=b;return a|0}function UH(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;i=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;i=e;return d|0}function VH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+32|0;b=h+16|0;f=h+12|0;e=h+8|0;d=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+100>>2]|0)){i=h;return}c[e>>2]=c[c[b>>2]>>2];c[d>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[g>>2]|0))break;if(((c[f>>2]|0)!=1?(c[(c[b>>2]|0)+100>>2]&1<>2]|0)!=0:0)?(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0)!=0:0)mg(c[(c[d>>2]|0)+(c[f>>2]<<4)+4>>2]|0);c[f>>2]=(c[f>>2]|0)+1}i=h;return}function WH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+84>>2]=c[e>>2];b=(c[f>>2]|0)+88|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);i=d;return}function XH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];qM(c[e>>2]|0);c[(c[e>>2]|0)+200>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+196>>2]=c[(c[b>>2]|0)+60>>2];c[(c[e>>2]|0)+4>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+32>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+8>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=c[(c[b>>2]|0)+24>>2];c[(c[e>>2]|0)+36>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+72>>2];c[(c[c[e>>2]>>2]|0)+84>>2]=c[(c[b>>2]|0)+76>>2];hI(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;i=d;return c[(c[b>>2]|0)+48>>2]|0}function YH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Tf(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+44>>2]|0);c[g>>2]=d;b=dx(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+44>>2]=b;i=e;return}function ZH(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;j=n+24|0;k=n+20|0;g=n+16|0;l=n+12|0;f=n+8|0;m=n+4|0;e=n;c[k>>2]=b;c[l>>2]=c[c[k>>2]>>2];if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;if(c[(c[k>>2]|0)+200>>2]|0)tR(c[(c[k>>2]|0)+200>>2]|0,0,c[(c[k>>2]|0)+196>>2]|0)|0;kM(c[k>>2]|0);if((c[(c[k>>2]|0)+40>>2]|0)!=-1108210269){c[j>>2]=0;m=c[j>>2]|0;i=n;return m|0}if((c[(c[k>>2]|0)+76>>2]|0)>=0?((d[(c[k>>2]|0)+89>>0]|0)>>>6&1|0)!=0:0){c[m>>2]=0;VH(c[k>>2]|0);c[f>>2]=c[(c[k>>2]|0)+80>>2]&255;if((c[f>>2]|0)==7|(c[f>>2]|0)==10|(c[f>>2]|0)==9)b=1;else b=(c[f>>2]|0)==13;c[e>>2]=b&1;do if((c[e>>2]|0)!=0?((c[f>>2]|0)!=9?1:((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0):0){if((c[f>>2]|0)==7|(c[f>>2]|0)==13?((d[(c[k>>2]|0)+89>>0]|0)>>>4&1|0)!=0:0){c[m>>2]=2;break}wI(c[l>>2]|0,516);xI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}while(0);if(!(c[(c[k>>2]|0)+80>>2]|0))aI(c[k>>2]|0,0)|0;if((c[(c[l>>2]|0)+316>>2]|0)>0?(c[(c[l>>2]|0)+340>>2]|0)==0:0)h=38;else if((d[(c[l>>2]|0)+67>>0]|0)!=0?(c[(c[l>>2]|0)+160>>2]|0)==(((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)==0|0):0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?((c[e>>2]|0)!=0?1:(d[(c[k>>2]|0)+86>>0]|0)!=3):0){wI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0}else h=25;do if((h|0)==25){c[g>>2]=aI(c[k>>2]|0,1)|0;do if(c[g>>2]|0){if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){c[g>>2]=787;break}c[j>>2]=1;m=c[j>>2]|0;i=n;return m|0}else c[g>>2]=lM(c[l>>2]|0,c[k>>2]|0)|0;while(0);if((c[g>>2]|0)==5?((d[(c[k>>2]|0)+89>>0]|0)>>>5&1|0)!=0:0){c[j>>2]=5;m=c[j>>2]|0;i=n;return m|0}if(c[g>>2]|0){c[(c[k>>2]|0)+80>>2]=c[g>>2];wI(c[l>>2]|0,0);c[(c[k>>2]|0)+92>>2]=0;break}else{f=(c[l>>2]|0)+440|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+448|0;c[f>>2]=0;c[f+4>>2]=0;f=(c[l>>2]|0)+24|0;c[f>>2]=c[f>>2]&-16777217;vj(c[l>>2]|0);break}}while(0);c[(c[l>>2]|0)+436>>2]=0}else h=38;do if((h|0)==38?(c[m>>2]|0)==0:0){if((c[(c[k>>2]|0)+80>>2]|0)!=0?(d[(c[k>>2]|0)+86>>0]|0)!=3:0)if((d[(c[k>>2]|0)+86>>0]|0)==2){c[m>>2]=2;break}else{wI(c[l>>2]|0,516);xI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0;break}c[m>>2]=1}while(0);if((c[m>>2]|0)!=0?(c[g>>2]=bI(c[k>>2]|0,c[m>>2]|0)|0,(c[g>>2]|0)!=0):0){if(!((c[(c[k>>2]|0)+80>>2]|0)!=0?(c[(c[k>>2]|0)+80>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+80>>2]=c[g>>2];Tf(c[l>>2]|0,c[(c[k>>2]|0)+44>>2]|0);c[(c[k>>2]|0)+44>>2]=0}wI(c[l>>2]|0,516);xI(c[l>>2]|0);a[(c[l>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+92>>2]=0}if((d[(c[k>>2]|0)+89>>0]|0)>>>2&1){b=c[l>>2]|0;if((c[m>>2]|0)!=2)WH(b,c[(c[k>>2]|0)+92>>2]|0);else WH(b,0);c[(c[k>>2]|0)+92>>2]=0}}if((c[(c[k>>2]|0)+76>>2]|0)>=0){m=(c[l>>2]|0)+152|0;c[m>>2]=(c[m>>2]|0)+-1;if(!((d[(c[k>>2]|0)+89>>0]|0)>>>5&1)){m=(c[l>>2]|0)+160|0;c[m>>2]=(c[m>>2]|0)+-1}if((d[(c[k>>2]|0)+89>>0]|0)>>>6&1){m=(c[l>>2]|0)+156|0;c[m>>2]=(c[m>>2]|0)+-1}}c[(c[k>>2]|0)+40>>2]=1369188723;if(a[(c[l>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+80>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+80>>2]|0)==5?5:0;m=c[j>>2]|0;i=n;return m|0}function _H(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;h=i;i=i+16|0;f=h+12|0;k=h+8|0;j=h+4|0;g=h;c[k>>2]=a;c[j>>2]=d;c[g>>2]=(c[(c[k>>2]|0)+8>>2]|0)+((c[(c[j>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312){c[f>>2]=jM(a)|0;k=c[f>>2]|0;i=h;return k|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];k=c[f>>2]|0;i=h;return k|0}return 0}function $H(a){a=a|0;var b=0,d=0,f=0,g=0;g=i;i=i+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;a=c[b>>2]|0;i=g;return a|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+92>>2]|0)&1;a=c[b>>2]|0;i=g;return a|0}function aI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;j=l;e=l+16|0;f=l+12|0;g=l+8|0;h=l+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!((c[g>>2]|0)!=0?(d=(c[h>>2]|0)+440|0,b=(c[h>>2]|0)+448|0,b=pR(c[d>>2]|0,c[d+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0,d=C,(d|0)>0|(d|0)==0&b>>>0>0):0))k=3;do if((k|0)==3){if((c[g>>2]|0)==0?(k=(c[f>>2]|0)+144|0,b=c[k+4>>2]|0,(b|0)>0|(b|0)==0&(c[k>>2]|0)>>>0>0):0)break;c[e>>2]=0;k=c[e>>2]|0;i=l;return k|0}while(0);c[(c[f>>2]|0)+80>>2]=787;a[(c[f>>2]|0)+86>>0]=2;YH(c[f>>2]|0,35697,j);c[e>>2]=1;k=c[e>>2]|0;i=l;return k|0}function bI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;d=m+28|0;e=m+24|0;f=m+20|0;k=m+16|0;g=m+12|0;h=m+8|0;l=m+4|0;j=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[k>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){l=c[k>>2]|0;i=m;return l|0}if(!(c[(c[d>>2]|0)+104>>2]|0)){l=c[k>>2]|0;i=m;return l|0}c[h>>2]=(c[(c[d>>2]|0)+104>>2]|0)-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[l>>2]=0;c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];if(c[j>>2]|0){if((c[e>>2]|0)==2)c[l>>2]=vI(c[j>>2]|0,2,c[h>>2]|0)|0;if(!(c[l>>2]|0))c[l>>2]=vI(c[j>>2]|0,1,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=c[l>>2]}c[g>>2]=(c[g>>2]|0)+1}l=(c[f>>2]|0)+436|0;c[l>>2]=(c[l>>2]|0)+-1;c[(c[d>>2]|0)+104>>2]=0;if(!(c[k>>2]|0)){if((c[e>>2]|0)==2)c[k>>2]=tI(c[f>>2]|0,2,c[h>>2]|0)|0;if(!(c[k>>2]|0))c[k>>2]=tI(c[f>>2]|0,1,c[h>>2]|0)|0}if((c[e>>2]|0)!=2){l=c[k>>2]|0;i=m;return l|0}l=(c[d>>2]|0)+152|0;j=c[l+4>>2]|0;a=(c[f>>2]|0)+440|0;c[a>>2]=c[l>>2];c[a+4>>2]=j;a=(c[d>>2]|0)+160|0;j=c[a+4>>2]|0;l=(c[f>>2]|0)+448|0;c[l>>2]=c[a>>2];c[l+4>>2]=j;l=c[k>>2]|0;i=m;return l|0}function cI(a){a=a|0;var b=0,d=0,f=0;f=i;i=i+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;a=c[b>>2]|0;i=f;return a|0}else{c[b>>2]=iM(c[d>>2]|0)|0;a=c[b>>2]|0;i=f;return a|0}return 0}function dI(a){a=a|0;var d=0,f=0,g=0;g=i;i=i+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12))if(a&18){b[d>>1]=hM(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);i=g;return b[d>>1]|0}function eI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;e=j+20|0;f=j+16|0;g=j+8|0;h=j;c[f>>2]=a;k=g;c[k>>2]=b;c[k+4>>2]=d;b=c[f>>2]|0;k=c[b+4>>2]|0;a=h;c[a>>2]=c[b>>2];c[a+4>>2]=k;a=g;k=c[a+4>>2]|0;b=h;d=c[b+4>>2]|0;if((k|0)>0|(k|0)==0&(c[a>>2]|0)>>>0>=0){if((d|0)>0|(d|0)==0&(c[b>>2]|0)>>>0>0?(h,h=oR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,d=C,k=g,a=c[k+4>>2]|0,(d|0)<(a|0)|((d|0)==(a|0)?h>>>0<(c[k>>2]|0)>>>0:0)):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}}else if((d|0)<0?(h,h=pR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=oR(0,0,h|0,C|0)|0,d=C,k=g,k=pR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0,a=C,(d|0)>(a|0)|(d|0)==(a|0)&h>>>0>k>>>0):0){c[e>>2]=1;k=c[e>>2]|0;i=j;return k|0}h=g;k=c[f>>2]|0;g=k;h=pR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[k>>2]=h;c[k+4>>2]=C;c[e>>2]=0;k=c[e>>2]|0;i=j;return k|0}function fI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[f>>2]|0;if(!((c[a>>2]|0)==0?(c[a+4>>2]|0)==-2147483648:0)){g=oR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=eI(b,g,C)|0;g=c[e>>2]|0;i=h;return g|0}a=b;d=c[a+4>>2]|0;if((d|0)>0|(d|0)==0&(c[a>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;i=h;return g|0}else{a=g;g=c[f>>2]|0;f=g;f=oR(c[f>>2]|0,c[f+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=C;c[e>>2]=0;g=c[e>>2]|0;i=h;return g|0}return 0}function gI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;n=i;i=i+64|0;e=n+60|0;f=n+56|0;g=n+48|0;o=n+40|0;j=n+32|0;h=n+24|0;l=n+16|0;k=n+8|0;m=n;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=c[f>>2]|0;b=c[d+4>>2]|0;a=o;c[a>>2]=c[d>>2];c[a+4>>2]=b;a=o;a=yR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=j;c[b>>2]=a;c[b+4>>2]=C;b=o;b=zR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=h;c[a>>2]=b;c[a+4>>2]=C;a=g;a=yR(c[a>>2]|0,c[a+4>>2]|0,0,1)|0;b=l;c[b>>2]=a;c[b+4>>2]=C;b=g;b=zR(c[b>>2]|0,c[b+4>>2]|0,0,1)|0;a=k;c[a>>2]=b;c[a+4>>2]=C;a=j;b=l;b=(c[b>>2]|0)==0&(c[b+4>>2]|0)==0;do if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0){if(!b){o=h;l=AR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}m=g;o=c[f>>2]|0;l=o;m=AR(c[l>>2]|0,c[l+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[o>>2]=m;c[o+4>>2]=C;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}else{if(b){o=j;l=k;l=AR(c[o>>2]|0,c[o+4>>2]|0,c[l>>2]|0,c[l+4>>2]|0)|0;o=m;c[o>>2]=l;c[o+4>>2]=C;break}c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}while(0);j=m;g=c[j+4>>2]|0;o=m;l=c[o+4>>2]|0;if((g|0)<-1|(g|0)==-1&(c[j>>2]|0)>>>0<2147483648|((l|0)>0|(l|0)==0&(c[o>>2]|0)>>>0>=2147483648)){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}o=m;o=AR(c[o>>2]|0,c[o+4>>2]|0,0,1)|0;l=m;c[l>>2]=o;c[l+4>>2]=C;l=h;o=k;o=AR(c[l>>2]|0,c[l+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;if(eI(m,o,C)|0){c[e>>2]=1;o=c[e>>2]|0;i=n;return o|0}else{l=m;m=c[l+4>>2]|0;o=c[f>>2]|0;c[o>>2]=c[l>>2];c[o+4>>2]=m;c[e>>2]=0;o=c[e>>2]|0;i=n;return o|0}return 0}function hI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;j=l+4|0;k=l;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[k>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[k>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>31)break;if(!(c[j>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[k>>2]|0)+16;continue a}while(0);if(c[(c[k>>2]|0)+12>>2]|0)Qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[k>>2]|0)+16>>2];Tf(c[f>>2]|0,c[k>>2]|0)}i=l;return}function iI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;f=o+24|0;g=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;l=o;c[g>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e[(c[g>>2]|0)+8>>1];c[n>>2]=e[(c[j>>2]|0)+8>>1];c[l>>2]=c[m>>2]|c[n>>2];do if(!(c[l>>2]&1)){if(!(c[l>>2]&12)){if(c[l>>2]&2){if(!(c[m>>2]&2)){c[f>>2]=1;break}if(!(c[n>>2]&2)){c[f>>2]=-1;break}if(c[k>>2]|0){c[f>>2]=FF(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;break}}c[f>>2]=gM(c[g>>2]|0,c[j>>2]|0)|0;break}if(c[m>>2]&c[n>>2]&4){a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)<(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0:0)){c[f>>2]=-1;break}a=c[g>>2]|0;n=c[a+4>>2]|0;b=c[j>>2]|0;d=c[b+4>>2]|0;if((n|0)>(d|0)|((n|0)==(d|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&c[n>>2]&8){if(+h[c[g>>2]>>3]<+h[c[j>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[j>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[m>>2]&4)if(c[n>>2]&8){b=c[g>>2]|0;c[f>>2]=DF(c[b>>2]|0,c[b+4>>2]|0,+h[c[j>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[m>>2]&8)){c[f>>2]=1;break}if(c[n>>2]&4){b=c[j>>2]|0;c[f>>2]=0-(DF(c[b>>2]|0,c[b+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[n>>2]&1)-(c[m>>2]&1);while(0);i=o;return c[f>>2]|0}function jI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;f=l+16|0;g=l+12|0;h=l+8|0;k=l+4|0;j=l;c[g>>2]=b;c[h>>2]=e;c[k>>2]=c[c[g>>2]>>2];do if(!(d[c[k>>2]>>0]|0)){e=c[k>>2]|0;if(!(a[(c[k>>2]|0)+3>>0]|0)){if(!(vL(c[e+16>>2]|0)|0))break;c[f>>2]=wL(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}if((c[e+52>>2]|0)!=0?(b=c[(c[(c[k>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=b,(b|0)>0):0){c[c[g>>2]>>2]=c[(c[k>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}c[f>>2]=fM(c[k>>2]|0)|0;k=c[f>>2]|0;i=l;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;i=l;return k|0}function kI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=eM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function lI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;pF(c[f>>2]|0);c[c[e>>2]>>2]=c[(c[f>>2]|0)+16+12>>2];i=d;return 0}function mI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=eM(c[f>>2]|0,c[e>>2]|0)|0;i=d;return a|0}function nI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;i=i+32|0;h=q+28|0;j=q+24|0;k=q+20|0;l=q+16|0;m=q+12|0;p=q+8|0;n=q+4|0;o=q;c[h>>2]=a;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;c[m>>2]=g;c[n>>2]=0;c[o>>2]=0;e=c[h>>2]|0;if(c[l>>2]|0)c[p>>2]=kI(e,n)|0;else c[p>>2]=mI(e,n)|0;if(((c[j>>2]|0)+(c[k>>2]|0)|0)>>>0<=(c[n>>2]|0)>>>0){c[(c[m>>2]|0)+16>>2]=(c[p>>2]|0)+(c[j>>2]|0);b[(c[m>>2]|0)+8>>1]=4112;c[(c[m>>2]|0)+12>>2]=c[k>>2];p=c[o>>2]|0;i=q;return p|0}else{c[o>>2]=dM(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0,c[m>>2]|0)|0;p=c[o>>2]|0;i=q;return p|0}return 0}function oI(b){b=b|0;var c=0,e=0;e=i;i=i+16|0;c=e;a[c>>0]=b;i=e;return a[35569+(d[c>>0]|0)>>0]|0}function pI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+48|0;n=o+36|0;f=o+32|0;k=o+28|0;j=o+24|0;g=o+20|0;h=o+16|0;l=o+8|0;m=o;c[f>>2]=a;c[k>>2]=b;c[j>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1){c[c[j>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;i=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8){c[c[j>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;i=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[j>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;i=o;return n|0}a=c[f>>2]|0;f=c[a+4>>2]|0;b=l;c[b>>2]=c[a>>2];c[b+4>>2]=f;b=l;f=c[b>>2]|0;b=c[b+4>>2]|0;if((c[l+4>>2]|0)<0){a=m;c[a>>2]=~f;c[a+4>>2]=~b}else{a=m;c[a>>2]=f;c[a+4>>2]=b}a=m;d=c[a+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[a>>2]|0)>>>0<=127){a=l;f=c[j>>2]|0;if((0==(c[a+4>>2]|0)?(c[l>>2]&1|0)==(c[a>>2]|0):0)&(c[k>>2]|0)>=4){c[f>>2]=0;c[n>>2]=8+(c[m>>2]|0);n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=1;c[n>>2]=1;n=c[n>>2]|0;i=o;return n|0}}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=32767){c[c[j>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=8388607){c[c[j>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;i=o;return n|0}l=m;k=c[l+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[l>>2]|0)>>>0<=2147483647){c[c[j>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;i=o;return n|0}l=c[m+4>>2]|0;f=c[j>>2]|0;if(l>>>0<32767|(l|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[f>>2]=6;c[n>>2]=5;n=c[n>>2]|0;i=o;return n|0}else{c[f>>2]=8;c[n>>2]=6;n=c[n>>2]|0;i=o;return n|0}return 0}function qI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;f=j+12|0;g=j+8|0;h=j;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=h;k=c[b+4>>2]|0;e=h;d=c[e>>2]|0;e=c[e+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[b>>2]|0)>>>0<=127){a[c[g>>2]>>0]=d&127;c[f>>2]=1;k=c[f>>2]|0;i=j;return k|0}if(e>>>0<0|(e|0)==0&d>>>0<=16383){k=h;k=qR(c[k>>2]|0,c[k+4>>2]|0,7)|0;a[c[g>>2]>>0]=k&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;k=c[f>>2]|0;i=j;return k|0}else{k=h;c[f>>2]=cM(c[g>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;k=c[f>>2]|0;i=j;return k|0}return 0}function rI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+28|0;h=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;l=o+8|0;c[h>>2]=b;c[j>>2]=e;c[k>>2]=f;b=c[k>>2]|0;if((c[k>>2]|0)>>>0<=7&(c[k>>2]|0)>>>0>0){if((b|0)==7){j=c[j>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2]}else{e=c[j>>2]|0;f=c[e+4>>2]|0;j=n;c[j>>2]=c[e>>2];c[j+4>>2]=f}k=d[35569+(c[k>>2]|0)>>0]|0;c[l>>2]=k;c[m>>2]=k;do{k=c[n>>2]&255;j=(c[l>>2]|0)+-1|0;c[l>>2]=j;a[(c[h>>2]|0)+j>>0]=k;j=n;j=qR(c[j>>2]|0,c[j+4>>2]|0,8)|0;k=n;c[k>>2]=j;c[k+4>>2]=C}while((c[l>>2]|0)!=0);c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;i=o;return n|0}c[m>>2]=c[(c[j>>2]|0)+12>>2];if((c[m>>2]|0)>>>0>0)rR(c[h>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[m>>2]|0)|0;c[g>>2]=c[m>>2];n=c[g>>2]|0;i=o;return n|0}return 0}function sI(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+32|0;k=p+28|0;l=p+24|0;m=p+20|0;n=p;o=p+16|0;h=p+12|0;j=p+8|0;c[l>>2]=f;c[m>>2]=g;g=n;c[g>>2]=0;c[g+4>>2]=0;if(!(c[(c[l>>2]|0)+52>>2]|0)){o=c[m>>2]|0;c[o>>2]=0;c[o+4>>2]=0;c[k>>2]=0;o=c[k>>2]|0;i=p;return o|0}c[o>>2]=nF(c[l>>2]|0)|0;a:while(1){if(c[o>>2]|0){f=16;break}c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2];if(!((d[(c[j>>2]|0)+4>>0]|0)==0?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){f=n;f=pR(c[f>>2]|0,c[f+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;g=n;c[g>>2]=f;c[g+4>>2]=C}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[l>>2]|0)+68>>0]|0)){f=10;break a}eF(c[l>>2]|0)}while((e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));g=(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16;c[j>>2]=c[(c[l>>2]|0)+120+(a[(c[l>>2]|0)+68>>0]<<2)>>2]}c[h>>2]=e[(c[l>>2]|0)+80+(a[(c[l>>2]|0)+68>>0]<<1)>>1];f=c[l>>2]|0;g=c[j>>2]|0;if((c[h>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[o>>2]=cF(f,er((c[(c[j>>2]|0)+56>>2]|0)+((d[g+5>>0]|0)+8)|0)|0)|0;continue}else{c[o>>2]=cF(f,er((c[g+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=n;n=c[j+4>>2]|0;o=c[m>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;c[k>>2]=nF(c[l>>2]|0)|0;o=c[k>>2]|0;i=p;return o|0}else if((f|0)==16){c[k>>2]=c[o>>2];o=c[k>>2]|0;i=p;return o|0}return 0}function tI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;e=n+28|0;f=n+24|0;g=n+20|0;m=n+16|0;h=n+12|0;k=n+8|0;j=n+4|0;l=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[m>>2]=0;if(!(c[(c[e>>2]|0)+340>>2]|0)){m=c[m>>2]|0;i=n;return m|0}c[h>>2]=0;while(1){if(c[m>>2]|0){e=15;break}if((c[h>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0)){e=15;break}c[k>>2]=c[(c[(c[e>>2]|0)+340>>2]|0)+(c[h>>2]<<2)>>2];c[j>>2]=c[c[(c[k>>2]|0)+4>>2]>>2];if((c[(c[k>>2]|0)+8>>2]|0)!=0?(c[c[j>>2]>>2]|0)>=2:0){switch(c[f>>2]|0){case 0:{c[l>>2]=c[(c[j>>2]|0)+80>>2];c[(c[k>>2]|0)+20>>2]=(c[g>>2]|0)+1;break}case 2:{c[l>>2]=c[(c[j>>2]|0)+88>>2];break}default:c[l>>2]=c[(c[j>>2]|0)+84>>2]}if((c[l>>2]|0)!=0?(c[(c[k>>2]|0)+20>>2]|0)>(c[g>>2]|0):0)c[m>>2]=Yb[c[l>>2]&255](c[(c[k>>2]|0)+8>>2]|0,c[g>>2]|0)|0}c[h>>2]=(c[h>>2]|0)+1}if((e|0)==15){m=c[m>>2]|0;i=n;return m|0}return 0}function uI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=i+32|0;g=o+20|0;h=o+16|0;j=o+12|0;l=o+8|0;m=o+4|0;k=o;c[g>>2]=b;c[h>>2]=e;c[j>>2]=f;c[m>>2]=0;if(!(c[g>>2]|0)){n=c[m>>2]|0;i=o;return n|0}mg(c[g>>2]|0);c[l>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[l>>2]|0)){n=15;break}do if((c[j>>2]|0)!=0?(d[(c[l>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[l>>2]|0)+66>>0]|0)!=1?(d[(c[l>>2]|0)+66>>0]|0)!=2:0)break;c[m>>2]=vH(c[l>>2]|0)|0;if(c[m>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;vB(c[l>>2]|0);a[(c[l>>2]|0)+66>>0]=4;c[(c[l>>2]|0)+60>>2]=c[h>>2]}c[k>>2]=0;while(1){if((c[k>>2]|0)>(a[(c[l>>2]|0)+68>>0]|0))break;wB(c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]|0);c[(c[l>>2]|0)+120+(c[k>>2]<<2)>>2]=0;c[k>>2]=(c[k>>2]|0)+1}c[l>>2]=c[(c[l>>2]|0)+8>>2]}if((n|0)==15){n=c[m>>2]|0;i=o;return n|0}uI(c[g>>2]|0,c[m>>2]|0,0)|0;n=c[m>>2]|0;i=o;return n|0}function vI(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[j>>2]=f;c[l>>2]=0;if(!(c[g>>2]|0)){l=c[l>>2]|0;i=m;return l|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){l=c[l>>2]|0;i=m;return l|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];mg(c[g>>2]|0);c[l>>2]=Qr(c[c[k>>2]>>2]|0,c[h>>2]|0,c[j>>2]|0)|0;if(c[l>>2]|0){l=c[l>>2]|0;i=m;return l|0}if((c[j>>2]|0)<0?((e[(c[k>>2]|0)+22>>1]|0)&8|0)!=0:0)c[(c[k>>2]|0)+44>>2]=0;c[l>>2]=bM(c[k>>2]|0)|0;a=er((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=a;l=c[l>>2]|0;i=m;return l|0}function wI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+32|0;f=m+20|0;g=m+16|0;h=m+12|0;j=m+8|0;l=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[j>>2]=0;Wj();Of(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2)b=(d[(c[f>>2]|0)+144+5>>0]|0)==0;else b=0;c[l>>2]=b&1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(di(c[k>>2]|0)|0)c[j>>2]=1;Og(c[k>>2]|0,c[g>>2]|0,((c[l>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}ju(c[f>>2]|0)|0;Xj();if((c[(c[f>>2]|0)+24>>2]&2|0)!=0?(d[(c[f>>2]|0)+144+5>>0]|0)==0:0){Qh(c[f>>2]|0);Bg(c[f>>2]|0)}l=(c[f>>2]|0)+440|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+448|0;c[l>>2]=0;c[l+4>>2]=0;l=(c[f>>2]|0)+24|0;c[l>>2]=c[l>>2]&-16777217;if(!(c[(c[f>>2]|0)+208>>2]|0)){i=m;return}if((c[j>>2]|0)==0?(a[(c[f>>2]|0)+67>>0]|0)!=0:0){i=m;return}Qb[c[(c[f>>2]|0)+208>>2]&255](c[(c[f>>2]|0)+204>>2]|0);i=m;return}function xI(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Tf(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;i=f;return}function yI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;i=i+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];mg(c[h>>2]|0);c[d>>2]=_L(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;i=e;return c[d>>2]|0}function zI(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+32|0;k=s+24|0;l=s+20|0;n=s+16|0;o=s+12|0;p=s+28|0;r=s+8|0;m=s+4|0;q=s;c[k>>2]=e;c[l>>2]=f;c[n>>2]=g;c[o>>2]=h;a[p>>0]=j;j=c[k>>2]|0;if((c[l>>2]|0)>0)j=(c[(c[k>>2]|0)+8>>2]|0)+(((c[j+28>>2]|0)-(c[l>>2]|0)|0)*40|0)|0;else j=c[j+8>>2]|0;c[r>>2]=j;c[q>>2]=0;j=88+(c[n>>2]<<3)|0;if(!(d[p>>0]|0))f=YL()|0;else f=0;c[m>>2]=j+f;if(c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0){EI(c[k>>2]|0,c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=0}if(zx(c[r>>2]|0,c[m>>2]|0)|0){r=c[q>>2]|0;i=s;return r|0}j=c[(c[r>>2]|0)+16>>2]|0;c[q>>2]=j;c[(c[(c[k>>2]|0)+56>>2]|0)+(c[l>>2]<<2)>>2]=j;j=c[q>>2]|0;f=j+88|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(f|0));a[c[q>>2]>>0]=a[p>>0]|0;a[(c[q>>2]|0)+1>>0]=c[o>>2];b[(c[q>>2]|0)+12>>1]=c[n>>2];c[(c[q>>2]|0)+76>>2]=(c[q>>2]|0)+80+(c[n>>2]<<2);if(d[p>>0]|0){r=c[q>>2]|0;i=s;return r|0}c[(c[q>>2]|0)+16>>2]=(c[(c[r>>2]|0)+16>>2]|0)+(88+(c[n>>2]<<3));ZL(c[(c[q>>2]|0)+16>>2]|0);r=c[q>>2]|0;i=s;return r|0}function AI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;l=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=e;c[l>>2]=f;if((c[h>>2]|0)<1){c[m>>2]=Oj(59956)|0;d=c[m>>2]|0;i=n;return d|0}else{mg(c[g>>2]|0);c[m>>2]=WL(c[g>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[l>>2]|0)|0;d=c[m>>2]|0;i=n;return d|0}return 0}function BI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];i=e;return}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;i=i+16|0;j=f+12|0;h=f+8|0;g=f+4|0;e=f;c[j>>2]=a;c[h>>2]=b;c[g>>2]=d;mg(c[j>>2]|0);c[e>>2]=VL(c[j>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;i=f;return c[e>>2]|0}function DI(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;i=i+64|0;r=w+48|0;j=w+44|0;k=w+40|0;u=w+36|0;l=w+32|0;m=w+28|0;t=w+24|0;s=w+20|0;p=w+16|0;o=w+12|0;v=w+8|0;n=w+4|0;q=w;c[r>>2]=f;c[j>>2]=g;c[k>>2]=h;c[v>>2]=0;c[p>>2]=24+((e[(c[(c[k>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[o>>2]=136;h=(c[o>>2]|0)+(c[p>>2]|0)|0;c[t>>2]=rh(c[r>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[k>>2]|0)+16>>2]=c[t>>2];if(!(c[t>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;i=w;return v|0}o=(c[t>>2]|0)+(c[o>>2]|0)|0;c[s>>2]=o;c[(c[t>>2]|0)+28>>2]=o;rR(c[s>>2]|0,c[(c[k>>2]|0)+24>>2]|0,c[p>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=0;if(c[j>>2]|0){p=(c[s>>2]|0)+8|0;b[p>>1]=(e[p>>1]|0)+((e[(c[s>>2]|0)+6>>1]|0)-(c[j>>2]|0));b[(c[s>>2]|0)+6>>1]=c[j>>2]}p=rg(c[(c[(c[r>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[u>>2]=p;c[(c[t>>2]|0)+12>>2]=p;a[(c[t>>2]|0)+59>>0]=1;a[(c[t>>2]|0)+58>>0]=-1;a[(c[t>>2]|0)+57>>0]=(d[(c[t>>2]|0)+59>>0]|0|0)>1;c[(c[t>>2]|0)+24>>2]=c[r>>2];c[l>>2]=0;while(1){if((c[l>>2]|0)>=(d[(c[t>>2]|0)+59>>0]|0|0))break;c[n>>2]=(c[t>>2]|0)+64+((c[l>>2]|0)*72|0);c[(c[n>>2]|0)+8>>2]=c[t>>2];c[l>>2]=(c[l>>2]|0)+1}if(!(Xq(c[r>>2]|0)|0)){c[q>>2]=c[58];p=_(c[q>>2]|0,c[u>>2]|0)|0;c[c[t>>2]>>2]=p;c[m>>2]=c[(c[(c[(c[r>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2];if((c[m>>2]|0)<(c[q>>2]|0))c[m>>2]=c[q>>2];p=c[m>>2]|0;q=c[u>>2]|0;q=AR(p|0,((p|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;p=C;if((p|0)<0|(p|0)==0&q>>>0<536870912){q=c[m>>2]|0;j=c[u>>2]|0;j=AR(q|0,((q|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0}else j=536870912;c[(c[t>>2]|0)+4>>2]=j;if((c[50]|0)==0?(c[(c[t>>2]|0)+52>>2]=c[u>>2],u=c[u>>2]|0,u=$f(u,((u|0)<0)<<31>>31)|0,c[(c[t>>2]|0)+36+4>>2]=u,(c[(c[t>>2]|0)+36+4>>2]|0)==0):0)c[v>>2]=7}if(((e[(c[s>>2]|0)+6>>1]|0)+(e[(c[s>>2]|0)+8>>1]|0)|0)>=13){v=c[v>>2]|0;i=w;return v|0}if((c[(c[s>>2]|0)+20>>2]|0)!=0?(c[(c[s>>2]|0)+20>>2]|0)!=(c[(c[r>>2]|0)+8>>2]|0):0){v=c[v>>2]|0;i=w;return v|0}a[(c[t>>2]|0)+60>>0]=3;v=c[v>>2]|0;i=w;return v|0}function EI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;e=j+12|0;h=j+8|0;g=j+4|0;f=j;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){i=j;return}switch(d[c[h>>2]>>0]|0|0){case 1:{UL(c[c[e>>2]>>2]|0,c[h>>2]|0);i=j;return}case 0:{e=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){rB(c[e+20>>2]|0)|0;i=j;return}else{tB(c[e+16>>2]|0)|0;i=j;return}}case 2:{c[g>>2]=c[(c[h>>2]|0)+16>>2];c[f>>2]=c[c[c[g>>2]>>2]>>2];h=(c[c[g>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;Tb[c[(c[f>>2]|0)+28>>2]&255](c[g>>2]|0)|0;i=j;return}default:{i=j;return}}}function FI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;i=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function GI(a){a=a|0;var b=0,e=0;e=i;i=i+16|0;b=e;c[b>>2]=a;i=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function HI(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k+12|0;g=k+8|0;f=k+4|0;j=k;c[g>>2]=b;c[f>>2]=e;if(1==(d[(c[g>>2]|0)+66>>0]|0|0)?((d[(c[g>>2]|0)+64>>0]|0)&8|0)!=0:0){c[h>>2]=0;j=c[h>>2]|0;i=k;return j|0}c[j>>2]=nF(c[g>>2]|0)|0;do if(!(c[j>>2]|0)){f=c[f>>2]|0;if(!(d[(c[g>>2]|0)+66>>0]|0)){c[f>>2]=1;break}c[f>>2]=0;c[j>>2]=dF(c[g>>2]|0)|0;f=(c[g>>2]|0)+64|0;b=d[f>>0]|0;if(!(c[j>>2]|0)){a[f>>0]=b|8;break}else{a[f>>0]=b&-9;break}}while(0);c[h>>2]=c[j>>2];j=c[h>>2]|0;i=k;return j|0}function II(f,g,h,j,k,l,m,n,o){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=i;i=i+80|0;p=I+72|0;q=I+68|0;r=I+64|0;s=I;t=I+60|0;u=I+56|0;v=I+52|0;w=I+48|0;J=I+44|0;F=I+40|0;y=I+36|0;G=I+32|0;x=I+28|0;E=I+24|0;B=I+20|0;D=I+16|0;A=I+12|0;z=I+8|0;H=I+76|0;c[q>>2]=f;c[r>>2]=g;g=s;c[g>>2]=h;c[g+4>>2]=j;c[t>>2]=k;c[u>>2]=l;c[v>>2]=m;c[w>>2]=n;c[J>>2]=o;c[y>>2]=c[J>>2];c[G>>2]=0;c[B>>2]=c[c[q>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+4>>2];c[z>>2]=0;h=c[q>>2]|0;if((d[(c[q>>2]|0)+66>>0]|0)==4){c[p>>2]=c[h+60>>2];J=c[p>>2]|0;i=I;return J|0}if((d[h+64>>0]&32|0)!=0?(c[F>>2]=tH(c[D>>2]|0,c[(c[q>>2]|0)+52>>2]|0,c[q>>2]|0)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}do if(!(c[(c[q>>2]|0)+72>>2]|0)){J=s;AK(c[B>>2]|0,c[J>>2]|0,c[J+4>>2]|0,0);J=s;B=c[J+4>>2]|0;if((d[(c[q>>2]|0)+64>>0]&2|0)!=0&((B|0)>0|(B|0)==0&(c[J>>2]|0)>>>0>0)?(J=(c[q>>2]|0)+16|0,o=c[J>>2]|0,J=c[J+4>>2]|0,B=s,B=oR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0,(o|0)==(B|0)&(J|0)==(C|0)):0){c[y>>2]=-1;break}if((c[y>>2]|0)==0?(J=s,c[F>>2]=lF(c[q>>2]|0,0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}}else if((c[y>>2]|0)==0?(J=s,c[F>>2]=iF(c[q>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[w>>2]|0,y)|0,(c[F>>2]|0)!=0):0){c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}while(0);c[E>>2]=c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2];c[z>>2]=c[(c[D>>2]|0)+80>>2];J=s;c[F>>2]=TL(c[E>>2]|0,c[z>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,G)|0;do if(!(c[F>>2]|0)){c[x>>2]=e[(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)>>1];if(!(c[y>>2]|0)){c[F>>2]=Fg(c[(c[E>>2]|0)+72>>2]|0)|0;if(c[F>>2]|0)break;c[A>>2]=(c[(c[E>>2]|0)+56>>2]|0)+(e[(c[E>>2]|0)+20>>1]&(d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)>>0]<<8|d[(c[(c[E>>2]|0)+64>>2]|0)+(c[x>>2]<<1)+1>>0]));if(!(a[(c[E>>2]|0)+4>>0]|0)){J=c[z>>2]|0;D=c[A>>2]|0;a[J>>0]=a[D>>0]|0;a[J+1>>0]=a[D+1>>0]|0;a[J+2>>0]=a[D+2>>0]|0;a[J+3>>0]=a[D+3>>0]|0}c[F>>2]=CK(c[E>>2]|0,c[A>>2]|0,H)|0;zL(c[E>>2]|0,c[x>>2]|0,e[H>>1]|0,F);if(c[F>>2]|0)break}else if((c[y>>2]|0)<0?(e[(c[E>>2]|0)+18>>1]|0)>0:0){H=(c[q>>2]|0)+80+(a[(c[q>>2]|0)+68>>0]<<1)|0;J=(b[H>>1]|0)+1<<16>>16;b[H>>1]=J;c[x>>2]=J&65535}AL(c[E>>2]|0,c[x>>2]|0,c[z>>2]|0,c[G>>2]|0,0,0,F);b[(c[q>>2]|0)+16+18>>1]=0;if((c[F>>2]|0)==0?(d[(c[E>>2]|0)+1>>0]|0)!=0:0){J=(c[q>>2]|0)+64|0;a[J>>0]=d[J>>0]&-3;c[F>>2]=BL(c[q>>2]|0)|0;a[(c[(c[q>>2]|0)+120+(a[(c[q>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[q>>2]|0)+66>>0]=0}}while(0);c[p>>2]=c[F>>2];J=c[p>>2]|0;i=I;return J|0}function JI(f,g){f=f|0;g=g|0;var 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,x=0,y=0,z=0,A=0;z=i;i=i+64|0;t=z+56|0;u=z+52|0;A=z+63|0;l=z+48|0;m=z+44|0;y=z+40|0;x=z+36|0;n=z+32|0;w=z+28|0;v=z+24|0;q=z+60|0;s=z+20|0;r=z+62|0;k=z+16|0;o=z+12|0;j=z+8|0;h=z+4|0;p=z;c[u>>2]=f;a[A>>0]=g;c[l>>2]=c[c[u>>2]>>2];c[m>>2]=c[(c[l>>2]|0)+4>>2];c[s>>2]=0;a[r>>0]=d[A>>0]&2;c[v>>2]=a[(c[u>>2]|0)+68>>0];c[w>>2]=e[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1];c[x>>2]=c[(c[u>>2]|0)+120+(c[v>>2]<<2)>>2];c[n>>2]=(c[(c[x>>2]|0)+56>>2]|0)+(e[(c[x>>2]|0)+20>>1]&(d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)>>0]<<8|d[(c[(c[x>>2]|0)+64>>2]|0)+(c[w>>2]<<1)+1>>0]));if((a[(c[x>>2]|0)+4>>0]|0)==0?(c[k>>2]=0,c[y>>2]=$E(c[u>>2]|0,k)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if((d[(c[u>>2]|0)+64>>0]&32|0)!=0?(c[y>>2]=tH(c[m>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,(c[y>>2]|0)!=0):0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[u>>2]|0)+16|0;AK(c[l>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}do if(a[r>>0]|0){if((a[(c[x>>2]|0)+4>>0]|0)!=0?(A=e[(c[x>>2]|0)+16>>1]|0,A=A+((Tt(c[x>>2]|0,c[n>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[m>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[s>>2]=1;break}c[y>>2]=xH(c[u>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}while(0);c[y>>2]=Fg(c[(c[x>>2]|0)+72>>2]|0)|0;if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}c[y>>2]=CK(c[x>>2]|0,c[n>>2]|0,q)|0;zL(c[x>>2]|0,c[w>>2]|0,e[q>>1]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}if(!(a[(c[x>>2]|0)+4>>0]|0)){c[o>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[h>>2]=c[(c[(c[u>>2]|0)+120+((c[v>>2]|0)+1<<2)>>2]|0)+84>>2];c[n>>2]=(c[(c[o>>2]|0)+56>>2]|0)+(e[(c[o>>2]|0)+20>>1]&(d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[o>>2]|0)+64>>2]|0)+((e[(c[o>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[n>>2]|0)>>>0<((c[(c[o>>2]|0)+56>>2]|0)+4|0)>>>0){c[t>>2]=Oj(64012)|0;A=c[t>>2]|0;i=z;return A|0}c[j>>2]=(Yb[c[(c[o>>2]|0)+76>>2]&255](c[o>>2]|0,c[n>>2]|0)|0)&65535;c[p>>2]=c[(c[m>>2]|0)+80>>2];c[y>>2]=Fg(c[(c[o>>2]|0)+72>>2]|0)|0;AL(c[x>>2]|0,c[w>>2]|0,(c[n>>2]|0)+-4|0,(c[j>>2]|0)+4|0,c[p>>2]|0,c[h>>2]|0,y);zL(c[o>>2]|0,(e[(c[o>>2]|0)+18>>1]|0)-1|0,c[j>>2]|0,y);if(c[y>>2]|0){c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}}c[y>>2]=BL(c[u>>2]|0)|0;if((c[y>>2]|0)==0?(a[(c[u>>2]|0)+68>>0]|0)>(c[v>>2]|0):0){while(1){g=c[u>>2]|0;if((a[(c[u>>2]|0)+68>>0]|0)<=(c[v>>2]|0))break;q=g+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;wB(c[(c[u>>2]|0)+120+(A<<24>>24<<2)>>2]|0)}c[y>>2]=BL(g)|0}do if(!(c[y>>2]|0)){g=c[u>>2]|0;if(!(c[s>>2]|0)){c[y>>2]=nF(g)|0;if(!(a[r>>0]|0))break;a[(c[u>>2]|0)+66>>0]=3;break}a[g+66>>0]=2;g=(c[u>>2]|0)+60|0;if((c[w>>2]|0)>=(e[(c[x>>2]|0)+18>>1]|0)){c[g>>2]=-1;b[(c[u>>2]|0)+80+(c[v>>2]<<1)>>1]=(e[(c[x>>2]|0)+18>>1]|0)-1;break}else{c[g>>2]=1;break}}while(0);c[t>>2]=c[y>>2];A=c[t>>2]|0;i=z;return A|0}function KI(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=i;i=i+48|0;o=s+44|0;t=s+40|0;p=s+36|0;h=s+32|0;q=s+28|0;n=s+24|0;r=s+20|0;m=s+16|0;j=s+12|0;l=s+8|0;k=s+4|0;c[t>>2]=a;c[p>>2]=d;c[h>>2]=f;c[q>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[r>>2]=c[(c[n>>2]|0)+32>>2];c[m>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[r>>2]|0)){t=jF(c[m>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[r>>2]=t;if(c[r>>2]|0){b[(c[r>>2]|0)+8>>1]=c[h>>2];break}c[o>>2]=7;t=c[o>>2]|0;i=s;return t|0}while(0);c[l>>2]=yL(c[n>>2]|0,k)|0;kF(c[m>>2]|0,c[k>>2]|0,c[l>>2]|0,c[r>>2]|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){h=10;break}if((e[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*40|0)+8>>1]|0)&1){h=8;break}c[j>>2]=(c[j>>2]|0)+1}if((h|0)==8){c[c[q>>2]>>2]=-1;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}else if((h|0)==10){t=yF(c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[r>>2]|0)|0;c[c[q>>2]>>2]=t;c[o>>2]=0;t=c[o>>2]|0;i=s;return t|0}return 0}function LI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i;i=i+32|0;f=k+20|0;m=k+16|0;g=k+12|0;l=k+8|0;j=k+4|0;h=k;c[m>>2]=a;c[g>>2]=d;c[l>>2]=c[(c[m>>2]|0)+16>>2];c[j>>2]=yL(c[l>>2]|0,h)|0;if(zx(c[g>>2]|0,c[h>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;i=k;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[h>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;rR(c[(c[g>>2]|0)+16>>2]|0,c[j>>2]|0,c[h>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;i=k;return m|0}return 0}function MI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){i=g;return}c[f>>2]=c[c[d>>2]>>2];Tf(c[f>>2]|0,c[(c[d>>2]|0)+44>>2]|0);b=ph(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+44>>2]=b;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;i=g;return}function NI(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;b=e+4|0;d=e;c[d>>2]=a;if(vL(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=wL(c[d>>2]|0)|0;a=c[b>>2]|0;i=e;return a|0}else{c[b>>2]=0;a=c[b>>2]|0;i=e;return a|0}return 0}function OI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|0;f=j+16|0;k=j+12|0;e=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[k>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0){c[h>>2]=MK(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=jL(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=PK((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];k=c[f>>2]|0;i=j;return k|0}function PI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=nF(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){e=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[e>>2]=1;break}else{c[e>>2]=0;c[g>>2]=QF(c[f>>2]|0)|0;break}}while(0);i=h;return c[g>>2]|0}function QI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i+32|0;f=l+20|0;m=l+16|0;g=l+12|0;j=l+8|0;k=l+4|0;h=l;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[m>>2]|0)+16>>2];b=c[j>>2]|0;if(a[(c[j>>2]|0)+56>>0]|0){c[k>>2]=aL(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[k>>2]|0;i=l;return m|0}c[h>>2]=c[b+36>>2];c[(c[j>>2]|0)+36>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=0;if(!(c[(c[j>>2]|0)+36+4>>2]|0))wK(c[f>>2]|0,c[h>>2]|0);c[c[g>>2]>>2]=((c[(c[j>>2]|0)+36>>2]|0)!=0^1)&1;c[k>>2]=0;m=c[k>>2]|0;i=l;return m|0} +function iR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if(!a)return;b=a+-8|0;i=c[2468]|0;if(b>>>0>>0)Ma();d=c[a+-4>>2]|0;e=d&3;if((e|0)==1)Ma();o=d&-8;q=a+(o+-8)|0;do if(!(d&1)){b=c[b>>2]|0;if(!e)return;j=-8-b|0;l=a+j|0;m=b+o|0;if(l>>>0>>0)Ma();if((l|0)==(c[2469]|0)){b=a+(o+-4)|0;d=c[b>>2]|0;if((d&3|0)!=3){u=l;g=m;break}c[2466]=m;c[b>>2]=d&-2;c[a+(j+4)>>2]=m|1;c[q>>2]=m;return}f=b>>>3;if(b>>>0<256){e=c[a+(j+8)>>2]|0;d=c[a+(j+12)>>2]|0;b=9896+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0>>0)Ma();if((c[e+12>>2]|0)!=(l|0))Ma()}if((d|0)==(e|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(l|0))h=b;else Ma()}else h=d+8|0;c[e+12>>2]=d;c[h>>2]=e;u=l;g=m;break}h=c[a+(j+24)>>2]|0;e=c[a+(j+12)>>2]|0;do if((e|0)==(l|0)){d=a+(j+20)|0;b=c[d>>2]|0;if(!b){d=a+(j+16)|0;b=c[d>>2]|0;if(!b){k=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0>>0)Ma();else{c[d>>2]=0;k=b;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();b=f+12|0;if((c[b>>2]|0)!=(l|0))Ma();d=e+8|0;if((c[d>>2]|0)==(l|0)){c[b>>2]=e;c[d>>2]=f;k=e;break}else Ma()}while(0);if(h){b=c[a+(j+28)>>2]|0;d=10160+(b<<2)|0;if((l|0)==(c[d>>2]|0)){c[d>>2]=k;if(!k){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(l|0))c[b>>2]=k;else c[h+20>>2]=k;if(!k){u=l;g=m;break}}d=c[2468]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;b=c[a+(j+16)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[k+16>>2]=b;c[b+24>>2]=k;break}while(0);b=c[a+(j+20)>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[k+20>>2]=b;c[b+24>>2]=k;u=l;g=m;break}else{u=l;g=m}}else{u=l;g=m}}else{u=b;g=o}while(0);if(u>>>0>=q>>>0)Ma();b=a+(o+-4)|0;d=c[b>>2]|0;if(!(d&1))Ma();if(!(d&2)){if((q|0)==(c[2470]|0)){t=(c[2467]|0)+g|0;c[2467]=t;c[2470]=u;c[u+4>>2]=t|1;if((u|0)!=(c[2469]|0))return;c[2469]=0;c[2466]=0;return}if((q|0)==(c[2469]|0)){t=(c[2466]|0)+g|0;c[2466]=t;c[2469]=u;c[u+4>>2]=t|1;c[u+t>>2]=t;return}g=(d&-8)+g|0;f=d>>>3;do if(d>>>0>=256){h=c[a+(o+16)>>2]|0;b=c[a+(o|4)>>2]|0;do if((b|0)==(q|0)){d=a+(o+12)|0;b=c[d>>2]|0;if(!b){d=a+(o+8)|0;b=c[d>>2]|0;if(!b){p=0;break}}while(1){e=b+20|0;f=c[e>>2]|0;if(f){b=f;d=e;continue}e=b+16|0;f=c[e>>2]|0;if(!f)break;else{b=f;d=e}}if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[d>>2]=0;p=b;break}}else{d=c[a+o>>2]|0;if(d>>>0<(c[2468]|0)>>>0)Ma();e=d+12|0;if((c[e>>2]|0)!=(q|0))Ma();f=b+8|0;if((c[f>>2]|0)==(q|0)){c[e>>2]=b;c[f>>2]=d;p=b;break}else Ma()}while(0);if(h){b=c[a+(o+20)>>2]|0;d=10160+(b<<2)|0;if((q|0)==(c[d>>2]|0)){c[d>>2]=p;if(!p){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=h+16|0;if((c[b>>2]|0)==(q|0))c[b>>2]=p;else c[h+20>>2]=p;if(!p)break}d=c[2468]|0;if(p>>>0>>0)Ma();c[p+24>>2]=h;b=c[a+(o+8)>>2]|0;do if(b)if(b>>>0>>0)Ma();else{c[p+16>>2]=b;c[b+24>>2]=p;break}while(0);b=c[a+(o+12)>>2]|0;if(b)if(b>>>0<(c[2468]|0)>>>0)Ma();else{c[p+20>>2]=b;c[b+24>>2]=p;break}}}else{e=c[a+o>>2]|0;d=c[a+(o|4)>>2]|0;b=9896+(f<<1<<2)|0;if((e|0)!=(b|0)){if(e>>>0<(c[2468]|0)>>>0)Ma();if((c[e+12>>2]|0)!=(q|0))Ma()}if((d|0)==(e|0)){c[2464]=c[2464]&~(1<>>0<(c[2468]|0)>>>0)Ma();b=d+8|0;if((c[b>>2]|0)==(q|0))n=b;else Ma()}else n=d+8|0;c[e+12>>2]=d;c[n>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[2469]|0)){c[2466]=g;return}}else{c[b>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}b=g>>>3;if(g>>>0<256){d=b<<1;f=9896+(d<<2)|0;e=c[2464]|0;b=1<>2]|0;if(d>>>0<(c[2468]|0)>>>0)Ma();else{r=b;s=d}}else{c[2464]=e|b;r=9896+(d+2<<2)|0;s=f}c[r>>2]=u;c[s+12>>2]=u;c[u+8>>2]=s;c[u+12>>2]=f;return}b=g>>>8;if(b)if(g>>>0>16777215)f=31;else{r=(b+1048320|0)>>>16&8;s=b<>>16&4;s=s<>>16&2;f=14-(q|r|f)+(s<>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=10160+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[2465]|0;e=1<>2]|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<<((f|0)==31?0:25-(f>>>1)|0);while(1){d=b+16+(f>>>31<<2)|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(g|0)){t=e;break b}else{f=f<<1;b=e}}if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[d>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else t=b;while(0);b=t+8|0;d=c[b>>2]|0;s=c[2468]|0;if(d>>>0>=s>>>0&t>>>0>=s>>>0){c[d+12>>2]=u;c[b>>2]=u;c[u+8>>2]=d;c[u+12>>2]=t;c[u+24>>2]=0;break}else Ma()}else{c[2465]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);u=(c[2472]|0)+-1|0;c[2472]=u;if(!u)b=10312;else return;while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[2472]=-1;return}function jR(a,b){a=a|0;b=b|0;var d=0;if(a){d=_(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;b=hR(d)|0;if(!b)return b|0;if(!(c[b+-4>>2]&3))return b|0;tR(b|0,0,d|0)|0;return b|0}function kR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){a=hR(b)|0;return a|0}if(b>>>0>4294967231){c[($P()|0)>>2]=12;a=0;return a|0}d=lR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d){a=d+8|0;return a|0}d=hR(b)|0;if(!d){a=0;return a|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;rR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;iR(a);a=d;return a|0}function lR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=a+4|0;p=c[o>>2]|0;j=p&-8;l=a+j|0;i=c[2468]|0;d=p&3;if(!((d|0)!=1&a>>>0>=i>>>0&a>>>0>>0))Ma();e=a+(j|4)|0;f=c[e>>2]|0;if(!(f&1))Ma();if(!d){if(b>>>0<256){a=0;return a|0}if(j>>>0>=(b+4|0)>>>0?(j-b|0)>>>0<=c[2584]<<1>>>0:0)return a|0;a=0;return a|0}if(j>>>0>=b>>>0){d=j-b|0;if(d>>>0<=15)return a|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|3;c[e>>2]=c[e>>2]|1;mR(a+b|0,d);return a|0}if((l|0)==(c[2470]|0)){d=(c[2467]|0)+j|0;if(d>>>0<=b>>>0){a=0;return a|0}n=d-b|0;c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|1;c[2470]=a+b;c[2467]=n;return a|0}if((l|0)==(c[2469]|0)){e=(c[2466]|0)+j|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=d|1;c[a+e>>2]=d;e=a+(e+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[o>>2]=p&1|e|2;e=a+(e+4)|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[2466]=d;c[2469]=e;return a|0}if(f&2){a=0;return a|0}m=(f&-8)+j|0;if(m>>>0>>0){a=0;return a|0}n=m-b|0;g=f>>>3;do if(f>>>0>=256){h=c[a+(j+24)>>2]|0;g=c[a+(j+12)>>2]|0;do if((g|0)==(l|0)){e=a+(j+20)|0;d=c[e>>2]|0;if(!d){e=a+(j+16)|0;d=c[e>>2]|0;if(!d){k=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;k=d;break}}else{f=c[a+(j+8)>>2]|0;if(f>>>0>>0)Ma();d=f+12|0;if((c[d>>2]|0)!=(l|0))Ma();e=g+8|0;if((c[e>>2]|0)==(l|0)){c[d>>2]=g;c[e>>2]=f;k=g;break}else Ma()}while(0);if(h){d=c[a+(j+28)>>2]|0;e=10160+(d<<2)|0;if((l|0)==(c[e>>2]|0)){c[e>>2]=k;if(!k){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();d=h+16|0;if((c[d>>2]|0)==(l|0))c[d>>2]=k;else c[h+20>>2]=k;if(!k)break}e=c[2468]|0;if(k>>>0>>0)Ma();c[k+24>>2]=h;d=c[a+(j+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[k+16>>2]=d;c[d+24>>2]=k;break}while(0);d=c[a+(j+20)>>2]|0;if(d)if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[k+20>>2]=d;c[d+24>>2]=k;break}}}else{f=c[a+(j+8)>>2]|0;e=c[a+(j+12)>>2]|0;d=9896+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(l|0))Ma()}if((e|0)==(f|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(l|0))h=d;else Ma()}else h=e+8|0;c[f+12>>2]=e;c[h>>2]=f}while(0);if(n>>>0<16){c[o>>2]=m|p&1|2;b=a+(m|4)|0;c[b>>2]=c[b>>2]|1;return a|0}else{c[o>>2]=p&1|b|2;c[a+(b+4)>>2]=n|3;p=a+(m|4)|0;c[p>>2]=c[p>>2]|1;mR(a+b|0,n);return a|0}return 0}function mR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){k=c[a>>2]|0;if(!(d&3))return;n=a+(0-k)|0;m=k+b|0;j=c[2468]|0;if(n>>>0>>0)Ma();if((n|0)==(c[2469]|0)){e=a+(b+4)|0;d=c[e>>2]|0;if((d&3|0)!=3){t=n;h=m;break}c[2466]=m;c[e>>2]=d&-2;c[a+(4-k)>>2]=m|1;c[q>>2]=m;return}g=k>>>3;if(k>>>0<256){f=c[a+(8-k)>>2]|0;e=c[a+(12-k)>>2]|0;d=9896+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(n|0))Ma()}if((e|0)==(f|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(n|0))i=d;else Ma()}else i=e+8|0;c[f+12>>2]=e;c[i>>2]=f;t=n;h=m;break}i=c[a+(24-k)>>2]|0;f=c[a+(12-k)>>2]|0;do if((f|0)==(n|0)){f=16-k|0;e=a+(f+4)|0;d=c[e>>2]|0;if(!d){e=a+f|0;d=c[e>>2]|0;if(!d){l=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;l=d;break}}else{g=c[a+(8-k)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(n|0))Ma();e=f+8|0;if((c[e>>2]|0)==(n|0)){c[d>>2]=f;c[e>>2]=g;l=f;break}else Ma()}while(0);if(i){d=c[a+(28-k)>>2]|0;e=10160+(d<<2)|0;if((n|0)==(c[e>>2]|0)){c[e>>2]=l;if(!l){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(n|0))c[d>>2]=l;else c[i+20>>2]=l;if(!l){t=n;h=m;break}}f=c[2468]|0;if(l>>>0>>0)Ma();c[l+24>>2]=i;d=16-k|0;e=c[a+d>>2]|0;do if(e)if(e>>>0>>0)Ma();else{c[l+16>>2]=e;c[e+24>>2]=l;break}while(0);d=c[a+(d+4)>>2]|0;if(d)if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[l+20>>2]=d;c[d+24>>2]=l;t=n;h=m;break}else{t=n;h=m}}else{t=n;h=m}}else{t=a;h=b}while(0);j=c[2468]|0;if(q>>>0>>0)Ma();d=a+(b+4)|0;e=c[d>>2]|0;if(!(e&2)){if((q|0)==(c[2470]|0)){s=(c[2467]|0)+h|0;c[2467]=s;c[2470]=t;c[t+4>>2]=s|1;if((t|0)!=(c[2469]|0))return;c[2469]=0;c[2466]=0;return}if((q|0)==(c[2469]|0)){s=(c[2466]|0)+h|0;c[2466]=s;c[2469]=t;c[t+4>>2]=s|1;c[t+s>>2]=s;return}h=(e&-8)+h|0;g=e>>>3;do if(e>>>0>=256){i=c[a+(b+24)>>2]|0;f=c[a+(b+12)>>2]|0;do if((f|0)==(q|0)){e=a+(b+20)|0;d=c[e>>2]|0;if(!d){e=a+(b+16)|0;d=c[e>>2]|0;if(!d){p=0;break}}while(1){f=d+20|0;g=c[f>>2]|0;if(g){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)Ma();else{c[e>>2]=0;p=d;break}}else{g=c[a+(b+8)>>2]|0;if(g>>>0>>0)Ma();d=g+12|0;if((c[d>>2]|0)!=(q|0))Ma();e=f+8|0;if((c[e>>2]|0)==(q|0)){c[d>>2]=f;c[e>>2]=g;p=f;break}else Ma()}while(0);if(i){d=c[a+(b+28)>>2]|0;e=10160+(d<<2)|0;if((q|0)==(c[e>>2]|0)){c[e>>2]=p;if(!p){c[2465]=c[2465]&~(1<>>0<(c[2468]|0)>>>0)Ma();d=i+16|0;if((c[d>>2]|0)==(q|0))c[d>>2]=p;else c[i+20>>2]=p;if(!p)break}e=c[2468]|0;if(p>>>0>>0)Ma();c[p+24>>2]=i;d=c[a+(b+16)>>2]|0;do if(d)if(d>>>0>>0)Ma();else{c[p+16>>2]=d;c[d+24>>2]=p;break}while(0);d=c[a+(b+20)>>2]|0;if(d)if(d>>>0<(c[2468]|0)>>>0)Ma();else{c[p+20>>2]=d;c[d+24>>2]=p;break}}}else{f=c[a+(b+8)>>2]|0;e=c[a+(b+12)>>2]|0;d=9896+(g<<1<<2)|0;if((f|0)!=(d|0)){if(f>>>0>>0)Ma();if((c[f+12>>2]|0)!=(q|0))Ma()}if((e|0)==(f|0)){c[2464]=c[2464]&~(1<>>0>>0)Ma();d=e+8|0;if((c[d>>2]|0)==(q|0))o=d;else Ma()}else o=e+8|0;c[f+12>>2]=e;c[o>>2]=f}while(0);c[t+4>>2]=h|1;c[t+h>>2]=h;if((t|0)==(c[2469]|0)){c[2466]=h;return}}else{c[d>>2]=e&-2;c[t+4>>2]=h|1;c[t+h>>2]=h}d=h>>>3;if(h>>>0<256){e=d<<1;g=9896+(e<<2)|0;f=c[2464]|0;d=1<>2]|0;if(e>>>0<(c[2468]|0)>>>0)Ma();else{r=d;s=e}}else{c[2464]=f|d;r=9896+(e+2<<2)|0;s=g}c[r>>2]=t;c[s+12>>2]=t;c[t+8>>2]=s;c[t+12>>2]=g;return}d=h>>>8;if(d)if(h>>>0>16777215)g=31;else{r=(d+1048320|0)>>>16&8;s=d<>>16&4;s=s<>>16&2;g=14-(q|r|g)+(s<>>15)|0;g=h>>>(g+7|0)&1|g<<1}else g=0;d=10160+(g<<2)|0;c[t+28>>2]=g;c[t+20>>2]=0;c[t+16>>2]=0;e=c[2465]|0;f=1<>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}d=c[d>>2]|0;a:do if((c[d+4>>2]&-8|0)!=(h|0)){g=h<<((g|0)==31?0:25-(g>>>1)|0);while(1){e=d+16+(g>>>31<<2)|0;f=c[e>>2]|0;if(!f)break;if((c[f+4>>2]&-8|0)==(h|0)){d=f;break a}else{g=g<<1;d=f}}if(e>>>0<(c[2468]|0)>>>0)Ma();c[e>>2]=t;c[t+24>>2]=d;c[t+12>>2]=t;c[t+8>>2]=t;return}while(0);e=d+8|0;f=c[e>>2]|0;s=c[2468]|0;if(!(f>>>0>=s>>>0&d>>>0>=s>>>0))Ma();c[f+12>>2]=t;c[e>>2]=t;c[t+8>>2]=f;c[t+12>>2]=d;c[t+24>>2]=0;return}function nR(){}function oR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (C=d,a-c>>>0|0)|0}function pR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (C=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function qR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b>>>c;return a>>>c|(b&(1<>>c-32|0}function rR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return lb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function sR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else rR(b,c,d)|0;return b|0}function tR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;h=b&3;i=d|d<<8|d<<16|d<<24;g=f&~3;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function uR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){C=b<>>32-c;return a<>c;return a>>>c|(b&(1<>c-32|0}function wR(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[m+(b>>>24)>>0]|0)+24|0}function xR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=_(e,f)|0;d=a>>>16;a=(c>>>16)+(_(e,d)|0)|0;e=b>>>16;b=_(e,f)|0;return (C=(a>>>16)+(_(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function yR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=oR(j^a,i^b,j,i)|0;g=C;a=f^j;b=e^i;return oR((DR(h,g,oR(f^c,e^d,f,e)|0,C,0)|0)^a,C^b,a,b)|0}function zR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=oR(h^a,g^b,h,g)|0;b=C;DR(a,b,oR(l^d,k^e,l,k)|0,C,j)|0;e=oR(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;d=C;i=f;return (C=d,e)|0}function AR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=xR(e,f)|0;a=C;return (C=(_(b,f)|0)+(_(d,e)|0)+a|a&0,c|0|0)|0}function BR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return DR(a,b,c,d,0)|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g|0;DR(a,b,d,e,f)|0;i=g;return (C=c[f+4>>2]|0,c[f>>2]|0)|0}function DR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (C=n,f)|0}else{if(!g){n=0;f=0;return (C=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (C=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (C=n,f)|0}g=h-1|0;if(g&h){i=(aa(h|0)|0)+33-(aa(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (C=o,p)|0}else{p=wR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (C=o,p)|0}}else{if(g){if(f){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (C=o,p)|0}if(!l){if(f){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (C=o,p)|0}g=i-1|0;if(!(g&i)){if(f){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((wR(i|0)|0)>>>0);return (C=o,p)|0}g=(aa(i|0)|0)-(aa(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (C=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=pR(m|0,l|0,-1,-1)|0;d=C;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;oR(k,d,e,n)|0;p=C;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=oR(e,n,o&m,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l)|0;b=C;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (C=o,p)|0}function ER(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ob[a&255](b|0,c|0,d|0)|0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(0,a|0,b|0,c|0)|0}function GR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(1,a|0,b|0,c|0)|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(2,a|0,b|0,c|0)|0}function IR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(3,a|0,b|0,c|0)|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(4,a|0,b|0,c|0)|0}function KR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(5,a|0,b|0,c|0)|0}function LR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(6,a|0,b|0,c|0)|0}function MR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(7,a|0,b|0,c|0)|0}function NR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(8,a|0,b|0,c|0)|0}function OR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(9,a|0,b|0,c|0)|0}function PR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(10,a|0,b|0,c|0)|0}function QR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(11,a|0,b|0,c|0)|0}function RR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(12,a|0,b|0,c|0)|0}function SR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(13,a|0,b|0,c|0)|0}function TR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(14,a|0,b|0,c|0)|0}function UR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(15,a|0,b|0,c|0)|0}function VR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(16,a|0,b|0,c|0)|0}function WR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(17,a|0,b|0,c|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(18,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(19,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return ea(20,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(21,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return ea(22,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(23,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(24,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(25,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(26,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(27,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(28,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(29,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(30,a|0,b|0,c|0)|0}function iS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(31,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(32,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(33,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(34,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(35,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(36,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(37,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(38,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(39,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(40,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(41,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(42,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(43,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(44,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(45,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(46,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(47,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(48,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(49,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(50,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(51,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(52,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return ea(53,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(54,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(55,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(56,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(57,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(58,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(59,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(60,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(61,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(62,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return ea(63,a|0,b|0,c|0)|0}function PS(a){a=a|0;return Pb[a&255]()|0}function QS(){return ga(0)|0}function RS(){return ga(1)|0}function SS(){return ga(2)|0}function TS(){return ga(3)|0}function US(){return ga(4)|0}function VS(){return ga(5)|0}function WS(){return ga(6)|0}function XS(){return ga(7)|0}function YS(){return ga(8)|0}function ZS(){return ga(9)|0}function _S(){return ga(10)|0}function $S(){return ga(11)|0}function aT(){return ga(12)|0}function bT(){return ga(13)|0}function cT(){return ga(14)|0}function dT(){return ga(15)|0}function eT(){return ga(16)|0}function fT(){return ga(17)|0}function gT(){return ga(18)|0}function hT(){return ga(19)|0}function iT(){return ga(20)|0}function jT(){return ga(21)|0}function kT(){return ga(22)|0}function lT(){return ga(23)|0}function mT(){return ga(24)|0}function nT(){return ga(25)|0}function oT(){return ga(26)|0}function pT(){return ga(27)|0}function qT(){return ga(28)|0}function rT(){return ga(29)|0}function sT(){return ga(30)|0}function tT(){return ga(31)|0}function uT(){return ga(32)|0}function vT(){return ga(33)|0}function wT(){return ga(34)|0}function xT(){return ga(35)|0}function yT(){return ga(36)|0}function zT(){return ga(37)|0}function AT(){return ga(38)|0}function BT(){return ga(39)|0}function CT(){return ga(40)|0}function DT(){return ga(41)|0}function ET(){return ga(42)|0}function FT(){return ga(43)|0}function GT(){return ga(44)|0}function HT(){return ga(45)|0}function IT(){return ga(46)|0}function JT(){return ga(47)|0}function KT(){return ga(48)|0}function LT(){return ga(49)|0}function MT(){return ga(50)|0}function NT(){return ga(51)|0}function OT(){return ga(52)|0}function PT(){return ga(53)|0}function QT(){return ga(54)|0}function RT(){return ga(55)|0}function ST(){return ga(56)|0}function TT(){return ga(57)|0}function UT(){return ga(58)|0}function VT(){return ga(59)|0}function WT(){return ga(60)|0}function XT(){return ga(61)|0}function YT(){return ga(62)|0}function ZT(){return ga(63)|0}function _T(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function $T(a){a=a|0;ia(0,a|0)}function aU(a){a=a|0;ia(1,a|0)}function bU(a){a=a|0;ia(2,a|0)}function cU(a){a=a|0;ia(3,a|0)}function dU(a){a=a|0;ia(4,a|0)}function eU(a){a=a|0;ia(5,a|0)}function fU(a){a=a|0;ia(6,a|0)}function gU(a){a=a|0;ia(7,a|0)}function hU(a){a=a|0;ia(8,a|0)}function iU(a){a=a|0;ia(9,a|0)}function jU(a){a=a|0;ia(10,a|0)}function kU(a){a=a|0;ia(11,a|0)}function lU(a){a=a|0;ia(12,a|0)}function mU(a){a=a|0;ia(13,a|0)}function nU(a){a=a|0;ia(14,a|0)}function oU(a){a=a|0;ia(15,a|0)}function pU(a){a=a|0;ia(16,a|0)}function qU(a){a=a|0;ia(17,a|0)}function rU(a){a=a|0;ia(18,a|0)}function sU(a){a=a|0;ia(19,a|0)}function tU(a){a=a|0;ia(20,a|0)}function uU(a){a=a|0;ia(21,a|0)}function vU(a){a=a|0;ia(22,a|0)}function wU(a){a=a|0;ia(23,a|0)}function xU(a){a=a|0;ia(24,a|0)}function yU(a){a=a|0;ia(25,a|0)}function zU(a){a=a|0;ia(26,a|0)}function AU(a){a=a|0;ia(27,a|0)}function BU(a){a=a|0;ia(28,a|0)}function CU(a){a=a|0;ia(29,a|0)}function DU(a){a=a|0;ia(30,a|0)}function EU(a){a=a|0;ia(31,a|0)}function FU(a){a=a|0;ia(32,a|0)}function GU(a){a=a|0;ia(33,a|0)}function HU(a){a=a|0;ia(34,a|0)}function IU(a){a=a|0;ia(35,a|0)}function JU(a){a=a|0;ia(36,a|0)}function KU(a){a=a|0;ia(37,a|0)}function LU(a){a=a|0;ia(38,a|0)}function MU(a){a=a|0;ia(39,a|0)}function NU(a){a=a|0;ia(40,a|0)}function OU(a){a=a|0;ia(41,a|0)}function PU(a){a=a|0;ia(42,a|0)}function QU(a){a=a|0;ia(43,a|0)}function RU(a){a=a|0;ia(44,a|0)}function SU(a){a=a|0;ia(45,a|0)}function TU(a){a=a|0;ia(46,a|0)}function UU(a){a=a|0;ia(47,a|0)}function VU(a){a=a|0;ia(48,a|0)}function WU(a){a=a|0;ia(49,a|0)}function XU(a){a=a|0;ia(50,a|0)}function YU(a){a=a|0;ia(51,a|0)}function ZU(a){a=a|0;ia(52,a|0)}function _U(a){a=a|0;ia(53,a|0)}function $U(a){a=a|0;ia(54,a|0)}function aV(a){a=a|0;ia(55,a|0)}function bV(a){a=a|0;ia(56,a|0)}function cV(a){a=a|0;ia(57,a|0)}function dV(a){a=a|0;ia(58,a|0)}function eV(a){a=a|0;ia(59,a|0)}function fV(a){a=a|0;ia(60,a|0)}function gV(a){a=a|0;ia(61,a|0)}function hV(a){a=a|0;ia(62,a|0)}function iV(a){a=a|0;ia(63,a|0)}function jV(a,b,c){a=a|0;b=b|0;c=c|0;Rb[a&255](b|0,c|0)}function kV(a,b){a=a|0;b=b|0;ka(0,a|0,b|0)}function lV(a,b){a=a|0;b=b|0;ka(1,a|0,b|0)}function mV(a,b){a=a|0;b=b|0;ka(2,a|0,b|0)}function nV(a,b){a=a|0;b=b|0;ka(3,a|0,b|0)}function oV(a,b){a=a|0;b=b|0;ka(4,a|0,b|0)}function pV(a,b){a=a|0;b=b|0;ka(5,a|0,b|0)}function qV(a,b){a=a|0;b=b|0;ka(6,a|0,b|0)}function rV(a,b){a=a|0;b=b|0;ka(7,a|0,b|0)}function sV(a,b){a=a|0;b=b|0;ka(8,a|0,b|0)}function tV(a,b){a=a|0;b=b|0;ka(9,a|0,b|0)}function uV(a,b){a=a|0;b=b|0;ka(10,a|0,b|0)}function vV(a,b){a=a|0;b=b|0;ka(11,a|0,b|0)}function wV(a,b){a=a|0;b=b|0;ka(12,a|0,b|0)}function xV(a,b){a=a|0;b=b|0;ka(13,a|0,b|0)}function yV(a,b){a=a|0;b=b|0;ka(14,a|0,b|0)}function zV(a,b){a=a|0;b=b|0;ka(15,a|0,b|0)}function AV(a,b){a=a|0;b=b|0;ka(16,a|0,b|0)}function BV(a,b){a=a|0;b=b|0;ka(17,a|0,b|0)}function CV(a,b){a=a|0;b=b|0;ka(18,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ka(19,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ka(20,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ka(21,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ka(22,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ka(23,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ka(24,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ka(25,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ka(26,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ka(27,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ka(28,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ka(29,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ka(30,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ka(31,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ka(32,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ka(33,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ka(34,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ka(35,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ka(36,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ka(37,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ka(38,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ka(39,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ka(40,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ka(41,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ka(42,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ka(43,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ka(44,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ka(45,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ka(46,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ka(47,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ka(48,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ka(49,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ka(50,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ka(51,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ka(52,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ka(53,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ka(54,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ka(55,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ka(56,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ka(57,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ka(58,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ka(59,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ka(60,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ka(61,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ka(62,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ka(63,a|0,b|0)}function uW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function vW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ma(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b){a=a|0;b=b|0;return Tb[a&255](b|0)|0}function GX(a){a=a|0;return oa(0,a|0)|0}function HX(a){a=a|0;return oa(1,a|0)|0}function IX(a){a=a|0;return oa(2,a|0)|0}function JX(a){a=a|0;return oa(3,a|0)|0}function KX(a){a=a|0;return oa(4,a|0)|0}function LX(a){a=a|0;return oa(5,a|0)|0}function MX(a){a=a|0;return oa(6,a|0)|0}function NX(a){a=a|0;return oa(7,a|0)|0}function OX(a){a=a|0;return oa(8,a|0)|0}function PX(a){a=a|0;return oa(9,a|0)|0}function QX(a){a=a|0;return oa(10,a|0)|0}function RX(a){a=a|0;return oa(11,a|0)|0}function SX(a){a=a|0;return oa(12,a|0)|0}function TX(a){a=a|0;return oa(13,a|0)|0}function UX(a){a=a|0;return oa(14,a|0)|0}function VX(a){a=a|0;return oa(15,a|0)|0}function WX(a){a=a|0;return oa(16,a|0)|0}function XX(a){a=a|0;return oa(17,a|0)|0}function YX(a){a=a|0;return oa(18,a|0)|0}function ZX(a){a=a|0;return oa(19,a|0)|0}function _X(a){a=a|0;return oa(20,a|0)|0}function $X(a){a=a|0;return oa(21,a|0)|0}function aY(a){a=a|0;return oa(22,a|0)|0}function bY(a){a=a|0;return oa(23,a|0)|0}function cY(a){a=a|0;return oa(24,a|0)|0}function dY(a){a=a|0;return oa(25,a|0)|0}function eY(a){a=a|0;return oa(26,a|0)|0}function fY(a){a=a|0;return oa(27,a|0)|0}function gY(a){a=a|0;return oa(28,a|0)|0}function hY(a){a=a|0;return oa(29,a|0)|0}function iY(a){a=a|0;return oa(30,a|0)|0}function jY(a){a=a|0;return oa(31,a|0)|0}function kY(a){a=a|0;return oa(32,a|0)|0}function lY(a){a=a|0;return oa(33,a|0)|0}function mY(a){a=a|0;return oa(34,a|0)|0}function nY(a){a=a|0;return oa(35,a|0)|0}function oY(a){a=a|0;return oa(36,a|0)|0}function pY(a){a=a|0;return oa(37,a|0)|0}function qY(a){a=a|0;return oa(38,a|0)|0}function rY(a){a=a|0;return oa(39,a|0)|0}function sY(a){a=a|0;return oa(40,a|0)|0}function tY(a){a=a|0;return oa(41,a|0)|0}function uY(a){a=a|0;return oa(42,a|0)|0}function vY(a){a=a|0;return oa(43,a|0)|0}function wY(a){a=a|0;return oa(44,a|0)|0}function xY(a){a=a|0;return oa(45,a|0)|0}function yY(a){a=a|0;return oa(46,a|0)|0}function zY(a){a=a|0;return oa(47,a|0)|0}function AY(a){a=a|0;return oa(48,a|0)|0}function BY(a){a=a|0;return oa(49,a|0)|0}function CY(a){a=a|0;return oa(50,a|0)|0}function DY(a){a=a|0;return oa(51,a|0)|0}function EY(a){a=a|0;return oa(52,a|0)|0}function FY(a){a=a|0;return oa(53,a|0)|0}function GY(a){a=a|0;return oa(54,a|0)|0}function HY(a){a=a|0;return oa(55,a|0)|0}function IY(a){a=a|0;return oa(56,a|0)|0}function JY(a){a=a|0;return oa(57,a|0)|0}function KY(a){a=a|0;return oa(58,a|0)|0}function LY(a){a=a|0;return oa(59,a|0)|0}function MY(a){a=a|0;return oa(60,a|0)|0}function NY(a){a=a|0;return oa(61,a|0)|0}function OY(a){a=a|0;return oa(62,a|0)|0}function PY(a){a=a|0;return oa(63,a|0)|0}function QY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&255](b|0,c|0,d|0)}function RY(a,b,c){a=a|0;b=b|0;c=c|0;qa(0,a|0,b|0,c|0)}function SY(a,b,c){a=a|0;b=b|0;c=c|0;qa(1,a|0,b|0,c|0)}function TY(a,b,c){a=a|0;b=b|0;c=c|0;qa(2,a|0,b|0,c|0)}function UY(a,b,c){a=a|0;b=b|0;c=c|0;qa(3,a|0,b|0,c|0)}function VY(a,b,c){a=a|0;b=b|0;c=c|0;qa(4,a|0,b|0,c|0)}function WY(a,b,c){a=a|0;b=b|0;c=c|0;qa(5,a|0,b|0,c|0)}function XY(a,b,c){a=a|0;b=b|0;c=c|0;qa(6,a|0,b|0,c|0)}function YY(a,b,c){a=a|0;b=b|0;c=c|0;qa(7,a|0,b|0,c|0)}function ZY(a,b,c){a=a|0;b=b|0;c=c|0;qa(8,a|0,b|0,c|0)}function _Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(9,a|0,b|0,c|0)}function $Y(a,b,c){a=a|0;b=b|0;c=c|0;qa(10,a|0,b|0,c|0)}function aZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(11,a|0,b|0,c|0)}function bZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(12,a|0,b|0,c|0)}function cZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(13,a|0,b|0,c|0)}function dZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(14,a|0,b|0,c|0)}function eZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(15,a|0,b|0,c|0)}function fZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(16,a|0,b|0,c|0)}function gZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(17,a|0,b|0,c|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(18,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(19,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(20,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(21,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(22,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(23,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(24,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(25,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(26,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(27,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(28,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(29,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(30,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(31,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(32,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(33,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(34,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(35,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(36,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(37,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(38,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(39,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(40,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(41,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(42,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(43,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(44,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(45,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(46,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(47,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(48,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(49,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(50,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(51,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(52,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(53,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(54,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(55,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(56,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(57,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(58,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(59,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(60,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(61,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;qa(62,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;qa(63,a|0,b|0,c|0)}function $Z(a){a=a|0;Vb[a&255]()}function a_(){sa(0)}function b_(){sa(1)}function c_(){sa(2)}function d_(){sa(3)}function e_(){sa(4)}function f_(){sa(5)}function g_(){sa(6)}function h_(){sa(7)}function i_(){sa(8)}function j_(){sa(9)}function k_(){sa(10)}function l_(){sa(11)}function m_(){sa(12)}function n_(){sa(13)}function o_(){sa(14)}function p_(){sa(15)}function q_(){sa(16)}function r_(){sa(17)}function s_(){sa(18)}function t_(){sa(19)}function u_(){sa(20)}function v_(){sa(21)}function w_(){sa(22)}function x_(){sa(23)}function y_(){sa(24)}function z_(){sa(25)}function A_(){sa(26)}function B_(){sa(27)}function C_(){sa(28)}function D_(){sa(29)}function E_(){sa(30)}function F_(){sa(31)}function G_(){sa(32)}function H_(){sa(33)}function I_(){sa(34)}function J_(){sa(35)}function K_(){sa(36)}function L_(){sa(37)}function M_(){sa(38)}function N_(){sa(39)}function O_(){sa(40)}function P_(){sa(41)}function Q_(){sa(42)}function R_(){sa(43)}function S_(){sa(44)}function T_(){sa(45)}function U_(){sa(46)}function V_(){sa(47)}function W_(){sa(48)}function X_(){sa(49)}function Y_(){sa(50)}function Z_(){sa(51)}function __(){sa(52)}function $_(){sa(53)}function a$(){sa(54)}function b$(){sa(55)}function c$(){sa(56)}function d$(){sa(57)}function e$(){sa(58)}function f$(){sa(59)}function g$(){sa(60)}function h$(){sa(61)}function i$(){sa(62)}function j$(){sa(63)}function k$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Wb[a&255](b|0,c|0,d|0,e|0)|0}function l$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(0,a|0,b|0,c|0,d|0)|0}function m$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(1,a|0,b|0,c|0,d|0)|0}function n$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(2,a|0,b|0,c|0,d|0)|0}function o$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(3,a|0,b|0,c|0,d|0)|0}function p$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(4,a|0,b|0,c|0,d|0)|0}function q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(5,a|0,b|0,c|0,d|0)|0}function r$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(6,a|0,b|0,c|0,d|0)|0}function s$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(7,a|0,b|0,c|0,d|0)|0}function t$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(8,a|0,b|0,c|0,d|0)|0}function u$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(9,a|0,b|0,c|0,d|0)|0}function v$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(10,a|0,b|0,c|0,d|0)|0}function w$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(11,a|0,b|0,c|0,d|0)|0}function x$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(12,a|0,b|0,c|0,d|0)|0}function y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(13,a|0,b|0,c|0,d|0)|0}function z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(14,a|0,b|0,c|0,d|0)|0}function A$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(15,a|0,b|0,c|0,d|0)|0}function B$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(16,a|0,b|0,c|0,d|0)|0}function C$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(17,a|0,b|0,c|0,d|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(18,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(19,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(20,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(21,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(22,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(23,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(24,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(25,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(26,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(27,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(28,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(29,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(30,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(31,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(32,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(33,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(34,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(35,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(36,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(37,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(38,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(39,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(40,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(41,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(42,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(43,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(44,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(45,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(46,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(47,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(48,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(49,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(50,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(51,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(52,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(53,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(54,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(55,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(56,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(57,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(58,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(59,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(60,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(61,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(62,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ua(63,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function w0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function x0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function A0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function B0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function C0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function D0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function E0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function F0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function G0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function H0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function I0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function J0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function K0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function L0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function M0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function N0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;wa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c){a=a|0;b=b|0;c=c|0;return Yb[a&255](b|0,c|0)|0}function H1(a,b){a=a|0;b=b|0;return ya(0,a|0,b|0)|0}function I1(a,b){a=a|0;b=b|0;return ya(1,a|0,b|0)|0}function J1(a,b){a=a|0;b=b|0;return ya(2,a|0,b|0)|0}function K1(a,b){a=a|0;b=b|0;return ya(3,a|0,b|0)|0}function L1(a,b){a=a|0;b=b|0;return ya(4,a|0,b|0)|0}function M1(a,b){a=a|0;b=b|0;return ya(5,a|0,b|0)|0}function N1(a,b){a=a|0;b=b|0;return ya(6,a|0,b|0)|0}function O1(a,b){a=a|0;b=b|0;return ya(7,a|0,b|0)|0}function P1(a,b){a=a|0;b=b|0;return ya(8,a|0,b|0)|0}function Q1(a,b){a=a|0;b=b|0;return ya(9,a|0,b|0)|0}function R1(a,b){a=a|0;b=b|0;return ya(10,a|0,b|0)|0}function S1(a,b){a=a|0;b=b|0;return ya(11,a|0,b|0)|0}function T1(a,b){a=a|0;b=b|0;return ya(12,a|0,b|0)|0}function U1(a,b){a=a|0;b=b|0;return ya(13,a|0,b|0)|0}function V1(a,b){a=a|0;b=b|0;return ya(14,a|0,b|0)|0}function W1(a,b){a=a|0;b=b|0;return ya(15,a|0,b|0)|0}function X1(a,b){a=a|0;b=b|0;return ya(16,a|0,b|0)|0}function Y1(a,b){a=a|0;b=b|0;return ya(17,a|0,b|0)|0}function Z1(a,b){a=a|0;b=b|0;return ya(18,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return ya(19,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return ya(20,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return ya(21,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return ya(22,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return ya(23,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return ya(24,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return ya(25,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return ya(26,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return ya(27,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return ya(28,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return ya(29,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return ya(30,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return ya(31,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return ya(32,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return ya(33,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return ya(34,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return ya(35,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return ya(36,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return ya(37,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return ya(38,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return ya(39,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return ya(40,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return ya(41,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return ya(42,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return ya(43,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return ya(44,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return ya(45,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return ya(46,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return ya(47,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return ya(48,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return ya(49,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return ya(50,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return ya(51,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return ya(52,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return ya(53,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return ya(54,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return ya(55,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return ya(56,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return ya(57,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return ya(58,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return ya(59,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return ya(60,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return ya(61,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return ya(62,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return ya(63,a|0,b|0)|0}function R2(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function S2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(0,a|0,b|0,c|0,d|0,e|0)|0}function T2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(1,a|0,b|0,c|0,d|0,e|0)|0}function U2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(2,a|0,b|0,c|0,d|0,e|0)|0}function V2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(3,a|0,b|0,c|0,d|0,e|0)|0}function W2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(4,a|0,b|0,c|0,d|0,e|0)|0}function X2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(5,a|0,b|0,c|0,d|0,e|0)|0}function Y2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(6,a|0,b|0,c|0,d|0,e|0)|0}function Z2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(7,a|0,b|0,c|0,d|0,e|0)|0}function _2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(8,a|0,b|0,c|0,d|0,e|0)|0}function $2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(9,a|0,b|0,c|0,d|0,e|0)|0}function a3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(10,a|0,b|0,c|0,d|0,e|0)|0}function b3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(11,a|0,b|0,c|0,d|0,e|0)|0}function c3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(12,a|0,b|0,c|0,d|0,e|0)|0}function d3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(13,a|0,b|0,c|0,d|0,e|0)|0}function e3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(14,a|0,b|0,c|0,d|0,e|0)|0}function f3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(15,a|0,b|0,c|0,d|0,e|0)|0}function g3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(16,a|0,b|0,c|0,d|0,e|0)|0}function h3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(17,a|0,b|0,c|0,d|0,e|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(18,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(19,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(20,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(21,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(22,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(23,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(24,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(25,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(26,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(27,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(28,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(29,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(30,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(31,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(32,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(33,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(34,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(35,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(36,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(37,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(38,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(39,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(40,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(41,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(42,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(43,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(44,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(45,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(46,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(47,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(48,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(49,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(50,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(51,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(52,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(53,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(54,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(55,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(56,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(57,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(58,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(59,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(60,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(61,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(62,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Aa(63,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;_b[a&255](b|0,c|0,d|0,e|0)}function b4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(0,a|0,b|0,c|0,d|0)}function c4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(1,a|0,b|0,c|0,d|0)}function d4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(2,a|0,b|0,c|0,d|0)}function e4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(3,a|0,b|0,c|0,d|0)}function f4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(4,a|0,b|0,c|0,d|0)}function g4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(5,a|0,b|0,c|0,d|0)}function h4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(6,a|0,b|0,c|0,d|0)}function i4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(7,a|0,b|0,c|0,d|0)}function j4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(8,a|0,b|0,c|0,d|0)}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(9,a|0,b|0,c|0,d|0)}function l4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(10,a|0,b|0,c|0,d|0)}function m4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(11,a|0,b|0,c|0,d|0)}function n4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(12,a|0,b|0,c|0,d|0)}function o4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(13,a|0,b|0,c|0,d|0)}function p4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(14,a|0,b|0,c|0,d|0)}function q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(15,a|0,b|0,c|0,d|0)}function r4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(16,a|0,b|0,c|0,d|0)}function s4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(17,a|0,b|0,c|0,d|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(18,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(19,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(20,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(21,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(22,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(23,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(24,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(25,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(26,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(27,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(28,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(29,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(30,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(31,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(32,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(33,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(34,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(35,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(36,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(37,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(38,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(39,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(40,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(41,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(42,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(43,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(44,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(45,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(46,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(47,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(48,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(49,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(50,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(51,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(52,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(53,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(54,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(55,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(56,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(57,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(58,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(59,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(60,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(61,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(62,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ca(63,a|0,b|0,c|0,d|0)}function l5(a,b,c){a=a|0;b=b|0;c=c|0;ba(0);return 0}function m5(){ba(1);return 0}function n5(a){a=a|0;ba(2)}function o5(a,b){a=a|0;b=b|0;ba(3)}function p5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(4);return 0}function q5(a){a=a|0;ba(5);return 0}function r5(a,b,c){a=a|0;b=b|0;c=c|0;ba(6)}function s5(){ba(7)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(8);return 0}function u5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ba(9)}function v5(a,b){a=a|0;b=b|0;ba(10);return 0}function w5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(11);return 0}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(12)} // EMSCRIPTEN_END_FUNCS -var Ob=[c5,c5,wR,c5,xR,c5,yR,c5,zR,c5,AR,c5,BR,c5,CR,c5,DR,c5,ER,c5,FR,c5,GR,c5,HR,c5,IR,c5,JR,c5,KR,c5,LR,c5,MR,c5,NR,c5,OR,c5,PR,c5,QR,c5,RR,c5,SR,c5,TR,c5,UR,c5,VR,c5,WR,c5,XR,c5,YR,c5,ZR,c5,_R,c5,$R,c5,aS,c5,bS,c5,cS,c5,dS,c5,eS,c5,fS,c5,gS,c5,hS,c5,iS,c5,jS,c5,kS,c5,lS,c5,mS,c5,nS,c5,oS,c5,pS,c5,qS,c5,rS,c5,sS,c5,tS,c5,uS,c5,vS,c5,wS,c5,xS,c5,yS,c5,zS,c5,AS,c5,BS,c5,CS,c5,DS,c5,ES,c5,FS,c5,RM,UM,XM,ZM,Tk,tk,Zp,nq,Cq,Fq,Fr,nu,qu,eN,kN,yN,UP,NQ,SQ,GQ,OQ,sQ,qQ,Ln,Gm,Jm,Hn,Fn,Pn,Wn,pF,qF,rF,rQ,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5,c5];var Pb=[d5,d5,HS,d5,IS,d5,JS,d5,KS,d5,LS,d5,MS,d5,NS,d5,OS,d5,PS,d5,QS,d5,RS,d5,SS,d5,TS,d5,US,d5,VS,d5,WS,d5,XS,d5,YS,d5,ZS,d5,_S,d5,$S,d5,aT,d5,bT,d5,cT,d5,dT,d5,eT,d5,fT,d5,gT,d5,hT,d5,iT,d5,jT,d5,kT,d5,lT,d5,mT,d5,nT,d5,oT,d5,pT,d5,qT,d5,rT,d5,sT,d5,tT,d5,uT,d5,vT,d5,wT,d5,xT,d5,yT,d5,zT,d5,AT,d5,BT,d5,CT,d5,DT,d5,ET,d5,FT,d5,GT,d5,HT,d5,IT,d5,JT,d5,KT,d5,LT,d5,MT,d5,NT,d5,OT,d5,PT,d5,QT,d5,KQ,AN,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5,d5];var Qb=[e5,e5,ST,e5,TT,e5,UT,e5,VT,e5,WT,e5,XT,e5,YT,e5,ZT,e5,_T,e5,$T,e5,aU,e5,bU,e5,cU,e5,dU,e5,eU,e5,fU,e5,gU,e5,hU,e5,iU,e5,jU,e5,kU,e5,lU,e5,mU,e5,nU,e5,oU,e5,pU,e5,qU,e5,rU,e5,sU,e5,tU,e5,uU,e5,vU,e5,wU,e5,xU,e5,yU,e5,zU,e5,AU,e5,BU,e5,CU,e5,DU,e5,EU,e5,FU,e5,GU,e5,HU,e5,IU,e5,JU,e5,KU,e5,LU,e5,MU,e5,NU,e5,OU,e5,PU,e5,QU,e5,RU,e5,SU,e5,TU,e5,UU,e5,VU,e5,WU,e5,XU,e5,YU,e5,ZU,e5,_U,e5,$U,e5,Wc,Xc,Zc,_c,$c,ad,mu,uu,vu,Ju,Ou,oN,ZO,zP,AP,BP,DP,FP,Kd,Uq,tj,hk,Kn,Oz,TQ,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5,e5];var Rb=[f5,f5,bV,f5,cV,f5,dV,f5,eV,f5,fV,f5,gV,f5,hV,f5,iV,f5,jV,f5,kV,f5,lV,f5,mV,f5,nV,f5,oV,f5,pV,f5,qV,f5,rV,f5,sV,f5,tV,f5,uV,f5,vV,f5,wV,f5,xV,f5,yV,f5,zV,f5,AV,f5,BV,f5,CV,f5,DV,f5,EV,f5,FV,f5,GV,f5,HV,f5,IV,f5,JV,f5,KV,f5,LV,f5,MV,f5,NV,f5,OV,f5,PV,f5,QV,f5,RV,f5,SV,f5,TV,f5,UV,f5,VV,f5,WV,f5,XV,f5,YV,f5,ZV,f5,_V,f5,$V,f5,aW,f5,bW,f5,cW,f5,dW,f5,eW,f5,fW,f5,gW,f5,hW,f5,iW,f5,jW,f5,kW,f5,ou,tu,Ry,Xx,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5,f5];var Sb=[g5,g5,mW,g5,nW,g5,oW,g5,pW,g5,qW,g5,rW,g5,sW,g5,tW,g5,uW,g5,vW,g5,wW,g5,xW,g5,yW,g5,zW,g5,AW,g5,BW,g5,CW,g5,DW,g5,EW,g5,FW,g5,GW,g5,HW,g5,IW,g5,JW,g5,KW,g5,LW,g5,MW,g5,NW,g5,OW,g5,PW,g5,QW,g5,RW,g5,SW,g5,TW,g5,UW,g5,VW,g5,WW,g5,XW,g5,YW,g5,ZW,g5,_W,g5,$W,g5,aX,g5,bX,g5,cX,g5,dX,g5,eX,g5,fX,g5,gX,g5,hX,g5,iX,g5,jX,g5,kX,g5,lX,g5,mX,g5,nX,g5,oX,g5,pX,g5,qX,g5,rX,g5,sX,g5,tX,g5,uX,g5,vX,g5,Jk,Kk,lk,bq,rq,uq,Jq,gQ,PK,QK,RK,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5,g5];var Tb=[h5,h5,xX,h5,yX,h5,zX,h5,AX,h5,BX,h5,CX,h5,DX,h5,EX,h5,FX,h5,GX,h5,HX,h5,IX,h5,JX,h5,KX,h5,LX,h5,MX,h5,NX,h5,OX,h5,PX,h5,QX,h5,RX,h5,SX,h5,TX,h5,UX,h5,VX,h5,WX,h5,XX,h5,YX,h5,ZX,h5,_X,h5,$X,h5,aY,h5,bY,h5,cY,h5,dY,h5,eY,h5,fY,h5,gY,h5,hY,h5,iY,h5,jY,h5,kY,h5,lY,h5,mY,h5,nY,h5,oY,h5,pY,h5,qY,h5,rY,h5,sY,h5,tY,h5,uY,h5,vY,h5,wY,h5,xY,h5,yY,h5,zY,h5,AY,h5,BY,h5,CY,h5,DY,h5,EY,h5,FY,h5,GY,h5,Mk,Nk,Pk,Rk,Sk,Wk,Xk,Yk,Zk,nk,pk,rk,sk,_p,aq,oq,qq,wq,yq,Aq,Bq,Gq,Iq,Cr,lu,pu,Iu,Lu,Mu,Nu,bN,lN,mN,FQ,RQ,PQ,RN,aO,pQ,ae,$f,Yq,fq,gq,kq,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5,h5];var Ub=[i5,i5,IY,i5,JY,i5,KY,i5,LY,i5,MY,i5,NY,i5,OY,i5,PY,i5,QY,i5,RY,i5,SY,i5,TY,i5,UY,i5,VY,i5,WY,i5,XY,i5,YY,i5,ZY,i5,_Y,i5,$Y,i5,aZ,i5,bZ,i5,cZ,i5,dZ,i5,eZ,i5,fZ,i5,gZ,i5,hZ,i5,iZ,i5,jZ,i5,kZ,i5,lZ,i5,mZ,i5,nZ,i5,oZ,i5,pZ,i5,qZ,i5,rZ,i5,sZ,i5,tZ,i5,uZ,i5,vZ,i5,wZ,i5,xZ,i5,yZ,i5,zZ,i5,AZ,i5,BZ,i5,CZ,i5,DZ,i5,EZ,i5,FZ,i5,GZ,i5,HZ,i5,IZ,i5,JZ,i5,KZ,i5,LZ,i5,MZ,i5,NZ,i5,OZ,i5,PZ,i5,QZ,i5,RZ,i5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,lm,mm,nm,om,ru,Nz,Jz,Iz,kB,tB,WO,XO,YO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,jP,kP,lP,mP,nP,oP,pP,qP,rP,sP,tP,uP,vP,wP,xP,yP,CP,EP,hC,vO,wO,xO,yO,zO,AO,BO,CO,DO,EO,FO,hi,Up,Nt,Pt,Qt,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5,i5];var Vb=[j5,j5,TZ,j5,UZ,j5,VZ,j5,WZ,j5,XZ,j5,YZ,j5,ZZ,j5,_Z,j5,$Z,j5,a_,j5,b_,j5,c_,j5,d_,j5,e_,j5,f_,j5,g_,j5,h_,j5,i_,j5,j_,j5,k_,j5,l_,j5,m_,j5,n_,j5,o_,j5,p_,j5,q_,j5,r_,j5,s_,j5,t_,j5,u_,j5,v_,j5,w_,j5,x_,j5,y_,j5,z_,j5,A_,j5,B_,j5,C_,j5,D_,j5,E_,j5,F_,j5,G_,j5,H_,j5,I_,j5,J_,j5,K_,j5,L_,j5,M_,j5,N_,j5,O_,j5,P_,j5,Q_,j5,R_,j5,S_,j5,T_,j5,U_,j5,V_,j5,W_,j5,X_,j5,Y_,j5,Z_,j5,__,j5,$_,j5,a$,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5,j5];var Wb=[k5,k5,c$,k5,d$,k5,e$,k5,f$,k5,g$,k5,h$,k5,i$,k5,j$,k5,k$,k5,l$,k5,m$,k5,n$,k5,o$,k5,p$,k5,q$,k5,r$,k5,s$,k5,t$,k5,u$,k5,v$,k5,w$,k5,x$,k5,y$,k5,z$,k5,A$,k5,B$,k5,C$,k5,D$,k5,E$,k5,F$,k5,G$,k5,H$,k5,I$,k5,J$,k5,K$,k5,L$,k5,M$,k5,N$,k5,O$,k5,P$,k5,Q$,k5,R$,k5,S$,k5,T$,k5,U$,k5,V$,k5,W$,k5,X$,k5,Y$,k5,Z$,k5,_$,k5,$$,k5,a0,k5,b0,k5,c0,k5,d0,k5,e0,k5,f0,k5,g0,k5,h0,k5,i0,k5,j0,k5,k0,k5,l0,k5,SM,TM,Vk,$p,pq,Hq,nN,rN,Mh,ii,wj,Dj,Ek,Fk,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5,k5];var Xb=[l5,l5,n0,l5,o0,l5,p0,l5,q0,l5,r0,l5,s0,l5,t0,l5,u0,l5,v0,l5,w0,l5,x0,l5,y0,l5,z0,l5,A0,l5,B0,l5,C0,l5,D0,l5,E0,l5,F0,l5,G0,l5,H0,l5,I0,l5,J0,l5,K0,l5,L0,l5,M0,l5,N0,l5,O0,l5,P0,l5,Q0,l5,R0,l5,S0,l5,T0,l5,U0,l5,V0,l5,W0,l5,X0,l5,Y0,l5,Z0,l5,_0,l5,$0,l5,a1,l5,b1,l5,c1,l5,d1,l5,e1,l5,f1,l5,g1,l5,h1,l5,i1,l5,j1,l5,k1,l5,l1,l5,m1,l5,n1,l5,o1,l5,p1,l5,q1,l5,r1,l5,s1,l5,t1,l5,u1,l5,v1,l5,w1,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5];var Yb=[m5,m5,y1,m5,z1,m5,A1,m5,B1,m5,C1,m5,D1,m5,E1,m5,F1,m5,G1,m5,H1,m5,I1,m5,J1,m5,K1,m5,L1,m5,M1,m5,N1,m5,O1,m5,P1,m5,Q1,m5,R1,m5,S1,m5,T1,m5,U1,m5,V1,m5,W1,m5,X1,m5,Y1,m5,Z1,m5,_1,m5,$1,m5,a2,m5,b2,m5,c2,m5,d2,m5,e2,m5,f2,m5,g2,m5,h2,m5,i2,m5,j2,m5,k2,m5,l2,m5,m2,m5,n2,m5,o2,m5,p2,m5,q2,m5,r2,m5,s2,m5,t2,m5,u2,m5,v2,m5,w2,m5,x2,m5,y2,m5,z2,m5,A2,m5,B2,m5,C2,m5,D2,m5,E2,m5,F2,m5,G2,m5,H2,m5,VM,WM,YM,_M,$M,Lk,Ok,Uk,$k,al,bl,cl,mk,ok,uk,vq,xq,Dq,Gr,Hr,Ku,lO,QN,aN,fN,gN,hN,iN,jN,pN,EQ,JQ,mQ,jQ,IQ,iQ,zN,lQ,hQ,kQ,SN,TN,UN,bO,cO,dO,kd,ld,ei,_f,Gk,Hk,Il,Jl,Ml,km,jt,os,Mt,Ot,Yx,Py,Qy,dy,ey,Dy,Jy,aB,bB,NF,TE,UE,yG,zG,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5];var Zb=[n5,n5,J2,n5,K2,n5,L2,n5,M2,n5,N2,n5,O2,n5,P2,n5,Q2,n5,R2,n5,S2,n5,T2,n5,U2,n5,V2,n5,W2,n5,X2,n5,Y2,n5,Z2,n5,_2,n5,$2,n5,a3,n5,b3,n5,c3,n5,d3,n5,e3,n5,f3,n5,g3,n5,h3,n5,i3,n5,j3,n5,k3,n5,l3,n5,m3,n5,n3,n5,o3,n5,p3,n5,q3,n5,r3,n5,s3,n5,t3,n5,u3,n5,v3,n5,w3,n5,x3,n5,y3,n5,z3,n5,A3,n5,B3,n5,C3,n5,D3,n5,E3,n5,F3,n5,G3,n5,H3,n5,I3,n5,J3,n5,K3,n5,L3,n5,M3,n5,N3,n5,O3,n5,P3,n5,Q3,n5,R3,n5,S3,n5,QM,Qk,_k,qk,zq,Dr,Er,cN,dN,qN,eO,Uj,Vj,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var _b=[o5,o5,U3,o5,V3,o5,W3,o5,X3,o5,Y3,o5,Z3,o5,_3,o5,$3,o5,a4,o5,b4,o5,c4,o5,d4,o5,e4,o5,f4,o5,g4,o5,h4,o5,i4,o5,j4,o5,k4,o5,l4,o5,m4,o5,n4,o5,o4,o5,p4,o5,q4,o5,r4,o5,s4,o5,t4,o5,u4,o5,v4,o5,w4,o5,x4,o5,y4,o5,z4,o5,A4,o5,B4,o5,C4,o5,D4,o5,E4,o5,F4,o5,G4,o5,H4,o5,I4,o5,J4,o5,K4,o5,L4,o5,M4,o5,N4,o5,O4,o5,P4,o5,Q4,o5,R4,o5,S4,o5,T4,o5,U4,o5,V4,o5,W4,o5,X4,o5,Y4,o5,Z4,o5,_4,o5,$4,o5,a5,o5,b5,o5,su,vd,xd,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];return{_sqlite3_value_blob:$d,_sqlite3_column_name:Ie,_sqlite3_reset:Zd,_sqlite3_column_type:He,_sqlite3_exec:$e,_sqlite3_result_null:me,_sqlite3_step:ue,_bitshift64Lshr:hR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:sf,_sqlite3_open:Ef,_bitshift64Shl:lR,_sqlite3_result_text:ne,_fflush:tQ,_sqlite3_column_bytes:Be,_sqlite3_bind_int:Le,_sqlite3_bind_blob:Je,_memset:kR,_sqlite3_value_double:ce,_memcpy:iR,_sqlite3_result_double:ie,_sqlite3_value_text:ae,_sqlite3_changes:pf,_sqlite3_column_blob:Ae,_sqlite3_bind_parameter_index:Se,_sqlite3_value_type:fe,_i64Subtract:fR,_sqlite3_column_text:Fe,_i64Add:gR,_sqlite3_value_bytes:be,_sqlite3_finalize:Yd,_sqlite3_column_double:Ce,_sqlite3_create_function_v2:wf,_sqlite3_free:Kd,_sqlite3_value_int:de,_sqlite3_data_count:ze,_sqlite3_bind_text:Oe,_sqlite3_bind_double:Ke,___errno_location:SP,_RegisterExtensionFunctions:ic,_free:$Q,_memmove:jR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:_d,_malloc:_Q,runPostSets:eR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:vR,dynCall_i:GS,dynCall_vi:RT,dynCall_vii:aV,dynCall_iiiiiii:lW,dynCall_ii:wX,dynCall_viii:HY,dynCall_v:SZ,dynCall_iiiii:b$,dynCall_viiiiii:m0,dynCall_iii:x1,dynCall_iiiiii:I2,dynCall_viiii:T3}}) +var Ob=[l5,l5,FR,l5,GR,l5,HR,l5,IR,l5,JR,l5,KR,l5,LR,l5,MR,l5,NR,l5,OR,l5,PR,l5,QR,l5,RR,l5,SR,l5,TR,l5,UR,l5,VR,l5,WR,l5,XR,l5,YR,l5,ZR,l5,_R,l5,$R,l5,aS,l5,bS,l5,cS,l5,dS,l5,eS,l5,fS,l5,gS,l5,hS,l5,iS,l5,jS,l5,kS,l5,lS,l5,mS,l5,nS,l5,oS,l5,pS,l5,qS,l5,rS,l5,sS,l5,tS,l5,uS,l5,vS,l5,wS,l5,xS,l5,yS,l5,zS,l5,AS,l5,BS,l5,CS,l5,DS,l5,ES,l5,FS,l5,GS,l5,HS,l5,IS,l5,JS,l5,KS,l5,LS,l5,MS,l5,NS,l5,OS,l5,ZM,aN,dN,fN,Xk,xk,cq,sq,Hq,Kq,Kr,tu,wu,mN,sN,GN,bQ,WQ,$Q,PQ,XQ,BQ,zQ,Pn,Km,Nm,Ln,Jn,Tn,_n,wF,xF,yF,AQ,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5,l5];var Pb=[m5,m5,QS,m5,RS,m5,SS,m5,TS,m5,US,m5,VS,m5,WS,m5,XS,m5,YS,m5,ZS,m5,_S,m5,$S,m5,aT,m5,bT,m5,cT,m5,dT,m5,eT,m5,fT,m5,gT,m5,hT,m5,iT,m5,jT,m5,kT,m5,lT,m5,mT,m5,nT,m5,oT,m5,pT,m5,qT,m5,rT,m5,sT,m5,tT,m5,uT,m5,vT,m5,wT,m5,xT,m5,yT,m5,zT,m5,AT,m5,BT,m5,CT,m5,DT,m5,ET,m5,FT,m5,GT,m5,HT,m5,IT,m5,JT,m5,KT,m5,LT,m5,MT,m5,NT,m5,OT,m5,PT,m5,QT,m5,RT,m5,ST,m5,TT,m5,UT,m5,VT,m5,WT,m5,XT,m5,YT,m5,ZT,m5,TQ,IN,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5,m5];var Qb=[n5,n5,$T,n5,aU,n5,bU,n5,cU,n5,dU,n5,eU,n5,fU,n5,gU,n5,hU,n5,iU,n5,jU,n5,kU,n5,lU,n5,mU,n5,nU,n5,oU,n5,pU,n5,qU,n5,rU,n5,sU,n5,tU,n5,uU,n5,vU,n5,wU,n5,xU,n5,yU,n5,zU,n5,AU,n5,BU,n5,CU,n5,DU,n5,EU,n5,FU,n5,GU,n5,HU,n5,IU,n5,JU,n5,KU,n5,LU,n5,MU,n5,NU,n5,OU,n5,PU,n5,QU,n5,RU,n5,SU,n5,TU,n5,UU,n5,VU,n5,WU,n5,XU,n5,YU,n5,ZU,n5,_U,n5,$U,n5,aV,n5,bV,n5,cV,n5,dV,n5,eV,n5,fV,n5,gV,n5,hV,n5,iV,n5,Wc,Xc,Zc,_c,$c,ad,su,Au,Bu,Pu,Uu,wN,KO,hP,iP,jP,lP,nP,Kd,Zq,wj,lk,On,Uz,aR,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5,n5];var Rb=[o5,o5,kV,o5,lV,o5,mV,o5,nV,o5,oV,o5,pV,o5,qV,o5,rV,o5,sV,o5,tV,o5,uV,o5,vV,o5,wV,o5,xV,o5,yV,o5,zV,o5,AV,o5,BV,o5,CV,o5,DV,o5,EV,o5,FV,o5,GV,o5,HV,o5,IV,o5,JV,o5,KV,o5,LV,o5,MV,o5,NV,o5,OV,o5,PV,o5,QV,o5,RV,o5,SV,o5,TV,o5,UV,o5,VV,o5,WV,o5,XV,o5,YV,o5,ZV,o5,_V,o5,$V,o5,aW,o5,bW,o5,cW,o5,dW,o5,eW,o5,fW,o5,gW,o5,hW,o5,iW,o5,jW,o5,kW,o5,lW,o5,mW,o5,nW,o5,oW,o5,pW,o5,qW,o5,rW,o5,sW,o5,tW,o5,uu,zu,Xy,by,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5,o5];var Sb=[p5,p5,vW,p5,wW,p5,xW,p5,yW,p5,zW,p5,AW,p5,BW,p5,CW,p5,DW,p5,EW,p5,FW,p5,GW,p5,HW,p5,IW,p5,JW,p5,KW,p5,LW,p5,MW,p5,NW,p5,OW,p5,PW,p5,QW,p5,RW,p5,SW,p5,TW,p5,UW,p5,VW,p5,WW,p5,XW,p5,YW,p5,ZW,p5,_W,p5,$W,p5,aX,p5,bX,p5,cX,p5,dX,p5,eX,p5,fX,p5,gX,p5,hX,p5,iX,p5,jX,p5,kX,p5,lX,p5,mX,p5,nX,p5,oX,p5,pX,p5,qX,p5,rX,p5,sX,p5,tX,p5,uX,p5,vX,p5,wX,p5,xX,p5,yX,p5,zX,p5,AX,p5,BX,p5,CX,p5,DX,p5,EX,p5,Nk,Ok,pk,gq,wq,zq,Oq,pQ,XK,YK,ZK,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5,p5];var Tb=[q5,q5,GX,q5,HX,q5,IX,q5,JX,q5,KX,q5,LX,q5,MX,q5,NX,q5,OX,q5,PX,q5,QX,q5,RX,q5,SX,q5,TX,q5,UX,q5,VX,q5,WX,q5,XX,q5,YX,q5,ZX,q5,_X,q5,$X,q5,aY,q5,bY,q5,cY,q5,dY,q5,eY,q5,fY,q5,gY,q5,hY,q5,iY,q5,jY,q5,kY,q5,lY,q5,mY,q5,nY,q5,oY,q5,pY,q5,qY,q5,rY,q5,sY,q5,tY,q5,uY,q5,vY,q5,wY,q5,xY,q5,yY,q5,zY,q5,AY,q5,BY,q5,CY,q5,DY,q5,EY,q5,FY,q5,GY,q5,HY,q5,IY,q5,JY,q5,KY,q5,LY,q5,MY,q5,NY,q5,OY,q5,PY,q5,Qk,Rk,Tk,Vk,Wk,_k,$k,al,bl,rk,tk,vk,wk,dq,fq,tq,vq,Bq,Dq,Fq,Gq,Lq,Nq,Hr,ru,vu,Ou,Ru,Su,Tu,jN,tN,uN,OQ,_Q,YQ,ZN,iO,yQ,ae,ag,br,kq,lq,pq,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5,q5];var Ub=[r5,r5,RY,r5,SY,r5,TY,r5,UY,r5,VY,r5,WY,r5,XY,r5,YY,r5,ZY,r5,_Y,r5,$Y,r5,aZ,r5,bZ,r5,cZ,r5,dZ,r5,eZ,r5,fZ,r5,gZ,r5,hZ,r5,iZ,r5,jZ,r5,kZ,r5,lZ,r5,mZ,r5,nZ,r5,oZ,r5,pZ,r5,qZ,r5,rZ,r5,sZ,r5,tZ,r5,uZ,r5,vZ,r5,wZ,r5,xZ,r5,yZ,r5,zZ,r5,AZ,r5,BZ,r5,CZ,r5,DZ,r5,EZ,r5,FZ,r5,GZ,r5,HZ,r5,IZ,r5,JZ,r5,KZ,r5,LZ,r5,MZ,r5,NZ,r5,OZ,r5,PZ,r5,QZ,r5,RZ,r5,SZ,r5,TZ,r5,UZ,r5,VZ,r5,WZ,r5,XZ,r5,YZ,r5,ZZ,r5,_Z,r5,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec,Fc,Gc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,Tc,Uc,Vc,Yc,pm,qm,rm,sm,xu,Tz,Pz,Oz,qB,zB,EO,FO,GO,HO,IO,JO,LO,MO,NO,OO,PO,QO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,kP,mP,nC,rP,sP,tP,uP,vP,wP,xP,yP,PP,QP,RP,ji,Yp,Ut,Wt,Xt,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5,r5];var Vb=[s5,s5,a_,s5,b_,s5,c_,s5,d_,s5,e_,s5,f_,s5,g_,s5,h_,s5,i_,s5,j_,s5,k_,s5,l_,s5,m_,s5,n_,s5,o_,s5,p_,s5,q_,s5,r_,s5,s_,s5,t_,s5,u_,s5,v_,s5,w_,s5,x_,s5,y_,s5,z_,s5,A_,s5,B_,s5,C_,s5,D_,s5,E_,s5,F_,s5,G_,s5,H_,s5,I_,s5,J_,s5,K_,s5,L_,s5,M_,s5,N_,s5,O_,s5,P_,s5,Q_,s5,R_,s5,S_,s5,T_,s5,U_,s5,V_,s5,W_,s5,X_,s5,Y_,s5,Z_,s5,__,s5,$_,s5,a$,s5,b$,s5,c$,s5,d$,s5,e$,s5,f$,s5,g$,s5,h$,s5,i$,s5,j$,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5,s5];var Wb=[t5,t5,l$,t5,m$,t5,n$,t5,o$,t5,p$,t5,q$,t5,r$,t5,s$,t5,t$,t5,u$,t5,v$,t5,w$,t5,x$,t5,y$,t5,z$,t5,A$,t5,B$,t5,C$,t5,D$,t5,E$,t5,F$,t5,G$,t5,H$,t5,I$,t5,J$,t5,K$,t5,L$,t5,M$,t5,N$,t5,O$,t5,P$,t5,Q$,t5,R$,t5,S$,t5,T$,t5,U$,t5,V$,t5,W$,t5,X$,t5,Y$,t5,Z$,t5,_$,t5,$$,t5,a0,t5,b0,t5,c0,t5,d0,t5,e0,t5,f0,t5,g0,t5,h0,t5,i0,t5,j0,t5,k0,t5,l0,t5,m0,t5,n0,t5,o0,t5,p0,t5,q0,t5,r0,t5,s0,t5,t0,t5,u0,t5,_M,$M,Zk,eq,uq,Mq,vN,zN,Oh,ki,zj,Gj,Ik,Jk,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5,t5];var Xb=[u5,u5,w0,u5,x0,u5,y0,u5,z0,u5,A0,u5,B0,u5,C0,u5,D0,u5,E0,u5,F0,u5,G0,u5,H0,u5,I0,u5,J0,u5,K0,u5,L0,u5,M0,u5,N0,u5,O0,u5,P0,u5,Q0,u5,R0,u5,S0,u5,T0,u5,U0,u5,V0,u5,W0,u5,X0,u5,Y0,u5,Z0,u5,_0,u5,$0,u5,a1,u5,b1,u5,c1,u5,d1,u5,e1,u5,f1,u5,g1,u5,h1,u5,i1,u5,j1,u5,k1,u5,l1,u5,m1,u5,n1,u5,o1,u5,p1,u5,q1,u5,r1,u5,s1,u5,t1,u5,u1,u5,v1,u5,w1,u5,x1,u5,y1,u5,z1,u5,A1,u5,B1,u5,C1,u5,D1,u5,E1,u5,F1,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5,u5];var Yb=[v5,v5,H1,v5,I1,v5,J1,v5,K1,v5,L1,v5,M1,v5,N1,v5,O1,v5,P1,v5,Q1,v5,R1,v5,S1,v5,T1,v5,U1,v5,V1,v5,W1,v5,X1,v5,Y1,v5,Z1,v5,_1,v5,$1,v5,a2,v5,b2,v5,c2,v5,d2,v5,e2,v5,f2,v5,g2,v5,h2,v5,i2,v5,j2,v5,k2,v5,l2,v5,m2,v5,n2,v5,o2,v5,p2,v5,q2,v5,r2,v5,s2,v5,t2,v5,u2,v5,v2,v5,w2,v5,x2,v5,y2,v5,z2,v5,A2,v5,B2,v5,C2,v5,D2,v5,E2,v5,F2,v5,G2,v5,H2,v5,I2,v5,J2,v5,K2,v5,L2,v5,M2,v5,N2,v5,O2,v5,P2,v5,Q2,v5,bN,cN,eN,gN,hN,Pk,Sk,Yk,dl,el,fl,gl,qk,sk,yk,Aq,Cq,Iq,Lr,Mr,Qu,tO,YN,iN,nN,oN,pN,qN,rN,xN,NQ,SQ,vQ,sQ,RQ,rQ,HN,uQ,qQ,tQ,_N,$N,aO,jO,kO,lO,kd,ld,gi,$f,Kk,Lk,Ml,Nl,Ql,om,pt,ts,Tt,Vt,cy,Vy,Wy,jy,ky,Jy,Py,gB,hB,UF,_E,$E,FG,GG,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5,v5];var Zb=[w5,w5,S2,w5,T2,w5,U2,w5,V2,w5,W2,w5,X2,w5,Y2,w5,Z2,w5,_2,w5,$2,w5,a3,w5,b3,w5,c3,w5,d3,w5,e3,w5,f3,w5,g3,w5,h3,w5,i3,w5,j3,w5,k3,w5,l3,w5,m3,w5,n3,w5,o3,w5,p3,w5,q3,w5,r3,w5,s3,w5,t3,w5,u3,w5,v3,w5,w3,w5,x3,w5,y3,w5,z3,w5,A3,w5,B3,w5,C3,w5,D3,w5,E3,w5,F3,w5,G3,w5,H3,w5,I3,w5,J3,w5,K3,w5,L3,w5,M3,w5,N3,w5,O3,w5,P3,w5,Q3,w5,R3,w5,S3,w5,T3,w5,U3,w5,V3,w5,W3,w5,X3,w5,Y3,w5,Z3,w5,_3,w5,$3,w5,YM,Uk,cl,uk,Eq,Ir,Jr,kN,lN,yN,mO,Yj,Zj,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5,w5];var _b=[x5,x5,b4,x5,c4,x5,d4,x5,e4,x5,f4,x5,g4,x5,h4,x5,i4,x5,j4,x5,k4,x5,l4,x5,m4,x5,n4,x5,o4,x5,p4,x5,q4,x5,r4,x5,s4,x5,t4,x5,u4,x5,v4,x5,w4,x5,x4,x5,y4,x5,z4,x5,A4,x5,B4,x5,C4,x5,D4,x5,E4,x5,F4,x5,G4,x5,H4,x5,I4,x5,J4,x5,K4,x5,L4,x5,M4,x5,N4,x5,O4,x5,P4,x5,Q4,x5,R4,x5,S4,x5,T4,x5,U4,x5,V4,x5,W4,x5,X4,x5,Y4,x5,Z4,x5,_4,x5,$4,x5,a5,x5,b5,x5,c5,x5,d5,x5,e5,x5,f5,x5,g5,x5,h5,x5,i5,x5,j5,x5,k5,x5,yu,vd,xd,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5,x5];return{_sqlite3_value_blob:$d,_sqlite3_column_name:Ie,_sqlite3_reset:Zd,_sqlite3_column_type:He,_sqlite3_exec:$e,_sqlite3_result_null:me,_sqlite3_step:ue,_bitshift64Lshr:qR,_sqlite3_prepare_v2:af,_sqlite3_close_v2:tf,_sqlite3_open:Ff,_bitshift64Shl:uR,_sqlite3_result_text:ne,_fflush:CQ,_sqlite3_column_bytes:Be,_sqlite3_bind_int:Le,_sqlite3_bind_blob:Je,_memset:tR,_sqlite3_value_double:ce,_memcpy:rR,_sqlite3_result_double:ie,_sqlite3_value_text:ae,_sqlite3_changes:qf,_sqlite3_column_blob:Ae,_sqlite3_bind_parameter_index:Se,_sqlite3_value_type:fe,_i64Subtract:oR,_sqlite3_column_text:Fe,_i64Add:pR,_sqlite3_value_bytes:be,_sqlite3_finalize:Yd,_sqlite3_column_double:Ce,_sqlite3_create_function_v2:xf,_sqlite3_free:Kd,_sqlite3_value_int:de,_sqlite3_data_count:ze,_sqlite3_bind_text:Oe,_sqlite3_bind_double:Ke,___errno_location:$P,_RegisterExtensionFunctions:ic,_free:iR,_memmove:sR,_sqlite3_errmsg:bf,_sqlite3_clear_bindings:_d,_malloc:hR,runPostSets:nR,stackAlloc:$b,stackSave:ac,stackRestore:bc,establishStackSpace:cc,setThrew:dc,setTempRet0:gc,getTempRet0:hc,dynCall_iiii:ER,dynCall_i:PS,dynCall_vi:_T,dynCall_vii:jV,dynCall_iiiiiii:uW,dynCall_ii:FX,dynCall_viii:QY,dynCall_v:$Z,dynCall_iiiii:k$,dynCall_viiiiii:v0,dynCall_iii:G1,dynCall_iiiiii:R2,dynCall_viiii:a4}}) // EMSCRIPTEN_END_ASM